<?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>32561</bug_id>
          
          <creation_ts>2009-12-15 08:28:09 -0800</creation_ts>
          <short_desc>Provide a OProfile JIT agent (opagent) for the code generated by the JIT</short_desc>
          <delta_ts>2026-03-03 14:29:37 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>CONFIGURATION CHANGED</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Holger Freyther">zecke</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>bfulgham</cc>
    
    <cc>buildbot</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>kent.hansen</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>loki</cc>
    
    <cc>mjs</cc>
    
    <cc>oliver</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zherczeg</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>171872</commentid>
    <comment_count>0</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-12-15 08:28:09 -0800</bug_when>
    <thetext>The interface described here http://oprofile.sourceforge.net/doc/devel/jit-api.html should be implemented. This will allow to see the function names in the system profile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171895</commentid>
    <comment_count>1</comment_count>
      <attachid>44882</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-12-15 09:11:46 -0800</bug_when>
    <thetext>Created attachment 44882
Proposal for implementing the feature

This is the first compiling/linking version. At this point I would like to get feedback on:

    - The places I have patched. Are they the right one?
    - The way it is patched..
    - The buildsystem change
    - And if I should patch it in a similiar way for YARR (when JITTED)


What is not implemented:
   - Using the information in the generateJITCode methods to have a proper symbol name</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171904</commentid>
    <comment_count>2</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2009-12-15 09:56:30 -0800</bug_when>
    <thetext>Hi,

wow, seems rather easy to work with oprofile.

&gt;     - The places I have patched. Are they the right one?

I would consider to patch the platform dependent executableCopy(...) functions in JavaScriptCore/assembler directory, since all JIT code is allocated through this function. Although it does not provide information about the purpose of the JIT code. (whole function, common code (machine trampolines), property cache code fragment, etc.)

&gt;     - The way it is patched..

Most of the code in JavaScriptCore refactored not to use plain void* pointers (Although I like void* pointers, since its purpose is clear). Perhaps passing a CodePtr (m_jitCode) would be the preferred way.

&gt;     - The buildsystem change

I am not an expert on this topic, so it is fine by me.

&gt;     - And if I should patch it in a similiar way for YARR (when JITTED)

Seems necessary if we don&apos;t want to change the executableCopy().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200837</commentid>
    <comment_count>3</comment_count>
      <attachid>50918</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-03-17 10:14:48 -0700</bug_when>
    <thetext>Created attachment 50918
Supports OProfile JIT agent

This patch adds OProfile support for JSC.

Now the JS source/url path, function names and line information are available through OProfile&apos;s opreport and opannotate tools.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200841</commentid>
    <comment_count>4</comment_count>
      <attachid>50919</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-03-17 10:19:04 -0700</bug_when>
    <thetext>Created attachment 50919
sample report output</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200842</commentid>
    <comment_count>5</comment_count>
      <attachid>50920</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-03-17 10:20:07 -0700</bug_when>
    <thetext>Created attachment 50920
sample annotation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207302</commentid>
    <comment_count>6</comment_count>
      <attachid>50918</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-04-01 12:16:24 -0700</bug_when>
    <thetext>Comment on attachment 50918
Supports OProfile JIT agent

Looks like a really useful tool.

A few high-level comments:
* Can you only profile on Linux?

* Can we remove some of our other sampling mechanisms in favor of this?

* Is there a big advantage to making this a compile-time switch rather than a run-time switch?

* It would be nice if the interface to JITProfileAgent were a little less oprofile-specific, so it could be hooked up to other profiling back-ends without too much work.

It&apos;s not clear to me when you would enable OPROFILE_JIT_AGENT vs OPROFILE_JIT_AGENT_WITH_SAFE_UNLOAD. This is worth an explanation in a comment and in the ChangeLog.

+    void* vma()
+    {
+        return m_code;
+    }

You&apos;ve duplicated the code() function. Also, the code function says, &quot;Keep this private!&quot; but you&apos;ve made it public. That seems wrong.

You need to do something to ensure that no one can call this function while the LinkBuffer is in an invalid state.

+#if ENABLE(OPROFILE_JIT_AGENT)
+#define oprofile(a) a
+#else
+#define oprofile(a)
+#endif

+        oprofile(macro(op_oprofile, 3)) \

This is pretty clunky. Is there really such a big advantage to ensuring the op_oprofile opcode doesn&apos;t exist in non-oprofile builds? We don&apos;t go to the same lengths for things like op_debug.

+#if ENABLE(OPROFILE_JIT_AGENT)
+void JIT::emit_op_oprofile(Instruction* currentInstruction)
+{
+    m_lineInfos.append(LineInfoRecord(size(), currentInstruction[1].u.operand));
+}
+#endif

This function appears twice. It should appear only once.

Many instructions can span the same line. I think this function should coalesce adjacent instructions, to avoid constructing overly large data structures.

+    m_jitCode = JIT::compileAndAnnotate(scopeChainNode-&gt;globalData, codeBlock, symbolName);
+#else
     m_jitCode = JIT::compile(scopeChainNode-&gt;globalData, codeBlock);
+#endif

I don&apos;t think there should be two different ways to compile unless they actually compile differently. If we want compilation to annotate, but only in oprofile builds, the hooks for annotation should go into JIT::compile.

+        // TODO: make it thread safe

The way to make this thread-safe is to make it a property of the JSGlobalData, rather than a global.

+    typedef SegmentedVector&lt;VirtualMemorySegment, 256&gt; VirtualMemorySegmentVector;

Why does this need to be a SegmentedVector instead of just a Vector?

I think there enough to refine here to warrant an r-.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207841</commentid>
    <comment_count>7</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-04-02 06:11:08 -0700</bug_when>
    <thetext>&gt; * Can you only profile on Linux?
&gt; * Can we remove some of our other sampling mechanisms in favor of this?

I wish I could say yes to both questions, but OProfile is only for Linux. A kernel driver is needed at OS level. Probably it is not impossible to implement such a module on Mac as well ;)


&gt; * Is there a big advantage to making this a compile-time switch rather than a
&gt; run-time switch?

There were very few samples for OProfile part of WebKit and its agent as well. So, we can use run-time option, but it should be kept in mind not to grow and slow down JSC with useless checks where OProfile is not supported.

 
&gt; It&apos;s not clear to me when you would enable OPROFILE_JIT_AGENT vs
&gt; OPROFILE_JIT_AGENT_WITH_SAFE_UNLOAD. This is worth an explanation in a comment
&gt; and in the ChangeLog.

SAFE_UNLOAD should be enabled by default. If it is disabled there could be some misplaced samples, but JSC runs faster.

&gt; +    void* vma()
&gt; +    {
&gt; +        return m_code;
&gt; +    }
&gt; 
&gt; You&apos;ve duplicated the code() function. Also, the code function says, &quot;Keep this private!&quot; but you&apos;ve made it public. That seems wrong.

Probably we can use executableAddress(), but the m_size has to be published anyway.

&gt; You need to do something to ensure that no one can call this function while the LinkBuffer is in an invalid state.

What do you mean about invalid state? The state of JIT code (executable or flushed) does not matter for OProfile. Only the memory range is needed. The profiler will not touch that memory range at all.

Other things will be fixed. Thanks for your inputs!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207844</commentid>
    <comment_count>8</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2010-04-02 06:40:30 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; &gt; * Can you only profile on Linux?
&gt; &gt; * Can we remove some of our other sampling mechanisms in favor of this?
&gt; 
&gt; I wish I could say yes to both questions, but OProfile is only for Linux. A
&gt; kernel driver is needed at OS level. Probably it is not impossible to implement
&gt; such a module on Mac as well ;)

The more natural choice on OS X would be to use DTrace but up to my knowledge the DTrace JIT support was never completed by SUN but we could look at the Java sourcecode to verify that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213254</commentid>
    <comment_count>9</comment_count>
      <attachid>53530</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-04-16 08:06:01 -0700</bug_when>
    <thetext>Created attachment 53530
Supports OProfile JIT agent

The patch is rewritten according to Geoffrey&apos;s comment, except one thing. It looks like that we cannot eliminate all JIT_PROFILE_AGENT macro, because there will be a small performance regression on ARM (~1-2%) if the agent is disabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213257</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-16 08:16:33 -0700</bug_when>
    <thetext>Attachment 53530 did not build on mac:
Build output: http://webkit-commit-queue.appspot.com/results/1626505</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213377</commentid>
    <comment_count>11</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-04-16 12:58:18 -0700</bug_when>
    <thetext>&gt; Build output: http://webkit-commit-queue.appspot.com/results/1626505

Oh, I missed that unused parameter. I will fix it. Apart from that, how does this patch look like?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213967</commentid>
    <comment_count>12</comment_count>
      <attachid>53661</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-04-19 02:11:24 -0700</bug_when>
    <thetext>Created attachment 53661
Supports OProfile JIT agent

Unused parameter warning is fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213968</commentid>
    <comment_count>13</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-19 02:19:04 -0700</bug_when>
    <thetext>Attachment 53661 did not build on mac:
Build output: http://webkit-commit-queue.appspot.com/results/1740058</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214535</commentid>
    <comment_count>14</comment_count>
      <attachid>53784</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-04-20 01:56:56 -0700</bug_when>
    <thetext>Created attachment 53784
Supports OProfile JIT agent

New files are added to Xcode project as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214542</commentid>
    <comment_count>15</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-20 02:17:02 -0700</bug_when>
    <thetext>Attachment 53784 did not build on mac:
Build output: http://webkit-commit-queue.appspot.com/results/1749023</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214554</commentid>
    <comment_count>16</comment_count>
      <attachid>53793</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-04-20 03:14:42 -0700</bug_when>
    <thetext>Created attachment 53793
Supports OProfile JIT agent

Err, it looks like that the Private flag was missing at JITProfileAgent.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258542</commentid>
    <comment_count>17</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-07-30 22:32:20 -0700</bug_when>
    <thetext>Can any of the JSC hackers have a look? This is pending since months!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258746</commentid>
    <comment_count>18</comment_count>
      <attachid>53793</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-08-02 01:19:29 -0700</bug_when>
    <thetext>Comment on attachment 53793
Supports OProfile JIT agent

I think this needs tidying up a bit to reduce the amount to code added outside of the profiler.

Using op_profile_jit to gather the line number information should not be necessary; this should already be available from the codeblock from m_lineInfo.  If you can switch over to using the existing info it looks like the new op should be unnecessary.

YARR should not be calling into the JIT; these should be separate subsystems.  We should probably create a new top level directory (say, tools), and add this there.  (ooi ExecuableAllocator is also called from Yarr; this should not be in the jit directory).

The interpreter should not ASSERT_NOT_REACHED on the new op, if it remains – we now build both the interpreter and the JIT into the same build.

Adding work to non-profiling builds is a no-go; the changes in Executable need to be reverted.  The executable can be accessed from the codeblock, so the codeblock could just be passed in to the profiling agent, and the string could be calculated there.  The changes in JIT.h should be moved across into the agent; given the complexity of the JIT keeping the footprint of tools to the minimum will reduce complexity.  The JIT should only make a single function call here, passing the codeblock from which the data can be pulled.

The other changes throughout the JIT should be reduced to a single line macro call (i.e. compiles out to nothing if profiler is not built in, so skip having the extra lines for the compile guard).

Instead of passing strings to label the code, enum values should be used (different profiling tools may need different formats for names).

Enough comments for now, will be happy to rereview an updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318088</commentid>
    <comment_count>19</comment_count>
      <attachid>75792</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-12-07 01:35:05 -0800</bug_when>
    <thetext>Created attachment 75792
jitoprofile.diff

This patch tries to address all the review points raised in the last comment. I&apos;m particularly unsure of whether the way I&apos;m using the CodeBlock stuff to get the line info is correct :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318210</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-07 08:36:24 -0800</bug_when>
    <thetext>Attachment 75792 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>318240</commentid>
    <comment_count>21</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-12-07 09:16:11 -0800</bug_when>
    <thetext>Attachment 75792 did not build on qt:
Build output: http://queues.webkit.org/results/6780078</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318256</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-07 09:37:35 -0800</bug_when>
    <thetext>Attachment 75792 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>318306</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-07 10:38:44 -0800</bug_when>
    <thetext>Attachment 75792 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>318313</commentid>
    <comment_count>24</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2010-12-07 10:48:07 -0800</bug_when>
    <thetext>Attachment 75792 did not build on win:
Build output: http://queues.webkit.org/results/6768083</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318357</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-07 11:40:00 -0800</bug_when>
    <thetext>Attachment 75792 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>318402</commentid>
    <comment_count>26</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-07 12:42:44 -0800</bug_when>
    <thetext>Attachment 75792 did not build on mac:
Build output: http://queues.webkit.org/results/6736095</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318588</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-07 21:31:41 -0800</bug_when>
    <thetext>Attachment 75792 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>320565</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-10 20:46:37 -0800</bug_when>
    <thetext>Attachment 75792 did not build on gtk:
Build output: http://queues.webkit.org/results/6950045</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339976</commentid>
    <comment_count>29</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-01-25 15:38:37 -0800</bug_when>
    <thetext>Any chance to have a look at the general direction of the code before this bitrots too much?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343079</commentid>
    <comment_count>30</comment_count>
      <attachid>75792</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2011-02-01 01:15:25 -0800</bug_when>
    <thetext>Comment on attachment 75792
jitoprofile.diff

First of all thanks for the update, I am deeply obliged to you!
Unfortunately this patch does not build on many platforms. We should work further on the patch to fix them. So, I am going to set the r? to r- because of the builds.

In order to fix the Qt build you should add
 * &apos;tools/JITProfileAgent.cpp \&apos; line to the &apos;SOURCES +=&apos; section in Source/JavaScriptCore/JavaScriptCore.pro
 * and &apos;$$PWD/tools \&apos; line to to the &apos;JAVASCRIPTCORE_INCLUDEPATH =&apos; section in
Source/JavaScriptCore/JavaScriptCore.pri

Xan, could you update the patch again (because of the top Source directory) ?

I feel there is another issue about the codeBlock-&gt;lineInfo() function. Unfortunately I had no time to debug the code, but I have tried the jsc binary on ARM and the annotation was failed. There was no or not enough valid lineinfo data in the saved jitdump file. The correlation between source annotation and profile report was not sufficient. Xan, is the source annotation working for you?

One more thing. You changed the name of registerJITCodeImpl function to recordJITCodeImpl, but you forgot to change the dummy one (when JIT_OPROFILE_AGENT==0) to the similar name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343284</commentid>
    <comment_count>31</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-02-01 09:57:50 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; (From update of attachment 75792 [details])
&gt; First of all thanks for the update, I am deeply obliged to you!
&gt; Unfortunately this patch does not build on many platforms. We should work further on the patch to fix them. So, I am going to set the r? to r- because of the builds.

Hey, yeah, I was aware of this. I was basically interested in Gavin saying if my refactoring was along the lines of what he was asking for. In any case I&apos;ll try to get it building in all the EWS bots.

&gt; 
&gt; In order to fix the Qt build you should add
&gt;  * &apos;tools/JITProfileAgent.cpp \&apos; line to the &apos;SOURCES +=&apos; section in Source/JavaScriptCore/JavaScriptCore.pro
&gt;  * and &apos;$$PWD/tools \&apos; line to to the &apos;JAVASCRIPTCORE_INCLUDEPATH =&apos; section in
&gt; Source/JavaScriptCore/JavaScriptCore.pri
&gt; 
&gt; Xan, could you update the patch again (because of the top Source directory) ?

Yep, I&apos;ve done this locally already, will upload the updated patch later today.

&gt; 
&gt; I feel there is another issue about the codeBlock-&gt;lineInfo() function. Unfortunately I had no time to debug the code, but I have tried the jsc binary on ARM and the annotation was failed. There was no or not enough valid lineinfo data in the saved jitdump file. The correlation between source annotation and profile report was not sufficient. Xan, is the source annotation working for you?

Yeah, it works as well as the original patch worked for me. Are you sure you are passing -p to the jsc binary?

&gt; 
&gt; One more thing. You changed the name of registerJITCodeImpl function to recordJITCodeImpl, but you forgot to change the dummy one (when JIT_OPROFILE_AGENT==0) to the similar name.

Yes, this is why it failed on GTK+ in EWS. I noticed it after uploading, it&apos;s also fixed locally. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344648</commentid>
    <comment_count>32</comment_count>
      <attachid>81054</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-02-03 05:44:44 -0800</bug_when>
    <thetext>Created attachment 81054
jitprofile.diff

This should build at least in GTK+ and Qt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344651</commentid>
    <comment_count>33</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-03 05:47:35 -0800</bug_when>
    <thetext>Attachment 81054 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;GNUmakefile.am&apos;, u&apos;Source/Ja...&quot; exit_code: 1

Source/JavaScriptCore/jit/JITPropertyAccess.cpp:35:  Found header this file implements after other header. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 1 in 21 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>344652</commentid>
    <comment_count>34</comment_count>
      <attachid>81055</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-02-03 05:47:55 -0800</bug_when>
    <thetext>Created attachment 81055
jitprofile.diff

Better chances if I don&apos;t forget files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344653</commentid>
    <comment_count>35</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-03 05:50:45 -0800</bug_when>
    <thetext>Attachment 81055 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;GNUmakefile.am&apos;, u&apos;Source/Ja...&quot; exit_code: 1

Source/JavaScriptCore/jit/JITPropertyAccess.cpp:35:  Found header this file implements after other header. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 1 in 23 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>344657</commentid>
    <comment_count>36</comment_count>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-02-03 05:56:30 -0800</bug_when>
    <thetext>Attachment 81054 did not build on gtk:
Build output: http://queues.webkit.org/results/7689547</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344661</commentid>
    <comment_count>37</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-02-03 06:10:23 -0800</bug_when>
    <thetext>Attachment 81054 did not build on qt:
Build output: http://queues.webkit.org/results/7687873</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344663</commentid>
    <comment_count>38</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-03 06:17:00 -0800</bug_when>
    <thetext>Attachment 81055 did not build on win:
Build output: http://queues.webkit.org/results/7691344</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344667</commentid>
    <comment_count>39</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-03 06:24:33 -0800</bug_when>
    <thetext>Attachment 81054 did not build on win:
Build output: http://queues.webkit.org/results/7691346</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344671</commentid>
    <comment_count>40</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-02-03 06:35:54 -0800</bug_when>
    <thetext>Attachment 81055 did not build on qt:
Build output: http://queues.webkit.org/results/7690447</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344717</commentid>
    <comment_count>41</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-02-03 08:03:34 -0800</bug_when>
    <thetext>Attachment 81055 did not build on gtk:
Build output: http://queues.webkit.org/results/7695173</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344721</commentid>
    <comment_count>42</comment_count>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-02-03 08:18:54 -0800</bug_when>
    <thetext>Attachment 81055 did not build on gtk:
Build output: http://queues.webkit.org/results/7690472</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344724</commentid>
    <comment_count>43</comment_count>
      <attachid>81063</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-02-03 08:20:55 -0800</bug_when>
    <thetext>Created attachment 81063
jitprofile.diff

This should fix GTK+ (different arch. than what I have at home). Not sure why Qt is not finding the header, can&apos;t find where I should add it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344725</commentid>
    <comment_count>44</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-03 08:22:36 -0800</bug_when>
    <thetext>Attachment 81063 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;GNUmakefile.am&apos;, u&apos;Source/Ja...&quot; exit_code: 1

Source/JavaScriptCore/jit/JITPropertyAccess.cpp:35:  Found header this file implements after other header. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 1 in 23 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>344727</commentid>
    <comment_count>45</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-02-03 08:30:33 -0800</bug_when>
    <thetext>Attachment 81063 did not build on gtk:
Build output: http://queues.webkit.org/results/7695179</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344739</commentid>
    <comment_count>46</comment_count>
      <attachid>81066</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-02-03 08:37:16 -0800</bug_when>
    <thetext>Created attachment 81066
jitprofile.diff

C&apos;mon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344741</commentid>
    <comment_count>47</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-03 08:40:16 -0800</bug_when>
    <thetext>Attachment 81066 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;GNUmakefile.am&apos;, u&apos;Source/Ja...&quot; exit_code: 1

Source/JavaScriptCore/jit/JITPropertyAccess.cpp:35:  Found header this file implements after other header. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 1 in 23 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>344742</commentid>
    <comment_count>48</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-02-03 08:48:27 -0800</bug_when>
    <thetext>Attachment 81063 did not build on qt:
Build output: http://queues.webkit.org/results/7693335</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344747</commentid>
    <comment_count>49</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-03 08:58:26 -0800</bug_when>
    <thetext>Attachment 81063 did not build on win:
Build output: http://queues.webkit.org/results/7690480</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344748</commentid>
    <comment_count>50</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-03 08:59:06 -0800</bug_when>
    <thetext>Attachment 81055 did not build on mac:
Build output: http://queues.webkit.org/results/7691392</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344763</commentid>
    <comment_count>51</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-03 09:16:52 -0800</bug_when>
    <thetext>Attachment 81066 did not build on win:
Build output: http://queues.webkit.org/results/7692316</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344790</commentid>
    <comment_count>52</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-02-03 09:45:45 -0800</bug_when>
    <thetext>Attachment 81066 did not build on qt:
Build output: http://queues.webkit.org/results/7694283</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344812</commentid>
    <comment_count>53</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-02-03 10:20:39 -0800</bug_when>
    <thetext>Attachment 81066 did not build on gtk:
Build output: http://queues.webkit.org/results/7693349</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344827</commentid>
    <comment_count>54</comment_count>
      <attachid>81079</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-02-03 10:30:54 -0800</bug_when>
    <thetext>Created attachment 81079
jitprofile.diff

Qt/WebKit2 duplicates the JSC includes, so I had to add the tools/ dir there too. Hopefully it will work now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344870</commentid>
    <comment_count>55</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-03 11:24:39 -0800</bug_when>
    <thetext>Attachment 81079 did not build on win:
Build output: http://queues.webkit.org/results/7690507</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344872</commentid>
    <comment_count>56</comment_count>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-02-03 11:29:01 -0800</bug_when>
    <thetext>Attachment 81066 did not build on gtk:
Build output: http://queues.webkit.org/results/7687929</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344876</commentid>
    <comment_count>57</comment_count>
      <attachid>81092</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-02-03 11:32:01 -0800</bug_when>
    <thetext>Created attachment 81092
jitprofile.diff

This one has the XCode stuff, thanks to Holger.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344920</commentid>
    <comment_count>58</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-03 12:30:18 -0800</bug_when>
    <thetext>Attachment 81092 did not build on win:
Build output: http://queues.webkit.org/results/7698030</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345081</commentid>
    <comment_count>59</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-03 15:53:49 -0800</bug_when>
    <thetext>Attachment 81092 did not build on mac:
Build output: http://queues.webkit.org/results/7691603</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400566</commentid>
    <comment_count>60</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-05-09 10:20:14 -0700</bug_when>
    <thetext>Hmmm, xan any progress on this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400608</commentid>
    <comment_count>61</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-05-09 11:38:04 -0700</bug_when>
    <thetext>(In reply to comment #60)
&gt; Hmmm, xan any progress on this?

Well, obviously I failed in making it build on Mac/Win, but I think in general the patch could still see some review from Gavin, since I tried to address all his concerns in the last round. It surely will need to be updated at this point, though, so feel free to r-.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400630</commentid>
    <comment_count>62</comment_count>
      <attachid>81092</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-05-09 12:01:00 -0700</bug_when>
    <thetext>Comment on attachment 81092
jitprofile.diff

Okay, i&apos;ll r- this.  I think we really just want this to be set up like other paltform specific things, eg. a header that defines a standard API then FooOProfile.cpp, FooSharkIFTheyEverDoSomethingToHelpUs.cpp, etc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2186734</commentid>
    <comment_count>63</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2026-03-03 14:29:37 -0800</bug_when>
    <thetext>Closing this as the engine implementation has significantly changed in the past 15 years. Please open a new bug if you have thoughts about the modern engine! :-)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44882</attachid>
            <date>2009-12-15 09:11:46 -0800</date>
            <delta_ts>2010-12-07 01:35:05 -0800</delta_ts>
            <desc>Proposal for implementing the feature</desc>
            <filename>jitagent.diff</filename>
            <type>text/plain</type>
            <size>8658</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0dOVW1ha2VmaWxlLmFtIGIvR05VbWFrZWZpbGUuYW0KaW5kZXggM2EwZTM5
OC4uYTM4Nzk1MSAxMDA2NDQKLS0tIGEvR05VbWFrZWZpbGUuYW0KKysrIGIvR05VbWFrZWZpbGUu
YW0KQEAgLTE3OSw3ICsxNzksOCBAQCBsaWJKYXZhU2NyaXB0Q29yZV9sYV9TT1VSQ0VTID0gXAog
bGliSmF2YVNjcmlwdENvcmVfbGFfTElCQUREID0gXAogCSQoVU5JQ09ERV9MSUJTKSBcCiAJJChH
TElCX0xJQlMpIFwKLQktbHB0aHJlYWQKKwktbHB0aHJlYWQgXAorCSQoT1BBR0VOVF9MSUJTKQog
CiBsaWJKYXZhU2NyaXB0Q29yZV9sYV9DWFhGTEFHUyA9IFwKIAkkKGdsb2JhbF9jeHhmbGFncykg
XApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0gYi9KYXZhU2NyaXB0
Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBkYmEzMDVhLi41N2RjMzA2IDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtl
ZmlsZS5hbQpAQCAtODIsNiArODIsOCBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlK
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAgXAogCUphdmFTY3JpcHRDb3JlL2ppdC9K
SVRDYWxsLmNwcCBcCiAJSmF2YVNjcmlwdENvcmUvaml0L0pJVENvZGUuaCBcCisJSmF2YVNjcmlw
dENvcmUvaml0L0pJVFByb2ZpbGVBZ2VudC5oIFwKKwlKYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJv
ZmlsZUFnZW50LmNwcCBcCiAJSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNw
cCBcCiAJSmF2YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwIFwKIAlKYXZhU2NyaXB0
Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAgXApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvaml0L0pJVENvZGUuaCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDb2RlLmgKaW5kZXgg
NjljZjE2Ny4uMjU1ZjIwYyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVENvZGUu
aAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ29kZS5oCkBAIC0zMSw2ICszMSw3IEBACiAj
aWYgRU5BQkxFKEpJVCkKIAogI2luY2x1ZGUgIkNhbGxGcmFtZS5oIgorI2luY2x1ZGUgIkpJVFBy
b2ZpbGVBZ2VudC5oIgogI2luY2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlICJNYWNyb0Fzc2Vt
YmxlckNvZGVSZWYuaCIKICNpbmNsdWRlICJQcm9maWxlci5oIgpAQCAtNTMsNiArNTQsMTQgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHsKICAgICAgICAgfQogCisjaWYgRU5BQkxFKE9QUk9G
SUxFX0pJVF9BR0VOVCkKKyAgICAgICAgfkpJVENvZGUoKQorICAgICAgICB7CisgICAgICAgICAg
ICB1bnJlZ2lzdGVySklUQ29kZShtX3JlZi5tX2NvZGUuZXhlY3V0YWJsZUFkZHJlc3MoKSk7Cisg
ICAgICAgIH0KKyNlbmRpZgorCisKICAgICAgICAgYm9vbCBvcGVyYXRvciAhKCkgY29uc3QKICAg
ICAgICAgewogICAgICAgICAgICAgcmV0dXJuICFtX3JlZi5tX2NvZGUuZXhlY3V0YWJsZUFkZHJl
c3MoKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuY3Bw
IGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb2ZpbGVBZ2VudC5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uYmZiZWIwNAotLS0gL2Rldi9udWxsCisrKyBiL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuY3BwCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDkgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIKKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJKSVRQcm9maWxlQWdlbnQuaCIKKworI2lmIEVOQUJMRShPUFJPRklMRV9KSVRfQUdF
TlQpCisKK25hbWVzcGFjZSBKU0MgeworCitvcF9hZ2VudF90IGpzY19vcF9hZ2VudDsKKworc3Rh
dGljIHZvaWQgX19hdHRyaWJ1dGVfXygoY29uc3RydWN0b3IpKSBsb2FkKCkKK3sKKyAgICBqc2Nf
b3BfYWdlbnQgPSBvcF9vcGVuX2FnZW50KCk7IAorfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0
ZV9fKChkZXN0cnVjdG9yKSkgdW5sb2FkKCkKK3sKKyAgICBvcF9jbG9zZV9hZ2VudChqc2Nfb3Bf
YWdlbnQpOworfQorCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0
L0pJVFByb2ZpbGVBZ2VudC5oIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb2ZpbGVBZ2VudC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2N2ZlMTAKLS0tIC9kZXYvbnVs
bAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvZmlsZUFnZW50LmgKQEAgLTAsMCArMSw1
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhl
cgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBK
SVRQcm9maWxlQWdlbnRfaAorI2RlZmluZSBKSVRQcm9maWxlQWdlbnRfaAorCisjaW5jbHVkZSA8
d3RmL1BsYXRmb3JtLmg+CisKKyNpZiBFTkFCTEUoT1BST0ZJTEVfSklUX0FHRU5UKQorI2luY2x1
ZGUgPG9wYWdlbnQuaD4KKyNlbmRpZgorCituYW1lc3BhY2UgSlNDIHsKKyNpZiBFTkFCTEUoT1BS
T0ZJTEVfSklUX0FHRU5UKQorICAgIGV4dGVybiBvcF9hZ2VudF90IGpzY19vcF9hZ2VudDsKKwor
ICAgIHZvaWQgaW5saW5lIHJlZ2lzdGVySklUQ29kZSh2b2lkKiBjb2RlLCB1bnNpZ25lZCBpbnQg
c2l6ZSwgY29uc3QgY2hhciogc3ltYm9sX25hbWUpCisgICAgeworICAgICAgICBvcF93cml0ZV9u
YXRpdmVfY29kZShqc2Nfb3BfYWdlbnQsIHN5bWJvbF9uYW1lLCByZWludGVycHJldF9jYXN0PHVp
bnQ2NF90Pihjb2RlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZSwgc2l6ZSk7
CisgICAgfQorICAgIHZvaWQgaW5saW5lIHVucmVnaXN0ZXJKSVRDb2RlKHZvaWQqIHZtYSkKKyAg
ICB7CisgICAgICAgIG9wX3VubG9hZF9uYXRpdmVfY29kZShqc2Nfb3BfYWdlbnQsIHJlaW50ZXJw
cmV0X2Nhc3Q8dWludDY0X3Q+KHZtYSkpOworICAgIH0KKyNlbHNlCisgICAgdm9pZCBpbmxpbmUg
cmVnaXN0ZXJKSVRDb2RlKHZvaWQqLCB1bnNpZ25lZCBpbnQgc2l6ZSwgY29uc3QgY2hhciopIHt9
CisgICAgdm9pZCBpbmxpbmUgdW5yZWdpc3RlckpJVENvZGUodm9pZCopIHt9CisjZW5kaWYKK30K
KworI2VuZGlmCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUu
Y3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmNwcAppbmRleCBiYzE4Y2M5
Li4zYWQ3NTcxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUu
Y3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKQEAgLTI5LDYg
KzI5LDcgQEAKICNpbmNsdWRlICJCeXRlY29kZUdlbmVyYXRvci5oIgogI2luY2x1ZGUgIkNvZGVC
bG9jay5oIgogI2luY2x1ZGUgIkpJVC5oIgorI2luY2x1ZGUgIkpJVFByb2ZpbGVBZ2VudC5oIgog
I2luY2x1ZGUgIlBhcnNlci5oIgogI2luY2x1ZGUgIlN0cmluZ0J1aWxkZXIuaCIKICNpbmNsdWRl
ICJWZWN0b3IuaCIKQEAgLTE0Miw2ICsxNDMsOCBAQCB2b2lkIEV2YWxFeGVjdXRhYmxlOjpnZW5l
cmF0ZUpJVENvZGUoRXhlY1N0YXRlKiBleGVjLCBTY29wZUNoYWluTm9kZSogc2NvcGVDaGFpbgog
ICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gJmJ5dGVjb2RlKGV4ZWMsIHNjb3BlQ2hhaW5Ob2Rl
KTsKICAgICBtX2ppdENvZGUgPSBKSVQ6OmNvbXBpbGUoc2NvcGVDaGFpbk5vZGUtPmdsb2JhbERh
dGEsIGNvZGVCbG9jayk7CiAKKyAgICByZWdpc3RlckpJVENvZGUobV9qaXRDb2RlLmFkZHJlc3NG
b3JDYWxsKCkuZXhlY3V0YWJsZUFkZHJlc3MoKSwgbV9qaXRDb2RlLnNpemUoKSwgIjxqcy1ldmFs
PiIpOworCiAjaWYgIUVOQUJMRShPUENPREVfU0FNUExJTkcpCiAgICAgaWYgKCFCeXRlY29kZUdl
bmVyYXRvcjo6ZHVtcHNHZW5lcmF0ZWRDb2RlKCkpCiAgICAgICAgIGNvZGVCbG9jay0+ZGlzY2Fy
ZEJ5dGVjb2RlKCk7CkBAIC0xNTMsNiArMTU2LDggQEAgdm9pZCBQcm9ncmFtRXhlY3V0YWJsZTo6
Z2VuZXJhdGVKSVRDb2RlKEV4ZWNTdGF0ZSogZXhlYywgU2NvcGVDaGFpbk5vZGUqIHNjb3BlQ2gK
ICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9ICZieXRlY29kZShleGVjLCBzY29wZUNoYWluTm9k
ZSk7CiAgICAgbV9qaXRDb2RlID0gSklUOjpjb21waWxlKHNjb3BlQ2hhaW5Ob2RlLT5nbG9iYWxE
YXRhLCBjb2RlQmxvY2spOwogCisgICAgcmVnaXN0ZXJKSVRDb2RlKG1faml0Q29kZS5hZGRyZXNz
Rm9yQ2FsbCgpLmV4ZWN1dGFibGVBZGRyZXNzKCksIG1faml0Q29kZS5zaXplKCksICI8anMtcHJv
Zz4iKTsKKwogI2lmICFFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKQogICAgIGlmICghQnl0ZWNvZGVH
ZW5lcmF0b3I6OmR1bXBzR2VuZXJhdGVkQ29kZSgpKQogICAgICAgICBjb2RlQmxvY2stPmRpc2Nh
cmRCeXRlY29kZSgpOwpAQCAtMTY0LDYgKzE2OSw4IEBAIHZvaWQgRnVuY3Rpb25FeGVjdXRhYmxl
OjpnZW5lcmF0ZUpJVENvZGUoRXhlY1N0YXRlKiBleGVjLCBTY29wZUNoYWluTm9kZSogc2NvcGVD
CiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSAmYnl0ZWNvZGUoZXhlYywgc2NvcGVDaGFpbk5v
ZGUpOwogICAgIG1faml0Q29kZSA9IEpJVDo6Y29tcGlsZShzY29wZUNoYWluTm9kZS0+Z2xvYmFs
RGF0YSwgY29kZUJsb2NrKTsKIAorICAgIHJlZ2lzdGVySklUQ29kZShtX2ppdENvZGUuYWRkcmVz
c0ZvckNhbGwoKS5leGVjdXRhYmxlQWRkcmVzcygpLCBtX2ppdENvZGUuc2l6ZSgpLCAiPGpzLWZ1
bmM+Iik7CisKICNpZiAhRU5BQkxFKE9QQ09ERV9TQU1QTElORykKICAgICBpZiAoIUJ5dGVjb2Rl
R2VuZXJhdG9yOjpkdW1wc0dlbmVyYXRlZENvZGUoKSkKICAgICAgICAgY29kZUJsb2NrLT5kaXNj
YXJkQnl0ZWNvZGUoKTsKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwpp
bmRleCBkMjg3N2MwLi41YzdmMTAwIDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29u
ZmlndXJlLmFjCkBAIC01NjgsNiArNTY4LDMwIEBAIGlmIHRlc3QgIiRlbmFibGVfaml0IiA9ICJ5
ZXMiOyB0aGVuCiBmaQogQUNfTVNHX1JFU1VMVChbJGVuYWJsZV9qaXRdKQogCisjIEJ1aWxkIEpJ
VCB3aXRoIE9Qcm9maWxlIGFnZW50IHN1cHBvcnQKK09QQUdFTlRfTElCUz0KK0FDX01TR19DSEVD
S0lORyhbd2hldGhlciB0byBlbmFibGUgT1Byb2ZpbGUgSklUIGFnZW50IHN1cHBvcnQuXSkKK0FD
X0FSR19FTkFCTEUoW29wYWdlbnRdLAorICAgICAgICAgICAgICBBQ19IRUxQX1NUUklORyhbLS1l
bmFibGUtb3BhZ2VudF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtFbmFibGUgT1By
b2ZpbGUgSklUIGFnZW50IHN1cHBvcnQgZGVmYXVsdD1ub10pLAorICAgICAgICAgICAgICBbZW5h
YmxlX29wYWdlbnQ9InllcyJdLFtdKQoraWYgdGVzdCAiJGVuYWJsZV9vcGFnZW50IiA9ICJ5ZXMi
OyB0aGVuCisgIEFDX0NIRUNLX0xJQihvcGFnZW50LCBvcF9tYWpvcl92ZXJzaW9uLAorICAgIFtB
Q19DSEVDS19IRUFERVIob3BhZ2VudC5oLAorICAgICAgb3BhZ2VudF9vaz15ZXMsCisgICAgICBv
cGFnZW50X29rPW5vKV0sCisgICAgQUNfTVNHX0VSUk9SKFtPUHJvZmlsZSBvcGFnZW50IGxpYnJh
cnkgbm90IGZvdW5kXSksIC1sYmZkKQorCisgIEFDX01TR19SRVNVTFQoWyRvcGFnZW50X29rXSkK
KworICBpZiB0ZXN0ICIkb3BhZ2VudF9vayIgPSAieWVzIjsgdGhlbgorICAgIEFDX0RFRklORShb
RU5BQkxFX09QUk9GSUxFX0pJVF9BR0VOVF0sIFsxXSwgW0RlZmluZSB0byBlbmFibGUgT1Byb2Zp
bGUgSklUIGFnZW50IHN1cHBvcnRdKQorICBmaQorICBPUEFHRU5UX0xJQlM9Ii1sb3BhZ2VudCAt
bGJmZCIKK2ZpCisKK0FDX1NVQlNUKFtPUEFHRU5UX0xJQlNdKQorCiAjIEdPYmplY3QgSW50cm9z
cGVjdGlvbgogQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGVuYWJsZSBHT2JqZWN0IGludHJv
c3BlY3Rpb24gc3VwcG9ydF0pCiBBQ19BUkdfRU5BQkxFKFtpbnRyb3NwZWN0aW9uXSwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50918</attachid>
            <date>2010-03-17 10:14:48 -0700</date>
            <delta_ts>2010-04-16 08:06:01 -0700</delta_ts>
            <desc>Supports OProfile JIT agent</desc>
            <filename>0001-Supports-OProfile-JIT-agent.patch</filename>
            <type>text/plain</type>
            <size>33949</size>
            <attacher name="Gabor Loki">loki</attacher>
            
              <data encoding="base64">RnJvbSA1OTg5NjRlNGExZjk3ZjBkNGJhMmY0OTk2MTE1NjQ2YjY4ZmYyNGQ0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdlZC5odT4KRGF0
ZTogV2VkLCAxNyBNYXIgMjAxMCAxNzo1OToyMSArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIFN1cHBv
cnRzIE9Qcm9maWxlIEpJVCBhZ2VudAoKU2lnbmVkLW9mZi1ieTogR2Fib3IgTG9raSA8bG9raUBp
bmYudS1zemVnZWQuaHU+Ci0tLQogQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgMTYgKysrCiBHTlVtYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgICAgMyArLQogSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nICAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgNjMgKysrKysrKysrKwogSmF2YVNjcmlwdENvcmUv
R05VbWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwogSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUucHJpICAgICAgICAgICAgICAgICB8ICAgIDEgKwogSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaCAgICAgICAgICAgICB8ICAgMTIgKysKIEphdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5oICAgICAgICAgICAgICAgICAgfCAgICA5ICsrCiBK
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIHwgICAgNSAr
CiBKYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAg
MyArCiBKYXZhU2NyaXB0Q29yZS9qaXQvSklULmggICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAxOSArKysKIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCAgICAgICAgICAgICAg
ICAgfCAgIDE2ICsrKwogSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb2ZpbGVBZ2VudC5jcHAgICAg
ICAgICAgICB8ICAgODAgKysrKysrKysrKysrKwogSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb2Zp
bGVBZ2VudC5oICAgICAgICAgICAgICB8ICAxMjYgKysrKysrKysrKysrKysrKysrKysrCiBKYXZh
U2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwICAgICAgICAgIHwgICAxMiArKwog
SmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwICAgICB8ICAgMjEg
KysrLQogSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmNwcCAgICAgICAgICAgICB8
ICAgMzIgKysrKysKIEphdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhKSVQuY3BwICAgICAgICAgICAg
ICAgICAgfCAgICAzICsKIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDI0ICsrKysKIDE4IGZpbGVzIGNoYW5nZWQsIDQ0MyBpbnNlcnRpb25zKCsp
LCA0IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IEphdmFTY3JpcHRDb3JlL2ppdC9K
SVRQcm9maWxlQWdlbnQuY3BwCiBjcmVhdGUgbW9kZSAxMDA2NDQgSmF2YVNjcmlwdENvcmUvaml0
L0pJVFByb2ZpbGVBZ2VudC5oCgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmlu
ZGV4IDdmMDA4ZmEuLmI4N2ZlMjcgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wMy0xNyAgR2Fib3IgTG9raSAgPGxva2lAd2Via2l0
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBT
dXBwb3J0cyBPUHJvZmlsZSBKSVQgYWdlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTMyNTYxCisKKyAgICAgICAgVGhpcyBwYXRjaCBmZWVkcyBPUHJv
ZmlsZSBkYWVtb24gd2l0aCBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGUKKyAgICAgICAg
Z2VuZXJlYXRlZCBKSVQgY29kZS4gSXQgcGFzc2VzIHNvdXJjZS91cmwgcGF0aCwgZnVuY3Rpb24g
bmFtZXMgYW5kCisgICAgICAgIGxpbmUgaW5mb3JtYXRpb24gZm9yIHRoZSByZXBvcnQgYW5kIGFu
bm90YXRlIHRvb2xzLgorCisgICAgICAgIERldmVsb3BlZCBpbiBjb29wZXJhdGlvbiB3aXRoIFpv
bHRhbiBIZXJjemVnLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogY29u
ZmlndXJlLmFjOgorCiAyMDEwLTAzLTE2ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4K
IAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBHdXN0YXZvIE5vcm9uaGEuCmRpZmYgLS1naXQg
YS9HTlVtYWtlZmlsZS5hbSBiL0dOVW1ha2VmaWxlLmFtCmluZGV4IDM5OWY3YTQuLmU1NDk1MDkg
MTAwNjQ0Ci0tLSBhL0dOVW1ha2VmaWxlLmFtCisrKyBiL0dOVW1ha2VmaWxlLmFtCkBAIC0xODEs
NyArMTgxLDggQEAgbGliSmF2YVNjcmlwdENvcmVfbGFfU09VUkNFUyA9IFwKIGxpYkphdmFTY3Jp
cHRDb3JlX2xhX0xJQkFERCA9IFwKIAkkKFVOSUNPREVfTElCUykgXAogCSQoR0xJQl9MSUJTKSBc
Ci0JLWxwdGhyZWFkCisJLWxwdGhyZWFkIFwKKwkkKE9QQUdFTlRfTElCUykKIAogbGliSmF2YVNj
cmlwdENvcmVfbGFfQ1hYRkxBR1MgPSBcCiAJJChnbG9iYWxfY3h4ZmxhZ3MpIFwKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpp
bmRleCA1NDQyZjk4Li5lZmUxMzViIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjYgQEAKKzIwMTAt
MDMtMTcgIEdhYm9yIExva2kgIDxsb2tpQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3VwcG9ydHMgT1Byb2ZpbGUgSklUIGFnZW50
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjU2MQor
CisgICAgICAgIFRoaXMgcGF0Y2ggZmVlZHMgT1Byb2ZpbGUgZGFlbW9uIHdpdGggZGV0YWlsZWQg
aW5mb3JtYXRpb24gYWJvdXQgdGhlCisgICAgICAgIGdlbmVyZWF0ZWQgSklUIGNvZGUuIEl0IHBh
c3NlcyBzb3VyY2UvdXJsIHBhdGgsIGZ1bmN0aW9uIG5hbWVzIGFuZAorICAgICAgICBsaW5lIGlu
Zm9ybWF0aW9uIGZvciB0aGUgcmVwb3J0IGFuZCBhbm5vdGF0ZSB0b29scy4KKworICAgICAgICBE
ZXZlbG9wZWQgaW4gY29vcGVyYXRpb24gd2l0aCBab2x0YW4gSGVyY3plZy4KKworICAgICAgICAq
IEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnByaToKKyAgICAgICAg
KiBhc3NlbWJsZXIvTGlua0J1ZmZlci5oOgorICAgICAgICAoSlNDOjpMaW5rQnVmZmVyOjp2bWEp
OgorICAgICAgICAoSlNDOjpMaW5rQnVmZmVyOjpzaXplKToKKyAgICAgICAgKiBieXRlY29kZS9P
cGNvZGUuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgor
ICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdERlYnVnSG9vayk6CisgICAgICAg
ICogaml0L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFz
cyk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAoSlNDOjpKSVQ6OmNvbXBpbGVBbmRB
bm5vdGF0ZSk6CisgICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpK
SVQ6OmVtaXRfb3Bfb3Byb2ZpbGUpOgorICAgICAgICAqIGppdC9KSVRQcm9maWxlQWdlbnQuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKEpTQzo6SklUUHJvZmlsZUFnZW50OjpzYWZlVW5sb2FkKToKKyAg
ICAgICAgKEpTQzo6SklUUHJvZmlsZUFnZW50Ojphbm5vdGF0ZUpJVENvZGVJbXBsKToKKyAgICAg
ICAgKiBqaXQvSklUUHJvZmlsZUFnZW50Lmg6IEFkZGVkLgorICAgICAgICAoSlNDOjpMaW5lSW5m
b1JlY29yZDo6TGluZUluZm9SZWNvcmQpOgorICAgICAgICAoSlNDOjpKSVRQcm9maWxlQWdlbnQ6
OmFnZW50KToKKyAgICAgICAgKEpTQzo6SklUUHJvZmlsZUFnZW50Ojp+SklUUHJvZmlsZUFnZW50
KToKKyAgICAgICAgKEpTQzo6SklUUHJvZmlsZUFnZW50OjpyZWdpc3RlckpJVENvZGVJbXBsKToK
KyAgICAgICAgKEpTQzo6SklUUHJvZmlsZUFnZW50OjpKSVRQcm9maWxlQWdlbnQpOgorICAgICAg
ICAoSlNDOjpKSVRQcm9maWxlQWdlbnQ6OndyaXRlSklUQ29kZSk6CisgICAgICAgIChKU0M6OkpJ
VFByb2ZpbGVBZ2VudDo6dW5sb2FkSklUQ29kZSk6CisgICAgICAgICogaml0L0pJVFByb3BlcnR5
QWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZVB1dEJ5SWRUcmFu
c2l0aW9uKToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZVBhdGNoR2V0QXJyYXlM
ZW5ndGgpOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvKToK
KyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRTZWxmTGlzdCk6CisgICAg
ICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KToKKyAgICAgICAg
KEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbkxpc3QpOgorICAgICAgICAoSlND
OjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluKToKKyAgICAgICAgKiBqaXQvSklUUHJv
cGVydHlBY2Nlc3MzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQ
dXRCeUlkVHJhbnNpdGlvbik6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRj
aEdldEFycmF5TGVuZ3RoKToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5
SWRQcm90byk6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxp
c3QpOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdCk6
CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KToKKyAg
ICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6CisgICAgICAgICog
cnVudGltZS9FeGVjdXRhYmxlLmNwcDoKKyAgICAgICAgKEpTQzo6RXZhbEV4ZWN1dGFibGU6Omdl
bmVyYXRlSklUQ29kZSk6CisgICAgICAgIChKU0M6OlByb2dyYW1FeGVjdXRhYmxlOjpnZW5lcmF0
ZUpJVENvZGUpOgorICAgICAgICAoSlNDOjpGdW5jdGlvbkV4ZWN1dGFibGU6OmdlbmVyYXRlSklU
Q29kZSk6CisgICAgICAgIChKU0M6OkZ1bmN0aW9uRXhlY3V0YWJsZTo6cmVwYXJzZUV4Y2VwdGlv
bkluZm8pOgorICAgICAgICAoSlNDOjpFdmFsRXhlY3V0YWJsZTo6cmVwYXJzZUV4Y2VwdGlvbklu
Zm8pOgorICAgICAgICAqIHlhcnIvUmVnZXhKSVQuY3BwOgorICAgICAgICAoSlNDOjpZYXJyOjpS
ZWdleEdlbmVyYXRvcjo6Y29tcGlsZSk6CisKIDIwMTAtMDMtMTYgIEdhdmluIEJhcnJhY2xvdWdo
ICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBI
dW50LCBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxl
LmFtIGIvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggODRiN2Q4My4uYTZhMDc1
OSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvSmF2YVNj
cmlwdENvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTgyLDYgKzgyLDggQEAgamF2YXNjcmlwdGNvcmVf
c291cmNlcyArPSBcCiAJSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIFwKIAlKYXZh
U2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAgXAogCUphdmFTY3JpcHRDb3JlL2ppdC9KSVRDb2Rl
LmggXAorCUphdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuaCBcCisJSmF2YVNjcmlw
dENvcmUvaml0L0pJVFByb2ZpbGVBZ2VudC5jcHAgXAogCUphdmFTY3JpcHRDb3JlL2ppdC9KSVRQ
cm9wZXJ0eUFjY2Vzcy5jcHAgXAogCUphdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vz
czMyXzY0LmNwcCBcCiAJSmF2YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwIFwKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaSBiL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnByaQppbmRleCAwYTA5M2VjLi43NzgwODliIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkKKysrIGIvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUucHJpCkBAIC0xMDYsNiArMTA2LDcgQEAgU09VUkNFUyArPSBcCiAgICAg
aml0L0pJVENhbGwuY3BwIFwKICAgICBqaXQvSklULmNwcCBcCiAgICAgaml0L0pJVE9wY29kZXMu
Y3BwIFwKKyAgICBqaXQvSklUUHJvZmlsZUFnZW50LmNwcCBcCiAgICAgaml0L0pJVFByb3BlcnR5
QWNjZXNzLmNwcCBcCiAgICAgaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwIFwKICAgICBq
aXQvSklUU3R1YnMuY3BwIFwKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9M
aW5rQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oCmluZGV4
IDQ3Y2FjNWEuLmRmYTJiMGIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9M
aW5rQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaApA
QCAtMTU5LDYgKzE1OSwxOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBDb2RlTG9jYXRpb25M
YWJlbChjb2RlKCkpOwogICAgIH0KIAorI2lmIEVOQUJMRShPUFJPRklMRV9KSVRfQUdFTlQpCisg
ICAgdm9pZCogdm1hKCkKKyAgICB7CisgICAgICAgIHJldHVybiBtX2NvZGU7CisgICAgfQorCisg
ICAgc2l6ZV90IHNpemUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fc2l6ZTsKKyAgICB9Cisj
ZW5kaWYKKwogcHJpdmF0ZToKICAgICAvLyBLZWVwIHRoaXMgcHJpdmF0ZSEgLSB0aGUgdW5kZXJs
eWluZyBjb2RlIHNob3VsZCBvbmx5IGJlIG9idGFpbmVkIGV4dGVybmFsbHkgdmlhIAogICAgIC8v
IGZpbmFsaXplQ29kZSgpIG9yIGZpbmFsaXplQ29kZUFkZGVuZHVtKCkuCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PcGNvZGUuaCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L09wY29kZS5oCmluZGV4IDUwOWRhZWIuLmMzYTdjOWIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL09wY29kZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09wY29k
ZS5oCkBAIC0zNyw2ICszNywxMiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorI2lmIEVOQUJMRShP
UFJPRklMRV9KSVRfQUdFTlQpCisjZGVmaW5lIG9wcm9maWxlKGEpIGEKKyNlbHNlCisjZGVmaW5l
IG9wcm9maWxlKGEpCisjZW5kaWYKKwogICAgICNkZWZpbmUgRk9SX0VBQ0hfT1BDT0RFX0lEKG1h
Y3JvKSBcCiAgICAgICAgIG1hY3JvKG9wX2VudGVyLCAxKSBcCiAgICAgICAgIG1hY3JvKG9wX2Vu
dGVyX3dpdGhfYWN0aXZhdGlvbiwgMikgXApAQCAtMTgwLDYgKzE4Niw3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICBtYWNybyhvcF9zcmV0LCAyKSBcCiAgICAgICAgIFwKICAgICAgICAgbWFj
cm8ob3BfZGVidWcsIDQpIFwKKyAgICAgICAgb3Byb2ZpbGUobWFjcm8ob3Bfb3Byb2ZpbGUsIDMp
KSBcCiAgICAgICAgIG1hY3JvKG9wX3Byb2ZpbGVfd2lsbF9jYWxsLCAyKSBcCiAgICAgICAgIG1h
Y3JvKG9wX3Byb2ZpbGVfZGlkX2NhbGwsIDIpIFwKICAgICAgICAgXApAQCAtMjA1LDYgKzIxMiw4
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBGT1JfRUFDSF9PUENPREVfSUQoVkVSSUZZX09Q
Q09ERV9JRCk7CiAgICAgI3VuZGVmIFZFUklGWV9PUENPREVfSUQKIAorI3VuZGVmIG9wcm9maWxl
CisKICNpZiBIQVZFKENPTVBVVEVEX0dPVE8pCiAjaWYgQ09NUElMRVIoUlZDVCkKICAgICB0eXBl
ZGVmIHZvaWQqIE9wY29kZTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9CeXRlY29kZUdlbmVyYXRvci5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuY3BwCmluZGV4IGU0NmJiMTUuLmEyY2I5NGUgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcApAQCAtMTYzNyw2
ICsxNjM3LDExIEBAIHZvaWQgQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRQb3BTY29wZSgpCiAKIHZv
aWQgQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXREZWJ1Z0hvb2soRGVidWdIb29rSUQgZGVidWdIb29r
SUQsIGludCBmaXJzdExpbmUsIGludCBsYXN0TGluZSkKIHsKKyNpZiBFTkFCTEUoT1BST0ZJTEVf
SklUX0FHRU5UKQorICAgIGVtaXRPcGNvZGUob3Bfb3Byb2ZpbGUpOworICAgIGluc3RydWN0aW9u
cygpLmFwcGVuZChmaXJzdExpbmUpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChsYXN0TGlu
ZSk7CisjZW5kaWYKICAgICBpZiAoIW1fc2hvdWxkRW1pdERlYnVnSG9va3MpCiAgICAgICAgIHJl
dHVybjsKICAgICBlbWl0T3Bjb2RlKG9wX2RlYnVnKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVQuY3BwIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggYjQxNDEw
MS4uNzAyY2FkMSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKKysrIGIv
SmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKQEAgLTIyNyw2ICsyMjcsOSBAQCB2b2lkIEpJVDo6
cHJpdmF0ZUNvbXBpbGVNYWluUGFzcygpCiAgICAgICAgIERFRklORV9PUChvcF9pbml0X2FyZ3Vt
ZW50cykKICAgICAgICAgREVGSU5FX09QKG9wX2NyZWF0ZV9hcmd1bWVudHMpCiAgICAgICAgIERF
RklORV9PUChvcF9kZWJ1ZykKKyNpZiBFTkFCTEUoT1BST0ZJTEVfSklUX0FHRU5UKQorICAgICAg
ICBERUZJTkVfT1Aob3Bfb3Byb2ZpbGUpCisjZW5kaWYKICAgICAgICAgREVGSU5FX09QKG9wX2Rl
bF9ieV9pZCkKICNpZiAhVVNFKEpTVkFMVUUzMikKICAgICAgICAgREVGSU5FX09QKG9wX2RpdikK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVQuaAppbmRleCBhOGY3MjVkLi42YjAxZWU5IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklULmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC00MSw2ICs0MSw3
IEBACiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKICNp
bmNsdWRlICJKSVRDb2RlLmgiCisjaW5jbHVkZSAiSklUUHJvZmlsZUFnZW50LmgiCiAjaW5jbHVk
ZSAiSklUU3R1YnMuaCIKICNpbmNsdWRlICJPcGNvZGUuaCIKICNpbmNsdWRlICJSZWdpc3RlckZp
bGUuaCIKQEAgLTI4MSw2ICsyODIsMTggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBy
ZXR1cm4gSklUKGdsb2JhbERhdGEsIGNvZGVCbG9jaykucHJpdmF0ZUNvbXBpbGUoKTsKICAgICAg
ICAgfQogCisjaWYgRU5BQkxFKE9QUk9GSUxFX0pJVF9BR0VOVCkKKyAgICAgICAgc3RhdGljIEpJ
VENvZGUgY29tcGlsZUFuZEFubm90YXRlKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgQ29kZUJs
b2NrKiBjb2RlQmxvY2ssIFVTdHJpbmcmIG5hbWUpCisgICAgICAgIHsKKyAgICAgICAgICAgIEpJ
VCBqaXQoZ2xvYmFsRGF0YSwgY29kZUJsb2NrKTsKKyAgICAgICAgICAgIEpJVENvZGUgY29kZSA9
IGppdC5wcml2YXRlQ29tcGlsZSgpOworICAgICAgICAgICAgcmVnaXN0ZXJKSVRDb2RlKGNvZGUu
YWRkcmVzc0ZvckNhbGwoKS5leGVjdXRhYmxlQWRkcmVzcygpLCBjb2RlLnNpemUoKSwgbmFtZS5h
c2NpaSgpKTsKKyAgICAgICAgICAgIGlmICghY29kZUJsb2NrLT5zb3VyY2UoKS0+dXJsKCkuaXNF
bXB0eSgpKQorICAgICAgICAgICAgICAgIEpJVFByb2ZpbGVBZ2VudDo6YWdlbnQoKS5hbm5vdGF0
ZUpJVENvZGVJbXBsKGNvZGUuYWRkcmVzc0ZvckNhbGwoKS5leGVjdXRhYmxlQWRkcmVzcygpLCBq
aXQubV9saW5lSW5mb3MsIGNvZGVCbG9jay0+c291cmNlKCktPnVybCgpKTsKKyAgICAgICAgICAg
IHJldHVybiBjb2RlOworICAgICAgICB9CisjZW5kaWYKKwogICAgICAgICBzdGF0aWMgdm9pZCBj
b21waWxlR2V0QnlJZFByb3RvKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgQ2FsbEZyYW1lKiBj
YWxsRnJhbWUsIENvZGVCbG9jayogY29kZUJsb2NrLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwg
Y29uc3QgSWRlbnRpZmllciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90
IGNhY2hlZE9mZnNldCwgUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzKQogICAgICAgICB7
CiAgICAgICAgICAgICBKSVQgaml0KGdsb2JhbERhdGEsIGNvZGVCbG9jayk7CkBAIC03MTMsNiAr
NzI2LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9jb252ZXJ0X3Ro
aXMoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX2NyZWF0ZV9hcmd1bWVudHMo
SW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX2RlYnVnKEluc3RydWN0aW9uKik7
CisjaWYgRU5BQkxFKE9QUk9GSUxFX0pJVF9BR0VOVCkKKyAgICAgICAgdm9pZCBlbWl0X29wX29w
cm9maWxlKEluc3RydWN0aW9uKik7CisjZW5kaWYKICAgICAgICAgdm9pZCBlbWl0X29wX2RlbF9i
eV9pZChJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfZGl2KEluc3RydWN0aW9u
Kik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9lbmQoSW5zdHJ1Y3Rpb24qKTsKQEAgLTkzMiw2ICs5
NDgsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgVmVjdG9yPEpTUkluZm8+IG1fanNyU2l0
ZXM7CiAgICAgICAgIFZlY3RvcjxTbG93Q2FzZUVudHJ5PiBtX3Nsb3dDYXNlczsKICAgICAgICAg
VmVjdG9yPFN3aXRjaFJlY29yZD4gbV9zd2l0Y2hlczsKKyNpZiBFTkFCTEUoT1BST0ZJTEVfSklU
X0FHRU5UKQorICAgICAgICBWZWN0b3I8TGluZUluZm9SZWNvcmQ+IG1fbGluZUluZm9zOworI2Vu
ZGlmCiAKICAgICAgICAgdW5zaWduZWQgbV9wcm9wZXJ0eUFjY2Vzc0luc3RydWN0aW9uSW5kZXg7
CiAgICAgICAgIHVuc2lnbmVkIG1fZ2xvYmFsUmVzb2x2ZUluZm9JbmRleDsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCBiL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGNvZGVzLmNwcAppbmRleCBkMDQ4NTdjLi5iZTA1NDVkIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
Y29kZXMuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaWYgRU5BQkxFKEpJVCkKIAogI2luY2x1ZGUg
IkpJVElubGluZU1ldGhvZHMuaCIKKyNpbmNsdWRlICJKSVRQcm9maWxlQWdlbnQuaCIKICNpbmNs
dWRlICJKSVRTdHViQ2FsbC5oIgogI2luY2x1ZGUgIkpTQXJyYXkuaCIKICNpbmNsdWRlICJKU0Nl
bGwuaCIKQEAgLTM4Miw2ICszODMsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElNYWNo
aW5lVHJhbXBvbGluZXMoUmVmUHRyPEV4ZWN1dGFibGVQb29sPiogZXhlY3V0YWJsZQogCiAgICAg
Ly8gQWxsIHRyYW1wb2xpbmVzIGNvbnN0cnVjdGVkISBjb3B5IHRoZSBjb2RlLCBsaW5rIHVwIGNh
bGxzLCBhbmQgc2V0IHRoZSBwb2ludGVycyBvbiB0aGUgTWFjaGluZSBvYmplY3QuCiAgICAgTGlu
a0J1ZmZlciBwYXRjaEJ1ZmZlcih0aGlzLCBtX2dsb2JhbERhdGEtPmV4ZWN1dGFibGVBbGxvY2F0
b3IucG9vbEZvclNpemUobV9hc3NlbWJsZXIuc2l6ZSgpKSk7CisgICAgcmVnaXN0ZXJKSVRDb2Rl
KHBhdGNoQnVmZmVyLnZtYSgpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8aml0LXRyYW1wb2xpbmVz
PiIpOwogCiAjaWYgRU5BQkxFKEpJVF9PUFRJTUlaRV9QUk9QRVJUWV9BQ0NFU1MpCiAgICAgcGF0
Y2hCdWZmZXIubGluayhzdHJpbmdfZmFpbHVyZUNhc2VzMUNhbGwsIEZ1bmN0aW9uUHRyKGN0aV9v
cF9nZXRfYnlfaWRfc3RyaW5nX2ZhaWwpKTsKQEAgLTE0NDQsNiArMTQ0NiwxMiBAQCB2b2lkIEpJ
VDo6ZW1pdF9vcF9kZWJ1ZyhJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIHN0
dWJDYWxsLmNhbGwoKTsKIH0KIAorI2lmIEVOQUJMRShPUFJPRklMRV9KSVRfQUdFTlQpCit2b2lk
IEpJVDo6ZW1pdF9vcF9vcHJvZmlsZShJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQor
eworICAgIG1fbGluZUluZm9zLmFwcGVuZChMaW5lSW5mb1JlY29yZChzaXplKCksIGN1cnJlbnRJ
bnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpKTsKK30KKyNlbmRpZgogCiB2b2lkIEpJVDo6ZW1pdF9v
cF9lbnRlcihJbnN0cnVjdGlvbiopCiB7CkBAIC0xODc1LDYgKzE4ODMsNyBAQCB2b2lkIEpJVDo6
cHJpdmF0ZUNvbXBpbGVDVElNYWNoaW5lVHJhbXBvbGluZXMoUmVmUHRyPEV4ZWN1dGFibGVQb29s
PiogZXhlY3V0YWJsZQogCiAgICAgLy8gQWxsIHRyYW1wb2xpbmVzIGNvbnN0cnVjdGVkISBjb3B5
IHRoZSBjb2RlLCBsaW5rIHVwIGNhbGxzLCBhbmQgc2V0IHRoZSBwb2ludGVycyBvbiB0aGUgTWFj
aGluZSBvYmplY3QuCiAgICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcih0aGlzLCBtX2dsb2JhbERh
dGEtPmV4ZWN1dGFibGVBbGxvY2F0b3IucG9vbEZvclNpemUobV9hc3NlbWJsZXIuc2l6ZSgpKSk7
CisgICAgcmVnaXN0ZXJKSVRDb2RlKHBhdGNoQnVmZmVyLnZtYSgpLCBwYXRjaEJ1ZmZlci5zaXpl
KCksICI8aml0LXRyYW1wb2xpbmVzPiIpOwogCiAjaWYgRU5BQkxFKEpJVF9PUFRJTUlaRV9QUk9Q
RVJUWV9BQ0NFU1MpCiAgICAgcGF0Y2hCdWZmZXIubGluayhzdHJpbmdfZmFpbHVyZUNhc2VzMUNh
bGwsIEZ1bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfc3RyaW5nX2ZhaWwpKTsKQEAgLTI2OTIs
NiArMjcwMSwxMyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9kZWJ1ZyhJbnN0cnVjdGlvbiogY3VycmVu
dEluc3RydWN0aW9uKQogICAgIHN0dWJDYWxsLmNhbGwoKTsKIH0KIAorI2lmIEVOQUJMRShPUFJP
RklMRV9KSVRfQUdFTlQpCit2b2lkIEpJVDo6ZW1pdF9vcF9vcHJvZmlsZShJbnN0cnVjdGlvbiog
Y3VycmVudEluc3RydWN0aW9uKQoreworICAgIG1fbGluZUluZm9zLmFwcGVuZChMaW5lSW5mb1Jl
Y29yZChzaXplKCksIGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpKTsKK30KKyNlbmRp
ZgorCiB2b2lkIEpJVDo6ZW1pdF9vcF9lcV9udWxsKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1
Y3Rpb24pCiB7CiAgICAgdW5zaWduZWQgZHN0ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3Bl
cmFuZDsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuY3Bw
IGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb2ZpbGVBZ2VudC5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uZGFlMTAzNwotLS0gL2Rldi9udWxsCisrKyBiL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuY3BwCkBAIC0wLDAgKzEsODAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDkgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIKKyAqIENvcHlyaWdo
dCAoQykgMjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSklUUHJv
ZmlsZUFnZW50LmgiCisKKyNpZiBFTkFCTEUoT1BST0ZJTEVfSklUX0FHRU5UKQorCisjaW5jbHVk
ZSAiVVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CisKK25hbWVzcGFjZSBK
U0MgeworCisjaWYgRU5BQkxFKE9QUk9GSUxFX0pJVF9BR0VOVF9XSVRIX1NBRkVfVU5MT0FEKQor
dm9pZCBKSVRQcm9maWxlQWdlbnQ6OnNhZmVVbmxvYWQodm9pZCogY29kZSwgdW5zaWduZWQgaW50
IHNpemUpCit7CisgICAgdW5zaWduZWQgaW50IGksIG4gPSB2aXJ0dWFsTWVtb3J5U2VnbWVudHMu
c2l6ZSgpOworICAgIGNvbnN0IGNoYXIqIHZtYUJlZ2luID0gcmVpbnRlcnByZXRfY2FzdDxjaGFy
Kj4oY29kZSk7CisgICAgY29uc3QgY2hhciogdm1hRW5kID0gdm1hQmVnaW4gKyBzaXplOworICAg
IGZvciAoaSA9IDA7IGkgIT0gbjsgKytpKSB7CisgICAgICAgIGNvbnN0IGNoYXIqIHJlZ2lzdGVy
ZWRWbWFCZWdpbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KHZpcnR1YWxNZW1vcnlTZWdtZW50
c1tpXS5jb2RlKTsKKyAgICAgICAgY29uc3QgY2hhciogcmVnaXN0ZXJlZFZtYUVuZCA9IHZtYUJl
Z2luICsgdmlydHVhbE1lbW9yeVNlZ21lbnRzW2ldLnNpemU7CisgICAgICAgIGlmICgocmVnaXN0
ZXJlZFZtYUJlZ2luIDw9IHZtYUVuZCAmJiB2bWFFbmQgPD0gcmVnaXN0ZXJlZFZtYUVuZCkKKyAg
ICAgICAgICAgIHx8IChyZWdpc3RlcmVkVm1hQmVnaW4gPD0gdm1hQmVnaW4gJiYgdm1hQmVnaW4g
PD0gcmVnaXN0ZXJlZFZtYUVuZCkpIHsKKyAgICAgICAgICAgIHVubG9hZEpJVENvZGUodmlydHVh
bE1lbW9yeVNlZ21lbnRzW2ldLmNvZGUpOworICAgICAgICB9CisgICAgfQorfQorCisjZW5kaWYK
Kwordm9pZCBKSVRQcm9maWxlQWdlbnQ6OmFubm90YXRlSklUQ29kZUltcGwodm9pZCogY29kZSwg
VmVjdG9yPExpbmVJbmZvUmVjb3JkPiYgbV9saW5lSW5mb3MsIGNvbnN0IFVTdHJpbmcmIHVybCkK
K3sKKyAgICB1aW50cHRyX3Qgdm1hID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGNvZGUp
OworICAgIHVpbnRwdHJfdCBwcmV2T2Zmc2V0ID0gMDsKKyAgICBpbnQgZW50cmllcyA9IG1fbGlu
ZUluZm9zLnNpemUoKTsKKyAgICBzdHJ1Y3QgZGVidWdfbGluZV9pbmZvKiBkZWJ1Z0xpbmVJbmZv
ID0gcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3QgZGVidWdfbGluZV9pbmZvKj4oV1RGOjpmYXN0TWFs
bG9jKGVudHJpZXMgKiBzaXplb2Yoc3RydWN0IGRlYnVnX2xpbmVfaW5mbykpKTsKKyAgICBjaGFy
KiBuYW1lID0gdXJsLmFzY2lpKCk7CisKKyAgICBzdHJ1Y3QgZGVidWdfbGluZV9pbmZvKiBkZWJ1
Z0xpbmVJbmZvUHRyID0gZGVidWdMaW5lSW5mbzsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGVu
dHJpZXM7ICsraSkgeworICAgICAgICBpZiAocHJldk9mZnNldCAhPSBtX2xpbmVJbmZvc1tpXS52
bWFPZmZzZXQpIHsKKyAgICAgICAgICAgIGRlYnVnTGluZUluZm9QdHItPnZtYSA9IHZtYSArIG1f
bGluZUluZm9zW2ldLnZtYU9mZnNldDsKKyAgICAgICAgICAgIGRlYnVnTGluZUluZm9QdHItPmxp
bmVubyA9IG1fbGluZUluZm9zW2ldLmxpbmU7CisgICAgICAgICAgICBkZWJ1Z0xpbmVJbmZvUHRy
LT5maWxlbmFtZSA9IG5hbWU7CisgICAgICAgICAgICBwcmV2T2Zmc2V0ID0gbV9saW5lSW5mb3Nb
aV0udm1hT2Zmc2V0OworICAgICAgICAgICAgKytkZWJ1Z0xpbmVJbmZvUHRyOworICAgICAgICB9
CisgICAgfQorCisgICAgb3Bfd3JpdGVfZGVidWdfbGluZV9pbmZvKHByb2ZpbGVBZ2VudCwgY29k
ZSwgZGVidWdMaW5lSW5mb1B0ciAtIGRlYnVnTGluZUluZm8sIGRlYnVnTGluZUluZm8pOworICAg
IFdURjo6ZmFzdEZyZWUoZGVidWdMaW5lSW5mbyk7Cit9CisKK30KKworI2VuZGlmCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvZmlsZUFnZW50LmggYi9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUUHJvZmlsZUFnZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uNWI0OWQxMQotLS0gL2Rldi9udWxsCisrKyBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9m
aWxlQWdlbnQuaApAQCAtMCwwICsxLDEyNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBI
b2xnZXIgSGFucyBQZXRlciBGcmV5dGhlcgorICogQ29weXJpZ2h0IChDKSAyMDEwIFVuaXZlcnNp
dHkgb2YgU3plZ2VkCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgSklUUHJvZmlsZUFnZW50X2gKKyNkZWZpbmUgSklUUHJvZmlsZUFnZW50X2gKKwor
I2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorCisjaWYgRU5BQkxFKE9QUk9GSUxFX0pJVF9BR0VO
VCkKKyNpbmNsdWRlIDxvcGFnZW50Lmg+CisjaW5jbHVkZSA8d3RmL1NlZ21lbnRlZFZlY3Rvci5o
PgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNlbmRpZgorCituYW1lc3BhY2UgSlNDIHsKKwor
I2lmIEVOQUJMRShPUFJPRklMRV9KSVRfQUdFTlQpCisKK2NsYXNzIFVTdHJpbmc7CisKK3N0cnVj
dCBMaW5lSW5mb1JlY29yZCB7CisgICAgTGluZUluZm9SZWNvcmQoaW50IHZtYU9mZnNldCwgaW50
IGxpbmUpCisgICAgICAgIDogdm1hT2Zmc2V0KHZtYU9mZnNldCkKKyAgICAgICAgLCBsaW5lKGxp
bmUpCisgICAgeworICAgIH0KKworICAgIGludCB2bWFPZmZzZXQ7CisgICAgaW50IGxpbmU7Cit9
OworCitjbGFzcyBKSVRQcm9maWxlQWdlbnQgeworICAgIHN0cnVjdCBWaXJ0dWFsTWVtb3J5U2Vn
bWVudCB7CisgICAgICAgIHZvaWQqIGNvZGU7CisgICAgICAgIHVuc2lnbmVkIGludCBzaXplOwor
ICAgIH07CisgICAgdHlwZWRlZiBTZWdtZW50ZWRWZWN0b3I8VmlydHVhbE1lbW9yeVNlZ21lbnQs
IDI1Nj4gVmlydHVhbE1lbW9yeVNlZ21lbnRWZWN0b3I7CisKK3B1YmxpYzoKKyAgICBzdGF0aWMg
SklUUHJvZmlsZUFnZW50JiBhZ2VudCgpCisgICAgeworICAgICAgICAvLyBUT0RPOiBtYWtlIGl0
IHRocmVhZCBzYWZlCisgICAgICAgIHN0YXRpYyBKSVRQcm9maWxlQWdlbnQgb3Byb2ZpbGVBZ2Vu
dDsKKyAgICAgICAgcmV0dXJuIG9wcm9maWxlQWdlbnQ7CisgICAgfQorCisgICAgfkpJVFByb2Zp
bGVBZ2VudCgpCisgICAgeworICAgICAgICB1bnNpZ25lZCBpbnQgaSwgbiA9IHZpcnR1YWxNZW1v
cnlTZWdtZW50cy5zaXplKCk7CisgICAgICAgIGZvciAoaSA9IDA7IGkgIT0gbjsgKytpKQorICAg
ICAgICAgICAgdW5sb2FkSklUQ29kZSh2aXJ0dWFsTWVtb3J5U2VnbWVudHNbaV0uY29kZSk7Cisg
ICAgICAgIHZpcnR1YWxNZW1vcnlTZWdtZW50cy5jbGVhcigpOworICAgICAgICBvcF9jbG9zZV9h
Z2VudChwcm9maWxlQWdlbnQpOworICAgIH0KKworICAgIHZvaWQgcmVnaXN0ZXJKSVRDb2RlSW1w
bCh2b2lkKiBjb2RlLCB1bnNpZ25lZCBpbnQgc2l6ZSwgY29uc3QgY2hhciogc3ltYm9sTmFtZSkK
KyAgICB7CisgICAgICAgIGlmICghY29kZSkKKyAgICAgICAgICAgIHJldHVybjsKKyNpZiBFTkFC
TEUoT1BST0ZJTEVfSklUX0FHRU5UX1dJVEhfU0FGRV9VTkxPQUQpCisgICAgICAgIHNhZmVVbmxv
YWQoY29kZSwgc2l6ZSk7CisjZW5kaWYKKyAgICAgICAgd3JpdGVKSVRDb2RlKGNvZGUsIHNpemUs
IHN5bWJvbE5hbWUpOworICAgIH0KKworICAgIHZvaWQgYW5ub3RhdGVKSVRDb2RlSW1wbCh2b2lk
KiwgVmVjdG9yPExpbmVJbmZvUmVjb3JkPiYsIGNvbnN0IFVTdHJpbmcmKTsKKworcHJpdmF0ZToK
KyAgICBKSVRQcm9maWxlQWdlbnQoKQorICAgIHsKKyAgICAgICAgdmlydHVhbE1lbW9yeVNlZ21l
bnRzLmNsZWFyKCk7CisgICAgICAgIHByb2ZpbGVBZ2VudCA9IG9wX29wZW5fYWdlbnQoKTsKKyAg
ICB9CisKKyAgICBpbmxpbmUgdm9pZCB3cml0ZUpJVENvZGUodm9pZCogY29kZSwgdW5zaWduZWQg
aW50IHNpemUsIGNvbnN0IGNoYXIqIHN5bWJvbE5hbWUpCisgICAgeworICAgICAgICBvcF93cml0
ZV9uYXRpdmVfY29kZShwcm9maWxlQWdlbnQsIHN5bWJvbE5hbWUgPyBzeW1ib2xOYW1lIDogIjxq
aXQ+IiwgcmVpbnRlcnByZXRfY2FzdDx1aW50NjRfdD4oY29kZSksIGNvZGUsIHNpemUpOworICAg
IH0KKworICAgIGlubGluZSB2b2lkIHVubG9hZEpJVENvZGUodm9pZCogdm1hKQorICAgIHsKKyAg
ICAgICAgb3BfdW5sb2FkX25hdGl2ZV9jb2RlKHByb2ZpbGVBZ2VudCwgcmVpbnRlcnByZXRfY2Fz
dDx1aW50NjRfdD4odm1hKSk7CisgICAgfQorCisjaWYgRU5BQkxFKE9QUk9GSUxFX0pJVF9BR0VO
VF9XSVRIX1NBRkVfVU5MT0FEKQorICAgIHZvaWQgc2FmZVVubG9hZCh2b2lkKiBjb2RlLCB1bnNp
Z25lZCBpbnQgc2l6ZSk7CisjZW5kaWYKKworICAgIG9wX2FnZW50X3QgcHJvZmlsZUFnZW50Owor
ICAgIFZpcnR1YWxNZW1vcnlTZWdtZW50VmVjdG9yIHZpcnR1YWxNZW1vcnlTZWdtZW50czsKK307
CisKKyNkZWZpbmUgcmVnaXN0ZXJKSVRDb2RlKGEsIGIsIGMpIEpJVFByb2ZpbGVBZ2VudDo6YWdl
bnQoKS5yZWdpc3RlckpJVENvZGVJbXBsKGEsIGIsIGMpCisKKyNlbHNlCisKKyNkZWZpbmUgcmVn
aXN0ZXJKSVRDb2RlKGEsIGIsIGMpCisKKyNlbmRpZiAvLyBFTkFCTEUoT1BST0ZJTEVfSklUX0FH
RU5UKQorCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVFBy
b3BlcnR5QWNjZXNzLmNwcCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5j
cHAKaW5kZXggMzM5OWYwMy4uNTQ2MWQ3OCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0
L0pJVFByb3BlcnR5QWNjZXNzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVy
dHlBY2Nlc3MuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAj
aW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSklUSW5saW5lTWV0aG9kcy5oIgor
I2luY2x1ZGUgIkpJVFByb2ZpbGVBZ2VudC5oIgogI2luY2x1ZGUgIkpJVFN0dWJDYWxsLmgiCiAj
aW5jbHVkZSAiSlNBcnJheS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKQEAgLTU4NCw2ICs1
ODUsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbihTdHJ1Y3R1
cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZQogCiAgICAgTGlua0J1ZmZlciBwYXRjaEJ1
ZmZlcih0aGlzLCBtX2NvZGVCbG9jay0+ZXhlY3V0YWJsZVBvb2woKSk7CiAKKyAgICByZWdpc3Rl
ckpJVENvZGUocGF0Y2hCdWZmZXIudm1hKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgIjxqaXQtcHV0
YnlpZC10cmFuc2l0aW9uPiIpOworCiAgICAgcGF0Y2hCdWZmZXIubGluayhmYWlsdXJlQ2FsbCwg
RnVuY3Rpb25QdHIoY3RpX29wX3B1dF9ieV9pZF9mYWlsKSk7CiAKICAgICBpZiAod2lsbE5lZWRT
dG9yYWdlUmVhbGxvYykgewpAQCAtNjc1LDYgKzY3OCw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29t
cGlsZVBhdGNoR2V0QXJyYXlMZW5ndGgoUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzKQog
CiAgICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcih0aGlzLCBtX2NvZGVCbG9jay0+ZXhlY3V0YWJs
ZVBvb2woKSk7CiAKKyAgICByZWdpc3RlckpJVENvZGUocGF0Y2hCdWZmZXIudm1hKCksIHBhdGNo
QnVmZmVyLnNpemUoKSwgIjxqaXQtZ2V0YXJyYXlsZW5ndGg+Iik7CisKICAgICAvLyBVc2UgdGhl
IHBhdGNoIGluZm9ybWF0aW9uIHRvIGxpbmsgdGhlIGZhaWx1cmUgY2FzZXMgYmFjayB0byB0aGUg
b3JpZ2luYWwgc2xvdyBjYXNlIHJvdXRpbmUuCiAgICAgQ29kZUxvY2F0aW9uTGFiZWwgc2xvd0Nh
c2VCZWdpbiA9IHN0dWJJbmZvLT5jYWxsUmV0dXJuTG9jYXRpb24ubGFiZWxBdE9mZnNldCgtcGF0
Y2hPZmZzZXRHZXRCeUlkU2xvd0Nhc2VDYWxsKTsKICAgICBwYXRjaEJ1ZmZlci5saW5rKGZhaWx1
cmVDYXNlczEsIHNsb3dDYXNlQmVnaW4pOwpAQCAtNzM4LDYgKzc0Myw4IEBAIHZvaWQgSklUOjpw
cml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byhTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0
cnVjdHVyZSogc3RyCiAgICAgSnVtcCBzdWNjZXNzID0ganVtcCgpOwogICAgIExpbmtCdWZmZXIg
cGF0Y2hCdWZmZXIodGhpcywgbV9jb2RlQmxvY2stPmV4ZWN1dGFibGVQb29sKCkpOwogCisgICAg
cmVnaXN0ZXJKSVRDb2RlKHBhdGNoQnVmZmVyLnZtYSgpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8
aml0LWdldGJ5aWQtcHJvdG8+Iik7CisKICAgICAvLyBVc2UgdGhlIHBhdGNoIGluZm9ybWF0aW9u
IHRvIGxpbmsgdGhlIGZhaWx1cmUgY2FzZXMgYmFjayB0byB0aGUgb3JpZ2luYWwgc2xvdyBjYXNl
IHJvdXRpbmUuCiAgICAgQ29kZUxvY2F0aW9uTGFiZWwgc2xvd0Nhc2VCZWdpbiA9IHN0dWJJbmZv
LT5jYWxsUmV0dXJuTG9jYXRpb24ubGFiZWxBdE9mZnNldCgtcGF0Y2hPZmZzZXRHZXRCeUlkU2xv
d0Nhc2VDYWxsKTsKICAgICBwYXRjaEJ1ZmZlci5saW5rKGZhaWx1cmVDYXNlczEsIHNsb3dDYXNl
QmVnaW4pOwpAQCAtNzk0LDYgKzgwMSw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5
SWRTZWxmTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBvbHltb3JwaGljCiAgICAg
SnVtcCBzdWNjZXNzID0ganVtcCgpOwogCiAgICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcih0aGlz
LCBtX2NvZGVCbG9jay0+ZXhlY3V0YWJsZVBvb2woKSk7CisgICAgcmVnaXN0ZXJKSVRDb2RlKHBh
dGNoQnVmZmVyLnZtYSgpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8aml0LWdldGJ5aWQtc2VsZmxp
c3Q+Iik7CiAKICAgICBpZiAobmVlZHNTdHViTGluaykgewogICAgICAgICBmb3IgKFZlY3RvcjxD
YWxsUmVjb3JkPjo6aXRlcmF0b3IgaXRlciA9IG1fY2FsbHMuYmVnaW4oKTsgaXRlciAhPSBtX2Nh
bGxzLmVuZCgpOyArK2l0ZXIpIHsKQEAgLTg2Niw2ICs4NzQsOCBAQCB2b2lkIEpJVDo6cHJpdmF0
ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUG9s
eW1vcnBoaQogCiAgICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcih0aGlzLCBtX2NvZGVCbG9jay0+
ZXhlY3V0YWJsZVBvb2woKSk7CiAKKyAgICByZWdpc3RlckpJVENvZGUocGF0Y2hCdWZmZXIudm1h
KCksIHBhdGNoQnVmZmVyLnNpemUoKSwgIjxqaXQtZ2V0YnlpZC1wcm90b2xpc3Q+Iik7CisKICAg
ICBpZiAobmVlZHNTdHViTGluaykgewogICAgICAgICBmb3IgKFZlY3RvcjxDYWxsUmVjb3JkPjo6
aXRlcmF0b3IgaXRlciA9IG1fY2FsbHMuYmVnaW4oKTsgaXRlciAhPSBtX2NhbGxzLmVuZCgpOyAr
K2l0ZXIpIHsKICAgICAgICAgICAgIGlmIChpdGVyLT50bykKQEAgLTk0Miw2ICs5NTIsNyBAQCB2
b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KFN0cnVjdHVyZVN0dWJJbmZv
KiBzdHViSW5mbywgUG9seW1vcnBoaQogICAgIEp1bXAgc3VjY2VzcyA9IGp1bXAoKTsKIAogICAg
IExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIodGhpcywgbV9jb2RlQmxvY2stPmV4ZWN1dGFibGVQb29s
KCkpOworICAgIHJlZ2lzdGVySklUQ29kZShwYXRjaEJ1ZmZlci52bWEoKSwgcGF0Y2hCdWZmZXIu
c2l6ZSgpLCAiPGppdC1nZXRieWlkLWNoYWlubGlzdD4iKTsKICAgICAKICAgICBpZiAobmVlZHNT
dHViTGluaykgewogICAgICAgICBmb3IgKFZlY3RvcjxDYWxsUmVjb3JkPjo6aXRlcmF0b3IgaXRl
ciA9IG1fY2FsbHMuYmVnaW4oKTsgaXRlciAhPSBtX2NhbGxzLmVuZCgpOyArK2l0ZXIpIHsKQEAg
LTEwMjAsNiArMTAzMSw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbihT
dHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RyCiAgICAgSnVtcCBzdWNj
ZXNzID0ganVtcCgpOwogCiAgICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcih0aGlzLCBtX2NvZGVC
bG9jay0+ZXhlY3V0YWJsZVBvb2woKSk7CisgICAgcmVnaXN0ZXJKSVRDb2RlKHBhdGNoQnVmZmVy
LnZtYSgpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8aml0LWdldGJ5aWQtY2hhaW4+Iik7CiAKICAg
ICBpZiAobmVlZHNTdHViTGluaykgewogICAgICAgICBmb3IgKFZlY3RvcjxDYWxsUmVjb3JkPjo6
aXRlcmF0b3IgaXRlciA9IG1fY2FsbHMuYmVnaW4oKTsgaXRlciAhPSBtX2NhbGxzLmVuZCgpOyAr
K2l0ZXIpIHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vz
czMyXzY0LmNwcCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNw
cAppbmRleCBlYzMzMDI2Li44NmFiZGZkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFBy
b3BlcnR5QWNjZXNzMzJfNjQuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJDb2Rl
QmxvY2suaCIKICNpbmNsdWRlICJKSVRJbmxpbmVNZXRob2RzLmgiCisjaW5jbHVkZSAiSklUUHJv
ZmlsZUFnZW50LmgiCiAjaW5jbHVkZSAiSklUU3R1YkNhbGwuaCIKICNpbmNsdWRlICJKU0FycmF5
LmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgpAQCAtNjAxLDcgKzYwMiw5IEBAIHZvaWQgSklU
Ojpwcml2YXRlQ29tcGlsZVB1dEJ5SWRUcmFuc2l0aW9uKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHVi
SW5mbywgU3RydWN0dXJlCiAgICAgQ2FsbCBmYWlsdXJlQ2FsbCA9IHRhaWxSZWN1cnNpdmVDYWxs
KCk7CiAgICAgCiAgICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcih0aGlzLCBtX2NvZGVCbG9jay0+
ZXhlY3V0YWJsZVBvb2woKSk7Ci0gICAgCisKKyAgICByZWdpc3RlckpJVENvZGUocGF0Y2hCdWZm
ZXIudm1hKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgIjxqaXQtcHV0YnlpZC10cmFuc2l0aW9uPiIp
OworCiAgICAgcGF0Y2hCdWZmZXIubGluayhmYWlsdXJlQ2FsbCwgRnVuY3Rpb25QdHIoY3RpX29w
X3B1dF9ieV9pZF9mYWlsKSk7CiAgICAgCiAgICAgaWYgKHdpbGxOZWVkU3RvcmFnZVJlYWxsb2Mp
IHsKQEAgLTY5Niw3ICs2OTksOSBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFy
cmF5TGVuZ3RoKFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykKICAgICBKdW1wIHN1Y2Nl
c3MgPSBqdW1wKCk7CiAgICAgCiAgICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcih0aGlzLCBtX2Nv
ZGVCbG9jay0+ZXhlY3V0YWJsZVBvb2woKSk7Ci0gICAgCisKKyAgICByZWdpc3RlckpJVENvZGUo
cGF0Y2hCdWZmZXIudm1hKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgIjxqaXQtZ2V0YXJyYXlsZW5n
dGg+Iik7CisKICAgICAvLyBVc2UgdGhlIHBhdGNoIGluZm9ybWF0aW9uIHRvIGxpbmsgdGhlIGZh
aWx1cmUgY2FzZXMgYmFjayB0byB0aGUgb3JpZ2luYWwgc2xvdyBjYXNlIHJvdXRpbmUuCiAgICAg
Q29kZUxvY2F0aW9uTGFiZWwgc2xvd0Nhc2VCZWdpbiA9IHN0dWJJbmZvLT5jYWxsUmV0dXJuTG9j
YXRpb24ubGFiZWxBdE9mZnNldCgtcGF0Y2hPZmZzZXRHZXRCeUlkU2xvd0Nhc2VDYWxsKTsKICAg
ICBwYXRjaEJ1ZmZlci5saW5rKGZhaWx1cmVDYXNlczEsIHNsb3dDYXNlQmVnaW4pOwpAQCAtNzYw
LDcgKzc2NSw5IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byhTdHJ1Y3R1
cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RyCiAgICAgSnVtcCBzdWNjZXNzID0g
anVtcCgpOwogICAgIAogICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIodGhpcywgbV9jb2RlQmxv
Y2stPmV4ZWN1dGFibGVQb29sKCkpOwotICAgIAorCisgICAgcmVnaXN0ZXJKSVRDb2RlKHBhdGNo
QnVmZmVyLnZtYSgpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8aml0LWdldGJ5aWQtcHJvdG8+Iik7
CisKICAgICAvLyBVc2UgdGhlIHBhdGNoIGluZm9ybWF0aW9uIHRvIGxpbmsgdGhlIGZhaWx1cmUg
Y2FzZXMgYmFjayB0byB0aGUgb3JpZ2luYWwgc2xvdyBjYXNlIHJvdXRpbmUuCiAgICAgQ29kZUxv
Y2F0aW9uTGFiZWwgc2xvd0Nhc2VCZWdpbiA9IHN0dWJJbmZvLT5jYWxsUmV0dXJuTG9jYXRpb24u
bGFiZWxBdE9mZnNldCgtcGF0Y2hPZmZzZXRHZXRCeUlkU2xvd0Nhc2VDYWxsKTsKICAgICBwYXRj
aEJ1ZmZlci5saW5rKGZhaWx1cmVDYXNlczEsIHNsb3dDYXNlQmVnaW4pOwpAQCAtODIxLDYgKzgy
OCw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRTZWxmTGlzdChTdHJ1Y3R1cmVT
dHViSW5mbyogc3R1YkluZm8sIFBvbHltb3JwaGljCiAgICAgSnVtcCBzdWNjZXNzID0ganVtcCgp
OwogICAgIAogICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIodGhpcywgbV9jb2RlQmxvY2stPmV4
ZWN1dGFibGVQb29sKCkpOworICAgIHJlZ2lzdGVySklUQ29kZShwYXRjaEJ1ZmZlci52bWEoKSwg
cGF0Y2hCdWZmZXIuc2l6ZSgpLCAiPGppdC1nZXRieWlkLXNlbGZsaXN0PiIpOworCiAgICAgaWYg
KG5lZWRzU3R1YkxpbmspIHsKICAgICAgICAgZm9yIChWZWN0b3I8Q2FsbFJlY29yZD46Oml0ZXJh
dG9yIGl0ZXIgPSBtX2NhbGxzLmJlZ2luKCk7IGl0ZXIgIT0gbV9jYWxscy5lbmQoKTsgKytpdGVy
KSB7CiAgICAgICAgICAgICBpZiAoaXRlci0+dG8pCkBAIC04OTEsNiArOTAwLDggQEAgdm9pZCBK
SVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1
YkluZm8sIFBvbHltb3JwaGkKICAgICBKdW1wIHN1Y2Nlc3MgPSBqdW1wKCk7CiAgICAgCiAgICAg
TGlua0J1ZmZlciBwYXRjaEJ1ZmZlcih0aGlzLCBtX2NvZGVCbG9jay0+ZXhlY3V0YWJsZVBvb2wo
KSk7CisgICAgcmVnaXN0ZXJKSVRDb2RlKHBhdGNoQnVmZmVyLnZtYSgpLCBwYXRjaEJ1ZmZlci5z
aXplKCksICI8aml0LWdldGJ5aWQtcHJvdG9saXN0PiIpOworCiAgICAgaWYgKG5lZWRzU3R1Ykxp
bmspIHsKICAgICAgICAgZm9yIChWZWN0b3I8Q2FsbFJlY29yZD46Oml0ZXJhdG9yIGl0ZXIgPSBt
X2NhbGxzLmJlZ2luKCk7IGl0ZXIgIT0gbV9jYWxscy5lbmQoKTsgKytpdGVyKSB7CiAgICAgICAg
ICAgICBpZiAoaXRlci0+dG8pCkBAIC05NjgsNiArOTc5LDggQEAgdm9pZCBKSVQ6OnByaXZhdGVD
b21waWxlR2V0QnlJZENoYWluTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBvbHlt
b3JwaGkKICAgICBKdW1wIHN1Y2Nlc3MgPSBqdW1wKCk7CiAgICAgCiAgICAgTGlua0J1ZmZlciBw
YXRjaEJ1ZmZlcih0aGlzLCBtX2NvZGVCbG9jay0+ZXhlY3V0YWJsZVBvb2woKSk7CisgICAgcmVn
aXN0ZXJKSVRDb2RlKHBhdGNoQnVmZmVyLnZtYSgpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8aml0
LWdldGJ5aWQtY2hhaW5saXN0PiIpOworCiAgICAgaWYgKG5lZWRzU3R1YkxpbmspIHsKICAgICAg
ICAgZm9yIChWZWN0b3I8Q2FsbFJlY29yZD46Oml0ZXJhdG9yIGl0ZXIgPSBtX2NhbGxzLmJlZ2lu
KCk7IGl0ZXIgIT0gbV9jYWxscy5lbmQoKTsgKytpdGVyKSB7CiAgICAgICAgICAgICBpZiAoaXRl
ci0+dG8pCkBAIC0xMDQ1LDYgKzEwNTgsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRC
eUlkQ2hhaW4oU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cgogICAg
IEp1bXAgc3VjY2VzcyA9IGp1bXAoKTsKICAgICAKICAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVy
KHRoaXMsIG1fY29kZUJsb2NrLT5leGVjdXRhYmxlUG9vbCgpKTsKKyAgICByZWdpc3RlckpJVENv
ZGUocGF0Y2hCdWZmZXIudm1hKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgIjxqaXQtZ2V0YnlpZC1j
aGFpbj4iKTsKKwogICAgIGlmIChuZWVkc1N0dWJMaW5rKSB7CiAgICAgICAgIGZvciAoVmVjdG9y
PENhbGxSZWNvcmQ+OjppdGVyYXRvciBpdGVyID0gbV9jYWxscy5iZWdpbigpOyBpdGVyICE9IG1f
Y2FsbHMuZW5kKCk7ICsraXRlcikgewogICAgICAgICAgICAgaWYgKGl0ZXItPnRvKQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmNwcCBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKaW5kZXggNzk5MDBkYy4uYmViNDZiNyAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmNwcAorKysgYi9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVk
ZSAiQnl0ZWNvZGVHZW5lcmF0b3IuaCIKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRl
ICJKSVQuaCIKKyNpbmNsdWRlICJKSVRQcm9maWxlQWdlbnQuaCIKICNpbmNsdWRlICJQYXJzZXIu
aCIKICNpbmNsdWRlICJTdHJpbmdCdWlsZGVyLmgiCiAjaW5jbHVkZSAiVmVjdG9yLmgiCkBAIC0x
NDIsNiArMTQzLDggQEAgdm9pZCBFdmFsRXhlY3V0YWJsZTo6Z2VuZXJhdGVKSVRDb2RlKEV4ZWNT
dGF0ZSogZXhlYywgU2NvcGVDaGFpbk5vZGUqIHNjb3BlQ2hhaW4KICAgICBDb2RlQmxvY2sqIGNv
ZGVCbG9jayA9ICZieXRlY29kZShleGVjLCBzY29wZUNoYWluTm9kZSk7CiAgICAgbV9qaXRDb2Rl
ID0gSklUOjpjb21waWxlKHNjb3BlQ2hhaW5Ob2RlLT5nbG9iYWxEYXRhLCBjb2RlQmxvY2spOwog
CisgICAgcmVnaXN0ZXJKSVRDb2RlKG1faml0Q29kZS5hZGRyZXNzRm9yQ2FsbCgpLmV4ZWN1dGFi
bGVBZGRyZXNzKCksIG1faml0Q29kZS5zaXplKCksICI8anMtZXZhbD4iKTsKKwogI2lmICFFTkFC
TEUoT1BDT0RFX1NBTVBMSU5HKQogICAgIGlmICghQnl0ZWNvZGVHZW5lcmF0b3I6OmR1bXBzR2Vu
ZXJhdGVkQ29kZSgpKQogICAgICAgICBjb2RlQmxvY2stPmRpc2NhcmRCeXRlY29kZSgpOwpAQCAt
MTUxLDcgKzE1NCwxNSBAQCB2b2lkIEV2YWxFeGVjdXRhYmxlOjpnZW5lcmF0ZUpJVENvZGUoRXhl
Y1N0YXRlKiBleGVjLCBTY29wZUNoYWluTm9kZSogc2NvcGVDaGFpbgogdm9pZCBQcm9ncmFtRXhl
Y3V0YWJsZTo6Z2VuZXJhdGVKSVRDb2RlKEV4ZWNTdGF0ZSogZXhlYywgU2NvcGVDaGFpbk5vZGUq
IHNjb3BlQ2hhaW5Ob2RlKQogewogICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gJmJ5dGVjb2Rl
KGV4ZWMsIHNjb3BlQ2hhaW5Ob2RlKTsKKworI2lmIEVOQUJMRShPUFJPRklMRV9KSVRfQUdFTlQp
CisgICAgVVN0cmluZyBzeW1ib2xOYW1lKCI8aml0LXByb2c+Iik7CisgICAgaWYgKG1fc291cmNl
LnByb3ZpZGVyKCkgJiYgIW1fc291cmNlLnByb3ZpZGVyKCktPnVybCgpLmlzRW1wdHkoKSkKKyAg
ICAgICAgc3ltYm9sTmFtZSA9IG1ha2VTdHJpbmcoc3ltYm9sTmFtZSwgIlsiLCBtX3NvdXJjZS5w
cm92aWRlcigpLT51cmwoKSwgIjoiLCBVU3RyaW5nOjpmcm9tKG1fZmlyc3RMaW5lKSwgIi0iLCBV
U3RyaW5nOjpmcm9tKG1fbGFzdExpbmUpLCAiXSIpOworICAgIG1faml0Q29kZSA9IEpJVDo6Y29t
cGlsZUFuZEFubm90YXRlKHNjb3BlQ2hhaW5Ob2RlLT5nbG9iYWxEYXRhLCBjb2RlQmxvY2ssIHN5
bWJvbE5hbWUpOworI2Vsc2UKICAgICBtX2ppdENvZGUgPSBKSVQ6OmNvbXBpbGUoc2NvcGVDaGFp
bk5vZGUtPmdsb2JhbERhdGEsIGNvZGVCbG9jayk7CisjZW5kaWYKIAogI2lmICFFTkFCTEUoT1BD
T0RFX1NBTVBMSU5HKQogICAgIGlmICghQnl0ZWNvZGVHZW5lcmF0b3I6OmR1bXBzR2VuZXJhdGVk
Q29kZSgpKQpAQCAtMTYyLDcgKzE3MywxNyBAQCB2b2lkIFByb2dyYW1FeGVjdXRhYmxlOjpnZW5l
cmF0ZUpJVENvZGUoRXhlY1N0YXRlKiBleGVjLCBTY29wZUNoYWluTm9kZSogc2NvcGVDaAogdm9p
ZCBGdW5jdGlvbkV4ZWN1dGFibGU6OmdlbmVyYXRlSklUQ29kZShFeGVjU3RhdGUqIGV4ZWMsIFNj
b3BlQ2hhaW5Ob2RlKiBzY29wZUNoYWluTm9kZSkKIHsKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9j
ayA9ICZieXRlY29kZShleGVjLCBzY29wZUNoYWluTm9kZSk7CisKKyNpZiBFTkFCTEUoT1BST0ZJ
TEVfSklUX0FHRU5UKQorICAgIFVTdHJpbmcgc3ltYm9sTmFtZSgiPGppdC1mdW5jPiIpOworICAg
IGlmICghbV9uYW1lLmlzRW1wdHkoKSAmJiAhbV9uYW1lLmlzTnVsbCgpKQorICAgICAgICBzeW1i
b2xOYW1lID0gbWFrZVN0cmluZygiPGppdC1mdW5jPjoiLCBtX25hbWUuYXNjaWkoKSk7CisgICAg
aWYgKG1fc291cmNlLnByb3ZpZGVyKCkgJiYgIW1fc291cmNlLnByb3ZpZGVyKCktPnVybCgpLmlz
RW1wdHkoKSkKKyAgICAgICAgc3ltYm9sTmFtZSA9IG1ha2VTdHJpbmcoc3ltYm9sTmFtZSwgIlsi
LCBtX3NvdXJjZS5wcm92aWRlcigpLT51cmwoKSwgIjoiLCBVU3RyaW5nOjpmcm9tKG1fZmlyc3RM
aW5lKSwgIi0iLCBVU3RyaW5nOjpmcm9tKG1fbGFzdExpbmUpLCAiXSIpOworICAgIG1faml0Q29k
ZSA9IEpJVDo6Y29tcGlsZUFuZEFubm90YXRlKHNjb3BlQ2hhaW5Ob2RlLT5nbG9iYWxEYXRhLCBj
b2RlQmxvY2ssIHN5bWJvbE5hbWUpOworI2Vsc2UKICAgICBtX2ppdENvZGUgPSBKSVQ6OmNvbXBp
bGUoc2NvcGVDaGFpbk5vZGUtPmdsb2JhbERhdGEsIGNvZGVCbG9jayk7CisjZW5kaWYKIAogI2lm
ICFFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKQogICAgIGlmICghQnl0ZWNvZGVHZW5lcmF0b3I6OmR1
bXBzR2VuZXJhdGVkQ29kZSgpKQpAQCAtMjAwLDYgKzIyMSwxNSBAQCBFeGNlcHRpb25JbmZvKiBG
dW5jdGlvbkV4ZWN1dGFibGU6OnJlcGFyc2VFeGNlcHRpb25JbmZvKEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YQogI2lmIEVOQUJMRShKSVQpCiAgICAgSklUQ29kZSBuZXdKSVRDb2RlID0gSklUOjpj
b21waWxlKGdsb2JhbERhdGEsIG5ld0NvZGVCbG9jay5nZXQoKSk7CiAgICAgQVNTRVJUKG5ld0pJ
VENvZGUuc2l6ZSgpID09IGdlbmVyYXRlZEpJVENvZGUoKS5zaXplKCkpOworCisjaWYgRU5BQkxF
KE9QUk9GSUxFX0pJVF9BR0VOVCkKKyAgICBVU3RyaW5nIHN5bWJvbE5hbWUoIjxqaXQtZnVuYy1y
ZXBhcnNlZD4iKTsKKyAgICBpZiAoIW1fbmFtZS5pc0VtcHR5KCkgJiYgIW1fbmFtZS5pc051bGwo
KSkKKyAgICAgICAgc3ltYm9sTmFtZSA9IG1ha2VTdHJpbmcoIjxqaXQtZnVuYy1yZXBhcnNlZD46
IiwgbV9uYW1lLmFzY2lpKCkpOworICAgIGlmIChtX3NvdXJjZS5wcm92aWRlcigpICYmICFtX3Nv
dXJjZS5wcm92aWRlcigpLT51cmwoKS5pc0VtcHR5KCkpCisgICAgICAgIHN5bWJvbE5hbWUgPSBt
YWtlU3RyaW5nKHN5bWJvbE5hbWUsICJbIiwgbV9zb3VyY2UucHJvdmlkZXIoKS0+dXJsKCksICI6
IiwgVVN0cmluZzo6ZnJvbShtX2ZpcnN0TGluZSksICItIiwgVVN0cmluZzo6ZnJvbShtX2xhc3RM
aW5lKSwgIl0iKTsKKyAgICByZWdpc3RlckpJVENvZGUobV9qaXRDb2RlLmFkZHJlc3NGb3JDYWxs
KCkuZXhlY3V0YWJsZUFkZHJlc3MoKSwgbV9qaXRDb2RlLnNpemUoKSwgc3ltYm9sTmFtZS5hc2Np
aSgpKTsKKyNlbmRpZgogI2VuZGlmCiAKICAgICBnbG9iYWxEYXRhLT5mdW5jdGlvbkNvZGVCbG9j
a0JlaW5nUmVwYXJzZWQgPSAwOwpAQCAtMjI1LDYgKzI1NSw4IEBAIEV4Y2VwdGlvbkluZm8qIEV2
YWxFeGVjdXRhYmxlOjpyZXBhcnNlRXhjZXB0aW9uSW5mbyhKU0dsb2JhbERhdGEqIGdsb2JhbERh
dGEsIFNjCiAjaWYgRU5BQkxFKEpJVCkKICAgICBKSVRDb2RlIG5ld0pJVENvZGUgPSBKSVQ6OmNv
bXBpbGUoZ2xvYmFsRGF0YSwgbmV3Q29kZUJsb2NrLmdldCgpKTsKICAgICBBU1NFUlQobmV3SklU
Q29kZS5zaXplKCkgPT0gZ2VuZXJhdGVkSklUQ29kZSgpLnNpemUoKSk7CisKKyAgICByZWdpc3Rl
ckpJVENvZGUobV9qaXRDb2RlLmFkZHJlc3NGb3JDYWxsKCkuZXhlY3V0YWJsZUFkZHJlc3MoKSwg
bV9qaXRDb2RlLnNpemUoKSwgIjxqaXQtZXZhbC1yZXBhcnNlZD4iKTsKICNlbmRpZgogCiAgICAg
cmV0dXJuIG5ld0NvZGVCbG9jay0+ZXh0cmFjdEV4Y2VwdGlvbkluZm8oKTsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhKSVQuY3BwIGIvSmF2YVNjcmlwdENvcmUveWFyci9S
ZWdleEpJVC5jcHAKaW5kZXggMjcxZDQ1My4uZGZlYjkwMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUveWFyci9SZWdleEpJVC5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEpJ
VC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJSZWdleEpJVC5oIgogCiAjaW5jbHVk
ZSAiQVNDSUlDVHlwZS5oIgorI2luY2x1ZGUgIkpJVFByb2ZpbGVBZ2VudC5oIgogI2luY2x1ZGUg
IkpTR2xvYmFsRGF0YS5oIgogI2luY2x1ZGUgIkxpbmtCdWZmZXIuaCIKICNpbmNsdWRlICJNYWNy
b0Fzc2VtYmxlci5oIgpAQCAtMTM3OCw2ICsxMzc5LDggQEAgcHVibGljOgogICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9iYWNrdHJhY2tSZWNvcmRzLnNpemUoKTsgKytpKQogICAg
ICAgICAgICAgcGF0Y2hCdWZmZXIucGF0Y2gobV9iYWNrdHJhY2tSZWNvcmRzW2ldLmRhdGFMYWJl
bCwgcGF0Y2hCdWZmZXIubG9jYXRpb25PZihtX2JhY2t0cmFja1JlY29yZHNbaV0uYmFja3RyYWNr
TG9jYXRpb24pKTsKIAorICAgICAgICByZWdpc3RlckpJVENvZGUocGF0Y2hCdWZmZXIudm1hKCks
IHBhdGNoQnVmZmVyLnNpemUoKSwgIjxqaXQteWFycj4iKTsKKwogICAgICAgICBqaXRPYmplY3Qu
c2V0KHBhdGNoQnVmZmVyLmZpbmFsaXplQ29kZSgpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL2Nv
bmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCA1YmMxNzgxLi45ZDJjYTgyIDEwMDY0NAot
LS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC02MTYsNiArNjE2LDMwIEBA
IGlmIHRlc3QgIiRlbmFibGVfaml0IiA9ICJ5ZXMiOyB0aGVuCiBmaQogQUNfTVNHX1JFU1VMVChb
JGVuYWJsZV9qaXRdKQogCisjIEJ1aWxkIEpJVCB3aXRoIE9Qcm9maWxlIGFnZW50IHN1cHBvcnQK
K09QQUdFTlRfTElCUz0KK0FDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBlbmFibGUgT1Byb2Zp
bGUgSklUIGFnZW50IHN1cHBvcnQuXSkKK0FDX0FSR19FTkFCTEUoW29wYWdlbnRdLAorICAgICAg
ICAgICAgICBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtb3BhZ2VudF0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFtFbmFibGUgT1Byb2ZpbGUgSklUIGFnZW50IHN1cHBvcnQgZGVmYXVs
dD1ub10pLAorICAgICAgICAgICAgICBbZW5hYmxlX29wYWdlbnQ9InllcyJdLFtdKQoraWYgdGVz
dCAiJGVuYWJsZV9vcGFnZW50IiA9ICJ5ZXMiOyB0aGVuCisgIEFDX0NIRUNLX0xJQihvcGFnZW50
LCBvcF9tYWpvcl92ZXJzaW9uLAorICAgIFtBQ19DSEVDS19IRUFERVIob3BhZ2VudC5oLAorICAg
ICAgb3BhZ2VudF9vaz15ZXMsCisgICAgICBvcGFnZW50X29rPW5vKV0sCisgICAgQUNfTVNHX0VS
Uk9SKFtPUHJvZmlsZSBvcGFnZW50IGxpYnJhcnkgbm90IGZvdW5kXSksIC1sYmZkKQorCisgIEFD
X01TR19SRVNVTFQoWyRvcGFnZW50X29rXSkKKworICBpZiB0ZXN0ICIkb3BhZ2VudF9vayIgPSAi
eWVzIjsgdGhlbgorICAgIEFDX0RFRklORShbRU5BQkxFX09QUk9GSUxFX0pJVF9BR0VOVF0sIFsx
XSwgW0RlZmluZSB0byBlbmFibGUgT1Byb2ZpbGUgSklUIGFnZW50IHN1cHBvcnRdKQorICBmaQor
ICBPUEFHRU5UX0xJQlM9Ii1sb3BhZ2VudCAtbGJmZCIKK2ZpCisKK0FDX1NVQlNUKFtPUEFHRU5U
X0xJQlNdKQorCiAjIEdPYmplY3QgSW50cm9zcGVjdGlvbgogQUNfTVNHX0NIRUNLSU5HKFt3aGV0
aGVyIHRvIGVuYWJsZSBHT2JqZWN0IGludHJvc3BlY3Rpb24gc3VwcG9ydF0pCiBBQ19BUkdfRU5B
QkxFKFtpbnRyb3NwZWN0aW9uXSwKLS0gCjEuNS40LjMKCg==
</data>
<flag name="review"
          id="34091"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>50919</attachid>
            <date>2010-03-17 10:19:04 -0700</date>
            <delta_ts>2010-03-17 10:19:04 -0700</delta_ts>
            <desc>sample report output</desc>
            <filename>opreport.txt</filename>
            <type>text/plain</type>
            <size>228722</size>
            <attacher name="Gabor Loki">loki</attacher>
            
              <data encoding="base64">c2FtcGxlcyAgJSAgICAgICAgaW1hZ2UgbmFtZSAgICAgICAgICAgICAgIHN5bWJvbCBuYW1lCjcy
ODEgICAgICA5Ljg2MzQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkhlYXA6OmFsbG9j
YXRlKHVuc2lnbmVkIGludCkKMjkzMiAgICAgIDMuOTcxOSAganNjLW9wcm9maWxlLWFubm90YXRl
ICAgIEpTQzo6anNOdW1iZXJDZWxsKEpTQzo6SlNHbG9iYWxEYXRhKiwgZG91YmxlKQoyNTIxICAg
ICAgMy40MTUyICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSklUU3R1YlRodW5rZWRfb3BfYWRk
CjIwMjIgICAgICAyLjczOTIgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKSVRTdHViVGh1bmtl
ZF9vcF9tdWwKMTcxMiAgICAgIDIuMzE5MiAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6
SGVhcDo6bWFya0NvbnNlcnZhdGl2ZWx5KEpTQzo6TWFya1N0YWNrJiwgdm9pZCosIHZvaWQqKQox
MDMwICAgICAgMS4zOTUzICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpIZWFwOjpzd2Vl
cCgpCjEwMTEgICAgICAxLjM2OTYgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBqc2N5eXBhcnNl
KHZvaWQqKQo5NzYgICAgICAgMS4zMjIyICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpK
U1ZhbHVlOjpnZXQoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OklkZW50aWZpZXIgY29uc3QmLCBKU0M6
OlByb3BlcnR5U2xvdCYpIGNvbnN0Cjk2NSAgICAgICAxLjMwNzMgIGpzYy1vcHJvZmlsZS1hbm5v
dGF0ZSAgICBKU0M6OkpTU3RyaW5nOjp+SlNTdHJpbmcoKQo5MjMgICAgICAgMS4yNTA0ICBqc2Mt
b3Byb2ZpbGUtYW5ub3RhdGUgICAgV1RGOjpmYXN0TWFsbG9jKHVuc2lnbmVkIGludCkKODM5ICAg
ICAgIDEuMTM2NiAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6c3RyaW5nUHJvdG9GdW5j
UmVwbGFjZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUsIEpT
Qzo6QXJnTGlzdCBjb25zdCYpCjc1NiAgICAgICAxLjAyNDEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0
ZSAgICBKSVRTdHViVGh1bmtlZF9vcF9zdWIKNzM3ICAgICAgIDAuOTk4NCAganNjLW9wcm9maWxl
LWFubm90YXRlICAgIEpJVFN0dWJUaHVua2VkX29wX2Rpdgo3MzIgICAgICAgMC45OTE2ICBqc2Mt
b3Byb2ZpbGUtYW5ub3RhdGUgICAgV1RGOjpmYXN0RnJlZSh2b2lkKikKNjQ2ICAgICAgIDAuODc1
MSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpJVFN0dWJUaHVua2VkX29wX2VxCjU2MCAgICAg
ICAwLjc1ODYgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkxleGVyOjpsZXgodm9pZCos
IHZvaWQqKQo1MjQgICAgICAgMC43MDk5ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgY3RpX29w
X2FkZAo1MTkgICAgICAgMC43MDMxICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgY3RpX29wX211
bAo1MTcgICAgICAgMC43MDA0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgV1RGOjp0cnlGYXN0
TWFsbG9jKHVuc2lnbmVkIGludCkKNDk5ICAgICAgIDAuNjc2MCAganNjLW9wcm9maWxlLWFubm90
YXRlICAgIEpTQzo6anNOdW1iZXJDZWxsKEpTQzo6RXhlY1N0YXRlKiwgZG91YmxlKQo0OTMgICAg
ICAgMC42Njc5ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSklUU3R1YlRodW5rZWRfb3Bfc3Ry
Y2F0CjQ4NyAgICAgICAwLjY1OTcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKSVRTdHViVGh1
bmtlZF9vcF9iaXRhbmQKNDg3ICAgICAgIDAuNjU5NyAganNjLW9wcm9maWxlLWFubm90YXRlICAg
IG1hdGNoKHVuc2lnbmVkIHNob3J0IGNvbnN0KiwgdW5zaWduZWQgY2hhciBjb25zdCosIGludCwg
TWF0Y2hEYXRhJikKNDczICAgICAgIDAuNjQwOCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpT
Qzo6SlNWYWx1ZTo6dG9TdHJpbmcoSlNDOjpFeGVjU3RhdGUqKSBjb25zdAo0NTIgICAgICAgMC42
MTIzICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKU1ZhbHVlOjpnZXROdW1iZXIoZG91
YmxlJikgY29uc3QKNDUyICAgICAgIDAuNjEyMyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpT
Qzo6TGV4ZXI6OnNldENvZGUoSlNDOjpTb3VyY2VDb2RlIGNvbnN0JiwgSlNDOjpQYXJzZXJBcmVu
YSYpCjQwOSAgICAgICAwLjU1NDEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpTQWN0
aXZhdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpJZGVudGlm
aWVyIGNvbnN0JiwgSlNDOjpQcm9wZXJ0eVNsb3QmKQo0MDggICAgICAgMC41NTI3ICBqc2Mtb3By
b2ZpbGUtYW5ub3RhdGUgICAgSklUU3R1YlRodW5rZWRfb3BfcnNoaWZ0CjM5NyAgICAgICAwLjUz
NzggIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICB2b2lkIFdURjo6ZGVyZWZJZk5vdE51bGw8SlND
OjpVU3RyaW5nSW1wbD4oSlNDOjpVU3RyaW5nSW1wbCopCjM5MCAgICAgICAwLjUyODMgIGpzYy1v
cHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpTU3RyaW5nOjpyZXNvbHZlUm9wZShKU0M6OkV4ZWNT
dGF0ZSopIGNvbnN0CjM3MSAgICAgICAwLjUwMjYgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBK
U0M6OnRvSW50MzJTbG93Q2FzZShkb3VibGUsIGJvb2wmKQozNTggICAgICAgMC40ODUwICBqc2Mt
b3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpqc1NwbGljZVN1YnN0cmluZ3NXaXRoU2VwYXJhdG9y
cyhKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNTdHJpbmcqLCBKU0M6OlVTdHJpbmcgY29uc3QmLCBK
U0M6OlN0cmluZ1JhbmdlIGNvbnN0KiwgaW50LCBKU0M6OlVTdHJpbmcgY29uc3QqLCBpbnQpCjM0
OCAgICAgICAwLjQ3MTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBXVEY6Okhhc2hTZXQ8SlND
OjpVU3RyaW5nSW1wbCosIFdURjo6U3RySGFzaDxKU0M6OlVTdHJpbmdJbXBsKj4sIFdURjo6SGFz
aFRyYWl0czxKU0M6OlVTdHJpbmdJbXBsKj4gPjo6YWRkKEpTQzo6VVN0cmluZ0ltcGwqIGNvbnN0
JikKMzM1ICAgICAgIDAuNDUzOCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6UmVnRXhw
OjptYXRjaChKU0M6OlVTdHJpbmcgY29uc3QmLCBpbnQsIFdURjo6VmVjdG9yPGludCwgMzJ1Piop
CjMxNyAgICAgICAwLjQyOTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpTTnVtYmVy
Q2VsbDo6fkpTTnVtYmVyQ2VsbCgpCjMxMiAgICAgICAwLjQyMjcgIGpzYy1vcHJvZmlsZS1hbm5v
dGF0ZSAgICBKSVRTdHViVGh1bmtlZF9vcF9uZWdhdGUKMzAwICAgICAgIDAuNDA2NCAganNjLW9w
cm9maWxlLWFubm90YXRlICAgIEpTQzo6SlNPYmplY3Q6OnB1dChKU0M6OkV4ZWNTdGF0ZSosIEpT
Qzo6SWRlbnRpZmllciBjb25zdCYsIEpTQzo6SlNWYWx1ZSwgSlNDOjpQdXRQcm9wZXJ0eVNsb3Qm
KQoyOTggICAgICAgMC40MDM3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgV1RGOjpkdG9hKGNo
YXIqLCBkb3VibGUsIGludCwgaW50KiwgaW50KiwgY2hhcioqKQoyOTIgICAgICAgMC4zOTU2ICBq
c2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjplcXVhbChKU0M6OlVTdHJpbmdJbXBsIGNvbnN0
KiwgSlNDOjpVU3RyaW5nSW1wbCBjb25zdCopCjI3MSAgICAgICAwLjM2NzEgIGpzYy1vcHJvZmls
ZS1hbm5vdGF0ZSAgICBKU0M6OkludGVycHJldGVyOjpleGVjdXRlKEpTQzo6Q2FsbEZyYW1lQ2xv
c3VyZSYsIEpTQzo6SlNWYWx1ZSopCjI1OSAgICAgICAwLjM1MDkgIGpzYy1vcHJvZmlsZS1hbm5v
dGF0ZSAgICBKU0M6OkpTU3RyaW5nOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDOjpFeGVjU3RhdGUq
LCBKU0M6OklkZW50aWZpZXIgY29uc3QmLCBKU0M6OlByb3BlcnR5U2xvdCYpCjI1NCAgICAgICAw
LjM0NDEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKSVRTdHViVGh1bmtlZF9vcF9yZXNvbHZl
X3NraXAKMjQ3ICAgICAgIDAuMzM0NiAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SlNH
bG9iYWxPYmplY3Q6OmdldE93blByb3BlcnR5U2xvdChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SWRl
bnRpZmllciBjb25zdCYsIEpTQzo6UHJvcGVydHlTbG90JikKMjQ1ICAgICAgIDAuMzMxOSAganNj
LW9wcm9maWxlLWFubm90YXRlICAgIHN0ZDo6cGFpcjxXVEY6Okhhc2hUYWJsZUl0ZXJhdG9yQWRh
cHRlcjxXVEY6Okhhc2hUYWJsZTxKU0M6OlVTdHJpbmdJbXBsKiwgSlNDOjpVU3RyaW5nSW1wbCos
IFdURjo6SWRlbnRpdHlFeHRyYWN0b3I8SlNDOjpVU3RyaW5nSW1wbCo+LCBXVEY6OlN0ckhhc2g8
SlNDOjpVU3RyaW5nSW1wbCo+LCBXVEY6Okhhc2hUcmFpdHM8SlNDOjpVU3RyaW5nSW1wbCo+LCBX
VEY6Okhhc2hUcmFpdHM8SlNDOjpVU3RyaW5nSW1wbCo+ID4sIEpTQzo6VVN0cmluZ0ltcGwqPiwg
Ym9vbD4gV1RGOjpIYXNoU2V0PEpTQzo6VVN0cmluZ0ltcGwqLCBXVEY6OlN0ckhhc2g8SlNDOjpV
U3RyaW5nSW1wbCo+LCBXVEY6Okhhc2hUcmFpdHM8SlNDOjpVU3RyaW5nSW1wbCo+ID46OmFkZDxK
U0M6OlVDaGFyQnVmZmVyLCBKU0M6OlVDaGFyQnVmZmVyVHJhbnNsYXRvcj4oSlNDOjpVQ2hhckJ1
ZmZlciBjb25zdCYpCjI0MyAgICAgICAwLjMyOTIgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBK
U0M6OlVSb3BlSW1wbDo6ZGVyZWZGaWJlcnNOb25SZWN1cnNpdmUoV1RGOjpWZWN0b3I8SlNDOjpV
Um9wZUltcGwqLCAzMnU+JikKMjM4ICAgICAgIDAuMzIyNCAganNjLW9wcm9maWxlLWFubm90YXRl
ICAgIEpTQzo6anNTdWJzdHJpbmcoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OlVTdHJpbmcgY29uc3Qm
LCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludCkKMjI5ICAgICAgIDAuMzEwMiAganNjLW9wcm9m
aWxlLWFubm90YXRlICAgIEpTQzo6SlNBcnJheTo6fkpTQXJyYXkoKQoyMjcgICAgICAgMC4zMDc1
ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgY3RpX29wX2RpdgoyMTggICAgICAgMC4yOTUzICBq
c2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgV1RGOjpWZWN0b3I8SlNDOjpVU3RyaW5nLCAxNnU+Ojpl
eHBhbmRDYXBhY2l0eSh1bnNpZ25lZCBpbnQpCjIxNyAgICAgICAwLjI5NDAgIGpzYy1vcHJvZmls
ZS1hbm5vdGF0ZSAgICBKSVRTdHViVGh1bmtlZF9vcF9qbGVzcwoyMTMgICAgICAgMC4yODg1ICBq
c2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgV1RGOjpUQ01hbGxvY19DZW50cmFsX0ZyZWVMaXN0OjpS
ZW1vdmVSYW5nZSh2b2lkKiosIHZvaWQqKiwgaW50KikKMjA5ICAgICAgIDAuMjgzMSAganNjLW9w
cm9maWxlLWFubm90YXRlICAgIEpTQzo6bWF0aFByb3RvRnVuY1BvdyhKU0M6OkV4ZWNTdGF0ZSos
IEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUsIEpTQzo6QXJnTGlzdCBjb25zdCYpCjIwOSAg
ICAgICAwLjI4MzEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBXVEY6OlZlY3RvcjxKU0M6OlN0
cmluZ1JhbmdlLCAxNnU+OjpleHBhbmRDYXBhY2l0eSh1bnNpZ25lZCBpbnQpCjIwNiAgICAgICAw
LjI3OTEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpTT2JqZWN0OjpwdXREaXJlY3RJ
bnRlcm5hbChKU0M6OklkZW50aWZpZXIgY29uc3QmLCBKU0M6OkpTVmFsdWUsIHVuc2lnbmVkIGlu
dCwgYm9vbCwgSlNDOjpQdXRQcm9wZXJ0eVNsb3QmLCBKU0M6OkpTQ2VsbCopCjE5NSAgICAgICAw
LjI2NDIgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OlN0cnVjdHVyZTo6YWRkUHJvcGVy
dHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZShKU0M6OlN0cnVjdHVyZSosIEpTQzo6SWRl
bnRpZmllciBjb25zdCYsIHVuc2lnbmVkIGludCwgSlNDOjpKU0NlbGwqLCB1bnNpZ25lZCBpbnQm
KQoxOTQgICAgICAgMC4yNjI4ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKU09iamVj
dDo6ZGVmYXVsdFZhbHVlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpQcmVmZXJyZWRQcmltaXRpdmVU
eXBlKSBjb25zdAoxOTMgICAgICAgMC4yNjE1ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlND
OjpDb2RlQmxvY2s6Om1hcmtBZ2dyZWdhdGUoSlNDOjpNYXJrU3RhY2smKQoxOTMgICAgICAgMC4y
NjE1ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjptYXRoUHJvdG9GdW5jU2luKEpTQzo6
RXhlY1N0YXRlKiwgSlNDOjpKU09iamVjdCosIEpTQzo6SlNWYWx1ZSwgSlNDOjpBcmdMaXN0IGNv
bnN0JikKMTg4ICAgICAgIDAuMjU0NyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6VVN0
cmluZ0ltcGw6OmNyZWF0ZShjaGFyIGNvbnN0KikKMTg4ICAgICAgIDAuMjU0NyAganNjLW9wcm9m
aWxlLWFubm90YXRlICAgIEpTQzo6c3RyaW5nUHJvdG9GdW5jQ2hhckNvZGVBdChKU0M6OkV4ZWNT
dGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUsIEpTQzo6QXJnTGlzdCBjb25zdCYp
CjE4NyAgICAgICAwLjI1MzMgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBjdGlfb3Bfc3ViCjE3
OCAgICAgICAwLjI0MTEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKSVRTdHViVGh1bmtlZF9v
cF9nZXRfYnlfdmFsCjE2NSAgICAgICAwLjIyMzUgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBK
U0M6OmFycmF5UHJvdG9GdW5jSm9pbihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBK
U0M6OkpTVmFsdWUsIEpTQzo6QXJnTGlzdCBjb25zdCYpCjE2MiAgICAgICAwLjIxOTUgIGpzYy1v
cHJvZmlsZS1hbm5vdGF0ZSAgICBKSVRTdHViVGh1bmtlZF9vcF9iaXRvcgoxNTMgICAgICAgMC4y
MDczICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpNYXJrU3RhY2s6Om1hcmtDaGlsZHJl
bihKU0M6OkpTQ2VsbCopCjE0NiAgICAgICAwLjE5NzggIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAg
ICBKSVRTdHViVGh1bmtlZF9vcF9nZXRfYnlfaWRfc3RyaW5nX2ZhaWwKMTQ1ICAgICAgIDAuMTk2
NCAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAu
OS9hY2Nlc3MtbmJvZHkuanM6OTUtMTI2XQoxNDEgICAgICAgMC4xOTEwICA4NTgxLmpvICAgICAg
ICAgICAgICAgICAgPGppdC1mdW5jPjpmYW5ua3VjaFt0ZXN0cy9zdW5zcGlkZXItMC45L2FjY2Vz
cy1mYW5ua3VjaC5qczo1LTYyXQoxNDEgICAgICAgMC4xOTEwICA4NTg1LmpvICAgICAgICAgICAg
ICAgICAgPGppdC1mdW5jPjpmYW5ua3VjaFt0ZXN0cy9zdW5zcGlkZXItMC45L2FjY2Vzcy1mYW5u
a3VjaC5qczo1LTYyXQoxNDAgICAgICAgMC4xODk3ICA4NDk1LmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPjpmYW5ua3VjaFt0ZXN0cy9zdW5zcGlkZXItMC45L2FjY2Vzcy1mYW5ua3VjaC5q
czo1LTYyXQoxNDAgICAgICAgMC4xODk3ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L2FjY2Vzcy1uYm9keS5qczo5NS0xMjZdCjE0MCAgICAg
ICAwLjE4OTcgIDg1ODkuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmZhbm5rdWNoW3Rl
c3RzL3N1bnNwaWRlci0wLjkvYWNjZXNzLWZhbm5rdWNoLmpzOjUtNjJdCjEzOSAgICAgICAwLjE4
ODMgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmZhbm5rdWNoW3Rlc3RzL3N1
bnNwaWRlci0wLjkvYWNjZXNzLWZhbm5rdWNoLmpzOjUtNjJdCjEzOSAgICAgICAwLjE4ODMgIDg2
MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmZhbm5rdWNoW3Rlc3RzL3N1bnNwaWRl
ci0wLjkvYWNjZXNzLWZhbm5rdWNoLmpzOjUtNjJdCjEzOCAgICAgICAwLjE4NjkgIDg1NjIuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmZhbm5rdWNoW3Rlc3RzL3N1bnNwaWRlci0wLjkv
YWNjZXNzLWZhbm5rdWNoLmpzOjUtNjJdCjEzOCAgICAgICAwLjE4NjkgIDg1Nzcuam8gICAgICAg
ICAgICAgICAgICA8aml0LWZ1bmM+OmZhbm5rdWNoW3Rlc3RzL3N1bnNwaWRlci0wLjkvYWNjZXNz
LWZhbm5rdWNoLmpzOjUtNjJdCjEzOCAgICAgICAwLjE4NjkgIDg1OTMuam8gICAgICAgICAgICAg
ICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvYWNjZXNzLW5ib2R5LmpzOjk1LTEy
Nl0KMTM4ICAgICAgIDAuMTg2OSAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46
ZmFubmt1Y2hbdGVzdHMvc3Vuc3BpZGVyLTAuOS9hY2Nlc3MtZmFubmt1Y2guanM6NS02Ml0KMTM3
ICAgICAgIDAuMTg1NiAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46ZmFubmt1
Y2hbdGVzdHMvc3Vuc3BpZGVyLTAuOS9hY2Nlc3MtZmFubmt1Y2guanM6NS02Ml0KMTM3ICAgICAg
IDAuMTg1NiAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpJVFN0dWJUaHVua2VkX29wX3Jlc29s
dmVfd2l0aF9iYXNlCjEzNyAgICAgICAwLjE4NTYgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBK
U0M6OlN0cmluZ09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90KEpTQzo6RXhlY1N0YXRlKiwgSlND
OjpJZGVudGlmaWVyIGNvbnN0JiwgSlNDOjpQcm9wZXJ0eVNsb3QmKQoxMzYgICAgICAgMC4xODQy
ICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpmYW5ua3VjaFt0ZXN0cy9zdW5z
cGlkZXItMC45L2FjY2Vzcy1mYW5ua3VjaC5qczo1LTYyXQoxMzQgICAgICAgMC4xODE1ICBqc2Mt
b3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKU0NlbGw6On5KU0NlbGwoKQoxMzMgICAgICAgMC4x
ODAyICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC10cmFtcG9saW5lcz4KMTMzICAgICAg
IDAuMTgwMiAgODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS9hY2Nlc3MtbmJvZHkuanM6OTUtMTI2XQoxMzEgICAgICAgMC4xNzc1ICA4NTgxLmpv
ICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpjb3JkaWNzaW5jb3NbdGVzdHMvc3Vuc3BpZGVy
LTAuOS9tYXRoLWNvcmRpYy5qczo1My03OV0KMTMxICAgICAgIDAuMTc3NSAganNjLW9wcm9maWxl
LWFubm90YXRlICAgIGN0aV9vcF9uZWdhdGUKMTMwICAgICAgIDAuMTc2MSAganNjLW9wcm9maWxl
LWFubm90YXRlICAgIEpTQzo6SlNTdHJpbmc6OmdldEluZGV4KEpTQzo6RXhlY1N0YXRlKiwgdW5z
aWduZWQgaW50KQoxMjkgICAgICAgMC4xNzQ4ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGpp
dC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L2FjY2Vzcy1uYm9keS5qczo5NS0xMjZdCjEyOSAg
ICAgICAwLjE3NDggIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1
bnNwaWRlci0wLjkvYWNjZXNzLW5ib2R5LmpzOjk1LTEyNl0KMTI5ICAgICAgIDAuMTc0OCAganNj
LW9wcm9maWxlLWFubm90YXRlICAgIEpJVFN0dWJUaHVua2VkX29wX2dldF9ieV92YWxfc3RyaW5n
CjEyOCAgICAgICAwLjE3MzQgIDg1OTcuam8gICAgICAgICAgICAgICAgICA8aml0LXRyYW1wb2xp
bmVzPgoxMjggICAgICAgMC4xNzM0ICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGppdC10cmFt
cG9saW5lcz4KMTI4ICAgICAgIDAuMTczNCAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9hY2Nlc3MtbmJvZHkuanM6OTUtMTI2XQoxMjcgICAg
ICAgMC4xNzIwICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKU0FycmF5OjpKU0FycmF5
KFdURjo6Tm9uTnVsbFBhc3NSZWZQdHI8SlNDOjpTdHJ1Y3R1cmU+LCBKU0M6OkFyZ0xpc3QgY29u
c3QmKQoxMjcgICAgICAgMC4xNzIwICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgdm9pZCogV1RG
OjpmYXN0UmVhbGxvYzxmYWxzZT4odm9pZCosIHVuc2lnbmVkIGludCkKMTI2ICAgICAgIDAuMTcw
NyAgODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtdHJhbXBvbGluZXM+CjEyNCAgICAgICAw
LjE2ODAgIDg1OTcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRl
ci0wLjkvYWNjZXNzLW5ib2R5LmpzOjk1LTEyNl0KMTIzICAgICAgIDAuMTY2NiAgODU4OS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9hY2Nlc3MtbmJv
ZHkuanM6OTUtMTI2XQoxMjEgICAgICAgMC4xNjM5ICA4NjA1LmpvICAgICAgICAgICAgICAgICAg
PGppdC10cmFtcG9saW5lcz4KMTIxICAgICAgIDAuMTYzOSAganNjLW9wcm9maWxlLWFubm90YXRl
ICAgIEpTQzo6VVN0cmluZzo6dG9Eb3VibGUoYm9vbCwgYm9vbCkgY29uc3QKMTIwICAgICAgIDAu
MTYyNiAgODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVy
LTAuOS9hY2Nlc3MtbmJvZHkuanM6OTUtMTI2XQoxMTggICAgICAgMC4xNTk5ICA4NTkzLmpvICAg
ICAgICAgICAgICAgICAgPGppdC10cmFtcG9saW5lcz4KMTE4ICAgICAgIDAuMTU5OSAganNjLW9w
cm9maWxlLWFubm90YXRlICAgIEpTQzo6SlNBcnJheTo6cHV0U2xvd0Nhc2UoSlNDOjpFeGVjU3Rh
dGUqLCB1bnNpZ25lZCBpbnQsIEpTQzo6SlNWYWx1ZSkKMTE4ICAgICAgIDAuMTU5OSAganNjLW9w
cm9maWxlLWFubm90YXRlICAgIEpTQzo6Y29uc3RydWN0V2l0aFN0cmluZ0NvbnN0cnVjdG9yKEpT
Qzo6RXhlY1N0YXRlKiwgSlNDOjpKU09iamVjdCosIEpTQzo6QXJnTGlzdCBjb25zdCYpCjExNyAg
ICAgICAwLjE1ODUgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LXRyYW1wb2xpbmVzPgox
MTcgICAgICAgMC4xNTg1ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpwYXJ0
aWFsW3Rlc3RzL3N1bnNwaWRlci0wLjkvbWF0aC1wYXJ0aWFsLXN1bXMuanM6NS0yOF0KMTE2ICAg
ICAgIDAuMTU3MSAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vu
c3BpZGVyLTAuOS9hY2Nlc3MtbmJvZHkuanM6OTUtMTI2XQoxMTQgICAgICAgMC4xNTQ0ICA4NTg5
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpjb3JkaWNzaW5jb3NbdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS9tYXRoLWNvcmRpYy5qczo1My03OV0KMTE0ICAgICAgIDAuMTU0NCAgODYwMS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Y29yZGljc2luY29zW3Rlc3RzL3N1bnNwaWRlci0w
LjkvbWF0aC1jb3JkaWMuanM6NTMtNzldCjExMyAgICAgICAwLjE1MzEgIDg1ODkuam8gICAgICAg
ICAgICAgICAgICA8aml0LXRyYW1wb2xpbmVzPgoxMTIgICAgICAgMC4xNTE3ICA4NTk3LmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPjpjb3JkaWNzaW5jb3NbdGVzdHMvc3Vuc3BpZGVyLTAu
OS9tYXRoLWNvcmRpYy5qczo1My03OV0KMTExICAgICAgIDAuMTUwNCAgODU1NS5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz46cGFydGlhbFt0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtcGFy
dGlhbC1zdW1zLmpzOjUtMjhdCjExMSAgICAgICAwLjE1MDQgIDg1ODkuam8gICAgICAgICAgICAg
ICAgICA8aml0LWZ1bmM+OnBhcnRpYWxbdGVzdHMvc3Vuc3BpZGVyLTAuOS9tYXRoLXBhcnRpYWwt
c3Vtcy5qczo1LTI4XQoxMDkgICAgICAgMC4xNDc3ICA4NTc3LmpvICAgICAgICAgICAgICAgICAg
PGppdC10cmFtcG9saW5lcz4KMTA5ICAgICAgIDAuMTQ3NyAgODU4MS5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz46cGFydGlhbFt0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtcGFydGlhbC1z
dW1zLmpzOjUtMjhdCjEwOSAgICAgICAwLjE0NzcgIDg1OTcuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+OnBhcnRpYWxbdGVzdHMvc3Vuc3BpZGVyLTAuOS9tYXRoLXBhcnRpYWwtc3Vtcy5q
czo1LTI4XQoxMDggICAgICAgMC4xNDYzICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPjpjb3JkaWNzaW5jb3NbdGVzdHMvc3Vuc3BpZGVyLTAuOS9tYXRoLWNvcmRpYy5qczo1My03
OV0KMTA4ICAgICAgIDAuMTQ2MyAgODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46
cGFydGlhbFt0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtcGFydGlhbC1zdW1zLmpzOjUtMjhdCjEw
OCAgICAgICAwLjE0NjMgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKSVRTdHViVGh1bmtlZF9v
cF9sc2hpZnQKMTA3ICAgICAgIDAuMTQ1MCAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
dHJhbXBvbGluZXM+CjEwNyAgICAgICAwLjE0NTAgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+OnBhcnRpYWxbdGVzdHMvc3Vuc3BpZGVyLTAuOS9tYXRoLXBhcnRpYWwtc3Vtcy5q
czo1LTI4XQoxMDcgICAgICAgMC4xNDUwICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSklUU3R1
YlRodW5rZWRfb3BfZ2V0X3BuYW1lcwoxMDIgICAgICAgMC4xMzgyICA4NjA1LmpvICAgICAgICAg
ICAgICAgICAgPGppdC1mdW5jPjpjb3JkaWNzaW5jb3NbdGVzdHMvc3Vuc3BpZGVyLTAuOS9tYXRo
LWNvcmRpYy5qczo1My03OV0KMTAyICAgICAgIDAuMTM4MiAgODYwNS5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz46bW9ycGhbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1tb3JwaC5qczozMC00
MF0KMTAxICAgICAgIDAuMTM2OCAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtdHJhbXBv
bGluZXM+CjEwMSAgICAgICAwLjEzNjggIDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1
bmM+OmNvcmRpY3NpbmNvc1t0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtY29yZGljLmpzOjUzLTc5
XQoxMDEgICAgICAgMC4xMzY4ICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpj
b3JkaWNzaW5jb3NbdGVzdHMvc3Vuc3BpZGVyLTAuOS9tYXRoLWNvcmRpYy5qczo1My03OV0KMTAx
ICAgICAgIDAuMTM2OCAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46bW9ycGhb
dGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1tb3JwaC5qczozMC00MF0KMTAwICAgICAgIDAuMTM1NSAg
ODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46bW9ycGhbdGVzdHMvc3Vuc3BpZGVy
LTAuOS8zZC1tb3JwaC5qczozMC00MF0KOTkgICAgICAgIDAuMTM0MSAgODU5Ny5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz46bW9ycGhbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1tb3JwaC5q
czozMC00MF0KOTkgICAgICAgIDAuMTM0MSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpJVFN0
dWJUaHVua2VkX29wX2p0cnVlCjk5ICAgICAgICAwLjEzNDEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0
ZSAgICBKU0M6OklkZW50aWZpZXI6OmFkZFNsb3dDYXNlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpV
U3RyaW5nSW1wbCopCjk4ICAgICAgICAwLjEzMjggIDg1NjIuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+OnBhcnRpYWxbdGVzdHMvc3Vuc3BpZGVyLTAuOS9tYXRoLXBhcnRpYWwtc3Vtcy5q
czo1LTI4XQo5OCAgICAgICAgMC4xMzI4ICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPjpjb3JkaWNzaW5jb3NbdGVzdHMvc3Vuc3BpZGVyLTAuOS9tYXRoLWNvcmRpYy5qczo1My03
OV0KOTggICAgICAgIDAuMTMyOCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6b3BlcmF0
b3I8KEpTQzo6VVN0cmluZyBjb25zdCYsIEpTQzo6VVN0cmluZyBjb25zdCYpCjk3ICAgICAgICAw
LjEzMTQgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmNvcmRpY3NpbmNvc1t0
ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtY29yZGljLmpzOjUzLTc5XQo5NyAgICAgICAgMC4xMzE0
ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpudW1iZXJQcm90b0Z1bmNUb1N0cmluZyhK
U0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUsIEpTQzo6QXJnTGlz
dCBjb25zdCYpCjk3ICAgICAgICAwLjEzMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBNYXRj
aFN0YWNrOjpwdXNoTmV3RnJhbWUodW5zaWduZWQgY2hhciBjb25zdCosIEJyYWNrZXRDaGFpbk5v
ZGUqLCB2b2lkKikKOTYgICAgICAgIDAuMTMwMCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpT
Qzo6SlNTdHJpbmc6OnZhbHVlKEpTQzo6RXhlY1N0YXRlKikgY29uc3QKOTYgICAgICAgIDAuMTMw
MCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6VVN0cmluZ0ltcGw6On5VU3RyaW5nSW1w
bCgpCjk1ICAgICAgICAwLjEyODcgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
OkRyYXdMaW5lW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoxNy02OF0KOTUgICAgICAg
IDAuMTI4NyAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46bW9ycGhbdGVzdHMv
c3Vuc3BpZGVyLTAuOS8zZC1tb3JwaC5qczozMC00MF0KOTUgICAgICAgIDAuMTI4NyAganNjLW9w
cm9maWxlLWFubm90YXRlICAgIEpJVFN0dWJUaHVua2VkX29wX3B1dF9ieV92YWwKOTUgICAgICAg
IDAuMTI4NyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6U21hbGxTdHJpbmdzOjptYXJr
Q2hpbGRyZW4oSlNDOjpNYXJrU3RhY2smKQo5NCAgICAgICAgMC4xMjczICA4NTc3LmpvICAgICAg
ICAgICAgICAgICAgPGppdC1mdW5jPjptb3JwaFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLW1vcnBo
LmpzOjMwLTQwXQo5NCAgICAgICAgMC4xMjczICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGpp
dC1mdW5jPjptb3JwaFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLW1vcnBoLmpzOjMwLTQwXQo5NCAg
ICAgICAgMC4xMjczICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpwYXJ0aWFs
W3Rlc3RzL3N1bnNwaWRlci0wLjkvbWF0aC1wYXJ0aWFsLXN1bXMuanM6NS0yOF0KOTQgICAgICAg
IDAuMTI3MyAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46cGFydGlhbFt0ZXN0
cy9zdW5zcGlkZXItMC45L21hdGgtcGFydGlhbC1zdW1zLmpzOjUtMjhdCjk0ICAgICAgICAwLjEy
NzMgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkFSTUFzc2VtYmxlcjo6ZXhlY3V0YWJs
ZUNvcHkoSlNDOjpFeGVjdXRhYmxlUG9vbCopCjkzICAgICAgICAwLjEyNjAgIDg0OTUuam8gICAg
ICAgICAgICAgICAgICA8aml0LWZ1bmM+Om1vcnBoW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtbW9y
cGguanM6MzAtNDBdCjkzICAgICAgICAwLjEyNjAgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6MTYwLTE3OV0KOTMg
ICAgICAgIDAuMTI2MCAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46RHJhd0xp
bmVbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE3LTY4XQo5MyAgICAgICAgMC4xMjYw
ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpMaXRlcmFsUGFyc2VyOjpMZXhlcjo6bGV4
KEpTQzo6TGl0ZXJhbFBhcnNlcjo6TGV4ZXI6OkxpdGVyYWxQYXJzZXJUb2tlbiYpCjkyICAgICAg
ICAwLjEyNDYgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Om1vcnBoW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvM2QtbW9ycGguanM6MzAtNDBdCjkxICAgICAgICAwLjEyMzMgIDg0OTUu
am8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnBhcnRpYWxbdGVzdHMvc3Vuc3BpZGVyLTAu
OS9tYXRoLXBhcnRpYWwtc3Vtcy5qczo1LTI4XQo4OSAgICAgICAgMC4xMjA2ICBqc2Mtb3Byb2Zp
bGUtYW5ub3RhdGUgICAgSlNDOjpKU1N0cmluZzo6dG9UaGlzU3RyaW5nKEpTQzo6RXhlY1N0YXRl
KikgY29uc3QKODcgICAgICAgIDAuMTE3OSAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46Y29yZGljc2luY29zW3Rlc3RzL3N1bnNwaWRlci0wLjkvbWF0aC1jb3JkaWMuanM6NTMt
NzldCjg3ICAgICAgICAwLjExNzkgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6MTYwLTE3OV0KODcgICAgICAgIDAu
MTE3OSAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46cHJpbWVzW3Rlc3RzL3N1
bnNwaWRlci0wLjkvYml0b3BzLW5zaWV2ZS1iaXRzLmpzOjEyLTIzXQo4NyAgICAgICAgMC4xMTc5
ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgY3RpX29wX3JzaGlmdAo4NiAgICAgICAgMC4xMTY1
ICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45
LzNkLXJheXRyYWNlLmpzOjE2MC0xNzldCjg2ICAgICAgICAwLjExNjUgIGpzYy1vcHJvZmlsZS1h
bm5vdGF0ZSAgICBXVEY6OkFWTFRyZWU8SlNDOjpBVkxUcmVlQWJzdHJhY3RvckZvckFycmF5Q29t
cGFyZSwgNDR1LCBXVEY6OkFWTFRyZWVEZWZhdWx0QlNldDw0NHU+ID46Omluc2VydChpbnQpCjg1
ICAgICAgICAwLjExNTEgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnByaW1l
c1t0ZXN0cy9zdW5zcGlkZXItMC45L2JpdG9wcy1uc2lldmUtYml0cy5qczoxMi0yM10KODUgICAg
ICAgIDAuMTE1MSAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46cHJpbWVzW3Rl
c3RzL3N1bnNwaWRlci0wLjkvYml0b3BzLW5zaWV2ZS1iaXRzLmpzOjEyLTIzXQo4NCAgICAgICAg
MC4xMTM4ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpwcmltZXNbdGVzdHMv
c3Vuc3BpZGVyLTAuOS9iaXRvcHMtbnNpZXZlLWJpdHMuanM6MTItMjNdCjg0ICAgICAgICAwLjEx
MzggIDg1ODkuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnByaW1lc1t0ZXN0cy9zdW5z
cGlkZXItMC45L2JpdG9wcy1uc2lldmUtYml0cy5qczoxMi0yM10KODQgICAgICAgIDAuMTEzOCAg
ODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46cHJpbWVzW3Rlc3RzL3N1bnNwaWRl
ci0wLjkvYml0b3BzLW5zaWV2ZS1iaXRzLmpzOjEyLTIzXQo4NCAgICAgICAgMC4xMTM4ICA4NjA1
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpEcmF3TGluZVt0ZXN0cy9zdW5zcGlkZXIt
MC45LzNkLWN1YmUuanM6MTctNjhdCjg0ICAgICAgICAwLjExMzggIGpzYy1vcHJvZmlsZS1hbm5v
dGF0ZSAgICBKU0M6OnN0cmluZ1Byb3RvRnVuY0NvbmNhdChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6
SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUsIEpTQzo6QXJnTGlzdCBjb25zdCYpCjg0ICAgICAgICAw
LjExMzggIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBXVEY6OlRDTWFsbG9jX0NlbnRyYWxfRnJl
ZUxpc3Q6OlJlbGVhc2VMaXN0VG9TcGFucyh2b2lkKikKODMgICAgICAgIDAuMTEyNCAgODYwNS5q
byAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46cHJpbWVzW3Rlc3RzL3N1bnNwaWRlci0wLjkv
Yml0b3BzLW5zaWV2ZS1iaXRzLmpzOjEyLTIzXQo4MyAgICAgICAgMC4xMTI0ICBqc2Mtb3Byb2Zp
bGUtYW5ub3RhdGUgICAgSlNDOjpKU1N0cmluZzo6Um9wZUJ1aWxkZXI6OmFwcGVuZChKU0M6OkpT
U3RyaW5nKikKODIgICAgICAgIDAuMTExMSAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46RHJhd0xpbmVbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE3LTY4XQo4MCAg
ICAgICAgMC4xMDg0ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpwcmltZXNb
dGVzdHMvc3Vuc3BpZGVyLTAuOS9iaXRvcHMtbnNpZXZlLWJpdHMuanM6MTItMjNdCjgwICAgICAg
ICAwLjEwODQgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnByaW1lc1t0ZXN0
cy9zdW5zcGlkZXItMC45L2JpdG9wcy1uc2lldmUtYml0cy5qczoxMi0yM10KODAgICAgICAgIDAu
MTA4NCAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVy
LTAuOS8zZC1yYXl0cmFjZS5qczoxNjAtMTc5XQo3OSAgICAgICAgMC4xMDcwICA4NTg5LmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPjptb3JwaFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLW1v
cnBoLmpzOjMwLTQwXQo3OSAgICAgICAgMC4xMDcwICA4NTkzLmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPjpEcmF3TGluZVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTctNjhd
Cjc5ICAgICAgICAwLjEwNzAgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OkRy
YXdMaW5lW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoxNy02OF0KNzggICAgICAgIDAu
MTA1NyAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46cHJpbWVzW3Rlc3RzL3N1
bnNwaWRlci0wLjkvYml0b3BzLW5zaWV2ZS1iaXRzLmpzOjEyLTIzXQo3OCAgICAgICAgMC4xMDU3
ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpuc2lldmVbdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS9hY2Nlc3MtbnNpZXZlLmpzOjE1LTI4XQo3OCAgICAgICAgMC4xMDU3ICBqc2Mtb3By
b2ZpbGUtYW5ub3RhdGUgICAgSklUU3R1YlRodW5rZWRfb3BfbmV3X2FycmF5Cjc3ICAgICAgICAw
LjEwNDMgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpTRnVuY3Rpb246On5KU0Z1bmN0
aW9uKCkKNzYgICAgICAgIDAuMTAzMCAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVu
Yz46bnNpZXZlW3Rlc3RzL3N1bnNwaWRlci0wLjkvYWNjZXNzLW5zaWV2ZS5qczoxNS0yOF0KNzYg
ICAgICAgIDAuMTAzMCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6bWF0aFByb3RvRnVu
Y1JhbmRvbShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUsIEpT
Qzo6QXJnTGlzdCBjb25zdCYpCjc1ICAgICAgICAwLjEwMTYgIDg1Nzcuam8gICAgICAgICAgICAg
ICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6MTYwLTE3
OV0KNzUgICAgICAgIDAuMTAxNiAganNjLW9wcm9maWxlLWFubm90YXRlICAgIGN0aV9vcF9iaXRh
bmQKNzQgICAgICAgIDAuMTAwMiAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46
RHJhd0xpbmVbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE3LTY4XQo3MiAgICAgICAg
MC4wOTc1ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpJZGVudGlmaWVyOjpJZGVudGlm
aWVyKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpVU3RyaW5nIGNvbnN0JikKNzIgICAgICAgIDAuMDk3
NSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6VVN0cmluZzo6ZmluZChKU0M6OlVTdHJp
bmcgY29uc3QmLCB1bnNpZ25lZCBpbnQpIGNvbnN0CjcxICAgICAgICAwLjA5NjIgIDg1ODEuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Om1vcnBoW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2Qt
bW9ycGguanM6MzAtNDBdCjcxICAgICAgICAwLjA5NjIgIDg1OTcuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6MTYwLTE3OV0K
NzEgICAgICAgIDAuMDk2MiAganNjLW9wcm9maWxlLWFubm90YXRlICAgIGN0aVRyYW1wb2xpbmUK
NzAgICAgICAgIDAuMDk0OCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6U3RyaW5nT2Jq
ZWN0OjpTdHJpbmdPYmplY3QoSlNDOjpFeGVjU3RhdGUqLCBXVEY6Ok5vbk51bGxQYXNzUmVmUHRy
PEpTQzo6U3RydWN0dXJlPiwgSlNDOjpVU3RyaW5nIGNvbnN0JikKNjkgICAgICAgIDAuMDkzNSAg
ODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46cHJpbWVzW3Rlc3RzL3N1bnNwaWRl
ci0wLjkvYml0b3BzLW5zaWV2ZS1iaXRzLmpzOjEyLTIzXQo2OSAgICAgICAgMC4wOTM1ICA4NTg5
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJh
eXRyYWNlLmpzOjE2MC0xNzldCjY5ICAgICAgICAwLjA5MzUgIDg1OTMuam8gICAgICAgICAgICAg
ICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6MTYwLTE3
OV0KNjkgICAgICAgIDAuMDkzNSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpJVFN0dWJUaHVu
a2VkX29wX2NvbnN0cnVjdF9Ob3RKU0NvbnN0cnVjdAo2OSAgICAgICAgMC4wOTM1ICBqc2Mtb3By
b2ZpbGUtYW5ub3RhdGUgICAgSlNDOjptc1RvR3JlZ29yaWFuRGF0ZVRpbWUoSlNDOjpFeGVjU3Rh
dGUqLCBkb3VibGUsIGJvb2wsIEpTQzo6R3JlZ29yaWFuRGF0ZVRpbWUmKQo2OSAgICAgICAgMC4w
OTM1ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgV1RGOjpUQ01hbGxvY19QYWdlSGVhcDo6TmV3
KHVuc2lnbmVkIGludCkKNjggICAgICAgIDAuMDkyMSAgODU4MS5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz46RHJhd0xpbmVbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE3LTY4
XQo2OCAgICAgICAgMC4wOTIxICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpBUk1Bc3Nl
bWJsZXI6OmptcChKU0M6OkFSTUFzc2VtYmxlcjo6Q29uZGl0aW9uLCBpbnQpCjY3ICAgICAgICAw
LjA5MDggIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRl
ci0wLjkvM2QtcmF5dHJhY2UuanM6MTYwLTE3OV0KNjcgICAgICAgIDAuMDkwOCAganNjLW9wcm9m
aWxlLWFubm90YXRlICAgIEpJVFN0dWJUaHVua2VkX29wX2JpdHhvcgo2NiAgICAgICAgMC4wODk0
ICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpuc2lldmVbdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS9hY2Nlc3MtbnNpZXZlLmpzOjE1LTI4XQo2NiAgICAgICAgMC4wODk0ICA4NTYyLmpv
ICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpEcmF3TGluZVt0ZXN0cy9zdW5zcGlkZXItMC45
LzNkLWN1YmUuanM6MTctNjhdCjY2ICAgICAgICAwLjA4OTQgIDg1ODUuam8gICAgICAgICAgICAg
ICAgICA8aml0LWZ1bmM+OmZhc3RhUmFuZG9tW3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLWZh
c3RhLmpzOjYwLTc3XSUxMDAKNjYgICAgICAgIDAuMDg5NCAganNjLW9wcm9maWxlLWFubm90YXRl
ICAgIGN0aV9vcF9nZXRfYnlfaWRfc3RyaW5nX2ZhaWwKNjUgICAgICAgIDAuMDg4MSAgODU4MS5q
byAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0
cmFjZS5qczoxNjAtMTc5XQo2NSAgICAgICAgMC4wODgxICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUg
ICAgSlNDOjpqc1N0cmluZyhKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6VVN0cmluZyBjb25zdCYpCjY0
ICAgICAgICAwLjA4NjcgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Om5zaWV2
ZVt0ZXN0cy9zdW5zcGlkZXItMC45L2FjY2Vzcy1uc2lldmUuanM6MTUtMjhdCjY0ICAgICAgICAw
LjA4NjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKSVRTdHViVGh1bmtlZF9vcF9wdXRfYnlf
aWRfZmFpbAo2NCAgICAgICAgMC4wODY3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpI
ZWFwOjpmcmVlQmxvY2tzKCkKNjQgICAgICAgIDAuMDg2NyAganNjLW9wcm9maWxlLWFubm90YXRl
ICAgIEpTQzo6bWF0aFByb3RvRnVuY0Zsb29yKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU09iamVj
dCosIEpTQzo6SlNWYWx1ZSwgSlNDOjpBcmdMaXN0IGNvbnN0JikKNjMgICAgICAgIDAuMDg1MyAg
anNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6Y29uc3RydWN0V2l0aEFycmF5Q29uc3RydWN0
b3IoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTT2JqZWN0KiwgSlNDOjpBcmdMaXN0IGNvbnN0JikK
NjMgICAgICAgIDAuMDg1MyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6VENNYWxsb2Nf
Q2VudHJhbF9GcmVlTGlzdDo6RmV0Y2hGcm9tU3BhbnNTYWZlKCkKNjIgICAgICAgIDAuMDg0MCAg
ODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46bnNpZXZlW3Rlc3RzL3N1bnNwaWRl
ci0wLjkvYWNjZXNzLW5zaWV2ZS5qczoxNS0yOF0KNjIgICAgICAgIDAuMDg0MCAgODU4NS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46RHJhd0xpbmVbdGVzdHMvc3Vuc3BpZGVyLTAuOS8z
ZC1jdWJlLmpzOjE3LTY4XQo2MSAgICAgICAgMC4wODI2ICA4NTc3LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjpEcmF3TGluZVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTct
NjhdCjYxICAgICAgICAwLjA4MjYgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkludGVy
cHJldGVyOjpleGVjdXRlKEpTQzo6RXZhbEV4ZWN1dGFibGUqLCBKU0M6OkV4ZWNTdGF0ZSosIEpT
Qzo6SlNPYmplY3QqLCBpbnQsIEpTQzo6U2NvcGVDaGFpbk5vZGUqLCBKU0M6OkpTVmFsdWUqKQo2
MSAgICAgICAgMC4wODI2ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjptYXRoUHJvdG9G
dW5jQ29zKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU09iamVjdCosIEpTQzo6SlNWYWx1ZSwgSlND
OjpBcmdMaXN0IGNvbnN0JikKNjAgICAgICAgIDAuMDgxMyAgODU2Mi5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczoxNjAtMTc5
XQo2MCAgICAgICAgMC4wODEzICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpu
c2lldmVbdGVzdHMvc3Vuc3BpZGVyLTAuOS9hY2Nlc3MtbnNpZXZlLmpzOjE1LTI4XQo2MCAgICAg
ICAgMC4wODEzICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpzdHJpbmdQcm90b0Z1bmNT
dWJzdHJpbmcoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTT2JqZWN0KiwgSlNDOjpKU1ZhbHVlLCBK
U0M6OkFyZ0xpc3QgY29uc3QmKQo1OSAgICAgICAgMC4wNzk5ICA4NDk1LmpvICAgICAgICAgICAg
ICAgICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy1iYXNlNjQuanM6MS0x
MzVdJTEwMAo1OSAgICAgICAgMC4wNzk5ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1w
cm9nPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy1iYXNlNjQuanM6MS0xMzVdJTEwMAo1OSAg
ICAgICAgMC4wNzk5ICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpuc2lldmVb
dGVzdHMvc3Vuc3BpZGVyLTAuOS9hY2Nlc3MtbnNpZXZlLmpzOjE1LTI4XQo1OSAgICAgICAgMC4w
Nzk5ICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpuc2lldmVbdGVzdHMvc3Vu
c3BpZGVyLTAuOS9hY2Nlc3MtbnNpZXZlLmpzOjE1LTI4XQo1OCAgICAgICAgMC4wNzg2ICA4NTk3
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpuc2lldmVbdGVzdHMvc3Vuc3BpZGVyLTAu
OS9hY2Nlc3MtbnNpZXZlLmpzOjE1LTI4XQo1OCAgICAgICAgMC4wNzg2ICBqc2Mtb3Byb2ZpbGUt
YW5ub3RhdGUgICAgSlNDOjpJbnRlcm5hbEZ1bmN0aW9uOjpJbnRlcm5hbEZ1bmN0aW9uKEpTQzo6
SlNHbG9iYWxEYXRhKiwgV1RGOjpOb25OdWxsUGFzc1JlZlB0cjxKU0M6OlN0cnVjdHVyZT4sIEpT
Qzo6SWRlbnRpZmllciBjb25zdCYpCjU3ICAgICAgICAwLjA3NzIgIDg1ODkuam8gICAgICAgICAg
ICAgICAgICA8aml0LWZ1bmM+Om5zaWV2ZVt0ZXN0cy9zdW5zcGlkZXItMC45L2FjY2Vzcy1uc2ll
dmUuanM6MTUtMjhdCjU3ICAgICAgICAwLjA3NzIgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBK
U0M6OkpTRnVuY3Rpb246Om1hcmtDaGlsZHJlbihKU0M6Ok1hcmtTdGFjayYpCjU3ICAgICAgICAw
LjA3NzIgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OlVTdHJpbmc6OnRvU3RyaWN0VUlu
dDMyKGJvb2wqKSBjb25zdAo1NyAgICAgICAgMC4wNzcyICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUg
ICAgY3RpX29wX2VxCjU2ICAgICAgICAwLjA3NTkgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8
aml0LXByb2c+W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLWJhc2U2NC5qczoxLTEzNV0lMTAw
CjU2ICAgICAgICAwLjA3NTkgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpTQXJyYXk6
OmdldE93blByb3BlcnR5U2xvdChKU0M6OkV4ZWNTdGF0ZSosIHVuc2lnbmVkIGludCwgSlNDOjpQ
cm9wZXJ0eVNsb3QmKQo1NSAgICAgICAgMC4wNzQ1ICA4NTc3LmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPjpuc2lldmVbdGVzdHMvc3Vuc3BpZGVyLTAuOS9hY2Nlc3MtbnNpZXZlLmpzOjE1
LTI4XQo1NSAgICAgICAgMC4wNzQ1ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpFdmFs
Q29kZUNhY2hlOjpnZXQoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OlVTdHJpbmcgY29uc3QmLCBKU0M6
OlNjb3BlQ2hhaW5Ob2RlKiwgSlNDOjpKU1ZhbHVlJikKNTUgICAgICAgIDAuMDc0NSAganNjLW9w
cm9maWxlLWFubm90YXRlICAgIEpTQzo6RnVuY3Rpb25FeGVjdXRhYmxlOjptYXJrQWdncmVnYXRl
KEpTQzo6TWFya1N0YWNrJikKNTQgICAgICAgIDAuMDczMiAgODU3Ny5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz46ZmFzdGFSYW5kb21bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctZmFz
dGEuanM6NjAtNzddJTEwMAo1NCAgICAgICAgMC4wNzMyICA4NTk3LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy1iYXNlNjQuanM6MS0xMzVd
JTEwMAo1NCAgICAgICAgMC4wNzMyICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpTdHJ1
Y3R1cmU6OmdldChKU0M6OlVTdHJpbmdJbXBsIGNvbnN0KiwgdW5zaWduZWQgaW50JiwgSlNDOjpK
U0NlbGwqJikKNTQgICAgICAgIDAuMDczMiAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6
VVJvcGVJbXBsOjpkZXN0cnVjdE5vblJlY3Vyc2l2ZSgpCjU0ICAgICAgICAwLjA3MzIgIGpzYy1v
cHJvZmlsZS1hbm5vdGF0ZSAgICBjdGlfb3BfbHNoaWZ0CjUzICAgICAgICAwLjA3MTggIGpzYy1v
cHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkhlYXA6OnJlc2l6ZUJsb2NrcygpCjUyICAgICAgICAw
LjA3MDQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKSVRTdHViVGh1bmtlZF9vcF9jb25zdHJ1
Y3RfSlNDb25zdHJ1Y3QKNTIgICAgICAgIDAuMDcwNCAganNjLW9wcm9maWxlLWFubm90YXRlICAg
IEpTQzo6U3RydWN0dXJlOjpwdXQoSlNDOjpJZGVudGlmaWVyIGNvbnN0JiwgdW5zaWduZWQgaW50
LCBKU0M6OkpTQ2VsbCopCjUxICAgICAgICAwLjA2OTEgIDg1NTUuam8gICAgICAgICAgICAgICAg
ICA8aml0LXByb2c+W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLWJhc2U2NC5qczoxLTEzNV0l
MTAwCjUxICAgICAgICAwLjA2OTEgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
OmZhc3RhUmFuZG9tW3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLWZhc3RhLmpzOjYwLTc3XSUx
MDAKNTEgICAgICAgIDAuMDY5MSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6RGF0ZUlu
c3RhbmNlOjpjbGFzc0luZm8oKSBjb25zdAo1MCAgICAgICAgMC4wNjc3ICA4NTg5LmpvICAgICAg
ICAgICAgICAgICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy1iYXNlNjQu
anM6MS0xMzVdJTEwMAo1MCAgICAgICAgMC4wNjc3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAg
SlNDOjpJbnRlcnByZXRlcjo6Y2FsbEV2YWwoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OlJlZ2lzdGVy
RmlsZSosIEpTQzo6UmVnaXN0ZXIqLCBpbnQsIGludCwgSlNDOjpKU1ZhbHVlJikKNTAgICAgICAg
IDAuMDY3NyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SlNWYWx1ZTo6Z2V0KEpTQzo6
RXhlY1N0YXRlKiwgSlNDOjpJZGVudGlmaWVyIGNvbnN0JikgY29uc3QKNDkgICAgICAgIDAuMDY2
NCAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46ZmFzdGFSYW5kb21bdGVzdHMv
c3Vuc3BpZGVyLTAuOS9zdHJpbmctZmFzdGEuanM6NjAtNzddJTEwMAo0OSAgICAgICAgMC4wNjY0
ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpiaXRzaW5ieXRlW3Rlc3RzL3N1
bnNwaWRlci0wLjkvYml0b3BzLWJpdHMtaW4tYnl0ZS5qczo2LTEzXQo0OSAgICAgICAgMC4wNjY0
ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSklUU3R1YlRodW5rZWRfb3BfYml0bm90CjQ4ICAg
ICAgICAwLjA2NTAgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LXByb2c+W3Rlc3RzL3N1
bnNwaWRlci0wLjkvYml0b3BzLWJpdHdpc2UtYW5kLmpzOjEtMjhdCjQ4ICAgICAgICAwLjA2NTAg
IGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFz
cygpCjQ4ICAgICAgICAwLjA2NTAgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkxpdGVy
YWxQYXJzZXI6OnBhcnNlKEpTQzo6TGl0ZXJhbFBhcnNlcjo6UGFyc2VyU3RhdGUpCjQ4ICAgICAg
ICAwLjA2NTAgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBjdGlfb3BfZ2V0X2J5X3ZhbF9zdHJp
bmcKNDcgICAgICAgIDAuMDYzNyAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtcHJvZz5b
dGVzdHMvc3Vuc3BpZGVyLTAuOS9iaXRvcHMtYml0d2lzZS1hbmQuanM6MS0yOF0KNDcgICAgICAg
IDAuMDYzNyAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtcHJvZz5bdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS9iaXRvcHMtYml0d2lzZS1hbmQuanM6MS0yOF0KNDcgICAgICAgIDAuMDYzNyAgODU4
MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtcHJvZz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJp
bmctYmFzZTY0LmpzOjEtMTM1XSUxMDAKNDcgICAgICAgIDAuMDYzNyAgODU5My5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz46Yml0c2luYnl0ZVt0ZXN0cy9zdW5zcGlkZXItMC45L2JpdG9w
cy1iaXRzLWluLWJ5dGUuanM6Ni0xM10KNDcgICAgICAgIDAuMDYzNyAgODU5My5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtcHJvZz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9iaXRvcHMtYml0d2lzZS1h
bmQuanM6MS0yOF0KNDcgICAgICAgIDAuMDYzNyAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtcHJvZz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9iaXRvcHMtYml0d2lzZS1hbmQuanM6MS0yOF0K
NDcgICAgICAgIDAuMDYzNyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6U3RydWN0dXJl
Ojp+U3RydWN0dXJlKCkKNDcgICAgICAgIDAuMDYzNyAganNjLW9wcm9maWxlLWFubm90YXRlICAg
IEpTQzo6ZGF0ZVByb3RvRnVuY0dldEZ1bGxZZWFyKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU09i
amVjdCosIEpTQzo6SlNWYWx1ZSwgSlNDOjpBcmdMaXN0IGNvbnN0JikKNDYgICAgICAgIDAuMDYy
MyAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Yml0c2luYnl0ZVt0ZXN0cy9z
dW5zcGlkZXItMC45L2JpdG9wcy1iaXRzLWluLWJ5dGUuanM6Ni0xM10KNDYgICAgICAgIDAuMDYy
MyAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtcHJvZz5bdGVzdHMvc3Vuc3BpZGVyLTAu
OS9iaXRvcHMtYml0d2lzZS1hbmQuanM6MS0yOF0KNDYgICAgICAgIDAuMDYyMyAgODU2Mi5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Yml0c2luYnl0ZVt0ZXN0cy9zdW5zcGlkZXItMC45
L2JpdG9wcy1iaXRzLWluLWJ5dGUuanM6Ni0xM10KNDYgICAgICAgIDAuMDYyMyAgODU3Ny5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtcHJvZz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9iaXRvcHMtYml0
d2lzZS1hbmQuanM6MS0yOF0KNDYgICAgICAgIDAuMDYyMyAgODU4MS5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtcHJvZz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9iaXRvcHMtYml0d2lzZS1hbmQuanM6
MS0yOF0KNDYgICAgICAgIDAuMDYyMyAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVu
Yz46Yml0c2luYnl0ZVt0ZXN0cy9zdW5zcGlkZXItMC45L2JpdG9wcy1iaXRzLWluLWJ5dGUuanM6
Ni0xM10KNDYgICAgICAgIDAuMDYyMyAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtcHJv
Zz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9iaXRvcHMtYml0d2lzZS1hbmQuanM6MS0yOF0KNDYgICAg
ICAgIDAuMDYyMyAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtcHJvZz5bdGVzdHMvc3Vu
c3BpZGVyLTAuOS9iaXRvcHMtYml0d2lzZS1hbmQuanM6MS0yOF0KNDYgICAgICAgIDAuMDYyMyAg
ODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Yml0c2luYnl0ZVt0ZXN0cy9zdW5z
cGlkZXItMC45L2JpdG9wcy1iaXRzLWluLWJ5dGUuanM6Ni0xM10KNDYgICAgICAgIDAuMDYyMyAg
ODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtcHJvZz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9i
aXRvcHMtYml0d2lzZS1hbmQuanM6MS0yOF0KNDYgICAgICAgIDAuMDYyMyAganNjLW9wcm9maWxl
LWFubm90YXRlICAgIEpTQzo6c3RyaW5nUHJvdG9GdW5jQ2hhckF0KEpTQzo6RXhlY1N0YXRlKiwg
SlNDOjpKU09iamVjdCosIEpTQzo6SlNWYWx1ZSwgSlNDOjpBcmdMaXN0IGNvbnN0JikKNDYgICAg
ICAgIDAuMDYyMyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6dG9VSW50MzJTbG93Q2Fz
ZShkb3VibGUsIGJvb2wmKQo0NSAgICAgICAgMC4wNjEwICA4NTU1LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjpiaXRzaW5ieXRlW3Rlc3RzL3N1bnNwaWRlci0wLjkvYml0b3BzLWJpdHMt
aW4tYnl0ZS5qczo2LTEzXQo0NSAgICAgICAgMC4wNjEwICA4NTg1LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjpiYXNlNjRUb1N0cmluZ1t0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy1i
YXNlNjQuanM6ODYtMTE3XQo0NSAgICAgICAgMC4wNjEwICA4NTg1LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjpiaXRzaW5ieXRlW3Rlc3RzL3N1bnNwaWRlci0wLjkvYml0b3BzLWJpdHMt
aW4tYnl0ZS5qczo2LTEzXQo0NSAgICAgICAgMC4wNjEwICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUg
ICAgSlNDOjpKU0FycmF5OjpwdXQoSlNDOjpFeGVjU3RhdGUqLCB1bnNpZ25lZCBpbnQsIEpTQzo6
SlNWYWx1ZSkKNDQgICAgICAgIDAuMDU5NiAgODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46Yml0c2luYnl0ZVt0ZXN0cy9zdW5zcGlkZXItMC45L2JpdG9wcy1iaXRzLWluLWJ5dGUu
anM6Ni0xM10KNDQgICAgICAgIDAuMDU5NiAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46Yml0c2luYnl0ZVt0ZXN0cy9zdW5zcGlkZXItMC45L2JpdG9wcy1iaXRzLWluLWJ5dGUu
anM6Ni0xM10KNDQgICAgICAgIDAuMDU5NiAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6
QVJNQXNzZW1ibGVyOjpkYXRhVHJhbnNmZXIzMihib29sLCBKU0M6OkFSTVJlZ2lzdGVyczo6UmVn
aXN0ZXJJRCwgSlNDOjpBUk1SZWdpc3RlcnM6OlJlZ2lzdGVySUQsIGludCwgYm9vbCkKNDQgICAg
ICAgIDAuMDU5NiAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6ZGF0ZVByb3RvRnVuY0dl
dERheShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUsIEpTQzo6
QXJnTGlzdCBjb25zdCYpCjQzICAgICAgICAwLjA1ODMgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAg
ICBKU0M6OkpTQXJyYXk6OmdldE93blByb3BlcnR5U2xvdChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6
SWRlbnRpZmllciBjb25zdCYsIEpTQzo6UHJvcGVydHlTbG90JikKNDIgICAgICAgIDAuMDU2OSAg
ODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46YmFzZTY0VG9TdHJpbmdbdGVzdHMv
c3Vuc3BpZGVyLTAuOS9zdHJpbmctYmFzZTY0LmpzOjg2LTExN10KNDIgICAgICAgIDAuMDU2OSAg
ODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Yml0c2luYnl0ZVt0ZXN0cy9zdW5z
cGlkZXItMC45L2JpdG9wcy1iaXRzLWluLWJ5dGUuanM6Ni0xM10KNDIgICAgICAgIDAuMDU2OSAg
anNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SlNBcnJheTo6SlNBcnJheShXVEY6Ok5vbk51
bGxQYXNzUmVmUHRyPEpTQzo6U3RydWN0dXJlPiwgdW5zaWduZWQgaW50KQo0MiAgICAgICAgMC4w
NTY5ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpTdHJpbmdDb25zdHJ1Y3Rvcjo6Z2V0
Q29uc3RydWN0RGF0YShKU0M6OkNvbnN0cnVjdERhdGEmKQo0MiAgICAgICAgMC4wNTY5ICBqc2Mt
b3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpkYXRlUHJvdG9GdW5jR2V0SG91cnMoSlNDOjpFeGVj
U3RhdGUqLCBKU0M6OkpTT2JqZWN0KiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkFyZ0xpc3QgY29uc3Qm
KQo0MiAgICAgICAgMC4wNTY5ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjptYXRoUHJv
dG9GdW5jU3FydChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUs
IEpTQzo6QXJnTGlzdCBjb25zdCYpCjQyICAgICAgICAwLjA1NjkgIGpzYy1vcHJvZmlsZS1hbm5v
dGF0ZSAgICBjdGlfb3Bfamxlc3MKNDEgICAgICAgIDAuMDU1NSAgODU5My5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZnVuYz46YmFzZTY0VG9TdHJpbmdbdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJp
bmctYmFzZTY0LmpzOjg2LTExN10KNDEgICAgICAgIDAuMDU1NSAganNjLW9wcm9maWxlLWFubm90
YXRlICAgIEpTQzo6Z2xvYmFsRnVuY1BhcnNlSW50KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU09i
amVjdCosIEpTQzo6SlNWYWx1ZSwgSlNDOjpBcmdMaXN0IGNvbnN0JikKNDAgICAgICAgIDAuMDU0
MiAgODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46YmFzZTY0VG9TdHJpbmdbdGVz
dHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctYmFzZTY0LmpzOjg2LTExN10KNDAgICAgICAgIDAuMDU0
MiAgODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46YmFzZTY0VG9TdHJpbmdbdGVz
dHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctYmFzZTY0LmpzOjg2LTExN10KNDAgICAgICAgIDAuMDU0
MiAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46YmFzZTY0VG9TdHJpbmdbdGVz
dHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctYmFzZTY0LmpzOjg2LTExN10KNDAgICAgICAgIDAuMDU0
MiAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46YXJyYXlFeGlzdHNbdGVzdHMv
c3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC10b2Z0ZS5qczoxLTZdCjQwICAgICAgICAwLjA1NDIg
IGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OnN0cmluZ0Zyb21DaGFyQ29kZShKU0M6OkV4
ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUsIEpTQzo6QXJnTGlzdCBjb25z
dCYpCjM5ICAgICAgICAwLjA1MjggIDg1ODkuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
OmJhc2U2NFRvU3RyaW5nW3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLWJhc2U2NC5qczo4Ni0x
MTddCjM5ICAgICAgICAwLjA1MjggIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpTRnVu
Y3Rpb246OkpTRnVuY3Rpb24oSlNDOjpFeGVjU3RhdGUqLCBXVEY6Ok5vbk51bGxQYXNzUmVmUHRy
PEpTQzo6RnVuY3Rpb25FeGVjdXRhYmxlPiwgSlNDOjpTY29wZUNoYWluTm9kZSopCjM4ICAgICAg
ICAwLjA1MTUgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkRhdGVQcm90b3R5cGU6Omdl
dE93blByb3BlcnR5U2xvdChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SWRlbnRpZmllciBjb25zdCYs
IEpTQzo6UHJvcGVydHlTbG90JikKMzcgICAgICAgIDAuMDUwMSAgODU5Ny5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZnVuYz46YXJyYXlFeGlzdHNbdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZv
cm1hdC10b2Z0ZS5qczoxLTZdCjM3ICAgICAgICAwLjA1MDEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0
ZSAgICBXVEY6Okhhc2hUYWJsZTxKU0M6OlVTdHJpbmdJbXBsKiwgSlNDOjpVU3RyaW5nSW1wbCos
IFdURjo6SWRlbnRpdHlFeHRyYWN0b3I8SlNDOjpVU3RyaW5nSW1wbCo+LCBXVEY6OlN0ckhhc2g8
SlNDOjpVU3RyaW5nSW1wbCo+LCBXVEY6Okhhc2hUcmFpdHM8SlNDOjpVU3RyaW5nSW1wbCo+LCBX
VEY6Okhhc2hUcmFpdHM8SlNDOjpVU3RyaW5nSW1wbCo+ID46OnJlaGFzaChpbnQpCjM3ICAgICAg
ICAwLjA1MDEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBjdGlfb3BfZ2V0X2J5X3ZhbAozNiAg
ICAgICAgMC4wNDg4ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgY3RpX29wX3Jlc29sdmVfc2tp
cAozNiAgICAgICAgMC4wNDg4ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAganNSZWdFeHBFeGVj
dXRlKEpTUmVnRXhwIGNvbnN0KiwgdW5zaWduZWQgc2hvcnQgY29uc3QqLCBpbnQsIGludCwgaW50
KiwgaW50KQozNSAgICAgICAgMC4wNDc0ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPjp0b0Jhc2U2NFt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy1iYXNlNjQuanM6NDUtNzJd
CjM1ICAgICAgICAwLjA0NzQgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmJh
c2U2NFRvU3RyaW5nW3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLWJhc2U2NC5qczo4Ni0xMTdd
CjM1ICAgICAgICAwLjA0NzQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKSVRTdHViVGh1bmtl
ZF9vcF91cnNoaWZ0CjM1ICAgICAgICAwLjA0NzQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBK
U0M6OkpJVDo6Y29tcGlsZU9wQ2FsbChKU0M6Ok9wY29kZUlELCBKU0M6Okluc3RydWN0aW9uKiwg
dW5zaWduZWQgaW50KQozNSAgICAgICAgMC4wNDc0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAg
SlNDOjpKU0dsb2JhbE9iamVjdDo6bWFya0NoaWxkcmVuKEpTQzo6TWFya1N0YWNrJikKMzUgICAg
ICAgIDAuMDQ3NCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SlNPYmplY3Q6Om1hcmtD
aGlsZHJlbihKU0M6Ok1hcmtTdGFjayYpCjM1ICAgICAgICAwLjA0NzQgIGpzYy1vcHJvZmlsZS1h
bm5vdGF0ZSAgICBKU0M6OkpTVmFsdWU6OnB1dChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SWRlbnRp
ZmllciBjb25zdCYsIEpTQzo6SlNWYWx1ZSwgSlNDOjpQdXRQcm9wZXJ0eVNsb3QmKQozNSAgICAg
ICAgMC4wNDc0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpTdHJpbmdPYmplY3Q6On5T
dHJpbmdPYmplY3QoKQozNCAgICAgICAgMC4wNDYxICA4NTU1LmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPjpiYXNlNjRUb1N0cmluZ1t0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy1iYXNl
NjQuanM6ODYtMTE3XQozNCAgICAgICAgMC4wNDYxICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAg
SlNDOjpzdHJpbmdQcm90b0Z1bmNTcGxpdChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3Qq
LCBKU0M6OkpTVmFsdWUsIEpTQzo6QXJnTGlzdCBjb25zdCYpCjM0ICAgICAgICAwLjA0NjEgIGpz
Yy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBXVEY6OnN0cnRvZChjaGFyIGNvbnN0KiwgY2hhcioqKQoz
NCAgICAgICAgMC4wNDYxICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgY3RpX29wX2JpdG9yCjMz
ICAgICAgICAwLjA0NDcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkFycmF5Q29uc3Ry
dWN0b3I6OmdldENvbnN0cnVjdERhdGEoSlNDOjpDb25zdHJ1Y3REYXRhJikKMzMgICAgICAgIDAu
MDQ0NyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SGVhcDo6ZnJlZUJsb2NrKHVuc2ln
bmVkIGludCkKMzMgICAgICAgIDAuMDQ0NyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6
U3RydWN0dXJlOjpnZXQoSlNDOjpJZGVudGlmaWVyIGNvbnN0JikKMzIgICAgICAgIDAuMDQzMyAg
ODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46TU11bHRpW3Rlc3RzL3N1bnNwaWRl
ci0wLjkvM2QtY3ViZS5qczo5Ni0xMDVdCjMyICAgICAgICAwLjA0MzMgIDg2MDUuam8gICAgICAg
ICAgICAgICAgICA8aml0LWZ1bmM+Ok1peENvbHVtbnNbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlw
dG8tYWVzLmpzOjU3LTcyXQozMiAgICAgICAgMC4wNDMzICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUg
ICAgSlNDOjpkYXRlUHJvdG9GdW5jR2V0TW9udGgoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTT2Jq
ZWN0KiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkFyZ0xpc3QgY29uc3QmKQozMiAgICAgICAgMC4wNDMz
ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpzdHJpbmdQcm90b0Z1bmNUb1N0cmluZyhK
U0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUsIEpTQzo6QXJnTGlz
dCBjb25zdCYpCjMxICAgICAgICAwLjA0MjAgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0
LWZ1bmM+Ok1peENvbHVtbnNbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tYWVzLmpzOjU3LTcy
XQozMSAgICAgICAgMC4wNDIwICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjph
cnJheUV4aXN0c1t0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjEtNl0K
MzEgICAgICAgIDAuMDQyMCAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46dG9C
YXNlNjRbdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctYmFzZTY0LmpzOjQ1LTcyXQozMSAgICAg
ICAgMC4wNDIwICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjphcnJheUV4aXN0
c1t0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjEtNl0KMzEgICAgICAg
IDAuMDQyMCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpJVFN0dWJUaHVua2VkX29wX25ld19m
dW5jCjMxICAgICAgICAwLjA0MjAgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpJVDo6
cHJpdmF0ZUNvbXBpbGUoKQozMSAgICAgICAgMC4wNDIwICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUg
ICAgSlNDOjpKU0Z1bmN0aW9uOjpnZXRDYWxsRGF0YShKU0M6OkNhbGxEYXRhJikKMzAgICAgICAg
IDAuMDQwNiAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46TU11bHRpW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczo5Ni0xMDVdCjMwICAgICAgICAwLjA0MDYgIGpzYy1v
cHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OklkZW50aWZpZXI6OnJlbW92ZShKU0M6OlVTdHJpbmdJ
bXBsKikKMzAgICAgICAgIDAuMDQwNiAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6ZGF0
ZVByb3RvRnVuY0dldERhdGUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTT2JqZWN0KiwgSlNDOjpK
U1ZhbHVlLCBKU0M6OkFyZ0xpc3QgY29uc3QmKQozMCAgICAgICAgMC4wNDA2ICBqc2Mtb3Byb2Zp
bGUtYW5ub3RhdGUgICAgV1RGOjptc1RvWWVhcihkb3VibGUpCjMwICAgICAgICAwLjA0MDYgIGpz
Yy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBjdGlfb3BfY29uc3RydWN0X05vdEpTQ29uc3RydWN0CjI5
ICAgICAgICAwLjAzOTMgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Ok1NdWx0
aVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6OTYtMTA1XQoyOSAgICAgICAgMC4wMzkz
ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpNaXhDb2x1bW5zW3Rlc3RzL3N1
bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5qczo1Ny03Ml0KMjkgICAgICAgIDAuMDM5MyAgODYwMS5q
byAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46YmFzZTY0VG9TdHJpbmdbdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS9zdHJpbmctYmFzZTY0LmpzOjg2LTExN10KMjkgICAgICAgIDAuMDM5MyAganNjLW9w
cm9maWxlLWFubm90YXRlICAgIEpJVFN0dWJUaHVua2VkX29wX2NhbGxfZXZhbAoyOSAgICAgICAg
MC4wMzkzICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpBc3NlbWJsZXJCdWZmZXJXaXRo
Q29uc3RhbnRQb29sPDIwNDgsIDQsIDQsIEpTQzo6QVJNQXNzZW1ibGVyPjo6Zmx1c2hDb25zdGFu
dFBvb2woYm9vbCkKMjkgICAgICAgIDAuMDM5MyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpT
Qzo6U3RydWN0dXJlOjpyZWhhc2hQcm9wZXJ0eU1hcEhhc2hUYWJsZSh1bnNpZ25lZCBpbnQpCjI5
ICAgICAgICAwLjAzOTMgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OmRhdGVQcm90b0Z1
bmNHZXRTZWNvbmRzKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU09iamVjdCosIEpTQzo6SlNWYWx1
ZSwgSlNDOjpBcmdMaXN0IGNvbnN0JikKMjggICAgICAgIDAuMDM3OSAgODQ5NS5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz46YXJyYXlFeGlzdHNbdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRl
LWZvcm1hdC10b2Z0ZS5qczoxLTZdCjI4ICAgICAgICAwLjAzNzkgIDg0OTUuam8gICAgICAgICAg
ICAgICAgICA8aml0LWZ1bmM+OmJhc2U2NFRvU3RyaW5nW3Rlc3RzL3N1bnNwaWRlci0wLjkvc3Ry
aW5nLWJhc2U2NC5qczo4Ni0xMTddCjI4ICAgICAgICAwLjAzNzkgIDg1NjIuam8gICAgICAgICAg
ICAgICAgICA8aml0LWZ1bmM+OnRvQmFzZTY0W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLWJh
c2U2NC5qczo0NS03Ml0KMjggICAgICAgIDAuMDM3OSAgODU4NS5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz46TU11bHRpW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczo5Ni0xMDVd
CjI4ICAgICAgICAwLjAzNzkgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Ok1p
eENvbHVtbnNbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tYWVzLmpzOjU3LTcyXQoyOCAgICAg
ICAgMC4wMzc5ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgV1RGOjpkb3VibGVUb1N0cmluZ0lu
SmF2YVNjcmlwdEZvcm1hdChkb3VibGUsIGNoYXIqLCB1bnNpZ25lZCBpbnQqKQoyNyAgICAgICAg
MC4wMzY2ICA4NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpNaXhDb2x1bW5zW3Rl
c3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5qczo1Ny03Ml0KMjcgICAgICAgIDAuMDM2NiAg
anNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROb2Rl
KEpTQzo6UmVnaXN0ZXJJRCosIEpTQzo6Tm9kZSopCjI3ICAgICAgICAwLjAzNjYgIGpzYy1vcHJv
ZmlsZS1hbm5vdGF0ZSAgICBjdGlfb3BfcHV0X2J5X2lkX2ZhaWwKMjYgICAgICAgIDAuMDM1MiAg
ODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46TWl4Q29sdW1uc1t0ZXN0cy9zdW5z
cGlkZXItMC45L2NyeXB0by1hZXMuanM6NTctNzJdCjI2ICAgICAgICAwLjAzNTIgIDg1NTUuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmFycmF5RXhpc3RzW3Rlc3RzL3N1bnNwaWRlci0w
LjkvZGF0ZS1mb3JtYXQtdG9mdGUuanM6MS02XQoyNiAgICAgICAgMC4wMzUyICA4NTc3LmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPjphcnJheUV4aXN0c1t0ZXN0cy9zdW5zcGlkZXItMC45
L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjEtNl0KMjYgICAgICAgIDAuMDM1MiAgODU4MS5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtZnVuYz46TU11bHRpW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3Vi
ZS5qczo5Ni0xMDVdCjI2ICAgICAgICAwLjAzNTIgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+OmRvVGVzdFt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy12YWxpZGF0ZS1pbnB1
dC5qczo4LTYwXQoyNiAgICAgICAgMC4wMzUyICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGpp
dC1mdW5jPjpmYXN0M2JpdGxvb2t1cFt0ZXN0cy9zdW5zcGlkZXItMC45L2JpdG9wcy0zYml0LWJp
dHMtaW4tYnl0ZS5qczo1LTIzXQoyNiAgICAgICAgMC4wMzUyICBqc2Mtb3Byb2ZpbGUtYW5ub3Rh
dGUgICAgSlNDOjpKSVQ6OmNvbXBpbGVPcENhbGxTbG93Q2FzZShKU0M6Okluc3RydWN0aW9uKiwg
SlNDOjpTbG93Q2FzZUVudHJ5KiYsIHVuc2lnbmVkIGludCwgSlNDOjpPcGNvZGVJRCkKMjYgICAg
ICAgIDAuMDM1MiAganNjLW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6VmVjdG9yPGludCwgMzJ1
Pjo6cmVzaXplKHVuc2lnbmVkIGludCkKMjUgICAgICAgIDAuMDMzOSAgODU4MS5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz46TWl4Q29sdW1uc1t0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0
by1hZXMuanM6NTctNzJdCjI1ICAgICAgICAwLjAzMzkgIDg1ODkuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+OmFycmF5RXhpc3RzW3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQt
dG9mdGUuanM6MS02XQoyNSAgICAgICAgMC4wMzM5ICA4NTkzLmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPjpNaXhDb2x1bW5zW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5qczo1
Ny03Ml0KMjUgICAgICAgIDAuMDMzOSAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVu
Yz46bWFrZU5hbWVbdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdmFsaWRhdGUtaW5wdXQuanM6
NjMtNzFdCjI1ICAgICAgICAwLjAzMzkgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1
bmM+OmFycmF5RXhpc3RzW3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQtdG9mdGUuanM6
MS02XQoyNSAgICAgICAgMC4wMzM5ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgY3RpX29wX2p0
cnVlCjI0ICAgICAgICAwLjAzMjUgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
Ok1NdWx0aVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6OTYtMTA1XQoyNCAgICAgICAg
MC4wMzI1ICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpNaXhDb2x1bW5zW3Rl
c3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5qczo1Ny03Ml0KMjQgICAgICAgIDAuMDMyNSAg
ODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c2FmZV9hZGRbdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS9jcnlwdG8tbWQ1LmpzOjE4My0xODddCjI0ICAgICAgICAwLjAzMjUgIDg1ODUuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnRvQmFzZTY0W3Rlc3RzL3N1bnNwaWRlci0wLjkv
c3RyaW5nLWJhc2U2NC5qczo0NS03Ml0KMjQgICAgICAgIDAuMDMyNSAgODU4OS5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz46QXR1W3Rlc3RzL3N1bnNwaWRlci0wLjkvbWF0aC1zcGVjdHJh
bC1ub3JtLmpzOjE5LTI2XQoyNCAgICAgICAgMC4wMzI1ICA4NTg5LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjpNTXVsdGlbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjk2LTEw
NV0KMjQgICAgICAgIDAuMDMyNSAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46
ZG9UZXN0W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXZhbGlkYXRlLWlucHV0LmpzOjgtNjBd
CjI0ICAgICAgICAwLjAzMjUgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkJ5dGVjb2Rl
R2VuZXJhdG9yOjplbWl0Q2FsbChKU0M6Ok9wY29kZUlELCBKU0M6OlJlZ2lzdGVySUQqLCBKU0M6
OlJlZ2lzdGVySUQqLCBKU0M6OlJlZ2lzdGVySUQqLCBKU0M6OkFyZ3VtZW50c05vZGUqLCB1bnNp
Z25lZCBpbnQsIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50KQoyNCAgICAgICAgMC4wMzI1ICBq
c2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKU0dsb2JhbE9iamVjdDo6cHV0KEpTQzo6RXhl
Y1N0YXRlKiwgSlNDOjpJZGVudGlmaWVyIGNvbnN0JiwgSlNDOjpKU1ZhbHVlLCBKU0M6OlB1dFBy
b3BlcnR5U2xvdCYpCjI0ICAgICAgICAwLjAzMjUgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBK
U0M6OlJlZ0V4cE9iamVjdDo6bWF0Y2goSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkFyZ0xpc3QgY29u
c3QmKQoyMyAgICAgICAgMC4wMzEyICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5j
PjpBW3Rlc3RzL3N1bnNwaWRlci0wLjkvbWF0aC1zcGVjdHJhbC1ub3JtLmpzOjYtOF0KMjMgICAg
ICAgIDAuMDMxMiAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46dG9CYXNlNjRb
dGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctYmFzZTY0LmpzOjQ1LTcyXQoyMyAgICAgICAgMC4w
MzEyICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjphcnJheUV4aXN0c1t0ZXN0
cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjEtNl0KMjMgICAgICAgIDAuMDMx
MiAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAu
OS8zZC1yYXl0cmFjZS5qczoxODktMjQyXQoyMyAgICAgICAgMC4wMzEyICA4NTgxLmpvICAgICAg
ICAgICAgICAgICAgPGppdC1mdW5jPjphcnJheUV4aXN0c1t0ZXN0cy9zdW5zcGlkZXItMC45L2Rh
dGUtZm9ybWF0LXRvZnRlLmpzOjEtNl0KMjMgICAgICAgIDAuMDMxMiAgODU4MS5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz46dG9CYXNlNjRbdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmct
YmFzZTY0LmpzOjQ1LTcyXQoyMyAgICAgICAgMC4wMzEyICA4NTg5LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjgt
MjkwXQoyMyAgICAgICAgMC4wMzEyICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5j
Plt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczoxNi0xNl0lMTAwCjIz
ICAgICAgICAwLjAzMTIgIDg1OTcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Ok1NdWx0
aVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6OTYtMTA1XQoyMyAgICAgICAgMC4wMzEy
ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpkb1Rlc3RbdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS9zdHJpbmctdmFsaWRhdGUtaW5wdXQuanM6OC02MF0KMjMgICAgICAgIDAuMDMxMiAg
ODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46cmFuZFt0ZXN0cy9zdW5zcGlkZXIt
MC45L3N0cmluZy1mYXN0YS5qczo4LTExXQoyMyAgICAgICAgMC4wMzEyICA4NjA1LmpvICAgICAg
ICAgICAgICAgICAgPGppdC1mdW5jPjpBdVt0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtc3BlY3Ry
YWwtbm9ybS5qczoxMC0xN10KMjMgICAgICAgIDAuMDMxMiAgODYwNS5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz46bWFrZU5hbWVbdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdmFsaWRh
dGUtaW5wdXQuanM6NjMtNzFdCjIzICAgICAgICAwLjAzMTIgIGpzYy1vcHJvZmlsZS1hbm5vdGF0
ZSAgICBKU0M6OkFSTUFzc2VtYmxlcjo6bGRyX3VuX2ltbShpbnQsIHVuc2lnbmVkIGludCwgSlND
OjpBUk1Bc3NlbWJsZXI6OkNvbmRpdGlvbikKMjMgICAgICAgIDAuMDMxMiAganNjLW9wcm9maWxl
LWFubm90YXRlICAgIEpTQzo6SlNTdHJpbmc6OlJvcGVCdWlsZGVyOjpSb3BlQnVpbGRlcih1bnNp
Z25lZCBpbnQpCjIzICAgICAgICAwLjAzMTIgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBjdGlf
b3BfZ2V0X3BuYW1lcwoyMyAgICAgICAgMC4wMzEyICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAg
dm9pZCogV1RGOjpmYXN0UmVhbGxvYzx0cnVlPih2b2lkKiwgdW5zaWduZWQgaW50KQoyMiAgICAg
ICAgMC4wMjk4ICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjptYWtlTmFtZVt0
ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy12YWxpZGF0ZS1pbnB1dC5qczo2My03MV0KMjIgICAg
ICAgIDAuMDI5OCAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46QVt0ZXN0cy9z
dW5zcGlkZXItMC45L21hdGgtc3BlY3RyYWwtbm9ybS5qczo2LThdCjIyICAgICAgICAwLjAyOTgg
IDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Ok1NdWx0aVt0ZXN0cy9zdW5zcGlk
ZXItMC45LzNkLWN1YmUuanM6OTYtMTA1XQoyMiAgICAgICAgMC4wMjk4ICA4NTU1LmpvICAgICAg
ICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXRv
ZnRlLmpzOjgtMjkwXQoyMiAgICAgICAgMC4wMjk4ICA4NTg5LmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPjpBW3Rlc3RzL3N1bnNwaWRlci0wLjkvbWF0aC1zcGVjdHJhbC1ub3JtLmpzOjYt
OF0KMjIgICAgICAgIDAuMDI5OCAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46
ZmFzdDNiaXRsb29rdXBbdGVzdHMvc3Vuc3BpZGVyLTAuOS9iaXRvcHMtM2JpdC1iaXRzLWluLWJ5
dGUuanM6NS0yM10KMjIgICAgICAgIDAuMDI5OCAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZnVuYz46ZmFzdDNiaXRsb29rdXBbdGVzdHMvc3Vuc3BpZGVyLTAuOS9iaXRvcHMtM2JpdC1i
aXRzLWluLWJ5dGUuanM6NS0yM10KMjIgICAgICAgIDAuMDI5OCAgODYwMS5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZnVuYz46dG9CYXNlNjRbdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctYmFz
ZTY0LmpzOjQ1LTcyXQoyMiAgICAgICAgMC4wMjk4ICA4NjAxLmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPn4xCjIyICAgICAgICAwLjAyOTggIDg2MDUuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+OkFbdGVzdHMvc3Vuc3BpZGVyLTAuOS9tYXRoLXNwZWN0cmFsLW5vcm0uanM6Ni04
XQoyMiAgICAgICAgMC4wMjk4ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpN
TXVsdGlbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjk2LTEwNV0KMjIgICAgICAgIDAu
MDI5OCAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46ZmFzdDNiaXRsb29rdXBb
dGVzdHMvc3Vuc3BpZGVyLTAuOS9iaXRvcHMtM2JpdC1iaXRzLWluLWJ5dGUuanM6NS0yM10KMjIg
ICAgICAgIDAuMDI5OCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SlNTdHJpbmc6OnRv
Qm9vbGVhbihKU0M6OkV4ZWNTdGF0ZSopIGNvbnN0CjIyICAgICAgICAwLjAyOTggIGpzYy1vcHJv
ZmlsZS1hbm5vdGF0ZSAgICBKU0M6OlJlZ0V4cE9iamVjdDo6flJlZ0V4cE9iamVjdCgpCjIyICAg
ICAgICAwLjAyOTggIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OmpzU2luZ2xlQ2hhcmFj
dGVyU3Vic3RyaW5nKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpVU3RyaW5nIGNvbnN0JiwgdW5zaWdu
ZWQgaW50KQoyMiAgICAgICAgMC4wMjk4ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgV1RGOjpU
Q01hbGxvY19UaHJlYWRDYWNoZTo6SW5pdE1vZHVsZSgpCjIyICAgICAgICAwLjAyOTggIGpzYy1v
cHJvZmlsZS1hbm5vdGF0ZSAgICBjdGlfb3BfbmV3X2Z1bmMKMjEgICAgICAgIDAuMDI4NCAgODU2
Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46TWl4Q29sdW1uc1t0ZXN0cy9zdW5zcGlk
ZXItMC45L2NyeXB0by1hZXMuanM6NTctNzJdCjIxICAgICAgICAwLjAyODQgIDg1Nzcuam8gICAg
ICAgICAgICAgICAgICA8aml0LWZ1bmM+OmZhc3QzYml0bG9va3VwW3Rlc3RzL3N1bnNwaWRlci0w
LjkvYml0b3BzLTNiaXQtYml0cy1pbi1ieXRlLmpzOjUtMjNdCjIxICAgICAgICAwLjAyODQgIDg1
Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnRvQmFzZTY0W3Rlc3RzL3N1bnNwaWRl
ci0wLjkvc3RyaW5nLWJhc2U2NC5qczo0NS03Ml0KMjEgICAgICAgIDAuMDI4NCAgODU4MS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46QXR1W3Rlc3RzL3N1bnNwaWRlci0wLjkvbWF0aC1z
cGVjdHJhbC1ub3JtLmpzOjE5LTI2XQoyMSAgICAgICAgMC4wMjg0ICA4NTgxLmpvICAgICAgICAg
ICAgICAgICAgPGppdC1mdW5jPjpyYW5kW3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLWZhc3Rh
LmpzOjgtMTFdCjIxICAgICAgICAwLjAyODQgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8aml0
LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXVucGFjay1jb2RlLmpzOjE2LTE2XSUx
MDAKMjEgICAgICAgIDAuMDI4NCAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46
TWl4Q29sdW1uc1t0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1hZXMuanM6NTctNzJdCjIxICAg
ICAgICAwLjAyODQgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1
bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQtdG9mdGUuanM6OC0yOTBdCjIxICAgICAgICAwLjAyODQg
IDg1OTcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkv
c3RyaW5nLXVucGFjay1jb2RlLmpzOjE2LTE2XSUxMDAKMjEgICAgICAgIDAuMDI4NCAgODYwMS5q
byAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46ZG9UZXN0W3Rlc3RzL3N1bnNwaWRlci0wLjkv
c3RyaW5nLXZhbGlkYXRlLWlucHV0LmpzOjgtNjBdCjIxICAgICAgICAwLjAyODQgIDg2MDUuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnNhZmVfYWRkW3Rlc3RzL3N1bnNwaWRlci0wLjkv
Y3J5cHRvLW1kNS5qczoxODMtMTg3XQoyMSAgICAgICAgMC4wMjg0ICBqc2Mtb3Byb2ZpbGUtYW5u
b3RhdGUgICAgSlNDOjphcnJheVByb3RvRnVuY1RvU3RyaW5nKEpTQzo6RXhlY1N0YXRlKiwgSlND
OjpKU09iamVjdCosIEpTQzo6SlNWYWx1ZSwgSlNDOjpBcmdMaXN0IGNvbnN0JikKMjEgICAgICAg
IDAuMDI4NCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6b2JqZWN0UHJvdG9GdW5jSGFz
T3duUHJvcGVydHkoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTT2JqZWN0KiwgSlNDOjpKU1ZhbHVl
LCBKU0M6OkFyZ0xpc3QgY29uc3QmKQoyMSAgICAgICAgMC4wMjg0ICBqc2Mtb3Byb2ZpbGUtYW5u
b3RhdGUgICAgV1RGOjpWZWN0b3I8SlNDOjpTbG93Q2FzZUVudHJ5LCAwdT46OmV4cGFuZENhcGFj
aXR5KHVuc2lnbmVkIGludCkKMjAgICAgICAgIDAuMDI3MSAgODQ5NS5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczoxODktMjQy
XQoyMCAgICAgICAgMC4wMjcxICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpB
dHVbdGVzdHMvc3Vuc3BpZGVyLTAuOS9tYXRoLXNwZWN0cmFsLW5vcm0uanM6MTktMjZdCjIwICAg
ICAgICAwLjAyNzEgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnJhbmRbdGVz
dHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctZmFzdGEuanM6OC0xMV0KMjAgICAgICAgIDAuMDI3MSAg
ODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c2FmZV9hZGRbdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS9jcnlwdG8tbWQ1LmpzOjE4My0xODddCjIwICAgICAgICAwLjAyNzEgIDg1NTUuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnRvQmFzZTY0W3Rlc3RzL3N1bnNwaWRlci0wLjkv
c3RyaW5nLWJhc2U2NC5qczo0NS03Ml0KMjAgICAgICAgIDAuMDI3MSAgODU2Mi5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC10b2Z0
ZS5qczo4LTI5MF0KMjAgICAgICAgIDAuMDI3MSAgODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZnVuYz46QXVbdGVzdHMvc3Vuc3BpZGVyLTAuOS9tYXRoLXNwZWN0cmFsLW5vcm0uanM6MTAt
MTddCjIwICAgICAgICAwLjAyNzEgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
OmRvVGVzdFt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy12YWxpZGF0ZS1pbnB1dC5qczo4LTYw
XQoyMCAgICAgICAgMC4wMjcxICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpy
YW5kW3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLWZhc3RhLmpzOjgtMTFdCjIwICAgICAgICAw
LjAyNzEgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnNhZmVfYWRkW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvY3J5cHRvLW1kNS5qczoxODMtMTg3XQoyMCAgICAgICAgMC4wMjcxICA4
NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L2Rh
dGUtZm9ybWF0LXhwYXJiLmpzOjM1MS0zNjBdCjIwICAgICAgICAwLjAyNzEgIDg1ODEuam8gICAg
ICAgICAgICAgICAgICA8aml0LWZ1bmM+OkF1W3Rlc3RzL3N1bnNwaWRlci0wLjkvbWF0aC1zcGVj
dHJhbC1ub3JtLmpzOjEwLTE3XQoyMCAgICAgICAgMC4wMjcxICA4NTgxLmpvICAgICAgICAgICAg
ICAgICAgPGppdC1mdW5jPjptYWtlTmFtZVt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy12YWxp
ZGF0ZS1pbnB1dC5qczo2My03MV0KMjAgICAgICAgIDAuMDI3MSAgODU4MS5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC10b2Z0ZS5q
czo4LTI5MF0KMjAgICAgICAgIDAuMDI3MSAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46QVt0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtc3BlY3RyYWwtbm9ybS5qczo2LThdCjIw
ICAgICAgICAwLjAyNzEgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OkF1W3Rl
c3RzL3N1bnNwaWRlci0wLjkvbWF0aC1zcGVjdHJhbC1ub3JtLmpzOjEwLTE3XQoyMCAgICAgICAg
MC4wMjcxICA4NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpzYWZlX2FkZFt0ZXN0
cy9zdW5zcGlkZXItMC45L2NyeXB0by1tZDUuanM6MTgzLTE4N10KMjAgICAgICAgIDAuMDI3MSAg
anNjLW9wcm9maWxlLWFubm90YXRlICAgIEpJVFN0dWJUaHVua2VkX29wX3RvX3ByaW1pdGl2ZQoy
MCAgICAgICAgMC4wMjcxICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpQcm9wZXJ0eVNs
b3Q6OmdldFZhbHVlKEpTQzo6RXhlY1N0YXRlKiwgdW5zaWduZWQgaW50KSBjb25zdAoxOSAgICAg
ICAgMC4wMjU3ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpBdVt0ZXN0cy9z
dW5zcGlkZXItMC45L21hdGgtc3BlY3RyYWwtbm9ybS5qczoxMC0xN10KMTkgICAgICAgIDAuMDI1
NyAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46ZmFzdDNiaXRsb29rdXBbdGVz
dHMvc3Vuc3BpZGVyLTAuOS9iaXRvcHMtM2JpdC1iaXRzLWluLWJ5dGUuanM6NS0yM10KMTkgICAg
ICAgIDAuMDI1NyAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5+MQoxOSAgICAg
ICAgMC4wMjU3ICA4NTgxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpmYXN0M2JpdGxv
b2t1cFt0ZXN0cy9zdW5zcGlkZXItMC45L2JpdG9wcy0zYml0LWJpdHMtaW4tYnl0ZS5qczo1LTIz
XQoxOSAgICAgICAgMC4wMjU3ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpB
dHVbdGVzdHMvc3Vuc3BpZGVyLTAuOS9tYXRoLXNwZWN0cmFsLW5vcm0uanM6MTktMjZdCjE5ICAg
ICAgICAwLjAyNTcgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnNhZmVfYWRk
W3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLXNoYTEuanM6MTI5LTEzM10KMTkgICAgICAgIDAu
MDI1NyAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46ZG9UZXN0W3Rlc3RzL3N1
bnNwaWRlci0wLjkvc3RyaW5nLXZhbGlkYXRlLWlucHV0LmpzOjgtNjBdCjE5ICAgICAgICAwLjAy
NTcgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnJhbmRbdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS9zdHJpbmctZmFzdGEuanM6OC0xMV0KMTkgICAgICAgIDAuMDI1NyAgODU5My5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c2FmZV9hZGRbdGVzdHMvc3Vuc3BpZGVyLTAuOS9j
cnlwdG8tbWQ1LmpzOjE4My0xODddCjE5ICAgICAgICAwLjAyNTcgIDg1OTMuam8gICAgICAgICAg
ICAgICAgICA8aml0LWZ1bmM+OnRvQmFzZTY0W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLWJh
c2U2NC5qczo0NS03Ml0KMTkgICAgICAgIDAuMDI1NyAgODU5My5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz5+MQoxOSAgICAgICAgMC4wMjU3ICA4NTk3LmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPjpzYWZlX2FkZFt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1tZDUuanM6MTgz
LTE4N10KMTkgICAgICAgIDAuMDI1NyAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVu
Yz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC10b2Z0ZS5qczo4LTI5MF0KMTkgICAg
ICAgIDAuMDI1NyAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46QXR1W3Rlc3Rz
L3N1bnNwaWRlci0wLjkvbWF0aC1zcGVjdHJhbC1ub3JtLmpzOjE5LTI2XQoxOSAgICAgICAgMC4w
MjU3ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpzYWZlX2FkZFt0ZXN0cy9z
dW5zcGlkZXItMC45L2NyeXB0by1zaGExLmpzOjEyOS0xMzNdCjE5ICAgICAgICAwLjAyNTcgIDg2
MDUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0
ZS1mb3JtYXQteHBhcmIuanM6MzUxLTM2MF0KMTkgICAgICAgIDAuMDI1NyAganNjLW9wcm9maWxl
LWFubm90YXRlICAgIEpJVFN0dWJUaHVua2VkX2hhc19wcm9wZXJ0eQoxOSAgICAgICAgMC4wMjU3
ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSklUU3R1YlRodW5rZWRfb3BfZ2V0X2J5X2lkX2dl
bmVyaWMKMTkgICAgICAgIDAuMDI1NyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SklU
Ojpwcml2YXRlQ29tcGlsZVNsb3dDYXNlcygpCjE5ICAgICAgICAwLjAyNTcgIGpzYy1vcHJvZmls
ZS1hbm5vdGF0ZSAgICBKU0M6OkpTU3RyaW5nOjp0b051bWJlcihKU0M6OkV4ZWNTdGF0ZSopIGNv
bnN0CjE5ICAgICAgICAwLjAyNTcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OlN0cmlu
Z1Byb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpJZGVu
dGlmaWVyIGNvbnN0JiwgSlNDOjpQcm9wZXJ0eVNsb3QmKQoxOSAgICAgICAgMC4wMjU3ICBqc2Mt
b3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpkYXRlUHJvdG9GdW5jR2V0TWludXRlcyhKU0M6OkV4
ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUsIEpTQzo6QXJnTGlzdCBjb25z
dCYpCjE5ICAgICAgICAwLjAyNTcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBjdGlfb3BfbmV3
X2FycmF5CjE4ICAgICAgICAwLjAyNDQgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1
bmM+OmRvVGVzdFt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy12YWxpZGF0ZS1pbnB1dC5qczo4
LTYwXQoxOCAgICAgICAgMC4wMjQ0ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5j
PjpBdVt0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtc3BlY3RyYWwtbm9ybS5qczoxMC0xN10KMTgg
ICAgICAgIDAuMDI0NCAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c2FmZV9h
ZGRbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tbWQ1LmpzOjE4My0xODddCjE4ICAgICAgICAw
LjAyNDQgIDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRl
ci0wLjkvc3RyaW5nLXVucGFjay1jb2RlLmpzOjE2LTE2XSUxMDAKMTggICAgICAgIDAuMDI0NCAg
ODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46QVt0ZXN0cy9zdW5zcGlkZXItMC45
L21hdGgtc3BlY3RyYWwtbm9ybS5qczo2LThdCjE4ICAgICAgICAwLjAyNDQgIDg1ODUuam8gICAg
ICAgICAgICAgICAgICA8aml0LWZ1bmM+OmZhc3QzYml0bG9va3VwW3Rlc3RzL3N1bnNwaWRlci0w
LjkvYml0b3BzLTNiaXQtYml0cy1pbi1ieXRlLmpzOjUtMjNdCjE4ICAgICAgICAwLjAyNDQgIDg1
OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Ok1NdWx0aVt0ZXN0cy9zdW5zcGlkZXIt
MC45LzNkLWN1YmUuanM6OTYtMTA1XQoxOCAgICAgICAgMC4wMjQ0ICBqc2Mtb3Byb2ZpbGUtYW5u
b3RhdGUgICAgSlNDOjpKU1ZhbHVlOjp0b0ludGVnZXIoSlNDOjpFeGVjU3RhdGUqKSBjb25zdAox
OCAgICAgICAgMC4wMjQ0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpkYXRlUHJvdG9G
dW5jU2V0VGltZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUs
IEpTQzo6QXJnTGlzdCBjb25zdCYpCjE4ICAgICAgICAwLjAyNDQgIGpzYy1vcHJvZmlsZS1hbm5v
dGF0ZSAgICBXVEY6Okhhc2hUYWJsZTxkb3VibGUsIHN0ZDo6cGFpcjxkb3VibGUsIEpTQzo6SlNW
YWx1ZT4sIFdURjo6UGFpckZpcnN0RXh0cmFjdG9yPHN0ZDo6cGFpcjxkb3VibGUsIEpTQzo6SlNW
YWx1ZT4gPiwgV1RGOjpGbG9hdEhhc2g8ZG91YmxlPiwgV1RGOjpQYWlySGFzaFRyYWl0czxXVEY6
Okhhc2hUcmFpdHM8ZG91YmxlPiwgV1RGOjpIYXNoVHJhaXRzPEpTQzo6SlNWYWx1ZT4gPiwgV1RG
OjpIYXNoVHJhaXRzPGRvdWJsZT4gPjo6cmVoYXNoKGludCkKMTggICAgICAgIDAuMDI0NCAganNj
LW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6dGltZUNsaXAoZG91YmxlKQoxNyAgICAgICAgMC4w
MjMwICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXIt
MC45L3N0cmluZy11bnBhY2stY29kZS5qczoxNi0xNl0lMTAwCjE3ICAgICAgICAwLjAyMzAgIDg1
NjIuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmZhc3QzYml0bG9va3VwW3Rlc3RzL3N1
bnNwaWRlci0wLjkvYml0b3BzLTNiaXQtYml0cy1pbi1ieXRlLmpzOjUtMjNdCjE3ICAgICAgICAw
LjAyMzAgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmJvdHRvbVVwVHJlZVt0
ZXN0cy9zdW5zcGlkZXItMC45L2FjY2Vzcy1iaW5hcnktdHJlZXMuanM6MTYtMjddCjE3ICAgICAg
ICAwLjAyMzAgIDg1ODkuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Om1ha2VOYW1lW3Rl
c3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXZhbGlkYXRlLWlucHV0LmpzOjYzLTcxXQoxNyAgICAg
ICAgMC4wMjMwICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpTaGlmdFJvd3Nb
dGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tYWVzLmpzOjQ3LTU0XQoxNyAgICAgICAgMC4wMjMw
ICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjptYWtlTmFtZVt0ZXN0cy9zdW5z
cGlkZXItMC45L3N0cmluZy12YWxpZGF0ZS1pbnB1dC5qczo2My03MV0KMTcgICAgICAgIDAuMDIz
MCAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAu
OS8zZC1yYXl0cmFjZS5qczoxODktMjQyXQoxNyAgICAgICAgMC4wMjMwICA4NTk3LmpvICAgICAg
ICAgICAgICAgICAgPGppdC1mdW5jPjpBW3Rlc3RzL3N1bnNwaWRlci0wLjkvbWF0aC1zcGVjdHJh
bC1ub3JtLmpzOjYtOF0KMTcgICAgICAgIDAuMDIzMCAgODU5Ny5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczoxODktMjQyXQox
NyAgICAgICAgMC4wMjMwICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPn4xCjE3
ICAgICAgICAwLjAyMzAgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmZhc3Qz
Yml0bG9va3VwW3Rlc3RzL3N1bnNwaWRlci0wLjkvYml0b3BzLTNiaXQtYml0cy1pbi1ieXRlLmpz
OjUtMjNdCjE3ICAgICAgICAwLjAyMzAgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1
bmM+OkF0dVt0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtc3BlY3RyYWwtbm9ybS5qczoxOS0yNl0K
MTcgICAgICAgIDAuMDIzMCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6Qnl0ZWNvZGVH
ZW5lcmF0b3I6OmVtaXRPcGNvZGUoSlNDOjpPcGNvZGVJRCkKMTcgICAgICAgIDAuMDIzMCAganNj
LW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SlNPYmplY3Q6OnRvUHJpbWl0aXZlKEpTQzo6RXhl
Y1N0YXRlKiwgSlNDOjpQcmVmZXJyZWRQcmltaXRpdmVUeXBlKSBjb25zdAoxNyAgICAgICAgMC4w
MjMwICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKU1N0cmluZ0J1aWxkZXI6OmJ1aWxk
KEpTQzo6RXhlY1N0YXRlKikKMTcgICAgICAgIDAuMDIzMCAganNjLW9wcm9maWxlLWFubm90YXRl
ICAgIEpTQzo6VVN0cmluZzo6VVN0cmluZyhjaGFyIGNvbnN0KikKMTcgICAgICAgIDAuMDIzMCAg
anNjLW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6SGFzaE1hcDxkb3VibGUsIEpTQzo6SlNWYWx1
ZSwgV1RGOjpGbG9hdEhhc2g8ZG91YmxlPiwgV1RGOjpIYXNoVHJhaXRzPGRvdWJsZT4sIFdURjo6
SGFzaFRyYWl0czxKU0M6OkpTVmFsdWU+ID46OmFkZChkb3VibGUgY29uc3QmLCBKU0M6OkpTVmFs
dWUgY29uc3QmKQoxNyAgICAgICAgMC4wMjMwICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgY3Rp
X29wX2JpdHhvcgoxNiAgICAgICAgMC4wMjE3ICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGpp
dC1mdW5jPjpkb1Rlc3RbdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdmFsaWRhdGUtaW5wdXQu
anM6OC02MF0KMTYgICAgICAgIDAuMDIxNyAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46d2Fsa1t0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy10YWdjbG91ZC5qczoxODAtMTkz
XQoxNiAgICAgICAgMC4wMjE3ICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn41
CjE2ICAgICAgICAwLjAyMTcgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmJv
dHRvbVVwVHJlZVt0ZXN0cy9zdW5zcGlkZXItMC45L2FjY2Vzcy1iaW5hcnktdHJlZXMuanM6MTYt
MjddCjE2ICAgICAgICAwLjAyMTcgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+
fjYKMTYgICAgICAgIDAuMDIxNyAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46
QVt0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtc3BlY3RyYWwtbm9ybS5qczo2LThdCjE2ICAgICAg
ICAwLjAyMTcgIDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmJvdHRvbVVwVHJl
ZVt0ZXN0cy9zdW5zcGlkZXItMC45L2FjY2Vzcy1iaW5hcnktdHJlZXMuanM6MTYtMjddCjE2ICAg
ICAgICAwLjAyMTcgIDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Om1ha2VOYW1l
W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXZhbGlkYXRlLWlucHV0LmpzOjYzLTcxXQoxNiAg
ICAgICAgMC4wMjE3ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpyYW5kW3Rl
c3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLWZhc3RhLmpzOjgtMTFdCjE2ICAgICAgICAwLjAyMTcg
IDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjgKMTYgICAgICAgIDAuMDIxNyAg
ODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+NAoxNiAgICAgICAgMC4wMjE3ICA4
NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn43CjE2ICAgICAgICAwLjAyMTcgIDg1
ODEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OkFbdGVzdHMvc3Vuc3BpZGVyLTAuOS9t
YXRoLXNwZWN0cmFsLW5vcm0uanM6Ni04XQoxNiAgICAgICAgMC4wMjE3ICA4NTgxLmpvICAgICAg
ICAgICAgICAgICAgPGppdC15YXJyPn41CjE2ICAgICAgICAwLjAyMTcgIDg1ODUuam8gICAgICAg
ICAgICAgICAgICA8aml0LXlhcnI+fjkKMTYgICAgICAgIDAuMDIxNyAgODU4OS5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNv
ZGUuanM6MTYtMTZdJTEwMAoxNiAgICAgICAgMC4wMjE3ICA4NTg5LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPn4xCjE2ICAgICAgICAwLjAyMTcgIDg1ODkuam8gICAgICAgICAgICAgICAg
ICA8aml0LXlhcnI+fjMKMTYgICAgICAgIDAuMDIxNyAgODU5My5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz46QXR1W3Rlc3RzL3N1bnNwaWRlci0wLjkvbWF0aC1zcGVjdHJhbC1ub3JtLmpz
OjE5LTI2XQoxNiAgICAgICAgMC4wMjE3ICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPjpkb1Rlc3RbdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdmFsaWRhdGUtaW5wdXQuanM6
OC02MF0KMTYgICAgICAgIDAuMDIxNyAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVu
Yz46c2FmZV9hZGRbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tc2hhMS5qczoxMjktMTMzXQox
NiAgICAgICAgMC4wMjE3ICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn41CjE2
ICAgICAgICAwLjAyMTcgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjgKMTYg
ICAgICAgIDAuMDIxNyAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46ZmliW3Rl
c3RzL3N1bnNwaWRlci0wLjkvY29udHJvbGZsb3ctcmVjdXJzaXZlLmpzOjExLTE0XQoxNiAgICAg
ICAgMC4wMjE3ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5z
cGlkZXItMC45L3JlZ2V4cC1kbmEuanM6MS0xNzExXSUxMDAKMTYgICAgICAgIDAuMDIxNyAgODU5
Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+NQoxNiAgICAgICAgMC4wMjE3ICA4NjAx
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpjb3JlX3NoYTFbdGVzdHMvc3Vuc3BpZGVy
LTAuOS9jcnlwdG8tc2hhMS5qczo0MS04Ml0KMTYgICAgICAgIDAuMDIxNyAgODYwMS5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtZnVuYz46ZmFzdGFSZXBlYXRbdGVzdHMvc3Vuc3BpZGVyLTAuOS9z
dHJpbmctZmFzdGEuanM6NDQtNThdJTEwMAoxNiAgICAgICAgMC4wMjE3ICA4NjAxLmpvICAgICAg
ICAgICAgICAgICAgPGppdC15YXJyPn4zCjE2ICAgICAgICAwLjAyMTcgIDg2MDUuam8gICAgICAg
ICAgICAgICAgICA8aml0LWZ1bmM+OnJhbmRbdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctZmFz
dGEuanM6OC0xMV0KMTYgICAgICAgIDAuMDIxNyAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC10b2Z0ZS5qczo4LTI5MF0K
MTYgICAgICAgIDAuMDIxNyAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+NQox
NiAgICAgICAgMC4wMjE3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKU09iamVjdDo6
fkpTT2JqZWN0KCkKMTYgICAgICAgIDAuMDIxNyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpT
Qzo6U3RydWN0dXJlOjphZGRQcm9wZXJ0eVdpdGhvdXRUcmFuc2l0aW9uKEpTQzo6SWRlbnRpZmll
ciBjb25zdCYsIHVuc2lnbmVkIGludCwgSlNDOjpKU0NlbGwqKQoxNiAgICAgICAgMC4wMjE3ICBq
c2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpTdHJ1Y3R1cmU6OmNvcHlQcm9wZXJ0eVRhYmxl
KCkKMTYgICAgICAgIDAuMDIxNyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6U3RydWN0
dXJlOjp0b0RpY3Rpb25hcnlUcmFuc2l0aW9uKEpTQzo6U3RydWN0dXJlKiwgSlNDOjpTdHJ1Y3R1
cmU6OkRpY3Rpb25hcnlLaW5kKQoxNiAgICAgICAgMC4wMjE3ICBqc2Mtb3Byb2ZpbGUtYW5ub3Rh
dGUgICAgY3RpX29wX2NvbnN0cnVjdF9KU0NvbnN0cnVjdAoxNSAgICAgICAgMC4wMjAzICA4NDk1
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpyYW5kW3Rlc3RzL3N1bnNwaWRlci0wLjkv
c3RyaW5nLWZhc3RhLmpzOjgtMTFdCjE1ICAgICAgICAwLjAyMDMgIDg0OTUuam8gICAgICAgICAg
ICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQteHBhcmIu
anM6MzUxLTM2MF0KMTUgICAgICAgIDAuMDIwMyAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxq
aXQteWFycj5+MTEKMTUgICAgICAgIDAuMDIwMyAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxq
aXQteWFycj5+MwoxNSAgICAgICAgMC4wMjAzICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGpp
dC15YXJyPn40CjE1ICAgICAgICAwLjAyMDMgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8aml0
LXlhcnI+fjYKMTUgICAgICAgIDAuMDIwMyAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
eWFycj5+OAoxNSAgICAgICAgMC4wMjAzICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC15
YXJyPn45CjE1ICAgICAgICAwLjAyMDMgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LXlh
cnI+fjEwCjE1ICAgICAgICAwLjAyMDMgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LXlh
cnI+fjExCjE1ICAgICAgICAwLjAyMDMgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LXlh
cnI+fjcKMTUgICAgICAgIDAuMDIwMyAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFy
cj5+OAoxNSAgICAgICAgMC4wMjAzICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJy
Pn45CjE1ICAgICAgICAwLjAyMDMgIDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
OmRvVGVzdFt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy12YWxpZGF0ZS1pbnB1dC5qczo4LTYw
XQoxNSAgICAgICAgMC4wMjAzICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4x
MQoxNSAgICAgICAgMC4wMjAzICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn40
CjE1ICAgICAgICAwLjAyMDMgIDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjcK
MTUgICAgICAgIDAuMDIwMyAgODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46U3Vi
Qnl0ZXNbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tYWVzLmpzOjM5LTQ0XQoxNSAgICAgICAg
MC4wMjAzICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjptYWtlTmFtZVt0ZXN0
cy9zdW5zcGlkZXItMC45L3N0cmluZy12YWxpZGF0ZS1pbnB1dC5qczo2My03MV0KMTUgICAgICAg
IDAuMDIwMyAgODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS9kYXRlLWZvcm1hdC10b2Z0ZS5qczo4LTI5MF0KMTUgICAgICAgIDAuMDIwMyAgODU3
Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJp
bmctdW5wYWNrLWNvZGUuanM6MTYtMTZdJTEwMAoxNSAgICAgICAgMC4wMjAzICA4NTc3LmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPn4xCjE1ICAgICAgICAwLjAyMDMgIDg1Nzcuam8gICAg
ICAgICAgICAgICAgICA8aml0LXlhcnI+fjEwCjE1ICAgICAgICAwLjAyMDMgIDg1Nzcuam8gICAg
ICAgICAgICAgICAgICA8aml0LXlhcnI+fjExCjE1ICAgICAgICAwLjAyMDMgIDg1Nzcuam8gICAg
ICAgICAgICAgICAgICA8aml0LXlhcnI+fjMKMTUgICAgICAgIDAuMDIwMyAgODU3Ny5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQteWFycj5+NQoxNSAgICAgICAgMC4wMjAzICA4NTc3LmpvICAgICAg
ICAgICAgICAgICAgPGppdC15YXJyPn45CjE1ICAgICAgICAwLjAyMDMgIDg1ODEuam8gICAgICAg
ICAgICAgICAgICA8aml0LXlhcnI+fjEwCjE1ICAgICAgICAwLjAyMDMgIDg1ODEuam8gICAgICAg
ICAgICAgICAgICA8aml0LXlhcnI+fjYKMTUgICAgICAgIDAuMDIwMyAgODU4MS5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQteWFycj5+NwoxNSAgICAgICAgMC4wMjAzICA4NTgxLmpvICAgICAgICAg
ICAgICAgICAgPGppdC15YXJyPn44CjE1ICAgICAgICAwLjAyMDMgIDg1ODEuam8gICAgICAgICAg
ICAgICAgICA8aml0LXlhcnI+fjkKMTUgICAgICAgIDAuMDIwMyAgODU4NS5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZnVuYz46QWRkUm91bmRLZXlbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8t
YWVzLmpzOjc1LTgwXQoxNSAgICAgICAgMC4wMjAzICA4NTg1LmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPjpkb1Rlc3RbdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdmFsaWRhdGUtaW5w
dXQuanM6OC02MF0KMTUgICAgICAgIDAuMDIwMyAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczoxODktMjQyXQoxNSAg
ICAgICAgMC4wMjAzICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4xMAoxNSAg
ICAgICAgMC4wMjAzICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4xMQoxNSAg
ICAgICAgMC4wMjAzICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4zCjE1ICAg
ICAgICAwLjAyMDMgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjQKMTUgICAg
ICAgIDAuMDIwMyAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+NgoxNSAgICAg
ICAgMC4wMjAzICA4NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpyYW5kW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvc3RyaW5nLWZhc3RhLmpzOjgtMTFdCjE1ICAgICAgICAwLjAyMDMgIDg1
ODkuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjEwCjE1ICAgICAgICAwLjAyMDMgIDg1
ODkuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjExCjE1ICAgICAgICAwLjAyMDMgIDg1
ODkuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjUKMTUgICAgICAgIDAuMDIwMyAgODU4
OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+NgoxNSAgICAgICAgMC4wMjAzICA4NTg5
LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn43CjE1ICAgICAgICAwLjAyMDMgIDg1ODku
am8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjgKMTUgICAgICAgIDAuMDIwMyAgODU4OS5q
byAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+OQoxNSAgICAgICAgMC4wMjAzICA4NTkzLmpv
ICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4xMQoxNSAgICAgICAgMC4wMjAzICA4NTkzLmpv
ICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4zCjE1ICAgICAgICAwLjAyMDMgIDg1OTMuam8g
ICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjQKMTUgICAgICAgIDAuMDIwMyAgODU5My5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQteWFycj5+NwoxNSAgICAgICAgMC4wMjAzICA4NTkzLmpvICAg
ICAgICAgICAgICAgICAgPGppdC15YXJyPn45CjE1ICAgICAgICAwLjAyMDMgIDg1OTcuam8gICAg
ICAgICAgICAgICAgICA8aml0LWZ1bmM+OlNoaWZ0Um93c1t0ZXN0cy9zdW5zcGlkZXItMC45L2Ny
eXB0by1hZXMuanM6NDctNTRdCjE1ICAgICAgICAwLjAyMDMgIDg1OTcuam8gICAgICAgICAgICAg
ICAgICA8aml0LWZ1bmM+OnJhbmRbdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctZmFzdGEuanM6
OC0xMV0KMTUgICAgICAgIDAuMDIwMyAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVu
Yz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC14cGFyYi5qczozNTEtMzYwXQoxNSAg
ICAgICAgMC4wMjAzICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4xMAoxNSAg
ICAgICAgMC4wMjAzICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn40CjE1ICAg
ICAgICAwLjAyMDMgIDg1OTcuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjcKMTUgICAg
ICAgIDAuMDIwMyAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+OAoxNSAgICAg
ICAgMC4wMjAzICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn45CjE1ICAgICAg
ICAwLjAyMDMgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OkFbdGVzdHMvc3Vu
c3BpZGVyLTAuOS9tYXRoLXNwZWN0cmFsLW5vcm0uanM6Ni04XQoxNSAgICAgICAgMC4wMjAzICA4
NjAxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpzYWZlX2FkZFt0ZXN0cy9zdW5zcGlk
ZXItMC45L2NyeXB0by1tZDUuanM6MTgzLTE4N10KMTUgICAgICAgIDAuMDIwMyAgODYwMS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5w
YWNrLWNvZGUuanM6MTYtMTZdJTEwMAoxNSAgICAgICAgMC4wMjAzICA4NjAxLmpvICAgICAgICAg
ICAgICAgICAgPGppdC15YXJyPn4xMAoxNSAgICAgICAgMC4wMjAzICA4NjAxLmpvICAgICAgICAg
ICAgICAgICAgPGppdC15YXJyPn4xMQoxNSAgICAgICAgMC4wMjAzICA4NjAxLmpvICAgICAgICAg
ICAgICAgICAgPGppdC15YXJyPn40CjE1ICAgICAgICAwLjAyMDMgIDg2MDEuam8gICAgICAgICAg
ICAgICAgICA8aml0LXlhcnI+fjYKMTUgICAgICAgIDAuMDIwMyAgODYwMS5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQteWFycj5+NwoxNSAgICAgICAgMC4wMjAzICA4NjAxLmpvICAgICAgICAgICAg
ICAgICAgPGppdC15YXJyPn44CjE1ICAgICAgICAwLjAyMDMgIDg2MDEuam8gICAgICAgICAgICAg
ICAgICA8aml0LXlhcnI+fjkKMTUgICAgICAgIDAuMDIwMyAgODYwNS5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz46RHJhd1F1YmVbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE4
Ni0yMzBdCjE1ICAgICAgICAwLjAyMDMgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1
bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvYWNjZXNzLWJpbmFyeS10cmVlcy5qczoxMS0xNF0KMTUg
ICAgICAgIDAuMDIwMyAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MTAKMTUg
ICAgICAgIDAuMDIwMyAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MTEKMTUg
ICAgICAgIDAuMDIwMyAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MwoxNSAg
ICAgICAgMC4wMjAzICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn40CjE1ICAg
ICAgICAwLjAyMDMgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjYKMTUgICAg
ICAgIDAuMDIwMyAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+NwoxNSAgICAg
ICAgMC4wMjAzICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn44CjE1ICAgICAg
ICAwLjAyMDMgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjkKMTUgICAgICAg
IDAuMDIwMyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpJVFN0dWJUaHVua2VkX3JlZ2lzdGVy
X2ZpbGVfY2hlY2sKMTUgICAgICAgIDAuMDIwMyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpT
Qzo6SGVhcDo6YWxsb2NhdGVCbG9jaygpCjE1ICAgICAgICAwLjAyMDMgIGpzYy1vcHJvZmlsZS1h
bm5vdGF0ZSAgICBKU0M6OkpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDOjpFeGVjU3Rh
dGUqLCBKU0M6OklkZW50aWZpZXIgY29uc3QmLCBKU0M6OlByb3BlcnR5U2xvdCYpCjE1ICAgICAg
ICAwLjAyMDMgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICB2b2lkIFdURjo6ZGVyZWZJZk5vdE51
bGw8SlNDOjpFdmFsRXhlY3V0YWJsZT4oSlNDOjpFdmFsRXhlY3V0YWJsZSopCjE0ICAgICAgICAw
LjAxOTAgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OkF0dVt0ZXN0cy9zdW5z
cGlkZXItMC45L21hdGgtc3BlY3RyYWwtbm9ybS5qczoxOS0yNl0KMTQgICAgICAgIDAuMDE5MCAg
ODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46VGltZUZ1bmNbdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS9iaXRvcHMtM2JpdC1iaXRzLWluLWJ5dGUuanM6MjYtMzBdCjE0ICAgICAgICAwLjAx
OTAgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmJvdHRvbVVwVHJlZVt0ZXN0
cy9zdW5zcGlkZXItMC45L2FjY2Vzcy1iaW5hcnktdHJlZXMuanM6MTYtMjddCjE0ICAgICAgICAw
LjAxOTAgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnNhZmVfYWRkW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvY3J5cHRvLW1kNS5qczoxODMtMTg3XQoxNCAgICAgICAgMC4wMTkwICA4
NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpzYWZlX2FkZFt0ZXN0cy9zdW5zcGlk
ZXItMC45L2NyeXB0by1zaGExLmpzOjEyOS0xMzNdCjE0ICAgICAgICAwLjAxOTAgIDg0OTUuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3Jt
YXQtdG9mdGUuanM6OC0yOTBdCjE0ICAgICAgICAwLjAxOTAgIDg0OTUuam8gICAgICAgICAgICAg
ICAgICA8aml0LXlhcnI+fjEwCjE0ICAgICAgICAwLjAxOTAgIDg0OTUuam8gICAgICAgICAgICAg
ICAgICA8aml0LXlhcnI+fjcKMTQgICAgICAgIDAuMDE5MCAgODU1NS5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz46ZmliW3Rlc3RzL3N1bnNwaWRlci0wLjkvY29udHJvbGZsb3ctcmVjdXJz
aXZlLmpzOjExLTE0XQoxNCAgICAgICAgMC4wMTkwICA4NTU1LmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPjp3YWxrW3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXRhZ2Nsb3VkLmpzOjE4
MC0xOTNdCjE0ICAgICAgICAwLjAxOTAgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LXlh
cnI+fjMKMTQgICAgICAgIDAuMDE5MCAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVu
Yz46ZmliW3Rlc3RzL3N1bnNwaWRlci0wLjkvY29udHJvbGZsb3ctcmVjdXJzaXZlLmpzOjExLTE0
XQoxNCAgICAgICAgMC4wMTkwICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0
ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXhwYXJiLmpzOjM1MS0zNjBdCjE0ICAgICAg
ICAwLjAxOTAgIDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjEwCjE0ICAgICAg
ICAwLjAxOTAgIDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjMKMTQgICAgICAg
IDAuMDE5MCAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+NQoxNCAgICAgICAg
MC4wMTkwICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpmaWJbdGVzdHMvc3Vu
c3BpZGVyLTAuOS9jb250cm9sZmxvdy1yZWN1cnNpdmUuanM6MTEtMTRdCjE0ICAgICAgICAwLjAx
OTAgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Om1ha2VUYWdDbG91ZFt0ZXN0
cy9zdW5zcGlkZXItMC45L3N0cmluZy10YWdjbG91ZC5qczoyMzItMjYyXQoxNCAgICAgICAgMC4w
MTkwICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4xNQoxNCAgICAgICAgMC4w
MTkwICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn42CjE0ICAgICAgICAwLjAx
OTAgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjgKMTQgICAgICAgIDAuMDE5
MCAgODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46ZmliW3Rlc3RzL3N1bnNwaWRl
ci0wLjkvY29udHJvbGZsb3ctcmVjdXJzaXZlLmpzOjExLTE0XQoxNCAgICAgICAgMC4wMTkwICA4
NTgxLmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4xMQoxNCAgICAgICAgMC4wMTkwICA4
NTgxLmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4zCjE0ICAgICAgICAwLjAxOTAgIDg1
ODEuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjQKMTQgICAgICAgIDAuMDE5MCAgODU4
NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46U3ViQnl0ZXNbdGVzdHMvc3Vuc3BpZGVy
LTAuOS9jcnlwdG8tYWVzLmpzOjM5LTQ0XQoxNCAgICAgICAgMC4wMTkwICA4NTg1LmpvICAgICAg
ICAgICAgICAgICAgPGppdC1mdW5jPjpmaWJbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jb250cm9sZmxv
dy1yZWN1cnNpdmUuanM6MTEtMTRdCjE0ICAgICAgICAwLjAxOTAgIDg1ODUuam8gICAgICAgICAg
ICAgICAgICA8aml0LWZ1bmM+Om1ha2VUYWdDbG91ZFt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmlu
Zy10YWdjbG91ZC5qczoyMzItMjYyXQoxNCAgICAgICAgMC4wMTkwICA4NTg1LmpvICAgICAgICAg
ICAgICAgICAgPGppdC1mdW5jPjpzYWZlX2FkZFt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1t
ZDUuanM6MTgzLTE4N10KMTQgICAgICAgIDAuMDE5MCAgODU4NS5qbyAgICAgICAgICAgICAgICAg
IDxqaXQteWFycj5+NQoxNCAgICAgICAgMC4wMTkwICA4NTg1LmpvICAgICAgICAgICAgICAgICAg
PGppdC15YXJyPn43CjE0ICAgICAgICAwLjAxOTAgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8
aml0LXlhcnI+fjgKMTQgICAgICAgIDAuMDE5MCAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZnVuYz46ZmliW3Rlc3RzL3N1bnNwaWRlci0wLjkvY29udHJvbGZsb3ctcmVjdXJzaXZlLmpz
OjExLTE0XQoxNCAgICAgICAgMC4wMTkwICA4NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC15
YXJyPn40CjE0ICAgICAgICAwLjAxOTAgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1
bmM+OkFkZFJvdW5kS2V5W3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5qczo3NS04MF0K
MTQgICAgICAgIDAuMDE5MCAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46QXVb
dGVzdHMvc3Vuc3BpZGVyLTAuOS9tYXRoLXNwZWN0cmFsLW5vcm0uanM6MTAtMTddCjE0ICAgICAg
ICAwLjAxOTAgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmNvcmVfc2hhMVt0
ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1zaGExLmpzOjQxLTgyXQoxNCAgICAgICAgMC4wMTkw
ICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpmaWJbdGVzdHMvc3Vuc3BpZGVy
LTAuOS9jb250cm9sZmxvdy1yZWN1cnNpdmUuanM6MTEtMTRdCjE0ICAgICAgICAwLjAxOTAgIDg1
OTMuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjEwCjE0ICAgICAgICAwLjAxOTAgIDg1
OTMuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjYKMTQgICAgICAgIDAuMDE5MCAgODU5
Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46QXVbdGVzdHMvc3Vuc3BpZGVyLTAuOS9t
YXRoLXNwZWN0cmFsLW5vcm0uanM6MTAtMTddCjE0ICAgICAgICAwLjAxOTAgIDg1OTcuam8gICAg
ICAgICAgICAgICAgICA8aml0LXlhcnI+fjExCjE0ICAgICAgICAwLjAxOTAgIDg1OTcuam8gICAg
ICAgICAgICAgICAgICA8aml0LXlhcnI+fjMKMTQgICAgICAgIDAuMDE5MCAgODU5Ny5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQteWFycj5+NgoxNCAgICAgICAgMC4wMTkwICA4NjAxLmpvICAgICAg
ICAgICAgICAgICAgPGppdC1mdW5jPjpmaWJbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jb250cm9sZmxv
dy1yZWN1cnNpdmUuanM6MTEtMTRdCjE0ICAgICAgICAwLjAxOTAgIDg2MDEuam8gICAgICAgICAg
ICAgICAgICA8aml0LWZ1bmM+Om1ha2VOYW1lW3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXZh
bGlkYXRlLWlucHV0LmpzOjYzLTcxXQoxNCAgICAgICAgMC4wMTkwICA4NjAxLmpvICAgICAgICAg
ICAgICAgICAgPGppdC15YXJyPn41CjE0ICAgICAgICAwLjAxOTAgIDg2MDUuam8gICAgICAgICAg
ICAgICAgICA8aml0LWZ1bmM+Om1ha2VOdW1iZXJbdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmct
dmFsaWRhdGUtaW5wdXQuanM6NzQtODJdJTEwMAoxNCAgICAgICAgMC4wMTkwICBqc2Mtb3Byb2Zp
bGUtYW5ub3RhdGUgICAgSklUU3R1YlRodW5rZWRfb3BfbmV3X3JlZ2V4cAoxNCAgICAgICAgMC4w
MTkwICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6fkJ5
dGVjb2RlR2VuZXJhdG9yKCkKMTQgICAgICAgIDAuMDE5MCAganNjLW9wcm9maWxlLWFubm90YXRl
ICAgIEpTQzo6Q29kZUJsb2NrOjp1bmxpbmtDYWxsZXJzKCkKMTQgICAgICAgIDAuMDE5MCAganNj
LW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SklUU3R1YkNhbGw6OmNhbGwoKQoxNCAgICAgICAg
MC4wMTkwICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKU1ZhbHVlOjpzeW50aGVzaXpl
UHJvdG90eXBlKEpTQzo6RXhlY1N0YXRlKikgY29uc3QKMTQgICAgICAgIDAuMDE5MCAganNjLW9w
cm9maWxlLWFubm90YXRlICAgIFdURjo6VENNYWxsb2NfQ2VudHJhbF9GcmVlTGlzdDo6U2hyaW5r
Q2FjaGUoaW50LCBib29sKQoxMyAgICAgICAgMC4wMTc2ICA4NDk1LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjpmYXN0M2JpdGxvb2t1cFt0ZXN0cy9zdW5zcGlkZXItMC45L2JpdG9wcy0z
Yml0LWJpdHMtaW4tYnl0ZS5qczo1LTIzXQoxMyAgICAgICAgMC4wMTc2ICA4NDk1LmpvICAgICAg
ICAgICAgICAgICAgPGppdC1mdW5jPjpmaWJbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jb250cm9sZmxv
dy1yZWN1cnNpdmUuanM6MTEtMTRdCjEzICAgICAgICAwLjAxNzYgIDg0OTUuam8gICAgICAgICAg
ICAgICAgICA8aml0LXByb2c+W3Rlc3RzL3N1bnNwaWRlci0wLjkvcmVnZXhwLWRuYS5qczoxLTE3
MTFdJTEwMAoxMyAgICAgICAgMC4wMTc2ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPjptYWtlTmFtZVt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy12YWxpZGF0ZS1pbnB1dC5q
czo2My03MV0KMTMgICAgICAgIDAuMDE3NiAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczoxODktMjQyXQoxMyAgICAg
ICAgMC4wMTc2ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5z
cGlkZXItMC45L2RhdGUtZm9ybWF0LXhwYXJiLmpzOjM1MS0zNjBdCjEzICAgICAgICAwLjAxNzYg
IDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+fjEKMTMgICAgICAgIDAuMDE3NiAg
ODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+NAoxMyAgICAgICAgMC4wMTc2ICA4
NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn41CjEzICAgICAgICAwLjAxNzYgIDg1
NjIuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjE1CjEzICAgICAgICAwLjAxNzYgIDg1
NjIuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjYKMTMgICAgICAgIDAuMDE3NiAgODU2
Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+OQoxMyAgICAgICAgMC4wMTc2ICA4NTgx
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpjb3JlX3NoYTFbdGVzdHMvc3Vuc3BpZGVy
LTAuOS9jcnlwdG8tc2hhMS5qczo0MS04Ml0KMTMgICAgICAgIDAuMDE3NiAgODU4MS5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC14
cGFyYi5qczozNTEtMzYwXQoxMyAgICAgICAgMC4wMTc2ICA4NTgxLmpvICAgICAgICAgICAgICAg
ICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5zcGlkZXItMC45L3JlZ2V4cC1kbmEuanM6MS0xNzExXSUx
MDAKMTMgICAgICAgIDAuMDE3NiAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46
cmFuZFt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy1mYXN0YS5qczo4LTExXQoxMyAgICAgICAg
MC4wMTc2ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlk
ZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczoxNi0xNl0lMTAwCjEzICAgICAgICAwLjAxNzYg
IDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OkFbdGVzdHMvc3Vuc3BpZGVyLTAu
OS9tYXRoLXNwZWN0cmFsLW5vcm0uanM6Ni04XQoxMyAgICAgICAgMC4wMTc2ICA4NTkzLmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPjptYWtlVGFnQ2xvdWRbdGVzdHMvc3Vuc3BpZGVyLTAu
OS9zdHJpbmctdGFnY2xvdWQuanM6MjMyLTI2Ml0KMTMgICAgICAgIDAuMDE3NiAgODU5Ny5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46QXR1W3Rlc3RzL3N1bnNwaWRlci0wLjkvbWF0aC1z
cGVjdHJhbC1ub3JtLmpzOjE5LTI2XQoxMyAgICAgICAgMC4wMTc2ICA4NTk3LmpvICAgICAgICAg
ICAgICAgICAgPGppdC1mdW5jPjp3YWxrW3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXRhZ2Ns
b3VkLmpzOjE4MC0xOTNdCjEzICAgICAgICAwLjAxNzYgIDg2MDEuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+OlRyZWVOb2RlW3Rlc3RzL3N1bnNwaWRlci0wLjkvYWNjZXNzLWJpbmFyeS10
cmVlcy5qczo1LTldCjEzICAgICAgICAwLjAxNzYgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+OmZpYlt0ZXN0cy9zdW5zcGlkZXItMC45L2NvbnRyb2xmbG93LXJlY3Vyc2l2ZS5q
czoxMS0xNF0KMTMgICAgICAgIDAuMDE3NiAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46bWFrZVRhZ0Nsb3VkW3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXRhZ2Nsb3VkLmpz
OjIzMi0yNjJdCjEzICAgICAgICAwLjAxNzYgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0
LWZ1bmM+OnRvQmFzZTY0W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLWJhc2U2NC5qczo0NS03
Ml0KMTMgICAgICAgIDAuMDE3NiAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5b
dGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczoxODktMjQyXQoxMyAgICAgICAgMC4w
MTc2ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6Qnl0
ZWNvZGVHZW5lcmF0b3IoSlNDOjpGdW5jdGlvbkJvZHlOb2RlKiwgSlNDOjpEZWJ1Z2dlciBjb25z
dCosIEpTQzo6U2NvcGVDaGFpbiBjb25zdCYsIFdURjo6SGFzaE1hcDxXVEY6OlJlZlB0cjxKU0M6
OlVTdHJpbmdJbXBsPiwgSlNDOjpTeW1ib2xUYWJsZUVudHJ5LCBKU0M6OklkZW50aWZpZXJSZXBI
YXNoLCBXVEY6Okhhc2hUcmFpdHM8V1RGOjpSZWZQdHI8SlNDOjpVU3RyaW5nSW1wbD4gPiwgSlND
OjpTeW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz4qLCBKU0M6OkNvZGVCbG9jayopCjEzICAgICAg
ICAwLjAxNzYgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkJ5dGVjb2RlR2VuZXJhdG9y
OjplbWl0TG9hZChKU0M6OlJlZ2lzdGVySUQqLCBkb3VibGUpCjEzICAgICAgICAwLjAxNzYgIGpz
Yy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpyZWdpc3RlckZv
cihKU0M6OklkZW50aWZpZXIgY29uc3QmKQoxMyAgICAgICAgMC4wMTc2ICBqc2Mtb3Byb2ZpbGUt
YW5ub3RhdGUgICAgSlNDOjpKSVQ6OkpJVChKU0M6OkpTR2xvYmFsRGF0YSosIEpTQzo6Q29kZUJs
b2NrKikKMTMgICAgICAgIDAuMDE3NiAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SklU
OjplbWl0X29wX21ldGhvZF9jaGVjayhKU0M6Okluc3RydWN0aW9uKikKMTMgICAgICAgIDAuMDE3
NiAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SlNWYXJpYWJsZU9iamVjdDo6aXNWYXJp
YWJsZU9iamVjdCgpIGNvbnN0CjEzICAgICAgICAwLjAxNzYgIGpzYy1vcHJvZmlsZS1hbm5vdGF0
ZSAgICBKU0M6OkxpdGVyYWxQYXJzZXI6OkxleGVyOjpsZXhOdW1iZXIoSlNDOjpMaXRlcmFsUGFy
c2VyOjpMZXhlcjo6TGl0ZXJhbFBhcnNlclRva2VuJikKMTMgICAgICAgIDAuMDE3NiAganNjLW9w
cm9maWxlLWFubm90YXRlICAgIFdURjo6UGFzc1JlZlB0cjxKU0M6OlVTdHJpbmdJbXBsPiBKU0M6
OnRyeU1ha2VTdHJpbmc8SlNDOjpVU3RyaW5nLCBjaGFyIGNvbnN0KiwgSlNDOjpVU3RyaW5nLCBj
aGFyIGNvbnN0KiwgSlNDOjpVU3RyaW5nLCBjaGFyIGNvbnN0KiwgSlNDOjpVU3RyaW5nLCBjaGFy
IGNvbnN0Kj4oSlNDOjpVU3RyaW5nLCBjaGFyIGNvbnN0KiwgSlNDOjpVU3RyaW5nLCBjaGFyIGNv
bnN0KiwgSlNDOjpVU3RyaW5nLCBjaGFyIGNvbnN0KiwgSlNDOjpVU3RyaW5nLCBjaGFyIGNvbnN0
KikKMTMgICAgICAgIDAuMDE3NiAganNjLW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6VmVjdG9y
PEpTQzo6SWRlbnRpZmllciwgMjB1Pjo6ZXhwYW5kQ2FwYWNpdHkodW5zaWduZWQgaW50KQoxMiAg
ICAgICAgMC4wMTYzICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpBdVt0ZXN0
cy9zdW5zcGlkZXItMC45L21hdGgtc3BlY3RyYWwtbm9ybS5qczoxMC0xN10KMTIgICAgICAgIDAu
MDE2MyAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5+MQoxMiAgICAgICAgMC4w
MTYzICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpWTXVsdGlbdGVzdHMvc3Vu
c3BpZGVyLTAuOS8zZC1jdWJlLmpzOjEwOC0xMTNdCjEyICAgICAgICAwLjAxNjMgIDg1NTUuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmNvcmVfc2hhMVt0ZXN0cy9zdW5zcGlkZXItMC45
L2NyeXB0by1zaGExLmpzOjQxLTgyXQoxMiAgICAgICAgMC4wMTYzICA4NTU1LmpvICAgICAgICAg
ICAgICAgICAgPGppdC1mdW5jPjpzYWZlX2FkZFt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1z
aGExLmpzOjEyOS0xMzNdCjEyICAgICAgICAwLjAxNjMgIDg1NjIuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+OkF0dVt0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtc3BlY3RyYWwtbm9ybS5q
czoxOS0yNl0KMTIgICAgICAgIDAuMDE2MyAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46RHJhd1F1YmVbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE4Ni0yMzBdCjEy
ICAgICAgICAwLjAxNjMgIDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmNvcmVf
c2hhMVt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1zaGExLmpzOjQxLTgyXQoxMiAgICAgICAg
MC4wMTYzICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpzYWZlX2FkZFt0ZXN0
cy9zdW5zcGlkZXItMC45L2NyeXB0by1zaGExLmpzOjEyOS0xMzNdCjEyICAgICAgICAwLjAxNjMg
IDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnNhZmVfYWRkW3Rlc3RzL3N1bnNw
aWRlci0wLjkvY3J5cHRvLXNoYTEuanM6MTI5LTEzM10KMTIgICAgICAgIDAuMDE2MyAgODU3Ny5q
byAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46d2Fsa1t0ZXN0cy9zdW5zcGlkZXItMC45L3N0
cmluZy10YWdjbG91ZC5qczoxODAtMTkzXQoxMiAgICAgICAgMC4wMTYzICA4NTc3LmpvICAgICAg
ICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNlLmpz
OjE4OS0yNDJdCjEyICAgICAgICAwLjAxNjMgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8aml0
LWZ1bmM+OmJvdHRvbVVwVHJlZVt0ZXN0cy9zdW5zcGlkZXItMC45L2FjY2Vzcy1iaW5hcnktdHJl
ZXMuanM6MTYtMjddCjEyICAgICAgICAwLjAxNjMgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+fjEKMTIgICAgICAgIDAuMDE2MyAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZnVuYz46ZmFzdGFSZXBlYXRbdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctZmFzdGEuanM6
NDQtNThdJTEwMAoxMiAgICAgICAgMC4wMTYzICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGpp
dC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L2FjY2Vzcy1iaW5hcnktdHJlZXMuanM6MTEtMTRd
CjEyICAgICAgICAwLjAxNjMgIDg1ODkuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rl
c3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6MTg5LTI0Ml0KMTIgICAgICAgIDAuMDE2
MyAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAu
OS9kYXRlLWZvcm1hdC14cGFyYi5qczoxOC0yNF0KMTIgICAgICAgIDAuMDE2MyAgODU4OS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5w
YWNrLWNvZGUuanM6NTEtNTFdfjMKMTIgICAgICAgIDAuMDE2MyAgODU5My5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZnVuYz46Ym90dG9tVXBUcmVlW3Rlc3RzL3N1bnNwaWRlci0wLjkvYWNjZXNz
LWJpbmFyeS10cmVlcy5qczoxNi0yN10KMTIgICAgICAgIDAuMDE2MyAgODU5My5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC14cGFy
Yi5qczozNTEtMzYwXQoxMiAgICAgICAgMC4wMTYzICA4NTk3LmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPjpWTXVsdGlbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjEwOC0xMTNd
CjEyICAgICAgICAwLjAxNjMgIDg1OTcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmNv
cmVfc2hhMVt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1zaGExLmpzOjQxLTgyXQoxMiAgICAg
ICAgMC4wMTYzICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpBdVt0ZXN0cy9z
dW5zcGlkZXItMC45L21hdGgtc3BlY3RyYWwtbm9ybS5qczoxMC0xN10KMTIgICAgICAgIDAuMDE2
MyAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46bWFrZVRhZ0Nsb3VkW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvc3RyaW5nLXRhZ2Nsb3VkLmpzOjIzMi0yNjJdCjEyICAgICAgICAwLjAx
NjMgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnN0cjJiaW5sW3Rlc3RzL3N1
bnNwaWRlci0wLjkvY3J5cHRvLW1kNS5qczoyMDItMjA4XQoxMiAgICAgICAgMC4wMTYzICA4NjAx
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJh
eXRyYWNlLmpzOjE4OS0yNDJdCjEyICAgICAgICAwLjAxNjMgIDg2MDEuam8gICAgICAgICAgICAg
ICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQteHBhcmIuanM6
MzUxLTM2MF0KMTIgICAgICAgIDAuMDE2MyAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46U2hpZnRSb3dzW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5qczo0Ny01NF0K
MTIgICAgICAgIDAuMDE2MyAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtcHJvZz5bdGVz
dHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC14cGFyYi5qczoxLTQxN10KMTIgICAgICAgIDAu
MDE2MyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6RGF0ZUluc3RhbmNlOjpjYWxjdWxh
dGVHcmVnb3JpYW5EYXRlVGltZShKU0M6OkV4ZWNTdGF0ZSopIGNvbnN0CjEyICAgICAgICAwLjAx
NjMgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkZ1bmN0aW9uRXhlY3V0YWJsZTo6Y29t
cGlsZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6U2NvcGVDaGFpbk5vZGUqKQoxMiAgICAgICAgMC4w
MTYzICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpTb3VyY2VFbGVtZW50czo6YXBwZW5k
KEpTQzo6U3RhdGVtZW50Tm9kZSopCjEyICAgICAgICAwLjAxNjMgIGpzYy1vcHJvZmlsZS1hbm5v
dGF0ZSAgICBKU0M6OmRhdGVQcm90b0Z1bmNHZXRUaW1lKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpK
U09iamVjdCosIEpTQzo6SlNWYWx1ZSwgSlNDOjpBcmdMaXN0IGNvbnN0JikKMTIgICAgICAgIDAu
MDE2MyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6Z2V0RFNUT2Zmc2V0KEpTQzo6RXhl
Y1N0YXRlKiwgZG91YmxlLCBkb3VibGUpCjEyICAgICAgICAwLjAxNjMgIGpzYy1vcHJvZmlsZS1h
bm5vdGF0ZSAgICBKU0M6OnN0cmluZ1Byb3RvRnVuY1RvTG93ZXJDYXNlKEpTQzo6RXhlY1N0YXRl
KiwgSlNDOjpKU09iamVjdCosIEpTQzo6SlNWYWx1ZSwgSlNDOjpBcmdMaXN0IGNvbnN0JikKMTIg
ICAgICAgIDAuMDE2MyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6SGFzaE1hcDxXVEY6
OlJlZlB0cjxKU0M6OlVTdHJpbmdJbXBsPiwgSlNDOjpTeW1ib2xUYWJsZUVudHJ5LCBKU0M6Oklk
ZW50aWZpZXJSZXBIYXNoLCBXVEY6Okhhc2hUcmFpdHM8V1RGOjpSZWZQdHI8SlNDOjpVU3RyaW5n
SW1wbD4gPiwgSlNDOjpTeW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz46OmdldChKU0M6OlVTdHJp
bmdJbXBsKikgY29uc3QKMTIgICAgICAgIDAuMDE2MyAganNjLW9wcm9maWxlLWFubm90YXRlICAg
IFdURjo6SGFzaFNldDxKU0M6OkpTT2JqZWN0KiwgV1RGOjpQdHJIYXNoPEpTQzo6SlNPYmplY3Qq
PiwgV1RGOjpIYXNoVHJhaXRzPEpTQzo6SlNPYmplY3QqPiA+OjphZGQoSlNDOjpKU09iamVjdCog
Y29uc3QmKQoxMiAgICAgICAgMC4wMTYzICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgY3RpX29w
X3N0cmNhdAoxMSAgICAgICAgMC4wMTQ5ICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPjpBZGRSb3VuZEtleVt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1hZXMuanM6NzUtODBd
CjExICAgICAgICAwLjAxNDkgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rl
c3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXVucGFjay1jb2RlLmpzOjE2LTE2XSUxMDB+MgoxMSAg
ICAgICAgMC4wMTQ5ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpTaGlmdFJv
d3NbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tYWVzLmpzOjQ3LTU0XQoxMSAgICAgICAgMC4w
MTQ5ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5zcGlkZXIt
MC45L3JlZ2V4cC1kbmEuanM6MS0xNzExXSUxMDAKMTEgICAgICAgIDAuMDE0OSAgODU2Mi5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46VGltZUZ1bmNbdGVzdHMvc3Vuc3BpZGVyLTAuOS9i
aXRvcHMtM2JpdC1iaXRzLWluLWJ5dGUuanM6MjYtMzBdCjExICAgICAgICAwLjAxNDkgIDg1NjIu
am8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OlRyZWVOb2RlW3Rlc3RzL3N1bnNwaWRlci0w
LjkvYWNjZXNzLWJpbmFyeS10cmVlcy5qczo1LTldCjExICAgICAgICAwLjAxNDkgIDg1Nzcuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OkF0dVt0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgt
c3BlY3RyYWwtbm9ybS5qczoxOS0yNl0KMTEgICAgICAgIDAuMDE0OSAgODU4MS5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz46VHJlZU5vZGVbdGVzdHMvc3Vuc3BpZGVyLTAuOS9hY2Nlc3Mt
YmluYXJ5LXRyZWVzLmpzOjUtOV0KMTEgICAgICAgIDAuMDE0OSAgODU4MS5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZnVuYz46bWQ1X2Ntblt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1tZDUu
anM6MTM5LTE0MV0KMTEgICAgICAgIDAuMDE0OSAgODU4MS5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZnVuYz46c2FmZV9hZGRbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tc2hhMS5qczoxMjkt
MTMzXQoxMSAgICAgICAgMC4wMTQ5ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5j
Plt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjgtMjkwXQoxMSAgICAg
ICAgMC4wMTQ5ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5z
cGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczo1MS01MV1+MQoxMSAgICAgICAgMC4wMTQ5
ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPn4xCjExICAgICAgICAwLjAxNDkg
IDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LXByb2c+W3Rlc3RzL3N1bnNwaWRlci0wLjkv
ZGF0ZS1mb3JtYXQteHBhcmIuanM6MS00MTddCjExICAgICAgICAwLjAxNDkgIDg1ODkuam8gICAg
ICAgICAgICAgICAgICA8aml0LWZ1bmM+OkF1W3Rlc3RzL3N1bnNwaWRlci0wLjkvbWF0aC1zcGVj
dHJhbC1ub3JtLmpzOjEwLTE3XQoxMSAgICAgICAgMC4wMTQ5ICA4NTg5LmpvICAgICAgICAgICAg
ICAgICAgPGppdC1mdW5jPjpib3R0b21VcFRyZWVbdGVzdHMvc3Vuc3BpZGVyLTAuOS9hY2Nlc3Mt
YmluYXJ5LXRyZWVzLmpzOjE2LTI3XQoxMSAgICAgICAgMC4wMTQ5ICA4NTg5LmpvICAgICAgICAg
ICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXhwYXJi
LmpzOjM1MS0zNjBdCjExICAgICAgICAwLjAxNDkgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+OmZhc3RhUmVwZWF0W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLWZhc3RhLmpz
OjQ0LTU4XSUxMDAKMTEgICAgICAgIDAuMDE0OSAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC14cGFyYi5qczoxOC0yNF0K
MTEgICAgICAgIDAuMDE0OSAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c2Fm
ZV9hZGRbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tc2hhMS5qczoxMjktMTMzXQoxMSAgICAg
ICAgMC4wMTQ5ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5z
cGlkZXItMC45L2FjY2Vzcy1iaW5hcnktdHJlZXMuanM6MTEtMTRdCjExICAgICAgICAwLjAxNDkg
IDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmJvdHRvbVVwVHJlZVt0ZXN0cy9z
dW5zcGlkZXItMC45L2FjY2Vzcy1iaW5hcnktdHJlZXMuanM6MTYtMjddCjExICAgICAgICAwLjAx
NDkgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0w
LjkvZGF0ZS1mb3JtYXQtdG9mdGUuanM6OC0yOTBdCjExICAgICAgICAwLjAxNDkgIDg2MDEuam8g
ICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjE1CjExICAgICAgICAwLjAxNDkgIDg2MDUuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmNvcmVfc2hhMVt0ZXN0cy9zdW5zcGlkZXItMC45
L2NyeXB0by1zaGExLmpzOjQxLTgyXQoxMSAgICAgICAgMC4wMTQ5ICBqc2Mtb3Byb2ZpbGUtYW5u
b3RhdGUgICAgSklUU3R1YlRodW5rZWRfb3BfdGVhcl9vZmZfYWN0aXZhdGlvbgoxMSAgICAgICAg
MC4wMTQ5ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpBYnN0cmFjdE1hY3JvQXNzZW1i
bGVyPEpTQzo6QVJNQXNzZW1ibGVyPjo6SnVtcDo6bGluayhKU0M6OkFic3RyYWN0TWFjcm9Bc3Nl
bWJsZXI8SlNDOjpBUk1Bc3NlbWJsZXI+KikKMTEgICAgICAgIDAuMDE0OSAganNjLW9wcm9maWxl
LWFubm90YXRlICAgIEpTQzo6QmluYXJ5T3BOb2RlOjplbWl0Qnl0ZWNvZGUoSlNDOjpCeXRlY29k
ZUdlbmVyYXRvciYsIEpTQzo6UmVnaXN0ZXJJRCopCjExICAgICAgICAwLjAxNDkgIGpzYy1vcHJv
ZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZSgpCjExICAg
ICAgICAwLjAxNDkgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkNvZGVCbG9jazo6c2hy
aW5rVG9GaXQoKQoxMSAgICAgICAgMC4wMTQ5ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlND
OjpFeGVjU3RhdGU6OnRoaXNWYWx1ZSgpCjExICAgICAgICAwLjAxNDkgIGpzYy1vcHJvZmlsZS1h
bm5vdGF0ZSAgICBKU0M6OklkZW50aWZpZXI6OmFkZChKU0M6OkpTR2xvYmFsRGF0YSosIHVuc2ln
bmVkIHNob3J0IGNvbnN0KiwgaW50KQoxMSAgICAgICAgMC4wMTQ5ICBqc2Mtb3Byb2ZpbGUtYW5u
b3RhdGUgICAgSlNDOjpKU0FjdGl2YXRpb246On5KU0FjdGl2YXRpb24oKQoxMSAgICAgICAgMC4w
MTQ5ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpQcm9wZXJ0eVNsb3Q6OmdldFZhbHVl
KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpJZGVudGlmaWVyIGNvbnN0JikgY29uc3QKMTEgICAgICAg
IDAuMDE0OSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6U3RyaW5nQnVpbGRlcjo6YnVp
bGQoKQoxMSAgICAgICAgMC4wMTQ5ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpjYWxs
KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkNhbGxUeXBlLCBKU0M6OkNhbGxE
YXRhIGNvbnN0JiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkFyZ0xpc3QgY29uc3QmKQoxMSAgICAgICAg
MC4wMTQ5ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgV1RGOjpWZWN0b3I8SlNDOjpDYWxsUmVj
b3JkLCAwdT46OmV4cGFuZENhcGFjaXR5KHVuc2lnbmVkIGludCkKMTEgICAgICAgIDAuMDE0OSAg
anNjLW9wcm9maWxlLWFubm90YXRlICAgIGN0aV9vcF90b19wcmltaXRpdmUKMTAgICAgICAgIDAu
MDEzNSAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46U3ViQnl0ZXNbdGVzdHMv
c3Vuc3BpZGVyLTAuOS9jcnlwdG8tYWVzLmpzOjM5LTQ0XQoxMCAgICAgICAgMC4wMTM1ICA4NDk1
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpzdHIyYmlubFt0ZXN0cy9zdW5zcGlkZXIt
MC45L2NyeXB0by1tZDUuanM6MjAyLTIwOF0KMTAgICAgICAgIDAuMDEzNSAgODQ5NS5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNr
LWNvZGUuanM6MTYtMTZdJTEwMAoxMCAgICAgICAgMC4wMTM1ICA4NTU1LmpvICAgICAgICAgICAg
ICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5q
czo1MS01MV1+MwoxMCAgICAgICAgMC4wMTM1ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGpp
dC15YXJyPn4xMgoxMCAgICAgICAgMC4wMTM1ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGpp
dC15YXJyPn4yMwoxMCAgICAgICAgMC4wMTM1ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGpp
dC1mdW5jPjp3YWxrW3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXRhZ2Nsb3VkLmpzOjE4MC0x
OTNdCjEwICAgICAgICAwLjAxMzUgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
OkFkZFJvdW5kS2V5W3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5qczo3NS04MF0KMTAg
ICAgICAgIDAuMDEzNSAgODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46U3ViQnl0
ZXNbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tYWVzLmpzOjM5LTQ0XQoxMCAgICAgICAgMC4w
MTM1ICA4NTgxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpWTXVsdGlbdGVzdHMvc3Vu
c3BpZGVyLTAuOS8zZC1jdWJlLmpzOjEwOC0xMTNdCjEwICAgICAgICAwLjAxMzUgIDg1ODEuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Om1ha2VUYWdDbG91ZFt0ZXN0cy9zdW5zcGlkZXIt
MC45L3N0cmluZy10YWdjbG91ZC5qczoyMzItMjYyXQoxMCAgICAgICAgMC4wMTM1ICA4NTgxLmpv
ICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjp3YWxrW3Rlc3RzL3N1bnNwaWRlci0wLjkvc3Ry
aW5nLXRhZ2Nsb3VkLmpzOjE4MC0xOTNdCjEwICAgICAgICAwLjAxMzUgIDg1ODEuam8gICAgICAg
ICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6
MTg5LTI0Ml0KMTAgICAgICAgIDAuMDEzNSAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46RHJhd1F1YmVbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE4Ni0yMzBdCjEw
ICAgICAgICAwLjAxMzUgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OlRpbWVG
dW5jW3Rlc3RzL3N1bnNwaWRlci0wLjkvYml0b3BzLTNiaXQtYml0cy1pbi1ieXRlLmpzOjI2LTMw
XQoxMCAgICAgICAgMC4wMTM1ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpj
b3JlX3NoYTFbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tc2hhMS5qczo0MS04Ml0KMTAgICAg
ICAgIDAuMDEzNSAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46d2Fsa1t0ZXN0
cy9zdW5zcGlkZXItMC45L3N0cmluZy10YWdjbG91ZC5qczoxODAtMTkzXQoxMCAgICAgICAgMC4w
MTM1ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRhcnJheWxlbmd0aD5+MTUKMTAg
ICAgICAgIDAuMDEzNSAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46U2hpZnRS
b3dzW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5qczo0Ny01NF0KMTAgICAgICAgIDAu
MDEzNSAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Y29yZV9zaGExW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvY3J5cHRvLXNoYTEuanM6NDEtODJdCjEwICAgICAgICAwLjAxMzUgIDg1
ODkuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnNhZmVfYWRkW3Rlc3RzL3N1bnNwaWRl
ci0wLjkvY3J5cHRvLXNoYTEuanM6MTI5LTEzM10KMTAgICAgICAgIDAuMDEzNSAgODU4OS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9hY2Nlc3MtYmlu
YXJ5LXRyZWVzLmpzOjExLTE0XQoxMCAgICAgICAgMC4wMTM1ICA4NTg5LmpvICAgICAgICAgICAg
ICAgICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5zcGlkZXItMC45L3JlZ2V4cC1kbmEuanM6MS0xNzEx
XSUxMDAKMTAgICAgICAgIDAuMDEzNSAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVu
Yz46Vk11bHRpW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoxMDgtMTEzXQoxMCAgICAg
ICAgMC4wMTM1ICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjp3YWxrW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvc3RyaW5nLXRhZ2Nsb3VkLmpzOjE4MC0xOTNdCjEwICAgICAgICAwLjAx
MzUgIDg1OTcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Om1ha2VUYWdDbG91ZFt0ZXN0
cy9zdW5zcGlkZXItMC45L3N0cmluZy10YWdjbG91ZC5qczoyMzItMjYyXQoxMCAgICAgICAgMC4w
MTM1ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4xNQoxMCAgICAgICAgMC4w
MTM1ICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpUaW1lRnVuY1t0ZXN0cy9z
dW5zcGlkZXItMC45L2JpdG9wcy0zYml0LWJpdHMtaW4tYnl0ZS5qczoyNi0zMF0KMTAgICAgICAg
IDAuMDEzNSAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Vk11bHRpW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoxMDgtMTEzXQoxMCAgICAgICAgMC4wMTM1ICA4NjA1
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmlu
Zy11bnBhY2stY29kZS5qczoxNi0xNl0lMTAwfjEKMTAgICAgICAgIDAuMDEzNSAgODYwNS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5w
YWNrLWNvZGUuanM6NTEtNTFdfjEKMTAgICAgICAgIDAuMDEzNSAgODYwNS5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNvZGUu
anM6NTEtNTFdfjMKMTAgICAgICAgIDAuMDEzNSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpT
Qzo6QVJNQXNzZW1ibGVyOjplbWl0SW5zdCh1bnNpZ25lZCBpbnQsIGludCwgaW50LCB1bnNpZ25l
ZCBpbnQpCjEwICAgICAgICAwLjAxMzUgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkJ5
dGVjb2RlR2VuZXJhdG9yOjpuZXdUZW1wb3JhcnkoKQoxMCAgICAgICAgMC4wMTM1ICBqc2Mtb3By
b2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpGdW5jdGlvbkV4ZWN1dGFibGU6OmdlbmVyYXRlSklUQ29k
ZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6U2NvcGVDaGFpbk5vZGUqKQoxMCAgICAgICAgMC4wMTM1
ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpIZWFwOjptYXJrUm9vdHMoKQoxMCAgICAg
ICAgMC4wMTM1ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKSVQ6OmNvbXBpbGVCaW5h
cnlBcml0aE9wKEpTQzo6T3Bjb2RlSUQsIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50LCB1bnNp
Z25lZCBpbnQsIEpTQzo6T3BlcmFuZFR5cGVzKQoxMCAgICAgICAgMC4wMTM1ICBqc2Mtb3Byb2Zp
bGUtYW5ub3RhdGUgICAgSlNDOjpKU0FycmF5Ojpzb3J0KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpK
U1ZhbHVlLCBKU0M6OkNhbGxUeXBlLCBKU0M6OkNhbGxEYXRhIGNvbnN0JikKMTAgICAgICAgIDAu
MDEzNSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06OmJy
YW5jaFRlc3QzMihKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpDb25kaXRpb24sIEpTQzo6QVJNUmVn
aXN0ZXJzOjpSZWdpc3RlcklELCBKU0M6OkFic3RyYWN0TWFjcm9Bc3NlbWJsZXI8SlNDOjpBUk1B
c3NlbWJsZXI+OjpJbW0zMikKMTAgICAgICAgIDAuMDEzNSAganNjLW9wcm9maWxlLWFubm90YXRl
ICAgIEpTQzo6UGFyc2VyQXJlbmFGcmVlYWJsZTo6b3BlcmF0b3IgbmV3KHVuc2lnbmVkIGludCwg
SlNDOjpKU0dsb2JhbERhdGEqKQoxMCAgICAgICAgMC4wMTM1ICBqc2Mtb3Byb2ZpbGUtYW5ub3Rh
dGUgICAgSlNDOjpSZWdFeHBPYmplY3Q6OlJlZ0V4cE9iamVjdChXVEY6Ok5vbk51bGxQYXNzUmVm
UHRyPEpTQzo6U3RydWN0dXJlPiwgV1RGOjpOb25OdWxsUGFzc1JlZlB0cjxKU0M6OlJlZ0V4cD4p
CjEwICAgICAgICAwLjAxMzUgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OlN0cmluZ0J1
aWxkZXI6OmFwcGVuZCh1bnNpZ25lZCBzaG9ydCBjb25zdCosIHVuc2lnbmVkIGludCkKMTAgICAg
ICAgIDAuMDEzNSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6QmlnSW50OjpyZXNpemUo
dW5zaWduZWQgaW50KQoxMCAgICAgICAgMC4wMTM1ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAg
Y3RpX29wX2JpdG5vdAoxMCAgICAgICAgMC4wMTM1ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAg
Y3RpX29wX3Jlc29sdmVfd2l0aF9iYXNlCjkgICAgICAgICAwLjAxMjIgIDg0OTUuam8gICAgICAg
ICAgICAgICAgICA8aml0LWZ1bmM+OlNoaWZ0Um93c1t0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0
by1hZXMuanM6NDctNTRdCjkgICAgICAgICAwLjAxMjIgIDg0OTUuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+OlRyZWVOb2RlW3Rlc3RzL3N1bnNwaWRlci0wLjkvYWNjZXNzLWJpbmFyeS10
cmVlcy5qczo1LTldCjkgICAgICAgICAwLjAxMjIgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+OnRha1t0ZXN0cy9zdW5zcGlkZXItMC45L2NvbnRyb2xmbG93LXJlY3Vyc2l2ZS5q
czoxNi0xOV0KOSAgICAgICAgIDAuMDEyMiAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
eWFycj5+MTIKOSAgICAgICAgIDAuMDEyMiAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
eWFycj5+MTUKOSAgICAgICAgIDAuMDEyMiAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46RHJhd1F1YmVbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE4Ni0yMzBdCjkg
ICAgICAgICAwLjAxMjIgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OlRyZWVO
b2RlW3Rlc3RzL3N1bnNwaWRlci0wLjkvYWNjZXNzLWJpbmFyeS10cmVlcy5qczo1LTldCjkgICAg
ICAgICAwLjAxMjIgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmFja1t0ZXN0
cy9zdW5zcGlkZXItMC45L2NvbnRyb2xmbG93LXJlY3Vyc2l2ZS5qczo1LTldCjkgICAgICAgICAw
LjAxMjIgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Om1ha2VUYWdDbG91ZFt0
ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy10YWdjbG91ZC5qczoyMzItMjYyXQo5ICAgICAgICAg
MC4wMTIyICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpzdHIyYmlubFt0ZXN0
cy9zdW5zcGlkZXItMC45L2NyeXB0by1tZDUuanM6MjAyLTIwOF0KOSAgICAgICAgIDAuMDEyMiAg
ODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Vk11bHRpW3Rlc3RzL3N1bnNwaWRl
ci0wLjkvM2QtY3ViZS5qczoxMDgtMTEzXQo5ICAgICAgICAgMC4wMTIyICA4NTYyLmpvICAgICAg
ICAgICAgICAgICAgPGppdC1mdW5jPjphY2tbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jb250cm9sZmxv
dy1yZWN1cnNpdmUuanM6NS05XQo5ICAgICAgICAgMC4wMTIyICA4NTYyLmpvICAgICAgICAgICAg
ICAgICAgPGppdC1mdW5jPjp0YWtbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jb250cm9sZmxvdy1yZWN1
cnNpdmUuanM6MTYtMTldCjkgICAgICAgICAwLjAxMjIgIDg1NjIuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQteHBhcmIuanM6MTgt
MjRdCjkgICAgICAgICAwLjAxMjIgIDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+
JTEwMAo5ICAgICAgICAgMC4wMTIyICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5j
Pgo5ICAgICAgICAgMC4wMTIyICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpT
aGlmdFJvd3NbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tYWVzLmpzOjQ3LTU0XQo5ICAgICAg
ICAgMC4wMTIyICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpUaW1lRnVuY1t0
ZXN0cy9zdW5zcGlkZXItMC45L2JpdG9wcy0zYml0LWJpdHMtaW4tYnl0ZS5qczoyNi0zMF0KOSAg
ICAgICAgIDAuMDEyMiAgODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46VGltZUZ1
bmNbdGVzdHMvc3Vuc3BpZGVyLTAuOS9iaXRvcHMtYml0cy1pbi1ieXRlLmpzOjE1LTE5XQo5ICAg
ICAgICAgMC4wMTIyICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjphY2tbdGVz
dHMvc3Vuc3BpZGVyLTAuOS9jb250cm9sZmxvdy1yZWN1cnNpdmUuanM6NS05XQo5ICAgICAgICAg
MC4wMTIyICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4xMgo5ICAgICAgICAg
MC4wMTIyICA4NTgxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpWTXVsdGkyW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoxMTUtMTIwXQo5ICAgICAgICAgMC4wMTIyICA4NTgx
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjphY2tbdGVzdHMvc3Vuc3BpZGVyLTAuOS9j
b250cm9sZmxvdy1yZWN1cnNpdmUuanM6NS05XQo5ICAgICAgICAgMC4wMTIyICA4NTgxLmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPjp0YWtbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jb250cm9s
Zmxvdy1yZWN1cnNpdmUuanM6MTYtMTldCjkgICAgICAgICAwLjAxMjIgIDg1ODEuam8gICAgICAg
ICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQteHBh
cmIuanM6MTgtMjRdCjkgICAgICAgICAwLjAxMjIgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8
aml0LXlhcnI+JTEwMAo5ICAgICAgICAgMC4wMTIyICA4NTgxLmpvICAgICAgICAgICAgICAgICAg
PGppdC15YXJyPn4xNQo5ICAgICAgICAgMC4wMTIyICA4NTg1LmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPjphY2tbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jb250cm9sZmxvdy1yZWN1cnNpdmUu
anM6NS05XQo5ICAgICAgICAgMC4wMTIyICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPjpib3R0b21VcFRyZWVbdGVzdHMvc3Vuc3BpZGVyLTAuOS9hY2Nlc3MtYmluYXJ5LXRyZWVz
LmpzOjE2LTI3XQo5ICAgICAgICAgMC4wMTIyICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGpp
dC1mdW5jPjptYWtlTmFtZVt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy12YWxpZGF0ZS1pbnB1
dC5qczo2My03MV0KOSAgICAgICAgIDAuMDEyMiAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZnVuYz46dGFrW3Rlc3RzL3N1bnNwaWRlci0wLjkvY29udHJvbGZsb3ctcmVjdXJzaXZlLmpz
OjE2LTE5XQo5ICAgICAgICAgMC4wMTIyICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXhwYXJiLmpzOjE4LTI0XQo5ICAg
ICAgICAgMC4wMTIyICA4NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpUcmVlTm9k
ZVt0ZXN0cy9zdW5zcGlkZXItMC45L2FjY2Vzcy1iaW5hcnktdHJlZXMuanM6NS05XQo5ICAgICAg
ICAgMC4wMTIyICA4NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpWTXVsdGlbdGVz
dHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjEwOC0xMTNdCjkgICAgICAgICAwLjAxMjIgIDg1
ODkuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmFja1t0ZXN0cy9zdW5zcGlkZXItMC45
L2NvbnRyb2xmbG93LXJlY3Vyc2l2ZS5qczo1LTldCjkgICAgICAgICAwLjAxMjIgIDg1ODkuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnRha1t0ZXN0cy9zdW5zcGlkZXItMC45L2NvbnRy
b2xmbG93LXJlY3Vyc2l2ZS5qczoxNi0xOV0KOSAgICAgICAgIDAuMDEyMiAgODU4OS5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtZnVuYz46d2Fsa1t0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy10
YWdjbG91ZC5qczoxODAtMTkzXQo5ICAgICAgICAgMC4wMTIyICA4NTg5LmpvICAgICAgICAgICAg
ICAgICAgPGppdC1nZXRhcnJheWxlbmd0aD5+MTUKOSAgICAgICAgIDAuMDEyMiAgODU4OS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MTIKOSAgICAgICAgIDAuMDEyMiAgODU4OS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MTUKOSAgICAgICAgIDAuMDEyMiAgODU5My5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46YWNrW3Rlc3RzL3N1bnNwaWRlci0wLjkvY29udHJv
bGZsb3ctcmVjdXJzaXZlLmpzOjUtOV0KOSAgICAgICAgIDAuMDEyMiAgODU5Ny5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz46VHJlZU5vZGVbdGVzdHMvc3Vuc3BpZGVyLTAuOS9hY2Nlc3Mt
YmluYXJ5LXRyZWVzLmpzOjUtOV0KOSAgICAgICAgIDAuMDEyMiAgODU5Ny5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZnVuYz46dGFrW3Rlc3RzL3N1bnNwaWRlci0wLjkvY29udHJvbGZsb3ctcmVj
dXJzaXZlLmpzOjE2LTE5XQo5ICAgICAgICAgMC4wMTIyICA4NTk3LmpvICAgICAgICAgICAgICAg
ICAgPGppdC15YXJyPn4xMgo5ICAgICAgICAgMC4wMTIyICA4NjAxLmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjpTaGlmdFJvd3NbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tYWVzLmpz
OjQ3LTU0XQo5ICAgICAgICAgMC4wMTIyICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPjpWTXVsdGlbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjEwOC0xMTNdCjkgICAg
ICAgICAwLjAxMjIgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmFja1t0ZXN0
cy9zdW5zcGlkZXItMC45L2NvbnRyb2xmbG93LXJlY3Vyc2l2ZS5qczo1LTldCjkgICAgICAgICAw
LjAxMjIgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnNhZmVfYWRkW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvY3J5cHRvLXNoYTEuanM6MTI5LTEzM10KOSAgICAgICAgIDAuMDEyMiAg
ODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46d2Fsa1t0ZXN0cy9zdW5zcGlkZXIt
MC45L3N0cmluZy10YWdjbG91ZC5qczoxODAtMTkzXQo5ICAgICAgICAgMC4wMTIyICA4NjAxLmpv
ICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy10
YWdjbG91ZC5qczoyMzUtMjM1XQo5ICAgICAgICAgMC4wMTIyICA4NjAxLmpvICAgICAgICAgICAg
ICAgICAgPGppdC15YXJyPn4xMgo5ICAgICAgICAgMC4wMTIyICA4NjA1LmpvICAgICAgICAgICAg
ICAgICAgPGppdC1mdW5jPjphY2tbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jb250cm9sZmxvdy1yZWN1
cnNpdmUuanM6NS05XQo5ICAgICAgICAgMC4wMTIyICA4NjA1LmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPjpib3R0b21VcFRyZWVbdGVzdHMvc3Vuc3BpZGVyLTAuOS9hY2Nlc3MtYmluYXJ5
LXRyZWVzLmpzOjE2LTI3XQo5ICAgICAgICAgMC4wMTIyICA4NjA1LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPn4xCjkgICAgICAgICAwLjAxMjIgIDg2MDUuam8gICAgICAgICAgICAgICAg
ICA8aml0LXlhcnI+fjEyCjkgICAgICAgICAwLjAxMjIgIDg2MDUuam8gICAgICAgICAgICAgICAg
ICA8aml0LXlhcnI+fjE1CjkgICAgICAgICAwLjAxMjIgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAg
ICBKSVRTdHViVGh1bmtlZF9vcF9jYWxsX2FyaXR5Q2hlY2sKOSAgICAgICAgIDAuMDEyMiAganNj
LW9wcm9maWxlLWFubm90YXRlICAgIEpJVFN0dWJUaHVua2VkX29wX21vZAo5ICAgICAgICAgMC4w
MTIyICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpBUk1Bc3NlbWJsZXI6OmdldEltbSh1
bnNpZ25lZCBpbnQsIGludCwgYm9vbCkKOSAgICAgICAgIDAuMDEyMiAganNjLW9wcm9maWxlLWFu
bm90YXRlICAgIEpTQzo6SlNPYmplY3Q6OnRvVGhpc09iamVjdChKU0M6OkV4ZWNTdGF0ZSopIGNv
bnN0CjkgICAgICAgICAwLjAxMjIgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OlN0cnVj
dHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKEpTQzo6U3RydWN0dXJlKiwgSlNDOjpJZGVudGlm
aWVyIGNvbnN0JiwgdW5zaWduZWQgaW50LCBKU0M6OkpTQ2VsbCosIHVuc2lnbmVkIGludCYpCjkg
ICAgICAgICAwLjAxMjIgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OmlzSWRlbnRQYXJ0
KGludCkKOSAgICAgICAgIDAuMDEyMiAganNjLW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6SGFz
aE1hcDxXVEY6OlJlZlB0cjxKU0M6OlVTdHJpbmdJbXBsPiwgSlNDOjpTeW1ib2xUYWJsZUVudHJ5
LCBKU0M6OklkZW50aWZpZXJSZXBIYXNoLCBXVEY6Okhhc2hUcmFpdHM8V1RGOjpSZWZQdHI8SlND
OjpVU3RyaW5nSW1wbD4gPiwgSlNDOjpTeW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz46OmlubGlu
ZUFkZChKU0M6OlVTdHJpbmdJbXBsKiwgSlNDOjpTeW1ib2xUYWJsZUVudHJ5IGNvbnN0JikKOSAg
ICAgICAgIDAuMDEyMiAganNjLW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6VENNYWxsb2NfQ2Vu
dHJhbF9GcmVlTGlzdDo6SW5zZXJ0UmFuZ2Uodm9pZCosIHZvaWQqLCBpbnQpCjkgICAgICAgICAw
LjAxMjIgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBjdGlfb3BfY2FsbF9ldmFsCjkgICAgICAg
ICAwLjAxMjIgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBjdGlfb3BfcHV0X2J5X3ZhbAo5ICAg
ICAgICAgMC4wMTIyICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgY3RpX29wX3Vyc2hpZnQKOCAg
ICAgICAgIDAuMDEwOCAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46RHJhd1F1
YmVbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE4Ni0yMzBdCjggICAgICAgICAwLjAx
MDggIDg0OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OlZNdWx0aTJbdGVzdHMvc3Vu
c3BpZGVyLTAuOS8zZC1jdWJlLmpzOjExNS0xMjBdCjggICAgICAgICAwLjAxMDggIDg0OTUuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OlZNdWx0aVt0ZXN0cy9zdW5zcGlkZXItMC45LzNk
LWN1YmUuanM6MTA4LTExM10KOCAgICAgICAgIDAuMDEwOCAgODQ5NS5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz46YWNrW3Rlc3RzL3N1bnNwaWRlci0wLjkvY29udHJvbGZsb3ctcmVjdXJz
aXZlLmpzOjUtOV0KOCAgICAgICAgIDAuMDEwOCAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZnVuYz46ZG90W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6NzktODFdCjgg
ICAgICAgICAwLjAxMDggIDg0OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Om1ha2VU
YWdDbG91ZFt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy10YWdjbG91ZC5qczoyMzItMjYyXQo4
ICAgICAgICAgMC4wMTA4ICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0
cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczozMC0zMF1+Mgo4ICAgICAgICAg
MC4wMTA4ICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRhcnJheWxlbmd0aD5+MTUK
OCAgICAgICAgIDAuMDEwOCAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46U3Vi
Qnl0ZXNbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tYWVzLmpzOjM5LTQ0XQo4ICAgICAgICAg
MC4wMTA4ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpUaW1lRnVuY1t0ZXN0
cy9zdW5zcGlkZXItMC45L2JpdG9wcy0zYml0LWJpdHMtaW4tYnl0ZS5qczoyNi0zMF0KOCAgICAg
ICAgIDAuMDEwOCAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c3RyMmJpbmJb
dGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tc2hhMS5qczoxNDgtMTU0XQo4ICAgICAgICAgMC4w
MTA4ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjp0YWtbdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS9jb250cm9sZmxvdy1yZWN1cnNpdmUuanM6MTYtMTldCjggICAgICAgICAwLjAxMDgg
IDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkv
M2QtcmF5dHJhY2UuanM6MjQ0LTI1Nl0KOCAgICAgICAgIDAuMDEwOCAgODU1NS5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNv
ZGUuanM6MTYtMTZdJTEwMH4yCjggICAgICAgICAwLjAxMDggIDg1NjIuam8gICAgICAgICAgICAg
ICAgICA8aml0LWZ1bmM+OkFkZFJvdW5kS2V5W3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLWFl
cy5qczo3NS04MF0KOCAgICAgICAgIDAuMDEwOCAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZnVuYz46bWFrZVRhZ0Nsb3VkW3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXRhZ2Nsb3Vk
LmpzOjIzMi0yNjJdCjggICAgICAgICAwLjAxMDggIDg1NjIuam8gICAgICAgICAgICAgICAgICA8
aml0LXByb2c+W3Rlc3RzL3N1bnNwaWRlci0wLjkvcmVnZXhwLWRuYS5qczoxLTE3MTFdJTEwMAo4
ICAgICAgICAgMC4wMTA4ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4xMgo4
ICAgICAgICAgMC4wMTA4ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4yMwo4
ICAgICAgICAgMC4wMTA4ICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpUcmVl
Tm9kZVt0ZXN0cy9zdW5zcGlkZXItMC45L2FjY2Vzcy1iaW5hcnktdHJlZXMuanM6NS05XQo4ICAg
ICAgICAgMC4wMTA4ICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpmYXN0YVJl
cGVhdFt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy1mYXN0YS5qczo0NC01OF0lMTAwCjggICAg
ICAgICAwLjAxMDggIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnN0cjJiaW5s
W3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLW1kNS5qczoyMDItMjA4XQo4ICAgICAgICAgMC4w
MTA4ICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjp0YWtbdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS9jb250cm9sZmxvdy1yZWN1cnNpdmUuanM6MTYtMTldCjggICAgICAgICAwLjAxMDgg
IDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkv
c3RyaW5nLXVucGFjay1jb2RlLmpzOjE2LTE2XSUxMDB+Mgo4ICAgICAgICAgMC4wMTA4ICA4NTgx
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPgo4ICAgICAgICAgMC4wMTA4ICA4NTgxLmpv
ICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpUaW1lRnVuY1t0ZXN0cy9zdW5zcGlkZXItMC45
L2JpdG9wcy0zYml0LWJpdHMtaW4tYnl0ZS5qczoyNi0zMF0KOCAgICAgICAgIDAuMDEwOCAgODU4
MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJp
bmctdW5wYWNrLWNvZGUuanM6NTEtNTFdfjEKOCAgICAgICAgIDAuMDEwOCAgODU4MS5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQteWFycj5+MjMKOCAgICAgICAgIDAuMDEwOCAgODU4NS5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtZnVuYz46U2hpZnRSb3dzW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5
cHRvLWFlcy5qczo0Ny01NF0KOCAgICAgICAgIDAuMDEwOCAgODU4NS5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQteWFycj4lMTAwCjggICAgICAgICAwLjAxMDggIDg1ODkuam8gICAgICAgICAgICAg
ICAgICA8aml0LWZ1bmM+CjggICAgICAgICAwLjAxMDggIDg1ODkuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+OkFkZFJvdW5kS2V5W3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5q
czo3NS04MF0KOCAgICAgICAgIDAuMDEwOCAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46c3RyMmJpbmxbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tbWQ1LmpzOjIwMi0yMDhd
CjggICAgICAgICAwLjAxMDggIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OkZJ
WEVEW3Rlc3RzL3N1bnNwaWRlci0wLjkvbWF0aC1jb3JkaWMuanM6MzEtMzNdCjggICAgICAgICAw
LjAxMDggIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnJvbFt0ZXN0cy9zdW5z
cGlkZXItMC45L2NyeXB0by1zaGExLmpzOjEzOS0xNDFdCjggICAgICAgICAwLjAxMDggIDg1OTMu
am8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnRha1t0ZXN0cy9zdW5zcGlkZXItMC45L2Nv
bnRyb2xmbG93LXJlY3Vyc2l2ZS5qczoxNi0xOV0KOCAgICAgICAgIDAuMDEwOCAgODU5My5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MTIKOCAgICAgICAgIDAuMDEwOCAgODU5Ny5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46QWRkUm91bmRLZXlbdGVzdHMvc3Vuc3BpZGVyLTAu
OS9jcnlwdG8tYWVzLmpzOjc1LTgwXQo4ICAgICAgICAgMC4wMTA4ICA4NTk3LmpvICAgICAgICAg
ICAgICAgICAgPGppdC1mdW5jPjpTdWJCeXRlc1t0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1h
ZXMuanM6MzktNDRdCjggICAgICAgICAwLjAxMDggIDg1OTcuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+OmJvdHRvbVVwVHJlZVt0ZXN0cy9zdW5zcGlkZXItMC45L2FjY2Vzcy1iaW5hcnkt
dHJlZXMuanM6MTYtMjddCjggICAgICAgICAwLjAxMDggIDg1OTcuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+OnN0cjJiaW5iW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLXNoYTEuanM6
MTQ4LTE1NF0KOCAgICAgICAgIDAuMDEwOCAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46c3RyMmJpbmxbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tbWQ1LmpzOjIwMi0yMDhd
CjggICAgICAgICAwLjAxMDggIDg1OTcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rl
c3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQteHBhcmIuanM6MTgtMjRdCjggICAgICAgICAw
LjAxMDggIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OkFkZFJvdW5kS2V5W3Rl
c3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5qczo3NS04MF0KOCAgICAgICAgIDAuMDEwOCAg
ODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46dGFrW3Rlc3RzL3N1bnNwaWRlci0w
LjkvY29udHJvbGZsb3ctcmVjdXJzaXZlLmpzOjE2LTE5XQo4ICAgICAgICAgMC4wMTA4ICA4NjAx
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJh
eXRyYWNlLmpzOjI0NC0yNTZdCjggICAgICAgICAwLjAxMDggIDg2MDEuam8gICAgICAgICAgICAg
ICAgICA8aml0LWdldGFycmF5bGVuZ3RoPn4xNQo4ICAgICAgICAgMC4wMTA4ICA4NjAxLmpvICAg
ICAgICAgICAgICAgICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0
LXhwYXJiLmpzOjEtNDE3XQo4ICAgICAgICAgMC4wMTA4ICA4NjA1LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjpBZGRSb3VuZEtleVt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1hZXMu
anM6NzUtODBdCjggICAgICAgICAwLjAxMDggIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0
LWZ1bmM+OnN0cjJiaW5iW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLXNoYTEuanM6MTQ4LTE1
NF0KOCAgICAgICAgIDAuMDEwOCAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46
dGFrW3Rlc3RzL3N1bnNwaWRlci0wLjkvY29udHJvbGZsb3ctcmVjdXJzaXZlLmpzOjE2LTE5XQo4
ICAgICAgICAgMC4wMTA4ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSklUU3R1YlRodW5rZWRf
b3BfcHVzaF9hY3RpdmF0aW9uCjggICAgICAgICAwLjAxMDggIGpzYy1vcHJvZmlsZS1hbm5vdGF0
ZSAgICBKU0M6OkFzc2VtYmxlckJ1ZmZlcldpdGhDb25zdGFudFBvb2w8MjA0OCwgNCwgNCwgSlND
OjpBUk1Bc3NlbWJsZXI+OjpwdXRJbnQoaW50KQo4ICAgICAgICAgMC4wMTA4ICBqc2Mtb3Byb2Zp
bGUtYW5ub3RhdGUgICAgSlNDOjpCcmFja2V0QWNjZXNzb3JOb2RlOjplbWl0Qnl0ZWNvZGUoSlND
OjpCeXRlY29kZUdlbmVyYXRvciYsIEpTQzo6UmVnaXN0ZXJJRCopCjggICAgICAgICAwLjAxMDgg
IGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0Q29u
c3RydWN0KEpTQzo6UmVnaXN0ZXJJRCosIEpTQzo6UmVnaXN0ZXJJRCosIEpTQzo6QXJndW1lbnRz
Tm9kZSosIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQpCjggICAgICAg
ICAwLjAxMDggIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkJ5dGVjb2RlR2VuZXJhdG9y
OjpuZXdMYWJlbCgpCjggICAgICAgICAwLjAxMDggIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBK
U0M6OkNvZGVCbG9jazo6fkNvZGVCbG9jaygpCjggICAgICAgICAwLjAxMDggIGpzYy1vcHJvZmls
ZS1hbm5vdGF0ZSAgICBKU0M6OklkZW50aWZpZXI6OmZyb20oSlNDOjpFeGVjU3RhdGUqLCB1bnNp
Z25lZCBpbnQpCjggICAgICAgICAwLjAxMDggIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6
OkpJVDo6Y29tcGlsZUdldEJ5SWRIb3RQYXRoKGludCwgaW50LCBKU0M6OklkZW50aWZpZXIqLCB1
bnNpZ25lZCBpbnQpCjggICAgICAgICAwLjAxMDggIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBK
U0M6OkpJVDo6ZW1pdF9vcF9wdXRfYnlfdmFsKEpTQzo6SW5zdHJ1Y3Rpb24qKQo4ICAgICAgICAg
MC4wMTA4ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKU0NlbGw6OmNsYXNzSW5mbygp
IGNvbnN0CjggICAgICAgICAwLjAxMDggIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpT
VmFsdWU6OnRvVGhpc09iamVjdChKU0M6OkV4ZWNTdGF0ZSopIGNvbnN0CjggICAgICAgICAwLjAx
MDggIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpTV3JhcHBlck9iamVjdDo6bWFya0No
aWxkcmVuKEpTQzo6TWFya1N0YWNrJikKOCAgICAgICAgIDAuMDEwOCAganNjLW9wcm9maWxlLWFu
bm90YXRlICAgIEpTQzo6TGV4ZXI6OnJlY29yZDE2KHVuc2lnbmVkIHNob3J0KQo4ICAgICAgICAg
MC4wMTA4ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpPYmplY3RQcm90b3R5cGU6Omdl
dE93blByb3BlcnR5U2xvdChKU0M6OkV4ZWNTdGF0ZSosIHVuc2lnbmVkIGludCwgSlNDOjpQcm9w
ZXJ0eVNsb3QmKQo4ICAgICAgICAgMC4wMTA4ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgV1RG
OjpUQ01hbGxvY19DZW50cmFsX0ZyZWVMaXN0OjpGZXRjaEZyb21TcGFucygpCjggICAgICAgICAw
LjAxMDggIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBXVEY6OmNhbGN1bGF0ZURTVE9mZnNldChk
b3VibGUsIGRvdWJsZSkKOCAgICAgICAgIDAuMDEwOCAganNjLW9wcm9maWxlLWFubm90YXRlICAg
IFdURjo6dHJ5RmFzdFJlYWxsb2Modm9pZCosIHVuc2lnbmVkIGludCkKNyAgICAgICAgIDAuMDA5
NSAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Q2lwaGVyW3Rlc3RzL3N1bnNw
aWRlci0wLjkvY3J5cHRvLWFlcy5qczoxMy0zNl0KNyAgICAgICAgIDAuMDA5NSAgODQ5NS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Y29yZV9zaGExW3Rlc3RzL3N1bnNwaWRlci0wLjkv
Y3J5cHRvLXNoYTEuanM6NDEtODJdCjcgICAgICAgICAwLjAwOTUgIDg0OTUuam8gICAgICAgICAg
ICAgICAgICA8aml0LWZ1bmM+Om1kNV9jbW5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tbWQ1
LmpzOjEzOS0xNDFdCjcgICAgICAgICAwLjAwOTUgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+OnJvbFt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1zaGExLmpzOjEzOS0xNDFd
CjcgICAgICAgICAwLjAwOTUgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rl
c3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6MjQ0LTI1Nl0KNyAgICAgICAgIDAuMDA5
NSAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAu
OS9zdHJpbmctdW5wYWNrLWNvZGUuanM6NTEtNTFdfjEKNyAgICAgICAgIDAuMDA5NSAgODQ5NS5q
byAgICAgICAgICAgICAgICAgIDxqaXQteWFycj4lMTAwCjcgICAgICAgICAwLjAwOTUgIDg0OTUu
am8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjI1CjcgICAgICAgICAwLjAwOTUgIDg1NTUu
am8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OkFkZFJvdW5kS2V5W3Rlc3RzL3N1bnNwaWRl
ci0wLjkvY3J5cHRvLWFlcy5qczo3NS04MF0KNyAgICAgICAgIDAuMDA5NSAgODU1NS5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtcHJvZz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1tb3JwaC5qczox
LTU0XQo3ICAgICAgICAgMC4wMDk1ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1wcm9n
Plt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXhwYXJiLmpzOjEtNDE3XQo3ICAgICAg
ICAgMC4wMDk1ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4xNQo3ICAgICAg
ICAgMC4wMDk1ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpTaGlmdFJvd3Nb
dGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tYWVzLmpzOjQ3LTU0XQo3ICAgICAgICAgMC4wMDk1
ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjptZDVfY21uW3Rlc3RzL3N1bnNw
aWRlci0wLjkvY3J5cHRvLW1kNS5qczoxMzktMTQxXQo3ICAgICAgICAgMC4wMDk1ICA4NTYyLmpv
ICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11
bnBhY2stY29kZS5qczo1MS01MV1+MQo3ICAgICAgICAgMC4wMDk1ICA4NTYyLmpvICAgICAgICAg
ICAgICAgICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXhwYXJi
LmpzOjEtNDE3XQo3ICAgICAgICAgMC4wMDk1ICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGpp
dC1mdW5jPjpEcmF3UXViZVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTg2LTIzMF0K
NyAgICAgICAgIDAuMDA5NSAgODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Vk11
bHRpMlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTE1LTEyMF0KNyAgICAgICAgIDAu
MDA5NSAgODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVy
LTAuOS9hY2Nlc3MtYmluYXJ5LXRyZWVzLmpzOjExLTE0XQo3ICAgICAgICAgMC4wMDk1ICA4NTc3
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmlu
Zy11bnBhY2stY29kZS5qczo1MS01MV1+Mwo3ICAgICAgICAgMC4wMDk1ICA4NTc3LmpvICAgICAg
ICAgICAgICAgICAgPGppdC1nZXRhcnJheWxlbmd0aD5+MTUKNyAgICAgICAgIDAuMDA5NSAgODU3
Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtcHJvZz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRl
LWZvcm1hdC14cGFyYi5qczoxLTQxN10KNyAgICAgICAgIDAuMDA5NSAgODU3Ny5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQteWFycj4lMTAwCjcgICAgICAgICAwLjAwOTUgIDg1ODEuam8gICAgICAg
ICAgICAgICAgICA8aml0LWZ1bmM+OkNpcGhlclt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1h
ZXMuanM6MTMtMzZdCjcgICAgICAgICAwLjAwOTUgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+Okxvb3BbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjIzMi0yNDldCjcg
ICAgICAgICAwLjAwOTUgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OlNoaWZ0
Um93c1t0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1hZXMuanM6NDctNTRdCjcgICAgICAgICAw
LjAwOTUgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Om5vcm1hbGlzZVZlY3Rv
clt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNlLmpzOjU5LTY1XQo3ICAgICAgICAgMC4w
MDk1ICA4NTgxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpyb2xbdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS9jcnlwdG8tc2hhMS5qczoxMzktMTQxXQo3ICAgICAgICAgMC4wMDk1ICA4NTgxLmpv
ICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpzdHIyYmluYlt0ZXN0cy9zdW5zcGlkZXItMC45
L2NyeXB0by1zaGExLmpzOjE0OC0xNTRdCjcgICAgICAgICAwLjAwOTUgIDg1ODEuam8gICAgICAg
ICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6
MjQ0LTI1Nl0KNyAgICAgICAgIDAuMDA5NSAgODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
Z2V0YXJyYXlsZW5ndGg+fjE1CjcgICAgICAgICAwLjAwOTUgIDg1ODEuam8gICAgICAgICAgICAg
ICAgICA8aml0LXlhcnI+fjEyCjcgICAgICAgICAwLjAwOTUgIDg1ODUuam8gICAgICAgICAgICAg
ICAgICA8aml0LWZ1bmM+OkNpcGhlclt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1hZXMuanM6
MTMtMzZdCjcgICAgICAgICAwLjAwOTUgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1
bmM+OlZNdWx0aTJbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjExNS0xMjBdCjcgICAg
ICAgICAwLjAwOTUgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmFkZFJlc3Vs
dFt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy12YWxpZGF0ZS1pbnB1dC5qczo4NS04N10KNyAg
ICAgICAgIDAuMDA5NSAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46cm9sW3Rl
c3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLXNoYTEuanM6MTM5LTE0MV0KNyAgICAgICAgIDAuMDA5
NSAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAu
OS9zdHJpbmctdGFnY2xvdWQuanM6MjM1LTIzNV0KNyAgICAgICAgIDAuMDA5NSAgODU4NS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MTIKNyAgICAgICAgIDAuMDA5NSAgODU4NS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MTUKNyAgICAgICAgIDAuMDA5NSAgODU4OS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Q2lwaGVyW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5
cHRvLWFlcy5qczoxMy0zNl0KNyAgICAgICAgIDAuMDA5NSAgODU4OS5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz46bWQ1X2Ntblt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1tZDUuanM6
MTM5LTE0MV0KNyAgICAgICAgIDAuMDA5NSAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46c3RyMmJpbmJbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tc2hhMS5qczoxNDgtMTU0
XQo3ICAgICAgICAgMC4wMDk1ICA4NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0
ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy10YWdjbG91ZC5qczoyMzUtMjM1XQo3ICAgICAgICAg
MC4wMDk1ICA4NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlk
ZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczo1MS01MV1+MQo3ICAgICAgICAgMC4wMDk1ICA4
NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5zcGlkZXItMC45LzNk
LW1vcnBoLmpzOjEtNTRdCjcgICAgICAgICAwLjAwOTUgIDg1OTMuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+OkRyYXdRdWJlW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoxODYt
MjMwXQo3ICAgICAgICAgMC4wMDk1ICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5j
PjpzdHIyYmluYlt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1zaGExLmpzOjE0OC0xNTRdCjcg
ICAgICAgICAwLjAwOTUgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3Rz
L3N1bnNwaWRlci0wLjkvYWNjZXNzLWJpbmFyeS10cmVlcy5qczoxMS0xNF0KNyAgICAgICAgIDAu
MDA5NSAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVy
LTAuOS9zdHJpbmctdW5wYWNrLWNvZGUuanM6MTYtMTZdJTEwMH4yCjcgICAgICAgICAwLjAwOTUg
IDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGFycmF5bGVuZ3RoPn4xNQo3ICAgICAg
ICAgMC4wMDk1ICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5z
cGlkZXItMC45L2RhdGUtZm9ybWF0LXhwYXJiLmpzOjEtNDE3XQo3ICAgICAgICAgMC4wMDk1ICA4
NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjphY2tbdGVzdHMvc3Vuc3BpZGVyLTAu
OS9jb250cm9sZmxvdy1yZWN1cnNpdmUuanM6NS05XQo3ICAgICAgICAgMC4wMDk1ICA4NTk3Lmpv
ICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjptZDVfY21uW3Rlc3RzL3N1bnNwaWRlci0wLjkv
Y3J5cHRvLW1kNS5qczoxMzktMTQxXQo3ICAgICAgICAgMC4wMDk1ICA4NTk3LmpvICAgICAgICAg
ICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29k
ZS5qczozMC0zMF1+Mgo3ICAgICAgICAgMC4wMDk1ICA4NTk3LmpvICAgICAgICAgICAgICAgICAg
PGppdC1wcm9nPlt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXhwYXJiLmpzOjEtNDE3
XQo3ICAgICAgICAgMC4wMDk1ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4y
Mwo3ICAgICAgICAgMC4wMDk1ICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpT
dWJCeXRlc1t0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1hZXMuanM6MzktNDRdCjcgICAgICAg
ICAwLjAwOTUgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnNjYWxlW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6ODMtODVdCjcgICAgICAgICAwLjAwOTUgIDg2
MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvYWNj
ZXNzLWJpbmFyeS10cmVlcy5qczoxMS0xNF0KNyAgICAgICAgIDAuMDA5NSAgODYwMS5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNr
LWNvZGUuanM6NTEtNTFdfjEKNyAgICAgICAgIDAuMDA5NSAgODYwNS5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz46U3ViQnl0ZXNbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tYWVzLmpz
OjM5LTQ0XQo3ICAgICAgICAgMC4wMDk1ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXhwYXJiLmpzOjE4LTI0XQo3ICAg
ICAgICAgMC4wMDk1ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRhcnJheWxlbmd0
aD5+MTUKNyAgICAgICAgIDAuMDA5NSAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtcHJv
Zz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1tb3JwaC5qczoxLTU0XQo3ICAgICAgICAgMC4wMDk1
ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5zcGlkZXItMC45
L3JlZ2V4cC1kbmEuanM6MS0xNzExXSUxMDAKNyAgICAgICAgIDAuMDA5NSAganNjLW9wcm9maWxl
LWFubm90YXRlICAgIEpTQzo6QVJNQXNzZW1ibGVyOjptb3ZlSW1tKHVuc2lnbmVkIGludCwgaW50
KQo3ICAgICAgICAgMC4wMDk1ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpCeXRlY29k
ZUdlbmVyYXRvcjo6YWRkQ29uc3RhbnRWYWx1ZShKU0M6OkpTVmFsdWUpCjcgICAgICAgICAwLjAw
OTUgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpmaW5k
U2NvcGVkUHJvcGVydHkoSlNDOjpJZGVudGlmaWVyIGNvbnN0JiwgaW50JiwgdW5zaWduZWQgaW50
JiwgYm9vbCwgSlNDOjpKU09iamVjdComKQo3ICAgICAgICAgMC4wMDk1ICBqc2Mtb3Byb2ZpbGUt
YW5ub3RhdGUgICAgSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6bmV3UmVnaXN0ZXIoKQo3ICAgICAg
ICAgMC4wMDk1ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpDb2RlQmxvY2s6OkNvZGVC
bG9jayhKU0M6OlNjcmlwdEV4ZWN1dGFibGUqLCBKU0M6OkNvZGVUeXBlLCBXVEY6OlBhc3NSZWZQ
dHI8SlNDOjpTb3VyY2VQcm92aWRlcj4sIHVuc2lnbmVkIGludCwgV1RGOjpIYXNoTWFwPFdURjo6
UmVmUHRyPEpTQzo6VVN0cmluZ0ltcGw+LCBKU0M6OlN5bWJvbFRhYmxlRW50cnksIEpTQzo6SWRl
bnRpZmllclJlcEhhc2gsIFdURjo6SGFzaFRyYWl0czxXVEY6OlJlZlB0cjxKU0M6OlVTdHJpbmdJ
bXBsPiA+LCBKU0M6OlN5bWJvbFRhYmxlSW5kZXhIYXNoVHJhaXRzPiopCjcgICAgICAgICAwLjAw
OTUgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpJVDo6Y29tcGlsZUdldEJ5SWRTbG93
Q2FzZShpbnQsIGludCwgSlNDOjpJZGVudGlmaWVyKiwgSlNDOjpTbG93Q2FzZUVudHJ5KiYsIGJv
b2wpCjcgICAgICAgICAwLjAwOTUgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpJVDo6
ZW1pdFNsb3dfb3Bfamxlc3MoSlNDOjpJbnN0cnVjdGlvbiosIEpTQzo6U2xvd0Nhc2VFbnRyeSom
KQo3ICAgICAgICAgMC4wMDk1ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKSVQ6On5K
SVQoKQo3ICAgICAgICAgMC4wMDk1ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKU0Fj
dGl2YXRpb246OkpTQWN0aXZhdGlvbihKU0M6OkV4ZWNTdGF0ZSosIFdURjo6Tm9uTnVsbFBhc3NS
ZWZQdHI8SlNDOjpGdW5jdGlvbkV4ZWN1dGFibGU+KQo3ICAgICAgICAgMC4wMDk1ICBqc2Mtb3By
b2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKU09iamVjdDo6Z2V0KEpTQzo6RXhlY1N0YXRlKiwgSlND
OjpJZGVudGlmaWVyIGNvbnN0JikgY29uc3QKNyAgICAgICAgIDAuMDA5NSAganNjLW9wcm9maWxl
LWFubm90YXRlICAgIEpTQzo6UGFyc2VyQXJlbmE6On5QYXJzZXJBcmVuYSgpCjcgICAgICAgICAw
LjAwOTUgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OlJlZ0V4cE9iamVjdDo6Y2xhc3NJ
bmZvKCkgY29uc3QKNyAgICAgICAgIDAuMDA5NSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpT
Qzo6U2NvcGVOb2RlOjpTY29wZU5vZGUoSlNDOjpKU0dsb2JhbERhdGEqLCBKU0M6OlNvdXJjZUNv
ZGUgY29uc3QmLCBKU0M6OlNvdXJjZUVsZW1lbnRzKiwgV1RGOjpWZWN0b3I8c3RkOjpwYWlyPEpT
Qzo6SWRlbnRpZmllciBjb25zdCosIHVuc2lnbmVkIGludD4sIDB1PiosIFdURjo6VmVjdG9yPEpT
Qzo6RnVuY3Rpb25Cb2R5Tm9kZSosIDB1PiosIHVuc2lnbmVkIGludCwgaW50KQo3ICAgICAgICAg
MC4wMDk1ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpVU3RyaW5nOjpmaW5kKHVuc2ln
bmVkIHNob3J0LCB1bnNpZ25lZCBpbnQpIGNvbnN0CjcgICAgICAgICAwLjAwOTUgIGpzYy1vcHJv
ZmlsZS1hbm5vdGF0ZSAgICBKU0M6OlVTdHJpbmc6OmZyb20odW5zaWduZWQgaW50KQo3ICAgICAg
ICAgMC4wMDk1ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjppc0lkZW50U3RhcnQoaW50
KQo3ICAgICAgICAgMC4wMDk1ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpqc0lzT2Jq
ZWN0VHlwZShKU0M6OkpTVmFsdWUpCjcgICAgICAgICAwLjAwOTUgIGpzYy1vcHJvZmlsZS1hbm5v
dGF0ZSAgICBKU0M6Om1hcmtJZk5lZWRlZChKU0M6Ok1hcmtTdGFjayYsIEpTQzo6SlNWYWx1ZSkK
NyAgICAgICAgIDAuMDA5NSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6bWF0aFByb3Rv
RnVuY0FicyhKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUsIEpT
Qzo6QXJnTGlzdCBjb25zdCYpCjcgICAgICAgICAwLjAwOTUgIGpzYy1vcHJvZmlsZS1hbm5vdGF0
ZSAgICBKU0M6Om5vbklubGluZU5hTigpCjcgICAgICAgICAwLjAwOTUgIGpzYy1vcHJvZmlsZS1h
bm5vdGF0ZSAgICBXVEY6Okhhc2hNYXA8V1RGOjpSZWZQdHI8SlNDOjpVU3RyaW5nSW1wbD4sIGlu
dCwgSlNDOjpJZGVudGlmaWVyUmVwSGFzaCwgV1RGOjpIYXNoVHJhaXRzPFdURjo6UmVmUHRyPEpT
Qzo6VVN0cmluZ0ltcGw+ID4sIEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OklkZW50aWZpZXJNYXBJ
bmRleEhhc2hUcmFpdHM+OjphZGQoSlNDOjpVU3RyaW5nSW1wbCosIGludCBjb25zdCYpCjcgICAg
ICAgICAwLjAwOTUgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBXVEY6Okhhc2hNYXA8dm9pZCos
IHVuc2lnbmVkIGludCwgV1RGOjpQdHJIYXNoPHZvaWQqPiwgSlNDOjpFbmNvZGVkSlNWYWx1ZUhh
c2hUcmFpdHMsIFdURjo6SGFzaFRyYWl0czx1bnNpZ25lZCBpbnQ+ID46OmFkZCh2b2lkKiBjb25z
dCYsIHVuc2lnbmVkIGludCBjb25zdCYpCjcgICAgICAgICAwLjAwOTUgIGpzYy1vcHJvZmlsZS1h
bm5vdGF0ZSAgICBXVEY6Okhhc2hUYWJsZTxKU0M6OlVTdHJpbmdJbXBsKiwgSlNDOjpVU3RyaW5n
SW1wbCosIFdURjo6SWRlbnRpdHlFeHRyYWN0b3I8SlNDOjpVU3RyaW5nSW1wbCo+LCBXVEY6OlB0
ckhhc2g8SlNDOjpVU3RyaW5nSW1wbCo+LCBXVEY6Okhhc2hUcmFpdHM8SlNDOjpVU3RyaW5nSW1w
bCo+LCBXVEY6Okhhc2hUcmFpdHM8SlNDOjpVU3RyaW5nSW1wbCo+ID46OnJlaGFzaChpbnQpCjcg
ICAgICAgICAwLjAwOTUgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBXVEY6OlNlZ21lbnRlZFZl
Y3RvcjxKU0M6OlJlZ2lzdGVySUQsIDMydT46On5TZWdtZW50ZWRWZWN0b3IoKQo3ICAgICAgICAg
MC4wMDk1ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgY3RpX3JlZ2lzdGVyX2ZpbGVfY2hlY2sK
NyAgICAgICAgIDAuMDA5NSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIHl5c3ludGF4X2Vycm9y
KGNoYXIqLCBpbnQsIGludCkKNiAgICAgICAgIDAuMDA4MSAgODQ5NS5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz46Y29yZV9tZDVbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tbWQ1Lmpz
OjQxLTEzM10KNiAgICAgICAgIDAuMDA4MSAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46c2NhbGVbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczo4My04NV0KNiAg
ICAgICAgIDAuMDA4MSAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtcHJvZz5bdGVzdHMv
c3Vuc3BpZGVyLTAuOS8zZC1tb3JwaC5qczoxLTU0XQo2ICAgICAgICAgMC4wMDgxICA4NDk1Lmpv
ICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4yMwo2ICAgICAgICAgMC4wMDgxICA4NTU1Lmpv
ICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPgo2ICAgICAgICAgMC4wMDgxICA4NTU1LmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPjpUaW1lRnVuY1t0ZXN0cy9zdW5zcGlkZXItMC45L2Jp
dG9wcy1iaXRzLWluLWJ5dGUuanM6MTUtMTldCjYgICAgICAgICAwLjAwODEgIDg1NTUuam8gICAg
ICAgICAgICAgICAgICA8aml0LWZ1bmM+OlZNdWx0aTJbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1j
dWJlLmpzOjExNS0xMjBdCjYgICAgICAgICAwLjAwODEgIDg1NTUuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+OmNvcmVfbWQ1W3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLW1kNS5qczo0
MS0xMzNdCjYgICAgICAgICAwLjAwODEgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1
bmM+Om1kNV9jbW5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tbWQ1LmpzOjEzOS0xNDFdCjYg
ICAgICAgICAwLjAwODEgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3Rz
L3N1bnNwaWRlci0wLjkvYWNjZXNzLWJpbmFyeS10cmVlcy5qczoxMS0xNF0KNiAgICAgICAgIDAu
MDA4MSAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46VGltZUZ1bmNbdGVzdHMv
c3Vuc3BpZGVyLTAuOS9iaXRvcHMtYml0cy1pbi1ieXRlLmpzOjE1LTE5XQo2ICAgICAgICAgMC4w
MDgxICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpWTXVsdGkyW3Rlc3RzL3N1
bnNwaWRlci0wLjkvM2QtY3ViZS5qczoxMTUtMTIwXQo2ICAgICAgICAgMC4wMDgxICA4NTYyLmpv
ICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjphZGRWZWN0b3JbdGVzdHMvc3Vuc3BpZGVyLTAu
OS8zZC1yYXl0cmFjZS5qczozOC00M10KNiAgICAgICAgIDAuMDA4MSAgODU2Mi5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz46c3RyMmJpbmxbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8t
bWQ1LmpzOjIwMi0yMDhdCjYgICAgICAgICAwLjAwODEgIDg1NjIuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6MjQ0LTI1Nl0K
NiAgICAgICAgIDAuMDA4MSAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVz
dHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdGFnY2xvdWQuanM6MjM1LTIzNV0KNiAgICAgICAgIDAu
MDA4MSAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVy
LTAuOS9zdHJpbmctdW5wYWNrLWNvZGUuanM6MTYtMTZdJTEwMH4yCjYgICAgICAgICAwLjAwODEg
IDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjIwCjYgICAgICAgICAwLjAwODEg
IDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OkFkZFJvdW5kS2V5W3Rlc3RzL3N1
bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5qczo3NS04MF0KNiAgICAgICAgIDAuMDA4MSAgODU3Ny5q
byAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Vk11bHRpW3Rlc3RzL3N1bnNwaWRlci0wLjkv
M2QtY3ViZS5qczoxMDgtMTEzXQo2ICAgICAgICAgMC4wMDgxICA4NTc3LmpvICAgICAgICAgICAg
ICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy10YWdjbG91ZC5qczoy
MzUtMjM1XQo2ICAgICAgICAgMC4wMDgxICA4NTgxLmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPjpUaW1lRnVuY1t0ZXN0cy9zdW5zcGlkZXItMC45L2JpdG9wcy1iaXRzLWluLWJ5dGUuanM6
MTUtMTldCjYgICAgICAgICAwLjAwODEgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1
bmM+OnJlbmRlclJvd3NbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczoyOTItMzAz
XQo2ICAgICAgICAgMC4wMDgxICA4NTgxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpz
dHIyYmlubFt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1tZDUuanM6MjAyLTIwOF0KNiAgICAg
ICAgIDAuMDA4MSAgODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vu
c3BpZGVyLTAuOS9hY2Nlc3MtYmluYXJ5LXRyZWVzLmpzOjExLTE0XQo2ICAgICAgICAgMC4wMDgx
ICA4NTgxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45
L3N0cmluZy11bnBhY2stY29kZS5qczo1MS01MV1+Mwo2ICAgICAgICAgMC4wMDgxICA4NTgxLmpv
ICAgICAgICAgICAgICAgICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLW1vcnBo
LmpzOjEtNTRdCjYgICAgICAgICAwLjAwODEgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0
LWZ1bmM+OllbdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC10b2Z0ZS5qczoyMzEtMjUy
XQo2ICAgICAgICAgMC4wMDgxICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0
ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXhwYXJiLmpzOjM1MS0zNjBdCjYgICAgICAg
ICAwLjAwODEgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNw
aWRlci0wLjkvc3RyaW5nLXVucGFjay1jb2RlLmpzOjE2LTE2XSUxMDB+Mgo2ICAgICAgICAgMC4w
MDgxICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXIt
MC45L3N0cmluZy11bnBhY2stY29kZS5qczo1MS01MV1+Mwo2ICAgICAgICAgMC4wMDgxICA4NTg1
LmpvICAgICAgICAgICAgICAgICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLW1v
cnBoLmpzOjEtNTRdCjYgICAgICAgICAwLjAwODEgIDg1ODkuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+OlRpbWVGdW5jW3Rlc3RzL3N1bnNwaWRlci0wLjkvYml0b3BzLTNiaXQtYml0cy1p
bi1ieXRlLmpzOjI2LTMwXQo2ICAgICAgICAgMC4wMDgxICA4NTg5LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjphZGRSZXN1bHRbdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdmFsaWRh
dGUtaW5wdXQuanM6ODUtODddCjYgICAgICAgICAwLjAwODEgIDg1ODkuam8gICAgICAgICAgICAg
ICAgICA8aml0LWZ1bmM+Om1ha2VUYWdDbG91ZFt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy10
YWdjbG91ZC5qczoyMzItMjYyXQo2ICAgICAgICAgMC4wMDgxICA4NTg5LmpvICAgICAgICAgICAg
ICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNlLmpzOjI0NC0y
NTZdCjYgICAgICAgICAwLjAwODEgIDg1ODkuam8gICAgICAgICAgICAgICAgICA8aml0LXByb2c+
W3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQteHBhcmIuanM6MS00MTddCjYgICAgICAg
ICAwLjAwODEgIDg1ODkuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjI3CjYgICAgICAg
ICAwLjAwODEgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OlZNdWx0aTJbdGVz
dHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjExNS0xMjBdCjYgICAgICAgICAwLjAwODEgIDg1
OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnN0cjJiaW5sW3Rlc3RzL3N1bnNwaWRl
ci0wLjkvY3J5cHRvLW1kNS5qczoyMDItMjA4XQo2ICAgICAgICAgMC4wMDgxICA4NTkzLmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBh
Y2stY29kZS5qczo1MS01MV1+MQo2ICAgICAgICAgMC4wMDgxICA4NTkzLmpvICAgICAgICAgICAg
ICAgICAgPGppdC15YXJyPn4xNQo2ICAgICAgICAgMC4wMDgxICA4NTkzLmpvICAgICAgICAgICAg
ICAgICAgPGppdC15YXJyPn4yNQo2ICAgICAgICAgMC4wMDgxICA4NTk3LmpvICAgICAgICAgICAg
ICAgICAgPGppdC1mdW5jPjpEcmF3UXViZVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6
MTg2LTIzMF0KNiAgICAgICAgIDAuMDA4MSAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46VGltZUZ1bmNbdGVzdHMvc3Vuc3BpZGVyLTAuOS9iaXRvcHMtM2JpdC1iaXRzLWluLWJ5
dGUuanM6MjYtMzBdCjYgICAgICAgICAwLjAwODEgIDg1OTcuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+OlRpbWVGdW5jW3Rlc3RzL3N1bnNwaWRlci0wLjkvYml0b3BzLWJpdHMtaW4tYnl0
ZS5qczoxNS0xOV0KNiAgICAgICAgIDAuMDA4MSAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZnVuYz46YWRkUmVzdWx0W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXZhbGlkYXRlLWlu
cHV0LmpzOjg1LTg3XQo2ICAgICAgICAgMC4wMDgxICA4NTk3LmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPjpyb2xbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tc2hhMS5qczoxMzktMTQx
XQo2ICAgICAgICAgMC4wMDgxICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0
ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNlLmpzOjI0NC0yNTZdCjYgICAgICAgICAwLjAw
ODEgIDg1OTcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0w
Ljkvc3RyaW5nLXVucGFjay1jb2RlLmpzOjE2LTE2XSUxMDB+Mgo2ICAgICAgICAgMC4wMDgxICA4
NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0
cmluZy11bnBhY2stY29kZS5qczo1MS01MV1+Mwo2ICAgICAgICAgMC4wMDgxICA4NTk3LmpvICAg
ICAgICAgICAgICAgICAgPGppdC15YXJyPn4yMAo2ICAgICAgICAgMC4wMDgxICA4NjAxLmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPjpEcmF3UXViZVt0ZXN0cy9zdW5zcGlkZXItMC45LzNk
LWN1YmUuanM6MTg2LTIzMF0KNiAgICAgICAgIDAuMDA4MSAgODYwMS5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC14cGFyYi5qczox
OC0yNF0KNiAgICAgICAgIDAuMDA4MSAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtcHJv
Zz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1tb3JwaC5qczoxLTU0XQo2ICAgICAgICAgMC4wMDgx
ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPgo2ICAgICAgICAgMC4wMDgxICA4
NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpUaW1lRnVuY1t0ZXN0cy9zdW5zcGlk
ZXItMC45L2JpdG9wcy0zYml0LWJpdHMtaW4tYnl0ZS5qczoyNi0zMF0KNiAgICAgICAgIDAuMDA4
MSAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Vk11bHRpMlt0ZXN0cy9zdW5z
cGlkZXItMC45LzNkLWN1YmUuanM6MTE1LTEyMF0KNiAgICAgICAgIDAuMDA4MSAgODYwNS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46bWQ1X2Ntblt0ZXN0cy9zdW5zcGlkZXItMC45L2Ny
eXB0by1tZDUuanM6MTM5LTE0MV0KNiAgICAgICAgIDAuMDA4MSAgODYwNS5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZnVuYz46c3RyMmJpbmxbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tbWQ1
LmpzOjIwMi0yMDhdCjYgICAgICAgICAwLjAwODEgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+OndhbGtbdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdGFnY2xvdWQuanM6MTgw
LTE5M10KNiAgICAgICAgIDAuMDA4MSAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVu
Yz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdGFnY2xvdWQuanM6MjI5LTIyOV0KNiAgICAg
ICAgIDAuMDA4MSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpJVFN0dWJUaHVua2VkX29wX2ps
ZXNzZXEKNiAgICAgICAgIDAuMDA4MSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpJVFN0dWJU
aHVua2VkX3ZtX2xhenlMaW5rQ2FsbAo2ICAgICAgICAgMC4wMDgxICBqc2Mtb3Byb2ZpbGUtYW5u
b3RhdGUgICAgSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdERlYnVnSG9vayhKU0M6OkRlYnVn
SG9va0lELCBpbnQsIGludCkKNiAgICAgICAgIDAuMDA4MSAganNjLW9wcm9maWxlLWFubm90YXRl
ICAgIEpTQzo6RGF0ZUluc3RhbmNlOjp+RGF0ZUluc3RhbmNlKCkKNiAgICAgICAgIDAuMDA4MSAg
anNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SklUOjpjb21waWxlQmluYXJ5QXJpdGhPcFNs
b3dDYXNlKEpTQzo6T3Bjb2RlSUQsIEpTQzo6U2xvd0Nhc2VFbnRyeSomLCB1bnNpZ25lZCBpbnQs
IHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50LCBKU0M6Ok9wZXJhbmRUeXBlcykKNiAgICAgICAg
IDAuMDA4MSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SklUOjplbWl0X29wX2dldF9i
eV92YWwoSlNDOjpJbnN0cnVjdGlvbiopCjYgICAgICAgICAwLjAwODEgIGpzYy1vcHJvZmlsZS1h
bm5vdGF0ZSAgICBKU0M6OkpJVDo6ZW1pdF9vcF9tb3YoSlNDOjpJbnN0cnVjdGlvbiopCjYgICAg
ICAgICAwLjAwODEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpTQXJyYXk6Om1hcmtD
aGlsZHJlbihKU0M6Ok1hcmtTdGFjayYpCjYgICAgICAgICAwLjAwODEgIGpzYy1vcHJvZmlsZS1h
bm5vdGF0ZSAgICBKU0M6OkpTQXJyYXk6OnB1c2goSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFs
dWUpCjYgICAgICAgICAwLjAwODEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpTT2Jq
ZWN0OjphbGxvY2F0ZVByb3BlcnR5U3RvcmFnZSh1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludCkK
NiAgICAgICAgIDAuMDA4MSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6UGFyc2VyQXJl
bmE6OnJlc2V0KCkKNiAgICAgICAgIDAuMDA4MSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpT
Qzo6bWF0aFByb3RvRnVuY1JvdW5kKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU09iamVjdCosIEpT
Qzo6SlNWYWx1ZSwgSlNDOjpBcmdMaXN0IGNvbnN0JikKNSAgICAgICAgIDAuMDA2OCAgODQ5NS5q
byAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz4KNSAgICAgICAgIDAuMDA2OCAgODQ5NS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46TG9vcFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1
YmUuanM6MjMyLTI0OV0KNSAgICAgICAgIDAuMDA2OCAgODQ5NS5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz46VGltZUZ1bmNbdGVzdHMvc3Vuc3BpZGVyLTAuOS9iaXRvcHMtYml0cy1pbi1i
eXRlLmpzOjE1LTE5XQo1ICAgICAgICAgMC4wMDY4ICA4NDk1LmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPjphZGRSZXN1bHRbdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdmFsaWRhdGUt
aW5wdXQuanM6ODUtODddCjUgICAgICAgICAwLjAwNjggIDg0OTUuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+OnN0cjJiaW5iW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLXNoYTEuanM6
MTQ4LTE1NF0KNSAgICAgICAgIDAuMDA2OCAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9hY2Nlc3MtYmluYXJ5LXRyZWVzLmpzOjExLTE0XQo1
ICAgICAgICAgMC4wMDY4ICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0
cy9zdW5zcGlkZXItMC45L3N0cmluZy10YWdjbG91ZC5qczoyMzUtMjM1XQo1ICAgICAgICAgMC4w
MDY4ICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXIt
MC45L3N0cmluZy11bnBhY2stY29kZS5qczoxNi0xNl0KNSAgICAgICAgIDAuMDA2OCAgODQ5NS5q
byAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmct
dW5wYWNrLWNvZGUuanM6NTEtNTFdfjMKNSAgICAgICAgIDAuMDA2OCAgODU1NS5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz46RklYRURbdGVzdHMvc3Vuc3BpZGVyLTAuOS9tYXRoLWNvcmRp
Yy5qczozMS0zM10KNSAgICAgICAgIDAuMDA2OCAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZnVuYz46YWRkW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6NjctNjldCjUg
ICAgICAgICAwLjAwNjggIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmRvdFt0
ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNlLmpzOjc5LTgxXQo1ICAgICAgICAgMC4wMDY4
ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpyb2xbdGVzdHMvc3Vuc3BpZGVy
LTAuOS9jcnlwdG8tc2hhMS5qczoxMzktMTQxXQo1ICAgICAgICAgMC4wMDY4ICA4NTU1LmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPjpzaGExX2Z0W3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5
cHRvLXNoYTEuanM6ODktOTRdCjUgICAgICAgICAwLjAwNjggIDg1NTUuam8gICAgICAgICAgICAg
ICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQteHBhcmIuanM6
MTgtMjRdCjUgICAgICAgICAwLjAwNjggIDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1
bmM+OkNpcGhlclt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1hZXMuanM6MTMtMzZdCjUgICAg
ICAgICAwLjAwNjggIDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OlN1YkJ5dGVz
W3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5qczozOS00NF0KNSAgICAgICAgIDAuMDA2
OCAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46YWRkUmVzdWx0W3Rlc3RzL3N1
bnNwaWRlci0wLjkvc3RyaW5nLXZhbGlkYXRlLWlucHV0LmpzOjg1LTg3XQo1ICAgICAgICAgMC4w
MDY4ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpzY2FsZVt0ZXN0cy9zdW5z
cGlkZXItMC45LzNkLXJheXRyYWNlLmpzOjgzLTg1XQo1ICAgICAgICAgMC4wMDY4ICA4NTYyLmpv
ICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpzdHIyYmluYlt0ZXN0cy9zdW5zcGlkZXItMC45
L2NyeXB0by1zaGExLmpzOjE0OC0xNTRdCjUgICAgICAgICAwLjAwNjggIDg1NjIuam8gICAgICAg
ICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvYWNjZXNzLWJpbmFyeS10
cmVlcy5qczoxMS0xNF0KNSAgICAgICAgIDAuMDA2OCAgODU2Mi5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNvZGUuanM6NjYt
NjZdfjMKNSAgICAgICAgIDAuMDA2OCAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtcHJv
Zz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1tb3JwaC5qczoxLTU0XQo1ICAgICAgICAgMC4wMDY4
ICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpMb29wW3Rlc3RzL3N1bnNwaWRl
ci0wLjkvM2QtY3ViZS5qczoyMzItMjQ5XQo1ICAgICAgICAgMC4wMDY4ICA4NTc3LmpvICAgICAg
ICAgICAgICAgICAgPGppdC1mdW5jPjpjb3JlX21kNVt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0
by1tZDUuanM6NDEtMTMzXQo1ICAgICAgICAgMC4wMDY4ICA4NTc3LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjpyZW5kZXJSb3dzW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2Uu
anM6MjkyLTMwM10KNSAgICAgICAgIDAuMDA2OCAgODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZnVuYz46cm9sW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLXNoYTEuanM6MTM5LTE0MV0K
NSAgICAgICAgIDAuMDA2OCAgODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c3Ry
MmJpbmJbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tc2hhMS5qczoxNDgtMTU0XQo1ICAgICAg
ICAgMC4wMDY4ICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5z
cGlkZXItMC45L2RhdGUtZm9ybWF0LXhwYXJiLmpzOjE4LTI0XQo1ICAgICAgICAgMC4wMDY4ICA4
NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0
cmluZy11bnBhY2stY29kZS5qczo1MS01MV1+MQo1ICAgICAgICAgMC4wMDY4ICA4NTc3LmpvICAg
ICAgICAgICAgICAgICAgPGppdC15YXJyPn4yMwo1ICAgICAgICAgMC4wMDY4ICA4NTgxLmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPjpJbml0W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3Vi
ZS5qczoyNTEtMzI0XQo1ICAgICAgICAgMC4wMDY4ICA4NTgxLmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczoxNi0x
Nl0KNSAgICAgICAgIDAuMDA2OCAgODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5b
dGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNvZGUuanM6MTYtMTZdJTEwMH4yCjUg
ICAgICAgICAwLjAwNjggIDg1ODEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3Rz
L3N1bnNwaWRlci0wLjkvc3RyaW5nLXVucGFjay1jb2RlLmpzOjMwLTMwXX4yCjUgICAgICAgICAw
LjAwNjggIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OlRyZWVOb2RlW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvYWNjZXNzLWJpbmFyeS10cmVlcy5qczo1LTldCjUgICAgICAgICAwLjAw
NjggIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmNvcmVfbWQ1W3Rlc3RzL3N1
bnNwaWRlci0wLjkvY3J5cHRvLW1kNS5qczo0MS0xMzNdCjUgICAgICAgICAwLjAwNjggIDg1ODUu
am8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Omxlbmd0aFZlY3Rvclt0ZXN0cy9zdW5zcGlk
ZXItMC45LzNkLXJheXRyYWNlLmpzOjM0LTM2XQo1ICAgICAgICAgMC4wMDY4ICA4NTg1LmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPjptZDVfY21uW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5
cHRvLW1kNS5qczoxMzktMTQxXQo1ICAgICAgICAgMC4wMDY4ICA4NTg5LmpvICAgICAgICAgICAg
ICAgICAgPGppdC1mdW5jPjpEcmF3UXViZVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6
MTg2LTIzMF0KNSAgICAgICAgIDAuMDA2OCAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46U3ViQnl0ZXNbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tYWVzLmpzOjM5LTQ0XQo1
ICAgICAgICAgMC4wMDY4ICA4NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpUaW1l
RnVuY1t0ZXN0cy9zdW5zcGlkZXItMC45L2JpdG9wcy1iaXRzLWluLWJ5dGUuanM6MTUtMTldCjUg
ICAgICAgICAwLjAwNjggIDg1ODkuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OlZNdWx0
aTJbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjExNS0xMjBdCjUgICAgICAgICAwLjAw
NjggIDg1ODkuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnJlbmRlclJvd3NbdGVzdHMv
c3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczoyOTItMzAzXQo1ICAgICAgICAgMC4wMDY4ICA4
NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0
cmluZy11bnBhY2stY29kZS5qczoxNi0xNl0lMTAwfjIKNSAgICAgICAgIDAuMDA2OCAgODU4OS5q
byAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmct
dW5wYWNrLWNvZGUuanM6NjYtNjZdfjMKNSAgICAgICAgIDAuMDA2OCAgODU4OS5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQteWFycj5+MjAKNSAgICAgICAgIDAuMDA2OCAgODU4OS5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQteWFycj5+MjQKNSAgICAgICAgIDAuMDA2OCAgODU4OS5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQteWFycj5+MjUKNSAgICAgICAgIDAuMDA2OCAgODU5My5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz46Q3JlYXRlUFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUu
anM6OTEtOTNdCjUgICAgICAgICAwLjAwNjggIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0
LWZ1bmM+OlRyZWVOb2RlW3Rlc3RzL3N1bnNwaWRlci0wLjkvYWNjZXNzLWJpbmFyeS10cmVlcy5q
czo1LTldCjUgICAgICAgICAwLjAwNjggIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1
bmM+OnNjYWxlW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6ODMtODVdCjUgICAg
ICAgICAwLjAwNjggIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1
bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6MjQ0LTI1Nl0KNSAgICAgICAgIDAuMDA2OCAgODU5
Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c2NhbGVbdGVzdHMvc3Vuc3BpZGVyLTAu
OS8zZC1yYXl0cmFjZS5qczo4My04NV0KNSAgICAgICAgIDAuMDA2OCAgODU5Ny5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNv
ZGUuanM6NTEtNTFdfjEKNSAgICAgICAgIDAuMDA2OCAgODU5Ny5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtcHJvZz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1tb3JwaC5qczoxLTU0XQo1ICAgICAg
ICAgMC4wMDY4ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPiUxMDAKNSAgICAg
ICAgIDAuMDA2OCAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MjQKNSAgICAg
ICAgIDAuMDA2OCAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz4KNSAgICAgICAg
IDAuMDA2OCAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Q2lwaGVyW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5qczoxMy0zNl0KNSAgICAgICAgIDAuMDA2OCAgODYw
MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46VGltZUZ1bmNbdGVzdHMvc3Vuc3BpZGVy
LTAuOS9iaXRvcHMtYml0cy1pbi1ieXRlLmpzOjE1LTE5XQo1ICAgICAgICAgMC4wMDY4ICA4NjAx
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpWTXVsdGkyW3Rlc3RzL3N1bnNwaWRlci0w
LjkvM2QtY3ViZS5qczoxMTUtMTIwXQo1ICAgICAgICAgMC4wMDY4ICA4NjAxLmpvICAgICAgICAg
ICAgICAgICAgPGppdC1mdW5jPjphZGRSZXN1bHRbdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmct
dmFsaWRhdGUtaW5wdXQuanM6ODUtODddCjUgICAgICAgICAwLjAwNjggIDg2MDEuam8gICAgICAg
ICAgICAgICAgICA8aml0LWZ1bmM+OmFkZFZlY3Rvclt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJh
eXRyYWNlLmpzOjM4LTQzXQo1ICAgICAgICAgMC4wMDY4ICA4NjAxLmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjpyb2xbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tc2hhMS5qczoxMzkt
MTQxXQo1ICAgICAgICAgMC4wMDY4ICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5j
PjpzdHIyYmluYlt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1zaGExLmpzOjE0OC0xNTRdCjUg
ICAgICAgICAwLjAwNjggIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3Rz
L3N1bnNwaWRlci0wLjkvc3RyaW5nLXVucGFjay1jb2RlLmpzOjE2LTE2XSUxMDB+Mgo1ICAgICAg
ICAgMC4wMDY4ICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5z
cGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczo1MS01MV0KNSAgICAgICAgIDAuMDA2OCAg
ODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YXJyYXlsZW5ndGg+fjMKNSAgICAgICAg
IDAuMDA2OCAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Q2lwaGVyW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5qczoxMy0zNl0KNSAgICAgICAgIDAuMDA2OCAgODYw
NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46YWRkUmVzdWx0W3Rlc3RzL3N1bnNwaWRl
ci0wLjkvc3RyaW5nLXZhbGlkYXRlLWlucHV0LmpzOjg1LTg3XQo1ICAgICAgICAgMC4wMDY4ICA4
NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpub3JtYWxpc2VWZWN0b3JbdGVzdHMv
c3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczo1OS02NV0KNSAgICAgICAgIDAuMDA2OCAganNj
LW9wcm9maWxlLWFubm90YXRlICAgIEpJVFN0dWJUaHVua2VkX29wX2xlc3MKNSAgICAgICAgIDAu
MDA2OCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpJVFN0dWJUaHVua2VkX29wX3JldF9zY29w
ZUNoYWluCjUgICAgICAgICAwLjAwNjggIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkFz
c2lnbkJyYWNrZXROb2RlOjplbWl0Qnl0ZWNvZGUoSlNDOjpCeXRlY29kZUdlbmVyYXRvciYsIEpT
Qzo6UmVnaXN0ZXJJRCopCjUgICAgICAgICAwLjAwNjggIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAg
ICBKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRvcihKU0M6OlByb2dyYW1O
b2RlKiwgSlNDOjpEZWJ1Z2dlciBjb25zdCosIEpTQzo6U2NvcGVDaGFpbiBjb25zdCYsIFdURjo6
SGFzaE1hcDxXVEY6OlJlZlB0cjxKU0M6OlVTdHJpbmdJbXBsPiwgSlNDOjpTeW1ib2xUYWJsZUVu
dHJ5LCBKU0M6OklkZW50aWZpZXJSZXBIYXNoLCBXVEY6Okhhc2hUcmFpdHM8V1RGOjpSZWZQdHI8
SlNDOjpVU3RyaW5nSW1wbD4gPiwgSlNDOjpTeW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz4qLCBK
U0M6OlByb2dyYW1Db2RlQmxvY2sqKQo1ICAgICAgICAgMC4wMDY4ICBqc2Mtb3Byb2ZpbGUtYW5u
b3RhdGUgICAgSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdEdldEJ5SWQoSlNDOjpSZWdpc3Rl
cklEKiwgSlNDOjpSZWdpc3RlcklEKiwgSlNDOjpJZGVudGlmaWVyIGNvbnN0JikKNSAgICAgICAg
IDAuMDA2OCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6
OmVtaXRMYWJlbChKU0M6OkxhYmVsKikKNSAgICAgICAgIDAuMDA2OCAganNjLW9wcm9maWxlLWFu
bm90YXRlICAgIEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRSZXNvbHZlKEpTQzo6UmVnaXN0
ZXJJRCosIEpTQzo6SWRlbnRpZmllciBjb25zdCYpCjUgICAgICAgICAwLjAwNjggIGpzYy1vcHJv
ZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkZ1bmN0aW9uQm9keU5vZGU6OmVtaXRCeXRlY29kZShKU0M6
OkJ5dGVjb2RlR2VuZXJhdG9yJiwgSlNDOjpSZWdpc3RlcklEKikKNSAgICAgICAgIDAuMDA2OCAg
anNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6RnVuY3Rpb25Cb2R5Tm9kZTo6fkZ1bmN0aW9u
Qm9keU5vZGUoKQo1ICAgICAgICAgMC4wMDY4ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlND
OjpGdW5jdGlvbkNhbGxEb3ROb2RlOjplbWl0Qnl0ZWNvZGUoSlNDOjpCeXRlY29kZUdlbmVyYXRv
ciYsIEpTQzo6UmVnaXN0ZXJJRCopCjUgICAgICAgICAwLjAwNjggIGpzYy1vcHJvZmlsZS1hbm5v
dGF0ZSAgICBKU0M6OkZ1bmN0aW9uQ2FsbFJlc29sdmVOb2RlOjplbWl0Qnl0ZWNvZGUoSlNDOjpC
eXRlY29kZUdlbmVyYXRvciYsIEpTQzo6UmVnaXN0ZXJJRCopCjUgICAgICAgICAwLjAwNjggIGpz
Yy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkZ1bmN0aW9uUGFyYW1ldGVyczo6RnVuY3Rpb25Q
YXJhbWV0ZXJzKEpTQzo6UGFyYW1ldGVyTm9kZSopCjUgICAgICAgICAwLjAwNjggIGpzYy1vcHJv
ZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkhlYXA6Om1hcmtDdXJyZW50VGhyZWFkQ29uc2VydmF0aXZl
bHlJbnRlcm5hbChKU0M6Ok1hcmtTdGFjayYpCjUgICAgICAgICAwLjAwNjggIGpzYy1vcHJvZmls
ZS1hbm5vdGF0ZSAgICBKU0M6OkpJVDo6ZW1pdFRpbWVvdXRDaGVjaygpCjUgICAgICAgICAwLjAw
NjggIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpJVDo6ZW1pdF9vcF9qbGVzcyhKU0M6
Okluc3RydWN0aW9uKikKNSAgICAgICAgIDAuMDA2OCAganNjLW9wcm9maWxlLWFubm90YXRlICAg
IEpTQzo6SklUOjplbWl0X29wX3B1dF9ieV9pZChKU0M6Okluc3RydWN0aW9uKikKNSAgICAgICAg
IDAuMDA2OCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SklUOjplbWl0X29wX3JldChK
U0M6Okluc3RydWN0aW9uKikKNSAgICAgICAgIDAuMDA2OCAganNjLW9wcm9maWxlLWFubm90YXRl
ICAgIEpTQzo6SklUOjpsaW5rQ2FsbChKU0M6OkpTRnVuY3Rpb24qLCBKU0M6OkNvZGVCbG9jayos
IEpTQzo6Q29kZUJsb2NrKiwgSlNDOjpKSVRDb2RlJiwgSlNDOjpDYWxsTGlua0luZm8qLCBpbnQs
IEpTQzo6SlNHbG9iYWxEYXRhKikKNSAgICAgICAgIDAuMDA2OCAganNjLW9wcm9maWxlLWFubm90
YXRlICAgIEpTQzo6SlNPYmplY3Q6OnRvQm9vbGVhbihKU0M6OkV4ZWNTdGF0ZSopIGNvbnN0CjUg
ICAgICAgICAwLjAwNjggIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpTU3RyaW5nOjpS
b3BlQnVpbGRlcjo6flJvcGVCdWlsZGVyKCkKNSAgICAgICAgIDAuMDA2OCAganNjLW9wcm9maWxl
LWFubm90YXRlICAgIEpTQzo6UGFyc2VyOjpwYXJzZShKU0M6OkpTR2xvYmFsRGF0YSosIGludCos
IEpTQzo6VVN0cmluZyopCjUgICAgICAgICAwLjAwNjggIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAg
ICBKU0M6OlBhcnNlckFyZW5hRGF0YTxXVEY6OlZlY3RvcjxzdGQ6OnBhaXI8SlNDOjpJZGVudGlm
aWVyIGNvbnN0KiwgdW5zaWduZWQgaW50PiwgMHU+ID4qIG1lcmdlRGVjbGFyYXRpb25MaXN0czxK
U0M6OlBhcnNlckFyZW5hRGF0YTxXVEY6OlZlY3RvcjxzdGQ6OnBhaXI8SlNDOjpJZGVudGlmaWVy
IGNvbnN0KiwgdW5zaWduZWQgaW50PiwgMHU+ID4qPihKU0M6OlBhcnNlckFyZW5hRGF0YTxXVEY6
OlZlY3RvcjxzdGQ6OnBhaXI8SlNDOjpJZGVudGlmaWVyIGNvbnN0KiwgdW5zaWduZWQgaW50Piwg
MHU+ID4qLCBKU0M6OlBhcnNlckFyZW5hRGF0YTxXVEY6OlZlY3RvcjxzdGQ6OnBhaXI8SlNDOjpJ
ZGVudGlmaWVyIGNvbnN0KiwgdW5zaWduZWQgaW50PiwgMHU+ID4qKQo1ICAgICAgICAgMC4wMDY4
ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpTdHJpbmdPYmplY3Q6OmNsYXNzSW5mbygp
IGNvbnN0CjUgICAgICAgICAwLjAwNjggIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OlVT
dHJpbmcgSlNDOjptYWtlU3RyaW5nPEpTQzo6VVN0cmluZywgY2hhciBjb25zdCosIEpTQzo6VVN0
cmluZywgY2hhciBjb25zdCosIEpTQzo6VVN0cmluZywgY2hhciBjb25zdCosIEpTQzo6VVN0cmlu
ZywgY2hhciBjb25zdCo+KEpTQzo6VVN0cmluZywgY2hhciBjb25zdCosIEpTQzo6VVN0cmluZywg
Y2hhciBjb25zdCosIEpTQzo6VVN0cmluZywgY2hhciBjb25zdCosIEpTQzo6VVN0cmluZywgY2hh
ciBjb25zdCopCjUgICAgICAgICAwLjAwNjggIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6
OnJlZ0V4cFByb3RvRnVuY1Rlc3QoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTT2JqZWN0KiwgSlND
OjpKU1ZhbHVlLCBKU0M6OkFyZ0xpc3QgY29uc3QmKQo1ICAgICAgICAgMC4wMDY4ICBqc2Mtb3By
b2ZpbGUtYW5ub3RhdGUgICAgV1RGOjpIYXNoVGFibGU8Y2hhciBjb25zdCosIHN0ZDo6cGFpcjxj
aGFyIGNvbnN0KiwgV1RGOjpSZWZQdHI8SlNDOjpVU3RyaW5nSW1wbD4gPiwgV1RGOjpQYWlyRmly
c3RFeHRyYWN0b3I8c3RkOjpwYWlyPGNoYXIgY29uc3QqLCBXVEY6OlJlZlB0cjxKU0M6OlVTdHJp
bmdJbXBsPiA+ID4sIFdURjo6UHRySGFzaDxjaGFyIGNvbnN0Kj4sIFdURjo6UGFpckhhc2hUcmFp
dHM8V1RGOjpIYXNoVHJhaXRzPGNoYXIgY29uc3QqPiwgV1RGOjpIYXNoVHJhaXRzPFdURjo6UmVm
UHRyPEpTQzo6VVN0cmluZ0ltcGw+ID4gPiwgV1RGOjpIYXNoVHJhaXRzPGNoYXIgY29uc3QqPiA+
OjpyZWhhc2goaW50KQo1ICAgICAgICAgMC4wMDY4ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAg
V1RGOjpIYXNoVGFibGU8dm9pZCosIHN0ZDo6cGFpcjx2b2lkKiwgdW5zaWduZWQgaW50PiwgV1RG
OjpQYWlyRmlyc3RFeHRyYWN0b3I8c3RkOjpwYWlyPHZvaWQqLCB1bnNpZ25lZCBpbnQ+ID4sIFdU
Rjo6UHRySGFzaDx2b2lkKj4sIFdURjo6UGFpckhhc2hUcmFpdHM8SlNDOjpFbmNvZGVkSlNWYWx1
ZUhhc2hUcmFpdHMsIFdURjo6SGFzaFRyYWl0czx1bnNpZ25lZCBpbnQ+ID4sIEpTQzo6RW5jb2Rl
ZEpTVmFsdWVIYXNoVHJhaXRzPjo6cmVoYXNoKGludCkKNSAgICAgICAgIDAuMDA2OCAganNjLW9w
cm9maWxlLWFubm90YXRlICAgIFdURjo6VW5pY29kZTo6Y29udmVydFVURjE2VG9VVEY4KHVuc2ln
bmVkIHNob3J0IGNvbnN0KiosIHVuc2lnbmVkIHNob3J0IGNvbnN0KiwgY2hhcioqLCBjaGFyKiwg
Ym9vbCkKNSAgICAgICAgIDAuMDA2OCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6VmVj
dG9yPEpTQzo6SW5zdHJ1Y3Rpb24sIDB1Pjo6ZXhwYW5kQ2FwYWNpdHkodW5zaWduZWQgaW50KQo1
ICAgICAgICAgMC4wMDY4ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgbWFrZUFzc2lnbk5vZGUo
SlNDOjpKU0dsb2JhbERhdGEqLCBKU0M6OkV4cHJlc3Npb25Ob2RlKiwgSlNDOjpPcGVyYXRvciwg
SlNDOjpFeHByZXNzaW9uTm9kZSosIGJvb2wsIGJvb2wsIGludCwgaW50LCBpbnQpCjQgICAgICAg
ICAwLjAwNTQgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmNvcmRpY1t0ZXN0
cy9zdW5zcGlkZXItMC45L21hdGgtY29yZGljLmpzOjgzLTkzXQo0ICAgICAgICAgMC4wMDU0ICA4
NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L2Rh
dGUtZm9ybWF0LXhwYXJiLmpzOjE4LTI0XQo0ICAgICAgICAgMC4wMDU0ICA4NDk1LmpvICAgICAg
ICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2st
Y29kZS5qczo2Ni02Nl1+MQo0ICAgICAgICAgMC4wMDU0ICA4NDk1LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXhwYXJiLmpzOjEt
NDE3XQo0ICAgICAgICAgMC4wMDU0ICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJy
Pn4xMwo0ICAgICAgICAgMC4wMDU0ICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJy
Pn4yMAo0ICAgICAgICAgMC4wMDU0ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5j
PjpyZW5kZXJSb3dzW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6MjkyLTMwM10K
NCAgICAgICAgIDAuMDA1NCAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c2Nh
bGVbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczo4My04NV0KNCAgICAgICAgIDAu
MDA1NCAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVy
LTAuOS9zdHJpbmctdGFnY2xvdWQuanM6MjM1LTIzNV0KNCAgICAgICAgIDAuMDA1NCAgODU1NS5q
byAgICAgICAgICAgICAgICAgIDxqaXQteWFycj4lMTAwCjQgICAgICAgICAwLjAwNTQgIDg1NTUu
am8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjE4CjQgICAgICAgICAwLjAwNTQgIDg1NjIu
am8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+CjQgICAgICAgICAwLjAwNTQgIDg1NjIuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Okxvb3BbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1j
dWJlLmpzOjIzMi0yNDldCjQgICAgICAgICAwLjAwNTQgIDg1NjIuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+OmNvcmRpY1t0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtY29yZGljLmpzOjgz
LTkzXQo0ICAgICAgICAgMC4wMDU0ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5j
Pjpyb2xbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tc2hhMS5qczoxMzktMTQxXQo0ICAgICAg
ICAgMC4wMDU0ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5z
cGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczozMC0zMF1+Mgo0ICAgICAgICAgMC4wMDU0
ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45
L3N0cmluZy11bnBhY2stY29kZS5qczo1MS01MV1+Mwo0ICAgICAgICAgMC4wMDU0ICA4NTYyLmpv
ICAgICAgICAgICAgICAgICAgPGppdC1nZXRhcnJheWxlbmd0aD5+MTUKNCAgICAgICAgIDAuMDA1
NCAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YXJyYXlsZW5ndGg+fjE4CjQgICAg
ICAgICAwLjAwNTQgIDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjE4CjQgICAg
ICAgICAwLjAwNTQgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OkNpcGhlclt0
ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1hZXMuanM6MTMtMzZdCjQgICAgICAgICAwLjAwNTQg
IDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmFkZFJlc3VsdFt0ZXN0cy9zdW5z
cGlkZXItMC45L3N0cmluZy12YWxpZGF0ZS1pbnB1dC5qczo4NS04N10KNCAgICAgICAgIDAuMDA1
NCAgODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Yml0X3JvbFt0ZXN0cy9zdW5z
cGlkZXItMC45L2NyeXB0by1tZDUuanM6MTkzLTE5NV0KNCAgICAgICAgIDAuMDA1NCAgODU3Ny5q
byAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46ZG90W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2Qt
cmF5dHJhY2UuanM6NzktODFdCjQgICAgICAgICAwLjAwNTQgIDg1Nzcuam8gICAgICAgICAgICAg
ICAgICA8aml0LWZ1bmM+Om1kNV9jbW5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tbWQ1Lmpz
OjEzOS0xNDFdCjQgICAgICAgICAwLjAwNTQgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0
LWZ1bmM+OnNoYTFfZnRbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tc2hhMS5qczo4OS05NF0K
NCAgICAgICAgIDAuMDA1NCAgODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c3Vi
W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6NzEtNzNdCjQgICAgICAgICAwLjAw
NTQgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0w
LjkvM2QtcmF5dHJhY2UuanM6MjQ0LTI1Nl0KNCAgICAgICAgIDAuMDA1NCAgODU3Ny5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNr
LWNvZGUuanM6MzAtMzBdfjIKNCAgICAgICAgIDAuMDA1NCAgODU3Ny5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNvZGUuanM6
NTEtNTFdCjQgICAgICAgICAwLjAwNTQgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWdl
dGFycmF5bGVuZ3RoPn4yMAo0ICAgICAgICAgMC4wMDU0ICA4NTc3LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1nZXRieWlkLXByb3RvPn4xNAo0ICAgICAgICAgMC4wMDU0ICA4NTc3LmpvICAgICAg
ICAgICAgICAgICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLW1vcnBoLmpzOjEt
NTRdCjQgICAgICAgICAwLjAwNTQgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+
fjI1CjQgICAgICAgICAwLjAwNTQgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
OkZJWEVEW3Rlc3RzL3N1bnNwaWRlci0wLjkvbWF0aC1jb3JkaWMuanM6MzEtMzNdCjQgICAgICAg
ICAwLjAwNTQgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmJpdF9yb2xbdGVz
dHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tbWQ1LmpzOjE5My0xOTVdCjQgICAgICAgICAwLjAwNTQg
IDg1ODEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Om1kNV9mZlt0ZXN0cy9zdW5zcGlk
ZXItMC45L2NyeXB0by1tZDUuanM6MTQzLTE0NV0KNCAgICAgICAgIDAuMDA1NCAgODU4MS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c2hhMV9mdFt0ZXN0cy9zdW5zcGlkZXItMC45L2Ny
eXB0by1zaGExLmpzOjg5LTk0XQo0ICAgICAgICAgMC4wMDU0ICA4NTgxLmpvICAgICAgICAgICAg
ICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy10YWdjbG91ZC5qczoy
MzUtMjM1XQo0ICAgICAgICAgMC4wMDU0ICA4NTgxLmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczo2Ni02Nl1+MQo0
ICAgICAgICAgMC4wMDU0ICA4NTgxLmpvICAgICAgICAgICAgICAgICAgPGppdC1wcm9nPlt0ZXN0
cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjEtMjk4XQo0ICAgICAgICAgMC4w
MDU0ICA4NTgxLmpvICAgICAgICAgICAgICAgICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5zcGlkZXIt
MC45L2RhdGUtZm9ybWF0LXhwYXJiLmpzOjEtNDE3XQo0ICAgICAgICAgMC4wMDU0ICA4NTgxLmpv
ICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4yMAo0ICAgICAgICAgMC4wMDU0ICA4NTgxLmpv
ICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4yNwo0ICAgICAgICAgMC4wMDU0ICA4NTg1Lmpv
ICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpMb29wW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2Qt
Y3ViZS5qczoyMzItMjQ5XQo0ICAgICAgICAgMC4wMDU0ICA4NTg1LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjpUaW1lRnVuY1t0ZXN0cy9zdW5zcGlkZXItMC45L2JpdG9wcy1iaXRzLWlu
LWJ5dGUuanM6MTUtMTldCjQgICAgICAgICAwLjAwNTQgIDg1ODUuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+OlZNdWx0aVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTA4LTEx
M10KNCAgICAgICAgIDAuMDA1NCAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46
Y29yZGljW3Rlc3RzL3N1bnNwaWRlci0wLjkvbWF0aC1jb3JkaWMuanM6ODMtOTNdCjQgICAgICAg
ICAwLjAwNTQgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnJlbmRlclJvd3Nb
dGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczoyOTItMzAzXQo0ICAgICAgICAgMC4w
MDU0ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpzdHIyYmlubFt0ZXN0cy9z
dW5zcGlkZXItMC45L2NyeXB0by1tZDUuanM6MjAyLTIwOF0KNCAgICAgICAgIDAuMDA1NCAgODU4
NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1y
YXl0cmFjZS5qczoyNDQtMjU2XQo0ICAgICAgICAgMC4wMDU0ICA4NTg1LmpvICAgICAgICAgICAg
ICAgICAgPGppdC15YXJyPn4yMAo0ICAgICAgICAgMC4wMDU0ICA4NTg5LmpvICAgICAgICAgICAg
ICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5q
czoxNi0xNl0KNCAgICAgICAgIDAuMDA1NCAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNvZGUuanM6MzAtMzBdfjIK
NCAgICAgICAgIDAuMDA1NCAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz4KNCAg
ICAgICAgIDAuMDA1NCAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46U3ViQnl0
ZXNbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tYWVzLmpzOjM5LTQ0XQo0ICAgICAgICAgMC4w
MDU0ICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpUaW1lRnVuY1t0ZXN0cy9z
dW5zcGlkZXItMC45L2JpdG9wcy1iaXRzLWluLWJ5dGUuanM6MTUtMTldCjQgICAgICAgICAwLjAw
NTQgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmNvcmVfbWQ1W3Rlc3RzL3N1
bnNwaWRlci0wLjkvY3J5cHRvLW1kNS5qczo0MS0xMzNdCjQgICAgICAgICAwLjAwNTQgIDg1OTMu
am8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5n
LXRhZ2Nsb3VkLmpzOjIzNS0yMzVdCjQgICAgICAgICAwLjAwNTQgIDg1OTMuam8gICAgICAgICAg
ICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXVucGFjay1jb2Rl
LmpzOjE2LTE2XQo0ICAgICAgICAgMC4wMDU0ICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGpp
dC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczo1MS01MV0K
NCAgICAgICAgIDAuMDA1NCAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVz
dHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNvZGUuanM6NTEtNTFdfjMKNCAgICAgICAg
IDAuMDA1NCAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YXJyYXlsZW5ndGg+fjE2
CjQgICAgICAgICAwLjAwNTQgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+JTEw
MAo0ICAgICAgICAgMC4wMDU0ICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4y
Mwo0ICAgICAgICAgMC4wMDU0ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPgo0
ICAgICAgICAgMC4wMDU0ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpDaXBo
ZXJbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tYWVzLmpzOjEzLTM2XQo0ICAgICAgICAgMC4w
MDU0ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpMb29wW3Rlc3RzL3N1bnNw
aWRlci0wLjkvM2QtY3ViZS5qczoyMzItMjQ5XQo0ICAgICAgICAgMC4wMDU0ICA4NTk3LmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPjpyZW5kZXJSb3dzW3Rlc3RzL3N1bnNwaWRlci0wLjkv
M2QtcmF5dHJhY2UuanM6MjkyLTMwM10KNCAgICAgICAgIDAuMDA1NCAgODU5Ny5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz46c2NhbGVWZWN0b3JbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1y
YXl0cmFjZS5qczo1Mi01N10KNCAgICAgICAgIDAuMDA1NCAgODU5Ny5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdGFnY2xvdWQuanM6MjM1
LTIzNV0KNCAgICAgICAgIDAuMDA1NCAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVu
Yz46Yml0X3JvbFt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1tZDUuanM6MTkzLTE5NV0KNCAg
ICAgICAgIDAuMDA1NCAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46bWQ1X2Nt
blt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1tZDUuanM6MTM5LTE0MV0KNCAgICAgICAgIDAu
MDA1NCAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46cmVuZGVyUm93c1t0ZXN0
cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNlLmpzOjI5Mi0zMDNdCjQgICAgICAgICAwLjAwNTQg
IDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkv
c3RyaW5nLXVucGFjay1jb2RlLmpzOjMwLTMwXX4yCjQgICAgICAgICAwLjAwNTQgIDg2MDEuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXVu
cGFjay1jb2RlLmpzOjUxLTUxXX4zCjQgICAgICAgICAwLjAwNTQgIDg2MDUuam8gICAgICAgICAg
ICAgICAgICA8aml0LWZ1bmM+OkZJWEVEW3Rlc3RzL3N1bnNwaWRlci0wLjkvbWF0aC1jb3JkaWMu
anM6MzEtMzNdCjQgICAgICAgICAwLjAwNTQgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0
LWZ1bmM+OlRyZWVOb2RlW3Rlc3RzL3N1bnNwaWRlci0wLjkvYWNjZXNzLWJpbmFyeS10cmVlcy5q
czo1LTldCjQgICAgICAgICAwLjAwNTQgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1
bmM+OmFkZFZlY3Rvclt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNlLmpzOjM4LTQzXQo0
ICAgICAgICAgMC4wMDU0ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjphZGRb
dGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczo2Ny02OV0KNCAgICAgICAgIDAuMDA1
NCAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Y29yZV9tZDVbdGVzdHMvc3Vu
c3BpZGVyLTAuOS9jcnlwdG8tbWQ1LmpzOjQxLTEzM10KNCAgICAgICAgIDAuMDA1NCAgODYwNS5q
byAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmct
dW5wYWNrLWNvZGUuanM6NTEtNTFdCjQgICAgICAgICAwLjAwNTQgIDg2MDUuam8gICAgICAgICAg
ICAgICAgICA8aml0LXlhcnI+JTEwMAo0ICAgICAgICAgMC4wMDU0ICBqc2Mtb3Byb2ZpbGUtYW5u
b3RhdGUgICAgSklUU3R1YlRodW5rZWRfb3BfcmVzb2x2ZV9nbG9iYWwKNCAgICAgICAgIDAuMDA1
NCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6QVJNQXNzZW1ibGVyOjpkb3VibGVUcmFu
c2Zlcihib29sLCBKU0M6OkFSTVJlZ2lzdGVyczo6RlBSZWdpc3RlcklELCBKU0M6OkFSTVJlZ2lz
dGVyczo6UmVnaXN0ZXJJRCwgaW50KQo0ICAgICAgICAgMC4wMDU0ICBqc2Mtb3Byb2ZpbGUtYW5u
b3RhdGUgICAgSlNDOjpBUk1Bc3NlbWJsZXI6OmxhYmVsKCkKNCAgICAgICAgIDAuMDA1NCAganNj
LW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6QVJNQXNzZW1ibGVyOjpwYXRjaENvbnN0YW50UG9v
bExvYWQodm9pZCosIHZvaWQqKQo0ICAgICAgICAgMC4wMDU0ICBqc2Mtb3Byb2ZpbGUtYW5ub3Rh
dGUgICAgSlNDOjpBcnJheU5vZGU6OmVtaXRCeXRlY29kZShKU0M6OkJ5dGVjb2RlR2VuZXJhdG9y
JiwgSlNDOjpSZWdpc3RlcklEKikKNCAgICAgICAgIDAuMDA1NCAganNjLW9wcm9maWxlLWFubm90
YXRlICAgIEpTQzo6QXNzaWduUmVzb2x2ZU5vZGU6OmVtaXRCeXRlY29kZShKU0M6OkJ5dGVjb2Rl
R2VuZXJhdG9yJiwgSlNDOjpSZWdpc3RlcklEKikKNCAgICAgICAgIDAuMDA1NCAganNjLW9wcm9m
aWxlLWFubm90YXRlICAgIEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmFkZENvbnN0YW50KEpTQzo6
SWRlbnRpZmllciBjb25zdCYpCjQgICAgICAgICAwLjAwNTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0
ZSAgICBKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0QmluYXJ5T3AoSlNDOjpPcGNvZGVJRCwg
SlNDOjpSZWdpc3RlcklEKiwgSlNDOjpSZWdpc3RlcklEKiwgSlNDOjpSZWdpc3RlcklEKiwgSlND
OjpPcGVyYW5kVHlwZXMpCjQgICAgICAgICAwLjAwNTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAg
ICBKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TW92ZShKU0M6OlJlZ2lzdGVySUQqLCBKU0M6
OlJlZ2lzdGVySUQqKQo0ICAgICAgICAgMC4wMDU0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAg
SlNDOjpGb3JOb2RlOjplbWl0Qnl0ZWNvZGUoSlNDOjpCeXRlY29kZUdlbmVyYXRvciYsIEpTQzo6
UmVnaXN0ZXJJRCopCjQgICAgICAgICAwLjAwNTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBK
U0M6OkZ1bmN0aW9uQm9keU5vZGU6OmNyZWF0ZShKU0M6OkpTR2xvYmFsRGF0YSosIEpTQzo6U291
cmNlRWxlbWVudHMqLCBXVEY6OlZlY3RvcjxzdGQ6OnBhaXI8SlNDOjpJZGVudGlmaWVyIGNvbnN0
KiwgdW5zaWduZWQgaW50PiwgMHU+KiwgV1RGOjpWZWN0b3I8SlNDOjpGdW5jdGlvbkJvZHlOb2Rl
KiwgMHU+KiwgSlNDOjpTb3VyY2VDb2RlIGNvbnN0JiwgdW5zaWduZWQgaW50LCBpbnQpCjQgICAg
ICAgICAwLjAwNTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpJVDo6ZW1pdFNsb3df
b3Bfam5sZXNzKEpTQzo6SW5zdHJ1Y3Rpb24qLCBKU0M6OlNsb3dDYXNlRW50cnkqJikKNCAgICAg
ICAgIDAuMDA1NCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SklUOjplbWl0X29wX2Nv
bnN0cnVjdF92ZXJpZnkoSlNDOjpJbnN0cnVjdGlvbiopCjQgICAgICAgICAwLjAwNTQgIGpzYy1v
cHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpJVDo6ZW1pdF9vcF9vcHJvZmlsZShKU0M6Okluc3Ry
dWN0aW9uKikKNCAgICAgICAgIDAuMDA1NCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6
SklUUHJvZmlsZUFnZW50OjphZ2VudCgpCjQgICAgICAgICAwLjAwNTQgIGpzYy1vcHJvZmlsZS1h
bm5vdGF0ZSAgICBKU0M6OkpTQ2VsbDo6Z2V0Q2FsbERhdGEoSlNDOjpDYWxsRGF0YSYpCjQgICAg
ICAgICAwLjAwNTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpTTnVtYmVyQ2VsbDo6
dG9QcmltaXRpdmUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OlByZWZlcnJlZFByaW1pdGl2ZVR5cGUp
IGNvbnN0CjQgICAgICAgICAwLjAwNTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpT
T2JqZWN0OjpoYXNPd25Qcm9wZXJ0eShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SWRlbnRpZmllciBj
b25zdCYpIGNvbnN0CjQgICAgICAgICAwLjAwNTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBK
U0M6OkxleGVyOjpzaGlmdExpbmVUZXJtaW5hdG9yKCkKNCAgICAgICAgIDAuMDA1NCAganNjLW9w
cm9maWxlLWFubm90YXRlICAgIEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06OmJyYW5jaDMyKEpTQzo6
TWFjcm9Bc3NlbWJsZXJBUk06OkNvbmRpdGlvbiwgSlNDOjpBUk1SZWdpc3RlcnM6OlJlZ2lzdGVy
SUQsIEpTQzo6QWJzdHJhY3RNYWNyb0Fzc2VtYmxlcjxKU0M6OkFSTUFzc2VtYmxlcj46OkltbTMy
LCBpbnQpCjQgICAgICAgICAwLjAwNTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OlBh
cnNlckFyZW5hRGVsZXRhYmxlOjpvcGVyYXRvciBuZXcodW5zaWduZWQgaW50LCBKU0M6OkpTR2xv
YmFsRGF0YSopCjQgICAgICAgICAwLjAwNTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6
OlByb3BlcnR5TmFtZUFycmF5OjphZGQoSlNDOjpVU3RyaW5nSW1wbCopCjQgICAgICAgICAwLjAw
NTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OlJldHVybk5vZGU6OmVtaXRCeXRlY29k
ZShKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yJiwgSlNDOjpSZWdpc3RlcklEKikKNCAgICAgICAgIDAu
MDA1NCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6VVN0cmluZzo6YXNjaWkoKSBjb25z
dAo0ICAgICAgICAgMC4wMDU0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpVU3RyaW5n
Ojp0b0RvdWJsZSgpIGNvbnN0CjQgICAgICAgICAwLjAwNTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0
ZSAgICBKU0M6OllhcnI6OlJlZ2V4R2VuZXJhdG9yOjpnZW5lcmF0ZURpc2p1bmN0aW9uKEpTQzo6
WWFycjo6UGF0dGVybkRpc2p1bmN0aW9uKikKNCAgICAgICAgIDAuMDA1NCAganNjLW9wcm9maWxl
LWFubm90YXRlICAgIEpTQzo6ZGF0ZVByb3RvRnVuY0dldFllYXIoSlNDOjpFeGVjU3RhdGUqLCBK
U0M6OkpTT2JqZWN0KiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkFyZ0xpc3QgY29uc3QmKQo0ICAgICAg
ICAgMC4wMDU0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpwYXJzZURhdGUoSlNDOjpF
eGVjU3RhdGUqLCBKU0M6OlVTdHJpbmcgY29uc3QmKQo0ICAgICAgICAgMC4wMDU0ICBqc2Mtb3By
b2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpzdHJpbmdQcm90b0Z1bmNNYXRjaChKU0M6OkV4ZWNTdGF0
ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUsIEpTQzo6QXJnTGlzdCBjb25zdCYpCjQg
ICAgICAgICAwLjAwNTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBXVEY6OlBhc3NSZWZQdHI8
SlNDOjpGdW5jdGlvbkJvZHlOb2RlPiBKU0M6OlBhcnNlcjo6cGFyc2U8SlNDOjpGdW5jdGlvbkJv
ZHlOb2RlPihKU0M6OkpTR2xvYmFsRGF0YSosIEpTQzo6RGVidWdnZXIqLCBKU0M6OkV4ZWNTdGF0
ZSosIEpTQzo6U291cmNlQ29kZSBjb25zdCYsIGludCosIEpTQzo6VVN0cmluZyopCjQgICAgICAg
ICAwLjAwNTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBXVEY6OlZlY3RvcjxKU0M6OlN0cnVj
dHVyZVN0dWJJbmZvLCAwdT46OmV4cGFuZENhcGFjaXR5KHVuc2lnbmVkIGludCkKNCAgICAgICAg
IDAuMDA1NCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6ZGF0ZVRvRGF5c0Zyb20xOTcw
KGludCwgaW50LCBpbnQpCjQgICAgICAgICAwLjAwNTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAg
ICBjdGlfb3BfZ2V0X2J5X2lkX2dlbmVyaWMKNCAgICAgICAgIDAuMDA1NCAganNjLW9wcm9maWxl
LWFubm90YXRlICAgIGN0aV9vcF9pc19vYmplY3QKNCAgICAgICAgIDAuMDA1NCAganNjLW9wcm9m
aWxlLWFubm90YXRlICAgIGZ1bmN0aW9uTG9hZChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmpl
Y3QqLCBKU0M6OkpTVmFsdWUsIEpTQzo6QXJnTGlzdCBjb25zdCYpCjQgICAgICAgICAwLjAwNTQg
IGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBtYWtlRnVuY3Rpb25DYWxsTm9kZShKU0M6OkpTR2xv
YmFsRGF0YSosIEpTQzo6Tm9kZUluZm88SlNDOjpFeHByZXNzaW9uTm9kZSo+LCBKU0M6Ok5vZGVJ
bmZvPEpTQzo6QXJndW1lbnRzTm9kZSo+LCBpbnQsIGludCwgaW50KQo0ICAgICAgICAgMC4wMDU0
ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgbWFrZU51bWJlck5vZGUoSlNDOjpKU0dsb2JhbERh
dGEqLCBkb3VibGUpCjQgICAgICAgICAwLjAwNTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICB2
b2lkIFdURjo6U2VnbWVudGVkVmVjdG9yPEpTQzo6UmVnaXN0ZXJJRCwgMzJ1Pjo6YXBwZW5kPGlu
dD4oaW50IGNvbnN0JikKNCAgICAgICAgIDAuMDA1NCAganNjLW9wcm9maWxlLWFubm90YXRlICAg
IHZvaWQgV1RGOjpWZWN0b3I8dW5zaWduZWQgc2hvcnQsIDB1Pjo6YXBwZW5kPHVuc2lnbmVkIHNo
b3J0Pih1bnNpZ25lZCBzaG9ydCBjb25zdCosIHVuc2lnbmVkIGludCkKMyAgICAgICAgIDAuMDA0
MSAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Yml0X3JvbFt0ZXN0cy9zdW5z
cGlkZXItMC45L2NyeXB0by1tZDUuanM6MTkzLTE5NV0KMyAgICAgICAgIDAuMDA0MSAgODQ5NS5q
byAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46ZFt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUt
Zm9ybWF0LXRvZnRlLmpzOjcwLTc0XQozICAgICAgICAgMC4wMDQxICA4NDk1LmpvICAgICAgICAg
ICAgICAgICAgPGppdC1mdW5jPjptZDVfaGhbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tbWQ1
LmpzOjE1MS0xNTNdCjMgICAgICAgICAwLjAwNDEgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+Om5vcm1hbGlzZVZlY3Rvclt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNl
LmpzOjU5LTY1XQozICAgICAgICAgMC4wMDQxICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGpp
dC1mdW5jPjpzdWJbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczo3MS03M10KMyAg
ICAgICAgIDAuMDA0MSAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMv
c3Vuc3BpZGVyLTAuOS9hY2Nlc3MtbmJvZHkuanM6MTU3LTE2OF0KMyAgICAgICAgIDAuMDA0MSAg
ODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9z
dHJpbmctdW5wYWNrLWNvZGUuanM6NTEtNTFdCjMgICAgICAgICAwLjAwNDEgIDg0OTUuam8gICAg
ICAgICAgICAgICAgICA8aml0LWdldGFycmF5bGVuZ3RoPn4xNgozICAgICAgICAgMC4wMDQxICA4
NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRhcnJheWxlbmd0aD5+MgozICAgICAgICAg
MC4wMDQxICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpBRVNEZWNyeXB0Q3Ry
W3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5qczoyMzAtMjc0XQozICAgICAgICAgMC4w
MDQxICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpJbml0W3Rlc3RzL3N1bnNw
aWRlci0wLjkvM2QtY3ViZS5qczoyNTEtMzI0XQozICAgICAgICAgMC4wMDQxICA4NTU1LmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPjpMb29wW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3Vi
ZS5qczoyMzItMjQ5XQozICAgICAgICAgMC4wMDQxICA4NTU1LmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPjpjb3JkaWNbdGVzdHMvc3Vuc3BpZGVyLTAuOS9tYXRoLWNvcmRpYy5qczo4My05
M10KMyAgICAgICAgIDAuMDA0MSAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5b
dGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNvZGUuanM6MTYtMTZdCjMgICAgICAg
ICAwLjAwNDEgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNw
aWRlci0wLjkvc3RyaW5nLXVucGFjay1jb2RlLmpzOjMwLTMwXQozICAgICAgICAgMC4wMDQxICA4
NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0
cmluZy11bnBhY2stY29kZS5qczozMC0zMF0lMTAwCjMgICAgICAgICAwLjAwNDEgIDg1NTUuam8g
ICAgICAgICAgICAgICAgICA8aml0LWdldGFycmF5bGVuZ3RoPn4xNQozICAgICAgICAgMC4wMDQx
ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4xNAozICAgICAgICAgMC4wMDQx
ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4yNgozICAgICAgICAgMC4wMDQx
ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGpzLWV2YWw+fjgKMyAgICAgICAgIDAuMDA0MSAg
ODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46QUVTRGVjcnlwdEN0clt0ZXN0cy9z
dW5zcGlkZXItMC45L2NyeXB0by1hZXMuanM6MjMwLTI3NF0KMyAgICAgICAgIDAuMDA0MSAgODU2
Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46WVt0ZXN0cy9zdW5zcGlkZXItMC45L2Rh
dGUtZm9ybWF0LXRvZnRlLmpzOjIzMS0yNTJdCjMgICAgICAgICAwLjAwNDEgIDg1NjIuam8gICAg
ICAgICAgICAgICAgICA8aml0LWZ1bmM+OmJpdF9yb2xbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlw
dG8tbWQ1LmpzOjE5My0xOTVdCjMgICAgICAgICAwLjAwNDEgIDg1NjIuam8gICAgICAgICAgICAg
ICAgICA8aml0LWZ1bmM+OmRbdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC10b2Z0ZS5q
czo3MC03NF0KMyAgICAgICAgIDAuMDA0MSAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46bWQ1X2dnW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLW1kNS5qczoxNDctMTQ5XQoz
ICAgICAgICAgMC4wMDQxICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0
cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNlLmpzOjM1Ny0zNzBdCjMgICAgICAgICAwLjAwNDEg
IDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkv
YWNjZXNzLW5ib2R5LmpzOjE1Ny0xNjhdCjMgICAgICAgICAwLjAwNDEgIDg1NjIuam8gICAgICAg
ICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXVucGFjay1j
b2RlLmpzOjMwLTMwXQozICAgICAgICAgMC4wMDQxICA4NTYyLmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczo1MS01
MV0KMyAgICAgICAgIDAuMDA0MSAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+
MTMKMyAgICAgICAgIDAuMDA0MSAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+
MTQKMyAgICAgICAgIDAuMDA0MSAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+
MjQKMyAgICAgICAgIDAuMDA0MSAgODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46
WVt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjIzMS0yNTJdCjMgICAg
ICAgICAwLjAwNDEgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmFkZFZlY3Rv
clt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNlLmpzOjM4LTQzXQozICAgICAgICAgMC4w
MDQxICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpjb3JlX3NoYTFbdGVzdHMv
c3Vuc3BpZGVyLTAuOS9jcnlwdG8tc2hhMS5qczo0MS04Ml0KMyAgICAgICAgIDAuMDA0MSAgODU3
Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c2NhbGVbdGVzdHMvc3Vuc3BpZGVyLTAu
OS8zZC1yYXl0cmFjZS5qczo4My04NV0KMyAgICAgICAgIDAuMDA0MSAgODU3Ny5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNv
ZGUuanM6MTYtMTZdCjMgICAgICAgICAwLjAwNDEgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8
aml0LXlhcnI+fjI2CjMgICAgICAgICAwLjAwNDEgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+OmFkZFJlc3VsdFt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy12YWxpZGF0ZS1p
bnB1dC5qczo4NS04N10KMyAgICAgICAgIDAuMDA0MSAgODU4MS5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz46YWRkVmVjdG9yW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6
MzgtNDNdCjMgICAgICAgICAwLjAwNDEgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1
bmM+OmNvcmRpY1t0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtY29yZGljLmpzOjgzLTkzXQozICAg
ICAgICAgMC4wMDQxICA4NTgxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpjb3JlX21k
NVt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1tZDUuanM6NDEtMTMzXQozICAgICAgICAgMC4w
MDQxICA4NTgxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpkb3RbdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS8zZC1yYXl0cmFjZS5qczo3OS04MV0KMyAgICAgICAgIDAuMDA0MSAgODU4MS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46bGVuZ3RoVmVjdG9yW3Rlc3RzL3N1bnNwaWRlci0w
LjkvM2QtcmF5dHJhY2UuanM6MzQtMzZdCjMgICAgICAgICAwLjAwNDEgIDg1ODEuam8gICAgICAg
ICAgICAgICAgICA8aml0LWZ1bmM+OnNjYWxlW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJh
Y2UuanM6ODMtODVdCjMgICAgICAgICAwLjAwNDEgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6MjgzLTI5MF0KMyAg
ICAgICAgIDAuMDA0MSAgODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YXJyYXlsZW5n
dGg+fjE4CjMgICAgICAgICAwLjAwNDEgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8aml0LWdl
dGJ5aWQtcHJvdG9saXN0Pn4zCjMgICAgICAgICAwLjAwNDEgIDg1ODEuam8gICAgICAgICAgICAg
ICAgICA8aml0LXlhcnI+fjE0CjMgICAgICAgICAwLjAwNDEgIDg1ODUuam8gICAgICAgICAgICAg
ICAgICA8aml0LWZ1bmM+CjMgICAgICAgICAwLjAwNDEgIDg1ODUuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+OkZJWEVEW3Rlc3RzL3N1bnNwaWRlci0wLjkvbWF0aC1jb3JkaWMuanM6MzEt
MzNdCjMgICAgICAgICAwLjAwNDEgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
OlJvdGF0ZVpbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE3Mi0xODRdCjMgICAgICAg
ICAwLjAwNDEgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmFkZFZlY3Rvclt0
ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNlLmpzOjM4LTQzXQozICAgICAgICAgMC4wMDQx
ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjptZDVfZ2dbdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS9jcnlwdG8tbWQ1LmpzOjE0Ny0xNDldCjMgICAgICAgICAwLjAwNDEgIDg1ODUuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnNjYWxlW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2Qt
cmF5dHJhY2UuanM6ODMtODVdCjMgICAgICAgICAwLjAwNDEgIDg1ODUuam8gICAgICAgICAgICAg
ICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvYWNjZXNzLW5ib2R5LmpzOjE1Ny0x
NjhdCjMgICAgICAgICAwLjAwNDEgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXRhZ2Nsb3VkLmpzOjIyOS0yMjldCjMgICAgICAg
ICAwLjAwNDEgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNw
aWRlci0wLjkvc3RyaW5nLXVucGFjay1jb2RlLmpzOjE2LTE2XQozICAgICAgICAgMC4wMDQxICA4
NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0
cmluZy11bnBhY2stY29kZS5qczo1MS01MV0KMyAgICAgICAgIDAuMDA0MSAgODU4NS5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNr
LWNvZGUuanM6NjYtNjZdfjMKMyAgICAgICAgIDAuMDA0MSAgODU4NS5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZ2V0YXJyYXlsZW5ndGg+fjE4CjMgICAgICAgICAwLjAwNDEgIDg1ODUuam8gICAg
ICAgICAgICAgICAgICA8aml0LXlhcnI+fjEzCjMgICAgICAgICAwLjAwNDEgIDg1ODUuam8gICAg
ICAgICAgICAgICAgICA8aml0LXlhcnI+fjIzCjMgICAgICAgICAwLjAwNDEgIDg1ODkuam8gICAg
ICAgICAgICAgICAgICA8aml0LWZ1bmM+OkZJWEVEW3Rlc3RzL3N1bnNwaWRlci0wLjkvbWF0aC1j
b3JkaWMuanM6MzEtMzNdCjMgICAgICAgICAwLjAwNDEgIDg1ODkuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+OmFycmF5VG9DYW52YXNDb21tYW5kc1t0ZXN0cy9zdW5zcGlkZXItMC45LzNk
LXJheXRyYWNlLmpzOjQwNi00MzldCjMgICAgICAgICAwLjAwNDEgIDg1ODkuam8gICAgICAgICAg
ICAgICAgICA8aml0LWZ1bmM+OmNvcmVfbWQ1W3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLW1k
NS5qczo0MS0xMzNdCjMgICAgICAgICAwLjAwNDEgIDg1ODkuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+OnNjYWxlW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6ODMtODVd
CjMgICAgICAgICAwLjAwNDEgIDg1ODkuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rl
c3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXVucGFjay1jb2RlLmpzOjMwLTMwXQozICAgICAgICAg
MC4wMDQxICA4NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlk
ZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczo2Ni02Nl1+MQozICAgICAgICAgMC4wMDQxICA4
NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPiUxMDAKMyAgICAgICAgIDAuMDA0MSAg
ODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MTQKMyAgICAgICAgIDAuMDA0MSAg
ODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MjMKMyAgICAgICAgIDAuMDA0MSAg
ODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46YWRkUmVzdWx0W3Rlc3RzL3N1bnNw
aWRlci0wLjkvc3RyaW5nLXZhbGlkYXRlLWlucHV0LmpzOjg1LTg3XQozICAgICAgICAgMC4wMDQx
ICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpiaXRfcm9sW3Rlc3RzL3N1bnNw
aWRlci0wLjkvY3J5cHRvLW1kNS5qczoxOTMtMTk1XQozICAgICAgICAgMC4wMDQxICA4NTkzLmpv
ICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpkb3RbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1y
YXl0cmFjZS5qczo3OS04MV0KMyAgICAgICAgIDAuMDA0MSAgODU5My5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz46bGVuZ3RoVmVjdG9yW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJh
Y2UuanM6MzQtMzZdCjMgICAgICAgICAwLjAwNDEgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+Om5vcm1hbGlzZVZlY3Rvclt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNl
LmpzOjU5LTY1XQozICAgICAgICAgMC4wMDQxICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGpp
dC1mdW5jPjpyZW5kZXJSb3dzW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6Mjky
LTMwM10KMyAgICAgICAgIDAuMDA0MSAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVu
Yz46c3ViW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6NzEtNzNdCjMgICAgICAg
ICAwLjAwNDEgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LXByb2c+W3Rlc3RzL3N1bnNw
aWRlci0wLjkvM2QtbW9ycGguanM6MS01NF0KMyAgICAgICAgIDAuMDA0MSAgODU5My5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQteWFycj5+MTMKMyAgICAgICAgIDAuMDA0MSAgODU5My5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQteWFycj5+MTQKMyAgICAgICAgIDAuMDA0MSAgODU5My5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQteWFycj5+MTgKMyAgICAgICAgIDAuMDA0MSAgODU5Ny5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtZnVuYz46RklYRURbdGVzdHMvc3Vuc3BpZGVyLTAuOS9tYXRoLWNv
cmRpYy5qczozMS0zM10KMyAgICAgICAgIDAuMDA0MSAgODU5Ny5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz46Um90YXRlWFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTQ0LTE1
Nl0KMyAgICAgICAgIDAuMDA0MSAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46
YWRkVmVjdG9yW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6MzgtNDNdCjMgICAg
ICAgICAwLjAwNDEgIDg1OTcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmNvcmRpY1t0
ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtY29yZGljLmpzOjgzLTkzXQozICAgICAgICAgMC4wMDQx
ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpkW3Rlc3RzL3N1bnNwaWRlci0w
LjkvZGF0ZS1mb3JtYXQtdG9mdGUuanM6NzAtNzRdCjMgICAgICAgICAwLjAwNDEgIDg1OTcuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLWFl
cy5qczoyODMtMjgzXQozICAgICAgICAgMC4wMDQxICA4NTk3LmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczozMC0z
MF0KMyAgICAgICAgIDAuMDA0MSAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5b
dGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNvZGUuanM6NjYtNjZdfjMKMyAgICAg
ICAgIDAuMDA0MSAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YXJyYXlsZW5ndGg+
fjE1CjMgICAgICAgICAwLjAwNDEgIDg1OTcuam8gICAgICAgICAgICAgICAgICA8aml0LXByb2c+
W3Jlc291cmNlcy9zdW5zcGlkZXItc3RhbmRhbG9uZS1kcml2ZXIuanM6MS01Nl0KMyAgICAgICAg
IDAuMDA0MSAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MTMKMyAgICAgICAg
IDAuMDA0MSAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MTQKMyAgICAgICAg
IDAuMDA0MSAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46aVt0ZXN0cy9zdW5z
cGlkZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjEwOC0xMTJdCjMgICAgICAgICAwLjAwNDEg
IDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Om1kNV9mZlt0ZXN0cy9zdW5zcGlk
ZXItMC45L2NyeXB0by1tZDUuanM6MTQzLTE0NV0KMyAgICAgICAgIDAuMDA0MSAgODYwMS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c2hhMV9mdFt0ZXN0cy9zdW5zcGlkZXItMC45L2Ny
eXB0by1zaGExLmpzOjg5LTk0XQozICAgICAgICAgMC4wMDQxICA4NjAxLmpvICAgICAgICAgICAg
ICAgICAgPGppdC1mdW5jPjpzaGExX2t0W3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLXNoYTEu
anM6MTAwLTEwM10KMyAgICAgICAgIDAuMDA0MSAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9hY2Nlc3MtbmJvZHkuanM6MTU3LTE2OF0KMyAg
ICAgICAgIDAuMDA0MSAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YXJyYXlsZW5n
dGg+fjIwCjMgICAgICAgICAwLjAwNDEgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LXlh
cnI+fjEzCjMgICAgICAgICAwLjAwNDEgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LXlh
cnI+fjIzCjMgICAgICAgICAwLjAwNDEgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LXlh
cnI+fjI3CjMgICAgICAgICAwLjAwNDEgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1
bmM+OmNvcmRpY1t0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtY29yZGljLmpzOjgzLTkzXQozICAg
ICAgICAgMC4wMDQxICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpsZW5ndGhW
ZWN0b3JbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczozNC0zNl0KMyAgICAgICAg
IDAuMDA0MSAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46bWQ1X2dnW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvY3J5cHRvLW1kNS5qczoxNDctMTQ5XQozICAgICAgICAgMC4wMDQxICA4
NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjptZDVfaWlbdGVzdHMvc3Vuc3BpZGVy
LTAuOS9jcnlwdG8tbWQ1LmpzOjE1NS0xNTddCjMgICAgICAgICAwLjAwNDEgIDg2MDUuam8gICAg
ICAgICAgICAgICAgICA8aml0LWZ1bmM+OnJvbFt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1z
aGExLmpzOjEzOS0xNDFdCjMgICAgICAgICAwLjAwNDEgIDg2MDUuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXRhZ2Nsb3VkLmpzOjIzNS0y
MzVdCjMgICAgICAgICAwLjAwNDEgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXVucGFjay1jb2RlLmpzOjE2LTE2XQozICAgICAg
ICAgMC4wMDQxICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5z
cGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczo2Ni02Nl1+MQozICAgICAgICAgMC4wMDQx
ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4xMwozICAgICAgICAgMC4wMDQx
ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4xNAozICAgICAgICAgMC4wMDQx
ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4yMAozICAgICAgICAgMC4wMDQx
ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4yMwozICAgICAgICAgMC4wMDQx
ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSklUU3R1YlRodW5rZWRfb3BfY2FsbF9Ob3RKU0Z1
bmN0aW9uCjMgICAgICAgICAwLjAwNDEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKSVRTdHVi
VGh1bmtlZF9vcF9jb252ZXJ0X3RoaXMKMyAgICAgICAgIDAuMDA0MSAganNjLW9wcm9maWxlLWFu
bm90YXRlICAgIEpJVFN0dWJUaHVua2VkX29wX2dldF9ieV9pZAozICAgICAgICAgMC4wMDQxICBq
c2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpCbG9ja05vZGU6OmVtaXRCeXRlY29kZShKU0M6
OkJ5dGVjb2RlR2VuZXJhdG9yJiwgSlNDOjpSZWdpc3RlcklEKikKMyAgICAgICAgIDAuMDA0MSAg
anNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmFkZFBhcmFt
ZXRlcihKU0M6OklkZW50aWZpZXIgY29uc3QmKQozICAgICAgICAgMC4wMDQxICBqc2Mtb3Byb2Zp
bGUtYW5ub3RhdGUgICAgSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdEV4cHJlc3Npb25JbmZv
KHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQpCjMgICAgICAgICAwLjAw
NDEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0
R2V0U2NvcGVkVmFyKEpTQzo6UmVnaXN0ZXJJRCosIHVuc2lnbmVkIGludCwgaW50LCBKU0M6OkpT
VmFsdWUpCjMgICAgICAgICAwLjAwNDEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkJ5
dGVjb2RlR2VuZXJhdG9yOjplbWl0SnVtcElmRmFsc2UoSlNDOjpSZWdpc3RlcklEKiwgSlNDOjpM
YWJlbCopCjMgICAgICAgICAwLjAwNDEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkJ5
dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3QXJyYXkoSlNDOjpSZWdpc3RlcklEKiwgSlNDOjpFbGVt
ZW50Tm9kZSopCjMgICAgICAgICAwLjAwNDEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6
OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3UmVnRXhwKEpTQzo6UmVnaXN0ZXJJRCosIEpTQzo6
UmVnRXhwKikKMyAgICAgICAgIDAuMDA0MSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6
Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRSZXNvbHZlV2l0aEJhc2UoSlNDOjpSZWdpc3RlcklEKiwg
SlNDOjpSZWdpc3RlcklEKiwgSlNDOjpJZGVudGlmaWVyIGNvbnN0JikKMyAgICAgICAgIDAuMDA0
MSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6RGF0ZUNvbnN0cnVjdG9yOjpnZXRDb25z
dHJ1Y3REYXRhKEpTQzo6Q29uc3RydWN0RGF0YSYpCjMgICAgICAgICAwLjAwNDEgIGpzYy1vcHJv
ZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkRhdGVJbnN0YW5jZTo6RGF0ZUluc3RhbmNlKEpTQzo6RXhl
Y1N0YXRlKiwgZG91YmxlKQozICAgICAgICAgMC4wMDQxICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUg
ICAgSlNDOjpFeHByZXNzaW9uTm9kZTo6aXNQdXJlKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3ImKSBj
b25zdAozICAgICAgICAgMC4wMDQxICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpGdW5j
dGlvbkV4ZWN1dGFibGU6On5GdW5jdGlvbkV4ZWN1dGFibGUoKQozICAgICAgICAgMC4wMDQxICBq
c2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpJZGVudGlmaWVyOjphZGQoSlNDOjpKU0dsb2Jh
bERhdGEqLCBjaGFyIGNvbnN0KikKMyAgICAgICAgIDAuMDA0MSAganNjLW9wcm9maWxlLWFubm90
YXRlICAgIEpTQzo6SklUOjplbWl0U2xvd19vcF9nZXRfYnlfdmFsKEpTQzo6SW5zdHJ1Y3Rpb24q
LCBKU0M6OlNsb3dDYXNlRW50cnkqJikKMyAgICAgICAgIDAuMDA0MSAganNjLW9wcm9maWxlLWFu
bm90YXRlICAgIEpTQzo6SklUOjplbWl0X29wX2FkZChKU0M6Okluc3RydWN0aW9uKikKMyAgICAg
ICAgIDAuMDA0MSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SklUOjplbWl0X29wX2pt
cChKU0M6Okluc3RydWN0aW9uKikKMyAgICAgICAgIDAuMDA0MSAganNjLW9wcm9maWxlLWFubm90
YXRlICAgIEpTQzo6SklUOjpwYXRjaE1ldGhvZENhbGxQcm90byhKU0M6OkNvZGVCbG9jayosIEpT
Qzo6TWV0aG9kQ2FsbExpbmtJbmZvJiwgSlNDOjpKU0Z1bmN0aW9uKiwgSlNDOjpTdHJ1Y3R1cmUq
LCBKU0M6OkpTT2JqZWN0KiwgSlNDOjpSZXR1cm5BZGRyZXNzUHRyKQozICAgICAgICAgMC4wMDQx
ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKU0FycmF5OjpwdXQoSlNDOjpFeGVjU3Rh
dGUqLCBKU0M6OklkZW50aWZpZXIgY29uc3QmLCBKU0M6OkpTVmFsdWUsIEpTQzo6UHV0UHJvcGVy
dHlTbG90JikKMyAgICAgICAgIDAuMDA0MSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6
SlNWYWx1ZTo6dG9UaGlzT2JqZWN0U2xvd0Nhc2UoSlNDOjpFeGVjU3RhdGUqKSBjb25zdAozICAg
ICAgICAgMC4wMDQxICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKU1ZhbHVlOjp0b1VJ
bnQzMihKU0M6OkV4ZWNTdGF0ZSopIGNvbnN0CjMgICAgICAgICAwLjAwNDEgIGpzYy1vcHJvZmls
ZS1hbm5vdGF0ZSAgICBKU0M6OkxleGVyOjpyZWNvcmQ4KGludCkKMyAgICAgICAgIDAuMDA0MSAg
anNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6TWFjcm9Bc3NlbWJsZXI6Ok1hY3JvQXNzZW1i
bGVyKCkKMyAgICAgICAgIDAuMDA0MSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6TnVt
ZXJpY1N0cmluZ3M6OmFkZChpbnQpCjMgICAgICAgICAwLjAwNDEgIGpzYy1vcHJvZmlsZS1hbm5v
dGF0ZSAgICBKU0M6OlBhcnNlckFyZW5hOjpkZXJlZldpdGhBcmVuYShXVEY6OlBhc3NSZWZQdHI8
SlNDOjpQYXJzZXJBcmVuYVJlZkNvdW50ZWQ+KQozICAgICAgICAgMC4wMDQxICBqc2Mtb3Byb2Zp
bGUtYW5ub3RhdGUgICAgSlNDOjpQYXJzZXJBcmVuYURhdGE8V1RGOjpWZWN0b3I8c3RkOjpwYWly
PEpTQzo6SWRlbnRpZmllciBjb25zdCosIHVuc2lnbmVkIGludD4sIDB1PiA+Ojp+UGFyc2VyQXJl
bmFEYXRhKCkKMyAgICAgICAgIDAuMDA0MSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6
UHJvZ3JhbUV4ZWN1dGFibGU6OmNvbXBpbGUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OlNjb3BlQ2hh
aW5Ob2RlKikKMyAgICAgICAgIDAuMDA0MSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6
UHJvZ3JhbUV4ZWN1dGFibGU6OmdlbmVyYXRlSklUQ29kZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6
U2NvcGVDaGFpbk5vZGUqKQozICAgICAgICAgMC4wMDQxICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUg
ICAgSlNDOjpSZWdFeHBPYmplY3Q6OnRlc3QoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkFyZ0xpc3Qg
Y29uc3QmKQozICAgICAgICAgMC4wMDQxICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpS
ZXNvbHZlTm9kZTo6ZW1pdEJ5dGVjb2RlKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3ImLCBKU0M6OlJl
Z2lzdGVySUQqKQozICAgICAgICAgMC4wMDQxICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlND
OjpTb3VyY2VFbGVtZW50czo6flNvdXJjZUVsZW1lbnRzKCkKMyAgICAgICAgIDAuMDA0MSAganNj
LW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6U3RyaW5nQnVpbGRlcjo6flN0cmluZ0J1aWxkZXIo
KQozICAgICAgICAgMC4wMDQxICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpTdHJ1Y3R1
cmU6OnJlbW92ZVByb3BlcnR5VHJhbnNpdGlvbihKU0M6OlN0cnVjdHVyZSosIEpTQzo6SWRlbnRp
ZmllciBjb25zdCYsIHVuc2lnbmVkIGludCYpCjMgICAgICAgICAwLjAwNDEgIGpzYy1vcHJvZmls
ZS1hbm5vdGF0ZSAgICBKU0M6OlN0cnVjdHVyZTo6dG9DYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNp
dGlvbihKU0M6OlN0cnVjdHVyZSopCjMgICAgICAgICAwLjAwNDEgIGpzYy1vcHJvZmlsZS1hbm5v
dGF0ZSAgICBKU0M6OlVTdHJpbmc6OmZyb20oZG91YmxlKQozICAgICAgICAgMC4wMDQxICBqc2Mt
b3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpVU3RyaW5nSW1wbDo6Y3JlYXRlKGNoYXIgY29uc3Qq
LCB1bnNpZ25lZCBpbnQpCjMgICAgICAgICAwLjAwNDEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAg
ICBKU0M6OlVTdHJpbmdJbXBsOjpjcmVhdGUodW5zaWduZWQgc2hvcnQgY29uc3QqLCB1bnNpZ25l
ZCBpbnQpCjMgICAgICAgICAwLjAwNDEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6Ollh
cnI6OmppdENvbXBpbGVSZWdleChKU0M6OkpTR2xvYmFsRGF0YSosIEpTQzo6WWFycjo6UmVnZXhD
b2RlQmxvY2smLCBKU0M6OlVTdHJpbmcgY29uc3QmLCB1bnNpZ25lZCBpbnQmLCBjaGFyIGNvbnN0
KiYsIGJvb2wsIGJvb2wpCjMgICAgICAgICAwLjAwNDEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAg
ICBXVEY6OlZlY3RvcjxKU0M6OlJlZ2lzdGVyLCAwdT46OmV4cGFuZENhcGFjaXR5KHVuc2lnbmVk
IGludCkKMyAgICAgICAgIDAuMDA0MSAganNjLW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6VmVj
dG9yPHN0ZDo6cGFpcjxKU0M6OklkZW50aWZpZXIgY29uc3QqLCB1bnNpZ25lZCBpbnQ+LCAwdT46
OmV4cGFuZENhcGFjaXR5KHVuc2lnbmVkIGludCwgc3RkOjpwYWlyPEpTQzo6SWRlbnRpZmllciBj
b25zdCosIHVuc2lnbmVkIGludD4gY29uc3QqKQozICAgICAgICAgMC4wMDQxICBqc2Mtb3Byb2Zp
bGUtYW5ub3RhdGUgICAgY3RpX2hhc19wcm9wZXJ0eQozICAgICAgICAgMC4wMDQxICBqc2Mtb3By
b2ZpbGUtYW5ub3RhdGUgICAgbWFrZUFkZE5vZGUoSlNDOjpKU0dsb2JhbERhdGEqLCBKU0M6OkV4
cHJlc3Npb25Ob2RlKiwgSlNDOjpFeHByZXNzaW9uTm9kZSosIGJvb2wpCjMgICAgICAgICAwLjAw
NDEgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBtYWtlVmFyU3RhdGVtZW50Tm9kZShKU0M6OkpT
R2xvYmFsRGF0YSosIEpTQzo6RXhwcmVzc2lvbk5vZGUqKQozICAgICAgICAgMC4wMDQxICBqc2Mt
b3Byb2ZpbGUtYW5ub3RhdGUgICAgbm9uLXZpcnR1YWwgdGh1bmsgdG8gSlNDOjpGdW5jdGlvbkJv
ZHlOb2RlOjp+RnVuY3Rpb25Cb2R5Tm9kZSgpCjIgICAgICAgICAwLjAwMjcgIDg0OTUuam8gICAg
ICAgICAgICAgICAgICA8aml0LWZ1bmM+OllbdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1h
dC10b2Z0ZS5qczoyMzEtMjUyXQoyICAgICAgICAgMC4wMDI3ICA4NDk1LmpvICAgICAgICAgICAg
ICAgICAgPGppdC1mdW5jPjphZGRbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczo2
Ny02OV0KMiAgICAgICAgIDAuMDAyNyAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVu
Yz46aVt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjEwOC0xMTJdCjIg
ICAgICAgICAwLjAwMjcgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Omxlbmd0
aFZlY3Rvclt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNlLmpzOjM0LTM2XQoyICAgICAg
ICAgMC4wMDI3ICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpyZW5kZXJSb3dz
W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6MjkyLTMwM10KMiAgICAgICAgIDAu
MDAyNyAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c1t0ZXN0cy9zdW5zcGlk
ZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjE3MC0xNzRdCjIgICAgICAgICAwLjAwMjcgIDg0
OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnNoYTFfZnRbdGVzdHMvc3Vuc3BpZGVy
LTAuOS9jcnlwdG8tc2hhMS5qczo4OS05NF0KMiAgICAgICAgIDAuMDAyNyAgODQ5NS5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdGFnY2xv
dWQuanM6MjI5LTIyOV0KMiAgICAgICAgIDAuMDAyNyAgODQ5NS5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNvZGUuanM6MzAt
MzBdJTEwMAoyICAgICAgICAgMC4wMDI3ICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczo2Ni02Nl1+Mwoy
ICAgICAgICAgMC4wMDI3ICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRhcnJheWxl
bmd0aD5+MTgKMiAgICAgICAgIDAuMDAyNyAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
Z2V0YXJyYXlsZW5ndGg+fjIwCjIgICAgICAgICAwLjAwMjcgIDg0OTUuam8gICAgICAgICAgICAg
ICAgICA8aml0LXB1dGJ5aWQtdHJhbnNpdGlvbj5+MjEKMiAgICAgICAgIDAuMDAyNyAgODQ5NS5q
byAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MTQKMiAgICAgICAgIDAuMDAyNyAgODQ5NS5q
byAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MjQKMiAgICAgICAgIDAuMDAyNyAgODQ5NS5q
byAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MjcKMiAgICAgICAgIDAuMDAyNyAgODU1NS5q
byAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Q2lwaGVyW3Rlc3RzL3N1bnNwaWRlci0wLjkv
Y3J5cHRvLWFlcy5qczoxMy0zNl0KMiAgICAgICAgIDAuMDAyNyAgODU1NS5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZnVuYz46Q3JlYXRlUFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6
OTEtOTNdCjIgICAgICAgICAwLjAwMjcgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1
bmM+OmFkZFJlc3VsdFt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy12YWxpZGF0ZS1pbnB1dC5q
czo4NS04N10KMiAgICAgICAgIDAuMDAyNyAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46YWRkVmVjdG9yW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6MzgtNDNd
CjIgICAgICAgICAwLjAwMjcgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Omxb
dGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC10b2Z0ZS5qczoxMTctMTIwXQoyICAgICAg
ICAgMC4wMDI3ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpsZW5ndGhWZWN0
b3JbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczozNC0zNl0KMiAgICAgICAgIDAu
MDAyNyAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c1t0ZXN0cy9zdW5zcGlk
ZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjE3MC0xNzRdCjIgICAgICAgICAwLjAwMjcgIDg1
NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGFycmF5bGVuZ3RoPn4xOAoyICAgICAgICAg
MC4wMDI3ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRhcnJheWxlbmd0aD5+MjAK
MiAgICAgICAgIDAuMDAyNyAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YnlpZC1w
cm90bz5+MTQKMiAgICAgICAgIDAuMDAyNyAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
eWFycj5+MTMKMiAgICAgICAgIDAuMDAyNyAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
eWFycj5+MjAKMiAgICAgICAgIDAuMDAyNyAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
eWFycj5+MjQKMiAgICAgICAgIDAuMDAyNyAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
eWFycj5+MjUKMiAgICAgICAgIDAuMDAyNyAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46QUVTRW5jcnlwdEN0clt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1hZXMuanM6MTY0
LTIyMF0KMiAgICAgICAgIDAuMDAyNyAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVu
Yz46SW5pdFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MjUxLTMyNF0KMiAgICAgICAg
IDAuMDAyNyAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46YWRkW3Rlc3RzL3N1
bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6NjctNjldCjIgICAgICAgICAwLjAwMjcgIDg1NjIu
am8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnJlbmRlclJvd3NbdGVzdHMvc3Vuc3BpZGVy
LTAuOS8zZC1yYXl0cmFjZS5qczoyOTItMzAzXQoyICAgICAgICAgMC4wMDI3ICA4NTYyLmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPjpzW3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3Jt
YXQtdG9mdGUuanM6MTcwLTE3NF0KMiAgICAgICAgIDAuMDAyNyAgODU2Mi5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZnVuYz46c2NhbGVWZWN0b3JbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0
cmFjZS5qczo1Mi01N10KMiAgICAgICAgIDAuMDAyNyAgODU2Mi5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz46c2NhbGV2W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6NzUt
NzddCjIgICAgICAgICAwLjAwMjcgIDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
OnNoYTFfa3RbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tc2hhMS5qczoxMDAtMTAzXQoyICAg
ICAgICAgMC4wMDI3ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9z
dW5zcGlkZXItMC45L3N0cmluZy10YWdjbG91ZC5qczoyMjktMjI5XQoyICAgICAgICAgMC4wMDI3
ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45
L3N0cmluZy11bnBhY2stY29kZS5qczozMC0zMF0lMTAwCjIgICAgICAgICAwLjAwMjcgIDg1NjIu
am8gICAgICAgICAgICAgICAgICA8aml0LWdldGFycmF5bGVuZ3RoPn4xNgoyICAgICAgICAgMC4w
MDI3ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRieWlkLXByb3RvbGlzdD5+Mwoy
ICAgICAgICAgMC4wMDI3ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRieWlkLXNl
bGZsaXN0Pn4xNAoyICAgICAgICAgMC4wMDI3ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGpp
dC15YXJyPn4yNQoyICAgICAgICAgMC4wMDI3ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGpp
dC15YXJyPn4yNwoyICAgICAgICAgMC4wMDI3ICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGpp
dC1mdW5jPjpBRVNEZWNyeXB0Q3RyW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5qczoy
MzAtMjc0XQoyICAgICAgICAgMC4wMDI3ICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPjpDcmVhdGVQW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczo5MS05M10KMiAgICAg
ICAgIDAuMDAyNyAgODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46RklYRURbdGVz
dHMvc3Vuc3BpZGVyLTAuOS9tYXRoLWNvcmRpYy5qczozMS0zM10KMiAgICAgICAgIDAuMDAyNyAg
ODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46bm9ybWFsaXNlVmVjdG9yW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6NTktNjVdCjIgICAgICAgICAwLjAwMjcgIDg1
Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnJheXRyYWNlU2NlbmVbdGVzdHMvc3Vu
c3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczozMTQtNDAzXQoyICAgICAgICAgMC4wMDI3ICA4NTc3
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmlu
Zy10YWdjbG91ZC5qczoyMjktMjI5XQoyICAgICAgICAgMC4wMDI3ICA4NTc3LmpvICAgICAgICAg
ICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29k
ZS5qczozMC0zMF0KMiAgICAgICAgIDAuMDAyNyAgODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZ2V0YXJyYXlsZW5ndGg+fjMKMiAgICAgICAgIDAuMDAyNyAgODU3Ny5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZ2V0YXJyYXlsZW5ndGg+fjQKMiAgICAgICAgIDAuMDAyNyAgODU3Ny5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MTMKMiAgICAgICAgIDAuMDAyNyAgODU3Ny5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MTQKMiAgICAgICAgIDAuMDAyNyAgODU3Ny5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MjQKMiAgICAgICAgIDAuMDAyNyAgODU4MS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46QUVTRGVjcnlwdEN0clt0ZXN0cy9zdW5zcGlkZXIt
MC45L2NyeXB0by1hZXMuanM6MjMwLTI3NF0KMiAgICAgICAgIDAuMDAyNyAgODU4MS5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtZnVuYz46RHJhd1F1YmVbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1j
dWJlLmpzOjE4Ni0yMzBdCjIgICAgICAgICAwLjAwMjcgIDg1ODEuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+OmFkZFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNlLmpzOjY3LTY5
XQoyICAgICAgICAgMC4wMDI3ICA4NTgxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpz
Y2FsZXZbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczo3NS03N10KMiAgICAgICAg
IDAuMDAyNyAgODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c3ViW3Rlc3RzL3N1
bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6NzEtNzNdCjIgICAgICAgICAwLjAwMjcgIDg1ODEu
am8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5n
LXVucGFjay1jb2RlLmpzOjMwLTMwXQoyICAgICAgICAgMC4wMDI3ICA4NTgxLmpvICAgICAgICAg
ICAgICAgICAgPGppdC1nZXRhcnJheWxlbmd0aD5+MjAKMiAgICAgICAgIDAuMDAyNyAgODU4MS5q
byAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YXJyYXlsZW5ndGg+fjMKMiAgICAgICAgIDAuMDAy
NyAgODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MTMKMiAgICAgICAgIDAuMDAy
NyAgODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MTgKMiAgICAgICAgIDAuMDAy
NyAgODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFycj5+MjQKMiAgICAgICAgIDAuMDAy
NyAgODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqcy1ldmFsPn4yCjIgICAgICAgICAwLjAwMjcg
IDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OkFbdGVzdHMvc3Vuc3BpZGVyLTAu
OS9kYXRlLWZvcm1hdC10b2Z0ZS5qczo0OS01Ml0KMiAgICAgICAgIDAuMDAyNyAgODU4NS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Q3JlYXRlUFt0ZXN0cy9zdW5zcGlkZXItMC45LzNk
LWN1YmUuanM6OTEtOTNdCjIgICAgICAgICAwLjAwMjcgIDg1ODUuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+OkluaXRbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjI1MS0zMjRd
CjIgICAgICAgICAwLjAwMjcgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmRv
dFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNlLmpzOjc5LTgxXQoyICAgICAgICAgMC4w
MDI3ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjptZDVfZmZbdGVzdHMvc3Vu
c3BpZGVyLTAuOS9jcnlwdG8tbWQ1LmpzOjE0My0xNDVdCjIgICAgICAgICAwLjAwMjcgIDg1ODUu
am8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Om1kNV9paVt0ZXN0cy9zdW5zcGlkZXItMC45
L2NyeXB0by1tZDUuanM6MTU1LTE1N10KMiAgICAgICAgIDAuMDAyNyAgODU4NS5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz46c2NhbGV2W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJh
Y2UuanM6NzUtNzddCjIgICAgICAgICAwLjAwMjcgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+OnN0cjJiaW5iW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLXNoYTEuanM6MTQ4
LTE1NF0KMiAgICAgICAgIDAuMDAyNyAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVu
Yz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczozNTctMzcwXQoyICAgICAgICAg
MC4wMDI3ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlk
ZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczozMC0zMF0KMiAgICAgICAgIDAuMDAyNyAgODU4
NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YXJyYXlsZW5ndGg+fjIwCjIgICAgICAgICAw
LjAwMjcgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LXB1dGJ5aWQtdHJhbnNpdGlvbj5+
MjAKMiAgICAgICAgIDAuMDAyNyAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtcHV0Ynlp
ZC10cmFuc2l0aW9uPn4yMQoyICAgICAgICAgMC4wMDI3ICA4NTg1LmpvICAgICAgICAgICAgICAg
ICAgPGppdC15YXJyPn4xNAoyICAgICAgICAgMC4wMDI3ICA4NTg1LmpvICAgICAgICAgICAgICAg
ICAgPGppdC15YXJyPn4yMgoyICAgICAgICAgMC4wMDI3ICA4NTg1LmpvICAgICAgICAgICAgICAg
ICAgPGppdC15YXJyPn4yNwoyICAgICAgICAgMC4wMDI3ICA4NTg5LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjpBRVNEZWNyeXB0Q3RyW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLWFl
cy5qczoyMzAtMjc0XQoyICAgICAgICAgMC4wMDI3ICA4NTg5LmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPjpJbml0W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoyNTEtMzI0XQoy
ICAgICAgICAgMC4wMDI3ICA4NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpMb29w
W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoyMzItMjQ5XQoyICAgICAgICAgMC4wMDI3
ICA4NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjphZGRWZWN0b3JbdGVzdHMvc3Vu
c3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczozOC00M10KMiAgICAgICAgIDAuMDAyNyAgODU4OS5q
byAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46ZFt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUt
Zm9ybWF0LXRvZnRlLmpzOjcwLTc0XQoyICAgICAgICAgMC4wMDI3ICA4NTg5LmpvICAgICAgICAg
ICAgICAgICAgPGppdC1mdW5jPjpkb3RbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5q
czo3OS04MV0KMiAgICAgICAgIDAuMDAyNyAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46Z1t0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjgzLTg2XQoy
ICAgICAgICAgMC4wMDI3ICA4NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpub3Jt
YWxpc2VWZWN0b3JbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczo1OS02NV0KMiAg
ICAgICAgIDAuMDAyNyAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c2NhbGV2
W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6NzUtNzddCjIgICAgICAgICAwLjAw
MjcgIDg1ODkuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnNoYTFfZnRbdGVzdHMvc3Vu
c3BpZGVyLTAuOS9jcnlwdG8tc2hhMS5qczo4OS05NF0KMiAgICAgICAgIDAuMDAyNyAgODU4OS5q
byAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9hY2Nlc3Mt
bmJvZHkuanM6MTU3LTE2OF0KMiAgICAgICAgIDAuMDAyNyAgODU4OS5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZ2V0YXJyYXlsZW5ndGg+fjE2CjIgICAgICAgICAwLjAwMjcgIDg1ODkuam8gICAg
ICAgICAgICAgICAgICA8aml0LWdldGFycmF5bGVuZ3RoPn4yMAoyICAgICAgICAgMC4wMDI3ICA4
NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRhcnJheWxlbmd0aD5+NgoyICAgICAgICAg
MC4wMDI3ICA4NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1wdXRieWlkLXRyYW5zaXRpb24+
fjE5CjIgICAgICAgICAwLjAwMjcgIDg1ODkuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+
fjEzCjIgICAgICAgICAwLjAwMjcgIDg1ODkuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+
fjE4CjIgICAgICAgICAwLjAwMjcgIDg1ODkuam8gICAgICAgICAgICAgICAgICA8anMtZXZhbD4K
MiAgICAgICAgIDAuMDAyNyAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqcy1ldmFsPn42CjIg
ICAgICAgICAwLjAwMjcgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OkFbdGVz
dHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC10b2Z0ZS5qczo0OS01Ml0KMiAgICAgICAgIDAu
MDAyNyAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46TG9vcFt0ZXN0cy9zdW5z
cGlkZXItMC45LzNkLWN1YmUuanM6MjMyLTI0OV0KMiAgICAgICAgIDAuMDAyNyAgODU5My5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46WVt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9y
bWF0LXRvZnRlLmpzOjIzMS0yNTJdCjIgICAgICAgICAwLjAwMjcgIDg1OTMuam8gICAgICAgICAg
ICAgICAgICA8aml0LWZ1bmM+OmNvcmRpY1t0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtY29yZGlj
LmpzOjgzLTkzXQoyICAgICAgICAgMC4wMDI3ICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGpp
dC1mdW5jPjpkW3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQtdG9mdGUuanM6NzAtNzRd
CjIgICAgICAgICAwLjAwMjcgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Om1k
NV9jbW5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tbWQ1LmpzOjEzOS0xNDFdCjIgICAgICAg
ICAwLjAwMjcgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Om1kNV9nZ1t0ZXN0
cy9zdW5zcGlkZXItMC45L2NyeXB0by1tZDUuanM6MTQ3LTE0OV0KMiAgICAgICAgIDAuMDAyNyAg
ODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c2hhMV9mdFt0ZXN0cy9zdW5zcGlk
ZXItMC45L2NyeXB0by1zaGExLmpzOjg5LTk0XQoyICAgICAgICAgMC4wMDI3ICA4NTkzLmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPjpzaGExX2t0W3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5
cHRvLXNoYTEuanM6MTAwLTEwM10KMiAgICAgICAgIDAuMDAyNyAgODU5My5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczozNTct
MzcwXQoyICAgICAgICAgMC4wMDI3ICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5j
Plt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy10YWdjbG91ZC5qczoyMjktMjI5XQoyICAgICAg
ICAgMC4wMDI3ICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5z
cGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczozMC0zMF0KMiAgICAgICAgIDAuMDAyNyAg
ODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9z
dHJpbmctdW5wYWNrLWNvZGUuanM6MzAtMzBdfjIKMiAgICAgICAgIDAuMDAyNyAgODU5My5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZ2V0YXJyYXlsZW5ndGg+fjE4CjIgICAgICAgICAwLjAwMjcg
IDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGFycmF5bGVuZ3RoPn4yCjIgICAgICAg
ICAwLjAwMjcgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjI0CjIgICAgICAg
ICAwLjAwMjcgIDg1OTcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OkluaXRbdGVzdHMv
c3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjI1MS0zMjRdCjIgICAgICAgICAwLjAwMjcgIDg1OTcu
am8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Omxlbmd0aFZlY3Rvclt0ZXN0cy9zdW5zcGlk
ZXItMC45LzNkLXJheXRyYWNlLmpzOjM0LTM2XQoyICAgICAgICAgMC4wMDI3ICA4NTk3LmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPjptZDVfZmZbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlw
dG8tbWQ1LmpzOjE0My0xNDVdCjIgICAgICAgICAwLjAwMjcgIDg1OTcuam8gICAgICAgICAgICAg
ICAgICA8aml0LWZ1bmM+Om5vcm1hbGlzZVZlY3Rvclt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJh
eXRyYWNlLmpzOjU5LTY1XQoyICAgICAgICAgMC4wMDI3ICA4NTk3LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjpzdWJbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczo3MS03
M10KMiAgICAgICAgIDAuMDAyNyAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5b
dGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczozNTctMzcwXQoyICAgICAgICAgMC4w
MDI3ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXIt
MC45L2FjY2Vzcy1uYm9keS5qczoxNTctMTY4XQoyICAgICAgICAgMC4wMDI3ICA4NTk3LmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBh
Y2stY29kZS5qczozMC0zMF0lMTAwCjIgICAgICAgICAwLjAwMjcgIDg1OTcuam8gICAgICAgICAg
ICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXVucGFjay1jb2Rl
LmpzOjUxLTUxXQoyICAgICAgICAgMC4wMDI3ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGpp
dC15YXJyPn4yNQoyICAgICAgICAgMC4wMDI3ICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGpp
dC1mdW5jPjpDcmVhdGVQW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczo5MS05M10KMiAg
ICAgICAgIDAuMDAyNyAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46RklYRURb
dGVzdHMvc3Vuc3BpZGVyLTAuOS9tYXRoLWNvcmRpYy5qczozMS0zM10KMiAgICAgICAgIDAuMDAy
NyAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Um90YXRlWFt0ZXN0cy9zdW5z
cGlkZXItMC45LzNkLWN1YmUuanM6MTQ0LTE1Nl0KMiAgICAgICAgIDAuMDAyNyAgODYwMS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46bm9ybWFsaXNlVmVjdG9yW3Rlc3RzL3N1bnNwaWRl
ci0wLjkvM2QtcmF5dHJhY2UuanM6NTktNjVdCjIgICAgICAgICAwLjAwMjcgIDg2MDEuam8gICAg
ICAgICAgICAgICAgICA8aml0LWZ1bmM+OnNbdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1h
dC10b2Z0ZS5qczoxNzAtMTc0XQoyICAgICAgICAgMC4wMDI3ICA4NjAxLmpvICAgICAgICAgICAg
ICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5q
czozMC0zMF0KMiAgICAgICAgIDAuMDAyNyAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNvZGUuanM6NjYtNjZdCjIg
ICAgICAgICAwLjAwMjcgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3Rz
L3N1bnNwaWRlci0wLjkvc3RyaW5nLXVucGFjay1jb2RlLmpzOjY2LTY2XX4zCjIgICAgICAgICAw
LjAwMjcgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGFycmF5bGVuZ3RoPn4xOAoy
ICAgICAgICAgMC4wMDI3ICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGppdC1wdXRieWlkLXRy
YW5zaXRpb24+fjE5CjIgICAgICAgICAwLjAwMjcgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8
aml0LXB1dGJ5aWQtdHJhbnNpdGlvbj5+MjEKMiAgICAgICAgIDAuMDAyNyAgODYwMS5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQteWFycj4lMTAwCjIgICAgICAgICAwLjAwMjcgIDg2MDEuam8gICAg
ICAgICAgICAgICAgICA8aml0LXlhcnI+fjE0CjIgICAgICAgICAwLjAwMjcgIDg2MDEuam8gICAg
ICAgICAgICAgICAgICA8aml0LXlhcnI+fjE4CjIgICAgICAgICAwLjAwMjcgIDg2MDEuam8gICAg
ICAgICAgICAgICAgICA8aml0LXlhcnI+fjI1CjIgICAgICAgICAwLjAwMjcgIDg2MDUuam8gICAg
ICAgICAgICAgICAgICA8aml0LWZ1bmM+OkFFU0RlY3J5cHRDdHJbdGVzdHMvc3Vuc3BpZGVyLTAu
OS9jcnlwdG8tYWVzLmpzOjIzMC0yNzRdCjIgICAgICAgICAwLjAwMjcgIDg2MDUuam8gICAgICAg
ICAgICAgICAgICA8aml0LWZ1bmM+OkluaXRbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpz
OjI1MS0zMjRdCjIgICAgICAgICAwLjAwMjcgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0
LWZ1bmM+Okxvb3BbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjIzMi0yNDldCjIgICAg
ICAgICAwLjAwMjcgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OlRpbWVGdW5j
W3Rlc3RzL3N1bnNwaWRlci0wLjkvYml0b3BzLWJpdHMtaW4tYnl0ZS5qczoxNS0xOV0KMiAgICAg
ICAgIDAuMDAyNyAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Yml0X3JvbFt0
ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1tZDUuanM6MTkzLTE5NV0KMiAgICAgICAgIDAuMDAy
NyAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46ZG90W3Rlc3RzL3N1bnNwaWRl
ci0wLjkvM2QtcmF5dHJhY2UuanM6NzktODFdCjIgICAgICAgICAwLjAwMjcgIDg2MDUuam8gICAg
ICAgICAgICAgICAgICA8aml0LWZ1bmM+OnJlbmRlclJvd3NbdGVzdHMvc3Vuc3BpZGVyLTAuOS8z
ZC1yYXl0cmFjZS5qczoyOTItMzAzXQoyICAgICAgICAgMC4wMDI3ICA4NjA1LmpvICAgICAgICAg
ICAgICAgICAgPGppdC1mdW5jPjpzY2FsZVZlY3Rvclt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJh
eXRyYWNlLmpzOjUyLTU3XQoyICAgICAgICAgMC4wMDI3ICA4NjA1LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjpzY2FsZVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNlLmpzOjgz
LTg1XQoyICAgICAgICAgMC4wMDI3ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5j
PjpzaGExX2Z0W3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLXNoYTEuanM6ODktOTRdCjIgICAg
ICAgICAwLjAwMjcgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1
bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6MjQ0LTI1Nl0KMiAgICAgICAgIDAuMDAyNyAgODYw
NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1y
YXl0cmFjZS5qczoyODMtMjkwXQoyICAgICAgICAgMC4wMDI3ICA4NjA1LmpvICAgICAgICAgICAg
ICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5q
czozMC0zMF1+MgoyICAgICAgICAgMC4wMDI3ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGpp
dC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczo2Ni02Nl1+
MwoyICAgICAgICAgMC4wMDI3ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRhcnJh
eWxlbmd0aD5+NgoyICAgICAgICAgMC4wMDI3ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGpp
dC1nZXRieWlkLXByb3RvPn4xMwoyICAgICAgICAgMC4wMDI3ICA4NjA1LmpvICAgICAgICAgICAg
ICAgICAgPGppdC1wcm9nPltyZXNvdXJjZXMvc3Vuc3BpZGVyLXN0YW5kYWxvbmUtZHJpdmVyLmpz
OjEtNTZdCjIgICAgICAgICAwLjAwMjcgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0LXlh
cnI+fjIyCjIgICAgICAgICAwLjAwMjcgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0LXlh
cnI+fjI0CjIgICAgICAgICAwLjAwMjcgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0LXlh
cnI+fjI1CjIgICAgICAgICAwLjAwMjcgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0LXlh
cnI+fjI2CjIgICAgICAgICAwLjAwMjcgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0LXlh
cnI+fjI3CjIgICAgICAgICAwLjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKSVRTdHVi
VGh1bmtlZF9vcF9jYWxsX0pTRnVuY3Rpb24KMiAgICAgICAgIDAuMDAyNyAganNjLW9wcm9maWxl
LWFubm90YXRlICAgIEpJVFN0dWJUaHVua2VkX29wX25ld19mdW5jX2V4cAoyICAgICAgICAgMC4w
MDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpBUk1Bc3NlbWJsZXI6OmJhc2VJbmRl
eFRyYW5zZmVyMzIoYm9vbCwgSlNDOjpBUk1SZWdpc3RlcnM6OlJlZ2lzdGVySUQsIEpTQzo6QVJN
UmVnaXN0ZXJzOjpSZWdpc3RlcklELCBKU0M6OkFSTVJlZ2lzdGVyczo6UmVnaXN0ZXJJRCwgaW50
LCBpbnQpCjIgICAgICAgICAwLjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkFS
TUFzc2VtYmxlcjo6Z2VuSW50KGludCwgdW5zaWduZWQgaW50LCBib29sKQoyICAgICAgICAgMC4w
MDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpBUk1Bc3NlbWJsZXI6OmxpbmtKdW1w
KEpTQzo6QVJNQXNzZW1ibGVyOjpKbXBTcmMsIEpTQzo6QVJNQXNzZW1ibGVyOjpKbXBEc3QpCjIg
ICAgICAgICAwLjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkFycmF5UHJvdG90
eXBlOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OklkZW50aWZpZXIg
Y29uc3QmLCBKU0M6OlByb3BlcnR5U2xvdCYpCjIgICAgICAgICAwLjAwMjcgIGpzYy1vcHJvZmls
ZS1hbm5vdGF0ZSAgICBKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRvcihK
U0M6OkV2YWxOb2RlKiwgSlNDOjpEZWJ1Z2dlciBjb25zdCosIEpTQzo6U2NvcGVDaGFpbiBjb25z
dCYsIFdURjo6SGFzaE1hcDxXVEY6OlJlZlB0cjxKU0M6OlVTdHJpbmdJbXBsPiwgSlNDOjpTeW1i
b2xUYWJsZUVudHJ5LCBKU0M6OklkZW50aWZpZXJSZXBIYXNoLCBXVEY6Okhhc2hUcmFpdHM8V1RG
OjpSZWZQdHI8SlNDOjpVU3RyaW5nSW1wbD4gPiwgSlNDOjpTeW1ib2xUYWJsZUluZGV4SGFzaFRy
YWl0cz4qLCBKU0M6OkV2YWxDb2RlQmxvY2sqKQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2Zp
bGUtYW5ub3RhdGUgICAgSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdEdldEJ5VmFsKEpTQzo6
UmVnaXN0ZXJJRCosIEpTQzo6UmVnaXN0ZXJJRCosIEpTQzo6UmVnaXN0ZXJJRCopCjIgICAgICAg
ICAwLjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkJ5dGVjb2RlR2VuZXJhdG9y
OjplbWl0TG9hZChKU0M6OlJlZ2lzdGVySUQqLCBKU0M6OklkZW50aWZpZXIgY29uc3QmKQoyICAg
ICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpCeXRlY29kZUdlbmVy
YXRvcjo6ZW1pdE5ld0Z1bmN0aW9uKEpTQzo6UmVnaXN0ZXJJRCosIEpTQzo6RnVuY3Rpb25Cb2R5
Tm9kZSopCjIgICAgICAgICAwLjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkJ5
dGVjb2RlR2VuZXJhdG9yOjplbWl0UHV0QnlJZChKU0M6OlJlZ2lzdGVySUQqLCBKU0M6OklkZW50
aWZpZXIgY29uc3QmLCBKU0M6OlJlZ2lzdGVySUQqKQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3By
b2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZmluYWxEZXN0aW5hdGlv
bihKU0M6OlJlZ2lzdGVySUQqLCBKU0M6OlJlZ2lzdGVySUQqKQoyICAgICAgICAgMC4wMDI3ICBq
c2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6bmV3TGFiZWxT
Y29wZShKU0M6OkxhYmVsU2NvcGU6OlR5cGUsIEpTQzo6SWRlbnRpZmllciBjb25zdCopCjIgICAg
ICAgICAwLjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkJ5dGVjb2RlR2VuZXJh
dG9yOjpyZWdpc3RlckZvcihpbnQpCjIgICAgICAgICAwLjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5v
dGF0ZSAgICBKU0M6OkRhdGVJbnN0YW5jZUNhY2hlOjphZGQoZG91YmxlKQoyICAgICAgICAgMC4w
MDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpEb3RBY2Nlc3Nvck5vZGU6OmVtaXRC
eXRlY29kZShKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yJiwgSlNDOjpSZWdpc3RlcklEKikKMiAgICAg
ICAgIDAuMDAyNyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6RnVuY3Rpb25Cb2R5Tm9k
ZTo6ZmluaXNoUGFyc2luZyhKU0M6OlNvdXJjZUNvZGUgY29uc3QmLCBKU0M6OlBhcmFtZXRlck5v
ZGUqLCBKU0M6OklkZW50aWZpZXIgY29uc3QmKQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2Zp
bGUtYW5ub3RhdGUgICAgSlNDOjpIZWFwOjptYXJrUHJvdGVjdGVkT2JqZWN0cyhKU0M6Ok1hcmtT
dGFjayYpCjIgICAgICAgICAwLjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6Oklu
dGVycHJldGVyOjpleGVjdXRlKEpTQzo6UHJvZ3JhbUV4ZWN1dGFibGUqLCBKU0M6OkV4ZWNTdGF0
ZSosIEpTQzo6U2NvcGVDaGFpbk5vZGUqLCBKU0M6OkpTT2JqZWN0KiwgSlNDOjpKU1ZhbHVlKikK
MiAgICAgICAgIDAuMDAyNyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SW50ZXJwcmV0
ZXI6OnByZXBhcmVGb3JSZXBlYXRDYWxsKEpTQzo6RnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNDOjpF
eGVjU3RhdGUqLCBKU0M6OkpTRnVuY3Rpb24qLCBpbnQsIEpTQzo6U2NvcGVDaGFpbk5vZGUqLCBK
U0M6OkpTVmFsdWUqKQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAg
SlNDOjpKSVQ6OmNvbXBpbGVBbmRBbm5vdGF0ZShKU0M6OkpTR2xvYmFsRGF0YSosIEpTQzo6Q29k
ZUJsb2NrKiwgSlNDOjpVU3RyaW5nJikKMiAgICAgICAgIDAuMDAyNyAganNjLW9wcm9maWxlLWFu
bm90YXRlICAgIEpTQzo6SklUOjpjb21waWxlT3BDYWxsU2V0dXBBcmdzKEpTQzo6SW5zdHJ1Y3Rp
b24qKQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKSVQ6
OmVtaXRTbG93X29wX2NhbGwoSlNDOjpJbnN0cnVjdGlvbiosIEpTQzo6U2xvd0Nhc2VFbnRyeSom
KQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKSVQ6OmVt
aXRTbG93X29wX2NvbnN0cnVjdF92ZXJpZnkoSlNDOjpJbnN0cnVjdGlvbiosIEpTQzo6U2xvd0Nh
c2VFbnRyeSomKQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlND
OjpKSVQ6OmVtaXRTbG93X29wX2pmYWxzZShKU0M6Okluc3RydWN0aW9uKiwgSlNDOjpTbG93Q2Fz
ZUVudHJ5KiYpCjIgICAgICAgICAwLjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6
OkpJVDo6ZW1pdFNsb3dfb3BfcHJlX2luYyhKU0M6Okluc3RydWN0aW9uKiwgSlNDOjpTbG93Q2Fz
ZUVudHJ5KiYpCjIgICAgICAgICAwLjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6
OkpJVDo6ZW1pdFNsb3dfb3BfcHV0X2J5X2lkKEpTQzo6SW5zdHJ1Y3Rpb24qLCBKU0M6OlNsb3dD
YXNlRW50cnkqJikKMiAgICAgICAgIDAuMDAyNyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpT
Qzo6SklUOjplbWl0U2xvd19vcF9yc2hpZnQoSlNDOjpJbnN0cnVjdGlvbiosIEpTQzo6U2xvd0Nh
c2VFbnRyeSomKQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlND
OjpKSVQ6OmVtaXRfb3BfYml0YW5kKEpTQzo6SW5zdHJ1Y3Rpb24qKQoyICAgICAgICAgMC4wMDI3
ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKSVQ6OmVtaXRfb3BfY2FsbChKU0M6Oklu
c3RydWN0aW9uKikKMiAgICAgICAgIDAuMDAyNyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpT
Qzo6SklUOjplbWl0X29wX2VudGVyKEpTQzo6SW5zdHJ1Y3Rpb24qKQoyICAgICAgICAgMC4wMDI3
ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKSVQ6OmVtaXRfb3BfbXVsKEpTQzo6SW5z
dHJ1Y3Rpb24qKQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlND
OjpKSVQ6OmVtaXRfb3BfcHJlX2luYyhKU0M6Okluc3RydWN0aW9uKikKMiAgICAgICAgIDAuMDAy
NyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SklUUHJvZmlsZUFnZW50Ojphbm5vdGF0
ZUpJVENvZGVJbXBsKHZvaWQqLCBXVEY6OlZlY3RvcjxKU0M6OkxpbmVJbmZvUmVjb3JkLCAwdT4m
LCBKU0M6OlVTdHJpbmcgY29uc3QmKQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5u
b3RhdGUgICAgSlNDOjpKSVRTdHViQ2FsbDo6Y2FsbCh1bnNpZ25lZCBpbnQpCjIgICAgICAgICAw
LjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpJVFRodW5rczo6dHJ5Q2FjaGVH
ZXRCeUlEKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpDb2RlQmxvY2sqLCBKU0M6OlJldHVybkFkZHJl
c3NQdHIsIEpTQzo6SlNWYWx1ZSwgSlNDOjpJZGVudGlmaWVyIGNvbnN0JiwgSlNDOjpQcm9wZXJ0
eVNsb3QgY29uc3QmLCBKU0M6OlN0cnVjdHVyZVN0dWJJbmZvKikKMiAgICAgICAgIDAuMDAyNyAg
anNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlT
bG90KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpJZGVudGlmaWVyIGNvbnN0JiwgSlNDOjpQcm9wZXJ0
eVNsb3QmKQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpK
U0dsb2JhbE9iamVjdDo6Z2xvYmFsRXhlYygpCjIgICAgICAgICAwLjAwMjcgIGpzYy1vcHJvZmls
ZS1hbm5vdGF0ZSAgICBKU0M6OkpTR2xvYmFsT2JqZWN0OjpzdXBwb3J0c1Byb2ZpbGluZygpIGNv
bnN0CjIgICAgICAgICAwLjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpTT2Jq
ZWN0OjpoYXNQcm9wZXJ0eShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SWRlbnRpZmllciBjb25zdCYp
IGNvbnN0CjIgICAgICAgICAwLjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpT
UHJvcGVydHlOYW1lSXRlcmF0b3I6OmNyZWF0ZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmpl
Y3QqKQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKU1N0
cmluZzo6dG9UaGlzSlNTdHJpbmcoSlNDOjpFeGVjU3RhdGUqKQoyICAgICAgICAgMC4wMDI3ICBq
c2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6YnJhbmNoRG91
YmxlKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06OkRvdWJsZUNvbmRpdGlvbiwgSlNDOjpBUk1SZWdp
c3RlcnM6OkZQUmVnaXN0ZXJJRCwgSlNDOjpBUk1SZWdpc3RlcnM6OkZQUmVnaXN0ZXJJRCkKMiAg
ICAgICAgIDAuMDAyNyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6TWFya1N0YWNrOjpj
b21wYWN0KCkKMiAgICAgICAgIDAuMDAyNyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6
TnVtYmVyTm9kZTo6ZW1pdEJ5dGVjb2RlKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3ImLCBKU0M6OlJl
Z2lzdGVySUQqKQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlND
OjpQYXJzZXJBcmVuYTo6UGFyc2VyQXJlbmEoKQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2Zp
bGUtYW5ub3RhdGUgICAgSlNDOjpSZWFkTW9kaWZ5QnJhY2tldE5vZGU6OmVtaXRCeXRlY29kZShK
U0M6OkJ5dGVjb2RlR2VuZXJhdG9yJiwgSlNDOjpSZWdpc3RlcklEKikKMiAgICAgICAgIDAuMDAy
NyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6UmVhZE1vZGlmeVJlc29sdmVOb2RlOjpl
bWl0Qnl0ZWNvZGUoSlNDOjpCeXRlY29kZUdlbmVyYXRvciYsIEpTQzo6UmVnaXN0ZXJJRCopCjIg
ICAgICAgICAwLjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OlNtYWxsU3RyaW5n
czo6c2luZ2xlQ2hhcmFjdGVyU3RyaW5nUmVwKHVuc2lnbmVkIGNoYXIpCjIgICAgICAgICAwLjAw
MjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OlN0cmluZ0NvbnN0cnVjdG9yOjpnZXRD
YWxsRGF0YShKU0M6OkNhbGxEYXRhJikKMiAgICAgICAgIDAuMDAyNyAganNjLW9wcm9maWxlLWFu
bm90YXRlICAgIEpTQzo6U3RydWN0dXJlOjpmbGF0dGVuRGljdGlvbmFyeVN0cnVjdHVyZShKU0M6
OkpTT2JqZWN0KikKMiAgICAgICAgIDAuMDAyNyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpT
Qzo6U3RydWN0dXJlOjptYXRlcmlhbGl6ZVByb3BlcnR5TWFwKCkKMiAgICAgICAgIDAuMDAyNyAg
anNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6VVN0cmluZzo6ZnJvbShpbnQpCjIgICAgICAg
ICAwLjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OlVTdHJpbmc6Om9wZXJhdG9y
PShKU0M6OlVTdHJpbmcgY29uc3QmKQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5u
b3RhdGUgICAgSlNDOjpZYXJyOjpSZWdleEdlbmVyYXRvcjo6Z2VuZXJhdGVBc3NlcnRpb25Xb3Jk
Qm91bmRhcnkoSlNDOjpZYXJyOjpSZWdleEdlbmVyYXRvcjo6VGVybUdlbmVyYXRpb25TdGF0ZSYp
CjIgICAgICAgICAwLjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OllhcnI6OlJl
Z2V4R2VuZXJhdG9yOjpnZW5lcmF0ZVRlcm0oSlNDOjpZYXJyOjpSZWdleEdlbmVyYXRvcjo6VGVy
bUdlbmVyYXRpb25TdGF0ZSYpCjIgICAgICAgICAwLjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0
ZSAgICBKU0M6OmNvbnN0cnVjdERhdGUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkFyZ0xpc3QgY29u
c3QmKQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpjb25z
dHJ1Y3RSZWdFeHAoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkFyZ0xpc3QgY29uc3QmKQoyICAgICAg
ICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpjb25zdHJ1Y3RXaXRoRGF0
ZUNvbnN0cnVjdG9yKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU09iamVjdCosIEpTQzo6QXJnTGlz
dCBjb25zdCYpCjIgICAgICAgICAwLjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6
OmV2YWx1YXRlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpTY29wZUNoYWluJiwgSlNDOjpTb3VyY2VD
b2RlIGNvbnN0JiwgSlNDOjpKU1ZhbHVlKQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUt
YW5ub3RhdGUgICAgSlNDOjptYXRoUHJvdG9GdW5jTG9nKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpK
U09iamVjdCosIEpTQzo6SlNWYWx1ZSwgSlNDOjpBcmdMaXN0IGNvbnN0JikKMiAgICAgICAgIDAu
MDAyNyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIFRDTWFsbG9jX1NwaW5Mb2NrOjpVbmxvY2so
KQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgV1RGOjpBVkxUcmVl
PEpTQzo6QVZMVHJlZUFic3RyYWN0b3JGb3JBcnJheUNvbXBhcmUsIDQ0dSwgV1RGOjpBVkxUcmVl
RGVmYXVsdEJTZXQ8NDR1PiA+OjpzZXRfYmYoaW50LCBpbnQpCjIgICAgICAgICAwLjAwMjcgIGpz
Yy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBXVEY6Okhhc2hTZXQ8SlNDOjpHbG9iYWxDb2RlQmxvY2sq
LCBXVEY6OlB0ckhhc2g8SlNDOjpHbG9iYWxDb2RlQmxvY2sqPiwgV1RGOjpIYXNoVHJhaXRzPEpT
Qzo6R2xvYmFsQ29kZUJsb2NrKj4gPjo6YWRkKEpTQzo6R2xvYmFsQ29kZUJsb2NrKiBjb25zdCYp
CjIgICAgICAgICAwLjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBXVEY6Okhhc2hTZXQ8
SlNDOjpKU09iamVjdCosIFdURjo6UHRySGFzaDxKU0M6OkpTT2JqZWN0Kj4sIFdURjo6SGFzaFRy
YWl0czxKU0M6OkpTT2JqZWN0Kj4gPjo6cmVtb3ZlKEpTQzo6SlNPYmplY3QqIGNvbnN0JikKMiAg
ICAgICAgIDAuMDAyNyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6SGFzaFNldDxKU0M6
OlVTdHJpbmdJbXBsKiwgV1RGOjpQdHJIYXNoPEpTQzo6VVN0cmluZ0ltcGwqPiwgV1RGOjpIYXNo
VHJhaXRzPEpTQzo6VVN0cmluZ0ltcGwqPiA+OjphZGQoSlNDOjpVU3RyaW5nSW1wbCogY29uc3Qm
KQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgV1RGOjpIYXNoVGFi
bGU8V1RGOjpSZWZQdHI8SlNDOjpVU3RyaW5nSW1wbD4sIHN0ZDo6cGFpcjxXVEY6OlJlZlB0cjxK
U0M6OlVTdHJpbmdJbXBsPiwgaW50PiwgV1RGOjpQYWlyRmlyc3RFeHRyYWN0b3I8c3RkOjpwYWly
PFdURjo6UmVmUHRyPEpTQzo6VVN0cmluZ0ltcGw+LCBpbnQ+ID4sIEpTQzo6SWRlbnRpZmllclJl
cEhhc2gsIFdURjo6UGFpckhhc2hUcmFpdHM8V1RGOjpIYXNoVHJhaXRzPFdURjo6UmVmUHRyPEpT
Qzo6VVN0cmluZ0ltcGw+ID4sIEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OklkZW50aWZpZXJNYXBJ
bmRleEhhc2hUcmFpdHM+LCBXVEY6Okhhc2hUcmFpdHM8V1RGOjpSZWZQdHI8SlNDOjpVU3RyaW5n
SW1wbD4gPiA+OjpyZWhhc2goaW50KQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5u
b3RhdGUgICAgV1RGOjpTZWdtZW50ZWRWZWN0b3I8SlNDOjpMYWJlbFNjb3BlLCA4dT46OlNlZ21l
bnRlZFZlY3RvcigpCjIgICAgICAgICAwLjAwMjcgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBX
VEY6OlRDTWFsbG9jX1BhZ2VIZWFwOjpBbGxvY0xhcmdlKHVuc2lnbmVkIGludCkKMiAgICAgICAg
IDAuMDAyNyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6VmVjdG9yPEpTQzo6Q2FsbExp
bmtJbmZvLCAwdT46OmV4cGFuZENhcGFjaXR5KHVuc2lnbmVkIGludCkKMiAgICAgICAgIDAuMDAy
NyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6VmVjdG9yPEpTQzo6SWRlbnRpZmllciwg
MHU+OjpleHBhbmRDYXBhY2l0eSh1bnNpZ25lZCBpbnQpCjIgICAgICAgICAwLjAwMjcgIGpzYy1v
cHJvZmlsZS1hbm5vdGF0ZSAgICBXVEY6OlZlY3RvcjxKU0M6OklkZW50aWZpZXIsIDY0dT46OnNo
cmlua0NhcGFjaXR5KHVuc2lnbmVkIGludCkKMiAgICAgICAgIDAuMDAyNyAganNjLW9wcm9maWxl
LWFubm90YXRlICAgIFdURjo6VmVjdG9yPEpTQzo6SnVtcFRhYmxlLCAwdT46OmV4cGFuZENhcGFj
aXR5KHVuc2lnbmVkIGludCkKMiAgICAgICAgIDAuMDAyNyAganNjLW9wcm9maWxlLWFubm90YXRl
ICAgIFdURjo6VmVjdG9yPEpTQzo6TGluZUluZm9SZWNvcmQsIDB1Pjo6ZXhwYW5kQ2FwYWNpdHko
dW5zaWduZWQgaW50KQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAg
V1RGOjpWZWN0b3I8dW5zaWduZWQgaW50LCAxNnU+OjpjbGVhcigpCjIgICAgICAgICAwLjAwMjcg
IGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBXVEY6OlZlY3Rvcjx1bnNpZ25lZCBzaG9ydCwgMHU+
OjpyZXNlcnZlQ2FwYWNpdHkodW5zaWduZWQgaW50KQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3By
b2ZpbGUtYW5ub3RhdGUgICAgV1RGOjpoaTBiaXRzKHVuc2lnbmVkIGludCkKMiAgICAgICAgIDAu
MDAyNyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6bXVsdGFkZChXVEY6OkJpZ0ludCYs
IGludCwgaW50KQoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgY3Rp
X29wX2NhbGxfYXJpdHlDaGVjawoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3Rh
dGUgICAgY3RpX29wX21vZAoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUg
ICAgY3RpX29wX25ld19yZWdleHAKMiAgICAgICAgIDAuMDAyNyAganNjLW9wcm9maWxlLWFubm90
YXRlICAgIGN0aV9vcF9yZXRfc2NvcGVDaGFpbgoyICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2Zp
bGUtYW5ub3RhdGUgICAgY3RpX29wX3RlYXJfb2ZmX2FjdGl2YXRpb24KMiAgICAgICAgIDAuMDAy
NyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIGZpbGxCdWZmZXJXaXRoQ29udGVudHNPZkZpbGUo
SlNDOjpVU3RyaW5nIGNvbnN0JiwgV1RGOjpWZWN0b3I8Y2hhciwgMHU+JikKMiAgICAgICAgIDAu
MDAyNyAganNjLW9wcm9maWxlLWFubm90YXRlICAgIG1ha2VEaXZOb2RlKEpTQzo6SlNHbG9iYWxE
YXRhKiwgSlNDOjpFeHByZXNzaW9uTm9kZSosIEpTQzo6RXhwcmVzc2lvbk5vZGUqLCBib29sKQoy
ICAgICAgICAgMC4wMDI3ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgdm9pZCBXVEY6OmRlbGV0
ZUFsbFZhbHVlczxKU0M6OllhcnI6OkNoYXJhY3RlckNsYXNzKiwgMHU+KFdURjo6VmVjdG9yPEpT
Qzo6WWFycjo6Q2hhcmFjdGVyQ2xhc3MqLCAwdT4gY29uc3QmKQoyICAgICAgICAgMC4wMDI3ICBq
c2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgdm9pZCBXVEY6OmRlcmVmSWZOb3ROdWxsPEpTQzo6RXhl
Y3V0YWJsZVBvb2w+KEpTQzo6RXhlY3V0YWJsZVBvb2wqKQoxICAgICAgICAgMC4wMDE0ICA4NDk1
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpBRVNEZWNyeXB0Q3RyW3Rlc3RzL3N1bnNw
aWRlci0wLjkvY3J5cHRvLWFlcy5qczoyMzAtMjc0XQoxICAgICAgICAgMC4wMDE0ICA4NDk1Lmpv
ICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpBRVNFbmNyeXB0Q3RyW3Rlc3RzL3N1bnNwaWRl
ci0wLjkvY3J5cHRvLWFlcy5qczoxNjQtMjIwXQoxICAgICAgICAgMC4wMDE0ICA4NDk1LmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPjpDYWxjTm9ybWFsW3Rlc3RzL3N1bnNwaWRlci0wLjkv
M2QtY3ViZS5qczo3OC04OV0KMSAgICAgICAgIDAuMDAxNCAgODQ5NS5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz46Q3JlYXRlUFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6OTEt
OTNdCjEgICAgICAgICAwLjAwMTQgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
OkZJWEVEW3Rlc3RzL3N1bnNwaWRlci0wLjkvbWF0aC1jb3JkaWMuanM6MzEtMzNdCjEgICAgICAg
ICAwLjAwMTQgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OlJvdGF0ZVhbdGVz
dHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE0NC0xNTZdCjEgICAgICAgICAwLjAwMTQgIDg0
OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OlRyYW5zbGF0ZVt0ZXN0cy9zdW5zcGlk
ZXItMC45LzNkLWN1YmUuanM6MTM0LTE0Ml0KMSAgICAgICAgIDAuMDAxNCAgODQ5NS5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtZnVuYz46YWRkVmVjdG9yW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2Qt
cmF5dHJhY2UuanM6MzgtNDNdCjEgICAgICAgICAwLjAwMTQgIDg0OTUuam8gICAgICAgICAgICAg
ICAgICA8aml0LWZ1bmM+OmFycmF5VG9DYW52YXNDb21tYW5kc1t0ZXN0cy9zdW5zcGlkZXItMC45
LzNkLXJheXRyYWNlLmpzOjQwNi00MzldCjEgICAgICAgICAwLjAwMTQgIDg0OTUuam8gICAgICAg
ICAgICAgICAgICA8aml0LWZ1bmM+OnJheXRyYWNlU2NlbmVbdGVzdHMvc3Vuc3BpZGVyLTAuOS8z
ZC1yYXl0cmFjZS5qczozMTQtNDAzXQoxICAgICAgICAgMC4wMDE0ICA4NDk1LmpvICAgICAgICAg
ICAgICAgICAgPGppdC1mdW5jPjpzY2FsZVZlY3Rvclt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJh
eXRyYWNlLmpzOjUyLTU3XQoxICAgICAgICAgMC4wMDE0ICA4NDk1LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjpzY2FsZXZbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczo3
NS03N10KMSAgICAgICAgIDAuMDAxNCAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVu
Yz46c2hhMV9rdFt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1zaGExLmpzOjEwMC0xMDNdCjEg
ICAgICAgICAwLjAwMTQgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnNwZWN0
cmFsbm9ybVt0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtc3BlY3RyYWwtbm9ybS5qczozMy00N10K
MSAgICAgICAgIDAuMDAxNCAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVz
dHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNvZGUuanM6NjYtNjZdCjEgICAgICAgICAw
LjAwMTQgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGFycmF5bGVuZ3RoPn4yMwox
ICAgICAgICAgMC4wMDE0ICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRieWlkLXBy
b3RvPn4xNAoxICAgICAgICAgMC4wMDE0ICA4NDk1LmpvICAgICAgICAgICAgICAgICAgPGppdC1n
ZXRieWlkLXByb3RvPn45CjEgICAgICAgICAwLjAwMTQgIDg0OTUuam8gICAgICAgICAgICAgICAg
ICA8aml0LWdldGJ5aWQtcHJvdG9saXN0Pn4zCjEgICAgICAgICAwLjAwMTQgIDg0OTUuam8gICAg
ICAgICAgICAgICAgICA8aml0LWdldGJ5aWQtc2VsZmxpc3Q+fjExCjEgICAgICAgICAwLjAwMTQg
IDg0OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGJ5aWQtc2VsZmxpc3Q+fjE5CjEgICAg
ICAgICAwLjAwMTQgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGJ5aWQtc2VsZmxp
c3Q+fjcKMSAgICAgICAgIDAuMDAxNCAgODQ5NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0
YnlpZC1zZWxmbGlzdD5+OQoxICAgICAgICAgMC4wMDE0ICA4NDk1LmpvICAgICAgICAgICAgICAg
ICAgPGppdC15YXJyPn4xOAoxICAgICAgICAgMC4wMDE0ICA4NDk1LmpvICAgICAgICAgICAgICAg
ICAgPGppdC15YXJyPn4yMgoxICAgICAgICAgMC4wMDE0ICA4NDk1LmpvICAgICAgICAgICAgICAg
ICAgPGpzLWV2YWw+fjIKMSAgICAgICAgIDAuMDAxNCAgODQ5NS5qbyAgICAgICAgICAgICAgICAg
IDxqcy1ldmFsPn40CjEgICAgICAgICAwLjAwMTQgIDg0OTUuam8gICAgICAgICAgICAgICAgICA8
anMtZXZhbD5+NwoxICAgICAgICAgMC4wMDE0ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGpp
dC1mdW5jPjpBRVNFbmNyeXB0Q3RyW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5qczox
NjQtMjIwXQoxICAgICAgICAgMC4wMDE0ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPjpGW3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQtdG9mdGUuanM6NzktODJdCjEg
ICAgICAgICAwLjAwMTQgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OlRyYW5z
bGF0ZVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTM0LTE0Ml0KMSAgICAgICAgIDAu
MDAxNCAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46WVt0ZXN0cy9zdW5zcGlk
ZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjIzMS0yNTJdCjEgICAgICAgICAwLjAwMTQgIDg1
NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmJpdF9yb2xbdGVzdHMvc3Vuc3BpZGVy
LTAuOS9jcnlwdG8tbWQ1LmpzOjE5My0xOTVdCjEgICAgICAgICAwLjAwMTQgIDg1NTUuam8gICAg
ICAgICAgICAgICAgICA8aml0LWZ1bmM+OmRbdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1h
dC10b2Z0ZS5qczo3MC03NF0KMSAgICAgICAgIDAuMDAxNCAgODU1NS5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz46ZXNjQ3RybENoYXJzW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLWFl
cy5qczoyNzgtMjgwXQoxICAgICAgICAgMC4wMDE0ICA4NTU1LmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPjpnW3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQtdG9mdGUuanM6ODMt
ODZdCjEgICAgICAgICAwLjAwMTQgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
Om1kNV9oaFt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1tZDUuanM6MTUxLTE1M10KMSAgICAg
ICAgIDAuMDAxNCAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46bm9ybWFsaXNl
VmVjdG9yW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6NTktNjVdCjEgICAgICAg
ICAwLjAwMTQgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnNjYWxlVmVjdG9y
W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6NTItNTddCjEgICAgICAgICAwLjAw
MTQgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnN1Ylt0ZXN0cy9zdW5zcGlk
ZXItMC45LzNkLXJheXRyYWNlLmpzOjcxLTczXQoxICAgICAgICAgMC4wMDE0ICA4NTU1LmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNl
LmpzOjI4My0yOTBdCjEgICAgICAgICAwLjAwMTQgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvYWNjZXNzLW5ib2R5LmpzOjEyOC0xNTJdCjEg
ICAgICAgICAwLjAwMTQgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3Rz
L3N1bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5qczoyODMtMjgzXQoxICAgICAgICAgMC4wMDE0ICA4
NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0
cmluZy10YWdjbG91ZC5qczoxNjQtMjIzXQoxICAgICAgICAgMC4wMDE0ICA4NTU1LmpvICAgICAg
ICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2st
Y29kZS5qczozMC0zMF1+MgoxICAgICAgICAgMC4wMDE0ICA4NTU1LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczo1
MS01MV0KMSAgICAgICAgIDAuMDAxNCAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVu
Yz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNvZGUuanM6NTEtNTFdfjEKMSAg
ICAgICAgIDAuMDAxNCAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMv
c3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNvZGUuanM6NjYtNjZdfjMKMSAgICAgICAgIDAu
MDAxNCAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YXJyYXlsZW5ndGg+fjE2CjEg
ICAgICAgICAwLjAwMTQgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGFycmF5bGVu
Z3RoPn4yCjEgICAgICAgICAwLjAwMTQgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8aml0LWdl
dGFycmF5bGVuZ3RoPn42CjEgICAgICAgICAwLjAwMTQgIDg1NTUuam8gICAgICAgICAgICAgICAg
ICA8aml0LWdldGJ5aWQtcHJvdG8+fjEzCjEgICAgICAgICAwLjAwMTQgIDg1NTUuam8gICAgICAg
ICAgICAgICAgICA8aml0LWdldGJ5aWQtcHJvdG8+fjgKMSAgICAgICAgIDAuMDAxNCAgODU1NS5q
byAgICAgICAgICAgICAgICAgIDxqaXQtcHJvZz5bcmVzb3VyY2VzL3N1bnNwaWRlci1zdGFuZGFs
b25lLWRyaXZlci5qczoxLTU2XQoxICAgICAgICAgMC4wMDE0ICA4NTU1LmpvICAgICAgICAgICAg
ICAgICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpz
OjEtMjk4XQoxICAgICAgICAgMC4wMDE0ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGppdC15
YXJyPn4yNwoxICAgICAgICAgMC4wMDE0ICA4NTU1LmpvICAgICAgICAgICAgICAgICAgPGpzLWV2
YWw+fjQKMSAgICAgICAgIDAuMDAxNCAgODU1NS5qbyAgICAgICAgICAgICAgICAgIDxqcy1ldmFs
Pn41CjEgICAgICAgICAwLjAwMTQgIDg1NTUuam8gICAgICAgICAgICAgICAgICA8anMtZXZhbD5+
NwoxICAgICAgICAgMC4wMDE0ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpG
SVhFRFt0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtY29yZGljLmpzOjMxLTMzXQoxICAgICAgICAg
MC4wMDE0ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpSb3RhdGVYW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoxNDQtMTU2XQoxICAgICAgICAgMC4wMDE0ICA4NTYy
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpSb3RhdGVZW3Rlc3RzL3N1bnNwaWRlci0w
LjkvM2QtY3ViZS5qczoxNTgtMTcwXQoxICAgICAgICAgMC4wMDE0ICA4NTYyLmpvICAgICAgICAg
ICAgICAgICAgPGppdC1mdW5jPjpSb3RhdGVaW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5q
czoxNzItMTg0XQoxICAgICAgICAgMC4wMDE0ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGpp
dC1mdW5jPjpjb3JlX21kNVt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1tZDUuanM6NDEtMTMz
XQoxICAgICAgICAgMC4wMDE0ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpk
b3RbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczo3OS04MV0KMSAgICAgICAgIDAu
MDAxNCAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Z1t0ZXN0cy9zdW5zcGlk
ZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjgzLTg2XQoxICAgICAgICAgMC4wMDE0ICA4NTYy
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjppW3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0
ZS1mb3JtYXQtdG9mdGUuanM6MTA4LTExMl0KMSAgICAgICAgIDAuMDAxNCAgODU2Mi5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtZnVuYz46bWQ1X2hoW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRv
LW1kNS5qczoxNTEtMTUzXQoxICAgICAgICAgMC4wMDE0ICA4NTYyLmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjpub3JtYWxpc2VWZWN0b3JbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0
cmFjZS5qczo1OS02NV0KMSAgICAgICAgIDAuMDAxNCAgODU2Mi5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz46c2hhMV9mdFt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1zaGExLmpzOjg5
LTk0XQoxICAgICAgICAgMC4wMDE0ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5j
PjpzdWJbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczo3MS03M10KMSAgICAgICAg
IDAuMDAxNCAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS8zZC1yYXl0cmFjZS5qczoyODMtMjkwXQoxICAgICAgICAgMC4wMDE0ICA4NTYyLmpv
ICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1h
ZXMuanM6Mjc5LTI3OV0KMSAgICAgICAgIDAuMDAxNCAgODU2Mi5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNvZGUuanM6MTYt
MTZdCjEgICAgICAgICAwLjAwMTQgIDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXVucGFjay1jb2RlLmpzOjY2LTY2XQoxICAgICAg
ICAgMC4wMDE0ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5z
cGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczo2Ni02Nl1+MQoxICAgICAgICAgMC4wMDE0
ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRhcnJheWxlbmd0aD5+MgoxICAgICAg
ICAgMC4wMDE0ICA4NTYyLmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRhcnJheWxlbmd0aD5+
MjAKMSAgICAgICAgIDAuMDAxNCAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YXJy
YXlsZW5ndGg+fjMKMSAgICAgICAgIDAuMDAxNCAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZ2V0YnlpZC1wcm90bz5+MTQKMSAgICAgICAgIDAuMDAxNCAgODU2Mi5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZ2V0YnlpZC1wcm90bz5+NAoxICAgICAgICAgMC4wMDE0ICA4NTYyLmpvICAg
ICAgICAgICAgICAgICAgPGppdC1nZXRieWlkLXByb3RvPn43CjEgICAgICAgICAwLjAwMTQgIDg1
NjIuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGJ5aWQtc2VsZmxpc3Q+fjE1CjEgICAgICAg
ICAwLjAwMTQgIDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGJ5aWQtc2VsZmxpc3Q+
fjcKMSAgICAgICAgIDAuMDAxNCAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0Ynlp
ZC1zZWxmbGlzdD5+OQoxICAgICAgICAgMC4wMDE0ICA4NTYyLmpvICAgICAgICAgICAgICAgICAg
PGppdC1wcm9nPltyZXNvdXJjZXMvc3Vuc3BpZGVyLXN0YW5kYWxvbmUtZHJpdmVyLmpzOjEtNTZd
CjEgICAgICAgICAwLjAwMTQgIDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LXByb2c+W3Rl
c3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQtdG9mdGUuanM6MS0yOThdCjEgICAgICAgICAw
LjAwMTQgIDg1NjIuam8gICAgICAgICAgICAgICAgICA8aml0LXB1dGJ5aWQtdHJhbnNpdGlvbj5+
MjEKMSAgICAgICAgIDAuMDAxNCAgODU2Mi5qbyAgICAgICAgICAgICAgICAgIDxqcy1ldmFsPn40
CjEgICAgICAgICAwLjAwMTQgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OkZb
dGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC10b2Z0ZS5qczo3OS04Ml0KMSAgICAgICAg
IDAuMDAxNCAgODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46SW5pdFt0ZXN0cy9z
dW5zcGlkZXItMC45LzNkLWN1YmUuanM6MjUxLTMyNF0KMSAgICAgICAgIDAuMDAxNCAgODU3Ny5q
byAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46S2V5RXhwYW5zaW9uW3Rlc3RzL3N1bnNwaWRl
ci0wLjkvY3J5cHRvLWFlcy5qczo4My0xMDldCjEgICAgICAgICAwLjAwMTQgIDg1Nzcuam8gICAg
ICAgICAgICAgICAgICA8aml0LWZ1bmM+OlJvdGF0ZVlbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1j
dWJlLmpzOjE1OC0xNzBdCjEgICAgICAgICAwLjAwMTQgIDg1Nzcuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+OlJvdGF0ZVpbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE3Mi0x
ODRdCjEgICAgICAgICAwLjAwMTQgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
OmFycmF5VG9DYW52YXNDb21tYW5kc1t0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNlLmpz
OjQwNi00MzldCjEgICAgICAgICAwLjAwMTQgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0
LWZ1bmM+OmNvcmRpY1t0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtY29yZGljLmpzOjgzLTkzXQox
ICAgICAgICAgMC4wMDE0ICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpkW3Rl
c3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQtdG9mdGUuanM6NzAtNzRdCjEgICAgICAgICAw
LjAwMTQgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmlbdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS9kYXRlLWZvcm1hdC10b2Z0ZS5qczoxMDgtMTEyXQoxICAgICAgICAgMC4wMDE0ICA4
NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjptZDVfZ2dbdGVzdHMvc3Vuc3BpZGVy
LTAuOS9jcnlwdG8tbWQ1LmpzOjE0Ny0xNDldCjEgICAgICAgICAwLjAwMTQgIDg1Nzcuam8gICAg
ICAgICAgICAgICAgICA8aml0LWZ1bmM+Om1kNV9oaFt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0
by1tZDUuanM6MTUxLTE1M10KMSAgICAgICAgIDAuMDAxNCAgODU3Ny5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz46c1t0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpz
OjE3MC0xNzRdCjEgICAgICAgICAwLjAwMTQgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0
LWZ1bmM+OnNjYWxlVmVjdG9yW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6NTIt
NTddCjEgICAgICAgICAwLjAwMTQgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
OnNjYWxldlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNlLmpzOjc1LTc3XQoxICAgICAg
ICAgMC4wMDE0ICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpzcGVjdHJhbG5v
cm1bdGVzdHMvc3Vuc3BpZGVyLTAuOS9tYXRoLXNwZWN0cmFsLW5vcm0uanM6MzMtNDddCjEgICAg
ICAgICAwLjAwMTQgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1
bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6MjgzLTI5MF0KMSAgICAgICAgIDAuMDAxNCAgODU3
Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJp
bmctdW5wYWNrLWNvZGUuanM6NjYtNjZdCjEgICAgICAgICAwLjAwMTQgIDg1Nzcuam8gICAgICAg
ICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXVucGFjay1j
b2RlLmpzOjY2LTY2XX4xCjEgICAgICAgICAwLjAwMTQgIDg1Nzcuam8gICAgICAgICAgICAgICAg
ICA8aml0LWdldGFycmF5bGVuZ3RoPn4xNgoxICAgICAgICAgMC4wMDE0ICA4NTc3LmpvICAgICAg
ICAgICAgICAgICAgPGppdC1nZXRhcnJheWxlbmd0aD5+MTgKMSAgICAgICAgIDAuMDAxNCAgODU3
Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YXJyYXlsZW5ndGg+fjIzCjEgICAgICAgICAw
LjAwMTQgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGJ5aWQtcHJvdG8+fjQKMSAg
ICAgICAgIDAuMDAxNCAgODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YnlpZC1wcm90
b2xpc3Q+fjMKMSAgICAgICAgIDAuMDAxNCAgODU3Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
Z2V0YnlpZC1zZWxmbGlzdD5+MTMKMSAgICAgICAgIDAuMDAxNCAgODU3Ny5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZ2V0YnlpZC1zZWxmbGlzdD5+NwoxICAgICAgICAgMC4wMDE0ICA4NTc3Lmpv
ICAgICAgICAgICAgICAgICAgPGppdC1wcm9nPltyZXNvdXJjZXMvc3Vuc3BpZGVyLXN0YW5kYWxv
bmUtZHJpdmVyLmpzOjEtNTZdCjEgICAgICAgICAwLjAwMTQgIDg1Nzcuam8gICAgICAgICAgICAg
ICAgICA8aml0LXByb2c+W3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQtdG9mdGUuanM6
MS0yOThdCjEgICAgICAgICAwLjAwMTQgIDg1Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LXBy
b2c+W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLWZhc3RhLmpzOjEtODRdJTEwMAoxICAgICAg
ICAgMC4wMDE0ICA4NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5z
cGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczoxLTY4XQoxICAgICAgICAgMC4wMDE0ICA4
NTc3LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4xCjEgICAgICAgICAwLjAwMTQgIDg1
Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjE4CjEgICAgICAgICAwLjAwMTQgIDg1
Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjIyCjEgICAgICAgICAwLjAwMTQgIDg1
Nzcuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjI3CjEgICAgICAgICAwLjAwMTQgIDg1
Nzcuam8gICAgICAgICAgICAgICAgICA8anMtZXZhbD5+MgoxICAgICAgICAgMC4wMDE0ICA4NTgx
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpBRVNFbmNyeXB0Q3RyW3Rlc3RzL3N1bnNw
aWRlci0wLjkvY3J5cHRvLWFlcy5qczoxNjQtMjIwXQoxICAgICAgICAgMC4wMDE0ICA4NTgxLmpv
ICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpGW3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1m
b3JtYXQtdG9mdGUuanM6NzktODJdCjEgICAgICAgICAwLjAwMTQgIDg1ODEuam8gICAgICAgICAg
ICAgICAgICA8aml0LWZ1bmM+OlJvdGF0ZVpbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpz
OjE3Mi0xODRdCjEgICAgICAgICAwLjAwMTQgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8aml0
LWZ1bmM+OlRyYW5zbGF0ZVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTM0LTE0Ml0K
MSAgICAgICAgIDAuMDAxNCAgODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46WVt0
ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjIzMS0yNTJdCjEgICAgICAg
ICAwLjAwMTQgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmRbdGVzdHMvc3Vu
c3BpZGVyLTAuOS9kYXRlLWZvcm1hdC10b2Z0ZS5qczo3MC03NF0KMSAgICAgICAgIDAuMDAxNCAg
ODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Z1t0ZXN0cy9zdW5zcGlkZXItMC45
L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjgzLTg2XQoxICAgICAgICAgMC4wMDE0ICA4NTgxLmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPjpzW3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3Jt
YXQtdG9mdGUuanM6MTcwLTE3NF0KMSAgICAgICAgIDAuMDAxNCAgODU4MS5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZnVuYz46c2hhMV9rdFt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1zaGEx
LmpzOjEwMC0xMDNdCjEgICAgICAgICAwLjAwMTQgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6MzU3LTM3MF0KMSAg
ICAgICAgIDAuMDAxNCAgODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMv
c3Vuc3BpZGVyLTAuOS9zdHJpbmctdGFnY2xvdWQuanM6MjI5LTIyOV0KMSAgICAgICAgIDAuMDAx
NCAgODU4MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAu
OS9zdHJpbmctdW5wYWNrLWNvZGUuanM6NTEtNTFdCjEgICAgICAgICAwLjAwMTQgIDg1ODEuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXVu
cGFjay1jb2RlLmpzOjY2LTY2XQoxICAgICAgICAgMC4wMDE0ICA4NTgxLmpvICAgICAgICAgICAg
ICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5q
czo2Ni02Nl1+MwoxICAgICAgICAgMC4wMDE0ICA4NTgxLmpvICAgICAgICAgICAgICAgICAgPGpp
dC1nZXRhcnJheWxlbmd0aD5+MTYKMSAgICAgICAgIDAuMDAxNCAgODU4MS5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZ2V0YXJyYXlsZW5ndGg+fjIyCjEgICAgICAgICAwLjAwMTQgIDg1ODEuam8g
ICAgICAgICAgICAgICAgICA8aml0LWdldGJ5aWQtcHJvdG8+fjE0CjEgICAgICAgICAwLjAwMTQg
IDg1ODEuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGJ5aWQtc2VsZmxpc3Q+fjExCjEgICAg
ICAgICAwLjAwMTQgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGJ5aWQtc2VsZmxp
c3Q+fjE1CjEgICAgICAgICAwLjAwMTQgIDg1ODEuam8gICAgICAgICAgICAgICAgICA8aml0LWdl
dGJ5aWQtc2VsZmxpc3Q+fjE3CjEgICAgICAgICAwLjAwMTQgIDg1ODEuam8gICAgICAgICAgICAg
ICAgICA8aml0LWdldGJ5aWQtc2VsZmxpc3Q+fjcKMSAgICAgICAgIDAuMDAxNCAgODU4MS5qbyAg
ICAgICAgICAgICAgICAgIDxqaXQtcHJvZz5bcmVzb3VyY2VzL3N1bnNwaWRlci1zdGFuZGFsb25l
LWRyaXZlci5qczoxLTU2XQoxICAgICAgICAgMC4wMDE0ICA4NTgxLmpvICAgICAgICAgICAgICAg
ICAgPGppdC15YXJyPn4yMgoxICAgICAgICAgMC4wMDE0ICA4NTgxLmpvICAgICAgICAgICAgICAg
ICAgPGppdC15YXJyPn4yNQoxICAgICAgICAgMC4wMDE0ICA4NTgxLmpvICAgICAgICAgICAgICAg
ICAgPGpzLWV2YWw+fjEKMSAgICAgICAgIDAuMDAxNCAgODU4NS5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz46QUVTRGVjcnlwdEN0clt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1hZXMu
anM6MjMwLTI3NF0KMSAgICAgICAgIDAuMDAxNCAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZnVuYz46Q2FsY05vcm1hbFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6NzgtODld
CjEgICAgICAgICAwLjAwMTQgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OlJv
dGF0ZVlbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE1OC0xNzBdCjEgICAgICAgICAw
LjAwMTQgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmFkZFt0ZXN0cy9zdW5z
cGlkZXItMC45LzNkLXJheXRyYWNlLmpzOjY3LTY5XQoxICAgICAgICAgMC4wMDE0ICA4NTg1Lmpv
ICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpiaXRfcm9sW3Rlc3RzL3N1bnNwaWRlci0wLjkv
Y3J5cHRvLW1kNS5qczoxOTMtMTk1XQoxICAgICAgICAgMC4wMDE0ICA4NTg1LmpvICAgICAgICAg
ICAgICAgICAgPGppdC1mdW5jPjpkW3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQtdG9m
dGUuanM6NzAtNzRdCjEgICAgICAgICAwLjAwMTQgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8
aml0LWZ1bmM+OmdbdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC10b2Z0ZS5qczo4My04
Nl0KMSAgICAgICAgIDAuMDAxNCAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46
aVt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjEwOC0xMTJdCjEgICAg
ICAgICAwLjAwMTQgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmxbdGVzdHMv
c3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC10b2Z0ZS5qczoxMTctMTIwXQoxICAgICAgICAgMC4w
MDE0ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpub3JtYWxpc2VWZWN0b3Jb
dGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczo1OS02NV0KMSAgICAgICAgIDAuMDAx
NCAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c2NhbGVWZWN0b3JbdGVzdHMv
c3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczo1Mi01N10KMSAgICAgICAgIDAuMDAxNCAgODU4
NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c2hhMV9rdFt0ZXN0cy9zdW5zcGlkZXIt
MC45L2NyeXB0by1zaGExLmpzOjEwMC0xMDNdCjEgICAgICAgICAwLjAwMTQgIDg1ODUuam8gICAg
ICAgICAgICAgICAgICA8aml0LWZ1bmM+OnN1Ylt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRy
YWNlLmpzOjcxLTczXQoxICAgICAgICAgMC4wMDE0ICA4NTg1LmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczozMC0z
MF0lMTAwCjEgICAgICAgICAwLjAwMTQgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1
bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXVucGFjay1jb2RlLmpzOjY2LTY2XQoxICAg
ICAgICAgMC4wMDE0ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9z
dW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczo2Ni02Nl1+MQoxICAgICAgICAgMC4w
MDE0ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRieWlkLXByb3RvPn4xMwoxICAg
ICAgICAgMC4wMDE0ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRieWlkLXByb3Rv
Pn4xNAoxICAgICAgICAgMC4wMDE0ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRi
eWlkLXByb3RvPn4yCjEgICAgICAgICAwLjAwMTQgIDg1ODUuam8gICAgICAgICAgICAgICAgICA8
aml0LWdldGJ5aWQtcHJvdG8+fjcKMSAgICAgICAgIDAuMDAxNCAgODU4NS5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZ2V0YnlpZC1wcm90bz5+OQoxICAgICAgICAgMC4wMDE0ICA4NTg1LmpvICAg
ICAgICAgICAgICAgICAgPGppdC1nZXRieWlkLXNlbGZsaXN0Pn4xMQoxICAgICAgICAgMC4wMDE0
ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRieWlkLXNlbGZsaXN0Pn4xNAoxICAg
ICAgICAgMC4wMDE0ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRieWlkLXNlbGZs
aXN0Pn4xOQoxICAgICAgICAgMC4wMDE0ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC1n
ZXRieWlkLXNlbGZsaXN0Pn43CjEgICAgICAgICAwLjAwMTQgIDg1ODUuam8gICAgICAgICAgICAg
ICAgICA8aml0LXByb2c+W3Jlc291cmNlcy9zdW5zcGlkZXItc3RhbmRhbG9uZS1kcml2ZXIuanM6
MS01Nl0KMSAgICAgICAgIDAuMDAxNCAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQteWFy
cj5+MQoxICAgICAgICAgMC4wMDE0ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJy
Pn4xOAoxICAgICAgICAgMC4wMDE0ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJy
Pn4yNAoxICAgICAgICAgMC4wMDE0ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJy
Pn4yNQoxICAgICAgICAgMC4wMDE0ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJy
Pn4yNgoxICAgICAgICAgMC4wMDE0ICA4NTg1LmpvICAgICAgICAgICAgICAgICAgPGpzLWV2YWw+
fjMKMSAgICAgICAgIDAuMDAxNCAgODU4NS5qbyAgICAgICAgICAgICAgICAgIDxqcy1ldmFsPn42
CjEgICAgICAgICAwLjAwMTQgIDg1ODkuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OkFF
U0VuY3J5cHRDdHJbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tYWVzLmpzOjE2NC0yMjBdCjEg
ICAgICAgICAwLjAwMTQgIDg1ODkuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OkNyZWF0
ZVBbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjkxLTkzXQoxICAgICAgICAgMC4wMDE0
ICA4NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpLZXlFeHBhbnNpb25bdGVzdHMv
c3Vuc3BpZGVyLTAuOS9jcnlwdG8tYWVzLmpzOjgzLTEwOV0KMSAgICAgICAgIDAuMDAxNCAgODU4
OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Um90YXRlWFt0ZXN0cy9zdW5zcGlkZXIt
MC45LzNkLWN1YmUuanM6MTQ0LTE1Nl0KMSAgICAgICAgIDAuMDAxNCAgODU4OS5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz46Um90YXRlWlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUu
anM6MTcyLTE4NF0KMSAgICAgICAgIDAuMDAxNCAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZnVuYz46VHJhbnNsYXRlW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoxMzQtMTQy
XQoxICAgICAgICAgMC4wMDE0ICA4NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjph
ZGRbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczo2Ny02OV0KMSAgICAgICAgIDAu
MDAxNCAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Y29yZGljW3Rlc3RzL3N1
bnNwaWRlci0wLjkvbWF0aC1jb3JkaWMuanM6ODMtOTNdCjEgICAgICAgICAwLjAwMTQgIDg1ODku
am8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmNyZWF0ZVZlY3Rvclt0ZXN0cy9zdW5zcGlk
ZXItMC45LzNkLXJheXRyYWNlLmpzOjI2LTI4XQoxICAgICAgICAgMC4wMDE0ICA4NTg5LmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPjppW3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3Jt
YXQtdG9mdGUuanM6MTA4LTExMl0KMSAgICAgICAgIDAuMDAxNCAgODU4OS5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZnVuYz46bGVuZ3RoVmVjdG9yW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5
dHJhY2UuanM6MzQtMzZdCjEgICAgICAgICAwLjAwMTQgIDg1ODkuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+Om1bdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC10b2Z0ZS5qczox
MzQtMTM5XQoxICAgICAgICAgMC4wMDE0ICA4NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPjptZDVfZ2dbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tbWQ1LmpzOjE0Ny0xNDldCjEg
ICAgICAgICAwLjAwMTQgIDg1ODkuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Om1kNV9p
aVt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1tZDUuanM6MTU1LTE1N10KMSAgICAgICAgIDAu
MDAxNCAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c2hhMV9rdFt0ZXN0cy9z
dW5zcGlkZXItMC45L2NyeXB0by1zaGExLmpzOjEwMC0xMDNdCjEgICAgICAgICAwLjAwMTQgIDg1
ODkuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvYWNj
ZXNzLW5ib2R5LmpzOjEyOC0xNTJdCjEgICAgICAgICAwLjAwMTQgIDg1ODkuam8gICAgICAgICAg
ICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXVucGFjay1jb2Rl
LmpzOjMwLTMwXSUxMDAKMSAgICAgICAgIDAuMDAxNCAgODU4OS5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNvZGUuanM6NTEt
NTFdCjEgICAgICAgICAwLjAwMTQgIDg1ODkuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXVucGFjay1jb2RlLmpzOjY2LTY2XQoxICAgICAg
ICAgMC4wMDE0ICA4NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRhcnJheWxlbmd0aD5+
MTgKMSAgICAgICAgIDAuMDAxNCAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YXJy
YXlsZW5ndGg+fjIKMSAgICAgICAgIDAuMDAxNCAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZ2V0YXJyYXlsZW5ndGg+fjIzCjEgICAgICAgICAwLjAwMTQgIDg1ODkuam8gICAgICAgICAg
ICAgICAgICA8aml0LWdldGFycmF5bGVuZ3RoPn4zCjEgICAgICAgICAwLjAwMTQgIDg1ODkuam8g
ICAgICAgICAgICAgICAgICA8aml0LWdldGJ5aWQtcHJvdG8+fjE0CjEgICAgICAgICAwLjAwMTQg
IDg1ODkuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGJ5aWQtcHJvdG8+fjIKMSAgICAgICAg
IDAuMDAxNCAgODU4OS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YnlpZC1wcm90bz5+Nwox
ICAgICAgICAgMC4wMDE0ICA4NTg5LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRieWlkLXBy
b3RvPn45CjEgICAgICAgICAwLjAwMTQgIDg1ODkuam8gICAgICAgICAgICAgICAgICA8aml0LWdl
dGJ5aWQtc2VsZmxpc3Q+fjExCjEgICAgICAgICAwLjAwMTQgIDg1ODkuam8gICAgICAgICAgICAg
ICAgICA8aml0LWdldGJ5aWQtc2VsZmxpc3Q+fjE2CjEgICAgICAgICAwLjAwMTQgIDg1ODkuam8g
ICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjIyCjEgICAgICAgICAwLjAwMTQgIDg1ODkuam8g
ICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjI2CjEgICAgICAgICAwLjAwMTQgIDg1ODkuam8g
ICAgICAgICAgICAgICAgICA8anMtZXZhbD5+MgoxICAgICAgICAgMC4wMDE0ICA4NTg5LmpvICAg
ICAgICAgICAgICAgICAgPGpzLWV2YWw+fjQKMSAgICAgICAgIDAuMDAxNCAgODU5My5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtZnVuYz46Q2lwaGVyW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRv
LWFlcy5qczoxMy0zNl0KMSAgICAgICAgIDAuMDAxNCAgODU5My5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz46SW5pdFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MjUxLTMyNF0K
MSAgICAgICAgIDAuMDAxNCAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Um90
YXRlWVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTU4LTE3MF0KMSAgICAgICAgIDAu
MDAxNCAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46VGltZUZ1bmNbdGVzdHMv
c3Vuc3BpZGVyLTAuOS9iaXRvcHMtM2JpdC1iaXRzLWluLWJ5dGUuanM6MjYtMzBdCjEgICAgICAg
ICAwLjAwMTQgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmFkZFt0ZXN0cy9z
dW5zcGlkZXItMC45LzNkLXJheXRyYWNlLmpzOjY3LTY5XQoxICAgICAgICAgMC4wMDE0ICA4NTkz
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjphcnJheVRvQ2FudmFzQ29tbWFuZHNbdGVz
dHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczo0MDYtNDM5XQoxICAgICAgICAgMC4wMDE0
ICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpnW3Rlc3RzL3N1bnNwaWRlci0w
LjkvZGF0ZS1mb3JtYXQtdG9mdGUuanM6ODMtODZdCjEgICAgICAgICAwLjAwMTQgIDg1OTMuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OmlbdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZv
cm1hdC10b2Z0ZS5qczoxMDgtMTEyXQoxICAgICAgICAgMC4wMDE0ICA4NTkzLmpvICAgICAgICAg
ICAgICAgICAgPGppdC1mdW5jPjpsW3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQtdG9m
dGUuanM6MTE3LTEyMF0KMSAgICAgICAgIDAuMDAxNCAgODU5My5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz46bWQ1X2hoW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLW1kNS5qczoxNTEt
MTUzXQoxICAgICAgICAgMC4wMDE0ICA4NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5j
PjpyYXl0cmFjZVNjZW5lW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6MzE0LTQw
M10KMSAgICAgICAgIDAuMDAxNCAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46
c2NhbGV2W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6NzUtNzddCjEgICAgICAg
ICAwLjAwMTQgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnNwZWN0cmFsbm9y
bVt0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtc3BlY3RyYWwtbm9ybS5qczozMy00N10KMSAgICAg
ICAgIDAuMDAxNCAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vu
c3BpZGVyLTAuOS9hY2Nlc3MtbmJvZHkuanM6MTI4LTE1Ml0KMSAgICAgICAgIDAuMDAxNCAgODU5
My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9hY2Nl
c3MtbmJvZHkuanM6MTU3LTE2OF0KMSAgICAgICAgIDAuMDAxNCAgODU5My5qbyAgICAgICAgICAg
ICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNvZGUu
anM6NjYtNjZdCjEgICAgICAgICAwLjAwMTQgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0
LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXVucGFjay1jb2RlLmpzOjY2LTY2XX4x
CjEgICAgICAgICAwLjAwMTQgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rl
c3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXVucGFjay1jb2RlLmpzOjY2LTY2XX4zCjEgICAgICAg
ICAwLjAwMTQgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGFycmF5bGVuZ3RoPn4z
CjEgICAgICAgICAwLjAwMTQgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGJ5aWQt
cHJvdG8+fjEzCjEgICAgICAgICAwLjAwMTQgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0
LWdldGJ5aWQtcHJvdG8+fjE0CjEgICAgICAgICAwLjAwMTQgIDg1OTMuam8gICAgICAgICAgICAg
ICAgICA8aml0LWdldGJ5aWQtcHJvdG8+fjcKMSAgICAgICAgIDAuMDAxNCAgODU5My5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtZ2V0YnlpZC1zZWxmbGlzdD5+MTcKMSAgICAgICAgIDAuMDAxNCAg
ODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YnlpZC1zZWxmbGlzdD5+MjMKMSAgICAg
ICAgIDAuMDAxNCAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxqaXQtcHJvZz5bcmVzb3VyY2Vz
L3N1bnNwaWRlci1zdGFuZGFsb25lLWRyaXZlci5qczoxLTU2XQoxICAgICAgICAgMC4wMDE0ICA4
NTkzLmpvICAgICAgICAgICAgICAgICAgPGppdC1wdXRieWlkLXRyYW5zaXRpb24+fjIxCjEgICAg
ICAgICAwLjAwMTQgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjIwCjEgICAg
ICAgICAwLjAwMTQgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjIyCjEgICAg
ICAgICAwLjAwMTQgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjI2CjEgICAg
ICAgICAwLjAwMTQgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8aml0LXlhcnI+fjI3CjEgICAg
ICAgICAwLjAwMTQgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8anMtZXZhbD4KMSAgICAgICAg
IDAuMDAxNCAgODU5My5qbyAgICAgICAgICAgICAgICAgIDxqcy1ldmFsPn4yCjEgICAgICAgICAw
LjAwMTQgIDg1OTMuam8gICAgICAgICAgICAgICAgICA8anMtZXZhbD5+OAoxICAgICAgICAgMC4w
MDE0ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpBRVNEZWNyeXB0Q3RyW3Rl
c3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5qczoyMzAtMjc0XQoxICAgICAgICAgMC4wMDE0
ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpBRVNFbmNyeXB0Q3RyW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvY3J5cHRvLWFlcy5qczoxNjQtMjIwXQoxICAgICAgICAgMC4wMDE0ICA4
NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpBW3Rlc3RzL3N1bnNwaWRlci0wLjkv
ZGF0ZS1mb3JtYXQtdG9mdGUuanM6NDktNTJdCjEgICAgICAgICAwLjAwMTQgIDg1OTcuam8gICAg
ICAgICAgICAgICAgICA8aml0LWZ1bmM+OkZbdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1h
dC10b2Z0ZS5qczo3OS04Ml0KMSAgICAgICAgIDAuMDAxNCAgODU5Ny5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz46VHJhbnNsYXRlW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczox
MzQtMTQyXQoxICAgICAgICAgMC4wMDE0ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPjpUcmlhbmdsZVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNlLmpzOjEyNS0xNThd
CjEgICAgICAgICAwLjAwMTQgIDg1OTcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Ollb
dGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC10b2Z0ZS5qczoyMzEtMjUyXQoxICAgICAg
ICAgMC4wMDE0ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjphZGRbdGVzdHMv
c3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczo2Ny02OV0KMSAgICAgICAgIDAuMDAxNCAgODU5
Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Yml0X3JvbFt0ZXN0cy9zdW5zcGlkZXIt
MC45L2NyeXB0by1tZDUuanM6MTkzLTE5NV0KMSAgICAgICAgIDAuMDAxNCAgODU5Ny5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtZnVuYz46Y29yZV9tZDVbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlw
dG8tbWQ1LmpzOjQxLTEzM10KMSAgICAgICAgIDAuMDAxNCAgODU5Ny5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZnVuYz46ZG90W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6Nzkt
ODFdCjEgICAgICAgICAwLjAwMTQgIDg1OTcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
OmlbdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC10b2Z0ZS5qczoxMDgtMTEyXQoxICAg
ICAgICAgMC4wMDE0ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpsW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQtdG9mdGUuanM6MTE3LTEyMF0KMSAgICAgICAgIDAu
MDAxNCAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46bVt0ZXN0cy9zdW5zcGlk
ZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjEzNC0xMzldCjEgICAgICAgICAwLjAwMTQgIDg1
OTcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+Om1kNV9nZ1t0ZXN0cy9zdW5zcGlkZXIt
MC45L2NyeXB0by1tZDUuanM6MTQ3LTE0OV0KMSAgICAgICAgIDAuMDAxNCAgODU5Ny5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtZnVuYz46bWQ1X2lpW3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRv
LW1kNS5qczoxNTUtMTU3XQoxICAgICAgICAgMC4wMDE0ICA4NTk3LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjpzW3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQtdG9mdGUuanM6
MTcwLTE3NF0KMSAgICAgICAgIDAuMDAxNCAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46c2NhbGV2W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6NzUtNzddCjEg
ICAgICAgICAwLjAwMTQgIDg1OTcuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnNoYTFf
a3RbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tc2hhMS5qczoxMDAtMTAzXQoxICAgICAgICAg
MC4wMDE0ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlk
ZXItMC45LzNkLXJheXRyYWNlLmpzOjI4My0yOTBdCjEgICAgICAgICAwLjAwMTQgIDg1OTcuam8g
ICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXRh
Z2Nsb3VkLmpzOjIyOS0yMjldCjEgICAgICAgICAwLjAwMTQgIDg1OTcuam8gICAgICAgICAgICAg
ICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkvc3RyaW5nLXVucGFjay1jb2RlLmpz
OjE2LTE2XQoxICAgICAgICAgMC4wMDE0ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczo2Ni02Nl1+MQox
ICAgICAgICAgMC4wMDE0ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRhcnJheWxl
bmd0aD5+MTcKMSAgICAgICAgIDAuMDAxNCAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
Z2V0YXJyYXlsZW5ndGg+fjE4CjEgICAgICAgICAwLjAwMTQgIDg1OTcuam8gICAgICAgICAgICAg
ICAgICA8aml0LWdldGFycmF5bGVuZ3RoPn4yCjEgICAgICAgICAwLjAwMTQgIDg1OTcuam8gICAg
ICAgICAgICAgICAgICA8aml0LWdldGFycmF5bGVuZ3RoPn4yMAoxICAgICAgICAgMC4wMDE0ICA4
NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRhcnJheWxlbmd0aD5+MjIKMSAgICAgICAg
IDAuMDAxNCAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YnlpZC1wcm90bz5+MTMK
MSAgICAgICAgIDAuMDAxNCAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YnlpZC1w
cm90bz5+MTQKMSAgICAgICAgIDAuMDAxNCAgODU5Ny5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
Z2V0YnlpZC1zZWxmbGlzdD5+NwoxICAgICAgICAgMC4wMDE0ICA4NTk3LmpvICAgICAgICAgICAg
ICAgICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpz
OjEtMjk4XQoxICAgICAgICAgMC4wMDE0ICA4NTk3LmpvICAgICAgICAgICAgICAgICAgPGppdC1w
dXRieWlkLXRyYW5zaXRpb24+fjIwCjEgICAgICAgICAwLjAwMTQgIDg1OTcuam8gICAgICAgICAg
ICAgICAgICA8aml0LXB1dGJ5aWQtdHJhbnNpdGlvbj5+NwoxICAgICAgICAgMC4wMDE0ICA4NTk3
LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4xOAoxICAgICAgICAgMC4wMDE0ICA4NTk3
LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4yMgoxICAgICAgICAgMC4wMDE0ICA4NTk3
LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4yNgoxICAgICAgICAgMC4wMDE0ICA4NTk3
LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4yNwoxICAgICAgICAgMC4wMDE0ICA4NjAx
LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpBRVNFbmNyeXB0Q3RyW3Rlc3RzL3N1bnNw
aWRlci0wLjkvY3J5cHRvLWFlcy5qczoxNjQtMjIwXQoxICAgICAgICAgMC4wMDE0ICA4NjAxLmpv
ICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpJbml0W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2Qt
Y3ViZS5qczoyNTEtMzI0XQoxICAgICAgICAgMC4wMDE0ICA4NjAxLmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjpLZXlFeHBhbnNpb25bdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tYWVz
LmpzOjgzLTEwOV0KMSAgICAgICAgIDAuMDAxNCAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxq
aXQtZnVuYz46TG9vcFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MjMyLTI0OV0KMSAg
ICAgICAgIDAuMDAxNCAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46Um90YXRl
Wlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTcyLTE4NF0KMSAgICAgICAgIDAuMDAx
NCAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46VHJhbnNsYXRlW3Rlc3RzL3N1
bnNwaWRlci0wLjkvM2QtY3ViZS5qczoxMzQtMTQyXQoxICAgICAgICAgMC4wMDE0ICA4NjAxLmpv
ICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpZW3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1m
b3JtYXQtdG9mdGUuanM6MjMxLTI1Ml0KMSAgICAgICAgIDAuMDAxNCAgODYwMS5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz46YWRkW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2Uu
anM6NjctNjldCjEgICAgICAgICAwLjAwMTQgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0
LWZ1bmM+OmFycmF5VG9DYW52YXNDb21tYW5kc1t0ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRy
YWNlLmpzOjQwNi00MzldCjEgICAgICAgICAwLjAwMTQgIDg2MDEuam8gICAgICAgICAgICAgICAg
ICA8aml0LWZ1bmM+OmNvcmRpY1t0ZXN0cy9zdW5zcGlkZXItMC45L21hdGgtY29yZGljLmpzOjgz
LTkzXQoxICAgICAgICAgMC4wMDE0ICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5j
Pjpjb3JlX21kNVt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1tZDUuanM6NDEtMTMzXQoxICAg
ICAgICAgMC4wMDE0ICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpjcm9zc1t0
ZXN0cy9zdW5zcGlkZXItMC45LzNkLXJheXRyYWNlLmpzOjg3LTkyXQoxICAgICAgICAgMC4wMDE0
ICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpkb3RbdGVzdHMvc3Vuc3BpZGVy
LTAuOS8zZC1yYXl0cmFjZS5qczo3OS04MV0KMSAgICAgICAgIDAuMDAxNCAgODYwMS5qbyAgICAg
ICAgICAgICAgICAgIDxqaXQtZnVuYz46bGVuZ3RoVmVjdG9yW3Rlc3RzL3N1bnNwaWRlci0wLjkv
M2QtcmF5dHJhY2UuanM6MzQtMzZdCjEgICAgICAgICAwLjAwMTQgIDg2MDEuam8gICAgICAgICAg
ICAgICAgICA8aml0LWZ1bmM+Om1bdGVzdHMvc3Vuc3BpZGVyLTAuOS9kYXRlLWZvcm1hdC10b2Z0
ZS5qczoxMzQtMTM5XQoxICAgICAgICAgMC4wMDE0ICA4NjAxLmpvICAgICAgICAgICAgICAgICAg
PGppdC1mdW5jPjptZDVfZ2dbdGVzdHMvc3Vuc3BpZGVyLTAuOS9jcnlwdG8tbWQ1LmpzOjE0Ny0x
NDldCjEgICAgICAgICAwLjAwMTQgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+
Om1kNV9paVt0ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1tZDUuanM6MTU1LTE1N10KMSAgICAg
ICAgIDAuMDAxNCAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46c2NhbGV2W3Rl
c3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJhY2UuanM6NzUtNzddCjEgICAgICAgICAwLjAwMTQg
IDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+W3Rlc3RzL3N1bnNwaWRlci0wLjkv
M2QtcmF5dHJhY2UuanM6MjgzLTI5MF0KMSAgICAgICAgIDAuMDAxNCAgODYwMS5qbyAgICAgICAg
ICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczoz
NTctMzcwXQoxICAgICAgICAgMC4wMDE0ICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L2FjY2Vzcy1uYm9keS5qczoxMjgtMTUyXQoxICAgICAg
ICAgMC4wMDE0ICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5z
cGlkZXItMC45L2RhdGUtZm9ybWF0LXhwYXJiLmpzOjI2LTQ2XQoxICAgICAgICAgMC4wMDE0ICA4
NjAxLmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0
cmluZy10YWdjbG91ZC5qczoyMjktMjI5XQoxICAgICAgICAgMC4wMDE0ICA4NjAxLmpvICAgICAg
ICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2st
Y29kZS5qczoxNi0xNl0KMSAgICAgICAgIDAuMDAxNCAgODYwMS5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS9zdHJpbmctdW5wYWNrLWNvZGUuanM6MzAt
MzBdJTEwMAoxICAgICAgICAgMC4wMDE0ICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGppdC1m
dW5jPlt0ZXN0cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczo2Ni02Nl1+MQox
ICAgICAgICAgMC4wMDE0ICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRhcnJheWxl
bmd0aD5+MTIKMSAgICAgICAgIDAuMDAxNCAgODYwMS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
Z2V0YXJyYXlsZW5ndGg+fjYKMSAgICAgICAgIDAuMDAxNCAgODYwMS5qbyAgICAgICAgICAgICAg
ICAgIDxqaXQtZ2V0YnlpZC1wcm90bz5+NQoxICAgICAgICAgMC4wMDE0ICA4NjAxLmpvICAgICAg
ICAgICAgICAgICAgPGppdC1nZXRieWlkLXByb3RvPn45CjEgICAgICAgICAwLjAwMTQgIDg2MDEu
am8gICAgICAgICAgICAgICAgICA8aml0LWdldGJ5aWQtc2VsZmxpc3Q+fjExCjEgICAgICAgICAw
LjAwMTQgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGJ5aWQtc2VsZmxpc3Q+fjE0
CjEgICAgICAgICAwLjAwMTQgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGJ5aWQt
c2VsZmxpc3Q+fjE3CjEgICAgICAgICAwLjAwMTQgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8
aml0LWdldGJ5aWQtc2VsZmxpc3Q+fjE5CjEgICAgICAgICAwLjAwMTQgIDg2MDEuam8gICAgICAg
ICAgICAgICAgICA8aml0LWdldGJ5aWQtc2VsZmxpc3Q+fjgKMSAgICAgICAgIDAuMDAxNCAgODYw
MS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtcHJvZz5bcmVzb3VyY2VzL3N1bnNwaWRlci1zdGFu
ZGFsb25lLWRyaXZlci5qczoxLTU2XQoxICAgICAgICAgMC4wMDE0ICA4NjAxLmpvICAgICAgICAg
ICAgICAgICAgPGppdC1wcm9nPlt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXRvZnRl
LmpzOjEtMjk4XQoxICAgICAgICAgMC4wMDE0ICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGpp
dC15YXJyPn4yMAoxICAgICAgICAgMC4wMDE0ICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGpp
dC15YXJyPn4yNgoxICAgICAgICAgMC4wMDE0ICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGpz
LWV2YWw+CjEgICAgICAgICAwLjAwMTQgIDg2MDEuam8gICAgICAgICAgICAgICAgICA8anMtZXZh
bD5+NAoxICAgICAgICAgMC4wMDE0ICA4NjAxLmpvICAgICAgICAgICAgICAgICAgPGpzLWV2YWw+
fjcKMSAgICAgICAgIDAuMDAxNCAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46
Q3JlYXRlUFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6OTEtOTNdCjEgICAgICAgICAw
LjAwMTQgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OktleUV4cGFuc2lvblt0
ZXN0cy9zdW5zcGlkZXItMC45L2NyeXB0by1hZXMuanM6ODMtMTA5XQoxICAgICAgICAgMC4wMDE0
ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjpSb3RhdGVZW3Rlc3RzL3N1bnNw
aWRlci0wLjkvM2QtY3ViZS5qczoxNTgtMTcwXQoxICAgICAgICAgMC4wMDE0ICA4NjA1LmpvICAg
ICAgICAgICAgICAgICAgPGppdC1mdW5jPjpSb3RhdGVaW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2Qt
Y3ViZS5qczoxNzItMTg0XQoxICAgICAgICAgMC4wMDE0ICA4NjA1LmpvICAgICAgICAgICAgICAg
ICAgPGppdC1mdW5jPjpZW3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQtdG9mdGUuanM6
MjMxLTI1Ml0KMSAgICAgICAgIDAuMDAxNCAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQt
ZnVuYz46YXJyYXlUb0NhbnZhc0NvbW1hbmRzW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtcmF5dHJh
Y2UuanM6NDA2LTQzOV0KMSAgICAgICAgIDAuMDAxNCAgODYwNS5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz46ZFt0ZXN0cy9zdW5zcGlkZXItMC45L2RhdGUtZm9ybWF0LXRvZnRlLmpzOjcw
LTc0XQoxICAgICAgICAgMC4wMDE0ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5j
PjptW3Rlc3RzL3N1bnNwaWRlci0wLjkvZGF0ZS1mb3JtYXQtdG9mdGUuanM6MTM0LTEzOV0KMSAg
ICAgICAgIDAuMDAxNCAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46bWQ1X2Zm
W3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLW1kNS5qczoxNDMtMTQ1XQoxICAgICAgICAgMC4w
MDE0ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPjptZDVfaGhbdGVzdHMvc3Vu
c3BpZGVyLTAuOS9jcnlwdG8tbWQ1LmpzOjE1MS0xNTNdCjEgICAgICAgICAwLjAwMTQgIDg2MDUu
am8gICAgICAgICAgICAgICAgICA8aml0LWZ1bmM+OnNjYWxldlt0ZXN0cy9zdW5zcGlkZXItMC45
LzNkLXJheXRyYWNlLmpzOjc1LTc3XQoxICAgICAgICAgMC4wMDE0ICA4NjA1LmpvICAgICAgICAg
ICAgICAgICAgPGppdC1mdW5jPjpzaGExX2t0W3Rlc3RzL3N1bnNwaWRlci0wLjkvY3J5cHRvLXNo
YTEuanM6MTAwLTEwM10KMSAgICAgICAgIDAuMDAxNCAgODYwNS5qbyAgICAgICAgICAgICAgICAg
IDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1yYXl0cmFjZS5qczozNTctMzcwXQox
ICAgICAgICAgMC4wMDE0ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1mdW5jPlt0ZXN0
cy9zdW5zcGlkZXItMC45L3N0cmluZy11bnBhY2stY29kZS5qczozMC0zMF0KMSAgICAgICAgIDAu
MDAxNCAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz5bdGVzdHMvc3Vuc3BpZGVy
LTAuOS9zdHJpbmctdW5wYWNrLWNvZGUuanM6MzAtMzBdJTEwMAoxICAgICAgICAgMC4wMDE0ICA4
NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRhcnJheWxlbmd0aD5+MTYKMSAgICAgICAg
IDAuMDAxNCAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YXJyYXlsZW5ndGg+fjE3
CjEgICAgICAgICAwLjAwMTQgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGFycmF5
bGVuZ3RoPn4xOAoxICAgICAgICAgMC4wMDE0ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGpp
dC1nZXRhcnJheWxlbmd0aD5+MgoxICAgICAgICAgMC4wMDE0ICA4NjA1LmpvICAgICAgICAgICAg
ICAgICAgPGppdC1nZXRhcnJheWxlbmd0aD5+OQoxICAgICAgICAgMC4wMDE0ICA4NjA1LmpvICAg
ICAgICAgICAgICAgICAgPGppdC1nZXRieWlkLXByb3RvPn43CjEgICAgICAgICAwLjAwMTQgIDg2
MDUuam8gICAgICAgICAgICAgICAgICA8aml0LWdldGJ5aWQtcHJvdG8+fjgKMSAgICAgICAgIDAu
MDAxNCAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZ2V0YnlpZC1wcm90bz5+OQoxICAg
ICAgICAgMC4wMDE0ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1nZXRieWlkLXNlbGZs
aXN0Pn4xMwoxICAgICAgICAgMC4wMDE0ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC1w
dXRieWlkLXRyYW5zaXRpb24+fjE5CjEgICAgICAgICAwLjAwMTQgIDg2MDUuam8gICAgICAgICAg
ICAgICAgICA8aml0LXB1dGJ5aWQtdHJhbnNpdGlvbj5+MjAKMSAgICAgICAgIDAuMDAxNCAgODYw
NS5qbyAgICAgICAgICAgICAgICAgIDxqaXQtcHV0YnlpZC10cmFuc2l0aW9uPn4yMQoxICAgICAg
ICAgMC4wMDE0ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGppdC15YXJyPn4xOAoxICAgICAg
ICAgMC4wMDE0ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGpzLWV2YWw+fjEKMSAgICAgICAg
IDAuMDAxNCAgODYwNS5qbyAgICAgICAgICAgICAgICAgIDxqcy1ldmFsPn4yCjEgICAgICAgICAw
LjAwMTQgIDg2MDUuam8gICAgICAgICAgICAgICAgICA8anMtZXZhbD5+MwoxICAgICAgICAgMC4w
MDE0ICA4NjA1LmpvICAgICAgICAgICAgICAgICAgPGpzLWV2YWw+fjgKMSAgICAgICAgIDAuMDAx
NCAgODYwOC5qbyAgICAgICAgICAgICAgICAgIDxqaXQtZnVuYz46aW5pdGlhbGl6ZVtyZXNvdXJj
ZXMvc3Vuc3BpZGVyLWFuYWx5emUtcmVzdWx0cy5qczo0OC04M10lMTAwCjEgICAgICAgICAwLjAw
MTQgIDg2MDguam8gICAgICAgICAgICAgICAgICA8aml0LXByb2c+W3N1bnNwaWRlci0wLjktcmVz
dWx0cy9zdW5zcGlkZXItcmVzdWx0cy0yMDEwLTAzLTE3LTA1LjE4LjAxLmpzOjEtMjgyXSMxIzEj
MSMxIzEjMSMxJTEwMAoxICAgICAgICAgMC4wMDE0ICBbaGVhcF0gKHRnaWQ6ODU4OSByYW5nZTow
eDFiMzAwMC0weDIwNjAwMCkgW2hlYXBdICh0Z2lkOjg1ODkgcmFuZ2U6MHgxYjMwMDAtMHgyMDYw
MDApCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBHbG9iYWxPYmpl
Y3Q6Okdsb2JhbE9iamVjdChXVEY6OlZlY3RvcjxKU0M6OlVTdHJpbmcsIDB1PiBjb25zdCYpCjEg
ICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKSVRTdHViVGh1bmtlZF9v
cF9nZXRfYnlfaWRfbWV0aG9kX2NoZWNrCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1h
bm5vdGF0ZSAgICBKSVRTdHViVGh1bmtlZF9vcF9pc19vYmplY3QKMSAgICAgICAgIDAuMDAxNCAg
anNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6QWJzdHJhY3RNYWNyb0Fzc2VtYmxlcjxKU0M6
OkFSTUFzc2VtYmxlcj46Okp1bXBMaXN0Ojp+SnVtcExpc3QoKQoxICAgICAgICAgMC4wMDE0ICBq
c2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpBcnJheU5vZGU6OmlzU2ltcGxlQXJyYXkoKSBj
b25zdAoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpBc3Nl
bWJsZXJCdWZmZXI6OnB1dEludChpbnQpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1h
bm5vdGF0ZSAgICBKU0M6OkFzc2VtYmxlckJ1ZmZlcldpdGhDb25zdGFudFBvb2w8MjA0OCwgNCwg
NCwgSlNDOjpBUk1Bc3NlbWJsZXI+OjpwdXRJbnRXaXRoQ29uc3RhbnRJbnQodW5zaWduZWQgaW50
LCB1bnNpZ25lZCBpbnQsIGJvb2wpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5v
dGF0ZSAgICBKU0M6OkJpbmFyeU9wTm9kZTo6ZW1pdFN0cmNhdChKU0M6OkJ5dGVjb2RlR2VuZXJh
dG9yJiwgSlNDOjpSZWdpc3RlcklEKiwgSlNDOjpSZWdpc3RlcklEKiwgSlNDOjpSZWFkTW9kaWZ5
UmVzb2x2ZU5vZGUqKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAg
SlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdENhbGwoSlNDOjpSZWdpc3RlcklEKiwgSlNDOjpS
ZWdpc3RlcklEKiwgSlNDOjpSZWdpc3RlcklEKiwgSlNDOjpBcmd1bWVudHNOb2RlKiwgdW5zaWdu
ZWQgaW50LCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludCkKMSAgICAgICAgIDAuMDAxNCAganNj
LW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRKdW1wKEpT
Qzo6TGFiZWwqKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlND
OjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdExvYWQoSlNDOjpSZWdpc3RlcklEKiwgSlNDOjpKU1Zh
bHVlKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpCeXRl
Y29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihKU0M6OlJlZ2lzdGVySUQq
LCBKU0M6OkZ1bmNFeHByTm9kZSopCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5v
dGF0ZSAgICBKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0UHV0QnlWYWwoSlNDOjpSZWdpc3Rl
cklEKiwgSlNDOjpSZWdpc3RlcklEKiwgSlNDOjpSZWdpc3RlcklEKikKMSAgICAgICAgIDAuMDAx
NCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRS
ZXNvbHZlQmFzZShKU0M6OlJlZ2lzdGVySUQqLCBKU0M6OklkZW50aWZpZXIgY29uc3QmKQoxICAg
ICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpCeXRlY29kZUdlbmVy
YXRvcjo6ZW1pdFJldHVybihKU0M6OlJlZ2lzdGVySUQqKQoxICAgICAgICAgMC4wMDE0ICBqc2Mt
b3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFRvUHJpbWl0
aXZlKEpTQzo6UmVnaXN0ZXJJRCosIEpTQzo6UmVnaXN0ZXJJRCopCjEgICAgICAgICAwLjAwMTQg
IGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0VW5h
cnlOb0RzdE9wKEpTQzo6T3Bjb2RlSUQsIEpTQzo6UmVnaXN0ZXJJRCopCjEgICAgICAgICAwLjAw
MTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjppc0xv
Y2FsKEpTQzo6SWRlbnRpZmllciBjb25zdCYpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmls
ZS1hbm5vdGF0ZSAgICBKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjppc0xvY2FsQ29uc3RhbnQoSlND
OjpJZGVudGlmaWVyIGNvbnN0JikKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90
YXRlICAgIEpTQzo6Q1N0cmluZzo6fkNTdHJpbmcoKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3By
b2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpDYWNoZWRDYWxsOjp+Q2FjaGVkQ2FsbCgpCjEgICAgICAg
ICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkRhdGVQcm90b3R5cGU6On5E
YXRlUHJvdG90eXBlKCkKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAg
IEpTQzo6RG90QWNjZXNzb3JOb2RlOjppc0xvY2F0aW9uKCkgY29uc3QKMSAgICAgICAgIDAuMDAx
NCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6RXF1YWxOb2RlOjplbWl0Qnl0ZWNvZGUo
SlNDOjpCeXRlY29kZUdlbmVyYXRvciYsIEpTQzo6UmVnaXN0ZXJJRCopCjEgICAgICAgICAwLjAw
MTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkV2YWxDb2RlQmxvY2s6On5FdmFsQ29k
ZUJsb2NrKCkKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6
RXZhbEV4ZWN1dGFibGU6OmNvbXBpbGUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OlNjb3BlQ2hhaW5O
b2RlKikKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6RXhw
clN0YXRlbWVudE5vZGU6OmVtaXRCeXRlY29kZShKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yJiwgSlND
OjpSZWdpc3RlcklEKikKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAg
IEpTQzo6RXhwcmVzc2lvbk5vZGU6OmlzUmVzb2x2ZU5vZGUoKSBjb25zdAoxICAgICAgICAgMC4w
MDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpGb3JJbk5vZGU6OmVtaXRCeXRlY29k
ZShKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yJiwgSlNDOjpSZWdpc3RlcklEKikKMSAgICAgICAgIDAu
MDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6RnVuY3Rpb25Cb2R5Tm9kZTo6Y3Jl
YXRlKEpTQzo6SlNHbG9iYWxEYXRhKikKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFu
bm90YXRlICAgIEpTQzo6RnVuY3Rpb25Cb2R5Tm9kZTo6ZmluaXNoUGFyc2luZyhXVEY6OlBhc3NS
ZWZQdHI8SlNDOjpGdW5jdGlvblBhcmFtZXRlcnM+LCBKU0M6OklkZW50aWZpZXIgY29uc3QmKQox
ICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpGdW5jdGlvbkNv
ZGVCbG9jazo6fkZ1bmN0aW9uQ29kZUJsb2NrKCkKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9m
aWxlLWFubm90YXRlICAgIEpTQzo6R2xvYmFsQ29kZUJsb2NrOjp+R2xvYmFsQ29kZUJsb2NrKCkK
MSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SGFzaFRhYmxl
OjpjcmVhdGVUYWJsZShKU0M6OkpTR2xvYmFsRGF0YSopIGNvbnN0CjEgICAgICAgICAwLjAwMTQg
IGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6Okhhc2hUYWJsZTo6ZGVsZXRlVGFibGUoKSBj
b25zdAoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpIZWFw
OjpIZWFwKEpTQzo6SlNHbG9iYWxEYXRhKikKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxl
LWFubm90YXRlICAgIEpTQzo6SGVhcDo6Y29sbGVjdEFsbEdhcmJhZ2UoKQoxICAgICAgICAgMC4w
MDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpJZk5vZGU6OmVtaXRCeXRlY29kZShK
U0M6OkJ5dGVjb2RlR2VuZXJhdG9yJiwgSlNDOjpSZWdpc3RlcklEKikKMSAgICAgICAgIDAuMDAx
NCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SklUOjpjb21waWxlT3BDb25zdHJ1Y3RT
ZXR1cEFyZ3MoSlNDOjpJbnN0cnVjdGlvbiopCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmls
ZS1hbm5vdGF0ZSAgICBKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfYWRkKEpTQzo6SW5zdHJ1Y3Rpb24q
LCBKU0M6OlNsb3dDYXNlRW50cnkqJikKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFu
bm90YXRlICAgIEpTQzo6SklUOjplbWl0U2xvd19vcF9nZXRfYnlfaWQoSlNDOjpJbnN0cnVjdGlv
biosIEpTQzo6U2xvd0Nhc2VFbnRyeSomKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUt
YW5ub3RhdGUgICAgSlNDOjpKSVQ6OmVtaXRTbG93X29wX2dldF9ieV9wbmFtZShKU0M6Okluc3Ry
dWN0aW9uKiwgSlNDOjpTbG93Q2FzZUVudHJ5KiYpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJv
ZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpJVDo6ZW1pdFNsb3dfb3Bfam5sZXNzZXEoSlNDOjpJbnN0
cnVjdGlvbiosIEpTQzo6U2xvd0Nhc2VFbnRyeSomKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3By
b2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKSVQ6OmVtaXRTbG93X29wX21ldGhvZF9jaGVjayhKU0M6
Okluc3RydWN0aW9uKiwgSlNDOjpTbG93Q2FzZUVudHJ5KiYpCjEgICAgICAgICAwLjAwMTQgIGpz
Yy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfcHJlX2RlYyhKU0M6
Okluc3RydWN0aW9uKiwgSlNDOjpTbG93Q2FzZUVudHJ5KiYpCjEgICAgICAgICAwLjAwMTQgIGpz
Yy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfcHV0X2J5X3ZhbChK
U0M6Okluc3RydWN0aW9uKiwgSlNDOjpTbG93Q2FzZUVudHJ5KiYpCjEgICAgICAgICAwLjAwMTQg
IGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfdG9fcHJpbWl0
aXZlKEpTQzo6SW5zdHJ1Y3Rpb24qLCBKU0M6OlNsb3dDYXNlRW50cnkqJikKMSAgICAgICAgIDAu
MDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SklUOjplbWl0X29wX2JpdG9yKEpT
Qzo6SW5zdHJ1Y3Rpb24qKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUg
ICAgSlNDOjpKSVQ6OmVtaXRfb3BfY29udmVydF90aGlzKEpTQzo6SW5zdHJ1Y3Rpb24qKQoxICAg
ICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKSVQ6OmVtaXRfb3Bf
ZW5kKEpTQzo6SW5zdHJ1Y3Rpb24qKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5u
b3RhdGUgICAgSlNDOjpKSVQ6OmVtaXRfb3BfZW50ZXJfd2l0aF9hY3RpdmF0aW9uKEpTQzo6SW5z
dHJ1Y3Rpb24qKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlND
OjpKSVQ6OmVtaXRfb3BfZ2V0X2J5X3BuYW1lKEpTQzo6SW5zdHJ1Y3Rpb24qKQoxICAgICAgICAg
MC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKSVQ6OmVtaXRfb3BfamZhbHNl
KEpTQzo6SW5zdHJ1Y3Rpb24qKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3Rh
dGUgICAgSlNDOjpKSVQ6OmVtaXRfb3Bfam5lcV9udWxsKEpTQzo6SW5zdHJ1Y3Rpb24qKQoxICAg
ICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKSVQ6OmVtaXRfb3Bf
am5sZXNzKEpTQzo6SW5zdHJ1Y3Rpb24qKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUt
YW5ub3RhdGUgICAgSlNDOjpKSVQ6OmVtaXRfb3BfbmV3X2Z1bmMoSlNDOjpJbnN0cnVjdGlvbiop
CjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpJVDo6ZW1p
dF9vcF9uZXdfcmVnZXhwKEpTQzo6SW5zdHJ1Y3Rpb24qKQoxICAgICAgICAgMC4wMDE0ICBqc2Mt
b3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKSVQ6OmVtaXRfb3BfcmVzb2x2ZV9nbG9iYWwoSlND
OjpJbnN0cnVjdGlvbiopCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAg
ICBKU0M6OkpJVDo6ZW1pdF9vcF9zdHJjYXQoSlNDOjpJbnN0cnVjdGlvbiopCjEgICAgICAgICAw
LjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpJVDo6ZW1pdF9vcF90b19wcmlt
aXRpdmUoSlNDOjpJbnN0cnVjdGlvbiopCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1h
bm5vdGF0ZSAgICBKU0M6OkpJVDo6cGF0Y2hHZXRCeUlkU2VsZihKU0M6OkNvZGVCbG9jayosIEpT
Qzo6U3RydWN0dXJlU3R1YkluZm8qLCBKU0M6OlN0cnVjdHVyZSosIHVuc2lnbmVkIGludCwgSlND
OjpSZXR1cm5BZGRyZXNzUHRyKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3Rh
dGUgICAgSlNDOjpKSVQ6OnBhdGNoUHV0QnlJZFJlcGxhY2UoSlNDOjpDb2RlQmxvY2sqLCBKU0M6
OlN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDOjpTdHJ1Y3R1cmUqLCB1bnNpZ25lZCBpbnQsIEpTQzo6
UmV0dXJuQWRkcmVzc1B0cikKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRl
ICAgIEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFtcG9saW5lcyhXVEY6OlJl
ZlB0cjxKU0M6OkV4ZWN1dGFibGVQb29sPiosIEpTQzo6SlNHbG9iYWxEYXRhKiwgSlNDOjpUcmFt
cG9saW5lU3RydWN0dXJlKikKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRl
ICAgIEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byhKU0M6OlN0cnVjdHVyZVN0
dWJJbmZvKiwgSlNDOjpTdHJ1Y3R1cmUqLCBKU0M6OlN0cnVjdHVyZSosIEpTQzo6SWRlbnRpZmll
ciBjb25zdCYsIEpTQzo6UHJvcGVydHlTbG90IGNvbnN0JiwgdW5zaWduZWQgaW50LCBKU0M6OlJl
dHVybkFkZHJlc3NQdHIsIEpTQzo6RXhlY1N0YXRlKikKMSAgICAgICAgIDAuMDAxNCAganNjLW9w
cm9maWxlLWFubm90YXRlICAgIEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRTZWxmTGlz
dChKU0M6OlN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDOjpQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVy
ZUxpc3QqLCBpbnQsIEpTQzo6U3RydWN0dXJlKiwgSlNDOjpJZGVudGlmaWVyIGNvbnN0JiwgSlND
OjpQcm9wZXJ0eVNsb3QgY29uc3QmLCB1bnNpZ25lZCBpbnQpCjEgICAgICAgICAwLjAwMTQgIGpz
Yy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFy
cmF5TGVuZ3RoKEpTQzo6UmV0dXJuQWRkcmVzc1B0cikKMSAgICAgICAgIDAuMDAxNCAganNjLW9w
cm9maWxlLWFubm90YXRlICAgIEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZVB1dEJ5SWRUcmFuc2l0
aW9uKEpTQzo6U3RydWN0dXJlU3R1YkluZm8qLCBKU0M6OlN0cnVjdHVyZSosIEpTQzo6U3RydWN0
dXJlKiwgdW5zaWduZWQgaW50LCBKU0M6OlN0cnVjdHVyZUNoYWluKiwgSlNDOjpSZXR1cm5BZGRy
ZXNzUHRyKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpK
SVQ6OnNvZnRNb2R1bG8oKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUg
ICAgSlNDOjpKSVQ6OnRlc3RQcm90b3R5cGUoSlNDOjpTdHJ1Y3R1cmUqLCBKU0M6OkFic3RyYWN0
TWFjcm9Bc3NlbWJsZXI8SlNDOjpBUk1Bc3NlbWJsZXI+OjpKdW1wTGlzdCYpCjEgICAgICAgICAw
LjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkpJVFN0dWJDYWxsOjphZGRBcmd1
bWVudCh1bnNpZ25lZCBpbnQsIEpTQzo6QVJNUmVnaXN0ZXJzOjpSZWdpc3RlcklEKQoxICAgICAg
ICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKSVRUaHVua3M6OkpJVFRo
dW5rcyhKU0M6OkpTR2xvYmFsRGF0YSopCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1h
bm5vdGF0ZSAgICBKU0M6OkpTQWN0aXZhdGlvbjo6bWFya0NoaWxkcmVuKEpTQzo6TWFya1N0YWNr
JikKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SlNBcnJh
eTo6SlNBcnJheShXVEY6Ok5vbk51bGxQYXNzUmVmUHRyPEpTQzo6U3RydWN0dXJlPikKMSAgICAg
ICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6SlNBcnJheTo6Z2V0T3du
UHJvcGVydHlOYW1lcyhKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6UHJvcGVydHlOYW1lQXJyYXkmLCBK
U0M6OkVudW1lcmF0aW9uTW9kZSkKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90
YXRlICAgIEpTQzo6SlNDZWxsOjpnZXRTdHJpbmcoSlNDOjpFeGVjU3RhdGUqKSBjb25zdAoxICAg
ICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKU0Z1bmN0aW9uOjpK
U0Z1bmN0aW9uKEpTQzo6RXhlY1N0YXRlKiwgV1RGOjpOb25OdWxsUGFzc1JlZlB0cjxKU0M6OlN0
cnVjdHVyZT4sIGludCwgSlNDOjpJZGVudGlmaWVyIGNvbnN0JiwgSlNDOjpKU1ZhbHVlICgqKShK
U0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUsIEpTQzo6QXJnTGlz
dCBjb25zdCYpKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlND
OjpKU0dsb2JhbERhdGE6Om51bWVyaWNDb21wYXJlRnVuY3Rpb24oSlNDOjpFeGVjU3RhdGUqKQox
ICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKU0dsb2JhbERh
dGE6On5KU0dsb2JhbERhdGEoKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3Rh
dGUgICAgSlNDOjpKU0dsb2JhbE9iamVjdDo6aXNEeW5hbWljU2NvcGUoKSBjb25zdAoxICAgICAg
ICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpKU09iamVjdDo6Z2V0UHJv
cGVydHlTcGVjaWZpY1ZhbHVlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpJZGVudGlmaWVyIGNvbnN0
JiwgSlNDOjpKU0NlbGwqJikgY29uc3QKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFu
bm90YXRlICAgIEpTQzo6SlNTdHJpbmc6OmdldEluZGV4U2xvd0Nhc2UoSlNDOjpFeGVjU3RhdGUq
LCB1bnNpZ25lZCBpbnQpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAg
ICBKU0M6OkpTU3RyaW5nOjp0b1ByaW1pdGl2ZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6UHJlZmVy
cmVkUHJpbWl0aXZlVHlwZSkgY29uc3QKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFu
bm90YXRlICAgIEpTQzo6TGFiZWw6OmJpbmQoaW50LCBpbnQpIGNvbnN0CjEgICAgICAgICAwLjAw
MTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkxleGVyOjpjbGVhcigpCjEgICAgICAg
ICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OkxleGVyOjpzY2FuUmVnRXhw
KEpTQzo6SWRlbnRpZmllciBjb25zdComLCBKU0M6OklkZW50aWZpZXIgY29uc3QqJiwgdW5zaWdu
ZWQgc2hvcnQpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6
OkxvZ2ljYWxPcE5vZGU6OmVtaXRCeXRlY29kZUluQ29uZGl0aW9uQ29udGV4dChKU0M6OkJ5dGVj
b2RlR2VuZXJhdG9yJiwgSlNDOjpMYWJlbCosIEpTQzo6TGFiZWwqLCBib29sKQoxICAgICAgICAg
MC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6
c3RvcmUzMihKU0M6OkFic3RyYWN0TWFjcm9Bc3NlbWJsZXI8SlNDOjpBUk1Bc3NlbWJsZXI+OjpJ
bW0zMiwgSlNDOjpBYnN0cmFjdE1hY3JvQXNzZW1ibGVyPEpTQzo6QVJNQXNzZW1ibGVyPjo6SW1w
bGljaXRBZGRyZXNzKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAg
SlNDOjpNYXRoT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDOjpFeGVjU3RhdGUqLCBKU0M6
OklkZW50aWZpZXIgY29uc3QmLCBKU0M6OlByb3BlcnR5U2xvdCYpCjEgICAgICAgICAwLjAwMTQg
IGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6Ok5hdGl2ZUVycm9yUHJvdG90eXBlOjpOYXRp
dmVFcnJvclByb3RvdHlwZShKU0M6OkV4ZWNTdGF0ZSosIFdURjo6Tm9uTnVsbFBhc3NSZWZQdHI8
SlNDOjpTdHJ1Y3R1cmU+LCBKU0M6OlVTdHJpbmcgY29uc3QmLCBKU0M6OlVTdHJpbmcgY29uc3Qm
KQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpOdW1iZXJO
b2RlOjppc051bWJlcigpIGNvbnN0CjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5v
dGF0ZSAgICBKU0M6Ok51bWJlck5vZGU6OmlzUHVyZShKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yJikg
Y29uc3QKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6T2Jq
ZWN0Q29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEoSlNDOjpDb25zdHJ1Y3REYXRhJikKMSAg
ICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6UGFyc2VyQXJlbmE6
OnJlbW92ZUxhc3QoKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAg
SlNDOjpQYXJzZXJBcmVuYURhdGE8V1RGOjpWZWN0b3I8SlNDOjpGdW5jdGlvbkJvZHlOb2RlKiwg
MHU+ID4qIG1lcmdlRGVjbGFyYXRpb25MaXN0czxKU0M6OlBhcnNlckFyZW5hRGF0YTxXVEY6OlZl
Y3RvcjxKU0M6OkZ1bmN0aW9uQm9keU5vZGUqLCAwdT4gPio+KEpTQzo6UGFyc2VyQXJlbmFEYXRh
PFdURjo6VmVjdG9yPEpTQzo6RnVuY3Rpb25Cb2R5Tm9kZSosIDB1PiA+KiwgSlNDOjpQYXJzZXJB
cmVuYURhdGE8V1RGOjpWZWN0b3I8SlNDOjpGdW5jdGlvbkJvZHlOb2RlKiwgMHU+ID4qKQoxICAg
ICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpQb3N0Zml4UmVzb2x2
ZU5vZGU6OmVtaXRCeXRlY29kZShKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yJiwgSlNDOjpSZWdpc3Rl
cklEKikKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6UHJl
Zml4UmVzb2x2ZU5vZGU6OmVtaXRCeXRlY29kZShKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yJiwgSlND
OjpSZWdpc3RlcklEKikKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAg
IEpTQzo6UHJvZ3JhbUV4ZWN1dGFibGU6On5Qcm9ncmFtRXhlY3V0YWJsZSgpCjEgICAgICAgICAw
LjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OlByb2dyYW1Ob2RlOjp+UHJvZ3Jh
bU5vZGUoKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpS
ZXNvbHZlTm9kZTo6aXNMb2NhdGlvbigpIGNvbnN0CjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJv
ZmlsZS1hbm5vdGF0ZSAgICBKU0M6OlNjb3BlTm9kZTo6c2luZ2xlU3RhdGVtZW50KCkgY29uc3QK
MSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6U3RhdGVtZW50
Tm9kZTo6aXNFbXB0eVN0YXRlbWVudCgpIGNvbnN0CjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJv
ZmlsZS1hbm5vdGF0ZSAgICBKU0M6OlN0cnVjdHVyZTo6U3RydWN0dXJlKEpTQzo6SlNWYWx1ZSwg
SlNDOjpUeXBlSW5mbyBjb25zdCYsIHVuc2lnbmVkIGludCkKMSAgICAgICAgIDAuMDAxNCAganNj
LW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6U3RydWN0dXJlQ2hhaW46OlN0cnVjdHVyZUNoYWlu
KEpTQzo6U3RydWN0dXJlKikKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRl
ICAgIEpTQzo6U3RydWN0dXJlU3R1YkluZm86OmRlcmVmKCkKMSAgICAgICAgIDAuMDAxNCAganNj
LW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6VGhyb3dOb2RlOjplbWl0Qnl0ZWNvZGUoSlNDOjpC
eXRlY29kZUdlbmVyYXRvciYsIEpTQzo6UmVnaXN0ZXJJRCopCjEgICAgICAgICAwLjAwMTQgIGpz
Yy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OlVTdHJpbmc6OlVURjhTdHJpbmcoYm9vbCkgY29u
c3QKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6VVN0cmlu
Z1NvdXJjZVByb3ZpZGVyOjpkYXRhKCkgY29uc3QKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9m
aWxlLWFubm90YXRlICAgIEpTQzo6VmFyU3RhdGVtZW50Tm9kZTo6ZW1pdEJ5dGVjb2RlKEpTQzo6
Qnl0ZWNvZGVHZW5lcmF0b3ImLCBKU0M6OlJlZ2lzdGVySUQqKQoxICAgICAgICAgMC4wMDE0ICBq
c2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpXaGlsZU5vZGU6OmVtaXRCeXRlY29kZShKU0M6
OkJ5dGVjb2RlR2VuZXJhdG9yJiwgSlNDOjpSZWdpc3RlcklEKikKMSAgICAgICAgIDAuMDAxNCAg
anNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6WWFycjo6UmVnZXhHZW5lcmF0b3I6OlRlcm1H
ZW5lcmF0aW9uU3RhdGU6Omp1bXBUb0JhY2t0cmFjayhKU0M6OkFic3RyYWN0TWFjcm9Bc3NlbWJs
ZXI8SlNDOjpBUk1Bc3NlbWJsZXI+OjpKdW1wLCBKU0M6Ok1hY3JvQXNzZW1ibGVyKikKMSAgICAg
ICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6WWFycjo6UmVnZXhHZW5l
cmF0b3I6Om1hdGNoQXNzZXJ0aW9uV29yZGNoYXIoSlNDOjpZYXJyOjpSZWdleEdlbmVyYXRvcjo6
VGVybUdlbmVyYXRpb25TdGF0ZSYsIEpTQzo6QWJzdHJhY3RNYWNyb0Fzc2VtYmxlcjxKU0M6OkFS
TUFzc2VtYmxlcj46Okp1bXBMaXN0JiwgSlNDOjpBYnN0cmFjdE1hY3JvQXNzZW1ibGVyPEpTQzo6
QVJNQXNzZW1ibGVyPjo6SnVtcExpc3QmKQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUt
YW5ub3RhdGUgICAgSlNDOjpZYXJyOjpSZWdleEdlbmVyYXRvcjo6bWF0Y2hDaGFyYWN0ZXJDbGFz
cyhKU0M6OkFSTVJlZ2lzdGVyczo6UmVnaXN0ZXJJRCwgSlNDOjpBYnN0cmFjdE1hY3JvQXNzZW1i
bGVyPEpTQzo6QVJNQXNzZW1ibGVyPjo6SnVtcExpc3QmLCBKU0M6OllhcnI6OkNoYXJhY3RlckNs
YXNzIGNvbnN0KikKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpT
Qzo6WWFycjo6UmVnZXhHZW5lcmF0b3I6Om1hdGNoQ2hhcmFjdGVyQ2xhc3NSYW5nZShKU0M6OkFS
TVJlZ2lzdGVyczo6UmVnaXN0ZXJJRCwgSlNDOjpBYnN0cmFjdE1hY3JvQXNzZW1ibGVyPEpTQzo6
QVJNQXNzZW1ibGVyPjo6SnVtcExpc3QmLCBKU0M6OkFic3RyYWN0TWFjcm9Bc3NlbWJsZXI8SlND
OjpBUk1Bc3NlbWJsZXI+OjpKdW1wTGlzdCYsIEpTQzo6WWFycjo6Q2hhcmFjdGVyUmFuZ2UgY29u
c3QqLCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludCosIHVuc2lnbmVkIHNob3J0IGNvbnN0Kiwg
dW5zaWduZWQgaW50KQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAg
SlNDOjpZYXJyOjpSZWdleEdlbmVyYXRvcjo6flJlZ2V4R2VuZXJhdG9yKCkKMSAgICAgICAgIDAu
MDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6WWFycjo6UmVnZXhQYXR0ZXJuOjp+
UmVnZXhQYXR0ZXJuKCkKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAg
IEpTQzo6WWFycjo6UmVnZXhQYXR0ZXJuQ29uc3RydWN0b3I6OmF0b21DaGFyYWN0ZXJDbGFzc0Vu
ZCgpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBKU0M6OllhcnI6
OnNwYWNlc0NyZWF0ZSgpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAg
ICBKU0M6OmNhbGxBcnJheUNvbnN0cnVjdG9yKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU09iamVj
dCosIEpTQzo6SlNWYWx1ZSwgSlNDOjpBcmdMaXN0IGNvbnN0JikKMSAgICAgICAgIDAuMDAxNCAg
anNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6Y2FsbFN0cmluZ0NvbnN0cnVjdG9yKEpTQzo6
RXhlY1N0YXRlKiwgSlNDOjpKU09iamVjdCosIEpTQzo6SlNWYWx1ZSwgSlNDOjpBcmdMaXN0IGNv
bnN0JikKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIEpTQzo6Y29u
c3RydWN0V2l0aFJlZ0V4cENvbnN0cnVjdG9yKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU09iamVj
dCosIEpTQzo6QXJnTGlzdCBjb25zdCYpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1h
bm5vdGF0ZSAgICBKU0M6OmludGVnZXJQYXJ0Tm9FeHAoZG91YmxlKQoxICAgICAgICAgMC4wMDE0
ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpqc1JlcGxhY2VSYW5nZShKU0M6OkV4ZWNT
dGF0ZSosIEpTQzo6VVN0cmluZyBjb25zdCYsIGludCwgaW50LCBKU0M6OlVTdHJpbmcgY29uc3Qm
KQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgSlNDOjpvYmplY3RQ
cm90b0Z1bmNWYWx1ZU9mKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU09iamVjdCosIEpTQzo6SlNW
YWx1ZSwgSlNDOjpBcmdMaXN0IGNvbnN0JikKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxl
LWFubm90YXRlICAgIEpTQzo6cHJvY2Vzc0NsYXVzZUxpc3QoSlNDOjpDbGF1c2VMaXN0Tm9kZSos
IFdURjo6VmVjdG9yPEpTQzo6RXhwcmVzc2lvbk5vZGUqLCA4dT4mLCBKU0M6OlN3aXRjaEtpbmQm
LCBib29sJiwgaW50JiwgaW50JikKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90
YXRlICAgIEpTQzo6c2V0VXBTdGF0aWNGdW5jdGlvblNsb3QoSlNDOjpFeGVjU3RhdGUqLCBKU0M6
Okhhc2hFbnRyeSBjb25zdCosIEpTQzo6SlNPYmplY3QqLCBKU0M6OklkZW50aWZpZXIgY29uc3Qm
LCBKU0M6OlByb3BlcnR5U2xvdCYpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5v
dGF0ZSAgICBUQ01hbGxvY19TcGluTG9jazo6TG9jaygpCjEgICAgICAgICAwLjAwMTQgIGpzYy1v
cHJvZmlsZS1hbm5vdGF0ZSAgICBUQ01hbGxvY19TeXN0ZW1BbGxvYyh1bnNpZ25lZCBpbnQsIHVu
c2lnbmVkIGludCosIHVuc2lnbmVkIGludCkKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxl
LWFubm90YXRlICAgIFdURjo6QmlnSW50OjpvcGVyYXRvcj0oV1RGOjpCaWdJbnQgY29uc3QmKQox
ICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgV1RGOjpIYXNoTWFwPEpT
Qzo6VVN0cmluZ0ltcGwqLCBKU0M6OkpTU3RyaW5nKiwgSlNDOjpJZGVudGlmaWVyUmVwSGFzaCwg
V1RGOjpIYXNoVHJhaXRzPEpTQzo6VVN0cmluZ0ltcGwqPiwgV1RGOjpIYXNoVHJhaXRzPEpTQzo6
SlNTdHJpbmcqPiA+OjphZGQoSlNDOjpVU3RyaW5nSW1wbCogY29uc3QmLCBKU0M6OkpTU3RyaW5n
KiBjb25zdCYpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBXVEY6
Okhhc2hNYXA8Y2hhciBjb25zdCosIFdURjo6UmVmUHRyPEpTQzo6VVN0cmluZ0ltcGw+LCBXVEY6
OlB0ckhhc2g8Y2hhciBjb25zdCo+LCBXVEY6Okhhc2hUcmFpdHM8Y2hhciBjb25zdCo+LCBXVEY6
Okhhc2hUcmFpdHM8V1RGOjpSZWZQdHI8SlNDOjpVU3RyaW5nSW1wbD4gPiA+OjphZGQoY2hhciBj
b25zdCogY29uc3QmLCBXVEY6OlJlZlB0cjxKU0M6OlVTdHJpbmdJbXBsPiBjb25zdCYpCjEgICAg
ICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBXVEY6Okhhc2hNYXA8c3RkOjpw
YWlyPFdURjo6UmVmUHRyPEpTQzo6VVN0cmluZ0ltcGw+LCB1bnNpZ25lZCBpbnQ+LCBzdGQ6OnBh
aXI8SlNDOjpTdHJ1Y3R1cmUqLCBKU0M6OlN0cnVjdHVyZSo+LCBKU0M6OlN0cnVjdHVyZVRyYW5z
aXRpb25UYWJsZUhhc2gsIEpTQzo6U3RydWN0dXJlVHJhbnNpdGlvblRhYmxlSGFzaFRyYWl0cywg
V1RGOjpIYXNoVHJhaXRzPHN0ZDo6cGFpcjxKU0M6OlN0cnVjdHVyZSosIEpTQzo6U3RydWN0dXJl
Kj4gPiA+OjphZGQoc3RkOjpwYWlyPFdURjo6UmVmUHRyPEpTQzo6VVN0cmluZ0ltcGw+LCB1bnNp
Z25lZCBpbnQ+IGNvbnN0Jiwgc3RkOjpwYWlyPEpTQzo6U3RydWN0dXJlKiwgSlNDOjpTdHJ1Y3R1
cmUqPiBjb25zdCYpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBX
VEY6Okhhc2hUYWJsZTxKU0M6OkpTT2JqZWN0KiwgSlNDOjpKU09iamVjdCosIFdURjo6SWRlbnRp
dHlFeHRyYWN0b3I8SlNDOjpKU09iamVjdCo+LCBXVEY6OlB0ckhhc2g8SlNDOjpKU09iamVjdCo+
LCBXVEY6Okhhc2hUcmFpdHM8SlNDOjpKU09iamVjdCo+LCBXVEY6Okhhc2hUcmFpdHM8SlNDOjpK
U09iamVjdCo+ID46OnJlaGFzaChpbnQpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1h
bm5vdGF0ZSAgICBXVEY6Okhhc2hUYWJsZTxKU0M6OlVTdHJpbmdJbXBsKiwgc3RkOjpwYWlyPEpT
Qzo6VVN0cmluZ0ltcGwqLCBKU0M6OkpTU3RyaW5nKj4sIFdURjo6UGFpckZpcnN0RXh0cmFjdG9y
PHN0ZDo6cGFpcjxKU0M6OlVTdHJpbmdJbXBsKiwgSlNDOjpKU1N0cmluZyo+ID4sIEpTQzo6SWRl
bnRpZmllclJlcEhhc2gsIFdURjo6UGFpckhhc2hUcmFpdHM8V1RGOjpIYXNoVHJhaXRzPEpTQzo6
VVN0cmluZ0ltcGwqPiwgV1RGOjpIYXNoVHJhaXRzPEpTQzo6SlNTdHJpbmcqPiA+LCBXVEY6Okhh
c2hUcmFpdHM8SlNDOjpVU3RyaW5nSW1wbCo+ID46OmV4cGFuZCgpCjEgICAgICAgICAwLjAwMTQg
IGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBXVEY6Okhhc2hUYWJsZTxXVEY6OlJlZlB0cjxKU0M6
OlVTdHJpbmdJbXBsPiwgc3RkOjpwYWlyPFdURjo6UmVmUHRyPEpTQzo6VVN0cmluZ0ltcGw+LCBK
U0M6OlN5bWJvbFRhYmxlRW50cnk+LCBXVEY6OlBhaXJGaXJzdEV4dHJhY3RvcjxzdGQ6OnBhaXI8
V1RGOjpSZWZQdHI8SlNDOjpVU3RyaW5nSW1wbD4sIEpTQzo6U3ltYm9sVGFibGVFbnRyeT4gPiwg
SlNDOjpJZGVudGlmaWVyUmVwSGFzaCwgV1RGOjpQYWlySGFzaFRyYWl0czxXVEY6Okhhc2hUcmFp
dHM8V1RGOjpSZWZQdHI8SlNDOjpVU3RyaW5nSW1wbD4gPiwgSlNDOjpTeW1ib2xUYWJsZUluZGV4
SGFzaFRyYWl0cz4sIFdURjo6SGFzaFRyYWl0czxXVEY6OlJlZlB0cjxKU0M6OlVTdHJpbmdJbXBs
PiA+ID46OnJlaGFzaChpbnQpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0
ZSAgICBXVEY6Ok93blB0cjxKU0M6OlNjb3BlTm9kZURhdGE+Ojp+T3duUHRyKCkKMSAgICAgICAg
IDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6UmVmUHRyPEpTQzo6U3RydWN0
dXJlPjo6flJlZlB0cigpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAg
ICBXVEY6OlNlZ21lbnRlZFZlY3RvcjxKU0M6OlJlZ2lzdGVySUQsIDMydT46OlNlZ21lbnRlZFZl
Y3RvcigpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBXVEY6OlRD
TWFsbG9jX1BhZ2VIZWFwOjppbml0KCkKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFu
bm90YXRlICAgIFdURjo6VmVjdG9yPEpTQzo6TWV0aG9kQ2FsbExpbmtJbmZvLCAwdT46Omdyb3co
dW5zaWduZWQgaW50KQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAg
V1RGOjpWZWN0b3I8SlNDOjpTaW1wbGVKdW1wVGFibGUsIDB1Pjo6c2hyaW5rQ2FwYWNpdHkodW5z
aWduZWQgaW50KQoxICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgV1RG
OjpWZWN0b3I8SlNDOjpTdGF0ZW1lbnROb2RlKiwgMHU+OjpleHBhbmRDYXBhY2l0eSh1bnNpZ25l
ZCBpbnQpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBXVEY6OlZl
Y3RvcjxKU0M6OlN0cmluZ0p1bXBUYWJsZSwgMHU+OjpzaHJpbmtDYXBhY2l0eSh1bnNpZ25lZCBp
bnQpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBXVEY6OlZlY3Rv
cjxKU0M6OllhcnI6OlBhdHRlcm5UZXJtLCAwdT46OmV4cGFuZENhcGFjaXR5KHVuc2lnbmVkIGlu
dCkKMSAgICAgICAgIDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6VmVjdG9y
PFdURjo6UmVmUHRyPEpTQzo6UmVnRXhwPiwgMHU+OjpzaHJpbmsodW5zaWduZWQgaW50KQoxICAg
ICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgV1RGOjpWZWN0b3I8dW5zaWdu
ZWQgaW50LCAwdT46OmV4cGFuZENhcGFjaXR5KHVuc2lnbmVkIGludCkKMSAgICAgICAgIDAuMDAx
NCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6VmVjdG9yPHVuc2lnbmVkIHNob3J0LCAw
dT46OnJlc2l6ZSh1bnNpZ25lZCBpbnQpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1h
bm5vdGF0ZSAgICBXVEY6OlZlY3RvckJ1ZmZlckJhc2U8V1RGOjpSZWZQdHI8SlNDOjpQYXJzZXJB
cmVuYVJlZkNvdW50ZWQ+ID46OmFsbG9jYXRlQnVmZmVyKHVuc2lnbmVkIGludCkKMSAgICAgICAg
IDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIFdURjo6ZmFzdFplcm9lZE1hbGxvYyh1
bnNpZ25lZCBpbnQpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBX
VEY6Om11bHQoV1RGOjpCaWdJbnQmLCBXVEY6OkJpZ0ludCBjb25zdCYpCjEgICAgICAgICAwLjAw
MTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBhcHBlbmRUb1ZhckRlY2xhcmF0aW9uTGlzdChK
U0M6OkpTR2xvYmFsRGF0YSosIEpTQzo6UGFyc2VyQXJlbmFEYXRhPFdURjo6VmVjdG9yPHN0ZDo6
cGFpcjxKU0M6OklkZW50aWZpZXIgY29uc3QqLCB1bnNpZ25lZCBpbnQ+LCAwdT4gPiomLCBKU0M6
OklkZW50aWZpZXIgY29uc3QmLCB1bnNpZ25lZCBpbnQpCjEgICAgICAgICAwLjAwMTQgIGpzYy1v
cHJvZmlsZS1hbm5vdGF0ZSAgICBjbGVhbnVwR2xvYmFsRGF0YShKU0M6OkpTR2xvYmFsRGF0YSop
CjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBjdGlfb3BfY2FsbF9O
b3RKU0Z1bmN0aW9uCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBj
dGlfb3BfY29udmVydF90aGlzCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0
ZSAgICBjdGlfb3BfZ2V0X2J5X2lkCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5v
dGF0ZSAgICBjdGlfb3BfZ2V0X2J5X2lkX21ldGhvZF9jaGVjawoxICAgICAgICAgMC4wMDE0ICBq
c2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgY3RpX29wX2psZXNzZXEKMSAgICAgICAgIDAuMDAxNCAg
anNjLW9wcm9maWxlLWFubm90YXRlICAgIGN0aV9vcF9wdXNoX2FjdGl2YXRpb24KMSAgICAgICAg
IDAuMDAxNCAganNjLW9wcm9maWxlLWFubm90YXRlICAgIGZ1bmN0aW9uR0MoSlNDOjpFeGVjU3Rh
dGUqLCBKU0M6OkpTT2JqZWN0KiwgSlNDOjpKU1ZhbHVlLCBKU0M6OkFyZ0xpc3QgY29uc3QmKQox
ICAgICAgICAgMC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAganNSZWdFeHBDb21waWxl
KHVuc2lnbmVkIHNob3J0IGNvbnN0KiwgaW50LCBKU1JlZ0V4cElnbm9yZUNhc2VPcHRpb24sIEpT
UmVnRXhwTXVsdGlsaW5lT3B0aW9uLCB1bnNpZ25lZCBpbnQqLCBjaGFyIGNvbnN0KiopCjEgICAg
ICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBtYWtlTXVsdE5vZGUoSlNDOjpK
U0dsb2JhbERhdGEqLCBKU0M6OkV4cHJlc3Npb25Ob2RlKiwgSlNDOjpFeHByZXNzaW9uTm9kZSos
IGJvb2wpCjEgICAgICAgICAwLjAwMTQgIGpzYy1vcHJvZmlsZS1hbm5vdGF0ZSAgICBub24tdmly
dHVhbCB0aHVuayB0byBKU0M6OlByb2dyYW1Ob2RlOjp+UHJvZ3JhbU5vZGUoKQoxICAgICAgICAg
MC4wMDE0ICBqc2Mtb3Byb2ZpbGUtYW5ub3RhdGUgICAgdm9pZCBXVEY6OmRlbGV0ZUFsbFZhbHVl
czxKU0M6OllhcnI6OlBhdHRlcm5EaXNqdW5jdGlvbiosIDR1PihXVEY6OlZlY3RvcjxKU0M6Ollh
cnI6OlBhdHRlcm5EaXNqdW5jdGlvbiosIDR1PiBjb25zdCYpCjEgICAgICAgICAwLjAwMTQgIGpz
Yy1vcHJvZmlsZS1hbm5vdGF0ZSAgICB2b2lkIFdURjo6ZGVyZWZJZk5vdE51bGw8SlNDOjpEYXRl
SW5zdGFuY2VEYXRhPihKU0M6OkRhdGVJbnN0YW5jZURhdGEqKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>50920</attachid>
            <date>2010-03-17 10:20:07 -0700</date>
            <delta_ts>2010-03-17 10:20:07 -0700</delta_ts>
            <desc>sample annotation</desc>
            <filename>3d-cube.annotate.txt</filename>
            <type>text/plain</type>
            <size>22116</size>
            <attacher name="Gabor Loki">loki</attacher>
            
              <data encoding="base64">LyogCiAqIENvbW1hbmQgbGluZTogb3Bhbm5vdGF0ZSAtLXNvdXJjZSAtLWluY2x1ZGUtZmlsZT0z
ZC1jdWJlLmpzIAogKiAKICogSW50ZXJwcmV0YXRpb24gb2YgY29tbWFuZCBsaW5lOgogKiBPdXRw
dXQgYW5ub3RhdGVkIHNvdXJjZSBmaWxlIHdpdGggc2FtcGxlcwogKiBPdXRwdXQgYWxsIGZpbGVz
CiAqIAogKi8KLyogCiAqIFRvdGFsIHNhbXBsZXMgZm9yIGZpbGUgOiAidGVzdHMvc3Vuc3BpZGVy
LTAuOS8zZC1jdWJlLmpzIgogKiAKICogICAgNzg2ICAwLjY2MTQKICovCgoKICAgICAgICAgICAg
ICAgOi8vIDNEIEN1YmUgUm90YXRpb24KICAgICAgICAgICAgICAgOi8vIGh0dHA6Ly93d3cuc3Bl
aWNoLm5ldC9jb21wdXRlci9tb3p0ZXN0aW5nLzNkLmh0bQogICAgICAgICAgICAgICA6Ly8gQ3Jl
YXRlZCBieSBTaW1vbiBTcGVpY2gKICAgICAgICAgICAgICAgOgogICAgICAgICAgICAgICA6dmFy
IFEgPSBuZXcgQXJyYXkoKTsKICAgICAgICAgICAgICAgOnZhciBNVHJhbnMgPSBuZXcgQXJyYXko
KTsgIC8vIHRyYW5zZm9ybWF0aW9uIG1hdHJpeAogICAgICAgICAgICAgICA6dmFyIE1RdWJlID0g
bmV3IEFycmF5KCk7ICAvLyBwb3NpdGlvbiBpbmZvcm1hdGlvbiBvZiBxdWJlCiAgICAgICAgICAg
ICAgIDp2YXIgSSA9IG5ldyBBcnJheSgpOyAgICAgIC8vIGVudGl0eSBtYXRyaXgKICAgICAgICAg
ICAgICAgOnZhciBPcmlnaW4gPSBuZXcgT2JqZWN0KCk7CiAgICAgICAgICAgICAgIDp2YXIgVGVz
dGluZyA9IG5ldyBPYmplY3QoKTsKICAgICAgICAgICAgICAgOnZhciBMb29wVGltZXI7CiAgICAg
ICAgICAgICAgIDoKICAgICAgICAgICAgICAgOnZhciBEaXNwbEFyZWEgPSBuZXcgT2JqZWN0KCk7
CiAgICAgICAgICAgICAgIDpEaXNwbEFyZWEuV2lkdGggPSAzMDA7CiAgICAgICAgICAgICAgIDpE
aXNwbEFyZWEuSGVpZ2h0ID0gMzAwOwogICAgICAgICAgICAgICA6CiAgICAxNCAgMC4wMTE4IDpm
dW5jdGlvbiBEcmF3TGluZShGcm9tLCBUbykgeyAvKiA8aml0LWZ1bmM+OkRyYXdMaW5lW3Rlc3Rz
L3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoxNy02OF0gICAgIDk1ICAwLjA3OTksIDxqaXQtZnVu
Yz46RHJhd0xpbmVbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE3LTY4XSAgICAgODIg
IDAuMDY5MCwgPGppdC1mdW5jPjpEcmF3TGluZVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUu
anM6MTctNjhdICAgICA2NiAgMC4wNTU1LCA8aml0LWZ1bmM+OkRyYXdMaW5lW3Rlc3RzL3N1bnNw
aWRlci0wLjkvM2QtY3ViZS5qczoxNy02OF0gICAgIDYxICAwLjA1MTMsIDxqaXQtZnVuYz46RHJh
d0xpbmVbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE3LTY4XSAgICAgNjggIDAuMDU3
MiwgPGppdC1mdW5jPjpEcmF3TGluZVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTct
NjhdICAgICA2MiAgMC4wNTIyLCA8aml0LWZ1bmM+OkRyYXdMaW5lW3Rlc3RzL3N1bnNwaWRlci0w
LjkvM2QtY3ViZS5qczoxNy02OF0gICAgIDkzICAwLjA3ODMsIDxqaXQtZnVuYz46RHJhd0xpbmVb
dGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE3LTY4XSAgICAgNzkgIDAuMDY2NSwgPGpp
dC1mdW5jPjpEcmF3TGluZVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTctNjhdICAg
ICA3NCAgMC4wNjIzLCA8aml0LWZ1bmM+OkRyYXdMaW5lW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2Qt
Y3ViZS5qczoxNy02OF0gICAgIDc5ICAwLjA2NjUsIDxqaXQtZnVuYz46RHJhd0xpbmVbdGVzdHMv
c3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE3LTY4XSAgICAgODQgIDAuMDcwNywgdG90YWw6ICAg
IDg0MyAgMC43MDkzICovCiAgICAgICAgICAgICAgIDogIHZhciB4MSA9IEZyb20uVlswXTsKICAg
ICA4ICAwLjAwNjcgOiAgdmFyIHgyID0gVG8uVlswXTsKICAgICA1ICAwLjAwNDIgOiAgdmFyIHkx
ID0gRnJvbS5WWzFdOwogICAgIDEgOC40ZS0wNCA6ICB2YXIgeTIgPSBUby5WWzFdOwogICAgIDcg
IDAuMDA1OSA6ICB2YXIgZHggPSBNYXRoLmFicyh4MiAtIHgxKTsKICAgICAzICAwLjAwMjUgOiAg
dmFyIGR5ID0gTWF0aC5hYnMoeTIgLSB5MSk7CiAgICAgICAgICAgICAgIDogIHZhciB4ID0geDE7
CiAgICAgICAgICAgICAgIDogIHZhciB5ID0geTE7CiAgICAgICAgICAgICAgIDogIHZhciBJbmNY
MSwgSW5jWTE7CiAgICAgICAgICAgICAgIDogIHZhciBJbmNYMiwgSW5jWTI7ICAKICAgICAgICAg
ICAgICAgOiAgdmFyIERlbjsKICAgICAgICAgICAgICAgOiAgdmFyIE51bTsKICAgICAgICAgICAg
ICAgOiAgdmFyIE51bUFkZDsKICAgICAgICAgICAgICAgOiAgdmFyIE51bVBpeDsKICAgICAgICAg
ICAgICAgOgogICAgICAgICAgICAgICA6ICBpZiAoeDIgPj0geDEpIHsgIEluY1gxID0gMTsgSW5j
WDIgPSAxOyAgfQogICAgIDEgOC40ZS0wNCA6ICBlbHNlIHsgSW5jWDEgPSAtMTsgSW5jWDIgPSAt
MTsgfQogICAgICAgICAgICAgICA6ICBpZiAoeTIgPj0geTEpICB7ICBJbmNZMSA9IDE7IEluY1ky
ID0gMTsgfQogICAgICAgICAgICAgICA6ICBlbHNlIHsgSW5jWTEgPSAtMTsgSW5jWTIgPSAtMTsg
fQogICAgICAgICAgICAgICA6ICBpZiAoZHggPj0gZHkpIHsKICAgICAgICAgICAgICAgOiAgICBJ
bmNYMSA9IDA7CiAgICAgICAgICAgICAgIDogICAgSW5jWTIgPSAwOwogICAgICAgICAgICAgICA6
ICAgIERlbiA9IGR4OwogICAgICAgICAgICAgICA6ICAgIE51bSA9IGR4IC8gMjsKICAgICAgICAg
ICAgICAgOiAgICBOdW1BZGQgPSBkeTsKICAgICAgICAgICAgICAgOiAgICBOdW1QaXggPSBkeDsK
ICAgICAgICAgICAgICAgOiAgfQogICAgICAgICAgICAgICA6ICBlbHNlIHsKICAgICAgICAgICAg
ICAgOiAgICBJbmNYMiA9IDA7CiAgICAgICAgICAgICAgIDogICAgSW5jWTEgPSAwOwogICAgICAg
ICAgICAgICA6ICAgIERlbiA9IGR5OwogICAgICAgICAgICAgICA6ICAgIE51bSA9IGR5IC8gMjsK
ICAgICAgICAgICAgICAgOiAgICBOdW1BZGQgPSBkeDsKICAgICAgICAgICAgICAgOiAgICBOdW1Q
aXggPSBkeTsKICAgICAgICAgICAgICAgOiAgfQogICAgICAgICAgICAgICA6CiAgICAgOCAgMC4w
MDY3IDogIE51bVBpeCA9IE1hdGgucm91bmQoUS5MYXN0UHggKyBOdW1QaXgpOwogICAgICAgICAg
ICAgICA6CiAgICAgMiAgMC4wMDE3IDogIHZhciBpID0gUS5MYXN0UHg7CiAgICA1MSAgMC4wNDI5
IDogIGZvciAoOyBpIDwgTnVtUGl4OyBpKyspIHsKICAgIDE1ICAwLjAxMjYgOiAgICBOdW0gKz0g
TnVtQWRkOwogICAgNDQgIDAuMDM3MCA6ICAgIGlmIChOdW0gPj0gRGVuKSB7CiAgICAxMiAgMC4w
MTAxIDogICAgICBOdW0gLT0gRGVuOwogICAgIDcgIDAuMDA1OSA6ICAgICAgeCArPSBJbmNYMTsK
ICAgIDExICAwLjAwOTMgOiAgICAgIHkgKz0gSW5jWTE7CiAgICAgICAgICAgICAgIDogICAgfQog
ICAgMjYgIDAuMDIxOSA6ICAgIHggKz0gSW5jWDI7CiAgICAyNiAgMC4wMjE5IDogICAgeSArPSBJ
bmNZMjsKICAgICAgICAgICAgICAgOiAgfQogICAgMTAgIDAuMDA4NCA6ICBRLkxhc3RQeCA9IE51
bVBpeDsKICAgICAgICAgICAgICAgOn0KICAgICAgICAgICAgICAgOgogICAgICAgICAgICAgICA6
ZnVuY3Rpb24gQ2FsY0Nyb3NzKFYwLCBWMSkgewogICAgICAgICAgICAgICA6ICB2YXIgQ3Jvc3Mg
PSBuZXcgQXJyYXkoKTsKICAgICAgICAgICAgICAgOiAgQ3Jvc3NbMF0gPSBWMFsxXSpWMVsyXSAt
IFYwWzJdKlYxWzFdOwogICAgICAgICAgICAgICA6ICBDcm9zc1sxXSA9IFYwWzJdKlYxWzBdIC0g
VjBbMF0qVjFbMl07CiAgICAgICAgICAgICAgIDogIENyb3NzWzJdID0gVjBbMF0qVjFbMV0gLSBW
MFsxXSpWMVswXTsKICAgICAgICAgICAgICAgOiAgcmV0dXJuIENyb3NzOwogICAgICAgICAgICAg
ICA6fQogICAgICAgICAgICAgICA6CiAgICAgICAgICAgICAgIDpmdW5jdGlvbiBDYWxjTm9ybWFs
KFYwLCBWMSwgVjIpIHsgLyogPGppdC1mdW5jPjpDYWxjTm9ybWFsW3Rlc3RzL3N1bnNwaWRlci0w
LjkvM2QtY3ViZS5qczo3OC04OV0gICAgICAxIDguNGUtMDQsIDxqaXQtZnVuYz46Q2FsY05vcm1h
bFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6NzgtODldICAgICAgMSA4LjRlLTA0LCB0
b3RhbDogICAgICAyICAwLjAwMTcgKi8KICAgICAgICAgICAgICAgOiAgdmFyIEEgPSBuZXcgQXJy
YXkoKTsgICB2YXIgQiA9IG5ldyBBcnJheSgpOyAKICAgICAgICAgICAgICAgOiAgZm9yICh2YXIg
aSA9IDA7IGkgPCAzOyBpKyspIHsKICAgICAgICAgICAgICAgOiAgICBBW2ldID0gVjBbaV0gLSBW
MVtpXTsKICAgICAgICAgICAgICAgOiAgICBCW2ldID0gVjJbaV0gLSBWMVtpXTsKICAgICAgICAg
ICAgICAgOiAgfQogICAgICAgICAgICAgICA6ICBBID0gQ2FsY0Nyb3NzKEEsIEIpOwogICAgICAg
ICAgICAgICA6ICB2YXIgTGVuZ3RoID0gTWF0aC5zcXJ0KEFbMF0qQVswXSArIEFbMV0qQVsxXSAr
IEFbMl0qQVsyXSk7IAogICAgIDEgOC40ZS0wNCA6ICBmb3IgKHZhciBpID0gMDsgaSA8IDM7IGkr
KykgQVtpXSA9IEFbaV0gLyBMZW5ndGg7CiAgICAgICAgICAgICAgIDogIEFbM10gPSAxOwogICAg
ICAgICAgICAgICA6ICByZXR1cm4gQTsKICAgICAgICAgICAgICAgOn0KICAgICAgICAgICAgICAg
OgogICAgIDggIDAuMDA2NyA6ZnVuY3Rpb24gQ3JlYXRlUChYLFksWikgeyAvKiA8aml0LWZ1bmM+
OkNyZWF0ZVBbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjkxLTkzXSAgICAgIDEgOC40
ZS0wNCwgPGppdC1mdW5jPjpDcmVhdGVQW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczo5
MS05M10gICAgICAyICAwLjAwMTcsIDxqaXQtZnVuYz46Q3JlYXRlUFt0ZXN0cy9zdW5zcGlkZXIt
MC45LzNkLWN1YmUuanM6OTEtOTNdICAgICAgMiAgMC4wMDE3LCA8aml0LWZ1bmM+OkNyZWF0ZVBb
dGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjkxLTkzXSAgICAgIDIgIDAuMDAxNywgPGpp
dC1mdW5jPjpDcmVhdGVQW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczo5MS05M10gICAg
ICAxIDguNGUtMDQsIDxqaXQtZnVuYz46Q3JlYXRlUFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1
YmUuanM6OTEtOTNdICAgICAgNSAgMC4wMDQyLCA8aml0LWZ1bmM+OkNyZWF0ZVBbdGVzdHMvc3Vu
c3BpZGVyLTAuOS8zZC1jdWJlLmpzOjkxLTkzXSAgICAgIDIgIDAuMDAxNywgPGppdC1mdW5jPjpD
cmVhdGVQW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczo5MS05M10gICAgICAxIDguNGUt
MDQsIHRvdGFsOiAgICAgMTYgIDAuMDEzNSAqLwogICAgICAgICAgICAgICA6ICB0aGlzLlYgPSBb
WCxZLFosMV07CiAgICAgICAgICAgICAgIDp9CiAgICAgICAgICAgICAgIDoKICAgICAgICAgICAg
ICAgOi8vIG11bHRpcGxpZXMgdHdvIG1hdHJpY2VzCiAgICAgICAgICAgICAgIDpmdW5jdGlvbiBN
TXVsdGkoTTEsIE0yKSB7IC8qIDxqaXQtZnVuYz46TU11bHRpW3Rlc3RzL3N1bnNwaWRlci0wLjkv
M2QtY3ViZS5qczo5Ni0xMDVdICAgICAyNCAgMC4wMjAyLCA8aml0LWZ1bmM+Ok1NdWx0aVt0ZXN0
cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6OTYtMTA1XSAgICAgMjIgIDAuMDE4NSwgPGppdC1m
dW5jPjpNTXVsdGlbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjk2LTEwNV0gICAgIDMy
ICAwLjAyNjksIDxqaXQtZnVuYz46TU11bHRpW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5q
czo5Ni0xMDVdICAgICAyOSAgMC4wMjQ0LCA8aml0LWZ1bmM+Ok1NdWx0aVt0ZXN0cy9zdW5zcGlk
ZXItMC45LzNkLWN1YmUuanM6OTYtMTA1XSAgICAgMjYgIDAuMDIxOSwgPGppdC1mdW5jPjpNTXVs
dGlbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjk2LTEwNV0gICAgIDI4ICAwLjAyMzYs
IDxqaXQtZnVuYz46TU11bHRpW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczo5Ni0xMDVd
ICAgICAyNCAgMC4wMjAyLCA8aml0LWZ1bmM+Ok1NdWx0aVt0ZXN0cy9zdW5zcGlkZXItMC45LzNk
LWN1YmUuanM6OTYtMTA1XSAgICAgMTggIDAuMDE1MSwgPGppdC1mdW5jPjpNTXVsdGlbdGVzdHMv
c3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjk2LTEwNV0gICAgIDIzICAwLjAxOTQsIDxqaXQtZnVu
Yz46TU11bHRpW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczo5Ni0xMDVdICAgICAzMCAg
MC4wMjUyLCA8aml0LWZ1bmM+Ok1NdWx0aVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6
OTYtMTA1XSAgICAgMjIgIDAuMDE4NSwgdG90YWw6ICAgIDI3OCAgMC4yMzM5ICovCiAgICAgICAg
ICAgICAgIDogIHZhciBNID0gW1tdLFtdLFtdLFtdXTsKICAgICAgICAgICAgICAgOiAgdmFyIGkg
PSAwOwogICAgICAgICAgICAgICA6ICB2YXIgaiA9IDA7CiAgICAgICAgICAgICAgIDogIGZvciAo
OyBpIDwgNDsgaSsrKSB7CiAgICAgICAgICAgICAgIDogICAgaiA9IDA7CiAgIDIzMSAgMC4xOTQ0
IDogICAgZm9yICg7IGogPCA0OyBqKyspIE1baV1bal0gPSBNMVtpXVswXSAqIE0yWzBdW2pdICsg
TTFbaV1bMV0gKiBNMlsxXVtqXSArIE0xW2ldWzJdICogTTJbMl1bal0gKyBNMVtpXVszXSAqIE0y
WzNdW2pdOwogICAgICAgICAgICAgICA6ICB9CiAgICAgICAgICAgICAgIDogIHJldHVybiBNOwog
ICAgICAgICAgICAgICA6fQogICAgICAgICAgICAgICA6CiAgICAgICAgICAgICAgIDovL211bHRp
cGxpZXMgbWF0cml4IHdpdGggdmVjdG9yCiAgICAxMCAgMC4wMDg0IDpmdW5jdGlvbiBWTXVsdGko
TSwgVikgeyAvKiA8aml0LWZ1bmM+OlZNdWx0aVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUu
anM6MTA4LTExM10gICAgICA4ICAwLjAwNjcsIDxqaXQtZnVuYz46Vk11bHRpW3Rlc3RzL3N1bnNw
aWRlci0wLjkvM2QtY3ViZS5qczoxMDgtMTEzXSAgICAgMTIgIDAuMDEwMSwgPGppdC1mdW5jPjpW
TXVsdGlbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjEwOC0xMTNdICAgICAgOSAgMC4w
MDc2LCA8aml0LWZ1bmM+OlZNdWx0aVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTA4
LTExM10gICAgICA2ICAwLjAwNTAsIDxqaXQtZnVuYz46Vk11bHRpW3Rlc3RzL3N1bnNwaWRlci0w
LjkvM2QtY3ViZS5qczoxMDgtMTEzXSAgICAgMTAgIDAuMDA4NCwgPGppdC1mdW5jPjpWTXVsdGlb
dGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjEwOC0xMTNdICAgICAgNCAgMC4wMDM0LCA8
aml0LWZ1bmM+OlZNdWx0aVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTA4LTExM10g
ICAgICA5ICAwLjAwNzYsIDxqaXQtZnVuYz46Vk11bHRpW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2Qt
Y3ViZS5qczoxMDgtMTEzXSAgICAgMTAgIDAuMDA4NCwgPGppdC1mdW5jPjpWTXVsdGlbdGVzdHMv
c3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjEwOC0xMTNdICAgICAxMiAgMC4wMTAxLCA8aml0LWZ1
bmM+OlZNdWx0aVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTA4LTExM10gICAgICA5
ICAwLjAwNzYsIDxqaXQtZnVuYz46Vk11bHRpW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5q
czoxMDgtMTEzXSAgICAgMTAgIDAuMDA4NCwgdG90YWw6ICAgICA5OSAgMC4wODMzICovCiAgICAg
ICAgICAgICAgIDogIHZhciBWZWN0ID0gbmV3IEFycmF5KCk7CiAgICAgMSA4LjRlLTA0IDogIHZh
ciBpID0gMDsKICAgIDczICAwLjA2MTQgOiAgZm9yICg7aSA8IDQ7IGkrKykgVmVjdFtpXSA9IE1b
aV1bMF0gKiBWWzBdICsgTVtpXVsxXSAqIFZbMV0gKyBNW2ldWzJdICogVlsyXSArIE1baV1bM10g
KiBWWzNdOwogICAgICAgICAgICAgICA6ICByZXR1cm4gVmVjdDsKICAgICAgICAgICAgICAgOn0K
ICAgICAgICAgICAgICAgOgogICAgIDcgIDAuMDA1OSA6ZnVuY3Rpb24gVk11bHRpMihNLCBWKSB7
IC8qIDxqaXQtZnVuYz46Vk11bHRpMlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTE1
LTEyMF0gICAgICA4ICAwLjAwNjcsIDxqaXQtZnVuYz46Vk11bHRpMlt0ZXN0cy9zdW5zcGlkZXIt
MC45LzNkLWN1YmUuanM6MTE1LTEyMF0gICAgICA2ICAwLjAwNTAsIDxqaXQtZnVuYz46Vk11bHRp
Mlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTE1LTEyMF0gICAgICA2ICAwLjAwNTAs
IDxqaXQtZnVuYz46Vk11bHRpMlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTE1LTEy
MF0gICAgICA3ICAwLjAwNTksIDxqaXQtZnVuYz46Vk11bHRpMlt0ZXN0cy9zdW5zcGlkZXItMC45
LzNkLWN1YmUuanM6MTE1LTEyMF0gICAgICA5ICAwLjAwNzYsIDxqaXQtZnVuYz46Vk11bHRpMlt0
ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTE1LTEyMF0gICAgICA3ICAwLjAwNTksIDxq
aXQtZnVuYz46Vk11bHRpMlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTE1LTEyMF0g
ICAgICA1ICAwLjAwNDIsIDxqaXQtZnVuYz46Vk11bHRpMlt0ZXN0cy9zdW5zcGlkZXItMC45LzNk
LWN1YmUuanM6MTE1LTEyMF0gICAgICA2ICAwLjAwNTAsIDxqaXQtZnVuYz46Vk11bHRpMlt0ZXN0
cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTE1LTEyMF0gICAgICA1ICAwLjAwNDIsIDxqaXQt
ZnVuYz46Vk11bHRpMlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTE1LTEyMF0gICAg
ICA2ICAwLjAwNTAsIHRvdGFsOiAgICAgNjUgIDAuMDU0NyAqLwogICAgICAgICAgICAgICA6ICB2
YXIgVmVjdCA9IG5ldyBBcnJheSgpOwogICAgIDEgOC40ZS0wNCA6ICB2YXIgaSA9IDA7CiAgICA0
MSAgMC4wMzQ1IDogIGZvciAoO2kgPCAzOyBpKyspIFZlY3RbaV0gPSBNW2ldWzBdICogVlswXSAr
IE1baV1bMV0gKiBWWzFdICsgTVtpXVsyXSAqIFZbMl07CiAgICAgICAgICAgICAgIDogIHJldHVy
biBWZWN0OwogICAgICAgICAgICAgICA6fQogICAgICAgICAgICAgICA6CiAgICAgICAgICAgICAg
IDovLyBhZGQgdG8gbWF0cmljZXMKICAgICAgICAgICAgICAgOmZ1bmN0aW9uIE1BZGQoTTEsIE0y
KSB7CiAgICAgICAgICAgICAgIDogIHZhciBNID0gW1tdLFtdLFtdLFtdXTsKICAgICAgICAgICAg
ICAgOiAgdmFyIGkgPSAwOwogICAgICAgICAgICAgICA6ICB2YXIgaiA9IDA7CiAgICAgICAgICAg
ICAgIDogIGZvciAoOyBpIDwgNDsgaSsrKSB7CiAgICAgICAgICAgICAgIDogICAgaiA9IDA7CiAg
ICAgICAgICAgICAgIDogICAgZm9yICg7IGogPCA0OyBqKyspIE1baV1bal0gPSBNMVtpXVtqXSAr
IE0yW2ldW2pdOwogICAgICAgICAgICAgICA6ICB9CiAgICAgICAgICAgICAgIDogIHJldHVybiBN
OwogICAgICAgICAgICAgICA6fQogICAgICAgICAgICAgICA6CiAgICAgNiAgMC4wMDUwIDpmdW5j
dGlvbiBUcmFuc2xhdGUoTSwgRHgsIER5LCBEeikgeyAvKiA8aml0LWZ1bmM+OlRyYW5zbGF0ZVt0
ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTM0LTE0Ml0gICAgICAxIDguNGUtMDQsIDxq
aXQtZnVuYz46VHJhbnNsYXRlW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoxMzQtMTQy
XSAgICAgIDEgOC40ZS0wNCwgPGppdC1mdW5jPjpUcmFuc2xhdGVbdGVzdHMvc3Vuc3BpZGVyLTAu
OS8zZC1jdWJlLmpzOjEzNC0xNDJdICAgICAgMSA4LjRlLTA0LCA8aml0LWZ1bmM+OlRyYW5zbGF0
ZVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTM0LTE0Ml0gICAgICAxIDguNGUtMDQs
IDxqaXQtZnVuYz46VHJhbnNsYXRlW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoxMzQt
MTQyXSAgICAgIDEgOC40ZS0wNCwgPGppdC1mdW5jPjpUcmFuc2xhdGVbdGVzdHMvc3Vuc3BpZGVy
LTAuOS8zZC1jdWJlLmpzOjEzNC0xNDJdICAgICAgMSA4LjRlLTA0LCB0b3RhbDogICAgICA2ICAw
LjAwNTAgKi8KICAgICAgICAgICAgICAgOiAgdmFyIFQgPSBbCiAgICAgICAgICAgICAgIDogIFsx
LDAsMCxEeF0sCiAgICAgICAgICAgICAgIDogIFswLDEsMCxEeV0sCiAgICAgICAgICAgICAgIDog
IFswLDAsMSxEel0sCiAgICAgICAgICAgICAgIDogIFswLDAsMCwxXQogICAgICAgICAgICAgICA6
ICBdOwogICAgICAgICAgICAgICA6ICByZXR1cm4gTU11bHRpKFQsIE0pOwogICAgICAgICAgICAg
ICA6fQogICAgICAgICAgICAgICA6CiAgICAgICAgICAgICAgIDpmdW5jdGlvbiBSb3RhdGVYKE0s
IFBoaSkgeyAvKiA8aml0LWZ1bmM+OlJvdGF0ZVhbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJl
LmpzOjE0NC0xNTZdICAgICAgMSA4LjRlLTA0LCA8aml0LWZ1bmM+OlJvdGF0ZVhbdGVzdHMvc3Vu
c3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE0NC0xNTZdICAgICAgMSA4LjRlLTA0LCA8aml0LWZ1bmM+
OlJvdGF0ZVhbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE0NC0xNTZdICAgICAgMSA4
LjRlLTA0LCA8aml0LWZ1bmM+OlJvdGF0ZVhbdGVzdHMvc3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpz
OjE0NC0xNTZdICAgICAgMyAgMC4wMDI1LCA8aml0LWZ1bmM+OlJvdGF0ZVhbdGVzdHMvc3Vuc3Bp
ZGVyLTAuOS8zZC1jdWJlLmpzOjE0NC0xNTZdICAgICAgMiAgMC4wMDE3LCB0b3RhbDogICAgICA4
ICAwLjAwNjcgKi8KICAgICAgICAgICAgICAgOiAgdmFyIGEgPSBQaGk7CiAgICAgMiAgMC4wMDE3
IDogIGEgKj0gTWF0aC5QSSAvIDE4MDsKICAgICAyICAwLjAwMTcgOiAgdmFyIENvcyA9IE1hdGgu
Y29zKGEpOwogICAgIDIgIDAuMDAxNyA6ICB2YXIgU2luID0gTWF0aC5zaW4oYSk7CiAgICAgMiAg
MC4wMDE3IDogIHZhciBSID0gWwogICAgICAgICAgICAgICA6ICBbMSwwLDAsMF0sCiAgICAgICAg
ICAgICAgIDogIFswLENvcywtU2luLDBdLAogICAgICAgICAgICAgICA6ICBbMCxTaW4sQ29zLDBd
LAogICAgICAgICAgICAgICA6ICBbMCwwLDAsMV0KICAgICAgICAgICAgICAgOiAgXTsKICAgICAg
ICAgICAgICAgOiAgcmV0dXJuIE1NdWx0aShSLCBNKTsKICAgICAgICAgICAgICAgOn0KICAgICAg
ICAgICAgICAgOgogICAgIDEgOC40ZS0wNCA6ZnVuY3Rpb24gUm90YXRlWShNLCBQaGkpIHsgLyog
PGppdC1mdW5jPjpSb3RhdGVZW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoxNTgtMTcw
XSAgICAgIDEgOC40ZS0wNCwgPGppdC1mdW5jPjpSb3RhdGVZW3Rlc3RzL3N1bnNwaWRlci0wLjkv
M2QtY3ViZS5qczoxNTgtMTcwXSAgICAgIDEgOC40ZS0wNCwgPGppdC1mdW5jPjpSb3RhdGVZW3Rl
c3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoxNTgtMTcwXSAgICAgIDEgOC40ZS0wNCwgPGpp
dC1mdW5jPjpSb3RhdGVZW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoxNTgtMTcwXSAg
ICAgIDEgOC40ZS0wNCwgPGppdC1mdW5jPjpSb3RhdGVZW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2Qt
Y3ViZS5qczoxNTgtMTcwXSAgICAgIDEgOC40ZS0wNCwgdG90YWw6ICAgICAgNSAgMC4wMDQyICov
CiAgICAgICAgICAgICAgIDogIHZhciBhID0gUGhpOwogICAgICAgICAgICAgICA6ICBhICo9IE1h
dGguUEkgLyAxODA7CiAgICAgMSA4LjRlLTA0IDogIHZhciBDb3MgPSBNYXRoLmNvcyhhKTsKICAg
ICAgICAgICAgICAgOiAgdmFyIFNpbiA9IE1hdGguc2luKGEpOwogICAgIDIgIDAuMDAxNyA6ICB2
YXIgUiA9IFsKICAgICAgICAgICAgICAgOiAgW0NvcywwLFNpbiwwXSwKICAgICAgICAgICAgICAg
OiAgWzAsMSwwLDBdLAogICAgICAgICAgICAgICA6ICBbLVNpbiwwLENvcywwXSwKICAgICAgICAg
ICAgICAgOiAgWzAsMCwwLDFdCiAgICAgICAgICAgICAgIDogIF07CiAgICAgICAgICAgICAgIDog
IHJldHVybiBNTXVsdGkoUiwgTSk7CiAgICAgICAgICAgICAgIDp9CiAgICAgICAgICAgICAgIDoK
ICAgICAxIDguNGUtMDQgOmZ1bmN0aW9uIFJvdGF0ZVooTSwgUGhpKSB7IC8qIDxqaXQtZnVuYz46
Um90YXRlWlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTcyLTE4NF0gICAgICAxIDgu
NGUtMDQsIDxqaXQtZnVuYz46Um90YXRlWlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6
MTcyLTE4NF0gICAgICAxIDguNGUtMDQsIDxqaXQtZnVuYz46Um90YXRlWlt0ZXN0cy9zdW5zcGlk
ZXItMC45LzNkLWN1YmUuanM6MTcyLTE4NF0gICAgICAxIDguNGUtMDQsIDxqaXQtZnVuYz46Um90
YXRlWlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTcyLTE4NF0gICAgICAzICAwLjAw
MjUsIDxqaXQtZnVuYz46Um90YXRlWlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTcy
LTE4NF0gICAgICAxIDguNGUtMDQsIDxqaXQtZnVuYz46Um90YXRlWlt0ZXN0cy9zdW5zcGlkZXIt
MC45LzNkLWN1YmUuanM6MTcyLTE4NF0gICAgICAxIDguNGUtMDQsIDxqaXQtZnVuYz46Um90YXRl
Wlt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MTcyLTE4NF0gICAgICAxIDguNGUtMDQs
IHRvdGFsOiAgICAgIDkgIDAuMDA3NiAqLwogICAgICAgICAgICAgICA6ICB2YXIgYSA9IFBoaTsK
ICAgICAzICAwLjAwMjUgOiAgYSAqPSBNYXRoLlBJIC8gMTgwOwogICAgICAgICAgICAgICA6ICB2
YXIgQ29zID0gTWF0aC5jb3MoYSk7CiAgICAgMSA4LjRlLTA0IDogIHZhciBTaW4gPSBNYXRoLnNp
bihhKTsKICAgICAzICAwLjAwMjUgOiAgdmFyIFIgPSBbCiAgICAgICAgICAgICAgIDogIFtDb3Ms
LVNpbiwwLDBdLAogICAgICAgICAgICAgICA6ICBbU2luLENvcywwLDBdLAogICAgICAgICAgICAg
ICA6ICBbMCwwLDEsMF0sICAgCiAgICAgICAgICAgICAgIDogIFswLDAsMCwxXQogICAgICAgICAg
ICAgICA6ICBdOwogICAgIDEgOC40ZS0wNCA6ICByZXR1cm4gTU11bHRpKFIsIE0pOwogICAgICAg
ICAgICAgICA6fQogICAgICAgICAgICAgICA6CiAgICAgNSAgMC4wMDQyIDpmdW5jdGlvbiBEcmF3
UXViZSgpIHsgLyogPGppdC1mdW5jPjpEcmF3UXViZVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1
YmUuanM6MTg2LTIzMF0gICAgICA4ICAwLjAwNjcsIDxqaXQtZnVuYz46RHJhd1F1YmVbdGVzdHMv
c3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE4Ni0yMzBdICAgICAgOSAgMC4wMDc2LCA8aml0LWZ1
bmM+OkRyYXdRdWJlW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoxODYtMjMwXSAgICAg
MTIgIDAuMDEwMSwgPGppdC1mdW5jPjpEcmF3UXViZVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1
YmUuanM6MTg2LTIzMF0gICAgICA3ICAwLjAwNTksIDxqaXQtZnVuYz46RHJhd1F1YmVbdGVzdHMv
c3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE4Ni0yMzBdICAgICAgMiAgMC4wMDE3LCA8aml0LWZ1
bmM+OkRyYXdRdWJlW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoxODYtMjMwXSAgICAg
MTAgIDAuMDA4NCwgPGppdC1mdW5jPjpEcmF3UXViZVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1
YmUuanM6MTg2LTIzMF0gICAgICA1ICAwLjAwNDIsIDxqaXQtZnVuYz46RHJhd1F1YmVbdGVzdHMv
c3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE4Ni0yMzBdICAgICAgNyAgMC4wMDU5LCA8aml0LWZ1
bmM+OkRyYXdRdWJlW3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoxODYtMjMwXSAgICAg
IDYgIDAuMDA1MCwgPGppdC1mdW5jPjpEcmF3UXViZVt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1
YmUuanM6MTg2LTIzMF0gICAgICA2ICAwLjAwNTAsIDxqaXQtZnVuYz46RHJhd1F1YmVbdGVzdHMv
c3Vuc3BpZGVyLTAuOS8zZC1jdWJlLmpzOjE4Ni0yMzBdICAgICAxNSAgMC4wMTI2LCB0b3RhbDog
ICAgIDg3ICAwLjA3MzIgKi8KICAgICAgICAgICAgICAgOiAgLy8gY2FsYyBjdXJyZW50IG5vcm1h
bHMKICAgICAgICAgICAgICAgOiAgdmFyIEN1ck4gPSBuZXcgQXJyYXkoKTsKICAgICAxIDguNGUt
MDQgOiAgdmFyIGkgPSA1OwogICAgICAgICAgICAgICA6ICBRLkxhc3RQeCA9IDA7CiAgICAxNCAg
MC4wMTE4IDogIGZvciAoOyBpID4gLTE7IGktLSkgQ3VyTltpXSA9IFZNdWx0aTIoTVF1YmUsIFEu
Tm9ybWFsW2ldKTsKICAgICAgICAgICAgICAgOiAgaWYgKEN1ck5bMF1bMl0gPCAwKSB7CiAgICAg
ICAgICAgICAgIDogICAgaWYgKCFRLkxpbmVbMF0pIHsgRHJhd0xpbmUoUVswXSwgUVsxXSk7IFEu
TGluZVswXSA9IHRydWU7IH07CiAgICAgICAgICAgICAgIDogICAgaWYgKCFRLkxpbmVbMV0pIHsg
RHJhd0xpbmUoUVsxXSwgUVsyXSk7IFEuTGluZVsxXSA9IHRydWU7IH07CiAgICAgICAgICAgICAg
IDogICAgaWYgKCFRLkxpbmVbMl0pIHsgRHJhd0xpbmUoUVsyXSwgUVszXSk7IFEuTGluZVsyXSA9
IHRydWU7IH07CiAgICAgICAgICAgICAgIDogICAgaWYgKCFRLkxpbmVbM10pIHsgRHJhd0xpbmUo
UVszXSwgUVswXSk7IFEuTGluZVszXSA9IHRydWU7IH07CiAgICAgICAgICAgICAgIDogIH0KICAg
ICAxIDguNGUtMDQgOiAgaWYgKEN1ck5bMV1bMl0gPCAwKSB7CiAgICAgMyAgMC4wMDI1IDogICAg
aWYgKCFRLkxpbmVbMl0pIHsgRHJhd0xpbmUoUVszXSwgUVsyXSk7IFEuTGluZVsyXSA9IHRydWU7
IH07CiAgICAgMyAgMC4wMDI1IDogICAgaWYgKCFRLkxpbmVbOV0pIHsgRHJhd0xpbmUoUVsyXSwg
UVs2XSk7IFEuTGluZVs5XSA9IHRydWU7IH07CiAgICAgMyAgMC4wMDI1IDogICAgaWYgKCFRLkxp
bmVbNl0pIHsgRHJhd0xpbmUoUVs2XSwgUVs3XSk7IFEuTGluZVs2XSA9IHRydWU7IH07CiAgICAg
MyAgMC4wMDI1IDogICAgaWYgKCFRLkxpbmVbMTBdKSB7IERyYXdMaW5lKFFbN10sIFFbM10pOyBR
LkxpbmVbMTBdID0gdHJ1ZTsgfTsKICAgICAgICAgICAgICAgOiAgfQogICAgIDMgIDAuMDAyNSA6
ICBpZiAoQ3VyTlsyXVsyXSA8IDApIHsKICAgICA1ICAwLjAwNDIgOiAgICBpZiAoIVEuTGluZVs0
XSkgeyBEcmF3TGluZShRWzRdLCBRWzVdKTsgUS5MaW5lWzRdID0gdHJ1ZTsgfTsKICAgICA2ICAw
LjAwNTAgOiAgICBpZiAoIVEuTGluZVs1XSkgeyBEcmF3TGluZShRWzVdLCBRWzZdKTsgUS5MaW5l
WzVdID0gdHJ1ZTsgfTsKICAgICA0ICAwLjAwMzQgOiAgICBpZiAoIVEuTGluZVs2XSkgeyBEcmF3
TGluZShRWzZdLCBRWzddKTsgUS5MaW5lWzZdID0gdHJ1ZTsgfTsKICAgICAyICAwLjAwMTcgOiAg
ICBpZiAoIVEuTGluZVs3XSkgeyBEcmF3TGluZShRWzddLCBRWzRdKTsgUS5MaW5lWzddID0gdHJ1
ZTsgfTsKICAgICAgICAgICAgICAgOiAgfQogICAgIDEgOC40ZS0wNCA6ICBpZiAoQ3VyTlszXVsy
XSA8IDApIHsKICAgICAgICAgICAgICAgOiAgICBpZiAoIVEuTGluZVs0XSkgeyBEcmF3TGluZShR
WzRdLCBRWzVdKTsgUS5MaW5lWzRdID0gdHJ1ZTsgfTsKICAgICAgICAgICAgICAgOiAgICBpZiAo
IVEuTGluZVs4XSkgeyBEcmF3TGluZShRWzVdLCBRWzFdKTsgUS5MaW5lWzhdID0gdHJ1ZTsgfTsK
ICAgICAyICAwLjAwMTcgOiAgICBpZiAoIVEuTGluZVswXSkgeyBEcmF3TGluZShRWzFdLCBRWzBd
KTsgUS5MaW5lWzBdID0gdHJ1ZTsgfTsKICAgICAyICAwLjAwMTcgOiAgICBpZiAoIVEuTGluZVsx
MV0pIHsgRHJhd0xpbmUoUVswXSwgUVs0XSk7IFEuTGluZVsxMV0gPSB0cnVlOyB9OwogICAgICAg
ICAgICAgICA6ICB9CiAgICAgNCAgMC4wMDM0IDogIGlmIChDdXJOWzRdWzJdIDwgMCkgewogICAg
IDIgIDAuMDAxNyA6ICAgIGlmICghUS5MaW5lWzExXSkgeyBEcmF3TGluZShRWzRdLCBRWzBdKTsg
US5MaW5lWzExXSA9IHRydWU7IH07CiAgICAgMiAgMC4wMDE3IDogICAgaWYgKCFRLkxpbmVbM10p
IHsgRHJhd0xpbmUoUVswXSwgUVszXSk7IFEuTGluZVszXSA9IHRydWU7IH07CiAgICAgNCAgMC4w
MDM0IDogICAgaWYgKCFRLkxpbmVbMTBdKSB7IERyYXdMaW5lKFFbM10sIFFbN10pOyBRLkxpbmVb
MTBdID0gdHJ1ZTsgfTsKICAgICAyICAwLjAwMTcgOiAgICBpZiAoIVEuTGluZVs3XSkgeyBEcmF3
TGluZShRWzddLCBRWzRdKTsgUS5MaW5lWzddID0gdHJ1ZTsgfTsKICAgICAgICAgICAgICAgOiAg
fQogICAgIDQgIDAuMDAzNCA6ICBpZiAoQ3VyTls1XVsyXSA8IDApIHsKICAgICAgICAgICAgICAg
OiAgICBpZiAoIVEuTGluZVs4XSkgeyBEcmF3TGluZShRWzFdLCBRWzVdKTsgUS5MaW5lWzhdID0g
dHJ1ZTsgfTsKICAgICAgICAgICAgICAgOiAgICBpZiAoIVEuTGluZVs1XSkgeyBEcmF3TGluZShR
WzVdLCBRWzZdKTsgUS5MaW5lWzVdID0gdHJ1ZTsgfTsKICAgICAgICAgICAgICAgOiAgICBpZiAo
IVEuTGluZVs5XSkgeyBEcmF3TGluZShRWzZdLCBRWzJdKTsgUS5MaW5lWzldID0gdHJ1ZTsgfTsK
ICAgICAgICAgICAgICAgOiAgICBpZiAoIVEuTGluZVsxXSkgeyBEcmF3TGluZShRWzJdLCBRWzFd
KTsgUS5MaW5lWzFdID0gdHJ1ZTsgfTsKICAgICAgICAgICAgICAgOiAgfQogICAgIDEgOC40ZS0w
NCA6ICBRLkxpbmUgPSBbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2Us
ZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdOwogICAgIDIgIDAuMDAxNyA6ICBRLkxhc3RQ
eCA9IDA7CiAgICAgICAgICAgICAgIDp9CiAgICAgICAgICAgICAgIDoKICAgICAxIDguNGUtMDQg
OmZ1bmN0aW9uIExvb3AoKSB7IC8qIDxqaXQtZnVuYz46TG9vcFt0ZXN0cy9zdW5zcGlkZXItMC45
LzNkLWN1YmUuanM6MjMyLTI0OV0gICAgICA1ICAwLjAwNDIsIDxqaXQtZnVuYz46TG9vcFt0ZXN0
cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MjMyLTI0OV0gICAgICAzICAwLjAwMjUsIDxqaXQt
ZnVuYz46TG9vcFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MjMyLTI0OV0gICAgICA0
ICAwLjAwMzQsIDxqaXQtZnVuYz46TG9vcFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6
MjMyLTI0OV0gICAgICA1ICAwLjAwNDIsIDxqaXQtZnVuYz46TG9vcFt0ZXN0cy9zdW5zcGlkZXIt
MC45LzNkLWN1YmUuanM6MjMyLTI0OV0gICAgICA3ICAwLjAwNTksIDxqaXQtZnVuYz46TG9vcFt0
ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MjMyLTI0OV0gICAgICA0ICAwLjAwMzQsIDxq
aXQtZnVuYz46TG9vcFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MjMyLTI0OV0gICAg
ICAyICAwLjAwMTcsIDxqaXQtZnVuYz46TG9vcFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUu
anM6MjMyLTI0OV0gICAgICAyICAwLjAwMTcsIDxqaXQtZnVuYz46TG9vcFt0ZXN0cy9zdW5zcGlk
ZXItMC45LzNkLWN1YmUuanM6MjMyLTI0OV0gICAgICA0ICAwLjAwMzQsIDxqaXQtZnVuYz46TG9v
cFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MjMyLTI0OV0gICAgICAxIDguNGUtMDQs
IDxqaXQtZnVuYz46TG9vcFt0ZXN0cy9zdW5zcGlkZXItMC45LzNkLWN1YmUuanM6MjMyLTI0OV0g
ICAgICAyICAwLjAwMTcsIHRvdGFsOiAgICAgMzkgIDAuMDMyOCAqLwogICAgICAgICAgICAgICA6
ICBpZiAoVGVzdGluZy5Mb29wQ291bnQgPiBUZXN0aW5nLkxvb3BNYXgpIHJldHVybjsKICAgICAx
IDguNGUtMDQgOiAgdmFyIFRlc3RpbmdTdHIgPSBTdHJpbmcoVGVzdGluZy5Mb29wQ291bnQpOwog
ICAgIDEgOC40ZS0wNCA6ICB3aGlsZSAoVGVzdGluZ1N0ci5sZW5ndGggPCAzKSBUZXN0aW5nU3Ry
ID0gIjAiICsgVGVzdGluZ1N0cjsKICAgICA2ICAwLjAwNTAgOiAgTVRyYW5zID0gVHJhbnNsYXRl
KEksIC1RWzhdLlZbMF0sIC1RWzhdLlZbMV0sIC1RWzhdLlZbMl0pOwogICAgIDQgIDAuMDAzNCA6
ICBNVHJhbnMgPSBSb3RhdGVYKE1UcmFucywgMSk7CiAgICAgNyAgMC4wMDU5IDogIE1UcmFucyA9
IFJvdGF0ZVkoTVRyYW5zLCAzKTsKICAgICAyICAwLjAwMTcgOiAgTVRyYW5zID0gUm90YXRlWihN
VHJhbnMsIDUpOwogICAgIDMgIDAuMDAyNSA6ICBNVHJhbnMgPSBUcmFuc2xhdGUoTVRyYW5zLCBR
WzhdLlZbMF0sIFFbOF0uVlsxXSwgUVs4XS5WWzJdKTsKICAgICAgICAgICAgICAgOiAgTVF1YmUg
PSBNTXVsdGkoTVRyYW5zLCBNUXViZSk7CiAgICAgICAgICAgICAgIDogIHZhciBpID0gODsKICAg
ICAgICAgICAgICAgOiAgZm9yICg7IGkgPiAtMTsgaS0tKSB7CiAgICAxMSAgMC4wMDkzIDogICAg
UVtpXS5WID0gVk11bHRpKE1UcmFucywgUVtpXS5WKTsKICAgICAgICAgICAgICAgOiAgfQogICAg
ICAgICAgICAgICA6ICBEcmF3UXViZSgpOwogICAgICAgICAgICAgICA6ICBUZXN0aW5nLkxvb3BD
b3VudCsrOwogICAgIDEgOC40ZS0wNCA6ICBMb29wKCk7CiAgICAgICAgICAgICAgIDp9CiAgICAg
ICAgICAgICAgIDoKICAgICAgICAgICAgICAgOmZ1bmN0aW9uIEluaXQoQ3ViZVNpemUpIHsgLyog
PGppdC1mdW5jPjpJbml0W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoyNTEtMzI0XSAg
ICAgIDMgIDAuMDAyNSwgPGppdC1mdW5jPjpJbml0W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3Vi
ZS5qczoyNTEtMzI0XSAgICAgIDIgIDAuMDAxNywgPGppdC1mdW5jPjpJbml0W3Rlc3RzL3N1bnNw
aWRlci0wLjkvM2QtY3ViZS5qczoyNTEtMzI0XSAgICAgIDEgOC40ZS0wNCwgPGppdC1mdW5jPjpJ
bml0W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoyNTEtMzI0XSAgICAgIDUgIDAuMDA0
MiwgPGppdC1mdW5jPjpJbml0W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoyNTEtMzI0
XSAgICAgIDIgIDAuMDAxNywgPGppdC1mdW5jPjpJbml0W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2Qt
Y3ViZS5qczoyNTEtMzI0XSAgICAgIDIgIDAuMDAxNywgPGppdC1mdW5jPjpJbml0W3Rlc3RzL3N1
bnNwaWRlci0wLjkvM2QtY3ViZS5qczoyNTEtMzI0XSAgICAgIDEgOC40ZS0wNCwgPGppdC1mdW5j
PjpJbml0W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoyNTEtMzI0XSAgICAgIDIgIDAu
MDAxNywgPGppdC1mdW5jPjpJbml0W3Rlc3RzL3N1bnNwaWRlci0wLjkvM2QtY3ViZS5qczoyNTEt
MzI0XSAgICAgIDEgOC40ZS0wNCwgPGppdC1mdW5jPjpJbml0W3Rlc3RzL3N1bnNwaWRlci0wLjkv
M2QtY3ViZS5qczoyNTEtMzI0XSAgICAgIDIgIDAuMDAxNywgdG90YWw6ICAgICAyMSAgMC4wMTc3
ICovCiAgICAgICAgICAgICAgIDogIC8vIGluaXQvcmVzZXQgdmFycwogICAgICAgICAgICAgICA6
ICBPcmlnaW4uViA9IFsxNTAsMTUwLDIwLDFdOwogICAgICAgICAgICAgICA6ICBUZXN0aW5nLkxv
b3BDb3VudCA9IDA7CiAgICAgICAgICAgICAgIDogIFRlc3RpbmcuTG9vcE1heCA9IDUwOwogICAg
ICAgICAgICAgICA6ICBUZXN0aW5nLlRpbWVNYXggPSAwOwogICAgICAgICAgICAgICA6ICBUZXN0
aW5nLlRpbWVBdmcgPSAwOwogICAgICAgICAgICAgICA6ICBUZXN0aW5nLlRpbWVNaW4gPSAwOwog
ICAgICAgICAgICAgICA6ICBUZXN0aW5nLlRpbWVUZW1wID0gMDsKICAgICAgICAgICAgICAgOiAg
VGVzdGluZy5UaW1lVG90YWwgPSAwOwogICAgICAgICAgICAgICA6ICBUZXN0aW5nLkluaXQgPSBm
YWxzZTsKICAgICAgICAgICAgICAgOgogICAgICAgICAgICAgICA6ICAvLyB0cmFuc2Zvcm1hdGlv
biBtYXRyaXgKICAgICAgICAgICAgICAgOiAgTVRyYW5zID0gWwogICAgICAgICAgICAgICA6ICBb
MSwwLDAsMF0sCiAgICAgICAgICAgICAgIDogIFswLDEsMCwwXSwKICAgICAgICAgICAgICAgOiAg
WzAsMCwxLDBdLAogICAgICAgICAgICAgICA6ICBbMCwwLDAsMV0KICAgICAgICAgICAgICAgOiAg
XTsKICAgICAgICAgICAgICAgOiAgCiAgICAgICAgICAgICAgIDogIC8vIHBvc2l0aW9uIGluZm9y
bWF0aW9uIG9mIHF1YmUKICAgICAgICAgICAgICAgOiAgTVF1YmUgPSBbCiAgICAgICAgICAgICAg
IDogIFsxLDAsMCwwXSwKICAgICAgICAgICAgICAgOiAgWzAsMSwwLDBdLAogICAgICAgICAgICAg
ICA6ICBbMCwwLDEsMF0sCiAgICAgICAgICAgICAgIDogIFswLDAsMCwxXQogICAgICAgICAgICAg
ICA6ICBdOwogICAgICAgICAgICAgICA6ICAKICAgICAgICAgICAgICAgOiAgLy8gZW50aXR5IG1h
dHJpeAogICAgICAgICAgICAgICA6ICBJID0gWwogICAgICAgICAgICAgICA6ICBbMSwwLDAsMF0s
CiAgICAgICAgICAgICAgIDogIFswLDEsMCwwXSwKICAgICAgICAgICAgICAgOiAgWzAsMCwxLDBd
LAogICAgICAgICAgICAgICA6ICBbMCwwLDAsMV0KICAgICAgICAgICAgICAgOiAgXTsKICAgICAg
ICAgICAgICAgOiAgCiAgICAgICAgICAgICAgIDogIC8vIGNyZWF0ZSBxdWJlCiAgICAgICAgICAg
ICAgIDogIFFbMF0gPSBuZXcgQ3JlYXRlUCgtQ3ViZVNpemUsLUN1YmVTaXplLCBDdWJlU2l6ZSk7
CiAgICAgICAgICAgICAgIDogIFFbMV0gPSBuZXcgQ3JlYXRlUCgtQ3ViZVNpemUsIEN1YmVTaXpl
LCBDdWJlU2l6ZSk7CiAgICAgICAgICAgICAgIDogIFFbMl0gPSBuZXcgQ3JlYXRlUCggQ3ViZVNp
emUsIEN1YmVTaXplLCBDdWJlU2l6ZSk7CiAgICAgICAgICAgICAgIDogIFFbM10gPSBuZXcgQ3Jl
YXRlUCggQ3ViZVNpemUsLUN1YmVTaXplLCBDdWJlU2l6ZSk7CiAgICAgICAgICAgICAgIDogIFFb
NF0gPSBuZXcgQ3JlYXRlUCgtQ3ViZVNpemUsLUN1YmVTaXplLC1DdWJlU2l6ZSk7CiAgICAgICAg
ICAgICAgIDogIFFbNV0gPSBuZXcgQ3JlYXRlUCgtQ3ViZVNpemUsIEN1YmVTaXplLC1DdWJlU2l6
ZSk7CiAgICAgICAgICAgICAgIDogIFFbNl0gPSBuZXcgQ3JlYXRlUCggQ3ViZVNpemUsIEN1YmVT
aXplLC1DdWJlU2l6ZSk7CiAgICAgICAgICAgICAgIDogIFFbN10gPSBuZXcgQ3JlYXRlUCggQ3Vi
ZVNpemUsLUN1YmVTaXplLC1DdWJlU2l6ZSk7CiAgICAgICAgICAgICAgIDogIAogICAgICAgICAg
ICAgICA6ICAvLyBjZW50ZXIgb2YgZ3Jhdml0eQogICAgICAgICAgICAgICA6ICBRWzhdID0gbmV3
IENyZWF0ZVAoMCwgMCwgMCk7CiAgICAgICAgICAgICAgIDogIAogICAgICAgICAgICAgICA6ICAv
LyBhbnRpLWNsb2Nrd2lzZSBlZGdlIGNoZWNrCiAgICAgICAgICAgICAgIDogIFEuRWRnZSA9IFtb
MCwxLDJdLFszLDIsNl0sWzcsNiw1XSxbNCw1LDFdLFs0LDAsM10sWzEsNSw2XV07CiAgICAgICAg
ICAgICAgIDogIAogICAgICAgICAgICAgICA6ICAvLyBjYWxjdWxhdGUgc3F1YWQgbm9ybWFscwog
ICAgICAgICAgICAgICA6ICBRLk5vcm1hbCA9IG5ldyBBcnJheSgpOwogICAgIDEgOC40ZS0wNCA6
ICBmb3IgKHZhciBpID0gMDsgaSA8IFEuRWRnZS5sZW5ndGg7IGkrKykgUS5Ob3JtYWxbaV0gPSBD
YWxjTm9ybWFsKFFbUS5FZGdlW2ldWzBdXS5WLCBRW1EuRWRnZVtpXVsxXV0uViwgUVtRLkVkZ2Vb
aV1bMl1dLlYpOwogICAgICAgICAgICAgICA6ICAKICAgICAgICAgICAgICAgOiAgLy8gbGluZSBk
cmF3biA/CiAgICAgICAgICAgICAgIDogIFEuTGluZSA9IFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxz
ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV07CiAgICAg
ICAgICAgICAgIDogIAogICAgICAgICAgICAgICA6ICAvLyBjcmVhdGUgbGluZSBwaXhlbHMKICAg
ICAgICAgICAgICAgOiAgUS5OdW1QeCA9IDkgKiAyICogQ3ViZVNpemU7CiAgICAxOCAgMC4wMTUx
IDogIGZvciAodmFyIGkgPSAwOyBpIDwgUS5OdW1QeDsgaSsrKSBDcmVhdGVQKDAsMCwwKTsKICAg
ICAgICAgICAgICAgOiAgCiAgICAgICAgICAgICAgIDogIE1UcmFucyA9IFRyYW5zbGF0ZShNVHJh
bnMsIE9yaWdpbi5WWzBdLCBPcmlnaW4uVlsxXSwgT3JpZ2luLlZbMl0pOwogICAgICAgICAgICAg
ICA6ICBNUXViZSA9IE1NdWx0aShNVHJhbnMsIE1RdWJlKTsKICAgICAgICAgICAgICAgOgogICAg
ICAgICAgICAgICA6ICB2YXIgaSA9IDA7CiAgICAgICAgICAgICAgIDogIGZvciAoOyBpIDwgOTsg
aSsrKSB7CiAgICAgICAgICAgICAgIDogICAgUVtpXS5WID0gVk11bHRpKE1UcmFucywgUVtpXS5W
KTsKICAgICAgICAgICAgICAgOiAgfQogICAgICAgICAgICAgICA6ICBEcmF3UXViZSgpOwogICAg
ICAgICAgICAgICA6ICBUZXN0aW5nLkluaXQgPSB0cnVlOwogICAgICAgICAgICAgICA6ICBMb29w
KCk7CiAgICAgICAgICAgICAgIDp9CiAgICAgICAgICAgICAgIDoKICAgICAgICAgICAgICAgOmZv
ciAoIHZhciBpID0gMjA7IGkgPD0gMTYwOyBpICo9IDIgKSB7CiAgICAgICAgICAgICAgIDogIElu
aXQoaSk7CiAgICAgICAgICAgICAgIDp9CiAgICAgICAgICAgICAgIDoKICAgICAgICAgICAgICAg
OlEgPSBudWxsOwogICAgICAgICAgICAgICA6TVRyYW5zID0gbnVsbDsKICAgICAgICAgICAgICAg
Ok1RdWJlID0gbnVsbDsKICAgICAgICAgICAgICAgOkkgPSBudWxsOwogICAgICAgICAgICAgICA6
T3JpZ2luID0gbnVsbDsKICAgICAgICAgICAgICAgOlRlc3RpbmcgPSBudWxsOwogICAgICAgICAg
ICAgICA6TG9vcFRpbWUgPSBudWxsOwogICAgICAgICAgICAgICA6RGlzcGxBcmVhID0gbnVsbDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53530</attachid>
            <date>2010-04-16 08:06:01 -0700</date>
            <delta_ts>2010-04-19 02:11:24 -0700</delta_ts>
            <desc>Supports OProfile JIT agent</desc>
            <filename>0001-Supports-OProfile.patch</filename>
            <type>text/plain</type>
            <size>44050</size>
            <attacher name="Gabor Loki">loki</attacher>
            
              <data encoding="base64">RnJvbSA3NGRmNWVlOTQwZjc2YWNmNDI1MWRjODgwYTg4NjRjMDFjYTY4MGFmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdlZC5odT4KRGF0
ZTogRnJpLCAxNiBBcHIgMjAxMCAxNjo0OTowMiArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIFN1cHBv
cnRzIE9Qcm9maWxlCgpTaWduZWQtb2ZmLWJ5OiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdl
ZC5odT4KLS0tCiBDaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAxNiArKysKIEdOVW1ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgICAzICstCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICA3NyArKysrKysrKysrKysKIEphdmFTY3JpcHRDb3JlL0dOVW1ha2Vm
aWxlLmFtICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsKIEphdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnBybyAgICAgICAgICAgICAgICAgfCAgICAxICsKIEphdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9MaW5rQnVmZmVyLmggICAgICAgICAgICAgfCAgICA3ICsKIEphdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL09wY29kZS5oICAgICAgICAgICAgICAgICAgfCAgICAxICsKIEphdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAgfCAgICA3ICsKIEphdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcCAgICAgICAgfCAgICA2ICsKIEphdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuY3BwICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAxICsKIEph
dmFTY3JpcHRDb3JlL2ppdC9KSVQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE5ICsr
Ky0KIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCAgICAgICAgICAgICAgICAgfCAg
IDE3ICsrKy0KIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuY3BwICAgICAgICAg
ICAgfCAgMTIxICsrKysrKysrKysrKysrKysrKwogSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb2Zp
bGVBZ2VudC5oICAgICAgICAgICAgICB8ICAxMzYgKysrKysrKysrKysrKysrKysrKysrCiBKYXZh
U2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwICAgICAgICAgIHwgICAyOSArKysr
KwogSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwICAgICB8ICAg
MjkgKysrKysKIEphdmFTY3JpcHRDb3JlL2pzYy5jcHAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgIDE4ICsrKwogSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmNwcCAgICAg
ICAgICAgICB8ICAgMzYgKysrKystCiBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0
YS5jcHAgICAgICAgICAgIHwgICAgMyArCiBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
RGF0YS5oICAgICAgICAgICAgIHwgICAgNCArCiBKYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0u
aCAgICAgICAgICAgICAgICAgICAgIHwgICAgOSArKwogSmF2YVNjcmlwdENvcmUveWFyci9SZWdl
eEpJVC5jcHAgICAgICAgICAgICAgICAgICB8ICAgIDggKy0KIGNvbmZpZ3VyZS5hYyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDI0ICsrKysKIDIzIGZpbGVzIGNoYW5n
ZWQsIDU2MyBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBKYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvZmlsZUFnZW50LmNwcAogY3JlYXRlIG1vZGUgMTAw
NjQ0IEphdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuaAoKZGlmZiAtLWdpdCBhL0No
YW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA4OTMzOTdhLi5jMzc0MTI0IDEwMDY0NAotLS0gYS9D
aGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDQtMTYgIEdh
Ym9yIExva2kgIDxsb2tpQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgU3VwcG9ydHMgT1Byb2ZpbGUgSklUIGFnZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjU2MQorCisgICAgICAg
IFRoaXMgcGF0Y2ggZmVlZHMgT1Byb2ZpbGUgZGFlbW9uIHdpdGggZGV0YWlsZWQgaW5mb3JtYXRp
b24gYWJvdXQgdGhlCisgICAgICAgIGdlbmVyZWF0ZWQgSklUIGNvZGUuIEl0IHBhc3NlcyBzb3Vy
Y2UvdXJsIHBhdGgsIGZ1bmN0aW9uIG5hbWVzIGFuZAorICAgICAgICBsaW5lIGluZm9ybWF0aW9u
IGZvciB0aGUgcmVwb3J0IGFuZCBhbm5vdGF0ZSB0b29scy4KKworICAgICAgICBEZXZlbG9wZWQg
aW4gY29vcGVyYXRpb24gd2l0aCBab2x0YW4gSGVyY3plZy4KKworICAgICAgICAqIEdOVW1ha2Vm
aWxlLmFtOgorICAgICAgICAqIGNvbmZpZ3VyZS5hYzoKKwogMjAxMC0wNC0wOSAgU2ltb24gSGF1
c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBj
cmFzaCBmaXguCmRpZmYgLS1naXQgYS9HTlVtYWtlZmlsZS5hbSBiL0dOVW1ha2VmaWxlLmFtCmlu
ZGV4IDNiZGZlNTMuLjNkNDQyM2MgMTAwNjQ0Ci0tLSBhL0dOVW1ha2VmaWxlLmFtCisrKyBiL0dO
VW1ha2VmaWxlLmFtCkBAIC0xODEsNyArMTgxLDggQEAgbGliSmF2YVNjcmlwdENvcmVfbGFfU09V
UkNFUyA9IFwKIGxpYkphdmFTY3JpcHRDb3JlX2xhX0xJQkFERCA9IFwKIAkkKFVOSUNPREVfTElC
UykgXAogCSQoR0xJQl9MSUJTKSBcCi0JLWxwdGhyZWFkCisJLWxwdGhyZWFkIFwKKwkkKE9QQUdF
TlRfTElCUykKIAogbGliSmF2YVNjcmlwdENvcmVfbGFfQ1hYRkxBR1MgPSBcCiAJJChnbG9iYWxf
Y3h4ZmxhZ3MpIFwKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAxMjMyN2U0Li42MmE0YTUwIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsODAgQEAKKzIwMTAtMDQtMTYgIEdhYm9yIExva2kgIDxsb2tpQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3VwcG9y
dHMgT1Byb2ZpbGUgSklUIGFnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zMjU2MQorCisgICAgICAgIFRoaXMgcGF0Y2ggZmVlZHMgT1Byb2ZpbGUg
ZGFlbW9uIHdpdGggZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhlCisgICAgICAgIGdlbmVy
ZWF0ZWQgSklUIGNvZGUuIEl0IHBhc3NlcyBzb3VyY2UvdXJsIHBhdGgsIGZ1bmN0aW9uIG5hbWVz
IGFuZAorICAgICAgICBsaW5lIGluZm9ybWF0aW9uIGZvciB0aGUgcmVwb3J0IGFuZCBhbm5vdGF0
ZSB0b29scy4KKworICAgICAgICBEZXZlbG9wZWQgaW4gY29vcGVyYXRpb24gd2l0aCBab2x0YW4g
SGVyY3plZy4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLnBybzoKKyAgICAgICAgKiBhc3NlbWJsZXIvTGlua0J1ZmZlci5oOgorICAgICAgICAo
SlNDOjpMaW5rQnVmZmVyOjpzaXplKToKKyAgICAgICAgKiBieXRlY29kZS9PcGNvZGUuaDoKKyAg
ICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlND
OjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdERlYnVnSG9vayk6CisgICAgICAgICogaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuY3BwOgorICAgICAgICAoSlNDOjpJbnRlcnByZXRlcjo6cHJpdmF0ZUV4
ZWN1dGUpOgorICAgICAgICAqIGppdC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZh
dGVDb21waWxlTWFpblBhc3MpOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKEpTQzo6
SklUOjpjb21waWxlKToKKyAgICAgICAgKiBqaXQvSklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChK
U0M6OkpJVDo6ZW1pdF9vcF9wcm9maWxlX2ppdCk6CisgICAgICAgICogaml0L0pJVFByb2ZpbGVB
Z2VudC5jcHA6IEFkZGVkLgorICAgICAgICAoSlNDOjpKSVRQcm9maWxlQWdlbnQ6OmluaXRBZ2Vu
dCk6CisgICAgICAgIChKU0M6OkpJVFByb2ZpbGVBZ2VudDo6ZGVpbml0QWdlbnQpOgorICAgICAg
ICAoSlNDOjpKSVRQcm9maWxlQWdlbnQ6OnJlZ2lzdGVySklUQ29kZUltcGwpOgorICAgICAgICAo
SlNDOjpKSVRQcm9maWxlQWdlbnQ6OmFubm90YXRlSklUQ29kZUltcGwpOgorICAgICAgICAqIGpp
dC9KSVRQcm9maWxlQWdlbnQuaDogQWRkZWQuCisgICAgICAgIChKU0M6OkxpbmVJbmZvUmVjb3Jk
OjpMaW5lSW5mb1JlY29yZCk6CisgICAgICAgIChKU0M6OkpJVFByb2ZpbGVBZ2VudDo6VmlydHVh
bE1lbW9yeVNlZ21lbnQ6OlZpcnR1YWxNZW1vcnlTZWdtZW50KToKKyAgICAgICAgKEpTQzo6SklU
UHJvZmlsZUFnZW50OjpKSVRQcm9maWxlQWdlbnQpOgorICAgICAgICAoSlNDOjpKSVRQcm9maWxl
QWdlbnQ6On5KSVRQcm9maWxlQWdlbnQpOgorICAgICAgICAoSlNDOjpKSVRQcm9maWxlQWdlbnQ6
OnJlZ2lzdGVySklUQ29kZSk6CisgICAgICAgIChKU0M6OkpJVFByb2ZpbGVBZ2VudDo6YW5ub3Rh
dGVKSVRDb2RlKToKKyAgICAgICAgKEpTQzo6SklUUHJvZmlsZUFnZW50OjpyZWNvcmRKSVRUcmFt
cG9saW5lcyk6CisgICAgICAgIChKU0M6OkpJVFByb2ZpbGVBZ2VudDo6c2V0RW5hYmxlZCk6Cisg
ICAgICAgIChKU0M6OkpJVFByb2ZpbGVBZ2VudDo6aXNFbmFibGVkKToKKyAgICAgICAgKiBqaXQv
SklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxl
UHV0QnlJZFRyYW5zaXRpb24pOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlUGF0
Y2hHZXRBcnJheUxlbmd0aCk6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRC
eUlkUHJvdG8pOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNlbGZM
aXN0KToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90b0xpc3Qp
OgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluTGlzdCk6Cisg
ICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4pOgorICAgICAgICAq
IGppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2
YXRlQ29tcGlsZVB1dEJ5SWRUcmFuc2l0aW9uKToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRl
Q29tcGlsZVBhdGNoR2V0QXJyYXlMZW5ndGgpOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVD
b21waWxlR2V0QnlJZFByb3RvKToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdl
dEJ5SWRTZWxmTGlzdCk6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlk
UHJvdG9MaXN0KToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFp
bkxpc3QpOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluKToK
KyAgICAgICAgKiBqc2MuY3BwOgorICAgICAgICAoT3B0aW9uczo6T3B0aW9ucyk6CisgICAgICAg
IChwcmludFVzYWdlU3RhdGVtZW50KToKKyAgICAgICAgKHBhcnNlQXJndW1lbnRzKToKKyAgICAg
ICAgKGpzY21haW4pOgorICAgICAgICAqIHJ1bnRpbWUvRXhlY3V0YWJsZS5jcHA6CisgICAgICAg
IChKU0M6OkV2YWxFeGVjdXRhYmxlOjpnZW5lcmF0ZUpJVENvZGUpOgorICAgICAgICAoSlNDOjpQ
cm9ncmFtRXhlY3V0YWJsZTo6Z2VuZXJhdGVKSVRDb2RlKToKKyAgICAgICAgKEpTQzo6RnVuY3Rp
b25FeGVjdXRhYmxlOjpnZW5lcmF0ZUpJVENvZGUpOgorICAgICAgICAoSlNDOjpGdW5jdGlvbkV4
ZWN1dGFibGU6OnJlcGFyc2VFeGNlcHRpb25JbmZvKToKKyAgICAgICAgKEpTQzo6RXZhbEV4ZWN1
dGFibGU6OnJlcGFyc2VFeGNlcHRpb25JbmZvKToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFs
RGF0YS5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsRGF0YTo6SlNHbG9iYWxEYXRhKToKKyAg
ICAgICAgKiBydW50aW1lL0pTR2xvYmFsRGF0YS5oOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5o
OgorICAgICAgICAqIHlhcnIvUmVnZXhKSVQuY3BwOgorICAgICAgICAoSlNDOjpZYXJyOjpSZWdl
eEdlbmVyYXRvcjo6Y29tcGlsZSk6CisKIDIwMTAtMDQtMTUgIEplZHJ6ZWogTm93YWNraSAgPGpl
ZHJ6ZWoubm93YWNraUBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBS
b2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmls
ZS5hbSBiL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDg3M2FmOTUuLmYyYzE1
YWEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL0phdmFT
Y3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04Miw2ICs4Miw4IEBAIGphdmFzY3JpcHRjb3Jl
X3NvdXJjZXMgKz0gXAogCUphdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCBcCiAJSmF2
YVNjcmlwdENvcmUvaml0L0pJVENhbGwuY3BwIFwKIAlKYXZhU2NyaXB0Q29yZS9qaXQvSklUQ29k
ZS5oIFwKKwlKYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvZmlsZUFnZW50LmggXAorCUphdmFTY3Jp
cHRDb3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuY3BwIFwKIAlKYXZhU2NyaXB0Q29yZS9qaXQvSklU
UHJvcGVydHlBY2Nlc3MuY3BwIFwKIAlKYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nl
c3MzMl82NC5jcHAgXAogCUphdmFTY3JpcHRDb3JlL2ppdC9KSVRBcml0aG1ldGljLmNwcCBcCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcm8gYi9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5wcm8KaW5kZXggYmU4YTE1NC4uYzQ3MWI0MSAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJvCisrKyBiL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnBybwpAQCAtOTMsNiArOTMsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBq
aXQvSklUQ2FsbC5jcHAgXAogICAgIGppdC9KSVQuY3BwIFwKICAgICBqaXQvSklUT3Bjb2Rlcy5j
cHAgXAorICAgIGppdC9KSVRQcm9maWxlQWdlbnQuY3BwIFwKICAgICBqaXQvSklUUHJvcGVydHlB
Y2Nlc3MuY3BwIFwKICAgICBqaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAgXAogICAgIGpp
dC9KSVRTdHVicy5jcHAgXApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xp
bmtCdWZmZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKaW5kZXgg
NDdjYWM1YS4uMDY1NGYzNiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xp
bmtCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oCkBA
IC0xNTksNiArMTU5LDEzIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIENvZGVMb2NhdGlvbkxh
YmVsKGNvZGUoKSk7CiAgICAgfQogCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAg
IGNvbnN0IHNpemVfdCBzaXplKCkKKyAgICB7CisgICAgICAgIHJldHVybiBtX3NpemU7CisgICAg
fQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgLy8gS2VlcCB0aGlzIHByaXZhdGUhIC0gdGhlIHVu
ZGVybHlpbmcgY29kZSBzaG91bGQgb25seSBiZSBvYnRhaW5lZCBleHRlcm5hbGx5IHZpYSAKICAg
ICAvLyBmaW5hbGl6ZUNvZGUoKSBvciBmaW5hbGl6ZUNvZGVBZGRlbmR1bSgpLgpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9PcGNvZGUuaAppbmRleCA1MDlkYWViLi5iNmZkNDZmIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9PcGNvZGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9P
cGNvZGUuaApAQCAtMTgyLDYgKzE4Miw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBtYWNy
byhvcF9kZWJ1ZywgNCkgXAogICAgICAgICBtYWNybyhvcF9wcm9maWxlX3dpbGxfY2FsbCwgMikg
XAogICAgICAgICBtYWNybyhvcF9wcm9maWxlX2RpZF9jYWxsLCAyKSBcCisgICAgICAgIG1hY3Jv
KG9wX3Byb2ZpbGVfaml0LCAzKSBcCiAgICAgICAgIFwKICAgICAgICAgbWFjcm8ob3BfZW5kLCAy
KSAvLyBlbmQgbXVzdCBiZSB0aGUgbGFzdCBvcGNvZGUgaW4gdGhlIGxpc3QKIApkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggZTQ2
YmIxNS4uNjhkODdlNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5
dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xNjM3LDYgKzE2MzcsMTMgQEAgdm9pZCBCeXRlY29kZUdl
bmVyYXRvcjo6ZW1pdFBvcFNjb3BlKCkKIAogdm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdERl
YnVnSG9vayhEZWJ1Z0hvb2tJRCBkZWJ1Z0hvb2tJRCwgaW50IGZpcnN0TGluZSwgaW50IGxhc3RM
aW5lKQogeworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBpZiAobV9nbG9iYWxE
YXRhLT5qaXRQcm9maWxlQWdlbnQuaXNFbmFibGVkKCkpIHsKKyAgICAgICAgZW1pdE9wY29kZShv
cF9wcm9maWxlX2ppdCk7CisgICAgICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChmaXJzdExpbmUp
OworICAgICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQobGFzdExpbmUpOworICAgIH0KKyNlbmRp
ZgogICAgIGlmICghbV9zaG91bGRFbWl0RGVidWdIb29rcykKICAgICAgICAgcmV0dXJuOwogICAg
IGVtaXRPcGNvZGUob3BfZGVidWcpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJw
cmV0ZXIuY3BwCmluZGV4IGZhNWQ3MmMuLjhlMjc0MjAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTQyMTIsNiArNDIxMiwxMiBAQCBza2lwX2lkX2N1
c3RvbV9zZWxmOgogICAgICAgICB2UEMgKz0gT1BDT0RFX0xFTkdUSChvcF9wcm9maWxlX2RpZF9j
YWxsKTsKICAgICAgICAgTkVYVF9JTlNUUlVDVElPTigpOwogICAgIH0KKyAgICBERUZJTkVfT1BD
T0RFKG9wX3Byb2ZpbGVfaml0KSB7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworCisg
ICAgICAgIHZQQyArPSBPUENPREVfTEVOR1RIKG9wX3Byb2ZpbGVfaml0KTsKKyAgICAgICAgTkVY
VF9JTlNUUlVDVElPTigpOworICAgIH0KICAgICB2bV90aHJvdzogewogICAgICAgICBnbG9iYWxE
YXRhLT5leGNlcHRpb24gPSBKU1ZhbHVlKCk7CiAgICAgICAgIGlmICghdGlja0NvdW50KSB7CmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCBiL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVQuY3BwCmluZGV4IGI0MTQxMDEuLjRkZTIwOGMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVQuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCkBAIC0yODUs
NiArMjg1LDcgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICBE
RUZJTkVfT1Aob3BfcHJlX2RlYykKICAgICAgICAgREVGSU5FX09QKG9wX3ByZV9pbmMpCiAgICAg
ICAgIERFRklORV9PUChvcF9wcm9maWxlX2RpZF9jYWxsKQorICAgICAgICBERUZJTkVfT1Aob3Bf
cHJvZmlsZV9qaXQpCiAgICAgICAgIERFRklORV9PUChvcF9wcm9maWxlX3dpbGxfY2FsbCkKICAg
ICAgICAgREVGSU5FX09QKG9wX3B1c2hfbmV3X3Njb3BlKQogICAgICAgICBERUZJTkVfT1Aob3Bf
cHVzaF9zY29wZSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuaAppbmRleCA5ZGI4ZGU3Li41ODJhOTgyIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBA
IC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiSW50ZXJw
cmV0ZXIuaCIKICNpbmNsdWRlICJKSVRDb2RlLmgiCisjaW5jbHVkZSAiSklUUHJvZmlsZUFnZW50
LmgiCiAjaW5jbHVkZSAiSklUU3R1YnMuaCIKICNpbmNsdWRlICJPcGNvZGUuaCIKICNpbmNsdWRl
ICJSZWdpc3RlckZpbGUuaCIKQEAgLTI5OCw5ICsyOTksMTggQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hHZXRCeUlkRGVmYXVsdE9mZnNldCA9IDI1NjsK
IAogICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIEpJVENvZGUgY29tcGlsZShKU0dsb2JhbERh
dGEqIGdsb2JhbERhdGEsIENvZGVCbG9jayogY29kZUJsb2NrKQorICAgICAgICBzdGF0aWMgSklU
Q29kZSBjb21waWxlKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgQ29kZUJsb2NrKiBjb2RlQmxv
Y2ssIGNvbnN0IGNoYXIqIG5hbWUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBKSVQo
Z2xvYmFsRGF0YSwgY29kZUJsb2NrKS5wcml2YXRlQ29tcGlsZSgpOworICAgICAgICAgICAgSklU
IGppdChnbG9iYWxEYXRhLCBjb2RlQmxvY2spOworICAgICAgICAgICAgSklUQ29kZSBjb2RlID0g
aml0LnByaXZhdGVDb21waWxlKCk7CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAg
ICAgICAgICAgaWYgKGdsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5pc0VuYWJsZWQoKSkgewor
ICAgICAgICAgICAgICAgIGdsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3RlckpJVENv
ZGUoY29kZS5hZGRyZXNzRm9yQ2FsbCgpLmV4ZWN1dGFibGVBZGRyZXNzKCksIGNvZGUuc2l6ZSgp
LCBuYW1lKTsKKyAgICAgICAgICAgICAgICBpZiAoIWNvZGVCbG9jay0+c291cmNlKCktPnVybCgp
LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICAgICAgZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFn
ZW50LmFubm90YXRlSklUQ29kZShjb2RlLmFkZHJlc3NGb3JDYWxsKCkuZXhlY3V0YWJsZUFkZHJl
c3MoKSwgaml0Lm1fbGluZUluZm9zLCBjb2RlQmxvY2stPnNvdXJjZSgpLT51cmwoKSk7CisgICAg
ICAgICAgICB9CisjZW5kaWYKKyAgICAgICAgICAgIHJldHVybiBjb2RlOwogICAgICAgICB9CiAK
ICAgICAgICAgc3RhdGljIHZvaWQgY29tcGlsZUdldEJ5SWRQcm90byhKU0dsb2JhbERhdGEqIGds
b2JhbERhdGEsIENhbGxGcmFtZSogY2FsbEZyYW1lLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgU3Ry
dWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJl
KiBwcm90b3R5cGVTdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9w
ZXJ0eVNsb3QmIHNsb3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0
dXJuQWRkcmVzcykKQEAgLTgzMSw2ICs4NDEsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
dm9pZCBlbWl0X29wX3Bvc3RfaW5jKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9v
cF9wcmVfZGVjKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9wcmVfaW5jKElu
c3RydWN0aW9uKik7CisgICAgICAgIHZvaWQgZW1pdF9vcF9wcm9maWxlX2ppdChJbnN0cnVjdGlv
biopOwogICAgICAgICB2b2lkIGVtaXRfb3BfcHJvZmlsZV9kaWRfY2FsbChJbnN0cnVjdGlvbiop
OwogICAgICAgICB2b2lkIGVtaXRfb3BfcHJvZmlsZV93aWxsX2NhbGwoSW5zdHJ1Y3Rpb24qKTsK
ICAgICAgICAgdm9pZCBlbWl0X29wX3B1c2hfbmV3X3Njb3BlKEluc3RydWN0aW9uKik7CkBAIC05
OTYsNyArMTAwNyw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBWZWN0b3I8SlNSSW5mbz4g
bV9qc3JTaXRlczsKICAgICAgICAgVmVjdG9yPFNsb3dDYXNlRW50cnk+IG1fc2xvd0Nhc2VzOwog
ICAgICAgICBWZWN0b3I8U3dpdGNoUmVjb3JkPiBtX3N3aXRjaGVzOwotCisjaWYgRU5BQkxFKEpJ
VF9QUk9GSUxFX0FHRU5UKQorICAgICAgICBWZWN0b3I8TGluZUluZm9SZWNvcmQ+IG1fbGluZUlu
Zm9zOworI2VuZGlmCiAgICAgICAgIHVuc2lnbmVkIG1fcHJvcGVydHlBY2Nlc3NJbnN0cnVjdGlv
bkluZGV4OwogICAgICAgICB1bnNpZ25lZCBtX2dsb2JhbFJlc29sdmVJbmZvSW5kZXg7CiAgICAg
ICAgIHVuc2lnbmVkIG1fY2FsbExpbmtJbmZvSW5kZXg7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5j
cHAKaW5kZXggZWI2YTRmZC4uNTY2ZWM5YiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wY29kZXMuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcApA
QCAtMzAsNiArMzAsNyBAQAogI2lmIEVOQUJMRShKSVQpCiAKICNpbmNsdWRlICJKSVRJbmxpbmVN
ZXRob2RzLmgiCisjaW5jbHVkZSAiSklUUHJvZmlsZUFnZW50LmgiCiAjaW5jbHVkZSAiSklUU3R1
YkNhbGwuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCiAjaW5jbHVkZSAiSlNDZWxsLmgiCkBAIC0z
OTksNiArNDAwLDEwIEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFtcG9s
aW5lcyhSZWZQdHI8RXhlY3V0YWJsZVBvb2w+KiBleGVjdXRhYmxlCiAgICAgQ29kZVJlZiBmaW5h
bENvZGUgPSBwYXRjaEJ1ZmZlci5maW5hbGl6ZUNvZGUoKTsKICAgICAqZXhlY3V0YWJsZVBvb2wg
PSBmaW5hbENvZGUubV9leGVjdXRhYmxlUG9vbDsKIAorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9B
R0VOVCkKKyAgICBtX2dsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWNvcmRKSVRUcmFtcG9s
aW5lcyhmaW5hbENvZGUubV9jb2RlLmV4ZWN1dGFibGVBZGRyZXNzKCksIGZpbmFsQ29kZS5tX3Np
emUpOworI2VuZGlmCisKICAgICB0cmFtcG9saW5lcy0+Y3RpVmlydHVhbENhbGwgPSB0cmFtcG9s
aW5lQXQoZmluYWxDb2RlLCB2aXJ0dWFsQ2FsbEJlZ2luKTsKICAgICB0cmFtcG9saW5lcy0+Y3Rp
TmF0aXZlQ2FsbFRodW5rID0gdHJhbXBvbGluZUF0KGZpbmFsQ29kZSwgbmF0aXZlQ2FsbFRodW5r
KTsKICNpZiBFTkFCTEUoSklUX09QVElNSVpFX1BST1BFUlRZX0FDQ0VTUykKQEAgLTE0NDQsNyAr
MTQ0OSw2IEBAIHZvaWQgSklUOjplbWl0X29wX2RlYnVnKEluc3RydWN0aW9uKiBjdXJyZW50SW5z
dHJ1Y3Rpb24pCiAgICAgc3R1YkNhbGwuY2FsbCgpOwogfQogCi0KIHZvaWQgSklUOjplbWl0X29w
X2VudGVyKEluc3RydWN0aW9uKikKIHsKICAgICAvLyBFdmVuIHRob3VnaCBKSVQgY29kZSBkb2Vz
bid0IHVzZSB0aGVtLCB3ZSBpbml0aWFsaXplIG91ciBjb25zdGFudApAQCAtMTk0Miw2ICsxOTQ2
LDEwIEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFtcG9saW5lcyhSZWZQ
dHI8RXhlY3V0YWJsZVBvb2w+KiBleGVjdXRhYmxlCiAgICAgQ29kZVJlZiBmaW5hbENvZGUgPSBw
YXRjaEJ1ZmZlci5maW5hbGl6ZUNvZGUoKTsKICAgICAqZXhlY3V0YWJsZVBvb2wgPSBmaW5hbENv
ZGUubV9leGVjdXRhYmxlUG9vbDsKIAorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAg
ICBtX2dsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWNvcmRKSVRUcmFtcG9saW5lcyhmaW5h
bENvZGUubV9jb2RlLmV4ZWN1dGFibGVBZGRyZXNzKCksIGZpbmFsQ29kZS5tX3NpemUpOworI2Vu
ZGlmCisKICAgICB0cmFtcG9saW5lcy0+Y3RpVmlydHVhbENhbGxMaW5rID0gdHJhbXBvbGluZUF0
KGZpbmFsQ29kZSwgdmlydHVhbENhbGxMaW5rQmVnaW4pOwogICAgIHRyYW1wb2xpbmVzLT5jdGlW
aXJ0dWFsQ2FsbCA9IHRyYW1wb2xpbmVBdChmaW5hbENvZGUsIHZpcnR1YWxDYWxsQmVnaW4pOwog
ICAgIHRyYW1wb2xpbmVzLT5jdGlOYXRpdmVDYWxsVGh1bmsgPSB0cmFtcG9saW5lQXQoZmluYWxD
b2RlLCBuYXRpdmVDYWxsVGh1bmspOwpAQCAtMzA5Nyw2ICszMTA1LDEzIEBAIHZvaWQgSklUOjpl
bWl0U2xvd19vcF90b19qc251bWJlcihJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uLCBW
ZWN0b3I8U2xvd0NhCiAjZW5kaWYgLy8gVVNFKEpTVkFMVUUzMl82NCkKIAogLy8gRm9yIGJvdGgg
SlNWYWx1ZTMyXzY0IGFuZCBKU1ZhbHVlMzIKK3ZvaWQgSklUOjplbWl0X29wX3Byb2ZpbGVfaml0
KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7CisjaWYgRU5BQkxFKEpJVF9QUk9G
SUxFX0FHRU5UKQorICAgIG1fbGluZUluZm9zLmFwcGVuZChMaW5lSW5mb1JlY29yZChzaXplKCks
IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpKTsKKyNlbmRpZgorfQorCiAjaWYgRU5B
QkxFKEpJVF9PUFRJTUlaRV9NT0QpCiAjaWYgQ1BVKEFSTV9UUkFESVRJT05BTCkKIHZvaWQgSklU
Ojpzb2Z0TW9kdWxvKCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9maWxl
QWdlbnQuY3BwIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb2ZpbGVBZ2VudC5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE4MzM0MgotLS0gL2Rldi9udWxsCisrKyBi
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuY3BwCkBAIC0wLDAgKzEsMTIxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgVW5pdmVyc2l0eSBvZiBTemVnZWQKKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYg
RU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorCisjaW5jbHVkZSAiSklUUHJvZmlsZUFnZW50Lmgi
CisKKyNpbmNsdWRlICJKU0dsb2JhbERhdGEuaCIKKyNpbmNsdWRlICJVU3RyaW5nLmgiCisjaW5j
bHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KKworbmFtZXNwYWNlIEpTQyB7CisKKyNpZiBFTkFCTEUo
SklUX09QUk9GSUxFX0FHRU5UKQorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6aW5pdEFnZW50KCkK
K3sKKyAgICBtX3ZpcnR1YWxNZW1vcnlTZWdtZW50cy5jbGVhcigpOworICAgIG1fcHJvZmlsZUFn
ZW50ID0gb3Bfb3Blbl9hZ2VudCgpOworICAgIGlmIChtX3RyYW1wb2xpbmVzLmNvZGUpCisgICAg
ICAgIHJlZ2lzdGVySklUQ29kZShtX3RyYW1wb2xpbmVzLmNvZGUsIG1fdHJhbXBvbGluZXMuc2l6
ZSwgIjxqaXQtdHJhbXBvbGluZXM+Iik7Cit9CisKK3ZvaWQgSklUUHJvZmlsZUFnZW50OjpkZWlu
aXRBZ2VudCgpCit7CisgICAgdW5zaWduZWQgaW50IGksIG4gPSBtX3ZpcnR1YWxNZW1vcnlTZWdt
ZW50cy5zaXplKCk7CisgICAgZm9yIChpID0gMDsgaSAhPSBuOyArK2kpCisgICAgICAgIG9wX3Vu
bG9hZF9uYXRpdmVfY29kZShtX3Byb2ZpbGVBZ2VudCwgcmVpbnRlcnByZXRfY2FzdDx1aW50NjRf
dD4obV92aXJ0dWFsTWVtb3J5U2VnbWVudHNbaV0uY29kZSkpOworICAgIG1fdmlydHVhbE1lbW9y
eVNlZ21lbnRzLmNsZWFyKCk7CisgICAgb3BfY2xvc2VfYWdlbnQobV9wcm9maWxlQWdlbnQpOwor
fQorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6cmVnaXN0ZXJKSVRDb2RlSW1wbCh2b2lkKiBjb2Rl
LCB1bnNpZ25lZCBpbnQgc2l6ZSwgY29uc3QgY2hhciogc3ltYm9sTmFtZSkKK3sKKyAgICAvKiBD
aGVjayBmb3Igb2Jzb2xldGUgSklUIGNvZGVzICovCisgICAgdW5zaWduZWQgaW50IGksIG4gPSBt
X3ZpcnR1YWxNZW1vcnlTZWdtZW50cy5zaXplKCk7CisgICAgY29uc3QgY2hhciogdm1hQmVnaW4g
PSByZWludGVycHJldF9jYXN0PGNoYXIqPihjb2RlKTsKKyAgICBjb25zdCBjaGFyKiB2bWFFbmQg
PSB2bWFCZWdpbiArIHNpemU7CisgICAgZm9yIChpID0gMDsgaSAhPSBuOyArK2kpIHsKKyAgICAg
ICAgY29uc3QgY2hhciogcmVnaXN0ZXJlZFZtYUJlZ2luID0gcmVpbnRlcnByZXRfY2FzdDxjaGFy
Kj4obV92aXJ0dWFsTWVtb3J5U2VnbWVudHNbaV0uY29kZSk7CisgICAgICAgIGNvbnN0IGNoYXIq
IHJlZ2lzdGVyZWRWbWFFbmQgPSB2bWFCZWdpbiArIG1fdmlydHVhbE1lbW9yeVNlZ21lbnRzW2ld
LnNpemU7CisgICAgICAgIGlmICgocmVnaXN0ZXJlZFZtYUJlZ2luIDw9IHZtYUVuZCAmJiB2bWFF
bmQgPD0gcmVnaXN0ZXJlZFZtYUVuZCkKKyAgICAgICAgICAgIHx8IChyZWdpc3RlcmVkVm1hQmVn
aW4gPD0gdm1hQmVnaW4gJiYgdm1hQmVnaW4gPD0gcmVnaXN0ZXJlZFZtYUVuZCkpIHsKKyAgICAg
ICAgICAgIG9wX3VubG9hZF9uYXRpdmVfY29kZShtX3Byb2ZpbGVBZ2VudCwgcmVpbnRlcnByZXRf
Y2FzdDx1aW50NjRfdD4obV92aXJ0dWFsTWVtb3J5U2VnbWVudHNbaV0uY29kZSkpOworICAgICAg
ICB9CisgICAgfQorCisgICAgb3Bfd3JpdGVfbmF0aXZlX2NvZGUobV9wcm9maWxlQWdlbnQsIHN5
bWJvbE5hbWUgPyBzeW1ib2xOYW1lIDogIjxqaXQ+IiwgcmVpbnRlcnByZXRfY2FzdDx1aW50NjRf
dD4oY29kZSksIGNvZGUsIHNpemUpOworfQorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6YW5ub3Rh
dGVKSVRDb2RlSW1wbCh2b2lkKiBjb2RlLCBWZWN0b3I8TGluZUluZm9SZWNvcmQ+JiBsaW5lSW5m
bywgY29uc3QgVVN0cmluZyYgdXJsKQoreworICAgIHVpbnRwdHJfdCB2bWEgPSByZWludGVycHJl
dF9jYXN0PHVpbnRwdHJfdD4oY29kZSk7CisgICAgdWludHB0cl90IHByZXZPZmZzZXQgPSAwOwor
ICAgIGludCBlbnRyaWVzID0gbGluZUluZm8uc2l6ZSgpOworICAgIHN0cnVjdCBkZWJ1Z19saW5l
X2luZm8qIGRlYnVnTGluZUluZm8gPSByZWludGVycHJldF9jYXN0PHN0cnVjdCBkZWJ1Z19saW5l
X2luZm8qPihXVEY6OmZhc3RNYWxsb2MoZW50cmllcyAqIHNpemVvZihzdHJ1Y3QgZGVidWdfbGlu
ZV9pbmZvKSkpOworICAgIGNoYXIqIG5hbWUgPSB1cmwuYXNjaWkoKTsKKworICAgIHN0cnVjdCBk
ZWJ1Z19saW5lX2luZm8qIGRlYnVnTGluZUluZm9QdHIgPSBkZWJ1Z0xpbmVJbmZvOworICAgIGZv
ciAoaW50IGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7CisgICAgICAgIGlmIChwcmV2T2Zmc2V0
ICE9IGxpbmVJbmZvW2ldLnZtYU9mZnNldCkgeworICAgICAgICAgICAgZGVidWdMaW5lSW5mb1B0
ci0+dm1hID0gdm1hICsgbGluZUluZm9baV0udm1hT2Zmc2V0OworICAgICAgICAgICAgZGVidWdM
aW5lSW5mb1B0ci0+bGluZW5vID0gbGluZUluZm9baV0ubGluZTsKKyAgICAgICAgICAgIGRlYnVn
TGluZUluZm9QdHItPmZpbGVuYW1lID0gbmFtZTsKKyAgICAgICAgICAgIHByZXZPZmZzZXQgPSBs
aW5lSW5mb1tpXS52bWFPZmZzZXQ7CisgICAgICAgICAgICArK2RlYnVnTGluZUluZm9QdHI7Cisg
ICAgICAgIH0KKyAgICB9CisKKyAgICBvcF93cml0ZV9kZWJ1Z19saW5lX2luZm8obV9wcm9maWxl
QWdlbnQsIGNvZGUsIGRlYnVnTGluZUluZm9QdHIgLSBkZWJ1Z0xpbmVJbmZvLCBkZWJ1Z0xpbmVJ
bmZvKTsKKyAgICBXVEY6OmZhc3RGcmVlKGRlYnVnTGluZUluZm8pOworfQorCisjZWxzZSAvLyBE
dW1teSBwcm9maWxlIGFnZW50CisKK3ZvaWQgSklUUHJvZmlsZUFnZW50Ojppbml0QWdlbnQoKQor
eworfQorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6ZGVpbml0QWdlbnQoKQoreworfQorCit2b2lk
IEpJVFByb2ZpbGVBZ2VudDo6cmVnaXN0ZXJKSVRDb2RlSW1wbCh2b2lkKiwgdW5zaWduZWQgaW50
LCBjb25zdCBjaGFyKikKK3sKK30KKwordm9pZCBKSVRQcm9maWxlQWdlbnQ6OmFubm90YXRlSklU
Q29kZUltcGwodm9pZCosIFZlY3RvcjxMaW5lSW5mb1JlY29yZD4mLCBjb25zdCBVU3RyaW5nJikK
K3sKK30KKworI2VuZGlmIC8vIEVOQUJMRShKSVRfT1BST0ZJTEVfQUdFTlQpCisKK30KKworI2Vu
ZGlmIC8vIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuaCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9maWxl
QWdlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjE3ZjI2Ci0tLSAv
ZGV2L251bGwKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb2ZpbGVBZ2VudC5oCkBAIC0w
LDAgKzEsMTM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEhvbGdlciBIYW5zIFBldGVy
IEZyZXl0aGVyCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgVW5pdmVyc2l0eSBvZiBTemVnZWQKKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBKSVRQcm9m
aWxlQWdlbnRfaAorI2RlZmluZSBKSVRQcm9maWxlQWdlbnRfaAorCisjaW5jbHVkZSA8d3RmL1Bs
YXRmb3JtLmg+CisKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisKKyNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CisjaWYgRU5BQkxFKEpJVF9PUFJPRklMRV9BR0VOVCkKKyNpbmNsdWRlIDxv
cGFnZW50Lmg+CisjZW5kaWYKKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIFVTdHJpbmc7Citj
bGFzcyBKU0dsb2JhbERhdGE7CisKK3N0cnVjdCBMaW5lSW5mb1JlY29yZCB7CisgICAgTGluZUlu
Zm9SZWNvcmQoaW50IHZtYU9mZnNldCwgaW50IGxpbmUpCisgICAgICAgIDogdm1hT2Zmc2V0KHZt
YU9mZnNldCkKKyAgICAgICAgLCBsaW5lKGxpbmUpCisgICAgeworICAgIH0KKworICAgIGludCB2
bWFPZmZzZXQ7CisgICAgaW50IGxpbmU7Cit9OworCitjbGFzcyBKSVRQcm9maWxlQWdlbnQgewor
ICAgIHN0cnVjdCBWaXJ0dWFsTWVtb3J5U2VnbWVudCB7CisgICAgICAgIFZpcnR1YWxNZW1vcnlT
ZWdtZW50KCkKKyAgICAgICAgICA6IGNvZGUoMCkKKyAgICAgICAgICAsIHNpemUoMCkKKyAgICAg
ICAgeworICAgICAgICB9CisKKyAgICAgICAgdm9pZCogY29kZTsKKyAgICAgICAgdW5zaWduZWQg
aW50IHNpemU7CisgICAgfTsKKyAgICB0eXBlZGVmIFZlY3RvcjxWaXJ0dWFsTWVtb3J5U2VnbWVu
dD4gVmlydHVhbE1lbW9yeVNlZ21lbnRWZWN0b3I7CisKK3B1YmxpYzoKKyAgICBKSVRQcm9maWxl
QWdlbnQoYm9vbCBzdGF0dXMpCisgICAgICA6IG1fZW5hYmxlQWdlbnQoc3RhdHVzKQorICAgIHsK
KyAgICAgICAgaWYgKGlzRW5hYmxlZCgpKQorICAgICAgICAgICAgaW5pdEFnZW50KCk7CisgICAg
fQorCisgICAgfkpJVFByb2ZpbGVBZ2VudCgpCisgICAgeworICAgICAgICBpZiAoaXNFbmFibGVk
KCkpCisgICAgICAgICAgICBkZWluaXRBZ2VudCgpOworICAgIH0KKworICAgIHZvaWQgcmVnaXN0
ZXJKSVRDb2RlKHZvaWQqIGNvZGUsIHVuc2lnbmVkIGludCBzaXplLCBjb25zdCBjaGFyKiBzeW1i
b2wpCisgICAgeworICAgICAgICBpZiAoaXNFbmFibGVkKCkgJiYgY29kZSkKKyAgICAgICAgICAg
IHJlZ2lzdGVySklUQ29kZUltcGwoY29kZSwgc2l6ZSwgc3ltYm9sKTsKKyAgICB9CisKKyAgICB2
b2lkIGFubm90YXRlSklUQ29kZSh2b2lkKiBjb2RlLCBWZWN0b3I8TGluZUluZm9SZWNvcmQ+JiBs
aW5lSW5mbywgY29uc3QgVVN0cmluZyYgdXJsKQorICAgIHsKKyAgICAgICAgaWYgKGlzRW5hYmxl
ZCgpICYmIGNvZGUpCisgICAgICAgICAgICBhbm5vdGF0ZUpJVENvZGVJbXBsKGNvZGUsIGxpbmVJ
bmZvLCB1cmwpOworICAgIH0KKworICAgIHZvaWQgcmVjb3JkSklUVHJhbXBvbGluZXModm9pZCog
Y29kZSwgdW5zaWduZWQgaW50IHNpemUpCisgICAgeworICAgICAgICBtX3RyYW1wb2xpbmVzLmNv
ZGUgPSBjb2RlOworICAgICAgICBtX3RyYW1wb2xpbmVzLnNpemUgPSBzaXplOworICAgICAgICBp
ZiAoaXNFbmFibGVkKCkpCisgICAgICAgICAgICByZWdpc3RlckpJVENvZGUobV90cmFtcG9saW5l
cy5jb2RlLCBtX3RyYW1wb2xpbmVzLnNpemUsICI8aml0LXRyYW1wb2xpbmVzPiIpOworICAgIH0K
KworICAgIHZvaWQgc2V0RW5hYmxlZChib29sIHN0YXR1cykKKyAgICB7CisgICAgICAgIGlmICht
X2VuYWJsZUFnZW50ID09IHN0YXR1cykKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbV9l
bmFibGVBZ2VudCA9IHN0YXR1czsKKyAgICAgICAgaWYgKGlzRW5hYmxlZCgpKQorICAgICAgICAg
ICAgaW5pdEFnZW50KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGRlaW5pdEFnZW50KCk7
CisgICAgfQorCisgICAgQUxXQVlTX0lOTElORSBjb25zdCBib29sIGlzRW5hYmxlZCgpIGNvbnN0
CisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCitwcml2YXRlOgorICAgIHZv
aWQgaW5pdEFnZW50KCk7CisgICAgdm9pZCBkZWluaXRBZ2VudCgpOworICAgIHZvaWQgcmVnaXN0
ZXJKSVRDb2RlSW1wbCh2b2lkKiwgdW5zaWduZWQgaW50LCBjb25zdCBjaGFyKik7CisgICAgdm9p
ZCBhbm5vdGF0ZUpJVENvZGVJbXBsKHZvaWQqLCBWZWN0b3I8TGluZUluZm9SZWNvcmQ+JiwgY29u
c3QgVVN0cmluZyYpOworCisjaWYgRU5BQkxFKEpJVF9PUFJPRklMRV9BR0VOVCkKKyAgICBvcF9h
Z2VudF90IG1fcHJvZmlsZUFnZW50OworI2VuZGlmCisgICAgVmlydHVhbE1lbW9yeVNlZ21lbnRW
ZWN0b3IgbV92aXJ0dWFsTWVtb3J5U2VnbWVudHM7CisgICAgVmlydHVhbE1lbW9yeVNlZ21lbnQg
bV90cmFtcG9saW5lczsKKyAgICBib29sIG1fZW5hYmxlQWdlbnQ7Cit9OworCit9CisKKyNlbmRp
ZiAvLyBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisKKyNlbmRpZiAvLyBKSVRQcm9maWxlQWdl
bnRfaApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNw
cCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKaW5kZXggMzM5OWYw
My4uZmUxMjI4ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNj
ZXNzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCkBA
IC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiR2V0dGVy
U2V0dGVyLmgiCiAjaW5jbHVkZSAiSklUSW5saW5lTWV0aG9kcy5oIgorI2luY2x1ZGUgIkpJVFBy
b2ZpbGVBZ2VudC5oIgogI2luY2x1ZGUgIkpJVFN0dWJDYWxsLmgiCiAjaW5jbHVkZSAiSlNBcnJh
eS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKQEAgLTU5NSw2ICs1OTYsMTAgQEAgdm9pZCBK
SVQ6OnByaXZhdGVDb21waWxlUHV0QnlJZFRyYW5zaXRpb24oU3RydWN0dXJlU3R1YkluZm8qIHN0
dWJJbmZvLCBTdHJ1Y3R1cmUKICAgICBzdHViSW5mby0+c3R1YlJvdXRpbmUgPSBlbnRyeUxhYmVs
OwogICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CiAgICAgcmVw
YXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb1RyYW1wb2xpbmUocmV0dXJuQWRkcmVzcywgZW50cnlM
YWJlbCk7CisKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgbV9nbG9iYWxEYXRh
LT5qaXRQcm9maWxlQWdlbnQucmVnaXN0ZXJKSVRDb2RlKGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFk
ZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCAiPGppdC1wdXRieWlkLXRyYW5zaXRpb24+Iik7
CisjZW5kaWYKIH0KIAogdm9pZCBKSVQ6OnBhdGNoR2V0QnlJZFNlbGYoQ29kZUJsb2NrKiBjb2Rl
QmxvY2ssIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IHNpemVfdCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykKQEAg
LTY5NCw2ICs2OTksMTAgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlUGF0Y2hHZXRBcnJheUxl
bmd0aChSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MpCiAKICAgICAvLyBXZSBkb24ndCB3
YW50IHRvIHBhdGNoIG1vcmUgdGhhbiBvbmNlIC0gaW4gZnV0dXJlIGdvIHRvIGN0aV9vcF9wdXRf
YnlfaWRfZ2VuZXJpYy4KICAgICByZXBhdGNoQnVmZmVyLnJlbGlua0NhbGxlclRvRnVuY3Rpb24o
cmV0dXJuQWRkcmVzcywgRnVuY3Rpb25QdHIoY3RpX29wX2dldF9ieV9pZF9hcnJheV9mYWlsKSk7
CisKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgbV9nbG9iYWxEYXRhLT5qaXRQ
cm9maWxlQWdlbnQucmVnaXN0ZXJKSVRDb2RlKGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3Mo
KSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCAiPGppdC1nZXRhcnJheWxlbmd0aD4iKTsKKyNlbmRpZgog
fQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG8oU3RydWN0dXJlU3R1Yklu
Zm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlKiBwcm90b3R5cGVT
dHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNs
b3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcywg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpCkBAIC03NjMsNiArNzcyLDEwIEBAIHZvaWQgSklUOjpwcml2
YXRlQ29tcGlsZUdldEJ5SWRQcm90byhTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVj
dHVyZSogc3RyCiAKICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHBhdGNoIG1vcmUgdGhhbiBvbmNl
IC0gaW4gZnV0dXJlIGdvIHRvIGN0aV9vcF9wdXRfYnlfaWRfZ2VuZXJpYy4KICAgICByZXBhdGNo
QnVmZmVyLnJlbGlua0NhbGxlclRvRnVuY3Rpb24ocmV0dXJuQWRkcmVzcywgRnVuY3Rpb25QdHIo
Y3RpX29wX2dldF9ieV9pZF9wcm90b19saXN0KSk7CisKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVf
QUdFTlQpCisgICAgbV9nbG9iYWxEYXRhLT5qaXRQcm9maWxlQWdlbnQucmVnaXN0ZXJKSVRDb2Rl
KGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCAiPGpp
dC1nZXRieWlkLXByb3RvPiIpOworI2VuZGlmCiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGls
ZUdldEJ5SWRTZWxmTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBvbHltb3JwaGlj
QWNjZXNzU3RydWN0dXJlTGlzdCogcG9seW1vcnBoaWNTdHJ1Y3R1cmVzLCBpbnQgY3VycmVudElu
ZGV4LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIGNvbnN0
IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCkKQEAgLTgyMSw2ICs4MzQs
MTAgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNlbGZMaXN0KFN0cnVjdHVyZVN0
dWJJbmZvKiBzdHViSW5mbywgUG9seW1vcnBoaWMKICAgICBDb2RlTG9jYXRpb25KdW1wIGp1bXBM
b2NhdGlvbiA9IHN0dWJJbmZvLT5ob3RQYXRoQmVnaW4uanVtcEF0T2Zmc2V0KHBhdGNoT2Zmc2V0
R2V0QnlJZEJyYW5jaFRvU2xvd0Nhc2UpOwogICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZl
cihtX2NvZGVCbG9jayk7CiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoanVtcExvY2F0aW9uLCBl
bnRyeUxhYmVsKTsKKworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBtX2dsb2Jh
bERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3RlckpJVENvZGUoZW50cnlMYWJlbC5leGVjdXRh
YmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8aml0LWdldGJ5aWQtc2VsZmxpc3Q+
Iik7CisjZW5kaWYKIH0KIAogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlz
dChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJl
TGlzdCogcHJvdG90eXBlU3RydWN0dXJlcywgaW50IGN1cnJlbnRJbmRleCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVy
JiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBD
YWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTg5MSw2ICs5MDgsMTAgQEAgdm9pZCBKSVQ6OnByaXZh
dGVDb21waWxlR2V0QnlJZFByb3RvTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBv
bHltb3JwaGkKICAgICBDb2RlTG9jYXRpb25KdW1wIGp1bXBMb2NhdGlvbiA9IHN0dWJJbmZvLT5o
b3RQYXRoQmVnaW4uanVtcEF0T2Zmc2V0KHBhdGNoT2Zmc2V0R2V0QnlJZEJyYW5jaFRvU2xvd0Nh
c2UpOwogICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CiAgICAg
cmVwYXRjaEJ1ZmZlci5yZWxpbmsoanVtcExvY2F0aW9uLCBlbnRyeUxhYmVsKTsKKworI2lmIEVO
QUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBtX2dsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2Vu
dC5yZWdpc3RlckpJVENvZGUoZW50cnlMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1
ZmZlci5zaXplKCksICI8aml0LWdldGJ5aWQtcHJvdG9saXN0PiIpOworI2VuZGlmCiB9CiAKIHZv
aWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbkxpc3QoU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3QqIHByb3RvdHlwZVN0cnVj
dHVyZXMsIGludCBjdXJyZW50SW5kZXgsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1cmVD
aGFpbiogY2hhaW4sIHNpemVfdCBjb3VudCwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIGNvbnN0
IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwgQ2FsbEZyYW1lKiBjYWxs
RnJhbWUpCkBAIC05NjksNiArOTkwLDEwIEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5
SWRDaGFpbkxpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpCiAgICAg
Q29kZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJlZ2luLmp1
bXBBdE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAgICBSZXBh
dGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIu
cmVsaW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyNpZiBFTkFCTEUoSklUX1BST0ZJ
TEVfQUdFTlQpCisgICAgbV9nbG9iYWxEYXRhLT5qaXRQcm9maWxlQWdlbnQucmVnaXN0ZXJKSVRD
b2RlKGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCAi
PGppdC1nZXRieWlkLWNoYWlubGlzdD4iKTsKKyNlbmRpZgogfQogCiB2b2lkIEpJVDo6cHJpdmF0
ZUNvbXBpbGVHZXRCeUlkQ2hhaW4oU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlQ2hhaW4qIGNoYWluLCBzaXplX3QgY291bnQsIGNvbnN0
IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QsIHNpemVfdCBjYWNo
ZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcywgQ2FsbEZyYW1lKiBjYWxs
RnJhbWUpCkBAIC0xMDQ1LDYgKzEwNzAsMTAgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0
QnlJZENoYWluKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJlKiBzdHIKIAog
ICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFuIG9uY2UgLSBpbiBmdXR1cmUg
Z28gdG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5r
Q2FsbGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0cihjdGlfb3BfZ2V0X2J5
X2lkX3Byb3RvX2xpc3QpKTsKKworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBt
X2dsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3RlckpJVENvZGUoZW50cnlMYWJlbC5l
eGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8aml0LWdldGJ5aWQtY2hh
aW4+Iik7CisjZW5kaWYKIH0KIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVO
RDogIUVOQUJMRSAvIEVOQUJMRShKSVRfT1BUSU1JWkVfUFJPUEVSVFlfQUNDRVNTKSAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9w
ZXJ0eUFjY2VzczMyXzY0LmNwcAppbmRleCBlYzMzMDI2Li4yYzg2MmYyIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKKysrIGIvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCkBAIC0zMyw2ICszMyw3IEBA
CiAKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJKSVRJbmxpbmVNZXRob2RzLmgi
CisjaW5jbHVkZSAiSklUUHJvZmlsZUFnZW50LmgiCiAjaW5jbHVkZSAiSklUU3R1YkNhbGwuaCIK
ICNpbmNsdWRlICJKU0FycmF5LmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgpAQCAtNjEzLDYg
KzYxNCwxMCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbihTdHJ1
Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZQogICAgIHN0dWJJbmZvLT5zdHViUm91
dGluZSA9IGVudHJ5TGFiZWw7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNoQnVmZmVyKG1fY29k
ZUJsb2NrKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGlua0NhbGxlclRvVHJhbXBvbGluZShyZXR1
cm5BZGRyZXNzLCBlbnRyeUxhYmVsKTsKKworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkK
KyAgICBtX2dsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3RlckpJVENvZGUoZW50cnlM
YWJlbC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8aml0LXB1dGJ5
aWQtdHJhbnNpdGlvbj4iKTsKKyNlbmRpZgogfQogCiB2b2lkIEpJVDo6cGF0Y2hHZXRCeUlkU2Vs
ZihDb2RlQmxvY2sqIGNvZGVCbG9jaywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgc2l6ZV90IGNhY2hlZE9mZnNldCwgUmV0dXJuQWRkcmVzc1B0ciBy
ZXR1cm5BZGRyZXNzKQpAQCAtNzE2LDYgKzcyMSwxMCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBp
bGVQYXRjaEdldEFycmF5TGVuZ3RoKFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykKICAg
ICAKICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHBhdGNoIG1vcmUgdGhhbiBvbmNlIC0gaW4gZnV0
dXJlIGdvIHRvIGN0aV9vcF9wdXRfYnlfaWRfZ2VuZXJpYy4KICAgICByZXBhdGNoQnVmZmVyLnJl
bGlua0NhbGxlclRvRnVuY3Rpb24ocmV0dXJuQWRkcmVzcywgRnVuY3Rpb25QdHIoY3RpX29wX2dl
dF9ieV9pZF9hcnJheV9mYWlsKSk7CisKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisg
ICAgbV9nbG9iYWxEYXRhLT5qaXRQcm9maWxlQWdlbnQucmVnaXN0ZXJKSVRDb2RlKGVudHJ5TGFi
ZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCAiPGppdC1nZXRhcnJh
eWxlbmd0aD4iKTsKKyNlbmRpZgogfQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlk
UHJvdG8oU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
U3RydWN0dXJlKiBwcm90b3R5cGVTdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBj
b25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJl
c3NQdHIgcmV0dXJuQWRkcmVzcywgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCkBAIC03ODcsNiArNzk2
LDEwIEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byhTdHJ1Y3R1cmVTdHVi
SW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RyCiAgICAgCiAgICAgLy8gV2UgZG9uJ3Qgd2Fu
dCB0byBwYXRjaCBtb3JlIHRoYW4gb25jZSAtIGluIGZ1dHVyZSBnbyB0byBjdGlfb3BfcHV0X2J5
X2lkX2dlbmVyaWMuCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb0Z1bmN0aW9uKHJl
dHVybkFkZHJlc3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfcHJvdG9fbGlzdCkpOwor
CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIG1fZ2xvYmFsRGF0YS0+aml0UHJv
ZmlsZUFnZW50LnJlZ2lzdGVySklUQ29kZShlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCks
IHBhdGNoQnVmZmVyLnNpemUoKSwgIjxqaXQtZ2V0YnlpZC1wcm90bz4iKTsKKyNlbmRpZgogfQog
CiAKQEAgLTg0Niw2ICs4NTksMTAgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNl
bGZMaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUG9seW1vcnBoaWMKICAgICBDb2Rl
TG9jYXRpb25KdW1wIGp1bXBMb2NhdGlvbiA9IHN0dWJJbmZvLT5ob3RQYXRoQmVnaW4uanVtcEF0
T2Zmc2V0KHBhdGNoT2Zmc2V0R2V0QnlJZEJyYW5jaFRvU2xvd0Nhc2UpOwogICAgIFJlcGF0Y2hC
dWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxp
bmsoanVtcExvY2F0aW9uLCBlbnRyeUxhYmVsKTsKKworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9B
R0VOVCkKKyAgICBtX2dsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3RlckpJVENvZGUo
ZW50cnlMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8aml0
LWdldGJ5aWQtc2VsZmxpc3Q+Iik7CisjZW5kaWYKIH0KIAogdm9pZCBKSVQ6OnByaXZhdGVDb21w
aWxlR2V0QnlJZFByb3RvTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBvbHltb3Jw
aGljQWNjZXNzU3RydWN0dXJlTGlzdCogcHJvdG90eXBlU3RydWN0dXJlcywgaW50IGN1cnJlbnRJ
bmRleCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0dXJl
LCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXpl
X3QgY2FjaGVkT2Zmc2V0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTkxNSw2ICs5MzIsMTAg
QEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdChTdHJ1Y3R1cmVTdHVi
SW5mbyogc3R1YkluZm8sIFBvbHltb3JwaGkKICAgICBDb2RlTG9jYXRpb25KdW1wIGp1bXBMb2Nh
dGlvbiA9IHN0dWJJbmZvLT5ob3RQYXRoQmVnaW4uanVtcEF0T2Zmc2V0KHBhdGNoT2Zmc2V0R2V0
QnlJZEJyYW5jaFRvU2xvd0Nhc2UpOwogICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlciht
X2NvZGVCbG9jayk7CiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoanVtcExvY2F0aW9uLCBlbnRy
eUxhYmVsKTsKKworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBtX2dsb2JhbERh
dGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3RlckpJVENvZGUoZW50cnlMYWJlbC5leGVjdXRhYmxl
QWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8aml0LWdldGJ5aWQtcHJvdG9saXN0PiIp
OworI2VuZGlmCiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbkxpc3Qo
U3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxp
c3QqIHByb3RvdHlwZVN0cnVjdHVyZXMsIGludCBjdXJyZW50SW5kZXgsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4sIHNpemVfdCBjb3VudCwgY29uc3QgSWRlbnRp
ZmllciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNl
dCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCkBAIC05OTMsNiArMTAxNCwxMCBAQCB2b2lkIEpJVDo6
cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5m
bywgUG9seW1vcnBoaQogICAgIENvZGVMb2NhdGlvbkp1bXAganVtcExvY2F0aW9uID0gc3R1Yklu
Zm8tPmhvdFBhdGhCZWdpbi5qdW1wQXRPZmZzZXQocGF0Y2hPZmZzZXRHZXRCeUlkQnJhbmNoVG9T
bG93Q2FzZSk7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNoQnVmZmVyKG1fY29kZUJsb2NrKTsK
ICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhqdW1wTG9jYXRpb24sIGVudHJ5TGFiZWwpOworCisj
aWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIG1fZ2xvYmFsRGF0YS0+aml0UHJvZmls
ZUFnZW50LnJlZ2lzdGVySklUQ29kZShlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBh
dGNoQnVmZmVyLnNpemUoKSwgIjxqaXQtZ2V0YnlpZC1jaGFpbmxpc3Q+Iik7CisjZW5kaWYKIH0K
IAogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluKFN0cnVjdHVyZVN0dWJJbmZv
KiBzdHViSW5mbywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZUNoYWluKiBjaGFpbiwg
c2l6ZV90IGNvdW50LCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90
JiBzbG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJl
c3MsIENhbGxGcmFtZSogY2FsbEZyYW1lKQpAQCAtMTA2OCw2ICsxMDkzLDEwIEBAIHZvaWQgSklU
Ojpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbihTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IFN0cnVjdHVyZSogc3RyCiAgICAgCiAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBwYXRjaCBtb3Jl
IHRoYW4gb25jZSAtIGluIGZ1dHVyZSBnbyB0byBjdGlfb3BfcHV0X2J5X2lkX2dlbmVyaWMuCiAg
ICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb0Z1bmN0aW9uKHJldHVybkFkZHJlc3MsIEZ1
bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfcHJvdG9fbGlzdCkpOworCisjaWYgRU5BQkxFKEpJ
VF9QUk9GSUxFX0FHRU5UKQorICAgIG1fZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LnJlZ2lz
dGVySklUQ29kZShlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNp
emUoKSwgIjxqaXQtZ2V0YnlpZC1jaGFpbj4iKTsKKyNlbmRpZgogfQogCiAvKiAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gRU5EOiAhRU5BQkxFIC8gRU5BQkxFKEpJVF9PUFRJTUlaRV9Q
Uk9QRVJUWV9BQ0NFU1MpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvanNjLmNwcCBiL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKaW5k
ZXggOTQyOWEzNC4uY2IwYTE5MiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvanNjLmNwcAor
KysgYi9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCkBAIC0xMDEsMTEgKzEwMSwxNyBAQCBzdHJ1Y3Qg
T3B0aW9ucyB7CiAgICAgT3B0aW9ucygpCiAgICAgICAgIDogaW50ZXJhY3RpdmUoZmFsc2UpCiAg
ICAgICAgICwgZHVtcChmYWxzZSkKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAg
ICAgICwgcHJvZmlsZShmYWxzZSkKKyNlbmRpZgogICAgIHsKICAgICB9CiAKICAgICBib29sIGlu
dGVyYWN0aXZlOwogICAgIGJvb2wgZHVtcDsKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQp
CisgICAgYm9vbCBwcm9maWxlOworI2VuZGlmCiAgICAgVmVjdG9yPFNjcmlwdD4gc2NyaXB0czsK
ICAgICBWZWN0b3I8VVN0cmluZz4gYXJndW1lbnRzOwogfTsKQEAgLTQ2MCw2ICs0NjYsOSBAQCBz
dGF0aWMgTk9fUkVUVVJOIHZvaWQgcHJpbnRVc2FnZVN0YXRlbWVudChKU0dsb2JhbERhdGEqIGds
b2JhbERhdGEsIGJvb2wgaGVscCA9CiAgICAgZnByaW50ZihzdGRlcnIsICIgIC1mICAgICAgICAg
U3BlY2lmaWVzIGEgc291cmNlIGZpbGUgKGRlcHJlY2F0ZWQpXG4iKTsKICAgICBmcHJpbnRmKHN0
ZGVyciwgIiAgLWh8LS1oZWxwICBQcmludHMgdGhpcyBoZWxwIG1lc3NhZ2VcbiIpOwogICAgIGZw
cmludGYoc3RkZXJyLCAiICAtaSAgICAgICAgIEVuYWJsZXMgaW50ZXJhY3RpdmUgbW9kZSAoZGVm
YXVsdCBpZiBubyBmaWxlcyBhcmUgc3BlY2lmaWVkKVxuIik7CisjaWYgRU5BQkxFKEpJVF9QUk9G
SUxFX0FHRU5UKQorICAgIGZwcmludGYoc3RkZXJyLCAiICAtcCAgICAgICAgIEVuYWJsZXMgSklU
IHByb2ZpbGUgYWdlbnRcbiIpOworI2VuZGlmCiAjaWYgSEFWRShTSUdOQUxfSCkKICAgICBmcHJp
bnRmKHN0ZGVyciwgIiAgLXMgICAgICAgICBJbnN0YWxscyBzaWduYWwgaGFuZGxlcnMgdGhhdCBl
eGl0IG9uIGEgY3Jhc2ggKFVuaXggcGxhdGZvcm1zIG9ubHkpXG4iKTsKICNlbmRpZgpAQCAtNDkz
LDYgKzUwMiwxMiBAQCBzdGF0aWMgdm9pZCBwYXJzZUFyZ3VtZW50cyhpbnQgYXJnYywgY2hhcioq
IGFyZ3YsIE9wdGlvbnMmIG9wdGlvbnMsIEpTR2xvYmFsRGF0YQogICAgICAgICAgICAgb3B0aW9u
cy5kdW1wID0gdHJ1ZTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CisjaWYgRU5B
QkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgICAgICBpZiAoIXN0cmNtcChhcmcsICItcCIpKSB7
CisgICAgICAgICAgICBvcHRpb25zLnByb2ZpbGUgPSB0cnVlOworICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBpZiAoIXN0cmNtcChhcmcsICItcyIpKSB7
CiAjaWYgSEFWRShTSUdOQUxfSCkKICAgICAgICAgICAgIHNpZ25hbChTSUdJTEwsIF9leGl0KTsK
QEAgLTUyNiw2ICs1NDEsOSBAQCBpbnQganNjbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YsIEpT
R2xvYmFsRGF0YSogZ2xvYmFsRGF0YSkKICAgICBwYXJzZUFyZ3VtZW50cyhhcmdjLCBhcmd2LCBv
cHRpb25zLCBnbG9iYWxEYXRhKTsKIAogICAgIEdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0g
bmV3IChnbG9iYWxEYXRhKSBHbG9iYWxPYmplY3Qob3B0aW9ucy5hcmd1bWVudHMpOworI2lmIEVO
QUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBnbG9iYWxEYXRhLT5qaXRQcm9maWxlQWdlbnQu
c2V0RW5hYmxlZChvcHRpb25zLnByb2ZpbGUpOworI2VuZGlmCiAgICAgYm9vbCBzdWNjZXNzID0g
cnVuV2l0aFNjcmlwdHMoZ2xvYmFsT2JqZWN0LCBvcHRpb25zLnNjcmlwdHMsIG9wdGlvbnMuZHVt
cCk7CiAgICAgaWYgKG9wdGlvbnMuaW50ZXJhY3RpdmUgJiYgc3VjY2VzcykKICAgICAgICAgcnVu
SW50ZXJhY3RpdmUoZ2xvYmFsT2JqZWN0KTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRXhlY3V0YWJsZS5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUu
Y3BwCmluZGV4IDc5OTAwZGMuLjk2NGY3NjAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRXhlY3V0YWJsZS5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRh
YmxlLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkJ5dGVjb2RlR2VuZXJhdG9yLmgi
CiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiSklULmgiCisjaW5jbHVkZSAiSklU
UHJvZmlsZUFnZW50LmgiCiAjaW5jbHVkZSAiUGFyc2VyLmgiCiAjaW5jbHVkZSAiU3RyaW5nQnVp
bGRlci5oIgogI2luY2x1ZGUgIlZlY3Rvci5oIgpAQCAtMTQwLDcgKzE0MSw3IEBAIHZvaWQgRnVu
Y3Rpb25FeGVjdXRhYmxlOjpjb21waWxlKEV4ZWNTdGF0ZSosIFNjb3BlQ2hhaW5Ob2RlKiBzY29w
ZUNoYWluTm9kZSkKIHZvaWQgRXZhbEV4ZWN1dGFibGU6OmdlbmVyYXRlSklUQ29kZShFeGVjU3Rh
dGUqIGV4ZWMsIFNjb3BlQ2hhaW5Ob2RlKiBzY29wZUNoYWluTm9kZSkKIHsKICAgICBDb2RlQmxv
Y2sqIGNvZGVCbG9jayA9ICZieXRlY29kZShleGVjLCBzY29wZUNoYWluTm9kZSk7Ci0gICAgbV9q
aXRDb2RlID0gSklUOjpjb21waWxlKHNjb3BlQ2hhaW5Ob2RlLT5nbG9iYWxEYXRhLCBjb2RlQmxv
Y2spOworICAgIG1faml0Q29kZSA9IEpJVDo6Y29tcGlsZShzY29wZUNoYWluTm9kZS0+Z2xvYmFs
RGF0YSwgY29kZUJsb2NrLCAiPGpzLWV2YWw+Iik7CiAKICNpZiAhRU5BQkxFKE9QQ09ERV9TQU1Q
TElORykKICAgICBpZiAoIUJ5dGVjb2RlR2VuZXJhdG9yOjpkdW1wc0dlbmVyYXRlZENvZGUoKSkK
QEAgLTE1MSw3ICsxNTIsMTMgQEAgdm9pZCBFdmFsRXhlY3V0YWJsZTo6Z2VuZXJhdGVKSVRDb2Rl
KEV4ZWNTdGF0ZSogZXhlYywgU2NvcGVDaGFpbk5vZGUqIHNjb3BlQ2hhaW4KIHZvaWQgUHJvZ3Jh
bUV4ZWN1dGFibGU6OmdlbmVyYXRlSklUQ29kZShFeGVjU3RhdGUqIGV4ZWMsIFNjb3BlQ2hhaW5O
b2RlKiBzY29wZUNoYWluTm9kZSkKIHsKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9ICZieXRl
Y29kZShleGVjLCBzY29wZUNoYWluTm9kZSk7Ci0gICAgbV9qaXRDb2RlID0gSklUOjpjb21waWxl
KHNjb3BlQ2hhaW5Ob2RlLT5nbG9iYWxEYXRhLCBjb2RlQmxvY2spOworCisgICAgVVN0cmluZyBq
aXRTeW1ib2xOYW1lKCI8aml0LXByb2c+Iik7CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5U
KQorICAgIGlmIChzY29wZUNoYWluTm9kZS0+Z2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50Lmlz
RW5hYmxlZCgpICYmIG1fc291cmNlLnByb3ZpZGVyKCkgJiYgIW1fc291cmNlLnByb3ZpZGVyKCkt
PnVybCgpLmlzRW1wdHkoKSkKKyAgICAgICAgaml0U3ltYm9sTmFtZSA9IG1ha2VTdHJpbmcoaml0
U3ltYm9sTmFtZSwgIlsiLCBtX3NvdXJjZS5wcm92aWRlcigpLT51cmwoKSwgIjoiLCBVU3RyaW5n
Ojpmcm9tKG1fZmlyc3RMaW5lKSwgIi0iLCBVU3RyaW5nOjpmcm9tKG1fbGFzdExpbmUpLCAiXSIp
OworI2VuZGlmCisgICAgbV9qaXRDb2RlID0gSklUOjpjb21waWxlKHNjb3BlQ2hhaW5Ob2RlLT5n
bG9iYWxEYXRhLCBjb2RlQmxvY2ssIGppdFN5bWJvbE5hbWUuVVRGOFN0cmluZygpLmRhdGEoKSk7
CiAKICNpZiAhRU5BQkxFKE9QQ09ERV9TQU1QTElORykKICAgICBpZiAoIUJ5dGVjb2RlR2VuZXJh
dG9yOjpkdW1wc0dlbmVyYXRlZENvZGUoKSkKQEAgLTE2Miw3ICsxNjksMTcgQEAgdm9pZCBQcm9n
cmFtRXhlY3V0YWJsZTo6Z2VuZXJhdGVKSVRDb2RlKEV4ZWNTdGF0ZSogZXhlYywgU2NvcGVDaGFp
bk5vZGUqIHNjb3BlQ2gKIHZvaWQgRnVuY3Rpb25FeGVjdXRhYmxlOjpnZW5lcmF0ZUpJVENvZGUo
RXhlY1N0YXRlKiBleGVjLCBTY29wZUNoYWluTm9kZSogc2NvcGVDaGFpbk5vZGUpCiB7CiAgICAg
Q29kZUJsb2NrKiBjb2RlQmxvY2sgPSAmYnl0ZWNvZGUoZXhlYywgc2NvcGVDaGFpbk5vZGUpOwot
ICAgIG1faml0Q29kZSA9IEpJVDo6Y29tcGlsZShzY29wZUNoYWluTm9kZS0+Z2xvYmFsRGF0YSwg
Y29kZUJsb2NrKTsKKworICAgIFVTdHJpbmcgaml0U3ltYm9sTmFtZSgiPGppdC1mdW5jPiIpOwor
I2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBpZiAoc2NvcGVDaGFpbk5vZGUtPmds
b2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5pc0VuYWJsZWQoKSkgeworICAgICAgICBpZiAoIW1f
bmFtZS5pc0VtcHR5KCkgJiYgIW1fbmFtZS5pc051bGwoKSkKKyAgICAgICAgICAgIGppdFN5bWJv
bE5hbWUgPSBtYWtlU3RyaW5nKCI8aml0LWZ1bmM+OiIsIG1fbmFtZS51c3RyaW5nKCkpOworICAg
ICAgICBpZiAobV9zb3VyY2UucHJvdmlkZXIoKSAmJiAhbV9zb3VyY2UucHJvdmlkZXIoKS0+dXJs
KCkuaXNFbXB0eSgpKQorICAgICAgICAgICAgaml0U3ltYm9sTmFtZSA9IG1ha2VTdHJpbmcoaml0
U3ltYm9sTmFtZSwgIlsiLCBtX3NvdXJjZS5wcm92aWRlcigpLT51cmwoKSwgIjoiLCBVU3RyaW5n
Ojpmcm9tKG1fZmlyc3RMaW5lKSwgIi0iLCBVU3RyaW5nOjpmcm9tKG1fbGFzdExpbmUpLCAiXSIp
OworICAgIH0KKyNlbmRpZgorICAgIG1faml0Q29kZSA9IEpJVDo6Y29tcGlsZShzY29wZUNoYWlu
Tm9kZS0+Z2xvYmFsRGF0YSwgY29kZUJsb2NrLCBqaXRTeW1ib2xOYW1lLlVURjhTdHJpbmcoKS5k
YXRhKCkpOwogCiAjaWYgIUVOQUJMRShPUENPREVfU0FNUExJTkcpCiAgICAgaWYgKCFCeXRlY29k
ZUdlbmVyYXRvcjo6ZHVtcHNHZW5lcmF0ZWRDb2RlKCkpCkBAIC0xOTgsNyArMjE1LDE2IEBAIEV4
Y2VwdGlvbkluZm8qIEZ1bmN0aW9uRXhlY3V0YWJsZTo6cmVwYXJzZUV4Y2VwdGlvbkluZm8oSlNH
bG9iYWxEYXRhKiBnbG9iYWxEYXRhCiAgICAgQVNTRVJUKG5ld0NvZGVCbG9jay0+aW5zdHJ1Y3Rp
b25Db3VudCgpID09IGNvZGVCbG9jay0+aW5zdHJ1Y3Rpb25Db3VudCgpKTsKIAogI2lmIEVOQUJM
RShKSVQpCi0gICAgSklUQ29kZSBuZXdKSVRDb2RlID0gSklUOjpjb21waWxlKGdsb2JhbERhdGEs
IG5ld0NvZGVCbG9jay5nZXQoKSk7CisgICAgVVN0cmluZyBqaXRTeW1ib2xOYW1lKCI8aml0LWZ1
bmMtcmVwYXJzZWQ+Iik7CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIGlmIChz
Y29wZUNoYWluTm9kZS0+Z2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LmlzRW5hYmxlZCgpKSB7
CisgICAgICAgIGlmICghbV9uYW1lLmlzRW1wdHkoKSAmJiAhbV9uYW1lLmlzTnVsbCgpKQorICAg
ICAgICAgICAgaml0U3ltYm9sTmFtZSA9IG1ha2VTdHJpbmcoIjxqaXQtZnVuYy1yZXBhcnNlZD46
IiwgbV9uYW1lLnVzdHJpbmcoKS5VVEY4U3RyaW5nKCkuZGF0YSgpKTsKKyAgICAgICAgaWYgKG1f
c291cmNlLnByb3ZpZGVyKCkgJiYgIW1fc291cmNlLnByb3ZpZGVyKCktPnVybCgpLmlzRW1wdHko
KSkKKyAgICAgICAgICAgIGppdFN5bWJvbE5hbWUgPSBtYWtlU3RyaW5nKGppdFN5bWJvbE5hbWUs
ICJbIiwgbV9zb3VyY2UucHJvdmlkZXIoKS0+dXJsKCksICI6IiwgVVN0cmluZzo6ZnJvbShtX2Zp
cnN0TGluZSksICItIiwgVVN0cmluZzo6ZnJvbShtX2xhc3RMaW5lKSwgIl0iKTsKKyAgICB9Cisj
ZW5kaWYKKyAgICBKSVRDb2RlIG5ld0pJVENvZGUgPSBKSVQ6OmNvbXBpbGUoZ2xvYmFsRGF0YSwg
bmV3Q29kZUJsb2NrLmdldCgpLCBqaXRTeW1ib2xOYW1lLlVURjhTdHJpbmcoKS5kYXRhKCkpOwog
ICAgIEFTU0VSVChuZXdKSVRDb2RlLnNpemUoKSA9PSBnZW5lcmF0ZWRKSVRDb2RlKCkuc2l6ZSgp
KTsKICNlbmRpZgogCkBAIC0yMjMsNyArMjQ5LDcgQEAgRXhjZXB0aW9uSW5mbyogRXZhbEV4ZWN1
dGFibGU6OnJlcGFyc2VFeGNlcHRpb25JbmZvKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgU2MK
ICAgICBBU1NFUlQobmV3Q29kZUJsb2NrLT5pbnN0cnVjdGlvbkNvdW50KCkgPT0gY29kZUJsb2Nr
LT5pbnN0cnVjdGlvbkNvdW50KCkpOwogCiAjaWYgRU5BQkxFKEpJVCkKLSAgICBKSVRDb2RlIG5l
d0pJVENvZGUgPSBKSVQ6OmNvbXBpbGUoZ2xvYmFsRGF0YSwgbmV3Q29kZUJsb2NrLmdldCgpKTsK
KyAgICBKSVRDb2RlIG5ld0pJVENvZGUgPSBKSVQ6OmNvbXBpbGUoZ2xvYmFsRGF0YSwgbmV3Q29k
ZUJsb2NrLmdldCgpLCAiPGppdC1ldmFsLXJlcGFyc2VkPiIpOwogICAgIEFTU0VSVChuZXdKSVRD
b2RlLnNpemUoKSA9PSBnZW5lcmF0ZWRKSVRDb2RlKCkuc2l6ZSgpKTsKICNlbmRpZgogCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5jcHAgYi9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5jcHAKaW5kZXggMTYwMGM3Ny4uZDBlMDhiZSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuY3BwCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcApAQCAtMTMzLDYgKzEzMyw5
IEBAIEpTR2xvYmFsRGF0YTo6SlNHbG9iYWxEYXRhKGJvb2wgaXNTaGFyZWQpCiAgICAgLCBsZXhl
cihuZXcgTGV4ZXIodGhpcykpCiAgICAgLCBwYXJzZXIobmV3IFBhcnNlcikKICAgICAsIGludGVy
cHJldGVyKG5ldyBJbnRlcnByZXRlcikKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisg
ICAgLCBqaXRQcm9maWxlQWdlbnQoZmFsc2UpCisjZW5kaWYKICNpZiBFTkFCTEUoSklUKQogICAg
ICwgaml0U3R1YnModGhpcykKICNlbmRpZgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbERhdGEuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRh
LmgKaW5kZXggMjBkNjJkNS4uM2UwODdmOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbERhdGEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
RGF0YS5oCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiQ29sbGVjdG9yLmgiCiAjaW5jbHVk
ZSAiRGF0ZUluc3RhbmNlQ2FjaGUuaCIKICNpbmNsdWRlICJFeGVjdXRhYmxlQWxsb2NhdG9yLmgi
CisjaW5jbHVkZSAiSklUUHJvZmlsZUFnZW50LmgiCiAjaW5jbHVkZSAiSklUU3R1YnMuaCIKICNp
bmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiTWFya1N0YWNrLmgiCkBAIC0xNTEsNiArMTUy
LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIExleGVyKiBsZXhlcjsKICAgICAgICAgUGFy
c2VyKiBwYXJzZXI7CiAgICAgICAgIEludGVycHJldGVyKiBpbnRlcnByZXRlcjsKKyNpZiBFTkFC
TEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgICAgIEpJVFByb2ZpbGVBZ2VudCBqaXRQcm9maWxl
QWdlbnQ7IC8vIFNob3VsZCBiZSBpbml0aWFsaXplZCBiZWZvcmUgaml0U3R1YnMKKyNlbmRpZgog
I2lmIEVOQUJMRShKSVQpCiAgICAgICAgIEpJVFRodW5rcyBqaXRTdHViczsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9KYXZhU2NyaXB0Q29yZS93
dGYvUGxhdGZvcm0uaAppbmRleCBmY2MyNmExLi4zZGNjNmViIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0u
aApAQCAtMTAzMCw2ICsxMDMwLDE1IEBAIG9uIE1pbkdXLiBTZWUgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MjY4ICovCiAjaWYgRU5BQkxFKEpJVCkgfHwgRU5BQkxF
KFlBUlJfSklUKQogI2RlZmluZSBFTkFCTEVfQVNTRU1CTEVSIDEKICNlbmRpZgorCisjaWYgRU5B
QkxFKEpJVF9PUFJPRklMRV9BR0VOVCkgJiYgIWRlZmluZWQgRU5BQkxFX0pJVF9QUk9GSUxFX0FH
RU5UCisjZGVmaW5lIEVOQUJMRV9KSVRfUFJPRklMRV9BR0VOVCAxCisjZW5kaWYKKworI2lmICFF
TkFCTEUoSklUKSAmJiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisjZXJyb3IgIkpJVF9QUk9G
SUxFX0FHRU5UIHJlcXVpcmVzIEpJVCIKKyNlbmRpZgorCiAvKiBTZXR0aW5nIHRoaXMgZmxhZyBw
cmV2ZW50cyB0aGUgYXNzZW1ibGVyIGZyb20gdXNpbmcgUldYIG1lbW9yeTsgdGhpcyBtYXkgaW1w
cm92ZQogICAgc2VjdXJpdHkgYnV0IGN1cnJlY3RseSBjb21lcyBhdCBhIHNpZ25pZmljYW50IHBl
cmZvcm1hbmNlIGNvc3QuICovCiAjaWYgUExBVEZPUk0oSVBIT05FKQpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUveWFyci9SZWdleEpJVC5jcHAgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4
SklULmNwcAppbmRleCBmMzdhYmJmLi41MWQxOTYyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS95YXJyL1JlZ2V4SklULmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNw
cApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlJlZ2V4SklULmgiCiAKICNpbmNsdWRlICJB
U0NJSUNUeXBlLmgiCisjaW5jbHVkZSAiSklUUHJvZmlsZUFnZW50LmgiCiAjaW5jbHVkZSAiSlNH
bG9iYWxEYXRhLmgiCiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIgogI2luY2x1ZGUgIk1hY3JvQXNz
ZW1ibGVyLmgiCkBAIC0xMzc1LDcgKzEzNzYsMTIgQEAgcHVibGljOgogICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbV9iYWNrdHJhY2tSZWNvcmRzLnNpemUoKTsgKytpKQogICAgICAg
ICAgICAgcGF0Y2hCdWZmZXIucGF0Y2gobV9iYWNrdHJhY2tSZWNvcmRzW2ldLmRhdGFMYWJlbCwg
cGF0Y2hCdWZmZXIubG9jYXRpb25PZihtX2JhY2t0cmFja1JlY29yZHNbaV0uYmFja3RyYWNrTG9j
YXRpb24pKTsKIAotICAgICAgICBqaXRPYmplY3Quc2V0KHBhdGNoQnVmZmVyLmZpbmFsaXplQ29k
ZSgpKTsKKyAgICAgICAgQ29kZVJlZiBmaW5hbENvZGUgPSBwYXRjaEJ1ZmZlci5maW5hbGl6ZUNv
ZGUoKTsKKyAgICAgICAgaml0T2JqZWN0LnNldChmaW5hbENvZGUpOworCisjaWYgRU5BQkxFKEpJ
VF9QUk9GSUxFX0FHRU5UKQorICAgICAgICBnbG9iYWxEYXRhLT5qaXRQcm9maWxlQWdlbnQucmVn
aXN0ZXJKSVRDb2RlKGZpbmFsQ29kZS5tX2NvZGUuZXhlY3V0YWJsZUFkZHJlc3MoKSwgZmluYWxD
b2RlLm1fc2l6ZSwgIjxqaXQteWFycj4iKTsKKyNlbmRpZgogICAgIH0KIAogcHJpdmF0ZToKZGlm
ZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCAyMmJkNTQ1Li5mZWEz
Zjk0IDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC02MzIs
NiArNjMyLDMwIEBAIGlmIHRlc3QgIiRlbmFibGVfaml0IiA9ICJ5ZXMiOyB0aGVuCiBmaQogQUNf
TVNHX1JFU1VMVChbJGVuYWJsZV9qaXRdKQogCisjIEJ1aWxkIEpJVCB3aXRoIE9Qcm9maWxlIGFn
ZW50IHN1cHBvcnQKK09QQUdFTlRfTElCUz0KK0FDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBl
bmFibGUgT1Byb2ZpbGUgSklUIGFnZW50IHN1cHBvcnQuXSkKK0FDX0FSR19FTkFCTEUoW29wYWdl
bnRdLAorICAgICAgICAgICAgICBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtb3BhZ2VudF0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtFbmFibGUgT1Byb2ZpbGUgSklUIGFnZW50IHN1
cHBvcnQgZGVmYXVsdD1ub10pLAorICAgICAgICAgICAgICBbZW5hYmxlX29wYWdlbnQ9InllcyJd
LFtdKQoraWYgdGVzdCAiJGVuYWJsZV9vcGFnZW50IiA9ICJ5ZXMiOyB0aGVuCisgIEFDX0NIRUNL
X0xJQihvcGFnZW50LCBvcF9tYWpvcl92ZXJzaW9uLAorICAgIFtBQ19DSEVDS19IRUFERVIob3Bh
Z2VudC5oLAorICAgICAgb3BhZ2VudF9vaz15ZXMsCisgICAgICBvcGFnZW50X29rPW5vKV0sCisg
ICAgQUNfTVNHX0VSUk9SKFtPUHJvZmlsZSBvcGFnZW50IGxpYnJhcnkgbm90IGZvdW5kXSksIC1s
YmZkKQorCisgIEFDX01TR19SRVNVTFQoWyRvcGFnZW50X29rXSkKKworICBpZiB0ZXN0ICIkb3Bh
Z2VudF9vayIgPSAieWVzIjsgdGhlbgorICAgIEFDX0RFRklORShbRU5BQkxFX0pJVF9PUFJPRklM
RV9BR0VOVF0sIFsxXSwgW0RlZmluZSB0byBlbmFibGUgT1Byb2ZpbGUgSklUIGFnZW50IHN1cHBv
cnRdKQorICBmaQorICBPUEFHRU5UX0xJQlM9Ii1sb3BhZ2VudCAtbGJmZCIKK2ZpCisKK0FDX1NV
QlNUKFtPUEFHRU5UX0xJQlNdKQorCiAjIEdPYmplY3QgSW50cm9zcGVjdGlvbgogQUNfTVNHX0NI
RUNLSU5HKFt3aGV0aGVyIHRvIGVuYWJsZSBHT2JqZWN0IGludHJvc3BlY3Rpb24gc3VwcG9ydF0p
CiBBQ19BUkdfRU5BQkxFKFtpbnRyb3NwZWN0aW9uXSwKLS0gCjEuNS40LjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53661</attachid>
            <date>2010-04-19 02:11:24 -0700</date>
            <delta_ts>2010-04-20 01:56:56 -0700</delta_ts>
            <desc>Supports OProfile JIT agent</desc>
            <filename>0001-Supports-OProfile.patch</filename>
            <type>text/plain</type>
            <size>44090</size>
            <attacher name="Gabor Loki">loki</attacher>
            
              <data encoding="base64">RnJvbSAzMmEwMGRjMTBkOGJmOGU4NThjODI2ZjA2OGUxNjE0NmRiMzYxZmQwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdlZC5odT4KRGF0
ZTogTW9uLCAxOSBBcHIgMjAxMCAxMTowMTowOCArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIFN1cHBv
cnRzIE9Qcm9maWxlCgpTaWduZWQtb2ZmLWJ5OiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdl
ZC5odT4KLS0tCiBDaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAxNiArKysKIEdOVW1ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgICAzICstCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICA3NyArKysrKysrKysrKysKIEphdmFTY3JpcHRDb3JlL0dOVW1ha2Vm
aWxlLmFtICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsKIEphdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnBybyAgICAgICAgICAgICAgICAgfCAgICAxICsKIEphdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9MaW5rQnVmZmVyLmggICAgICAgICAgICAgfCAgICA3ICsKIEphdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL09wY29kZS5oICAgICAgICAgICAgICAgICAgfCAgICAxICsKIEphdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAgfCAgICA3ICsKIEphdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcCAgICAgICAgfCAgICA2ICsKIEphdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuY3BwICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAxICsKIEph
dmFTY3JpcHRDb3JlL2ppdC9KSVQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIxICsr
Ky0KIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCAgICAgICAgICAgICAgICAgfCAg
IDE3ICsrKy0KIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuY3BwICAgICAgICAg
ICAgfCAgMTIxICsrKysrKysrKysrKysrKysrKwogSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb2Zp
bGVBZ2VudC5oICAgICAgICAgICAgICB8ICAxMzYgKysrKysrKysrKysrKysrKysrKysrCiBKYXZh
U2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwICAgICAgICAgIHwgICAyOSArKysr
KwogSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwICAgICB8ICAg
MjkgKysrKysKIEphdmFTY3JpcHRDb3JlL2pzYy5jcHAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgIDE4ICsrKwogSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmNwcCAgICAg
ICAgICAgICB8ICAgMzYgKysrKystCiBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0
YS5jcHAgICAgICAgICAgIHwgICAgMyArCiBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
RGF0YS5oICAgICAgICAgICAgIHwgICAgNCArCiBKYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0u
aCAgICAgICAgICAgICAgICAgICAgIHwgICAgOSArKwogSmF2YVNjcmlwdENvcmUveWFyci9SZWdl
eEpJVC5jcHAgICAgICAgICAgICAgICAgICB8ICAgIDggKy0KIGNvbmZpZ3VyZS5hYyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDI0ICsrKysKIDIzIGZpbGVzIGNoYW5n
ZWQsIDU2NSBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBKYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvZmlsZUFnZW50LmNwcAogY3JlYXRlIG1vZGUgMTAw
NjQ0IEphdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuaAoKZGlmZiAtLWdpdCBhL0No
YW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA4OTMzOTdhLi5jMzc0MTI0IDEwMDY0NAotLS0gYS9D
aGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDQtMTYgIEdh
Ym9yIExva2kgIDxsb2tpQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgU3VwcG9ydHMgT1Byb2ZpbGUgSklUIGFnZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjU2MQorCisgICAgICAg
IFRoaXMgcGF0Y2ggZmVlZHMgT1Byb2ZpbGUgZGFlbW9uIHdpdGggZGV0YWlsZWQgaW5mb3JtYXRp
b24gYWJvdXQgdGhlCisgICAgICAgIGdlbmVyZWF0ZWQgSklUIGNvZGUuIEl0IHBhc3NlcyBzb3Vy
Y2UvdXJsIHBhdGgsIGZ1bmN0aW9uIG5hbWVzIGFuZAorICAgICAgICBsaW5lIGluZm9ybWF0aW9u
IGZvciB0aGUgcmVwb3J0IGFuZCBhbm5vdGF0ZSB0b29scy4KKworICAgICAgICBEZXZlbG9wZWQg
aW4gY29vcGVyYXRpb24gd2l0aCBab2x0YW4gSGVyY3plZy4KKworICAgICAgICAqIEdOVW1ha2Vm
aWxlLmFtOgorICAgICAgICAqIGNvbmZpZ3VyZS5hYzoKKwogMjAxMC0wNC0wOSAgU2ltb24gSGF1
c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBj
cmFzaCBmaXguCmRpZmYgLS1naXQgYS9HTlVtYWtlZmlsZS5hbSBiL0dOVW1ha2VmaWxlLmFtCmlu
ZGV4IDNiZGZlNTMuLjNkNDQyM2MgMTAwNjQ0Ci0tLSBhL0dOVW1ha2VmaWxlLmFtCisrKyBiL0dO
VW1ha2VmaWxlLmFtCkBAIC0xODEsNyArMTgxLDggQEAgbGliSmF2YVNjcmlwdENvcmVfbGFfU09V
UkNFUyA9IFwKIGxpYkphdmFTY3JpcHRDb3JlX2xhX0xJQkFERCA9IFwKIAkkKFVOSUNPREVfTElC
UykgXAogCSQoR0xJQl9MSUJTKSBcCi0JLWxwdGhyZWFkCisJLWxwdGhyZWFkIFwKKwkkKE9QQUdF
TlRfTElCUykKIAogbGliSmF2YVNjcmlwdENvcmVfbGFfQ1hYRkxBR1MgPSBcCiAJJChnbG9iYWxf
Y3h4ZmxhZ3MpIFwKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAxMjMyN2U0Li42MmE0YTUwIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsODAgQEAKKzIwMTAtMDQtMTYgIEdhYm9yIExva2kgIDxsb2tpQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3VwcG9y
dHMgT1Byb2ZpbGUgSklUIGFnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zMjU2MQorCisgICAgICAgIFRoaXMgcGF0Y2ggZmVlZHMgT1Byb2ZpbGUg
ZGFlbW9uIHdpdGggZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhlCisgICAgICAgIGdlbmVy
ZWF0ZWQgSklUIGNvZGUuIEl0IHBhc3NlcyBzb3VyY2UvdXJsIHBhdGgsIGZ1bmN0aW9uIG5hbWVz
IGFuZAorICAgICAgICBsaW5lIGluZm9ybWF0aW9uIGZvciB0aGUgcmVwb3J0IGFuZCBhbm5vdGF0
ZSB0b29scy4KKworICAgICAgICBEZXZlbG9wZWQgaW4gY29vcGVyYXRpb24gd2l0aCBab2x0YW4g
SGVyY3plZy4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLnBybzoKKyAgICAgICAgKiBhc3NlbWJsZXIvTGlua0J1ZmZlci5oOgorICAgICAgICAo
SlNDOjpMaW5rQnVmZmVyOjpzaXplKToKKyAgICAgICAgKiBieXRlY29kZS9PcGNvZGUuaDoKKyAg
ICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlND
OjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdERlYnVnSG9vayk6CisgICAgICAgICogaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuY3BwOgorICAgICAgICAoSlNDOjpJbnRlcnByZXRlcjo6cHJpdmF0ZUV4
ZWN1dGUpOgorICAgICAgICAqIGppdC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZh
dGVDb21waWxlTWFpblBhc3MpOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKEpTQzo6
SklUOjpjb21waWxlKToKKyAgICAgICAgKiBqaXQvSklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChK
U0M6OkpJVDo6ZW1pdF9vcF9wcm9maWxlX2ppdCk6CisgICAgICAgICogaml0L0pJVFByb2ZpbGVB
Z2VudC5jcHA6IEFkZGVkLgorICAgICAgICAoSlNDOjpKSVRQcm9maWxlQWdlbnQ6OmluaXRBZ2Vu
dCk6CisgICAgICAgIChKU0M6OkpJVFByb2ZpbGVBZ2VudDo6ZGVpbml0QWdlbnQpOgorICAgICAg
ICAoSlNDOjpKSVRQcm9maWxlQWdlbnQ6OnJlZ2lzdGVySklUQ29kZUltcGwpOgorICAgICAgICAo
SlNDOjpKSVRQcm9maWxlQWdlbnQ6OmFubm90YXRlSklUQ29kZUltcGwpOgorICAgICAgICAqIGpp
dC9KSVRQcm9maWxlQWdlbnQuaDogQWRkZWQuCisgICAgICAgIChKU0M6OkxpbmVJbmZvUmVjb3Jk
OjpMaW5lSW5mb1JlY29yZCk6CisgICAgICAgIChKU0M6OkpJVFByb2ZpbGVBZ2VudDo6VmlydHVh
bE1lbW9yeVNlZ21lbnQ6OlZpcnR1YWxNZW1vcnlTZWdtZW50KToKKyAgICAgICAgKEpTQzo6SklU
UHJvZmlsZUFnZW50OjpKSVRQcm9maWxlQWdlbnQpOgorICAgICAgICAoSlNDOjpKSVRQcm9maWxl
QWdlbnQ6On5KSVRQcm9maWxlQWdlbnQpOgorICAgICAgICAoSlNDOjpKSVRQcm9maWxlQWdlbnQ6
OnJlZ2lzdGVySklUQ29kZSk6CisgICAgICAgIChKU0M6OkpJVFByb2ZpbGVBZ2VudDo6YW5ub3Rh
dGVKSVRDb2RlKToKKyAgICAgICAgKEpTQzo6SklUUHJvZmlsZUFnZW50OjpyZWNvcmRKSVRUcmFt
cG9saW5lcyk6CisgICAgICAgIChKU0M6OkpJVFByb2ZpbGVBZ2VudDo6c2V0RW5hYmxlZCk6Cisg
ICAgICAgIChKU0M6OkpJVFByb2ZpbGVBZ2VudDo6aXNFbmFibGVkKToKKyAgICAgICAgKiBqaXQv
SklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxl
UHV0QnlJZFRyYW5zaXRpb24pOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlUGF0
Y2hHZXRBcnJheUxlbmd0aCk6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRC
eUlkUHJvdG8pOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNlbGZM
aXN0KToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90b0xpc3Qp
OgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluTGlzdCk6Cisg
ICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4pOgorICAgICAgICAq
IGppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2
YXRlQ29tcGlsZVB1dEJ5SWRUcmFuc2l0aW9uKToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRl
Q29tcGlsZVBhdGNoR2V0QXJyYXlMZW5ndGgpOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVD
b21waWxlR2V0QnlJZFByb3RvKToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdl
dEJ5SWRTZWxmTGlzdCk6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlk
UHJvdG9MaXN0KToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFp
bkxpc3QpOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluKToK
KyAgICAgICAgKiBqc2MuY3BwOgorICAgICAgICAoT3B0aW9uczo6T3B0aW9ucyk6CisgICAgICAg
IChwcmludFVzYWdlU3RhdGVtZW50KToKKyAgICAgICAgKHBhcnNlQXJndW1lbnRzKToKKyAgICAg
ICAgKGpzY21haW4pOgorICAgICAgICAqIHJ1bnRpbWUvRXhlY3V0YWJsZS5jcHA6CisgICAgICAg
IChKU0M6OkV2YWxFeGVjdXRhYmxlOjpnZW5lcmF0ZUpJVENvZGUpOgorICAgICAgICAoSlNDOjpQ
cm9ncmFtRXhlY3V0YWJsZTo6Z2VuZXJhdGVKSVRDb2RlKToKKyAgICAgICAgKEpTQzo6RnVuY3Rp
b25FeGVjdXRhYmxlOjpnZW5lcmF0ZUpJVENvZGUpOgorICAgICAgICAoSlNDOjpGdW5jdGlvbkV4
ZWN1dGFibGU6OnJlcGFyc2VFeGNlcHRpb25JbmZvKToKKyAgICAgICAgKEpTQzo6RXZhbEV4ZWN1
dGFibGU6OnJlcGFyc2VFeGNlcHRpb25JbmZvKToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFs
RGF0YS5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsRGF0YTo6SlNHbG9iYWxEYXRhKToKKyAg
ICAgICAgKiBydW50aW1lL0pTR2xvYmFsRGF0YS5oOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5o
OgorICAgICAgICAqIHlhcnIvUmVnZXhKSVQuY3BwOgorICAgICAgICAoSlNDOjpZYXJyOjpSZWdl
eEdlbmVyYXRvcjo6Y29tcGlsZSk6CisKIDIwMTAtMDQtMTUgIEplZHJ6ZWogTm93YWNraSAgPGpl
ZHJ6ZWoubm93YWNraUBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBS
b2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmls
ZS5hbSBiL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDg3M2FmOTUuLmYyYzE1
YWEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL0phdmFT
Y3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04Miw2ICs4Miw4IEBAIGphdmFzY3JpcHRjb3Jl
X3NvdXJjZXMgKz0gXAogCUphdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCBcCiAJSmF2
YVNjcmlwdENvcmUvaml0L0pJVENhbGwuY3BwIFwKIAlKYXZhU2NyaXB0Q29yZS9qaXQvSklUQ29k
ZS5oIFwKKwlKYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvZmlsZUFnZW50LmggXAorCUphdmFTY3Jp
cHRDb3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuY3BwIFwKIAlKYXZhU2NyaXB0Q29yZS9qaXQvSklU
UHJvcGVydHlBY2Nlc3MuY3BwIFwKIAlKYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nl
c3MzMl82NC5jcHAgXAogCUphdmFTY3JpcHRDb3JlL2ppdC9KSVRBcml0aG1ldGljLmNwcCBcCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcm8gYi9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5wcm8KaW5kZXggYmU4YTE1NC4uYzQ3MWI0MSAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJvCisrKyBiL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnBybwpAQCAtOTMsNiArOTMsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBq
aXQvSklUQ2FsbC5jcHAgXAogICAgIGppdC9KSVQuY3BwIFwKICAgICBqaXQvSklUT3Bjb2Rlcy5j
cHAgXAorICAgIGppdC9KSVRQcm9maWxlQWdlbnQuY3BwIFwKICAgICBqaXQvSklUUHJvcGVydHlB
Y2Nlc3MuY3BwIFwKICAgICBqaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAgXAogICAgIGpp
dC9KSVRTdHVicy5jcHAgXApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xp
bmtCdWZmZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKaW5kZXgg
NDdjYWM1YS4uMDY1NGYzNiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xp
bmtCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oCkBA
IC0xNTksNiArMTU5LDEzIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIENvZGVMb2NhdGlvbkxh
YmVsKGNvZGUoKSk7CiAgICAgfQogCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAg
IGNvbnN0IHNpemVfdCBzaXplKCkKKyAgICB7CisgICAgICAgIHJldHVybiBtX3NpemU7CisgICAg
fQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgLy8gS2VlcCB0aGlzIHByaXZhdGUhIC0gdGhlIHVu
ZGVybHlpbmcgY29kZSBzaG91bGQgb25seSBiZSBvYnRhaW5lZCBleHRlcm5hbGx5IHZpYSAKICAg
ICAvLyBmaW5hbGl6ZUNvZGUoKSBvciBmaW5hbGl6ZUNvZGVBZGRlbmR1bSgpLgpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9PcGNvZGUuaAppbmRleCA1MDlkYWViLi5iNmZkNDZmIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9PcGNvZGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9P
cGNvZGUuaApAQCAtMTgyLDYgKzE4Miw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBtYWNy
byhvcF9kZWJ1ZywgNCkgXAogICAgICAgICBtYWNybyhvcF9wcm9maWxlX3dpbGxfY2FsbCwgMikg
XAogICAgICAgICBtYWNybyhvcF9wcm9maWxlX2RpZF9jYWxsLCAyKSBcCisgICAgICAgIG1hY3Jv
KG9wX3Byb2ZpbGVfaml0LCAzKSBcCiAgICAgICAgIFwKICAgICAgICAgbWFjcm8ob3BfZW5kLCAy
KSAvLyBlbmQgbXVzdCBiZSB0aGUgbGFzdCBvcGNvZGUgaW4gdGhlIGxpc3QKIApkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggZTQ2
YmIxNS4uNjhkODdlNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5
dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xNjM3LDYgKzE2MzcsMTMgQEAgdm9pZCBCeXRlY29kZUdl
bmVyYXRvcjo6ZW1pdFBvcFNjb3BlKCkKIAogdm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdERl
YnVnSG9vayhEZWJ1Z0hvb2tJRCBkZWJ1Z0hvb2tJRCwgaW50IGZpcnN0TGluZSwgaW50IGxhc3RM
aW5lKQogeworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBpZiAobV9nbG9iYWxE
YXRhLT5qaXRQcm9maWxlQWdlbnQuaXNFbmFibGVkKCkpIHsKKyAgICAgICAgZW1pdE9wY29kZShv
cF9wcm9maWxlX2ppdCk7CisgICAgICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChmaXJzdExpbmUp
OworICAgICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQobGFzdExpbmUpOworICAgIH0KKyNlbmRp
ZgogICAgIGlmICghbV9zaG91bGRFbWl0RGVidWdIb29rcykKICAgICAgICAgcmV0dXJuOwogICAg
IGVtaXRPcGNvZGUob3BfZGVidWcpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJw
cmV0ZXIuY3BwCmluZGV4IGZhNWQ3MmMuLjhlMjc0MjAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTQyMTIsNiArNDIxMiwxMiBAQCBza2lwX2lkX2N1
c3RvbV9zZWxmOgogICAgICAgICB2UEMgKz0gT1BDT0RFX0xFTkdUSChvcF9wcm9maWxlX2RpZF9j
YWxsKTsKICAgICAgICAgTkVYVF9JTlNUUlVDVElPTigpOwogICAgIH0KKyAgICBERUZJTkVfT1BD
T0RFKG9wX3Byb2ZpbGVfaml0KSB7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworCisg
ICAgICAgIHZQQyArPSBPUENPREVfTEVOR1RIKG9wX3Byb2ZpbGVfaml0KTsKKyAgICAgICAgTkVY
VF9JTlNUUlVDVElPTigpOworICAgIH0KICAgICB2bV90aHJvdzogewogICAgICAgICBnbG9iYWxE
YXRhLT5leGNlcHRpb24gPSBKU1ZhbHVlKCk7CiAgICAgICAgIGlmICghdGlja0NvdW50KSB7CmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCBiL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVQuY3BwCmluZGV4IGI0MTQxMDEuLjRkZTIwOGMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVQuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCkBAIC0yODUs
NiArMjg1LDcgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICBE
RUZJTkVfT1Aob3BfcHJlX2RlYykKICAgICAgICAgREVGSU5FX09QKG9wX3ByZV9pbmMpCiAgICAg
ICAgIERFRklORV9PUChvcF9wcm9maWxlX2RpZF9jYWxsKQorICAgICAgICBERUZJTkVfT1Aob3Bf
cHJvZmlsZV9qaXQpCiAgICAgICAgIERFRklORV9PUChvcF9wcm9maWxlX3dpbGxfY2FsbCkKICAg
ICAgICAgREVGSU5FX09QKG9wX3B1c2hfbmV3X3Njb3BlKQogICAgICAgICBERUZJTkVfT1Aob3Bf
cHVzaF9zY29wZSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuaAppbmRleCA5ZGI4ZGU3Li44ODc4NGIxIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBA
IC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiSW50ZXJw
cmV0ZXIuaCIKICNpbmNsdWRlICJKSVRDb2RlLmgiCisjaW5jbHVkZSAiSklUUHJvZmlsZUFnZW50
LmgiCiAjaW5jbHVkZSAiSklUU3R1YnMuaCIKICNpbmNsdWRlICJPcGNvZGUuaCIKICNpbmNsdWRl
ICJSZWdpc3RlckZpbGUuaCIKQEAgLTI5OCw5ICsyOTksMjAgQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hHZXRCeUlkRGVmYXVsdE9mZnNldCA9IDI1NjsK
IAogICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIEpJVENvZGUgY29tcGlsZShKU0dsb2JhbERh
dGEqIGdsb2JhbERhdGEsIENvZGVCbG9jayogY29kZUJsb2NrKQorICAgICAgICBzdGF0aWMgSklU
Q29kZSBjb21waWxlKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgQ29kZUJsb2NrKiBjb2RlQmxv
Y2ssIGNvbnN0IGNoYXIqIG5hbWUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBKSVQo
Z2xvYmFsRGF0YSwgY29kZUJsb2NrKS5wcml2YXRlQ29tcGlsZSgpOworICAgICAgICAgICAgSklU
IGppdChnbG9iYWxEYXRhLCBjb2RlQmxvY2spOworICAgICAgICAgICAgSklUQ29kZSBjb2RlID0g
aml0LnByaXZhdGVDb21waWxlKCk7CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAg
ICAgICAgICAgaWYgKGdsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5pc0VuYWJsZWQoKSkgewor
ICAgICAgICAgICAgICAgIGdsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3RlckpJVENv
ZGUoY29kZS5hZGRyZXNzRm9yQ2FsbCgpLmV4ZWN1dGFibGVBZGRyZXNzKCksIGNvZGUuc2l6ZSgp
LCBuYW1lKTsKKyAgICAgICAgICAgICAgICBpZiAoIWNvZGVCbG9jay0+c291cmNlKCktPnVybCgp
LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICAgICAgZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFn
ZW50LmFubm90YXRlSklUQ29kZShjb2RlLmFkZHJlc3NGb3JDYWxsKCkuZXhlY3V0YWJsZUFkZHJl
c3MoKSwgaml0Lm1fbGluZUluZm9zLCBjb2RlQmxvY2stPnNvdXJjZSgpLT51cmwoKSk7CisgICAg
ICAgICAgICB9CisjZWxzZQorICAgICAgICAgICAgVU5VU0VEX1BBUkFNKG5hbWUpOworI2VuZGlm
CisgICAgICAgICAgICByZXR1cm4gY29kZTsKICAgICAgICAgfQogCiAgICAgICAgIHN0YXRpYyB2
b2lkIGNvbXBpbGVHZXRCeUlkUHJvdG8oSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBDYWxsRnJh
bWUqIGNhbGxGcmFtZSwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIFN0cnVjdHVyZVN0dWJJbmZvKiBz
dHViSW5mbywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0
dXJlLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBz
aXplX3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MpCkBAIC04
MzEsNiArODQzLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9wb3N0
X2luYyhJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfcHJlX2RlYyhJbnN0cnVj
dGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfcHJlX2luYyhJbnN0cnVjdGlvbiopOworICAg
ICAgICB2b2lkIGVtaXRfb3BfcHJvZmlsZV9qaXQoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9p
ZCBlbWl0X29wX3Byb2ZpbGVfZGlkX2NhbGwoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBl
bWl0X29wX3Byb2ZpbGVfd2lsbF9jYWxsKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1p
dF9vcF9wdXNoX25ld19zY29wZShJbnN0cnVjdGlvbiopOwpAQCAtOTk2LDcgKzEwMDksOSBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgVmVjdG9yPEpTUkluZm8+IG1fanNyU2l0ZXM7CiAgICAg
ICAgIFZlY3RvcjxTbG93Q2FzZUVudHJ5PiBtX3Nsb3dDYXNlczsKICAgICAgICAgVmVjdG9yPFN3
aXRjaFJlY29yZD4gbV9zd2l0Y2hlczsKLQorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkK
KyAgICAgICAgVmVjdG9yPExpbmVJbmZvUmVjb3JkPiBtX2xpbmVJbmZvczsKKyNlbmRpZgogICAg
ICAgICB1bnNpZ25lZCBtX3Byb3BlcnR5QWNjZXNzSW5zdHJ1Y3Rpb25JbmRleDsKICAgICAgICAg
dW5zaWduZWQgbV9nbG9iYWxSZXNvbHZlSW5mb0luZGV4OwogICAgICAgICB1bnNpZ25lZCBtX2Nh
bGxMaW5rSW5mb0luZGV4OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29k
ZXMuY3BwIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCmluZGV4IGViNmE0ZmQu
LjU2NmVjOWIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAor
KysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTMwLDYgKzMwLDcgQEAK
ICNpZiBFTkFCTEUoSklUKQogCiAjaW5jbHVkZSAiSklUSW5saW5lTWV0aG9kcy5oIgorI2luY2x1
ZGUgIkpJVFByb2ZpbGVBZ2VudC5oIgogI2luY2x1ZGUgIkpJVFN0dWJDYWxsLmgiCiAjaW5jbHVk
ZSAiSlNBcnJheS5oIgogI2luY2x1ZGUgIkpTQ2VsbC5oIgpAQCAtMzk5LDYgKzQwMCwxMCBAQCB2
b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElNYWNoaW5lVHJhbXBvbGluZXMoUmVmUHRyPEV4ZWN1
dGFibGVQb29sPiogZXhlY3V0YWJsZQogICAgIENvZGVSZWYgZmluYWxDb2RlID0gcGF0Y2hCdWZm
ZXIuZmluYWxpemVDb2RlKCk7CiAgICAgKmV4ZWN1dGFibGVQb29sID0gZmluYWxDb2RlLm1fZXhl
Y3V0YWJsZVBvb2w7CiAKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgbV9nbG9i
YWxEYXRhLT5qaXRQcm9maWxlQWdlbnQucmVjb3JkSklUVHJhbXBvbGluZXMoZmluYWxDb2RlLm1f
Y29kZS5leGVjdXRhYmxlQWRkcmVzcygpLCBmaW5hbENvZGUubV9zaXplKTsKKyNlbmRpZgorCiAg
ICAgdHJhbXBvbGluZXMtPmN0aVZpcnR1YWxDYWxsID0gdHJhbXBvbGluZUF0KGZpbmFsQ29kZSwg
dmlydHVhbENhbGxCZWdpbik7CiAgICAgdHJhbXBvbGluZXMtPmN0aU5hdGl2ZUNhbGxUaHVuayA9
IHRyYW1wb2xpbmVBdChmaW5hbENvZGUsIG5hdGl2ZUNhbGxUaHVuayk7CiAjaWYgRU5BQkxFKEpJ
VF9PUFRJTUlaRV9QUk9QRVJUWV9BQ0NFU1MpCkBAIC0xNDQ0LDcgKzE0NDksNiBAQCB2b2lkIEpJ
VDo6ZW1pdF9vcF9kZWJ1ZyhJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIHN0
dWJDYWxsLmNhbGwoKTsKIH0KIAotCiB2b2lkIEpJVDo6ZW1pdF9vcF9lbnRlcihJbnN0cnVjdGlv
biopCiB7CiAgICAgLy8gRXZlbiB0aG91Z2ggSklUIGNvZGUgZG9lc24ndCB1c2UgdGhlbSwgd2Ug
aW5pdGlhbGl6ZSBvdXIgY29uc3RhbnQKQEAgLTE5NDIsNiArMTk0NiwxMCBAQCB2b2lkIEpJVDo6
cHJpdmF0ZUNvbXBpbGVDVElNYWNoaW5lVHJhbXBvbGluZXMoUmVmUHRyPEV4ZWN1dGFibGVQb29s
PiogZXhlY3V0YWJsZQogICAgIENvZGVSZWYgZmluYWxDb2RlID0gcGF0Y2hCdWZmZXIuZmluYWxp
emVDb2RlKCk7CiAgICAgKmV4ZWN1dGFibGVQb29sID0gZmluYWxDb2RlLm1fZXhlY3V0YWJsZVBv
b2w7CiAKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgbV9nbG9iYWxEYXRhLT5q
aXRQcm9maWxlQWdlbnQucmVjb3JkSklUVHJhbXBvbGluZXMoZmluYWxDb2RlLm1fY29kZS5leGVj
dXRhYmxlQWRkcmVzcygpLCBmaW5hbENvZGUubV9zaXplKTsKKyNlbmRpZgorCiAgICAgdHJhbXBv
bGluZXMtPmN0aVZpcnR1YWxDYWxsTGluayA9IHRyYW1wb2xpbmVBdChmaW5hbENvZGUsIHZpcnR1
YWxDYWxsTGlua0JlZ2luKTsKICAgICB0cmFtcG9saW5lcy0+Y3RpVmlydHVhbENhbGwgPSB0cmFt
cG9saW5lQXQoZmluYWxDb2RlLCB2aXJ0dWFsQ2FsbEJlZ2luKTsKICAgICB0cmFtcG9saW5lcy0+
Y3RpTmF0aXZlQ2FsbFRodW5rID0gdHJhbXBvbGluZUF0KGZpbmFsQ29kZSwgbmF0aXZlQ2FsbFRo
dW5rKTsKQEAgLTMwOTcsNiArMzEwNSwxMyBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfdG9fanNu
dW1iZXIoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYQogI2Vu
ZGlmIC8vIFVTRShKU1ZBTFVFMzJfNjQpCiAKIC8vIEZvciBib3RoIEpTVmFsdWUzMl82NCBhbmQg
SlNWYWx1ZTMyCit2b2lkIEpJVDo6ZW1pdF9vcF9wcm9maWxlX2ppdChJbnN0cnVjdGlvbiogY3Vy
cmVudEluc3RydWN0aW9uKQoreworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBt
X2xpbmVJbmZvcy5hcHBlbmQoTGluZUluZm9SZWNvcmQoc2l6ZSgpLCBjdXJyZW50SW5zdHJ1Y3Rp
b25bMV0udS5vcGVyYW5kKSk7CisjZW5kaWYKK30KKwogI2lmIEVOQUJMRShKSVRfT1BUSU1JWkVf
TU9EKQogI2lmIENQVShBUk1fVFJBRElUSU9OQUwpCiB2b2lkIEpJVDo6c29mdE1vZHVsbygpCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvZmlsZUFnZW50LmNwcCBiL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjYxODMzNDIKLS0tIC9kZXYvbnVsbAorKysgYi9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUUHJvZmlsZUFnZW50LmNwcApAQCAtMCwwICsxLDEyMSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAwOSBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlcgorICogQ29weXJpZ2h0IChDKSAy
MDEwIFVuaXZlcnNpdHkgb2YgU3plZ2VkCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShKSVRfUFJPRklM
RV9BR0VOVCkKKworI2luY2x1ZGUgIkpJVFByb2ZpbGVBZ2VudC5oIgorCisjaW5jbHVkZSAiSlNH
bG9iYWxEYXRhLmgiCisjaW5jbHVkZSAiVVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9GYXN0TWFs
bG9jLmg+CisKK25hbWVzcGFjZSBKU0MgeworCisjaWYgRU5BQkxFKEpJVF9PUFJPRklMRV9BR0VO
VCkKKwordm9pZCBKSVRQcm9maWxlQWdlbnQ6OmluaXRBZ2VudCgpCit7CisgICAgbV92aXJ0dWFs
TWVtb3J5U2VnbWVudHMuY2xlYXIoKTsKKyAgICBtX3Byb2ZpbGVBZ2VudCA9IG9wX29wZW5fYWdl
bnQoKTsKKyAgICBpZiAobV90cmFtcG9saW5lcy5jb2RlKQorICAgICAgICByZWdpc3RlckpJVENv
ZGUobV90cmFtcG9saW5lcy5jb2RlLCBtX3RyYW1wb2xpbmVzLnNpemUsICI8aml0LXRyYW1wb2xp
bmVzPiIpOworfQorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6ZGVpbml0QWdlbnQoKQoreworICAg
IHVuc2lnbmVkIGludCBpLCBuID0gbV92aXJ0dWFsTWVtb3J5U2VnbWVudHMuc2l6ZSgpOworICAg
IGZvciAoaSA9IDA7IGkgIT0gbjsgKytpKQorICAgICAgICBvcF91bmxvYWRfbmF0aXZlX2NvZGUo
bV9wcm9maWxlQWdlbnQsIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KG1fdmlydHVhbE1lbW9y
eVNlZ21lbnRzW2ldLmNvZGUpKTsKKyAgICBtX3ZpcnR1YWxNZW1vcnlTZWdtZW50cy5jbGVhcigp
OworICAgIG9wX2Nsb3NlX2FnZW50KG1fcHJvZmlsZUFnZW50KTsKK30KKwordm9pZCBKSVRQcm9m
aWxlQWdlbnQ6OnJlZ2lzdGVySklUQ29kZUltcGwodm9pZCogY29kZSwgdW5zaWduZWQgaW50IHNp
emUsIGNvbnN0IGNoYXIqIHN5bWJvbE5hbWUpCit7CisgICAgLyogQ2hlY2sgZm9yIG9ic29sZXRl
IEpJVCBjb2RlcyAqLworICAgIHVuc2lnbmVkIGludCBpLCBuID0gbV92aXJ0dWFsTWVtb3J5U2Vn
bWVudHMuc2l6ZSgpOworICAgIGNvbnN0IGNoYXIqIHZtYUJlZ2luID0gcmVpbnRlcnByZXRfY2Fz
dDxjaGFyKj4oY29kZSk7CisgICAgY29uc3QgY2hhciogdm1hRW5kID0gdm1hQmVnaW4gKyBzaXpl
OworICAgIGZvciAoaSA9IDA7IGkgIT0gbjsgKytpKSB7CisgICAgICAgIGNvbnN0IGNoYXIqIHJl
Z2lzdGVyZWRWbWFCZWdpbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KG1fdmlydHVhbE1lbW9y
eVNlZ21lbnRzW2ldLmNvZGUpOworICAgICAgICBjb25zdCBjaGFyKiByZWdpc3RlcmVkVm1hRW5k
ID0gdm1hQmVnaW4gKyBtX3ZpcnR1YWxNZW1vcnlTZWdtZW50c1tpXS5zaXplOworICAgICAgICBp
ZiAoKHJlZ2lzdGVyZWRWbWFCZWdpbiA8PSB2bWFFbmQgJiYgdm1hRW5kIDw9IHJlZ2lzdGVyZWRW
bWFFbmQpCisgICAgICAgICAgICB8fCAocmVnaXN0ZXJlZFZtYUJlZ2luIDw9IHZtYUJlZ2luICYm
IHZtYUJlZ2luIDw9IHJlZ2lzdGVyZWRWbWFFbmQpKSB7CisgICAgICAgICAgICBvcF91bmxvYWRf
bmF0aXZlX2NvZGUobV9wcm9maWxlQWdlbnQsIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KG1f
dmlydHVhbE1lbW9yeVNlZ21lbnRzW2ldLmNvZGUpKTsKKyAgICAgICAgfQorICAgIH0KKworICAg
IG9wX3dyaXRlX25hdGl2ZV9jb2RlKG1fcHJvZmlsZUFnZW50LCBzeW1ib2xOYW1lID8gc3ltYm9s
TmFtZSA6ICI8aml0PiIsIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KGNvZGUpLCBjb2RlLCBz
aXplKTsKK30KKwordm9pZCBKSVRQcm9maWxlQWdlbnQ6OmFubm90YXRlSklUQ29kZUltcGwodm9p
ZCogY29kZSwgVmVjdG9yPExpbmVJbmZvUmVjb3JkPiYgbGluZUluZm8sIGNvbnN0IFVTdHJpbmcm
IHVybCkKK3sKKyAgICB1aW50cHRyX3Qgdm1hID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+
KGNvZGUpOworICAgIHVpbnRwdHJfdCBwcmV2T2Zmc2V0ID0gMDsKKyAgICBpbnQgZW50cmllcyA9
IGxpbmVJbmZvLnNpemUoKTsKKyAgICBzdHJ1Y3QgZGVidWdfbGluZV9pbmZvKiBkZWJ1Z0xpbmVJ
bmZvID0gcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3QgZGVidWdfbGluZV9pbmZvKj4oV1RGOjpmYXN0
TWFsbG9jKGVudHJpZXMgKiBzaXplb2Yoc3RydWN0IGRlYnVnX2xpbmVfaW5mbykpKTsKKyAgICBj
aGFyKiBuYW1lID0gdXJsLmFzY2lpKCk7CisKKyAgICBzdHJ1Y3QgZGVidWdfbGluZV9pbmZvKiBk
ZWJ1Z0xpbmVJbmZvUHRyID0gZGVidWdMaW5lSW5mbzsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8
IGVudHJpZXM7ICsraSkgeworICAgICAgICBpZiAocHJldk9mZnNldCAhPSBsaW5lSW5mb1tpXS52
bWFPZmZzZXQpIHsKKyAgICAgICAgICAgIGRlYnVnTGluZUluZm9QdHItPnZtYSA9IHZtYSArIGxp
bmVJbmZvW2ldLnZtYU9mZnNldDsKKyAgICAgICAgICAgIGRlYnVnTGluZUluZm9QdHItPmxpbmVu
byA9IGxpbmVJbmZvW2ldLmxpbmU7CisgICAgICAgICAgICBkZWJ1Z0xpbmVJbmZvUHRyLT5maWxl
bmFtZSA9IG5hbWU7CisgICAgICAgICAgICBwcmV2T2Zmc2V0ID0gbGluZUluZm9baV0udm1hT2Zm
c2V0OworICAgICAgICAgICAgKytkZWJ1Z0xpbmVJbmZvUHRyOworICAgICAgICB9CisgICAgfQor
CisgICAgb3Bfd3JpdGVfZGVidWdfbGluZV9pbmZvKG1fcHJvZmlsZUFnZW50LCBjb2RlLCBkZWJ1
Z0xpbmVJbmZvUHRyIC0gZGVidWdMaW5lSW5mbywgZGVidWdMaW5lSW5mbyk7CisgICAgV1RGOjpm
YXN0RnJlZShkZWJ1Z0xpbmVJbmZvKTsKK30KKworI2Vsc2UgLy8gRHVtbXkgcHJvZmlsZSBhZ2Vu
dAorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6aW5pdEFnZW50KCkKK3sKK30KKwordm9pZCBKSVRQ
cm9maWxlQWdlbnQ6OmRlaW5pdEFnZW50KCkKK3sKK30KKwordm9pZCBKSVRQcm9maWxlQWdlbnQ6
OnJlZ2lzdGVySklUQ29kZUltcGwodm9pZCosIHVuc2lnbmVkIGludCwgY29uc3QgY2hhciopCit7
Cit9CisKK3ZvaWQgSklUUHJvZmlsZUFnZW50Ojphbm5vdGF0ZUpJVENvZGVJbXBsKHZvaWQqLCBW
ZWN0b3I8TGluZUluZm9SZWNvcmQ+JiwgY29uc3QgVVN0cmluZyYpCit7Cit9CisKKyNlbmRpZiAv
LyBFTkFCTEUoSklUX09QUk9GSUxFX0FHRU5UKQorCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoSklU
X1BST0ZJTEVfQUdFTlQpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvZmls
ZUFnZW50LmggYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvZmlsZUFnZW50LmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjYxN2YyNgotLS0gL2Rldi9udWxsCisrKyBiL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuaApAQCAtMCwwICsxLDEzNiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAwOSBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlcgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIFVuaXZlcnNpdHkgb2YgU3plZ2VkCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSklUUHJvZmlsZUFnZW50X2gKKyNkZWZp
bmUgSklUUHJvZmlsZUFnZW50X2gKKworI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorCisjaWYg
RU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2lm
IEVOQUJMRShKSVRfT1BST0ZJTEVfQUdFTlQpCisjaW5jbHVkZSA8b3BhZ2VudC5oPgorI2VuZGlm
CisKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBVU3RyaW5nOworY2xhc3MgSlNHbG9iYWxEYXRh
OworCitzdHJ1Y3QgTGluZUluZm9SZWNvcmQgeworICAgIExpbmVJbmZvUmVjb3JkKGludCB2bWFP
ZmZzZXQsIGludCBsaW5lKQorICAgICAgICA6IHZtYU9mZnNldCh2bWFPZmZzZXQpCisgICAgICAg
ICwgbGluZShsaW5lKQorICAgIHsKKyAgICB9CisKKyAgICBpbnQgdm1hT2Zmc2V0OworICAgIGlu
dCBsaW5lOworfTsKKworY2xhc3MgSklUUHJvZmlsZUFnZW50IHsKKyAgICBzdHJ1Y3QgVmlydHVh
bE1lbW9yeVNlZ21lbnQgeworICAgICAgICBWaXJ0dWFsTWVtb3J5U2VnbWVudCgpCisgICAgICAg
ICAgOiBjb2RlKDApCisgICAgICAgICAgLCBzaXplKDApCisgICAgICAgIHsKKyAgICAgICAgfQor
CisgICAgICAgIHZvaWQqIGNvZGU7CisgICAgICAgIHVuc2lnbmVkIGludCBzaXplOworICAgIH07
CisgICAgdHlwZWRlZiBWZWN0b3I8VmlydHVhbE1lbW9yeVNlZ21lbnQ+IFZpcnR1YWxNZW1vcnlT
ZWdtZW50VmVjdG9yOworCitwdWJsaWM6CisgICAgSklUUHJvZmlsZUFnZW50KGJvb2wgc3RhdHVz
KQorICAgICAgOiBtX2VuYWJsZUFnZW50KHN0YXR1cykKKyAgICB7CisgICAgICAgIGlmIChpc0Vu
YWJsZWQoKSkKKyAgICAgICAgICAgIGluaXRBZ2VudCgpOworICAgIH0KKworICAgIH5KSVRQcm9m
aWxlQWdlbnQoKQorICAgIHsKKyAgICAgICAgaWYgKGlzRW5hYmxlZCgpKQorICAgICAgICAgICAg
ZGVpbml0QWdlbnQoKTsKKyAgICB9CisKKyAgICB2b2lkIHJlZ2lzdGVySklUQ29kZSh2b2lkKiBj
b2RlLCB1bnNpZ25lZCBpbnQgc2l6ZSwgY29uc3QgY2hhciogc3ltYm9sKQorICAgIHsKKyAgICAg
ICAgaWYgKGlzRW5hYmxlZCgpICYmIGNvZGUpCisgICAgICAgICAgICByZWdpc3RlckpJVENvZGVJ
bXBsKGNvZGUsIHNpemUsIHN5bWJvbCk7CisgICAgfQorCisgICAgdm9pZCBhbm5vdGF0ZUpJVENv
ZGUodm9pZCogY29kZSwgVmVjdG9yPExpbmVJbmZvUmVjb3JkPiYgbGluZUluZm8sIGNvbnN0IFVT
dHJpbmcmIHVybCkKKyAgICB7CisgICAgICAgIGlmIChpc0VuYWJsZWQoKSAmJiBjb2RlKQorICAg
ICAgICAgICAgYW5ub3RhdGVKSVRDb2RlSW1wbChjb2RlLCBsaW5lSW5mbywgdXJsKTsKKyAgICB9
CisKKyAgICB2b2lkIHJlY29yZEpJVFRyYW1wb2xpbmVzKHZvaWQqIGNvZGUsIHVuc2lnbmVkIGlu
dCBzaXplKQorICAgIHsKKyAgICAgICAgbV90cmFtcG9saW5lcy5jb2RlID0gY29kZTsKKyAgICAg
ICAgbV90cmFtcG9saW5lcy5zaXplID0gc2l6ZTsKKyAgICAgICAgaWYgKGlzRW5hYmxlZCgpKQor
ICAgICAgICAgICAgcmVnaXN0ZXJKSVRDb2RlKG1fdHJhbXBvbGluZXMuY29kZSwgbV90cmFtcG9s
aW5lcy5zaXplLCAiPGppdC10cmFtcG9saW5lcz4iKTsKKyAgICB9CisKKyAgICB2b2lkIHNldEVu
YWJsZWQoYm9vbCBzdGF0dXMpCisgICAgeworICAgICAgICBpZiAobV9lbmFibGVBZ2VudCA9PSBz
dGF0dXMpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIG1fZW5hYmxlQWdlbnQgPSBzdGF0
dXM7CisgICAgICAgIGlmIChpc0VuYWJsZWQoKSkKKyAgICAgICAgICAgIGluaXRBZ2VudCgpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBkZWluaXRBZ2VudCgpOworICAgIH0KKworICAgIEFM
V0FZU19JTkxJTkUgY29uc3QgYm9vbCBpc0VuYWJsZWQoKSBjb25zdAorICAgIHsKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIH0KKworcHJpdmF0ZToKKyAgICB2b2lkIGluaXRBZ2VudCgpOwor
ICAgIHZvaWQgZGVpbml0QWdlbnQoKTsKKyAgICB2b2lkIHJlZ2lzdGVySklUQ29kZUltcGwodm9p
ZCosIHVuc2lnbmVkIGludCwgY29uc3QgY2hhciopOworICAgIHZvaWQgYW5ub3RhdGVKSVRDb2Rl
SW1wbCh2b2lkKiwgVmVjdG9yPExpbmVJbmZvUmVjb3JkPiYsIGNvbnN0IFVTdHJpbmcmKTsKKwor
I2lmIEVOQUJMRShKSVRfT1BST0ZJTEVfQUdFTlQpCisgICAgb3BfYWdlbnRfdCBtX3Byb2ZpbGVB
Z2VudDsKKyNlbmRpZgorICAgIFZpcnR1YWxNZW1vcnlTZWdtZW50VmVjdG9yIG1fdmlydHVhbE1l
bW9yeVNlZ21lbnRzOworICAgIFZpcnR1YWxNZW1vcnlTZWdtZW50IG1fdHJhbXBvbGluZXM7Cisg
ICAgYm9vbCBtX2VuYWJsZUFnZW50OworfTsKKworfQorCisjZW5kaWYgLy8gRU5BQkxFKEpJVF9Q
Uk9GSUxFX0FHRU5UKQorCisjZW5kaWYgLy8gSklUUHJvZmlsZUFnZW50X2gKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAgYi9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCmluZGV4IDMzOTlmMDMuLmZlMTIyOGUgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKKysrIGIvSmF2
YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcApAQCAtMzQsNiArMzQsNyBAQAog
I2luY2x1ZGUgIkNvZGVCbG9jay5oIgogI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1
ZGUgIkpJVElubGluZU1ldGhvZHMuaCIKKyNpbmNsdWRlICJKSVRQcm9maWxlQWdlbnQuaCIKICNp
bmNsdWRlICJKSVRTdHViQ2FsbC5oIgogI2luY2x1ZGUgIkpTQXJyYXkuaCIKICNpbmNsdWRlICJK
U0Z1bmN0aW9uLmgiCkBAIC01OTUsNiArNTk2LDEwIEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGls
ZVB1dEJ5SWRUcmFuc2l0aW9uKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJl
CiAgICAgc3R1YkluZm8tPnN0dWJSb3V0aW5lID0gZW50cnlMYWJlbDsKICAgICBSZXBhdGNoQnVm
ZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5r
Q2FsbGVyVG9UcmFtcG9saW5lKHJldHVybkFkZHJlc3MsIGVudHJ5TGFiZWwpOworCisjaWYgRU5B
QkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIG1fZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50
LnJlZ2lzdGVySklUQ29kZShlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVm
ZmVyLnNpemUoKSwgIjxqaXQtcHV0YnlpZC10cmFuc2l0aW9uPiIpOworI2VuZGlmCiB9CiAKIHZv
aWQgSklUOjpwYXRjaEdldEJ5SWRTZWxmKENvZGVCbG9jayogY29kZUJsb2NrLCBTdHJ1Y3R1cmVT
dHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBzaXplX3QgY2FjaGVkT2Zm
c2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MpCkBAIC02OTQsNiArNjk5LDEwIEBA
IHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZVBhdGNoR2V0QXJyYXlMZW5ndGgoUmV0dXJuQWRkcmVz
c1B0ciByZXR1cm5BZGRyZXNzKQogCiAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBwYXRjaCBtb3Jl
IHRoYW4gb25jZSAtIGluIGZ1dHVyZSBnbyB0byBjdGlfb3BfcHV0X2J5X2lkX2dlbmVyaWMuCiAg
ICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb0Z1bmN0aW9uKHJldHVybkFkZHJlc3MsIEZ1
bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfYXJyYXlfZmFpbCkpOworCisjaWYgRU5BQkxFKEpJ
VF9QUk9GSUxFX0FHRU5UKQorICAgIG1fZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LnJlZ2lz
dGVySklUQ29kZShlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNp
emUoKSwgIjxqaXQtZ2V0YXJyYXlsZW5ndGg+Iik7CisjZW5kaWYKIH0KIAogdm9pZCBKSVQ6OnBy
aXZhdGVDb21waWxlR2V0QnlJZFByb3RvKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0dXJlLCBjb25zdCBJ
ZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3QgY2FjaGVk
T2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MsIENhbGxGcmFtZSogY2FsbEZy
YW1lKQpAQCAtNzYzLDYgKzc3MiwxMCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlk
UHJvdG8oU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cgogCiAgICAg
Ly8gV2UgZG9uJ3Qgd2FudCB0byBwYXRjaCBtb3JlIHRoYW4gb25jZSAtIGluIGZ1dHVyZSBnbyB0
byBjdGlfb3BfcHV0X2J5X2lkX2dlbmVyaWMuCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxs
ZXJUb0Z1bmN0aW9uKHJldHVybkFkZHJlc3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRf
cHJvdG9fbGlzdCkpOworCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIG1fZ2xv
YmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LnJlZ2lzdGVySklUQ29kZShlbnRyeUxhYmVsLmV4ZWN1
dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgIjxqaXQtZ2V0YnlpZC1wcm90bz4i
KTsKKyNlbmRpZgogfQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3Qo
U3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxp
c3QqIHBvbHltb3JwaGljU3RydWN0dXJlcywgaW50IGN1cnJlbnRJbmRleCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNs
b3QsIHNpemVfdCBjYWNoZWRPZmZzZXQpCkBAIC04MjEsNiArODM0LDEwIEBAIHZvaWQgSklUOjpw
cml2YXRlQ29tcGlsZUdldEJ5SWRTZWxmTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IFBvbHltb3JwaGljCiAgICAgQ29kZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5m
by0+aG90UGF0aEJlZ2luLmp1bXBBdE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Ns
b3dDYXNlKTsKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwog
ICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyNp
ZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgbV9nbG9iYWxEYXRhLT5qaXRQcm9maWxl
QWdlbnQucmVnaXN0ZXJKSVRDb2RlKGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0
Y2hCdWZmZXIuc2l6ZSgpLCAiPGppdC1nZXRieWlkLXNlbGZsaXN0PiIpOworI2VuZGlmCiB9CiAK
IHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90b0xpc3QoU3RydWN0dXJlU3R1Yklu
Zm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3QqIHByb3RvdHlwZVN0
cnVjdHVyZXMsIGludCBjdXJyZW50SW5kZXgsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1
cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIGNvbnN0IFBy
b3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwgQ2FsbEZyYW1lKiBjYWxsRnJh
bWUpCkBAIC04OTEsNiArOTA4LDEwIEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQ
cm90b0xpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpCiAgICAgQ29k
ZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJlZ2luLmp1bXBB
dE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAgICBSZXBhdGNo
QnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVs
aW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVf
QUdFTlQpCisgICAgbV9nbG9iYWxEYXRhLT5qaXRQcm9maWxlQWdlbnQucmVnaXN0ZXJKSVRDb2Rl
KGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCAiPGpp
dC1nZXRieWlkLXByb3RvbGlzdD4iKTsKKyNlbmRpZgogfQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNv
bXBpbGVHZXRCeUlkQ2hhaW5MaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUG9seW1v
cnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBwcm90b3R5cGVTdHJ1Y3R1cmVzLCBpbnQgY3VycmVu
dEluZGV4LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlQ2hhaW4qIGNoYWluLCBzaXpl
X3QgY291bnQsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNs
b3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIENhbGxGcmFtZSogY2FsbEZyYW1lKQpAQCAtOTY5LDYg
Kzk5MCwxMCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KFN0cnVj
dHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUG9seW1vcnBoaQogICAgIENvZGVMb2NhdGlvbkp1bXAg
anVtcExvY2F0aW9uID0gc3R1YkluZm8tPmhvdFBhdGhCZWdpbi5qdW1wQXRPZmZzZXQocGF0Y2hP
ZmZzZXRHZXRCeUlkQnJhbmNoVG9TbG93Q2FzZSk7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNo
QnVmZmVyKG1fY29kZUJsb2NrKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhqdW1wTG9jYXRp
b24sIGVudHJ5TGFiZWwpOworCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIG1f
Z2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LnJlZ2lzdGVySklUQ29kZShlbnRyeUxhYmVsLmV4
ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgIjxqaXQtZ2V0YnlpZC1jaGFp
bmxpc3Q+Iik7CisjZW5kaWYKIH0KIAogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENo
YWluKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0
cnVjdHVyZUNoYWluKiBjaGFpbiwgc2l6ZV90IGNvdW50LCBjb25zdCBJZGVudGlmaWVyJiBpZGVu
dCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5B
ZGRyZXNzUHRyIHJldHVybkFkZHJlc3MsIENhbGxGcmFtZSogY2FsbEZyYW1lKQpAQCAtMTA0NSw2
ICsxMDcwLDEwIEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbihTdHJ1Y3R1
cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RyCiAKICAgICAvLyBXZSBkb24ndCB3
YW50IHRvIHBhdGNoIG1vcmUgdGhhbiBvbmNlIC0gaW4gZnV0dXJlIGdvIHRvIGN0aV9vcF9wdXRf
YnlfaWRfZ2VuZXJpYy4KICAgICByZXBhdGNoQnVmZmVyLnJlbGlua0NhbGxlclRvRnVuY3Rpb24o
cmV0dXJuQWRkcmVzcywgRnVuY3Rpb25QdHIoY3RpX29wX2dldF9ieV9pZF9wcm90b19saXN0KSk7
CisKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgbV9nbG9iYWxEYXRhLT5qaXRQ
cm9maWxlQWdlbnQucmVnaXN0ZXJKSVRDb2RlKGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3Mo
KSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCAiPGppdC1nZXRieWlkLWNoYWluPiIpOworI2VuZGlmCiB9
CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFTkQ6ICFFTkFCTEUgLyBFTkFC
TEUoSklUX09QVElNSVpFX1BST1BFUlRZX0FDQ0VTUykgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tICovCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nl
c3MzMl82NC5jcHAgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5j
cHAKaW5kZXggZWMzMzAyNi4uMmM4NjJmMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0
L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQ
cm9wZXJ0eUFjY2VzczMyXzY0LmNwcApAQCAtMzMsNiArMzMsNyBAQAogCiAjaW5jbHVkZSAiQ29k
ZUJsb2NrLmgiCiAjaW5jbHVkZSAiSklUSW5saW5lTWV0aG9kcy5oIgorI2luY2x1ZGUgIkpJVFBy
b2ZpbGVBZ2VudC5oIgogI2luY2x1ZGUgIkpJVFN0dWJDYWxsLmgiCiAjaW5jbHVkZSAiSlNBcnJh
eS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKQEAgLTYxMyw2ICs2MTQsMTAgQEAgdm9pZCBK
SVQ6OnByaXZhdGVDb21waWxlUHV0QnlJZFRyYW5zaXRpb24oU3RydWN0dXJlU3R1YkluZm8qIHN0
dWJJbmZvLCBTdHJ1Y3R1cmUKICAgICBzdHViSW5mby0+c3R1YlJvdXRpbmUgPSBlbnRyeUxhYmVs
OwogICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CiAgICAgcmVw
YXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb1RyYW1wb2xpbmUocmV0dXJuQWRkcmVzcywgZW50cnlM
YWJlbCk7CisKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgbV9nbG9iYWxEYXRh
LT5qaXRQcm9maWxlQWdlbnQucmVnaXN0ZXJKSVRDb2RlKGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFk
ZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCAiPGppdC1wdXRieWlkLXRyYW5zaXRpb24+Iik7
CisjZW5kaWYKIH0KIAogdm9pZCBKSVQ6OnBhdGNoR2V0QnlJZFNlbGYoQ29kZUJsb2NrKiBjb2Rl
QmxvY2ssIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IHNpemVfdCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykKQEAg
LTcxNiw2ICs3MjEsMTAgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlUGF0Y2hHZXRBcnJheUxl
bmd0aChSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MpCiAgICAgCiAgICAgLy8gV2UgZG9u
J3Qgd2FudCB0byBwYXRjaCBtb3JlIHRoYW4gb25jZSAtIGluIGZ1dHVyZSBnbyB0byBjdGlfb3Bf
cHV0X2J5X2lkX2dlbmVyaWMuCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb0Z1bmN0
aW9uKHJldHVybkFkZHJlc3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfYXJyYXlfZmFp
bCkpOworCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIG1fZ2xvYmFsRGF0YS0+
aml0UHJvZmlsZUFnZW50LnJlZ2lzdGVySklUQ29kZShlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRy
ZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgIjxqaXQtZ2V0YXJyYXlsZW5ndGg+Iik7CisjZW5k
aWYKIH0KIAogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvKFN0cnVjdHVyZVN0
dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZSogcHJvdG90
eXBlU3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90
JiBzbG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJl
c3MsIENhbGxGcmFtZSogY2FsbEZyYW1lKQpAQCAtNzg3LDYgKzc5NiwxMCBAQCB2b2lkIEpJVDo6
cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG8oU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBT
dHJ1Y3R1cmUqIHN0cgogICAgIAogICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0
aGFuIG9uY2UgLSBpbiBmdXR1cmUgZ28gdG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAg
IHJlcGF0Y2hCdWZmZXIucmVsaW5rQ2FsbGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5j
dGlvblB0cihjdGlfb3BfZ2V0X2J5X2lkX3Byb3RvX2xpc3QpKTsKKworI2lmIEVOQUJMRShKSVRf
UFJPRklMRV9BR0VOVCkKKyAgICBtX2dsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3Rl
ckpJVENvZGUoZW50cnlMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXpl
KCksICI8aml0LWdldGJ5aWQtcHJvdG8+Iik7CisjZW5kaWYKIH0KIAogCkBAIC04NDYsNiArODU5
LDEwIEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRTZWxmTGlzdChTdHJ1Y3R1cmVT
dHViSW5mbyogc3R1YkluZm8sIFBvbHltb3JwaGljCiAgICAgQ29kZUxvY2F0aW9uSnVtcCBqdW1w
TG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJlZ2luLmp1bXBBdE9mZnNldChwYXRjaE9mZnNl
dEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZm
ZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGp1bXBMb2NhdGlvbiwg
ZW50cnlMYWJlbCk7CisKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgbV9nbG9i
YWxEYXRhLT5qaXRQcm9maWxlQWdlbnQucmVnaXN0ZXJKSVRDb2RlKGVudHJ5TGFiZWwuZXhlY3V0
YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCAiPGppdC1nZXRieWlkLXNlbGZsaXN0
PiIpOworI2VuZGlmCiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90b0xp
c3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVy
ZUxpc3QqIHByb3RvdHlwZVN0cnVjdHVyZXMsIGludCBjdXJyZW50SW5kZXgsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmll
ciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpCkBAIC05MTUsNiArOTMyLDEwIEBAIHZvaWQgSklUOjpwcml2
YXRlQ29tcGlsZUdldEJ5SWRQcm90b0xpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQ
b2x5bW9ycGhpCiAgICAgQ29kZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+
aG90UGF0aEJlZ2luLmp1bXBBdE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dD
YXNlKTsKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAg
IHJlcGF0Y2hCdWZmZXIucmVsaW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyNpZiBF
TkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgbV9nbG9iYWxEYXRhLT5qaXRQcm9maWxlQWdl
bnQucmVnaXN0ZXJKSVRDb2RlKGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hC
dWZmZXIuc2l6ZSgpLCAiPGppdC1nZXRieWlkLXByb3RvbGlzdD4iKTsKKyNlbmRpZgogfQogCiB2
b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KFN0cnVjdHVyZVN0dWJJbmZv
KiBzdHViSW5mbywgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBwcm90b3R5cGVTdHJ1
Y3R1cmVzLCBpbnQgY3VycmVudEluZGV4LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJl
Q2hhaW4qIGNoYWluLCBzaXplX3QgY291bnQsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25z
dCBQcm9wZXJ0eVNsb3QmIHNsb3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIENhbGxGcmFtZSogY2Fs
bEZyYW1lKQpAQCAtOTkzLDYgKzEwMTQsMTAgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0
QnlJZENoYWluTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBvbHltb3JwaGkKICAg
ICBDb2RlTG9jYXRpb25KdW1wIGp1bXBMb2NhdGlvbiA9IHN0dWJJbmZvLT5ob3RQYXRoQmVnaW4u
anVtcEF0T2Zmc2V0KHBhdGNoT2Zmc2V0R2V0QnlJZEJyYW5jaFRvU2xvd0Nhc2UpOwogICAgIFJl
cGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CiAgICAgcmVwYXRjaEJ1ZmZl
ci5yZWxpbmsoanVtcExvY2F0aW9uLCBlbnRyeUxhYmVsKTsKKworI2lmIEVOQUJMRShKSVRfUFJP
RklMRV9BR0VOVCkKKyAgICBtX2dsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3RlckpJ
VENvZGUoZW50cnlMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCks
ICI8aml0LWdldGJ5aWQtY2hhaW5saXN0PiIpOworI2VuZGlmCiB9CiAKIHZvaWQgSklUOjpwcml2
YXRlQ29tcGlsZUdldEJ5SWRDaGFpbihTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4sIHNpemVfdCBjb3VudCwgY29u
c3QgSWRlbnRpZmllciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNh
Y2hlZE9mZnNldCwgUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzLCBDYWxsRnJhbWUqIGNh
bGxGcmFtZSkKQEAgLTEwNjgsNiArMTA5MywxMCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVH
ZXRCeUlkQ2hhaW4oU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cgog
ICAgIAogICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFuIG9uY2UgLSBpbiBm
dXR1cmUgZ28gdG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIHJlcGF0Y2hCdWZmZXIu
cmVsaW5rQ2FsbGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0cihjdGlfb3Bf
Z2V0X2J5X2lkX3Byb3RvX2xpc3QpKTsKKworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkK
KyAgICBtX2dsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3RlckpJVENvZGUoZW50cnlM
YWJlbC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8aml0LWdldGJ5
aWQtY2hhaW4+Iik7CisjZW5kaWYKIH0KIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tIEVORDogIUVOQUJMRSAvIEVOQUJMRShKSVRfT1BUSU1JWkVfUFJPUEVSVFlfQUNDRVNTKSAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL2pzYy5jcHAgYi9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCmluZGV4IDk0MjlhMzQuLmNiMGEx
OTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKKysrIGIvSmF2YVNjcmlwdENv
cmUvanNjLmNwcApAQCAtMTAxLDExICsxMDEsMTcgQEAgc3RydWN0IE9wdGlvbnMgewogICAgIE9w
dGlvbnMoKQogICAgICAgICA6IGludGVyYWN0aXZlKGZhbHNlKQogICAgICAgICAsIGR1bXAoZmFs
c2UpCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgICAgICAsIHByb2ZpbGUoZmFs
c2UpCisjZW5kaWYKICAgICB7CiAgICAgfQogCiAgICAgYm9vbCBpbnRlcmFjdGl2ZTsKICAgICBi
b29sIGR1bXA7CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIGJvb2wgcHJvZmls
ZTsKKyNlbmRpZgogICAgIFZlY3RvcjxTY3JpcHQ+IHNjcmlwdHM7CiAgICAgVmVjdG9yPFVTdHJp
bmc+IGFyZ3VtZW50czsKIH07CkBAIC00NjAsNiArNDY2LDkgQEAgc3RhdGljIE5PX1JFVFVSTiB2
b2lkIHByaW50VXNhZ2VTdGF0ZW1lbnQoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBib29sIGhl
bHAgPQogICAgIGZwcmludGYoc3RkZXJyLCAiICAtZiAgICAgICAgIFNwZWNpZmllcyBhIHNvdXJj
ZSBmaWxlIChkZXByZWNhdGVkKVxuIik7CiAgICAgZnByaW50ZihzdGRlcnIsICIgIC1ofC0taGVs
cCAgUHJpbnRzIHRoaXMgaGVscCBtZXNzYWdlXG4iKTsKICAgICBmcHJpbnRmKHN0ZGVyciwgIiAg
LWkgICAgICAgICBFbmFibGVzIGludGVyYWN0aXZlIG1vZGUgKGRlZmF1bHQgaWYgbm8gZmlsZXMg
YXJlIHNwZWNpZmllZClcbiIpOworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBm
cHJpbnRmKHN0ZGVyciwgIiAgLXAgICAgICAgICBFbmFibGVzIEpJVCBwcm9maWxlIGFnZW50XG4i
KTsKKyNlbmRpZgogI2lmIEhBVkUoU0lHTkFMX0gpCiAgICAgZnByaW50ZihzdGRlcnIsICIgIC1z
ICAgICAgICAgSW5zdGFsbHMgc2lnbmFsIGhhbmRsZXJzIHRoYXQgZXhpdCBvbiBhIGNyYXNoIChV
bml4IHBsYXRmb3JtcyBvbmx5KVxuIik7CiAjZW5kaWYKQEAgLTQ5Myw2ICs1MDIsMTIgQEAgc3Rh
dGljIHZvaWQgcGFyc2VBcmd1bWVudHMoaW50IGFyZ2MsIGNoYXIqKiBhcmd2LCBPcHRpb25zJiBv
cHRpb25zLCBKU0dsb2JhbERhdGEKICAgICAgICAgICAgIG9wdGlvbnMuZHVtcCA9IHRydWU7CiAg
ICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9B
R0VOVCkKKyAgICAgICAgaWYgKCFzdHJjbXAoYXJnLCAiLXAiKSkgeworICAgICAgICAgICAgb3B0
aW9ucy5wcm9maWxlID0gdHJ1ZTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9Cisj
ZW5kaWYKICAgICAgICAgaWYgKCFzdHJjbXAoYXJnLCAiLXMiKSkgewogI2lmIEhBVkUoU0lHTkFM
X0gpCiAgICAgICAgICAgICBzaWduYWwoU0lHSUxMLCBfZXhpdCk7CkBAIC01MjYsNiArNTQxLDkg
QEAgaW50IGpzY21haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2LCBKU0dsb2JhbERhdGEqIGdsb2Jh
bERhdGEpCiAgICAgcGFyc2VBcmd1bWVudHMoYXJnYywgYXJndiwgb3B0aW9ucywgZ2xvYmFsRGF0
YSk7CiAKICAgICBHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IG5ldyAoZ2xvYmFsRGF0YSkg
R2xvYmFsT2JqZWN0KG9wdGlvbnMuYXJndW1lbnRzKTsKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVf
QUdFTlQpCisgICAgZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LnNldEVuYWJsZWQob3B0aW9u
cy5wcm9maWxlKTsKKyNlbmRpZgogICAgIGJvb2wgc3VjY2VzcyA9IHJ1bldpdGhTY3JpcHRzKGds
b2JhbE9iamVjdCwgb3B0aW9ucy5zY3JpcHRzLCBvcHRpb25zLmR1bXApOwogICAgIGlmIChvcHRp
b25zLmludGVyYWN0aXZlICYmIHN1Y2Nlc3MpCiAgICAgICAgIHJ1bkludGVyYWN0aXZlKGdsb2Jh
bE9iamVjdCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUu
Y3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmNwcAppbmRleCA3OTkwMGRj
Li45NjRmNzYwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUu
Y3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKQEAgLTI5LDYg
KzI5LDcgQEAKICNpbmNsdWRlICJCeXRlY29kZUdlbmVyYXRvci5oIgogI2luY2x1ZGUgIkNvZGVC
bG9jay5oIgogI2luY2x1ZGUgIkpJVC5oIgorI2luY2x1ZGUgIkpJVFByb2ZpbGVBZ2VudC5oIgog
I2luY2x1ZGUgIlBhcnNlci5oIgogI2luY2x1ZGUgIlN0cmluZ0J1aWxkZXIuaCIKICNpbmNsdWRl
ICJWZWN0b3IuaCIKQEAgLTE0MCw3ICsxNDEsNyBAQCB2b2lkIEZ1bmN0aW9uRXhlY3V0YWJsZTo6
Y29tcGlsZShFeGVjU3RhdGUqLCBTY29wZUNoYWluTm9kZSogc2NvcGVDaGFpbk5vZGUpCiB2b2lk
IEV2YWxFeGVjdXRhYmxlOjpnZW5lcmF0ZUpJVENvZGUoRXhlY1N0YXRlKiBleGVjLCBTY29wZUNo
YWluTm9kZSogc2NvcGVDaGFpbk5vZGUpCiB7CiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSAm
Ynl0ZWNvZGUoZXhlYywgc2NvcGVDaGFpbk5vZGUpOwotICAgIG1faml0Q29kZSA9IEpJVDo6Y29t
cGlsZShzY29wZUNoYWluTm9kZS0+Z2xvYmFsRGF0YSwgY29kZUJsb2NrKTsKKyAgICBtX2ppdENv
ZGUgPSBKSVQ6OmNvbXBpbGUoc2NvcGVDaGFpbk5vZGUtPmdsb2JhbERhdGEsIGNvZGVCbG9jaywg
Ijxqcy1ldmFsPiIpOwogCiAjaWYgIUVOQUJMRShPUENPREVfU0FNUExJTkcpCiAgICAgaWYgKCFC
eXRlY29kZUdlbmVyYXRvcjo6ZHVtcHNHZW5lcmF0ZWRDb2RlKCkpCkBAIC0xNTEsNyArMTUyLDEz
IEBAIHZvaWQgRXZhbEV4ZWN1dGFibGU6OmdlbmVyYXRlSklUQ29kZShFeGVjU3RhdGUqIGV4ZWMs
IFNjb3BlQ2hhaW5Ob2RlKiBzY29wZUNoYWluCiB2b2lkIFByb2dyYW1FeGVjdXRhYmxlOjpnZW5l
cmF0ZUpJVENvZGUoRXhlY1N0YXRlKiBleGVjLCBTY29wZUNoYWluTm9kZSogc2NvcGVDaGFpbk5v
ZGUpCiB7CiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSAmYnl0ZWNvZGUoZXhlYywgc2NvcGVD
aGFpbk5vZGUpOwotICAgIG1faml0Q29kZSA9IEpJVDo6Y29tcGlsZShzY29wZUNoYWluTm9kZS0+
Z2xvYmFsRGF0YSwgY29kZUJsb2NrKTsKKworICAgIFVTdHJpbmcgaml0U3ltYm9sTmFtZSgiPGpp
dC1wcm9nPiIpOworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBpZiAoc2NvcGVD
aGFpbk5vZGUtPmdsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5pc0VuYWJsZWQoKSAmJiBtX3Nv
dXJjZS5wcm92aWRlcigpICYmICFtX3NvdXJjZS5wcm92aWRlcigpLT51cmwoKS5pc0VtcHR5KCkp
CisgICAgICAgIGppdFN5bWJvbE5hbWUgPSBtYWtlU3RyaW5nKGppdFN5bWJvbE5hbWUsICJbIiwg
bV9zb3VyY2UucHJvdmlkZXIoKS0+dXJsKCksICI6IiwgVVN0cmluZzo6ZnJvbShtX2ZpcnN0TGlu
ZSksICItIiwgVVN0cmluZzo6ZnJvbShtX2xhc3RMaW5lKSwgIl0iKTsKKyNlbmRpZgorICAgIG1f
aml0Q29kZSA9IEpJVDo6Y29tcGlsZShzY29wZUNoYWluTm9kZS0+Z2xvYmFsRGF0YSwgY29kZUJs
b2NrLCBqaXRTeW1ib2xOYW1lLlVURjhTdHJpbmcoKS5kYXRhKCkpOwogCiAjaWYgIUVOQUJMRShP
UENPREVfU0FNUExJTkcpCiAgICAgaWYgKCFCeXRlY29kZUdlbmVyYXRvcjo6ZHVtcHNHZW5lcmF0
ZWRDb2RlKCkpCkBAIC0xNjIsNyArMTY5LDE3IEBAIHZvaWQgUHJvZ3JhbUV4ZWN1dGFibGU6Omdl
bmVyYXRlSklUQ29kZShFeGVjU3RhdGUqIGV4ZWMsIFNjb3BlQ2hhaW5Ob2RlKiBzY29wZUNoCiB2
b2lkIEZ1bmN0aW9uRXhlY3V0YWJsZTo6Z2VuZXJhdGVKSVRDb2RlKEV4ZWNTdGF0ZSogZXhlYywg
U2NvcGVDaGFpbk5vZGUqIHNjb3BlQ2hhaW5Ob2RlKQogewogICAgIENvZGVCbG9jayogY29kZUJs
b2NrID0gJmJ5dGVjb2RlKGV4ZWMsIHNjb3BlQ2hhaW5Ob2RlKTsKLSAgICBtX2ppdENvZGUgPSBK
SVQ6OmNvbXBpbGUoc2NvcGVDaGFpbk5vZGUtPmdsb2JhbERhdGEsIGNvZGVCbG9jayk7CisKKyAg
ICBVU3RyaW5nIGppdFN5bWJvbE5hbWUoIjxqaXQtZnVuYz4iKTsKKyNpZiBFTkFCTEUoSklUX1BS
T0ZJTEVfQUdFTlQpCisgICAgaWYgKHNjb3BlQ2hhaW5Ob2RlLT5nbG9iYWxEYXRhLT5qaXRQcm9m
aWxlQWdlbnQuaXNFbmFibGVkKCkpIHsKKyAgICAgICAgaWYgKCFtX25hbWUuaXNFbXB0eSgpICYm
ICFtX25hbWUuaXNOdWxsKCkpCisgICAgICAgICAgICBqaXRTeW1ib2xOYW1lID0gbWFrZVN0cmlu
ZygiPGppdC1mdW5jPjoiLCBtX25hbWUudXN0cmluZygpKTsKKyAgICAgICAgaWYgKG1fc291cmNl
LnByb3ZpZGVyKCkgJiYgIW1fc291cmNlLnByb3ZpZGVyKCktPnVybCgpLmlzRW1wdHkoKSkKKyAg
ICAgICAgICAgIGppdFN5bWJvbE5hbWUgPSBtYWtlU3RyaW5nKGppdFN5bWJvbE5hbWUsICJbIiwg
bV9zb3VyY2UucHJvdmlkZXIoKS0+dXJsKCksICI6IiwgVVN0cmluZzo6ZnJvbShtX2ZpcnN0TGlu
ZSksICItIiwgVVN0cmluZzo6ZnJvbShtX2xhc3RMaW5lKSwgIl0iKTsKKyAgICB9CisjZW5kaWYK
KyAgICBtX2ppdENvZGUgPSBKSVQ6OmNvbXBpbGUoc2NvcGVDaGFpbk5vZGUtPmdsb2JhbERhdGEs
IGNvZGVCbG9jaywgaml0U3ltYm9sTmFtZS5VVEY4U3RyaW5nKCkuZGF0YSgpKTsKIAogI2lmICFF
TkFCTEUoT1BDT0RFX1NBTVBMSU5HKQogICAgIGlmICghQnl0ZWNvZGVHZW5lcmF0b3I6OmR1bXBz
R2VuZXJhdGVkQ29kZSgpKQpAQCAtMTk4LDcgKzIxNSwxNiBAQCBFeGNlcHRpb25JbmZvKiBGdW5j
dGlvbkV4ZWN1dGFibGU6OnJlcGFyc2VFeGNlcHRpb25JbmZvKEpTR2xvYmFsRGF0YSogZ2xvYmFs
RGF0YQogICAgIEFTU0VSVChuZXdDb2RlQmxvY2stPmluc3RydWN0aW9uQ291bnQoKSA9PSBjb2Rl
QmxvY2stPmluc3RydWN0aW9uQ291bnQoKSk7CiAKICNpZiBFTkFCTEUoSklUKQotICAgIEpJVENv
ZGUgbmV3SklUQ29kZSA9IEpJVDo6Y29tcGlsZShnbG9iYWxEYXRhLCBuZXdDb2RlQmxvY2suZ2V0
KCkpOworICAgIFVTdHJpbmcgaml0U3ltYm9sTmFtZSgiPGppdC1mdW5jLXJlcGFyc2VkPiIpOwor
I2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBpZiAoc2NvcGVDaGFpbk5vZGUtPmds
b2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5pc0VuYWJsZWQoKSkgeworICAgICAgICBpZiAoIW1f
bmFtZS5pc0VtcHR5KCkgJiYgIW1fbmFtZS5pc051bGwoKSkKKyAgICAgICAgICAgIGppdFN5bWJv
bE5hbWUgPSBtYWtlU3RyaW5nKCI8aml0LWZ1bmMtcmVwYXJzZWQ+OiIsIG1fbmFtZS51c3RyaW5n
KCkuVVRGOFN0cmluZygpLmRhdGEoKSk7CisgICAgICAgIGlmIChtX3NvdXJjZS5wcm92aWRlcigp
ICYmICFtX3NvdXJjZS5wcm92aWRlcigpLT51cmwoKS5pc0VtcHR5KCkpCisgICAgICAgICAgICBq
aXRTeW1ib2xOYW1lID0gbWFrZVN0cmluZyhqaXRTeW1ib2xOYW1lLCAiWyIsIG1fc291cmNlLnBy
b3ZpZGVyKCktPnVybCgpLCAiOiIsIFVTdHJpbmc6OmZyb20obV9maXJzdExpbmUpLCAiLSIsIFVT
dHJpbmc6OmZyb20obV9sYXN0TGluZSksICJdIik7CisgICAgfQorI2VuZGlmCisgICAgSklUQ29k
ZSBuZXdKSVRDb2RlID0gSklUOjpjb21waWxlKGdsb2JhbERhdGEsIG5ld0NvZGVCbG9jay5nZXQo
KSwgaml0U3ltYm9sTmFtZS5VVEY4U3RyaW5nKCkuZGF0YSgpKTsKICAgICBBU1NFUlQobmV3SklU
Q29kZS5zaXplKCkgPT0gZ2VuZXJhdGVkSklUQ29kZSgpLnNpemUoKSk7CiAjZW5kaWYKIApAQCAt
MjIzLDcgKzI0OSw3IEBAIEV4Y2VwdGlvbkluZm8qIEV2YWxFeGVjdXRhYmxlOjpyZXBhcnNlRXhj
ZXB0aW9uSW5mbyhKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEsIFNjCiAgICAgQVNTRVJUKG5ld0Nv
ZGVCbG9jay0+aW5zdHJ1Y3Rpb25Db3VudCgpID09IGNvZGVCbG9jay0+aW5zdHJ1Y3Rpb25Db3Vu
dCgpKTsKIAogI2lmIEVOQUJMRShKSVQpCi0gICAgSklUQ29kZSBuZXdKSVRDb2RlID0gSklUOjpj
b21waWxlKGdsb2JhbERhdGEsIG5ld0NvZGVCbG9jay5nZXQoKSk7CisgICAgSklUQ29kZSBuZXdK
SVRDb2RlID0gSklUOjpjb21waWxlKGdsb2JhbERhdGEsIG5ld0NvZGVCbG9jay5nZXQoKSwgIjxq
aXQtZXZhbC1yZXBhcnNlZD4iKTsKICAgICBBU1NFUlQobmV3SklUQ29kZS5zaXplKCkgPT0gZ2Vu
ZXJhdGVkSklUQ29kZSgpLnNpemUoKSk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuY3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbERhdGEuY3BwCmluZGV4IDE2MDBjNzcuLmQwZTA4YmUgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsRGF0YS5jcHAKQEAgLTEzMyw2ICsxMzMsOSBAQCBKU0dsb2JhbERhdGE6
OkpTR2xvYmFsRGF0YShib29sIGlzU2hhcmVkKQogICAgICwgbGV4ZXIobmV3IExleGVyKHRoaXMp
KQogICAgICwgcGFyc2VyKG5ldyBQYXJzZXIpCiAgICAgLCBpbnRlcnByZXRlcihuZXcgSW50ZXJw
cmV0ZXIpCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgICwgaml0UHJvZmlsZUFn
ZW50KGZhbHNlKQorI2VuZGlmCiAjaWYgRU5BQkxFKEpJVCkKICAgICAsIGppdFN0dWJzKHRoaXMp
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRh
LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5oCmluZGV4IDIwZDYyZDUu
LjNlMDg3ZjggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRh
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuaApAQCAtMzIsNiAr
MzIsNyBAQAogI2luY2x1ZGUgIkNvbGxlY3Rvci5oIgogI2luY2x1ZGUgIkRhdGVJbnN0YW5jZUNh
Y2hlLmgiCiAjaW5jbHVkZSAiRXhlY3V0YWJsZUFsbG9jYXRvci5oIgorI2luY2x1ZGUgIkpJVFBy
b2ZpbGVBZ2VudC5oIgogI2luY2x1ZGUgIkpJVFN0dWJzLmgiCiAjaW5jbHVkZSAiSlNWYWx1ZS5o
IgogI2luY2x1ZGUgIk1hcmtTdGFjay5oIgpAQCAtMTUxLDYgKzE1Miw5IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICBMZXhlciogbGV4ZXI7CiAgICAgICAgIFBhcnNlciogcGFyc2VyOwogICAg
ICAgICBJbnRlcnByZXRlciogaW50ZXJwcmV0ZXI7CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FH
RU5UKQorICAgICAgICBKSVRQcm9maWxlQWdlbnQgaml0UHJvZmlsZUFnZW50OyAvLyBTaG91bGQg
YmUgaW5pdGlhbGl6ZWQgYmVmb3JlIGppdFN0dWJzCisjZW5kaWYKICNpZiBFTkFCTEUoSklUKQog
ICAgICAgICBKSVRUaHVua3Mgaml0U3R1YnM7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKaW5k
ZXggZmNjMjZhMS4uM2RjYzZlYiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRm
b3JtLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKQEAgLTEwMzAsNiArMTAz
MCwxNSBAQCBvbiBNaW5HVy4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yOTI2OCAqLwogI2lmIEVOQUJMRShKSVQpIHx8IEVOQUJMRShZQVJSX0pJVCkKICNkZWZp
bmUgRU5BQkxFX0FTU0VNQkxFUiAxCiAjZW5kaWYKKworI2lmIEVOQUJMRShKSVRfT1BST0ZJTEVf
QUdFTlQpICYmICFkZWZpbmVkIEVOQUJMRV9KSVRfUFJPRklMRV9BR0VOVAorI2RlZmluZSBFTkFC
TEVfSklUX1BST0ZJTEVfQUdFTlQgMQorI2VuZGlmCisKKyNpZiAhRU5BQkxFKEpJVCkgJiYgRU5B
QkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorI2Vycm9yICJKSVRfUFJPRklMRV9BR0VOVCByZXF1aXJl
cyBKSVQiCisjZW5kaWYKKwogLyogU2V0dGluZyB0aGlzIGZsYWcgcHJldmVudHMgdGhlIGFzc2Vt
YmxlciBmcm9tIHVzaW5nIFJXWCBtZW1vcnk7IHRoaXMgbWF5IGltcHJvdmUKICAgIHNlY3VyaXR5
IGJ1dCBjdXJyZWN0bHkgY29tZXMgYXQgYSBzaWduaWZpY2FudCBwZXJmb3JtYW5jZSBjb3N0LiAq
LwogI2lmIFBMQVRGT1JNKElQSE9ORSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3lhcnIv
UmVnZXhKSVQuY3BwIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEpJVC5jcHAKaW5kZXggZjM3
YWJiZi4uNTFkMTk2MiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEpJVC5j
cHAKKysrIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEpJVC5jcHAKQEAgLTI3LDYgKzI3LDcg
QEAKICNpbmNsdWRlICJSZWdleEpJVC5oIgogCiAjaW5jbHVkZSAiQVNDSUlDVHlwZS5oIgorI2lu
Y2x1ZGUgIkpJVFByb2ZpbGVBZ2VudC5oIgogI2luY2x1ZGUgIkpTR2xvYmFsRGF0YS5oIgogI2lu
Y2x1ZGUgIkxpbmtCdWZmZXIuaCIKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlci5oIgpAQCAtMTM3
NSw3ICsxMzc2LDEyIEBAIHB1YmxpYzoKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IG1fYmFja3RyYWNrUmVjb3Jkcy5zaXplKCk7ICsraSkKICAgICAgICAgICAgIHBhdGNoQnVmZmVy
LnBhdGNoKG1fYmFja3RyYWNrUmVjb3Jkc1tpXS5kYXRhTGFiZWwsIHBhdGNoQnVmZmVyLmxvY2F0
aW9uT2YobV9iYWNrdHJhY2tSZWNvcmRzW2ldLmJhY2t0cmFja0xvY2F0aW9uKSk7CiAKLSAgICAg
ICAgaml0T2JqZWN0LnNldChwYXRjaEJ1ZmZlci5maW5hbGl6ZUNvZGUoKSk7CisgICAgICAgIENv
ZGVSZWYgZmluYWxDb2RlID0gcGF0Y2hCdWZmZXIuZmluYWxpemVDb2RlKCk7CisgICAgICAgIGpp
dE9iamVjdC5zZXQoZmluYWxDb2RlKTsKKworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkK
KyAgICAgICAgZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LnJlZ2lzdGVySklUQ29kZShmaW5h
bENvZGUubV9jb2RlLmV4ZWN1dGFibGVBZGRyZXNzKCksIGZpbmFsQ29kZS5tX3NpemUsICI8aml0
LXlhcnI+Iik7CisjZW5kaWYKICAgICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9jb25maWd1
cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggMjJiZDU0NS4uZmVhM2Y5NCAxMDA2NDQKLS0tIGEv
Y29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtNjMyLDYgKzYzMiwzMCBAQCBpZiB0
ZXN0ICIkZW5hYmxlX2ppdCIgPSAieWVzIjsgdGhlbgogZmkKIEFDX01TR19SRVNVTFQoWyRlbmFi
bGVfaml0XSkKIAorIyBCdWlsZCBKSVQgd2l0aCBPUHJvZmlsZSBhZ2VudCBzdXBwb3J0CitPUEFH
RU5UX0xJQlM9CitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIE9Qcm9maWxlIEpJ
VCBhZ2VudCBzdXBwb3J0Ll0pCitBQ19BUkdfRU5BQkxFKFtvcGFnZW50XSwKKyAgICAgICAgICAg
ICAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLW9wYWdlbnRdLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBbRW5hYmxlIE9Qcm9maWxlIEpJVCBhZ2VudCBzdXBwb3J0IGRlZmF1bHQ9bm9d
KSwKKyAgICAgICAgICAgICAgW2VuYWJsZV9vcGFnZW50PSJ5ZXMiXSxbXSkKK2lmIHRlc3QgIiRl
bmFibGVfb3BhZ2VudCIgPSAieWVzIjsgdGhlbgorICBBQ19DSEVDS19MSUIob3BhZ2VudCwgb3Bf
bWFqb3JfdmVyc2lvbiwKKyAgICBbQUNfQ0hFQ0tfSEVBREVSKG9wYWdlbnQuaCwKKyAgICAgIG9w
YWdlbnRfb2s9eWVzLAorICAgICAgb3BhZ2VudF9vaz1ubyldLAorICAgIEFDX01TR19FUlJPUihb
T1Byb2ZpbGUgb3BhZ2VudCBsaWJyYXJ5IG5vdCBmb3VuZF0pLCAtbGJmZCkKKworICBBQ19NU0df
UkVTVUxUKFskb3BhZ2VudF9va10pCisKKyAgaWYgdGVzdCAiJG9wYWdlbnRfb2siID0gInllcyI7
IHRoZW4KKyAgICBBQ19ERUZJTkUoW0VOQUJMRV9KSVRfT1BST0ZJTEVfQUdFTlRdLCBbMV0sIFtE
ZWZpbmUgdG8gZW5hYmxlIE9Qcm9maWxlIEpJVCBhZ2VudCBzdXBwb3J0XSkKKyAgZmkKKyAgT1BB
R0VOVF9MSUJTPSItbG9wYWdlbnQgLWxiZmQiCitmaQorCitBQ19TVUJTVChbT1BBR0VOVF9MSUJT
XSkKKwogIyBHT2JqZWN0IEludHJvc3BlY3Rpb24KIEFDX01TR19DSEVDS0lORyhbd2hldGhlciB0
byBlbmFibGUgR09iamVjdCBpbnRyb3NwZWN0aW9uIHN1cHBvcnRdKQogQUNfQVJHX0VOQUJMRShb
aW50cm9zcGVjdGlvbl0sCi0tIAoxLjUuNC4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53784</attachid>
            <date>2010-04-20 01:56:56 -0700</date>
            <delta_ts>2010-04-20 03:14:42 -0700</delta_ts>
            <desc>Supports OProfile JIT agent</desc>
            <filename>jitoprofile.patch</filename>
            <type>text/plain</type>
            <size>44597</size>
            <attacher name="Gabor Loki">loki</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFT
Y3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA1Nzg3OSkKKysrIEphdmFTY3JpcHRD
b3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC04Miw2ICs4Miw4IEBACiAJSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIFwKIAlKYXZhU2NyaXB0Q29yZS9qaXQvSklU
Q2FsbC5jcHAgXAogCUphdmFTY3JpcHRDb3JlL2ppdC9KSVRDb2RlLmggXAorCUphdmFTY3JpcHRD
b3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuaCBcCisJSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb2Zp
bGVBZ2VudC5jcHAgXAogCUphdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAg
XAogCUphdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcCBcCiAJSmF2
YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwIFwKSW5kZXg6IEphdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FeGVjdXRhYmxlLmNwcAkocmV2aXNpb24gNTc4NzkpCisrKyBKYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0V4ZWN1dGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAj
aW5jbHVkZSAiQnl0ZWNvZGVHZW5lcmF0b3IuaCIKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNp
bmNsdWRlICJKSVQuaCIKKyNpbmNsdWRlICJKSVRQcm9maWxlQWdlbnQuaCIKICNpbmNsdWRlICJQ
YXJzZXIuaCIKICNpbmNsdWRlICJTdHJpbmdCdWlsZGVyLmgiCiAjaW5jbHVkZSAiVmVjdG9yLmgi
CkBAIC0xNDAsNyArMTQxLDcgQEAKIHZvaWQgRXZhbEV4ZWN1dGFibGU6OmdlbmVyYXRlSklUQ29k
ZShFeGVjU3RhdGUqIGV4ZWMsIFNjb3BlQ2hhaW5Ob2RlKiBzY29wZUNoYWluTm9kZSkKIHsKICAg
ICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9ICZieXRlY29kZShleGVjLCBzY29wZUNoYWluTm9kZSk7
Ci0gICAgbV9qaXRDb2RlID0gSklUOjpjb21waWxlKHNjb3BlQ2hhaW5Ob2RlLT5nbG9iYWxEYXRh
LCBjb2RlQmxvY2spOworICAgIG1faml0Q29kZSA9IEpJVDo6Y29tcGlsZShzY29wZUNoYWluTm9k
ZS0+Z2xvYmFsRGF0YSwgY29kZUJsb2NrLCAiPGpzLWV2YWw+Iik7CiAKICNpZiAhRU5BQkxFKE9Q
Q09ERV9TQU1QTElORykKICAgICBpZiAoIUJ5dGVjb2RlR2VuZXJhdG9yOjpkdW1wc0dlbmVyYXRl
ZENvZGUoKSkKQEAgLTE1MSw4ICsxNTIsMTQgQEAKIHZvaWQgUHJvZ3JhbUV4ZWN1dGFibGU6Omdl
bmVyYXRlSklUQ29kZShFeGVjU3RhdGUqIGV4ZWMsIFNjb3BlQ2hhaW5Ob2RlKiBzY29wZUNoYWlu
Tm9kZSkKIHsKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9ICZieXRlY29kZShleGVjLCBzY29w
ZUNoYWluTm9kZSk7Ci0gICAgbV9qaXRDb2RlID0gSklUOjpjb21waWxlKHNjb3BlQ2hhaW5Ob2Rl
LT5nbG9iYWxEYXRhLCBjb2RlQmxvY2spOwogCisgICAgVVN0cmluZyBqaXRTeW1ib2xOYW1lKCI8
aml0LXByb2c+Iik7CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIGlmIChzY29w
ZUNoYWluTm9kZS0+Z2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LmlzRW5hYmxlZCgpICYmIG1f
c291cmNlLnByb3ZpZGVyKCkgJiYgIW1fc291cmNlLnByb3ZpZGVyKCktPnVybCgpLmlzRW1wdHko
KSkKKyAgICAgICAgaml0U3ltYm9sTmFtZSA9IG1ha2VTdHJpbmcoaml0U3ltYm9sTmFtZSwgIlsi
LCBtX3NvdXJjZS5wcm92aWRlcigpLT51cmwoKSwgIjoiLCBVU3RyaW5nOjpmcm9tKG1fZmlyc3RM
aW5lKSwgIi0iLCBVU3RyaW5nOjpmcm9tKG1fbGFzdExpbmUpLCAiXSIpOworI2VuZGlmCisgICAg
bV9qaXRDb2RlID0gSklUOjpjb21waWxlKHNjb3BlQ2hhaW5Ob2RlLT5nbG9iYWxEYXRhLCBjb2Rl
QmxvY2ssIGppdFN5bWJvbE5hbWUuVVRGOFN0cmluZygpLmRhdGEoKSk7CisKICNpZiAhRU5BQkxF
KE9QQ09ERV9TQU1QTElORykKICAgICBpZiAoIUJ5dGVjb2RlR2VuZXJhdG9yOjpkdW1wc0dlbmVy
YXRlZENvZGUoKSkKICAgICAgICAgY29kZUJsb2NrLT5kaXNjYXJkQnl0ZWNvZGUoKTsKQEAgLTE2
Miw4ICsxNjksMTggQEAKIHZvaWQgRnVuY3Rpb25FeGVjdXRhYmxlOjpnZW5lcmF0ZUpJVENvZGUo
RXhlY1N0YXRlKiBleGVjLCBTY29wZUNoYWluTm9kZSogc2NvcGVDaGFpbk5vZGUpCiB7CiAgICAg
Q29kZUJsb2NrKiBjb2RlQmxvY2sgPSAmYnl0ZWNvZGUoZXhlYywgc2NvcGVDaGFpbk5vZGUpOwot
ICAgIG1faml0Q29kZSA9IEpJVDo6Y29tcGlsZShzY29wZUNoYWluTm9kZS0+Z2xvYmFsRGF0YSwg
Y29kZUJsb2NrKTsKIAorICAgIFVTdHJpbmcgaml0U3ltYm9sTmFtZSgiPGppdC1mdW5jPiIpOwor
I2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBpZiAoc2NvcGVDaGFpbk5vZGUtPmds
b2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5pc0VuYWJsZWQoKSkgeworICAgICAgICBpZiAoIW1f
bmFtZS5pc0VtcHR5KCkgJiYgIW1fbmFtZS5pc051bGwoKSkKKyAgICAgICAgICAgIGppdFN5bWJv
bE5hbWUgPSBtYWtlU3RyaW5nKCI8aml0LWZ1bmM+OiIsIG1fbmFtZS51c3RyaW5nKCkpOworICAg
ICAgICBpZiAobV9zb3VyY2UucHJvdmlkZXIoKSAmJiAhbV9zb3VyY2UucHJvdmlkZXIoKS0+dXJs
KCkuaXNFbXB0eSgpKQorICAgICAgICAgICAgaml0U3ltYm9sTmFtZSA9IG1ha2VTdHJpbmcoaml0
U3ltYm9sTmFtZSwgIlsiLCBtX3NvdXJjZS5wcm92aWRlcigpLT51cmwoKSwgIjoiLCBVU3RyaW5n
Ojpmcm9tKG1fZmlyc3RMaW5lKSwgIi0iLCBVU3RyaW5nOjpmcm9tKG1fbGFzdExpbmUpLCAiXSIp
OworICAgIH0KKyNlbmRpZgorICAgIG1faml0Q29kZSA9IEpJVDo6Y29tcGlsZShzY29wZUNoYWlu
Tm9kZS0+Z2xvYmFsRGF0YSwgY29kZUJsb2NrLCBqaXRTeW1ib2xOYW1lLlVURjhTdHJpbmcoKS5k
YXRhKCkpOworCiAjaWYgIUVOQUJMRShPUENPREVfU0FNUExJTkcpCiAgICAgaWYgKCFCeXRlY29k
ZUdlbmVyYXRvcjo6ZHVtcHNHZW5lcmF0ZWRDb2RlKCkpCiAgICAgICAgIGNvZGVCbG9jay0+ZGlz
Y2FyZEJ5dGVjb2RlKCk7CkBAIC0xOTgsNyArMjE1LDE2IEBACiAgICAgQVNTRVJUKG5ld0NvZGVC
bG9jay0+aW5zdHJ1Y3Rpb25Db3VudCgpID09IGNvZGVCbG9jay0+aW5zdHJ1Y3Rpb25Db3VudCgp
KTsKIAogI2lmIEVOQUJMRShKSVQpCi0gICAgSklUQ29kZSBuZXdKSVRDb2RlID0gSklUOjpjb21w
aWxlKGdsb2JhbERhdGEsIG5ld0NvZGVCbG9jay5nZXQoKSk7CisgICAgVVN0cmluZyBqaXRTeW1i
b2xOYW1lKCI8aml0LWZ1bmMtcmVwYXJzZWQ+Iik7CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FH
RU5UKQorICAgIGlmIChzY29wZUNoYWluTm9kZS0+Z2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50
LmlzRW5hYmxlZCgpKSB7CisgICAgICAgIGlmICghbV9uYW1lLmlzRW1wdHkoKSAmJiAhbV9uYW1l
LmlzTnVsbCgpKQorICAgICAgICAgICAgaml0U3ltYm9sTmFtZSA9IG1ha2VTdHJpbmcoIjxqaXQt
ZnVuYy1yZXBhcnNlZD46IiwgbV9uYW1lLnVzdHJpbmcoKS5VVEY4U3RyaW5nKCkuZGF0YSgpKTsK
KyAgICAgICAgaWYgKG1fc291cmNlLnByb3ZpZGVyKCkgJiYgIW1fc291cmNlLnByb3ZpZGVyKCkt
PnVybCgpLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIGppdFN5bWJvbE5hbWUgPSBtYWtlU3RyaW5n
KGppdFN5bWJvbE5hbWUsICJbIiwgbV9zb3VyY2UucHJvdmlkZXIoKS0+dXJsKCksICI6IiwgVVN0
cmluZzo6ZnJvbShtX2ZpcnN0TGluZSksICItIiwgVVN0cmluZzo6ZnJvbShtX2xhc3RMaW5lKSwg
Il0iKTsKKyAgICB9CisjZW5kaWYKKyAgICBKSVRDb2RlIG5ld0pJVENvZGUgPSBKSVQ6OmNvbXBp
bGUoZ2xvYmFsRGF0YSwgbmV3Q29kZUJsb2NrLmdldCgpLCBqaXRTeW1ib2xOYW1lLlVURjhTdHJp
bmcoKS5kYXRhKCkpOwogICAgIEFTU0VSVChuZXdKSVRDb2RlLnNpemUoKSA9PSBnZW5lcmF0ZWRK
SVRDb2RlKCkuc2l6ZSgpKTsKICNlbmRpZgogCkBAIC0yMjMsNyArMjQ5LDcgQEAKICAgICBBU1NF
UlQobmV3Q29kZUJsb2NrLT5pbnN0cnVjdGlvbkNvdW50KCkgPT0gY29kZUJsb2NrLT5pbnN0cnVj
dGlvbkNvdW50KCkpOwogCiAjaWYgRU5BQkxFKEpJVCkKLSAgICBKSVRDb2RlIG5ld0pJVENvZGUg
PSBKSVQ6OmNvbXBpbGUoZ2xvYmFsRGF0YSwgbmV3Q29kZUJsb2NrLmdldCgpKTsKKyAgICBKSVRD
b2RlIG5ld0pJVENvZGUgPSBKSVQ6OmNvbXBpbGUoZ2xvYmFsRGF0YSwgbmV3Q29kZUJsb2NrLmdl
dCgpLCAiPGppdC1ldmFsLXJlcGFyc2VkPiIpOwogICAgIEFTU0VSVChuZXdKSVRDb2RlLnNpemUo
KSA9PSBnZW5lcmF0ZWRKSVRDb2RlKCkuc2l6ZSgpKTsKICNlbmRpZgogCkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmgJKHJldmlzaW9uIDU3ODc5KQorKysgSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIs
NyBAQAogI2luY2x1ZGUgIkNvbGxlY3Rvci5oIgogI2luY2x1ZGUgIkRhdGVJbnN0YW5jZUNhY2hl
LmgiCiAjaW5jbHVkZSAiRXhlY3V0YWJsZUFsbG9jYXRvci5oIgorI2luY2x1ZGUgIkpJVFByb2Zp
bGVBZ2VudC5oIgogI2luY2x1ZGUgIkpJVFN0dWJzLmgiCiAjaW5jbHVkZSAiSlNWYWx1ZS5oIgog
I2luY2x1ZGUgIk1hcmtTdGFjay5oIgpAQCAtMTUxLDYgKzE1Miw5IEBACiAgICAgICAgIExleGVy
KiBsZXhlcjsKICAgICAgICAgUGFyc2VyKiBwYXJzZXI7CiAgICAgICAgIEludGVycHJldGVyKiBp
bnRlcnByZXRlcjsKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgICAgIEpJVFBy
b2ZpbGVBZ2VudCBqaXRQcm9maWxlQWdlbnQ7IC8vIFNob3VsZCBiZSBpbml0aWFsaXplZCBiZWZv
cmUgaml0U3R1YnMKKyNlbmRpZgogI2lmIEVOQUJMRShKSVQpCiAgICAgICAgIEpJVFRodW5rcyBq
aXRTdHViczsKICNlbmRpZgpJbmRleDogSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERh
dGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRh
LmNwcAkocmV2aXNpb24gNTc4NzkpCisrKyBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
RGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNCw2ICsxMzQsOSBAQAogICAgICwgbGV4ZXIo
bmV3IExleGVyKHRoaXMpKQogICAgICwgcGFyc2VyKG5ldyBQYXJzZXIpCiAgICAgLCBpbnRlcnBy
ZXRlcihuZXcgSW50ZXJwcmV0ZXIpCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAg
ICwgaml0UHJvZmlsZUFnZW50KGZhbHNlKQorI2VuZGlmCiAjaWYgRU5BQkxFKEpJVCkKICAgICAs
IGppdFN0dWJzKHRoaXMpCiAjZW5kaWYKSW5kZXg6IEphdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9CeXRlY29kZUdlbmVyYXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAkocmV2aXNpb24gNTc4NzkpCisrKyBKYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNjM3LDYgKzE2MzcsMTMgQEAKIAogdm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6ZW1p
dERlYnVnSG9vayhEZWJ1Z0hvb2tJRCBkZWJ1Z0hvb2tJRCwgaW50IGZpcnN0TGluZSwgaW50IGxh
c3RMaW5lKQogeworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBpZiAobV9nbG9i
YWxEYXRhLT5qaXRQcm9maWxlQWdlbnQuaXNFbmFibGVkKCkpIHsKKyAgICAgICAgZW1pdE9wY29k
ZShvcF9wcm9maWxlX2ppdCk7CisgICAgICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChmaXJzdExp
bmUpOworICAgICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQobGFzdExpbmUpOworICAgIH0KKyNl
bmRpZgogICAgIGlmICghbV9zaG91bGRFbWl0RGVidWdIb29rcykKICAgICAgICAgcmV0dXJuOwog
ICAgIGVtaXRPcGNvZGUob3BfZGVidWcpOwpJbmRleDogSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRm
b3JtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJKHJldmlz
aW9uIDU3ODc5KQorKysgSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEwMzEsNiArMTAzMSwxNSBAQAogI2lmIEVOQUJMRShKSVQpIHx8IEVOQUJMRShZQVJS
X0pJVCkKICNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCiAjZW5kaWYKKworI2lmIEVOQUJMRShK
SVRfT1BST0ZJTEVfQUdFTlQpICYmICFkZWZpbmVkIEVOQUJMRV9KSVRfUFJPRklMRV9BR0VOVAor
I2RlZmluZSBFTkFCTEVfSklUX1BST0ZJTEVfQUdFTlQgMQorI2VuZGlmCisKKyNpZiAhRU5BQkxF
KEpJVCkgJiYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorI2Vycm9yICJKSVRfUFJPRklMRV9B
R0VOVCByZXF1aXJlcyBKSVQiCisjZW5kaWYKKwogLyogU2V0dGluZyB0aGlzIGZsYWcgcHJldmVu
dHMgdGhlIGFzc2VtYmxlciBmcm9tIHVzaW5nIFJXWCBtZW1vcnk7IHRoaXMgbWF5IGltcHJvdmUK
ICAgIHNlY3VyaXR5IGJ1dCBjdXJyZWN0bHkgY29tZXMgYXQgYSBzaWduaWZpY2FudCBwZXJmb3Jt
YW5jZSBjb3N0LiAqLwogI2lmIFBMQVRGT1JNKElQSE9ORSkKSW5kZXg6IEphdmFTY3JpcHRDb3Jl
L2pzYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvanNjLmNwcAkocmV2aXNpb24g
NTc4NzkpCisrKyBKYXZhU2NyaXB0Q29yZS9qc2MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEs
MTEgKzEwMSwxNyBAQAogICAgIE9wdGlvbnMoKQogICAgICAgICA6IGludGVyYWN0aXZlKGZhbHNl
KQogICAgICAgICAsIGR1bXAoZmFsc2UpCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQor
ICAgICAgICAsIHByb2ZpbGUoZmFsc2UpCisjZW5kaWYKICAgICB7CiAgICAgfQogCiAgICAgYm9v
bCBpbnRlcmFjdGl2ZTsKICAgICBib29sIGR1bXA7CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FH
RU5UKQorICAgIGJvb2wgcHJvZmlsZTsKKyNlbmRpZgogICAgIFZlY3RvcjxTY3JpcHQ+IHNjcmlw
dHM7CiAgICAgVmVjdG9yPFVTdHJpbmc+IGFyZ3VtZW50czsKIH07CkBAIC00NjAsNiArNDY2LDkg
QEAKICAgICBmcHJpbnRmKHN0ZGVyciwgIiAgLWYgICAgICAgICBTcGVjaWZpZXMgYSBzb3VyY2Ug
ZmlsZSAoZGVwcmVjYXRlZClcbiIpOwogICAgIGZwcmludGYoc3RkZXJyLCAiICAtaHwtLWhlbHAg
IFByaW50cyB0aGlzIGhlbHAgbWVzc2FnZVxuIik7CiAgICAgZnByaW50ZihzdGRlcnIsICIgIC1p
ICAgICAgICAgRW5hYmxlcyBpbnRlcmFjdGl2ZSBtb2RlIChkZWZhdWx0IGlmIG5vIGZpbGVzIGFy
ZSBzcGVjaWZpZWQpXG4iKTsKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgZnBy
aW50ZihzdGRlcnIsICIgIC1wICAgICAgICAgRW5hYmxlcyBKSVQgcHJvZmlsZSBhZ2VudFxuIik7
CisjZW5kaWYKICNpZiBIQVZFKFNJR05BTF9IKQogICAgIGZwcmludGYoc3RkZXJyLCAiICAtcyAg
ICAgICAgIEluc3RhbGxzIHNpZ25hbCBoYW5kbGVycyB0aGF0IGV4aXQgb24gYSBjcmFzaCAoVW5p
eCBwbGF0Zm9ybXMgb25seSlcbiIpOwogI2VuZGlmCkBAIC00OTMsNiArNTAyLDEyIEBACiAgICAg
ICAgICAgICBvcHRpb25zLmR1bXAgPSB0cnVlOwogICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgIH0KKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgICAgIGlmICghc3RyY21w
KGFyZywgIi1wIikpIHsKKyAgICAgICAgICAgIG9wdGlvbnMucHJvZmlsZSA9IHRydWU7CisgICAg
ICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGlmICghc3RyY21w
KGFyZywgIi1zIikpIHsKICNpZiBIQVZFKFNJR05BTF9IKQogICAgICAgICAgICAgc2lnbmFsKFNJ
R0lMTCwgX2V4aXQpOwpAQCAtNTI2LDYgKzU0MSw5IEBACiAgICAgcGFyc2VBcmd1bWVudHMoYXJn
YywgYXJndiwgb3B0aW9ucywgZ2xvYmFsRGF0YSk7CiAKICAgICBHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCA9IG5ldyAoZ2xvYmFsRGF0YSkgR2xvYmFsT2JqZWN0KG9wdGlvbnMuYXJndW1lbnRz
KTsKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgZ2xvYmFsRGF0YS0+aml0UHJv
ZmlsZUFnZW50LnNldEVuYWJsZWQob3B0aW9ucy5wcm9maWxlKTsKKyNlbmRpZgogICAgIGJvb2wg
c3VjY2VzcyA9IHJ1bldpdGhTY3JpcHRzKGdsb2JhbE9iamVjdCwgb3B0aW9ucy5zY3JpcHRzLCBv
cHRpb25zLmR1bXApOwogICAgIGlmIChvcHRpb25zLmludGVyYWN0aXZlICYmIHN1Y2Nlc3MpCiAg
ICAgICAgIHJ1bkludGVyYWN0aXZlKGdsb2JhbE9iamVjdCk7CkluZGV4OiBKYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCShyZXZpc2lvbiA1Nzg3OSkKKysrIEphdmFT
Y3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDIxMiw2ICs0MjEyLDEyIEBACiAgICAgICAgIHZQQyArPSBPUENPREVfTEVOR1RIKG9wX3Byb2Zp
bGVfZGlkX2NhbGwpOwogICAgICAgICBORVhUX0lOU1RSVUNUSU9OKCk7CiAgICAgfQorICAgIERF
RklORV9PUENPREUob3BfcHJvZmlsZV9qaXQpIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisKKyAgICAgICAgdlBDICs9IE9QQ09ERV9MRU5HVEgob3BfcHJvZmlsZV9qaXQpOworICAg
ICAgICBORVhUX0lOU1RSVUNUSU9OKCk7CisgICAgfQogICAgIHZtX3Rocm93OiB7CiAgICAgICAg
IGdsb2JhbERhdGEtPmV4Y2VwdGlvbiA9IEpTVmFsdWUoKTsKICAgICAgICAgaWYgKCF0aWNrQ291
bnQpIHsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhKSVQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEphdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhKSVQuY3BwCShyZXZpc2lvbiA1Nzg3OSkKKysr
IEphdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2
ICsyNyw3IEBACiAjaW5jbHVkZSAiUmVnZXhKSVQuaCIKIAogI2luY2x1ZGUgIkFTQ0lJQ1R5cGUu
aCIKKyNpbmNsdWRlICJKSVRQcm9maWxlQWdlbnQuaCIKICNpbmNsdWRlICJKU0dsb2JhbERhdGEu
aCIKICNpbmNsdWRlICJMaW5rQnVmZmVyLmgiCiAjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXIuaCIK
QEAgLTEzNzUsNyArMTM3NiwxMiBAQAogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
bV9iYWNrdHJhY2tSZWNvcmRzLnNpemUoKTsgKytpKQogICAgICAgICAgICAgcGF0Y2hCdWZmZXIu
cGF0Y2gobV9iYWNrdHJhY2tSZWNvcmRzW2ldLmRhdGFMYWJlbCwgcGF0Y2hCdWZmZXIubG9jYXRp
b25PZihtX2JhY2t0cmFja1JlY29yZHNbaV0uYmFja3RyYWNrTG9jYXRpb24pKTsKIAotICAgICAg
ICBqaXRPYmplY3Quc2V0KHBhdGNoQnVmZmVyLmZpbmFsaXplQ29kZSgpKTsKKyAgICAgICAgQ29k
ZVJlZiBmaW5hbENvZGUgPSBwYXRjaEJ1ZmZlci5maW5hbGl6ZUNvZGUoKTsKKyAgICAgICAgaml0
T2JqZWN0LnNldChmaW5hbENvZGUpOworCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQor
ICAgICAgICBnbG9iYWxEYXRhLT5qaXRQcm9maWxlQWdlbnQucmVnaXN0ZXJKSVRDb2RlKGZpbmFs
Q29kZS5tX2NvZGUuZXhlY3V0YWJsZUFkZHJlc3MoKSwgZmluYWxDb2RlLm1fc2l6ZSwgIjxqaXQt
eWFycj4iKTsKKyNlbmRpZgogICAgIH0KIAogcHJpdmF0ZToKSW5kZXg6IEphdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL0xpbmtCdWZmZXIuaAkocmV2aXNpb24gNTc4NzkpCisrKyBKYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTGlua0J1ZmZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTksNiArMTU5LDEzIEBA
CiAgICAgICAgIHJldHVybiBDb2RlTG9jYXRpb25MYWJlbChjb2RlKCkpOwogICAgIH0KIAorI2lm
IEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBjb25zdCBzaXplX3Qgc2l6ZSgpCisgICAg
eworICAgICAgICByZXR1cm4gbV9zaXplOworICAgIH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAg
IC8vIEtlZXAgdGhpcyBwcml2YXRlISAtIHRoZSB1bmRlcmx5aW5nIGNvZGUgc2hvdWxkIG9ubHkg
YmUgb2J0YWluZWQgZXh0ZXJuYWxseSB2aWEgCiAgICAgLy8gZmluYWxpemVDb2RlKCkgb3IgZmlu
YWxpemVDb2RlQWRkZW5kdW0oKS4KSW5kZXg6IEphdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHJl
dmlzaW9uIDU3ODc5KQorKysgSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAjaWYgRU5BQkxFKEpJVCkKIAogI2luY2x1ZGUg
IkpJVElubGluZU1ldGhvZHMuaCIKKyNpbmNsdWRlICJKSVRQcm9maWxlQWdlbnQuaCIKICNpbmNs
dWRlICJKSVRTdHViQ2FsbC5oIgogI2luY2x1ZGUgIkpTQXJyYXkuaCIKICNpbmNsdWRlICJKU0Nl
bGwuaCIKQEAgLTM5OSw2ICs0MDAsMTAgQEAKICAgICBDb2RlUmVmIGZpbmFsQ29kZSA9IHBhdGNo
QnVmZmVyLmZpbmFsaXplQ29kZSgpOwogICAgICpleGVjdXRhYmxlUG9vbCA9IGZpbmFsQ29kZS5t
X2V4ZWN1dGFibGVQb29sOwogCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIG1f
Z2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LnJlY29yZEpJVFRyYW1wb2xpbmVzKGZpbmFsQ29k
ZS5tX2NvZGUuZXhlY3V0YWJsZUFkZHJlc3MoKSwgZmluYWxDb2RlLm1fc2l6ZSk7CisjZW5kaWYK
KwogICAgIHRyYW1wb2xpbmVzLT5jdGlWaXJ0dWFsQ2FsbCA9IHRyYW1wb2xpbmVBdChmaW5hbENv
ZGUsIHZpcnR1YWxDYWxsQmVnaW4pOwogICAgIHRyYW1wb2xpbmVzLT5jdGlOYXRpdmVDYWxsVGh1
bmsgPSB0cmFtcG9saW5lQXQoZmluYWxDb2RlLCBuYXRpdmVDYWxsVGh1bmspOwogI2lmIEVOQUJM
RShKSVRfT1BUSU1JWkVfUFJPUEVSVFlfQUNDRVNTKQpAQCAtMTQ0NCw3ICsxNDQ5LDYgQEAKICAg
ICBzdHViQ2FsbC5jYWxsKCk7CiB9CiAKLQogdm9pZCBKSVQ6OmVtaXRfb3BfZW50ZXIoSW5zdHJ1
Y3Rpb24qKQogewogICAgIC8vIEV2ZW4gdGhvdWdoIEpJVCBjb2RlIGRvZXNuJ3QgdXNlIHRoZW0s
IHdlIGluaXRpYWxpemUgb3VyIGNvbnN0YW50CkBAIC0xOTQyLDYgKzE5NDYsMTAgQEAKICAgICBD
b2RlUmVmIGZpbmFsQ29kZSA9IHBhdGNoQnVmZmVyLmZpbmFsaXplQ29kZSgpOwogICAgICpleGVj
dXRhYmxlUG9vbCA9IGZpbmFsQ29kZS5tX2V4ZWN1dGFibGVQb29sOwogCisjaWYgRU5BQkxFKEpJ
VF9QUk9GSUxFX0FHRU5UKQorICAgIG1fZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LnJlY29y
ZEpJVFRyYW1wb2xpbmVzKGZpbmFsQ29kZS5tX2NvZGUuZXhlY3V0YWJsZUFkZHJlc3MoKSwgZmlu
YWxDb2RlLm1fc2l6ZSk7CisjZW5kaWYKKwogICAgIHRyYW1wb2xpbmVzLT5jdGlWaXJ0dWFsQ2Fs
bExpbmsgPSB0cmFtcG9saW5lQXQoZmluYWxDb2RlLCB2aXJ0dWFsQ2FsbExpbmtCZWdpbik7CiAg
ICAgdHJhbXBvbGluZXMtPmN0aVZpcnR1YWxDYWxsID0gdHJhbXBvbGluZUF0KGZpbmFsQ29kZSwg
dmlydHVhbENhbGxCZWdpbik7CiAgICAgdHJhbXBvbGluZXMtPmN0aU5hdGl2ZUNhbGxUaHVuayA9
IHRyYW1wb2xpbmVBdChmaW5hbENvZGUsIG5hdGl2ZUNhbGxUaHVuayk7CkBAIC0zMDk3LDYgKzMx
MDUsMTUgQEAKICNlbmRpZiAvLyBVU0UoSlNWQUxVRTMyXzY0KQogCiAvLyBGb3IgYm90aCBKU1Zh
bHVlMzJfNjQgYW5kIEpTVmFsdWUzMgordm9pZCBKSVQ6OmVtaXRfb3BfcHJvZmlsZV9qaXQoSW5z
dHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKK3sKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVf
QUdFTlQpCisgICAgbV9saW5lSW5mb3MuYXBwZW5kKExpbmVJbmZvUmVjb3JkKHNpemUoKSwgY3Vy
cmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCkpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0o
Y3VycmVudEluc3RydWN0aW9uKTsKKyNlbmRpZgorfQorCiAjaWYgRU5BQkxFKEpJVF9PUFRJTUla
RV9NT0QpCiAjaWYgQ1BVKEFSTV9UUkFESVRJT05BTCkKIHZvaWQgSklUOjpzb2Z0TW9kdWxvKCkK
SW5kZXg6IEphdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAkocmV2aXNpb24g
NTc4NzkpCisrKyBKYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5j
bHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSklUSW5saW5lTWV0aG9kcy5oIgorI2lu
Y2x1ZGUgIkpJVFByb2ZpbGVBZ2VudC5oIgogI2luY2x1ZGUgIkpJVFN0dWJDYWxsLmgiCiAjaW5j
bHVkZSAiSlNBcnJheS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKQEAgLTU5NSw2ICs1OTYs
MTAgQEAKICAgICBzdHViSW5mby0+c3R1YlJvdXRpbmUgPSBlbnRyeUxhYmVsOwogICAgIFJlcGF0
Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CiAgICAgcmVwYXRjaEJ1ZmZlci5y
ZWxpbmtDYWxsZXJUb1RyYW1wb2xpbmUocmV0dXJuQWRkcmVzcywgZW50cnlMYWJlbCk7CisKKyNp
ZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgbV9nbG9iYWxEYXRhLT5qaXRQcm9maWxl
QWdlbnQucmVnaXN0ZXJKSVRDb2RlKGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0
Y2hCdWZmZXIuc2l6ZSgpLCAiPGppdC1wdXRieWlkLXRyYW5zaXRpb24+Iik7CisjZW5kaWYKIH0K
IAogdm9pZCBKSVQ6OnBhdGNoR2V0QnlJZFNlbGYoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIFN0cnVj
dHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIHNpemVfdCBjYWNo
ZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykKQEAgLTY5NCw2ICs2OTks
MTAgQEAKIAogICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFuIG9uY2UgLSBp
biBmdXR1cmUgZ28gdG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIHJlcGF0Y2hCdWZm
ZXIucmVsaW5rQ2FsbGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0cihjdGlf
b3BfZ2V0X2J5X2lkX2FycmF5X2ZhaWwpKTsKKworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VO
VCkKKyAgICBtX2dsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3RlckpJVENvZGUoZW50
cnlMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8aml0LWdl
dGFycmF5bGVuZ3RoPiIpOworI2VuZGlmCiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdl
dEJ5SWRQcm90byhTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYgaWRl
bnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwgUmV0dXJu
QWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTc2Myw2
ICs3NzIsMTAgQEAKIAogICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFuIG9u
Y2UgLSBpbiBmdXR1cmUgZ28gdG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIHJlcGF0
Y2hCdWZmZXIucmVsaW5rQ2FsbGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0
cihjdGlfb3BfZ2V0X2J5X2lkX3Byb3RvX2xpc3QpKTsKKworI2lmIEVOQUJMRShKSVRfUFJPRklM
RV9BR0VOVCkKKyAgICBtX2dsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3RlckpJVENv
ZGUoZW50cnlMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8
aml0LWdldGJ5aWQtcHJvdG8+Iik7CisjZW5kaWYKIH0KIAogdm9pZCBKSVQ6OnByaXZhdGVDb21w
aWxlR2V0QnlJZFNlbGZMaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUG9seW1vcnBo
aWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBwb2x5bW9ycGhpY1N0cnVjdHVyZXMsIGludCBjdXJyZW50
SW5kZXgsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29u
c3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0KQpAQCAtODIxLDYgKzgz
NCwxMCBAQAogICAgIENvZGVMb2NhdGlvbkp1bXAganVtcExvY2F0aW9uID0gc3R1YkluZm8tPmhv
dFBhdGhCZWdpbi5qdW1wQXRPZmZzZXQocGF0Y2hPZmZzZXRHZXRCeUlkQnJhbmNoVG9TbG93Q2Fz
ZSk7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNoQnVmZmVyKG1fY29kZUJsb2NrKTsKICAgICBy
ZXBhdGNoQnVmZmVyLnJlbGluayhqdW1wTG9jYXRpb24sIGVudHJ5TGFiZWwpOworCisjaWYgRU5B
QkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIG1fZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50
LnJlZ2lzdGVySklUQ29kZShlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVm
ZmVyLnNpemUoKSwgIjxqaXQtZ2V0YnlpZC1zZWxmbGlzdD4iKTsKKyNlbmRpZgogfQogCiB2b2lk
IEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiBz
dHViSW5mbywgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBwcm90b3R5cGVTdHJ1Y3R1
cmVzLCBpbnQgY3VycmVudEluZGV4LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlKiBw
cm90b3R5cGVTdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0
eVNsb3QmIHNsb3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIENhbGxGcmFtZSogY2FsbEZyYW1lKQpA
QCAtODkxLDYgKzkwOCwxMCBAQAogICAgIENvZGVMb2NhdGlvbkp1bXAganVtcExvY2F0aW9uID0g
c3R1YkluZm8tPmhvdFBhdGhCZWdpbi5qdW1wQXRPZmZzZXQocGF0Y2hPZmZzZXRHZXRCeUlkQnJh
bmNoVG9TbG93Q2FzZSk7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNoQnVmZmVyKG1fY29kZUJs
b2NrKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhqdW1wTG9jYXRpb24sIGVudHJ5TGFiZWwp
OworCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIG1fZ2xvYmFsRGF0YS0+aml0
UHJvZmlsZUFnZW50LnJlZ2lzdGVySklUQ29kZShlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNz
KCksIHBhdGNoQnVmZmVyLnNpemUoKSwgIjxqaXQtZ2V0YnlpZC1wcm90b2xpc3Q+Iik7CisjZW5k
aWYKIH0KIAogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluTGlzdChTdHJ1Y3R1
cmVTdHViSW5mbyogc3R1YkluZm8sIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCogcHJv
dG90eXBlU3RydWN0dXJlcywgaW50IGN1cnJlbnRJbmRleCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IFN0cnVjdHVyZUNoYWluKiBjaGFpbiwgc2l6ZV90IGNvdW50LCBjb25zdCBJZGVudGlmaWVyJiBp
ZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBDYWxs
RnJhbWUqIGNhbGxGcmFtZSkKQEAgLTk2OSw2ICs5OTAsMTAgQEAKICAgICBDb2RlTG9jYXRpb25K
dW1wIGp1bXBMb2NhdGlvbiA9IHN0dWJJbmZvLT5ob3RQYXRoQmVnaW4uanVtcEF0T2Zmc2V0KHBh
dGNoT2Zmc2V0R2V0QnlJZEJyYW5jaFRvU2xvd0Nhc2UpOwogICAgIFJlcGF0Y2hCdWZmZXIgcmVw
YXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoanVtcExv
Y2F0aW9uLCBlbnRyeUxhYmVsKTsKKworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAg
ICBtX2dsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3RlckpJVENvZGUoZW50cnlMYWJl
bC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8aml0LWdldGJ5aWQt
Y2hhaW5saXN0PiIpOworI2VuZGlmCiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5
SWRDaGFpbihTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4sIHNpemVfdCBjb3VudCwgY29uc3QgSWRlbnRpZmllciYg
aWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwgUmV0
dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTEw
NDUsNiArMTA3MCwxMCBAQAogCiAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBwYXRjaCBtb3JlIHRo
YW4gb25jZSAtIGluIGZ1dHVyZSBnbyB0byBjdGlfb3BfcHV0X2J5X2lkX2dlbmVyaWMuCiAgICAg
cmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb0Z1bmN0aW9uKHJldHVybkFkZHJlc3MsIEZ1bmN0
aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfcHJvdG9fbGlzdCkpOworCisjaWYgRU5BQkxFKEpJVF9Q
Uk9GSUxFX0FHRU5UKQorICAgIG1fZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LnJlZ2lzdGVy
SklUQ29kZShlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUo
KSwgIjxqaXQtZ2V0YnlpZC1jaGFpbj4iKTsKKyNlbmRpZgogfQogCiAvKiAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0gRU5EOiAhRU5BQkxFIC8gRU5BQkxFKEpJVF9PUFRJTUlaRV9QUk9Q
RVJUWV9BQ0NFU1MpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwpJbmRleDogSmF2
YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvaml0
L0pJVC5jcHAJKHJldmlzaW9uIDU3ODc5KQorKysgSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI4NSw2ICsyODUsNyBAQAogICAgICAgICBERUZJTkVfT1Aob3Bf
cHJlX2RlYykKICAgICAgICAgREVGSU5FX09QKG9wX3ByZV9pbmMpCiAgICAgICAgIERFRklORV9P
UChvcF9wcm9maWxlX2RpZF9jYWxsKQorICAgICAgICBERUZJTkVfT1Aob3BfcHJvZmlsZV9qaXQp
CiAgICAgICAgIERFRklORV9PUChvcF9wcm9maWxlX3dpbGxfY2FsbCkKICAgICAgICAgREVGSU5F
X09QKG9wX3B1c2hfbmV3X3Njb3BlKQogICAgICAgICBERUZJTkVfT1Aob3BfcHVzaF9zY29wZSkK
SW5kZXg6IEphdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuY3BwCShyZXZpc2lvbiAwKQor
KysgSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb2ZpbGVBZ2VudC5jcHAJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTIxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEhvbGdlciBIYW5zIFBl
dGVyIEZyZXl0aGVyCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgVW5pdmVyc2l0eSBvZiBTemVnZWQK
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorCisjaW5jbHVkZSAiSklU
UHJvZmlsZUFnZW50LmgiCisKKyNpbmNsdWRlICJKU0dsb2JhbERhdGEuaCIKKyNpbmNsdWRlICJV
U3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KKworbmFtZXNwYWNlIEpTQyB7
CisKKyNpZiBFTkFCTEUoSklUX09QUk9GSUxFX0FHRU5UKQorCit2b2lkIEpJVFByb2ZpbGVBZ2Vu
dDo6aW5pdEFnZW50KCkKK3sKKyAgICBtX3ZpcnR1YWxNZW1vcnlTZWdtZW50cy5jbGVhcigpOwor
ICAgIG1fcHJvZmlsZUFnZW50ID0gb3Bfb3Blbl9hZ2VudCgpOworICAgIGlmIChtX3RyYW1wb2xp
bmVzLmNvZGUpCisgICAgICAgIHJlZ2lzdGVySklUQ29kZShtX3RyYW1wb2xpbmVzLmNvZGUsIG1f
dHJhbXBvbGluZXMuc2l6ZSwgIjxqaXQtdHJhbXBvbGluZXM+Iik7Cit9CisKK3ZvaWQgSklUUHJv
ZmlsZUFnZW50OjpkZWluaXRBZ2VudCgpCit7CisgICAgdW5zaWduZWQgaW50IGksIG4gPSBtX3Zp
cnR1YWxNZW1vcnlTZWdtZW50cy5zaXplKCk7CisgICAgZm9yIChpID0gMDsgaSAhPSBuOyArK2kp
CisgICAgICAgIG9wX3VubG9hZF9uYXRpdmVfY29kZShtX3Byb2ZpbGVBZ2VudCwgcmVpbnRlcnBy
ZXRfY2FzdDx1aW50NjRfdD4obV92aXJ0dWFsTWVtb3J5U2VnbWVudHNbaV0uY29kZSkpOworICAg
IG1fdmlydHVhbE1lbW9yeVNlZ21lbnRzLmNsZWFyKCk7CisgICAgb3BfY2xvc2VfYWdlbnQobV9w
cm9maWxlQWdlbnQpOworfQorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6cmVnaXN0ZXJKSVRDb2Rl
SW1wbCh2b2lkKiBjb2RlLCB1bnNpZ25lZCBpbnQgc2l6ZSwgY29uc3QgY2hhciogc3ltYm9sTmFt
ZSkKK3sKKyAgICAvKiBDaGVjayBmb3Igb2Jzb2xldGUgSklUIGNvZGVzICovCisgICAgdW5zaWdu
ZWQgaW50IGksIG4gPSBtX3ZpcnR1YWxNZW1vcnlTZWdtZW50cy5zaXplKCk7CisgICAgY29uc3Qg
Y2hhciogdm1hQmVnaW4gPSByZWludGVycHJldF9jYXN0PGNoYXIqPihjb2RlKTsKKyAgICBjb25z
dCBjaGFyKiB2bWFFbmQgPSB2bWFCZWdpbiArIHNpemU7CisgICAgZm9yIChpID0gMDsgaSAhPSBu
OyArK2kpIHsKKyAgICAgICAgY29uc3QgY2hhciogcmVnaXN0ZXJlZFZtYUJlZ2luID0gcmVpbnRl
cnByZXRfY2FzdDxjaGFyKj4obV92aXJ0dWFsTWVtb3J5U2VnbWVudHNbaV0uY29kZSk7CisgICAg
ICAgIGNvbnN0IGNoYXIqIHJlZ2lzdGVyZWRWbWFFbmQgPSB2bWFCZWdpbiArIG1fdmlydHVhbE1l
bW9yeVNlZ21lbnRzW2ldLnNpemU7CisgICAgICAgIGlmICgocmVnaXN0ZXJlZFZtYUJlZ2luIDw9
IHZtYUVuZCAmJiB2bWFFbmQgPD0gcmVnaXN0ZXJlZFZtYUVuZCkKKyAgICAgICAgICAgIHx8IChy
ZWdpc3RlcmVkVm1hQmVnaW4gPD0gdm1hQmVnaW4gJiYgdm1hQmVnaW4gPD0gcmVnaXN0ZXJlZFZt
YUVuZCkpIHsKKyAgICAgICAgICAgIG9wX3VubG9hZF9uYXRpdmVfY29kZShtX3Byb2ZpbGVBZ2Vu
dCwgcmVpbnRlcnByZXRfY2FzdDx1aW50NjRfdD4obV92aXJ0dWFsTWVtb3J5U2VnbWVudHNbaV0u
Y29kZSkpOworICAgICAgICB9CisgICAgfQorCisgICAgb3Bfd3JpdGVfbmF0aXZlX2NvZGUobV9w
cm9maWxlQWdlbnQsIHN5bWJvbE5hbWUgPyBzeW1ib2xOYW1lIDogIjxqaXQ+IiwgcmVpbnRlcnBy
ZXRfY2FzdDx1aW50NjRfdD4oY29kZSksIGNvZGUsIHNpemUpOworfQorCit2b2lkIEpJVFByb2Zp
bGVBZ2VudDo6YW5ub3RhdGVKSVRDb2RlSW1wbCh2b2lkKiBjb2RlLCBWZWN0b3I8TGluZUluZm9S
ZWNvcmQ+JiBsaW5lSW5mbywgY29uc3QgVVN0cmluZyYgdXJsKQoreworICAgIHVpbnRwdHJfdCB2
bWEgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oY29kZSk7CisgICAgdWludHB0cl90IHBy
ZXZPZmZzZXQgPSAwOworICAgIGludCBlbnRyaWVzID0gbGluZUluZm8uc2l6ZSgpOworICAgIHN0
cnVjdCBkZWJ1Z19saW5lX2luZm8qIGRlYnVnTGluZUluZm8gPSByZWludGVycHJldF9jYXN0PHN0
cnVjdCBkZWJ1Z19saW5lX2luZm8qPihXVEY6OmZhc3RNYWxsb2MoZW50cmllcyAqIHNpemVvZihz
dHJ1Y3QgZGVidWdfbGluZV9pbmZvKSkpOworICAgIGNoYXIqIG5hbWUgPSB1cmwuYXNjaWkoKTsK
KworICAgIHN0cnVjdCBkZWJ1Z19saW5lX2luZm8qIGRlYnVnTGluZUluZm9QdHIgPSBkZWJ1Z0xp
bmVJbmZvOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7CisgICAgICAg
IGlmIChwcmV2T2Zmc2V0ICE9IGxpbmVJbmZvW2ldLnZtYU9mZnNldCkgeworICAgICAgICAgICAg
ZGVidWdMaW5lSW5mb1B0ci0+dm1hID0gdm1hICsgbGluZUluZm9baV0udm1hT2Zmc2V0OworICAg
ICAgICAgICAgZGVidWdMaW5lSW5mb1B0ci0+bGluZW5vID0gbGluZUluZm9baV0ubGluZTsKKyAg
ICAgICAgICAgIGRlYnVnTGluZUluZm9QdHItPmZpbGVuYW1lID0gbmFtZTsKKyAgICAgICAgICAg
IHByZXZPZmZzZXQgPSBsaW5lSW5mb1tpXS52bWFPZmZzZXQ7CisgICAgICAgICAgICArK2RlYnVn
TGluZUluZm9QdHI7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBvcF93cml0ZV9kZWJ1Z19saW5l
X2luZm8obV9wcm9maWxlQWdlbnQsIGNvZGUsIGRlYnVnTGluZUluZm9QdHIgLSBkZWJ1Z0xpbmVJ
bmZvLCBkZWJ1Z0xpbmVJbmZvKTsKKyAgICBXVEY6OmZhc3RGcmVlKGRlYnVnTGluZUluZm8pOwor
fQorCisjZWxzZSAvLyBEdW1teSBwcm9maWxlIGFnZW50CisKK3ZvaWQgSklUUHJvZmlsZUFnZW50
Ojppbml0QWdlbnQoKQoreworfQorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6ZGVpbml0QWdlbnQo
KQoreworfQorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6cmVnaXN0ZXJKSVRDb2RlSW1wbCh2b2lk
KiwgdW5zaWduZWQgaW50LCBjb25zdCBjaGFyKikKK3sKK30KKwordm9pZCBKSVRQcm9maWxlQWdl
bnQ6OmFubm90YXRlSklUQ29kZUltcGwodm9pZCosIFZlY3RvcjxMaW5lSW5mb1JlY29yZD4mLCBj
b25zdCBVU3RyaW5nJikKK3sKK30KKworI2VuZGlmIC8vIEVOQUJMRShKSVRfT1BST0ZJTEVfQUdF
TlQpCisKK30KKworI2VuZGlmIC8vIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKSW5kZXg6IEph
dmFTY3JpcHRDb3JlL2ppdC9KSVQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9qaXQv
SklULmgJKHJldmlzaW9uIDU3ODc5KQorKysgSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5j
bHVkZSAiSW50ZXJwcmV0ZXIuaCIKICNpbmNsdWRlICJKSVRDb2RlLmgiCisjaW5jbHVkZSAiSklU
UHJvZmlsZUFnZW50LmgiCiAjaW5jbHVkZSAiSklUU3R1YnMuaCIKICNpbmNsdWRlICJPcGNvZGUu
aCIKICNpbmNsdWRlICJSZWdpc3RlckZpbGUuaCIKQEAgLTI5OCw5ICsyOTksMjAgQEAKICAgICAg
ICAgc3RhdGljIGNvbnN0IGludCBwYXRjaEdldEJ5SWREZWZhdWx0T2Zmc2V0ID0gMjU2OwogCiAg
ICAgcHVibGljOgotICAgICAgICBzdGF0aWMgSklUQ29kZSBjb21waWxlKEpTR2xvYmFsRGF0YSog
Z2xvYmFsRGF0YSwgQ29kZUJsb2NrKiBjb2RlQmxvY2spCisgICAgICAgIHN0YXRpYyBKSVRDb2Rl
IGNvbXBpbGUoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywg
Y29uc3QgY2hhciogbmFtZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIEpJVChnbG9i
YWxEYXRhLCBjb2RlQmxvY2spLnByaXZhdGVDb21waWxlKCk7CisgICAgICAgICAgICBKSVQgaml0
KGdsb2JhbERhdGEsIGNvZGVCbG9jayk7CisgICAgICAgICAgICBKSVRDb2RlIGNvZGUgPSBqaXQu
cHJpdmF0ZUNvbXBpbGUoKTsKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgICAg
ICAgICBpZiAoZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LmlzRW5hYmxlZCgpKSB7CisgICAg
ICAgICAgICAgICAgZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LnJlZ2lzdGVySklUQ29kZShj
b2RlLmFkZHJlc3NGb3JDYWxsKCkuZXhlY3V0YWJsZUFkZHJlc3MoKSwgY29kZS5zaXplKCksIG5h
bWUpOworICAgICAgICAgICAgICAgIGlmICghY29kZUJsb2NrLT5zb3VyY2UoKS0+dXJsKCkuaXNF
bXB0eSgpKQorICAgICAgICAgICAgICAgICAgICBnbG9iYWxEYXRhLT5qaXRQcm9maWxlQWdlbnQu
YW5ub3RhdGVKSVRDb2RlKGNvZGUuYWRkcmVzc0ZvckNhbGwoKS5leGVjdXRhYmxlQWRkcmVzcygp
LCBqaXQubV9saW5lSW5mb3MsIGNvZGVCbG9jay0+c291cmNlKCktPnVybCgpKTsKKyAgICAgICAg
ICAgIH0KKyNlbHNlCisgICAgICAgICAgICBVTlVTRURfUEFSQU0obmFtZSk7CisjZW5kaWYKKyAg
ICAgICAgICAgIHJldHVybiBjb2RlOwogICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIHZvaWQg
Y29tcGlsZUdldEJ5SWRQcm90byhKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEsIENhbGxGcmFtZSog
Y2FsbEZyYW1lLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJ
bmZvLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlKiBwcm90b3R5cGVTdHJ1Y3R1cmUs
IGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QsIHNpemVf
dCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykKQEAgLTgzMSw2
ICs4NDMsNyBAQAogICAgICAgICB2b2lkIGVtaXRfb3BfcG9zdF9pbmMoSW5zdHJ1Y3Rpb24qKTsK
ICAgICAgICAgdm9pZCBlbWl0X29wX3ByZV9kZWMoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9p
ZCBlbWl0X29wX3ByZV9pbmMoSW5zdHJ1Y3Rpb24qKTsKKyAgICAgICAgdm9pZCBlbWl0X29wX3By
b2ZpbGVfaml0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9wcm9maWxlX2Rp
ZF9jYWxsKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9wcm9maWxlX3dpbGxf
Y2FsbChJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfcHVzaF9uZXdfc2NvcGUo
SW5zdHJ1Y3Rpb24qKTsKQEAgLTk5Niw3ICsxMDA5LDkgQEAKICAgICAgICAgVmVjdG9yPEpTUklu
Zm8+IG1fanNyU2l0ZXM7CiAgICAgICAgIFZlY3RvcjxTbG93Q2FzZUVudHJ5PiBtX3Nsb3dDYXNl
czsKICAgICAgICAgVmVjdG9yPFN3aXRjaFJlY29yZD4gbV9zd2l0Y2hlczsKLQorI2lmIEVOQUJM
RShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICAgICAgVmVjdG9yPExpbmVJbmZvUmVjb3JkPiBtX2xp
bmVJbmZvczsKKyNlbmRpZgogICAgICAgICB1bnNpZ25lZCBtX3Byb3BlcnR5QWNjZXNzSW5zdHJ1
Y3Rpb25JbmRleDsKICAgICAgICAgdW5zaWduZWQgbV9nbG9iYWxSZXNvbHZlSW5mb0luZGV4Owog
ICAgICAgICB1bnNpZ25lZCBtX2NhbGxMaW5rSW5mb0luZGV4OwpJbmRleDogSmF2YVNjcmlwdENv
cmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3Jp
cHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcAkocmV2aXNpb24gNTc4NzkpCisr
KyBKYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIkNvZGVCbG9jay5oIgogI2luY2x1
ZGUgIkpJVElubGluZU1ldGhvZHMuaCIKKyNpbmNsdWRlICJKSVRQcm9maWxlQWdlbnQuaCIKICNp
bmNsdWRlICJKSVRTdHViQ2FsbC5oIgogI2luY2x1ZGUgIkpTQXJyYXkuaCIKICNpbmNsdWRlICJK
U0Z1bmN0aW9uLmgiCkBAIC02MTMsNiArNjE0LDEwIEBACiAgICAgc3R1YkluZm8tPnN0dWJSb3V0
aW5lID0gZW50cnlMYWJlbDsKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2Rl
QmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rQ2FsbGVyVG9UcmFtcG9saW5lKHJldHVy
bkFkZHJlc3MsIGVudHJ5TGFiZWwpOworCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQor
ICAgIG1fZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LnJlZ2lzdGVySklUQ29kZShlbnRyeUxh
YmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgIjxqaXQtcHV0Ynlp
ZC10cmFuc2l0aW9uPiIpOworI2VuZGlmCiB9CiAKIHZvaWQgSklUOjpwYXRjaEdldEJ5SWRTZWxm
KENvZGVCbG9jayogY29kZUJsb2NrLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJl
dHVybkFkZHJlc3MpCkBAIC03MTYsNiArNzIxLDEwIEBACiAgICAgCiAgICAgLy8gV2UgZG9uJ3Qg
d2FudCB0byBwYXRjaCBtb3JlIHRoYW4gb25jZSAtIGluIGZ1dHVyZSBnbyB0byBjdGlfb3BfcHV0
X2J5X2lkX2dlbmVyaWMuCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb0Z1bmN0aW9u
KHJldHVybkFkZHJlc3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfYXJyYXlfZmFpbCkp
OworCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIG1fZ2xvYmFsRGF0YS0+aml0
UHJvZmlsZUFnZW50LnJlZ2lzdGVySklUQ29kZShlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNz
KCksIHBhdGNoQnVmZmVyLnNpemUoKSwgIjxqaXQtZ2V0YXJyYXlsZW5ndGg+Iik7CisjZW5kaWYK
IH0KIAogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvKFN0cnVjdHVyZVN0dWJJ
bmZvKiBzdHViSW5mbywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZSogcHJvdG90eXBl
U3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBz
bG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3Ms
IENhbGxGcmFtZSogY2FsbEZyYW1lKQpAQCAtNzg3LDYgKzc5NiwxMCBAQAogICAgIAogICAgIC8v
IFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFuIG9uY2UgLSBpbiBmdXR1cmUgZ28gdG8g
Y3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rQ2FsbGVy
VG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0cihjdGlfb3BfZ2V0X2J5X2lkX3By
b3RvX2xpc3QpKTsKKworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBtX2dsb2Jh
bERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3RlckpJVENvZGUoZW50cnlMYWJlbC5leGVjdXRh
YmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8aml0LWdldGJ5aWQtcHJvdG8+Iik7
CisjZW5kaWYKIH0KIAogCkBAIC04NDYsNiArODU5LDEwIEBACiAgICAgQ29kZUxvY2F0aW9uSnVt
cCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJlZ2luLmp1bXBBdE9mZnNldChwYXRj
aE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0
Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGp1bXBMb2Nh
dGlvbiwgZW50cnlMYWJlbCk7CisKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAg
bV9nbG9iYWxEYXRhLT5qaXRQcm9maWxlQWdlbnQucmVnaXN0ZXJKSVRDb2RlKGVudHJ5TGFiZWwu
ZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCAiPGppdC1nZXRieWlkLXNl
bGZsaXN0PiIpOworI2VuZGlmCiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQ
cm90b0xpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpY0FjY2Vzc1N0
cnVjdHVyZUxpc3QqIHByb3RvdHlwZVN0cnVjdHVyZXMsIGludCBjdXJyZW50SW5kZXgsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgSWRl
bnRpZmllciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9m
ZnNldCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCkBAIC05MTUsNiArOTMyLDEwIEBACiAgICAgQ29k
ZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJlZ2luLmp1bXBB
dE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAgICBSZXBhdGNo
QnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVs
aW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVf
QUdFTlQpCisgICAgbV9nbG9iYWxEYXRhLT5qaXRQcm9maWxlQWdlbnQucmVnaXN0ZXJKSVRDb2Rl
KGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCAiPGpp
dC1nZXRieWlkLXByb3RvbGlzdD4iKTsKKyNlbmRpZgogfQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNv
bXBpbGVHZXRCeUlkQ2hhaW5MaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUG9seW1v
cnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBwcm90b3R5cGVTdHJ1Y3R1cmVzLCBpbnQgY3VycmVu
dEluZGV4LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlQ2hhaW4qIGNoYWluLCBzaXpl
X3QgY291bnQsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNs
b3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIENhbGxGcmFtZSogY2FsbEZyYW1lKQpAQCAtOTkzLDYg
KzEwMTQsMTAgQEAKICAgICBDb2RlTG9jYXRpb25KdW1wIGp1bXBMb2NhdGlvbiA9IHN0dWJJbmZv
LT5ob3RQYXRoQmVnaW4uanVtcEF0T2Zmc2V0KHBhdGNoT2Zmc2V0R2V0QnlJZEJyYW5jaFRvU2xv
d0Nhc2UpOwogICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CiAg
ICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoanVtcExvY2F0aW9uLCBlbnRyeUxhYmVsKTsKKworI2lm
IEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBtX2dsb2JhbERhdGEtPmppdFByb2ZpbGVB
Z2VudC5yZWdpc3RlckpJVENvZGUoZW50cnlMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRj
aEJ1ZmZlci5zaXplKCksICI8aml0LWdldGJ5aWQtY2hhaW5saXN0PiIpOworI2VuZGlmCiB9CiAK
IHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbihTdHJ1Y3R1cmVTdHViSW5mbyog
c3R1YkluZm8sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4sIHNp
emVfdCBjb3VudCwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYg
c2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwgUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNz
LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTEwNjgsNiArMTA5MywxMCBAQAogICAgIAogICAg
IC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFuIG9uY2UgLSBpbiBmdXR1cmUgZ28g
dG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rQ2Fs
bGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0cihjdGlfb3BfZ2V0X2J5X2lk
X3Byb3RvX2xpc3QpKTsKKworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBtX2ds
b2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3RlckpJVENvZGUoZW50cnlMYWJlbC5leGVj
dXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8aml0LWdldGJ5aWQtY2hhaW4+
Iik7CisjZW5kaWYKIH0KIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVORDog
IUVOQUJMRSAvIEVOQUJMRShKSVRfT1BUSU1JWkVfUFJPUEVSVFlfQUNDRVNTKSAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KSW5kZXg6IEphdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9m
aWxlQWdlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvZmlsZUFn
ZW50LmgJKHJldmlzaW9uIDApCisrKyBKYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvZmlsZUFnZW50
LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDA5IEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgVW5p
dmVyc2l0eSBvZiBTemVnZWQKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBKSVRQcm9maWxlQWdlbnRfaAorI2RlZmluZSBKSVRQcm9maWxlQWdlbnRf
aAorCisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CisKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVf
QUdFTlQpCisKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaWYgRU5BQkxFKEpJVF9PUFJPRklM
RV9BR0VOVCkKKyNpbmNsdWRlIDxvcGFnZW50Lmg+CisjZW5kaWYKKworbmFtZXNwYWNlIEpTQyB7
CisKK2NsYXNzIFVTdHJpbmc7CitjbGFzcyBKU0dsb2JhbERhdGE7CisKK3N0cnVjdCBMaW5lSW5m
b1JlY29yZCB7CisgICAgTGluZUluZm9SZWNvcmQoaW50IHZtYU9mZnNldCwgaW50IGxpbmUpCisg
ICAgICAgIDogdm1hT2Zmc2V0KHZtYU9mZnNldCkKKyAgICAgICAgLCBsaW5lKGxpbmUpCisgICAg
eworICAgIH0KKworICAgIGludCB2bWFPZmZzZXQ7CisgICAgaW50IGxpbmU7Cit9OworCitjbGFz
cyBKSVRQcm9maWxlQWdlbnQgeworICAgIHN0cnVjdCBWaXJ0dWFsTWVtb3J5U2VnbWVudCB7Cisg
ICAgICAgIFZpcnR1YWxNZW1vcnlTZWdtZW50KCkKKyAgICAgICAgICA6IGNvZGUoMCkKKyAgICAg
ICAgICAsIHNpemUoMCkKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgdm9pZCogY29k
ZTsKKyAgICAgICAgdW5zaWduZWQgaW50IHNpemU7CisgICAgfTsKKyAgICB0eXBlZGVmIFZlY3Rv
cjxWaXJ0dWFsTWVtb3J5U2VnbWVudD4gVmlydHVhbE1lbW9yeVNlZ21lbnRWZWN0b3I7CisKK3B1
YmxpYzoKKyAgICBKSVRQcm9maWxlQWdlbnQoYm9vbCBzdGF0dXMpCisgICAgICA6IG1fZW5hYmxl
QWdlbnQoc3RhdHVzKQorICAgIHsKKyAgICAgICAgaWYgKGlzRW5hYmxlZCgpKQorICAgICAgICAg
ICAgaW5pdEFnZW50KCk7CisgICAgfQorCisgICAgfkpJVFByb2ZpbGVBZ2VudCgpCisgICAgewor
ICAgICAgICBpZiAoaXNFbmFibGVkKCkpCisgICAgICAgICAgICBkZWluaXRBZ2VudCgpOworICAg
IH0KKworICAgIHZvaWQgcmVnaXN0ZXJKSVRDb2RlKHZvaWQqIGNvZGUsIHVuc2lnbmVkIGludCBz
aXplLCBjb25zdCBjaGFyKiBzeW1ib2wpCisgICAgeworICAgICAgICBpZiAoaXNFbmFibGVkKCkg
JiYgY29kZSkKKyAgICAgICAgICAgIHJlZ2lzdGVySklUQ29kZUltcGwoY29kZSwgc2l6ZSwgc3lt
Ym9sKTsKKyAgICB9CisKKyAgICB2b2lkIGFubm90YXRlSklUQ29kZSh2b2lkKiBjb2RlLCBWZWN0
b3I8TGluZUluZm9SZWNvcmQ+JiBsaW5lSW5mbywgY29uc3QgVVN0cmluZyYgdXJsKQorICAgIHsK
KyAgICAgICAgaWYgKGlzRW5hYmxlZCgpICYmIGNvZGUpCisgICAgICAgICAgICBhbm5vdGF0ZUpJ
VENvZGVJbXBsKGNvZGUsIGxpbmVJbmZvLCB1cmwpOworICAgIH0KKworICAgIHZvaWQgcmVjb3Jk
SklUVHJhbXBvbGluZXModm9pZCogY29kZSwgdW5zaWduZWQgaW50IHNpemUpCisgICAgeworICAg
ICAgICBtX3RyYW1wb2xpbmVzLmNvZGUgPSBjb2RlOworICAgICAgICBtX3RyYW1wb2xpbmVzLnNp
emUgPSBzaXplOworICAgICAgICBpZiAoaXNFbmFibGVkKCkpCisgICAgICAgICAgICByZWdpc3Rl
ckpJVENvZGUobV90cmFtcG9saW5lcy5jb2RlLCBtX3RyYW1wb2xpbmVzLnNpemUsICI8aml0LXRy
YW1wb2xpbmVzPiIpOworICAgIH0KKworICAgIHZvaWQgc2V0RW5hYmxlZChib29sIHN0YXR1cykK
KyAgICB7CisgICAgICAgIGlmIChtX2VuYWJsZUFnZW50ID09IHN0YXR1cykKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgbV9lbmFibGVBZ2VudCA9IHN0YXR1czsKKyAgICAgICAgaWYgKGlz
RW5hYmxlZCgpKQorICAgICAgICAgICAgaW5pdEFnZW50KCk7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIGRlaW5pdEFnZW50KCk7CisgICAgfQorCisgICAgQUxXQVlTX0lOTElORSBjb25zdCBi
b29sIGlzRW5hYmxlZCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorCitwcml2YXRlOgorICAgIHZvaWQgaW5pdEFnZW50KCk7CisgICAgdm9pZCBkZWluaXRBZ2Vu
dCgpOworICAgIHZvaWQgcmVnaXN0ZXJKSVRDb2RlSW1wbCh2b2lkKiwgdW5zaWduZWQgaW50LCBj
b25zdCBjaGFyKik7CisgICAgdm9pZCBhbm5vdGF0ZUpJVENvZGVJbXBsKHZvaWQqLCBWZWN0b3I8
TGluZUluZm9SZWNvcmQ+JiwgY29uc3QgVVN0cmluZyYpOworCisjaWYgRU5BQkxFKEpJVF9PUFJP
RklMRV9BR0VOVCkKKyAgICBvcF9hZ2VudF90IG1fcHJvZmlsZUFnZW50OworI2VuZGlmCisgICAg
VmlydHVhbE1lbW9yeVNlZ21lbnRWZWN0b3IgbV92aXJ0dWFsTWVtb3J5U2VnbWVudHM7CisgICAg
VmlydHVhbE1lbW9yeVNlZ21lbnQgbV90cmFtcG9saW5lczsKKyAgICBib29sIG1fZW5hYmxlQWdl
bnQ7Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisKKyNl
bmRpZiAvLyBKSVRQcm9maWxlQWdlbnRfaApJbmRleDogSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNTc4Nzkp
CisrKyBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw4
MCBAQAorMjAxMC0wNC0yMCAgR2Fib3IgTG9raSAgPGxva2lAd2Via2l0Lm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdXBwb3J0cyBPUHJvZmls
ZSBKSVQgYWdlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTMyNTYxCisKKyAgICAgICAgVGhpcyBwYXRjaCBmZWVkcyBPUHJvZmlsZSBkYWVtb24gd2l0
aCBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGUKKyAgICAgICAgZ2VuZXJlYXRlZCBKSVQg
Y29kZS4gSXQgcGFzc2VzIHNvdXJjZS91cmwgcGF0aCwgZnVuY3Rpb24gbmFtZXMgYW5kCisgICAg
ICAgIGxpbmUgaW5mb3JtYXRpb24gZm9yIHRoZSByZXBvcnQgYW5kIGFubm90YXRlIHRvb2xzLgor
CisgICAgICAgIERldmVsb3BlZCBpbiBjb29wZXJhdGlvbiB3aXRoIFpvbHRhbiBIZXJjemVnLgor
CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogSmF2YVNjcmlwdENvcmUucHJv
OgorICAgICAgICAqIGFzc2VtYmxlci9MaW5rQnVmZmVyLmg6CisgICAgICAgIChKU0M6OkxpbmtC
dWZmZXI6OnNpemUpOgorICAgICAgICAqIGJ5dGVjb2RlL09wY29kZS5oOgorICAgICAgICAqIGJ5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2Rl
R2VuZXJhdG9yOjplbWl0RGVidWdIb29rKToKKyAgICAgICAgKiBpbnRlcnByZXRlci9JbnRlcnBy
ZXRlci5jcHA6CisgICAgICAgIChKU0M6OkludGVycHJldGVyOjpwcml2YXRlRXhlY3V0ZSk6Cisg
ICAgICAgICogaml0L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVN
YWluUGFzcyk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAoSlNDOjpKSVQ6OmNvbXBp
bGUpOgorICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpl
bWl0X29wX3Byb2ZpbGVfaml0KToKKyAgICAgICAgKiBqaXQvSklUUHJvZmlsZUFnZW50LmNwcDog
QWRkZWQuCisgICAgICAgIChKU0M6OkpJVFByb2ZpbGVBZ2VudDo6aW5pdEFnZW50KToKKyAgICAg
ICAgKEpTQzo6SklUUHJvZmlsZUFnZW50OjpkZWluaXRBZ2VudCk6CisgICAgICAgIChKU0M6OkpJ
VFByb2ZpbGVBZ2VudDo6cmVnaXN0ZXJKSVRDb2RlSW1wbCk6CisgICAgICAgIChKU0M6OkpJVFBy
b2ZpbGVBZ2VudDo6YW5ub3RhdGVKSVRDb2RlSW1wbCk6CisgICAgICAgICogaml0L0pJVFByb2Zp
bGVBZ2VudC5oOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6TGluZUluZm9SZWNvcmQ6OkxpbmVJbmZv
UmVjb3JkKToKKyAgICAgICAgKEpTQzo6SklUUHJvZmlsZUFnZW50OjpWaXJ0dWFsTWVtb3J5U2Vn
bWVudDo6VmlydHVhbE1lbW9yeVNlZ21lbnQpOgorICAgICAgICAoSlNDOjpKSVRQcm9maWxlQWdl
bnQ6OkpJVFByb2ZpbGVBZ2VudCk6CisgICAgICAgIChKU0M6OkpJVFByb2ZpbGVBZ2VudDo6fkpJ
VFByb2ZpbGVBZ2VudCk6CisgICAgICAgIChKU0M6OkpJVFByb2ZpbGVBZ2VudDo6cmVnaXN0ZXJK
SVRDb2RlKToKKyAgICAgICAgKEpTQzo6SklUUHJvZmlsZUFnZW50Ojphbm5vdGF0ZUpJVENvZGUp
OgorICAgICAgICAoSlNDOjpKSVRQcm9maWxlQWdlbnQ6OnJlY29yZEpJVFRyYW1wb2xpbmVzKToK
KyAgICAgICAgKEpTQzo6SklUUHJvZmlsZUFnZW50OjpzZXRFbmFibGVkKToKKyAgICAgICAgKEpT
Qzo6SklUUHJvZmlsZUFnZW50Ojppc0VuYWJsZWQpOgorICAgICAgICAqIGppdC9KSVRQcm9wZXJ0
eUFjY2Vzcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJh
bnNpdGlvbik6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFycmF5
TGVuZ3RoKToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6
CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QpOgorICAg
ICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdCk6CisgICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KToKKyAgICAgICAgKEpT
Qzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6CisgICAgICAgICogaml0L0pJVFBy
b3BlcnR5QWNjZXNzMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxl
UHV0QnlJZFRyYW5zaXRpb24pOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlUGF0
Y2hHZXRBcnJheUxlbmd0aCk6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRC
eUlkUHJvdG8pOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNlbGZM
aXN0KToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90b0xpc3Qp
OgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluTGlzdCk6Cisg
ICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4pOgorICAgICAgICAq
IGpzYy5jcHA6CisgICAgICAgIChPcHRpb25zOjpPcHRpb25zKToKKyAgICAgICAgKHByaW50VXNh
Z2VTdGF0ZW1lbnQpOgorICAgICAgICAocGFyc2VBcmd1bWVudHMpOgorICAgICAgICAoanNjbWFp
bik6CisgICAgICAgICogcnVudGltZS9FeGVjdXRhYmxlLmNwcDoKKyAgICAgICAgKEpTQzo6RXZh
bEV4ZWN1dGFibGU6OmdlbmVyYXRlSklUQ29kZSk6CisgICAgICAgIChKU0M6OlByb2dyYW1FeGVj
dXRhYmxlOjpnZW5lcmF0ZUpJVENvZGUpOgorICAgICAgICAoSlNDOjpGdW5jdGlvbkV4ZWN1dGFi
bGU6OmdlbmVyYXRlSklUQ29kZSk6CisgICAgICAgIChKU0M6OkZ1bmN0aW9uRXhlY3V0YWJsZTo6
cmVwYXJzZUV4Y2VwdGlvbkluZm8pOgorICAgICAgICAoSlNDOjpFdmFsRXhlY3V0YWJsZTo6cmVw
YXJzZUV4Y2VwdGlvbkluZm8pOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcDoK
KyAgICAgICAgKEpTQzo6SlNHbG9iYWxEYXRhOjpKU0dsb2JhbERhdGEpOgorICAgICAgICAqIHJ1
bnRpbWUvSlNHbG9iYWxEYXRhLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisgICAgICAg
ICogeWFyci9SZWdleEpJVC5jcHA6CisgICAgICAgIChKU0M6OllhcnI6OlJlZ2V4R2VuZXJhdG9y
Ojpjb21waWxlKToKKwogMjAxMC0wNC0yMCAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3Vn
aEBhcHBsZS5jb20+CiAKICAgICAgICAgUnViYmVyIHN0YW1wZWQgYnkgTWFjaWVqIFN0YWNob3dp
YWsgKHJlbGFuZGluZyByNTc4MjkpLgpJbmRleDogSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bj
b2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgJKHJl
dmlzaW9uIDU3ODc5KQorKysgSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTE4Miw2ICsxODIsNyBAQAogICAgICAgICBtYWNybyhvcF9kZWJ1ZywgNCkg
XAogICAgICAgICBtYWNybyhvcF9wcm9maWxlX3dpbGxfY2FsbCwgMikgXAogICAgICAgICBtYWNy
byhvcF9wcm9maWxlX2RpZF9jYWxsLCAyKSBcCisgICAgICAgIG1hY3JvKG9wX3Byb2ZpbGVfaml0
LCAzKSBcCiAgICAgICAgIFwKICAgICAgICAgbWFjcm8ob3BfZW5kLCAyKSAvLyBlbmQgbXVzdCBi
ZSB0aGUgbGFzdCBvcGNvZGUgaW4gdGhlIGxpc3QKIApJbmRleDogSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZp
c2lvbiA1Nzg3OSkKKysrIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTQ3Niw2ICs0NzYsOCBAQAogCQlFMUE4
NjJENjBEN0YyQjVDMDAxRUM2QUEgLyogQ29sbGF0b3JEZWZhdWx0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQTg2MkQ1MEQ3RjJCNUMwMDFFQzZB
QSAvKiBDb2xsYXRvckRlZmF1bHQuY3BwICovOyB9OwogCQlFMUVFNzkzRDBENkM5QjkyMDBGRUEz
QkEgLyogVGhyZWFkaW5nUHRocmVhZHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTFFRTc5M0MwRDZDOUI5MjAwRkVBM0JBIC8qIFRocmVhZGluZ1B0
aHJlYWRzLmNwcCAqLzsgfTsKIAkJRTFFRjc5QUEwQ0U5N0JBNjAwODhENTAwIC8qIFVURjguY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFFRjc5QTgw
Q0U5N0JBNjAwODhENTAwIC8qIFVURjguY3BwICovOyB9OworCQlFNDExQjhENDExN0Q5RjQ2MDAx
NUY1NzcgLyogSklUUHJvZmlsZUFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFNDExQjhEMzExN0Q5RjQ2MDAxNUY1NzcgLyogSklUUHJvZmlsZUFn
ZW50LmggKi87IH07CisJCUU0MTFCOEQ2MTE3RDlGNEYwMDE1RjU3NyAvKiBKSVRQcm9maWxlQWdl
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQx
MUI4RDUxMTdEOUY0RjAwMTVGNTc3IC8qIEpJVFByb2ZpbGVBZ2VudC5jcHAgKi87IH07CiAJCUU0
OEUwRjJEMEY4MjE1MTcwMEE4Q0EzNyAvKiBGYXN0QWxsb2NCYXNlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDhFMEYyQzBGODIxNTE3MDBBOENBMzcg
LyogRmFzdEFsbG9jQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUZFMUI0NDdBMEVDQ0Q3M0IwMDRGNEREMSAvKiBTdGRMaWJFeHRyYXMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFMUI0NDc5MEVD
Q0Q3M0IwMDRGNEREMSAvKiBTdGRMaWJFeHRyYXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCkBA
IC05ODcsNiArOTg5LDggQEAKIAkJRTFFRTc5OEIwRDZDQTUzRDAwRkVBM0JBIC8qIE1lc3NhZ2VR
dWV1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZXNzYWdlUXVldWUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFFRjc5QTgwQ0U5N0JBNjAwODhENTAwIC8q
IFVURjguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVVRGOC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxRUY3OUE5MENFOTdCQTYwMDg4RDUwMCAv
KiBVVEY4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVURjguaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTQxMUI4RDMxMTdEOUY0NjAwMTVGNTc3IC8qIEpJVFBy
b2ZpbGVBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVRQcm9maWxl
QWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTQxMUI4RDUxMTdEOUY0RjAw
MTVGNTc3IC8qIEpJVFByb2ZpbGVBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKSVRQcm9maWxlQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlFNDhFMEYyQzBGODIxNTE3MDBBOENBMzcgLyogRmFzdEFsbG9jQmFzZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGYXN0QWxsb2NCYXNlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUY1QkIyQkM1MDMwRjc3MjEwMUZDRkUxRCAvKiBDb21wbGV0aW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdp
ZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbXBs
ZXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OwogCQlGNUMy
OTBFNjAyODRGOThFMDE4NjM1Q0EgLyogSmF2YVNjcmlwdENvcmVQcmVmaXguaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSmF2YVNjcmlwdENvcmVQ
cmVmaXguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OwpAQCAtMTE2
Niw2ICsxMTcwLDggQEAKIAkJMTQyOUQ5MkMwRUQyMkQ3MDAwQjg5NjE5IC8qIGppdCAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJRTQxMUI4RDUxMTdEOUY0
RjAwMTVGNTc3IC8qIEpJVFByb2ZpbGVBZ2VudC5jcHAgKi8sCisJCQkJRTQxMUI4RDMxMTdEOUY0
NjAwMTVGNTc3IC8qIEpJVFByb2ZpbGVBZ2VudC5oICovLAogCQkJCUE3QjQ4REI2MEVFNzRDRkMw
MERDQkRCNiAvKiBFeGVjdXRhYmxlQWxsb2NhdG9yLmNwcCAqLywKIAkJCQlBN0I0OERCNTBFRTc0
Q0ZDMDBEQ0JEQjYgLyogRXhlY3V0YWJsZUFsbG9jYXRvci5oICovLAogCQkJCTg2REI2NDYzMEY5
NUM2RkMwMEQ3RDkyMSAvKiBFeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3BwICovLApA
QCAtMjA0Miw2ICsyMDQ4LDcgQEAKIAkJCQlBNzQ4MkI5MzExNjcxMTQ3MDAzQjA3MTIgLyogSlNX
ZWFrT2JqZWN0TWFwUmVmUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTc0ODJFOTMxMTZB
N0NBRDAwM0IwNzEyIC8qIEpTV2Vha09iamVjdE1hcFJlZkludGVybmFsLmggaW4gSGVhZGVycyAq
LywKIAkJCQk4NkQwOEQ1NDExNzkzNjEzMDA2RTVFRDAgLyogV1RGVGhyZWFkRGF0YS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJRTQxMUI4RDQxMTdEOUY0NjAwMTVGNTc3IC8qIEpJVFByb2ZpbGVBZ2Vu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNDg2LDYgKzI0OTMsNyBAQAogCQkJCTg2NTY1NzQyMTE1
QkUzREEwMDI5MUY0MCAvKiBDU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3NDgyQjk0
MTE2NzExNDcwMDNCMDcxMiAvKiBKU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTg2RDA4RDUzMTE3OTM2MTMwMDZFNUVEMCAvKiBXVEZUaHJlYWREYXRhLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUU0MTFCOEQ2MTE3RDlGNEYwMDE1RjU3NyAvKiBKSVRQcm9m
aWxlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBKYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
cHJvCShyZXZpc2lvbiA1Nzg3OSkKKysrIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnBy
bwkod29ya2luZyBjb3B5KQpAQCAtOTMsNiArOTMsNyBAQAogICAgIGppdC9KSVRDYWxsLmNwcCBc
CiAgICAgaml0L0pJVC5jcHAgXAogICAgIGppdC9KSVRPcGNvZGVzLmNwcCBcCisgICAgaml0L0pJ
VFByb2ZpbGVBZ2VudC5jcHAgXAogICAgIGppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAgXAogICAg
IGppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcCBcCiAgICAgaml0L0pJVFN0dWJzLmNwcCBc
CkluZGV4OiBHTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBHTlVtYWtlZmlsZS5hbQkocmV2
aXNpb24gNTc4NzkpCisrKyBHTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAtMTgxLDcg
KzE4MSw4IEBACiBsaWJKYXZhU2NyaXB0Q29yZV9sYV9MSUJBREQgPSBcCiAJJChVTklDT0RFX0xJ
QlMpIFwKIAkkKEdMSUJfTElCUykgXAotCS1scHRocmVhZAorCS1scHRocmVhZCBcCisJJChPUEFH
RU5UX0xJQlMpCiAKIGxpYkphdmFTY3JpcHRDb3JlX2xhX0NYWEZMQUdTID0gXAogCSQoZ2xvYmFs
X2N4eGZsYWdzKSBcCkluZGV4OiBDaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gQ2hhbmdlTG9nCShy
ZXZpc2lvbiA1Nzg3OSkKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5
IEBACisyMDEwLTA0LTIwICBHYWJvciBMb2tpICA8bG9raUB3ZWJraXQub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN1cHBvcnRzIE9Qcm9maWxl
IEpJVCBhZ2VudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzI1NjEKKworICAgICAgICBUaGlzIHBhdGNoIGZlZWRzIE9Qcm9maWxlIGRhZW1vbiB3aXRo
IGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoZQorICAgICAgICBnZW5lcmVhdGVkIEpJVCBj
b2RlLiBJdCBwYXNzZXMgc291cmNlL3VybCBwYXRoLCBmdW5jdGlvbiBuYW1lcyBhbmQKKyAgICAg
ICAgbGluZSBpbmZvcm1hdGlvbiBmb3IgdGhlIHJlcG9ydCBhbmQgYW5ub3RhdGUgdG9vbHMuCisK
KyAgICAgICAgRGV2ZWxvcGVkIGluIGNvb3BlcmF0aW9uIHdpdGggWm9sdGFuIEhlcmN6ZWcuCisK
KyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBjb25maWd1cmUuYWM6CisKIDIw
MTAtMDQtMTkgIERpZWdvIEVzY2FsYW50ZSBVcnJlbG8gIDxkZXNjYWxhbnRlQGlnYWxpYS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWGFuIExvcGV6LgpJbmRleDogY29uZmlndXJlLmFjCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIGNvbmZpZ3VyZS5hYwkocmV2aXNpb24gNTc4NzkpCisrKyBjb25maWd1cmUu
YWMJKHdvcmtpbmcgY29weSkKQEAgLTYzMiw2ICs2MzIsMzAgQEAKIGZpCiBBQ19NU0dfUkVTVUxU
KFskZW5hYmxlX2ppdF0pCiAKKyMgQnVpbGQgSklUIHdpdGggT1Byb2ZpbGUgYWdlbnQgc3VwcG9y
dAorT1BBR0VOVF9MSUJTPQorQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGVuYWJsZSBPUHJv
ZmlsZSBKSVQgYWdlbnQgc3VwcG9ydC5dKQorQUNfQVJHX0VOQUJMRShbb3BhZ2VudF0sCisgICAg
ICAgICAgICAgIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1vcGFnZW50XSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgW0VuYWJsZSBPUHJvZmlsZSBKSVQgYWdlbnQgc3VwcG9ydCBkZWZh
dWx0PW5vXSksCisgICAgICAgICAgICAgIFtlbmFibGVfb3BhZ2VudD0ieWVzIl0sW10pCitpZiB0
ZXN0ICIkZW5hYmxlX29wYWdlbnQiID0gInllcyI7IHRoZW4KKyAgQUNfQ0hFQ0tfTElCKG9wYWdl
bnQsIG9wX21ham9yX3ZlcnNpb24sCisgICAgW0FDX0NIRUNLX0hFQURFUihvcGFnZW50LmgsCisg
ICAgICBvcGFnZW50X29rPXllcywKKyAgICAgIG9wYWdlbnRfb2s9bm8pXSwKKyAgICBBQ19NU0df
RVJST1IoW09Qcm9maWxlIG9wYWdlbnQgbGlicmFyeSBub3QgZm91bmRdKSwgLWxiZmQpCisKKyAg
QUNfTVNHX1JFU1VMVChbJG9wYWdlbnRfb2tdKQorCisgIGlmIHRlc3QgIiRvcGFnZW50X29rIiA9
ICJ5ZXMiOyB0aGVuCisgICAgQUNfREVGSU5FKFtFTkFCTEVfSklUX09QUk9GSUxFX0FHRU5UXSwg
WzFdLCBbRGVmaW5lIHRvIGVuYWJsZSBPUHJvZmlsZSBKSVQgYWdlbnQgc3VwcG9ydF0pCisgIGZp
CisgIE9QQUdFTlRfTElCUz0iLWxvcGFnZW50IC1sYmZkIgorZmkKKworQUNfU1VCU1QoW09QQUdF
TlRfTElCU10pCisKICMgR09iamVjdCBJbnRyb3NwZWN0aW9uCiBBQ19NU0dfQ0hFQ0tJTkcoW3do
ZXRoZXIgdG8gZW5hYmxlIEdPYmplY3QgaW50cm9zcGVjdGlvbiBzdXBwb3J0XSkKIEFDX0FSR19F
TkFCTEUoW2ludHJvc3BlY3Rpb25dLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53793</attachid>
            <date>2010-04-20 03:14:42 -0700</date>
            <delta_ts>2010-12-07 01:35:05 -0800</delta_ts>
            <desc>Supports OProfile JIT agent</desc>
            <filename>jitoprofile2.patch</filename>
            <type>text/plain</type>
            <size>44638</size>
            <attacher name="Gabor Loki">loki</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFT
Y3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA1Nzg3OSkKKysrIEphdmFTY3JpcHRD
b3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC04Miw2ICs4Miw4IEBACiAJSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIFwKIAlKYXZhU2NyaXB0Q29yZS9qaXQvSklU
Q2FsbC5jcHAgXAogCUphdmFTY3JpcHRDb3JlL2ppdC9KSVRDb2RlLmggXAorCUphdmFTY3JpcHRD
b3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuaCBcCisJSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb2Zp
bGVBZ2VudC5jcHAgXAogCUphdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAg
XAogCUphdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcCBcCiAJSmF2
YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwIFwKSW5kZXg6IEphdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FeGVjdXRhYmxlLmNwcAkocmV2aXNpb24gNTc4NzkpCisrKyBKYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0V4ZWN1dGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAj
aW5jbHVkZSAiQnl0ZWNvZGVHZW5lcmF0b3IuaCIKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNp
bmNsdWRlICJKSVQuaCIKKyNpbmNsdWRlICJKSVRQcm9maWxlQWdlbnQuaCIKICNpbmNsdWRlICJQ
YXJzZXIuaCIKICNpbmNsdWRlICJTdHJpbmdCdWlsZGVyLmgiCiAjaW5jbHVkZSAiVmVjdG9yLmgi
CkBAIC0xNDAsNyArMTQxLDcgQEAKIHZvaWQgRXZhbEV4ZWN1dGFibGU6OmdlbmVyYXRlSklUQ29k
ZShFeGVjU3RhdGUqIGV4ZWMsIFNjb3BlQ2hhaW5Ob2RlKiBzY29wZUNoYWluTm9kZSkKIHsKICAg
ICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9ICZieXRlY29kZShleGVjLCBzY29wZUNoYWluTm9kZSk7
Ci0gICAgbV9qaXRDb2RlID0gSklUOjpjb21waWxlKHNjb3BlQ2hhaW5Ob2RlLT5nbG9iYWxEYXRh
LCBjb2RlQmxvY2spOworICAgIG1faml0Q29kZSA9IEpJVDo6Y29tcGlsZShzY29wZUNoYWluTm9k
ZS0+Z2xvYmFsRGF0YSwgY29kZUJsb2NrLCAiPGpzLWV2YWw+Iik7CiAKICNpZiAhRU5BQkxFKE9Q
Q09ERV9TQU1QTElORykKICAgICBpZiAoIUJ5dGVjb2RlR2VuZXJhdG9yOjpkdW1wc0dlbmVyYXRl
ZENvZGUoKSkKQEAgLTE1MSw4ICsxNTIsMTQgQEAKIHZvaWQgUHJvZ3JhbUV4ZWN1dGFibGU6Omdl
bmVyYXRlSklUQ29kZShFeGVjU3RhdGUqIGV4ZWMsIFNjb3BlQ2hhaW5Ob2RlKiBzY29wZUNoYWlu
Tm9kZSkKIHsKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9ICZieXRlY29kZShleGVjLCBzY29w
ZUNoYWluTm9kZSk7Ci0gICAgbV9qaXRDb2RlID0gSklUOjpjb21waWxlKHNjb3BlQ2hhaW5Ob2Rl
LT5nbG9iYWxEYXRhLCBjb2RlQmxvY2spOwogCisgICAgVVN0cmluZyBqaXRTeW1ib2xOYW1lKCI8
aml0LXByb2c+Iik7CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIGlmIChzY29w
ZUNoYWluTm9kZS0+Z2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LmlzRW5hYmxlZCgpICYmIG1f
c291cmNlLnByb3ZpZGVyKCkgJiYgIW1fc291cmNlLnByb3ZpZGVyKCktPnVybCgpLmlzRW1wdHko
KSkKKyAgICAgICAgaml0U3ltYm9sTmFtZSA9IG1ha2VTdHJpbmcoaml0U3ltYm9sTmFtZSwgIlsi
LCBtX3NvdXJjZS5wcm92aWRlcigpLT51cmwoKSwgIjoiLCBVU3RyaW5nOjpmcm9tKG1fZmlyc3RM
aW5lKSwgIi0iLCBVU3RyaW5nOjpmcm9tKG1fbGFzdExpbmUpLCAiXSIpOworI2VuZGlmCisgICAg
bV9qaXRDb2RlID0gSklUOjpjb21waWxlKHNjb3BlQ2hhaW5Ob2RlLT5nbG9iYWxEYXRhLCBjb2Rl
QmxvY2ssIGppdFN5bWJvbE5hbWUuVVRGOFN0cmluZygpLmRhdGEoKSk7CisKICNpZiAhRU5BQkxF
KE9QQ09ERV9TQU1QTElORykKICAgICBpZiAoIUJ5dGVjb2RlR2VuZXJhdG9yOjpkdW1wc0dlbmVy
YXRlZENvZGUoKSkKICAgICAgICAgY29kZUJsb2NrLT5kaXNjYXJkQnl0ZWNvZGUoKTsKQEAgLTE2
Miw4ICsxNjksMTggQEAKIHZvaWQgRnVuY3Rpb25FeGVjdXRhYmxlOjpnZW5lcmF0ZUpJVENvZGUo
RXhlY1N0YXRlKiBleGVjLCBTY29wZUNoYWluTm9kZSogc2NvcGVDaGFpbk5vZGUpCiB7CiAgICAg
Q29kZUJsb2NrKiBjb2RlQmxvY2sgPSAmYnl0ZWNvZGUoZXhlYywgc2NvcGVDaGFpbk5vZGUpOwot
ICAgIG1faml0Q29kZSA9IEpJVDo6Y29tcGlsZShzY29wZUNoYWluTm9kZS0+Z2xvYmFsRGF0YSwg
Y29kZUJsb2NrKTsKIAorICAgIFVTdHJpbmcgaml0U3ltYm9sTmFtZSgiPGppdC1mdW5jPiIpOwor
I2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBpZiAoc2NvcGVDaGFpbk5vZGUtPmds
b2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5pc0VuYWJsZWQoKSkgeworICAgICAgICBpZiAoIW1f
bmFtZS5pc0VtcHR5KCkgJiYgIW1fbmFtZS5pc051bGwoKSkKKyAgICAgICAgICAgIGppdFN5bWJv
bE5hbWUgPSBtYWtlU3RyaW5nKCI8aml0LWZ1bmM+OiIsIG1fbmFtZS51c3RyaW5nKCkpOworICAg
ICAgICBpZiAobV9zb3VyY2UucHJvdmlkZXIoKSAmJiAhbV9zb3VyY2UucHJvdmlkZXIoKS0+dXJs
KCkuaXNFbXB0eSgpKQorICAgICAgICAgICAgaml0U3ltYm9sTmFtZSA9IG1ha2VTdHJpbmcoaml0
U3ltYm9sTmFtZSwgIlsiLCBtX3NvdXJjZS5wcm92aWRlcigpLT51cmwoKSwgIjoiLCBVU3RyaW5n
Ojpmcm9tKG1fZmlyc3RMaW5lKSwgIi0iLCBVU3RyaW5nOjpmcm9tKG1fbGFzdExpbmUpLCAiXSIp
OworICAgIH0KKyNlbmRpZgorICAgIG1faml0Q29kZSA9IEpJVDo6Y29tcGlsZShzY29wZUNoYWlu
Tm9kZS0+Z2xvYmFsRGF0YSwgY29kZUJsb2NrLCBqaXRTeW1ib2xOYW1lLlVURjhTdHJpbmcoKS5k
YXRhKCkpOworCiAjaWYgIUVOQUJMRShPUENPREVfU0FNUExJTkcpCiAgICAgaWYgKCFCeXRlY29k
ZUdlbmVyYXRvcjo6ZHVtcHNHZW5lcmF0ZWRDb2RlKCkpCiAgICAgICAgIGNvZGVCbG9jay0+ZGlz
Y2FyZEJ5dGVjb2RlKCk7CkBAIC0xOTgsNyArMjE1LDE2IEBACiAgICAgQVNTRVJUKG5ld0NvZGVC
bG9jay0+aW5zdHJ1Y3Rpb25Db3VudCgpID09IGNvZGVCbG9jay0+aW5zdHJ1Y3Rpb25Db3VudCgp
KTsKIAogI2lmIEVOQUJMRShKSVQpCi0gICAgSklUQ29kZSBuZXdKSVRDb2RlID0gSklUOjpjb21w
aWxlKGdsb2JhbERhdGEsIG5ld0NvZGVCbG9jay5nZXQoKSk7CisgICAgVVN0cmluZyBqaXRTeW1i
b2xOYW1lKCI8aml0LWZ1bmMtcmVwYXJzZWQ+Iik7CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FH
RU5UKQorICAgIGlmIChzY29wZUNoYWluTm9kZS0+Z2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50
LmlzRW5hYmxlZCgpKSB7CisgICAgICAgIGlmICghbV9uYW1lLmlzRW1wdHkoKSAmJiAhbV9uYW1l
LmlzTnVsbCgpKQorICAgICAgICAgICAgaml0U3ltYm9sTmFtZSA9IG1ha2VTdHJpbmcoIjxqaXQt
ZnVuYy1yZXBhcnNlZD46IiwgbV9uYW1lLnVzdHJpbmcoKS5VVEY4U3RyaW5nKCkuZGF0YSgpKTsK
KyAgICAgICAgaWYgKG1fc291cmNlLnByb3ZpZGVyKCkgJiYgIW1fc291cmNlLnByb3ZpZGVyKCkt
PnVybCgpLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIGppdFN5bWJvbE5hbWUgPSBtYWtlU3RyaW5n
KGppdFN5bWJvbE5hbWUsICJbIiwgbV9zb3VyY2UucHJvdmlkZXIoKS0+dXJsKCksICI6IiwgVVN0
cmluZzo6ZnJvbShtX2ZpcnN0TGluZSksICItIiwgVVN0cmluZzo6ZnJvbShtX2xhc3RMaW5lKSwg
Il0iKTsKKyAgICB9CisjZW5kaWYKKyAgICBKSVRDb2RlIG5ld0pJVENvZGUgPSBKSVQ6OmNvbXBp
bGUoZ2xvYmFsRGF0YSwgbmV3Q29kZUJsb2NrLmdldCgpLCBqaXRTeW1ib2xOYW1lLlVURjhTdHJp
bmcoKS5kYXRhKCkpOwogICAgIEFTU0VSVChuZXdKSVRDb2RlLnNpemUoKSA9PSBnZW5lcmF0ZWRK
SVRDb2RlKCkuc2l6ZSgpKTsKICNlbmRpZgogCkBAIC0yMjMsNyArMjQ5LDcgQEAKICAgICBBU1NF
UlQobmV3Q29kZUJsb2NrLT5pbnN0cnVjdGlvbkNvdW50KCkgPT0gY29kZUJsb2NrLT5pbnN0cnVj
dGlvbkNvdW50KCkpOwogCiAjaWYgRU5BQkxFKEpJVCkKLSAgICBKSVRDb2RlIG5ld0pJVENvZGUg
PSBKSVQ6OmNvbXBpbGUoZ2xvYmFsRGF0YSwgbmV3Q29kZUJsb2NrLmdldCgpKTsKKyAgICBKSVRD
b2RlIG5ld0pJVENvZGUgPSBKSVQ6OmNvbXBpbGUoZ2xvYmFsRGF0YSwgbmV3Q29kZUJsb2NrLmdl
dCgpLCAiPGppdC1ldmFsLXJlcGFyc2VkPiIpOwogICAgIEFTU0VSVChuZXdKSVRDb2RlLnNpemUo
KSA9PSBnZW5lcmF0ZWRKSVRDb2RlKCkuc2l6ZSgpKTsKICNlbmRpZgogCkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmgJKHJldmlzaW9uIDU3ODc5KQorKysgSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIs
NyBAQAogI2luY2x1ZGUgIkNvbGxlY3Rvci5oIgogI2luY2x1ZGUgIkRhdGVJbnN0YW5jZUNhY2hl
LmgiCiAjaW5jbHVkZSAiRXhlY3V0YWJsZUFsbG9jYXRvci5oIgorI2luY2x1ZGUgIkpJVFByb2Zp
bGVBZ2VudC5oIgogI2luY2x1ZGUgIkpJVFN0dWJzLmgiCiAjaW5jbHVkZSAiSlNWYWx1ZS5oIgog
I2luY2x1ZGUgIk1hcmtTdGFjay5oIgpAQCAtMTUxLDYgKzE1Miw5IEBACiAgICAgICAgIExleGVy
KiBsZXhlcjsKICAgICAgICAgUGFyc2VyKiBwYXJzZXI7CiAgICAgICAgIEludGVycHJldGVyKiBp
bnRlcnByZXRlcjsKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgICAgIEpJVFBy
b2ZpbGVBZ2VudCBqaXRQcm9maWxlQWdlbnQ7IC8vIFNob3VsZCBiZSBpbml0aWFsaXplZCBiZWZv
cmUgaml0U3R1YnMKKyNlbmRpZgogI2lmIEVOQUJMRShKSVQpCiAgICAgICAgIEpJVFRodW5rcyBq
aXRTdHViczsKICNlbmRpZgpJbmRleDogSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERh
dGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRh
LmNwcAkocmV2aXNpb24gNTc4NzkpCisrKyBKYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
RGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNCw2ICsxMzQsOSBAQAogICAgICwgbGV4ZXIo
bmV3IExleGVyKHRoaXMpKQogICAgICwgcGFyc2VyKG5ldyBQYXJzZXIpCiAgICAgLCBpbnRlcnBy
ZXRlcihuZXcgSW50ZXJwcmV0ZXIpCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAg
ICwgaml0UHJvZmlsZUFnZW50KGZhbHNlKQorI2VuZGlmCiAjaWYgRU5BQkxFKEpJVCkKICAgICAs
IGppdFN0dWJzKHRoaXMpCiAjZW5kaWYKSW5kZXg6IEphdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9CeXRlY29kZUdlbmVyYXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAkocmV2aXNpb24gNTc4NzkpCisrKyBKYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNjM3LDYgKzE2MzcsMTMgQEAKIAogdm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6ZW1p
dERlYnVnSG9vayhEZWJ1Z0hvb2tJRCBkZWJ1Z0hvb2tJRCwgaW50IGZpcnN0TGluZSwgaW50IGxh
c3RMaW5lKQogeworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBpZiAobV9nbG9i
YWxEYXRhLT5qaXRQcm9maWxlQWdlbnQuaXNFbmFibGVkKCkpIHsKKyAgICAgICAgZW1pdE9wY29k
ZShvcF9wcm9maWxlX2ppdCk7CisgICAgICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChmaXJzdExp
bmUpOworICAgICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQobGFzdExpbmUpOworICAgIH0KKyNl
bmRpZgogICAgIGlmICghbV9zaG91bGRFbWl0RGVidWdIb29rcykKICAgICAgICAgcmV0dXJuOwog
ICAgIGVtaXRPcGNvZGUob3BfZGVidWcpOwpJbmRleDogSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRm
b3JtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJKHJldmlz
aW9uIDU3ODc5KQorKysgSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEwMzEsNiArMTAzMSwxNSBAQAogI2lmIEVOQUJMRShKSVQpIHx8IEVOQUJMRShZQVJS
X0pJVCkKICNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCiAjZW5kaWYKKworI2lmIEVOQUJMRShK
SVRfT1BST0ZJTEVfQUdFTlQpICYmICFkZWZpbmVkIEVOQUJMRV9KSVRfUFJPRklMRV9BR0VOVAor
I2RlZmluZSBFTkFCTEVfSklUX1BST0ZJTEVfQUdFTlQgMQorI2VuZGlmCisKKyNpZiAhRU5BQkxF
KEpJVCkgJiYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorI2Vycm9yICJKSVRfUFJPRklMRV9B
R0VOVCByZXF1aXJlcyBKSVQiCisjZW5kaWYKKwogLyogU2V0dGluZyB0aGlzIGZsYWcgcHJldmVu
dHMgdGhlIGFzc2VtYmxlciBmcm9tIHVzaW5nIFJXWCBtZW1vcnk7IHRoaXMgbWF5IGltcHJvdmUK
ICAgIHNlY3VyaXR5IGJ1dCBjdXJyZWN0bHkgY29tZXMgYXQgYSBzaWduaWZpY2FudCBwZXJmb3Jt
YW5jZSBjb3N0LiAqLwogI2lmIFBMQVRGT1JNKElQSE9ORSkKSW5kZXg6IEphdmFTY3JpcHRDb3Jl
L2pzYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvanNjLmNwcAkocmV2aXNpb24g
NTc4NzkpCisrKyBKYXZhU2NyaXB0Q29yZS9qc2MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEs
MTEgKzEwMSwxNyBAQAogICAgIE9wdGlvbnMoKQogICAgICAgICA6IGludGVyYWN0aXZlKGZhbHNl
KQogICAgICAgICAsIGR1bXAoZmFsc2UpCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQor
ICAgICAgICAsIHByb2ZpbGUoZmFsc2UpCisjZW5kaWYKICAgICB7CiAgICAgfQogCiAgICAgYm9v
bCBpbnRlcmFjdGl2ZTsKICAgICBib29sIGR1bXA7CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FH
RU5UKQorICAgIGJvb2wgcHJvZmlsZTsKKyNlbmRpZgogICAgIFZlY3RvcjxTY3JpcHQ+IHNjcmlw
dHM7CiAgICAgVmVjdG9yPFVTdHJpbmc+IGFyZ3VtZW50czsKIH07CkBAIC00NjAsNiArNDY2LDkg
QEAKICAgICBmcHJpbnRmKHN0ZGVyciwgIiAgLWYgICAgICAgICBTcGVjaWZpZXMgYSBzb3VyY2Ug
ZmlsZSAoZGVwcmVjYXRlZClcbiIpOwogICAgIGZwcmludGYoc3RkZXJyLCAiICAtaHwtLWhlbHAg
IFByaW50cyB0aGlzIGhlbHAgbWVzc2FnZVxuIik7CiAgICAgZnByaW50ZihzdGRlcnIsICIgIC1p
ICAgICAgICAgRW5hYmxlcyBpbnRlcmFjdGl2ZSBtb2RlIChkZWZhdWx0IGlmIG5vIGZpbGVzIGFy
ZSBzcGVjaWZpZWQpXG4iKTsKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgZnBy
aW50ZihzdGRlcnIsICIgIC1wICAgICAgICAgRW5hYmxlcyBKSVQgcHJvZmlsZSBhZ2VudFxuIik7
CisjZW5kaWYKICNpZiBIQVZFKFNJR05BTF9IKQogICAgIGZwcmludGYoc3RkZXJyLCAiICAtcyAg
ICAgICAgIEluc3RhbGxzIHNpZ25hbCBoYW5kbGVycyB0aGF0IGV4aXQgb24gYSBjcmFzaCAoVW5p
eCBwbGF0Zm9ybXMgb25seSlcbiIpOwogI2VuZGlmCkBAIC00OTMsNiArNTAyLDEyIEBACiAgICAg
ICAgICAgICBvcHRpb25zLmR1bXAgPSB0cnVlOwogICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgIH0KKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgICAgIGlmICghc3RyY21w
KGFyZywgIi1wIikpIHsKKyAgICAgICAgICAgIG9wdGlvbnMucHJvZmlsZSA9IHRydWU7CisgICAg
ICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGlmICghc3RyY21w
KGFyZywgIi1zIikpIHsKICNpZiBIQVZFKFNJR05BTF9IKQogICAgICAgICAgICAgc2lnbmFsKFNJ
R0lMTCwgX2V4aXQpOwpAQCAtNTI2LDYgKzU0MSw5IEBACiAgICAgcGFyc2VBcmd1bWVudHMoYXJn
YywgYXJndiwgb3B0aW9ucywgZ2xvYmFsRGF0YSk7CiAKICAgICBHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCA9IG5ldyAoZ2xvYmFsRGF0YSkgR2xvYmFsT2JqZWN0KG9wdGlvbnMuYXJndW1lbnRz
KTsKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgZ2xvYmFsRGF0YS0+aml0UHJv
ZmlsZUFnZW50LnNldEVuYWJsZWQob3B0aW9ucy5wcm9maWxlKTsKKyNlbmRpZgogICAgIGJvb2wg
c3VjY2VzcyA9IHJ1bldpdGhTY3JpcHRzKGdsb2JhbE9iamVjdCwgb3B0aW9ucy5zY3JpcHRzLCBv
cHRpb25zLmR1bXApOwogICAgIGlmIChvcHRpb25zLmludGVyYWN0aXZlICYmIHN1Y2Nlc3MpCiAg
ICAgICAgIHJ1bkludGVyYWN0aXZlKGdsb2JhbE9iamVjdCk7CkluZGV4OiBKYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCShyZXZpc2lvbiA1Nzg3OSkKKysrIEphdmFT
Y3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDIxMiw2ICs0MjEyLDEyIEBACiAgICAgICAgIHZQQyArPSBPUENPREVfTEVOR1RIKG9wX3Byb2Zp
bGVfZGlkX2NhbGwpOwogICAgICAgICBORVhUX0lOU1RSVUNUSU9OKCk7CiAgICAgfQorICAgIERF
RklORV9PUENPREUob3BfcHJvZmlsZV9qaXQpIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisKKyAgICAgICAgdlBDICs9IE9QQ09ERV9MRU5HVEgob3BfcHJvZmlsZV9qaXQpOworICAg
ICAgICBORVhUX0lOU1RSVUNUSU9OKCk7CisgICAgfQogICAgIHZtX3Rocm93OiB7CiAgICAgICAg
IGdsb2JhbERhdGEtPmV4Y2VwdGlvbiA9IEpTVmFsdWUoKTsKICAgICAgICAgaWYgKCF0aWNrQ291
bnQpIHsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhKSVQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEphdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhKSVQuY3BwCShyZXZpc2lvbiA1Nzg3OSkKKysr
IEphdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2
ICsyNyw3IEBACiAjaW5jbHVkZSAiUmVnZXhKSVQuaCIKIAogI2luY2x1ZGUgIkFTQ0lJQ1R5cGUu
aCIKKyNpbmNsdWRlICJKSVRQcm9maWxlQWdlbnQuaCIKICNpbmNsdWRlICJKU0dsb2JhbERhdGEu
aCIKICNpbmNsdWRlICJMaW5rQnVmZmVyLmgiCiAjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXIuaCIK
QEAgLTEzNzUsNyArMTM3NiwxMiBAQAogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
bV9iYWNrdHJhY2tSZWNvcmRzLnNpemUoKTsgKytpKQogICAgICAgICAgICAgcGF0Y2hCdWZmZXIu
cGF0Y2gobV9iYWNrdHJhY2tSZWNvcmRzW2ldLmRhdGFMYWJlbCwgcGF0Y2hCdWZmZXIubG9jYXRp
b25PZihtX2JhY2t0cmFja1JlY29yZHNbaV0uYmFja3RyYWNrTG9jYXRpb24pKTsKIAotICAgICAg
ICBqaXRPYmplY3Quc2V0KHBhdGNoQnVmZmVyLmZpbmFsaXplQ29kZSgpKTsKKyAgICAgICAgQ29k
ZVJlZiBmaW5hbENvZGUgPSBwYXRjaEJ1ZmZlci5maW5hbGl6ZUNvZGUoKTsKKyAgICAgICAgaml0
T2JqZWN0LnNldChmaW5hbENvZGUpOworCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQor
ICAgICAgICBnbG9iYWxEYXRhLT5qaXRQcm9maWxlQWdlbnQucmVnaXN0ZXJKSVRDb2RlKGZpbmFs
Q29kZS5tX2NvZGUuZXhlY3V0YWJsZUFkZHJlc3MoKSwgZmluYWxDb2RlLm1fc2l6ZSwgIjxqaXQt
eWFycj4iKTsKKyNlbmRpZgogICAgIH0KIAogcHJpdmF0ZToKSW5kZXg6IEphdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL0xpbmtCdWZmZXIuaAkocmV2aXNpb24gNTc4NzkpCisrKyBKYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTGlua0J1ZmZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTksNiArMTU5LDEzIEBA
CiAgICAgICAgIHJldHVybiBDb2RlTG9jYXRpb25MYWJlbChjb2RlKCkpOwogICAgIH0KIAorI2lm
IEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBjb25zdCBzaXplX3Qgc2l6ZSgpCisgICAg
eworICAgICAgICByZXR1cm4gbV9zaXplOworICAgIH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAg
IC8vIEtlZXAgdGhpcyBwcml2YXRlISAtIHRoZSB1bmRlcmx5aW5nIGNvZGUgc2hvdWxkIG9ubHkg
YmUgb2J0YWluZWQgZXh0ZXJuYWxseSB2aWEgCiAgICAgLy8gZmluYWxpemVDb2RlKCkgb3IgZmlu
YWxpemVDb2RlQWRkZW5kdW0oKS4KSW5kZXg6IEphdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHJl
dmlzaW9uIDU3ODc5KQorKysgSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAjaWYgRU5BQkxFKEpJVCkKIAogI2luY2x1ZGUg
IkpJVElubGluZU1ldGhvZHMuaCIKKyNpbmNsdWRlICJKSVRQcm9maWxlQWdlbnQuaCIKICNpbmNs
dWRlICJKSVRTdHViQ2FsbC5oIgogI2luY2x1ZGUgIkpTQXJyYXkuaCIKICNpbmNsdWRlICJKU0Nl
bGwuaCIKQEAgLTM5OSw2ICs0MDAsMTAgQEAKICAgICBDb2RlUmVmIGZpbmFsQ29kZSA9IHBhdGNo
QnVmZmVyLmZpbmFsaXplQ29kZSgpOwogICAgICpleGVjdXRhYmxlUG9vbCA9IGZpbmFsQ29kZS5t
X2V4ZWN1dGFibGVQb29sOwogCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIG1f
Z2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LnJlY29yZEpJVFRyYW1wb2xpbmVzKGZpbmFsQ29k
ZS5tX2NvZGUuZXhlY3V0YWJsZUFkZHJlc3MoKSwgZmluYWxDb2RlLm1fc2l6ZSk7CisjZW5kaWYK
KwogICAgIHRyYW1wb2xpbmVzLT5jdGlWaXJ0dWFsQ2FsbCA9IHRyYW1wb2xpbmVBdChmaW5hbENv
ZGUsIHZpcnR1YWxDYWxsQmVnaW4pOwogICAgIHRyYW1wb2xpbmVzLT5jdGlOYXRpdmVDYWxsVGh1
bmsgPSB0cmFtcG9saW5lQXQoZmluYWxDb2RlLCBuYXRpdmVDYWxsVGh1bmspOwogI2lmIEVOQUJM
RShKSVRfT1BUSU1JWkVfUFJPUEVSVFlfQUNDRVNTKQpAQCAtMTQ0NCw3ICsxNDQ5LDYgQEAKICAg
ICBzdHViQ2FsbC5jYWxsKCk7CiB9CiAKLQogdm9pZCBKSVQ6OmVtaXRfb3BfZW50ZXIoSW5zdHJ1
Y3Rpb24qKQogewogICAgIC8vIEV2ZW4gdGhvdWdoIEpJVCBjb2RlIGRvZXNuJ3QgdXNlIHRoZW0s
IHdlIGluaXRpYWxpemUgb3VyIGNvbnN0YW50CkBAIC0xOTQyLDYgKzE5NDYsMTAgQEAKICAgICBD
b2RlUmVmIGZpbmFsQ29kZSA9IHBhdGNoQnVmZmVyLmZpbmFsaXplQ29kZSgpOwogICAgICpleGVj
dXRhYmxlUG9vbCA9IGZpbmFsQ29kZS5tX2V4ZWN1dGFibGVQb29sOwogCisjaWYgRU5BQkxFKEpJ
VF9QUk9GSUxFX0FHRU5UKQorICAgIG1fZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LnJlY29y
ZEpJVFRyYW1wb2xpbmVzKGZpbmFsQ29kZS5tX2NvZGUuZXhlY3V0YWJsZUFkZHJlc3MoKSwgZmlu
YWxDb2RlLm1fc2l6ZSk7CisjZW5kaWYKKwogICAgIHRyYW1wb2xpbmVzLT5jdGlWaXJ0dWFsQ2Fs
bExpbmsgPSB0cmFtcG9saW5lQXQoZmluYWxDb2RlLCB2aXJ0dWFsQ2FsbExpbmtCZWdpbik7CiAg
ICAgdHJhbXBvbGluZXMtPmN0aVZpcnR1YWxDYWxsID0gdHJhbXBvbGluZUF0KGZpbmFsQ29kZSwg
dmlydHVhbENhbGxCZWdpbik7CiAgICAgdHJhbXBvbGluZXMtPmN0aU5hdGl2ZUNhbGxUaHVuayA9
IHRyYW1wb2xpbmVBdChmaW5hbENvZGUsIG5hdGl2ZUNhbGxUaHVuayk7CkBAIC0zMDk3LDYgKzMx
MDUsMTUgQEAKICNlbmRpZiAvLyBVU0UoSlNWQUxVRTMyXzY0KQogCiAvLyBGb3IgYm90aCBKU1Zh
bHVlMzJfNjQgYW5kIEpTVmFsdWUzMgordm9pZCBKSVQ6OmVtaXRfb3BfcHJvZmlsZV9qaXQoSW5z
dHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKK3sKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVf
QUdFTlQpCisgICAgbV9saW5lSW5mb3MuYXBwZW5kKExpbmVJbmZvUmVjb3JkKHNpemUoKSwgY3Vy
cmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCkpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0o
Y3VycmVudEluc3RydWN0aW9uKTsKKyNlbmRpZgorfQorCiAjaWYgRU5BQkxFKEpJVF9PUFRJTUla
RV9NT0QpCiAjaWYgQ1BVKEFSTV9UUkFESVRJT05BTCkKIHZvaWQgSklUOjpzb2Z0TW9kdWxvKCkK
SW5kZXg6IEphdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAkocmV2aXNpb24g
NTc4NzkpCisrKyBKYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5j
bHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSklUSW5saW5lTWV0aG9kcy5oIgorI2lu
Y2x1ZGUgIkpJVFByb2ZpbGVBZ2VudC5oIgogI2luY2x1ZGUgIkpJVFN0dWJDYWxsLmgiCiAjaW5j
bHVkZSAiSlNBcnJheS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKQEAgLTU5NSw2ICs1OTYs
MTAgQEAKICAgICBzdHViSW5mby0+c3R1YlJvdXRpbmUgPSBlbnRyeUxhYmVsOwogICAgIFJlcGF0
Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CiAgICAgcmVwYXRjaEJ1ZmZlci5y
ZWxpbmtDYWxsZXJUb1RyYW1wb2xpbmUocmV0dXJuQWRkcmVzcywgZW50cnlMYWJlbCk7CisKKyNp
ZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgbV9nbG9iYWxEYXRhLT5qaXRQcm9maWxl
QWdlbnQucmVnaXN0ZXJKSVRDb2RlKGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0
Y2hCdWZmZXIuc2l6ZSgpLCAiPGppdC1wdXRieWlkLXRyYW5zaXRpb24+Iik7CisjZW5kaWYKIH0K
IAogdm9pZCBKSVQ6OnBhdGNoR2V0QnlJZFNlbGYoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIFN0cnVj
dHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIHNpemVfdCBjYWNo
ZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykKQEAgLTY5NCw2ICs2OTks
MTAgQEAKIAogICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFuIG9uY2UgLSBp
biBmdXR1cmUgZ28gdG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIHJlcGF0Y2hCdWZm
ZXIucmVsaW5rQ2FsbGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0cihjdGlf
b3BfZ2V0X2J5X2lkX2FycmF5X2ZhaWwpKTsKKworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VO
VCkKKyAgICBtX2dsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3RlckpJVENvZGUoZW50
cnlMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8aml0LWdl
dGFycmF5bGVuZ3RoPiIpOworI2VuZGlmCiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdl
dEJ5SWRQcm90byhTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYgaWRl
bnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwgUmV0dXJu
QWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTc2Myw2
ICs3NzIsMTAgQEAKIAogICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFuIG9u
Y2UgLSBpbiBmdXR1cmUgZ28gdG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIHJlcGF0
Y2hCdWZmZXIucmVsaW5rQ2FsbGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0
cihjdGlfb3BfZ2V0X2J5X2lkX3Byb3RvX2xpc3QpKTsKKworI2lmIEVOQUJMRShKSVRfUFJPRklM
RV9BR0VOVCkKKyAgICBtX2dsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3RlckpJVENv
ZGUoZW50cnlMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8
aml0LWdldGJ5aWQtcHJvdG8+Iik7CisjZW5kaWYKIH0KIAogdm9pZCBKSVQ6OnByaXZhdGVDb21w
aWxlR2V0QnlJZFNlbGZMaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUG9seW1vcnBo
aWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBwb2x5bW9ycGhpY1N0cnVjdHVyZXMsIGludCBjdXJyZW50
SW5kZXgsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29u
c3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0KQpAQCAtODIxLDYgKzgz
NCwxMCBAQAogICAgIENvZGVMb2NhdGlvbkp1bXAganVtcExvY2F0aW9uID0gc3R1YkluZm8tPmhv
dFBhdGhCZWdpbi5qdW1wQXRPZmZzZXQocGF0Y2hPZmZzZXRHZXRCeUlkQnJhbmNoVG9TbG93Q2Fz
ZSk7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNoQnVmZmVyKG1fY29kZUJsb2NrKTsKICAgICBy
ZXBhdGNoQnVmZmVyLnJlbGluayhqdW1wTG9jYXRpb24sIGVudHJ5TGFiZWwpOworCisjaWYgRU5B
QkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIG1fZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50
LnJlZ2lzdGVySklUQ29kZShlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVm
ZmVyLnNpemUoKSwgIjxqaXQtZ2V0YnlpZC1zZWxmbGlzdD4iKTsKKyNlbmRpZgogfQogCiB2b2lk
IEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiBz
dHViSW5mbywgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBwcm90b3R5cGVTdHJ1Y3R1
cmVzLCBpbnQgY3VycmVudEluZGV4LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlKiBw
cm90b3R5cGVTdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0
eVNsb3QmIHNsb3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIENhbGxGcmFtZSogY2FsbEZyYW1lKQpA
QCAtODkxLDYgKzkwOCwxMCBAQAogICAgIENvZGVMb2NhdGlvbkp1bXAganVtcExvY2F0aW9uID0g
c3R1YkluZm8tPmhvdFBhdGhCZWdpbi5qdW1wQXRPZmZzZXQocGF0Y2hPZmZzZXRHZXRCeUlkQnJh
bmNoVG9TbG93Q2FzZSk7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNoQnVmZmVyKG1fY29kZUJs
b2NrKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhqdW1wTG9jYXRpb24sIGVudHJ5TGFiZWwp
OworCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIG1fZ2xvYmFsRGF0YS0+aml0
UHJvZmlsZUFnZW50LnJlZ2lzdGVySklUQ29kZShlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNz
KCksIHBhdGNoQnVmZmVyLnNpemUoKSwgIjxqaXQtZ2V0YnlpZC1wcm90b2xpc3Q+Iik7CisjZW5k
aWYKIH0KIAogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluTGlzdChTdHJ1Y3R1
cmVTdHViSW5mbyogc3R1YkluZm8sIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCogcHJv
dG90eXBlU3RydWN0dXJlcywgaW50IGN1cnJlbnRJbmRleCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IFN0cnVjdHVyZUNoYWluKiBjaGFpbiwgc2l6ZV90IGNvdW50LCBjb25zdCBJZGVudGlmaWVyJiBp
ZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBDYWxs
RnJhbWUqIGNhbGxGcmFtZSkKQEAgLTk2OSw2ICs5OTAsMTAgQEAKICAgICBDb2RlTG9jYXRpb25K
dW1wIGp1bXBMb2NhdGlvbiA9IHN0dWJJbmZvLT5ob3RQYXRoQmVnaW4uanVtcEF0T2Zmc2V0KHBh
dGNoT2Zmc2V0R2V0QnlJZEJyYW5jaFRvU2xvd0Nhc2UpOwogICAgIFJlcGF0Y2hCdWZmZXIgcmVw
YXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoanVtcExv
Y2F0aW9uLCBlbnRyeUxhYmVsKTsKKworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAg
ICBtX2dsb2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3RlckpJVENvZGUoZW50cnlMYWJl
bC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8aml0LWdldGJ5aWQt
Y2hhaW5saXN0PiIpOworI2VuZGlmCiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5
SWRDaGFpbihTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4sIHNpemVfdCBjb3VudCwgY29uc3QgSWRlbnRpZmllciYg
aWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwgUmV0
dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTEw
NDUsNiArMTA3MCwxMCBAQAogCiAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBwYXRjaCBtb3JlIHRo
YW4gb25jZSAtIGluIGZ1dHVyZSBnbyB0byBjdGlfb3BfcHV0X2J5X2lkX2dlbmVyaWMuCiAgICAg
cmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb0Z1bmN0aW9uKHJldHVybkFkZHJlc3MsIEZ1bmN0
aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfcHJvdG9fbGlzdCkpOworCisjaWYgRU5BQkxFKEpJVF9Q
Uk9GSUxFX0FHRU5UKQorICAgIG1fZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LnJlZ2lzdGVy
SklUQ29kZShlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUo
KSwgIjxqaXQtZ2V0YnlpZC1jaGFpbj4iKTsKKyNlbmRpZgogfQogCiAvKiAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0gRU5EOiAhRU5BQkxFIC8gRU5BQkxFKEpJVF9PUFRJTUlaRV9QUk9Q
RVJUWV9BQ0NFU1MpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwpJbmRleDogSmF2
YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvaml0
L0pJVC5jcHAJKHJldmlzaW9uIDU3ODc5KQorKysgSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI4NSw2ICsyODUsNyBAQAogICAgICAgICBERUZJTkVfT1Aob3Bf
cHJlX2RlYykKICAgICAgICAgREVGSU5FX09QKG9wX3ByZV9pbmMpCiAgICAgICAgIERFRklORV9P
UChvcF9wcm9maWxlX2RpZF9jYWxsKQorICAgICAgICBERUZJTkVfT1Aob3BfcHJvZmlsZV9qaXQp
CiAgICAgICAgIERFRklORV9PUChvcF9wcm9maWxlX3dpbGxfY2FsbCkKICAgICAgICAgREVGSU5F
X09QKG9wX3B1c2hfbmV3X3Njb3BlKQogICAgICAgICBERUZJTkVfT1Aob3BfcHVzaF9zY29wZSkK
SW5kZXg6IEphdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9maWxlQWdlbnQuY3BwCShyZXZpc2lvbiAwKQor
KysgSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb2ZpbGVBZ2VudC5jcHAJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTIxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEhvbGdlciBIYW5zIFBl
dGVyIEZyZXl0aGVyCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgVW5pdmVyc2l0eSBvZiBTemVnZWQK
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorCisjaW5jbHVkZSAiSklU
UHJvZmlsZUFnZW50LmgiCisKKyNpbmNsdWRlICJKU0dsb2JhbERhdGEuaCIKKyNpbmNsdWRlICJV
U3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KKworbmFtZXNwYWNlIEpTQyB7
CisKKyNpZiBFTkFCTEUoSklUX09QUk9GSUxFX0FHRU5UKQorCit2b2lkIEpJVFByb2ZpbGVBZ2Vu
dDo6aW5pdEFnZW50KCkKK3sKKyAgICBtX3ZpcnR1YWxNZW1vcnlTZWdtZW50cy5jbGVhcigpOwor
ICAgIG1fcHJvZmlsZUFnZW50ID0gb3Bfb3Blbl9hZ2VudCgpOworICAgIGlmIChtX3RyYW1wb2xp
bmVzLmNvZGUpCisgICAgICAgIHJlZ2lzdGVySklUQ29kZShtX3RyYW1wb2xpbmVzLmNvZGUsIG1f
dHJhbXBvbGluZXMuc2l6ZSwgIjxqaXQtdHJhbXBvbGluZXM+Iik7Cit9CisKK3ZvaWQgSklUUHJv
ZmlsZUFnZW50OjpkZWluaXRBZ2VudCgpCit7CisgICAgdW5zaWduZWQgaW50IGksIG4gPSBtX3Zp
cnR1YWxNZW1vcnlTZWdtZW50cy5zaXplKCk7CisgICAgZm9yIChpID0gMDsgaSAhPSBuOyArK2kp
CisgICAgICAgIG9wX3VubG9hZF9uYXRpdmVfY29kZShtX3Byb2ZpbGVBZ2VudCwgcmVpbnRlcnBy
ZXRfY2FzdDx1aW50NjRfdD4obV92aXJ0dWFsTWVtb3J5U2VnbWVudHNbaV0uY29kZSkpOworICAg
IG1fdmlydHVhbE1lbW9yeVNlZ21lbnRzLmNsZWFyKCk7CisgICAgb3BfY2xvc2VfYWdlbnQobV9w
cm9maWxlQWdlbnQpOworfQorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6cmVnaXN0ZXJKSVRDb2Rl
SW1wbCh2b2lkKiBjb2RlLCB1bnNpZ25lZCBpbnQgc2l6ZSwgY29uc3QgY2hhciogc3ltYm9sTmFt
ZSkKK3sKKyAgICAvKiBDaGVjayBmb3Igb2Jzb2xldGUgSklUIGNvZGVzICovCisgICAgdW5zaWdu
ZWQgaW50IGksIG4gPSBtX3ZpcnR1YWxNZW1vcnlTZWdtZW50cy5zaXplKCk7CisgICAgY29uc3Qg
Y2hhciogdm1hQmVnaW4gPSByZWludGVycHJldF9jYXN0PGNoYXIqPihjb2RlKTsKKyAgICBjb25z
dCBjaGFyKiB2bWFFbmQgPSB2bWFCZWdpbiArIHNpemU7CisgICAgZm9yIChpID0gMDsgaSAhPSBu
OyArK2kpIHsKKyAgICAgICAgY29uc3QgY2hhciogcmVnaXN0ZXJlZFZtYUJlZ2luID0gcmVpbnRl
cnByZXRfY2FzdDxjaGFyKj4obV92aXJ0dWFsTWVtb3J5U2VnbWVudHNbaV0uY29kZSk7CisgICAg
ICAgIGNvbnN0IGNoYXIqIHJlZ2lzdGVyZWRWbWFFbmQgPSB2bWFCZWdpbiArIG1fdmlydHVhbE1l
bW9yeVNlZ21lbnRzW2ldLnNpemU7CisgICAgICAgIGlmICgocmVnaXN0ZXJlZFZtYUJlZ2luIDw9
IHZtYUVuZCAmJiB2bWFFbmQgPD0gcmVnaXN0ZXJlZFZtYUVuZCkKKyAgICAgICAgICAgIHx8IChy
ZWdpc3RlcmVkVm1hQmVnaW4gPD0gdm1hQmVnaW4gJiYgdm1hQmVnaW4gPD0gcmVnaXN0ZXJlZFZt
YUVuZCkpIHsKKyAgICAgICAgICAgIG9wX3VubG9hZF9uYXRpdmVfY29kZShtX3Byb2ZpbGVBZ2Vu
dCwgcmVpbnRlcnByZXRfY2FzdDx1aW50NjRfdD4obV92aXJ0dWFsTWVtb3J5U2VnbWVudHNbaV0u
Y29kZSkpOworICAgICAgICB9CisgICAgfQorCisgICAgb3Bfd3JpdGVfbmF0aXZlX2NvZGUobV9w
cm9maWxlQWdlbnQsIHN5bWJvbE5hbWUgPyBzeW1ib2xOYW1lIDogIjxqaXQ+IiwgcmVpbnRlcnBy
ZXRfY2FzdDx1aW50NjRfdD4oY29kZSksIGNvZGUsIHNpemUpOworfQorCit2b2lkIEpJVFByb2Zp
bGVBZ2VudDo6YW5ub3RhdGVKSVRDb2RlSW1wbCh2b2lkKiBjb2RlLCBWZWN0b3I8TGluZUluZm9S
ZWNvcmQ+JiBsaW5lSW5mbywgY29uc3QgVVN0cmluZyYgdXJsKQoreworICAgIHVpbnRwdHJfdCB2
bWEgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oY29kZSk7CisgICAgdWludHB0cl90IHBy
ZXZPZmZzZXQgPSAwOworICAgIGludCBlbnRyaWVzID0gbGluZUluZm8uc2l6ZSgpOworICAgIHN0
cnVjdCBkZWJ1Z19saW5lX2luZm8qIGRlYnVnTGluZUluZm8gPSByZWludGVycHJldF9jYXN0PHN0
cnVjdCBkZWJ1Z19saW5lX2luZm8qPihXVEY6OmZhc3RNYWxsb2MoZW50cmllcyAqIHNpemVvZihz
dHJ1Y3QgZGVidWdfbGluZV9pbmZvKSkpOworICAgIGNoYXIqIG5hbWUgPSB1cmwuYXNjaWkoKTsK
KworICAgIHN0cnVjdCBkZWJ1Z19saW5lX2luZm8qIGRlYnVnTGluZUluZm9QdHIgPSBkZWJ1Z0xp
bmVJbmZvOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7CisgICAgICAg
IGlmIChwcmV2T2Zmc2V0ICE9IGxpbmVJbmZvW2ldLnZtYU9mZnNldCkgeworICAgICAgICAgICAg
ZGVidWdMaW5lSW5mb1B0ci0+dm1hID0gdm1hICsgbGluZUluZm9baV0udm1hT2Zmc2V0OworICAg
ICAgICAgICAgZGVidWdMaW5lSW5mb1B0ci0+bGluZW5vID0gbGluZUluZm9baV0ubGluZTsKKyAg
ICAgICAgICAgIGRlYnVnTGluZUluZm9QdHItPmZpbGVuYW1lID0gbmFtZTsKKyAgICAgICAgICAg
IHByZXZPZmZzZXQgPSBsaW5lSW5mb1tpXS52bWFPZmZzZXQ7CisgICAgICAgICAgICArK2RlYnVn
TGluZUluZm9QdHI7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBvcF93cml0ZV9kZWJ1Z19saW5l
X2luZm8obV9wcm9maWxlQWdlbnQsIGNvZGUsIGRlYnVnTGluZUluZm9QdHIgLSBkZWJ1Z0xpbmVJ
bmZvLCBkZWJ1Z0xpbmVJbmZvKTsKKyAgICBXVEY6OmZhc3RGcmVlKGRlYnVnTGluZUluZm8pOwor
fQorCisjZWxzZSAvLyBEdW1teSBwcm9maWxlIGFnZW50CisKK3ZvaWQgSklUUHJvZmlsZUFnZW50
Ojppbml0QWdlbnQoKQoreworfQorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6ZGVpbml0QWdlbnQo
KQoreworfQorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6cmVnaXN0ZXJKSVRDb2RlSW1wbCh2b2lk
KiwgdW5zaWduZWQgaW50LCBjb25zdCBjaGFyKikKK3sKK30KKwordm9pZCBKSVRQcm9maWxlQWdl
bnQ6OmFubm90YXRlSklUQ29kZUltcGwodm9pZCosIFZlY3RvcjxMaW5lSW5mb1JlY29yZD4mLCBj
b25zdCBVU3RyaW5nJikKK3sKK30KKworI2VuZGlmIC8vIEVOQUJMRShKSVRfT1BST0ZJTEVfQUdF
TlQpCisKK30KKworI2VuZGlmIC8vIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKSW5kZXg6IEph
dmFTY3JpcHRDb3JlL2ppdC9KSVQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9qaXQv
SklULmgJKHJldmlzaW9uIDU3ODc5KQorKysgSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5j
bHVkZSAiSW50ZXJwcmV0ZXIuaCIKICNpbmNsdWRlICJKSVRDb2RlLmgiCisjaW5jbHVkZSAiSklU
UHJvZmlsZUFnZW50LmgiCiAjaW5jbHVkZSAiSklUU3R1YnMuaCIKICNpbmNsdWRlICJPcGNvZGUu
aCIKICNpbmNsdWRlICJSZWdpc3RlckZpbGUuaCIKQEAgLTI5OCw5ICsyOTksMjAgQEAKICAgICAg
ICAgc3RhdGljIGNvbnN0IGludCBwYXRjaEdldEJ5SWREZWZhdWx0T2Zmc2V0ID0gMjU2OwogCiAg
ICAgcHVibGljOgotICAgICAgICBzdGF0aWMgSklUQ29kZSBjb21waWxlKEpTR2xvYmFsRGF0YSog
Z2xvYmFsRGF0YSwgQ29kZUJsb2NrKiBjb2RlQmxvY2spCisgICAgICAgIHN0YXRpYyBKSVRDb2Rl
IGNvbXBpbGUoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywg
Y29uc3QgY2hhciogbmFtZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIEpJVChnbG9i
YWxEYXRhLCBjb2RlQmxvY2spLnByaXZhdGVDb21waWxlKCk7CisgICAgICAgICAgICBKSVQgaml0
KGdsb2JhbERhdGEsIGNvZGVCbG9jayk7CisgICAgICAgICAgICBKSVRDb2RlIGNvZGUgPSBqaXQu
cHJpdmF0ZUNvbXBpbGUoKTsKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgICAg
ICAgICBpZiAoZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LmlzRW5hYmxlZCgpKSB7CisgICAg
ICAgICAgICAgICAgZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LnJlZ2lzdGVySklUQ29kZShj
b2RlLmFkZHJlc3NGb3JDYWxsKCkuZXhlY3V0YWJsZUFkZHJlc3MoKSwgY29kZS5zaXplKCksIG5h
bWUpOworICAgICAgICAgICAgICAgIGlmICghY29kZUJsb2NrLT5zb3VyY2UoKS0+dXJsKCkuaXNF
bXB0eSgpKQorICAgICAgICAgICAgICAgICAgICBnbG9iYWxEYXRhLT5qaXRQcm9maWxlQWdlbnQu
YW5ub3RhdGVKSVRDb2RlKGNvZGUuYWRkcmVzc0ZvckNhbGwoKS5leGVjdXRhYmxlQWRkcmVzcygp
LCBqaXQubV9saW5lSW5mb3MsIGNvZGVCbG9jay0+c291cmNlKCktPnVybCgpKTsKKyAgICAgICAg
ICAgIH0KKyNlbHNlCisgICAgICAgICAgICBVTlVTRURfUEFSQU0obmFtZSk7CisjZW5kaWYKKyAg
ICAgICAgICAgIHJldHVybiBjb2RlOwogICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIHZvaWQg
Y29tcGlsZUdldEJ5SWRQcm90byhKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEsIENhbGxGcmFtZSog
Y2FsbEZyYW1lLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJ
bmZvLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlKiBwcm90b3R5cGVTdHJ1Y3R1cmUs
IGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QsIHNpemVf
dCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykKQEAgLTgzMSw2
ICs4NDMsNyBAQAogICAgICAgICB2b2lkIGVtaXRfb3BfcG9zdF9pbmMoSW5zdHJ1Y3Rpb24qKTsK
ICAgICAgICAgdm9pZCBlbWl0X29wX3ByZV9kZWMoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9p
ZCBlbWl0X29wX3ByZV9pbmMoSW5zdHJ1Y3Rpb24qKTsKKyAgICAgICAgdm9pZCBlbWl0X29wX3By
b2ZpbGVfaml0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9wcm9maWxlX2Rp
ZF9jYWxsKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9wcm9maWxlX3dpbGxf
Y2FsbChJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfcHVzaF9uZXdfc2NvcGUo
SW5zdHJ1Y3Rpb24qKTsKQEAgLTk5Niw3ICsxMDA5LDkgQEAKICAgICAgICAgVmVjdG9yPEpTUklu
Zm8+IG1fanNyU2l0ZXM7CiAgICAgICAgIFZlY3RvcjxTbG93Q2FzZUVudHJ5PiBtX3Nsb3dDYXNl
czsKICAgICAgICAgVmVjdG9yPFN3aXRjaFJlY29yZD4gbV9zd2l0Y2hlczsKLQorI2lmIEVOQUJM
RShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICAgICAgVmVjdG9yPExpbmVJbmZvUmVjb3JkPiBtX2xp
bmVJbmZvczsKKyNlbmRpZgogICAgICAgICB1bnNpZ25lZCBtX3Byb3BlcnR5QWNjZXNzSW5zdHJ1
Y3Rpb25JbmRleDsKICAgICAgICAgdW5zaWduZWQgbV9nbG9iYWxSZXNvbHZlSW5mb0luZGV4Owog
ICAgICAgICB1bnNpZ25lZCBtX2NhbGxMaW5rSW5mb0luZGV4OwpJbmRleDogSmF2YVNjcmlwdENv
cmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3Jp
cHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcAkocmV2aXNpb24gNTc4NzkpCisr
KyBKYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIkNvZGVCbG9jay5oIgogI2luY2x1
ZGUgIkpJVElubGluZU1ldGhvZHMuaCIKKyNpbmNsdWRlICJKSVRQcm9maWxlQWdlbnQuaCIKICNp
bmNsdWRlICJKSVRTdHViQ2FsbC5oIgogI2luY2x1ZGUgIkpTQXJyYXkuaCIKICNpbmNsdWRlICJK
U0Z1bmN0aW9uLmgiCkBAIC02MTMsNiArNjE0LDEwIEBACiAgICAgc3R1YkluZm8tPnN0dWJSb3V0
aW5lID0gZW50cnlMYWJlbDsKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2Rl
QmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rQ2FsbGVyVG9UcmFtcG9saW5lKHJldHVy
bkFkZHJlc3MsIGVudHJ5TGFiZWwpOworCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQor
ICAgIG1fZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LnJlZ2lzdGVySklUQ29kZShlbnRyeUxh
YmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgIjxqaXQtcHV0Ynlp
ZC10cmFuc2l0aW9uPiIpOworI2VuZGlmCiB9CiAKIHZvaWQgSklUOjpwYXRjaEdldEJ5SWRTZWxm
KENvZGVCbG9jayogY29kZUJsb2NrLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJl
dHVybkFkZHJlc3MpCkBAIC03MTYsNiArNzIxLDEwIEBACiAgICAgCiAgICAgLy8gV2UgZG9uJ3Qg
d2FudCB0byBwYXRjaCBtb3JlIHRoYW4gb25jZSAtIGluIGZ1dHVyZSBnbyB0byBjdGlfb3BfcHV0
X2J5X2lkX2dlbmVyaWMuCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb0Z1bmN0aW9u
KHJldHVybkFkZHJlc3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfYXJyYXlfZmFpbCkp
OworCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIG1fZ2xvYmFsRGF0YS0+aml0
UHJvZmlsZUFnZW50LnJlZ2lzdGVySklUQ29kZShlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNz
KCksIHBhdGNoQnVmZmVyLnNpemUoKSwgIjxqaXQtZ2V0YXJyYXlsZW5ndGg+Iik7CisjZW5kaWYK
IH0KIAogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvKFN0cnVjdHVyZVN0dWJJ
bmZvKiBzdHViSW5mbywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZSogcHJvdG90eXBl
U3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBz
bG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3Ms
IENhbGxGcmFtZSogY2FsbEZyYW1lKQpAQCAtNzg3LDYgKzc5NiwxMCBAQAogICAgIAogICAgIC8v
IFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFuIG9uY2UgLSBpbiBmdXR1cmUgZ28gdG8g
Y3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rQ2FsbGVy
VG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0cihjdGlfb3BfZ2V0X2J5X2lkX3By
b3RvX2xpc3QpKTsKKworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBtX2dsb2Jh
bERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3RlckpJVENvZGUoZW50cnlMYWJlbC5leGVjdXRh
YmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8aml0LWdldGJ5aWQtcHJvdG8+Iik7
CisjZW5kaWYKIH0KIAogCkBAIC04NDYsNiArODU5LDEwIEBACiAgICAgQ29kZUxvY2F0aW9uSnVt
cCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJlZ2luLmp1bXBBdE9mZnNldChwYXRj
aE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0
Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGp1bXBMb2Nh
dGlvbiwgZW50cnlMYWJlbCk7CisKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAg
bV9nbG9iYWxEYXRhLT5qaXRQcm9maWxlQWdlbnQucmVnaXN0ZXJKSVRDb2RlKGVudHJ5TGFiZWwu
ZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCAiPGppdC1nZXRieWlkLXNl
bGZsaXN0PiIpOworI2VuZGlmCiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQ
cm90b0xpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpY0FjY2Vzc1N0
cnVjdHVyZUxpc3QqIHByb3RvdHlwZVN0cnVjdHVyZXMsIGludCBjdXJyZW50SW5kZXgsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgSWRl
bnRpZmllciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9m
ZnNldCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCkBAIC05MTUsNiArOTMyLDEwIEBACiAgICAgQ29k
ZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJlZ2luLmp1bXBB
dE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAgICBSZXBhdGNo
QnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVs
aW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVf
QUdFTlQpCisgICAgbV9nbG9iYWxEYXRhLT5qaXRQcm9maWxlQWdlbnQucmVnaXN0ZXJKSVRDb2Rl
KGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCAiPGpp
dC1nZXRieWlkLXByb3RvbGlzdD4iKTsKKyNlbmRpZgogfQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNv
bXBpbGVHZXRCeUlkQ2hhaW5MaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUG9seW1v
cnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBwcm90b3R5cGVTdHJ1Y3R1cmVzLCBpbnQgY3VycmVu
dEluZGV4LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlQ2hhaW4qIGNoYWluLCBzaXpl
X3QgY291bnQsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNs
b3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIENhbGxGcmFtZSogY2FsbEZyYW1lKQpAQCAtOTkzLDYg
KzEwMTQsMTAgQEAKICAgICBDb2RlTG9jYXRpb25KdW1wIGp1bXBMb2NhdGlvbiA9IHN0dWJJbmZv
LT5ob3RQYXRoQmVnaW4uanVtcEF0T2Zmc2V0KHBhdGNoT2Zmc2V0R2V0QnlJZEJyYW5jaFRvU2xv
d0Nhc2UpOwogICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CiAg
ICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoanVtcExvY2F0aW9uLCBlbnRyeUxhYmVsKTsKKworI2lm
IEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBtX2dsb2JhbERhdGEtPmppdFByb2ZpbGVB
Z2VudC5yZWdpc3RlckpJVENvZGUoZW50cnlMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRj
aEJ1ZmZlci5zaXplKCksICI8aml0LWdldGJ5aWQtY2hhaW5saXN0PiIpOworI2VuZGlmCiB9CiAK
IHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbihTdHJ1Y3R1cmVTdHViSW5mbyog
c3R1YkluZm8sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4sIHNp
emVfdCBjb3VudCwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYg
c2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwgUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNz
LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTEwNjgsNiArMTA5MywxMCBAQAogICAgIAogICAg
IC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFuIG9uY2UgLSBpbiBmdXR1cmUgZ28g
dG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rQ2Fs
bGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0cihjdGlfb3BfZ2V0X2J5X2lk
X3Byb3RvX2xpc3QpKTsKKworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBtX2ds
b2JhbERhdGEtPmppdFByb2ZpbGVBZ2VudC5yZWdpc3RlckpJVENvZGUoZW50cnlMYWJlbC5leGVj
dXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksICI8aml0LWdldGJ5aWQtY2hhaW4+
Iik7CisjZW5kaWYKIH0KIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVORDog
IUVOQUJMRSAvIEVOQUJMRShKSVRfT1BUSU1JWkVfUFJPUEVSVFlfQUNDRVNTKSAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KSW5kZXg6IEphdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9m
aWxlQWdlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvZmlsZUFn
ZW50LmgJKHJldmlzaW9uIDApCisrKyBKYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvZmlsZUFnZW50
LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDA5IEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgVW5p
dmVyc2l0eSBvZiBTemVnZWQKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBKSVRQcm9maWxlQWdlbnRfaAorI2RlZmluZSBKSVRQcm9maWxlQWdlbnRf
aAorCisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CisKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVf
QUdFTlQpCisKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaWYgRU5BQkxFKEpJVF9PUFJPRklM
RV9BR0VOVCkKKyNpbmNsdWRlIDxvcGFnZW50Lmg+CisjZW5kaWYKKworbmFtZXNwYWNlIEpTQyB7
CisKK2NsYXNzIFVTdHJpbmc7CitjbGFzcyBKU0dsb2JhbERhdGE7CisKK3N0cnVjdCBMaW5lSW5m
b1JlY29yZCB7CisgICAgTGluZUluZm9SZWNvcmQoaW50IHZtYU9mZnNldCwgaW50IGxpbmUpCisg
ICAgICAgIDogdm1hT2Zmc2V0KHZtYU9mZnNldCkKKyAgICAgICAgLCBsaW5lKGxpbmUpCisgICAg
eworICAgIH0KKworICAgIGludCB2bWFPZmZzZXQ7CisgICAgaW50IGxpbmU7Cit9OworCitjbGFz
cyBKSVRQcm9maWxlQWdlbnQgeworICAgIHN0cnVjdCBWaXJ0dWFsTWVtb3J5U2VnbWVudCB7Cisg
ICAgICAgIFZpcnR1YWxNZW1vcnlTZWdtZW50KCkKKyAgICAgICAgICA6IGNvZGUoMCkKKyAgICAg
ICAgICAsIHNpemUoMCkKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgdm9pZCogY29k
ZTsKKyAgICAgICAgdW5zaWduZWQgaW50IHNpemU7CisgICAgfTsKKyAgICB0eXBlZGVmIFZlY3Rv
cjxWaXJ0dWFsTWVtb3J5U2VnbWVudD4gVmlydHVhbE1lbW9yeVNlZ21lbnRWZWN0b3I7CisKK3B1
YmxpYzoKKyAgICBKSVRQcm9maWxlQWdlbnQoYm9vbCBzdGF0dXMpCisgICAgICA6IG1fZW5hYmxl
QWdlbnQoc3RhdHVzKQorICAgIHsKKyAgICAgICAgaWYgKGlzRW5hYmxlZCgpKQorICAgICAgICAg
ICAgaW5pdEFnZW50KCk7CisgICAgfQorCisgICAgfkpJVFByb2ZpbGVBZ2VudCgpCisgICAgewor
ICAgICAgICBpZiAoaXNFbmFibGVkKCkpCisgICAgICAgICAgICBkZWluaXRBZ2VudCgpOworICAg
IH0KKworICAgIHZvaWQgcmVnaXN0ZXJKSVRDb2RlKHZvaWQqIGNvZGUsIHVuc2lnbmVkIGludCBz
aXplLCBjb25zdCBjaGFyKiBzeW1ib2wpCisgICAgeworICAgICAgICBpZiAoaXNFbmFibGVkKCkg
JiYgY29kZSkKKyAgICAgICAgICAgIHJlZ2lzdGVySklUQ29kZUltcGwoY29kZSwgc2l6ZSwgc3lt
Ym9sKTsKKyAgICB9CisKKyAgICB2b2lkIGFubm90YXRlSklUQ29kZSh2b2lkKiBjb2RlLCBWZWN0
b3I8TGluZUluZm9SZWNvcmQ+JiBsaW5lSW5mbywgY29uc3QgVVN0cmluZyYgdXJsKQorICAgIHsK
KyAgICAgICAgaWYgKGlzRW5hYmxlZCgpICYmIGNvZGUpCisgICAgICAgICAgICBhbm5vdGF0ZUpJ
VENvZGVJbXBsKGNvZGUsIGxpbmVJbmZvLCB1cmwpOworICAgIH0KKworICAgIHZvaWQgcmVjb3Jk
SklUVHJhbXBvbGluZXModm9pZCogY29kZSwgdW5zaWduZWQgaW50IHNpemUpCisgICAgeworICAg
ICAgICBtX3RyYW1wb2xpbmVzLmNvZGUgPSBjb2RlOworICAgICAgICBtX3RyYW1wb2xpbmVzLnNp
emUgPSBzaXplOworICAgICAgICBpZiAoaXNFbmFibGVkKCkpCisgICAgICAgICAgICByZWdpc3Rl
ckpJVENvZGUobV90cmFtcG9saW5lcy5jb2RlLCBtX3RyYW1wb2xpbmVzLnNpemUsICI8aml0LXRy
YW1wb2xpbmVzPiIpOworICAgIH0KKworICAgIHZvaWQgc2V0RW5hYmxlZChib29sIHN0YXR1cykK
KyAgICB7CisgICAgICAgIGlmIChtX2VuYWJsZUFnZW50ID09IHN0YXR1cykKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgbV9lbmFibGVBZ2VudCA9IHN0YXR1czsKKyAgICAgICAgaWYgKGlz
RW5hYmxlZCgpKQorICAgICAgICAgICAgaW5pdEFnZW50KCk7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIGRlaW5pdEFnZW50KCk7CisgICAgfQorCisgICAgQUxXQVlTX0lOTElORSBjb25zdCBi
b29sIGlzRW5hYmxlZCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorCitwcml2YXRlOgorICAgIHZvaWQgaW5pdEFnZW50KCk7CisgICAgdm9pZCBkZWluaXRBZ2Vu
dCgpOworICAgIHZvaWQgcmVnaXN0ZXJKSVRDb2RlSW1wbCh2b2lkKiwgdW5zaWduZWQgaW50LCBj
b25zdCBjaGFyKik7CisgICAgdm9pZCBhbm5vdGF0ZUpJVENvZGVJbXBsKHZvaWQqLCBWZWN0b3I8
TGluZUluZm9SZWNvcmQ+JiwgY29uc3QgVVN0cmluZyYpOworCisjaWYgRU5BQkxFKEpJVF9PUFJP
RklMRV9BR0VOVCkKKyAgICBvcF9hZ2VudF90IG1fcHJvZmlsZUFnZW50OworI2VuZGlmCisgICAg
VmlydHVhbE1lbW9yeVNlZ21lbnRWZWN0b3IgbV92aXJ0dWFsTWVtb3J5U2VnbWVudHM7CisgICAg
VmlydHVhbE1lbW9yeVNlZ21lbnQgbV90cmFtcG9saW5lczsKKyAgICBib29sIG1fZW5hYmxlQWdl
bnQ7Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisKKyNl
bmRpZiAvLyBKSVRQcm9maWxlQWdlbnRfaApJbmRleDogSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNTc4Nzkp
CisrKyBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw4
MCBAQAorMjAxMC0wNC0yMCAgR2Fib3IgTG9raSAgPGxva2lAd2Via2l0Lm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdXBwb3J0cyBPUHJvZmls
ZSBKSVQgYWdlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTMyNTYxCisKKyAgICAgICAgVGhpcyBwYXRjaCBmZWVkcyBPUHJvZmlsZSBkYWVtb24gd2l0
aCBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGUKKyAgICAgICAgZ2VuZXJlYXRlZCBKSVQg
Y29kZS4gSXQgcGFzc2VzIHNvdXJjZS91cmwgcGF0aCwgZnVuY3Rpb24gbmFtZXMgYW5kCisgICAg
ICAgIGxpbmUgaW5mb3JtYXRpb24gZm9yIHRoZSByZXBvcnQgYW5kIGFubm90YXRlIHRvb2xzLgor
CisgICAgICAgIERldmVsb3BlZCBpbiBjb29wZXJhdGlvbiB3aXRoIFpvbHRhbiBIZXJjemVnLgor
CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogSmF2YVNjcmlwdENvcmUucHJv
OgorICAgICAgICAqIGFzc2VtYmxlci9MaW5rQnVmZmVyLmg6CisgICAgICAgIChKU0M6OkxpbmtC
dWZmZXI6OnNpemUpOgorICAgICAgICAqIGJ5dGVjb2RlL09wY29kZS5oOgorICAgICAgICAqIGJ5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2Rl
R2VuZXJhdG9yOjplbWl0RGVidWdIb29rKToKKyAgICAgICAgKiBpbnRlcnByZXRlci9JbnRlcnBy
ZXRlci5jcHA6CisgICAgICAgIChKU0M6OkludGVycHJldGVyOjpwcml2YXRlRXhlY3V0ZSk6Cisg
ICAgICAgICogaml0L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVN
YWluUGFzcyk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAoSlNDOjpKSVQ6OmNvbXBp
bGUpOgorICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpl
bWl0X29wX3Byb2ZpbGVfaml0KToKKyAgICAgICAgKiBqaXQvSklUUHJvZmlsZUFnZW50LmNwcDog
QWRkZWQuCisgICAgICAgIChKU0M6OkpJVFByb2ZpbGVBZ2VudDo6aW5pdEFnZW50KToKKyAgICAg
ICAgKEpTQzo6SklUUHJvZmlsZUFnZW50OjpkZWluaXRBZ2VudCk6CisgICAgICAgIChKU0M6OkpJ
VFByb2ZpbGVBZ2VudDo6cmVnaXN0ZXJKSVRDb2RlSW1wbCk6CisgICAgICAgIChKU0M6OkpJVFBy
b2ZpbGVBZ2VudDo6YW5ub3RhdGVKSVRDb2RlSW1wbCk6CisgICAgICAgICogaml0L0pJVFByb2Zp
bGVBZ2VudC5oOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6TGluZUluZm9SZWNvcmQ6OkxpbmVJbmZv
UmVjb3JkKToKKyAgICAgICAgKEpTQzo6SklUUHJvZmlsZUFnZW50OjpWaXJ0dWFsTWVtb3J5U2Vn
bWVudDo6VmlydHVhbE1lbW9yeVNlZ21lbnQpOgorICAgICAgICAoSlNDOjpKSVRQcm9maWxlQWdl
bnQ6OkpJVFByb2ZpbGVBZ2VudCk6CisgICAgICAgIChKU0M6OkpJVFByb2ZpbGVBZ2VudDo6fkpJ
VFByb2ZpbGVBZ2VudCk6CisgICAgICAgIChKU0M6OkpJVFByb2ZpbGVBZ2VudDo6cmVnaXN0ZXJK
SVRDb2RlKToKKyAgICAgICAgKEpTQzo6SklUUHJvZmlsZUFnZW50Ojphbm5vdGF0ZUpJVENvZGUp
OgorICAgICAgICAoSlNDOjpKSVRQcm9maWxlQWdlbnQ6OnJlY29yZEpJVFRyYW1wb2xpbmVzKToK
KyAgICAgICAgKEpTQzo6SklUUHJvZmlsZUFnZW50OjpzZXRFbmFibGVkKToKKyAgICAgICAgKEpT
Qzo6SklUUHJvZmlsZUFnZW50Ojppc0VuYWJsZWQpOgorICAgICAgICAqIGppdC9KSVRQcm9wZXJ0
eUFjY2Vzcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJh
bnNpdGlvbik6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFycmF5
TGVuZ3RoKToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6
CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QpOgorICAg
ICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdCk6CisgICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KToKKyAgICAgICAgKEpT
Qzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6CisgICAgICAgICogaml0L0pJVFBy
b3BlcnR5QWNjZXNzMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxl
UHV0QnlJZFRyYW5zaXRpb24pOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlUGF0
Y2hHZXRBcnJheUxlbmd0aCk6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRC
eUlkUHJvdG8pOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNlbGZM
aXN0KToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90b0xpc3Qp
OgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluTGlzdCk6Cisg
ICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4pOgorICAgICAgICAq
IGpzYy5jcHA6CisgICAgICAgIChPcHRpb25zOjpPcHRpb25zKToKKyAgICAgICAgKHByaW50VXNh
Z2VTdGF0ZW1lbnQpOgorICAgICAgICAocGFyc2VBcmd1bWVudHMpOgorICAgICAgICAoanNjbWFp
bik6CisgICAgICAgICogcnVudGltZS9FeGVjdXRhYmxlLmNwcDoKKyAgICAgICAgKEpTQzo6RXZh
bEV4ZWN1dGFibGU6OmdlbmVyYXRlSklUQ29kZSk6CisgICAgICAgIChKU0M6OlByb2dyYW1FeGVj
dXRhYmxlOjpnZW5lcmF0ZUpJVENvZGUpOgorICAgICAgICAoSlNDOjpGdW5jdGlvbkV4ZWN1dGFi
bGU6OmdlbmVyYXRlSklUQ29kZSk6CisgICAgICAgIChKU0M6OkZ1bmN0aW9uRXhlY3V0YWJsZTo6
cmVwYXJzZUV4Y2VwdGlvbkluZm8pOgorICAgICAgICAoSlNDOjpFdmFsRXhlY3V0YWJsZTo6cmVw
YXJzZUV4Y2VwdGlvbkluZm8pOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcDoK
KyAgICAgICAgKEpTQzo6SlNHbG9iYWxEYXRhOjpKU0dsb2JhbERhdGEpOgorICAgICAgICAqIHJ1
bnRpbWUvSlNHbG9iYWxEYXRhLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisgICAgICAg
ICogeWFyci9SZWdleEpJVC5jcHA6CisgICAgICAgIChKU0M6OllhcnI6OlJlZ2V4R2VuZXJhdG9y
Ojpjb21waWxlKToKKwogMjAxMC0wNC0yMCAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3Vn
aEBhcHBsZS5jb20+CiAKICAgICAgICAgUnViYmVyIHN0YW1wZWQgYnkgTWFjaWVqIFN0YWNob3dp
YWsgKHJlbGFuZGluZyByNTc4MjkpLgpJbmRleDogSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bj
b2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgJKHJl
dmlzaW9uIDU3ODc5KQorKysgSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTE4Miw2ICsxODIsNyBAQAogICAgICAgICBtYWNybyhvcF9kZWJ1ZywgNCkg
XAogICAgICAgICBtYWNybyhvcF9wcm9maWxlX3dpbGxfY2FsbCwgMikgXAogICAgICAgICBtYWNy
byhvcF9wcm9maWxlX2RpZF9jYWxsLCAyKSBcCisgICAgICAgIG1hY3JvKG9wX3Byb2ZpbGVfaml0
LCAzKSBcCiAgICAgICAgIFwKICAgICAgICAgbWFjcm8ob3BfZW5kLCAyKSAvLyBlbmQgbXVzdCBi
ZSB0aGUgbGFzdCBvcGNvZGUgaW4gdGhlIGxpc3QKIApJbmRleDogSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZp
c2lvbiA1Nzg3OSkKKysrIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTQ3Niw2ICs0NzYsOCBAQAogCQlFMUE4
NjJENjBEN0YyQjVDMDAxRUM2QUEgLyogQ29sbGF0b3JEZWZhdWx0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQTg2MkQ1MEQ3RjJCNUMwMDFFQzZB
QSAvKiBDb2xsYXRvckRlZmF1bHQuY3BwICovOyB9OwogCQlFMUVFNzkzRDBENkM5QjkyMDBGRUEz
QkEgLyogVGhyZWFkaW5nUHRocmVhZHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTFFRTc5M0MwRDZDOUI5MjAwRkVBM0JBIC8qIFRocmVhZGluZ1B0
aHJlYWRzLmNwcCAqLzsgfTsKIAkJRTFFRjc5QUEwQ0U5N0JBNjAwODhENTAwIC8qIFVURjguY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFFRjc5QTgw
Q0U5N0JBNjAwODhENTAwIC8qIFVURjguY3BwICovOyB9OworCQlFNDExQjhENDExN0Q5RjQ2MDAx
NUY1NzcgLyogSklUUHJvZmlsZUFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFNDExQjhEMzExN0Q5RjQ2MDAxNUY1NzcgLyogSklUUHJvZmlsZUFn
ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
RTQxMUI4RDYxMTdEOUY0RjAwMTVGNTc3IC8qIEpJVFByb2ZpbGVBZ2VudC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDExQjhENTExN0Q5RjRGMDAx
NUY1NzcgLyogSklUUHJvZmlsZUFnZW50LmNwcCAqLzsgfTsKIAkJRTQ4RTBGMkQwRjgyMTUxNzAw
QThDQTM3IC8qIEZhc3RBbGxvY0Jhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEU0OEUwRjJDMEY4MjE1MTcwMEE4Q0EzNyAvKiBGYXN0QWxsb2NCYXNl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkUx
QjQ0N0EwRUNDRDczQjAwNEY0REQxIC8qIFN0ZExpYkV4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkUxQjQ0NzkwRUNDRDczQjAwNEY0REQxIC8q
IFN0ZExpYkV4dHJhcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAvKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KQEAgLTk4Nyw2ICs5ODksOCBA
QAogCQlFMUVFNzk4QjBENkNBNTNEMDBGRUEzQkEgLyogTWVzc2FnZVF1ZXVlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lc3NhZ2VRdWV1ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlFMUVGNzlBODBDRTk3QkE2MDA4OEQ1MDAgLyogVVRGOC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVVEY4LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRTFFRjc5QTkwQ0U5N0JBNjAwODhENTAwIC8qIFVURjguaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVVRGOC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlFNDExQjhEMzExN0Q5RjQ2MDAxNUY1NzcgLyogSklUUHJvZmlsZUFnZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpJVFByb2ZpbGVBZ2VudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlFNDExQjhENTExN0Q5RjRGMDAxNUY1NzcgLyogSklUUHJv
ZmlsZUFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJVFBy
b2ZpbGVBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0OEUwRjJDMEY4
MjE1MTcwMEE4Q0EzNyAvKiBGYXN0QWxsb2NCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEZhc3RBbGxvY0Jhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RjVCQjJCQzUwMzBGNzcyMTAxRkNGRTFEIC8qIENvbXBsZXRpb24uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29tcGxldGlvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CiAJCUY1QzI5MEU2MDI4NEY5OEUwMTg2
MzVDQSAvKiBKYXZhU2NyaXB0Q29yZVByZWZpeC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKYXZhU2NyaXB0Q29yZVByZWZpeC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CkBAIC0xMTY2LDYgKzExNzAsOCBAQAog
CQkxNDI5RDkyQzBFRDIyRDcwMDBCODk2MTkgLyogaml0ICovID0gewogCQkJaXNhID0gUEJYR3Jv
dXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlFNDExQjhENTExN0Q5RjRGMDAxNUY1NzcgLyogSklU
UHJvZmlsZUFnZW50LmNwcCAqLywKKwkJCQlFNDExQjhEMzExN0Q5RjQ2MDAxNUY1NzcgLyogSklU
UHJvZmlsZUFnZW50LmggKi8sCiAJCQkJQTdCNDhEQjYwRUU3NENGQzAwRENCREI2IC8qIEV4ZWN1
dGFibGVBbGxvY2F0b3IuY3BwICovLAogCQkJCUE3QjQ4REI1MEVFNzRDRkMwMERDQkRCNiAvKiBF
eGVjdXRhYmxlQWxsb2NhdG9yLmggKi8sCiAJCQkJODZEQjY0NjMwRjk1QzZGQzAwRDdEOTIxIC8q
IEV4ZWN1dGFibGVBbGxvY2F0b3JGaXhlZFZNUG9vbC5jcHAgKi8sCkBAIC0yMDQyLDYgKzIwNDgs
NyBAQAogCQkJCUE3NDgyQjkzMTE2NzExNDcwMDNCMDcxMiAvKiBKU1dlYWtPYmplY3RNYXBSZWZQ
cml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzQ4MkU5MzExNkE3Q0FEMDAzQjA3MTIgLyog
SlNXZWFrT2JqZWN0TWFwUmVmSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2RDA4RDU0
MTE3OTM2MTMwMDZFNUVEMCAvKiBXVEZUaHJlYWREYXRhLmggaW4gSGVhZGVycyAqLywKKwkJCQlF
NDExQjhENDExN0Q5RjQ2MDAxNUY1NzcgLyogSklUUHJvZmlsZUFnZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKQEAgLTI0ODYsNiArMjQ5Myw3IEBACiAJCQkJODY1NjU3NDIxMTVCRTNEQTAwMjkxRjQwIC8q
IENTdHJpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTc0ODJCOTQxMTY3MTE0NzAwM0IwNzEy
IC8qIEpTV2Vha09iamVjdE1hcFJlZlByaXZhdGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODZE
MDhENTMxMTc5MzYxMzAwNkU1RUQwIC8qIFdURlRocmVhZERhdGEuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJRTQxMUI4RDYxMTdEOUY0RjAwMTVGNTc3IC8qIEpJVFByb2ZpbGVBZ2VudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKIAkJfTsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnBybwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcm8JKHJldmlzaW9uIDU3
ODc5KQorKysgSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJvCSh3b3JraW5nIGNvcHkp
CkBAIC05Myw2ICs5Myw3IEBACiAgICAgaml0L0pJVENhbGwuY3BwIFwKICAgICBqaXQvSklULmNw
cCBcCiAgICAgaml0L0pJVE9wY29kZXMuY3BwIFwKKyAgICBqaXQvSklUUHJvZmlsZUFnZW50LmNw
cCBcCiAgICAgaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcCBcCiAgICAgaml0L0pJVFByb3BlcnR5
QWNjZXNzMzJfNjQuY3BwIFwKICAgICBqaXQvSklUU3R1YnMuY3BwIFwKSW5kZXg6IEdOVW1ha2Vm
aWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEdOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA1Nzg3OSkKKysr
IEdOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0xODEsNyArMTgxLDggQEAKIGxpYkph
dmFTY3JpcHRDb3JlX2xhX0xJQkFERCA9IFwKIAkkKFVOSUNPREVfTElCUykgXAogCSQoR0xJQl9M
SUJTKSBcCi0JLWxwdGhyZWFkCisJLWxwdGhyZWFkIFwKKwkkKE9QQUdFTlRfTElCUykKIAogbGli
SmF2YVNjcmlwdENvcmVfbGFfQ1hYRkxBR1MgPSBcCiAJJChnbG9iYWxfY3h4ZmxhZ3MpIFwKSW5k
ZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDU3ODc5KQor
KysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDQtMjAg
IEdhYm9yIExva2kgIDxsb2tpQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgU3VwcG9ydHMgT1Byb2ZpbGUgSklUIGFnZW50CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjU2MQorCisgICAg
ICAgIFRoaXMgcGF0Y2ggZmVlZHMgT1Byb2ZpbGUgZGFlbW9uIHdpdGggZGV0YWlsZWQgaW5mb3Jt
YXRpb24gYWJvdXQgdGhlCisgICAgICAgIGdlbmVyZWF0ZWQgSklUIGNvZGUuIEl0IHBhc3NlcyBz
b3VyY2UvdXJsIHBhdGgsIGZ1bmN0aW9uIG5hbWVzIGFuZAorICAgICAgICBsaW5lIGluZm9ybWF0
aW9uIGZvciB0aGUgcmVwb3J0IGFuZCBhbm5vdGF0ZSB0b29scy4KKworICAgICAgICBEZXZlbG9w
ZWQgaW4gY29vcGVyYXRpb24gd2l0aCBab2x0YW4gSGVyY3plZy4KKworICAgICAgICAqIEdOVW1h
a2VmaWxlLmFtOgorICAgICAgICAqIGNvbmZpZ3VyZS5hYzoKKwogMjAxMC0wNC0xOSAgRGllZ28g
RXNjYWxhbnRlIFVycmVsbyAgPGRlc2NhbGFudGVAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBYYW4gTG9wZXouCkluZGV4OiBjb25maWd1cmUuYWMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY29u
ZmlndXJlLmFjCShyZXZpc2lvbiA1Nzg3OSkKKysrIGNvbmZpZ3VyZS5hYwkod29ya2luZyBjb3B5
KQpAQCAtNjMyLDYgKzYzMiwzMCBAQAogZmkKIEFDX01TR19SRVNVTFQoWyRlbmFibGVfaml0XSkK
IAorIyBCdWlsZCBKSVQgd2l0aCBPUHJvZmlsZSBhZ2VudCBzdXBwb3J0CitPUEFHRU5UX0xJQlM9
CitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIE9Qcm9maWxlIEpJVCBhZ2VudCBz
dXBwb3J0Ll0pCitBQ19BUkdfRU5BQkxFKFtvcGFnZW50XSwKKyAgICAgICAgICAgICAgQUNfSEVM
UF9TVFJJTkcoWy0tZW5hYmxlLW9wYWdlbnRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBbRW5hYmxlIE9Qcm9maWxlIEpJVCBhZ2VudCBzdXBwb3J0IGRlZmF1bHQ9bm9dKSwKKyAgICAg
ICAgICAgICAgW2VuYWJsZV9vcGFnZW50PSJ5ZXMiXSxbXSkKK2lmIHRlc3QgIiRlbmFibGVfb3Bh
Z2VudCIgPSAieWVzIjsgdGhlbgorICBBQ19DSEVDS19MSUIob3BhZ2VudCwgb3BfbWFqb3JfdmVy
c2lvbiwKKyAgICBbQUNfQ0hFQ0tfSEVBREVSKG9wYWdlbnQuaCwKKyAgICAgIG9wYWdlbnRfb2s9
eWVzLAorICAgICAgb3BhZ2VudF9vaz1ubyldLAorICAgIEFDX01TR19FUlJPUihbT1Byb2ZpbGUg
b3BhZ2VudCBsaWJyYXJ5IG5vdCBmb3VuZF0pLCAtbGJmZCkKKworICBBQ19NU0dfUkVTVUxUKFsk
b3BhZ2VudF9va10pCisKKyAgaWYgdGVzdCAiJG9wYWdlbnRfb2siID0gInllcyI7IHRoZW4KKyAg
ICBBQ19ERUZJTkUoW0VOQUJMRV9KSVRfT1BST0ZJTEVfQUdFTlRdLCBbMV0sIFtEZWZpbmUgdG8g
ZW5hYmxlIE9Qcm9maWxlIEpJVCBhZ2VudCBzdXBwb3J0XSkKKyAgZmkKKyAgT1BBR0VOVF9MSUJT
PSItbG9wYWdlbnQgLWxiZmQiCitmaQorCitBQ19TVUJTVChbT1BBR0VOVF9MSUJTXSkKKwogIyBH
T2JqZWN0IEludHJvc3BlY3Rpb24KIEFDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBlbmFibGUg
R09iamVjdCBpbnRyb3NwZWN0aW9uIHN1cHBvcnRdKQogQUNfQVJHX0VOQUJMRShbaW50cm9zcGVj
dGlvbl0sCg==
</data>
<flag name="review"
          id="37587"
          type_id="1"
          status="-"
          setter="barraclough"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75792</attachid>
            <date>2010-12-07 01:35:05 -0800</date>
            <delta_ts>2011-02-03 05:44:44 -0800</delta_ts>
            <desc>jitoprofile.diff</desc>
            <filename>jitoprofile.diff</filename>
            <type>text/plain</type>
            <size>42520</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSAxMmRjODYwOGQ3YWM0MmY5YWU3MzQ5NGEwMjMzMGU4NjY5YjdjNjdjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBU
dWUsIDcgRGVjIDIwMTAgMTA6MjY6MTEgKzAxMDAKU3ViamVjdDogW1BBVENIXSAgICAgICAgIDIw
MTAtMTItMDcgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgoKICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgUHJvdmlkZSBhIE9Qcm9maWxlIEpJVCBhZ2Vu
dCAob3BhZ2VudCkgZm9yIHRoZSBjb2RlIGdlbmVyYXRlZCBieSB0aGUgSklUCiAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyNTYxCgogICAgICAgIEFkZCBz
dXBwb3J0IGZvciBPUHJvZmlsZSBKSVQgYW5ub3RhdGlvbnMgdG8gdGhlIEdUSysgcG9ydC4gRW5h
YmxlCiAgICAgICAgd2l0aCAtLWVuYWJsZS1vcGFnZW50LgoKICAgICAgICAqIEdOVW1ha2VmaWxl
LmFtOiBBZGQgT1BBR0VOVCBmbGFncy4KICAgICAgICAqIGNvbmZpZ3VyZS5hYzogQWRkIC0tZW5h
YmxlLW9wYWdlbnQgY29uZmlndXJlIGZsYWcuCgpKYXZhU2NyaXB0Q29yZToKCjIwMTAtMTItMDcg
IFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KCiAgICAgICAgUHJvdmlkZSBhIE9Qcm9maWxlIEpJVCBhZ2VudCAob3BhZ2Vu
dCkgZm9yIHRoZSBjb2RlIGdlbmVyYXRlZCBieSB0aGUgSklUCiAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyNTYxCgogICAgICAgIEJhc2VkIG9uIHRoZSB3
b3JrIGJ5IEhvbGdlciBGcmV5dGhlciwgR2Fib3IgTG9raSBhbmQgWm9sdGFuIEhlcmN6ZWcuCgog
ICAgICAgIEFkZCBKSVRQcm9maWxlQWdlbnQsIGEgbmV3IGNsYXNzIGluIHRvb2xzLyB3aXRoIHRo
ZSBiYXNpYyBtZXRob2RzCiAgICAgICAgdG8gYW5ub3RhdGUgdGhlIEpJVCBjb2RlLCBhbmQgaG9v
ayBpdCB1cCBpbiB0aGUgcmVsZXZhbnQgcGxhY2VzCiAgICAgICAgdGhyb3VnaG91dCBKYXZhU2Ny
aXB0Q29yZS8uIEluY2x1ZGVkIGlzIGFuIE9Qcm9maWxlIGltcGxlbWVudGF0aW9uCiAgICAgICAg
Zm9yIExpbnV4IHN5c3RlbXMuCgogICAgICAgICogR05VbWFrZWZpbGUuYW06IEFkZCBKSVRQcm9m
aWxlQWdlbnQgZmlsZXMuCiAgICAgICAgKiBhc3NlbWJsZXIvTGlua0J1ZmZlci5oOgogICAgICAg
IChKU0M6OkxpbmtCdWZmZXI6OnNpemUpOiBNZXRob2QgdG8gcmV0dW4gdGhlIHNpemUgb2YgdGhl
IGJ1ZmZlciwKICAgICAgICBuZWVkZWQgZm9yIHRoZSBjb2RlIGFubm90YXRpb24gYnkgdGhlIEpJ
VCBwcm9maWxlIG1ldGhvZHMuCiAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suaDoKICAgICAg
ICAoSlNDOjpDb2RlQmxvY2s6OmxpbmVJbmZvKTogYWNjZXNzb3IgZm9yIHRoZSBsaW5lSW5mbyBk
YXRhLgogICAgICAgICogaml0L0pJVC5jcHA6CiAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29t
cGlsZSk6IENhbGwgb3V0IHRvIHRoZSBKSVRQcm9maWxlQWdlbnQgdG8KICAgICAgICBhbm5vdGF0
ZSBnZW5lcmF0ZWQgY29kZS4KICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKICAgICAgICAo
SlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVzKTogZGl0dG8uCiAg
ICAgICAgKiBqaXQvSklUT3Bjb2RlczMyXzY0LmNwcDoKICAgICAgICAoSlNDOjpKSVQ6OnByaXZh
dGVDb21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVzKTogZGl0dG8uCiAgICAgICAgKiBqaXQvSklU
UHJvcGVydHlBY2Nlc3MuY3BwOgogICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRC
eUlkVHJhbnNpdGlvbik6IGRpdHRvLgogICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQ
YXRjaEdldEFycmF5TGVuZ3RoKTogZGl0dG8uCiAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29t
cGlsZUdldEJ5SWRQcm90byk6IGRpdHRvLgogICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBp
bGVHZXRCeUlkU2VsZkxpc3QpOiBkaXR0by4KICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21w
aWxlR2V0QnlJZFByb3RvTGlzdCk6IGRpdHRvLgogICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNv
bXBpbGVHZXRCeUlkQ2hhaW5MaXN0KTogZGl0dG8uCiAgICAgICAgKEpTQzo6SklUOjpwcml2YXRl
Q29tcGlsZUdldEJ5SWRDaGFpbik6IGRpdHRvLgogICAgICAgICogaml0L0pJVFByb3BlcnR5QWNj
ZXNzMzJfNjQuY3BwOgogICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJh
bnNpdGlvbik6IGRpdHRvLgogICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdl
dEFycmF5TGVuZ3RoKTogZGl0dG8uCiAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdl
dEJ5SWRQcm90byk6IGRpdHRvLgogICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRC
eUlkU2VsZkxpc3QpOiBkaXR0by4KICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0
QnlJZFByb3RvTGlzdCk6IGRpdHRvLgogICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVH
ZXRCeUlkQ2hhaW5MaXN0KTogZGl0dG8uCiAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGls
ZUdldEJ5SWRDaGFpbik6IGRpdHRvLgogICAgICAgICoganNjLmNwcDogU3VwcG9ydCBwcm9maWxp
bmcgb2YgdGhlIEpJVCBjb2RlIHdpdGggLXAuCiAgICAgICAgKiBydW50aW1lL0V4ZWN1dGFibGUu
aDoKICAgICAgICAoSlNDOjpFdmFsRXhlY3V0YWJsZTo6aml0Q29kZVR5cGUpOiBSZXR1cm4gcHJv
cGVyIEpJVCBjb2RlVHlwZSBmb3IgdGhlIEV4ZWN1dGFibGUuCiAgICAgICAgKEpTQzo6UHJvZ3Jh
bUV4ZWN1dGFibGU6OmppdENvZGVUeXBlKTogZGl0dG8uCiAgICAgICAgKEpTQzo6RnVuY3Rpb25F
eGVjdXRhYmxlOjpqaXRDb2RlVHlwZSk6IGRpdHRvLgogICAgICAgICogcnVudGltZS9KU0dsb2Jh
bERhdGEuaDoKICAgICAgICAqIHRvb2xzL0pJVFByb2ZpbGVBZ2VudC5jcHA6IEFkZGVkLgogICAg
ICAgICogdG9vbHMvSklUUHJvZmlsZUFnZW50Lmg6IEFkZGVkLgogICAgICAgICogd3RmL1BsYXRm
b3JtLmg6CiAgICAgICAgKiB5YXJyL1JlZ2V4SklULmNwcDoKICAgICAgICAoSlNDOjpZYXJyOjpS
ZWdleEdlbmVyYXRvcjo6Y29tcGlsZSk6IENhbGwgb3V0IHRvIHRoZQogICAgICAgIEpJVFByb2Zp
bGVBZ2VudCB0byBhbm5vdGF0ZSBnZW5lcmF0ZWQgY29kZS4KLS0tCiBDaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEzICsrCiBHTlVtYWtlZmlsZS5hbSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAxICsKIEphdmFTY3JpcHRDb3JlL0No
YW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICB8ICAgNTYgKysrKysrKysKIEphdmFTY3JpcHRD
b3JlL0dOVW1ha2VmaWxlLmFtICAgICAgICAgICAgICAgICB8ICAgIDMgKwogSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaCAgICAgICAgIHwgICAgNyArCiBKYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db2RlQmxvY2suaCAgICAgICAgICAgfCAgICA1ICsKIEphdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuY3BwICAgICAgICAgICAgICAgICAgICB8ICAgIDUgKy0KIEphdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGNvZGVzLmNwcCAgICAgICAgICAgICB8ICAgIDMgKwogSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wY29kZXMzMl82NC5jcHAgICAgICAgIHwgICAgMyArCiBKYXZhU2NyaXB0Q29yZS9q
aXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwICAgICAgfCAgIDE1ICsrCiBKYXZhU2NyaXB0Q29yZS9q
aXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAgfCAgIDE0ICsrCiBKYXZhU2NyaXB0Q29yZS9q
c2MuY3BwICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE4ICsrKwogSmF2YVNjcmlwdENvcmUv
cnVudGltZS9FeGVjdXRhYmxlLmggICAgICAgICAgIHwgICAxNCArKwogSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbERhdGEuaCAgICAgICAgIHwgICAgNCArCiBKYXZhU2NyaXB0Q29yZS90
b29scy9KSVRQcm9maWxlQWdlbnQuY3BwICAgICAgfCAgMTc0ICsrKysrKysrKysrKysrKysrKysr
KysrKysKIEphdmFTY3JpcHRDb3JlL3Rvb2xzL0pJVFByb2ZpbGVBZ2VudC5oICAgICAgICB8ICAx
NjAgKysrKysrKysrKysrKysrKysrKysrKysKIEphdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5o
ICAgICAgICAgICAgICAgICB8ICAgIDUgKwogSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEpJVC5j
cHAgICAgICAgICAgICAgIHwgICAgNSArLQogY29uZmlndXJlLmFjICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICAzMyArKysrKwogMTkgZmlsZXMgY2hhbmdlZCwgNTM2IGluc2Vy
dGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgSmF2YVNjcmlwdENv
cmUvdG9vbHMvSklUUHJvZmlsZUFnZW50LmNwcAogY3JlYXRlIG1vZGUgMTAwNjQ0IEphdmFTY3Jp
cHRDb3JlL3Rvb2xzL0pJVFByb2ZpbGVBZ2VudC5oCgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIv
Q2hhbmdlTG9nCmluZGV4IDYyYzkxOGQuLmI3NjFmM2QgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZwor
KysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0xMi0wNyAgWGFuIExvcGV6ICA8
eGxvcGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUHJvdmlkZSBhIE9Qcm9maWxlIEpJVCBhZ2VudCAob3BhZ2VudCkgZm9yIHRo
ZSBjb2RlIGdlbmVyYXRlZCBieSB0aGUgSklUCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zMjU2MQorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBPUHJv
ZmlsZSBKSVQgYW5ub3RhdGlvbnMgdG8gdGhlIEdUSysgcG9ydC4gRW5hYmxlCisgICAgICAgIHdp
dGggLS1lbmFibGUtb3BhZ2VudC4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBBZGQgT1BB
R0VOVCBmbGFncy4KKyAgICAgICAgKiBjb25maWd1cmUuYWM6IEFkZCAtLWVuYWJsZS1vcGFnZW50
IGNvbmZpZ3VyZSBmbGFnLgorCiAyMDEwLTEyLTA0ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9n
YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCmRpZmYg
LS1naXQgYS9HTlVtYWtlZmlsZS5hbSBiL0dOVW1ha2VmaWxlLmFtCmluZGV4IDI3ZGViYWUuLjM1
NjY0ODkgMTAwNjQ0Ci0tLSBhL0dOVW1ha2VmaWxlLmFtCisrKyBiL0dOVW1ha2VmaWxlLmFtCkBA
IC0xMjQsNiArMTI0LDcgQEAgbGliSmF2YVNjcmlwdENvcmVfbGFfU09VUkNFUyA9IFwKIGxpYkph
dmFTY3JpcHRDb3JlX2xhX0xJQkFERCA9IFwKIAkkKFVOSUNPREVfTElCUykgXAogCSQoR0xJQl9M
SUJTKSBcCisJJChPUEFHRU5UX0xJQlMpIFwKIAktbHB0aHJlYWQKIAogbGliSmF2YVNjcmlwdENv
cmVfbGFfQ1hYRkxBR1MgPSBcCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cg
Yi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggYWE0ZmEzMi4uYWUwODgzZiAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEwLTEyLTA3ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdh
bGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBQcm92aWRlIGEgT1Byb2ZpbGUgSklUIGFnZW50IChvcGFnZW50KSBmb3IgdGhlIGNvZGUgZ2Vu
ZXJhdGVkIGJ5IHRoZSBKSVQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTMyNTYxCisKKyAgICAgICAgQmFzZWQgb24gdGhlIHdvcmsgYnkgSG9sZ2VyIEZy
ZXl0aGVyLCBHYWJvciBMb2tpIGFuZCBab2x0YW4gSGVyY3plZy4KKworICAgICAgICBBZGQgSklU
UHJvZmlsZUFnZW50LCBhIG5ldyBjbGFzcyBpbiB0b29scy8gd2l0aCB0aGUgYmFzaWMgbWV0aG9k
cworICAgICAgICB0byBhbm5vdGF0ZSB0aGUgSklUIGNvZGUsIGFuZCBob29rIGl0IHVwIGluIHRo
ZSByZWxldmFudCBwbGFjZXMKKyAgICAgICAgdGhyb3VnaG91dCBKYXZhU2NyaXB0Q29yZS8uIElu
Y2x1ZGVkIGlzIGFuIE9Qcm9maWxlIGltcGxlbWVudGF0aW9uCisgICAgICAgIGZvciBMaW51eCBz
eXN0ZW1zLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06IEFkZCBKSVRQcm9maWxlQWdlbnQg
ZmlsZXMuCisgICAgICAgICogYXNzZW1ibGVyL0xpbmtCdWZmZXIuaDoKKyAgICAgICAgKEpTQzo6
TGlua0J1ZmZlcjo6c2l6ZSk6IE1ldGhvZCB0byByZXR1biB0aGUgc2l6ZSBvZiB0aGUgYnVmZmVy
LAorICAgICAgICBuZWVkZWQgZm9yIHRoZSBjb2RlIGFubm90YXRpb24gYnkgdGhlIEpJVCBwcm9m
aWxlIG1ldGhvZHMuCisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmg6CisgICAgICAgIChK
U0M6OkNvZGVCbG9jazo6bGluZUluZm8pOiBhY2Nlc3NvciBmb3IgdGhlIGxpbmVJbmZvIGRhdGEu
CisgICAgICAgICogaml0L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBp
bGUpOiBDYWxsIG91dCB0byB0aGUgSklUUHJvZmlsZUFnZW50IHRvCisgICAgICAgIGFubm90YXRl
IGdlbmVyYXRlZCBjb2RlLgorICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAg
KEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFtcG9saW5lcyk6IGRpdHRvLgor
ICAgICAgICAqIGppdC9KSVRPcGNvZGVzMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnBy
aXZhdGVDb21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVzKTogZGl0dG8uCisgICAgICAgICogaml0
L0pJVFByb3BlcnR5QWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGls
ZVB1dEJ5SWRUcmFuc2l0aW9uKTogZGl0dG8uCisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNv
bXBpbGVQYXRjaEdldEFycmF5TGVuZ3RoKTogZGl0dG8uCisgICAgICAgIChKU0M6OkpJVDo6cHJp
dmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG8pOiBkaXR0by4KKyAgICAgICAgKEpTQzo6SklUOjpwcml2
YXRlQ29tcGlsZUdldEJ5SWRTZWxmTGlzdCk6IGRpdHRvLgorICAgICAgICAoSlNDOjpKSVQ6OnBy
aXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdCk6IGRpdHRvLgorICAgICAgICAoSlNDOjpKSVQ6
OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluTGlzdCk6IGRpdHRvLgorICAgICAgICAoSlNDOjpK
SVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluKTogZGl0dG8uCisgICAgICAgICogaml0L0pJ
VFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21w
aWxlUHV0QnlJZFRyYW5zaXRpb24pOiBkaXR0by4KKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRl
Q29tcGlsZVBhdGNoR2V0QXJyYXlMZW5ndGgpOiBkaXR0by4KKyAgICAgICAgKEpTQzo6SklUOjpw
cml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6IGRpdHRvLgorICAgICAgICAoSlNDOjpKSVQ6OnBy
aXZhdGVDb21waWxlR2V0QnlJZFNlbGZMaXN0KTogZGl0dG8uCisgICAgICAgIChKU0M6OkpJVDo6
cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KTogZGl0dG8uCisgICAgICAgIChKU0M6OkpJ
VDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KTogZGl0dG8uCisgICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4pOiBkaXR0by4KKyAgICAgICAgKiBqc2Mu
Y3BwOiBTdXBwb3J0IHByb2ZpbGluZyBvZiB0aGUgSklUIGNvZGUgd2l0aCAtcC4KKyAgICAgICAg
KiBydW50aW1lL0V4ZWN1dGFibGUuaDoKKyAgICAgICAgKEpTQzo6RXZhbEV4ZWN1dGFibGU6Ompp
dENvZGVUeXBlKTogUmV0dXJuIHByb3BlciBKSVQgY29kZVR5cGUgZm9yIHRoZSBFeGVjdXRhYmxl
LgorICAgICAgICAoSlNDOjpQcm9ncmFtRXhlY3V0YWJsZTo6aml0Q29kZVR5cGUpOiBkaXR0by4K
KyAgICAgICAgKEpTQzo6RnVuY3Rpb25FeGVjdXRhYmxlOjpqaXRDb2RlVHlwZSk6IGRpdHRvLgor
ICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxEYXRhLmg6CisgICAgICAgICogdG9vbHMvSklUUHJv
ZmlsZUFnZW50LmNwcDogQWRkZWQuCisgICAgICAgICogdG9vbHMvSklUUHJvZmlsZUFnZW50Lmg6
IEFkZGVkLgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorICAgICAgICAqIHlhcnIvUmVnZXhK
SVQuY3BwOgorICAgICAgICAoSlNDOjpZYXJyOjpSZWdleEdlbmVyYXRvcjo6Y29tcGlsZSk6IENh
bGwgb3V0IHRvIHRoZQorICAgICAgICBKSVRQcm9maWxlQWdlbnQgdG8gYW5ub3RhdGUgZ2VuZXJh
dGVkIGNvZGUuCisKIDIwMTAtMTItMDUgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFdpbmRvd3MgcHJvZHVjdGlvbiBidWlsZCBmaXgKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtIGIvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0K
aW5kZXggODlmOWFiNy4uNjczYjE5NSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvR05VbWFr
ZWZpbGUuYW0KKysrIGIvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTEzLDYgKzEz
LDcgQEAgamF2YXNjcmlwdGNvcmVfY3BwZmxhZ3MgKz0gXAogCS1JJChzcmNkaXIpL0phdmFTY3Jp
cHRDb3JlL3BjcmUgXAogCS1JJChzcmNkaXIpL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyIFwKIAkt
SSQoc3JjZGlyKS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lIFwKKwktSSQoc3JjZGlyKS9KYXZhU2Ny
aXB0Q29yZS90b29scyBcCiAJLUkkKHNyY2RpcikvSmF2YVNjcmlwdENvcmUvd3RmIFwKIAktSSQo
c3JjZGlyKS9KYXZhU2NyaXB0Q29yZS93dGYgXAogCS1JJChzcmNkaXIpL0phdmFTY3JpcHRDb3Jl
L3d0Zi9nb2JqZWN0IFwKQEAgLTQxNCw2ICs0MTUsOCBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2Vz
ICs9IFwKIAlKYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oIFwKIAlKYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oIFwKIAlKYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtS
YW5kb20uaCBcCisJSmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFnZW50LmNwcCBcCisJ
SmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFnZW50LmggXAogCUphdmFTY3JpcHRDb3Jl
L3d0Zi9BbHdheXNJbmxpbmUuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL0FTQ0lJQ1R5cGUuaCBc
CiAJSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuY3BwIFwKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvTGlua0J1ZmZlci5oCmluZGV4IGUzOGI5ZDQuLmUxYjBjNzIgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL0xpbmtCdWZmZXIuaApAQCAtMTgyLDYgKzE4MiwxMyBAQCBwdWJsaWM6CiAgICAgICAg
IHJldHVybiBDb2RlUHRyKE1hY3JvQXNzZW1ibGVyOjpBc3NlbWJsZXJUeXBlX1Q6OmdldFJlbG9j
YXRlZEFkZHJlc3MoY29kZSgpLCBhcHBseU9mZnNldChsYWJlbC5tX2xhYmVsKSkpOwogICAgIH0K
IAorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0
CisgICAgeworICAgICAgICByZXR1cm4gbV9zaXplOworICAgIH0KKyNlbmRpZgorCiBwcml2YXRl
OgogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBUIGFwcGx5T2Zmc2V0KFQgc3JjKQogICAgIHsK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKaW5kZXggN2VjYTcyYS4uYjI0MGQyOCAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKQEAgLTQ1NCw2ICs0NTQsMTEgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgICAgICAgICByZXR1cm4gbV9yYXJlRGF0YSAmJgogICAgICAgICAgICAg
ICAgIChtX3JhcmVEYXRhLT5tX2V4cHJlc3Npb25JbmZvLnNpemUoKSB8fCBtX3JhcmVEYXRhLT5t
X2xpbmVJbmZvLnNpemUoKSB8fCBtX3JhcmVEYXRhLT5tX2V4Y2VwdGlvbkhhbmRsZXJzLnNpemUo
KSk7CiAgICAgICAgIH0KKyAgICAgICAgVmVjdG9yPExpbmVJbmZvPiYgbGluZUluZm8oKQorICAg
ICAgICB7CisgICAgICAgICAgICBjcmVhdGVSYXJlRGF0YUlmTmVjZXNzYXJ5KCk7CisgICAgICAg
ICAgICByZXR1cm4gbV9yYXJlRGF0YS0+bV9saW5lSW5mbzsKKyAgICAgICAgfQogCiAjaWYgRU5B
QkxFKEpJVCkKICAgICAgICAgVmVjdG9yPENhbGxSZXR1cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0
PiYgY2FsbFJldHVybkluZGV4VmVjdG9yKCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVQuY3BwIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggMDE0MDFhNy4uZWYz
YmVhZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKKysrIGIvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5jcHAKQEAgLTU5MSw3ICs1OTEsMTAgQEAgSklUQ29kZSBKSVQ6OnBy
aXZhdGVDb21waWxlKENvZGVQdHIqIGZ1bmN0aW9uRW50cnlBcml0eUNoZWNrKQogICAgICAgICAq
ZnVuY3Rpb25FbnRyeUFyaXR5Q2hlY2sgPSBwYXRjaEJ1ZmZlci5sb2NhdGlvbk9mKGFyaXR5Q2hl
Y2spOwogICAgIH0KIAotICAgIHJldHVybiBwYXRjaEJ1ZmZlci5maW5hbGl6ZUNvZGUoKTsKKyAg
ICBKSVRDb2RlIGNvZGUgPSBwYXRjaEJ1ZmZlci5maW5hbGl6ZUNvZGUoKTsKKyAgICBSRUNPUkRf
SklUX0NPREVfQ09ERUJMT0NLKG1fZ2xvYmFsRGF0YSwgY29kZS5hZGRyZXNzRm9yQ2FsbCgpLmV4
ZWN1dGFibGVBZGRyZXNzKCksIGNvZGUuc2l6ZSgpLCBtX2NvZGVCbG9jayk7CisgICAgQU5OT1RB
VEVfSklUX0NPREUobV9nbG9iYWxEYXRhLCBjb2RlLmFkZHJlc3NGb3JDYWxsKCkuZXhlY3V0YWJs
ZUFkZHJlc3MoKSwgbV9jb2RlQmxvY2ssIG1fY29kZUJsb2NrLT5zb3VyY2UoKS0+dXJsKCkpOwor
ICAgIHJldHVybiBjb2RlOwogfQogCiAjaWYgVVNFKEpTVkFMVUU2NCkKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGNvZGVzLmNwcAppbmRleCA5NzJiODc5Li5jZGJjMmZiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29k
ZXMuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJBcmd1bWVudHMuaCIKICNpbmNs
dWRlICJKSVRJbmxpbmVNZXRob2RzLmgiCisjaW5jbHVkZSAiSklUUHJvZmlsZUFnZW50LmgiCiAj
aW5jbHVkZSAiSklUU3R1YkNhbGwuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCiAjaW5jbHVkZSAi
SlNDZWxsLmgiCkBAIC0xNzUsNiArMTc2LDggQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlQ1RJ
TWFjaGluZVRyYW1wb2xpbmVzKFJlZlB0cjxFeGVjdXRhYmxlUG9vbD4qIGV4ZWN1dGFibGUKICAg
ICBDb2RlUmVmIGZpbmFsQ29kZSA9IHBhdGNoQnVmZmVyLmZpbmFsaXplQ29kZSgpOwogICAgICpl
eGVjdXRhYmxlUG9vbCA9IGZpbmFsQ29kZS5tX2V4ZWN1dGFibGVQb29sOwogCisgICAgUkVDT1JE
X0pJVF9UUkFNUE9MSU5FUyhtX2dsb2JhbERhdGEsIGZpbmFsQ29kZS5tX2NvZGUuZXhlY3V0YWJs
ZUFkZHJlc3MoKSwgbV9jb2RlQmxvY2ssIGZpbmFsQ29kZS5tX3NpemUpCisKICAgICB0cmFtcG9s
aW5lcy0+Y3RpVmlydHVhbENhbGxMaW5rID0gcGF0Y2hCdWZmZXIudHJhbXBvbGluZUF0KHZpcnR1
YWxDYWxsTGlua0JlZ2luKTsKICAgICB0cmFtcG9saW5lcy0+Y3RpVmlydHVhbENvbnN0cnVjdExp
bmsgPSBwYXRjaEJ1ZmZlci50cmFtcG9saW5lQXQodmlydHVhbENvbnN0cnVjdExpbmtCZWdpbik7
CiAgICAgdHJhbXBvbGluZXMtPmN0aVZpcnR1YWxDYWxsID0gcGF0Y2hCdWZmZXIudHJhbXBvbGlu
ZUF0KHZpcnR1YWxDYWxsQmVnaW4pOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wY29kZXMzMl82NC5jcHAgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNw
cAppbmRleCA0YWQ5NzRjLi44YmE3Yzg0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3Bjb2RlczMyXzY0LmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMy
XzY0LmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkpJVC5oIgogCiAjaW5jbHVkZSAi
SklUSW5saW5lTWV0aG9kcy5oIgorI2luY2x1ZGUgIkpJVFByb2ZpbGVBZ2VudC5oIgogI2luY2x1
ZGUgIkpJVFN0dWJDYWxsLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgogI2luY2x1ZGUgIkpTQ2Vs
bC5oIgpAQCAtMTc2LDYgKzE3Nyw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hp
bmVUcmFtcG9saW5lcyhSZWZQdHI8RXhlY3V0YWJsZVBvb2w+KiBleGVjdXRhYmxlCiAgICAgQ29k
ZVJlZiBmaW5hbENvZGUgPSBwYXRjaEJ1ZmZlci5maW5hbGl6ZUNvZGUoKTsKICAgICAqZXhlY3V0
YWJsZVBvb2wgPSBmaW5hbENvZGUubV9leGVjdXRhYmxlUG9vbDsKIAorICAgIFJFQ09SRF9KSVRf
VFJBTVBPTElORVMobV9nbG9iYWxEYXRhLCBmaW5hbENvZGUubV9jb2RlLmV4ZWN1dGFibGVBZGRy
ZXNzKCksIG1fY29kZUJsb2NrLCBmaW5hbENvZGUubV9zaXplKTsKKwogICAgIHRyYW1wb2xpbmVz
LT5jdGlWaXJ0dWFsQ2FsbCA9IHBhdGNoQnVmZmVyLnRyYW1wb2xpbmVBdCh2aXJ0dWFsQ2FsbEJl
Z2luKTsKICAgICB0cmFtcG9saW5lcy0+Y3RpVmlydHVhbENvbnN0cnVjdCA9IHBhdGNoQnVmZmVy
LnRyYW1wb2xpbmVBdCh2aXJ0dWFsQ29uc3RydWN0QmVnaW4pOwogICAgIHRyYW1wb2xpbmVzLT5j
dGlOYXRpdmVDYWxsID0gcGF0Y2hCdWZmZXIudHJhbXBvbGluZUF0KG5hdGl2ZUNhbGxUaHVuayk7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwIGIv
SmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAppbmRleCAxYjk1ZWVjLi42
N2JjYTIxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3Mu
Y3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKQEAgLTMy
LDYgKzMyLDcgQEAKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJHZXR0ZXJTZXR0
ZXIuaCIKICNpbmNsdWRlICJKSVRJbmxpbmVNZXRob2RzLmgiCisjaW5jbHVkZSAiSklUUHJvcGVy
dHlBY2Nlc3MuaCIKICNpbmNsdWRlICJKSVRTdHViQ2FsbC5oIgogI2luY2x1ZGUgIkpTQXJyYXku
aCIKICNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCkBAIC02NTYsNiArNjU3LDggQEAgdm9pZCBKSVQ6
OnByaXZhdGVDb21waWxlUHV0QnlJZFRyYW5zaXRpb24oU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJ
bmZvLCBTdHJ1Y3R1cmUKICAgICBzdHViSW5mby0+c3R1YlJvdXRpbmUgPSBlbnRyeUxhYmVsOwog
ICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CiAgICAgcmVwYXRj
aEJ1ZmZlci5yZWxpbmtDYWxsZXJUb1RyYW1wb2xpbmUocmV0dXJuQWRkcmVzcywgZW50cnlMYWJl
bCk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmxlLmV4ZWN1
dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpQdXRC
eUlEVHJhbnNpdGlvbik7CiB9CiAKIHZvaWQgSklUOjpwYXRjaEdldEJ5SWRTZWxmKENvZGVCbG9j
ayogY29kZUJsb2NrLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJl
c3MpCkBAIC03NTQsNiArNzU3LDggQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlUGF0Y2hHZXRB
cnJheUxlbmd0aChSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MpCiAKICAgICAvLyBXZSBk
b24ndCB3YW50IHRvIHBhdGNoIG1vcmUgdGhhbiBvbmNlIC0gaW4gZnV0dXJlIGdvIHRvIGN0aV9v
cF9wdXRfYnlfaWRfZ2VuZXJpYy4KICAgICByZXBhdGNoQnVmZmVyLnJlbGlua0NhbGxlclRvRnVu
Y3Rpb24ocmV0dXJuQWRkcmVzcywgRnVuY3Rpb25QdHIoY3RpX29wX2dldF9ieV9pZF9hcnJheV9m
YWlsKSk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmxlLmV4
ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpH
ZXRBcnJheUxlbmd0aCk7CiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90
byhTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJ1
Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIGNvbnN0
IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwgUmV0dXJuQWRkcmVzc1B0
ciByZXR1cm5BZGRyZXNzLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTgyMyw2ICs4MjgsOCBA
QCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG8oU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cgogCiAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBwYXRj
aCBtb3JlIHRoYW4gb25jZSAtIGluIGZ1dHVyZSBnbyB0byBjdGlfb3BfcHV0X2J5X2lkX2dlbmVy
aWMuCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb0Z1bmN0aW9uKHJldHVybkFkZHJl
c3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfcHJvdG9fbGlzdCkpOworCisgICAgUkVD
T1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlMYWJsZS5leGVjdXRhYmxlQWRkcmVzcygp
LCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVBZ2VudDo6R2V0QnlJRFByb3RvKTsKIH0K
IAogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNlbGZMaXN0KFN0cnVjdHVyZVN0dWJJ
bmZvKiBzdHViSW5mbywgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBwb2x5bW9ycGhp
Y1N0cnVjdHVyZXMsIGludCBjdXJyZW50SW5kZXgsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25z
dCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3QgY2Fj
aGVkT2Zmc2V0KQpAQCAtODgxLDYgKzg4OCw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdl
dEJ5SWRTZWxmTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBvbHltb3JwaGljCiAg
ICAgQ29kZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJlZ2lu
Lmp1bXBBdE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAgICBS
ZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZm
ZXIucmVsaW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyAgICBSRUNPUkRfSklUX0NP
REUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmxlLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVm
ZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRCeUlEU2VsZkxpc3QpOwogfQogCiB2b2lk
IEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiBz
dHViSW5mbywgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBwcm90b3R5cGVTdHJ1Y3R1
cmVzLCBpbnQgY3VycmVudEluZGV4LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlKiBw
cm90b3R5cGVTdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0
eVNsb3QmIHNsb3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIENhbGxGcmFtZSogY2FsbEZyYW1lKQpA
QCAtOTUxLDYgKzk2MCw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90b0xp
c3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpCiAgICAgQ29kZUxvY2F0
aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJlZ2luLmp1bXBBdE9mZnNl
dChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAgICBSZXBhdGNoQnVmZmVy
IHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGp1
bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxE
YXRhLCBlbnRyeUxhYmxlLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwg
SklUUHJvZmlsZUFnZW50OjpHZXRCeUlEUHJvdG9MaXN0KTsKIH0KIAogdm9pZCBKSVQ6OnByaXZh
dGVDb21waWxlR2V0QnlJZENoYWluTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBv
bHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCogcHJvdG90eXBlU3RydWN0dXJlcywgaW50IGN1
cnJlbnRJbmRleCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZUNoYWluKiBjaGFpbiwg
c2l6ZV90IGNvdW50LCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90
JiBzbG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTEw
MjEsNiArMTAzMiw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbkxpc3Qo
U3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpCiAgICAgQ29kZUxvY2F0aW9u
SnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJlZ2luLmp1bXBBdE9mZnNldChw
YXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAgICBSZXBhdGNoQnVmZmVyIHJl
cGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGp1bXBM
b2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRh
LCBlbnRyeUxhYmxlLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklU
UHJvZmlsZUFnZW50OjpHZXRCeUlEQ2hhaW5MaXN0KTsKIH0KIAogdm9pZCBKSVQ6OnByaXZhdGVD
b21waWxlR2V0QnlJZENoYWluKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZUNoYWluKiBjaGFpbiwgc2l6ZV90IGNvdW50LCBjb25zdCBJ
ZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3QgY2FjaGVk
T2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MsIENhbGxGcmFtZSogY2FsbEZy
YW1lKQpAQCAtMTA4OSw2ICsxMTAyLDggQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJ
ZENoYWluKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJlKiBzdHIKIAogICAg
IC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFuIG9uY2UgLSBpbiBmdXR1cmUgZ28g
dG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rQ2Fs
bGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0cihjdGlfb3BfZ2V0X2J5X2lk
X3Byb3RvX2xpc3QpKTsKKworICAgIFJFQ09SRF9KSVRfQ09ERShtX2dsb2JhbERhdGEsIGVudHJ5
TGFibGUuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCBKSVRQcm9maWxl
QWdlbnQ6OkdldEJ5SURDaGFpbik7CiB9CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSBFTkQ6ICFFTkFCTEUgLyBFTkFCTEUoSklUX09QVElNSVpFX1BST1BFUlRZX0FDQ0VTUykg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAgYi9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKaW5kZXggNzEwYTE1NS4uZjM5MWMzZCAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCisrKyBi
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcApAQCAtNjcyLDYg
KzY3Miw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZVB1dEJ5SWRUcmFuc2l0aW9uKFN0cnVj
dHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJlCiAgICAgc3R1YkluZm8tPnN0dWJSb3V0
aW5lID0gZW50cnlMYWJlbDsKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2Rl
QmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rQ2FsbGVyVG9UcmFtcG9saW5lKHJldHVy
bkFkZHJlc3MsIGVudHJ5TGFiZWwpOworCisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0
YSwgZW50cnlMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJ
VFByb2ZpbGVBZ2VudDo6UHV0QnlJRFRyYW5zaXRpb24pOwogfQogCiB2b2lkIEpJVDo6cGF0Y2hH
ZXRCeUlkU2VsZihDb2RlQmxvY2sqIGNvZGVCbG9jaywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJ
bmZvLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgc2l6ZV90IGNhY2hlZE9mZnNldCwgUmV0dXJuQWRk
cmVzc1B0ciByZXR1cm5BZGRyZXNzKQpAQCAtNzc1LDYgKzc3Nyw4IEBAIHZvaWQgSklUOjpwcml2
YXRlQ29tcGlsZVBhdGNoR2V0QXJyYXlMZW5ndGgoUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRy
ZXNzKQogICAgIAogICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFuIG9uY2Ug
LSBpbiBmdXR1cmUgZ28gdG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIHJlcGF0Y2hC
dWZmZXIucmVsaW5rQ2FsbGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0cihj
dGlfb3BfZ2V0X2J5X2lkX2FycmF5X2ZhaWwpKTsKKworICAgIFJFQ09SRF9KSVRfQ09ERShtX2ds
b2JhbERhdGEsIGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6
ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEFycmF5TGVuZ3RoKTsKIH0KIAogdm9pZCBKSVQ6OnBy
aXZhdGVDb21waWxlR2V0QnlJZFByb3RvKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0dXJlLCBjb25zdCBJ
ZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3QgY2FjaGVk
T2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MsIENhbGxGcmFtZSogY2FsbEZy
YW1lKQpAQCAtODQ2LDYgKzg1MCw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQ
cm90byhTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RyCiAgICAgCiAg
ICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBwYXRjaCBtb3JlIHRoYW4gb25jZSAtIGluIGZ1dHVyZSBn
byB0byBjdGlfb3BfcHV0X2J5X2lkX2dlbmVyaWMuCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtD
YWxsZXJUb0Z1bmN0aW9uKHJldHVybkFkZHJlc3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlf
aWRfcHJvdG9fbGlzdCkpOworCisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50
cnlMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2Zp
bGVBZ2VudDo6R2V0QnlJRFByb3RvKTsKIH0KIAogCkBAIC05MDUsNiArOTExLDggQEAgdm9pZCBK
SVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNlbGZMaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiBzdHVi
SW5mbywgUG9seW1vcnBoaWMKICAgICBDb2RlTG9jYXRpb25KdW1wIGp1bXBMb2NhdGlvbiA9IHN0
dWJJbmZvLT5ob3RQYXRoQmVnaW4uanVtcEF0T2Zmc2V0KHBhdGNoT2Zmc2V0R2V0QnlJZEJyYW5j
aFRvU2xvd0Nhc2UpOwogICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9j
ayk7CiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoanVtcExvY2F0aW9uLCBlbnRyeUxhYmVsKTsK
KworICAgIFJFQ09SRF9KSVRfQ09ERShtX2dsb2JhbERhdGEsIGVudHJ5TGFiZWwuZXhlY3V0YWJs
ZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEJ5SURT
ZWxmTGlzdCk7CiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90b0xpc3Qo
U3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxp
c3QqIHByb3RvdHlwZVN0cnVjdHVyZXMsIGludCBjdXJyZW50SW5kZXgsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYg
aWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwgQ2Fs
bEZyYW1lKiBjYWxsRnJhbWUpCkBAIC05NzQsNiArOTgyLDggQEAgdm9pZCBKSVQ6OnByaXZhdGVD
b21waWxlR2V0QnlJZFByb3RvTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBvbHlt
b3JwaGkKICAgICBDb2RlTG9jYXRpb25KdW1wIGp1bXBMb2NhdGlvbiA9IHN0dWJJbmZvLT5ob3RQ
YXRoQmVnaW4uanVtcEF0T2Zmc2V0KHBhdGNoT2Zmc2V0R2V0QnlJZEJyYW5jaFRvU2xvd0Nhc2Up
OwogICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CiAgICAgcmVw
YXRjaEJ1ZmZlci5yZWxpbmsoanVtcExvY2F0aW9uLCBlbnRyeUxhYmVsKTsKKworICAgIFJFQ09S
RF9KSVRfQ09ERShtX2dsb2JhbERhdGEsIGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwg
cGF0Y2hCdWZmZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEJ5SURQcm90b0xpc3QpOwog
fQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KFN0cnVjdHVyZVN0
dWJJbmZvKiBzdHViSW5mbywgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBwcm90b3R5
cGVTdHJ1Y3R1cmVzLCBpbnQgY3VycmVudEluZGV4LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3Ry
dWN0dXJlQ2hhaW4qIGNoYWluLCBzaXplX3QgY291bnQsIGNvbnN0IElkZW50aWZpZXImIGlkZW50
LCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIENhbGxGcmFt
ZSogY2FsbEZyYW1lKQpAQCAtMTA0NCw2ICsxMDU0LDggQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21w
aWxlR2V0QnlJZENoYWluTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBvbHltb3Jw
aGkKICAgICBDb2RlTG9jYXRpb25KdW1wIGp1bXBMb2NhdGlvbiA9IHN0dWJJbmZvLT5ob3RQYXRo
QmVnaW4uanVtcEF0T2Zmc2V0KHBhdGNoT2Zmc2V0R2V0QnlJZEJyYW5jaFRvU2xvd0Nhc2UpOwog
ICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CiAgICAgcmVwYXRj
aEJ1ZmZlci5yZWxpbmsoanVtcExvY2F0aW9uLCBlbnRyeUxhYmVsKTsKKworICAgIFJFQ09SRF9K
SVRfQ09ERShtX2dsb2JhbERhdGEsIGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0
Y2hCdWZmZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEJ5SURDaGFpbkxpc3QpOwogfQog
CiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4oU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlQ2hhaW4qIGNoYWluLCBz
aXplX3QgY291bnQsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0eVNsb3Qm
IHNsb3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVz
cywgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCkBAIC0xMTExLDYgKzExMjMsOCBAQCB2b2lkIEpJVDo6
cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4oU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBT
dHJ1Y3R1cmUqIHN0cgogICAgIAogICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0
aGFuIG9uY2UgLSBpbiBmdXR1cmUgZ28gdG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAg
IHJlcGF0Y2hCdWZmZXIucmVsaW5rQ2FsbGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5j
dGlvblB0cihjdGlfb3BfZ2V0X2J5X2lkX3Byb3RvX2xpc3QpKTsKKworICAgIFJFQ09SRF9KSVRf
Q09ERShtX2dsb2JhbERhdGEsIGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hC
dWZmZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEJ5SURDaGFpbik7CiB9CiAKIC8qIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFTkQ6ICFFTkFCTEUgLyBFTkFCTEUoSklUX09Q
VElNSVpFX1BST1BFUlRZX0FDQ0VTUykgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICov
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwIGIvSmF2YVNjcmlwdENvcmUvanNj
LmNwcAppbmRleCA1NDM5YmFkLi4yYjg1MzA4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9q
c2MuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKQEAgLTEwMiwxMSArMTAyLDE3IEBA
IHN0cnVjdCBPcHRpb25zIHsKICAgICBPcHRpb25zKCkKICAgICAgICAgOiBpbnRlcmFjdGl2ZShm
YWxzZSkKICAgICAgICAgLCBkdW1wKGZhbHNlKQorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VO
VCkKKyAgICAgICAgLCBqaXRQcm9maWxlKGZhbHNlKQorI2VuZGlmCiAgICAgewogICAgIH0KIAog
ICAgIGJvb2wgaW50ZXJhY3RpdmU7CiAgICAgYm9vbCBkdW1wOworI2lmIEVOQUJMRShKSVRfUFJP
RklMRV9BR0VOVCkKKyAgICBib29sIGppdFByb2ZpbGU7CisjZW5kaWYKICAgICBWZWN0b3I8U2Ny
aXB0PiBzY3JpcHRzOwogICAgIFZlY3RvcjxVU3RyaW5nPiBhcmd1bWVudHM7CiB9OwpAQCAtNDY1
LDYgKzQ3MSw5IEBAIHN0YXRpYyBOT19SRVRVUk4gdm9pZCBwcmludFVzYWdlU3RhdGVtZW50KEpT
R2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgYm9vbCBoZWxwID0KICAgICBmcHJpbnRmKHN0ZGVyciwg
IiAgLWYgICAgICAgICBTcGVjaWZpZXMgYSBzb3VyY2UgZmlsZSAoZGVwcmVjYXRlZClcbiIpOwog
ICAgIGZwcmludGYoc3RkZXJyLCAiICAtaHwtLWhlbHAgIFByaW50cyB0aGlzIGhlbHAgbWVzc2Fn
ZVxuIik7CiAgICAgZnByaW50ZihzdGRlcnIsICIgIC1pICAgICAgICAgRW5hYmxlcyBpbnRlcmFj
dGl2ZSBtb2RlIChkZWZhdWx0IGlmIG5vIGZpbGVzIGFyZSBzcGVjaWZpZWQpXG4iKTsKKyNpZiBF
TkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgZnByaW50ZihzdGRlcnIsICIgIC1wICAgICAg
ICAgRW5hYmxlcyBKSVQgcHJvZmlsZSBhZ2VudFxuIik7CisjZW5kaWYKICNpZiBIQVZFKFNJR05B
TF9IKQogICAgIGZwcmludGYoc3RkZXJyLCAiICAtcyAgICAgICAgIEluc3RhbGxzIHNpZ25hbCBo
YW5kbGVycyB0aGF0IGV4aXQgb24gYSBjcmFzaCAoVW5peCBwbGF0Zm9ybXMgb25seSlcbiIpOwog
I2VuZGlmCkBAIC00OTgsNiArNTA3LDEyIEBAIHN0YXRpYyB2b2lkIHBhcnNlQXJndW1lbnRzKGlu
dCBhcmdjLCBjaGFyKiogYXJndiwgT3B0aW9ucyYgb3B0aW9ucywgSlNHbG9iYWxEYXRhCiAgICAg
ICAgICAgICBvcHRpb25zLmR1bXAgPSB0cnVlOwogICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgIH0KKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgICAgIGlmICghc3RyY21w
KGFyZywgIi1wIikpIHsKKyAgICAgICAgICAgIG9wdGlvbnMuaml0UHJvZmlsZSA9IHRydWU7Cisg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGlmICghc3Ry
Y21wKGFyZywgIi1zIikpIHsKICNpZiBIQVZFKFNJR05BTF9IKQogICAgICAgICAgICAgc2lnbmFs
KFNJR0lMTCwgX2V4aXQpOwpAQCAtNTMxLDYgKzU0Niw5IEBAIGludCBqc2NtYWluKGludCBhcmdj
LCBjaGFyKiogYXJndiwgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhKQogICAgIHBhcnNlQXJndW1l
bnRzKGFyZ2MsIGFyZ3YsIG9wdGlvbnMsIGdsb2JhbERhdGEpOwogCiAgICAgR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QgPSBuZXcgKGdsb2JhbERhdGEpIEdsb2JhbE9iamVjdChvcHRpb25zLmFy
Z3VtZW50cyk7CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIGdsb2JhbERhdGEt
PmppdFByb2ZpbGVBZ2VudC5zZXRFbmFibGVkKG9wdGlvbnMuaml0UHJvZmlsZSk7CisjZW5kaWYK
ICAgICBib29sIHN1Y2Nlc3MgPSBydW5XaXRoU2NyaXB0cyhnbG9iYWxPYmplY3QsIG9wdGlvbnMu
c2NyaXB0cywgb3B0aW9ucy5kdW1wKTsKICAgICBpZiAob3B0aW9ucy5pbnRlcmFjdGl2ZSAmJiBz
dWNjZXNzKQogICAgICAgICBydW5JbnRlcmFjdGl2ZShnbG9iYWxPYmplY3QpOwpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmggYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0V4ZWN1dGFibGUuaAppbmRleCAxNGVkOTI3Li44NTE3N2Y4IDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0V4ZWN1dGFibGUuaApAQCAtMTc3LDYgKzE3NywxMCBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgYm9vbCBuZWVkc0FjdGl2YXRpb24oKSBjb25zdCB7IHJldHVybiBtX2hhc0NhcHR1
cmVkVmFyaWFibGVzIHx8IG1fZmVhdHVyZXMgJiAoRXZhbEZlYXR1cmUgfCBXaXRoRmVhdHVyZSB8
IENhdGNoRmVhdHVyZSk7IH0KICAgICAgICAgYm9vbCBpc1N0cmljdE1vZGUoKSBjb25zdCB7IHJl
dHVybiBtX2ZlYXR1cmVzICYgU3RyaWN0TW9kZUZlYXR1cmU7IH0KIAorI2lmIEVOQUJMRShKSVRf
UFJPRklMRV9BR0VOVCkKKyAgICAgICAgdmlydHVhbCBKSVRQcm9maWxlQWdlbnQ6OkpJVENvZGVU
eXBlIGppdENvZGVUeXBlKCkgPSAwOworI2VuZGlmCisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAg
IHZvaWQgcmVjb3JkUGFyc2UoQ29kZUZlYXR1cmVzIGZlYXR1cmVzLCBib29sIGhhc0NhcHR1cmVk
VmFyaWFibGVzLCBpbnQgZmlyc3RMaW5lLCBpbnQgbGFzdExpbmUpCiAgICAgICAgIHsKQEAgLTIy
Miw2ICsyMjYsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KICNlbmRpZgogCisjaWYg
RU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgICAgICBKSVRQcm9maWxlQWdlbnQ6OkpJVENv
ZGVUeXBlIGppdENvZGVUeXBlKCkgeyByZXR1cm4gSklUUHJvZmlsZUFnZW50OjpFdmFsO30KKyNl
bmRpZgorCiAgICAgcHJpdmF0ZToKICAgICAgICAgRXZhbEV4ZWN1dGFibGUoRXhlY1N0YXRlKiwg
Y29uc3QgU291cmNlQ29kZSYsIGJvb2wpOwogCkBAIC0yNjMsNiArMjcxLDkgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5U
KQorICAgICAgICBKSVRQcm9maWxlQWdlbnQ6OkpJVENvZGVUeXBlIGppdENvZGVUeXBlKCkgeyBy
ZXR1cm4gSklUUHJvZmlsZUFnZW50OjpQcm9ncmFtOyB9CisjZW5kaWYKICAgICBwcml2YXRlOgog
ICAgICAgICBQcm9ncmFtRXhlY3V0YWJsZShFeGVjU3RhdGUqLCBjb25zdCBTb3VyY2VDb2RlJik7
CiAKQEAgLTM4NCw2ICszOTUsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIHJldHVy
biBtX2ppdENvZGVGb3JDb25zdHJ1Y3RXaXRoQXJpdHlDaGVjazsKICAgICAgICAgfQogI2VuZGlm
CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgICAgICBKSVRQcm9maWxlQWdlbnQ6
OkpJVENvZGVUeXBlIGppdENvZGVUeXBlKCkgeyByZXR1cm4gSklUUHJvZmlsZUFnZW50OjpGdW5j
dGlvbjsgfQorI2VuZGlmCiAgICAgfTsKIAogICAgIGlubGluZSBGdW5jdGlvbkV4ZWN1dGFibGUq
IEpTRnVuY3Rpb246OmpzRXhlY3V0YWJsZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbERhdGEuaAppbmRleCAxODE5YTBjLi40ZDI1ZmQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxEYXRhLmgKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJDb2xsZWN0b3IuaCIK
ICNpbmNsdWRlICJEYXRlSW5zdGFuY2VDYWNoZS5oIgogI2luY2x1ZGUgIkV4ZWN1dGFibGVBbGxv
Y2F0b3IuaCIKKyNpbmNsdWRlICJKSVRQcm9maWxlQWdlbnQuaCIKICNpbmNsdWRlICJKSVRTdHVi
cy5oIgogI2luY2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlICJNYXJrU3RhY2suaCIKQEAgLTE4
MSw2ICsxODIsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTGV4ZXIqIGxleGVyOwogICAg
ICAgICBQYXJzZXIqIHBhcnNlcjsKICAgICAgICAgSW50ZXJwcmV0ZXIqIGludGVycHJldGVyOwor
I2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICAgICAgSklUUHJvZmlsZUFnZW50IGpp
dFByb2ZpbGVBZ2VudDsKKyNlbmRpZgogI2lmIEVOQUJMRShKSVQpCiAgICAgICAgIE93blB0cjxK
SVRUaHVua3M+IGppdFN0dWJzOwogICAgICAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgZ2V0Q1RJ
U3R1YihUaHVua0dlbmVyYXRvciBnZW5lcmF0b3IpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS90b29scy9KSVRQcm9maWxlQWdlbnQuY3BwIGIvSmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJv
ZmlsZUFnZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NGEzMzVk
Ci0tLSAvZGV2L251bGwKKysrIGIvSmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFnZW50
LmNwcApAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBIb2xnZXIg
SGFucyBQZXRlciBGcmV5dGhlcgorICogQ29weXJpZ2h0IChDKSAyMDEwIFVuaXZlcnNpdHkgb2Yg
U3plZ2VkCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYg
RU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorCisjaW5jbHVkZSAiSklUUHJvZmlsZUFnZW50Lmgi
CisKKyNpbmNsdWRlICJDb2RlQmxvY2suaCIKKyNpbmNsdWRlICJKU0dsb2JhbERhdGEuaCIKKyNp
bmNsdWRlICJTb3VyY2VQcm92aWRlci5oIgorI2luY2x1ZGUgIlVTdHJpbmcuaCIKKyNpbmNsdWRl
ICJVU3RyaW5nQ29uY2F0ZW5hdGUuaCIKKyNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgorCitu
YW1lc3BhY2UgSlNDIHsKKworI2lmIEVOQUJMRShKSVRfT1BST0ZJTEVfQUdFTlQpCisKK3ZvaWQg
SklUUHJvZmlsZUFnZW50Ojppbml0QWdlbnQoKQoreworICAgIG1fdmlydHVhbE1lbW9yeVNlZ21l
bnRzLmNsZWFyKCk7CisgICAgbV9wcm9maWxlQWdlbnQgPSBvcF9vcGVuX2FnZW50KCk7CisgICAg
aWYgKG1fdHJhbXBvbGluZXMuY29kZSkKKyAgICAgICAgcmVjb3JkSklUQ29kZShtX3RyYW1wb2xp
bmVzLmNvZGUsIG1fdHJhbXBvbGluZXMuc2l6ZSwgbV90cmFtcG9saW5lcy5jb2RlQmxvY2ssIFRy
YW1wb2xpbmVzKTsKK30KKwordm9pZCBKSVRQcm9maWxlQWdlbnQ6OmRlaW5pdEFnZW50KCkKK3sK
KyAgICB1bnNpZ25lZCBpbnQgaSwgbiA9IG1fdmlydHVhbE1lbW9yeVNlZ21lbnRzLnNpemUoKTsK
KyAgICBmb3IgKGkgPSAwOyBpICE9IG47ICsraSkKKyAgICAgICAgb3BfdW5sb2FkX25hdGl2ZV9j
b2RlKG1fcHJvZmlsZUFnZW50LCByZWludGVycHJldF9jYXN0PHVpbnQ2NF90PihtX3ZpcnR1YWxN
ZW1vcnlTZWdtZW50c1tpXS5jb2RlKSk7CisgICAgbV92aXJ0dWFsTWVtb3J5U2VnbWVudHMuY2xl
YXIoKTsKKyAgICBvcF9jbG9zZV9hZ2VudChtX3Byb2ZpbGVBZ2VudCk7Cit9CisKK3N0YXRpYyBj
b25zdCBjaGFyKiBzeW1ib2xOYW1lVGFibGVbXSA9IHsKKyAgICAiPGppdC1wdXQtYnktaWQtdHJh
bnNpdGlvbj4iLAorICAgICI8aml0LWdldC1hcnJheS1sZW5ndGg+IiwKKyAgICAiPGppdC1nZXQt
YnktaWQtc2VsZi1saXN0PiIsCisgICAgIjxqaXQtZ2V0LWJ5LWlkLXByb3RvPiIsCisgICAgIjxq
aXQtZ2V0LWJ5LWlkLXByb3RvLWxpc3Q+IiwKKyAgICAiPGppdC1nZXQtYnktaWQtY2hhaW4+IiwK
KyAgICAiPGppdC1nZXQtYnktaWQtY2hhaW4tbGlzdD4iLAorICAgICI8aml0LXRyYW1wb2xpbmVz
PiIsCisgICAgIjxqaXQtcHJvZz4iLAorICAgICI8aml0LWZ1bmM+IiwKKyAgICAiPGppdC1mdW5j
LXJlcGFyc2VkPiIsCisgICAgIjxqaXQtZXZhbD4iLAorICAgICI8aml0LWV2YWwtcmVwYXJzZWQ+
IiwKKyAgICAiPGppdC15YXJyPiIKK307CisKK0NPTVBJTEVfQVNTRVJUKChzaXplb2Yoc3ltYm9s
TmFtZVRhYmxlKSAvIHNpemVvZihzeW1ib2xOYW1lVGFibGVbMF0pKSA9PSBKSVRQcm9maWxlQWdl
bnQ6Ok51bWJlck9mSklUQ29kZVR5cGVzLCBTeW1ib2xOYW1lVGFibGVfYW5kX0pJVENvZGVUeXBl
X211c3RfYmVfc2FtZV9zaXplKTsKKworc3RhdGljIGNvbnN0IFVTdHJpbmcgc3ltYm9sTmFtZUZy
b21UeXBlKEpJVFByb2ZpbGVBZ2VudDo6SklUQ29kZVR5cGUgdHlwZSwgQ29kZUJsb2NrKiBjb2Rl
QmxvY2spCit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBKSVRQcm9maWxlQWdlbnQ6
OlByb2dyYW06IHsKKyAgICAgICAgU291cmNlUHJvdmlkZXIqIHNvdXJjZSA9IGNvZGVCbG9jay0+
c291cmNlKCk7CisgICAgICAgIGlmIChzb3VyY2UgJiYgIXNvdXJjZS0+dXJsKCkuaXNFbXB0eSgp
KQorICAgICAgICAgICAgcmV0dXJuIG1ha2VVU3RyaW5nKHN5bWJvbE5hbWVUYWJsZVt0eXBlXSwg
IlsiLCBzb3VyY2UtPnVybCgpLCAiOiIsIFVTdHJpbmc6Om51bWJlcihjb2RlQmxvY2stPm93bmVy
RXhlY3V0YWJsZSgpLT5saW5lTm8oKSksICItIiwgVVN0cmluZzo6bnVtYmVyKGNvZGVCbG9jay0+
b3duZXJFeGVjdXRhYmxlKCktPmxhc3RMaW5lKCkpLCAiXSIpOworICAgICAgICBicmVhazsKKyAg
ICB9CisgICAgY2FzZSBKSVRQcm9maWxlQWdlbnQ6OkZ1bmN0aW9uOiB7CisgICAgICAgIEZ1bmN0
aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8RnVuY3Rpb25FeGVj
dXRhYmxlKj4oY29kZUJsb2NrLT5vd25lckV4ZWN1dGFibGUoKSk7CisgICAgICAgIGNvbnN0IElk
ZW50aWZpZXImIG5hbWUgPSBleGVjdXRhYmxlLT5uYW1lKCk7CisgICAgICAgIFVTdHJpbmcgaml0
U3ltYm9sTmFtZShzeW1ib2xOYW1lVGFibGVbdHlwZV0pOworICAgICAgICBpZiAoIW5hbWUuaXNF
bXB0eSgpICYmICFuYW1lLmlzTnVsbCgpKQorICAgICAgICAgICAgaml0U3ltYm9sTmFtZSA9IG1h
a2VVU3RyaW5nKGppdFN5bWJvbE5hbWUsICI6IiwgbmFtZS51c3RyaW5nKCkpOworICAgICAgICBT
b3VyY2VQcm92aWRlciogc291cmNlID0gY29kZUJsb2NrLT5zb3VyY2UoKTsKKyAgICAgICAgcmV0
dXJuIG1ha2VVU3RyaW5nKGppdFN5bWJvbE5hbWUsICJbIiwgc291cmNlLT51cmwoKSwgIjoiLCBV
U3RyaW5nOjpudW1iZXIoZXhlY3V0YWJsZS0+bGluZU5vKCkpLCAiLSIsIFVTdHJpbmc6Om51bWJl
cihleGVjdXRhYmxlLT5sYXN0TGluZSgpKSwgIl0iKTsKKyAgICB9CisgICAgZGVmYXVsdDoKKyAg
ICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIHN5bWJvbE5hbWVUYWJsZVt0eXBlXTsK
K30KKwordm9pZCBKSVRQcm9maWxlQWdlbnQ6OnJlY29yZEpJVENvZGVJbXBsKHZvaWQqIGNvZGUs
IHVuc2lnbmVkIGludCBzaXplLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSklUUHJvZmlsZUFnZW50
OjpKSVRDb2RlVHlwZSB0eXBlKQoreworICAgIC8qIENoZWNrIGZvciBvYnNvbGV0ZSBKSVQgY29k
ZXMgKi8KKyAgICB1bnNpZ25lZCBpbnQgaSwgbiA9IG1fdmlydHVhbE1lbW9yeVNlZ21lbnRzLnNp
emUoKTsKKyAgICBjb25zdCBjaGFyKiB2bWFCZWdpbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+
KGNvZGUpOworICAgIGNvbnN0IGNoYXIqIHZtYUVuZCA9IHZtYUJlZ2luICsgc2l6ZTsKKyAgICBm
b3IgKGkgPSAwOyBpICE9IG47ICsraSkgeworICAgICAgICBjb25zdCBjaGFyKiByZWdpc3RlcmVk
Vm1hQmVnaW4gPSByZWludGVycHJldF9jYXN0PGNoYXIqPihtX3ZpcnR1YWxNZW1vcnlTZWdtZW50
c1tpXS5jb2RlKTsKKyAgICAgICAgY29uc3QgY2hhciogcmVnaXN0ZXJlZFZtYUVuZCA9IHZtYUJl
Z2luICsgbV92aXJ0dWFsTWVtb3J5U2VnbWVudHNbaV0uc2l6ZTsKKyAgICAgICAgaWYgKChyZWdp
c3RlcmVkVm1hQmVnaW4gPD0gdm1hRW5kICYmIHZtYUVuZCA8PSByZWdpc3RlcmVkVm1hRW5kKQor
ICAgICAgICAgICAgfHwgKHJlZ2lzdGVyZWRWbWFCZWdpbiA8PSB2bWFCZWdpbiAmJiB2bWFCZWdp
biA8PSByZWdpc3RlcmVkVm1hRW5kKSkgeworICAgICAgICAgICAgb3BfdW5sb2FkX25hdGl2ZV9j
b2RlKG1fcHJvZmlsZUFnZW50LCByZWludGVycHJldF9jYXN0PHVpbnQ2NF90PihtX3ZpcnR1YWxN
ZW1vcnlTZWdtZW50c1tpXS5jb2RlKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBVU3RyaW5n
IHN5bWJvbE5hbWUgPSBzeW1ib2xOYW1lRnJvbVR5cGUodHlwZSwgY29kZUJsb2NrKTsKKyAgICBv
cF93cml0ZV9uYXRpdmVfY29kZShtX3Byb2ZpbGVBZ2VudCwgIXN5bWJvbE5hbWUuaXNFbXB0eSgp
ID8gc3ltYm9sTmFtZS51dGY4KCkuZGF0YSgpIDogIjxqaXQ+IiwgcmVpbnRlcnByZXRfY2FzdDx1
aW50NjRfdD4oY29kZSksIGNvZGUsIHNpemUpOworfQorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6
YW5ub3RhdGVKSVRDb2RlSW1wbCh2b2lkKiBjb2RlLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgY29u
c3QgVVN0cmluZyYgdXJsKQoreworICAgIHVpbnRwdHJfdCB2bWEgPSByZWludGVycHJldF9jYXN0
PHVpbnRwdHJfdD4oY29kZSk7CisgICAgdWludHB0cl90IHByZXZPZmZzZXQgPSAwOworICAgIGlm
ICghY29kZUJsb2NrLT5oYXNMaW5lSW5mbygpKQorICAgICAgICByZXR1cm47CisgICAgVmVjdG9y
PExpbmVJbmZvPiYgbGluZUluZm8gPSBjb2RlQmxvY2stPmxpbmVJbmZvKCk7CisgICAgaW50IGVu
dHJpZXMgPSBsaW5lSW5mby5zaXplKCk7CisgICAgc3RydWN0IGRlYnVnX2xpbmVfaW5mbyogZGVi
dWdMaW5lSW5mbyA9IHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IGRlYnVnX2xpbmVfaW5mbyo+KFdU
Rjo6ZmFzdE1hbGxvYyhlbnRyaWVzICogc2l6ZW9mKHN0cnVjdCBkZWJ1Z19saW5lX2luZm8pKSk7
CisgICAgQ1N0cmluZyBuYW1lID0gdXJsLmFzY2lpKCk7CisKKyAgICBzdHJ1Y3QgZGVidWdfbGlu
ZV9pbmZvKiBkZWJ1Z0xpbmVJbmZvUHRyID0gZGVidWdMaW5lSW5mbzsKKyAgICBmb3IgKGludCBp
ID0gMDsgaSA8IGVudHJpZXM7ICsraSkgeworICAgICAgICBpZiAocHJldk9mZnNldCAhPSBsaW5l
SW5mb1tpXS5pbnN0cnVjdGlvbk9mZnNldCkgeworICAgICAgICAgICAgZGVidWdMaW5lSW5mb1B0
ci0+dm1hID0gdm1hICsgbGluZUluZm9baV0uaW5zdHJ1Y3Rpb25PZmZzZXQ7CisgICAgICAgICAg
ICBkZWJ1Z0xpbmVJbmZvUHRyLT5saW5lbm8gPSBsaW5lSW5mb1tpXS5saW5lTnVtYmVyOworICAg
ICAgICAgICAgZGVidWdMaW5lSW5mb1B0ci0+ZmlsZW5hbWUgPSBuYW1lLmRhdGEoKTsKKyAgICAg
ICAgICAgIHByZXZPZmZzZXQgPSBsaW5lSW5mb1tpXS5pbnN0cnVjdGlvbk9mZnNldDsKKyAgICAg
ICAgICAgICsrZGVidWdMaW5lSW5mb1B0cjsKKyAgICAgICAgfQorICAgIH0KKworICAgIG9wX3dy
aXRlX2RlYnVnX2xpbmVfaW5mbyhtX3Byb2ZpbGVBZ2VudCwgY29kZSwgZGVidWdMaW5lSW5mb1B0
ciAtIGRlYnVnTGluZUluZm8sIGRlYnVnTGluZUluZm8pOworICAgIFdURjo6ZmFzdEZyZWUoZGVi
dWdMaW5lSW5mbyk7Cit9CisKKyNlbHNlIC8vIER1bW15IHByb2ZpbGUgYWdlbnQKKwordm9pZCBK
SVRQcm9maWxlQWdlbnQ6OmluaXRBZ2VudCgpCit7Cit9CisKK3ZvaWQgSklUUHJvZmlsZUFnZW50
OjpkZWluaXRBZ2VudCgpCit7Cit9CisKK3ZvaWQgSklUUHJvZmlsZUFnZW50OjpyZWdpc3RlckpJ
VENvZGVJbXBsKHZvaWQqLCB1bnNpZ25lZCBpbnQsIEpJVFByb2ZpbGVBZ2VudDo6SklUQ29kZVR5
cGUpCit7Cit9CisKK3ZvaWQgSklUUHJvZmlsZUFnZW50Ojphbm5vdGF0ZUpJVENvZGVJbXBsKHZv
aWQqLCBDb2RlQmxvY2sqLCBjb25zdCBVU3RyaW5nJikKK3sKK30KKworI2VuZGlmIC8vIEVOQUJM
RShKSVRfT1BST0ZJTEVfQUdFTlQpCisKK30KKworI2VuZGlmIC8vIEVOQUJMRShKSVRfUFJPRklM
RV9BR0VOVCkKKwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFn
ZW50LmggYi9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjhkZWY0Ci0tLSAvZGV2L251bGwKKysrIGIvSmF2
YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFnZW50LmgKQEAgLTAsMCArMSwxNjAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAorICogQ29weXJpZ2h0IChDKSAy
MDEwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgSklUUHJvZmlsZUFnZW50X2gKKyNkZWZpbmUgSklUUHJvZmlsZUFnZW50X2gK
KworI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorCisjaWYgIUVOQUJMRShKSVRfUFJPRklMRV9B
R0VOVCkKKyNkZWZpbmUgUkVDT1JEX0pJVF9UUkFNUE9MSU5FUyhnbG9iYWxEYXRhLCB2bWEsIHNp
emUpICgodm9pZCkwKQorI2RlZmluZSBSRUNPUkRfSklUX0NPREUoZ2xvYmFsRGF0YSwgdm1hLCBz
aXplLCB0eXBlKSAoKHZvaWQpMCkKKyNkZWZpbmUgUkVDT1JEX0pJVF9DT0RFX0NPREVCTE9DSyhn
bG9iYWxEYXRhLCB2bWEsIHNpemUsIGNvZGVCbG9jaykgKCh2b2lkKTApCisjZGVmaW5lIEFOTk9U
QVRFX0pJVF9DT0RFKGdsb2JhbERhdGEsIHZtYSwgc2l6ZSwgY29kZUJsb2NrLCB1cmwpICgodm9p
ZCkwKQorI2Vsc2UKKworI2luY2x1ZGUgIlVTdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CisjaWYgRU5BQkxFKEpJVF9PUFJPRklMRV9BR0VOVCkKKyNpbmNsdWRlIDxvcGFnZW50Lmg+
CisjZW5kaWYKKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIENvZGVCbG9jazsKK2NsYXNzIFVT
dHJpbmc7CitjbGFzcyBKU0dsb2JhbERhdGE7CisKK3N0cnVjdCBMaW5lSW5mbzsKKworI2RlZmlu
ZSBSRUNPUkRfSklUX1RSQU1QT0xJTkVTKGdsb2JhbERhdGEsIHZtYSwgY29kZUJsb2NrLCBzaXpl
KSAoKGdsb2JhbERhdGEpLT5qaXRQcm9maWxlQWdlbnQucmVjb3JkSklUVHJhbXBvbGluZXModm1h
LCBzaXplLCBjb2RlQmxvY2spKQorI2RlZmluZSBSRUNPUkRfSklUX0NPREUoZ2xvYmFsRGF0YSwg
dm1hLCBzaXplLCB0eXBlKSAoKGdsb2JhbERhdGEpLT5qaXRQcm9maWxlQWdlbnQucmVjb3JkSklU
Q29kZSh2bWEsIHNpemUsIDAsIHR5cGUpKQorI2RlZmluZSBSRUNPUkRfSklUX0NPREVfQ09ERUJM
T0NLKGdsb2JhbERhdGEsIHZtYSwgc2l6ZSwgY29kZUJsb2NrKSAoKGdsb2JhbERhdGEpLT5qaXRQ
cm9maWxlQWdlbnQucmVjb3JkSklUQ29kZSh2bWEsIHNpemUsIGNvZGVCbG9jaywgY29kZUJsb2Nr
LT5tX293bmVyRXhlY3V0YWJsZS0+aml0Q29kZVR5cGUoKSkpCisjZGVmaW5lIEFOTk9UQVRFX0pJ
VF9DT0RFKGdsb2JhbERhdGEsIHZtYSwgY29kZUJsb2NrLCB1cmwpICgoZ2xvYmFsRGF0YSktPmpp
dFByb2ZpbGVBZ2VudC5hbm5vdGF0ZUpJVENvZGUodm1hLCBjb2RlQmxvY2ssIHVybCkpCisKK2Ns
YXNzIEpJVFByb2ZpbGVBZ2VudCB7CisgICAgc3RydWN0IFZpcnR1YWxNZW1vcnlTZWdtZW50IHsK
KyAgICAgICAgVmlydHVhbE1lbW9yeVNlZ21lbnQoKQorICAgICAgICAgIDogY29kZSgwKQorICAg
ICAgICAgICwgc2l6ZSgwKQorICAgICAgICB7CisgICAgICAgIH0KKworICAgICAgICB2b2lkKiBj
b2RlOworICAgICAgICB1bnNpZ25lZCBpbnQgc2l6ZTsKKyAgICAgICAgQ29kZUJsb2NrKiBjb2Rl
QmxvY2s7CisgICAgfTsKKyAgICB0eXBlZGVmIFZlY3RvcjxWaXJ0dWFsTWVtb3J5U2VnbWVudD4g
VmlydHVhbE1lbW9yeVNlZ21lbnRWZWN0b3I7CisKK3B1YmxpYzoKKyAgICBlbnVtIEpJVENvZGVU
eXBlIHsKKyAgICAgICAgUHV0QnlJRFRyYW5zaXRpb24sCisgICAgICAgIEdldEFycmF5TGVuZ3Ro
LAorICAgICAgICBHZXRCeUlEU2VsZkxpc3QsCisgICAgICAgIEdldEJ5SURQcm90bywKKyAgICAg
ICAgR2V0QnlJRFByb3RvTGlzdCwKKyAgICAgICAgR2V0QnlJRENoYWluLAorICAgICAgICBHZXRC
eUlEQ2hhaW5MaXN0LAorICAgICAgICBUcmFtcG9saW5lcywKKyAgICAgICAgUHJvZ3JhbSwKKyAg
ICAgICAgRnVuY3Rpb24sCisgICAgICAgIEZ1bmN0aW9uUmVwYXJzZWQsCisgICAgICAgIEV2YWws
CisgICAgICAgIEV2YWxSZXBhcnNlZCwKKyAgICAgICAgWWFyciwKKyAgICAgICAgTnVtYmVyT2ZK
SVRDb2RlVHlwZXMKKyAgICB9OworCisgICAgSklUUHJvZmlsZUFnZW50KGJvb2wgc3RhdHVzID0g
ZmFsc2UpCisgICAgICA6IG1fZW5hYmxlQWdlbnQoc3RhdHVzKQorICAgIHsKKyAgICAgICAgaWYg
KGlzRW5hYmxlZCgpKQorICAgICAgICAgICAgaW5pdEFnZW50KCk7CisgICAgfQorCisgICAgfkpJ
VFByb2ZpbGVBZ2VudCgpCisgICAgeworICAgICAgICBpZiAoaXNFbmFibGVkKCkpCisgICAgICAg
ICAgICBkZWluaXRBZ2VudCgpOworICAgIH0KKworICAgIHZvaWQgcmVjb3JkSklUQ29kZSh2b2lk
KiBjb2RlLCB1bnNpZ25lZCBpbnQgc2l6ZSwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEpJVENvZGVU
eXBlIHR5cGUpCisgICAgeworICAgICAgICBpZiAoaXNFbmFibGVkKCkgJiYgY29kZSkKKyAgICAg
ICAgICAgIHJlY29yZEpJVENvZGVJbXBsKGNvZGUsIHNpemUsIGNvZGVCbG9jaywgdHlwZSk7Cisg
ICAgfQorCisgICAgdm9pZCBhbm5vdGF0ZUpJVENvZGUodm9pZCogY29kZSwgQ29kZUJsb2NrKiBj
b2RlQmxvY2ssIGNvbnN0IFVTdHJpbmcmIHVybCkKKyAgICB7CisgICAgICAgIGlmIChpc0VuYWJs
ZWQoKSAmJiBjb2RlICYmIGNvZGVCbG9jayAmJiAhdXJsLmlzRW1wdHkoKSkKKyAgICAgICAgICAg
IGFubm90YXRlSklUQ29kZUltcGwoY29kZSwgY29kZUJsb2NrLCBjb25zdF9jYXN0PFVTdHJpbmcm
Pih1cmwpKTsKKyAgICB9CisKKyAgICB2b2lkIHJlY29yZEpJVFRyYW1wb2xpbmVzKHZvaWQqIGNv
ZGUsIHVuc2lnbmVkIGludCBzaXplLCBDb2RlQmxvY2sqIGNvZGVCbG9jaykKKyAgICB7CisgICAg
ICAgIG1fdHJhbXBvbGluZXMuY29kZSA9IGNvZGU7CisgICAgICAgIG1fdHJhbXBvbGluZXMuc2l6
ZSA9IHNpemU7CisgICAgICAgIG1fdHJhbXBvbGluZXMuY29kZUJsb2NrID0gY29kZUJsb2NrOwor
ICAgICAgICBpZiAoaXNFbmFibGVkKCkpCisgICAgICAgICAgICByZWNvcmRKSVRDb2RlKG1fdHJh
bXBvbGluZXMuY29kZSwgbV90cmFtcG9saW5lcy5zaXplLCBtX3RyYW1wb2xpbmVzLmNvZGVCbG9j
aywgVHJhbXBvbGluZXMpOworICAgIH0KKworICAgIHZvaWQgc2V0RW5hYmxlZChib29sIHN0YXR1
cykKKyAgICB7CisgICAgICAgIGlmIChtX2VuYWJsZUFnZW50ID09IHN0YXR1cykKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgbV9lbmFibGVBZ2VudCA9IHN0YXR1czsKKyAgICAgICAgaWYg
KGlzRW5hYmxlZCgpKQorICAgICAgICAgICAgaW5pdEFnZW50KCk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIGRlaW5pdEFnZW50KCk7CisgICAgfQorCisgICAgQUxXQVlTX0lOTElORSBib29s
IGlzRW5hYmxlZCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9lbmFibGVBZ2VudDsK
KyAgICB9CisKK3ByaXZhdGU6CisgICAgdm9pZCBpbml0QWdlbnQoKTsKKyAgICB2b2lkIGRlaW5p
dEFnZW50KCk7CisgICAgdm9pZCByZWNvcmRKSVRDb2RlSW1wbCh2b2lkKiwgdW5zaWduZWQgaW50
LCBDb2RlQmxvY2sqLCBKSVRDb2RlVHlwZSk7CisgICAgdm9pZCBhbm5vdGF0ZUpJVENvZGVJbXBs
KHZvaWQqLCBDb2RlQmxvY2sqLCBjb25zdCBVU3RyaW5nJik7CisKKyNpZiBFTkFCTEUoSklUX09Q
Uk9GSUxFX0FHRU5UKQorICAgIG9wX2FnZW50X3QgbV9wcm9maWxlQWdlbnQ7CisjZW5kaWYKKyAg
ICBWaXJ0dWFsTWVtb3J5U2VnbWVudFZlY3RvciBtX3ZpcnR1YWxNZW1vcnlTZWdtZW50czsKKyAg
ICBWaXJ0dWFsTWVtb3J5U2VnbWVudCBtX3RyYW1wb2xpbmVzOworICAgIGJvb2wgbV9lbmFibGVB
Z2VudDsKK307CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKwor
I2VuZGlmIC8vIEpJVFByb2ZpbGVBZ2VudF9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvUGxhdGZvcm0uaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDEyYzNl
M2QuLmMzYWM2MDIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC0xMDMwLDYgKzEwMzAsMTEgQEAK
ICNpZiBFTkFCTEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpCiAjZGVmaW5lIEVOQUJMRV9BU1NF
TUJMRVIgMQogI2VuZGlmCisKKyNpZiBFTkFCTEUoSklUX09QUk9GSUxFX0FHRU5UKSAmJiAhZGVm
aW5lZChFTkFCTEVfSklUX1BST0ZJTEVfQUdFTlQpCisjZGVmaW5lIEVOQUJMRV9KSVRfUFJPRklM
RV9BR0VOVCAxCisjZW5kaWYKKwogLyogU2V0dGluZyB0aGlzIGZsYWcgcHJldmVudHMgdGhlIGFz
c2VtYmxlciBmcm9tIHVzaW5nIFJXWCBtZW1vcnk7IHRoaXMgbWF5IGltcHJvdmUKICAgIHNlY3Vy
aXR5IGJ1dCBjdXJyZWN0bHkgY29tZXMgYXQgYSBzaWduaWZpY2FudCBwZXJmb3JtYW5jZSBjb3N0
LiAqLwogI2lmIFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3lhcnIv
UmVnZXhKSVQuY3BwIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEpJVC5jcHAKaW5kZXggN2Yx
ODU2YS4uZDk5YzY4YSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEpJVC5j
cHAKKysrIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEpJVC5jcHAKQEAgLTIxMDMsOCArMjEw
MywxMSBAQCBwdWJsaWM6CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2V4cHJl
c3Npb25TdGF0ZS5tX2JhY2t0cmFja1JlY29yZHMuc2l6ZSgpOyArK2kpCiAgICAgICAgICAgICBw
YXRjaEJ1ZmZlci5wYXRjaChtX2V4cHJlc3Npb25TdGF0ZS5tX2JhY2t0cmFja1JlY29yZHNbaV0u
ZGF0YUxhYmVsLCBwYXRjaEJ1ZmZlci5sb2NhdGlvbk9mKG1fZXhwcmVzc2lvblN0YXRlLm1fYmFj
a3RyYWNrUmVjb3Jkc1tpXS5iYWNrdHJhY2tMb2NhdGlvbikpOwogCi0gICAgICAgIGppdE9iamVj
dC5zZXQocGF0Y2hCdWZmZXIuZmluYWxpemVDb2RlKCkpOworICAgICAgICBDb2RlUmVmIGZpbmFs
Q29kZSA9IHBhdGNoQnVmZmVyLmZpbmFsaXplQ29kZSgpOworICAgICAgICBqaXRPYmplY3Quc2V0
KGZpbmFsQ29kZSk7CiAgICAgICAgIGppdE9iamVjdC5zZXRGYWxsQmFjayhtX3Nob3VsZEZhbGxC
YWNrKTsKKworICAgICAgICBSRUNPUkRfSklUX0NPREUoZ2xvYmFsRGF0YSwgZmluYWxDb2RlLm1f
Y29kZS5leGVjdXRhYmxlQWRkcmVzcygpLCBmaW5hbENvZGUubV9zaXplLCBKSVRQcm9maWxlQWdl
bnQ6OllhcnIpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBi
L2NvbmZpZ3VyZS5hYwppbmRleCA5ZTJkZjQwLi4yZTM1ZGRmIDEwMDY0NAotLS0gYS9jb25maWd1
cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC03MjEsNiArNzIxLDM4IEBAIGVsc2UKIGZpCiBB
Q19NU0dfUkVTVUxUKFskZW5hYmxlX2ppdF0pCiAKKyMgQnVpbGQgSklUIHdpdGggT1Byb2ZpbGUg
YWdlbnQgc3VwcG9ydAorT1BBR0VOVF9MSUJTPQorT1BBR0VOVF9MREZMQUdTPQorCitBQ19NU0df
Q0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIE9Qcm9maWxlIEpJVCBhZ2VudCBzdXBwb3J0Ll0p
CitBQ19BUkdfRU5BQkxFKFtvcGFnZW50XSwKKyAgICAgICAgICAgICAgQUNfSEVMUF9TVFJJTkco
Wy0tZW5hYmxlLW9wYWdlbnRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRW5hYmxl
IE9Qcm9maWxlIEpJVCBhZ2VudCBzdXBwb3J0IGRlZmF1bHQ9bm9dKSwKKyAgICAgICAgICAgICAg
W10sW2VuYWJsZV9vcGFnZW50PW5vXSkKKworQUNfQVJHX1dJVEgoW29wYWdlbnQtbGliZGlyXSwK
KyAgICAgICAgICAgIFtBU19IRUxQX1NUUklORygtLXdpdGgtb3BhZ2VudC1saWJkaXI9bG9jYXRp
b24gb2Ygb3BhZ2VudCBsaWJyYXJ5IFtbZGVmYXVsdD0vdXNyL2xpYi9vcHJvZmlsZV1dKV0sCisg
ICAgICAgICAgICBbT1BBR0VOVF9MREZMQUdTPS1MIiR7d2l0aHZhbH0iXSwKKyAgICAgICAgICAg
IFtPUEFHRU5UX0xERkxBR1M9LUwvdXNyL2xpYi9vcHJvZmlsZV0pCitBQ19TVUJTVChbT1BBR0VO
VF9MREZMQUdTXSkKKworaWYgdGVzdCAiJGVuYWJsZV9vcGFnZW50IiA9ICJ5ZXMiOyB0aGVuCisg
IExERkxBR1M9IiRMREZMQUdTICRPUEFHRU5UX0xERkxBR1MiOworICBBQ19DSEVDS19MSUIoW29w
YWdlbnRdLCBbb3BfbWFqb3JfdmVyc2lvbl0sCisgICAgW0FDX0NIRUNLX0hFQURFUihbb3BhZ2Vu
dC5oXSwKKyAgICAgIG9wYWdlbnRfb2s9eWVzLAorICAgICAgb3BhZ2VudF9vaz1ubyldLAorICAg
IEFDX01TR19FUlJPUihbT1Byb2ZpbGUgb3BhZ2VudCBsaWJyYXJ5IG5vdCBmb3VuZF0pLCAtbGJm
ZCkKKworICBpZiB0ZXN0ICIkb3BhZ2VudF9vayIgPSAieWVzIjsgdGhlbgorICAgIEFDX0RFRklO
RShbRU5BQkxFX0pJVF9PUFJPRklMRV9BR0VOVF0sIFsxXSwgW0RlZmluZSB0byBlbmFibGUgT1By
b2ZpbGUgSklUIGFnZW50IHN1cHBvcnRdKQorICAgIE9QQUdFTlRfTElCUz0iLWxvcGFnZW50Igor
ICBmaQorZmkKKworQUNfU1VCU1QoW09QQUdFTlRfTElCU10pCisKICMgT3Bjb2RlIHN0YXRzCiBB
Q19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIG9wY29kZSBzdGF0c10pCiBBQ19BUkdf
RU5BQkxFKFtvcGNvZGUtc3RhdHNdLApAQCAtMTAwMSw2ICsxMDMzLDcgQEAgQnVpbGQgY29uZmln
dXJhdGlvbjoKICBVbmljb2RlIGJhY2tlbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA6ICR3aXRoX3VuaWNvZGVfYmFja2VuZAogIEZvbnQgYmFja2VuZCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHdpdGhfZm9udF9iYWNrZW5k
CiAgT3B0aW1pemVkIG1lbW9yeSBhbGxvY2F0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgOiAkZW5hYmxlX2Zhc3RfbWFsbG9jCisgT3Byb2ZpbGUgc3VwcG9ydCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX29wYWdlbnQKIEZlYXR1cmVzOgog
IDNEIFRyYW5zZm9ybXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDogJGVuYWJsZV8zRF90cmFuc2Zvcm1zCiAgQmxvYiBzdXBwb3J0ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX2Jsb2IKLS0gCjEuNy4yLjMKCg==
</data>
<flag name="review"
          id="66630"
          type_id="1"
          status="-"
          setter="loki"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81054</attachid>
            <date>2011-02-03 05:44:44 -0800</date>
            <delta_ts>2011-02-03 05:47:55 -0800</delta_ts>
            <desc>jitprofile.diff</desc>
            <filename>jitprofile.diff</filename>
            <type>text/plain</type>
            <size>33180</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSA2OGY4N2U2YjgyN2VhYzM1NjAxNmQyNDk1ZWM1YmNkNDY4MGUwZjkzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhhbkBnbm9tZS5vcmc+CkRhdGU6IFRodSwg
MyBGZWIgMjAxMSAxMzo1MjoxOCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIDIwMTEtMDItMDMgIFhh
biBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KCiAgICAgICAgUHJvdmlkZSBhIE9Qcm9maWxlIEpJVCBhZ2VudCAob3BhZ2VudCkg
Zm9yIHRoZSBjb2RlIGdlbmVyYXRlZCBieSB0aGUgSklUCiAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyNTYxCgogICAgICAgIEFkZCBzdXBwb3J0IGZvciBP
UHJvZmlsZSBKSVQgYW5ub3RhdGlvbnMgdG8gdGhlIEdUSysgcG9ydC4gRW5hYmxlCiAgICAgICAg
d2l0aCAtLWVuYWJsZS1vcGFnZW50LgoKICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBhZGQgT1BB
R0VOVCBmbGFncy4KICAgICAgICAqIGNvbmZpZ3VyZS5hYzogYWRkIC0tZW5hYmxlLW9wYWdlbnQg
Y29uZmlndXJlIGZsYWcuCgpTb3VyY2UvSmF2YVNjcmlwdENvcmU6CgoyMDExLTAyLTAzICBYYW4g
TG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCgogICAgICAgIFByb3ZpZGUgYSBPUHJvZmlsZSBKSVQgYWdlbnQgKG9wYWdlbnQpIGZv
ciB0aGUgY29kZSBnZW5lcmF0ZWQgYnkgdGhlIEpJVAogICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjU2MQoKICAgICAgICBCYXNlZCBvbiB0aGUgd29yayBi
eSBIb2xnZXIgRnJleXRoZXIsIEdhYm9yIExva2kgYW5kIFpvbHRhbiBIZXJjemVnLgoKICAgICAg
ICBBZGQgSklUUHJvZmlsZUFnZW50LCBhIG5ldyBjbGFzcyBpbiB0b29scy8gd2l0aCB0aGUgYmFz
aWMgbWV0aG9kcwogICAgICAgIHRvIGFubm90YXRlIHRoZSBKSVQgY29kZSwgYW5kIGhvb2sgaXQg
dXAgaW4gdGhlIHJlbGV2YW50IHBsYWNlcwogICAgICAgIHRocm91Z2hvdXQgSmF2YVNjcmlwdENv
cmUvLiBJbmNsdWRlZCBpcyBhbiBPUHJvZmlsZSBpbXBsZW1lbnRhdGlvbgogICAgICAgIGZvciBM
aW51eCBzeXN0ZW1zLgoKICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBhZGQgSklUUHJvZmlsZUFn
ZW50IGZpbGVzLgogICAgICAgICogR05VbWFrZWZpbGUuYW06IGRpdHRvLgogICAgICAgICogSmF2
YVNjcmlwdENvcmUuZ3lwaTogZGl0dG8uCiAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5wcmk6IGRp
dHRvLgogICAgICAgICogSmF2YVNjcmlwdENvcmUucHJvOiBkaXR0by4KICAgICAgICAqIGFzc2Vt
Ymxlci9MaW5rQnVmZmVyLmg6CiAgICAgICAgKEpTQzo6TGlua0J1ZmZlcjo6c2l6ZSk6IG1ldGhv
ZCB0byByZXR1cm4gdGhlIHNpemUgb2YgdGhlIGJ1ZmZlciwKICAgICAgICBuZWVkZWQgZm9yIHRo
ZSBjb2RlIGFubm90YXRpb24gYnkgdGhlIEpJVCBwcm9maWxlIG1ldGhvZHMuCiAgICAgICAgKiBi
eXRlY29kZS9Db2RlQmxvY2suaDoKICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmxpbmVJbmZvKTog
YWNjZXNzb3IgZm9yIHRoZSBsaW5laW5mbyBkYXRhLgogICAgICAgICogaml0L0pJVC5jcHA6CiAg
ICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZSk6IGNhbGwgb3V0IHRvIHRoZSBKSVRQcm9m
aWxlQWdlbnQgdG8KICAgICAgICBhbm5vdGF0ZSBnZW5lcmF0ZWQgY29kZS4KICAgICAgICAqIGpp
dC9KSVRPcGNvZGVzLmNwcDoKICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFj
aGluZVRyYW1wb2xpbmVzKTogZGl0dG8uCiAgICAgICAgKiBqaXQvSklUT3Bjb2RlczMyXzY0LmNw
cDoKICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVz
KTogZGl0dG8uCiAgICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgogICAgICAgIChK
U0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbik6IGRpdHRvLgogICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFycmF5TGVuZ3RoKTogZGl0dG8uCiAg
ICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6IGRpdHRvLgogICAg
ICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QpOiBkaXR0by4KICAg
ICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdCk6IGRpdHRvLgog
ICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KTogZGl0dG8u
CiAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6IGRpdHRvLgog
ICAgICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwOgogICAgICAgIChKU0M6OkpJ
VDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbik6IGRpdHRvLgogICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFycmF5TGVuZ3RoKTogZGl0dG8uCiAgICAgICAg
KEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6IGRpdHRvLgogICAgICAgIChK
U0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QpOiBkaXR0by4KICAgICAgICAo
SlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdCk6IGRpdHRvLgogICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KTogZGl0dG8uCiAgICAg
ICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6IGRpdHRvLgogICAgICAg
ICoganNjLmNwcDogc3VwcG9ydCBwcm9maWxpbmcgb2YgdGhlIEpJVCBjb2RlIHdpdGggLXAuCiAg
ICAgICAgKiBydW50aW1lL0V4ZWN1dGFibGUuaDoKICAgICAgICAoSlNDOjpFdmFsRXhlY3V0YWJs
ZTo6aml0Q29kZVR5cGUpOiByZXR1cm4gcHJvcGVyIEpJVENvZGVUeXBlIGZvciB0aGUgRXhlY3V0
YWJsZS4KICAgICAgICAoSlNDOjpQcm9ncmFtRXhlY3V0YWJsZTo6aml0Q29kZVR5cGUpOiBkaXR0
by4KICAgICAgICAoSlNDOjpGdW5jdGlvbkV4ZWN1dGFibGU6OmppdENvZGVUeXBlKTogZGl0dG8u
CiAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsRGF0YS5oOgogICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6CiAgICAgICAgKiB5YXJyL1lhcnJKSVQuY3BwOgogICAgICAgIChKU0M6OllhcnI6OllhcnJH
ZW5lcmF0b3I6OmNvbXBpbGUpOiBjYWxsIG91dCB0byB0aGUKICAgICAgICBKSVRQcm9maWxlQWdl
bnQgdG8gYW5ub3RhdGUgZ2VuZXJhdGVkIGNvZGUuCi0tLQogQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEzICsrKysrCiBHTlVtYWtlZmlsZS5h
bSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgfCAgICAzICsKIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgIHwgICA1OCArKysr
KysrKysrKysrKysrKysrKwogU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtICAg
ICAgICAgICAgICAgfCAgICAzICsKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS5neXBpICAgICAgICAgIHwgICAgMiArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUucHJpICAgICAgICAgICB8ICAgIDEgKwogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnBybyAgICAgICAgICAgfCAgICAxICsKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTGlua0J1ZmZlci5oICAgICAgIHwgICAgNyArKysKIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaCAgICAgICAgIHwgICAgNSArKwogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuY3BwICAgICAgICAgICAgICAgICAgfCAgICA1ICsrLQogU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCAgICAgICAgICAgfCAgICAzICsKIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcCAgICAgIHwgICAgMyAr
CiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcCAgICB8ICAg
MTUgKysrKysKIC4uLi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5j
cHAgIHwgICAxNCArKysrKwogU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgICAgICAgICAg
ICAgICAgICAgICAgfCAgIDE4ICsrKysrKwogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RXhlY3V0YWJsZS5oICAgICAgICAgfCAgIDE0ICsrKysrCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbERhdGEuaCAgICAgICB8ICAgIDQgKysKIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvUGxhdGZvcm0uaCAgICAgICAgICAgICAgIHwgICAgNSArKwogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3lhcnIvWWFyckpJVC5jcHAgICAgICAgICAgICAgfCAgICA1ICsrLQogY29uZmln
dXJlLmFjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDMzICsrKysr
KysrKysrCiAyMSBmaWxlcyBjaGFuZ2VkLCAyMTEgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo
LSkKCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggZDAyN2QzYS4uMzhh
NDVlNCAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDExLTAyLTAzICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQcm92aWRlIGEgT1Byb2Zp
bGUgSklUIGFnZW50IChvcGFnZW50KSBmb3IgdGhlIGNvZGUgZ2VuZXJhdGVkIGJ5IHRoZSBKSVQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyNTYxCisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIE9Qcm9maWxlIEpJVCBhbm5vdGF0aW9ucyB0byB0aGUg
R1RLKyBwb3J0LiBFbmFibGUKKyAgICAgICAgd2l0aCAtLWVuYWJsZS1vcGFnZW50LgorCisgICAg
ICAgICogR05VbWFrZWZpbGUuYW06IGFkZCBPUEFHRU5UIGZsYWdzLgorICAgICAgICAqIGNvbmZp
Z3VyZS5hYzogYWRkIC0tZW5hYmxlLW9wYWdlbnQgY29uZmlndXJlIGZsYWcuCisKIDIwMTEtMDIt
MDIgIEFsZWphbmRybyBHLiBDYXN0cm8gIDxhbGV4QGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgpkaWZmIC0tZ2l0IGEvR05VbWFrZWZpbGUuYW0gYi9H
TlVtYWtlZmlsZS5hbQppbmRleCA5MTBiZTM4Li5jNmY1YzNhIDEwMDY0NAotLS0gYS9HTlVtYWtl
ZmlsZS5hbQorKysgYi9HTlVtYWtlZmlsZS5hbQpAQCAtMTQyLDYgKzE0Miw3IEBAIGxpYkphdmFT
Y3JpcHRDb3JlX2xhX1NPVVJDRVMgPSBcCiBsaWJKYXZhU2NyaXB0Q29yZV9sYV9MSUJBREQgPSBc
CiAJJChVTklDT0RFX0xJQlMpIFwKIAkkKEdMSUJfTElCUykgXAorCSQoT1BBR0VOVF9MSUJTKSBc
CiAJLWxwdGhyZWFkCiAKIGxpYkphdmFTY3JpcHRDb3JlX2xhX0NYWEZMQUdTID0gXApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGU2ODVlY2YuLmI5YjdmZjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEzLDYgKzEzLDcgQEAgU0VUKEphdmFTY3Jp
cHRDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L3Bj
cmUiCiAgICAgIiR7SkFWQVNDUklQVENPUkVfRElSfS9wcm9maWxlciIKICAgICAiJHtKQVZBU0NS
SVBUQ09SRV9ESVJ9L3J1bnRpbWUiCisgICAgIiR7SkFWQVNDUklQVENPUkVfRElSfS90b29scyIK
ICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L3lhcnIiCiAgICAgIiR7V1RGX0lOQ0xVREVfRElS
RUNUT1JJRVN9IgogICAgICIke0NNQUtFX1NPVVJDRV9ESVJ9IgpAQCAtMTcyLDYgKzE3Myw4IEBA
IFNFVChKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgcnVudGltZS9UaW1lb3V0Q2hlY2tlci5j
cHAKICAgICBydW50aW1lL1VTdHJpbmcuY3BwCiAKKyAgICB0b29scy9KSVRQcm9maWxlQWdlbnQu
Y3BwCisKICAgICB5YXJyL1lhcnJQYXR0ZXJuLmNwcAogICAgIHlhcnIvWWFyckludGVycHJldGVy
LmNwcAogICAgIHlhcnIvWWFyckpJVC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGM5
YWFlOWUuLjAzMzBjZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBA
CisyMDExLTAyLTAzICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQcm92aWRlIGEgT1Byb2ZpbGUg
SklUIGFnZW50IChvcGFnZW50KSBmb3IgdGhlIGNvZGUgZ2VuZXJhdGVkIGJ5IHRoZSBKSVQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyNTYxCisKKyAg
ICAgICAgQmFzZWQgb24gdGhlIHdvcmsgYnkgSG9sZ2VyIEZyZXl0aGVyLCBHYWJvciBMb2tpIGFu
ZCBab2x0YW4gSGVyY3plZy4KKworICAgICAgICBBZGQgSklUUHJvZmlsZUFnZW50LCBhIG5ldyBj
bGFzcyBpbiB0b29scy8gd2l0aCB0aGUgYmFzaWMgbWV0aG9kcworICAgICAgICB0byBhbm5vdGF0
ZSB0aGUgSklUIGNvZGUsIGFuZCBob29rIGl0IHVwIGluIHRoZSByZWxldmFudCBwbGFjZXMKKyAg
ICAgICAgdGhyb3VnaG91dCBKYXZhU2NyaXB0Q29yZS8uIEluY2x1ZGVkIGlzIGFuIE9Qcm9maWxl
IGltcGxlbWVudGF0aW9uCisgICAgICAgIGZvciBMaW51eCBzeXN0ZW1zLgorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6IGFkZCBKSVRQcm9maWxlQWdlbnQgZmlsZXMuCisgICAgICAgICogR05V
bWFrZWZpbGUuYW06IGRpdHRvLgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLmd5cGk6IGRpdHRv
LgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnByaTogZGl0dG8uCisgICAgICAgICogSmF2YVNj
cmlwdENvcmUucHJvOiBkaXR0by4KKyAgICAgICAgKiBhc3NlbWJsZXIvTGlua0J1ZmZlci5oOgor
ICAgICAgICAoSlNDOjpMaW5rQnVmZmVyOjpzaXplKTogbWV0aG9kIHRvIHJldHVybiB0aGUgc2l6
ZSBvZiB0aGUgYnVmZmVyLAorICAgICAgICBuZWVkZWQgZm9yIHRoZSBjb2RlIGFubm90YXRpb24g
YnkgdGhlIEpJVCBwcm9maWxlIG1ldGhvZHMuCisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2Nr
Lmg6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6bGluZUluZm8pOiBhY2Nlc3NvciBmb3IgdGhl
IGxpbmVpbmZvIGRhdGEuCisgICAgICAgICogaml0L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJ
VDo6cHJpdmF0ZUNvbXBpbGUpOiBjYWxsIG91dCB0byB0aGUgSklUUHJvZmlsZUFnZW50IHRvCisg
ICAgICAgIGFubm90YXRlIGdlbmVyYXRlZCBjb2RlLgorICAgICAgICAqIGppdC9KSVRPcGNvZGVz
LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFtcG9s
aW5lcyk6IGRpdHRvLgorICAgICAgICAqIGppdC9KSVRPcGNvZGVzMzJfNjQuY3BwOgorICAgICAg
ICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVzKTogZGl0dG8u
CisgICAgICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6SklU
Ojpwcml2YXRlQ29tcGlsZVB1dEJ5SWRUcmFuc2l0aW9uKTogZGl0dG8uCisgICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFycmF5TGVuZ3RoKTogZGl0dG8uCisgICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG8pOiBkaXR0by4KKyAgICAgICAg
KEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRTZWxmTGlzdCk6IGRpdHRvLgorICAgICAg
ICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdCk6IGRpdHRvLgorICAg
ICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluTGlzdCk6IGRpdHRvLgor
ICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluKTogZGl0dG8uCisg
ICAgICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpK
SVQ6OnByaXZhdGVDb21waWxlUHV0QnlJZFRyYW5zaXRpb24pOiBkaXR0by4KKyAgICAgICAgKEpT
Qzo6SklUOjpwcml2YXRlQ29tcGlsZVBhdGNoR2V0QXJyYXlMZW5ndGgpOiBkaXR0by4KKyAgICAg
ICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6IGRpdHRvLgorICAgICAg
ICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNlbGZMaXN0KTogZGl0dG8uCisgICAg
ICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KTogZGl0dG8uCisg
ICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KTogZGl0dG8u
CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4pOiBkaXR0by4K
KyAgICAgICAgKiBqc2MuY3BwOiBzdXBwb3J0IHByb2ZpbGluZyBvZiB0aGUgSklUIGNvZGUgd2l0
aCAtcC4KKyAgICAgICAgKiBydW50aW1lL0V4ZWN1dGFibGUuaDoKKyAgICAgICAgKEpTQzo6RXZh
bEV4ZWN1dGFibGU6OmppdENvZGVUeXBlKTogcmV0dXJuIHByb3BlciBKSVRDb2RlVHlwZSBmb3Ig
dGhlIEV4ZWN1dGFibGUuCisgICAgICAgIChKU0M6OlByb2dyYW1FeGVjdXRhYmxlOjpqaXRDb2Rl
VHlwZSk6IGRpdHRvLgorICAgICAgICAoSlNDOjpGdW5jdGlvbkV4ZWN1dGFibGU6OmppdENvZGVU
eXBlKTogZGl0dG8uCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbERhdGEuaDoKKyAgICAgICAg
KiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgKiB5YXJyL1lhcnJKSVQuY3BwOgorICAgICAgICAo
SlNDOjpZYXJyOjpZYXJyR2VuZXJhdG9yOjpjb21waWxlKTogY2FsbCBvdXQgdG8gdGhlCisgICAg
ICAgIEpJVFByb2ZpbGVBZ2VudCB0byBhbm5vdGF0ZSBnZW5lcmF0ZWQgY29kZS4KKwogMjAxMS0w
Mi0wMiAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAg
ICAgV2luZG93cyBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
R05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KaW5k
ZXggYWFkY2QwOS4uOWYwNDlmMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0dO
VW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpA
QCAtMTQsNiArMTQsNyBAQCBqYXZhc2NyaXB0Y29yZV9jcHBmbGFncyArPSBcCiAJLUkkKHNyY2Rp
cikvU291cmNlL0phdmFTY3JpcHRDb3JlL3BjcmUgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wcm9maWxlciBcCiAJLUkkKHNyY2RpcikvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUgXAorCS1JJChzcmNkaXIpL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scyBcCiAJ
LUkkKHNyY2RpcikvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0ZiBcCiAJLUkkKHNyY2RpcikvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0ZiBcCiAJLUkkKHNyY2RpcikvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9nb2JqZWN0IFwKQEAgLTQzMSw2ICs0MzIsOCBAQCBqYXZhc2NyaXB0Y29yZV9zb3Vy
Y2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIuaCBcCiAJ
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha1JhbmRvbS5oIFwKIAlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaCBcCisJU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rvb2xzL0pJVFByb2ZpbGVBZ2VudC5jcHAgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS90
b29scy9KSVRQcm9maWxlQWdlbnQuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9BbHdh
eXNJbmxpbmUuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9BU0NJSUNUeXBlLmggXAog
CVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5jcHAgXApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCA4NWE0MTNjLi40YjNlN2JkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQpAQCAtMzYxLDYgKzM2MSw4
IEBACiAgICAgICAgICAgICAncnVudGltZS9VU3RyaW5nQnVpbGRlci5oJywKICAgICAgICAgICAg
ICdydW50aW1lL1VTdHJpbmdDb25jYXRlbmF0ZS5oJywKICAgICAgICAgICAgICdydW50aW1lL1dl
YWtSYW5kb20uaCcsCisgICAgICAgICAgICAndG9vbHMvSklUUHJvZmlsZUFnZW50LmNwcCcsCisg
ICAgICAgICAgICAndG9vbHMvSklUUHJvZmlsZUFnZW50LmgnLAogICAgICAgICAgICAgJ3d0Zi9B
bHdheXNJbmxpbmUuaCcsCiAgICAgICAgICAgICAnd3RmL0FTQ0lJQ1R5cGUuaCcsCiAgICAgICAg
ICAgICAnd3RmL0Fzc2VydGlvbnMuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUucHJpCmluZGV4IDA2NjEzYTEuLmUzYjk5ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnByaQpAQCAtMzQsNiArMzQsNyBAQCBKQVZBU0NSSVBUQ09SRV9JTkNM
VURFUEFUSCA9IFwKICAgICAkJFBXRC9wY3JlIFwKICAgICAkJFBXRC9wcm9maWxlciBcCiAgICAg
JCRQV0QvcnVudGltZSBcCisgICAgJCRQV0QvdG9vbHMgXAogICAgICQkUFdEL3d0ZiBcCiAgICAg
JCRQV0Qvd3RmL2dvYmplY3QgXAogICAgICQkUFdEL3d0Zi9zeW1iaWFuIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcm8gYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJvCmluZGV4IDkxMjI2NDcuLjNhY2Q2MWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcm8KKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnBybwpAQCAtMjEzLDYgKzIxMyw3IEBA
IFNPVVJDRVMgKz0gXAogICAgIHJ1bnRpbWUvU3RydWN0dXJlLmNwcCBcCiAgICAgcnVudGltZS9U
aW1lb3V0Q2hlY2tlci5jcHAgXAogICAgIHJ1bnRpbWUvVVN0cmluZy5jcHAgXAorICAgIHRvb2xz
L0pJVFByb2ZpbGVBZ2VudC5jcHAgXAogICAgIHlhcnIvWWFyclBhdHRlcm4uY3BwIFwKICAgICB5
YXJyL1lhcnJJbnRlcnByZXRlci5jcHAgXAogICAgIHlhcnIvWWFyckpJVC5jcHAgXApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAppbmRleCBjNWE3ZDViLi5h
MjhlZWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtC
dWZmZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIu
aApAQCAtMTgzLDYgKzE4MywxMyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBDb2RlUHRyKE1h
Y3JvQXNzZW1ibGVyOjpBc3NlbWJsZXJUeXBlX1Q6OmdldFJlbG9jYXRlZEFkZHJlc3MoY29kZSgp
LCBhcHBseU9mZnNldChsYWJlbC5tX2xhYmVsKSkpOwogICAgIH0KIAorI2lmIEVOQUJMRShKSVRf
UFJPRklMRV9BR0VOVCkKKyAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0CisgICAgeworICAgICAgICBy
ZXR1cm4gbV9zaXplOworICAgIH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAgIHRlbXBsYXRlIDx0
eXBlbmFtZSBUPiBUIGFwcGx5T2Zmc2V0KFQgc3JjKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAppbmRleCBmODQ5OGI0Li45NzU5N2Y2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC00NTYsNiArNDU2LDEx
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgcmV0dXJuIG1fcmFyZURhdGEgJiYKICAg
ICAgICAgICAgICAgICAobV9yYXJlRGF0YS0+bV9leHByZXNzaW9uSW5mby5zaXplKCkgfHwgbV9y
YXJlRGF0YS0+bV9saW5lSW5mby5zaXplKCkgfHwgbV9yYXJlRGF0YS0+bV9leGNlcHRpb25IYW5k
bGVycy5zaXplKCkpOwogICAgICAgICB9CisgICAgICAgIFZlY3RvcjxMaW5lSW5mbz4mIGxpbmVJ
bmZvKCkKKyAgICAgICAgeworICAgICAgICAgICAgY3JlYXRlUmFyZURhdGFJZk5lY2Vzc2FyeSgp
OworICAgICAgICAgICAgcmV0dXJuIG1fcmFyZURhdGEtPm1fbGluZUluZm87CisgICAgICAgIH0K
IAogI2lmIEVOQUJMRShKSVQpCiAgICAgICAgIFZlY3RvcjxDYWxsUmV0dXJuT2Zmc2V0VG9CeXRl
Y29kZU9mZnNldD4mIGNhbGxSZXR1cm5JbmRleFZlY3RvcigpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VC5jcHAKaW5kZXggYjhiZDcxOC4uMDEzYTJmNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNw
cApAQCAtNTg0LDcgKzU4NCwxMCBAQCBKSVRDb2RlIEpJVDo6cHJpdmF0ZUNvbXBpbGUoQ29kZVB0
ciogZnVuY3Rpb25FbnRyeUFyaXR5Q2hlY2spCiAgICAgaWYgKG1fY29kZUJsb2NrLT5jb2RlVHlw
ZSgpID09IEZ1bmN0aW9uQ29kZSAmJiBmdW5jdGlvbkVudHJ5QXJpdHlDaGVjaykKICAgICAgICAg
KmZ1bmN0aW9uRW50cnlBcml0eUNoZWNrID0gcGF0Y2hCdWZmZXIubG9jYXRpb25PZihhcml0eUNo
ZWNrKTsKIAotICAgIHJldHVybiBwYXRjaEJ1ZmZlci5maW5hbGl6ZUNvZGUoKTsKKyAgICBKSVRD
b2RlIGNvZGUgPSBwYXRjaEJ1ZmZlci5maW5hbGl6ZUNvZGUoKTsKKyAgICBSRUNPUkRfSklUX0NP
REVfQ09ERUJMT0NLKG1fZ2xvYmFsRGF0YSwgY29kZS5hZGRyZXNzRm9yQ2FsbCgpLmV4ZWN1dGFi
bGVBZGRyZXNzKCksIGNvZGUuc2l6ZSgpLCBtX2NvZGVCbG9jayk7CisgICAgQU5OT1RBVEVfSklU
X0NPREUobV9nbG9iYWxEYXRhLCBjb2RlLmFkZHJlc3NGb3JDYWxsKCkuZXhlY3V0YWJsZUFkZHJl
c3MoKSwgbV9jb2RlQmxvY2ssIG1fY29kZUJsb2NrLT5zb3VyY2UoKS0+dXJsKCkpOworICAgIHJl
dHVybiBjb2RlOwogfQogCiAjaWYgVVNFKEpTVkFMVUU2NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wY29kZXMuY3BwCmluZGV4IDk4Y2IyZjMuLmFhOTA3N2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVk
ZSAiQXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiSklUSW5saW5lTWV0aG9kcy5oIgorI2luY2x1ZGUg
IkpJVFByb2ZpbGVBZ2VudC5oIgogI2luY2x1ZGUgIkpJVFN0dWJDYWxsLmgiCiAjaW5jbHVkZSAi
SlNBcnJheS5oIgogI2luY2x1ZGUgIkpTQ2VsbC5oIgpAQCAtMTc1LDYgKzE3Niw4IEBAIHZvaWQg
SklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFtcG9saW5lcyhSZWZQdHI8RXhlY3V0YWJs
ZVBvb2w+KiBleGVjdXRhYmxlCiAgICAgQ29kZVJlZiBmaW5hbENvZGUgPSBwYXRjaEJ1ZmZlci5m
aW5hbGl6ZUNvZGUoKTsKICAgICAqZXhlY3V0YWJsZVBvb2wgPSBmaW5hbENvZGUubV9leGVjdXRh
YmxlUG9vbDsKIAorICAgIFJFQ09SRF9KSVRfVFJBTVBPTElORVMobV9nbG9iYWxEYXRhLCBmaW5h
bENvZGUubV9jb2RlLmV4ZWN1dGFibGVBZGRyZXNzKCksIG1fY29kZUJsb2NrLCBmaW5hbENvZGUu
bV9zaXplKQorCiAgICAgdHJhbXBvbGluZXMtPmN0aVZpcnR1YWxDYWxsTGluayA9IHBhdGNoQnVm
ZmVyLnRyYW1wb2xpbmVBdCh2aXJ0dWFsQ2FsbExpbmtCZWdpbik7CiAgICAgdHJhbXBvbGluZXMt
PmN0aVZpcnR1YWxDb25zdHJ1Y3RMaW5rID0gcGF0Y2hCdWZmZXIudHJhbXBvbGluZUF0KHZpcnR1
YWxDb25zdHJ1Y3RMaW5rQmVnaW4pOwogICAgIHRyYW1wb2xpbmVzLT5jdGlWaXJ0dWFsQ2FsbCA9
IHBhdGNoQnVmZmVyLnRyYW1wb2xpbmVBdCh2aXJ0dWFsQ2FsbEJlZ2luKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcAppbmRleCBkZGE3NGM4Li5lOTIx
ZjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82
NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3Bw
CkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiSklULmgiCiAKICNpbmNsdWRlICJKSVRJbmxp
bmVNZXRob2RzLmgiCisjaW5jbHVkZSAiSklUUHJvZmlsZUFnZW50LmgiCiAjaW5jbHVkZSAiSklU
U3R1YkNhbGwuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCiAjaW5jbHVkZSAiSlNDZWxsLmgiCkBA
IC0xNzYsNiArMTc3LDggQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFjaGluZVRyYW1w
b2xpbmVzKFJlZlB0cjxFeGVjdXRhYmxlUG9vbD4qIGV4ZWN1dGFibGUKICAgICBDb2RlUmVmIGZp
bmFsQ29kZSA9IHBhdGNoQnVmZmVyLmZpbmFsaXplQ29kZSgpOwogICAgICpleGVjdXRhYmxlUG9v
bCA9IGZpbmFsQ29kZS5tX2V4ZWN1dGFibGVQb29sOwogCisgICAgUkVDT1JEX0pJVF9UUkFNUE9M
SU5FUyhtX2dsb2JhbERhdGEsIGZpbmFsQ29kZS5tX2NvZGUuZXhlY3V0YWJsZUFkZHJlc3MoKSwg
bV9jb2RlQmxvY2ssIGZpbmFsQ29kZS5tX3NpemUpOworCiAgICAgdHJhbXBvbGluZXMtPmN0aVZp
cnR1YWxDYWxsID0gcGF0Y2hCdWZmZXIudHJhbXBvbGluZUF0KHZpcnR1YWxDYWxsQmVnaW4pOwog
ICAgIHRyYW1wb2xpbmVzLT5jdGlWaXJ0dWFsQ29uc3RydWN0ID0gcGF0Y2hCdWZmZXIudHJhbXBv
bGluZUF0KHZpcnR1YWxDb25zdHJ1Y3RCZWdpbik7CiAgICAgdHJhbXBvbGluZXMtPmN0aU5hdGl2
ZUNhbGwgPSBwYXRjaEJ1ZmZlci50cmFtcG9saW5lQXQobmF0aXZlQ2FsbFRodW5rKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKaW5kZXggMWI5
NWVlYy4uNjdiY2EyMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQ
cm9wZXJ0eUFjY2Vzcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9w
ZXJ0eUFjY2Vzcy5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJDb2RlQmxvY2suaCIK
ICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKSVRJbmxpbmVNZXRob2RzLmgi
CisjaW5jbHVkZSAiSklUUHJvcGVydHlBY2Nlc3MuaCIKICNpbmNsdWRlICJKSVRTdHViQ2FsbC5o
IgogI2luY2x1ZGUgIkpTQXJyYXkuaCIKICNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCkBAIC02NTYs
NiArNjU3LDggQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlUHV0QnlJZFRyYW5zaXRpb24oU3Ry
dWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUKICAgICBzdHViSW5mby0+c3R1YlJv
dXRpbmUgPSBlbnRyeUxhYmVsOwogICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2Nv
ZGVCbG9jayk7CiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb1RyYW1wb2xpbmUocmV0
dXJuQWRkcmVzcywgZW50cnlMYWJlbCk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxE
YXRhLCBlbnRyeUxhYmxlLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwg
SklUUHJvZmlsZUFnZW50OjpQdXRCeUlEVHJhbnNpdGlvbik7CiB9CiAKIHZvaWQgSklUOjpwYXRj
aEdldEJ5SWRTZWxmKENvZGVCbG9jayogY29kZUJsb2NrLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1
YkluZm8sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5B
ZGRyZXNzUHRyIHJldHVybkFkZHJlc3MpCkBAIC03NTQsNiArNzU3LDggQEAgdm9pZCBKSVQ6OnBy
aXZhdGVDb21waWxlUGF0Y2hHZXRBcnJheUxlbmd0aChSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFk
ZHJlc3MpCiAKICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHBhdGNoIG1vcmUgdGhhbiBvbmNlIC0g
aW4gZnV0dXJlIGdvIHRvIGN0aV9vcF9wdXRfYnlfaWRfZ2VuZXJpYy4KICAgICByZXBhdGNoQnVm
ZmVyLnJlbGlua0NhbGxlclRvRnVuY3Rpb24ocmV0dXJuQWRkcmVzcywgRnVuY3Rpb25QdHIoY3Rp
X29wX2dldF9ieV9pZF9hcnJheV9mYWlsKSk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9i
YWxEYXRhLCBlbnRyeUxhYmxlLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUo
KSwgSklUUHJvZmlsZUFnZW50OjpHZXRBcnJheUxlbmd0aCk7CiB9CiAKIHZvaWQgSklUOjpwcml2
YXRlQ29tcGlsZUdldEJ5SWRQcm90byhTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgSWRl
bnRpZmllciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9m
ZnNldCwgUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzLCBDYWxsRnJhbWUqIGNhbGxGcmFt
ZSkKQEAgLTgyMyw2ICs4MjgsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJv
dG8oU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cgogCiAgICAgLy8g
V2UgZG9uJ3Qgd2FudCB0byBwYXRjaCBtb3JlIHRoYW4gb25jZSAtIGluIGZ1dHVyZSBnbyB0byBj
dGlfb3BfcHV0X2J5X2lkX2dlbmVyaWMuCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJU
b0Z1bmN0aW9uKHJldHVybkFkZHJlc3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfcHJv
dG9fbGlzdCkpOworCisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlMYWJs
ZS5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVBZ2Vu
dDo6R2V0QnlJRFByb3RvKTsKIH0KIAogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNl
bGZMaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1
Y3R1cmVMaXN0KiBwb2x5bW9ycGhpY1N0cnVjdHVyZXMsIGludCBjdXJyZW50SW5kZXgsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlT
bG90JiBzbG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0KQpAQCAtODgxLDYgKzg4OCw4IEBAIHZvaWQg
SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRTZWxmTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1
YkluZm8sIFBvbHltb3JwaGljCiAgICAgQ29kZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBz
dHViSW5mby0+aG90UGF0aEJlZ2luLmp1bXBBdE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFu
Y2hUb1Nsb3dDYXNlKTsKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxv
Y2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7
CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmxlLmV4ZWN1dGFi
bGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRCeUlE
U2VsZkxpc3QpOwogfQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0
KFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVM
aXN0KiBwcm90b3R5cGVTdHJ1Y3R1cmVzLCBpbnQgY3VycmVudEluZGV4LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgU3RydWN0dXJlKiBwcm90b3R5cGVTdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXIm
IGlkZW50LCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIENh
bGxGcmFtZSogY2FsbEZyYW1lKQpAQCAtOTUxLDYgKzk2MCw4IEBAIHZvaWQgSklUOjpwcml2YXRl
Q29tcGlsZUdldEJ5SWRQcm90b0xpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5
bW9ycGhpCiAgICAgQ29kZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90
UGF0aEJlZ2luLmp1bXBBdE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNl
KTsKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJl
cGF0Y2hCdWZmZXIucmVsaW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyAgICBSRUNP
UkRfSklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmxlLmV4ZWN1dGFibGVBZGRyZXNzKCks
IHBhdGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRCeUlEUHJvdG9MaXN0KTsK
IH0KIAogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluTGlzdChTdHJ1Y3R1cmVT
dHViSW5mbyogc3R1YkluZm8sIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCogcHJvdG90
eXBlU3RydWN0dXJlcywgaW50IGN1cnJlbnRJbmRleCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0
cnVjdHVyZUNoYWluKiBjaGFpbiwgc2l6ZV90IGNvdW50LCBjb25zdCBJZGVudGlmaWVyJiBpZGVu
dCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBDYWxsRnJh
bWUqIGNhbGxGcmFtZSkKQEAgLTEwMjEsNiArMTAzMiw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29t
cGlsZUdldEJ5SWRDaGFpbkxpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9y
cGhpCiAgICAgQ29kZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0
aEJlZ2luLmp1bXBBdE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsK
ICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0
Y2hCdWZmZXIucmVsaW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyAgICBSRUNPUkRf
SklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmxlLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBh
dGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRCeUlEQ2hhaW5MaXN0KTsKIH0K
IAogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluKFN0cnVjdHVyZVN0dWJJbmZv
KiBzdHViSW5mbywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZUNoYWluKiBjaGFpbiwg
c2l6ZV90IGNvdW50LCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90
JiBzbG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJl
c3MsIENhbGxGcmFtZSogY2FsbEZyYW1lKQpAQCAtMTA4OSw2ICsxMTAyLDggQEAgdm9pZCBKSVQ6
OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywg
U3RydWN0dXJlKiBzdHIKIAogICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFu
IG9uY2UgLSBpbiBmdXR1cmUgZ28gdG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIHJl
cGF0Y2hCdWZmZXIucmVsaW5rQ2FsbGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlv
blB0cihjdGlfb3BfZ2V0X2J5X2lkX3Byb3RvX2xpc3QpKTsKKworICAgIFJFQ09SRF9KSVRfQ09E
RShtX2dsb2JhbERhdGEsIGVudHJ5TGFibGUuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZm
ZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEJ5SURDaGFpbik7CiB9CiAKIC8qIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFTkQ6ICFFTkFCTEUgLyBFTkFCTEUoSklUX09QVElN
SVpFX1BST1BFUlRZX0FDQ0VTUykgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJf
NjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0
LmNwcAppbmRleCA3MTBhMTU1Li5mMzkxYzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKQEAgLTY3Miw2ICs2NzIsOCBA
QCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbihTdHJ1Y3R1cmVTdHVi
SW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZQogICAgIHN0dWJJbmZvLT5zdHViUm91dGluZSA9IGVu
dHJ5TGFiZWw7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNoQnVmZmVyKG1fY29kZUJsb2NrKTsK
ICAgICByZXBhdGNoQnVmZmVyLnJlbGlua0NhbGxlclRvVHJhbXBvbGluZShyZXR1cm5BZGRyZXNz
LCBlbnRyeUxhYmVsKTsKKworICAgIFJFQ09SRF9KSVRfQ09ERShtX2dsb2JhbERhdGEsIGVudHJ5
TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCBKSVRQcm9maWxl
QWdlbnQ6OlB1dEJ5SURUcmFuc2l0aW9uKTsKIH0KIAogdm9pZCBKSVQ6OnBhdGNoR2V0QnlJZFNl
bGYoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIHNpemVfdCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIg
cmV0dXJuQWRkcmVzcykKQEAgLTc3NSw2ICs3NzcsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBp
bGVQYXRjaEdldEFycmF5TGVuZ3RoKFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykKICAg
ICAKICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHBhdGNoIG1vcmUgdGhhbiBvbmNlIC0gaW4gZnV0
dXJlIGdvIHRvIGN0aV9vcF9wdXRfYnlfaWRfZ2VuZXJpYy4KICAgICByZXBhdGNoQnVmZmVyLnJl
bGlua0NhbGxlclRvRnVuY3Rpb24ocmV0dXJuQWRkcmVzcywgRnVuY3Rpb25QdHIoY3RpX29wX2dl
dF9ieV9pZF9hcnJheV9mYWlsKSk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRh
LCBlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklU
UHJvZmlsZUFnZW50OjpHZXRBcnJheUxlbmd0aCk7CiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29t
cGlsZUdldEJ5SWRQcm90byhTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmll
ciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwg
UmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAg
LTg0Niw2ICs4NTAsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG8oU3Ry
dWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cgogICAgIAogICAgIC8vIFdl
IGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFuIG9uY2UgLSBpbiBmdXR1cmUgZ28gdG8gY3Rp
X29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rQ2FsbGVyVG9G
dW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0cihjdGlfb3BfZ2V0X2J5X2lkX3Byb3Rv
X2xpc3QpKTsKKworICAgIFJFQ09SRF9KSVRfQ09ERShtX2dsb2JhbERhdGEsIGVudHJ5TGFiZWwu
ZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6
OkdldEJ5SURQcm90byk7CiB9CiAKIApAQCAtOTA1LDYgKzkxMSw4IEBAIHZvaWQgSklUOjpwcml2
YXRlQ29tcGlsZUdldEJ5SWRTZWxmTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBv
bHltb3JwaGljCiAgICAgQ29kZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+
aG90UGF0aEJlZ2luLmp1bXBBdE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dD
YXNlKTsKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAg
IHJlcGF0Y2hCdWZmZXIucmVsaW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyAgICBS
RUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNz
KCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRCeUlEU2VsZkxpc3Qp
OwogfQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KFN0cnVjdHVy
ZVN0dWJJbmZvKiBzdHViSW5mbywgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBwcm90
b3R5cGVTdHJ1Y3R1cmVzLCBpbnQgY3VycmVudEluZGV4LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
U3RydWN0dXJlKiBwcm90b3R5cGVTdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBj
b25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIENhbGxGcmFtZSog
Y2FsbEZyYW1lKQpAQCAtOTc0LDYgKzk4Miw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdl
dEJ5SWRQcm90b0xpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpCiAg
ICAgQ29kZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJlZ2lu
Lmp1bXBBdE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAgICBS
ZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZm
ZXIucmVsaW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyAgICBSRUNPUkRfSklUX0NP
REUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVm
ZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRCeUlEUHJvdG9MaXN0KTsKIH0KIAogdm9p
ZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyog
c3R1YkluZm8sIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCogcHJvdG90eXBlU3RydWN0
dXJlcywgaW50IGN1cnJlbnRJbmRleCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZUNo
YWluKiBjaGFpbiwgc2l6ZV90IGNvdW50LCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3Qg
UHJvcGVydHlTbG90JiBzbG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBDYWxsRnJhbWUqIGNhbGxG
cmFtZSkKQEAgLTEwNDQsNiArMTA1NCw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5
SWRDaGFpbkxpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpCiAgICAg
Q29kZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJlZ2luLmp1
bXBBdE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAgICBSZXBh
dGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIu
cmVsaW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyAgICBSRUNPUkRfSklUX0NPREUo
bV9nbG9iYWxEYXRhLCBlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVy
LnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRCeUlEQ2hhaW5MaXN0KTsKIH0KIAogdm9pZCBK
SVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5m
bywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZUNoYWluKiBjaGFpbiwgc2l6ZV90IGNv
dW50LCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBz
aXplX3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MsIENhbGxG
cmFtZSogY2FsbEZyYW1lKQpAQCAtMTExMSw2ICsxMTIzLDggQEAgdm9pZCBKSVQ6OnByaXZhdGVD
b21waWxlR2V0QnlJZENoYWluKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJl
KiBzdHIKICAgICAKICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHBhdGNoIG1vcmUgdGhhbiBvbmNl
IC0gaW4gZnV0dXJlIGdvIHRvIGN0aV9vcF9wdXRfYnlfaWRfZ2VuZXJpYy4KICAgICByZXBhdGNo
QnVmZmVyLnJlbGlua0NhbGxlclRvRnVuY3Rpb24ocmV0dXJuQWRkcmVzcywgRnVuY3Rpb25QdHIo
Y3RpX29wX2dldF9ieV9pZF9wcm90b19saXN0KSk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9n
bG9iYWxEYXRhLCBlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNp
emUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRCeUlEQ2hhaW4pOwogfQogCiAvKiAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gRU5EOiAhRU5BQkxFIC8gRU5BQkxFKEpJVF9PUFRJTUlaRV9Q
Uk9QRVJUWV9BQ0NFU1MpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvanNjLmNwcAppbmRleCA5MTJiNTFhLi43NzE1MjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcApA
QCAtMTAyLDExICsxMDIsMTcgQEAgc3RydWN0IE9wdGlvbnMgewogICAgIE9wdGlvbnMoKQogICAg
ICAgICA6IGludGVyYWN0aXZlKGZhbHNlKQogICAgICAgICAsIGR1bXAoZmFsc2UpCisjaWYgRU5B
QkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgICAgICAsIGppdFByb2ZpbGUoZmFsc2UpCisjZW5k
aWYKICAgICB7CiAgICAgfQogCiAgICAgYm9vbCBpbnRlcmFjdGl2ZTsKICAgICBib29sIGR1bXA7
CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIGJvb2wgaml0UHJvZmlsZTsKKyNl
bmRpZgogICAgIFZlY3RvcjxTY3JpcHQ+IHNjcmlwdHM7CiAgICAgVmVjdG9yPFVTdHJpbmc+IGFy
Z3VtZW50czsKIH07CkBAIC00NjUsNiArNDcxLDkgQEAgc3RhdGljIE5PX1JFVFVSTiB2b2lkIHBy
aW50VXNhZ2VTdGF0ZW1lbnQoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBib29sIGhlbHAgPQog
ICAgIGZwcmludGYoc3RkZXJyLCAiICAtZiAgICAgICAgIFNwZWNpZmllcyBhIHNvdXJjZSBmaWxl
IChkZXByZWNhdGVkKVxuIik7CiAgICAgZnByaW50ZihzdGRlcnIsICIgIC1ofC0taGVscCAgUHJp
bnRzIHRoaXMgaGVscCBtZXNzYWdlXG4iKTsKICAgICBmcHJpbnRmKHN0ZGVyciwgIiAgLWkgICAg
ICAgICBFbmFibGVzIGludGVyYWN0aXZlIG1vZGUgKGRlZmF1bHQgaWYgbm8gZmlsZXMgYXJlIHNw
ZWNpZmllZClcbiIpOworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBmcHJpbnRm
KHN0ZGVyciwgIiAgLXAgICAgICAgICBFbmFibGVzIEpJVCBwcm9maWxlIGFnZW50XG4iKTsKKyNl
bmRpZgogI2lmIEhBVkUoU0lHTkFMX0gpCiAgICAgZnByaW50ZihzdGRlcnIsICIgIC1zICAgICAg
ICAgSW5zdGFsbHMgc2lnbmFsIGhhbmRsZXJzIHRoYXQgZXhpdCBvbiBhIGNyYXNoIChVbml4IHBs
YXRmb3JtcyBvbmx5KVxuIik7CiAjZW5kaWYKQEAgLTQ5OCw2ICs1MDcsMTIgQEAgc3RhdGljIHZv
aWQgcGFyc2VBcmd1bWVudHMoaW50IGFyZ2MsIGNoYXIqKiBhcmd2LCBPcHRpb25zJiBvcHRpb25z
LCBKU0dsb2JhbERhdGEKICAgICAgICAgICAgIG9wdGlvbnMuZHVtcCA9IHRydWU7CiAgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgfQorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkK
KyAgICAgICAgaWYgKCFzdHJjbXAoYXJnLCAiLXAiKSkgeworICAgICAgICAgICAgb3B0aW9ucy5q
aXRQcm9maWxlID0gdHJ1ZTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisjZW5k
aWYKICAgICAgICAgaWYgKCFzdHJjbXAoYXJnLCAiLXMiKSkgewogI2lmIEhBVkUoU0lHTkFMX0gp
CiAgICAgICAgICAgICBzaWduYWwoU0lHSUxMLCBfZXhpdCk7CkBAIC01MzEsNiArNTQ2LDkgQEAg
aW50IGpzY21haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2LCBKU0dsb2JhbERhdGEqIGdsb2JhbERh
dGEpCiAgICAgcGFyc2VBcmd1bWVudHMoYXJnYywgYXJndiwgb3B0aW9ucywgZ2xvYmFsRGF0YSk7
CiAKICAgICBHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IG5ldyAoZ2xvYmFsRGF0YSkgR2xv
YmFsT2JqZWN0KG9wdGlvbnMuYXJndW1lbnRzKTsKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdF
TlQpCisgICAgZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LnNldEVuYWJsZWQodHJ1ZSk7Cisj
ZW5kaWYKICAgICBib29sIHN1Y2Nlc3MgPSBydW5XaXRoU2NyaXB0cyhnbG9iYWxPYmplY3QsIG9w
dGlvbnMuc2NyaXB0cywgb3B0aW9ucy5kdW1wKTsKICAgICBpZiAob3B0aW9ucy5pbnRlcmFjdGl2
ZSAmJiBzdWNjZXNzKQogICAgICAgICBydW5JbnRlcmFjdGl2ZShnbG9iYWxPYmplY3QpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5oCmluZGV4IDU0NGU0ODcuLmMz
NTY5YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFi
bGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmgKQEAg
LTE3Nyw2ICsxNzcsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGJvb2wgbmVlZHNBY3Rp
dmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9oYXNDYXB0dXJlZFZhcmlhYmxlcyB8fCBtX2ZlYXR1
cmVzICYgKEV2YWxGZWF0dXJlIHwgV2l0aEZlYXR1cmUgfCBDYXRjaEZlYXR1cmUpOyB9CiAgICAg
ICAgIGJvb2wgaXNTdHJpY3RNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9mZWF0dXJlcyAmIFN0cmlj
dE1vZGVGZWF0dXJlOyB9CiAKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgICAg
IHZpcnR1YWwgSklUUHJvZmlsZUFnZW50OjpKSVRDb2RlVHlwZSBqaXRDb2RlVHlwZSgpID0gMDsK
KyNlbmRpZgorCiAgICAgcHJvdGVjdGVkOgogICAgICAgICB2b2lkIHJlY29yZFBhcnNlKENvZGVG
ZWF0dXJlcyBmZWF0dXJlcywgYm9vbCBoYXNDYXB0dXJlZFZhcmlhYmxlcywgaW50IGZpcnN0TGlu
ZSwgaW50IGxhc3RMaW5lKQogICAgICAgICB7CkBAIC0yMjIsNiArMjI2LDEwIEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VO
VCkKKyAgICAgICAgSklUUHJvZmlsZUFnZW50OjpKSVRDb2RlVHlwZSBqaXRDb2RlVHlwZSgpIHsg
cmV0dXJuIEpJVFByb2ZpbGVBZ2VudDo6RXZhbDt9CisjZW5kaWYKKwogICAgIHByaXZhdGU6CiAg
ICAgICAgIEV2YWxFeGVjdXRhYmxlKEV4ZWNTdGF0ZSosIGNvbnN0IFNvdXJjZUNvZGUmLCBib29s
KTsKIApAQCAtMjYzLDYgKzI3MSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAjZW5k
aWYKIAorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICAgICAgSklUUHJvZmlsZUFn
ZW50OjpKSVRDb2RlVHlwZSBqaXRDb2RlVHlwZSgpIHsgcmV0dXJuIEpJVFByb2ZpbGVBZ2VudDo6
UHJvZ3JhbTsgfQorI2VuZGlmCiAgICAgcHJpdmF0ZToKICAgICAgICAgUHJvZ3JhbUV4ZWN1dGFi
bGUoRXhlY1N0YXRlKiwgY29uc3QgU291cmNlQ29kZSYpOwogCkBAIC0zODQsNiArMzk1LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICByZXR1cm4gbV9qaXRDb2RlRm9yQ29uc3RydWN0
V2l0aEFyaXR5Q2hlY2s7CiAgICAgICAgIH0KICNlbmRpZgorI2lmIEVOQUJMRShKSVRfUFJPRklM
RV9BR0VOVCkKKyAgICAgICAgSklUUHJvZmlsZUFnZW50OjpKSVRDb2RlVHlwZSBqaXRDb2RlVHlw
ZSgpIHsgcmV0dXJuIEpJVFByb2ZpbGVBZ2VudDo6RnVuY3Rpb247IH0KKyNlbmRpZgogICAgIH07
CiAKICAgICBpbmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1bmN0aW9uOjpqc0V4ZWN1dGFi
bGUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxEYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEu
aAppbmRleCA3YjY5MDU1Li5kOGNkMTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbERhdGEuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbERhdGEuaApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkhlYXAuaCIK
ICNpbmNsdWRlICJEYXRlSW5zdGFuY2VDYWNoZS5oIgogI2luY2x1ZGUgIkV4ZWN1dGFibGVBbGxv
Y2F0b3IuaCIKKyNpbmNsdWRlICJKSVRQcm9maWxlQWdlbnQuaCIKICNpbmNsdWRlICJKSVRTdHVi
cy5oIgogI2luY2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlICJOdW1lcmljU3RyaW5ncy5oIgpA
QCAtMTkzLDYgKzE5NCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBMZXhlciogbGV4ZXI7
CiAgICAgICAgIFBhcnNlciogcGFyc2VyOwogICAgICAgICBJbnRlcnByZXRlciogaW50ZXJwcmV0
ZXI7CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgICAgICBKSVRQcm9maWxlQWdl
bnQgaml0UHJvZmlsZUFnZW50OworI2VuZGlmCiAjaWYgRU5BQkxFKEpJVCkKICAgICAgICAgT3du
UHRyPEpJVFRodW5rcz4gaml0U3R1YnM7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0ciBn
ZXRDVElTdHViKFRodW5rR2VuZXJhdG9yIGdlbmVyYXRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
UGxhdGZvcm0uaAppbmRleCAwN2Y1N2YwLi5jYTRhZmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCkBAIC0xMDQyLDYgKzEwNDIsMTEgQEAKICNpZiBFTkFCTEUoSklUKSB8fCBF
TkFCTEUoWUFSUl9KSVQpCiAjZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIgMQogI2VuZGlmCisKKyNp
ZiBFTkFCTEUoSklUX09QUk9GSUxFX0FHRU5UKSAmJiAhZGVmaW5lZChFTkFCTEVfSklUX1BST0ZJ
TEVfQUdFTlQpCisjZGVmaW5lIEVOQUJMRV9KSVRfUFJPRklMRV9BR0VOVCAxCisjZW5kaWYKKwog
LyogU2V0dGluZyB0aGlzIGZsYWcgcHJldmVudHMgdGhlIGFzc2VtYmxlciBmcm9tIHVzaW5nIFJX
WCBtZW1vcnk7IHRoaXMgbWF5IGltcHJvdmUKICAgIHNlY3VyaXR5IGJ1dCBjdXJyZWN0bHkgY29t
ZXMgYXQgYSBzaWduaWZpY2FudCBwZXJmb3JtYW5jZSBjb3N0LiAqLwogI2lmIFBMQVRGT1JNKElP
UykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJKSVQuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJVC5jcHAKaW5kZXggY2RiNzEzNi4uOGZk
MjkzNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJVC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJVC5jcHAKQEAgLTIyMzgsOCAr
MjIzOCwxMSBAQCBwdWJsaWM6CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2V4
cHJlc3Npb25TdGF0ZS5tX2JhY2t0cmFja1JlY29yZHMuc2l6ZSgpOyArK2kpCiAgICAgICAgICAg
ICBwYXRjaEJ1ZmZlci5wYXRjaChtX2V4cHJlc3Npb25TdGF0ZS5tX2JhY2t0cmFja1JlY29yZHNb
aV0uZGF0YUxhYmVsLCBwYXRjaEJ1ZmZlci5sb2NhdGlvbk9mKG1fZXhwcmVzc2lvblN0YXRlLm1f
YmFja3RyYWNrUmVjb3Jkc1tpXS5iYWNrdHJhY2tMb2NhdGlvbikpOwogCi0gICAgICAgIGppdE9i
amVjdC5zZXQocGF0Y2hCdWZmZXIuZmluYWxpemVDb2RlKCkpOworICAgICAgICBDb2RlUmVmIGZp
bmFsQ29kZSA9IHBhdGNoQnVmZmVyLmZpbmFsaXplQ29kZSgpOworICAgICAgICBqaXRPYmplY3Qu
c2V0KGZpbmFsQ29kZSk7CiAgICAgICAgIGppdE9iamVjdC5zZXRGYWxsQmFjayhtX3Nob3VsZEZh
bGxCYWNrKTsKKworICAgICAgICBSRUNPUkRfSklUX0NPREUoZ2xvYmFsRGF0YSwgZmluYWxDb2Rl
Lm1fY29kZS5leGVjdXRhYmxlQWRkcmVzcygpLCBmaW5hbENvZGUubV9zaXplLCBKSVRQcm9maWxl
QWdlbnQ6OllhcnIpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5h
YyBiL2NvbmZpZ3VyZS5hYwppbmRleCAxOGY1MmE4Li45ZTA2YzRjIDEwMDY0NAotLS0gYS9jb25m
aWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC03MzUsNiArNzM1LDM4IEBAIGVsc2UKIGZp
CiBBQ19NU0dfUkVTVUxUKFskZW5hYmxlX2ppdF0pCiAKKyMgQnVpbGQgSklUIHdpdGggT1Byb2Zp
bGUgYWdlbnQgc3VwcG9ydAorT1BBR0VOVF9MSUJTPQorT1BBR0VOVF9MREZMQUdTPQorCitBQ19N
U0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIE9Qcm9maWxlIEpJVCBhZ2VudCBzdXBwb3J0
Ll0pCitBQ19BUkdfRU5BQkxFKFtvcGFnZW50XSwKKyAgICAgICAgICAgICAgQUNfSEVMUF9TVFJJ
TkcoWy0tZW5hYmxlLW9wYWdlbnRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRW5h
YmxlIE9Qcm9maWxlIEpJVCBhZ2VudCBzdXBwb3J0IGRlZmF1bHQ9bm9dKSwKKyAgICAgICAgICAg
ICAgW10sW2VuYWJsZV9vcGFnZW50PW5vXSkKKworQUNfQVJHX1dJVEgoW29wYWdlbnQtbGliZGly
XSwKKyAgICAgICAgICAgIFtBU19IRUxQX1NUUklORygtLXdpdGgtb3BhZ2VudC1saWJkaXI9bG9j
YXRpb24gb2Ygb3BhZ2VudCBsaWJyYXJ5IFtbZGVmYXVsdD0vdXNyL2xpYi9vcHJvZmlsZV1dKV0s
CisgICAgICAgICAgICBbT1BBR0VOVF9MREZMQUdTPS1MIiR7d2l0aHZhbH0iXSwKKyAgICAgICAg
ICAgIFtPUEFHRU5UX0xERkxBR1M9LUwvdXNyL2xpYi9vcHJvZmlsZV0pCitBQ19TVUJTVChbT1BB
R0VOVF9MREZMQUdTXSkKKworaWYgdGVzdCAiJGVuYWJsZV9vcGFnZW50IiA9ICJ5ZXMiOyB0aGVu
CisgIExERkxBR1M9IiRMREZMQUdTICRPUEFHRU5UX0xERkxBR1MiOworICBBQ19DSEVDS19MSUIo
W29wYWdlbnRdLCBbb3BfbWFqb3JfdmVyc2lvbl0sCisgICAgW0FDX0NIRUNLX0hFQURFUihbb3Bh
Z2VudC5oXSwKKyAgICAgIG9wYWdlbnRfb2s9eWVzLAorICAgICAgb3BhZ2VudF9vaz1ubyldLAor
ICAgIEFDX01TR19FUlJPUihbT1Byb2ZpbGUgb3BhZ2VudCBsaWJyYXJ5IG5vdCBmb3VuZF0pLCAt
bGJmZCkKKworICBpZiB0ZXN0ICIkb3BhZ2VudF9vayIgPSAieWVzIjsgdGhlbgorICAgIEFDX0RF
RklORShbRU5BQkxFX0pJVF9PUFJPRklMRV9BR0VOVF0sIFsxXSwgW0RlZmluZSB0byBlbmFibGUg
T1Byb2ZpbGUgSklUIGFnZW50IHN1cHBvcnRdKQorICAgIE9QQUdFTlRfTElCUz0iLWxvcGFnZW50
IgorICBmaQorZmkKKworQUNfU1VCU1QoW09QQUdFTlRfTElCU10pCisKICMgT3Bjb2RlIHN0YXRz
CiBBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIG9wY29kZSBzdGF0c10pCiBBQ19B
UkdfRU5BQkxFKFtvcGNvZGUtc3RhdHNdLApAQCAtMTAzNyw2ICsxMDY5LDcgQEAgQnVpbGQgY29u
ZmlndXJhdGlvbjoKICBVbmljb2RlIGJhY2tlbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA6ICR3aXRoX3VuaWNvZGVfYmFja2VuZAogIEZvbnQgYmFja2VuZCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHdpdGhfZm9udF9iYWNr
ZW5kCiAgT3B0aW1pemVkIG1lbW9yeSBhbGxvY2F0b3IgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgOiAkZW5hYmxlX2Zhc3RfbWFsbG9jCisgT3Byb2ZpbGUgc3VwcG9ydCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX29wYWdlbnQKIEZlYXR1cmVz
OgogIDNEIFRyYW5zZm9ybXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDogJGVuYWJsZV8zRF90cmFuc2Zvcm1zCiAgM0QgQ2FudmFzIChXZWJHTCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlXzNEX2NhbnZhcwotLSAKMS43
LjMuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81055</attachid>
            <date>2011-02-03 05:47:55 -0800</date>
            <delta_ts>2011-02-03 08:20:55 -0800</delta_ts>
            <desc>jitprofile.diff</desc>
            <filename>jitprofile.diff</filename>
            <type>text/plain</type>
            <size>45902</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSA2Yzk2OTgwNmJkZDk1NWI3M2IxZTgxMjBjNWZiOGY2YWVhYzQ4ZTJmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhhbkBnbm9tZS5vcmc+CkRhdGU6IFRodSwg
MyBGZWIgMjAxMSAxMzo1MjoxOCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIDIwMTEtMDItMDMgIFhh
biBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KCiAgICAgICAgUHJvdmlkZSBhIE9Qcm9maWxlIEpJVCBhZ2VudCAob3BhZ2VudCkg
Zm9yIHRoZSBjb2RlIGdlbmVyYXRlZCBieSB0aGUgSklUCiAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyNTYxCgogICAgICAgIEFkZCBzdXBwb3J0IGZvciBP
UHJvZmlsZSBKSVQgYW5ub3RhdGlvbnMgdG8gdGhlIEdUSysgcG9ydC4gRW5hYmxlCiAgICAgICAg
d2l0aCAtLWVuYWJsZS1vcGFnZW50LgoKICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBhZGQgT1BB
R0VOVCBmbGFncy4KICAgICAgICAqIGNvbmZpZ3VyZS5hYzogYWRkIC0tZW5hYmxlLW9wYWdlbnQg
Y29uZmlndXJlIGZsYWcuCgpTb3VyY2UvSmF2YVNjcmlwdENvcmU6CgoyMDExLTAyLTAzICBYYW4g
TG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCgogICAgICAgIFByb3ZpZGUgYSBPUHJvZmlsZSBKSVQgYWdlbnQgKG9wYWdlbnQpIGZv
ciB0aGUgY29kZSBnZW5lcmF0ZWQgYnkgdGhlIEpJVAogICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjU2MQoKICAgICAgICBCYXNlZCBvbiB0aGUgd29yayBi
eSBIb2xnZXIgRnJleXRoZXIsIEdhYm9yIExva2kgYW5kIFpvbHRhbiBIZXJjemVnLgoKICAgICAg
ICBBZGQgSklUUHJvZmlsZUFnZW50LCBhIG5ldyBjbGFzcyBpbiB0b29scy8gd2l0aCB0aGUgYmFz
aWMgbWV0aG9kcwogICAgICAgIHRvIGFubm90YXRlIHRoZSBKSVQgY29kZSwgYW5kIGhvb2sgaXQg
dXAgaW4gdGhlIHJlbGV2YW50IHBsYWNlcwogICAgICAgIHRocm91Z2hvdXQgSmF2YVNjcmlwdENv
cmUvLiBJbmNsdWRlZCBpcyBhbiBPUHJvZmlsZSBpbXBsZW1lbnRhdGlvbgogICAgICAgIGZvciBM
aW51eCBzeXN0ZW1zLgoKICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBhZGQgSklUUHJvZmlsZUFn
ZW50IGZpbGVzLgogICAgICAgICogR05VbWFrZWZpbGUuYW06IGRpdHRvLgogICAgICAgICogSmF2
YVNjcmlwdENvcmUuZ3lwaTogZGl0dG8uCiAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5wcmk6IGRp
dHRvLgogICAgICAgICogSmF2YVNjcmlwdENvcmUucHJvOiBkaXR0by4KICAgICAgICAqIGFzc2Vt
Ymxlci9MaW5rQnVmZmVyLmg6CiAgICAgICAgKEpTQzo6TGlua0J1ZmZlcjo6c2l6ZSk6IG1ldGhv
ZCB0byByZXR1cm4gdGhlIHNpemUgb2YgdGhlIGJ1ZmZlciwKICAgICAgICBuZWVkZWQgZm9yIHRo
ZSBjb2RlIGFubm90YXRpb24gYnkgdGhlIEpJVCBwcm9maWxlIG1ldGhvZHMuCiAgICAgICAgKiBi
eXRlY29kZS9Db2RlQmxvY2suaDoKICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmxpbmVJbmZvKTog
YWNjZXNzb3IgZm9yIHRoZSBsaW5laW5mbyBkYXRhLgogICAgICAgICogaml0L0pJVC5jcHA6CiAg
ICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZSk6IGNhbGwgb3V0IHRvIHRoZSBKSVRQcm9m
aWxlQWdlbnQgdG8KICAgICAgICBhbm5vdGF0ZSBnZW5lcmF0ZWQgY29kZS4KICAgICAgICAqIGpp
dC9KSVRPcGNvZGVzLmNwcDoKICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFj
aGluZVRyYW1wb2xpbmVzKTogZGl0dG8uCiAgICAgICAgKiBqaXQvSklUT3Bjb2RlczMyXzY0LmNw
cDoKICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVz
KTogZGl0dG8uCiAgICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgogICAgICAgIChK
U0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbik6IGRpdHRvLgogICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFycmF5TGVuZ3RoKTogZGl0dG8uCiAg
ICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6IGRpdHRvLgogICAg
ICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QpOiBkaXR0by4KICAg
ICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdCk6IGRpdHRvLgog
ICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KTogZGl0dG8u
CiAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6IGRpdHRvLgog
ICAgICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwOgogICAgICAgIChKU0M6OkpJ
VDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbik6IGRpdHRvLgogICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFycmF5TGVuZ3RoKTogZGl0dG8uCiAgICAgICAg
KEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6IGRpdHRvLgogICAgICAgIChK
U0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QpOiBkaXR0by4KICAgICAgICAo
SlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdCk6IGRpdHRvLgogICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KTogZGl0dG8uCiAgICAg
ICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6IGRpdHRvLgogICAgICAg
ICoganNjLmNwcDogc3VwcG9ydCBwcm9maWxpbmcgb2YgdGhlIEpJVCBjb2RlIHdpdGggLXAuCiAg
ICAgICAgKiBydW50aW1lL0V4ZWN1dGFibGUuaDoKICAgICAgICAoSlNDOjpFdmFsRXhlY3V0YWJs
ZTo6aml0Q29kZVR5cGUpOiByZXR1cm4gcHJvcGVyIEpJVENvZGVUeXBlIGZvciB0aGUgRXhlY3V0
YWJsZS4KICAgICAgICAoSlNDOjpQcm9ncmFtRXhlY3V0YWJsZTo6aml0Q29kZVR5cGUpOiBkaXR0
by4KICAgICAgICAoSlNDOjpGdW5jdGlvbkV4ZWN1dGFibGU6OmppdENvZGVUeXBlKTogZGl0dG8u
CiAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsRGF0YS5oOgogICAgICAgICogdG9vbHMvSklUUHJv
ZmlsZUFnZW50LmNwcDogQWRkZWQuCiAgICAgICAgKiB0b29scy9KSVRQcm9maWxlQWdlbnQuaDog
QWRkZWQuCiAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKICAgICAgICAqIHlhcnIvWWFyckpJVC5j
cHA6CiAgICAgICAgKEpTQzo6WWFycjo6WWFyckdlbmVyYXRvcjo6Y29tcGlsZSk6IGNhbGwgb3V0
IHRvIHRoZQogICAgICAgIEpJVFByb2ZpbGVBZ2VudCB0byBhbm5vdGF0ZSBnZW5lcmF0ZWQgY29k
ZS4KLS0tCiBDaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgMTMgKysKIEdOVW1ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgICAgMSArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgICAg
ICAgICAgICAgICB8ICAgIDMgKwogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyAgICAg
ICAgICAgICAgICAgICAgfCAgIDYwICsrKysrKysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVt
YWtlZmlsZS5hbSAgICAgICAgICAgICAgIHwgICAgMyArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUuZ3lwaSAgICAgICAgICB8ICAgIDIgKwogU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnByaSAgICAgICAgICAgfCAgICAxICsKIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcm8gICAgICAgICAgIHwgICAgMSArCiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaCAgICAgICB8ICAgIDcgKwogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oICAgICAgICAgfCAgICA1ICsKIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCAgICAgICAgICAgICAgICAgIHwgICAgNSAr
LQogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCAgICAgICAgICAgfCAg
ICAzICsKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcCAgICAg
IHwgICAgMyArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNw
cCAgICB8ICAgMTUgKysKIC4uLi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3Mz
Ml82NC5jcHAgIHwgICAxNCArKwogU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDE4ICsrCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
eGVjdXRhYmxlLmggICAgICAgICB8ICAgMTQgKysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsRGF0YS5oICAgICAgIHwgICAgNCArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
dG9vbHMvSklUUHJvZmlsZUFnZW50LmNwcCAgICB8ICAxNzQgKysrKysrKysrKysrKysrKysrKysK
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuaCAgICAgIHwgIDE2
MCArKysrKysrKysrKysrKysrKysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0u
aCAgICAgICAgICAgICAgIHwgICAgNSArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJy
SklULmNwcCAgICAgICAgICAgICB8ICAgIDUgKy0KIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzMyArKysrCiAyMyBmaWxlcyBjaGFuZ2VkLCA1
NDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFnZW50LmNwcAogY3JlYXRlIG1vZGUg
MTAwNjQ0IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuaAoKZGlm
ZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBkMDI3ZDNhLi4zOGE0NWU0IDEw
MDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MTEtMDItMDMgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByb3ZpZGUgYSBPUHJvZmlsZSBKSVQg
YWdlbnQgKG9wYWdlbnQpIGZvciB0aGUgY29kZSBnZW5lcmF0ZWQgYnkgdGhlIEpJVAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI1NjEKKworICAgICAg
ICBBZGQgc3VwcG9ydCBmb3IgT1Byb2ZpbGUgSklUIGFubm90YXRpb25zIHRvIHRoZSBHVEsrIHBv
cnQuIEVuYWJsZQorICAgICAgICB3aXRoIC0tZW5hYmxlLW9wYWdlbnQuCisKKyAgICAgICAgKiBH
TlVtYWtlZmlsZS5hbTogYWRkIE9QQUdFTlQgZmxhZ3MuCisgICAgICAgICogY29uZmlndXJlLmFj
OiBhZGQgLS1lbmFibGUtb3BhZ2VudCBjb25maWd1cmUgZmxhZy4KKwogMjAxMS0wMi0wMiAgQWxl
amFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBNYXJ0aW4gUm9iaW5zb24uCmRpZmYgLS1naXQgYS9HTlVtYWtlZmlsZS5hbSBiL0dOVW1ha2Vm
aWxlLmFtCmluZGV4IDkxMGJlMzguLmM2ZjVjM2EgMTAwNjQ0Ci0tLSBhL0dOVW1ha2VmaWxlLmFt
CisrKyBiL0dOVW1ha2VmaWxlLmFtCkBAIC0xNDIsNiArMTQyLDcgQEAgbGliSmF2YVNjcmlwdENv
cmVfbGFfU09VUkNFUyA9IFwKIGxpYkphdmFTY3JpcHRDb3JlX2xhX0xJQkFERCA9IFwKIAkkKFVO
SUNPREVfTElCUykgXAogCSQoR0xJQl9MSUJTKSBcCisJJChPUEFHRU5UX0xJQlMpIFwKIAktbHB0
aHJlYWQKIAogbGliSmF2YVNjcmlwdENvcmVfbGFfQ1hYRkxBR1MgPSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZTY4NWVjZi4uYjliN2ZmMiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTMsNiArMTMsNyBAQCBTRVQoSmF2YVNjcmlwdENvcmVf
SU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vcGNyZSIKICAg
ICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L3Byb2ZpbGVyIgogICAgICIke0pBVkFTQ1JJUFRDT1JF
X0RJUn0vcnVudGltZSIKKyAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L3Rvb2xzIgogICAgICIk
e0pBVkFTQ1JJUFRDT1JFX0RJUn0veWFyciIKICAgICAiJHtXVEZfSU5DTFVERV9ESVJFQ1RPUklF
U30iCiAgICAgIiR7Q01BS0VfU09VUkNFX0RJUn0iCkBAIC0xNzIsNiArMTczLDggQEAgU0VUKEph
dmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBydW50aW1lL1RpbWVvdXRDaGVja2VyLmNwcAogICAg
IHJ1bnRpbWUvVVN0cmluZy5jcHAKIAorICAgIHRvb2xzL0pJVFByb2ZpbGVBZ2VudC5jcHAKKwog
ICAgIHlhcnIvWWFyclBhdHRlcm4uY3BwCiAgICAgeWFyci9ZYXJySW50ZXJwcmV0ZXIuY3BwCiAg
ICAgeWFyci9ZYXJySklULmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggYzlhYWU5ZS4u
ZWVlZTY3MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIwMTEt
MDItMDMgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByb3ZpZGUgYSBPUHJvZmlsZSBKSVQgYWdl
bnQgKG9wYWdlbnQpIGZvciB0aGUgY29kZSBnZW5lcmF0ZWQgYnkgdGhlIEpJVAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI1NjEKKworICAgICAgICBC
YXNlZCBvbiB0aGUgd29yayBieSBIb2xnZXIgRnJleXRoZXIsIEdhYm9yIExva2kgYW5kIFpvbHRh
biBIZXJjemVnLgorCisgICAgICAgIEFkZCBKSVRQcm9maWxlQWdlbnQsIGEgbmV3IGNsYXNzIGlu
IHRvb2xzLyB3aXRoIHRoZSBiYXNpYyBtZXRob2RzCisgICAgICAgIHRvIGFubm90YXRlIHRoZSBK
SVQgY29kZSwgYW5kIGhvb2sgaXQgdXAgaW4gdGhlIHJlbGV2YW50IHBsYWNlcworICAgICAgICB0
aHJvdWdob3V0IEphdmFTY3JpcHRDb3JlLy4gSW5jbHVkZWQgaXMgYW4gT1Byb2ZpbGUgaW1wbGVt
ZW50YXRpb24KKyAgICAgICAgZm9yIExpbnV4IHN5c3RlbXMuCisKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDogYWRkIEpJVFByb2ZpbGVBZ2VudCBmaWxlcy4KKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5hbTogZGl0dG8uCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZ3lwaTogZGl0dG8uCisgICAg
ICAgICogSmF2YVNjcmlwdENvcmUucHJpOiBkaXR0by4KKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS5wcm86IGRpdHRvLgorICAgICAgICAqIGFzc2VtYmxlci9MaW5rQnVmZmVyLmg6CisgICAgICAg
IChKU0M6OkxpbmtCdWZmZXI6OnNpemUpOiBtZXRob2QgdG8gcmV0dXJuIHRoZSBzaXplIG9mIHRo
ZSBidWZmZXIsCisgICAgICAgIG5lZWRlZCBmb3IgdGhlIGNvZGUgYW5ub3RhdGlvbiBieSB0aGUg
SklUIHByb2ZpbGUgbWV0aG9kcy4KKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suaDoKKyAg
ICAgICAgKEpTQzo6Q29kZUJsb2NrOjpsaW5lSW5mbyk6IGFjY2Vzc29yIGZvciB0aGUgbGluZWlu
Zm8gZGF0YS4KKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2
YXRlQ29tcGlsZSk6IGNhbGwgb3V0IHRvIHRoZSBKSVRQcm9maWxlQWdlbnQgdG8KKyAgICAgICAg
YW5ub3RhdGUgZ2VuZXJhdGVkIGNvZGUuCisgICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgor
ICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVzKTog
ZGl0dG8uCisgICAgICAgICogaml0L0pJVE9wY29kZXMzMl82NC5jcHA6CisgICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVDVElNYWNoaW5lVHJhbXBvbGluZXMpOiBkaXR0by4KKyAgICAg
ICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZh
dGVDb21waWxlUHV0QnlJZFRyYW5zaXRpb24pOiBkaXR0by4KKyAgICAgICAgKEpTQzo6SklUOjpw
cml2YXRlQ29tcGlsZVBhdGNoR2V0QXJyYXlMZW5ndGgpOiBkaXR0by4KKyAgICAgICAgKEpTQzo6
SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6IGRpdHRvLgorICAgICAgICAoSlNDOjpK
SVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNlbGZMaXN0KTogZGl0dG8uCisgICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KTogZGl0dG8uCisgICAgICAgIChK
U0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KTogZGl0dG8uCisgICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4pOiBkaXR0by4KKyAgICAgICAg
KiBqaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJp
dmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbik6IGRpdHRvLgorICAgICAgICAoSlNDOjpKSVQ6
OnByaXZhdGVDb21waWxlUGF0Y2hHZXRBcnJheUxlbmd0aCk6IGRpdHRvLgorICAgICAgICAoSlND
OjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvKTogZGl0dG8uCisgICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QpOiBkaXR0by4KKyAgICAgICAgKEpT
Qzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90b0xpc3QpOiBkaXR0by4KKyAgICAgICAg
KEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbkxpc3QpOiBkaXR0by4KKyAgICAg
ICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6IGRpdHRvLgorICAgICAg
ICAqIGpzYy5jcHA6IHN1cHBvcnQgcHJvZmlsaW5nIG9mIHRoZSBKSVQgY29kZSB3aXRoIC1wLgor
ICAgICAgICAqIHJ1bnRpbWUvRXhlY3V0YWJsZS5oOgorICAgICAgICAoSlNDOjpFdmFsRXhlY3V0
YWJsZTo6aml0Q29kZVR5cGUpOiByZXR1cm4gcHJvcGVyIEpJVENvZGVUeXBlIGZvciB0aGUgRXhl
Y3V0YWJsZS4KKyAgICAgICAgKEpTQzo6UHJvZ3JhbUV4ZWN1dGFibGU6OmppdENvZGVUeXBlKTog
ZGl0dG8uCisgICAgICAgIChKU0M6OkZ1bmN0aW9uRXhlY3V0YWJsZTo6aml0Q29kZVR5cGUpOiBk
aXR0by4KKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsRGF0YS5oOgorICAgICAgICAqIHRvb2xz
L0pJVFByb2ZpbGVBZ2VudC5jcHA6IEFkZGVkLgorICAgICAgICAqIHRvb2xzL0pJVFByb2ZpbGVB
Z2VudC5oOiBBZGRlZC4KKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgKiB5YXJy
L1lhcnJKSVQuY3BwOgorICAgICAgICAoSlNDOjpZYXJyOjpZYXJyR2VuZXJhdG9yOjpjb21waWxl
KTogY2FsbCBvdXQgdG8gdGhlCisgICAgICAgIEpJVFByb2ZpbGVBZ2VudCB0byBhbm5vdGF0ZSBn
ZW5lcmF0ZWQgY29kZS4KKwogMjAxMS0wMi0wMiAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNs
b3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgV2luZG93cyBidWlsZCBmaXguCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggYWFkY2QwOS4uOWYwNDlmMyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTQsNiArMTQsNyBAQCBqYXZhc2NyaXB0Y29yZV9j
cHBmbGFncyArPSBcCiAJLUkkKHNyY2RpcikvU291cmNlL0phdmFTY3JpcHRDb3JlL3BjcmUgXAog
CS1JJChzcmNkaXIpL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlciBcCiAJLUkkKHNyY2Rp
cikvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUgXAorCS1JJChzcmNkaXIpL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90b29scyBcCiAJLUkkKHNyY2RpcikvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0ZiBcCiAJLUkkKHNyY2RpcikvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0ZiBcCiAJLUkkKHNy
Y2RpcikvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0IFwKQEAgLTQzMSw2ICs0MzIs
OCBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9XZWFrR0NQdHIuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vh
a1JhbmRvbS5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIu
aCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pJVFByb2ZpbGVBZ2VudC5jcHAgXAor
CVNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuaCBcCiAJU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9BbHdheXNJbmxpbmUuaCBcCiAJU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9BU0NJSUNUeXBlLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0
aW9ucy5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLmd5cGkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRl
eCA4NWE0MTNjLi40YjNlN2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUuZ3lwaQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUuZ3lwaQpAQCAtMzYxLDYgKzM2MSw4IEBACiAgICAgICAgICAgICAncnVudGltZS9VU3RyaW5n
QnVpbGRlci5oJywKICAgICAgICAgICAgICdydW50aW1lL1VTdHJpbmdDb25jYXRlbmF0ZS5oJywK
ICAgICAgICAgICAgICdydW50aW1lL1dlYWtSYW5kb20uaCcsCisgICAgICAgICAgICAndG9vbHMv
SklUUHJvZmlsZUFnZW50LmNwcCcsCisgICAgICAgICAgICAndG9vbHMvSklUUHJvZmlsZUFnZW50
LmgnLAogICAgICAgICAgICAgJ3d0Zi9BbHdheXNJbmxpbmUuaCcsCiAgICAgICAgICAgICAnd3Rm
L0FTQ0lJQ1R5cGUuaCcsCiAgICAgICAgICAgICAnd3RmL0Fzc2VydGlvbnMuY3BwJywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJpCmluZGV4IDA2NjEzYTEuLmUzYjk5Zjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaQpAQCAtMzQsNiArMzQs
NyBAQCBKQVZBU0NSSVBUQ09SRV9JTkNMVURFUEFUSCA9IFwKICAgICAkJFBXRC9wY3JlIFwKICAg
ICAkJFBXRC9wcm9maWxlciBcCiAgICAgJCRQV0QvcnVudGltZSBcCisgICAgJCRQV0QvdG9vbHMg
XAogICAgICQkUFdEL3d0ZiBcCiAgICAgJCRQV0Qvd3RmL2dvYmplY3QgXAogICAgICQkUFdEL3d0
Zi9zeW1iaWFuIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS5wcm8gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJvCmluZGV4
IDkxMjI2NDcuLjNhY2Q2MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5wcm8KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnBybwpAQCAtMjEzLDYgKzIxMyw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHJ1bnRpbWUvU3RydWN0
dXJlLmNwcCBcCiAgICAgcnVudGltZS9UaW1lb3V0Q2hlY2tlci5jcHAgXAogICAgIHJ1bnRpbWUv
VVN0cmluZy5jcHAgXAorICAgIHRvb2xzL0pJVFByb2ZpbGVBZ2VudC5jcHAgXAogICAgIHlhcnIv
WWFyclBhdHRlcm4uY3BwIFwKICAgICB5YXJyL1lhcnJJbnRlcnByZXRlci5jcHAgXAogICAgIHlh
cnIvWWFyckpJVC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtC
dWZmZXIuaAppbmRleCBjNWE3ZDViLi5hMjhlZWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaApAQCAtMTgzLDYgKzE4MywxMyBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBDb2RlUHRyKE1hY3JvQXNzZW1ibGVyOjpBc3NlbWJsZXJUeXBlX1Q6Omdl
dFJlbG9jYXRlZEFkZHJlc3MoY29kZSgpLCBhcHBseU9mZnNldChsYWJlbC5tX2xhYmVsKSkpOwog
ICAgIH0KIAorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBzaXplX3Qgc2l6ZSgp
IGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9zaXplOworICAgIH0KKyNlbmRpZgorCiBw
cml2YXRlOgogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBUIGFwcGx5T2Zmc2V0KFQgc3JjKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAppbmRleCBm
ODQ5OGI0Li45NzU5N2Y2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ29kZUJsb2NrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVC
bG9jay5oCkBAIC00NTYsNiArNDU2LDExIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAg
cmV0dXJuIG1fcmFyZURhdGEgJiYKICAgICAgICAgICAgICAgICAobV9yYXJlRGF0YS0+bV9leHBy
ZXNzaW9uSW5mby5zaXplKCkgfHwgbV9yYXJlRGF0YS0+bV9saW5lSW5mby5zaXplKCkgfHwgbV9y
YXJlRGF0YS0+bV9leGNlcHRpb25IYW5kbGVycy5zaXplKCkpOwogICAgICAgICB9CisgICAgICAg
IFZlY3RvcjxMaW5lSW5mbz4mIGxpbmVJbmZvKCkKKyAgICAgICAgeworICAgICAgICAgICAgY3Jl
YXRlUmFyZURhdGFJZk5lY2Vzc2FyeSgpOworICAgICAgICAgICAgcmV0dXJuIG1fcmFyZURhdGEt
Pm1fbGluZUluZm87CisgICAgICAgIH0KIAogI2lmIEVOQUJMRShKSVQpCiAgICAgICAgIFZlY3Rv
cjxDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldD4mIGNhbGxSZXR1cm5JbmRleFZlY3Rv
cigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggYjhiZDcxOC4uMDEzYTJmNiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtNTg0LDcgKzU4NCwxMCBAQCBKSVRDb2RlIEpJ
VDo6cHJpdmF0ZUNvbXBpbGUoQ29kZVB0ciogZnVuY3Rpb25FbnRyeUFyaXR5Q2hlY2spCiAgICAg
aWYgKG1fY29kZUJsb2NrLT5jb2RlVHlwZSgpID09IEZ1bmN0aW9uQ29kZSAmJiBmdW5jdGlvbkVu
dHJ5QXJpdHlDaGVjaykKICAgICAgICAgKmZ1bmN0aW9uRW50cnlBcml0eUNoZWNrID0gcGF0Y2hC
dWZmZXIubG9jYXRpb25PZihhcml0eUNoZWNrKTsKIAotICAgIHJldHVybiBwYXRjaEJ1ZmZlci5m
aW5hbGl6ZUNvZGUoKTsKKyAgICBKSVRDb2RlIGNvZGUgPSBwYXRjaEJ1ZmZlci5maW5hbGl6ZUNv
ZGUoKTsKKyAgICBSRUNPUkRfSklUX0NPREVfQ09ERUJMT0NLKG1fZ2xvYmFsRGF0YSwgY29kZS5h
ZGRyZXNzRm9yQ2FsbCgpLmV4ZWN1dGFibGVBZGRyZXNzKCksIGNvZGUuc2l6ZSgpLCBtX2NvZGVC
bG9jayk7CisgICAgQU5OT1RBVEVfSklUX0NPREUobV9nbG9iYWxEYXRhLCBjb2RlLmFkZHJlc3NG
b3JDYWxsKCkuZXhlY3V0YWJsZUFkZHJlc3MoKSwgbV9jb2RlQmxvY2ssIG1fY29kZUJsb2NrLT5z
b3VyY2UoKS0+dXJsKCkpOworICAgIHJldHVybiBjb2RlOwogfQogCiAjaWYgVVNFKEpTVkFMVUU2
NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCmluZGV4IDk4Y2IyZjMu
LmFhOTA3N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rl
cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcApAQCAt
MzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiQXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiSklUSW5s
aW5lTWV0aG9kcy5oIgorI2luY2x1ZGUgIkpJVFByb2ZpbGVBZ2VudC5oIgogI2luY2x1ZGUgIkpJ
VFN0dWJDYWxsLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgogI2luY2x1ZGUgIkpTQ2VsbC5oIgpA
QCAtMTc1LDYgKzE3Niw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFt
cG9saW5lcyhSZWZQdHI8RXhlY3V0YWJsZVBvb2w+KiBleGVjdXRhYmxlCiAgICAgQ29kZVJlZiBm
aW5hbENvZGUgPSBwYXRjaEJ1ZmZlci5maW5hbGl6ZUNvZGUoKTsKICAgICAqZXhlY3V0YWJsZVBv
b2wgPSBmaW5hbENvZGUubV9leGVjdXRhYmxlUG9vbDsKIAorICAgIFJFQ09SRF9KSVRfVFJBTVBP
TElORVMobV9nbG9iYWxEYXRhLCBmaW5hbENvZGUubV9jb2RlLmV4ZWN1dGFibGVBZGRyZXNzKCks
IG1fY29kZUJsb2NrLCBmaW5hbENvZGUubV9zaXplKQorCiAgICAgdHJhbXBvbGluZXMtPmN0aVZp
cnR1YWxDYWxsTGluayA9IHBhdGNoQnVmZmVyLnRyYW1wb2xpbmVBdCh2aXJ0dWFsQ2FsbExpbmtC
ZWdpbik7CiAgICAgdHJhbXBvbGluZXMtPmN0aVZpcnR1YWxDb25zdHJ1Y3RMaW5rID0gcGF0Y2hC
dWZmZXIudHJhbXBvbGluZUF0KHZpcnR1YWxDb25zdHJ1Y3RMaW5rQmVnaW4pOwogICAgIHRyYW1w
b2xpbmVzLT5jdGlWaXJ0dWFsQ2FsbCA9IHBhdGNoQnVmZmVyLnRyYW1wb2xpbmVBdCh2aXJ0dWFs
Q2FsbEJlZ2luKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bj
b2RlczMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0
LmNwcAppbmRleCBkZGE3NGM4Li5lOTIxZjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiSklU
LmgiCiAKICNpbmNsdWRlICJKSVRJbmxpbmVNZXRob2RzLmgiCisjaW5jbHVkZSAiSklUUHJvZmls
ZUFnZW50LmgiCiAjaW5jbHVkZSAiSklUU3R1YkNhbGwuaCIKICNpbmNsdWRlICJKU0FycmF5Lmgi
CiAjaW5jbHVkZSAiSlNDZWxsLmgiCkBAIC0xNzYsNiArMTc3LDggQEAgdm9pZCBKSVQ6OnByaXZh
dGVDb21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVzKFJlZlB0cjxFeGVjdXRhYmxlUG9vbD4qIGV4
ZWN1dGFibGUKICAgICBDb2RlUmVmIGZpbmFsQ29kZSA9IHBhdGNoQnVmZmVyLmZpbmFsaXplQ29k
ZSgpOwogICAgICpleGVjdXRhYmxlUG9vbCA9IGZpbmFsQ29kZS5tX2V4ZWN1dGFibGVQb29sOwog
CisgICAgUkVDT1JEX0pJVF9UUkFNUE9MSU5FUyhtX2dsb2JhbERhdGEsIGZpbmFsQ29kZS5tX2Nv
ZGUuZXhlY3V0YWJsZUFkZHJlc3MoKSwgbV9jb2RlQmxvY2ssIGZpbmFsQ29kZS5tX3NpemUpOwor
CiAgICAgdHJhbXBvbGluZXMtPmN0aVZpcnR1YWxDYWxsID0gcGF0Y2hCdWZmZXIudHJhbXBvbGlu
ZUF0KHZpcnR1YWxDYWxsQmVnaW4pOwogICAgIHRyYW1wb2xpbmVzLT5jdGlWaXJ0dWFsQ29uc3Ry
dWN0ID0gcGF0Y2hCdWZmZXIudHJhbXBvbGluZUF0KHZpcnR1YWxDb25zdHJ1Y3RCZWdpbik7CiAg
ICAgdHJhbXBvbGluZXMtPmN0aU5hdGl2ZUNhbGwgPSBwYXRjaEJ1ZmZlci50cmFtcG9saW5lQXQo
bmF0aXZlQ2FsbFRodW5rKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUUHJvcGVydHlBY2Nlc3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9w
ZXJ0eUFjY2Vzcy5jcHAKaW5kZXggMWI5NWVlYy4uNjdiY2EyMSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKQEAgLTMyLDYgKzMyLDcgQEAK
ICNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNs
dWRlICJKSVRJbmxpbmVNZXRob2RzLmgiCisjaW5jbHVkZSAiSklUUHJvcGVydHlBY2Nlc3MuaCIK
ICNpbmNsdWRlICJKSVRTdHViQ2FsbC5oIgogI2luY2x1ZGUgIkpTQXJyYXkuaCIKICNpbmNsdWRl
ICJKU0Z1bmN0aW9uLmgiCkBAIC02NTYsNiArNjU3LDggQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21w
aWxlUHV0QnlJZFRyYW5zaXRpb24oU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1
cmUKICAgICBzdHViSW5mby0+c3R1YlJvdXRpbmUgPSBlbnRyeUxhYmVsOwogICAgIFJlcGF0Y2hC
dWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxp
bmtDYWxsZXJUb1RyYW1wb2xpbmUocmV0dXJuQWRkcmVzcywgZW50cnlMYWJlbCk7CisKKyAgICBS
RUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmxlLmV4ZWN1dGFibGVBZGRyZXNz
KCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpQdXRCeUlEVHJhbnNpdGlv
bik7CiB9CiAKIHZvaWQgSklUOjpwYXRjaEdldEJ5SWRTZWxmKENvZGVCbG9jayogY29kZUJsb2Nr
LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBzaXpl
X3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MpCkBAIC03NTQs
NiArNzU3LDggQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlUGF0Y2hHZXRBcnJheUxlbmd0aChS
ZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MpCiAKICAgICAvLyBXZSBkb24ndCB3YW50IHRv
IHBhdGNoIG1vcmUgdGhhbiBvbmNlIC0gaW4gZnV0dXJlIGdvIHRvIGN0aV9vcF9wdXRfYnlfaWRf
Z2VuZXJpYy4KICAgICByZXBhdGNoQnVmZmVyLnJlbGlua0NhbGxlclRvRnVuY3Rpb24ocmV0dXJu
QWRkcmVzcywgRnVuY3Rpb25QdHIoY3RpX29wX2dldF9ieV9pZF9hcnJheV9mYWlsKSk7CisKKyAg
ICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmxlLmV4ZWN1dGFibGVBZGRy
ZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRBcnJheUxlbmd0
aCk7CiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byhTdHJ1Y3R1cmVT
dHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1cmUqIHByb3Rv
dHlwZVN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xv
dCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwgUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRy
ZXNzLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTgyMyw2ICs4MjgsOCBAQCB2b2lkIEpJVDo6
cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG8oU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBT
dHJ1Y3R1cmUqIHN0cgogCiAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBwYXRjaCBtb3JlIHRoYW4g
b25jZSAtIGluIGZ1dHVyZSBnbyB0byBjdGlfb3BfcHV0X2J5X2lkX2dlbmVyaWMuCiAgICAgcmVw
YXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb0Z1bmN0aW9uKHJldHVybkFkZHJlc3MsIEZ1bmN0aW9u
UHRyKGN0aV9vcF9nZXRfYnlfaWRfcHJvdG9fbGlzdCkpOworCisgICAgUkVDT1JEX0pJVF9DT0RF
KG1fZ2xvYmFsRGF0YSwgZW50cnlMYWJsZS5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZl
ci5zaXplKCksIEpJVFByb2ZpbGVBZ2VudDo6R2V0QnlJRFByb3RvKTsKIH0KIAogdm9pZCBKSVQ6
OnByaXZhdGVDb21waWxlR2V0QnlJZFNlbGZMaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5m
bywgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBwb2x5bW9ycGhpY1N0cnVjdHVyZXMs
IGludCBjdXJyZW50SW5kZXgsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVy
JiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0KQpA
QCAtODgxLDYgKzg4OCw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRTZWxmTGlz
dChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBvbHltb3JwaGljCiAgICAgQ29kZUxvY2F0
aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJlZ2luLmp1bXBBdE9mZnNl
dChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAgICBSZXBhdGNoQnVmZmVy
IHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGp1
bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxE
YXRhLCBlbnRyeUxhYmxlLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwg
SklUUHJvZmlsZUFnZW50OjpHZXRCeUlEU2VsZkxpc3QpOwogfQogCiB2b2lkIEpJVDo6cHJpdmF0
ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUG9s
eW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBwcm90b3R5cGVTdHJ1Y3R1cmVzLCBpbnQgY3Vy
cmVudEluZGV4LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlKiBwcm90b3R5cGVTdHJ1
Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3Qs
IHNpemVfdCBjYWNoZWRPZmZzZXQsIENhbGxGcmFtZSogY2FsbEZyYW1lKQpAQCAtOTUxLDYgKzk2
MCw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90b0xpc3QoU3RydWN0dXJl
U3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpCiAgICAgQ29kZUxvY2F0aW9uSnVtcCBqdW1w
TG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJlZ2luLmp1bXBBdE9mZnNldChwYXRjaE9mZnNl
dEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZm
ZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGp1bXBMb2NhdGlvbiwg
ZW50cnlMYWJlbCk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxh
YmxlLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFn
ZW50OjpHZXRCeUlEUHJvdG9MaXN0KTsKIH0KIAogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0
QnlJZENoYWluTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBvbHltb3JwaGljQWNj
ZXNzU3RydWN0dXJlTGlzdCogcHJvdG90eXBlU3RydWN0dXJlcywgaW50IGN1cnJlbnRJbmRleCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZUNoYWluKiBjaGFpbiwgc2l6ZV90IGNvdW50
LCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXpl
X3QgY2FjaGVkT2Zmc2V0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTEwMjEsNiArMTAzMiw4
IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbkxpc3QoU3RydWN0dXJlU3R1
YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpCiAgICAgQ29kZUxvY2F0aW9uSnVtcCBqdW1wTG9j
YXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJlZ2luLmp1bXBBdE9mZnNldChwYXRjaE9mZnNldEdl
dEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIo
bV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGp1bXBMb2NhdGlvbiwgZW50
cnlMYWJlbCk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmxl
LmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50
OjpHZXRCeUlEQ2hhaW5MaXN0KTsKIH0KIAogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJ
ZENoYWluKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IFN0cnVjdHVyZUNoYWluKiBjaGFpbiwgc2l6ZV90IGNvdW50LCBjb25zdCBJZGVudGlmaWVyJiBp
ZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBSZXR1
cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MsIENhbGxGcmFtZSogY2FsbEZyYW1lKQpAQCAtMTA4
OSw2ICsxMTAyLDggQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluKFN0cnVj
dHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJlKiBzdHIKIAogICAgIC8vIFdlIGRvbid0
IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFuIG9uY2UgLSBpbiBmdXR1cmUgZ28gdG8gY3RpX29wX3B1
dF9ieV9pZF9nZW5lcmljLgogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rQ2FsbGVyVG9GdW5jdGlv
bihyZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0cihjdGlfb3BfZ2V0X2J5X2lkX3Byb3RvX2xpc3Qp
KTsKKworICAgIFJFQ09SRF9KSVRfQ09ERShtX2dsb2JhbERhdGEsIGVudHJ5TGFibGUuZXhlY3V0
YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEJ5
SURDaGFpbik7CiB9CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFTkQ6ICFF
TkFCTEUgLyBFTkFCTEUoSklUX09QVElNSVpFX1BST1BFUlRZX0FDQ0VTUykgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcAppbmRleCA3MTBhMTU1Li5mMzkxYzNkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82
NC5jcHAKQEAgLTY3Miw2ICs2NzIsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlk
VHJhbnNpdGlvbihTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZQogICAgIHN0
dWJJbmZvLT5zdHViUm91dGluZSA9IGVudHJ5TGFiZWw7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBh
dGNoQnVmZmVyKG1fY29kZUJsb2NrKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGlua0NhbGxlclRv
VHJhbXBvbGluZShyZXR1cm5BZGRyZXNzLCBlbnRyeUxhYmVsKTsKKworICAgIFJFQ09SRF9KSVRf
Q09ERShtX2dsb2JhbERhdGEsIGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hC
dWZmZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OlB1dEJ5SURUcmFuc2l0aW9uKTsKIH0KIAog
dm9pZCBKSVQ6OnBhdGNoR2V0QnlJZFNlbGYoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIFN0cnVjdHVy
ZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIHNpemVfdCBjYWNoZWRP
ZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykKQEAgLTc3NSw2ICs3NzcsOCBA
QCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFycmF5TGVuZ3RoKFJldHVybkFkZHJl
c3NQdHIgcmV0dXJuQWRkcmVzcykKICAgICAKICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHBhdGNo
IG1vcmUgdGhhbiBvbmNlIC0gaW4gZnV0dXJlIGdvIHRvIGN0aV9vcF9wdXRfYnlfaWRfZ2VuZXJp
Yy4KICAgICByZXBhdGNoQnVmZmVyLnJlbGlua0NhbGxlclRvRnVuY3Rpb24ocmV0dXJuQWRkcmVz
cywgRnVuY3Rpb25QdHIoY3RpX29wX2dldF9ieV9pZF9hcnJheV9mYWlsKSk7CisKKyAgICBSRUNP
UkRfSklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCks
IHBhdGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRBcnJheUxlbmd0aCk7CiB9
CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byhTdHJ1Y3R1cmVTdHViSW5m
byogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0
cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xv
dCwgc2l6ZV90IGNhY2hlZE9mZnNldCwgUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzLCBD
YWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTg0Niw2ICs4NTAsOCBAQCB2b2lkIEpJVDo6cHJpdmF0
ZUNvbXBpbGVHZXRCeUlkUHJvdG8oU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1
cmUqIHN0cgogICAgIAogICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFuIG9u
Y2UgLSBpbiBmdXR1cmUgZ28gdG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIHJlcGF0
Y2hCdWZmZXIucmVsaW5rQ2FsbGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0
cihjdGlfb3BfZ2V0X2J5X2lkX3Byb3RvX2xpc3QpKTsKKworICAgIFJFQ09SRF9KSVRfQ09ERSht
X2dsb2JhbERhdGEsIGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIu
c2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEJ5SURQcm90byk7CiB9CiAKIApAQCAtOTA1LDYg
KzkxMSw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRTZWxmTGlzdChTdHJ1Y3R1
cmVTdHViSW5mbyogc3R1YkluZm8sIFBvbHltb3JwaGljCiAgICAgQ29kZUxvY2F0aW9uSnVtcCBq
dW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJlZ2luLmp1bXBBdE9mZnNldChwYXRjaE9m
ZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hC
dWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGp1bXBMb2NhdGlv
biwgZW50cnlMYWJlbCk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRy
eUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmls
ZUFnZW50OjpHZXRCeUlEU2VsZkxpc3QpOwogfQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVH
ZXRCeUlkUHJvdG9MaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUG9seW1vcnBoaWNB
Y2Nlc3NTdHJ1Y3R1cmVMaXN0KiBwcm90b3R5cGVTdHJ1Y3R1cmVzLCBpbnQgY3VycmVudEluZGV4
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlKiBwcm90b3R5cGVTdHJ1Y3R1cmUsIGNv
bnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QsIHNpemVfdCBj
YWNoZWRPZmZzZXQsIENhbGxGcmFtZSogY2FsbEZyYW1lKQpAQCAtOTc0LDYgKzk4Miw4IEBAIHZv
aWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90b0xpc3QoU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBQb2x5bW9ycGhpCiAgICAgQ29kZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24g
PSBzdHViSW5mby0+aG90UGF0aEJlZ2luLmp1bXBBdE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRC
cmFuY2hUb1Nsb3dDYXNlKTsKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2Rl
QmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJl
bCk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmVsLmV4ZWN1
dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRC
eUlEUHJvdG9MaXN0KTsKIH0KIAogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWlu
TGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBvbHltb3JwaGljQWNjZXNzU3RydWN0
dXJlTGlzdCogcHJvdG90eXBlU3RydWN0dXJlcywgaW50IGN1cnJlbnRJbmRleCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZUNoYWluKiBjaGFpbiwgc2l6ZV90IGNvdW50LCBjb25zdCBJ
ZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3QgY2FjaGVk
T2Zmc2V0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTEwNDQsNiArMTA1NCw4IEBAIHZvaWQg
SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbkxpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0
dWJJbmZvLCBQb2x5bW9ycGhpCiAgICAgQ29kZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBz
dHViSW5mby0+aG90UGF0aEJlZ2luLmp1bXBBdE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFu
Y2hUb1Nsb3dDYXNlKTsKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxv
Y2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7
CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmVsLmV4ZWN1dGFi
bGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRCeUlE
Q2hhaW5MaXN0KTsKIH0KIAogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluKFN0
cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVy
ZUNoYWluKiBjaGFpbiwgc2l6ZV90IGNvdW50LCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29u
c3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNz
UHRyIHJldHVybkFkZHJlc3MsIENhbGxGcmFtZSogY2FsbEZyYW1lKQpAQCAtMTExMSw2ICsxMTIz
LDggQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluKFN0cnVjdHVyZVN0dWJJ
bmZvKiBzdHViSW5mbywgU3RydWN0dXJlKiBzdHIKICAgICAKICAgICAvLyBXZSBkb24ndCB3YW50
IHRvIHBhdGNoIG1vcmUgdGhhbiBvbmNlIC0gaW4gZnV0dXJlIGdvIHRvIGN0aV9vcF9wdXRfYnlf
aWRfZ2VuZXJpYy4KICAgICByZXBhdGNoQnVmZmVyLnJlbGlua0NhbGxlclRvRnVuY3Rpb24ocmV0
dXJuQWRkcmVzcywgRnVuY3Rpb25QdHIoY3RpX29wX2dldF9ieV9pZF9wcm90b19saXN0KSk7CisK
KyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmVsLmV4ZWN1dGFibGVB
ZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRCeUlEQ2hh
aW4pOwogfQogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRU5EOiAhRU5BQkxF
IC8gRU5BQkxFKEpJVF9PUFRJTUlaRV9QUk9QRVJUWV9BQ0NFU1MpIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAppbmRleCA5MTJiNTFhLi43NzE1MjZm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvanNjLmNwcApAQCAtMTAyLDExICsxMDIsMTcgQEAgc3RydWN0IE9wdGlv
bnMgewogICAgIE9wdGlvbnMoKQogICAgICAgICA6IGludGVyYWN0aXZlKGZhbHNlKQogICAgICAg
ICAsIGR1bXAoZmFsc2UpCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgICAgICAs
IGppdFByb2ZpbGUoZmFsc2UpCisjZW5kaWYKICAgICB7CiAgICAgfQogCiAgICAgYm9vbCBpbnRl
cmFjdGl2ZTsKICAgICBib29sIGR1bXA7CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQor
ICAgIGJvb2wgaml0UHJvZmlsZTsKKyNlbmRpZgogICAgIFZlY3RvcjxTY3JpcHQ+IHNjcmlwdHM7
CiAgICAgVmVjdG9yPFVTdHJpbmc+IGFyZ3VtZW50czsKIH07CkBAIC00NjUsNiArNDcxLDkgQEAg
c3RhdGljIE5PX1JFVFVSTiB2b2lkIHByaW50VXNhZ2VTdGF0ZW1lbnQoSlNHbG9iYWxEYXRhKiBn
bG9iYWxEYXRhLCBib29sIGhlbHAgPQogICAgIGZwcmludGYoc3RkZXJyLCAiICAtZiAgICAgICAg
IFNwZWNpZmllcyBhIHNvdXJjZSBmaWxlIChkZXByZWNhdGVkKVxuIik7CiAgICAgZnByaW50Zihz
dGRlcnIsICIgIC1ofC0taGVscCAgUHJpbnRzIHRoaXMgaGVscCBtZXNzYWdlXG4iKTsKICAgICBm
cHJpbnRmKHN0ZGVyciwgIiAgLWkgICAgICAgICBFbmFibGVzIGludGVyYWN0aXZlIG1vZGUgKGRl
ZmF1bHQgaWYgbm8gZmlsZXMgYXJlIHNwZWNpZmllZClcbiIpOworI2lmIEVOQUJMRShKSVRfUFJP
RklMRV9BR0VOVCkKKyAgICBmcHJpbnRmKHN0ZGVyciwgIiAgLXAgICAgICAgICBFbmFibGVzIEpJ
VCBwcm9maWxlIGFnZW50XG4iKTsKKyNlbmRpZgogI2lmIEhBVkUoU0lHTkFMX0gpCiAgICAgZnBy
aW50ZihzdGRlcnIsICIgIC1zICAgICAgICAgSW5zdGFsbHMgc2lnbmFsIGhhbmRsZXJzIHRoYXQg
ZXhpdCBvbiBhIGNyYXNoIChVbml4IHBsYXRmb3JtcyBvbmx5KVxuIik7CiAjZW5kaWYKQEAgLTQ5
OCw2ICs1MDcsMTIgQEAgc3RhdGljIHZvaWQgcGFyc2VBcmd1bWVudHMoaW50IGFyZ2MsIGNoYXIq
KiBhcmd2LCBPcHRpb25zJiBvcHRpb25zLCBKU0dsb2JhbERhdGEKICAgICAgICAgICAgIG9wdGlv
bnMuZHVtcCA9IHRydWU7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQorI2lmIEVO
QUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICAgICAgaWYgKCFzdHJjbXAoYXJnLCAiLXAiKSkg
eworICAgICAgICAgICAgb3B0aW9ucy5qaXRQcm9maWxlID0gdHJ1ZTsKKyAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgaWYgKCFzdHJjbXAoYXJnLCAiLXMi
KSkgewogI2lmIEhBVkUoU0lHTkFMX0gpCiAgICAgICAgICAgICBzaWduYWwoU0lHSUxMLCBfZXhp
dCk7CkBAIC01MzEsNiArNTQ2LDkgQEAgaW50IGpzY21haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2
LCBKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEpCiAgICAgcGFyc2VBcmd1bWVudHMoYXJnYywgYXJn
diwgb3B0aW9ucywgZ2xvYmFsRGF0YSk7CiAKICAgICBHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCA9IG5ldyAoZ2xvYmFsRGF0YSkgR2xvYmFsT2JqZWN0KG9wdGlvbnMuYXJndW1lbnRzKTsKKyNp
ZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFn
ZW50LnNldEVuYWJsZWQodHJ1ZSk7CisjZW5kaWYKICAgICBib29sIHN1Y2Nlc3MgPSBydW5XaXRo
U2NyaXB0cyhnbG9iYWxPYmplY3QsIG9wdGlvbnMuc2NyaXB0cywgb3B0aW9ucy5kdW1wKTsKICAg
ICBpZiAob3B0aW9ucy5pbnRlcmFjdGl2ZSAmJiBzdWNjZXNzKQogICAgICAgICBydW5JbnRlcmFj
dGl2ZShnbG9iYWxPYmplY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRXhlY3V0YWJsZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0
YWJsZS5oCmluZGV4IDU0NGU0ODcuLmMzNTY5YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9FeGVjdXRhYmxlLmgKQEAgLTE3Nyw2ICsxNzcsMTAgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIGJvb2wgbmVlZHNBY3RpdmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9oYXNDYXB0
dXJlZFZhcmlhYmxlcyB8fCBtX2ZlYXR1cmVzICYgKEV2YWxGZWF0dXJlIHwgV2l0aEZlYXR1cmUg
fCBDYXRjaEZlYXR1cmUpOyB9CiAgICAgICAgIGJvb2wgaXNTdHJpY3RNb2RlKCkgY29uc3QgeyBy
ZXR1cm4gbV9mZWF0dXJlcyAmIFN0cmljdE1vZGVGZWF0dXJlOyB9CiAKKyNpZiBFTkFCTEUoSklU
X1BST0ZJTEVfQUdFTlQpCisgICAgICAgIHZpcnR1YWwgSklUUHJvZmlsZUFnZW50OjpKSVRDb2Rl
VHlwZSBqaXRDb2RlVHlwZSgpID0gMDsKKyNlbmRpZgorCiAgICAgcHJvdGVjdGVkOgogICAgICAg
ICB2b2lkIHJlY29yZFBhcnNlKENvZGVGZWF0dXJlcyBmZWF0dXJlcywgYm9vbCBoYXNDYXB0dXJl
ZFZhcmlhYmxlcywgaW50IGZpcnN0TGluZSwgaW50IGxhc3RMaW5lKQogICAgICAgICB7CkBAIC0y
MjIsNiArMjI2LDEwIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICAgICAgSklUUHJvZmlsZUFnZW50OjpKSVRD
b2RlVHlwZSBqaXRDb2RlVHlwZSgpIHsgcmV0dXJuIEpJVFByb2ZpbGVBZ2VudDo6RXZhbDt9Cisj
ZW5kaWYKKwogICAgIHByaXZhdGU6CiAgICAgICAgIEV2YWxFeGVjdXRhYmxlKEV4ZWNTdGF0ZSos
IGNvbnN0IFNvdXJjZUNvZGUmLCBib29sKTsKIApAQCAtMjYzLDYgKzI3MSw5IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VO
VCkKKyAgICAgICAgSklUUHJvZmlsZUFnZW50OjpKSVRDb2RlVHlwZSBqaXRDb2RlVHlwZSgpIHsg
cmV0dXJuIEpJVFByb2ZpbGVBZ2VudDo6UHJvZ3JhbTsgfQorI2VuZGlmCiAgICAgcHJpdmF0ZToK
ICAgICAgICAgUHJvZ3JhbUV4ZWN1dGFibGUoRXhlY1N0YXRlKiwgY29uc3QgU291cmNlQ29kZSYp
OwogCkBAIC0zODQsNiArMzk1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICByZXR1
cm4gbV9qaXRDb2RlRm9yQ29uc3RydWN0V2l0aEFyaXR5Q2hlY2s7CiAgICAgICAgIH0KICNlbmRp
ZgorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICAgICAgSklUUHJvZmlsZUFnZW50
OjpKSVRDb2RlVHlwZSBqaXRDb2RlVHlwZSgpIHsgcmV0dXJuIEpJVFByb2ZpbGVBZ2VudDo6RnVu
Y3Rpb247IH0KKyNlbmRpZgogICAgIH07CiAKICAgICBpbmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxl
KiBKU0Z1bmN0aW9uOjpqc0V4ZWN1dGFibGUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbERhdGEuaAppbmRleCA3YjY5MDU1Li5kOGNkMTZmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuaApAQCAtMzMsNiArMzMs
NyBAQAogI2luY2x1ZGUgIkhlYXAuaCIKICNpbmNsdWRlICJEYXRlSW5zdGFuY2VDYWNoZS5oIgog
I2luY2x1ZGUgIkV4ZWN1dGFibGVBbGxvY2F0b3IuaCIKKyNpbmNsdWRlICJKSVRQcm9maWxlQWdl
bnQuaCIKICNpbmNsdWRlICJKSVRTdHVicy5oIgogI2luY2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNs
dWRlICJOdW1lcmljU3RyaW5ncy5oIgpAQCAtMTkzLDYgKzE5NCw5IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICBMZXhlciogbGV4ZXI7CiAgICAgICAgIFBhcnNlciogcGFyc2VyOwogICAgICAg
ICBJbnRlcnByZXRlciogaW50ZXJwcmV0ZXI7CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5U
KQorICAgICAgICBKSVRQcm9maWxlQWdlbnQgaml0UHJvZmlsZUFnZW50OworI2VuZGlmCiAjaWYg
RU5BQkxFKEpJVCkKICAgICAgICAgT3duUHRyPEpJVFRodW5rcz4gaml0U3R1YnM7CiAgICAgICAg
IE1hY3JvQXNzZW1ibGVyQ29kZVB0ciBnZXRDVElTdHViKFRodW5rR2VuZXJhdG9yIGdlbmVyYXRv
cikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdl
bnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pJVFByb2ZpbGVBZ2VudC5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTRhMzM1ZAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuY3BwCkBA
IC0wLDAgKzEsMTc0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEhvbGdlciBIYW5zIFBl
dGVyIEZyZXl0aGVyCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgVW5pdmVyc2l0eSBvZiBTemVnZWQK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUo
SklUX1BST0ZJTEVfQUdFTlQpCisKKyNpbmNsdWRlICJKSVRQcm9maWxlQWdlbnQuaCIKKworI2lu
Y2x1ZGUgIkNvZGVCbG9jay5oIgorI2luY2x1ZGUgIkpTR2xvYmFsRGF0YS5oIgorI2luY2x1ZGUg
IlNvdXJjZVByb3ZpZGVyLmgiCisjaW5jbHVkZSAiVVN0cmluZy5oIgorI2luY2x1ZGUgIlVTdHJp
bmdDb25jYXRlbmF0ZS5oIgorI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CisKK25hbWVzcGFj
ZSBKU0MgeworCisjaWYgRU5BQkxFKEpJVF9PUFJPRklMRV9BR0VOVCkKKwordm9pZCBKSVRQcm9m
aWxlQWdlbnQ6OmluaXRBZ2VudCgpCit7CisgICAgbV92aXJ0dWFsTWVtb3J5U2VnbWVudHMuY2xl
YXIoKTsKKyAgICBtX3Byb2ZpbGVBZ2VudCA9IG9wX29wZW5fYWdlbnQoKTsKKyAgICBpZiAobV90
cmFtcG9saW5lcy5jb2RlKQorICAgICAgICByZWNvcmRKSVRDb2RlKG1fdHJhbXBvbGluZXMuY29k
ZSwgbV90cmFtcG9saW5lcy5zaXplLCBtX3RyYW1wb2xpbmVzLmNvZGVCbG9jaywgVHJhbXBvbGlu
ZXMpOworfQorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6ZGVpbml0QWdlbnQoKQoreworICAgIHVu
c2lnbmVkIGludCBpLCBuID0gbV92aXJ0dWFsTWVtb3J5U2VnbWVudHMuc2l6ZSgpOworICAgIGZv
ciAoaSA9IDA7IGkgIT0gbjsgKytpKQorICAgICAgICBvcF91bmxvYWRfbmF0aXZlX2NvZGUobV9w
cm9maWxlQWdlbnQsIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KG1fdmlydHVhbE1lbW9yeVNl
Z21lbnRzW2ldLmNvZGUpKTsKKyAgICBtX3ZpcnR1YWxNZW1vcnlTZWdtZW50cy5jbGVhcigpOwor
ICAgIG9wX2Nsb3NlX2FnZW50KG1fcHJvZmlsZUFnZW50KTsKK30KKworc3RhdGljIGNvbnN0IGNo
YXIqIHN5bWJvbE5hbWVUYWJsZVtdID0geworICAgICI8aml0LXB1dC1ieS1pZC10cmFuc2l0aW9u
PiIsCisgICAgIjxqaXQtZ2V0LWFycmF5LWxlbmd0aD4iLAorICAgICI8aml0LWdldC1ieS1pZC1z
ZWxmLWxpc3Q+IiwKKyAgICAiPGppdC1nZXQtYnktaWQtcHJvdG8+IiwKKyAgICAiPGppdC1nZXQt
YnktaWQtcHJvdG8tbGlzdD4iLAorICAgICI8aml0LWdldC1ieS1pZC1jaGFpbj4iLAorICAgICI8
aml0LWdldC1ieS1pZC1jaGFpbi1saXN0PiIsCisgICAgIjxqaXQtdHJhbXBvbGluZXM+IiwKKyAg
ICAiPGppdC1wcm9nPiIsCisgICAgIjxqaXQtZnVuYz4iLAorICAgICI8aml0LWZ1bmMtcmVwYXJz
ZWQ+IiwKKyAgICAiPGppdC1ldmFsPiIsCisgICAgIjxqaXQtZXZhbC1yZXBhcnNlZD4iLAorICAg
ICI8aml0LXlhcnI+IgorfTsKKworQ09NUElMRV9BU1NFUlQoKHNpemVvZihzeW1ib2xOYW1lVGFi
bGUpIC8gc2l6ZW9mKHN5bWJvbE5hbWVUYWJsZVswXSkpID09IEpJVFByb2ZpbGVBZ2VudDo6TnVt
YmVyT2ZKSVRDb2RlVHlwZXMsIFN5bWJvbE5hbWVUYWJsZV9hbmRfSklUQ29kZVR5cGVfbXVzdF9i
ZV9zYW1lX3NpemUpOworCitzdGF0aWMgY29uc3QgVVN0cmluZyBzeW1ib2xOYW1lRnJvbVR5cGUo
SklUUHJvZmlsZUFnZW50OjpKSVRDb2RlVHlwZSB0eXBlLCBDb2RlQmxvY2sqIGNvZGVCbG9jaykK
K3sKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIEpJVFByb2ZpbGVBZ2VudDo6UHJvZ3Jh
bTogeworICAgICAgICBTb3VyY2VQcm92aWRlciogc291cmNlID0gY29kZUJsb2NrLT5zb3VyY2Uo
KTsKKyAgICAgICAgaWYgKHNvdXJjZSAmJiAhc291cmNlLT51cmwoKS5pc0VtcHR5KCkpCisgICAg
ICAgICAgICByZXR1cm4gbWFrZVVTdHJpbmcoc3ltYm9sTmFtZVRhYmxlW3R5cGVdLCAiWyIsIHNv
dXJjZS0+dXJsKCksICI6IiwgVVN0cmluZzo6bnVtYmVyKGNvZGVCbG9jay0+b3duZXJFeGVjdXRh
YmxlKCktPmxpbmVObygpKSwgIi0iLCBVU3RyaW5nOjpudW1iZXIoY29kZUJsb2NrLT5vd25lckV4
ZWN1dGFibGUoKS0+bGFzdExpbmUoKSksICJdIik7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAg
ICBjYXNlIEpJVFByb2ZpbGVBZ2VudDo6RnVuY3Rpb246IHsKKyAgICAgICAgRnVuY3Rpb25FeGVj
dXRhYmxlKiBleGVjdXRhYmxlID0gcmVpbnRlcnByZXRfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUq
Pihjb2RlQmxvY2stPm93bmVyRXhlY3V0YWJsZSgpKTsKKyAgICAgICAgY29uc3QgSWRlbnRpZmll
ciYgbmFtZSA9IGV4ZWN1dGFibGUtPm5hbWUoKTsKKyAgICAgICAgVVN0cmluZyBqaXRTeW1ib2xO
YW1lKHN5bWJvbE5hbWVUYWJsZVt0eXBlXSk7CisgICAgICAgIGlmICghbmFtZS5pc0VtcHR5KCkg
JiYgIW5hbWUuaXNOdWxsKCkpCisgICAgICAgICAgICBqaXRTeW1ib2xOYW1lID0gbWFrZVVTdHJp
bmcoaml0U3ltYm9sTmFtZSwgIjoiLCBuYW1lLnVzdHJpbmcoKSk7CisgICAgICAgIFNvdXJjZVBy
b3ZpZGVyKiBzb3VyY2UgPSBjb2RlQmxvY2stPnNvdXJjZSgpOworICAgICAgICByZXR1cm4gbWFr
ZVVTdHJpbmcoaml0U3ltYm9sTmFtZSwgIlsiLCBzb3VyY2UtPnVybCgpLCAiOiIsIFVTdHJpbmc6
Om51bWJlcihleGVjdXRhYmxlLT5saW5lTm8oKSksICItIiwgVVN0cmluZzo6bnVtYmVyKGV4ZWN1
dGFibGUtPmxhc3RMaW5lKCkpLCAiXSIpOworICAgIH0KKyAgICBkZWZhdWx0OgorICAgICAgICBi
cmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gc3ltYm9sTmFtZVRhYmxlW3R5cGVdOworfQorCit2
b2lkIEpJVFByb2ZpbGVBZ2VudDo6cmVjb3JkSklUQ29kZUltcGwodm9pZCogY29kZSwgdW5zaWdu
ZWQgaW50IHNpemUsIENvZGVCbG9jayogY29kZUJsb2NrLCBKSVRQcm9maWxlQWdlbnQ6OkpJVENv
ZGVUeXBlIHR5cGUpCit7CisgICAgLyogQ2hlY2sgZm9yIG9ic29sZXRlIEpJVCBjb2RlcyAqLwor
ICAgIHVuc2lnbmVkIGludCBpLCBuID0gbV92aXJ0dWFsTWVtb3J5U2VnbWVudHMuc2l6ZSgpOwor
ICAgIGNvbnN0IGNoYXIqIHZtYUJlZ2luID0gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oY29kZSk7
CisgICAgY29uc3QgY2hhciogdm1hRW5kID0gdm1hQmVnaW4gKyBzaXplOworICAgIGZvciAoaSA9
IDA7IGkgIT0gbjsgKytpKSB7CisgICAgICAgIGNvbnN0IGNoYXIqIHJlZ2lzdGVyZWRWbWFCZWdp
biA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KG1fdmlydHVhbE1lbW9yeVNlZ21lbnRzW2ldLmNv
ZGUpOworICAgICAgICBjb25zdCBjaGFyKiByZWdpc3RlcmVkVm1hRW5kID0gdm1hQmVnaW4gKyBt
X3ZpcnR1YWxNZW1vcnlTZWdtZW50c1tpXS5zaXplOworICAgICAgICBpZiAoKHJlZ2lzdGVyZWRW
bWFCZWdpbiA8PSB2bWFFbmQgJiYgdm1hRW5kIDw9IHJlZ2lzdGVyZWRWbWFFbmQpCisgICAgICAg
ICAgICB8fCAocmVnaXN0ZXJlZFZtYUJlZ2luIDw9IHZtYUJlZ2luICYmIHZtYUJlZ2luIDw9IHJl
Z2lzdGVyZWRWbWFFbmQpKSB7CisgICAgICAgICAgICBvcF91bmxvYWRfbmF0aXZlX2NvZGUobV9w
cm9maWxlQWdlbnQsIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KG1fdmlydHVhbE1lbW9yeVNl
Z21lbnRzW2ldLmNvZGUpKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIFVTdHJpbmcgc3ltYm9s
TmFtZSA9IHN5bWJvbE5hbWVGcm9tVHlwZSh0eXBlLCBjb2RlQmxvY2spOworICAgIG9wX3dyaXRl
X25hdGl2ZV9jb2RlKG1fcHJvZmlsZUFnZW50LCAhc3ltYm9sTmFtZS5pc0VtcHR5KCkgPyBzeW1i
b2xOYW1lLnV0ZjgoKS5kYXRhKCkgOiAiPGppdD4iLCByZWludGVycHJldF9jYXN0PHVpbnQ2NF90
Pihjb2RlKSwgY29kZSwgc2l6ZSk7Cit9CisKK3ZvaWQgSklUUHJvZmlsZUFnZW50Ojphbm5vdGF0
ZUpJVENvZGVJbXBsKHZvaWQqIGNvZGUsIENvZGVCbG9jayogY29kZUJsb2NrLCBjb25zdCBVU3Ry
aW5nJiB1cmwpCit7CisgICAgdWludHB0cl90IHZtYSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0
cl90Pihjb2RlKTsKKyAgICB1aW50cHRyX3QgcHJldk9mZnNldCA9IDA7CisgICAgaWYgKCFjb2Rl
QmxvY2stPmhhc0xpbmVJbmZvKCkpCisgICAgICAgIHJldHVybjsKKyAgICBWZWN0b3I8TGluZUlu
Zm8+JiBsaW5lSW5mbyA9IGNvZGVCbG9jay0+bGluZUluZm8oKTsKKyAgICBpbnQgZW50cmllcyA9
IGxpbmVJbmZvLnNpemUoKTsKKyAgICBzdHJ1Y3QgZGVidWdfbGluZV9pbmZvKiBkZWJ1Z0xpbmVJ
bmZvID0gcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3QgZGVidWdfbGluZV9pbmZvKj4oV1RGOjpmYXN0
TWFsbG9jKGVudHJpZXMgKiBzaXplb2Yoc3RydWN0IGRlYnVnX2xpbmVfaW5mbykpKTsKKyAgICBD
U3RyaW5nIG5hbWUgPSB1cmwuYXNjaWkoKTsKKworICAgIHN0cnVjdCBkZWJ1Z19saW5lX2luZm8q
IGRlYnVnTGluZUluZm9QdHIgPSBkZWJ1Z0xpbmVJbmZvOworICAgIGZvciAoaW50IGkgPSAwOyBp
IDwgZW50cmllczsgKytpKSB7CisgICAgICAgIGlmIChwcmV2T2Zmc2V0ICE9IGxpbmVJbmZvW2ld
Lmluc3RydWN0aW9uT2Zmc2V0KSB7CisgICAgICAgICAgICBkZWJ1Z0xpbmVJbmZvUHRyLT52bWEg
PSB2bWEgKyBsaW5lSW5mb1tpXS5pbnN0cnVjdGlvbk9mZnNldDsKKyAgICAgICAgICAgIGRlYnVn
TGluZUluZm9QdHItPmxpbmVubyA9IGxpbmVJbmZvW2ldLmxpbmVOdW1iZXI7CisgICAgICAgICAg
ICBkZWJ1Z0xpbmVJbmZvUHRyLT5maWxlbmFtZSA9IG5hbWUuZGF0YSgpOworICAgICAgICAgICAg
cHJldk9mZnNldCA9IGxpbmVJbmZvW2ldLmluc3RydWN0aW9uT2Zmc2V0OworICAgICAgICAgICAg
KytkZWJ1Z0xpbmVJbmZvUHRyOworICAgICAgICB9CisgICAgfQorCisgICAgb3Bfd3JpdGVfZGVi
dWdfbGluZV9pbmZvKG1fcHJvZmlsZUFnZW50LCBjb2RlLCBkZWJ1Z0xpbmVJbmZvUHRyIC0gZGVi
dWdMaW5lSW5mbywgZGVidWdMaW5lSW5mbyk7CisgICAgV1RGOjpmYXN0RnJlZShkZWJ1Z0xpbmVJ
bmZvKTsKK30KKworI2Vsc2UgLy8gRHVtbXkgcHJvZmlsZSBhZ2VudAorCit2b2lkIEpJVFByb2Zp
bGVBZ2VudDo6aW5pdEFnZW50KCkKK3sKK30KKwordm9pZCBKSVRQcm9maWxlQWdlbnQ6OmRlaW5p
dEFnZW50KCkKK3sKK30KKwordm9pZCBKSVRQcm9maWxlQWdlbnQ6OnJlZ2lzdGVySklUQ29kZUlt
cGwodm9pZCosIHVuc2lnbmVkIGludCwgSklUUHJvZmlsZUFnZW50OjpKSVRDb2RlVHlwZSkKK3sK
K30KKwordm9pZCBKSVRQcm9maWxlQWdlbnQ6OmFubm90YXRlSklUQ29kZUltcGwodm9pZCosIENv
ZGVCbG9jayosIGNvbnN0IFVTdHJpbmcmKQoreworfQorCisjZW5kaWYgLy8gRU5BQkxFKEpJVF9P
UFJPRklMRV9BR0VOVCkKKworfQorCisjZW5kaWYgLy8gRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5U
KQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFn
ZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFnZW50LmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWE2YzNjMwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuaApAQCAtMCww
ICsxLDE2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBIb2xnZXIgSGFucyBQZXRlciBG
cmV5dGhlcgorICogQ29weXJpZ2h0IChDKSAyMDEwIFVuaXZlcnNpdHkgb2YgU3plZ2VkCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBKSVRQcm9maWxlQWdlbnRfaAorI2RlZmluZSBKSVRQ
cm9maWxlQWdlbnRfaAorCisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CisKKyNpZiAhRU5BQkxF
KEpJVF9QUk9GSUxFX0FHRU5UKQorI2RlZmluZSBSRUNPUkRfSklUX1RSQU1QT0xJTkVTKGdsb2Jh
bERhdGEsIHZtYSwgY29kZUJsb2NrLCBzaXplKSAoKHZvaWQpMCkKKyNkZWZpbmUgUkVDT1JEX0pJ
VF9DT0RFKGdsb2JhbERhdGEsIHZtYSwgc2l6ZSwgdHlwZSkgKCh2b2lkKTApCisjZGVmaW5lIFJF
Q09SRF9KSVRfQ09ERV9DT0RFQkxPQ0soZ2xvYmFsRGF0YSwgdm1hLCBzaXplLCBjb2RlQmxvY2sp
ICgodm9pZCkwKQorI2RlZmluZSBBTk5PVEFURV9KSVRfQ09ERShnbG9iYWxEYXRhLCB2bWEsIGNv
ZGVCbG9jaywgdXJsKSAoKHZvaWQpMCkKKyNlbHNlCisKKyNpbmNsdWRlICJVU3RyaW5nLmgiCisj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2lmIEVOQUJMRShKSVRfT1BST0ZJTEVfQUdFTlQpCisj
aW5jbHVkZSA8b3BhZ2VudC5oPgorI2VuZGlmCisKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBD
b2RlQmxvY2s7CitjbGFzcyBVU3RyaW5nOworY2xhc3MgSlNHbG9iYWxEYXRhOworCitzdHJ1Y3Qg
TGluZUluZm87CisKKyNkZWZpbmUgUkVDT1JEX0pJVF9UUkFNUE9MSU5FUyhnbG9iYWxEYXRhLCB2
bWEsIGNvZGVCbG9jaywgc2l6ZSkgKChnbG9iYWxEYXRhKS0+aml0UHJvZmlsZUFnZW50LnJlY29y
ZEpJVFRyYW1wb2xpbmVzKHZtYSwgc2l6ZSwgY29kZUJsb2NrKSkKKyNkZWZpbmUgUkVDT1JEX0pJ
VF9DT0RFKGdsb2JhbERhdGEsIHZtYSwgc2l6ZSwgdHlwZSkgKChnbG9iYWxEYXRhKS0+aml0UHJv
ZmlsZUFnZW50LnJlY29yZEpJVENvZGUodm1hLCBzaXplLCAwLCB0eXBlKSkKKyNkZWZpbmUgUkVD
T1JEX0pJVF9DT0RFX0NPREVCTE9DSyhnbG9iYWxEYXRhLCB2bWEsIHNpemUsIGNvZGVCbG9jaykg
KChnbG9iYWxEYXRhKS0+aml0UHJvZmlsZUFnZW50LnJlY29yZEpJVENvZGUodm1hLCBzaXplLCBj
b2RlQmxvY2ssIGNvZGVCbG9jay0+bV9vd25lckV4ZWN1dGFibGUtPmppdENvZGVUeXBlKCkpKQor
I2RlZmluZSBBTk5PVEFURV9KSVRfQ09ERShnbG9iYWxEYXRhLCB2bWEsIGNvZGVCbG9jaywgdXJs
KSAoKGdsb2JhbERhdGEpLT5qaXRQcm9maWxlQWdlbnQuYW5ub3RhdGVKSVRDb2RlKHZtYSwgY29k
ZUJsb2NrLCB1cmwpKQorCitjbGFzcyBKSVRQcm9maWxlQWdlbnQgeworICAgIHN0cnVjdCBWaXJ0
dWFsTWVtb3J5U2VnbWVudCB7CisgICAgICAgIFZpcnR1YWxNZW1vcnlTZWdtZW50KCkKKyAgICAg
ICAgICA6IGNvZGUoMCkKKyAgICAgICAgICAsIHNpemUoMCkKKyAgICAgICAgeworICAgICAgICB9
CisKKyAgICAgICAgdm9pZCogY29kZTsKKyAgICAgICAgdW5zaWduZWQgaW50IHNpemU7CisgICAg
ICAgIENvZGVCbG9jayogY29kZUJsb2NrOworICAgIH07CisgICAgdHlwZWRlZiBWZWN0b3I8Vmly
dHVhbE1lbW9yeVNlZ21lbnQ+IFZpcnR1YWxNZW1vcnlTZWdtZW50VmVjdG9yOworCitwdWJsaWM6
CisgICAgZW51bSBKSVRDb2RlVHlwZSB7CisgICAgICAgIFB1dEJ5SURUcmFuc2l0aW9uLAorICAg
ICAgICBHZXRBcnJheUxlbmd0aCwKKyAgICAgICAgR2V0QnlJRFNlbGZMaXN0LAorICAgICAgICBH
ZXRCeUlEUHJvdG8sCisgICAgICAgIEdldEJ5SURQcm90b0xpc3QsCisgICAgICAgIEdldEJ5SURD
aGFpbiwKKyAgICAgICAgR2V0QnlJRENoYWluTGlzdCwKKyAgICAgICAgVHJhbXBvbGluZXMsCisg
ICAgICAgIFByb2dyYW0sCisgICAgICAgIEZ1bmN0aW9uLAorICAgICAgICBGdW5jdGlvblJlcGFy
c2VkLAorICAgICAgICBFdmFsLAorICAgICAgICBFdmFsUmVwYXJzZWQsCisgICAgICAgIFlhcnIs
CisgICAgICAgIE51bWJlck9mSklUQ29kZVR5cGVzCisgICAgfTsKKworICAgIEpJVFByb2ZpbGVB
Z2VudChib29sIHN0YXR1cyA9IGZhbHNlKQorICAgICAgOiBtX2VuYWJsZUFnZW50KHN0YXR1cykK
KyAgICB7CisgICAgICAgIGlmIChpc0VuYWJsZWQoKSkKKyAgICAgICAgICAgIGluaXRBZ2VudCgp
OworICAgIH0KKworICAgIH5KSVRQcm9maWxlQWdlbnQoKQorICAgIHsKKyAgICAgICAgaWYgKGlz
RW5hYmxlZCgpKQorICAgICAgICAgICAgZGVpbml0QWdlbnQoKTsKKyAgICB9CisKKyAgICB2b2lk
IHJlY29yZEpJVENvZGUodm9pZCogY29kZSwgdW5zaWduZWQgaW50IHNpemUsIENvZGVCbG9jayog
Y29kZUJsb2NrLCBKSVRDb2RlVHlwZSB0eXBlKQorICAgIHsKKyAgICAgICAgaWYgKGlzRW5hYmxl
ZCgpICYmIGNvZGUpCisgICAgICAgICAgICByZWNvcmRKSVRDb2RlSW1wbChjb2RlLCBzaXplLCBj
b2RlQmxvY2ssIHR5cGUpOworICAgIH0KKworICAgIHZvaWQgYW5ub3RhdGVKSVRDb2RlKHZvaWQq
IGNvZGUsIENvZGVCbG9jayogY29kZUJsb2NrLCBjb25zdCBVU3RyaW5nJiB1cmwpCisgICAgewor
ICAgICAgICBpZiAoaXNFbmFibGVkKCkgJiYgY29kZSAmJiBjb2RlQmxvY2sgJiYgIXVybC5pc0Vt
cHR5KCkpCisgICAgICAgICAgICBhbm5vdGF0ZUpJVENvZGVJbXBsKGNvZGUsIGNvZGVCbG9jaywg
Y29uc3RfY2FzdDxVU3RyaW5nJj4odXJsKSk7CisgICAgfQorCisgICAgdm9pZCByZWNvcmRKSVRU
cmFtcG9saW5lcyh2b2lkKiBjb2RlLCB1bnNpZ25lZCBpbnQgc2l6ZSwgQ29kZUJsb2NrKiBjb2Rl
QmxvY2spCisgICAgeworICAgICAgICBtX3RyYW1wb2xpbmVzLmNvZGUgPSBjb2RlOworICAgICAg
ICBtX3RyYW1wb2xpbmVzLnNpemUgPSBzaXplOworICAgICAgICBtX3RyYW1wb2xpbmVzLmNvZGVC
bG9jayA9IGNvZGVCbG9jazsKKyAgICAgICAgaWYgKGlzRW5hYmxlZCgpKQorICAgICAgICAgICAg
cmVjb3JkSklUQ29kZShtX3RyYW1wb2xpbmVzLmNvZGUsIG1fdHJhbXBvbGluZXMuc2l6ZSwgbV90
cmFtcG9saW5lcy5jb2RlQmxvY2ssIFRyYW1wb2xpbmVzKTsKKyAgICB9CisKKyAgICB2b2lkIHNl
dEVuYWJsZWQoYm9vbCBzdGF0dXMpCisgICAgeworICAgICAgICBpZiAobV9lbmFibGVBZ2VudCA9
PSBzdGF0dXMpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIG1fZW5hYmxlQWdlbnQgPSBz
dGF0dXM7CisgICAgICAgIGlmIChpc0VuYWJsZWQoKSkKKyAgICAgICAgICAgIGluaXRBZ2VudCgp
OworICAgICAgICBlbHNlCisgICAgICAgICAgICBkZWluaXRBZ2VudCgpOworICAgIH0KKworICAg
IEFMV0FZU19JTkxJTkUgYm9vbCBpc0VuYWJsZWQoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0
dXJuIG1fZW5hYmxlQWdlbnQ7CisgICAgfQorCitwcml2YXRlOgorICAgIHZvaWQgaW5pdEFnZW50
KCk7CisgICAgdm9pZCBkZWluaXRBZ2VudCgpOworICAgIHZvaWQgcmVjb3JkSklUQ29kZUltcGwo
dm9pZCosIHVuc2lnbmVkIGludCwgQ29kZUJsb2NrKiwgSklUQ29kZVR5cGUpOworICAgIHZvaWQg
YW5ub3RhdGVKSVRDb2RlSW1wbCh2b2lkKiwgQ29kZUJsb2NrKiwgY29uc3QgVVN0cmluZyYpOwor
CisjaWYgRU5BQkxFKEpJVF9PUFJPRklMRV9BR0VOVCkKKyAgICBvcF9hZ2VudF90IG1fcHJvZmls
ZUFnZW50OworI2VuZGlmCisgICAgVmlydHVhbE1lbW9yeVNlZ21lbnRWZWN0b3IgbV92aXJ0dWFs
TWVtb3J5U2VnbWVudHM7CisgICAgVmlydHVhbE1lbW9yeVNlZ21lbnQgbV90cmFtcG9saW5lczsK
KyAgICBib29sIG1fZW5hYmxlQWdlbnQ7Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoSklU
X1BST0ZJTEVfQUdFTlQpCisKKyNlbmRpZiAvLyBKSVRQcm9maWxlQWdlbnRfaApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDA3ZjU3ZjAuLmNhNGFmZjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKQEAgLTEwNDIsNiArMTA0MiwxMSBAQAogI2lmIEVOQUJM
RShKSVQpIHx8IEVOQUJMRShZQVJSX0pJVCkKICNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCiAj
ZW5kaWYKKworI2lmIEVOQUJMRShKSVRfT1BST0ZJTEVfQUdFTlQpICYmICFkZWZpbmVkKEVOQUJM
RV9KSVRfUFJPRklMRV9BR0VOVCkKKyNkZWZpbmUgRU5BQkxFX0pJVF9QUk9GSUxFX0FHRU5UIDEK
KyNlbmRpZgorCiAvKiBTZXR0aW5nIHRoaXMgZmxhZyBwcmV2ZW50cyB0aGUgYXNzZW1ibGVyIGZy
b20gdXNpbmcgUldYIG1lbW9yeTsgdGhpcyBtYXkgaW1wcm92ZQogICAgc2VjdXJpdHkgYnV0IGN1
cnJlY3RseSBjb21lcyBhdCBhIHNpZ25pZmljYW50IHBlcmZvcm1hbmNlIGNvc3QuICovCiAjaWYg
UExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFy
ckpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySklULmNwcAppbmRleCBj
ZGI3MTM2Li44ZmQyOTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9Z
YXJySklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySklULmNwcApA
QCAtMjIzOCw4ICsyMjM4LDExIEBAIHB1YmxpYzoKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IG1fZXhwcmVzc2lvblN0YXRlLm1fYmFja3RyYWNrUmVjb3Jkcy5zaXplKCk7ICsraSkK
ICAgICAgICAgICAgIHBhdGNoQnVmZmVyLnBhdGNoKG1fZXhwcmVzc2lvblN0YXRlLm1fYmFja3Ry
YWNrUmVjb3Jkc1tpXS5kYXRhTGFiZWwsIHBhdGNoQnVmZmVyLmxvY2F0aW9uT2YobV9leHByZXNz
aW9uU3RhdGUubV9iYWNrdHJhY2tSZWNvcmRzW2ldLmJhY2t0cmFja0xvY2F0aW9uKSk7CiAKLSAg
ICAgICAgaml0T2JqZWN0LnNldChwYXRjaEJ1ZmZlci5maW5hbGl6ZUNvZGUoKSk7CisgICAgICAg
IENvZGVSZWYgZmluYWxDb2RlID0gcGF0Y2hCdWZmZXIuZmluYWxpemVDb2RlKCk7CisgICAgICAg
IGppdE9iamVjdC5zZXQoZmluYWxDb2RlKTsKICAgICAgICAgaml0T2JqZWN0LnNldEZhbGxCYWNr
KG1fc2hvdWxkRmFsbEJhY2spOworCisgICAgICAgIFJFQ09SRF9KSVRfQ09ERShnbG9iYWxEYXRh
LCBmaW5hbENvZGUubV9jb2RlLmV4ZWN1dGFibGVBZGRyZXNzKCksIGZpbmFsQ29kZS5tX3NpemUs
IEpJVFByb2ZpbGVBZ2VudDo6WWFycik7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEv
Y29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IDE4ZjUyYTguLjllMDZjNGMgMTAwNjQ0
Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTczNSw2ICs3MzUsMzgg
QEAgZWxzZQogZmkKIEFDX01TR19SRVNVTFQoWyRlbmFibGVfaml0XSkKIAorIyBCdWlsZCBKSVQg
d2l0aCBPUHJvZmlsZSBhZ2VudCBzdXBwb3J0CitPUEFHRU5UX0xJQlM9CitPUEFHRU5UX0xERkxB
R1M9CisKK0FDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBlbmFibGUgT1Byb2ZpbGUgSklUIGFn
ZW50IHN1cHBvcnQuXSkKK0FDX0FSR19FTkFCTEUoW29wYWdlbnRdLAorICAgICAgICAgICAgICBB
Q19IRUxQX1NUUklORyhbLS1lbmFibGUtb3BhZ2VudF0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFtFbmFibGUgT1Byb2ZpbGUgSklUIGFnZW50IHN1cHBvcnQgZGVmYXVsdD1ub10pLAor
ICAgICAgICAgICAgICBbXSxbZW5hYmxlX29wYWdlbnQ9bm9dKQorCitBQ19BUkdfV0lUSChbb3Bh
Z2VudC1saWJkaXJdLAorICAgICAgICAgICAgW0FTX0hFTFBfU1RSSU5HKC0td2l0aC1vcGFnZW50
LWxpYmRpcj1sb2NhdGlvbiBvZiBvcGFnZW50IGxpYnJhcnkgW1tkZWZhdWx0PS91c3IvbGliL29w
cm9maWxlXV0pXSwKKyAgICAgICAgICAgIFtPUEFHRU5UX0xERkxBR1M9LUwiJHt3aXRodmFsfSJd
LAorICAgICAgICAgICAgW09QQUdFTlRfTERGTEFHUz0tTC91c3IvbGliL29wcm9maWxlXSkKK0FD
X1NVQlNUKFtPUEFHRU5UX0xERkxBR1NdKQorCitpZiB0ZXN0ICIkZW5hYmxlX29wYWdlbnQiID0g
InllcyI7IHRoZW4KKyAgTERGTEFHUz0iJExERkxBR1MgJE9QQUdFTlRfTERGTEFHUyI7CisgIEFD
X0NIRUNLX0xJQihbb3BhZ2VudF0sIFtvcF9tYWpvcl92ZXJzaW9uXSwKKyAgICBbQUNfQ0hFQ0tf
SEVBREVSKFtvcGFnZW50LmhdLAorICAgICAgb3BhZ2VudF9vaz15ZXMsCisgICAgICBvcGFnZW50
X29rPW5vKV0sCisgICAgQUNfTVNHX0VSUk9SKFtPUHJvZmlsZSBvcGFnZW50IGxpYnJhcnkgbm90
IGZvdW5kXSksIC1sYmZkKQorCisgIGlmIHRlc3QgIiRvcGFnZW50X29rIiA9ICJ5ZXMiOyB0aGVu
CisgICAgQUNfREVGSU5FKFtFTkFCTEVfSklUX09QUk9GSUxFX0FHRU5UXSwgWzFdLCBbRGVmaW5l
IHRvIGVuYWJsZSBPUHJvZmlsZSBKSVQgYWdlbnQgc3VwcG9ydF0pCisgICAgT1BBR0VOVF9MSUJT
PSItbG9wYWdlbnQiCisgIGZpCitmaQorCitBQ19TVUJTVChbT1BBR0VOVF9MSUJTXSkKKwogIyBP
cGNvZGUgc3RhdHMKIEFDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBlbmFibGUgb3Bjb2RlIHN0
YXRzXSkKIEFDX0FSR19FTkFCTEUoW29wY29kZS1zdGF0c10sCkBAIC0xMDM3LDYgKzEwNjksNyBA
QCBCdWlsZCBjb25maWd1cmF0aW9uOgogIFVuaWNvZGUgYmFja2VuZCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDogJHdpdGhfdW5pY29kZV9iYWNrZW5kCiAgRm9udCBi
YWNrZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2l0
aF9mb250X2JhY2tlbmQKICBPcHRpbWl6ZWQgbWVtb3J5IGFsbG9jYXRvciAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA6ICRlbmFibGVfZmFzdF9tYWxsb2MKKyBPcHJvZmlsZSBzdXBwb3J0
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfb3BhZ2Vu
dAogRmVhdHVyZXM6CiAgM0QgVHJhbnNmb3JtcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgOiAkZW5hYmxlXzNEX3RyYW5zZm9ybXMKICAzRCBDYW52YXMgKFdlYkdM
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfM0RfY2Fu
dmFzCi0tIAoxLjcuMy40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81063</attachid>
            <date>2011-02-03 08:20:55 -0800</date>
            <delta_ts>2011-02-03 08:37:16 -0800</delta_ts>
            <desc>jitprofile.diff</desc>
            <filename>jitprofile.diff</filename>
            <type>text/plain</type>
            <size>45903</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSBhYzdmOWZkNWI0M2FjMWZjNGE2M2RjMGRhYjU0NTM0YTg0OWI2ZGJkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhhbkBnbm9tZS5vcmc+CkRhdGU6IFRodSwg
MyBGZWIgMjAxMSAxMzo1MjoxOCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIDIwMTEtMDItMDMgIFhh
biBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KCiAgICAgICAgUHJvdmlkZSBhIE9Qcm9maWxlIEpJVCBhZ2VudCAob3BhZ2VudCkg
Zm9yIHRoZSBjb2RlIGdlbmVyYXRlZCBieSB0aGUgSklUCiAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyNTYxCgogICAgICAgIEFkZCBzdXBwb3J0IGZvciBP
UHJvZmlsZSBKSVQgYW5ub3RhdGlvbnMgdG8gdGhlIEdUSysgcG9ydC4gRW5hYmxlCiAgICAgICAg
d2l0aCAtLWVuYWJsZS1vcGFnZW50LgoKICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBhZGQgT1BB
R0VOVCBmbGFncy4KICAgICAgICAqIGNvbmZpZ3VyZS5hYzogYWRkIC0tZW5hYmxlLW9wYWdlbnQg
Y29uZmlndXJlIGZsYWcuCgpTb3VyY2UvSmF2YVNjcmlwdENvcmU6CgoyMDExLTAyLTAzICBYYW4g
TG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCgogICAgICAgIFByb3ZpZGUgYSBPUHJvZmlsZSBKSVQgYWdlbnQgKG9wYWdlbnQpIGZv
ciB0aGUgY29kZSBnZW5lcmF0ZWQgYnkgdGhlIEpJVAogICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjU2MQoKICAgICAgICBCYXNlZCBvbiB0aGUgd29yayBi
eSBIb2xnZXIgRnJleXRoZXIsIEdhYm9yIExva2kgYW5kIFpvbHRhbiBIZXJjemVnLgoKICAgICAg
ICBBZGQgSklUUHJvZmlsZUFnZW50LCBhIG5ldyBjbGFzcyBpbiB0b29scy8gd2l0aCB0aGUgYmFz
aWMgbWV0aG9kcwogICAgICAgIHRvIGFubm90YXRlIHRoZSBKSVQgY29kZSwgYW5kIGhvb2sgaXQg
dXAgaW4gdGhlIHJlbGV2YW50IHBsYWNlcwogICAgICAgIHRocm91Z2hvdXQgSmF2YVNjcmlwdENv
cmUvLiBJbmNsdWRlZCBpcyBhbiBPUHJvZmlsZSBpbXBsZW1lbnRhdGlvbgogICAgICAgIGZvciBM
aW51eCBzeXN0ZW1zLgoKICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBhZGQgSklUUHJvZmlsZUFn
ZW50IGZpbGVzLgogICAgICAgICogR05VbWFrZWZpbGUuYW06IGRpdHRvLgogICAgICAgICogSmF2
YVNjcmlwdENvcmUuZ3lwaTogZGl0dG8uCiAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5wcmk6IGRp
dHRvLgogICAgICAgICogSmF2YVNjcmlwdENvcmUucHJvOiBkaXR0by4KICAgICAgICAqIGFzc2Vt
Ymxlci9MaW5rQnVmZmVyLmg6CiAgICAgICAgKEpTQzo6TGlua0J1ZmZlcjo6c2l6ZSk6IG1ldGhv
ZCB0byByZXR1cm4gdGhlIHNpemUgb2YgdGhlIGJ1ZmZlciwKICAgICAgICBuZWVkZWQgZm9yIHRo
ZSBjb2RlIGFubm90YXRpb24gYnkgdGhlIEpJVCBwcm9maWxlIG1ldGhvZHMuCiAgICAgICAgKiBi
eXRlY29kZS9Db2RlQmxvY2suaDoKICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmxpbmVJbmZvKTog
YWNjZXNzb3IgZm9yIHRoZSBsaW5laW5mbyBkYXRhLgogICAgICAgICogaml0L0pJVC5jcHA6CiAg
ICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZSk6IGNhbGwgb3V0IHRvIHRoZSBKSVRQcm9m
aWxlQWdlbnQgdG8KICAgICAgICBhbm5vdGF0ZSBnZW5lcmF0ZWQgY29kZS4KICAgICAgICAqIGpp
dC9KSVRPcGNvZGVzLmNwcDoKICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFj
aGluZVRyYW1wb2xpbmVzKTogZGl0dG8uCiAgICAgICAgKiBqaXQvSklUT3Bjb2RlczMyXzY0LmNw
cDoKICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVz
KTogZGl0dG8uCiAgICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgogICAgICAgIChK
U0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbik6IGRpdHRvLgogICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFycmF5TGVuZ3RoKTogZGl0dG8uCiAg
ICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6IGRpdHRvLgogICAg
ICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QpOiBkaXR0by4KICAg
ICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdCk6IGRpdHRvLgog
ICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KTogZGl0dG8u
CiAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6IGRpdHRvLgog
ICAgICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwOgogICAgICAgIChKU0M6OkpJ
VDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbik6IGRpdHRvLgogICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFycmF5TGVuZ3RoKTogZGl0dG8uCiAgICAgICAg
KEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6IGRpdHRvLgogICAgICAgIChK
U0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QpOiBkaXR0by4KICAgICAgICAo
SlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdCk6IGRpdHRvLgogICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KTogZGl0dG8uCiAgICAg
ICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6IGRpdHRvLgogICAgICAg
ICoganNjLmNwcDogc3VwcG9ydCBwcm9maWxpbmcgb2YgdGhlIEpJVCBjb2RlIHdpdGggLXAuCiAg
ICAgICAgKiBydW50aW1lL0V4ZWN1dGFibGUuaDoKICAgICAgICAoSlNDOjpFdmFsRXhlY3V0YWJs
ZTo6aml0Q29kZVR5cGUpOiByZXR1cm4gcHJvcGVyIEpJVENvZGVUeXBlIGZvciB0aGUgRXhlY3V0
YWJsZS4KICAgICAgICAoSlNDOjpQcm9ncmFtRXhlY3V0YWJsZTo6aml0Q29kZVR5cGUpOiBkaXR0
by4KICAgICAgICAoSlNDOjpGdW5jdGlvbkV4ZWN1dGFibGU6OmppdENvZGVUeXBlKTogZGl0dG8u
CiAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsRGF0YS5oOgogICAgICAgICogdG9vbHMvSklUUHJv
ZmlsZUFnZW50LmNwcDogQWRkZWQuCiAgICAgICAgKiB0b29scy9KSVRQcm9maWxlQWdlbnQuaDog
QWRkZWQuCiAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKICAgICAgICAqIHlhcnIvWWFyckpJVC5j
cHA6CiAgICAgICAgKEpTQzo6WWFycjo6WWFyckdlbmVyYXRvcjo6Y29tcGlsZSk6IGNhbGwgb3V0
IHRvIHRoZQogICAgICAgIEpJVFByb2ZpbGVBZ2VudCB0byBhbm5vdGF0ZSBnZW5lcmF0ZWQgY29k
ZS4KLS0tCiBDaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgMTMgKysKIEdOVW1ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgICAgMSArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgICAg
ICAgICAgICAgICB8ICAgIDMgKwogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyAgICAg
ICAgICAgICAgICAgICAgfCAgIDYwICsrKysrKysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVt
YWtlZmlsZS5hbSAgICAgICAgICAgICAgIHwgICAgMyArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUuZ3lwaSAgICAgICAgICB8ICAgIDIgKwogU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnByaSAgICAgICAgICAgfCAgICAxICsKIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcm8gICAgICAgICAgIHwgICAgMSArCiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaCAgICAgICB8ICAgIDcgKwogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oICAgICAgICAgfCAgICA1ICsKIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCAgICAgICAgICAgICAgICAgIHwgICAgNSAr
LQogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCAgICAgICAgICAgfCAg
ICAzICsKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcCAgICAg
IHwgICAgMyArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNw
cCAgICB8ICAgMTUgKysKIC4uLi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3Mz
Ml82NC5jcHAgIHwgICAxNCArKwogU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDE4ICsrCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
eGVjdXRhYmxlLmggICAgICAgICB8ICAgMTQgKysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsRGF0YS5oICAgICAgIHwgICAgNCArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
dG9vbHMvSklUUHJvZmlsZUFnZW50LmNwcCAgICB8ICAxNzQgKysrKysrKysrKysrKysrKysrKysK
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuaCAgICAgIHwgIDE2
MCArKysrKysrKysrKysrKysrKysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0u
aCAgICAgICAgICAgICAgIHwgICAgNSArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJy
SklULmNwcCAgICAgICAgICAgICB8ICAgIDUgKy0KIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzMyArKysrCiAyMyBmaWxlcyBjaGFuZ2VkLCA1
NDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFnZW50LmNwcAogY3JlYXRlIG1vZGUg
MTAwNjQ0IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuaAoKZGlm
ZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBkMDI3ZDNhLi4zOGE0NWU0IDEw
MDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MTEtMDItMDMgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByb3ZpZGUgYSBPUHJvZmlsZSBKSVQg
YWdlbnQgKG9wYWdlbnQpIGZvciB0aGUgY29kZSBnZW5lcmF0ZWQgYnkgdGhlIEpJVAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI1NjEKKworICAgICAg
ICBBZGQgc3VwcG9ydCBmb3IgT1Byb2ZpbGUgSklUIGFubm90YXRpb25zIHRvIHRoZSBHVEsrIHBv
cnQuIEVuYWJsZQorICAgICAgICB3aXRoIC0tZW5hYmxlLW9wYWdlbnQuCisKKyAgICAgICAgKiBH
TlVtYWtlZmlsZS5hbTogYWRkIE9QQUdFTlQgZmxhZ3MuCisgICAgICAgICogY29uZmlndXJlLmFj
OiBhZGQgLS1lbmFibGUtb3BhZ2VudCBjb25maWd1cmUgZmxhZy4KKwogMjAxMS0wMi0wMiAgQWxl
amFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBNYXJ0aW4gUm9iaW5zb24uCmRpZmYgLS1naXQgYS9HTlVtYWtlZmlsZS5hbSBiL0dOVW1ha2Vm
aWxlLmFtCmluZGV4IDkxMGJlMzguLmM2ZjVjM2EgMTAwNjQ0Ci0tLSBhL0dOVW1ha2VmaWxlLmFt
CisrKyBiL0dOVW1ha2VmaWxlLmFtCkBAIC0xNDIsNiArMTQyLDcgQEAgbGliSmF2YVNjcmlwdENv
cmVfbGFfU09VUkNFUyA9IFwKIGxpYkphdmFTY3JpcHRDb3JlX2xhX0xJQkFERCA9IFwKIAkkKFVO
SUNPREVfTElCUykgXAogCSQoR0xJQl9MSUJTKSBcCisJJChPUEFHRU5UX0xJQlMpIFwKIAktbHB0
aHJlYWQKIAogbGliSmF2YVNjcmlwdENvcmVfbGFfQ1hYRkxBR1MgPSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZTY4NWVjZi4uYjliN2ZmMiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTMsNiArMTMsNyBAQCBTRVQoSmF2YVNjcmlwdENvcmVf
SU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vcGNyZSIKICAg
ICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L3Byb2ZpbGVyIgogICAgICIke0pBVkFTQ1JJUFRDT1JF
X0RJUn0vcnVudGltZSIKKyAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L3Rvb2xzIgogICAgICIk
e0pBVkFTQ1JJUFRDT1JFX0RJUn0veWFyciIKICAgICAiJHtXVEZfSU5DTFVERV9ESVJFQ1RPUklF
U30iCiAgICAgIiR7Q01BS0VfU09VUkNFX0RJUn0iCkBAIC0xNzIsNiArMTczLDggQEAgU0VUKEph
dmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBydW50aW1lL1RpbWVvdXRDaGVja2VyLmNwcAogICAg
IHJ1bnRpbWUvVVN0cmluZy5jcHAKIAorICAgIHRvb2xzL0pJVFByb2ZpbGVBZ2VudC5jcHAKKwog
ICAgIHlhcnIvWWFyclBhdHRlcm4uY3BwCiAgICAgeWFyci9ZYXJySW50ZXJwcmV0ZXIuY3BwCiAg
ICAgeWFyci9ZYXJySklULmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggYzlhYWU5ZS4u
ZWVlZTY3MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIwMTEt
MDItMDMgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByb3ZpZGUgYSBPUHJvZmlsZSBKSVQgYWdl
bnQgKG9wYWdlbnQpIGZvciB0aGUgY29kZSBnZW5lcmF0ZWQgYnkgdGhlIEpJVAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI1NjEKKworICAgICAgICBC
YXNlZCBvbiB0aGUgd29yayBieSBIb2xnZXIgRnJleXRoZXIsIEdhYm9yIExva2kgYW5kIFpvbHRh
biBIZXJjemVnLgorCisgICAgICAgIEFkZCBKSVRQcm9maWxlQWdlbnQsIGEgbmV3IGNsYXNzIGlu
IHRvb2xzLyB3aXRoIHRoZSBiYXNpYyBtZXRob2RzCisgICAgICAgIHRvIGFubm90YXRlIHRoZSBK
SVQgY29kZSwgYW5kIGhvb2sgaXQgdXAgaW4gdGhlIHJlbGV2YW50IHBsYWNlcworICAgICAgICB0
aHJvdWdob3V0IEphdmFTY3JpcHRDb3JlLy4gSW5jbHVkZWQgaXMgYW4gT1Byb2ZpbGUgaW1wbGVt
ZW50YXRpb24KKyAgICAgICAgZm9yIExpbnV4IHN5c3RlbXMuCisKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDogYWRkIEpJVFByb2ZpbGVBZ2VudCBmaWxlcy4KKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5hbTogZGl0dG8uCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZ3lwaTogZGl0dG8uCisgICAg
ICAgICogSmF2YVNjcmlwdENvcmUucHJpOiBkaXR0by4KKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS5wcm86IGRpdHRvLgorICAgICAgICAqIGFzc2VtYmxlci9MaW5rQnVmZmVyLmg6CisgICAgICAg
IChKU0M6OkxpbmtCdWZmZXI6OnNpemUpOiBtZXRob2QgdG8gcmV0dXJuIHRoZSBzaXplIG9mIHRo
ZSBidWZmZXIsCisgICAgICAgIG5lZWRlZCBmb3IgdGhlIGNvZGUgYW5ub3RhdGlvbiBieSB0aGUg
SklUIHByb2ZpbGUgbWV0aG9kcy4KKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suaDoKKyAg
ICAgICAgKEpTQzo6Q29kZUJsb2NrOjpsaW5lSW5mbyk6IGFjY2Vzc29yIGZvciB0aGUgbGluZWlu
Zm8gZGF0YS4KKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2
YXRlQ29tcGlsZSk6IGNhbGwgb3V0IHRvIHRoZSBKSVRQcm9maWxlQWdlbnQgdG8KKyAgICAgICAg
YW5ub3RhdGUgZ2VuZXJhdGVkIGNvZGUuCisgICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgor
ICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVzKTog
ZGl0dG8uCisgICAgICAgICogaml0L0pJVE9wY29kZXMzMl82NC5jcHA6CisgICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVDVElNYWNoaW5lVHJhbXBvbGluZXMpOiBkaXR0by4KKyAgICAg
ICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZh
dGVDb21waWxlUHV0QnlJZFRyYW5zaXRpb24pOiBkaXR0by4KKyAgICAgICAgKEpTQzo6SklUOjpw
cml2YXRlQ29tcGlsZVBhdGNoR2V0QXJyYXlMZW5ndGgpOiBkaXR0by4KKyAgICAgICAgKEpTQzo6
SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6IGRpdHRvLgorICAgICAgICAoSlNDOjpK
SVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNlbGZMaXN0KTogZGl0dG8uCisgICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KTogZGl0dG8uCisgICAgICAgIChK
U0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KTogZGl0dG8uCisgICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4pOiBkaXR0by4KKyAgICAgICAg
KiBqaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJp
dmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbik6IGRpdHRvLgorICAgICAgICAoSlNDOjpKSVQ6
OnByaXZhdGVDb21waWxlUGF0Y2hHZXRBcnJheUxlbmd0aCk6IGRpdHRvLgorICAgICAgICAoSlND
OjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvKTogZGl0dG8uCisgICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QpOiBkaXR0by4KKyAgICAgICAgKEpT
Qzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90b0xpc3QpOiBkaXR0by4KKyAgICAgICAg
KEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbkxpc3QpOiBkaXR0by4KKyAgICAg
ICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6IGRpdHRvLgorICAgICAg
ICAqIGpzYy5jcHA6IHN1cHBvcnQgcHJvZmlsaW5nIG9mIHRoZSBKSVQgY29kZSB3aXRoIC1wLgor
ICAgICAgICAqIHJ1bnRpbWUvRXhlY3V0YWJsZS5oOgorICAgICAgICAoSlNDOjpFdmFsRXhlY3V0
YWJsZTo6aml0Q29kZVR5cGUpOiByZXR1cm4gcHJvcGVyIEpJVENvZGVUeXBlIGZvciB0aGUgRXhl
Y3V0YWJsZS4KKyAgICAgICAgKEpTQzo6UHJvZ3JhbUV4ZWN1dGFibGU6OmppdENvZGVUeXBlKTog
ZGl0dG8uCisgICAgICAgIChKU0M6OkZ1bmN0aW9uRXhlY3V0YWJsZTo6aml0Q29kZVR5cGUpOiBk
aXR0by4KKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsRGF0YS5oOgorICAgICAgICAqIHRvb2xz
L0pJVFByb2ZpbGVBZ2VudC5jcHA6IEFkZGVkLgorICAgICAgICAqIHRvb2xzL0pJVFByb2ZpbGVB
Z2VudC5oOiBBZGRlZC4KKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgKiB5YXJy
L1lhcnJKSVQuY3BwOgorICAgICAgICAoSlNDOjpZYXJyOjpZYXJyR2VuZXJhdG9yOjpjb21waWxl
KTogY2FsbCBvdXQgdG8gdGhlCisgICAgICAgIEpJVFByb2ZpbGVBZ2VudCB0byBhbm5vdGF0ZSBn
ZW5lcmF0ZWQgY29kZS4KKwogMjAxMS0wMi0wMiAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNs
b3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgV2luZG93cyBidWlsZCBmaXguCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggYWFkY2QwOS4uOWYwNDlmMyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTQsNiArMTQsNyBAQCBqYXZhc2NyaXB0Y29yZV9j
cHBmbGFncyArPSBcCiAJLUkkKHNyY2RpcikvU291cmNlL0phdmFTY3JpcHRDb3JlL3BjcmUgXAog
CS1JJChzcmNkaXIpL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlciBcCiAJLUkkKHNyY2Rp
cikvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUgXAorCS1JJChzcmNkaXIpL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90b29scyBcCiAJLUkkKHNyY2RpcikvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0ZiBcCiAJLUkkKHNyY2RpcikvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0ZiBcCiAJLUkkKHNy
Y2RpcikvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0IFwKQEAgLTQzMSw2ICs0MzIs
OCBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9XZWFrR0NQdHIuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vh
a1JhbmRvbS5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIu
aCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pJVFByb2ZpbGVBZ2VudC5jcHAgXAor
CVNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuaCBcCiAJU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9BbHdheXNJbmxpbmUuaCBcCiAJU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9BU0NJSUNUeXBlLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0
aW9ucy5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLmd5cGkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRl
eCA4NWE0MTNjLi40YjNlN2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUuZ3lwaQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUuZ3lwaQpAQCAtMzYxLDYgKzM2MSw4IEBACiAgICAgICAgICAgICAncnVudGltZS9VU3RyaW5n
QnVpbGRlci5oJywKICAgICAgICAgICAgICdydW50aW1lL1VTdHJpbmdDb25jYXRlbmF0ZS5oJywK
ICAgICAgICAgICAgICdydW50aW1lL1dlYWtSYW5kb20uaCcsCisgICAgICAgICAgICAndG9vbHMv
SklUUHJvZmlsZUFnZW50LmNwcCcsCisgICAgICAgICAgICAndG9vbHMvSklUUHJvZmlsZUFnZW50
LmgnLAogICAgICAgICAgICAgJ3d0Zi9BbHdheXNJbmxpbmUuaCcsCiAgICAgICAgICAgICAnd3Rm
L0FTQ0lJQ1R5cGUuaCcsCiAgICAgICAgICAgICAnd3RmL0Fzc2VydGlvbnMuY3BwJywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJpCmluZGV4IDA2NjEzYTEuLmUzYjk5Zjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaQpAQCAtMzQsNiArMzQs
NyBAQCBKQVZBU0NSSVBUQ09SRV9JTkNMVURFUEFUSCA9IFwKICAgICAkJFBXRC9wY3JlIFwKICAg
ICAkJFBXRC9wcm9maWxlciBcCiAgICAgJCRQV0QvcnVudGltZSBcCisgICAgJCRQV0QvdG9vbHMg
XAogICAgICQkUFdEL3d0ZiBcCiAgICAgJCRQV0Qvd3RmL2dvYmplY3QgXAogICAgICQkUFdEL3d0
Zi9zeW1iaWFuIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS5wcm8gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJvCmluZGV4
IDkxMjI2NDcuLjNhY2Q2MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5wcm8KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnBybwpAQCAtMjEzLDYgKzIxMyw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHJ1bnRpbWUvU3RydWN0
dXJlLmNwcCBcCiAgICAgcnVudGltZS9UaW1lb3V0Q2hlY2tlci5jcHAgXAogICAgIHJ1bnRpbWUv
VVN0cmluZy5jcHAgXAorICAgIHRvb2xzL0pJVFByb2ZpbGVBZ2VudC5jcHAgXAogICAgIHlhcnIv
WWFyclBhdHRlcm4uY3BwIFwKICAgICB5YXJyL1lhcnJJbnRlcnByZXRlci5jcHAgXAogICAgIHlh
cnIvWWFyckpJVC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtC
dWZmZXIuaAppbmRleCBjNWE3ZDViLi5hMjhlZWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaApAQCAtMTgzLDYgKzE4MywxMyBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBDb2RlUHRyKE1hY3JvQXNzZW1ibGVyOjpBc3NlbWJsZXJUeXBlX1Q6Omdl
dFJlbG9jYXRlZEFkZHJlc3MoY29kZSgpLCBhcHBseU9mZnNldChsYWJlbC5tX2xhYmVsKSkpOwog
ICAgIH0KIAorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBzaXplX3Qgc2l6ZSgp
IGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9zaXplOworICAgIH0KKyNlbmRpZgorCiBw
cml2YXRlOgogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBUIGFwcGx5T2Zmc2V0KFQgc3JjKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAppbmRleCBm
ODQ5OGI0Li45NzU5N2Y2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ29kZUJsb2NrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVC
bG9jay5oCkBAIC00NTYsNiArNDU2LDExIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAg
cmV0dXJuIG1fcmFyZURhdGEgJiYKICAgICAgICAgICAgICAgICAobV9yYXJlRGF0YS0+bV9leHBy
ZXNzaW9uSW5mby5zaXplKCkgfHwgbV9yYXJlRGF0YS0+bV9saW5lSW5mby5zaXplKCkgfHwgbV9y
YXJlRGF0YS0+bV9leGNlcHRpb25IYW5kbGVycy5zaXplKCkpOwogICAgICAgICB9CisgICAgICAg
IFZlY3RvcjxMaW5lSW5mbz4mIGxpbmVJbmZvKCkKKyAgICAgICAgeworICAgICAgICAgICAgY3Jl
YXRlUmFyZURhdGFJZk5lY2Vzc2FyeSgpOworICAgICAgICAgICAgcmV0dXJuIG1fcmFyZURhdGEt
Pm1fbGluZUluZm87CisgICAgICAgIH0KIAogI2lmIEVOQUJMRShKSVQpCiAgICAgICAgIFZlY3Rv
cjxDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldD4mIGNhbGxSZXR1cm5JbmRleFZlY3Rv
cigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggYjhiZDcxOC4uMDEzYTJmNiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtNTg0LDcgKzU4NCwxMCBAQCBKSVRDb2RlIEpJ
VDo6cHJpdmF0ZUNvbXBpbGUoQ29kZVB0ciogZnVuY3Rpb25FbnRyeUFyaXR5Q2hlY2spCiAgICAg
aWYgKG1fY29kZUJsb2NrLT5jb2RlVHlwZSgpID09IEZ1bmN0aW9uQ29kZSAmJiBmdW5jdGlvbkVu
dHJ5QXJpdHlDaGVjaykKICAgICAgICAgKmZ1bmN0aW9uRW50cnlBcml0eUNoZWNrID0gcGF0Y2hC
dWZmZXIubG9jYXRpb25PZihhcml0eUNoZWNrKTsKIAotICAgIHJldHVybiBwYXRjaEJ1ZmZlci5m
aW5hbGl6ZUNvZGUoKTsKKyAgICBKSVRDb2RlIGNvZGUgPSBwYXRjaEJ1ZmZlci5maW5hbGl6ZUNv
ZGUoKTsKKyAgICBSRUNPUkRfSklUX0NPREVfQ09ERUJMT0NLKG1fZ2xvYmFsRGF0YSwgY29kZS5h
ZGRyZXNzRm9yQ2FsbCgpLmV4ZWN1dGFibGVBZGRyZXNzKCksIGNvZGUuc2l6ZSgpLCBtX2NvZGVC
bG9jayk7CisgICAgQU5OT1RBVEVfSklUX0NPREUobV9nbG9iYWxEYXRhLCBjb2RlLmFkZHJlc3NG
b3JDYWxsKCkuZXhlY3V0YWJsZUFkZHJlc3MoKSwgbV9jb2RlQmxvY2ssIG1fY29kZUJsb2NrLT5z
b3VyY2UoKS0+dXJsKCkpOworICAgIHJldHVybiBjb2RlOwogfQogCiAjaWYgVVNFKEpTVkFMVUU2
NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCmluZGV4IDk4Y2IyZjMu
LmVhNTAxZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rl
cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcApAQCAt
MzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiQXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiSklUSW5s
aW5lTWV0aG9kcy5oIgorI2luY2x1ZGUgIkpJVFByb2ZpbGVBZ2VudC5oIgogI2luY2x1ZGUgIkpJ
VFN0dWJDYWxsLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgogI2luY2x1ZGUgIkpTQ2VsbC5oIgpA
QCAtMTc1LDYgKzE3Niw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFt
cG9saW5lcyhSZWZQdHI8RXhlY3V0YWJsZVBvb2w+KiBleGVjdXRhYmxlCiAgICAgQ29kZVJlZiBm
aW5hbENvZGUgPSBwYXRjaEJ1ZmZlci5maW5hbGl6ZUNvZGUoKTsKICAgICAqZXhlY3V0YWJsZVBv
b2wgPSBmaW5hbENvZGUubV9leGVjdXRhYmxlUG9vbDsKIAorICAgIFJFQ09SRF9KSVRfVFJBTVBP
TElORVMobV9nbG9iYWxEYXRhLCBmaW5hbENvZGUubV9jb2RlLmV4ZWN1dGFibGVBZGRyZXNzKCks
IG1fY29kZUJsb2NrLCBmaW5hbENvZGUubV9zaXplKTsKKwogICAgIHRyYW1wb2xpbmVzLT5jdGlW
aXJ0dWFsQ2FsbExpbmsgPSBwYXRjaEJ1ZmZlci50cmFtcG9saW5lQXQodmlydHVhbENhbGxMaW5r
QmVnaW4pOwogICAgIHRyYW1wb2xpbmVzLT5jdGlWaXJ0dWFsQ29uc3RydWN0TGluayA9IHBhdGNo
QnVmZmVyLnRyYW1wb2xpbmVBdCh2aXJ0dWFsQ29uc3RydWN0TGlua0JlZ2luKTsKICAgICB0cmFt
cG9saW5lcy0+Y3RpVmlydHVhbENhbGwgPSBwYXRjaEJ1ZmZlci50cmFtcG9saW5lQXQodmlydHVh
bENhbGxCZWdpbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
Y29kZXMzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82
NC5jcHAKaW5kZXggZGRhNzRjOC4uZTkyMWYzNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkpJ
VC5oIgogCiAjaW5jbHVkZSAiSklUSW5saW5lTWV0aG9kcy5oIgorI2luY2x1ZGUgIkpJVFByb2Zp
bGVBZ2VudC5oIgogI2luY2x1ZGUgIkpJVFN0dWJDYWxsLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5o
IgogI2luY2x1ZGUgIkpTQ2VsbC5oIgpAQCAtMTc2LDYgKzE3Nyw4IEBAIHZvaWQgSklUOjpwcml2
YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFtcG9saW5lcyhSZWZQdHI8RXhlY3V0YWJsZVBvb2w+KiBl
eGVjdXRhYmxlCiAgICAgQ29kZVJlZiBmaW5hbENvZGUgPSBwYXRjaEJ1ZmZlci5maW5hbGl6ZUNv
ZGUoKTsKICAgICAqZXhlY3V0YWJsZVBvb2wgPSBmaW5hbENvZGUubV9leGVjdXRhYmxlUG9vbDsK
IAorICAgIFJFQ09SRF9KSVRfVFJBTVBPTElORVMobV9nbG9iYWxEYXRhLCBmaW5hbENvZGUubV9j
b2RlLmV4ZWN1dGFibGVBZGRyZXNzKCksIG1fY29kZUJsb2NrLCBmaW5hbENvZGUubV9zaXplKTsK
KwogICAgIHRyYW1wb2xpbmVzLT5jdGlWaXJ0dWFsQ2FsbCA9IHBhdGNoQnVmZmVyLnRyYW1wb2xp
bmVBdCh2aXJ0dWFsQ2FsbEJlZ2luKTsKICAgICB0cmFtcG9saW5lcy0+Y3RpVmlydHVhbENvbnN0
cnVjdCA9IHBhdGNoQnVmZmVyLnRyYW1wb2xpbmVBdCh2aXJ0dWFsQ29uc3RydWN0QmVnaW4pOwog
ICAgIHRyYW1wb2xpbmVzLT5jdGlOYXRpdmVDYWxsID0gcGF0Y2hCdWZmZXIudHJhbXBvbGluZUF0
KG5hdGl2ZUNhbGxUaHVuayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVFByb3BlcnR5QWNjZXNzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJv
cGVydHlBY2Nlc3MuY3BwCmluZGV4IDFiOTVlZWMuLjY3YmNhMjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCkBAIC0zMiw2ICszMiw3IEBA
CiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5j
bHVkZSAiSklUSW5saW5lTWV0aG9kcy5oIgorI2luY2x1ZGUgIkpJVFByb3BlcnR5QWNjZXNzLmgi
CiAjaW5jbHVkZSAiSklUU3R1YkNhbGwuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCiAjaW5jbHVk
ZSAiSlNGdW5jdGlvbi5oIgpAQCAtNjU2LDYgKzY1Nyw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29t
cGlsZVB1dEJ5SWRUcmFuc2l0aW9uKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0
dXJlCiAgICAgc3R1YkluZm8tPnN0dWJSb3V0aW5lID0gZW50cnlMYWJlbDsKICAgICBSZXBhdGNo
QnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVs
aW5rQ2FsbGVyVG9UcmFtcG9saW5lKHJldHVybkFkZHJlc3MsIGVudHJ5TGFiZWwpOworCisgICAg
UkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlMYWJsZS5leGVjdXRhYmxlQWRkcmVz
cygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVBZ2VudDo6UHV0QnlJRFRyYW5zaXRp
b24pOwogfQogCiB2b2lkIEpJVDo6cGF0Y2hHZXRCeUlkU2VsZihDb2RlQmxvY2sqIGNvZGVCbG9j
aywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgc2l6
ZV90IGNhY2hlZE9mZnNldCwgUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzKQpAQCAtNzU0
LDYgKzc1Nyw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZVBhdGNoR2V0QXJyYXlMZW5ndGgo
UmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzKQogCiAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0
byBwYXRjaCBtb3JlIHRoYW4gb25jZSAtIGluIGZ1dHVyZSBnbyB0byBjdGlfb3BfcHV0X2J5X2lk
X2dlbmVyaWMuCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb0Z1bmN0aW9uKHJldHVy
bkFkZHJlc3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfYXJyYXlfZmFpbCkpOworCisg
ICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlMYWJsZS5leGVjdXRhYmxlQWRk
cmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVBZ2VudDo6R2V0QXJyYXlMZW5n
dGgpOwogfQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG8oU3RydWN0dXJl
U3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlKiBwcm90
b3R5cGVTdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0eVNs
b3QmIHNsb3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRk
cmVzcywgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCkBAIC04MjMsNiArODI4LDggQEAgdm9pZCBKSVQ6
OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywg
U3RydWN0dXJlKiBzdHIKIAogICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFu
IG9uY2UgLSBpbiBmdXR1cmUgZ28gdG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIHJl
cGF0Y2hCdWZmZXIucmVsaW5rQ2FsbGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlv
blB0cihjdGlfb3BfZ2V0X2J5X2lkX3Byb3RvX2xpc3QpKTsKKworICAgIFJFQ09SRF9KSVRfQ09E
RShtX2dsb2JhbERhdGEsIGVudHJ5TGFibGUuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZm
ZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEJ5SURQcm90byk7CiB9CiAKIHZvaWQgSklU
Ojpwcml2YXRlQ29tcGlsZUdldEJ5SWRTZWxmTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCogcG9seW1vcnBoaWNTdHJ1Y3R1cmVz
LCBpbnQgY3VycmVudEluZGV4LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmll
ciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCkK
QEAgLTg4MSw2ICs4ODgsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxp
c3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpYwogICAgIENvZGVMb2Nh
dGlvbkp1bXAganVtcExvY2F0aW9uID0gc3R1YkluZm8tPmhvdFBhdGhCZWdpbi5qdW1wQXRPZmZz
ZXQocGF0Y2hPZmZzZXRHZXRCeUlkQnJhbmNoVG9TbG93Q2FzZSk7CiAgICAgUmVwYXRjaEJ1ZmZl
ciByZXBhdGNoQnVmZmVyKG1fY29kZUJsb2NrKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhq
dW1wTG9jYXRpb24sIGVudHJ5TGFiZWwpOworCisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFs
RGF0YSwgZW50cnlMYWJsZS5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCks
IEpJVFByb2ZpbGVBZ2VudDo6R2V0QnlJRFNlbGZMaXN0KTsKIH0KIAogdm9pZCBKSVQ6OnByaXZh
dGVDb21waWxlR2V0QnlJZFByb3RvTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBv
bHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCogcHJvdG90eXBlU3RydWN0dXJlcywgaW50IGN1
cnJlbnRJbmRleCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZSogcHJvdG90eXBlU3Ry
dWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90
LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTk1MSw2ICs5
NjAsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KFN0cnVjdHVy
ZVN0dWJJbmZvKiBzdHViSW5mbywgUG9seW1vcnBoaQogICAgIENvZGVMb2NhdGlvbkp1bXAganVt
cExvY2F0aW9uID0gc3R1YkluZm8tPmhvdFBhdGhCZWdpbi5qdW1wQXRPZmZzZXQocGF0Y2hPZmZz
ZXRHZXRCeUlkQnJhbmNoVG9TbG93Q2FzZSk7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNoQnVm
ZmVyKG1fY29kZUJsb2NrKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhqdW1wTG9jYXRpb24s
IGVudHJ5TGFiZWwpOworCisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlM
YWJsZS5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVB
Z2VudDo6R2V0QnlJRFByb3RvTGlzdCk7CiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdl
dEJ5SWRDaGFpbkxpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpY0Fj
Y2Vzc1N0cnVjdHVyZUxpc3QqIHByb3RvdHlwZVN0cnVjdHVyZXMsIGludCBjdXJyZW50SW5kZXgs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4sIHNpemVfdCBjb3Vu
dCwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6
ZV90IGNhY2hlZE9mZnNldCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCkBAIC0xMDIxLDYgKzEwMzIs
OCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KFN0cnVjdHVyZVN0
dWJJbmZvKiBzdHViSW5mbywgUG9seW1vcnBoaQogICAgIENvZGVMb2NhdGlvbkp1bXAganVtcExv
Y2F0aW9uID0gc3R1YkluZm8tPmhvdFBhdGhCZWdpbi5qdW1wQXRPZmZzZXQocGF0Y2hPZmZzZXRH
ZXRCeUlkQnJhbmNoVG9TbG93Q2FzZSk7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNoQnVmZmVy
KG1fY29kZUJsb2NrKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhqdW1wTG9jYXRpb24sIGVu
dHJ5TGFiZWwpOworCisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlMYWJs
ZS5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVBZ2Vu
dDo6R2V0QnlJRENoYWluTGlzdCk7CiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5
SWRDaGFpbihTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4sIHNpemVfdCBjb3VudCwgY29uc3QgSWRlbnRpZmllciYg
aWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwgUmV0
dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTEw
ODksNiArMTEwMiw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbihTdHJ1
Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RyCiAKICAgICAvLyBXZSBkb24n
dCB3YW50IHRvIHBhdGNoIG1vcmUgdGhhbiBvbmNlIC0gaW4gZnV0dXJlIGdvIHRvIGN0aV9vcF9w
dXRfYnlfaWRfZ2VuZXJpYy4KICAgICByZXBhdGNoQnVmZmVyLnJlbGlua0NhbGxlclRvRnVuY3Rp
b24ocmV0dXJuQWRkcmVzcywgRnVuY3Rpb25QdHIoY3RpX29wX2dldF9ieV9pZF9wcm90b19saXN0
KSk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmxlLmV4ZWN1
dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRC
eUlEQ2hhaW4pOwogfQogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRU5EOiAh
RU5BQkxFIC8gRU5BQkxFKEpJVF9PUFRJTUlaRV9QUk9QRVJUWV9BQ0NFU1MpIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKaW5kZXggNzEwYTE1NS4uZjM5MWMzZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJf
NjQuY3BwCkBAIC02NzIsNiArNjcyLDggQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlUHV0QnlJ
ZFRyYW5zaXRpb24oU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUKICAgICBz
dHViSW5mby0+c3R1YlJvdXRpbmUgPSBlbnRyeUxhYmVsOwogICAgIFJlcGF0Y2hCdWZmZXIgcmVw
YXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJU
b1RyYW1wb2xpbmUocmV0dXJuQWRkcmVzcywgZW50cnlMYWJlbCk7CisKKyAgICBSRUNPUkRfSklU
X0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNo
QnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpQdXRCeUlEVHJhbnNpdGlvbik7CiB9CiAK
IHZvaWQgSklUOjpwYXRjaEdldEJ5SWRTZWxmKENvZGVCbG9jayogY29kZUJsb2NrLCBTdHJ1Y3R1
cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBzaXplX3QgY2FjaGVk
T2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MpCkBAIC03NzUsNiArNzc3LDgg
QEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlUGF0Y2hHZXRBcnJheUxlbmd0aChSZXR1cm5BZGRy
ZXNzUHRyIHJldHVybkFkZHJlc3MpCiAgICAgCiAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBwYXRj
aCBtb3JlIHRoYW4gb25jZSAtIGluIGZ1dHVyZSBnbyB0byBjdGlfb3BfcHV0X2J5X2lkX2dlbmVy
aWMuCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb0Z1bmN0aW9uKHJldHVybkFkZHJl
c3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfYXJyYXlfZmFpbCkpOworCisgICAgUkVD
T1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygp
LCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVBZ2VudDo6R2V0QXJyYXlMZW5ndGgpOwog
fQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG8oU3RydWN0dXJlU3R1Yklu
Zm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlKiBwcm90b3R5cGVT
dHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNs
b3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcywg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpCkBAIC04NDYsNiArODUwLDggQEAgdm9pZCBKSVQ6OnByaXZh
dGVDb21waWxlR2V0QnlJZFByb3RvKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0
dXJlKiBzdHIKICAgICAKICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHBhdGNoIG1vcmUgdGhhbiBv
bmNlIC0gaW4gZnV0dXJlIGdvIHRvIGN0aV9vcF9wdXRfYnlfaWRfZ2VuZXJpYy4KICAgICByZXBh
dGNoQnVmZmVyLnJlbGlua0NhbGxlclRvRnVuY3Rpb24ocmV0dXJuQWRkcmVzcywgRnVuY3Rpb25Q
dHIoY3RpX29wX2dldF9ieV9pZF9wcm90b19saXN0KSk7CisKKyAgICBSRUNPUkRfSklUX0NPREUo
bV9nbG9iYWxEYXRhLCBlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVy
LnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRCeUlEUHJvdG8pOwogfQogCiAKQEAgLTkwNSw2
ICs5MTEsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QoU3RydWN0
dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpYwogICAgIENvZGVMb2NhdGlvbkp1bXAg
anVtcExvY2F0aW9uID0gc3R1YkluZm8tPmhvdFBhdGhCZWdpbi5qdW1wQXRPZmZzZXQocGF0Y2hP
ZmZzZXRHZXRCeUlkQnJhbmNoVG9TbG93Q2FzZSk7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNo
QnVmZmVyKG1fY29kZUJsb2NrKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhqdW1wTG9jYXRp
b24sIGVudHJ5TGFiZWwpOworCisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50
cnlMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2Zp
bGVBZ2VudDo6R2V0QnlJRFNlbGZMaXN0KTsKIH0KIAogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxl
R2V0QnlJZFByb3RvTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBvbHltb3JwaGlj
QWNjZXNzU3RydWN0dXJlTGlzdCogcHJvdG90eXBlU3RydWN0dXJlcywgaW50IGN1cnJlbnRJbmRl
eCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0dXJlLCBj
b25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3Qg
Y2FjaGVkT2Zmc2V0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTk3NCw2ICs5ODIsOCBAQCB2
b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KFN0cnVjdHVyZVN0dWJJbmZv
KiBzdHViSW5mbywgUG9seW1vcnBoaQogICAgIENvZGVMb2NhdGlvbkp1bXAganVtcExvY2F0aW9u
ID0gc3R1YkluZm8tPmhvdFBhdGhCZWdpbi5qdW1wQXRPZmZzZXQocGF0Y2hPZmZzZXRHZXRCeUlk
QnJhbmNoVG9TbG93Q2FzZSk7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNoQnVmZmVyKG1fY29k
ZUJsb2NrKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhqdW1wTG9jYXRpb24sIGVudHJ5TGFi
ZWwpOworCisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlMYWJlbC5leGVj
dXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVBZ2VudDo6R2V0
QnlJRFByb3RvTGlzdCk7CiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFp
bkxpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVj
dHVyZUxpc3QqIHByb3RvdHlwZVN0cnVjdHVyZXMsIGludCBjdXJyZW50SW5kZXgsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4sIHNpemVfdCBjb3VudCwgY29uc3Qg
SWRlbnRpZmllciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hl
ZE9mZnNldCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCkBAIC0xMDQ0LDYgKzEwNTQsOCBAQCB2b2lk
IEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiBz
dHViSW5mbywgUG9seW1vcnBoaQogICAgIENvZGVMb2NhdGlvbkp1bXAganVtcExvY2F0aW9uID0g
c3R1YkluZm8tPmhvdFBhdGhCZWdpbi5qdW1wQXRPZmZzZXQocGF0Y2hPZmZzZXRHZXRCeUlkQnJh
bmNoVG9TbG93Q2FzZSk7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNoQnVmZmVyKG1fY29kZUJs
b2NrKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhqdW1wTG9jYXRpb24sIGVudHJ5TGFiZWwp
OworCisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlMYWJlbC5leGVjdXRh
YmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVBZ2VudDo6R2V0QnlJ
RENoYWluTGlzdCk7CiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbihT
dHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1
cmVDaGFpbiogY2hhaW4sIHNpemVfdCBjb3VudCwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIGNv
bnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwgUmV0dXJuQWRkcmVz
c1B0ciByZXR1cm5BZGRyZXNzLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTExMTEsNiArMTEy
Myw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbihTdHJ1Y3R1cmVTdHVi
SW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RyCiAgICAgCiAgICAgLy8gV2UgZG9uJ3Qgd2Fu
dCB0byBwYXRjaCBtb3JlIHRoYW4gb25jZSAtIGluIGZ1dHVyZSBnbyB0byBjdGlfb3BfcHV0X2J5
X2lkX2dlbmVyaWMuCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb0Z1bmN0aW9uKHJl
dHVybkFkZHJlc3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfcHJvdG9fbGlzdCkpOwor
CisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlMYWJlbC5leGVjdXRhYmxl
QWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVBZ2VudDo6R2V0QnlJRENo
YWluKTsKIH0KIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVORDogIUVOQUJM
RSAvIEVOQUJMRShKSVRfT1BUSU1JWkVfUFJPUEVSVFlfQUNDRVNTKSAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0gKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2Mu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKaW5kZXggOTEyYjUxYS4uNzcxNTI2
ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKQEAgLTEwMiwxMSArMTAyLDE3IEBAIHN0cnVjdCBPcHRp
b25zIHsKICAgICBPcHRpb25zKCkKICAgICAgICAgOiBpbnRlcmFjdGl2ZShmYWxzZSkKICAgICAg
ICAgLCBkdW1wKGZhbHNlKQorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICAgICAg
LCBqaXRQcm9maWxlKGZhbHNlKQorI2VuZGlmCiAgICAgewogICAgIH0KIAogICAgIGJvb2wgaW50
ZXJhY3RpdmU7CiAgICAgYm9vbCBkdW1wOworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkK
KyAgICBib29sIGppdFByb2ZpbGU7CisjZW5kaWYKICAgICBWZWN0b3I8U2NyaXB0PiBzY3JpcHRz
OwogICAgIFZlY3RvcjxVU3RyaW5nPiBhcmd1bWVudHM7CiB9OwpAQCAtNDY1LDYgKzQ3MSw5IEBA
IHN0YXRpYyBOT19SRVRVUk4gdm9pZCBwcmludFVzYWdlU3RhdGVtZW50KEpTR2xvYmFsRGF0YSog
Z2xvYmFsRGF0YSwgYm9vbCBoZWxwID0KICAgICBmcHJpbnRmKHN0ZGVyciwgIiAgLWYgICAgICAg
ICBTcGVjaWZpZXMgYSBzb3VyY2UgZmlsZSAoZGVwcmVjYXRlZClcbiIpOwogICAgIGZwcmludGYo
c3RkZXJyLCAiICAtaHwtLWhlbHAgIFByaW50cyB0aGlzIGhlbHAgbWVzc2FnZVxuIik7CiAgICAg
ZnByaW50ZihzdGRlcnIsICIgIC1pICAgICAgICAgRW5hYmxlcyBpbnRlcmFjdGl2ZSBtb2RlIChk
ZWZhdWx0IGlmIG5vIGZpbGVzIGFyZSBzcGVjaWZpZWQpXG4iKTsKKyNpZiBFTkFCTEUoSklUX1BS
T0ZJTEVfQUdFTlQpCisgICAgZnByaW50ZihzdGRlcnIsICIgIC1wICAgICAgICAgRW5hYmxlcyBK
SVQgcHJvZmlsZSBhZ2VudFxuIik7CisjZW5kaWYKICNpZiBIQVZFKFNJR05BTF9IKQogICAgIGZw
cmludGYoc3RkZXJyLCAiICAtcyAgICAgICAgIEluc3RhbGxzIHNpZ25hbCBoYW5kbGVycyB0aGF0
IGV4aXQgb24gYSBjcmFzaCAoVW5peCBwbGF0Zm9ybXMgb25seSlcbiIpOwogI2VuZGlmCkBAIC00
OTgsNiArNTA3LDEyIEBAIHN0YXRpYyB2b2lkIHBhcnNlQXJndW1lbnRzKGludCBhcmdjLCBjaGFy
KiogYXJndiwgT3B0aW9ucyYgb3B0aW9ucywgSlNHbG9iYWxEYXRhCiAgICAgICAgICAgICBvcHRp
b25zLmR1bXAgPSB0cnVlOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KKyNpZiBF
TkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgICAgIGlmICghc3RyY21wKGFyZywgIi1wIikp
IHsKKyAgICAgICAgICAgIG9wdGlvbnMuaml0UHJvZmlsZSA9IHRydWU7CisgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGlmICghc3RyY21wKGFyZywgIi1z
IikpIHsKICNpZiBIQVZFKFNJR05BTF9IKQogICAgICAgICAgICAgc2lnbmFsKFNJR0lMTCwgX2V4
aXQpOwpAQCAtNTMxLDYgKzU0Niw5IEBAIGludCBqc2NtYWluKGludCBhcmdjLCBjaGFyKiogYXJn
diwgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhKQogICAgIHBhcnNlQXJndW1lbnRzKGFyZ2MsIGFy
Z3YsIG9wdGlvbnMsIGdsb2JhbERhdGEpOwogCiAgICAgR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QgPSBuZXcgKGdsb2JhbERhdGEpIEdsb2JhbE9iamVjdChvcHRpb25zLmFyZ3VtZW50cyk7Cisj
aWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIGdsb2JhbERhdGEtPmppdFByb2ZpbGVB
Z2VudC5zZXRFbmFibGVkKHRydWUpOworI2VuZGlmCiAgICAgYm9vbCBzdWNjZXNzID0gcnVuV2l0
aFNjcmlwdHMoZ2xvYmFsT2JqZWN0LCBvcHRpb25zLnNjcmlwdHMsIG9wdGlvbnMuZHVtcCk7CiAg
ICAgaWYgKG9wdGlvbnMuaW50ZXJhY3RpdmUgJiYgc3VjY2VzcykKICAgICAgICAgcnVuSW50ZXJh
Y3RpdmUoZ2xvYmFsT2JqZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0V4ZWN1dGFibGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1
dGFibGUuaAppbmRleCA1NDRlNDg3Li5jMzU2OWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXhlY3V0YWJsZS5oCkBAIC0xNzcsNiArMTc3LDEwIEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICBib29sIG5lZWRzQWN0aXZhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faGFzQ2Fw
dHVyZWRWYXJpYWJsZXMgfHwgbV9mZWF0dXJlcyAmIChFdmFsRmVhdHVyZSB8IFdpdGhGZWF0dXJl
IHwgQ2F0Y2hGZWF0dXJlKTsgfQogICAgICAgICBib29sIGlzU3RyaWN0TW9kZSgpIGNvbnN0IHsg
cmV0dXJuIG1fZmVhdHVyZXMgJiBTdHJpY3RNb2RlRmVhdHVyZTsgfQogCisjaWYgRU5BQkxFKEpJ
VF9QUk9GSUxFX0FHRU5UKQorICAgICAgICB2aXJ0dWFsIEpJVFByb2ZpbGVBZ2VudDo6SklUQ29k
ZVR5cGUgaml0Q29kZVR5cGUoKSA9IDA7CisjZW5kaWYKKwogICAgIHByb3RlY3RlZDoKICAgICAg
ICAgdm9pZCByZWNvcmRQYXJzZShDb2RlRmVhdHVyZXMgZmVhdHVyZXMsIGJvb2wgaGFzQ2FwdHVy
ZWRWYXJpYWJsZXMsIGludCBmaXJzdExpbmUsIGludCBsYXN0TGluZSkKICAgICAgICAgewpAQCAt
MjIyLDYgKzIyNiwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgICAgIEpJVFByb2ZpbGVBZ2VudDo6SklU
Q29kZVR5cGUgaml0Q29kZVR5cGUoKSB7IHJldHVybiBKSVRQcm9maWxlQWdlbnQ6OkV2YWw7fQor
I2VuZGlmCisKICAgICBwcml2YXRlOgogICAgICAgICBFdmFsRXhlY3V0YWJsZShFeGVjU3RhdGUq
LCBjb25zdCBTb3VyY2VDb2RlJiwgYm9vbCk7CiAKQEAgLTI2Myw2ICsyNzEsOSBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdF
TlQpCisgICAgICAgIEpJVFByb2ZpbGVBZ2VudDo6SklUQ29kZVR5cGUgaml0Q29kZVR5cGUoKSB7
IHJldHVybiBKSVRQcm9maWxlQWdlbnQ6OlByb2dyYW07IH0KKyNlbmRpZgogICAgIHByaXZhdGU6
CiAgICAgICAgIFByb2dyYW1FeGVjdXRhYmxlKEV4ZWNTdGF0ZSosIGNvbnN0IFNvdXJjZUNvZGUm
KTsKIApAQCAtMzg0LDYgKzM5NSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgcmV0
dXJuIG1faml0Q29kZUZvckNvbnN0cnVjdFdpdGhBcml0eUNoZWNrOwogICAgICAgICB9CiAjZW5k
aWYKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgICAgIEpJVFByb2ZpbGVBZ2Vu
dDo6SklUQ29kZVR5cGUgaml0Q29kZVR5cGUoKSB7IHJldHVybiBKSVRQcm9maWxlQWdlbnQ6OkZ1
bmN0aW9uOyB9CisjZW5kaWYKICAgICB9OwogCiAgICAgaW5saW5lIEZ1bmN0aW9uRXhlY3V0YWJs
ZSogSlNGdW5jdGlvbjo6anNFeGVjdXRhYmxlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmgKaW5kZXggN2I2OTA1NS4uZDhjZDE2ZiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmgKQEAgLTMzLDYgKzMz
LDcgQEAKICNpbmNsdWRlICJIZWFwLmgiCiAjaW5jbHVkZSAiRGF0ZUluc3RhbmNlQ2FjaGUuaCIK
ICNpbmNsdWRlICJFeGVjdXRhYmxlQWxsb2NhdG9yLmgiCisjaW5jbHVkZSAiSklUUHJvZmlsZUFn
ZW50LmgiCiAjaW5jbHVkZSAiSklUU3R1YnMuaCIKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5j
bHVkZSAiTnVtZXJpY1N0cmluZ3MuaCIKQEAgLTE5Myw2ICsxOTQsOSBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgTGV4ZXIqIGxleGVyOwogICAgICAgICBQYXJzZXIqIHBhcnNlcjsKICAgICAg
ICAgSW50ZXJwcmV0ZXIqIGludGVycHJldGVyOworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VO
VCkKKyAgICAgICAgSklUUHJvZmlsZUFnZW50IGppdFByb2ZpbGVBZ2VudDsKKyNlbmRpZgogI2lm
IEVOQUJMRShKSVQpCiAgICAgICAgIE93blB0cjxKSVRUaHVua3M+IGppdFN0dWJzOwogICAgICAg
ICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgZ2V0Q1RJU3R1YihUaHVua0dlbmVyYXRvciBnZW5lcmF0
b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFn
ZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0YTMzNWQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFnZW50LmNwcApA
QCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBIb2xnZXIgSGFucyBQ
ZXRlciBGcmV5dGhlcgorICogQ29weXJpZ2h0IChDKSAyMDEwIFVuaXZlcnNpdHkgb2YgU3plZ2Vk
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxF
KEpJVF9QUk9GSUxFX0FHRU5UKQorCisjaW5jbHVkZSAiSklUUHJvZmlsZUFnZW50LmgiCisKKyNp
bmNsdWRlICJDb2RlQmxvY2suaCIKKyNpbmNsdWRlICJKU0dsb2JhbERhdGEuaCIKKyNpbmNsdWRl
ICJTb3VyY2VQcm92aWRlci5oIgorI2luY2x1ZGUgIlVTdHJpbmcuaCIKKyNpbmNsdWRlICJVU3Ry
aW5nQ29uY2F0ZW5hdGUuaCIKKyNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgorCituYW1lc3Bh
Y2UgSlNDIHsKKworI2lmIEVOQUJMRShKSVRfT1BST0ZJTEVfQUdFTlQpCisKK3ZvaWQgSklUUHJv
ZmlsZUFnZW50Ojppbml0QWdlbnQoKQoreworICAgIG1fdmlydHVhbE1lbW9yeVNlZ21lbnRzLmNs
ZWFyKCk7CisgICAgbV9wcm9maWxlQWdlbnQgPSBvcF9vcGVuX2FnZW50KCk7CisgICAgaWYgKG1f
dHJhbXBvbGluZXMuY29kZSkKKyAgICAgICAgcmVjb3JkSklUQ29kZShtX3RyYW1wb2xpbmVzLmNv
ZGUsIG1fdHJhbXBvbGluZXMuc2l6ZSwgbV90cmFtcG9saW5lcy5jb2RlQmxvY2ssIFRyYW1wb2xp
bmVzKTsKK30KKwordm9pZCBKSVRQcm9maWxlQWdlbnQ6OmRlaW5pdEFnZW50KCkKK3sKKyAgICB1
bnNpZ25lZCBpbnQgaSwgbiA9IG1fdmlydHVhbE1lbW9yeVNlZ21lbnRzLnNpemUoKTsKKyAgICBm
b3IgKGkgPSAwOyBpICE9IG47ICsraSkKKyAgICAgICAgb3BfdW5sb2FkX25hdGl2ZV9jb2RlKG1f
cHJvZmlsZUFnZW50LCByZWludGVycHJldF9jYXN0PHVpbnQ2NF90PihtX3ZpcnR1YWxNZW1vcnlT
ZWdtZW50c1tpXS5jb2RlKSk7CisgICAgbV92aXJ0dWFsTWVtb3J5U2VnbWVudHMuY2xlYXIoKTsK
KyAgICBvcF9jbG9zZV9hZ2VudChtX3Byb2ZpbGVBZ2VudCk7Cit9CisKK3N0YXRpYyBjb25zdCBj
aGFyKiBzeW1ib2xOYW1lVGFibGVbXSA9IHsKKyAgICAiPGppdC1wdXQtYnktaWQtdHJhbnNpdGlv
bj4iLAorICAgICI8aml0LWdldC1hcnJheS1sZW5ndGg+IiwKKyAgICAiPGppdC1nZXQtYnktaWQt
c2VsZi1saXN0PiIsCisgICAgIjxqaXQtZ2V0LWJ5LWlkLXByb3RvPiIsCisgICAgIjxqaXQtZ2V0
LWJ5LWlkLXByb3RvLWxpc3Q+IiwKKyAgICAiPGppdC1nZXQtYnktaWQtY2hhaW4+IiwKKyAgICAi
PGppdC1nZXQtYnktaWQtY2hhaW4tbGlzdD4iLAorICAgICI8aml0LXRyYW1wb2xpbmVzPiIsCisg
ICAgIjxqaXQtcHJvZz4iLAorICAgICI8aml0LWZ1bmM+IiwKKyAgICAiPGppdC1mdW5jLXJlcGFy
c2VkPiIsCisgICAgIjxqaXQtZXZhbD4iLAorICAgICI8aml0LWV2YWwtcmVwYXJzZWQ+IiwKKyAg
ICAiPGppdC15YXJyPiIKK307CisKK0NPTVBJTEVfQVNTRVJUKChzaXplb2Yoc3ltYm9sTmFtZVRh
YmxlKSAvIHNpemVvZihzeW1ib2xOYW1lVGFibGVbMF0pKSA9PSBKSVRQcm9maWxlQWdlbnQ6Ok51
bWJlck9mSklUQ29kZVR5cGVzLCBTeW1ib2xOYW1lVGFibGVfYW5kX0pJVENvZGVUeXBlX211c3Rf
YmVfc2FtZV9zaXplKTsKKworc3RhdGljIGNvbnN0IFVTdHJpbmcgc3ltYm9sTmFtZUZyb21UeXBl
KEpJVFByb2ZpbGVBZ2VudDo6SklUQ29kZVR5cGUgdHlwZSwgQ29kZUJsb2NrKiBjb2RlQmxvY2sp
Cit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBKSVRQcm9maWxlQWdlbnQ6OlByb2dy
YW06IHsKKyAgICAgICAgU291cmNlUHJvdmlkZXIqIHNvdXJjZSA9IGNvZGVCbG9jay0+c291cmNl
KCk7CisgICAgICAgIGlmIChzb3VyY2UgJiYgIXNvdXJjZS0+dXJsKCkuaXNFbXB0eSgpKQorICAg
ICAgICAgICAgcmV0dXJuIG1ha2VVU3RyaW5nKHN5bWJvbE5hbWVUYWJsZVt0eXBlXSwgIlsiLCBz
b3VyY2UtPnVybCgpLCAiOiIsIFVTdHJpbmc6Om51bWJlcihjb2RlQmxvY2stPm93bmVyRXhlY3V0
YWJsZSgpLT5saW5lTm8oKSksICItIiwgVVN0cmluZzo6bnVtYmVyKGNvZGVCbG9jay0+b3duZXJF
eGVjdXRhYmxlKCktPmxhc3RMaW5lKCkpLCAiXSIpOworICAgICAgICBicmVhazsKKyAgICB9Cisg
ICAgY2FzZSBKSVRQcm9maWxlQWdlbnQ6OkZ1bmN0aW9uOiB7CisgICAgICAgIEZ1bmN0aW9uRXhl
Y3V0YWJsZSogZXhlY3V0YWJsZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxl
Kj4oY29kZUJsb2NrLT5vd25lckV4ZWN1dGFibGUoKSk7CisgICAgICAgIGNvbnN0IElkZW50aWZp
ZXImIG5hbWUgPSBleGVjdXRhYmxlLT5uYW1lKCk7CisgICAgICAgIFVTdHJpbmcgaml0U3ltYm9s
TmFtZShzeW1ib2xOYW1lVGFibGVbdHlwZV0pOworICAgICAgICBpZiAoIW5hbWUuaXNFbXB0eSgp
ICYmICFuYW1lLmlzTnVsbCgpKQorICAgICAgICAgICAgaml0U3ltYm9sTmFtZSA9IG1ha2VVU3Ry
aW5nKGppdFN5bWJvbE5hbWUsICI6IiwgbmFtZS51c3RyaW5nKCkpOworICAgICAgICBTb3VyY2VQ
cm92aWRlciogc291cmNlID0gY29kZUJsb2NrLT5zb3VyY2UoKTsKKyAgICAgICAgcmV0dXJuIG1h
a2VVU3RyaW5nKGppdFN5bWJvbE5hbWUsICJbIiwgc291cmNlLT51cmwoKSwgIjoiLCBVU3RyaW5n
OjpudW1iZXIoZXhlY3V0YWJsZS0+bGluZU5vKCkpLCAiLSIsIFVTdHJpbmc6Om51bWJlcihleGVj
dXRhYmxlLT5sYXN0TGluZSgpKSwgIl0iKTsKKyAgICB9CisgICAgZGVmYXVsdDoKKyAgICAgICAg
YnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIHN5bWJvbE5hbWVUYWJsZVt0eXBlXTsKK30KKwor
dm9pZCBKSVRQcm9maWxlQWdlbnQ6OnJlY29yZEpJVENvZGVJbXBsKHZvaWQqIGNvZGUsIHVuc2ln
bmVkIGludCBzaXplLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSklUUHJvZmlsZUFnZW50OjpKSVRD
b2RlVHlwZSB0eXBlKQoreworICAgIC8qIENoZWNrIGZvciBvYnNvbGV0ZSBKSVQgY29kZXMgKi8K
KyAgICB1bnNpZ25lZCBpbnQgaSwgbiA9IG1fdmlydHVhbE1lbW9yeVNlZ21lbnRzLnNpemUoKTsK
KyAgICBjb25zdCBjaGFyKiB2bWFCZWdpbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGNvZGUp
OworICAgIGNvbnN0IGNoYXIqIHZtYUVuZCA9IHZtYUJlZ2luICsgc2l6ZTsKKyAgICBmb3IgKGkg
PSAwOyBpICE9IG47ICsraSkgeworICAgICAgICBjb25zdCBjaGFyKiByZWdpc3RlcmVkVm1hQmVn
aW4gPSByZWludGVycHJldF9jYXN0PGNoYXIqPihtX3ZpcnR1YWxNZW1vcnlTZWdtZW50c1tpXS5j
b2RlKTsKKyAgICAgICAgY29uc3QgY2hhciogcmVnaXN0ZXJlZFZtYUVuZCA9IHZtYUJlZ2luICsg
bV92aXJ0dWFsTWVtb3J5U2VnbWVudHNbaV0uc2l6ZTsKKyAgICAgICAgaWYgKChyZWdpc3RlcmVk
Vm1hQmVnaW4gPD0gdm1hRW5kICYmIHZtYUVuZCA8PSByZWdpc3RlcmVkVm1hRW5kKQorICAgICAg
ICAgICAgfHwgKHJlZ2lzdGVyZWRWbWFCZWdpbiA8PSB2bWFCZWdpbiAmJiB2bWFCZWdpbiA8PSBy
ZWdpc3RlcmVkVm1hRW5kKSkgeworICAgICAgICAgICAgb3BfdW5sb2FkX25hdGl2ZV9jb2RlKG1f
cHJvZmlsZUFnZW50LCByZWludGVycHJldF9jYXN0PHVpbnQ2NF90PihtX3ZpcnR1YWxNZW1vcnlT
ZWdtZW50c1tpXS5jb2RlKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBVU3RyaW5nIHN5bWJv
bE5hbWUgPSBzeW1ib2xOYW1lRnJvbVR5cGUodHlwZSwgY29kZUJsb2NrKTsKKyAgICBvcF93cml0
ZV9uYXRpdmVfY29kZShtX3Byb2ZpbGVBZ2VudCwgIXN5bWJvbE5hbWUuaXNFbXB0eSgpID8gc3lt
Ym9sTmFtZS51dGY4KCkuZGF0YSgpIDogIjxqaXQ+IiwgcmVpbnRlcnByZXRfY2FzdDx1aW50NjRf
dD4oY29kZSksIGNvZGUsIHNpemUpOworfQorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6YW5ub3Rh
dGVKSVRDb2RlSW1wbCh2b2lkKiBjb2RlLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgY29uc3QgVVN0
cmluZyYgdXJsKQoreworICAgIHVpbnRwdHJfdCB2bWEgPSByZWludGVycHJldF9jYXN0PHVpbnRw
dHJfdD4oY29kZSk7CisgICAgdWludHB0cl90IHByZXZPZmZzZXQgPSAwOworICAgIGlmICghY29k
ZUJsb2NrLT5oYXNMaW5lSW5mbygpKQorICAgICAgICByZXR1cm47CisgICAgVmVjdG9yPExpbmVJ
bmZvPiYgbGluZUluZm8gPSBjb2RlQmxvY2stPmxpbmVJbmZvKCk7CisgICAgaW50IGVudHJpZXMg
PSBsaW5lSW5mby5zaXplKCk7CisgICAgc3RydWN0IGRlYnVnX2xpbmVfaW5mbyogZGVidWdMaW5l
SW5mbyA9IHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IGRlYnVnX2xpbmVfaW5mbyo+KFdURjo6ZmFz
dE1hbGxvYyhlbnRyaWVzICogc2l6ZW9mKHN0cnVjdCBkZWJ1Z19saW5lX2luZm8pKSk7CisgICAg
Q1N0cmluZyBuYW1lID0gdXJsLmFzY2lpKCk7CisKKyAgICBzdHJ1Y3QgZGVidWdfbGluZV9pbmZv
KiBkZWJ1Z0xpbmVJbmZvUHRyID0gZGVidWdMaW5lSW5mbzsKKyAgICBmb3IgKGludCBpID0gMDsg
aSA8IGVudHJpZXM7ICsraSkgeworICAgICAgICBpZiAocHJldk9mZnNldCAhPSBsaW5lSW5mb1tp
XS5pbnN0cnVjdGlvbk9mZnNldCkgeworICAgICAgICAgICAgZGVidWdMaW5lSW5mb1B0ci0+dm1h
ID0gdm1hICsgbGluZUluZm9baV0uaW5zdHJ1Y3Rpb25PZmZzZXQ7CisgICAgICAgICAgICBkZWJ1
Z0xpbmVJbmZvUHRyLT5saW5lbm8gPSBsaW5lSW5mb1tpXS5saW5lTnVtYmVyOworICAgICAgICAg
ICAgZGVidWdMaW5lSW5mb1B0ci0+ZmlsZW5hbWUgPSBuYW1lLmRhdGEoKTsKKyAgICAgICAgICAg
IHByZXZPZmZzZXQgPSBsaW5lSW5mb1tpXS5pbnN0cnVjdGlvbk9mZnNldDsKKyAgICAgICAgICAg
ICsrZGVidWdMaW5lSW5mb1B0cjsKKyAgICAgICAgfQorICAgIH0KKworICAgIG9wX3dyaXRlX2Rl
YnVnX2xpbmVfaW5mbyhtX3Byb2ZpbGVBZ2VudCwgY29kZSwgZGVidWdMaW5lSW5mb1B0ciAtIGRl
YnVnTGluZUluZm8sIGRlYnVnTGluZUluZm8pOworICAgIFdURjo6ZmFzdEZyZWUoZGVidWdMaW5l
SW5mbyk7Cit9CisKKyNlbHNlIC8vIER1bW15IHByb2ZpbGUgYWdlbnQKKwordm9pZCBKSVRQcm9m
aWxlQWdlbnQ6OmluaXRBZ2VudCgpCit7Cit9CisKK3ZvaWQgSklUUHJvZmlsZUFnZW50OjpkZWlu
aXRBZ2VudCgpCit7Cit9CisKK3ZvaWQgSklUUHJvZmlsZUFnZW50OjpyZWdpc3RlckpJVENvZGVJ
bXBsKHZvaWQqLCB1bnNpZ25lZCBpbnQsIEpJVFByb2ZpbGVBZ2VudDo6SklUQ29kZVR5cGUpCit7
Cit9CisKK3ZvaWQgSklUUHJvZmlsZUFnZW50Ojphbm5vdGF0ZUpJVENvZGVJbXBsKHZvaWQqLCBD
b2RlQmxvY2sqLCBjb25zdCBVU3RyaW5nJikKK3sKK30KKworI2VuZGlmIC8vIEVOQUJMRShKSVRf
T1BST0ZJTEVfQUdFTlQpCisKK30KKworI2VuZGlmIC8vIEVOQUJMRShKSVRfUFJPRklMRV9BR0VO
VCkKKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pJVFByb2ZpbGVB
Z2VudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pJVFByb2ZpbGVBZ2VudC5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhNmMzYzMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFnZW50LmgKQEAgLTAs
MCArMSwxNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgSG9sZ2VyIEhhbnMgUGV0ZXIg
RnJleXRoZXIKKyAqIENvcHlyaWdodCAoQykgMjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAorICog
Q29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSklUUHJvZmlsZUFnZW50X2gKKyNkZWZpbmUgSklU
UHJvZmlsZUFnZW50X2gKKworI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorCisjaWYgIUVOQUJM
RShKSVRfUFJPRklMRV9BR0VOVCkKKyNkZWZpbmUgUkVDT1JEX0pJVF9UUkFNUE9MSU5FUyhnbG9i
YWxEYXRhLCB2bWEsIGNvZGVCbG9jaywgc2l6ZSkgKCh2b2lkKTApCisjZGVmaW5lIFJFQ09SRF9K
SVRfQ09ERShnbG9iYWxEYXRhLCB2bWEsIHNpemUsIHR5cGUpICgodm9pZCkwKQorI2RlZmluZSBS
RUNPUkRfSklUX0NPREVfQ09ERUJMT0NLKGdsb2JhbERhdGEsIHZtYSwgc2l6ZSwgY29kZUJsb2Nr
KSAoKHZvaWQpMCkKKyNkZWZpbmUgQU5OT1RBVEVfSklUX0NPREUoZ2xvYmFsRGF0YSwgdm1hLCBj
b2RlQmxvY2ssIHVybCkgKCh2b2lkKTApCisjZWxzZQorCisjaW5jbHVkZSAiVVN0cmluZy5oIgor
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpZiBFTkFCTEUoSklUX09QUk9GSUxFX0FHRU5UKQor
I2luY2x1ZGUgPG9wYWdlbnQuaD4KKyNlbmRpZgorCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3Mg
Q29kZUJsb2NrOworY2xhc3MgVVN0cmluZzsKK2NsYXNzIEpTR2xvYmFsRGF0YTsKKworc3RydWN0
IExpbmVJbmZvOworCisjZGVmaW5lIFJFQ09SRF9KSVRfVFJBTVBPTElORVMoZ2xvYmFsRGF0YSwg
dm1hLCBjb2RlQmxvY2ssIHNpemUpICgoZ2xvYmFsRGF0YSktPmppdFByb2ZpbGVBZ2VudC5yZWNv
cmRKSVRUcmFtcG9saW5lcyh2bWEsIHNpemUsIGNvZGVCbG9jaykpCisjZGVmaW5lIFJFQ09SRF9K
SVRfQ09ERShnbG9iYWxEYXRhLCB2bWEsIHNpemUsIHR5cGUpICgoZ2xvYmFsRGF0YSktPmppdFBy
b2ZpbGVBZ2VudC5yZWNvcmRKSVRDb2RlKHZtYSwgc2l6ZSwgMCwgdHlwZSkpCisjZGVmaW5lIFJF
Q09SRF9KSVRfQ09ERV9DT0RFQkxPQ0soZ2xvYmFsRGF0YSwgdm1hLCBzaXplLCBjb2RlQmxvY2sp
ICgoZ2xvYmFsRGF0YSktPmppdFByb2ZpbGVBZ2VudC5yZWNvcmRKSVRDb2RlKHZtYSwgc2l6ZSwg
Y29kZUJsb2NrLCBjb2RlQmxvY2stPm1fb3duZXJFeGVjdXRhYmxlLT5qaXRDb2RlVHlwZSgpKSkK
KyNkZWZpbmUgQU5OT1RBVEVfSklUX0NPREUoZ2xvYmFsRGF0YSwgdm1hLCBjb2RlQmxvY2ssIHVy
bCkgKChnbG9iYWxEYXRhKS0+aml0UHJvZmlsZUFnZW50LmFubm90YXRlSklUQ29kZSh2bWEsIGNv
ZGVCbG9jaywgdXJsKSkKKworY2xhc3MgSklUUHJvZmlsZUFnZW50IHsKKyAgICBzdHJ1Y3QgVmly
dHVhbE1lbW9yeVNlZ21lbnQgeworICAgICAgICBWaXJ0dWFsTWVtb3J5U2VnbWVudCgpCisgICAg
ICAgICAgOiBjb2RlKDApCisgICAgICAgICAgLCBzaXplKDApCisgICAgICAgIHsKKyAgICAgICAg
fQorCisgICAgICAgIHZvaWQqIGNvZGU7CisgICAgICAgIHVuc2lnbmVkIGludCBzaXplOworICAg
ICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jazsKKyAgICB9OworICAgIHR5cGVkZWYgVmVjdG9yPFZp
cnR1YWxNZW1vcnlTZWdtZW50PiBWaXJ0dWFsTWVtb3J5U2VnbWVudFZlY3RvcjsKKworcHVibGlj
OgorICAgIGVudW0gSklUQ29kZVR5cGUgeworICAgICAgICBQdXRCeUlEVHJhbnNpdGlvbiwKKyAg
ICAgICAgR2V0QXJyYXlMZW5ndGgsCisgICAgICAgIEdldEJ5SURTZWxmTGlzdCwKKyAgICAgICAg
R2V0QnlJRFByb3RvLAorICAgICAgICBHZXRCeUlEUHJvdG9MaXN0LAorICAgICAgICBHZXRCeUlE
Q2hhaW4sCisgICAgICAgIEdldEJ5SURDaGFpbkxpc3QsCisgICAgICAgIFRyYW1wb2xpbmVzLAor
ICAgICAgICBQcm9ncmFtLAorICAgICAgICBGdW5jdGlvbiwKKyAgICAgICAgRnVuY3Rpb25SZXBh
cnNlZCwKKyAgICAgICAgRXZhbCwKKyAgICAgICAgRXZhbFJlcGFyc2VkLAorICAgICAgICBZYXJy
LAorICAgICAgICBOdW1iZXJPZkpJVENvZGVUeXBlcworICAgIH07CisKKyAgICBKSVRQcm9maWxl
QWdlbnQoYm9vbCBzdGF0dXMgPSBmYWxzZSkKKyAgICAgIDogbV9lbmFibGVBZ2VudChzdGF0dXMp
CisgICAgeworICAgICAgICBpZiAoaXNFbmFibGVkKCkpCisgICAgICAgICAgICBpbml0QWdlbnQo
KTsKKyAgICB9CisKKyAgICB+SklUUHJvZmlsZUFnZW50KCkKKyAgICB7CisgICAgICAgIGlmIChp
c0VuYWJsZWQoKSkKKyAgICAgICAgICAgIGRlaW5pdEFnZW50KCk7CisgICAgfQorCisgICAgdm9p
ZCByZWNvcmRKSVRDb2RlKHZvaWQqIGNvZGUsIHVuc2lnbmVkIGludCBzaXplLCBDb2RlQmxvY2sq
IGNvZGVCbG9jaywgSklUQ29kZVR5cGUgdHlwZSkKKyAgICB7CisgICAgICAgIGlmIChpc0VuYWJs
ZWQoKSAmJiBjb2RlKQorICAgICAgICAgICAgcmVjb3JkSklUQ29kZUltcGwoY29kZSwgc2l6ZSwg
Y29kZUJsb2NrLCB0eXBlKTsKKyAgICB9CisKKyAgICB2b2lkIGFubm90YXRlSklUQ29kZSh2b2lk
KiBjb2RlLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgY29uc3QgVVN0cmluZyYgdXJsKQorICAgIHsK
KyAgICAgICAgaWYgKGlzRW5hYmxlZCgpICYmIGNvZGUgJiYgY29kZUJsb2NrICYmICF1cmwuaXNF
bXB0eSgpKQorICAgICAgICAgICAgYW5ub3RhdGVKSVRDb2RlSW1wbChjb2RlLCBjb2RlQmxvY2ss
IGNvbnN0X2Nhc3Q8VVN0cmluZyY+KHVybCkpOworICAgIH0KKworICAgIHZvaWQgcmVjb3JkSklU
VHJhbXBvbGluZXModm9pZCogY29kZSwgdW5zaWduZWQgaW50IHNpemUsIENvZGVCbG9jayogY29k
ZUJsb2NrKQorICAgIHsKKyAgICAgICAgbV90cmFtcG9saW5lcy5jb2RlID0gY29kZTsKKyAgICAg
ICAgbV90cmFtcG9saW5lcy5zaXplID0gc2l6ZTsKKyAgICAgICAgbV90cmFtcG9saW5lcy5jb2Rl
QmxvY2sgPSBjb2RlQmxvY2s7CisgICAgICAgIGlmIChpc0VuYWJsZWQoKSkKKyAgICAgICAgICAg
IHJlY29yZEpJVENvZGUobV90cmFtcG9saW5lcy5jb2RlLCBtX3RyYW1wb2xpbmVzLnNpemUsIG1f
dHJhbXBvbGluZXMuY29kZUJsb2NrLCBUcmFtcG9saW5lcyk7CisgICAgfQorCisgICAgdm9pZCBz
ZXRFbmFibGVkKGJvb2wgc3RhdHVzKQorICAgIHsKKyAgICAgICAgaWYgKG1fZW5hYmxlQWdlbnQg
PT0gc3RhdHVzKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBtX2VuYWJsZUFnZW50ID0g
c3RhdHVzOworICAgICAgICBpZiAoaXNFbmFibGVkKCkpCisgICAgICAgICAgICBpbml0QWdlbnQo
KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZGVpbml0QWdlbnQoKTsKKyAgICB9CisKKyAg
ICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNFbmFibGVkKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJl
dHVybiBtX2VuYWJsZUFnZW50OworICAgIH0KKworcHJpdmF0ZToKKyAgICB2b2lkIGluaXRBZ2Vu
dCgpOworICAgIHZvaWQgZGVpbml0QWdlbnQoKTsKKyAgICB2b2lkIHJlY29yZEpJVENvZGVJbXBs
KHZvaWQqLCB1bnNpZ25lZCBpbnQsIENvZGVCbG9jayosIEpJVENvZGVUeXBlKTsKKyAgICB2b2lk
IGFubm90YXRlSklUQ29kZUltcGwodm9pZCosIENvZGVCbG9jayosIGNvbnN0IFVTdHJpbmcmKTsK
KworI2lmIEVOQUJMRShKSVRfT1BST0ZJTEVfQUdFTlQpCisgICAgb3BfYWdlbnRfdCBtX3Byb2Zp
bGVBZ2VudDsKKyNlbmRpZgorICAgIFZpcnR1YWxNZW1vcnlTZWdtZW50VmVjdG9yIG1fdmlydHVh
bE1lbW9yeVNlZ21lbnRzOworICAgIFZpcnR1YWxNZW1vcnlTZWdtZW50IG1fdHJhbXBvbGluZXM7
CisgICAgYm9vbCBtX2VuYWJsZUFnZW50OworfTsKKworfQorCisjZW5kaWYgLy8gRU5BQkxFKEpJ
VF9QUk9GSUxFX0FHRU5UKQorCisjZW5kaWYgLy8gSklUUHJvZmlsZUFnZW50X2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRleCAwN2Y1N2YwLi5jYTRhZmYzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC0xMDQyLDYgKzEwNDIsMTEgQEAKICNpZiBFTkFC
TEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpCiAjZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIgMQog
I2VuZGlmCisKKyNpZiBFTkFCTEUoSklUX09QUk9GSUxFX0FHRU5UKSAmJiAhZGVmaW5lZChFTkFC
TEVfSklUX1BST0ZJTEVfQUdFTlQpCisjZGVmaW5lIEVOQUJMRV9KSVRfUFJPRklMRV9BR0VOVCAx
CisjZW5kaWYKKwogLyogU2V0dGluZyB0aGlzIGZsYWcgcHJldmVudHMgdGhlIGFzc2VtYmxlciBm
cm9tIHVzaW5nIFJXWCBtZW1vcnk7IHRoaXMgbWF5IGltcHJvdmUKICAgIHNlY3VyaXR5IGJ1dCBj
dXJyZWN0bHkgY29tZXMgYXQgYSBzaWduaWZpY2FudCBwZXJmb3JtYW5jZSBjb3N0LiAqLwogI2lm
IFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lh
cnJKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJVC5jcHAKaW5kZXgg
Y2RiNzEzNi4uOGZkMjkzNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIv
WWFyckpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJVC5jcHAK
QEAgLTIyMzgsOCArMjIzOCwxMSBAQCBwdWJsaWM6CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBtX2V4cHJlc3Npb25TdGF0ZS5tX2JhY2t0cmFja1JlY29yZHMuc2l6ZSgpOyArK2kp
CiAgICAgICAgICAgICBwYXRjaEJ1ZmZlci5wYXRjaChtX2V4cHJlc3Npb25TdGF0ZS5tX2JhY2t0
cmFja1JlY29yZHNbaV0uZGF0YUxhYmVsLCBwYXRjaEJ1ZmZlci5sb2NhdGlvbk9mKG1fZXhwcmVz
c2lvblN0YXRlLm1fYmFja3RyYWNrUmVjb3Jkc1tpXS5iYWNrdHJhY2tMb2NhdGlvbikpOwogCi0g
ICAgICAgIGppdE9iamVjdC5zZXQocGF0Y2hCdWZmZXIuZmluYWxpemVDb2RlKCkpOworICAgICAg
ICBDb2RlUmVmIGZpbmFsQ29kZSA9IHBhdGNoQnVmZmVyLmZpbmFsaXplQ29kZSgpOworICAgICAg
ICBqaXRPYmplY3Quc2V0KGZpbmFsQ29kZSk7CiAgICAgICAgIGppdE9iamVjdC5zZXRGYWxsQmFj
ayhtX3Nob3VsZEZhbGxCYWNrKTsKKworICAgICAgICBSRUNPUkRfSklUX0NPREUoZ2xvYmFsRGF0
YSwgZmluYWxDb2RlLm1fY29kZS5leGVjdXRhYmxlQWRkcmVzcygpLCBmaW5hbENvZGUubV9zaXpl
LCBKSVRQcm9maWxlQWdlbnQ6OllhcnIpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBh
L2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCAxOGY1MmE4Li45ZTA2YzRjIDEwMDY0
NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC03MzUsNiArNzM1LDM4
IEBAIGVsc2UKIGZpCiBBQ19NU0dfUkVTVUxUKFskZW5hYmxlX2ppdF0pCiAKKyMgQnVpbGQgSklU
IHdpdGggT1Byb2ZpbGUgYWdlbnQgc3VwcG9ydAorT1BBR0VOVF9MSUJTPQorT1BBR0VOVF9MREZM
QUdTPQorCitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIE9Qcm9maWxlIEpJVCBh
Z2VudCBzdXBwb3J0Ll0pCitBQ19BUkdfRU5BQkxFKFtvcGFnZW50XSwKKyAgICAgICAgICAgICAg
QUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLW9wYWdlbnRdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBbRW5hYmxlIE9Qcm9maWxlIEpJVCBhZ2VudCBzdXBwb3J0IGRlZmF1bHQ9bm9dKSwK
KyAgICAgICAgICAgICAgW10sW2VuYWJsZV9vcGFnZW50PW5vXSkKKworQUNfQVJHX1dJVEgoW29w
YWdlbnQtbGliZGlyXSwKKyAgICAgICAgICAgIFtBU19IRUxQX1NUUklORygtLXdpdGgtb3BhZ2Vu
dC1saWJkaXI9bG9jYXRpb24gb2Ygb3BhZ2VudCBsaWJyYXJ5IFtbZGVmYXVsdD0vdXNyL2xpYi9v
cHJvZmlsZV1dKV0sCisgICAgICAgICAgICBbT1BBR0VOVF9MREZMQUdTPS1MIiR7d2l0aHZhbH0i
XSwKKyAgICAgICAgICAgIFtPUEFHRU5UX0xERkxBR1M9LUwvdXNyL2xpYi9vcHJvZmlsZV0pCitB
Q19TVUJTVChbT1BBR0VOVF9MREZMQUdTXSkKKworaWYgdGVzdCAiJGVuYWJsZV9vcGFnZW50IiA9
ICJ5ZXMiOyB0aGVuCisgIExERkxBR1M9IiRMREZMQUdTICRPUEFHRU5UX0xERkxBR1MiOworICBB
Q19DSEVDS19MSUIoW29wYWdlbnRdLCBbb3BfbWFqb3JfdmVyc2lvbl0sCisgICAgW0FDX0NIRUNL
X0hFQURFUihbb3BhZ2VudC5oXSwKKyAgICAgIG9wYWdlbnRfb2s9eWVzLAorICAgICAgb3BhZ2Vu
dF9vaz1ubyldLAorICAgIEFDX01TR19FUlJPUihbT1Byb2ZpbGUgb3BhZ2VudCBsaWJyYXJ5IG5v
dCBmb3VuZF0pLCAtbGJmZCkKKworICBpZiB0ZXN0ICIkb3BhZ2VudF9vayIgPSAieWVzIjsgdGhl
bgorICAgIEFDX0RFRklORShbRU5BQkxFX0pJVF9PUFJPRklMRV9BR0VOVF0sIFsxXSwgW0RlZmlu
ZSB0byBlbmFibGUgT1Byb2ZpbGUgSklUIGFnZW50IHN1cHBvcnRdKQorICAgIE9QQUdFTlRfTElC
Uz0iLWxvcGFnZW50IgorICBmaQorZmkKKworQUNfU1VCU1QoW09QQUdFTlRfTElCU10pCisKICMg
T3Bjb2RlIHN0YXRzCiBBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIG9wY29kZSBz
dGF0c10pCiBBQ19BUkdfRU5BQkxFKFtvcGNvZGUtc3RhdHNdLApAQCAtMTAzNyw2ICsxMDY5LDcg
QEAgQnVpbGQgY29uZmlndXJhdGlvbjoKICBVbmljb2RlIGJhY2tlbmQgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA6ICR3aXRoX3VuaWNvZGVfYmFja2VuZAogIEZvbnQg
YmFja2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHdp
dGhfZm9udF9iYWNrZW5kCiAgT3B0aW1pemVkIG1lbW9yeSBhbGxvY2F0b3IgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX2Zhc3RfbWFsbG9jCisgT3Byb2ZpbGUgc3VwcG9y
dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX29wYWdl
bnQKIEZlYXR1cmVzOgogIDNEIFRyYW5zZm9ybXMgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDogJGVuYWJsZV8zRF90cmFuc2Zvcm1zCiAgM0QgQ2FudmFzIChXZWJH
TCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlXzNEX2Nh
bnZhcwotLSAKMS43LjMuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81066</attachid>
            <date>2011-02-03 08:37:16 -0800</date>
            <delta_ts>2011-02-03 10:30:54 -0800</delta_ts>
            <desc>jitprofile.diff</desc>
            <filename>jitprofile.diff</filename>
            <type>text/plain</type>
            <size>45903</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSBhYzdmOWZkNWI0M2FjMWZjNGE2M2RjMGRhYjU0NTM0YTg0OWI2ZGJkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhhbkBnbm9tZS5vcmc+CkRhdGU6IFRodSwg
MyBGZWIgMjAxMSAxMzo1MjoxOCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIDIwMTEtMDItMDMgIFhh
biBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KCiAgICAgICAgUHJvdmlkZSBhIE9Qcm9maWxlIEpJVCBhZ2VudCAob3BhZ2VudCkg
Zm9yIHRoZSBjb2RlIGdlbmVyYXRlZCBieSB0aGUgSklUCiAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyNTYxCgogICAgICAgIEFkZCBzdXBwb3J0IGZvciBP
UHJvZmlsZSBKSVQgYW5ub3RhdGlvbnMgdG8gdGhlIEdUSysgcG9ydC4gRW5hYmxlCiAgICAgICAg
d2l0aCAtLWVuYWJsZS1vcGFnZW50LgoKICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBhZGQgT1BB
R0VOVCBmbGFncy4KICAgICAgICAqIGNvbmZpZ3VyZS5hYzogYWRkIC0tZW5hYmxlLW9wYWdlbnQg
Y29uZmlndXJlIGZsYWcuCgpTb3VyY2UvSmF2YVNjcmlwdENvcmU6CgoyMDExLTAyLTAzICBYYW4g
TG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCgogICAgICAgIFByb3ZpZGUgYSBPUHJvZmlsZSBKSVQgYWdlbnQgKG9wYWdlbnQpIGZv
ciB0aGUgY29kZSBnZW5lcmF0ZWQgYnkgdGhlIEpJVAogICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjU2MQoKICAgICAgICBCYXNlZCBvbiB0aGUgd29yayBi
eSBIb2xnZXIgRnJleXRoZXIsIEdhYm9yIExva2kgYW5kIFpvbHRhbiBIZXJjemVnLgoKICAgICAg
ICBBZGQgSklUUHJvZmlsZUFnZW50LCBhIG5ldyBjbGFzcyBpbiB0b29scy8gd2l0aCB0aGUgYmFz
aWMgbWV0aG9kcwogICAgICAgIHRvIGFubm90YXRlIHRoZSBKSVQgY29kZSwgYW5kIGhvb2sgaXQg
dXAgaW4gdGhlIHJlbGV2YW50IHBsYWNlcwogICAgICAgIHRocm91Z2hvdXQgSmF2YVNjcmlwdENv
cmUvLiBJbmNsdWRlZCBpcyBhbiBPUHJvZmlsZSBpbXBsZW1lbnRhdGlvbgogICAgICAgIGZvciBM
aW51eCBzeXN0ZW1zLgoKICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBhZGQgSklUUHJvZmlsZUFn
ZW50IGZpbGVzLgogICAgICAgICogR05VbWFrZWZpbGUuYW06IGRpdHRvLgogICAgICAgICogSmF2
YVNjcmlwdENvcmUuZ3lwaTogZGl0dG8uCiAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5wcmk6IGRp
dHRvLgogICAgICAgICogSmF2YVNjcmlwdENvcmUucHJvOiBkaXR0by4KICAgICAgICAqIGFzc2Vt
Ymxlci9MaW5rQnVmZmVyLmg6CiAgICAgICAgKEpTQzo6TGlua0J1ZmZlcjo6c2l6ZSk6IG1ldGhv
ZCB0byByZXR1cm4gdGhlIHNpemUgb2YgdGhlIGJ1ZmZlciwKICAgICAgICBuZWVkZWQgZm9yIHRo
ZSBjb2RlIGFubm90YXRpb24gYnkgdGhlIEpJVCBwcm9maWxlIG1ldGhvZHMuCiAgICAgICAgKiBi
eXRlY29kZS9Db2RlQmxvY2suaDoKICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmxpbmVJbmZvKTog
YWNjZXNzb3IgZm9yIHRoZSBsaW5laW5mbyBkYXRhLgogICAgICAgICogaml0L0pJVC5jcHA6CiAg
ICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZSk6IGNhbGwgb3V0IHRvIHRoZSBKSVRQcm9m
aWxlQWdlbnQgdG8KICAgICAgICBhbm5vdGF0ZSBnZW5lcmF0ZWQgY29kZS4KICAgICAgICAqIGpp
dC9KSVRPcGNvZGVzLmNwcDoKICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFj
aGluZVRyYW1wb2xpbmVzKTogZGl0dG8uCiAgICAgICAgKiBqaXQvSklUT3Bjb2RlczMyXzY0LmNw
cDoKICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVz
KTogZGl0dG8uCiAgICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgogICAgICAgIChK
U0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbik6IGRpdHRvLgogICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFycmF5TGVuZ3RoKTogZGl0dG8uCiAg
ICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6IGRpdHRvLgogICAg
ICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QpOiBkaXR0by4KICAg
ICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdCk6IGRpdHRvLgog
ICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KTogZGl0dG8u
CiAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6IGRpdHRvLgog
ICAgICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwOgogICAgICAgIChKU0M6OkpJ
VDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbik6IGRpdHRvLgogICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFycmF5TGVuZ3RoKTogZGl0dG8uCiAgICAgICAg
KEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6IGRpdHRvLgogICAgICAgIChK
U0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QpOiBkaXR0by4KICAgICAgICAo
SlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdCk6IGRpdHRvLgogICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KTogZGl0dG8uCiAgICAg
ICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6IGRpdHRvLgogICAgICAg
ICoganNjLmNwcDogc3VwcG9ydCBwcm9maWxpbmcgb2YgdGhlIEpJVCBjb2RlIHdpdGggLXAuCiAg
ICAgICAgKiBydW50aW1lL0V4ZWN1dGFibGUuaDoKICAgICAgICAoSlNDOjpFdmFsRXhlY3V0YWJs
ZTo6aml0Q29kZVR5cGUpOiByZXR1cm4gcHJvcGVyIEpJVENvZGVUeXBlIGZvciB0aGUgRXhlY3V0
YWJsZS4KICAgICAgICAoSlNDOjpQcm9ncmFtRXhlY3V0YWJsZTo6aml0Q29kZVR5cGUpOiBkaXR0
by4KICAgICAgICAoSlNDOjpGdW5jdGlvbkV4ZWN1dGFibGU6OmppdENvZGVUeXBlKTogZGl0dG8u
CiAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsRGF0YS5oOgogICAgICAgICogdG9vbHMvSklUUHJv
ZmlsZUFnZW50LmNwcDogQWRkZWQuCiAgICAgICAgKiB0b29scy9KSVRQcm9maWxlQWdlbnQuaDog
QWRkZWQuCiAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKICAgICAgICAqIHlhcnIvWWFyckpJVC5j
cHA6CiAgICAgICAgKEpTQzo6WWFycjo6WWFyckdlbmVyYXRvcjo6Y29tcGlsZSk6IGNhbGwgb3V0
IHRvIHRoZQogICAgICAgIEpJVFByb2ZpbGVBZ2VudCB0byBhbm5vdGF0ZSBnZW5lcmF0ZWQgY29k
ZS4KLS0tCiBDaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgMTMgKysKIEdOVW1ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgICAgMSArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgICAg
ICAgICAgICAgICB8ICAgIDMgKwogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyAgICAg
ICAgICAgICAgICAgICAgfCAgIDYwICsrKysrKysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVt
YWtlZmlsZS5hbSAgICAgICAgICAgICAgIHwgICAgMyArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUuZ3lwaSAgICAgICAgICB8ICAgIDIgKwogU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnByaSAgICAgICAgICAgfCAgICAxICsKIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcm8gICAgICAgICAgIHwgICAgMSArCiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaCAgICAgICB8ICAgIDcgKwogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oICAgICAgICAgfCAgICA1ICsKIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCAgICAgICAgICAgICAgICAgIHwgICAgNSAr
LQogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCAgICAgICAgICAgfCAg
ICAzICsKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcCAgICAg
IHwgICAgMyArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNw
cCAgICB8ICAgMTUgKysKIC4uLi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3Mz
Ml82NC5jcHAgIHwgICAxNCArKwogU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDE4ICsrCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
eGVjdXRhYmxlLmggICAgICAgICB8ICAgMTQgKysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsRGF0YS5oICAgICAgIHwgICAgNCArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
dG9vbHMvSklUUHJvZmlsZUFnZW50LmNwcCAgICB8ICAxNzQgKysrKysrKysrKysrKysrKysrKysK
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuaCAgICAgIHwgIDE2
MCArKysrKysrKysrKysrKysrKysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0u
aCAgICAgICAgICAgICAgIHwgICAgNSArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJy
SklULmNwcCAgICAgICAgICAgICB8ICAgIDUgKy0KIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzMyArKysrCiAyMyBmaWxlcyBjaGFuZ2VkLCA1
NDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFnZW50LmNwcAogY3JlYXRlIG1vZGUg
MTAwNjQ0IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuaAoKZGlm
ZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBkMDI3ZDNhLi4zOGE0NWU0IDEw
MDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MTEtMDItMDMgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByb3ZpZGUgYSBPUHJvZmlsZSBKSVQg
YWdlbnQgKG9wYWdlbnQpIGZvciB0aGUgY29kZSBnZW5lcmF0ZWQgYnkgdGhlIEpJVAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI1NjEKKworICAgICAg
ICBBZGQgc3VwcG9ydCBmb3IgT1Byb2ZpbGUgSklUIGFubm90YXRpb25zIHRvIHRoZSBHVEsrIHBv
cnQuIEVuYWJsZQorICAgICAgICB3aXRoIC0tZW5hYmxlLW9wYWdlbnQuCisKKyAgICAgICAgKiBH
TlVtYWtlZmlsZS5hbTogYWRkIE9QQUdFTlQgZmxhZ3MuCisgICAgICAgICogY29uZmlndXJlLmFj
OiBhZGQgLS1lbmFibGUtb3BhZ2VudCBjb25maWd1cmUgZmxhZy4KKwogMjAxMS0wMi0wMiAgQWxl
amFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBNYXJ0aW4gUm9iaW5zb24uCmRpZmYgLS1naXQgYS9HTlVtYWtlZmlsZS5hbSBiL0dOVW1ha2Vm
aWxlLmFtCmluZGV4IDkxMGJlMzguLmM2ZjVjM2EgMTAwNjQ0Ci0tLSBhL0dOVW1ha2VmaWxlLmFt
CisrKyBiL0dOVW1ha2VmaWxlLmFtCkBAIC0xNDIsNiArMTQyLDcgQEAgbGliSmF2YVNjcmlwdENv
cmVfbGFfU09VUkNFUyA9IFwKIGxpYkphdmFTY3JpcHRDb3JlX2xhX0xJQkFERCA9IFwKIAkkKFVO
SUNPREVfTElCUykgXAogCSQoR0xJQl9MSUJTKSBcCisJJChPUEFHRU5UX0xJQlMpIFwKIAktbHB0
aHJlYWQKIAogbGliSmF2YVNjcmlwdENvcmVfbGFfQ1hYRkxBR1MgPSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZTY4NWVjZi4uYjliN2ZmMiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTMsNiArMTMsNyBAQCBTRVQoSmF2YVNjcmlwdENvcmVf
SU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vcGNyZSIKICAg
ICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L3Byb2ZpbGVyIgogICAgICIke0pBVkFTQ1JJUFRDT1JF
X0RJUn0vcnVudGltZSIKKyAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L3Rvb2xzIgogICAgICIk
e0pBVkFTQ1JJUFRDT1JFX0RJUn0veWFyciIKICAgICAiJHtXVEZfSU5DTFVERV9ESVJFQ1RPUklF
U30iCiAgICAgIiR7Q01BS0VfU09VUkNFX0RJUn0iCkBAIC0xNzIsNiArMTczLDggQEAgU0VUKEph
dmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBydW50aW1lL1RpbWVvdXRDaGVja2VyLmNwcAogICAg
IHJ1bnRpbWUvVVN0cmluZy5jcHAKIAorICAgIHRvb2xzL0pJVFByb2ZpbGVBZ2VudC5jcHAKKwog
ICAgIHlhcnIvWWFyclBhdHRlcm4uY3BwCiAgICAgeWFyci9ZYXJySW50ZXJwcmV0ZXIuY3BwCiAg
ICAgeWFyci9ZYXJySklULmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggYzlhYWU5ZS4u
ZWVlZTY3MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIwMTEt
MDItMDMgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByb3ZpZGUgYSBPUHJvZmlsZSBKSVQgYWdl
bnQgKG9wYWdlbnQpIGZvciB0aGUgY29kZSBnZW5lcmF0ZWQgYnkgdGhlIEpJVAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI1NjEKKworICAgICAgICBC
YXNlZCBvbiB0aGUgd29yayBieSBIb2xnZXIgRnJleXRoZXIsIEdhYm9yIExva2kgYW5kIFpvbHRh
biBIZXJjemVnLgorCisgICAgICAgIEFkZCBKSVRQcm9maWxlQWdlbnQsIGEgbmV3IGNsYXNzIGlu
IHRvb2xzLyB3aXRoIHRoZSBiYXNpYyBtZXRob2RzCisgICAgICAgIHRvIGFubm90YXRlIHRoZSBK
SVQgY29kZSwgYW5kIGhvb2sgaXQgdXAgaW4gdGhlIHJlbGV2YW50IHBsYWNlcworICAgICAgICB0
aHJvdWdob3V0IEphdmFTY3JpcHRDb3JlLy4gSW5jbHVkZWQgaXMgYW4gT1Byb2ZpbGUgaW1wbGVt
ZW50YXRpb24KKyAgICAgICAgZm9yIExpbnV4IHN5c3RlbXMuCisKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDogYWRkIEpJVFByb2ZpbGVBZ2VudCBmaWxlcy4KKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5hbTogZGl0dG8uCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZ3lwaTogZGl0dG8uCisgICAg
ICAgICogSmF2YVNjcmlwdENvcmUucHJpOiBkaXR0by4KKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS5wcm86IGRpdHRvLgorICAgICAgICAqIGFzc2VtYmxlci9MaW5rQnVmZmVyLmg6CisgICAgICAg
IChKU0M6OkxpbmtCdWZmZXI6OnNpemUpOiBtZXRob2QgdG8gcmV0dXJuIHRoZSBzaXplIG9mIHRo
ZSBidWZmZXIsCisgICAgICAgIG5lZWRlZCBmb3IgdGhlIGNvZGUgYW5ub3RhdGlvbiBieSB0aGUg
SklUIHByb2ZpbGUgbWV0aG9kcy4KKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suaDoKKyAg
ICAgICAgKEpTQzo6Q29kZUJsb2NrOjpsaW5lSW5mbyk6IGFjY2Vzc29yIGZvciB0aGUgbGluZWlu
Zm8gZGF0YS4KKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2
YXRlQ29tcGlsZSk6IGNhbGwgb3V0IHRvIHRoZSBKSVRQcm9maWxlQWdlbnQgdG8KKyAgICAgICAg
YW5ub3RhdGUgZ2VuZXJhdGVkIGNvZGUuCisgICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgor
ICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVzKTog
ZGl0dG8uCisgICAgICAgICogaml0L0pJVE9wY29kZXMzMl82NC5jcHA6CisgICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVDVElNYWNoaW5lVHJhbXBvbGluZXMpOiBkaXR0by4KKyAgICAg
ICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZh
dGVDb21waWxlUHV0QnlJZFRyYW5zaXRpb24pOiBkaXR0by4KKyAgICAgICAgKEpTQzo6SklUOjpw
cml2YXRlQ29tcGlsZVBhdGNoR2V0QXJyYXlMZW5ndGgpOiBkaXR0by4KKyAgICAgICAgKEpTQzo6
SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6IGRpdHRvLgorICAgICAgICAoSlNDOjpK
SVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNlbGZMaXN0KTogZGl0dG8uCisgICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KTogZGl0dG8uCisgICAgICAgIChK
U0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KTogZGl0dG8uCisgICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4pOiBkaXR0by4KKyAgICAgICAg
KiBqaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJp
dmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbik6IGRpdHRvLgorICAgICAgICAoSlNDOjpKSVQ6
OnByaXZhdGVDb21waWxlUGF0Y2hHZXRBcnJheUxlbmd0aCk6IGRpdHRvLgorICAgICAgICAoSlND
OjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvKTogZGl0dG8uCisgICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QpOiBkaXR0by4KKyAgICAgICAgKEpT
Qzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90b0xpc3QpOiBkaXR0by4KKyAgICAgICAg
KEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbkxpc3QpOiBkaXR0by4KKyAgICAg
ICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6IGRpdHRvLgorICAgICAg
ICAqIGpzYy5jcHA6IHN1cHBvcnQgcHJvZmlsaW5nIG9mIHRoZSBKSVQgY29kZSB3aXRoIC1wLgor
ICAgICAgICAqIHJ1bnRpbWUvRXhlY3V0YWJsZS5oOgorICAgICAgICAoSlNDOjpFdmFsRXhlY3V0
YWJsZTo6aml0Q29kZVR5cGUpOiByZXR1cm4gcHJvcGVyIEpJVENvZGVUeXBlIGZvciB0aGUgRXhl
Y3V0YWJsZS4KKyAgICAgICAgKEpTQzo6UHJvZ3JhbUV4ZWN1dGFibGU6OmppdENvZGVUeXBlKTog
ZGl0dG8uCisgICAgICAgIChKU0M6OkZ1bmN0aW9uRXhlY3V0YWJsZTo6aml0Q29kZVR5cGUpOiBk
aXR0by4KKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsRGF0YS5oOgorICAgICAgICAqIHRvb2xz
L0pJVFByb2ZpbGVBZ2VudC5jcHA6IEFkZGVkLgorICAgICAgICAqIHRvb2xzL0pJVFByb2ZpbGVB
Z2VudC5oOiBBZGRlZC4KKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgKiB5YXJy
L1lhcnJKSVQuY3BwOgorICAgICAgICAoSlNDOjpZYXJyOjpZYXJyR2VuZXJhdG9yOjpjb21waWxl
KTogY2FsbCBvdXQgdG8gdGhlCisgICAgICAgIEpJVFByb2ZpbGVBZ2VudCB0byBhbm5vdGF0ZSBn
ZW5lcmF0ZWQgY29kZS4KKwogMjAxMS0wMi0wMiAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNs
b3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgV2luZG93cyBidWlsZCBmaXguCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggYWFkY2QwOS4uOWYwNDlmMyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTQsNiArMTQsNyBAQCBqYXZhc2NyaXB0Y29yZV9j
cHBmbGFncyArPSBcCiAJLUkkKHNyY2RpcikvU291cmNlL0phdmFTY3JpcHRDb3JlL3BjcmUgXAog
CS1JJChzcmNkaXIpL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlciBcCiAJLUkkKHNyY2Rp
cikvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUgXAorCS1JJChzcmNkaXIpL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90b29scyBcCiAJLUkkKHNyY2RpcikvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0ZiBcCiAJLUkkKHNyY2RpcikvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0ZiBcCiAJLUkkKHNy
Y2RpcikvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0IFwKQEAgLTQzMSw2ICs0MzIs
OCBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9XZWFrR0NQdHIuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vh
a1JhbmRvbS5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIu
aCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pJVFByb2ZpbGVBZ2VudC5jcHAgXAor
CVNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuaCBcCiAJU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9BbHdheXNJbmxpbmUuaCBcCiAJU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9BU0NJSUNUeXBlLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0
aW9ucy5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLmd5cGkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRl
eCA4NWE0MTNjLi40YjNlN2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUuZ3lwaQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUuZ3lwaQpAQCAtMzYxLDYgKzM2MSw4IEBACiAgICAgICAgICAgICAncnVudGltZS9VU3RyaW5n
QnVpbGRlci5oJywKICAgICAgICAgICAgICdydW50aW1lL1VTdHJpbmdDb25jYXRlbmF0ZS5oJywK
ICAgICAgICAgICAgICdydW50aW1lL1dlYWtSYW5kb20uaCcsCisgICAgICAgICAgICAndG9vbHMv
SklUUHJvZmlsZUFnZW50LmNwcCcsCisgICAgICAgICAgICAndG9vbHMvSklUUHJvZmlsZUFnZW50
LmgnLAogICAgICAgICAgICAgJ3d0Zi9BbHdheXNJbmxpbmUuaCcsCiAgICAgICAgICAgICAnd3Rm
L0FTQ0lJQ1R5cGUuaCcsCiAgICAgICAgICAgICAnd3RmL0Fzc2VydGlvbnMuY3BwJywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJpCmluZGV4IDA2NjEzYTEuLmUzYjk5Zjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaQpAQCAtMzQsNiArMzQs
NyBAQCBKQVZBU0NSSVBUQ09SRV9JTkNMVURFUEFUSCA9IFwKICAgICAkJFBXRC9wY3JlIFwKICAg
ICAkJFBXRC9wcm9maWxlciBcCiAgICAgJCRQV0QvcnVudGltZSBcCisgICAgJCRQV0QvdG9vbHMg
XAogICAgICQkUFdEL3d0ZiBcCiAgICAgJCRQV0Qvd3RmL2dvYmplY3QgXAogICAgICQkUFdEL3d0
Zi9zeW1iaWFuIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS5wcm8gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJvCmluZGV4
IDkxMjI2NDcuLjNhY2Q2MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5wcm8KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnBybwpAQCAtMjEzLDYgKzIxMyw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHJ1bnRpbWUvU3RydWN0
dXJlLmNwcCBcCiAgICAgcnVudGltZS9UaW1lb3V0Q2hlY2tlci5jcHAgXAogICAgIHJ1bnRpbWUv
VVN0cmluZy5jcHAgXAorICAgIHRvb2xzL0pJVFByb2ZpbGVBZ2VudC5jcHAgXAogICAgIHlhcnIv
WWFyclBhdHRlcm4uY3BwIFwKICAgICB5YXJyL1lhcnJJbnRlcnByZXRlci5jcHAgXAogICAgIHlh
cnIvWWFyckpJVC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtC
dWZmZXIuaAppbmRleCBjNWE3ZDViLi5hMjhlZWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaApAQCAtMTgzLDYgKzE4MywxMyBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBDb2RlUHRyKE1hY3JvQXNzZW1ibGVyOjpBc3NlbWJsZXJUeXBlX1Q6Omdl
dFJlbG9jYXRlZEFkZHJlc3MoY29kZSgpLCBhcHBseU9mZnNldChsYWJlbC5tX2xhYmVsKSkpOwog
ICAgIH0KIAorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBzaXplX3Qgc2l6ZSgp
IGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9zaXplOworICAgIH0KKyNlbmRpZgorCiBw
cml2YXRlOgogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBUIGFwcGx5T2Zmc2V0KFQgc3JjKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAppbmRleCBm
ODQ5OGI0Li45NzU5N2Y2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ29kZUJsb2NrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVC
bG9jay5oCkBAIC00NTYsNiArNDU2LDExIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAg
cmV0dXJuIG1fcmFyZURhdGEgJiYKICAgICAgICAgICAgICAgICAobV9yYXJlRGF0YS0+bV9leHBy
ZXNzaW9uSW5mby5zaXplKCkgfHwgbV9yYXJlRGF0YS0+bV9saW5lSW5mby5zaXplKCkgfHwgbV9y
YXJlRGF0YS0+bV9leGNlcHRpb25IYW5kbGVycy5zaXplKCkpOwogICAgICAgICB9CisgICAgICAg
IFZlY3RvcjxMaW5lSW5mbz4mIGxpbmVJbmZvKCkKKyAgICAgICAgeworICAgICAgICAgICAgY3Jl
YXRlUmFyZURhdGFJZk5lY2Vzc2FyeSgpOworICAgICAgICAgICAgcmV0dXJuIG1fcmFyZURhdGEt
Pm1fbGluZUluZm87CisgICAgICAgIH0KIAogI2lmIEVOQUJMRShKSVQpCiAgICAgICAgIFZlY3Rv
cjxDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldD4mIGNhbGxSZXR1cm5JbmRleFZlY3Rv
cigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggYjhiZDcxOC4uMDEzYTJmNiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtNTg0LDcgKzU4NCwxMCBAQCBKSVRDb2RlIEpJ
VDo6cHJpdmF0ZUNvbXBpbGUoQ29kZVB0ciogZnVuY3Rpb25FbnRyeUFyaXR5Q2hlY2spCiAgICAg
aWYgKG1fY29kZUJsb2NrLT5jb2RlVHlwZSgpID09IEZ1bmN0aW9uQ29kZSAmJiBmdW5jdGlvbkVu
dHJ5QXJpdHlDaGVjaykKICAgICAgICAgKmZ1bmN0aW9uRW50cnlBcml0eUNoZWNrID0gcGF0Y2hC
dWZmZXIubG9jYXRpb25PZihhcml0eUNoZWNrKTsKIAotICAgIHJldHVybiBwYXRjaEJ1ZmZlci5m
aW5hbGl6ZUNvZGUoKTsKKyAgICBKSVRDb2RlIGNvZGUgPSBwYXRjaEJ1ZmZlci5maW5hbGl6ZUNv
ZGUoKTsKKyAgICBSRUNPUkRfSklUX0NPREVfQ09ERUJMT0NLKG1fZ2xvYmFsRGF0YSwgY29kZS5h
ZGRyZXNzRm9yQ2FsbCgpLmV4ZWN1dGFibGVBZGRyZXNzKCksIGNvZGUuc2l6ZSgpLCBtX2NvZGVC
bG9jayk7CisgICAgQU5OT1RBVEVfSklUX0NPREUobV9nbG9iYWxEYXRhLCBjb2RlLmFkZHJlc3NG
b3JDYWxsKCkuZXhlY3V0YWJsZUFkZHJlc3MoKSwgbV9jb2RlQmxvY2ssIG1fY29kZUJsb2NrLT5z
b3VyY2UoKS0+dXJsKCkpOworICAgIHJldHVybiBjb2RlOwogfQogCiAjaWYgVVNFKEpTVkFMVUU2
NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCmluZGV4IDk4Y2IyZjMu
LmVhNTAxZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rl
cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcApAQCAt
MzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiQXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiSklUSW5s
aW5lTWV0aG9kcy5oIgorI2luY2x1ZGUgIkpJVFByb2ZpbGVBZ2VudC5oIgogI2luY2x1ZGUgIkpJ
VFN0dWJDYWxsLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgogI2luY2x1ZGUgIkpTQ2VsbC5oIgpA
QCAtMTc1LDYgKzE3Niw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFt
cG9saW5lcyhSZWZQdHI8RXhlY3V0YWJsZVBvb2w+KiBleGVjdXRhYmxlCiAgICAgQ29kZVJlZiBm
aW5hbENvZGUgPSBwYXRjaEJ1ZmZlci5maW5hbGl6ZUNvZGUoKTsKICAgICAqZXhlY3V0YWJsZVBv
b2wgPSBmaW5hbENvZGUubV9leGVjdXRhYmxlUG9vbDsKIAorICAgIFJFQ09SRF9KSVRfVFJBTVBP
TElORVMobV9nbG9iYWxEYXRhLCBmaW5hbENvZGUubV9jb2RlLmV4ZWN1dGFibGVBZGRyZXNzKCks
IG1fY29kZUJsb2NrLCBmaW5hbENvZGUubV9zaXplKTsKKwogICAgIHRyYW1wb2xpbmVzLT5jdGlW
aXJ0dWFsQ2FsbExpbmsgPSBwYXRjaEJ1ZmZlci50cmFtcG9saW5lQXQodmlydHVhbENhbGxMaW5r
QmVnaW4pOwogICAgIHRyYW1wb2xpbmVzLT5jdGlWaXJ0dWFsQ29uc3RydWN0TGluayA9IHBhdGNo
QnVmZmVyLnRyYW1wb2xpbmVBdCh2aXJ0dWFsQ29uc3RydWN0TGlua0JlZ2luKTsKICAgICB0cmFt
cG9saW5lcy0+Y3RpVmlydHVhbENhbGwgPSBwYXRjaEJ1ZmZlci50cmFtcG9saW5lQXQodmlydHVh
bENhbGxCZWdpbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
Y29kZXMzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82
NC5jcHAKaW5kZXggZGRhNzRjOC4uZTkyMWYzNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkpJ
VC5oIgogCiAjaW5jbHVkZSAiSklUSW5saW5lTWV0aG9kcy5oIgorI2luY2x1ZGUgIkpJVFByb2Zp
bGVBZ2VudC5oIgogI2luY2x1ZGUgIkpJVFN0dWJDYWxsLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5o
IgogI2luY2x1ZGUgIkpTQ2VsbC5oIgpAQCAtMTc2LDYgKzE3Nyw4IEBAIHZvaWQgSklUOjpwcml2
YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFtcG9saW5lcyhSZWZQdHI8RXhlY3V0YWJsZVBvb2w+KiBl
eGVjdXRhYmxlCiAgICAgQ29kZVJlZiBmaW5hbENvZGUgPSBwYXRjaEJ1ZmZlci5maW5hbGl6ZUNv
ZGUoKTsKICAgICAqZXhlY3V0YWJsZVBvb2wgPSBmaW5hbENvZGUubV9leGVjdXRhYmxlUG9vbDsK
IAorICAgIFJFQ09SRF9KSVRfVFJBTVBPTElORVMobV9nbG9iYWxEYXRhLCBmaW5hbENvZGUubV9j
b2RlLmV4ZWN1dGFibGVBZGRyZXNzKCksIG1fY29kZUJsb2NrLCBmaW5hbENvZGUubV9zaXplKTsK
KwogICAgIHRyYW1wb2xpbmVzLT5jdGlWaXJ0dWFsQ2FsbCA9IHBhdGNoQnVmZmVyLnRyYW1wb2xp
bmVBdCh2aXJ0dWFsQ2FsbEJlZ2luKTsKICAgICB0cmFtcG9saW5lcy0+Y3RpVmlydHVhbENvbnN0
cnVjdCA9IHBhdGNoQnVmZmVyLnRyYW1wb2xpbmVBdCh2aXJ0dWFsQ29uc3RydWN0QmVnaW4pOwog
ICAgIHRyYW1wb2xpbmVzLT5jdGlOYXRpdmVDYWxsID0gcGF0Y2hCdWZmZXIudHJhbXBvbGluZUF0
KG5hdGl2ZUNhbGxUaHVuayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVFByb3BlcnR5QWNjZXNzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJv
cGVydHlBY2Nlc3MuY3BwCmluZGV4IDFiOTVlZWMuLjY3YmNhMjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCkBAIC0zMiw2ICszMiw3IEBA
CiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5j
bHVkZSAiSklUSW5saW5lTWV0aG9kcy5oIgorI2luY2x1ZGUgIkpJVFByb3BlcnR5QWNjZXNzLmgi
CiAjaW5jbHVkZSAiSklUU3R1YkNhbGwuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCiAjaW5jbHVk
ZSAiSlNGdW5jdGlvbi5oIgpAQCAtNjU2LDYgKzY1Nyw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29t
cGlsZVB1dEJ5SWRUcmFuc2l0aW9uKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0
dXJlCiAgICAgc3R1YkluZm8tPnN0dWJSb3V0aW5lID0gZW50cnlMYWJlbDsKICAgICBSZXBhdGNo
QnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVs
aW5rQ2FsbGVyVG9UcmFtcG9saW5lKHJldHVybkFkZHJlc3MsIGVudHJ5TGFiZWwpOworCisgICAg
UkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlMYWJsZS5leGVjdXRhYmxlQWRkcmVz
cygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVBZ2VudDo6UHV0QnlJRFRyYW5zaXRp
b24pOwogfQogCiB2b2lkIEpJVDo6cGF0Y2hHZXRCeUlkU2VsZihDb2RlQmxvY2sqIGNvZGVCbG9j
aywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgc2l6
ZV90IGNhY2hlZE9mZnNldCwgUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzKQpAQCAtNzU0
LDYgKzc1Nyw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZVBhdGNoR2V0QXJyYXlMZW5ndGgo
UmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzKQogCiAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0
byBwYXRjaCBtb3JlIHRoYW4gb25jZSAtIGluIGZ1dHVyZSBnbyB0byBjdGlfb3BfcHV0X2J5X2lk
X2dlbmVyaWMuCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb0Z1bmN0aW9uKHJldHVy
bkFkZHJlc3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfYXJyYXlfZmFpbCkpOworCisg
ICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlMYWJsZS5leGVjdXRhYmxlQWRk
cmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVBZ2VudDo6R2V0QXJyYXlMZW5n
dGgpOwogfQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG8oU3RydWN0dXJl
U3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlKiBwcm90
b3R5cGVTdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0eVNs
b3QmIHNsb3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRk
cmVzcywgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCkBAIC04MjMsNiArODI4LDggQEAgdm9pZCBKSVQ6
OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywg
U3RydWN0dXJlKiBzdHIKIAogICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFu
IG9uY2UgLSBpbiBmdXR1cmUgZ28gdG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIHJl
cGF0Y2hCdWZmZXIucmVsaW5rQ2FsbGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlv
blB0cihjdGlfb3BfZ2V0X2J5X2lkX3Byb3RvX2xpc3QpKTsKKworICAgIFJFQ09SRF9KSVRfQ09E
RShtX2dsb2JhbERhdGEsIGVudHJ5TGFibGUuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZm
ZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEJ5SURQcm90byk7CiB9CiAKIHZvaWQgSklU
Ojpwcml2YXRlQ29tcGlsZUdldEJ5SWRTZWxmTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCogcG9seW1vcnBoaWNTdHJ1Y3R1cmVz
LCBpbnQgY3VycmVudEluZGV4LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmll
ciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCkK
QEAgLTg4MSw2ICs4ODgsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxp
c3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpYwogICAgIENvZGVMb2Nh
dGlvbkp1bXAganVtcExvY2F0aW9uID0gc3R1YkluZm8tPmhvdFBhdGhCZWdpbi5qdW1wQXRPZmZz
ZXQocGF0Y2hPZmZzZXRHZXRCeUlkQnJhbmNoVG9TbG93Q2FzZSk7CiAgICAgUmVwYXRjaEJ1ZmZl
ciByZXBhdGNoQnVmZmVyKG1fY29kZUJsb2NrKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhq
dW1wTG9jYXRpb24sIGVudHJ5TGFiZWwpOworCisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFs
RGF0YSwgZW50cnlMYWJsZS5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCks
IEpJVFByb2ZpbGVBZ2VudDo6R2V0QnlJRFNlbGZMaXN0KTsKIH0KIAogdm9pZCBKSVQ6OnByaXZh
dGVDb21waWxlR2V0QnlJZFByb3RvTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBv
bHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCogcHJvdG90eXBlU3RydWN0dXJlcywgaW50IGN1
cnJlbnRJbmRleCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZSogcHJvdG90eXBlU3Ry
dWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90
LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTk1MSw2ICs5
NjAsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KFN0cnVjdHVy
ZVN0dWJJbmZvKiBzdHViSW5mbywgUG9seW1vcnBoaQogICAgIENvZGVMb2NhdGlvbkp1bXAganVt
cExvY2F0aW9uID0gc3R1YkluZm8tPmhvdFBhdGhCZWdpbi5qdW1wQXRPZmZzZXQocGF0Y2hPZmZz
ZXRHZXRCeUlkQnJhbmNoVG9TbG93Q2FzZSk7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNoQnVm
ZmVyKG1fY29kZUJsb2NrKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhqdW1wTG9jYXRpb24s
IGVudHJ5TGFiZWwpOworCisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlM
YWJsZS5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVB
Z2VudDo6R2V0QnlJRFByb3RvTGlzdCk7CiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdl
dEJ5SWRDaGFpbkxpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpY0Fj
Y2Vzc1N0cnVjdHVyZUxpc3QqIHByb3RvdHlwZVN0cnVjdHVyZXMsIGludCBjdXJyZW50SW5kZXgs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4sIHNpemVfdCBjb3Vu
dCwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6
ZV90IGNhY2hlZE9mZnNldCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCkBAIC0xMDIxLDYgKzEwMzIs
OCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KFN0cnVjdHVyZVN0
dWJJbmZvKiBzdHViSW5mbywgUG9seW1vcnBoaQogICAgIENvZGVMb2NhdGlvbkp1bXAganVtcExv
Y2F0aW9uID0gc3R1YkluZm8tPmhvdFBhdGhCZWdpbi5qdW1wQXRPZmZzZXQocGF0Y2hPZmZzZXRH
ZXRCeUlkQnJhbmNoVG9TbG93Q2FzZSk7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNoQnVmZmVy
KG1fY29kZUJsb2NrKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhqdW1wTG9jYXRpb24sIGVu
dHJ5TGFiZWwpOworCisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlMYWJs
ZS5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVBZ2Vu
dDo6R2V0QnlJRENoYWluTGlzdCk7CiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5
SWRDaGFpbihTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4sIHNpemVfdCBjb3VudCwgY29uc3QgSWRlbnRpZmllciYg
aWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwgUmV0
dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTEw
ODksNiArMTEwMiw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbihTdHJ1
Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RyCiAKICAgICAvLyBXZSBkb24n
dCB3YW50IHRvIHBhdGNoIG1vcmUgdGhhbiBvbmNlIC0gaW4gZnV0dXJlIGdvIHRvIGN0aV9vcF9w
dXRfYnlfaWRfZ2VuZXJpYy4KICAgICByZXBhdGNoQnVmZmVyLnJlbGlua0NhbGxlclRvRnVuY3Rp
b24ocmV0dXJuQWRkcmVzcywgRnVuY3Rpb25QdHIoY3RpX29wX2dldF9ieV9pZF9wcm90b19saXN0
KSk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmxlLmV4ZWN1
dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRC
eUlEQ2hhaW4pOwogfQogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRU5EOiAh
RU5BQkxFIC8gRU5BQkxFKEpJVF9PUFRJTUlaRV9QUk9QRVJUWV9BQ0NFU1MpIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKaW5kZXggNzEwYTE1NS4uZjM5MWMzZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJf
NjQuY3BwCkBAIC02NzIsNiArNjcyLDggQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlUHV0QnlJ
ZFRyYW5zaXRpb24oU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUKICAgICBz
dHViSW5mby0+c3R1YlJvdXRpbmUgPSBlbnRyeUxhYmVsOwogICAgIFJlcGF0Y2hCdWZmZXIgcmVw
YXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJU
b1RyYW1wb2xpbmUocmV0dXJuQWRkcmVzcywgZW50cnlMYWJlbCk7CisKKyAgICBSRUNPUkRfSklU
X0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNo
QnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpQdXRCeUlEVHJhbnNpdGlvbik7CiB9CiAK
IHZvaWQgSklUOjpwYXRjaEdldEJ5SWRTZWxmKENvZGVCbG9jayogY29kZUJsb2NrLCBTdHJ1Y3R1
cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBzaXplX3QgY2FjaGVk
T2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MpCkBAIC03NzUsNiArNzc3LDgg
QEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlUGF0Y2hHZXRBcnJheUxlbmd0aChSZXR1cm5BZGRy
ZXNzUHRyIHJldHVybkFkZHJlc3MpCiAgICAgCiAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBwYXRj
aCBtb3JlIHRoYW4gb25jZSAtIGluIGZ1dHVyZSBnbyB0byBjdGlfb3BfcHV0X2J5X2lkX2dlbmVy
aWMuCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb0Z1bmN0aW9uKHJldHVybkFkZHJl
c3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfYXJyYXlfZmFpbCkpOworCisgICAgUkVD
T1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygp
LCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVBZ2VudDo6R2V0QXJyYXlMZW5ndGgpOwog
fQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG8oU3RydWN0dXJlU3R1Yklu
Zm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlKiBwcm90b3R5cGVT
dHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNs
b3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcywg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpCkBAIC04NDYsNiArODUwLDggQEAgdm9pZCBKSVQ6OnByaXZh
dGVDb21waWxlR2V0QnlJZFByb3RvKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0
dXJlKiBzdHIKICAgICAKICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHBhdGNoIG1vcmUgdGhhbiBv
bmNlIC0gaW4gZnV0dXJlIGdvIHRvIGN0aV9vcF9wdXRfYnlfaWRfZ2VuZXJpYy4KICAgICByZXBh
dGNoQnVmZmVyLnJlbGlua0NhbGxlclRvRnVuY3Rpb24ocmV0dXJuQWRkcmVzcywgRnVuY3Rpb25Q
dHIoY3RpX29wX2dldF9ieV9pZF9wcm90b19saXN0KSk7CisKKyAgICBSRUNPUkRfSklUX0NPREUo
bV9nbG9iYWxEYXRhLCBlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVy
LnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRCeUlEUHJvdG8pOwogfQogCiAKQEAgLTkwNSw2
ICs5MTEsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QoU3RydWN0
dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpYwogICAgIENvZGVMb2NhdGlvbkp1bXAg
anVtcExvY2F0aW9uID0gc3R1YkluZm8tPmhvdFBhdGhCZWdpbi5qdW1wQXRPZmZzZXQocGF0Y2hP
ZmZzZXRHZXRCeUlkQnJhbmNoVG9TbG93Q2FzZSk7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNo
QnVmZmVyKG1fY29kZUJsb2NrKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhqdW1wTG9jYXRp
b24sIGVudHJ5TGFiZWwpOworCisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50
cnlMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2Zp
bGVBZ2VudDo6R2V0QnlJRFNlbGZMaXN0KTsKIH0KIAogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxl
R2V0QnlJZFByb3RvTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBvbHltb3JwaGlj
QWNjZXNzU3RydWN0dXJlTGlzdCogcHJvdG90eXBlU3RydWN0dXJlcywgaW50IGN1cnJlbnRJbmRl
eCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0dXJlLCBj
b25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3Qg
Y2FjaGVkT2Zmc2V0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTk3NCw2ICs5ODIsOCBAQCB2
b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KFN0cnVjdHVyZVN0dWJJbmZv
KiBzdHViSW5mbywgUG9seW1vcnBoaQogICAgIENvZGVMb2NhdGlvbkp1bXAganVtcExvY2F0aW9u
ID0gc3R1YkluZm8tPmhvdFBhdGhCZWdpbi5qdW1wQXRPZmZzZXQocGF0Y2hPZmZzZXRHZXRCeUlk
QnJhbmNoVG9TbG93Q2FzZSk7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNoQnVmZmVyKG1fY29k
ZUJsb2NrKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhqdW1wTG9jYXRpb24sIGVudHJ5TGFi
ZWwpOworCisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlMYWJlbC5leGVj
dXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVBZ2VudDo6R2V0
QnlJRFByb3RvTGlzdCk7CiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFp
bkxpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVj
dHVyZUxpc3QqIHByb3RvdHlwZVN0cnVjdHVyZXMsIGludCBjdXJyZW50SW5kZXgsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4sIHNpemVfdCBjb3VudCwgY29uc3Qg
SWRlbnRpZmllciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hl
ZE9mZnNldCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCkBAIC0xMDQ0LDYgKzEwNTQsOCBAQCB2b2lk
IEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiBz
dHViSW5mbywgUG9seW1vcnBoaQogICAgIENvZGVMb2NhdGlvbkp1bXAganVtcExvY2F0aW9uID0g
c3R1YkluZm8tPmhvdFBhdGhCZWdpbi5qdW1wQXRPZmZzZXQocGF0Y2hPZmZzZXRHZXRCeUlkQnJh
bmNoVG9TbG93Q2FzZSk7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNoQnVmZmVyKG1fY29kZUJs
b2NrKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhqdW1wTG9jYXRpb24sIGVudHJ5TGFiZWwp
OworCisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlMYWJlbC5leGVjdXRh
YmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVBZ2VudDo6R2V0QnlJ
RENoYWluTGlzdCk7CiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbihT
dHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1
cmVDaGFpbiogY2hhaW4sIHNpemVfdCBjb3VudCwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIGNv
bnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwgUmV0dXJuQWRkcmVz
c1B0ciByZXR1cm5BZGRyZXNzLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTExMTEsNiArMTEy
Myw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbihTdHJ1Y3R1cmVTdHVi
SW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RyCiAgICAgCiAgICAgLy8gV2UgZG9uJ3Qgd2Fu
dCB0byBwYXRjaCBtb3JlIHRoYW4gb25jZSAtIGluIGZ1dHVyZSBnbyB0byBjdGlfb3BfcHV0X2J5
X2lkX2dlbmVyaWMuCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb0Z1bmN0aW9uKHJl
dHVybkFkZHJlc3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfcHJvdG9fbGlzdCkpOwor
CisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlMYWJlbC5leGVjdXRhYmxl
QWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVBZ2VudDo6R2V0QnlJRENo
YWluKTsKIH0KIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVORDogIUVOQUJM
RSAvIEVOQUJMRShKSVRfT1BUSU1JWkVfUFJPUEVSVFlfQUNDRVNTKSAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0gKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2Mu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKaW5kZXggOTEyYjUxYS4uNzcxNTI2
ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKQEAgLTEwMiwxMSArMTAyLDE3IEBAIHN0cnVjdCBPcHRp
b25zIHsKICAgICBPcHRpb25zKCkKICAgICAgICAgOiBpbnRlcmFjdGl2ZShmYWxzZSkKICAgICAg
ICAgLCBkdW1wKGZhbHNlKQorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICAgICAg
LCBqaXRQcm9maWxlKGZhbHNlKQorI2VuZGlmCiAgICAgewogICAgIH0KIAogICAgIGJvb2wgaW50
ZXJhY3RpdmU7CiAgICAgYm9vbCBkdW1wOworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkK
KyAgICBib29sIGppdFByb2ZpbGU7CisjZW5kaWYKICAgICBWZWN0b3I8U2NyaXB0PiBzY3JpcHRz
OwogICAgIFZlY3RvcjxVU3RyaW5nPiBhcmd1bWVudHM7CiB9OwpAQCAtNDY1LDYgKzQ3MSw5IEBA
IHN0YXRpYyBOT19SRVRVUk4gdm9pZCBwcmludFVzYWdlU3RhdGVtZW50KEpTR2xvYmFsRGF0YSog
Z2xvYmFsRGF0YSwgYm9vbCBoZWxwID0KICAgICBmcHJpbnRmKHN0ZGVyciwgIiAgLWYgICAgICAg
ICBTcGVjaWZpZXMgYSBzb3VyY2UgZmlsZSAoZGVwcmVjYXRlZClcbiIpOwogICAgIGZwcmludGYo
c3RkZXJyLCAiICAtaHwtLWhlbHAgIFByaW50cyB0aGlzIGhlbHAgbWVzc2FnZVxuIik7CiAgICAg
ZnByaW50ZihzdGRlcnIsICIgIC1pICAgICAgICAgRW5hYmxlcyBpbnRlcmFjdGl2ZSBtb2RlIChk
ZWZhdWx0IGlmIG5vIGZpbGVzIGFyZSBzcGVjaWZpZWQpXG4iKTsKKyNpZiBFTkFCTEUoSklUX1BS
T0ZJTEVfQUdFTlQpCisgICAgZnByaW50ZihzdGRlcnIsICIgIC1wICAgICAgICAgRW5hYmxlcyBK
SVQgcHJvZmlsZSBhZ2VudFxuIik7CisjZW5kaWYKICNpZiBIQVZFKFNJR05BTF9IKQogICAgIGZw
cmludGYoc3RkZXJyLCAiICAtcyAgICAgICAgIEluc3RhbGxzIHNpZ25hbCBoYW5kbGVycyB0aGF0
IGV4aXQgb24gYSBjcmFzaCAoVW5peCBwbGF0Zm9ybXMgb25seSlcbiIpOwogI2VuZGlmCkBAIC00
OTgsNiArNTA3LDEyIEBAIHN0YXRpYyB2b2lkIHBhcnNlQXJndW1lbnRzKGludCBhcmdjLCBjaGFy
KiogYXJndiwgT3B0aW9ucyYgb3B0aW9ucywgSlNHbG9iYWxEYXRhCiAgICAgICAgICAgICBvcHRp
b25zLmR1bXAgPSB0cnVlOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KKyNpZiBF
TkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgICAgIGlmICghc3RyY21wKGFyZywgIi1wIikp
IHsKKyAgICAgICAgICAgIG9wdGlvbnMuaml0UHJvZmlsZSA9IHRydWU7CisgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGlmICghc3RyY21wKGFyZywgIi1z
IikpIHsKICNpZiBIQVZFKFNJR05BTF9IKQogICAgICAgICAgICAgc2lnbmFsKFNJR0lMTCwgX2V4
aXQpOwpAQCAtNTMxLDYgKzU0Niw5IEBAIGludCBqc2NtYWluKGludCBhcmdjLCBjaGFyKiogYXJn
diwgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhKQogICAgIHBhcnNlQXJndW1lbnRzKGFyZ2MsIGFy
Z3YsIG9wdGlvbnMsIGdsb2JhbERhdGEpOwogCiAgICAgR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QgPSBuZXcgKGdsb2JhbERhdGEpIEdsb2JhbE9iamVjdChvcHRpb25zLmFyZ3VtZW50cyk7Cisj
aWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIGdsb2JhbERhdGEtPmppdFByb2ZpbGVB
Z2VudC5zZXRFbmFibGVkKHRydWUpOworI2VuZGlmCiAgICAgYm9vbCBzdWNjZXNzID0gcnVuV2l0
aFNjcmlwdHMoZ2xvYmFsT2JqZWN0LCBvcHRpb25zLnNjcmlwdHMsIG9wdGlvbnMuZHVtcCk7CiAg
ICAgaWYgKG9wdGlvbnMuaW50ZXJhY3RpdmUgJiYgc3VjY2VzcykKICAgICAgICAgcnVuSW50ZXJh
Y3RpdmUoZ2xvYmFsT2JqZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0V4ZWN1dGFibGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1
dGFibGUuaAppbmRleCA1NDRlNDg3Li5jMzU2OWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXhlY3V0YWJsZS5oCkBAIC0xNzcsNiArMTc3LDEwIEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICBib29sIG5lZWRzQWN0aXZhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faGFzQ2Fw
dHVyZWRWYXJpYWJsZXMgfHwgbV9mZWF0dXJlcyAmIChFdmFsRmVhdHVyZSB8IFdpdGhGZWF0dXJl
IHwgQ2F0Y2hGZWF0dXJlKTsgfQogICAgICAgICBib29sIGlzU3RyaWN0TW9kZSgpIGNvbnN0IHsg
cmV0dXJuIG1fZmVhdHVyZXMgJiBTdHJpY3RNb2RlRmVhdHVyZTsgfQogCisjaWYgRU5BQkxFKEpJ
VF9QUk9GSUxFX0FHRU5UKQorICAgICAgICB2aXJ0dWFsIEpJVFByb2ZpbGVBZ2VudDo6SklUQ29k
ZVR5cGUgaml0Q29kZVR5cGUoKSA9IDA7CisjZW5kaWYKKwogICAgIHByb3RlY3RlZDoKICAgICAg
ICAgdm9pZCByZWNvcmRQYXJzZShDb2RlRmVhdHVyZXMgZmVhdHVyZXMsIGJvb2wgaGFzQ2FwdHVy
ZWRWYXJpYWJsZXMsIGludCBmaXJzdExpbmUsIGludCBsYXN0TGluZSkKICAgICAgICAgewpAQCAt
MjIyLDYgKzIyNiwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgICAgIEpJVFByb2ZpbGVBZ2VudDo6SklU
Q29kZVR5cGUgaml0Q29kZVR5cGUoKSB7IHJldHVybiBKSVRQcm9maWxlQWdlbnQ6OkV2YWw7fQor
I2VuZGlmCisKICAgICBwcml2YXRlOgogICAgICAgICBFdmFsRXhlY3V0YWJsZShFeGVjU3RhdGUq
LCBjb25zdCBTb3VyY2VDb2RlJiwgYm9vbCk7CiAKQEAgLTI2Myw2ICsyNzEsOSBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdF
TlQpCisgICAgICAgIEpJVFByb2ZpbGVBZ2VudDo6SklUQ29kZVR5cGUgaml0Q29kZVR5cGUoKSB7
IHJldHVybiBKSVRQcm9maWxlQWdlbnQ6OlByb2dyYW07IH0KKyNlbmRpZgogICAgIHByaXZhdGU6
CiAgICAgICAgIFByb2dyYW1FeGVjdXRhYmxlKEV4ZWNTdGF0ZSosIGNvbnN0IFNvdXJjZUNvZGUm
KTsKIApAQCAtMzg0LDYgKzM5NSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgcmV0
dXJuIG1faml0Q29kZUZvckNvbnN0cnVjdFdpdGhBcml0eUNoZWNrOwogICAgICAgICB9CiAjZW5k
aWYKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgICAgIEpJVFByb2ZpbGVBZ2Vu
dDo6SklUQ29kZVR5cGUgaml0Q29kZVR5cGUoKSB7IHJldHVybiBKSVRQcm9maWxlQWdlbnQ6OkZ1
bmN0aW9uOyB9CisjZW5kaWYKICAgICB9OwogCiAgICAgaW5saW5lIEZ1bmN0aW9uRXhlY3V0YWJs
ZSogSlNGdW5jdGlvbjo6anNFeGVjdXRhYmxlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmgKaW5kZXggN2I2OTA1NS4uZDhjZDE2ZiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmgKQEAgLTMzLDYgKzMz
LDcgQEAKICNpbmNsdWRlICJIZWFwLmgiCiAjaW5jbHVkZSAiRGF0ZUluc3RhbmNlQ2FjaGUuaCIK
ICNpbmNsdWRlICJFeGVjdXRhYmxlQWxsb2NhdG9yLmgiCisjaW5jbHVkZSAiSklUUHJvZmlsZUFn
ZW50LmgiCiAjaW5jbHVkZSAiSklUU3R1YnMuaCIKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5j
bHVkZSAiTnVtZXJpY1N0cmluZ3MuaCIKQEAgLTE5Myw2ICsxOTQsOSBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgTGV4ZXIqIGxleGVyOwogICAgICAgICBQYXJzZXIqIHBhcnNlcjsKICAgICAg
ICAgSW50ZXJwcmV0ZXIqIGludGVycHJldGVyOworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VO
VCkKKyAgICAgICAgSklUUHJvZmlsZUFnZW50IGppdFByb2ZpbGVBZ2VudDsKKyNlbmRpZgogI2lm
IEVOQUJMRShKSVQpCiAgICAgICAgIE93blB0cjxKSVRUaHVua3M+IGppdFN0dWJzOwogICAgICAg
ICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgZ2V0Q1RJU3R1YihUaHVua0dlbmVyYXRvciBnZW5lcmF0
b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFn
ZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0YTMzNWQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFnZW50LmNwcApA
QCAtMCwwICsxLDE3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBIb2xnZXIgSGFucyBQ
ZXRlciBGcmV5dGhlcgorICogQ29weXJpZ2h0IChDKSAyMDEwIFVuaXZlcnNpdHkgb2YgU3plZ2Vk
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxF
KEpJVF9QUk9GSUxFX0FHRU5UKQorCisjaW5jbHVkZSAiSklUUHJvZmlsZUFnZW50LmgiCisKKyNp
bmNsdWRlICJDb2RlQmxvY2suaCIKKyNpbmNsdWRlICJKU0dsb2JhbERhdGEuaCIKKyNpbmNsdWRl
ICJTb3VyY2VQcm92aWRlci5oIgorI2luY2x1ZGUgIlVTdHJpbmcuaCIKKyNpbmNsdWRlICJVU3Ry
aW5nQ29uY2F0ZW5hdGUuaCIKKyNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgorCituYW1lc3Bh
Y2UgSlNDIHsKKworI2lmIEVOQUJMRShKSVRfT1BST0ZJTEVfQUdFTlQpCisKK3ZvaWQgSklUUHJv
ZmlsZUFnZW50Ojppbml0QWdlbnQoKQoreworICAgIG1fdmlydHVhbE1lbW9yeVNlZ21lbnRzLmNs
ZWFyKCk7CisgICAgbV9wcm9maWxlQWdlbnQgPSBvcF9vcGVuX2FnZW50KCk7CisgICAgaWYgKG1f
dHJhbXBvbGluZXMuY29kZSkKKyAgICAgICAgcmVjb3JkSklUQ29kZShtX3RyYW1wb2xpbmVzLmNv
ZGUsIG1fdHJhbXBvbGluZXMuc2l6ZSwgbV90cmFtcG9saW5lcy5jb2RlQmxvY2ssIFRyYW1wb2xp
bmVzKTsKK30KKwordm9pZCBKSVRQcm9maWxlQWdlbnQ6OmRlaW5pdEFnZW50KCkKK3sKKyAgICB1
bnNpZ25lZCBpbnQgaSwgbiA9IG1fdmlydHVhbE1lbW9yeVNlZ21lbnRzLnNpemUoKTsKKyAgICBm
b3IgKGkgPSAwOyBpICE9IG47ICsraSkKKyAgICAgICAgb3BfdW5sb2FkX25hdGl2ZV9jb2RlKG1f
cHJvZmlsZUFnZW50LCByZWludGVycHJldF9jYXN0PHVpbnQ2NF90PihtX3ZpcnR1YWxNZW1vcnlT
ZWdtZW50c1tpXS5jb2RlKSk7CisgICAgbV92aXJ0dWFsTWVtb3J5U2VnbWVudHMuY2xlYXIoKTsK
KyAgICBvcF9jbG9zZV9hZ2VudChtX3Byb2ZpbGVBZ2VudCk7Cit9CisKK3N0YXRpYyBjb25zdCBj
aGFyKiBzeW1ib2xOYW1lVGFibGVbXSA9IHsKKyAgICAiPGppdC1wdXQtYnktaWQtdHJhbnNpdGlv
bj4iLAorICAgICI8aml0LWdldC1hcnJheS1sZW5ndGg+IiwKKyAgICAiPGppdC1nZXQtYnktaWQt
c2VsZi1saXN0PiIsCisgICAgIjxqaXQtZ2V0LWJ5LWlkLXByb3RvPiIsCisgICAgIjxqaXQtZ2V0
LWJ5LWlkLXByb3RvLWxpc3Q+IiwKKyAgICAiPGppdC1nZXQtYnktaWQtY2hhaW4+IiwKKyAgICAi
PGppdC1nZXQtYnktaWQtY2hhaW4tbGlzdD4iLAorICAgICI8aml0LXRyYW1wb2xpbmVzPiIsCisg
ICAgIjxqaXQtcHJvZz4iLAorICAgICI8aml0LWZ1bmM+IiwKKyAgICAiPGppdC1mdW5jLXJlcGFy
c2VkPiIsCisgICAgIjxqaXQtZXZhbD4iLAorICAgICI8aml0LWV2YWwtcmVwYXJzZWQ+IiwKKyAg
ICAiPGppdC15YXJyPiIKK307CisKK0NPTVBJTEVfQVNTRVJUKChzaXplb2Yoc3ltYm9sTmFtZVRh
YmxlKSAvIHNpemVvZihzeW1ib2xOYW1lVGFibGVbMF0pKSA9PSBKSVRQcm9maWxlQWdlbnQ6Ok51
bWJlck9mSklUQ29kZVR5cGVzLCBTeW1ib2xOYW1lVGFibGVfYW5kX0pJVENvZGVUeXBlX211c3Rf
YmVfc2FtZV9zaXplKTsKKworc3RhdGljIGNvbnN0IFVTdHJpbmcgc3ltYm9sTmFtZUZyb21UeXBl
KEpJVFByb2ZpbGVBZ2VudDo6SklUQ29kZVR5cGUgdHlwZSwgQ29kZUJsb2NrKiBjb2RlQmxvY2sp
Cit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBKSVRQcm9maWxlQWdlbnQ6OlByb2dy
YW06IHsKKyAgICAgICAgU291cmNlUHJvdmlkZXIqIHNvdXJjZSA9IGNvZGVCbG9jay0+c291cmNl
KCk7CisgICAgICAgIGlmIChzb3VyY2UgJiYgIXNvdXJjZS0+dXJsKCkuaXNFbXB0eSgpKQorICAg
ICAgICAgICAgcmV0dXJuIG1ha2VVU3RyaW5nKHN5bWJvbE5hbWVUYWJsZVt0eXBlXSwgIlsiLCBz
b3VyY2UtPnVybCgpLCAiOiIsIFVTdHJpbmc6Om51bWJlcihjb2RlQmxvY2stPm93bmVyRXhlY3V0
YWJsZSgpLT5saW5lTm8oKSksICItIiwgVVN0cmluZzo6bnVtYmVyKGNvZGVCbG9jay0+b3duZXJF
eGVjdXRhYmxlKCktPmxhc3RMaW5lKCkpLCAiXSIpOworICAgICAgICBicmVhazsKKyAgICB9Cisg
ICAgY2FzZSBKSVRQcm9maWxlQWdlbnQ6OkZ1bmN0aW9uOiB7CisgICAgICAgIEZ1bmN0aW9uRXhl
Y3V0YWJsZSogZXhlY3V0YWJsZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxl
Kj4oY29kZUJsb2NrLT5vd25lckV4ZWN1dGFibGUoKSk7CisgICAgICAgIGNvbnN0IElkZW50aWZp
ZXImIG5hbWUgPSBleGVjdXRhYmxlLT5uYW1lKCk7CisgICAgICAgIFVTdHJpbmcgaml0U3ltYm9s
TmFtZShzeW1ib2xOYW1lVGFibGVbdHlwZV0pOworICAgICAgICBpZiAoIW5hbWUuaXNFbXB0eSgp
ICYmICFuYW1lLmlzTnVsbCgpKQorICAgICAgICAgICAgaml0U3ltYm9sTmFtZSA9IG1ha2VVU3Ry
aW5nKGppdFN5bWJvbE5hbWUsICI6IiwgbmFtZS51c3RyaW5nKCkpOworICAgICAgICBTb3VyY2VQ
cm92aWRlciogc291cmNlID0gY29kZUJsb2NrLT5zb3VyY2UoKTsKKyAgICAgICAgcmV0dXJuIG1h
a2VVU3RyaW5nKGppdFN5bWJvbE5hbWUsICJbIiwgc291cmNlLT51cmwoKSwgIjoiLCBVU3RyaW5n
OjpudW1iZXIoZXhlY3V0YWJsZS0+bGluZU5vKCkpLCAiLSIsIFVTdHJpbmc6Om51bWJlcihleGVj
dXRhYmxlLT5sYXN0TGluZSgpKSwgIl0iKTsKKyAgICB9CisgICAgZGVmYXVsdDoKKyAgICAgICAg
YnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIHN5bWJvbE5hbWVUYWJsZVt0eXBlXTsKK30KKwor
dm9pZCBKSVRQcm9maWxlQWdlbnQ6OnJlY29yZEpJVENvZGVJbXBsKHZvaWQqIGNvZGUsIHVuc2ln
bmVkIGludCBzaXplLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSklUUHJvZmlsZUFnZW50OjpKSVRD
b2RlVHlwZSB0eXBlKQoreworICAgIC8qIENoZWNrIGZvciBvYnNvbGV0ZSBKSVQgY29kZXMgKi8K
KyAgICB1bnNpZ25lZCBpbnQgaSwgbiA9IG1fdmlydHVhbE1lbW9yeVNlZ21lbnRzLnNpemUoKTsK
KyAgICBjb25zdCBjaGFyKiB2bWFCZWdpbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGNvZGUp
OworICAgIGNvbnN0IGNoYXIqIHZtYUVuZCA9IHZtYUJlZ2luICsgc2l6ZTsKKyAgICBmb3IgKGkg
PSAwOyBpICE9IG47ICsraSkgeworICAgICAgICBjb25zdCBjaGFyKiByZWdpc3RlcmVkVm1hQmVn
aW4gPSByZWludGVycHJldF9jYXN0PGNoYXIqPihtX3ZpcnR1YWxNZW1vcnlTZWdtZW50c1tpXS5j
b2RlKTsKKyAgICAgICAgY29uc3QgY2hhciogcmVnaXN0ZXJlZFZtYUVuZCA9IHZtYUJlZ2luICsg
bV92aXJ0dWFsTWVtb3J5U2VnbWVudHNbaV0uc2l6ZTsKKyAgICAgICAgaWYgKChyZWdpc3RlcmVk
Vm1hQmVnaW4gPD0gdm1hRW5kICYmIHZtYUVuZCA8PSByZWdpc3RlcmVkVm1hRW5kKQorICAgICAg
ICAgICAgfHwgKHJlZ2lzdGVyZWRWbWFCZWdpbiA8PSB2bWFCZWdpbiAmJiB2bWFCZWdpbiA8PSBy
ZWdpc3RlcmVkVm1hRW5kKSkgeworICAgICAgICAgICAgb3BfdW5sb2FkX25hdGl2ZV9jb2RlKG1f
cHJvZmlsZUFnZW50LCByZWludGVycHJldF9jYXN0PHVpbnQ2NF90PihtX3ZpcnR1YWxNZW1vcnlT
ZWdtZW50c1tpXS5jb2RlKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBVU3RyaW5nIHN5bWJv
bE5hbWUgPSBzeW1ib2xOYW1lRnJvbVR5cGUodHlwZSwgY29kZUJsb2NrKTsKKyAgICBvcF93cml0
ZV9uYXRpdmVfY29kZShtX3Byb2ZpbGVBZ2VudCwgIXN5bWJvbE5hbWUuaXNFbXB0eSgpID8gc3lt
Ym9sTmFtZS51dGY4KCkuZGF0YSgpIDogIjxqaXQ+IiwgcmVpbnRlcnByZXRfY2FzdDx1aW50NjRf
dD4oY29kZSksIGNvZGUsIHNpemUpOworfQorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6YW5ub3Rh
dGVKSVRDb2RlSW1wbCh2b2lkKiBjb2RlLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgY29uc3QgVVN0
cmluZyYgdXJsKQoreworICAgIHVpbnRwdHJfdCB2bWEgPSByZWludGVycHJldF9jYXN0PHVpbnRw
dHJfdD4oY29kZSk7CisgICAgdWludHB0cl90IHByZXZPZmZzZXQgPSAwOworICAgIGlmICghY29k
ZUJsb2NrLT5oYXNMaW5lSW5mbygpKQorICAgICAgICByZXR1cm47CisgICAgVmVjdG9yPExpbmVJ
bmZvPiYgbGluZUluZm8gPSBjb2RlQmxvY2stPmxpbmVJbmZvKCk7CisgICAgaW50IGVudHJpZXMg
PSBsaW5lSW5mby5zaXplKCk7CisgICAgc3RydWN0IGRlYnVnX2xpbmVfaW5mbyogZGVidWdMaW5l
SW5mbyA9IHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IGRlYnVnX2xpbmVfaW5mbyo+KFdURjo6ZmFz
dE1hbGxvYyhlbnRyaWVzICogc2l6ZW9mKHN0cnVjdCBkZWJ1Z19saW5lX2luZm8pKSk7CisgICAg
Q1N0cmluZyBuYW1lID0gdXJsLmFzY2lpKCk7CisKKyAgICBzdHJ1Y3QgZGVidWdfbGluZV9pbmZv
KiBkZWJ1Z0xpbmVJbmZvUHRyID0gZGVidWdMaW5lSW5mbzsKKyAgICBmb3IgKGludCBpID0gMDsg
aSA8IGVudHJpZXM7ICsraSkgeworICAgICAgICBpZiAocHJldk9mZnNldCAhPSBsaW5lSW5mb1tp
XS5pbnN0cnVjdGlvbk9mZnNldCkgeworICAgICAgICAgICAgZGVidWdMaW5lSW5mb1B0ci0+dm1h
ID0gdm1hICsgbGluZUluZm9baV0uaW5zdHJ1Y3Rpb25PZmZzZXQ7CisgICAgICAgICAgICBkZWJ1
Z0xpbmVJbmZvUHRyLT5saW5lbm8gPSBsaW5lSW5mb1tpXS5saW5lTnVtYmVyOworICAgICAgICAg
ICAgZGVidWdMaW5lSW5mb1B0ci0+ZmlsZW5hbWUgPSBuYW1lLmRhdGEoKTsKKyAgICAgICAgICAg
IHByZXZPZmZzZXQgPSBsaW5lSW5mb1tpXS5pbnN0cnVjdGlvbk9mZnNldDsKKyAgICAgICAgICAg
ICsrZGVidWdMaW5lSW5mb1B0cjsKKyAgICAgICAgfQorICAgIH0KKworICAgIG9wX3dyaXRlX2Rl
YnVnX2xpbmVfaW5mbyhtX3Byb2ZpbGVBZ2VudCwgY29kZSwgZGVidWdMaW5lSW5mb1B0ciAtIGRl
YnVnTGluZUluZm8sIGRlYnVnTGluZUluZm8pOworICAgIFdURjo6ZmFzdEZyZWUoZGVidWdMaW5l
SW5mbyk7Cit9CisKKyNlbHNlIC8vIER1bW15IHByb2ZpbGUgYWdlbnQKKwordm9pZCBKSVRQcm9m
aWxlQWdlbnQ6OmluaXRBZ2VudCgpCit7Cit9CisKK3ZvaWQgSklUUHJvZmlsZUFnZW50OjpkZWlu
aXRBZ2VudCgpCit7Cit9CisKK3ZvaWQgSklUUHJvZmlsZUFnZW50OjpyZWdpc3RlckpJVENvZGVJ
bXBsKHZvaWQqLCB1bnNpZ25lZCBpbnQsIEpJVFByb2ZpbGVBZ2VudDo6SklUQ29kZVR5cGUpCit7
Cit9CisKK3ZvaWQgSklUUHJvZmlsZUFnZW50Ojphbm5vdGF0ZUpJVENvZGVJbXBsKHZvaWQqLCBD
b2RlQmxvY2sqLCBjb25zdCBVU3RyaW5nJikKK3sKK30KKworI2VuZGlmIC8vIEVOQUJMRShKSVRf
T1BST0ZJTEVfQUdFTlQpCisKK30KKworI2VuZGlmIC8vIEVOQUJMRShKSVRfUFJPRklMRV9BR0VO
VCkKKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pJVFByb2ZpbGVB
Z2VudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pJVFByb2ZpbGVBZ2VudC5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhNmMzYzMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFnZW50LmgKQEAgLTAs
MCArMSwxNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgSG9sZ2VyIEhhbnMgUGV0ZXIg
RnJleXRoZXIKKyAqIENvcHlyaWdodCAoQykgMjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAorICog
Q29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSklUUHJvZmlsZUFnZW50X2gKKyNkZWZpbmUgSklU
UHJvZmlsZUFnZW50X2gKKworI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorCisjaWYgIUVOQUJM
RShKSVRfUFJPRklMRV9BR0VOVCkKKyNkZWZpbmUgUkVDT1JEX0pJVF9UUkFNUE9MSU5FUyhnbG9i
YWxEYXRhLCB2bWEsIGNvZGVCbG9jaywgc2l6ZSkgKCh2b2lkKTApCisjZGVmaW5lIFJFQ09SRF9K
SVRfQ09ERShnbG9iYWxEYXRhLCB2bWEsIHNpemUsIHR5cGUpICgodm9pZCkwKQorI2RlZmluZSBS
RUNPUkRfSklUX0NPREVfQ09ERUJMT0NLKGdsb2JhbERhdGEsIHZtYSwgc2l6ZSwgY29kZUJsb2Nr
KSAoKHZvaWQpMCkKKyNkZWZpbmUgQU5OT1RBVEVfSklUX0NPREUoZ2xvYmFsRGF0YSwgdm1hLCBj
b2RlQmxvY2ssIHVybCkgKCh2b2lkKTApCisjZWxzZQorCisjaW5jbHVkZSAiVVN0cmluZy5oIgor
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpZiBFTkFCTEUoSklUX09QUk9GSUxFX0FHRU5UKQor
I2luY2x1ZGUgPG9wYWdlbnQuaD4KKyNlbmRpZgorCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3Mg
Q29kZUJsb2NrOworY2xhc3MgVVN0cmluZzsKK2NsYXNzIEpTR2xvYmFsRGF0YTsKKworc3RydWN0
IExpbmVJbmZvOworCisjZGVmaW5lIFJFQ09SRF9KSVRfVFJBTVBPTElORVMoZ2xvYmFsRGF0YSwg
dm1hLCBjb2RlQmxvY2ssIHNpemUpICgoZ2xvYmFsRGF0YSktPmppdFByb2ZpbGVBZ2VudC5yZWNv
cmRKSVRUcmFtcG9saW5lcyh2bWEsIHNpemUsIGNvZGVCbG9jaykpCisjZGVmaW5lIFJFQ09SRF9K
SVRfQ09ERShnbG9iYWxEYXRhLCB2bWEsIHNpemUsIHR5cGUpICgoZ2xvYmFsRGF0YSktPmppdFBy
b2ZpbGVBZ2VudC5yZWNvcmRKSVRDb2RlKHZtYSwgc2l6ZSwgMCwgdHlwZSkpCisjZGVmaW5lIFJF
Q09SRF9KSVRfQ09ERV9DT0RFQkxPQ0soZ2xvYmFsRGF0YSwgdm1hLCBzaXplLCBjb2RlQmxvY2sp
ICgoZ2xvYmFsRGF0YSktPmppdFByb2ZpbGVBZ2VudC5yZWNvcmRKSVRDb2RlKHZtYSwgc2l6ZSwg
Y29kZUJsb2NrLCBjb2RlQmxvY2stPm1fb3duZXJFeGVjdXRhYmxlLT5qaXRDb2RlVHlwZSgpKSkK
KyNkZWZpbmUgQU5OT1RBVEVfSklUX0NPREUoZ2xvYmFsRGF0YSwgdm1hLCBjb2RlQmxvY2ssIHVy
bCkgKChnbG9iYWxEYXRhKS0+aml0UHJvZmlsZUFnZW50LmFubm90YXRlSklUQ29kZSh2bWEsIGNv
ZGVCbG9jaywgdXJsKSkKKworY2xhc3MgSklUUHJvZmlsZUFnZW50IHsKKyAgICBzdHJ1Y3QgVmly
dHVhbE1lbW9yeVNlZ21lbnQgeworICAgICAgICBWaXJ0dWFsTWVtb3J5U2VnbWVudCgpCisgICAg
ICAgICAgOiBjb2RlKDApCisgICAgICAgICAgLCBzaXplKDApCisgICAgICAgIHsKKyAgICAgICAg
fQorCisgICAgICAgIHZvaWQqIGNvZGU7CisgICAgICAgIHVuc2lnbmVkIGludCBzaXplOworICAg
ICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jazsKKyAgICB9OworICAgIHR5cGVkZWYgVmVjdG9yPFZp
cnR1YWxNZW1vcnlTZWdtZW50PiBWaXJ0dWFsTWVtb3J5U2VnbWVudFZlY3RvcjsKKworcHVibGlj
OgorICAgIGVudW0gSklUQ29kZVR5cGUgeworICAgICAgICBQdXRCeUlEVHJhbnNpdGlvbiwKKyAg
ICAgICAgR2V0QXJyYXlMZW5ndGgsCisgICAgICAgIEdldEJ5SURTZWxmTGlzdCwKKyAgICAgICAg
R2V0QnlJRFByb3RvLAorICAgICAgICBHZXRCeUlEUHJvdG9MaXN0LAorICAgICAgICBHZXRCeUlE
Q2hhaW4sCisgICAgICAgIEdldEJ5SURDaGFpbkxpc3QsCisgICAgICAgIFRyYW1wb2xpbmVzLAor
ICAgICAgICBQcm9ncmFtLAorICAgICAgICBGdW5jdGlvbiwKKyAgICAgICAgRnVuY3Rpb25SZXBh
cnNlZCwKKyAgICAgICAgRXZhbCwKKyAgICAgICAgRXZhbFJlcGFyc2VkLAorICAgICAgICBZYXJy
LAorICAgICAgICBOdW1iZXJPZkpJVENvZGVUeXBlcworICAgIH07CisKKyAgICBKSVRQcm9maWxl
QWdlbnQoYm9vbCBzdGF0dXMgPSBmYWxzZSkKKyAgICAgIDogbV9lbmFibGVBZ2VudChzdGF0dXMp
CisgICAgeworICAgICAgICBpZiAoaXNFbmFibGVkKCkpCisgICAgICAgICAgICBpbml0QWdlbnQo
KTsKKyAgICB9CisKKyAgICB+SklUUHJvZmlsZUFnZW50KCkKKyAgICB7CisgICAgICAgIGlmIChp
c0VuYWJsZWQoKSkKKyAgICAgICAgICAgIGRlaW5pdEFnZW50KCk7CisgICAgfQorCisgICAgdm9p
ZCByZWNvcmRKSVRDb2RlKHZvaWQqIGNvZGUsIHVuc2lnbmVkIGludCBzaXplLCBDb2RlQmxvY2sq
IGNvZGVCbG9jaywgSklUQ29kZVR5cGUgdHlwZSkKKyAgICB7CisgICAgICAgIGlmIChpc0VuYWJs
ZWQoKSAmJiBjb2RlKQorICAgICAgICAgICAgcmVjb3JkSklUQ29kZUltcGwoY29kZSwgc2l6ZSwg
Y29kZUJsb2NrLCB0eXBlKTsKKyAgICB9CisKKyAgICB2b2lkIGFubm90YXRlSklUQ29kZSh2b2lk
KiBjb2RlLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgY29uc3QgVVN0cmluZyYgdXJsKQorICAgIHsK
KyAgICAgICAgaWYgKGlzRW5hYmxlZCgpICYmIGNvZGUgJiYgY29kZUJsb2NrICYmICF1cmwuaXNF
bXB0eSgpKQorICAgICAgICAgICAgYW5ub3RhdGVKSVRDb2RlSW1wbChjb2RlLCBjb2RlQmxvY2ss
IGNvbnN0X2Nhc3Q8VVN0cmluZyY+KHVybCkpOworICAgIH0KKworICAgIHZvaWQgcmVjb3JkSklU
VHJhbXBvbGluZXModm9pZCogY29kZSwgdW5zaWduZWQgaW50IHNpemUsIENvZGVCbG9jayogY29k
ZUJsb2NrKQorICAgIHsKKyAgICAgICAgbV90cmFtcG9saW5lcy5jb2RlID0gY29kZTsKKyAgICAg
ICAgbV90cmFtcG9saW5lcy5zaXplID0gc2l6ZTsKKyAgICAgICAgbV90cmFtcG9saW5lcy5jb2Rl
QmxvY2sgPSBjb2RlQmxvY2s7CisgICAgICAgIGlmIChpc0VuYWJsZWQoKSkKKyAgICAgICAgICAg
IHJlY29yZEpJVENvZGUobV90cmFtcG9saW5lcy5jb2RlLCBtX3RyYW1wb2xpbmVzLnNpemUsIG1f
dHJhbXBvbGluZXMuY29kZUJsb2NrLCBUcmFtcG9saW5lcyk7CisgICAgfQorCisgICAgdm9pZCBz
ZXRFbmFibGVkKGJvb2wgc3RhdHVzKQorICAgIHsKKyAgICAgICAgaWYgKG1fZW5hYmxlQWdlbnQg
PT0gc3RhdHVzKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBtX2VuYWJsZUFnZW50ID0g
c3RhdHVzOworICAgICAgICBpZiAoaXNFbmFibGVkKCkpCisgICAgICAgICAgICBpbml0QWdlbnQo
KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZGVpbml0QWdlbnQoKTsKKyAgICB9CisKKyAg
ICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNFbmFibGVkKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJl
dHVybiBtX2VuYWJsZUFnZW50OworICAgIH0KKworcHJpdmF0ZToKKyAgICB2b2lkIGluaXRBZ2Vu
dCgpOworICAgIHZvaWQgZGVpbml0QWdlbnQoKTsKKyAgICB2b2lkIHJlY29yZEpJVENvZGVJbXBs
KHZvaWQqLCB1bnNpZ25lZCBpbnQsIENvZGVCbG9jayosIEpJVENvZGVUeXBlKTsKKyAgICB2b2lk
IGFubm90YXRlSklUQ29kZUltcGwodm9pZCosIENvZGVCbG9jayosIGNvbnN0IFVTdHJpbmcmKTsK
KworI2lmIEVOQUJMRShKSVRfT1BST0ZJTEVfQUdFTlQpCisgICAgb3BfYWdlbnRfdCBtX3Byb2Zp
bGVBZ2VudDsKKyNlbmRpZgorICAgIFZpcnR1YWxNZW1vcnlTZWdtZW50VmVjdG9yIG1fdmlydHVh
bE1lbW9yeVNlZ21lbnRzOworICAgIFZpcnR1YWxNZW1vcnlTZWdtZW50IG1fdHJhbXBvbGluZXM7
CisgICAgYm9vbCBtX2VuYWJsZUFnZW50OworfTsKKworfQorCisjZW5kaWYgLy8gRU5BQkxFKEpJ
VF9QUk9GSUxFX0FHRU5UKQorCisjZW5kaWYgLy8gSklUUHJvZmlsZUFnZW50X2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRleCAwN2Y1N2YwLi5jYTRhZmYzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC0xMDQyLDYgKzEwNDIsMTEgQEAKICNpZiBFTkFC
TEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpCiAjZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIgMQog
I2VuZGlmCisKKyNpZiBFTkFCTEUoSklUX09QUk9GSUxFX0FHRU5UKSAmJiAhZGVmaW5lZChFTkFC
TEVfSklUX1BST0ZJTEVfQUdFTlQpCisjZGVmaW5lIEVOQUJMRV9KSVRfUFJPRklMRV9BR0VOVCAx
CisjZW5kaWYKKwogLyogU2V0dGluZyB0aGlzIGZsYWcgcHJldmVudHMgdGhlIGFzc2VtYmxlciBm
cm9tIHVzaW5nIFJXWCBtZW1vcnk7IHRoaXMgbWF5IGltcHJvdmUKICAgIHNlY3VyaXR5IGJ1dCBj
dXJyZWN0bHkgY29tZXMgYXQgYSBzaWduaWZpY2FudCBwZXJmb3JtYW5jZSBjb3N0LiAqLwogI2lm
IFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lh
cnJKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJVC5jcHAKaW5kZXgg
Y2RiNzEzNi4uOGZkMjkzNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIv
WWFyckpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJVC5jcHAK
QEAgLTIyMzgsOCArMjIzOCwxMSBAQCBwdWJsaWM6CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBtX2V4cHJlc3Npb25TdGF0ZS5tX2JhY2t0cmFja1JlY29yZHMuc2l6ZSgpOyArK2kp
CiAgICAgICAgICAgICBwYXRjaEJ1ZmZlci5wYXRjaChtX2V4cHJlc3Npb25TdGF0ZS5tX2JhY2t0
cmFja1JlY29yZHNbaV0uZGF0YUxhYmVsLCBwYXRjaEJ1ZmZlci5sb2NhdGlvbk9mKG1fZXhwcmVz
c2lvblN0YXRlLm1fYmFja3RyYWNrUmVjb3Jkc1tpXS5iYWNrdHJhY2tMb2NhdGlvbikpOwogCi0g
ICAgICAgIGppdE9iamVjdC5zZXQocGF0Y2hCdWZmZXIuZmluYWxpemVDb2RlKCkpOworICAgICAg
ICBDb2RlUmVmIGZpbmFsQ29kZSA9IHBhdGNoQnVmZmVyLmZpbmFsaXplQ29kZSgpOworICAgICAg
ICBqaXRPYmplY3Quc2V0KGZpbmFsQ29kZSk7CiAgICAgICAgIGppdE9iamVjdC5zZXRGYWxsQmFj
ayhtX3Nob3VsZEZhbGxCYWNrKTsKKworICAgICAgICBSRUNPUkRfSklUX0NPREUoZ2xvYmFsRGF0
YSwgZmluYWxDb2RlLm1fY29kZS5leGVjdXRhYmxlQWRkcmVzcygpLCBmaW5hbENvZGUubV9zaXpl
LCBKSVRQcm9maWxlQWdlbnQ6OllhcnIpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBh
L2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCAxOGY1MmE4Li45ZTA2YzRjIDEwMDY0
NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC03MzUsNiArNzM1LDM4
IEBAIGVsc2UKIGZpCiBBQ19NU0dfUkVTVUxUKFskZW5hYmxlX2ppdF0pCiAKKyMgQnVpbGQgSklU
IHdpdGggT1Byb2ZpbGUgYWdlbnQgc3VwcG9ydAorT1BBR0VOVF9MSUJTPQorT1BBR0VOVF9MREZM
QUdTPQorCitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIE9Qcm9maWxlIEpJVCBh
Z2VudCBzdXBwb3J0Ll0pCitBQ19BUkdfRU5BQkxFKFtvcGFnZW50XSwKKyAgICAgICAgICAgICAg
QUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLW9wYWdlbnRdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBbRW5hYmxlIE9Qcm9maWxlIEpJVCBhZ2VudCBzdXBwb3J0IGRlZmF1bHQ9bm9dKSwK
KyAgICAgICAgICAgICAgW10sW2VuYWJsZV9vcGFnZW50PW5vXSkKKworQUNfQVJHX1dJVEgoW29w
YWdlbnQtbGliZGlyXSwKKyAgICAgICAgICAgIFtBU19IRUxQX1NUUklORygtLXdpdGgtb3BhZ2Vu
dC1saWJkaXI9bG9jYXRpb24gb2Ygb3BhZ2VudCBsaWJyYXJ5IFtbZGVmYXVsdD0vdXNyL2xpYi9v
cHJvZmlsZV1dKV0sCisgICAgICAgICAgICBbT1BBR0VOVF9MREZMQUdTPS1MIiR7d2l0aHZhbH0i
XSwKKyAgICAgICAgICAgIFtPUEFHRU5UX0xERkxBR1M9LUwvdXNyL2xpYi9vcHJvZmlsZV0pCitB
Q19TVUJTVChbT1BBR0VOVF9MREZMQUdTXSkKKworaWYgdGVzdCAiJGVuYWJsZV9vcGFnZW50IiA9
ICJ5ZXMiOyB0aGVuCisgIExERkxBR1M9IiRMREZMQUdTICRPUEFHRU5UX0xERkxBR1MiOworICBB
Q19DSEVDS19MSUIoW29wYWdlbnRdLCBbb3BfbWFqb3JfdmVyc2lvbl0sCisgICAgW0FDX0NIRUNL
X0hFQURFUihbb3BhZ2VudC5oXSwKKyAgICAgIG9wYWdlbnRfb2s9eWVzLAorICAgICAgb3BhZ2Vu
dF9vaz1ubyldLAorICAgIEFDX01TR19FUlJPUihbT1Byb2ZpbGUgb3BhZ2VudCBsaWJyYXJ5IG5v
dCBmb3VuZF0pLCAtbGJmZCkKKworICBpZiB0ZXN0ICIkb3BhZ2VudF9vayIgPSAieWVzIjsgdGhl
bgorICAgIEFDX0RFRklORShbRU5BQkxFX0pJVF9PUFJPRklMRV9BR0VOVF0sIFsxXSwgW0RlZmlu
ZSB0byBlbmFibGUgT1Byb2ZpbGUgSklUIGFnZW50IHN1cHBvcnRdKQorICAgIE9QQUdFTlRfTElC
Uz0iLWxvcGFnZW50IgorICBmaQorZmkKKworQUNfU1VCU1QoW09QQUdFTlRfTElCU10pCisKICMg
T3Bjb2RlIHN0YXRzCiBBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIG9wY29kZSBz
dGF0c10pCiBBQ19BUkdfRU5BQkxFKFtvcGNvZGUtc3RhdHNdLApAQCAtMTAzNyw2ICsxMDY5LDcg
QEAgQnVpbGQgY29uZmlndXJhdGlvbjoKICBVbmljb2RlIGJhY2tlbmQgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA6ICR3aXRoX3VuaWNvZGVfYmFja2VuZAogIEZvbnQg
YmFja2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHdp
dGhfZm9udF9iYWNrZW5kCiAgT3B0aW1pemVkIG1lbW9yeSBhbGxvY2F0b3IgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX2Zhc3RfbWFsbG9jCisgT3Byb2ZpbGUgc3VwcG9y
dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX29wYWdl
bnQKIEZlYXR1cmVzOgogIDNEIFRyYW5zZm9ybXMgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDogJGVuYWJsZV8zRF90cmFuc2Zvcm1zCiAgM0QgQ2FudmFzIChXZWJH
TCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlXzNEX2Nh
bnZhcwotLSAKMS43LjMuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81079</attachid>
            <date>2011-02-03 10:30:54 -0800</date>
            <delta_ts>2011-02-03 11:32:01 -0800</delta_ts>
            <desc>jitprofile.diff</desc>
            <filename>jitprofile.diff</filename>
            <type>text/plain</type>
            <size>47125</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSAxNGU2MWU2Mzg5NTA5YjFjMGRjZmM4NDBiNTgxNWExNDQ5N2RkNjI2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhhbkBnbm9tZS5vcmc+CkRhdGU6IFRodSwg
MyBGZWIgMjAxMSAxMzo1MjoxOCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIDIwMTEtMDItMDMgIFhh
biBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KCiAgICAgICAgUHJvdmlkZSBhIE9Qcm9maWxlIEpJVCBhZ2VudCAob3BhZ2VudCkg
Zm9yIHRoZSBjb2RlIGdlbmVyYXRlZCBieSB0aGUgSklUCiAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyNTYxCgogICAgICAgIEFkZCBzdXBwb3J0IGZvciBP
UHJvZmlsZSBKSVQgYW5ub3RhdGlvbnMgdG8gdGhlIEdUSysgcG9ydC4gRW5hYmxlCiAgICAgICAg
d2l0aCAtLWVuYWJsZS1vcGFnZW50LgoKICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBhZGQgT1BB
R0VOVCBmbGFncy4KICAgICAgICAqIGNvbmZpZ3VyZS5hYzogYWRkIC0tZW5hYmxlLW9wYWdlbnQg
Y29uZmlndXJlIGZsYWcuCgpTb3VyY2UvV2ViS2l0MjoKCjIwMTEtMDItMDMgIFhhbiBMb3BleiAg
PHhsb3BlekBpZ2FsaWEuY29tPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
CiAgICAgICAgUHJvdmlkZSBhIE9Qcm9maWxlIEpJVCBhZ2VudCAob3BhZ2VudCkgZm9yIHRoZSBj
b2RlIGdlbmVyYXRlZCBieSB0aGUgSklUCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTMyNTYxCgogICAgICAgICogV2ViS2l0Mi5wcm86IGFkZCBuZXcgaW5j
bHVkZSBwYXRoLgoKU291cmNlL0phdmFTY3JpcHRDb3JlOgoKMjAxMS0wMi0wMyAgWGFuIExvcGV6
ICA8eGxvcGV6QGlnYWxpYS5jb20+CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgoKICAgICAgICBQcm92aWRlIGEgT1Byb2ZpbGUgSklUIGFnZW50IChvcGFnZW50KSBmb3IgdGhl
IGNvZGUgZ2VuZXJhdGVkIGJ5IHRoZSBKSVQKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzI1NjEKCiAgICAgICAgQmFzZWQgb24gdGhlIHdvcmsgYnkgSG9s
Z2VyIEZyZXl0aGVyLCBHYWJvciBMb2tpIGFuZCBab2x0YW4gSGVyY3plZy4KCiAgICAgICAgQWRk
IEpJVFByb2ZpbGVBZ2VudCwgYSBuZXcgY2xhc3MgaW4gdG9vbHMvIHdpdGggdGhlIGJhc2ljIG1l
dGhvZHMKICAgICAgICB0byBhbm5vdGF0ZSB0aGUgSklUIGNvZGUsIGFuZCBob29rIGl0IHVwIGlu
IHRoZSByZWxldmFudCBwbGFjZXMKICAgICAgICB0aHJvdWdob3V0IEphdmFTY3JpcHRDb3JlLy4g
SW5jbHVkZWQgaXMgYW4gT1Byb2ZpbGUgaW1wbGVtZW50YXRpb24KICAgICAgICBmb3IgTGludXgg
c3lzdGVtcy4KCiAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogYWRkIEpJVFByb2ZpbGVBZ2VudCBm
aWxlcy4KICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBkaXR0by4KICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLmd5cGk6IGRpdHRvLgogICAgICAgICogSmF2YVNjcmlwdENvcmUucHJpOiBkaXR0by4K
ICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnBybzogZGl0dG8uCiAgICAgICAgKiBhc3NlbWJsZXIv
TGlua0J1ZmZlci5oOgogICAgICAgIChKU0M6OkxpbmtCdWZmZXI6OnNpemUpOiBtZXRob2QgdG8g
cmV0dXJuIHRoZSBzaXplIG9mIHRoZSBidWZmZXIsCiAgICAgICAgbmVlZGVkIGZvciB0aGUgY29k
ZSBhbm5vdGF0aW9uIGJ5IHRoZSBKSVQgcHJvZmlsZSBtZXRob2RzLgogICAgICAgICogYnl0ZWNv
ZGUvQ29kZUJsb2NrLmg6CiAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpsaW5lSW5mbyk6IGFjY2Vz
c29yIGZvciB0aGUgbGluZWluZm8gZGF0YS4KICAgICAgICAqIGppdC9KSVQuY3BwOgogICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGUpOiBjYWxsIG91dCB0byB0aGUgSklUUHJvZmlsZUFn
ZW50IHRvCiAgICAgICAgYW5ub3RhdGUgZ2VuZXJhdGVkIGNvZGUuCiAgICAgICAgKiBqaXQvSklU
T3Bjb2Rlcy5jcHA6CiAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVU
cmFtcG9saW5lcyk6IGRpdHRvLgogICAgICAgICogaml0L0pJVE9wY29kZXMzMl82NC5jcHA6CiAg
ICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFtcG9saW5lcyk6IGRp
dHRvLgogICAgICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcDoKICAgICAgICAoSlNDOjpK
SVQ6OnByaXZhdGVDb21waWxlUHV0QnlJZFRyYW5zaXRpb24pOiBkaXR0by4KICAgICAgICAoSlND
OjpKSVQ6OnByaXZhdGVDb21waWxlUGF0Y2hHZXRBcnJheUxlbmd0aCk6IGRpdHRvLgogICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG8pOiBkaXR0by4KICAgICAgICAo
SlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNlbGZMaXN0KTogZGl0dG8uCiAgICAgICAg
KEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90b0xpc3QpOiBkaXR0by4KICAgICAg
ICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluTGlzdCk6IGRpdHRvLgogICAg
ICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4pOiBkaXR0by4KICAgICAg
ICAqIGppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcDoKICAgICAgICAoSlNDOjpKSVQ6OnBy
aXZhdGVDb21waWxlUHV0QnlJZFRyYW5zaXRpb24pOiBkaXR0by4KICAgICAgICAoSlNDOjpKSVQ6
OnByaXZhdGVDb21waWxlUGF0Y2hHZXRBcnJheUxlbmd0aCk6IGRpdHRvLgogICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG8pOiBkaXR0by4KICAgICAgICAoSlNDOjpK
SVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNlbGZMaXN0KTogZGl0dG8uCiAgICAgICAgKEpTQzo6
SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90b0xpc3QpOiBkaXR0by4KICAgICAgICAoSlND
OjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluTGlzdCk6IGRpdHRvLgogICAgICAgIChK
U0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4pOiBkaXR0by4KICAgICAgICAqIGpz
Yy5jcHA6IHN1cHBvcnQgcHJvZmlsaW5nIG9mIHRoZSBKSVQgY29kZSB3aXRoIC1wLgogICAgICAg
ICogcnVudGltZS9FeGVjdXRhYmxlLmg6CiAgICAgICAgKEpTQzo6RXZhbEV4ZWN1dGFibGU6Ompp
dENvZGVUeXBlKTogcmV0dXJuIHByb3BlciBKSVRDb2RlVHlwZSBmb3IgdGhlIEV4ZWN1dGFibGUu
CiAgICAgICAgKEpTQzo6UHJvZ3JhbUV4ZWN1dGFibGU6OmppdENvZGVUeXBlKTogZGl0dG8uCiAg
ICAgICAgKEpTQzo6RnVuY3Rpb25FeGVjdXRhYmxlOjpqaXRDb2RlVHlwZSk6IGRpdHRvLgogICAg
ICAgICogcnVudGltZS9KU0dsb2JhbERhdGEuaDoKICAgICAgICAqIHRvb2xzL0pJVFByb2ZpbGVB
Z2VudC5jcHA6IEFkZGVkLgogICAgICAgICogdG9vbHMvSklUUHJvZmlsZUFnZW50Lmg6IEFkZGVk
LgogICAgICAgICogd3RmL1BsYXRmb3JtLmg6CiAgICAgICAgKiB5YXJyL1lhcnJKSVQuY3BwOgog
ICAgICAgIChKU0M6OllhcnI6OllhcnJHZW5lcmF0b3I6OmNvbXBpbGUpOiBjYWxsIG91dCB0byB0
aGUKICAgICAgICBKSVRQcm9maWxlQWdlbnQgdG8gYW5ub3RhdGUgZ2VuZXJhdGVkIGNvZGUuCi0t
LQogQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg
IDEzICsrCiBHTlVtYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgIDEgKwogU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0ICAgICAgICAg
ICAgICAgfCAgICAzICsKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgIHwgICA2MCArKysrKysrCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZp
bGUuYW0gICAgICAgICAgICAgICB8ICAgIDMgKwogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLmd5cGkgICAgICAgICAgfCAgICAyICsKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS5wcmkgICAgICAgICAgIHwgICAgMSArCiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUucHJvICAgICAgICAgICB8ICAgIDEgKwogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmggICAgICAgfCAgICA3ICsKIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaCAgICAgICAgIHwgICAgNSArCiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgICAgICAgICAgICAgICAgICB8ICAgIDUgKy0KIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAgICAgICAgICAgIHwgICAgMyAr
CiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAgICAgICB8ICAg
IDMgKwogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAgICAg
fCAgIDE0ICsrCiAuLi4vSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQu
Y3BwICB8ICAgMTQgKysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwICAgICAgICAgICAg
ICAgICAgICAgIHwgICAxOCArKwogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0
YWJsZS5oICAgICAgICAgfCAgIDE0ICsrCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbERhdGEuaCAgICAgICB8ICAgIDQgKwogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xz
L0pJVFByb2ZpbGVBZ2VudC5jcHAgICAgfCAgMTc0ICsrKysrKysrKysrKysrKysrKysrCiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFnZW50LmggICAgICB8ICAxNjAgKysr
KysrKysrKysrKysrKysrCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggICAg
ICAgICAgICAgICB8ICAgIDUgKwogU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJVC5j
cHAgICAgICAgICAgICAgfCAgICA1ICstCiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgIDkgKwogU291cmNlL1dlYktpdDIvV2ViS2l0Mi5wcm8g
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAxICsKIGNvbmZpZ3VyZS5hYyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzMyArKysrCiAyNSBmaWxlcyBjaGFuZ2Vk
LCA1NTYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFnZW50LmNwcAogY3JlYXRlIG1v
ZGUgMTAwNjQ0IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuaAoK
ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBkMDI3ZDNhLi4zOGE0NWU0
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTEtMDItMDMgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByb3ZpZGUgYSBPUHJvZmlsZSBK
SVQgYWdlbnQgKG9wYWdlbnQpIGZvciB0aGUgY29kZSBnZW5lcmF0ZWQgYnkgdGhlIEpJVAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI1NjEKKworICAg
ICAgICBBZGQgc3VwcG9ydCBmb3IgT1Byb2ZpbGUgSklUIGFubm90YXRpb25zIHRvIHRoZSBHVEsr
IHBvcnQuIEVuYWJsZQorICAgICAgICB3aXRoIC0tZW5hYmxlLW9wYWdlbnQuCisKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5hbTogYWRkIE9QQUdFTlQgZmxhZ3MuCisgICAgICAgICogY29uZmlndXJl
LmFjOiBhZGQgLS1lbmFibGUtb3BhZ2VudCBjb25maWd1cmUgZmxhZy4KKwogMjAxMS0wMi0wMiAg
QWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBNYXJ0aW4gUm9iaW5zb24uCmRpZmYgLS1naXQgYS9HTlVtYWtlZmlsZS5hbSBiL0dOVW1h
a2VmaWxlLmFtCmluZGV4IDkxMGJlMzguLmM2ZjVjM2EgMTAwNjQ0Ci0tLSBhL0dOVW1ha2VmaWxl
LmFtCisrKyBiL0dOVW1ha2VmaWxlLmFtCkBAIC0xNDIsNiArMTQyLDcgQEAgbGliSmF2YVNjcmlw
dENvcmVfbGFfU09VUkNFUyA9IFwKIGxpYkphdmFTY3JpcHRDb3JlX2xhX0xJQkFERCA9IFwKIAkk
KFVOSUNPREVfTElCUykgXAogCSQoR0xJQl9MSUJTKSBcCisJJChPUEFHRU5UX0xJQlMpIFwKIAkt
bHB0aHJlYWQKIAogbGliSmF2YVNjcmlwdENvcmVfbGFfQ1hYRkxBR1MgPSBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZTY4NWVjZi4uYjliN2ZmMiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTMsNiArMTMsNyBAQCBTRVQoSmF2YVNjcmlwdENv
cmVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vcGNyZSIK
ICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L3Byb2ZpbGVyIgogICAgICIke0pBVkFTQ1JJUFRD
T1JFX0RJUn0vcnVudGltZSIKKyAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L3Rvb2xzIgogICAg
ICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0veWFyciIKICAgICAiJHtXVEZfSU5DTFVERV9ESVJFQ1RP
UklFU30iCiAgICAgIiR7Q01BS0VfU09VUkNFX0RJUn0iCkBAIC0xNzIsNiArMTczLDggQEAgU0VU
KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBydW50aW1lL1RpbWVvdXRDaGVja2VyLmNwcAog
ICAgIHJ1bnRpbWUvVVN0cmluZy5jcHAKIAorICAgIHRvb2xzL0pJVFByb2ZpbGVBZ2VudC5jcHAK
KwogICAgIHlhcnIvWWFyclBhdHRlcm4uY3BwCiAgICAgeWFyci9ZYXJySW50ZXJwcmV0ZXIuY3Bw
CiAgICAgeWFyci9ZYXJySklULmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggYzlhYWU5
ZS4uZWVlZTY3MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIw
MTEtMDItMDMgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByb3ZpZGUgYSBPUHJvZmlsZSBKSVQg
YWdlbnQgKG9wYWdlbnQpIGZvciB0aGUgY29kZSBnZW5lcmF0ZWQgYnkgdGhlIEpJVAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI1NjEKKworICAgICAg
ICBCYXNlZCBvbiB0aGUgd29yayBieSBIb2xnZXIgRnJleXRoZXIsIEdhYm9yIExva2kgYW5kIFpv
bHRhbiBIZXJjemVnLgorCisgICAgICAgIEFkZCBKSVRQcm9maWxlQWdlbnQsIGEgbmV3IGNsYXNz
IGluIHRvb2xzLyB3aXRoIHRoZSBiYXNpYyBtZXRob2RzCisgICAgICAgIHRvIGFubm90YXRlIHRo
ZSBKSVQgY29kZSwgYW5kIGhvb2sgaXQgdXAgaW4gdGhlIHJlbGV2YW50IHBsYWNlcworICAgICAg
ICB0aHJvdWdob3V0IEphdmFTY3JpcHRDb3JlLy4gSW5jbHVkZWQgaXMgYW4gT1Byb2ZpbGUgaW1w
bGVtZW50YXRpb24KKyAgICAgICAgZm9yIExpbnV4IHN5c3RlbXMuCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDogYWRkIEpJVFByb2ZpbGVBZ2VudCBmaWxlcy4KKyAgICAgICAgKiBHTlVtYWtl
ZmlsZS5hbTogZGl0dG8uCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZ3lwaTogZGl0dG8uCisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUucHJpOiBkaXR0by4KKyAgICAgICAgKiBKYXZhU2NyaXB0
Q29yZS5wcm86IGRpdHRvLgorICAgICAgICAqIGFzc2VtYmxlci9MaW5rQnVmZmVyLmg6CisgICAg
ICAgIChKU0M6OkxpbmtCdWZmZXI6OnNpemUpOiBtZXRob2QgdG8gcmV0dXJuIHRoZSBzaXplIG9m
IHRoZSBidWZmZXIsCisgICAgICAgIG5lZWRlZCBmb3IgdGhlIGNvZGUgYW5ub3RhdGlvbiBieSB0
aGUgSklUIHByb2ZpbGUgbWV0aG9kcy4KKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suaDoK
KyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpsaW5lSW5mbyk6IGFjY2Vzc29yIGZvciB0aGUgbGlu
ZWluZm8gZGF0YS4KKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpw
cml2YXRlQ29tcGlsZSk6IGNhbGwgb3V0IHRvIHRoZSBKSVRQcm9maWxlQWdlbnQgdG8KKyAgICAg
ICAgYW5ub3RhdGUgZ2VuZXJhdGVkIGNvZGUuCisgICAgICAgICogaml0L0pJVE9wY29kZXMuY3Bw
OgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVz
KTogZGl0dG8uCisgICAgICAgICogaml0L0pJVE9wY29kZXMzMl82NC5jcHA6CisgICAgICAgIChK
U0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVDVElNYWNoaW5lVHJhbXBvbGluZXMpOiBkaXR0by4KKyAg
ICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnBy
aXZhdGVDb21waWxlUHV0QnlJZFRyYW5zaXRpb24pOiBkaXR0by4KKyAgICAgICAgKEpTQzo6SklU
Ojpwcml2YXRlQ29tcGlsZVBhdGNoR2V0QXJyYXlMZW5ndGgpOiBkaXR0by4KKyAgICAgICAgKEpT
Qzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6IGRpdHRvLgorICAgICAgICAoSlND
OjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNlbGZMaXN0KTogZGl0dG8uCisgICAgICAgIChK
U0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KTogZGl0dG8uCisgICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KTogZGl0dG8uCisgICAg
ICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4pOiBkaXR0by4KKyAgICAg
ICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6
cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbik6IGRpdHRvLgorICAgICAgICAoSlNDOjpK
SVQ6OnByaXZhdGVDb21waWxlUGF0Y2hHZXRBcnJheUxlbmd0aCk6IGRpdHRvLgorICAgICAgICAo
SlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvKTogZGl0dG8uCisgICAgICAgIChK
U0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QpOiBkaXR0by4KKyAgICAgICAg
KEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90b0xpc3QpOiBkaXR0by4KKyAgICAg
ICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbkxpc3QpOiBkaXR0by4KKyAg
ICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6IGRpdHRvLgorICAg
ICAgICAqIGpzYy5jcHA6IHN1cHBvcnQgcHJvZmlsaW5nIG9mIHRoZSBKSVQgY29kZSB3aXRoIC1w
LgorICAgICAgICAqIHJ1bnRpbWUvRXhlY3V0YWJsZS5oOgorICAgICAgICAoSlNDOjpFdmFsRXhl
Y3V0YWJsZTo6aml0Q29kZVR5cGUpOiByZXR1cm4gcHJvcGVyIEpJVENvZGVUeXBlIGZvciB0aGUg
RXhlY3V0YWJsZS4KKyAgICAgICAgKEpTQzo6UHJvZ3JhbUV4ZWN1dGFibGU6OmppdENvZGVUeXBl
KTogZGl0dG8uCisgICAgICAgIChKU0M6OkZ1bmN0aW9uRXhlY3V0YWJsZTo6aml0Q29kZVR5cGUp
OiBkaXR0by4KKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsRGF0YS5oOgorICAgICAgICAqIHRv
b2xzL0pJVFByb2ZpbGVBZ2VudC5jcHA6IEFkZGVkLgorICAgICAgICAqIHRvb2xzL0pJVFByb2Zp
bGVBZ2VudC5oOiBBZGRlZC4KKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgKiB5
YXJyL1lhcnJKSVQuY3BwOgorICAgICAgICAoSlNDOjpZYXJyOjpZYXJyR2VuZXJhdG9yOjpjb21w
aWxlKTogY2FsbCBvdXQgdG8gdGhlCisgICAgICAgIEpJVFByb2ZpbGVBZ2VudCB0byBhbm5vdGF0
ZSBnZW5lcmF0ZWQgY29kZS4KKwogMjAxMS0wMi0wMiAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJy
YWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgV2luZG93cyBidWlsZCBmaXguCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggYWFkY2QwOS4uOWYwNDlmMyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTQsNiArMTQsNyBAQCBqYXZhc2NyaXB0Y29y
ZV9jcHBmbGFncyArPSBcCiAJLUkkKHNyY2RpcikvU291cmNlL0phdmFTY3JpcHRDb3JlL3BjcmUg
XAogCS1JJChzcmNkaXIpL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlciBcCiAJLUkkKHNy
Y2RpcikvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUgXAorCS1JJChzcmNkaXIpL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90b29scyBcCiAJLUkkKHNyY2RpcikvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0ZiBcCiAJLUkkKHNyY2RpcikvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0ZiBcCiAJLUkk
KHNyY2RpcikvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0IFwKQEAgLTQzMSw2ICs0
MzIsOCBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9XZWFrR0NQdHIuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
V2Vha1JhbmRvbS5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJp
ZXIuaCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pJVFByb2ZpbGVBZ2VudC5jcHAg
XAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuaCBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9BbHdheXNJbmxpbmUuaCBcCiAJU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9BU0NJSUNUeXBlLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNz
ZXJ0aW9ucy5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLmd5cGkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQpp
bmRleCA4NWE0MTNjLi40YjNlN2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUuZ3lwaQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUuZ3lwaQpAQCAtMzYxLDYgKzM2MSw4IEBACiAgICAgICAgICAgICAncnVudGltZS9VU3Ry
aW5nQnVpbGRlci5oJywKICAgICAgICAgICAgICdydW50aW1lL1VTdHJpbmdDb25jYXRlbmF0ZS5o
JywKICAgICAgICAgICAgICdydW50aW1lL1dlYWtSYW5kb20uaCcsCisgICAgICAgICAgICAndG9v
bHMvSklUUHJvZmlsZUFnZW50LmNwcCcsCisgICAgICAgICAgICAndG9vbHMvSklUUHJvZmlsZUFn
ZW50LmgnLAogICAgICAgICAgICAgJ3d0Zi9BbHdheXNJbmxpbmUuaCcsCiAgICAgICAgICAgICAn
d3RmL0FTQ0lJQ1R5cGUuaCcsCiAgICAgICAgICAgICAnd3RmL0Fzc2VydGlvbnMuY3BwJywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJpCmluZGV4IDA2NjEzYTEuLmUzYjk5
ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaQpAQCAtMzQsNiAr
MzQsNyBAQCBKQVZBU0NSSVBUQ09SRV9JTkNMVURFUEFUSCA9IFwKICAgICAkJFBXRC9wY3JlIFwK
ICAgICAkJFBXRC9wcm9maWxlciBcCiAgICAgJCRQV0QvcnVudGltZSBcCisgICAgJCRQV0QvdG9v
bHMgXAogICAgICQkUFdEL3d0ZiBcCiAgICAgJCRQV0Qvd3RmL2dvYmplY3QgXAogICAgICQkUFdE
L3d0Zi9zeW1iaWFuIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS5wcm8gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJvCmlu
ZGV4IDkxMjI2NDcuLjNhY2Q2MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS5wcm8KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnBybwpAQCAtMjEzLDYgKzIxMyw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHJ1bnRpbWUvU3Ry
dWN0dXJlLmNwcCBcCiAgICAgcnVudGltZS9UaW1lb3V0Q2hlY2tlci5jcHAgXAogICAgIHJ1bnRp
bWUvVVN0cmluZy5jcHAgXAorICAgIHRvb2xzL0pJVFByb2ZpbGVBZ2VudC5jcHAgXAogICAgIHlh
cnIvWWFyclBhdHRlcm4uY3BwIFwKICAgICB5YXJyL1lhcnJJbnRlcnByZXRlci5jcHAgXAogICAg
IHlhcnIvWWFyckpJVC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9MaW5rQnVmZmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xp
bmtCdWZmZXIuaAppbmRleCBjNWE3ZDViLi5hMjhlZWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaApAQCAtMTgzLDYgKzE4MywxMyBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBDb2RlUHRyKE1hY3JvQXNzZW1ibGVyOjpBc3NlbWJsZXJUeXBlX1Q6
OmdldFJlbG9jYXRlZEFkZHJlc3MoY29kZSgpLCBhcHBseU9mZnNldChsYWJlbC5tX2xhYmVsKSkp
OwogICAgIH0KIAorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBzaXplX3Qgc2l6
ZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9zaXplOworICAgIH0KKyNlbmRpZgor
CiBwcml2YXRlOgogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBUIGFwcGx5T2Zmc2V0KFQgc3Jj
KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2Rl
QmxvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAppbmRl
eCBmODQ5OGI0Li45NzU5N2Y2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQ29kZUJsb2NrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nv
ZGVCbG9jay5oCkBAIC00NTYsNiArNDU2LDExIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAg
ICAgcmV0dXJuIG1fcmFyZURhdGEgJiYKICAgICAgICAgICAgICAgICAobV9yYXJlRGF0YS0+bV9l
eHByZXNzaW9uSW5mby5zaXplKCkgfHwgbV9yYXJlRGF0YS0+bV9saW5lSW5mby5zaXplKCkgfHwg
bV9yYXJlRGF0YS0+bV9leGNlcHRpb25IYW5kbGVycy5zaXplKCkpOwogICAgICAgICB9CisgICAg
ICAgIFZlY3RvcjxMaW5lSW5mbz4mIGxpbmVJbmZvKCkKKyAgICAgICAgeworICAgICAgICAgICAg
Y3JlYXRlUmFyZURhdGFJZk5lY2Vzc2FyeSgpOworICAgICAgICAgICAgcmV0dXJuIG1fcmFyZURh
dGEtPm1fbGluZUluZm87CisgICAgICAgIH0KIAogI2lmIEVOQUJMRShKSVQpCiAgICAgICAgIFZl
Y3RvcjxDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldD4mIGNhbGxSZXR1cm5JbmRleFZl
Y3RvcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggYjhiZDcxOC4uMDEzYTJmNiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtNTg0LDcgKzU4NCwxMCBAQCBKSVRDb2Rl
IEpJVDo6cHJpdmF0ZUNvbXBpbGUoQ29kZVB0ciogZnVuY3Rpb25FbnRyeUFyaXR5Q2hlY2spCiAg
ICAgaWYgKG1fY29kZUJsb2NrLT5jb2RlVHlwZSgpID09IEZ1bmN0aW9uQ29kZSAmJiBmdW5jdGlv
bkVudHJ5QXJpdHlDaGVjaykKICAgICAgICAgKmZ1bmN0aW9uRW50cnlBcml0eUNoZWNrID0gcGF0
Y2hCdWZmZXIubG9jYXRpb25PZihhcml0eUNoZWNrKTsKIAotICAgIHJldHVybiBwYXRjaEJ1ZmZl
ci5maW5hbGl6ZUNvZGUoKTsKKyAgICBKSVRDb2RlIGNvZGUgPSBwYXRjaEJ1ZmZlci5maW5hbGl6
ZUNvZGUoKTsKKyAgICBSRUNPUkRfSklUX0NPREVfQ09ERUJMT0NLKG1fZ2xvYmFsRGF0YSwgY29k
ZS5hZGRyZXNzRm9yQ2FsbCgpLmV4ZWN1dGFibGVBZGRyZXNzKCksIGNvZGUuc2l6ZSgpLCBtX2Nv
ZGVCbG9jayk7CisgICAgQU5OT1RBVEVfSklUX0NPREUobV9nbG9iYWxEYXRhLCBjb2RlLmFkZHJl
c3NGb3JDYWxsKCkuZXhlY3V0YWJsZUFkZHJlc3MoKSwgbV9jb2RlQmxvY2ssIG1fY29kZUJsb2Nr
LT5zb3VyY2UoKS0+dXJsKCkpOworICAgIHJldHVybiBjb2RlOwogfQogCiAjaWYgVVNFKEpTVkFM
VUU2NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCmluZGV4IDk4Y2Iy
ZjMuLmVhNTAxZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bj
b2Rlcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcApA
QCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiQXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiSklU
SW5saW5lTWV0aG9kcy5oIgorI2luY2x1ZGUgIkpJVFByb2ZpbGVBZ2VudC5oIgogI2luY2x1ZGUg
IkpJVFN0dWJDYWxsLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgogI2luY2x1ZGUgIkpTQ2VsbC5o
IgpAQCAtMTc1LDYgKzE3Niw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVU
cmFtcG9saW5lcyhSZWZQdHI8RXhlY3V0YWJsZVBvb2w+KiBleGVjdXRhYmxlCiAgICAgQ29kZVJl
ZiBmaW5hbENvZGUgPSBwYXRjaEJ1ZmZlci5maW5hbGl6ZUNvZGUoKTsKICAgICAqZXhlY3V0YWJs
ZVBvb2wgPSBmaW5hbENvZGUubV9leGVjdXRhYmxlUG9vbDsKIAorICAgIFJFQ09SRF9KSVRfVFJB
TVBPTElORVMobV9nbG9iYWxEYXRhLCBmaW5hbENvZGUubV9jb2RlLmV4ZWN1dGFibGVBZGRyZXNz
KCksIG1fY29kZUJsb2NrLCBmaW5hbENvZGUubV9zaXplKTsKKwogICAgIHRyYW1wb2xpbmVzLT5j
dGlWaXJ0dWFsQ2FsbExpbmsgPSBwYXRjaEJ1ZmZlci50cmFtcG9saW5lQXQodmlydHVhbENhbGxM
aW5rQmVnaW4pOwogICAgIHRyYW1wb2xpbmVzLT5jdGlWaXJ0dWFsQ29uc3RydWN0TGluayA9IHBh
dGNoQnVmZmVyLnRyYW1wb2xpbmVBdCh2aXJ0dWFsQ29uc3RydWN0TGlua0JlZ2luKTsKICAgICB0
cmFtcG9saW5lcy0+Y3RpVmlydHVhbENhbGwgPSBwYXRjaEJ1ZmZlci50cmFtcG9saW5lQXQodmly
dHVhbENhbGxCZWdpbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wY29kZXMzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMz
Ml82NC5jcHAKaW5kZXggZGRhNzRjOC4uZTkyMWYzNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUg
IkpJVC5oIgogCiAjaW5jbHVkZSAiSklUSW5saW5lTWV0aG9kcy5oIgorI2luY2x1ZGUgIkpJVFBy
b2ZpbGVBZ2VudC5oIgogI2luY2x1ZGUgIkpJVFN0dWJDYWxsLmgiCiAjaW5jbHVkZSAiSlNBcnJh
eS5oIgogI2luY2x1ZGUgIkpTQ2VsbC5oIgpAQCAtMTc2LDYgKzE3Nyw4IEBAIHZvaWQgSklUOjpw
cml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFtcG9saW5lcyhSZWZQdHI8RXhlY3V0YWJsZVBvb2w+
KiBleGVjdXRhYmxlCiAgICAgQ29kZVJlZiBmaW5hbENvZGUgPSBwYXRjaEJ1ZmZlci5maW5hbGl6
ZUNvZGUoKTsKICAgICAqZXhlY3V0YWJsZVBvb2wgPSBmaW5hbENvZGUubV9leGVjdXRhYmxlUG9v
bDsKIAorICAgIFJFQ09SRF9KSVRfVFJBTVBPTElORVMobV9nbG9iYWxEYXRhLCBmaW5hbENvZGUu
bV9jb2RlLmV4ZWN1dGFibGVBZGRyZXNzKCksIG1fY29kZUJsb2NrLCBmaW5hbENvZGUubV9zaXpl
KTsKKwogICAgIHRyYW1wb2xpbmVzLT5jdGlWaXJ0dWFsQ2FsbCA9IHBhdGNoQnVmZmVyLnRyYW1w
b2xpbmVBdCh2aXJ0dWFsQ2FsbEJlZ2luKTsKICAgICB0cmFtcG9saW5lcy0+Y3RpVmlydHVhbENv
bnN0cnVjdCA9IHBhdGNoQnVmZmVyLnRyYW1wb2xpbmVBdCh2aXJ0dWFsQ29uc3RydWN0QmVnaW4p
OwogICAgIHRyYW1wb2xpbmVzLT5jdGlOYXRpdmVDYWxsID0gcGF0Y2hCdWZmZXIudHJhbXBvbGlu
ZUF0KG5hdGl2ZUNhbGxUaHVuayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
UHJvcGVydHlBY2Nlc3MuY3BwCmluZGV4IDFiOTVlZWMuLmZjZmQ4ODEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCkBAIC02NTYsNiArNjU2
LDggQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlUHV0QnlJZFRyYW5zaXRpb24oU3RydWN0dXJl
U3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUKICAgICBzdHViSW5mby0+c3R1YlJvdXRpbmUg
PSBlbnRyeUxhYmVsOwogICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9j
ayk7CiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb1RyYW1wb2xpbmUocmV0dXJuQWRk
cmVzcywgZW50cnlMYWJlbCk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRhLCBl
bnRyeUxhYmxlLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklUUHJv
ZmlsZUFnZW50OjpQdXRCeUlEVHJhbnNpdGlvbik7CiB9CiAKIHZvaWQgSklUOjpwYXRjaEdldEJ5
SWRTZWxmKENvZGVCbG9jayogY29kZUJsb2NrLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNz
UHRyIHJldHVybkFkZHJlc3MpCkBAIC03NTQsNiArNzU2LDggQEAgdm9pZCBKSVQ6OnByaXZhdGVD
b21waWxlUGF0Y2hHZXRBcnJheUxlbmd0aChSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3Mp
CiAKICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHBhdGNoIG1vcmUgdGhhbiBvbmNlIC0gaW4gZnV0
dXJlIGdvIHRvIGN0aV9vcF9wdXRfYnlfaWRfZ2VuZXJpYy4KICAgICByZXBhdGNoQnVmZmVyLnJl
bGlua0NhbGxlclRvRnVuY3Rpb24ocmV0dXJuQWRkcmVzcywgRnVuY3Rpb25QdHIoY3RpX29wX2dl
dF9ieV9pZF9hcnJheV9mYWlsKSk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRh
LCBlbnRyeUxhYmxlLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklU
UHJvZmlsZUFnZW50OjpHZXRBcnJheUxlbmd0aCk7CiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29t
cGlsZUdldEJ5SWRQcm90byhTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmll
ciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwg
UmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAg
LTgyMyw2ICs4MjcsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG8oU3Ry
dWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cgogCiAgICAgLy8gV2UgZG9u
J3Qgd2FudCB0byBwYXRjaCBtb3JlIHRoYW4gb25jZSAtIGluIGZ1dHVyZSBnbyB0byBjdGlfb3Bf
cHV0X2J5X2lkX2dlbmVyaWMuCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb0Z1bmN0
aW9uKHJldHVybkFkZHJlc3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfcHJvdG9fbGlz
dCkpOworCisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlMYWJsZS5leGVj
dXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVBZ2VudDo6R2V0
QnlJRFByb3RvKTsKIH0KIAogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNlbGZMaXN0
KFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVM
aXN0KiBwb2x5bW9ycGhpY1N0cnVjdHVyZXMsIGludCBjdXJyZW50SW5kZXgsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBz
bG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0KQpAQCAtODgxLDYgKzg4Nyw4IEBAIHZvaWQgSklUOjpw
cml2YXRlQ29tcGlsZUdldEJ5SWRTZWxmTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IFBvbHltb3JwaGljCiAgICAgQ29kZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5m
by0+aG90UGF0aEJlZ2luLmp1bXBBdE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Ns
b3dDYXNlKTsKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwog
ICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyAg
ICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmxlLmV4ZWN1dGFibGVBZGRy
ZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRCeUlEU2VsZkxp
c3QpOwogfQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KFN0cnVj
dHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBw
cm90b3R5cGVTdHJ1Y3R1cmVzLCBpbnQgY3VycmVudEluZGV4LCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgU3RydWN0dXJlKiBwcm90b3R5cGVTdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50
LCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIENhbGxGcmFt
ZSogY2FsbEZyYW1lKQpAQCAtOTUxLDYgKzk1OSw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGls
ZUdldEJ5SWRQcm90b0xpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhp
CiAgICAgQ29kZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJl
Z2luLmp1bXBBdE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAg
ICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hC
dWZmZXIucmVsaW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyAgICBSRUNPUkRfSklU
X0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmxlLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNo
QnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRCeUlEUHJvdG9MaXN0KTsKIH0KIAog
dm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluTGlzdChTdHJ1Y3R1cmVTdHViSW5m
byogc3R1YkluZm8sIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCogcHJvdG90eXBlU3Ry
dWN0dXJlcywgaW50IGN1cnJlbnRJbmRleCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVy
ZUNoYWluKiBjaGFpbiwgc2l6ZV90IGNvdW50LCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29u
c3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBDYWxsRnJhbWUqIGNh
bGxGcmFtZSkKQEAgLTEwMjEsNiArMTAzMSw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdl
dEJ5SWRDaGFpbkxpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpCiAg
ICAgQ29kZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJlZ2lu
Lmp1bXBBdE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAgICBS
ZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZm
ZXIucmVsaW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyAgICBSRUNPUkRfSklUX0NP
REUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmxlLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVm
ZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRCeUlEQ2hhaW5MaXN0KTsKIH0KIAogdm9p
ZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHVi
SW5mbywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZUNoYWluKiBjaGFpbiwgc2l6ZV90
IGNvdW50LCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90
LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MsIENh
bGxGcmFtZSogY2FsbEZyYW1lKQpAQCAtMTA4OSw2ICsxMTAxLDggQEAgdm9pZCBKSVQ6OnByaXZh
dGVDb21waWxlR2V0QnlJZENoYWluKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0
dXJlKiBzdHIKIAogICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFuIG9uY2Ug
LSBpbiBmdXR1cmUgZ28gdG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIHJlcGF0Y2hC
dWZmZXIucmVsaW5rQ2FsbGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0cihj
dGlfb3BfZ2V0X2J5X2lkX3Byb3RvX2xpc3QpKTsKKworICAgIFJFQ09SRF9KSVRfQ09ERShtX2ds
b2JhbERhdGEsIGVudHJ5TGFibGUuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6
ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEJ5SURDaGFpbik7CiB9CiAKIC8qIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSBFTkQ6ICFFTkFCTEUgLyBFTkFCTEUoSklUX09QVElNSVpFX1BS
T1BFUlRZX0FDQ0VTUykgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcApp
bmRleCA3MTBhMTU1Li5mMzkxYzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKQEAgLTY3Miw2ICs2NzIsOCBAQCB2b2lk
IEpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbihTdHJ1Y3R1cmVTdHViSW5mbyog
c3R1YkluZm8sIFN0cnVjdHVyZQogICAgIHN0dWJJbmZvLT5zdHViUm91dGluZSA9IGVudHJ5TGFi
ZWw7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNoQnVmZmVyKG1fY29kZUJsb2NrKTsKICAgICBy
ZXBhdGNoQnVmZmVyLnJlbGlua0NhbGxlclRvVHJhbXBvbGluZShyZXR1cm5BZGRyZXNzLCBlbnRy
eUxhYmVsKTsKKworICAgIFJFQ09SRF9KSVRfQ09ERShtX2dsb2JhbERhdGEsIGVudHJ5TGFiZWwu
ZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6
OlB1dEJ5SURUcmFuc2l0aW9uKTsKIH0KIAogdm9pZCBKSVQ6OnBhdGNoR2V0QnlJZFNlbGYoQ29k
ZUJsb2NrKiBjb2RlQmxvY2ssIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIHNpemVfdCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJu
QWRkcmVzcykKQEAgLTc3NSw2ICs3NzcsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRj
aEdldEFycmF5TGVuZ3RoKFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykKICAgICAKICAg
ICAvLyBXZSBkb24ndCB3YW50IHRvIHBhdGNoIG1vcmUgdGhhbiBvbmNlIC0gaW4gZnV0dXJlIGdv
IHRvIGN0aV9vcF9wdXRfYnlfaWRfZ2VuZXJpYy4KICAgICByZXBhdGNoQnVmZmVyLnJlbGlua0Nh
bGxlclRvRnVuY3Rpb24ocmV0dXJuQWRkcmVzcywgRnVuY3Rpb25QdHIoY3RpX29wX2dldF9ieV9p
ZF9hcnJheV9mYWlsKSk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRy
eUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmls
ZUFnZW50OjpHZXRBcnJheUxlbmd0aCk7CiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdl
dEJ5SWRQcm90byhTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYgaWRl
bnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwgUmV0dXJu
QWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTg0Niw2
ICs4NTAsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG8oU3RydWN0dXJl
U3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cgogICAgIAogICAgIC8vIFdlIGRvbid0
IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFuIG9uY2UgLSBpbiBmdXR1cmUgZ28gdG8gY3RpX29wX3B1
dF9ieV9pZF9nZW5lcmljLgogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rQ2FsbGVyVG9GdW5jdGlv
bihyZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0cihjdGlfb3BfZ2V0X2J5X2lkX3Byb3RvX2xpc3Qp
KTsKKworICAgIFJFQ09SRF9KSVRfQ09ERShtX2dsb2JhbERhdGEsIGVudHJ5TGFiZWwuZXhlY3V0
YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEJ5
SURQcm90byk7CiB9CiAKIApAQCAtOTA1LDYgKzkxMSw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29t
cGlsZUdldEJ5SWRTZWxmTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBvbHltb3Jw
aGljCiAgICAgQ29kZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0
aEJlZ2luLmp1bXBBdE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsK
ICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0
Y2hCdWZmZXIucmVsaW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyAgICBSRUNPUkRf
SklUX0NPREUobV9nbG9iYWxEYXRhLCBlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBh
dGNoQnVmZmVyLnNpemUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRCeUlEU2VsZkxpc3QpOwogfQog
CiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG9MaXN0KFN0cnVjdHVyZVN0dWJJ
bmZvKiBzdHViSW5mbywgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBwcm90b3R5cGVT
dHJ1Y3R1cmVzLCBpbnQgY3VycmVudEluZGV4LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0
dXJlKiBwcm90b3R5cGVTdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQ
cm9wZXJ0eVNsb3QmIHNsb3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIENhbGxGcmFtZSogY2FsbEZy
YW1lKQpAQCAtOTc0LDYgKzk4Miw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQ
cm90b0xpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpCiAgICAgQ29k
ZUxvY2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJlZ2luLmp1bXBB
dE9mZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAgICBSZXBhdGNo
QnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVs
aW5rKGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9n
bG9iYWxEYXRhLCBlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNp
emUoKSwgSklUUHJvZmlsZUFnZW50OjpHZXRCeUlEUHJvdG9MaXN0KTsKIH0KIAogdm9pZCBKSVQ6
OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCogcHJvdG90eXBlU3RydWN0dXJlcywg
aW50IGN1cnJlbnRJbmRleCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZUNoYWluKiBj
aGFpbiwgc2l6ZV90IGNvdW50LCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVy
dHlTbG90JiBzbG90LCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkK
QEAgLTEwNDQsNiArMTA1NCw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFp
bkxpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpCiAgICAgQ29kZUxv
Y2F0aW9uSnVtcCBqdW1wTG9jYXRpb24gPSBzdHViSW5mby0+aG90UGF0aEJlZ2luLmp1bXBBdE9m
ZnNldChwYXRjaE9mZnNldEdldEJ5SWRCcmFuY2hUb1Nsb3dDYXNlKTsKICAgICBSZXBhdGNoQnVm
ZmVyIHJlcGF0Y2hCdWZmZXIobV9jb2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5r
KGp1bXBMb2NhdGlvbiwgZW50cnlMYWJlbCk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9i
YWxEYXRhLCBlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUo
KSwgSklUUHJvZmlsZUFnZW50OjpHZXRCeUlEQ2hhaW5MaXN0KTsKIH0KIAogdm9pZCBKSVQ6OnBy
aXZhdGVDb21waWxlR2V0QnlJZENoYWluKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZUNoYWluKiBjaGFpbiwgc2l6ZV90IGNvdW50LCBj
b25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3Qg
Y2FjaGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MsIENhbGxGcmFtZSog
Y2FsbEZyYW1lKQpAQCAtMTExMSw2ICsxMTIzLDggQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxl
R2V0QnlJZENoYWluKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJlKiBzdHIK
ICAgICAKICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHBhdGNoIG1vcmUgdGhhbiBvbmNlIC0gaW4g
ZnV0dXJlIGdvIHRvIGN0aV9vcF9wdXRfYnlfaWRfZ2VuZXJpYy4KICAgICByZXBhdGNoQnVmZmVy
LnJlbGlua0NhbGxlclRvRnVuY3Rpb24ocmV0dXJuQWRkcmVzcywgRnVuY3Rpb25QdHIoY3RpX29w
X2dldF9ieV9pZF9wcm90b19saXN0KSk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxE
YXRhLCBlbnRyeUxhYmVsLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwg
SklUUHJvZmlsZUFnZW50OjpHZXRCeUlEQ2hhaW4pOwogfQogCiAvKiAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0gRU5EOiAhRU5BQkxFIC8gRU5BQkxFKEpJVF9PUFRJTUlaRV9QUk9QRVJU
WV9BQ0NFU1MpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNj
LmNwcAppbmRleCA5MTJiNTFhLi43NzE1MjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcApAQCAtMTAy
LDExICsxMDIsMTcgQEAgc3RydWN0IE9wdGlvbnMgewogICAgIE9wdGlvbnMoKQogICAgICAgICA6
IGludGVyYWN0aXZlKGZhbHNlKQogICAgICAgICAsIGR1bXAoZmFsc2UpCisjaWYgRU5BQkxFKEpJ
VF9QUk9GSUxFX0FHRU5UKQorICAgICAgICAsIGppdFByb2ZpbGUoZmFsc2UpCisjZW5kaWYKICAg
ICB7CiAgICAgfQogCiAgICAgYm9vbCBpbnRlcmFjdGl2ZTsKICAgICBib29sIGR1bXA7CisjaWYg
RU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgIGJvb2wgaml0UHJvZmlsZTsKKyNlbmRpZgog
ICAgIFZlY3RvcjxTY3JpcHQ+IHNjcmlwdHM7CiAgICAgVmVjdG9yPFVTdHJpbmc+IGFyZ3VtZW50
czsKIH07CkBAIC00NjUsNiArNDcxLDkgQEAgc3RhdGljIE5PX1JFVFVSTiB2b2lkIHByaW50VXNh
Z2VTdGF0ZW1lbnQoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBib29sIGhlbHAgPQogICAgIGZw
cmludGYoc3RkZXJyLCAiICAtZiAgICAgICAgIFNwZWNpZmllcyBhIHNvdXJjZSBmaWxlIChkZXBy
ZWNhdGVkKVxuIik7CiAgICAgZnByaW50ZihzdGRlcnIsICIgIC1ofC0taGVscCAgUHJpbnRzIHRo
aXMgaGVscCBtZXNzYWdlXG4iKTsKICAgICBmcHJpbnRmKHN0ZGVyciwgIiAgLWkgICAgICAgICBF
bmFibGVzIGludGVyYWN0aXZlIG1vZGUgKGRlZmF1bHQgaWYgbm8gZmlsZXMgYXJlIHNwZWNpZmll
ZClcbiIpOworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICBmcHJpbnRmKHN0ZGVy
ciwgIiAgLXAgICAgICAgICBFbmFibGVzIEpJVCBwcm9maWxlIGFnZW50XG4iKTsKKyNlbmRpZgog
I2lmIEhBVkUoU0lHTkFMX0gpCiAgICAgZnByaW50ZihzdGRlcnIsICIgIC1zICAgICAgICAgSW5z
dGFsbHMgc2lnbmFsIGhhbmRsZXJzIHRoYXQgZXhpdCBvbiBhIGNyYXNoIChVbml4IHBsYXRmb3Jt
cyBvbmx5KVxuIik7CiAjZW5kaWYKQEAgLTQ5OCw2ICs1MDcsMTIgQEAgc3RhdGljIHZvaWQgcGFy
c2VBcmd1bWVudHMoaW50IGFyZ2MsIGNoYXIqKiBhcmd2LCBPcHRpb25zJiBvcHRpb25zLCBKU0ds
b2JhbERhdGEKICAgICAgICAgICAgIG9wdGlvbnMuZHVtcCA9IHRydWU7CiAgICAgICAgICAgICBj
b250aW51ZTsKICAgICAgICAgfQorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICAg
ICAgaWYgKCFzdHJjbXAoYXJnLCAiLXAiKSkgeworICAgICAgICAgICAgb3B0aW9ucy5qaXRQcm9m
aWxlID0gdHJ1ZTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisjZW5kaWYKICAg
ICAgICAgaWYgKCFzdHJjbXAoYXJnLCAiLXMiKSkgewogI2lmIEhBVkUoU0lHTkFMX0gpCiAgICAg
ICAgICAgICBzaWduYWwoU0lHSUxMLCBfZXhpdCk7CkBAIC01MzEsNiArNTQ2LDkgQEAgaW50IGpz
Y21haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2LCBKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEpCiAg
ICAgcGFyc2VBcmd1bWVudHMoYXJnYywgYXJndiwgb3B0aW9ucywgZ2xvYmFsRGF0YSk7CiAKICAg
ICBHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IG5ldyAoZ2xvYmFsRGF0YSkgR2xvYmFsT2Jq
ZWN0KG9wdGlvbnMuYXJndW1lbnRzKTsKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisg
ICAgZ2xvYmFsRGF0YS0+aml0UHJvZmlsZUFnZW50LnNldEVuYWJsZWQodHJ1ZSk7CisjZW5kaWYK
ICAgICBib29sIHN1Y2Nlc3MgPSBydW5XaXRoU2NyaXB0cyhnbG9iYWxPYmplY3QsIG9wdGlvbnMu
c2NyaXB0cywgb3B0aW9ucy5kdW1wKTsKICAgICBpZiAob3B0aW9ucy5pbnRlcmFjdGl2ZSAmJiBz
dWNjZXNzKQogICAgICAgICBydW5JbnRlcmFjdGl2ZShnbG9iYWxPYmplY3QpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5oCmluZGV4IDU0NGU0ODcuLmMzNTY5YmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmgKQEAgLTE3Nyw2
ICsxNzcsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGJvb2wgbmVlZHNBY3RpdmF0aW9u
KCkgY29uc3QgeyByZXR1cm4gbV9oYXNDYXB0dXJlZFZhcmlhYmxlcyB8fCBtX2ZlYXR1cmVzICYg
KEV2YWxGZWF0dXJlIHwgV2l0aEZlYXR1cmUgfCBDYXRjaEZlYXR1cmUpOyB9CiAgICAgICAgIGJv
b2wgaXNTdHJpY3RNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9mZWF0dXJlcyAmIFN0cmljdE1vZGVG
ZWF0dXJlOyB9CiAKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgICAgIHZpcnR1
YWwgSklUUHJvZmlsZUFnZW50OjpKSVRDb2RlVHlwZSBqaXRDb2RlVHlwZSgpID0gMDsKKyNlbmRp
ZgorCiAgICAgcHJvdGVjdGVkOgogICAgICAgICB2b2lkIHJlY29yZFBhcnNlKENvZGVGZWF0dXJl
cyBmZWF0dXJlcywgYm9vbCBoYXNDYXB0dXJlZFZhcmlhYmxlcywgaW50IGZpcnN0TGluZSwgaW50
IGxhc3RMaW5lKQogICAgICAgICB7CkBAIC0yMjIsNiArMjI2LDEwIEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAg
ICAgICAgSklUUHJvZmlsZUFnZW50OjpKSVRDb2RlVHlwZSBqaXRDb2RlVHlwZSgpIHsgcmV0dXJu
IEpJVFByb2ZpbGVBZ2VudDo6RXZhbDt9CisjZW5kaWYKKwogICAgIHByaXZhdGU6CiAgICAgICAg
IEV2YWxFeGVjdXRhYmxlKEV4ZWNTdGF0ZSosIGNvbnN0IFNvdXJjZUNvZGUmLCBib29sKTsKIApA
QCAtMjYzLDYgKzI3MSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAjZW5kaWYKIAor
I2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VOVCkKKyAgICAgICAgSklUUHJvZmlsZUFnZW50OjpK
SVRDb2RlVHlwZSBqaXRDb2RlVHlwZSgpIHsgcmV0dXJuIEpJVFByb2ZpbGVBZ2VudDo6UHJvZ3Jh
bTsgfQorI2VuZGlmCiAgICAgcHJpdmF0ZToKICAgICAgICAgUHJvZ3JhbUV4ZWN1dGFibGUoRXhl
Y1N0YXRlKiwgY29uc3QgU291cmNlQ29kZSYpOwogCkBAIC0zODQsNiArMzk1LDkgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgICAgICAgICByZXR1cm4gbV9qaXRDb2RlRm9yQ29uc3RydWN0V2l0aEFy
aXR5Q2hlY2s7CiAgICAgICAgIH0KICNlbmRpZgorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VO
VCkKKyAgICAgICAgSklUUHJvZmlsZUFnZW50OjpKSVRDb2RlVHlwZSBqaXRDb2RlVHlwZSgpIHsg
cmV0dXJuIEpJVFByb2ZpbGVBZ2VudDo6RnVuY3Rpb247IH0KKyNlbmRpZgogICAgIH07CiAKICAg
ICBpbmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1bmN0aW9uOjpqc0V4ZWN1dGFibGUoKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxE
YXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuaAppbmRl
eCA3YjY5MDU1Li5kOGNkMTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbERhdGEuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbERhdGEuaApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkhlYXAuaCIKICNpbmNs
dWRlICJEYXRlSW5zdGFuY2VDYWNoZS5oIgogI2luY2x1ZGUgIkV4ZWN1dGFibGVBbGxvY2F0b3Iu
aCIKKyNpbmNsdWRlICJKSVRQcm9maWxlQWdlbnQuaCIKICNpbmNsdWRlICJKSVRTdHVicy5oIgog
I2luY2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlICJOdW1lcmljU3RyaW5ncy5oIgpAQCAtMTkz
LDYgKzE5NCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBMZXhlciogbGV4ZXI7CiAgICAg
ICAgIFBhcnNlciogcGFyc2VyOwogICAgICAgICBJbnRlcnByZXRlciogaW50ZXJwcmV0ZXI7Cisj
aWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgICAgICBKSVRQcm9maWxlQWdlbnQgaml0
UHJvZmlsZUFnZW50OworI2VuZGlmCiAjaWYgRU5BQkxFKEpJVCkKICAgICAgICAgT3duUHRyPEpJ
VFRodW5rcz4gaml0U3R1YnM7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0ciBnZXRDVElT
dHViKFRodW5rR2VuZXJhdG9yIGdlbmVyYXRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rvb2xzL0pJVFByb2ZpbGVBZ2VudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uOTRhMzM1ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
b29scy9KSVRQcm9maWxlQWdlbnQuY3BwCkBAIC0wLDAgKzEsMTc0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDA5IEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgVW5pdmVyc2l0eSBvZiBTemVnZWQKKyAqIENvcHlyaWdodCAoQykgMjAxMCBJZ2FsaWEg
Uy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisKKyNpbmNsdWRl
ICJKSVRQcm9maWxlQWdlbnQuaCIKKworI2luY2x1ZGUgIkNvZGVCbG9jay5oIgorI2luY2x1ZGUg
IkpTR2xvYmFsRGF0YS5oIgorI2luY2x1ZGUgIlNvdXJjZVByb3ZpZGVyLmgiCisjaW5jbHVkZSAi
VVN0cmluZy5oIgorI2luY2x1ZGUgIlVTdHJpbmdDb25jYXRlbmF0ZS5oIgorI2luY2x1ZGUgPHd0
Zi9GYXN0TWFsbG9jLmg+CisKK25hbWVzcGFjZSBKU0MgeworCisjaWYgRU5BQkxFKEpJVF9PUFJP
RklMRV9BR0VOVCkKKwordm9pZCBKSVRQcm9maWxlQWdlbnQ6OmluaXRBZ2VudCgpCit7CisgICAg
bV92aXJ0dWFsTWVtb3J5U2VnbWVudHMuY2xlYXIoKTsKKyAgICBtX3Byb2ZpbGVBZ2VudCA9IG9w
X29wZW5fYWdlbnQoKTsKKyAgICBpZiAobV90cmFtcG9saW5lcy5jb2RlKQorICAgICAgICByZWNv
cmRKSVRDb2RlKG1fdHJhbXBvbGluZXMuY29kZSwgbV90cmFtcG9saW5lcy5zaXplLCBtX3RyYW1w
b2xpbmVzLmNvZGVCbG9jaywgVHJhbXBvbGluZXMpOworfQorCit2b2lkIEpJVFByb2ZpbGVBZ2Vu
dDo6ZGVpbml0QWdlbnQoKQoreworICAgIHVuc2lnbmVkIGludCBpLCBuID0gbV92aXJ0dWFsTWVt
b3J5U2VnbWVudHMuc2l6ZSgpOworICAgIGZvciAoaSA9IDA7IGkgIT0gbjsgKytpKQorICAgICAg
ICBvcF91bmxvYWRfbmF0aXZlX2NvZGUobV9wcm9maWxlQWdlbnQsIHJlaW50ZXJwcmV0X2Nhc3Q8
dWludDY0X3Q+KG1fdmlydHVhbE1lbW9yeVNlZ21lbnRzW2ldLmNvZGUpKTsKKyAgICBtX3ZpcnR1
YWxNZW1vcnlTZWdtZW50cy5jbGVhcigpOworICAgIG9wX2Nsb3NlX2FnZW50KG1fcHJvZmlsZUFn
ZW50KTsKK30KKworc3RhdGljIGNvbnN0IGNoYXIqIHN5bWJvbE5hbWVUYWJsZVtdID0geworICAg
ICI8aml0LXB1dC1ieS1pZC10cmFuc2l0aW9uPiIsCisgICAgIjxqaXQtZ2V0LWFycmF5LWxlbmd0
aD4iLAorICAgICI8aml0LWdldC1ieS1pZC1zZWxmLWxpc3Q+IiwKKyAgICAiPGppdC1nZXQtYnkt
aWQtcHJvdG8+IiwKKyAgICAiPGppdC1nZXQtYnktaWQtcHJvdG8tbGlzdD4iLAorICAgICI8aml0
LWdldC1ieS1pZC1jaGFpbj4iLAorICAgICI8aml0LWdldC1ieS1pZC1jaGFpbi1saXN0PiIsCisg
ICAgIjxqaXQtdHJhbXBvbGluZXM+IiwKKyAgICAiPGppdC1wcm9nPiIsCisgICAgIjxqaXQtZnVu
Yz4iLAorICAgICI8aml0LWZ1bmMtcmVwYXJzZWQ+IiwKKyAgICAiPGppdC1ldmFsPiIsCisgICAg
IjxqaXQtZXZhbC1yZXBhcnNlZD4iLAorICAgICI8aml0LXlhcnI+IgorfTsKKworQ09NUElMRV9B
U1NFUlQoKHNpemVvZihzeW1ib2xOYW1lVGFibGUpIC8gc2l6ZW9mKHN5bWJvbE5hbWVUYWJsZVsw
XSkpID09IEpJVFByb2ZpbGVBZ2VudDo6TnVtYmVyT2ZKSVRDb2RlVHlwZXMsIFN5bWJvbE5hbWVU
YWJsZV9hbmRfSklUQ29kZVR5cGVfbXVzdF9iZV9zYW1lX3NpemUpOworCitzdGF0aWMgY29uc3Qg
VVN0cmluZyBzeW1ib2xOYW1lRnJvbVR5cGUoSklUUHJvZmlsZUFnZW50OjpKSVRDb2RlVHlwZSB0
eXBlLCBDb2RlQmxvY2sqIGNvZGVCbG9jaykKK3sKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBj
YXNlIEpJVFByb2ZpbGVBZ2VudDo6UHJvZ3JhbTogeworICAgICAgICBTb3VyY2VQcm92aWRlciog
c291cmNlID0gY29kZUJsb2NrLT5zb3VyY2UoKTsKKyAgICAgICAgaWYgKHNvdXJjZSAmJiAhc291
cmNlLT51cmwoKS5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gbWFrZVVTdHJpbmcoc3lt
Ym9sTmFtZVRhYmxlW3R5cGVdLCAiWyIsIHNvdXJjZS0+dXJsKCksICI6IiwgVVN0cmluZzo6bnVt
YmVyKGNvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCktPmxpbmVObygpKSwgIi0iLCBVU3RyaW5n
OjpudW1iZXIoY29kZUJsb2NrLT5vd25lckV4ZWN1dGFibGUoKS0+bGFzdExpbmUoKSksICJdIik7
CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIEpJVFByb2ZpbGVBZ2VudDo6RnVuY3Rp
b246IHsKKyAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gcmVpbnRlcnBy
ZXRfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihjb2RlQmxvY2stPm93bmVyRXhlY3V0YWJsZSgp
KTsKKyAgICAgICAgY29uc3QgSWRlbnRpZmllciYgbmFtZSA9IGV4ZWN1dGFibGUtPm5hbWUoKTsK
KyAgICAgICAgVVN0cmluZyBqaXRTeW1ib2xOYW1lKHN5bWJvbE5hbWVUYWJsZVt0eXBlXSk7Cisg
ICAgICAgIGlmICghbmFtZS5pc0VtcHR5KCkgJiYgIW5hbWUuaXNOdWxsKCkpCisgICAgICAgICAg
ICBqaXRTeW1ib2xOYW1lID0gbWFrZVVTdHJpbmcoaml0U3ltYm9sTmFtZSwgIjoiLCBuYW1lLnVz
dHJpbmcoKSk7CisgICAgICAgIFNvdXJjZVByb3ZpZGVyKiBzb3VyY2UgPSBjb2RlQmxvY2stPnNv
dXJjZSgpOworICAgICAgICByZXR1cm4gbWFrZVVTdHJpbmcoaml0U3ltYm9sTmFtZSwgIlsiLCBz
b3VyY2UtPnVybCgpLCAiOiIsIFVTdHJpbmc6Om51bWJlcihleGVjdXRhYmxlLT5saW5lTm8oKSks
ICItIiwgVVN0cmluZzo6bnVtYmVyKGV4ZWN1dGFibGUtPmxhc3RMaW5lKCkpLCAiXSIpOworICAg
IH0KKyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gc3lt
Ym9sTmFtZVRhYmxlW3R5cGVdOworfQorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6cmVjb3JkSklU
Q29kZUltcGwodm9pZCogY29kZSwgdW5zaWduZWQgaW50IHNpemUsIENvZGVCbG9jayogY29kZUJs
b2NrLCBKSVRQcm9maWxlQWdlbnQ6OkpJVENvZGVUeXBlIHR5cGUpCit7CisgICAgLyogQ2hlY2sg
Zm9yIG9ic29sZXRlIEpJVCBjb2RlcyAqLworICAgIHVuc2lnbmVkIGludCBpLCBuID0gbV92aXJ0
dWFsTWVtb3J5U2VnbWVudHMuc2l6ZSgpOworICAgIGNvbnN0IGNoYXIqIHZtYUJlZ2luID0gcmVp
bnRlcnByZXRfY2FzdDxjaGFyKj4oY29kZSk7CisgICAgY29uc3QgY2hhciogdm1hRW5kID0gdm1h
QmVnaW4gKyBzaXplOworICAgIGZvciAoaSA9IDA7IGkgIT0gbjsgKytpKSB7CisgICAgICAgIGNv
bnN0IGNoYXIqIHJlZ2lzdGVyZWRWbWFCZWdpbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KG1f
dmlydHVhbE1lbW9yeVNlZ21lbnRzW2ldLmNvZGUpOworICAgICAgICBjb25zdCBjaGFyKiByZWdp
c3RlcmVkVm1hRW5kID0gdm1hQmVnaW4gKyBtX3ZpcnR1YWxNZW1vcnlTZWdtZW50c1tpXS5zaXpl
OworICAgICAgICBpZiAoKHJlZ2lzdGVyZWRWbWFCZWdpbiA8PSB2bWFFbmQgJiYgdm1hRW5kIDw9
IHJlZ2lzdGVyZWRWbWFFbmQpCisgICAgICAgICAgICB8fCAocmVnaXN0ZXJlZFZtYUJlZ2luIDw9
IHZtYUJlZ2luICYmIHZtYUJlZ2luIDw9IHJlZ2lzdGVyZWRWbWFFbmQpKSB7CisgICAgICAgICAg
ICBvcF91bmxvYWRfbmF0aXZlX2NvZGUobV9wcm9maWxlQWdlbnQsIHJlaW50ZXJwcmV0X2Nhc3Q8
dWludDY0X3Q+KG1fdmlydHVhbE1lbW9yeVNlZ21lbnRzW2ldLmNvZGUpKTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIFVTdHJpbmcgc3ltYm9sTmFtZSA9IHN5bWJvbE5hbWVGcm9tVHlwZSh0eXBl
LCBjb2RlQmxvY2spOworICAgIG9wX3dyaXRlX25hdGl2ZV9jb2RlKG1fcHJvZmlsZUFnZW50LCAh
c3ltYm9sTmFtZS5pc0VtcHR5KCkgPyBzeW1ib2xOYW1lLnV0ZjgoKS5kYXRhKCkgOiAiPGppdD4i
LCByZWludGVycHJldF9jYXN0PHVpbnQ2NF90Pihjb2RlKSwgY29kZSwgc2l6ZSk7Cit9CisKK3Zv
aWQgSklUUHJvZmlsZUFnZW50Ojphbm5vdGF0ZUpJVENvZGVJbXBsKHZvaWQqIGNvZGUsIENvZGVC
bG9jayogY29kZUJsb2NrLCBjb25zdCBVU3RyaW5nJiB1cmwpCit7CisgICAgdWludHB0cl90IHZt
YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90Pihjb2RlKTsKKyAgICB1aW50cHRyX3QgcHJl
dk9mZnNldCA9IDA7CisgICAgaWYgKCFjb2RlQmxvY2stPmhhc0xpbmVJbmZvKCkpCisgICAgICAg
IHJldHVybjsKKyAgICBWZWN0b3I8TGluZUluZm8+JiBsaW5lSW5mbyA9IGNvZGVCbG9jay0+bGlu
ZUluZm8oKTsKKyAgICBpbnQgZW50cmllcyA9IGxpbmVJbmZvLnNpemUoKTsKKyAgICBzdHJ1Y3Qg
ZGVidWdfbGluZV9pbmZvKiBkZWJ1Z0xpbmVJbmZvID0gcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qg
ZGVidWdfbGluZV9pbmZvKj4oV1RGOjpmYXN0TWFsbG9jKGVudHJpZXMgKiBzaXplb2Yoc3RydWN0
IGRlYnVnX2xpbmVfaW5mbykpKTsKKyAgICBDU3RyaW5nIG5hbWUgPSB1cmwuYXNjaWkoKTsKKwor
ICAgIHN0cnVjdCBkZWJ1Z19saW5lX2luZm8qIGRlYnVnTGluZUluZm9QdHIgPSBkZWJ1Z0xpbmVJ
bmZvOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgZW50cmllczsgKytpKSB7CisgICAgICAgIGlm
IChwcmV2T2Zmc2V0ICE9IGxpbmVJbmZvW2ldLmluc3RydWN0aW9uT2Zmc2V0KSB7CisgICAgICAg
ICAgICBkZWJ1Z0xpbmVJbmZvUHRyLT52bWEgPSB2bWEgKyBsaW5lSW5mb1tpXS5pbnN0cnVjdGlv
bk9mZnNldDsKKyAgICAgICAgICAgIGRlYnVnTGluZUluZm9QdHItPmxpbmVubyA9IGxpbmVJbmZv
W2ldLmxpbmVOdW1iZXI7CisgICAgICAgICAgICBkZWJ1Z0xpbmVJbmZvUHRyLT5maWxlbmFtZSA9
IG5hbWUuZGF0YSgpOworICAgICAgICAgICAgcHJldk9mZnNldCA9IGxpbmVJbmZvW2ldLmluc3Ry
dWN0aW9uT2Zmc2V0OworICAgICAgICAgICAgKytkZWJ1Z0xpbmVJbmZvUHRyOworICAgICAgICB9
CisgICAgfQorCisgICAgb3Bfd3JpdGVfZGVidWdfbGluZV9pbmZvKG1fcHJvZmlsZUFnZW50LCBj
b2RlLCBkZWJ1Z0xpbmVJbmZvUHRyIC0gZGVidWdMaW5lSW5mbywgZGVidWdMaW5lSW5mbyk7Cisg
ICAgV1RGOjpmYXN0RnJlZShkZWJ1Z0xpbmVJbmZvKTsKK30KKworI2Vsc2UgLy8gRHVtbXkgcHJv
ZmlsZSBhZ2VudAorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6aW5pdEFnZW50KCkKK3sKK30KKwor
dm9pZCBKSVRQcm9maWxlQWdlbnQ6OmRlaW5pdEFnZW50KCkKK3sKK30KKwordm9pZCBKSVRQcm9m
aWxlQWdlbnQ6OnJlZ2lzdGVySklUQ29kZUltcGwodm9pZCosIHVuc2lnbmVkIGludCwgSklUUHJv
ZmlsZUFnZW50OjpKSVRDb2RlVHlwZSkKK3sKK30KKwordm9pZCBKSVRQcm9maWxlQWdlbnQ6OmFu
bm90YXRlSklUQ29kZUltcGwodm9pZCosIENvZGVCbG9jayosIGNvbnN0IFVTdHJpbmcmKQorewor
fQorCisjZW5kaWYgLy8gRU5BQkxFKEpJVF9PUFJPRklMRV9BR0VOVCkKKworfQorCisjZW5kaWYg
Ly8gRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFnZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dG9vbHMvSklUUHJvZmlsZUFnZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uMWE2YzNjMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29s
cy9KSVRQcm9maWxlQWdlbnQuaApAQCAtMCwwICsxLDE2MCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAwOSBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlcgorICogQ29weXJpZ2h0IChDKSAyMDEw
IFVuaXZlcnNpdHkgb2YgU3plZ2VkCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhIFMuTC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBKSVRQ
cm9maWxlQWdlbnRfaAorI2RlZmluZSBKSVRQcm9maWxlQWdlbnRfaAorCisjaW5jbHVkZSA8d3Rm
L1BsYXRmb3JtLmg+CisKKyNpZiAhRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorI2RlZmluZSBS
RUNPUkRfSklUX1RSQU1QT0xJTkVTKGdsb2JhbERhdGEsIHZtYSwgY29kZUJsb2NrLCBzaXplKSAo
KHZvaWQpMCkKKyNkZWZpbmUgUkVDT1JEX0pJVF9DT0RFKGdsb2JhbERhdGEsIHZtYSwgc2l6ZSwg
dHlwZSkgKCh2b2lkKTApCisjZGVmaW5lIFJFQ09SRF9KSVRfQ09ERV9DT0RFQkxPQ0soZ2xvYmFs
RGF0YSwgdm1hLCBzaXplLCBjb2RlQmxvY2spICgodm9pZCkwKQorI2RlZmluZSBBTk5PVEFURV9K
SVRfQ09ERShnbG9iYWxEYXRhLCB2bWEsIGNvZGVCbG9jaywgdXJsKSAoKHZvaWQpMCkKKyNlbHNl
CisKKyNpbmNsdWRlICJVU3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2lmIEVO
QUJMRShKSVRfT1BST0ZJTEVfQUdFTlQpCisjaW5jbHVkZSA8b3BhZ2VudC5oPgorI2VuZGlmCisK
K25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBDb2RlQmxvY2s7CitjbGFzcyBVU3RyaW5nOworY2xh
c3MgSlNHbG9iYWxEYXRhOworCitzdHJ1Y3QgTGluZUluZm87CisKKyNkZWZpbmUgUkVDT1JEX0pJ
VF9UUkFNUE9MSU5FUyhnbG9iYWxEYXRhLCB2bWEsIGNvZGVCbG9jaywgc2l6ZSkgKChnbG9iYWxE
YXRhKS0+aml0UHJvZmlsZUFnZW50LnJlY29yZEpJVFRyYW1wb2xpbmVzKHZtYSwgc2l6ZSwgY29k
ZUJsb2NrKSkKKyNkZWZpbmUgUkVDT1JEX0pJVF9DT0RFKGdsb2JhbERhdGEsIHZtYSwgc2l6ZSwg
dHlwZSkgKChnbG9iYWxEYXRhKS0+aml0UHJvZmlsZUFnZW50LnJlY29yZEpJVENvZGUodm1hLCBz
aXplLCAwLCB0eXBlKSkKKyNkZWZpbmUgUkVDT1JEX0pJVF9DT0RFX0NPREVCTE9DSyhnbG9iYWxE
YXRhLCB2bWEsIHNpemUsIGNvZGVCbG9jaykgKChnbG9iYWxEYXRhKS0+aml0UHJvZmlsZUFnZW50
LnJlY29yZEpJVENvZGUodm1hLCBzaXplLCBjb2RlQmxvY2ssIGNvZGVCbG9jay0+bV9vd25lckV4
ZWN1dGFibGUtPmppdENvZGVUeXBlKCkpKQorI2RlZmluZSBBTk5PVEFURV9KSVRfQ09ERShnbG9i
YWxEYXRhLCB2bWEsIGNvZGVCbG9jaywgdXJsKSAoKGdsb2JhbERhdGEpLT5qaXRQcm9maWxlQWdl
bnQuYW5ub3RhdGVKSVRDb2RlKHZtYSwgY29kZUJsb2NrLCB1cmwpKQorCitjbGFzcyBKSVRQcm9m
aWxlQWdlbnQgeworICAgIHN0cnVjdCBWaXJ0dWFsTWVtb3J5U2VnbWVudCB7CisgICAgICAgIFZp
cnR1YWxNZW1vcnlTZWdtZW50KCkKKyAgICAgICAgICA6IGNvZGUoMCkKKyAgICAgICAgICAsIHNp
emUoMCkKKyAgICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgdm9pZCogY29kZTsKKyAgICAg
ICAgdW5zaWduZWQgaW50IHNpemU7CisgICAgICAgIENvZGVCbG9jayogY29kZUJsb2NrOworICAg
IH07CisgICAgdHlwZWRlZiBWZWN0b3I8VmlydHVhbE1lbW9yeVNlZ21lbnQ+IFZpcnR1YWxNZW1v
cnlTZWdtZW50VmVjdG9yOworCitwdWJsaWM6CisgICAgZW51bSBKSVRDb2RlVHlwZSB7CisgICAg
ICAgIFB1dEJ5SURUcmFuc2l0aW9uLAorICAgICAgICBHZXRBcnJheUxlbmd0aCwKKyAgICAgICAg
R2V0QnlJRFNlbGZMaXN0LAorICAgICAgICBHZXRCeUlEUHJvdG8sCisgICAgICAgIEdldEJ5SURQ
cm90b0xpc3QsCisgICAgICAgIEdldEJ5SURDaGFpbiwKKyAgICAgICAgR2V0QnlJRENoYWluTGlz
dCwKKyAgICAgICAgVHJhbXBvbGluZXMsCisgICAgICAgIFByb2dyYW0sCisgICAgICAgIEZ1bmN0
aW9uLAorICAgICAgICBGdW5jdGlvblJlcGFyc2VkLAorICAgICAgICBFdmFsLAorICAgICAgICBF
dmFsUmVwYXJzZWQsCisgICAgICAgIFlhcnIsCisgICAgICAgIE51bWJlck9mSklUQ29kZVR5cGVz
CisgICAgfTsKKworICAgIEpJVFByb2ZpbGVBZ2VudChib29sIHN0YXR1cyA9IGZhbHNlKQorICAg
ICAgOiBtX2VuYWJsZUFnZW50KHN0YXR1cykKKyAgICB7CisgICAgICAgIGlmIChpc0VuYWJsZWQo
KSkKKyAgICAgICAgICAgIGluaXRBZ2VudCgpOworICAgIH0KKworICAgIH5KSVRQcm9maWxlQWdl
bnQoKQorICAgIHsKKyAgICAgICAgaWYgKGlzRW5hYmxlZCgpKQorICAgICAgICAgICAgZGVpbml0
QWdlbnQoKTsKKyAgICB9CisKKyAgICB2b2lkIHJlY29yZEpJVENvZGUodm9pZCogY29kZSwgdW5z
aWduZWQgaW50IHNpemUsIENvZGVCbG9jayogY29kZUJsb2NrLCBKSVRDb2RlVHlwZSB0eXBlKQor
ICAgIHsKKyAgICAgICAgaWYgKGlzRW5hYmxlZCgpICYmIGNvZGUpCisgICAgICAgICAgICByZWNv
cmRKSVRDb2RlSW1wbChjb2RlLCBzaXplLCBjb2RlQmxvY2ssIHR5cGUpOworICAgIH0KKworICAg
IHZvaWQgYW5ub3RhdGVKSVRDb2RlKHZvaWQqIGNvZGUsIENvZGVCbG9jayogY29kZUJsb2NrLCBj
b25zdCBVU3RyaW5nJiB1cmwpCisgICAgeworICAgICAgICBpZiAoaXNFbmFibGVkKCkgJiYgY29k
ZSAmJiBjb2RlQmxvY2sgJiYgIXVybC5pc0VtcHR5KCkpCisgICAgICAgICAgICBhbm5vdGF0ZUpJ
VENvZGVJbXBsKGNvZGUsIGNvZGVCbG9jaywgY29uc3RfY2FzdDxVU3RyaW5nJj4odXJsKSk7Cisg
ICAgfQorCisgICAgdm9pZCByZWNvcmRKSVRUcmFtcG9saW5lcyh2b2lkKiBjb2RlLCB1bnNpZ25l
ZCBpbnQgc2l6ZSwgQ29kZUJsb2NrKiBjb2RlQmxvY2spCisgICAgeworICAgICAgICBtX3RyYW1w
b2xpbmVzLmNvZGUgPSBjb2RlOworICAgICAgICBtX3RyYW1wb2xpbmVzLnNpemUgPSBzaXplOwor
ICAgICAgICBtX3RyYW1wb2xpbmVzLmNvZGVCbG9jayA9IGNvZGVCbG9jazsKKyAgICAgICAgaWYg
KGlzRW5hYmxlZCgpKQorICAgICAgICAgICAgcmVjb3JkSklUQ29kZShtX3RyYW1wb2xpbmVzLmNv
ZGUsIG1fdHJhbXBvbGluZXMuc2l6ZSwgbV90cmFtcG9saW5lcy5jb2RlQmxvY2ssIFRyYW1wb2xp
bmVzKTsKKyAgICB9CisKKyAgICB2b2lkIHNldEVuYWJsZWQoYm9vbCBzdGF0dXMpCisgICAgewor
ICAgICAgICBpZiAobV9lbmFibGVBZ2VudCA9PSBzdGF0dXMpCisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIG1fZW5hYmxlQWdlbnQgPSBzdGF0dXM7CisgICAgICAgIGlmIChpc0VuYWJsZWQo
KSkKKyAgICAgICAgICAgIGluaXRBZ2VudCgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBk
ZWluaXRBZ2VudCgpOworICAgIH0KKworICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc0VuYWJsZWQo
KSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fZW5hYmxlQWdlbnQ7CisgICAgfQorCitw
cml2YXRlOgorICAgIHZvaWQgaW5pdEFnZW50KCk7CisgICAgdm9pZCBkZWluaXRBZ2VudCgpOwor
ICAgIHZvaWQgcmVjb3JkSklUQ29kZUltcGwodm9pZCosIHVuc2lnbmVkIGludCwgQ29kZUJsb2Nr
KiwgSklUQ29kZVR5cGUpOworICAgIHZvaWQgYW5ub3RhdGVKSVRDb2RlSW1wbCh2b2lkKiwgQ29k
ZUJsb2NrKiwgY29uc3QgVVN0cmluZyYpOworCisjaWYgRU5BQkxFKEpJVF9PUFJPRklMRV9BR0VO
VCkKKyAgICBvcF9hZ2VudF90IG1fcHJvZmlsZUFnZW50OworI2VuZGlmCisgICAgVmlydHVhbE1l
bW9yeVNlZ21lbnRWZWN0b3IgbV92aXJ0dWFsTWVtb3J5U2VnbWVudHM7CisgICAgVmlydHVhbE1l
bW9yeVNlZ21lbnQgbV90cmFtcG9saW5lczsKKyAgICBib29sIG1fZW5hYmxlQWdlbnQ7Cit9Owor
Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisKKyNlbmRpZiAvLyBK
SVRQcm9maWxlQWdlbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Q
bGF0Zm9ybS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDA3
ZjU3ZjAuLmNhNGFmZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxh
dGZvcm0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKQEAgLTEw
NDIsNiArMTA0MiwxMSBAQAogI2lmIEVOQUJMRShKSVQpIHx8IEVOQUJMRShZQVJSX0pJVCkKICNk
ZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCiAjZW5kaWYKKworI2lmIEVOQUJMRShKSVRfT1BST0ZJ
TEVfQUdFTlQpICYmICFkZWZpbmVkKEVOQUJMRV9KSVRfUFJPRklMRV9BR0VOVCkKKyNkZWZpbmUg
RU5BQkxFX0pJVF9QUk9GSUxFX0FHRU5UIDEKKyNlbmRpZgorCiAvKiBTZXR0aW5nIHRoaXMgZmxh
ZyBwcmV2ZW50cyB0aGUgYXNzZW1ibGVyIGZyb20gdXNpbmcgUldYIG1lbW9yeTsgdGhpcyBtYXkg
aW1wcm92ZQogICAgc2VjdXJpdHkgYnV0IGN1cnJlY3RseSBjb21lcyBhdCBhIHNpZ25pZmljYW50
IHBlcmZvcm1hbmNlIGNvc3QuICovCiAjaWYgUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUveWFyci9ZYXJySklULmNwcAppbmRleCBjZGI3MTM2Li44ZmQyOTM0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUveWFyci9ZYXJySklULmNwcApAQCAtMjIzOCw4ICsyMjM4LDExIEBAIHB1YmxpYzoK
ICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fZXhwcmVzc2lvblN0YXRlLm1fYmFj
a3RyYWNrUmVjb3Jkcy5zaXplKCk7ICsraSkKICAgICAgICAgICAgIHBhdGNoQnVmZmVyLnBhdGNo
KG1fZXhwcmVzc2lvblN0YXRlLm1fYmFja3RyYWNrUmVjb3Jkc1tpXS5kYXRhTGFiZWwsIHBhdGNo
QnVmZmVyLmxvY2F0aW9uT2YobV9leHByZXNzaW9uU3RhdGUubV9iYWNrdHJhY2tSZWNvcmRzW2ld
LmJhY2t0cmFja0xvY2F0aW9uKSk7CiAKLSAgICAgICAgaml0T2JqZWN0LnNldChwYXRjaEJ1ZmZl
ci5maW5hbGl6ZUNvZGUoKSk7CisgICAgICAgIENvZGVSZWYgZmluYWxDb2RlID0gcGF0Y2hCdWZm
ZXIuZmluYWxpemVDb2RlKCk7CisgICAgICAgIGppdE9iamVjdC5zZXQoZmluYWxDb2RlKTsKICAg
ICAgICAgaml0T2JqZWN0LnNldEZhbGxCYWNrKG1fc2hvdWxkRmFsbEJhY2spOworCisgICAgICAg
IFJFQ09SRF9KSVRfQ09ERShnbG9iYWxEYXRhLCBmaW5hbENvZGUubV9jb2RlLmV4ZWN1dGFibGVB
ZGRyZXNzKCksIGZpbmFsQ29kZS5tX3NpemUsIEpJVFByb2ZpbGVBZ2VudDo6WWFycik7CiAgICAg
fQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDFiZDA0MDcuLmVlODhhMWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMiBAQAorMjAxMS0wMi0wMyAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJv
dmlkZSBhIE9Qcm9maWxlIEpJVCBhZ2VudCAob3BhZ2VudCkgZm9yIHRoZSBjb2RlIGdlbmVyYXRl
ZCBieSB0aGUgSklUCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zMjU2MQorCisgICAgICAgICogV2ViS2l0Mi5wcm86IGFkZCBuZXcgaW5jbHVkZSBwYXRo
LgorCiAyMDExLTAyLTAzICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNzc0NDkuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnBybyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIucHJv
CmluZGV4IGFiOTNlODguLmFlNjliMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIucHJvCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIucHJvCkBAIC00OCw2ICs0OCw3IEBA
IFdFQktJVDJfSU5DTFVERVBBVEggPSBcCiAgICAgJCRQV0QvLi4vSmF2YVNjcmlwdENvcmUvcGNy
ZSBcCiAgICAgJCRQV0QvLi4vSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIgXAogICAgICQkUFdELy4u
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUgXAorICAgICQkUFdELy4uL0phdmFTY3JpcHRDb3JlL3Rv
b2xzIFwKICAgICAkJFBXRC8uLi9KYXZhU2NyaXB0Q29yZS93dGYgXAogICAgICQkUFdELy4uL0ph
dmFTY3JpcHRDb3JlL3d0Zi9zeW1iaWFuIFwKICAgICAkJFBXRC8uLi9KYXZhU2NyaXB0Q29yZS93
dGYvdW5pY29kZSBcCmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5k
ZXggMThmNTJhOC4uOWUwNmM0YyAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZp
Z3VyZS5hYwpAQCAtNzM1LDYgKzczNSwzOCBAQCBlbHNlCiBmaQogQUNfTVNHX1JFU1VMVChbJGVu
YWJsZV9qaXRdKQogCisjIEJ1aWxkIEpJVCB3aXRoIE9Qcm9maWxlIGFnZW50IHN1cHBvcnQKK09Q
QUdFTlRfTElCUz0KK09QQUdFTlRfTERGTEFHUz0KKworQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVy
IHRvIGVuYWJsZSBPUHJvZmlsZSBKSVQgYWdlbnQgc3VwcG9ydC5dKQorQUNfQVJHX0VOQUJMRShb
b3BhZ2VudF0sCisgICAgICAgICAgICAgIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1vcGFnZW50
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0VuYWJsZSBPUHJvZmlsZSBKSVQgYWdl
bnQgc3VwcG9ydCBkZWZhdWx0PW5vXSksCisgICAgICAgICAgICAgIFtdLFtlbmFibGVfb3BhZ2Vu
dD1ub10pCisKK0FDX0FSR19XSVRIKFtvcGFnZW50LWxpYmRpcl0sCisgICAgICAgICAgICBbQVNf
SEVMUF9TVFJJTkcoLS13aXRoLW9wYWdlbnQtbGliZGlyPWxvY2F0aW9uIG9mIG9wYWdlbnQgbGli
cmFyeSBbW2RlZmF1bHQ9L3Vzci9saWIvb3Byb2ZpbGVdXSldLAorICAgICAgICAgICAgW09QQUdF
TlRfTERGTEFHUz0tTCIke3dpdGh2YWx9Il0sCisgICAgICAgICAgICBbT1BBR0VOVF9MREZMQUdT
PS1ML3Vzci9saWIvb3Byb2ZpbGVdKQorQUNfU1VCU1QoW09QQUdFTlRfTERGTEFHU10pCisKK2lm
IHRlc3QgIiRlbmFibGVfb3BhZ2VudCIgPSAieWVzIjsgdGhlbgorICBMREZMQUdTPSIkTERGTEFH
UyAkT1BBR0VOVF9MREZMQUdTIjsKKyAgQUNfQ0hFQ0tfTElCKFtvcGFnZW50XSwgW29wX21ham9y
X3ZlcnNpb25dLAorICAgIFtBQ19DSEVDS19IRUFERVIoW29wYWdlbnQuaF0sCisgICAgICBvcGFn
ZW50X29rPXllcywKKyAgICAgIG9wYWdlbnRfb2s9bm8pXSwKKyAgICBBQ19NU0dfRVJST1IoW09Q
cm9maWxlIG9wYWdlbnQgbGlicmFyeSBub3QgZm91bmRdKSwgLWxiZmQpCisKKyAgaWYgdGVzdCAi
JG9wYWdlbnRfb2siID0gInllcyI7IHRoZW4KKyAgICBBQ19ERUZJTkUoW0VOQUJMRV9KSVRfT1BS
T0ZJTEVfQUdFTlRdLCBbMV0sIFtEZWZpbmUgdG8gZW5hYmxlIE9Qcm9maWxlIEpJVCBhZ2VudCBz
dXBwb3J0XSkKKyAgICBPUEFHRU5UX0xJQlM9Ii1sb3BhZ2VudCIKKyAgZmkKK2ZpCisKK0FDX1NV
QlNUKFtPUEFHRU5UX0xJQlNdKQorCiAjIE9wY29kZSBzdGF0cwogQUNfTVNHX0NIRUNLSU5HKFt3
aGV0aGVyIHRvIGVuYWJsZSBvcGNvZGUgc3RhdHNdKQogQUNfQVJHX0VOQUJMRShbb3Bjb2RlLXN0
YXRzXSwKQEAgLTEwMzcsNiArMTA2OSw3IEBAIEJ1aWxkIGNvbmZpZ3VyYXRpb246CiAgVW5pY29k
ZSBiYWNrZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2l0
aF91bmljb2RlX2JhY2tlbmQKICBGb250IGJhY2tlbmQgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA6ICR3aXRoX2ZvbnRfYmFja2VuZAogIE9wdGltaXplZCBtZW1v
cnkgYWxsb2NhdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV9mYXN0
X21hbGxvYworIE9wcm9maWxlIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDogJGVuYWJsZV9vcGFnZW50CiBGZWF0dXJlczoKICAzRCBUcmFuc2Zvcm1zICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfM0RfdHJh
bnNmb3JtcwogIDNEIENhbnZhcyAoV2ViR0wpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDogJGVuYWJsZV8zRF9jYW52YXMKLS0gCjEuNy4zLjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81092</attachid>
            <date>2011-02-03 11:32:01 -0800</date>
            <delta_ts>2011-05-09 12:01:00 -0700</delta_ts>
            <desc>jitprofile.diff</desc>
            <filename>jitprofile.diff</filename>
            <type>text/plain</type>
            <size>52215</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSAyNmI4MTU2NDY5N2NmMWUzNzNkNGJhMTBkNGM2Njc5OGRmODhjMGU5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhhbkBnbm9tZS5vcmc+CkRhdGU6IFRodSwg
MyBGZWIgMjAxMSAxMzo1MjoxOCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIDIwMTEtMDItMDMgIFhh
biBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KCiAgICAgICAgUHJvdmlkZSBhIE9Qcm9maWxlIEpJVCBhZ2VudCAob3BhZ2VudCkg
Zm9yIHRoZSBjb2RlIGdlbmVyYXRlZCBieSB0aGUgSklUCiAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyNTYxCgogICAgICAgIEFkZCBzdXBwb3J0IGZvciBP
UHJvZmlsZSBKSVQgYW5ub3RhdGlvbnMgdG8gdGhlIEdUSysgcG9ydC4gRW5hYmxlCiAgICAgICAg
d2l0aCAtLWVuYWJsZS1vcGFnZW50LgoKICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBhZGQgT1BB
R0VOVCBmbGFncy4KICAgICAgICAqIGNvbmZpZ3VyZS5hYzogYWRkIC0tZW5hYmxlLW9wYWdlbnQg
Y29uZmlndXJlIGZsYWcuCgpTb3VyY2UvV2ViS2l0MjoKCjIwMTEtMDItMDMgIFhhbiBMb3BleiAg
PHhsb3BlekBpZ2FsaWEuY29tPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
CiAgICAgICAgUHJvdmlkZSBhIE9Qcm9maWxlIEpJVCBhZ2VudCAob3BhZ2VudCkgZm9yIHRoZSBj
b2RlIGdlbmVyYXRlZCBieSB0aGUgSklUCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTMyNTYxCgogICAgICAgICogV2ViS2l0Mi5wcm86IGFkZCBuZXcgaW5j
bHVkZSBwYXRoLgoKU291cmNlL0phdmFTY3JpcHRDb3JlOgoKMjAxMS0wMi0wMyAgWGFuIExvcGV6
ICA8eGxvcGV6QGlnYWxpYS5jb20+CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgoKICAgICAgICBQcm92aWRlIGEgT1Byb2ZpbGUgSklUIGFnZW50IChvcGFnZW50KSBmb3IgdGhl
IGNvZGUgZ2VuZXJhdGVkIGJ5IHRoZSBKSVQKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzI1NjEKCiAgICAgICAgQmFzZWQgb24gdGhlIHdvcmsgYnkgSG9s
Z2VyIEZyZXl0aGVyLCBHYWJvciBMb2tpIGFuZCBab2x0YW4gSGVyY3plZy4KCiAgICAgICAgQWRk
IEpJVFByb2ZpbGVBZ2VudCwgYSBuZXcgY2xhc3MgaW4gdG9vbHMvIHdpdGggdGhlIGJhc2ljIG1l
dGhvZHMKICAgICAgICB0byBhbm5vdGF0ZSB0aGUgSklUIGNvZGUsIGFuZCBob29rIGl0IHVwIGlu
IHRoZSByZWxldmFudCBwbGFjZXMKICAgICAgICB0aHJvdWdob3V0IEphdmFTY3JpcHRDb3JlLy4g
SW5jbHVkZWQgaXMgYW4gT1Byb2ZpbGUgaW1wbGVtZW50YXRpb24KICAgICAgICBmb3IgTGludXgg
c3lzdGVtcy4KCiAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogYWRkIEpJVFByb2ZpbGVBZ2VudCBm
aWxlcy4KICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBkaXR0by4KICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLmd5cGk6IGRpdHRvLgogICAgICAgICogSmF2YVNjcmlwdENvcmUucHJpOiBkaXR0by4K
ICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnBybzogZGl0dG8uCiAgICAgICAgKiBKYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBkaXR0by4KICAgICAgICAqIGFzc2VtYmxl
ci9MaW5rQnVmZmVyLmg6CiAgICAgICAgKEpTQzo6TGlua0J1ZmZlcjo6c2l6ZSk6IG1ldGhvZCB0
byByZXR1cm4gdGhlIHNpemUgb2YgdGhlIGJ1ZmZlciwKICAgICAgICBuZWVkZWQgZm9yIHRoZSBj
b2RlIGFubm90YXRpb24gYnkgdGhlIEpJVCBwcm9maWxlIG1ldGhvZHMuCiAgICAgICAgKiBieXRl
Y29kZS9Db2RlQmxvY2suaDoKICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmxpbmVJbmZvKTogYWNj
ZXNzb3IgZm9yIHRoZSBsaW5laW5mbyBkYXRhLgogICAgICAgICogaml0L0pJVC5jcHA6CiAgICAg
ICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZSk6IGNhbGwgb3V0IHRvIHRoZSBKSVRQcm9maWxl
QWdlbnQgdG8KICAgICAgICBhbm5vdGF0ZSBnZW5lcmF0ZWQgY29kZS4KICAgICAgICAqIGppdC9K
SVRPcGNvZGVzLmNwcDoKICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFjaGlu
ZVRyYW1wb2xpbmVzKTogZGl0dG8uCiAgICAgICAgKiBqaXQvSklUT3Bjb2RlczMyXzY0LmNwcDoK
ICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVzKTog
ZGl0dG8uCiAgICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgogICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbik6IGRpdHRvLgogICAgICAgIChK
U0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFycmF5TGVuZ3RoKTogZGl0dG8uCiAgICAg
ICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6IGRpdHRvLgogICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QpOiBkaXR0by4KICAgICAg
ICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdCk6IGRpdHRvLgogICAg
ICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KTogZGl0dG8uCiAg
ICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6IGRpdHRvLgogICAg
ICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwOgogICAgICAgIChKU0M6OkpJVDo6
cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbik6IGRpdHRvLgogICAgICAgIChKU0M6OkpJ
VDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFycmF5TGVuZ3RoKTogZGl0dG8uCiAgICAgICAgKEpT
Qzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6IGRpdHRvLgogICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QpOiBkaXR0by4KICAgICAgICAoSlND
OjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdCk6IGRpdHRvLgogICAgICAgIChK
U0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KTogZGl0dG8uCiAgICAgICAg
KEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6IGRpdHRvLgogICAgICAgICog
anNjLmNwcDogc3VwcG9ydCBwcm9maWxpbmcgb2YgdGhlIEpJVCBjb2RlIHdpdGggLXAuCiAgICAg
ICAgKiBydW50aW1lL0V4ZWN1dGFibGUuaDoKICAgICAgICAoSlNDOjpFdmFsRXhlY3V0YWJsZTo6
aml0Q29kZVR5cGUpOiByZXR1cm4gcHJvcGVyIEpJVENvZGVUeXBlIGZvciB0aGUgRXhlY3V0YWJs
ZS4KICAgICAgICAoSlNDOjpQcm9ncmFtRXhlY3V0YWJsZTo6aml0Q29kZVR5cGUpOiBkaXR0by4K
ICAgICAgICAoSlNDOjpGdW5jdGlvbkV4ZWN1dGFibGU6OmppdENvZGVUeXBlKTogZGl0dG8uCiAg
ICAgICAgKiBydW50aW1lL0pTR2xvYmFsRGF0YS5oOgogICAgICAgICogdG9vbHMvSklUUHJvZmls
ZUFnZW50LmNwcDogQWRkZWQuCiAgICAgICAgKiB0b29scy9KSVRQcm9maWxlQWdlbnQuaDogQWRk
ZWQuCiAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKICAgICAgICAqIHlhcnIvWWFyckpJVC5jcHA6
CiAgICAgICAgKEpTQzo6WWFycjo6WWFyckdlbmVyYXRvcjo6Y29tcGlsZSk6IGNhbGwgb3V0IHRv
IHRoZQogICAgICAgIEpJVFByb2ZpbGVBZ2VudCB0byBhbm5vdGF0ZSBnZW5lcmF0ZWQgY29kZS4K
LS0tCiBDaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgMTMgKysKIEdOVW1ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAgMSArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgICAgICAg
ICAgICAgICB8ICAgIDMgKwogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICAgICAgfCAgIDYxICsrKysrKysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtl
ZmlsZS5hbSAgICAgICAgICAgICAgIHwgICAgMyArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUuZ3lwaSAgICAgICAgICB8ICAgIDIgKwogU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnByaSAgICAgICAgICAgfCAgICAxICsKIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5wcm8gICAgICAgICAgIHwgICAgMSArCiAuLi4vSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiAgICAgICB8ICAgMTcgKystCiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaCAgICAgICB8ICAgIDcgKwogU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oICAgICAgICAgfCAgICA1ICsK
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCAgICAgICAgICAgICAgICAgIHwgICAg
NSArLQogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCAgICAgICAgICAg
fCAgICAzICsKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcCAg
ICAgIHwgICAgMyArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNz
LmNwcCAgICB8ICAgMTQgKysKIC4uLi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nl
c3MzMl82NC5jcHAgIHwgICAxNCArKwogU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDE4ICsrCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9FeGVjdXRhYmxlLmggICAgICAgICB8ICAgMTQgKysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsRGF0YS5oICAgICAgIHwgICAgNCArCiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvdG9vbHMvSklUUHJvZmlsZUFnZW50LmNwcCAgICB8ICAxNzQgKysrKysrKysrKysrKysrKysr
KysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuaCAgICAgIHwg
IDE2MCArKysrKysrKysrKysrKysrKysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZv
cm0uaCAgICAgICAgICAgICAgIHwgICAgNSArCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9Z
YXJySklULmNwcCAgICAgICAgICAgICB8ICAgIDUgKy0KIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgOSArCiBTb3VyY2UvV2ViS2l0Mi9XZWJL
aXQyLnBybyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogY29uZmlndXJlLmFjICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDMzICsrKysKIDI2IGZpbGVz
IGNoYW5nZWQsIDU3MyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUg
MTAwNjQ0IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuY3BwCiBj
cmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pJVFByb2ZpbGVB
Z2VudC5oCgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGQwMjdkM2Eu
LjM4YTQ1ZTQgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAxMS0wMi0wMyAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJvdmlkZSBhIE9Q
cm9maWxlIEpJVCBhZ2VudCAob3BhZ2VudCkgZm9yIHRoZSBjb2RlIGdlbmVyYXRlZCBieSB0aGUg
SklUCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjU2
MQorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBPUHJvZmlsZSBKSVQgYW5ub3RhdGlvbnMgdG8g
dGhlIEdUSysgcG9ydC4gRW5hYmxlCisgICAgICAgIHdpdGggLS1lbmFibGUtb3BhZ2VudC4KKwor
ICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBhZGQgT1BBR0VOVCBmbGFncy4KKyAgICAgICAgKiBj
b25maWd1cmUuYWM6IGFkZCAtLWVuYWJsZS1vcGFnZW50IGNvbmZpZ3VyZSBmbGFnLgorCiAyMDEx
LTAyLTAyICBBbGVqYW5kcm8gRy4gQ2FzdHJvICA8YWxleEBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNvbi4KZGlmZiAtLWdpdCBhL0dOVW1ha2VmaWxlLmFt
IGIvR05VbWFrZWZpbGUuYW0KaW5kZXggOTEwYmUzOC4uYzZmNWMzYSAxMDA2NDQKLS0tIGEvR05V
bWFrZWZpbGUuYW0KKysrIGIvR05VbWFrZWZpbGUuYW0KQEAgLTE0Miw2ICsxNDIsNyBAQCBsaWJK
YXZhU2NyaXB0Q29yZV9sYV9TT1VSQ0VTID0gXAogbGliSmF2YVNjcmlwdENvcmVfbGFfTElCQURE
ID0gXAogCSQoVU5JQ09ERV9MSUJTKSBcCiAJJChHTElCX0xJQlMpIFwKKwkkKE9QQUdFTlRfTElC
UykgXAogCS1scHRocmVhZAogCiBsaWJKYXZhU2NyaXB0Q29yZV9sYV9DWFhGTEFHUyA9IFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlNjg1ZWNmLi5iOWI3ZmYyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMyw2ICsxMyw3IEBAIFNFVChKYXZh
U2NyaXB0Q29yZV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7SkFWQVNDUklQVENPUkVfRElS
fS9wY3JlIgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vcHJvZmlsZXIiCiAgICAgIiR7SkFW
QVNDUklQVENPUkVfRElSfS9ydW50aW1lIgorICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vdG9v
bHMiCiAgICAgIiR7SkFWQVNDUklQVENPUkVfRElSfS95YXJyIgogICAgICIke1dURl9JTkNMVURF
X0RJUkVDVE9SSUVTfSIKICAgICAiJHtDTUFLRV9TT1VSQ0VfRElSfSIKQEAgLTE3Miw2ICsxNzMs
OCBAQCBTRVQoSmF2YVNjcmlwdENvcmVfU09VUkNFUwogICAgIHJ1bnRpbWUvVGltZW91dENoZWNr
ZXIuY3BwCiAgICAgcnVudGltZS9VU3RyaW5nLmNwcAogCisgICAgdG9vbHMvSklUUHJvZmlsZUFn
ZW50LmNwcAorCiAgICAgeWFyci9ZYXJyUGF0dGVybi5jcHAKICAgICB5YXJyL1lhcnJJbnRlcnBy
ZXRlci5jcHAKICAgICB5YXJyL1lhcnJKSVQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRl
eCBjOWFhZTllLi4wMDY1MDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2
NCBAQAorMjAxMS0wMi0wMyAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJvdmlkZSBhIE9Qcm9m
aWxlIEpJVCBhZ2VudCAob3BhZ2VudCkgZm9yIHRoZSBjb2RlIGdlbmVyYXRlZCBieSB0aGUgSklU
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjU2MQor
CisgICAgICAgIEJhc2VkIG9uIHRoZSB3b3JrIGJ5IEhvbGdlciBGcmV5dGhlciwgR2Fib3IgTG9r
aSBhbmQgWm9sdGFuIEhlcmN6ZWcuCisKKyAgICAgICAgQWRkIEpJVFByb2ZpbGVBZ2VudCwgYSBu
ZXcgY2xhc3MgaW4gdG9vbHMvIHdpdGggdGhlIGJhc2ljIG1ldGhvZHMKKyAgICAgICAgdG8gYW5u
b3RhdGUgdGhlIEpJVCBjb2RlLCBhbmQgaG9vayBpdCB1cCBpbiB0aGUgcmVsZXZhbnQgcGxhY2Vz
CisgICAgICAgIHRocm91Z2hvdXQgSmF2YVNjcmlwdENvcmUvLiBJbmNsdWRlZCBpcyBhbiBPUHJv
ZmlsZSBpbXBsZW1lbnRhdGlvbgorICAgICAgICBmb3IgTGludXggc3lzdGVtcy4KKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OiBhZGQgSklUUHJvZmlsZUFnZW50IGZpbGVzLgorICAgICAgICAq
IEdOVW1ha2VmaWxlLmFtOiBkaXR0by4KKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5neXBpOiBk
aXR0by4KKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5wcmk6IGRpdHRvLgorICAgICAgICAqIEph
dmFTY3JpcHRDb3JlLnBybzogZGl0dG8uCisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajogZGl0dG8uCisgICAgICAgICogYXNzZW1ibGVyL0xpbmtCdWZm
ZXIuaDoKKyAgICAgICAgKEpTQzo6TGlua0J1ZmZlcjo6c2l6ZSk6IG1ldGhvZCB0byByZXR1cm4g
dGhlIHNpemUgb2YgdGhlIGJ1ZmZlciwKKyAgICAgICAgbmVlZGVkIGZvciB0aGUgY29kZSBhbm5v
dGF0aW9uIGJ5IHRoZSBKSVQgcHJvZmlsZSBtZXRob2RzLgorICAgICAgICAqIGJ5dGVjb2RlL0Nv
ZGVCbG9jay5oOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmxpbmVJbmZvKTogYWNjZXNzb3Ig
Zm9yIHRoZSBsaW5laW5mbyBkYXRhLgorICAgICAgICAqIGppdC9KSVQuY3BwOgorICAgICAgICAo
SlNDOjpKSVQ6OnByaXZhdGVDb21waWxlKTogY2FsbCBvdXQgdG8gdGhlIEpJVFByb2ZpbGVBZ2Vu
dCB0bworICAgICAgICBhbm5vdGF0ZSBnZW5lcmF0ZWQgY29kZS4KKyAgICAgICAgKiBqaXQvSklU
T3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVDVElNYWNoaW5l
VHJhbXBvbGluZXMpOiBkaXR0by4KKyAgICAgICAgKiBqaXQvSklUT3Bjb2RlczMyXzY0LmNwcDoK
KyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFtcG9saW5lcyk6
IGRpdHRvLgorICAgICAgICAqIGppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHA6CisgICAgICAgIChK
U0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbik6IGRpdHRvLgorICAgICAg
ICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlUGF0Y2hHZXRBcnJheUxlbmd0aCk6IGRpdHRvLgor
ICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvKTogZGl0dG8uCisg
ICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QpOiBkaXR0by4K
KyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90b0xpc3QpOiBkaXR0
by4KKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbkxpc3QpOiBk
aXR0by4KKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6IGRp
dHRvLgorICAgICAgICAqIGppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcDoKKyAgICAgICAg
KEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZVB1dEJ5SWRUcmFuc2l0aW9uKTogZGl0dG8uCisgICAg
ICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFycmF5TGVuZ3RoKTogZGl0dG8u
CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkUHJvdG8pOiBkaXR0by4K
KyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRTZWxmTGlzdCk6IGRpdHRv
LgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdCk6IGRp
dHRvLgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluTGlzdCk6
IGRpdHRvLgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluKTog
ZGl0dG8uCisgICAgICAgICoganNjLmNwcDogc3VwcG9ydCBwcm9maWxpbmcgb2YgdGhlIEpJVCBj
b2RlIHdpdGggLXAuCisgICAgICAgICogcnVudGltZS9FeGVjdXRhYmxlLmg6CisgICAgICAgIChK
U0M6OkV2YWxFeGVjdXRhYmxlOjpqaXRDb2RlVHlwZSk6IHJldHVybiBwcm9wZXIgSklUQ29kZVR5
cGUgZm9yIHRoZSBFeGVjdXRhYmxlLgorICAgICAgICAoSlNDOjpQcm9ncmFtRXhlY3V0YWJsZTo6
aml0Q29kZVR5cGUpOiBkaXR0by4KKyAgICAgICAgKEpTQzo6RnVuY3Rpb25FeGVjdXRhYmxlOjpq
aXRDb2RlVHlwZSk6IGRpdHRvLgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxEYXRhLmg6Cisg
ICAgICAgICogdG9vbHMvSklUUHJvZmlsZUFnZW50LmNwcDogQWRkZWQuCisgICAgICAgICogdG9v
bHMvSklUUHJvZmlsZUFnZW50Lmg6IEFkZGVkLgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgor
ICAgICAgICAqIHlhcnIvWWFyckpJVC5jcHA6CisgICAgICAgIChKU0M6OllhcnI6OllhcnJHZW5l
cmF0b3I6OmNvbXBpbGUpOiBjYWxsIG91dCB0byB0aGUKKyAgICAgICAgSklUUHJvZmlsZUFnZW50
IHRvIGFubm90YXRlIGdlbmVyYXRlZCBjb2RlLgorCiAyMDExLTAyLTAyICBHYXZpbiBCYXJyYWNs
b3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBXaW5kb3dzIGJ1aWxkIGZp
eC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbSBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBhYWRjZDA5Li45ZjA0OWYz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0xNCw2ICsxNCw3IEBAIGph
dmFzY3JpcHRjb3JlX2NwcGZsYWdzICs9IFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGNyZSBcCiAJLUkkKHNyY2RpcikvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVy
IFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZSBcCisJLUkkKHNy
Y2RpcikvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QgXApA
QCAtNDMxLDYgKzQzMiw4IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9XZWFrUmFuZG9tLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1dyaXRlQmFycmllci5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmls
ZUFnZW50LmNwcCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pJVFByb2ZpbGVBZ2Vu
dC5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fsd2F5c0lubGluZS5oIFwKIAlTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL0FTQ0lJQ1R5cGUuaCBcCiAJU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9Bc3NlcnRpb25zLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZ3lwaSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS5neXBpCmluZGV4IDg1YTQxM2MuLjRiM2U3YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS5neXBpCkBAIC0zNjEsNiArMzYxLDggQEAKICAgICAgICAgICAgICdy
dW50aW1lL1VTdHJpbmdCdWlsZGVyLmgnLAogICAgICAgICAgICAgJ3J1bnRpbWUvVVN0cmluZ0Nv
bmNhdGVuYXRlLmgnLAogICAgICAgICAgICAgJ3J1bnRpbWUvV2Vha1JhbmRvbS5oJywKKyAgICAg
ICAgICAgICd0b29scy9KSVRQcm9maWxlQWdlbnQuY3BwJywKKyAgICAgICAgICAgICd0b29scy9K
SVRQcm9maWxlQWdlbnQuaCcsCiAgICAgICAgICAgICAnd3RmL0Fsd2F5c0lubGluZS5oJywKICAg
ICAgICAgICAgICd3dGYvQVNDSUlDVHlwZS5oJywKICAgICAgICAgICAgICd3dGYvQXNzZXJ0aW9u
cy5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnByaSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkKaW5kZXggMDY2
MTNhMS4uZTNiOTlmOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnByaQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJp
CkBAIC0zNCw2ICszNCw3IEBAIEpBVkFTQ1JJUFRDT1JFX0lOQ0xVREVQQVRIID0gXAogICAgICQk
UFdEL3BjcmUgXAogICAgICQkUFdEL3Byb2ZpbGVyIFwKICAgICAkJFBXRC9ydW50aW1lIFwKKyAg
ICAkJFBXRC90b29scyBcCiAgICAgJCRQV0Qvd3RmIFwKICAgICAkJFBXRC93dGYvZ29iamVjdCBc
CiAgICAgJCRQV0Qvd3RmL3N5bWJpYW4gXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnBybyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS5wcm8KaW5kZXggOTEyMjY0Ny4uM2FjZDYxZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnBybworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUucHJvCkBAIC0yMTMsNiArMjEzLDcgQEAgU09VUkNFUyArPSBcCiAgICAg
cnVudGltZS9TdHJ1Y3R1cmUuY3BwIFwKICAgICBydW50aW1lL1RpbWVvdXRDaGVja2VyLmNwcCBc
CiAgICAgcnVudGltZS9VU3RyaW5nLmNwcCBcCisgICAgdG9vbHMvSklUUHJvZmlsZUFnZW50LmNw
cCBcCiAgICAgeWFyci9ZYXJyUGF0dGVybi5jcHAgXAogICAgIHlhcnIvWWFyckludGVycHJldGVy
LmNwcCBcCiAgICAgeWFyci9ZYXJySklULmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDMwNGM3YWYuLjM0N2QwNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0zODMsNiArMzgzLDggQEAKIAkJQTdGOTkzNjAwRkQ3MzI1MTAwQTBCMkQwIC8qIEpTT05PYmpl
Y3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdG
OTkzNUUwRkQ3MzI1MTAwQTBCMkQwIC8qIEpTT05PYmplY3QuY3BwICovOyB9OwogCQlBN0ZCNjBB
NDEwM0Y3REMyMDAxN0EyODYgLyogUHJvcGVydHlEZXNjcmlwdG9yLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RkI2MEEzMTAzRjdEQzIwMDE3QTI4
NiAvKiBQcm9wZXJ0eURlc2NyaXB0b3IuY3BwICovOyB9OwogCQlBN0ZCNjEwMDEwNDBDMzhCMDAx
N0EyODYgLyogUHJvcGVydHlEZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBN0ZCNjA0QjEwM0Y1RUFCMDAxN0EyODYgLyogUHJvcGVydHlE
ZXNjcmlwdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJQjhGMDFDM0YxMkZCMzZBODAwMkNFQjhBIC8qIEpJVFByb2ZpbGVBZ2VudC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCOEYwMUMzRDEyRkIz
NkE4MDAyQ0VCOEEgLyogSklUUHJvZmlsZUFnZW50LmNwcCAqLzsgfTsKKwkJQjhGMDFDNDAxMkZC
MzZBODAwMkNFQjhBIC8qIEpJVFByb2ZpbGVBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjhGMDFDM0UxMkZCMzZBODAwMkNFQjhBIC8qIEpJVFBy
b2ZpbGVBZ2VudC5oICovOyB9OwogCQlCQzAxRDRGMTExQThGMUZGMDBBNTRCMkEgLyogSlNab21i
aWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMw
MUQ0RUYxMUE4RjFGRjAwQTU0QjJBIC8qIEpTWm9tYmllLmNwcCAqLzsgfTsKIAkJQkMwMUQ0RjIx
MUE4RjFGRjAwQTU0QjJBIC8qIEpTWm9tYmllLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAxRDRGMDExQThGMUZGMDBBNTRCMkEgLyogSlNab21iaWUu
aCAqLzsgfTsKIAkJQkMwMkU5MEQwRTE4MzlEQjAwMEY5Mjk3IC8qIEVycm9yQ29uc3RydWN0b3Iu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMDJFOTA1
MEUxODM5REIwMDBGOTI5NyAvKiBFcnJvckNvbnN0cnVjdG9yLmggKi87IH07CkBAIC0xMDYzLDYg
KzEwNjUsOCBAQAogCQlBN0ZCNjBBMzEwM0Y3REMyMDAxN0EyODYgLyogUHJvcGVydHlEZXNjcmlw
dG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb3BlcnR5RGVz
Y3JpcHRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4RTg5NDMxMENEMDYw
MjQwMDM2NzE3OSAvKiBKU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQThFODk0MzMwQ0QwNjAzRjAwMzY3MTc5IC8qIEpTR2xvYmFs
T2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2xvYmFsT2JqZWN0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI4RjAxQzNEMTJGQjM2QTgwMDJDRUI4
QSAvKiBKSVRQcm9maWxlQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gSklUUHJvZmlsZUFnZW50LmNwcDsgcGF0aCA9IHRvb2xzL0pJVFByb2ZpbGVBZ2VudC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI4RjAxQzNFMTJGQjM2QTgwMDJDRUI4
QSAvKiBKSVRQcm9maWxlQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
SklUUHJvZmlsZUFnZW50Lmg7IHBhdGggPSB0b29scy9KSVRQcm9maWxlQWdlbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMwMUQ0RUYxMUE4RjFGRjAwQTU0QjJBIC8qIEpTWm9t
YmllLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTWm9tYmllLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMwMUQ0RjAxMUE4RjFGRjAwQTU0QjJB
IC8qIEpTWm9tYmllLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTWm9tYmll
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDMDJFOTA0MEUxODM5REIwMDBGOTI5
NyAvKiBFcnJvckNvbnN0cnVjdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEVycm9yQ29uc3RydWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTMyNCw2ICsxMzI4LDcgQEAKIAkJCQk5NUFCODMxQTBEQTQyQzY5MDBCQzgzRjMgLyogcHJv
ZmlsZXIgKi8sCiAJCQkJN0VGNkUwQkIwRUI3QTFFQzAwNzlBRkFGIC8qIHJ1bnRpbWUgKi8sCiAJ
CQkJMTQxMjExMDAwQTQ4NzcyNjAwNDgwMjU1IC8qIHRlc3RzICovLAorCQkJCUI4RjAxQzMzMTJG
QjM2MEUwMDJDRUI4QSAvKiB0b29scyAqLywKIAkJCQk2NTE2MkVGMTA4RTZBMjFDMDA3NTU2Q0Qg
Lyogd3RmICovLAogCQkJCTg2RUFDNDhDMEY5M0U4QjkwMDhFQzk0OCAvKiB5YXJyICovLAogCQkJ
CTFDOTA1MTNFMEJBOUU4ODMwMDgxRTlEMCAvKiBDb25maWd1cmF0aW9ucyAqLywKQEAgLTIwNzYs
NiArMjA4MSwxNSBAQAogCQkJbmFtZSA9IGFwaTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
CiAJCX07CisJCUI4RjAxQzMzMTJGQjM2MEUwMDJDRUI4QSAvKiB0b29scyAqLyA9IHsKKwkJCWlz
YSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQjhGMDFDM0QxMkZCMzZBODAwMkNF
QjhBIC8qIEpJVFByb2ZpbGVBZ2VudC5jcHAgKi8sCisJCQkJQjhGMDFDM0UxMkZCMzZBODAwMkNF
QjhBIC8qIEpJVFByb2ZpbGVBZ2VudC5oICovLAorCQkJKTsKKwkJCW5hbWUgPSB0b29sczsKKwkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCUUxOTU2NzhEMDlFN0NGMTIwMEI4OUQx
MyAvKiB1bmljb2RlICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgK
QEAgLTI0NDYsNiArMjQ2MCw3IEBACiAJCQkJRTQ5REMxNkMxMkVGMjk0RTAwMTg0QTFGIC8qIFNv
dXJjZVByb3ZpZGVyQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0OURDMTZEMTJFRjI5NTMw
MDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MTRDODI0QUQxMkY3Qzc4NTAwOEYzNUUwIC8qIE1hcmtlZEJsb2NrLmggaW4gSGVhZGVycyAqLywK
KwkJCQlCOEYwMUM0MDEyRkIzNkE4MDAyQ0VCOEEgLyogSklUUHJvZmlsZUFnZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0g
MDsKIAkJfTsKQEAgLTI1MzksNyArMjU1NCw2IEBACiAJCQlpc2EgPSBQQlhQcm9qZWN0OwogCQkJ
YnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0OUMyNzcxMDg5MDJBRkUwMDhBOUVGQyAvKiBCdWls
ZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIkphdmFTY3JpcHRDb3JlIiAqLzsK
IAkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDIuNCI7Ci0JCQlkZXZlbG9wbWVudFJl
Z2lvbiA9IEVuZ2xpc2g7CiAJCQloYXNTY2FubmVkRm9yRW5jb2RpbmdzID0gMTsKIAkJCWtub3du
UmVnaW9ucyA9ICgKIAkJCQlFbmdsaXNoLApAQCAtMjkxNSw2ICsyOTI5LDcgQEAKIAkJCQk4Njcw
NEI0MjEyREI4QTgxMDBBOUZFN0IgLyogWWFyclN5bnRheENoZWNrZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRTQ5REMxNkIxMkVGMjkzRTAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTRDODI0QUIxMkY3Qzc3RTAwOEYzNUUwIC8qIE1hcmtl
ZEJsb2NrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUI4RjAxQzNGMTJGQjM2QTgwMDJDRUI4QSAv
KiBKSVRQcm9maWxlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oCmluZGV4IGM1YTdkNWIuLmEyOGVlYWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oCkBAIC0xODMsNiAr
MTgzLDEzIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIENvZGVQdHIoTWFjcm9Bc3NlbWJsZXI6
OkFzc2VtYmxlclR5cGVfVDo6Z2V0UmVsb2NhdGVkQWRkcmVzcyhjb2RlKCksIGFwcGx5T2Zmc2V0
KGxhYmVsLm1fbGFiZWwpKSk7CiAgICAgfQogCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5U
KQorICAgIHNpemVfdCBzaXplKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX3NpemU7
CisgICAgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IFQg
YXBwbHlPZmZzZXQoVCBzcmMpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvZGVCbG9jay5oCmluZGV4IGY4NDk4YjQuLjk3NTk3ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKQEAgLTQ1Niw2ICs0NTYsMTEgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgICAgICByZXR1cm4gbV9yYXJlRGF0YSAmJgogICAgICAgICAgICAgICAg
IChtX3JhcmVEYXRhLT5tX2V4cHJlc3Npb25JbmZvLnNpemUoKSB8fCBtX3JhcmVEYXRhLT5tX2xp
bmVJbmZvLnNpemUoKSB8fCBtX3JhcmVEYXRhLT5tX2V4Y2VwdGlvbkhhbmRsZXJzLnNpemUoKSk7
CiAgICAgICAgIH0KKyAgICAgICAgVmVjdG9yPExpbmVJbmZvPiYgbGluZUluZm8oKQorICAgICAg
ICB7CisgICAgICAgICAgICBjcmVhdGVSYXJlRGF0YUlmTmVjZXNzYXJ5KCk7CisgICAgICAgICAg
ICByZXR1cm4gbV9yYXJlRGF0YS0+bV9saW5lSW5mbzsKKyAgICAgICAgfQogCiAjaWYgRU5BQkxF
KEpJVCkKICAgICAgICAgVmVjdG9yPENhbGxSZXR1cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0PiYg
Y2FsbFJldHVybkluZGV4VmVjdG9yKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAppbmRleCBi
OGJkNzE4Li4wMTNhMmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCkBAIC01ODQsNyAr
NTg0LDEwIEBAIEpJVENvZGUgSklUOjpwcml2YXRlQ29tcGlsZShDb2RlUHRyKiBmdW5jdGlvbkVu
dHJ5QXJpdHlDaGVjaykKICAgICBpZiAobV9jb2RlQmxvY2stPmNvZGVUeXBlKCkgPT0gRnVuY3Rp
b25Db2RlICYmIGZ1bmN0aW9uRW50cnlBcml0eUNoZWNrKQogICAgICAgICAqZnVuY3Rpb25FbnRy
eUFyaXR5Q2hlY2sgPSBwYXRjaEJ1ZmZlci5sb2NhdGlvbk9mKGFyaXR5Q2hlY2spOwogCi0gICAg
cmV0dXJuIHBhdGNoQnVmZmVyLmZpbmFsaXplQ29kZSgpOworICAgIEpJVENvZGUgY29kZSA9IHBh
dGNoQnVmZmVyLmZpbmFsaXplQ29kZSgpOworICAgIFJFQ09SRF9KSVRfQ09ERV9DT0RFQkxPQ0so
bV9nbG9iYWxEYXRhLCBjb2RlLmFkZHJlc3NGb3JDYWxsKCkuZXhlY3V0YWJsZUFkZHJlc3MoKSwg
Y29kZS5zaXplKCksIG1fY29kZUJsb2NrKTsKKyAgICBBTk5PVEFURV9KSVRfQ09ERShtX2dsb2Jh
bERhdGEsIGNvZGUuYWRkcmVzc0ZvckNhbGwoKS5leGVjdXRhYmxlQWRkcmVzcygpLCBtX2NvZGVC
bG9jaywgbV9jb2RlQmxvY2stPnNvdXJjZSgpLT51cmwoKSk7CisgICAgcmV0dXJuIGNvZGU7CiB9
CiAKICNpZiBVU0UoSlNWQUxVRTY0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGNvZGVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rl
cy5jcHAKaW5kZXggOThjYjJmMy4uZWE1MDFkNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wY29kZXMuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJBcmd1bWVudHMu
aCIKICNpbmNsdWRlICJKSVRJbmxpbmVNZXRob2RzLmgiCisjaW5jbHVkZSAiSklUUHJvZmlsZUFn
ZW50LmgiCiAjaW5jbHVkZSAiSklUU3R1YkNhbGwuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCiAj
aW5jbHVkZSAiSlNDZWxsLmgiCkBAIC0xNzUsNiArMTc2LDggQEAgdm9pZCBKSVQ6OnByaXZhdGVD
b21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVzKFJlZlB0cjxFeGVjdXRhYmxlUG9vbD4qIGV4ZWN1
dGFibGUKICAgICBDb2RlUmVmIGZpbmFsQ29kZSA9IHBhdGNoQnVmZmVyLmZpbmFsaXplQ29kZSgp
OwogICAgICpleGVjdXRhYmxlUG9vbCA9IGZpbmFsQ29kZS5tX2V4ZWN1dGFibGVQb29sOwogCisg
ICAgUkVDT1JEX0pJVF9UUkFNUE9MSU5FUyhtX2dsb2JhbERhdGEsIGZpbmFsQ29kZS5tX2NvZGUu
ZXhlY3V0YWJsZUFkZHJlc3MoKSwgbV9jb2RlQmxvY2ssIGZpbmFsQ29kZS5tX3NpemUpOworCiAg
ICAgdHJhbXBvbGluZXMtPmN0aVZpcnR1YWxDYWxsTGluayA9IHBhdGNoQnVmZmVyLnRyYW1wb2xp
bmVBdCh2aXJ0dWFsQ2FsbExpbmtCZWdpbik7CiAgICAgdHJhbXBvbGluZXMtPmN0aVZpcnR1YWxD
b25zdHJ1Y3RMaW5rID0gcGF0Y2hCdWZmZXIudHJhbXBvbGluZUF0KHZpcnR1YWxDb25zdHJ1Y3RM
aW5rQmVnaW4pOwogICAgIHRyYW1wb2xpbmVzLT5jdGlWaXJ0dWFsQ2FsbCA9IHBhdGNoQnVmZmVy
LnRyYW1wb2xpbmVBdCh2aXJ0dWFsQ2FsbEJlZ2luKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcAppbmRleCBkZGE3NGM4Li5lOTIxZjM1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwCkBAIC0zMSw2ICsz
MSw3IEBACiAjaW5jbHVkZSAiSklULmgiCiAKICNpbmNsdWRlICJKSVRJbmxpbmVNZXRob2RzLmgi
CisjaW5jbHVkZSAiSklUUHJvZmlsZUFnZW50LmgiCiAjaW5jbHVkZSAiSklUU3R1YkNhbGwuaCIK
ICNpbmNsdWRlICJKU0FycmF5LmgiCiAjaW5jbHVkZSAiSlNDZWxsLmgiCkBAIC0xNzYsNiArMTc3
LDggQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVzKFJlZlB0
cjxFeGVjdXRhYmxlUG9vbD4qIGV4ZWN1dGFibGUKICAgICBDb2RlUmVmIGZpbmFsQ29kZSA9IHBh
dGNoQnVmZmVyLmZpbmFsaXplQ29kZSgpOwogICAgICpleGVjdXRhYmxlUG9vbCA9IGZpbmFsQ29k
ZS5tX2V4ZWN1dGFibGVQb29sOwogCisgICAgUkVDT1JEX0pJVF9UUkFNUE9MSU5FUyhtX2dsb2Jh
bERhdGEsIGZpbmFsQ29kZS5tX2NvZGUuZXhlY3V0YWJsZUFkZHJlc3MoKSwgbV9jb2RlQmxvY2ss
IGZpbmFsQ29kZS5tX3NpemUpOworCiAgICAgdHJhbXBvbGluZXMtPmN0aVZpcnR1YWxDYWxsID0g
cGF0Y2hCdWZmZXIudHJhbXBvbGluZUF0KHZpcnR1YWxDYWxsQmVnaW4pOwogICAgIHRyYW1wb2xp
bmVzLT5jdGlWaXJ0dWFsQ29uc3RydWN0ID0gcGF0Y2hCdWZmZXIudHJhbXBvbGluZUF0KHZpcnR1
YWxDb25zdHJ1Y3RCZWdpbik7CiAgICAgdHJhbXBvbGluZXMtPmN0aU5hdGl2ZUNhbGwgPSBwYXRj
aEJ1ZmZlci50cmFtcG9saW5lQXQobmF0aXZlQ2FsbFRodW5rKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKaW5kZXggMWI5NWVlYy4uZmNmZDg4
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vz
cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5j
cHAKQEAgLTY1Niw2ICs2NTYsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJh
bnNpdGlvbihTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZQogICAgIHN0dWJJ
bmZvLT5zdHViUm91dGluZSA9IGVudHJ5TGFiZWw7CiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNo
QnVmZmVyKG1fY29kZUJsb2NrKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGlua0NhbGxlclRvVHJh
bXBvbGluZShyZXR1cm5BZGRyZXNzLCBlbnRyeUxhYmVsKTsKKworICAgIFJFQ09SRF9KSVRfQ09E
RShtX2dsb2JhbERhdGEsIGVudHJ5TGFibGUuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZm
ZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OlB1dEJ5SURUcmFuc2l0aW9uKTsKIH0KIAogdm9p
ZCBKSVQ6OnBhdGNoR2V0QnlJZFNlbGYoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIFN0cnVjdHVyZVN0
dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIHNpemVfdCBjYWNoZWRPZmZz
ZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykKQEAgLTc1NCw2ICs3NTYsOCBAQCB2
b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFycmF5TGVuZ3RoKFJldHVybkFkZHJlc3NQ
dHIgcmV0dXJuQWRkcmVzcykKIAogICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0
aGFuIG9uY2UgLSBpbiBmdXR1cmUgZ28gdG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAg
IHJlcGF0Y2hCdWZmZXIucmVsaW5rQ2FsbGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5j
dGlvblB0cihjdGlfb3BfZ2V0X2J5X2lkX2FycmF5X2ZhaWwpKTsKKworICAgIFJFQ09SRF9KSVRf
Q09ERShtX2dsb2JhbERhdGEsIGVudHJ5TGFibGUuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hC
dWZmZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEFycmF5TGVuZ3RoKTsKIH0KIAogdm9p
ZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHVi
SW5mbywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0dXJl
LCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXpl
X3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MsIENhbGxGcmFt
ZSogY2FsbEZyYW1lKQpAQCAtODIzLDYgKzgyNyw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGls
ZUdldEJ5SWRQcm90byhTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3Ry
CiAKICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHBhdGNoIG1vcmUgdGhhbiBvbmNlIC0gaW4gZnV0
dXJlIGdvIHRvIGN0aV9vcF9wdXRfYnlfaWRfZ2VuZXJpYy4KICAgICByZXBhdGNoQnVmZmVyLnJl
bGlua0NhbGxlclRvRnVuY3Rpb24ocmV0dXJuQWRkcmVzcywgRnVuY3Rpb25QdHIoY3RpX29wX2dl
dF9ieV9pZF9wcm90b19saXN0KSk7CisKKyAgICBSRUNPUkRfSklUX0NPREUobV9nbG9iYWxEYXRh
LCBlbnRyeUxhYmxlLmV4ZWN1dGFibGVBZGRyZXNzKCksIHBhdGNoQnVmZmVyLnNpemUoKSwgSklU
UHJvZmlsZUFnZW50OjpHZXRCeUlEUHJvdG8pOwogfQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBp
bGVHZXRCeUlkU2VsZkxpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhp
Y0FjY2Vzc1N0cnVjdHVyZUxpc3QqIHBvbHltb3JwaGljU3RydWN0dXJlcywgaW50IGN1cnJlbnRJ
bmRleCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25z
dCBQcm9wZXJ0eVNsb3QmIHNsb3QsIHNpemVfdCBjYWNoZWRPZmZzZXQpCkBAIC04ODEsNiArODg3
LDggQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNlbGZMaXN0KFN0cnVjdHVyZVN0
dWJJbmZvKiBzdHViSW5mbywgUG9seW1vcnBoaWMKICAgICBDb2RlTG9jYXRpb25KdW1wIGp1bXBM
b2NhdGlvbiA9IHN0dWJJbmZvLT5ob3RQYXRoQmVnaW4uanVtcEF0T2Zmc2V0KHBhdGNoT2Zmc2V0
R2V0QnlJZEJyYW5jaFRvU2xvd0Nhc2UpOwogICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZl
cihtX2NvZGVCbG9jayk7CiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoanVtcExvY2F0aW9uLCBl
bnRyeUxhYmVsKTsKKworICAgIFJFQ09SRF9KSVRfQ09ERShtX2dsb2JhbERhdGEsIGVudHJ5TGFi
bGUuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdl
bnQ6OkdldEJ5SURTZWxmTGlzdCk7CiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5
SWRQcm90b0xpc3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpY0FjY2Vz
c1N0cnVjdHVyZUxpc3QqIHByb3RvdHlwZVN0cnVjdHVyZXMsIGludCBjdXJyZW50SW5kZXgsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3Qg
SWRlbnRpZmllciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hl
ZE9mZnNldCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCkBAIC05NTEsNiArOTU5LDggQEAgdm9pZCBK
SVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1
YkluZm8sIFBvbHltb3JwaGkKICAgICBDb2RlTG9jYXRpb25KdW1wIGp1bXBMb2NhdGlvbiA9IHN0
dWJJbmZvLT5ob3RQYXRoQmVnaW4uanVtcEF0T2Zmc2V0KHBhdGNoT2Zmc2V0R2V0QnlJZEJyYW5j
aFRvU2xvd0Nhc2UpOwogICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9j
ayk7CiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoanVtcExvY2F0aW9uLCBlbnRyeUxhYmVsKTsK
KworICAgIFJFQ09SRF9KSVRfQ09ERShtX2dsb2JhbERhdGEsIGVudHJ5TGFibGUuZXhlY3V0YWJs
ZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEJ5SURQ
cm90b0xpc3QpOwogfQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0
KFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVM
aXN0KiBwcm90b3R5cGVTdHJ1Y3R1cmVzLCBpbnQgY3VycmVudEluZGV4LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgU3RydWN0dXJlQ2hhaW4qIGNoYWluLCBzaXplX3QgY291bnQsIGNvbnN0IElkZW50
aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QsIHNpemVfdCBjYWNoZWRPZmZz
ZXQsIENhbGxGcmFtZSogY2FsbEZyYW1lKQpAQCAtMTAyMSw2ICsxMDMxLDggQEAgdm9pZCBKSVQ6
OnByaXZhdGVDb21waWxlR2V0QnlJZENoYWluTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIFBvbHltb3JwaGkKICAgICBDb2RlTG9jYXRpb25KdW1wIGp1bXBMb2NhdGlvbiA9IHN0dWJJ
bmZvLT5ob3RQYXRoQmVnaW4uanVtcEF0T2Zmc2V0KHBhdGNoT2Zmc2V0R2V0QnlJZEJyYW5jaFRv
U2xvd0Nhc2UpOwogICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7
CiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoanVtcExvY2F0aW9uLCBlbnRyeUxhYmVsKTsKKwor
ICAgIFJFQ09SRF9KSVRfQ09ERShtX2dsb2JhbERhdGEsIGVudHJ5TGFibGUuZXhlY3V0YWJsZUFk
ZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEJ5SURDaGFp
bkxpc3QpOwogfQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4oU3RydWN0
dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlQ2hh
aW4qIGNoYWluLCBzaXplX3QgY291bnQsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQ
cm9wZXJ0eVNsb3QmIHNsb3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIg
cmV0dXJuQWRkcmVzcywgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCkBAIC0xMDg5LDYgKzExMDEsOCBA
QCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4oU3RydWN0dXJlU3R1YkluZm8q
IHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cgogCiAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBwYXRj
aCBtb3JlIHRoYW4gb25jZSAtIGluIGZ1dHVyZSBnbyB0byBjdGlfb3BfcHV0X2J5X2lkX2dlbmVy
aWMuCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtDYWxsZXJUb0Z1bmN0aW9uKHJldHVybkFkZHJl
c3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfcHJvdG9fbGlzdCkpOworCisgICAgUkVD
T1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwgZW50cnlMYWJsZS5leGVjdXRhYmxlQWRkcmVzcygp
LCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFByb2ZpbGVBZ2VudDo6R2V0QnlJRENoYWluKTsKIH0K
IAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVORDogIUVOQUJMRSAvIEVOQUJM
RShKSVRfT1BUSU1JWkVfUFJPUEVSVFlfQUNDRVNTKSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVy
dHlBY2Nlc3MzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5
QWNjZXNzMzJfNjQuY3BwCmluZGV4IDcxMGExNTUuLmYzOTFjM2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcApAQCAtNjcy
LDYgKzY3Miw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZVB1dEJ5SWRUcmFuc2l0aW9uKFN0
cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgU3RydWN0dXJlCiAgICAgc3R1YkluZm8tPnN0dWJS
b3V0aW5lID0gZW50cnlMYWJlbDsKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIobV9j
b2RlQmxvY2spOwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rQ2FsbGVyVG9UcmFtcG9saW5lKHJl
dHVybkFkZHJlc3MsIGVudHJ5TGFiZWwpOworCisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFs
RGF0YSwgZW50cnlMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCks
IEpJVFByb2ZpbGVBZ2VudDo6UHV0QnlJRFRyYW5zaXRpb24pOwogfQogCiB2b2lkIEpJVDo6cGF0
Y2hHZXRCeUlkU2VsZihDb2RlQmxvY2sqIGNvZGVCbG9jaywgU3RydWN0dXJlU3R1YkluZm8qIHN0
dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgc2l6ZV90IGNhY2hlZE9mZnNldCwgUmV0dXJu
QWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzKQpAQCAtNzc1LDYgKzc3Nyw4IEBAIHZvaWQgSklUOjpw
cml2YXRlQ29tcGlsZVBhdGNoR2V0QXJyYXlMZW5ndGgoUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5B
ZGRyZXNzKQogICAgIAogICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9yZSB0aGFuIG9u
Y2UgLSBpbiBmdXR1cmUgZ28gdG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgogICAgIHJlcGF0
Y2hCdWZmZXIucmVsaW5rQ2FsbGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5jdGlvblB0
cihjdGlfb3BfZ2V0X2J5X2lkX2FycmF5X2ZhaWwpKTsKKworICAgIFJFQ09SRF9KSVRfQ09ERSht
X2dsb2JhbERhdGEsIGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIu
c2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEFycmF5TGVuZ3RoKTsKIH0KIAogdm9pZCBKSVQ6
OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvKFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFN0cnVjdHVyZSogcHJvdG90eXBlU3RydWN0dXJlLCBjb25z
dCBJZGVudGlmaWVyJiBpZGVudCwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBzaXplX3QgY2Fj
aGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MsIENhbGxGcmFtZSogY2Fs
bEZyYW1lKQpAQCAtODQ2LDYgKzg1MCw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5
SWRQcm90byhTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cnVjdHVyZSogc3RyCiAgICAg
CiAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBwYXRjaCBtb3JlIHRoYW4gb25jZSAtIGluIGZ1dHVy
ZSBnbyB0byBjdGlfb3BfcHV0X2J5X2lkX2dlbmVyaWMuCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxp
bmtDYWxsZXJUb0Z1bmN0aW9uKHJldHVybkFkZHJlc3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9nZXRf
YnlfaWRfcHJvdG9fbGlzdCkpOworCisgICAgUkVDT1JEX0pJVF9DT0RFKG1fZ2xvYmFsRGF0YSwg
ZW50cnlMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygpLCBwYXRjaEJ1ZmZlci5zaXplKCksIEpJVFBy
b2ZpbGVBZ2VudDo6R2V0QnlJRFByb3RvKTsKIH0KIAogCkBAIC05MDUsNiArOTExLDggQEAgdm9p
ZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNlbGZMaXN0KFN0cnVjdHVyZVN0dWJJbmZvKiBz
dHViSW5mbywgUG9seW1vcnBoaWMKICAgICBDb2RlTG9jYXRpb25KdW1wIGp1bXBMb2NhdGlvbiA9
IHN0dWJJbmZvLT5ob3RQYXRoQmVnaW4uanVtcEF0T2Zmc2V0KHBhdGNoT2Zmc2V0R2V0QnlJZEJy
YW5jaFRvU2xvd0Nhc2UpOwogICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVC
bG9jayk7CiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoanVtcExvY2F0aW9uLCBlbnRyeUxhYmVs
KTsKKworICAgIFJFQ09SRF9KSVRfQ09ERShtX2dsb2JhbERhdGEsIGVudHJ5TGFiZWwuZXhlY3V0
YWJsZUFkZHJlc3MoKSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEJ5
SURTZWxmTGlzdCk7CiB9CiAKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90b0xp
c3QoU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVy
ZUxpc3QqIHByb3RvdHlwZVN0cnVjdHVyZXMsIGludCBjdXJyZW50SW5kZXgsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBTdHJ1Y3R1cmUqIHByb3RvdHlwZVN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmll
ciYgaWRlbnQsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgc2l6ZV90IGNhY2hlZE9mZnNldCwg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpCkBAIC05NzQsNiArOTgyLDggQEAgdm9pZCBKSVQ6OnByaXZh
dGVDb21waWxlR2V0QnlJZFByb3RvTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBv
bHltb3JwaGkKICAgICBDb2RlTG9jYXRpb25KdW1wIGp1bXBMb2NhdGlvbiA9IHN0dWJJbmZvLT5o
b3RQYXRoQmVnaW4uanVtcEF0T2Zmc2V0KHBhdGNoT2Zmc2V0R2V0QnlJZEJyYW5jaFRvU2xvd0Nh
c2UpOwogICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CiAgICAg
cmVwYXRjaEJ1ZmZlci5yZWxpbmsoanVtcExvY2F0aW9uLCBlbnRyeUxhYmVsKTsKKworICAgIFJF
Q09SRF9KSVRfQ09ERShtX2dsb2JhbERhdGEsIGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3Mo
KSwgcGF0Y2hCdWZmZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEJ5SURQcm90b0xpc3Qp
OwogfQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KFN0cnVjdHVy
ZVN0dWJJbmZvKiBzdHViSW5mbywgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KiBwcm90
b3R5cGVTdHJ1Y3R1cmVzLCBpbnQgY3VycmVudEluZGV4LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
U3RydWN0dXJlQ2hhaW4qIGNoYWluLCBzaXplX3QgY291bnQsIGNvbnN0IElkZW50aWZpZXImIGlk
ZW50LCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIENhbGxG
cmFtZSogY2FsbEZyYW1lKQpAQCAtMTA0NCw2ICsxMDU0LDggQEAgdm9pZCBKSVQ6OnByaXZhdGVD
b21waWxlR2V0QnlJZENoYWluTGlzdChTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFBvbHlt
b3JwaGkKICAgICBDb2RlTG9jYXRpb25KdW1wIGp1bXBMb2NhdGlvbiA9IHN0dWJJbmZvLT5ob3RQ
YXRoQmVnaW4uanVtcEF0T2Zmc2V0KHBhdGNoT2Zmc2V0R2V0QnlJZEJyYW5jaFRvU2xvd0Nhc2Up
OwogICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CiAgICAgcmVw
YXRjaEJ1ZmZlci5yZWxpbmsoanVtcExvY2F0aW9uLCBlbnRyeUxhYmVsKTsKKworICAgIFJFQ09S
RF9KSVRfQ09ERShtX2dsb2JhbERhdGEsIGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwg
cGF0Y2hCdWZmZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEJ5SURDaGFpbkxpc3QpOwog
fQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4oU3RydWN0dXJlU3R1Yklu
Zm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RydWN0dXJlQ2hhaW4qIGNoYWlu
LCBzaXplX3QgY291bnQsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBjb25zdCBQcm9wZXJ0eVNs
b3QmIHNsb3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRk
cmVzcywgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCkBAIC0xMTExLDYgKzExMjMsOCBAQCB2b2lkIEpJ
VDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4oU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZv
LCBTdHJ1Y3R1cmUqIHN0cgogICAgIAogICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gcGF0Y2ggbW9y
ZSB0aGFuIG9uY2UgLSBpbiBmdXR1cmUgZ28gdG8gY3RpX29wX3B1dF9ieV9pZF9nZW5lcmljLgog
ICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rQ2FsbGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBG
dW5jdGlvblB0cihjdGlfb3BfZ2V0X2J5X2lkX3Byb3RvX2xpc3QpKTsKKworICAgIFJFQ09SRF9K
SVRfQ09ERShtX2dsb2JhbERhdGEsIGVudHJ5TGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSwgcGF0
Y2hCdWZmZXIuc2l6ZSgpLCBKSVRQcm9maWxlQWdlbnQ6OkdldEJ5SURDaGFpbik7CiB9CiAKIC8q
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFTkQ6ICFFTkFCTEUgLyBFTkFCTEUoSklU
X09QVElNSVpFX1BST1BFUlRZX0FDQ0VTUykgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
ICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qc2MuY3BwCmluZGV4IDkxMmI1MWEuLjc3MTUyNmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qc2MuY3BwCkBAIC0xMDIsMTEgKzEwMiwxNyBAQCBzdHJ1Y3QgT3B0aW9ucyB7CiAgICAgT3B0
aW9ucygpCiAgICAgICAgIDogaW50ZXJhY3RpdmUoZmFsc2UpCiAgICAgICAgICwgZHVtcChmYWxz
ZSkKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgICAgICwgaml0UHJvZmlsZShm
YWxzZSkKKyNlbmRpZgogICAgIHsKICAgICB9CiAKICAgICBib29sIGludGVyYWN0aXZlOwogICAg
IGJvb2wgZHVtcDsKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgYm9vbCBqaXRQ
cm9maWxlOworI2VuZGlmCiAgICAgVmVjdG9yPFNjcmlwdD4gc2NyaXB0czsKICAgICBWZWN0b3I8
VVN0cmluZz4gYXJndW1lbnRzOwogfTsKQEAgLTQ2NSw2ICs0NzEsOSBAQCBzdGF0aWMgTk9fUkVU
VVJOIHZvaWQgcHJpbnRVc2FnZVN0YXRlbWVudChKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEsIGJv
b2wgaGVscCA9CiAgICAgZnByaW50ZihzdGRlcnIsICIgIC1mICAgICAgICAgU3BlY2lmaWVzIGEg
c291cmNlIGZpbGUgKGRlcHJlY2F0ZWQpXG4iKTsKICAgICBmcHJpbnRmKHN0ZGVyciwgIiAgLWh8
LS1oZWxwICBQcmludHMgdGhpcyBoZWxwIG1lc3NhZ2VcbiIpOwogICAgIGZwcmludGYoc3RkZXJy
LCAiICAtaSAgICAgICAgIEVuYWJsZXMgaW50ZXJhY3RpdmUgbW9kZSAoZGVmYXVsdCBpZiBubyBm
aWxlcyBhcmUgc3BlY2lmaWVkKVxuIik7CisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQor
ICAgIGZwcmludGYoc3RkZXJyLCAiICAtcCAgICAgICAgIEVuYWJsZXMgSklUIHByb2ZpbGUgYWdl
bnRcbiIpOworI2VuZGlmCiAjaWYgSEFWRShTSUdOQUxfSCkKICAgICBmcHJpbnRmKHN0ZGVyciwg
IiAgLXMgICAgICAgICBJbnN0YWxscyBzaWduYWwgaGFuZGxlcnMgdGhhdCBleGl0IG9uIGEgY3Jh
c2ggKFVuaXggcGxhdGZvcm1zIG9ubHkpXG4iKTsKICNlbmRpZgpAQCAtNDk4LDYgKzUwNywxMiBA
QCBzdGF0aWMgdm9pZCBwYXJzZUFyZ3VtZW50cyhpbnQgYXJnYywgY2hhcioqIGFyZ3YsIE9wdGlv
bnMmIG9wdGlvbnMsIEpTR2xvYmFsRGF0YQogICAgICAgICAgICAgb3B0aW9ucy5kdW1wID0gdHJ1
ZTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CisjaWYgRU5BQkxFKEpJVF9QUk9G
SUxFX0FHRU5UKQorICAgICAgICBpZiAoIXN0cmNtcChhcmcsICItcCIpKSB7CisgICAgICAgICAg
ICBvcHRpb25zLmppdFByb2ZpbGUgPSB0cnVlOworICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgIH0KKyNlbmRpZgogICAgICAgICBpZiAoIXN0cmNtcChhcmcsICItcyIpKSB7CiAjaWYgSEFW
RShTSUdOQUxfSCkKICAgICAgICAgICAgIHNpZ25hbChTSUdJTEwsIF9leGl0KTsKQEAgLTUzMSw2
ICs1NDYsOSBAQCBpbnQganNjbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YsIEpTR2xvYmFsRGF0
YSogZ2xvYmFsRGF0YSkKICAgICBwYXJzZUFyZ3VtZW50cyhhcmdjLCBhcmd2LCBvcHRpb25zLCBn
bG9iYWxEYXRhKTsKIAogICAgIEdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbmV3IChnbG9i
YWxEYXRhKSBHbG9iYWxPYmplY3Qob3B0aW9ucy5hcmd1bWVudHMpOworI2lmIEVOQUJMRShKSVRf
UFJPRklMRV9BR0VOVCkKKyAgICBnbG9iYWxEYXRhLT5qaXRQcm9maWxlQWdlbnQuc2V0RW5hYmxl
ZCh0cnVlKTsKKyNlbmRpZgogICAgIGJvb2wgc3VjY2VzcyA9IHJ1bldpdGhTY3JpcHRzKGdsb2Jh
bE9iamVjdCwgb3B0aW9ucy5zY3JpcHRzLCBvcHRpb25zLmR1bXApOwogICAgIGlmIChvcHRpb25z
LmludGVyYWN0aXZlICYmIHN1Y2Nlc3MpCiAgICAgICAgIHJ1bkludGVyYWN0aXZlKGdsb2JhbE9i
amVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRh
YmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmgKaW5kZXgg
NTQ0ZTQ4Ny4uYzM1NjliZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXhlY3V0YWJsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1
dGFibGUuaApAQCAtMTc3LDYgKzE3NywxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgYm9v
bCBuZWVkc0FjdGl2YXRpb24oKSBjb25zdCB7IHJldHVybiBtX2hhc0NhcHR1cmVkVmFyaWFibGVz
IHx8IG1fZmVhdHVyZXMgJiAoRXZhbEZlYXR1cmUgfCBXaXRoRmVhdHVyZSB8IENhdGNoRmVhdHVy
ZSk7IH0KICAgICAgICAgYm9vbCBpc1N0cmljdE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2ZlYXR1
cmVzICYgU3RyaWN0TW9kZUZlYXR1cmU7IH0KIAorI2lmIEVOQUJMRShKSVRfUFJPRklMRV9BR0VO
VCkKKyAgICAgICAgdmlydHVhbCBKSVRQcm9maWxlQWdlbnQ6OkpJVENvZGVUeXBlIGppdENvZGVU
eXBlKCkgPSAwOworI2VuZGlmCisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIHZvaWQgcmVjb3Jk
UGFyc2UoQ29kZUZlYXR1cmVzIGZlYXR1cmVzLCBib29sIGhhc0NhcHR1cmVkVmFyaWFibGVzLCBp
bnQgZmlyc3RMaW5lLCBpbnQgbGFzdExpbmUpCiAgICAgICAgIHsKQEAgLTIyMiw2ICsyMjYsMTAg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKEpJVF9Q
Uk9GSUxFX0FHRU5UKQorICAgICAgICBKSVRQcm9maWxlQWdlbnQ6OkpJVENvZGVUeXBlIGppdENv
ZGVUeXBlKCkgeyByZXR1cm4gSklUUHJvZmlsZUFnZW50OjpFdmFsO30KKyNlbmRpZgorCiAgICAg
cHJpdmF0ZToKICAgICAgICAgRXZhbEV4ZWN1dGFibGUoRXhlY1N0YXRlKiwgY29uc3QgU291cmNl
Q29kZSYsIGJvb2wpOwogCkBAIC0yNjMsNiArMjcxLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKEpJVF9QUk9GSUxFX0FHRU5UKQorICAgICAgICBK
SVRQcm9maWxlQWdlbnQ6OkpJVENvZGVUeXBlIGppdENvZGVUeXBlKCkgeyByZXR1cm4gSklUUHJv
ZmlsZUFnZW50OjpQcm9ncmFtOyB9CisjZW5kaWYKICAgICBwcml2YXRlOgogICAgICAgICBQcm9n
cmFtRXhlY3V0YWJsZShFeGVjU3RhdGUqLCBjb25zdCBTb3VyY2VDb2RlJik7CiAKQEAgLTM4NCw2
ICszOTUsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIHJldHVybiBtX2ppdENvZGVG
b3JDb25zdHJ1Y3RXaXRoQXJpdHlDaGVjazsKICAgICAgICAgfQogI2VuZGlmCisjaWYgRU5BQkxF
KEpJVF9QUk9GSUxFX0FHRU5UKQorICAgICAgICBKSVRQcm9maWxlQWdlbnQ6OkpJVENvZGVUeXBl
IGppdENvZGVUeXBlKCkgeyByZXR1cm4gSklUUHJvZmlsZUFnZW50OjpGdW5jdGlvbjsgfQorI2Vu
ZGlmCiAgICAgfTsKIAogICAgIGlubGluZSBGdW5jdGlvbkV4ZWN1dGFibGUqIEpTRnVuY3Rpb246
OmpzRXhlY3V0YWJsZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbERhdGEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsRGF0YS5oCmluZGV4IDdiNjkwNTUuLmQ4Y2QxNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVk
ZSAiSGVhcC5oIgogI2luY2x1ZGUgIkRhdGVJbnN0YW5jZUNhY2hlLmgiCiAjaW5jbHVkZSAiRXhl
Y3V0YWJsZUFsbG9jYXRvci5oIgorI2luY2x1ZGUgIkpJVFByb2ZpbGVBZ2VudC5oIgogI2luY2x1
ZGUgIkpJVFN0dWJzLmgiCiAjaW5jbHVkZSAiSlNWYWx1ZS5oIgogI2luY2x1ZGUgIk51bWVyaWNT
dHJpbmdzLmgiCkBAIC0xOTMsNiArMTk0LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIExl
eGVyKiBsZXhlcjsKICAgICAgICAgUGFyc2VyKiBwYXJzZXI7CiAgICAgICAgIEludGVycHJldGVy
KiBpbnRlcnByZXRlcjsKKyNpZiBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisgICAgICAgIEpJ
VFByb2ZpbGVBZ2VudCBqaXRQcm9maWxlQWdlbnQ7CisjZW5kaWYKICNpZiBFTkFCTEUoSklUKQog
ICAgICAgICBPd25QdHI8SklUVGh1bmtzPiBqaXRTdHViczsKICAgICAgICAgTWFjcm9Bc3NlbWJs
ZXJDb2RlUHRyIGdldENUSVN0dWIoVGh1bmtHZW5lcmF0b3IgZ2VuZXJhdG9yKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pJVFByb2ZpbGVBZ2VudC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSklUUHJvZmlsZUFnZW50LmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi45NGEzMzVkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pJVFByb2ZpbGVBZ2VudC5jcHAKQEAgLTAsMCArMSwxNzQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAorICogQ29weXJpZ2h0
IChDKSAyMDEwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShKSVRfUFJPRklMRV9B
R0VOVCkKKworI2luY2x1ZGUgIkpJVFByb2ZpbGVBZ2VudC5oIgorCisjaW5jbHVkZSAiQ29kZUJs
b2NrLmgiCisjaW5jbHVkZSAiSlNHbG9iYWxEYXRhLmgiCisjaW5jbHVkZSAiU291cmNlUHJvdmlk
ZXIuaCIKKyNpbmNsdWRlICJVU3RyaW5nLmgiCisjaW5jbHVkZSAiVVN0cmluZ0NvbmNhdGVuYXRl
LmgiCisjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KKworbmFtZXNwYWNlIEpTQyB7CisKKyNp
ZiBFTkFCTEUoSklUX09QUk9GSUxFX0FHRU5UKQorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6aW5p
dEFnZW50KCkKK3sKKyAgICBtX3ZpcnR1YWxNZW1vcnlTZWdtZW50cy5jbGVhcigpOworICAgIG1f
cHJvZmlsZUFnZW50ID0gb3Bfb3Blbl9hZ2VudCgpOworICAgIGlmIChtX3RyYW1wb2xpbmVzLmNv
ZGUpCisgICAgICAgIHJlY29yZEpJVENvZGUobV90cmFtcG9saW5lcy5jb2RlLCBtX3RyYW1wb2xp
bmVzLnNpemUsIG1fdHJhbXBvbGluZXMuY29kZUJsb2NrLCBUcmFtcG9saW5lcyk7Cit9CisKK3Zv
aWQgSklUUHJvZmlsZUFnZW50OjpkZWluaXRBZ2VudCgpCit7CisgICAgdW5zaWduZWQgaW50IGks
IG4gPSBtX3ZpcnR1YWxNZW1vcnlTZWdtZW50cy5zaXplKCk7CisgICAgZm9yIChpID0gMDsgaSAh
PSBuOyArK2kpCisgICAgICAgIG9wX3VubG9hZF9uYXRpdmVfY29kZShtX3Byb2ZpbGVBZ2VudCwg
cmVpbnRlcnByZXRfY2FzdDx1aW50NjRfdD4obV92aXJ0dWFsTWVtb3J5U2VnbWVudHNbaV0uY29k
ZSkpOworICAgIG1fdmlydHVhbE1lbW9yeVNlZ21lbnRzLmNsZWFyKCk7CisgICAgb3BfY2xvc2Vf
YWdlbnQobV9wcm9maWxlQWdlbnQpOworfQorCitzdGF0aWMgY29uc3QgY2hhciogc3ltYm9sTmFt
ZVRhYmxlW10gPSB7CisgICAgIjxqaXQtcHV0LWJ5LWlkLXRyYW5zaXRpb24+IiwKKyAgICAiPGpp
dC1nZXQtYXJyYXktbGVuZ3RoPiIsCisgICAgIjxqaXQtZ2V0LWJ5LWlkLXNlbGYtbGlzdD4iLAor
ICAgICI8aml0LWdldC1ieS1pZC1wcm90bz4iLAorICAgICI8aml0LWdldC1ieS1pZC1wcm90by1s
aXN0PiIsCisgICAgIjxqaXQtZ2V0LWJ5LWlkLWNoYWluPiIsCisgICAgIjxqaXQtZ2V0LWJ5LWlk
LWNoYWluLWxpc3Q+IiwKKyAgICAiPGppdC10cmFtcG9saW5lcz4iLAorICAgICI8aml0LXByb2c+
IiwKKyAgICAiPGppdC1mdW5jPiIsCisgICAgIjxqaXQtZnVuYy1yZXBhcnNlZD4iLAorICAgICI8
aml0LWV2YWw+IiwKKyAgICAiPGppdC1ldmFsLXJlcGFyc2VkPiIsCisgICAgIjxqaXQteWFycj4i
Cit9OworCitDT01QSUxFX0FTU0VSVCgoc2l6ZW9mKHN5bWJvbE5hbWVUYWJsZSkgLyBzaXplb2Yo
c3ltYm9sTmFtZVRhYmxlWzBdKSkgPT0gSklUUHJvZmlsZUFnZW50OjpOdW1iZXJPZkpJVENvZGVU
eXBlcywgU3ltYm9sTmFtZVRhYmxlX2FuZF9KSVRDb2RlVHlwZV9tdXN0X2JlX3NhbWVfc2l6ZSk7
CisKK3N0YXRpYyBjb25zdCBVU3RyaW5nIHN5bWJvbE5hbWVGcm9tVHlwZShKSVRQcm9maWxlQWdl
bnQ6OkpJVENvZGVUeXBlIHR5cGUsIENvZGVCbG9jayogY29kZUJsb2NrKQoreworICAgIHN3aXRj
aCAodHlwZSkgeworICAgIGNhc2UgSklUUHJvZmlsZUFnZW50OjpQcm9ncmFtOiB7CisgICAgICAg
IFNvdXJjZVByb3ZpZGVyKiBzb3VyY2UgPSBjb2RlQmxvY2stPnNvdXJjZSgpOworICAgICAgICBp
ZiAoc291cmNlICYmICFzb3VyY2UtPnVybCgpLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVy
biBtYWtlVVN0cmluZyhzeW1ib2xOYW1lVGFibGVbdHlwZV0sICJbIiwgc291cmNlLT51cmwoKSwg
IjoiLCBVU3RyaW5nOjpudW1iZXIoY29kZUJsb2NrLT5vd25lckV4ZWN1dGFibGUoKS0+bGluZU5v
KCkpLCAiLSIsIFVTdHJpbmc6Om51bWJlcihjb2RlQmxvY2stPm93bmVyRXhlY3V0YWJsZSgpLT5s
YXN0TGluZSgpKSwgIl0iKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgSklUUHJv
ZmlsZUFnZW50OjpGdW5jdGlvbjogeworICAgICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1
dGFibGUgPSByZWludGVycHJldF9jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGNvZGVCbG9jay0+
b3duZXJFeGVjdXRhYmxlKCkpOworICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBuYW1lID0gZXhl
Y3V0YWJsZS0+bmFtZSgpOworICAgICAgICBVU3RyaW5nIGppdFN5bWJvbE5hbWUoc3ltYm9sTmFt
ZVRhYmxlW3R5cGVdKTsKKyAgICAgICAgaWYgKCFuYW1lLmlzRW1wdHkoKSAmJiAhbmFtZS5pc051
bGwoKSkKKyAgICAgICAgICAgIGppdFN5bWJvbE5hbWUgPSBtYWtlVVN0cmluZyhqaXRTeW1ib2xO
YW1lLCAiOiIsIG5hbWUudXN0cmluZygpKTsKKyAgICAgICAgU291cmNlUHJvdmlkZXIqIHNvdXJj
ZSA9IGNvZGVCbG9jay0+c291cmNlKCk7CisgICAgICAgIHJldHVybiBtYWtlVVN0cmluZyhqaXRT
eW1ib2xOYW1lLCAiWyIsIHNvdXJjZS0+dXJsKCksICI6IiwgVVN0cmluZzo6bnVtYmVyKGV4ZWN1
dGFibGUtPmxpbmVObygpKSwgIi0iLCBVU3RyaW5nOjpudW1iZXIoZXhlY3V0YWJsZS0+bGFzdExp
bmUoKSksICJdIik7CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAgIGJyZWFrOworICAgIH0K
KworICAgIHJldHVybiBzeW1ib2xOYW1lVGFibGVbdHlwZV07Cit9CisKK3ZvaWQgSklUUHJvZmls
ZUFnZW50OjpyZWNvcmRKSVRDb2RlSW1wbCh2b2lkKiBjb2RlLCB1bnNpZ25lZCBpbnQgc2l6ZSwg
Q29kZUJsb2NrKiBjb2RlQmxvY2ssIEpJVFByb2ZpbGVBZ2VudDo6SklUQ29kZVR5cGUgdHlwZSkK
K3sKKyAgICAvKiBDaGVjayBmb3Igb2Jzb2xldGUgSklUIGNvZGVzICovCisgICAgdW5zaWduZWQg
aW50IGksIG4gPSBtX3ZpcnR1YWxNZW1vcnlTZWdtZW50cy5zaXplKCk7CisgICAgY29uc3QgY2hh
ciogdm1hQmVnaW4gPSByZWludGVycHJldF9jYXN0PGNoYXIqPihjb2RlKTsKKyAgICBjb25zdCBj
aGFyKiB2bWFFbmQgPSB2bWFCZWdpbiArIHNpemU7CisgICAgZm9yIChpID0gMDsgaSAhPSBuOyAr
K2kpIHsKKyAgICAgICAgY29uc3QgY2hhciogcmVnaXN0ZXJlZFZtYUJlZ2luID0gcmVpbnRlcnBy
ZXRfY2FzdDxjaGFyKj4obV92aXJ0dWFsTWVtb3J5U2VnbWVudHNbaV0uY29kZSk7CisgICAgICAg
IGNvbnN0IGNoYXIqIHJlZ2lzdGVyZWRWbWFFbmQgPSB2bWFCZWdpbiArIG1fdmlydHVhbE1lbW9y
eVNlZ21lbnRzW2ldLnNpemU7CisgICAgICAgIGlmICgocmVnaXN0ZXJlZFZtYUJlZ2luIDw9IHZt
YUVuZCAmJiB2bWFFbmQgPD0gcmVnaXN0ZXJlZFZtYUVuZCkKKyAgICAgICAgICAgIHx8IChyZWdp
c3RlcmVkVm1hQmVnaW4gPD0gdm1hQmVnaW4gJiYgdm1hQmVnaW4gPD0gcmVnaXN0ZXJlZFZtYUVu
ZCkpIHsKKyAgICAgICAgICAgIG9wX3VubG9hZF9uYXRpdmVfY29kZShtX3Byb2ZpbGVBZ2VudCwg
cmVpbnRlcnByZXRfY2FzdDx1aW50NjRfdD4obV92aXJ0dWFsTWVtb3J5U2VnbWVudHNbaV0uY29k
ZSkpOworICAgICAgICB9CisgICAgfQorCisgICAgVVN0cmluZyBzeW1ib2xOYW1lID0gc3ltYm9s
TmFtZUZyb21UeXBlKHR5cGUsIGNvZGVCbG9jayk7CisgICAgb3Bfd3JpdGVfbmF0aXZlX2NvZGUo
bV9wcm9maWxlQWdlbnQsICFzeW1ib2xOYW1lLmlzRW1wdHkoKSA/IHN5bWJvbE5hbWUudXRmOCgp
LmRhdGEoKSA6ICI8aml0PiIsIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KGNvZGUpLCBjb2Rl
LCBzaXplKTsKK30KKwordm9pZCBKSVRQcm9maWxlQWdlbnQ6OmFubm90YXRlSklUQ29kZUltcGwo
dm9pZCogY29kZSwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIGNvbnN0IFVTdHJpbmcmIHVybCkKK3sK
KyAgICB1aW50cHRyX3Qgdm1hID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGNvZGUpOwor
ICAgIHVpbnRwdHJfdCBwcmV2T2Zmc2V0ID0gMDsKKyAgICBpZiAoIWNvZGVCbG9jay0+aGFzTGlu
ZUluZm8oKSkKKyAgICAgICAgcmV0dXJuOworICAgIFZlY3RvcjxMaW5lSW5mbz4mIGxpbmVJbmZv
ID0gY29kZUJsb2NrLT5saW5lSW5mbygpOworICAgIGludCBlbnRyaWVzID0gbGluZUluZm8uc2l6
ZSgpOworICAgIHN0cnVjdCBkZWJ1Z19saW5lX2luZm8qIGRlYnVnTGluZUluZm8gPSByZWludGVy
cHJldF9jYXN0PHN0cnVjdCBkZWJ1Z19saW5lX2luZm8qPihXVEY6OmZhc3RNYWxsb2MoZW50cmll
cyAqIHNpemVvZihzdHJ1Y3QgZGVidWdfbGluZV9pbmZvKSkpOworICAgIENTdHJpbmcgbmFtZSA9
IHVybC5hc2NpaSgpOworCisgICAgc3RydWN0IGRlYnVnX2xpbmVfaW5mbyogZGVidWdMaW5lSW5m
b1B0ciA9IGRlYnVnTGluZUluZm87CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBlbnRyaWVzOyAr
K2kpIHsKKyAgICAgICAgaWYgKHByZXZPZmZzZXQgIT0gbGluZUluZm9baV0uaW5zdHJ1Y3Rpb25P
ZmZzZXQpIHsKKyAgICAgICAgICAgIGRlYnVnTGluZUluZm9QdHItPnZtYSA9IHZtYSArIGxpbmVJ
bmZvW2ldLmluc3RydWN0aW9uT2Zmc2V0OworICAgICAgICAgICAgZGVidWdMaW5lSW5mb1B0ci0+
bGluZW5vID0gbGluZUluZm9baV0ubGluZU51bWJlcjsKKyAgICAgICAgICAgIGRlYnVnTGluZUlu
Zm9QdHItPmZpbGVuYW1lID0gbmFtZS5kYXRhKCk7CisgICAgICAgICAgICBwcmV2T2Zmc2V0ID0g
bGluZUluZm9baV0uaW5zdHJ1Y3Rpb25PZmZzZXQ7CisgICAgICAgICAgICArK2RlYnVnTGluZUlu
Zm9QdHI7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBvcF93cml0ZV9kZWJ1Z19saW5lX2luZm8o
bV9wcm9maWxlQWdlbnQsIGNvZGUsIGRlYnVnTGluZUluZm9QdHIgLSBkZWJ1Z0xpbmVJbmZvLCBk
ZWJ1Z0xpbmVJbmZvKTsKKyAgICBXVEY6OmZhc3RGcmVlKGRlYnVnTGluZUluZm8pOworfQorCisj
ZWxzZSAvLyBEdW1teSBwcm9maWxlIGFnZW50CisKK3ZvaWQgSklUUHJvZmlsZUFnZW50Ojppbml0
QWdlbnQoKQoreworfQorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6ZGVpbml0QWdlbnQoKQorewor
fQorCit2b2lkIEpJVFByb2ZpbGVBZ2VudDo6cmVnaXN0ZXJKSVRDb2RlSW1wbCh2b2lkKiwgdW5z
aWduZWQgaW50LCBKSVRQcm9maWxlQWdlbnQ6OkpJVENvZGVUeXBlKQoreworfQorCit2b2lkIEpJ
VFByb2ZpbGVBZ2VudDo6YW5ub3RhdGVKSVRDb2RlSW1wbCh2b2lkKiwgQ29kZUJsb2NrKiwgY29u
c3QgVVN0cmluZyYpCit7Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUoSklUX09QUk9GSUxFX0FHRU5U
KQorCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoSklUX1BST0ZJTEVfQUdFTlQpCisKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90b29scy9KSVRQcm9maWxlQWdlbnQuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi4xYTZjM2MzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rvb2xzL0pJVFByb2ZpbGVBZ2VudC5oCkBAIC0wLDAgKzEsMTYwIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDA5IEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgVW5pdmVyc2l0eSBvZiBTemVnZWQKKyAqIENvcHlyaWdodCAoQykg
MjAxMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIEpJVFByb2ZpbGVBZ2VudF9oCisjZGVmaW5lIEpJVFByb2ZpbGVBZ2VudF9o
CisKKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKworI2lmICFFTkFCTEUoSklUX1BST0ZJTEVf
QUdFTlQpCisjZGVmaW5lIFJFQ09SRF9KSVRfVFJBTVBPTElORVMoZ2xvYmFsRGF0YSwgdm1hLCBj
b2RlQmxvY2ssIHNpemUpICgodm9pZCkwKQorI2RlZmluZSBSRUNPUkRfSklUX0NPREUoZ2xvYmFs
RGF0YSwgdm1hLCBzaXplLCB0eXBlKSAoKHZvaWQpMCkKKyNkZWZpbmUgUkVDT1JEX0pJVF9DT0RF
X0NPREVCTE9DSyhnbG9iYWxEYXRhLCB2bWEsIHNpemUsIGNvZGVCbG9jaykgKCh2b2lkKTApCisj
ZGVmaW5lIEFOTk9UQVRFX0pJVF9DT0RFKGdsb2JhbERhdGEsIHZtYSwgY29kZUJsb2NrLCB1cmwp
ICgodm9pZCkwKQorI2Vsc2UKKworI2luY2x1ZGUgIlVTdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CisjaWYgRU5BQkxFKEpJVF9PUFJPRklMRV9BR0VOVCkKKyNpbmNsdWRlIDxvcGFn
ZW50Lmg+CisjZW5kaWYKKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIENvZGVCbG9jazsKK2Ns
YXNzIFVTdHJpbmc7CitjbGFzcyBKU0dsb2JhbERhdGE7CisKK3N0cnVjdCBMaW5lSW5mbzsKKwor
I2RlZmluZSBSRUNPUkRfSklUX1RSQU1QT0xJTkVTKGdsb2JhbERhdGEsIHZtYSwgY29kZUJsb2Nr
LCBzaXplKSAoKGdsb2JhbERhdGEpLT5qaXRQcm9maWxlQWdlbnQucmVjb3JkSklUVHJhbXBvbGlu
ZXModm1hLCBzaXplLCBjb2RlQmxvY2spKQorI2RlZmluZSBSRUNPUkRfSklUX0NPREUoZ2xvYmFs
RGF0YSwgdm1hLCBzaXplLCB0eXBlKSAoKGdsb2JhbERhdGEpLT5qaXRQcm9maWxlQWdlbnQucmVj
b3JkSklUQ29kZSh2bWEsIHNpemUsIDAsIHR5cGUpKQorI2RlZmluZSBSRUNPUkRfSklUX0NPREVf
Q09ERUJMT0NLKGdsb2JhbERhdGEsIHZtYSwgc2l6ZSwgY29kZUJsb2NrKSAoKGdsb2JhbERhdGEp
LT5qaXRQcm9maWxlQWdlbnQucmVjb3JkSklUQ29kZSh2bWEsIHNpemUsIGNvZGVCbG9jaywgY29k
ZUJsb2NrLT5tX293bmVyRXhlY3V0YWJsZS0+aml0Q29kZVR5cGUoKSkpCisjZGVmaW5lIEFOTk9U
QVRFX0pJVF9DT0RFKGdsb2JhbERhdGEsIHZtYSwgY29kZUJsb2NrLCB1cmwpICgoZ2xvYmFsRGF0
YSktPmppdFByb2ZpbGVBZ2VudC5hbm5vdGF0ZUpJVENvZGUodm1hLCBjb2RlQmxvY2ssIHVybCkp
CisKK2NsYXNzIEpJVFByb2ZpbGVBZ2VudCB7CisgICAgc3RydWN0IFZpcnR1YWxNZW1vcnlTZWdt
ZW50IHsKKyAgICAgICAgVmlydHVhbE1lbW9yeVNlZ21lbnQoKQorICAgICAgICAgIDogY29kZSgw
KQorICAgICAgICAgICwgc2l6ZSgwKQorICAgICAgICB7CisgICAgICAgIH0KKworICAgICAgICB2
b2lkKiBjb2RlOworICAgICAgICB1bnNpZ25lZCBpbnQgc2l6ZTsKKyAgICAgICAgQ29kZUJsb2Nr
KiBjb2RlQmxvY2s7CisgICAgfTsKKyAgICB0eXBlZGVmIFZlY3RvcjxWaXJ0dWFsTWVtb3J5U2Vn
bWVudD4gVmlydHVhbE1lbW9yeVNlZ21lbnRWZWN0b3I7CisKK3B1YmxpYzoKKyAgICBlbnVtIEpJ
VENvZGVUeXBlIHsKKyAgICAgICAgUHV0QnlJRFRyYW5zaXRpb24sCisgICAgICAgIEdldEFycmF5
TGVuZ3RoLAorICAgICAgICBHZXRCeUlEU2VsZkxpc3QsCisgICAgICAgIEdldEJ5SURQcm90bywK
KyAgICAgICAgR2V0QnlJRFByb3RvTGlzdCwKKyAgICAgICAgR2V0QnlJRENoYWluLAorICAgICAg
ICBHZXRCeUlEQ2hhaW5MaXN0LAorICAgICAgICBUcmFtcG9saW5lcywKKyAgICAgICAgUHJvZ3Jh
bSwKKyAgICAgICAgRnVuY3Rpb24sCisgICAgICAgIEZ1bmN0aW9uUmVwYXJzZWQsCisgICAgICAg
IEV2YWwsCisgICAgICAgIEV2YWxSZXBhcnNlZCwKKyAgICAgICAgWWFyciwKKyAgICAgICAgTnVt
YmVyT2ZKSVRDb2RlVHlwZXMKKyAgICB9OworCisgICAgSklUUHJvZmlsZUFnZW50KGJvb2wgc3Rh
dHVzID0gZmFsc2UpCisgICAgICA6IG1fZW5hYmxlQWdlbnQoc3RhdHVzKQorICAgIHsKKyAgICAg
ICAgaWYgKGlzRW5hYmxlZCgpKQorICAgICAgICAgICAgaW5pdEFnZW50KCk7CisgICAgfQorCisg
ICAgfkpJVFByb2ZpbGVBZ2VudCgpCisgICAgeworICAgICAgICBpZiAoaXNFbmFibGVkKCkpCisg
ICAgICAgICAgICBkZWluaXRBZ2VudCgpOworICAgIH0KKworICAgIHZvaWQgcmVjb3JkSklUQ29k
ZSh2b2lkKiBjb2RlLCB1bnNpZ25lZCBpbnQgc2l6ZSwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEpJ
VENvZGVUeXBlIHR5cGUpCisgICAgeworICAgICAgICBpZiAoaXNFbmFibGVkKCkgJiYgY29kZSkK
KyAgICAgICAgICAgIHJlY29yZEpJVENvZGVJbXBsKGNvZGUsIHNpemUsIGNvZGVCbG9jaywgdHlw
ZSk7CisgICAgfQorCisgICAgdm9pZCBhbm5vdGF0ZUpJVENvZGUodm9pZCogY29kZSwgQ29kZUJs
b2NrKiBjb2RlQmxvY2ssIGNvbnN0IFVTdHJpbmcmIHVybCkKKyAgICB7CisgICAgICAgIGlmIChp
c0VuYWJsZWQoKSAmJiBjb2RlICYmIGNvZGVCbG9jayAmJiAhdXJsLmlzRW1wdHkoKSkKKyAgICAg
ICAgICAgIGFubm90YXRlSklUQ29kZUltcGwoY29kZSwgY29kZUJsb2NrLCBjb25zdF9jYXN0PFVT
dHJpbmcmPih1cmwpKTsKKyAgICB9CisKKyAgICB2b2lkIHJlY29yZEpJVFRyYW1wb2xpbmVzKHZv
aWQqIGNvZGUsIHVuc2lnbmVkIGludCBzaXplLCBDb2RlQmxvY2sqIGNvZGVCbG9jaykKKyAgICB7
CisgICAgICAgIG1fdHJhbXBvbGluZXMuY29kZSA9IGNvZGU7CisgICAgICAgIG1fdHJhbXBvbGlu
ZXMuc2l6ZSA9IHNpemU7CisgICAgICAgIG1fdHJhbXBvbGluZXMuY29kZUJsb2NrID0gY29kZUJs
b2NrOworICAgICAgICBpZiAoaXNFbmFibGVkKCkpCisgICAgICAgICAgICByZWNvcmRKSVRDb2Rl
KG1fdHJhbXBvbGluZXMuY29kZSwgbV90cmFtcG9saW5lcy5zaXplLCBtX3RyYW1wb2xpbmVzLmNv
ZGVCbG9jaywgVHJhbXBvbGluZXMpOworICAgIH0KKworICAgIHZvaWQgc2V0RW5hYmxlZChib29s
IHN0YXR1cykKKyAgICB7CisgICAgICAgIGlmIChtX2VuYWJsZUFnZW50ID09IHN0YXR1cykKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbV9lbmFibGVBZ2VudCA9IHN0YXR1czsKKyAgICAg
ICAgaWYgKGlzRW5hYmxlZCgpKQorICAgICAgICAgICAgaW5pdEFnZW50KCk7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIGRlaW5pdEFnZW50KCk7CisgICAgfQorCisgICAgQUxXQVlTX0lOTElO
RSBib29sIGlzRW5hYmxlZCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9lbmFibGVB
Z2VudDsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgdm9pZCBpbml0QWdlbnQoKTsKKyAgICB2b2lk
IGRlaW5pdEFnZW50KCk7CisgICAgdm9pZCByZWNvcmRKSVRDb2RlSW1wbCh2b2lkKiwgdW5zaWdu
ZWQgaW50LCBDb2RlQmxvY2sqLCBKSVRDb2RlVHlwZSk7CisgICAgdm9pZCBhbm5vdGF0ZUpJVENv
ZGVJbXBsKHZvaWQqLCBDb2RlQmxvY2sqLCBjb25zdCBVU3RyaW5nJik7CisKKyNpZiBFTkFCTEUo
SklUX09QUk9GSUxFX0FHRU5UKQorICAgIG9wX2FnZW50X3QgbV9wcm9maWxlQWdlbnQ7CisjZW5k
aWYKKyAgICBWaXJ0dWFsTWVtb3J5U2VnbWVudFZlY3RvciBtX3ZpcnR1YWxNZW1vcnlTZWdtZW50
czsKKyAgICBWaXJ0dWFsTWVtb3J5U2VnbWVudCBtX3RyYW1wb2xpbmVzOworICAgIGJvb2wgbV9l
bmFibGVBZ2VudDsKK307CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShKSVRfUFJPRklMRV9BR0VO
VCkKKworI2VuZGlmIC8vIEpJVFByb2ZpbGVBZ2VudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1Bs
YXRmb3JtLmgKaW5kZXggMDdmNTdmMC4uY2E0YWZmMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
UGxhdGZvcm0uaApAQCAtMTA0Miw2ICsxMDQyLDExIEBACiAjaWYgRU5BQkxFKEpJVCkgfHwgRU5B
QkxFKFlBUlJfSklUKQogI2RlZmluZSBFTkFCTEVfQVNTRU1CTEVSIDEKICNlbmRpZgorCisjaWYg
RU5BQkxFKEpJVF9PUFJPRklMRV9BR0VOVCkgJiYgIWRlZmluZWQoRU5BQkxFX0pJVF9QUk9GSUxF
X0FHRU5UKQorI2RlZmluZSBFTkFCTEVfSklUX1BST0ZJTEVfQUdFTlQgMQorI2VuZGlmCisKIC8q
IFNldHRpbmcgdGhpcyBmbGFnIHByZXZlbnRzIHRoZSBhc3NlbWJsZXIgZnJvbSB1c2luZyBSV1gg
bWVtb3J5OyB0aGlzIG1heSBpbXByb3ZlCiAgICBzZWN1cml0eSBidXQgY3VycmVjdGx5IGNvbWVz
IGF0IGEgc2lnbmlmaWNhbnQgcGVyZm9ybWFuY2UgY29zdC4gKi8KICNpZiBQTEFURk9STShJT1Mp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySklULmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJKSVQuY3BwCmluZGV4IGNkYjcxMzYuLjhmZDI5
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJKSVQuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJKSVQuY3BwCkBAIC0yMjM4LDggKzIy
MzgsMTEgQEAgcHVibGljOgogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9leHBy
ZXNzaW9uU3RhdGUubV9iYWNrdHJhY2tSZWNvcmRzLnNpemUoKTsgKytpKQogICAgICAgICAgICAg
cGF0Y2hCdWZmZXIucGF0Y2gobV9leHByZXNzaW9uU3RhdGUubV9iYWNrdHJhY2tSZWNvcmRzW2ld
LmRhdGFMYWJlbCwgcGF0Y2hCdWZmZXIubG9jYXRpb25PZihtX2V4cHJlc3Npb25TdGF0ZS5tX2Jh
Y2t0cmFja1JlY29yZHNbaV0uYmFja3RyYWNrTG9jYXRpb24pKTsKIAotICAgICAgICBqaXRPYmpl
Y3Quc2V0KHBhdGNoQnVmZmVyLmZpbmFsaXplQ29kZSgpKTsKKyAgICAgICAgQ29kZVJlZiBmaW5h
bENvZGUgPSBwYXRjaEJ1ZmZlci5maW5hbGl6ZUNvZGUoKTsKKyAgICAgICAgaml0T2JqZWN0LnNl
dChmaW5hbENvZGUpOwogICAgICAgICBqaXRPYmplY3Quc2V0RmFsbEJhY2sobV9zaG91bGRGYWxs
QmFjayk7CisKKyAgICAgICAgUkVDT1JEX0pJVF9DT0RFKGdsb2JhbERhdGEsIGZpbmFsQ29kZS5t
X2NvZGUuZXhlY3V0YWJsZUFkZHJlc3MoKSwgZmluYWxDb2RlLm1fc2l6ZSwgSklUUHJvZmlsZUFn
ZW50OjpZYXJyKTsKICAgICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMWJkMDQwNy4uZWU4
OGExZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDExLTAyLTAzICBYYW4gTG9wZXog
IDx4bG9wZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQcm92aWRlIGEgT1Byb2ZpbGUgSklUIGFnZW50IChvcGFnZW50KSBmb3Ig
dGhlIGNvZGUgZ2VuZXJhdGVkIGJ5IHRoZSBKSVQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTMyNTYxCisKKyAgICAgICAgKiBXZWJLaXQyLnBybzogYWRk
IG5ldyBpbmNsdWRlIHBhdGguCisKIDIwMTEtMDItMDMgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJl
dmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3
NzQ0OS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIucHJvIGIvU291cmNlL1dl
YktpdDIvV2ViS2l0Mi5wcm8KaW5kZXggYWI5M2U4OC4uYWU2OWIyNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViS2l0Mi5wcm8KKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi5wcm8K
QEAgLTQ4LDYgKzQ4LDcgQEAgV0VCS0lUMl9JTkNMVURFUEFUSCA9IFwKICAgICAkJFBXRC8uLi9K
YXZhU2NyaXB0Q29yZS9wY3JlIFwKICAgICAkJFBXRC8uLi9KYXZhU2NyaXB0Q29yZS9wcm9maWxl
ciBcCiAgICAgJCRQV0QvLi4vSmF2YVNjcmlwdENvcmUvcnVudGltZSBcCisgICAgJCRQV0QvLi4v
SmF2YVNjcmlwdENvcmUvdG9vbHMgXAogICAgICQkUFdELy4uL0phdmFTY3JpcHRDb3JlL3d0ZiBc
CiAgICAgJCRQV0QvLi4vSmF2YVNjcmlwdENvcmUvd3RmL3N5bWJpYW4gXAogICAgICQkUFdELy4u
L0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlIFwKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBi
L2NvbmZpZ3VyZS5hYwppbmRleCAxOGY1MmE4Li45ZTA2YzRjIDEwMDY0NAotLS0gYS9jb25maWd1
cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC03MzUsNiArNzM1LDM4IEBAIGVsc2UKIGZpCiBB
Q19NU0dfUkVTVUxUKFskZW5hYmxlX2ppdF0pCiAKKyMgQnVpbGQgSklUIHdpdGggT1Byb2ZpbGUg
YWdlbnQgc3VwcG9ydAorT1BBR0VOVF9MSUJTPQorT1BBR0VOVF9MREZMQUdTPQorCitBQ19NU0df
Q0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIE9Qcm9maWxlIEpJVCBhZ2VudCBzdXBwb3J0Ll0p
CitBQ19BUkdfRU5BQkxFKFtvcGFnZW50XSwKKyAgICAgICAgICAgICAgQUNfSEVMUF9TVFJJTkco
Wy0tZW5hYmxlLW9wYWdlbnRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRW5hYmxl
IE9Qcm9maWxlIEpJVCBhZ2VudCBzdXBwb3J0IGRlZmF1bHQ9bm9dKSwKKyAgICAgICAgICAgICAg
W10sW2VuYWJsZV9vcGFnZW50PW5vXSkKKworQUNfQVJHX1dJVEgoW29wYWdlbnQtbGliZGlyXSwK
KyAgICAgICAgICAgIFtBU19IRUxQX1NUUklORygtLXdpdGgtb3BhZ2VudC1saWJkaXI9bG9jYXRp
b24gb2Ygb3BhZ2VudCBsaWJyYXJ5IFtbZGVmYXVsdD0vdXNyL2xpYi9vcHJvZmlsZV1dKV0sCisg
ICAgICAgICAgICBbT1BBR0VOVF9MREZMQUdTPS1MIiR7d2l0aHZhbH0iXSwKKyAgICAgICAgICAg
IFtPUEFHRU5UX0xERkxBR1M9LUwvdXNyL2xpYi9vcHJvZmlsZV0pCitBQ19TVUJTVChbT1BBR0VO
VF9MREZMQUdTXSkKKworaWYgdGVzdCAiJGVuYWJsZV9vcGFnZW50IiA9ICJ5ZXMiOyB0aGVuCisg
IExERkxBR1M9IiRMREZMQUdTICRPUEFHRU5UX0xERkxBR1MiOworICBBQ19DSEVDS19MSUIoW29w
YWdlbnRdLCBbb3BfbWFqb3JfdmVyc2lvbl0sCisgICAgW0FDX0NIRUNLX0hFQURFUihbb3BhZ2Vu
dC5oXSwKKyAgICAgIG9wYWdlbnRfb2s9eWVzLAorICAgICAgb3BhZ2VudF9vaz1ubyldLAorICAg
IEFDX01TR19FUlJPUihbT1Byb2ZpbGUgb3BhZ2VudCBsaWJyYXJ5IG5vdCBmb3VuZF0pLCAtbGJm
ZCkKKworICBpZiB0ZXN0ICIkb3BhZ2VudF9vayIgPSAieWVzIjsgdGhlbgorICAgIEFDX0RFRklO
RShbRU5BQkxFX0pJVF9PUFJPRklMRV9BR0VOVF0sIFsxXSwgW0RlZmluZSB0byBlbmFibGUgT1By
b2ZpbGUgSklUIGFnZW50IHN1cHBvcnRdKQorICAgIE9QQUdFTlRfTElCUz0iLWxvcGFnZW50Igor
ICBmaQorZmkKKworQUNfU1VCU1QoW09QQUdFTlRfTElCU10pCisKICMgT3Bjb2RlIHN0YXRzCiBB
Q19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIG9wY29kZSBzdGF0c10pCiBBQ19BUkdf
RU5BQkxFKFtvcGNvZGUtc3RhdHNdLApAQCAtMTAzNyw2ICsxMDY5LDcgQEAgQnVpbGQgY29uZmln
dXJhdGlvbjoKICBVbmljb2RlIGJhY2tlbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA6ICR3aXRoX3VuaWNvZGVfYmFja2VuZAogIEZvbnQgYmFja2VuZCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHdpdGhfZm9udF9iYWNrZW5k
CiAgT3B0aW1pemVkIG1lbW9yeSBhbGxvY2F0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgOiAkZW5hYmxlX2Zhc3RfbWFsbG9jCisgT3Byb2ZpbGUgc3VwcG9ydCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX29wYWdlbnQKIEZlYXR1cmVzOgog
IDNEIFRyYW5zZm9ybXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDogJGVuYWJsZV8zRF90cmFuc2Zvcm1zCiAgM0QgQ2FudmFzIChXZWJHTCkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlXzNEX2NhbnZhcwotLSAKMS43LjMu
NAoK
</data>
<flag name="review"
          id="72630"
          type_id="1"
          status="-"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>