<?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>54244</bug_id>
          
          <creation_ts>2011-02-10 14:01:59 -0800</creation_ts>
          <short_desc>Convert the line box tree to floating point and eliminate font rounding hacks</short_desc>
          <delta_ts>2011-09-14 12:05:46 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>68100</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>abarth</cc>
    
    <cc>buildbot</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>mitz</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>349360</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-10 14:01:59 -0800</bug_when>
    <thetext>Convert the line box tree to floating point and eliminate font rounding hacks.  This fixes numerous issues in environments that don&apos;t return integral values for widths of glyphs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349362</commentid>
    <comment_count>1</comment_count>
      <attachid>82044</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-10 14:02:53 -0800</bug_when>
    <thetext>Created attachment 82044
Patch (don&apos;t really review, just catching build errors)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349422</commentid>
    <comment_count>2</comment_count>
      <attachid>82058</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-10 15:06:05 -0800</bug_when>
    <thetext>Created attachment 82058
Patch that applies (ignore for review, just testing builds)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349427</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-10 15:09:31 -0800</bug_when>
    <thetext>Attachment 82058 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/WebCore.exp.in&apos;, u&apos;Source/W...&quot; exit_code: 1

Source/WebCore/rendering/InlineTextBox.cpp:938:  One space before end of line comments  [whitespace/comments] [5]
Source/WebCore/rendering/InlineTextBox.cpp:939:  One space before end of line comments  [whitespace/comments] [5]
Source/WebCore/rendering/InlineTextBox.cpp:1109:  One space before end of line comments  [whitespace/comments] [5]
Source/WebCore/rendering/InlineTextBox.cpp:1110:  One space before end of line comments  [whitespace/comments] [5]
Source/WebCore/rendering/HitTestResult.h:114:  The parameter name &quot;rect&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/platform/graphics/Font.h:97:  The parameter name &quot;glyphOverflow&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/platform/graphics/Font.h:98:  The parameter name &quot;run&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 7 in 44 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>349441</commentid>
    <comment_count>4</comment_count>
      <attachid>82062</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-10 15:34:05 -0800</bug_when>
    <thetext>Created attachment 82062
Patch that applies (ignore for review, just testing builds)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349447</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-10 15:36:58 -0800</bug_when>
    <thetext>Attachment 82062 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/WebCore.exp.in&apos;, u&apos;Source/W...&quot; exit_code: 1

Source/WebCore/rendering/InlineTextBox.cpp:938:  One space before end of line comments  [whitespace/comments] [5]
Source/WebCore/rendering/InlineTextBox.cpp:939:  One space before end of line comments  [whitespace/comments] [5]
Source/WebCore/rendering/InlineTextBox.cpp:1109:  One space before end of line comments  [whitespace/comments] [5]
Source/WebCore/rendering/InlineTextBox.cpp:1110:  One space before end of line comments  [whitespace/comments] [5]
Source/WebCore/rendering/HitTestResult.h:114:  The parameter name &quot;rect&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/platform/graphics/Font.h:97:  The parameter name &quot;glyphOverflow&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/platform/graphics/Font.h:98:  The parameter name &quot;run&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 7 in 45 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>349450</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-10 15:37:15 -0800</bug_when>
    <thetext>Attachment 82058 did not build on chromium:
Build output: http://queues.webkit.org/results/7884413</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349466</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-10 15:54:04 -0800</bug_when>
    <thetext>Attachment 82062 did not build on chromium:
Build output: http://queues.webkit.org/results/7869499</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349481</commentid>
    <comment_count>8</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-10 16:10:28 -0800</bug_when>
    <thetext>Attachment 82058 did not build on win:
Build output: http://queues.webkit.org/results/7869503</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349496</commentid>
    <comment_count>9</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-10 16:31:55 -0800</bug_when>
    <thetext>Attachment 82062 did not build on win:
Build output: http://queues.webkit.org/results/7869507</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349572</commentid>
    <comment_count>10</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-02-10 19:07:39 -0800</bug_when>
    <thetext>Attachment 82062 did not build on qt:
Build output: http://queues.webkit.org/results/7884461</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349640</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-10 21:57:11 -0800</bug_when>
    <thetext>Attachment 82062 did not build on chromium:
Build output: http://queues.webkit.org/results/7870574</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349642</commentid>
    <comment_count>12</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-02-10 22:07:34 -0800</bug_when>
    <thetext>&lt;rdar://problem/8891123&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349651</commentid>
    <comment_count>13</comment_count>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-02-10 22:51:04 -0800</bug_when>
    <thetext>Attachment 82062 did not build on gtk:
Build output: http://queues.webkit.org/results/7869566</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349871</commentid>
    <comment_count>14</comment_count>
      <attachid>82153</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-11 11:30:01 -0800</bug_when>
    <thetext>Created attachment 82153
Patch that applies (ignore for review, just testing builds)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349886</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-11 11:44:14 -0800</bug_when>
    <thetext>Attachment 82153 did not build on chromium:
Build output: http://queues.webkit.org/results/7900003</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349928</commentid>
    <comment_count>16</comment_count>
      <attachid>82161</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-11 12:40:19 -0800</bug_when>
    <thetext>Created attachment 82161
Patch that applies (ignore for review, just testing builds)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349932</commentid>
    <comment_count>17</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-11 12:44:54 -0800</bug_when>
    <thetext>Attachment 82153 did not build on win:
Build output: http://queues.webkit.org/results/7893014</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349934</commentid>
    <comment_count>18</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-02-11 12:47:10 -0800</bug_when>
    <thetext>Attachment 82153 did not build on qt:
Build output: http://queues.webkit.org/results/7870746</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349941</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-11 12:52:51 -0800</bug_when>
    <thetext>Attachment 82161 did not build on chromium:
Build output: http://queues.webkit.org/results/7870748</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349954</commentid>
    <comment_count>20</comment_count>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-02-11 13:08:21 -0800</bug_when>
    <thetext>Attachment 82161 did not build on gtk:
Build output: http://queues.webkit.org/results/7870754</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349968</commentid>
    <comment_count>21</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-11 13:23:10 -0800</bug_when>
    <thetext>Attachment 82161 did not build on win:
Build output: http://queues.webkit.org/results/7869739</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349978</commentid>
    <comment_count>22</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-02-11 13:37:14 -0800</bug_when>
    <thetext>Attachment 82161 did not build on qt:
Build output: http://queues.webkit.org/results/7867750</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350051</commentid>
    <comment_count>23</comment_count>
      <attachid>82181</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-11 14:40:50 -0800</bug_when>
    <thetext>Created attachment 82181
Patch that applies (ignore for review, just testing builds)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350064</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-11 14:55:35 -0800</bug_when>
    <thetext>Attachment 82181 did not build on chromium:
Build output: http://queues.webkit.org/results/7867766</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350075</commentid>
    <comment_count>25</comment_count>
      <attachid>82187</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-11 15:05:13 -0800</bug_when>
    <thetext>Created attachment 82187
Patch that applies (ignore for review, just testing builds)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350090</commentid>
    <comment_count>26</comment_count>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-02-11 15:23:49 -0800</bug_when>
    <thetext>Attachment 82187 did not build on gtk:
Build output: http://queues.webkit.org/results/7867771</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350096</commentid>
    <comment_count>27</comment_count>
      <attachid>82194</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-11 15:29:27 -0800</bug_when>
    <thetext>Created attachment 82194
Patch that applies (ignore for review, just testing builds)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350151</commentid>
    <comment_count>28</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-11 16:38:50 -0800</bug_when>
    <thetext>Attachment 82194 did not build on win:
Build output: http://queues.webkit.org/results/7884715</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350487</commentid>
    <comment_count>29</comment_count>
      <attachid>82282</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-13 17:14:06 -0800</bug_when>
    <thetext>Created attachment 82282
Patch that applies (ignore for review, just testing builds)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350766</commentid>
    <comment_count>30</comment_count>
      <attachid>82339</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-14 10:53:06 -0800</bug_when>
    <thetext>Created attachment 82339
Patch that applies (ignore for review, just testing builds)

In pretty good shape now I think.  Fixed SVG dumping in this patch to not dump floats and also fixed a bug with vertical alignment created by some issues using the dumb PositionTop and PositionBottom constants.  I just yanked those since they aren&apos;t necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350803</commentid>
    <comment_count>31</comment_count>
      <attachid>82347</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-14 11:52:49 -0800</bug_when>
    <thetext>Created attachment 82347
Patch that applies (ignore for review, just testing builds)

Fix offsetForPosition, positionForOffset to be float-based to avoid rounding errors.  Patch localCaretRect to operate on floats to avoid truncation mistakes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350843</commentid>
    <comment_count>32</comment_count>
      <attachid>82356</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-14 13:19:19 -0800</bug_when>
    <thetext>Created attachment 82356
Ready for review!

Layout test changes too massive to include in the patch.  I&apos;ll post a followup attachment that provides a sample of how they&apos;re changing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350845</commentid>
    <comment_count>33</comment_count>
      <attachid>82357</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-14 13:20:18 -0800</bug_when>
    <thetext>Created attachment 82357
Sample of layout tests changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350861</commentid>
    <comment_count>34</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-14 13:51:36 -0800</bug_when>
    <thetext>Attachment 82347 did not build on win:
Build output: http://queues.webkit.org/results/7909694</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350902</commentid>
    <comment_count>35</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-14 14:54:54 -0800</bug_when>
    <thetext>Attachment 82356 did not build on win:
Build output: http://queues.webkit.org/results/7908713</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350928</commentid>
    <comment_count>36</comment_count>
      <attachid>82356</attachid>
    <who name="">mitz</who>
    <bug_when>2011-02-14 15:23:12 -0800</bug_when>
    <thetext>Comment on attachment 82356
Ready for review!

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

r- because of EWS build failures. Some minor comments inside.

&gt; Source/WebCore/ChangeLog:8
&gt; +        hacks from the Font code and makes sure all Font APIS involving width measurement and width offsets use floats.

Typo: APIS

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:173
&gt; +                        float expansion = previousExpansion - m_expansion;

Don’t need this anymore, can just use m_expansionPerOpportunity. You don’t need previousExpansion at all I think.

&gt; Source/WebCore/platform/graphics/mac/ComplexTextController.cpp:480
&gt; +                            float expansion = previousExpansion - m_expansion;

Here too you can get rid of expansion and previousExpansion.

&gt; Source/WebCore/platform/graphics/win/UniscribeController.cpp:-323
&gt; -        // Match AppKit&apos;s rules for the integer vs. non-integer rendering modes.
&gt; -        float roundedAdvance = roundf(advance);
&gt; -        if (!m_font.isPrinterFont() &amp;&amp; !fontData-&gt;isSystemFont()) {
&gt; -            advance = roundedAdvance;
&gt; -            offsetX = roundf(offsetX);
&gt; -            offsetY = roundf(offsetY);
&gt; -        }

Don’t we need this still?

&gt; Source/WebCore/platform/graphics/win/UniscribeController.cpp:319
&gt;                          float previousPadding = m_padding;
&gt;                          m_padding -= m_padPerSpace;
&gt; -                        advance += roundf(previousPadding) - roundf(m_padding);
&gt; +                        advance += previousPadding - m_padding;

Again, no need for previousPadding anymore. Just add m_padPerSpace to advance and subtract m_padPerSpace from m_padding.

&gt; Source/WebCore/rendering/InlineBox.cpp:109
&gt; + 

Space!

&gt; Source/WebCore/rendering/InlineBox.h:312
&gt; +    

Spaces!

&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:397
&gt; +                    trailingSpaceRun-&gt;m_box-&gt;setLogicalWidth(max(0.f, trailingSpaceRun-&gt;m_box-&gt;logicalWidth() - totalLogicalWidth + availableLogicalWidth));

Another way to write this is max&lt;float&gt;(0, …)

&gt; Source/WebCore/rendering/RenderText.cpp:509
&gt; +    // Go ahead and round left to snap it to the nearest pixel.

:)

&gt; Source/WebCore/rendering/RenderText.cpp:705
&gt; +        const_cast&lt;RenderText*&gt;(this)-&gt;computePreferredLogicalWidths(0.f);

Is this .f needed?

&gt; Source/WebCore/rendering/RenderText.cpp:713
&gt; +        const_cast&lt;RenderText*&gt;(this)-&gt;computePreferredLogicalWidths(0.f);

Ditto.

&gt; Source/WebCore/rendering/RenderTreeAsText.cpp:474
&gt; +    // to detect any changes caused by the conversion to floating point. :(

The best thing you can do is generate pixel results for all tests on your machine w/o the patch, then apply the patch and run-webkit-tests --pixel and see if there are any significant differences.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351094</commentid>
    <comment_count>37</comment_count>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-02-14 21:55:27 -0800</bug_when>
    <thetext>This patch will also fix bug 14956, at least for LTR content.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351407</commentid>
    <comment_count>38</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-15 11:00:23 -0800</bug_when>
    <thetext>(In reply to comment #37)
&gt; This patch will also fix bug 14956, at least for LTR content.

Not sure it will.  I&apos;m rounding to pixels when painting borders and backgrounds, so you&apos;ll probably have to test it to see if it really fixes that issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351408</commentid>
    <comment_count>39</comment_count>
      <attachid>82488</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-15 11:01:32 -0800</bug_when>
    <thetext>Created attachment 82488
Address Dan&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351436</commentid>
    <comment_count>40</comment_count>
      <attachid>82488</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-02-15 11:51:07 -0800</bug_when>
    <thetext>Comment on attachment 82488
Address Dan&apos;s comments.

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

Great, looking forward to this patch! I have another patch in the works, eliminating SVG pixel test diffs between 10.6.6 32bit/64bit machines, that will probably change enclosingIntRect, we might want to discuss that, to avoid several rebaselines...

&gt; Source/WebCore/rendering/InlineBox.h:244
&gt; +    int pixelSnappedLogicalLeft() const { return logicalLeft(); }
&gt; +    int pixelSnappedLogicalRight() const { return ceilf(logicalRight()); }

Hm, you want to cast to int, no? and isn&apos;t a ceilf missing in the pixelSnappedLogicalLeft() function?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351447</commentid>
    <comment_count>41</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-15 11:58:53 -0800</bug_when>
    <thetext>Attachment 82488 did not build on win:
Build output: http://queues.webkit.org/results/7912899</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351452</commentid>
    <comment_count>42</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-02-15 12:03:04 -0800</bug_when>
    <thetext>(In reply to comment #40)
&gt; (From update of attachment 82488 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=82488&amp;action=review
&gt; 
&gt; Great, looking forward to this patch! I have another patch in the works, eliminating SVG pixel test diffs between 10.6.6 32bit/64bit machines, that will probably change enclosingIntRect, we might want to discuss that, to avoid several rebaselines...
&gt; 
&gt; &gt; Source/WebCore/rendering/InlineBox.h:244
&gt; &gt; +    int pixelSnappedLogicalLeft() const { return logicalLeft(); }
&gt; &gt; +    int pixelSnappedLogicalRight() const { return ceilf(logicalRight()); }

I wonder wheter we want to expose FloatRect&apos;s safeFloatToInt method here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351470</commentid>
    <comment_count>43</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-15 12:15:05 -0800</bug_when>
    <thetext>(In reply to comment #40)
&gt; (From update of attachment 82488 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=82488&amp;action=review
&gt; 
&gt; Great, looking forward to this patch! I have another patch in the works, eliminating SVG pixel test diffs between 10.6.6 32bit/64bit machines, that will probably change enclosingIntRect, we might want to discuss that, to avoid several rebaselines...
&gt; 
&gt; &gt; Source/WebCore/rendering/InlineBox.h:244
&gt; &gt; +    int pixelSnappedLogicalLeft() const { return logicalLeft(); }
&gt; &gt; +    int pixelSnappedLogicalRight() const { return ceilf(logicalRight()); }
&gt; 
&gt; Hm, you want to cast to int, no? and isn&apos;t a ceilf missing in the pixelSnappedLogicalLeft() function?

I should perhaps rename these methods.  They&apos;re about returning the enclosing left and right (same as what enclosingIntRect would do to a rectangle that included these as the left and right sides).

&quot;enclosingLogicalLeft&quot; sounded dumb though when I tried it. :)

Basically the left side is floored and the right side is ceilinged so that a bounding box or overflow will enclose the whole run.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351479</commentid>
    <comment_count>44</comment_count>
      <attachid>82502</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-15 12:20:39 -0800</bug_when>
    <thetext>Created attachment 82502
Update Windows since someone added new uses of string truncation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351511</commentid>
    <comment_count>45</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-15 13:02:54 -0800</bug_when>
    <thetext>Curious.  do you expect this to be a noticeable effect on memory usage for memory-constrained ports?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351516</commentid>
    <comment_count>46</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-15 13:08:31 -0800</bug_when>
    <thetext>(In reply to comment #45)
&gt; Curious.  do you expect this to be a noticeable effect on memory usage for memory-constrained ports?

Shouldn&apos;t be... it&apos;s just int -&gt; float not int -&gt; double.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351589</commentid>
    <comment_count>47</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-15 14:40:11 -0800</bug_when>
    <thetext>Attachment 82502 did not build on win:
Build output: http://queues.webkit.org/results/7919033</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351611</commentid>
    <comment_count>48</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-15 14:56:51 -0800</bug_when>
    <thetext>(In reply to comment #46)
&gt; (In reply to comment #45)
&gt; &gt; Curious.  do you expect this to be a noticeable effect on memory usage for memory-constrained ports?
&gt; 
&gt; Shouldn&apos;t be... it&apos;s just int -&gt; float not int -&gt; double.

Ah yes, my mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351639</commentid>
    <comment_count>49</comment_count>
      <attachid>82533</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-15 15:16:32 -0800</bug_when>
    <thetext>Created attachment 82533
Update for Windows again since code got added to WebKit2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351640</commentid>
    <comment_count>50</comment_count>
      <attachid>82502</attachid>
    <who name="">mitz</who>
    <bug_when>2011-02-15 15:16:32 -0800</bug_when>
    <thetext>Comment on attachment 82502
Update Windows since someone added new uses of string truncation.

r+ if you resolve the Windows build issue (or if there is no issue)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353045</commentid>
    <comment_count>51</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-17 11:22:41 -0800</bug_when>
    <thetext>Landed in r78846.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353061</commentid>
    <comment_count>52</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-17 11:32:21 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/78846 might have broken EFL Linux Release (Build)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392648</commentid>
    <comment_count>53</comment_count>
      <attachid>82533</attachid>
    <who name="Marc-Antoine Ruel">maruel</who>
    <bug_when>2011-04-26 13:07:12 -0700</bug_when>
    <thetext>Comment on attachment 82533
Update for Windows again since code got added to WebKit2

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

&gt; Source/WebCore/rendering/InlineBox.h:243
&gt; +    int pixelSnappedLogicalLeft() const { return logicalLeft(); }

This code generates:
warning C4244: &apos;return&apos; : conversion from &apos;float&apos; to &apos;int&apos;, possible loss of data

It&apos;d be better to do return static_cast&lt;int&gt;(logicalLeft()); to be clear about the intent.

There are warnings at line 245, 246, 249, 254, 256 and 266 (line numbers are slightly offset, I&apos;m at r84935.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82044</attachid>
            <date>2011-02-10 14:02:53 -0800</date>
            <delta_ts>2011-02-10 15:06:05 -0800</delta_ts>
            <desc>Patch (don&apos;t really review, just catching build errors)</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>128897</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA3NzM4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0zOTUsOSArMzk1LDkgQEAgX19a
TjdXZWJDb3JlMTVQcm90ZWN0aW9uU3BhY2VDMUVSS04zV1RGNgogX19aTjdXZWJDb3JlMTVQcm90
ZWN0aW9uU3BhY2VDMUV2CiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE3YWxpZ25DZW50
ZXJBbHdheXNFCiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE5YWxpZ25Ub0VkZ2VJZk5l
ZWRlZEUKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRlRVJLTjNX
VEY2U3RyaW5nRWZSS05TXzRGb250RWIKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRj
ZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0VmUktOU180Rm9udEViCi1fX1pON1dlYkNvcmUx
NVN0cmluZ1RydW5jYXRvcjV3aWR0aEVSS04zV1RGNlN0cmluZ0VSS05TXzRGb250RWIKK19fWk43
V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRjZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0Vm
UktOU180Rm9udEUKK19fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRl
RVJLTjNXVEY2U3RyaW5nRWZSS05TXzRGb250RQorX19aTjdXZWJDb3JlMTVTdHJpbmdUcnVuY2F0
b3I1d2lkdGhFUktOM1dURjZTdHJpbmdFUktOU180Rm9udEUKIF9fWk43V2ViQ29yZTE1VmlzaWJs
ZVBvc2l0aW9uQzFFUE5TXzROb2RlRWlOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3JlMTVWaXNp
YmxlUG9zaXRpb25DMUVSS05TXzhQb3NpdGlvbkVOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3Jl
MTVkZWZhdWx0TGFuZ3VhZ2VFdgpAQCAtMTExMyw3ICsxMTEzLDcgQEAgX19aTks3V2ViQ29yZTI3
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VCYQogX19aTks3V2ViQ29yZTI3QXV0aGVudGljYXRpb25D
aGFsbGVuZ2VCYXNlMjBwcmV2aW91c0ZhaWx1cmVDb3VudEV2CiBfX1pOSzdXZWJDb3JlMjdBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZUJhc2U1ZXJyb3JFdgogX19aTks3V2ViQ29yZTI3QXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VCYXNlNmlzTnVsbEV2Ci1fX1pOSzdXZWJDb3JlNEZvbnQxMGZsb2F0V2lk
dGhFUktOU183VGV4dFJ1bkVQTjNXVEY3SGFzaFNldElQS05TXzE0U2ltcGxlRm9udERhdGFFTlM0
XzdQdHJIYXNoSVM4X0VFTlM0XzEwSGFzaFRyYWl0c0lTOF9FRUVFUE5TXzEzR2x5cGhPdmVyZmxv
d0UKK19fWk5LN1dlYkNvcmU0Rm9udDV3aWR0aEVSS05TXzdUZXh0UnVuRVBOM1dURjdIYXNoU2V0
SVBLTlNfMTRTaW1wbGVGb250RGF0YUVOUzRfN1B0ckhhc2hJUzhfRUVOUzRfMTBIYXNoVHJhaXRz
SVM4X0VFRUVQTlNfMTNHbHlwaE92ZXJmbG93RQogX19aTks3V2ViQ29yZTRGb250OGRyYXdUZXh0
RVBOU18xNUdyYXBoaWNzQ29udGV4dEVSS05TXzdUZXh0UnVuRVJLTlNfMTBGbG9hdFBvaW50RWlp
CiBfX1pOSzdXZWJDb3JlNEtVUkwxMWNyZWF0ZUNGVVJMRXYKIF9fWk5LN1dlYkNvcmU0S1VSTDEx
aXNMb2NhbEZpbGVFdgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA3NzM4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE3NzEsNyArMTc3MSw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjpkcmF3VGV4dEkKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRleHQubGVuZ3RoKCk7
CiAgICAgY29uc3QgVUNoYXIqIHN0cmluZyA9IHRleHQuY2hhcmFjdGVycygpOwotICAgIFRleHRS
dW4gdGV4dFJ1bihzdHJpbmcsIGxlbmd0aCwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJh
aWxpbmdFeHBhbnNpb24sIHJ0bCwgb3ZlcnJpZGUsIGZhbHNlLCBmYWxzZSk7CisgICAgVGV4dFJ1
biB0ZXh0UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFp
bGluZ0V4cGFuc2lvbiwgcnRsLCBvdmVycmlkZSk7CiAKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRl
eHQgYXQgdGhlIGNvcnJlY3QgcG9pbnQuCiAgICAgRmxvYXRQb2ludCBsb2NhdGlvbih4LCB5KTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCShyZXZpc2lv
biA3NzM4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xNzYsNyArMTc2LDcgQEAgdm9pZCBGb250OjpkcmF3RW1waGFzaXNN
YXJrcyhHcmFwaGljc0NvbgogICAgICAgICBkcmF3RW1waGFzaXNNYXJrc0ZvckNvbXBsZXhUZXh0
KGNvbnRleHQsIHJ1biwgbWFyaywgcG9pbnQsIGZyb20sIHRvKTsKIH0KIAotZmxvYXQgRm9udDo6
ZmxvYXRXaWR0aChjb25zdCBUZXh0UnVuJiBydW4sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERh
dGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QK
K2Zsb2F0IEZvbnQ6OndpZHRoKGNvbnN0IFRleHRSdW4mIHJ1biwgSGFzaFNldDxjb25zdCBTaW1w
bGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93
KSBjb25zdAogewogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgaWYgKHByaW1hcnlGb250KCkt
PmlzU1ZHRm9udCgpKQpAQCAtMTk0LDcgKzE5NCw3IEBAIGZsb2F0IEZvbnQ6OmZsb2F0V2lkdGgo
Y29uc3QgVGV4dFJ1biYgcnUKICAgICByZXR1cm4gZmxvYXRXaWR0aEZvckNvbXBsZXhUZXh0KHJ1
biwgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxvdyk7CiB9CiAKLWZsb2F0IEZvbnQ6OmZsb2F0
V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBpbnQgZXh0cmFDaGFyc0F2YWlsYWJsZSwgaW50JiBj
aGFyc0NvbnN1bWVkLCBTdHJpbmcmIGdseXBoTmFtZSkgY29uc3QKK2Zsb2F0IEZvbnQ6OndpZHRo
KGNvbnN0IFRleHRSdW4mIHJ1biwgaW50IGV4dHJhQ2hhcnNBdmFpbGFibGUsIGludCYgY2hhcnND
b25zdW1lZCwgU3RyaW5nJiBnbHlwaE5hbWUpIGNvbnN0CiB7CiAjaWYgIUVOQUJMRShTVkdfRk9O
VFMpCiAgICAgVU5VU0VEX1BBUkFNKGV4dHJhQ2hhcnNBdmFpbGFibGUpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAkocmV2aXNpb24gNzczODQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHdvcmtpbmcgY29weSkKQEAgLTk0
LDkgKzk0LDggQEAgcHVibGljOgogICAgIHZvaWQgZHJhd1RleHQoR3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgVGV4dFJ1biYsIGNvbnN0IEZsb2F0UG9pbnQmLCBpbnQgZnJvbSA9IDAsIGludCB0byA9
IC0xKSBjb25zdDsKICAgICB2b2lkIGRyYXdFbXBoYXNpc01hcmtzKEdyYXBoaWNzQ29udGV4dCos
IGNvbnN0IFRleHRSdW4mLCBjb25zdCBBdG9taWNTdHJpbmcmIG1hcmssIGNvbnN0IEZsb2F0UG9p
bnQmLCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKSBjb25zdDsKIAotICAgIGludCB3aWR0aChj
b25zdCBUZXh0UnVuJiBydW4sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJh
Y2tGb250cyA9IDAsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cgPSAwKSBjb25zdCB7IHJl
dHVybiBscm91bmRmKGZsb2F0V2lkdGgocnVuLCBmYWxsYmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93
KSk7IH0KLSAgICBmbG9hdCBmbG9hdFdpZHRoKGNvbnN0IFRleHRSdW4mLCBIYXNoU2V0PGNvbnN0
IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiBnbHlw
aE92ZXJmbG93ID0gMCkgY29uc3Q7Ci0gICAgZmxvYXQgZmxvYXRXaWR0aChjb25zdCBUZXh0UnVu
JiBydW4sIGludCBleHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQsIFN0cmlu
ZyYgZ2x5cGhOYW1lKSBjb25zdDsKKyAgICBmbG9hdCB3aWR0aChjb25zdCBUZXh0UnVuJiwgSGFz
aFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVy
ZmxvdyogZ2x5cGhPdmVyZmxvdyA9IDApIGNvbnN0OworICAgIGZsb2F0IHdpZHRoKGNvbnN0IFRl
eHRSdW4mIHJ1biwgaW50IGV4dHJhQ2hhcnNBdmFpbGFibGUsIGludCYgY2hhcnNDb25zdW1lZCwg
U3RyaW5nJiBnbHlwaE5hbWUpIGNvbnN0OwogCiAgICAgaW50IG9mZnNldEZvclBvc2l0aW9uKGNv
bnN0IFRleHRSdW4mLCBmbG9hdCBwb3NpdGlvbiwgYm9vbCBpbmNsdWRlUGFydGlhbEdseXBocykg
Y29uc3Q7CiAgICAgRmxvYXRSZWN0IHNlbGVjdGlvblJlY3RGb3JUZXh0KGNvbnN0IFRleHRSdW4m
LCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGgsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpIGNv
bnN0OwpAQCAtMTI5LDggKzEyOCw4IEBAIHB1YmxpYzoKIAogICAgIC8vIE1ldHJpY3MgdGhhdCB3
ZSBxdWVyeSB0aGUgRm9udEZhbGxiYWNrTGlzdCBmb3IuCiAgICAgY29uc3QgRm9udE1ldHJpY3Mm
IGZvbnRNZXRyaWNzKCkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZvbnQoKS0+Zm9udE1ldHJpY3Mo
KTsgfQotICAgIGludCBzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gKGludCljZWlsZihwcmlt
YXJ5Rm9udCgpLT5hZGp1c3RlZFNwYWNlV2lkdGgoKSArIG1fbGV0dGVyU3BhY2luZyk7IH0KLSAg
ICBmbG9hdCB0YWJXaWR0aChjb25zdCBTaW1wbGVGb250RGF0YSYgZm9udERhdGEpIGNvbnN0IHsg
cmV0dXJuIDggKiBjZWlsZihmb250RGF0YS5hZGp1c3RlZFNwYWNlV2lkdGgoKSArIGxldHRlclNw
YWNpbmcoKSk7IH0KKyAgICBpbnQgc3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlG
b250KCktPnNwYWNlV2lkdGgoKSArIG1fbGV0dGVyU3BhY2luZzsgfQorICAgIGZsb2F0IHRhYldp
ZHRoKGNvbnN0IFNpbXBsZUZvbnREYXRhJiBmb250RGF0YSkgY29uc3QgeyByZXR1cm4gOCAqIGZv
bnREYXRhLnNwYWNlV2lkdGgoKSArIGxldHRlclNwYWNpbmcoKTsgfQogICAgIGludCBlbXBoYXNp
c01hcmtBc2NlbnQoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CiAgICAgaW50IGVtcGhhc2lz
TWFya0Rlc2NlbnQoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CiAgICAgaW50IGVtcGhhc2lz
TWFya0hlaWdodChjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAkocmV2
aXNpb24gNzczODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0NvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNzUsNyArMzc1LDcgQEAgdm9pZCBHcmFw
aGljc0NvbnRleHQ6OmRyYXdJbWFnZShJbWFnZSogaQogfQogCiAjaWYgIU9TKFdJTkNFKSB8fCBQ
TEFURk9STShRVCkKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3VGV4dChjb25zdCBGb250JiBm
b250LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEludFBvaW50JiBwb2ludCwgaW50IGZyb20s
IGludCB0bykKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3VGV4dChjb25zdCBGb250JiBmb250
LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBpbnQgZnJvbSwg
aW50IHRvKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsK
QEAgLTM4NCw3ICszODQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQoY29uc3Qg
Rm9uCiB9CiAjZW5kaWYKIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdFbXBoYXNpc01hcmtz
KGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgQXRvbWljU3RyaW5n
JiBtYXJrLCBjb25zdCBJbnRQb2ludCYgcG9pbnQsIGludCBmcm9tLCBpbnQgdG8pCit2b2lkIEdy
YXBoaWNzQ29udGV4dDo6ZHJhd0VtcGhhc2lzTWFya3MoY29uc3QgRm9udCYgZm9udCwgY29uc3Qg
VGV4dFJ1biYgcnVuLCBjb25zdCBBdG9taWNTdHJpbmcmIG1hcmssIGNvbnN0IEZsb2F0UG9pbnQm
IHBvaW50LCBpbnQgZnJvbSwgaW50IHRvKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkp
CiAgICAgICAgIHJldHVybjsKQEAgLTQyMiwxMyArNDIyLDEzIEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0OjpkcmF3QmlkaVRleHQoY29uc3QKICAgICAgICAgYmlkaVJ1biA9IGJpZGlSdW4tPm5leHQo
KTsKICAgICAgICAgLy8gRklYTUU6IEhhdmUgRm9udDo6ZHJhd1RleHQgcmV0dXJuIHRoZSB3aWR0
aCBvZiB3aGF0IGl0IGRyZXcgc28gdGhhdCB3ZSBkb24ndCBoYXZlIHRvIHJlLW1lYXN1cmUgaGVy
ZS4KICAgICAgICAgaWYgKGJpZGlSdW4pCi0gICAgICAgICAgICBjdXJyUG9pbnQubW92ZShmb250
LmZsb2F0V2lkdGgoc3VicnVuKSwgMC5mKTsKKyAgICAgICAgICAgIGN1cnJQb2ludC5tb3ZlKGZv
bnQud2lkdGgoc3VicnVuKSwgMCk7CiAgICAgfQogCiAgICAgYmlkaVJlc29sdmVyLmRlbGV0ZVJ1
bnMoKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdIaWdobGlnaHRGb3JUZXh0KGNv
bnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgSW50UG9pbnQmIHBvaW50
LCBpbnQgaCwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgQ29sb3JTcGFjZSBjb2xvclNw
YWNlLCBpbnQgZnJvbSwgaW50IHRvKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdIaWdobGln
aHRGb3JUZXh0KGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgRmxv
YXRQb2ludCYgcG9pbnQsIGludCBoLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yLCBDb2xv
clNwYWNlIGNvbG9yU3BhY2UsIGludCBmcm9tLCBpbnQgdG8pCiB7CiAgICAgaWYgKHBhaW50aW5n
RGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgJKHJldmlzaW9uIDc3Mzg0KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTMzNSwyMCArMzM1LDIwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgVGV4dERyYXdpbmdNb2RlRmxhZ3MgdGV4dERyYXdpbmdNb2RlKCkgY29uc3Q7CiAgICAg
ICAgIHZvaWQgc2V0VGV4dERyYXdpbmdNb2RlKFRleHREcmF3aW5nTW9kZUZsYWdzKTsKIAotICAg
ICAgICB2b2lkIGRyYXdUZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgSW50
UG9pbnQmLCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKTsKLSAgICAgICAgdm9pZCBkcmF3RW1w
aGFzaXNNYXJrcyhjb25zdCBGb250JiwgY29uc3QgVGV4dFJ1biYgLCBjb25zdCBBdG9taWNTdHJp
bmcmIG1hcmssIGNvbnN0IEludFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSk7Cisg
ICAgICAgIHZvaWQgZHJhd1RleHQoY29uc3QgRm9udCYsIGNvbnN0IFRleHRSdW4mLCBjb25zdCBG
bG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSk7CisgICAgICAgIHZvaWQgZHJh
d0VtcGhhc2lzTWFya3MoY29uc3QgRm9udCYsIGNvbnN0IFRleHRSdW4mICwgY29uc3QgQXRvbWlj
U3RyaW5nJiBtYXJrLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAt
MSk7CiAgICAgICAgIHZvaWQgZHJhd0JpZGlUZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVu
JiwgY29uc3QgRmxvYXRQb2ludCYpOwotICAgICAgICB2b2lkIGRyYXdIaWdobGlnaHRGb3JUZXh0
KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgSW50UG9pbnQmLCBpbnQgaCwgY29u
c3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgQ29sb3JTcGFjZSwgaW50IGZyb20gPSAwLCBpbnQg
dG8gPSAtMSk7CisgICAgICAgIHZvaWQgZHJhd0hpZ2hsaWdodEZvclRleHQoY29uc3QgRm9udCYs
IGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGgsIGNvbnN0IENvbG9yJiBi
YWNrZ3JvdW5kQ29sb3IsIENvbG9yU3BhY2UsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOwog
CiAgICAgICAgIEZsb2F0UmVjdCByb3VuZFRvRGV2aWNlUGl4ZWxzKGNvbnN0IEZsb2F0UmVjdCYp
OwogCi0gICAgICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEludFBvaW50JiwgaW50IHdp
ZHRoLCBib29sIHByaW50aW5nKTsKKyAgICAgICAgdm9pZCBkcmF3TGluZUZvclRleHQoY29uc3Qg
RmxvYXRQb2ludCYsIGZsb2F0IHdpZHRoLCBib29sIHByaW50aW5nKTsKICAgICAgICAgZW51bSBU
ZXh0Q2hlY2tpbmdMaW5lU3R5bGUgewogICAgICAgICAgICAgVGV4dENoZWNraW5nU3BlbGxpbmdM
aW5lU3R5bGUsCiAgICAgICAgICAgICBUZXh0Q2hlY2tpbmdHcmFtbWFyTGluZVN0eWxlLAogICAg
ICAgICAgICAgVGV4dENoZWNraW5nUmVwbGFjZW1lbnRMaW5lU3R5bGUKICAgICAgICAgfTsKLSAg
ICAgICAgdm9pZCBkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYsIGludCB3
aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlKTsKKyAgICAgICAgdm9pZCBkcmF3TGluZUZvclRl
eHRDaGVja2luZyhjb25zdCBGbG9hdFBvaW50JiwgZmxvYXQgd2lkdGgsIFRleHRDaGVja2luZ0xp
bmVTdHlsZSk7CiAKICAgICAgICAgYm9vbCBwYWludGluZ0Rpc2FibGVkKCkgY29uc3Q7CiAgICAg
ICAgIHZvaWQgc2V0UGFpbnRpbmdEaXNhYmxlZChib29sKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAJKHJldmlzaW9u
IDc3Mzg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERh
dGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4LDYgQEAgU2ltcGxlRm9udERhdGE6
OlNpbXBsZUZvbnREYXRhKFBhc3NPd25QdAogICAgIG1fc3BhY2VHbHlwaCA9IDA7CiAgICAgbV96
ZXJvV2lkdGhTcGFjZUdseXBoID0gMDsKICAgICBkZXRlcm1pbmVQaXRjaCgpOwotICAgIG1fYWRq
dXN0ZWRTcGFjZVdpZHRoID0gcm91bmRmKG1fc3BhY2VXaWR0aCk7CiAgICAgbV9taXNzaW5nR2x5
cGhEYXRhLmZvbnREYXRhID0gdGhpczsKICAgICBtX21pc3NpbmdHbHlwaERhdGEuZ2x5cGggPSAw
OwogfQpAQCAtMTQzLDcgKzE0Miw2IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtR2x5
cGhJbml0KCkKICAgICAgICAgTE9HX0VSUk9SKCJGYWlsZWQgdG8gZ2V0IGdseXBoIHBhZ2UgemVy
by4iKTsKICAgICAgICAgbV9zcGFjZUdseXBoID0gMDsKICAgICAgICAgbV9zcGFjZVdpZHRoID0g
MDsKLSAgICAgICAgbV9hZGp1c3RlZFNwYWNlV2lkdGggPSAwOwogICAgICAgICBkZXRlcm1pbmVQ
aXRjaCgpOwogICAgICAgICBtX3plcm9XaWR0aFNwYWNlR2x5cGggPSAwOwogICAgICAgICBtX21p
c3NpbmdHbHlwaERhdGEuZm9udERhdGEgPSB0aGlzOwpAQCAtMTYwLDcgKzE1OCw2IEBAIHZvaWQg
U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtR2x5cGhJbml0KCkKICAgICBmbG9hdCB3aWR0aCA9IHdp
ZHRoRm9yR2x5cGgobV9zcGFjZUdseXBoKTsKICAgICBtX3NwYWNlV2lkdGggPSB3aWR0aDsKICAg
ICBkZXRlcm1pbmVQaXRjaCgpOwotICAgIG1fYWRqdXN0ZWRTcGFjZVdpZHRoID0gbV90cmVhdEFz
Rml4ZWRQaXRjaCA/IGNlaWxmKHdpZHRoKSA6IHJvdW5kZih3aWR0aCk7CiAKICAgICAvLyBGb3Jj
ZSB0aGUgZ2x5cGggZm9yIFpFUk8gV0lEVEggU1BBQ0UgdG8gaGF2ZSB6ZXJvIHdpZHRoLCB1bmxl
c3MgaXQgaXMgc2hhcmVkIHdpdGggU1BBQ0UuCiAgICAgLy8gSGVsdmV0aWNhIGlzIGFuIGV4YW1w
bGUgb2YgYSBub24temVybyB3aWR0aCBaRVJPIFdJRFRIIFNQQUNFIGdseXBoLgpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCShy
ZXZpc2lvbiA3NzM4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBs
ZUZvbnREYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTExMiw3ICsxMTIsNiBAQCBwdWJsaWM6CiAg
ICAgZmxvYXQgcGxhdGZvcm1XaWR0aEZvckdseXBoKEdseXBoKSBjb25zdDsKIAogICAgIGZsb2F0
IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3NwYWNlV2lkdGg7IH0KLSAgICBmbG9hdCBh
ZGp1c3RlZFNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2FkanVzdGVkU3BhY2VXaWR0aDsg
fQogCiAjaWYgUExBVEZPUk0oQ0cpIHx8IFBMQVRGT1JNKENBSVJPKSB8fCBQTEFURk9STShXWCkK
ICAgICBmbG9hdCBzeW50aGV0aWNCb2xkT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9zeW50aGV0
aWNCb2xkT2Zmc2V0OyB9CkBAIC0yMzAsNyArMjI5LDYgQEAgcHJpdmF0ZToKIAogICAgIEdseXBo
IG1fc3BhY2VHbHlwaDsKICAgICBmbG9hdCBtX3NwYWNlV2lkdGg7Ci0gICAgZmxvYXQgbV9hZGp1
c3RlZFNwYWNlV2lkdGg7CiAKICAgICBHbHlwaCBtX3plcm9XaWR0aFNwYWNlR2x5cGg7CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1
bmNhdG9yLmNwcAkocmV2aXNpb24gNzczODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9TdHJpbmdUcnVuY2F0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MiwyMiArOTIs
MjAgQEAgc3RhdGljIHVuc2lnbmVkIHJpZ2h0VHJ1bmNhdGVUb0J1ZmZlcihjbwogICAgIHJldHVy
biB0cnVuY2F0ZWRMZW5ndGg7CiB9CiAKLXN0YXRpYyBmbG9hdCBzdHJpbmdXaWR0aChjb25zdCBG
b250JiByZW5kZXJlciwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCwg
Ym9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcykKK3N0YXRpYyBmbG9hdCBzdHJpbmdXaWR0aChjb25z
dCBGb250JiByZW5kZXJlciwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0
aCkKIHsKICAgICBUZXh0UnVuIHJ1bihjaGFyYWN0ZXJzLCBsZW5ndGgpOwotICAgIGlmIChkaXNh
YmxlUm91bmRpbmdIYWNrcykKLSAgICAgICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7Ci0g
ICAgcmV0dXJuIHJlbmRlcmVyLmZsb2F0V2lkdGgocnVuKTsKKyAgICByZXR1cm4gcmVuZGVyZXIu
d2lkdGgocnVuKTsKIH0KIAotc3RhdGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJp
bmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZvbnQsIFRydW5jYXRpb25G
dW5jdGlvbiB0cnVuY2F0ZVRvQnVmZmVyLCBib29sIGRpc2FibGVSb3VuZGluZ0hhY2tzKQorc3Rh
dGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4
V2lkdGgsIGNvbnN0IEZvbnQmIGZvbnQsIFRydW5jYXRpb25GdW5jdGlvbiB0cnVuY2F0ZVRvQnVm
ZmVyKQogewogICAgIGlmIChzdHJpbmcuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gc3RyaW5n
OwogICAgIAogICAgIEFTU0VSVChtYXhXaWR0aCA+PSAwKTsKICAgICAKLSAgICBmbG9hdCBjdXJy
ZW50RWxsaXBzaXNXaWR0aCA9IHN0cmluZ1dpZHRoKGZvbnQsICZob3Jpem9udGFsRWxsaXBzaXMs
IDEsIGRpc2FibGVSb3VuZGluZ0hhY2tzKTsKKyAgICBmbG9hdCBjdXJyZW50RWxsaXBzaXNXaWR0
aCA9IHN0cmluZ1dpZHRoKGZvbnQsICZob3Jpem9udGFsRWxsaXBzaXMsIDEpOwogICAgIAogICAg
IFVDaGFyIHN0cmluZ0J1ZmZlcltTVFJJTkdfQlVGRkVSX1NJWkVdOwogICAgIHVuc2lnbmVkIHRy
dW5jYXRlZExlbmd0aDsKQEAgLTEyMyw3ICsxMjEsNyBAQCBzdGF0aWMgU3RyaW5nIHRydW5jYXRl
U3RyaW5nKGNvbnN0IFN0cmluCiAgICAgICAgIHRydW5jYXRlZExlbmd0aCA9IGxlbmd0aDsKICAg
ICB9CiAKLSAgICBmbG9hdCB3aWR0aCA9IHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZ0J1ZmZlciwg
dHJ1bmNhdGVkTGVuZ3RoLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgZmxvYXQgd2lkdGgg
PSBzdHJpbmdXaWR0aChmb250LCBzdHJpbmdCdWZmZXIsIHRydW5jYXRlZExlbmd0aCk7CiAgICAg
aWYgKHdpZHRoIDw9IG1heFdpZHRoKQogICAgICAgICByZXR1cm4gc3RyaW5nOwogCkBAIC0xNTks
NyArMTU3LDcgQEAgc3RhdGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAg
ICAgICAKICAgICAgICAgdHJ1bmNhdGVkTGVuZ3RoID0gdHJ1bmNhdGVUb0J1ZmZlcihzdHJpbmcs
IGxlbmd0aCwga2VlcENvdW50LCBzdHJpbmdCdWZmZXIpOwogCi0gICAgICAgIHdpZHRoID0gc3Ry
aW5nV2lkdGgoZm9udCwgc3RyaW5nQnVmZmVyLCB0cnVuY2F0ZWRMZW5ndGgsIGRpc2FibGVSb3Vu
ZGluZ0hhY2tzKTsKKyAgICAgICAgd2lkdGggPSBzdHJpbmdXaWR0aChmb250LCBzdHJpbmdCdWZm
ZXIsIHRydW5jYXRlZExlbmd0aCk7CiAgICAgICAgIGlmICh3aWR0aCA8PSBtYXhXaWR0aCkgewog
ICAgICAgICAgICAga2VlcENvdW50Rm9yTGFyZ2VzdEtub3duVG9GaXQgPSBrZWVwQ291bnQ7CiAg
ICAgICAgICAgICB3aWR0aEZvckxhcmdlc3RLbm93blRvRml0ID0gd2lkdGg7CkBAIC0xODEsMTkg
KzE3OSwxOSBAQCBzdGF0aWMgU3RyaW5nIHRydW5jYXRlU3RyaW5nKGNvbnN0IFN0cmluCiAgICAg
cmV0dXJuIFN0cmluZyhzdHJpbmdCdWZmZXIsIHRydW5jYXRlZExlbmd0aCk7CiB9CiAKLVN0cmlu
ZyBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBm
bG9hdCBtYXhXaWR0aCwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNr
cykKK1N0cmluZyBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKGNvbnN0IFN0cmluZyYg
c3RyaW5nLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9udCYgZm9udCkKIHsKLSAgICByZXR1cm4g
dHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBtYXhXaWR0aCwgZm9udCwgY2VudGVyVHJ1bmNhdGVUb0J1
ZmZlciwgZGlzYWJsZVJvdW5kaW5nSGFja3MpOworICAgIHJldHVybiB0cnVuY2F0ZVN0cmluZyhz
dHJpbmcsIG1heFdpZHRoLCBmb250LCBjZW50ZXJUcnVuY2F0ZVRvQnVmZmVyKTsKIH0KIAotU3Ry
aW5nIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywg
ZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFj
a3MpCitTdHJpbmcgU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKGNvbnN0IFN0cmluZyYg
c3RyaW5nLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9udCYgZm9udCkKIHsKLSAgICByZXR1cm4g
dHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBtYXhXaWR0aCwgZm9udCwgcmlnaHRUcnVuY2F0ZVRvQnVm
ZmVyLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0
cmluZywgbWF4V2lkdGgsIGZvbnQsIHJpZ2h0VHJ1bmNhdGVUb0J1ZmZlcik7CiB9CiAKLWZsb2F0
IFN0cmluZ1RydW5jYXRvcjo6d2lkdGgoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGNvbnN0IEZvbnQm
IGZvbnQsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MpCitmbG9hdCBTdHJpbmdUcnVuY2F0b3I6
OndpZHRoKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBjb25zdCBGb250JiBmb250KQogewotICAgIHJl
dHVybiBzdHJpbmdXaWR0aChmb250LCBzdHJpbmcuY2hhcmFjdGVycygpLCBzdHJpbmcubGVuZ3Ro
KCksIGRpc2FibGVSb3VuZGluZ0hhY2tzKTsKKyAgICByZXR1cm4gc3RyaW5nV2lkdGgoZm9udCwg
c3RyaW5nLmNoYXJhY3RlcnMoKSwgc3RyaW5nLmxlbmd0aCgpKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5n
VHJ1bmNhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvU3RyaW5nVHJ1bmNhdG9yLmgJKHJldmlzaW9uIDc3Mzg0KQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3
LDkgKzM3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAogICAgIGNsYXNzIFN0cmluZ1Ry
dW5jYXRvciB7CiAgICAgcHVibGljOgotICAgICAgICBzdGF0aWMgU3RyaW5nIGNlbnRlclRydW5j
YXRlKGNvbnN0IFN0cmluZyYsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250JiwgYm9vbCBkaXNh
YmxlUm91bmRpbmdIYWNrcyA9IHRydWUpOwotICAgICAgICBzdGF0aWMgU3RyaW5nIHJpZ2h0VHJ1
bmNhdGUoY29uc3QgU3RyaW5nJiwgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmLCBib29sIGRp
c2FibGVSb3VuZGluZ0hhY2tzID0gdHJ1ZSk7Ci0gICAgICAgIHN0YXRpYyBmbG9hdCB3aWR0aChj
b25zdCBTdHJpbmcmLCBjb25zdCBGb250JiwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcyA9IHRy
dWUpOworICAgICAgICBzdGF0aWMgU3RyaW5nIGNlbnRlclRydW5jYXRlKGNvbnN0IFN0cmluZyYs
IGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250Jik7CisgICAgICAgIHN0YXRpYyBTdHJpbmcgcmln
aHRUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9udCYpOwor
ICAgICAgICBzdGF0aWMgZmxvYXQgd2lkdGgoY29uc3QgU3RyaW5nJiwgY29uc3QgRm9udCYpOwog
ICAgIH07CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCShyZXZpc2lvbiA3NzM4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaAkod29ya2luZyBjb3B5KQpAQCAt
MzgsOCArMzgsNyBAQCBwdWJsaWM6CiAgICAgICAgIEZvcmJpZFRyYWlsaW5nRXhwYW5zaW9uCiAg
ICAgfTsKIAotICAgIFRleHRSdW4oY29uc3QgVUNoYXIqIGMsIGludCBsZW4sIGJvb2wgYWxsb3dU
YWJzID0gZmFsc2UsIGludCB4cG9zID0gMCwgaW50IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdF
eHBhbnNpb24sIGJvb2wgcnRsID0gZmFsc2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZh
bHNlLAotICAgICAgICAgICAgICBib29sIGFwcGx5UnVuUm91bmRpbmcgPSB0cnVlLCBib29sIGFw
cGx5V29yZFJvdW5kaW5nID0gdHJ1ZSkKKyAgICBUZXh0UnVuKGNvbnN0IFVDaGFyKiBjLCBpbnQg
bGVuLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBmbG9hdCB4cG9zID0gMCwgZmxvYXQgZXhwYW5z
aW9uID0gMCwgVHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2
aW9yID0gQWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgYm9vbCBydGwgPSBmYWxzZSwgYm9vbCBkaXJl
Y3Rpb25hbE92ZXJyaWRlID0gZmFsc2UpCiAgICAgICAgIDogbV9jaGFyYWN0ZXJzKGMpCiAgICAg
ICAgICwgbV9sZW4obGVuKQogICAgICAgICAsIG1feHBvcyh4cG9zKQpAQCAtNTEsOCArNTAsNiBA
QCBwdWJsaWM6CiAgICAgICAgICwgbV9hbGxvd1RhYnMoYWxsb3dUYWJzKQogICAgICAgICAsIG1f
cnRsKHJ0bCkKICAgICAgICAgLCBtX2RpcmVjdGlvbmFsT3ZlcnJpZGUoZGlyZWN0aW9uYWxPdmVy
cmlkZSkKLSAgICAgICAgLCBtX2FwcGx5UnVuUm91bmRpbmcoYXBwbHlSdW5Sb3VuZGluZykKLSAg
ICAgICAgLCBtX2FwcGx5V29yZFJvdW5kaW5nKGFwcGx5V29yZFJvdW5kaW5nKQogICAgICAgICAs
IG1fZGlzYWJsZVNwYWNpbmcoZmFsc2UpCiAjaWYgRU5BQkxFKFNWR19GT05UUykKICAgICAgICAg
LCBtX3JlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KDApCkBAIC02MSw4ICs1OCw3IEBAIHB1YmxpYzoK
ICAgICB7CiAgICAgfQogCi0gICAgVGV4dFJ1bihjb25zdCBTdHJpbmcmIHMsIGJvb2wgYWxsb3dU
YWJzID0gZmFsc2UsIGludCB4cG9zID0gMCwgaW50IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdF
eHBhbnNpb24sIGJvb2wgcnRsID0gZmFsc2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZh
bHNlLAotICAgICAgICAgICAgICBib29sIGFwcGx5UnVuUm91bmRpbmcgPSB0cnVlLCBib29sIGFw
cGx5V29yZFJvdW5kaW5nID0gdHJ1ZSkKKyAgICBUZXh0UnVuKGNvbnN0IFN0cmluZyYgcywgYm9v
bCBhbGxvd1RhYnMgPSBmYWxzZSwgZmxvYXQgeHBvcyA9IDAsIGZsb2F0IGV4cGFuc2lvbiA9IDAs
IFRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9IEFs
bG93VHJhaWxpbmdFeHBhbnNpb24sIGJvb2wgcnRsID0gZmFsc2UsIGJvb2wgZGlyZWN0aW9uYWxP
dmVycmlkZSA9IGZhbHNlKQogICAgICAgICA6IG1fY2hhcmFjdGVycyhzLmNoYXJhY3RlcnMoKSkK
ICAgICAgICAgLCBtX2xlbihzLmxlbmd0aCgpKQogICAgICAgICAsIG1feHBvcyh4cG9zKQpAQCAt
NzQsOCArNzAsNiBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9hbGxvd1RhYnMoYWxsb3dUYWJzKQog
ICAgICAgICAsIG1fcnRsKHJ0bCkKICAgICAgICAgLCBtX2RpcmVjdGlvbmFsT3ZlcnJpZGUoZGly
ZWN0aW9uYWxPdmVycmlkZSkKLSAgICAgICAgLCBtX2FwcGx5UnVuUm91bmRpbmcoYXBwbHlSdW5S
b3VuZGluZykKLSAgICAgICAgLCBtX2FwcGx5V29yZFJvdW5kaW5nKGFwcGx5V29yZFJvdW5kaW5n
KQogICAgICAgICAsIG1fZGlzYWJsZVNwYWNpbmcoZmFsc2UpCiAjaWYgRU5BQkxFKFNWR19GT05U
UykKICAgICAgICAgLCBtX3JlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KDApCkBAIC05OCwxOCArOTIs
MTUgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICBib29sIGFsbG93VGFicygpIGNvbnN0IHsgcmV0
dXJuIG1fYWxsb3dUYWJzOyB9Ci0gICAgaW50IHhQb3MoKSBjb25zdCB7IHJldHVybiBtX3hwb3M7
IH0KLSAgICBpbnQgZXhwYW5zaW9uKCkgY29uc3QgeyByZXR1cm4gbV9leHBhbnNpb247IH0KKyAg
ICBmbG9hdCB4UG9zKCkgY29uc3QgeyByZXR1cm4gbV94cG9zOyB9CisgICAgZmxvYXQgZXhwYW5z
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9leHBhbnNpb247IH0KICAgICBib29sIGFsbG93c1RyYWls
aW5nRXhwYW5zaW9uKCkgY29uc3QgeyByZXR1cm4gbV90cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9y
ID09IEFsbG93VHJhaWxpbmdFeHBhbnNpb247IH0KICAgICBib29sIHJ0bCgpIGNvbnN0IHsgcmV0
dXJuIG1fcnRsOyB9CiAgICAgYm9vbCBsdHIoKSBjb25zdCB7IHJldHVybiAhbV9ydGw7IH0KICAg
ICBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUoKSBjb25zdCB7IHJldHVybiBtX2RpcmVjdGlvbmFs
T3ZlcnJpZGU7IH0KLSAgICBib29sIGFwcGx5UnVuUm91bmRpbmcoKSBjb25zdCB7IHJldHVybiBt
X2FwcGx5UnVuUm91bmRpbmc7IH0KLSAgICBib29sIGFwcGx5V29yZFJvdW5kaW5nKCkgY29uc3Qg
eyByZXR1cm4gbV9hcHBseVdvcmRSb3VuZGluZzsgfQogICAgIGJvb2wgc3BhY2luZ0Rpc2FibGVk
KCkgY29uc3QgeyByZXR1cm4gbV9kaXNhYmxlU3BhY2luZzsgfQogCiAgICAgdm9pZCBkaXNhYmxl
U3BhY2luZygpIHsgbV9kaXNhYmxlU3BhY2luZyA9IHRydWU7IH0KLSAgICB2b2lkIGRpc2FibGVS
b3VuZGluZ0hhY2tzKCkgeyBtX2FwcGx5UnVuUm91bmRpbmcgPSBtX2FwcGx5V29yZFJvdW5kaW5n
ID0gZmFsc2U7IH0KICAgICB2b2lkIHNldFJUTChib29sIGIpIHsgbV9ydGwgPSBiOyB9CiAgICAg
dm9pZCBzZXREaXJlY3Rpb25hbE92ZXJyaWRlKGJvb2wgb3ZlcnJpZGUpIHsgbV9kaXJlY3Rpb25h
bE92ZXJyaWRlID0gb3ZlcnJpZGU7IH0KIApAQCAtMTI4LDggKzExOSw4IEBAIHByaXZhdGU6CiAg
ICAgLy8gbV94cG9zIGlzIHRoZSB4IHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBsZWZ0IHN0YXJ0
IG9mIHRoZSB0ZXh0IGxpbmUsIG5vdCByZWxhdGl2ZSB0byB0aGUgbGVmdAogICAgIC8vIHN0YXJ0
IG9mIHRoZSBjb250YWluaW5nIGJsb2NrLiBJbiB0aGUgY2FzZSBvZiByaWdodCBhbGlnbm1lbnQg
b3IgY2VudGVyIGFsaWdubWVudCwgbGVmdCBzdGFydCBvZgogICAgIC8vIHRoZSB0ZXh0IGxpbmUg
aXMgbm90IHRoZSBzYW1lIGFzIGxlZnQgc3RhcnQgb2YgdGhlIGNvbnRhaW5pbmcgYmxvY2suCi0g
ICAgaW50IG1feHBvczsgIAotICAgIGludCBtX2V4cGFuc2lvbjsKKyAgICBmbG9hdCBtX3hwb3M7
ICAKKyAgICBmbG9hdCBtX2V4cGFuc2lvbjsKICAgICBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9y
IG1fdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvcjsKICNpZiBFTkFCTEUoU1ZHKQogICAgIGZsb2F0
IG1faG9yaXpvbnRhbEdseXBoU3RyZXRjaDsKQEAgLTEzNyw4ICsxMjgsNiBAQCBwcml2YXRlOgog
ICAgIGJvb2wgbV9hbGxvd1RhYnM7CiAgICAgYm9vbCBtX3J0bDsKICAgICBib29sIG1fZGlyZWN0
aW9uYWxPdmVycmlkZTsKLSAgICBib29sIG1fYXBwbHlSdW5Sb3VuZGluZzsKLSAgICBib29sIG1f
YXBwbHlXb3JkUm91bmRpbmc7CiAgICAgYm9vbCBtX2Rpc2FibGVTcGFjaW5nOwogCiAjaWYgRU5B
QkxFKFNWR19GT05UUykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dp
ZHRoSXRlcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCShyZXZpc2lvbiA3NzM4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00OCw3ICs0OCw2IEBAIFdpZHRoSXRlcmF0b3I6OldpZHRoSXRlcmF0b3IoY29uc3QgRm9udCoK
ICAgICAsIG1fY3VycmVudENoYXJhY3RlcigwKQogICAgICwgbV9ydW5XaWR0aFNvRmFyKDApCiAg
ICAgLCBtX2lzQWZ0ZXJFeHBhbnNpb24odHJ1ZSkKLSAgICAsIG1fZmluYWxSb3VuZGluZ1dpZHRo
KDApCiAgICAgLCBtX2ZhbGxiYWNrRm9udHMoZmFsbGJhY2tGb250cykKICAgICAsIG1fYWNjb3Vu
dEZvckdseXBoQm91bmRzKGFjY291bnRGb3JHbHlwaEJvdW5kcykKICAgICAsIG1fbWF4R2x5cGhC
b3VuZGluZ0JveFkobnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptaW4oKSkKQEAgLTg2LDExICs4NSw2
IEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZShpbnQgb2Zmc2V0LCAKICAgICBib29sIHJ0
bCA9IG1fcnVuLnJ0bCgpOwogICAgIGJvb2wgaGFzRXh0cmFTcGFjaW5nID0gKG1fZm9udC0+bGV0
dGVyU3BhY2luZygpIHx8IG1fZm9udC0+d29yZFNwYWNpbmcoKSB8fCBtX2V4cGFuc2lvbikgJiYg
IW1fcnVuLnNwYWNpbmdEaXNhYmxlZCgpOwogCi0gICAgZmxvYXQgd2lkdGhTaW5jZUxhc3RSb3Vu
ZGluZyA9IG1fcnVuV2lkdGhTb0ZhcjsKLSAgICBtX3J1bldpZHRoU29GYXIgPSBmbG9vcmYobV9y
dW5XaWR0aFNvRmFyKTsKLSAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nIC09IG1fcnVuV2lkdGhT
b0ZhcjsKLQotICAgIGZsb2F0IGxhc3RSb3VuZGluZ1dpZHRoID0gbV9maW5hbFJvdW5kaW5nV2lk
dGg7CiAgICAgRmxvYXRSZWN0IGJvdW5kczsKIAogICAgIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBw
cmltYXJ5Rm9udCA9IG1fZm9udC0+cHJpbWFyeUZvbnQoKTsKQEAgLTEzNiw3ICsxMzAsNyBAQCB2
b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9mZnNldCwgCiAgICAgICAgIGZsb2F0IHdp
ZHRoOwogICAgICAgICBpZiAoYyA9PSAnXHQnICYmIG1fcnVuLmFsbG93VGFicygpKSB7CiAgICAg
ICAgICAgICBmbG9hdCB0YWJXaWR0aCA9IG1fZm9udC0+dGFiV2lkdGgoKmZvbnREYXRhKTsKLSAg
ICAgICAgICAgIHdpZHRoID0gdGFiV2lkdGggLSBmbW9kZihtX3J1bi54UG9zKCkgKyBtX3J1bldp
ZHRoU29GYXIgKyB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nLCB0YWJXaWR0aCk7CisgICAgICAgICAg
ICB3aWR0aCA9IHRhYldpZHRoIC0gZm1vZGYobV9ydW4ueFBvcygpICsgbV9ydW5XaWR0aFNvRmFy
LCB0YWJXaWR0aCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICB3aWR0aCA9IGZvbnRE
YXRhLT53aWR0aEZvckdseXBoKGdseXBoKTsKIApAQCAtMTQ0LDEzICsxMzgsNiBAQCB2b2lkIFdp
ZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9mZnNldCwgCiAgICAgICAgICAgICAvLyBTVkcgdXNl
cyBob3Jpem9udGFsR2x5cGhTdHJldGNoKCksIHdoZW4gdGV4dExlbmd0aCBpcyB1c2VkIHRvIHN0
cmV0Y2gvc3F1ZWV6ZSB0ZXh0LgogICAgICAgICAgICAgd2lkdGggKj0gbV9ydW4uaG9yaXpvbnRh
bEdseXBoU3RyZXRjaCgpOwogI2VuZGlmCi0KLSAgICAgICAgICAgIC8vIFdlIHNwZWNpYWwgY2Fz
ZSBzcGFjZXMgaW4gdHdvIHdheXMgd2hlbiBhcHBseWluZyB3b3JkIHJvdW5kaW5nLgotICAgICAg
ICAgICAgLy8gRmlyc3QsIHdlIHJvdW5kIHNwYWNlcyB0byBhbiBhZGp1c3RlZCB3aWR0aCBpbiBh
bGwgZm9udHMuCi0gICAgICAgICAgICAvLyBTZWNvbmQsIGluIGZpeGVkLXBpdGNoIGZvbnRzIHdl
IGVuc3VyZSB0aGF0IGFsbCBjaGFyYWN0ZXJzIHRoYXQKLSAgICAgICAgICAgIC8vIG1hdGNoIHRo
ZSB3aWR0aCBvZiB0aGUgc3BhY2UgY2hhcmFjdGVyIGhhdmUgdGhlIHNhbWUgd2lkdGggYXMgdGhl
IHNwYWNlIGNoYXJhY3Rlci4KLSAgICAgICAgICAgIGlmICh3aWR0aCA9PSBmb250RGF0YS0+c3Bh
Y2VXaWR0aCgpICYmIChmb250RGF0YS0+cGl0Y2goKSA9PSBGaXhlZFBpdGNoIHx8IGdseXBoID09
IGZvbnREYXRhLT5zcGFjZUdseXBoKCkpICYmIG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkpCi0g
ICAgICAgICAgICAgICAgd2lkdGggPSBmb250RGF0YS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCk7CiAg
ICAgICAgIH0KIAogICAgICAgICBpZiAoZm9udERhdGEgIT0gbGFzdEZvbnREYXRhICYmIHdpZHRo
KSB7CkBAIC0xODMsMTQgKzE3MCwxNCBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50
IG9mZnNldCwgCiAgICAgICAgICAgICAgICAgICAgIGlmICghdHJlYXRBc1NwYWNlICYmICFtX2lz
QWZ0ZXJFeHBhbnNpb24pIHsKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRha2UgdGhlIGV4
cGFuc2lvbiBvcHBvcnR1bml0eSBiZWZvcmUgdGhpcyBpZGVvZ3JhcGguCiAgICAgICAgICAgICAg
ICAgICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGV4cGFuc2lvbiA9IHJvdW5kZihwcmV2aW91c0V4cGFu
c2lvbikgLSByb3VuZGYobV9leHBhbnNpb24pOworICAgICAgICAgICAgICAgICAgICAgICAgZmxv
YXQgZXhwYW5zaW9uID0gcHJldmlvdXNFeHBhbnNpb24gLSBtX2V4cGFuc2lvbjsKICAgICAgICAg
ICAgICAgICAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBleHBhbnNpb247CiAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoZ2x5cGhCdWZmZXIpCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZ2x5cGhCdWZmZXItPmV4cGFuZExhc3RBZHZhbmNlKGV4cGFuc2lvbik7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBwcmV2aW91c0V4cGFuc2lvbiA9IG1fZXhwYW5zaW9uOwogICAgICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIG1fZXhwYW5zaW9uIC09IG1fZXhwYW5z
aW9uUGVyT3Bwb3J0dW5pdHk7Ci0gICAgICAgICAgICAgICAgICAgIHdpZHRoICs9IHJvdW5kZihw
cmV2aW91c0V4cGFuc2lvbikgLSByb3VuZGYobV9leHBhbnNpb24pOworICAgICAgICAgICAgICAg
ICAgICB3aWR0aCArPSBwcmV2aW91c0V4cGFuc2lvbiAtIG1fZXhwYW5zaW9uOwogICAgICAgICAg
ICAgICAgICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwogICAgICAgICAgICAgICAgIH0g
ZWxzZQogICAgICAgICAgICAgICAgICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKQEAg
LTIxNiw0MyArMjAzLDEwIEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZShpbnQgb2Zmc2V0
LCAKICAgICAgICAgY3AgKz0gY2x1c3Rlckxlbmd0aDsKICAgICAgICAgY3VycmVudENoYXJhY3Rl
ciArPSBjbHVzdGVyTGVuZ3RoOwogCi0gICAgICAgIC8vIEFjY291bnQgZm9yIGZsb2F0L2ludGVn
ZXIgaW1wZWRhbmNlIG1pc21hdGNoIGJldHdlZW4gQ0cgYW5kIEtIVE1MLiAiV29yZHMiIChjaGFy
YWN0ZXJzIAotICAgICAgICAvLyBmb2xsb3dlZCBieSBhIGNoYXJhY3RlciBkZWZpbmVkIGJ5IGlz
Um91bmRpbmdIYWNrQ2hhcmFjdGVyKCkpIGFyZSBhbHdheXMgYW4gaW50ZWdlciB3aWR0aC4KLSAg
ICAgICAgLy8gV2UgYWRqdXN0IHRoZSB3aWR0aCBvZiB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgYSAi
d29yZCIgdG8gZW5zdXJlIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgIC8vIElmIHdlIG1vdmUg
S0hUTUwgdG8gZmxvYXRzIHdlIGNhbiByZW1vdmUgdGhpcyAoYW5kIHJlbGF0ZWQpIGhhY2tzLgot
Ci0gICAgICAgIGZsb2F0IG9sZFdpZHRoID0gd2lkdGg7Ci0KLSAgICAgICAgLy8gRm9yY2UgY2hh
cmFjdGVycyB0aGF0IGFyZSB1c2VkIHRvIGRldGVybWluZSB3b3JkIGJvdW5kYXJpZXMgZm9yIHRo
ZSByb3VuZGluZyBoYWNrCi0gICAgICAgIC8vIHRvIGJlIGludGVnZXIgd2lkdGgsIHNvIGZvbGxv
d2luZyB3b3JkcyB3aWxsIHN0YXJ0IG9uIGFuIGludGVnZXIgYm91bmRhcnkuCi0gICAgICAgIGlm
IChtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpICYmIEZvbnQ6OmlzUm91bmRpbmdIYWNrQ2hhcmFj
dGVyKGMpKSB7Ci0gICAgICAgICAgICB3aWR0aCA9IGNlaWxmKHdpZHRoKTsKLQotICAgICAgICAg
ICAgLy8gU2luY2Ugd2lkdGhTaW5jZUxhc3RSb3VuZGluZyBjYW4gbG9zZSBwcmVjaXNpb24gaWYg
d2UgaW5jbHVkZSBtZWFzdXJlbWVudHMgZm9yCi0gICAgICAgICAgICAvLyBwcmVjZWRpbmcgd2hp
dGVzcGFjZSwgd2UgYnlwYXNzIGl0IGhlcmUuCi0gICAgICAgICAgICBtX3J1bldpZHRoU29GYXIg
Kz0gd2lkdGg7Ci0KLSAgICAgICAgICAgIC8vIFNpbmNlIHRoaXMgaXMgYSByb3VuZGluZyBoYWNr
IGNoYXJhY3Rlciwgd2Ugc2hvdWxkIGhhdmUgcmVzZXQgdGhpcyBzdW0gb24gdGhlIHByZXZpb3Vz
Ci0gICAgICAgICAgICAvLyBpdGVyYXRpb24uCi0gICAgICAgICAgICBBU1NFUlQoIXdpZHRoU2lu
Y2VMYXN0Um91bmRpbmcpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gQ2hlY2sg
dG8gc2VlIGlmIHRoZSBuZXh0IGNoYXJhY3RlciBpcyBhICJyb3VuZGluZyBoYWNrIGNoYXJhY3Rl
ciIsIGlmIHNvLCBhZGp1c3QKLSAgICAgICAgICAgIC8vIHdpZHRoIHNvIHRoYXQgdGhlIHRvdGFs
IHJ1biB3aWR0aCB3aWxsIGJlIG9uIGFuIGludGVnZXIgYm91bmRhcnkuCi0gICAgICAgICAgICBp
ZiAoKG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkgJiYgY3VycmVudENoYXJhY3RlciA8IG1fcnVu
Lmxlbmd0aCgpICYmIEZvbnQ6OmlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKCpjcCkpCi0gICAgICAg
ICAgICAgICAgICAgIHx8IChtX3J1bi5hcHBseVJ1blJvdW5kaW5nKCkgJiYgY3VycmVudENoYXJh
Y3RlciA+PSBtX2VuZCkpIHsKLSAgICAgICAgICAgICAgICBmbG9hdCB0b3RhbFdpZHRoID0gd2lk
dGhTaW5jZUxhc3RSb3VuZGluZyArIHdpZHRoOwotICAgICAgICAgICAgICAgIHdpZHRoU2luY2VM
YXN0Um91bmRpbmcgPSBjZWlsZih0b3RhbFdpZHRoKTsKLSAgICAgICAgICAgICAgICB3aWR0aCAr
PSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nIC0gdG90YWxXaWR0aDsKLSAgICAgICAgICAgICAgICBt
X3J1bldpZHRoU29GYXIgKz0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZzsKLSAgICAgICAgICAgICAg
ICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gMDsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAg
ICAgICAgICAgIHdpZHRoU2luY2VMYXN0Um91bmRpbmcgKz0gd2lkdGg7Ci0gICAgICAgIH0KKyAg
ICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoOwogCiAgICAgICAgIGlmIChnbHlwaEJ1ZmZl
cikKLSAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQoZ2x5cGgsIGZvbnREYXRhLCAocnRsID8g
b2xkV2lkdGggKyBsYXN0Um91bmRpbmdXaWR0aCA6IHdpZHRoKSk7Ci0KLSAgICAgICAgbGFzdFJv
dW5kaW5nV2lkdGggPSB3aWR0aCAtIG9sZFdpZHRoOworICAgICAgICAgICAgZ2x5cGhCdWZmZXIt
PmFkZChnbHlwaCwgZm9udERhdGEsIHdpZHRoKTsKIAogICAgICAgICBpZiAobV9hY2NvdW50Rm9y
R2x5cGhCb3VuZHMpIHsKICAgICAgICAgICAgIG1fbWF4R2x5cGhCb3VuZGluZ0JveFkgPSBtYXgo
bV9tYXhHbHlwaEJvdW5kaW5nQm94WSwgYm91bmRzLm1heFkoKSk7CkBAIC0yNjIsOCArMjE2LDYg
QEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQsIAogICAgIH0KIAogICAg
IG1fY3VycmVudENoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgbV9ydW5XaWR0aFNv
RmFyICs9IHdpZHRoU2luY2VMYXN0Um91bmRpbmc7Ci0gICAgbV9maW5hbFJvdW5kaW5nV2lkdGgg
PSBsYXN0Um91bmRpbmdXaWR0aDsKIH0KIAogYm9vbCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlT25l
Q2hhcmFjdGVyKGZsb2F0JiB3aWR0aCwgR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyKQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBo
aWNzQ29udGV4dENHLmNwcAkocmV2aXNpb24gNzczODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTExMzAsNyArMTEzMCw3IEBAIEZsb2F0UmVjdCBHcmFwaGljc0NvbnRleHQ6OnJvdW5kVG9EZXZp
Y2UKICAgICByZXR1cm4gRmxvYXRSZWN0KHJvdW5kZWRPcmlnaW4sIHJvdW5kZWRMb3dlclJpZ2h0
IC0gcm91bmRlZE9yaWdpbik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZv
clRleHQoY29uc3QgSW50UG9pbnQmIHBvaW50LCBpbnQgd2lkdGgsIGJvb2wgcHJpbnRpbmcpCit2
b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmIHBv
aW50LCBmbG9hdCB3aWR0aCwgYm9vbCBwcmludGluZykKIHsKICAgICBpZiAocGFpbnRpbmdEaXNh
YmxlZCgpKQogICAgICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNw
cAkocmV2aXNpb24gNzczODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMyLDcgKzQz
Miw2IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHMKIAogICAgICAg
ICBib29sIGxhc3RSdW4gPSByICsgMSA9PSBydW5Db3VudDsKICAgICAgICAgY29uc3QgVUNoYXIq
IGNwID0gY29tcGxleFRleHRSdW4uY2hhcmFjdGVycygpOwotICAgICAgICBDR0Zsb2F0IHJvdW5k
ZWRTcGFjZVdpZHRoID0gcm91bmRDR0Zsb2F0KGZvbnREYXRhLT5zcGFjZVdpZHRoKCkpOwogICAg
ICAgICBib29sIHJvdW5kc0FkdmFuY2VzID0gIW1fZm9udC5pc1ByaW50ZXJGb250KCkgJiYgZm9u
dERhdGEtPnBsYXRmb3JtRGF0YSgpLnJvdW5kc0dseXBoQWR2YW5jZXMoKTsKICAgICAgICAgQ0dQ
b2ludCBnbHlwaE9yaWdpbiA9IENHUG9pbnRaZXJvOwogICAgICAgICBDRkluZGV4IGxhc3RDaGFy
YWN0ZXJJbmRleCA9IG1fcnVuLmx0cigpID8gbnVtZXJpY19saW1pdHM8Q0ZJbmRleD46Om1pbigp
IDogbnVtZXJpY19saW1pdHM8Q0ZJbmRleD46Om1heCgpOwpAQCAtNDc1LDEzICs0NzQsNiBAQCB2
b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAKICAgICAgICAgICAgIGFk
dmFuY2Uud2lkdGggKz0gZm9udERhdGEtPnN5bnRoZXRpY0JvbGRPZmZzZXQoKTsKIAotICAgICAg
ICAgICAgLy8gV2Ugc3BlY2lhbCBjYXNlIHNwYWNlcyBpbiB0d28gd2F5cyB3aGVuIGFwcGx5aW5n
IHdvcmQgcm91bmRpbmcuCi0gICAgICAgICAgICAvLyBGaXJzdCwgd2Ugcm91bmQgc3BhY2VzIHRv
IGFuIGFkanVzdGVkIHdpZHRoIGluIGFsbCBmb250cy4KLSAgICAgICAgICAgIC8vIFNlY29uZCwg
aW4gZml4ZWQtcGl0Y2ggZm9udHMgd2UgZW5zdXJlIHRoYXQgYWxsIGdseXBocyB0aGF0Ci0gICAg
ICAgICAgICAvLyBtYXRjaCB0aGUgd2lkdGggb2YgdGhlIHNwYWNlIGdseXBoIGhhdmUgdGhlIHNh
bWUgd2lkdGggYXMgdGhlIHNwYWNlIGdseXBoLgotICAgICAgICAgICAgaWYgKHJvdW5kZWRBZHZh
bmNlV2lkdGggPT0gcm91bmRlZFNwYWNlV2lkdGggJiYgKGZvbnREYXRhLT5waXRjaCgpID09IEZp
eGVkUGl0Y2ggfHwgZ2x5cGggPT0gZm9udERhdGEtPnNwYWNlR2x5cGgoKSkgJiYgbV9ydW4uYXBw
bHlXb3JkUm91bmRpbmcoKSkKLSAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoID0gZm9udERh
dGEtPmFkanVzdGVkU3BhY2VXaWR0aCgpOwotCiAgICAgICAgICAgICBpZiAoaGFzRXh0cmFTcGFj
aW5nKSB7CiAgICAgICAgICAgICAgICAgLy8gSWYgd2UncmUgYSBnbHlwaCB3aXRoIGFuIGFkdmFu
Y2UsIGdvIGFoZWFkIGFuZCBhZGQgaW4gbGV0dGVyLXNwYWNpbmcuCiAgICAgICAgICAgICAgICAg
Ly8gVGhhdCB3YXkgd2Ugd2VlZCBvdXQgemVybyB3aWR0aCBsdXJrZXJzLiAgVGhpcyBiZWhhdmlv
ciBtYXRjaGVzIHRoZSBmYXN0IHRleHQgY29kZSBwYXRoLgpAQCAtNTE0LDMzICs1MDYsNyBAQCB2
b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAgICAgICAgICAgICAgICAg
ICAgIG1fYWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAg
ICAgLy8gRGVhbCB3aXRoIHRoZSBmbG9hdC9pbnRlZ2VyIGltcGVkYW5jZSBtaXNtYXRjaCBiZXR3
ZWVuIENHIGFuZCBXZWJDb3JlLiAiV29yZHMiIChjaGFyYWN0ZXJzIAotICAgICAgICAgICAgLy8g
Zm9sbG93ZWQgYnkgYSBjaGFyYWN0ZXIgZGVmaW5lZCBieSBpc1JvdW5kaW5nSGFja0NoYXJhY3Rl
cigpKSBhcmUgYWx3YXlzIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgICAgICAvLyBXZSBhZGp1
c3QgdGhlIHdpZHRoIG9mIHRoZSBsYXN0IGNoYXJhY3RlciBvZiBhICJ3b3JkIiB0byBlbnN1cmUg
YW4gaW50ZWdlciB3aWR0aC4KLSAgICAgICAgICAgIC8vIEZvcmNlIGNoYXJhY3RlcnMgdGhhdCBh
cmUgdXNlZCB0byBkZXRlcm1pbmUgd29yZCBib3VuZGFyaWVzIGZvciB0aGUgcm91bmRpbmcgaGFj
awotICAgICAgICAgICAgLy8gdG8gYmUgaW50ZWdlciB3aWR0aCwgc28gdGhlIGZvbGxvd2luZyB3
b3JkcyB3aWxsIHN0YXJ0IG9uIGFuIGludGVnZXIgYm91bmRhcnkuCi0gICAgICAgICAgICBpZiAo
bV9ydW4uYXBwbHlXb3JkUm91bmRpbmcoKSAmJiBGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3Rl
cihjaCkpCi0gICAgICAgICAgICAgICAgYWR2YW5jZS53aWR0aCA9IGNlaWxDR0Zsb2F0KGFkdmFu
Y2Uud2lkdGgpOwotCi0gICAgICAgICAgICAvLyBDaGVjayB0byBzZWUgaWYgdGhlIG5leHQgY2hh
cmFjdGVyIGlzIGEgInJvdW5kaW5nIGhhY2sgY2hhcmFjdGVyIiwgaWYgc28sIGFkanVzdCB0aGUK
LSAgICAgICAgICAgIC8vIHdpZHRoIHNvIHRoYXQgdGhlIHRvdGFsIHJ1biB3aWR0aCB3aWxsIGJl
IG9uIGFuIGludGVnZXIgYm91bmRhcnkuCi0gICAgICAgICAgICBpZiAoKG1fcnVuLmFwcGx5V29y
ZFJvdW5kaW5nKCkgJiYgIWxhc3RHbHlwaCAmJiBGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3Rl
cihuZXh0Q2gpKSB8fCAobV9ydW4uYXBwbHlSdW5Sb3VuZGluZygpICYmIGxhc3RHbHlwaCkpIHsK
LSAgICAgICAgICAgICAgICBDR0Zsb2F0IHRvdGFsV2lkdGggPSB3aWR0aFNpbmNlTGFzdFJvdW5k
aW5nICsgYWR2YW5jZS53aWR0aDsKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5k
aW5nID0gY2VpbENHRmxvYXQodG90YWxXaWR0aCk7Ci0gICAgICAgICAgICAgICAgQ0dGbG9hdCBl
eHRyYVdpZHRoID0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyAtIHRvdGFsV2lkdGg7Ci0gICAgICAg
ICAgICAgICAgaWYgKG1fcnVuLmx0cigpKQotICAgICAgICAgICAgICAgICAgICBhZHZhbmNlLndp
ZHRoICs9IGV4dHJhV2lkdGg7Ci0gICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmIChtX2xhc3RSb3VuZGluZ0dseXBoKQotICAgICAgICAgICAgICAgICAgICAgICAg
bV9hZGp1c3RlZEFkdmFuY2VzW21fbGFzdFJvdW5kaW5nR2x5cGggLSAxXS53aWR0aCArPSBleHRy
YVdpZHRoOwotICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAg
ICBtX2ZpbmFsUm91bmRpbmdXaWR0aCA9IGV4dHJhV2lkdGg7Ci0gICAgICAgICAgICAgICAgICAg
IG1fbGFzdFJvdW5kaW5nR2x5cGggPSBtX2FkanVzdGVkQWR2YW5jZXMuc2l6ZSgpICsgMTsKLSAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgbV90b3RhbFdpZHRoICs9IHdpZHRoU2lu
Y2VMYXN0Um91bmRpbmc7Ci0gICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9
IDA7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJv
dW5kaW5nICs9IGFkdmFuY2Uud2lkdGg7CisgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5k
aW5nICs9IGFkdmFuY2Uud2lkdGg7CiAKICAgICAgICAgICAgIC8vIEZJWE1FOiBDb21iaW5pbmcg
bWFya3Mgc2hvdWxkIHJlY2VpdmUgYSB0ZXh0IGVtcGhhc2lzIG1hcmsgaWYgdGhleSBhcmUgY29t
YmluZSB3aXRoIGEgc3BhY2UuCiAgICAgICAgICAgICBpZiAobV9mb3JUZXh0RW1waGFzaXMgJiYg
KCFGb250OjpjYW5SZWNlaXZlVGV4dEVtcGhhc2lzKGNoKSB8fCAoVV9HRVRfR0NfTUFTSyhjaCkg
JiBVX0dDX01fTUFTSykpKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0dyYXBoaWNzQ29udGV4dE1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0TWFjLm1tCShyZXZpc2lvbiA3NzM4
NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRl
eHRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTExMiwxNCArMTEyLDE0IEBAIHN0YXRpYyBOU0Nv
bG9yKiBjcmVhdGVQYXR0ZXJuQ29sb3IoTlNTdHIKIH0KIAogLy8gV2ViS2l0IG9uIE1hYyBpcyBh
IHN0YW5kYXJkIHBsYXRmb3JtIGNvbXBvbmVudCwgc28gaXQgbXVzdCB1c2UgdGhlIHN0YW5kYXJk
IHBsYXRmb3JtIGFydHdvcmsgZm9yIHVuZGVybGluZS4KLXZvaWQgR3JhcGhpY3NDb250ZXh0Ojpk
cmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYgcG9pbnQsIGludCB3aWR0aCwg
VGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdM
aW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBmbG9hdCB3aWR0aCwg
VGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVk
KCkpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgLy8gVGhlc2UgYXJlIHRoZSBzYW1l
IGZvciBtaXNzcGVsbGluZyBvciBiYWQgZ3JhbW1hci4KICAgICBpbnQgcGF0dGVybkhlaWdodCA9
IGNNaXNzcGVsbGluZ0xpbmVUaGlja25lc3M7Ci0gICAgaW50IHBhdHRlcm5XaWR0aCA9IGNNaXNz
cGVsbGluZ0xpbmVQYXR0ZXJuV2lkdGg7CisgICAgZmxvYXQgcGF0dGVybldpZHRoID0gY01pc3Nw
ZWxsaW5nTGluZVBhdHRlcm5XaWR0aDsKIAogICAgIGJvb2wgdXNpbmdEb3Q7CiAgICAgTlNDb2xv
ciAqcGF0dGVybkNvbG9yOwpAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
OjpkcmF3TGluZUZvclRleHRDaGUKICAgICAvLyBzcGFjZSBiZXR3ZWVuIGFkamFjZW50IG1pc3Nw
ZWxsZWQgd29yZHMgd2FzIHVuZGVybGluZWQuCiAgICAgaWYgKHVzaW5nRG90KSB7CiAgICAgICAg
IC8vIGFsbG93IHNsaWdodGx5IG1vcmUgY29uc2lkZXJpbmcgdGhhdCB0aGUgcGF0dGVybiBlbmRz
IHdpdGggYSB0cmFuc3BhcmVudCBwaXhlbAotICAgICAgICBpbnQgd2lkdGhNb2QgPSB3aWR0aCAl
IHBhdHRlcm5XaWR0aDsKKyAgICAgICAgZmxvYXQgd2lkdGhNb2QgPSBmbW9kZih3aWR0aCwgcGF0
dGVybldpZHRoKTsKICAgICAgICAgaWYgKHBhdHRlcm5XaWR0aCAtIHdpZHRoTW9kID4gY01pc3Nw
ZWxsaW5nTGluZVBhdHRlcm5HYXBXaWR0aCkKICAgICAgICAgICAgIHdpZHRoIC09IHdpZHRoTW9k
OwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxlQ2hvb3Nlck1h
Yy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRmlsZUNob29z
ZXJNYWMubW0JKHJldmlzaW9uIDc3Mzg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L0ZpbGVDaG9vc2VyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw5ICs0Nyw5IEBAIFN0cmlu
ZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICBlbHNlIGlmIChtX2ZpbGVu
YW1lcy5zaXplKCkgPT0gMSkKICAgICAgICAgc3RyVG9UcnVuY2F0ZSA9IFtbTlNGaWxlTWFuYWdl
ciBkZWZhdWx0TWFuYWdlcl0gZGlzcGxheU5hbWVBdFBhdGg6KG1fZmlsZW5hbWVzWzBdKV07CiAg
ICAgZWxzZQotICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11
bHRpcGxlRmlsZVVwbG9hZFRleHQobV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQsIGZh
bHNlKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0
aXBsZUZpbGVVcGxvYWRUZXh0KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250KTsKIAot
ICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0clRvVHJ1bmNhdGUs
IHdpZHRoLCBmb250LCBmYWxzZSk7CisgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVy
VHJ1bmNhdGUoc3RyVG9UcnVuY2F0ZSwgd2lkdGgsIGZvbnQpOwogfQogCiB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCShyZXZpc2lvbiA3NzM4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTQ1LDYgKzU0NSwyMyBAQCBib29sIEhpdFRlc3RSZXN1bHQ6OmFkZE5vZGVUb1Jl
Y3RCYXNlZFRlCiAgICAgcmV0dXJuICFyZWN0LmNvbnRhaW5zKHJlY3RGb3JQb2ludCh4LCB5KSk7
CiB9CiAKK2Jvb2wgSGl0VGVzdFJlc3VsdDo6YWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChO
b2RlKiBub2RlLCBpbnQgeCwgaW50IHksIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKK3sKKyAgICAv
LyBJZiBpdCBpcyBub3QgYSByZWN0LWJhc2VkIGhpdCB0ZXN0LCB0aGlzIG1ldGhvZCBoYXMgdG8g
YmUgbm8tb3AuCisgICAgLy8gUmV0dXJuIGZhbHNlLCBzbyB0aGUgaGl0IHRlc3Qgc3RvcHMuCisg
ICAgaWYgKCFpc1JlY3RCYXNlZFRlc3QoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
Ly8gSWYgbm9kZSBpcyBudWxsLCByZXR1cm4gdHJ1ZSBzbyB0aGUgaGl0IHRlc3QgY2FuIGNvbnRp
bnVlLgorICAgIGlmICghbm9kZSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBub2RlID0g
bm9kZS0+c2hhZG93QW5jZXN0b3JOb2RlKCk7CisgICAgbV9yZWN0QmFzZWRUZXN0UmVzdWx0LmFk
ZChub2RlKTsKKworICAgIHJldHVybiAhcmVjdC5jb250YWlucyhyZWN0Rm9yUG9pbnQoeCwgeSkp
OworfQorCiB2b2lkIEhpdFRlc3RSZXN1bHQ6OmFwcGVuZChjb25zdCBIaXRUZXN0UmVzdWx0JiBv
dGhlcikKIHsKICAgICBBU1NFUlQoaXNSZWN0QmFzZWRUZXN0KCkgJiYgb3RoZXIuaXNSZWN0QmFz
ZWRUZXN0KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5o
CShyZXZpc2lvbiA3NzM4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVz
dWx0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIwLDYgKzIwLDcgQEAKICNpZm5kZWYgSGl0VGVzdFJl
c3VsdF9oCiAjZGVmaW5lIEhpdFRlc3RSZXN1bHRfaAogCisjaW5jbHVkZSAiRmxvYXRSZWN0Lmgi
CiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAi
SW50U2l6ZS5oIgpAQCAtMTEwLDYgKzExMSw3IEBAIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIHRy
dWUgaWYgaXQgaXMgcmVjdC1iYXNlZCBoaXQgdGVzdCBhbmQgbmVlZHMgdG8gY29udGludWUgdW50
aWwgdGhlIHJlY3QgaXMgZnVsbHkKICAgICAvLyBlbmNsb3NlZCBieSB0aGUgYm91bmRhcmllcyBv
ZiBhIG5vZGUuCiAgICAgYm9vbCBhZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KE5vZGUqLCBp
bnQgeCwgaW50IHksIGNvbnN0IEludFJlY3QmIHJlY3QgPSBJbnRSZWN0KCkpOworICAgIGJvb2wg
YWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChOb2RlKiwgaW50IHgsIGludCB5LCBjb25zdCBG
bG9hdFJlY3QmIHJlY3QpOwogICAgIGNvbnN0IExpc3RIYXNoU2V0PFJlZlB0cjxOb2RlPiA+JiBy
ZWN0QmFzZWRUZXN0UmVzdWx0KCkgY29uc3QgeyByZXR1cm4gbV9yZWN0QmFzZWRUZXN0UmVzdWx0
OyB9CiAgICAgdm9pZCBhcHBlbmQoY29uc3QgSGl0VGVzdFJlc3VsdCYpOwogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNwcAkocmV2aXNpb24gNzczODQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA2
LDcgKzEwNiw3IEBAIGludCBJbmxpbmVCb3g6OmxvZ2ljYWxIZWlnaHQoKSBjb25zdAogICAgICAg
ICByZXN1bHQgKz0gZmxvd09iamVjdC0+Ym9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxIZWlnaHQoKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotCisgCiBpbnQgSW5saW5lQm94OjpjYXJldE1pbk9mZnNl
dCgpIGNvbnN0IAogeyAKICAgICByZXR1cm4gbV9yZW5kZXJlci0+Y2FyZXRNaW5PZmZzZXQoKTsg
CkBAIC0xNTAsMTMgKzE1MCwxNSBAQCB2b2lkIElubGluZUJveDo6YXR0YWNoTGluZSgpCiAgICAg
ICAgIHRvUmVuZGVyQm94KG1fcmVuZGVyZXIpLT5zZXRJbmxpbmVCb3hXcmFwcGVyKHRoaXMpOwog
fQogCi12b2lkIElubGluZUJveDo6YWRqdXN0UG9zaXRpb24oaW50IGR4LCBpbnQgZHkpCit2b2lk
IElubGluZUJveDo6YWRqdXN0UG9zaXRpb24oZmxvYXQgZHgsIGZsb2F0IGR5KQogewogICAgIG1f
eCArPSBkeDsKICAgICBtX3kgKz0gZHk7CiAgICAgaWYgKG1fcmVuZGVyZXItPmlzUmVwbGFjZWQo
KSkgeworICAgICAgICBtX3ggPSBjZWlsZihtX3gpOworICAgICAgICBtX3kgPSBjZWlsZihtX3kp
OwogICAgICAgICBSZW5kZXJCb3gqIGJveCA9IHRvUmVuZGVyQm94KG1fcmVuZGVyZXIpOwotICAg
ICAgICBib3gtPm1vdmUoZHgsIGR5KTsKKyAgICAgICAgYm94LT5zZXRMb2NhdGlvbihtX3gsIG1f
eSk7CiAgICAgfQogfQogCkBAIC0yNzgsMjEgKzI4MCwzNSBAQCBib29sIElubGluZUJveDo6Y2Fu
QWNjb21tb2RhdGVFbGxpcHNpcyhiCiAgICAgcmV0dXJuICEoYm94UmVjdC5pbnRlcnNlY3RzKGVs
bGlwc2lzUmVjdCkpOwogfQogCi1pbnQgSW5saW5lQm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2ws
IGludCwgaW50LCBpbnQsIGJvb2wmKQorZmxvYXQgSW5saW5lQm94OjpwbGFjZUVsbGlwc2lzQm94
KGJvb2wsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGJvb2wmKQogewogICAgIC8vIFVzZSAtMSB0byBt
ZWFuICJ3ZSBkaWRuJ3Qgc2V0IHRoZSBwb3NpdGlvbi4iCiAgICAgcmV0dXJuIC0xOwogfQogCi1J
bnRQb2ludCBJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKQorRmxvYXRQb2lu
dCBJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKQogewogICAgIGlmICghcmVu
ZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKLSAgICAgICAg
cmV0dXJuIEludFBvaW50KHgoKSwgeSgpKTsKKyAgICAgICAgcmV0dXJuIEZsb2F0UG9pbnQoeCgp
LCB5KCkpOwogICAgIFJlbmRlckJsb2NrKiBibG9jayA9IHJvb3QoKS0+YmxvY2soKTsKICAgICBp
ZiAoYmxvY2stPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCi0gICAgICAgIHJl
dHVybiBJbnRQb2ludCh4KCksIGJsb2NrLT5oZWlnaHQoKSAtIGhlaWdodCgpIC0geSgpKTsKKyAg
ICAgICAgcmV0dXJuIEZsb2F0UG9pbnQoeCgpLCBibG9jay0+aGVpZ2h0KCkgLSBoZWlnaHQoKSAt
IHkoKSk7CiAgICAgZWxzZQotICAgICAgICByZXR1cm4gSW50UG9pbnQoYmxvY2stPndpZHRoKCkg
LSB3aWR0aCgpIC0geCgpLCB5KCkpOworICAgICAgICByZXR1cm4gRmxvYXRQb2ludChibG9jay0+
d2lkdGgoKSAtIHdpZHRoKCkgLSB4KCksIHkoKSk7Cit9CisKK3ZvaWQgSW5saW5lQm94OjpmbGlw
Rm9yV3JpdGluZ01vZGUoRmxvYXRSZWN0JiByZWN0KQoreworICAgIGlmICghcmVuZGVyZXIoKS0+
c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIHJvb3QoKS0+YmxvY2soKS0+ZmxpcEZvcldyaXRpbmdNb2RlKHJlY3QpOworfQorCitGbG9h
dFBvaW50IElubGluZUJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEZsb2F0UG9pbnQmIHBv
aW50KQoreworICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3Jp
dGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHBvaW50OworICAgIHJldHVybiByb290KCktPmJs
b2NrKCktPmZsaXBGb3JXcml0aW5nTW9kZShwb2ludCk7CiB9CiAKIHZvaWQgSW5saW5lQm94Ojpm
bGlwRm9yV3JpdGluZ01vZGUoSW50UmVjdCYgcmVjdCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbmxpbmVCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW5saW5lQm94LmgJKHJldmlzaW9uIDc3Mzg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OCw3ICs2OCw3IEBAIHB1YmxpYzoK
ICAgICB7CiAgICAgfQogCi0gICAgSW5saW5lQm94KFJlbmRlck9iamVjdCogb2JqLCBpbnQgeCwg
aW50IHksIGludCBsb2dpY2FsV2lkdGgsIGJvb2wgZmlyc3RMaW5lLCBib29sIGNvbnN0cnVjdGVk
LAorICAgIElubGluZUJveChSZW5kZXJPYmplY3QqIG9iaiwgZmxvYXQgeCwgZmxvYXQgeSwgZmxv
YXQgbG9naWNhbFdpZHRoLCBib29sIGZpcnN0TGluZSwgYm9vbCBjb25zdHJ1Y3RlZCwKICAgICAg
ICAgICAgICAgYm9vbCBkaXJ0eSwgYm9vbCBleHRyYWN0ZWQsIGJvb2wgaXNIb3Jpem9udGFsLCBJ
bmxpbmVCb3gqIG5leHQsIElubGluZUJveCogcHJldiwgSW5saW5lRmxvd0JveCogcGFyZW50KQog
ICAgICAgICA6IG1fbmV4dChuZXh0KQogICAgICAgICAsIG1fcHJldihwcmV2KQpAQCAtMTEyLDE1
ICsxMTIsMTUgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzTGluZUJyZWFrKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihp
bnQgZHgsIGludCBkeSk7Ci0gICAgdm9pZCBhZGp1c3RMaW5lRGlyZWN0aW9uUG9zaXRpb24oaW50
IGRlbHRhKQorICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihmbG9hdCBkeCwgZmxvYXQg
ZHkpOworICAgIHZvaWQgYWRqdXN0TGluZURpcmVjdGlvblBvc2l0aW9uKGZsb2F0IGRlbHRhKQog
ICAgIHsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKQogICAgICAgICAgICAgYWRqdXN0UG9z
aXRpb24oZGVsdGEsIDApOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBhZGp1c3RQb3NpdGlv
bigwLCBkZWx0YSk7CiAgICAgfQotICAgIHZvaWQgYWRqdXN0QmxvY2tEaXJlY3Rpb25Qb3NpdGlv
bihpbnQgZGVsdGEpCisgICAgdm9pZCBhZGp1c3RCbG9ja0RpcmVjdGlvblBvc2l0aW9uKGZsb2F0
IGRlbHRhKQogICAgIHsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKQogICAgICAgICAgICAg
YWRqdXN0UG9zaXRpb24oMCwgZGVsdGEpOwpAQCAtMjIwLDI4ICsyMjAsMjggQEAgcHVibGljOgog
ICAgIFJvb3RJbmxpbmVCb3gqIHJvb3QoKTsKIAogICAgIC8vIHgoKSBpcyB0aGUgbGVmdCBzaWRl
IG9mIHRoZSBib3ggaW4gdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBjb29yZGluYXRlIHN5c3RlbS4K
LSAgICB2b2lkIHNldFgoaW50IHgpIHsgbV94ID0geDsgfQotICAgIGludCB4KCkgY29uc3QgeyBy
ZXR1cm4gbV94OyB9CisgICAgdm9pZCBzZXRYKGZsb2F0IHgpIHsgbV94ID0geDsgfQorICAgIGZs
b2F0IHgoKSBjb25zdCB7IHJldHVybiBtX3g7IH0KIAogICAgIC8vIHkoKSBpcyB0aGUgdG9wIHNp
ZGUgb2YgdGhlIGJveCBpbiB0aGUgY29udGFpbmluZyBibG9jaydzIGNvb3JkaW5hdGUgc3lzdGVt
LgotICAgIHZvaWQgc2V0WShpbnQgeSkgeyBtX3kgPSB5OyB9Ci0gICAgaW50IHkoKSBjb25zdCB7
IHJldHVybiBtX3k7IH0KKyAgICB2b2lkIHNldFkoZmxvYXQgeSkgeyBtX3kgPSB5OyB9CisgICAg
ZmxvYXQgeSgpIGNvbnN0IHsgcmV0dXJuIG1feTsgfQogCi0gICAgaW50IHdpZHRoKCkgY29uc3Qg
eyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsV2lkdGgoKSA6IGxvZ2ljYWxIZWlnaHQo
KTsgfQotICAgIGludCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IGxv
Z2ljYWxIZWlnaHQoKSA6IGxvZ2ljYWxXaWR0aCgpOyB9Ci0KLSAgICBJbnRSZWN0IGZyYW1lUmVj
dCgpIGNvbnN0IHsgcmV0dXJuIEludFJlY3QoeCgpLCB5KCksIHdpZHRoKCksIGhlaWdodCgpKTsg
fQorICAgIGZsb2F0IHdpZHRoKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dp
Y2FsV2lkdGgoKSA6IGxvZ2ljYWxIZWlnaHQoKTsgfQorICAgIGZsb2F0IGhlaWdodCgpIGNvbnN0
IHsgcmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbG9naWNhbEhlaWdodCgpIDogbG9naWNhbFdpZHRo
KCk7IH0KIAogICAgIC8vIFRoZSBsb2dpY2FsTGVmdCBwb3NpdGlvbiBpcyB0aGUgbGVmdCBlZGdl
IG9mIHRoZSBsaW5lIGJveCBpbiBhIGhvcml6b250YWwgbGluZSBhbmQgdGhlIHRvcCBlZGdlIGlu
IGEgdmVydGljYWwgbGluZS4KLSAgICBpbnQgbG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBp
c0hvcml6b250YWwoKSA/IG1feCA6IG1feTsgfQotICAgIGludCBsb2dpY2FsUmlnaHQoKSBjb25z
dCB7IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNhbFdpZHRoKCk7IH0KLSAgICB2b2lkIHNl
dExvZ2ljYWxMZWZ0KGludCBsZWZ0KQorICAgIGZsb2F0IGxvZ2ljYWxMZWZ0KCkgY29uc3QgeyBy
ZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBtX3ggOiBtX3k7IH0KKyAgICBmbG9hdCBsb2dpY2FsUmln
aHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNhbFdpZHRoKCk7IH0KKyAg
ICB2b2lkIHNldExvZ2ljYWxMZWZ0KGZsb2F0IGxlZnQpCiAgICAgewogICAgICAgICBpZiAoaXNI
b3Jpem9udGFsKCkpCiAgICAgICAgICAgICBtX3ggPSBsZWZ0OwogICAgICAgICBlbHNlCiAgICAg
ICAgICAgICBtX3kgPSBsZWZ0OwogICAgIH0KKyAgICBpbnQgcGl4ZWxTbmFwcGVkTG9naWNhbExl
ZnQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpOyB9CisgICAgaW50IHBpeGVsU25hcHBl
ZExvZ2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGNlaWxmKGxvZ2ljYWxSaWdodCgpKTsgfQog
CiAgICAgLy8gVGhlIGxvZ2ljYWxUb3BbIHBvc2l0aW9uIGlzIHRoZSB0b3AgZWRnZSBvZiB0aGUg
bGluZSBib3ggaW4gYSBob3Jpem9udGFsIGxpbmUgYW5kIHRoZSBsZWZ0IGVkZ2UgaW4gYSB2ZXJ0
aWNhbCBsaW5lLgogICAgIGludCBsb2dpY2FsVG9wKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9u
dGFsKCkgPyBtX3kgOiBtX3g7IH0KQEAgLTI1NSw4ICsyNTUsOCBAQCBwdWJsaWM6CiAgICAgfQog
CiAgICAgLy8gVGhlIGxvZ2ljYWwgd2lkdGggaXMgb3VyIGV4dGVudCBpbiB0aGUgbGluZSdzIG92
ZXJhbGwgaW5saW5lIGRpcmVjdGlvbiwgaS5lLiwgd2lkdGggZm9yIGhvcml6b250YWwgdGV4dCBh
bmQgaGVpZ2h0IGZvciB2ZXJ0aWNhbCB0ZXh0LgotICAgIHZvaWQgc2V0TG9naWNhbFdpZHRoKGlu
dCB3KSB7IG1fbG9naWNhbFdpZHRoID0gdzsgfQotICAgIGludCBsb2dpY2FsV2lkdGgoKSBjb25z
dCB7IHJldHVybiBtX2xvZ2ljYWxXaWR0aDsgfQorICAgIHZvaWQgc2V0TG9naWNhbFdpZHRoKGZs
b2F0IHcpIHsgbV9sb2dpY2FsV2lkdGggPSB3OyB9CisgICAgZmxvYXQgbG9naWNhbFdpZHRoKCkg
Y29uc3QgeyByZXR1cm4gbV9sb2dpY2FsV2lkdGg7IH0KIAogICAgIC8vIFRoZSBsb2dpY2FsIGhl
aWdodCBpcyBvdXIgZXh0ZW50IGluIHRoZSBibG9jayBmbG93IGRpcmVjdGlvbiwgaS5lLiwgaGVp
Z2h0IGZvciBob3Jpem9udGFsIHRleHQgYW5kIHdpZHRoIGZvciB2ZXJ0aWNhbCB0ZXh0LgogICAg
IGludCBsb2dpY2FsSGVpZ2h0KCkgY29uc3Q7CkBAIC0yODYsNyArMjg2LDcgQEAgcHVibGljOgog
CiAgICAgdmlydHVhbCBib29sIGNhbkFjY29tbW9kYXRlRWxsaXBzaXMoYm9vbCBsdHIsIGludCBi
bG9ja0VkZ2UsIGludCBlbGxpcHNpc1dpZHRoKTsKICAgICAvLyB2aXNpYmxlTGVmdEVkZ2UsIHZp
c2libGVSaWdodEVkZ2UgYXJlIGluIHRoZSBwYXJlbnQncyBjb29yZGluYXRlIHN5c3RlbS4KLSAg
ICB2aXJ0dWFsIGludCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBpbnQgdmlzaWJsZUxlZnRF
ZGdlLCBpbnQgdmlzaWJsZVJpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmKTsKKyAg
ICB2aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGZsb2F0IHZpc2libGVM
ZWZ0RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9v
bCYpOwogCiAgICAgdm9pZCBzZXRIYXNCYWRQYXJlbnQoKTsKIApAQCAtMzAyLDEwICszMDIsMTIg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBJbnRQb2ludCBsb2Nh
dGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgRmxvYXRQb2ludCBsb2NhdGlvbkluY2x1ZGlu
Z0ZsaXBwaW5nKCk7CisgICAgdm9pZCBmbGlwRm9yV3JpdGluZ01vZGUoRmxvYXRSZWN0Jik7Cisg
ICAgRmxvYXRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgRmxvYXRQb2ludCYpOwogICAg
IHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEludFJlY3QmKTsKICAgICBJbnRQb2ludCBmbGlwRm9y
V3JpdGluZ01vZGUoY29uc3QgSW50UG9pbnQmKTsKLQorICAgIAogcHJpdmF0ZToKICAgICBJbmxp
bmVCb3gqIG1fbmV4dDsgLy8gVGhlIG5leHQgZWxlbWVudCBvbiB0aGUgc2FtZSBsaW5lIGFzIHVz
LgogICAgIElubGluZUJveCogbV9wcmV2OyAvLyBUaGUgcHJldmlvdXMgZWxlbWVudCBvbiB0aGUg
c2FtZSBsaW5lIGFzIHVzLgpAQCAtMzE1LDkgKzMxNyw5IEBAIHByaXZhdGU6CiBwdWJsaWM6CiAg
ICAgUmVuZGVyT2JqZWN0KiBtX3JlbmRlcmVyOwogCi0gICAgaW50IG1feDsKLSAgICBpbnQgbV95
OwotICAgIGludCBtX2xvZ2ljYWxXaWR0aDsKKyAgICBmbG9hdCBtX3g7CisgICAgZmxvYXQgbV95
OworICAgIGZsb2F0IG1fbG9naWNhbFdpZHRoOwogICAgIAogICAgIC8vIFNvbWUgb2YgdGhlc2Ug
Yml0cyBhcmUgYWN0dWFsbHkgZm9yIHN1YmNsYXNzZXMgYW5kIG1vdmVkIGhlcmUgdG8gY29tcGFj
dCB0aGUgc3RydWN0dXJlcy4KIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGlu
ZUZsb3dCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVGbG93Qm94LmNwcAkocmV2aXNpb24gNzczODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW5saW5lRmxvd0JveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY3LDYgKzY3LDE4IEBAIGlu
dCBJbmxpbmVGbG93Qm94OjpnZXRGbG93U3BhY2luZ0xvZ2ljYWwKICAgICByZXR1cm4gdG90V2lk
dGg7CiB9CiAKK0ludFJlY3QgSW5saW5lRmxvd0JveDo6cGl4ZWxTbmFwcGVkRnJhbWVSZWN0KCkg
Y29uc3QKK3sKKyAgICAvLyBCZWdpbiBieSBzbmFwcGluZyB0aGUgeCBhbmQgeSBjb29yZGluYXRl
cyB0byB0aGUgbmVhcmVzdCBwaXhlbC4KKyAgICBpbnQgc25hcHBlZFggPSBscm91bmRmKHgoKSk7
CisgICAgaW50IHNuYXBwZWRZID0gbHJvdW5kZih5KCkpOworICAgIAorICAgIGludCBzbmFwcGVk
TWF4WCA9IGxyb3VuZGYoeCgpICsgd2lkdGgoKSk7CisgICAgaW50IHNuYXBwZWRNYXhZID0gbHJv
dW5kZih5KCkgKyBoZWlnaHQoKSk7CisgICAgCisgICAgcmV0dXJuIEludFJlY3Qoc25hcHBlZFgs
IHNuYXBwZWRZLCBzbmFwcGVkTWF4WCAtIHNuYXBwZWRYLCBzbmFwcGVkTWF4WSAtIHNuYXBwZWRZ
KTsKK30KKwogdm9pZCBJbmxpbmVGbG93Qm94OjphZGRUb0xpbmUoSW5saW5lQm94KiBjaGlsZCkg
CiB7CiAgICAgQVNTRVJUKCFjaGlsZC0+cGFyZW50KCkpOwpAQCAtMjU1LDEyICsyNjcsMTIgQEAg
dm9pZCBJbmxpbmVGbG93Qm94OjpkZXRlcm1pbmVTcGFjaW5nRm9yRgogICAgIH0KIH0KIAotaW50
IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklubGluZURpcmVjdGlvbihpbnQgbG9naWNhbExl
ZnQsIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRz
TWFwJiB0ZXh0Qm94RGF0YU1hcCkKK2Zsb2F0IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklu
bGluZURpcmVjdGlvbihmbG9hdCBsb2dpY2FsTGVmdCwgYm9vbCYgbmVlZHNXb3JkU3BhY2luZywg
R2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmIHRleHRCb3hEYXRhTWFwKQogewogICAg
IC8vIFNldCBvdXIgeCBwb3NpdGlvbi4KICAgICBzZXRMb2dpY2FsTGVmdChsb2dpY2FsTGVmdCk7
CiAgIAotICAgIGludCBzdGFydExvZ2ljYWxMZWZ0ID0gbG9naWNhbExlZnQ7CisgICAgZmxvYXQg
c3RhcnRMb2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0OwogICAgIGxvZ2ljYWxMZWZ0ICs9IGJvcmRl
ckxvZ2ljYWxMZWZ0KCkgKyBwYWRkaW5nTG9naWNhbExlZnQoKTsKICAgICAKICAgICBmb3IgKElu
bGluZUJveCogY3VyciA9IGZpcnN0Q2hpbGQoKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRPbkxp
bmUoKSkgewpAQCAtNzI0LDggKzczNiw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6YWRkQm94U2hh
ZG93VmlzdWFsT3YKICAgICBpbnQgYm94U2hhZG93TG9naWNhbFJpZ2h0OwogICAgIHJlbmRlcmVy
KCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Z2V0Qm94U2hhZG93SW5saW5lRGlyZWN0aW9uRXh0ZW50
KGJveFNoYWRvd0xvZ2ljYWxMZWZ0LCBib3hTaGFkb3dMb2dpY2FsUmlnaHQpOwogCi0gICAgaW50
IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQoKSArIGJveFNoYWRv
d0xvZ2ljYWxMZWZ0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cueCgpKTsKLSAgICBpbnQgbG9naWNh
bFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9naWNhbFJpZ2h0KCkgKyBib3hTaGFkb3dMb2dp
Y2FsUmlnaHQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhYKCkpOworICAgIGludCBsb2dpY2Fs
TGVmdFZpc3VhbE92ZXJmbG93ID0gbWluKHBpeGVsU25hcHBlZExvZ2ljYWxMZWZ0KCkgKyBib3hT
aGFkb3dMb2dpY2FsTGVmdCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LngoKSk7CisgICAgaW50IGxv
Z2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbWF4KHBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCgp
ICsgYm94U2hhZG93TG9naWNhbFJpZ2h0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cubWF4WCgpKTsK
ICAgICAKICAgICBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cgPSBJbnRSZWN0KGxvZ2ljYWxMZWZ0Vmlz
dWFsT3ZlcmZsb3csIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93IC0gbG9naWNhbExl
ZnRWaXN1YWxPdmVyZmxvdywgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93IC0gbG9naWNhbFRv
cFZpc3VhbE92ZXJmbG93KTsKQEAgLTc4MSw4ICs3OTMsOCBAQCB2b2lkIElubGluZUZsb3dCb3g6
OmFkZFRleHRCb3hWaXN1YWxPdmVyCiAKICAgICBpbnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93
ID0gbWluKHRleHRCb3gtPmxvZ2ljYWxUb3AoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsVG9wLCBs
b2dpY2FsVmlzdWFsT3ZlcmZsb3cueSgpKTsKICAgICBpbnQgbG9naWNhbEJvdHRvbVZpc3VhbE92
ZXJmbG93ID0gbWF4KHRleHRCb3gtPmxvZ2ljYWxCb3R0b20oKSArIGNoaWxkT3ZlcmZsb3dMb2dp
Y2FsQm90dG9tLCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cubWF4WSgpKTsKLSAgICBpbnQgbG9naWNh
bExlZnRWaXN1YWxPdmVyZmxvdyA9IG1pbih0ZXh0Qm94LT5sb2dpY2FsTGVmdCgpICsgY2hpbGRP
dmVyZmxvd0xvZ2ljYWxMZWZ0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cueCgpKTsKLSAgICBpbnQg
bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgodGV4dEJveC0+bG9naWNhbFJpZ2h0KCkg
KyBjaGlsZE92ZXJmbG93TG9naWNhbFJpZ2h0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cubWF4WCgp
KTsKKyAgICBpbnQgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9IG1pbih0ZXh0Qm94LT5waXhl
bFNuYXBwZWRMb2dpY2FsTGVmdCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxMZWZ0LCBsb2dpY2Fs
VmlzdWFsT3ZlcmZsb3cueCgpKTsKKyAgICBpbnQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cg
PSBtYXgodGV4dEJveC0+cGl4ZWxTbmFwcGVkTG9naWNhbFJpZ2h0KCkgKyBjaGlsZE92ZXJmbG93
TG9naWNhbFJpZ2h0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cubWF4WCgpKTsKICAgICAKICAgICBs
b2dpY2FsVmlzdWFsT3ZlcmZsb3cgPSBJbnRSZWN0KGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cs
IGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93IC0gbG9naWNhbExlZnRWaXN1YWxPdmVy
ZmxvdywgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93IC0gbG9naWNhbFRvcFZpc3VhbE92ZXJm
bG93KTsKQEAgLTg2NCw3ICs4NzYsNyBAQCB2b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVPdmVy
ZmxvdyhpbnQgCiAvLyBhbGwgZnVuY3Rpb25zIHRoYXQgcXVlcnkgb3ZlcmZsb3cuICAgCiB2b2lk
IElubGluZUZsb3dCb3g6OnNldExheW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmIHJlY3QpCiB7
Ci0gICAgSW50UmVjdCBmcmFtZUJveCA9IGZyYW1lUmVjdCgpOworICAgIEludFJlY3QgZnJhbWVC
b3ggPSBwaXhlbFNuYXBwZWRGcmFtZVJlY3QoKTsKICAgICBpZiAoZnJhbWVCb3ggPT0gcmVjdCB8
fCByZWN0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogICAgICAgICAKQEAgLTg3Niw3ICs4
ODgsNyBAQCB2b2lkIElubGluZUZsb3dCb3g6OnNldExheW91dE92ZXJmbG93KGNvCiAKIHZvaWQg
SW5saW5lRmxvd0JveDo6c2V0VmlzdWFsT3ZlcmZsb3coY29uc3QgSW50UmVjdCYgcmVjdCkKIHsK
LSAgICBJbnRSZWN0IGZyYW1lQm94ID0gZnJhbWVSZWN0KCk7CisgICAgSW50UmVjdCBmcmFtZUJv
eCA9IHBpeGVsU25hcHBlZEZyYW1lUmVjdCgpOwogICAgIGlmIChmcmFtZUJveCA9PSByZWN0IHx8
IHJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAgICAgICAgIApAQCAtOTEyLDkgKzky
NCw5IEBAIGJvb2wgSW5saW5lRmxvd0JveDo6bm9kZUF0UG9pbnQoY29uc3QgSGkKICAgICB9CiAK
ICAgICAvLyBOb3cgY2hlY2sgb3Vyc2VsdmVzLgotICAgIEludFBvaW50IGJveE9yaWdpbiA9IGxv
Y2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKKyAgICBGbG9hdFBvaW50IGJveE9yaWdpbiA9IGxv
Y2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKICAgICBib3hPcmlnaW4ubW92ZSh0eCwgdHkpOwot
ICAgIEludFJlY3QgcmVjdChib3hPcmlnaW4sIEludFNpemUod2lkdGgoKSwgaGVpZ2h0KCkpKTsK
KyAgICBGbG9hdFJlY3QgcmVjdChib3hPcmlnaW4sIEludFNpemUod2lkdGgoKSwgaGVpZ2h0KCkp
KTsKICAgICBpZiAodmlzaWJsZVRvSGl0VGVzdGluZygpICYmIHJlY3QuaW50ZXJzZWN0cyhyZXN1
bHQucmVjdEZvclBvaW50KHgsIHkpKSkgewogICAgICAgICByZW5kZXJlcigpLT51cGRhdGVIaXRU
ZXN0UmVzdWx0KHJlc3VsdCwgZmxpcEZvcldyaXRpbmdNb2RlKEludFBvaW50KHggLSB0eCwgeSAt
IHR5KSkpOyAvLyBEb24ndCBhZGQgaW4gbV94IG9yIG1feSBoZXJlLCB3ZSB3YW50IGNvb3JkcyBp
biB0aGUgY29udGFpbmluZyBibG9jaydzIHNwYWNlLgogICAgICAgICBpZiAoIXJlc3VsdC5hZGRO
b2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KHJlbmRlcmVyKCktPm5vZGUoKSwgeCwgeSwgcmVjdCkp
CkBAIC0xMDQzLDEwICsxMDU1LDEyIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6cGFpbnRCb3hEZWNv
cmF0aW9ucygKICAgICBpZiAoIXBhaW50SW5mby5zaG91bGRQYWludFdpdGhpblJvb3QocmVuZGVy
ZXIoKSkgfHwgcmVuZGVyZXIoKS0+c3R5bGUoKS0+dmlzaWJpbGl0eSgpICE9IFZJU0lCTEUgfHwg
cGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2VGb3JlZ3JvdW5kKQogICAgICAgICByZXR1cm47
CiAKLSAgICBpbnQgeCA9IG1feDsKLSAgICBpbnQgeSA9IG1feTsKLSAgICBpbnQgdyA9IHdpZHRo
KCk7Ci0gICAgaW50IGggPSBoZWlnaHQoKTsKKyAgICAvLyBQaXhlbCBzbmFwIGJhY2tncm91bmQv
Ym9yZGVyIHBhaW50aW5nLgorICAgIEludFJlY3QgZnJhbWVSZWN0ID0gcGl4ZWxTbmFwcGVkRnJh
bWVSZWN0KCk7CisgICAgaW50IHggPSBmcmFtZVJlY3QueCgpOworICAgIGludCB5ID0gZnJhbWVS
ZWN0LnkoKTsKKyAgICBpbnQgdyA9IGZyYW1lUmVjdC53aWR0aCgpOworICAgIGludCBoID0gZnJh
bWVSZWN0LmhlaWdodCgpOwogCiAgICAgLy8gQ29uc3RyYWluIG91ciBiYWNrZ3JvdW5kL2JvcmRl
ciBwYWludGluZyB0byB0aGUgbGluZSB0b3AgYW5kIGJvdHRvbSBpZiBuZWNlc3NhcnkuCiAgICAg
Ym9vbCBub1F1aXJrc01vZGUgPSByZW5kZXJlcigpLT5kb2N1bWVudCgpLT5pbk5vUXVpcmtzTW9k
ZSgpOwpAQCAtMTEyNiwxMCArMTE0MCwxMiBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBhaW50TWFz
ayhQYWludEluZm8mCiAgICAgaWYgKCFwYWludEluZm8uc2hvdWxkUGFpbnRXaXRoaW5Sb290KHJl
bmRlcmVyKCkpIHx8IHJlbmRlcmVyKCktPnN0eWxlKCktPnZpc2liaWxpdHkoKSAhPSBWSVNJQkxF
IHx8IHBhaW50SW5mby5waGFzZSAhPSBQYWludFBoYXNlTWFzaykKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgaW50IHggPSBtX3g7Ci0gICAgaW50IHkgPSBtX3k7Ci0gICAgaW50IHcgPSB3aWR0aCgp
OwotICAgIGludCBoID0gaGVpZ2h0KCk7CisgICAgLy8gUGl4ZWwgc25hcCBtYXNrIHBhaW50aW5n
LgorICAgIEludFJlY3QgZnJhbWVSZWN0ID0gcGl4ZWxTbmFwcGVkRnJhbWVSZWN0KCk7CisgICAg
aW50IHggPSBmcmFtZVJlY3QueCgpOworICAgIGludCB5ID0gZnJhbWVSZWN0LnkoKTsKKyAgICBp
bnQgdyA9IGZyYW1lUmVjdC53aWR0aCgpOworICAgIGludCBoID0gZnJhbWVSZWN0LmhlaWdodCgp
OwogCiAgICAgLy8gQ29uc3RyYWluIG91ciBiYWNrZ3JvdW5kL2JvcmRlciBwYWludGluZyB0byB0
aGUgbGluZSB0b3AgYW5kIGJvdHRvbSBpZiBuZWNlc3NhcnkuCiAgICAgYm9vbCBub1F1aXJrc01v
ZGUgPSByZW5kZXJlcigpLT5kb2N1bWVudCgpLT5pbk5vUXVpcmtzTW9kZSgpOwpAQCAtMTIzMCwx
NCArMTI0NiwxNCBAQCBib29sIElubGluZUZsb3dCb3g6OmNhbkFjY29tbW9kYXRlRWxsaXBzCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLWludCBJbmxpbmVGbG93Qm94OjpwbGFjZUVsbGlwc2lzQm94
KGJvb2wgbHRyLCBpbnQgYmxvY2tMZWZ0RWRnZSwgaW50IGJsb2NrUmlnaHRFZGdlLCBpbnQgZWxs
aXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpCitmbG9hdCBJbmxpbmVGbG93Qm94OjpwbGFjZUVs
bGlwc2lzQm94KGJvb2wgbHRyLCBmbG9hdCBibG9ja0xlZnRFZGdlLCBmbG9hdCBibG9ja1JpZ2h0
RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpCiB7Ci0gICAgaW50IHJl
c3VsdCA9IC0xOworICAgIGZsb2F0IHJlc3VsdCA9IC0xOwogICAgIC8vIFdlIGl0ZXJhdGUgb3Zl
ciBhbGwgY2hpbGRyZW4sIHRoZSBmb3VuZEJveCB2YXJpYWJsZSB0ZWxscyB1cyB3aGVuIHdlJ3Zl
IGZvdW5kIHRoZQogICAgIC8vIGJveCBjb250YWluaW5nIHRoZSBlbGxpcHNpcy4gIEFsbCBib3hl
cyBhZnRlciB0aGF0IG9uZSBpbiB0aGUgZmxvdyBhcmUgaGlkZGVuLgogICAgIC8vIElmIG91ciBm
bG93IGlzIGx0ciB0aGVuIGl0ZXJhdGUgb3ZlciB0aGUgYm94ZXMgZnJvbSBsZWZ0IHRvIHJpZ2h0
LCBvdGhlcndpc2UgaXRlcmF0ZQogICAgIC8vIGZyb20gcmlnaHQgdG8gbGVmdC4gVmFyeWluZyB0
aGUgb3JkZXIgYWxsb3dzIHVzIHRvIGNvcnJlY3RseSBoaWRlIHRoZSBib3hlcyBmb2xsb3dpbmcg
dGhlIGVsbGlwc2lzLgotICAgIElubGluZUJveCAqYm94ID0gbHRyID8gZmlyc3RDaGlsZCgpIDog
bGFzdENoaWxkKCk7CisgICAgSW5saW5lQm94KiBib3ggPSBsdHIgPyBmaXJzdENoaWxkKCkgOiBs
YXN0Q2hpbGQoKTsKIAogICAgIC8vIE5PVEU6IHRoZXNlIHdpbGwgY3Jvc3MgYWZ0ZXIgZm91bmRC
b3ggPSB0cnVlLgogICAgIGludCB2aXNpYmxlTGVmdEVkZ2UgPSBibG9ja0xlZnRFZGdlOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCShyZXZpc2lvbiA3NzM5
NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTkzLDYgKzkzLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGNsZWFy
VHJ1bmNhdGlvbigpOwogCisgICAgSW50UmVjdCBwaXhlbFNuYXBwZWRGcmFtZVJlY3QoKSBjb25z
dDsKKyAgICAKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRCb3hEZWNvcmF0aW9ucyhQYWludEluZm8m
LCBpbnQgdHgsIGludCB0eSk7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50TWFzayhQYWludEluZm8m
LCBpbnQgdHgsIGludCB0eSk7CiAgICAgdm9pZCBwYWludEZpbGxMYXllcnMoY29uc3QgUGFpbnRJ
bmZvJiwgY29uc3QgQ29sb3ImLCBjb25zdCBGaWxsTGF5ZXIqLCBpbnQgdHgsIGludCB0eSwgaW50
IHcsIGludCBoLCBDb21wb3NpdGVPcGVyYXRvciA9IENvbXBvc2l0ZVNvdXJjZU92ZXIpOwpAQCAt
MTU1LDcgKzE1Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRldGVybWluZVNwYWNpbmdGb3JGbG93
Qm94ZXMoYm9vbCBsYXN0TGluZSwgUmVuZGVyT2JqZWN0KiBlbmRPYmplY3QpOwogICAgIGludCBn
ZXRGbG93U3BhY2luZ0xvZ2ljYWxXaWR0aCgpOwogICAgIGJvb2wgb25FbmRDaGFpbihSZW5kZXJP
YmplY3QqIGVuZE9iamVjdCk7Ci0gICAgaW50IHBsYWNlQm94ZXNJbklubGluZURpcmVjdGlvbihp
bnQgbG9naWNhbExlZnQsIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcsIEdseXBoT3ZlcmZsb3dBbmRG
YWxsYmFja0ZvbnRzTWFwJik7CisgICAgZmxvYXQgcGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9u
KGZsb2F0IGxvZ2ljYWxMZWZ0LCBib29sJiBuZWVkc1dvcmRTcGFjaW5nLCBHbHlwaE92ZXJmbG93
QW5kRmFsbGJhY2tGb250c01hcCYpOwogICAgIHZvaWQgY29tcHV0ZUxvZ2ljYWxCb3hIZWlnaHRz
KGludCYgbWF4UG9zaXRpb25Ub3AsIGludCYgbWF4UG9zaXRpb25Cb3R0b20sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBtYXhBc2NlbnQsIGludCYgbWF4RGVzY2VudCwg
Ym9vbCYgc2V0TWF4QXNjZW50LCBib29sJiBzZXRNYXhEZXNjZW50LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJvb2wgc3RyaWN0TW9kZSwgR2x5cGhPdmVyZmxvd0FuZEZhbGxi
YWNrRm9udHNNYXAmLCBGb250QmFzZWxpbmUsIFZlcnRpY2FsUG9zaXRpb25DYWNoZSYpOwpAQCAt
MTc2LDcgKzE3OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdDo6U2VsZWN0
aW9uU3RhdGUgc2VsZWN0aW9uU3RhdGUoKTsKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5BY2NvbW1v
ZGF0ZUVsbGlwc2lzKGJvb2wgbHRyLCBpbnQgYmxvY2tFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCk7
Ci0gICAgdmlydHVhbCBpbnQgcGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgaW50IGJsb2NrTGVm
dEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmKTsKKyAg
ICB2aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVm
dEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJik7
CiAKICAgICBib29sIGhhc1RleHRDaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1faGFzVGV4dENo
aWxkcmVuOyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJv
eC5jcHAJKHJldmlzaW9uIDc3Mzg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGlu
ZVRleHRCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBJbmxp
bmVUZXh0Qm94OjphdHRhY2hMaW5lKCkKICAgICB0b1JlbmRlclRleHQocmVuZGVyZXIoKSktPmF0
dGFjaFRleHRCb3godGhpcyk7CiB9CiAKLWludCBJbmxpbmVUZXh0Qm94OjpwbGFjZUVsbGlwc2lz
Qm94KGJvb2wgZmxvd0lzTFRSLCBpbnQgdmlzaWJsZUxlZnRFZGdlLCBpbnQgdmlzaWJsZVJpZ2h0
RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KQorZmxvYXQgSW5saW5lVGV4
dEJveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGZsb3dJc0xUUiwgZmxvYXQgdmlzaWJsZUxlZnRF
ZGdlLCBmbG9hdCB2aXNpYmxlUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJiBm
b3VuZEJveCkKIHsKICAgICBpZiAoZm91bmRCb3gpIHsKICAgICAgICAgbV90cnVuY2F0aW9uID0g
Y0Z1bGxUcnVuY2F0aW9uOwpAQCAtMjA5LDcgKzIwOSw3IEBAIGludCBJbmxpbmVUZXh0Qm94Ojpw
bGFjZUVsbGlwc2lzQm94KGJvb2wKICAgICB9CiAKICAgICAvLyBGb3IgTFRSIHRoaXMgaXMgdGhl
IGxlZnQgZWRnZSBvZiB0aGUgYm94LCBmb3IgUlRMLCB0aGUgcmlnaHQgZWRnZSBpbiBwYXJlbnQg
Y29vcmRpbmF0ZXMuCi0gICAgaW50IGVsbGlwc2lzWCA9IGZsb3dJc0xUUiA/IHZpc2libGVSaWdo
dEVkZ2UgLSBlbGxpcHNpc1dpZHRoIDogdmlzaWJsZUxlZnRFZGdlICsgZWxsaXBzaXNXaWR0aDsK
KyAgICBmbG9hdCBlbGxpcHNpc1ggPSBmbG93SXNMVFIgPyB2aXNpYmxlUmlnaHRFZGdlIC0gZWxs
aXBzaXNXaWR0aCA6IHZpc2libGVMZWZ0RWRnZSArIGVsbGlwc2lzV2lkdGg7CiAgICAgCiAgICAg
Ly8gQ3JpdGVyaWEgZm9yIGZ1bGwgdHJ1bmNhdGlvbjoKICAgICAvLyBMVFI6IHRoZSBsZWZ0IGVk
Z2Ugb2YgdGhlIGVsbGlwc2lzIGlzIHRvIHRoZSBsZWZ0IG9mIG91ciB0ZXh0IHJ1bi4KQEAgLTI1
MSw3ICsyNTEsNyBAQCBpbnQgSW5saW5lVGV4dEJveDo6cGxhY2VFbGxpcHNpc0JveChib29sCiAK
ICAgICAgICAgLy8gSWYgd2UgZ290IGhlcmUgdGhhdCBtZWFucyB0aGF0IHdlIHdlcmUgb25seSBw
YXJ0aWFsbHkgdHJ1bmNhdGVkIGFuZCB3ZSBuZWVkIHRvIHJldHVybiB0aGUgcGl4ZWwgb2Zmc2V0
IGF0IHdoaWNoCiAgICAgICAgIC8vIHRvIHBsYWNlIHRoZSBlbGxpcHNpcy4KLSAgICAgICAgaW50
IHdpZHRoT2ZWaXNpYmxlVGV4dCA9IHRvUmVuZGVyVGV4dChyZW5kZXJlcigpKS0+d2lkdGgobV9z
dGFydCwgb2Zmc2V0LCB0ZXh0UG9zKCksIG1fZmlyc3RMaW5lKTsKKyAgICAgICAgZmxvYXQgd2lk
dGhPZlZpc2libGVUZXh0ID0gdG9SZW5kZXJUZXh0KHJlbmRlcmVyKCkpLT53aWR0aChtX3N0YXJ0
LCBvZmZzZXQsIHRleHRQb3MoKSwgbV9maXJzdExpbmUpOwogCiAgICAgICAgIC8vIFRoZSBlbGxp
cHNpcyBuZWVkcyB0byBiZSBwbGFjZWQganVzdCBhZnRlciB0aGUgbGFzdCB2aXNpYmxlIGNoYXJh
Y3Rlci4KICAgICAgICAgLy8gV2hlcmUgImFmdGVyIiBpcyBkZWZpbmVkIGJ5IHRoZSBmbG93IGRp
cmVjdGlvbmFsaXR5LCBub3QgdGhlIGlubGluZQpAQCAtMzE5LDkgKzMxOSw5IEBAIGJvb2wgSW5s
aW5lVGV4dEJveDo6bm9kZUF0UG9pbnQoY29uc3QgSGkKICAgICBpZiAoaXNMaW5lQnJlYWsoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgSW50UG9pbnQgYm94T3JpZ2luID0gbG9jYXRp
b25JbmNsdWRpbmdGbGlwcGluZygpOworICAgIEZsb2F0UG9pbnQgYm94T3JpZ2luID0gbG9jYXRp
b25JbmNsdWRpbmdGbGlwcGluZygpOwogICAgIGJveE9yaWdpbi5tb3ZlKHR4LCB0eSk7Ci0gICAg
SW50UmVjdCByZWN0KGJveE9yaWdpbiwgSW50U2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSkpOworICAg
IEZsb2F0UmVjdCByZWN0KGJveE9yaWdpbiwgSW50U2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSkpOwog
ICAgIGlmIChtX3RydW5jYXRpb24gIT0gY0Z1bGxUcnVuY2F0aW9uICYmIHZpc2libGVUb0hpdFRl
c3RpbmcoKSAmJiByZWN0LmludGVyc2VjdHMocmVzdWx0LnJlY3RGb3JQb2ludCh4LCB5KSkpIHsK
ICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlSGl0VGVzdFJlc3VsdChyZXN1bHQsIGZsaXBGb3JX
cml0aW5nTW9kZShJbnRQb2ludCh4IC0gdHgsIHkgLSB0eSkpKTsKICAgICAgICAgaWYgKCFyZXN1
bHQuYWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChyZW5kZXJlcigpLT5ub2RlKCksIHgsIHks
IHJlY3QpKQpAQCAtMzU3LDggKzM1Nyw4IEBAIEZsb2F0U2l6ZSBJbmxpbmVUZXh0Qm94OjphcHBs
eVNoYWRvd1RvR3IKICAgICByZXR1cm4gZXh0cmFPZmZzZXQ7CiB9CiAKLXN0YXRpYyB2b2lkIHBh
aW50VGV4dFdpdGhTaGFkb3dzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRm9udCYg
Zm9udCwgY29uc3QgVGV4dFJ1biYgdGV4dFJ1biwgY29uc3QgQXRvbWljU3RyaW5nJiBlbXBoYXNp
c01hcmssIGludCBlbXBoYXNpc01hcmtPZmZzZXQsIGludCBzdGFydE9mZnNldCwgaW50IGVuZE9m
ZnNldCwgaW50IHRydW5jYXRpb25Qb2ludCwgY29uc3QgSW50UG9pbnQmIHRleHRPcmlnaW4sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRSZWN0JiBib3hSZWN0LCBj
b25zdCBTaGFkb3dEYXRhKiBzaGFkb3csIGJvb2wgc3Ryb2tlZCwgYm9vbCBob3Jpem9udGFsKQor
c3RhdGljIHZvaWQgcGFpbnRUZXh0V2l0aFNoYWRvd3MoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
LCBjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiB0ZXh0UnVuLCBjb25zdCBBdG9taWNT
dHJpbmcmIGVtcGhhc2lzTWFyaywgaW50IGVtcGhhc2lzTWFya09mZnNldCwgaW50IHN0YXJ0T2Zm
c2V0LCBpbnQgZW5kT2Zmc2V0LCBpbnQgdHJ1bmNhdGlvblBvaW50LCBjb25zdCBGbG9hdFBvaW50
JiB0ZXh0T3JpZ2luLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRmxv
YXRSZWN0JiBib3hSZWN0LCBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3csIGJvb2wgc3Ryb2tlZCwg
Ym9vbCBob3Jpem9udGFsKQogewogICAgIENvbG9yIGZpbGxDb2xvciA9IGNvbnRleHQtPmZpbGxD
b2xvcigpOwogICAgIENvbG9yU3BhY2UgZmlsbENvbG9yU3BhY2UgPSBjb250ZXh0LT5maWxsQ29s
b3JTcGFjZSgpOwpAQCAtNDgyLDEwICs0ODIsMTAgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWlu
dChQYWludEluZm8mIHBhaQogICAgIAogICAgIHR5IC09IHN0eWxlVG9Vc2UtPmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkgPyAwIDogbG9naWNhbEhlaWdodCgpOwogCi0gICAgSW50UG9pbnQgYm94
T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOworICAgIEZsb2F0UG9pbnQgYm94
T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOwogICAgIGJveE9yaWdpbi5tb3Zl
KHR4LCB0eSk7ICAgIAotICAgIEludFJlY3QgYm94UmVjdChib3hPcmlnaW4sIEludFNpemUobG9n
aWNhbFdpZHRoKCksIGxvZ2ljYWxIZWlnaHQoKSkpOwotICAgIEludFBvaW50IHRleHRPcmlnaW4g
PSBJbnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpICsgc3R5bGVUb1VzZS0+Zm9u
dE1ldHJpY3MoKS5hc2NlbnQoKSk7CisgICAgRmxvYXRSZWN0IGJveFJlY3QoYm94T3JpZ2luLCBJ
bnRTaXplKGxvZ2ljYWxXaWR0aCgpLCBsb2dpY2FsSGVpZ2h0KCkpKTsKKyAgICBGbG9hdFBvaW50
IHRleHRPcmlnaW4gPSBGbG9hdFBvaW50KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgKyBz
dHlsZVRvVXNlLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsKIAogICAgIFJlbmRlckNvbWJpbmVU
ZXh0KiBjb21iaW5lZFRleHQgPSBzdHlsZVRvVXNlLT5oYXNUZXh0Q29tYmluZSgpID8gdG9SZW5k
ZXJDb21iaW5lVGV4dCh0ZXh0UmVuZGVyZXIoKSkgOiAwOwogICAgIGJvb2wgc2hvdWxkUm90YXRl
ID0gIWlzSG9yaXpvbnRhbCgpICYmICghY29tYmluZWRUZXh0IHx8ICFjb21iaW5lZFRleHQtPmlz
Q29tYmluZWQoKSk7CkBAIC03MzYsNyArNzM2LDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpzZWxl
Y3Rpb25TdGFydEVuZChpbgogICAgIGVQb3MgPSBtaW4oZW5kUG9zIC0gbV9zdGFydCwgKGludClt
X2xlbik7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb24oR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSog
c3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQpCit2b2lkIElubGluZVRleHRCb3g6OnBhaW50U2VsZWN0
aW9uKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2lu
LCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQpCiB7CiAgICAgLy8gU2VlIGlm
IHdlIGhhdmUgYSBzZWxlY3Rpb24gdG8gcGFpbnQgYXQgYWxsLgogICAgIGludCBzUG9zLCBlUG9z
OwpAQCAtNzcwLDE1ICs3NzAsMTUgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlv
bihHcmFwaAogCiAgICAgaW50IGRlbHRhWSA9IHJlbmRlcmVyKCktPnN0eWxlKCktPmlzRmxpcHBl
ZExpbmVzV3JpdGluZ01vZGUoKSA/IHNlbGVjdGlvbkJvdHRvbSgpIC0gbG9naWNhbEJvdHRvbSgp
IDogbG9naWNhbFRvcCgpIC0gc2VsZWN0aW9uVG9wKCk7CiAgICAgaW50IHNlbEhlaWdodCA9IHNl
bGVjdGlvbkhlaWdodCgpOwotICAgIEludFBvaW50IGxvY2FsT3JpZ2luKGJveE9yaWdpbi54KCks
IGJveE9yaWdpbi55KCkgLSBkZWx0YVkpOwotICAgIGNvbnRleHQtPmNsaXAoSW50UmVjdChsb2Nh
bE9yaWdpbiwgSW50U2l6ZShtX2xvZ2ljYWxXaWR0aCwgc2VsSGVpZ2h0KSkpOworICAgIEZsb2F0
UG9pbnQgbG9jYWxPcmlnaW4oYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSk7
CisgICAgY29udGV4dC0+Y2xpcChGbG9hdFJlY3QobG9jYWxPcmlnaW4sIEZsb2F0U2l6ZShtX2xv
Z2ljYWxXaWR0aCwgc2VsSGVpZ2h0KSkpOwogICAgIGNvbnRleHQtPmRyYXdIaWdobGlnaHRGb3JU
ZXh0KGZvbnQsIFRleHRSdW4oY2hhcmFjdGVycywgbGVuZ3RoLCB0ZXh0UmVuZGVyZXIoKS0+YWxs
b3dUYWJzKCksIHRleHRQb3MoKSwgbV9leHBhbnNpb24sIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZp
b3IoKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWlzTGVmdFRvUmlnaHRE
aXJlY3Rpb24oKSwgbV9kaXJPdmVycmlkZSB8fCBzdHlsZS0+dmlzdWFsbHlPcmRlcmVkKCkpLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsT3JpZ2luLCBzZWxIZWlnaHQs
IGMsIHN0eWxlLT5jb2xvclNwYWNlKCksIHNQb3MsIGVQb3MpOwogICAgIGNvbnRleHQtPnJlc3Rv
cmUoKTsKIH0KIAotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uQmFja2dyb3Vu
ZChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJl
bmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgaW50IHN0YXJ0UG9zLCBpbnQgZW5k
UG9zKQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uQmFja2dyb3VuZChHcmFw
aGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVy
U3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250LCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3Mp
CiB7CiAgICAgaW50IG9mZnNldCA9IG1fc3RhcnQ7CiAgICAgaW50IHNQb3MgPSBtYXgoc3RhcnRQ
b3MgLSBvZmZzZXQsIDApOwpAQCAtNzk1LDcgKzc5NSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6
cGFpbnRDb21wb3NpdGlvbkJhY2sKIAogICAgIGludCBkZWx0YVkgPSByZW5kZXJlcigpLT5zdHls
ZSgpLT5pc0ZsaXBwZWRMaW5lc1dyaXRpbmdNb2RlKCkgPyBzZWxlY3Rpb25Cb3R0b20oKSAtIGxv
Z2ljYWxCb3R0b20oKSA6IGxvZ2ljYWxUb3AoKSAtIHNlbGVjdGlvblRvcCgpOwogICAgIGludCBz
ZWxIZWlnaHQgPSBzZWxlY3Rpb25IZWlnaHQoKTsKLSAgICBJbnRQb2ludCBsb2NhbE9yaWdpbihi
b3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKKyAgICBGbG9hdFBvaW50IGxv
Y2FsT3JpZ2luKGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVkpOwogICAgIGNv
bnRleHQtPmRyYXdIaWdobGlnaHRGb3JUZXh0KGZvbnQsIFRleHRSdW4odGV4dFJlbmRlcmVyKCkt
PnRleHQoKS0+Y2hhcmFjdGVycygpICsgbV9zdGFydCwgbV9sZW4sIHRleHRSZW5kZXJlcigpLT5h
bGxvd1RhYnMoKSwgdGV4dFBvcygpLCBtX2V4cGFuc2lvbiwgdHJhaWxpbmdFeHBhbnNpb25CZWhh
dmlvcigpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFpc0xlZnRUb1JpZ2h0
RGlyZWN0aW9uKCksIG1fZGlyT3ZlcnJpZGUgfHwgc3R5bGUtPnZpc3VhbGx5T3JkZXJlZCgpKSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbE9yaWdpbiwgc2VsSGVpZ2h0
LCBjLCBzdHlsZS0+Y29sb3JTcGFjZSgpLCBzUG9zLCBlUG9zKTsKQEAgLTgyMiwxNCArODIyLDE0
IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDdXN0b21IaWdobGlnaHQKIAogI2VuZGlmCiAK
LXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgaW50IGRlY28sIGNvbnN0IFNoYWRvd0Rh
dGEqIHNoYWRvdykKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKEdyYXBoaWNz
Q29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBpbnQgZGVjbywg
Y29uc3QgU2hhZG93RGF0YSogc2hhZG93KQogewogICAgIGlmIChtX3RydW5jYXRpb24gPT0gY0Z1
bGxUcnVuY2F0aW9uKQogICAgICAgICByZXR1cm47CiAKLSAgICBJbnRQb2ludCBsb2NhbE9yaWdp
biA9IGJveE9yaWdpbjsKKyAgICBGbG9hdFBvaW50IGxvY2FsT3JpZ2luID0gYm94T3JpZ2luOwog
Ci0gICAgaW50IHdpZHRoID0gbV9sb2dpY2FsV2lkdGg7CisgICAgZmxvYXQgd2lkdGggPSBtX2xv
Z2ljYWxXaWR0aDsKICAgICBpZiAobV90cnVuY2F0aW9uICE9IGNOb1RydW5jYXRpb24pIHsKICAg
ICAgICAgd2lkdGggPSB0b1JlbmRlclRleHQocmVuZGVyZXIoKSktPndpZHRoKG1fc3RhcnQsIG1f
dHJ1bmNhdGlvbiwgdGV4dFBvcygpLCBtX2ZpcnN0TGluZSk7CiAgICAgICAgIGlmICghaXNMZWZ0
VG9SaWdodERpcmVjdGlvbigpKQpAQCAtODUzLDkgKzg1Myw5IEBAIHZvaWQgSW5saW5lVGV4dEJv
eDo6cGFpbnREZWNvcmF0aW9uKEdyYXAKICAgICBpbnQgZXh0cmFPZmZzZXQgPSAwOwogICAgIGlm
ICghbGluZXNBcmVPcGFxdWUgJiYgc2hhZG93ICYmIHNoYWRvdy0+bmV4dCgpKSB7CiAgICAgICAg
IGNvbnRleHQtPnNhdmUoKTsKLSAgICAgICAgSW50UmVjdCBjbGlwUmVjdChsb2NhbE9yaWdpbiwg
SW50U2l6ZSh3aWR0aCwgYmFzZWxpbmUgKyAyKSk7CisgICAgICAgIEZsb2F0UmVjdCBjbGlwUmVj
dChsb2NhbE9yaWdpbiwgRmxvYXRTaXplKHdpZHRoLCBiYXNlbGluZSArIDIpKTsKICAgICAgICAg
Zm9yIChjb25zdCBTaGFkb3dEYXRhKiBzID0gc2hhZG93OyBzOyBzID0gcy0+bmV4dCgpKSB7Ci0g
ICAgICAgICAgICBJbnRSZWN0IHNoYWRvd1JlY3QobG9jYWxPcmlnaW4sIEludFNpemUod2lkdGgs
IGJhc2VsaW5lICsgMikpOworICAgICAgICAgICAgRmxvYXRSZWN0IHNoYWRvd1JlY3QobG9jYWxP
cmlnaW4sIEZsb2F0U2l6ZSh3aWR0aCwgYmFzZWxpbmUgKyAyKSk7CiAgICAgICAgICAgICBzaGFk
b3dSZWN0LmluZmxhdGUocy0+Ymx1cigpKTsKICAgICAgICAgICAgIGludCBzaGFkb3dYID0gaXNI
b3Jpem9udGFsKCkgPyBzLT54KCkgOiBzLT55KCk7CiAgICAgICAgICAgICBpbnQgc2hhZG93WSA9
IGlzSG9yaXpvbnRhbCgpID8gcy0+eSgpIDogLXMtPngoKTsKQEAgLTg4Miw3ICs4ODIsNyBAQCB2
b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbihHcmFwCiAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICBpbnQgc2hhZG93WCA9IGlzSG9yaXpvbnRhbCgpID8gc2hhZG93LT54KCkgOiBz
aGFkb3ctPnkoKTsKICAgICAgICAgICAgIGludCBzaGFkb3dZID0gaXNIb3Jpem9udGFsKCkgPyBz
aGFkb3ctPnkoKSA6IC1zaGFkb3ctPngoKTsKLSAgICAgICAgICAgIGNvbnRleHQtPnNldFNoYWRv
dyhJbnRTaXplKHNoYWRvd1gsIHNoYWRvd1kgLSBleHRyYU9mZnNldCksIHNoYWRvdy0+Ymx1cigp
LCBzaGFkb3ctPmNvbG9yKCksIGNvbG9yU3BhY2UpOworICAgICAgICAgICAgY29udGV4dC0+c2V0
U2hhZG93KEZsb2F0U2l6ZShzaGFkb3dYLCBzaGFkb3dZIC0gZXh0cmFPZmZzZXQpLCBzaGFkb3ct
PmJsdXIoKSwgc2hhZG93LT5jb2xvcigpLCBjb2xvclNwYWNlKTsKICAgICAgICAgICAgIHNldFNo
YWRvdyA9IHRydWU7CiAgICAgICAgICAgICBzaGFkb3cgPSBzaGFkb3ctPm5leHQoKTsKICAgICAg
ICAgfQpAQCAtODkxLDcgKzg5MSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0
aW9uKEdyYXAKICAgICAgICAgICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKHVuZGVybGluZSwg
Y29sb3JTcGFjZSk7CiAgICAgICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VTdHlsZShTb2xpZFN0
cm9rZSk7CiAgICAgICAgICAgICAvLyBMZWF2ZSBvbmUgcGl4ZWwgb2Ygd2hpdGUgYmV0d2VlbiB0
aGUgYmFzZWxpbmUgYW5kIHRoZSB1bmRlcmxpbmUuCi0gICAgICAgICAgICBjb250ZXh0LT5kcmF3
TGluZUZvclRleHQoSW50UG9pbnQobG9jYWxPcmlnaW4ueCgpLCBsb2NhbE9yaWdpbi55KCkgKyBi
YXNlbGluZSArIDEpLCB3aWR0aCwgaXNQcmludGluZyk7CisgICAgICAgICAgICBjb250ZXh0LT5k
cmF3TGluZUZvclRleHQoRmxvYXRQb2ludChsb2NhbE9yaWdpbi54KCksIGxvY2FsT3JpZ2luLnko
KSArIGJhc2VsaW5lICsgMSksIHdpZHRoLCBpc1ByaW50aW5nKTsKICAgICAgICAgfQogICAgICAg
ICBpZiAoZGVjbyAmIE9WRVJMSU5FKSB7CiAgICAgICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VD
b2xvcihvdmVybGluZSwgY29sb3JTcGFjZSk7CkBAIC05MDEsNyArOTAxLDcgQEAgdm9pZCBJbmxp
bmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oR3JhcAogICAgICAgICBpZiAoZGVjbyAmIExJTkVf
VEhST1VHSCkgewogICAgICAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlQ29sb3IobGluZXRocm91
Z2gsIGNvbG9yU3BhY2UpOwogICAgICAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlU3R5bGUoU29s
aWRTdHJva2UpOwotICAgICAgICAgICAgY29udGV4dC0+ZHJhd0xpbmVGb3JUZXh0KEludFBvaW50
KGxvY2FsT3JpZ2luLngoKSwgbG9jYWxPcmlnaW4ueSgpICsgMiAqIGJhc2VsaW5lIC8gMyksIHdp
ZHRoLCBpc1ByaW50aW5nKTsKKyAgICAgICAgICAgIGNvbnRleHQtPmRyYXdMaW5lRm9yVGV4dChG
bG9hdFBvaW50KGxvY2FsT3JpZ2luLngoKSwgbG9jYWxPcmlnaW4ueSgpICsgMiAqIGJhc2VsaW5l
IC8gMyksIHdpZHRoLCBpc1ByaW50aW5nKTsKICAgICAgICAgfQogICAgIH0gd2hpbGUgKHNoYWRv
dyk7CiAKQEAgLTkyNiw3ICs5MjYsNyBAQCBzdGF0aWMgR3JhcGhpY3NDb250ZXh0OjpUZXh0Q2hl
Y2tpbmdMaW5lCiAgICAgfQogfQogCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdP
ckdyYW1tYXJNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiBwdCwgY29uc3QgSW50UG9pbnQmIGJveE9y
aWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImIG1hcmtlciwgUmVuZGVyU3R5bGUqIHN0eWxlLCBj
b25zdCBGb250JiBmb250LCBib29sIGdyYW1tYXIpCit2b2lkIElubGluZVRleHRCb3g6OnBhaW50
U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiBwdCwgY29uc3QgRmxvYXRQ
b2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYgbWFya2VyLCBSZW5kZXJTdHls
ZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgZ3JhbW1hcikKIHsKICAgICAvLyBOZXZl
ciBwcmludCBzcGVsbGluZy9ncmFtbWFyIG1hcmtlcnMgKDUzMjc4ODcpCiAgICAgaWYgKHRleHRS
ZW5kZXJlcigpLT5kb2N1bWVudCgpLT5wcmludGluZygpKQpAQCAtOTM1LDggKzkzNSw4IEBAIHZv
aWQgSW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGluZ09yR3JhbW0KICAgICBpZiAobV90cnVuY2F0
aW9uID09IGNGdWxsVHJ1bmNhdGlvbikKICAgICAgICAgcmV0dXJuOwogCi0gICAgaW50IHN0YXJ0
ID0gMDsgICAgICAgICAgICAgICAgICAvLyBzdGFydCBvZiBsaW5lIHRvIGRyYXcsIHJlbGF0aXZl
IHRvIHR4Ci0gICAgaW50IHdpZHRoID0gbV9sb2dpY2FsV2lkdGg7ICAgICAgICAgICAgLy8gaG93
IG11Y2ggbGluZSB0byBkcmF3CisgICAgZmxvYXQgc3RhcnQgPSAwOyAgICAgICAgICAgICAgICAg
IC8vIHN0YXJ0IG9mIGxpbmUgdG8gZHJhdywgcmVsYXRpdmUgdG8gdHgKKyAgICBmbG9hdCB3aWR0
aCA9IG1fbG9naWNhbFdpZHRoOyAgICAgICAgICAgIC8vIGhvdyBtdWNoIGxpbmUgdG8gZHJhdwog
CiAgICAgLy8gRGV0ZXJtaW5lIHdoZXRoZXIgd2UgbmVlZCB0byBtZWFzdXJlIHRleHQKICAgICBi
b29sIG1hcmtlclNwYW5zV2hvbGVCb3ggPSB0cnVlOwpAQCAtOTU3LDkgKzk1NywxMCBAQCB2b2lk
IElubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tCiAgICAgICAgIC8vIENhbGN1bGF0
ZSBzdGFydCAmIHdpZHRoCiAgICAgICAgIGludCBkZWx0YVkgPSByZW5kZXJlcigpLT5zdHlsZSgp
LT5pc0ZsaXBwZWRMaW5lc1dyaXRpbmdNb2RlKCkgPyBzZWxlY3Rpb25Cb3R0b20oKSAtIGxvZ2lj
YWxCb3R0b20oKSA6IGxvZ2ljYWxUb3AoKSAtIHNlbGVjdGlvblRvcCgpOwogICAgICAgICBpbnQg
c2VsSGVpZ2h0ID0gc2VsZWN0aW9uSGVpZ2h0KCk7Ci0gICAgICAgIEludFBvaW50IHN0YXJ0UG9p
bnQoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSk7CisgICAgICAgIEZsb2F0
UG9pbnQgc3RhcnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsK
ICAgICAgICAgVGV4dFJ1biBydW4odGV4dFJlbmRlcmVyKCktPnRleHQoKS0+Y2hhcmFjdGVycygp
ICsgbV9zdGFydCwgbV9sZW4sIHRleHRSZW5kZXJlcigpLT5hbGxvd1RhYnMoKSwgdGV4dFBvcygp
LCBtX2V4cGFuc2lvbiwgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvcigpLCAhaXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpLCBtX2Rpck92ZXJyaWRlIHx8IHN0eWxlLT52aXN1YWxseU9yZGVyZWQoKSk7
Ci0gICAgICAgICAKKyAgICAgICAgCisgICAgICAgIC8vIEZJWE1FOiBDb252ZXJ0IHRoZSBkb2N1
bWVudCBtYXJrZXJzIHRvIGZsb2F0IHJlY3RzLgogICAgICAgICBJbnRSZWN0IG1hcmtlclJlY3Qg
PSBlbmNsb3NpbmdJbnRSZWN0KGZvbnQuc2VsZWN0aW9uUmVjdEZvclRleHQocnVuLCBzdGFydFBv
aW50LCBzZWxIZWlnaHQsIHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uKSk7CiAgICAgICAgIHN0
YXJ0ID0gbWFya2VyUmVjdC54KCkgLSBzdGFydFBvaW50LngoKTsKICAgICAgICAgd2lkdGggPSBt
YXJrZXJSZWN0LndpZHRoKCk7CkBAIC05OTAsMTAgKzk5MSwxMCBAQCB2b2lkIElubGluZVRleHRC
b3g6OnBhaW50U3BlbGxpbmdPckdyYW1tCiAgICAgICAgIC8vIEluIGxhcmdlciBmb250cywgdGhv
dWdoLCBwbGFjZSB0aGUgdW5kZXJsaW5lIHVwIG5lYXIgdGhlIGJhc2VsaW5lIHRvIHByZXZlbnQg
YSBiaWcgZ2FwLgogICAgICAgICB1bmRlcmxpbmVPZmZzZXQgPSBiYXNlbGluZSArIDI7CiAgICAg
fQotICAgIHB0LT5kcmF3TGluZUZvclRleHRDaGVja2luZyhJbnRQb2ludChib3hPcmlnaW4ueCgp
ICsgc3RhcnQsIGJveE9yaWdpbi55KCkgKyB1bmRlcmxpbmVPZmZzZXQpLCB3aWR0aCwgdGV4dENo
ZWNraW5nTGluZVN0eWxlRm9yTWFya2VyVHlwZShtYXJrZXIudHlwZSkpOworICAgIHB0LT5kcmF3
TGluZUZvclRleHRDaGVja2luZyhGbG9hdFBvaW50KGJveE9yaWdpbi54KCkgKyBzdGFydCwgYm94
T3JpZ2luLnkoKSArIHVuZGVybGluZU9mZnNldCksIHdpZHRoLCB0ZXh0Q2hlY2tpbmdMaW5lU3R5
bGVGb3JNYXJrZXJUeXBlKG1hcmtlci50eXBlKSk7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6
cGFpbnRUZXh0TWF0Y2hNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiBwdCwgY29uc3QgSW50UG9pbnQm
IGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImIG1hcmtlciwgUmVuZGVyU3R5bGUqIHN0
eWxlLCBjb25zdCBGb250JiBmb250KQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFRleHRNYXRj
aE1hcmtlcihHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4s
IGNvbnN0IERvY3VtZW50TWFya2VyJiBtYXJrZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3Qg
Rm9udCYgZm9udCkKIHsKICAgICAvLyBVc2Ugc2FtZSB5IHBvc2l0aW9uaW5nIGFuZCBoZWlnaHQg
YXMgZm9yIHNlbGVjdGlvbiwgc28gdGhhdCB3aGVuIHRoZSBzZWxlY3Rpb24gYW5kIHRoaXMgaGln
aGxpZ2h0IGFyZSBvbgogICAgIC8vIHRoZSBzYW1lIHdvcmQgdGhlcmUgYXJlIG5vIHBpZWNlcyBz
dGlja2luZyBvdXQuCkBAIC0xMDE2LDggKzEwMTcsOCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBh
aW50VGV4dE1hdGNoTWFya2VyCiAgICAgICAgICAgICByZW5kZXJlcigpLT50aGVtZSgpLT5wbGF0
Zm9ybUluYWN0aXZlVGV4dFNlYXJjaEhpZ2hsaWdodENvbG9yKCk7CiAgICAgICAgIHB0LT5zYXZl
KCk7CiAgICAgICAgIHVwZGF0ZUdyYXBoaWNzQ29udGV4dChwdCwgY29sb3IsIGNvbG9yLCAwLCBz
dHlsZS0+Y29sb3JTcGFjZSgpKTsgIC8vIERvbid0IGRyYXcgdGV4dCBhdCBhbGwhCi0gICAgICAg
IHB0LT5jbGlwKEludFJlY3QoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSwg
bV9sb2dpY2FsV2lkdGgsIHNlbEhlaWdodCkpOwotICAgICAgICBwdC0+ZHJhd0hpZ2hsaWdodEZv
clRleHQoZm9udCwgcnVuLCBJbnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0g
ZGVsdGFZKSwgc2VsSGVpZ2h0LCBjb2xvciwgc3R5bGUtPmNvbG9yU3BhY2UoKSwgc1BvcywgZVBv
cyk7CisgICAgICAgIHB0LT5jbGlwKEZsb2F0UmVjdChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4u
eSgpIC0gZGVsdGFZLCBtX2xvZ2ljYWxXaWR0aCwgc2VsSGVpZ2h0KSk7CisgICAgICAgIHB0LT5k
cmF3SGlnaGxpZ2h0Rm9yVGV4dChmb250LCBydW4sIEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSwg
Ym94T3JpZ2luLnkoKSAtIGRlbHRhWSksIHNlbEhlaWdodCwgY29sb3IsIHN0eWxlLT5jb2xvclNw
YWNlKCksIHNQb3MsIGVQb3MpOwogICAgICAgICBwdC0+cmVzdG9yZSgpOwogICAgIH0KIH0KQEAg
LTEwMzksNyArMTA0MCw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6Y29tcHV0ZVJlY3RGb3JSZXBs
YWMKICAgICByZW5kZXJlcigpLT5kb2N1bWVudCgpLT5tYXJrZXJzKCktPnNldFJlbmRlcmVkUmVj
dEZvck1hcmtlcihyZW5kZXJlcigpLT5ub2RlKCksIG1hcmtlciwgbWFya2VyUmVjdCk7CiB9CiAg
ICAgCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50RG9jdW1lbnRNYXJrZXJzKEdyYXBoaWNzQ29u
dGV4dCogcHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwg
Y29uc3QgRm9udCYgZm9udCwgYm9vbCBiYWNrZ3JvdW5kKQordm9pZCBJbmxpbmVUZXh0Qm94Ojpw
YWludERvY3VtZW50TWFya2VycyhHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBGbG9hdFBvaW50
JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBi
YWNrZ3JvdW5kKQogewogICAgIGlmICghcmVuZGVyZXIoKS0+bm9kZSgpKQogICAgICAgICByZXR1
cm47CkBAIC0xMTA2LDEzICsxMTA3LDEzIEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREb2N1
bWVudE1hcmtlcnMKIH0KIAogCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25V
bmRlcmxpbmUoR3JhcGhpY3NDb250ZXh0KiBjdHgsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4s
IGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5lJiB1bmRlcmxpbmUpCit2b2lkIElubGluZVRleHRC
b3g6OnBhaW50Q29tcG9zaXRpb25VbmRlcmxpbmUoR3JhcGhpY3NDb250ZXh0KiBjdHgsIGNvbnN0
IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgQ29tcG9zaXRpb25VbmRlcmxpbmUmIHVuZGVy
bGluZSkKIHsKICAgICBpZiAobV90cnVuY2F0aW9uID09IGNGdWxsVHJ1bmNhdGlvbikKICAgICAg
ICAgcmV0dXJuOwogICAgIAotICAgIGludCBzdGFydCA9IDA7ICAgICAgICAgICAgICAgICAvLyBz
dGFydCBvZiBsaW5lIHRvIGRyYXcsIHJlbGF0aXZlIHRvIHR4Ci0gICAgaW50IHdpZHRoID0gbV9s
b2dpY2FsV2lkdGg7ICAgICAgICAgICAvLyBob3cgbXVjaCBsaW5lIHRvIGRyYXcKKyAgICBmbG9h
dCBzdGFydCA9IDA7ICAgICAgICAgICAgICAgICAvLyBzdGFydCBvZiBsaW5lIHRvIGRyYXcsIHJl
bGF0aXZlIHRvIHR4CisgICAgZmxvYXQgd2lkdGggPSBtX2xvZ2ljYWxXaWR0aDsgICAgICAgICAg
IC8vIGhvdyBtdWNoIGxpbmUgdG8gZHJhdwogICAgIGJvb2wgdXNlV2hvbGVXaWR0aCA9IHRydWU7
CiAgICAgdW5zaWduZWQgcGFpbnRTdGFydCA9IG1fc3RhcnQ7CiAgICAgdW5zaWduZWQgcGFpbnRF
bmQgPSBlbmQoKSArIDE7IC8vIGVuZCBwb2ludHMgYXQgdGhlIGxhc3QgY2hhciwgbm90IHBhc3Qg
aXQKQEAgLTExNDgsNyArMTE0OSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3Np
dGlvblVuZGUKIAogICAgIGN0eC0+c2V0U3Ryb2tlQ29sb3IodW5kZXJsaW5lLmNvbG9yLCByZW5k
ZXJlcigpLT5zdHlsZSgpLT5jb2xvclNwYWNlKCkpOwogICAgIGN0eC0+c2V0U3Ryb2tlVGhpY2tu
ZXNzKGxpbmVUaGlja25lc3MpOwotICAgIGN0eC0+ZHJhd0xpbmVGb3JUZXh0KEludFBvaW50KGJv
eE9yaWdpbi54KCkgKyBzdGFydCwgYm94T3JpZ2luLnkoKSArIGxvZ2ljYWxIZWlnaHQoKSAtIGxp
bmVUaGlja25lc3MpLCB3aWR0aCwgdGV4dFJlbmRlcmVyKCktPmRvY3VtZW50KCktPnByaW50aW5n
KCkpOworICAgIGN0eC0+ZHJhd0xpbmVGb3JUZXh0KEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSAr
IHN0YXJ0LCBib3hPcmlnaW4ueSgpICsgbG9naWNhbEhlaWdodCgpIC0gbGluZVRoaWNrbmVzcyks
IHdpZHRoLCB0ZXh0UmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+cHJpbnRpbmcoKSk7CiB9CiAKIGlu
dCBJbmxpbmVUZXh0Qm94OjpjYXJldE1pbk9mZnNldCgpIGNvbnN0CkBAIC0xMTY2LDcgKzExNjcs
NyBAQCB1bnNpZ25lZCBJbmxpbmVUZXh0Qm94OjpjYXJldE1heFJlbmRlcmVkCiAgICAgcmV0dXJu
IG1fc3RhcnQgKyBtX2xlbjsKIH0KIAotaW50IElubGluZVRleHRCb3g6OnRleHRQb3MoKSBjb25z
dAorZmxvYXQgSW5saW5lVGV4dEJveDo6dGV4dFBvcygpIGNvbnN0CiB7CiAgICAgLy8gV2hlbiBj
b21wdXRpbmcgdGhlIHdpZHRoIG9mIGEgdGV4dCBydW4sIFJlbmRlckJsb2NrOjpjb21wdXRlSW5s
aW5lRGlyZWN0aW9uUG9zaXRpb25zRm9yTGluZSgpIGRvZXNuJ3QgaW5jbHVkZSB0aGUgYWN0dWFs
IG9mZnNldAogICAgIC8vIGZyb20gdGhlIGNvbnRhaW5pbmcgYmxvY2sgZWRnZSBpbiBpdHMgbWVh
c3VyZW1lbnQuIHRleHRQb3MoKSBzaG91bGQgYmUgY29uc2lzdGVudCBzbyB0aGUgdGV4dCBhcmUg
cmVuZGVyZWQgaW4gdGhlIHNhbWUgd2lkdGguCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW5saW5lVGV4dEJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9JbmxpbmVUZXh0Qm94LmgJKHJldmlzaW9uIDc3Mzg0KQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0lubGluZVRleHRCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMTA1LDEyICsxMDUsMTIg
QEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjbGVhclRydW5jYXRpb24o
KSB7IG1fdHJ1bmNhdGlvbiA9IGNOb1RydW5jYXRpb247IH0KLSAgICB2aXJ0dWFsIGludCBwbGFj
ZUVsbGlwc2lzQm94KGJvb2wgZmxvd0lzTFRSLCBpbnQgdmlzaWJsZUxlZnRFZGdlLCBpbnQgdmlz
aWJsZVJpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KTsKKyAgICB2
aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBmbG93SXNMVFIsIGZsb2F0IHZpc2li
bGVMZWZ0RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwg
Ym9vbCYgZm91bmRCb3gpOwogCiBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzTGluZUJyZWFr
KCkgY29uc3Q7CiAKLSAgICB2b2lkIHNldEV4cGFuc2lvbihpbnQgZXhwYW5zaW9uKSB7IG1fbG9n
aWNhbFdpZHRoIC09IG1fZXhwYW5zaW9uOyBtX2V4cGFuc2lvbiA9IGV4cGFuc2lvbjsgbV9sb2dp
Y2FsV2lkdGggKz0gbV9leHBhbnNpb247IH0KKyAgICB2b2lkIHNldEV4cGFuc2lvbihmbG9hdCBl
eHBhbnNpb24pIHsgbV9sb2dpY2FsV2lkdGggLT0gbV9leHBhbnNpb247IG1fZXhwYW5zaW9uID0g
ZXhwYW5zaW9uOyBtX2xvZ2ljYWxXaWR0aCArPSBtX2V4cGFuc2lvbjsgfQogCiBwcml2YXRlOgog
ICAgIHZpcnR1YWwgYm9vbCBpc0lubGluZVRleHRCb3goKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
ICAgIApAQCAtMTIyLDcgKzEyMiw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdmlydHVhbCB1
bnNpZ25lZCBjYXJldE1heFJlbmRlcmVkT2Zmc2V0KCkgY29uc3Q7CiAKLSAgICBpbnQgdGV4dFBv
cygpIGNvbnN0OyAvLyByZXR1cm5zIHRoZSB4IHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBsZWZ0
IHN0YXJ0IG9mIHRoZSB0ZXh0IGxpbmUuCisgICAgZmxvYXQgdGV4dFBvcygpIGNvbnN0OyAvLyBy
ZXR1cm5zIHRoZSB4IHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBsZWZ0IHN0YXJ0IG9mIHRoZSB0
ZXh0IGxpbmUuCiAKIHB1YmxpYzoKICAgICB2aXJ0dWFsIGludCBvZmZzZXRGb3JQb3NpdGlvbihp
bnQgeCwgYm9vbCBpbmNsdWRlUGFydGlhbEdseXBocyA9IHRydWUpIGNvbnN0OwpAQCAtMTQ0LDE4
ICsxNDQsMTggQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgICAvLyBkZW5vdGUgbm8g
dHJ1bmNhdGlvbiAodGhlIHdob2xlIHJ1biBwYWludHMpIGFuZCBmdWxsIHRydW5jYXRpb24gKG5v
dGhpbmcgcGFpbnRzIGF0IGFsbCkuCiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIHBhaW50Q29tcG9z
aXRpb25CYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmln
aW4sIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYsIGludCBzdGFydFBvcywgaW50IGVuZFBvcyk7
Ci0gICAgdm9pZCBwYWludERvY3VtZW50TWFya2VycyhHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJ
bnRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmLCBib29sIGJhY2tn
cm91bmQpOwotICAgIHZvaWQgcGFpbnRDb21wb3NpdGlvblVuZGVybGluZShHcmFwaGljc0NvbnRl
eHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBDb21wb3NpdGlvblVuZGVybGlu
ZSYpOworICAgIHZvaWQgcGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0
KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQm
LCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpOworICAgIHZvaWQgcGFpbnREb2N1bWVudE1hcmtl
cnMoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJT
dHlsZSosIGNvbnN0IEZvbnQmLCBib29sIGJhY2tncm91bmQpOworICAgIHZvaWQgcGFpbnRDb21w
b3NpdGlvblVuZGVybGluZShHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hP
cmlnaW4sIGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5lJik7CiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIHZvaWQgcGFpbnRDdXN0b21IaWdobGlnaHQoaW50IHR4LCBpbnQgdHksIGNvbnN0IEF0b21p
Y1N0cmluZyYgdHlwZSk7CiAjZW5kaWYKIAogcHJpdmF0ZToKLSAgICB2b2lkIHBhaW50RGVjb3Jh
dGlvbihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBpbnQgZGVj
b3JhdGlvbiwgY29uc3QgU2hhZG93RGF0YSopOwotICAgIHZvaWQgcGFpbnRTZWxlY3Rpb24oR3Jh
cGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqLCBj
b25zdCBGb250Jik7Ci0gICAgdm9pZCBwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdyYXBo
aWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFy
a2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250JiwgYm9vbCBncmFtbWFyKTsKLSAgICB2b2lk
IHBhaW50VGV4dE1hdGNoTWFya2VyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBi
b3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250
Jik7CisgICAgdm9pZCBwYWludERlY29yYXRpb24oR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxv
YXRQb2ludCYgYm94T3JpZ2luLCBpbnQgZGVjb3JhdGlvbiwgY29uc3QgU2hhZG93RGF0YSopOwor
ICAgIHZvaWQgcGFpbnRTZWxlY3Rpb24oR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2lu
dCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmKTsKKyAgICB2b2lkIHBhaW50
U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2lu
dCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYsIFJlbmRlclN0eWxlKiwgY29uc3Qg
Rm9udCYsIGJvb2wgZ3JhbW1hcik7CisgICAgdm9pZCBwYWludFRleHRNYXRjaE1hcmtlcihHcmFw
aGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50
TWFya2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jik7CiAgICAgdm9pZCBjb21wdXRlUmVj
dEZvclJlcGxhY2VtZW50TWFya2VyKGNvbnN0IERvY3VtZW50TWFya2VyJiwgUmVuZGVyU3R5bGUq
LCBjb25zdCBGb250Jik7CiAKICAgICBUZXh0UnVuOjpUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9y
IHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IoKSBjb25zdCB7IHJldHVybiBtX2V4cGFuc2lvbiAm
JiBuZXh0TGVhZkNoaWxkKCkgPyBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uIDogVGV4
dFJ1bjo6Rm9yYmlkVHJhaWxpbmdFeHBhbnNpb247IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCUi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCUi5oCShyZXZpc2lvbiA3NzM4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCUi5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw4ICs0MCw4IEBAIHB1YmxpYzoKICAK
ICAgICB2aXJ0dWFsIEludFJlY3Qgc2VsZWN0aW9uUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9k
ZWxPYmplY3QqIC8qcmVwYWludENvbnRhaW5lciovLCBib29sIC8qY2xpcFRvVmlzaWJsZUNvbnRl
bnQqLykgeyByZXR1cm4gSW50UmVjdCgpOyB9CiAKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRo
KHVuc2lnbmVkIC8qZnJvbSovLCB1bnNpZ25lZCAvKmxlbiovLCBjb25zdCBGb250JiwgaW50IC8q
eHBvcyovKSBjb25zdCB7IHJldHVybiAwOyB9Ci0gICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0aCh1
bnNpZ25lZCAvKmZyb20qLywgdW5zaWduZWQgLypsZW4qLywgaW50IC8qeHBvcyovLCBib29sIC8q
Zmlyc3RMaW5lID0gZmFsc2UqLykgY29uc3QgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgZmxv
YXQgd2lkdGgodW5zaWduZWQgLypmcm9tKi8sIHVuc2lnbmVkIC8qbGVuKi8sIGNvbnN0IEZvbnQm
LCBmbG9hdCAvKnhwb3MqLykgY29uc3QgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgZmxvYXQg
d2lkdGgodW5zaWduZWQgLypmcm9tKi8sIHVuc2lnbmVkIC8qbGVuKi8sIGludCAvKnhwb3MqLywg
Ym9vbCAvKmZpcnN0TGluZSA9IGZhbHNlKi8pIGNvbnN0IHsgcmV0dXJuIDA7IH0KIAogICAgIGlu
dCBsaW5lSGVpZ2h0KGJvb2wgZmlyc3RMaW5lKSBjb25zdDsKIApJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCShyZXZpc2lvbiA3NzQwMykKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2MTcs
NyArNDYxNyw3IEBAIHN0YXRpYyBpbnQgZ2V0Qm9yZGVyUGFkZGluZ01hcmdpbihjb25zdCAKICAg
ICAgICAgICAgICAgIGNoaWxkLT5ib3JkZXJTdGFydCgpOwogfQogCi1zdGF0aWMgaW5saW5lIHZv
aWQgc3RyaXBUcmFpbGluZ1NwYWNlKGludCYgaW5saW5lTWF4LCBpbnQmIGlubGluZU1pbiwKK3N0
YXRpYyBpbmxpbmUgdm9pZCBzdHJpcFRyYWlsaW5nU3BhY2UoZmxvYXQmIGlubGluZU1heCwgZmxv
YXQmIGlubGluZU1pbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVu
ZGVyT2JqZWN0KiB0cmFpbGluZ1NwYWNlQ2hpbGQpCiB7CiAgICAgaWYgKHRyYWlsaW5nU3BhY2VD
aGlsZCAmJiB0cmFpbGluZ1NwYWNlQ2hpbGQtPmlzVGV4dCgpKSB7CkBAIC00NjI1LDE3ICs0NjI1
LDIzIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBzdHJpcFRyYWlsaW5nU3BhY2UoaW4KICAgICAgICAg
UmVuZGVyVGV4dCogdCA9IHRvUmVuZGVyVGV4dCh0cmFpbGluZ1NwYWNlQ2hpbGQpOwogICAgICAg
ICBjb25zdCBVQ2hhciBzcGFjZSA9ICcgJzsKICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IHQt
PnN0eWxlKCktPmZvbnQoKTsgLy8gRklYTUU6IFRoaXMgaWdub3JlcyBmaXJzdC1saW5lLgotICAg
ICAgICBpbnQgc3BhY2VXaWR0aCA9IGZvbnQud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKTsKKyAg
ICAgICAgZmxvYXQgc3BhY2VXaWR0aCA9IGZvbnQud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKTsK
ICAgICAgICAgaW5saW5lTWF4IC09IHNwYWNlV2lkdGggKyBmb250LndvcmRTcGFjaW5nKCk7CiAg
ICAgICAgIGlmIChpbmxpbmVNaW4gPiBpbmxpbmVNYXgpCiAgICAgICAgICAgICBpbmxpbmVNaW4g
PSBpbmxpbmVNYXg7CiAgICAgfQogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlUHJlZmVy
cmVkV2lkdGgoaW50JiBwcmVmZXJyZWRXaWR0aCwgZmxvYXQmIHJlc3VsdCkKK3sKKyAgICBpbnQg
c25hcHBlZFJlc3VsdCA9IGNlaWxmKHJlc3VsdCk7CisgICAgcHJlZmVycmVkV2lkdGggPSBtYXgo
c25hcHBlZFJlc3VsdCwgcHJlZmVycmVkV2lkdGgpOworfQorCiB2b2lkIFJlbmRlckJsb2NrOjpj
b21wdXRlSW5saW5lUHJlZmVycmVkTG9naWNhbFdpZHRocygpCiB7Ci0gICAgaW50IGlubGluZU1h
eCA9IDA7Ci0gICAgaW50IGlubGluZU1pbiA9IDA7CisgICAgZmxvYXQgaW5saW5lTWF4ID0gMDsK
KyAgICBmbG9hdCBpbmxpbmVNaW4gPSAwOwogCiAgICAgaW50IGN3ID0gY29udGFpbmluZ0Jsb2Nr
KCktPmNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKIApAQCAtNDY5NiwxNSArNDcwMiwxNSBAQCB2b2lk
IFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICAvLyB0aGUg
d2lkdGggb2YgdGhlIGxhc3Qgbm9uLWJyZWFrYWJsZSBydW4gYW5kIHVzZSB0aGF0IHRvIHN0YXJ0
IGEgbmV3IGxpbmUKICAgICAgICAgICAgIC8vICh1bmxlc3Mgd2UgZW5kIGluIHdoaXRlc3BhY2Up
LgogICAgICAgICAgICAgUmVuZGVyU3R5bGUqIGNzdHlsZSA9IGNoaWxkLT5zdHlsZSgpOwotICAg
ICAgICAgICAgaW50IGNoaWxkTWluID0gMDsKLSAgICAgICAgICAgIGludCBjaGlsZE1heCA9IDA7
CisgICAgICAgICAgICBmbG9hdCBjaGlsZE1pbiA9IDA7CisgICAgICAgICAgICBmbG9hdCBjaGls
ZE1heCA9IDA7CiAKICAgICAgICAgICAgIGlmICghY2hpbGQtPmlzVGV4dCgpKSB7CiAgICAgICAg
ICAgICAgICAgLy8gQ2FzZSAoMSkgYW5kICgyKS4gIElubGluZSByZXBsYWNlZCBhbmQgaW5saW5l
IGZsb3cgZWxlbWVudHMuCiAgICAgICAgICAgICAgICAgaWYgKGNoaWxkLT5pc1JlbmRlcklubGlu
ZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIEFkZCBpbiBwYWRkaW5nL2JvcmRlci9tYXJn
aW4gZnJvbSB0aGUgYXBwcm9wcmlhdGUgc2lkZSBvZgogICAgICAgICAgICAgICAgICAgICAvLyB0
aGUgZWxlbWVudC4KLSAgICAgICAgICAgICAgICAgICAgaW50IGJwbSA9IGdldEJvcmRlclBhZGRp
bmdNYXJnaW4odG9SZW5kZXJJbmxpbmUoY2hpbGQpLCBjaGlsZEl0ZXJhdG9yLmVuZE9mSW5saW5l
KTsKKyAgICAgICAgICAgICAgICAgICAgZmxvYXQgYnBtID0gZ2V0Qm9yZGVyUGFkZGluZ01hcmdp
bih0b1JlbmRlcklubGluZShjaGlsZCksIGNoaWxkSXRlcmF0b3IuZW5kT2ZJbmxpbmUpOwogICAg
ICAgICAgICAgICAgICAgICBjaGlsZE1pbiArPSBicG07CiAgICAgICAgICAgICAgICAgICAgIGNo
aWxkTWF4ICs9IGJwbTsKIApAQCAtNDcxNCw3ICs0NzIwLDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6
Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgICAgICBjaGlsZC0+c2V0UHJl
ZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KGZhbHNlKTsKICAgICAgICAgICAgICAgICB9IGVsc2Ug
ewogICAgICAgICAgICAgICAgICAgICAvLyBJbmxpbmUgcmVwbGFjZWQgZWx0cyBhZGQgaW4gdGhl
aXIgbWFyZ2lucyB0byB0aGVpciBtaW4vbWF4IHZhbHVlcy4KLSAgICAgICAgICAgICAgICAgICAg
aW50IG1hcmdpbnMgPSAwOworICAgICAgICAgICAgICAgICAgICBmbG9hdCBtYXJnaW5zID0gMDsK
ICAgICAgICAgICAgICAgICAgICAgTGVuZ3RoIHN0YXJ0TWFyZ2luID0gY3N0eWxlLT5tYXJnaW5T
dGFydCgpOwogICAgICAgICAgICAgICAgICAgICBMZW5ndGggZW5kTWFyZ2luID0gY3N0eWxlLT5t
YXJnaW5FbmQoKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0TWFyZ2luLmlzRml4ZWQo
KSkKQEAgLTQ3NDQsMTMgKzQ3NTAsMTMgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGlu
ZVByZWZlcnJlZAogCiAgICAgICAgICAgICAgICAgYm9vbCBjYW5CcmVha1JlcGxhY2VkRWxlbWVu
dCA9ICFjaGlsZC0+aXNJbWFnZSgpIHx8IGFsbG93SW1hZ2VzVG9CcmVhazsKICAgICAgICAgICAg
ICAgICBpZiAoKGNhbkJyZWFrUmVwbGFjZWRFbGVtZW50ICYmIChhdXRvV3JhcCB8fCBvbGRBdXRv
V3JhcCkpIHx8IGNsZWFyUHJldmlvdXNGbG9hdCkgewotICAgICAgICAgICAgICAgICAgICBtX21p
blByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9t
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAgICAgICAgICAgICAgICAg
IGlubGluZU1pbiA9IDA7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgLy8g
SWYgd2UncmUgc3VwcG9zZWQgdG8gY2xlYXIgdGhlIHByZXZpb3VzIGZsb2F0LCB0aGVuIHRlcm1p
bmF0ZSBtYXh3aWR0aCBhcyB3ZWxsLgogICAgICAgICAgICAgICAgIGlmIChjbGVhclByZXZpb3Vz
RmxvYXQpIHsKLSAgICAgICAgICAgICAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgg
PSBtYXgoaW5saW5lTWF4LCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAg
ICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
LCBpbmxpbmVNYXgpOwogICAgICAgICAgICAgICAgICAgICBpbmxpbmVNYXggPSAwOwogICAgICAg
ICAgICAgICAgIH0KIApAQCAtNDc2OCwxMiArNDc3NCwxMiBAQCB2b2lkIFJlbmRlckJsb2NrOjpj
b21wdXRlSW5saW5lUHJlZmVycmVkCiAKICAgICAgICAgICAgICAgICBpZiAoIWF1dG9XcmFwIHx8
ICFjYW5CcmVha1JlcGxhY2VkRWxlbWVudCkgewogICAgICAgICAgICAgICAgICAgICBpZiAoY2hp
bGQtPmlzRmxvYXRpbmcoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoID0gbWF4KGNoaWxkTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7
CisgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZl
cnJlZExvZ2ljYWxXaWR0aCwgY2hpbGRNaW4pOwogICAgICAgICAgICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gKz0gY2hpbGRNaW47CiAgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgLy8gTm93IGNoZWNrIG91ciBsaW5l
LgotICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChj
aGlsZE1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAg
ICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgY2hpbGRN
aW4pOwogCiAgICAgICAgICAgICAgICAgICAgIC8vIE5vdyBzdGFydCBhIG5ldyBsaW5lLgogICAg
ICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSAwOwpAQCAtNDc5MCw3ICs0Nzk2LDcgQEAgdm9p
ZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgIFJl
bmRlclRleHQqIHQgPSB0b1JlbmRlclRleHQoY2hpbGQpOwogCiAgICAgICAgICAgICAgICAgaWYg
KHQtPmlzV29yZEJyZWFrKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRM
b2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7
CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4g
PSAwOwogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICB9CkBA
IC00ODA0LDkgKzQ4MTAsOSBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVy
cmVkCiAgICAgICAgICAgICAgICAgLy8gdGhlbiB0aGV5IHNob3VsZG4ndCBiZSBjb25zaWRlcmVk
IGluIHRoZSBicmVha2FibGUgY2hhcgogICAgICAgICAgICAgICAgIC8vIGNoZWNrLgogICAgICAg
ICAgICAgICAgIGJvb2wgaGFzQnJlYWthYmxlQ2hhciwgaGFzQnJlYWs7Ci0gICAgICAgICAgICAg
ICAgaW50IGJlZ2luTWluLCBlbmRNaW47CisgICAgICAgICAgICAgICAgZmxvYXQgYmVnaW5NaW4s
IGVuZE1pbjsKICAgICAgICAgICAgICAgICBib29sIGJlZ2luV1MsIGVuZFdTOwotICAgICAgICAg
ICAgICAgIGludCBiZWdpbk1heCwgZW5kTWF4OworICAgICAgICAgICAgICAgIGZsb2F0IGJlZ2lu
TWF4LCBlbmRNYXg7CiAgICAgICAgICAgICAgICAgdC0+dHJpbW1lZFByZWZXaWR0aHMoaW5saW5l
TWF4LCBiZWdpbk1pbiwgYmVnaW5XUywgZW5kTWluLCBlbmRXUywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoYXNCcmVha2FibGVDaGFyLCBoYXNCcmVhaywgYmVnaW5NYXgs
IGVuZE1heCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZE1pbiwg
Y2hpbGRNYXgsIHN0cmlwRnJvbnRTcGFjZXMpOwpAQCAtNDgxNCw3ICs0ODIwLDcgQEAgdm9pZCBS
ZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgIC8vIFRo
aXMgdGV4dCBvYmplY3Qgd2lsbCBub3QgYmUgcmVuZGVyZWQsIGJ1dCBpdCBtYXkgc3RpbGwgcHJv
dmlkZSBhIGJyZWFraW5nIG9wcG9ydHVuaXR5LgogICAgICAgICAgICAgICAgIGlmICghaGFzQnJl
YWsgJiYgY2hpbGRNYXggPT0gMCkgewogICAgICAgICAgICAgICAgICAgICBpZiAoYXV0b1dyYXAg
JiYgKGJlZ2luV1MgfHwgZW5kV1MpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX21pblBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1f
bWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAg
ICAgICAgaW5saW5lTWluID0gMDsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKQEAgLTQ4NDQsMTAgKzQ4NTAsMTAgQEAgdm9pZCBSZW5kZXJCbG9j
azo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgICAgICAvLyB3ZSBzdGFy
dCBhbmQgZW5kIHdpdGggd2hpdGVzcGFjZS4KICAgICAgICAgICAgICAgICAgICAgaWYgKGJlZ2lu
V1MpCiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBHbyBhaGVhZCBhbmQgZW5kIHRoZSBjdXJy
ZW50IGxpbmUuCi0gICAgICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxX
aWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiArPSBiZWdpbk1pbjsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9t
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRl
UHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBjaGlsZE1pbiAtPSB0aTsKICAgICAgICAgICAgICAgICAg
ICAgfQogCkBAIC00ODU2LDE4ICs0ODYyLDE4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJ
bmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAgICAgICAgICAgaWYgKGVuZFdTKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBXZSBlbmQgaW4gd2hpdGVzcGFjZSwgd2hpY2ggbWVhbnMgd2Ug
Y2FuIGdvIGFoZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbmQgZW5kIG91ciBjdXJy
ZW50IGxpbmUuCi0gICAgICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxX
aWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWlu
ID0gMDsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVm
ZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVy
cmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSBlbmRNaW47CiAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBpZiAoaGFzQnJlYWspIHsK
ICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWF4ICs9IGJlZ2luTWF4OwotICAgICAgICAgICAg
ICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNYXgsIG1fbWF4
UHJlZmVycmVkTG9naWNhbFdpZHRoKTsKLSAgICAgICAgICAgICAgICAgICAgbV9tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGggPSBtYXgoY2hpbGRNYXgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
KTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGgsIGlubGluZU1heCk7CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVBy
ZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBjaGlsZE1heCk7CiAgICAg
ICAgICAgICAgICAgICAgIGlubGluZU1heCA9IGVuZE1heDsKICAgICAgICAgICAgICAgICB9IGVs
c2UKICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWF4ICs9IGNoaWxkTWF4OwpAQCAtNDg3Nyw4
ICs0ODgzLDggQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAg
ICAgICAgICAgaWYgKGNoaWxkLT5pc0xpc3RNYXJrZXIoKSkKICAgICAgICAgICAgICAgICBzdHJp
cEZyb250U3BhY2VzID0gdHJ1ZTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGgpOwotICAgICAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgo
aW5saW5lTWF4LCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICB1cGRh
dGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsK
KyAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9naWNhbFdp
ZHRoLCBpbmxpbmVNYXgpOwogICAgICAgICAgICAgaW5saW5lTWluID0gaW5saW5lTWF4ID0gMDsK
ICAgICAgICAgICAgIHN0cmlwRnJvbnRTcGFjZXMgPSB0cnVlOwogICAgICAgICAgICAgdHJhaWxp
bmdTcGFjZUNoaWxkID0gMDsKQEAgLTQ4OTAsOCArNDg5Niw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6
OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICBpZiAoc3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNw
YWNlKCkpCiAgICAgICAgIHN0cmlwVHJhaWxpbmdTcGFjZShpbmxpbmVNYXgsIGlubGluZU1pbiwg
dHJhaWxpbmdTcGFjZUNoaWxkKTsKIAotICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0g
bWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOwotICAgIG1fbWF4UHJl
ZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1heCwgbV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGgpOworICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoLCBpbmxpbmVNaW4pOworICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVycmVk
TG9naWNhbFdpZHRoLCBpbmxpbmVNYXgpOwogfQogCiAvLyBVc2UgYSB2ZXJ5IGxhcmdlIHZhbHVl
IChpbiBlZmZlY3QgaW5maW5pdGUpLgpAQCAtNTQ1Nyw5ICs1NDYzLDkgQEAgdm9pZCBSZW5kZXJC
bG9jazo6YWRqdXN0Rm9yQm9yZGVyRml0KGludAogICAgICAgICBpZiAoY2hpbGRyZW5JbmxpbmUo
KSkgewogICAgICAgICAgICAgZm9yIChSb290SW5saW5lQm94KiBib3ggPSBmaXJzdFJvb3RCb3go
KTsgYm94OyBib3ggPSBib3gtPm5leHRSb290Qm94KCkpIHsKICAgICAgICAgICAgICAgICBpZiAo
Ym94LT5maXJzdENoaWxkKCkpCi0gICAgICAgICAgICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwg
eCArIGJveC0+Zmlyc3RDaGlsZCgpLT54KCkpOworICAgICAgICAgICAgICAgICAgICBsZWZ0ID0g
bWluKGxlZnQsIHggKyBzdGF0aWNfY2FzdDxpbnQ+KGJveC0+Zmlyc3RDaGlsZCgpLT54KCkpKTsK
ICAgICAgICAgICAgICAgICBpZiAoYm94LT5sYXN0Q2hpbGQoKSkKLSAgICAgICAgICAgICAgICAg
ICAgcmlnaHQgPSBtYXgocmlnaHQsIHggKyBib3gtPmxhc3RDaGlsZCgpLT54KCkgKyBib3gtPmxh
c3RDaGlsZCgpLT5sb2dpY2FsV2lkdGgoKSk7CisgICAgICAgICAgICAgICAgICAgIHJpZ2h0ID0g
bWF4KHJpZ2h0LCB4ICsgc3RhdGljX2Nhc3Q8aW50PihjZWlsZihib3gtPmxhc3RDaGlsZCgpLT5s
b2dpY2FsUmlnaHQoKSkpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBlbHNl
IHsKQEAgLTU3NTksOCArNTc2NSw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmFkZEZvY3VzUmluZ1Jl
Y3RzKFZlY3QKIAogICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgJiYgIWhhc0NvbnRyb2xDbGlw
KCkpIHsKICAgICAgICAgZm9yIChSb290SW5saW5lQm94KiBjdXJyID0gZmlyc3RSb290Qm94KCk7
IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0Um9vdEJveCgpKSB7Ci0gICAgICAgICAgICBpbnQgdG9w
ID0gbWF4KGN1cnItPmxpbmVUb3AoKSwgY3Vyci0+eSgpKTsKLSAgICAgICAgICAgIGludCBib3R0
b20gPSBtaW4oY3Vyci0+bGluZUJvdHRvbSgpLCBjdXJyLT55KCkgKyBjdXJyLT5sb2dpY2FsSGVp
Z2h0KCkpOworICAgICAgICAgICAgaW50IHRvcCA9IG1heChjdXJyLT5saW5lVG9wKCksIGN1cnIt
PmxvZ2ljYWxUb3AoKSk7CisgICAgICAgICAgICBpbnQgYm90dG9tID0gbWluKGN1cnItPmxpbmVC
b3R0b20oKSwgY3Vyci0+bG9naWNhbFRvcCgpICsgY3Vyci0+bG9naWNhbEhlaWdodCgpKTsKICAg
ICAgICAgICAgIEludFJlY3QgcmVjdCh0eCArIGN1cnItPngoKSwgdHkgKyB0b3AsIGN1cnItPmxv
Z2ljYWxXaWR0aCgpLCBib3R0b20gLSB0b3ApOwogICAgICAgICAgICAgaWYgKCFyZWN0LmlzRW1w
dHkoKSkKICAgICAgICAgICAgICAgICByZWN0cy5hcHBlbmQocmVjdCk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2aXNpb24gNzc0MDMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtNDg1LDcg
KzQ4NSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNraXBUcmFpbGluZ1doaXRlc3BhY2UoSW5s
aW5lSXRlcmF0b3ImLCBib29sIGlzTGluZUVtcHR5LCBib29sIHByZXZpb3VzTGluZUJyb2tlQ2xl
YW5seSk7CiAgICAgaW50IHNraXBMZWFkaW5nV2hpdGVzcGFjZShJbmxpbmVCaWRpUmVzb2x2ZXIm
LCBib29sIGZpcnN0TGluZSwgYm9vbCBpc0xpbmVFbXB0eSwgYm9vbCBwcmV2aW91c0xpbmVCcm9r
ZUNsZWFubHksIEZsb2F0aW5nT2JqZWN0KiBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lKTsKLSAg
ICB2b2lkIGZpdEJlbG93RmxvYXRzKGludCB3aWR0aFRvRml0LCBib29sIGZpcnN0TGluZSwgaW50
JiBhdmFpbGFibGVXaWR0aCk7CisgICAgdm9pZCBmaXRCZWxvd0Zsb2F0cyhmbG9hdCB3aWR0aFRv
Rml0LCBib29sIGZpcnN0TGluZSwgZmxvYXQmIGF2YWlsYWJsZVdpZHRoKTsKICAgICBJbmxpbmVJ
dGVyYXRvciBmaW5kTmV4dExpbmVCcmVhayhJbmxpbmVCaWRpUmVzb2x2ZXImLCBib29sIGZpcnN0
TGluZSwgYm9vbCYgaXNMaW5lRW1wdHksIGJvb2wmIHByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSwg
Ym9vbCYgaHlwaGVuYXRlZCwgRUNsZWFyKiwgRmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdEZyb21Q
cmV2aW91c0xpbmUpOwogICAgIFJvb3RJbmxpbmVCb3gqIGNvbnN0cnVjdExpbmUodW5zaWduZWQg
cnVuQ291bnQsIEJpZGlSdW4qIGZpcnN0UnVuLCBCaWRpUnVuKiBsYXN0UnVuLCBib29sIGZpcnN0
TGluZSwgYm9vbCBsYXN0TGluZSwgUmVuZGVyT2JqZWN0KiBlbmRPYmplY3QpOwogICAgIElubGlu
ZUZsb3dCb3gqIGNyZWF0ZUxpbmVCb3hlcyhSZW5kZXJPYmplY3QqLCBib29sIGZpcnN0TGluZSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5l
TGF5b3V0LmNwcAkocmV2aXNpb24gNzc4NDgpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzE4LDggKzMxOCw4
IEBAIFJvb3RJbmxpbmVCb3gqIFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RMaW4KIHZvaWQgUmVuZGVy
QmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNGb3JMaW5lKFJvb3RJbmxpbmVC
b3gqIGxpbmVCb3gsIGJvb2wgZmlyc3RMaW5lLCBCaWRpUnVuKiBmaXJzdFJ1biwgQmlkaVJ1biog
dHJhaWxpbmdTcGFjZVJ1biwgYm9vbCByZWFjaGVkRW5kLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJh
Y2tGb250c01hcCYgdGV4dEJveERhdGFNYXApCiB7CiAgICAgLy8gRmlyc3QgZGV0ZXJtaW5lIG91
ciB0b3RhbCBsb2dpY2FsIHdpZHRoLgotICAgIGludCBhdmFpbGFibGVMb2dpY2FsV2lkdGggPSBh
dmFpbGFibGVMb2dpY2FsV2lkdGhGb3JMaW5lKGxvZ2ljYWxIZWlnaHQoKSwgZmlyc3RMaW5lKTsK
LSAgICBpbnQgdG90YWxMb2dpY2FsV2lkdGggPSBsaW5lQm94LT5nZXRGbG93U3BhY2luZ0xvZ2lj
YWxXaWR0aCgpOworICAgIGZsb2F0IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCA9IGF2YWlsYWJsZUxv
Z2ljYWxXaWR0aEZvckxpbmUobG9naWNhbEhlaWdodCgpLCBmaXJzdExpbmUpOworICAgIGZsb2F0
IHRvdGFsTG9naWNhbFdpZHRoID0gbGluZUJveC0+Z2V0Rmxvd1NwYWNpbmdMb2dpY2FsV2lkdGgo
KTsKICAgICBib29sIG5lZWRzV29yZFNwYWNpbmcgPSBmYWxzZTsKICAgICB1bnNpZ25lZCBleHBh
bnNpb25PcHBvcnR1bml0eUNvdW50ID0gMDsKICAgICBib29sIGlzQWZ0ZXJFeHBhbnNpb24gPSB0
cnVlOwpAQCAtMzg1LDcgKzM4NSw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVE
aXJlY3Rpb24KICAgICAvLyB3ZSBub3cgZXhhbWluZSBvdXIgdGV4dC1hbGlnbiBwcm9wZXJ0eSBp
biBvcmRlciB0byBkZXRlcm1pbmUgd2hlcmUgdG8gcG9zaXRpb24gdGhlCiAgICAgLy8gb2JqZWN0
cyBob3Jpem9udGFsbHkuICBUaGUgdG90YWwgd2lkdGggb2YgdGhlIGxpbmUgY2FuIGJlIGluY3Jl
YXNlZCBpZiB3ZSBlbmQgdXAKICAgICAvLyBqdXN0aWZ5aW5nIHRleHQuCi0gICAgaW50IGxvZ2lj
YWxMZWZ0ID0gbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKGxvZ2ljYWxIZWlnaHQoKSwgZmlyc3RM
aW5lKTsKKyAgICBmbG9hdCBsb2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShs
b2dpY2FsSGVpZ2h0KCksIGZpcnN0TGluZSk7CiAgICAgc3dpdGNoICh0ZXh0QWxpZ24pIHsKICAg
ICAgICAgY2FzZSBMRUZUOgogICAgICAgICBjYXNlIFdFQktJVF9MRUZUOgpAQCAtMzkzLDcgKzM5
Myw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb24KICAgICAgICAg
ICAgIC8vIHBhcnRpY3VsYXIgd2l0aCBSVEwgYmxvY2tzLCB3aWRlIGxpbmVzIHNob3VsZCBzdGls
bCBzcGlsbCBvdXQgdG8gdGhlIGxlZnQuCiAgICAgICAgICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0
VG9SaWdodERpcmVjdGlvbigpKSB7CiAgICAgICAgICAgICAgICAgaWYgKHRvdGFsTG9naWNhbFdp
ZHRoID4gYXZhaWxhYmxlTG9naWNhbFdpZHRoICYmIHRyYWlsaW5nU3BhY2VSdW4pCi0gICAgICAg
ICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4
KDAsIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNh
bFdpZHRoICsgYXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7CisgICAgICAgICAgICAgICAgICAgIHRy
YWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAuZiwgdHJhaWxpbmdT
cGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFp
bGFibGVMb2dpY2FsV2lkdGgpKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAg
ICAgaWYgKHRyYWlsaW5nU3BhY2VSdW4pCiAgICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU3Bh
Y2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgoMCk7CkBAIC00MTUsNyArNDE1LDcgQEAgdm9p
ZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgLy8gZm9y
IHJpZ2h0IHRvIGxlZnQgZmFsbCB0aHJvdWdoIHRvIHJpZ2h0IGFsaWduZWQKICAgICAgICAgICAg
IGlmIChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsKICAgICAgICAgICAgICAg
ICBpZiAodG90YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFibGVMb2dpY2FsV2lkdGggJiYgdHJhaWxp
bmdTcGFjZVJ1bikKLSAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gt
PnNldExvZ2ljYWxXaWR0aChtYXgoMCwgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxX
aWR0aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFpbGFibGVMb2dpY2FsV2lkdGgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0
aChtYXgoMC5mLCB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCkgLSB0b3Rh
bExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOwogICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICBjYXNlIFJJR0hUOgpAQCAtNDI2LDEzICs0
MjYsMTMgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAg
ICAgICAgaWYgKHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgewogICAgICAgICAg
ICAgICAgIGlmICh0cmFpbGluZ1NwYWNlUnVuKSB7CiAgICAgICAgICAgICAgICAgICAgIHRvdGFs
TG9naWNhbFdpZHRoIC09IHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKTsK
LSAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxX
aWR0aCgwKTsKKyAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNl
dExvZ2ljYWxXaWR0aCgwLmYpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBp
ZiAodG90YWxMb2dpY2FsV2lkdGggPCBhdmFpbGFibGVMb2dpY2FsV2lkdGgpCiAgICAgICAgICAg
ICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9n
aWNhbFdpZHRoOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAodG90
YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFibGVMb2dpY2FsV2lkdGggJiYgdHJhaWxpbmdTcGFjZVJ1
bikgewotICAgICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9n
aWNhbFdpZHRoKG1heCgwLCB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCkg
LSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOworICAgICAgICAg
ICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgw
LmYsIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNh
bFdpZHRoICsgYXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7CiAgICAgICAgICAgICAgICAgICAgIHRv
dGFsTG9naWNhbFdpZHRoIC09IHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgo
KTsKICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgbG9naWNhbExl
ZnQgKz0gYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGg7CkBAIC00NDAs
MTQgKzQ0MCwxNCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uCiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDRU5URVI6CiAgICAgICAgIGNhc2UgV0VC
S0lUX0NFTlRFUjoKLSAgICAgICAgICAgIGludCB0cmFpbGluZ1NwYWNlV2lkdGggPSAwOworICAg
ICAgICAgICAgZmxvYXQgdHJhaWxpbmdTcGFjZVdpZHRoID0gMC5mOwogICAgICAgICAgICAgaWYg
KHRyYWlsaW5nU3BhY2VSdW4pIHsKICAgICAgICAgICAgICAgICB0b3RhbExvZ2ljYWxXaWR0aCAt
PSB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCk7CiAgICAgICAgICAgICAg
ICAgdHJhaWxpbmdTcGFjZVdpZHRoID0gbWluKHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dp
Y2FsV2lkdGgoKSwgKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoICsg
MSkgLyAyKTsKLSAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9n
aWNhbFdpZHRoKG1heCgwLCB0cmFpbGluZ1NwYWNlV2lkdGgpKTsKKyAgICAgICAgICAgICAgICB0
cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgwLmYsIHRyYWlsaW5n
U3BhY2VXaWR0aCkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKHN0eWxlKCktPmlz
TGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKLSAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdCArPSBt
YXgoKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoKSAvIDIsIDApOwor
ICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IG1heCgoYXZhaWxhYmxlTG9naWNhbFdpZHRo
IC0gdG90YWxMb2dpY2FsV2lkdGgpIC8gMi5mLCAwLmYpOwogICAgICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IHRvdGFsTG9naWNhbFdpZHRoID4gYXZhaWxhYmxl
TG9naWNhbFdpZHRoID8gKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRo
KSA6IChhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkgLyAyIC0gdHJh
aWxpbmdTcGFjZVdpZHRoOwogICAgICAgICAgICAgYnJlYWs7CkBAIC00NjcsNyArNDY3LDcgQEAg
dm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgICAg
IC8vIE9ubHkganVzdGlmeSB0ZXh0IGlmIHdoaXRlc3BhY2UgaXMgY29sbGFwc2VkLgogICAgICAg
ICAgICAgICAgIGlmIChyLT5tX29iamVjdC0+c3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNwYWNlKCkp
IHsKICAgICAgICAgICAgICAgICAgICAgSW5saW5lVGV4dEJveCogdGV4dEJveCA9IHN0YXRpY19j
YXN0PElubGluZVRleHRCb3gqPihyLT5tX2JveCk7Ci0gICAgICAgICAgICAgICAgICAgIGludCBl
eHBhbnNpb24gPSAoYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpICog
b3Bwb3J0dW5pdGllc0luUnVuIC8gZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudDsKKyAgICAgICAg
ICAgICAgICAgICAgZmxvYXQgZXhwYW5zaW9uID0gKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRv
dGFsTG9naWNhbFdpZHRoKSAqIG9wcG9ydHVuaXRpZXNJblJ1biAvIGV4cGFuc2lvbk9wcG9ydHVu
aXR5Q291bnQ7CiAgICAgICAgICAgICAgICAgICAgIHRleHRCb3gtPnNldEV4cGFuc2lvbihleHBh
bnNpb24pOwogICAgICAgICAgICAgICAgICAgICB0b3RhbExvZ2ljYWxXaWR0aCArPSBleHBhbnNp
b247CiAgICAgICAgICAgICAgICAgfQpAQCAtMTM2NywxMyArMTM2NywxMyBAQCBzdGF0aWMgYm9v
bCBzaG91bGRTa2lwV2hpdGVzcGFjZUFmdGVyU3RhCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12
b2lkIFJlbmRlckJsb2NrOjpmaXRCZWxvd0Zsb2F0cyhpbnQgd2lkdGhUb0ZpdCwgYm9vbCBmaXJz
dExpbmUsIGludCYgYXZhaWxhYmxlV2lkdGgpCit2b2lkIFJlbmRlckJsb2NrOjpmaXRCZWxvd0Zs
b2F0cyhmbG9hdCB3aWR0aFRvRml0LCBib29sIGZpcnN0TGluZSwgZmxvYXQmIGF2YWlsYWJsZVdp
ZHRoKQogewogICAgIEFTU0VSVCh3aWR0aFRvRml0ID4gYXZhaWxhYmxlV2lkdGgpOwogCiAgICAg
aW50IGZsb2F0TG9naWNhbEJvdHRvbTsKICAgICBpbnQgbGFzdEZsb2F0TG9naWNhbEJvdHRvbSA9
IGxvZ2ljYWxIZWlnaHQoKTsKLSAgICBpbnQgbmV3TGluZVdpZHRoID0gYXZhaWxhYmxlV2lkdGg7
CisgICAgZmxvYXQgbmV3TGluZVdpZHRoID0gYXZhaWxhYmxlV2lkdGg7CiAgICAgd2hpbGUgKHRy
dWUpIHsKICAgICAgICAgZmxvYXRMb2dpY2FsQm90dG9tID0gbmV4dEZsb2F0TG9naWNhbEJvdHRv
bUJlbG93KGxhc3RGbG9hdExvZ2ljYWxCb3R0b20pOwogICAgICAgICBpZiAoIWZsb2F0TG9naWNh
bEJvdHRvbSkKQEAgLTEzOTEsMTkgKzEzOTEsMTkgQEAgdm9pZCBSZW5kZXJCbG9jazo6Zml0QmVs
b3dGbG9hdHMoaW50IHdpZAogICAgIH0KIH0KIAotc3RhdGljIGlubGluZSB1bnNpZ25lZCB0ZXh0
V2lkdGgoUmVuZGVyVGV4dCogdGV4dCwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25z
dCBGb250JiBmb250LCBpbnQgeFBvcywgYm9vbCBpc0ZpeGVkUGl0Y2gsIGJvb2wgY29sbGFwc2VX
aGl0ZVNwYWNlKQorc3RhdGljIGlubGluZSBmbG9hdCB0ZXh0V2lkdGgoUmVuZGVyVGV4dCogdGV4
dCwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmb250LCBmbG9hdCB4
UG9zLCBib29sIGlzRml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UpCiB7CiAgICAg
aWYgKGlzRml4ZWRQaXRjaCB8fCAoIWZyb20gJiYgbGVuID09IHRleHQtPnRleHRMZW5ndGgoKSkg
fHwgdGV4dC0+c3R5bGUoKS0+aGFzVGV4dENvbWJpbmUoKSkKICAgICAgICAgcmV0dXJuIHRleHQt
PndpZHRoKGZyb20sIGxlbiwgZm9udCwgeFBvcyk7CiAgICAgcmV0dXJuIGZvbnQud2lkdGgoVGV4
dFJ1bih0ZXh0LT5jaGFyYWN0ZXJzKCkgKyBmcm9tLCBsZW4sICFjb2xsYXBzZVdoaXRlU3BhY2Us
IHhQb3MpKTsKIH0KIAotc3RhdGljIHZvaWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCogdGV4
dCwgY29uc3QgRm9udCYgZm9udCwgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbGVJZGVudGlmaWVy
LCBpbnQgbGFzdFNwYWNlLCBpbnQgcG9zLCBpbnQgeFBvcywgaW50IGF2YWlsYWJsZVdpZHRoLCBi
b29sIGlzRml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UsIGludCBsYXN0U3BhY2VX
b3JkU3BhY2luZywgSW5saW5lSXRlcmF0b3ImIGxpbmVCcmVhaywgaW50IG5leHRCcmVha2FibGUs
IGJvb2wmIGh5cGhlbmF0ZWQpCitzdGF0aWMgdm9pZCB0cnlIeXBoZW5hdGluZyhSZW5kZXJUZXh0
KiB0ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsZUlkZW50
aWZpZXIsIGludCBsYXN0U3BhY2UsIGludCBwb3MsIGZsb2F0IHhQb3MsIGludCBhdmFpbGFibGVX
aWR0aCwgYm9vbCBpc0ZpeGVkUGl0Y2gsIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlLCBpbnQgbGFz
dFNwYWNlV29yZFNwYWNpbmcsIElubGluZUl0ZXJhdG9yJiBsaW5lQnJlYWssIGludCBuZXh0QnJl
YWthYmxlLCBib29sJiBoeXBoZW5hdGVkKQogewogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaHlw
aGVuU3RyaW5nID0gdGV4dC0+c3R5bGUoKS0+aHlwaGVuU3RyaW5nKCk7CiAgICAgaW50IGh5cGhl
bldpZHRoID0gZm9udC53aWR0aChUZXh0UnVuKGh5cGhlblN0cmluZy5jaGFyYWN0ZXJzKCksIGh5
cGhlblN0cmluZy5sZW5ndGgoKSkpOwogCi0gICAgaW50IG1heFByZWZpeFdpZHRoID0gYXZhaWxh
YmxlV2lkdGggLSB4UG9zIC0gaHlwaGVuV2lkdGggLSBsYXN0U3BhY2VXb3JkU3BhY2luZzsKKyAg
ICBmbG9hdCBtYXhQcmVmaXhXaWR0aCA9IGF2YWlsYWJsZVdpZHRoIC0geFBvcyAtIGh5cGhlbldp
ZHRoIC0gbGFzdFNwYWNlV29yZFNwYWNpbmc7CiAgICAgLy8gSWYgdGhlIG1heGltdW0gd2lkdGgg
YXZhaWxhYmxlIGZvciB0aGUgcHJlZml4IGJlZm9yZSB0aGUgaHlwaGVuIGlzIHNtYWxsLCB0aGVu
IGl0IGlzIHZlcnkgdW5saWtlbHkKICAgICAvLyB0aGF0IGFuIGh5cGhlbmF0aW9uIG9wcG9ydHVu
aXR5IGV4aXN0cywgc28gZG8gbm90IGJvdGhlciB0byBsb29rIGZvciBpdC4KICAgICBpZiAobWF4
UHJlZml4V2lkdGggPD0gZm9udC5waXhlbFNpemUoKSAqIDUgLyA0KQpAQCAtMTQxOCw3ICsxNDE4
LDcgQEAgc3RhdGljIHZvaWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCogdAogICAgICAgICBy
ZXR1cm47CiAKICNpZiAhQVNTRVJUX0RJU0FCTEVECi0gICAgaW50IHByZWZpeFdpZHRoID0gaHlw
aGVuV2lkdGggKyB0ZXh0V2lkdGgodGV4dCwgbGFzdFNwYWNlLCBwcmVmaXhMZW5ndGgsIGZvbnQs
IHhQb3MsIGlzRml4ZWRQaXRjaCwgY29sbGFwc2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRT
cGFjaW5nOworICAgIGZsb2F0IHByZWZpeFdpZHRoID0gaHlwaGVuV2lkdGggKyB0ZXh0V2lkdGgo
dGV4dCwgbGFzdFNwYWNlLCBwcmVmaXhMZW5ndGgsIGZvbnQsIHhQb3MsIGlzRml4ZWRQaXRjaCwg
Y29sbGFwc2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOwogICAgIEFTU0VSVCh4
UG9zICsgcHJlZml4V2lkdGggPD0gYXZhaWxhYmxlV2lkdGgpOwogI2Vsc2UKICAgICBVTlVTRURf
UEFSQU0oaXNGaXhlZFBpdGNoKTsKQEAgLTE0MzgsMTAgKzE0MzgsMTAgQEAgSW5saW5lSXRlcmF0
b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZQogICAgIGJvb2wgYXBwbGllZFN0YXJ0V2lkdGgg
PSByZXNvbHZlci5wb3NpdGlvbigpLnBvcyA+IDA7CiAgICAgTGluZU1pZHBvaW50U3RhdGUmIGxp
bmVNaWRwb2ludFN0YXRlID0gcmVzb2x2ZXIubWlkcG9pbnRTdGF0ZSgpOwogICAgIAotICAgIGlu
dCB3aWR0aCA9IHNraXBMZWFkaW5nV2hpdGVzcGFjZShyZXNvbHZlciwgZmlyc3RMaW5lLCBpc0xp
bmVFbXB0eSwgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBsYXN0RmxvYXRGcm9tUHJldmlvdXNM
aW5lKTsKKyAgICBmbG9hdCB3aWR0aCA9IHNraXBMZWFkaW5nV2hpdGVzcGFjZShyZXNvbHZlciwg
Zmlyc3RMaW5lLCBpc0xpbmVFbXB0eSwgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBsYXN0Rmxv
YXRGcm9tUHJldmlvdXNMaW5lKTsKIAotICAgIGludCB3ID0gMDsKLSAgICBpbnQgdG1wVyA9IDA7
CisgICAgZmxvYXQgdyA9IDA7CisgICAgZmxvYXQgdG1wVyA9IDA7CiAKICAgICBpZiAocmVzb2x2
ZXIucG9zaXRpb24oKS5hdEVuZCgpKQogICAgICAgICByZXR1cm4gcmVzb2x2ZXIucG9zaXRpb24o
KTsKQEAgLTE0NjAsOCArMTQ2MCw4IEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5k
TmV4dExpbmUKIAogICAgIElubGluZUl0ZXJhdG9yIGxCcmVhayA9IHJlc29sdmVyLnBvc2l0aW9u
KCk7CiAKLSAgICBSZW5kZXJPYmplY3QgKm8gPSByZXNvbHZlci5wb3NpdGlvbigpLm9iajsKLSAg
ICBSZW5kZXJPYmplY3QgKmxhc3QgPSBvOworICAgIFJlbmRlck9iamVjdCogbyA9IHJlc29sdmVy
LnBvc2l0aW9uKCkub2JqOworICAgIFJlbmRlck9iamVjdCogbGFzdCA9IG87CiAgICAgdW5zaWdu
ZWQgcG9zID0gcmVzb2x2ZXIucG9zaXRpb24oKS5wb3M7CiAgICAgaW50IG5leHRCcmVha2FibGUg
PSByZXNvbHZlci5wb3NpdGlvbigpLm5leHRCcmVha2FibGVQb3NpdGlvbjsKICAgICBib29sIGF0
U3RhcnQgPSB0cnVlOwpAQCAtMTY1OCwyMiArMTY1OCwyMiBAQCBJbmxpbmVJdGVyYXRvciBSZW5k
ZXJCbG9jazo6ZmluZE5leHRMaW5lCiAgICAgICAgICAgICBib29sIGNhbkh5cGhlbmF0ZSA9IHN0
eWxlLT5oeXBoZW5zKCkgPT0gSHlwaGVuc0F1dG8gJiYgV2ViQ29yZTo6Y2FuSHlwaGVuYXRlKHN0
eWxlLT5oeXBoZW5hdGlvbkxvY2FsZSgpKTsKIAogICAgICAgICAgICAgaW50IGxhc3RTcGFjZSA9
IHBvczsKLSAgICAgICAgICAgIGludCB3b3JkU3BhY2luZyA9IG8tPnN0eWxlKCktPndvcmRTcGFj
aW5nKCk7Ci0gICAgICAgICAgICBpbnQgbGFzdFNwYWNlV29yZFNwYWNpbmcgPSAwOworICAgICAg
ICAgICAgZmxvYXQgd29yZFNwYWNpbmcgPSBvLT5zdHlsZSgpLT53b3JkU3BhY2luZygpOworICAg
ICAgICAgICAgZmxvYXQgbGFzdFNwYWNlV29yZFNwYWNpbmcgPSAwOwogCiAgICAgICAgICAgICAv
LyBOb24temVybyBvbmx5IHdoZW4ga2VybmluZyBpcyBlbmFibGVkLCBpbiB3aGljaCBjYXNlIHdl
IG1lYXN1cmUgd29yZHMgd2l0aCB0aGVpciB0cmFpbGluZwogICAgICAgICAgICAgLy8gc3BhY2Us
IHRoZW4gc3VidHJhY3QgaXRzIHdpZHRoLgotICAgICAgICAgICAgaW50IHdvcmRUcmFpbGluZ1Nw
YWNlV2lkdGggPSBmLnR5cGVzZXR0aW5nRmVhdHVyZXMoKSAmIEtlcm5pbmcgPyBmLndpZHRoKFRl
eHRSdW4oJnNwYWNlLCAxKSkgKyB3b3JkU3BhY2luZyA6IDA7CisgICAgICAgICAgICBmbG9hdCB3
b3JkVHJhaWxpbmdTcGFjZVdpZHRoID0gZi50eXBlc2V0dGluZ0ZlYXR1cmVzKCkgJiBLZXJuaW5n
ID8gZi53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpICsgd29yZFNwYWNpbmcgOiAwOwogCi0gICAg
ICAgICAgICBpbnQgd3JhcFcgPSB0bXBXICsgaW5saW5lTG9naWNhbFdpZHRoKG8sICFhcHBsaWVk
U3RhcnRXaWR0aCwgdHJ1ZSk7Ci0gICAgICAgICAgICBpbnQgY2hhcldpZHRoID0gMDsKKyAgICAg
ICAgICAgIGZsb2F0IHdyYXBXID0gdG1wVyArIGlubGluZUxvZ2ljYWxXaWR0aChvLCAhYXBwbGll
ZFN0YXJ0V2lkdGgsIHRydWUpOworICAgICAgICAgICAgZmxvYXQgY2hhcldpZHRoID0gMDsKICAg
ICAgICAgICAgIGJvb2wgYnJlYWtOQlNQID0gYXV0b1dyYXAgJiYgby0+c3R5bGUoKS0+bmJzcE1v
ZGUoKSA9PSBTUEFDRTsKICAgICAgICAgICAgIC8vIEF1dG8td3JhcHBpbmcgdGV4dCBzaG91bGQg
d3JhcCBpbiB0aGUgbWlkZGxlIG9mIGEgd29yZCBvbmx5IGlmIGl0IGNvdWxkIG5vdCB3cmFwIGJl
Zm9yZSB0aGUgd29yZCwKICAgICAgICAgICAgIC8vIHdoaWNoIGlzIG9ubHkgcG9zc2libGUgaWYg
dGhlIHdvcmQgaXMgdGhlIGZpcnN0IHRoaW5nIG9uIHRoZSBsaW5lLCB0aGF0IGlzLCBpZiB8d3wg
aXMgemVyby4KICAgICAgICAgICAgIGJvb2wgYnJlYWtXb3JkcyA9IG8tPnN0eWxlKCktPmJyZWFr
V29yZHMoKSAmJiAoKGF1dG9XcmFwICYmICF3KSB8fCBjdXJyV1MgPT0gUFJFKTsKICAgICAgICAg
ICAgIGJvb2wgbWlkV29yZEJyZWFrID0gZmFsc2U7CiAgICAgICAgICAgICBib29sIGJyZWFrQWxs
ID0gby0+c3R5bGUoKS0+d29yZEJyZWFrKCkgPT0gQnJlYWtBbGxXb3JkQnJlYWsgJiYgYXV0b1dy
YXA7Ci0gICAgICAgICAgICBpbnQgaHlwaGVuV2lkdGggPSAwOworICAgICAgICAgICAgZmxvYXQg
aHlwaGVuV2lkdGggPSAwOwogCiAgICAgICAgICAgICBpZiAodC0+aXNXb3JkQnJlYWsoKSkgewog
ICAgICAgICAgICAgICAgIHcgKz0gdG1wVzsKQEAgLTE3NDIsNyArMTc0Miw3IEBAIElubGluZUl0
ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4dExpbmUKICAgICAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgICAgIGludCBhZGRp
dGlvbmFsVG1wVzsKKyAgICAgICAgICAgICAgICAgICAgZmxvYXQgYWRkaXRpb25hbFRtcFc7CiAg
ICAgICAgICAgICAgICAgICAgIGlmICh3b3JkVHJhaWxpbmdTcGFjZVdpZHRoICYmIGN1cnJlbnRD
aGFyYWN0ZXJJc1NwYWNlKQogICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFRtcFcg
PSB0ZXh0V2lkdGgodCwgbGFzdFNwYWNlLCBwb3MgKyAxIC0gbGFzdFNwYWNlLCBmLCB3ICsgdG1w
VywgaXNGaXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UpIC0gd29yZFRyYWlsaW5nU3BhY2VX
aWR0aCArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOwogICAgICAgICAgICAgICAgICAgICBlbHNlCkBA
IC0xODkyLDcgKzE4OTIsNyBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9jazo6ZmluZE5leHRM
aW5lCiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIElNUE9SVEFOVDogcG9zIGlzID4g
bGVuZ3RoIGhlcmUhCi0gICAgICAgICAgICBpbnQgYWRkaXRpb25hbFRtcFcgPSBpZ25vcmluZ1Nw
YWNlcyA/IDAgOiB0ZXh0V2lkdGgodCwgbGFzdFNwYWNlLCBwb3MgLSBsYXN0U3BhY2UsIGYsIHcg
KyB0bXBXLCBpc0ZpeGVkUGl0Y2gsIGNvbGxhcHNlV2hpdGVTcGFjZSkgKyBsYXN0U3BhY2VXb3Jk
U3BhY2luZzsKKyAgICAgICAgICAgIGZsb2F0IGFkZGl0aW9uYWxUbXBXID0gaWdub3JpbmdTcGFj
ZXMgPyAwIDogdGV4dFdpZHRoKHQsIGxhc3RTcGFjZSwgcG9zIC0gbGFzdFNwYWNlLCBmLCB3ICsg
dG1wVywgaXNGaXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UpICsgbGFzdFNwYWNlV29yZFNw
YWNpbmc7CiAgICAgICAgICAgICB0bXBXICs9IGFkZGl0aW9uYWxUbXBXOwogICAgICAgICAgICAg
dG1wVyArPSBpbmxpbmVMb2dpY2FsV2lkdGgobywgIWFwcGxpZWRTdGFydFdpZHRoLCB0cnVlKTsK
IApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9uIDc3
Mzk3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEzMjksNyArMTMyOSw3IEBAIHZvaWQgUmVuZGVyQm94Ojpwb3NpdGlvbkxpbmVC
b3goSW5saW5lQm8KICAgICAgICAgYm94LT5yZW1vdmUoKTsKICAgICAgICAgYm94LT5kZXN0cm95
KHJlbmRlckFyZW5hKCkpOwogICAgIH0gZWxzZSBpZiAoaXNSZXBsYWNlZCgpKSB7Ci0gICAgICAg
IHNldExvY2F0aW9uKGJveC0+eCgpLCBib3gtPnkoKSk7CisgICAgICAgIHNldExvY2F0aW9uKGxy
b3VuZGYoYm94LT54KCkpLCBscm91bmRmKGJveC0+eSgpKSk7CiAgICAgICAgIG1faW5saW5lQm94
V3JhcHBlciA9IGJveDsKICAgICB9CiB9CkBAIC0zMzQ4LDYgKzMzNDgsMjQgQEAgSW50U2l6ZSBS
ZW5kZXJCb3g6OmZsaXBGb3JXcml0aW5nTW9kZShjbwogICAgIHJldHVybiBzdHlsZSgpLT5pc0hv
cml6b250YWxXcml0aW5nTW9kZSgpID8gSW50U2l6ZShvZmZzZXQud2lkdGgoKSwgaGVpZ2h0KCkg
LSBvZmZzZXQuaGVpZ2h0KCkpIDogSW50U2l6ZSh3aWR0aCgpIC0gb2Zmc2V0LndpZHRoKCksIG9m
ZnNldC5oZWlnaHQoKSk7CiB9CiAKK0Zsb2F0UG9pbnQgUmVuZGVyQm94OjpmbGlwRm9yV3JpdGlu
Z01vZGUoY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24pIGNvbnN0Cit7CisgICAgaWYgKCFzdHls
ZSgpLT5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQorICAgICAgICByZXR1cm4gcG9zaXRp
b247CisgICAgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBGbG9h
dFBvaW50KHBvc2l0aW9uLngoKSwgaGVpZ2h0KCkgLSBwb3NpdGlvbi55KCkpIDogRmxvYXRQb2lu
dCh3aWR0aCgpIC0gcG9zaXRpb24ueCgpLCBwb3NpdGlvbi55KCkpOworfQorCit2b2lkIFJlbmRl
ckJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKK3sKKyAgICBp
ZiAoIXN0eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIGlmIChzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQorICAgICAg
ICByZWN0LnNldFkoaGVpZ2h0KCkgLSByZWN0Lm1heFkoKSk7CisgICAgZWxzZQorICAgICAgICBy
ZWN0LnNldFgod2lkdGgoKSAtIHJlY3QubWF4WCgpKTsKK30KKwogSW50U2l6ZSBSZW5kZXJCb3g6
OmxvY2F0aW9uT2Zmc2V0SW5jbHVkaW5nRmxpcHBpbmcoKSBjb25zdAogewogICAgIGlmICghcGFy
ZW50KCkgfHwgIXBhcmVudCgpLT5pc0JveCgpKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guaAkocmV2aXNpb24gNzczOTcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4NSw2ICszODUsOCBAQCBwdWJsaWM6CiAg
ICAgSW50UG9pbnQgZmxpcEZvcldyaXRpbmdNb2RlSW5jbHVkaW5nQ29sdW1ucyhjb25zdCBJbnRQ
b2ludCYpIGNvbnN0OwogICAgIEludFNpemUgZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEludFNp
emUmKSBjb25zdDsKICAgICB2b2lkIGZsaXBGb3JXcml0aW5nTW9kZShJbnRSZWN0JikgY29uc3Q7
CisgICAgRmxvYXRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgRmxvYXRQb2ludCYpIGNv
bnN0OworICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0UmVjdCYpIGNvbnN0OwogICAg
IEludFNpemUgbG9jYXRpb25PZmZzZXRJbmNsdWRpbmdGbGlwcGluZygpIGNvbnN0OwogCiAgICAg
SW50UmVjdCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24oUmVuZGVyU3R5
bGUqKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5l
VGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNv
bWJpbmVUZXh0LmNwcAkocmV2aXNpb24gNzczODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQ29tYmluZVRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw3IEBA
IHZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OnNldFRleHRJbnRlcm5hbCgKICAgICBtX25lZWRzRm9u
dFVwZGF0ZSA9IHRydWU7CiB9CiAKLXVuc2lnbmVkIFJlbmRlckNvbWJpbmVUZXh0Ojp3aWR0aCh1
bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnQmIGZvbnQsIGludCB4UG9z
aXRpb24sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5
cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKK2Zsb2F0IFJlbmRlckNvbWJpbmVUZXh0
Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnQmIGZvbnQs
IGZsb2F0IHhQb3NpdGlvbiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFj
a0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAogewogICAgIGlmICgh
Y2hhcmFjdGVycygpKQogICAgICAgICByZXR1cm4gMDsKQEAgLTYzLDcgKzYzLDcgQEAgdW5zaWdu
ZWQgUmVuZGVyQ29tYmluZVRleHQ6OndpZHRoKHVuc2lnbgogICAgIHJldHVybiBSZW5kZXJUZXh0
Ojp3aWR0aChmcm9tLCBsZW5ndGgsIGZvbnQsIHhQb3NpdGlvbiwgZmFsbGJhY2tGb250cywgZ2x5
cGhPdmVyZmxvdyk7CiB9CiAKLXZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OmFkanVzdFRleHRPcmln
aW4oSW50UG9pbnQmIHRleHRPcmlnaW4sIGNvbnN0IEludFJlY3QmIGJveFJlY3QpIGNvbnN0Cit2
b2lkIFJlbmRlckNvbWJpbmVUZXh0OjphZGp1c3RUZXh0T3JpZ2luKEZsb2F0UG9pbnQmIHRleHRP
cmlnaW4sIGNvbnN0IEZsb2F0UmVjdCYgYm94UmVjdCkgY29uc3QKIHsKICAgICBpZiAobV9pc0Nv
bWJpbmVkKQogICAgICAgICB0ZXh0T3JpZ2luLm1vdmUoYm94UmVjdC5oZWlnaHQoKSAvIDIgLSBj
ZWlsZihtX2NvbWJpbmVkVGV4dFdpZHRoKSAvIDIsIHN0eWxlKCktPmZvbnQoKS5waXhlbFNpemUo
KSk7CkBAIC05NCw3ICs5NCw3IEBAIHZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OmNvbWJpbmVUZXh0
KCkKIAogICAgIFRleHRSdW4gcnVuID0gVGV4dFJ1bihTdHJpbmcodGV4dCgpKSk7CiAgICAgZmxv
YXQgZW1XaWR0aCA9IHN0eWxlKCktPmZvbnQoKS5mb250RGVzY3JpcHRpb24oKS5jb21wdXRlZFNp
emUoKSAqIHRleHRDb21iaW5lTWFyZ2luOwotICAgIG1fY29tYmluZWRUZXh0V2lkdGggPSBzdHls
ZSgpLT5mb250KCkuZmxvYXRXaWR0aChydW4pOworICAgIG1fY29tYmluZWRUZXh0V2lkdGggPSBz
dHlsZSgpLT5mb250KCkud2lkdGgocnVuKTsKICAgICBtX2lzQ29tYmluZWQgPSBtX2NvbWJpbmVk
VGV4dFdpZHRoIDw9IGVtV2lkdGg7CiAKICAgICBpZiAoIW1faXNDb21iaW5lZCkgewpAQCAtMTA1
LDcgKzEwNSw3IEBAIHZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OmNvbWJpbmVUZXh0KCkKICAgICAg
ICAgICAgIGNvbXByZXNzZWRGb250RGVzY3JpcHRpb24uc2V0V2lkdGhWYXJpYW50KHdpZHRoVmFy
aWFudHNbaV0pOwogICAgICAgICAgICAgRm9udCBjb21wcmVzc2VkRm9udCA9IEZvbnQoY29tcHJl
c3NlZEZvbnREZXNjcmlwdGlvbiwgc3R5bGUoKS0+Zm9udCgpLmxldHRlclNwYWNpbmcoKSwgc3R5
bGUoKS0+Zm9udCgpLndvcmRTcGFjaW5nKCkpOwogICAgICAgICAgICAgY29tcHJlc3NlZEZvbnQu
dXBkYXRlKHN0eWxlKCktPmZvbnQoKS5mb250U2VsZWN0b3IoKSk7Ci0gICAgICAgICAgICBmbG9h
dCBydW5XaWR0aCA9IGNvbXByZXNzZWRGb250LmZsb2F0V2lkdGgocnVuKTsKKyAgICAgICAgICAg
IGZsb2F0IHJ1bldpZHRoID0gY29tcHJlc3NlZEZvbnQud2lkdGgocnVuKTsKICAgICAgICAgICAg
IGlmIChydW5XaWR0aCA8PSBlbVdpZHRoKSB7CiAgICAgICAgICAgICAgICAgbV9jb21iaW5lZFRl
eHRXaWR0aCA9IHJ1bldpZHRoOwogICAgICAgICAgICAgICAgIG1faXNDb21iaW5lZCA9IHRydWU7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuaAko
cmV2aXNpb24gNzczODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmlu
ZVRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTMgKzMwLDEzIEBAIHB1YmxpYzoKICAgICBS
ZW5kZXJDb21iaW5lVGV4dChOb2RlKiwgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPik7CiAKICAgICB2
b2lkIGNvbWJpbmVUZXh0KCk7Ci0gICAgdm9pZCBhZGp1c3RUZXh0T3JpZ2luKEludFBvaW50JiB0
ZXh0T3JpZ2luLCBjb25zdCBJbnRSZWN0JiBib3hSZWN0KSBjb25zdDsKKyAgICB2b2lkIGFkanVz
dFRleHRPcmlnaW4oRmxvYXRQb2ludCYgdGV4dE9yaWdpbiwgY29uc3QgRmxvYXRSZWN0JiBib3hS
ZWN0KSBjb25zdDsKICAgICB2b2lkIGNoYXJhY3RlcnNUb1JlbmRlcihpbnQgc3RhcnQsIGNvbnN0
IFVDaGFyKiYgY2hhcmFjdGVycywgaW50JiBsZW5ndGgpIGNvbnN0OwogICAgIGJvb2wgaXNDb21i
aW5lZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNDb21iaW5lZDsgfQotICAgIGludCBjb21iaW5lZFRl
eHRXaWR0aChjb25zdCBGb250JiBmb250KSBjb25zdCB7IHJldHVybiBmb250LnNpemUoKTsgfQor
ICAgIGZsb2F0IGNvbWJpbmVkVGV4dFdpZHRoKGNvbnN0IEZvbnQmIGZvbnQpIGNvbnN0IHsgcmV0
dXJuIGZvbnQuc2l6ZSgpOyB9CiAKIHByaXZhdGU6Ci0gICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0
aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnQmLCBpbnQgeFBvc2l0
aW9uLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBH
bHlwaE92ZXJmbG93KiA9IDApIGNvbnN0OworICAgIHZpcnR1YWwgZmxvYXQgd2lkdGgodW5zaWdu
ZWQgZnJvbSwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBGb250JiwgZmxvYXQgeFBvc2l0aW9uLCBI
YXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92
ZXJmbG93KiA9IDApIGNvbnN0OwogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgp
IGNvbnN0IHsgcmV0dXJuICJSZW5kZXJDb21iaW5lVGV4dCI7IH0KICAgICB2aXJ0dWFsIHZvaWQg
c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5
bGUpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0SW50ZXJuYWwoUGFzc1JlZlB0cjxTdHJpbmdJ
bXBsPik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmpl
Y3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJl
ZGRlZE9iamVjdC5jcHAJKHJldmlzaW9uIDc3Mzg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk5LDggKzE5
OSw3IEBAIGJvb2wgUmVuZGVyRW1iZWRkZWRPYmplY3Q6OmdldFJlcGxhY2VtZW4KICAgICBmb250
LnVwZGF0ZSgwKTsKICAgICAKICAgICBydW4gPSBUZXh0UnVuKG1fcmVwbGFjZW1lbnRUZXh0LmNo
YXJhY3RlcnMoKSwgbV9yZXBsYWNlbWVudFRleHQubGVuZ3RoKCkpOwotICAgIHJ1bi5kaXNhYmxl
Um91bmRpbmdIYWNrcygpOwotICAgIHRleHRXaWR0aCA9IGZvbnQuZmxvYXRXaWR0aChydW4pOwor
ICAgIHRleHRXaWR0aCA9IGZvbnQud2lkdGgocnVuKTsKICAgICAKICAgICByZXBsYWNlbWVudFRl
eHRSZWN0LnNldFNpemUoRmxvYXRTaXplKHRleHRXaWR0aCArIHJlcGxhY2VtZW50VGV4dFJvdW5k
ZWRSZWN0TGVmdFJpZ2h0VGV4dE1hcmdpbiAqIDIsIHJlcGxhY2VtZW50VGV4dFJvdW5kZWRSZWN0
SGVpZ2h0KSk7CiAgICAgZmxvYXQgeCA9IChjb250ZW50UmVjdC5zaXplKCkud2lkdGgoKSAvIDIg
LSByZXBsYWNlbWVudFRleHRSZWN0LnNpemUoKS53aWR0aCgpIC8gMikgKyBjb250ZW50UmVjdC5s
b2NhdGlvbigpLngoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxl
VXBsb2FkQ29udHJvbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAkocmV2aXNpb24gNzczODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNzMsNyArMjczLDcgQEAgdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y29t
cHV0ZVByZQogICAgICAgICAvLyBGaWd1cmUgb3V0IGhvdyBiaWcgdGhlIGZpbGVuYW1lIHNwYWNl
IG5lZWRzIHRvIGJlIGZvciBhIGdpdmVuIG51bWJlciBvZiBjaGFyYWN0ZXJzCiAgICAgICAgIC8v
ICh1c2luZyAiMCIgYXMgdGhlIG5vbWluYWwgY2hhcmFjdGVyKS4KICAgICAgICAgY29uc3QgVUNo
YXIgY2ggPSAnMCc7Ci0gICAgICAgIGZsb2F0IGNoYXJXaWR0aCA9IHN0eWxlKCktPmZvbnQoKS5m
bG9hdFdpZHRoKFRleHRSdW4oJmNoLCAxLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFp
bGluZ0V4cGFuc2lvbiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkpOworICAgICAgICBmbG9hdCBjaGFy
V2lkdGggPSBzdHlsZSgpLT5mb250KCkud2lkdGgoVGV4dFJ1bigmY2gsIDEsIGZhbHNlLCAwLCAw
LCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBmYWxzZSkpOwogICAgICAgICBtX21h
eFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IChpbnQpY2VpbGYoY2hhcldpZHRoICogZGVmYXVsdFdp
ZHRoTnVtQ2hhcnMpOwogICAgIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckltYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW1hZ2UuY3BwCShyZXZpc2lvbiA3NzM4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgxLDcgKzgxLDcgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIHNob3J0IHBhZGRpbmdIZWlnaAogCiAvLyBBbHQgdGV4dCBpcyByZXN0
cmljdGVkIHRvIHRoaXMgbWF4aW11bSBzaXplLCBpbiBwaXhlbHMuICBUaGVzZSBhcmUKIC8vIHNp
Z25lZCBpbnRlZ2VycyBiZWNhdXNlIHRoZXkgYXJlIGNvbXBhcmVkIHdpdGggb3RoZXIgc2lnbmVk
IHZhbHVlcy4KLXN0YXRpYyBjb25zdCBpbnQgbWF4QWx0VGV4dFdpZHRoID0gMTAyNDsKK3N0YXRp
YyBjb25zdCBmbG9hdCBtYXhBbHRUZXh0V2lkdGggPSAxMDI0Owogc3RhdGljIGNvbnN0IGludCBt
YXhBbHRUZXh0SGVpZ2h0ID0gMjU2OwogCiBJbnRTaXplIFJlbmRlckltYWdlOjppbWFnZVNpemVG
b3JFcnJvcihDYWNoZWRJbWFnZSogbmV3SW1hZ2UpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAkocmV2aXNpb24gNzczOTcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYz
LDggKzk2Myw4IEBAIHZvaWQgUmVuZGVySW5saW5lOjphZGRGb2N1c1JpbmdSZWN0cyhWZWMKIHsK
ICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1cnIgPSBmaXJzdExpbmVCb3goKTsgY3VycjsgY3Vy
ciA9IGN1cnItPm5leHRMaW5lQm94KCkpIHsKICAgICAgICAgUm9vdElubGluZUJveCogcm9vdCA9
IGN1cnItPnJvb3QoKTsKLSAgICAgICAgaW50IHRvcCA9IG1heChyb290LT5saW5lVG9wKCksIGN1
cnItPnkoKSk7Ci0gICAgICAgIGludCBib3R0b20gPSBtaW4ocm9vdC0+bGluZUJvdHRvbSgpLCBj
dXJyLT55KCkgKyBjdXJyLT5sb2dpY2FsSGVpZ2h0KCkpOworICAgICAgICBpbnQgdG9wID0gbWF4
KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+bG9naWNhbFRvcCgpKTsKKyAgICAgICAgaW50IGJvdHRv
bSA9IG1pbihyb290LT5saW5lQm90dG9tKCksIGN1cnItPmxvZ2ljYWxCb3R0b20oKSk7CiAgICAg
ICAgIEludFJlY3QgcmVjdCh0eCArIGN1cnItPngoKSwgdHkgKyB0b3AsIGN1cnItPmxvZ2ljYWxX
aWR0aCgpLCBib3R0b20gLSB0b3ApOwogICAgICAgICBpZiAoIXJlY3QuaXNFbXB0eSgpKQogICAg
ICAgICAgICAgcmVjdHMuYXBwZW5kKHJlY3QpOwpAQCAtMTAxNSw4ICsxMDE1LDggQEAgdm9pZCBS
ZW5kZXJJbmxpbmU6OnBhaW50T3V0bGluZShHcmFwaGljcwogICAgIHJlY3RzLmFwcGVuZChJbnRS
ZWN0KCkpOwogICAgIGZvciAoSW5saW5lRmxvd0JveCogY3VyciA9IGZpcnN0TGluZUJveCgpOyBj
dXJyOyBjdXJyID0gY3Vyci0+bmV4dExpbmVCb3goKSkgewogICAgICAgICBSb290SW5saW5lQm94
KiByb290ID0gY3Vyci0+cm9vdCgpOwotICAgICAgICBpbnQgdG9wID0gbWF4KHJvb3QtPmxpbmVU
b3AoKSwgY3Vyci0+eSgpKTsKLSAgICAgICAgaW50IGJvdHRvbSA9IG1pbihyb290LT5saW5lQm90
dG9tKCksIGN1cnItPnkoKSArIGN1cnItPmxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgIGludCB0
b3AgPSBtYXgocm9vdC0+bGluZVRvcCgpLCBjdXJyLT5sb2dpY2FsVG9wKCkpOworICAgICAgICBp
bnQgYm90dG9tID0gbWluKHJvb3QtPmxpbmVCb3R0b20oKSwgY3Vyci0+bG9naWNhbEJvdHRvbSgp
KTsKICAgICAgICAgcmVjdHMuYXBwZW5kKEludFJlY3QoY3Vyci0+eCgpLCB0b3AsIGN1cnItPmxv
Z2ljYWxXaWR0aCgpLCBib3R0b20gLSB0b3ApKTsKICAgICB9CiAgICAgcmVjdHMuYXBwZW5kKElu
dFJlY3QoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3gu
Y3BwCShyZXZpc2lvbiA3NzM4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
aXN0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEyLDcgKzExMiw3IEBAIHZvaWQgUmVuZGVy
TGlzdEJveDo6dXBkYXRlRnJvbUVsZW1lbnQoKQogICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgaWYgKCF0ZXh0LmlzRW1wdHkoKSkgewotICAgICAgICAgICAgICAg
IGZsb2F0IHRleHRXaWR0aCA9IGl0ZW1Gb250LmZsb2F0V2lkdGgoVGV4dFJ1bih0ZXh0LmltcGwo
KSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlLCBm
YWxzZSwgZmFsc2UsIGZhbHNlKSk7CisgICAgICAgICAgICAgICAgZmxvYXQgdGV4dFdpZHRoID0g
aXRlbUZvbnQud2lkdGgoVGV4dFJ1bih0ZXh0LmltcGwoKSwgZmFsc2UsIDAsIDAsIFRleHRSdW46
OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlLCBmYWxzZSkpOwogICAgICAgICAgICAgICAg
IHdpZHRoID0gbWF4KHdpZHRoLCB0ZXh0V2lkdGgpOwogICAgICAgICAgICAgfQogICAgICAgICB9
CkBAIC0zMzEsNyArMzMxLDcgQEAgdm9pZCBSZW5kZXJMaXN0Qm94OjpwYWludEl0ZW1Gb3JlZ3Jv
dW5kKAogCiAgICAgdW5zaWduZWQgbGVuZ3RoID0gaXRlbVRleHQubGVuZ3RoKCk7CiAgICAgY29u
c3QgVUNoYXIqIHN0cmluZyA9IGl0ZW1UZXh0LmNoYXJhY3RlcnMoKTsKLSAgICBUZXh0UnVuIHRl
eHRSdW4oc3RyaW5nLCBsZW5ndGgsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5n
RXhwYW5zaW9uLCAhaXRlbVN0eWxlLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIGl0ZW1TdHls
ZS0+dW5pY29kZUJpZGkoKSA9PSBPdmVycmlkZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBUZXh0UnVu
IHRleHRSdW4oc3RyaW5nLCBsZW5ndGgsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWls
aW5nRXhwYW5zaW9uLCAhaXRlbVN0eWxlLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIGl0ZW1T
dHlsZS0+dW5pY29kZUJpZGkoKSA9PSBPdmVycmlkZSk7CiAKICAgICAvLyBEcmF3IHRoZSBpdGVt
IHRleHQKICAgICBpZiAoaXRlbVN0eWxlLT52aXNpYmlsaXR5KCkgIT0gSElEREVOKQpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCShyZXZpc2lvbiA3
NzM4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE1MSwxMCArMTUxLDEwIEBAIHZvaWQgUmVuZGVyTWVudUxpc3Q6OnVw
ZGF0ZU9wdGlvbnNXaWR0aCgKICAgICAgICAgICAgIGlmIChSZW5kZXJTdHlsZSogb3B0aW9uU3R5
bGUgPSBlbGVtZW50LT5yZW5kZXJTdHlsZSgpKQogICAgICAgICAgICAgICAgIG9wdGlvbldpZHRo
ICs9IG9wdGlvblN0eWxlLT50ZXh0SW5kZW50KCkuY2FsY01pblZhbHVlKDApOwogICAgICAgICAg
ICAgaWYgKCF0ZXh0LmlzRW1wdHkoKSkKLSAgICAgICAgICAgICAgICBvcHRpb25XaWR0aCArPSBz
dHlsZSgpLT5mb250KCkuZmxvYXRXaWR0aCh0ZXh0KTsKKyAgICAgICAgICAgICAgICBvcHRpb25X
aWR0aCArPSBzdHlsZSgpLT5mb250KCkud2lkdGgodGV4dCk7CiAgICAgICAgICAgICBtYXhPcHRp
b25XaWR0aCA9IG1heChtYXhPcHRpb25XaWR0aCwgb3B0aW9uV2lkdGgpOwogICAgICAgICB9IGVs
c2UgaWYgKCF0ZXh0LmlzRW1wdHkoKSkKLSAgICAgICAgICAgIG1heE9wdGlvbldpZHRoID0gbWF4
KG1heE9wdGlvbldpZHRoLCBzdHlsZSgpLT5mb250KCkuZmxvYXRXaWR0aCh0ZXh0KSk7CisgICAg
ICAgICAgICBtYXhPcHRpb25XaWR0aCA9IG1heChtYXhPcHRpb25XaWR0aCwgc3R5bGUoKS0+Zm9u
dCgpLndpZHRoKHRleHQpKTsKICAgICB9CiAKICAgICBpbnQgd2lkdGggPSBzdGF0aWNfY2FzdDxp
bnQ+KGNlaWxmKG1heE9wdGlvbldpZHRoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHQuY3BwCShyZXZpc2lvbiA3NzM4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYwLDcgKzU2MCw3IEBAIElu
dFJlY3QgUmVuZGVyVGV4dDo6bG9jYWxDYXJldFJlY3QoSW5saW4KICAgICByZXR1cm4gc3R5bGUo
KS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEludFJlY3QobGVmdCwgdG9wLCBjYXJldFdp
ZHRoLCBoZWlnaHQpIDogSW50UmVjdCh0b3AsIGxlZnQsIGhlaWdodCwgY2FyZXRXaWR0aCk7CiB9
CiAKLUFMV0FZU19JTkxJTkUgaW50IFJlbmRlclRleHQ6OndpZHRoRnJvbUNhY2hlKGNvbnN0IEZv
bnQmIGYsIGludCBzdGFydCwgaW50IGxlbiwgaW50IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxl
Rm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykg
Y29uc3QKK0FMV0FZU19JTkxJTkUgZmxvYXQgUmVuZGVyVGV4dDo6d2lkdGhGcm9tQ2FjaGUoY29u
c3QgRm9udCYgZiwgaW50IHN0YXJ0LCBpbnQgbGVuLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0
IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3Zl
cmZsb3cpIGNvbnN0CiB7CiAgICAgaWYgKHN0eWxlKCktPmhhc1RleHRDb21iaW5lKCkpIHsKICAg
ICAgICAgY29uc3QgUmVuZGVyQ29tYmluZVRleHQqIGNvbWJpbmVUZXh0ID0gdG9SZW5kZXJDb21i
aW5lVGV4dCh0aGlzKTsKQEAgLTU2OSw5ICs1NjksOSBAQCBBTFdBWVNfSU5MSU5FIGludCBSZW5k
ZXJUZXh0Ojp3aWR0aEZyb21DCiAgICAgfQogCiAgICAgaWYgKGYuaXNGaXhlZFBpdGNoKCkgJiYg
IWYuaXNTbWFsbENhcHMoKSAmJiBtX2lzQWxsQVNDSUkpIHsKLSAgICAgICAgaW50IG1vbm9zcGFj
ZUNoYXJhY3RlcldpZHRoID0gZi5zcGFjZVdpZHRoKCk7Ci0gICAgICAgIGludCB0YWJXaWR0aCA9
IGFsbG93VGFicygpID8gbW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGggKiA4IDogMDsKLSAgICAgICAg
aW50IHcgPSAwOworICAgICAgICBmbG9hdCBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aCA9IGYuc3Bh
Y2VXaWR0aCgpOworICAgICAgICBmbG9hdCB0YWJXaWR0aCA9IGFsbG93VGFicygpID8gbW9ub3Nw
YWNlQ2hhcmFjdGVyV2lkdGggKiA4IDogMDsKKyAgICAgICAgZmxvYXQgdyA9IDA7CiAgICAgICAg
IGJvb2wgaXNTcGFjZTsKICAgICAgICAgYm9vbCBwcmV2aW91c0NoYXJXYXNTcGFjZSA9IHRydWU7
IC8vIEZJWE1FOiBQcmVzZXJ2ZXMgaGlzdG9yaWNhbCBiZWhhdmlvciwgYnV0IHNlZW1zIHdyb25n
IGZvciBzdGFydCA+IDAuCiAgICAgICAgIEFTU0VSVChtX3RleHQpOwpAQCAtNTgzLDcgKzU4Myw3
IEBAIEFMV0FZU19JTkxJTkUgaW50IFJlbmRlclRleHQ6OndpZHRoRnJvbUMKICAgICAgICAgICAg
ICAgICAgICAgdyArPSBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aDsKICAgICAgICAgICAgICAgICAg
ICAgaXNTcGFjZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChjID09ICdcdCcp
IHsKLSAgICAgICAgICAgICAgICAgICAgdyArPSB0YWJXaWR0aCA/IHRhYldpZHRoIC0gKCh4UG9z
ICsgdykgJSB0YWJXaWR0aCkgOiBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aDsKKyAgICAgICAgICAg
ICAgICAgICAgdyArPSB0YWJXaWR0aCA/IHRhYldpZHRoIC0gZm1vZGYoeFBvcyArIHcsIHRhYldp
ZHRoKSA6IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoOwogICAgICAgICAgICAgICAgICAgICBpc1Nw
YWNlID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAg
aXNTcGFjZSA9IGZhbHNlOwpAQCAtNjAxLDEyICs2MDEsMTIgQEAgQUxXQVlTX0lOTElORSBpbnQg
UmVuZGVyVGV4dDo6d2lkdGhGcm9tQwogICAgIHJldHVybiBmLndpZHRoKFRleHRSdW4odGV4dCgp
LT5jaGFyYWN0ZXJzKCkgKyBzdGFydCwgbGVuLCBhbGxvd1RhYnMoKSwgeFBvcyksIGZhbGxiYWNr
Rm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQogCi12b2lkIFJlbmRlclRleHQ6OnRyaW1tZWRQcmVm
V2lkdGhzKGludCBsZWFkV2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCYgYmVnaW5NaW5XLCBib29sJiBiZWdpbldTLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQmIGVuZE1pblcsIGJvb2wmIGVuZFdTLAordm9pZCBSZW5kZXJUZXh0Ojp0
cmltbWVkUHJlZldpZHRocyhmbG9hdCBsZWFkV2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZsb2F0JiBiZWdpbk1pblcsIGJvb2wmIGJlZ2luV1MsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBlbmRNaW5XLCBib29sJiBlbmRXUywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCYgaGFzQnJlYWthYmxlQ2hhciwg
Ym9vbCYgaGFzQnJlYWssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYg
YmVnaW5NYXhXLCBpbnQmIGVuZE1heFcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCYgbWluVywgaW50JiBtYXhXLCBib29sJiBzdHJpcEZyb250U3BhY2VzKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYgYmVnaW5NYXhXLCBmbG9hdCYgZW5k
TWF4VywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQmIG1pblcsIGZs
b2F0JiBtYXhXLCBib29sJiBzdHJpcEZyb250U3BhY2VzKQogewogICAgIGJvb2wgY29sbGFwc2VX
aGl0ZVNwYWNlID0gc3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNwYWNlKCk7CiAgICAgaWYgKCFjb2xs
YXBzZVdoaXRlU3BhY2UpCkBAIC02NDYsNyArNjQ2LDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojp0cmlt
bWVkUHJlZldpZHRocyhpbnQgbAogICAgICAgICBjb25zdCBGb250JiBmID0gc3R5bGUoKS0+Zm9u
dCgpOyAvLyBGSVhNRTogVGhpcyBpZ25vcmVzIGZpcnN0LWxpbmUuCiAgICAgICAgIGlmIChzdHJp
cEZyb250U3BhY2VzKSB7CiAgICAgICAgICAgICBjb25zdCBVQ2hhciBzcGFjZSA9ICcgJzsKLSAg
ICAgICAgICAgIGludCBzcGFjZVdpZHRoID0gZi53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpOwor
ICAgICAgICAgICAgZmxvYXQgc3BhY2VXaWR0aCA9IGYud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEp
KTsKICAgICAgICAgICAgIG1heFcgLT0gc3BhY2VXaWR0aDsKICAgICAgICAgfSBlbHNlCiAgICAg
ICAgICAgICBtYXhXICs9IGYud29yZFNwYWNpbmcoKTsKQEAgLTY5NSwyMyArNjk1LDIzIEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBpc1NwYWNlQWNjb3JkaW5nVG9TdHkKICAgICByZXR1cm4gYyA9PSAn
ICcgfHwgKGMgPT0gbm9CcmVha1NwYWNlICYmIHN0eWxlLT5uYnNwTW9kZSgpID09IFNQQUNFKTsK
IH0KIAotaW50IFJlbmRlclRleHQ6Om1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgpIGNvbnN0Citm
bG9hdCBSZW5kZXJUZXh0OjptaW5Mb2dpY2FsV2lkdGgoKSBjb25zdAogewogICAgIGlmIChwcmVm
ZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkoKSkKLSAgICAgICAgY29uc3RfY2FzdDxSZW5kZXJUZXh0
Kj4odGhpcyktPmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKDApOworICAgICAgICBjb25z
dF9jYXN0PFJlbmRlclRleHQqPih0aGlzKS0+Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMo
MC5mKTsKICAgICAgICAgCiAgICAgcmV0dXJuIG1fbWluV2lkdGg7CiB9CiAKLWludCBSZW5kZXJU
ZXh0OjptYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6
bWF4TG9naWNhbFdpZHRoKCkgY29uc3QKIHsKICAgICBpZiAocHJlZmVycmVkTG9naWNhbFdpZHRo
c0RpcnR5KCkpCi0gICAgICAgIGNvbnN0X2Nhc3Q8UmVuZGVyVGV4dCo+KHRoaXMpLT5jb21wdXRl
UHJlZmVycmVkTG9naWNhbFdpZHRocygwKTsKKyAgICAgICAgY29uc3RfY2FzdDxSZW5kZXJUZXh0
Kj4odGhpcyktPmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKDAuZik7CiAgICAgICAgIAog
ICAgIHJldHVybiBtX21heFdpZHRoOwogfQogCi12b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVm
ZXJyZWRMb2dpY2FsV2lkdGhzKGludCBsZWFkV2lkdGgpCit2b2lkIFJlbmRlclRleHQ6OmNvbXB1
dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCkKIHsKICAgICBIYXNoU2V0
PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4gZmFsbGJhY2tGb250czsKICAgICBHbHlwaE92ZXJmbG93
IGdseXBoT3ZlcmZsb3c7CkBAIC03MjAsNyArNzIwLDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21w
dXRlUHJlZmVycmVkTG9naWNhbAogICAgICAgICBtX2tub3duVG9IYXZlTm9PdmVyZmxvd0FuZE5v
RmFsbGJhY2tGb250cyA9IHRydWU7CiB9CiAKLXZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZl
cnJlZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRXaWR0aCwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250
RGF0YSo+JiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93JiBnbHlwaE92ZXJmbG93KQordm9p
ZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhmbG9hdCBsZWFkV2lk
dGgsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiYgZmFsbGJhY2tGb250cywgR2x5cGhP
dmVyZmxvdyYgZ2x5cGhPdmVyZmxvdykKIHsKICAgICBBU1NFUlQobV9oYXNUYWIgfHwgcHJlZmVy
cmVkTG9naWNhbFdpZHRoc0RpcnR5KCkgfHwgIW1fa25vd25Ub0hhdmVOb092ZXJmbG93QW5kTm9G
YWxsYmFja0ZvbnRzKTsKIApAQCAtNzMyLDggKzczMiw4IEBAIHZvaWQgUmVuZGVyVGV4dDo6Y29t
cHV0ZVByZWZlcnJlZExvZ2ljYWwKICAgICBpZiAoaXNCUigpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBpbnQgY3Vyck1pbldpZHRoID0gMDsKLSAgICBpbnQgY3Vyck1heFdpZHRoID0gMDsKKyAg
ICBmbG9hdCBjdXJyTWluV2lkdGggPSAwOworICAgIGZsb2F0IGN1cnJNYXhXaWR0aCA9IDA7CiAg
ICAgbV9oYXNCcmVha2FibGVDaGFyID0gZmFsc2U7CiAgICAgbV9oYXNCcmVhayA9IGZhbHNlOwog
ICAgIG1faGFzVGFiID0gZmFsc2U7CkBAIC03NDEsNyArNzQxLDcgQEAgdm9pZCBSZW5kZXJUZXh0
Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbAogICAgIG1faGFzRW5kV1MgPSBmYWxzZTsKIAogICAg
IGNvbnN0IEZvbnQmIGYgPSBzdHlsZSgpLT5mb250KCk7IC8vIEZJWE1FOiBUaGlzIGlnbm9yZXMg
Zmlyc3QtbGluZS4KLSAgICBpbnQgd29yZFNwYWNpbmcgPSBzdHlsZSgpLT53b3JkU3BhY2luZygp
OworICAgIGZsb2F0IHdvcmRTcGFjaW5nID0gc3R5bGUoKS0+d29yZFNwYWNpbmcoKTsKICAgICBp
bnQgbGVuID0gdGV4dExlbmd0aCgpOwogICAgIGNvbnN0IFVDaGFyKiB0eHQgPSBjaGFyYWN0ZXJz
KCk7CiAgICAgYm9vbCBuZWVkc1dvcmRTcGFjaW5nID0gZmFsc2U7CkBAIC04MjEsNyArODIxLDcg
QEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbAogCiAgICAgICAgIGlu
dCB3b3JkTGVuID0gaiAtIGk7CiAgICAgICAgIGlmICh3b3JkTGVuKSB7Ci0gICAgICAgICAgICBp
bnQgdyA9IHdpZHRoRnJvbUNhY2hlKGYsIGksIHdvcmRMZW4sIGxlYWRXaWR0aCArIGN1cnJNYXhX
aWR0aCwgJmZhbGxiYWNrRm9udHMsICZnbHlwaE92ZXJmbG93KTsKKyAgICAgICAgICAgIGZsb2F0
IHcgPSB3aWR0aEZyb21DYWNoZShmLCBpLCB3b3JkTGVuLCBsZWFkV2lkdGggKyBjdXJyTWF4V2lk
dGgsICZmYWxsYmFja0ZvbnRzLCAmZ2x5cGhPdmVyZmxvdyk7CiAgICAgICAgICAgICBpZiAoZmly
c3RHbHlwaExlZnRPdmVyZmxvdyA8IDApCiAgICAgICAgICAgICAgICAgZmlyc3RHbHlwaExlZnRP
dmVyZmxvdyA9IGdseXBoT3ZlcmZsb3cubGVmdDsKICAgICAgICAgICAgIGN1cnJNaW5XaWR0aCAr
PSB3OwpAQCAtOTMzLDE3ICs5MzMsMTcgQEAgYm9vbCBSZW5kZXJUZXh0Ojpjb250YWluc09ubHlX
aGl0ZXNwYWNlKAogICAgIHJldHVybiBjdXJyUG9zID49IChmcm9tICsgbGVuKTsKIH0KIAotSW50
UG9pbnQgUmVuZGVyVGV4dDo6Zmlyc3RSdW5PcmlnaW4oKSBjb25zdAorRmxvYXRQb2ludCBSZW5k
ZXJUZXh0OjpmaXJzdFJ1bk9yaWdpbigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIEludFBvaW50KGZp
cnN0UnVuWCgpLCBmaXJzdFJ1blkoKSk7CiB9CiAKLWludCBSZW5kZXJUZXh0OjpmaXJzdFJ1blgo
KSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6Zmlyc3RSdW5YKCkgY29uc3QKIHsKICAgICByZXR1
cm4gbV9maXJzdFRleHRCb3ggPyBtX2ZpcnN0VGV4dEJveC0+bV94IDogMDsKIH0KIAotaW50IFJl
bmRlclRleHQ6OmZpcnN0UnVuWSgpIGNvbnN0CitmbG9hdCBSZW5kZXJUZXh0OjpmaXJzdFJ1blko
KSBjb25zdAogewogICAgIHJldHVybiBtX2ZpcnN0VGV4dEJveCA/IG1fZmlyc3RUZXh0Qm94LT5t
X3kgOiAwOwogfQpAQCAtMTIyMyw3ICsxMjIzLDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpwb3NpdGlv
bkxpbmVCb3goSW5saW5lQgogICAgIG1fY29udGFpbnNSZXZlcnNlZFRleHQgfD0gIXMtPmlzTGVm
dFRvUmlnaHREaXJlY3Rpb24oKTsKIH0KIAotdW5zaWduZWQgUmVuZGVyVGV4dDo6d2lkdGgodW5z
aWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBpbnQgeFBvcywgYm9vbCBmaXJzdExpbmUsIEhhc2hT
ZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyog
Z2x5cGhPdmVyZmxvdykgY29uc3QKK2Zsb2F0IFJlbmRlclRleHQ6OndpZHRoKHVuc2lnbmVkIGZy
b20sIHVuc2lnbmVkIGxlbiwgZmxvYXQgeFBvcywgYm9vbCBmaXJzdExpbmUsIEhhc2hTZXQ8Y29u
c3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhP
dmVyZmxvdykgY29uc3QKIHsKICAgICBpZiAoZnJvbSA+PSB0ZXh0TGVuZ3RoKCkpCiAgICAgICAg
IHJldHVybiAwOwpAQCAtMTIzNCwxMyArMTIzNCwxMyBAQCB1bnNpZ25lZCBSZW5kZXJUZXh0Ojp3
aWR0aCh1bnNpZ25lZCBmcm9tCiAgICAgcmV0dXJuIHdpZHRoKGZyb20sIGxlbiwgc3R5bGUoZmly
c3RMaW5lKS0+Zm9udCgpLCB4UG9zLCBmYWxsYmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93KTsKIH0K
IAotdW5zaWduZWQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVu
LCBjb25zdCBGb250JiBmLCBpbnQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+
KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAorZmxv
YXQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBG
b250JiBmLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxi
YWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CiB7CiAgICAgQVNT
RVJUKGZyb20gKyBsZW4gPD0gdGV4dExlbmd0aCgpKTsKICAgICBpZiAoIWNoYXJhY3RlcnMoKSkK
ICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBpbnQgdzsKKyAgICBmbG9hdCB3OwogICAgIGlmICgm
ZiA9PSAmc3R5bGUoKS0+Zm9udCgpKSB7CiAgICAgICAgIGlmICghc3R5bGUoKS0+cHJlc2VydmVO
ZXdsaW5lKCkgJiYgIWZyb20gJiYgbGVuID09IHRleHRMZW5ndGgoKSkgewogICAgICAgICAgICAg
aWYgKGZhbGxiYWNrRm9udHMpIHsKQEAgLTEyNTIsNyArMTI1Miw3IEBAIHVuc2lnbmVkIFJlbmRl
clRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgdyA9IG1fbWF4V2lkdGg7CiAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAg
ICB3ID0gbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCk7CisgICAgICAgICAgICAgICAgdyA9IG1h
eExvZ2ljYWxXaWR0aCgpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHcgPSB3aWR0aEZy
b21DYWNoZShmLCBmcm9tLCBsZW4sIHhQb3MsIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cp
OwogICAgIH0gZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCShy
ZXZpc2lvbiA3NzM4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTcxLDI0ICs3MSwyNCBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQg
dGV4dExlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fdGV4dC5sZW5ndGgoKTsgfSAvLyBub24gdmly
dHVhbCBpbXBsZW1lbnRhdGlvbiBvZiBsZW5ndGgoKQogICAgIHZvaWQgcG9zaXRpb25MaW5lQm94
KElubGluZUJveCopOwogCi0gICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0aCh1bnNpZ25lZCBmcm9t
LCB1bnNpZ25lZCBsZW4sIGNvbnN0IEZvbnQmLCBpbnQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1w
bGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25z
dDsKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxl
biwgaW50IHhQb3MsIGJvb2wgZmlyc3RMaW5lID0gZmFsc2UsIEhhc2hTZXQ8Y29uc3QgU2ltcGxl
Rm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7
CisgICAgdmlydHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNv
bnN0IEZvbnQmLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZh
bGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0OworICAgIHZpcnR1YWwg
ZmxvYXQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBmbG9hdCB4UG9zLCBib29s
IGZpcnN0TGluZSA9IGZhbHNlLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxi
YWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0OwogCi0gICAgdmlydHVhbCBp
bnQgbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbWF4
UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29uc3Q7CisgICAgZmxvYXQgbWluTG9naWNhbFdpZHRo
KCkgY29uc3Q7CisgICAgZmxvYXQgbWF4TG9naWNhbFdpZHRoKCkgY29uc3Q7CiAKLSAgICB2b2lk
IHRyaW1tZWRQcmVmV2lkdGhzKGludCBsZWFkV2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQmIGJlZ2luTWluVywgYm9vbCYgYmVnaW5XUywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCYgZW5kTWluVywgYm9vbCYgZW5kV1MsCisgICAgdm9pZCB0cmltbWVkUHJlZldp
ZHRocyhmbG9hdCBsZWFkV2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYg
YmVnaW5NaW5XLCBib29sJiBiZWdpbldTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxv
YXQmIGVuZE1pblcsIGJvb2wmIGVuZFdTLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v
bCYgaGFzQnJlYWthYmxlQ2hhciwgYm9vbCYgaGFzQnJlYWssCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQmIGJlZ2luTWF4VywgaW50JiBlbmRNYXhXLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50JiBtaW5XLCBpbnQmIG1heFcsIGJvb2wmIHN0cmlwRnJvbnRTcGFjZXMpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQmIGJlZ2luTWF4VywgZmxvYXQmIGVuZE1h
eFcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYgbWluVywgZmxvYXQmIG1heFcs
IGJvb2wmIHN0cmlwRnJvbnRTcGFjZXMpOwogCiAgICAgdmlydHVhbCBJbnRSZWN0IGxpbmVzQm91
bmRpbmdCb3goKSBjb25zdDsKIAotICAgIEludFBvaW50IGZpcnN0UnVuT3JpZ2luKCkgY29uc3Q7
Ci0gICAgaW50IGZpcnN0UnVuWCgpIGNvbnN0OwotICAgIGludCBmaXJzdFJ1blkoKSBjb25zdDsK
KyAgICBGbG9hdFBvaW50IGZpcnN0UnVuT3JpZ2luKCkgY29uc3Q7CisgICAgZmxvYXQgZmlyc3RS
dW5YKCkgY29uc3Q7CisgICAgZmxvYXQgZmlyc3RSdW5ZKCkgY29uc3Q7CiAKICAgICB2b2lkIHNl
dFRleHQoUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiwgYm9vbCBmb3JjZSA9IGZhbHNlKTsKICAgICB2
b2lkIHNldFRleHRXaXRoT2Zmc2V0KFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4sIHVuc2lnbmVkIG9m
ZnNldCwgdW5zaWduZWQgbGVuLCBib29sIGZvcmNlID0gZmFsc2UpOwpAQCAtMTIyLDcgKzEyMiw3
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2hlY2tDb25zaXN0ZW5jeSgpIGNvbnN0OwogCi0gICAg
dmlydHVhbCB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGludCBsZWFkV2lkdGgp
OworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhmbG9hdCBs
ZWFkV2lkdGgpOwogICAgIGJvb2wgaXNBbGxDb2xsYXBzaWJsZVdoaXRlc3BhY2UoKTsKICAgICAK
IHByb3RlY3RlZDoKQEAgLTEzNSw3ICsxMzUsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBJ
bmxpbmVUZXh0Qm94KiBjcmVhdGVUZXh0Qm94KCk7IC8vIFN1YmNsYXNzZWQgYnkgU1ZHLgogCiBw
cml2YXRlOgotICAgIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRX
aWR0aCwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxsYmFja0ZvbnRzLCBHbHlw
aE92ZXJmbG93Jik7CisgICAgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhmbG9h
dCBsZWFkV2lkdGgsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiYgZmFsbGJhY2tGb250
cywgR2x5cGhPdmVyZmxvdyYpOwogCiAgICAgLy8gTWFrZSBsZW5ndGgoKSBwcml2YXRlIHNvIHRo
YXQgY2FsbGVycyB0aGF0IGhhdmUgYSBSZW5kZXJUZXh0KgogICAgIC8vIHdpbGwgdXNlIHRoZSBt
b3JlIGVmZmljaWVudCB0ZXh0TGVuZ3RoKCkgaW5zdGVhZCwgd2hpbGUKQEAgLTE0OCwyMiArMTQ4
LDIyIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRlbGV0ZVRleHRCb3hlcygpOwogICAgIGJvb2wg
Y29udGFpbnNPbmx5V2hpdGVzcGFjZSh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4pIGNvbnN0
OwotICAgIGludCB3aWR0aEZyb21DYWNoZShjb25zdCBGb250JiwgaW50IHN0YXJ0LCBpbnQgbGVu
LCBpbnQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRz
LCBHbHlwaE92ZXJmbG93KikgY29uc3Q7CisgICAgZmxvYXQgd2lkdGhGcm9tQ2FjaGUoY29uc3Qg
Rm9udCYsIGludCBzdGFydCwgaW50IGxlbiwgZmxvYXQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1w
bGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KikgY29uc3Q7CiAgICAg
Ym9vbCBpc0FsbEFTQ0lJKCkgY29uc3QgeyByZXR1cm4gbV9pc0FsbEFTQ0lJOyB9CiAgICAgdm9p
ZCB1cGRhdGVOZWVkc1RyYW5zY29kaW5nKCk7CiAKICAgICBpbmxpbmUgdm9pZCB0cmFuc2Zvcm1U
ZXh0KFN0cmluZyYpIGNvbnN0OwogCi0gICAgaW50IG1fbWluV2lkdGg7IC8vIGhlcmUgdG8gbWlu
aW1pemUgcGFkZGluZyBpbiA2NC1iaXQuCisgICAgZmxvYXQgbV9taW5XaWR0aDsgLy8gaGVyZSB0
byBtaW5pbWl6ZSBwYWRkaW5nIGluIDY0LWJpdC4KIAogICAgIFN0cmluZyBtX3RleHQ7CiAKICAg
ICBJbmxpbmVUZXh0Qm94KiBtX2ZpcnN0VGV4dEJveDsKICAgICBJbmxpbmVUZXh0Qm94KiBtX2xh
c3RUZXh0Qm94OwogCi0gICAgaW50IG1fbWF4V2lkdGg7Ci0gICAgaW50IG1fYmVnaW5NaW5XaWR0
aDsKLSAgICBpbnQgbV9lbmRNaW5XaWR0aDsKKyAgICBmbG9hdCBtX21heFdpZHRoOworICAgIGZs
b2F0IG1fYmVnaW5NaW5XaWR0aDsKKyAgICBmbG9hdCBtX2VuZE1pbldpZHRoOwogCiAgICAgYm9v
bCBtX2hhc0JyZWFrYWJsZUNoYXIgOiAxOyAvLyBXaGV0aGVyIG9yIG5vdCB3ZSBjYW4gYmUgYnJv
a2VuIGludG8gbXVsdGlwbGUgbGluZXMuCiAgICAgYm9vbCBtX2hhc0JyZWFrIDogMTsgLy8gV2hl
dGhlciBvciBub3Qgd2UgaGF2ZSBhIGhhcmQgYnJlYWsgKGUuZy4sIDxwcmU+IHdpdGggJ1xuJyku
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5j
cHAJKHJldmlzaW9uIDc3Mzg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRl
eHRDb250cm9sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQ0LDcgKzU0NCw3IEBAIGZsb2F0IFJl
bmRlclRleHRDb250cm9sOjpnZXRBdmdDaGFyV2lkdGgKICAgICAgICAgcmV0dXJuIHJvdW5kZihz
dHlsZSgpLT5mb250KCkucHJpbWFyeUZvbnQoKS0+YXZnQ2hhcldpZHRoKCkpOwogCiAgICAgY29u
c3QgVUNoYXIgY2ggPSAnMCc7IAotICAgIHJldHVybiBzdHlsZSgpLT5mb250KCkuZmxvYXRXaWR0
aChUZXh0UnVuKCZjaCwgMSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBh
bnNpb24sIGZhbHNlLCBmYWxzZSwgZmFsc2UpKTsKKyAgICByZXR1cm4gc3R5bGUoKS0+Zm9udCgp
LndpZHRoKFRleHRSdW4oJmNoLCAxLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGlu
Z0V4cGFuc2lvbiwgZmFsc2UpKTsKIH0KIAogZmxvYXQgUmVuZGVyVGV4dENvbnRyb2w6OnNjYWxl
RW1Ub1VuaXRzKGludCB4KSBjb25zdApAQCAtNjM5LDcgKzYzOSw3IEBAIHZvaWQgUmVuZGVyVGV4
dENvbnRyb2w6OnBhaW50UGxhY2Vob2xkZXIKICAgICBwYWludEluZm8uY29udGV4dC0+c2V0Rmls
bENvbG9yKHBsYWNlaG9sZGVyU3R5bGUtPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0
eUNvbG9yKSwgcGxhY2Vob2xkZXJTdHlsZS0+Y29sb3JTcGFjZSgpKTsKICAgICAKICAgICBTdHJp
bmcgcGxhY2Vob2xkZXJUZXh0ID0gc3RhdGljX2Nhc3Q8SFRNTFRleHRGb3JtQ29udHJvbEVsZW1l
bnQqPihub2RlKCkpLT5zdHJpcHBlZFBsYWNlaG9sZGVyKCk7Ci0gICAgVGV4dFJ1biB0ZXh0UnVu
KHBsYWNlaG9sZGVyVGV4dC5jaGFyYWN0ZXJzKCksIHBsYWNlaG9sZGVyVGV4dC5sZW5ndGgoKSwg
ZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sICFwbGFjZWhvbGRl
clN0eWxlLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIHBsYWNlaG9sZGVyU3R5bGUtPnVuaWNv
ZGVCaWRpKCkgPT0gT3ZlcnJpZGUsIGZhbHNlLCBmYWxzZSk7CisgICAgVGV4dFJ1biB0ZXh0UnVu
KHBsYWNlaG9sZGVyVGV4dC5jaGFyYWN0ZXJzKCksIHBsYWNlaG9sZGVyVGV4dC5sZW5ndGgoKSwg
ZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sICFwbGFjZWhvbGRl
clN0eWxlLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIHBsYWNlaG9sZGVyU3R5bGUtPnVuaWNv
ZGVCaWRpKCkgPT0gT3ZlcnJpZGUpOwogICAgIAogICAgIFJlbmRlckJveCogdGV4dFJlbmRlcmVy
ID0gaW5uZXJUZXh0RWxlbWVudCgpID8gaW5uZXJUZXh0RWxlbWVudCgpLT5yZW5kZXJCb3goKSA6
IDA7CiAgICAgaWYgKHRleHRSZW5kZXJlcikgewpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1Jvb3RJbmxpbmVCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9Sb290SW5saW5lQm94LmNwcAkocmV2aXNpb24gNzczODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk3LDcgKzk3
LDcgQEAgYm9vbCBSb290SW5saW5lQm94OjpjYW5BY2NvbW1vZGF0ZUVsbGlwcwogICAgIHJldHVy
biBJbmxpbmVGbG93Qm94OjpjYW5BY2NvbW1vZGF0ZUVsbGlwc2lzKGx0ciwgYmxvY2tFZGdlLCBl
bGxpcHNpc1dpZHRoKTsKIH0KIAotdm9pZCBSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzKGNv
bnN0IEF0b21pY1N0cmluZyYgZWxsaXBzaXNTdHIsICBib29sIGx0ciwgaW50IGJsb2NrTGVmdEVk
Z2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsCit2b2lkIFJvb3RJbmxp
bmVCb3g6OnBsYWNlRWxsaXBzaXMoY29uc3QgQXRvbWljU3RyaW5nJiBlbGxpcHNpc1N0ciwgIGJv
b2wgbHRyLCBmbG9hdCBibG9ja0xlZnRFZGdlLCBmbG9hdCBibG9ja1JpZ2h0RWRnZSwgZmxvYXQg
ZWxsaXBzaXNXaWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmxpbmVC
b3gqIG1hcmt1cEJveCkKIHsKICAgICAvLyBDcmVhdGUgYW4gZWxsaXBzaXMgYm94LgpAQCAtMTIz
LDkgKzEyMyw5IEBAIHZvaWQgUm9vdElubGluZUJveDo6cGxhY2VFbGxpcHNpcyhjb25zdCAKICAg
ICBlbGxpcHNpc0JveC0+bV94ID0gcGxhY2VFbGxpcHNpc0JveChsdHIsIGJsb2NrTGVmdEVkZ2Us
IGJsb2NrUmlnaHRFZGdlLCBlbGxpcHNpc1dpZHRoLCBmb3VuZEJveCk7CiB9CiAKLWludCBSb290
SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBpbnQgYmxvY2tMZWZ0RWRnZSwg
aW50IGJsb2NrUmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpCitm
bG9hdCBSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBmbG9hdCBibG9j
a0xlZnRFZGdlLCBmbG9hdCBibG9ja1JpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9v
bCYgZm91bmRCb3gpCiB7Ci0gICAgaW50IHJlc3VsdCA9IElubGluZUZsb3dCb3g6OnBsYWNlRWxs
aXBzaXNCb3gobHRyLCBibG9ja0xlZnRFZGdlLCBibG9ja1JpZ2h0RWRnZSwgZWxsaXBzaXNXaWR0
aCwgZm91bmRCb3gpOworICAgIGZsb2F0IHJlc3VsdCA9IElubGluZUZsb3dCb3g6OnBsYWNlRWxs
aXBzaXNCb3gobHRyLCBibG9ja0xlZnRFZGdlLCBibG9ja1JpZ2h0RWRnZSwgZWxsaXBzaXNXaWR0
aCwgZm91bmRCb3gpOwogICAgIGlmIChyZXN1bHQgPT0gLTEpCiAgICAgICAgIHJlc3VsdCA9IGx0
ciA/IGJsb2NrUmlnaHRFZGdlIC0gZWxsaXBzaXNXaWR0aCA6IGJsb2NrTGVmdEVkZ2U7CiAgICAg
cmV0dXJuIHJlc3VsdDsKQEAgLTU0NCwxNCArNTQ0LDE0IEBAIEludFJlY3QgUm9vdElubGluZUJv
eDo6cGFkZGVkTGF5b3V0T3ZlcmYKICAgICAKICAgICBpZiAoaXNIb3Jpem9udGFsKCkpIHsKICAg
ICAgICAgaWYgKGlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKLSAgICAgICAgICAgIGxpbmVMYXlv
dXRPdmVyZmxvdy5zaGlmdE1heFhFZGdlVG8obWF4KGxpbmVMYXlvdXRPdmVyZmxvdy5tYXhYKCks
IGxvZ2ljYWxSaWdodCgpICsgZW5kUGFkZGluZykpOworICAgICAgICAgICAgbGluZUxheW91dE92
ZXJmbG93LnNoaWZ0TWF4WEVkZ2VUbyhtYXgobGluZUxheW91dE92ZXJmbG93Lm1heFgoKSwgcGl4
ZWxTbmFwcGVkTG9naWNhbFJpZ2h0KCkgKyBlbmRQYWRkaW5nKSk7CiAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdFhFZGdlVG8obWluKGxpbmVMYXlvdXRP
dmVyZmxvdy54KCksIGxvZ2ljYWxMZWZ0KCkgLSBlbmRQYWRkaW5nKSk7CisgICAgICAgICAgICBs
aW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRYRWRnZVRvKG1pbihsaW5lTGF5b3V0T3ZlcmZsb3cueCgp
LCBwaXhlbFNuYXBwZWRMb2dpY2FsTGVmdCgpIC0gZW5kUGFkZGluZykpOwogICAgIH0gZWxzZSB7
CiAgICAgICAgIGlmIChpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCi0gICAgICAgICAgICBsaW5l
TGF5b3V0T3ZlcmZsb3cuc2hpZnRNYXhZRWRnZVRvKG1heChsaW5lTGF5b3V0T3ZlcmZsb3cubWF4
WSgpLCBsb2dpY2FsUmlnaHQoKSArIGVuZFBhZGRpbmcpKTsKKyAgICAgICAgICAgIGxpbmVMYXlv
dXRPdmVyZmxvdy5zaGlmdE1heFlFZGdlVG8obWF4KGxpbmVMYXlvdXRPdmVyZmxvdy5tYXhZKCks
IHBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCgpICsgZW5kUGFkZGluZykpOwogICAgICAgICBlbHNl
Ci0gICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRZRWRnZVRvKG1pbihsaW5lTGF5
b3V0T3ZlcmZsb3cueSgpLCBsb2dpY2FsUmlnaHQoKSAtIGVuZFBhZGRpbmcpKTsKKyAgICAgICAg
ICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdFlFZGdlVG8obWluKGxpbmVMYXlvdXRPdmVyZmxv
dy55KCksIHBpeGVsU25hcHBlZExvZ2ljYWxMZWZ0KCkgLSBlbmRQYWRkaW5nKSk7CiAgICAgfQog
ICAgIAogICAgIHJldHVybiBsaW5lTGF5b3V0T3ZlcmZsb3c7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9Sb290SW5saW5lQm94LmgJKHJldmlzaW9uIDc3Mzg0KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAkod29ya2luZyBjb3B5KQpAQCAtNzgsOCAr
NzgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjaGlsZFJlbW92ZWQoSW5saW5lQm94KiBib3gpOwog
CiAgICAgYm9vbCBjYW5BY2NvbW1vZGF0ZUVsbGlwc2lzKGJvb2wgbHRyLCBpbnQgYmxvY2tFZGdl
LCBpbnQgbGluZUJveEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoKTsKLSAgICB2b2lkIHBsYWNlRWxs
aXBzaXMoY29uc3QgQXRvbWljU3RyaW5nJiBlbGxpcHNpc1N0ciwgYm9vbCBsdHIsIGludCBibG9j
a0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBJbmxpbmVC
b3gqIG1hcmt1cEJveCA9IDApOwotICAgIHZpcnR1YWwgaW50IHBsYWNlRWxsaXBzaXNCb3goYm9v
bCBsdHIsIGludCBibG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNp
c1dpZHRoLCBib29sJiBmb3VuZEJveCk7CisgICAgdm9pZCBwbGFjZUVsbGlwc2lzKGNvbnN0IEF0
b21pY1N0cmluZyYgZWxsaXBzaXNTdHIsIGJvb2wgbHRyLCBmbG9hdCBibG9ja0xlZnRFZGdlLCBm
bG9hdCBibG9ja1JpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgSW5saW5lQm94KiBtYXJr
dXBCb3ggPSAwKTsKKyAgICB2aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIs
IGZsb2F0IGJsb2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNp
c1dpZHRoLCBib29sJiBmb3VuZEJveCk7CiAKICAgICBFbGxpcHNpc0JveCogZWxsaXBzaXNCb3go
KSBjb25zdDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVU
ZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R0lubGluZVRleHRCb3guY3BwCShyZXZpc2lvbiA3NzM4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3NSw5
ICszNzUsNiBAQCBUZXh0UnVuIFNWR0lubGluZVRleHRCb3g6OmNvbnN0cnVjdFRleHRSCiAgICAg
cnVuLnNldFJlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KHBhcmVudFJlbmRlcmVyKTsKICNlbmRpZgog
Ci0gICAgLy8gRGlzYWJsZSBhbnkgd29yZC9jaGFyYWN0ZXIgcm91bmRpbmcuCi0gICAgcnVuLmRp
c2FibGVSb3VuZGluZ0hhY2tzKCk7Ci0KICAgICAvLyBXZSBoYW5kbGUgbGV0dGVyICYgd29yZCBz
cGFjaW5nIG91cnNlbHZlcy4KICAgICBydW4uZGlzYWJsZVNwYWNpbmcoKTsKICAgICByZXR1cm4g
cnVuOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmljcy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0
cmljcy5jcHAJKHJldmlzaW9uIDc3Mzg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdUZXh0TWV0cmljcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAgU1ZH
VGV4dE1ldHJpY3M6OlNWR1RleHRNZXRyaWNzKGNvbnN0IEZvbgogICAgIGludCBleHRyYUNoYXJz
QXZhaWxhYmxlID0gdGV4dExlbmd0aCAtIChwb3NpdGlvbiArIHJ1bi5sZW5ndGgoKSk7CiAgICAg
aW50IGxlbmd0aCA9IDA7CiAKLSAgICBtX3dpZHRoID0gZm9udC5mbG9hdFdpZHRoKHJ1biwgZXh0
cmFDaGFyc0F2YWlsYWJsZSwgbGVuZ3RoLCBtX2dseXBoLm5hbWUpOworICAgIG1fd2lkdGggPSBm
b250LndpZHRoKHJ1biwgZXh0cmFDaGFyc0F2YWlsYWJsZSwgbGVuZ3RoLCBtX2dseXBoLm5hbWUp
OwogICAgIG1faGVpZ2h0ID0gZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpOwogICAgIG1fZ2x5
cGgudW5pY29kZVN0cmluZyA9IFN0cmluZyhydW4uY2hhcmFjdGVycygpLCBsZW5ndGgpOwogICAg
IG1fZ2x5cGguaXNWYWxpZCA9IHRydWU7CkBAIC03NSw5ICs3NSw2IEBAIHN0YXRpYyBUZXh0UnVu
IGNvbnN0cnVjdFRleHRSdW4oUmVuZGVyU1YKICAgICBydW4uc2V0UmVmZXJlbmNpbmdSZW5kZXJP
YmplY3QodGV4dC0+cGFyZW50KCkpOwogI2VuZGlmCiAKLSAgICAvLyBEaXNhYmxlIGFueSB3b3Jk
L2NoYXJhY3RlciByb3VuZGluZy4KLSAgICBydW4uZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsKLQog
ICAgIC8vIFdlIGhhbmRsZSBsZXR0ZXIgJiB3b3JkIHNwYWNpbmcgb3Vyc2VsdmVzLgogICAgIHJ1
bi5kaXNhYmxlU3BhY2luZygpOwogICAgIHJldHVybiBydW47CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRm9udC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Zv
bnQuY3BwCShyZXZpc2lvbiA3NzM4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzU5LDcgKzM1OSw3IEBAIHN0YXRpYyB2b2lkIGZsb2F0V2lk
dGhNaXNzaW5nR2x5cGhDYWxsYmEKICAgICBGb250IGZvbnQoZm9udERlc2NyaXB0aW9uLCAwLCAw
KTsgLy8gc3BhY2luZyBoYW5kbGVkIGJ5IFNWRyB0ZXh0IGNvZGUuCiAgICAgZm9udC51cGRhdGUo
ZGF0YS5mb250LT5mb250U2VsZWN0b3IoKSk7CiAKLSAgICBkYXRhLmxlbmd0aCArPSBmb250LmZs
b2F0V2lkdGgocnVuKTsKKyAgICBkYXRhLmxlbmd0aCArPSBmb250LndpZHRoKHJ1bik7CiB9CiAK
IApAQCAtNTU5LDkgKzU1OSw5IEBAIHZvaWQgRm9udDo6ZHJhd1RleHRVc2luZ1NWR0ZvbnQoR3Jh
cGhpY3MKICAgICAgICAgICAgICAgICBmb250LmRyYXdUZXh0KGNvbnRleHQsIGZhbGxiYWNrQ2hh
cmFjdGVyUnVuLCBjdXJyZW50UG9pbnQpOwogCiAgICAgICAgICAgICAgICAgaWYgKGlzVmVydGlj
YWxUZXh0KQotICAgICAgICAgICAgICAgICAgICBjdXJyZW50UG9pbnQubW92ZSgwLjBmLCBmb250
LmZsb2F0V2lkdGgoZmFsbGJhY2tDaGFyYWN0ZXJSdW4pKTsKKyAgICAgICAgICAgICAgICAgICAg
Y3VycmVudFBvaW50Lm1vdmUoMC4wZiwgZm9udC53aWR0aChmYWxsYmFja0NoYXJhY3RlclJ1bikp
OwogICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgY3VycmVudFBvaW50
Lm1vdmUoZm9udC5mbG9hdFdpZHRoKGZhbGxiYWNrQ2hhcmFjdGVyUnVuKSwgMC4wZik7CisgICAg
ICAgICAgICAgICAgICAgIGN1cnJlbnRQb2ludC5tb3ZlKGZvbnQud2lkdGgoZmFsbGJhY2tDaGFy
YWN0ZXJSdW4pLCAwLjBmKTsKIAogICAgICAgICAgICAgICAgIGZhbGxiYWNrQ2hhcmFjdGVySW5k
ZXgrKzsKICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0
TlNTdHJpbmdFeHRyYXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvTWlzYy9X
ZWJLaXROU1N0cmluZ0V4dHJhcy5tbQkocmV2aXNpb24gNzczODQpCisrKyBTb3VyY2UvV2ViS2l0
L21hYy9NaXNjL1dlYktpdE5TU3RyaW5nRXh0cmFzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC05MSw3
ICs5MSw2IEBAIC0gKHZvaWQpX3dlYl9kcmF3QXRQb2ludDooTlNQb2ludClwb2ludCAKIAogICAg
ICAgICBGb250IHdlYkNvcmVGb250KEZvbnRQbGF0Zm9ybURhdGEoZm9udCwgW2ZvbnQgcG9pbnRT
aXplXSksICFbbnNDb250ZXh0IGlzRHJhd2luZ1RvU2NyZWVuXSwgZm9udFNtb290aGluZ0lzQWxs
b3dlZCA/IEF1dG9TbW9vdGhpbmcgOiBBbnRpYWxpYXNlZCk7CiAgICAgICAgIFRleHRSdW4gcnVu
KGJ1ZmZlci5kYXRhKCksIGxlbmd0aCk7Ci0gICAgICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNr
cygpOwogCiAgICAgICAgIENHRmxvYXQgcmVkOwogICAgICAgICBDR0Zsb2F0IGdyZWVuOwpAQCAt
MTM3LDggKzEzNiw3IEBAIC0gKGZsb2F0KV93ZWJfd2lkdGhXaXRoRm9udDooTlNGb250ICopZm8K
ICAgICBpZiAoY2FuVXNlRmFzdFJlbmRlcmVyKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCkpIHsKICAg
ICAgICAgRm9udCB3ZWJDb3JlRm9udChGb250UGxhdGZvcm1EYXRhKGZvbnQsIFtmb250IHBvaW50
U2l6ZV0pLCAhW1tOU0dyYXBoaWNzQ29udGV4dCBjdXJyZW50Q29udGV4dF0gaXNEcmF3aW5nVG9T
Y3JlZW5dKTsKICAgICAgICAgVGV4dFJ1biBydW4oYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKTsKLSAg
ICAgICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7Ci0gICAgICAgIHJldHVybiB3ZWJDb3Jl
Rm9udC5mbG9hdFdpZHRoKHJ1bik7CisgICAgICAgIHJldHVybiB3ZWJDb3JlRm9udC53aWR0aChy
dW4pOwogICAgIH0KIAogICAgIHJldHVybiBbc2VsZiBzaXplV2l0aEF0dHJpYnV0ZXM6W05TRGlj
dGlvbmFyeSBkaWN0aW9uYXJ5V2l0aE9iamVjdHNBbmRLZXlzOmZvbnQsIE5TRm9udEF0dHJpYnV0
ZU5hbWUsIG5pbF1dLndpZHRoOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82058</attachid>
            <date>2011-02-10 15:06:05 -0800</date>
            <delta_ts>2011-02-10 15:34:05 -0800</delta_ts>
            <desc>Patch that applies (ignore for review, just testing builds)</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>128954</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0zOTksOSArMzk5LDkgQEAgX19a
TjdXZWJDb3JlMTVQcm90ZWN0aW9uU3BhY2VDMUVSS04zV1RGNgogX19aTjdXZWJDb3JlMTVQcm90
ZWN0aW9uU3BhY2VDMUV2CiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE3YWxpZ25DZW50
ZXJBbHdheXNFCiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE5YWxpZ25Ub0VkZ2VJZk5l
ZWRlZEUKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRlRVJLTjNX
VEY2U3RyaW5nRWZSS05TXzRGb250RWIKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRj
ZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0VmUktOU180Rm9udEViCi1fX1pON1dlYkNvcmUx
NVN0cmluZ1RydW5jYXRvcjV3aWR0aEVSS04zV1RGNlN0cmluZ0VSS05TXzRGb250RWIKK19fWk43
V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRjZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0Vm
UktOU180Rm9udEUKK19fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRl
RVJLTjNXVEY2U3RyaW5nRWZSS05TXzRGb250RQorX19aTjdXZWJDb3JlMTVTdHJpbmdUcnVuY2F0
b3I1d2lkdGhFUktOM1dURjZTdHJpbmdFUktOU180Rm9udEUKIF9fWk43V2ViQ29yZTE1VmlzaWJs
ZVBvc2l0aW9uQzFFUE5TXzROb2RlRWlOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3JlMTVWaXNp
YmxlUG9zaXRpb25DMUVSS05TXzhQb3NpdGlvbkVOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3Jl
MTVkZWZhdWx0TGFuZ3VhZ2VFdgpAQCAtMTEyNSw3ICsxMTI1LDcgQEAgX19aTks3V2ViQ29yZTI3
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VCYQogX19aTks3V2ViQ29yZTI3QXV0aGVudGljYXRpb25D
aGFsbGVuZ2VCYXNlMjBwcmV2aW91c0ZhaWx1cmVDb3VudEV2CiBfX1pOSzdXZWJDb3JlMjdBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZUJhc2U1ZXJyb3JFdgogX19aTks3V2ViQ29yZTI3QXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VCYXNlNmlzTnVsbEV2Ci1fX1pOSzdXZWJDb3JlNEZvbnQxMGZsb2F0V2lk
dGhFUktOU183VGV4dFJ1bkVQTjNXVEY3SGFzaFNldElQS05TXzE0U2ltcGxlRm9udERhdGFFTlM0
XzdQdHJIYXNoSVM4X0VFTlM0XzEwSGFzaFRyYWl0c0lTOF9FRUVFUE5TXzEzR2x5cGhPdmVyZmxv
d0UKK19fWk5LN1dlYkNvcmU0Rm9udDV3aWR0aEVSS05TXzdUZXh0UnVuRVBOM1dURjdIYXNoU2V0
SVBLTlNfMTRTaW1wbGVGb250RGF0YUVOUzRfN1B0ckhhc2hJUzhfRUVOUzRfMTBIYXNoVHJhaXRz
SVM4X0VFRUVQTlNfMTNHbHlwaE92ZXJmbG93RQogX19aTks3V2ViQ29yZTRGb250OGRyYXdUZXh0
RVBOU18xNUdyYXBoaWNzQ29udGV4dEVSS05TXzdUZXh0UnVuRVJLTlNfMTBGbG9hdFBvaW50RWlp
CiBfX1pOSzdXZWJDb3JlNEtVUkwxMWNyZWF0ZUNGVVJMRXYKIF9fWk5LN1dlYkNvcmU0S1VSTDEx
aXNMb2NhbEZpbGVFdgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA3ODI3MSkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE3NzEsNyArMTc3MSw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjpkcmF3VGV4dEkKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRleHQubGVuZ3RoKCk7
CiAgICAgY29uc3QgVUNoYXIqIHN0cmluZyA9IHRleHQuY2hhcmFjdGVycygpOwotICAgIFRleHRS
dW4gdGV4dFJ1bihzdHJpbmcsIGxlbmd0aCwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJh
aWxpbmdFeHBhbnNpb24sIHJ0bCwgb3ZlcnJpZGUsIGZhbHNlLCBmYWxzZSk7CisgICAgVGV4dFJ1
biB0ZXh0UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFp
bGluZ0V4cGFuc2lvbiwgcnRsLCBvdmVycmlkZSk7CiAKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRl
eHQgYXQgdGhlIGNvcnJlY3QgcG9pbnQuCiAgICAgRmxvYXRQb2ludCBsb2NhdGlvbih4LCB5KTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCShyZXZpc2lv
biA3ODI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xNzYsNyArMTc2LDcgQEAgdm9pZCBGb250OjpkcmF3RW1waGFzaXNN
YXJrcyhHcmFwaGljc0NvbgogICAgICAgICBkcmF3RW1waGFzaXNNYXJrc0ZvckNvbXBsZXhUZXh0
KGNvbnRleHQsIHJ1biwgbWFyaywgcG9pbnQsIGZyb20sIHRvKTsKIH0KIAotZmxvYXQgRm9udDo6
ZmxvYXRXaWR0aChjb25zdCBUZXh0UnVuJiBydW4sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERh
dGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QK
K2Zsb2F0IEZvbnQ6OndpZHRoKGNvbnN0IFRleHRSdW4mIHJ1biwgSGFzaFNldDxjb25zdCBTaW1w
bGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93
KSBjb25zdAogewogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgaWYgKHByaW1hcnlGb250KCkt
PmlzU1ZHRm9udCgpKQpAQCAtMTk0LDcgKzE5NCw3IEBAIGZsb2F0IEZvbnQ6OmZsb2F0V2lkdGgo
Y29uc3QgVGV4dFJ1biYgcnUKICAgICByZXR1cm4gZmxvYXRXaWR0aEZvckNvbXBsZXhUZXh0KHJ1
biwgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxvdyk7CiB9CiAKLWZsb2F0IEZvbnQ6OmZsb2F0
V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBpbnQgZXh0cmFDaGFyc0F2YWlsYWJsZSwgaW50JiBj
aGFyc0NvbnN1bWVkLCBTdHJpbmcmIGdseXBoTmFtZSkgY29uc3QKK2Zsb2F0IEZvbnQ6OndpZHRo
KGNvbnN0IFRleHRSdW4mIHJ1biwgaW50IGV4dHJhQ2hhcnNBdmFpbGFibGUsIGludCYgY2hhcnND
b25zdW1lZCwgU3RyaW5nJiBnbHlwaE5hbWUpIGNvbnN0CiB7CiAjaWYgIUVOQUJMRShTVkdfRk9O
VFMpCiAgICAgVU5VU0VEX1BBUkFNKGV4dHJhQ2hhcnNBdmFpbGFibGUpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAkocmV2aXNpb24gNzgyNzEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHdvcmtpbmcgY29weSkKQEAgLTk0
LDkgKzk0LDggQEAgcHVibGljOgogICAgIHZvaWQgZHJhd1RleHQoR3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgVGV4dFJ1biYsIGNvbnN0IEZsb2F0UG9pbnQmLCBpbnQgZnJvbSA9IDAsIGludCB0byA9
IC0xKSBjb25zdDsKICAgICB2b2lkIGRyYXdFbXBoYXNpc01hcmtzKEdyYXBoaWNzQ29udGV4dCos
IGNvbnN0IFRleHRSdW4mLCBjb25zdCBBdG9taWNTdHJpbmcmIG1hcmssIGNvbnN0IEZsb2F0UG9p
bnQmLCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKSBjb25zdDsKIAotICAgIGludCB3aWR0aChj
b25zdCBUZXh0UnVuJiBydW4sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJh
Y2tGb250cyA9IDAsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cgPSAwKSBjb25zdCB7IHJl
dHVybiBscm91bmRmKGZsb2F0V2lkdGgocnVuLCBmYWxsYmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93
KSk7IH0KLSAgICBmbG9hdCBmbG9hdFdpZHRoKGNvbnN0IFRleHRSdW4mLCBIYXNoU2V0PGNvbnN0
IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiBnbHlw
aE92ZXJmbG93ID0gMCkgY29uc3Q7Ci0gICAgZmxvYXQgZmxvYXRXaWR0aChjb25zdCBUZXh0UnVu
JiBydW4sIGludCBleHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQsIFN0cmlu
ZyYgZ2x5cGhOYW1lKSBjb25zdDsKKyAgICBmbG9hdCB3aWR0aChjb25zdCBUZXh0UnVuJiwgSGFz
aFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVy
ZmxvdyogZ2x5cGhPdmVyZmxvdyA9IDApIGNvbnN0OworICAgIGZsb2F0IHdpZHRoKGNvbnN0IFRl
eHRSdW4mIHJ1biwgaW50IGV4dHJhQ2hhcnNBdmFpbGFibGUsIGludCYgY2hhcnNDb25zdW1lZCwg
U3RyaW5nJiBnbHlwaE5hbWUpIGNvbnN0OwogCiAgICAgaW50IG9mZnNldEZvclBvc2l0aW9uKGNv
bnN0IFRleHRSdW4mLCBmbG9hdCBwb3NpdGlvbiwgYm9vbCBpbmNsdWRlUGFydGlhbEdseXBocykg
Y29uc3Q7CiAgICAgRmxvYXRSZWN0IHNlbGVjdGlvblJlY3RGb3JUZXh0KGNvbnN0IFRleHRSdW4m
LCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGgsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpIGNv
bnN0OwpAQCAtMTI5LDggKzEyOCw4IEBAIHB1YmxpYzoKIAogICAgIC8vIE1ldHJpY3MgdGhhdCB3
ZSBxdWVyeSB0aGUgRm9udEZhbGxiYWNrTGlzdCBmb3IuCiAgICAgY29uc3QgRm9udE1ldHJpY3Mm
IGZvbnRNZXRyaWNzKCkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZvbnQoKS0+Zm9udE1ldHJpY3Mo
KTsgfQotICAgIGludCBzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gKGludCljZWlsZihwcmlt
YXJ5Rm9udCgpLT5hZGp1c3RlZFNwYWNlV2lkdGgoKSArIG1fbGV0dGVyU3BhY2luZyk7IH0KLSAg
ICBmbG9hdCB0YWJXaWR0aChjb25zdCBTaW1wbGVGb250RGF0YSYgZm9udERhdGEpIGNvbnN0IHsg
cmV0dXJuIDggKiBjZWlsZihmb250RGF0YS5hZGp1c3RlZFNwYWNlV2lkdGgoKSArIGxldHRlclNw
YWNpbmcoKSk7IH0KKyAgICBpbnQgc3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlG
b250KCktPnNwYWNlV2lkdGgoKSArIG1fbGV0dGVyU3BhY2luZzsgfQorICAgIGZsb2F0IHRhYldp
ZHRoKGNvbnN0IFNpbXBsZUZvbnREYXRhJiBmb250RGF0YSkgY29uc3QgeyByZXR1cm4gOCAqIGZv
bnREYXRhLnNwYWNlV2lkdGgoKSArIGxldHRlclNwYWNpbmcoKTsgfQogICAgIGludCBlbXBoYXNp
c01hcmtBc2NlbnQoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CiAgICAgaW50IGVtcGhhc2lz
TWFya0Rlc2NlbnQoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CiAgICAgaW50IGVtcGhhc2lz
TWFya0hlaWdodChjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAkocmV2
aXNpb24gNzgyNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0NvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNzUsNyArMzc1LDcgQEAgdm9pZCBHcmFw
aGljc0NvbnRleHQ6OmRyYXdJbWFnZShJbWFnZSogaQogfQogCiAjaWYgIU9TKFdJTkNFKSB8fCBQ
TEFURk9STShRVCkKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3VGV4dChjb25zdCBGb250JiBm
b250LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEludFBvaW50JiBwb2ludCwgaW50IGZyb20s
IGludCB0bykKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3VGV4dChjb25zdCBGb250JiBmb250
LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBpbnQgZnJvbSwg
aW50IHRvKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsK
QEAgLTM4NCw3ICszODQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQoY29uc3Qg
Rm9uCiB9CiAjZW5kaWYKIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdFbXBoYXNpc01hcmtz
KGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgQXRvbWljU3RyaW5n
JiBtYXJrLCBjb25zdCBJbnRQb2ludCYgcG9pbnQsIGludCBmcm9tLCBpbnQgdG8pCit2b2lkIEdy
YXBoaWNzQ29udGV4dDo6ZHJhd0VtcGhhc2lzTWFya3MoY29uc3QgRm9udCYgZm9udCwgY29uc3Qg
VGV4dFJ1biYgcnVuLCBjb25zdCBBdG9taWNTdHJpbmcmIG1hcmssIGNvbnN0IEZsb2F0UG9pbnQm
IHBvaW50LCBpbnQgZnJvbSwgaW50IHRvKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkp
CiAgICAgICAgIHJldHVybjsKQEAgLTQyMiwxMyArNDIyLDEzIEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0OjpkcmF3QmlkaVRleHQoY29uc3QKICAgICAgICAgYmlkaVJ1biA9IGJpZGlSdW4tPm5leHQo
KTsKICAgICAgICAgLy8gRklYTUU6IEhhdmUgRm9udDo6ZHJhd1RleHQgcmV0dXJuIHRoZSB3aWR0
aCBvZiB3aGF0IGl0IGRyZXcgc28gdGhhdCB3ZSBkb24ndCBoYXZlIHRvIHJlLW1lYXN1cmUgaGVy
ZS4KICAgICAgICAgaWYgKGJpZGlSdW4pCi0gICAgICAgICAgICBjdXJyUG9pbnQubW92ZShmb250
LmZsb2F0V2lkdGgoc3VicnVuKSwgMC5mKTsKKyAgICAgICAgICAgIGN1cnJQb2ludC5tb3ZlKGZv
bnQud2lkdGgoc3VicnVuKSwgMCk7CiAgICAgfQogCiAgICAgYmlkaVJlc29sdmVyLmRlbGV0ZVJ1
bnMoKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdIaWdobGlnaHRGb3JUZXh0KGNv
bnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgSW50UG9pbnQmIHBvaW50
LCBpbnQgaCwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgQ29sb3JTcGFjZSBjb2xvclNw
YWNlLCBpbnQgZnJvbSwgaW50IHRvKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdIaWdobGln
aHRGb3JUZXh0KGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgRmxv
YXRQb2ludCYgcG9pbnQsIGludCBoLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yLCBDb2xv
clNwYWNlIGNvbG9yU3BhY2UsIGludCBmcm9tLCBpbnQgdG8pCiB7CiAgICAgaWYgKHBhaW50aW5n
RGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgJKHJldmlzaW9uIDc4MjcxKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTMzNSwyMCArMzM1LDIwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgVGV4dERyYXdpbmdNb2RlRmxhZ3MgdGV4dERyYXdpbmdNb2RlKCkgY29uc3Q7CiAgICAg
ICAgIHZvaWQgc2V0VGV4dERyYXdpbmdNb2RlKFRleHREcmF3aW5nTW9kZUZsYWdzKTsKIAotICAg
ICAgICB2b2lkIGRyYXdUZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgSW50
UG9pbnQmLCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKTsKLSAgICAgICAgdm9pZCBkcmF3RW1w
aGFzaXNNYXJrcyhjb25zdCBGb250JiwgY29uc3QgVGV4dFJ1biYgLCBjb25zdCBBdG9taWNTdHJp
bmcmIG1hcmssIGNvbnN0IEludFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSk7Cisg
ICAgICAgIHZvaWQgZHJhd1RleHQoY29uc3QgRm9udCYsIGNvbnN0IFRleHRSdW4mLCBjb25zdCBG
bG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSk7CisgICAgICAgIHZvaWQgZHJh
d0VtcGhhc2lzTWFya3MoY29uc3QgRm9udCYsIGNvbnN0IFRleHRSdW4mICwgY29uc3QgQXRvbWlj
U3RyaW5nJiBtYXJrLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAt
MSk7CiAgICAgICAgIHZvaWQgZHJhd0JpZGlUZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVu
JiwgY29uc3QgRmxvYXRQb2ludCYpOwotICAgICAgICB2b2lkIGRyYXdIaWdobGlnaHRGb3JUZXh0
KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgSW50UG9pbnQmLCBpbnQgaCwgY29u
c3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgQ29sb3JTcGFjZSwgaW50IGZyb20gPSAwLCBpbnQg
dG8gPSAtMSk7CisgICAgICAgIHZvaWQgZHJhd0hpZ2hsaWdodEZvclRleHQoY29uc3QgRm9udCYs
IGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGgsIGNvbnN0IENvbG9yJiBi
YWNrZ3JvdW5kQ29sb3IsIENvbG9yU3BhY2UsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOwog
CiAgICAgICAgIEZsb2F0UmVjdCByb3VuZFRvRGV2aWNlUGl4ZWxzKGNvbnN0IEZsb2F0UmVjdCYp
OwogCi0gICAgICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEludFBvaW50JiwgaW50IHdp
ZHRoLCBib29sIHByaW50aW5nKTsKKyAgICAgICAgdm9pZCBkcmF3TGluZUZvclRleHQoY29uc3Qg
RmxvYXRQb2ludCYsIGZsb2F0IHdpZHRoLCBib29sIHByaW50aW5nKTsKICAgICAgICAgZW51bSBU
ZXh0Q2hlY2tpbmdMaW5lU3R5bGUgewogICAgICAgICAgICAgVGV4dENoZWNraW5nU3BlbGxpbmdM
aW5lU3R5bGUsCiAgICAgICAgICAgICBUZXh0Q2hlY2tpbmdHcmFtbWFyTGluZVN0eWxlLAogICAg
ICAgICAgICAgVGV4dENoZWNraW5nUmVwbGFjZW1lbnRMaW5lU3R5bGUKICAgICAgICAgfTsKLSAg
ICAgICAgdm9pZCBkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYsIGludCB3
aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlKTsKKyAgICAgICAgdm9pZCBkcmF3TGluZUZvclRl
eHRDaGVja2luZyhjb25zdCBGbG9hdFBvaW50JiwgZmxvYXQgd2lkdGgsIFRleHRDaGVja2luZ0xp
bmVTdHlsZSk7CiAKICAgICAgICAgYm9vbCBwYWludGluZ0Rpc2FibGVkKCkgY29uc3Q7CiAgICAg
ICAgIHZvaWQgc2V0UGFpbnRpbmdEaXNhYmxlZChib29sKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAJKHJldmlzaW9u
IDc4MjcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERh
dGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4LDYgQEAgU2ltcGxlRm9udERhdGE6
OlNpbXBsZUZvbnREYXRhKFBhc3NPd25QdAogICAgIG1fc3BhY2VHbHlwaCA9IDA7CiAgICAgbV96
ZXJvV2lkdGhTcGFjZUdseXBoID0gMDsKICAgICBkZXRlcm1pbmVQaXRjaCgpOwotICAgIG1fYWRq
dXN0ZWRTcGFjZVdpZHRoID0gcm91bmRmKG1fc3BhY2VXaWR0aCk7CiAgICAgbV9taXNzaW5nR2x5
cGhEYXRhLmZvbnREYXRhID0gdGhpczsKICAgICBtX21pc3NpbmdHbHlwaERhdGEuZ2x5cGggPSAw
OwogfQpAQCAtMTQzLDcgKzE0Miw2IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtR2x5
cGhJbml0KCkKICAgICAgICAgTE9HX0VSUk9SKCJGYWlsZWQgdG8gZ2V0IGdseXBoIHBhZ2UgemVy
by4iKTsKICAgICAgICAgbV9zcGFjZUdseXBoID0gMDsKICAgICAgICAgbV9zcGFjZVdpZHRoID0g
MDsKLSAgICAgICAgbV9hZGp1c3RlZFNwYWNlV2lkdGggPSAwOwogICAgICAgICBkZXRlcm1pbmVQ
aXRjaCgpOwogICAgICAgICBtX3plcm9XaWR0aFNwYWNlR2x5cGggPSAwOwogICAgICAgICBtX21p
c3NpbmdHbHlwaERhdGEuZm9udERhdGEgPSB0aGlzOwpAQCAtMTYwLDcgKzE1OCw2IEBAIHZvaWQg
U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtR2x5cGhJbml0KCkKICAgICBmbG9hdCB3aWR0aCA9IHdp
ZHRoRm9yR2x5cGgobV9zcGFjZUdseXBoKTsKICAgICBtX3NwYWNlV2lkdGggPSB3aWR0aDsKICAg
ICBkZXRlcm1pbmVQaXRjaCgpOwotICAgIG1fYWRqdXN0ZWRTcGFjZVdpZHRoID0gbV90cmVhdEFz
Rml4ZWRQaXRjaCA/IGNlaWxmKHdpZHRoKSA6IHJvdW5kZih3aWR0aCk7CiAKICAgICAvLyBGb3Jj
ZSB0aGUgZ2x5cGggZm9yIFpFUk8gV0lEVEggU1BBQ0UgdG8gaGF2ZSB6ZXJvIHdpZHRoLCB1bmxl
c3MgaXQgaXMgc2hhcmVkIHdpdGggU1BBQ0UuCiAgICAgLy8gSGVsdmV0aWNhIGlzIGFuIGV4YW1w
bGUgb2YgYSBub24temVybyB3aWR0aCBaRVJPIFdJRFRIIFNQQUNFIGdseXBoLgpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCShy
ZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBs
ZUZvbnREYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTExMiw3ICsxMTIsNiBAQCBwdWJsaWM6CiAg
ICAgZmxvYXQgcGxhdGZvcm1XaWR0aEZvckdseXBoKEdseXBoKSBjb25zdDsKIAogICAgIGZsb2F0
IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3NwYWNlV2lkdGg7IH0KLSAgICBmbG9hdCBh
ZGp1c3RlZFNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2FkanVzdGVkU3BhY2VXaWR0aDsg
fQogCiAjaWYgUExBVEZPUk0oQ0cpIHx8IFBMQVRGT1JNKENBSVJPKSB8fCBQTEFURk9STShXWCkK
ICAgICBmbG9hdCBzeW50aGV0aWNCb2xkT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9zeW50aGV0
aWNCb2xkT2Zmc2V0OyB9CkBAIC0yMzAsNyArMjI5LDYgQEAgcHJpdmF0ZToKIAogICAgIEdseXBo
IG1fc3BhY2VHbHlwaDsKICAgICBmbG9hdCBtX3NwYWNlV2lkdGg7Ci0gICAgZmxvYXQgbV9hZGp1
c3RlZFNwYWNlV2lkdGg7CiAKICAgICBHbHlwaCBtX3plcm9XaWR0aFNwYWNlR2x5cGg7CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1
bmNhdG9yLmNwcAkocmV2aXNpb24gNzgyNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9TdHJpbmdUcnVuY2F0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MiwyMiArOTIs
MjAgQEAgc3RhdGljIHVuc2lnbmVkIHJpZ2h0VHJ1bmNhdGVUb0J1ZmZlcihjbwogICAgIHJldHVy
biB0cnVuY2F0ZWRMZW5ndGg7CiB9CiAKLXN0YXRpYyBmbG9hdCBzdHJpbmdXaWR0aChjb25zdCBG
b250JiByZW5kZXJlciwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCwg
Ym9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcykKK3N0YXRpYyBmbG9hdCBzdHJpbmdXaWR0aChjb25z
dCBGb250JiByZW5kZXJlciwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0
aCkKIHsKICAgICBUZXh0UnVuIHJ1bihjaGFyYWN0ZXJzLCBsZW5ndGgpOwotICAgIGlmIChkaXNh
YmxlUm91bmRpbmdIYWNrcykKLSAgICAgICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7Ci0g
ICAgcmV0dXJuIHJlbmRlcmVyLmZsb2F0V2lkdGgocnVuKTsKKyAgICByZXR1cm4gcmVuZGVyZXIu
d2lkdGgocnVuKTsKIH0KIAotc3RhdGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJp
bmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZvbnQsIFRydW5jYXRpb25G
dW5jdGlvbiB0cnVuY2F0ZVRvQnVmZmVyLCBib29sIGRpc2FibGVSb3VuZGluZ0hhY2tzKQorc3Rh
dGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4
V2lkdGgsIGNvbnN0IEZvbnQmIGZvbnQsIFRydW5jYXRpb25GdW5jdGlvbiB0cnVuY2F0ZVRvQnVm
ZmVyKQogewogICAgIGlmIChzdHJpbmcuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gc3RyaW5n
OwogICAgIAogICAgIEFTU0VSVChtYXhXaWR0aCA+PSAwKTsKICAgICAKLSAgICBmbG9hdCBjdXJy
ZW50RWxsaXBzaXNXaWR0aCA9IHN0cmluZ1dpZHRoKGZvbnQsICZob3Jpem9udGFsRWxsaXBzaXMs
IDEsIGRpc2FibGVSb3VuZGluZ0hhY2tzKTsKKyAgICBmbG9hdCBjdXJyZW50RWxsaXBzaXNXaWR0
aCA9IHN0cmluZ1dpZHRoKGZvbnQsICZob3Jpem9udGFsRWxsaXBzaXMsIDEpOwogICAgIAogICAg
IFVDaGFyIHN0cmluZ0J1ZmZlcltTVFJJTkdfQlVGRkVSX1NJWkVdOwogICAgIHVuc2lnbmVkIHRy
dW5jYXRlZExlbmd0aDsKQEAgLTEyMyw3ICsxMjEsNyBAQCBzdGF0aWMgU3RyaW5nIHRydW5jYXRl
U3RyaW5nKGNvbnN0IFN0cmluCiAgICAgICAgIHRydW5jYXRlZExlbmd0aCA9IGxlbmd0aDsKICAg
ICB9CiAKLSAgICBmbG9hdCB3aWR0aCA9IHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZ0J1ZmZlciwg
dHJ1bmNhdGVkTGVuZ3RoLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgZmxvYXQgd2lkdGgg
PSBzdHJpbmdXaWR0aChmb250LCBzdHJpbmdCdWZmZXIsIHRydW5jYXRlZExlbmd0aCk7CiAgICAg
aWYgKHdpZHRoIDw9IG1heFdpZHRoKQogICAgICAgICByZXR1cm4gc3RyaW5nOwogCkBAIC0xNTks
NyArMTU3LDcgQEAgc3RhdGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAg
ICAgICAKICAgICAgICAgdHJ1bmNhdGVkTGVuZ3RoID0gdHJ1bmNhdGVUb0J1ZmZlcihzdHJpbmcs
IGxlbmd0aCwga2VlcENvdW50LCBzdHJpbmdCdWZmZXIpOwogCi0gICAgICAgIHdpZHRoID0gc3Ry
aW5nV2lkdGgoZm9udCwgc3RyaW5nQnVmZmVyLCB0cnVuY2F0ZWRMZW5ndGgsIGRpc2FibGVSb3Vu
ZGluZ0hhY2tzKTsKKyAgICAgICAgd2lkdGggPSBzdHJpbmdXaWR0aChmb250LCBzdHJpbmdCdWZm
ZXIsIHRydW5jYXRlZExlbmd0aCk7CiAgICAgICAgIGlmICh3aWR0aCA8PSBtYXhXaWR0aCkgewog
ICAgICAgICAgICAga2VlcENvdW50Rm9yTGFyZ2VzdEtub3duVG9GaXQgPSBrZWVwQ291bnQ7CiAg
ICAgICAgICAgICB3aWR0aEZvckxhcmdlc3RLbm93blRvRml0ID0gd2lkdGg7CkBAIC0xODEsMTkg
KzE3OSwxOSBAQCBzdGF0aWMgU3RyaW5nIHRydW5jYXRlU3RyaW5nKGNvbnN0IFN0cmluCiAgICAg
cmV0dXJuIFN0cmluZyhzdHJpbmdCdWZmZXIsIHRydW5jYXRlZExlbmd0aCk7CiB9CiAKLVN0cmlu
ZyBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBm
bG9hdCBtYXhXaWR0aCwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNr
cykKK1N0cmluZyBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKGNvbnN0IFN0cmluZyYg
c3RyaW5nLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9udCYgZm9udCkKIHsKLSAgICByZXR1cm4g
dHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBtYXhXaWR0aCwgZm9udCwgY2VudGVyVHJ1bmNhdGVUb0J1
ZmZlciwgZGlzYWJsZVJvdW5kaW5nSGFja3MpOworICAgIHJldHVybiB0cnVuY2F0ZVN0cmluZyhz
dHJpbmcsIG1heFdpZHRoLCBmb250LCBjZW50ZXJUcnVuY2F0ZVRvQnVmZmVyKTsKIH0KIAotU3Ry
aW5nIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywg
ZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFj
a3MpCitTdHJpbmcgU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKGNvbnN0IFN0cmluZyYg
c3RyaW5nLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9udCYgZm9udCkKIHsKLSAgICByZXR1cm4g
dHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBtYXhXaWR0aCwgZm9udCwgcmlnaHRUcnVuY2F0ZVRvQnVm
ZmVyLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0
cmluZywgbWF4V2lkdGgsIGZvbnQsIHJpZ2h0VHJ1bmNhdGVUb0J1ZmZlcik7CiB9CiAKLWZsb2F0
IFN0cmluZ1RydW5jYXRvcjo6d2lkdGgoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGNvbnN0IEZvbnQm
IGZvbnQsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MpCitmbG9hdCBTdHJpbmdUcnVuY2F0b3I6
OndpZHRoKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBjb25zdCBGb250JiBmb250KQogewotICAgIHJl
dHVybiBzdHJpbmdXaWR0aChmb250LCBzdHJpbmcuY2hhcmFjdGVycygpLCBzdHJpbmcubGVuZ3Ro
KCksIGRpc2FibGVSb3VuZGluZ0hhY2tzKTsKKyAgICByZXR1cm4gc3RyaW5nV2lkdGgoZm9udCwg
c3RyaW5nLmNoYXJhY3RlcnMoKSwgc3RyaW5nLmxlbmd0aCgpKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5n
VHJ1bmNhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvU3RyaW5nVHJ1bmNhdG9yLmgJKHJldmlzaW9uIDc4MjcxKQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3
LDkgKzM3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAogICAgIGNsYXNzIFN0cmluZ1Ry
dW5jYXRvciB7CiAgICAgcHVibGljOgotICAgICAgICBzdGF0aWMgU3RyaW5nIGNlbnRlclRydW5j
YXRlKGNvbnN0IFN0cmluZyYsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250JiwgYm9vbCBkaXNh
YmxlUm91bmRpbmdIYWNrcyA9IHRydWUpOwotICAgICAgICBzdGF0aWMgU3RyaW5nIHJpZ2h0VHJ1
bmNhdGUoY29uc3QgU3RyaW5nJiwgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmLCBib29sIGRp
c2FibGVSb3VuZGluZ0hhY2tzID0gdHJ1ZSk7Ci0gICAgICAgIHN0YXRpYyBmbG9hdCB3aWR0aChj
b25zdCBTdHJpbmcmLCBjb25zdCBGb250JiwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcyA9IHRy
dWUpOworICAgICAgICBzdGF0aWMgU3RyaW5nIGNlbnRlclRydW5jYXRlKGNvbnN0IFN0cmluZyYs
IGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250Jik7CisgICAgICAgIHN0YXRpYyBTdHJpbmcgcmln
aHRUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9udCYpOwor
ICAgICAgICBzdGF0aWMgZmxvYXQgd2lkdGgoY29uc3QgU3RyaW5nJiwgY29uc3QgRm9udCYpOwog
ICAgIH07CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCShyZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaAkod29ya2luZyBjb3B5KQpAQCAt
MzgsOCArMzgsNyBAQCBwdWJsaWM6CiAgICAgICAgIEZvcmJpZFRyYWlsaW5nRXhwYW5zaW9uCiAg
ICAgfTsKIAotICAgIFRleHRSdW4oY29uc3QgVUNoYXIqIGMsIGludCBsZW4sIGJvb2wgYWxsb3dU
YWJzID0gZmFsc2UsIGludCB4cG9zID0gMCwgaW50IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdF
eHBhbnNpb24sIGJvb2wgcnRsID0gZmFsc2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZh
bHNlLAotICAgICAgICAgICAgICBib29sIGFwcGx5UnVuUm91bmRpbmcgPSB0cnVlLCBib29sIGFw
cGx5V29yZFJvdW5kaW5nID0gdHJ1ZSkKKyAgICBUZXh0UnVuKGNvbnN0IFVDaGFyKiBjLCBpbnQg
bGVuLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBmbG9hdCB4cG9zID0gMCwgZmxvYXQgZXhwYW5z
aW9uID0gMCwgVHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2
aW9yID0gQWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgYm9vbCBydGwgPSBmYWxzZSwgYm9vbCBkaXJl
Y3Rpb25hbE92ZXJyaWRlID0gZmFsc2UpCiAgICAgICAgIDogbV9jaGFyYWN0ZXJzKGMpCiAgICAg
ICAgICwgbV9sZW4obGVuKQogICAgICAgICAsIG1feHBvcyh4cG9zKQpAQCAtNTEsOCArNTAsNiBA
QCBwdWJsaWM6CiAgICAgICAgICwgbV9hbGxvd1RhYnMoYWxsb3dUYWJzKQogICAgICAgICAsIG1f
cnRsKHJ0bCkKICAgICAgICAgLCBtX2RpcmVjdGlvbmFsT3ZlcnJpZGUoZGlyZWN0aW9uYWxPdmVy
cmlkZSkKLSAgICAgICAgLCBtX2FwcGx5UnVuUm91bmRpbmcoYXBwbHlSdW5Sb3VuZGluZykKLSAg
ICAgICAgLCBtX2FwcGx5V29yZFJvdW5kaW5nKGFwcGx5V29yZFJvdW5kaW5nKQogICAgICAgICAs
IG1fZGlzYWJsZVNwYWNpbmcoZmFsc2UpCiAjaWYgRU5BQkxFKFNWR19GT05UUykKICAgICAgICAg
LCBtX3JlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KDApCkBAIC02MSw4ICs1OCw3IEBAIHB1YmxpYzoK
ICAgICB7CiAgICAgfQogCi0gICAgVGV4dFJ1bihjb25zdCBTdHJpbmcmIHMsIGJvb2wgYWxsb3dU
YWJzID0gZmFsc2UsIGludCB4cG9zID0gMCwgaW50IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdF
eHBhbnNpb24sIGJvb2wgcnRsID0gZmFsc2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZh
bHNlLAotICAgICAgICAgICAgICBib29sIGFwcGx5UnVuUm91bmRpbmcgPSB0cnVlLCBib29sIGFw
cGx5V29yZFJvdW5kaW5nID0gdHJ1ZSkKKyAgICBUZXh0UnVuKGNvbnN0IFN0cmluZyYgcywgYm9v
bCBhbGxvd1RhYnMgPSBmYWxzZSwgZmxvYXQgeHBvcyA9IDAsIGZsb2F0IGV4cGFuc2lvbiA9IDAs
IFRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9IEFs
bG93VHJhaWxpbmdFeHBhbnNpb24sIGJvb2wgcnRsID0gZmFsc2UsIGJvb2wgZGlyZWN0aW9uYWxP
dmVycmlkZSA9IGZhbHNlKQogICAgICAgICA6IG1fY2hhcmFjdGVycyhzLmNoYXJhY3RlcnMoKSkK
ICAgICAgICAgLCBtX2xlbihzLmxlbmd0aCgpKQogICAgICAgICAsIG1feHBvcyh4cG9zKQpAQCAt
NzQsOCArNzAsNiBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9hbGxvd1RhYnMoYWxsb3dUYWJzKQog
ICAgICAgICAsIG1fcnRsKHJ0bCkKICAgICAgICAgLCBtX2RpcmVjdGlvbmFsT3ZlcnJpZGUoZGly
ZWN0aW9uYWxPdmVycmlkZSkKLSAgICAgICAgLCBtX2FwcGx5UnVuUm91bmRpbmcoYXBwbHlSdW5S
b3VuZGluZykKLSAgICAgICAgLCBtX2FwcGx5V29yZFJvdW5kaW5nKGFwcGx5V29yZFJvdW5kaW5n
KQogICAgICAgICAsIG1fZGlzYWJsZVNwYWNpbmcoZmFsc2UpCiAjaWYgRU5BQkxFKFNWR19GT05U
UykKICAgICAgICAgLCBtX3JlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KDApCkBAIC05OCwxOCArOTIs
MTUgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICBib29sIGFsbG93VGFicygpIGNvbnN0IHsgcmV0
dXJuIG1fYWxsb3dUYWJzOyB9Ci0gICAgaW50IHhQb3MoKSBjb25zdCB7IHJldHVybiBtX3hwb3M7
IH0KLSAgICBpbnQgZXhwYW5zaW9uKCkgY29uc3QgeyByZXR1cm4gbV9leHBhbnNpb247IH0KKyAg
ICBmbG9hdCB4UG9zKCkgY29uc3QgeyByZXR1cm4gbV94cG9zOyB9CisgICAgZmxvYXQgZXhwYW5z
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9leHBhbnNpb247IH0KICAgICBib29sIGFsbG93c1RyYWls
aW5nRXhwYW5zaW9uKCkgY29uc3QgeyByZXR1cm4gbV90cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9y
ID09IEFsbG93VHJhaWxpbmdFeHBhbnNpb247IH0KICAgICBib29sIHJ0bCgpIGNvbnN0IHsgcmV0
dXJuIG1fcnRsOyB9CiAgICAgYm9vbCBsdHIoKSBjb25zdCB7IHJldHVybiAhbV9ydGw7IH0KICAg
ICBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUoKSBjb25zdCB7IHJldHVybiBtX2RpcmVjdGlvbmFs
T3ZlcnJpZGU7IH0KLSAgICBib29sIGFwcGx5UnVuUm91bmRpbmcoKSBjb25zdCB7IHJldHVybiBt
X2FwcGx5UnVuUm91bmRpbmc7IH0KLSAgICBib29sIGFwcGx5V29yZFJvdW5kaW5nKCkgY29uc3Qg
eyByZXR1cm4gbV9hcHBseVdvcmRSb3VuZGluZzsgfQogICAgIGJvb2wgc3BhY2luZ0Rpc2FibGVk
KCkgY29uc3QgeyByZXR1cm4gbV9kaXNhYmxlU3BhY2luZzsgfQogCiAgICAgdm9pZCBkaXNhYmxl
U3BhY2luZygpIHsgbV9kaXNhYmxlU3BhY2luZyA9IHRydWU7IH0KLSAgICB2b2lkIGRpc2FibGVS
b3VuZGluZ0hhY2tzKCkgeyBtX2FwcGx5UnVuUm91bmRpbmcgPSBtX2FwcGx5V29yZFJvdW5kaW5n
ID0gZmFsc2U7IH0KICAgICB2b2lkIHNldFJUTChib29sIGIpIHsgbV9ydGwgPSBiOyB9CiAgICAg
dm9pZCBzZXREaXJlY3Rpb25hbE92ZXJyaWRlKGJvb2wgb3ZlcnJpZGUpIHsgbV9kaXJlY3Rpb25h
bE92ZXJyaWRlID0gb3ZlcnJpZGU7IH0KIApAQCAtMTI4LDggKzExOSw4IEBAIHByaXZhdGU6CiAg
ICAgLy8gbV94cG9zIGlzIHRoZSB4IHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBsZWZ0IHN0YXJ0
IG9mIHRoZSB0ZXh0IGxpbmUsIG5vdCByZWxhdGl2ZSB0byB0aGUgbGVmdAogICAgIC8vIHN0YXJ0
IG9mIHRoZSBjb250YWluaW5nIGJsb2NrLiBJbiB0aGUgY2FzZSBvZiByaWdodCBhbGlnbm1lbnQg
b3IgY2VudGVyIGFsaWdubWVudCwgbGVmdCBzdGFydCBvZgogICAgIC8vIHRoZSB0ZXh0IGxpbmUg
aXMgbm90IHRoZSBzYW1lIGFzIGxlZnQgc3RhcnQgb2YgdGhlIGNvbnRhaW5pbmcgYmxvY2suCi0g
ICAgaW50IG1feHBvczsgIAotICAgIGludCBtX2V4cGFuc2lvbjsKKyAgICBmbG9hdCBtX3hwb3M7
ICAKKyAgICBmbG9hdCBtX2V4cGFuc2lvbjsKICAgICBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9y
IG1fdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvcjsKICNpZiBFTkFCTEUoU1ZHKQogICAgIGZsb2F0
IG1faG9yaXpvbnRhbEdseXBoU3RyZXRjaDsKQEAgLTEzNyw4ICsxMjgsNiBAQCBwcml2YXRlOgog
ICAgIGJvb2wgbV9hbGxvd1RhYnM7CiAgICAgYm9vbCBtX3J0bDsKICAgICBib29sIG1fZGlyZWN0
aW9uYWxPdmVycmlkZTsKLSAgICBib29sIG1fYXBwbHlSdW5Sb3VuZGluZzsKLSAgICBib29sIG1f
YXBwbHlXb3JkUm91bmRpbmc7CiAgICAgYm9vbCBtX2Rpc2FibGVTcGFjaW5nOwogCiAjaWYgRU5B
QkxFKFNWR19GT05UUykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dp
ZHRoSXRlcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCShyZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00OCw3ICs0OCw2IEBAIFdpZHRoSXRlcmF0b3I6OldpZHRoSXRlcmF0b3IoY29uc3QgRm9udCoK
ICAgICAsIG1fY3VycmVudENoYXJhY3RlcigwKQogICAgICwgbV9ydW5XaWR0aFNvRmFyKDApCiAg
ICAgLCBtX2lzQWZ0ZXJFeHBhbnNpb24odHJ1ZSkKLSAgICAsIG1fZmluYWxSb3VuZGluZ1dpZHRo
KDApCiAgICAgLCBtX2ZhbGxiYWNrRm9udHMoZmFsbGJhY2tGb250cykKICAgICAsIG1fYWNjb3Vu
dEZvckdseXBoQm91bmRzKGFjY291bnRGb3JHbHlwaEJvdW5kcykKICAgICAsIG1fbWF4R2x5cGhC
b3VuZGluZ0JveFkobnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptaW4oKSkKQEAgLTg2LDExICs4NSw2
IEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZShpbnQgb2Zmc2V0LCAKICAgICBib29sIHJ0
bCA9IG1fcnVuLnJ0bCgpOwogICAgIGJvb2wgaGFzRXh0cmFTcGFjaW5nID0gKG1fZm9udC0+bGV0
dGVyU3BhY2luZygpIHx8IG1fZm9udC0+d29yZFNwYWNpbmcoKSB8fCBtX2V4cGFuc2lvbikgJiYg
IW1fcnVuLnNwYWNpbmdEaXNhYmxlZCgpOwogCi0gICAgZmxvYXQgd2lkdGhTaW5jZUxhc3RSb3Vu
ZGluZyA9IG1fcnVuV2lkdGhTb0ZhcjsKLSAgICBtX3J1bldpZHRoU29GYXIgPSBmbG9vcmYobV9y
dW5XaWR0aFNvRmFyKTsKLSAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nIC09IG1fcnVuV2lkdGhT
b0ZhcjsKLQotICAgIGZsb2F0IGxhc3RSb3VuZGluZ1dpZHRoID0gbV9maW5hbFJvdW5kaW5nV2lk
dGg7CiAgICAgRmxvYXRSZWN0IGJvdW5kczsKIAogICAgIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBw
cmltYXJ5Rm9udCA9IG1fZm9udC0+cHJpbWFyeUZvbnQoKTsKQEAgLTEzNiw3ICsxMzAsNyBAQCB2
b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9mZnNldCwgCiAgICAgICAgIGZsb2F0IHdp
ZHRoOwogICAgICAgICBpZiAoYyA9PSAnXHQnICYmIG1fcnVuLmFsbG93VGFicygpKSB7CiAgICAg
ICAgICAgICBmbG9hdCB0YWJXaWR0aCA9IG1fZm9udC0+dGFiV2lkdGgoKmZvbnREYXRhKTsKLSAg
ICAgICAgICAgIHdpZHRoID0gdGFiV2lkdGggLSBmbW9kZihtX3J1bi54UG9zKCkgKyBtX3J1bldp
ZHRoU29GYXIgKyB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nLCB0YWJXaWR0aCk7CisgICAgICAgICAg
ICB3aWR0aCA9IHRhYldpZHRoIC0gZm1vZGYobV9ydW4ueFBvcygpICsgbV9ydW5XaWR0aFNvRmFy
LCB0YWJXaWR0aCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICB3aWR0aCA9IGZvbnRE
YXRhLT53aWR0aEZvckdseXBoKGdseXBoKTsKIApAQCAtMTQ0LDEzICsxMzgsNiBAQCB2b2lkIFdp
ZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9mZnNldCwgCiAgICAgICAgICAgICAvLyBTVkcgdXNl
cyBob3Jpem9udGFsR2x5cGhTdHJldGNoKCksIHdoZW4gdGV4dExlbmd0aCBpcyB1c2VkIHRvIHN0
cmV0Y2gvc3F1ZWV6ZSB0ZXh0LgogICAgICAgICAgICAgd2lkdGggKj0gbV9ydW4uaG9yaXpvbnRh
bEdseXBoU3RyZXRjaCgpOwogI2VuZGlmCi0KLSAgICAgICAgICAgIC8vIFdlIHNwZWNpYWwgY2Fz
ZSBzcGFjZXMgaW4gdHdvIHdheXMgd2hlbiBhcHBseWluZyB3b3JkIHJvdW5kaW5nLgotICAgICAg
ICAgICAgLy8gRmlyc3QsIHdlIHJvdW5kIHNwYWNlcyB0byBhbiBhZGp1c3RlZCB3aWR0aCBpbiBh
bGwgZm9udHMuCi0gICAgICAgICAgICAvLyBTZWNvbmQsIGluIGZpeGVkLXBpdGNoIGZvbnRzIHdl
IGVuc3VyZSB0aGF0IGFsbCBjaGFyYWN0ZXJzIHRoYXQKLSAgICAgICAgICAgIC8vIG1hdGNoIHRo
ZSB3aWR0aCBvZiB0aGUgc3BhY2UgY2hhcmFjdGVyIGhhdmUgdGhlIHNhbWUgd2lkdGggYXMgdGhl
IHNwYWNlIGNoYXJhY3Rlci4KLSAgICAgICAgICAgIGlmICh3aWR0aCA9PSBmb250RGF0YS0+c3Bh
Y2VXaWR0aCgpICYmIChmb250RGF0YS0+cGl0Y2goKSA9PSBGaXhlZFBpdGNoIHx8IGdseXBoID09
IGZvbnREYXRhLT5zcGFjZUdseXBoKCkpICYmIG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkpCi0g
ICAgICAgICAgICAgICAgd2lkdGggPSBmb250RGF0YS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCk7CiAg
ICAgICAgIH0KIAogICAgICAgICBpZiAoZm9udERhdGEgIT0gbGFzdEZvbnREYXRhICYmIHdpZHRo
KSB7CkBAIC0xODMsMTQgKzE3MCwxNCBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50
IG9mZnNldCwgCiAgICAgICAgICAgICAgICAgICAgIGlmICghdHJlYXRBc1NwYWNlICYmICFtX2lz
QWZ0ZXJFeHBhbnNpb24pIHsKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRha2UgdGhlIGV4
cGFuc2lvbiBvcHBvcnR1bml0eSBiZWZvcmUgdGhpcyBpZGVvZ3JhcGguCiAgICAgICAgICAgICAg
ICAgICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IGV4cGFuc2lvbiA9IHJvdW5kZihwcmV2aW91c0V4cGFu
c2lvbikgLSByb3VuZGYobV9leHBhbnNpb24pOworICAgICAgICAgICAgICAgICAgICAgICAgZmxv
YXQgZXhwYW5zaW9uID0gcHJldmlvdXNFeHBhbnNpb24gLSBtX2V4cGFuc2lvbjsKICAgICAgICAg
ICAgICAgICAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBleHBhbnNpb247CiAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoZ2x5cGhCdWZmZXIpCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZ2x5cGhCdWZmZXItPmV4cGFuZExhc3RBZHZhbmNlKGV4cGFuc2lvbik7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBwcmV2aW91c0V4cGFuc2lvbiA9IG1fZXhwYW5zaW9uOwogICAgICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIG1fZXhwYW5zaW9uIC09IG1fZXhwYW5z
aW9uUGVyT3Bwb3J0dW5pdHk7Ci0gICAgICAgICAgICAgICAgICAgIHdpZHRoICs9IHJvdW5kZihw
cmV2aW91c0V4cGFuc2lvbikgLSByb3VuZGYobV9leHBhbnNpb24pOworICAgICAgICAgICAgICAg
ICAgICB3aWR0aCArPSBwcmV2aW91c0V4cGFuc2lvbiAtIG1fZXhwYW5zaW9uOwogICAgICAgICAg
ICAgICAgICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwogICAgICAgICAgICAgICAgIH0g
ZWxzZQogICAgICAgICAgICAgICAgICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKQEAg
LTIxNiw0MyArMjAzLDEwIEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZShpbnQgb2Zmc2V0
LCAKICAgICAgICAgY3AgKz0gY2x1c3Rlckxlbmd0aDsKICAgICAgICAgY3VycmVudENoYXJhY3Rl
ciArPSBjbHVzdGVyTGVuZ3RoOwogCi0gICAgICAgIC8vIEFjY291bnQgZm9yIGZsb2F0L2ludGVn
ZXIgaW1wZWRhbmNlIG1pc21hdGNoIGJldHdlZW4gQ0cgYW5kIEtIVE1MLiAiV29yZHMiIChjaGFy
YWN0ZXJzIAotICAgICAgICAvLyBmb2xsb3dlZCBieSBhIGNoYXJhY3RlciBkZWZpbmVkIGJ5IGlz
Um91bmRpbmdIYWNrQ2hhcmFjdGVyKCkpIGFyZSBhbHdheXMgYW4gaW50ZWdlciB3aWR0aC4KLSAg
ICAgICAgLy8gV2UgYWRqdXN0IHRoZSB3aWR0aCBvZiB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgYSAi
d29yZCIgdG8gZW5zdXJlIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgIC8vIElmIHdlIG1vdmUg
S0hUTUwgdG8gZmxvYXRzIHdlIGNhbiByZW1vdmUgdGhpcyAoYW5kIHJlbGF0ZWQpIGhhY2tzLgot
Ci0gICAgICAgIGZsb2F0IG9sZFdpZHRoID0gd2lkdGg7Ci0KLSAgICAgICAgLy8gRm9yY2UgY2hh
cmFjdGVycyB0aGF0IGFyZSB1c2VkIHRvIGRldGVybWluZSB3b3JkIGJvdW5kYXJpZXMgZm9yIHRo
ZSByb3VuZGluZyBoYWNrCi0gICAgICAgIC8vIHRvIGJlIGludGVnZXIgd2lkdGgsIHNvIGZvbGxv
d2luZyB3b3JkcyB3aWxsIHN0YXJ0IG9uIGFuIGludGVnZXIgYm91bmRhcnkuCi0gICAgICAgIGlm
IChtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpICYmIEZvbnQ6OmlzUm91bmRpbmdIYWNrQ2hhcmFj
dGVyKGMpKSB7Ci0gICAgICAgICAgICB3aWR0aCA9IGNlaWxmKHdpZHRoKTsKLQotICAgICAgICAg
ICAgLy8gU2luY2Ugd2lkdGhTaW5jZUxhc3RSb3VuZGluZyBjYW4gbG9zZSBwcmVjaXNpb24gaWYg
d2UgaW5jbHVkZSBtZWFzdXJlbWVudHMgZm9yCi0gICAgICAgICAgICAvLyBwcmVjZWRpbmcgd2hp
dGVzcGFjZSwgd2UgYnlwYXNzIGl0IGhlcmUuCi0gICAgICAgICAgICBtX3J1bldpZHRoU29GYXIg
Kz0gd2lkdGg7Ci0KLSAgICAgICAgICAgIC8vIFNpbmNlIHRoaXMgaXMgYSByb3VuZGluZyBoYWNr
IGNoYXJhY3Rlciwgd2Ugc2hvdWxkIGhhdmUgcmVzZXQgdGhpcyBzdW0gb24gdGhlIHByZXZpb3Vz
Ci0gICAgICAgICAgICAvLyBpdGVyYXRpb24uCi0gICAgICAgICAgICBBU1NFUlQoIXdpZHRoU2lu
Y2VMYXN0Um91bmRpbmcpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gQ2hlY2sg
dG8gc2VlIGlmIHRoZSBuZXh0IGNoYXJhY3RlciBpcyBhICJyb3VuZGluZyBoYWNrIGNoYXJhY3Rl
ciIsIGlmIHNvLCBhZGp1c3QKLSAgICAgICAgICAgIC8vIHdpZHRoIHNvIHRoYXQgdGhlIHRvdGFs
IHJ1biB3aWR0aCB3aWxsIGJlIG9uIGFuIGludGVnZXIgYm91bmRhcnkuCi0gICAgICAgICAgICBp
ZiAoKG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkgJiYgY3VycmVudENoYXJhY3RlciA8IG1fcnVu
Lmxlbmd0aCgpICYmIEZvbnQ6OmlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKCpjcCkpCi0gICAgICAg
ICAgICAgICAgICAgIHx8IChtX3J1bi5hcHBseVJ1blJvdW5kaW5nKCkgJiYgY3VycmVudENoYXJh
Y3RlciA+PSBtX2VuZCkpIHsKLSAgICAgICAgICAgICAgICBmbG9hdCB0b3RhbFdpZHRoID0gd2lk
dGhTaW5jZUxhc3RSb3VuZGluZyArIHdpZHRoOwotICAgICAgICAgICAgICAgIHdpZHRoU2luY2VM
YXN0Um91bmRpbmcgPSBjZWlsZih0b3RhbFdpZHRoKTsKLSAgICAgICAgICAgICAgICB3aWR0aCAr
PSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nIC0gdG90YWxXaWR0aDsKLSAgICAgICAgICAgICAgICBt
X3J1bldpZHRoU29GYXIgKz0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZzsKLSAgICAgICAgICAgICAg
ICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gMDsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAg
ICAgICAgICAgIHdpZHRoU2luY2VMYXN0Um91bmRpbmcgKz0gd2lkdGg7Ci0gICAgICAgIH0KKyAg
ICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoOwogCiAgICAgICAgIGlmIChnbHlwaEJ1ZmZl
cikKLSAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQoZ2x5cGgsIGZvbnREYXRhLCAocnRsID8g
b2xkV2lkdGggKyBsYXN0Um91bmRpbmdXaWR0aCA6IHdpZHRoKSk7Ci0KLSAgICAgICAgbGFzdFJv
dW5kaW5nV2lkdGggPSB3aWR0aCAtIG9sZFdpZHRoOworICAgICAgICAgICAgZ2x5cGhCdWZmZXIt
PmFkZChnbHlwaCwgZm9udERhdGEsIHdpZHRoKTsKIAogICAgICAgICBpZiAobV9hY2NvdW50Rm9y
R2x5cGhCb3VuZHMpIHsKICAgICAgICAgICAgIG1fbWF4R2x5cGhCb3VuZGluZ0JveFkgPSBtYXgo
bV9tYXhHbHlwaEJvdW5kaW5nQm94WSwgYm91bmRzLm1heFkoKSk7CkBAIC0yNjIsOCArMjE2LDYg
QEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQsIAogICAgIH0KIAogICAg
IG1fY3VycmVudENoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgbV9ydW5XaWR0aFNv
RmFyICs9IHdpZHRoU2luY2VMYXN0Um91bmRpbmc7Ci0gICAgbV9maW5hbFJvdW5kaW5nV2lkdGgg
PSBsYXN0Um91bmRpbmdXaWR0aDsKIH0KIAogYm9vbCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlT25l
Q2hhcmFjdGVyKGZsb2F0JiB3aWR0aCwgR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyKQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBo
aWNzQ29udGV4dENHLmNwcAkocmV2aXNpb24gNzgyNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTExMzAsNyArMTEzMCw3IEBAIEZsb2F0UmVjdCBHcmFwaGljc0NvbnRleHQ6OnJvdW5kVG9EZXZp
Y2UKICAgICByZXR1cm4gRmxvYXRSZWN0KHJvdW5kZWRPcmlnaW4sIHJvdW5kZWRMb3dlclJpZ2h0
IC0gcm91bmRlZE9yaWdpbik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZv
clRleHQoY29uc3QgSW50UG9pbnQmIHBvaW50LCBpbnQgd2lkdGgsIGJvb2wgcHJpbnRpbmcpCit2
b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmIHBv
aW50LCBmbG9hdCB3aWR0aCwgYm9vbCBwcmludGluZykKIHsKICAgICBpZiAocGFpbnRpbmdEaXNh
YmxlZCgpKQogICAgICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNw
cAkocmV2aXNpb24gNzgyNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMyLDcgKzQz
Miw2IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHMKIAogICAgICAg
ICBib29sIGxhc3RSdW4gPSByICsgMSA9PSBydW5Db3VudDsKICAgICAgICAgY29uc3QgVUNoYXIq
IGNwID0gY29tcGxleFRleHRSdW4uY2hhcmFjdGVycygpOwotICAgICAgICBDR0Zsb2F0IHJvdW5k
ZWRTcGFjZVdpZHRoID0gcm91bmRDR0Zsb2F0KGZvbnREYXRhLT5zcGFjZVdpZHRoKCkpOwogICAg
ICAgICBib29sIHJvdW5kc0FkdmFuY2VzID0gIW1fZm9udC5pc1ByaW50ZXJGb250KCkgJiYgZm9u
dERhdGEtPnBsYXRmb3JtRGF0YSgpLnJvdW5kc0dseXBoQWR2YW5jZXMoKTsKICAgICAgICAgQ0dQ
b2ludCBnbHlwaE9yaWdpbiA9IENHUG9pbnRaZXJvOwogICAgICAgICBDRkluZGV4IGxhc3RDaGFy
YWN0ZXJJbmRleCA9IG1fcnVuLmx0cigpID8gbnVtZXJpY19saW1pdHM8Q0ZJbmRleD46Om1pbigp
IDogbnVtZXJpY19saW1pdHM8Q0ZJbmRleD46Om1heCgpOwpAQCAtNDc1LDEzICs0NzQsNiBAQCB2
b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAKICAgICAgICAgICAgIGFk
dmFuY2Uud2lkdGggKz0gZm9udERhdGEtPnN5bnRoZXRpY0JvbGRPZmZzZXQoKTsKIAotICAgICAg
ICAgICAgLy8gV2Ugc3BlY2lhbCBjYXNlIHNwYWNlcyBpbiB0d28gd2F5cyB3aGVuIGFwcGx5aW5n
IHdvcmQgcm91bmRpbmcuCi0gICAgICAgICAgICAvLyBGaXJzdCwgd2Ugcm91bmQgc3BhY2VzIHRv
IGFuIGFkanVzdGVkIHdpZHRoIGluIGFsbCBmb250cy4KLSAgICAgICAgICAgIC8vIFNlY29uZCwg
aW4gZml4ZWQtcGl0Y2ggZm9udHMgd2UgZW5zdXJlIHRoYXQgYWxsIGdseXBocyB0aGF0Ci0gICAg
ICAgICAgICAvLyBtYXRjaCB0aGUgd2lkdGggb2YgdGhlIHNwYWNlIGdseXBoIGhhdmUgdGhlIHNh
bWUgd2lkdGggYXMgdGhlIHNwYWNlIGdseXBoLgotICAgICAgICAgICAgaWYgKHJvdW5kZWRBZHZh
bmNlV2lkdGggPT0gcm91bmRlZFNwYWNlV2lkdGggJiYgKGZvbnREYXRhLT5waXRjaCgpID09IEZp
eGVkUGl0Y2ggfHwgZ2x5cGggPT0gZm9udERhdGEtPnNwYWNlR2x5cGgoKSkgJiYgbV9ydW4uYXBw
bHlXb3JkUm91bmRpbmcoKSkKLSAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoID0gZm9udERh
dGEtPmFkanVzdGVkU3BhY2VXaWR0aCgpOwotCiAgICAgICAgICAgICBpZiAoaGFzRXh0cmFTcGFj
aW5nKSB7CiAgICAgICAgICAgICAgICAgLy8gSWYgd2UncmUgYSBnbHlwaCB3aXRoIGFuIGFkdmFu
Y2UsIGdvIGFoZWFkIGFuZCBhZGQgaW4gbGV0dGVyLXNwYWNpbmcuCiAgICAgICAgICAgICAgICAg
Ly8gVGhhdCB3YXkgd2Ugd2VlZCBvdXQgemVybyB3aWR0aCBsdXJrZXJzLiAgVGhpcyBiZWhhdmlv
ciBtYXRjaGVzIHRoZSBmYXN0IHRleHQgY29kZSBwYXRoLgpAQCAtNTE0LDMzICs1MDYsNyBAQCB2
b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAgICAgICAgICAgICAgICAg
ICAgIG1fYWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAg
ICAgLy8gRGVhbCB3aXRoIHRoZSBmbG9hdC9pbnRlZ2VyIGltcGVkYW5jZSBtaXNtYXRjaCBiZXR3
ZWVuIENHIGFuZCBXZWJDb3JlLiAiV29yZHMiIChjaGFyYWN0ZXJzIAotICAgICAgICAgICAgLy8g
Zm9sbG93ZWQgYnkgYSBjaGFyYWN0ZXIgZGVmaW5lZCBieSBpc1JvdW5kaW5nSGFja0NoYXJhY3Rl
cigpKSBhcmUgYWx3YXlzIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgICAgICAvLyBXZSBhZGp1
c3QgdGhlIHdpZHRoIG9mIHRoZSBsYXN0IGNoYXJhY3RlciBvZiBhICJ3b3JkIiB0byBlbnN1cmUg
YW4gaW50ZWdlciB3aWR0aC4KLSAgICAgICAgICAgIC8vIEZvcmNlIGNoYXJhY3RlcnMgdGhhdCBh
cmUgdXNlZCB0byBkZXRlcm1pbmUgd29yZCBib3VuZGFyaWVzIGZvciB0aGUgcm91bmRpbmcgaGFj
awotICAgICAgICAgICAgLy8gdG8gYmUgaW50ZWdlciB3aWR0aCwgc28gdGhlIGZvbGxvd2luZyB3
b3JkcyB3aWxsIHN0YXJ0IG9uIGFuIGludGVnZXIgYm91bmRhcnkuCi0gICAgICAgICAgICBpZiAo
bV9ydW4uYXBwbHlXb3JkUm91bmRpbmcoKSAmJiBGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3Rl
cihjaCkpCi0gICAgICAgICAgICAgICAgYWR2YW5jZS53aWR0aCA9IGNlaWxDR0Zsb2F0KGFkdmFu
Y2Uud2lkdGgpOwotCi0gICAgICAgICAgICAvLyBDaGVjayB0byBzZWUgaWYgdGhlIG5leHQgY2hh
cmFjdGVyIGlzIGEgInJvdW5kaW5nIGhhY2sgY2hhcmFjdGVyIiwgaWYgc28sIGFkanVzdCB0aGUK
LSAgICAgICAgICAgIC8vIHdpZHRoIHNvIHRoYXQgdGhlIHRvdGFsIHJ1biB3aWR0aCB3aWxsIGJl
IG9uIGFuIGludGVnZXIgYm91bmRhcnkuCi0gICAgICAgICAgICBpZiAoKG1fcnVuLmFwcGx5V29y
ZFJvdW5kaW5nKCkgJiYgIWxhc3RHbHlwaCAmJiBGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3Rl
cihuZXh0Q2gpKSB8fCAobV9ydW4uYXBwbHlSdW5Sb3VuZGluZygpICYmIGxhc3RHbHlwaCkpIHsK
LSAgICAgICAgICAgICAgICBDR0Zsb2F0IHRvdGFsV2lkdGggPSB3aWR0aFNpbmNlTGFzdFJvdW5k
aW5nICsgYWR2YW5jZS53aWR0aDsKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5k
aW5nID0gY2VpbENHRmxvYXQodG90YWxXaWR0aCk7Ci0gICAgICAgICAgICAgICAgQ0dGbG9hdCBl
eHRyYVdpZHRoID0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyAtIHRvdGFsV2lkdGg7Ci0gICAgICAg
ICAgICAgICAgaWYgKG1fcnVuLmx0cigpKQotICAgICAgICAgICAgICAgICAgICBhZHZhbmNlLndp
ZHRoICs9IGV4dHJhV2lkdGg7Ci0gICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmIChtX2xhc3RSb3VuZGluZ0dseXBoKQotICAgICAgICAgICAgICAgICAgICAgICAg
bV9hZGp1c3RlZEFkdmFuY2VzW21fbGFzdFJvdW5kaW5nR2x5cGggLSAxXS53aWR0aCArPSBleHRy
YVdpZHRoOwotICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAg
ICBtX2ZpbmFsUm91bmRpbmdXaWR0aCA9IGV4dHJhV2lkdGg7Ci0gICAgICAgICAgICAgICAgICAg
IG1fbGFzdFJvdW5kaW5nR2x5cGggPSBtX2FkanVzdGVkQWR2YW5jZXMuc2l6ZSgpICsgMTsKLSAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgbV90b3RhbFdpZHRoICs9IHdpZHRoU2lu
Y2VMYXN0Um91bmRpbmc7Ci0gICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9
IDA7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJv
dW5kaW5nICs9IGFkdmFuY2Uud2lkdGg7CisgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5k
aW5nICs9IGFkdmFuY2Uud2lkdGg7CiAKICAgICAgICAgICAgIC8vIEZJWE1FOiBDb21iaW5pbmcg
bWFya3Mgc2hvdWxkIHJlY2VpdmUgYSB0ZXh0IGVtcGhhc2lzIG1hcmsgaWYgdGhleSBhcmUgY29t
YmluZSB3aXRoIGEgc3BhY2UuCiAgICAgICAgICAgICBpZiAobV9mb3JUZXh0RW1waGFzaXMgJiYg
KCFGb250OjpjYW5SZWNlaXZlVGV4dEVtcGhhc2lzKGNoKSB8fCAoVV9HRVRfR0NfTUFTSyhjaCkg
JiBVX0dDX01fTUFTSykpKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0dyYXBoaWNzQ29udGV4dE1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0TWFjLm1tCShyZXZpc2lvbiA3ODI3
MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRl
eHRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTExMiwxNCArMTEyLDE0IEBAIHN0YXRpYyBOU0Nv
bG9yKiBjcmVhdGVQYXR0ZXJuQ29sb3IoTlNTdHIKIH0KIAogLy8gV2ViS2l0IG9uIE1hYyBpcyBh
IHN0YW5kYXJkIHBsYXRmb3JtIGNvbXBvbmVudCwgc28gaXQgbXVzdCB1c2UgdGhlIHN0YW5kYXJk
IHBsYXRmb3JtIGFydHdvcmsgZm9yIHVuZGVybGluZS4KLXZvaWQgR3JhcGhpY3NDb250ZXh0Ojpk
cmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYgcG9pbnQsIGludCB3aWR0aCwg
VGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdM
aW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBmbG9hdCB3aWR0aCwg
VGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVk
KCkpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgLy8gVGhlc2UgYXJlIHRoZSBzYW1l
IGZvciBtaXNzcGVsbGluZyBvciBiYWQgZ3JhbW1hci4KICAgICBpbnQgcGF0dGVybkhlaWdodCA9
IGNNaXNzcGVsbGluZ0xpbmVUaGlja25lc3M7Ci0gICAgaW50IHBhdHRlcm5XaWR0aCA9IGNNaXNz
cGVsbGluZ0xpbmVQYXR0ZXJuV2lkdGg7CisgICAgZmxvYXQgcGF0dGVybldpZHRoID0gY01pc3Nw
ZWxsaW5nTGluZVBhdHRlcm5XaWR0aDsKIAogICAgIGJvb2wgdXNpbmdEb3Q7CiAgICAgTlNDb2xv
ciAqcGF0dGVybkNvbG9yOwpAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
OjpkcmF3TGluZUZvclRleHRDaGUKICAgICAvLyBzcGFjZSBiZXR3ZWVuIGFkamFjZW50IG1pc3Nw
ZWxsZWQgd29yZHMgd2FzIHVuZGVybGluZWQuCiAgICAgaWYgKHVzaW5nRG90KSB7CiAgICAgICAg
IC8vIGFsbG93IHNsaWdodGx5IG1vcmUgY29uc2lkZXJpbmcgdGhhdCB0aGUgcGF0dGVybiBlbmRz
IHdpdGggYSB0cmFuc3BhcmVudCBwaXhlbAotICAgICAgICBpbnQgd2lkdGhNb2QgPSB3aWR0aCAl
IHBhdHRlcm5XaWR0aDsKKyAgICAgICAgZmxvYXQgd2lkdGhNb2QgPSBmbW9kZih3aWR0aCwgcGF0
dGVybldpZHRoKTsKICAgICAgICAgaWYgKHBhdHRlcm5XaWR0aCAtIHdpZHRoTW9kID4gY01pc3Nw
ZWxsaW5nTGluZVBhdHRlcm5HYXBXaWR0aCkKICAgICAgICAgICAgIHdpZHRoIC09IHdpZHRoTW9k
OwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxlQ2hvb3Nlck1h
Yy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRmlsZUNob29z
ZXJNYWMubW0JKHJldmlzaW9uIDc4MjcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L0ZpbGVDaG9vc2VyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw5ICs0Nyw5IEBAIFN0cmlu
ZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICBlbHNlIGlmIChtX2ZpbGVu
YW1lcy5zaXplKCkgPT0gMSkKICAgICAgICAgc3RyVG9UcnVuY2F0ZSA9IFtbTlNGaWxlTWFuYWdl
ciBkZWZhdWx0TWFuYWdlcl0gZGlzcGxheU5hbWVBdFBhdGg6KG1fZmlsZW5hbWVzWzBdKV07CiAg
ICAgZWxzZQotICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11
bHRpcGxlRmlsZVVwbG9hZFRleHQobV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQsIGZh
bHNlKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0
aXBsZUZpbGVVcGxvYWRUZXh0KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250KTsKIAot
ICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0clRvVHJ1bmNhdGUs
IHdpZHRoLCBmb250LCBmYWxzZSk7CisgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVy
VHJ1bmNhdGUoc3RyVG9UcnVuY2F0ZSwgd2lkdGgsIGZvbnQpOwogfQogCiB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCShyZXZpc2lvbiA3ODI3MSkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTQ1LDYgKzU0NSwyMyBAQCBib29sIEhpdFRlc3RSZXN1bHQ6OmFkZE5vZGVUb1Jl
Y3RCYXNlZFRlCiAgICAgcmV0dXJuICFyZWN0LmNvbnRhaW5zKHJlY3RGb3JQb2ludCh4LCB5KSk7
CiB9CiAKK2Jvb2wgSGl0VGVzdFJlc3VsdDo6YWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChO
b2RlKiBub2RlLCBpbnQgeCwgaW50IHksIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKK3sKKyAgICAv
LyBJZiBpdCBpcyBub3QgYSByZWN0LWJhc2VkIGhpdCB0ZXN0LCB0aGlzIG1ldGhvZCBoYXMgdG8g
YmUgbm8tb3AuCisgICAgLy8gUmV0dXJuIGZhbHNlLCBzbyB0aGUgaGl0IHRlc3Qgc3RvcHMuCisg
ICAgaWYgKCFpc1JlY3RCYXNlZFRlc3QoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
Ly8gSWYgbm9kZSBpcyBudWxsLCByZXR1cm4gdHJ1ZSBzbyB0aGUgaGl0IHRlc3QgY2FuIGNvbnRp
bnVlLgorICAgIGlmICghbm9kZSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBub2RlID0g
bm9kZS0+c2hhZG93QW5jZXN0b3JOb2RlKCk7CisgICAgbV9yZWN0QmFzZWRUZXN0UmVzdWx0LmFk
ZChub2RlKTsKKworICAgIHJldHVybiAhcmVjdC5jb250YWlucyhyZWN0Rm9yUG9pbnQoeCwgeSkp
OworfQorCiB2b2lkIEhpdFRlc3RSZXN1bHQ6OmFwcGVuZChjb25zdCBIaXRUZXN0UmVzdWx0JiBv
dGhlcikKIHsKICAgICBBU1NFUlQoaXNSZWN0QmFzZWRUZXN0KCkgJiYgb3RoZXIuaXNSZWN0QmFz
ZWRUZXN0KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5o
CShyZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVz
dWx0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIwLDYgKzIwLDcgQEAKICNpZm5kZWYgSGl0VGVzdFJl
c3VsdF9oCiAjZGVmaW5lIEhpdFRlc3RSZXN1bHRfaAogCisjaW5jbHVkZSAiRmxvYXRSZWN0Lmgi
CiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAi
SW50U2l6ZS5oIgpAQCAtMTEwLDYgKzExMSw3IEBAIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIHRy
dWUgaWYgaXQgaXMgcmVjdC1iYXNlZCBoaXQgdGVzdCBhbmQgbmVlZHMgdG8gY29udGludWUgdW50
aWwgdGhlIHJlY3QgaXMgZnVsbHkKICAgICAvLyBlbmNsb3NlZCBieSB0aGUgYm91bmRhcmllcyBv
ZiBhIG5vZGUuCiAgICAgYm9vbCBhZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KE5vZGUqLCBp
bnQgeCwgaW50IHksIGNvbnN0IEludFJlY3QmIHJlY3QgPSBJbnRSZWN0KCkpOworICAgIGJvb2wg
YWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChOb2RlKiwgaW50IHgsIGludCB5LCBjb25zdCBG
bG9hdFJlY3QmIHJlY3QpOwogICAgIGNvbnN0IExpc3RIYXNoU2V0PFJlZlB0cjxOb2RlPiA+JiBy
ZWN0QmFzZWRUZXN0UmVzdWx0KCkgY29uc3QgeyByZXR1cm4gbV9yZWN0QmFzZWRUZXN0UmVzdWx0
OyB9CiAgICAgdm9pZCBhcHBlbmQoY29uc3QgSGl0VGVzdFJlc3VsdCYpOwogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNwcAkocmV2aXNpb24gNzgyNzEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA2
LDcgKzEwNiw3IEBAIGludCBJbmxpbmVCb3g6OmxvZ2ljYWxIZWlnaHQoKSBjb25zdAogICAgICAg
ICByZXN1bHQgKz0gZmxvd09iamVjdC0+Ym9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxIZWlnaHQoKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQotCisgCiBpbnQgSW5saW5lQm94OjpjYXJldE1pbk9mZnNl
dCgpIGNvbnN0IAogeyAKICAgICByZXR1cm4gbV9yZW5kZXJlci0+Y2FyZXRNaW5PZmZzZXQoKTsg
CkBAIC0xNTAsMTMgKzE1MCwxNSBAQCB2b2lkIElubGluZUJveDo6YXR0YWNoTGluZSgpCiAgICAg
ICAgIHRvUmVuZGVyQm94KG1fcmVuZGVyZXIpLT5zZXRJbmxpbmVCb3hXcmFwcGVyKHRoaXMpOwog
fQogCi12b2lkIElubGluZUJveDo6YWRqdXN0UG9zaXRpb24oaW50IGR4LCBpbnQgZHkpCit2b2lk
IElubGluZUJveDo6YWRqdXN0UG9zaXRpb24oZmxvYXQgZHgsIGZsb2F0IGR5KQogewogICAgIG1f
eCArPSBkeDsKICAgICBtX3kgKz0gZHk7CiAgICAgaWYgKG1fcmVuZGVyZXItPmlzUmVwbGFjZWQo
KSkgeworICAgICAgICBtX3ggPSBjZWlsZihtX3gpOworICAgICAgICBtX3kgPSBjZWlsZihtX3kp
OwogICAgICAgICBSZW5kZXJCb3gqIGJveCA9IHRvUmVuZGVyQm94KG1fcmVuZGVyZXIpOwotICAg
ICAgICBib3gtPm1vdmUoZHgsIGR5KTsKKyAgICAgICAgYm94LT5zZXRMb2NhdGlvbihtX3gsIG1f
eSk7CiAgICAgfQogfQogCkBAIC0yNzgsMjEgKzI4MCwzNSBAQCBib29sIElubGluZUJveDo6Y2Fu
QWNjb21tb2RhdGVFbGxpcHNpcyhiCiAgICAgcmV0dXJuICEoYm94UmVjdC5pbnRlcnNlY3RzKGVs
bGlwc2lzUmVjdCkpOwogfQogCi1pbnQgSW5saW5lQm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2ws
IGludCwgaW50LCBpbnQsIGJvb2wmKQorZmxvYXQgSW5saW5lQm94OjpwbGFjZUVsbGlwc2lzQm94
KGJvb2wsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGJvb2wmKQogewogICAgIC8vIFVzZSAtMSB0byBt
ZWFuICJ3ZSBkaWRuJ3Qgc2V0IHRoZSBwb3NpdGlvbi4iCiAgICAgcmV0dXJuIC0xOwogfQogCi1J
bnRQb2ludCBJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKQorRmxvYXRQb2lu
dCBJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKQogewogICAgIGlmICghcmVu
ZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKLSAgICAgICAg
cmV0dXJuIEludFBvaW50KHgoKSwgeSgpKTsKKyAgICAgICAgcmV0dXJuIEZsb2F0UG9pbnQoeCgp
LCB5KCkpOwogICAgIFJlbmRlckJsb2NrKiBibG9jayA9IHJvb3QoKS0+YmxvY2soKTsKICAgICBp
ZiAoYmxvY2stPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCi0gICAgICAgIHJl
dHVybiBJbnRQb2ludCh4KCksIGJsb2NrLT5oZWlnaHQoKSAtIGhlaWdodCgpIC0geSgpKTsKKyAg
ICAgICAgcmV0dXJuIEZsb2F0UG9pbnQoeCgpLCBibG9jay0+aGVpZ2h0KCkgLSBoZWlnaHQoKSAt
IHkoKSk7CiAgICAgZWxzZQotICAgICAgICByZXR1cm4gSW50UG9pbnQoYmxvY2stPndpZHRoKCkg
LSB3aWR0aCgpIC0geCgpLCB5KCkpOworICAgICAgICByZXR1cm4gRmxvYXRQb2ludChibG9jay0+
d2lkdGgoKSAtIHdpZHRoKCkgLSB4KCksIHkoKSk7Cit9CisKK3ZvaWQgSW5saW5lQm94OjpmbGlw
Rm9yV3JpdGluZ01vZGUoRmxvYXRSZWN0JiByZWN0KQoreworICAgIGlmICghcmVuZGVyZXIoKS0+
c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIHJvb3QoKS0+YmxvY2soKS0+ZmxpcEZvcldyaXRpbmdNb2RlKHJlY3QpOworfQorCitGbG9h
dFBvaW50IElubGluZUJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEZsb2F0UG9pbnQmIHBv
aW50KQoreworICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3Jp
dGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHBvaW50OworICAgIHJldHVybiByb290KCktPmJs
b2NrKCktPmZsaXBGb3JXcml0aW5nTW9kZShwb2ludCk7CiB9CiAKIHZvaWQgSW5saW5lQm94Ojpm
bGlwRm9yV3JpdGluZ01vZGUoSW50UmVjdCYgcmVjdCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbmxpbmVCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW5saW5lQm94LmgJKHJldmlzaW9uIDc4MjcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OCw3ICs2OCw3IEBAIHB1YmxpYzoK
ICAgICB7CiAgICAgfQogCi0gICAgSW5saW5lQm94KFJlbmRlck9iamVjdCogb2JqLCBpbnQgeCwg
aW50IHksIGludCBsb2dpY2FsV2lkdGgsIGJvb2wgZmlyc3RMaW5lLCBib29sIGNvbnN0cnVjdGVk
LAorICAgIElubGluZUJveChSZW5kZXJPYmplY3QqIG9iaiwgZmxvYXQgeCwgZmxvYXQgeSwgZmxv
YXQgbG9naWNhbFdpZHRoLCBib29sIGZpcnN0TGluZSwgYm9vbCBjb25zdHJ1Y3RlZCwKICAgICAg
ICAgICAgICAgYm9vbCBkaXJ0eSwgYm9vbCBleHRyYWN0ZWQsIGJvb2wgaXNIb3Jpem9udGFsLCBJ
bmxpbmVCb3gqIG5leHQsIElubGluZUJveCogcHJldiwgSW5saW5lRmxvd0JveCogcGFyZW50KQog
ICAgICAgICA6IG1fbmV4dChuZXh0KQogICAgICAgICAsIG1fcHJldihwcmV2KQpAQCAtMTEyLDE1
ICsxMTIsMTUgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzTGluZUJyZWFrKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihp
bnQgZHgsIGludCBkeSk7Ci0gICAgdm9pZCBhZGp1c3RMaW5lRGlyZWN0aW9uUG9zaXRpb24oaW50
IGRlbHRhKQorICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihmbG9hdCBkeCwgZmxvYXQg
ZHkpOworICAgIHZvaWQgYWRqdXN0TGluZURpcmVjdGlvblBvc2l0aW9uKGZsb2F0IGRlbHRhKQog
ICAgIHsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKQogICAgICAgICAgICAgYWRqdXN0UG9z
aXRpb24oZGVsdGEsIDApOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBhZGp1c3RQb3NpdGlv
bigwLCBkZWx0YSk7CiAgICAgfQotICAgIHZvaWQgYWRqdXN0QmxvY2tEaXJlY3Rpb25Qb3NpdGlv
bihpbnQgZGVsdGEpCisgICAgdm9pZCBhZGp1c3RCbG9ja0RpcmVjdGlvblBvc2l0aW9uKGZsb2F0
IGRlbHRhKQogICAgIHsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKQogICAgICAgICAgICAg
YWRqdXN0UG9zaXRpb24oMCwgZGVsdGEpOwpAQCAtMjIwLDI4ICsyMjAsMjggQEAgcHVibGljOgog
ICAgIFJvb3RJbmxpbmVCb3gqIHJvb3QoKTsKIAogICAgIC8vIHgoKSBpcyB0aGUgbGVmdCBzaWRl
IG9mIHRoZSBib3ggaW4gdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBjb29yZGluYXRlIHN5c3RlbS4K
LSAgICB2b2lkIHNldFgoaW50IHgpIHsgbV94ID0geDsgfQotICAgIGludCB4KCkgY29uc3QgeyBy
ZXR1cm4gbV94OyB9CisgICAgdm9pZCBzZXRYKGZsb2F0IHgpIHsgbV94ID0geDsgfQorICAgIGZs
b2F0IHgoKSBjb25zdCB7IHJldHVybiBtX3g7IH0KIAogICAgIC8vIHkoKSBpcyB0aGUgdG9wIHNp
ZGUgb2YgdGhlIGJveCBpbiB0aGUgY29udGFpbmluZyBibG9jaydzIGNvb3JkaW5hdGUgc3lzdGVt
LgotICAgIHZvaWQgc2V0WShpbnQgeSkgeyBtX3kgPSB5OyB9Ci0gICAgaW50IHkoKSBjb25zdCB7
IHJldHVybiBtX3k7IH0KKyAgICB2b2lkIHNldFkoZmxvYXQgeSkgeyBtX3kgPSB5OyB9CisgICAg
ZmxvYXQgeSgpIGNvbnN0IHsgcmV0dXJuIG1feTsgfQogCi0gICAgaW50IHdpZHRoKCkgY29uc3Qg
eyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsV2lkdGgoKSA6IGxvZ2ljYWxIZWlnaHQo
KTsgfQotICAgIGludCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IGxv
Z2ljYWxIZWlnaHQoKSA6IGxvZ2ljYWxXaWR0aCgpOyB9Ci0KLSAgICBJbnRSZWN0IGZyYW1lUmVj
dCgpIGNvbnN0IHsgcmV0dXJuIEludFJlY3QoeCgpLCB5KCksIHdpZHRoKCksIGhlaWdodCgpKTsg
fQorICAgIGZsb2F0IHdpZHRoKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dp
Y2FsV2lkdGgoKSA6IGxvZ2ljYWxIZWlnaHQoKTsgfQorICAgIGZsb2F0IGhlaWdodCgpIGNvbnN0
IHsgcmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbG9naWNhbEhlaWdodCgpIDogbG9naWNhbFdpZHRo
KCk7IH0KIAogICAgIC8vIFRoZSBsb2dpY2FsTGVmdCBwb3NpdGlvbiBpcyB0aGUgbGVmdCBlZGdl
IG9mIHRoZSBsaW5lIGJveCBpbiBhIGhvcml6b250YWwgbGluZSBhbmQgdGhlIHRvcCBlZGdlIGlu
IGEgdmVydGljYWwgbGluZS4KLSAgICBpbnQgbG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBp
c0hvcml6b250YWwoKSA/IG1feCA6IG1feTsgfQotICAgIGludCBsb2dpY2FsUmlnaHQoKSBjb25z
dCB7IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNhbFdpZHRoKCk7IH0KLSAgICB2b2lkIHNl
dExvZ2ljYWxMZWZ0KGludCBsZWZ0KQorICAgIGZsb2F0IGxvZ2ljYWxMZWZ0KCkgY29uc3QgeyBy
ZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBtX3ggOiBtX3k7IH0KKyAgICBmbG9hdCBsb2dpY2FsUmln
aHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNhbFdpZHRoKCk7IH0KKyAg
ICB2b2lkIHNldExvZ2ljYWxMZWZ0KGZsb2F0IGxlZnQpCiAgICAgewogICAgICAgICBpZiAoaXNI
b3Jpem9udGFsKCkpCiAgICAgICAgICAgICBtX3ggPSBsZWZ0OwogICAgICAgICBlbHNlCiAgICAg
ICAgICAgICBtX3kgPSBsZWZ0OwogICAgIH0KKyAgICBpbnQgcGl4ZWxTbmFwcGVkTG9naWNhbExl
ZnQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpOyB9CisgICAgaW50IHBpeGVsU25hcHBl
ZExvZ2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGNlaWxmKGxvZ2ljYWxSaWdodCgpKTsgfQog
CiAgICAgLy8gVGhlIGxvZ2ljYWxUb3BbIHBvc2l0aW9uIGlzIHRoZSB0b3AgZWRnZSBvZiB0aGUg
bGluZSBib3ggaW4gYSBob3Jpem9udGFsIGxpbmUgYW5kIHRoZSBsZWZ0IGVkZ2UgaW4gYSB2ZXJ0
aWNhbCBsaW5lLgogICAgIGludCBsb2dpY2FsVG9wKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9u
dGFsKCkgPyBtX3kgOiBtX3g7IH0KQEAgLTI1NSw4ICsyNTUsOCBAQCBwdWJsaWM6CiAgICAgfQog
CiAgICAgLy8gVGhlIGxvZ2ljYWwgd2lkdGggaXMgb3VyIGV4dGVudCBpbiB0aGUgbGluZSdzIG92
ZXJhbGwgaW5saW5lIGRpcmVjdGlvbiwgaS5lLiwgd2lkdGggZm9yIGhvcml6b250YWwgdGV4dCBh
bmQgaGVpZ2h0IGZvciB2ZXJ0aWNhbCB0ZXh0LgotICAgIHZvaWQgc2V0TG9naWNhbFdpZHRoKGlu
dCB3KSB7IG1fbG9naWNhbFdpZHRoID0gdzsgfQotICAgIGludCBsb2dpY2FsV2lkdGgoKSBjb25z
dCB7IHJldHVybiBtX2xvZ2ljYWxXaWR0aDsgfQorICAgIHZvaWQgc2V0TG9naWNhbFdpZHRoKGZs
b2F0IHcpIHsgbV9sb2dpY2FsV2lkdGggPSB3OyB9CisgICAgZmxvYXQgbG9naWNhbFdpZHRoKCkg
Y29uc3QgeyByZXR1cm4gbV9sb2dpY2FsV2lkdGg7IH0KIAogICAgIC8vIFRoZSBsb2dpY2FsIGhl
aWdodCBpcyBvdXIgZXh0ZW50IGluIHRoZSBibG9jayBmbG93IGRpcmVjdGlvbiwgaS5lLiwgaGVp
Z2h0IGZvciBob3Jpem9udGFsIHRleHQgYW5kIHdpZHRoIGZvciB2ZXJ0aWNhbCB0ZXh0LgogICAg
IGludCBsb2dpY2FsSGVpZ2h0KCkgY29uc3Q7CkBAIC0yODYsNyArMjg2LDcgQEAgcHVibGljOgog
CiAgICAgdmlydHVhbCBib29sIGNhbkFjY29tbW9kYXRlRWxsaXBzaXMoYm9vbCBsdHIsIGludCBi
bG9ja0VkZ2UsIGludCBlbGxpcHNpc1dpZHRoKTsKICAgICAvLyB2aXNpYmxlTGVmdEVkZ2UsIHZp
c2libGVSaWdodEVkZ2UgYXJlIGluIHRoZSBwYXJlbnQncyBjb29yZGluYXRlIHN5c3RlbS4KLSAg
ICB2aXJ0dWFsIGludCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBpbnQgdmlzaWJsZUxlZnRF
ZGdlLCBpbnQgdmlzaWJsZVJpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmKTsKKyAg
ICB2aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGZsb2F0IHZpc2libGVM
ZWZ0RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9v
bCYpOwogCiAgICAgdm9pZCBzZXRIYXNCYWRQYXJlbnQoKTsKIApAQCAtMzAyLDEwICszMDIsMTIg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBJbnRQb2ludCBsb2Nh
dGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgRmxvYXRQb2ludCBsb2NhdGlvbkluY2x1ZGlu
Z0ZsaXBwaW5nKCk7CisgICAgdm9pZCBmbGlwRm9yV3JpdGluZ01vZGUoRmxvYXRSZWN0Jik7Cisg
ICAgRmxvYXRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgRmxvYXRQb2ludCYpOwogICAg
IHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEludFJlY3QmKTsKICAgICBJbnRQb2ludCBmbGlwRm9y
V3JpdGluZ01vZGUoY29uc3QgSW50UG9pbnQmKTsKLQorICAgIAogcHJpdmF0ZToKICAgICBJbmxp
bmVCb3gqIG1fbmV4dDsgLy8gVGhlIG5leHQgZWxlbWVudCBvbiB0aGUgc2FtZSBsaW5lIGFzIHVz
LgogICAgIElubGluZUJveCogbV9wcmV2OyAvLyBUaGUgcHJldmlvdXMgZWxlbWVudCBvbiB0aGUg
c2FtZSBsaW5lIGFzIHVzLgpAQCAtMzE1LDkgKzMxNyw5IEBAIHByaXZhdGU6CiBwdWJsaWM6CiAg
ICAgUmVuZGVyT2JqZWN0KiBtX3JlbmRlcmVyOwogCi0gICAgaW50IG1feDsKLSAgICBpbnQgbV95
OwotICAgIGludCBtX2xvZ2ljYWxXaWR0aDsKKyAgICBmbG9hdCBtX3g7CisgICAgZmxvYXQgbV95
OworICAgIGZsb2F0IG1fbG9naWNhbFdpZHRoOwogICAgIAogICAgIC8vIFNvbWUgb2YgdGhlc2Ug
Yml0cyBhcmUgYWN0dWFsbHkgZm9yIHN1YmNsYXNzZXMgYW5kIG1vdmVkIGhlcmUgdG8gY29tcGFj
dCB0aGUgc3RydWN0dXJlcy4KIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGlu
ZUZsb3dCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVGbG93Qm94LmNwcAkocmV2aXNpb24gNzgyNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW5saW5lRmxvd0JveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY3LDYgKzY3LDE4IEBAIGlu
dCBJbmxpbmVGbG93Qm94OjpnZXRGbG93U3BhY2luZ0xvZ2ljYWwKICAgICByZXR1cm4gdG90V2lk
dGg7CiB9CiAKK0ludFJlY3QgSW5saW5lRmxvd0JveDo6cGl4ZWxTbmFwcGVkRnJhbWVSZWN0KCkg
Y29uc3QKK3sKKyAgICAvLyBCZWdpbiBieSBzbmFwcGluZyB0aGUgeCBhbmQgeSBjb29yZGluYXRl
cyB0byB0aGUgbmVhcmVzdCBwaXhlbC4KKyAgICBpbnQgc25hcHBlZFggPSBscm91bmRmKHgoKSk7
CisgICAgaW50IHNuYXBwZWRZID0gbHJvdW5kZih5KCkpOworICAgIAorICAgIGludCBzbmFwcGVk
TWF4WCA9IGxyb3VuZGYoeCgpICsgd2lkdGgoKSk7CisgICAgaW50IHNuYXBwZWRNYXhZID0gbHJv
dW5kZih5KCkgKyBoZWlnaHQoKSk7CisgICAgCisgICAgcmV0dXJuIEludFJlY3Qoc25hcHBlZFgs
IHNuYXBwZWRZLCBzbmFwcGVkTWF4WCAtIHNuYXBwZWRYLCBzbmFwcGVkTWF4WSAtIHNuYXBwZWRZ
KTsKK30KKwogdm9pZCBJbmxpbmVGbG93Qm94OjphZGRUb0xpbmUoSW5saW5lQm94KiBjaGlsZCkg
CiB7CiAgICAgQVNTRVJUKCFjaGlsZC0+cGFyZW50KCkpOwpAQCAtMjU1LDEyICsyNjcsMTIgQEAg
dm9pZCBJbmxpbmVGbG93Qm94OjpkZXRlcm1pbmVTcGFjaW5nRm9yRgogICAgIH0KIH0KIAotaW50
IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklubGluZURpcmVjdGlvbihpbnQgbG9naWNhbExl
ZnQsIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRz
TWFwJiB0ZXh0Qm94RGF0YU1hcCkKK2Zsb2F0IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklu
bGluZURpcmVjdGlvbihmbG9hdCBsb2dpY2FsTGVmdCwgYm9vbCYgbmVlZHNXb3JkU3BhY2luZywg
R2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmIHRleHRCb3hEYXRhTWFwKQogewogICAg
IC8vIFNldCBvdXIgeCBwb3NpdGlvbi4KICAgICBzZXRMb2dpY2FsTGVmdChsb2dpY2FsTGVmdCk7
CiAgIAotICAgIGludCBzdGFydExvZ2ljYWxMZWZ0ID0gbG9naWNhbExlZnQ7CisgICAgZmxvYXQg
c3RhcnRMb2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0OwogICAgIGxvZ2ljYWxMZWZ0ICs9IGJvcmRl
ckxvZ2ljYWxMZWZ0KCkgKyBwYWRkaW5nTG9naWNhbExlZnQoKTsKICAgICAKICAgICBmb3IgKElu
bGluZUJveCogY3VyciA9IGZpcnN0Q2hpbGQoKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRPbkxp
bmUoKSkgewpAQCAtNzI0LDggKzczNiw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6YWRkQm94U2hh
ZG93VmlzdWFsT3YKICAgICBpbnQgYm94U2hhZG93TG9naWNhbFJpZ2h0OwogICAgIHJlbmRlcmVy
KCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Z2V0Qm94U2hhZG93SW5saW5lRGlyZWN0aW9uRXh0ZW50
KGJveFNoYWRvd0xvZ2ljYWxMZWZ0LCBib3hTaGFkb3dMb2dpY2FsUmlnaHQpOwogCi0gICAgaW50
IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQoKSArIGJveFNoYWRv
d0xvZ2ljYWxMZWZ0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cueCgpKTsKLSAgICBpbnQgbG9naWNh
bFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9naWNhbFJpZ2h0KCkgKyBib3hTaGFkb3dMb2dp
Y2FsUmlnaHQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhYKCkpOworICAgIGludCBsb2dpY2Fs
TGVmdFZpc3VhbE92ZXJmbG93ID0gbWluKHBpeGVsU25hcHBlZExvZ2ljYWxMZWZ0KCkgKyBib3hT
aGFkb3dMb2dpY2FsTGVmdCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LngoKSk7CisgICAgaW50IGxv
Z2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbWF4KHBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCgp
ICsgYm94U2hhZG93TG9naWNhbFJpZ2h0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cubWF4WCgpKTsK
ICAgICAKICAgICBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cgPSBJbnRSZWN0KGxvZ2ljYWxMZWZ0Vmlz
dWFsT3ZlcmZsb3csIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93IC0gbG9naWNhbExl
ZnRWaXN1YWxPdmVyZmxvdywgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93IC0gbG9naWNhbFRv
cFZpc3VhbE92ZXJmbG93KTsKQEAgLTc4MSw4ICs3OTMsOCBAQCB2b2lkIElubGluZUZsb3dCb3g6
OmFkZFRleHRCb3hWaXN1YWxPdmVyCiAKICAgICBpbnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93
ID0gbWluKHRleHRCb3gtPmxvZ2ljYWxUb3AoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsVG9wLCBs
b2dpY2FsVmlzdWFsT3ZlcmZsb3cueSgpKTsKICAgICBpbnQgbG9naWNhbEJvdHRvbVZpc3VhbE92
ZXJmbG93ID0gbWF4KHRleHRCb3gtPmxvZ2ljYWxCb3R0b20oKSArIGNoaWxkT3ZlcmZsb3dMb2dp
Y2FsQm90dG9tLCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cubWF4WSgpKTsKLSAgICBpbnQgbG9naWNh
bExlZnRWaXN1YWxPdmVyZmxvdyA9IG1pbih0ZXh0Qm94LT5sb2dpY2FsTGVmdCgpICsgY2hpbGRP
dmVyZmxvd0xvZ2ljYWxMZWZ0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cueCgpKTsKLSAgICBpbnQg
bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgodGV4dEJveC0+bG9naWNhbFJpZ2h0KCkg
KyBjaGlsZE92ZXJmbG93TG9naWNhbFJpZ2h0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cubWF4WCgp
KTsKKyAgICBpbnQgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9IG1pbih0ZXh0Qm94LT5waXhl
bFNuYXBwZWRMb2dpY2FsTGVmdCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxMZWZ0LCBsb2dpY2Fs
VmlzdWFsT3ZlcmZsb3cueCgpKTsKKyAgICBpbnQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cg
PSBtYXgodGV4dEJveC0+cGl4ZWxTbmFwcGVkTG9naWNhbFJpZ2h0KCkgKyBjaGlsZE92ZXJmbG93
TG9naWNhbFJpZ2h0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cubWF4WCgpKTsKICAgICAKICAgICBs
b2dpY2FsVmlzdWFsT3ZlcmZsb3cgPSBJbnRSZWN0KGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cs
IGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93IC0gbG9naWNhbExlZnRWaXN1YWxPdmVy
ZmxvdywgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93IC0gbG9naWNhbFRvcFZpc3VhbE92ZXJm
bG93KTsKQEAgLTg2NCw3ICs4NzYsNyBAQCB2b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVPdmVy
ZmxvdyhpbnQgCiAvLyBhbGwgZnVuY3Rpb25zIHRoYXQgcXVlcnkgb3ZlcmZsb3cuICAgCiB2b2lk
IElubGluZUZsb3dCb3g6OnNldExheW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmIHJlY3QpCiB7
Ci0gICAgSW50UmVjdCBmcmFtZUJveCA9IGZyYW1lUmVjdCgpOworICAgIEludFJlY3QgZnJhbWVC
b3ggPSBwaXhlbFNuYXBwZWRGcmFtZVJlY3QoKTsKICAgICBpZiAoZnJhbWVCb3ggPT0gcmVjdCB8
fCByZWN0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogICAgICAgICAKQEAgLTg3Niw3ICs4
ODgsNyBAQCB2b2lkIElubGluZUZsb3dCb3g6OnNldExheW91dE92ZXJmbG93KGNvCiAKIHZvaWQg
SW5saW5lRmxvd0JveDo6c2V0VmlzdWFsT3ZlcmZsb3coY29uc3QgSW50UmVjdCYgcmVjdCkKIHsK
LSAgICBJbnRSZWN0IGZyYW1lQm94ID0gZnJhbWVSZWN0KCk7CisgICAgSW50UmVjdCBmcmFtZUJv
eCA9IHBpeGVsU25hcHBlZEZyYW1lUmVjdCgpOwogICAgIGlmIChmcmFtZUJveCA9PSByZWN0IHx8
IHJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAgICAgICAgIApAQCAtOTEyLDkgKzky
NCw5IEBAIGJvb2wgSW5saW5lRmxvd0JveDo6bm9kZUF0UG9pbnQoY29uc3QgSGkKICAgICB9CiAK
ICAgICAvLyBOb3cgY2hlY2sgb3Vyc2VsdmVzLgotICAgIEludFBvaW50IGJveE9yaWdpbiA9IGxv
Y2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKKyAgICBGbG9hdFBvaW50IGJveE9yaWdpbiA9IGxv
Y2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKICAgICBib3hPcmlnaW4ubW92ZSh0eCwgdHkpOwot
ICAgIEludFJlY3QgcmVjdChib3hPcmlnaW4sIEludFNpemUod2lkdGgoKSwgaGVpZ2h0KCkpKTsK
KyAgICBGbG9hdFJlY3QgcmVjdChib3hPcmlnaW4sIEludFNpemUod2lkdGgoKSwgaGVpZ2h0KCkp
KTsKICAgICBpZiAodmlzaWJsZVRvSGl0VGVzdGluZygpICYmIHJlY3QuaW50ZXJzZWN0cyhyZXN1
bHQucmVjdEZvclBvaW50KHgsIHkpKSkgewogICAgICAgICByZW5kZXJlcigpLT51cGRhdGVIaXRU
ZXN0UmVzdWx0KHJlc3VsdCwgZmxpcEZvcldyaXRpbmdNb2RlKEludFBvaW50KHggLSB0eCwgeSAt
IHR5KSkpOyAvLyBEb24ndCBhZGQgaW4gbV94IG9yIG1feSBoZXJlLCB3ZSB3YW50IGNvb3JkcyBp
biB0aGUgY29udGFpbmluZyBibG9jaydzIHNwYWNlLgogICAgICAgICBpZiAoIXJlc3VsdC5hZGRO
b2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KHJlbmRlcmVyKCktPm5vZGUoKSwgeCwgeSwgcmVjdCkp
CkBAIC0xMDQzLDEwICsxMDU1LDEyIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6cGFpbnRCb3hEZWNv
cmF0aW9ucygKICAgICBpZiAoIXBhaW50SW5mby5zaG91bGRQYWludFdpdGhpblJvb3QocmVuZGVy
ZXIoKSkgfHwgcmVuZGVyZXIoKS0+c3R5bGUoKS0+dmlzaWJpbGl0eSgpICE9IFZJU0lCTEUgfHwg
cGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2VGb3JlZ3JvdW5kKQogICAgICAgICByZXR1cm47
CiAKLSAgICBpbnQgeCA9IG1feDsKLSAgICBpbnQgeSA9IG1feTsKLSAgICBpbnQgdyA9IHdpZHRo
KCk7Ci0gICAgaW50IGggPSBoZWlnaHQoKTsKKyAgICAvLyBQaXhlbCBzbmFwIGJhY2tncm91bmQv
Ym9yZGVyIHBhaW50aW5nLgorICAgIEludFJlY3QgZnJhbWVSZWN0ID0gcGl4ZWxTbmFwcGVkRnJh
bWVSZWN0KCk7CisgICAgaW50IHggPSBmcmFtZVJlY3QueCgpOworICAgIGludCB5ID0gZnJhbWVS
ZWN0LnkoKTsKKyAgICBpbnQgdyA9IGZyYW1lUmVjdC53aWR0aCgpOworICAgIGludCBoID0gZnJh
bWVSZWN0LmhlaWdodCgpOwogCiAgICAgLy8gQ29uc3RyYWluIG91ciBiYWNrZ3JvdW5kL2JvcmRl
ciBwYWludGluZyB0byB0aGUgbGluZSB0b3AgYW5kIGJvdHRvbSBpZiBuZWNlc3NhcnkuCiAgICAg
Ym9vbCBub1F1aXJrc01vZGUgPSByZW5kZXJlcigpLT5kb2N1bWVudCgpLT5pbk5vUXVpcmtzTW9k
ZSgpOwpAQCAtMTEyNiwxMCArMTE0MCwxMiBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBhaW50TWFz
ayhQYWludEluZm8mCiAgICAgaWYgKCFwYWludEluZm8uc2hvdWxkUGFpbnRXaXRoaW5Sb290KHJl
bmRlcmVyKCkpIHx8IHJlbmRlcmVyKCktPnN0eWxlKCktPnZpc2liaWxpdHkoKSAhPSBWSVNJQkxF
IHx8IHBhaW50SW5mby5waGFzZSAhPSBQYWludFBoYXNlTWFzaykKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgaW50IHggPSBtX3g7Ci0gICAgaW50IHkgPSBtX3k7Ci0gICAgaW50IHcgPSB3aWR0aCgp
OwotICAgIGludCBoID0gaGVpZ2h0KCk7CisgICAgLy8gUGl4ZWwgc25hcCBtYXNrIHBhaW50aW5n
LgorICAgIEludFJlY3QgZnJhbWVSZWN0ID0gcGl4ZWxTbmFwcGVkRnJhbWVSZWN0KCk7CisgICAg
aW50IHggPSBmcmFtZVJlY3QueCgpOworICAgIGludCB5ID0gZnJhbWVSZWN0LnkoKTsKKyAgICBp
bnQgdyA9IGZyYW1lUmVjdC53aWR0aCgpOworICAgIGludCBoID0gZnJhbWVSZWN0LmhlaWdodCgp
OwogCiAgICAgLy8gQ29uc3RyYWluIG91ciBiYWNrZ3JvdW5kL2JvcmRlciBwYWludGluZyB0byB0
aGUgbGluZSB0b3AgYW5kIGJvdHRvbSBpZiBuZWNlc3NhcnkuCiAgICAgYm9vbCBub1F1aXJrc01v
ZGUgPSByZW5kZXJlcigpLT5kb2N1bWVudCgpLT5pbk5vUXVpcmtzTW9kZSgpOwpAQCAtMTIzMCwx
NCArMTI0NiwxNCBAQCBib29sIElubGluZUZsb3dCb3g6OmNhbkFjY29tbW9kYXRlRWxsaXBzCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLWludCBJbmxpbmVGbG93Qm94OjpwbGFjZUVsbGlwc2lzQm94
KGJvb2wgbHRyLCBpbnQgYmxvY2tMZWZ0RWRnZSwgaW50IGJsb2NrUmlnaHRFZGdlLCBpbnQgZWxs
aXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpCitmbG9hdCBJbmxpbmVGbG93Qm94OjpwbGFjZUVs
bGlwc2lzQm94KGJvb2wgbHRyLCBmbG9hdCBibG9ja0xlZnRFZGdlLCBmbG9hdCBibG9ja1JpZ2h0
RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpCiB7Ci0gICAgaW50IHJl
c3VsdCA9IC0xOworICAgIGZsb2F0IHJlc3VsdCA9IC0xOwogICAgIC8vIFdlIGl0ZXJhdGUgb3Zl
ciBhbGwgY2hpbGRyZW4sIHRoZSBmb3VuZEJveCB2YXJpYWJsZSB0ZWxscyB1cyB3aGVuIHdlJ3Zl
IGZvdW5kIHRoZQogICAgIC8vIGJveCBjb250YWluaW5nIHRoZSBlbGxpcHNpcy4gIEFsbCBib3hl
cyBhZnRlciB0aGF0IG9uZSBpbiB0aGUgZmxvdyBhcmUgaGlkZGVuLgogICAgIC8vIElmIG91ciBm
bG93IGlzIGx0ciB0aGVuIGl0ZXJhdGUgb3ZlciB0aGUgYm94ZXMgZnJvbSBsZWZ0IHRvIHJpZ2h0
LCBvdGhlcndpc2UgaXRlcmF0ZQogICAgIC8vIGZyb20gcmlnaHQgdG8gbGVmdC4gVmFyeWluZyB0
aGUgb3JkZXIgYWxsb3dzIHVzIHRvIGNvcnJlY3RseSBoaWRlIHRoZSBib3hlcyBmb2xsb3dpbmcg
dGhlIGVsbGlwc2lzLgotICAgIElubGluZUJveCAqYm94ID0gbHRyID8gZmlyc3RDaGlsZCgpIDog
bGFzdENoaWxkKCk7CisgICAgSW5saW5lQm94KiBib3ggPSBsdHIgPyBmaXJzdENoaWxkKCkgOiBs
YXN0Q2hpbGQoKTsKIAogICAgIC8vIE5PVEU6IHRoZXNlIHdpbGwgY3Jvc3MgYWZ0ZXIgZm91bmRC
b3ggPSB0cnVlLgogICAgIGludCB2aXNpYmxlTGVmdEVkZ2UgPSBibG9ja0xlZnRFZGdlOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCShyZXZpc2lvbiA3ODI3
MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTkzLDYgKzkzLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGNsZWFy
VHJ1bmNhdGlvbigpOwogCisgICAgSW50UmVjdCBwaXhlbFNuYXBwZWRGcmFtZVJlY3QoKSBjb25z
dDsKKyAgICAKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRCb3hEZWNvcmF0aW9ucyhQYWludEluZm8m
LCBpbnQgdHgsIGludCB0eSk7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50TWFzayhQYWludEluZm8m
LCBpbnQgdHgsIGludCB0eSk7CiAgICAgdm9pZCBwYWludEZpbGxMYXllcnMoY29uc3QgUGFpbnRJ
bmZvJiwgY29uc3QgQ29sb3ImLCBjb25zdCBGaWxsTGF5ZXIqLCBpbnQgdHgsIGludCB0eSwgaW50
IHcsIGludCBoLCBDb21wb3NpdGVPcGVyYXRvciA9IENvbXBvc2l0ZVNvdXJjZU92ZXIpOwpAQCAt
MTU1LDcgKzE1Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRldGVybWluZVNwYWNpbmdGb3JGbG93
Qm94ZXMoYm9vbCBsYXN0TGluZSwgUmVuZGVyT2JqZWN0KiBlbmRPYmplY3QpOwogICAgIGludCBn
ZXRGbG93U3BhY2luZ0xvZ2ljYWxXaWR0aCgpOwogICAgIGJvb2wgb25FbmRDaGFpbihSZW5kZXJP
YmplY3QqIGVuZE9iamVjdCk7Ci0gICAgaW50IHBsYWNlQm94ZXNJbklubGluZURpcmVjdGlvbihp
bnQgbG9naWNhbExlZnQsIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcsIEdseXBoT3ZlcmZsb3dBbmRG
YWxsYmFja0ZvbnRzTWFwJik7CisgICAgZmxvYXQgcGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9u
KGZsb2F0IGxvZ2ljYWxMZWZ0LCBib29sJiBuZWVkc1dvcmRTcGFjaW5nLCBHbHlwaE92ZXJmbG93
QW5kRmFsbGJhY2tGb250c01hcCYpOwogICAgIHZvaWQgY29tcHV0ZUxvZ2ljYWxCb3hIZWlnaHRz
KGludCYgbWF4UG9zaXRpb25Ub3AsIGludCYgbWF4UG9zaXRpb25Cb3R0b20sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBtYXhBc2NlbnQsIGludCYgbWF4RGVzY2VudCwg
Ym9vbCYgc2V0TWF4QXNjZW50LCBib29sJiBzZXRNYXhEZXNjZW50LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJvb2wgc3RyaWN0TW9kZSwgR2x5cGhPdmVyZmxvd0FuZEZhbGxi
YWNrRm9udHNNYXAmLCBGb250QmFzZWxpbmUsIFZlcnRpY2FsUG9zaXRpb25DYWNoZSYpOwpAQCAt
MTc2LDcgKzE3OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdDo6U2VsZWN0
aW9uU3RhdGUgc2VsZWN0aW9uU3RhdGUoKTsKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5BY2NvbW1v
ZGF0ZUVsbGlwc2lzKGJvb2wgbHRyLCBpbnQgYmxvY2tFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCk7
Ci0gICAgdmlydHVhbCBpbnQgcGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgaW50IGJsb2NrTGVm
dEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmKTsKKyAg
ICB2aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVm
dEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJik7
CiAKICAgICBib29sIGhhc1RleHRDaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1faGFzVGV4dENo
aWxkcmVuOyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJv
eC5jcHAJKHJldmlzaW9uIDc4MjcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGlu
ZVRleHRCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBJbmxp
bmVUZXh0Qm94OjphdHRhY2hMaW5lKCkKICAgICB0b1JlbmRlclRleHQocmVuZGVyZXIoKSktPmF0
dGFjaFRleHRCb3godGhpcyk7CiB9CiAKLWludCBJbmxpbmVUZXh0Qm94OjpwbGFjZUVsbGlwc2lz
Qm94KGJvb2wgZmxvd0lzTFRSLCBpbnQgdmlzaWJsZUxlZnRFZGdlLCBpbnQgdmlzaWJsZVJpZ2h0
RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KQorZmxvYXQgSW5saW5lVGV4
dEJveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGZsb3dJc0xUUiwgZmxvYXQgdmlzaWJsZUxlZnRF
ZGdlLCBmbG9hdCB2aXNpYmxlUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJiBm
b3VuZEJveCkKIHsKICAgICBpZiAoZm91bmRCb3gpIHsKICAgICAgICAgbV90cnVuY2F0aW9uID0g
Y0Z1bGxUcnVuY2F0aW9uOwpAQCAtMjA5LDcgKzIwOSw3IEBAIGludCBJbmxpbmVUZXh0Qm94Ojpw
bGFjZUVsbGlwc2lzQm94KGJvb2wKICAgICB9CiAKICAgICAvLyBGb3IgTFRSIHRoaXMgaXMgdGhl
IGxlZnQgZWRnZSBvZiB0aGUgYm94LCBmb3IgUlRMLCB0aGUgcmlnaHQgZWRnZSBpbiBwYXJlbnQg
Y29vcmRpbmF0ZXMuCi0gICAgaW50IGVsbGlwc2lzWCA9IGZsb3dJc0xUUiA/IHZpc2libGVSaWdo
dEVkZ2UgLSBlbGxpcHNpc1dpZHRoIDogdmlzaWJsZUxlZnRFZGdlICsgZWxsaXBzaXNXaWR0aDsK
KyAgICBmbG9hdCBlbGxpcHNpc1ggPSBmbG93SXNMVFIgPyB2aXNpYmxlUmlnaHRFZGdlIC0gZWxs
aXBzaXNXaWR0aCA6IHZpc2libGVMZWZ0RWRnZSArIGVsbGlwc2lzV2lkdGg7CiAgICAgCiAgICAg
Ly8gQ3JpdGVyaWEgZm9yIGZ1bGwgdHJ1bmNhdGlvbjoKICAgICAvLyBMVFI6IHRoZSBsZWZ0IGVk
Z2Ugb2YgdGhlIGVsbGlwc2lzIGlzIHRvIHRoZSBsZWZ0IG9mIG91ciB0ZXh0IHJ1bi4KQEAgLTI1
MSw3ICsyNTEsNyBAQCBpbnQgSW5saW5lVGV4dEJveDo6cGxhY2VFbGxpcHNpc0JveChib29sCiAK
ICAgICAgICAgLy8gSWYgd2UgZ290IGhlcmUgdGhhdCBtZWFucyB0aGF0IHdlIHdlcmUgb25seSBw
YXJ0aWFsbHkgdHJ1bmNhdGVkIGFuZCB3ZSBuZWVkIHRvIHJldHVybiB0aGUgcGl4ZWwgb2Zmc2V0
IGF0IHdoaWNoCiAgICAgICAgIC8vIHRvIHBsYWNlIHRoZSBlbGxpcHNpcy4KLSAgICAgICAgaW50
IHdpZHRoT2ZWaXNpYmxlVGV4dCA9IHRvUmVuZGVyVGV4dChyZW5kZXJlcigpKS0+d2lkdGgobV9z
dGFydCwgb2Zmc2V0LCB0ZXh0UG9zKCksIG1fZmlyc3RMaW5lKTsKKyAgICAgICAgZmxvYXQgd2lk
dGhPZlZpc2libGVUZXh0ID0gdG9SZW5kZXJUZXh0KHJlbmRlcmVyKCkpLT53aWR0aChtX3N0YXJ0
LCBvZmZzZXQsIHRleHRQb3MoKSwgbV9maXJzdExpbmUpOwogCiAgICAgICAgIC8vIFRoZSBlbGxp
cHNpcyBuZWVkcyB0byBiZSBwbGFjZWQganVzdCBhZnRlciB0aGUgbGFzdCB2aXNpYmxlIGNoYXJh
Y3Rlci4KICAgICAgICAgLy8gV2hlcmUgImFmdGVyIiBpcyBkZWZpbmVkIGJ5IHRoZSBmbG93IGRp
cmVjdGlvbmFsaXR5LCBub3QgdGhlIGlubGluZQpAQCAtMzE5LDkgKzMxOSw5IEBAIGJvb2wgSW5s
aW5lVGV4dEJveDo6bm9kZUF0UG9pbnQoY29uc3QgSGkKICAgICBpZiAoaXNMaW5lQnJlYWsoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgSW50UG9pbnQgYm94T3JpZ2luID0gbG9jYXRp
b25JbmNsdWRpbmdGbGlwcGluZygpOworICAgIEZsb2F0UG9pbnQgYm94T3JpZ2luID0gbG9jYXRp
b25JbmNsdWRpbmdGbGlwcGluZygpOwogICAgIGJveE9yaWdpbi5tb3ZlKHR4LCB0eSk7Ci0gICAg
SW50UmVjdCByZWN0KGJveE9yaWdpbiwgSW50U2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSkpOworICAg
IEZsb2F0UmVjdCByZWN0KGJveE9yaWdpbiwgSW50U2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSkpOwog
ICAgIGlmIChtX3RydW5jYXRpb24gIT0gY0Z1bGxUcnVuY2F0aW9uICYmIHZpc2libGVUb0hpdFRl
c3RpbmcoKSAmJiByZWN0LmludGVyc2VjdHMocmVzdWx0LnJlY3RGb3JQb2ludCh4LCB5KSkpIHsK
ICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlSGl0VGVzdFJlc3VsdChyZXN1bHQsIGZsaXBGb3JX
cml0aW5nTW9kZShJbnRQb2ludCh4IC0gdHgsIHkgLSB0eSkpKTsKICAgICAgICAgaWYgKCFyZXN1
bHQuYWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChyZW5kZXJlcigpLT5ub2RlKCksIHgsIHks
IHJlY3QpKQpAQCAtMzU3LDggKzM1Nyw4IEBAIEZsb2F0U2l6ZSBJbmxpbmVUZXh0Qm94OjphcHBs
eVNoYWRvd1RvR3IKICAgICByZXR1cm4gZXh0cmFPZmZzZXQ7CiB9CiAKLXN0YXRpYyB2b2lkIHBh
aW50VGV4dFdpdGhTaGFkb3dzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRm9udCYg
Zm9udCwgY29uc3QgVGV4dFJ1biYgdGV4dFJ1biwgY29uc3QgQXRvbWljU3RyaW5nJiBlbXBoYXNp
c01hcmssIGludCBlbXBoYXNpc01hcmtPZmZzZXQsIGludCBzdGFydE9mZnNldCwgaW50IGVuZE9m
ZnNldCwgaW50IHRydW5jYXRpb25Qb2ludCwgY29uc3QgSW50UG9pbnQmIHRleHRPcmlnaW4sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRSZWN0JiBib3hSZWN0LCBj
b25zdCBTaGFkb3dEYXRhKiBzaGFkb3csIGJvb2wgc3Ryb2tlZCwgYm9vbCBob3Jpem9udGFsKQor
c3RhdGljIHZvaWQgcGFpbnRUZXh0V2l0aFNoYWRvd3MoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
LCBjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiB0ZXh0UnVuLCBjb25zdCBBdG9taWNT
dHJpbmcmIGVtcGhhc2lzTWFyaywgaW50IGVtcGhhc2lzTWFya09mZnNldCwgaW50IHN0YXJ0T2Zm
c2V0LCBpbnQgZW5kT2Zmc2V0LCBpbnQgdHJ1bmNhdGlvblBvaW50LCBjb25zdCBGbG9hdFBvaW50
JiB0ZXh0T3JpZ2luLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRmxv
YXRSZWN0JiBib3hSZWN0LCBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3csIGJvb2wgc3Ryb2tlZCwg
Ym9vbCBob3Jpem9udGFsKQogewogICAgIENvbG9yIGZpbGxDb2xvciA9IGNvbnRleHQtPmZpbGxD
b2xvcigpOwogICAgIENvbG9yU3BhY2UgZmlsbENvbG9yU3BhY2UgPSBjb250ZXh0LT5maWxsQ29s
b3JTcGFjZSgpOwpAQCAtNDgyLDEwICs0ODIsMTAgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWlu
dChQYWludEluZm8mIHBhaQogICAgIAogICAgIHR5IC09IHN0eWxlVG9Vc2UtPmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkgPyAwIDogbG9naWNhbEhlaWdodCgpOwogCi0gICAgSW50UG9pbnQgYm94
T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOworICAgIEZsb2F0UG9pbnQgYm94
T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOwogICAgIGJveE9yaWdpbi5tb3Zl
KHR4LCB0eSk7ICAgIAotICAgIEludFJlY3QgYm94UmVjdChib3hPcmlnaW4sIEludFNpemUobG9n
aWNhbFdpZHRoKCksIGxvZ2ljYWxIZWlnaHQoKSkpOwotICAgIEludFBvaW50IHRleHRPcmlnaW4g
PSBJbnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpICsgc3R5bGVUb1VzZS0+Zm9u
dE1ldHJpY3MoKS5hc2NlbnQoKSk7CisgICAgRmxvYXRSZWN0IGJveFJlY3QoYm94T3JpZ2luLCBJ
bnRTaXplKGxvZ2ljYWxXaWR0aCgpLCBsb2dpY2FsSGVpZ2h0KCkpKTsKKyAgICBGbG9hdFBvaW50
IHRleHRPcmlnaW4gPSBGbG9hdFBvaW50KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgKyBz
dHlsZVRvVXNlLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsKIAogICAgIFJlbmRlckNvbWJpbmVU
ZXh0KiBjb21iaW5lZFRleHQgPSBzdHlsZVRvVXNlLT5oYXNUZXh0Q29tYmluZSgpID8gdG9SZW5k
ZXJDb21iaW5lVGV4dCh0ZXh0UmVuZGVyZXIoKSkgOiAwOwogICAgIGJvb2wgc2hvdWxkUm90YXRl
ID0gIWlzSG9yaXpvbnRhbCgpICYmICghY29tYmluZWRUZXh0IHx8ICFjb21iaW5lZFRleHQtPmlz
Q29tYmluZWQoKSk7CkBAIC03MzYsNyArNzM2LDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpzZWxl
Y3Rpb25TdGFydEVuZChpbgogICAgIGVQb3MgPSBtaW4oZW5kUG9zIC0gbV9zdGFydCwgKGludClt
X2xlbik7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb24oR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSog
c3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQpCit2b2lkIElubGluZVRleHRCb3g6OnBhaW50U2VsZWN0
aW9uKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2lu
LCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQpCiB7CiAgICAgLy8gU2VlIGlm
IHdlIGhhdmUgYSBzZWxlY3Rpb24gdG8gcGFpbnQgYXQgYWxsLgogICAgIGludCBzUG9zLCBlUG9z
OwpAQCAtNzcwLDE1ICs3NzAsMTUgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlv
bihHcmFwaAogCiAgICAgaW50IGRlbHRhWSA9IHJlbmRlcmVyKCktPnN0eWxlKCktPmlzRmxpcHBl
ZExpbmVzV3JpdGluZ01vZGUoKSA/IHNlbGVjdGlvbkJvdHRvbSgpIC0gbG9naWNhbEJvdHRvbSgp
IDogbG9naWNhbFRvcCgpIC0gc2VsZWN0aW9uVG9wKCk7CiAgICAgaW50IHNlbEhlaWdodCA9IHNl
bGVjdGlvbkhlaWdodCgpOwotICAgIEludFBvaW50IGxvY2FsT3JpZ2luKGJveE9yaWdpbi54KCks
IGJveE9yaWdpbi55KCkgLSBkZWx0YVkpOwotICAgIGNvbnRleHQtPmNsaXAoSW50UmVjdChsb2Nh
bE9yaWdpbiwgSW50U2l6ZShtX2xvZ2ljYWxXaWR0aCwgc2VsSGVpZ2h0KSkpOworICAgIEZsb2F0
UG9pbnQgbG9jYWxPcmlnaW4oYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSk7
CisgICAgY29udGV4dC0+Y2xpcChGbG9hdFJlY3QobG9jYWxPcmlnaW4sIEZsb2F0U2l6ZShtX2xv
Z2ljYWxXaWR0aCwgc2VsSGVpZ2h0KSkpOwogICAgIGNvbnRleHQtPmRyYXdIaWdobGlnaHRGb3JU
ZXh0KGZvbnQsIFRleHRSdW4oY2hhcmFjdGVycywgbGVuZ3RoLCB0ZXh0UmVuZGVyZXIoKS0+YWxs
b3dUYWJzKCksIHRleHRQb3MoKSwgbV9leHBhbnNpb24sIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZp
b3IoKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWlzTGVmdFRvUmlnaHRE
aXJlY3Rpb24oKSwgbV9kaXJPdmVycmlkZSB8fCBzdHlsZS0+dmlzdWFsbHlPcmRlcmVkKCkpLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsT3JpZ2luLCBzZWxIZWlnaHQs
IGMsIHN0eWxlLT5jb2xvclNwYWNlKCksIHNQb3MsIGVQb3MpOwogICAgIGNvbnRleHQtPnJlc3Rv
cmUoKTsKIH0KIAotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uQmFja2dyb3Vu
ZChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJl
bmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgaW50IHN0YXJ0UG9zLCBpbnQgZW5k
UG9zKQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uQmFja2dyb3VuZChHcmFw
aGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVy
U3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250LCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3Mp
CiB7CiAgICAgaW50IG9mZnNldCA9IG1fc3RhcnQ7CiAgICAgaW50IHNQb3MgPSBtYXgoc3RhcnRQ
b3MgLSBvZmZzZXQsIDApOwpAQCAtNzk1LDcgKzc5NSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6
cGFpbnRDb21wb3NpdGlvbkJhY2sKIAogICAgIGludCBkZWx0YVkgPSByZW5kZXJlcigpLT5zdHls
ZSgpLT5pc0ZsaXBwZWRMaW5lc1dyaXRpbmdNb2RlKCkgPyBzZWxlY3Rpb25Cb3R0b20oKSAtIGxv
Z2ljYWxCb3R0b20oKSA6IGxvZ2ljYWxUb3AoKSAtIHNlbGVjdGlvblRvcCgpOwogICAgIGludCBz
ZWxIZWlnaHQgPSBzZWxlY3Rpb25IZWlnaHQoKTsKLSAgICBJbnRQb2ludCBsb2NhbE9yaWdpbihi
b3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKKyAgICBGbG9hdFBvaW50IGxv
Y2FsT3JpZ2luKGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVkpOwogICAgIGNv
bnRleHQtPmRyYXdIaWdobGlnaHRGb3JUZXh0KGZvbnQsIFRleHRSdW4odGV4dFJlbmRlcmVyKCkt
PnRleHQoKS0+Y2hhcmFjdGVycygpICsgbV9zdGFydCwgbV9sZW4sIHRleHRSZW5kZXJlcigpLT5h
bGxvd1RhYnMoKSwgdGV4dFBvcygpLCBtX2V4cGFuc2lvbiwgdHJhaWxpbmdFeHBhbnNpb25CZWhh
dmlvcigpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFpc0xlZnRUb1JpZ2h0
RGlyZWN0aW9uKCksIG1fZGlyT3ZlcnJpZGUgfHwgc3R5bGUtPnZpc3VhbGx5T3JkZXJlZCgpKSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbE9yaWdpbiwgc2VsSGVpZ2h0
LCBjLCBzdHlsZS0+Y29sb3JTcGFjZSgpLCBzUG9zLCBlUG9zKTsKQEAgLTgyMiwxNCArODIyLDE0
IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDdXN0b21IaWdobGlnaHQKIAogI2VuZGlmCiAK
LXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgaW50IGRlY28sIGNvbnN0IFNoYWRvd0Rh
dGEqIHNoYWRvdykKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKEdyYXBoaWNz
Q29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBpbnQgZGVjbywg
Y29uc3QgU2hhZG93RGF0YSogc2hhZG93KQogewogICAgIGlmIChtX3RydW5jYXRpb24gPT0gY0Z1
bGxUcnVuY2F0aW9uKQogICAgICAgICByZXR1cm47CiAKLSAgICBJbnRQb2ludCBsb2NhbE9yaWdp
biA9IGJveE9yaWdpbjsKKyAgICBGbG9hdFBvaW50IGxvY2FsT3JpZ2luID0gYm94T3JpZ2luOwog
Ci0gICAgaW50IHdpZHRoID0gbV9sb2dpY2FsV2lkdGg7CisgICAgZmxvYXQgd2lkdGggPSBtX2xv
Z2ljYWxXaWR0aDsKICAgICBpZiAobV90cnVuY2F0aW9uICE9IGNOb1RydW5jYXRpb24pIHsKICAg
ICAgICAgd2lkdGggPSB0b1JlbmRlclRleHQocmVuZGVyZXIoKSktPndpZHRoKG1fc3RhcnQsIG1f
dHJ1bmNhdGlvbiwgdGV4dFBvcygpLCBtX2ZpcnN0TGluZSk7CiAgICAgICAgIGlmICghaXNMZWZ0
VG9SaWdodERpcmVjdGlvbigpKQpAQCAtODUzLDkgKzg1Myw5IEBAIHZvaWQgSW5saW5lVGV4dEJv
eDo6cGFpbnREZWNvcmF0aW9uKEdyYXAKICAgICBpbnQgZXh0cmFPZmZzZXQgPSAwOwogICAgIGlm
ICghbGluZXNBcmVPcGFxdWUgJiYgc2hhZG93ICYmIHNoYWRvdy0+bmV4dCgpKSB7CiAgICAgICAg
IGNvbnRleHQtPnNhdmUoKTsKLSAgICAgICAgSW50UmVjdCBjbGlwUmVjdChsb2NhbE9yaWdpbiwg
SW50U2l6ZSh3aWR0aCwgYmFzZWxpbmUgKyAyKSk7CisgICAgICAgIEZsb2F0UmVjdCBjbGlwUmVj
dChsb2NhbE9yaWdpbiwgRmxvYXRTaXplKHdpZHRoLCBiYXNlbGluZSArIDIpKTsKICAgICAgICAg
Zm9yIChjb25zdCBTaGFkb3dEYXRhKiBzID0gc2hhZG93OyBzOyBzID0gcy0+bmV4dCgpKSB7Ci0g
ICAgICAgICAgICBJbnRSZWN0IHNoYWRvd1JlY3QobG9jYWxPcmlnaW4sIEludFNpemUod2lkdGgs
IGJhc2VsaW5lICsgMikpOworICAgICAgICAgICAgRmxvYXRSZWN0IHNoYWRvd1JlY3QobG9jYWxP
cmlnaW4sIEZsb2F0U2l6ZSh3aWR0aCwgYmFzZWxpbmUgKyAyKSk7CiAgICAgICAgICAgICBzaGFk
b3dSZWN0LmluZmxhdGUocy0+Ymx1cigpKTsKICAgICAgICAgICAgIGludCBzaGFkb3dYID0gaXNI
b3Jpem9udGFsKCkgPyBzLT54KCkgOiBzLT55KCk7CiAgICAgICAgICAgICBpbnQgc2hhZG93WSA9
IGlzSG9yaXpvbnRhbCgpID8gcy0+eSgpIDogLXMtPngoKTsKQEAgLTg4Miw3ICs4ODIsNyBAQCB2
b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbihHcmFwCiAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICBpbnQgc2hhZG93WCA9IGlzSG9yaXpvbnRhbCgpID8gc2hhZG93LT54KCkgOiBz
aGFkb3ctPnkoKTsKICAgICAgICAgICAgIGludCBzaGFkb3dZID0gaXNIb3Jpem9udGFsKCkgPyBz
aGFkb3ctPnkoKSA6IC1zaGFkb3ctPngoKTsKLSAgICAgICAgICAgIGNvbnRleHQtPnNldFNoYWRv
dyhJbnRTaXplKHNoYWRvd1gsIHNoYWRvd1kgLSBleHRyYU9mZnNldCksIHNoYWRvdy0+Ymx1cigp
LCBzaGFkb3ctPmNvbG9yKCksIGNvbG9yU3BhY2UpOworICAgICAgICAgICAgY29udGV4dC0+c2V0
U2hhZG93KEZsb2F0U2l6ZShzaGFkb3dYLCBzaGFkb3dZIC0gZXh0cmFPZmZzZXQpLCBzaGFkb3ct
PmJsdXIoKSwgc2hhZG93LT5jb2xvcigpLCBjb2xvclNwYWNlKTsKICAgICAgICAgICAgIHNldFNo
YWRvdyA9IHRydWU7CiAgICAgICAgICAgICBzaGFkb3cgPSBzaGFkb3ctPm5leHQoKTsKICAgICAg
ICAgfQpAQCAtODkxLDcgKzg5MSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0
aW9uKEdyYXAKICAgICAgICAgICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKHVuZGVybGluZSwg
Y29sb3JTcGFjZSk7CiAgICAgICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VTdHlsZShTb2xpZFN0
cm9rZSk7CiAgICAgICAgICAgICAvLyBMZWF2ZSBvbmUgcGl4ZWwgb2Ygd2hpdGUgYmV0d2VlbiB0
aGUgYmFzZWxpbmUgYW5kIHRoZSB1bmRlcmxpbmUuCi0gICAgICAgICAgICBjb250ZXh0LT5kcmF3
TGluZUZvclRleHQoSW50UG9pbnQobG9jYWxPcmlnaW4ueCgpLCBsb2NhbE9yaWdpbi55KCkgKyBi
YXNlbGluZSArIDEpLCB3aWR0aCwgaXNQcmludGluZyk7CisgICAgICAgICAgICBjb250ZXh0LT5k
cmF3TGluZUZvclRleHQoRmxvYXRQb2ludChsb2NhbE9yaWdpbi54KCksIGxvY2FsT3JpZ2luLnko
KSArIGJhc2VsaW5lICsgMSksIHdpZHRoLCBpc1ByaW50aW5nKTsKICAgICAgICAgfQogICAgICAg
ICBpZiAoZGVjbyAmIE9WRVJMSU5FKSB7CiAgICAgICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VD
b2xvcihvdmVybGluZSwgY29sb3JTcGFjZSk7CkBAIC05MDEsNyArOTAxLDcgQEAgdm9pZCBJbmxp
bmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oR3JhcAogICAgICAgICBpZiAoZGVjbyAmIExJTkVf
VEhST1VHSCkgewogICAgICAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlQ29sb3IobGluZXRocm91
Z2gsIGNvbG9yU3BhY2UpOwogICAgICAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlU3R5bGUoU29s
aWRTdHJva2UpOwotICAgICAgICAgICAgY29udGV4dC0+ZHJhd0xpbmVGb3JUZXh0KEludFBvaW50
KGxvY2FsT3JpZ2luLngoKSwgbG9jYWxPcmlnaW4ueSgpICsgMiAqIGJhc2VsaW5lIC8gMyksIHdp
ZHRoLCBpc1ByaW50aW5nKTsKKyAgICAgICAgICAgIGNvbnRleHQtPmRyYXdMaW5lRm9yVGV4dChG
bG9hdFBvaW50KGxvY2FsT3JpZ2luLngoKSwgbG9jYWxPcmlnaW4ueSgpICsgMiAqIGJhc2VsaW5l
IC8gMyksIHdpZHRoLCBpc1ByaW50aW5nKTsKICAgICAgICAgfQogICAgIH0gd2hpbGUgKHNoYWRv
dyk7CiAKQEAgLTkyNiw3ICs5MjYsNyBAQCBzdGF0aWMgR3JhcGhpY3NDb250ZXh0OjpUZXh0Q2hl
Y2tpbmdMaW5lCiAgICAgfQogfQogCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdP
ckdyYW1tYXJNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiBwdCwgY29uc3QgSW50UG9pbnQmIGJveE9y
aWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImIG1hcmtlciwgUmVuZGVyU3R5bGUqIHN0eWxlLCBj
b25zdCBGb250JiBmb250LCBib29sIGdyYW1tYXIpCit2b2lkIElubGluZVRleHRCb3g6OnBhaW50
U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiBwdCwgY29uc3QgRmxvYXRQ
b2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYgbWFya2VyLCBSZW5kZXJTdHls
ZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgZ3JhbW1hcikKIHsKICAgICAvLyBOZXZl
ciBwcmludCBzcGVsbGluZy9ncmFtbWFyIG1hcmtlcnMgKDUzMjc4ODcpCiAgICAgaWYgKHRleHRS
ZW5kZXJlcigpLT5kb2N1bWVudCgpLT5wcmludGluZygpKQpAQCAtOTM1LDggKzkzNSw4IEBAIHZv
aWQgSW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGluZ09yR3JhbW0KICAgICBpZiAobV90cnVuY2F0
aW9uID09IGNGdWxsVHJ1bmNhdGlvbikKICAgICAgICAgcmV0dXJuOwogCi0gICAgaW50IHN0YXJ0
ID0gMDsgICAgICAgICAgICAgICAgICAvLyBzdGFydCBvZiBsaW5lIHRvIGRyYXcsIHJlbGF0aXZl
IHRvIHR4Ci0gICAgaW50IHdpZHRoID0gbV9sb2dpY2FsV2lkdGg7ICAgICAgICAgICAgLy8gaG93
IG11Y2ggbGluZSB0byBkcmF3CisgICAgZmxvYXQgc3RhcnQgPSAwOyAgICAgICAgICAgICAgICAg
IC8vIHN0YXJ0IG9mIGxpbmUgdG8gZHJhdywgcmVsYXRpdmUgdG8gdHgKKyAgICBmbG9hdCB3aWR0
aCA9IG1fbG9naWNhbFdpZHRoOyAgICAgICAgICAgIC8vIGhvdyBtdWNoIGxpbmUgdG8gZHJhdwog
CiAgICAgLy8gRGV0ZXJtaW5lIHdoZXRoZXIgd2UgbmVlZCB0byBtZWFzdXJlIHRleHQKICAgICBi
b29sIG1hcmtlclNwYW5zV2hvbGVCb3ggPSB0cnVlOwpAQCAtOTU3LDkgKzk1NywxMCBAQCB2b2lk
IElubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tCiAgICAgICAgIC8vIENhbGN1bGF0
ZSBzdGFydCAmIHdpZHRoCiAgICAgICAgIGludCBkZWx0YVkgPSByZW5kZXJlcigpLT5zdHlsZSgp
LT5pc0ZsaXBwZWRMaW5lc1dyaXRpbmdNb2RlKCkgPyBzZWxlY3Rpb25Cb3R0b20oKSAtIGxvZ2lj
YWxCb3R0b20oKSA6IGxvZ2ljYWxUb3AoKSAtIHNlbGVjdGlvblRvcCgpOwogICAgICAgICBpbnQg
c2VsSGVpZ2h0ID0gc2VsZWN0aW9uSGVpZ2h0KCk7Ci0gICAgICAgIEludFBvaW50IHN0YXJ0UG9p
bnQoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSk7CisgICAgICAgIEZsb2F0
UG9pbnQgc3RhcnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsK
ICAgICAgICAgVGV4dFJ1biBydW4odGV4dFJlbmRlcmVyKCktPnRleHQoKS0+Y2hhcmFjdGVycygp
ICsgbV9zdGFydCwgbV9sZW4sIHRleHRSZW5kZXJlcigpLT5hbGxvd1RhYnMoKSwgdGV4dFBvcygp
LCBtX2V4cGFuc2lvbiwgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvcigpLCAhaXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpLCBtX2Rpck92ZXJyaWRlIHx8IHN0eWxlLT52aXN1YWxseU9yZGVyZWQoKSk7
Ci0gICAgICAgICAKKyAgICAgICAgCisgICAgICAgIC8vIEZJWE1FOiBDb252ZXJ0IHRoZSBkb2N1
bWVudCBtYXJrZXJzIHRvIGZsb2F0IHJlY3RzLgogICAgICAgICBJbnRSZWN0IG1hcmtlclJlY3Qg
PSBlbmNsb3NpbmdJbnRSZWN0KGZvbnQuc2VsZWN0aW9uUmVjdEZvclRleHQocnVuLCBzdGFydFBv
aW50LCBzZWxIZWlnaHQsIHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uKSk7CiAgICAgICAgIHN0
YXJ0ID0gbWFya2VyUmVjdC54KCkgLSBzdGFydFBvaW50LngoKTsKICAgICAgICAgd2lkdGggPSBt
YXJrZXJSZWN0LndpZHRoKCk7CkBAIC05OTAsMTAgKzk5MSwxMCBAQCB2b2lkIElubGluZVRleHRC
b3g6OnBhaW50U3BlbGxpbmdPckdyYW1tCiAgICAgICAgIC8vIEluIGxhcmdlciBmb250cywgdGhv
dWdoLCBwbGFjZSB0aGUgdW5kZXJsaW5lIHVwIG5lYXIgdGhlIGJhc2VsaW5lIHRvIHByZXZlbnQg
YSBiaWcgZ2FwLgogICAgICAgICB1bmRlcmxpbmVPZmZzZXQgPSBiYXNlbGluZSArIDI7CiAgICAg
fQotICAgIHB0LT5kcmF3TGluZUZvclRleHRDaGVja2luZyhJbnRQb2ludChib3hPcmlnaW4ueCgp
ICsgc3RhcnQsIGJveE9yaWdpbi55KCkgKyB1bmRlcmxpbmVPZmZzZXQpLCB3aWR0aCwgdGV4dENo
ZWNraW5nTGluZVN0eWxlRm9yTWFya2VyVHlwZShtYXJrZXIudHlwZSkpOworICAgIHB0LT5kcmF3
TGluZUZvclRleHRDaGVja2luZyhGbG9hdFBvaW50KGJveE9yaWdpbi54KCkgKyBzdGFydCwgYm94
T3JpZ2luLnkoKSArIHVuZGVybGluZU9mZnNldCksIHdpZHRoLCB0ZXh0Q2hlY2tpbmdMaW5lU3R5
bGVGb3JNYXJrZXJUeXBlKG1hcmtlci50eXBlKSk7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6
cGFpbnRUZXh0TWF0Y2hNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiBwdCwgY29uc3QgSW50UG9pbnQm
IGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImIG1hcmtlciwgUmVuZGVyU3R5bGUqIHN0
eWxlLCBjb25zdCBGb250JiBmb250KQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFRleHRNYXRj
aE1hcmtlcihHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4s
IGNvbnN0IERvY3VtZW50TWFya2VyJiBtYXJrZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3Qg
Rm9udCYgZm9udCkKIHsKICAgICAvLyBVc2Ugc2FtZSB5IHBvc2l0aW9uaW5nIGFuZCBoZWlnaHQg
YXMgZm9yIHNlbGVjdGlvbiwgc28gdGhhdCB3aGVuIHRoZSBzZWxlY3Rpb24gYW5kIHRoaXMgaGln
aGxpZ2h0IGFyZSBvbgogICAgIC8vIHRoZSBzYW1lIHdvcmQgdGhlcmUgYXJlIG5vIHBpZWNlcyBz
dGlja2luZyBvdXQuCkBAIC0xMDE2LDggKzEwMTcsOCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBh
aW50VGV4dE1hdGNoTWFya2VyCiAgICAgICAgICAgICByZW5kZXJlcigpLT50aGVtZSgpLT5wbGF0
Zm9ybUluYWN0aXZlVGV4dFNlYXJjaEhpZ2hsaWdodENvbG9yKCk7CiAgICAgICAgIHB0LT5zYXZl
KCk7CiAgICAgICAgIHVwZGF0ZUdyYXBoaWNzQ29udGV4dChwdCwgY29sb3IsIGNvbG9yLCAwLCBz
dHlsZS0+Y29sb3JTcGFjZSgpKTsgIC8vIERvbid0IGRyYXcgdGV4dCBhdCBhbGwhCi0gICAgICAg
IHB0LT5jbGlwKEludFJlY3QoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSwg
bV9sb2dpY2FsV2lkdGgsIHNlbEhlaWdodCkpOwotICAgICAgICBwdC0+ZHJhd0hpZ2hsaWdodEZv
clRleHQoZm9udCwgcnVuLCBJbnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0g
ZGVsdGFZKSwgc2VsSGVpZ2h0LCBjb2xvciwgc3R5bGUtPmNvbG9yU3BhY2UoKSwgc1BvcywgZVBv
cyk7CisgICAgICAgIHB0LT5jbGlwKEZsb2F0UmVjdChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4u
eSgpIC0gZGVsdGFZLCBtX2xvZ2ljYWxXaWR0aCwgc2VsSGVpZ2h0KSk7CisgICAgICAgIHB0LT5k
cmF3SGlnaGxpZ2h0Rm9yVGV4dChmb250LCBydW4sIEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSwg
Ym94T3JpZ2luLnkoKSAtIGRlbHRhWSksIHNlbEhlaWdodCwgY29sb3IsIHN0eWxlLT5jb2xvclNw
YWNlKCksIHNQb3MsIGVQb3MpOwogICAgICAgICBwdC0+cmVzdG9yZSgpOwogICAgIH0KIH0KQEAg
LTEwMzksNyArMTA0MCw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6Y29tcHV0ZVJlY3RGb3JSZXBs
YWMKICAgICByZW5kZXJlcigpLT5kb2N1bWVudCgpLT5tYXJrZXJzKCktPnNldFJlbmRlcmVkUmVj
dEZvck1hcmtlcihyZW5kZXJlcigpLT5ub2RlKCksIG1hcmtlciwgbWFya2VyUmVjdCk7CiB9CiAg
ICAgCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50RG9jdW1lbnRNYXJrZXJzKEdyYXBoaWNzQ29u
dGV4dCogcHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwg
Y29uc3QgRm9udCYgZm9udCwgYm9vbCBiYWNrZ3JvdW5kKQordm9pZCBJbmxpbmVUZXh0Qm94Ojpw
YWludERvY3VtZW50TWFya2VycyhHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBGbG9hdFBvaW50
JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBi
YWNrZ3JvdW5kKQogewogICAgIGlmICghcmVuZGVyZXIoKS0+bm9kZSgpKQogICAgICAgICByZXR1
cm47CkBAIC0xMTAwLDEzICsxMTAxLDEzIEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREb2N1
bWVudE1hcmtlcnMKIH0KIAogCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25V
bmRlcmxpbmUoR3JhcGhpY3NDb250ZXh0KiBjdHgsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4s
IGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5lJiB1bmRlcmxpbmUpCit2b2lkIElubGluZVRleHRC
b3g6OnBhaW50Q29tcG9zaXRpb25VbmRlcmxpbmUoR3JhcGhpY3NDb250ZXh0KiBjdHgsIGNvbnN0
IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgQ29tcG9zaXRpb25VbmRlcmxpbmUmIHVuZGVy
bGluZSkKIHsKICAgICBpZiAobV90cnVuY2F0aW9uID09IGNGdWxsVHJ1bmNhdGlvbikKICAgICAg
ICAgcmV0dXJuOwogICAgIAotICAgIGludCBzdGFydCA9IDA7ICAgICAgICAgICAgICAgICAvLyBz
dGFydCBvZiBsaW5lIHRvIGRyYXcsIHJlbGF0aXZlIHRvIHR4Ci0gICAgaW50IHdpZHRoID0gbV9s
b2dpY2FsV2lkdGg7ICAgICAgICAgICAvLyBob3cgbXVjaCBsaW5lIHRvIGRyYXcKKyAgICBmbG9h
dCBzdGFydCA9IDA7ICAgICAgICAgICAgICAgICAvLyBzdGFydCBvZiBsaW5lIHRvIGRyYXcsIHJl
bGF0aXZlIHRvIHR4CisgICAgZmxvYXQgd2lkdGggPSBtX2xvZ2ljYWxXaWR0aDsgICAgICAgICAg
IC8vIGhvdyBtdWNoIGxpbmUgdG8gZHJhdwogICAgIGJvb2wgdXNlV2hvbGVXaWR0aCA9IHRydWU7
CiAgICAgdW5zaWduZWQgcGFpbnRTdGFydCA9IG1fc3RhcnQ7CiAgICAgdW5zaWduZWQgcGFpbnRF
bmQgPSBlbmQoKSArIDE7IC8vIGVuZCBwb2ludHMgYXQgdGhlIGxhc3QgY2hhciwgbm90IHBhc3Qg
aXQKQEAgLTExNDIsNyArMTE0Myw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3Np
dGlvblVuZGUKIAogICAgIGN0eC0+c2V0U3Ryb2tlQ29sb3IodW5kZXJsaW5lLmNvbG9yLCByZW5k
ZXJlcigpLT5zdHlsZSgpLT5jb2xvclNwYWNlKCkpOwogICAgIGN0eC0+c2V0U3Ryb2tlVGhpY2tu
ZXNzKGxpbmVUaGlja25lc3MpOwotICAgIGN0eC0+ZHJhd0xpbmVGb3JUZXh0KEludFBvaW50KGJv
eE9yaWdpbi54KCkgKyBzdGFydCwgYm94T3JpZ2luLnkoKSArIGxvZ2ljYWxIZWlnaHQoKSAtIGxp
bmVUaGlja25lc3MpLCB3aWR0aCwgdGV4dFJlbmRlcmVyKCktPmRvY3VtZW50KCktPnByaW50aW5n
KCkpOworICAgIGN0eC0+ZHJhd0xpbmVGb3JUZXh0KEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSAr
IHN0YXJ0LCBib3hPcmlnaW4ueSgpICsgbG9naWNhbEhlaWdodCgpIC0gbGluZVRoaWNrbmVzcyks
IHdpZHRoLCB0ZXh0UmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+cHJpbnRpbmcoKSk7CiB9CiAKIGlu
dCBJbmxpbmVUZXh0Qm94OjpjYXJldE1pbk9mZnNldCgpIGNvbnN0CkBAIC0xMTYwLDcgKzExNjEs
NyBAQCB1bnNpZ25lZCBJbmxpbmVUZXh0Qm94OjpjYXJldE1heFJlbmRlcmVkCiAgICAgcmV0dXJu
IG1fc3RhcnQgKyBtX2xlbjsKIH0KIAotaW50IElubGluZVRleHRCb3g6OnRleHRQb3MoKSBjb25z
dAorZmxvYXQgSW5saW5lVGV4dEJveDo6dGV4dFBvcygpIGNvbnN0CiB7CiAgICAgLy8gV2hlbiBj
b21wdXRpbmcgdGhlIHdpZHRoIG9mIGEgdGV4dCBydW4sIFJlbmRlckJsb2NrOjpjb21wdXRlSW5s
aW5lRGlyZWN0aW9uUG9zaXRpb25zRm9yTGluZSgpIGRvZXNuJ3QgaW5jbHVkZSB0aGUgYWN0dWFs
IG9mZnNldAogICAgIC8vIGZyb20gdGhlIGNvbnRhaW5pbmcgYmxvY2sgZWRnZSBpbiBpdHMgbWVh
c3VyZW1lbnQuIHRleHRQb3MoKSBzaG91bGQgYmUgY29uc2lzdGVudCBzbyB0aGUgdGV4dCBhcmUg
cmVuZGVyZWQgaW4gdGhlIHNhbWUgd2lkdGguCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW5saW5lVGV4dEJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9JbmxpbmVUZXh0Qm94LmgJKHJldmlzaW9uIDc4MjcxKQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0lubGluZVRleHRCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMTA1LDEyICsxMDUsMTIg
QEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjbGVhclRydW5jYXRpb24o
KSB7IG1fdHJ1bmNhdGlvbiA9IGNOb1RydW5jYXRpb247IH0KLSAgICB2aXJ0dWFsIGludCBwbGFj
ZUVsbGlwc2lzQm94KGJvb2wgZmxvd0lzTFRSLCBpbnQgdmlzaWJsZUxlZnRFZGdlLCBpbnQgdmlz
aWJsZVJpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KTsKKyAgICB2
aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBmbG93SXNMVFIsIGZsb2F0IHZpc2li
bGVMZWZ0RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwg
Ym9vbCYgZm91bmRCb3gpOwogCiBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzTGluZUJyZWFr
KCkgY29uc3Q7CiAKLSAgICB2b2lkIHNldEV4cGFuc2lvbihpbnQgZXhwYW5zaW9uKSB7IG1fbG9n
aWNhbFdpZHRoIC09IG1fZXhwYW5zaW9uOyBtX2V4cGFuc2lvbiA9IGV4cGFuc2lvbjsgbV9sb2dp
Y2FsV2lkdGggKz0gbV9leHBhbnNpb247IH0KKyAgICB2b2lkIHNldEV4cGFuc2lvbihmbG9hdCBl
eHBhbnNpb24pIHsgbV9sb2dpY2FsV2lkdGggLT0gbV9leHBhbnNpb247IG1fZXhwYW5zaW9uID0g
ZXhwYW5zaW9uOyBtX2xvZ2ljYWxXaWR0aCArPSBtX2V4cGFuc2lvbjsgfQogCiBwcml2YXRlOgog
ICAgIHZpcnR1YWwgYm9vbCBpc0lubGluZVRleHRCb3goKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
ICAgIApAQCAtMTIyLDcgKzEyMiw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdmlydHVhbCB1
bnNpZ25lZCBjYXJldE1heFJlbmRlcmVkT2Zmc2V0KCkgY29uc3Q7CiAKLSAgICBpbnQgdGV4dFBv
cygpIGNvbnN0OyAvLyByZXR1cm5zIHRoZSB4IHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBsZWZ0
IHN0YXJ0IG9mIHRoZSB0ZXh0IGxpbmUuCisgICAgZmxvYXQgdGV4dFBvcygpIGNvbnN0OyAvLyBy
ZXR1cm5zIHRoZSB4IHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBsZWZ0IHN0YXJ0IG9mIHRoZSB0
ZXh0IGxpbmUuCiAKIHB1YmxpYzoKICAgICB2aXJ0dWFsIGludCBvZmZzZXRGb3JQb3NpdGlvbihp
bnQgeCwgYm9vbCBpbmNsdWRlUGFydGlhbEdseXBocyA9IHRydWUpIGNvbnN0OwpAQCAtMTQ0LDE4
ICsxNDQsMTggQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgICAvLyBkZW5vdGUgbm8g
dHJ1bmNhdGlvbiAodGhlIHdob2xlIHJ1biBwYWludHMpIGFuZCBmdWxsIHRydW5jYXRpb24gKG5v
dGhpbmcgcGFpbnRzIGF0IGFsbCkuCiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIHBhaW50Q29tcG9z
aXRpb25CYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmln
aW4sIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYsIGludCBzdGFydFBvcywgaW50IGVuZFBvcyk7
Ci0gICAgdm9pZCBwYWludERvY3VtZW50TWFya2VycyhHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJ
bnRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmLCBib29sIGJhY2tn
cm91bmQpOwotICAgIHZvaWQgcGFpbnRDb21wb3NpdGlvblVuZGVybGluZShHcmFwaGljc0NvbnRl
eHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBDb21wb3NpdGlvblVuZGVybGlu
ZSYpOworICAgIHZvaWQgcGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0
KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQm
LCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpOworICAgIHZvaWQgcGFpbnREb2N1bWVudE1hcmtl
cnMoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJT
dHlsZSosIGNvbnN0IEZvbnQmLCBib29sIGJhY2tncm91bmQpOworICAgIHZvaWQgcGFpbnRDb21w
b3NpdGlvblVuZGVybGluZShHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hP
cmlnaW4sIGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5lJik7CiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIHZvaWQgcGFpbnRDdXN0b21IaWdobGlnaHQoaW50IHR4LCBpbnQgdHksIGNvbnN0IEF0b21p
Y1N0cmluZyYgdHlwZSk7CiAjZW5kaWYKIAogcHJpdmF0ZToKLSAgICB2b2lkIHBhaW50RGVjb3Jh
dGlvbihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBpbnQgZGVj
b3JhdGlvbiwgY29uc3QgU2hhZG93RGF0YSopOwotICAgIHZvaWQgcGFpbnRTZWxlY3Rpb24oR3Jh
cGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqLCBj
b25zdCBGb250Jik7Ci0gICAgdm9pZCBwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdyYXBo
aWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFy
a2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250JiwgYm9vbCBncmFtbWFyKTsKLSAgICB2b2lk
IHBhaW50VGV4dE1hdGNoTWFya2VyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBi
b3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250
Jik7CisgICAgdm9pZCBwYWludERlY29yYXRpb24oR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxv
YXRQb2ludCYgYm94T3JpZ2luLCBpbnQgZGVjb3JhdGlvbiwgY29uc3QgU2hhZG93RGF0YSopOwor
ICAgIHZvaWQgcGFpbnRTZWxlY3Rpb24oR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2lu
dCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmKTsKKyAgICB2b2lkIHBhaW50
U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2lu
dCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYsIFJlbmRlclN0eWxlKiwgY29uc3Qg
Rm9udCYsIGJvb2wgZ3JhbW1hcik7CisgICAgdm9pZCBwYWludFRleHRNYXRjaE1hcmtlcihHcmFw
aGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50
TWFya2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jik7CiAgICAgdm9pZCBjb21wdXRlUmVj
dEZvclJlcGxhY2VtZW50TWFya2VyKGNvbnN0IERvY3VtZW50TWFya2VyJiwgUmVuZGVyU3R5bGUq
LCBjb25zdCBGb250Jik7CiAKICAgICBUZXh0UnVuOjpUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9y
IHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IoKSBjb25zdCB7IHJldHVybiBtX2V4cGFuc2lvbiAm
JiBuZXh0TGVhZkNoaWxkKCkgPyBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uIDogVGV4
dFJ1bjo6Rm9yYmlkVHJhaWxpbmdFeHBhbnNpb247IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCUi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCUi5oCShyZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCUi5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw4ICs0MCw4IEBAIHB1YmxpYzoKICAK
ICAgICB2aXJ0dWFsIEludFJlY3Qgc2VsZWN0aW9uUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9k
ZWxPYmplY3QqIC8qcmVwYWludENvbnRhaW5lciovLCBib29sIC8qY2xpcFRvVmlzaWJsZUNvbnRl
bnQqLykgeyByZXR1cm4gSW50UmVjdCgpOyB9CiAKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRo
KHVuc2lnbmVkIC8qZnJvbSovLCB1bnNpZ25lZCAvKmxlbiovLCBjb25zdCBGb250JiwgaW50IC8q
eHBvcyovKSBjb25zdCB7IHJldHVybiAwOyB9Ci0gICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0aCh1
bnNpZ25lZCAvKmZyb20qLywgdW5zaWduZWQgLypsZW4qLywgaW50IC8qeHBvcyovLCBib29sIC8q
Zmlyc3RMaW5lID0gZmFsc2UqLykgY29uc3QgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgZmxv
YXQgd2lkdGgodW5zaWduZWQgLypmcm9tKi8sIHVuc2lnbmVkIC8qbGVuKi8sIGNvbnN0IEZvbnQm
LCBmbG9hdCAvKnhwb3MqLykgY29uc3QgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgZmxvYXQg
d2lkdGgodW5zaWduZWQgLypmcm9tKi8sIHVuc2lnbmVkIC8qbGVuKi8sIGludCAvKnhwb3MqLywg
Ym9vbCAvKmZpcnN0TGluZSA9IGZhbHNlKi8pIGNvbnN0IHsgcmV0dXJuIDA7IH0KIAogICAgIGlu
dCBsaW5lSGVpZ2h0KGJvb2wgZmlyc3RMaW5lKSBjb25zdDsKIApJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCShyZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2MTcs
NyArNDYxNyw3IEBAIHN0YXRpYyBpbnQgZ2V0Qm9yZGVyUGFkZGluZ01hcmdpbihjb25zdCAKICAg
ICAgICAgICAgICAgIGNoaWxkLT5ib3JkZXJTdGFydCgpOwogfQogCi1zdGF0aWMgaW5saW5lIHZv
aWQgc3RyaXBUcmFpbGluZ1NwYWNlKGludCYgaW5saW5lTWF4LCBpbnQmIGlubGluZU1pbiwKK3N0
YXRpYyBpbmxpbmUgdm9pZCBzdHJpcFRyYWlsaW5nU3BhY2UoZmxvYXQmIGlubGluZU1heCwgZmxv
YXQmIGlubGluZU1pbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVu
ZGVyT2JqZWN0KiB0cmFpbGluZ1NwYWNlQ2hpbGQpCiB7CiAgICAgaWYgKHRyYWlsaW5nU3BhY2VD
aGlsZCAmJiB0cmFpbGluZ1NwYWNlQ2hpbGQtPmlzVGV4dCgpKSB7CkBAIC00NjI1LDE3ICs0NjI1
LDIzIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBzdHJpcFRyYWlsaW5nU3BhY2UoaW4KICAgICAgICAg
UmVuZGVyVGV4dCogdCA9IHRvUmVuZGVyVGV4dCh0cmFpbGluZ1NwYWNlQ2hpbGQpOwogICAgICAg
ICBjb25zdCBVQ2hhciBzcGFjZSA9ICcgJzsKICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IHQt
PnN0eWxlKCktPmZvbnQoKTsgLy8gRklYTUU6IFRoaXMgaWdub3JlcyBmaXJzdC1saW5lLgotICAg
ICAgICBpbnQgc3BhY2VXaWR0aCA9IGZvbnQud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKTsKKyAg
ICAgICAgZmxvYXQgc3BhY2VXaWR0aCA9IGZvbnQud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKTsK
ICAgICAgICAgaW5saW5lTWF4IC09IHNwYWNlV2lkdGggKyBmb250LndvcmRTcGFjaW5nKCk7CiAg
ICAgICAgIGlmIChpbmxpbmVNaW4gPiBpbmxpbmVNYXgpCiAgICAgICAgICAgICBpbmxpbmVNaW4g
PSBpbmxpbmVNYXg7CiAgICAgfQogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlUHJlZmVy
cmVkV2lkdGgoaW50JiBwcmVmZXJyZWRXaWR0aCwgZmxvYXQmIHJlc3VsdCkKK3sKKyAgICBpbnQg
c25hcHBlZFJlc3VsdCA9IGNlaWxmKHJlc3VsdCk7CisgICAgcHJlZmVycmVkV2lkdGggPSBtYXgo
c25hcHBlZFJlc3VsdCwgcHJlZmVycmVkV2lkdGgpOworfQorCiB2b2lkIFJlbmRlckJsb2NrOjpj
b21wdXRlSW5saW5lUHJlZmVycmVkTG9naWNhbFdpZHRocygpCiB7Ci0gICAgaW50IGlubGluZU1h
eCA9IDA7Ci0gICAgaW50IGlubGluZU1pbiA9IDA7CisgICAgZmxvYXQgaW5saW5lTWF4ID0gMDsK
KyAgICBmbG9hdCBpbmxpbmVNaW4gPSAwOwogCiAgICAgaW50IGN3ID0gY29udGFpbmluZ0Jsb2Nr
KCktPmNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKIApAQCAtNDY5NiwxNSArNDcwMiwxNSBAQCB2b2lk
IFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICAvLyB0aGUg
d2lkdGggb2YgdGhlIGxhc3Qgbm9uLWJyZWFrYWJsZSBydW4gYW5kIHVzZSB0aGF0IHRvIHN0YXJ0
IGEgbmV3IGxpbmUKICAgICAgICAgICAgIC8vICh1bmxlc3Mgd2UgZW5kIGluIHdoaXRlc3BhY2Up
LgogICAgICAgICAgICAgUmVuZGVyU3R5bGUqIGNzdHlsZSA9IGNoaWxkLT5zdHlsZSgpOwotICAg
ICAgICAgICAgaW50IGNoaWxkTWluID0gMDsKLSAgICAgICAgICAgIGludCBjaGlsZE1heCA9IDA7
CisgICAgICAgICAgICBmbG9hdCBjaGlsZE1pbiA9IDA7CisgICAgICAgICAgICBmbG9hdCBjaGls
ZE1heCA9IDA7CiAKICAgICAgICAgICAgIGlmICghY2hpbGQtPmlzVGV4dCgpKSB7CiAgICAgICAg
ICAgICAgICAgLy8gQ2FzZSAoMSkgYW5kICgyKS4gIElubGluZSByZXBsYWNlZCBhbmQgaW5saW5l
IGZsb3cgZWxlbWVudHMuCiAgICAgICAgICAgICAgICAgaWYgKGNoaWxkLT5pc1JlbmRlcklubGlu
ZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIEFkZCBpbiBwYWRkaW5nL2JvcmRlci9tYXJn
aW4gZnJvbSB0aGUgYXBwcm9wcmlhdGUgc2lkZSBvZgogICAgICAgICAgICAgICAgICAgICAvLyB0
aGUgZWxlbWVudC4KLSAgICAgICAgICAgICAgICAgICAgaW50IGJwbSA9IGdldEJvcmRlclBhZGRp
bmdNYXJnaW4odG9SZW5kZXJJbmxpbmUoY2hpbGQpLCBjaGlsZEl0ZXJhdG9yLmVuZE9mSW5saW5l
KTsKKyAgICAgICAgICAgICAgICAgICAgZmxvYXQgYnBtID0gZ2V0Qm9yZGVyUGFkZGluZ01hcmdp
bih0b1JlbmRlcklubGluZShjaGlsZCksIGNoaWxkSXRlcmF0b3IuZW5kT2ZJbmxpbmUpOwogICAg
ICAgICAgICAgICAgICAgICBjaGlsZE1pbiArPSBicG07CiAgICAgICAgICAgICAgICAgICAgIGNo
aWxkTWF4ICs9IGJwbTsKIApAQCAtNDcxNCw3ICs0NzIwLDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6
Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgICAgICBjaGlsZC0+c2V0UHJl
ZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KGZhbHNlKTsKICAgICAgICAgICAgICAgICB9IGVsc2Ug
ewogICAgICAgICAgICAgICAgICAgICAvLyBJbmxpbmUgcmVwbGFjZWQgZWx0cyBhZGQgaW4gdGhl
aXIgbWFyZ2lucyB0byB0aGVpciBtaW4vbWF4IHZhbHVlcy4KLSAgICAgICAgICAgICAgICAgICAg
aW50IG1hcmdpbnMgPSAwOworICAgICAgICAgICAgICAgICAgICBmbG9hdCBtYXJnaW5zID0gMDsK
ICAgICAgICAgICAgICAgICAgICAgTGVuZ3RoIHN0YXJ0TWFyZ2luID0gY3N0eWxlLT5tYXJnaW5T
dGFydCgpOwogICAgICAgICAgICAgICAgICAgICBMZW5ndGggZW5kTWFyZ2luID0gY3N0eWxlLT5t
YXJnaW5FbmQoKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0TWFyZ2luLmlzRml4ZWQo
KSkKQEAgLTQ3NDQsMTMgKzQ3NTAsMTMgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGlu
ZVByZWZlcnJlZAogCiAgICAgICAgICAgICAgICAgYm9vbCBjYW5CcmVha1JlcGxhY2VkRWxlbWVu
dCA9ICFjaGlsZC0+aXNJbWFnZSgpIHx8IGFsbG93SW1hZ2VzVG9CcmVhazsKICAgICAgICAgICAg
ICAgICBpZiAoKGNhbkJyZWFrUmVwbGFjZWRFbGVtZW50ICYmIChhdXRvV3JhcCB8fCBvbGRBdXRv
V3JhcCkpIHx8IGNsZWFyUHJldmlvdXNGbG9hdCkgewotICAgICAgICAgICAgICAgICAgICBtX21p
blByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9t
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAgICAgICAgICAgICAgICAg
IGlubGluZU1pbiA9IDA7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgLy8g
SWYgd2UncmUgc3VwcG9zZWQgdG8gY2xlYXIgdGhlIHByZXZpb3VzIGZsb2F0LCB0aGVuIHRlcm1p
bmF0ZSBtYXh3aWR0aCBhcyB3ZWxsLgogICAgICAgICAgICAgICAgIGlmIChjbGVhclByZXZpb3Vz
RmxvYXQpIHsKLSAgICAgICAgICAgICAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgg
PSBtYXgoaW5saW5lTWF4LCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAg
ICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
LCBpbmxpbmVNYXgpOwogICAgICAgICAgICAgICAgICAgICBpbmxpbmVNYXggPSAwOwogICAgICAg
ICAgICAgICAgIH0KIApAQCAtNDc2OCwxMiArNDc3NCwxMiBAQCB2b2lkIFJlbmRlckJsb2NrOjpj
b21wdXRlSW5saW5lUHJlZmVycmVkCiAKICAgICAgICAgICAgICAgICBpZiAoIWF1dG9XcmFwIHx8
ICFjYW5CcmVha1JlcGxhY2VkRWxlbWVudCkgewogICAgICAgICAgICAgICAgICAgICBpZiAoY2hp
bGQtPmlzRmxvYXRpbmcoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoID0gbWF4KGNoaWxkTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7
CisgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZl
cnJlZExvZ2ljYWxXaWR0aCwgY2hpbGRNaW4pOwogICAgICAgICAgICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gKz0gY2hpbGRNaW47CiAgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgLy8gTm93IGNoZWNrIG91ciBsaW5l
LgotICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChj
aGlsZE1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAg
ICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgY2hpbGRN
aW4pOwogCiAgICAgICAgICAgICAgICAgICAgIC8vIE5vdyBzdGFydCBhIG5ldyBsaW5lLgogICAg
ICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSAwOwpAQCAtNDc5MCw3ICs0Nzk2LDcgQEAgdm9p
ZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgIFJl
bmRlclRleHQqIHQgPSB0b1JlbmRlclRleHQoY2hpbGQpOwogCiAgICAgICAgICAgICAgICAgaWYg
KHQtPmlzV29yZEJyZWFrKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRM
b2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7
CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4g
PSAwOwogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICB9CkBA
IC00ODA0LDkgKzQ4MTAsOSBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVy
cmVkCiAgICAgICAgICAgICAgICAgLy8gdGhlbiB0aGV5IHNob3VsZG4ndCBiZSBjb25zaWRlcmVk
IGluIHRoZSBicmVha2FibGUgY2hhcgogICAgICAgICAgICAgICAgIC8vIGNoZWNrLgogICAgICAg
ICAgICAgICAgIGJvb2wgaGFzQnJlYWthYmxlQ2hhciwgaGFzQnJlYWs7Ci0gICAgICAgICAgICAg
ICAgaW50IGJlZ2luTWluLCBlbmRNaW47CisgICAgICAgICAgICAgICAgZmxvYXQgYmVnaW5NaW4s
IGVuZE1pbjsKICAgICAgICAgICAgICAgICBib29sIGJlZ2luV1MsIGVuZFdTOwotICAgICAgICAg
ICAgICAgIGludCBiZWdpbk1heCwgZW5kTWF4OworICAgICAgICAgICAgICAgIGZsb2F0IGJlZ2lu
TWF4LCBlbmRNYXg7CiAgICAgICAgICAgICAgICAgdC0+dHJpbW1lZFByZWZXaWR0aHMoaW5saW5l
TWF4LCBiZWdpbk1pbiwgYmVnaW5XUywgZW5kTWluLCBlbmRXUywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoYXNCcmVha2FibGVDaGFyLCBoYXNCcmVhaywgYmVnaW5NYXgs
IGVuZE1heCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZE1pbiwg
Y2hpbGRNYXgsIHN0cmlwRnJvbnRTcGFjZXMpOwpAQCAtNDgxNCw3ICs0ODIwLDcgQEAgdm9pZCBS
ZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgIC8vIFRo
aXMgdGV4dCBvYmplY3Qgd2lsbCBub3QgYmUgcmVuZGVyZWQsIGJ1dCBpdCBtYXkgc3RpbGwgcHJv
dmlkZSBhIGJyZWFraW5nIG9wcG9ydHVuaXR5LgogICAgICAgICAgICAgICAgIGlmICghaGFzQnJl
YWsgJiYgY2hpbGRNYXggPT0gMCkgewogICAgICAgICAgICAgICAgICAgICBpZiAoYXV0b1dyYXAg
JiYgKGJlZ2luV1MgfHwgZW5kV1MpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX21pblBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1f
bWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAg
ICAgICAgaW5saW5lTWluID0gMDsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKQEAgLTQ4NDQsMTAgKzQ4NTAsMTAgQEAgdm9pZCBSZW5kZXJCbG9j
azo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgICAgICAvLyB3ZSBzdGFy
dCBhbmQgZW5kIHdpdGggd2hpdGVzcGFjZS4KICAgICAgICAgICAgICAgICAgICAgaWYgKGJlZ2lu
V1MpCiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBHbyBhaGVhZCBhbmQgZW5kIHRoZSBjdXJy
ZW50IGxpbmUuCi0gICAgICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxX
aWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiArPSBiZWdpbk1pbjsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9t
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRl
UHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBjaGlsZE1pbiAtPSB0aTsKICAgICAgICAgICAgICAgICAg
ICAgfQogCkBAIC00ODU2LDE4ICs0ODYyLDE4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJ
bmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAgICAgICAgICAgaWYgKGVuZFdTKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBXZSBlbmQgaW4gd2hpdGVzcGFjZSwgd2hpY2ggbWVhbnMgd2Ug
Y2FuIGdvIGFoZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbmQgZW5kIG91ciBjdXJy
ZW50IGxpbmUuCi0gICAgICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxX
aWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWlu
ID0gMDsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVm
ZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVy
cmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSBlbmRNaW47CiAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBpZiAoaGFzQnJlYWspIHsK
ICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWF4ICs9IGJlZ2luTWF4OwotICAgICAgICAgICAg
ICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNYXgsIG1fbWF4
UHJlZmVycmVkTG9naWNhbFdpZHRoKTsKLSAgICAgICAgICAgICAgICAgICAgbV9tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGggPSBtYXgoY2hpbGRNYXgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
KTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGgsIGlubGluZU1heCk7CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVBy
ZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBjaGlsZE1heCk7CiAgICAg
ICAgICAgICAgICAgICAgIGlubGluZU1heCA9IGVuZE1heDsKICAgICAgICAgICAgICAgICB9IGVs
c2UKICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWF4ICs9IGNoaWxkTWF4OwpAQCAtNDg3Nyw4
ICs0ODgzLDggQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAg
ICAgICAgICAgaWYgKGNoaWxkLT5pc0xpc3RNYXJrZXIoKSkKICAgICAgICAgICAgICAgICBzdHJp
cEZyb250U3BhY2VzID0gdHJ1ZTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGgpOwotICAgICAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgo
aW5saW5lTWF4LCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICB1cGRh
dGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsK
KyAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9naWNhbFdp
ZHRoLCBpbmxpbmVNYXgpOwogICAgICAgICAgICAgaW5saW5lTWluID0gaW5saW5lTWF4ID0gMDsK
ICAgICAgICAgICAgIHN0cmlwRnJvbnRTcGFjZXMgPSB0cnVlOwogICAgICAgICAgICAgdHJhaWxp
bmdTcGFjZUNoaWxkID0gMDsKQEAgLTQ4OTAsOCArNDg5Niw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6
OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICBpZiAoc3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNw
YWNlKCkpCiAgICAgICAgIHN0cmlwVHJhaWxpbmdTcGFjZShpbmxpbmVNYXgsIGlubGluZU1pbiwg
dHJhaWxpbmdTcGFjZUNoaWxkKTsKIAotICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0g
bWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOwotICAgIG1fbWF4UHJl
ZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1heCwgbV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGgpOworICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoLCBpbmxpbmVNaW4pOworICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVycmVk
TG9naWNhbFdpZHRoLCBpbmxpbmVNYXgpOwogfQogCiAvLyBVc2UgYSB2ZXJ5IGxhcmdlIHZhbHVl
IChpbiBlZmZlY3QgaW5maW5pdGUpLgpAQCAtNTQ1Nyw5ICs1NDYzLDkgQEAgdm9pZCBSZW5kZXJC
bG9jazo6YWRqdXN0Rm9yQm9yZGVyRml0KGludAogICAgICAgICBpZiAoY2hpbGRyZW5JbmxpbmUo
KSkgewogICAgICAgICAgICAgZm9yIChSb290SW5saW5lQm94KiBib3ggPSBmaXJzdFJvb3RCb3go
KTsgYm94OyBib3ggPSBib3gtPm5leHRSb290Qm94KCkpIHsKICAgICAgICAgICAgICAgICBpZiAo
Ym94LT5maXJzdENoaWxkKCkpCi0gICAgICAgICAgICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwg
eCArIGJveC0+Zmlyc3RDaGlsZCgpLT54KCkpOworICAgICAgICAgICAgICAgICAgICBsZWZ0ID0g
bWluKGxlZnQsIHggKyBzdGF0aWNfY2FzdDxpbnQ+KGJveC0+Zmlyc3RDaGlsZCgpLT54KCkpKTsK
ICAgICAgICAgICAgICAgICBpZiAoYm94LT5sYXN0Q2hpbGQoKSkKLSAgICAgICAgICAgICAgICAg
ICAgcmlnaHQgPSBtYXgocmlnaHQsIHggKyBib3gtPmxhc3RDaGlsZCgpLT54KCkgKyBib3gtPmxh
c3RDaGlsZCgpLT5sb2dpY2FsV2lkdGgoKSk7CisgICAgICAgICAgICAgICAgICAgIHJpZ2h0ID0g
bWF4KHJpZ2h0LCB4ICsgc3RhdGljX2Nhc3Q8aW50PihjZWlsZihib3gtPmxhc3RDaGlsZCgpLT5s
b2dpY2FsUmlnaHQoKSkpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBlbHNl
IHsKQEAgLTU3NTksOCArNTc2NSw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmFkZEZvY3VzUmluZ1Jl
Y3RzKFZlY3QKIAogICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgJiYgIWhhc0NvbnRyb2xDbGlw
KCkpIHsKICAgICAgICAgZm9yIChSb290SW5saW5lQm94KiBjdXJyID0gZmlyc3RSb290Qm94KCk7
IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0Um9vdEJveCgpKSB7Ci0gICAgICAgICAgICBpbnQgdG9w
ID0gbWF4KGN1cnItPmxpbmVUb3AoKSwgY3Vyci0+eSgpKTsKLSAgICAgICAgICAgIGludCBib3R0
b20gPSBtaW4oY3Vyci0+bGluZUJvdHRvbSgpLCBjdXJyLT55KCkgKyBjdXJyLT5sb2dpY2FsSGVp
Z2h0KCkpOworICAgICAgICAgICAgaW50IHRvcCA9IG1heChjdXJyLT5saW5lVG9wKCksIGN1cnIt
PmxvZ2ljYWxUb3AoKSk7CisgICAgICAgICAgICBpbnQgYm90dG9tID0gbWluKGN1cnItPmxpbmVC
b3R0b20oKSwgY3Vyci0+bG9naWNhbFRvcCgpICsgY3Vyci0+bG9naWNhbEhlaWdodCgpKTsKICAg
ICAgICAgICAgIEludFJlY3QgcmVjdCh0eCArIGN1cnItPngoKSwgdHkgKyB0b3AsIGN1cnItPmxv
Z2ljYWxXaWR0aCgpLCBib3R0b20gLSB0b3ApOwogICAgICAgICAgICAgaWYgKCFyZWN0LmlzRW1w
dHkoKSkKICAgICAgICAgICAgICAgICByZWN0cy5hcHBlbmQocmVjdCk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2aXNpb24gNzgyNzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtNDg1LDcg
KzQ4NSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNraXBUcmFpbGluZ1doaXRlc3BhY2UoSW5s
aW5lSXRlcmF0b3ImLCBib29sIGlzTGluZUVtcHR5LCBib29sIHByZXZpb3VzTGluZUJyb2tlQ2xl
YW5seSk7CiAgICAgaW50IHNraXBMZWFkaW5nV2hpdGVzcGFjZShJbmxpbmVCaWRpUmVzb2x2ZXIm
LCBib29sIGZpcnN0TGluZSwgYm9vbCBpc0xpbmVFbXB0eSwgYm9vbCBwcmV2aW91c0xpbmVCcm9r
ZUNsZWFubHksIEZsb2F0aW5nT2JqZWN0KiBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lKTsKLSAg
ICB2b2lkIGZpdEJlbG93RmxvYXRzKGludCB3aWR0aFRvRml0LCBib29sIGZpcnN0TGluZSwgaW50
JiBhdmFpbGFibGVXaWR0aCk7CisgICAgdm9pZCBmaXRCZWxvd0Zsb2F0cyhmbG9hdCB3aWR0aFRv
Rml0LCBib29sIGZpcnN0TGluZSwgZmxvYXQmIGF2YWlsYWJsZVdpZHRoKTsKICAgICBJbmxpbmVJ
dGVyYXRvciBmaW5kTmV4dExpbmVCcmVhayhJbmxpbmVCaWRpUmVzb2x2ZXImLCBib29sIGZpcnN0
TGluZSwgYm9vbCYgaXNMaW5lRW1wdHksIGJvb2wmIHByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSwg
Ym9vbCYgaHlwaGVuYXRlZCwgRUNsZWFyKiwgRmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdEZyb21Q
cmV2aW91c0xpbmUpOwogICAgIFJvb3RJbmxpbmVCb3gqIGNvbnN0cnVjdExpbmUodW5zaWduZWQg
cnVuQ291bnQsIEJpZGlSdW4qIGZpcnN0UnVuLCBCaWRpUnVuKiBsYXN0UnVuLCBib29sIGZpcnN0
TGluZSwgYm9vbCBsYXN0TGluZSwgUmVuZGVyT2JqZWN0KiBlbmRPYmplY3QpOwogICAgIElubGlu
ZUZsb3dCb3gqIGNyZWF0ZUxpbmVCb3hlcyhSZW5kZXJPYmplY3QqLCBib29sIGZpcnN0TGluZSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5l
TGF5b3V0LmNwcAkocmV2aXNpb24gNzgyNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzE4LDggKzMxOCw4
IEBAIFJvb3RJbmxpbmVCb3gqIFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RMaW4KIHZvaWQgUmVuZGVy
QmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNGb3JMaW5lKFJvb3RJbmxpbmVC
b3gqIGxpbmVCb3gsIGJvb2wgZmlyc3RMaW5lLCBCaWRpUnVuKiBmaXJzdFJ1biwgQmlkaVJ1biog
dHJhaWxpbmdTcGFjZVJ1biwgYm9vbCByZWFjaGVkRW5kLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJh
Y2tGb250c01hcCYgdGV4dEJveERhdGFNYXApCiB7CiAgICAgLy8gRmlyc3QgZGV0ZXJtaW5lIG91
ciB0b3RhbCBsb2dpY2FsIHdpZHRoLgotICAgIGludCBhdmFpbGFibGVMb2dpY2FsV2lkdGggPSBh
dmFpbGFibGVMb2dpY2FsV2lkdGhGb3JMaW5lKGxvZ2ljYWxIZWlnaHQoKSwgZmlyc3RMaW5lKTsK
LSAgICBpbnQgdG90YWxMb2dpY2FsV2lkdGggPSBsaW5lQm94LT5nZXRGbG93U3BhY2luZ0xvZ2lj
YWxXaWR0aCgpOworICAgIGZsb2F0IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCA9IGF2YWlsYWJsZUxv
Z2ljYWxXaWR0aEZvckxpbmUobG9naWNhbEhlaWdodCgpLCBmaXJzdExpbmUpOworICAgIGZsb2F0
IHRvdGFsTG9naWNhbFdpZHRoID0gbGluZUJveC0+Z2V0Rmxvd1NwYWNpbmdMb2dpY2FsV2lkdGgo
KTsKICAgICBib29sIG5lZWRzV29yZFNwYWNpbmcgPSBmYWxzZTsKICAgICB1bnNpZ25lZCBleHBh
bnNpb25PcHBvcnR1bml0eUNvdW50ID0gMDsKICAgICBib29sIGlzQWZ0ZXJFeHBhbnNpb24gPSB0
cnVlOwpAQCAtMzg2LDcgKzM4Niw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVE
aXJlY3Rpb24KICAgICAvLyB3ZSBub3cgZXhhbWluZSBvdXIgdGV4dC1hbGlnbiBwcm9wZXJ0eSBp
biBvcmRlciB0byBkZXRlcm1pbmUgd2hlcmUgdG8gcG9zaXRpb24gdGhlCiAgICAgLy8gb2JqZWN0
cyBob3Jpem9udGFsbHkuICBUaGUgdG90YWwgd2lkdGggb2YgdGhlIGxpbmUgY2FuIGJlIGluY3Jl
YXNlZCBpZiB3ZSBlbmQgdXAKICAgICAvLyBqdXN0aWZ5aW5nIHRleHQuCi0gICAgaW50IGxvZ2lj
YWxMZWZ0ID0gbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKGxvZ2ljYWxIZWlnaHQoKSwgZmlyc3RM
aW5lKTsKKyAgICBmbG9hdCBsb2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShs
b2dpY2FsSGVpZ2h0KCksIGZpcnN0TGluZSk7CiAgICAgc3dpdGNoICh0ZXh0QWxpZ24pIHsKICAg
ICAgICAgY2FzZSBMRUZUOgogICAgICAgICBjYXNlIFdFQktJVF9MRUZUOgpAQCAtMzk0LDcgKzM5
NCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb24KICAgICAgICAg
ICAgIC8vIHBhcnRpY3VsYXIgd2l0aCBSVEwgYmxvY2tzLCB3aWRlIGxpbmVzIHNob3VsZCBzdGls
bCBzcGlsbCBvdXQgdG8gdGhlIGxlZnQuCiAgICAgICAgICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0
VG9SaWdodERpcmVjdGlvbigpKSB7CiAgICAgICAgICAgICAgICAgaWYgKHRvdGFsTG9naWNhbFdp
ZHRoID4gYXZhaWxhYmxlTG9naWNhbFdpZHRoICYmIHRyYWlsaW5nU3BhY2VSdW4pCi0gICAgICAg
ICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4
KDAsIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNh
bFdpZHRoICsgYXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7CisgICAgICAgICAgICAgICAgICAgIHRy
YWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAuZiwgdHJhaWxpbmdT
cGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFp
bGFibGVMb2dpY2FsV2lkdGgpKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAg
ICAgaWYgKHRyYWlsaW5nU3BhY2VSdW4pCiAgICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU3Bh
Y2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgoMCk7CkBAIC00MTYsNyArNDE2LDcgQEAgdm9p
ZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgLy8gZm9y
IHJpZ2h0IHRvIGxlZnQgZmFsbCB0aHJvdWdoIHRvIHJpZ2h0IGFsaWduZWQKICAgICAgICAgICAg
IGlmIChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsKICAgICAgICAgICAgICAg
ICBpZiAodG90YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFibGVMb2dpY2FsV2lkdGggJiYgdHJhaWxp
bmdTcGFjZVJ1bikKLSAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gt
PnNldExvZ2ljYWxXaWR0aChtYXgoMCwgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxX
aWR0aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFpbGFibGVMb2dpY2FsV2lkdGgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0
aChtYXgoMC5mLCB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCkgLSB0b3Rh
bExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOwogICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICBjYXNlIFJJR0hUOgpAQCAtNDI3LDEzICs0
MjcsMTMgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAg
ICAgICAgaWYgKHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgewogICAgICAgICAg
ICAgICAgIGlmICh0cmFpbGluZ1NwYWNlUnVuKSB7CiAgICAgICAgICAgICAgICAgICAgIHRvdGFs
TG9naWNhbFdpZHRoIC09IHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKTsK
LSAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxX
aWR0aCgwKTsKKyAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNl
dExvZ2ljYWxXaWR0aCgwLmYpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBp
ZiAodG90YWxMb2dpY2FsV2lkdGggPCBhdmFpbGFibGVMb2dpY2FsV2lkdGgpCiAgICAgICAgICAg
ICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9n
aWNhbFdpZHRoOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAodG90
YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFibGVMb2dpY2FsV2lkdGggJiYgdHJhaWxpbmdTcGFjZVJ1
bikgewotICAgICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9n
aWNhbFdpZHRoKG1heCgwLCB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCkg
LSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOworICAgICAgICAg
ICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgw
LmYsIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNh
bFdpZHRoICsgYXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7CiAgICAgICAgICAgICAgICAgICAgIHRv
dGFsTG9naWNhbFdpZHRoIC09IHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgo
KTsKICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgbG9naWNhbExl
ZnQgKz0gYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGg7CkBAIC00NDEs
MTQgKzQ0MSwxNCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uCiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDRU5URVI6CiAgICAgICAgIGNhc2UgV0VC
S0lUX0NFTlRFUjoKLSAgICAgICAgICAgIGludCB0cmFpbGluZ1NwYWNlV2lkdGggPSAwOworICAg
ICAgICAgICAgZmxvYXQgdHJhaWxpbmdTcGFjZVdpZHRoID0gMC5mOwogICAgICAgICAgICAgaWYg
KHRyYWlsaW5nU3BhY2VSdW4pIHsKICAgICAgICAgICAgICAgICB0b3RhbExvZ2ljYWxXaWR0aCAt
PSB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCk7CiAgICAgICAgICAgICAg
ICAgdHJhaWxpbmdTcGFjZVdpZHRoID0gbWluKHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dp
Y2FsV2lkdGgoKSwgKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoICsg
MSkgLyAyKTsKLSAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9n
aWNhbFdpZHRoKG1heCgwLCB0cmFpbGluZ1NwYWNlV2lkdGgpKTsKKyAgICAgICAgICAgICAgICB0
cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgwLmYsIHRyYWlsaW5n
U3BhY2VXaWR0aCkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKHN0eWxlKCktPmlz
TGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKLSAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdCArPSBt
YXgoKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoKSAvIDIsIDApOwor
ICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IG1heCgoYXZhaWxhYmxlTG9naWNhbFdpZHRo
IC0gdG90YWxMb2dpY2FsV2lkdGgpIC8gMi5mLCAwLmYpOwogICAgICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IHRvdGFsTG9naWNhbFdpZHRoID4gYXZhaWxhYmxl
TG9naWNhbFdpZHRoID8gKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRo
KSA6IChhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkgLyAyIC0gdHJh
aWxpbmdTcGFjZVdpZHRoOwogICAgICAgICAgICAgYnJlYWs7CkBAIC00NjgsNyArNDY4LDcgQEAg
dm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgICAg
IC8vIE9ubHkganVzdGlmeSB0ZXh0IGlmIHdoaXRlc3BhY2UgaXMgY29sbGFwc2VkLgogICAgICAg
ICAgICAgICAgIGlmIChyLT5tX29iamVjdC0+c3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNwYWNlKCkp
IHsKICAgICAgICAgICAgICAgICAgICAgSW5saW5lVGV4dEJveCogdGV4dEJveCA9IHN0YXRpY19j
YXN0PElubGluZVRleHRCb3gqPihyLT5tX2JveCk7Ci0gICAgICAgICAgICAgICAgICAgIGludCBl
eHBhbnNpb24gPSAoYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpICog
b3Bwb3J0dW5pdGllc0luUnVuIC8gZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudDsKKyAgICAgICAg
ICAgICAgICAgICAgZmxvYXQgZXhwYW5zaW9uID0gKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRv
dGFsTG9naWNhbFdpZHRoKSAqIG9wcG9ydHVuaXRpZXNJblJ1biAvIGV4cGFuc2lvbk9wcG9ydHVu
aXR5Q291bnQ7CiAgICAgICAgICAgICAgICAgICAgIHRleHRCb3gtPnNldEV4cGFuc2lvbihleHBh
bnNpb24pOwogICAgICAgICAgICAgICAgICAgICB0b3RhbExvZ2ljYWxXaWR0aCArPSBleHBhbnNp
b247CiAgICAgICAgICAgICAgICAgfQpAQCAtMTM2OCwxMyArMTM2OCwxMyBAQCBzdGF0aWMgYm9v
bCBzaG91bGRTa2lwV2hpdGVzcGFjZUFmdGVyU3RhCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12
b2lkIFJlbmRlckJsb2NrOjpmaXRCZWxvd0Zsb2F0cyhpbnQgd2lkdGhUb0ZpdCwgYm9vbCBmaXJz
dExpbmUsIGludCYgYXZhaWxhYmxlV2lkdGgpCit2b2lkIFJlbmRlckJsb2NrOjpmaXRCZWxvd0Zs
b2F0cyhmbG9hdCB3aWR0aFRvRml0LCBib29sIGZpcnN0TGluZSwgZmxvYXQmIGF2YWlsYWJsZVdp
ZHRoKQogewogICAgIEFTU0VSVCh3aWR0aFRvRml0ID4gYXZhaWxhYmxlV2lkdGgpOwogCiAgICAg
aW50IGZsb2F0TG9naWNhbEJvdHRvbTsKICAgICBpbnQgbGFzdEZsb2F0TG9naWNhbEJvdHRvbSA9
IGxvZ2ljYWxIZWlnaHQoKTsKLSAgICBpbnQgbmV3TGluZVdpZHRoID0gYXZhaWxhYmxlV2lkdGg7
CisgICAgZmxvYXQgbmV3TGluZVdpZHRoID0gYXZhaWxhYmxlV2lkdGg7CiAgICAgd2hpbGUgKHRy
dWUpIHsKICAgICAgICAgZmxvYXRMb2dpY2FsQm90dG9tID0gbmV4dEZsb2F0TG9naWNhbEJvdHRv
bUJlbG93KGxhc3RGbG9hdExvZ2ljYWxCb3R0b20pOwogICAgICAgICBpZiAoIWZsb2F0TG9naWNh
bEJvdHRvbSkKQEAgLTEzOTIsMTkgKzEzOTIsMTkgQEAgdm9pZCBSZW5kZXJCbG9jazo6Zml0QmVs
b3dGbG9hdHMoaW50IHdpZAogICAgIH0KIH0KIAotc3RhdGljIGlubGluZSB1bnNpZ25lZCB0ZXh0
V2lkdGgoUmVuZGVyVGV4dCogdGV4dCwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25z
dCBGb250JiBmb250LCBpbnQgeFBvcywgYm9vbCBpc0ZpeGVkUGl0Y2gsIGJvb2wgY29sbGFwc2VX
aGl0ZVNwYWNlKQorc3RhdGljIGlubGluZSBmbG9hdCB0ZXh0V2lkdGgoUmVuZGVyVGV4dCogdGV4
dCwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmb250LCBmbG9hdCB4
UG9zLCBib29sIGlzRml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UpCiB7CiAgICAg
aWYgKGlzRml4ZWRQaXRjaCB8fCAoIWZyb20gJiYgbGVuID09IHRleHQtPnRleHRMZW5ndGgoKSkg
fHwgdGV4dC0+c3R5bGUoKS0+aGFzVGV4dENvbWJpbmUoKSkKICAgICAgICAgcmV0dXJuIHRleHQt
PndpZHRoKGZyb20sIGxlbiwgZm9udCwgeFBvcyk7CiAgICAgcmV0dXJuIGZvbnQud2lkdGgoVGV4
dFJ1bih0ZXh0LT5jaGFyYWN0ZXJzKCkgKyBmcm9tLCBsZW4sICFjb2xsYXBzZVdoaXRlU3BhY2Us
IHhQb3MpKTsKIH0KIAotc3RhdGljIHZvaWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCogdGV4
dCwgY29uc3QgRm9udCYgZm9udCwgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbGVJZGVudGlmaWVy
LCBpbnQgbGFzdFNwYWNlLCBpbnQgcG9zLCBpbnQgeFBvcywgaW50IGF2YWlsYWJsZVdpZHRoLCBi
b29sIGlzRml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UsIGludCBsYXN0U3BhY2VX
b3JkU3BhY2luZywgSW5saW5lSXRlcmF0b3ImIGxpbmVCcmVhaywgaW50IG5leHRCcmVha2FibGUs
IGJvb2wmIGh5cGhlbmF0ZWQpCitzdGF0aWMgdm9pZCB0cnlIeXBoZW5hdGluZyhSZW5kZXJUZXh0
KiB0ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsZUlkZW50
aWZpZXIsIGludCBsYXN0U3BhY2UsIGludCBwb3MsIGZsb2F0IHhQb3MsIGludCBhdmFpbGFibGVX
aWR0aCwgYm9vbCBpc0ZpeGVkUGl0Y2gsIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlLCBpbnQgbGFz
dFNwYWNlV29yZFNwYWNpbmcsIElubGluZUl0ZXJhdG9yJiBsaW5lQnJlYWssIGludCBuZXh0QnJl
YWthYmxlLCBib29sJiBoeXBoZW5hdGVkKQogewogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaHlw
aGVuU3RyaW5nID0gdGV4dC0+c3R5bGUoKS0+aHlwaGVuU3RyaW5nKCk7CiAgICAgaW50IGh5cGhl
bldpZHRoID0gZm9udC53aWR0aChUZXh0UnVuKGh5cGhlblN0cmluZy5jaGFyYWN0ZXJzKCksIGh5
cGhlblN0cmluZy5sZW5ndGgoKSkpOwogCi0gICAgaW50IG1heFByZWZpeFdpZHRoID0gYXZhaWxh
YmxlV2lkdGggLSB4UG9zIC0gaHlwaGVuV2lkdGggLSBsYXN0U3BhY2VXb3JkU3BhY2luZzsKKyAg
ICBmbG9hdCBtYXhQcmVmaXhXaWR0aCA9IGF2YWlsYWJsZVdpZHRoIC0geFBvcyAtIGh5cGhlbldp
ZHRoIC0gbGFzdFNwYWNlV29yZFNwYWNpbmc7CiAgICAgLy8gSWYgdGhlIG1heGltdW0gd2lkdGgg
YXZhaWxhYmxlIGZvciB0aGUgcHJlZml4IGJlZm9yZSB0aGUgaHlwaGVuIGlzIHNtYWxsLCB0aGVu
IGl0IGlzIHZlcnkgdW5saWtlbHkKICAgICAvLyB0aGF0IGFuIGh5cGhlbmF0aW9uIG9wcG9ydHVu
aXR5IGV4aXN0cywgc28gZG8gbm90IGJvdGhlciB0byBsb29rIGZvciBpdC4KICAgICBpZiAobWF4
UHJlZml4V2lkdGggPD0gZm9udC5waXhlbFNpemUoKSAqIDUgLyA0KQpAQCAtMTQxOSw3ICsxNDE5
LDcgQEAgc3RhdGljIHZvaWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCogdAogICAgICAgICBy
ZXR1cm47CiAKICNpZiAhQVNTRVJUX0RJU0FCTEVECi0gICAgaW50IHByZWZpeFdpZHRoID0gaHlw
aGVuV2lkdGggKyB0ZXh0V2lkdGgodGV4dCwgbGFzdFNwYWNlLCBwcmVmaXhMZW5ndGgsIGZvbnQs
IHhQb3MsIGlzRml4ZWRQaXRjaCwgY29sbGFwc2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRT
cGFjaW5nOworICAgIGZsb2F0IHByZWZpeFdpZHRoID0gaHlwaGVuV2lkdGggKyB0ZXh0V2lkdGgo
dGV4dCwgbGFzdFNwYWNlLCBwcmVmaXhMZW5ndGgsIGZvbnQsIHhQb3MsIGlzRml4ZWRQaXRjaCwg
Y29sbGFwc2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOwogICAgIEFTU0VSVCh4
UG9zICsgcHJlZml4V2lkdGggPD0gYXZhaWxhYmxlV2lkdGgpOwogI2Vsc2UKICAgICBVTlVTRURf
UEFSQU0oaXNGaXhlZFBpdGNoKTsKQEAgLTE0MzksMTAgKzE0MzksMTAgQEAgSW5saW5lSXRlcmF0
b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZQogICAgIGJvb2wgYXBwbGllZFN0YXJ0V2lkdGgg
PSByZXNvbHZlci5wb3NpdGlvbigpLnBvcyA+IDA7CiAgICAgTGluZU1pZHBvaW50U3RhdGUmIGxp
bmVNaWRwb2ludFN0YXRlID0gcmVzb2x2ZXIubWlkcG9pbnRTdGF0ZSgpOwogICAgIAotICAgIGlu
dCB3aWR0aCA9IHNraXBMZWFkaW5nV2hpdGVzcGFjZShyZXNvbHZlciwgZmlyc3RMaW5lLCBpc0xp
bmVFbXB0eSwgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBsYXN0RmxvYXRGcm9tUHJldmlvdXNM
aW5lKTsKKyAgICBmbG9hdCB3aWR0aCA9IHNraXBMZWFkaW5nV2hpdGVzcGFjZShyZXNvbHZlciwg
Zmlyc3RMaW5lLCBpc0xpbmVFbXB0eSwgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBsYXN0Rmxv
YXRGcm9tUHJldmlvdXNMaW5lKTsKIAotICAgIGludCB3ID0gMDsKLSAgICBpbnQgdG1wVyA9IDA7
CisgICAgZmxvYXQgdyA9IDA7CisgICAgZmxvYXQgdG1wVyA9IDA7CiAKICAgICBpZiAocmVzb2x2
ZXIucG9zaXRpb24oKS5hdEVuZCgpKQogICAgICAgICByZXR1cm4gcmVzb2x2ZXIucG9zaXRpb24o
KTsKQEAgLTE0NjEsOCArMTQ2MSw4IEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5k
TmV4dExpbmUKIAogICAgIElubGluZUl0ZXJhdG9yIGxCcmVhayA9IHJlc29sdmVyLnBvc2l0aW9u
KCk7CiAKLSAgICBSZW5kZXJPYmplY3QgKm8gPSByZXNvbHZlci5wb3NpdGlvbigpLm9iajsKLSAg
ICBSZW5kZXJPYmplY3QgKmxhc3QgPSBvOworICAgIFJlbmRlck9iamVjdCogbyA9IHJlc29sdmVy
LnBvc2l0aW9uKCkub2JqOworICAgIFJlbmRlck9iamVjdCogbGFzdCA9IG87CiAgICAgdW5zaWdu
ZWQgcG9zID0gcmVzb2x2ZXIucG9zaXRpb24oKS5wb3M7CiAgICAgaW50IG5leHRCcmVha2FibGUg
PSByZXNvbHZlci5wb3NpdGlvbigpLm5leHRCcmVha2FibGVQb3NpdGlvbjsKICAgICBib29sIGF0
U3RhcnQgPSB0cnVlOwpAQCAtMTY1OSwyMiArMTY1OSwyMiBAQCBJbmxpbmVJdGVyYXRvciBSZW5k
ZXJCbG9jazo6ZmluZE5leHRMaW5lCiAgICAgICAgICAgICBib29sIGNhbkh5cGhlbmF0ZSA9IHN0
eWxlLT5oeXBoZW5zKCkgPT0gSHlwaGVuc0F1dG8gJiYgV2ViQ29yZTo6Y2FuSHlwaGVuYXRlKHN0
eWxlLT5oeXBoZW5hdGlvbkxvY2FsZSgpKTsKIAogICAgICAgICAgICAgaW50IGxhc3RTcGFjZSA9
IHBvczsKLSAgICAgICAgICAgIGludCB3b3JkU3BhY2luZyA9IG8tPnN0eWxlKCktPndvcmRTcGFj
aW5nKCk7Ci0gICAgICAgICAgICBpbnQgbGFzdFNwYWNlV29yZFNwYWNpbmcgPSAwOworICAgICAg
ICAgICAgZmxvYXQgd29yZFNwYWNpbmcgPSBvLT5zdHlsZSgpLT53b3JkU3BhY2luZygpOworICAg
ICAgICAgICAgZmxvYXQgbGFzdFNwYWNlV29yZFNwYWNpbmcgPSAwOwogCiAgICAgICAgICAgICAv
LyBOb24temVybyBvbmx5IHdoZW4ga2VybmluZyBpcyBlbmFibGVkLCBpbiB3aGljaCBjYXNlIHdl
IG1lYXN1cmUgd29yZHMgd2l0aCB0aGVpciB0cmFpbGluZwogICAgICAgICAgICAgLy8gc3BhY2Us
IHRoZW4gc3VidHJhY3QgaXRzIHdpZHRoLgotICAgICAgICAgICAgaW50IHdvcmRUcmFpbGluZ1Nw
YWNlV2lkdGggPSBmLnR5cGVzZXR0aW5nRmVhdHVyZXMoKSAmIEtlcm5pbmcgPyBmLndpZHRoKFRl
eHRSdW4oJnNwYWNlLCAxKSkgKyB3b3JkU3BhY2luZyA6IDA7CisgICAgICAgICAgICBmbG9hdCB3
b3JkVHJhaWxpbmdTcGFjZVdpZHRoID0gZi50eXBlc2V0dGluZ0ZlYXR1cmVzKCkgJiBLZXJuaW5n
ID8gZi53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpICsgd29yZFNwYWNpbmcgOiAwOwogCi0gICAg
ICAgICAgICBpbnQgd3JhcFcgPSB0bXBXICsgaW5saW5lTG9naWNhbFdpZHRoKG8sICFhcHBsaWVk
U3RhcnRXaWR0aCwgdHJ1ZSk7Ci0gICAgICAgICAgICBpbnQgY2hhcldpZHRoID0gMDsKKyAgICAg
ICAgICAgIGZsb2F0IHdyYXBXID0gdG1wVyArIGlubGluZUxvZ2ljYWxXaWR0aChvLCAhYXBwbGll
ZFN0YXJ0V2lkdGgsIHRydWUpOworICAgICAgICAgICAgZmxvYXQgY2hhcldpZHRoID0gMDsKICAg
ICAgICAgICAgIGJvb2wgYnJlYWtOQlNQID0gYXV0b1dyYXAgJiYgby0+c3R5bGUoKS0+bmJzcE1v
ZGUoKSA9PSBTUEFDRTsKICAgICAgICAgICAgIC8vIEF1dG8td3JhcHBpbmcgdGV4dCBzaG91bGQg
d3JhcCBpbiB0aGUgbWlkZGxlIG9mIGEgd29yZCBvbmx5IGlmIGl0IGNvdWxkIG5vdCB3cmFwIGJl
Zm9yZSB0aGUgd29yZCwKICAgICAgICAgICAgIC8vIHdoaWNoIGlzIG9ubHkgcG9zc2libGUgaWYg
dGhlIHdvcmQgaXMgdGhlIGZpcnN0IHRoaW5nIG9uIHRoZSBsaW5lLCB0aGF0IGlzLCBpZiB8d3wg
aXMgemVyby4KICAgICAgICAgICAgIGJvb2wgYnJlYWtXb3JkcyA9IG8tPnN0eWxlKCktPmJyZWFr
V29yZHMoKSAmJiAoKGF1dG9XcmFwICYmICF3KSB8fCBjdXJyV1MgPT0gUFJFKTsKICAgICAgICAg
ICAgIGJvb2wgbWlkV29yZEJyZWFrID0gZmFsc2U7CiAgICAgICAgICAgICBib29sIGJyZWFrQWxs
ID0gby0+c3R5bGUoKS0+d29yZEJyZWFrKCkgPT0gQnJlYWtBbGxXb3JkQnJlYWsgJiYgYXV0b1dy
YXA7Ci0gICAgICAgICAgICBpbnQgaHlwaGVuV2lkdGggPSAwOworICAgICAgICAgICAgZmxvYXQg
aHlwaGVuV2lkdGggPSAwOwogCiAgICAgICAgICAgICBpZiAodC0+aXNXb3JkQnJlYWsoKSkgewog
ICAgICAgICAgICAgICAgIHcgKz0gdG1wVzsKQEAgLTE3NDMsNyArMTc0Myw3IEBAIElubGluZUl0
ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4dExpbmUKICAgICAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgICAgIGludCBhZGRp
dGlvbmFsVG1wVzsKKyAgICAgICAgICAgICAgICAgICAgZmxvYXQgYWRkaXRpb25hbFRtcFc7CiAg
ICAgICAgICAgICAgICAgICAgIGlmICh3b3JkVHJhaWxpbmdTcGFjZVdpZHRoICYmIGN1cnJlbnRD
aGFyYWN0ZXJJc1NwYWNlKQogICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFRtcFcg
PSB0ZXh0V2lkdGgodCwgbGFzdFNwYWNlLCBwb3MgKyAxIC0gbGFzdFNwYWNlLCBmLCB3ICsgdG1w
VywgaXNGaXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UpIC0gd29yZFRyYWlsaW5nU3BhY2VX
aWR0aCArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOwogICAgICAgICAgICAgICAgICAgICBlbHNlCkBA
IC0xODkzLDcgKzE4OTMsNyBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9jazo6ZmluZE5leHRM
aW5lCiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIElNUE9SVEFOVDogcG9zIGlzID4g
bGVuZ3RoIGhlcmUhCi0gICAgICAgICAgICBpbnQgYWRkaXRpb25hbFRtcFcgPSBpZ25vcmluZ1Nw
YWNlcyA/IDAgOiB0ZXh0V2lkdGgodCwgbGFzdFNwYWNlLCBwb3MgLSBsYXN0U3BhY2UsIGYsIHcg
KyB0bXBXLCBpc0ZpeGVkUGl0Y2gsIGNvbGxhcHNlV2hpdGVTcGFjZSkgKyBsYXN0U3BhY2VXb3Jk
U3BhY2luZzsKKyAgICAgICAgICAgIGZsb2F0IGFkZGl0aW9uYWxUbXBXID0gaWdub3JpbmdTcGFj
ZXMgPyAwIDogdGV4dFdpZHRoKHQsIGxhc3RTcGFjZSwgcG9zIC0gbGFzdFNwYWNlLCBmLCB3ICsg
dG1wVywgaXNGaXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UpICsgbGFzdFNwYWNlV29yZFNw
YWNpbmc7CiAgICAgICAgICAgICB0bXBXICs9IGFkZGl0aW9uYWxUbXBXOwogICAgICAgICAgICAg
dG1wVyArPSBpbmxpbmVMb2dpY2FsV2lkdGgobywgIWFwcGxpZWRTdGFydFdpZHRoLCB0cnVlKTsK
IApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9uIDc4
MjcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEzMjksNyArMTMyOSw3IEBAIHZvaWQgUmVuZGVyQm94Ojpwb3NpdGlvbkxpbmVC
b3goSW5saW5lQm8KICAgICAgICAgYm94LT5yZW1vdmUoKTsKICAgICAgICAgYm94LT5kZXN0cm95
KHJlbmRlckFyZW5hKCkpOwogICAgIH0gZWxzZSBpZiAoaXNSZXBsYWNlZCgpKSB7Ci0gICAgICAg
IHNldExvY2F0aW9uKGJveC0+eCgpLCBib3gtPnkoKSk7CisgICAgICAgIHNldExvY2F0aW9uKGxy
b3VuZGYoYm94LT54KCkpLCBscm91bmRmKGJveC0+eSgpKSk7CiAgICAgICAgIG1faW5saW5lQm94
V3JhcHBlciA9IGJveDsKICAgICB9CiB9CkBAIC0zMzQ4LDYgKzMzNDgsMjQgQEAgSW50U2l6ZSBS
ZW5kZXJCb3g6OmZsaXBGb3JXcml0aW5nTW9kZShjbwogICAgIHJldHVybiBzdHlsZSgpLT5pc0hv
cml6b250YWxXcml0aW5nTW9kZSgpID8gSW50U2l6ZShvZmZzZXQud2lkdGgoKSwgaGVpZ2h0KCkg
LSBvZmZzZXQuaGVpZ2h0KCkpIDogSW50U2l6ZSh3aWR0aCgpIC0gb2Zmc2V0LndpZHRoKCksIG9m
ZnNldC5oZWlnaHQoKSk7CiB9CiAKK0Zsb2F0UG9pbnQgUmVuZGVyQm94OjpmbGlwRm9yV3JpdGlu
Z01vZGUoY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24pIGNvbnN0Cit7CisgICAgaWYgKCFzdHls
ZSgpLT5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQorICAgICAgICByZXR1cm4gcG9zaXRp
b247CisgICAgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBGbG9h
dFBvaW50KHBvc2l0aW9uLngoKSwgaGVpZ2h0KCkgLSBwb3NpdGlvbi55KCkpIDogRmxvYXRQb2lu
dCh3aWR0aCgpIC0gcG9zaXRpb24ueCgpLCBwb3NpdGlvbi55KCkpOworfQorCit2b2lkIFJlbmRl
ckJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKK3sKKyAgICBp
ZiAoIXN0eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIGlmIChzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQorICAgICAg
ICByZWN0LnNldFkoaGVpZ2h0KCkgLSByZWN0Lm1heFkoKSk7CisgICAgZWxzZQorICAgICAgICBy
ZWN0LnNldFgod2lkdGgoKSAtIHJlY3QubWF4WCgpKTsKK30KKwogSW50U2l6ZSBSZW5kZXJCb3g6
OmxvY2F0aW9uT2Zmc2V0SW5jbHVkaW5nRmxpcHBpbmcoKSBjb25zdAogewogICAgIGlmICghcGFy
ZW50KCkgfHwgIXBhcmVudCgpLT5pc0JveCgpKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guaAkocmV2aXNpb24gNzgyNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4NSw2ICszODUsOCBAQCBwdWJsaWM6CiAg
ICAgSW50UG9pbnQgZmxpcEZvcldyaXRpbmdNb2RlSW5jbHVkaW5nQ29sdW1ucyhjb25zdCBJbnRQ
b2ludCYpIGNvbnN0OwogICAgIEludFNpemUgZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEludFNp
emUmKSBjb25zdDsKICAgICB2b2lkIGZsaXBGb3JXcml0aW5nTW9kZShJbnRSZWN0JikgY29uc3Q7
CisgICAgRmxvYXRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgRmxvYXRQb2ludCYpIGNv
bnN0OworICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0UmVjdCYpIGNvbnN0OwogICAg
IEludFNpemUgbG9jYXRpb25PZmZzZXRJbmNsdWRpbmdGbGlwcGluZygpIGNvbnN0OwogCiAgICAg
SW50UmVjdCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24oUmVuZGVyU3R5
bGUqKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5l
VGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNv
bWJpbmVUZXh0LmNwcAkocmV2aXNpb24gNzgyNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQ29tYmluZVRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw3IEBA
IHZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OnNldFRleHRJbnRlcm5hbCgKICAgICBtX25lZWRzRm9u
dFVwZGF0ZSA9IHRydWU7CiB9CiAKLXVuc2lnbmVkIFJlbmRlckNvbWJpbmVUZXh0Ojp3aWR0aCh1
bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnQmIGZvbnQsIGludCB4UG9z
aXRpb24sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5
cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKK2Zsb2F0IFJlbmRlckNvbWJpbmVUZXh0
Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnQmIGZvbnQs
IGZsb2F0IHhQb3NpdGlvbiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFj
a0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAogewogICAgIGlmICgh
Y2hhcmFjdGVycygpKQogICAgICAgICByZXR1cm4gMDsKQEAgLTYzLDcgKzYzLDcgQEAgdW5zaWdu
ZWQgUmVuZGVyQ29tYmluZVRleHQ6OndpZHRoKHVuc2lnbgogICAgIHJldHVybiBSZW5kZXJUZXh0
Ojp3aWR0aChmcm9tLCBsZW5ndGgsIGZvbnQsIHhQb3NpdGlvbiwgZmFsbGJhY2tGb250cywgZ2x5
cGhPdmVyZmxvdyk7CiB9CiAKLXZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OmFkanVzdFRleHRPcmln
aW4oSW50UG9pbnQmIHRleHRPcmlnaW4sIGNvbnN0IEludFJlY3QmIGJveFJlY3QpIGNvbnN0Cit2
b2lkIFJlbmRlckNvbWJpbmVUZXh0OjphZGp1c3RUZXh0T3JpZ2luKEZsb2F0UG9pbnQmIHRleHRP
cmlnaW4sIGNvbnN0IEZsb2F0UmVjdCYgYm94UmVjdCkgY29uc3QKIHsKICAgICBpZiAobV9pc0Nv
bWJpbmVkKQogICAgICAgICB0ZXh0T3JpZ2luLm1vdmUoYm94UmVjdC5oZWlnaHQoKSAvIDIgLSBj
ZWlsZihtX2NvbWJpbmVkVGV4dFdpZHRoKSAvIDIsIHN0eWxlKCktPmZvbnQoKS5waXhlbFNpemUo
KSk7CkBAIC05OCw3ICs5OCw3IEBAIHZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OmNvbWJpbmVUZXh0
KCkKICAgICBib29sIHNob3VsZFVwZGF0ZUZvbnQgPSBmYWxzZTsKIAogICAgIGRlc2NyaXB0aW9u
LnNldE9yaWVudGF0aW9uKEhvcml6b250YWwpOyAvLyBXZSBhcmUgZ29pbmcgdG8gZHJhdyBjb21i
aW5lZCB0ZXh0IGhvcml6b250YWxseS4KLSAgICBtX2NvbWJpbmVkVGV4dFdpZHRoID0gc3R5bGUo
KS0+Zm9udCgpLmZsb2F0V2lkdGgocnVuKTsKKyAgICBtX2NvbWJpbmVkVGV4dFdpZHRoID0gc3R5
bGUoKS0+Zm9udCgpLndpZHRoKHJ1bik7CiAgICAgbV9pc0NvbWJpbmVkID0gbV9jb21iaW5lZFRl
eHRXaWR0aCA8PSBlbVdpZHRoOwogCiAgICAgaWYgKG1faXNDb21iaW5lZCkKQEAgLTExMCw3ICsx
MTAsNyBAQCB2b2lkIFJlbmRlckNvbWJpbmVUZXh0Ojpjb21iaW5lVGV4dCgpCiAgICAgICAgICAg
ICBkZXNjcmlwdGlvbi5zZXRXaWR0aFZhcmlhbnQod2lkdGhWYXJpYW50c1tpXSk7CiAgICAgICAg
ICAgICBGb250IGNvbXByZXNzZWRGb250ID0gRm9udChkZXNjcmlwdGlvbiwgc3R5bGUoKS0+Zm9u
dCgpLmxldHRlclNwYWNpbmcoKSwgc3R5bGUoKS0+Zm9udCgpLndvcmRTcGFjaW5nKCkpOwogICAg
ICAgICAgICAgY29tcHJlc3NlZEZvbnQudXBkYXRlKHN0eWxlKCktPmZvbnQoKS5mb250U2VsZWN0
b3IoKSk7Ci0gICAgICAgICAgICBmbG9hdCBydW5XaWR0aCA9IGNvbXByZXNzZWRGb250LmZsb2F0
V2lkdGgocnVuKTsKKyAgICAgICAgICAgIGZsb2F0IHJ1bldpZHRoID0gY29tcHJlc3NlZEZvbnQu
d2lkdGgocnVuKTsKICAgICAgICAgICAgIGlmIChydW5XaWR0aCA8PSBlbVdpZHRoKSB7CiAgICAg
ICAgICAgICAgICAgbV9jb21iaW5lZFRleHRXaWR0aCA9IHJ1bldpZHRoOwogICAgICAgICAgICAg
ICAgIG1faXNDb21iaW5lZCA9IHRydWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQ29tYmluZVRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQ29tYmluZVRleHQuaAkocmV2aXNpb24gNzgyNzEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTMg
KzMwLDEzIEBAIHB1YmxpYzoKICAgICBSZW5kZXJDb21iaW5lVGV4dChOb2RlKiwgUGFzc1JlZlB0
cjxTdHJpbmdJbXBsPik7CiAKICAgICB2b2lkIGNvbWJpbmVUZXh0KCk7Ci0gICAgdm9pZCBhZGp1
c3RUZXh0T3JpZ2luKEludFBvaW50JiB0ZXh0T3JpZ2luLCBjb25zdCBJbnRSZWN0JiBib3hSZWN0
KSBjb25zdDsKKyAgICB2b2lkIGFkanVzdFRleHRPcmlnaW4oRmxvYXRQb2ludCYgdGV4dE9yaWdp
biwgY29uc3QgRmxvYXRSZWN0JiBib3hSZWN0KSBjb25zdDsKICAgICB2b2lkIGNoYXJhY3RlcnNU
b1JlbmRlcihpbnQgc3RhcnQsIGNvbnN0IFVDaGFyKiYgY2hhcmFjdGVycywgaW50JiBsZW5ndGgp
IGNvbnN0OwogICAgIGJvb2wgaXNDb21iaW5lZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNDb21iaW5l
ZDsgfQotICAgIGludCBjb21iaW5lZFRleHRXaWR0aChjb25zdCBGb250JiBmb250KSBjb25zdCB7
IHJldHVybiBmb250LnNpemUoKTsgfQorICAgIGZsb2F0IGNvbWJpbmVkVGV4dFdpZHRoKGNvbnN0
IEZvbnQmIGZvbnQpIGNvbnN0IHsgcmV0dXJuIGZvbnQuc2l6ZSgpOyB9CiAKIHByaXZhdGU6Ci0g
ICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgs
IGNvbnN0IEZvbnQmLCBpbnQgeFBvc2l0aW9uLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRh
Kj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0OworICAgIHZp
cnR1YWwgZmxvYXQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBG
b250JiwgZmxvYXQgeFBvc2l0aW9uLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZh
bGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0OwogICAgIHZpcnR1YWwg
Y29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJDb21iaW5lVGV4
dCI7IH0KICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBj
b25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0SW50
ZXJuYWwoUGFzc1JlZlB0cjxTdHJpbmdJbXBsPik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAJKHJldmlzaW9uIDc4MjcxKQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTk5LDggKzE5OSw3IEBAIGJvb2wgUmVuZGVyRW1iZWRkZWRPYmplY3Q6
OmdldFJlcGxhY2VtZW4KICAgICBmb250LnVwZGF0ZSgwKTsKICAgICAKICAgICBydW4gPSBUZXh0
UnVuKG1fcmVwbGFjZW1lbnRUZXh0LmNoYXJhY3RlcnMoKSwgbV9yZXBsYWNlbWVudFRleHQubGVu
Z3RoKCkpOwotICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotICAgIHRleHRXaWR0aCA9
IGZvbnQuZmxvYXRXaWR0aChydW4pOworICAgIHRleHRXaWR0aCA9IGZvbnQud2lkdGgocnVuKTsK
ICAgICAKICAgICByZXBsYWNlbWVudFRleHRSZWN0LnNldFNpemUoRmxvYXRTaXplKHRleHRXaWR0
aCArIHJlcGxhY2VtZW50VGV4dFJvdW5kZWRSZWN0TGVmdFJpZ2h0VGV4dE1hcmdpbiAqIDIsIHJl
cGxhY2VtZW50VGV4dFJvdW5kZWRSZWN0SGVpZ2h0KSk7CiAgICAgZmxvYXQgeCA9IChjb250ZW50
UmVjdC5zaXplKCkud2lkdGgoKSAvIDIgLSByZXBsYWNlbWVudFRleHRSZWN0LnNpemUoKS53aWR0
aCgpIC8gMikgKyBjb250ZW50UmVjdC5sb2NhdGlvbigpLngoKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAkocmV2
aXNpb24gNzgyNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9h
ZENvbnRyb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzMsNyArMjczLDcgQEAgdm9pZCBSZW5k
ZXJGaWxlVXBsb2FkQ29udHJvbDo6Y29tcHV0ZVByZQogICAgICAgICAvLyBGaWd1cmUgb3V0IGhv
dyBiaWcgdGhlIGZpbGVuYW1lIHNwYWNlIG5lZWRzIHRvIGJlIGZvciBhIGdpdmVuIG51bWJlciBv
ZiBjaGFyYWN0ZXJzCiAgICAgICAgIC8vICh1c2luZyAiMCIgYXMgdGhlIG5vbWluYWwgY2hhcmFj
dGVyKS4KICAgICAgICAgY29uc3QgVUNoYXIgY2ggPSAnMCc7Ci0gICAgICAgIGZsb2F0IGNoYXJX
aWR0aCA9IHN0eWxlKCktPmZvbnQoKS5mbG9hdFdpZHRoKFRleHRSdW4oJmNoLCAxLCBmYWxzZSwg
MCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgZmFsc2UsIGZhbHNlLCBmYWxz
ZSkpOworICAgICAgICBmbG9hdCBjaGFyV2lkdGggPSBzdHlsZSgpLT5mb250KCkud2lkdGgoVGV4
dFJ1bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9u
LCBmYWxzZSkpOwogICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IChpbnQpY2Vp
bGYoY2hhcldpZHRoICogZGVmYXVsdFdpZHRoTnVtQ2hhcnMpOwogICAgIH0KIApJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCShyZXZpc2lvbiA3ODI3MSkKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTgxLDcgKzgxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHNob3J0IHBhZGRpbmdIZWln
aAogCiAvLyBBbHQgdGV4dCBpcyByZXN0cmljdGVkIHRvIHRoaXMgbWF4aW11bSBzaXplLCBpbiBw
aXhlbHMuICBUaGVzZSBhcmUKIC8vIHNpZ25lZCBpbnRlZ2VycyBiZWNhdXNlIHRoZXkgYXJlIGNv
bXBhcmVkIHdpdGggb3RoZXIgc2lnbmVkIHZhbHVlcy4KLXN0YXRpYyBjb25zdCBpbnQgbWF4QWx0
VGV4dFdpZHRoID0gMTAyNDsKK3N0YXRpYyBjb25zdCBmbG9hdCBtYXhBbHRUZXh0V2lkdGggPSAx
MDI0Owogc3RhdGljIGNvbnN0IGludCBtYXhBbHRUZXh0SGVpZ2h0ID0gMjU2OwogCiBJbnRTaXpl
IFJlbmRlckltYWdlOjppbWFnZVNpemVGb3JFcnJvcihDYWNoZWRJbWFnZSogbmV3SW1hZ2UpIGNv
bnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAkocmV2
aXNpb24gNzgyNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtOTYzLDggKzk2Myw4IEBAIHZvaWQgUmVuZGVySW5saW5lOjph
ZGRGb2N1c1JpbmdSZWN0cyhWZWMKIHsKICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1cnIgPSBm
aXJzdExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkpIHsKICAgICAg
ICAgUm9vdElubGluZUJveCogcm9vdCA9IGN1cnItPnJvb3QoKTsKLSAgICAgICAgaW50IHRvcCA9
IG1heChyb290LT5saW5lVG9wKCksIGN1cnItPnkoKSk7Ci0gICAgICAgIGludCBib3R0b20gPSBt
aW4ocm9vdC0+bGluZUJvdHRvbSgpLCBjdXJyLT55KCkgKyBjdXJyLT5sb2dpY2FsSGVpZ2h0KCkp
OworICAgICAgICBpbnQgdG9wID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+bG9naWNhbFRv
cCgpKTsKKyAgICAgICAgaW50IGJvdHRvbSA9IG1pbihyb290LT5saW5lQm90dG9tKCksIGN1cnIt
PmxvZ2ljYWxCb3R0b20oKSk7CiAgICAgICAgIEludFJlY3QgcmVjdCh0eCArIGN1cnItPngoKSwg
dHkgKyB0b3AsIGN1cnItPmxvZ2ljYWxXaWR0aCgpLCBib3R0b20gLSB0b3ApOwogICAgICAgICBp
ZiAoIXJlY3QuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmVjdHMuYXBwZW5kKHJlY3QpOwpAQCAt
MTAxNSw4ICsxMDE1LDggQEAgdm9pZCBSZW5kZXJJbmxpbmU6OnBhaW50T3V0bGluZShHcmFwaGlj
cwogICAgIHJlY3RzLmFwcGVuZChJbnRSZWN0KCkpOwogICAgIGZvciAoSW5saW5lRmxvd0JveCog
Y3VyciA9IGZpcnN0TGluZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dExpbmVCb3goKSkg
ewogICAgICAgICBSb290SW5saW5lQm94KiByb290ID0gY3Vyci0+cm9vdCgpOwotICAgICAgICBp
bnQgdG9wID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+eSgpKTsKLSAgICAgICAgaW50IGJv
dHRvbSA9IG1pbihyb290LT5saW5lQm90dG9tKCksIGN1cnItPnkoKSArIGN1cnItPmxvZ2ljYWxI
ZWlnaHQoKSk7CisgICAgICAgIGludCB0b3AgPSBtYXgocm9vdC0+bGluZVRvcCgpLCBjdXJyLT5s
b2dpY2FsVG9wKCkpOworICAgICAgICBpbnQgYm90dG9tID0gbWluKHJvb3QtPmxpbmVCb3R0b20o
KSwgY3Vyci0+bG9naWNhbEJvdHRvbSgpKTsKICAgICAgICAgcmVjdHMuYXBwZW5kKEludFJlY3Qo
Y3Vyci0+eCgpLCB0b3AsIGN1cnItPmxvZ2ljYWxXaWR0aCgpLCBib3R0b20gLSB0b3ApKTsKICAg
ICB9CiAgICAgcmVjdHMuYXBwZW5kKEludFJlY3QoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCShyZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEx
LDcgKzExMSw3IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6dXBkYXRlRnJvbUVsZW1lbnQoKQogICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKCF0ZXh0LmlzRW1w
dHkoKSkgewotICAgICAgICAgICAgICAgIGZsb2F0IHRleHRXaWR0aCA9IGl0ZW1Gb250LmZsb2F0
V2lkdGgoVGV4dFJ1bih0ZXh0LmltcGwoKSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJh
aWxpbmdFeHBhbnNpb24sIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSk7CisgICAgICAgICAg
ICAgICAgZmxvYXQgdGV4dFdpZHRoID0gaXRlbUZvbnQud2lkdGgoVGV4dFJ1bih0ZXh0LmltcGwo
KSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlLCBm
YWxzZSkpOwogICAgICAgICAgICAgICAgIHdpZHRoID0gbWF4KHdpZHRoLCB0ZXh0V2lkdGgpOwog
ICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0zMzMsNyArMzMzLDcgQEAgdm9pZCBSZW5kZXJM
aXN0Qm94OjpwYWludEl0ZW1Gb3JlZ3JvdW5kKAogCiAgICAgdW5zaWduZWQgbGVuZ3RoID0gaXRl
bVRleHQubGVuZ3RoKCk7CiAgICAgY29uc3QgVUNoYXIqIHN0cmluZyA9IGl0ZW1UZXh0LmNoYXJh
Y3RlcnMoKTsKLSAgICBUZXh0UnVuIHRleHRSdW4oc3RyaW5nLCBsZW5ndGgsIGZhbHNlLCAwLCAw
LCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCAhaXRlbVN0eWxlLT5pc0xlZnRUb1Jp
Z2h0RGlyZWN0aW9uKCksIGl0ZW1TdHlsZS0+dW5pY29kZUJpZGkoKSA9PSBPdmVycmlkZSwgZmFs
c2UsIGZhbHNlKTsKKyAgICBUZXh0UnVuIHRleHRSdW4oc3RyaW5nLCBsZW5ndGgsIGZhbHNlLCAw
LCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCAhaXRlbVN0eWxlLT5pc0xlZnRU
b1JpZ2h0RGlyZWN0aW9uKCksIGl0ZW1TdHlsZS0+dW5pY29kZUJpZGkoKSA9PSBPdmVycmlkZSk7
CiAKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRleHQKICAgICBpZiAoaXRlbVN0eWxlLT52aXNpYmls
aXR5KCkgIT0gSElEREVOKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1l
bnVMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWVudUxpc3QuY3BwCShyZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNZW51TGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1MywxMCArMTUzLDEwIEBA
IHZvaWQgUmVuZGVyTWVudUxpc3Q6OnVwZGF0ZU9wdGlvbnNXaWR0aCgKICAgICAgICAgICAgIGlm
IChSZW5kZXJTdHlsZSogb3B0aW9uU3R5bGUgPSBlbGVtZW50LT5yZW5kZXJTdHlsZSgpKQogICAg
ICAgICAgICAgICAgIG9wdGlvbldpZHRoICs9IG9wdGlvblN0eWxlLT50ZXh0SW5kZW50KCkuY2Fs
Y01pblZhbHVlKDApOwogICAgICAgICAgICAgaWYgKCF0ZXh0LmlzRW1wdHkoKSkKLSAgICAgICAg
ICAgICAgICBvcHRpb25XaWR0aCArPSBzdHlsZSgpLT5mb250KCkuZmxvYXRXaWR0aCh0ZXh0KTsK
KyAgICAgICAgICAgICAgICBvcHRpb25XaWR0aCArPSBzdHlsZSgpLT5mb250KCkud2lkdGgodGV4
dCk7CiAgICAgICAgICAgICBtYXhPcHRpb25XaWR0aCA9IG1heChtYXhPcHRpb25XaWR0aCwgb3B0
aW9uV2lkdGgpOwogICAgICAgICB9IGVsc2UgaWYgKCF0ZXh0LmlzRW1wdHkoKSkKLSAgICAgICAg
ICAgIG1heE9wdGlvbldpZHRoID0gbWF4KG1heE9wdGlvbldpZHRoLCBzdHlsZSgpLT5mb250KCku
ZmxvYXRXaWR0aCh0ZXh0KSk7CisgICAgICAgICAgICBtYXhPcHRpb25XaWR0aCA9IG1heChtYXhP
cHRpb25XaWR0aCwgc3R5bGUoKS0+Zm9udCgpLndpZHRoKHRleHQpKTsKICAgICB9CiAKICAgICBp
bnQgd2lkdGggPSBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKG1heE9wdGlvbldpZHRoKSk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCShyZXZpc2lvbiA3ODI3MSkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTYwLDcgKzU2MCw3IEBAIEludFJlY3QgUmVuZGVyVGV4dDo6bG9jYWxDYXJldFJlY3Qo
SW5saW4KICAgICByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IElu
dFJlY3QobGVmdCwgdG9wLCBjYXJldFdpZHRoLCBoZWlnaHQpIDogSW50UmVjdCh0b3AsIGxlZnQs
IGhlaWdodCwgY2FyZXRXaWR0aCk7CiB9CiAKLUFMV0FZU19JTkxJTkUgaW50IFJlbmRlclRleHQ6
OndpZHRoRnJvbUNhY2hlKGNvbnN0IEZvbnQmIGYsIGludCBzdGFydCwgaW50IGxlbiwgaW50IHhQ
b3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhP
dmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKK0FMV0FZU19JTkxJTkUgZmxvYXQgUmVuZGVy
VGV4dDo6d2lkdGhGcm9tQ2FjaGUoY29uc3QgRm9udCYgZiwgaW50IHN0YXJ0LCBpbnQgbGVuLCBm
bG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMs
IEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CiB7CiAgICAgaWYgKHN0eWxlKCkt
Pmhhc1RleHRDb21iaW5lKCkpIHsKICAgICAgICAgY29uc3QgUmVuZGVyQ29tYmluZVRleHQqIGNv
bWJpbmVUZXh0ID0gdG9SZW5kZXJDb21iaW5lVGV4dCh0aGlzKTsKQEAgLTU2OSw5ICs1NjksOSBA
QCBBTFdBWVNfSU5MSU5FIGludCBSZW5kZXJUZXh0Ojp3aWR0aEZyb21DCiAgICAgfQogCiAgICAg
aWYgKGYuaXNGaXhlZFBpdGNoKCkgJiYgIWYuaXNTbWFsbENhcHMoKSAmJiBtX2lzQWxsQVNDSUkp
IHsKLSAgICAgICAgaW50IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoID0gZi5zcGFjZVdpZHRoKCk7
Ci0gICAgICAgIGludCB0YWJXaWR0aCA9IGFsbG93VGFicygpID8gbW9ub3NwYWNlQ2hhcmFjdGVy
V2lkdGggKiA4IDogMDsKLSAgICAgICAgaW50IHcgPSAwOworICAgICAgICBmbG9hdCBtb25vc3Bh
Y2VDaGFyYWN0ZXJXaWR0aCA9IGYuc3BhY2VXaWR0aCgpOworICAgICAgICBmbG9hdCB0YWJXaWR0
aCA9IGFsbG93VGFicygpID8gbW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGggKiA4IDogMDsKKyAgICAg
ICAgZmxvYXQgdyA9IDA7CiAgICAgICAgIGJvb2wgaXNTcGFjZTsKICAgICAgICAgYm9vbCBwcmV2
aW91c0NoYXJXYXNTcGFjZSA9IHRydWU7IC8vIEZJWE1FOiBQcmVzZXJ2ZXMgaGlzdG9yaWNhbCBi
ZWhhdmlvciwgYnV0IHNlZW1zIHdyb25nIGZvciBzdGFydCA+IDAuCiAgICAgICAgIEFTU0VSVCht
X3RleHQpOwpAQCAtNTgzLDcgKzU4Myw3IEBAIEFMV0FZU19JTkxJTkUgaW50IFJlbmRlclRleHQ6
OndpZHRoRnJvbUMKICAgICAgICAgICAgICAgICAgICAgdyArPSBtb25vc3BhY2VDaGFyYWN0ZXJX
aWR0aDsKICAgICAgICAgICAgICAgICAgICAgaXNTcGFjZSA9IHRydWU7CiAgICAgICAgICAgICAg
ICAgfSBlbHNlIGlmIChjID09ICdcdCcpIHsKLSAgICAgICAgICAgICAgICAgICAgdyArPSB0YWJX
aWR0aCA/IHRhYldpZHRoIC0gKCh4UG9zICsgdykgJSB0YWJXaWR0aCkgOiBtb25vc3BhY2VDaGFy
YWN0ZXJXaWR0aDsKKyAgICAgICAgICAgICAgICAgICAgdyArPSB0YWJXaWR0aCA/IHRhYldpZHRo
IC0gZm1vZGYoeFBvcyArIHcsIHRhYldpZHRoKSA6IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoOwog
ICAgICAgICAgICAgICAgICAgICBpc1NwYWNlID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9IGVs
c2UKICAgICAgICAgICAgICAgICAgICAgaXNTcGFjZSA9IGZhbHNlOwpAQCAtNjAxLDEyICs2MDEs
MTIgQEAgQUxXQVlTX0lOTElORSBpbnQgUmVuZGVyVGV4dDo6d2lkdGhGcm9tQwogICAgIHJldHVy
biBmLndpZHRoKFRleHRSdW4odGV4dCgpLT5jaGFyYWN0ZXJzKCkgKyBzdGFydCwgbGVuLCBhbGxv
d1RhYnMoKSwgeFBvcyksIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQogCi12b2lk
IFJlbmRlclRleHQ6OnRyaW1tZWRQcmVmV2lkdGhzKGludCBsZWFkV2lkdGgsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgYmVnaW5NaW5XLCBib29sJiBiZWdpbldTLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGVuZE1pblcsIGJvb2wmIGVu
ZFdTLAordm9pZCBSZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldpZHRocyhmbG9hdCBsZWFkV2lkdGgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBiZWdpbk1pblcsIGJv
b2wmIGJlZ2luV1MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBl
bmRNaW5XLCBib29sJiBlbmRXUywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ym9vbCYgaGFzQnJlYWthYmxlQ2hhciwgYm9vbCYgaGFzQnJlYWssCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCYgYmVnaW5NYXhXLCBpbnQmIGVuZE1heFcsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgbWluVywgaW50JiBtYXhXLCBib29sJiBz
dHJpcEZyb250U3BhY2VzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9h
dCYgYmVnaW5NYXhXLCBmbG9hdCYgZW5kTWF4VywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZmxvYXQmIG1pblcsIGZsb2F0JiBtYXhXLCBib29sJiBzdHJpcEZyb250U3BhY2Vz
KQogewogICAgIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlID0gc3R5bGUoKS0+Y29sbGFwc2VXaGl0
ZVNwYWNlKCk7CiAgICAgaWYgKCFjb2xsYXBzZVdoaXRlU3BhY2UpCkBAIC02NDYsNyArNjQ2LDcg
QEAgdm9pZCBSZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldpZHRocyhpbnQgbAogICAgICAgICBjb25z
dCBGb250JiBmID0gc3R5bGUoKS0+Zm9udCgpOyAvLyBGSVhNRTogVGhpcyBpZ25vcmVzIGZpcnN0
LWxpbmUuCiAgICAgICAgIGlmIChzdHJpcEZyb250U3BhY2VzKSB7CiAgICAgICAgICAgICBjb25z
dCBVQ2hhciBzcGFjZSA9ICcgJzsKLSAgICAgICAgICAgIGludCBzcGFjZVdpZHRoID0gZi53aWR0
aChUZXh0UnVuKCZzcGFjZSwgMSkpOworICAgICAgICAgICAgZmxvYXQgc3BhY2VXaWR0aCA9IGYu
d2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKTsKICAgICAgICAgICAgIG1heFcgLT0gc3BhY2VXaWR0
aDsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBtYXhXICs9IGYud29yZFNwYWNpbmcoKTsK
QEAgLTY5NSwyMyArNjk1LDIzIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1NwYWNlQWNjb3JkaW5n
VG9TdHkKICAgICByZXR1cm4gYyA9PSAnICcgfHwgKGMgPT0gbm9CcmVha1NwYWNlICYmIHN0eWxl
LT5uYnNwTW9kZSgpID09IFNQQUNFKTsKIH0KIAotaW50IFJlbmRlclRleHQ6Om1pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCgpIGNvbnN0CitmbG9hdCBSZW5kZXJUZXh0OjptaW5Mb2dpY2FsV2lkdGgo
KSBjb25zdAogewogICAgIGlmIChwcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkoKSkKLSAgICAg
ICAgY29uc3RfY2FzdDxSZW5kZXJUZXh0Kj4odGhpcyktPmNvbXB1dGVQcmVmZXJyZWRMb2dpY2Fs
V2lkdGhzKDApOworICAgICAgICBjb25zdF9jYXN0PFJlbmRlclRleHQqPih0aGlzKS0+Y29tcHV0
ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoMC5mKTsKICAgICAgICAgCiAgICAgcmV0dXJuIG1fbWlu
V2lkdGg7CiB9CiAKLWludCBSZW5kZXJUZXh0OjptYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBj
b25zdAorZmxvYXQgUmVuZGVyVGV4dDo6bWF4TG9naWNhbFdpZHRoKCkgY29uc3QKIHsKICAgICBp
ZiAocHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KCkpCi0gICAgICAgIGNvbnN0X2Nhc3Q8UmVu
ZGVyVGV4dCo+KHRoaXMpLT5jb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygwKTsKKyAgICAg
ICAgY29uc3RfY2FzdDxSZW5kZXJUZXh0Kj4odGhpcyktPmNvbXB1dGVQcmVmZXJyZWRMb2dpY2Fs
V2lkdGhzKDAuZik7CiAgICAgICAgIAogICAgIHJldHVybiBtX21heFdpZHRoOwogfQogCi12b2lk
IFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGludCBsZWFkV2lkdGgp
Cit2b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxl
YWRXaWR0aCkKIHsKICAgICBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4gZmFsbGJhY2tG
b250czsKICAgICBHbHlwaE92ZXJmbG93IGdseXBoT3ZlcmZsb3c7CkBAIC03MjAsNyArNzIwLDcg
QEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbAogICAgICAgICBtX2tu
b3duVG9IYXZlTm9PdmVyZmxvd0FuZE5vRmFsbGJhY2tGb250cyA9IHRydWU7CiB9CiAKLXZvaWQg
UmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRXaWR0aCwg
SGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJm
bG93JiBnbHlwaE92ZXJmbG93KQordm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9n
aWNhbFdpZHRocyhmbG9hdCBsZWFkV2lkdGgsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEq
PiYgZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyYgZ2x5cGhPdmVyZmxvdykKIHsKICAgICBB
U1NFUlQobV9oYXNUYWIgfHwgcHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KCkgfHwgIW1fa25v
d25Ub0hhdmVOb092ZXJmbG93QW5kTm9GYWxsYmFja0ZvbnRzKTsKIApAQCAtNzMyLDggKzczMiw4
IEBAIHZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWwKICAgICBpZiAoaXNC
UigpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpbnQgY3Vyck1pbldpZHRoID0gMDsKLSAgICBp
bnQgY3Vyck1heFdpZHRoID0gMDsKKyAgICBmbG9hdCBjdXJyTWluV2lkdGggPSAwOworICAgIGZs
b2F0IGN1cnJNYXhXaWR0aCA9IDA7CiAgICAgbV9oYXNCcmVha2FibGVDaGFyID0gZmFsc2U7CiAg
ICAgbV9oYXNCcmVhayA9IGZhbHNlOwogICAgIG1faGFzVGFiID0gZmFsc2U7CkBAIC03NDEsNyAr
NzQxLDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbAogICAgIG1f
aGFzRW5kV1MgPSBmYWxzZTsKIAogICAgIGNvbnN0IEZvbnQmIGYgPSBzdHlsZSgpLT5mb250KCk7
IC8vIEZJWE1FOiBUaGlzIGlnbm9yZXMgZmlyc3QtbGluZS4KLSAgICBpbnQgd29yZFNwYWNpbmcg
PSBzdHlsZSgpLT53b3JkU3BhY2luZygpOworICAgIGZsb2F0IHdvcmRTcGFjaW5nID0gc3R5bGUo
KS0+d29yZFNwYWNpbmcoKTsKICAgICBpbnQgbGVuID0gdGV4dExlbmd0aCgpOwogICAgIGNvbnN0
IFVDaGFyKiB0eHQgPSBjaGFyYWN0ZXJzKCk7CiAgICAgYm9vbCBuZWVkc1dvcmRTcGFjaW5nID0g
ZmFsc2U7CkBAIC04MjEsNyArODIxLDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVy
cmVkTG9naWNhbAogCiAgICAgICAgIGludCB3b3JkTGVuID0gaiAtIGk7CiAgICAgICAgIGlmICh3
b3JkTGVuKSB7Ci0gICAgICAgICAgICBpbnQgdyA9IHdpZHRoRnJvbUNhY2hlKGYsIGksIHdvcmRM
ZW4sIGxlYWRXaWR0aCArIGN1cnJNYXhXaWR0aCwgJmZhbGxiYWNrRm9udHMsICZnbHlwaE92ZXJm
bG93KTsKKyAgICAgICAgICAgIGZsb2F0IHcgPSB3aWR0aEZyb21DYWNoZShmLCBpLCB3b3JkTGVu
LCBsZWFkV2lkdGggKyBjdXJyTWF4V2lkdGgsICZmYWxsYmFja0ZvbnRzLCAmZ2x5cGhPdmVyZmxv
dyk7CiAgICAgICAgICAgICBpZiAoZmlyc3RHbHlwaExlZnRPdmVyZmxvdyA8IDApCiAgICAgICAg
ICAgICAgICAgZmlyc3RHbHlwaExlZnRPdmVyZmxvdyA9IGdseXBoT3ZlcmZsb3cubGVmdDsKICAg
ICAgICAgICAgIGN1cnJNaW5XaWR0aCArPSB3OwpAQCAtOTMzLDE3ICs5MzMsMTcgQEAgYm9vbCBS
ZW5kZXJUZXh0Ojpjb250YWluc09ubHlXaGl0ZXNwYWNlKAogICAgIHJldHVybiBjdXJyUG9zID49
IChmcm9tICsgbGVuKTsKIH0KIAotSW50UG9pbnQgUmVuZGVyVGV4dDo6Zmlyc3RSdW5PcmlnaW4o
KSBjb25zdAorRmxvYXRQb2ludCBSZW5kZXJUZXh0OjpmaXJzdFJ1bk9yaWdpbigpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIEludFBvaW50KGZpcnN0UnVuWCgpLCBmaXJzdFJ1blkoKSk7CiB9CiAKLWlu
dCBSZW5kZXJUZXh0OjpmaXJzdFJ1blgoKSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6Zmlyc3RS
dW5YKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9maXJzdFRleHRCb3ggPyBtX2ZpcnN0VGV4dEJv
eC0+bV94IDogMDsKIH0KIAotaW50IFJlbmRlclRleHQ6OmZpcnN0UnVuWSgpIGNvbnN0CitmbG9h
dCBSZW5kZXJUZXh0OjpmaXJzdFJ1blkoKSBjb25zdAogewogICAgIHJldHVybiBtX2ZpcnN0VGV4
dEJveCA/IG1fZmlyc3RUZXh0Qm94LT5tX3kgOiAwOwogfQpAQCAtMTIyMyw3ICsxMjIzLDcgQEAg
dm9pZCBSZW5kZXJUZXh0Ojpwb3NpdGlvbkxpbmVCb3goSW5saW5lQgogICAgIG1fY29udGFpbnNS
ZXZlcnNlZFRleHQgfD0gIXMtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKIH0KIAotdW5zaWdu
ZWQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBpbnQgeFBv
cywgYm9vbCBmaXJzdExpbmUsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJh
Y2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKK2Zsb2F0IFJlbmRl
clRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgZmxvYXQgeFBvcywgYm9v
bCBmaXJzdExpbmUsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250
cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKICAgICBpZiAoZnJvbSA+
PSB0ZXh0TGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiAwOwpAQCAtMTIzNCwxMyArMTIzNCwxMyBA
QCB1bnNpZ25lZCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tCiAgICAgcmV0dXJuIHdp
ZHRoKGZyb20sIGxlbiwgc3R5bGUoZmlyc3RMaW5lKS0+Zm9udCgpLCB4UG9zLCBmYWxsYmFja0Zv
bnRzLCBnbHlwaE92ZXJmbG93KTsKIH0KIAotdW5zaWduZWQgUmVuZGVyVGV4dDo6d2lkdGgodW5z
aWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmLCBpbnQgeFBvcywgSGFzaFNl
dDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBn
bHlwaE92ZXJmbG93KSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJv
bSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0
IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3Zl
cmZsb3cpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGZyb20gKyBsZW4gPD0gdGV4dExlbmd0aCgpKTsK
ICAgICBpZiAoIWNoYXJhY3RlcnMoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBpbnQgdzsK
KyAgICBmbG9hdCB3OwogICAgIGlmICgmZiA9PSAmc3R5bGUoKS0+Zm9udCgpKSB7CiAgICAgICAg
IGlmICghc3R5bGUoKS0+cHJlc2VydmVOZXdsaW5lKCkgJiYgIWZyb20gJiYgbGVuID09IHRleHRM
ZW5ndGgoKSkgewogICAgICAgICAgICAgaWYgKGZhbGxiYWNrRm9udHMpIHsKQEAgLTEyNTIsNyAr
MTI1Miw3IEBAIHVuc2lnbmVkIFJlbmRlclRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20KICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgdyA9IG1fbWF4V2lkdGg7CiAgICAgICAgICAg
ICB9IGVsc2UKLSAgICAgICAgICAgICAgICB3ID0gbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCk7
CisgICAgICAgICAgICAgICAgdyA9IG1heExvZ2ljYWxXaWR0aCgpOwogICAgICAgICB9IGVsc2UK
ICAgICAgICAgICAgIHcgPSB3aWR0aEZyb21DYWNoZShmLCBmcm9tLCBsZW4sIHhQb3MsIGZhbGxi
YWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogICAgIH0gZWxzZQpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGV4dC5oCShyZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTcxLDI0ICs3MSwyNCBA
QCBwdWJsaWM6CiAgICAgdW5zaWduZWQgdGV4dExlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fdGV4
dC5sZW5ndGgoKTsgfSAvLyBub24gdmlydHVhbCBpbXBsZW1lbnRhdGlvbiBvZiBsZW5ndGgoKQog
ICAgIHZvaWQgcG9zaXRpb25MaW5lQm94KElubGluZUJveCopOwogCi0gICAgdmlydHVhbCB1bnNp
Z25lZCB3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbnN0IEZvbnQmLCBpbnQg
eFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwg
R2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVu
c2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgaW50IHhQb3MsIGJvb2wgZmlyc3RMaW5lID0gZmFs
c2UsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEds
eXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25l
ZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbnN0IEZvbnQmLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNv
bnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9
IDApIGNvbnN0OworICAgIHZpcnR1YWwgZmxvYXQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWdu
ZWQgbGVuLCBmbG9hdCB4UG9zLCBib29sIGZpcnN0TGluZSA9IGZhbHNlLCBIYXNoU2V0PGNvbnN0
IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDAp
IGNvbnN0OwogCi0gICAgdmlydHVhbCBpbnQgbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29u
c3Q7Ci0gICAgdmlydHVhbCBpbnQgbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29uc3Q7Cisg
ICAgZmxvYXQgbWluTG9naWNhbFdpZHRoKCkgY29uc3Q7CisgICAgZmxvYXQgbWF4TG9naWNhbFdp
ZHRoKCkgY29uc3Q7CiAKLSAgICB2b2lkIHRyaW1tZWRQcmVmV2lkdGhzKGludCBsZWFkV2lkdGgs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGJlZ2luTWluVywgYm9vbCYgYmVnaW5X
UywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgZW5kTWluVywgYm9vbCYgZW5kV1Ms
CisgICAgdm9pZCB0cmltbWVkUHJlZldpZHRocyhmbG9hdCBsZWFkV2lkdGgsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICBmbG9hdCYgYmVnaW5NaW5XLCBib29sJiBiZWdpbldTLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZmxvYXQmIGVuZE1pblcsIGJvb2wmIGVuZFdTLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYm9vbCYgaGFzQnJlYWthYmxlQ2hhciwgYm9vbCYgaGFzQnJl
YWssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGJlZ2luTWF4VywgaW50JiBlbmRN
YXhXLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBtaW5XLCBpbnQmIG1heFcsIGJv
b2wmIHN0cmlwRnJvbnRTcGFjZXMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQm
IGJlZ2luTWF4VywgZmxvYXQmIGVuZE1heFcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBm
bG9hdCYgbWluVywgZmxvYXQmIG1heFcsIGJvb2wmIHN0cmlwRnJvbnRTcGFjZXMpOwogCiAgICAg
dmlydHVhbCBJbnRSZWN0IGxpbmVzQm91bmRpbmdCb3goKSBjb25zdDsKIAotICAgIEludFBvaW50
IGZpcnN0UnVuT3JpZ2luKCkgY29uc3Q7Ci0gICAgaW50IGZpcnN0UnVuWCgpIGNvbnN0OwotICAg
IGludCBmaXJzdFJ1blkoKSBjb25zdDsKKyAgICBGbG9hdFBvaW50IGZpcnN0UnVuT3JpZ2luKCkg
Y29uc3Q7CisgICAgZmxvYXQgZmlyc3RSdW5YKCkgY29uc3Q7CisgICAgZmxvYXQgZmlyc3RSdW5Z
KCkgY29uc3Q7CiAKICAgICB2b2lkIHNldFRleHQoUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiwgYm9v
bCBmb3JjZSA9IGZhbHNlKTsKICAgICB2b2lkIHNldFRleHRXaXRoT2Zmc2V0KFBhc3NSZWZQdHI8
U3RyaW5nSW1wbD4sIHVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgbGVuLCBib29sIGZvcmNlID0g
ZmFsc2UpOwpAQCAtMTIyLDcgKzEyMiw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2hlY2tDb25z
aXN0ZW5jeSgpIGNvbnN0OwogCi0gICAgdmlydHVhbCB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzKGludCBsZWFkV2lkdGgpOworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJlZmVy
cmVkTG9naWNhbFdpZHRocyhmbG9hdCBsZWFkV2lkdGgpOwogICAgIGJvb2wgaXNBbGxDb2xsYXBz
aWJsZVdoaXRlc3BhY2UoKTsKICAgICAKIHByb3RlY3RlZDoKQEAgLTEzNSw3ICsxMzUsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBJbmxpbmVUZXh0Qm94KiBjcmVhdGVUZXh0Qm94KCk7IC8v
IFN1YmNsYXNzZWQgYnkgU1ZHLgogCiBwcml2YXRlOgotICAgIHZvaWQgY29tcHV0ZVByZWZlcnJl
ZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRXaWR0aCwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0
YSo+JiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93Jik7CisgICAgdm9pZCBjb21wdXRlUHJl
ZmVycmVkTG9naWNhbFdpZHRocyhmbG9hdCBsZWFkV2lkdGgsIEhhc2hTZXQ8Y29uc3QgU2ltcGxl
Rm9udERhdGEqPiYgZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyYpOwogCiAgICAgLy8gTWFr
ZSBsZW5ndGgoKSBwcml2YXRlIHNvIHRoYXQgY2FsbGVycyB0aGF0IGhhdmUgYSBSZW5kZXJUZXh0
KgogICAgIC8vIHdpbGwgdXNlIHRoZSBtb3JlIGVmZmljaWVudCB0ZXh0TGVuZ3RoKCkgaW5zdGVh
ZCwgd2hpbGUKQEAgLTE0OCwyMiArMTQ4LDIyIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRlbGV0
ZVRleHRCb3hlcygpOwogICAgIGJvb2wgY29udGFpbnNPbmx5V2hpdGVzcGFjZSh1bnNpZ25lZCBm
cm9tLCB1bnNpZ25lZCBsZW4pIGNvbnN0OwotICAgIGludCB3aWR0aEZyb21DYWNoZShjb25zdCBG
b250JiwgaW50IHN0YXJ0LCBpbnQgbGVuLCBpbnQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVG
b250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KikgY29uc3Q7CisgICAgZmxv
YXQgd2lkdGhGcm9tQ2FjaGUoY29uc3QgRm9udCYsIGludCBzdGFydCwgaW50IGxlbiwgZmxvYXQg
eFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlw
aE92ZXJmbG93KikgY29uc3Q7CiAgICAgYm9vbCBpc0FsbEFTQ0lJKCkgY29uc3QgeyByZXR1cm4g
bV9pc0FsbEFTQ0lJOyB9CiAgICAgdm9pZCB1cGRhdGVOZWVkc1RyYW5zY29kaW5nKCk7CiAKICAg
ICBpbmxpbmUgdm9pZCB0cmFuc2Zvcm1UZXh0KFN0cmluZyYpIGNvbnN0OwogCi0gICAgaW50IG1f
bWluV2lkdGg7IC8vIGhlcmUgdG8gbWluaW1pemUgcGFkZGluZyBpbiA2NC1iaXQuCisgICAgZmxv
YXQgbV9taW5XaWR0aDsgLy8gaGVyZSB0byBtaW5pbWl6ZSBwYWRkaW5nIGluIDY0LWJpdC4KIAog
ICAgIFN0cmluZyBtX3RleHQ7CiAKICAgICBJbmxpbmVUZXh0Qm94KiBtX2ZpcnN0VGV4dEJveDsK
ICAgICBJbmxpbmVUZXh0Qm94KiBtX2xhc3RUZXh0Qm94OwogCi0gICAgaW50IG1fbWF4V2lkdGg7
Ci0gICAgaW50IG1fYmVnaW5NaW5XaWR0aDsKLSAgICBpbnQgbV9lbmRNaW5XaWR0aDsKKyAgICBm
bG9hdCBtX21heFdpZHRoOworICAgIGZsb2F0IG1fYmVnaW5NaW5XaWR0aDsKKyAgICBmbG9hdCBt
X2VuZE1pbldpZHRoOwogCiAgICAgYm9vbCBtX2hhc0JyZWFrYWJsZUNoYXIgOiAxOyAvLyBXaGV0
aGVyIG9yIG5vdCB3ZSBjYW4gYmUgYnJva2VuIGludG8gbXVsdGlwbGUgbGluZXMuCiAgICAgYm9v
bCBtX2hhc0JyZWFrIDogMTsgLy8gV2hldGhlciBvciBub3Qgd2UgaGF2ZSBhIGhhcmQgYnJlYWsg
KGUuZy4sIDxwcmU+IHdpdGggJ1xuJykuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dENvbnRyb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAJKHJldmlzaW9uIDc4MjcxKQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTQ0LDcgKzU0NCw3IEBAIGZsb2F0IFJlbmRlclRleHRDb250cm9sOjpnZXRBdmdDaGFyV2lkdGgK
ICAgICAgICAgcmV0dXJuIHJvdW5kZihzdHlsZSgpLT5mb250KCkucHJpbWFyeUZvbnQoKS0+YXZn
Q2hhcldpZHRoKCkpOwogCiAgICAgY29uc3QgVUNoYXIgY2ggPSAnMCc7IAotICAgIHJldHVybiBz
dHlsZSgpLT5mb250KCkuZmxvYXRXaWR0aChUZXh0UnVuKCZjaCwgMSwgZmFsc2UsIDAsIDAsIFRl
eHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlLCBmYWxzZSwgZmFsc2UpKTsKKyAg
ICByZXR1cm4gc3R5bGUoKS0+Zm9udCgpLndpZHRoKFRleHRSdW4oJmNoLCAxLCBmYWxzZSwgMCwg
MCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgZmFsc2UpKTsKIH0KIAogZmxvYXQg
UmVuZGVyVGV4dENvbnRyb2w6OnNjYWxlRW1Ub1VuaXRzKGludCB4KSBjb25zdApAQCAtNjM5LDcg
KzYzOSw3IEBAIHZvaWQgUmVuZGVyVGV4dENvbnRyb2w6OnBhaW50UGxhY2Vob2xkZXIKICAgICBw
YWludEluZm8uY29udGV4dC0+c2V0RmlsbENvbG9yKHBsYWNlaG9sZGVyU3R5bGUtPnZpc2l0ZWRE
ZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUNvbG9yKSwgcGxhY2Vob2xkZXJTdHlsZS0+Y29sb3JT
cGFjZSgpKTsKICAgICAKICAgICBTdHJpbmcgcGxhY2Vob2xkZXJUZXh0ID0gc3RhdGljX2Nhc3Q8
SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQqPihub2RlKCkpLT5zdHJpcHBlZFBsYWNlaG9sZGVy
KCk7Ci0gICAgVGV4dFJ1biB0ZXh0UnVuKHBsYWNlaG9sZGVyVGV4dC5jaGFyYWN0ZXJzKCksIHBs
YWNlaG9sZGVyVGV4dC5sZW5ndGgoKSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxp
bmdFeHBhbnNpb24sICFwbGFjZWhvbGRlclN0eWxlLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCks
IHBsYWNlaG9sZGVyU3R5bGUtPnVuaWNvZGVCaWRpKCkgPT0gT3ZlcnJpZGUsIGZhbHNlLCBmYWxz
ZSk7CisgICAgVGV4dFJ1biB0ZXh0UnVuKHBsYWNlaG9sZGVyVGV4dC5jaGFyYWN0ZXJzKCksIHBs
YWNlaG9sZGVyVGV4dC5sZW5ndGgoKSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxp
bmdFeHBhbnNpb24sICFwbGFjZWhvbGRlclN0eWxlLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCks
IHBsYWNlaG9sZGVyU3R5bGUtPnVuaWNvZGVCaWRpKCkgPT0gT3ZlcnJpZGUpOwogICAgIAogICAg
IFJlbmRlckJveCogdGV4dFJlbmRlcmVyID0gaW5uZXJUZXh0RWxlbWVudCgpID8gaW5uZXJUZXh0
RWxlbWVudCgpLT5yZW5kZXJCb3goKSA6IDA7CiAgICAgaWYgKHRleHRSZW5kZXJlcikgewpJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcAkocmV2aXNpb24g
NzgyNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTk3LDcgKzk3LDcgQEAgYm9vbCBSb290SW5saW5lQm94OjpjYW5BY2Nv
bW1vZGF0ZUVsbGlwcwogICAgIHJldHVybiBJbmxpbmVGbG93Qm94OjpjYW5BY2NvbW1vZGF0ZUVs
bGlwc2lzKGx0ciwgYmxvY2tFZGdlLCBlbGxpcHNpc1dpZHRoKTsKIH0KIAotdm9pZCBSb290SW5s
aW5lQm94OjpwbGFjZUVsbGlwc2lzKGNvbnN0IEF0b21pY1N0cmluZyYgZWxsaXBzaXNTdHIsICBi
b29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlw
c2lzV2lkdGgsCit2b2lkIFJvb3RJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXMoY29uc3QgQXRvbWlj
U3RyaW5nJiBlbGxpcHNpc1N0ciwgIGJvb2wgbHRyLCBmbG9hdCBibG9ja0xlZnRFZGdlLCBmbG9h
dCBibG9ja1JpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBJbmxpbmVCb3gqIG1hcmt1cEJveCkKIHsKICAgICAvLyBDcmVhdGUg
YW4gZWxsaXBzaXMgYm94LgpAQCAtMTIzLDkgKzEyMyw5IEBAIHZvaWQgUm9vdElubGluZUJveDo6
cGxhY2VFbGxpcHNpcyhjb25zdCAKICAgICBlbGxpcHNpc0JveC0+bV94ID0gcGxhY2VFbGxpcHNp
c0JveChsdHIsIGJsb2NrTGVmdEVkZ2UsIGJsb2NrUmlnaHRFZGdlLCBlbGxpcHNpc1dpZHRoLCBm
b3VuZEJveCk7CiB9CiAKLWludCBSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wg
bHRyLCBpbnQgYmxvY2tMZWZ0RWRnZSwgaW50IGJsb2NrUmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNX
aWR0aCwgYm9vbCYgZm91bmRCb3gpCitmbG9hdCBSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lz
Qm94KGJvb2wgbHRyLCBmbG9hdCBibG9ja0xlZnRFZGdlLCBmbG9hdCBibG9ja1JpZ2h0RWRnZSwg
ZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpCiB7Ci0gICAgaW50IHJlc3VsdCA9
IElubGluZUZsb3dCb3g6OnBsYWNlRWxsaXBzaXNCb3gobHRyLCBibG9ja0xlZnRFZGdlLCBibG9j
a1JpZ2h0RWRnZSwgZWxsaXBzaXNXaWR0aCwgZm91bmRCb3gpOworICAgIGZsb2F0IHJlc3VsdCA9
IElubGluZUZsb3dCb3g6OnBsYWNlRWxsaXBzaXNCb3gobHRyLCBibG9ja0xlZnRFZGdlLCBibG9j
a1JpZ2h0RWRnZSwgZWxsaXBzaXNXaWR0aCwgZm91bmRCb3gpOwogICAgIGlmIChyZXN1bHQgPT0g
LTEpCiAgICAgICAgIHJlc3VsdCA9IGx0ciA/IGJsb2NrUmlnaHRFZGdlIC0gZWxsaXBzaXNXaWR0
aCA6IGJsb2NrTGVmdEVkZ2U7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTU0NCwxNCArNTQ0LDE0
IEBAIEludFJlY3QgUm9vdElubGluZUJveDo6cGFkZGVkTGF5b3V0T3ZlcmYKICAgICAKICAgICBp
ZiAoaXNIb3Jpem9udGFsKCkpIHsKICAgICAgICAgaWYgKGlzTGVmdFRvUmlnaHREaXJlY3Rpb24o
KSkKLSAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdE1heFhFZGdlVG8obWF4KGxp
bmVMYXlvdXRPdmVyZmxvdy5tYXhYKCksIGxvZ2ljYWxSaWdodCgpICsgZW5kUGFkZGluZykpOwor
ICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0TWF4WEVkZ2VUbyhtYXgobGluZUxh
eW91dE92ZXJmbG93Lm1heFgoKSwgcGl4ZWxTbmFwcGVkTG9naWNhbFJpZ2h0KCkgKyBlbmRQYWRk
aW5nKSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlm
dFhFZGdlVG8obWluKGxpbmVMYXlvdXRPdmVyZmxvdy54KCksIGxvZ2ljYWxMZWZ0KCkgLSBlbmRQ
YWRkaW5nKSk7CisgICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRYRWRnZVRvKG1p
bihsaW5lTGF5b3V0T3ZlcmZsb3cueCgpLCBwaXhlbFNuYXBwZWRMb2dpY2FsTGVmdCgpIC0gZW5k
UGFkZGluZykpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmIChpc0xlZnRUb1JpZ2h0RGlyZWN0
aW9uKCkpCi0gICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRNYXhZRWRnZVRvKG1h
eChsaW5lTGF5b3V0T3ZlcmZsb3cubWF4WSgpLCBsb2dpY2FsUmlnaHQoKSArIGVuZFBhZGRpbmcp
KTsKKyAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdE1heFlFZGdlVG8obWF4KGxp
bmVMYXlvdXRPdmVyZmxvdy5tYXhZKCksIHBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCgpICsgZW5k
UGFkZGluZykpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cu
c2hpZnRZRWRnZVRvKG1pbihsaW5lTGF5b3V0T3ZlcmZsb3cueSgpLCBsb2dpY2FsUmlnaHQoKSAt
IGVuZFBhZGRpbmcpKTsKKyAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdFlFZGdl
VG8obWluKGxpbmVMYXlvdXRPdmVyZmxvdy55KCksIHBpeGVsU25hcHBlZExvZ2ljYWxMZWZ0KCkg
LSBlbmRQYWRkaW5nKSk7CiAgICAgfQogICAgIAogICAgIHJldHVybiBsaW5lTGF5b3V0T3ZlcmZs
b3c7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmgJKHJldmlz
aW9uIDc4MjcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAko
d29ya2luZyBjb3B5KQpAQCAtNzgsOCArNzgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjaGlsZFJl
bW92ZWQoSW5saW5lQm94KiBib3gpOwogCiAgICAgYm9vbCBjYW5BY2NvbW1vZGF0ZUVsbGlwc2lz
KGJvb2wgbHRyLCBpbnQgYmxvY2tFZGdlLCBpbnQgbGluZUJveEVkZ2UsIGludCBlbGxpcHNpc1dp
ZHRoKTsKLSAgICB2b2lkIHBsYWNlRWxsaXBzaXMoY29uc3QgQXRvbWljU3RyaW5nJiBlbGxpcHNp
c1N0ciwgYm9vbCBsdHIsIGludCBibG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGlu
dCBlbGxpcHNpc1dpZHRoLCBJbmxpbmVCb3gqIG1hcmt1cEJveCA9IDApOwotICAgIHZpcnR1YWwg
aW50IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGludCBibG9ja0xlZnRFZGdlLCBpbnQgYmxv
Y2tSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCk7CisgICAgdm9p
ZCBwbGFjZUVsbGlwc2lzKGNvbnN0IEF0b21pY1N0cmluZyYgZWxsaXBzaXNTdHIsIGJvb2wgbHRy
LCBmbG9hdCBibG9ja0xlZnRFZGdlLCBmbG9hdCBibG9ja1JpZ2h0RWRnZSwgZmxvYXQgZWxsaXBz
aXNXaWR0aCwgSW5saW5lQm94KiBtYXJrdXBCb3ggPSAwKTsKKyAgICB2aXJ0dWFsIGZsb2F0IHBs
YWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2Nr
UmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCk7CiAKICAgICBF
bGxpcHNpc0JveCogZWxsaXBzaXNCb3goKSBjb25zdDsKIApJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCShyZXZpc2lvbiA3ODI3
MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQxNSw5ICs0MTUsNiBAQCBUZXh0UnVuIFNWR0lubGluZVRleHRC
b3g6OmNvbnN0cnVjdFRleHRSCiAgICAgcnVuLnNldFJlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KHRl
eHQpOwogI2VuZGlmCiAKLSAgICAvLyBEaXNhYmxlIGFueSB3b3JkL2NoYXJhY3RlciByb3VuZGlu
Zy4KLSAgICBydW4uZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsKLQogICAgIC8vIFdlIGhhbmRsZSBs
ZXR0ZXIgJiB3b3JkIHNwYWNpbmcgb3Vyc2VsdmVzLgogICAgIHJ1bi5kaXNhYmxlU3BhY2luZygp
OwogICAgIHJldHVybiBydW47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1RleHRNZXRyaWNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1RleHRNZXRyaWNzLmNwcAkocmV2aXNpb24gNzgyNzEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcs
OCArNDcsOSBAQCBTVkdUZXh0TWV0cmljczo6U1ZHVGV4dE1ldHJpY3MoUmVuZGVyU1ZHCiAgICAg
aW50IGxlbmd0aCA9IDA7CiAKICAgICAvLyBDYWxjdWxhdGUgd2lkdGgvaGVpZ2h0IHVzaW5nIHRo
ZSBzY2FsZWQgZm9udCwgZGl2aWRlIHRoaXMgcmVzdWx0IGJ5IHRoZSBzY2FsaW5nRmFjdG9yIGFm
dGVyd2FyZHMuCi0gICAgbV93aWR0aCA9IHNjYWxlZEZvbnQuZmxvYXRXaWR0aChydW4sIGV4dHJh
Q2hhcnNBdmFpbGFibGUsIGxlbmd0aCwgbV9nbHlwaC5uYW1lKSAvIHNjYWxpbmdGYWN0b3I7Cisg
ICAgbV93aWR0aCA9IHNjYWxlZEZvbnQud2lkdGgocnVuLCBleHRyYUNoYXJzQXZhaWxhYmxlLCBs
ZW5ndGgsIG1fZ2x5cGgubmFtZSkgLyBzY2FsaW5nRmFjdG9yOwogICAgIG1faGVpZ2h0ID0gc2Nh
bGVkRm9udC5mb250TWV0cmljcygpLmZsb2F0SGVpZ2h0KCkgLyBzY2FsaW5nRmFjdG9yOworCiAg
ICAgbV9nbHlwaC51bmljb2RlU3RyaW5nID0gU3RyaW5nKHJ1bi5jaGFyYWN0ZXJzKCksIGxlbmd0
aCk7CiAgICAgbV9nbHlwaC5pc1ZhbGlkID0gdHJ1ZTsKIApAQCAtNzksOSArODAsNiBAQCBzdGF0
aWMgVGV4dFJ1biBjb25zdHJ1Y3RUZXh0UnVuKFJlbmRlclNWCiAgICAgcnVuLnNldFJlZmVyZW5j
aW5nUmVuZGVyT2JqZWN0KHRleHQpOwogI2VuZGlmCiAKLSAgICAvLyBEaXNhYmxlIGFueSB3b3Jk
L2NoYXJhY3RlciByb3VuZGluZy4KLSAgICBydW4uZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsKLQog
ICAgIC8vIFdlIGhhbmRsZSBsZXR0ZXIgJiB3b3JkIHNwYWNpbmcgb3Vyc2VsdmVzLgogICAgIHJ1
bi5kaXNhYmxlU3BhY2luZygpOwogICAgIHJldHVybiBydW47CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRm9udC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Zv
bnQuY3BwCShyZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzYyLDcgKzM2Miw3IEBAIHN0YXRpYyB2b2lkIGZsb2F0V2lk
dGhNaXNzaW5nR2x5cGhDYWxsYmEKICAgICBGb250IGZvbnQoZm9udERlc2NyaXB0aW9uLCAwLCAw
KTsgLy8gc3BhY2luZyBoYW5kbGVkIGJ5IFNWRyB0ZXh0IGNvZGUuCiAgICAgZm9udC51cGRhdGUo
ZGF0YS5mb250LT5mb250U2VsZWN0b3IoKSk7CiAKLSAgICBkYXRhLmxlbmd0aCArPSBmb250LmZs
b2F0V2lkdGgocnVuKTsKKyAgICBkYXRhLmxlbmd0aCArPSBmb250LndpZHRoKHJ1bik7CiB9CiAK
IApAQCAtNTczLDkgKzU3Myw5IEBAIHZvaWQgRm9udDo6ZHJhd1RleHRVc2luZ1NWR0ZvbnQoR3Jh
cGhpY3MKICAgICAgICAgICAgICAgICBmb250LmRyYXdUZXh0KGNvbnRleHQsIGZhbGxiYWNrQ2hh
cmFjdGVyUnVuLCBjdXJyZW50UG9pbnQpOwogCiAgICAgICAgICAgICAgICAgaWYgKGlzVmVydGlj
YWxUZXh0KQotICAgICAgICAgICAgICAgICAgICBjdXJyZW50UG9pbnQubW92ZSgwLjBmLCBmb250
LmZsb2F0V2lkdGgoZmFsbGJhY2tDaGFyYWN0ZXJSdW4pKTsKKyAgICAgICAgICAgICAgICAgICAg
Y3VycmVudFBvaW50Lm1vdmUoMC4wZiwgZm9udC53aWR0aChmYWxsYmFja0NoYXJhY3RlclJ1bikp
OwogICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgY3VycmVudFBvaW50
Lm1vdmUoZm9udC5mbG9hdFdpZHRoKGZhbGxiYWNrQ2hhcmFjdGVyUnVuKSwgMC4wZik7CisgICAg
ICAgICAgICAgICAgICAgIGN1cnJlbnRQb2ludC5tb3ZlKGZvbnQud2lkdGgoZmFsbGJhY2tDaGFy
YWN0ZXJSdW4pLCAwLjBmKTsKIAogICAgICAgICAgICAgICAgIGZhbGxiYWNrQ2hhcmFjdGVySW5k
ZXgrKzsKICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0
TlNTdHJpbmdFeHRyYXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvTWlzYy9X
ZWJLaXROU1N0cmluZ0V4dHJhcy5tbQkocmV2aXNpb24gNzgyNzEpCisrKyBTb3VyY2UvV2ViS2l0
L21hYy9NaXNjL1dlYktpdE5TU3RyaW5nRXh0cmFzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC05MSw3
ICs5MSw2IEBAIC0gKHZvaWQpX3dlYl9kcmF3QXRQb2ludDooTlNQb2ludClwb2ludCAKIAogICAg
ICAgICBGb250IHdlYkNvcmVGb250KEZvbnRQbGF0Zm9ybURhdGEoZm9udCwgW2ZvbnQgcG9pbnRT
aXplXSksICFbbnNDb250ZXh0IGlzRHJhd2luZ1RvU2NyZWVuXSwgZm9udFNtb290aGluZ0lzQWxs
b3dlZCA/IEF1dG9TbW9vdGhpbmcgOiBBbnRpYWxpYXNlZCk7CiAgICAgICAgIFRleHRSdW4gcnVu
KGJ1ZmZlci5kYXRhKCksIGxlbmd0aCk7Ci0gICAgICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNr
cygpOwogCiAgICAgICAgIENHRmxvYXQgcmVkOwogICAgICAgICBDR0Zsb2F0IGdyZWVuOwpAQCAt
MTM3LDggKzEzNiw3IEBAIC0gKGZsb2F0KV93ZWJfd2lkdGhXaXRoRm9udDooTlNGb250ICopZm8K
ICAgICBpZiAoY2FuVXNlRmFzdFJlbmRlcmVyKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCkpIHsKICAg
ICAgICAgRm9udCB3ZWJDb3JlRm9udChGb250UGxhdGZvcm1EYXRhKGZvbnQsIFtmb250IHBvaW50
U2l6ZV0pLCAhW1tOU0dyYXBoaWNzQ29udGV4dCBjdXJyZW50Q29udGV4dF0gaXNEcmF3aW5nVG9T
Y3JlZW5dKTsKICAgICAgICAgVGV4dFJ1biBydW4oYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKTsKLSAg
ICAgICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7Ci0gICAgICAgIHJldHVybiB3ZWJDb3Jl
Rm9udC5mbG9hdFdpZHRoKHJ1bik7CisgICAgICAgIHJldHVybiB3ZWJDb3JlRm9udC53aWR0aChy
dW4pOwogICAgIH0KIAogICAgIHJldHVybiBbc2VsZiBzaXplV2l0aEF0dHJpYnV0ZXM6W05TRGlj
dGlvbmFyeSBkaWN0aW9uYXJ5V2l0aE9iamVjdHNBbmRLZXlzOmZvbnQsIE5TRm9udEF0dHJpYnV0
ZU5hbWUsIG5pbF1dLndpZHRoOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82062</attachid>
            <date>2011-02-10 15:34:05 -0800</date>
            <delta_ts>2011-02-11 11:30:01 -0800</delta_ts>
            <desc>Patch that applies (ignore for review, just testing builds)</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>131890</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0zOTksOSArMzk5LDkgQEAgX19a
TjdXZWJDb3JlMTVQcm90ZWN0aW9uU3BhY2VDMUVSS04zV1RGNgogX19aTjdXZWJDb3JlMTVQcm90
ZWN0aW9uU3BhY2VDMUV2CiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE3YWxpZ25DZW50
ZXJBbHdheXNFCiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE5YWxpZ25Ub0VkZ2VJZk5l
ZWRlZEUKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRlRVJLTjNX
VEY2U3RyaW5nRWZSS05TXzRGb250RWIKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRj
ZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0VmUktOU180Rm9udEViCi1fX1pON1dlYkNvcmUx
NVN0cmluZ1RydW5jYXRvcjV3aWR0aEVSS04zV1RGNlN0cmluZ0VSS05TXzRGb250RWIKK19fWk43
V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRjZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0Vm
UktOU180Rm9udEUKK19fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRl
RVJLTjNXVEY2U3RyaW5nRWZSS05TXzRGb250RQorX19aTjdXZWJDb3JlMTVTdHJpbmdUcnVuY2F0
b3I1d2lkdGhFUktOM1dURjZTdHJpbmdFUktOU180Rm9udEUKIF9fWk43V2ViQ29yZTE1VmlzaWJs
ZVBvc2l0aW9uQzFFUE5TXzROb2RlRWlOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3JlMTVWaXNp
YmxlUG9zaXRpb25DMUVSS05TXzhQb3NpdGlvbkVOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3Jl
MTVkZWZhdWx0TGFuZ3VhZ2VFdgpAQCAtMTEyNSw3ICsxMTI1LDcgQEAgX19aTks3V2ViQ29yZTI3
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VCYQogX19aTks3V2ViQ29yZTI3QXV0aGVudGljYXRpb25D
aGFsbGVuZ2VCYXNlMjBwcmV2aW91c0ZhaWx1cmVDb3VudEV2CiBfX1pOSzdXZWJDb3JlMjdBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZUJhc2U1ZXJyb3JFdgogX19aTks3V2ViQ29yZTI3QXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VCYXNlNmlzTnVsbEV2Ci1fX1pOSzdXZWJDb3JlNEZvbnQxMGZsb2F0V2lk
dGhFUktOU183VGV4dFJ1bkVQTjNXVEY3SGFzaFNldElQS05TXzE0U2ltcGxlRm9udERhdGFFTlM0
XzdQdHJIYXNoSVM4X0VFTlM0XzEwSGFzaFRyYWl0c0lTOF9FRUVFUE5TXzEzR2x5cGhPdmVyZmxv
d0UKK19fWk5LN1dlYkNvcmU0Rm9udDV3aWR0aEVSS05TXzdUZXh0UnVuRVBOM1dURjdIYXNoU2V0
SVBLTlNfMTRTaW1wbGVGb250RGF0YUVOUzRfN1B0ckhhc2hJUzhfRUVOUzRfMTBIYXNoVHJhaXRz
SVM4X0VFRUVQTlNfMTNHbHlwaE92ZXJmbG93RQogX19aTks3V2ViQ29yZTRGb250OGRyYXdUZXh0
RVBOU18xNUdyYXBoaWNzQ29udGV4dEVSS05TXzdUZXh0UnVuRVJLTlNfMTBGbG9hdFBvaW50RWlp
CiBfX1pOSzdXZWJDb3JlNEtVUkwxMWNyZWF0ZUNGVVJMRXYKIF9fWk5LN1dlYkNvcmU0S1VSTDEx
aXNMb2NhbEZpbGVFdgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA3ODI3MSkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE3NzEsNyArMTc3MSw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjpkcmF3VGV4dEkKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRleHQubGVuZ3RoKCk7
CiAgICAgY29uc3QgVUNoYXIqIHN0cmluZyA9IHRleHQuY2hhcmFjdGVycygpOwotICAgIFRleHRS
dW4gdGV4dFJ1bihzdHJpbmcsIGxlbmd0aCwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJh
aWxpbmdFeHBhbnNpb24sIHJ0bCwgb3ZlcnJpZGUsIGZhbHNlLCBmYWxzZSk7CisgICAgVGV4dFJ1
biB0ZXh0UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFp
bGluZ0V4cGFuc2lvbiwgcnRsLCBvdmVycmlkZSk7CiAKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRl
eHQgYXQgdGhlIGNvcnJlY3QgcG9pbnQuCiAgICAgRmxvYXRQb2ludCBsb2NhdGlvbih4LCB5KTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCShyZXZpc2lv
biA3ODI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zOSwxNyArMzksNiBAQCB1c2luZyBuYW1lc3BhY2UgVW5pY29kZTsK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1aW50OF90IEZvbnQ6OmdSb3VuZGluZ0hh
Y2tDaGFyYWN0ZXJUYWJsZVsyNTZdID0gewotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDEgLypcdCovLCAxIC8qXG4qLywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAxIC8qc3BhY2UqLywgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKi0qLywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKj8qLywKLSAgICAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAg
ICAxIC8qbm8tYnJlYWsgc3BhY2UqLywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAKLX07Ci0KIEZvbnQ6OkNvZGVQYXRoIEZv
bnQ6OnNfY29kZVBhdGggPSBBdXRvOwogCiAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpAQCAtMTc2LDcgKzE2NSw3IEBAIHZvaWQgRm9udDo6ZHJhd0VtcGhhc2lzTWFya3Mo
R3JhcGhpY3NDb24KICAgICAgICAgZHJhd0VtcGhhc2lzTWFya3NGb3JDb21wbGV4VGV4dChjb250
ZXh0LCBydW4sIG1hcmssIHBvaW50LCBmcm9tLCB0byk7CiB9CiAKLWZsb2F0IEZvbnQ6OmZsb2F0
V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4q
IGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CitmbG9h
dCBGb250Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9u
dERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29u
c3QKIHsKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAgIGlmIChwcmltYXJ5Rm9udCgpLT5pc1NW
R0ZvbnQoKSkKQEAgLTE5NCw3ICsxODMsNyBAQCBmbG9hdCBGb250OjpmbG9hdFdpZHRoKGNvbnN0
IFRleHRSdW4mIHJ1CiAgICAgcmV0dXJuIGZsb2F0V2lkdGhGb3JDb21wbGV4VGV4dChydW4sIGZh
bGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQogCi1mbG9hdCBGb250OjpmbG9hdFdpZHRo
KGNvbnN0IFRleHRSdW4mIHJ1biwgaW50IGV4dHJhQ2hhcnNBdmFpbGFibGUsIGludCYgY2hhcnND
b25zdW1lZCwgU3RyaW5nJiBnbHlwaE5hbWUpIGNvbnN0CitmbG9hdCBGb250Ojp3aWR0aChjb25z
dCBUZXh0UnVuJiBydW4sIGludCBleHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQmIGNoYXJzQ29uc3Vt
ZWQsIFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdAogewogI2lmICFFTkFCTEUoU1ZHX0ZPTlRTKQog
ICAgIFVOVVNFRF9QQVJBTShleHRyYUNoYXJzQXZhaWxhYmxlKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHJldmlzaW9uIDc4MjcxKQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCSh3b3JraW5nIGNvcHkpCkBAIC05NCw5ICs5
NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRyYXdUZXh0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0
IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkg
Y29uc3Q7CiAgICAgdm9pZCBkcmF3RW1waGFzaXNNYXJrcyhHcmFwaGljc0NvbnRleHQqLCBjb25z
dCBUZXh0UnVuJiwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBGbG9hdFBvaW50Jiwg
aW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7CiAKLSAgICBpbnQgd2lkdGgoY29uc3Qg
VGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9u
dHMgPSAwLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93ID0gMCkgY29uc3QgeyByZXR1cm4g
bHJvdW5kZihmbG9hdFdpZHRoKHJ1biwgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxvdykpOyB9
Ci0gICAgZmxvYXQgZmxvYXRXaWR0aChjb25zdCBUZXh0UnVuJiwgSGFzaFNldDxjb25zdCBTaW1w
bGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVy
ZmxvdyA9IDApIGNvbnN0OwotICAgIGZsb2F0IGZsb2F0V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVu
LCBpbnQgZXh0cmFDaGFyc0F2YWlsYWJsZSwgaW50JiBjaGFyc0NvbnN1bWVkLCBTdHJpbmcmIGds
eXBoTmFtZSkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgoY29uc3QgVGV4dFJ1biYsIEhhc2hTZXQ8
Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3ZlcmZsb3cq
IGdseXBoT3ZlcmZsb3cgPSAwKSBjb25zdDsKKyAgICBmbG9hdCB3aWR0aChjb25zdCBUZXh0UnVu
JiBydW4sIGludCBleHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQsIFN0cmlu
ZyYgZ2x5cGhOYW1lKSBjb25zdDsKIAogICAgIGludCBvZmZzZXRGb3JQb3NpdGlvbihjb25zdCBU
ZXh0UnVuJiwgZmxvYXQgcG9zaXRpb24sIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMpIGNvbnN0
OwogICAgIEZsb2F0UmVjdCBzZWxlY3Rpb25SZWN0Rm9yVGV4dChjb25zdCBUZXh0UnVuJiwgY29u
c3QgRmxvYXRQb2ludCYsIGludCBoLCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKSBjb25zdDsK
QEAgLTEyOSw4ICsxMjgsOCBAQCBwdWJsaWM6CiAKICAgICAvLyBNZXRyaWNzIHRoYXQgd2UgcXVl
cnkgdGhlIEZvbnRGYWxsYmFja0xpc3QgZm9yLgogICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250
TWV0cmljcygpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmZvbnRNZXRyaWNzKCk7IH0K
LSAgICBpbnQgc3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIChpbnQpY2VpbGYocHJpbWFyeUZv
bnQoKS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmcpOyB9Ci0gICAgZmxv
YXQgdGFiV2lkdGgoY29uc3QgU2ltcGxlRm9udERhdGEmIGZvbnREYXRhKSBjb25zdCB7IHJldHVy
biA4ICogY2VpbGYoZm9udERhdGEuYWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBsZXR0ZXJTcGFjaW5n
KCkpOyB9CisgICAgaW50IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBwcmltYXJ5Rm9udCgp
LT5zcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmc7IH0KKyAgICBmbG9hdCB0YWJXaWR0aChj
b25zdCBTaW1wbGVGb250RGF0YSYgZm9udERhdGEpIGNvbnN0IHsgcmV0dXJuIDggKiBmb250RGF0
YS5zcGFjZVdpZHRoKCkgKyBsZXR0ZXJTcGFjaW5nKCk7IH0KICAgICBpbnQgZW1waGFzaXNNYXJr
QXNjZW50KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNpc01hcmtE
ZXNjZW50KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNpc01hcmtI
ZWlnaHQoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CkBAIC0yMDEsMTIgKzIwMCw2IEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgQ29kZVBhdGggY29kZVBhdGgoKTsKICAgICBzdGF0aWMgQ29kZVBh
dGggc19jb2RlUGF0aDsKIAotICAgIHN0YXRpYyBjb25zdCB1aW50OF90IGdSb3VuZGluZ0hhY2tD
aGFyYWN0ZXJUYWJsZVsyNTZdOwotICAgIHN0YXRpYyBib29sIGlzUm91bmRpbmdIYWNrQ2hhcmFj
dGVyKFVDaGFyMzIgYykKLSAgICB7Ci0gICAgICAgIHJldHVybiAoKChjICYgfjB4RkYpID09IDAg
JiYgZ1JvdW5kaW5nSGFja0NoYXJhY3RlclRhYmxlW2NdKSk7Ci0gICAgfQotCiAgICAgRm9udFNl
bGVjdG9yKiBmb250U2VsZWN0b3IoKSBjb25zdDsKICAgICBzdGF0aWMgYm9vbCB0cmVhdEFzU3Bh
Y2UoVUNoYXIgYykgeyByZXR1cm4gYyA9PSAnICcgfHwgYyA9PSAnXHQnIHx8IGMgPT0gJ1xuJyB8
fCBjID09IG5vQnJlYWtTcGFjZTsgfQogICAgIHN0YXRpYyBib29sIHRyZWF0QXNaZXJvV2lkdGhT
cGFjZShVQ2hhciBjKSB7IHJldHVybiBjIDwgMHgyMCB8fCAoYyA+PSAweDdGICYmIGMgPCAweEEw
KSB8fCBjID09IHNvZnRIeXBoZW4gfHwgKGMgPj0gMHgyMDBjICYmIGMgPD0gMHgyMDBmKSB8fCAo
YyA+PSAweDIwMmEgJiYgYyA8PSAweDIwMmUpIHx8IGMgPT0gb2JqZWN0UmVwbGFjZW1lbnRDaGFy
YWN0ZXI7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
Q29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0LmNwcAkocmV2aXNpb24gNzgyNzEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNzUsNyArMzc1LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdJbWFnZShJbWFnZSog
aQogfQogCiAjaWYgIU9TKFdJTkNFKSB8fCBQTEFURk9STShRVCkKLXZvaWQgR3JhcGhpY3NDb250
ZXh0OjpkcmF3VGV4dChjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0
IEludFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bykKK3ZvaWQgR3JhcGhpY3NDb250ZXh0
OjpkcmF3VGV4dChjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEZs
b2F0UG9pbnQmIHBvaW50LCBpbnQgZnJvbSwgaW50IHRvKQogewogICAgIGlmIChwYWludGluZ0Rp
c2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTM4NCw3ICszODQsNyBAQCB2b2lkIEdyYXBo
aWNzQ29udGV4dDo6ZHJhd1RleHQoY29uc3QgRm9uCiB9CiAjZW5kaWYKIAotdm9pZCBHcmFwaGlj
c0NvbnRleHQ6OmRyYXdFbXBoYXNpc01hcmtzKGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRS
dW4mIHJ1biwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBJbnRQb2ludCYgcG9pbnQs
IGludCBmcm9tLCBpbnQgdG8pCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0VtcGhhc2lzTWFy
a3MoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBjb25zdCBBdG9taWNTdHJp
bmcmIG1hcmssIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBpbnQgZnJvbSwgaW50IHRvKQogewog
ICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTQyMiwxMyAr
NDIyLDEzIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3QmlkaVRleHQoY29uc3QKICAgICAg
ICAgYmlkaVJ1biA9IGJpZGlSdW4tPm5leHQoKTsKICAgICAgICAgLy8gRklYTUU6IEhhdmUgRm9u
dDo6ZHJhd1RleHQgcmV0dXJuIHRoZSB3aWR0aCBvZiB3aGF0IGl0IGRyZXcgc28gdGhhdCB3ZSBk
b24ndCBoYXZlIHRvIHJlLW1lYXN1cmUgaGVyZS4KICAgICAgICAgaWYgKGJpZGlSdW4pCi0gICAg
ICAgICAgICBjdXJyUG9pbnQubW92ZShmb250LmZsb2F0V2lkdGgoc3VicnVuKSwgMC5mKTsKKyAg
ICAgICAgICAgIGN1cnJQb2ludC5tb3ZlKGZvbnQud2lkdGgoc3VicnVuKSwgMCk7CiAgICAgfQog
CiAgICAgYmlkaVJlc29sdmVyLmRlbGV0ZVJ1bnMoKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRl
eHQ6OmRyYXdIaWdobGlnaHRGb3JUZXh0KGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4m
IHJ1biwgY29uc3QgSW50UG9pbnQmIHBvaW50LCBpbnQgaCwgY29uc3QgQ29sb3ImIGJhY2tncm91
bmRDb2xvciwgQ29sb3JTcGFjZSBjb2xvclNwYWNlLCBpbnQgZnJvbSwgaW50IHRvKQordm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdIaWdobGlnaHRGb3JUZXh0KGNvbnN0IEZvbnQmIGZvbnQsIGNv
bnN0IFRleHRSdW4mIHJ1biwgY29uc3QgRmxvYXRQb2ludCYgcG9pbnQsIGludCBoLCBjb25zdCBD
b2xvciYgYmFja2dyb3VuZENvbG9yLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UsIGludCBmcm9tLCBp
bnQgdG8pCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0LmgJKHJldmlzaW9uIDc4MjcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTMzNSwyMCArMzM1LDIw
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVGV4dERyYXdpbmdNb2RlRmxhZ3MgdGV4
dERyYXdpbmdNb2RlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgc2V0VGV4dERyYXdpbmdNb2RlKFRl
eHREcmF3aW5nTW9kZUZsYWdzKTsKIAotICAgICAgICB2b2lkIGRyYXdUZXh0KGNvbnN0IEZvbnQm
LCBjb25zdCBUZXh0UnVuJiwgY29uc3QgSW50UG9pbnQmLCBpbnQgZnJvbSA9IDAsIGludCB0byA9
IC0xKTsKLSAgICAgICAgdm9pZCBkcmF3RW1waGFzaXNNYXJrcyhjb25zdCBGb250JiwgY29uc3Qg
VGV4dFJ1biYgLCBjb25zdCBBdG9taWNTdHJpbmcmIG1hcmssIGNvbnN0IEludFBvaW50JiwgaW50
IGZyb20gPSAwLCBpbnQgdG8gPSAtMSk7CisgICAgICAgIHZvaWQgZHJhd1RleHQoY29uc3QgRm9u
dCYsIGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQg
dG8gPSAtMSk7CisgICAgICAgIHZvaWQgZHJhd0VtcGhhc2lzTWFya3MoY29uc3QgRm9udCYsIGNv
bnN0IFRleHRSdW4mICwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBGbG9hdFBvaW50
JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSk7CiAgICAgICAgIHZvaWQgZHJhd0JpZGlUZXh0
KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxvYXRQb2ludCYpOwotICAgICAg
ICB2b2lkIGRyYXdIaWdobGlnaHRGb3JUZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwg
Y29uc3QgSW50UG9pbnQmLCBpbnQgaCwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgQ29s
b3JTcGFjZSwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSk7CisgICAgICAgIHZvaWQgZHJhd0hp
Z2hsaWdodEZvclRleHQoY29uc3QgRm9udCYsIGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9hdFBv
aW50JiwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3IsIENvbG9yU3BhY2UsIGlu
dCBmcm9tID0gMCwgaW50IHRvID0gLTEpOwogCiAgICAgICAgIEZsb2F0UmVjdCByb3VuZFRvRGV2
aWNlUGl4ZWxzKGNvbnN0IEZsb2F0UmVjdCYpOwogCi0gICAgICAgIHZvaWQgZHJhd0xpbmVGb3JU
ZXh0KGNvbnN0IEludFBvaW50JiwgaW50IHdpZHRoLCBib29sIHByaW50aW5nKTsKKyAgICAgICAg
dm9pZCBkcmF3TGluZUZvclRleHQoY29uc3QgRmxvYXRQb2ludCYsIGZsb2F0IHdpZHRoLCBib29s
IHByaW50aW5nKTsKICAgICAgICAgZW51bSBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUgewogICAgICAg
ICAgICAgVGV4dENoZWNraW5nU3BlbGxpbmdMaW5lU3R5bGUsCiAgICAgICAgICAgICBUZXh0Q2hl
Y2tpbmdHcmFtbWFyTGluZVN0eWxlLAogICAgICAgICAgICAgVGV4dENoZWNraW5nUmVwbGFjZW1l
bnRMaW5lU3R5bGUKICAgICAgICAgfTsKLSAgICAgICAgdm9pZCBkcmF3TGluZUZvclRleHRDaGVj
a2luZyhjb25zdCBJbnRQb2ludCYsIGludCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlKTsK
KyAgICAgICAgdm9pZCBkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBGbG9hdFBvaW50Jiwg
ZmxvYXQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSk7CiAKICAgICAgICAgYm9vbCBwYWlu
dGluZ0Rpc2FibGVkKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgc2V0UGFpbnRpbmdEaXNhYmxlZChi
b29sKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnRE
YXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9T
aW1wbGVGb250RGF0YS5jcHAJKHJldmlzaW9uIDc4MjcxKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgs
NyArMTA4LDYgQEAgU2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRhKFBhc3NPd25QdAogICAg
IG1fc3BhY2VHbHlwaCA9IDA7CiAgICAgbV96ZXJvV2lkdGhTcGFjZUdseXBoID0gMDsKICAgICBk
ZXRlcm1pbmVQaXRjaCgpOwotICAgIG1fYWRqdXN0ZWRTcGFjZVdpZHRoID0gcm91bmRmKG1fc3Bh
Y2VXaWR0aCk7CiAgICAgbV9taXNzaW5nR2x5cGhEYXRhLmZvbnREYXRhID0gdGhpczsKICAgICBt
X21pc3NpbmdHbHlwaERhdGEuZ2x5cGggPSAwOwogfQpAQCAtMTQzLDcgKzE0Miw2IEBAIHZvaWQg
U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtR2x5cGhJbml0KCkKICAgICAgICAgTE9HX0VSUk9SKCJG
YWlsZWQgdG8gZ2V0IGdseXBoIHBhZ2UgemVyby4iKTsKICAgICAgICAgbV9zcGFjZUdseXBoID0g
MDsKICAgICAgICAgbV9zcGFjZVdpZHRoID0gMDsKLSAgICAgICAgbV9hZGp1c3RlZFNwYWNlV2lk
dGggPSAwOwogICAgICAgICBkZXRlcm1pbmVQaXRjaCgpOwogICAgICAgICBtX3plcm9XaWR0aFNw
YWNlR2x5cGggPSAwOwogICAgICAgICBtX21pc3NpbmdHbHlwaERhdGEuZm9udERhdGEgPSB0aGlz
OwpAQCAtMTYwLDcgKzE1OCw2IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtR2x5cGhJ
bml0KCkKICAgICBmbG9hdCB3aWR0aCA9IHdpZHRoRm9yR2x5cGgobV9zcGFjZUdseXBoKTsKICAg
ICBtX3NwYWNlV2lkdGggPSB3aWR0aDsKICAgICBkZXRlcm1pbmVQaXRjaCgpOwotICAgIG1fYWRq
dXN0ZWRTcGFjZVdpZHRoID0gbV90cmVhdEFzRml4ZWRQaXRjaCA/IGNlaWxmKHdpZHRoKSA6IHJv
dW5kZih3aWR0aCk7CiAKICAgICAvLyBGb3JjZSB0aGUgZ2x5cGggZm9yIFpFUk8gV0lEVEggU1BB
Q0UgdG8gaGF2ZSB6ZXJvIHdpZHRoLCB1bmxlc3MgaXQgaXMgc2hhcmVkIHdpdGggU1BBQ0UuCiAg
ICAgLy8gSGVsdmV0aWNhIGlzIGFuIGV4YW1wbGUgb2YgYSBub24temVybyB3aWR0aCBaRVJPIFdJ
RFRIIFNQQUNFIGdseXBoLgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
U2ltcGxlRm9udERhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9TaW1wbGVGb250RGF0YS5oCShyZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgJKHdvcmtpbmcgY29weSkKQEAg
LTExMiw3ICsxMTIsNiBAQCBwdWJsaWM6CiAgICAgZmxvYXQgcGxhdGZvcm1XaWR0aEZvckdseXBo
KEdseXBoKSBjb25zdDsKIAogICAgIGZsb2F0IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBt
X3NwYWNlV2lkdGg7IH0KLSAgICBmbG9hdCBhZGp1c3RlZFNwYWNlV2lkdGgoKSBjb25zdCB7IHJl
dHVybiBtX2FkanVzdGVkU3BhY2VXaWR0aDsgfQogCiAjaWYgUExBVEZPUk0oQ0cpIHx8IFBMQVRG
T1JNKENBSVJPKSB8fCBQTEFURk9STShXWCkKICAgICBmbG9hdCBzeW50aGV0aWNCb2xkT2Zmc2V0
KCkgY29uc3QgeyByZXR1cm4gbV9zeW50aGV0aWNCb2xkT2Zmc2V0OyB9CkBAIC0yMzAsNyArMjI5
LDYgQEAgcHJpdmF0ZToKIAogICAgIEdseXBoIG1fc3BhY2VHbHlwaDsKICAgICBmbG9hdCBtX3Nw
YWNlV2lkdGg7Ci0gICAgZmxvYXQgbV9hZGp1c3RlZFNwYWNlV2lkdGg7CiAKICAgICBHbHlwaCBt
X3plcm9XaWR0aFNwYWNlR2x5cGg7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1N0cmluZ1RydW5jYXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmNwcAkocmV2aXNpb24gNzgyNzEpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TdHJpbmdUcnVuY2F0b3IuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC05MiwyMiArOTIsMjAgQEAgc3RhdGljIHVuc2lnbmVkIHJpZ2h0VHJ1
bmNhdGVUb0J1ZmZlcihjbwogICAgIHJldHVybiB0cnVuY2F0ZWRMZW5ndGg7CiB9CiAKLXN0YXRp
YyBmbG9hdCBzdHJpbmdXaWR0aChjb25zdCBGb250JiByZW5kZXJlciwgY29uc3QgVUNoYXIqIGNo
YXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcykKK3N0
YXRpYyBmbG9hdCBzdHJpbmdXaWR0aChjb25zdCBGb250JiByZW5kZXJlciwgY29uc3QgVUNoYXIq
IGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKIHsKICAgICBUZXh0UnVuIHJ1bihjaGFyYWN0
ZXJzLCBsZW5ndGgpOwotICAgIGlmIChkaXNhYmxlUm91bmRpbmdIYWNrcykKLSAgICAgICAgcnVu
LmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7Ci0gICAgcmV0dXJuIHJlbmRlcmVyLmZsb2F0V2lkdGgo
cnVuKTsKKyAgICByZXR1cm4gcmVuZGVyZXIud2lkdGgocnVuKTsKIH0KIAotc3RhdGljIFN0cmlu
ZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNv
bnN0IEZvbnQmIGZvbnQsIFRydW5jYXRpb25GdW5jdGlvbiB0cnVuY2F0ZVRvQnVmZmVyLCBib29s
IGRpc2FibGVSb3VuZGluZ0hhY2tzKQorc3RhdGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhjb25z
dCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZvbnQsIFRydW5j
YXRpb25GdW5jdGlvbiB0cnVuY2F0ZVRvQnVmZmVyKQogewogICAgIGlmIChzdHJpbmcuaXNFbXB0
eSgpKQogICAgICAgICByZXR1cm4gc3RyaW5nOwogICAgIAogICAgIEFTU0VSVChtYXhXaWR0aCA+
PSAwKTsKICAgICAKLSAgICBmbG9hdCBjdXJyZW50RWxsaXBzaXNXaWR0aCA9IHN0cmluZ1dpZHRo
KGZvbnQsICZob3Jpem9udGFsRWxsaXBzaXMsIDEsIGRpc2FibGVSb3VuZGluZ0hhY2tzKTsKKyAg
ICBmbG9hdCBjdXJyZW50RWxsaXBzaXNXaWR0aCA9IHN0cmluZ1dpZHRoKGZvbnQsICZob3Jpem9u
dGFsRWxsaXBzaXMsIDEpOwogICAgIAogICAgIFVDaGFyIHN0cmluZ0J1ZmZlcltTVFJJTkdfQlVG
RkVSX1NJWkVdOwogICAgIHVuc2lnbmVkIHRydW5jYXRlZExlbmd0aDsKQEAgLTEyMyw3ICsxMjEs
NyBAQCBzdGF0aWMgU3RyaW5nIHRydW5jYXRlU3RyaW5nKGNvbnN0IFN0cmluCiAgICAgICAgIHRy
dW5jYXRlZExlbmd0aCA9IGxlbmd0aDsKICAgICB9CiAKLSAgICBmbG9hdCB3aWR0aCA9IHN0cmlu
Z1dpZHRoKGZvbnQsIHN0cmluZ0J1ZmZlciwgdHJ1bmNhdGVkTGVuZ3RoLCBkaXNhYmxlUm91bmRp
bmdIYWNrcyk7CisgICAgZmxvYXQgd2lkdGggPSBzdHJpbmdXaWR0aChmb250LCBzdHJpbmdCdWZm
ZXIsIHRydW5jYXRlZExlbmd0aCk7CiAgICAgaWYgKHdpZHRoIDw9IG1heFdpZHRoKQogICAgICAg
ICByZXR1cm4gc3RyaW5nOwogCkBAIC0xNTksNyArMTU3LDcgQEAgc3RhdGljIFN0cmluZyB0cnVu
Y2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAgICAgICAKICAgICAgICAgdHJ1bmNhdGVkTGVuZ3Ro
ID0gdHJ1bmNhdGVUb0J1ZmZlcihzdHJpbmcsIGxlbmd0aCwga2VlcENvdW50LCBzdHJpbmdCdWZm
ZXIpOwogCi0gICAgICAgIHdpZHRoID0gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5nQnVmZmVyLCB0
cnVuY2F0ZWRMZW5ndGgsIGRpc2FibGVSb3VuZGluZ0hhY2tzKTsKKyAgICAgICAgd2lkdGggPSBz
dHJpbmdXaWR0aChmb250LCBzdHJpbmdCdWZmZXIsIHRydW5jYXRlZExlbmd0aCk7CiAgICAgICAg
IGlmICh3aWR0aCA8PSBtYXhXaWR0aCkgewogICAgICAgICAgICAga2VlcENvdW50Rm9yTGFyZ2Vz
dEtub3duVG9GaXQgPSBrZWVwQ291bnQ7CiAgICAgICAgICAgICB3aWR0aEZvckxhcmdlc3RLbm93
blRvRml0ID0gd2lkdGg7CkBAIC0xODEsMTkgKzE3OSwxOSBAQCBzdGF0aWMgU3RyaW5nIHRydW5j
YXRlU3RyaW5nKGNvbnN0IFN0cmluCiAgICAgcmV0dXJuIFN0cmluZyhzdHJpbmdCdWZmZXIsIHRy
dW5jYXRlZExlbmd0aCk7CiB9CiAKLVN0cmluZyBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5j
YXRlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9udCYgZm9u
dCwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcykKK1N0cmluZyBTdHJpbmdUcnVuY2F0b3I6OmNl
bnRlclRydW5jYXRlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBmbG9hdCBtYXhXaWR0aCwgY29uc3Qg
Rm9udCYgZm9udCkKIHsKLSAgICByZXR1cm4gdHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBtYXhXaWR0
aCwgZm9udCwgY2VudGVyVHJ1bmNhdGVUb0J1ZmZlciwgZGlzYWJsZVJvdW5kaW5nSGFja3MpOwor
ICAgIHJldHVybiB0cnVuY2F0ZVN0cmluZyhzdHJpbmcsIG1heFdpZHRoLCBmb250LCBjZW50ZXJU
cnVuY2F0ZVRvQnVmZmVyKTsKIH0KIAotU3RyaW5nIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVu
Y2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZv
bnQsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MpCitTdHJpbmcgU3RyaW5nVHJ1bmNhdG9yOjpy
aWdodFRydW5jYXRlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBmbG9hdCBtYXhXaWR0aCwgY29uc3Qg
Rm9udCYgZm9udCkKIHsKLSAgICByZXR1cm4gdHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBtYXhXaWR0
aCwgZm9udCwgcmlnaHRUcnVuY2F0ZVRvQnVmZmVyLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7Cisg
ICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4V2lkdGgsIGZvbnQsIHJpZ2h0VHJ1
bmNhdGVUb0J1ZmZlcik7CiB9CiAKLWZsb2F0IFN0cmluZ1RydW5jYXRvcjo6d2lkdGgoY29uc3Qg
U3RyaW5nJiBzdHJpbmcsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFj
a3MpCitmbG9hdCBTdHJpbmdUcnVuY2F0b3I6OndpZHRoKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBj
b25zdCBGb250JiBmb250KQogewotICAgIHJldHVybiBzdHJpbmdXaWR0aChmb250LCBzdHJpbmcu
Y2hhcmFjdGVycygpLCBzdHJpbmcubGVuZ3RoKCksIGRpc2FibGVSb3VuZGluZ0hhY2tzKTsKKyAg
ICByZXR1cm4gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5nLmNoYXJhY3RlcnMoKSwgc3RyaW5nLmxl
bmd0aCgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmgJKHJldmlzaW9u
IDc4MjcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNh
dG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDkgKzM3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIAogICAgIGNsYXNzIFN0cmluZ1RydW5jYXRvciB7CiAgICAgcHVibGljOgotICAgICAg
ICBzdGF0aWMgU3RyaW5nIGNlbnRlclRydW5jYXRlKGNvbnN0IFN0cmluZyYsIGZsb2F0IG1heFdp
ZHRoLCBjb25zdCBGb250JiwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcyA9IHRydWUpOwotICAg
ICAgICBzdGF0aWMgU3RyaW5nIHJpZ2h0VHJ1bmNhdGUoY29uc3QgU3RyaW5nJiwgZmxvYXQgbWF4
V2lkdGgsIGNvbnN0IEZvbnQmLCBib29sIGRpc2FibGVSb3VuZGluZ0hhY2tzID0gdHJ1ZSk7Ci0g
ICAgICAgIHN0YXRpYyBmbG9hdCB3aWR0aChjb25zdCBTdHJpbmcmLCBjb25zdCBGb250JiwgYm9v
bCBkaXNhYmxlUm91bmRpbmdIYWNrcyA9IHRydWUpOworICAgICAgICBzdGF0aWMgU3RyaW5nIGNl
bnRlclRydW5jYXRlKGNvbnN0IFN0cmluZyYsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250Jik7
CisgICAgICAgIHN0YXRpYyBTdHJpbmcgcmlnaHRUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBmbG9h
dCBtYXhXaWR0aCwgY29uc3QgRm9udCYpOworICAgICAgICBzdGF0aWMgZmxvYXQgd2lkdGgoY29u
c3QgU3RyaW5nJiwgY29uc3QgRm9udCYpOwogICAgIH07CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5o
CShyZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Rl
eHRSdW4uaAkod29ya2luZyBjb3B5KQpAQCAtMzgsOCArMzgsNyBAQCBwdWJsaWM6CiAgICAgICAg
IEZvcmJpZFRyYWlsaW5nRXhwYW5zaW9uCiAgICAgfTsKIAotICAgIFRleHRSdW4oY29uc3QgVUNo
YXIqIGMsIGludCBsZW4sIGJvb2wgYWxsb3dUYWJzID0gZmFsc2UsIGludCB4cG9zID0gMCwgaW50
IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNp
b25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGJvb2wgcnRsID0gZmFsc2UsIGJv
b2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlLAotICAgICAgICAgICAgICBib29sIGFwcGx5
UnVuUm91bmRpbmcgPSB0cnVlLCBib29sIGFwcGx5V29yZFJvdW5kaW5nID0gdHJ1ZSkKKyAgICBU
ZXh0UnVuKGNvbnN0IFVDaGFyKiBjLCBpbnQgbGVuLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBm
bG9hdCB4cG9zID0gMCwgZmxvYXQgZXhwYW5zaW9uID0gMCwgVHJhaWxpbmdFeHBhbnNpb25CZWhh
dmlvciB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yID0gQWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwg
Ym9vbCBydGwgPSBmYWxzZSwgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRlID0gZmFsc2UpCiAgICAg
ICAgIDogbV9jaGFyYWN0ZXJzKGMpCiAgICAgICAgICwgbV9sZW4obGVuKQogICAgICAgICAsIG1f
eHBvcyh4cG9zKQpAQCAtNTEsOCArNTAsNiBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9hbGxvd1Rh
YnMoYWxsb3dUYWJzKQogICAgICAgICAsIG1fcnRsKHJ0bCkKICAgICAgICAgLCBtX2RpcmVjdGlv
bmFsT3ZlcnJpZGUoZGlyZWN0aW9uYWxPdmVycmlkZSkKLSAgICAgICAgLCBtX2FwcGx5UnVuUm91
bmRpbmcoYXBwbHlSdW5Sb3VuZGluZykKLSAgICAgICAgLCBtX2FwcGx5V29yZFJvdW5kaW5nKGFw
cGx5V29yZFJvdW5kaW5nKQogICAgICAgICAsIG1fZGlzYWJsZVNwYWNpbmcoZmFsc2UpCiAjaWYg
RU5BQkxFKFNWR19GT05UUykKICAgICAgICAgLCBtX3JlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KDAp
CkBAIC02MSw4ICs1OCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgVGV4dFJ1bihj
b25zdCBTdHJpbmcmIHMsIGJvb2wgYWxsb3dUYWJzID0gZmFsc2UsIGludCB4cG9zID0gMCwgaW50
IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNp
b25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGJvb2wgcnRsID0gZmFsc2UsIGJv
b2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlLAotICAgICAgICAgICAgICBib29sIGFwcGx5
UnVuUm91bmRpbmcgPSB0cnVlLCBib29sIGFwcGx5V29yZFJvdW5kaW5nID0gdHJ1ZSkKKyAgICBU
ZXh0UnVuKGNvbnN0IFN0cmluZyYgcywgYm9vbCBhbGxvd1RhYnMgPSBmYWxzZSwgZmxvYXQgeHBv
cyA9IDAsIGZsb2F0IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgdHJh
aWxpbmdFeHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGJvb2wgcnRs
ID0gZmFsc2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlKQogICAgICAgICA6IG1f
Y2hhcmFjdGVycyhzLmNoYXJhY3RlcnMoKSkKICAgICAgICAgLCBtX2xlbihzLmxlbmd0aCgpKQog
ICAgICAgICAsIG1feHBvcyh4cG9zKQpAQCAtNzQsOCArNzAsNiBAQCBwdWJsaWM6CiAgICAgICAg
ICwgbV9hbGxvd1RhYnMoYWxsb3dUYWJzKQogICAgICAgICAsIG1fcnRsKHJ0bCkKICAgICAgICAg
LCBtX2RpcmVjdGlvbmFsT3ZlcnJpZGUoZGlyZWN0aW9uYWxPdmVycmlkZSkKLSAgICAgICAgLCBt
X2FwcGx5UnVuUm91bmRpbmcoYXBwbHlSdW5Sb3VuZGluZykKLSAgICAgICAgLCBtX2FwcGx5V29y
ZFJvdW5kaW5nKGFwcGx5V29yZFJvdW5kaW5nKQogICAgICAgICAsIG1fZGlzYWJsZVNwYWNpbmco
ZmFsc2UpCiAjaWYgRU5BQkxFKFNWR19GT05UUykKICAgICAgICAgLCBtX3JlZmVyZW5jaW5nUmVu
ZGVyT2JqZWN0KDApCkBAIC05OCwxOCArOTIsMTUgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICBi
b29sIGFsbG93VGFicygpIGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dUYWJzOyB9Ci0gICAgaW50IHhQ
b3MoKSBjb25zdCB7IHJldHVybiBtX3hwb3M7IH0KLSAgICBpbnQgZXhwYW5zaW9uKCkgY29uc3Qg
eyByZXR1cm4gbV9leHBhbnNpb247IH0KKyAgICBmbG9hdCB4UG9zKCkgY29uc3QgeyByZXR1cm4g
bV94cG9zOyB9CisgICAgZmxvYXQgZXhwYW5zaW9uKCkgY29uc3QgeyByZXR1cm4gbV9leHBhbnNp
b247IH0KICAgICBib29sIGFsbG93c1RyYWlsaW5nRXhwYW5zaW9uKCkgY29uc3QgeyByZXR1cm4g
bV90cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yID09IEFsbG93VHJhaWxpbmdFeHBhbnNpb247IH0K
ICAgICBib29sIHJ0bCgpIGNvbnN0IHsgcmV0dXJuIG1fcnRsOyB9CiAgICAgYm9vbCBsdHIoKSBj
b25zdCB7IHJldHVybiAhbV9ydGw7IH0KICAgICBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUoKSBj
b25zdCB7IHJldHVybiBtX2RpcmVjdGlvbmFsT3ZlcnJpZGU7IH0KLSAgICBib29sIGFwcGx5UnVu
Um91bmRpbmcoKSBjb25zdCB7IHJldHVybiBtX2FwcGx5UnVuUm91bmRpbmc7IH0KLSAgICBib29s
IGFwcGx5V29yZFJvdW5kaW5nKCkgY29uc3QgeyByZXR1cm4gbV9hcHBseVdvcmRSb3VuZGluZzsg
fQogICAgIGJvb2wgc3BhY2luZ0Rpc2FibGVkKCkgY29uc3QgeyByZXR1cm4gbV9kaXNhYmxlU3Bh
Y2luZzsgfQogCiAgICAgdm9pZCBkaXNhYmxlU3BhY2luZygpIHsgbV9kaXNhYmxlU3BhY2luZyA9
IHRydWU7IH0KLSAgICB2b2lkIGRpc2FibGVSb3VuZGluZ0hhY2tzKCkgeyBtX2FwcGx5UnVuUm91
bmRpbmcgPSBtX2FwcGx5V29yZFJvdW5kaW5nID0gZmFsc2U7IH0KICAgICB2b2lkIHNldFJUTChi
b29sIGIpIHsgbV9ydGwgPSBiOyB9CiAgICAgdm9pZCBzZXREaXJlY3Rpb25hbE92ZXJyaWRlKGJv
b2wgb3ZlcnJpZGUpIHsgbV9kaXJlY3Rpb25hbE92ZXJyaWRlID0gb3ZlcnJpZGU7IH0KIApAQCAt
MTI4LDggKzExOSw4IEBAIHByaXZhdGU6CiAgICAgLy8gbV94cG9zIGlzIHRoZSB4IHBvc2l0aW9u
IHJlbGF0aXZlIHRvIHRoZSBsZWZ0IHN0YXJ0IG9mIHRoZSB0ZXh0IGxpbmUsIG5vdCByZWxhdGl2
ZSB0byB0aGUgbGVmdAogICAgIC8vIHN0YXJ0IG9mIHRoZSBjb250YWluaW5nIGJsb2NrLiBJbiB0
aGUgY2FzZSBvZiByaWdodCBhbGlnbm1lbnQgb3IgY2VudGVyIGFsaWdubWVudCwgbGVmdCBzdGFy
dCBvZgogICAgIC8vIHRoZSB0ZXh0IGxpbmUgaXMgbm90IHRoZSBzYW1lIGFzIGxlZnQgc3RhcnQg
b2YgdGhlIGNvbnRhaW5pbmcgYmxvY2suCi0gICAgaW50IG1feHBvczsgIAotICAgIGludCBtX2V4
cGFuc2lvbjsKKyAgICBmbG9hdCBtX3hwb3M7ICAKKyAgICBmbG9hdCBtX2V4cGFuc2lvbjsKICAg
ICBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIG1fdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvcjsK
ICNpZiBFTkFCTEUoU1ZHKQogICAgIGZsb2F0IG1faG9yaXpvbnRhbEdseXBoU3RyZXRjaDsKQEAg
LTEzNyw4ICsxMjgsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9hbGxvd1RhYnM7CiAgICAgYm9v
bCBtX3J0bDsKICAgICBib29sIG1fZGlyZWN0aW9uYWxPdmVycmlkZTsKLSAgICBib29sIG1fYXBw
bHlSdW5Sb3VuZGluZzsKLSAgICBib29sIG1fYXBwbHlXb3JkUm91bmRpbmc7CiAgICAgYm9vbCBt
X2Rpc2FibGVTcGFjaW5nOwogCiAjaWYgRU5BQkxFKFNWR19GT05UUykKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCShyZXZp
c2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRl
cmF0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw3ICs0OCw2IEBAIFdpZHRoSXRlcmF0b3I6
OldpZHRoSXRlcmF0b3IoY29uc3QgRm9udCoKICAgICAsIG1fY3VycmVudENoYXJhY3RlcigwKQog
ICAgICwgbV9ydW5XaWR0aFNvRmFyKDApCiAgICAgLCBtX2lzQWZ0ZXJFeHBhbnNpb24odHJ1ZSkK
LSAgICAsIG1fZmluYWxSb3VuZGluZ1dpZHRoKDApCiAgICAgLCBtX2ZhbGxiYWNrRm9udHMoZmFs
bGJhY2tGb250cykKICAgICAsIG1fYWNjb3VudEZvckdseXBoQm91bmRzKGFjY291bnRGb3JHbHlw
aEJvdW5kcykKICAgICAsIG1fbWF4R2x5cGhCb3VuZGluZ0JveFkobnVtZXJpY19saW1pdHM8Zmxv
YXQ+OjptaW4oKSkKQEAgLTg2LDExICs4NSw2IEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5j
ZShpbnQgb2Zmc2V0LCAKICAgICBib29sIHJ0bCA9IG1fcnVuLnJ0bCgpOwogICAgIGJvb2wgaGFz
RXh0cmFTcGFjaW5nID0gKG1fZm9udC0+bGV0dGVyU3BhY2luZygpIHx8IG1fZm9udC0+d29yZFNw
YWNpbmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNpbmdEaXNhYmxlZCgpOwogCi0g
ICAgZmxvYXQgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9IG1fcnVuV2lkdGhTb0ZhcjsKLSAgICBt
X3J1bldpZHRoU29GYXIgPSBmbG9vcmYobV9ydW5XaWR0aFNvRmFyKTsKLSAgICB3aWR0aFNpbmNl
TGFzdFJvdW5kaW5nIC09IG1fcnVuV2lkdGhTb0ZhcjsKLQotICAgIGZsb2F0IGxhc3RSb3VuZGlu
Z1dpZHRoID0gbV9maW5hbFJvdW5kaW5nV2lkdGg7CiAgICAgRmxvYXRSZWN0IGJvdW5kczsKIAog
ICAgIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBwcmltYXJ5Rm9udCA9IG1fZm9udC0+cHJpbWFyeUZv
bnQoKTsKQEAgLTEzNiw3ICsxMzAsNyBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50
IG9mZnNldCwgCiAgICAgICAgIGZsb2F0IHdpZHRoOwogICAgICAgICBpZiAoYyA9PSAnXHQnICYm
IG1fcnVuLmFsbG93VGFicygpKSB7CiAgICAgICAgICAgICBmbG9hdCB0YWJXaWR0aCA9IG1fZm9u
dC0+dGFiV2lkdGgoKmZvbnREYXRhKTsKLSAgICAgICAgICAgIHdpZHRoID0gdGFiV2lkdGggLSBm
bW9kZihtX3J1bi54UG9zKCkgKyBtX3J1bldpZHRoU29GYXIgKyB3aWR0aFNpbmNlTGFzdFJvdW5k
aW5nLCB0YWJXaWR0aCk7CisgICAgICAgICAgICB3aWR0aCA9IHRhYldpZHRoIC0gZm1vZGYobV9y
dW4ueFBvcygpICsgbV9ydW5XaWR0aFNvRmFyLCB0YWJXaWR0aCk7CiAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICB3aWR0aCA9IGZvbnREYXRhLT53aWR0aEZvckdseXBoKGdseXBoKTsKIApA
QCAtMTQ0LDEzICsxMzgsNiBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9mZnNl
dCwgCiAgICAgICAgICAgICAvLyBTVkcgdXNlcyBob3Jpem9udGFsR2x5cGhTdHJldGNoKCksIHdo
ZW4gdGV4dExlbmd0aCBpcyB1c2VkIHRvIHN0cmV0Y2gvc3F1ZWV6ZSB0ZXh0LgogICAgICAgICAg
ICAgd2lkdGggKj0gbV9ydW4uaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgpOwogI2VuZGlmCi0KLSAg
ICAgICAgICAgIC8vIFdlIHNwZWNpYWwgY2FzZSBzcGFjZXMgaW4gdHdvIHdheXMgd2hlbiBhcHBs
eWluZyB3b3JkIHJvdW5kaW5nLgotICAgICAgICAgICAgLy8gRmlyc3QsIHdlIHJvdW5kIHNwYWNl
cyB0byBhbiBhZGp1c3RlZCB3aWR0aCBpbiBhbGwgZm9udHMuCi0gICAgICAgICAgICAvLyBTZWNv
bmQsIGluIGZpeGVkLXBpdGNoIGZvbnRzIHdlIGVuc3VyZSB0aGF0IGFsbCBjaGFyYWN0ZXJzIHRo
YXQKLSAgICAgICAgICAgIC8vIG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgc3BhY2UgY2hhcmFjdGVy
IGhhdmUgdGhlIHNhbWUgd2lkdGggYXMgdGhlIHNwYWNlIGNoYXJhY3Rlci4KLSAgICAgICAgICAg
IGlmICh3aWR0aCA9PSBmb250RGF0YS0+c3BhY2VXaWR0aCgpICYmIChmb250RGF0YS0+cGl0Y2go
KSA9PSBGaXhlZFBpdGNoIHx8IGdseXBoID09IGZvbnREYXRhLT5zcGFjZUdseXBoKCkpICYmIG1f
cnVuLmFwcGx5V29yZFJvdW5kaW5nKCkpCi0gICAgICAgICAgICAgICAgd2lkdGggPSBmb250RGF0
YS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoZm9udERh
dGEgIT0gbGFzdEZvbnREYXRhICYmIHdpZHRoKSB7CkBAIC0xODMsMTQgKzE3MCwxNCBAQCB2b2lk
IFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9mZnNldCwgCiAgICAgICAgICAgICAgICAgICAg
IGlmICghdHJlYXRBc1NwYWNlICYmICFtX2lzQWZ0ZXJFeHBhbnNpb24pIHsKICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIFRha2UgdGhlIGV4cGFuc2lvbiBvcHBvcnR1bml0eSBiZWZvcmUgdGhp
cyBpZGVvZ3JhcGguCiAgICAgICAgICAgICAgICAgICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4
cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAgICAgICAgICAgICAgICAgICAgaW50IGV4cGFu
c2lvbiA9IHJvdW5kZihwcmV2aW91c0V4cGFuc2lvbikgLSByb3VuZGYobV9leHBhbnNpb24pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgZXhwYW5zaW9uID0gcHJldmlvdXNFeHBhbnNp
b24gLSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgICAgIG1fcnVuV2lkdGhTb0Zh
ciArPSBleHBhbnNpb247CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZ2x5cGhCdWZmZXIp
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmV4cGFuZExhc3RBZHZh
bmNlKGV4cGFuc2lvbik7CiAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0V4cGFuc2lv
biA9IG1fZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
ICAgIG1fZXhwYW5zaW9uIC09IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7Ci0gICAgICAgICAg
ICAgICAgICAgIHdpZHRoICs9IHJvdW5kZihwcmV2aW91c0V4cGFuc2lvbikgLSByb3VuZGYobV9l
eHBhbnNpb24pOworICAgICAgICAgICAgICAgICAgICB3aWR0aCArPSBwcmV2aW91c0V4cGFuc2lv
biAtIG1fZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24g
PSB0cnVlOwogICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICBtX2lz
QWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKQEAgLTIxNiw0MyArMjAzLDEwIEBAIHZvaWQgV2lkdGhJ
dGVyYXRvcjo6YWR2YW5jZShpbnQgb2Zmc2V0LCAKICAgICAgICAgY3AgKz0gY2x1c3Rlckxlbmd0
aDsKICAgICAgICAgY3VycmVudENoYXJhY3RlciArPSBjbHVzdGVyTGVuZ3RoOwogCi0gICAgICAg
IC8vIEFjY291bnQgZm9yIGZsb2F0L2ludGVnZXIgaW1wZWRhbmNlIG1pc21hdGNoIGJldHdlZW4g
Q0cgYW5kIEtIVE1MLiAiV29yZHMiIChjaGFyYWN0ZXJzIAotICAgICAgICAvLyBmb2xsb3dlZCBi
eSBhIGNoYXJhY3RlciBkZWZpbmVkIGJ5IGlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKCkpIGFyZSBh
bHdheXMgYW4gaW50ZWdlciB3aWR0aC4KLSAgICAgICAgLy8gV2UgYWRqdXN0IHRoZSB3aWR0aCBv
ZiB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgYSAid29yZCIgdG8gZW5zdXJlIGFuIGludGVnZXIgd2lk
dGguCi0gICAgICAgIC8vIElmIHdlIG1vdmUgS0hUTUwgdG8gZmxvYXRzIHdlIGNhbiByZW1vdmUg
dGhpcyAoYW5kIHJlbGF0ZWQpIGhhY2tzLgotCi0gICAgICAgIGZsb2F0IG9sZFdpZHRoID0gd2lk
dGg7Ci0KLSAgICAgICAgLy8gRm9yY2UgY2hhcmFjdGVycyB0aGF0IGFyZSB1c2VkIHRvIGRldGVy
bWluZSB3b3JkIGJvdW5kYXJpZXMgZm9yIHRoZSByb3VuZGluZyBoYWNrCi0gICAgICAgIC8vIHRv
IGJlIGludGVnZXIgd2lkdGgsIHNvIGZvbGxvd2luZyB3b3JkcyB3aWxsIHN0YXJ0IG9uIGFuIGlu
dGVnZXIgYm91bmRhcnkuCi0gICAgICAgIGlmIChtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpICYm
IEZvbnQ6OmlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKGMpKSB7Ci0gICAgICAgICAgICB3aWR0aCA9
IGNlaWxmKHdpZHRoKTsKLQotICAgICAgICAgICAgLy8gU2luY2Ugd2lkdGhTaW5jZUxhc3RSb3Vu
ZGluZyBjYW4gbG9zZSBwcmVjaXNpb24gaWYgd2UgaW5jbHVkZSBtZWFzdXJlbWVudHMgZm9yCi0g
ICAgICAgICAgICAvLyBwcmVjZWRpbmcgd2hpdGVzcGFjZSwgd2UgYnlwYXNzIGl0IGhlcmUuCi0g
ICAgICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gd2lkdGg7Ci0KLSAgICAgICAgICAgIC8vIFNp
bmNlIHRoaXMgaXMgYSByb3VuZGluZyBoYWNrIGNoYXJhY3Rlciwgd2Ugc2hvdWxkIGhhdmUgcmVz
ZXQgdGhpcyBzdW0gb24gdGhlIHByZXZpb3VzCi0gICAgICAgICAgICAvLyBpdGVyYXRpb24uCi0g
ICAgICAgICAgICBBU1NFUlQoIXdpZHRoU2luY2VMYXN0Um91bmRpbmcpOwotICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoZSBuZXh0IGNoYXJhY3RlciBp
cyBhICJyb3VuZGluZyBoYWNrIGNoYXJhY3RlciIsIGlmIHNvLCBhZGp1c3QKLSAgICAgICAgICAg
IC8vIHdpZHRoIHNvIHRoYXQgdGhlIHRvdGFsIHJ1biB3aWR0aCB3aWxsIGJlIG9uIGFuIGludGVn
ZXIgYm91bmRhcnkuCi0gICAgICAgICAgICBpZiAoKG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkg
JiYgY3VycmVudENoYXJhY3RlciA8IG1fcnVuLmxlbmd0aCgpICYmIEZvbnQ6OmlzUm91bmRpbmdI
YWNrQ2hhcmFjdGVyKCpjcCkpCi0gICAgICAgICAgICAgICAgICAgIHx8IChtX3J1bi5hcHBseVJ1
blJvdW5kaW5nKCkgJiYgY3VycmVudENoYXJhY3RlciA+PSBtX2VuZCkpIHsKLSAgICAgICAgICAg
ICAgICBmbG9hdCB0b3RhbFdpZHRoID0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyArIHdpZHRoOwot
ICAgICAgICAgICAgICAgIHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSBjZWlsZih0b3RhbFdpZHRo
KTsKLSAgICAgICAgICAgICAgICB3aWR0aCArPSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nIC0gdG90
YWxXaWR0aDsKLSAgICAgICAgICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gd2lkdGhTaW5jZUxh
c3RSb3VuZGluZzsKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gMDsK
LSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHdpZHRoU2luY2VMYXN0Um91bmRp
bmcgKz0gd2lkdGg7Ci0gICAgICAgIH0KKyAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRo
OwogCiAgICAgICAgIGlmIChnbHlwaEJ1ZmZlcikKLSAgICAgICAgICAgIGdseXBoQnVmZmVyLT5h
ZGQoZ2x5cGgsIGZvbnREYXRhLCAocnRsID8gb2xkV2lkdGggKyBsYXN0Um91bmRpbmdXaWR0aCA6
IHdpZHRoKSk7Ci0KLSAgICAgICAgbGFzdFJvdW5kaW5nV2lkdGggPSB3aWR0aCAtIG9sZFdpZHRo
OworICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmFkZChnbHlwaCwgZm9udERhdGEsIHdpZHRoKTsK
IAogICAgICAgICBpZiAobV9hY2NvdW50Rm9yR2x5cGhCb3VuZHMpIHsKICAgICAgICAgICAgIG1f
bWF4R2x5cGhCb3VuZGluZ0JveFkgPSBtYXgobV9tYXhHbHlwaEJvdW5kaW5nQm94WSwgYm91bmRz
Lm1heFkoKSk7CkBAIC0yNjIsOCArMjE2LDYgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNl
KGludCBvZmZzZXQsIAogICAgIH0KIAogICAgIG1fY3VycmVudENoYXJhY3RlciA9IGN1cnJlbnRD
aGFyYWN0ZXI7Ci0gICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoU2luY2VMYXN0Um91bmRpbmc7
Ci0gICAgbV9maW5hbFJvdW5kaW5nV2lkdGggPSBsYXN0Um91bmRpbmdXaWR0aDsKIH0KIAogYm9v
bCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlT25lQ2hhcmFjdGVyKGZsb2F0JiB3aWR0aCwgR2x5cGhC
dWZmZXIqIGdseXBoQnVmZmVyKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAkocmV2aXNpb24gNzgy
NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRl
eHRDRy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMzAsNyArMTEzMCw3IEBAIEZsb2F0UmVjdCBH
cmFwaGljc0NvbnRleHQ6OnJvdW5kVG9EZXZpY2UKICAgICByZXR1cm4gRmxvYXRSZWN0KHJvdW5k
ZWRPcmlnaW4sIHJvdW5kZWRMb3dlclJpZ2h0IC0gcm91bmRlZE9yaWdpbik7CiB9CiAKLXZvaWQg
R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgSW50UG9pbnQmIHBvaW50LCBp
bnQgd2lkdGgsIGJvb2wgcHJpbnRpbmcpCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVG
b3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBmbG9hdCB3aWR0aCwgYm9vbCBwcmludGlu
ZykKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9s
bGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAkocmV2aXNpb24gNzgyNzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDMyLDcgKzQzMiw2IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9s
bGVyOjphZGp1c3RHbHlwaHMKIAogICAgICAgICBib29sIGxhc3RSdW4gPSByICsgMSA9PSBydW5D
b3VudDsKICAgICAgICAgY29uc3QgVUNoYXIqIGNwID0gY29tcGxleFRleHRSdW4uY2hhcmFjdGVy
cygpOwotICAgICAgICBDR0Zsb2F0IHJvdW5kZWRTcGFjZVdpZHRoID0gcm91bmRDR0Zsb2F0KGZv
bnREYXRhLT5zcGFjZVdpZHRoKCkpOwogICAgICAgICBib29sIHJvdW5kc0FkdmFuY2VzID0gIW1f
Zm9udC5pc1ByaW50ZXJGb250KCkgJiYgZm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLnJvdW5kc0ds
eXBoQWR2YW5jZXMoKTsKICAgICAgICAgQ0dQb2ludCBnbHlwaE9yaWdpbiA9IENHUG9pbnRaZXJv
OwogICAgICAgICBDRkluZGV4IGxhc3RDaGFyYWN0ZXJJbmRleCA9IG1fcnVuLmx0cigpID8gbnVt
ZXJpY19saW1pdHM8Q0ZJbmRleD46Om1pbigpIDogbnVtZXJpY19saW1pdHM8Q0ZJbmRleD46Om1h
eCgpOwpAQCAtNDc1LDEzICs0NzQsNiBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRq
dXN0R2x5cGhzCiAKICAgICAgICAgICAgIGFkdmFuY2Uud2lkdGggKz0gZm9udERhdGEtPnN5bnRo
ZXRpY0JvbGRPZmZzZXQoKTsKIAotICAgICAgICAgICAgLy8gV2Ugc3BlY2lhbCBjYXNlIHNwYWNl
cyBpbiB0d28gd2F5cyB3aGVuIGFwcGx5aW5nIHdvcmQgcm91bmRpbmcuCi0gICAgICAgICAgICAv
LyBGaXJzdCwgd2Ugcm91bmQgc3BhY2VzIHRvIGFuIGFkanVzdGVkIHdpZHRoIGluIGFsbCBmb250
cy4KLSAgICAgICAgICAgIC8vIFNlY29uZCwgaW4gZml4ZWQtcGl0Y2ggZm9udHMgd2UgZW5zdXJl
IHRoYXQgYWxsIGdseXBocyB0aGF0Ci0gICAgICAgICAgICAvLyBtYXRjaCB0aGUgd2lkdGggb2Yg
dGhlIHNwYWNlIGdseXBoIGhhdmUgdGhlIHNhbWUgd2lkdGggYXMgdGhlIHNwYWNlIGdseXBoLgot
ICAgICAgICAgICAgaWYgKHJvdW5kZWRBZHZhbmNlV2lkdGggPT0gcm91bmRlZFNwYWNlV2lkdGgg
JiYgKGZvbnREYXRhLT5waXRjaCgpID09IEZpeGVkUGl0Y2ggfHwgZ2x5cGggPT0gZm9udERhdGEt
PnNwYWNlR2x5cGgoKSkgJiYgbV9ydW4uYXBwbHlXb3JkUm91bmRpbmcoKSkKLSAgICAgICAgICAg
ICAgICBhZHZhbmNlLndpZHRoID0gZm9udERhdGEtPmFkanVzdGVkU3BhY2VXaWR0aCgpOwotCiAg
ICAgICAgICAgICBpZiAoaGFzRXh0cmFTcGFjaW5nKSB7CiAgICAgICAgICAgICAgICAgLy8gSWYg
d2UncmUgYSBnbHlwaCB3aXRoIGFuIGFkdmFuY2UsIGdvIGFoZWFkIGFuZCBhZGQgaW4gbGV0dGVy
LXNwYWNpbmcuCiAgICAgICAgICAgICAgICAgLy8gVGhhdCB3YXkgd2Ugd2VlZCBvdXQgemVybyB3
aWR0aCBsdXJrZXJzLiAgVGhpcyBiZWhhdmlvciBtYXRjaGVzIHRoZSBmYXN0IHRleHQgY29kZSBw
YXRoLgpAQCAtNTE0LDMzICs1MDYsNyBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRq
dXN0R2x5cGhzCiAgICAgICAgICAgICAgICAgICAgIG1fYWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsK
ICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgLy8gRGVhbCB3aXRoIHRoZSBmbG9hdC9pbnRl
Z2VyIGltcGVkYW5jZSBtaXNtYXRjaCBiZXR3ZWVuIENHIGFuZCBXZWJDb3JlLiAiV29yZHMiIChj
aGFyYWN0ZXJzIAotICAgICAgICAgICAgLy8gZm9sbG93ZWQgYnkgYSBjaGFyYWN0ZXIgZGVmaW5l
ZCBieSBpc1JvdW5kaW5nSGFja0NoYXJhY3RlcigpKSBhcmUgYWx3YXlzIGFuIGludGVnZXIgd2lk
dGguCi0gICAgICAgICAgICAvLyBXZSBhZGp1c3QgdGhlIHdpZHRoIG9mIHRoZSBsYXN0IGNoYXJh
Y3RlciBvZiBhICJ3b3JkIiB0byBlbnN1cmUgYW4gaW50ZWdlciB3aWR0aC4KLSAgICAgICAgICAg
IC8vIEZvcmNlIGNoYXJhY3RlcnMgdGhhdCBhcmUgdXNlZCB0byBkZXRlcm1pbmUgd29yZCBib3Vu
ZGFyaWVzIGZvciB0aGUgcm91bmRpbmcgaGFjawotICAgICAgICAgICAgLy8gdG8gYmUgaW50ZWdl
ciB3aWR0aCwgc28gdGhlIGZvbGxvd2luZyB3b3JkcyB3aWxsIHN0YXJ0IG9uIGFuIGludGVnZXIg
Ym91bmRhcnkuCi0gICAgICAgICAgICBpZiAobV9ydW4uYXBwbHlXb3JkUm91bmRpbmcoKSAmJiBG
b250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcihjaCkpCi0gICAgICAgICAgICAgICAgYWR2YW5j
ZS53aWR0aCA9IGNlaWxDR0Zsb2F0KGFkdmFuY2Uud2lkdGgpOwotCi0gICAgICAgICAgICAvLyBD
aGVjayB0byBzZWUgaWYgdGhlIG5leHQgY2hhcmFjdGVyIGlzIGEgInJvdW5kaW5nIGhhY2sgY2hh
cmFjdGVyIiwgaWYgc28sIGFkanVzdCB0aGUKLSAgICAgICAgICAgIC8vIHdpZHRoIHNvIHRoYXQg
dGhlIHRvdGFsIHJ1biB3aWR0aCB3aWxsIGJlIG9uIGFuIGludGVnZXIgYm91bmRhcnkuCi0gICAg
ICAgICAgICBpZiAoKG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkgJiYgIWxhc3RHbHlwaCAmJiBG
b250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcihuZXh0Q2gpKSB8fCAobV9ydW4uYXBwbHlSdW5S
b3VuZGluZygpICYmIGxhc3RHbHlwaCkpIHsKLSAgICAgICAgICAgICAgICBDR0Zsb2F0IHRvdGFs
V2lkdGggPSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nICsgYWR2YW5jZS53aWR0aDsKLSAgICAgICAg
ICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gY2VpbENHRmxvYXQodG90YWxXaWR0aCk7
Ci0gICAgICAgICAgICAgICAgQ0dGbG9hdCBleHRyYVdpZHRoID0gd2lkdGhTaW5jZUxhc3RSb3Vu
ZGluZyAtIHRvdGFsV2lkdGg7Ci0gICAgICAgICAgICAgICAgaWYgKG1fcnVuLmx0cigpKQotICAg
ICAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoICs9IGV4dHJhV2lkdGg7Ci0gICAgICAgICAg
ICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChtX2xhc3RSb3VuZGluZ0dseXBo
KQotICAgICAgICAgICAgICAgICAgICAgICAgbV9hZGp1c3RlZEFkdmFuY2VzW21fbGFzdFJvdW5k
aW5nR2x5cGggLSAxXS53aWR0aCArPSBleHRyYVdpZHRoOwotICAgICAgICAgICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBtX2ZpbmFsUm91bmRpbmdXaWR0aCA9IGV4dHJh
V2lkdGg7Ci0gICAgICAgICAgICAgICAgICAgIG1fbGFzdFJvdW5kaW5nR2x5cGggPSBtX2FkanVz
dGVkQWR2YW5jZXMuc2l6ZSgpICsgMTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgbV90b3RhbFdpZHRoICs9IHdpZHRoU2luY2VMYXN0Um91bmRpbmc7Ci0gICAgICAgICAgICAg
ICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9IDA7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAg
ICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nICs9IGFkdmFuY2Uud2lkdGg7CisgICAg
ICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nICs9IGFkdmFuY2Uud2lkdGg7CiAKICAgICAg
ICAgICAgIC8vIEZJWE1FOiBDb21iaW5pbmcgbWFya3Mgc2hvdWxkIHJlY2VpdmUgYSB0ZXh0IGVt
cGhhc2lzIG1hcmsgaWYgdGhleSBhcmUgY29tYmluZSB3aXRoIGEgc3BhY2UuCiAgICAgICAgICAg
ICBpZiAobV9mb3JUZXh0RW1waGFzaXMgJiYgKCFGb250OjpjYW5SZWNlaXZlVGV4dEVtcGhhc2lz
KGNoKSB8fCAoVV9HRVRfR0NfTUFTSyhjaCkgJiBVX0dDX01fTUFTSykpKQpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dE1hYy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3ND
b250ZXh0TWFjLm1tCShyZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTEx
MiwxNCArMTEyLDE0IEBAIHN0YXRpYyBOU0NvbG9yKiBjcmVhdGVQYXR0ZXJuQ29sb3IoTlNTdHIK
IH0KIAogLy8gV2ViS2l0IG9uIE1hYyBpcyBhIHN0YW5kYXJkIHBsYXRmb3JtIGNvbXBvbmVudCwg
c28gaXQgbXVzdCB1c2UgdGhlIHN0YW5kYXJkIHBsYXRmb3JtIGFydHdvcmsgZm9yIHVuZGVybGlu
ZS4KLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBJ
bnRQb2ludCYgcG9pbnQsIGludCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQor
dm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEZsb2F0
UG9pbnQmIHBvaW50LCBmbG9hdCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQog
ewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKICAgICAgICAg
CiAgICAgLy8gVGhlc2UgYXJlIHRoZSBzYW1lIGZvciBtaXNzcGVsbGluZyBvciBiYWQgZ3JhbW1h
ci4KICAgICBpbnQgcGF0dGVybkhlaWdodCA9IGNNaXNzcGVsbGluZ0xpbmVUaGlja25lc3M7Ci0g
ICAgaW50IHBhdHRlcm5XaWR0aCA9IGNNaXNzcGVsbGluZ0xpbmVQYXR0ZXJuV2lkdGg7CisgICAg
ZmxvYXQgcGF0dGVybldpZHRoID0gY01pc3NwZWxsaW5nTGluZVBhdHRlcm5XaWR0aDsKIAogICAg
IGJvb2wgdXNpbmdEb3Q7CiAgICAgTlNDb2xvciAqcGF0dGVybkNvbG9yOwpAQCAtMTY1LDcgKzE2
NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGUKICAgICAvLyBz
cGFjZSBiZXR3ZWVuIGFkamFjZW50IG1pc3NwZWxsZWQgd29yZHMgd2FzIHVuZGVybGluZWQuCiAg
ICAgaWYgKHVzaW5nRG90KSB7CiAgICAgICAgIC8vIGFsbG93IHNsaWdodGx5IG1vcmUgY29uc2lk
ZXJpbmcgdGhhdCB0aGUgcGF0dGVybiBlbmRzIHdpdGggYSB0cmFuc3BhcmVudCBwaXhlbAotICAg
ICAgICBpbnQgd2lkdGhNb2QgPSB3aWR0aCAlIHBhdHRlcm5XaWR0aDsKKyAgICAgICAgZmxvYXQg
d2lkdGhNb2QgPSBmbW9kZih3aWR0aCwgcGF0dGVybldpZHRoKTsKICAgICAgICAgaWYgKHBhdHRl
cm5XaWR0aCAtIHdpZHRoTW9kID4gY01pc3NwZWxsaW5nTGluZVBhdHRlcm5HYXBXaWR0aCkKICAg
ICAgICAgICAgIHdpZHRoIC09IHdpZHRoTW9kOwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1hYy5tbQkocmV2aXNpb24gNzgyNzEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0xNTgsOCArMTU4LDcgQEAgc3RhdGljIGZsb2F0IHdpZHRoV2l0aEZvbnQoTlNTdHJpbmcgKnN0
cgogICAgIGlmIChjYW5Vc2VGYXN0UmVuZGVyZXIoYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKSkgewog
ICAgICAgICBGb250IHdlYkNvcmVGb250KEZvbnRQbGF0Zm9ybURhdGEoZm9udCwgW2ZvbnQgcG9p
bnRTaXplXSksICFbW05TR3JhcGhpY3NDb250ZXh0IGN1cnJlbnRDb250ZXh0XSBpc0RyYXdpbmdU
b1NjcmVlbl0pOwogICAgICAgICBUZXh0UnVuIHJ1bihidWZmZXIuZGF0YSgpLCBsZW5ndGgpOwot
ICAgICAgICBydW4uZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsKLSAgICAgICAgcmV0dXJuIHdlYkNv
cmVGb250LmZsb2F0V2lkdGgocnVuKTsKKyAgICAgICAgcmV0dXJuIHdlYkNvcmVGb250LndpZHRo
KHJ1bik7CiAgICAgfQogICAgIAogICAgIHJldHVybiBbc3RyaW5nIHNpemVXaXRoQXR0cmlidXRl
czpbTlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRoT2JqZWN0c0FuZEtleXM6Zm9udCwgTlNGb250
QXR0cmlidXRlTmFtZSwgbmlsXV0ud2lkdGg7CkBAIC0xOTcsOCArMTk2LDcgQEAgc3RhdGljIHZv
aWQgZHJhd0F0UG9pbnQoTlNTdHJpbmcgKnN0cmluZwogICAgICAgICAgICAgCiAgICAgICAgIEZv
bnQgd2ViQ29yZUZvbnQoRm9udFBsYXRmb3JtRGF0YShmb250LCBbZm9udCBwb2ludFNpemVdKSwg
IVtuc0NvbnRleHQgaXNEcmF3aW5nVG9TY3JlZW5dLCBBbnRpYWxpYXNlZCk7CiAgICAgICAgIFRl
eHRSdW4gcnVuKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCk7Ci0gICAgICAgIHJ1bi5kaXNhYmxlUm91
bmRpbmdIYWNrcygpOwotICAgICAgICAKKwogICAgICAgICBDR0Zsb2F0IHJlZDsKICAgICAgICAg
Q0dGbG9hdCBncmVlbjsKICAgICAgICAgQ0dGbG9hdCBibHVlOwpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL0ZpbGVDaG9vc2VyTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxlQ2hvb3Nlck1hYy5tbQkocmV2aXNpb24gNzgyNzEpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRmlsZUNob29zZXJNYWMubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTQ3LDkgKzQ3LDkgQEAgU3RyaW5nIEZpbGVDaG9vc2VyOjpiYXNlbmFtZUZvcldp
ZHRoKGNvbgogICAgIGVsc2UgaWYgKG1fZmlsZW5hbWVzLnNpemUoKSA9PSAxKQogICAgICAgICBz
dHJUb1RydW5jYXRlID0gW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBkaXNwbGF5TmFt
ZUF0UGF0aDoobV9maWxlbmFtZXNbMF0pXTsKICAgICBlbHNlCi0gICAgICAgIHJldHVybiBTdHJp
bmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUobXVsdGlwbGVGaWxlVXBsb2FkVGV4dChtX2ZpbGVu
YW1lcy5zaXplKCkpLCB3aWR0aCwgZm9udCwgZmFsc2UpOworICAgICAgICByZXR1cm4gU3RyaW5n
VHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmlsZVVwbG9hZFRleHQobV9maWxlbmFt
ZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQpOwogCi0gICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6
Y2VudGVyVHJ1bmNhdGUoc3RyVG9UcnVuY2F0ZSwgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICBy
ZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJUb1RydW5jYXRlLCB3aWR0
aCwgZm9udCk7CiB9CiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0
UmVzdWx0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVz
dFJlc3VsdC5jcHAJKHJldmlzaW9uIDc4MjcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0hpdFRlc3RSZXN1bHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDUsNiArNTQ1LDIzIEBAIGJv
b2wgSGl0VGVzdFJlc3VsdDo6YWRkTm9kZVRvUmVjdEJhc2VkVGUKICAgICByZXR1cm4gIXJlY3Qu
Y29udGFpbnMocmVjdEZvclBvaW50KHgsIHkpKTsKIH0KIAorYm9vbCBIaXRUZXN0UmVzdWx0Ojph
ZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KE5vZGUqIG5vZGUsIGludCB4LCBpbnQgeSwgY29u
c3QgRmxvYXRSZWN0JiByZWN0KQoreworICAgIC8vIElmIGl0IGlzIG5vdCBhIHJlY3QtYmFzZWQg
aGl0IHRlc3QsIHRoaXMgbWV0aG9kIGhhcyB0byBiZSBuby1vcC4KKyAgICAvLyBSZXR1cm4gZmFs
c2UsIHNvIHRoZSBoaXQgdGVzdCBzdG9wcy4KKyAgICBpZiAoIWlzUmVjdEJhc2VkVGVzdCgpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBJZiBub2RlIGlzIG51bGwsIHJldHVybiB0
cnVlIHNvIHRoZSBoaXQgdGVzdCBjYW4gY29udGludWUuCisgICAgaWYgKCFub2RlKQorICAgICAg
ICByZXR1cm4gdHJ1ZTsKKworICAgIG5vZGUgPSBub2RlLT5zaGFkb3dBbmNlc3Rvck5vZGUoKTsK
KyAgICBtX3JlY3RCYXNlZFRlc3RSZXN1bHQuYWRkKG5vZGUpOworCisgICAgcmV0dXJuICFyZWN0
LmNvbnRhaW5zKHJlY3RGb3JQb2ludCh4LCB5KSk7Cit9CisKIHZvaWQgSGl0VGVzdFJlc3VsdDo6
YXBwZW5kKGNvbnN0IEhpdFRlc3RSZXN1bHQmIG90aGVyKQogewogICAgIEFTU0VSVChpc1JlY3RC
YXNlZFRlc3QoKSAmJiBvdGhlci5pc1JlY3RCYXNlZFRlc3QoKSk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgJKHJldmlzaW9uIDc4MjcxKQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAkod29ya2luZyBjb3B5KQpAQCAtMjAs
NiArMjAsNyBAQAogI2lmbmRlZiBIaXRUZXN0UmVzdWx0X2gKICNkZWZpbmUgSGl0VGVzdFJlc3Vs
dF9oCiAKKyNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJJbnRQb2ludC5oIgogI2lu
Y2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCkBAIC0xMTAsNiArMTExLDcg
QEAgcHVibGljOgogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBpdCBpcyByZWN0LWJhc2VkIGhpdCB0
ZXN0IGFuZCBuZWVkcyB0byBjb250aW51ZSB1bnRpbCB0aGUgcmVjdCBpcyBmdWxseQogICAgIC8v
IGVuY2xvc2VkIGJ5IHRoZSBib3VuZGFyaWVzIG9mIGEgbm9kZS4KICAgICBib29sIGFkZE5vZGVU
b1JlY3RCYXNlZFRlc3RSZXN1bHQoTm9kZSosIGludCB4LCBpbnQgeSwgY29uc3QgSW50UmVjdCYg
cmVjdCA9IEludFJlY3QoKSk7CisgICAgYm9vbCBhZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0
KE5vZGUqLCBpbnQgeCwgaW50IHksIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCk7CiAgICAgY29uc3Qg
TGlzdEhhc2hTZXQ8UmVmUHRyPE5vZGU+ID4mIHJlY3RCYXNlZFRlc3RSZXN1bHQoKSBjb25zdCB7
IHJldHVybiBtX3JlY3RCYXNlZFRlc3RSZXN1bHQ7IH0KICAgICB2b2lkIGFwcGVuZChjb25zdCBI
aXRUZXN0UmVzdWx0Jik7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVC
b3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3gu
Y3BwCShyZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVC
b3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsNyArMTA2LDcgQEAgaW50IElubGluZUJveDo6
bG9naWNhbEhlaWdodCgpIGNvbnN0CiAgICAgICAgIHJlc3VsdCArPSBmbG93T2JqZWN0LT5ib3Jk
ZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdodCgpOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KKyAK
IGludCBJbmxpbmVCb3g6OmNhcmV0TWluT2Zmc2V0KCkgY29uc3QgCiB7IAogICAgIHJldHVybiBt
X3JlbmRlcmVyLT5jYXJldE1pbk9mZnNldCgpOyAKQEAgLTE1MCwxMyArMTUwLDE1IEBAIHZvaWQg
SW5saW5lQm94OjphdHRhY2hMaW5lKCkKICAgICAgICAgdG9SZW5kZXJCb3gobV9yZW5kZXJlcikt
PnNldElubGluZUJveFdyYXBwZXIodGhpcyk7CiB9CiAKLXZvaWQgSW5saW5lQm94OjphZGp1c3RQ
b3NpdGlvbihpbnQgZHgsIGludCBkeSkKK3ZvaWQgSW5saW5lQm94OjphZGp1c3RQb3NpdGlvbihm
bG9hdCBkeCwgZmxvYXQgZHkpCiB7CiAgICAgbV94ICs9IGR4OwogICAgIG1feSArPSBkeTsKICAg
ICBpZiAobV9yZW5kZXJlci0+aXNSZXBsYWNlZCgpKSB7CisgICAgICAgIG1feCA9IGNlaWxmKG1f
eCk7CisgICAgICAgIG1feSA9IGNlaWxmKG1feSk7CiAgICAgICAgIFJlbmRlckJveCogYm94ID0g
dG9SZW5kZXJCb3gobV9yZW5kZXJlcik7Ci0gICAgICAgIGJveC0+bW92ZShkeCwgZHkpOworICAg
ICAgICBib3gtPnNldExvY2F0aW9uKG1feCwgbV95KTsKICAgICB9CiB9CiAKQEAgLTI3OCwyMSAr
MjgwLDM1IEBAIGJvb2wgSW5saW5lQm94OjpjYW5BY2NvbW1vZGF0ZUVsbGlwc2lzKGIKICAgICBy
ZXR1cm4gIShib3hSZWN0LmludGVyc2VjdHMoZWxsaXBzaXNSZWN0KSk7CiB9CiAKLWludCBJbmxp
bmVCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCwgaW50LCBpbnQsIGludCwgYm9vbCYpCitmbG9h
dCBJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwg
Ym9vbCYpCiB7CiAgICAgLy8gVXNlIC0xIHRvIG1lYW4gIndlIGRpZG4ndCBzZXQgdGhlIHBvc2l0
aW9uLiIKICAgICByZXR1cm4gLTE7CiB9CiAKLUludFBvaW50IElubGluZUJveDo6bG9jYXRpb25J
bmNsdWRpbmdGbGlwcGluZygpCitGbG9hdFBvaW50IElubGluZUJveDo6bG9jYXRpb25JbmNsdWRp
bmdGbGlwcGluZygpCiB7CiAgICAgaWYgKCFyZW5kZXJlcigpLT5zdHlsZSgpLT5pc0ZsaXBwZWRC
bG9ja3NXcml0aW5nTW9kZSgpKQotICAgICAgICByZXR1cm4gSW50UG9pbnQoeCgpLCB5KCkpOwor
ICAgICAgICByZXR1cm4gRmxvYXRQb2ludCh4KCksIHkoKSk7CiAgICAgUmVuZGVyQmxvY2sqIGJs
b2NrID0gcm9vdCgpLT5ibG9jaygpOwogICAgIGlmIChibG9jay0+c3R5bGUoKS0+aXNIb3Jpem9u
dGFsV3JpdGluZ01vZGUoKSkKLSAgICAgICAgcmV0dXJuIEludFBvaW50KHgoKSwgYmxvY2stPmhl
aWdodCgpIC0gaGVpZ2h0KCkgLSB5KCkpOworICAgICAgICByZXR1cm4gRmxvYXRQb2ludCh4KCks
IGJsb2NrLT5oZWlnaHQoKSAtIGhlaWdodCgpIC0geSgpKTsKICAgICBlbHNlCi0gICAgICAgIHJl
dHVybiBJbnRQb2ludChibG9jay0+d2lkdGgoKSAtIHdpZHRoKCkgLSB4KCksIHkoKSk7CisgICAg
ICAgIHJldHVybiBGbG9hdFBvaW50KGJsb2NrLT53aWR0aCgpIC0gd2lkdGgoKSAtIHgoKSwgeSgp
KTsKK30KKwordm9pZCBJbmxpbmVCb3g6OmZsaXBGb3JXcml0aW5nTW9kZShGbG9hdFJlY3QmIHJl
Y3QpCit7CisgICAgaWYgKCFyZW5kZXJlcigpLT5zdHlsZSgpLT5pc0ZsaXBwZWRCbG9ja3NXcml0
aW5nTW9kZSgpKQorICAgICAgICByZXR1cm47CisgICAgcm9vdCgpLT5ibG9jaygpLT5mbGlwRm9y
V3JpdGluZ01vZGUocmVjdCk7Cit9CisKK0Zsb2F0UG9pbnQgSW5saW5lQm94OjpmbGlwRm9yV3Jp
dGluZ01vZGUoY29uc3QgRmxvYXRQb2ludCYgcG9pbnQpCit7CisgICAgaWYgKCFyZW5kZXJlcigp
LT5zdHlsZSgpLT5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQorICAgICAgICByZXR1cm4g
cG9pbnQ7CisgICAgcmV0dXJuIHJvb3QoKS0+YmxvY2soKS0+ZmxpcEZvcldyaXRpbmdNb2RlKHBv
aW50KTsKIH0KIAogdm9pZCBJbmxpbmVCb3g6OmZsaXBGb3JXcml0aW5nTW9kZShJbnRSZWN0JiBy
ZWN0KQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guaAkocmV2aXNpb24gNzgy
NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTY4LDcgKzY4LDcgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBJbmxpbmVC
b3goUmVuZGVyT2JqZWN0KiBvYmosIGludCB4LCBpbnQgeSwgaW50IGxvZ2ljYWxXaWR0aCwgYm9v
bCBmaXJzdExpbmUsIGJvb2wgY29uc3RydWN0ZWQsCisgICAgSW5saW5lQm94KFJlbmRlck9iamVj
dCogb2JqLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCBsb2dpY2FsV2lkdGgsIGJvb2wgZmlyc3RM
aW5lLCBib29sIGNvbnN0cnVjdGVkLAogICAgICAgICAgICAgICBib29sIGRpcnR5LCBib29sIGV4
dHJhY3RlZCwgYm9vbCBpc0hvcml6b250YWwsIElubGluZUJveCogbmV4dCwgSW5saW5lQm94KiBw
cmV2LCBJbmxpbmVGbG93Qm94KiBwYXJlbnQpCiAgICAgICAgIDogbV9uZXh0KG5leHQpCiAgICAg
ICAgICwgbV9wcmV2KHByZXYpCkBAIC0xMTIsMTUgKzExMiwxNSBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIGJvb2wgaXNMaW5lQnJlYWsoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCi0gICAg
dmlydHVhbCB2b2lkIGFkanVzdFBvc2l0aW9uKGludCBkeCwgaW50IGR5KTsKLSAgICB2b2lkIGFk
anVzdExpbmVEaXJlY3Rpb25Qb3NpdGlvbihpbnQgZGVsdGEpCisgICAgdmlydHVhbCB2b2lkIGFk
anVzdFBvc2l0aW9uKGZsb2F0IGR4LCBmbG9hdCBkeSk7CisgICAgdm9pZCBhZGp1c3RMaW5lRGly
ZWN0aW9uUG9zaXRpb24oZmxvYXQgZGVsdGEpCiAgICAgewogICAgICAgICBpZiAoaXNIb3Jpem9u
dGFsKCkpCiAgICAgICAgICAgICBhZGp1c3RQb3NpdGlvbihkZWx0YSwgMCk7CiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIGFkanVzdFBvc2l0aW9uKDAsIGRlbHRhKTsKICAgICB9Ci0gICAgdm9p
ZCBhZGp1c3RCbG9ja0RpcmVjdGlvblBvc2l0aW9uKGludCBkZWx0YSkKKyAgICB2b2lkIGFkanVz
dEJsb2NrRGlyZWN0aW9uUG9zaXRpb24oZmxvYXQgZGVsdGEpCiAgICAgewogICAgICAgICBpZiAo
aXNIb3Jpem9udGFsKCkpCiAgICAgICAgICAgICBhZGp1c3RQb3NpdGlvbigwLCBkZWx0YSk7CkBA
IC0yMjAsMjggKzIyMCwyOCBAQCBwdWJsaWM6CiAgICAgUm9vdElubGluZUJveCogcm9vdCgpOwog
CiAgICAgLy8geCgpIGlzIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIGJveCBpbiB0aGUgY29udGFpbmlu
ZyBibG9jaydzIGNvb3JkaW5hdGUgc3lzdGVtLgotICAgIHZvaWQgc2V0WChpbnQgeCkgeyBtX3gg
PSB4OyB9Ci0gICAgaW50IHgoKSBjb25zdCB7IHJldHVybiBtX3g7IH0KKyAgICB2b2lkIHNldFgo
ZmxvYXQgeCkgeyBtX3ggPSB4OyB9CisgICAgZmxvYXQgeCgpIGNvbnN0IHsgcmV0dXJuIG1feDsg
fQogCiAgICAgLy8geSgpIGlzIHRoZSB0b3Agc2lkZSBvZiB0aGUgYm94IGluIHRoZSBjb250YWlu
aW5nIGJsb2NrJ3MgY29vcmRpbmF0ZSBzeXN0ZW0uCi0gICAgdm9pZCBzZXRZKGludCB5KSB7IG1f
eSA9IHk7IH0KLSAgICBpbnQgeSgpIGNvbnN0IHsgcmV0dXJuIG1feTsgfQorICAgIHZvaWQgc2V0
WShmbG9hdCB5KSB7IG1feSA9IHk7IH0KKyAgICBmbG9hdCB5KCkgY29uc3QgeyByZXR1cm4gbV95
OyB9CiAKLSAgICBpbnQgd2lkdGgoKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IGxv
Z2ljYWxXaWR0aCgpIDogbG9naWNhbEhlaWdodCgpOyB9Ci0gICAgaW50IGhlaWdodCgpIGNvbnN0
IHsgcmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbG9naWNhbEhlaWdodCgpIDogbG9naWNhbFdpZHRo
KCk7IH0KLQotICAgIEludFJlY3QgZnJhbWVSZWN0KCkgY29uc3QgeyByZXR1cm4gSW50UmVjdCh4
KCksIHkoKSwgd2lkdGgoKSwgaGVpZ2h0KCkpOyB9CisgICAgZmxvYXQgd2lkdGgoKSBjb25zdCB7
IHJldHVybiBpc0hvcml6b250YWwoKSA/IGxvZ2ljYWxXaWR0aCgpIDogbG9naWNhbEhlaWdodCgp
OyB9CisgICAgZmxvYXQgaGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBs
b2dpY2FsSGVpZ2h0KCkgOiBsb2dpY2FsV2lkdGgoKTsgfQogCiAgICAgLy8gVGhlIGxvZ2ljYWxM
ZWZ0IHBvc2l0aW9uIGlzIHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlIGxpbmUgYm94IGluIGEgaG9yaXpv
bnRhbCBsaW5lIGFuZCB0aGUgdG9wIGVkZ2UgaW4gYSB2ZXJ0aWNhbCBsaW5lLgotICAgIGludCBs
b2dpY2FsTGVmdCgpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbV94IDogbV95OyB9
Ci0gICAgaW50IGxvZ2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxMZWZ0KCkgKyBs
b2dpY2FsV2lkdGgoKTsgfQotICAgIHZvaWQgc2V0TG9naWNhbExlZnQoaW50IGxlZnQpCisgICAg
ZmxvYXQgbG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IG1feCA6
IG1feTsgfQorICAgIGZsb2F0IGxvZ2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxM
ZWZ0KCkgKyBsb2dpY2FsV2lkdGgoKTsgfQorICAgIHZvaWQgc2V0TG9naWNhbExlZnQoZmxvYXQg
bGVmdCkKICAgICB7CiAgICAgICAgIGlmIChpc0hvcml6b250YWwoKSkKICAgICAgICAgICAgIG1f
eCA9IGxlZnQ7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG1feSA9IGxlZnQ7CiAgICAgfQor
ICAgIGludCBwaXhlbFNuYXBwZWRMb2dpY2FsTGVmdCgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxM
ZWZ0KCk7IH0KKyAgICBpbnQgcGl4ZWxTbmFwcGVkTG9naWNhbFJpZ2h0KCkgY29uc3QgeyByZXR1
cm4gY2VpbGYobG9naWNhbFJpZ2h0KCkpOyB9CiAKICAgICAvLyBUaGUgbG9naWNhbFRvcFsgcG9z
aXRpb24gaXMgdGhlIHRvcCBlZGdlIG9mIHRoZSBsaW5lIGJveCBpbiBhIGhvcml6b250YWwgbGlu
ZSBhbmQgdGhlIGxlZnQgZWRnZSBpbiBhIHZlcnRpY2FsIGxpbmUuCiAgICAgaW50IGxvZ2ljYWxU
b3AoKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IG1feSA6IG1feDsgfQpAQCAtMjU1
LDggKzI1NSw4IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICAvLyBUaGUgbG9naWNhbCB3aWR0aCBp
cyBvdXIgZXh0ZW50IGluIHRoZSBsaW5lJ3Mgb3ZlcmFsbCBpbmxpbmUgZGlyZWN0aW9uLCBpLmUu
LCB3aWR0aCBmb3IgaG9yaXpvbnRhbCB0ZXh0IGFuZCBoZWlnaHQgZm9yIHZlcnRpY2FsIHRleHQu
Ci0gICAgdm9pZCBzZXRMb2dpY2FsV2lkdGgoaW50IHcpIHsgbV9sb2dpY2FsV2lkdGggPSB3OyB9
Ci0gICAgaW50IGxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9naWNhbFdpZHRoOyB9
CisgICAgdm9pZCBzZXRMb2dpY2FsV2lkdGgoZmxvYXQgdykgeyBtX2xvZ2ljYWxXaWR0aCA9IHc7
IH0KKyAgICBmbG9hdCBsb2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxXaWR0
aDsgfQogCiAgICAgLy8gVGhlIGxvZ2ljYWwgaGVpZ2h0IGlzIG91ciBleHRlbnQgaW4gdGhlIGJs
b2NrIGZsb3cgZGlyZWN0aW9uLCBpLmUuLCBoZWlnaHQgZm9yIGhvcml6b250YWwgdGV4dCBhbmQg
d2lkdGggZm9yIHZlcnRpY2FsIHRleHQuCiAgICAgaW50IGxvZ2ljYWxIZWlnaHQoKSBjb25zdDsK
QEAgLTI4Niw3ICsyODYsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuQWNjb21t
b2RhdGVFbGxpcHNpcyhib29sIGx0ciwgaW50IGJsb2NrRWRnZSwgaW50IGVsbGlwc2lzV2lkdGgp
OwogICAgIC8vIHZpc2libGVMZWZ0RWRnZSwgdmlzaWJsZVJpZ2h0RWRnZSBhcmUgaW4gdGhlIHBh
cmVudCdzIGNvb3JkaW5hdGUgc3lzdGVtLgotICAgIHZpcnR1YWwgaW50IHBsYWNlRWxsaXBzaXNC
b3goYm9vbCBsdHIsIGludCB2aXNpYmxlTGVmdEVkZ2UsIGludCB2aXNpYmxlUmlnaHRFZGdlLCBp
bnQgZWxsaXBzaXNXaWR0aCwgYm9vbCYpOworICAgIHZpcnR1YWwgZmxvYXQgcGxhY2VFbGxpcHNp
c0JveChib29sIGx0ciwgZmxvYXQgdmlzaWJsZUxlZnRFZGdlLCBmbG9hdCB2aXNpYmxlUmlnaHRF
ZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJik7CiAKICAgICB2b2lkIHNldEhhc0JhZFBh
cmVudCgpOwogCkBAIC0zMDIsMTAgKzMwMiwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAw
OwogICAgIH0KIAotICAgIEludFBvaW50IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKKyAg
ICBGbG9hdFBvaW50IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKKyAgICB2b2lkIGZsaXBG
b3JXcml0aW5nTW9kZShGbG9hdFJlY3QmKTsKKyAgICBGbG9hdFBvaW50IGZsaXBGb3JXcml0aW5n
TW9kZShjb25zdCBGbG9hdFBvaW50Jik7CiAgICAgdm9pZCBmbGlwRm9yV3JpdGluZ01vZGUoSW50
UmVjdCYpOwogICAgIEludFBvaW50IGZsaXBGb3JXcml0aW5nTW9kZShjb25zdCBJbnRQb2ludCYp
OwotCisgICAgCiBwcml2YXRlOgogICAgIElubGluZUJveCogbV9uZXh0OyAvLyBUaGUgbmV4dCBl
bGVtZW50IG9uIHRoZSBzYW1lIGxpbmUgYXMgdXMuCiAgICAgSW5saW5lQm94KiBtX3ByZXY7IC8v
IFRoZSBwcmV2aW91cyBlbGVtZW50IG9uIHRoZSBzYW1lIGxpbmUgYXMgdXMuCkBAIC0zMTUsOSAr
MzE3LDkgQEAgcHJpdmF0ZToKIHB1YmxpYzoKICAgICBSZW5kZXJPYmplY3QqIG1fcmVuZGVyZXI7
CiAKLSAgICBpbnQgbV94OwotICAgIGludCBtX3k7Ci0gICAgaW50IG1fbG9naWNhbFdpZHRoOwor
ICAgIGZsb2F0IG1feDsKKyAgICBmbG9hdCBtX3k7CisgICAgZmxvYXQgbV9sb2dpY2FsV2lkdGg7
CiAgICAgCiAgICAgLy8gU29tZSBvZiB0aGVzZSBiaXRzIGFyZSBhY3R1YWxseSBmb3Igc3ViY2xh
c3NlcyBhbmQgbW92ZWQgaGVyZSB0byBjb21wYWN0IHRoZSBzdHJ1Y3R1cmVzLgogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwCShyZXZpc2lvbiA3ODI3
MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNjcsNiArNjcsMTggQEAgaW50IElubGluZUZsb3dCb3g6OmdldEZsb3dTcGFj
aW5nTG9naWNhbAogICAgIHJldHVybiB0b3RXaWR0aDsKIH0KIAorSW50UmVjdCBJbmxpbmVGbG93
Qm94OjpwaXhlbFNuYXBwZWRGcmFtZVJlY3QoKSBjb25zdAoreworICAgIC8vIEJlZ2luIGJ5IHNu
YXBwaW5nIHRoZSB4IGFuZCB5IGNvb3JkaW5hdGVzIHRvIHRoZSBuZWFyZXN0IHBpeGVsLgorICAg
IGludCBzbmFwcGVkWCA9IGxyb3VuZGYoeCgpKTsKKyAgICBpbnQgc25hcHBlZFkgPSBscm91bmRm
KHkoKSk7CisgICAgCisgICAgaW50IHNuYXBwZWRNYXhYID0gbHJvdW5kZih4KCkgKyB3aWR0aCgp
KTsKKyAgICBpbnQgc25hcHBlZE1heFkgPSBscm91bmRmKHkoKSArIGhlaWdodCgpKTsKKyAgICAK
KyAgICByZXR1cm4gSW50UmVjdChzbmFwcGVkWCwgc25hcHBlZFksIHNuYXBwZWRNYXhYIC0gc25h
cHBlZFgsIHNuYXBwZWRNYXhZIC0gc25hcHBlZFkpOworfQorCiB2b2lkIElubGluZUZsb3dCb3g6
OmFkZFRvTGluZShJbmxpbmVCb3gqIGNoaWxkKSAKIHsKICAgICBBU1NFUlQoIWNoaWxkLT5wYXJl
bnQoKSk7CkBAIC0yNTUsMTIgKzI2NywxMiBAQCB2b2lkIElubGluZUZsb3dCb3g6OmRldGVybWlu
ZVNwYWNpbmdGb3JGCiAgICAgfQogfQogCi1pbnQgSW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0lu
SW5saW5lRGlyZWN0aW9uKGludCBsb2dpY2FsTGVmdCwgYm9vbCYgbmVlZHNXb3JkU3BhY2luZywg
R2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmIHRleHRCb3hEYXRhTWFwKQorZmxvYXQg
SW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9uKGZsb2F0IGxvZ2ljYWxM
ZWZ0LCBib29sJiBuZWVkc1dvcmRTcGFjaW5nLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250
c01hcCYgdGV4dEJveERhdGFNYXApCiB7CiAgICAgLy8gU2V0IG91ciB4IHBvc2l0aW9uLgogICAg
IHNldExvZ2ljYWxMZWZ0KGxvZ2ljYWxMZWZ0KTsKICAgCi0gICAgaW50IHN0YXJ0TG9naWNhbExl
ZnQgPSBsb2dpY2FsTGVmdDsKKyAgICBmbG9hdCBzdGFydExvZ2ljYWxMZWZ0ID0gbG9naWNhbExl
ZnQ7CiAgICAgbG9naWNhbExlZnQgKz0gYm9yZGVyTG9naWNhbExlZnQoKSArIHBhZGRpbmdMb2dp
Y2FsTGVmdCgpOwogICAgIAogICAgIGZvciAoSW5saW5lQm94KiBjdXJyID0gZmlyc3RDaGlsZCgp
OyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dE9uTGluZSgpKSB7CkBAIC03MjQsOCArNzM2LDggQEAg
dm9pZCBJbmxpbmVGbG93Qm94OjphZGRCb3hTaGFkb3dWaXN1YWxPdgogICAgIGludCBib3hTaGFk
b3dMb2dpY2FsUmlnaHQ7CiAgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5nZXRC
b3hTaGFkb3dJbmxpbmVEaXJlY3Rpb25FeHRlbnQoYm94U2hhZG93TG9naWNhbExlZnQsIGJveFNo
YWRvd0xvZ2ljYWxSaWdodCk7CiAKLSAgICBpbnQgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9
IG1pbihsb2dpY2FsTGVmdCgpICsgYm94U2hhZG93TG9naWNhbExlZnQsIGxvZ2ljYWxWaXN1YWxP
dmVyZmxvdy54KCkpOwotICAgIGludCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1heChs
b2dpY2FsUmlnaHQoKSArIGJveFNoYWRvd0xvZ2ljYWxSaWdodCwgbG9naWNhbFZpc3VhbE92ZXJm
bG93Lm1heFgoKSk7CisgICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4ocGl4
ZWxTbmFwcGVkTG9naWNhbExlZnQoKSArIGJveFNoYWRvd0xvZ2ljYWxMZWZ0LCBsb2dpY2FsVmlz
dWFsT3ZlcmZsb3cueCgpKTsKKyAgICBpbnQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBt
YXgocGl4ZWxTbmFwcGVkTG9naWNhbFJpZ2h0KCkgKyBib3hTaGFkb3dMb2dpY2FsUmlnaHQsIGxv
Z2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhYKCkpOwogICAgIAogICAgIGxvZ2ljYWxWaXN1YWxPdmVy
ZmxvdyA9IEludFJlY3QobG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdywgbG9naWNhbFRvcFZpc3Vh
bE92ZXJmbG93LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9naWNhbFJp
Z2h0VmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsQm90
dG9tVmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cpOwpAQCAtNzgxLDgg
Kzc5Myw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6YWRkVGV4dEJveFZpc3VhbE92ZXIKIAogICAg
IGludCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cgPSBtaW4odGV4dEJveC0+bG9naWNhbFRvcCgp
ICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxUb3AsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy55KCkpOwog
ICAgIGludCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBtYXgodGV4dEJveC0+bG9naWNh
bEJvdHRvbSgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxCb3R0b20sIGxvZ2ljYWxWaXN1YWxPdmVy
Zmxvdy5tYXhZKCkpOwotICAgIGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93ID0gbWluKHRl
eHRCb3gtPmxvZ2ljYWxMZWZ0KCkgKyBjaGlsZE92ZXJmbG93TG9naWNhbExlZnQsIGxvZ2ljYWxW
aXN1YWxPdmVyZmxvdy54KCkpOwotICAgIGludCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9
IG1heCh0ZXh0Qm94LT5sb2dpY2FsUmlnaHQoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQs
IGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhYKCkpOworICAgIGludCBsb2dpY2FsTGVmdFZpc3Vh
bE92ZXJmbG93ID0gbWluKHRleHRCb3gtPnBpeGVsU25hcHBlZExvZ2ljYWxMZWZ0KCkgKyBjaGls
ZE92ZXJmbG93TG9naWNhbExlZnQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy54KCkpOworICAgIGlu
dCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1heCh0ZXh0Qm94LT5waXhlbFNuYXBwZWRM
b2dpY2FsUmlnaHQoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxWaXN1YWxP
dmVyZmxvdy5tYXhYKCkpOwogICAgIAogICAgIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyA9IEludFJl
Y3QobG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdywgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9naWNhbFJpZ2h0VmlzdWFsT3Zl
cmZsb3cgLSBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsQm90dG9tVmlzdWFsT3Zl
cmZsb3cgLSBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cpOwpAQCAtODY0LDcgKzg3Niw3IEBAIHZv
aWQgSW5saW5lRmxvd0JveDo6Y29tcHV0ZU92ZXJmbG93KGludCAKIC8vIGFsbCBmdW5jdGlvbnMg
dGhhdCBxdWVyeSBvdmVyZmxvdy4gICAKIHZvaWQgSW5saW5lRmxvd0JveDo6c2V0TGF5b3V0T3Zl
cmZsb3coY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKLSAgICBJbnRSZWN0IGZyYW1lQm94ID0gZnJh
bWVSZWN0KCk7CisgICAgSW50UmVjdCBmcmFtZUJveCA9IHBpeGVsU25hcHBlZEZyYW1lUmVjdCgp
OwogICAgIGlmIChmcmFtZUJveCA9PSByZWN0IHx8IHJlY3QuaXNFbXB0eSgpKQogICAgICAgICBy
ZXR1cm47CiAgICAgICAgIApAQCAtODc2LDcgKzg4OCw3IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6
c2V0TGF5b3V0T3ZlcmZsb3coY28KIAogdm9pZCBJbmxpbmVGbG93Qm94OjpzZXRWaXN1YWxPdmVy
Zmxvdyhjb25zdCBJbnRSZWN0JiByZWN0KQogewotICAgIEludFJlY3QgZnJhbWVCb3ggPSBmcmFt
ZVJlY3QoKTsKKyAgICBJbnRSZWN0IGZyYW1lQm94ID0gcGl4ZWxTbmFwcGVkRnJhbWVSZWN0KCk7
CiAgICAgaWYgKGZyYW1lQm94ID09IHJlY3QgfHwgcmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJl
dHVybjsKICAgICAgICAgCkBAIC05MTIsOSArOTI0LDkgQEAgYm9vbCBJbmxpbmVGbG93Qm94Ojpu
b2RlQXRQb2ludChjb25zdCBIaQogICAgIH0KIAogICAgIC8vIE5vdyBjaGVjayBvdXJzZWx2ZXMu
Ci0gICAgSW50UG9pbnQgYm94T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOwor
ICAgIEZsb2F0UG9pbnQgYm94T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOwog
ICAgIGJveE9yaWdpbi5tb3ZlKHR4LCB0eSk7Ci0gICAgSW50UmVjdCByZWN0KGJveE9yaWdpbiwg
SW50U2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSkpOworICAgIEZsb2F0UmVjdCByZWN0KGJveE9yaWdp
biwgSW50U2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSkpOwogICAgIGlmICh2aXNpYmxlVG9IaXRUZXN0
aW5nKCkgJiYgcmVjdC5pbnRlcnNlY3RzKHJlc3VsdC5yZWN0Rm9yUG9pbnQoeCwgeSkpKSB7CiAg
ICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBmbGlwRm9yV3Jp
dGluZ01vZGUoSW50UG9pbnQoeCAtIHR4LCB5IC0gdHkpKSk7IC8vIERvbid0IGFkZCBpbiBtX3gg
b3IgbV95IGhlcmUsIHdlIHdhbnQgY29vcmRzIGluIHRoZSBjb250YWluaW5nIGJsb2NrJ3Mgc3Bh
Y2UuCiAgICAgICAgIGlmICghcmVzdWx0LmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQocmVu
ZGVyZXIoKS0+bm9kZSgpLCB4LCB5LCByZWN0KSkKQEAgLTEwNDMsMTAgKzEwNTUsMTIgQEAgdm9p
ZCBJbmxpbmVGbG93Qm94OjpwYWludEJveERlY29yYXRpb25zKAogICAgIGlmICghcGFpbnRJbmZv
LnNob3VsZFBhaW50V2l0aGluUm9vdChyZW5kZXJlcigpKSB8fCByZW5kZXJlcigpLT5zdHlsZSgp
LT52aXNpYmlsaXR5KCkgIT0gVklTSUJMRSB8fCBwYWludEluZm8ucGhhc2UgIT0gUGFpbnRQaGFz
ZUZvcmVncm91bmQpCiAgICAgICAgIHJldHVybjsKIAotICAgIGludCB4ID0gbV94OwotICAgIGlu
dCB5ID0gbV95OwotICAgIGludCB3ID0gd2lkdGgoKTsKLSAgICBpbnQgaCA9IGhlaWdodCgpOwor
ICAgIC8vIFBpeGVsIHNuYXAgYmFja2dyb3VuZC9ib3JkZXIgcGFpbnRpbmcuCisgICAgSW50UmVj
dCBmcmFtZVJlY3QgPSBwaXhlbFNuYXBwZWRGcmFtZVJlY3QoKTsKKyAgICBpbnQgeCA9IGZyYW1l
UmVjdC54KCk7CisgICAgaW50IHkgPSBmcmFtZVJlY3QueSgpOworICAgIGludCB3ID0gZnJhbWVS
ZWN0LndpZHRoKCk7CisgICAgaW50IGggPSBmcmFtZVJlY3QuaGVpZ2h0KCk7CiAKICAgICAvLyBD
b25zdHJhaW4gb3VyIGJhY2tncm91bmQvYm9yZGVyIHBhaW50aW5nIHRvIHRoZSBsaW5lIHRvcCBh
bmQgYm90dG9tIGlmIG5lY2Vzc2FyeS4KICAgICBib29sIG5vUXVpcmtzTW9kZSA9IHJlbmRlcmVy
KCktPmRvY3VtZW50KCktPmluTm9RdWlya3NNb2RlKCk7CkBAIC0xMTI2LDEwICsxMTQwLDEyIEBA
IHZvaWQgSW5saW5lRmxvd0JveDo6cGFpbnRNYXNrKFBhaW50SW5mbyYKICAgICBpZiAoIXBhaW50
SW5mby5zaG91bGRQYWludFdpdGhpblJvb3QocmVuZGVyZXIoKSkgfHwgcmVuZGVyZXIoKS0+c3R5
bGUoKS0+dmlzaWJpbGl0eSgpICE9IFZJU0lCTEUgfHwgcGFpbnRJbmZvLnBoYXNlICE9IFBhaW50
UGhhc2VNYXNrKQogICAgICAgICByZXR1cm47CiAKLSAgICBpbnQgeCA9IG1feDsKLSAgICBpbnQg
eSA9IG1feTsKLSAgICBpbnQgdyA9IHdpZHRoKCk7Ci0gICAgaW50IGggPSBoZWlnaHQoKTsKKyAg
ICAvLyBQaXhlbCBzbmFwIG1hc2sgcGFpbnRpbmcuCisgICAgSW50UmVjdCBmcmFtZVJlY3QgPSBw
aXhlbFNuYXBwZWRGcmFtZVJlY3QoKTsKKyAgICBpbnQgeCA9IGZyYW1lUmVjdC54KCk7CisgICAg
aW50IHkgPSBmcmFtZVJlY3QueSgpOworICAgIGludCB3ID0gZnJhbWVSZWN0LndpZHRoKCk7Cisg
ICAgaW50IGggPSBmcmFtZVJlY3QuaGVpZ2h0KCk7CiAKICAgICAvLyBDb25zdHJhaW4gb3VyIGJh
Y2tncm91bmQvYm9yZGVyIHBhaW50aW5nIHRvIHRoZSBsaW5lIHRvcCBhbmQgYm90dG9tIGlmIG5l
Y2Vzc2FyeS4KICAgICBib29sIG5vUXVpcmtzTW9kZSA9IHJlbmRlcmVyKCktPmRvY3VtZW50KCkt
PmluTm9RdWlya3NNb2RlKCk7CkBAIC0xMjMwLDE0ICsxMjQ2LDE0IEBAIGJvb2wgSW5saW5lRmxv
d0JveDo6Y2FuQWNjb21tb2RhdGVFbGxpcHMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotaW50IElu
bGluZUZsb3dCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGludCBibG9ja0xlZnRFZGdl
LCBpbnQgYmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCkK
K2Zsb2F0IElubGluZUZsb3dCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGZsb2F0IGJs
b2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBi
b29sJiBmb3VuZEJveCkKIHsKLSAgICBpbnQgcmVzdWx0ID0gLTE7CisgICAgZmxvYXQgcmVzdWx0
ID0gLTE7CiAgICAgLy8gV2UgaXRlcmF0ZSBvdmVyIGFsbCBjaGlsZHJlbiwgdGhlIGZvdW5kQm94
IHZhcmlhYmxlIHRlbGxzIHVzIHdoZW4gd2UndmUgZm91bmQgdGhlCiAgICAgLy8gYm94IGNvbnRh
aW5pbmcgdGhlIGVsbGlwc2lzLiAgQWxsIGJveGVzIGFmdGVyIHRoYXQgb25lIGluIHRoZSBmbG93
IGFyZSBoaWRkZW4uCiAgICAgLy8gSWYgb3VyIGZsb3cgaXMgbHRyIHRoZW4gaXRlcmF0ZSBvdmVy
IHRoZSBib3hlcyBmcm9tIGxlZnQgdG8gcmlnaHQsIG90aGVyd2lzZSBpdGVyYXRlCiAgICAgLy8g
ZnJvbSByaWdodCB0byBsZWZ0LiBWYXJ5aW5nIHRoZSBvcmRlciBhbGxvd3MgdXMgdG8gY29ycmVj
dGx5IGhpZGUgdGhlIGJveGVzIGZvbGxvd2luZyB0aGUgZWxsaXBzaXMuCi0gICAgSW5saW5lQm94
ICpib3ggPSBsdHIgPyBmaXJzdENoaWxkKCkgOiBsYXN0Q2hpbGQoKTsKKyAgICBJbmxpbmVCb3gq
IGJveCA9IGx0ciA/IGZpcnN0Q2hpbGQoKSA6IGxhc3RDaGlsZCgpOwogCiAgICAgLy8gTk9URTog
dGhlc2Ugd2lsbCBjcm9zcyBhZnRlciBmb3VuZEJveCA9IHRydWUuCiAgICAgaW50IHZpc2libGVM
ZWZ0RWRnZSA9IGJsb2NrTGVmdEVkZ2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SW5saW5lRmxvd0JveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9J
bmxpbmVGbG93Qm94LmgJKHJldmlzaW9uIDc4MjcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUZsb3dCb3guaAkod29ya2luZyBjb3B5KQpAQCAtOTMsNiArOTMsOCBAQCBwdWJs
aWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJUcnVuY2F0aW9uKCk7CiAKKyAgICBJbnRSZWN0
IHBpeGVsU25hcHBlZEZyYW1lUmVjdCgpIGNvbnN0OworICAgIAogICAgIHZpcnR1YWwgdm9pZCBw
YWludEJveERlY29yYXRpb25zKFBhaW50SW5mbyYsIGludCB0eCwgaW50IHR5KTsKICAgICB2aXJ0
dWFsIHZvaWQgcGFpbnRNYXNrKFBhaW50SW5mbyYsIGludCB0eCwgaW50IHR5KTsKICAgICB2b2lk
IHBhaW50RmlsbExheWVycyhjb25zdCBQYWludEluZm8mLCBjb25zdCBDb2xvciYsIGNvbnN0IEZp
bGxMYXllciosIGludCB0eCwgaW50IHR5LCBpbnQgdywgaW50IGgsIENvbXBvc2l0ZU9wZXJhdG9y
ID0gQ29tcG9zaXRlU291cmNlT3Zlcik7CkBAIC0xNTUsNyArMTU3LDcgQEAgcHVibGljOgogICAg
IHZvaWQgZGV0ZXJtaW5lU3BhY2luZ0ZvckZsb3dCb3hlcyhib29sIGxhc3RMaW5lLCBSZW5kZXJP
YmplY3QqIGVuZE9iamVjdCk7CiAgICAgaW50IGdldEZsb3dTcGFjaW5nTG9naWNhbFdpZHRoKCk7
CiAgICAgYm9vbCBvbkVuZENoYWluKFJlbmRlck9iamVjdCogZW5kT2JqZWN0KTsKLSAgICBpbnQg
cGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9uKGludCBsb2dpY2FsTGVmdCwgYm9vbCYgbmVlZHNX
b3JkU3BhY2luZywgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmKTsKKyAgICBmbG9h
dCBwbGFjZUJveGVzSW5JbmxpbmVEaXJlY3Rpb24oZmxvYXQgbG9naWNhbExlZnQsIGJvb2wmIG5l
ZWRzV29yZFNwYWNpbmcsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJik7CiAgICAg
dm9pZCBjb21wdXRlTG9naWNhbEJveEhlaWdodHMoaW50JiBtYXhQb3NpdGlvblRvcCwgaW50JiBt
YXhQb3NpdGlvbkJvdHRvbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQm
IG1heEFzY2VudCwgaW50JiBtYXhEZXNjZW50LCBib29sJiBzZXRNYXhBc2NlbnQsIGJvb2wmIHNl
dE1heERlc2NlbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBzdHJp
Y3RNb2RlLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYsIEZvbnRCYXNlbGluZSwg
VmVydGljYWxQb3NpdGlvbkNhY2hlJik7CkBAIC0xNzYsNyArMTc4LDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgUmVuZGVyT2JqZWN0OjpTZWxlY3Rpb25TdGF0ZSBzZWxlY3Rpb25TdGF0ZSgpOwog
CiAgICAgdmlydHVhbCBib29sIGNhbkFjY29tbW9kYXRlRWxsaXBzaXMoYm9vbCBsdHIsIGludCBi
bG9ja0VkZ2UsIGludCBlbGxpcHNpc1dpZHRoKTsKLSAgICB2aXJ0dWFsIGludCBwbGFjZUVsbGlw
c2lzQm94KGJvb2wgbHRyLCBpbnQgYmxvY2tMZWZ0RWRnZSwgaW50IGJsb2NrUmlnaHRFZGdlLCBp
bnQgZWxsaXBzaXNXaWR0aCwgYm9vbCYpOworICAgIHZpcnR1YWwgZmxvYXQgcGxhY2VFbGxpcHNp
c0JveChib29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVkZ2Us
IGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmKTsKIAogICAgIGJvb2wgaGFzVGV4dENoaWxkcmVu
KCkgY29uc3QgeyByZXR1cm4gbV9oYXNUZXh0Q2hpbGRyZW47IH0KIApJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNpb24gNzgyNzEpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTIwMSw3ICsyMDEsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OmF0dGFjaExpbmUoKQogICAg
IHRvUmVuZGVyVGV4dChyZW5kZXJlcigpKS0+YXR0YWNoVGV4dEJveCh0aGlzKTsKIH0KIAotaW50
IElubGluZVRleHRCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCBmbG93SXNMVFIsIGludCB2aXNp
YmxlTGVmdEVkZ2UsIGludCB2aXNpYmxlUmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCwgYm9v
bCYgZm91bmRCb3gpCitmbG9hdCBJbmxpbmVUZXh0Qm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wg
Zmxvd0lzTFRSLCBmbG9hdCB2aXNpYmxlTGVmdEVkZ2UsIGZsb2F0IHZpc2libGVSaWdodEVkZ2Us
IGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KQogewogICAgIGlmIChmb3VuZEJv
eCkgewogICAgICAgICBtX3RydW5jYXRpb24gPSBjRnVsbFRydW5jYXRpb247CkBAIC0yMDksNyAr
MjA5LDcgQEAgaW50IElubGluZVRleHRCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbAogICAgIH0K
IAogICAgIC8vIEZvciBMVFIgdGhpcyBpcyB0aGUgbGVmdCBlZGdlIG9mIHRoZSBib3gsIGZvciBS
VEwsIHRoZSByaWdodCBlZGdlIGluIHBhcmVudCBjb29yZGluYXRlcy4KLSAgICBpbnQgZWxsaXBz
aXNYID0gZmxvd0lzTFRSID8gdmlzaWJsZVJpZ2h0RWRnZSAtIGVsbGlwc2lzV2lkdGggOiB2aXNp
YmxlTGVmdEVkZ2UgKyBlbGxpcHNpc1dpZHRoOworICAgIGZsb2F0IGVsbGlwc2lzWCA9IGZsb3dJ
c0xUUiA/IHZpc2libGVSaWdodEVkZ2UgLSBlbGxpcHNpc1dpZHRoIDogdmlzaWJsZUxlZnRFZGdl
ICsgZWxsaXBzaXNXaWR0aDsKICAgICAKICAgICAvLyBDcml0ZXJpYSBmb3IgZnVsbCB0cnVuY2F0
aW9uOgogICAgIC8vIExUUjogdGhlIGxlZnQgZWRnZSBvZiB0aGUgZWxsaXBzaXMgaXMgdG8gdGhl
IGxlZnQgb2Ygb3VyIHRleHQgcnVuLgpAQCAtMjUxLDcgKzI1MSw3IEBAIGludCBJbmxpbmVUZXh0
Qm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wKIAogICAgICAgICAvLyBJZiB3ZSBnb3QgaGVyZSB0
aGF0IG1lYW5zIHRoYXQgd2Ugd2VyZSBvbmx5IHBhcnRpYWxseSB0cnVuY2F0ZWQgYW5kIHdlIG5l
ZWQgdG8gcmV0dXJuIHRoZSBwaXhlbCBvZmZzZXQgYXQgd2hpY2gKICAgICAgICAgLy8gdG8gcGxh
Y2UgdGhlIGVsbGlwc2lzLgotICAgICAgICBpbnQgd2lkdGhPZlZpc2libGVUZXh0ID0gdG9SZW5k
ZXJUZXh0KHJlbmRlcmVyKCkpLT53aWR0aChtX3N0YXJ0LCBvZmZzZXQsIHRleHRQb3MoKSwgbV9m
aXJzdExpbmUpOworICAgICAgICBmbG9hdCB3aWR0aE9mVmlzaWJsZVRleHQgPSB0b1JlbmRlclRl
eHQocmVuZGVyZXIoKSktPndpZHRoKG1fc3RhcnQsIG9mZnNldCwgdGV4dFBvcygpLCBtX2ZpcnN0
TGluZSk7CiAKICAgICAgICAgLy8gVGhlIGVsbGlwc2lzIG5lZWRzIHRvIGJlIHBsYWNlZCBqdXN0
IGFmdGVyIHRoZSBsYXN0IHZpc2libGUgY2hhcmFjdGVyLgogICAgICAgICAvLyBXaGVyZSAiYWZ0
ZXIiIGlzIGRlZmluZWQgYnkgdGhlIGZsb3cgZGlyZWN0aW9uYWxpdHksIG5vdCB0aGUgaW5saW5l
CkBAIC0zMTksOSArMzE5LDkgQEAgYm9vbCBJbmxpbmVUZXh0Qm94Ojpub2RlQXRQb2ludChjb25z
dCBIaQogICAgIGlmIChpc0xpbmVCcmVhaygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICBJbnRQb2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAg
RmxvYXRQb2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CiAgICAg
Ym94T3JpZ2luLm1vdmUodHgsIHR5KTsKLSAgICBJbnRSZWN0IHJlY3QoYm94T3JpZ2luLCBJbnRT
aXplKHdpZHRoKCksIGhlaWdodCgpKSk7CisgICAgRmxvYXRSZWN0IHJlY3QoYm94T3JpZ2luLCBJ
bnRTaXplKHdpZHRoKCksIGhlaWdodCgpKSk7CiAgICAgaWYgKG1fdHJ1bmNhdGlvbiAhPSBjRnVs
bFRydW5jYXRpb24gJiYgdmlzaWJsZVRvSGl0VGVzdGluZygpICYmIHJlY3QuaW50ZXJzZWN0cyhy
ZXN1bHQucmVjdEZvclBvaW50KHgsIHkpKSkgewogICAgICAgICByZW5kZXJlcigpLT51cGRhdGVI
aXRUZXN0UmVzdWx0KHJlc3VsdCwgZmxpcEZvcldyaXRpbmdNb2RlKEludFBvaW50KHggLSB0eCwg
eSAtIHR5KSkpOwogICAgICAgICBpZiAoIXJlc3VsdC5hZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVz
dWx0KHJlbmRlcmVyKCktPm5vZGUoKSwgeCwgeSwgcmVjdCkpCkBAIC0zNTcsOCArMzU3LDggQEAg
RmxvYXRTaXplIElubGluZVRleHRCb3g6OmFwcGx5U2hhZG93VG9HcgogICAgIHJldHVybiBleHRy
YU9mZnNldDsKIH0KIAotc3RhdGljIHZvaWQgcGFpbnRUZXh0V2l0aFNoYWRvd3MoR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiB0ZXh0UnVu
LCBjb25zdCBBdG9taWNTdHJpbmcmIGVtcGhhc2lzTWFyaywgaW50IGVtcGhhc2lzTWFya09mZnNl
dCwgaW50IHN0YXJ0T2Zmc2V0LCBpbnQgZW5kT2Zmc2V0LCBpbnQgdHJ1bmNhdGlvblBvaW50LCBj
b25zdCBJbnRQb2ludCYgdGV4dE9yaWdpbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IEludFJlY3QmIGJveFJlY3QsIGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdywgYm9v
bCBzdHJva2VkLCBib29sIGhvcml6b250YWwpCitzdGF0aWMgdm9pZCBwYWludFRleHRXaXRoU2hh
ZG93cyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRl
eHRSdW4mIHRleHRSdW4sIGNvbnN0IEF0b21pY1N0cmluZyYgZW1waGFzaXNNYXJrLCBpbnQgZW1w
aGFzaXNNYXJrT2Zmc2V0LCBpbnQgc3RhcnRPZmZzZXQsIGludCBlbmRPZmZzZXQsIGludCB0cnVu
Y2F0aW9uUG9pbnQsIGNvbnN0IEZsb2F0UG9pbnQmIHRleHRPcmlnaW4sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBGbG9hdFJlY3QmIGJveFJlY3QsIGNvbnN0IFNoYWRv
d0RhdGEqIHNoYWRvdywgYm9vbCBzdHJva2VkLCBib29sIGhvcml6b250YWwpCiB7CiAgICAgQ29s
b3IgZmlsbENvbG9yID0gY29udGV4dC0+ZmlsbENvbG9yKCk7CiAgICAgQ29sb3JTcGFjZSBmaWxs
Q29sb3JTcGFjZSA9IGNvbnRleHQtPmZpbGxDb2xvclNwYWNlKCk7CkBAIC00ODIsMTAgKzQ4Miwx
MCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFpCiAgICAgCiAgICAg
dHkgLT0gc3R5bGVUb1VzZS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IDAgOiBsb2dpY2Fs
SGVpZ2h0KCk7CiAKLSAgICBJbnRQb2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGluZ0Zs
aXBwaW5nKCk7CisgICAgRmxvYXRQb2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGluZ0Zs
aXBwaW5nKCk7CiAgICAgYm94T3JpZ2luLm1vdmUodHgsIHR5KTsgICAgCi0gICAgSW50UmVjdCBi
b3hSZWN0KGJveE9yaWdpbiwgSW50U2l6ZShsb2dpY2FsV2lkdGgoKSwgbG9naWNhbEhlaWdodCgp
KSk7Ci0gICAgSW50UG9pbnQgdGV4dE9yaWdpbiA9IEludFBvaW50KGJveE9yaWdpbi54KCksIGJv
eE9yaWdpbi55KCkgKyBzdHlsZVRvVXNlLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsKKyAgICBG
bG9hdFJlY3QgYm94UmVjdChib3hPcmlnaW4sIEludFNpemUobG9naWNhbFdpZHRoKCksIGxvZ2lj
YWxIZWlnaHQoKSkpOworICAgIEZsb2F0UG9pbnQgdGV4dE9yaWdpbiA9IEZsb2F0UG9pbnQoYm94
T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSArIHN0eWxlVG9Vc2UtPmZvbnRNZXRyaWNzKCkuYXNj
ZW50KCkpOwogCiAgICAgUmVuZGVyQ29tYmluZVRleHQqIGNvbWJpbmVkVGV4dCA9IHN0eWxlVG9V
c2UtPmhhc1RleHRDb21iaW5lKCkgPyB0b1JlbmRlckNvbWJpbmVUZXh0KHRleHRSZW5kZXJlcigp
KSA6IDA7CiAgICAgYm9vbCBzaG91bGRSb3RhdGUgPSAhaXNIb3Jpem9udGFsKCkgJiYgKCFjb21i
aW5lZFRleHQgfHwgIWNvbWJpbmVkVGV4dC0+aXNDb21iaW5lZCgpKTsKQEAgLTczNiw3ICs3MzYs
NyBAQCB2b2lkIElubGluZVRleHRCb3g6OnNlbGVjdGlvblN0YXJ0RW5kKGluCiAgICAgZVBvcyA9
IG1pbihlbmRQb3MgLSBtX3N0YXJ0LCAoaW50KW1fbGVuKTsKIH0KIAotdm9pZCBJbmxpbmVUZXh0
Qm94OjpwYWludFNlbGVjdGlvbihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFBv
aW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCkKK3Zv
aWQgSW5saW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb24oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3Qg
Rm9udCYgZm9udCkKIHsKICAgICAvLyBTZWUgaWYgd2UgaGF2ZSBhIHNlbGVjdGlvbiB0byBwYWlu
dCBhdCBhbGwuCiAgICAgaW50IHNQb3MsIGVQb3M7CkBAIC03NzAsMTUgKzc3MCwxNSBAQCB2b2lk
IElubGluZVRleHRCb3g6OnBhaW50U2VsZWN0aW9uKEdyYXBoCiAKICAgICBpbnQgZGVsdGFZID0g
cmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkTGluZXNXcml0aW5nTW9kZSgpID8gc2VsZWN0
aW9uQm90dG9tKCkgLSBsb2dpY2FsQm90dG9tKCkgOiBsb2dpY2FsVG9wKCkgLSBzZWxlY3Rpb25U
b3AoKTsKICAgICBpbnQgc2VsSGVpZ2h0ID0gc2VsZWN0aW9uSGVpZ2h0KCk7Ci0gICAgSW50UG9p
bnQgbG9jYWxPcmlnaW4oYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSk7Ci0g
ICAgY29udGV4dC0+Y2xpcChJbnRSZWN0KGxvY2FsT3JpZ2luLCBJbnRTaXplKG1fbG9naWNhbFdp
ZHRoLCBzZWxIZWlnaHQpKSk7CisgICAgRmxvYXRQb2ludCBsb2NhbE9yaWdpbihib3hPcmlnaW4u
eCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKKyAgICBjb250ZXh0LT5jbGlwKEZsb2F0UmVj
dChsb2NhbE9yaWdpbiwgRmxvYXRTaXplKG1fbG9naWNhbFdpZHRoLCBzZWxIZWlnaHQpKSk7CiAg
ICAgY29udGV4dC0+ZHJhd0hpZ2hsaWdodEZvclRleHQoZm9udCwgVGV4dFJ1bihjaGFyYWN0ZXJz
LCBsZW5ndGgsIHRleHRSZW5kZXJlcigpLT5hbGxvd1RhYnMoKSwgdGV4dFBvcygpLCBtX2V4cGFu
c2lvbiwgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvcigpLCAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAhaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpLCBtX2Rpck92ZXJyaWRlIHx8
IHN0eWxlLT52aXN1YWxseU9yZGVyZWQoKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbG9jYWxPcmlnaW4sIHNlbEhlaWdodCwgYywgc3R5bGUtPmNvbG9yU3BhY2UoKSwgc1Bv
cywgZVBvcyk7CiAgICAgY29udGV4dC0+cmVzdG9yZSgpOwogfQogCi12b2lkIElubGluZVRleHRC
b3g6OnBhaW50Q29tcG9zaXRpb25CYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwg
Y29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250
JiBmb250LCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpCit2b2lkIElubGluZVRleHRCb3g6OnBh
aW50Q29tcG9zaXRpb25CYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3Qg
RmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZv
bnQsIGludCBzdGFydFBvcywgaW50IGVuZFBvcykKIHsKICAgICBpbnQgb2Zmc2V0ID0gbV9zdGFy
dDsKICAgICBpbnQgc1BvcyA9IG1heChzdGFydFBvcyAtIG9mZnNldCwgMCk7CkBAIC03OTUsNyAr
Nzk1LDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uQmFjawogCiAgICAg
aW50IGRlbHRhWSA9IHJlbmRlcmVyKCktPnN0eWxlKCktPmlzRmxpcHBlZExpbmVzV3JpdGluZ01v
ZGUoKSA/IHNlbGVjdGlvbkJvdHRvbSgpIC0gbG9naWNhbEJvdHRvbSgpIDogbG9naWNhbFRvcCgp
IC0gc2VsZWN0aW9uVG9wKCk7CiAgICAgaW50IHNlbEhlaWdodCA9IHNlbGVjdGlvbkhlaWdodCgp
OwotICAgIEludFBvaW50IGxvY2FsT3JpZ2luKGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkg
LSBkZWx0YVkpOworICAgIEZsb2F0UG9pbnQgbG9jYWxPcmlnaW4oYm94T3JpZ2luLngoKSwgYm94
T3JpZ2luLnkoKSAtIGRlbHRhWSk7CiAgICAgY29udGV4dC0+ZHJhd0hpZ2hsaWdodEZvclRleHQo
Zm9udCwgVGV4dFJ1bih0ZXh0UmVuZGVyZXIoKS0+dGV4dCgpLT5jaGFyYWN0ZXJzKCkgKyBtX3N0
YXJ0LCBtX2xlbiwgdGV4dFJlbmRlcmVyKCktPmFsbG93VGFicygpLCB0ZXh0UG9zKCksIG1fZXhw
YW5zaW9uLCB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yKCksCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgbV9kaXJPdmVycmlkZSB8
fCBzdHlsZS0+dmlzdWFsbHlPcmRlcmVkKCkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxvY2FsT3JpZ2luLCBzZWxIZWlnaHQsIGMsIHN0eWxlLT5jb2xvclNwYWNlKCksIHNQ
b3MsIGVQb3MpOwpAQCAtODIyLDE0ICs4MjIsMTQgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWlu
dEN1c3RvbUhpZ2hsaWdodAogCiAjZW5kaWYKIAotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERl
Y29yYXRpb24oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRQb2ludCYgYm94T3Jp
Z2luLCBpbnQgZGVjbywgY29uc3QgU2hhZG93RGF0YSogc2hhZG93KQordm9pZCBJbmxpbmVUZXh0
Qm94OjpwYWludERlY29yYXRpb24oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9h
dFBvaW50JiBib3hPcmlnaW4sIGludCBkZWNvLCBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3cpCiB7
CiAgICAgaWYgKG1fdHJ1bmNhdGlvbiA9PSBjRnVsbFRydW5jYXRpb24pCiAgICAgICAgIHJldHVy
bjsKIAotICAgIEludFBvaW50IGxvY2FsT3JpZ2luID0gYm94T3JpZ2luOworICAgIEZsb2F0UG9p
bnQgbG9jYWxPcmlnaW4gPSBib3hPcmlnaW47CiAKLSAgICBpbnQgd2lkdGggPSBtX2xvZ2ljYWxX
aWR0aDsKKyAgICBmbG9hdCB3aWR0aCA9IG1fbG9naWNhbFdpZHRoOwogICAgIGlmIChtX3RydW5j
YXRpb24gIT0gY05vVHJ1bmNhdGlvbikgewogICAgICAgICB3aWR0aCA9IHRvUmVuZGVyVGV4dChy
ZW5kZXJlcigpKS0+d2lkdGgobV9zdGFydCwgbV90cnVuY2F0aW9uLCB0ZXh0UG9zKCksIG1fZmly
c3RMaW5lKTsKICAgICAgICAgaWYgKCFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCkBAIC04NTMs
OSArODUzLDkgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oR3JhcAogICAg
IGludCBleHRyYU9mZnNldCA9IDA7CiAgICAgaWYgKCFsaW5lc0FyZU9wYXF1ZSAmJiBzaGFkb3cg
JiYgc2hhZG93LT5uZXh0KCkpIHsKICAgICAgICAgY29udGV4dC0+c2F2ZSgpOwotICAgICAgICBJ
bnRSZWN0IGNsaXBSZWN0KGxvY2FsT3JpZ2luLCBJbnRTaXplKHdpZHRoLCBiYXNlbGluZSArIDIp
KTsKKyAgICAgICAgRmxvYXRSZWN0IGNsaXBSZWN0KGxvY2FsT3JpZ2luLCBGbG9hdFNpemUod2lk
dGgsIGJhc2VsaW5lICsgMikpOwogICAgICAgICBmb3IgKGNvbnN0IFNoYWRvd0RhdGEqIHMgPSBz
aGFkb3c7IHM7IHMgPSBzLT5uZXh0KCkpIHsKLSAgICAgICAgICAgIEludFJlY3Qgc2hhZG93UmVj
dChsb2NhbE9yaWdpbiwgSW50U2l6ZSh3aWR0aCwgYmFzZWxpbmUgKyAyKSk7CisgICAgICAgICAg
ICBGbG9hdFJlY3Qgc2hhZG93UmVjdChsb2NhbE9yaWdpbiwgRmxvYXRTaXplKHdpZHRoLCBiYXNl
bGluZSArIDIpKTsKICAgICAgICAgICAgIHNoYWRvd1JlY3QuaW5mbGF0ZShzLT5ibHVyKCkpOwog
ICAgICAgICAgICAgaW50IHNoYWRvd1ggPSBpc0hvcml6b250YWwoKSA/IHMtPngoKSA6IHMtPnko
KTsKICAgICAgICAgICAgIGludCBzaGFkb3dZID0gaXNIb3Jpem9udGFsKCkgPyBzLT55KCkgOiAt
cy0+eCgpOwpAQCAtODgyLDcgKzg4Miw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNv
cmF0aW9uKEdyYXAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGludCBzaGFkb3dYID0gaXNI
b3Jpem9udGFsKCkgPyBzaGFkb3ctPngoKSA6IHNoYWRvdy0+eSgpOwogICAgICAgICAgICAgaW50
IHNoYWRvd1kgPSBpc0hvcml6b250YWwoKSA/IHNoYWRvdy0+eSgpIDogLXNoYWRvdy0+eCgpOwot
ICAgICAgICAgICAgY29udGV4dC0+c2V0U2hhZG93KEludFNpemUoc2hhZG93WCwgc2hhZG93WSAt
IGV4dHJhT2Zmc2V0KSwgc2hhZG93LT5ibHVyKCksIHNoYWRvdy0+Y29sb3IoKSwgY29sb3JTcGFj
ZSk7CisgICAgICAgICAgICBjb250ZXh0LT5zZXRTaGFkb3coRmxvYXRTaXplKHNoYWRvd1gsIHNo
YWRvd1kgLSBleHRyYU9mZnNldCksIHNoYWRvdy0+Ymx1cigpLCBzaGFkb3ctPmNvbG9yKCksIGNv
bG9yU3BhY2UpOwogICAgICAgICAgICAgc2V0U2hhZG93ID0gdHJ1ZTsKICAgICAgICAgICAgIHNo
YWRvdyA9IHNoYWRvdy0+bmV4dCgpOwogICAgICAgICB9CkBAIC04OTEsNyArODkxLDcgQEAgdm9p
ZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oR3JhcAogICAgICAgICAgICAgY29udGV4
dC0+c2V0U3Ryb2tlQ29sb3IodW5kZXJsaW5lLCBjb2xvclNwYWNlKTsKICAgICAgICAgICAgIGNv
bnRleHQtPnNldFN0cm9rZVN0eWxlKFNvbGlkU3Ryb2tlKTsKICAgICAgICAgICAgIC8vIExlYXZl
IG9uZSBwaXhlbCBvZiB3aGl0ZSBiZXR3ZWVuIHRoZSBiYXNlbGluZSBhbmQgdGhlIHVuZGVybGlu
ZS4KLSAgICAgICAgICAgIGNvbnRleHQtPmRyYXdMaW5lRm9yVGV4dChJbnRQb2ludChsb2NhbE9y
aWdpbi54KCksIGxvY2FsT3JpZ2luLnkoKSArIGJhc2VsaW5lICsgMSksIHdpZHRoLCBpc1ByaW50
aW5nKTsKKyAgICAgICAgICAgIGNvbnRleHQtPmRyYXdMaW5lRm9yVGV4dChGbG9hdFBvaW50KGxv
Y2FsT3JpZ2luLngoKSwgbG9jYWxPcmlnaW4ueSgpICsgYmFzZWxpbmUgKyAxKSwgd2lkdGgsIGlz
UHJpbnRpbmcpOwogICAgICAgICB9CiAgICAgICAgIGlmIChkZWNvICYgT1ZFUkxJTkUpIHsKICAg
ICAgICAgICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKG92ZXJsaW5lLCBjb2xvclNwYWNlKTsK
QEAgLTkwMSw3ICs5MDEsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbihH
cmFwCiAgICAgICAgIGlmIChkZWNvICYgTElORV9USFJPVUdIKSB7CiAgICAgICAgICAgICBjb250
ZXh0LT5zZXRTdHJva2VDb2xvcihsaW5ldGhyb3VnaCwgY29sb3JTcGFjZSk7CiAgICAgICAgICAg
ICBjb250ZXh0LT5zZXRTdHJva2VTdHlsZShTb2xpZFN0cm9rZSk7Ci0gICAgICAgICAgICBjb250
ZXh0LT5kcmF3TGluZUZvclRleHQoSW50UG9pbnQobG9jYWxPcmlnaW4ueCgpLCBsb2NhbE9yaWdp
bi55KCkgKyAyICogYmFzZWxpbmUgLyAzKSwgd2lkdGgsIGlzUHJpbnRpbmcpOworICAgICAgICAg
ICAgY29udGV4dC0+ZHJhd0xpbmVGb3JUZXh0KEZsb2F0UG9pbnQobG9jYWxPcmlnaW4ueCgpLCBs
b2NhbE9yaWdpbi55KCkgKyAyICogYmFzZWxpbmUgLyAzKSwgd2lkdGgsIGlzUHJpbnRpbmcpOwog
ICAgICAgICB9CiAgICAgfSB3aGlsZSAoc2hhZG93KTsKIApAQCAtOTI2LDcgKzkyNiw3IEBAIHN0
YXRpYyBHcmFwaGljc0NvbnRleHQ6OlRleHRDaGVja2luZ0xpbmUKICAgICB9CiB9CiAKLXZvaWQg
SW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGluZ09yR3JhbW1hck1hcmtlcihHcmFwaGljc0NvbnRl
eHQqIHB0LCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYg
bWFya2VyLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgZ3JhbW1h
cikKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGluZ09yR3JhbW1hck1hcmtlcihHcmFw
aGljc0NvbnRleHQqIHB0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3Vt
ZW50TWFya2VyJiBtYXJrZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwg
Ym9vbCBncmFtbWFyKQogewogICAgIC8vIE5ldmVyIHByaW50IHNwZWxsaW5nL2dyYW1tYXIgbWFy
a2VycyAoNTMyNzg4NykKICAgICBpZiAodGV4dFJlbmRlcmVyKCktPmRvY3VtZW50KCktPnByaW50
aW5nKCkpCkBAIC05MzUsOCArOTM1LDggQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxs
aW5nT3JHcmFtbQogICAgIGlmIChtX3RydW5jYXRpb24gPT0gY0Z1bGxUcnVuY2F0aW9uKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBpbnQgc3RhcnQgPSAwOyAgICAgICAgICAgICAgICAgIC8vIHN0
YXJ0IG9mIGxpbmUgdG8gZHJhdywgcmVsYXRpdmUgdG8gdHgKLSAgICBpbnQgd2lkdGggPSBtX2xv
Z2ljYWxXaWR0aDsgICAgICAgICAgICAvLyBob3cgbXVjaCBsaW5lIHRvIGRyYXcKKyAgICBmbG9h
dCBzdGFydCA9IDA7ICAgICAgICAgICAgICAgICAgLy8gc3RhcnQgb2YgbGluZSB0byBkcmF3LCBy
ZWxhdGl2ZSB0byB0eAorICAgIGZsb2F0IHdpZHRoID0gbV9sb2dpY2FsV2lkdGg7ICAgICAgICAg
ICAgLy8gaG93IG11Y2ggbGluZSB0byBkcmF3CiAKICAgICAvLyBEZXRlcm1pbmUgd2hldGhlciB3
ZSBuZWVkIHRvIG1lYXN1cmUgdGV4dAogICAgIGJvb2wgbWFya2VyU3BhbnNXaG9sZUJveCA9IHRy
dWU7CkBAIC05NTcsOSArOTU3LDEwIEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGlu
Z09yR3JhbW0KICAgICAgICAgLy8gQ2FsY3VsYXRlIHN0YXJ0ICYgd2lkdGgKICAgICAgICAgaW50
IGRlbHRhWSA9IHJlbmRlcmVyKCktPnN0eWxlKCktPmlzRmxpcHBlZExpbmVzV3JpdGluZ01vZGUo
KSA/IHNlbGVjdGlvbkJvdHRvbSgpIC0gbG9naWNhbEJvdHRvbSgpIDogbG9naWNhbFRvcCgpIC0g
c2VsZWN0aW9uVG9wKCk7CiAgICAgICAgIGludCBzZWxIZWlnaHQgPSBzZWxlY3Rpb25IZWlnaHQo
KTsKLSAgICAgICAgSW50UG9pbnQgc3RhcnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4u
eSgpIC0gZGVsdGFZKTsKKyAgICAgICAgRmxvYXRQb2ludCBzdGFydFBvaW50KGJveE9yaWdpbi54
KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVkpOwogICAgICAgICBUZXh0UnVuIHJ1bih0ZXh0UmVu
ZGVyZXIoKS0+dGV4dCgpLT5jaGFyYWN0ZXJzKCkgKyBtX3N0YXJ0LCBtX2xlbiwgdGV4dFJlbmRl
cmVyKCktPmFsbG93VGFicygpLCB0ZXh0UG9zKCksIG1fZXhwYW5zaW9uLCB0cmFpbGluZ0V4cGFu
c2lvbkJlaGF2aW9yKCksICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIG1fZGlyT3ZlcnJpZGUg
fHwgc3R5bGUtPnZpc3VhbGx5T3JkZXJlZCgpKTsKLSAgICAgICAgIAorICAgICAgICAKKyAgICAg
ICAgLy8gRklYTUU6IENvbnZlcnQgdGhlIGRvY3VtZW50IG1hcmtlcnMgdG8gZmxvYXQgcmVjdHMu
CiAgICAgICAgIEludFJlY3QgbWFya2VyUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QoZm9udC5zZWxl
Y3Rpb25SZWN0Rm9yVGV4dChydW4sIHN0YXJ0UG9pbnQsIHNlbEhlaWdodCwgc3RhcnRQb3NpdGlv
biwgZW5kUG9zaXRpb24pKTsKICAgICAgICAgc3RhcnQgPSBtYXJrZXJSZWN0LngoKSAtIHN0YXJ0
UG9pbnQueCgpOwogICAgICAgICB3aWR0aCA9IG1hcmtlclJlY3Qud2lkdGgoKTsKQEAgLTk5MCwx
MCArOTkxLDEwIEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGluZ09yR3JhbW0KICAg
ICAgICAgLy8gSW4gbGFyZ2VyIGZvbnRzLCB0aG91Z2gsIHBsYWNlIHRoZSB1bmRlcmxpbmUgdXAg
bmVhciB0aGUgYmFzZWxpbmUgdG8gcHJldmVudCBhIGJpZyBnYXAuCiAgICAgICAgIHVuZGVybGlu
ZU9mZnNldCA9IGJhc2VsaW5lICsgMjsKICAgICB9Ci0gICAgcHQtPmRyYXdMaW5lRm9yVGV4dENo
ZWNraW5nKEludFBvaW50KGJveE9yaWdpbi54KCkgKyBzdGFydCwgYm94T3JpZ2luLnkoKSArIHVu
ZGVybGluZU9mZnNldCksIHdpZHRoLCB0ZXh0Q2hlY2tpbmdMaW5lU3R5bGVGb3JNYXJrZXJUeXBl
KG1hcmtlci50eXBlKSk7CisgICAgcHQtPmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKEZsb2F0UG9p
bnQoYm94T3JpZ2luLngoKSArIHN0YXJ0LCBib3hPcmlnaW4ueSgpICsgdW5kZXJsaW5lT2Zmc2V0
KSwgd2lkdGgsIHRleHRDaGVja2luZ0xpbmVTdHlsZUZvck1hcmtlclR5cGUobWFya2VyLnR5cGUp
KTsKIH0KIAotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFRleHRNYXRjaE1hcmtlcihHcmFwaGlj
c0NvbnRleHQqIHB0LCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1h
cmtlciYgbWFya2VyLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQpCit2b2lk
IElubGluZVRleHRCb3g6OnBhaW50VGV4dE1hdGNoTWFya2VyKEdyYXBoaWNzQ29udGV4dCogcHQs
IGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImIG1hcmtl
ciwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250KQogewogICAgIC8vIFVzZSBz
YW1lIHkgcG9zaXRpb25pbmcgYW5kIGhlaWdodCBhcyBmb3Igc2VsZWN0aW9uLCBzbyB0aGF0IHdo
ZW4gdGhlIHNlbGVjdGlvbiBhbmQgdGhpcyBoaWdobGlnaHQgYXJlIG9uCiAgICAgLy8gdGhlIHNh
bWUgd29yZCB0aGVyZSBhcmUgbm8gcGllY2VzIHN0aWNraW5nIG91dC4KQEAgLTEwMTYsOCArMTAx
Nyw4IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRUZXh0TWF0Y2hNYXJrZXIKICAgICAgICAg
ICAgIHJlbmRlcmVyKCktPnRoZW1lKCktPnBsYXRmb3JtSW5hY3RpdmVUZXh0U2VhcmNoSGlnaGxp
Z2h0Q29sb3IoKTsKICAgICAgICAgcHQtPnNhdmUoKTsKICAgICAgICAgdXBkYXRlR3JhcGhpY3ND
b250ZXh0KHB0LCBjb2xvciwgY29sb3IsIDAsIHN0eWxlLT5jb2xvclNwYWNlKCkpOyAgLy8gRG9u
J3QgZHJhdyB0ZXh0IGF0IGFsbCEKLSAgICAgICAgcHQtPmNsaXAoSW50UmVjdChib3hPcmlnaW4u
eCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZLCBtX2xvZ2ljYWxXaWR0aCwgc2VsSGVpZ2h0KSk7
Ci0gICAgICAgIHB0LT5kcmF3SGlnaGxpZ2h0Rm9yVGV4dChmb250LCBydW4sIEludFBvaW50KGJv
eE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVkpLCBzZWxIZWlnaHQsIGNvbG9yLCBz
dHlsZS0+Y29sb3JTcGFjZSgpLCBzUG9zLCBlUG9zKTsKKyAgICAgICAgcHQtPmNsaXAoRmxvYXRS
ZWN0KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVksIG1fbG9naWNhbFdpZHRo
LCBzZWxIZWlnaHQpKTsKKyAgICAgICAgcHQtPmRyYXdIaWdobGlnaHRGb3JUZXh0KGZvbnQsIHJ1
biwgRmxvYXRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKSwgc2Vs
SGVpZ2h0LCBjb2xvciwgc3R5bGUtPmNvbG9yU3BhY2UoKSwgc1BvcywgZVBvcyk7CiAgICAgICAg
IHB0LT5yZXN0b3JlKCk7CiAgICAgfQogfQpAQCAtMTAzOSw3ICsxMDQwLDcgQEAgdm9pZCBJbmxp
bmVUZXh0Qm94Ojpjb21wdXRlUmVjdEZvclJlcGxhYwogICAgIHJlbmRlcmVyKCktPmRvY3VtZW50
KCktPm1hcmtlcnMoKS0+c2V0UmVuZGVyZWRSZWN0Rm9yTWFya2VyKHJlbmRlcmVyKCktPm5vZGUo
KSwgbWFya2VyLCBtYXJrZXJSZWN0KTsKIH0KICAgICAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFp
bnREb2N1bWVudE1hcmtlcnMoR3JhcGhpY3NDb250ZXh0KiBwdCwgY29uc3QgSW50UG9pbnQmIGJv
eE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250LCBib29sIGJhY2tn
cm91bmQpCit2b2lkIElubGluZVRleHRCb3g6OnBhaW50RG9jdW1lbnRNYXJrZXJzKEdyYXBoaWNz
Q29udGV4dCogcHQsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0
eWxlLCBjb25zdCBGb250JiBmb250LCBib29sIGJhY2tncm91bmQpCiB7CiAgICAgaWYgKCFyZW5k
ZXJlcigpLT5ub2RlKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTExMDAsMTMgKzExMDEsMTMgQEAg
dm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERvY3VtZW50TWFya2VycwogfQogCiAKLXZvaWQgSW5s
aW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGVybGluZShHcmFwaGljc0NvbnRleHQqIGN0
eCwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgQ29tcG9zaXRpb25VbmRlcmxpbmUm
IHVuZGVybGluZSkKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGVybGlu
ZShHcmFwaGljc0NvbnRleHQqIGN0eCwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBjb25z
dCBDb21wb3NpdGlvblVuZGVybGluZSYgdW5kZXJsaW5lKQogewogICAgIGlmIChtX3RydW5jYXRp
b24gPT0gY0Z1bGxUcnVuY2F0aW9uKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgaW50IHN0
YXJ0ID0gMDsgICAgICAgICAgICAgICAgIC8vIHN0YXJ0IG9mIGxpbmUgdG8gZHJhdywgcmVsYXRp
dmUgdG8gdHgKLSAgICBpbnQgd2lkdGggPSBtX2xvZ2ljYWxXaWR0aDsgICAgICAgICAgIC8vIGhv
dyBtdWNoIGxpbmUgdG8gZHJhdworICAgIGZsb2F0IHN0YXJ0ID0gMDsgICAgICAgICAgICAgICAg
IC8vIHN0YXJ0IG9mIGxpbmUgdG8gZHJhdywgcmVsYXRpdmUgdG8gdHgKKyAgICBmbG9hdCB3aWR0
aCA9IG1fbG9naWNhbFdpZHRoOyAgICAgICAgICAgLy8gaG93IG11Y2ggbGluZSB0byBkcmF3CiAg
ICAgYm9vbCB1c2VXaG9sZVdpZHRoID0gdHJ1ZTsKICAgICB1bnNpZ25lZCBwYWludFN0YXJ0ID0g
bV9zdGFydDsKICAgICB1bnNpZ25lZCBwYWludEVuZCA9IGVuZCgpICsgMTsgLy8gZW5kIHBvaW50
cyBhdCB0aGUgbGFzdCBjaGFyLCBub3QgcGFzdCBpdApAQCAtMTE0Miw3ICsxMTQzLDcgQEAgdm9p
ZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uVW5kZQogCiAgICAgY3R4LT5zZXRTdHJv
a2VDb2xvcih1bmRlcmxpbmUuY29sb3IsIHJlbmRlcmVyKCktPnN0eWxlKCktPmNvbG9yU3BhY2Uo
KSk7CiAgICAgY3R4LT5zZXRTdHJva2VUaGlja25lc3MobGluZVRoaWNrbmVzcyk7Ci0gICAgY3R4
LT5kcmF3TGluZUZvclRleHQoSW50UG9pbnQoYm94T3JpZ2luLngoKSArIHN0YXJ0LCBib3hPcmln
aW4ueSgpICsgbG9naWNhbEhlaWdodCgpIC0gbGluZVRoaWNrbmVzcyksIHdpZHRoLCB0ZXh0UmVu
ZGVyZXIoKS0+ZG9jdW1lbnQoKS0+cHJpbnRpbmcoKSk7CisgICAgY3R4LT5kcmF3TGluZUZvclRl
eHQoRmxvYXRQb2ludChib3hPcmlnaW4ueCgpICsgc3RhcnQsIGJveE9yaWdpbi55KCkgKyBsb2dp
Y2FsSGVpZ2h0KCkgLSBsaW5lVGhpY2tuZXNzKSwgd2lkdGgsIHRleHRSZW5kZXJlcigpLT5kb2N1
bWVudCgpLT5wcmludGluZygpKTsKIH0KIAogaW50IElubGluZVRleHRCb3g6OmNhcmV0TWluT2Zm
c2V0KCkgY29uc3QKQEAgLTExNjAsNyArMTE2MSw3IEBAIHVuc2lnbmVkIElubGluZVRleHRCb3g6
OmNhcmV0TWF4UmVuZGVyZWQKICAgICByZXR1cm4gbV9zdGFydCArIG1fbGVuOwogfQogCi1pbnQg
SW5saW5lVGV4dEJveDo6dGV4dFBvcygpIGNvbnN0CitmbG9hdCBJbmxpbmVUZXh0Qm94Ojp0ZXh0
UG9zKCkgY29uc3QKIHsKICAgICAvLyBXaGVuIGNvbXB1dGluZyB0aGUgd2lkdGggb2YgYSB0ZXh0
IHJ1biwgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNGb3JMaW5l
KCkgZG9lc24ndCBpbmNsdWRlIHRoZSBhY3R1YWwgb2Zmc2V0CiAgICAgLy8gZnJvbSB0aGUgY29u
dGFpbmluZyBibG9jayBlZGdlIGluIGl0cyBtZWFzdXJlbWVudC4gdGV4dFBvcygpIHNob3VsZCBi
ZSBjb25zaXN0ZW50IHNvIHRoZSB0ZXh0IGFyZSByZW5kZXJlZCBpbiB0aGUgc2FtZSB3aWR0aC4K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaAkocmV2aXNpb24g
NzgyNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDUsMTIgKzEwNSwxMiBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAg
dmlydHVhbCB2b2lkIGNsZWFyVHJ1bmNhdGlvbigpIHsgbV90cnVuY2F0aW9uID0gY05vVHJ1bmNh
dGlvbjsgfQotICAgIHZpcnR1YWwgaW50IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBmbG93SXNMVFIs
IGludCB2aXNpYmxlTGVmdEVkZ2UsIGludCB2aXNpYmxlUmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNX
aWR0aCwgYm9vbCYgZm91bmRCb3gpOworICAgIHZpcnR1YWwgZmxvYXQgcGxhY2VFbGxpcHNpc0Jv
eChib29sIGZsb3dJc0xUUiwgZmxvYXQgdmlzaWJsZUxlZnRFZGdlLCBmbG9hdCB2aXNpYmxlUmln
aHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCk7CiAKIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5lQnJlYWsoKSBjb25zdDsKIAotICAgIHZvaWQgc2V0RXhw
YW5zaW9uKGludCBleHBhbnNpb24pIHsgbV9sb2dpY2FsV2lkdGggLT0gbV9leHBhbnNpb247IG1f
ZXhwYW5zaW9uID0gZXhwYW5zaW9uOyBtX2xvZ2ljYWxXaWR0aCArPSBtX2V4cGFuc2lvbjsgfQor
ICAgIHZvaWQgc2V0RXhwYW5zaW9uKGZsb2F0IGV4cGFuc2lvbikgeyBtX2xvZ2ljYWxXaWR0aCAt
PSBtX2V4cGFuc2lvbjsgbV9leHBhbnNpb24gPSBleHBhbnNpb247IG1fbG9naWNhbFdpZHRoICs9
IG1fZXhwYW5zaW9uOyB9CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIGlzSW5saW5lVGV4
dEJveCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0gICAgCkBAIC0xMjIsNyArMTIyLDcgQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGNhcmV0TWF4UmVuZGVyZWRPZmZz
ZXQoKSBjb25zdDsKIAotICAgIGludCB0ZXh0UG9zKCkgY29uc3Q7IC8vIHJldHVybnMgdGhlIHgg
cG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIGxlZnQgc3RhcnQgb2YgdGhlIHRleHQgbGluZS4KKyAg
ICBmbG9hdCB0ZXh0UG9zKCkgY29uc3Q7IC8vIHJldHVybnMgdGhlIHggcG9zaXRpb24gcmVsYXRp
dmUgdG8gdGhlIGxlZnQgc3RhcnQgb2YgdGhlIHRleHQgbGluZS4KIAogcHVibGljOgogICAgIHZp
cnR1YWwgaW50IG9mZnNldEZvclBvc2l0aW9uKGludCB4LCBib29sIGluY2x1ZGVQYXJ0aWFsR2x5
cGhzID0gdHJ1ZSkgY29uc3Q7CkBAIC0xNDQsMTggKzE0NCwxOCBAQCBwcml2YXRlOgogICAgICAg
ICAgICAgICAgICAgICAgIC8vIGRlbm90ZSBubyB0cnVuY2F0aW9uICh0aGUgd2hvbGUgcnVuIHBh
aW50cykgYW5kIGZ1bGwgdHJ1bmNhdGlvbiAobm90aGluZyBwYWludHMgYXQgYWxsKS4KIAogcHJv
dGVjdGVkOgotICAgIHZvaWQgcGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhpY3NDb250
ZXh0KiwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250
JiwgaW50IHN0YXJ0UG9zLCBpbnQgZW5kUG9zKTsKLSAgICB2b2lkIHBhaW50RG9jdW1lbnRNYXJr
ZXJzKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0
eWxlKiwgY29uc3QgRm9udCYsIGJvb2wgYmFja2dyb3VuZCk7Ci0gICAgdm9pZCBwYWludENvbXBv
c2l0aW9uVW5kZXJsaW5lKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmln
aW4sIGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5lJik7CisgICAgdm9pZCBwYWludENvbXBvc2l0
aW9uQmFja2dyb3VuZChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmln
aW4sIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYsIGludCBzdGFydFBvcywgaW50IGVuZFBvcyk7
CisgICAgdm9pZCBwYWludERvY3VtZW50TWFya2VycyhHcmFwaGljc0NvbnRleHQqLCBjb25zdCBG
bG9hdFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYsIGJvb2wgYmFj
a2dyb3VuZCk7CisgICAgdm9pZCBwYWludENvbXBvc2l0aW9uVW5kZXJsaW5lKEdyYXBoaWNzQ29u
dGV4dCosIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgQ29tcG9zaXRpb25VbmRl
cmxpbmUmKTsKICNpZiBQTEFURk9STShNQUMpCiAgICAgdm9pZCBwYWludEN1c3RvbUhpZ2hsaWdo
dChpbnQgdHgsIGludCB0eSwgY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlKTsKICNlbmRpZgogCiBw
cml2YXRlOgotICAgIHZvaWQgcGFpbnREZWNvcmF0aW9uKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0
IEludFBvaW50JiBib3hPcmlnaW4sIGludCBkZWNvcmF0aW9uLCBjb25zdCBTaGFkb3dEYXRhKik7
Ci0gICAgdm9pZCBwYWludFNlbGVjdGlvbihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2lu
dCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmKTsKLSAgICB2b2lkIHBhaW50
U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQm
IGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZv
bnQmLCBib29sIGdyYW1tYXIpOwotICAgIHZvaWQgcGFpbnRUZXh0TWF0Y2hNYXJrZXIoR3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJr
ZXImLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmKTsKKyAgICB2b2lkIHBhaW50RGVjb3JhdGlv
bihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGludCBkZWNv
cmF0aW9uLCBjb25zdCBTaGFkb3dEYXRhKik7CisgICAgdm9pZCBwYWludFNlbGVjdGlvbihHcmFw
aGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiwg
Y29uc3QgRm9udCYpOworICAgIHZvaWQgcGFpbnRTcGVsbGluZ09yR3JhbW1hck1hcmtlcihHcmFw
aGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50
TWFya2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250JiwgYm9vbCBncmFtbWFyKTsKKyAgICB2
b2lkIHBhaW50VGV4dE1hdGNoTWFya2VyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UG9p
bnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImLCBSZW5kZXJTdHlsZSosIGNvbnN0
IEZvbnQmKTsKICAgICB2b2lkIGNvbXB1dGVSZWN0Rm9yUmVwbGFjZW1lbnRNYXJrZXIoY29uc3Qg
RG9jdW1lbnRNYXJrZXImLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmKTsKIAogICAgIFRleHRS
dW46OlRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvcigp
IGNvbnN0IHsgcmV0dXJuIG1fZXhwYW5zaW9uICYmIG5leHRMZWFmQ2hpbGQoKSA/IFRleHRSdW46
OkFsbG93VHJhaWxpbmdFeHBhbnNpb24gOiBUZXh0UnVuOjpGb3JiaWRUcmFpbGluZ0V4cGFuc2lv
bjsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJSLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJSLmgJKHJldmlzaW9uIDc4Mjcx
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJSLmgJKHdvcmtpbmcgY29weSkK
QEAgLTQwLDggKzQwLDggQEAgcHVibGljOgogIAogICAgIHZpcnR1YWwgSW50UmVjdCBzZWxlY3Rp
b25SZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogLypyZXBhaW50Q29udGFpbmVy
Ki8sIGJvb2wgLypjbGlwVG9WaXNpYmxlQ29udGVudCovKSB7IHJldHVybiBJbnRSZWN0KCk7IH0K
IAotICAgIHZpcnR1YWwgdW5zaWduZWQgd2lkdGgodW5zaWduZWQgLypmcm9tKi8sIHVuc2lnbmVk
IC8qbGVuKi8sIGNvbnN0IEZvbnQmLCBpbnQgLyp4cG9zKi8pIGNvbnN0IHsgcmV0dXJuIDA7IH0K
LSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVkIC8qZnJvbSovLCB1bnNpZ25lZCAv
KmxlbiovLCBpbnQgLyp4cG9zKi8sIGJvb2wgLypmaXJzdExpbmUgPSBmYWxzZSovKSBjb25zdCB7
IHJldHVybiAwOyB9CisgICAgdmlydHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25lZCAvKmZyb20qLywg
dW5zaWduZWQgLypsZW4qLywgY29uc3QgRm9udCYsIGZsb2F0IC8qeHBvcyovKSBjb25zdCB7IHJl
dHVybiAwOyB9CisgICAgdmlydHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25lZCAvKmZyb20qLywgdW5z
aWduZWQgLypsZW4qLywgaW50IC8qeHBvcyovLCBib29sIC8qZmlyc3RMaW5lID0gZmFsc2UqLykg
Y29uc3QgeyByZXR1cm4gMDsgfQogCiAgICAgaW50IGxpbmVIZWlnaHQoYm9vbCBmaXJzdExpbmUp
IGNvbnN0OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJ
KHJldmlzaW9uIDc4MjcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYxNyw3ICs0NjE3LDcgQEAgc3RhdGljIGludCBnZXRC
b3JkZXJQYWRkaW5nTWFyZ2luKGNvbnN0IAogICAgICAgICAgICAgICAgY2hpbGQtPmJvcmRlclN0
YXJ0KCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzdHJpcFRyYWlsaW5nU3BhY2UoaW50JiBp
bmxpbmVNYXgsIGludCYgaW5saW5lTWluLAorc3RhdGljIGlubGluZSB2b2lkIHN0cmlwVHJhaWxp
bmdTcGFjZShmbG9hdCYgaW5saW5lTWF4LCBmbG9hdCYgaW5saW5lTWluLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJPYmplY3QqIHRyYWlsaW5nU3BhY2VDaGls
ZCkKIHsKICAgICBpZiAodHJhaWxpbmdTcGFjZUNoaWxkICYmIHRyYWlsaW5nU3BhY2VDaGlsZC0+
aXNUZXh0KCkpIHsKQEAgLTQ2MjUsMTcgKzQ2MjUsMjMgQEAgc3RhdGljIGlubGluZSB2b2lkIHN0
cmlwVHJhaWxpbmdTcGFjZShpbgogICAgICAgICBSZW5kZXJUZXh0KiB0ID0gdG9SZW5kZXJUZXh0
KHRyYWlsaW5nU3BhY2VDaGlsZCk7CiAgICAgICAgIGNvbnN0IFVDaGFyIHNwYWNlID0gJyAnOwog
ICAgICAgICBjb25zdCBGb250JiBmb250ID0gdC0+c3R5bGUoKS0+Zm9udCgpOyAvLyBGSVhNRTog
VGhpcyBpZ25vcmVzIGZpcnN0LWxpbmUuCi0gICAgICAgIGludCBzcGFjZVdpZHRoID0gZm9udC53
aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpOworICAgICAgICBmbG9hdCBzcGFjZVdpZHRoID0gZm9u
dC53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpOwogICAgICAgICBpbmxpbmVNYXggLT0gc3BhY2VX
aWR0aCArIGZvbnQud29yZFNwYWNpbmcoKTsKICAgICAgICAgaWYgKGlubGluZU1pbiA+IGlubGlu
ZU1heCkKICAgICAgICAgICAgIGlubGluZU1pbiA9IGlubGluZU1heDsKICAgICB9CiB9CiAKK3N0
YXRpYyBpbmxpbmUgdm9pZCB1cGRhdGVQcmVmZXJyZWRXaWR0aChpbnQmIHByZWZlcnJlZFdpZHRo
LCBmbG9hdCYgcmVzdWx0KQoreworICAgIGludCBzbmFwcGVkUmVzdWx0ID0gY2VpbGYocmVzdWx0
KTsKKyAgICBwcmVmZXJyZWRXaWR0aCA9IG1heChzbmFwcGVkUmVzdWx0LCBwcmVmZXJyZWRXaWR0
aCk7Cit9CisKIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWRMb2dpY2Fs
V2lkdGhzKCkKIHsKLSAgICBpbnQgaW5saW5lTWF4ID0gMDsKLSAgICBpbnQgaW5saW5lTWluID0g
MDsKKyAgICBmbG9hdCBpbmxpbmVNYXggPSAwOworICAgIGZsb2F0IGlubGluZU1pbiA9IDA7CiAK
ICAgICBpbnQgY3cgPSBjb250YWluaW5nQmxvY2soKS0+Y29udGVudExvZ2ljYWxXaWR0aCgpOwog
CkBAIC00Njk2LDE1ICs0NzAyLDE1IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQ
cmVmZXJyZWQKICAgICAgICAgICAgIC8vIHRoZSB3aWR0aCBvZiB0aGUgbGFzdCBub24tYnJlYWth
YmxlIHJ1biBhbmQgdXNlIHRoYXQgdG8gc3RhcnQgYSBuZXcgbGluZQogICAgICAgICAgICAgLy8g
KHVubGVzcyB3ZSBlbmQgaW4gd2hpdGVzcGFjZSkuCiAgICAgICAgICAgICBSZW5kZXJTdHlsZSog
Y3N0eWxlID0gY2hpbGQtPnN0eWxlKCk7Ci0gICAgICAgICAgICBpbnQgY2hpbGRNaW4gPSAwOwot
ICAgICAgICAgICAgaW50IGNoaWxkTWF4ID0gMDsKKyAgICAgICAgICAgIGZsb2F0IGNoaWxkTWlu
ID0gMDsKKyAgICAgICAgICAgIGZsb2F0IGNoaWxkTWF4ID0gMDsKIAogICAgICAgICAgICAgaWYg
KCFjaGlsZC0+aXNUZXh0KCkpIHsKICAgICAgICAgICAgICAgICAvLyBDYXNlICgxKSBhbmQgKDIp
LiAgSW5saW5lIHJlcGxhY2VkIGFuZCBpbmxpbmUgZmxvdyBlbGVtZW50cy4KICAgICAgICAgICAg
ICAgICBpZiAoY2hpbGQtPmlzUmVuZGVySW5saW5lKCkpIHsKICAgICAgICAgICAgICAgICAgICAg
Ly8gQWRkIGluIHBhZGRpbmcvYm9yZGVyL21hcmdpbiBmcm9tIHRoZSBhcHByb3ByaWF0ZSBzaWRl
IG9mCiAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBlbGVtZW50LgotICAgICAgICAgICAgICAg
ICAgICBpbnQgYnBtID0gZ2V0Qm9yZGVyUGFkZGluZ01hcmdpbih0b1JlbmRlcklubGluZShjaGls
ZCksIGNoaWxkSXRlcmF0b3IuZW5kT2ZJbmxpbmUpOworICAgICAgICAgICAgICAgICAgICBmbG9h
dCBicG0gPSBnZXRCb3JkZXJQYWRkaW5nTWFyZ2luKHRvUmVuZGVySW5saW5lKGNoaWxkKSwgY2hp
bGRJdGVyYXRvci5lbmRPZklubGluZSk7CiAgICAgICAgICAgICAgICAgICAgIGNoaWxkTWluICs9
IGJwbTsKICAgICAgICAgICAgICAgICAgICAgY2hpbGRNYXggKz0gYnBtOwogCkBAIC00NzE0LDcg
KzQ3MjAsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAg
ICAgICAgICAgICAgICAgIGNoaWxkLT5zZXRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkoZmFs
c2UpOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIElu
bGluZSByZXBsYWNlZCBlbHRzIGFkZCBpbiB0aGVpciBtYXJnaW5zIHRvIHRoZWlyIG1pbi9tYXgg
dmFsdWVzLgotICAgICAgICAgICAgICAgICAgICBpbnQgbWFyZ2lucyA9IDA7CisgICAgICAgICAg
ICAgICAgICAgIGZsb2F0IG1hcmdpbnMgPSAwOwogICAgICAgICAgICAgICAgICAgICBMZW5ndGgg
c3RhcnRNYXJnaW4gPSBjc3R5bGUtPm1hcmdpblN0YXJ0KCk7CiAgICAgICAgICAgICAgICAgICAg
IExlbmd0aCBlbmRNYXJnaW4gPSBjc3R5bGUtPm1hcmdpbkVuZCgpOwogICAgICAgICAgICAgICAg
ICAgICBpZiAoc3RhcnRNYXJnaW4uaXNGaXhlZCgpKQpAQCAtNDc0NCwxMyArNDc1MCwxMyBAQCB2
b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAKICAgICAgICAgICAgICAg
ICBib29sIGNhbkJyZWFrUmVwbGFjZWRFbGVtZW50ID0gIWNoaWxkLT5pc0ltYWdlKCkgfHwgYWxs
b3dJbWFnZXNUb0JyZWFrOwogICAgICAgICAgICAgICAgIGlmICgoY2FuQnJlYWtSZXBsYWNlZEVs
ZW1lbnQgJiYgKGF1dG9XcmFwIHx8IG9sZEF1dG9XcmFwKSkgfHwgY2xlYXJQcmV2aW91c0Zsb2F0
KSB7Ci0gICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4
KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAg
ICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5s
aW5lTWluKTsKICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWluID0gMDsKICAgICAgICAgICAg
ICAgICB9CiAKICAgICAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBzdXBwb3NlZCB0byBjbGVhciB0
aGUgcHJldmlvdXMgZmxvYXQsIHRoZW4gdGVybWluYXRlIG1heHdpZHRoIGFzIHdlbGwuCiAgICAg
ICAgICAgICAgICAgaWYgKGNsZWFyUHJldmlvdXNGbG9hdCkgewotICAgICAgICAgICAgICAgICAg
ICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNYXgsIG1fbWF4UHJlZmVy
cmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lk
dGgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1heCk7CiAgICAgICAgICAgICAg
ICAgICAgIGlubGluZU1heCA9IDA7CiAgICAgICAgICAgICAgICAgfQogCkBAIC00NzY4LDEyICs0
Nzc0LDEyIEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKIAogICAg
ICAgICAgICAgICAgIGlmICghYXV0b1dyYXAgfHwgIWNhbkJyZWFrUmVwbGFjZWRFbGVtZW50KSB7
CiAgICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNGbG9hdGluZygpKQotICAgICAgICAg
ICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoY2hpbGRNaW4s
IG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVw
ZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBjaGlsZE1pbik7
CiAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgIGlubGlu
ZU1pbiArPSBjaGlsZE1pbjsKICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
ICAgICAgICAvLyBOb3cgY2hlY2sgb3VyIGxpbmUuCi0gICAgICAgICAgICAgICAgICAgIG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGNoaWxkTWluLCBtX21pblByZWZlcnJlZExvZ2lj
YWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoLCBjaGlsZE1pbik7CiAKICAgICAgICAgICAgICAgICAgICAg
Ly8gTm93IHN0YXJ0IGEgbmV3IGxpbmUuCiAgICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiA9
IDA7CkBAIC00NzkwLDcgKzQ3OTYsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5l
UHJlZmVycmVkCiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCogdCA9IHRvUmVuZGVyVGV4dChj
aGlsZCk7CiAKICAgICAgICAgICAgICAgICBpZiAodC0+aXNXb3JkQnJlYWsoKSkgewotICAgICAg
ICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4s
IG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRl
UHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAg
ICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiA9IDA7CiAgICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICAgICAgICAgIH0KQEAgLTQ4MDQsOSArNDgxMCw5IEBAIHZvaWQgUmVu
ZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAgICAgICAvLyB0aGVu
IHRoZXkgc2hvdWxkbid0IGJlIGNvbnNpZGVyZWQgaW4gdGhlIGJyZWFrYWJsZSBjaGFyCiAgICAg
ICAgICAgICAgICAgLy8gY2hlY2suCiAgICAgICAgICAgICAgICAgYm9vbCBoYXNCcmVha2FibGVD
aGFyLCBoYXNCcmVhazsKLSAgICAgICAgICAgICAgICBpbnQgYmVnaW5NaW4sIGVuZE1pbjsKKyAg
ICAgICAgICAgICAgICBmbG9hdCBiZWdpbk1pbiwgZW5kTWluOwogICAgICAgICAgICAgICAgIGJv
b2wgYmVnaW5XUywgZW5kV1M7Ci0gICAgICAgICAgICAgICAgaW50IGJlZ2luTWF4LCBlbmRNYXg7
CisgICAgICAgICAgICAgICAgZmxvYXQgYmVnaW5NYXgsIGVuZE1heDsKICAgICAgICAgICAgICAg
ICB0LT50cmltbWVkUHJlZldpZHRocyhpbmxpbmVNYXgsIGJlZ2luTWluLCBiZWdpbldTLCBlbmRN
aW4sIGVuZFdTLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0JyZWFr
YWJsZUNoYXIsIGhhc0JyZWFrLCBiZWdpbk1heCwgZW5kTWF4LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNoaWxkTWluLCBjaGlsZE1heCwgc3RyaXBGcm9udFNwYWNlcyk7
CkBAIC00ODE0LDcgKzQ4MjAsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJl
ZmVycmVkCiAgICAgICAgICAgICAgICAgLy8gVGhpcyB0ZXh0IG9iamVjdCB3aWxsIG5vdCBiZSBy
ZW5kZXJlZCwgYnV0IGl0IG1heSBzdGlsbCBwcm92aWRlIGEgYnJlYWtpbmcgb3Bwb3J0dW5pdHku
CiAgICAgICAgICAgICAgICAgaWYgKCFoYXNCcmVhayAmJiBjaGlsZE1heCA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgIGlmIChhdXRvV3JhcCAmJiAoYmVnaW5XUyB8fCBlbmRXUykpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlu
bGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAg
ICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlu
bGluZU1pbik7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSAwOwogICAgICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtNDg0NCwx
MCArNDg1MCwxMCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAg
ICAgICAgICAgICAgICAgICAgIC8vIHdlIHN0YXJ0IGFuZCBlbmQgd2l0aCB3aGl0ZXNwYWNlLgog
ICAgICAgICAgICAgICAgICAgICBpZiAoYmVnaW5XUykKICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIEdvIGFoZWFkIGFuZCBlbmQgdGhlIGN1cnJlbnQgbGluZS4KLSAgICAgICAgICAgICAgICAg
ICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJl
ZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAg
ICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWlu
ICs9IGJlZ2luTWluOwotICAgICAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxk
TWluIC09IHRpOwogICAgICAgICAgICAgICAgICAgICB9CiAKQEAgLTQ4NTYsMTggKzQ4NjIsMTgg
QEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAg
ICAgICAgICBpZiAoZW5kV1MpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIGVuZCBp
biB3aGl0ZXNwYWNlLCB3aGljaCBtZWFucyB3ZSBjYW4gZ28gYWhlYWQKICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIGFuZCBlbmQgb3VyIGN1cnJlbnQgbGluZS4KLSAgICAgICAgICAgICAgICAg
ICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJl
ZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAg
ICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSAwOwogICAgICAgICAgICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAg
ICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2lj
YWxXaWR0aCwgaW5saW5lTWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiA9
IGVuZE1pbjsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KIAogICAg
ICAgICAgICAgICAgIGlmIChoYXNCcmVhaykgewogICAgICAgICAgICAgICAgICAgICBpbmxpbmVN
YXggKz0gYmVnaW5NYXg7Ci0gICAgICAgICAgICAgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNh
bFdpZHRoID0gbWF4KGlubGluZU1heCwgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOwotICAg
ICAgICAgICAgICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChjaGlsZE1h
eCwgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICB1cGRh
dGVQcmVmZXJyZWRXaWR0aChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWF4KTsK
KyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9tYXhQcmVmZXJyZWRM
b2dpY2FsV2lkdGgsIGNoaWxkTWF4KTsKICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWF4ID0g
ZW5kTWF4OwogICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICBpbmxp
bmVNYXggKz0gY2hpbGRNYXg7CkBAIC00ODc3LDggKzQ4ODMsOCBAQCB2b2lkIFJlbmRlckJsb2Nr
Ojpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICBpZiAoY2hpbGQtPmlzTGlzdE1h
cmtlcigpKQogICAgICAgICAgICAgICAgIHN0cmlwRnJvbnRTcGFjZXMgPSB0cnVlOwogICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgo
aW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Ci0gICAgICAgICAgICBtX21h
eFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNYXgsIG1fbWF4UHJlZmVycmVkTG9n
aWNhbFdpZHRoKTsKKyAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVy
cmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOworICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVk
V2lkdGgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1heCk7CiAgICAgICAgICAg
ICBpbmxpbmVNaW4gPSBpbmxpbmVNYXggPSAwOwogICAgICAgICAgICAgc3RyaXBGcm9udFNwYWNl
cyA9IHRydWU7CiAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlQ2hpbGQgPSAwOwpAQCAtNDg5MCw4
ICs0ODk2LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAg
IGlmIChzdHlsZSgpLT5jb2xsYXBzZVdoaXRlU3BhY2UoKSkKICAgICAgICAgc3RyaXBUcmFpbGlu
Z1NwYWNlKGlubGluZU1heCwgaW5saW5lTWluLCB0cmFpbGluZ1NwYWNlQ2hpbGQpOwogCi0gICAg
bV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCk7Ci0gICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5s
aW5lTWF4LCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgdXBkYXRlUHJlZmVycmVk
V2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CisgICAgdXBkYXRl
UHJlZmVycmVkV2lkdGgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1heCk7CiB9
CiAKIC8vIFVzZSBhIHZlcnkgbGFyZ2UgdmFsdWUgKGluIGVmZmVjdCBpbmZpbml0ZSkuCkBAIC01
NDU3LDkgKzU0NjMsOSBAQCB2b2lkIFJlbmRlckJsb2NrOjphZGp1c3RGb3JCb3JkZXJGaXQoaW50
CiAgICAgICAgIGlmIChjaGlsZHJlbklubGluZSgpKSB7CiAgICAgICAgICAgICBmb3IgKFJvb3RJ
bmxpbmVCb3gqIGJveCA9IGZpcnN0Um9vdEJveCgpOyBib3g7IGJveCA9IGJveC0+bmV4dFJvb3RC
b3goKSkgewogICAgICAgICAgICAgICAgIGlmIChib3gtPmZpcnN0Q2hpbGQoKSkKLSAgICAgICAg
ICAgICAgICAgICAgbGVmdCA9IG1pbihsZWZ0LCB4ICsgYm94LT5maXJzdENoaWxkKCktPngoKSk7
CisgICAgICAgICAgICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwgeCArIHN0YXRpY19jYXN0PGlu
dD4oYm94LT5maXJzdENoaWxkKCktPngoKSkpOwogICAgICAgICAgICAgICAgIGlmIChib3gtPmxh
c3RDaGlsZCgpKQotICAgICAgICAgICAgICAgICAgICByaWdodCA9IG1heChyaWdodCwgeCArIGJv
eC0+bGFzdENoaWxkKCktPngoKSArIGJveC0+bGFzdENoaWxkKCktPmxvZ2ljYWxXaWR0aCgpKTsK
KyAgICAgICAgICAgICAgICAgICAgcmlnaHQgPSBtYXgocmlnaHQsIHggKyBzdGF0aWNfY2FzdDxp
bnQ+KGNlaWxmKGJveC0+bGFzdENoaWxkKCktPmxvZ2ljYWxSaWdodCgpKSkpOwogICAgICAgICAg
ICAgfQogICAgICAgICB9CiAgICAgICAgIGVsc2UgewpAQCAtNTc1OSw4ICs1NzY1LDggQEAgdm9p
ZCBSZW5kZXJCbG9jazo6YWRkRm9jdXNSaW5nUmVjdHMoVmVjdAogCiAgICAgaWYgKCFoYXNPdmVy
Zmxvd0NsaXAoKSAmJiAhaGFzQ29udHJvbENsaXAoKSkgewogICAgICAgICBmb3IgKFJvb3RJbmxp
bmVCb3gqIGN1cnIgPSBmaXJzdFJvb3RCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRSb290
Qm94KCkpIHsKLSAgICAgICAgICAgIGludCB0b3AgPSBtYXgoY3Vyci0+bGluZVRvcCgpLCBjdXJy
LT55KCkpOwotICAgICAgICAgICAgaW50IGJvdHRvbSA9IG1pbihjdXJyLT5saW5lQm90dG9tKCks
IGN1cnItPnkoKSArIGN1cnItPmxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgICAgICBpbnQgdG9w
ID0gbWF4KGN1cnItPmxpbmVUb3AoKSwgY3Vyci0+bG9naWNhbFRvcCgpKTsKKyAgICAgICAgICAg
IGludCBib3R0b20gPSBtaW4oY3Vyci0+bGluZUJvdHRvbSgpLCBjdXJyLT5sb2dpY2FsVG9wKCkg
KyBjdXJyLT5sb2dpY2FsSGVpZ2h0KCkpOwogICAgICAgICAgICAgSW50UmVjdCByZWN0KHR4ICsg
Y3Vyci0+eCgpLCB0eSArIHRvcCwgY3Vyci0+bG9naWNhbFdpZHRoKCksIGJvdHRvbSAtIHRvcCk7
CiAgICAgICAgICAgICBpZiAoIXJlY3QuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIHJlY3Rz
LmFwcGVuZChyZWN0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5o
CShyZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5oCSh3b3JraW5nIGNvcHkpCkBAIC00ODUsNyArNDg1LDcgQEAgcHJpdmF0ZToKIAogICAgIHZv
aWQgc2tpcFRyYWlsaW5nV2hpdGVzcGFjZShJbmxpbmVJdGVyYXRvciYsIGJvb2wgaXNMaW5lRW1w
dHksIGJvb2wgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5KTsKICAgICBpbnQgc2tpcExlYWRpbmdX
aGl0ZXNwYWNlKElubGluZUJpZGlSZXNvbHZlciYsIGJvb2wgZmlyc3RMaW5lLCBib29sIGlzTGlu
ZUVtcHR5LCBib29sIHByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSwgRmxvYXRpbmdPYmplY3QqIGxh
c3RGbG9hdEZyb21QcmV2aW91c0xpbmUpOwotICAgIHZvaWQgZml0QmVsb3dGbG9hdHMoaW50IHdp
ZHRoVG9GaXQsIGJvb2wgZmlyc3RMaW5lLCBpbnQmIGF2YWlsYWJsZVdpZHRoKTsKKyAgICB2b2lk
IGZpdEJlbG93RmxvYXRzKGZsb2F0IHdpZHRoVG9GaXQsIGJvb2wgZmlyc3RMaW5lLCBmbG9hdCYg
YXZhaWxhYmxlV2lkdGgpOwogICAgIElubGluZUl0ZXJhdG9yIGZpbmROZXh0TGluZUJyZWFrKElu
bGluZUJpZGlSZXNvbHZlciYsIGJvb2wgZmlyc3RMaW5lLCBib29sJiBpc0xpbmVFbXB0eSwgYm9v
bCYgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBib29sJiBoeXBoZW5hdGVkLCBFQ2xlYXIqLCBG
bG9hdGluZ09iamVjdCogbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSk7CiAgICAgUm9vdElubGlu
ZUJveCogY29uc3RydWN0TGluZSh1bnNpZ25lZCBydW5Db3VudCwgQmlkaVJ1biogZmlyc3RSdW4s
IEJpZGlSdW4qIGxhc3RSdW4sIGJvb2wgZmlyc3RMaW5lLCBib29sIGxhc3RMaW5lLCBSZW5kZXJP
YmplY3QqIGVuZE9iamVjdCk7CiAgICAgSW5saW5lRmxvd0JveCogY3JlYXRlTGluZUJveGVzKFJl
bmRlck9iamVjdCosIGJvb2wgZmlyc3RMaW5lKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCShyZXZpc2lvbiA3ODI3MSkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMTgsOCArMzE4LDggQEAgUm9vdElubGluZUJveCogUmVuZGVyQmxv
Y2s6OmNvbnN0cnVjdExpbgogdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlv
blBvc2l0aW9uc0ZvckxpbmUoUm9vdElubGluZUJveCogbGluZUJveCwgYm9vbCBmaXJzdExpbmUs
IEJpZGlSdW4qIGZpcnN0UnVuLCBCaWRpUnVuKiB0cmFpbGluZ1NwYWNlUnVuLCBib29sIHJlYWNo
ZWRFbmQsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJiB0ZXh0Qm94RGF0YU1hcCkK
IHsKICAgICAvLyBGaXJzdCBkZXRlcm1pbmUgb3VyIHRvdGFsIGxvZ2ljYWwgd2lkdGguCi0gICAg
aW50IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCA9IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aEZvckxpbmUo
bG9naWNhbEhlaWdodCgpLCBmaXJzdExpbmUpOwotICAgIGludCB0b3RhbExvZ2ljYWxXaWR0aCA9
IGxpbmVCb3gtPmdldEZsb3dTcGFjaW5nTG9naWNhbFdpZHRoKCk7CisgICAgZmxvYXQgYXZhaWxh
YmxlTG9naWNhbFdpZHRoID0gYXZhaWxhYmxlTG9naWNhbFdpZHRoRm9yTGluZShsb2dpY2FsSGVp
Z2h0KCksIGZpcnN0TGluZSk7CisgICAgZmxvYXQgdG90YWxMb2dpY2FsV2lkdGggPSBsaW5lQm94
LT5nZXRGbG93U3BhY2luZ0xvZ2ljYWxXaWR0aCgpOwogICAgIGJvb2wgbmVlZHNXb3JkU3BhY2lu
ZyA9IGZhbHNlOwogICAgIHVuc2lnbmVkIGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQgPSAwOwog
ICAgIGJvb2wgaXNBZnRlckV4cGFuc2lvbiA9IHRydWU7CkBAIC0zODYsNyArMzg2LDcgQEAgdm9p
ZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgIC8vIHdlIG5vdyBleGFt
aW5lIG91ciB0ZXh0LWFsaWduIHByb3BlcnR5IGluIG9yZGVyIHRvIGRldGVybWluZSB3aGVyZSB0
byBwb3NpdGlvbiB0aGUKICAgICAvLyBvYmplY3RzIGhvcml6b250YWxseS4gIFRoZSB0b3RhbCB3
aWR0aCBvZiB0aGUgbGluZSBjYW4gYmUgaW5jcmVhc2VkIGlmIHdlIGVuZCB1cAogICAgIC8vIGp1
c3RpZnlpbmcgdGV4dC4KLSAgICBpbnQgbG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdE9mZnNldEZv
ckxpbmUobG9naWNhbEhlaWdodCgpLCBmaXJzdExpbmUpOworICAgIGZsb2F0IGxvZ2ljYWxMZWZ0
ID0gbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKGxvZ2ljYWxIZWlnaHQoKSwgZmlyc3RMaW5lKTsK
ICAgICBzd2l0Y2ggKHRleHRBbGlnbikgewogICAgICAgICBjYXNlIExFRlQ6CiAgICAgICAgIGNh
c2UgV0VCS0lUX0xFRlQ6CkBAIC0zOTQsNyArMzk0LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29t
cHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgLy8gcGFydGljdWxhciB3aXRoIFJUTCBi
bG9ja3MsIHdpZGUgbGluZXMgc2hvdWxkIHN0aWxsIHNwaWxsIG91dCB0byB0aGUgbGVmdC4KICAg
ICAgICAgICAgIGlmIChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsKICAgICAg
ICAgICAgICAgICBpZiAodG90YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFibGVMb2dpY2FsV2lkdGgg
JiYgdHJhaWxpbmdTcGFjZVJ1bikKLSAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1
bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXgoMCwgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gt
PmxvZ2ljYWxXaWR0aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFpbGFibGVMb2dpY2FsV2lk
dGgpKTsKKyAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExv
Z2ljYWxXaWR0aChtYXgoMC5mLCB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRo
KCkgLSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOwogICAgICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAodHJhaWxpbmdTcGFjZVJ1bikKICAg
ICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0
aCgwKTsKQEAgLTQxNiw3ICs0MTYsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5l
RGlyZWN0aW9uCiAgICAgICAgICAgICAvLyBmb3IgcmlnaHQgdG8gbGVmdCBmYWxsIHRocm91Z2gg
dG8gcmlnaHQgYWxpZ25lZAogICAgICAgICAgICAgaWYgKHN0eWxlKCktPmlzTGVmdFRvUmlnaHRE
aXJlY3Rpb24oKSkgewogICAgICAgICAgICAgICAgIGlmICh0b3RhbExvZ2ljYWxXaWR0aCA+IGF2
YWlsYWJsZUxvZ2ljYWxXaWR0aCAmJiB0cmFpbGluZ1NwYWNlUnVuKQotICAgICAgICAgICAgICAg
ICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgwLCB0cmFp
bGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCkgLSB0b3RhbExvZ2ljYWxXaWR0aCAr
IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOworICAgICAgICAgICAgICAgICAgICB0cmFpbGluZ1Nw
YWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgwLmYsIHRyYWlsaW5nU3BhY2VSdW4t
Pm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNhbFdpZHRoICsgYXZhaWxhYmxlTG9n
aWNhbFdpZHRoKSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIGNhc2UgUklHSFQ6CkBAIC00MjcsMTMgKzQyNywxMyBAQCB2b2lkIFJlbmRlckJsb2NrOjpj
b21wdXRlSW5saW5lRGlyZWN0aW9uCiAgICAgICAgICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0VG9S
aWdodERpcmVjdGlvbigpKSB7CiAgICAgICAgICAgICAgICAgaWYgKHRyYWlsaW5nU3BhY2VSdW4p
IHsKICAgICAgICAgICAgICAgICAgICAgdG90YWxMb2dpY2FsV2lkdGggLT0gdHJhaWxpbmdTcGFj
ZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpOwotICAgICAgICAgICAgICAgICAgICB0cmFpbGlu
Z1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKDApOworICAgICAgICAgICAgICAgICAg
ICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKDAuZik7CiAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgIGlmICh0b3RhbExvZ2ljYWxXaWR0aCA8IGF2YWls
YWJsZUxvZ2ljYWxXaWR0aCkKICAgICAgICAgICAgICAgICAgICAgbG9naWNhbExlZnQgKz0gYXZh
aWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGg7CiAgICAgICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgICAgIGlmICh0b3RhbExvZ2ljYWxXaWR0aCA+IGF2YWlsYWJsZUxv
Z2ljYWxXaWR0aCAmJiB0cmFpbGluZ1NwYWNlUnVuKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRy
YWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAsIHRyYWlsaW5nU3Bh
Y2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNhbFdpZHRoICsgYXZhaWxh
YmxlTG9naWNhbFdpZHRoKSk7CisgICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4t
Pm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAuZiwgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gt
PmxvZ2ljYWxXaWR0aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFpbGFibGVMb2dpY2FsV2lk
dGgpKTsKICAgICAgICAgICAgICAgICAgICAgdG90YWxMb2dpY2FsV2lkdGggLT0gdHJhaWxpbmdT
cGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpOwogICAgICAgICAgICAgICAgIH0gZWxzZQog
ICAgICAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdCArPSBhdmFpbGFibGVMb2dpY2FsV2lkdGgg
LSB0b3RhbExvZ2ljYWxXaWR0aDsKQEAgLTQ0MSwxNCArNDQxLDE0IEBAIHZvaWQgUmVuZGVyQmxv
Y2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb24KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj
YXNlIENFTlRFUjoKICAgICAgICAgY2FzZSBXRUJLSVRfQ0VOVEVSOgotICAgICAgICAgICAgaW50
IHRyYWlsaW5nU3BhY2VXaWR0aCA9IDA7CisgICAgICAgICAgICBmbG9hdCB0cmFpbGluZ1NwYWNl
V2lkdGggPSAwLmY7CiAgICAgICAgICAgICBpZiAodHJhaWxpbmdTcGFjZVJ1bikgewogICAgICAg
ICAgICAgICAgIHRvdGFsTG9naWNhbFdpZHRoIC09IHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5s
b2dpY2FsV2lkdGgoKTsKICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlV2lkdGggPSBtaW4o
dHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpLCAoYXZhaWxhYmxlTG9naWNh
bFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGggKyAxKSAvIDIpOwotICAgICAgICAgICAgICAgIHRy
YWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAsIHRyYWlsaW5nU3Bh
Y2VXaWR0aCkpOworICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRM
b2dpY2FsV2lkdGgobWF4KDAuZiwgdHJhaWxpbmdTcGFjZVdpZHRoKSk7CiAgICAgICAgICAgICB9
CiAgICAgICAgICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQotICAg
ICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IG1heCgoYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0g
dG90YWxMb2dpY2FsV2lkdGgpIC8gMiwgMCk7CisgICAgICAgICAgICAgICAgbG9naWNhbExlZnQg
Kz0gbWF4KChhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkgLyAyLmYs
IDAuZik7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgbG9naWNhbExlZnQgKz0g
dG90YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFibGVMb2dpY2FsV2lkdGggPyAoYXZhaWxhYmxlTG9n
aWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpIDogKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAt
IHRvdGFsTG9naWNhbFdpZHRoKSAvIDIgLSB0cmFpbGluZ1NwYWNlV2lkdGg7CiAgICAgICAgICAg
ICBicmVhazsKQEAgLTQ2OCw3ICs0NjgsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5s
aW5lRGlyZWN0aW9uCiAgICAgICAgICAgICAgICAgLy8gT25seSBqdXN0aWZ5IHRleHQgaWYgd2hp
dGVzcGFjZSBpcyBjb2xsYXBzZWQuCiAgICAgICAgICAgICAgICAgaWYgKHItPm1fb2JqZWN0LT5z
dHlsZSgpLT5jb2xsYXBzZVdoaXRlU3BhY2UoKSkgewogICAgICAgICAgICAgICAgICAgICBJbmxp
bmVUZXh0Qm94KiB0ZXh0Qm94ID0gc3RhdGljX2Nhc3Q8SW5saW5lVGV4dEJveCo+KHItPm1fYm94
KTsKLSAgICAgICAgICAgICAgICAgICAgaW50IGV4cGFuc2lvbiA9IChhdmFpbGFibGVMb2dpY2Fs
V2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkgKiBvcHBvcnR1bml0aWVzSW5SdW4gLyBleHBhbnNp
b25PcHBvcnR1bml0eUNvdW50OworICAgICAgICAgICAgICAgICAgICBmbG9hdCBleHBhbnNpb24g
PSAoYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpICogb3Bwb3J0dW5p
dGllc0luUnVuIC8gZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudDsKICAgICAgICAgICAgICAgICAg
ICAgdGV4dEJveC0+c2V0RXhwYW5zaW9uKGV4cGFuc2lvbik7CiAgICAgICAgICAgICAgICAgICAg
IHRvdGFsTG9naWNhbFdpZHRoICs9IGV4cGFuc2lvbjsKICAgICAgICAgICAgICAgICB9CkBAIC0x
MzY4LDEzICsxMzY4LDEzIEBAIHN0YXRpYyBib29sIHNob3VsZFNraXBXaGl0ZXNwYWNlQWZ0ZXJT
dGEKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXZvaWQgUmVuZGVyQmxvY2s6OmZpdEJlbG93Rmxv
YXRzKGludCB3aWR0aFRvRml0LCBib29sIGZpcnN0TGluZSwgaW50JiBhdmFpbGFibGVXaWR0aCkK
K3ZvaWQgUmVuZGVyQmxvY2s6OmZpdEJlbG93RmxvYXRzKGZsb2F0IHdpZHRoVG9GaXQsIGJvb2wg
Zmlyc3RMaW5lLCBmbG9hdCYgYXZhaWxhYmxlV2lkdGgpCiB7CiAgICAgQVNTRVJUKHdpZHRoVG9G
aXQgPiBhdmFpbGFibGVXaWR0aCk7CiAKICAgICBpbnQgZmxvYXRMb2dpY2FsQm90dG9tOwogICAg
IGludCBsYXN0RmxvYXRMb2dpY2FsQm90dG9tID0gbG9naWNhbEhlaWdodCgpOwotICAgIGludCBu
ZXdMaW5lV2lkdGggPSBhdmFpbGFibGVXaWR0aDsKKyAgICBmbG9hdCBuZXdMaW5lV2lkdGggPSBh
dmFpbGFibGVXaWR0aDsKICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICBmbG9hdExvZ2ljYWxC
b3R0b20gPSBuZXh0RmxvYXRMb2dpY2FsQm90dG9tQmVsb3cobGFzdEZsb2F0TG9naWNhbEJvdHRv
bSk7CiAgICAgICAgIGlmICghZmxvYXRMb2dpY2FsQm90dG9tKQpAQCAtMTM5MiwxOSArMTM5Miwx
OSBAQCB2b2lkIFJlbmRlckJsb2NrOjpmaXRCZWxvd0Zsb2F0cyhpbnQgd2lkCiAgICAgfQogfQog
Ci1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIHRleHRXaWR0aChSZW5kZXJUZXh0KiB0ZXh0LCB1bnNp
Z25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbnN0IEZvbnQmIGZvbnQsIGludCB4UG9zLCBib29s
IGlzRml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UpCitzdGF0aWMgaW5saW5lIGZs
b2F0IHRleHRXaWR0aChSZW5kZXJUZXh0KiB0ZXh0LCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBs
ZW4sIGNvbnN0IEZvbnQmIGZvbnQsIGZsb2F0IHhQb3MsIGJvb2wgaXNGaXhlZFBpdGNoLCBib29s
IGNvbGxhcHNlV2hpdGVTcGFjZSkKIHsKICAgICBpZiAoaXNGaXhlZFBpdGNoIHx8ICghZnJvbSAm
JiBsZW4gPT0gdGV4dC0+dGV4dExlbmd0aCgpKSB8fCB0ZXh0LT5zdHlsZSgpLT5oYXNUZXh0Q29t
YmluZSgpKQogICAgICAgICByZXR1cm4gdGV4dC0+d2lkdGgoZnJvbSwgbGVuLCBmb250LCB4UG9z
KTsKICAgICByZXR1cm4gZm9udC53aWR0aChUZXh0UnVuKHRleHQtPmNoYXJhY3RlcnMoKSArIGZy
b20sIGxlbiwgIWNvbGxhcHNlV2hpdGVTcGFjZSwgeFBvcykpOwogfQogCi1zdGF0aWMgdm9pZCB0
cnlIeXBoZW5hdGluZyhSZW5kZXJUZXh0KiB0ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25zdCBB
dG9taWNTdHJpbmcmIGxvY2FsZUlkZW50aWZpZXIsIGludCBsYXN0U3BhY2UsIGludCBwb3MsIGlu
dCB4UG9zLCBpbnQgYXZhaWxhYmxlV2lkdGgsIGJvb2wgaXNGaXhlZFBpdGNoLCBib29sIGNvbGxh
cHNlV2hpdGVTcGFjZSwgaW50IGxhc3RTcGFjZVdvcmRTcGFjaW5nLCBJbmxpbmVJdGVyYXRvciYg
bGluZUJyZWFrLCBpbnQgbmV4dEJyZWFrYWJsZSwgYm9vbCYgaHlwaGVuYXRlZCkKK3N0YXRpYyB2
b2lkIHRyeUh5cGhlbmF0aW5nKFJlbmRlclRleHQqIHRleHQsIGNvbnN0IEZvbnQmIGZvbnQsIGNv
bnN0IEF0b21pY1N0cmluZyYgbG9jYWxlSWRlbnRpZmllciwgaW50IGxhc3RTcGFjZSwgaW50IHBv
cywgZmxvYXQgeFBvcywgaW50IGF2YWlsYWJsZVdpZHRoLCBib29sIGlzRml4ZWRQaXRjaCwgYm9v
bCBjb2xsYXBzZVdoaXRlU3BhY2UsIGludCBsYXN0U3BhY2VXb3JkU3BhY2luZywgSW5saW5lSXRl
cmF0b3ImIGxpbmVCcmVhaywgaW50IG5leHRCcmVha2FibGUsIGJvb2wmIGh5cGhlbmF0ZWQpCiB7
CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBoeXBoZW5TdHJpbmcgPSB0ZXh0LT5zdHlsZSgpLT5o
eXBoZW5TdHJpbmcoKTsKICAgICBpbnQgaHlwaGVuV2lkdGggPSBmb250LndpZHRoKFRleHRSdW4o
aHlwaGVuU3RyaW5nLmNoYXJhY3RlcnMoKSwgaHlwaGVuU3RyaW5nLmxlbmd0aCgpKSk7CiAKLSAg
ICBpbnQgbWF4UHJlZml4V2lkdGggPSBhdmFpbGFibGVXaWR0aCAtIHhQb3MgLSBoeXBoZW5XaWR0
aCAtIGxhc3RTcGFjZVdvcmRTcGFjaW5nOworICAgIGZsb2F0IG1heFByZWZpeFdpZHRoID0gYXZh
aWxhYmxlV2lkdGggLSB4UG9zIC0gaHlwaGVuV2lkdGggLSBsYXN0U3BhY2VXb3JkU3BhY2luZzsK
ICAgICAvLyBJZiB0aGUgbWF4aW11bSB3aWR0aCBhdmFpbGFibGUgZm9yIHRoZSBwcmVmaXggYmVm
b3JlIHRoZSBoeXBoZW4gaXMgc21hbGwsIHRoZW4gaXQgaXMgdmVyeSB1bmxpa2VseQogICAgIC8v
IHRoYXQgYW4gaHlwaGVuYXRpb24gb3Bwb3J0dW5pdHkgZXhpc3RzLCBzbyBkbyBub3QgYm90aGVy
IHRvIGxvb2sgZm9yIGl0LgogICAgIGlmIChtYXhQcmVmaXhXaWR0aCA8PSBmb250LnBpeGVsU2l6
ZSgpICogNSAvIDQpCkBAIC0xNDE5LDcgKzE0MTksNyBAQCBzdGF0aWMgdm9pZCB0cnlIeXBoZW5h
dGluZyhSZW5kZXJUZXh0KiB0CiAgICAgICAgIHJldHVybjsKIAogI2lmICFBU1NFUlRfRElTQUJM
RUQKLSAgICBpbnQgcHJlZml4V2lkdGggPSBoeXBoZW5XaWR0aCArIHRleHRXaWR0aCh0ZXh0LCBs
YXN0U3BhY2UsIHByZWZpeExlbmd0aCwgZm9udCwgeFBvcywgaXNGaXhlZFBpdGNoLCBjb2xsYXBz
ZVdoaXRlU3BhY2UpICsgbGFzdFNwYWNlV29yZFNwYWNpbmc7CisgICAgZmxvYXQgcHJlZml4V2lk
dGggPSBoeXBoZW5XaWR0aCArIHRleHRXaWR0aCh0ZXh0LCBsYXN0U3BhY2UsIHByZWZpeExlbmd0
aCwgZm9udCwgeFBvcywgaXNGaXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UpICsgbGFzdFNw
YWNlV29yZFNwYWNpbmc7CiAgICAgQVNTRVJUKHhQb3MgKyBwcmVmaXhXaWR0aCA8PSBhdmFpbGFi
bGVXaWR0aCk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShpc0ZpeGVkUGl0Y2gpOwpAQCAtMTQz
OSwxMCArMTQzOSwxMCBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9jazo6ZmluZE5leHRMaW5l
CiAgICAgYm9vbCBhcHBsaWVkU3RhcnRXaWR0aCA9IHJlc29sdmVyLnBvc2l0aW9uKCkucG9zID4g
MDsKICAgICBMaW5lTWlkcG9pbnRTdGF0ZSYgbGluZU1pZHBvaW50U3RhdGUgPSByZXNvbHZlci5t
aWRwb2ludFN0YXRlKCk7CiAgICAgCi0gICAgaW50IHdpZHRoID0gc2tpcExlYWRpbmdXaGl0ZXNw
YWNlKHJlc29sdmVyLCBmaXJzdExpbmUsIGlzTGluZUVtcHR5LCBwcmV2aW91c0xpbmVCcm9rZUNs
ZWFubHksIGxhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUpOworICAgIGZsb2F0IHdpZHRoID0gc2tp
cExlYWRpbmdXaGl0ZXNwYWNlKHJlc29sdmVyLCBmaXJzdExpbmUsIGlzTGluZUVtcHR5LCBwcmV2
aW91c0xpbmVCcm9rZUNsZWFubHksIGxhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUpOwogCi0gICAg
aW50IHcgPSAwOwotICAgIGludCB0bXBXID0gMDsKKyAgICBmbG9hdCB3ID0gMDsKKyAgICBmbG9h
dCB0bXBXID0gMDsKIAogICAgIGlmIChyZXNvbHZlci5wb3NpdGlvbigpLmF0RW5kKCkpCiAgICAg
ICAgIHJldHVybiByZXNvbHZlci5wb3NpdGlvbigpOwpAQCAtMTQ2MSw4ICsxNDYxLDggQEAgSW5s
aW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZQogCiAgICAgSW5saW5lSXRlcmF0
b3IgbEJyZWFrID0gcmVzb2x2ZXIucG9zaXRpb24oKTsKIAotICAgIFJlbmRlck9iamVjdCAqbyA9
IHJlc29sdmVyLnBvc2l0aW9uKCkub2JqOwotICAgIFJlbmRlck9iamVjdCAqbGFzdCA9IG87Cisg
ICAgUmVuZGVyT2JqZWN0KiBvID0gcmVzb2x2ZXIucG9zaXRpb24oKS5vYmo7CisgICAgUmVuZGVy
T2JqZWN0KiBsYXN0ID0gbzsKICAgICB1bnNpZ25lZCBwb3MgPSByZXNvbHZlci5wb3NpdGlvbigp
LnBvczsKICAgICBpbnQgbmV4dEJyZWFrYWJsZSA9IHJlc29sdmVyLnBvc2l0aW9uKCkubmV4dEJy
ZWFrYWJsZVBvc2l0aW9uOwogICAgIGJvb2wgYXRTdGFydCA9IHRydWU7CkBAIC0xNjU5LDIyICsx
NjU5LDIyIEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4dExpbmUKICAgICAg
ICAgICAgIGJvb2wgY2FuSHlwaGVuYXRlID0gc3R5bGUtPmh5cGhlbnMoKSA9PSBIeXBoZW5zQXV0
byAmJiBXZWJDb3JlOjpjYW5IeXBoZW5hdGUoc3R5bGUtPmh5cGhlbmF0aW9uTG9jYWxlKCkpOwog
CiAgICAgICAgICAgICBpbnQgbGFzdFNwYWNlID0gcG9zOwotICAgICAgICAgICAgaW50IHdvcmRT
cGFjaW5nID0gby0+c3R5bGUoKS0+d29yZFNwYWNpbmcoKTsKLSAgICAgICAgICAgIGludCBsYXN0
U3BhY2VXb3JkU3BhY2luZyA9IDA7CisgICAgICAgICAgICBmbG9hdCB3b3JkU3BhY2luZyA9IG8t
PnN0eWxlKCktPndvcmRTcGFjaW5nKCk7CisgICAgICAgICAgICBmbG9hdCBsYXN0U3BhY2VXb3Jk
U3BhY2luZyA9IDA7CiAKICAgICAgICAgICAgIC8vIE5vbi16ZXJvIG9ubHkgd2hlbiBrZXJuaW5n
IGlzIGVuYWJsZWQsIGluIHdoaWNoIGNhc2Ugd2UgbWVhc3VyZSB3b3JkcyB3aXRoIHRoZWlyIHRy
YWlsaW5nCiAgICAgICAgICAgICAvLyBzcGFjZSwgdGhlbiBzdWJ0cmFjdCBpdHMgd2lkdGguCi0g
ICAgICAgICAgICBpbnQgd29yZFRyYWlsaW5nU3BhY2VXaWR0aCA9IGYudHlwZXNldHRpbmdGZWF0
dXJlcygpICYgS2VybmluZyA/IGYud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKSArIHdvcmRTcGFj
aW5nIDogMDsKKyAgICAgICAgICAgIGZsb2F0IHdvcmRUcmFpbGluZ1NwYWNlV2lkdGggPSBmLnR5
cGVzZXR0aW5nRmVhdHVyZXMoKSAmIEtlcm5pbmcgPyBmLndpZHRoKFRleHRSdW4oJnNwYWNlLCAx
KSkgKyB3b3JkU3BhY2luZyA6IDA7CiAKLSAgICAgICAgICAgIGludCB3cmFwVyA9IHRtcFcgKyBp
bmxpbmVMb2dpY2FsV2lkdGgobywgIWFwcGxpZWRTdGFydFdpZHRoLCB0cnVlKTsKLSAgICAgICAg
ICAgIGludCBjaGFyV2lkdGggPSAwOworICAgICAgICAgICAgZmxvYXQgd3JhcFcgPSB0bXBXICsg
aW5saW5lTG9naWNhbFdpZHRoKG8sICFhcHBsaWVkU3RhcnRXaWR0aCwgdHJ1ZSk7CisgICAgICAg
ICAgICBmbG9hdCBjaGFyV2lkdGggPSAwOwogICAgICAgICAgICAgYm9vbCBicmVha05CU1AgPSBh
dXRvV3JhcCAmJiBvLT5zdHlsZSgpLT5uYnNwTW9kZSgpID09IFNQQUNFOwogICAgICAgICAgICAg
Ly8gQXV0by13cmFwcGluZyB0ZXh0IHNob3VsZCB3cmFwIGluIHRoZSBtaWRkbGUgb2YgYSB3b3Jk
IG9ubHkgaWYgaXQgY291bGQgbm90IHdyYXAgYmVmb3JlIHRoZSB3b3JkLAogICAgICAgICAgICAg
Ly8gd2hpY2ggaXMgb25seSBwb3NzaWJsZSBpZiB0aGUgd29yZCBpcyB0aGUgZmlyc3QgdGhpbmcg
b24gdGhlIGxpbmUsIHRoYXQgaXMsIGlmIHx3fCBpcyB6ZXJvLgogICAgICAgICAgICAgYm9vbCBi
cmVha1dvcmRzID0gby0+c3R5bGUoKS0+YnJlYWtXb3JkcygpICYmICgoYXV0b1dyYXAgJiYgIXcp
IHx8IGN1cnJXUyA9PSBQUkUpOwogICAgICAgICAgICAgYm9vbCBtaWRXb3JkQnJlYWsgPSBmYWxz
ZTsKICAgICAgICAgICAgIGJvb2wgYnJlYWtBbGwgPSBvLT5zdHlsZSgpLT53b3JkQnJlYWsoKSA9
PSBCcmVha0FsbFdvcmRCcmVhayAmJiBhdXRvV3JhcDsKLSAgICAgICAgICAgIGludCBoeXBoZW5X
aWR0aCA9IDA7CisgICAgICAgICAgICBmbG9hdCBoeXBoZW5XaWR0aCA9IDA7CiAKICAgICAgICAg
ICAgIGlmICh0LT5pc1dvcmRCcmVhaygpKSB7CiAgICAgICAgICAgICAgICAgdyArPSB0bXBXOwpA
QCAtMTc0Myw3ICsxNzQzLDcgQEAgSW5saW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0
TGluZQogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAK
LSAgICAgICAgICAgICAgICAgICAgaW50IGFkZGl0aW9uYWxUbXBXOworICAgICAgICAgICAgICAg
ICAgICBmbG9hdCBhZGRpdGlvbmFsVG1wVzsKICAgICAgICAgICAgICAgICAgICAgaWYgKHdvcmRU
cmFpbGluZ1NwYWNlV2lkdGggJiYgY3VycmVudENoYXJhY3RlcklzU3BhY2UpCiAgICAgICAgICAg
ICAgICAgICAgICAgICBhZGRpdGlvbmFsVG1wVyA9IHRleHRXaWR0aCh0LCBsYXN0U3BhY2UsIHBv
cyArIDEgLSBsYXN0U3BhY2UsIGYsIHcgKyB0bXBXLCBpc0ZpeGVkUGl0Y2gsIGNvbGxhcHNlV2hp
dGVTcGFjZSkgLSB3b3JkVHJhaWxpbmdTcGFjZVdpZHRoICsgbGFzdFNwYWNlV29yZFNwYWNpbmc7
CiAgICAgICAgICAgICAgICAgICAgIGVsc2UKQEAgLTE4OTMsNyArMTg5Myw3IEBAIElubGluZUl0
ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4dExpbmUKICAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgLy8gSU1QT1JUQU5UOiBwb3MgaXMgPiBsZW5ndGggaGVyZSEKLSAgICAgICAgICAgIGlu
dCBhZGRpdGlvbmFsVG1wVyA9IGlnbm9yaW5nU3BhY2VzID8gMCA6IHRleHRXaWR0aCh0LCBsYXN0
U3BhY2UsIHBvcyAtIGxhc3RTcGFjZSwgZiwgdyArIHRtcFcsIGlzRml4ZWRQaXRjaCwgY29sbGFw
c2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOworICAgICAgICAgICAgZmxvYXQg
YWRkaXRpb25hbFRtcFcgPSBpZ25vcmluZ1NwYWNlcyA/IDAgOiB0ZXh0V2lkdGgodCwgbGFzdFNw
YWNlLCBwb3MgLSBsYXN0U3BhY2UsIGYsIHcgKyB0bXBXLCBpc0ZpeGVkUGl0Y2gsIGNvbGxhcHNl
V2hpdGVTcGFjZSkgKyBsYXN0U3BhY2VXb3JkU3BhY2luZzsKICAgICAgICAgICAgIHRtcFcgKz0g
YWRkaXRpb25hbFRtcFc7CiAgICAgICAgICAgICB0bXBXICs9IGlubGluZUxvZ2ljYWxXaWR0aChv
LCAhYXBwbGllZFN0YXJ0V2lkdGgsIHRydWUpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcAkocmV2aXNpb24gNzgyNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMyOSw3ICsxMzI5LDcgQEAg
dm9pZCBSZW5kZXJCb3g6OnBvc2l0aW9uTGluZUJveChJbmxpbmVCbwogICAgICAgICBib3gtPnJl
bW92ZSgpOwogICAgICAgICBib3gtPmRlc3Ryb3kocmVuZGVyQXJlbmEoKSk7CiAgICAgfSBlbHNl
IGlmIChpc1JlcGxhY2VkKCkpIHsKLSAgICAgICAgc2V0TG9jYXRpb24oYm94LT54KCksIGJveC0+
eSgpKTsKKyAgICAgICAgc2V0TG9jYXRpb24obHJvdW5kZihib3gtPngoKSksIGxyb3VuZGYoYm94
LT55KCkpKTsKICAgICAgICAgbV9pbmxpbmVCb3hXcmFwcGVyID0gYm94OwogICAgIH0KIH0KQEAg
LTMzNDgsNiArMzM0OCwyNCBAQCBJbnRTaXplIFJlbmRlckJveDo6ZmxpcEZvcldyaXRpbmdNb2Rl
KGNvCiAgICAgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBJbnRT
aXplKG9mZnNldC53aWR0aCgpLCBoZWlnaHQoKSAtIG9mZnNldC5oZWlnaHQoKSkgOiBJbnRTaXpl
KHdpZHRoKCkgLSBvZmZzZXQud2lkdGgoKSwgb2Zmc2V0LmhlaWdodCgpKTsKIH0KIAorRmxvYXRQ
b2ludCBSZW5kZXJCb3g6OmZsaXBGb3JXcml0aW5nTW9kZShjb25zdCBGbG9hdFBvaW50JiBwb3Np
dGlvbikgY29uc3QKK3sKKyAgICBpZiAoIXN0eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdN
b2RlKCkpCisgICAgICAgIHJldHVybiBwb3NpdGlvbjsKKyAgICByZXR1cm4gc3R5bGUoKS0+aXNI
b3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEZsb2F0UG9pbnQocG9zaXRpb24ueCgpLCBoZWlnaHQo
KSAtIHBvc2l0aW9uLnkoKSkgOiBGbG9hdFBvaW50KHdpZHRoKCkgLSBwb3NpdGlvbi54KCksIHBv
c2l0aW9uLnkoKSk7Cit9CisKK3ZvaWQgUmVuZGVyQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoRmxv
YXRSZWN0JiByZWN0KSBjb25zdAoreworICAgIGlmICghc3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tz
V3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKHN0eWxlKCktPmlzSG9y
aXpvbnRhbFdyaXRpbmdNb2RlKCkpCisgICAgICAgIHJlY3Quc2V0WShoZWlnaHQoKSAtIHJlY3Qu
bWF4WSgpKTsKKyAgICBlbHNlCisgICAgICAgIHJlY3Quc2V0WCh3aWR0aCgpIC0gcmVjdC5tYXhY
KCkpOworfQorCiBJbnRTaXplIFJlbmRlckJveDo6bG9jYXRpb25PZmZzZXRJbmNsdWRpbmdGbGlw
cGluZygpIGNvbnN0CiB7CiAgICAgaWYgKCFwYXJlbnQoKSB8fCAhcGFyZW50KCktPmlzQm94KCkp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCShyZXZpc2lvbiA3ODI3MSkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAkod29ya2luZyBjb3B5KQpA
QCAtMzg1LDYgKzM4NSw4IEBAIHB1YmxpYzoKICAgICBJbnRQb2ludCBmbGlwRm9yV3JpdGluZ01v
ZGVJbmNsdWRpbmdDb2x1bW5zKGNvbnN0IEludFBvaW50JikgY29uc3Q7CiAgICAgSW50U2l6ZSBm
bGlwRm9yV3JpdGluZ01vZGUoY29uc3QgSW50U2l6ZSYpIGNvbnN0OwogICAgIHZvaWQgZmxpcEZv
cldyaXRpbmdNb2RlKEludFJlY3QmKSBjb25zdDsKKyAgICBGbG9hdFBvaW50IGZsaXBGb3JXcml0
aW5nTW9kZShjb25zdCBGbG9hdFBvaW50JikgY29uc3Q7CisgICAgdm9pZCBmbGlwRm9yV3JpdGlu
Z01vZGUoRmxvYXRSZWN0JikgY29uc3Q7CiAgICAgSW50U2l6ZSBsb2NhdGlvbk9mZnNldEluY2x1
ZGluZ0ZsaXBwaW5nKCkgY29uc3Q7CiAKICAgICBJbnRSZWN0IGxvZ2ljYWxWaXN1YWxPdmVyZmxv
d1JlY3RGb3JQcm9wYWdhdGlvbihSZW5kZXJTdHlsZSopIGNvbnN0OwpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuY3BwCShyZXZpc2lvbiA3ODI3
MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAgdm9pZCBSZW5kZXJDb21iaW5lVGV4dDo6c2V0
VGV4dEludGVybmFsKAogICAgIG1fbmVlZHNGb250VXBkYXRlID0gdHJ1ZTsKIH0KIAotdW5zaWdu
ZWQgUmVuZGVyQ29tYmluZVRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbmd0
aCwgY29uc3QgRm9udCYgZm9udCwgaW50IHhQb3NpdGlvbiwgSGFzaFNldDxjb25zdCBTaW1wbGVG
b250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBj
b25zdAorZmxvYXQgUmVuZGVyQ29tYmluZVRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2ln
bmVkIGxlbmd0aCwgY29uc3QgRm9udCYgZm9udCwgZmxvYXQgeFBvc2l0aW9uLCBIYXNoU2V0PGNv
bnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBo
T3ZlcmZsb3cpIGNvbnN0CiB7CiAgICAgaWYgKCFjaGFyYWN0ZXJzKCkpCiAgICAgICAgIHJldHVy
biAwOwpAQCAtNjMsNyArNjMsNyBAQCB1bnNpZ25lZCBSZW5kZXJDb21iaW5lVGV4dDo6d2lkdGgo
dW5zaWduCiAgICAgcmV0dXJuIFJlbmRlclRleHQ6OndpZHRoKGZyb20sIGxlbmd0aCwgZm9udCwg
eFBvc2l0aW9uLCBmYWxsYmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93KTsKIH0KIAotdm9pZCBSZW5k
ZXJDb21iaW5lVGV4dDo6YWRqdXN0VGV4dE9yaWdpbihJbnRQb2ludCYgdGV4dE9yaWdpbiwgY29u
c3QgSW50UmVjdCYgYm94UmVjdCkgY29uc3QKK3ZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OmFkanVz
dFRleHRPcmlnaW4oRmxvYXRQb2ludCYgdGV4dE9yaWdpbiwgY29uc3QgRmxvYXRSZWN0JiBib3hS
ZWN0KSBjb25zdAogewogICAgIGlmIChtX2lzQ29tYmluZWQpCiAgICAgICAgIHRleHRPcmlnaW4u
bW92ZShib3hSZWN0LmhlaWdodCgpIC8gMiAtIGNlaWxmKG1fY29tYmluZWRUZXh0V2lkdGgpIC8g
Miwgc3R5bGUoKS0+Zm9udCgpLnBpeGVsU2l6ZSgpKTsKQEAgLTk4LDcgKzk4LDcgQEAgdm9pZCBS
ZW5kZXJDb21iaW5lVGV4dDo6Y29tYmluZVRleHQoKQogICAgIGJvb2wgc2hvdWxkVXBkYXRlRm9u
dCA9IGZhbHNlOwogCiAgICAgZGVzY3JpcHRpb24uc2V0T3JpZW50YXRpb24oSG9yaXpvbnRhbCk7
IC8vIFdlIGFyZSBnb2luZyB0byBkcmF3IGNvbWJpbmVkIHRleHQgaG9yaXpvbnRhbGx5LgotICAg
IG1fY29tYmluZWRUZXh0V2lkdGggPSBzdHlsZSgpLT5mb250KCkuZmxvYXRXaWR0aChydW4pOwor
ICAgIG1fY29tYmluZWRUZXh0V2lkdGggPSBzdHlsZSgpLT5mb250KCkud2lkdGgocnVuKTsKICAg
ICBtX2lzQ29tYmluZWQgPSBtX2NvbWJpbmVkVGV4dFdpZHRoIDw9IGVtV2lkdGg7CiAKICAgICBp
ZiAobV9pc0NvbWJpbmVkKQpAQCAtMTEwLDcgKzExMCw3IEBAIHZvaWQgUmVuZGVyQ29tYmluZVRl
eHQ6OmNvbWJpbmVUZXh0KCkKICAgICAgICAgICAgIGRlc2NyaXB0aW9uLnNldFdpZHRoVmFyaWFu
dCh3aWR0aFZhcmlhbnRzW2ldKTsKICAgICAgICAgICAgIEZvbnQgY29tcHJlc3NlZEZvbnQgPSBG
b250KGRlc2NyaXB0aW9uLCBzdHlsZSgpLT5mb250KCkubGV0dGVyU3BhY2luZygpLCBzdHlsZSgp
LT5mb250KCkud29yZFNwYWNpbmcoKSk7CiAgICAgICAgICAgICBjb21wcmVzc2VkRm9udC51cGRh
dGUoc3R5bGUoKS0+Zm9udCgpLmZvbnRTZWxlY3RvcigpKTsKLSAgICAgICAgICAgIGZsb2F0IHJ1
bldpZHRoID0gY29tcHJlc3NlZEZvbnQuZmxvYXRXaWR0aChydW4pOworICAgICAgICAgICAgZmxv
YXQgcnVuV2lkdGggPSBjb21wcmVzc2VkRm9udC53aWR0aChydW4pOwogICAgICAgICAgICAgaWYg
KHJ1bldpZHRoIDw9IGVtV2lkdGgpIHsKICAgICAgICAgICAgICAgICBtX2NvbWJpbmVkVGV4dFdp
ZHRoID0gcnVuV2lkdGg7CiAgICAgICAgICAgICAgICAgbV9pc0NvbWJpbmVkID0gdHJ1ZTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5oCShyZXZp
c2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxMyArMzAsMTMgQEAgcHVibGljOgogICAgIFJlbmRl
ckNvbWJpbmVUZXh0KE5vZGUqLCBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+KTsKIAogICAgIHZvaWQg
Y29tYmluZVRleHQoKTsKLSAgICB2b2lkIGFkanVzdFRleHRPcmlnaW4oSW50UG9pbnQmIHRleHRP
cmlnaW4sIGNvbnN0IEludFJlY3QmIGJveFJlY3QpIGNvbnN0OworICAgIHZvaWQgYWRqdXN0VGV4
dE9yaWdpbihGbG9hdFBvaW50JiB0ZXh0T3JpZ2luLCBjb25zdCBGbG9hdFJlY3QmIGJveFJlY3Qp
IGNvbnN0OwogICAgIHZvaWQgY2hhcmFjdGVyc1RvUmVuZGVyKGludCBzdGFydCwgY29uc3QgVUNo
YXIqJiBjaGFyYWN0ZXJzLCBpbnQmIGxlbmd0aCkgY29uc3Q7CiAgICAgYm9vbCBpc0NvbWJpbmVk
KCkgY29uc3QgeyByZXR1cm4gbV9pc0NvbWJpbmVkOyB9Ci0gICAgaW50IGNvbWJpbmVkVGV4dFdp
ZHRoKGNvbnN0IEZvbnQmIGZvbnQpIGNvbnN0IHsgcmV0dXJuIGZvbnQuc2l6ZSgpOyB9CisgICAg
ZmxvYXQgY29tYmluZWRUZXh0V2lkdGgoY29uc3QgRm9udCYgZm9udCkgY29uc3QgeyByZXR1cm4g
Zm9udC5zaXplKCk7IH0KIAogcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVu
c2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgRm9udCYsIGludCB4UG9zaXRpb24s
IEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBo
T3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25lZCBm
cm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnQmLCBmbG9hdCB4UG9zaXRpb24sIEhhc2hT
ZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3ZlcmZs
b3cqID0gMCkgY29uc3Q7CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29u
c3QgeyByZXR1cm4gIlJlbmRlckNvbWJpbmVUZXh0IjsgfQogICAgIHZpcnR1YWwgdm9pZCBzdHls
ZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSk7
CiAgICAgdmlydHVhbCB2b2lkIHNldFRleHRJbnRlcm5hbChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVk
T2JqZWN0LmNwcAkocmV2aXNpb24gNzgyNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTksOCArMTk5LDcg
QEAgYm9vbCBSZW5kZXJFbWJlZGRlZE9iamVjdDo6Z2V0UmVwbGFjZW1lbgogICAgIGZvbnQudXBk
YXRlKDApOwogICAgIAogICAgIHJ1biA9IFRleHRSdW4obV9yZXBsYWNlbWVudFRleHQuY2hhcmFj
dGVycygpLCBtX3JlcGxhY2VtZW50VGV4dC5sZW5ndGgoKSk7Ci0gICAgcnVuLmRpc2FibGVSb3Vu
ZGluZ0hhY2tzKCk7Ci0gICAgdGV4dFdpZHRoID0gZm9udC5mbG9hdFdpZHRoKHJ1bik7CisgICAg
dGV4dFdpZHRoID0gZm9udC53aWR0aChydW4pOwogICAgIAogICAgIHJlcGxhY2VtZW50VGV4dFJl
Y3Quc2V0U2l6ZShGbG9hdFNpemUodGV4dFdpZHRoICsgcmVwbGFjZW1lbnRUZXh0Um91bmRlZFJl
Y3RMZWZ0UmlnaHRUZXh0TWFyZ2luICogMiwgcmVwbGFjZW1lbnRUZXh0Um91bmRlZFJlY3RIZWln
aHQpKTsKICAgICBmbG9hdCB4ID0gKGNvbnRlbnRSZWN0LnNpemUoKS53aWR0aCgpIC8gMiAtIHJl
cGxhY2VtZW50VGV4dFJlY3Quc2l6ZSgpLndpZHRoKCkgLyAyKSArIGNvbnRlbnRSZWN0LmxvY2F0
aW9uKCkueCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxv
YWRDb250cm9sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCShyZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI3Myw3ICsyNzMsNyBAQCB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpjb21wdXRl
UHJlCiAgICAgICAgIC8vIEZpZ3VyZSBvdXQgaG93IGJpZyB0aGUgZmlsZW5hbWUgc3BhY2UgbmVl
ZHMgdG8gYmUgZm9yIGEgZ2l2ZW4gbnVtYmVyIG9mIGNoYXJhY3RlcnMKICAgICAgICAgLy8gKHVz
aW5nICIwIiBhcyB0aGUgbm9taW5hbCBjaGFyYWN0ZXIpLgogICAgICAgICBjb25zdCBVQ2hhciBj
aCA9ICcwJzsKLSAgICAgICAgZmxvYXQgY2hhcldpZHRoID0gc3R5bGUoKS0+Zm9udCgpLmZsb2F0
V2lkdGgoVGV4dFJ1bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5n
RXhwYW5zaW9uLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSk7CisgICAgICAgIGZsb2F0IGNoYXJXaWR0
aCA9IHN0eWxlKCktPmZvbnQoKS53aWR0aChUZXh0UnVuKCZjaCwgMSwgZmFsc2UsIDAsIDAsIFRl
eHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlKSk7CiAgICAgICAgIG1fbWF4UHJl
ZmVycmVkTG9naWNhbFdpZHRoID0gKGludCljZWlsZihjaGFyV2lkdGggKiBkZWZhdWx0V2lkdGhO
dW1DaGFycyk7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bWFnZS5jcHAJKHJldmlzaW9uIDc4MjcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODEsNyArODEsNyBAQCBzdGF0aWMgY29u
c3QgdW5zaWduZWQgc2hvcnQgcGFkZGluZ0hlaWdoCiAKIC8vIEFsdCB0ZXh0IGlzIHJlc3RyaWN0
ZWQgdG8gdGhpcyBtYXhpbXVtIHNpemUsIGluIHBpeGVscy4gIFRoZXNlIGFyZQogLy8gc2lnbmVk
IGludGVnZXJzIGJlY2F1c2UgdGhleSBhcmUgY29tcGFyZWQgd2l0aCBvdGhlciBzaWduZWQgdmFs
dWVzLgotc3RhdGljIGNvbnN0IGludCBtYXhBbHRUZXh0V2lkdGggPSAxMDI0Oworc3RhdGljIGNv
bnN0IGZsb2F0IG1heEFsdFRleHRXaWR0aCA9IDEwMjQ7CiBzdGF0aWMgY29uc3QgaW50IG1heEFs
dFRleHRIZWlnaHQgPSAyNTY7CiAKIEludFNpemUgUmVuZGVySW1hZ2U6OmltYWdlU2l6ZUZvckVy
cm9yKENhY2hlZEltYWdlKiBuZXdJbWFnZSkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCShyZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NjMsOCAr
OTYzLDggQEAgdm9pZCBSZW5kZXJJbmxpbmU6OmFkZEZvY3VzUmluZ1JlY3RzKFZlYwogewogICAg
IGZvciAoSW5saW5lRmxvd0JveCogY3VyciA9IGZpcnN0TGluZUJveCgpOyBjdXJyOyBjdXJyID0g
Y3Vyci0+bmV4dExpbmVCb3goKSkgewogICAgICAgICBSb290SW5saW5lQm94KiByb290ID0gY3Vy
ci0+cm9vdCgpOwotICAgICAgICBpbnQgdG9wID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+
eSgpKTsKLSAgICAgICAgaW50IGJvdHRvbSA9IG1pbihyb290LT5saW5lQm90dG9tKCksIGN1cnIt
PnkoKSArIGN1cnItPmxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgIGludCB0b3AgPSBtYXgocm9v
dC0+bGluZVRvcCgpLCBjdXJyLT5sb2dpY2FsVG9wKCkpOworICAgICAgICBpbnQgYm90dG9tID0g
bWluKHJvb3QtPmxpbmVCb3R0b20oKSwgY3Vyci0+bG9naWNhbEJvdHRvbSgpKTsKICAgICAgICAg
SW50UmVjdCByZWN0KHR4ICsgY3Vyci0+eCgpLCB0eSArIHRvcCwgY3Vyci0+bG9naWNhbFdpZHRo
KCksIGJvdHRvbSAtIHRvcCk7CiAgICAgICAgIGlmICghcmVjdC5pc0VtcHR5KCkpCiAgICAgICAg
ICAgICByZWN0cy5hcHBlbmQocmVjdCk7CkBAIC0xMDE1LDggKzEwMTUsOCBAQCB2b2lkIFJlbmRl
cklubGluZTo6cGFpbnRPdXRsaW5lKEdyYXBoaWNzCiAgICAgcmVjdHMuYXBwZW5kKEludFJlY3Qo
KSk7CiAgICAgZm9yIChJbmxpbmVGbG93Qm94KiBjdXJyID0gZmlyc3RMaW5lQm94KCk7IGN1cnI7
IGN1cnIgPSBjdXJyLT5uZXh0TGluZUJveCgpKSB7CiAgICAgICAgIFJvb3RJbmxpbmVCb3gqIHJv
b3QgPSBjdXJyLT5yb290KCk7Ci0gICAgICAgIGludCB0b3AgPSBtYXgocm9vdC0+bGluZVRvcCgp
LCBjdXJyLT55KCkpOwotICAgICAgICBpbnQgYm90dG9tID0gbWluKHJvb3QtPmxpbmVCb3R0b20o
KSwgY3Vyci0+eSgpICsgY3Vyci0+bG9naWNhbEhlaWdodCgpKTsKKyAgICAgICAgaW50IHRvcCA9
IG1heChyb290LT5saW5lVG9wKCksIGN1cnItPmxvZ2ljYWxUb3AoKSk7CisgICAgICAgIGludCBi
b3R0b20gPSBtaW4ocm9vdC0+bGluZUJvdHRvbSgpLCBjdXJyLT5sb2dpY2FsQm90dG9tKCkpOwog
ICAgICAgICByZWN0cy5hcHBlbmQoSW50UmVjdChjdXJyLT54KCksIHRvcCwgY3Vyci0+bG9naWNh
bFdpZHRoKCksIGJvdHRvbSAtIHRvcCkpOwogICAgIH0KICAgICByZWN0cy5hcHBlbmQoSW50UmVj
dCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAJ
KHJldmlzaW9uIDc4MjcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RC
b3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNyArMTExLDcgQEAgdm9pZCBSZW5kZXJMaXN0
Qm94Ojp1cGRhdGVGcm9tRWxlbWVudCgpCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICBpZiAoIXRleHQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICAgICAgZmxv
YXQgdGV4dFdpZHRoID0gaXRlbUZvbnQuZmxvYXRXaWR0aChUZXh0UnVuKHRleHQuaW1wbCgpLCBm
YWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgZmFsc2UsIGZhbHNl
LCBmYWxzZSwgZmFsc2UpKTsKKyAgICAgICAgICAgICAgICBmbG9hdCB0ZXh0V2lkdGggPSBpdGVt
Rm9udC53aWR0aChUZXh0UnVuKHRleHQuaW1wbCgpLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxs
b3dUcmFpbGluZ0V4cGFuc2lvbiwgZmFsc2UsIGZhbHNlKSk7CiAgICAgICAgICAgICAgICAgd2lk
dGggPSBtYXgod2lkdGgsIHRleHRXaWR0aCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAg
LTMzMyw3ICszMzMsNyBAQCB2b2lkIFJlbmRlckxpc3RCb3g6OnBhaW50SXRlbUZvcmVncm91bmQo
CiAKICAgICB1bnNpZ25lZCBsZW5ndGggPSBpdGVtVGV4dC5sZW5ndGgoKTsKICAgICBjb25zdCBV
Q2hhciogc3RyaW5nID0gaXRlbVRleHQuY2hhcmFjdGVycygpOwotICAgIFRleHRSdW4gdGV4dFJ1
bihzdHJpbmcsIGxlbmd0aCwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBh
bnNpb24sICFpdGVtU3R5bGUtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgaXRlbVN0eWxlLT51
bmljb2RlQmlkaSgpID09IE92ZXJyaWRlLCBmYWxzZSwgZmFsc2UpOworICAgIFRleHRSdW4gdGV4
dFJ1bihzdHJpbmcsIGxlbmd0aCwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdF
eHBhbnNpb24sICFpdGVtU3R5bGUtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgaXRlbVN0eWxl
LT51bmljb2RlQmlkaSgpID09IE92ZXJyaWRlKTsKIAogICAgIC8vIERyYXcgdGhlIGl0ZW0gdGV4
dAogICAgIGlmIChpdGVtU3R5bGUtPnZpc2liaWxpdHkoKSAhPSBISURERU4pCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAJKHJldmlzaW9uIDc4Mjcx
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTUzLDEwICsxNTMsMTAgQEAgdm9pZCBSZW5kZXJNZW51TGlzdDo6dXBkYXRl
T3B0aW9uc1dpZHRoKAogICAgICAgICAgICAgaWYgKFJlbmRlclN0eWxlKiBvcHRpb25TdHlsZSA9
IGVsZW1lbnQtPnJlbmRlclN0eWxlKCkpCiAgICAgICAgICAgICAgICAgb3B0aW9uV2lkdGggKz0g
b3B0aW9uU3R5bGUtPnRleHRJbmRlbnQoKS5jYWxjTWluVmFsdWUoMCk7CiAgICAgICAgICAgICBp
ZiAoIXRleHQuaXNFbXB0eSgpKQotICAgICAgICAgICAgICAgIG9wdGlvbldpZHRoICs9IHN0eWxl
KCktPmZvbnQoKS5mbG9hdFdpZHRoKHRleHQpOworICAgICAgICAgICAgICAgIG9wdGlvbldpZHRo
ICs9IHN0eWxlKCktPmZvbnQoKS53aWR0aCh0ZXh0KTsKICAgICAgICAgICAgIG1heE9wdGlvbldp
ZHRoID0gbWF4KG1heE9wdGlvbldpZHRoLCBvcHRpb25XaWR0aCk7CiAgICAgICAgIH0gZWxzZSBp
ZiAoIXRleHQuaXNFbXB0eSgpKQotICAgICAgICAgICAgbWF4T3B0aW9uV2lkdGggPSBtYXgobWF4
T3B0aW9uV2lkdGgsIHN0eWxlKCktPmZvbnQoKS5mbG9hdFdpZHRoKHRleHQpKTsKKyAgICAgICAg
ICAgIG1heE9wdGlvbldpZHRoID0gbWF4KG1heE9wdGlvbldpZHRoLCBzdHlsZSgpLT5mb250KCku
d2lkdGgodGV4dCkpOwogICAgIH0KIAogICAgIGludCB3aWR0aCA9IHN0YXRpY19jYXN0PGludD4o
Y2VpbGYobWF4T3B0aW9uV2lkdGgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dC5jcHAJKHJldmlzaW9uIDc4MjcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NjAsNyArNTYwLDcgQEAgSW50UmVj
dCBSZW5kZXJUZXh0Ojpsb2NhbENhcmV0UmVjdChJbmxpbgogICAgIHJldHVybiBzdHlsZSgpLT5p
c0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gSW50UmVjdChsZWZ0LCB0b3AsIGNhcmV0V2lkdGgs
IGhlaWdodCkgOiBJbnRSZWN0KHRvcCwgbGVmdCwgaGVpZ2h0LCBjYXJldFdpZHRoKTsKIH0KIAot
QUxXQVlTX0lOTElORSBpbnQgUmVuZGVyVGV4dDo6d2lkdGhGcm9tQ2FjaGUoY29uc3QgRm9udCYg
ZiwgaW50IHN0YXJ0LCBpbnQgbGVuLCBpbnQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250
RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25z
dAorQUxXQVlTX0lOTElORSBmbG9hdCBSZW5kZXJUZXh0Ojp3aWR0aEZyb21DYWNoZShjb25zdCBG
b250JiBmLCBpbnQgc3RhcnQsIGludCBsZW4sIGZsb2F0IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2lt
cGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxv
dykgY29uc3QKIHsKICAgICBpZiAoc3R5bGUoKS0+aGFzVGV4dENvbWJpbmUoKSkgewogICAgICAg
ICBjb25zdCBSZW5kZXJDb21iaW5lVGV4dCogY29tYmluZVRleHQgPSB0b1JlbmRlckNvbWJpbmVU
ZXh0KHRoaXMpOwpAQCAtNTY5LDkgKzU2OSw5IEBAIEFMV0FZU19JTkxJTkUgaW50IFJlbmRlclRl
eHQ6OndpZHRoRnJvbUMKICAgICB9CiAKICAgICBpZiAoZi5pc0ZpeGVkUGl0Y2goKSAmJiAhZi5p
c1NtYWxsQ2FwcygpICYmIG1faXNBbGxBU0NJSSkgewotICAgICAgICBpbnQgbW9ub3NwYWNlQ2hh
cmFjdGVyV2lkdGggPSBmLnNwYWNlV2lkdGgoKTsKLSAgICAgICAgaW50IHRhYldpZHRoID0gYWxs
b3dUYWJzKCkgPyBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aCAqIDggOiAwOwotICAgICAgICBpbnQg
dyA9IDA7CisgICAgICAgIGZsb2F0IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoID0gZi5zcGFjZVdp
ZHRoKCk7CisgICAgICAgIGZsb2F0IHRhYldpZHRoID0gYWxsb3dUYWJzKCkgPyBtb25vc3BhY2VD
aGFyYWN0ZXJXaWR0aCAqIDggOiAwOworICAgICAgICBmbG9hdCB3ID0gMDsKICAgICAgICAgYm9v
bCBpc1NwYWNlOwogICAgICAgICBib29sIHByZXZpb3VzQ2hhcldhc1NwYWNlID0gdHJ1ZTsgLy8g
RklYTUU6IFByZXNlcnZlcyBoaXN0b3JpY2FsIGJlaGF2aW9yLCBidXQgc2VlbXMgd3JvbmcgZm9y
IHN0YXJ0ID4gMC4KICAgICAgICAgQVNTRVJUKG1fdGV4dCk7CkBAIC01ODMsNyArNTgzLDcgQEAg
QUxXQVlTX0lOTElORSBpbnQgUmVuZGVyVGV4dDo6d2lkdGhGcm9tQwogICAgICAgICAgICAgICAg
ICAgICB3ICs9IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoOwogICAgICAgICAgICAgICAgICAgICBp
c1NwYWNlID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGMgPT0gJ1x0Jykgewot
ICAgICAgICAgICAgICAgICAgICB3ICs9IHRhYldpZHRoID8gdGFiV2lkdGggLSAoKHhQb3MgKyB3
KSAlIHRhYldpZHRoKSA6IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoOworICAgICAgICAgICAgICAg
ICAgICB3ICs9IHRhYldpZHRoID8gdGFiV2lkdGggLSBmbW9kZih4UG9zICsgdywgdGFiV2lkdGgp
IDogbW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGg7CiAgICAgICAgICAgICAgICAgICAgIGlzU3BhY2Ug
PSB0cnVlOwogICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICBpc1Nw
YWNlID0gZmFsc2U7CkBAIC02MDEsMTIgKzYwMSwxMiBAQCBBTFdBWVNfSU5MSU5FIGludCBSZW5k
ZXJUZXh0Ojp3aWR0aEZyb21DCiAgICAgcmV0dXJuIGYud2lkdGgoVGV4dFJ1bih0ZXh0KCktPmNo
YXJhY3RlcnMoKSArIHN0YXJ0LCBsZW4sIGFsbG93VGFicygpLCB4UG9zKSwgZmFsbGJhY2tGb250
cywgZ2x5cGhPdmVyZmxvdyk7CiB9CiAKLXZvaWQgUmVuZGVyVGV4dDo6dHJpbW1lZFByZWZXaWR0
aHMoaW50IGxlYWRXaWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
JiBiZWdpbk1pblcsIGJvb2wmIGJlZ2luV1MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCYgZW5kTWluVywgYm9vbCYgZW5kV1MsCit2b2lkIFJlbmRlclRleHQ6OnRyaW1t
ZWRQcmVmV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZmxvYXQmIGJlZ2luTWluVywgYm9vbCYgYmVnaW5XUywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZmxvYXQmIGVuZE1pblcsIGJvb2wmIGVuZFdTLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sJiBoYXNCcmVha2FibGVDaGFyLCBib29s
JiBoYXNCcmVhaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBiZWdp
bk1heFcsIGludCYgZW5kTWF4VywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50JiBtaW5XLCBpbnQmIG1heFcsIGJvb2wmIHN0cmlwRnJvbnRTcGFjZXMpCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBiZWdpbk1heFcsIGZsb2F0JiBlbmRNYXhX
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYgbWluVywgZmxvYXQm
IG1heFcsIGJvb2wmIHN0cmlwRnJvbnRTcGFjZXMpCiB7CiAgICAgYm9vbCBjb2xsYXBzZVdoaXRl
U3BhY2UgPSBzdHlsZSgpLT5jb2xsYXBzZVdoaXRlU3BhY2UoKTsKICAgICBpZiAoIWNvbGxhcHNl
V2hpdGVTcGFjZSkKQEAgLTY0Niw3ICs2NDYsNyBAQCB2b2lkIFJlbmRlclRleHQ6OnRyaW1tZWRQ
cmVmV2lkdGhzKGludCBsCiAgICAgICAgIGNvbnN0IEZvbnQmIGYgPSBzdHlsZSgpLT5mb250KCk7
IC8vIEZJWE1FOiBUaGlzIGlnbm9yZXMgZmlyc3QtbGluZS4KICAgICAgICAgaWYgKHN0cmlwRnJv
bnRTcGFjZXMpIHsKICAgICAgICAgICAgIGNvbnN0IFVDaGFyIHNwYWNlID0gJyAnOwotICAgICAg
ICAgICAgaW50IHNwYWNlV2lkdGggPSBmLndpZHRoKFRleHRSdW4oJnNwYWNlLCAxKSk7CisgICAg
ICAgICAgICBmbG9hdCBzcGFjZVdpZHRoID0gZi53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpOwog
ICAgICAgICAgICAgbWF4VyAtPSBzcGFjZVdpZHRoOwogICAgICAgICB9IGVsc2UKICAgICAgICAg
ICAgIG1heFcgKz0gZi53b3JkU3BhY2luZygpOwpAQCAtNjk1LDIzICs2OTUsMjMgQEAgc3RhdGlj
IGlubGluZSBib29sIGlzU3BhY2VBY2NvcmRpbmdUb1N0eQogICAgIHJldHVybiBjID09ICcgJyB8
fCAoYyA9PSBub0JyZWFrU3BhY2UgJiYgc3R5bGUtPm5ic3BNb2RlKCkgPT0gU1BBQ0UpOwogfQog
Ci1pbnQgUmVuZGVyVGV4dDo6bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29uc3QKK2Zsb2F0
IFJlbmRlclRleHQ6Om1pbkxvZ2ljYWxXaWR0aCgpIGNvbnN0CiB7CiAgICAgaWYgKHByZWZlcnJl
ZExvZ2ljYWxXaWR0aHNEaXJ0eSgpKQotICAgICAgICBjb25zdF9jYXN0PFJlbmRlclRleHQqPih0
aGlzKS0+Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoMCk7CisgICAgICAgIGNvbnN0X2Nh
c3Q8UmVuZGVyVGV4dCo+KHRoaXMpLT5jb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygwLmYp
OwogICAgICAgICAKICAgICByZXR1cm4gbV9taW5XaWR0aDsKIH0KIAotaW50IFJlbmRlclRleHQ6
Om1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpIGNvbnN0CitmbG9hdCBSZW5kZXJUZXh0OjptYXhM
b2dpY2FsV2lkdGgoKSBjb25zdAogewogICAgIGlmIChwcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGly
dHkoKSkKLSAgICAgICAgY29uc3RfY2FzdDxSZW5kZXJUZXh0Kj4odGhpcyktPmNvbXB1dGVQcmVm
ZXJyZWRMb2dpY2FsV2lkdGhzKDApOworICAgICAgICBjb25zdF9jYXN0PFJlbmRlclRleHQqPih0
aGlzKS0+Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoMC5mKTsKICAgICAgICAgCiAgICAg
cmV0dXJuIG1fbWF4V2lkdGg7CiB9CiAKLXZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJl
ZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRXaWR0aCkKK3ZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVBy
ZWZlcnJlZExvZ2ljYWxXaWR0aHMoZmxvYXQgbGVhZFdpZHRoKQogewogICAgIEhhc2hTZXQ8Y29u
c3QgU2ltcGxlRm9udERhdGEqPiBmYWxsYmFja0ZvbnRzOwogICAgIEdseXBoT3ZlcmZsb3cgZ2x5
cGhPdmVyZmxvdzsKQEAgLTcyMCw3ICs3MjAsNyBAQCB2b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQ
cmVmZXJyZWRMb2dpY2FsCiAgICAgICAgIG1fa25vd25Ub0hhdmVOb092ZXJmbG93QW5kTm9GYWxs
YmFja0ZvbnRzID0gdHJ1ZTsKIH0KIAotdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVk
TG9naWNhbFdpZHRocyhpbnQgbGVhZFdpZHRoLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRh
Kj4mIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cmIGdseXBoT3ZlcmZsb3cpCit2b2lkIFJl
bmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCwg
SGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJm
bG93JiBnbHlwaE92ZXJmbG93KQogewogICAgIEFTU0VSVChtX2hhc1RhYiB8fCBwcmVmZXJyZWRM
b2dpY2FsV2lkdGhzRGlydHkoKSB8fCAhbV9rbm93blRvSGF2ZU5vT3ZlcmZsb3dBbmROb0ZhbGxi
YWNrRm9udHMpOwogCkBAIC03MzIsOCArNzMyLDggQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRl
UHJlZmVycmVkTG9naWNhbAogICAgIGlmIChpc0JSKCkpCiAgICAgICAgIHJldHVybjsKIAotICAg
IGludCBjdXJyTWluV2lkdGggPSAwOwotICAgIGludCBjdXJyTWF4V2lkdGggPSAwOworICAgIGZs
b2F0IGN1cnJNaW5XaWR0aCA9IDA7CisgICAgZmxvYXQgY3Vyck1heFdpZHRoID0gMDsKICAgICBt
X2hhc0JyZWFrYWJsZUNoYXIgPSBmYWxzZTsKICAgICBtX2hhc0JyZWFrID0gZmFsc2U7CiAgICAg
bV9oYXNUYWIgPSBmYWxzZTsKQEAgLTc0MSw3ICs3NDEsNyBAQCB2b2lkIFJlbmRlclRleHQ6OmNv
bXB1dGVQcmVmZXJyZWRMb2dpY2FsCiAgICAgbV9oYXNFbmRXUyA9IGZhbHNlOwogCiAgICAgY29u
c3QgRm9udCYgZiA9IHN0eWxlKCktPmZvbnQoKTsgLy8gRklYTUU6IFRoaXMgaWdub3JlcyBmaXJz
dC1saW5lLgotICAgIGludCB3b3JkU3BhY2luZyA9IHN0eWxlKCktPndvcmRTcGFjaW5nKCk7Cisg
ICAgZmxvYXQgd29yZFNwYWNpbmcgPSBzdHlsZSgpLT53b3JkU3BhY2luZygpOwogICAgIGludCBs
ZW4gPSB0ZXh0TGVuZ3RoKCk7CiAgICAgY29uc3QgVUNoYXIqIHR4dCA9IGNoYXJhY3RlcnMoKTsK
ICAgICBib29sIG5lZWRzV29yZFNwYWNpbmcgPSBmYWxzZTsKQEAgLTgyMSw3ICs4MjEsNyBAQCB2
b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsCiAKICAgICAgICAgaW50IHdv
cmRMZW4gPSBqIC0gaTsKICAgICAgICAgaWYgKHdvcmRMZW4pIHsKLSAgICAgICAgICAgIGludCB3
ID0gd2lkdGhGcm9tQ2FjaGUoZiwgaSwgd29yZExlbiwgbGVhZFdpZHRoICsgY3Vyck1heFdpZHRo
LCAmZmFsbGJhY2tGb250cywgJmdseXBoT3ZlcmZsb3cpOworICAgICAgICAgICAgZmxvYXQgdyA9
IHdpZHRoRnJvbUNhY2hlKGYsIGksIHdvcmRMZW4sIGxlYWRXaWR0aCArIGN1cnJNYXhXaWR0aCwg
JmZhbGxiYWNrRm9udHMsICZnbHlwaE92ZXJmbG93KTsKICAgICAgICAgICAgIGlmIChmaXJzdEds
eXBoTGVmdE92ZXJmbG93IDwgMCkKICAgICAgICAgICAgICAgICBmaXJzdEdseXBoTGVmdE92ZXJm
bG93ID0gZ2x5cGhPdmVyZmxvdy5sZWZ0OwogICAgICAgICAgICAgY3Vyck1pbldpZHRoICs9IHc7
CkBAIC05MzMsMTcgKzkzMywxNyBAQCBib29sIFJlbmRlclRleHQ6OmNvbnRhaW5zT25seVdoaXRl
c3BhY2UoCiAgICAgcmV0dXJuIGN1cnJQb3MgPj0gKGZyb20gKyBsZW4pOwogfQogCi1JbnRQb2lu
dCBSZW5kZXJUZXh0OjpmaXJzdFJ1bk9yaWdpbigpIGNvbnN0CitGbG9hdFBvaW50IFJlbmRlclRl
eHQ6OmZpcnN0UnVuT3JpZ2luKCkgY29uc3QKIHsKICAgICByZXR1cm4gSW50UG9pbnQoZmlyc3RS
dW5YKCksIGZpcnN0UnVuWSgpKTsKIH0KIAotaW50IFJlbmRlclRleHQ6OmZpcnN0UnVuWCgpIGNv
bnN0CitmbG9hdCBSZW5kZXJUZXh0OjpmaXJzdFJ1blgoKSBjb25zdAogewogICAgIHJldHVybiBt
X2ZpcnN0VGV4dEJveCA/IG1fZmlyc3RUZXh0Qm94LT5tX3ggOiAwOwogfQogCi1pbnQgUmVuZGVy
VGV4dDo6Zmlyc3RSdW5ZKCkgY29uc3QKK2Zsb2F0IFJlbmRlclRleHQ6OmZpcnN0UnVuWSgpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIG1fZmlyc3RUZXh0Qm94ID8gbV9maXJzdFRleHRCb3gtPm1feSA6
IDA7CiB9CkBAIC0xMjIzLDcgKzEyMjMsNyBAQCB2b2lkIFJlbmRlclRleHQ6OnBvc2l0aW9uTGlu
ZUJveChJbmxpbmVCCiAgICAgbV9jb250YWluc1JldmVyc2VkVGV4dCB8PSAhcy0+aXNMZWZ0VG9S
aWdodERpcmVjdGlvbigpOwogfQogCi11bnNpZ25lZCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25l
ZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGludCB4UG9zLCBib29sIGZpcnN0TGluZSwgSGFzaFNldDxj
b25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlw
aE92ZXJmbG93KSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwg
dW5zaWduZWQgbGVuLCBmbG9hdCB4UG9zLCBib29sIGZpcnN0TGluZSwgSGFzaFNldDxjb25zdCBT
aW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJm
bG93KSBjb25zdAogewogICAgIGlmIChmcm9tID49IHRleHRMZW5ndGgoKSkKICAgICAgICAgcmV0
dXJuIDA7CkBAIC0xMjM0LDEzICsxMjM0LDEzIEBAIHVuc2lnbmVkIFJlbmRlclRleHQ6OndpZHRo
KHVuc2lnbmVkIGZyb20KICAgICByZXR1cm4gd2lkdGgoZnJvbSwgbGVuLCBzdHlsZShmaXJzdExp
bmUpLT5mb250KCksIHhQb3MsIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQogCi11
bnNpZ25lZCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNv
bnN0IEZvbnQmIGYsIGludCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZh
bGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CitmbG9hdCBS
ZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbnN0IEZvbnQm
IGYsIGZsb2F0IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tG
b250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKICAgICBBU1NFUlQo
ZnJvbSArIGxlbiA8PSB0ZXh0TGVuZ3RoKCkpOwogICAgIGlmICghY2hhcmFjdGVycygpKQogICAg
ICAgICByZXR1cm4gMDsKIAotICAgIGludCB3OworICAgIGZsb2F0IHc7CiAgICAgaWYgKCZmID09
ICZzdHlsZSgpLT5mb250KCkpIHsKICAgICAgICAgaWYgKCFzdHlsZSgpLT5wcmVzZXJ2ZU5ld2xp
bmUoKSAmJiAhZnJvbSAmJiBsZW4gPT0gdGV4dExlbmd0aCgpKSB7CiAgICAgICAgICAgICBpZiAo
ZmFsbGJhY2tGb250cykgewpAQCAtMTI1Miw3ICsxMjUyLDcgQEAgdW5zaWduZWQgUmVuZGVyVGV4
dDo6d2lkdGgodW5zaWduZWQgZnJvbQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICB3ID0gbV9tYXhXaWR0aDsKICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHcg
PSBtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKTsKKyAgICAgICAgICAgICAgICB3ID0gbWF4TG9n
aWNhbFdpZHRoKCk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgdyA9IHdpZHRoRnJvbUNh
Y2hlKGYsIGZyb20sIGxlbiwgeFBvcywgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxvdyk7CiAg
ICAgfSBlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJKHJldmlz
aW9uIDc4MjcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAkod29y
a2luZyBjb3B5KQpAQCAtNzEsMjQgKzcxLDI0IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB0ZXh0
TGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV90ZXh0Lmxlbmd0aCgpOyB9IC8vIG5vbiB2aXJ0dWFs
IGltcGxlbWVudGF0aW9uIG9mIGxlbmd0aCgpCiAgICAgdm9pZCBwb3NpdGlvbkxpbmVCb3goSW5s
aW5lQm94Kik7CiAKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVkIGZyb20sIHVu
c2lnbmVkIGxlbiwgY29uc3QgRm9udCYsIGludCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZv
bnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0Owot
ICAgIHZpcnR1YWwgdW5zaWduZWQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBp
bnQgeFBvcywgYm9vbCBmaXJzdExpbmUgPSBmYWxzZSwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250
RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKKyAg
ICB2aXJ0dWFsIGZsb2F0IHdpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgY29uc3Qg
Rm9udCYsIGZsb2F0IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJh
Y2tGb250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9h
dCB3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGZsb2F0IHhQb3MsIGJvb2wgZmly
c3RMaW5lID0gZmFsc2UsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tG
b250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIGludCBt
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBtYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25zdDsKKyAgICBmbG9hdCBtaW5Mb2dpY2FsV2lkdGgoKSBj
b25zdDsKKyAgICBmbG9hdCBtYXhMb2dpY2FsV2lkdGgoKSBjb25zdDsKIAotICAgIHZvaWQgdHJp
bW1lZFByZWZXaWR0aHMoaW50IGxlYWRXaWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCYgYmVnaW5NaW5XLCBib29sJiBiZWdpbldTLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50JiBlbmRNaW5XLCBib29sJiBlbmRXUywKKyAgICB2b2lkIHRyaW1tZWRQcmVmV2lkdGhz
KGZsb2F0IGxlYWRXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBiZWdp
bk1pblcsIGJvb2wmIGJlZ2luV1MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYg
ZW5kTWluVywgYm9vbCYgZW5kV1MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sJiBo
YXNCcmVha2FibGVDaGFyLCBib29sJiBoYXNCcmVhaywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCYgYmVnaW5NYXhXLCBpbnQmIGVuZE1heFcsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQmIG1pblcsIGludCYgbWF4VywgYm9vbCYgc3RyaXBGcm9udFNwYWNlcyk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYgYmVnaW5NYXhXLCBmbG9hdCYgZW5kTWF4VywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBtaW5XLCBmbG9hdCYgbWF4VywgYm9v
bCYgc3RyaXBGcm9udFNwYWNlcyk7CiAKICAgICB2aXJ0dWFsIEludFJlY3QgbGluZXNCb3VuZGlu
Z0JveCgpIGNvbnN0OwogCi0gICAgSW50UG9pbnQgZmlyc3RSdW5PcmlnaW4oKSBjb25zdDsKLSAg
ICBpbnQgZmlyc3RSdW5YKCkgY29uc3Q7Ci0gICAgaW50IGZpcnN0UnVuWSgpIGNvbnN0OworICAg
IEZsb2F0UG9pbnQgZmlyc3RSdW5PcmlnaW4oKSBjb25zdDsKKyAgICBmbG9hdCBmaXJzdFJ1blgo
KSBjb25zdDsKKyAgICBmbG9hdCBmaXJzdFJ1blkoKSBjb25zdDsKIAogICAgIHZvaWQgc2V0VGV4
dChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+LCBib29sIGZvcmNlID0gZmFsc2UpOwogICAgIHZvaWQg
c2V0VGV4dFdpdGhPZmZzZXQoUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiwgdW5zaWduZWQgb2Zmc2V0
LCB1bnNpZ25lZCBsZW4sIGJvb2wgZm9yY2UgPSBmYWxzZSk7CkBAIC0xMjIsNyArMTIyLDcgQEAg
cHVibGljOgogCiAgICAgdm9pZCBjaGVja0NvbnNpc3RlbmN5KCkgY29uc3Q7CiAKLSAgICB2aXJ0
dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRXaWR0aCk7Cisg
ICAgdmlydHVhbCB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxlYWRX
aWR0aCk7CiAgICAgYm9vbCBpc0FsbENvbGxhcHNpYmxlV2hpdGVzcGFjZSgpOwogICAgIAogcHJv
dGVjdGVkOgpAQCAtMTM1LDcgKzEzNSw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIElubGlu
ZVRleHRCb3gqIGNyZWF0ZVRleHRCb3goKTsgLy8gU3ViY2xhc3NlZCBieSBTVkcuCiAKIHByaXZh
dGU6Ci0gICAgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhpbnQgbGVhZFdpZHRo
LCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4mIGZhbGxiYWNrRm9udHMsIEdseXBoT3Zl
cmZsb3cmKTsKKyAgICB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxl
YWRXaWR0aCwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxsYmFja0ZvbnRzLCBH
bHlwaE92ZXJmbG93Jik7CiAKICAgICAvLyBNYWtlIGxlbmd0aCgpIHByaXZhdGUgc28gdGhhdCBj
YWxsZXJzIHRoYXQgaGF2ZSBhIFJlbmRlclRleHQqCiAgICAgLy8gd2lsbCB1c2UgdGhlIG1vcmUg
ZWZmaWNpZW50IHRleHRMZW5ndGgoKSBpbnN0ZWFkLCB3aGlsZQpAQCAtMTQ4LDIyICsxNDgsMjIg
QEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZGVsZXRlVGV4dEJveGVzKCk7CiAgICAgYm9vbCBjb250
YWluc09ubHlXaGl0ZXNwYWNlKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbikgY29uc3Q7Ci0g
ICAgaW50IHdpZHRoRnJvbUNhY2hlKGNvbnN0IEZvbnQmLCBpbnQgc3RhcnQsIGludCBsZW4sIGlu
dCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEds
eXBoT3ZlcmZsb3cqKSBjb25zdDsKKyAgICBmbG9hdCB3aWR0aEZyb21DYWNoZShjb25zdCBGb250
JiwgaW50IHN0YXJ0LCBpbnQgbGVuLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZv
bnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqKSBjb25zdDsKICAgICBib29s
IGlzQWxsQVNDSUkoKSBjb25zdCB7IHJldHVybiBtX2lzQWxsQVNDSUk7IH0KICAgICB2b2lkIHVw
ZGF0ZU5lZWRzVHJhbnNjb2RpbmcoKTsKIAogICAgIGlubGluZSB2b2lkIHRyYW5zZm9ybVRleHQo
U3RyaW5nJikgY29uc3Q7CiAKLSAgICBpbnQgbV9taW5XaWR0aDsgLy8gaGVyZSB0byBtaW5pbWl6
ZSBwYWRkaW5nIGluIDY0LWJpdC4KKyAgICBmbG9hdCBtX21pbldpZHRoOyAvLyBoZXJlIHRvIG1p
bmltaXplIHBhZGRpbmcgaW4gNjQtYml0LgogCiAgICAgU3RyaW5nIG1fdGV4dDsKIAogICAgIElu
bGluZVRleHRCb3gqIG1fZmlyc3RUZXh0Qm94OwogICAgIElubGluZVRleHRCb3gqIG1fbGFzdFRl
eHRCb3g7CiAKLSAgICBpbnQgbV9tYXhXaWR0aDsKLSAgICBpbnQgbV9iZWdpbk1pbldpZHRoOwot
ICAgIGludCBtX2VuZE1pbldpZHRoOworICAgIGZsb2F0IG1fbWF4V2lkdGg7CisgICAgZmxvYXQg
bV9iZWdpbk1pbldpZHRoOworICAgIGZsb2F0IG1fZW5kTWluV2lkdGg7CiAKICAgICBib29sIG1f
aGFzQnJlYWthYmxlQ2hhciA6IDE7IC8vIFdoZXRoZXIgb3Igbm90IHdlIGNhbiBiZSBicm9rZW4g
aW50byBtdWx0aXBsZSBsaW5lcy4KICAgICBib29sIG1faGFzQnJlYWsgOiAxOyAvLyBXaGV0aGVy
IG9yIG5vdCB3ZSBoYXZlIGEgaGFyZCBicmVhayAoZS5nLiwgPHByZT4gd2l0aCAnXG4nKS4KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcAko
cmV2aXNpb24gNzgyNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENv
bnRyb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDQsNyArNTQ0LDcgQEAgZmxvYXQgUmVuZGVy
VGV4dENvbnRyb2w6OmdldEF2Z0NoYXJXaWR0aAogICAgICAgICByZXR1cm4gcm91bmRmKHN0eWxl
KCktPmZvbnQoKS5wcmltYXJ5Rm9udCgpLT5hdmdDaGFyV2lkdGgoKSk7CiAKICAgICBjb25zdCBV
Q2hhciBjaCA9ICcwJzsgCi0gICAgcmV0dXJuIHN0eWxlKCktPmZvbnQoKS5mbG9hdFdpZHRoKFRl
eHRSdW4oJmNoLCAxLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lv
biwgZmFsc2UsIGZhbHNlLCBmYWxzZSkpOworICAgIHJldHVybiBzdHlsZSgpLT5mb250KCkud2lk
dGgoVGV4dFJ1bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhw
YW5zaW9uLCBmYWxzZSkpOwogfQogCiBmbG9hdCBSZW5kZXJUZXh0Q29udHJvbDo6c2NhbGVFbVRv
VW5pdHMoaW50IHgpIGNvbnN0CkBAIC02MzksNyArNjM5LDcgQEAgdm9pZCBSZW5kZXJUZXh0Q29u
dHJvbDo6cGFpbnRQbGFjZWhvbGRlcgogICAgIHBhaW50SW5mby5jb250ZXh0LT5zZXRGaWxsQ29s
b3IocGxhY2Vob2xkZXJTdHlsZS0+dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5Q29s
b3IpLCBwbGFjZWhvbGRlclN0eWxlLT5jb2xvclNwYWNlKCkpOwogICAgIAogICAgIFN0cmluZyBw
bGFjZWhvbGRlclRleHQgPSBzdGF0aWNfY2FzdDxIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCo+
KG5vZGUoKSktPnN0cmlwcGVkUGxhY2Vob2xkZXIoKTsKLSAgICBUZXh0UnVuIHRleHRSdW4ocGxh
Y2Vob2xkZXJUZXh0LmNoYXJhY3RlcnMoKSwgcGxhY2Vob2xkZXJUZXh0Lmxlbmd0aCgpLCBmYWxz
ZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIXBsYWNlaG9sZGVyU3R5
bGUtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgcGxhY2Vob2xkZXJTdHlsZS0+dW5pY29kZUJp
ZGkoKSA9PSBPdmVycmlkZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBUZXh0UnVuIHRleHRSdW4ocGxh
Y2Vob2xkZXJUZXh0LmNoYXJhY3RlcnMoKSwgcGxhY2Vob2xkZXJUZXh0Lmxlbmd0aCgpLCBmYWxz
ZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIXBsYWNlaG9sZGVyU3R5
bGUtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgcGxhY2Vob2xkZXJTdHlsZS0+dW5pY29kZUJp
ZGkoKSA9PSBPdmVycmlkZSk7CiAgICAgCiAgICAgUmVuZGVyQm94KiB0ZXh0UmVuZGVyZXIgPSBp
bm5lclRleHRFbGVtZW50KCkgPyBpbm5lclRleHRFbGVtZW50KCktPnJlbmRlckJveCgpIDogMDsK
ICAgICBpZiAodGV4dFJlbmRlcmVyKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
Um9vdElubGluZUJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1Jvb3RJbmxpbmVCb3guY3BwCShyZXZpc2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9Sb290SW5saW5lQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTcsNyArOTcsNyBA
QCBib29sIFJvb3RJbmxpbmVCb3g6OmNhbkFjY29tbW9kYXRlRWxsaXBzCiAgICAgcmV0dXJuIElu
bGluZUZsb3dCb3g6OmNhbkFjY29tbW9kYXRlRWxsaXBzaXMobHRyLCBibG9ja0VkZ2UsIGVsbGlw
c2lzV2lkdGgpOwogfQogCi12b2lkIFJvb3RJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXMoY29uc3Qg
QXRvbWljU3RyaW5nJiBlbGxpcHNpc1N0ciwgIGJvb2wgbHRyLCBpbnQgYmxvY2tMZWZ0RWRnZSwg
aW50IGJsb2NrUmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCwKK3ZvaWQgUm9vdElubGluZUJv
eDo6cGxhY2VFbGxpcHNpcyhjb25zdCBBdG9taWNTdHJpbmcmIGVsbGlwc2lzU3RyLCAgYm9vbCBs
dHIsIGZsb2F0IGJsb2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxp
cHNpc1dpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElubGluZUJveCog
bWFya3VwQm94KQogewogICAgIC8vIENyZWF0ZSBhbiBlbGxpcHNpcyBib3guCkBAIC0xMjMsOSAr
MTIzLDkgQEAgdm9pZCBSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzKGNvbnN0IAogICAgIGVs
bGlwc2lzQm94LT5tX3ggPSBwbGFjZUVsbGlwc2lzQm94KGx0ciwgYmxvY2tMZWZ0RWRnZSwgYmxv
Y2tSaWdodEVkZ2UsIGVsbGlwc2lzV2lkdGgsIGZvdW5kQm94KTsKIH0KIAotaW50IFJvb3RJbmxp
bmVCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGludCBibG9ja0xlZnRFZGdlLCBpbnQg
YmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCkKK2Zsb2F0
IFJvb3RJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVm
dEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJiBm
b3VuZEJveCkKIHsKLSAgICBpbnQgcmVzdWx0ID0gSW5saW5lRmxvd0JveDo6cGxhY2VFbGxpcHNp
c0JveChsdHIsIGJsb2NrTGVmdEVkZ2UsIGJsb2NrUmlnaHRFZGdlLCBlbGxpcHNpc1dpZHRoLCBm
b3VuZEJveCk7CisgICAgZmxvYXQgcmVzdWx0ID0gSW5saW5lRmxvd0JveDo6cGxhY2VFbGxpcHNp
c0JveChsdHIsIGJsb2NrTGVmdEVkZ2UsIGJsb2NrUmlnaHRFZGdlLCBlbGxpcHNpc1dpZHRoLCBm
b3VuZEJveCk7CiAgICAgaWYgKHJlc3VsdCA9PSAtMSkKICAgICAgICAgcmVzdWx0ID0gbHRyID8g
YmxvY2tSaWdodEVkZ2UgLSBlbGxpcHNpc1dpZHRoIDogYmxvY2tMZWZ0RWRnZTsKICAgICByZXR1
cm4gcmVzdWx0OwpAQCAtNTQ0LDE0ICs1NDQsMTQgQEAgSW50UmVjdCBSb290SW5saW5lQm94Ojpw
YWRkZWRMYXlvdXRPdmVyZgogICAgIAogICAgIGlmIChpc0hvcml6b250YWwoKSkgewogICAgICAg
ICBpZiAoaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQotICAgICAgICAgICAgbGluZUxheW91dE92
ZXJmbG93LnNoaWZ0TWF4WEVkZ2VUbyhtYXgobGluZUxheW91dE92ZXJmbG93Lm1heFgoKSwgbG9n
aWNhbFJpZ2h0KCkgKyBlbmRQYWRkaW5nKSk7CisgICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZs
b3cuc2hpZnRNYXhYRWRnZVRvKG1heChsaW5lTGF5b3V0T3ZlcmZsb3cubWF4WCgpLCBwaXhlbFNu
YXBwZWRMb2dpY2FsUmlnaHQoKSArIGVuZFBhZGRpbmcpKTsKICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0WEVkZ2VUbyhtaW4obGluZUxheW91dE92ZXJm
bG93LngoKSwgbG9naWNhbExlZnQoKSAtIGVuZFBhZGRpbmcpKTsKKyAgICAgICAgICAgIGxpbmVM
YXlvdXRPdmVyZmxvdy5zaGlmdFhFZGdlVG8obWluKGxpbmVMYXlvdXRPdmVyZmxvdy54KCksIHBp
eGVsU25hcHBlZExvZ2ljYWxMZWZ0KCkgLSBlbmRQYWRkaW5nKSk7CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgaWYgKGlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKLSAgICAgICAgICAgIGxpbmVMYXlv
dXRPdmVyZmxvdy5zaGlmdE1heFlFZGdlVG8obWF4KGxpbmVMYXlvdXRPdmVyZmxvdy5tYXhZKCks
IGxvZ2ljYWxSaWdodCgpICsgZW5kUGFkZGluZykpOworICAgICAgICAgICAgbGluZUxheW91dE92
ZXJmbG93LnNoaWZ0TWF4WUVkZ2VUbyhtYXgobGluZUxheW91dE92ZXJmbG93Lm1heFkoKSwgcGl4
ZWxTbmFwcGVkTG9naWNhbFJpZ2h0KCkgKyBlbmRQYWRkaW5nKSk7CiAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdFlFZGdlVG8obWluKGxpbmVMYXlvdXRP
dmVyZmxvdy55KCksIGxvZ2ljYWxSaWdodCgpIC0gZW5kUGFkZGluZykpOworICAgICAgICAgICAg
bGluZUxheW91dE92ZXJmbG93LnNoaWZ0WUVkZ2VUbyhtaW4obGluZUxheW91dE92ZXJmbG93Lnko
KSwgcGl4ZWxTbmFwcGVkTG9naWNhbExlZnQoKSAtIGVuZFBhZGRpbmcpKTsKICAgICB9CiAgICAg
CiAgICAgcmV0dXJuIGxpbmVMYXlvdXRPdmVyZmxvdzsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9Sb290SW5saW5lQm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAkocmV2aXNpb24gNzgyNzEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC03OCw4ICs3OCw4
IEBAIHB1YmxpYzoKICAgICB2b2lkIGNoaWxkUmVtb3ZlZChJbmxpbmVCb3gqIGJveCk7CiAKICAg
ICBib29sIGNhbkFjY29tbW9kYXRlRWxsaXBzaXMoYm9vbCBsdHIsIGludCBibG9ja0VkZ2UsIGlu
dCBsaW5lQm94RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgpOwotICAgIHZvaWQgcGxhY2VFbGxpcHNp
cyhjb25zdCBBdG9taWNTdHJpbmcmIGVsbGlwc2lzU3RyLCBib29sIGx0ciwgaW50IGJsb2NrTGVm
dEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIElubGluZUJveCog
bWFya3VwQm94ID0gMCk7Ci0gICAgdmlydHVhbCBpbnQgcGxhY2VFbGxpcHNpc0JveChib29sIGx0
ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lk
dGgsIGJvb2wmIGZvdW5kQm94KTsKKyAgICB2b2lkIHBsYWNlRWxsaXBzaXMoY29uc3QgQXRvbWlj
U3RyaW5nJiBlbGxpcHNpc1N0ciwgYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVmdEVkZ2UsIGZsb2F0
IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBJbmxpbmVCb3gqIG1hcmt1cEJv
eCA9IDApOworICAgIHZpcnR1YWwgZmxvYXQgcGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgZmxv
YXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lk
dGgsIGJvb2wmIGZvdW5kQm94KTsKIAogICAgIEVsbGlwc2lzQm94KiBlbGxpcHNpc0JveCgpIGNv
bnN0OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRC
b3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5s
aW5lVGV4dEJveC5jcHAJKHJldmlzaW9uIDc4MjcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDE1LDkgKzQx
NSw2IEBAIFRleHRSdW4gU1ZHSW5saW5lVGV4dEJveDo6Y29uc3RydWN0VGV4dFIKICAgICBydW4u
c2V0UmVmZXJlbmNpbmdSZW5kZXJPYmplY3QodGV4dCk7CiAjZW5kaWYKIAotICAgIC8vIERpc2Fi
bGUgYW55IHdvcmQvY2hhcmFjdGVyIHJvdW5kaW5nLgotICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdI
YWNrcygpOwotCiAgICAgLy8gV2UgaGFuZGxlIGxldHRlciAmIHdvcmQgc3BhY2luZyBvdXJzZWx2
ZXMuCiAgICAgcnVuLmRpc2FibGVTcGFjaW5nKCk7CiAgICAgcmV0dXJuIHJ1bjsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3BwCShyZXZp
c2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJp
Y3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw4ICs0Nyw5IEBAIFNWR1RleHRNZXRyaWNzOjpT
VkdUZXh0TWV0cmljcyhSZW5kZXJTVkcKICAgICBpbnQgbGVuZ3RoID0gMDsKIAogICAgIC8vIENh
bGN1bGF0ZSB3aWR0aC9oZWlnaHQgdXNpbmcgdGhlIHNjYWxlZCBmb250LCBkaXZpZGUgdGhpcyBy
ZXN1bHQgYnkgdGhlIHNjYWxpbmdGYWN0b3IgYWZ0ZXJ3YXJkcy4KLSAgICBtX3dpZHRoID0gc2Nh
bGVkRm9udC5mbG9hdFdpZHRoKHJ1biwgZXh0cmFDaGFyc0F2YWlsYWJsZSwgbGVuZ3RoLCBtX2ds
eXBoLm5hbWUpIC8gc2NhbGluZ0ZhY3RvcjsKKyAgICBtX3dpZHRoID0gc2NhbGVkRm9udC53aWR0
aChydW4sIGV4dHJhQ2hhcnNBdmFpbGFibGUsIGxlbmd0aCwgbV9nbHlwaC5uYW1lKSAvIHNjYWxp
bmdGYWN0b3I7CiAgICAgbV9oZWlnaHQgPSBzY2FsZWRGb250LmZvbnRNZXRyaWNzKCkuZmxvYXRI
ZWlnaHQoKSAvIHNjYWxpbmdGYWN0b3I7CisKICAgICBtX2dseXBoLnVuaWNvZGVTdHJpbmcgPSBT
dHJpbmcocnVuLmNoYXJhY3RlcnMoKSwgbGVuZ3RoKTsKICAgICBtX2dseXBoLmlzVmFsaWQgPSB0
cnVlOwogCkBAIC03OSw5ICs4MCw2IEBAIHN0YXRpYyBUZXh0UnVuIGNvbnN0cnVjdFRleHRSdW4o
UmVuZGVyU1YKICAgICBydW4uc2V0UmVmZXJlbmNpbmdSZW5kZXJPYmplY3QodGV4dCk7CiAjZW5k
aWYKIAotICAgIC8vIERpc2FibGUgYW55IHdvcmQvY2hhcmFjdGVyIHJvdW5kaW5nLgotICAgIHJ1
bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotCiAgICAgLy8gV2UgaGFuZGxlIGxldHRlciAmIHdv
cmQgc3BhY2luZyBvdXJzZWx2ZXMuCiAgICAgcnVuLmRpc2FibGVTcGFjaW5nKCk7CiAgICAgcmV0
dXJuIHJ1bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udC5jcHAJKHJldmlzaW9uIDc4MjcxKQorKysg
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNjIsNyAr
MzYyLDcgQEAgc3RhdGljIHZvaWQgZmxvYXRXaWR0aE1pc3NpbmdHbHlwaENhbGxiYQogICAgIEZv
bnQgZm9udChmb250RGVzY3JpcHRpb24sIDAsIDApOyAvLyBzcGFjaW5nIGhhbmRsZWQgYnkgU1ZH
IHRleHQgY29kZS4KICAgICBmb250LnVwZGF0ZShkYXRhLmZvbnQtPmZvbnRTZWxlY3RvcigpKTsK
IAotICAgIGRhdGEubGVuZ3RoICs9IGZvbnQuZmxvYXRXaWR0aChydW4pOworICAgIGRhdGEubGVu
Z3RoICs9IGZvbnQud2lkdGgocnVuKTsKIH0KIAogCkBAIC01NzMsOSArNTczLDkgQEAgdm9pZCBG
b250OjpkcmF3VGV4dFVzaW5nU1ZHRm9udChHcmFwaGljcwogICAgICAgICAgICAgICAgIGZvbnQu
ZHJhd1RleHQoY29udGV4dCwgZmFsbGJhY2tDaGFyYWN0ZXJSdW4sIGN1cnJlbnRQb2ludCk7CiAK
ICAgICAgICAgICAgICAgICBpZiAoaXNWZXJ0aWNhbFRleHQpCi0gICAgICAgICAgICAgICAgICAg
IGN1cnJlbnRQb2ludC5tb3ZlKDAuMGYsIGZvbnQuZmxvYXRXaWR0aChmYWxsYmFja0NoYXJhY3Rl
clJ1bikpOworICAgICAgICAgICAgICAgICAgICBjdXJyZW50UG9pbnQubW92ZSgwLjBmLCBmb250
LndpZHRoKGZhbGxiYWNrQ2hhcmFjdGVyUnVuKSk7CiAgICAgICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgICAgICBjdXJyZW50UG9pbnQubW92ZShmb250LmZsb2F0V2lkdGgoZmFsbGJh
Y2tDaGFyYWN0ZXJSdW4pLCAwLjBmKTsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudFBvaW50
Lm1vdmUoZm9udC53aWR0aChmYWxsYmFja0NoYXJhY3RlclJ1biksIDAuMGYpOwogCiAgICAgICAg
ICAgICAgICAgZmFsbGJhY2tDaGFyYWN0ZXJJbmRleCsrOwogICAgICAgICAgICAgfQpJbmRleDog
U291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXROU1N0cmluZ0V4dHJhcy5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdE5TU3RyaW5nRXh0cmFzLm1tCShyZXZp
c2lvbiA3ODI3MSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0TlNTdHJpbmdFeHRy
YXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTkxLDcgKzkxLDYgQEAgLSAodm9pZClfd2ViX2RyYXdB
dFBvaW50OihOU1BvaW50KXBvaW50IAogCiAgICAgICAgIEZvbnQgd2ViQ29yZUZvbnQoRm9udFBs
YXRmb3JtRGF0YShmb250LCBbZm9udCBwb2ludFNpemVdKSwgIVtuc0NvbnRleHQgaXNEcmF3aW5n
VG9TY3JlZW5dLCBmb250U21vb3RoaW5nSXNBbGxvd2VkID8gQXV0b1Ntb290aGluZyA6IEFudGlh
bGlhc2VkKTsKICAgICAgICAgVGV4dFJ1biBydW4oYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKTsKLSAg
ICAgICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7CiAKICAgICAgICAgQ0dGbG9hdCByZWQ7
CiAgICAgICAgIENHRmxvYXQgZ3JlZW47CkBAIC0xMzcsOCArMTM2LDcgQEAgLSAoZmxvYXQpX3dl
Yl93aWR0aFdpdGhGb250OihOU0ZvbnQgKilmbwogICAgIGlmIChjYW5Vc2VGYXN0UmVuZGVyZXIo
YnVmZmVyLmRhdGEoKSwgbGVuZ3RoKSkgewogICAgICAgICBGb250IHdlYkNvcmVGb250KEZvbnRQ
bGF0Zm9ybURhdGEoZm9udCwgW2ZvbnQgcG9pbnRTaXplXSksICFbW05TR3JhcGhpY3NDb250ZXh0
IGN1cnJlbnRDb250ZXh0XSBpc0RyYXdpbmdUb1NjcmVlbl0pOwogICAgICAgICBUZXh0UnVuIHJ1
bihidWZmZXIuZGF0YSgpLCBsZW5ndGgpOwotICAgICAgICBydW4uZGlzYWJsZVJvdW5kaW5nSGFj
a3MoKTsKLSAgICAgICAgcmV0dXJuIHdlYkNvcmVGb250LmZsb2F0V2lkdGgocnVuKTsKKyAgICAg
ICAgcmV0dXJuIHdlYkNvcmVGb250LndpZHRoKHJ1bik7CiAgICAgfQogCiAgICAgcmV0dXJuIFtz
ZWxmIHNpemVXaXRoQXR0cmlidXRlczpbTlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRoT2JqZWN0
c0FuZEtleXM6Zm9udCwgTlNGb250QXR0cmlidXRlTmFtZSwgbmlsXV0ud2lkdGg7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82153</attachid>
            <date>2011-02-11 11:30:01 -0800</date>
            <delta_ts>2011-02-11 12:40:19 -0800</delta_ts>
            <desc>Patch that applies (ignore for review, just testing builds)</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>150041</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0zOTksOSArMzk5LDkgQEAgX19a
TjdXZWJDb3JlMTVQcm90ZWN0aW9uU3BhY2VDMUVSS04zV1RGNgogX19aTjdXZWJDb3JlMTVQcm90
ZWN0aW9uU3BhY2VDMUV2CiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE3YWxpZ25DZW50
ZXJBbHdheXNFCiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE5YWxpZ25Ub0VkZ2VJZk5l
ZWRlZEUKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRlRVJLTjNX
VEY2U3RyaW5nRWZSS05TXzRGb250RWIKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRj
ZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0VmUktOU180Rm9udEViCi1fX1pON1dlYkNvcmUx
NVN0cmluZ1RydW5jYXRvcjV3aWR0aEVSS04zV1RGNlN0cmluZ0VSS05TXzRGb250RWIKK19fWk43
V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRjZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0Vm
UktOU180Rm9udEUKK19fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRl
RVJLTjNXVEY2U3RyaW5nRWZSS05TXzRGb250RQorX19aTjdXZWJDb3JlMTVTdHJpbmdUcnVuY2F0
b3I1d2lkdGhFUktOM1dURjZTdHJpbmdFUktOU180Rm9udEUKIF9fWk43V2ViQ29yZTE1VmlzaWJs
ZVBvc2l0aW9uQzFFUE5TXzROb2RlRWlOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3JlMTVWaXNp
YmxlUG9zaXRpb25DMUVSS05TXzhQb3NpdGlvbkVOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3Jl
MTVkZWZhdWx0TGFuZ3VhZ2VFdgpAQCAtMTEyNSw3ICsxMTI1LDcgQEAgX19aTks3V2ViQ29yZTI3
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VCYQogX19aTks3V2ViQ29yZTI3QXV0aGVudGljYXRpb25D
aGFsbGVuZ2VCYXNlMjBwcmV2aW91c0ZhaWx1cmVDb3VudEV2CiBfX1pOSzdXZWJDb3JlMjdBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZUJhc2U1ZXJyb3JFdgogX19aTks3V2ViQ29yZTI3QXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VCYXNlNmlzTnVsbEV2Ci1fX1pOSzdXZWJDb3JlNEZvbnQxMGZsb2F0V2lk
dGhFUktOU183VGV4dFJ1bkVQTjNXVEY3SGFzaFNldElQS05TXzE0U2ltcGxlRm9udERhdGFFTlM0
XzdQdHJIYXNoSVM4X0VFTlM0XzEwSGFzaFRyYWl0c0lTOF9FRUVFUE5TXzEzR2x5cGhPdmVyZmxv
d0UKK19fWk5LN1dlYkNvcmU0Rm9udDV3aWR0aEVSS05TXzdUZXh0UnVuRVBOM1dURjdIYXNoU2V0
SVBLTlNfMTRTaW1wbGVGb250RGF0YUVOUzRfN1B0ckhhc2hJUzhfRUVOUzRfMTBIYXNoVHJhaXRz
SVM4X0VFRUVQTlNfMTNHbHlwaE92ZXJmbG93RQogX19aTks3V2ViQ29yZTRGb250OGRyYXdUZXh0
RVBOU18xNUdyYXBoaWNzQ29udGV4dEVSS05TXzdUZXh0UnVuRVJLTlNfMTBGbG9hdFBvaW50RWlp
CiBfX1pOSzdXZWJDb3JlNEtVUkwxMWNyZWF0ZUNGVVJMRXYKIF9fWk5LN1dlYkNvcmU0S1VSTDEx
aXNMb2NhbEZpbGVFdgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA3ODM1MCkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE3NzEsNyArMTc3MSw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjpkcmF3VGV4dEkKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRleHQubGVuZ3RoKCk7
CiAgICAgY29uc3QgVUNoYXIqIHN0cmluZyA9IHRleHQuY2hhcmFjdGVycygpOwotICAgIFRleHRS
dW4gdGV4dFJ1bihzdHJpbmcsIGxlbmd0aCwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJh
aWxpbmdFeHBhbnNpb24sIHJ0bCwgb3ZlcnJpZGUsIGZhbHNlLCBmYWxzZSk7CisgICAgVGV4dFJ1
biB0ZXh0UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFp
bGluZ0V4cGFuc2lvbiwgcnRsLCBvdmVycmlkZSk7CiAKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRl
eHQgYXQgdGhlIGNvcnJlY3QgcG9pbnQuCiAgICAgRmxvYXRQb2ludCBsb2NhdGlvbih4LCB5KTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCShyZXZpc2lv
biA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zOSwxNyArMzksNiBAQCB1c2luZyBuYW1lc3BhY2UgVW5pY29kZTsK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1aW50OF90IEZvbnQ6OmdSb3VuZGluZ0hh
Y2tDaGFyYWN0ZXJUYWJsZVsyNTZdID0gewotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDEgLypcdCovLCAxIC8qXG4qLywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAxIC8qc3BhY2UqLywgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKi0qLywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKj8qLywKLSAgICAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAg
ICAxIC8qbm8tYnJlYWsgc3BhY2UqLywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAKLX07Ci0KIEZvbnQ6OkNvZGVQYXRoIEZv
bnQ6OnNfY29kZVBhdGggPSBBdXRvOwogCiAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpAQCAtMTc2LDcgKzE2NSw3IEBAIHZvaWQgRm9udDo6ZHJhd0VtcGhhc2lzTWFya3Mo
R3JhcGhpY3NDb24KICAgICAgICAgZHJhd0VtcGhhc2lzTWFya3NGb3JDb21wbGV4VGV4dChjb250
ZXh0LCBydW4sIG1hcmssIHBvaW50LCBmcm9tLCB0byk7CiB9CiAKLWZsb2F0IEZvbnQ6OmZsb2F0
V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4q
IGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CitmbG9h
dCBGb250Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9u
dERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29u
c3QKIHsKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAgIGlmIChwcmltYXJ5Rm9udCgpLT5pc1NW
R0ZvbnQoKSkKQEAgLTE5NCw3ICsxODMsNyBAQCBmbG9hdCBGb250OjpmbG9hdFdpZHRoKGNvbnN0
IFRleHRSdW4mIHJ1CiAgICAgcmV0dXJuIGZsb2F0V2lkdGhGb3JDb21wbGV4VGV4dChydW4sIGZh
bGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQogCi1mbG9hdCBGb250OjpmbG9hdFdpZHRo
KGNvbnN0IFRleHRSdW4mIHJ1biwgaW50IGV4dHJhQ2hhcnNBdmFpbGFibGUsIGludCYgY2hhcnND
b25zdW1lZCwgU3RyaW5nJiBnbHlwaE5hbWUpIGNvbnN0CitmbG9hdCBGb250Ojp3aWR0aChjb25z
dCBUZXh0UnVuJiBydW4sIGludCBleHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQmIGNoYXJzQ29uc3Vt
ZWQsIFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdAogewogI2lmICFFTkFCTEUoU1ZHX0ZPTlRTKQog
ICAgIFVOVVNFRF9QQVJBTShleHRyYUNoYXJzQXZhaWxhYmxlKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHJldmlzaW9uIDc4MzUwKQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCSh3b3JraW5nIGNvcHkpCkBAIC05NCw5ICs5
NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRyYXdUZXh0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0
IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkg
Y29uc3Q7CiAgICAgdm9pZCBkcmF3RW1waGFzaXNNYXJrcyhHcmFwaGljc0NvbnRleHQqLCBjb25z
dCBUZXh0UnVuJiwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBGbG9hdFBvaW50Jiwg
aW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7CiAKLSAgICBpbnQgd2lkdGgoY29uc3Qg
VGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9u
dHMgPSAwLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93ID0gMCkgY29uc3QgeyByZXR1cm4g
bHJvdW5kZihmbG9hdFdpZHRoKHJ1biwgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxvdykpOyB9
Ci0gICAgZmxvYXQgZmxvYXRXaWR0aChjb25zdCBUZXh0UnVuJiwgSGFzaFNldDxjb25zdCBTaW1w
bGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVy
ZmxvdyA9IDApIGNvbnN0OwotICAgIGZsb2F0IGZsb2F0V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVu
LCBpbnQgZXh0cmFDaGFyc0F2YWlsYWJsZSwgaW50JiBjaGFyc0NvbnN1bWVkLCBTdHJpbmcmIGds
eXBoTmFtZSkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgoY29uc3QgVGV4dFJ1biYsIEhhc2hTZXQ8
Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3ZlcmZsb3cq
ID0gMCkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgoY29uc3QgVGV4dFJ1biYsIGludCBleHRyYUNo
YXJzQXZhaWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQsIFN0cmluZyYgZ2x5cGhOYW1lKSBjb25z
dDsKIAogICAgIGludCBvZmZzZXRGb3JQb3NpdGlvbihjb25zdCBUZXh0UnVuJiwgZmxvYXQgcG9z
aXRpb24sIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMpIGNvbnN0OwogICAgIEZsb2F0UmVjdCBz
ZWxlY3Rpb25SZWN0Rm9yVGV4dChjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxvYXRQb2ludCYsIGlu
dCBoLCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKSBjb25zdDsKQEAgLTEyOSw4ICsxMjgsOCBA
QCBwdWJsaWM6CiAKICAgICAvLyBNZXRyaWNzIHRoYXQgd2UgcXVlcnkgdGhlIEZvbnRGYWxsYmFj
a0xpc3QgZm9yLgogICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcygpIGNvbnN0IHsg
cmV0dXJuIHByaW1hcnlGb250KCktPmZvbnRNZXRyaWNzKCk7IH0KLSAgICBpbnQgc3BhY2VXaWR0
aCgpIGNvbnN0IHsgcmV0dXJuIChpbnQpY2VpbGYocHJpbWFyeUZvbnQoKS0+YWRqdXN0ZWRTcGFj
ZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmcpOyB9Ci0gICAgZmxvYXQgdGFiV2lkdGgoY29uc3Qg
U2ltcGxlRm9udERhdGEmIGZvbnREYXRhKSBjb25zdCB7IHJldHVybiA4ICogY2VpbGYoZm9udERh
dGEuYWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBsZXR0ZXJTcGFjaW5nKCkpOyB9CisgICAgaW50IHNw
YWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBwcmltYXJ5Rm9udCgpLT5zcGFjZVdpZHRoKCkgKyBt
X2xldHRlclNwYWNpbmc7IH0KKyAgICBmbG9hdCB0YWJXaWR0aChjb25zdCBTaW1wbGVGb250RGF0
YSYgZm9udERhdGEpIGNvbnN0IHsgcmV0dXJuIDggKiBmb250RGF0YS5zcGFjZVdpZHRoKCkgKyBs
ZXR0ZXJTcGFjaW5nKCk7IH0KICAgICBpbnQgZW1waGFzaXNNYXJrQXNjZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNpc01hcmtEZXNjZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNpc01hcmtIZWlnaHQoY29uc3QgQXRvbWlj
U3RyaW5nJikgY29uc3Q7CkBAIC0yMDEsMTIgKzIwMCw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
Q29kZVBhdGggY29kZVBhdGgoKTsKICAgICBzdGF0aWMgQ29kZVBhdGggc19jb2RlUGF0aDsKIAot
ICAgIHN0YXRpYyBjb25zdCB1aW50OF90IGdSb3VuZGluZ0hhY2tDaGFyYWN0ZXJUYWJsZVsyNTZd
OwotICAgIHN0YXRpYyBib29sIGlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKFVDaGFyMzIgYykKLSAg
ICB7Ci0gICAgICAgIHJldHVybiAoKChjICYgfjB4RkYpID09IDAgJiYgZ1JvdW5kaW5nSGFja0No
YXJhY3RlclRhYmxlW2NdKSk7Ci0gICAgfQotCiAgICAgRm9udFNlbGVjdG9yKiBmb250U2VsZWN0
b3IoKSBjb25zdDsKICAgICBzdGF0aWMgYm9vbCB0cmVhdEFzU3BhY2UoVUNoYXIgYykgeyByZXR1
cm4gYyA9PSAnICcgfHwgYyA9PSAnXHQnIHx8IGMgPT0gJ1xuJyB8fCBjID09IG5vQnJlYWtTcGFj
ZTsgfQogICAgIHN0YXRpYyBib29sIHRyZWF0QXNaZXJvV2lkdGhTcGFjZShVQ2hhciBjKSB7IHJl
dHVybiBjIDwgMHgyMCB8fCAoYyA+PSAweDdGICYmIGMgPCAweEEwKSB8fCBjID09IHNvZnRIeXBo
ZW4gfHwgKGMgPj0gMHgyMDBjICYmIGMgPD0gMHgyMDBmKSB8fCAoYyA+PSAweDIwMmEgJiYgYyA8
PSAweDIwMmUpIHx8IGMgPT0gb2JqZWN0UmVwbGFjZW1lbnRDaGFyYWN0ZXI7IH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
LmNwcAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNzUsNyArMzc1LDcgQEAg
dm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdJbWFnZShJbWFnZSogaQogfQogCiAjaWYgIU9TKFdJ
TkNFKSB8fCBQTEFURk9STShRVCkKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3VGV4dChjb25z
dCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEludFBvaW50JiBwb2ludCwg
aW50IGZyb20sIGludCB0bykKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3VGV4dChjb25zdCBG
b250JiBmb250LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBp
bnQgZnJvbSwgaW50IHRvKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAg
IHJldHVybjsKQEAgLTM4NCw3ICszODQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1Rl
eHQoY29uc3QgRm9uCiB9CiAjZW5kaWYKIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdFbXBo
YXNpc01hcmtzKGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgQXRv
bWljU3RyaW5nJiBtYXJrLCBjb25zdCBJbnRQb2ludCYgcG9pbnQsIGludCBmcm9tLCBpbnQgdG8p
Cit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0VtcGhhc2lzTWFya3MoY29uc3QgRm9udCYgZm9u
dCwgY29uc3QgVGV4dFJ1biYgcnVuLCBjb25zdCBBdG9taWNTdHJpbmcmIG1hcmssIGNvbnN0IEZs
b2F0UG9pbnQmIHBvaW50LCBpbnQgZnJvbSwgaW50IHRvKQogewogICAgIGlmIChwYWludGluZ0Rp
c2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTQyMiwxMyArNDIyLDEzIEBAIHZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpkcmF3QmlkaVRleHQoY29uc3QKICAgICAgICAgYmlkaVJ1biA9IGJpZGlS
dW4tPm5leHQoKTsKICAgICAgICAgLy8gRklYTUU6IEhhdmUgRm9udDo6ZHJhd1RleHQgcmV0dXJu
IHRoZSB3aWR0aCBvZiB3aGF0IGl0IGRyZXcgc28gdGhhdCB3ZSBkb24ndCBoYXZlIHRvIHJlLW1l
YXN1cmUgaGVyZS4KICAgICAgICAgaWYgKGJpZGlSdW4pCi0gICAgICAgICAgICBjdXJyUG9pbnQu
bW92ZShmb250LmZsb2F0V2lkdGgoc3VicnVuKSwgMC5mKTsKKyAgICAgICAgICAgIGN1cnJQb2lu
dC5tb3ZlKGZvbnQud2lkdGgoc3VicnVuKSwgMCk7CiAgICAgfQogCiAgICAgYmlkaVJlc29sdmVy
LmRlbGV0ZVJ1bnMoKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdIaWdobGlnaHRG
b3JUZXh0KGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgSW50UG9p
bnQmIHBvaW50LCBpbnQgaCwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgQ29sb3JTcGFj
ZSBjb2xvclNwYWNlLCBpbnQgZnJvbSwgaW50IHRvKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRy
YXdIaWdobGlnaHRGb3JUZXh0KGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwg
Y29uc3QgRmxvYXRQb2ludCYgcG9pbnQsIGludCBoLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENv
bG9yLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UsIGludCBmcm9tLCBpbnQgdG8pCiB7CiAgICAgaWYg
KHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgJKHJldmlzaW9u
IDc4MzUwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250
ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTMzNSwyMCArMzM1LDIwIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgVGV4dERyYXdpbmdNb2RlRmxhZ3MgdGV4dERyYXdpbmdNb2RlKCkgY29u
c3Q7CiAgICAgICAgIHZvaWQgc2V0VGV4dERyYXdpbmdNb2RlKFRleHREcmF3aW5nTW9kZUZsYWdz
KTsKIAotICAgICAgICB2b2lkIGRyYXdUZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwg
Y29uc3QgSW50UG9pbnQmLCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKTsKLSAgICAgICAgdm9p
ZCBkcmF3RW1waGFzaXNNYXJrcyhjb25zdCBGb250JiwgY29uc3QgVGV4dFJ1biYgLCBjb25zdCBB
dG9taWNTdHJpbmcmIG1hcmssIGNvbnN0IEludFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8g
PSAtMSk7CisgICAgICAgIHZvaWQgZHJhd1RleHQoY29uc3QgRm9udCYsIGNvbnN0IFRleHRSdW4m
LCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSk7CisgICAgICAg
IHZvaWQgZHJhd0VtcGhhc2lzTWFya3MoY29uc3QgRm9udCYsIGNvbnN0IFRleHRSdW4mICwgY29u
c3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBp
bnQgdG8gPSAtMSk7CiAgICAgICAgIHZvaWQgZHJhd0JpZGlUZXh0KGNvbnN0IEZvbnQmLCBjb25z
dCBUZXh0UnVuJiwgY29uc3QgRmxvYXRQb2ludCYpOwotICAgICAgICB2b2lkIGRyYXdIaWdobGln
aHRGb3JUZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgSW50UG9pbnQmLCBp
bnQgaCwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgQ29sb3JTcGFjZSwgaW50IGZyb20g
PSAwLCBpbnQgdG8gPSAtMSk7CisgICAgICAgIHZvaWQgZHJhd0hpZ2hsaWdodEZvclRleHQoY29u
c3QgRm9udCYsIGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGgsIGNvbnN0
IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3IsIENvbG9yU3BhY2UsIGludCBmcm9tID0gMCwgaW50IHRv
ID0gLTEpOwogCiAgICAgICAgIEZsb2F0UmVjdCByb3VuZFRvRGV2aWNlUGl4ZWxzKGNvbnN0IEZs
b2F0UmVjdCYpOwogCi0gICAgICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEludFBvaW50
JiwgaW50IHdpZHRoLCBib29sIHByaW50aW5nKTsKKyAgICAgICAgdm9pZCBkcmF3TGluZUZvclRl
eHQoY29uc3QgRmxvYXRQb2ludCYsIGZsb2F0IHdpZHRoLCBib29sIHByaW50aW5nKTsKICAgICAg
ICAgZW51bSBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUgewogICAgICAgICAgICAgVGV4dENoZWNraW5n
U3BlbGxpbmdMaW5lU3R5bGUsCiAgICAgICAgICAgICBUZXh0Q2hlY2tpbmdHcmFtbWFyTGluZVN0
eWxlLAogICAgICAgICAgICAgVGV4dENoZWNraW5nUmVwbGFjZW1lbnRMaW5lU3R5bGUKICAgICAg
ICAgfTsKLSAgICAgICAgdm9pZCBkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBJbnRQb2lu
dCYsIGludCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlKTsKKyAgICAgICAgdm9pZCBkcmF3
TGluZUZvclRleHRDaGVja2luZyhjb25zdCBGbG9hdFBvaW50JiwgZmxvYXQgd2lkdGgsIFRleHRD
aGVja2luZ0xpbmVTdHlsZSk7CiAKICAgICAgICAgYm9vbCBwYWludGluZ0Rpc2FibGVkKCkgY29u
c3Q7CiAgICAgICAgIHZvaWQgc2V0UGFpbnRpbmdEaXNhYmxlZChib29sKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAJ
KHJldmlzaW9uIDc4MzUwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2lt
cGxlRm9udERhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4LDYgQEAgU2ltcGxl
Rm9udERhdGE6OlNpbXBsZUZvbnREYXRhKFBhc3NPd25QdAogICAgIG1fc3BhY2VHbHlwaCA9IDA7
CiAgICAgbV96ZXJvV2lkdGhTcGFjZUdseXBoID0gMDsKICAgICBkZXRlcm1pbmVQaXRjaCgpOwot
ICAgIG1fYWRqdXN0ZWRTcGFjZVdpZHRoID0gcm91bmRmKG1fc3BhY2VXaWR0aCk7CiAgICAgbV9t
aXNzaW5nR2x5cGhEYXRhLmZvbnREYXRhID0gdGhpczsKICAgICBtX21pc3NpbmdHbHlwaERhdGEu
Z2x5cGggPSAwOwogfQpAQCAtMTQzLDcgKzE0Miw2IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBs
YXRmb3JtR2x5cGhJbml0KCkKICAgICAgICAgTE9HX0VSUk9SKCJGYWlsZWQgdG8gZ2V0IGdseXBo
IHBhZ2UgemVyby4iKTsKICAgICAgICAgbV9zcGFjZUdseXBoID0gMDsKICAgICAgICAgbV9zcGFj
ZVdpZHRoID0gMDsKLSAgICAgICAgbV9hZGp1c3RlZFNwYWNlV2lkdGggPSAwOwogICAgICAgICBk
ZXRlcm1pbmVQaXRjaCgpOwogICAgICAgICBtX3plcm9XaWR0aFNwYWNlR2x5cGggPSAwOwogICAg
ICAgICBtX21pc3NpbmdHbHlwaERhdGEuZm9udERhdGEgPSB0aGlzOwpAQCAtMTYwLDcgKzE1OCw2
IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtR2x5cGhJbml0KCkKICAgICBmbG9hdCB3
aWR0aCA9IHdpZHRoRm9yR2x5cGgobV9zcGFjZUdseXBoKTsKICAgICBtX3NwYWNlV2lkdGggPSB3
aWR0aDsKICAgICBkZXRlcm1pbmVQaXRjaCgpOwotICAgIG1fYWRqdXN0ZWRTcGFjZVdpZHRoID0g
bV90cmVhdEFzRml4ZWRQaXRjaCA/IGNlaWxmKHdpZHRoKSA6IHJvdW5kZih3aWR0aCk7CiAKICAg
ICAvLyBGb3JjZSB0aGUgZ2x5cGggZm9yIFpFUk8gV0lEVEggU1BBQ0UgdG8gaGF2ZSB6ZXJvIHdp
ZHRoLCB1bmxlc3MgaXQgaXMgc2hhcmVkIHdpdGggU1BBQ0UuCiAgICAgLy8gSGVsdmV0aWNhIGlz
IGFuIGV4YW1wbGUgb2YgYSBub24temVybyB3aWR0aCBaRVJPIFdJRFRIIFNQQUNFIGdseXBoLgpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250
RGF0YS5oCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1NpbXBsZUZvbnREYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTExMiw3ICsxMTIsNiBAQCBw
dWJsaWM6CiAgICAgZmxvYXQgcGxhdGZvcm1XaWR0aEZvckdseXBoKEdseXBoKSBjb25zdDsKIAog
ICAgIGZsb2F0IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3NwYWNlV2lkdGg7IH0KLSAg
ICBmbG9hdCBhZGp1c3RlZFNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2FkanVzdGVkU3Bh
Y2VXaWR0aDsgfQogCiAjaWYgUExBVEZPUk0oQ0cpIHx8IFBMQVRGT1JNKENBSVJPKSB8fCBQTEFU
Rk9STShXWCkKICAgICBmbG9hdCBzeW50aGV0aWNCb2xkT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4g
bV9zeW50aGV0aWNCb2xkT2Zmc2V0OyB9CkBAIC0yMzAsNyArMjI5LDYgQEAgcHJpdmF0ZToKIAog
ICAgIEdseXBoIG1fc3BhY2VHbHlwaDsKICAgICBmbG9hdCBtX3NwYWNlV2lkdGg7Ci0gICAgZmxv
YXQgbV9hZGp1c3RlZFNwYWNlV2lkdGg7CiAKICAgICBHbHlwaCBtX3plcm9XaWR0aFNwYWNlR2x5
cGg7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5j
YXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
U3RyaW5nVHJ1bmNhdG9yLmNwcAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9TdHJpbmdUcnVuY2F0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05
MiwyMiArOTIsMjAgQEAgc3RhdGljIHVuc2lnbmVkIHJpZ2h0VHJ1bmNhdGVUb0J1ZmZlcihjbwog
ICAgIHJldHVybiB0cnVuY2F0ZWRMZW5ndGg7CiB9CiAKLXN0YXRpYyBmbG9hdCBzdHJpbmdXaWR0
aChjb25zdCBGb250JiByZW5kZXJlciwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVk
IGxlbmd0aCwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcykKK3N0YXRpYyBmbG9hdCBzdHJpbmdX
aWR0aChjb25zdCBGb250JiByZW5kZXJlciwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2ln
bmVkIGxlbmd0aCkKIHsKICAgICBUZXh0UnVuIHJ1bihjaGFyYWN0ZXJzLCBsZW5ndGgpOwotICAg
IGlmIChkaXNhYmxlUm91bmRpbmdIYWNrcykKLSAgICAgICAgcnVuLmRpc2FibGVSb3VuZGluZ0hh
Y2tzKCk7Ci0gICAgcmV0dXJuIHJlbmRlcmVyLmZsb2F0V2lkdGgocnVuKTsKKyAgICByZXR1cm4g
cmVuZGVyZXIud2lkdGgocnVuKTsKIH0KIAotc3RhdGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhj
b25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZvbnQsIFRy
dW5jYXRpb25GdW5jdGlvbiB0cnVuY2F0ZVRvQnVmZmVyLCBib29sIGRpc2FibGVSb3VuZGluZ0hh
Y2tzKQorc3RhdGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZywg
ZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZvbnQsIFRydW5jYXRpb25GdW5jdGlvbiB0cnVu
Y2F0ZVRvQnVmZmVyKQogewogICAgIGlmIChzdHJpbmcuaXNFbXB0eSgpKQogICAgICAgICByZXR1
cm4gc3RyaW5nOwogICAgIAogICAgIEFTU0VSVChtYXhXaWR0aCA+PSAwKTsKICAgICAKLSAgICBm
bG9hdCBjdXJyZW50RWxsaXBzaXNXaWR0aCA9IHN0cmluZ1dpZHRoKGZvbnQsICZob3Jpem9udGFs
RWxsaXBzaXMsIDEsIGRpc2FibGVSb3VuZGluZ0hhY2tzKTsKKyAgICBmbG9hdCBjdXJyZW50RWxs
aXBzaXNXaWR0aCA9IHN0cmluZ1dpZHRoKGZvbnQsICZob3Jpem9udGFsRWxsaXBzaXMsIDEpOwog
ICAgIAogICAgIFVDaGFyIHN0cmluZ0J1ZmZlcltTVFJJTkdfQlVGRkVSX1NJWkVdOwogICAgIHVu
c2lnbmVkIHRydW5jYXRlZExlbmd0aDsKQEAgLTEyMyw3ICsxMjEsNyBAQCBzdGF0aWMgU3RyaW5n
IHRydW5jYXRlU3RyaW5nKGNvbnN0IFN0cmluCiAgICAgICAgIHRydW5jYXRlZExlbmd0aCA9IGxl
bmd0aDsKICAgICB9CiAKLSAgICBmbG9hdCB3aWR0aCA9IHN0cmluZ1dpZHRoKGZvbnQsIHN0cmlu
Z0J1ZmZlciwgdHJ1bmNhdGVkTGVuZ3RoLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgZmxv
YXQgd2lkdGggPSBzdHJpbmdXaWR0aChmb250LCBzdHJpbmdCdWZmZXIsIHRydW5jYXRlZExlbmd0
aCk7CiAgICAgaWYgKHdpZHRoIDw9IG1heFdpZHRoKQogICAgICAgICByZXR1cm4gc3RyaW5nOwog
CkBAIC0xNTksNyArMTU3LDcgQEAgc3RhdGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBT
dHJpbgogICAgICAgICAKICAgICAgICAgdHJ1bmNhdGVkTGVuZ3RoID0gdHJ1bmNhdGVUb0J1ZmZl
cihzdHJpbmcsIGxlbmd0aCwga2VlcENvdW50LCBzdHJpbmdCdWZmZXIpOwogCi0gICAgICAgIHdp
ZHRoID0gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5nQnVmZmVyLCB0cnVuY2F0ZWRMZW5ndGgsIGRp
c2FibGVSb3VuZGluZ0hhY2tzKTsKKyAgICAgICAgd2lkdGggPSBzdHJpbmdXaWR0aChmb250LCBz
dHJpbmdCdWZmZXIsIHRydW5jYXRlZExlbmd0aCk7CiAgICAgICAgIGlmICh3aWR0aCA8PSBtYXhX
aWR0aCkgewogICAgICAgICAgICAga2VlcENvdW50Rm9yTGFyZ2VzdEtub3duVG9GaXQgPSBrZWVw
Q291bnQ7CiAgICAgICAgICAgICB3aWR0aEZvckxhcmdlc3RLbm93blRvRml0ID0gd2lkdGg7CkBA
IC0xODEsMTkgKzE3OSwxOSBAQCBzdGF0aWMgU3RyaW5nIHRydW5jYXRlU3RyaW5nKGNvbnN0IFN0
cmluCiAgICAgcmV0dXJuIFN0cmluZyhzdHJpbmdCdWZmZXIsIHRydW5jYXRlZExlbmd0aCk7CiB9
CiAKLVN0cmluZyBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKGNvbnN0IFN0cmluZyYg
c3RyaW5nLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBkaXNhYmxlUm91
bmRpbmdIYWNrcykKK1N0cmluZyBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKGNvbnN0
IFN0cmluZyYgc3RyaW5nLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9udCYgZm9udCkKIHsKLSAg
ICByZXR1cm4gdHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBtYXhXaWR0aCwgZm9udCwgY2VudGVyVHJ1
bmNhdGVUb0J1ZmZlciwgZGlzYWJsZVJvdW5kaW5nSGFja3MpOworICAgIHJldHVybiB0cnVuY2F0
ZVN0cmluZyhzdHJpbmcsIG1heFdpZHRoLCBmb250LCBjZW50ZXJUcnVuY2F0ZVRvQnVmZmVyKTsK
IH0KIAotU3RyaW5nIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShjb25zdCBTdHJpbmcm
IHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgZGlzYWJsZVJv
dW5kaW5nSGFja3MpCitTdHJpbmcgU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKGNvbnN0
IFN0cmluZyYgc3RyaW5nLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9udCYgZm9udCkKIHsKLSAg
ICByZXR1cm4gdHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBtYXhXaWR0aCwgZm9udCwgcmlnaHRUcnVu
Y2F0ZVRvQnVmZmVyLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgcmV0dXJuIHRydW5jYXRl
U3RyaW5nKHN0cmluZywgbWF4V2lkdGgsIGZvbnQsIHJpZ2h0VHJ1bmNhdGVUb0J1ZmZlcik7CiB9
CiAKLWZsb2F0IFN0cmluZ1RydW5jYXRvcjo6d2lkdGgoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGNv
bnN0IEZvbnQmIGZvbnQsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MpCitmbG9hdCBTdHJpbmdU
cnVuY2F0b3I6OndpZHRoKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBjb25zdCBGb250JiBmb250KQog
ewotICAgIHJldHVybiBzdHJpbmdXaWR0aChmb250LCBzdHJpbmcuY2hhcmFjdGVycygpLCBzdHJp
bmcubGVuZ3RoKCksIGRpc2FibGVSb3VuZGluZ0hhY2tzKTsKKyAgICByZXR1cm4gc3RyaW5nV2lk
dGgoZm9udCwgc3RyaW5nLmNoYXJhY3RlcnMoKSwgc3RyaW5nLmxlbmd0aCgpKTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvU3RyaW5nVHJ1bmNhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmgJKHJldmlzaW9uIDc4MzUwKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTM3LDkgKzM3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAogICAgIGNsYXNz
IFN0cmluZ1RydW5jYXRvciB7CiAgICAgcHVibGljOgotICAgICAgICBzdGF0aWMgU3RyaW5nIGNl
bnRlclRydW5jYXRlKGNvbnN0IFN0cmluZyYsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250Jiwg
Ym9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcyA9IHRydWUpOwotICAgICAgICBzdGF0aWMgU3RyaW5n
IHJpZ2h0VHJ1bmNhdGUoY29uc3QgU3RyaW5nJiwgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQm
LCBib29sIGRpc2FibGVSb3VuZGluZ0hhY2tzID0gdHJ1ZSk7Ci0gICAgICAgIHN0YXRpYyBmbG9h
dCB3aWR0aChjb25zdCBTdHJpbmcmLCBjb25zdCBGb250JiwgYm9vbCBkaXNhYmxlUm91bmRpbmdI
YWNrcyA9IHRydWUpOworICAgICAgICBzdGF0aWMgU3RyaW5nIGNlbnRlclRydW5jYXRlKGNvbnN0
IFN0cmluZyYsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250Jik7CisgICAgICAgIHN0YXRpYyBT
dHJpbmcgcmlnaHRUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBtYXhXaWR0aCwgY29uc3Qg
Rm9udCYpOworICAgICAgICBzdGF0aWMgZmxvYXQgd2lkdGgoY29uc3QgU3RyaW5nJiwgY29uc3Qg
Rm9udCYpOwogICAgIH07CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCShyZXZpc2lvbiA3ODM1MCkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaAkod29ya2luZyBj
b3B5KQpAQCAtMzgsOCArMzgsNyBAQCBwdWJsaWM6CiAgICAgICAgIEZvcmJpZFRyYWlsaW5nRXhw
YW5zaW9uCiAgICAgfTsKIAotICAgIFRleHRSdW4oY29uc3QgVUNoYXIqIGMsIGludCBsZW4sIGJv
b2wgYWxsb3dUYWJzID0gZmFsc2UsIGludCB4cG9zID0gMCwgaW50IGV4cGFuc2lvbiA9IDAsIFRy
YWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9IEFsbG93
VHJhaWxpbmdFeHBhbnNpb24sIGJvb2wgcnRsID0gZmFsc2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVy
cmlkZSA9IGZhbHNlLAotICAgICAgICAgICAgICBib29sIGFwcGx5UnVuUm91bmRpbmcgPSB0cnVl
LCBib29sIGFwcGx5V29yZFJvdW5kaW5nID0gdHJ1ZSkKKyAgICBUZXh0UnVuKGNvbnN0IFVDaGFy
KiBjLCBpbnQgbGVuLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBmbG9hdCB4cG9zID0gMCwgZmxv
YXQgZXhwYW5zaW9uID0gMCwgVHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciB0cmFpbGluZ0V4cGFu
c2lvbkJlaGF2aW9yID0gQWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgYm9vbCBydGwgPSBmYWxzZSwg
Ym9vbCBkaXJlY3Rpb25hbE92ZXJyaWRlID0gZmFsc2UpCiAgICAgICAgIDogbV9jaGFyYWN0ZXJz
KGMpCiAgICAgICAgICwgbV9sZW4obGVuKQogICAgICAgICAsIG1feHBvcyh4cG9zKQpAQCAtNTEs
OCArNTAsNiBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9hbGxvd1RhYnMoYWxsb3dUYWJzKQogICAg
ICAgICAsIG1fcnRsKHJ0bCkKICAgICAgICAgLCBtX2RpcmVjdGlvbmFsT3ZlcnJpZGUoZGlyZWN0
aW9uYWxPdmVycmlkZSkKLSAgICAgICAgLCBtX2FwcGx5UnVuUm91bmRpbmcoYXBwbHlSdW5Sb3Vu
ZGluZykKLSAgICAgICAgLCBtX2FwcGx5V29yZFJvdW5kaW5nKGFwcGx5V29yZFJvdW5kaW5nKQog
ICAgICAgICAsIG1fZGlzYWJsZVNwYWNpbmcoZmFsc2UpCiAjaWYgRU5BQkxFKFNWR19GT05UUykK
ICAgICAgICAgLCBtX3JlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KDApCkBAIC02MSw4ICs1OCw3IEBA
IHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgVGV4dFJ1bihjb25zdCBTdHJpbmcmIHMsIGJv
b2wgYWxsb3dUYWJzID0gZmFsc2UsIGludCB4cG9zID0gMCwgaW50IGV4cGFuc2lvbiA9IDAsIFRy
YWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9IEFsbG93
VHJhaWxpbmdFeHBhbnNpb24sIGJvb2wgcnRsID0gZmFsc2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVy
cmlkZSA9IGZhbHNlLAotICAgICAgICAgICAgICBib29sIGFwcGx5UnVuUm91bmRpbmcgPSB0cnVl
LCBib29sIGFwcGx5V29yZFJvdW5kaW5nID0gdHJ1ZSkKKyAgICBUZXh0UnVuKGNvbnN0IFN0cmlu
ZyYgcywgYm9vbCBhbGxvd1RhYnMgPSBmYWxzZSwgZmxvYXQgeHBvcyA9IDAsIGZsb2F0IGV4cGFu
c2lvbiA9IDAsIFRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNpb25CZWhh
dmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGJvb2wgcnRsID0gZmFsc2UsIGJvb2wgZGly
ZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlKQogICAgICAgICA6IG1fY2hhcmFjdGVycyhzLmNoYXJh
Y3RlcnMoKSkKICAgICAgICAgLCBtX2xlbihzLmxlbmd0aCgpKQogICAgICAgICAsIG1feHBvcyh4
cG9zKQpAQCAtNzQsOCArNzAsNiBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9hbGxvd1RhYnMoYWxs
b3dUYWJzKQogICAgICAgICAsIG1fcnRsKHJ0bCkKICAgICAgICAgLCBtX2RpcmVjdGlvbmFsT3Zl
cnJpZGUoZGlyZWN0aW9uYWxPdmVycmlkZSkKLSAgICAgICAgLCBtX2FwcGx5UnVuUm91bmRpbmco
YXBwbHlSdW5Sb3VuZGluZykKLSAgICAgICAgLCBtX2FwcGx5V29yZFJvdW5kaW5nKGFwcGx5V29y
ZFJvdW5kaW5nKQogICAgICAgICAsIG1fZGlzYWJsZVNwYWNpbmcoZmFsc2UpCiAjaWYgRU5BQkxF
KFNWR19GT05UUykKICAgICAgICAgLCBtX3JlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KDApCkBAIC05
OCwxOCArOTIsMTUgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICBib29sIGFsbG93VGFicygpIGNv
bnN0IHsgcmV0dXJuIG1fYWxsb3dUYWJzOyB9Ci0gICAgaW50IHhQb3MoKSBjb25zdCB7IHJldHVy
biBtX3hwb3M7IH0KLSAgICBpbnQgZXhwYW5zaW9uKCkgY29uc3QgeyByZXR1cm4gbV9leHBhbnNp
b247IH0KKyAgICBmbG9hdCB4UG9zKCkgY29uc3QgeyByZXR1cm4gbV94cG9zOyB9CisgICAgZmxv
YXQgZXhwYW5zaW9uKCkgY29uc3QgeyByZXR1cm4gbV9leHBhbnNpb247IH0KICAgICBib29sIGFs
bG93c1RyYWlsaW5nRXhwYW5zaW9uKCkgY29uc3QgeyByZXR1cm4gbV90cmFpbGluZ0V4cGFuc2lv
bkJlaGF2aW9yID09IEFsbG93VHJhaWxpbmdFeHBhbnNpb247IH0KICAgICBib29sIHJ0bCgpIGNv
bnN0IHsgcmV0dXJuIG1fcnRsOyB9CiAgICAgYm9vbCBsdHIoKSBjb25zdCB7IHJldHVybiAhbV9y
dGw7IH0KICAgICBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUoKSBjb25zdCB7IHJldHVybiBtX2Rp
cmVjdGlvbmFsT3ZlcnJpZGU7IH0KLSAgICBib29sIGFwcGx5UnVuUm91bmRpbmcoKSBjb25zdCB7
IHJldHVybiBtX2FwcGx5UnVuUm91bmRpbmc7IH0KLSAgICBib29sIGFwcGx5V29yZFJvdW5kaW5n
KCkgY29uc3QgeyByZXR1cm4gbV9hcHBseVdvcmRSb3VuZGluZzsgfQogICAgIGJvb2wgc3BhY2lu
Z0Rpc2FibGVkKCkgY29uc3QgeyByZXR1cm4gbV9kaXNhYmxlU3BhY2luZzsgfQogCiAgICAgdm9p
ZCBkaXNhYmxlU3BhY2luZygpIHsgbV9kaXNhYmxlU3BhY2luZyA9IHRydWU7IH0KLSAgICB2b2lk
IGRpc2FibGVSb3VuZGluZ0hhY2tzKCkgeyBtX2FwcGx5UnVuUm91bmRpbmcgPSBtX2FwcGx5V29y
ZFJvdW5kaW5nID0gZmFsc2U7IH0KICAgICB2b2lkIHNldFJUTChib29sIGIpIHsgbV9ydGwgPSBi
OyB9CiAgICAgdm9pZCBzZXREaXJlY3Rpb25hbE92ZXJyaWRlKGJvb2wgb3ZlcnJpZGUpIHsgbV9k
aXJlY3Rpb25hbE92ZXJyaWRlID0gb3ZlcnJpZGU7IH0KIApAQCAtMTI4LDggKzExOSw4IEBAIHBy
aXZhdGU6CiAgICAgLy8gbV94cG9zIGlzIHRoZSB4IHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBs
ZWZ0IHN0YXJ0IG9mIHRoZSB0ZXh0IGxpbmUsIG5vdCByZWxhdGl2ZSB0byB0aGUgbGVmdAogICAg
IC8vIHN0YXJ0IG9mIHRoZSBjb250YWluaW5nIGJsb2NrLiBJbiB0aGUgY2FzZSBvZiByaWdodCBh
bGlnbm1lbnQgb3IgY2VudGVyIGFsaWdubWVudCwgbGVmdCBzdGFydCBvZgogICAgIC8vIHRoZSB0
ZXh0IGxpbmUgaXMgbm90IHRoZSBzYW1lIGFzIGxlZnQgc3RhcnQgb2YgdGhlIGNvbnRhaW5pbmcg
YmxvY2suCi0gICAgaW50IG1feHBvczsgIAotICAgIGludCBtX2V4cGFuc2lvbjsKKyAgICBmbG9h
dCBtX3hwb3M7ICAKKyAgICBmbG9hdCBtX2V4cGFuc2lvbjsKICAgICBUcmFpbGluZ0V4cGFuc2lv
bkJlaGF2aW9yIG1fdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvcjsKICNpZiBFTkFCTEUoU1ZHKQog
ICAgIGZsb2F0IG1faG9yaXpvbnRhbEdseXBoU3RyZXRjaDsKQEAgLTEzNyw4ICsxMjgsNiBAQCBw
cml2YXRlOgogICAgIGJvb2wgbV9hbGxvd1RhYnM7CiAgICAgYm9vbCBtX3J0bDsKICAgICBib29s
IG1fZGlyZWN0aW9uYWxPdmVycmlkZTsKLSAgICBib29sIG1fYXBwbHlSdW5Sb3VuZGluZzsKLSAg
ICBib29sIG1fYXBwbHlXb3JkUm91bmRpbmc7CiAgICAgYm9vbCBtX2Rpc2FibGVTcGFjaW5nOwog
CiAjaWYgRU5BQkxFKFNWR19GT05UUykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCShyZXZpc2lvbiA3ODM1MCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00OCw3ICs0OCw2IEBAIFdpZHRoSXRlcmF0b3I6OldpZHRoSXRlcmF0b3IoY29u
c3QgRm9udCoKICAgICAsIG1fY3VycmVudENoYXJhY3RlcigwKQogICAgICwgbV9ydW5XaWR0aFNv
RmFyKDApCiAgICAgLCBtX2lzQWZ0ZXJFeHBhbnNpb24odHJ1ZSkKLSAgICAsIG1fZmluYWxSb3Vu
ZGluZ1dpZHRoKDApCiAgICAgLCBtX2ZhbGxiYWNrRm9udHMoZmFsbGJhY2tGb250cykKICAgICAs
IG1fYWNjb3VudEZvckdseXBoQm91bmRzKGFjY291bnRGb3JHbHlwaEJvdW5kcykKICAgICAsIG1f
bWF4R2x5cGhCb3VuZGluZ0JveFkobnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptaW4oKSkKQEAgLTg2
LDExICs4NSw2IEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZShpbnQgb2Zmc2V0LCAKICAg
ICBib29sIHJ0bCA9IG1fcnVuLnJ0bCgpOwogICAgIGJvb2wgaGFzRXh0cmFTcGFjaW5nID0gKG1f
Zm9udC0+bGV0dGVyU3BhY2luZygpIHx8IG1fZm9udC0+d29yZFNwYWNpbmcoKSB8fCBtX2V4cGFu
c2lvbikgJiYgIW1fcnVuLnNwYWNpbmdEaXNhYmxlZCgpOwogCi0gICAgZmxvYXQgd2lkdGhTaW5j
ZUxhc3RSb3VuZGluZyA9IG1fcnVuV2lkdGhTb0ZhcjsKLSAgICBtX3J1bldpZHRoU29GYXIgPSBm
bG9vcmYobV9ydW5XaWR0aFNvRmFyKTsKLSAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nIC09IG1f
cnVuV2lkdGhTb0ZhcjsKLQotICAgIGZsb2F0IGxhc3RSb3VuZGluZ1dpZHRoID0gbV9maW5hbFJv
dW5kaW5nV2lkdGg7CiAgICAgRmxvYXRSZWN0IGJvdW5kczsKIAogICAgIGNvbnN0IFNpbXBsZUZv
bnREYXRhKiBwcmltYXJ5Rm9udCA9IG1fZm9udC0+cHJpbWFyeUZvbnQoKTsKQEAgLTEzNiw3ICsx
MzAsNyBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9mZnNldCwgCiAgICAgICAg
IGZsb2F0IHdpZHRoOwogICAgICAgICBpZiAoYyA9PSAnXHQnICYmIG1fcnVuLmFsbG93VGFicygp
KSB7CiAgICAgICAgICAgICBmbG9hdCB0YWJXaWR0aCA9IG1fZm9udC0+dGFiV2lkdGgoKmZvbnRE
YXRhKTsKLSAgICAgICAgICAgIHdpZHRoID0gdGFiV2lkdGggLSBmbW9kZihtX3J1bi54UG9zKCkg
KyBtX3J1bldpZHRoU29GYXIgKyB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nLCB0YWJXaWR0aCk7Cisg
ICAgICAgICAgICB3aWR0aCA9IHRhYldpZHRoIC0gZm1vZGYobV9ydW4ueFBvcygpICsgbV9ydW5X
aWR0aFNvRmFyLCB0YWJXaWR0aCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICB3aWR0
aCA9IGZvbnREYXRhLT53aWR0aEZvckdseXBoKGdseXBoKTsKIApAQCAtMTQ0LDEzICsxMzgsNiBA
QCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9mZnNldCwgCiAgICAgICAgICAgICAv
LyBTVkcgdXNlcyBob3Jpem9udGFsR2x5cGhTdHJldGNoKCksIHdoZW4gdGV4dExlbmd0aCBpcyB1
c2VkIHRvIHN0cmV0Y2gvc3F1ZWV6ZSB0ZXh0LgogICAgICAgICAgICAgd2lkdGggKj0gbV9ydW4u
aG9yaXpvbnRhbEdseXBoU3RyZXRjaCgpOwogI2VuZGlmCi0KLSAgICAgICAgICAgIC8vIFdlIHNw
ZWNpYWwgY2FzZSBzcGFjZXMgaW4gdHdvIHdheXMgd2hlbiBhcHBseWluZyB3b3JkIHJvdW5kaW5n
LgotICAgICAgICAgICAgLy8gRmlyc3QsIHdlIHJvdW5kIHNwYWNlcyB0byBhbiBhZGp1c3RlZCB3
aWR0aCBpbiBhbGwgZm9udHMuCi0gICAgICAgICAgICAvLyBTZWNvbmQsIGluIGZpeGVkLXBpdGNo
IGZvbnRzIHdlIGVuc3VyZSB0aGF0IGFsbCBjaGFyYWN0ZXJzIHRoYXQKLSAgICAgICAgICAgIC8v
IG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgc3BhY2UgY2hhcmFjdGVyIGhhdmUgdGhlIHNhbWUgd2lk
dGggYXMgdGhlIHNwYWNlIGNoYXJhY3Rlci4KLSAgICAgICAgICAgIGlmICh3aWR0aCA9PSBmb250
RGF0YS0+c3BhY2VXaWR0aCgpICYmIChmb250RGF0YS0+cGl0Y2goKSA9PSBGaXhlZFBpdGNoIHx8
IGdseXBoID09IGZvbnREYXRhLT5zcGFjZUdseXBoKCkpICYmIG1fcnVuLmFwcGx5V29yZFJvdW5k
aW5nKCkpCi0gICAgICAgICAgICAgICAgd2lkdGggPSBmb250RGF0YS0+YWRqdXN0ZWRTcGFjZVdp
ZHRoKCk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoZm9udERhdGEgIT0gbGFzdEZvbnREYXRh
ICYmIHdpZHRoKSB7CkBAIC0xODMsMTQgKzE3MCwxNCBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFk
dmFuY2UoaW50IG9mZnNldCwgCiAgICAgICAgICAgICAgICAgICAgIGlmICghdHJlYXRBc1NwYWNl
ICYmICFtX2lzQWZ0ZXJFeHBhbnNpb24pIHsKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRh
a2UgdGhlIGV4cGFuc2lvbiBvcHBvcnR1bml0eSBiZWZvcmUgdGhpcyBpZGVvZ3JhcGguCiAgICAg
ICAgICAgICAgICAgICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVu
aXR5OwotICAgICAgICAgICAgICAgICAgICAgICAgaW50IGV4cGFuc2lvbiA9IHJvdW5kZihwcmV2
aW91c0V4cGFuc2lvbikgLSByb3VuZGYobV9leHBhbnNpb24pOworICAgICAgICAgICAgICAgICAg
ICAgICAgZmxvYXQgZXhwYW5zaW9uID0gcHJldmlvdXNFeHBhbnNpb24gLSBtX2V4cGFuc2lvbjsK
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBleHBhbnNpb247CiAg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoZ2x5cGhCdWZmZXIpCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmV4cGFuZExhc3RBZHZhbmNlKGV4cGFuc2lvbik7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0V4cGFuc2lvbiA9IG1fZXhwYW5zaW9uOwog
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIG1fZXhwYW5zaW9uIC09
IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7Ci0gICAgICAgICAgICAgICAgICAgIHdpZHRoICs9
IHJvdW5kZihwcmV2aW91c0V4cGFuc2lvbikgLSByb3VuZGYobV9leHBhbnNpb24pOworICAgICAg
ICAgICAgICAgICAgICB3aWR0aCArPSBwcmV2aW91c0V4cGFuc2lvbiAtIG1fZXhwYW5zaW9uOwog
ICAgICAgICAgICAgICAgICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwogICAgICAgICAg
ICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSBm
YWxzZTsKQEAgLTIxNiw0MyArMjAzLDEwIEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZShp
bnQgb2Zmc2V0LCAKICAgICAgICAgY3AgKz0gY2x1c3Rlckxlbmd0aDsKICAgICAgICAgY3VycmVu
dENoYXJhY3RlciArPSBjbHVzdGVyTGVuZ3RoOwogCi0gICAgICAgIC8vIEFjY291bnQgZm9yIGZs
b2F0L2ludGVnZXIgaW1wZWRhbmNlIG1pc21hdGNoIGJldHdlZW4gQ0cgYW5kIEtIVE1MLiAiV29y
ZHMiIChjaGFyYWN0ZXJzIAotICAgICAgICAvLyBmb2xsb3dlZCBieSBhIGNoYXJhY3RlciBkZWZp
bmVkIGJ5IGlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKCkpIGFyZSBhbHdheXMgYW4gaW50ZWdlciB3
aWR0aC4KLSAgICAgICAgLy8gV2UgYWRqdXN0IHRoZSB3aWR0aCBvZiB0aGUgbGFzdCBjaGFyYWN0
ZXIgb2YgYSAid29yZCIgdG8gZW5zdXJlIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgIC8vIElm
IHdlIG1vdmUgS0hUTUwgdG8gZmxvYXRzIHdlIGNhbiByZW1vdmUgdGhpcyAoYW5kIHJlbGF0ZWQp
IGhhY2tzLgotCi0gICAgICAgIGZsb2F0IG9sZFdpZHRoID0gd2lkdGg7Ci0KLSAgICAgICAgLy8g
Rm9yY2UgY2hhcmFjdGVycyB0aGF0IGFyZSB1c2VkIHRvIGRldGVybWluZSB3b3JkIGJvdW5kYXJp
ZXMgZm9yIHRoZSByb3VuZGluZyBoYWNrCi0gICAgICAgIC8vIHRvIGJlIGludGVnZXIgd2lkdGgs
IHNvIGZvbGxvd2luZyB3b3JkcyB3aWxsIHN0YXJ0IG9uIGFuIGludGVnZXIgYm91bmRhcnkuCi0g
ICAgICAgIGlmIChtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpICYmIEZvbnQ6OmlzUm91bmRpbmdI
YWNrQ2hhcmFjdGVyKGMpKSB7Ci0gICAgICAgICAgICB3aWR0aCA9IGNlaWxmKHdpZHRoKTsKLQot
ICAgICAgICAgICAgLy8gU2luY2Ugd2lkdGhTaW5jZUxhc3RSb3VuZGluZyBjYW4gbG9zZSBwcmVj
aXNpb24gaWYgd2UgaW5jbHVkZSBtZWFzdXJlbWVudHMgZm9yCi0gICAgICAgICAgICAvLyBwcmVj
ZWRpbmcgd2hpdGVzcGFjZSwgd2UgYnlwYXNzIGl0IGhlcmUuCi0gICAgICAgICAgICBtX3J1bldp
ZHRoU29GYXIgKz0gd2lkdGg7Ci0KLSAgICAgICAgICAgIC8vIFNpbmNlIHRoaXMgaXMgYSByb3Vu
ZGluZyBoYWNrIGNoYXJhY3Rlciwgd2Ugc2hvdWxkIGhhdmUgcmVzZXQgdGhpcyBzdW0gb24gdGhl
IHByZXZpb3VzCi0gICAgICAgICAgICAvLyBpdGVyYXRpb24uCi0gICAgICAgICAgICBBU1NFUlQo
IXdpZHRoU2luY2VMYXN0Um91bmRpbmcpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
Ly8gQ2hlY2sgdG8gc2VlIGlmIHRoZSBuZXh0IGNoYXJhY3RlciBpcyBhICJyb3VuZGluZyBoYWNr
IGNoYXJhY3RlciIsIGlmIHNvLCBhZGp1c3QKLSAgICAgICAgICAgIC8vIHdpZHRoIHNvIHRoYXQg
dGhlIHRvdGFsIHJ1biB3aWR0aCB3aWxsIGJlIG9uIGFuIGludGVnZXIgYm91bmRhcnkuCi0gICAg
ICAgICAgICBpZiAoKG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkgJiYgY3VycmVudENoYXJhY3Rl
ciA8IG1fcnVuLmxlbmd0aCgpICYmIEZvbnQ6OmlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKCpjcCkp
Ci0gICAgICAgICAgICAgICAgICAgIHx8IChtX3J1bi5hcHBseVJ1blJvdW5kaW5nKCkgJiYgY3Vy
cmVudENoYXJhY3RlciA+PSBtX2VuZCkpIHsKLSAgICAgICAgICAgICAgICBmbG9hdCB0b3RhbFdp
ZHRoID0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyArIHdpZHRoOwotICAgICAgICAgICAgICAgIHdp
ZHRoU2luY2VMYXN0Um91bmRpbmcgPSBjZWlsZih0b3RhbFdpZHRoKTsKLSAgICAgICAgICAgICAg
ICB3aWR0aCArPSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nIC0gdG90YWxXaWR0aDsKLSAgICAgICAg
ICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZzsKLSAgICAg
ICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gMDsKLSAgICAgICAgICAgIH0gZWxz
ZQotICAgICAgICAgICAgICAgIHdpZHRoU2luY2VMYXN0Um91bmRpbmcgKz0gd2lkdGg7Ci0gICAg
ICAgIH0KKyAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoOwogCiAgICAgICAgIGlmIChn
bHlwaEJ1ZmZlcikKLSAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQoZ2x5cGgsIGZvbnREYXRh
LCAocnRsID8gb2xkV2lkdGggKyBsYXN0Um91bmRpbmdXaWR0aCA6IHdpZHRoKSk7Ci0KLSAgICAg
ICAgbGFzdFJvdW5kaW5nV2lkdGggPSB3aWR0aCAtIG9sZFdpZHRoOworICAgICAgICAgICAgZ2x5
cGhCdWZmZXItPmFkZChnbHlwaCwgZm9udERhdGEsIHdpZHRoKTsKIAogICAgICAgICBpZiAobV9h
Y2NvdW50Rm9yR2x5cGhCb3VuZHMpIHsKICAgICAgICAgICAgIG1fbWF4R2x5cGhCb3VuZGluZ0Jv
eFkgPSBtYXgobV9tYXhHbHlwaEJvdW5kaW5nQm94WSwgYm91bmRzLm1heFkoKSk7CkBAIC0yNjIs
OCArMjE2LDYgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQsIAogICAg
IH0KIAogICAgIG1fY3VycmVudENoYXJhY3RlciA9IGN1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgbV9y
dW5XaWR0aFNvRmFyICs9IHdpZHRoU2luY2VMYXN0Um91bmRpbmc7Ci0gICAgbV9maW5hbFJvdW5k
aW5nV2lkdGggPSBsYXN0Um91bmRpbmdXaWR0aDsKIH0KIAogYm9vbCBXaWR0aEl0ZXJhdG9yOjph
ZHZhbmNlT25lQ2hhcmFjdGVyKGZsb2F0JiB3aWR0aCwgR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVy
KQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3ND
b250ZXh0Q2Fpcm8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcAkocmV2aXNpb24gNzgzNTApCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRD
YWlyby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxNCw3ICs3MTQsNyBAQCB2b2lkIEdyYXBoaWNz
Q29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvCiAjaW5jbHVkZSAiRHJhd0Vycm9yVW5kZXJsaW5l
LmgiCiAjZW5kaWYKIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNr
aW5nKGNvbnN0IEludFBvaW50JiBvcmlnaW4sIGludCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0
eWxlIHN0eWxlKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5n
KGNvbnN0IEludFBvaW50JiBvcmlnaW4sIGZsb2F0IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5
bGUgc3R5bGUpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJu
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250
ZXh0Q0cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTExMzAsNyArMTEzMCw3IEBAIEZsb2F0UmVjdCBHcmFwaGljc0NvbnRleHQ6OnJv
dW5kVG9EZXZpY2UKICAgICByZXR1cm4gRmxvYXRSZWN0KHJvdW5kZWRPcmlnaW4sIHJvdW5kZWRM
b3dlclJpZ2h0IC0gcm91bmRlZE9yaWdpbik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0Ojpk
cmF3TGluZUZvclRleHQoY29uc3QgSW50UG9pbnQmIHBvaW50LCBpbnQgd2lkdGgsIGJvb2wgcHJp
bnRpbmcpCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEZsb2F0
UG9pbnQmIHBvaW50LCBmbG9hdCB3aWR0aCwgYm9vbCBwcmludGluZykKIHsKICAgICBpZiAocGFp
bnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250
cm9sbGVyLmNwcAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDIsMjAgKzQyLDYgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdGF0aWMgaW5saW5lIENHRmxvYXQgcm91bmRDR0Zsb2F0KENHRmxvYXQgZikKLXsKLSAg
ICBpZiAoc2l6ZW9mKENHRmxvYXQpID09IHNpemVvZihmbG9hdCkpCi0gICAgICAgIHJldHVybiBy
b3VuZGYoc3RhdGljX2Nhc3Q8ZmxvYXQ+KGYpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q0dG
bG9hdD4ocm91bmQoZikpOwotfQotCi1zdGF0aWMgaW5saW5lIENHRmxvYXQgY2VpbENHRmxvYXQo
Q0dGbG9hdCBmKQotewotICAgIGlmIChzaXplb2YoQ0dGbG9hdCkgPT0gc2l6ZW9mKGZsb2F0KSkK
LSAgICAgICAgcmV0dXJuIGNlaWxmKHN0YXRpY19jYXN0PGZsb2F0PihmKSk7Ci0gICAgcmV0dXJu
IHN0YXRpY19jYXN0PENHRmxvYXQ+KGNlaWwoZikpOwotfQotCiBDb21wbGV4VGV4dENvbnRyb2xs
ZXI6OkNvbXBsZXhUZXh0Q29udHJvbGxlcihjb25zdCBGb250KiBmb250LCBjb25zdCBUZXh0UnVu
JiBydW4sIGJvb2wgbWF5VXNlTmF0dXJhbFdyaXRpbmdEaXJlY3Rpb24sIEhhc2hTZXQ8Y29uc3Qg
U2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgYm9vbCBmb3JUZXh0RW1waGFzaXMpCiAg
ICAgOiBtX2ZvbnQoKmZvbnQpCiAgICAgLCBtX3J1bihydW4pCkBAIC02OSw3ICs1NSw2IEBAIENv
bXBsZXhUZXh0Q29udHJvbGxlcjo6Q29tcGxleFRleHRDb250cm8KICAgICAsIG1fY3VycmVudFJ1
bigwKQogICAgICwgbV9nbHlwaEluQ3VycmVudFJ1bigwKQogICAgICwgbV9jaGFyYWN0ZXJJbkN1
cnJlbnRHbHlwaCgwKQotICAgICwgbV9maW5hbFJvdW5kaW5nV2lkdGgoMCkKICAgICAsIG1fZXhw
YW5zaW9uKHJ1bi5leHBhbnNpb24oKSkKICAgICAsIG1fYWZ0ZXJFeHBhbnNpb24odHJ1ZSkKICAg
ICAsIG1fZmFsbGJhY2tGb250cyhmYWxsYmFja0ZvbnRzKQpAQCAtNzcsNyArNjIsNiBAQCBDb21w
bGV4VGV4dENvbnRyb2xsZXI6OkNvbXBsZXhUZXh0Q29udHJvCiAgICAgLCBtX21heEdseXBoQm91
bmRpbmdCb3hYKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWluKCkpCiAgICAgLCBtX21pbkdseXBo
Qm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWF4KCkpCiAgICAgLCBtX21heEds
eXBoQm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWluKCkpCi0gICAgLCBtX2xh
c3RSb3VuZGluZ0dseXBoKDApCiB7CiAgICAgaWYgKCFtX2V4cGFuc2lvbikKICAgICAgICAgbV9l
eHBhbnNpb25QZXJPcHBvcnR1bml0eSA9IDA7CkBAIC00MTMsMTMgKzM5NywxMSBAQCB2b2lkIENv
bXBsZXhUZXh0Q29udHJvbGxlcjo6YWR2YW5jZSh1bnNpCiAgICAgICAgIG1fY3VycmVudFJ1bisr
OwogICAgICAgICBtX2dseXBoSW5DdXJyZW50UnVuID0gMDsKICAgICB9Ci0gICAgaWYgKCFsdHIg
JiYgbV9udW1HbHlwaHNTb0ZhciA9PSBtX2FkanVzdGVkQWR2YW5jZXMuc2l6ZSgpKQotICAgICAg
ICBtX3J1bldpZHRoU29GYXIgKz0gbV9maW5hbFJvdW5kaW5nV2lkdGg7CiB9CiAKIHZvaWQgQ29t
cGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygpCiB7Ci0gICAgQ0dG
bG9hdCB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gMDsKKyAgICBDR0Zsb2F0IHdpZHRoU2luY2VM
YXN0Q29tbWl0ID0gMDsKICAgICBzaXplX3QgcnVuQ291bnQgPSBtX2NvbXBsZXhUZXh0UnVucy5z
aXplKCk7CiAgICAgYm9vbCBoYXNFeHRyYVNwYWNpbmcgPSAobV9mb250LmxldHRlclNwYWNpbmco
KSB8fCBtX2ZvbnQud29yZFNwYWNpbmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNp
bmdEaXNhYmxlZCgpOwogICAgIGZvciAoc2l6ZV90IHIgPSAwOyByIDwgcnVuQ291bnQ7ICsrcikg
ewpAQCAtNDMyLDggKzQxNCw2IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RH
bHlwaHMKIAogICAgICAgICBib29sIGxhc3RSdW4gPSByICsgMSA9PSBydW5Db3VudDsKICAgICAg
ICAgY29uc3QgVUNoYXIqIGNwID0gY29tcGxleFRleHRSdW4uY2hhcmFjdGVycygpOwotICAgICAg
ICBDR0Zsb2F0IHJvdW5kZWRTcGFjZVdpZHRoID0gcm91bmRDR0Zsb2F0KGZvbnREYXRhLT5zcGFj
ZVdpZHRoKCkpOwotICAgICAgICBib29sIHJvdW5kc0FkdmFuY2VzID0gIW1fZm9udC5pc1ByaW50
ZXJGb250KCkgJiYgZm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLnJvdW5kc0dseXBoQWR2YW5jZXMo
KTsKICAgICAgICAgQ0dQb2ludCBnbHlwaE9yaWdpbiA9IENHUG9pbnRaZXJvOwogICAgICAgICBD
RkluZGV4IGxhc3RDaGFyYWN0ZXJJbmRleCA9IG1fcnVuLmx0cigpID8gbnVtZXJpY19saW1pdHM8
Q0ZJbmRleD46Om1pbigpIDogbnVtZXJpY19saW1pdHM8Q0ZJbmRleD46Om1heCgpOwogICAgICAg
ICBib29sIGlzTW9ub3RvbmljID0gdHJ1ZTsKQEAgLTQ2MywyNSArNDQzLDE0IEBAIHZvaWQgQ29t
cGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHMKIAogICAgICAgICAgICAgaWYgKGNoID09
ICdcdCcgJiYgbV9ydW4uYWxsb3dUYWJzKCkpIHsKICAgICAgICAgICAgICAgICBmbG9hdCB0YWJX
aWR0aCA9IG1fZm9udC50YWJXaWR0aCgqZm9udERhdGEpOwotICAgICAgICAgICAgICAgIGFkdmFu
Y2Uud2lkdGggPSB0YWJXaWR0aCAtIGZtb2RmKG1fcnVuLnhQb3MoKSArIG1fdG90YWxXaWR0aCAr
IHdpZHRoU2luY2VMYXN0Um91bmRpbmcsIHRhYldpZHRoKTsKKyAgICAgICAgICAgICAgICBhZHZh
bmNlLndpZHRoID0gdGFiV2lkdGggLSBmbW9kZihtX3J1bi54UG9zKCkgKyBtX3RvdGFsV2lkdGgg
KyB3aWR0aFNpbmNlTGFzdENvbW1pdCwgdGFiV2lkdGgpOwogICAgICAgICAgICAgfSBlbHNlIGlm
IChjaCA9PSB6ZXJvV2lkdGhTcGFjZSB8fCAoRm9udDo6dHJlYXRBc1plcm9XaWR0aFNwYWNlKGNo
KSAmJiAhdHJlYXRBc1NwYWNlKSkgewogICAgICAgICAgICAgICAgIGFkdmFuY2Uud2lkdGggPSAw
OwogICAgICAgICAgICAgICAgIGdseXBoID0gZm9udERhdGEtPnNwYWNlR2x5cGgoKTsKICAgICAg
ICAgICAgIH0KIAotICAgICAgICAgICAgZmxvYXQgcm91bmRlZEFkdmFuY2VXaWR0aCA9IHJvdW5k
ZihhZHZhbmNlLndpZHRoKTsKLSAgICAgICAgICAgIGlmIChyb3VuZHNBZHZhbmNlcykKLSAgICAg
ICAgICAgICAgICBhZHZhbmNlLndpZHRoID0gcm91bmRlZEFkdmFuY2VXaWR0aDsKLQogICAgICAg
ICAgICAgYWR2YW5jZS53aWR0aCArPSBmb250RGF0YS0+c3ludGhldGljQm9sZE9mZnNldCgpOwog
Ci0gICAgICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlzIHdoZW4g
YXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAgICAgIC8vIEZpcnN0LCB3ZSByb3VuZCBz
cGFjZXMgdG8gYW4gYWRqdXN0ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAgICAgLy8g
U2Vjb25kLCBpbiBmaXhlZC1waXRjaCBmb250cyB3ZSBlbnN1cmUgdGhhdCBhbGwgZ2x5cGhzIHRo
YXQKLSAgICAgICAgICAgIC8vIG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgc3BhY2UgZ2x5cGggaGF2
ZSB0aGUgc2FtZSB3aWR0aCBhcyB0aGUgc3BhY2UgZ2x5cGguCi0gICAgICAgICAgICBpZiAocm91
bmRlZEFkdmFuY2VXaWR0aCA9PSByb3VuZGVkU3BhY2VXaWR0aCAmJiAoZm9udERhdGEtPnBpdGNo
KCkgPT0gRml4ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgpKSAmJiBt
X3J1bi5hcHBseVdvcmRSb3VuZGluZygpKQotICAgICAgICAgICAgICAgIGFkdmFuY2Uud2lkdGgg
PSBmb250RGF0YS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCk7Ci0KICAgICAgICAgICAgIGlmIChoYXNF
eHRyYVNwYWNpbmcpIHsKICAgICAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBhIGdseXBoIHdpdGgg
YW4gYWR2YW5jZSwgZ28gYWhlYWQgYW5kIGFkZCBpbiBsZXR0ZXItc3BhY2luZy4KICAgICAgICAg
ICAgICAgICAvLyBUaGF0IHdheSB3ZSB3ZWVkIG91dCB6ZXJvIHdpZHRoIGx1cmtlcnMuICBUaGlz
IGJlaGF2aW9yIG1hdGNoZXMgdGhlIGZhc3QgdGV4dCBjb2RlIHBhdGguCkBAIC00OTYsMTMgKzQ2
NSwxMyBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoIXRyZWF0QXNTcGFjZSAmJiAhbV9hZnRlckV4cGFuc2lvbikg
ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRha2UgdGhlIGV4cGFuc2lvbiBvcHBv
cnR1bml0eSBiZWZvcmUgdGhpcyBpZGVvZ3JhcGguCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbV9leHBhbnNpb24gLT0gbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZXhwYW5zaW9uID0gcm91bmRmKHByZXZpb3VzRXhwYW5zaW9u
KSAtIHJvdW5kZihtX2V4cGFuc2lvbik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxv
YXQgZXhwYW5zaW9uID0gcHJldmlvdXNFeHBhbnNpb24gLSBtX2V4cGFuc2lvbjsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtX3RvdGFsV2lkdGggKz0gZXhwYW5zaW9uOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG1fYWRqdXN0ZWRBZHZhbmNlcy5sYXN0KCkud2lkdGggKz0gZXhw
YW5zaW9uOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzRXhwYW5zaW9uID0g
bV9leHBhbnNpb247CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
ICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAg
ICAgICAgICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSByb3VuZGYocHJldmlvdXNFeHBhbnNp
b24pIC0gcm91bmRmKG1fZXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGFkdmFu
Y2Uud2lkdGggKz0gcHJldmlvdXNFeHBhbnNpb24gLSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAg
ICAgICAgICAgICAgIG1fYWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwogICAgICAgICAgICAgICAgICAg
ICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgIG1fYWZ0ZXJFeHBhbnNpb24gPSBmYWxz
ZTsKQEAgLTUxNCwzMyArNDgzLDcgQEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVz
dEdseXBocwogICAgICAgICAgICAgICAgICAgICBtX2FmdGVyRXhwYW5zaW9uID0gZmFsc2U7CiAg
ICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIC8vIERlYWwgd2l0aCB0aGUgZmxvYXQvaW50ZWdl
ciBpbXBlZGFuY2UgbWlzbWF0Y2ggYmV0d2VlbiBDRyBhbmQgV2ViQ29yZS4gIldvcmRzIiAoY2hh
cmFjdGVycyAKLSAgICAgICAgICAgIC8vIGZvbGxvd2VkIGJ5IGEgY2hhcmFjdGVyIGRlZmluZWQg
YnkgaXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoKSkgYXJlIGFsd2F5cyBhbiBpbnRlZ2VyIHdpZHRo
LgotICAgICAgICAgICAgLy8gV2UgYWRqdXN0IHRoZSB3aWR0aCBvZiB0aGUgbGFzdCBjaGFyYWN0
ZXIgb2YgYSAid29yZCIgdG8gZW5zdXJlIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgICAgICAv
LyBGb3JjZSBjaGFyYWN0ZXJzIHRoYXQgYXJlIHVzZWQgdG8gZGV0ZXJtaW5lIHdvcmQgYm91bmRh
cmllcyBmb3IgdGhlIHJvdW5kaW5nIGhhY2sKLSAgICAgICAgICAgIC8vIHRvIGJlIGludGVnZXIg
d2lkdGgsIHNvIHRoZSBmb2xsb3dpbmcgd29yZHMgd2lsbCBzdGFydCBvbiBhbiBpbnRlZ2VyIGJv
dW5kYXJ5LgotICAgICAgICAgICAgaWYgKG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkgJiYgRm9u
dDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoY2gpKQotICAgICAgICAgICAgICAgIGFkdmFuY2Uu
d2lkdGggPSBjZWlsQ0dGbG9hdChhZHZhbmNlLndpZHRoKTsKLQotICAgICAgICAgICAgLy8gQ2hl
Y2sgdG8gc2VlIGlmIHRoZSBuZXh0IGNoYXJhY3RlciBpcyBhICJyb3VuZGluZyBoYWNrIGNoYXJh
Y3RlciIsIGlmIHNvLCBhZGp1c3QgdGhlCi0gICAgICAgICAgICAvLyB3aWR0aCBzbyB0aGF0IHRo
ZSB0b3RhbCBydW4gd2lkdGggd2lsbCBiZSBvbiBhbiBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAg
ICAgICAgaWYgKChtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpICYmICFsYXN0R2x5cGggJiYgRm9u
dDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIobmV4dENoKSkgfHwgKG1fcnVuLmFwcGx5UnVuUm91
bmRpbmcoKSAmJiBsYXN0R2x5cGgpKSB7Ci0gICAgICAgICAgICAgICAgQ0dGbG9hdCB0b3RhbFdp
ZHRoID0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyArIGFkdmFuY2Uud2lkdGg7Ci0gICAgICAgICAg
ICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9IGNlaWxDR0Zsb2F0KHRvdGFsV2lkdGgpOwot
ICAgICAgICAgICAgICAgIENHRmxvYXQgZXh0cmFXaWR0aCA9IHdpZHRoU2luY2VMYXN0Um91bmRp
bmcgLSB0b3RhbFdpZHRoOwotICAgICAgICAgICAgICAgIGlmIChtX3J1bi5sdHIoKSkKLSAgICAg
ICAgICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSBleHRyYVdpZHRoOwotICAgICAgICAgICAg
ICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZiAobV9sYXN0Um91bmRpbmdHbHlwaCkK
LSAgICAgICAgICAgICAgICAgICAgICAgIG1fYWRqdXN0ZWRBZHZhbmNlc1ttX2xhc3RSb3VuZGlu
Z0dseXBoIC0gMV0ud2lkdGggKz0gZXh0cmFXaWR0aDsKLSAgICAgICAgICAgICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgICAgICAgICAgICAgbV9maW5hbFJvdW5kaW5nV2lkdGggPSBleHRyYVdp
ZHRoOwotICAgICAgICAgICAgICAgICAgICBtX2xhc3RSb3VuZGluZ0dseXBoID0gbV9hZGp1c3Rl
ZEFkdmFuY2VzLnNpemUoKSArIDE7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IG1fdG90YWxXaWR0aCArPSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nOwotICAgICAgICAgICAgICAg
IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSAwOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyArPSBhZHZhbmNlLndpZHRoOworICAgICAg
ICAgICAgd2lkdGhTaW5jZUxhc3RDb21taXQgKz0gYWR2YW5jZS53aWR0aDsKIAogICAgICAgICAg
ICAgLy8gRklYTUU6IENvbWJpbmluZyBtYXJrcyBzaG91bGQgcmVjZWl2ZSBhIHRleHQgZW1waGFz
aXMgbWFyayBpZiB0aGV5IGFyZSBjb21iaW5lIHdpdGggYSBzcGFjZS4KICAgICAgICAgICAgIGlm
IChtX2ZvclRleHRFbXBoYXNpcyAmJiAoIUZvbnQ6OmNhblJlY2VpdmVUZXh0RW1waGFzaXMoY2gp
IHx8IChVX0dFVF9HQ19NQVNLKGNoKSAmIFVfR0NfTV9NQVNLKSkpCkBAIC01NjQsNyArNTA3LDcg
QEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBocwogICAgICAgICBpZiAo
IWlzTW9ub3RvbmljKQogICAgICAgICAgICAgY29tcGxleFRleHRSdW4uc2V0SXNOb25Nb25vdG9u
aWMoKTsKICAgICB9Ci0gICAgbV90b3RhbFdpZHRoICs9IHdpZHRoU2luY2VMYXN0Um91bmRpbmc7
CisgICAgbV90b3RhbFdpZHRoICs9IHdpZHRoU2luY2VMYXN0Q29tbWl0OwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvQ29tcGxleFRleHRDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5oCShyZXZpc2lvbiA3
ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4
dENvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsOSArNjAsNiBAQCBwdWJsaWM6CiAK
ICAgICBmbG9hdCB0b3RhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV90b3RhbFdpZHRoOyB9CiAK
LSAgICAvLyBFeHRyYSB3aWR0aCB0byB0aGUgbGVmdCBvZiB0aGUgbGVmdG1vc3QgZ2x5cGguCi0g
ICAgZmxvYXQgZmluYWxSb3VuZGluZ1dpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9maW5hbFJvdW5k
aW5nV2lkdGg7IH0KLQogICAgIGZsb2F0IG1pbkdseXBoQm91bmRpbmdCb3hYKCkgY29uc3QgeyBy
ZXR1cm4gbV9taW5HbHlwaEJvdW5kaW5nQm94WDsgfQogICAgIGZsb2F0IG1heEdseXBoQm91bmRp
bmdCb3hYKCkgY29uc3QgeyByZXR1cm4gbV9tYXhHbHlwaEJvdW5kaW5nQm94WDsgfQogICAgIGZs
b2F0IG1pbkdseXBoQm91bmRpbmdCb3hZKCkgY29uc3QgeyByZXR1cm4gbV9taW5HbHlwaEJvdW5k
aW5nQm94WTsgfQpAQCAtMTc2LDcgKzE3Myw2IEBAIHByaXZhdGU6CiAgICAgc2l6ZV90IG1fY3Vy
cmVudFJ1bjsKICAgICB1bnNpZ25lZCBtX2dseXBoSW5DdXJyZW50UnVuOwogICAgIHVuc2lnbmVk
IG1fY2hhcmFjdGVySW5DdXJyZW50R2x5cGg7Ci0gICAgZmxvYXQgbV9maW5hbFJvdW5kaW5nV2lk
dGg7CiAgICAgZmxvYXQgbV9leHBhbnNpb247CiAgICAgZmxvYXQgbV9leHBhbnNpb25QZXJPcHBv
cnR1bml0eTsKICAgICBib29sIG1fYWZ0ZXJFeHBhbnNpb247CkBAIC0xODcsOCArMTgzLDYgQEAg
cHJpdmF0ZToKICAgICBmbG9hdCBtX21heEdseXBoQm91bmRpbmdCb3hYOwogICAgIGZsb2F0IG1f
bWluR2x5cGhCb3VuZGluZ0JveFk7CiAgICAgZmxvYXQgbV9tYXhHbHlwaEJvdW5kaW5nQm94WTsK
LSAgICAKLSAgICB1bnNpZ25lZCBtX2xhc3RSb3VuZGluZ0dseXBoOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L0ZvbnRDb21wbGV4VGV4dE1hYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5jcHAJKHJldmlzaW9uIDc4MzUw
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4VGV4
dE1hYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxLDcgKzcxLDcgQEAgZmxvYXQgRm9udDo6Z2V0
R2x5cGhzQW5kQWR2YW5jZXNGb3JDb21wbAogICAgIGZsb2F0IGFmdGVyV2lkdGggPSBjb250cm9s
bGVyLnJ1bldpZHRoU29GYXIoKTsKIAogICAgIGlmIChydW4ucnRsKCkpIHsKLSAgICAgICAgaW5p
dGlhbEFkdmFuY2UgPSBjb250cm9sbGVyLnRvdGFsV2lkdGgoKSArIGNvbnRyb2xsZXIuZmluYWxS
b3VuZGluZ1dpZHRoKCkgLSBhZnRlcldpZHRoOworICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGNv
bnRyb2xsZXIudG90YWxXaWR0aCgpIC0gYWZ0ZXJXaWR0aDsKICAgICAgICAgZm9yIChpbnQgaSA9
IDAsIGVuZCA9IGdseXBoQnVmZmVyLnNpemUoKSAtIDE7IGkgPCBnbHlwaEJ1ZmZlci5zaXplKCkg
LyAyOyArK2ksIC0tZW5kKQogICAgICAgICAgICAgZ2x5cGhCdWZmZXIuc3dhcChpLCBlbmQpOwog
ICAgIH0gZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dy
YXBoaWNzQ29udGV4dE1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0TWFjLm1tCShyZXZpc2lvbiA3ODM1MCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHRNYWMu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTExMiwxNCArMTEyLDE0IEBAIHN0YXRpYyBOU0NvbG9yKiBj
cmVhdGVQYXR0ZXJuQ29sb3IoTlNTdHIKIH0KIAogLy8gV2ViS2l0IG9uIE1hYyBpcyBhIHN0YW5k
YXJkIHBsYXRmb3JtIGNvbXBvbmVudCwgc28gaXQgbXVzdCB1c2UgdGhlIHN0YW5kYXJkIHBsYXRm
b3JtIGFydHdvcmsgZm9yIHVuZGVybGluZS4KLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGlu
ZUZvclRleHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYgcG9pbnQsIGludCB3aWR0aCwgVGV4dENo
ZWNraW5nTGluZVN0eWxlIHN0eWxlKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9y
VGV4dENoZWNraW5nKGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBmbG9hdCB3aWR0aCwgVGV4dENo
ZWNraW5nTGluZVN0eWxlIHN0eWxlKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAg
ICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgLy8gVGhlc2UgYXJlIHRoZSBzYW1lIGZvciBt
aXNzcGVsbGluZyBvciBiYWQgZ3JhbW1hci4KICAgICBpbnQgcGF0dGVybkhlaWdodCA9IGNNaXNz
cGVsbGluZ0xpbmVUaGlja25lc3M7Ci0gICAgaW50IHBhdHRlcm5XaWR0aCA9IGNNaXNzcGVsbGlu
Z0xpbmVQYXR0ZXJuV2lkdGg7CisgICAgZmxvYXQgcGF0dGVybldpZHRoID0gY01pc3NwZWxsaW5n
TGluZVBhdHRlcm5XaWR0aDsKIAogICAgIGJvb2wgdXNpbmdEb3Q7CiAgICAgTlNDb2xvciAqcGF0
dGVybkNvbG9yOwpAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3
TGluZUZvclRleHRDaGUKICAgICAvLyBzcGFjZSBiZXR3ZWVuIGFkamFjZW50IG1pc3NwZWxsZWQg
d29yZHMgd2FzIHVuZGVybGluZWQuCiAgICAgaWYgKHVzaW5nRG90KSB7CiAgICAgICAgIC8vIGFs
bG93IHNsaWdodGx5IG1vcmUgY29uc2lkZXJpbmcgdGhhdCB0aGUgcGF0dGVybiBlbmRzIHdpdGgg
YSB0cmFuc3BhcmVudCBwaXhlbAotICAgICAgICBpbnQgd2lkdGhNb2QgPSB3aWR0aCAlIHBhdHRl
cm5XaWR0aDsKKyAgICAgICAgZmxvYXQgd2lkdGhNb2QgPSBmbW9kZih3aWR0aCwgcGF0dGVybldp
ZHRoKTsKICAgICAgICAgaWYgKHBhdHRlcm5XaWR0aCAtIHdpZHRoTW9kID4gY01pc3NwZWxsaW5n
TGluZVBhdHRlcm5HYXBXaWR0aCkKICAgICAgICAgICAgIHdpZHRoIC09IHdpZHRoTW9kOwogICAg
IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29u
dGV4dFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAJKHJldmlzaW9uIDc4MzUwKQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC04NzUsNyArODc1LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5l
Rm9yVGV4dChjbwogICAgIGRyYXdMaW5lKHN0YXJ0UG9pbnQsIGVuZFBvaW50KTsKIH0KIAotdm9p
ZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEludFBvaW50
JiwgaW50LCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJh
d0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmLCBmbG9hdCwgVGV4dENoZWNraW5n
TGluZVN0eWxlKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVy
bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3ND
b250ZXh0U2tpYS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lhLmNwcAkocmV2aXNpb24gNzgzNTApCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFNraWEu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTUsNyArNTk1LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRl
eHQ6OmRyYXdMaW5lKGNvbnN0IEludAogICAgIHBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKS0+
ZHJhd1BvaW50cyhTa0NhbnZhczo6a0xpbmVzX1BvaW50TW9kZSwgMiwgcHRzLCBwYWludCk7CiB9
CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBJ
bnRQb2ludCYgcHQsIGludCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQordm9p
ZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEludFBvaW50
JiBwdCwgZmxvYXQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSBzdHlsZSkKIHsKICAgICBp
ZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC02NjcsNyArNjY3LDcg
QEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZQogICAgIFNrUmVjdCBy
ZWN0OwogICAgIHJlY3Quc2V0KG9yaWdpblgsCiAgICAgICAgICAgICAgb3JpZ2luWSwKLSAgICAg
ICAgICAgICBvcmlnaW5YICsgU2tJbnRUb1NjYWxhcih3aWR0aCksCisgICAgICAgICAgICAgb3Jp
Z2luWCArIFdlYkNvcmVGbG9hdFRvU2tTY2FsYXIod2lkdGgpLAogICAgICAgICAgICAgIG9yaWdp
blkgKyBTa0ludFRvU2NhbGFyKG1pc3NwZWxsQml0bWFwLT5oZWlnaHQoKSkpOwogICAgIHBsYXRm
b3JtQ29udGV4dCgpLT5jYW52YXMoKS0+ZHJhd1JlY3QocmVjdCwgcGFpbnQpOwogfQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dENHV2lu
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
R3JhcGhpY3NDb250ZXh0Q0dXaW4uY3BwCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRDR1dpbi5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE4NCw3ICsxODQsNyBAQCBzdGF0aWMgY29uc3QgQ29sb3ImIGdyYW1tYXJQ
YXR0ZXJuQ29sb3IoCiAgICAgcmV0dXJuIGdyYW1tYXJDb2xvcjsKIH0KIAotdm9pZCBHcmFwaGlj
c0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEludFBvaW50JiBwb2ludCwg
aW50IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCit2b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmIHBvaW50LCBmbG9h
dCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQogewogICAgIGlmIChwYWludGlu
Z0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9VbmlzY3JpYmVDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vVW5pc2NyaWJlQ29udHJvbGxlci5j
cHAJKHJldmlzaW9uIDc4MzUwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjEsMTggKzI2
MSwxMyBAQCBib29sIFVuaXNjcmliZUNvbnRyb2xsZXI6OnNoYXBlQW5kUGxhY2VJCiAgICAgICAg
IHJldHVybiB0cnVlOwogCiAgICAgLy8gQ29udmVydCBhbGwgY2hhcnMgdGhhdCBzaG91bGQgYmUg
dHJlYXRlZCBhcyBzcGFjZXMgdG8gdXNlIHRoZSBzcGFjZSBnbHlwaC4KLSAgICAvLyBXZSBhbHNv
IGNyZWF0ZSBhIG1hcCB0aGF0IGFsbG93cyB1cyB0byBxdWlja2x5IGdvIGZyb20gc3BhY2UgZ2x5
cGhzIG9yIHJvdW5kaW5nCi0gICAgLy8gaGFjayBnbHlwaHMgYmFjayB0byB0aGVpciBjb3JyZXNw
b25kaW5nIGNoYXJhY3RlcnMuCisgICAgLy8gV2UgYWxzbyBjcmVhdGUgYSBtYXAgdGhhdCBhbGxv
d3MgdXMgdG8gcXVpY2tseSBnbyBmcm9tIHNwYWNlIGdseXBocyBiYWNrIHRvIHRoZWlyIGNvcnJl
c3BvbmRpbmcgY2hhcmFjdGVycy4KICAgICBWZWN0b3I8aW50PiBzcGFjZUNoYXJhY3RlcnMoZ2x5
cGhzLnNpemUoKSk7CiAgICAgc3BhY2VDaGFyYWN0ZXJzLmZpbGwoLTEpOwotICAgIFZlY3Rvcjxp
bnQ+IHJvdW5kaW5nSGFja0NoYXJhY3RlcnMoZ2x5cGhzLnNpemUoKSk7Ci0gICAgcm91bmRpbmdI
YWNrQ2hhcmFjdGVycy5maWxsKC0xKTsKLSAgICBWZWN0b3I8aW50PiByb3VuZGluZ0hhY2tXb3Jk
Qm91bmRhcmllcyhnbHlwaHMuc2l6ZSgpKTsKLSAgICByb3VuZGluZ0hhY2tXb3JkQm91bmRhcmll
cy5maWxsKC0xKTsKIAogICAgIGNvbnN0IGZsb2F0IGNMb2dpY2FsU2NhbGUgPSBmb250RGF0YS0+
cGxhdGZvcm1EYXRhKCkudXNlR0RJKCkgPyAxLjBmIDogMzIuMGY7CiAgICAgdW5zaWduZWQgbG9n
aWNhbFNwYWNlV2lkdGggPSBmb250RGF0YS0+c3BhY2VXaWR0aCgpICogY0xvZ2ljYWxTY2FsZTsK
LSAgICBmbG9hdCByb3VuZGVkU3BhY2VXaWR0aCA9IHJvdW5kZihmb250RGF0YS0+c3BhY2VXaWR0
aCgpKTsKKyAgICBmbG9hdCBzcGFjZVdpZHRoID0gZm9udERhdGEtPnNwYWNlV2lkdGgoKTsKIAog
ICAgIGZvciAoaW50IGsgPSAwOyBrIDwgbGVuOyBrKyspIHsKICAgICAgICAgVUNoYXIgY2ggPSAq
KHN0ciArIGspOwpAQCAtMjg2LDIxICsyODEsNiBAQCBib29sIFVuaXNjcmliZUNvbnRyb2xsZXI6
OnNoYXBlQW5kUGxhY2VJCiAgICAgICAgICAgICBpZiAodHJlYXRBc1NwYWNlKQogICAgICAgICAg
ICAgICAgIHNwYWNlQ2hhcmFjdGVyc1tjbHVzdGVyc1trXV0gPSBtX2N1cnJlbnRDaGFyYWN0ZXIg
KyBrICsgaXRlbS5pQ2hhclBvczsKICAgICAgICAgfQotCi0gICAgICAgIGlmIChGb250Ojppc1Jv
dW5kaW5nSGFja0NoYXJhY3RlcihjaCkpCi0gICAgICAgICAgICByb3VuZGluZ0hhY2tDaGFyYWN0
ZXJzW2NsdXN0ZXJzW2tdXSA9IG1fY3VycmVudENoYXJhY3RlciArIGsgKyBpdGVtLmlDaGFyUG9z
OwotCi0gICAgICAgIGludCBib3VuZGFyeSA9IGsgKyBtX2N1cnJlbnRDaGFyYWN0ZXIgKyBpdGVt
LmlDaGFyUG9zOwotICAgICAgICBpZiAoYm91bmRhcnkgPCBtX3J1bi5sZW5ndGgoKSkgewotICAg
ICAgICAgICAgLy8gV2hlbiBhdCB0aGUgbGFzdCBjaGFyYWN0ZXIgaW4gdGhlIHN0ciwgZG9uJ3Qg
bG9vayBvbmUgcGFzdCB0aGUgZW5kIGZvciBhIHJvdW5kaW5nIGhhY2sgY2hhcmFjdGVyLgotICAg
ICAgICAgICAgLy8gSW5zdGVhZCBsb29rIGFoZWFkIHRvIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2Yg
bmV4dCBpdGVtLCBpZiB0aGVyZSBpcyBhIG5leHQgb25lLiAKLSAgICAgICAgICAgIGlmIChrICsg
MSA9PSBsZW4pIHsKLSAgICAgICAgICAgICAgICBpZiAoaSArIDIgPCBtX2l0ZW1zLnNpemUoKSAv
LyBDaGVjayBmb3IgYXQgbGVhc3QgMiBpdGVtcyByZW1haW5pbmcuIFRoZSBsYXN0IGl0ZW0gaXMg
YSB0ZXJtaW5hdGluZyBpdGVtIGNvbnRhaW5pbmcgbm8gY2hhcmFjdGVycy4KLSAgICAgICAgICAg
ICAgICAgICAgJiYgRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoKihjcCArIG1faXRlbXNb
aSArIDFdLmlDaGFyUG9zKSkpCi0gICAgICAgICAgICAgICAgICAgIHJvdW5kaW5nSGFja1dvcmRC
b3VuZGFyaWVzW2NsdXN0ZXJzW2tdXSA9IGJvdW5kYXJ5OwotICAgICAgICAgICAgfSBlbHNlIGlm
IChGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcigqKHN0ciArIGsgKyAxKSkpCi0gICAgICAg
ICAgICAgICAgcm91bmRpbmdIYWNrV29yZEJvdW5kYXJpZXNbY2x1c3RlcnNba11dID0gYm91bmRh
cnk7Ci0gICAgICAgIH0KICAgICB9CiAKICAgICAvLyBQb3B1bGF0ZSBvdXIgZ2x5cGggYnVmZmVy
IHdpdGggdGhpcyBpbmZvcm1hdGlvbi4KQEAgLTMxNCwyNCArMjk0LDggQEAgYm9vbCBVbmlzY3Jp
YmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSQogICAgICAgICBmbG9hdCBvZmZzZXRYID0gb2Zm
c2V0c1trXS5kdSAvIGNMb2dpY2FsU2NhbGU7CiAgICAgICAgIGZsb2F0IG9mZnNldFkgPSBvZmZz
ZXRzW2tdLmR2IC8gY0xvZ2ljYWxTY2FsZTsKIAotICAgICAgICAvLyBNYXRjaCBBcHBLaXQncyBy
dWxlcyBmb3IgdGhlIGludGVnZXIgdnMuIG5vbi1pbnRlZ2VyIHJlbmRlcmluZyBtb2Rlcy4KLSAg
ICAgICAgZmxvYXQgcm91bmRlZEFkdmFuY2UgPSByb3VuZGYoYWR2YW5jZSk7Ci0gICAgICAgIGlm
ICghbV9mb250LmlzUHJpbnRlckZvbnQoKSAmJiAhZm9udERhdGEtPmlzU3lzdGVtRm9udCgpKSB7
Ci0gICAgICAgICAgICBhZHZhbmNlID0gcm91bmRlZEFkdmFuY2U7Ci0gICAgICAgICAgICBvZmZz
ZXRYID0gcm91bmRmKG9mZnNldFgpOwotICAgICAgICAgICAgb2Zmc2V0WSA9IHJvdW5kZihvZmZz
ZXRZKTsKLSAgICAgICAgfQotCiAgICAgICAgIGFkdmFuY2UgKz0gZm9udERhdGEtPnN5bnRoZXRp
Y0JvbGRPZmZzZXQoKTsKIAotICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3
byB3YXlzIHdoZW4gYXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAgLy8gRmlyc3QsIHdl
IHJvdW5kIHNwYWNlcyB0byBhbiBhZGp1c3RlZCB3aWR0aCBpbiBhbGwgZm9udHMuCi0gICAgICAg
IC8vIFNlY29uZCwgaW4gZml4ZWQtcGl0Y2ggZm9udHMgd2UgZW5zdXJlIHRoYXQgYWxsIGdseXBo
cyB0aGF0Ci0gICAgICAgIC8vIG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgc3BhY2UgZ2x5cGggaGF2
ZSB0aGUgc2FtZSB3aWR0aCBhcyB0aGUgc3BhY2UgZ2x5cGguCi0gICAgICAgIGlmIChyb3VuZGVk
QWR2YW5jZSA9PSByb3VuZGVkU3BhY2VXaWR0aCAmJiAoZm9udERhdGEtPnBpdGNoKCkgPT0gRml4
ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgpKSAmJgotICAgICAgICAg
ICAgbV9ydW4uYXBwbHlXb3JkUm91bmRpbmcoKSkKLSAgICAgICAgICAgIGFkdmFuY2UgPSBmb250
RGF0YS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCk7Ci0KICAgICAgICAgaWYgKGhhc0V4dHJhU3BhY2lu
ZykgewogICAgICAgICAgICAgLy8gSWYgd2UncmUgYSBnbHlwaCB3aXRoIGFuIGFkdmFuY2UsIGdv
IGFoZWFkIGFuZCBhZGQgaW4gbGV0dGVyLXNwYWNpbmcuCiAgICAgICAgICAgICAvLyBUaGF0IHdh
eSB3ZSB3ZWVkIG91dCB6ZXJvIHdpZHRoIGx1cmtlcnMuICBUaGlzIGJlaGF2aW9yIG1hdGNoZXMg
dGhlIGZhc3QgdGV4dCBjb2RlIHBhdGguCkBAIC0zNTIsNyArMzE2LDcgQEAgYm9vbCBVbmlzY3Jp
YmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSQogICAgICAgICAgICAgICAgICAgICB9IGVsc2Ug
ewogICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgcHJldmlvdXNQYWRkaW5nID0gbV9wYWRk
aW5nOwogICAgICAgICAgICAgICAgICAgICAgICAgbV9wYWRkaW5nIC09IG1fcGFkUGVyU3BhY2U7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZHZhbmNlICs9IHJvdW5kZihwcmV2aW91c1BhZGRp
bmcpIC0gcm91bmRmKG1fcGFkZGluZyk7CisgICAgICAgICAgICAgICAgICAgICAgICBhZHZhbmNl
ICs9IHByZXZpb3VzUGFkZGluZyAtIG1fcGFkZGluZzsKICAgICAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgICAgIH0KIApAQCAtMzYyLDI1ICszMjYsNiBAQCBib29sIFVuaXNjcmliZUNv
bnRyb2xsZXI6OnNoYXBlQW5kUGxhY2VJCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAg
ICAgICAvLyBEZWFsIHdpdGggdGhlIGZsb2F0L2ludGVnZXIgaW1wZWRhbmNlIG1pc21hdGNoIGJl
dHdlZW4gQ0cgYW5kIFdlYkNvcmUuICJXb3JkcyIgKGNoYXJhY3RlcnMgCi0gICAgICAgIC8vIGZv
bGxvd2VkIGJ5IGEgY2hhcmFjdGVyIGRlZmluZWQgYnkgaXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIo
KSkgYXJlIGFsd2F5cyBhbiBpbnRlZ2VyIHdpZHRoLgotICAgICAgICAvLyBXZSBhZGp1c3QgdGhl
IHdpZHRoIG9mIHRoZSBsYXN0IGNoYXJhY3RlciBvZiBhICJ3b3JkIiB0byBlbnN1cmUgYW4gaW50
ZWdlciB3aWR0aC4KLSAgICAgICAgLy8gRm9yY2UgY2hhcmFjdGVycyB0aGF0IGFyZSB1c2VkIHRv
IGRldGVybWluZSB3b3JkIGJvdW5kYXJpZXMgZm9yIHRoZSByb3VuZGluZyBoYWNrCi0gICAgICAg
IC8vIHRvIGJlIGludGVnZXIgd2lkdGgsIHNvIHRoZSBmb2xsb3dpbmcgd29yZHMgd2lsbCBzdGFy
dCBvbiBhbiBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICBpbnQgcm91bmRpbmdIYWNrSW5kZXgg
PSByb3VuZGluZ0hhY2tDaGFyYWN0ZXJzW2tdOwotICAgICAgICBpZiAobV9ydW4uYXBwbHlXb3Jk
Um91bmRpbmcoKSAmJiByb3VuZGluZ0hhY2tJbmRleCAhPSAtMSkKLSAgICAgICAgICAgIGFkdmFu
Y2UgPSBjZWlsZihhZHZhbmNlKTsKLQotICAgICAgICAvLyBDaGVjayB0byBzZWUgaWYgdGhlIG5l
eHQgY2hhcmFjdGVyIGlzIGEgInJvdW5kaW5nIGhhY2sgY2hhcmFjdGVyIiwgaWYgc28sIGFkanVz
dCB0aGUKLSAgICAgICAgLy8gd2lkdGggc28gdGhhdCB0aGUgdG90YWwgcnVuIHdpZHRoIHdpbGwg
YmUgb24gYW4gaW50ZWdlciBib3VuZGFyeS4KLSAgICAgICAgaW50IHBvc2l0aW9uID0gbV9jdXJy
ZW50Q2hhcmFjdGVyICsgbGVuOwotICAgICAgICBib29sIGxhc3RHbHlwaCA9IChrID09IGdseXBo
cy5zaXplKCkgLSAxKSAmJiAobV9ydW4ucnRsKCkgPyBpID09IDAgOiBpID09IG1faXRlbXMuc2l6
ZSgpIC0gMikgJiYgKHBvc2l0aW9uID49IG1fZW5kKTsKLSAgICAgICAgaWYgKChtX3J1bi5hcHBs
eVdvcmRSb3VuZGluZygpICYmIHJvdW5kaW5nSGFja1dvcmRCb3VuZGFyaWVzW2tdICE9IC0xKSB8
fAotICAgICAgICAgICAgKG1fcnVuLmFwcGx5UnVuUm91bmRpbmcoKSAmJiBsYXN0R2x5cGgpKSB7
IAotICAgICAgICAgICAgZmxvYXQgdG90YWxXaWR0aCA9IG1fcnVuV2lkdGhTb0ZhciArIGFkdmFu
Y2U7Ci0gICAgICAgICAgICBhZHZhbmNlICs9IGNlaWxmKHRvdGFsV2lkdGgpIC0gdG90YWxXaWR0
aDsKLSAgICAgICAgfQotCiAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBhZHZhbmNlOwogCiAg
ICAgICAgIC8vIEZJWE1FOiBXZSBuZWVkIHRvIHRha2UgdGhlIEdPRkZTRVRTIGZvciBjb21iaW5p
bmcgZ2x5cGhzIGFuZCBzdG9yZSB0aGVtIGluIHRoZSBnbHlwaCBidWZmZXIKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1hYy5tbQkocmV2aXNpb24gNzgzNTAp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFjLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0xNTgsOCArMTU4LDcgQEAgc3RhdGljIGZsb2F0IHdpZHRoV2l0aEZvbnQoTlNT
dHJpbmcgKnN0cgogICAgIGlmIChjYW5Vc2VGYXN0UmVuZGVyZXIoYnVmZmVyLmRhdGEoKSwgbGVu
Z3RoKSkgewogICAgICAgICBGb250IHdlYkNvcmVGb250KEZvbnRQbGF0Zm9ybURhdGEoZm9udCwg
W2ZvbnQgcG9pbnRTaXplXSksICFbW05TR3JhcGhpY3NDb250ZXh0IGN1cnJlbnRDb250ZXh0XSBp
c0RyYXdpbmdUb1NjcmVlbl0pOwogICAgICAgICBUZXh0UnVuIHJ1bihidWZmZXIuZGF0YSgpLCBs
ZW5ndGgpOwotICAgICAgICBydW4uZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsKLSAgICAgICAgcmV0
dXJuIHdlYkNvcmVGb250LmZsb2F0V2lkdGgocnVuKTsKKyAgICAgICAgcmV0dXJuIHdlYkNvcmVG
b250LndpZHRoKHJ1bik7CiAgICAgfQogICAgIAogICAgIHJldHVybiBbc3RyaW5nIHNpemVXaXRo
QXR0cmlidXRlczpbTlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRoT2JqZWN0c0FuZEtleXM6Zm9u
dCwgTlNGb250QXR0cmlidXRlTmFtZSwgbmlsXV0ud2lkdGg7CkBAIC0xOTcsOCArMTk2LDcgQEAg
c3RhdGljIHZvaWQgZHJhd0F0UG9pbnQoTlNTdHJpbmcgKnN0cmluZwogICAgICAgICAgICAgCiAg
ICAgICAgIEZvbnQgd2ViQ29yZUZvbnQoRm9udFBsYXRmb3JtRGF0YShmb250LCBbZm9udCBwb2lu
dFNpemVdKSwgIVtuc0NvbnRleHQgaXNEcmF3aW5nVG9TY3JlZW5dLCBBbnRpYWxpYXNlZCk7CiAg
ICAgICAgIFRleHRSdW4gcnVuKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCk7Ci0gICAgICAgIHJ1bi5k
aXNhYmxlUm91bmRpbmdIYWNrcygpOwotICAgICAgICAKKwogICAgICAgICBDR0Zsb2F0IHJlZDsK
ICAgICAgICAgQ0dGbG9hdCBncmVlbjsKICAgICAgICAgQ0dGbG9hdCBibHVlOwpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0ZpbGVDaG9vc2VyTWFjLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxlQ2hvb3Nlck1hYy5tbQkocmV2aXNpb24g
NzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRmlsZUNob29zZXJNYWMubW0J
KHdvcmtpbmcgY29weSkKQEAgLTQ3LDkgKzQ3LDkgQEAgU3RyaW5nIEZpbGVDaG9vc2VyOjpiYXNl
bmFtZUZvcldpZHRoKGNvbgogICAgIGVsc2UgaWYgKG1fZmlsZW5hbWVzLnNpemUoKSA9PSAxKQog
ICAgICAgICBzdHJUb1RydW5jYXRlID0gW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBk
aXNwbGF5TmFtZUF0UGF0aDoobV9maWxlbmFtZXNbMF0pXTsKICAgICBlbHNlCi0gICAgICAgIHJl
dHVybiBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUobXVsdGlwbGVGaWxlVXBsb2FkVGV4
dChtX2ZpbGVuYW1lcy5zaXplKCkpLCB3aWR0aCwgZm9udCwgZmFsc2UpOworICAgICAgICByZXR1
cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmlsZVVwbG9hZFRleHQo
bV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQpOwogCi0gICAgcmV0dXJuIFN0cmluZ1Ry
dW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyVG9UcnVuY2F0ZSwgd2lkdGgsIGZvbnQsIGZhbHNl
KTsKKyAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJUb1RydW5j
YXRlLCB3aWR0aCwgZm9udCk7CiB9CiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3dpbi9EcmFnSW1hZ2VXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3dpbi9EcmFnSW1hZ2VXaW4uY3BwCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3dpbi9EcmFnSW1hZ2VXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTAs
MTMgKzIxMCwxMyBAQCBEcmFnSW1hZ2VSZWYgY3JlYXRlRHJhZ0ltYWdlRm9yTGluayhLVVJMCiAg
ICAgc3RhdGljIGNvbnN0IENvbG9yIGJvdHRvbUNvbG9yKDI1NSwgMjU1LCAyNTUsIDEyNyk7IC8v
IG9yaWdpbmFsIGFscGhhID0gMC41CiAgICAgaWYgKGRyYXdVUkxTdHJpbmcpIHsKICAgICAgICAg
aWYgKGNsaXBVUkxTdHJpbmcpCi0gICAgICAgICAgICB1cmxTdHJpbmcgPSBTdHJpbmdUcnVuY2F0
b3I6OnJpZ2h0VHJ1bmNhdGUodXJsU3RyaW5nLCBpbWFnZVNpemUud2lkdGgoKSAtIChEcmFnTGFi
ZWxCb3JkZXJYICogMi4wZiksICp1cmxGb250LCBmYWxzZSk7CisgICAgICAgICAgICB1cmxTdHJp
bmcgPSBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUodXJsU3RyaW5nLCBpbWFnZVNpemUu
d2lkdGgoKSAtIChEcmFnTGFiZWxCb3JkZXJYICogMi4wZiksICp1cmxGb250KTsKICAgICAgICAg
SW50UG9pbnQgdGV4dFBvcyhEcmFnTGFiZWxCb3JkZXJYLCBpbWFnZVNpemUuaGVpZ2h0KCkgLSAo
TGFiZWxCb3JkZXJZT2Zmc2V0ICsgdXJsRm9udC0+Zm9udE1ldHJpY3MoKS5kZXNjZW50KCkpKTsK
ICAgICAgICAgV2ViQ29yZURyYXdEb3VibGVkVGV4dEF0UG9pbnQoY29udGV4dCwgdXJsU3RyaW5n
LCB0ZXh0UG9zLCAqdXJsRm9udCwgdG9wQ29sb3IsIGJvdHRvbUNvbG9yKTsKICAgICB9CiAgICAg
CiAgICAgaWYgKGNsaXBMYWJlbFN0cmluZykKLSAgICAgICAgbGFiZWwgPSBTdHJpbmdUcnVuY2F0
b3I6OnJpZ2h0VHJ1bmNhdGUobGFiZWwsIGltYWdlU2l6ZS53aWR0aCgpIC0gKERyYWdMYWJlbEJv
cmRlclggKiAyLjBmKSwgKmxhYmVsRm9udCwgZmFsc2UpOworICAgICAgICBsYWJlbCA9IFN0cmlu
Z1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShsYWJlbCwgaW1hZ2VTaXplLndpZHRoKCkgLSAoRHJh
Z0xhYmVsQm9yZGVyWCAqIDIuMGYpLCAqbGFiZWxGb250KTsKIAogICAgIEludFBvaW50IHRleHRQ
b3MoRHJhZ0xhYmVsQm9yZGVyWCwgRHJhZ0xhYmVsQm9yZGVyWSArIGxhYmVsRm9udC0+cGl4ZWxT
aXplKCkpOwogICAgIFdlYkNvcmVEcmF3RG91YmxlZFRleHRBdFBvaW50KGNvbnRleHQsIGxhYmVs
LCB0ZXh0UG9zLCAqbGFiZWxGb250LCB0b3BDb2xvciwgYm90dG9tQ29sb3IpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVDaG9vc2VyV2luLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmlsZUNob29zZXJXaW4uY3BwCShyZXZpc2lv
biA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxlQ2hvb3Nlcldpbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDkgKzQ2LDkgQEAgU3RyaW5nIEZpbGVDaG9vc2VyOjpi
YXNlbmFtZUZvcldpZHRoKGNvbgogICAgICAgICBMUFdTVFIgYmFzZW5hbWUgPSBQYXRoRmluZEZp
bGVOYW1lVyh0bXBGaWxlbmFtZS5jaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5hdGlvbigpKTsKICAg
ICAgICAgc3RyaW5nID0gU3RyaW5nKGJhc2VuYW1lKTsKICAgICB9IGVsc2UKLSAgICAgICAgcmV0
dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShTdHJpbmc6Om51bWJlcihtX2ZpbGVu
YW1lcy5zaXplKCkpICsgIiBmaWxlcyIsIHdpZHRoLCBmb250LCBmYWxzZSk7CisgICAgICAgIHJl
dHVybiBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUoU3RyaW5nOjpudW1iZXIobV9maWxl
bmFtZXMuc2l6ZSgpKSArICIgZmlsZXMiLCB3aWR0aCwgZm9udCk7CiAKLSAgICByZXR1cm4gU3Ry
aW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJpbmcsIHdpZHRoLCBmb250LCBmYWxzZSk7
CisgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyaW5nLCB3aWR0
aCwgZm9udCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCShyZXZpc2lvbiA3ODM1MCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMjYsNyArMzI2LDcgQEAgdm9pZCBQb3B1cE1lbnVXaW46OmNhbGN1bGF0ZVBvc2l0
aW9uQW5kUwogICAgICAgICAgICAgaXRlbUZvbnQudXBkYXRlKG1fcG9wdXBDbGllbnQtPmZvbnRT
ZWxlY3RvcigpKTsKICAgICAgICAgfQogCi0gICAgICAgIHBvcHVwV2lkdGggPSBtYXgocG9wdXBX
aWR0aCwgaXRlbUZvbnQud2lkdGgoVGV4dFJ1bih0ZXh0LmNoYXJhY3RlcnMoKSwgdGV4dC5sZW5n
dGgoKSkpKTsKKyAgICAgICAgcG9wdXBXaWR0aCA9IG1heChwb3B1cFdpZHRoLCBzdGF0aWNfY2Fz
dDxpbnQ+KGNlaWxmKGl0ZW1Gb250LndpZHRoKFRleHRSdW4odGV4dC5jaGFyYWN0ZXJzKCksIHRl
eHQubGVuZ3RoKCkpKSkpOwogICAgIH0KIAogICAgIGlmIChuYXR1cmFsSGVpZ2h0ID4gbWF4UG9w
dXBIZWlnaHQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2ViQ29yZVRleHRS
ZW5kZXJlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dl
YkNvcmVUZXh0UmVuZGVyZXIuY3BwCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3dpbi9XZWJDb3JlVGV4dFJlbmRlcmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTAxLDcgKzEwMSw3IEBAIHZvaWQgV2ViQ29yZURyYXdEb3VibGVkVGV4dEF0UG9pbnQoR3JhcGgK
IAogZmxvYXQgV2ViQ29yZVRleHRGbG9hdFdpZHRoKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3Qg
Rm9udCYgZm9udCkKIHsKLSAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjp3aWR0aCh0ZXh0LCBm
b250LCBmYWxzZSk7CisgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6d2lkdGgodGV4dCwgZm9u
dCk7CiB9CiAKIHZvaWQgV2ViQ29yZVNldFNob3VsZFVzZUZvbnRTbW9vdGhpbmcoYm9vbCBzbW9v
dGgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCShy
ZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQ1LDYgKzU0NSwyMyBAQCBib29sIEhpdFRlc3RSZXN1
bHQ6OmFkZE5vZGVUb1JlY3RCYXNlZFRlCiAgICAgcmV0dXJuICFyZWN0LmNvbnRhaW5zKHJlY3RG
b3JQb2ludCh4LCB5KSk7CiB9CiAKK2Jvb2wgSGl0VGVzdFJlc3VsdDo6YWRkTm9kZVRvUmVjdEJh
c2VkVGVzdFJlc3VsdChOb2RlKiBub2RlLCBpbnQgeCwgaW50IHksIGNvbnN0IEZsb2F0UmVjdCYg
cmVjdCkKK3sKKyAgICAvLyBJZiBpdCBpcyBub3QgYSByZWN0LWJhc2VkIGhpdCB0ZXN0LCB0aGlz
IG1ldGhvZCBoYXMgdG8gYmUgbm8tb3AuCisgICAgLy8gUmV0dXJuIGZhbHNlLCBzbyB0aGUgaGl0
IHRlc3Qgc3RvcHMuCisgICAgaWYgKCFpc1JlY3RCYXNlZFRlc3QoKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgLy8gSWYgbm9kZSBpcyBudWxsLCByZXR1cm4gdHJ1ZSBzbyB0aGUgaGl0
IHRlc3QgY2FuIGNvbnRpbnVlLgorICAgIGlmICghbm9kZSkKKyAgICAgICAgcmV0dXJuIHRydWU7
CisKKyAgICBub2RlID0gbm9kZS0+c2hhZG93QW5jZXN0b3JOb2RlKCk7CisgICAgbV9yZWN0QmFz
ZWRUZXN0UmVzdWx0LmFkZChub2RlKTsKKworICAgIHJldHVybiAhcmVjdC5jb250YWlucyhyZWN0
Rm9yUG9pbnQoeCwgeSkpOworfQorCiB2b2lkIEhpdFRlc3RSZXN1bHQ6OmFwcGVuZChjb25zdCBI
aXRUZXN0UmVzdWx0JiBvdGhlcikKIHsKICAgICBBU1NFUlQoaXNSZWN0QmFzZWRUZXN0KCkgJiYg
b3RoZXIuaXNSZWN0QmFzZWRUZXN0KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0hpdFRlc3RSZXN1bHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SGl0VGVzdFJlc3VsdC5oCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9IaXRUZXN0UmVzdWx0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIwLDYgKzIwLDcgQEAKICNp
Zm5kZWYgSGl0VGVzdFJlc3VsdF9oCiAjZGVmaW5lIEhpdFRlc3RSZXN1bHRfaAogCisjaW5jbHVk
ZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlICJJbnRSZWN0
LmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgpAQCAtMTA5LDcgKzExMCw4IEBAIHB1YmxpYzoKIAog
ICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBpdCBpcyByZWN0LWJhc2VkIGhpdCB0ZXN0IGFuZCBuZWVk
cyB0byBjb250aW51ZSB1bnRpbCB0aGUgcmVjdCBpcyBmdWxseQogICAgIC8vIGVuY2xvc2VkIGJ5
IHRoZSBib3VuZGFyaWVzIG9mIGEgbm9kZS4KLSAgICBib29sIGFkZE5vZGVUb1JlY3RCYXNlZFRl
c3RSZXN1bHQoTm9kZSosIGludCB4LCBpbnQgeSwgY29uc3QgSW50UmVjdCYgcmVjdCA9IEludFJl
Y3QoKSk7CisgICAgYm9vbCBhZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KE5vZGUqLCBpbnQg
eCwgaW50IHksIGNvbnN0IEludFJlY3QmID0gSW50UmVjdCgpKTsKKyAgICBib29sIGFkZE5vZGVU
b1JlY3RCYXNlZFRlc3RSZXN1bHQoTm9kZSosIGludCB4LCBpbnQgeSwgY29uc3QgRmxvYXRSZWN0
Jik7CiAgICAgY29uc3QgTGlzdEhhc2hTZXQ8UmVmUHRyPE5vZGU+ID4mIHJlY3RCYXNlZFRlc3RS
ZXN1bHQoKSBjb25zdCB7IHJldHVybiBtX3JlY3RCYXNlZFRlc3RSZXN1bHQ7IH0KICAgICB2b2lk
IGFwcGVuZChjb25zdCBIaXRUZXN0UmVzdWx0Jik7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbmxpbmVCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9JbmxpbmVCb3guY3BwCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbmxpbmVCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsNyArMTA2LDcgQEAg
aW50IElubGluZUJveDo6bG9naWNhbEhlaWdodCgpIGNvbnN0CiAgICAgICAgIHJlc3VsdCArPSBm
bG93T2JqZWN0LT5ib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdodCgpOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9Ci0KKyAKIGludCBJbmxpbmVCb3g6OmNhcmV0TWluT2Zmc2V0KCkgY29uc3QgCiB7
IAogICAgIHJldHVybiBtX3JlbmRlcmVyLT5jYXJldE1pbk9mZnNldCgpOyAKQEAgLTE1MCwxMyAr
MTUwLDE1IEBAIHZvaWQgSW5saW5lQm94OjphdHRhY2hMaW5lKCkKICAgICAgICAgdG9SZW5kZXJC
b3gobV9yZW5kZXJlciktPnNldElubGluZUJveFdyYXBwZXIodGhpcyk7CiB9CiAKLXZvaWQgSW5s
aW5lQm94OjphZGp1c3RQb3NpdGlvbihpbnQgZHgsIGludCBkeSkKK3ZvaWQgSW5saW5lQm94Ojph
ZGp1c3RQb3NpdGlvbihmbG9hdCBkeCwgZmxvYXQgZHkpCiB7CiAgICAgbV94ICs9IGR4OwogICAg
IG1feSArPSBkeTsKICAgICBpZiAobV9yZW5kZXJlci0+aXNSZXBsYWNlZCgpKSB7CisgICAgICAg
IG1feCA9IGNlaWxmKG1feCk7CisgICAgICAgIG1feSA9IGNlaWxmKG1feSk7CiAgICAgICAgIFJl
bmRlckJveCogYm94ID0gdG9SZW5kZXJCb3gobV9yZW5kZXJlcik7Ci0gICAgICAgIGJveC0+bW92
ZShkeCwgZHkpOworICAgICAgICBib3gtPnNldExvY2F0aW9uKG1feCwgbV95KTsKICAgICB9CiB9
CiAKQEAgLTI3OCwyMSArMjgwLDM1IEBAIGJvb2wgSW5saW5lQm94OjpjYW5BY2NvbW1vZGF0ZUVs
bGlwc2lzKGIKICAgICByZXR1cm4gIShib3hSZWN0LmludGVyc2VjdHMoZWxsaXBzaXNSZWN0KSk7
CiB9CiAKLWludCBJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCwgaW50LCBpbnQsIGlu
dCwgYm9vbCYpCitmbG9hdCBJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCwgZmxvYXQs
IGZsb2F0LCBmbG9hdCwgYm9vbCYpCiB7CiAgICAgLy8gVXNlIC0xIHRvIG1lYW4gIndlIGRpZG4n
dCBzZXQgdGhlIHBvc2l0aW9uLiIKICAgICByZXR1cm4gLTE7CiB9CiAKLUludFBvaW50IElubGlu
ZUJveDo6bG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpCitGbG9hdFBvaW50IElubGluZUJveDo6
bG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpCiB7CiAgICAgaWYgKCFyZW5kZXJlcigpLT5zdHls
ZSgpLT5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQotICAgICAgICByZXR1cm4gSW50UG9p
bnQoeCgpLCB5KCkpOworICAgICAgICByZXR1cm4gRmxvYXRQb2ludCh4KCksIHkoKSk7CiAgICAg
UmVuZGVyQmxvY2sqIGJsb2NrID0gcm9vdCgpLT5ibG9jaygpOwogICAgIGlmIChibG9jay0+c3R5
bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKLSAgICAgICAgcmV0dXJuIEludFBvaW50
KHgoKSwgYmxvY2stPmhlaWdodCgpIC0gaGVpZ2h0KCkgLSB5KCkpOworICAgICAgICByZXR1cm4g
RmxvYXRQb2ludCh4KCksIGJsb2NrLT5oZWlnaHQoKSAtIGhlaWdodCgpIC0geSgpKTsKICAgICBl
bHNlCi0gICAgICAgIHJldHVybiBJbnRQb2ludChibG9jay0+d2lkdGgoKSAtIHdpZHRoKCkgLSB4
KCksIHkoKSk7CisgICAgICAgIHJldHVybiBGbG9hdFBvaW50KGJsb2NrLT53aWR0aCgpIC0gd2lk
dGgoKSAtIHgoKSwgeSgpKTsKK30KKwordm9pZCBJbmxpbmVCb3g6OmZsaXBGb3JXcml0aW5nTW9k
ZShGbG9hdFJlY3QmIHJlY3QpCit7CisgICAgaWYgKCFyZW5kZXJlcigpLT5zdHlsZSgpLT5pc0Zs
aXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQorICAgICAgICByZXR1cm47CisgICAgcm9vdCgpLT5i
bG9jaygpLT5mbGlwRm9yV3JpdGluZ01vZGUocmVjdCk7Cit9CisKK0Zsb2F0UG9pbnQgSW5saW5l
Qm94OjpmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgRmxvYXRQb2ludCYgcG9pbnQpCit7CisgICAg
aWYgKCFyZW5kZXJlcigpLT5zdHlsZSgpLT5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQor
ICAgICAgICByZXR1cm4gcG9pbnQ7CisgICAgcmV0dXJuIHJvb3QoKS0+YmxvY2soKS0+ZmxpcEZv
cldyaXRpbmdNb2RlKHBvaW50KTsKIH0KIAogdm9pZCBJbmxpbmVCb3g6OmZsaXBGb3JXcml0aW5n
TW9kZShJbnRSZWN0JiByZWN0KQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGlu
ZUJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3gu
aAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94
LmgJKHdvcmtpbmcgY29weSkKQEAgLTY4LDcgKzY4LDcgQEAgcHVibGljOgogICAgIHsKICAgICB9
CiAKLSAgICBJbmxpbmVCb3goUmVuZGVyT2JqZWN0KiBvYmosIGludCB4LCBpbnQgeSwgaW50IGxv
Z2ljYWxXaWR0aCwgYm9vbCBmaXJzdExpbmUsIGJvb2wgY29uc3RydWN0ZWQsCisgICAgSW5saW5l
Qm94KFJlbmRlck9iamVjdCogb2JqLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCBsb2dpY2FsV2lk
dGgsIGJvb2wgZmlyc3RMaW5lLCBib29sIGNvbnN0cnVjdGVkLAogICAgICAgICAgICAgICBib29s
IGRpcnR5LCBib29sIGV4dHJhY3RlZCwgYm9vbCBpc0hvcml6b250YWwsIElubGluZUJveCogbmV4
dCwgSW5saW5lQm94KiBwcmV2LCBJbmxpbmVGbG93Qm94KiBwYXJlbnQpCiAgICAgICAgIDogbV9u
ZXh0KG5leHQpCiAgICAgICAgICwgbV9wcmV2KHByZXYpCkBAIC0xMTIsMTUgKzExMiwxNSBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5lQnJlYWsoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogCi0gICAgdmlydHVhbCB2b2lkIGFkanVzdFBvc2l0aW9uKGludCBkeCwgaW50IGR5
KTsKLSAgICB2b2lkIGFkanVzdExpbmVEaXJlY3Rpb25Qb3NpdGlvbihpbnQgZGVsdGEpCisgICAg
dmlydHVhbCB2b2lkIGFkanVzdFBvc2l0aW9uKGZsb2F0IGR4LCBmbG9hdCBkeSk7CisgICAgdm9p
ZCBhZGp1c3RMaW5lRGlyZWN0aW9uUG9zaXRpb24oZmxvYXQgZGVsdGEpCiAgICAgewogICAgICAg
ICBpZiAoaXNIb3Jpem9udGFsKCkpCiAgICAgICAgICAgICBhZGp1c3RQb3NpdGlvbihkZWx0YSwg
MCk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGFkanVzdFBvc2l0aW9uKDAsIGRlbHRhKTsK
ICAgICB9Ci0gICAgdm9pZCBhZGp1c3RCbG9ja0RpcmVjdGlvblBvc2l0aW9uKGludCBkZWx0YSkK
KyAgICB2b2lkIGFkanVzdEJsb2NrRGlyZWN0aW9uUG9zaXRpb24oZmxvYXQgZGVsdGEpCiAgICAg
ewogICAgICAgICBpZiAoaXNIb3Jpem9udGFsKCkpCiAgICAgICAgICAgICBhZGp1c3RQb3NpdGlv
bigwLCBkZWx0YSk7CkBAIC0yMjAsMjggKzIyMCwyOCBAQCBwdWJsaWM6CiAgICAgUm9vdElubGlu
ZUJveCogcm9vdCgpOwogCiAgICAgLy8geCgpIGlzIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIGJveCBp
biB0aGUgY29udGFpbmluZyBibG9jaydzIGNvb3JkaW5hdGUgc3lzdGVtLgotICAgIHZvaWQgc2V0
WChpbnQgeCkgeyBtX3ggPSB4OyB9Ci0gICAgaW50IHgoKSBjb25zdCB7IHJldHVybiBtX3g7IH0K
KyAgICB2b2lkIHNldFgoZmxvYXQgeCkgeyBtX3ggPSB4OyB9CisgICAgZmxvYXQgeCgpIGNvbnN0
IHsgcmV0dXJuIG1feDsgfQogCiAgICAgLy8geSgpIGlzIHRoZSB0b3Agc2lkZSBvZiB0aGUgYm94
IGluIHRoZSBjb250YWluaW5nIGJsb2NrJ3MgY29vcmRpbmF0ZSBzeXN0ZW0uCi0gICAgdm9pZCBz
ZXRZKGludCB5KSB7IG1feSA9IHk7IH0KLSAgICBpbnQgeSgpIGNvbnN0IHsgcmV0dXJuIG1feTsg
fQorICAgIHZvaWQgc2V0WShmbG9hdCB5KSB7IG1feSA9IHk7IH0KKyAgICBmbG9hdCB5KCkgY29u
c3QgeyByZXR1cm4gbV95OyB9CiAKLSAgICBpbnQgd2lkdGgoKSBjb25zdCB7IHJldHVybiBpc0hv
cml6b250YWwoKSA/IGxvZ2ljYWxXaWR0aCgpIDogbG9naWNhbEhlaWdodCgpOyB9Ci0gICAgaW50
IGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbG9naWNhbEhlaWdodCgp
IDogbG9naWNhbFdpZHRoKCk7IH0KLQotICAgIEludFJlY3QgZnJhbWVSZWN0KCkgY29uc3QgeyBy
ZXR1cm4gSW50UmVjdCh4KCksIHkoKSwgd2lkdGgoKSwgaGVpZ2h0KCkpOyB9CisgICAgZmxvYXQg
d2lkdGgoKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IGxvZ2ljYWxXaWR0aCgpIDog
bG9naWNhbEhlaWdodCgpOyB9CisgICAgZmxvYXQgaGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gaXNI
b3Jpem9udGFsKCkgPyBsb2dpY2FsSGVpZ2h0KCkgOiBsb2dpY2FsV2lkdGgoKTsgfQogCiAgICAg
Ly8gVGhlIGxvZ2ljYWxMZWZ0IHBvc2l0aW9uIGlzIHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlIGxpbmUg
Ym94IGluIGEgaG9yaXpvbnRhbCBsaW5lIGFuZCB0aGUgdG9wIGVkZ2UgaW4gYSB2ZXJ0aWNhbCBs
aW5lLgotICAgIGludCBsb2dpY2FsTGVmdCgpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbCgp
ID8gbV94IDogbV95OyB9Ci0gICAgaW50IGxvZ2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGxv
Z2ljYWxMZWZ0KCkgKyBsb2dpY2FsV2lkdGgoKTsgfQotICAgIHZvaWQgc2V0TG9naWNhbExlZnQo
aW50IGxlZnQpCisgICAgZmxvYXQgbG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBpc0hvcml6
b250YWwoKSA/IG1feCA6IG1feTsgfQorICAgIGZsb2F0IGxvZ2ljYWxSaWdodCgpIGNvbnN0IHsg
cmV0dXJuIGxvZ2ljYWxMZWZ0KCkgKyBsb2dpY2FsV2lkdGgoKTsgfQorICAgIHZvaWQgc2V0TG9n
aWNhbExlZnQoZmxvYXQgbGVmdCkKICAgICB7CiAgICAgICAgIGlmIChpc0hvcml6b250YWwoKSkK
ICAgICAgICAgICAgIG1feCA9IGxlZnQ7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG1feSA9
IGxlZnQ7CiAgICAgfQorICAgIGludCBwaXhlbFNuYXBwZWRMb2dpY2FsTGVmdCgpIGNvbnN0IHsg
cmV0dXJuIGxvZ2ljYWxMZWZ0KCk7IH0KKyAgICBpbnQgcGl4ZWxTbmFwcGVkTG9naWNhbFJpZ2h0
KCkgY29uc3QgeyByZXR1cm4gY2VpbGYobG9naWNhbFJpZ2h0KCkpOyB9CiAKICAgICAvLyBUaGUg
bG9naWNhbFRvcFsgcG9zaXRpb24gaXMgdGhlIHRvcCBlZGdlIG9mIHRoZSBsaW5lIGJveCBpbiBh
IGhvcml6b250YWwgbGluZSBhbmQgdGhlIGxlZnQgZWRnZSBpbiBhIHZlcnRpY2FsIGxpbmUuCiAg
ICAgaW50IGxvZ2ljYWxUb3AoKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IG1feSA6
IG1feDsgfQpAQCAtMjU1LDggKzI1NSw4IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICAvLyBUaGUg
bG9naWNhbCB3aWR0aCBpcyBvdXIgZXh0ZW50IGluIHRoZSBsaW5lJ3Mgb3ZlcmFsbCBpbmxpbmUg
ZGlyZWN0aW9uLCBpLmUuLCB3aWR0aCBmb3IgaG9yaXpvbnRhbCB0ZXh0IGFuZCBoZWlnaHQgZm9y
IHZlcnRpY2FsIHRleHQuCi0gICAgdm9pZCBzZXRMb2dpY2FsV2lkdGgoaW50IHcpIHsgbV9sb2dp
Y2FsV2lkdGggPSB3OyB9Ci0gICAgaW50IGxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1f
bG9naWNhbFdpZHRoOyB9CisgICAgdm9pZCBzZXRMb2dpY2FsV2lkdGgoZmxvYXQgdykgeyBtX2xv
Z2ljYWxXaWR0aCA9IHc7IH0KKyAgICBmbG9hdCBsb2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVy
biBtX2xvZ2ljYWxXaWR0aDsgfQogCiAgICAgLy8gVGhlIGxvZ2ljYWwgaGVpZ2h0IGlzIG91ciBl
eHRlbnQgaW4gdGhlIGJsb2NrIGZsb3cgZGlyZWN0aW9uLCBpLmUuLCBoZWlnaHQgZm9yIGhvcml6
b250YWwgdGV4dCBhbmQgd2lkdGggZm9yIHZlcnRpY2FsIHRleHQuCiAgICAgaW50IGxvZ2ljYWxI
ZWlnaHQoKSBjb25zdDsKQEAgLTI4Niw3ICsyODYsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IGJvb2wgY2FuQWNjb21tb2RhdGVFbGxpcHNpcyhib29sIGx0ciwgaW50IGJsb2NrRWRnZSwgaW50
IGVsbGlwc2lzV2lkdGgpOwogICAgIC8vIHZpc2libGVMZWZ0RWRnZSwgdmlzaWJsZVJpZ2h0RWRn
ZSBhcmUgaW4gdGhlIHBhcmVudCdzIGNvb3JkaW5hdGUgc3lzdGVtLgotICAgIHZpcnR1YWwgaW50
IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGludCB2aXNpYmxlTGVmdEVkZ2UsIGludCB2aXNp
YmxlUmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCwgYm9vbCYpOworICAgIHZpcnR1YWwgZmxv
YXQgcGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgZmxvYXQgdmlzaWJsZUxlZnRFZGdlLCBmbG9h
dCB2aXNpYmxlUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJik7CiAKICAgICB2
b2lkIHNldEhhc0JhZFBhcmVudCgpOwogCkBAIC0zMDIsMTAgKzMwMiwxMiBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIEludFBvaW50IGxvY2F0aW9uSW5jbHVkaW5n
RmxpcHBpbmcoKTsKKyAgICBGbG9hdFBvaW50IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsK
KyAgICB2b2lkIGZsaXBGb3JXcml0aW5nTW9kZShGbG9hdFJlY3QmKTsKKyAgICBGbG9hdFBvaW50
IGZsaXBGb3JXcml0aW5nTW9kZShjb25zdCBGbG9hdFBvaW50Jik7CiAgICAgdm9pZCBmbGlwRm9y
V3JpdGluZ01vZGUoSW50UmVjdCYpOwogICAgIEludFBvaW50IGZsaXBGb3JXcml0aW5nTW9kZShj
b25zdCBJbnRQb2ludCYpOwotCisgICAgCiBwcml2YXRlOgogICAgIElubGluZUJveCogbV9uZXh0
OyAvLyBUaGUgbmV4dCBlbGVtZW50IG9uIHRoZSBzYW1lIGxpbmUgYXMgdXMuCiAgICAgSW5saW5l
Qm94KiBtX3ByZXY7IC8vIFRoZSBwcmV2aW91cyBlbGVtZW50IG9uIHRoZSBzYW1lIGxpbmUgYXMg
dXMuCkBAIC0zMTUsOSArMzE3LDkgQEAgcHJpdmF0ZToKIHB1YmxpYzoKICAgICBSZW5kZXJPYmpl
Y3QqIG1fcmVuZGVyZXI7CiAKLSAgICBpbnQgbV94OwotICAgIGludCBtX3k7Ci0gICAgaW50IG1f
bG9naWNhbFdpZHRoOworICAgIGZsb2F0IG1feDsKKyAgICBmbG9hdCBtX3k7CisgICAgZmxvYXQg
bV9sb2dpY2FsV2lkdGg7CiAgICAgCiAgICAgLy8gU29tZSBvZiB0aGVzZSBiaXRzIGFyZSBhY3R1
YWxseSBmb3Igc3ViY2xhc3NlcyBhbmQgbW92ZWQgaGVyZSB0byBjb21wYWN0IHRoZSBzdHJ1Y3R1
cmVzLgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3Bw
CShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93
Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjcsNiArNjcsMTggQEAgaW50IElubGluZUZsb3dC
b3g6OmdldEZsb3dTcGFjaW5nTG9naWNhbAogICAgIHJldHVybiB0b3RXaWR0aDsKIH0KIAorSW50
UmVjdCBJbmxpbmVGbG93Qm94OjpwaXhlbFNuYXBwZWRGcmFtZVJlY3QoKSBjb25zdAoreworICAg
IC8vIEJlZ2luIGJ5IHNuYXBwaW5nIHRoZSB4IGFuZCB5IGNvb3JkaW5hdGVzIHRvIHRoZSBuZWFy
ZXN0IHBpeGVsLgorICAgIGludCBzbmFwcGVkWCA9IGxyb3VuZGYoeCgpKTsKKyAgICBpbnQgc25h
cHBlZFkgPSBscm91bmRmKHkoKSk7CisgICAgCisgICAgaW50IHNuYXBwZWRNYXhYID0gbHJvdW5k
Zih4KCkgKyB3aWR0aCgpKTsKKyAgICBpbnQgc25hcHBlZE1heFkgPSBscm91bmRmKHkoKSArIGhl
aWdodCgpKTsKKyAgICAKKyAgICByZXR1cm4gSW50UmVjdChzbmFwcGVkWCwgc25hcHBlZFksIHNu
YXBwZWRNYXhYIC0gc25hcHBlZFgsIHNuYXBwZWRNYXhZIC0gc25hcHBlZFkpOworfQorCiB2b2lk
IElubGluZUZsb3dCb3g6OmFkZFRvTGluZShJbmxpbmVCb3gqIGNoaWxkKSAKIHsKICAgICBBU1NF
UlQoIWNoaWxkLT5wYXJlbnQoKSk7CkBAIC0yNTUsMTIgKzI2NywxMiBAQCB2b2lkIElubGluZUZs
b3dCb3g6OmRldGVybWluZVNwYWNpbmdGb3JGCiAgICAgfQogfQogCi1pbnQgSW5saW5lRmxvd0Jv
eDo6cGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9uKGludCBsb2dpY2FsTGVmdCwgYm9vbCYgbmVl
ZHNXb3JkU3BhY2luZywgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmIHRleHRCb3hE
YXRhTWFwKQorZmxvYXQgSW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9u
KGZsb2F0IGxvZ2ljYWxMZWZ0LCBib29sJiBuZWVkc1dvcmRTcGFjaW5nLCBHbHlwaE92ZXJmbG93
QW5kRmFsbGJhY2tGb250c01hcCYgdGV4dEJveERhdGFNYXApCiB7CiAgICAgLy8gU2V0IG91ciB4
IHBvc2l0aW9uLgogICAgIHNldExvZ2ljYWxMZWZ0KGxvZ2ljYWxMZWZ0KTsKICAgCi0gICAgaW50
IHN0YXJ0TG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdDsKKyAgICBmbG9hdCBzdGFydExvZ2ljYWxM
ZWZ0ID0gbG9naWNhbExlZnQ7CiAgICAgbG9naWNhbExlZnQgKz0gYm9yZGVyTG9naWNhbExlZnQo
KSArIHBhZGRpbmdMb2dpY2FsTGVmdCgpOwogICAgIAogICAgIGZvciAoSW5saW5lQm94KiBjdXJy
ID0gZmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dE9uTGluZSgpKSB7CkBAIC03
MjQsOCArNzM2LDggQEAgdm9pZCBJbmxpbmVGbG93Qm94OjphZGRCb3hTaGFkb3dWaXN1YWxPdgog
ICAgIGludCBib3hTaGFkb3dMb2dpY2FsUmlnaHQ7CiAgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9m
aXJzdExpbmUpLT5nZXRCb3hTaGFkb3dJbmxpbmVEaXJlY3Rpb25FeHRlbnQoYm94U2hhZG93TG9n
aWNhbExlZnQsIGJveFNoYWRvd0xvZ2ljYWxSaWdodCk7CiAKLSAgICBpbnQgbG9naWNhbExlZnRW
aXN1YWxPdmVyZmxvdyA9IG1pbihsb2dpY2FsTGVmdCgpICsgYm94U2hhZG93TG9naWNhbExlZnQs
IGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy54KCkpOwotICAgIGludCBsb2dpY2FsUmlnaHRWaXN1YWxP
dmVyZmxvdyA9IG1heChsb2dpY2FsUmlnaHQoKSArIGJveFNoYWRvd0xvZ2ljYWxSaWdodCwgbG9n
aWNhbFZpc3VhbE92ZXJmbG93Lm1heFgoKSk7CisgICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFsT3Zl
cmZsb3cgPSBtaW4ocGl4ZWxTbmFwcGVkTG9naWNhbExlZnQoKSArIGJveFNoYWRvd0xvZ2ljYWxM
ZWZ0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cueCgpKTsKKyAgICBpbnQgbG9naWNhbFJpZ2h0Vmlz
dWFsT3ZlcmZsb3cgPSBtYXgocGl4ZWxTbmFwcGVkTG9naWNhbFJpZ2h0KCkgKyBib3hTaGFkb3dM
b2dpY2FsUmlnaHQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhYKCkpOwogICAgIAogICAgIGxv
Z2ljYWxWaXN1YWxPdmVyZmxvdyA9IEludFJlY3QobG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdywg
bG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsTGVmdFZpc3VhbE92ZXJm
bG93LCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZs
b3cpOwpAQCAtNzgxLDggKzc5Myw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6YWRkVGV4dEJveFZp
c3VhbE92ZXIKIAogICAgIGludCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cgPSBtaW4odGV4dEJv
eC0+bG9naWNhbFRvcCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxUb3AsIGxvZ2ljYWxWaXN1YWxP
dmVyZmxvdy55KCkpOwogICAgIGludCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBtYXgo
dGV4dEJveC0+bG9naWNhbEJvdHRvbSgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxCb3R0b20sIGxv
Z2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhZKCkpOwotICAgIGludCBsb2dpY2FsTGVmdFZpc3VhbE92
ZXJmbG93ID0gbWluKHRleHRCb3gtPmxvZ2ljYWxMZWZ0KCkgKyBjaGlsZE92ZXJmbG93TG9naWNh
bExlZnQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy54KCkpOwotICAgIGludCBsb2dpY2FsUmlnaHRW
aXN1YWxPdmVyZmxvdyA9IG1heCh0ZXh0Qm94LT5sb2dpY2FsUmlnaHQoKSArIGNoaWxkT3ZlcmZs
b3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhYKCkpOworICAgIGludCBs
b2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93ID0gbWluKHRleHRCb3gtPnBpeGVsU25hcHBlZExvZ2lj
YWxMZWZ0KCkgKyBjaGlsZE92ZXJmbG93TG9naWNhbExlZnQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxv
dy54KCkpOworICAgIGludCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1heCh0ZXh0Qm94
LT5waXhlbFNuYXBwZWRMb2dpY2FsUmlnaHQoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQs
IGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhYKCkpOwogICAgIAogICAgIGxvZ2ljYWxWaXN1YWxP
dmVyZmxvdyA9IEludFJlY3QobG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdywgbG9naWNhbFRvcFZp
c3VhbE92ZXJmbG93LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9naWNh
bFJpZ2h0VmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2Fs
Qm90dG9tVmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cpOwpAQCAtODY0
LDcgKzg3Niw3IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6Y29tcHV0ZU92ZXJmbG93KGludCAKIC8v
IGFsbCBmdW5jdGlvbnMgdGhhdCBxdWVyeSBvdmVyZmxvdy4gICAKIHZvaWQgSW5saW5lRmxvd0Jv
eDo6c2V0TGF5b3V0T3ZlcmZsb3coY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKLSAgICBJbnRSZWN0
IGZyYW1lQm94ID0gZnJhbWVSZWN0KCk7CisgICAgSW50UmVjdCBmcmFtZUJveCA9IHBpeGVsU25h
cHBlZEZyYW1lUmVjdCgpOwogICAgIGlmIChmcmFtZUJveCA9PSByZWN0IHx8IHJlY3QuaXNFbXB0
eSgpKQogICAgICAgICByZXR1cm47CiAgICAgICAgIApAQCAtODc2LDcgKzg4OCw3IEBAIHZvaWQg
SW5saW5lRmxvd0JveDo6c2V0TGF5b3V0T3ZlcmZsb3coY28KIAogdm9pZCBJbmxpbmVGbG93Qm94
OjpzZXRWaXN1YWxPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiByZWN0KQogewotICAgIEludFJlY3Qg
ZnJhbWVCb3ggPSBmcmFtZVJlY3QoKTsKKyAgICBJbnRSZWN0IGZyYW1lQm94ID0gcGl4ZWxTbmFw
cGVkRnJhbWVSZWN0KCk7CiAgICAgaWYgKGZyYW1lQm94ID09IHJlY3QgfHwgcmVjdC5pc0VtcHR5
KCkpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCkBAIC05MTIsOSArOTI0LDkgQEAgYm9vbCBJ
bmxpbmVGbG93Qm94Ojpub2RlQXRQb2ludChjb25zdCBIaQogICAgIH0KIAogICAgIC8vIE5vdyBj
aGVjayBvdXJzZWx2ZXMuCi0gICAgSW50UG9pbnQgYm94T3JpZ2luID0gbG9jYXRpb25JbmNsdWRp
bmdGbGlwcGluZygpOworICAgIEZsb2F0UG9pbnQgYm94T3JpZ2luID0gbG9jYXRpb25JbmNsdWRp
bmdGbGlwcGluZygpOwogICAgIGJveE9yaWdpbi5tb3ZlKHR4LCB0eSk7Ci0gICAgSW50UmVjdCBy
ZWN0KGJveE9yaWdpbiwgSW50U2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSkpOworICAgIEZsb2F0UmVj
dCByZWN0KGJveE9yaWdpbiwgSW50U2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSkpOwogICAgIGlmICh2
aXNpYmxlVG9IaXRUZXN0aW5nKCkgJiYgcmVjdC5pbnRlcnNlY3RzKHJlc3VsdC5yZWN0Rm9yUG9p
bnQoeCwgeSkpKSB7CiAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUhpdFRlc3RSZXN1bHQocmVz
dWx0LCBmbGlwRm9yV3JpdGluZ01vZGUoSW50UG9pbnQoeCAtIHR4LCB5IC0gdHkpKSk7IC8vIERv
bid0IGFkZCBpbiBtX3ggb3IgbV95IGhlcmUsIHdlIHdhbnQgY29vcmRzIGluIHRoZSBjb250YWlu
aW5nIGJsb2NrJ3Mgc3BhY2UuCiAgICAgICAgIGlmICghcmVzdWx0LmFkZE5vZGVUb1JlY3RCYXNl
ZFRlc3RSZXN1bHQocmVuZGVyZXIoKS0+bm9kZSgpLCB4LCB5LCByZWN0KSkKQEAgLTEwNDMsMTAg
KzEwNTUsMTIgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwYWludEJveERlY29yYXRpb25zKAogICAg
IGlmICghcGFpbnRJbmZvLnNob3VsZFBhaW50V2l0aGluUm9vdChyZW5kZXJlcigpKSB8fCByZW5k
ZXJlcigpLT5zdHlsZSgpLT52aXNpYmlsaXR5KCkgIT0gVklTSUJMRSB8fCBwYWludEluZm8ucGhh
c2UgIT0gUGFpbnRQaGFzZUZvcmVncm91bmQpCiAgICAgICAgIHJldHVybjsKIAotICAgIGludCB4
ID0gbV94OwotICAgIGludCB5ID0gbV95OwotICAgIGludCB3ID0gd2lkdGgoKTsKLSAgICBpbnQg
aCA9IGhlaWdodCgpOworICAgIC8vIFBpeGVsIHNuYXAgYmFja2dyb3VuZC9ib3JkZXIgcGFpbnRp
bmcuCisgICAgSW50UmVjdCBmcmFtZVJlY3QgPSBwaXhlbFNuYXBwZWRGcmFtZVJlY3QoKTsKKyAg
ICBpbnQgeCA9IGZyYW1lUmVjdC54KCk7CisgICAgaW50IHkgPSBmcmFtZVJlY3QueSgpOworICAg
IGludCB3ID0gZnJhbWVSZWN0LndpZHRoKCk7CisgICAgaW50IGggPSBmcmFtZVJlY3QuaGVpZ2h0
KCk7CiAKICAgICAvLyBDb25zdHJhaW4gb3VyIGJhY2tncm91bmQvYm9yZGVyIHBhaW50aW5nIHRv
IHRoZSBsaW5lIHRvcCBhbmQgYm90dG9tIGlmIG5lY2Vzc2FyeS4KICAgICBib29sIG5vUXVpcmtz
TW9kZSA9IHJlbmRlcmVyKCktPmRvY3VtZW50KCktPmluTm9RdWlya3NNb2RlKCk7CkBAIC0xMTI2
LDEwICsxMTQwLDEyIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6cGFpbnRNYXNrKFBhaW50SW5mbyYK
ICAgICBpZiAoIXBhaW50SW5mby5zaG91bGRQYWludFdpdGhpblJvb3QocmVuZGVyZXIoKSkgfHwg
cmVuZGVyZXIoKS0+c3R5bGUoKS0+dmlzaWJpbGl0eSgpICE9IFZJU0lCTEUgfHwgcGFpbnRJbmZv
LnBoYXNlICE9IFBhaW50UGhhc2VNYXNrKQogICAgICAgICByZXR1cm47CiAKLSAgICBpbnQgeCA9
IG1feDsKLSAgICBpbnQgeSA9IG1feTsKLSAgICBpbnQgdyA9IHdpZHRoKCk7Ci0gICAgaW50IGgg
PSBoZWlnaHQoKTsKKyAgICAvLyBQaXhlbCBzbmFwIG1hc2sgcGFpbnRpbmcuCisgICAgSW50UmVj
dCBmcmFtZVJlY3QgPSBwaXhlbFNuYXBwZWRGcmFtZVJlY3QoKTsKKyAgICBpbnQgeCA9IGZyYW1l
UmVjdC54KCk7CisgICAgaW50IHkgPSBmcmFtZVJlY3QueSgpOworICAgIGludCB3ID0gZnJhbWVS
ZWN0LndpZHRoKCk7CisgICAgaW50IGggPSBmcmFtZVJlY3QuaGVpZ2h0KCk7CiAKICAgICAvLyBD
b25zdHJhaW4gb3VyIGJhY2tncm91bmQvYm9yZGVyIHBhaW50aW5nIHRvIHRoZSBsaW5lIHRvcCBh
bmQgYm90dG9tIGlmIG5lY2Vzc2FyeS4KICAgICBib29sIG5vUXVpcmtzTW9kZSA9IHJlbmRlcmVy
KCktPmRvY3VtZW50KCktPmluTm9RdWlya3NNb2RlKCk7CkBAIC0xMjMwLDE0ICsxMjQ2LDE0IEBA
IGJvb2wgSW5saW5lRmxvd0JveDo6Y2FuQWNjb21tb2RhdGVFbGxpcHMKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotaW50IElubGluZUZsb3dCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGlu
dCBibG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBi
b29sJiBmb3VuZEJveCkKK2Zsb2F0IElubGluZUZsb3dCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9v
bCBsdHIsIGZsb2F0IGJsb2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBl
bGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCkKIHsKLSAgICBpbnQgcmVzdWx0ID0gLTE7Cisg
ICAgZmxvYXQgcmVzdWx0ID0gLTE7CiAgICAgLy8gV2UgaXRlcmF0ZSBvdmVyIGFsbCBjaGlsZHJl
biwgdGhlIGZvdW5kQm94IHZhcmlhYmxlIHRlbGxzIHVzIHdoZW4gd2UndmUgZm91bmQgdGhlCiAg
ICAgLy8gYm94IGNvbnRhaW5pbmcgdGhlIGVsbGlwc2lzLiAgQWxsIGJveGVzIGFmdGVyIHRoYXQg
b25lIGluIHRoZSBmbG93IGFyZSBoaWRkZW4uCiAgICAgLy8gSWYgb3VyIGZsb3cgaXMgbHRyIHRo
ZW4gaXRlcmF0ZSBvdmVyIHRoZSBib3hlcyBmcm9tIGxlZnQgdG8gcmlnaHQsIG90aGVyd2lzZSBp
dGVyYXRlCiAgICAgLy8gZnJvbSByaWdodCB0byBsZWZ0LiBWYXJ5aW5nIHRoZSBvcmRlciBhbGxv
d3MgdXMgdG8gY29ycmVjdGx5IGhpZGUgdGhlIGJveGVzIGZvbGxvd2luZyB0aGUgZWxsaXBzaXMu
Ci0gICAgSW5saW5lQm94ICpib3ggPSBsdHIgPyBmaXJzdENoaWxkKCkgOiBsYXN0Q2hpbGQoKTsK
KyAgICBJbmxpbmVCb3gqIGJveCA9IGx0ciA/IGZpcnN0Q2hpbGQoKSA6IGxhc3RDaGlsZCgpOwog
CiAgICAgLy8gTk9URTogdGhlc2Ugd2lsbCBjcm9zcyBhZnRlciBmb3VuZEJveCA9IHRydWUuCiAg
ICAgaW50IHZpc2libGVMZWZ0RWRnZSA9IGJsb2NrTGVmdEVkZ2U7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgJKHJldmlzaW9uIDc4MzUwKQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAkod29ya2luZyBjb3B5KQpAQCAtOTMs
NiArOTMsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJUcnVuY2F0aW9uKCk7
CiAKKyAgICBJbnRSZWN0IHBpeGVsU25hcHBlZEZyYW1lUmVjdCgpIGNvbnN0OworICAgIAogICAg
IHZpcnR1YWwgdm9pZCBwYWludEJveERlY29yYXRpb25zKFBhaW50SW5mbyYsIGludCB0eCwgaW50
IHR5KTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRNYXNrKFBhaW50SW5mbyYsIGludCB0eCwgaW50
IHR5KTsKICAgICB2b2lkIHBhaW50RmlsbExheWVycyhjb25zdCBQYWludEluZm8mLCBjb25zdCBD
b2xvciYsIGNvbnN0IEZpbGxMYXllciosIGludCB0eCwgaW50IHR5LCBpbnQgdywgaW50IGgsIENv
bXBvc2l0ZU9wZXJhdG9yID0gQ29tcG9zaXRlU291cmNlT3Zlcik7CkBAIC0xNTUsNyArMTU3LDcg
QEAgcHVibGljOgogICAgIHZvaWQgZGV0ZXJtaW5lU3BhY2luZ0ZvckZsb3dCb3hlcyhib29sIGxh
c3RMaW5lLCBSZW5kZXJPYmplY3QqIGVuZE9iamVjdCk7CiAgICAgaW50IGdldEZsb3dTcGFjaW5n
TG9naWNhbFdpZHRoKCk7CiAgICAgYm9vbCBvbkVuZENoYWluKFJlbmRlck9iamVjdCogZW5kT2Jq
ZWN0KTsKLSAgICBpbnQgcGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9uKGludCBsb2dpY2FsTGVm
dCwgYm9vbCYgbmVlZHNXb3JkU3BhY2luZywgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNN
YXAmKTsKKyAgICBmbG9hdCBwbGFjZUJveGVzSW5JbmxpbmVEaXJlY3Rpb24oZmxvYXQgbG9naWNh
bExlZnQsIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0Zv
bnRzTWFwJik7CiAgICAgdm9pZCBjb21wdXRlTG9naWNhbEJveEhlaWdodHMoaW50JiBtYXhQb3Np
dGlvblRvcCwgaW50JiBtYXhQb3NpdGlvbkJvdHRvbSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQmIG1heEFzY2VudCwgaW50JiBtYXhEZXNjZW50LCBib29sJiBzZXRNYXhB
c2NlbnQsIGJvb2wmIHNldE1heERlc2NlbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYm9vbCBzdHJpY3RNb2RlLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYs
IEZvbnRCYXNlbGluZSwgVmVydGljYWxQb3NpdGlvbkNhY2hlJik7CkBAIC0xNzYsNyArMTc4LDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0OjpTZWxlY3Rpb25TdGF0ZSBzZWxl
Y3Rpb25TdGF0ZSgpOwogCiAgICAgdmlydHVhbCBib29sIGNhbkFjY29tbW9kYXRlRWxsaXBzaXMo
Ym9vbCBsdHIsIGludCBibG9ja0VkZ2UsIGludCBlbGxpcHNpc1dpZHRoKTsKLSAgICB2aXJ0dWFs
IGludCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBpbnQgYmxvY2tMZWZ0RWRnZSwgaW50IGJs
b2NrUmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCwgYm9vbCYpOworICAgIHZpcnR1YWwgZmxv
YXQgcGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQg
YmxvY2tSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmKTsKIAogICAgIGJvb2wg
aGFzVGV4dENoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbV9oYXNUZXh0Q2hpbGRyZW47IH0KIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNp
b24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTIwMSw3ICsyMDEsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OmF0
dGFjaExpbmUoKQogICAgIHRvUmVuZGVyVGV4dChyZW5kZXJlcigpKS0+YXR0YWNoVGV4dEJveCh0
aGlzKTsKIH0KIAotaW50IElubGluZVRleHRCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCBmbG93
SXNMVFIsIGludCB2aXNpYmxlTGVmdEVkZ2UsIGludCB2aXNpYmxlUmlnaHRFZGdlLCBpbnQgZWxs
aXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpCitmbG9hdCBJbmxpbmVUZXh0Qm94OjpwbGFjZUVs
bGlwc2lzQm94KGJvb2wgZmxvd0lzTFRSLCBmbG9hdCB2aXNpYmxlTGVmdEVkZ2UsIGZsb2F0IHZp
c2libGVSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KQogewog
ICAgIGlmIChmb3VuZEJveCkgewogICAgICAgICBtX3RydW5jYXRpb24gPSBjRnVsbFRydW5jYXRp
b247CkBAIC0yMDksNyArMjA5LDcgQEAgaW50IElubGluZVRleHRCb3g6OnBsYWNlRWxsaXBzaXNC
b3goYm9vbAogICAgIH0KIAogICAgIC8vIEZvciBMVFIgdGhpcyBpcyB0aGUgbGVmdCBlZGdlIG9m
IHRoZSBib3gsIGZvciBSVEwsIHRoZSByaWdodCBlZGdlIGluIHBhcmVudCBjb29yZGluYXRlcy4K
LSAgICBpbnQgZWxsaXBzaXNYID0gZmxvd0lzTFRSID8gdmlzaWJsZVJpZ2h0RWRnZSAtIGVsbGlw
c2lzV2lkdGggOiB2aXNpYmxlTGVmdEVkZ2UgKyBlbGxpcHNpc1dpZHRoOworICAgIGZsb2F0IGVs
bGlwc2lzWCA9IGZsb3dJc0xUUiA/IHZpc2libGVSaWdodEVkZ2UgLSBlbGxpcHNpc1dpZHRoIDog
dmlzaWJsZUxlZnRFZGdlICsgZWxsaXBzaXNXaWR0aDsKICAgICAKICAgICAvLyBDcml0ZXJpYSBm
b3IgZnVsbCB0cnVuY2F0aW9uOgogICAgIC8vIExUUjogdGhlIGxlZnQgZWRnZSBvZiB0aGUgZWxs
aXBzaXMgaXMgdG8gdGhlIGxlZnQgb2Ygb3VyIHRleHQgcnVuLgpAQCAtMjUxLDcgKzI1MSw3IEBA
IGludCBJbmxpbmVUZXh0Qm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wKIAogICAgICAgICAvLyBJ
ZiB3ZSBnb3QgaGVyZSB0aGF0IG1lYW5zIHRoYXQgd2Ugd2VyZSBvbmx5IHBhcnRpYWxseSB0cnVu
Y2F0ZWQgYW5kIHdlIG5lZWQgdG8gcmV0dXJuIHRoZSBwaXhlbCBvZmZzZXQgYXQgd2hpY2gKICAg
ICAgICAgLy8gdG8gcGxhY2UgdGhlIGVsbGlwc2lzLgotICAgICAgICBpbnQgd2lkdGhPZlZpc2li
bGVUZXh0ID0gdG9SZW5kZXJUZXh0KHJlbmRlcmVyKCkpLT53aWR0aChtX3N0YXJ0LCBvZmZzZXQs
IHRleHRQb3MoKSwgbV9maXJzdExpbmUpOworICAgICAgICBmbG9hdCB3aWR0aE9mVmlzaWJsZVRl
eHQgPSB0b1JlbmRlclRleHQocmVuZGVyZXIoKSktPndpZHRoKG1fc3RhcnQsIG9mZnNldCwgdGV4
dFBvcygpLCBtX2ZpcnN0TGluZSk7CiAKICAgICAgICAgLy8gVGhlIGVsbGlwc2lzIG5lZWRzIHRv
IGJlIHBsYWNlZCBqdXN0IGFmdGVyIHRoZSBsYXN0IHZpc2libGUgY2hhcmFjdGVyLgogICAgICAg
ICAvLyBXaGVyZSAiYWZ0ZXIiIGlzIGRlZmluZWQgYnkgdGhlIGZsb3cgZGlyZWN0aW9uYWxpdHks
IG5vdCB0aGUgaW5saW5lCkBAIC0zMTksOSArMzE5LDkgQEAgYm9vbCBJbmxpbmVUZXh0Qm94Ojpu
b2RlQXRQb2ludChjb25zdCBIaQogICAgIGlmIChpc0xpbmVCcmVhaygpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKLSAgICBJbnRQb2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGluZ0Zs
aXBwaW5nKCk7CisgICAgRmxvYXRQb2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGluZ0Zs
aXBwaW5nKCk7CiAgICAgYm94T3JpZ2luLm1vdmUodHgsIHR5KTsKLSAgICBJbnRSZWN0IHJlY3Qo
Ym94T3JpZ2luLCBJbnRTaXplKHdpZHRoKCksIGhlaWdodCgpKSk7CisgICAgRmxvYXRSZWN0IHJl
Y3QoYm94T3JpZ2luLCBJbnRTaXplKHdpZHRoKCksIGhlaWdodCgpKSk7CiAgICAgaWYgKG1fdHJ1
bmNhdGlvbiAhPSBjRnVsbFRydW5jYXRpb24gJiYgdmlzaWJsZVRvSGl0VGVzdGluZygpICYmIHJl
Y3QuaW50ZXJzZWN0cyhyZXN1bHQucmVjdEZvclBvaW50KHgsIHkpKSkgewogICAgICAgICByZW5k
ZXJlcigpLT51cGRhdGVIaXRUZXN0UmVzdWx0KHJlc3VsdCwgZmxpcEZvcldyaXRpbmdNb2RlKElu
dFBvaW50KHggLSB0eCwgeSAtIHR5KSkpOwogICAgICAgICBpZiAoIXJlc3VsdC5hZGROb2RlVG9S
ZWN0QmFzZWRUZXN0UmVzdWx0KHJlbmRlcmVyKCktPm5vZGUoKSwgeCwgeSwgcmVjdCkpCkBAIC0z
NTcsOCArMzU3LDggQEAgRmxvYXRTaXplIElubGluZVRleHRCb3g6OmFwcGx5U2hhZG93VG9Hcgog
ICAgIHJldHVybiBleHRyYU9mZnNldDsKIH0KIAotc3RhdGljIHZvaWQgcGFpbnRUZXh0V2l0aFNo
YWRvd3MoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25zdCBU
ZXh0UnVuJiB0ZXh0UnVuLCBjb25zdCBBdG9taWNTdHJpbmcmIGVtcGhhc2lzTWFyaywgaW50IGVt
cGhhc2lzTWFya09mZnNldCwgaW50IHN0YXJ0T2Zmc2V0LCBpbnQgZW5kT2Zmc2V0LCBpbnQgdHJ1
bmNhdGlvblBvaW50LCBjb25zdCBJbnRQb2ludCYgdGV4dE9yaWdpbiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IEludFJlY3QmIGJveFJlY3QsIGNvbnN0IFNoYWRvd0Rh
dGEqIHNoYWRvdywgYm9vbCBzdHJva2VkLCBib29sIGhvcml6b250YWwpCitzdGF0aWMgdm9pZCBw
YWludFRleHRXaXRoU2hhZG93cyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZvbnQm
IGZvbnQsIGNvbnN0IFRleHRSdW4mIHRleHRSdW4sIGNvbnN0IEF0b21pY1N0cmluZyYgZW1waGFz
aXNNYXJrLCBpbnQgZW1waGFzaXNNYXJrT2Zmc2V0LCBpbnQgc3RhcnRPZmZzZXQsIGludCBlbmRP
ZmZzZXQsIGludCB0cnVuY2F0aW9uUG9pbnQsIGNvbnN0IEZsb2F0UG9pbnQmIHRleHRPcmlnaW4s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGbG9hdFJlY3QmIGJveFJl
Y3QsIGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdywgYm9vbCBzdHJva2VkLCBib29sIGhvcml6b250
YWwpCiB7CiAgICAgQ29sb3IgZmlsbENvbG9yID0gY29udGV4dC0+ZmlsbENvbG9yKCk7CiAgICAg
Q29sb3JTcGFjZSBmaWxsQ29sb3JTcGFjZSA9IGNvbnRleHQtPmZpbGxDb2xvclNwYWNlKCk7CkBA
IC00ODIsMTAgKzQ4MiwxMCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50KFBhaW50SW5mbyYg
cGFpCiAgICAgCiAgICAgdHkgLT0gc3R5bGVUb1VzZS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSA/IDAgOiBsb2dpY2FsSGVpZ2h0KCk7CiAKLSAgICBJbnRQb2ludCBib3hPcmlnaW4gPSBsb2Nh
dGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgRmxvYXRQb2ludCBib3hPcmlnaW4gPSBsb2Nh
dGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CiAgICAgYm94T3JpZ2luLm1vdmUodHgsIHR5KTsgICAg
Ci0gICAgSW50UmVjdCBib3hSZWN0KGJveE9yaWdpbiwgSW50U2l6ZShsb2dpY2FsV2lkdGgoKSwg
bG9naWNhbEhlaWdodCgpKSk7Ci0gICAgSW50UG9pbnQgdGV4dE9yaWdpbiA9IEludFBvaW50KGJv
eE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgKyBzdHlsZVRvVXNlLT5mb250TWV0cmljcygpLmFz
Y2VudCgpKTsKKyAgICBGbG9hdFJlY3QgYm94UmVjdChib3hPcmlnaW4sIEludFNpemUobG9naWNh
bFdpZHRoKCksIGxvZ2ljYWxIZWlnaHQoKSkpOworICAgIEZsb2F0UG9pbnQgdGV4dE9yaWdpbiA9
IEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSArIHN0eWxlVG9Vc2UtPmZv
bnRNZXRyaWNzKCkuYXNjZW50KCkpOwogCiAgICAgUmVuZGVyQ29tYmluZVRleHQqIGNvbWJpbmVk
VGV4dCA9IHN0eWxlVG9Vc2UtPmhhc1RleHRDb21iaW5lKCkgPyB0b1JlbmRlckNvbWJpbmVUZXh0
KHRleHRSZW5kZXJlcigpKSA6IDA7CiAgICAgYm9vbCBzaG91bGRSb3RhdGUgPSAhaXNIb3Jpem9u
dGFsKCkgJiYgKCFjb21iaW5lZFRleHQgfHwgIWNvbWJpbmVkVGV4dC0+aXNDb21iaW5lZCgpKTsK
QEAgLTczNiw3ICs3MzYsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnNlbGVjdGlvblN0YXJ0RW5k
KGluCiAgICAgZVBvcyA9IG1pbihlbmRQb3MgLSBtX3N0YXJ0LCAoaW50KW1fbGVuKTsKIH0KIAot
dm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlvbihHcmFwaGljc0NvbnRleHQqIGNvbnRl
eHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3Qg
Rm9udCYgZm9udCkKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb24oR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxl
KiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCkKIHsKICAgICAvLyBTZWUgaWYgd2UgaGF2ZSBhIHNl
bGVjdGlvbiB0byBwYWludCBhdCBhbGwuCiAgICAgaW50IHNQb3MsIGVQb3M7CkBAIC03NzAsMTUg
Kzc3MCwxNSBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50U2VsZWN0aW9uKEdyYXBoCiAKICAg
ICBpbnQgZGVsdGFZID0gcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkTGluZXNXcml0aW5n
TW9kZSgpID8gc2VsZWN0aW9uQm90dG9tKCkgLSBsb2dpY2FsQm90dG9tKCkgOiBsb2dpY2FsVG9w
KCkgLSBzZWxlY3Rpb25Ub3AoKTsKICAgICBpbnQgc2VsSGVpZ2h0ID0gc2VsZWN0aW9uSGVpZ2h0
KCk7Ci0gICAgSW50UG9pbnQgbG9jYWxPcmlnaW4oYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnko
KSAtIGRlbHRhWSk7Ci0gICAgY29udGV4dC0+Y2xpcChJbnRSZWN0KGxvY2FsT3JpZ2luLCBJbnRT
aXplKG1fbG9naWNhbFdpZHRoLCBzZWxIZWlnaHQpKSk7CisgICAgRmxvYXRQb2ludCBsb2NhbE9y
aWdpbihib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKKyAgICBjb250ZXh0
LT5jbGlwKEZsb2F0UmVjdChsb2NhbE9yaWdpbiwgRmxvYXRTaXplKG1fbG9naWNhbFdpZHRoLCBz
ZWxIZWlnaHQpKSk7CiAgICAgY29udGV4dC0+ZHJhd0hpZ2hsaWdodEZvclRleHQoZm9udCwgVGV4
dFJ1bihjaGFyYWN0ZXJzLCBsZW5ndGgsIHRleHRSZW5kZXJlcigpLT5hbGxvd1RhYnMoKSwgdGV4
dFBvcygpLCBtX2V4cGFuc2lvbiwgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvcigpLCAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpLCBt
X2Rpck92ZXJyaWRlIHx8IHN0eWxlLT52aXN1YWxseU9yZGVyZWQoKSksCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbG9jYWxPcmlnaW4sIHNlbEhlaWdodCwgYywgc3R5bGUtPmNv
bG9yU3BhY2UoKSwgc1BvcywgZVBvcyk7CiAgICAgY29udGV4dC0+cmVzdG9yZSgpOwogfQogCi12
b2lkIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25CYWNrZ3JvdW5kKEdyYXBoaWNzQ29u
dGV4dCogY29udGV4dCwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0
eWxlLCBjb25zdCBGb250JiBmb250LCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpCit2b2lkIElu
bGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25CYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCog
Y29udGV4dCwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSogc3R5bGUs
IGNvbnN0IEZvbnQmIGZvbnQsIGludCBzdGFydFBvcywgaW50IGVuZFBvcykKIHsKICAgICBpbnQg
b2Zmc2V0ID0gbV9zdGFydDsKICAgICBpbnQgc1BvcyA9IG1heChzdGFydFBvcyAtIG9mZnNldCwg
MCk7CkBAIC03OTUsNyArNzk1LDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0
aW9uQmFjawogCiAgICAgaW50IGRlbHRhWSA9IHJlbmRlcmVyKCktPnN0eWxlKCktPmlzRmxpcHBl
ZExpbmVzV3JpdGluZ01vZGUoKSA/IHNlbGVjdGlvbkJvdHRvbSgpIC0gbG9naWNhbEJvdHRvbSgp
IDogbG9naWNhbFRvcCgpIC0gc2VsZWN0aW9uVG9wKCk7CiAgICAgaW50IHNlbEhlaWdodCA9IHNl
bGVjdGlvbkhlaWdodCgpOwotICAgIEludFBvaW50IGxvY2FsT3JpZ2luKGJveE9yaWdpbi54KCks
IGJveE9yaWdpbi55KCkgLSBkZWx0YVkpOworICAgIEZsb2F0UG9pbnQgbG9jYWxPcmlnaW4oYm94
T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSk7CiAgICAgY29udGV4dC0+ZHJhd0hp
Z2hsaWdodEZvclRleHQoZm9udCwgVGV4dFJ1bih0ZXh0UmVuZGVyZXIoKS0+dGV4dCgpLT5jaGFy
YWN0ZXJzKCkgKyBtX3N0YXJ0LCBtX2xlbiwgdGV4dFJlbmRlcmVyKCktPmFsbG93VGFicygpLCB0
ZXh0UG9zKCksIG1fZXhwYW5zaW9uLCB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yKCksCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwg
bV9kaXJPdmVycmlkZSB8fCBzdHlsZS0+dmlzdWFsbHlPcmRlcmVkKCkpLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGxvY2FsT3JpZ2luLCBzZWxIZWlnaHQsIGMsIHN0eWxlLT5j
b2xvclNwYWNlKCksIHNQb3MsIGVQb3MpOwpAQCAtODIyLDE0ICs4MjIsMTQgQEAgdm9pZCBJbmxp
bmVUZXh0Qm94OjpwYWludEN1c3RvbUhpZ2hsaWdodAogCiAjZW5kaWYKIAotdm9pZCBJbmxpbmVU
ZXh0Qm94OjpwYWludERlY29yYXRpb24oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJ
bnRQb2ludCYgYm94T3JpZ2luLCBpbnQgZGVjbywgY29uc3QgU2hhZG93RGF0YSogc2hhZG93KQor
dm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oR3JhcGhpY3NDb250ZXh0KiBjb250
ZXh0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGludCBkZWNvLCBjb25zdCBTaGFkb3dE
YXRhKiBzaGFkb3cpCiB7CiAgICAgaWYgKG1fdHJ1bmNhdGlvbiA9PSBjRnVsbFRydW5jYXRpb24p
CiAgICAgICAgIHJldHVybjsKIAotICAgIEludFBvaW50IGxvY2FsT3JpZ2luID0gYm94T3JpZ2lu
OworICAgIEZsb2F0UG9pbnQgbG9jYWxPcmlnaW4gPSBib3hPcmlnaW47CiAKLSAgICBpbnQgd2lk
dGggPSBtX2xvZ2ljYWxXaWR0aDsKKyAgICBmbG9hdCB3aWR0aCA9IG1fbG9naWNhbFdpZHRoOwog
ICAgIGlmIChtX3RydW5jYXRpb24gIT0gY05vVHJ1bmNhdGlvbikgewogICAgICAgICB3aWR0aCA9
IHRvUmVuZGVyVGV4dChyZW5kZXJlcigpKS0+d2lkdGgobV9zdGFydCwgbV90cnVuY2F0aW9uLCB0
ZXh0UG9zKCksIG1fZmlyc3RMaW5lKTsKICAgICAgICAgaWYgKCFpc0xlZnRUb1JpZ2h0RGlyZWN0
aW9uKCkpCkBAIC04NTMsOSArODUzLDkgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29y
YXRpb24oR3JhcAogICAgIGludCBleHRyYU9mZnNldCA9IDA7CiAgICAgaWYgKCFsaW5lc0FyZU9w
YXF1ZSAmJiBzaGFkb3cgJiYgc2hhZG93LT5uZXh0KCkpIHsKICAgICAgICAgY29udGV4dC0+c2F2
ZSgpOwotICAgICAgICBJbnRSZWN0IGNsaXBSZWN0KGxvY2FsT3JpZ2luLCBJbnRTaXplKHdpZHRo
LCBiYXNlbGluZSArIDIpKTsKKyAgICAgICAgRmxvYXRSZWN0IGNsaXBSZWN0KGxvY2FsT3JpZ2lu
LCBGbG9hdFNpemUod2lkdGgsIGJhc2VsaW5lICsgMikpOwogICAgICAgICBmb3IgKGNvbnN0IFNo
YWRvd0RhdGEqIHMgPSBzaGFkb3c7IHM7IHMgPSBzLT5uZXh0KCkpIHsKLSAgICAgICAgICAgIElu
dFJlY3Qgc2hhZG93UmVjdChsb2NhbE9yaWdpbiwgSW50U2l6ZSh3aWR0aCwgYmFzZWxpbmUgKyAy
KSk7CisgICAgICAgICAgICBGbG9hdFJlY3Qgc2hhZG93UmVjdChsb2NhbE9yaWdpbiwgRmxvYXRT
aXplKHdpZHRoLCBiYXNlbGluZSArIDIpKTsKICAgICAgICAgICAgIHNoYWRvd1JlY3QuaW5mbGF0
ZShzLT5ibHVyKCkpOwogICAgICAgICAgICAgaW50IHNoYWRvd1ggPSBpc0hvcml6b250YWwoKSA/
IHMtPngoKSA6IHMtPnkoKTsKICAgICAgICAgICAgIGludCBzaGFkb3dZID0gaXNIb3Jpem9udGFs
KCkgPyBzLT55KCkgOiAtcy0+eCgpOwpAQCAtODgyLDcgKzg4Miw3IEBAIHZvaWQgSW5saW5lVGV4
dEJveDo6cGFpbnREZWNvcmF0aW9uKEdyYXAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlu
dCBzaGFkb3dYID0gaXNIb3Jpem9udGFsKCkgPyBzaGFkb3ctPngoKSA6IHNoYWRvdy0+eSgpOwog
ICAgICAgICAgICAgaW50IHNoYWRvd1kgPSBpc0hvcml6b250YWwoKSA/IHNoYWRvdy0+eSgpIDog
LXNoYWRvdy0+eCgpOwotICAgICAgICAgICAgY29udGV4dC0+c2V0U2hhZG93KEludFNpemUoc2hh
ZG93WCwgc2hhZG93WSAtIGV4dHJhT2Zmc2V0KSwgc2hhZG93LT5ibHVyKCksIHNoYWRvdy0+Y29s
b3IoKSwgY29sb3JTcGFjZSk7CisgICAgICAgICAgICBjb250ZXh0LT5zZXRTaGFkb3coRmxvYXRT
aXplKHNoYWRvd1gsIHNoYWRvd1kgLSBleHRyYU9mZnNldCksIHNoYWRvdy0+Ymx1cigpLCBzaGFk
b3ctPmNvbG9yKCksIGNvbG9yU3BhY2UpOwogICAgICAgICAgICAgc2V0U2hhZG93ID0gdHJ1ZTsK
ICAgICAgICAgICAgIHNoYWRvdyA9IHNoYWRvdy0+bmV4dCgpOwogICAgICAgICB9CkBAIC04OTEs
NyArODkxLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oR3JhcAogICAg
ICAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlQ29sb3IodW5kZXJsaW5lLCBjb2xvclNwYWNlKTsK
ICAgICAgICAgICAgIGNvbnRleHQtPnNldFN0cm9rZVN0eWxlKFNvbGlkU3Ryb2tlKTsKICAgICAg
ICAgICAgIC8vIExlYXZlIG9uZSBwaXhlbCBvZiB3aGl0ZSBiZXR3ZWVuIHRoZSBiYXNlbGluZSBh
bmQgdGhlIHVuZGVybGluZS4KLSAgICAgICAgICAgIGNvbnRleHQtPmRyYXdMaW5lRm9yVGV4dChJ
bnRQb2ludChsb2NhbE9yaWdpbi54KCksIGxvY2FsT3JpZ2luLnkoKSArIGJhc2VsaW5lICsgMSks
IHdpZHRoLCBpc1ByaW50aW5nKTsKKyAgICAgICAgICAgIGNvbnRleHQtPmRyYXdMaW5lRm9yVGV4
dChGbG9hdFBvaW50KGxvY2FsT3JpZ2luLngoKSwgbG9jYWxPcmlnaW4ueSgpICsgYmFzZWxpbmUg
KyAxKSwgd2lkdGgsIGlzUHJpbnRpbmcpOwogICAgICAgICB9CiAgICAgICAgIGlmIChkZWNvICYg
T1ZFUkxJTkUpIHsKICAgICAgICAgICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKG92ZXJsaW5l
LCBjb2xvclNwYWNlKTsKQEAgLTkwMSw3ICs5MDEsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBh
aW50RGVjb3JhdGlvbihHcmFwCiAgICAgICAgIGlmIChkZWNvICYgTElORV9USFJPVUdIKSB7CiAg
ICAgICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VDb2xvcihsaW5ldGhyb3VnaCwgY29sb3JTcGFj
ZSk7CiAgICAgICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VTdHlsZShTb2xpZFN0cm9rZSk7Ci0g
ICAgICAgICAgICBjb250ZXh0LT5kcmF3TGluZUZvclRleHQoSW50UG9pbnQobG9jYWxPcmlnaW4u
eCgpLCBsb2NhbE9yaWdpbi55KCkgKyAyICogYmFzZWxpbmUgLyAzKSwgd2lkdGgsIGlzUHJpbnRp
bmcpOworICAgICAgICAgICAgY29udGV4dC0+ZHJhd0xpbmVGb3JUZXh0KEZsb2F0UG9pbnQobG9j
YWxPcmlnaW4ueCgpLCBsb2NhbE9yaWdpbi55KCkgKyAyICogYmFzZWxpbmUgLyAzKSwgd2lkdGgs
IGlzUHJpbnRpbmcpOwogICAgICAgICB9CiAgICAgfSB3aGlsZSAoc2hhZG93KTsKIApAQCAtOTI2
LDcgKzkyNiw3IEBAIHN0YXRpYyBHcmFwaGljc0NvbnRleHQ6OlRleHRDaGVja2luZ0xpbmUKICAg
ICB9CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGluZ09yR3JhbW1hck1hcmtl
cihHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBE
b2N1bWVudE1hcmtlciYgbWFya2VyLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZv
bnQsIGJvb2wgZ3JhbW1hcikKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGluZ09yR3Jh
bW1hck1hcmtlcihHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmln
aW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiBtYXJrZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29u
c3QgRm9udCYgZm9udCwgYm9vbCBncmFtbWFyKQogewogICAgIC8vIE5ldmVyIHByaW50IHNwZWxs
aW5nL2dyYW1tYXIgbWFya2VycyAoNTMyNzg4NykKICAgICBpZiAodGV4dFJlbmRlcmVyKCktPmRv
Y3VtZW50KCktPnByaW50aW5nKCkpCkBAIC05MzUsOCArOTM1LDggQEAgdm9pZCBJbmxpbmVUZXh0
Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbQogICAgIGlmIChtX3RydW5jYXRpb24gPT0gY0Z1bGxU
cnVuY2F0aW9uKQogICAgICAgICByZXR1cm47CiAKLSAgICBpbnQgc3RhcnQgPSAwOyAgICAgICAg
ICAgICAgICAgIC8vIHN0YXJ0IG9mIGxpbmUgdG8gZHJhdywgcmVsYXRpdmUgdG8gdHgKLSAgICBp
bnQgd2lkdGggPSBtX2xvZ2ljYWxXaWR0aDsgICAgICAgICAgICAvLyBob3cgbXVjaCBsaW5lIHRv
IGRyYXcKKyAgICBmbG9hdCBzdGFydCA9IDA7IC8vIHN0YXJ0IG9mIGxpbmUgdG8gZHJhdywgcmVs
YXRpdmUgdG8gdHgKKyAgICBmbG9hdCB3aWR0aCA9IG1fbG9naWNhbFdpZHRoOyAvLyBob3cgbXVj
aCBsaW5lIHRvIGRyYXcKIAogICAgIC8vIERldGVybWluZSB3aGV0aGVyIHdlIG5lZWQgdG8gbWVh
c3VyZSB0ZXh0CiAgICAgYm9vbCBtYXJrZXJTcGFuc1dob2xlQm94ID0gdHJ1ZTsKQEAgLTk1Nyw5
ICs5NTcsMTAgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbQogICAg
ICAgICAvLyBDYWxjdWxhdGUgc3RhcnQgJiB3aWR0aAogICAgICAgICBpbnQgZGVsdGFZID0gcmVu
ZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkTGluZXNXcml0aW5nTW9kZSgpID8gc2VsZWN0aW9u
Qm90dG9tKCkgLSBsb2dpY2FsQm90dG9tKCkgOiBsb2dpY2FsVG9wKCkgLSBzZWxlY3Rpb25Ub3Ao
KTsKICAgICAgICAgaW50IHNlbEhlaWdodCA9IHNlbGVjdGlvbkhlaWdodCgpOwotICAgICAgICBJ
bnRQb2ludCBzdGFydFBvaW50KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVkp
OworICAgICAgICBGbG9hdFBvaW50IHN0YXJ0UG9pbnQoYm94T3JpZ2luLngoKSwgYm94T3JpZ2lu
LnkoKSAtIGRlbHRhWSk7CiAgICAgICAgIFRleHRSdW4gcnVuKHRleHRSZW5kZXJlcigpLT50ZXh0
KCktPmNoYXJhY3RlcnMoKSArIG1fc3RhcnQsIG1fbGVuLCB0ZXh0UmVuZGVyZXIoKS0+YWxsb3dU
YWJzKCksIHRleHRQb3MoKSwgbV9leHBhbnNpb24sIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3Io
KSwgIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgbV9kaXJPdmVycmlkZSB8fCBzdHlsZS0+dmlz
dWFsbHlPcmRlcmVkKCkpOwotICAgICAgICAgCisgICAgICAgIAorICAgICAgICAvLyBGSVhNRTog
Q29udmVydCB0aGUgZG9jdW1lbnQgbWFya2VycyB0byBmbG9hdCByZWN0cy4KICAgICAgICAgSW50
UmVjdCBtYXJrZXJSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChmb250LnNlbGVjdGlvblJlY3RGb3JU
ZXh0KHJ1biwgc3RhcnRQb2ludCwgc2VsSGVpZ2h0LCBzdGFydFBvc2l0aW9uLCBlbmRQb3NpdGlv
bikpOwogICAgICAgICBzdGFydCA9IG1hcmtlclJlY3QueCgpIC0gc3RhcnRQb2ludC54KCk7CiAg
ICAgICAgIHdpZHRoID0gbWFya2VyUmVjdC53aWR0aCgpOwpAQCAtOTkwLDEwICs5OTEsMTAgQEAg
dm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbQogICAgICAgICAvLyBJbiBs
YXJnZXIgZm9udHMsIHRob3VnaCwgcGxhY2UgdGhlIHVuZGVybGluZSB1cCBuZWFyIHRoZSBiYXNl
bGluZSB0byBwcmV2ZW50IGEgYmlnIGdhcC4KICAgICAgICAgdW5kZXJsaW5lT2Zmc2V0ID0gYmFz
ZWxpbmUgKyAyOwogICAgIH0KLSAgICBwdC0+ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoSW50UG9p
bnQoYm94T3JpZ2luLngoKSArIHN0YXJ0LCBib3hPcmlnaW4ueSgpICsgdW5kZXJsaW5lT2Zmc2V0
KSwgd2lkdGgsIHRleHRDaGVja2luZ0xpbmVTdHlsZUZvck1hcmtlclR5cGUobWFya2VyLnR5cGUp
KTsKKyAgICBwdC0+ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoRmxvYXRQb2ludChib3hPcmlnaW4u
eCgpICsgc3RhcnQsIGJveE9yaWdpbi55KCkgKyB1bmRlcmxpbmVPZmZzZXQpLCB3aWR0aCwgdGV4
dENoZWNraW5nTGluZVN0eWxlRm9yTWFya2VyVHlwZShtYXJrZXIudHlwZSkpOwogfQogCi12b2lk
IElubGluZVRleHRCb3g6OnBhaW50VGV4dE1hdGNoTWFya2VyKEdyYXBoaWNzQ29udGV4dCogcHQs
IGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiBtYXJrZXIs
IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCkKK3ZvaWQgSW5saW5lVGV4dEJv
eDo6cGFpbnRUZXh0TWF0Y2hNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiBwdCwgY29uc3QgRmxvYXRQ
b2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYgbWFya2VyLCBSZW5kZXJTdHls
ZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQpCiB7CiAgICAgLy8gVXNlIHNhbWUgeSBwb3NpdGlv
bmluZyBhbmQgaGVpZ2h0IGFzIGZvciBzZWxlY3Rpb24sIHNvIHRoYXQgd2hlbiB0aGUgc2VsZWN0
aW9uIGFuZCB0aGlzIGhpZ2hsaWdodCBhcmUgb24KICAgICAvLyB0aGUgc2FtZSB3b3JkIHRoZXJl
IGFyZSBubyBwaWVjZXMgc3RpY2tpbmcgb3V0LgpAQCAtMTAxNiw4ICsxMDE3LDggQEAgdm9pZCBJ
bmxpbmVUZXh0Qm94OjpwYWludFRleHRNYXRjaE1hcmtlcgogICAgICAgICAgICAgcmVuZGVyZXIo
KS0+dGhlbWUoKS0+cGxhdGZvcm1JbmFjdGl2ZVRleHRTZWFyY2hIaWdobGlnaHRDb2xvcigpOwog
ICAgICAgICBwdC0+c2F2ZSgpOwogICAgICAgICB1cGRhdGVHcmFwaGljc0NvbnRleHQocHQsIGNv
bG9yLCBjb2xvciwgMCwgc3R5bGUtPmNvbG9yU3BhY2UoKSk7ICAvLyBEb24ndCBkcmF3IHRleHQg
YXQgYWxsIQotICAgICAgICBwdC0+Y2xpcChJbnRSZWN0KGJveE9yaWdpbi54KCksIGJveE9yaWdp
bi55KCkgLSBkZWx0YVksIG1fbG9naWNhbFdpZHRoLCBzZWxIZWlnaHQpKTsKLSAgICAgICAgcHQt
PmRyYXdIaWdobGlnaHRGb3JUZXh0KGZvbnQsIHJ1biwgSW50UG9pbnQoYm94T3JpZ2luLngoKSwg
Ym94T3JpZ2luLnkoKSAtIGRlbHRhWSksIHNlbEhlaWdodCwgY29sb3IsIHN0eWxlLT5jb2xvclNw
YWNlKCksIHNQb3MsIGVQb3MpOworICAgICAgICBwdC0+Y2xpcChGbG9hdFJlY3QoYm94T3JpZ2lu
LngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSwgbV9sb2dpY2FsV2lkdGgsIHNlbEhlaWdodCkp
OworICAgICAgICBwdC0+ZHJhd0hpZ2hsaWdodEZvclRleHQoZm9udCwgcnVuLCBGbG9hdFBvaW50
KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVkpLCBzZWxIZWlnaHQsIGNvbG9y
LCBzdHlsZS0+Y29sb3JTcGFjZSgpLCBzUG9zLCBlUG9zKTsKICAgICAgICAgcHQtPnJlc3RvcmUo
KTsKICAgICB9CiB9CkBAIC0xMDM5LDcgKzEwNDAsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OmNv
bXB1dGVSZWN0Rm9yUmVwbGFjCiAgICAgcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+bWFya2Vycygp
LT5zZXRSZW5kZXJlZFJlY3RGb3JNYXJrZXIocmVuZGVyZXIoKS0+bm9kZSgpLCBtYXJrZXIsIG1h
cmtlclJlY3QpOwogfQogICAgIAotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERvY3VtZW50TWFy
a2VycyhHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBSZW5k
ZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgYmFja2dyb3VuZCkKK3ZvaWQg
SW5saW5lVGV4dEJveDo6cGFpbnREb2N1bWVudE1hcmtlcnMoR3JhcGhpY3NDb250ZXh0KiBwdCwg
Y29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZv
bnQmIGZvbnQsIGJvb2wgYmFja2dyb3VuZCkKIHsKICAgICBpZiAoIXJlbmRlcmVyKCktPm5vZGUo
KSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTA5OSwxNCArMTEwMCwxMyBAQCB2b2lkIElubGluZVRl
eHRCb3g6OnBhaW50RG9jdW1lbnRNYXJrZXJzCiAgICAgfQogfQogCi0KLXZvaWQgSW5saW5lVGV4
dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGVybGluZShHcmFwaGljc0NvbnRleHQqIGN0eCwgY29u
c3QgSW50UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgQ29tcG9zaXRpb25VbmRlcmxpbmUmIHVuZGVy
bGluZSkKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGVybGluZShHcmFw
aGljc0NvbnRleHQqIGN0eCwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBDb21w
b3NpdGlvblVuZGVybGluZSYgdW5kZXJsaW5lKQogewogICAgIGlmIChtX3RydW5jYXRpb24gPT0g
Y0Z1bGxUcnVuY2F0aW9uKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgaW50IHN0YXJ0ID0g
MDsgICAgICAgICAgICAgICAgIC8vIHN0YXJ0IG9mIGxpbmUgdG8gZHJhdywgcmVsYXRpdmUgdG8g
dHgKLSAgICBpbnQgd2lkdGggPSBtX2xvZ2ljYWxXaWR0aDsgICAgICAgICAgIC8vIGhvdyBtdWNo
IGxpbmUgdG8gZHJhdworICAgIGZsb2F0IHN0YXJ0ID0gMDsgLy8gc3RhcnQgb2YgbGluZSB0byBk
cmF3LCByZWxhdGl2ZSB0byB0eAorICAgIGZsb2F0IHdpZHRoID0gbV9sb2dpY2FsV2lkdGg7IC8v
IGhvdyBtdWNoIGxpbmUgdG8gZHJhdwogICAgIGJvb2wgdXNlV2hvbGVXaWR0aCA9IHRydWU7CiAg
ICAgdW5zaWduZWQgcGFpbnRTdGFydCA9IG1fc3RhcnQ7CiAgICAgdW5zaWduZWQgcGFpbnRFbmQg
PSBlbmQoKSArIDE7IC8vIGVuZCBwb2ludHMgYXQgdGhlIGxhc3QgY2hhciwgbm90IHBhc3QgaXQK
QEAgLTExNDIsNyArMTE0Miw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlv
blVuZGUKIAogICAgIGN0eC0+c2V0U3Ryb2tlQ29sb3IodW5kZXJsaW5lLmNvbG9yLCByZW5kZXJl
cigpLT5zdHlsZSgpLT5jb2xvclNwYWNlKCkpOwogICAgIGN0eC0+c2V0U3Ryb2tlVGhpY2tuZXNz
KGxpbmVUaGlja25lc3MpOwotICAgIGN0eC0+ZHJhd0xpbmVGb3JUZXh0KEludFBvaW50KGJveE9y
aWdpbi54KCkgKyBzdGFydCwgYm94T3JpZ2luLnkoKSArIGxvZ2ljYWxIZWlnaHQoKSAtIGxpbmVU
aGlja25lc3MpLCB3aWR0aCwgdGV4dFJlbmRlcmVyKCktPmRvY3VtZW50KCktPnByaW50aW5nKCkp
OworICAgIGN0eC0+ZHJhd0xpbmVGb3JUZXh0KEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSArIHN0
YXJ0LCBib3hPcmlnaW4ueSgpICsgbG9naWNhbEhlaWdodCgpIC0gbGluZVRoaWNrbmVzcyksIHdp
ZHRoLCB0ZXh0UmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+cHJpbnRpbmcoKSk7CiB9CiAKIGludCBJ
bmxpbmVUZXh0Qm94OjpjYXJldE1pbk9mZnNldCgpIGNvbnN0CkBAIC0xMTYwLDcgKzExNjAsNyBA
QCB1bnNpZ25lZCBJbmxpbmVUZXh0Qm94OjpjYXJldE1heFJlbmRlcmVkCiAgICAgcmV0dXJuIG1f
c3RhcnQgKyBtX2xlbjsKIH0KIAotaW50IElubGluZVRleHRCb3g6OnRleHRQb3MoKSBjb25zdAor
ZmxvYXQgSW5saW5lVGV4dEJveDo6dGV4dFBvcygpIGNvbnN0CiB7CiAgICAgLy8gV2hlbiBjb21w
dXRpbmcgdGhlIHdpZHRoIG9mIGEgdGV4dCBydW4sIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5l
RGlyZWN0aW9uUG9zaXRpb25zRm9yTGluZSgpIGRvZXNuJ3QgaW5jbHVkZSB0aGUgYWN0dWFsIG9m
ZnNldAogICAgIC8vIGZyb20gdGhlIGNvbnRhaW5pbmcgYmxvY2sgZWRnZSBpbiBpdHMgbWVhc3Vy
ZW1lbnQuIHRleHRQb3MoKSBzaG91bGQgYmUgY29uc2lzdGVudCBzbyB0aGUgdGV4dCBhcmUgcmVu
ZGVyZWQgaW4gdGhlIHNhbWUgd2lkdGguCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SW5saW5lVGV4dEJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9J
bmxpbmVUZXh0Qm94LmgJKHJldmlzaW9uIDc4MzUwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0lubGluZVRleHRCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMTA1LDEyICsxMDUsMTIgQEAg
cHVibGljOgogCiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjbGVhclRydW5jYXRpb24oKSB7
IG1fdHJ1bmNhdGlvbiA9IGNOb1RydW5jYXRpb247IH0KLSAgICB2aXJ0dWFsIGludCBwbGFjZUVs
bGlwc2lzQm94KGJvb2wgZmxvd0lzTFRSLCBpbnQgdmlzaWJsZUxlZnRFZGdlLCBpbnQgdmlzaWJs
ZVJpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KTsKKyAgICB2aXJ0
dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBmbG93SXNMVFIsIGZsb2F0IHZpc2libGVM
ZWZ0RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9v
bCYgZm91bmRCb3gpOwogCiBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzTGluZUJyZWFrKCkg
Y29uc3Q7CiAKLSAgICB2b2lkIHNldEV4cGFuc2lvbihpbnQgZXhwYW5zaW9uKSB7IG1fbG9naWNh
bFdpZHRoIC09IG1fZXhwYW5zaW9uOyBtX2V4cGFuc2lvbiA9IGV4cGFuc2lvbjsgbV9sb2dpY2Fs
V2lkdGggKz0gbV9leHBhbnNpb247IH0KKyAgICB2b2lkIHNldEV4cGFuc2lvbihmbG9hdCBleHBh
bnNpb24pIHsgbV9sb2dpY2FsV2lkdGggLT0gbV9leHBhbnNpb247IG1fZXhwYW5zaW9uID0gZXhw
YW5zaW9uOyBtX2xvZ2ljYWxXaWR0aCArPSBtX2V4cGFuc2lvbjsgfQogCiBwcml2YXRlOgogICAg
IHZpcnR1YWwgYm9vbCBpc0lubGluZVRleHRCb3goKSBjb25zdCB7IHJldHVybiB0cnVlOyB9ICAg
IApAQCAtMTIyLDcgKzEyMiw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdmlydHVhbCB1bnNp
Z25lZCBjYXJldE1heFJlbmRlcmVkT2Zmc2V0KCkgY29uc3Q7CiAKLSAgICBpbnQgdGV4dFBvcygp
IGNvbnN0OyAvLyByZXR1cm5zIHRoZSB4IHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBsZWZ0IHN0
YXJ0IG9mIHRoZSB0ZXh0IGxpbmUuCisgICAgZmxvYXQgdGV4dFBvcygpIGNvbnN0OyAvLyByZXR1
cm5zIHRoZSB4IHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBsZWZ0IHN0YXJ0IG9mIHRoZSB0ZXh0
IGxpbmUuCiAKIHB1YmxpYzoKICAgICB2aXJ0dWFsIGludCBvZmZzZXRGb3JQb3NpdGlvbihpbnQg
eCwgYm9vbCBpbmNsdWRlUGFydGlhbEdseXBocyA9IHRydWUpIGNvbnN0OwpAQCAtMTQ0LDE4ICsx
NDQsMTggQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgICAvLyBkZW5vdGUgbm8gdHJ1
bmNhdGlvbiAodGhlIHdob2xlIHJ1biBwYWludHMpIGFuZCBmdWxsIHRydW5jYXRpb24gKG5vdGhp
bmcgcGFpbnRzIGF0IGFsbCkuCiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIHBhaW50Q29tcG9zaXRp
b25CYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4s
IFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYsIGludCBzdGFydFBvcywgaW50IGVuZFBvcyk7Ci0g
ICAgdm9pZCBwYWludERvY3VtZW50TWFya2VycyhHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRQ
b2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmLCBib29sIGJhY2tncm91
bmQpOwotICAgIHZvaWQgcGFpbnRDb21wb3NpdGlvblVuZGVybGluZShHcmFwaGljc0NvbnRleHQq
LCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBDb21wb3NpdGlvblVuZGVybGluZSYp
OworICAgIHZvaWQgcGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmLCBp
bnQgc3RhcnRQb3MsIGludCBlbmRQb3MpOworICAgIHZvaWQgcGFpbnREb2N1bWVudE1hcmtlcnMo
R3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHls
ZSosIGNvbnN0IEZvbnQmLCBib29sIGJhY2tncm91bmQpOworICAgIHZvaWQgcGFpbnRDb21wb3Np
dGlvblVuZGVybGluZShHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmln
aW4sIGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5lJik7CiAjaWYgUExBVEZPUk0oTUFDKQogICAg
IHZvaWQgcGFpbnRDdXN0b21IaWdobGlnaHQoaW50IHR4LCBpbnQgdHksIGNvbnN0IEF0b21pY1N0
cmluZyYgdHlwZSk7CiAjZW5kaWYKIAogcHJpdmF0ZToKLSAgICB2b2lkIHBhaW50RGVjb3JhdGlv
bihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBpbnQgZGVjb3Jh
dGlvbiwgY29uc3QgU2hhZG93RGF0YSopOwotICAgIHZvaWQgcGFpbnRTZWxlY3Rpb24oR3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqLCBjb25z
dCBGb250Jik7Ci0gICAgdm9pZCBwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdyYXBoaWNz
Q29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2Vy
JiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250JiwgYm9vbCBncmFtbWFyKTsKLSAgICB2b2lkIHBh
aW50VGV4dE1hdGNoTWFya2VyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hP
cmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jik7
CisgICAgdm9pZCBwYWludERlY29yYXRpb24oR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQ
b2ludCYgYm94T3JpZ2luLCBpbnQgZGVjb3JhdGlvbiwgY29uc3QgU2hhZG93RGF0YSopOworICAg
IHZvaWQgcGFpbnRTZWxlY3Rpb24oR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYg
Ym94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmKTsKKyAgICB2b2lkIHBhaW50U3Bl
bGxpbmdPckdyYW1tYXJNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYg
Ym94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYsIFJlbmRlclN0eWxlKiwgY29uc3QgRm9u
dCYsIGJvb2wgZ3JhbW1hcik7CisgICAgdm9pZCBwYWludFRleHRNYXRjaE1hcmtlcihHcmFwaGlj
c0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFy
a2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jik7CiAgICAgdm9pZCBjb21wdXRlUmVjdEZv
clJlcGxhY2VtZW50TWFya2VyKGNvbnN0IERvY3VtZW50TWFya2VyJiwgUmVuZGVyU3R5bGUqLCBj
b25zdCBGb250Jik7CiAKICAgICBUZXh0UnVuOjpUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRy
YWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IoKSBjb25zdCB7IHJldHVybiBtX2V4cGFuc2lvbiAmJiBu
ZXh0TGVhZkNoaWxkKCkgPyBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uIDogVGV4dFJ1
bjo6Rm9yYmlkVHJhaWxpbmdFeHBhbnNpb247IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCUi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCUi5oCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCUi5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw4ICs0MCw4IEBAIHB1YmxpYzoKICAKICAg
ICB2aXJ0dWFsIEludFJlY3Qgc2VsZWN0aW9uUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxP
YmplY3QqIC8qcmVwYWludENvbnRhaW5lciovLCBib29sIC8qY2xpcFRvVmlzaWJsZUNvbnRlbnQq
LykgeyByZXR1cm4gSW50UmVjdCgpOyB9CiAKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVu
c2lnbmVkIC8qZnJvbSovLCB1bnNpZ25lZCAvKmxlbiovLCBjb25zdCBGb250JiwgaW50IC8qeHBv
cyovKSBjb25zdCB7IHJldHVybiAwOyB9Ci0gICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0aCh1bnNp
Z25lZCAvKmZyb20qLywgdW5zaWduZWQgLypsZW4qLywgaW50IC8qeHBvcyovLCBib29sIC8qZmly
c3RMaW5lID0gZmFsc2UqLykgY29uc3QgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgZmxvYXQg
d2lkdGgodW5zaWduZWQgLypmcm9tKi8sIHVuc2lnbmVkIC8qbGVuKi8sIGNvbnN0IEZvbnQmLCBm
bG9hdCAvKnhwb3MqLykgY29uc3QgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgZmxvYXQgd2lk
dGgodW5zaWduZWQgLypmcm9tKi8sIHVuc2lnbmVkIC8qbGVuKi8sIGludCAvKnhwb3MqLywgYm9v
bCAvKmZpcnN0TGluZSA9IGZhbHNlKi8pIGNvbnN0IHsgcmV0dXJuIDA7IH0KIAogICAgIGludCBs
aW5lSGVpZ2h0KGJvb2wgZmlyc3RMaW5lKSBjb25zdDsKIApJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2MTcsNyAr
NDYxNyw3IEBAIHN0YXRpYyBpbnQgZ2V0Qm9yZGVyUGFkZGluZ01hcmdpbihjb25zdCAKICAgICAg
ICAgICAgICAgIGNoaWxkLT5ib3JkZXJTdGFydCgpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQg
c3RyaXBUcmFpbGluZ1NwYWNlKGludCYgaW5saW5lTWF4LCBpbnQmIGlubGluZU1pbiwKK3N0YXRp
YyBpbmxpbmUgdm9pZCBzdHJpcFRyYWlsaW5nU3BhY2UoZmxvYXQmIGlubGluZU1heCwgZmxvYXQm
IGlubGluZU1pbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVy
T2JqZWN0KiB0cmFpbGluZ1NwYWNlQ2hpbGQpCiB7CiAgICAgaWYgKHRyYWlsaW5nU3BhY2VDaGls
ZCAmJiB0cmFpbGluZ1NwYWNlQ2hpbGQtPmlzVGV4dCgpKSB7CkBAIC00NjI1LDE3ICs0NjI1LDIz
IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBzdHJpcFRyYWlsaW5nU3BhY2UoaW4KICAgICAgICAgUmVu
ZGVyVGV4dCogdCA9IHRvUmVuZGVyVGV4dCh0cmFpbGluZ1NwYWNlQ2hpbGQpOwogICAgICAgICBj
b25zdCBVQ2hhciBzcGFjZSA9ICcgJzsKICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IHQtPnN0
eWxlKCktPmZvbnQoKTsgLy8gRklYTUU6IFRoaXMgaWdub3JlcyBmaXJzdC1saW5lLgotICAgICAg
ICBpbnQgc3BhY2VXaWR0aCA9IGZvbnQud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKTsKKyAgICAg
ICAgZmxvYXQgc3BhY2VXaWR0aCA9IGZvbnQud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKTsKICAg
ICAgICAgaW5saW5lTWF4IC09IHNwYWNlV2lkdGggKyBmb250LndvcmRTcGFjaW5nKCk7CiAgICAg
ICAgIGlmIChpbmxpbmVNaW4gPiBpbmxpbmVNYXgpCiAgICAgICAgICAgICBpbmxpbmVNaW4gPSBp
bmxpbmVNYXg7CiAgICAgfQogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlUHJlZmVycmVk
V2lkdGgoaW50JiBwcmVmZXJyZWRXaWR0aCwgZmxvYXQmIHJlc3VsdCkKK3sKKyAgICBpbnQgc25h
cHBlZFJlc3VsdCA9IGNlaWxmKHJlc3VsdCk7CisgICAgcHJlZmVycmVkV2lkdGggPSBtYXgoc25h
cHBlZFJlc3VsdCwgcHJlZmVycmVkV2lkdGgpOworfQorCiB2b2lkIFJlbmRlckJsb2NrOjpjb21w
dXRlSW5saW5lUHJlZmVycmVkTG9naWNhbFdpZHRocygpCiB7Ci0gICAgaW50IGlubGluZU1heCA9
IDA7Ci0gICAgaW50IGlubGluZU1pbiA9IDA7CisgICAgZmxvYXQgaW5saW5lTWF4ID0gMDsKKyAg
ICBmbG9hdCBpbmxpbmVNaW4gPSAwOwogCiAgICAgaW50IGN3ID0gY29udGFpbmluZ0Jsb2NrKCkt
PmNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKIApAQCAtNDY5NiwxNSArNDcwMiwxNSBAQCB2b2lkIFJl
bmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICAvLyB0aGUgd2lk
dGggb2YgdGhlIGxhc3Qgbm9uLWJyZWFrYWJsZSBydW4gYW5kIHVzZSB0aGF0IHRvIHN0YXJ0IGEg
bmV3IGxpbmUKICAgICAgICAgICAgIC8vICh1bmxlc3Mgd2UgZW5kIGluIHdoaXRlc3BhY2UpLgog
ICAgICAgICAgICAgUmVuZGVyU3R5bGUqIGNzdHlsZSA9IGNoaWxkLT5zdHlsZSgpOwotICAgICAg
ICAgICAgaW50IGNoaWxkTWluID0gMDsKLSAgICAgICAgICAgIGludCBjaGlsZE1heCA9IDA7Cisg
ICAgICAgICAgICBmbG9hdCBjaGlsZE1pbiA9IDA7CisgICAgICAgICAgICBmbG9hdCBjaGlsZE1h
eCA9IDA7CiAKICAgICAgICAgICAgIGlmICghY2hpbGQtPmlzVGV4dCgpKSB7CiAgICAgICAgICAg
ICAgICAgLy8gQ2FzZSAoMSkgYW5kICgyKS4gIElubGluZSByZXBsYWNlZCBhbmQgaW5saW5lIGZs
b3cgZWxlbWVudHMuCiAgICAgICAgICAgICAgICAgaWYgKGNoaWxkLT5pc1JlbmRlcklubGluZSgp
KSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIEFkZCBpbiBwYWRkaW5nL2JvcmRlci9tYXJnaW4g
ZnJvbSB0aGUgYXBwcm9wcmlhdGUgc2lkZSBvZgogICAgICAgICAgICAgICAgICAgICAvLyB0aGUg
ZWxlbWVudC4KLSAgICAgICAgICAgICAgICAgICAgaW50IGJwbSA9IGdldEJvcmRlclBhZGRpbmdN
YXJnaW4odG9SZW5kZXJJbmxpbmUoY2hpbGQpLCBjaGlsZEl0ZXJhdG9yLmVuZE9mSW5saW5lKTsK
KyAgICAgICAgICAgICAgICAgICAgZmxvYXQgYnBtID0gZ2V0Qm9yZGVyUGFkZGluZ01hcmdpbih0
b1JlbmRlcklubGluZShjaGlsZCksIGNoaWxkSXRlcmF0b3IuZW5kT2ZJbmxpbmUpOwogICAgICAg
ICAgICAgICAgICAgICBjaGlsZE1pbiArPSBicG07CiAgICAgICAgICAgICAgICAgICAgIGNoaWxk
TWF4ICs9IGJwbTsKIApAQCAtNDcxNCw3ICs0NzIwLDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29t
cHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgICAgICBjaGlsZC0+c2V0UHJlZmVy
cmVkTG9naWNhbFdpZHRoc0RpcnR5KGZhbHNlKTsKICAgICAgICAgICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgICAgICAgICAvLyBJbmxpbmUgcmVwbGFjZWQgZWx0cyBhZGQgaW4gdGhlaXIg
bWFyZ2lucyB0byB0aGVpciBtaW4vbWF4IHZhbHVlcy4KLSAgICAgICAgICAgICAgICAgICAgaW50
IG1hcmdpbnMgPSAwOworICAgICAgICAgICAgICAgICAgICBmbG9hdCBtYXJnaW5zID0gMDsKICAg
ICAgICAgICAgICAgICAgICAgTGVuZ3RoIHN0YXJ0TWFyZ2luID0gY3N0eWxlLT5tYXJnaW5TdGFy
dCgpOwogICAgICAgICAgICAgICAgICAgICBMZW5ndGggZW5kTWFyZ2luID0gY3N0eWxlLT5tYXJn
aW5FbmQoKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0TWFyZ2luLmlzRml4ZWQoKSkK
QEAgLTQ3NDQsMTMgKzQ3NTAsMTMgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVBy
ZWZlcnJlZAogCiAgICAgICAgICAgICAgICAgYm9vbCBjYW5CcmVha1JlcGxhY2VkRWxlbWVudCA9
ICFjaGlsZC0+aXNJbWFnZSgpIHx8IGFsbG93SW1hZ2VzVG9CcmVhazsKICAgICAgICAgICAgICAg
ICBpZiAoKGNhbkJyZWFrUmVwbGFjZWRFbGVtZW50ICYmIChhdXRvV3JhcCB8fCBvbGRBdXRvV3Jh
cCkpIHx8IGNsZWFyUHJldmlvdXNGbG9hdCkgewotICAgICAgICAgICAgICAgICAgICBtX21pblBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAgICAgICAgICAgICAgICAgIGlu
bGluZU1pbiA9IDA7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgLy8gSWYg
d2UncmUgc3VwcG9zZWQgdG8gY2xlYXIgdGhlIHByZXZpb3VzIGZsb2F0LCB0aGVuIHRlcm1pbmF0
ZSBtYXh3aWR0aCBhcyB3ZWxsLgogICAgICAgICAgICAgICAgIGlmIChjbGVhclByZXZpb3VzRmxv
YXQpIHsKLSAgICAgICAgICAgICAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBt
YXgoaW5saW5lTWF4LCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAg
ICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBp
bmxpbmVNYXgpOwogICAgICAgICAgICAgICAgICAgICBpbmxpbmVNYXggPSAwOwogICAgICAgICAg
ICAgICAgIH0KIApAQCAtNDc2OCwxMiArNDc3NCwxMiBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21w
dXRlSW5saW5lUHJlZmVycmVkCiAKICAgICAgICAgICAgICAgICBpZiAoIWF1dG9XcmFwIHx8ICFj
YW5CcmVha1JlcGxhY2VkRWxlbWVudCkgewogICAgICAgICAgICAgICAgICAgICBpZiAoY2hpbGQt
PmlzRmxvYXRpbmcoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoID0gbWF4KGNoaWxkTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCwgY2hpbGRNaW4pOwogICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAg
ICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gKz0gY2hpbGRNaW47CiAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgLy8gTm93IGNoZWNrIG91ciBsaW5lLgot
ICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChjaGls
ZE1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICB1
cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgY2hpbGRNaW4p
OwogCiAgICAgICAgICAgICAgICAgICAgIC8vIE5vdyBzdGFydCBhIG5ldyBsaW5lLgogICAgICAg
ICAgICAgICAgICAgICBpbmxpbmVNaW4gPSAwOwpAQCAtNDc5MCw3ICs0Nzk2LDcgQEAgdm9pZCBS
ZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgIFJlbmRl
clRleHQqIHQgPSB0b1JlbmRlclRleHQoY2hpbGQpOwogCiAgICAgICAgICAgICAgICAgaWYgKHQt
PmlzV29yZEJyZWFrKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Cisg
ICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSAw
OwogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICB9CkBAIC00
ODA0LDkgKzQ4MTAsOSBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVk
CiAgICAgICAgICAgICAgICAgLy8gdGhlbiB0aGV5IHNob3VsZG4ndCBiZSBjb25zaWRlcmVkIGlu
IHRoZSBicmVha2FibGUgY2hhcgogICAgICAgICAgICAgICAgIC8vIGNoZWNrLgogICAgICAgICAg
ICAgICAgIGJvb2wgaGFzQnJlYWthYmxlQ2hhciwgaGFzQnJlYWs7Ci0gICAgICAgICAgICAgICAg
aW50IGJlZ2luTWluLCBlbmRNaW47CisgICAgICAgICAgICAgICAgZmxvYXQgYmVnaW5NaW4sIGVu
ZE1pbjsKICAgICAgICAgICAgICAgICBib29sIGJlZ2luV1MsIGVuZFdTOwotICAgICAgICAgICAg
ICAgIGludCBiZWdpbk1heCwgZW5kTWF4OworICAgICAgICAgICAgICAgIGZsb2F0IGJlZ2luTWF4
LCBlbmRNYXg7CiAgICAgICAgICAgICAgICAgdC0+dHJpbW1lZFByZWZXaWR0aHMoaW5saW5lTWF4
LCBiZWdpbk1pbiwgYmVnaW5XUywgZW5kTWluLCBlbmRXUywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoYXNCcmVha2FibGVDaGFyLCBoYXNCcmVhaywgYmVnaW5NYXgsIGVu
ZE1heCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZE1pbiwgY2hp
bGRNYXgsIHN0cmlwRnJvbnRTcGFjZXMpOwpAQCAtNDgxNCw3ICs0ODIwLDcgQEAgdm9pZCBSZW5k
ZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgIC8vIFRoaXMg
dGV4dCBvYmplY3Qgd2lsbCBub3QgYmUgcmVuZGVyZWQsIGJ1dCBpdCBtYXkgc3RpbGwgcHJvdmlk
ZSBhIGJyZWFraW5nIG9wcG9ydHVuaXR5LgogICAgICAgICAgICAgICAgIGlmICghaGFzQnJlYWsg
JiYgY2hpbGRNYXggPT0gMCkgewogICAgICAgICAgICAgICAgICAgICBpZiAoYXV0b1dyYXAgJiYg
KGJlZ2luV1MgfHwgZW5kV1MpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX21pblByZWZl
cnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAgICAg
ICAgaW5saW5lTWluID0gMDsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKQEAgLTQ4NDQsMTAgKzQ4NTAsMTAgQEAgdm9pZCBSZW5kZXJCbG9jazo6
Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgICAgICAvLyB3ZSBzdGFydCBh
bmQgZW5kIHdpdGggd2hpdGVzcGFjZS4KICAgICAgICAgICAgICAgICAgICAgaWYgKGJlZ2luV1Mp
CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBHbyBhaGVhZCBhbmQgZW5kIHRoZSBjdXJyZW50
IGxpbmUuCi0gICAgICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgIGlubGluZU1pbiArPSBiZWdpbk1pbjsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJl
ZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAg
ICAgICAgICAgICAgICAgICAgICBjaGlsZE1pbiAtPSB0aTsKICAgICAgICAgICAgICAgICAgICAg
fQogCkBAIC00ODU2LDE4ICs0ODYyLDE4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxp
bmVQcmVmZXJyZWQKICAgICAgICAgICAgICAgICAgICAgaWYgKGVuZFdTKSB7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBXZSBlbmQgaW4gd2hpdGVzcGFjZSwgd2hpY2ggbWVhbnMgd2UgY2Fu
IGdvIGFoZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbmQgZW5kIG91ciBjdXJyZW50
IGxpbmUuCi0gICAgICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWluID0g
MDsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVk
V2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBpbmxpbmVNaW4gPSBlbmRNaW47CiAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBpZiAoaGFzQnJlYWspIHsKICAg
ICAgICAgICAgICAgICAgICAgaW5saW5lTWF4ICs9IGJlZ2luTWF4OwotICAgICAgICAgICAgICAg
ICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNYXgsIG1fbWF4UHJl
ZmVycmVkTG9naWNhbFdpZHRoKTsKLSAgICAgICAgICAgICAgICAgICAgbV9tYXhQcmVmZXJyZWRM
b2dpY2FsV2lkdGggPSBtYXgoY2hpbGRNYXgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKTsK
KyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9tYXhQcmVmZXJyZWRM
b2dpY2FsV2lkdGgsIGlubGluZU1heCk7CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZl
cnJlZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBjaGlsZE1heCk7CiAgICAgICAg
ICAgICAgICAgICAgIGlubGluZU1heCA9IGVuZE1heDsKICAgICAgICAgICAgICAgICB9IGVsc2UK
ICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWF4ICs9IGNoaWxkTWF4OwpAQCAtNDg3Nyw4ICs0
ODgzLDggQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAg
ICAgICAgaWYgKGNoaWxkLT5pc0xpc3RNYXJrZXIoKSkKICAgICAgICAgICAgICAgICBzdHJpcEZy
b250U3BhY2VzID0gdHJ1ZTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIG1fbWluUHJl
ZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2Fs
V2lkdGgpOwotICAgICAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5s
aW5lTWF4LCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICB1cGRhdGVQ
cmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKKyAg
ICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
LCBpbmxpbmVNYXgpOwogICAgICAgICAgICAgaW5saW5lTWluID0gaW5saW5lTWF4ID0gMDsKICAg
ICAgICAgICAgIHN0cmlwRnJvbnRTcGFjZXMgPSB0cnVlOwogICAgICAgICAgICAgdHJhaWxpbmdT
cGFjZUNoaWxkID0gMDsKQEAgLTQ4OTAsOCArNDg5Niw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNv
bXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICBpZiAoc3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNwYWNl
KCkpCiAgICAgICAgIHN0cmlwVHJhaWxpbmdTcGFjZShpbmxpbmVNYXgsIGlubGluZU1pbiwgdHJh
aWxpbmdTcGFjZUNoaWxkKTsKIAotICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4
KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOwotICAgIG1fbWF4UHJlZmVy
cmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1heCwgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lk
dGgpOworICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRo
LCBpbmxpbmVNaW4pOworICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9n
aWNhbFdpZHRoLCBpbmxpbmVNYXgpOwogfQogCiAvLyBVc2UgYSB2ZXJ5IGxhcmdlIHZhbHVlIChp
biBlZmZlY3QgaW5maW5pdGUpLgpAQCAtNTQ1Nyw5ICs1NDYzLDkgQEAgdm9pZCBSZW5kZXJCbG9j
azo6YWRqdXN0Rm9yQm9yZGVyRml0KGludAogICAgICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkg
ewogICAgICAgICAgICAgZm9yIChSb290SW5saW5lQm94KiBib3ggPSBmaXJzdFJvb3RCb3goKTsg
Ym94OyBib3ggPSBib3gtPm5leHRSb290Qm94KCkpIHsKICAgICAgICAgICAgICAgICBpZiAoYm94
LT5maXJzdENoaWxkKCkpCi0gICAgICAgICAgICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwgeCAr
IGJveC0+Zmlyc3RDaGlsZCgpLT54KCkpOworICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gbWlu
KGxlZnQsIHggKyBzdGF0aWNfY2FzdDxpbnQ+KGJveC0+Zmlyc3RDaGlsZCgpLT54KCkpKTsKICAg
ICAgICAgICAgICAgICBpZiAoYm94LT5sYXN0Q2hpbGQoKSkKLSAgICAgICAgICAgICAgICAgICAg
cmlnaHQgPSBtYXgocmlnaHQsIHggKyBib3gtPmxhc3RDaGlsZCgpLT54KCkgKyBib3gtPmxhc3RD
aGlsZCgpLT5sb2dpY2FsV2lkdGgoKSk7CisgICAgICAgICAgICAgICAgICAgIHJpZ2h0ID0gbWF4
KHJpZ2h0LCB4ICsgc3RhdGljX2Nhc3Q8aW50PihjZWlsZihib3gtPmxhc3RDaGlsZCgpLT5sb2dp
Y2FsUmlnaHQoKSkpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBlbHNlIHsK
QEAgLTU3NTksOCArNTc2NSw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmFkZEZvY3VzUmluZ1JlY3Rz
KFZlY3QKIAogICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgJiYgIWhhc0NvbnRyb2xDbGlwKCkp
IHsKICAgICAgICAgZm9yIChSb290SW5saW5lQm94KiBjdXJyID0gZmlyc3RSb290Qm94KCk7IGN1
cnI7IGN1cnIgPSBjdXJyLT5uZXh0Um9vdEJveCgpKSB7Ci0gICAgICAgICAgICBpbnQgdG9wID0g
bWF4KGN1cnItPmxpbmVUb3AoKSwgY3Vyci0+eSgpKTsKLSAgICAgICAgICAgIGludCBib3R0b20g
PSBtaW4oY3Vyci0+bGluZUJvdHRvbSgpLCBjdXJyLT55KCkgKyBjdXJyLT5sb2dpY2FsSGVpZ2h0
KCkpOworICAgICAgICAgICAgaW50IHRvcCA9IG1heChjdXJyLT5saW5lVG9wKCksIGN1cnItPmxv
Z2ljYWxUb3AoKSk7CisgICAgICAgICAgICBpbnQgYm90dG9tID0gbWluKGN1cnItPmxpbmVCb3R0
b20oKSwgY3Vyci0+bG9naWNhbFRvcCgpICsgY3Vyci0+bG9naWNhbEhlaWdodCgpKTsKICAgICAg
ICAgICAgIEludFJlY3QgcmVjdCh0eCArIGN1cnItPngoKSwgdHkgKyB0b3AsIGN1cnItPmxvZ2lj
YWxXaWR0aCgpLCBib3R0b20gLSB0b3ApOwogICAgICAgICAgICAgaWYgKCFyZWN0LmlzRW1wdHko
KSkKICAgICAgICAgICAgICAgICByZWN0cy5hcHBlbmQocmVjdCk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtNDg1LDcgKzQ4
NSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNraXBUcmFpbGluZ1doaXRlc3BhY2UoSW5saW5l
SXRlcmF0b3ImLCBib29sIGlzTGluZUVtcHR5LCBib29sIHByZXZpb3VzTGluZUJyb2tlQ2xlYW5s
eSk7CiAgICAgaW50IHNraXBMZWFkaW5nV2hpdGVzcGFjZShJbmxpbmVCaWRpUmVzb2x2ZXImLCBi
b29sIGZpcnN0TGluZSwgYm9vbCBpc0xpbmVFbXB0eSwgYm9vbCBwcmV2aW91c0xpbmVCcm9rZUNs
ZWFubHksIEZsb2F0aW5nT2JqZWN0KiBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lKTsKLSAgICB2
b2lkIGZpdEJlbG93RmxvYXRzKGludCB3aWR0aFRvRml0LCBib29sIGZpcnN0TGluZSwgaW50JiBh
dmFpbGFibGVXaWR0aCk7CisgICAgdm9pZCBmaXRCZWxvd0Zsb2F0cyhmbG9hdCB3aWR0aFRvRml0
LCBib29sIGZpcnN0TGluZSwgZmxvYXQmIGF2YWlsYWJsZVdpZHRoKTsKICAgICBJbmxpbmVJdGVy
YXRvciBmaW5kTmV4dExpbmVCcmVhayhJbmxpbmVCaWRpUmVzb2x2ZXImLCBib29sIGZpcnN0TGlu
ZSwgYm9vbCYgaXNMaW5lRW1wdHksIGJvb2wmIHByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSwgYm9v
bCYgaHlwaGVuYXRlZCwgRUNsZWFyKiwgRmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdEZyb21QcmV2
aW91c0xpbmUpOwogICAgIFJvb3RJbmxpbmVCb3gqIGNvbnN0cnVjdExpbmUodW5zaWduZWQgcnVu
Q291bnQsIEJpZGlSdW4qIGZpcnN0UnVuLCBCaWRpUnVuKiBsYXN0UnVuLCBib29sIGZpcnN0TGlu
ZSwgYm9vbCBsYXN0TGluZSwgUmVuZGVyT2JqZWN0KiBlbmRPYmplY3QpOwogICAgIElubGluZUZs
b3dCb3gqIGNyZWF0ZUxpbmVCb3hlcyhSZW5kZXJPYmplY3QqLCBib29sIGZpcnN0TGluZSk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5
b3V0LmNwcAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzE4LDggKzMxOCw4IEBA
IFJvb3RJbmxpbmVCb3gqIFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RMaW4KIHZvaWQgUmVuZGVyQmxv
Y2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNGb3JMaW5lKFJvb3RJbmxpbmVCb3gq
IGxpbmVCb3gsIGJvb2wgZmlyc3RMaW5lLCBCaWRpUnVuKiBmaXJzdFJ1biwgQmlkaVJ1biogdHJh
aWxpbmdTcGFjZVJ1biwgYm9vbCByZWFjaGVkRW5kLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tG
b250c01hcCYgdGV4dEJveERhdGFNYXApCiB7CiAgICAgLy8gRmlyc3QgZGV0ZXJtaW5lIG91ciB0
b3RhbCBsb2dpY2FsIHdpZHRoLgotICAgIGludCBhdmFpbGFibGVMb2dpY2FsV2lkdGggPSBhdmFp
bGFibGVMb2dpY2FsV2lkdGhGb3JMaW5lKGxvZ2ljYWxIZWlnaHQoKSwgZmlyc3RMaW5lKTsKLSAg
ICBpbnQgdG90YWxMb2dpY2FsV2lkdGggPSBsaW5lQm94LT5nZXRGbG93U3BhY2luZ0xvZ2ljYWxX
aWR0aCgpOworICAgIGZsb2F0IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCA9IGF2YWlsYWJsZUxvZ2lj
YWxXaWR0aEZvckxpbmUobG9naWNhbEhlaWdodCgpLCBmaXJzdExpbmUpOworICAgIGZsb2F0IHRv
dGFsTG9naWNhbFdpZHRoID0gbGluZUJveC0+Z2V0Rmxvd1NwYWNpbmdMb2dpY2FsV2lkdGgoKTsK
ICAgICBib29sIG5lZWRzV29yZFNwYWNpbmcgPSBmYWxzZTsKICAgICB1bnNpZ25lZCBleHBhbnNp
b25PcHBvcnR1bml0eUNvdW50ID0gMDsKICAgICBib29sIGlzQWZ0ZXJFeHBhbnNpb24gPSB0cnVl
OwpAQCAtMzg2LDcgKzM4Niw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJl
Y3Rpb24KICAgICAvLyB3ZSBub3cgZXhhbWluZSBvdXIgdGV4dC1hbGlnbiBwcm9wZXJ0eSBpbiBv
cmRlciB0byBkZXRlcm1pbmUgd2hlcmUgdG8gcG9zaXRpb24gdGhlCiAgICAgLy8gb2JqZWN0cyBo
b3Jpem9udGFsbHkuICBUaGUgdG90YWwgd2lkdGggb2YgdGhlIGxpbmUgY2FuIGJlIGluY3JlYXNl
ZCBpZiB3ZSBlbmQgdXAKICAgICAvLyBqdXN0aWZ5aW5nIHRleHQuCi0gICAgaW50IGxvZ2ljYWxM
ZWZ0ID0gbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKGxvZ2ljYWxIZWlnaHQoKSwgZmlyc3RMaW5l
KTsKKyAgICBmbG9hdCBsb2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShsb2dp
Y2FsSGVpZ2h0KCksIGZpcnN0TGluZSk7CiAgICAgc3dpdGNoICh0ZXh0QWxpZ24pIHsKICAgICAg
ICAgY2FzZSBMRUZUOgogICAgICAgICBjYXNlIFdFQktJVF9MRUZUOgpAQCAtMzk0LDcgKzM5NCw3
IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb24KICAgICAgICAgICAg
IC8vIHBhcnRpY3VsYXIgd2l0aCBSVEwgYmxvY2tzLCB3aWRlIGxpbmVzIHNob3VsZCBzdGlsbCBz
cGlsbCBvdXQgdG8gdGhlIGxlZnQuCiAgICAgICAgICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0VG9S
aWdodERpcmVjdGlvbigpKSB7CiAgICAgICAgICAgICAgICAgaWYgKHRvdGFsTG9naWNhbFdpZHRo
ID4gYXZhaWxhYmxlTG9naWNhbFdpZHRoICYmIHRyYWlsaW5nU3BhY2VSdW4pCi0gICAgICAgICAg
ICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAs
IHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNhbFdp
ZHRoICsgYXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7CisgICAgICAgICAgICAgICAgICAgIHRyYWls
aW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAuZiwgdHJhaWxpbmdTcGFj
ZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFpbGFi
bGVMb2dpY2FsV2lkdGgpKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAg
aWYgKHRyYWlsaW5nU3BhY2VSdW4pCiAgICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VS
dW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgoMCk7CkBAIC00MTYsNyArNDE2LDcgQEAgdm9pZCBS
ZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgLy8gZm9yIHJp
Z2h0IHRvIGxlZnQgZmFsbCB0aHJvdWdoIHRvIHJpZ2h0IGFsaWduZWQKICAgICAgICAgICAgIGlm
IChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsKICAgICAgICAgICAgICAgICBp
ZiAodG90YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFibGVMb2dpY2FsV2lkdGggJiYgdHJhaWxpbmdT
cGFjZVJ1bikKLSAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNl
dExvZ2ljYWxXaWR0aChtYXgoMCwgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0
aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFpbGFibGVMb2dpY2FsV2lkdGgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aCht
YXgoMC5mLCB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCkgLSB0b3RhbExv
Z2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOwogICAgICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgfQogICAgICAgICBjYXNlIFJJR0hUOgpAQCAtNDI3LDEzICs0Mjcs
MTMgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAg
ICAgaWYgKHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgewogICAgICAgICAgICAg
ICAgIGlmICh0cmFpbGluZ1NwYWNlUnVuKSB7CiAgICAgICAgICAgICAgICAgICAgIHRvdGFsTG9n
aWNhbFdpZHRoIC09IHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKTsKLSAg
ICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0
aCgwKTsKKyAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExv
Z2ljYWxXaWR0aCgwLmYpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBpZiAo
dG90YWxMb2dpY2FsV2lkdGggPCBhdmFpbGFibGVMb2dpY2FsV2lkdGgpCiAgICAgICAgICAgICAg
ICAgICAgIGxvZ2ljYWxMZWZ0ICs9IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNh
bFdpZHRoOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAodG90YWxM
b2dpY2FsV2lkdGggPiBhdmFpbGFibGVMb2dpY2FsV2lkdGggJiYgdHJhaWxpbmdTcGFjZVJ1bikg
ewotICAgICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNh
bFdpZHRoKG1heCgwLCB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCkgLSB0
b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOworICAgICAgICAgICAg
ICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgwLmYs
IHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNhbFdp
ZHRoICsgYXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7CiAgICAgICAgICAgICAgICAgICAgIHRvdGFs
TG9naWNhbFdpZHRoIC09IHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKTsK
ICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgbG9naWNhbExlZnQg
Kz0gYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGg7CkBAIC00NDEsMTQg
KzQ0MSwxNCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uCiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDRU5URVI6CiAgICAgICAgIGNhc2UgV0VCS0lU
X0NFTlRFUjoKLSAgICAgICAgICAgIGludCB0cmFpbGluZ1NwYWNlV2lkdGggPSAwOworICAgICAg
ICAgICAgZmxvYXQgdHJhaWxpbmdTcGFjZVdpZHRoID0gMC5mOwogICAgICAgICAgICAgaWYgKHRy
YWlsaW5nU3BhY2VSdW4pIHsKICAgICAgICAgICAgICAgICB0b3RhbExvZ2ljYWxXaWR0aCAtPSB0
cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCk7CiAgICAgICAgICAgICAgICAg
dHJhaWxpbmdTcGFjZVdpZHRoID0gbWluKHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2Fs
V2lkdGgoKSwgKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoICsgMSkg
LyAyKTsKLSAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNh
bFdpZHRoKG1heCgwLCB0cmFpbGluZ1NwYWNlV2lkdGgpKTsKKyAgICAgICAgICAgICAgICB0cmFp
bGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgwLmYsIHRyYWlsaW5nU3Bh
Y2VXaWR0aCkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKHN0eWxlKCktPmlzTGVm
dFRvUmlnaHREaXJlY3Rpb24oKSkKLSAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdCArPSBtYXgo
KGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoKSAvIDIsIDApOworICAg
ICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IG1heCgoYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0g
dG90YWxMb2dpY2FsV2lkdGgpIC8gMi5mLCAwLmYpOwogICAgICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IHRvdGFsTG9naWNhbFdpZHRoID4gYXZhaWxhYmxlTG9n
aWNhbFdpZHRoID8gKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoKSA6
IChhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkgLyAyIC0gdHJhaWxp
bmdTcGFjZVdpZHRoOwogICAgICAgICAgICAgYnJlYWs7CkBAIC00NjgsNyArNDY4LDcgQEAgdm9p
ZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgICAgIC8v
IE9ubHkganVzdGlmeSB0ZXh0IGlmIHdoaXRlc3BhY2UgaXMgY29sbGFwc2VkLgogICAgICAgICAg
ICAgICAgIGlmIChyLT5tX29iamVjdC0+c3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNwYWNlKCkpIHsK
ICAgICAgICAgICAgICAgICAgICAgSW5saW5lVGV4dEJveCogdGV4dEJveCA9IHN0YXRpY19jYXN0
PElubGluZVRleHRCb3gqPihyLT5tX2JveCk7Ci0gICAgICAgICAgICAgICAgICAgIGludCBleHBh
bnNpb24gPSAoYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpICogb3Bw
b3J0dW5pdGllc0luUnVuIC8gZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudDsKKyAgICAgICAgICAg
ICAgICAgICAgZmxvYXQgZXhwYW5zaW9uID0gKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFs
TG9naWNhbFdpZHRoKSAqIG9wcG9ydHVuaXRpZXNJblJ1biAvIGV4cGFuc2lvbk9wcG9ydHVuaXR5
Q291bnQ7CiAgICAgICAgICAgICAgICAgICAgIHRleHRCb3gtPnNldEV4cGFuc2lvbihleHBhbnNp
b24pOwogICAgICAgICAgICAgICAgICAgICB0b3RhbExvZ2ljYWxXaWR0aCArPSBleHBhbnNpb247
CiAgICAgICAgICAgICAgICAgfQpAQCAtMTM2OCwxMyArMTM2OCwxMyBAQCBzdGF0aWMgYm9vbCBz
aG91bGRTa2lwV2hpdGVzcGFjZUFmdGVyU3RhCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lk
IFJlbmRlckJsb2NrOjpmaXRCZWxvd0Zsb2F0cyhpbnQgd2lkdGhUb0ZpdCwgYm9vbCBmaXJzdExp
bmUsIGludCYgYXZhaWxhYmxlV2lkdGgpCit2b2lkIFJlbmRlckJsb2NrOjpmaXRCZWxvd0Zsb2F0
cyhmbG9hdCB3aWR0aFRvRml0LCBib29sIGZpcnN0TGluZSwgZmxvYXQmIGF2YWlsYWJsZVdpZHRo
KQogewogICAgIEFTU0VSVCh3aWR0aFRvRml0ID4gYXZhaWxhYmxlV2lkdGgpOwogCiAgICAgaW50
IGZsb2F0TG9naWNhbEJvdHRvbTsKICAgICBpbnQgbGFzdEZsb2F0TG9naWNhbEJvdHRvbSA9IGxv
Z2ljYWxIZWlnaHQoKTsKLSAgICBpbnQgbmV3TGluZVdpZHRoID0gYXZhaWxhYmxlV2lkdGg7Cisg
ICAgZmxvYXQgbmV3TGluZVdpZHRoID0gYXZhaWxhYmxlV2lkdGg7CiAgICAgd2hpbGUgKHRydWUp
IHsKICAgICAgICAgZmxvYXRMb2dpY2FsQm90dG9tID0gbmV4dEZsb2F0TG9naWNhbEJvdHRvbUJl
bG93KGxhc3RGbG9hdExvZ2ljYWxCb3R0b20pOwogICAgICAgICBpZiAoIWZsb2F0TG9naWNhbEJv
dHRvbSkKQEAgLTEzOTIsMTkgKzEzOTIsMTkgQEAgdm9pZCBSZW5kZXJCbG9jazo6Zml0QmVsb3dG
bG9hdHMoaW50IHdpZAogICAgIH0KIH0KIAotc3RhdGljIGlubGluZSB1bnNpZ25lZCB0ZXh0V2lk
dGgoUmVuZGVyVGV4dCogdGV4dCwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBG
b250JiBmb250LCBpbnQgeFBvcywgYm9vbCBpc0ZpeGVkUGl0Y2gsIGJvb2wgY29sbGFwc2VXaGl0
ZVNwYWNlKQorc3RhdGljIGlubGluZSBmbG9hdCB0ZXh0V2lkdGgoUmVuZGVyVGV4dCogdGV4dCwg
dW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmb250LCBmbG9hdCB4UG9z
LCBib29sIGlzRml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UpCiB7CiAgICAgaWYg
KGlzRml4ZWRQaXRjaCB8fCAoIWZyb20gJiYgbGVuID09IHRleHQtPnRleHRMZW5ndGgoKSkgfHwg
dGV4dC0+c3R5bGUoKS0+aGFzVGV4dENvbWJpbmUoKSkKICAgICAgICAgcmV0dXJuIHRleHQtPndp
ZHRoKGZyb20sIGxlbiwgZm9udCwgeFBvcyk7CiAgICAgcmV0dXJuIGZvbnQud2lkdGgoVGV4dFJ1
bih0ZXh0LT5jaGFyYWN0ZXJzKCkgKyBmcm9tLCBsZW4sICFjb2xsYXBzZVdoaXRlU3BhY2UsIHhQ
b3MpKTsKIH0KIAotc3RhdGljIHZvaWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCogdGV4dCwg
Y29uc3QgRm9udCYgZm9udCwgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbGVJZGVudGlmaWVyLCBp
bnQgbGFzdFNwYWNlLCBpbnQgcG9zLCBpbnQgeFBvcywgaW50IGF2YWlsYWJsZVdpZHRoLCBib29s
IGlzRml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UsIGludCBsYXN0U3BhY2VXb3Jk
U3BhY2luZywgSW5saW5lSXRlcmF0b3ImIGxpbmVCcmVhaywgaW50IG5leHRCcmVha2FibGUsIGJv
b2wmIGh5cGhlbmF0ZWQpCitzdGF0aWMgdm9pZCB0cnlIeXBoZW5hdGluZyhSZW5kZXJUZXh0KiB0
ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsZUlkZW50aWZp
ZXIsIGludCBsYXN0U3BhY2UsIGludCBwb3MsIGZsb2F0IHhQb3MsIGludCBhdmFpbGFibGVXaWR0
aCwgYm9vbCBpc0ZpeGVkUGl0Y2gsIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlLCBpbnQgbGFzdFNw
YWNlV29yZFNwYWNpbmcsIElubGluZUl0ZXJhdG9yJiBsaW5lQnJlYWssIGludCBuZXh0QnJlYWth
YmxlLCBib29sJiBoeXBoZW5hdGVkKQogewogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaHlwaGVu
U3RyaW5nID0gdGV4dC0+c3R5bGUoKS0+aHlwaGVuU3RyaW5nKCk7CiAgICAgaW50IGh5cGhlbldp
ZHRoID0gZm9udC53aWR0aChUZXh0UnVuKGh5cGhlblN0cmluZy5jaGFyYWN0ZXJzKCksIGh5cGhl
blN0cmluZy5sZW5ndGgoKSkpOwogCi0gICAgaW50IG1heFByZWZpeFdpZHRoID0gYXZhaWxhYmxl
V2lkdGggLSB4UG9zIC0gaHlwaGVuV2lkdGggLSBsYXN0U3BhY2VXb3JkU3BhY2luZzsKKyAgICBm
bG9hdCBtYXhQcmVmaXhXaWR0aCA9IGF2YWlsYWJsZVdpZHRoIC0geFBvcyAtIGh5cGhlbldpZHRo
IC0gbGFzdFNwYWNlV29yZFNwYWNpbmc7CiAgICAgLy8gSWYgdGhlIG1heGltdW0gd2lkdGggYXZh
aWxhYmxlIGZvciB0aGUgcHJlZml4IGJlZm9yZSB0aGUgaHlwaGVuIGlzIHNtYWxsLCB0aGVuIGl0
IGlzIHZlcnkgdW5saWtlbHkKICAgICAvLyB0aGF0IGFuIGh5cGhlbmF0aW9uIG9wcG9ydHVuaXR5
IGV4aXN0cywgc28gZG8gbm90IGJvdGhlciB0byBsb29rIGZvciBpdC4KICAgICBpZiAobWF4UHJl
Zml4V2lkdGggPD0gZm9udC5waXhlbFNpemUoKSAqIDUgLyA0KQpAQCAtMTQxOSw3ICsxNDE5LDcg
QEAgc3RhdGljIHZvaWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCogdAogICAgICAgICByZXR1
cm47CiAKICNpZiAhQVNTRVJUX0RJU0FCTEVECi0gICAgaW50IHByZWZpeFdpZHRoID0gaHlwaGVu
V2lkdGggKyB0ZXh0V2lkdGgodGV4dCwgbGFzdFNwYWNlLCBwcmVmaXhMZW5ndGgsIGZvbnQsIHhQ
b3MsIGlzRml4ZWRQaXRjaCwgY29sbGFwc2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRTcGFj
aW5nOworICAgIGZsb2F0IHByZWZpeFdpZHRoID0gaHlwaGVuV2lkdGggKyB0ZXh0V2lkdGgodGV4
dCwgbGFzdFNwYWNlLCBwcmVmaXhMZW5ndGgsIGZvbnQsIHhQb3MsIGlzRml4ZWRQaXRjaCwgY29s
bGFwc2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOwogICAgIEFTU0VSVCh4UG9z
ICsgcHJlZml4V2lkdGggPD0gYXZhaWxhYmxlV2lkdGgpOwogI2Vsc2UKICAgICBVTlVTRURfUEFS
QU0oaXNGaXhlZFBpdGNoKTsKQEAgLTE0MzksMTAgKzE0MzksMTAgQEAgSW5saW5lSXRlcmF0b3Ig
UmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZQogICAgIGJvb2wgYXBwbGllZFN0YXJ0V2lkdGggPSBy
ZXNvbHZlci5wb3NpdGlvbigpLnBvcyA+IDA7CiAgICAgTGluZU1pZHBvaW50U3RhdGUmIGxpbmVN
aWRwb2ludFN0YXRlID0gcmVzb2x2ZXIubWlkcG9pbnRTdGF0ZSgpOwogICAgIAotICAgIGludCB3
aWR0aCA9IHNraXBMZWFkaW5nV2hpdGVzcGFjZShyZXNvbHZlciwgZmlyc3RMaW5lLCBpc0xpbmVF
bXB0eSwgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5l
KTsKKyAgICBmbG9hdCB3aWR0aCA9IHNraXBMZWFkaW5nV2hpdGVzcGFjZShyZXNvbHZlciwgZmly
c3RMaW5lLCBpc0xpbmVFbXB0eSwgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBsYXN0RmxvYXRG
cm9tUHJldmlvdXNMaW5lKTsKIAotICAgIGludCB3ID0gMDsKLSAgICBpbnQgdG1wVyA9IDA7Cisg
ICAgZmxvYXQgdyA9IDA7CisgICAgZmxvYXQgdG1wVyA9IDA7CiAKICAgICBpZiAocmVzb2x2ZXIu
cG9zaXRpb24oKS5hdEVuZCgpKQogICAgICAgICByZXR1cm4gcmVzb2x2ZXIucG9zaXRpb24oKTsK
QEAgLTE0NjEsOCArMTQ2MSw4IEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4
dExpbmUKIAogICAgIElubGluZUl0ZXJhdG9yIGxCcmVhayA9IHJlc29sdmVyLnBvc2l0aW9uKCk7
CiAKLSAgICBSZW5kZXJPYmplY3QgKm8gPSByZXNvbHZlci5wb3NpdGlvbigpLm9iajsKLSAgICBS
ZW5kZXJPYmplY3QgKmxhc3QgPSBvOworICAgIFJlbmRlck9iamVjdCogbyA9IHJlc29sdmVyLnBv
c2l0aW9uKCkub2JqOworICAgIFJlbmRlck9iamVjdCogbGFzdCA9IG87CiAgICAgdW5zaWduZWQg
cG9zID0gcmVzb2x2ZXIucG9zaXRpb24oKS5wb3M7CiAgICAgaW50IG5leHRCcmVha2FibGUgPSBy
ZXNvbHZlci5wb3NpdGlvbigpLm5leHRCcmVha2FibGVQb3NpdGlvbjsKICAgICBib29sIGF0U3Rh
cnQgPSB0cnVlOwpAQCAtMTY1OSwyMiArMTY1OSwyMiBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJC
bG9jazo6ZmluZE5leHRMaW5lCiAgICAgICAgICAgICBib29sIGNhbkh5cGhlbmF0ZSA9IHN0eWxl
LT5oeXBoZW5zKCkgPT0gSHlwaGVuc0F1dG8gJiYgV2ViQ29yZTo6Y2FuSHlwaGVuYXRlKHN0eWxl
LT5oeXBoZW5hdGlvbkxvY2FsZSgpKTsKIAogICAgICAgICAgICAgaW50IGxhc3RTcGFjZSA9IHBv
czsKLSAgICAgICAgICAgIGludCB3b3JkU3BhY2luZyA9IG8tPnN0eWxlKCktPndvcmRTcGFjaW5n
KCk7Ci0gICAgICAgICAgICBpbnQgbGFzdFNwYWNlV29yZFNwYWNpbmcgPSAwOworICAgICAgICAg
ICAgZmxvYXQgd29yZFNwYWNpbmcgPSBvLT5zdHlsZSgpLT53b3JkU3BhY2luZygpOworICAgICAg
ICAgICAgZmxvYXQgbGFzdFNwYWNlV29yZFNwYWNpbmcgPSAwOwogCiAgICAgICAgICAgICAvLyBO
b24temVybyBvbmx5IHdoZW4ga2VybmluZyBpcyBlbmFibGVkLCBpbiB3aGljaCBjYXNlIHdlIG1l
YXN1cmUgd29yZHMgd2l0aCB0aGVpciB0cmFpbGluZwogICAgICAgICAgICAgLy8gc3BhY2UsIHRo
ZW4gc3VidHJhY3QgaXRzIHdpZHRoLgotICAgICAgICAgICAgaW50IHdvcmRUcmFpbGluZ1NwYWNl
V2lkdGggPSBmLnR5cGVzZXR0aW5nRmVhdHVyZXMoKSAmIEtlcm5pbmcgPyBmLndpZHRoKFRleHRS
dW4oJnNwYWNlLCAxKSkgKyB3b3JkU3BhY2luZyA6IDA7CisgICAgICAgICAgICBmbG9hdCB3b3Jk
VHJhaWxpbmdTcGFjZVdpZHRoID0gZi50eXBlc2V0dGluZ0ZlYXR1cmVzKCkgJiBLZXJuaW5nID8g
Zi53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpICsgd29yZFNwYWNpbmcgOiAwOwogCi0gICAgICAg
ICAgICBpbnQgd3JhcFcgPSB0bXBXICsgaW5saW5lTG9naWNhbFdpZHRoKG8sICFhcHBsaWVkU3Rh
cnRXaWR0aCwgdHJ1ZSk7Ci0gICAgICAgICAgICBpbnQgY2hhcldpZHRoID0gMDsKKyAgICAgICAg
ICAgIGZsb2F0IHdyYXBXID0gdG1wVyArIGlubGluZUxvZ2ljYWxXaWR0aChvLCAhYXBwbGllZFN0
YXJ0V2lkdGgsIHRydWUpOworICAgICAgICAgICAgZmxvYXQgY2hhcldpZHRoID0gMDsKICAgICAg
ICAgICAgIGJvb2wgYnJlYWtOQlNQID0gYXV0b1dyYXAgJiYgby0+c3R5bGUoKS0+bmJzcE1vZGUo
KSA9PSBTUEFDRTsKICAgICAgICAgICAgIC8vIEF1dG8td3JhcHBpbmcgdGV4dCBzaG91bGQgd3Jh
cCBpbiB0aGUgbWlkZGxlIG9mIGEgd29yZCBvbmx5IGlmIGl0IGNvdWxkIG5vdCB3cmFwIGJlZm9y
ZSB0aGUgd29yZCwKICAgICAgICAgICAgIC8vIHdoaWNoIGlzIG9ubHkgcG9zc2libGUgaWYgdGhl
IHdvcmQgaXMgdGhlIGZpcnN0IHRoaW5nIG9uIHRoZSBsaW5lLCB0aGF0IGlzLCBpZiB8d3wgaXMg
emVyby4KICAgICAgICAgICAgIGJvb2wgYnJlYWtXb3JkcyA9IG8tPnN0eWxlKCktPmJyZWFrV29y
ZHMoKSAmJiAoKGF1dG9XcmFwICYmICF3KSB8fCBjdXJyV1MgPT0gUFJFKTsKICAgICAgICAgICAg
IGJvb2wgbWlkV29yZEJyZWFrID0gZmFsc2U7CiAgICAgICAgICAgICBib29sIGJyZWFrQWxsID0g
by0+c3R5bGUoKS0+d29yZEJyZWFrKCkgPT0gQnJlYWtBbGxXb3JkQnJlYWsgJiYgYXV0b1dyYXA7
Ci0gICAgICAgICAgICBpbnQgaHlwaGVuV2lkdGggPSAwOworICAgICAgICAgICAgZmxvYXQgaHlw
aGVuV2lkdGggPSAwOwogCiAgICAgICAgICAgICBpZiAodC0+aXNXb3JkQnJlYWsoKSkgewogICAg
ICAgICAgICAgICAgIHcgKz0gdG1wVzsKQEAgLTE3NDMsNyArMTc0Myw3IEBAIElubGluZUl0ZXJh
dG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4dExpbmUKICAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgICAgIGludCBhZGRpdGlv
bmFsVG1wVzsKKyAgICAgICAgICAgICAgICAgICAgZmxvYXQgYWRkaXRpb25hbFRtcFc7CiAgICAg
ICAgICAgICAgICAgICAgIGlmICh3b3JkVHJhaWxpbmdTcGFjZVdpZHRoICYmIGN1cnJlbnRDaGFy
YWN0ZXJJc1NwYWNlKQogICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFRtcFcgPSB0
ZXh0V2lkdGgodCwgbGFzdFNwYWNlLCBwb3MgKyAxIC0gbGFzdFNwYWNlLCBmLCB3ICsgdG1wVywg
aXNGaXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UpIC0gd29yZFRyYWlsaW5nU3BhY2VXaWR0
aCArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOwogICAgICAgICAgICAgICAgICAgICBlbHNlCkBAIC0x
ODkzLDcgKzE4OTMsNyBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9jazo6ZmluZE5leHRMaW5l
CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIElNUE9SVEFOVDogcG9zIGlzID4gbGVu
Z3RoIGhlcmUhCi0gICAgICAgICAgICBpbnQgYWRkaXRpb25hbFRtcFcgPSBpZ25vcmluZ1NwYWNl
cyA/IDAgOiB0ZXh0V2lkdGgodCwgbGFzdFNwYWNlLCBwb3MgLSBsYXN0U3BhY2UsIGYsIHcgKyB0
bXBXLCBpc0ZpeGVkUGl0Y2gsIGNvbGxhcHNlV2hpdGVTcGFjZSkgKyBsYXN0U3BhY2VXb3JkU3Bh
Y2luZzsKKyAgICAgICAgICAgIGZsb2F0IGFkZGl0aW9uYWxUbXBXID0gaWdub3JpbmdTcGFjZXMg
PyAwIDogdGV4dFdpZHRoKHQsIGxhc3RTcGFjZSwgcG9zIC0gbGFzdFNwYWNlLCBmLCB3ICsgdG1w
VywgaXNGaXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UpICsgbGFzdFNwYWNlV29yZFNwYWNp
bmc7CiAgICAgICAgICAgICB0bXBXICs9IGFkZGl0aW9uYWxUbXBXOwogICAgICAgICAgICAgdG1w
VyArPSBpbmxpbmVMb2dpY2FsV2lkdGgobywgIWFwcGxpZWRTdGFydFdpZHRoLCB0cnVlKTsKIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9uIDc4MzUw
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEzMjksNyArMTMyOSw3IEBAIHZvaWQgUmVuZGVyQm94Ojpwb3NpdGlvbkxpbmVCb3go
SW5saW5lQm8KICAgICAgICAgYm94LT5yZW1vdmUoKTsKICAgICAgICAgYm94LT5kZXN0cm95KHJl
bmRlckFyZW5hKCkpOwogICAgIH0gZWxzZSBpZiAoaXNSZXBsYWNlZCgpKSB7Ci0gICAgICAgIHNl
dExvY2F0aW9uKGJveC0+eCgpLCBib3gtPnkoKSk7CisgICAgICAgIHNldExvY2F0aW9uKGxyb3Vu
ZGYoYm94LT54KCkpLCBscm91bmRmKGJveC0+eSgpKSk7CiAgICAgICAgIG1faW5saW5lQm94V3Jh
cHBlciA9IGJveDsKICAgICB9CiB9CkBAIC0zMzQ4LDYgKzMzNDgsMjQgQEAgSW50U2l6ZSBSZW5k
ZXJCb3g6OmZsaXBGb3JXcml0aW5nTW9kZShjbwogICAgIHJldHVybiBzdHlsZSgpLT5pc0hvcml6
b250YWxXcml0aW5nTW9kZSgpID8gSW50U2l6ZShvZmZzZXQud2lkdGgoKSwgaGVpZ2h0KCkgLSBv
ZmZzZXQuaGVpZ2h0KCkpIDogSW50U2l6ZSh3aWR0aCgpIC0gb2Zmc2V0LndpZHRoKCksIG9mZnNl
dC5oZWlnaHQoKSk7CiB9CiAKK0Zsb2F0UG9pbnQgUmVuZGVyQm94OjpmbGlwRm9yV3JpdGluZ01v
ZGUoY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24pIGNvbnN0Cit7CisgICAgaWYgKCFzdHlsZSgp
LT5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQorICAgICAgICByZXR1cm4gcG9zaXRpb247
CisgICAgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBGbG9hdFBv
aW50KHBvc2l0aW9uLngoKSwgaGVpZ2h0KCkgLSBwb3NpdGlvbi55KCkpIDogRmxvYXRQb2ludCh3
aWR0aCgpIC0gcG9zaXRpb24ueCgpLCBwb3NpdGlvbi55KCkpOworfQorCit2b2lkIFJlbmRlckJv
eDo6ZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKK3sKKyAgICBpZiAo
IXN0eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCisgICAgICAgIHJldHVybjsK
KworICAgIGlmIChzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQorICAgICAgICBy
ZWN0LnNldFkoaGVpZ2h0KCkgLSByZWN0Lm1heFkoKSk7CisgICAgZWxzZQorICAgICAgICByZWN0
LnNldFgod2lkdGgoKSAtIHJlY3QubWF4WCgpKTsKK30KKwogSW50U2l6ZSBSZW5kZXJCb3g6Omxv
Y2F0aW9uT2Zmc2V0SW5jbHVkaW5nRmxpcHBpbmcoKSBjb25zdAogewogICAgIGlmICghcGFyZW50
KCkgfHwgIXBhcmVudCgpLT5pc0JveCgpKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guaAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4NSw2ICszODUsOCBAQCBwdWJsaWM6CiAgICAg
SW50UG9pbnQgZmxpcEZvcldyaXRpbmdNb2RlSW5jbHVkaW5nQ29sdW1ucyhjb25zdCBJbnRQb2lu
dCYpIGNvbnN0OwogICAgIEludFNpemUgZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEludFNpemUm
KSBjb25zdDsKICAgICB2b2lkIGZsaXBGb3JXcml0aW5nTW9kZShJbnRSZWN0JikgY29uc3Q7Cisg
ICAgRmxvYXRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgRmxvYXRQb2ludCYpIGNvbnN0
OworICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0UmVjdCYpIGNvbnN0OwogICAgIElu
dFNpemUgbG9jYXRpb25PZmZzZXRJbmNsdWRpbmdGbGlwcGluZygpIGNvbnN0OwogCiAgICAgSW50
UmVjdCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24oUmVuZGVyU3R5bGUq
KSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJp
bmVUZXh0LmNwcAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQ29tYmluZVRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw3IEBAIHZv
aWQgUmVuZGVyQ29tYmluZVRleHQ6OnNldFRleHRJbnRlcm5hbCgKICAgICBtX25lZWRzRm9udFVw
ZGF0ZSA9IHRydWU7CiB9CiAKLXVuc2lnbmVkIFJlbmRlckNvbWJpbmVUZXh0Ojp3aWR0aCh1bnNp
Z25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnQmIGZvbnQsIGludCB4UG9zaXRp
b24sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhP
dmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKK2Zsb2F0IFJlbmRlckNvbWJpbmVUZXh0Ojp3
aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnQmIGZvbnQsIGZs
b2F0IHhQb3NpdGlvbiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0Zv
bnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAogewogICAgIGlmICghY2hh
cmFjdGVycygpKQogICAgICAgICByZXR1cm4gMDsKQEAgLTYzLDcgKzYzLDcgQEAgdW5zaWduZWQg
UmVuZGVyQ29tYmluZVRleHQ6OndpZHRoKHVuc2lnbgogICAgIHJldHVybiBSZW5kZXJUZXh0Ojp3
aWR0aChmcm9tLCBsZW5ndGgsIGZvbnQsIHhQb3NpdGlvbiwgZmFsbGJhY2tGb250cywgZ2x5cGhP
dmVyZmxvdyk7CiB9CiAKLXZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OmFkanVzdFRleHRPcmlnaW4o
SW50UG9pbnQmIHRleHRPcmlnaW4sIGNvbnN0IEludFJlY3QmIGJveFJlY3QpIGNvbnN0Cit2b2lk
IFJlbmRlckNvbWJpbmVUZXh0OjphZGp1c3RUZXh0T3JpZ2luKEZsb2F0UG9pbnQmIHRleHRPcmln
aW4sIGNvbnN0IEZsb2F0UmVjdCYgYm94UmVjdCkgY29uc3QKIHsKICAgICBpZiAobV9pc0NvbWJp
bmVkKQogICAgICAgICB0ZXh0T3JpZ2luLm1vdmUoYm94UmVjdC5oZWlnaHQoKSAvIDIgLSBjZWls
ZihtX2NvbWJpbmVkVGV4dFdpZHRoKSAvIDIsIHN0eWxlKCktPmZvbnQoKS5waXhlbFNpemUoKSk7
CkBAIC05OCw3ICs5OCw3IEBAIHZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OmNvbWJpbmVUZXh0KCkK
ICAgICBib29sIHNob3VsZFVwZGF0ZUZvbnQgPSBmYWxzZTsKIAogICAgIGRlc2NyaXB0aW9uLnNl
dE9yaWVudGF0aW9uKEhvcml6b250YWwpOyAvLyBXZSBhcmUgZ29pbmcgdG8gZHJhdyBjb21iaW5l
ZCB0ZXh0IGhvcml6b250YWxseS4KLSAgICBtX2NvbWJpbmVkVGV4dFdpZHRoID0gc3R5bGUoKS0+
Zm9udCgpLmZsb2F0V2lkdGgocnVuKTsKKyAgICBtX2NvbWJpbmVkVGV4dFdpZHRoID0gc3R5bGUo
KS0+Zm9udCgpLndpZHRoKHJ1bik7CiAgICAgbV9pc0NvbWJpbmVkID0gbV9jb21iaW5lZFRleHRX
aWR0aCA8PSBlbVdpZHRoOwogCiAgICAgaWYgKG1faXNDb21iaW5lZCkKQEAgLTExMCw3ICsxMTAs
NyBAQCB2b2lkIFJlbmRlckNvbWJpbmVUZXh0Ojpjb21iaW5lVGV4dCgpCiAgICAgICAgICAgICBk
ZXNjcmlwdGlvbi5zZXRXaWR0aFZhcmlhbnQod2lkdGhWYXJpYW50c1tpXSk7CiAgICAgICAgICAg
ICBGb250IGNvbXByZXNzZWRGb250ID0gRm9udChkZXNjcmlwdGlvbiwgc3R5bGUoKS0+Zm9udCgp
LmxldHRlclNwYWNpbmcoKSwgc3R5bGUoKS0+Zm9udCgpLndvcmRTcGFjaW5nKCkpOwogICAgICAg
ICAgICAgY29tcHJlc3NlZEZvbnQudXBkYXRlKHN0eWxlKCktPmZvbnQoKS5mb250U2VsZWN0b3Io
KSk7Ci0gICAgICAgICAgICBmbG9hdCBydW5XaWR0aCA9IGNvbXByZXNzZWRGb250LmZsb2F0V2lk
dGgocnVuKTsKKyAgICAgICAgICAgIGZsb2F0IHJ1bldpZHRoID0gY29tcHJlc3NlZEZvbnQud2lk
dGgocnVuKTsKICAgICAgICAgICAgIGlmIChydW5XaWR0aCA8PSBlbVdpZHRoKSB7CiAgICAgICAg
ICAgICAgICAgbV9jb21iaW5lZFRleHRXaWR0aCA9IHJ1bldpZHRoOwogICAgICAgICAgICAgICAg
IG1faXNDb21iaW5lZCA9IHRydWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQ29tYmluZVRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQ29tYmluZVRleHQuaAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTMgKzMw
LDEzIEBAIHB1YmxpYzoKICAgICBSZW5kZXJDb21iaW5lVGV4dChOb2RlKiwgUGFzc1JlZlB0cjxT
dHJpbmdJbXBsPik7CiAKICAgICB2b2lkIGNvbWJpbmVUZXh0KCk7Ci0gICAgdm9pZCBhZGp1c3RU
ZXh0T3JpZ2luKEludFBvaW50JiB0ZXh0T3JpZ2luLCBjb25zdCBJbnRSZWN0JiBib3hSZWN0KSBj
b25zdDsKKyAgICB2b2lkIGFkanVzdFRleHRPcmlnaW4oRmxvYXRQb2ludCYgdGV4dE9yaWdpbiwg
Y29uc3QgRmxvYXRSZWN0JiBib3hSZWN0KSBjb25zdDsKICAgICB2b2lkIGNoYXJhY3RlcnNUb1Jl
bmRlcihpbnQgc3RhcnQsIGNvbnN0IFVDaGFyKiYgY2hhcmFjdGVycywgaW50JiBsZW5ndGgpIGNv
bnN0OwogICAgIGJvb2wgaXNDb21iaW5lZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNDb21iaW5lZDsg
fQotICAgIGludCBjb21iaW5lZFRleHRXaWR0aChjb25zdCBGb250JiBmb250KSBjb25zdCB7IHJl
dHVybiBmb250LnNpemUoKTsgfQorICAgIGZsb2F0IGNvbWJpbmVkVGV4dFdpZHRoKGNvbnN0IEZv
bnQmIGZvbnQpIGNvbnN0IHsgcmV0dXJuIGZvbnQuc2l6ZSgpOyB9CiAKIHByaXZhdGU6Ci0gICAg
dmlydHVhbCB1bnNpZ25lZCB3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNv
bnN0IEZvbnQmLCBpbnQgeFBvc2l0aW9uLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4q
IGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0OworICAgIHZpcnR1
YWwgZmxvYXQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBGb250
JiwgZmxvYXQgeFBvc2l0aW9uLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxi
YWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0OwogICAgIHZpcnR1YWwgY29u
c3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJDb21iaW5lVGV4dCI7
IH0KICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25z
dCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0SW50ZXJu
YWwoUGFzc1JlZlB0cjxTdHJpbmdJbXBsPik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAJKHJldmlzaW9uIDc4MzUwKQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTk5LDggKzE5OSw3IEBAIGJvb2wgUmVuZGVyRW1iZWRkZWRPYmplY3Q6Omdl
dFJlcGxhY2VtZW4KICAgICBmb250LnVwZGF0ZSgwKTsKICAgICAKICAgICBydW4gPSBUZXh0UnVu
KG1fcmVwbGFjZW1lbnRUZXh0LmNoYXJhY3RlcnMoKSwgbV9yZXBsYWNlbWVudFRleHQubGVuZ3Ro
KCkpOwotICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotICAgIHRleHRXaWR0aCA9IGZv
bnQuZmxvYXRXaWR0aChydW4pOworICAgIHRleHRXaWR0aCA9IGZvbnQud2lkdGgocnVuKTsKICAg
ICAKICAgICByZXBsYWNlbWVudFRleHRSZWN0LnNldFNpemUoRmxvYXRTaXplKHRleHRXaWR0aCAr
IHJlcGxhY2VtZW50VGV4dFJvdW5kZWRSZWN0TGVmdFJpZ2h0VGV4dE1hcmdpbiAqIDIsIHJlcGxh
Y2VtZW50VGV4dFJvdW5kZWRSZWN0SGVpZ2h0KSk7CiAgICAgZmxvYXQgeCA9IChjb250ZW50UmVj
dC5zaXplKCkud2lkdGgoKSAvIDIgLSByZXBsYWNlbWVudFRleHRSZWN0LnNpemUoKS53aWR0aCgp
IC8gMikgKyBjb250ZW50UmVjdC5sb2NhdGlvbigpLngoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAkocmV2aXNp
b24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENv
bnRyb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzMsNyArMjczLDcgQEAgdm9pZCBSZW5kZXJG
aWxlVXBsb2FkQ29udHJvbDo6Y29tcHV0ZVByZQogICAgICAgICAvLyBGaWd1cmUgb3V0IGhvdyBi
aWcgdGhlIGZpbGVuYW1lIHNwYWNlIG5lZWRzIHRvIGJlIGZvciBhIGdpdmVuIG51bWJlciBvZiBj
aGFyYWN0ZXJzCiAgICAgICAgIC8vICh1c2luZyAiMCIgYXMgdGhlIG5vbWluYWwgY2hhcmFjdGVy
KS4KICAgICAgICAgY29uc3QgVUNoYXIgY2ggPSAnMCc7Ci0gICAgICAgIGZsb2F0IGNoYXJXaWR0
aCA9IHN0eWxlKCktPmZvbnQoKS5mbG9hdFdpZHRoKFRleHRSdW4oJmNoLCAxLCBmYWxzZSwgMCwg
MCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkp
OworICAgICAgICBmbG9hdCBjaGFyV2lkdGggPSBzdHlsZSgpLT5mb250KCkud2lkdGgoVGV4dFJ1
bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBm
YWxzZSkpOwogICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IChpbnQpY2VpbGYo
Y2hhcldpZHRoICogZGVmYXVsdFdpZHRoTnVtQ2hhcnMpOwogICAgIH0KIApJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCShyZXZpc2lvbiA3ODM1MCkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTgxLDcgKzgxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHNob3J0IHBhZGRpbmdIZWlnaAog
CiAvLyBBbHQgdGV4dCBpcyByZXN0cmljdGVkIHRvIHRoaXMgbWF4aW11bSBzaXplLCBpbiBwaXhl
bHMuICBUaGVzZSBhcmUKIC8vIHNpZ25lZCBpbnRlZ2VycyBiZWNhdXNlIHRoZXkgYXJlIGNvbXBh
cmVkIHdpdGggb3RoZXIgc2lnbmVkIHZhbHVlcy4KLXN0YXRpYyBjb25zdCBpbnQgbWF4QWx0VGV4
dFdpZHRoID0gMTAyNDsKK3N0YXRpYyBjb25zdCBmbG9hdCBtYXhBbHRUZXh0V2lkdGggPSAxMDI0
Owogc3RhdGljIGNvbnN0IGludCBtYXhBbHRUZXh0SGVpZ2h0ID0gMjU2OwogCiBJbnRTaXplIFJl
bmRlckltYWdlOjppbWFnZVNpemVGb3JFcnJvcihDYWNoZWRJbWFnZSogbmV3SW1hZ2UpIGNvbnN0
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAkocmV2aXNp
b24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtOTYzLDggKzk2Myw4IEBAIHZvaWQgUmVuZGVySW5saW5lOjphZGRG
b2N1c1JpbmdSZWN0cyhWZWMKIHsKICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1cnIgPSBmaXJz
dExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkpIHsKICAgICAgICAg
Um9vdElubGluZUJveCogcm9vdCA9IGN1cnItPnJvb3QoKTsKLSAgICAgICAgaW50IHRvcCA9IG1h
eChyb290LT5saW5lVG9wKCksIGN1cnItPnkoKSk7Ci0gICAgICAgIGludCBib3R0b20gPSBtaW4o
cm9vdC0+bGluZUJvdHRvbSgpLCBjdXJyLT55KCkgKyBjdXJyLT5sb2dpY2FsSGVpZ2h0KCkpOwor
ICAgICAgICBpbnQgdG9wID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+bG9naWNhbFRvcCgp
KTsKKyAgICAgICAgaW50IGJvdHRvbSA9IG1pbihyb290LT5saW5lQm90dG9tKCksIGN1cnItPmxv
Z2ljYWxCb3R0b20oKSk7CiAgICAgICAgIEludFJlY3QgcmVjdCh0eCArIGN1cnItPngoKSwgdHkg
KyB0b3AsIGN1cnItPmxvZ2ljYWxXaWR0aCgpLCBib3R0b20gLSB0b3ApOwogICAgICAgICBpZiAo
IXJlY3QuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmVjdHMuYXBwZW5kKHJlY3QpOwpAQCAtMTAx
NSw4ICsxMDE1LDggQEAgdm9pZCBSZW5kZXJJbmxpbmU6OnBhaW50T3V0bGluZShHcmFwaGljcwog
ICAgIHJlY3RzLmFwcGVuZChJbnRSZWN0KCkpOwogICAgIGZvciAoSW5saW5lRmxvd0JveCogY3Vy
ciA9IGZpcnN0TGluZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dExpbmVCb3goKSkgewog
ICAgICAgICBSb290SW5saW5lQm94KiByb290ID0gY3Vyci0+cm9vdCgpOwotICAgICAgICBpbnQg
dG9wID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+eSgpKTsKLSAgICAgICAgaW50IGJvdHRv
bSA9IG1pbihyb290LT5saW5lQm90dG9tKCksIGN1cnItPnkoKSArIGN1cnItPmxvZ2ljYWxIZWln
aHQoKSk7CisgICAgICAgIGludCB0b3AgPSBtYXgocm9vdC0+bGluZVRvcCgpLCBjdXJyLT5sb2dp
Y2FsVG9wKCkpOworICAgICAgICBpbnQgYm90dG9tID0gbWluKHJvb3QtPmxpbmVCb3R0b20oKSwg
Y3Vyci0+bG9naWNhbEJvdHRvbSgpKTsKICAgICAgICAgcmVjdHMuYXBwZW5kKEludFJlY3QoY3Vy
ci0+eCgpLCB0b3AsIGN1cnItPmxvZ2ljYWxXaWR0aCgpLCBib3R0b20gLSB0b3ApKTsKICAgICB9
CiAgICAgcmVjdHMuYXBwZW5kKEludFJlY3QoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTExLDcg
KzExMSw3IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6dXBkYXRlRnJvbUVsZW1lbnQoKQogICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKCF0ZXh0LmlzRW1wdHko
KSkgewotICAgICAgICAgICAgICAgIGZsb2F0IHRleHRXaWR0aCA9IGl0ZW1Gb250LmZsb2F0V2lk
dGgoVGV4dFJ1bih0ZXh0LmltcGwoKSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxp
bmdFeHBhbnNpb24sIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSk7CisgICAgICAgICAgICAg
ICAgZmxvYXQgdGV4dFdpZHRoID0gaXRlbUZvbnQud2lkdGgoVGV4dFJ1bih0ZXh0LmltcGwoKSwg
ZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlLCBmYWxz
ZSkpOwogICAgICAgICAgICAgICAgIHdpZHRoID0gbWF4KHdpZHRoLCB0ZXh0V2lkdGgpOwogICAg
ICAgICAgICAgfQogICAgICAgICB9CkBAIC0zMzMsNyArMzMzLDcgQEAgdm9pZCBSZW5kZXJMaXN0
Qm94OjpwYWludEl0ZW1Gb3JlZ3JvdW5kKAogCiAgICAgdW5zaWduZWQgbGVuZ3RoID0gaXRlbVRl
eHQubGVuZ3RoKCk7CiAgICAgY29uc3QgVUNoYXIqIHN0cmluZyA9IGl0ZW1UZXh0LmNoYXJhY3Rl
cnMoKTsKLSAgICBUZXh0UnVuIHRleHRSdW4oc3RyaW5nLCBsZW5ndGgsIGZhbHNlLCAwLCAwLCBU
ZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCAhaXRlbVN0eWxlLT5pc0xlZnRUb1JpZ2h0
RGlyZWN0aW9uKCksIGl0ZW1TdHlsZS0+dW5pY29kZUJpZGkoKSA9PSBPdmVycmlkZSwgZmFsc2Us
IGZhbHNlKTsKKyAgICBUZXh0UnVuIHRleHRSdW4oc3RyaW5nLCBsZW5ndGgsIGZhbHNlLCAwLCAw
LCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCAhaXRlbVN0eWxlLT5pc0xlZnRUb1Jp
Z2h0RGlyZWN0aW9uKCksIGl0ZW1TdHlsZS0+dW5pY29kZUJpZGkoKSA9PSBPdmVycmlkZSk7CiAK
ICAgICAvLyBEcmF3IHRoZSBpdGVtIHRleHQKICAgICBpZiAoaXRlbVN0eWxlLT52aXNpYmlsaXR5
KCkgIT0gSElEREVOKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVM
aXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVu
dUxpc3QuY3BwCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNZW51TGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1MywxMCArMTUzLDEwIEBAIHZv
aWQgUmVuZGVyTWVudUxpc3Q6OnVwZGF0ZU9wdGlvbnNXaWR0aCgKICAgICAgICAgICAgIGlmIChS
ZW5kZXJTdHlsZSogb3B0aW9uU3R5bGUgPSBlbGVtZW50LT5yZW5kZXJTdHlsZSgpKQogICAgICAg
ICAgICAgICAgIG9wdGlvbldpZHRoICs9IG9wdGlvblN0eWxlLT50ZXh0SW5kZW50KCkuY2FsY01p
blZhbHVlKDApOwogICAgICAgICAgICAgaWYgKCF0ZXh0LmlzRW1wdHkoKSkKLSAgICAgICAgICAg
ICAgICBvcHRpb25XaWR0aCArPSBzdHlsZSgpLT5mb250KCkuZmxvYXRXaWR0aCh0ZXh0KTsKKyAg
ICAgICAgICAgICAgICBvcHRpb25XaWR0aCArPSBzdHlsZSgpLT5mb250KCkud2lkdGgodGV4dCk7
CiAgICAgICAgICAgICBtYXhPcHRpb25XaWR0aCA9IG1heChtYXhPcHRpb25XaWR0aCwgb3B0aW9u
V2lkdGgpOwogICAgICAgICB9IGVsc2UgaWYgKCF0ZXh0LmlzRW1wdHkoKSkKLSAgICAgICAgICAg
IG1heE9wdGlvbldpZHRoID0gbWF4KG1heE9wdGlvbldpZHRoLCBzdHlsZSgpLT5mb250KCkuZmxv
YXRXaWR0aCh0ZXh0KSk7CisgICAgICAgICAgICBtYXhPcHRpb25XaWR0aCA9IG1heChtYXhPcHRp
b25XaWR0aCwgc3R5bGUoKS0+Zm9udCgpLndpZHRoKHRleHQpKTsKICAgICB9CiAKICAgICBpbnQg
d2lkdGggPSBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKG1heE9wdGlvbldpZHRoKSk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCShyZXZpc2lvbiA3ODM1MCkKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTYwLDcgKzU2MCw3IEBAIEludFJlY3QgUmVuZGVyVGV4dDo6bG9jYWxDYXJldFJlY3QoSW5s
aW4KICAgICByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEludFJl
Y3QobGVmdCwgdG9wLCBjYXJldFdpZHRoLCBoZWlnaHQpIDogSW50UmVjdCh0b3AsIGxlZnQsIGhl
aWdodCwgY2FyZXRXaWR0aCk7CiB9CiAKLUFMV0FZU19JTkxJTkUgaW50IFJlbmRlclRleHQ6Ondp
ZHRoRnJvbUNhY2hlKGNvbnN0IEZvbnQmIGYsIGludCBzdGFydCwgaW50IGxlbiwgaW50IHhQb3Ms
IEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVy
ZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKK0FMV0FZU19JTkxJTkUgZmxvYXQgUmVuZGVyVGV4
dDo6d2lkdGhGcm9tQ2FjaGUoY29uc3QgRm9udCYgZiwgaW50IHN0YXJ0LCBpbnQgbGVuLCBmbG9h
dCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEds
eXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CiB7CiAgICAgaWYgKHN0eWxlKCktPmhh
c1RleHRDb21iaW5lKCkpIHsKICAgICAgICAgY29uc3QgUmVuZGVyQ29tYmluZVRleHQqIGNvbWJp
bmVUZXh0ID0gdG9SZW5kZXJDb21iaW5lVGV4dCh0aGlzKTsKQEAgLTU2OSw5ICs1NjksOSBAQCBB
TFdBWVNfSU5MSU5FIGludCBSZW5kZXJUZXh0Ojp3aWR0aEZyb21DCiAgICAgfQogCiAgICAgaWYg
KGYuaXNGaXhlZFBpdGNoKCkgJiYgIWYuaXNTbWFsbENhcHMoKSAmJiBtX2lzQWxsQVNDSUkpIHsK
LSAgICAgICAgaW50IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoID0gZi5zcGFjZVdpZHRoKCk7Ci0g
ICAgICAgIGludCB0YWJXaWR0aCA9IGFsbG93VGFicygpID8gbW9ub3NwYWNlQ2hhcmFjdGVyV2lk
dGggKiA4IDogMDsKLSAgICAgICAgaW50IHcgPSAwOworICAgICAgICBmbG9hdCBtb25vc3BhY2VD
aGFyYWN0ZXJXaWR0aCA9IGYuc3BhY2VXaWR0aCgpOworICAgICAgICBmbG9hdCB0YWJXaWR0aCA9
IGFsbG93VGFicygpID8gbW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGggKiA4IDogMDsKKyAgICAgICAg
ZmxvYXQgdyA9IDA7CiAgICAgICAgIGJvb2wgaXNTcGFjZTsKICAgICAgICAgYm9vbCBwcmV2aW91
c0NoYXJXYXNTcGFjZSA9IHRydWU7IC8vIEZJWE1FOiBQcmVzZXJ2ZXMgaGlzdG9yaWNhbCBiZWhh
dmlvciwgYnV0IHNlZW1zIHdyb25nIGZvciBzdGFydCA+IDAuCiAgICAgICAgIEFTU0VSVChtX3Rl
eHQpOwpAQCAtNTgzLDcgKzU4Myw3IEBAIEFMV0FZU19JTkxJTkUgaW50IFJlbmRlclRleHQ6Ondp
ZHRoRnJvbUMKICAgICAgICAgICAgICAgICAgICAgdyArPSBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0
aDsKICAgICAgICAgICAgICAgICAgICAgaXNTcGFjZSA9IHRydWU7CiAgICAgICAgICAgICAgICAg
fSBlbHNlIGlmIChjID09ICdcdCcpIHsKLSAgICAgICAgICAgICAgICAgICAgdyArPSB0YWJXaWR0
aCA/IHRhYldpZHRoIC0gKCh4UG9zICsgdykgJSB0YWJXaWR0aCkgOiBtb25vc3BhY2VDaGFyYWN0
ZXJXaWR0aDsKKyAgICAgICAgICAgICAgICAgICAgdyArPSB0YWJXaWR0aCA/IHRhYldpZHRoIC0g
Zm1vZGYoeFBvcyArIHcsIHRhYldpZHRoKSA6IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoOwogICAg
ICAgICAgICAgICAgICAgICBpc1NwYWNlID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9IGVsc2UK
ICAgICAgICAgICAgICAgICAgICAgaXNTcGFjZSA9IGZhbHNlOwpAQCAtNjAxLDEyICs2MDEsMTIg
QEAgQUxXQVlTX0lOTElORSBpbnQgUmVuZGVyVGV4dDo6d2lkdGhGcm9tQwogICAgIHJldHVybiBm
LndpZHRoKFRleHRSdW4odGV4dCgpLT5jaGFyYWN0ZXJzKCkgKyBzdGFydCwgbGVuLCBhbGxvd1Rh
YnMoKSwgeFBvcyksIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQogCi12b2lkIFJl
bmRlclRleHQ6OnRyaW1tZWRQcmVmV2lkdGhzKGludCBsZWFkV2lkdGgsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCYgYmVnaW5NaW5XLCBib29sJiBiZWdpbldTLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGVuZE1pblcsIGJvb2wmIGVuZFdT
LAordm9pZCBSZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldpZHRocyhmbG9hdCBsZWFkV2lkdGgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBiZWdpbk1pblcsIGJvb2wm
IGJlZ2luV1MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBlbmRN
aW5XLCBib29sJiBlbmRXUywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v
bCYgaGFzQnJlYWthYmxlQ2hhciwgYm9vbCYgaGFzQnJlYWssCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCYgYmVnaW5NYXhXLCBpbnQmIGVuZE1heFcsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgbWluVywgaW50JiBtYXhXLCBib29sJiBzdHJp
cEZyb250U3BhY2VzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYg
YmVnaW5NYXhXLCBmbG9hdCYgZW5kTWF4VywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZmxvYXQmIG1pblcsIGZsb2F0JiBtYXhXLCBib29sJiBzdHJpcEZyb250U3BhY2VzKQog
ewogICAgIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlID0gc3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNw
YWNlKCk7CiAgICAgaWYgKCFjb2xsYXBzZVdoaXRlU3BhY2UpCkBAIC02NDYsNyArNjQ2LDcgQEAg
dm9pZCBSZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldpZHRocyhpbnQgbAogICAgICAgICBjb25zdCBG
b250JiBmID0gc3R5bGUoKS0+Zm9udCgpOyAvLyBGSVhNRTogVGhpcyBpZ25vcmVzIGZpcnN0LWxp
bmUuCiAgICAgICAgIGlmIChzdHJpcEZyb250U3BhY2VzKSB7CiAgICAgICAgICAgICBjb25zdCBV
Q2hhciBzcGFjZSA9ICcgJzsKLSAgICAgICAgICAgIGludCBzcGFjZVdpZHRoID0gZi53aWR0aChU
ZXh0UnVuKCZzcGFjZSwgMSkpOworICAgICAgICAgICAgZmxvYXQgc3BhY2VXaWR0aCA9IGYud2lk
dGgoVGV4dFJ1bigmc3BhY2UsIDEpKTsKICAgICAgICAgICAgIG1heFcgLT0gc3BhY2VXaWR0aDsK
ICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBtYXhXICs9IGYud29yZFNwYWNpbmcoKTsKQEAg
LTY5NSwyMyArNjk1LDIzIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1NwYWNlQWNjb3JkaW5nVG9T
dHkKICAgICByZXR1cm4gYyA9PSAnICcgfHwgKGMgPT0gbm9CcmVha1NwYWNlICYmIHN0eWxlLT5u
YnNwTW9kZSgpID09IFNQQUNFKTsKIH0KIAotaW50IFJlbmRlclRleHQ6Om1pblByZWZlcnJlZExv
Z2ljYWxXaWR0aCgpIGNvbnN0CitmbG9hdCBSZW5kZXJUZXh0OjptaW5Mb2dpY2FsV2lkdGgoKSBj
b25zdAogewogICAgIGlmIChwcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkoKSkKLSAgICAgICAg
Y29uc3RfY2FzdDxSZW5kZXJUZXh0Kj4odGhpcyktPmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lk
dGhzKDApOworICAgICAgICBjb25zdF9jYXN0PFJlbmRlclRleHQqPih0aGlzKS0+Y29tcHV0ZVBy
ZWZlcnJlZExvZ2ljYWxXaWR0aHMoMC5mKTsKICAgICAgICAgCiAgICAgcmV0dXJuIG1fbWluV2lk
dGg7CiB9CiAKLWludCBSZW5kZXJUZXh0OjptYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25z
dAorZmxvYXQgUmVuZGVyVGV4dDo6bWF4TG9naWNhbFdpZHRoKCkgY29uc3QKIHsKICAgICBpZiAo
cHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KCkpCi0gICAgICAgIGNvbnN0X2Nhc3Q8UmVuZGVy
VGV4dCo+KHRoaXMpLT5jb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygwKTsKKyAgICAgICAg
Y29uc3RfY2FzdDxSZW5kZXJUZXh0Kj4odGhpcyktPmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lk
dGhzKDAuZik7CiAgICAgICAgIAogICAgIHJldHVybiBtX21heFdpZHRoOwogfQogCi12b2lkIFJl
bmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGludCBsZWFkV2lkdGgpCit2
b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxlYWRX
aWR0aCkKIHsKICAgICBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4gZmFsbGJhY2tGb250
czsKICAgICBHbHlwaE92ZXJmbG93IGdseXBoT3ZlcmZsb3c7CkBAIC03MjAsNyArNzIwLDcgQEAg
dm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbAogICAgICAgICBtX2tub3du
VG9IYXZlTm9PdmVyZmxvd0FuZE5vRmFsbGJhY2tGb250cyA9IHRydWU7CiB9CiAKLXZvaWQgUmVu
ZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRXaWR0aCwgSGFz
aFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93
JiBnbHlwaE92ZXJmbG93KQordm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNh
bFdpZHRocyhmbG9hdCBsZWFkV2lkdGgsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiYg
ZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyYgZ2x5cGhPdmVyZmxvdykKIHsKICAgICBBU1NF
UlQobV9oYXNUYWIgfHwgcHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KCkgfHwgIW1fa25vd25U
b0hhdmVOb092ZXJmbG93QW5kTm9GYWxsYmFja0ZvbnRzKTsKIApAQCAtNzMyLDggKzczMiw4IEBA
IHZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWwKICAgICBpZiAoaXNCUigp
KQogICAgICAgICByZXR1cm47CiAKLSAgICBpbnQgY3Vyck1pbldpZHRoID0gMDsKLSAgICBpbnQg
Y3Vyck1heFdpZHRoID0gMDsKKyAgICBmbG9hdCBjdXJyTWluV2lkdGggPSAwOworICAgIGZsb2F0
IGN1cnJNYXhXaWR0aCA9IDA7CiAgICAgbV9oYXNCcmVha2FibGVDaGFyID0gZmFsc2U7CiAgICAg
bV9oYXNCcmVhayA9IGZhbHNlOwogICAgIG1faGFzVGFiID0gZmFsc2U7CkBAIC03NDEsNyArNzQx
LDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbAogICAgIG1faGFz
RW5kV1MgPSBmYWxzZTsKIAogICAgIGNvbnN0IEZvbnQmIGYgPSBzdHlsZSgpLT5mb250KCk7IC8v
IEZJWE1FOiBUaGlzIGlnbm9yZXMgZmlyc3QtbGluZS4KLSAgICBpbnQgd29yZFNwYWNpbmcgPSBz
dHlsZSgpLT53b3JkU3BhY2luZygpOworICAgIGZsb2F0IHdvcmRTcGFjaW5nID0gc3R5bGUoKS0+
d29yZFNwYWNpbmcoKTsKICAgICBpbnQgbGVuID0gdGV4dExlbmd0aCgpOwogICAgIGNvbnN0IFVD
aGFyKiB0eHQgPSBjaGFyYWN0ZXJzKCk7CiAgICAgYm9vbCBuZWVkc1dvcmRTcGFjaW5nID0gZmFs
c2U7CkBAIC04MjEsNyArODIxLDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVk
TG9naWNhbAogCiAgICAgICAgIGludCB3b3JkTGVuID0gaiAtIGk7CiAgICAgICAgIGlmICh3b3Jk
TGVuKSB7Ci0gICAgICAgICAgICBpbnQgdyA9IHdpZHRoRnJvbUNhY2hlKGYsIGksIHdvcmRMZW4s
IGxlYWRXaWR0aCArIGN1cnJNYXhXaWR0aCwgJmZhbGxiYWNrRm9udHMsICZnbHlwaE92ZXJmbG93
KTsKKyAgICAgICAgICAgIGZsb2F0IHcgPSB3aWR0aEZyb21DYWNoZShmLCBpLCB3b3JkTGVuLCBs
ZWFkV2lkdGggKyBjdXJyTWF4V2lkdGgsICZmYWxsYmFja0ZvbnRzLCAmZ2x5cGhPdmVyZmxvdyk7
CiAgICAgICAgICAgICBpZiAoZmlyc3RHbHlwaExlZnRPdmVyZmxvdyA8IDApCiAgICAgICAgICAg
ICAgICAgZmlyc3RHbHlwaExlZnRPdmVyZmxvdyA9IGdseXBoT3ZlcmZsb3cubGVmdDsKICAgICAg
ICAgICAgIGN1cnJNaW5XaWR0aCArPSB3OwpAQCAtOTMzLDE3ICs5MzMsMTcgQEAgYm9vbCBSZW5k
ZXJUZXh0Ojpjb250YWluc09ubHlXaGl0ZXNwYWNlKAogICAgIHJldHVybiBjdXJyUG9zID49IChm
cm9tICsgbGVuKTsKIH0KIAotSW50UG9pbnQgUmVuZGVyVGV4dDo6Zmlyc3RSdW5PcmlnaW4oKSBj
b25zdAorRmxvYXRQb2ludCBSZW5kZXJUZXh0OjpmaXJzdFJ1bk9yaWdpbigpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIEludFBvaW50KGZpcnN0UnVuWCgpLCBmaXJzdFJ1blkoKSk7CiB9CiAKLWludCBS
ZW5kZXJUZXh0OjpmaXJzdFJ1blgoKSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6Zmlyc3RSdW5Y
KCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9maXJzdFRleHRCb3ggPyBtX2ZpcnN0VGV4dEJveC0+
bV94IDogMDsKIH0KIAotaW50IFJlbmRlclRleHQ6OmZpcnN0UnVuWSgpIGNvbnN0CitmbG9hdCBS
ZW5kZXJUZXh0OjpmaXJzdFJ1blkoKSBjb25zdAogewogICAgIHJldHVybiBtX2ZpcnN0VGV4dEJv
eCA/IG1fZmlyc3RUZXh0Qm94LT5tX3kgOiAwOwogfQpAQCAtMTIyMyw3ICsxMjIzLDcgQEAgdm9p
ZCBSZW5kZXJUZXh0Ojpwb3NpdGlvbkxpbmVCb3goSW5saW5lQgogICAgIG1fY29udGFpbnNSZXZl
cnNlZFRleHQgfD0gIXMtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKIH0KIAotdW5zaWduZWQg
UmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBpbnQgeFBvcywg
Ym9vbCBmaXJzdExpbmUsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tG
b250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKK2Zsb2F0IFJlbmRlclRl
eHQ6OndpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgZmxvYXQgeFBvcywgYm9vbCBm
aXJzdExpbmUsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywg
R2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKICAgICBpZiAoZnJvbSA+PSB0
ZXh0TGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiAwOwpAQCAtMTIzNCwxMyArMTIzNCwxMyBAQCB1
bnNpZ25lZCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tCiAgICAgcmV0dXJuIHdpZHRo
KGZyb20sIGxlbiwgc3R5bGUoZmlyc3RMaW5lKS0+Zm9udCgpLCB4UG9zLCBmYWxsYmFja0ZvbnRz
LCBnbHlwaE92ZXJmbG93KTsKIH0KIAotdW5zaWduZWQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWdu
ZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmLCBpbnQgeFBvcywgSGFzaFNldDxj
b25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlw
aE92ZXJmbG93KSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwg
dW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNp
bXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZs
b3cpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGZyb20gKyBsZW4gPD0gdGV4dExlbmd0aCgpKTsKICAg
ICBpZiAoIWNoYXJhY3RlcnMoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBpbnQgdzsKKyAg
ICBmbG9hdCB3OwogICAgIGlmICgmZiA9PSAmc3R5bGUoKS0+Zm9udCgpKSB7CiAgICAgICAgIGlm
ICghc3R5bGUoKS0+cHJlc2VydmVOZXdsaW5lKCkgJiYgIWZyb20gJiYgbGVuID09IHRleHRMZW5n
dGgoKSkgewogICAgICAgICAgICAgaWYgKGZhbGxiYWNrRm9udHMpIHsKQEAgLTEyNTIsNyArMTI1
Miw3IEBAIHVuc2lnbmVkIFJlbmRlclRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20KICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICAgdyA9IG1fbWF4V2lkdGg7CiAgICAgICAgICAgICB9
IGVsc2UKLSAgICAgICAgICAgICAgICB3ID0gbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCk7Cisg
ICAgICAgICAgICAgICAgdyA9IG1heExvZ2ljYWxXaWR0aCgpOwogICAgICAgICB9IGVsc2UKICAg
ICAgICAgICAgIHcgPSB3aWR0aEZyb21DYWNoZShmLCBmcm9tLCBsZW4sIHhQb3MsIGZhbGxiYWNr
Rm9udHMsIGdseXBoT3ZlcmZsb3cpOwogICAgIH0gZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dC5oCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTcxLDI0ICs3MSwyNCBAQCBw
dWJsaWM6CiAgICAgdW5zaWduZWQgdGV4dExlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fdGV4dC5s
ZW5ndGgoKTsgfSAvLyBub24gdmlydHVhbCBpbXBsZW1lbnRhdGlvbiBvZiBsZW5ndGgoKQogICAg
IHZvaWQgcG9zaXRpb25MaW5lQm94KElubGluZUJveCopOwogCi0gICAgdmlydHVhbCB1bnNpZ25l
ZCB3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbnN0IEZvbnQmLCBpbnQgeFBv
cywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5
cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2ln
bmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgaW50IHhQb3MsIGJvb2wgZmlyc3RMaW5lID0gZmFsc2Us
IEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBo
T3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25lZCBm
cm9tLCB1bnNpZ25lZCBsZW4sIGNvbnN0IEZvbnQmLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0
IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDAp
IGNvbnN0OworICAgIHZpcnR1YWwgZmxvYXQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQg
bGVuLCBmbG9hdCB4UG9zLCBib29sIGZpcnN0TGluZSA9IGZhbHNlLCBIYXNoU2V0PGNvbnN0IFNp
bXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNv
bnN0OwogCi0gICAgdmlydHVhbCBpbnQgbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29uc3Q7
Ci0gICAgdmlydHVhbCBpbnQgbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29uc3Q7CisgICAg
ZmxvYXQgbWluTG9naWNhbFdpZHRoKCkgY29uc3Q7CisgICAgZmxvYXQgbWF4TG9naWNhbFdpZHRo
KCkgY29uc3Q7CiAKLSAgICB2b2lkIHRyaW1tZWRQcmVmV2lkdGhzKGludCBsZWFkV2lkdGgsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGJlZ2luTWluVywgYm9vbCYgYmVnaW5XUywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgZW5kTWluVywgYm9vbCYgZW5kV1MsCisg
ICAgdm9pZCB0cmltbWVkUHJlZldpZHRocyhmbG9hdCBsZWFkV2lkdGgsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmbG9hdCYgYmVnaW5NaW5XLCBib29sJiBiZWdpbldTLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZmxvYXQmIGVuZE1pblcsIGJvb2wmIGVuZFdTLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYm9vbCYgaGFzQnJlYWthYmxlQ2hhciwgYm9vbCYgaGFzQnJlYWss
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGJlZ2luTWF4VywgaW50JiBlbmRNYXhX
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBtaW5XLCBpbnQmIG1heFcsIGJvb2wm
IHN0cmlwRnJvbnRTcGFjZXMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQmIGJl
Z2luTWF4VywgZmxvYXQmIGVuZE1heFcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9h
dCYgbWluVywgZmxvYXQmIG1heFcsIGJvb2wmIHN0cmlwRnJvbnRTcGFjZXMpOwogCiAgICAgdmly
dHVhbCBJbnRSZWN0IGxpbmVzQm91bmRpbmdCb3goKSBjb25zdDsKIAotICAgIEludFBvaW50IGZp
cnN0UnVuT3JpZ2luKCkgY29uc3Q7Ci0gICAgaW50IGZpcnN0UnVuWCgpIGNvbnN0OwotICAgIGlu
dCBmaXJzdFJ1blkoKSBjb25zdDsKKyAgICBGbG9hdFBvaW50IGZpcnN0UnVuT3JpZ2luKCkgY29u
c3Q7CisgICAgZmxvYXQgZmlyc3RSdW5YKCkgY29uc3Q7CisgICAgZmxvYXQgZmlyc3RSdW5ZKCkg
Y29uc3Q7CiAKICAgICB2b2lkIHNldFRleHQoUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiwgYm9vbCBm
b3JjZSA9IGZhbHNlKTsKICAgICB2b2lkIHNldFRleHRXaXRoT2Zmc2V0KFBhc3NSZWZQdHI8U3Ry
aW5nSW1wbD4sIHVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgbGVuLCBib29sIGZvcmNlID0gZmFs
c2UpOwpAQCAtMTIyLDcgKzEyMiw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2hlY2tDb25zaXN0
ZW5jeSgpIGNvbnN0OwogCi0gICAgdmlydHVhbCB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2Fs
V2lkdGhzKGludCBsZWFkV2lkdGgpOworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJlZmVycmVk
TG9naWNhbFdpZHRocyhmbG9hdCBsZWFkV2lkdGgpOwogICAgIGJvb2wgaXNBbGxDb2xsYXBzaWJs
ZVdoaXRlc3BhY2UoKTsKICAgICAKIHByb3RlY3RlZDoKQEAgLTEzNSw3ICsxMzUsNyBAQCBwcm90
ZWN0ZWQ6CiAgICAgdmlydHVhbCBJbmxpbmVUZXh0Qm94KiBjcmVhdGVUZXh0Qm94KCk7IC8vIFN1
YmNsYXNzZWQgYnkgU1ZHLgogCiBwcml2YXRlOgotICAgIHZvaWQgY29tcHV0ZVByZWZlcnJlZExv
Z2ljYWxXaWR0aHMoaW50IGxlYWRXaWR0aCwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+
JiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93Jik7CisgICAgdm9pZCBjb21wdXRlUHJlZmVy
cmVkTG9naWNhbFdpZHRocyhmbG9hdCBsZWFkV2lkdGgsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9u
dERhdGEqPiYgZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyYpOwogCiAgICAgLy8gTWFrZSBs
ZW5ndGgoKSBwcml2YXRlIHNvIHRoYXQgY2FsbGVycyB0aGF0IGhhdmUgYSBSZW5kZXJUZXh0Kgog
ICAgIC8vIHdpbGwgdXNlIHRoZSBtb3JlIGVmZmljaWVudCB0ZXh0TGVuZ3RoKCkgaW5zdGVhZCwg
d2hpbGUKQEAgLTE0OCwyMiArMTQ4LDIyIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRlbGV0ZVRl
eHRCb3hlcygpOwogICAgIGJvb2wgY29udGFpbnNPbmx5V2hpdGVzcGFjZSh1bnNpZ25lZCBmcm9t
LCB1bnNpZ25lZCBsZW4pIGNvbnN0OwotICAgIGludCB3aWR0aEZyb21DYWNoZShjb25zdCBGb250
JiwgaW50IHN0YXJ0LCBpbnQgbGVuLCBpbnQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250
RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KikgY29uc3Q7CisgICAgZmxvYXQg
d2lkdGhGcm9tQ2FjaGUoY29uc3QgRm9udCYsIGludCBzdGFydCwgaW50IGxlbiwgZmxvYXQgeFBv
cywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92
ZXJmbG93KikgY29uc3Q7CiAgICAgYm9vbCBpc0FsbEFTQ0lJKCkgY29uc3QgeyByZXR1cm4gbV9p
c0FsbEFTQ0lJOyB9CiAgICAgdm9pZCB1cGRhdGVOZWVkc1RyYW5zY29kaW5nKCk7CiAKICAgICBp
bmxpbmUgdm9pZCB0cmFuc2Zvcm1UZXh0KFN0cmluZyYpIGNvbnN0OwogCi0gICAgaW50IG1fbWlu
V2lkdGg7IC8vIGhlcmUgdG8gbWluaW1pemUgcGFkZGluZyBpbiA2NC1iaXQuCisgICAgZmxvYXQg
bV9taW5XaWR0aDsgLy8gaGVyZSB0byBtaW5pbWl6ZSBwYWRkaW5nIGluIDY0LWJpdC4KIAogICAg
IFN0cmluZyBtX3RleHQ7CiAKICAgICBJbmxpbmVUZXh0Qm94KiBtX2ZpcnN0VGV4dEJveDsKICAg
ICBJbmxpbmVUZXh0Qm94KiBtX2xhc3RUZXh0Qm94OwogCi0gICAgaW50IG1fbWF4V2lkdGg7Ci0g
ICAgaW50IG1fYmVnaW5NaW5XaWR0aDsKLSAgICBpbnQgbV9lbmRNaW5XaWR0aDsKKyAgICBmbG9h
dCBtX21heFdpZHRoOworICAgIGZsb2F0IG1fYmVnaW5NaW5XaWR0aDsKKyAgICBmbG9hdCBtX2Vu
ZE1pbldpZHRoOwogCiAgICAgYm9vbCBtX2hhc0JyZWFrYWJsZUNoYXIgOiAxOyAvLyBXaGV0aGVy
IG9yIG5vdCB3ZSBjYW4gYmUgYnJva2VuIGludG8gbXVsdGlwbGUgbGluZXMuCiAgICAgYm9vbCBt
X2hhc0JyZWFrIDogMTsgLy8gV2hldGhlciBvciBub3Qgd2UgaGF2ZSBhIGhhcmQgYnJlYWsgKGUu
Zy4sIDxwcmU+IHdpdGggJ1xuJykuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dENvbnRyb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0Q29udHJvbC5jcHAJKHJldmlzaW9uIDc4MzUwKQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQ0
LDcgKzU0NCw3IEBAIGZsb2F0IFJlbmRlclRleHRDb250cm9sOjpnZXRBdmdDaGFyV2lkdGgKICAg
ICAgICAgcmV0dXJuIHJvdW5kZihzdHlsZSgpLT5mb250KCkucHJpbWFyeUZvbnQoKS0+YXZnQ2hh
cldpZHRoKCkpOwogCiAgICAgY29uc3QgVUNoYXIgY2ggPSAnMCc7IAotICAgIHJldHVybiBzdHls
ZSgpLT5mb250KCkuZmxvYXRXaWR0aChUZXh0UnVuKCZjaCwgMSwgZmFsc2UsIDAsIDAsIFRleHRS
dW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlLCBmYWxzZSwgZmFsc2UpKTsKKyAgICBy
ZXR1cm4gc3R5bGUoKS0+Zm9udCgpLndpZHRoKFRleHRSdW4oJmNoLCAxLCBmYWxzZSwgMCwgMCwg
VGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgZmFsc2UpKTsKIH0KIAogZmxvYXQgUmVu
ZGVyVGV4dENvbnRyb2w6OnNjYWxlRW1Ub1VuaXRzKGludCB4KSBjb25zdApAQCAtNjM5LDcgKzYz
OSw3IEBAIHZvaWQgUmVuZGVyVGV4dENvbnRyb2w6OnBhaW50UGxhY2Vob2xkZXIKICAgICBwYWlu
dEluZm8uY29udGV4dC0+c2V0RmlsbENvbG9yKHBsYWNlaG9sZGVyU3R5bGUtPnZpc2l0ZWREZXBl
bmRlbnRDb2xvcihDU1NQcm9wZXJ0eUNvbG9yKSwgcGxhY2Vob2xkZXJTdHlsZS0+Y29sb3JTcGFj
ZSgpKTsKICAgICAKICAgICBTdHJpbmcgcGxhY2Vob2xkZXJUZXh0ID0gc3RhdGljX2Nhc3Q8SFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQqPihub2RlKCkpLT5zdHJpcHBlZFBsYWNlaG9sZGVyKCk7
Ci0gICAgVGV4dFJ1biB0ZXh0UnVuKHBsYWNlaG9sZGVyVGV4dC5jaGFyYWN0ZXJzKCksIHBsYWNl
aG9sZGVyVGV4dC5sZW5ndGgoKSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdF
eHBhbnNpb24sICFwbGFjZWhvbGRlclN0eWxlLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIHBs
YWNlaG9sZGVyU3R5bGUtPnVuaWNvZGVCaWRpKCkgPT0gT3ZlcnJpZGUsIGZhbHNlLCBmYWxzZSk7
CisgICAgVGV4dFJ1biB0ZXh0UnVuKHBsYWNlaG9sZGVyVGV4dC5jaGFyYWN0ZXJzKCksIHBsYWNl
aG9sZGVyVGV4dC5sZW5ndGgoKSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdF
eHBhbnNpb24sICFwbGFjZWhvbGRlclN0eWxlLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIHBs
YWNlaG9sZGVyU3R5bGUtPnVuaWNvZGVCaWRpKCkgPT0gT3ZlcnJpZGUpOwogICAgIAogICAgIFJl
bmRlckJveCogdGV4dFJlbmRlcmVyID0gaW5uZXJUZXh0RWxlbWVudCgpID8gaW5uZXJUZXh0RWxl
bWVudCgpLT5yZW5kZXJCb3goKSA6IDA7CiAgICAgaWYgKHRleHRSZW5kZXJlcikgewpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcAkocmV2aXNpb24gNzgz
NTApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTk3LDcgKzk3LDcgQEAgYm9vbCBSb290SW5saW5lQm94OjpjYW5BY2NvbW1v
ZGF0ZUVsbGlwcwogICAgIHJldHVybiBJbmxpbmVGbG93Qm94OjpjYW5BY2NvbW1vZGF0ZUVsbGlw
c2lzKGx0ciwgYmxvY2tFZGdlLCBlbGxpcHNpc1dpZHRoKTsKIH0KIAotdm9pZCBSb290SW5saW5l
Qm94OjpwbGFjZUVsbGlwc2lzKGNvbnN0IEF0b21pY1N0cmluZyYgZWxsaXBzaXNTdHIsICBib29s
IGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lz
V2lkdGgsCit2b2lkIFJvb3RJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXMoY29uc3QgQXRvbWljU3Ry
aW5nJiBlbGxpcHNpc1N0ciwgIGJvb2wgbHRyLCBmbG9hdCBibG9ja0xlZnRFZGdlLCBmbG9hdCBi
bG9ja1JpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBJbmxpbmVCb3gqIG1hcmt1cEJveCkKIHsKICAgICAvLyBDcmVhdGUgYW4g
ZWxsaXBzaXMgYm94LgpAQCAtMTIzLDkgKzEyMyw5IEBAIHZvaWQgUm9vdElubGluZUJveDo6cGxh
Y2VFbGxpcHNpcyhjb25zdCAKICAgICBlbGxpcHNpc0JveC0+bV94ID0gcGxhY2VFbGxpcHNpc0Jv
eChsdHIsIGJsb2NrTGVmdEVkZ2UsIGJsb2NrUmlnaHRFZGdlLCBlbGxpcHNpc1dpZHRoLCBmb3Vu
ZEJveCk7CiB9CiAKLWludCBSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRy
LCBpbnQgYmxvY2tMZWZ0RWRnZSwgaW50IGJsb2NrUmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNXaWR0
aCwgYm9vbCYgZm91bmRCb3gpCitmbG9hdCBSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzQm94
KGJvb2wgbHRyLCBmbG9hdCBibG9ja0xlZnRFZGdlLCBmbG9hdCBibG9ja1JpZ2h0RWRnZSwgZmxv
YXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpCiB7Ci0gICAgaW50IHJlc3VsdCA9IElu
bGluZUZsb3dCb3g6OnBsYWNlRWxsaXBzaXNCb3gobHRyLCBibG9ja0xlZnRFZGdlLCBibG9ja1Jp
Z2h0RWRnZSwgZWxsaXBzaXNXaWR0aCwgZm91bmRCb3gpOworICAgIGZsb2F0IHJlc3VsdCA9IElu
bGluZUZsb3dCb3g6OnBsYWNlRWxsaXBzaXNCb3gobHRyLCBibG9ja0xlZnRFZGdlLCBibG9ja1Jp
Z2h0RWRnZSwgZWxsaXBzaXNXaWR0aCwgZm91bmRCb3gpOwogICAgIGlmIChyZXN1bHQgPT0gLTEp
CiAgICAgICAgIHJlc3VsdCA9IGx0ciA/IGJsb2NrUmlnaHRFZGdlIC0gZWxsaXBzaXNXaWR0aCA6
IGJsb2NrTGVmdEVkZ2U7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTU0NCwxNCArNTQ0LDE0IEBA
IEludFJlY3QgUm9vdElubGluZUJveDo6cGFkZGVkTGF5b3V0T3ZlcmYKICAgICAKICAgICBpZiAo
aXNIb3Jpem9udGFsKCkpIHsKICAgICAgICAgaWYgKGlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkK
LSAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdE1heFhFZGdlVG8obWF4KGxpbmVM
YXlvdXRPdmVyZmxvdy5tYXhYKCksIGxvZ2ljYWxSaWdodCgpICsgZW5kUGFkZGluZykpOworICAg
ICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0TWF4WEVkZ2VUbyhtYXgobGluZUxheW91
dE92ZXJmbG93Lm1heFgoKSwgcGl4ZWxTbmFwcGVkTG9naWNhbFJpZ2h0KCkgKyBlbmRQYWRkaW5n
KSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdFhF
ZGdlVG8obWluKGxpbmVMYXlvdXRPdmVyZmxvdy54KCksIGxvZ2ljYWxMZWZ0KCkgLSBlbmRQYWRk
aW5nKSk7CisgICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRYRWRnZVRvKG1pbihs
aW5lTGF5b3V0T3ZlcmZsb3cueCgpLCBwaXhlbFNuYXBwZWRMb2dpY2FsTGVmdCgpIC0gZW5kUGFk
ZGluZykpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmIChpc0xlZnRUb1JpZ2h0RGlyZWN0aW9u
KCkpCi0gICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRNYXhZRWRnZVRvKG1heChs
aW5lTGF5b3V0T3ZlcmZsb3cubWF4WSgpLCBsb2dpY2FsUmlnaHQoKSArIGVuZFBhZGRpbmcpKTsK
KyAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdE1heFlFZGdlVG8obWF4KGxpbmVM
YXlvdXRPdmVyZmxvdy5tYXhZKCksIHBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCgpICsgZW5kUGFk
ZGluZykpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hp
ZnRZRWRnZVRvKG1pbihsaW5lTGF5b3V0T3ZlcmZsb3cueSgpLCBsb2dpY2FsUmlnaHQoKSAtIGVu
ZFBhZGRpbmcpKTsKKyAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdFlFZGdlVG8o
bWluKGxpbmVMYXlvdXRPdmVyZmxvdy55KCksIHBpeGVsU25hcHBlZExvZ2ljYWxMZWZ0KCkgLSBl
bmRQYWRkaW5nKSk7CiAgICAgfQogICAgIAogICAgIHJldHVybiBsaW5lTGF5b3V0T3ZlcmZsb3c7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmgJKHJldmlzaW9u
IDc4MzUwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAkod29y
a2luZyBjb3B5KQpAQCAtNzgsOCArNzgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjaGlsZFJlbW92
ZWQoSW5saW5lQm94KiBib3gpOwogCiAgICAgYm9vbCBjYW5BY2NvbW1vZGF0ZUVsbGlwc2lzKGJv
b2wgbHRyLCBpbnQgYmxvY2tFZGdlLCBpbnQgbGluZUJveEVkZ2UsIGludCBlbGxpcHNpc1dpZHRo
KTsKLSAgICB2b2lkIHBsYWNlRWxsaXBzaXMoY29uc3QgQXRvbWljU3RyaW5nJiBlbGxpcHNpc1N0
ciwgYm9vbCBsdHIsIGludCBibG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGludCBl
bGxpcHNpc1dpZHRoLCBJbmxpbmVCb3gqIG1hcmt1cEJveCA9IDApOwotICAgIHZpcnR1YWwgaW50
IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGludCBibG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tS
aWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCk7CisgICAgdm9pZCBw
bGFjZUVsbGlwc2lzKGNvbnN0IEF0b21pY1N0cmluZyYgZWxsaXBzaXNTdHIsIGJvb2wgbHRyLCBm
bG9hdCBibG9ja0xlZnRFZGdlLCBmbG9hdCBibG9ja1JpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNX
aWR0aCwgSW5saW5lQm94KiBtYXJrdXBCb3ggPSAwKTsKKyAgICB2aXJ0dWFsIGZsb2F0IHBsYWNl
RWxsaXBzaXNCb3goYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2NrUmln
aHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCk7CiAKICAgICBFbGxp
cHNpc0JveCogZWxsaXBzaXNCb3goKSBjb25zdDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCShyZXZpc2lvbiA3ODM1MCkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQxNSw5ICs0MTUsNiBAQCBUZXh0UnVuIFNWR0lubGluZVRleHRCb3g6
OmNvbnN0cnVjdFRleHRSCiAgICAgcnVuLnNldFJlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KHRleHQp
OwogI2VuZGlmCiAKLSAgICAvLyBEaXNhYmxlIGFueSB3b3JkL2NoYXJhY3RlciByb3VuZGluZy4K
LSAgICBydW4uZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsKLQogICAgIC8vIFdlIGhhbmRsZSBsZXR0
ZXIgJiB3b3JkIHNwYWNpbmcgb3Vyc2VsdmVzLgogICAgIHJ1bi5kaXNhYmxlU3BhY2luZygpOwog
ICAgIHJldHVybiBydW47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Rl
eHRNZXRyaWNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRNZXRyaWNzLmNwcAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcsOCAr
NDcsOSBAQCBTVkdUZXh0TWV0cmljczo6U1ZHVGV4dE1ldHJpY3MoUmVuZGVyU1ZHCiAgICAgaW50
IGxlbmd0aCA9IDA7CiAKICAgICAvLyBDYWxjdWxhdGUgd2lkdGgvaGVpZ2h0IHVzaW5nIHRoZSBz
Y2FsZWQgZm9udCwgZGl2aWRlIHRoaXMgcmVzdWx0IGJ5IHRoZSBzY2FsaW5nRmFjdG9yIGFmdGVy
d2FyZHMuCi0gICAgbV93aWR0aCA9IHNjYWxlZEZvbnQuZmxvYXRXaWR0aChydW4sIGV4dHJhQ2hh
cnNBdmFpbGFibGUsIGxlbmd0aCwgbV9nbHlwaC5uYW1lKSAvIHNjYWxpbmdGYWN0b3I7CisgICAg
bV93aWR0aCA9IHNjYWxlZEZvbnQud2lkdGgocnVuLCBleHRyYUNoYXJzQXZhaWxhYmxlLCBsZW5n
dGgsIG1fZ2x5cGgubmFtZSkgLyBzY2FsaW5nRmFjdG9yOwogICAgIG1faGVpZ2h0ID0gc2NhbGVk
Rm9udC5mb250TWV0cmljcygpLmZsb2F0SGVpZ2h0KCkgLyBzY2FsaW5nRmFjdG9yOworCiAgICAg
bV9nbHlwaC51bmljb2RlU3RyaW5nID0gU3RyaW5nKHJ1bi5jaGFyYWN0ZXJzKCksIGxlbmd0aCk7
CiAgICAgbV9nbHlwaC5pc1ZhbGlkID0gdHJ1ZTsKIApAQCAtNzksOSArODAsNiBAQCBzdGF0aWMg
VGV4dFJ1biBjb25zdHJ1Y3RUZXh0UnVuKFJlbmRlclNWCiAgICAgcnVuLnNldFJlZmVyZW5jaW5n
UmVuZGVyT2JqZWN0KHRleHQpOwogI2VuZGlmCiAKLSAgICAvLyBEaXNhYmxlIGFueSB3b3JkL2No
YXJhY3RlciByb3VuZGluZy4KLSAgICBydW4uZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsKLQogICAg
IC8vIFdlIGhhbmRsZSBsZXR0ZXIgJiB3b3JkIHNwYWNpbmcgb3Vyc2VsdmVzLgogICAgIHJ1bi5k
aXNhYmxlU3BhY2luZygpOwogICAgIHJldHVybiBydW47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRm9udC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnQu
Y3BwCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzYyLDcgKzM2Miw3IEBAIHN0YXRpYyB2b2lkIGZsb2F0V2lkdGhN
aXNzaW5nR2x5cGhDYWxsYmEKICAgICBGb250IGZvbnQoZm9udERlc2NyaXB0aW9uLCAwLCAwKTsg
Ly8gc3BhY2luZyBoYW5kbGVkIGJ5IFNWRyB0ZXh0IGNvZGUuCiAgICAgZm9udC51cGRhdGUoZGF0
YS5mb250LT5mb250U2VsZWN0b3IoKSk7CiAKLSAgICBkYXRhLmxlbmd0aCArPSBmb250LmZsb2F0
V2lkdGgocnVuKTsKKyAgICBkYXRhLmxlbmd0aCArPSBmb250LndpZHRoKHJ1bik7CiB9CiAKIApA
QCAtNTczLDkgKzU3Myw5IEBAIHZvaWQgRm9udDo6ZHJhd1RleHRVc2luZ1NWR0ZvbnQoR3JhcGhp
Y3MKICAgICAgICAgICAgICAgICBmb250LmRyYXdUZXh0KGNvbnRleHQsIGZhbGxiYWNrQ2hhcmFj
dGVyUnVuLCBjdXJyZW50UG9pbnQpOwogCiAgICAgICAgICAgICAgICAgaWYgKGlzVmVydGljYWxU
ZXh0KQotICAgICAgICAgICAgICAgICAgICBjdXJyZW50UG9pbnQubW92ZSgwLjBmLCBmb250LmZs
b2F0V2lkdGgoZmFsbGJhY2tDaGFyYWN0ZXJSdW4pKTsKKyAgICAgICAgICAgICAgICAgICAgY3Vy
cmVudFBvaW50Lm1vdmUoMC4wZiwgZm9udC53aWR0aChmYWxsYmFja0NoYXJhY3RlclJ1bikpOwog
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgY3VycmVudFBvaW50Lm1v
dmUoZm9udC5mbG9hdFdpZHRoKGZhbGxiYWNrQ2hhcmFjdGVyUnVuKSwgMC4wZik7CisgICAgICAg
ICAgICAgICAgICAgIGN1cnJlbnRQb2ludC5tb3ZlKGZvbnQud2lkdGgoZmFsbGJhY2tDaGFyYWN0
ZXJSdW4pLCAwLjBmKTsKIAogICAgICAgICAgICAgICAgIGZhbGxiYWNrQ2hhcmFjdGVySW5kZXgr
KzsKICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0TlNT
dHJpbmdFeHRyYXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJL
aXROU1N0cmluZ0V4dHJhcy5tbQkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViS2l0L21h
Yy9NaXNjL1dlYktpdE5TU3RyaW5nRXh0cmFzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC05MSw3ICs5
MSw2IEBAIC0gKHZvaWQpX3dlYl9kcmF3QXRQb2ludDooTlNQb2ludClwb2ludCAKIAogICAgICAg
ICBGb250IHdlYkNvcmVGb250KEZvbnRQbGF0Zm9ybURhdGEoZm9udCwgW2ZvbnQgcG9pbnRTaXpl
XSksICFbbnNDb250ZXh0IGlzRHJhd2luZ1RvU2NyZWVuXSwgZm9udFNtb290aGluZ0lzQWxsb3dl
ZCA/IEF1dG9TbW9vdGhpbmcgOiBBbnRpYWxpYXNlZCk7CiAgICAgICAgIFRleHRSdW4gcnVuKGJ1
ZmZlci5kYXRhKCksIGxlbmd0aCk7Ci0gICAgICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygp
OwogCiAgICAgICAgIENHRmxvYXQgcmVkOwogICAgICAgICBDR0Zsb2F0IGdyZWVuOwpAQCAtMTM3
LDggKzEzNiw3IEBAIC0gKGZsb2F0KV93ZWJfd2lkdGhXaXRoRm9udDooTlNGb250ICopZm8KICAg
ICBpZiAoY2FuVXNlRmFzdFJlbmRlcmVyKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCkpIHsKICAgICAg
ICAgRm9udCB3ZWJDb3JlRm9udChGb250UGxhdGZvcm1EYXRhKGZvbnQsIFtmb250IHBvaW50U2l6
ZV0pLCAhW1tOU0dyYXBoaWNzQ29udGV4dCBjdXJyZW50Q29udGV4dF0gaXNEcmF3aW5nVG9TY3Jl
ZW5dKTsKICAgICAgICAgVGV4dFJ1biBydW4oYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKTsKLSAgICAg
ICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7Ci0gICAgICAgIHJldHVybiB3ZWJDb3JlRm9u
dC5mbG9hdFdpZHRoKHJ1bik7CisgICAgICAgIHJldHVybiB3ZWJDb3JlRm9udC53aWR0aChydW4p
OwogICAgIH0KIAogICAgIHJldHVybiBbc2VsZiBzaXplV2l0aEF0dHJpYnV0ZXM6W05TRGljdGlv
bmFyeSBkaWN0aW9uYXJ5V2l0aE9iamVjdHNBbmRLZXlzOmZvbnQsIE5TRm9udEF0dHJpYnV0ZU5h
bWUsIG5pbF1dLndpZHRoOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82161</attachid>
            <date>2011-02-11 12:40:19 -0800</date>
            <delta_ts>2011-02-11 14:40:50 -0800</delta_ts>
            <desc>Patch that applies (ignore for review, just testing builds)</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>155527</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0zOTksOSArMzk5LDkgQEAgX19a
TjdXZWJDb3JlMTVQcm90ZWN0aW9uU3BhY2VDMUVSS04zV1RGNgogX19aTjdXZWJDb3JlMTVQcm90
ZWN0aW9uU3BhY2VDMUV2CiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE3YWxpZ25DZW50
ZXJBbHdheXNFCiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE5YWxpZ25Ub0VkZ2VJZk5l
ZWRlZEUKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRlRVJLTjNX
VEY2U3RyaW5nRWZSS05TXzRGb250RWIKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRj
ZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0VmUktOU180Rm9udEViCi1fX1pON1dlYkNvcmUx
NVN0cmluZ1RydW5jYXRvcjV3aWR0aEVSS04zV1RGNlN0cmluZ0VSS05TXzRGb250RWIKK19fWk43
V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRjZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0Vm
UktOU180Rm9udEUKK19fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRl
RVJLTjNXVEY2U3RyaW5nRWZSS05TXzRGb250RQorX19aTjdXZWJDb3JlMTVTdHJpbmdUcnVuY2F0
b3I1d2lkdGhFUktOM1dURjZTdHJpbmdFUktOU180Rm9udEUKIF9fWk43V2ViQ29yZTE1VmlzaWJs
ZVBvc2l0aW9uQzFFUE5TXzROb2RlRWlOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3JlMTVWaXNp
YmxlUG9zaXRpb25DMUVSS05TXzhQb3NpdGlvbkVOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3Jl
MTVkZWZhdWx0TGFuZ3VhZ2VFdgpAQCAtMTEyNSw3ICsxMTI1LDcgQEAgX19aTks3V2ViQ29yZTI3
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VCYQogX19aTks3V2ViQ29yZTI3QXV0aGVudGljYXRpb25D
aGFsbGVuZ2VCYXNlMjBwcmV2aW91c0ZhaWx1cmVDb3VudEV2CiBfX1pOSzdXZWJDb3JlMjdBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZUJhc2U1ZXJyb3JFdgogX19aTks3V2ViQ29yZTI3QXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VCYXNlNmlzTnVsbEV2Ci1fX1pOSzdXZWJDb3JlNEZvbnQxMGZsb2F0V2lk
dGhFUktOU183VGV4dFJ1bkVQTjNXVEY3SGFzaFNldElQS05TXzE0U2ltcGxlRm9udERhdGFFTlM0
XzdQdHJIYXNoSVM4X0VFTlM0XzEwSGFzaFRyYWl0c0lTOF9FRUVFUE5TXzEzR2x5cGhPdmVyZmxv
d0UKK19fWk5LN1dlYkNvcmU0Rm9udDV3aWR0aEVSS05TXzdUZXh0UnVuRVBOM1dURjdIYXNoU2V0
SVBLTlNfMTRTaW1wbGVGb250RGF0YUVOUzRfN1B0ckhhc2hJUzhfRUVOUzRfMTBIYXNoVHJhaXRz
SVM4X0VFRUVQTlNfMTNHbHlwaE92ZXJmbG93RQogX19aTks3V2ViQ29yZTRGb250OGRyYXdUZXh0
RVBOU18xNUdyYXBoaWNzQ29udGV4dEVSS05TXzdUZXh0UnVuRVJLTlNfMTBGbG9hdFBvaW50RWlp
CiBfX1pOSzdXZWJDb3JlNEtVUkwxMWNyZWF0ZUNGVVJMRXYKIF9fWk5LN1dlYkNvcmU0S1VSTDEx
aXNMb2NhbEZpbGVFdgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA3ODM1MCkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE3NzEsNyArMTc3MSw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjpkcmF3VGV4dEkKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRleHQubGVuZ3RoKCk7
CiAgICAgY29uc3QgVUNoYXIqIHN0cmluZyA9IHRleHQuY2hhcmFjdGVycygpOwotICAgIFRleHRS
dW4gdGV4dFJ1bihzdHJpbmcsIGxlbmd0aCwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJh
aWxpbmdFeHBhbnNpb24sIHJ0bCwgb3ZlcnJpZGUsIGZhbHNlLCBmYWxzZSk7CisgICAgVGV4dFJ1
biB0ZXh0UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFp
bGluZ0V4cGFuc2lvbiwgcnRsLCBvdmVycmlkZSk7CiAKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRl
eHQgYXQgdGhlIGNvcnJlY3QgcG9pbnQuCiAgICAgRmxvYXRQb2ludCBsb2NhdGlvbih4LCB5KTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21p
dW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0Zp
bGVDaG9vc2VyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00NCw5ICs0NCw5IEBAIFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChj
b24KICAgICBlbHNlIGlmIChtX2ZpbGVuYW1lcy5zaXplKCkgPT0gMSkKICAgICAgICAgc3RyaW5n
ID0gcGF0aEdldERpc3BsYXlGaWxlTmFtZShtX2ZpbGVuYW1lc1swXSk7CiAgICAgZWxzZQotICAg
ICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmlsZVVw
bG9hZFRleHQobV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICAg
ICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxv
YWRUZXh0KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250KTsKIAotICAgIHJldHVybiBT
dHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0cmluZywgc3RhdGljX2Nhc3Q8ZmxvYXQ+
KHdpZHRoKSwgZm9udCwgZmFsc2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRl
clRydW5jYXRlKHN0cmluZywgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHdpZHRoKSwgZm9udCk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuY3BwCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxNyArMzksNiBAQCB1
c2luZyBuYW1lc3BhY2UgVW5pY29kZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1
aW50OF90IEZvbnQ6OmdSb3VuZGluZ0hhY2tDaGFyYWN0ZXJUYWJsZVsyNTZdID0gewotICAgIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEgLypcdCovLCAxIC8qXG4qLywgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAx
IC8qc3BhY2UqLywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKi0qLywg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKj8q
LywKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAxIC8qbm8tYnJlYWsgc3BhY2UqLywgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAK
LX07Ci0KIEZvbnQ6OkNvZGVQYXRoIEZvbnQ6OnNfY29kZVBhdGggPSBBdXRvOwogCiAvLyA9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtMTc2LDcgKzE2NSw3IEBAIHZvaWQg
Rm9udDo6ZHJhd0VtcGhhc2lzTWFya3MoR3JhcGhpY3NDb24KICAgICAgICAgZHJhd0VtcGhhc2lz
TWFya3NGb3JDb21wbGV4VGV4dChjb250ZXh0LCBydW4sIG1hcmssIHBvaW50LCBmcm9tLCB0byk7
CiB9CiAKLWZsb2F0IEZvbnQ6OmZsb2F0V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0
PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGds
eXBoT3ZlcmZsb3cpIGNvbnN0CitmbG9hdCBGb250Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4s
IEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVy
ZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAg
IGlmIChwcmltYXJ5Rm9udCgpLT5pc1NWR0ZvbnQoKSkKQEAgLTE5NCw3ICsxODMsNyBAQCBmbG9h
dCBGb250OjpmbG9hdFdpZHRoKGNvbnN0IFRleHRSdW4mIHJ1CiAgICAgcmV0dXJuIGZsb2F0V2lk
dGhGb3JDb21wbGV4VGV4dChydW4sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQog
Ci1mbG9hdCBGb250OjpmbG9hdFdpZHRoKGNvbnN0IFRleHRSdW4mIHJ1biwgaW50IGV4dHJhQ2hh
cnNBdmFpbGFibGUsIGludCYgY2hhcnNDb25zdW1lZCwgU3RyaW5nJiBnbHlwaE5hbWUpIGNvbnN0
CitmbG9hdCBGb250Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIGludCBleHRyYUNoYXJzQXZh
aWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQsIFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdAogewog
I2lmICFFTkFCTEUoU1ZHX0ZPTlRTKQogICAgIFVOVVNFRF9QQVJBTShleHRyYUNoYXJzQXZhaWxh
YmxlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHJldmlz
aW9uIDc4MzUwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCSh3
b3JraW5nIGNvcHkpCkBAIC05NCw5ICs5NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRyYXdUZXh0
KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50JiwgaW50
IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7CiAgICAgdm9pZCBkcmF3RW1waGFzaXNNYXJr
cyhHcmFwaGljc0NvbnRleHQqLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgQXRvbWljU3RyaW5nJiBt
YXJrLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7
CiAKLSAgICBpbnQgd2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IFNpbXBs
ZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJm
bG93ID0gMCkgY29uc3QgeyByZXR1cm4gbHJvdW5kZihmbG9hdFdpZHRoKHJ1biwgZmFsbGJhY2tG
b250cywgZ2x5cGhPdmVyZmxvdykpOyB9Ci0gICAgZmxvYXQgZmxvYXRXaWR0aChjb25zdCBUZXh0
UnVuJiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwg
R2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdyA9IDApIGNvbnN0OwotICAgIGZsb2F0IGZsb2F0
V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBpbnQgZXh0cmFDaGFyc0F2YWlsYWJsZSwgaW50JiBj
aGFyc0NvbnN1bWVkLCBTdHJpbmcmIGdseXBoTmFtZSkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgo
Y29uc3QgVGV4dFJ1biYsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tG
b250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgoY29u
c3QgVGV4dFJ1biYsIGludCBleHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQs
IFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdDsKIAogICAgIGludCBvZmZzZXRGb3JQb3NpdGlvbihj
b25zdCBUZXh0UnVuJiwgZmxvYXQgcG9zaXRpb24sIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMp
IGNvbnN0OwogICAgIEZsb2F0UmVjdCBzZWxlY3Rpb25SZWN0Rm9yVGV4dChjb25zdCBUZXh0UnVu
JiwgY29uc3QgRmxvYXRQb2ludCYsIGludCBoLCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKSBj
b25zdDsKQEAgLTEyOSw4ICsxMjgsOCBAQCBwdWJsaWM6CiAKICAgICAvLyBNZXRyaWNzIHRoYXQg
d2UgcXVlcnkgdGhlIEZvbnRGYWxsYmFja0xpc3QgZm9yLgogICAgIGNvbnN0IEZvbnRNZXRyaWNz
JiBmb250TWV0cmljcygpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmZvbnRNZXRyaWNz
KCk7IH0KLSAgICBpbnQgc3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIChpbnQpY2VpbGYocHJp
bWFyeUZvbnQoKS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmcpOyB9Ci0g
ICAgZmxvYXQgdGFiV2lkdGgoY29uc3QgU2ltcGxlRm9udERhdGEmIGZvbnREYXRhKSBjb25zdCB7
IHJldHVybiA4ICogY2VpbGYoZm9udERhdGEuYWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBsZXR0ZXJT
cGFjaW5nKCkpOyB9CisgICAgaW50IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBwcmltYXJ5
Rm9udCgpLT5zcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmc7IH0KKyAgICBmbG9hdCB0YWJX
aWR0aChjb25zdCBTaW1wbGVGb250RGF0YSYgZm9udERhdGEpIGNvbnN0IHsgcmV0dXJuIDggKiBm
b250RGF0YS5zcGFjZVdpZHRoKCkgKyBsZXR0ZXJTcGFjaW5nKCk7IH0KICAgICBpbnQgZW1waGFz
aXNNYXJrQXNjZW50KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNp
c01hcmtEZXNjZW50KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNp
c01hcmtIZWlnaHQoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CkBAIC0yMDEsMTIgKzIwMCw2
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgQ29kZVBhdGggY29kZVBhdGgoKTsKICAgICBzdGF0aWMg
Q29kZVBhdGggc19jb2RlUGF0aDsKIAotICAgIHN0YXRpYyBjb25zdCB1aW50OF90IGdSb3VuZGlu
Z0hhY2tDaGFyYWN0ZXJUYWJsZVsyNTZdOwotICAgIHN0YXRpYyBib29sIGlzUm91bmRpbmdIYWNr
Q2hhcmFjdGVyKFVDaGFyMzIgYykKLSAgICB7Ci0gICAgICAgIHJldHVybiAoKChjICYgfjB4RkYp
ID09IDAgJiYgZ1JvdW5kaW5nSGFja0NoYXJhY3RlclRhYmxlW2NdKSk7Ci0gICAgfQotCiAgICAg
Rm9udFNlbGVjdG9yKiBmb250U2VsZWN0b3IoKSBjb25zdDsKICAgICBzdGF0aWMgYm9vbCB0cmVh
dEFzU3BhY2UoVUNoYXIgYykgeyByZXR1cm4gYyA9PSAnICcgfHwgYyA9PSAnXHQnIHx8IGMgPT0g
J1xuJyB8fCBjID09IG5vQnJlYWtTcGFjZTsgfQogICAgIHN0YXRpYyBib29sIHRyZWF0QXNaZXJv
V2lkdGhTcGFjZShVQ2hhciBjKSB7IHJldHVybiBjIDwgMHgyMCB8fCAoYyA+PSAweDdGICYmIGMg
PCAweEEwKSB8fCBjID09IHNvZnRIeXBoZW4gfHwgKGMgPj0gMHgyMDBjICYmIGMgPD0gMHgyMDBm
KSB8fCAoYyA+PSAweDIwMmEgJiYgYyA8PSAweDIwMmUpIHx8IGMgPT0gb2JqZWN0UmVwbGFjZW1l
bnRDaGFyYWN0ZXI7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNzUsNyArMzc1LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdJbWFnZShJ
bWFnZSogaQogfQogCiAjaWYgIU9TKFdJTkNFKSB8fCBQTEFURk9STShRVCkKLXZvaWQgR3JhcGhp
Y3NDb250ZXh0OjpkcmF3VGV4dChjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiBydW4s
IGNvbnN0IEludFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bykKK3ZvaWQgR3JhcGhpY3ND
b250ZXh0OjpkcmF3VGV4dChjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiBydW4sIGNv
bnN0IEZsb2F0UG9pbnQmIHBvaW50LCBpbnQgZnJvbSwgaW50IHRvKQogewogICAgIGlmIChwYWlu
dGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTM4NCw3ICszODQsNyBAQCB2b2lk
IEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQoY29uc3QgRm9uCiB9CiAjZW5kaWYKIAotdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdFbXBoYXNpc01hcmtzKGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0
IFRleHRSdW4mIHJ1biwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBJbnRQb2ludCYg
cG9pbnQsIGludCBmcm9tLCBpbnQgdG8pCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0VtcGhh
c2lzTWFya3MoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBjb25zdCBBdG9t
aWNTdHJpbmcmIG1hcmssIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBpbnQgZnJvbSwgaW50IHRv
KQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTQy
MiwxMyArNDIyLDEzIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3QmlkaVRleHQoY29uc3QK
ICAgICAgICAgYmlkaVJ1biA9IGJpZGlSdW4tPm5leHQoKTsKICAgICAgICAgLy8gRklYTUU6IEhh
dmUgRm9udDo6ZHJhd1RleHQgcmV0dXJuIHRoZSB3aWR0aCBvZiB3aGF0IGl0IGRyZXcgc28gdGhh
dCB3ZSBkb24ndCBoYXZlIHRvIHJlLW1lYXN1cmUgaGVyZS4KICAgICAgICAgaWYgKGJpZGlSdW4p
Ci0gICAgICAgICAgICBjdXJyUG9pbnQubW92ZShmb250LmZsb2F0V2lkdGgoc3VicnVuKSwgMC5m
KTsKKyAgICAgICAgICAgIGN1cnJQb2ludC5tb3ZlKGZvbnQud2lkdGgoc3VicnVuKSwgMCk7CiAg
ICAgfQogCiAgICAgYmlkaVJlc29sdmVyLmRlbGV0ZVJ1bnMoKTsKIH0KIAotdm9pZCBHcmFwaGlj
c0NvbnRleHQ6OmRyYXdIaWdobGlnaHRGb3JUZXh0KGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRl
eHRSdW4mIHJ1biwgY29uc3QgSW50UG9pbnQmIHBvaW50LCBpbnQgaCwgY29uc3QgQ29sb3ImIGJh
Y2tncm91bmRDb2xvciwgQ29sb3JTcGFjZSBjb2xvclNwYWNlLCBpbnQgZnJvbSwgaW50IHRvKQor
dm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdIaWdobGlnaHRGb3JUZXh0KGNvbnN0IEZvbnQmIGZv
bnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgRmxvYXRQb2ludCYgcG9pbnQsIGludCBoLCBj
b25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UsIGludCBm
cm9tLCBpbnQgdG8pCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0
dXJuOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250
ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0LmgJKHJldmlzaW9uIDc4MzUwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTMzNSwyMCAr
MzM1LDIwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVGV4dERyYXdpbmdNb2RlRmxh
Z3MgdGV4dERyYXdpbmdNb2RlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgc2V0VGV4dERyYXdpbmdN
b2RlKFRleHREcmF3aW5nTW9kZUZsYWdzKTsKIAotICAgICAgICB2b2lkIGRyYXdUZXh0KGNvbnN0
IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgSW50UG9pbnQmLCBpbnQgZnJvbSA9IDAsIGlu
dCB0byA9IC0xKTsKLSAgICAgICAgdm9pZCBkcmF3RW1waGFzaXNNYXJrcyhjb25zdCBGb250Jiwg
Y29uc3QgVGV4dFJ1biYgLCBjb25zdCBBdG9taWNTdHJpbmcmIG1hcmssIGNvbnN0IEludFBvaW50
JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSk7CisgICAgICAgIHZvaWQgZHJhd1RleHQoY29u
c3QgRm9udCYsIGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20gPSAw
LCBpbnQgdG8gPSAtMSk7CisgICAgICAgIHZvaWQgZHJhd0VtcGhhc2lzTWFya3MoY29uc3QgRm9u
dCYsIGNvbnN0IFRleHRSdW4mICwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBGbG9h
dFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSk7CiAgICAgICAgIHZvaWQgZHJhd0Jp
ZGlUZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxvYXRQb2ludCYpOwot
ICAgICAgICB2b2lkIGRyYXdIaWdobGlnaHRGb3JUZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0
UnVuJiwgY29uc3QgSW50UG9pbnQmLCBpbnQgaCwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xv
ciwgQ29sb3JTcGFjZSwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSk7CisgICAgICAgIHZvaWQg
ZHJhd0hpZ2hsaWdodEZvclRleHQoY29uc3QgRm9udCYsIGNvbnN0IFRleHRSdW4mLCBjb25zdCBG
bG9hdFBvaW50JiwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3IsIENvbG9yU3Bh
Y2UsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOwogCiAgICAgICAgIEZsb2F0UmVjdCByb3Vu
ZFRvRGV2aWNlUGl4ZWxzKGNvbnN0IEZsb2F0UmVjdCYpOwogCi0gICAgICAgIHZvaWQgZHJhd0xp
bmVGb3JUZXh0KGNvbnN0IEludFBvaW50JiwgaW50IHdpZHRoLCBib29sIHByaW50aW5nKTsKKyAg
ICAgICAgdm9pZCBkcmF3TGluZUZvclRleHQoY29uc3QgRmxvYXRQb2ludCYsIGZsb2F0IHdpZHRo
LCBib29sIHByaW50aW5nKTsKICAgICAgICAgZW51bSBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUgewog
ICAgICAgICAgICAgVGV4dENoZWNraW5nU3BlbGxpbmdMaW5lU3R5bGUsCiAgICAgICAgICAgICBU
ZXh0Q2hlY2tpbmdHcmFtbWFyTGluZVN0eWxlLAogICAgICAgICAgICAgVGV4dENoZWNraW5nUmVw
bGFjZW1lbnRMaW5lU3R5bGUKICAgICAgICAgfTsKLSAgICAgICAgdm9pZCBkcmF3TGluZUZvclRl
eHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYsIGludCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0
eWxlKTsKKyAgICAgICAgdm9pZCBkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBGbG9hdFBv
aW50JiwgZmxvYXQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSk7CiAKICAgICAgICAgYm9v
bCBwYWludGluZ0Rpc2FibGVkKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgc2V0UGFpbnRpbmdEaXNh
YmxlZChib29sKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBs
ZUZvbnREYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9TaW1wbGVGb250RGF0YS5jcHAJKHJldmlzaW9uIDc4MzUwKQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMDgsNyArMTA4LDYgQEAgU2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRhKFBhc3NPd25Q
dAogICAgIG1fc3BhY2VHbHlwaCA9IDA7CiAgICAgbV96ZXJvV2lkdGhTcGFjZUdseXBoID0gMDsK
ICAgICBkZXRlcm1pbmVQaXRjaCgpOwotICAgIG1fYWRqdXN0ZWRTcGFjZVdpZHRoID0gcm91bmRm
KG1fc3BhY2VXaWR0aCk7CiAgICAgbV9taXNzaW5nR2x5cGhEYXRhLmZvbnREYXRhID0gdGhpczsK
ICAgICBtX21pc3NpbmdHbHlwaERhdGEuZ2x5cGggPSAwOwogfQpAQCAtMTQzLDcgKzE0Miw2IEBA
IHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtR2x5cGhJbml0KCkKICAgICAgICAgTE9HX0VS
Uk9SKCJGYWlsZWQgdG8gZ2V0IGdseXBoIHBhZ2UgemVyby4iKTsKICAgICAgICAgbV9zcGFjZUds
eXBoID0gMDsKICAgICAgICAgbV9zcGFjZVdpZHRoID0gMDsKLSAgICAgICAgbV9hZGp1c3RlZFNw
YWNlV2lkdGggPSAwOwogICAgICAgICBkZXRlcm1pbmVQaXRjaCgpOwogICAgICAgICBtX3plcm9X
aWR0aFNwYWNlR2x5cGggPSAwOwogICAgICAgICBtX21pc3NpbmdHbHlwaERhdGEuZm9udERhdGEg
PSB0aGlzOwpAQCAtMTYwLDcgKzE1OCw2IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3Jt
R2x5cGhJbml0KCkKICAgICBmbG9hdCB3aWR0aCA9IHdpZHRoRm9yR2x5cGgobV9zcGFjZUdseXBo
KTsKICAgICBtX3NwYWNlV2lkdGggPSB3aWR0aDsKICAgICBkZXRlcm1pbmVQaXRjaCgpOwotICAg
IG1fYWRqdXN0ZWRTcGFjZVdpZHRoID0gbV90cmVhdEFzRml4ZWRQaXRjaCA/IGNlaWxmKHdpZHRo
KSA6IHJvdW5kZih3aWR0aCk7CiAKICAgICAvLyBGb3JjZSB0aGUgZ2x5cGggZm9yIFpFUk8gV0lE
VEggU1BBQ0UgdG8gaGF2ZSB6ZXJvIHdpZHRoLCB1bmxlc3MgaXQgaXMgc2hhcmVkIHdpdGggU1BB
Q0UuCiAgICAgLy8gSGVsdmV0aWNhIGlzIGFuIGV4YW1wbGUgb2YgYSBub24temVybyB3aWR0aCBa
RVJPIFdJRFRIIFNQQUNFIGdseXBoLgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvU2ltcGxlRm9udERhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTExMiw3ICsxMTIsNiBAQCBwdWJsaWM6CiAgICAgZmxvYXQgcGxhdGZvcm1XaWR0aEZv
ckdseXBoKEdseXBoKSBjb25zdDsKIAogICAgIGZsb2F0IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJl
dHVybiBtX3NwYWNlV2lkdGg7IH0KLSAgICBmbG9hdCBhZGp1c3RlZFNwYWNlV2lkdGgoKSBjb25z
dCB7IHJldHVybiBtX2FkanVzdGVkU3BhY2VXaWR0aDsgfQogCiAjaWYgUExBVEZPUk0oQ0cpIHx8
IFBMQVRGT1JNKENBSVJPKSB8fCBQTEFURk9STShXWCkKICAgICBmbG9hdCBzeW50aGV0aWNCb2xk
T2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9zeW50aGV0aWNCb2xkT2Zmc2V0OyB9CkBAIC0yMzAs
NyArMjI5LDYgQEAgcHJpdmF0ZToKIAogICAgIEdseXBoIG1fc3BhY2VHbHlwaDsKICAgICBmbG9h
dCBtX3NwYWNlV2lkdGg7Ci0gICAgZmxvYXQgbV9hZGp1c3RlZFNwYWNlV2lkdGg7CiAKICAgICBH
bHlwaCBtX3plcm9XaWR0aFNwYWNlR2x5cGg7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmNwcAkocmV2aXNpb24gNzgz
NTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TdHJpbmdUcnVuY2F0b3Iu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MiwyMiArOTIsMjAgQEAgc3RhdGljIHVuc2lnbmVkIHJp
Z2h0VHJ1bmNhdGVUb0J1ZmZlcihjbwogICAgIHJldHVybiB0cnVuY2F0ZWRMZW5ndGg7CiB9CiAK
LXN0YXRpYyBmbG9hdCBzdHJpbmdXaWR0aChjb25zdCBGb250JiByZW5kZXJlciwgY29uc3QgVUNo
YXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNr
cykKK3N0YXRpYyBmbG9hdCBzdHJpbmdXaWR0aChjb25zdCBGb250JiByZW5kZXJlciwgY29uc3Qg
VUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKIHsKICAgICBUZXh0UnVuIHJ1bihj
aGFyYWN0ZXJzLCBsZW5ndGgpOwotICAgIGlmIChkaXNhYmxlUm91bmRpbmdIYWNrcykKLSAgICAg
ICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7Ci0gICAgcmV0dXJuIHJlbmRlcmVyLmZsb2F0
V2lkdGgocnVuKTsKKyAgICByZXR1cm4gcmVuZGVyZXIud2lkdGgocnVuKTsKIH0KIAotc3RhdGlj
IFN0cmluZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lk
dGgsIGNvbnN0IEZvbnQmIGZvbnQsIFRydW5jYXRpb25GdW5jdGlvbiB0cnVuY2F0ZVRvQnVmZmVy
LCBib29sIGRpc2FibGVSb3VuZGluZ0hhY2tzKQorc3RhdGljIFN0cmluZyB0cnVuY2F0ZVN0cmlu
Zyhjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZvbnQs
IFRydW5jYXRpb25GdW5jdGlvbiB0cnVuY2F0ZVRvQnVmZmVyKQogewogICAgIGlmIChzdHJpbmcu
aXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gc3RyaW5nOwogICAgIAogICAgIEFTU0VSVChtYXhX
aWR0aCA+PSAwKTsKICAgICAKLSAgICBmbG9hdCBjdXJyZW50RWxsaXBzaXNXaWR0aCA9IHN0cmlu
Z1dpZHRoKGZvbnQsICZob3Jpem9udGFsRWxsaXBzaXMsIDEsIGRpc2FibGVSb3VuZGluZ0hhY2tz
KTsKKyAgICBmbG9hdCBjdXJyZW50RWxsaXBzaXNXaWR0aCA9IHN0cmluZ1dpZHRoKGZvbnQsICZo
b3Jpem9udGFsRWxsaXBzaXMsIDEpOwogICAgIAogICAgIFVDaGFyIHN0cmluZ0J1ZmZlcltTVFJJ
TkdfQlVGRkVSX1NJWkVdOwogICAgIHVuc2lnbmVkIHRydW5jYXRlZExlbmd0aDsKQEAgLTEyMyw3
ICsxMjEsNyBAQCBzdGF0aWMgU3RyaW5nIHRydW5jYXRlU3RyaW5nKGNvbnN0IFN0cmluCiAgICAg
ICAgIHRydW5jYXRlZExlbmd0aCA9IGxlbmd0aDsKICAgICB9CiAKLSAgICBmbG9hdCB3aWR0aCA9
IHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZ0J1ZmZlciwgdHJ1bmNhdGVkTGVuZ3RoLCBkaXNhYmxl
Um91bmRpbmdIYWNrcyk7CisgICAgZmxvYXQgd2lkdGggPSBzdHJpbmdXaWR0aChmb250LCBzdHJp
bmdCdWZmZXIsIHRydW5jYXRlZExlbmd0aCk7CiAgICAgaWYgKHdpZHRoIDw9IG1heFdpZHRoKQog
ICAgICAgICByZXR1cm4gc3RyaW5nOwogCkBAIC0xNTksNyArMTU3LDcgQEAgc3RhdGljIFN0cmlu
ZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAgICAgICAKICAgICAgICAgdHJ1bmNhdGVk
TGVuZ3RoID0gdHJ1bmNhdGVUb0J1ZmZlcihzdHJpbmcsIGxlbmd0aCwga2VlcENvdW50LCBzdHJp
bmdCdWZmZXIpOwogCi0gICAgICAgIHdpZHRoID0gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5nQnVm
ZmVyLCB0cnVuY2F0ZWRMZW5ndGgsIGRpc2FibGVSb3VuZGluZ0hhY2tzKTsKKyAgICAgICAgd2lk
dGggPSBzdHJpbmdXaWR0aChmb250LCBzdHJpbmdCdWZmZXIsIHRydW5jYXRlZExlbmd0aCk7CiAg
ICAgICAgIGlmICh3aWR0aCA8PSBtYXhXaWR0aCkgewogICAgICAgICAgICAga2VlcENvdW50Rm9y
TGFyZ2VzdEtub3duVG9GaXQgPSBrZWVwQ291bnQ7CiAgICAgICAgICAgICB3aWR0aEZvckxhcmdl
c3RLbm93blRvRml0ID0gd2lkdGg7CkBAIC0xODEsMTkgKzE3OSwxOSBAQCBzdGF0aWMgU3RyaW5n
IHRydW5jYXRlU3RyaW5nKGNvbnN0IFN0cmluCiAgICAgcmV0dXJuIFN0cmluZyhzdHJpbmdCdWZm
ZXIsIHRydW5jYXRlZExlbmd0aCk7CiB9CiAKLVN0cmluZyBTdHJpbmdUcnVuY2F0b3I6OmNlbnRl
clRydW5jYXRlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9u
dCYgZm9udCwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcykKK1N0cmluZyBTdHJpbmdUcnVuY2F0
b3I6OmNlbnRlclRydW5jYXRlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBmbG9hdCBtYXhXaWR0aCwg
Y29uc3QgRm9udCYgZm9udCkKIHsKLSAgICByZXR1cm4gdHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBt
YXhXaWR0aCwgZm9udCwgY2VudGVyVHJ1bmNhdGVUb0J1ZmZlciwgZGlzYWJsZVJvdW5kaW5nSGFj
a3MpOworICAgIHJldHVybiB0cnVuY2F0ZVN0cmluZyhzdHJpbmcsIG1heFdpZHRoLCBmb250LCBj
ZW50ZXJUcnVuY2F0ZVRvQnVmZmVyKTsKIH0KIAotU3RyaW5nIFN0cmluZ1RydW5jYXRvcjo6cmln
aHRUcnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZv
bnQmIGZvbnQsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MpCitTdHJpbmcgU3RyaW5nVHJ1bmNh
dG9yOjpyaWdodFRydW5jYXRlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBmbG9hdCBtYXhXaWR0aCwg
Y29uc3QgRm9udCYgZm9udCkKIHsKLSAgICByZXR1cm4gdHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBt
YXhXaWR0aCwgZm9udCwgcmlnaHRUcnVuY2F0ZVRvQnVmZmVyLCBkaXNhYmxlUm91bmRpbmdIYWNr
cyk7CisgICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4V2lkdGgsIGZvbnQsIHJp
Z2h0VHJ1bmNhdGVUb0J1ZmZlcik7CiB9CiAKLWZsb2F0IFN0cmluZ1RydW5jYXRvcjo6d2lkdGgo
Y29uc3QgU3RyaW5nJiBzdHJpbmcsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgZGlzYWJsZVJvdW5k
aW5nSGFja3MpCitmbG9hdCBTdHJpbmdUcnVuY2F0b3I6OndpZHRoKGNvbnN0IFN0cmluZyYgc3Ry
aW5nLCBjb25zdCBGb250JiBmb250KQogewotICAgIHJldHVybiBzdHJpbmdXaWR0aChmb250LCBz
dHJpbmcuY2hhcmFjdGVycygpLCBzdHJpbmcubGVuZ3RoKCksIGRpc2FibGVSb3VuZGluZ0hhY2tz
KTsKKyAgICByZXR1cm4gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5nLmNoYXJhY3RlcnMoKSwgc3Ry
aW5nLmxlbmd0aCgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmgJKHJl
dmlzaW9uIDc4MzUwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5n
VHJ1bmNhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDkgKzM3LDkgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIAogICAgIGNsYXNzIFN0cmluZ1RydW5jYXRvciB7CiAgICAgcHVibGljOgot
ICAgICAgICBzdGF0aWMgU3RyaW5nIGNlbnRlclRydW5jYXRlKGNvbnN0IFN0cmluZyYsIGZsb2F0
IG1heFdpZHRoLCBjb25zdCBGb250JiwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcyA9IHRydWUp
OwotICAgICAgICBzdGF0aWMgU3RyaW5nIHJpZ2h0VHJ1bmNhdGUoY29uc3QgU3RyaW5nJiwgZmxv
YXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmLCBib29sIGRpc2FibGVSb3VuZGluZ0hhY2tzID0gdHJ1
ZSk7Ci0gICAgICAgIHN0YXRpYyBmbG9hdCB3aWR0aChjb25zdCBTdHJpbmcmLCBjb25zdCBGb250
JiwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcyA9IHRydWUpOworICAgICAgICBzdGF0aWMgU3Ry
aW5nIGNlbnRlclRydW5jYXRlKGNvbnN0IFN0cmluZyYsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBG
b250Jik7CisgICAgICAgIHN0YXRpYyBTdHJpbmcgcmlnaHRUcnVuY2F0ZShjb25zdCBTdHJpbmcm
LCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9udCYpOworICAgICAgICBzdGF0aWMgZmxvYXQgd2lk
dGgoY29uc3QgU3RyaW5nJiwgY29uc3QgRm9udCYpOwogICAgIH07CiAgICAgCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0
UnVuLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4
dFJ1bi5oCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1RleHRSdW4uaAkod29ya2luZyBjb3B5KQpAQCAtMzgsOCArMzgsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIEZvcmJpZFRyYWlsaW5nRXhwYW5zaW9uCiAgICAgfTsKIAotICAgIFRleHRSdW4oY29u
c3QgVUNoYXIqIGMsIGludCBsZW4sIGJvb2wgYWxsb3dUYWJzID0gZmFsc2UsIGludCB4cG9zID0g
MCwgaW50IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdF
eHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGJvb2wgcnRsID0gZmFs
c2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlLAotICAgICAgICAgICAgICBib29s
IGFwcGx5UnVuUm91bmRpbmcgPSB0cnVlLCBib29sIGFwcGx5V29yZFJvdW5kaW5nID0gdHJ1ZSkK
KyAgICBUZXh0UnVuKGNvbnN0IFVDaGFyKiBjLCBpbnQgbGVuLCBib29sIGFsbG93VGFicyA9IGZh
bHNlLCBmbG9hdCB4cG9zID0gMCwgZmxvYXQgZXhwYW5zaW9uID0gMCwgVHJhaWxpbmdFeHBhbnNp
b25CZWhhdmlvciB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yID0gQWxsb3dUcmFpbGluZ0V4cGFu
c2lvbiwgYm9vbCBydGwgPSBmYWxzZSwgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRlID0gZmFsc2Up
CiAgICAgICAgIDogbV9jaGFyYWN0ZXJzKGMpCiAgICAgICAgICwgbV9sZW4obGVuKQogICAgICAg
ICAsIG1feHBvcyh4cG9zKQpAQCAtNTEsOCArNTAsNiBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9h
bGxvd1RhYnMoYWxsb3dUYWJzKQogICAgICAgICAsIG1fcnRsKHJ0bCkKICAgICAgICAgLCBtX2Rp
cmVjdGlvbmFsT3ZlcnJpZGUoZGlyZWN0aW9uYWxPdmVycmlkZSkKLSAgICAgICAgLCBtX2FwcGx5
UnVuUm91bmRpbmcoYXBwbHlSdW5Sb3VuZGluZykKLSAgICAgICAgLCBtX2FwcGx5V29yZFJvdW5k
aW5nKGFwcGx5V29yZFJvdW5kaW5nKQogICAgICAgICAsIG1fZGlzYWJsZVNwYWNpbmcoZmFsc2Up
CiAjaWYgRU5BQkxFKFNWR19GT05UUykKICAgICAgICAgLCBtX3JlZmVyZW5jaW5nUmVuZGVyT2Jq
ZWN0KDApCkBAIC02MSw4ICs1OCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgVGV4
dFJ1bihjb25zdCBTdHJpbmcmIHMsIGJvb2wgYWxsb3dUYWJzID0gZmFsc2UsIGludCB4cG9zID0g
MCwgaW50IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdF
eHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGJvb2wgcnRsID0gZmFs
c2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlLAotICAgICAgICAgICAgICBib29s
IGFwcGx5UnVuUm91bmRpbmcgPSB0cnVlLCBib29sIGFwcGx5V29yZFJvdW5kaW5nID0gdHJ1ZSkK
KyAgICBUZXh0UnVuKGNvbnN0IFN0cmluZyYgcywgYm9vbCBhbGxvd1RhYnMgPSBmYWxzZSwgZmxv
YXQgeHBvcyA9IDAsIGZsb2F0IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhwYW5zaW9uQmVoYXZp
b3IgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGJv
b2wgcnRsID0gZmFsc2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlKQogICAgICAg
ICA6IG1fY2hhcmFjdGVycyhzLmNoYXJhY3RlcnMoKSkKICAgICAgICAgLCBtX2xlbihzLmxlbmd0
aCgpKQogICAgICAgICAsIG1feHBvcyh4cG9zKQpAQCAtNzQsOCArNzAsNiBAQCBwdWJsaWM6CiAg
ICAgICAgICwgbV9hbGxvd1RhYnMoYWxsb3dUYWJzKQogICAgICAgICAsIG1fcnRsKHJ0bCkKICAg
ICAgICAgLCBtX2RpcmVjdGlvbmFsT3ZlcnJpZGUoZGlyZWN0aW9uYWxPdmVycmlkZSkKLSAgICAg
ICAgLCBtX2FwcGx5UnVuUm91bmRpbmcoYXBwbHlSdW5Sb3VuZGluZykKLSAgICAgICAgLCBtX2Fw
cGx5V29yZFJvdW5kaW5nKGFwcGx5V29yZFJvdW5kaW5nKQogICAgICAgICAsIG1fZGlzYWJsZVNw
YWNpbmcoZmFsc2UpCiAjaWYgRU5BQkxFKFNWR19GT05UUykKICAgICAgICAgLCBtX3JlZmVyZW5j
aW5nUmVuZGVyT2JqZWN0KDApCkBAIC05OCwxOCArOTIsMTUgQEAgcHVibGljOgogI2VuZGlmCiAK
ICAgICBib29sIGFsbG93VGFicygpIGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dUYWJzOyB9Ci0gICAg
aW50IHhQb3MoKSBjb25zdCB7IHJldHVybiBtX3hwb3M7IH0KLSAgICBpbnQgZXhwYW5zaW9uKCkg
Y29uc3QgeyByZXR1cm4gbV9leHBhbnNpb247IH0KKyAgICBmbG9hdCB4UG9zKCkgY29uc3QgeyBy
ZXR1cm4gbV94cG9zOyB9CisgICAgZmxvYXQgZXhwYW5zaW9uKCkgY29uc3QgeyByZXR1cm4gbV9l
eHBhbnNpb247IH0KICAgICBib29sIGFsbG93c1RyYWlsaW5nRXhwYW5zaW9uKCkgY29uc3QgeyBy
ZXR1cm4gbV90cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yID09IEFsbG93VHJhaWxpbmdFeHBhbnNp
b247IH0KICAgICBib29sIHJ0bCgpIGNvbnN0IHsgcmV0dXJuIG1fcnRsOyB9CiAgICAgYm9vbCBs
dHIoKSBjb25zdCB7IHJldHVybiAhbV9ydGw7IH0KICAgICBib29sIGRpcmVjdGlvbmFsT3ZlcnJp
ZGUoKSBjb25zdCB7IHJldHVybiBtX2RpcmVjdGlvbmFsT3ZlcnJpZGU7IH0KLSAgICBib29sIGFw
cGx5UnVuUm91bmRpbmcoKSBjb25zdCB7IHJldHVybiBtX2FwcGx5UnVuUm91bmRpbmc7IH0KLSAg
ICBib29sIGFwcGx5V29yZFJvdW5kaW5nKCkgY29uc3QgeyByZXR1cm4gbV9hcHBseVdvcmRSb3Vu
ZGluZzsgfQogICAgIGJvb2wgc3BhY2luZ0Rpc2FibGVkKCkgY29uc3QgeyByZXR1cm4gbV9kaXNh
YmxlU3BhY2luZzsgfQogCiAgICAgdm9pZCBkaXNhYmxlU3BhY2luZygpIHsgbV9kaXNhYmxlU3Bh
Y2luZyA9IHRydWU7IH0KLSAgICB2b2lkIGRpc2FibGVSb3VuZGluZ0hhY2tzKCkgeyBtX2FwcGx5
UnVuUm91bmRpbmcgPSBtX2FwcGx5V29yZFJvdW5kaW5nID0gZmFsc2U7IH0KICAgICB2b2lkIHNl
dFJUTChib29sIGIpIHsgbV9ydGwgPSBiOyB9CiAgICAgdm9pZCBzZXREaXJlY3Rpb25hbE92ZXJy
aWRlKGJvb2wgb3ZlcnJpZGUpIHsgbV9kaXJlY3Rpb25hbE92ZXJyaWRlID0gb3ZlcnJpZGU7IH0K
IApAQCAtMTI4LDggKzExOSw4IEBAIHByaXZhdGU6CiAgICAgLy8gbV94cG9zIGlzIHRoZSB4IHBv
c2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBsZWZ0IHN0YXJ0IG9mIHRoZSB0ZXh0IGxpbmUsIG5vdCBy
ZWxhdGl2ZSB0byB0aGUgbGVmdAogICAgIC8vIHN0YXJ0IG9mIHRoZSBjb250YWluaW5nIGJsb2Nr
LiBJbiB0aGUgY2FzZSBvZiByaWdodCBhbGlnbm1lbnQgb3IgY2VudGVyIGFsaWdubWVudCwgbGVm
dCBzdGFydCBvZgogICAgIC8vIHRoZSB0ZXh0IGxpbmUgaXMgbm90IHRoZSBzYW1lIGFzIGxlZnQg
c3RhcnQgb2YgdGhlIGNvbnRhaW5pbmcgYmxvY2suCi0gICAgaW50IG1feHBvczsgIAotICAgIGlu
dCBtX2V4cGFuc2lvbjsKKyAgICBmbG9hdCBtX3hwb3M7ICAKKyAgICBmbG9hdCBtX2V4cGFuc2lv
bjsKICAgICBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIG1fdHJhaWxpbmdFeHBhbnNpb25CZWhh
dmlvcjsKICNpZiBFTkFCTEUoU1ZHKQogICAgIGZsb2F0IG1faG9yaXpvbnRhbEdseXBoU3RyZXRj
aDsKQEAgLTEzNyw4ICsxMjgsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9hbGxvd1RhYnM7CiAg
ICAgYm9vbCBtX3J0bDsKICAgICBib29sIG1fZGlyZWN0aW9uYWxPdmVycmlkZTsKLSAgICBib29s
IG1fYXBwbHlSdW5Sb3VuZGluZzsKLSAgICBib29sIG1fYXBwbHlXb3JkUm91bmRpbmc7CiAgICAg
Ym9vbCBtX2Rpc2FibGVTcGFjaW5nOwogCiAjaWYgRU5BQkxFKFNWR19GT05UUykKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3Bw
CShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dp
ZHRoSXRlcmF0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw3ICs0OCw2IEBAIFdpZHRoSXRl
cmF0b3I6OldpZHRoSXRlcmF0b3IoY29uc3QgRm9udCoKICAgICAsIG1fY3VycmVudENoYXJhY3Rl
cigwKQogICAgICwgbV9ydW5XaWR0aFNvRmFyKDApCiAgICAgLCBtX2lzQWZ0ZXJFeHBhbnNpb24o
dHJ1ZSkKLSAgICAsIG1fZmluYWxSb3VuZGluZ1dpZHRoKDApCiAgICAgLCBtX2ZhbGxiYWNrRm9u
dHMoZmFsbGJhY2tGb250cykKICAgICAsIG1fYWNjb3VudEZvckdseXBoQm91bmRzKGFjY291bnRG
b3JHbHlwaEJvdW5kcykKICAgICAsIG1fbWF4R2x5cGhCb3VuZGluZ0JveFkobnVtZXJpY19saW1p
dHM8ZmxvYXQ+OjptaW4oKSkKQEAgLTg2LDExICs4NSw2IEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6
YWR2YW5jZShpbnQgb2Zmc2V0LCAKICAgICBib29sIHJ0bCA9IG1fcnVuLnJ0bCgpOwogICAgIGJv
b2wgaGFzRXh0cmFTcGFjaW5nID0gKG1fZm9udC0+bGV0dGVyU3BhY2luZygpIHx8IG1fZm9udC0+
d29yZFNwYWNpbmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNpbmdEaXNhYmxlZCgp
OwogCi0gICAgZmxvYXQgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9IG1fcnVuV2lkdGhTb0ZhcjsK
LSAgICBtX3J1bldpZHRoU29GYXIgPSBmbG9vcmYobV9ydW5XaWR0aFNvRmFyKTsKLSAgICB3aWR0
aFNpbmNlTGFzdFJvdW5kaW5nIC09IG1fcnVuV2lkdGhTb0ZhcjsKLQotICAgIGZsb2F0IGxhc3RS
b3VuZGluZ1dpZHRoID0gbV9maW5hbFJvdW5kaW5nV2lkdGg7CiAgICAgRmxvYXRSZWN0IGJvdW5k
czsKIAogICAgIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBwcmltYXJ5Rm9udCA9IG1fZm9udC0+cHJp
bWFyeUZvbnQoKTsKQEAgLTEzNiw3ICsxMzAsNyBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFu
Y2UoaW50IG9mZnNldCwgCiAgICAgICAgIGZsb2F0IHdpZHRoOwogICAgICAgICBpZiAoYyA9PSAn
XHQnICYmIG1fcnVuLmFsbG93VGFicygpKSB7CiAgICAgICAgICAgICBmbG9hdCB0YWJXaWR0aCA9
IG1fZm9udC0+dGFiV2lkdGgoKmZvbnREYXRhKTsKLSAgICAgICAgICAgIHdpZHRoID0gdGFiV2lk
dGggLSBmbW9kZihtX3J1bi54UG9zKCkgKyBtX3J1bldpZHRoU29GYXIgKyB3aWR0aFNpbmNlTGFz
dFJvdW5kaW5nLCB0YWJXaWR0aCk7CisgICAgICAgICAgICB3aWR0aCA9IHRhYldpZHRoIC0gZm1v
ZGYobV9ydW4ueFBvcygpICsgbV9ydW5XaWR0aFNvRmFyLCB0YWJXaWR0aCk7CiAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICB3aWR0aCA9IGZvbnREYXRhLT53aWR0aEZvckdseXBoKGdseXBo
KTsKIApAQCAtMTQ0LDEzICsxMzgsNiBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50
IG9mZnNldCwgCiAgICAgICAgICAgICAvLyBTVkcgdXNlcyBob3Jpem9udGFsR2x5cGhTdHJldGNo
KCksIHdoZW4gdGV4dExlbmd0aCBpcyB1c2VkIHRvIHN0cmV0Y2gvc3F1ZWV6ZSB0ZXh0LgogICAg
ICAgICAgICAgd2lkdGggKj0gbV9ydW4uaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgpOwogI2VuZGlm
Ci0KLSAgICAgICAgICAgIC8vIFdlIHNwZWNpYWwgY2FzZSBzcGFjZXMgaW4gdHdvIHdheXMgd2hl
biBhcHBseWluZyB3b3JkIHJvdW5kaW5nLgotICAgICAgICAgICAgLy8gRmlyc3QsIHdlIHJvdW5k
IHNwYWNlcyB0byBhbiBhZGp1c3RlZCB3aWR0aCBpbiBhbGwgZm9udHMuCi0gICAgICAgICAgICAv
LyBTZWNvbmQsIGluIGZpeGVkLXBpdGNoIGZvbnRzIHdlIGVuc3VyZSB0aGF0IGFsbCBjaGFyYWN0
ZXJzIHRoYXQKLSAgICAgICAgICAgIC8vIG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgc3BhY2UgY2hh
cmFjdGVyIGhhdmUgdGhlIHNhbWUgd2lkdGggYXMgdGhlIHNwYWNlIGNoYXJhY3Rlci4KLSAgICAg
ICAgICAgIGlmICh3aWR0aCA9PSBmb250RGF0YS0+c3BhY2VXaWR0aCgpICYmIChmb250RGF0YS0+
cGl0Y2goKSA9PSBGaXhlZFBpdGNoIHx8IGdseXBoID09IGZvbnREYXRhLT5zcGFjZUdseXBoKCkp
ICYmIG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkpCi0gICAgICAgICAgICAgICAgd2lkdGggPSBm
b250RGF0YS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAo
Zm9udERhdGEgIT0gbGFzdEZvbnREYXRhICYmIHdpZHRoKSB7CkBAIC0xODMsMTQgKzE3MCwxNCBA
QCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9mZnNldCwgCiAgICAgICAgICAgICAg
ICAgICAgIGlmICghdHJlYXRBc1NwYWNlICYmICFtX2lzQWZ0ZXJFeHBhbnNpb24pIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIFRha2UgdGhlIGV4cGFuc2lvbiBvcHBvcnR1bml0eSBiZWZv
cmUgdGhpcyBpZGVvZ3JhcGguCiAgICAgICAgICAgICAgICAgICAgICAgICBtX2V4cGFuc2lvbiAt
PSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAgICAgICAgICAgICAgICAgICAgaW50
IGV4cGFuc2lvbiA9IHJvdW5kZihwcmV2aW91c0V4cGFuc2lvbikgLSByb3VuZGYobV9leHBhbnNp
b24pOworICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgZXhwYW5zaW9uID0gcHJldmlvdXNF
eHBhbnNpb24gLSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgICAgIG1fcnVuV2lk
dGhTb0ZhciArPSBleHBhbnNpb247CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZ2x5cGhC
dWZmZXIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmV4cGFuZExh
c3RBZHZhbmNlKGV4cGFuc2lvbik7CiAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0V4
cGFuc2lvbiA9IG1fZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgICAgIG1fZXhwYW5zaW9uIC09IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7Ci0gICAg
ICAgICAgICAgICAgICAgIHdpZHRoICs9IHJvdW5kZihwcmV2aW91c0V4cGFuc2lvbikgLSByb3Vu
ZGYobV9leHBhbnNpb24pOworICAgICAgICAgICAgICAgICAgICB3aWR0aCArPSBwcmV2aW91c0V4
cGFuc2lvbiAtIG1fZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICBtX2lzQWZ0ZXJFeHBh
bnNpb24gPSB0cnVlOwogICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAg
ICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKQEAgLTIxNiw0MyArMjAzLDEwIEBAIHZvaWQg
V2lkdGhJdGVyYXRvcjo6YWR2YW5jZShpbnQgb2Zmc2V0LCAKICAgICAgICAgY3AgKz0gY2x1c3Rl
ckxlbmd0aDsKICAgICAgICAgY3VycmVudENoYXJhY3RlciArPSBjbHVzdGVyTGVuZ3RoOwogCi0g
ICAgICAgIC8vIEFjY291bnQgZm9yIGZsb2F0L2ludGVnZXIgaW1wZWRhbmNlIG1pc21hdGNoIGJl
dHdlZW4gQ0cgYW5kIEtIVE1MLiAiV29yZHMiIChjaGFyYWN0ZXJzIAotICAgICAgICAvLyBmb2xs
b3dlZCBieSBhIGNoYXJhY3RlciBkZWZpbmVkIGJ5IGlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKCkp
IGFyZSBhbHdheXMgYW4gaW50ZWdlciB3aWR0aC4KLSAgICAgICAgLy8gV2UgYWRqdXN0IHRoZSB3
aWR0aCBvZiB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgYSAid29yZCIgdG8gZW5zdXJlIGFuIGludGVn
ZXIgd2lkdGguCi0gICAgICAgIC8vIElmIHdlIG1vdmUgS0hUTUwgdG8gZmxvYXRzIHdlIGNhbiBy
ZW1vdmUgdGhpcyAoYW5kIHJlbGF0ZWQpIGhhY2tzLgotCi0gICAgICAgIGZsb2F0IG9sZFdpZHRo
ID0gd2lkdGg7Ci0KLSAgICAgICAgLy8gRm9yY2UgY2hhcmFjdGVycyB0aGF0IGFyZSB1c2VkIHRv
IGRldGVybWluZSB3b3JkIGJvdW5kYXJpZXMgZm9yIHRoZSByb3VuZGluZyBoYWNrCi0gICAgICAg
IC8vIHRvIGJlIGludGVnZXIgd2lkdGgsIHNvIGZvbGxvd2luZyB3b3JkcyB3aWxsIHN0YXJ0IG9u
IGFuIGludGVnZXIgYm91bmRhcnkuCi0gICAgICAgIGlmIChtX3J1bi5hcHBseVdvcmRSb3VuZGlu
ZygpICYmIEZvbnQ6OmlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKGMpKSB7Ci0gICAgICAgICAgICB3
aWR0aCA9IGNlaWxmKHdpZHRoKTsKLQotICAgICAgICAgICAgLy8gU2luY2Ugd2lkdGhTaW5jZUxh
c3RSb3VuZGluZyBjYW4gbG9zZSBwcmVjaXNpb24gaWYgd2UgaW5jbHVkZSBtZWFzdXJlbWVudHMg
Zm9yCi0gICAgICAgICAgICAvLyBwcmVjZWRpbmcgd2hpdGVzcGFjZSwgd2UgYnlwYXNzIGl0IGhl
cmUuCi0gICAgICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gd2lkdGg7Ci0KLSAgICAgICAgICAg
IC8vIFNpbmNlIHRoaXMgaXMgYSByb3VuZGluZyBoYWNrIGNoYXJhY3Rlciwgd2Ugc2hvdWxkIGhh
dmUgcmVzZXQgdGhpcyBzdW0gb24gdGhlIHByZXZpb3VzCi0gICAgICAgICAgICAvLyBpdGVyYXRp
b24uCi0gICAgICAgICAgICBBU1NFUlQoIXdpZHRoU2luY2VMYXN0Um91bmRpbmcpOwotICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoZSBuZXh0IGNoYXJh
Y3RlciBpcyBhICJyb3VuZGluZyBoYWNrIGNoYXJhY3RlciIsIGlmIHNvLCBhZGp1c3QKLSAgICAg
ICAgICAgIC8vIHdpZHRoIHNvIHRoYXQgdGhlIHRvdGFsIHJ1biB3aWR0aCB3aWxsIGJlIG9uIGFu
IGludGVnZXIgYm91bmRhcnkuCi0gICAgICAgICAgICBpZiAoKG1fcnVuLmFwcGx5V29yZFJvdW5k
aW5nKCkgJiYgY3VycmVudENoYXJhY3RlciA8IG1fcnVuLmxlbmd0aCgpICYmIEZvbnQ6OmlzUm91
bmRpbmdIYWNrQ2hhcmFjdGVyKCpjcCkpCi0gICAgICAgICAgICAgICAgICAgIHx8IChtX3J1bi5h
cHBseVJ1blJvdW5kaW5nKCkgJiYgY3VycmVudENoYXJhY3RlciA+PSBtX2VuZCkpIHsKLSAgICAg
ICAgICAgICAgICBmbG9hdCB0b3RhbFdpZHRoID0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyArIHdp
ZHRoOwotICAgICAgICAgICAgICAgIHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSBjZWlsZih0b3Rh
bFdpZHRoKTsKLSAgICAgICAgICAgICAgICB3aWR0aCArPSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5n
IC0gdG90YWxXaWR0aDsKLSAgICAgICAgICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gd2lkdGhT
aW5jZUxhc3RSb3VuZGluZzsKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5n
ID0gMDsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHdpZHRoU2luY2VMYXN0
Um91bmRpbmcgKz0gd2lkdGg7Ci0gICAgICAgIH0KKyAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9
IHdpZHRoOwogCiAgICAgICAgIGlmIChnbHlwaEJ1ZmZlcikKLSAgICAgICAgICAgIGdseXBoQnVm
ZmVyLT5hZGQoZ2x5cGgsIGZvbnREYXRhLCAocnRsID8gb2xkV2lkdGggKyBsYXN0Um91bmRpbmdX
aWR0aCA6IHdpZHRoKSk7Ci0KLSAgICAgICAgbGFzdFJvdW5kaW5nV2lkdGggPSB3aWR0aCAtIG9s
ZFdpZHRoOworICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmFkZChnbHlwaCwgZm9udERhdGEsIHdp
ZHRoKTsKIAogICAgICAgICBpZiAobV9hY2NvdW50Rm9yR2x5cGhCb3VuZHMpIHsKICAgICAgICAg
ICAgIG1fbWF4R2x5cGhCb3VuZGluZ0JveFkgPSBtYXgobV9tYXhHbHlwaEJvdW5kaW5nQm94WSwg
Ym91bmRzLm1heFkoKSk7CkBAIC0yNjIsOCArMjE2LDYgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjph
ZHZhbmNlKGludCBvZmZzZXQsIAogICAgIH0KIAogICAgIG1fY3VycmVudENoYXJhY3RlciA9IGN1
cnJlbnRDaGFyYWN0ZXI7Ci0gICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoU2luY2VMYXN0Um91
bmRpbmc7Ci0gICAgbV9maW5hbFJvdW5kaW5nV2lkdGggPSBsYXN0Um91bmRpbmdXaWR0aDsKIH0K
IAogYm9vbCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlT25lQ2hhcmFjdGVyKGZsb2F0JiB3aWR0aCwg
R2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJv
LmNwcAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxNCw3
ICs3MTQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvCiAjaW5j
bHVkZSAiRHJhd0Vycm9yVW5kZXJsaW5lLmgiCiAjZW5kaWYKIAotdm9pZCBHcmFwaGljc0NvbnRl
eHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEludFBvaW50JiBvcmlnaW4sIGludCB3
aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQordm9pZCBHcmFwaGljc0NvbnRleHQ6
OmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEludFBvaW50JiBvcmlnaW4sIGZsb2F0IHdp
ZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlz
YWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAkocmV2aXNp
b24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGlj
c0NvbnRleHRDRy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMzAsNyArMTEzMCw3IEBAIEZsb2F0
UmVjdCBHcmFwaGljc0NvbnRleHQ6OnJvdW5kVG9EZXZpY2UKICAgICByZXR1cm4gRmxvYXRSZWN0
KHJvdW5kZWRPcmlnaW4sIHJvdW5kZWRMb3dlclJpZ2h0IC0gcm91bmRlZE9yaWdpbik7CiB9CiAK
LXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgSW50UG9pbnQmIHBv
aW50LCBpbnQgd2lkdGgsIGJvb2wgcHJpbnRpbmcpCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJh
d0xpbmVGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBmbG9hdCB3aWR0aCwgYm9vbCBw
cmludGluZykKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRD
b250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAkocmV2aXNpb24gNzgzNTApCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsMjAgKzQyLDYgQEAgdXNpbmcgbmFtZXNwYWNlIHN0
ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgaW5saW5lIENHRmxvYXQgcm91bmRD
R0Zsb2F0KENHRmxvYXQgZikKLXsKLSAgICBpZiAoc2l6ZW9mKENHRmxvYXQpID09IHNpemVvZihm
bG9hdCkpCi0gICAgICAgIHJldHVybiByb3VuZGYoc3RhdGljX2Nhc3Q8ZmxvYXQ+KGYpKTsKLSAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8Q0dGbG9hdD4ocm91bmQoZikpOwotfQotCi1zdGF0aWMgaW5s
aW5lIENHRmxvYXQgY2VpbENHRmxvYXQoQ0dGbG9hdCBmKQotewotICAgIGlmIChzaXplb2YoQ0dG
bG9hdCkgPT0gc2l6ZW9mKGZsb2F0KSkKLSAgICAgICAgcmV0dXJuIGNlaWxmKHN0YXRpY19jYXN0
PGZsb2F0PihmKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PENHRmxvYXQ+KGNlaWwoZikpOwot
fQotCiBDb21wbGV4VGV4dENvbnRyb2xsZXI6OkNvbXBsZXhUZXh0Q29udHJvbGxlcihjb25zdCBG
b250KiBmb250LCBjb25zdCBUZXh0UnVuJiBydW4sIGJvb2wgbWF5VXNlTmF0dXJhbFdyaXRpbmdE
aXJlY3Rpb24sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywg
Ym9vbCBmb3JUZXh0RW1waGFzaXMpCiAgICAgOiBtX2ZvbnQoKmZvbnQpCiAgICAgLCBtX3J1bihy
dW4pCkBAIC02OSw3ICs1NSw2IEBAIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6Q29tcGxleFRleHRD
b250cm8KICAgICAsIG1fY3VycmVudFJ1bigwKQogICAgICwgbV9nbHlwaEluQ3VycmVudFJ1bigw
KQogICAgICwgbV9jaGFyYWN0ZXJJbkN1cnJlbnRHbHlwaCgwKQotICAgICwgbV9maW5hbFJvdW5k
aW5nV2lkdGgoMCkKICAgICAsIG1fZXhwYW5zaW9uKHJ1bi5leHBhbnNpb24oKSkKICAgICAsIG1f
YWZ0ZXJFeHBhbnNpb24odHJ1ZSkKICAgICAsIG1fZmFsbGJhY2tGb250cyhmYWxsYmFja0ZvbnRz
KQpAQCAtNzcsNyArNjIsNiBAQCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OkNvbXBsZXhUZXh0Q29u
dHJvCiAgICAgLCBtX21heEdseXBoQm91bmRpbmdCb3hYKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6
bWluKCkpCiAgICAgLCBtX21pbkdseXBoQm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0
Pjo6bWF4KCkpCiAgICAgLCBtX21heEdseXBoQm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZs
b2F0Pjo6bWluKCkpCi0gICAgLCBtX2xhc3RSb3VuZGluZ0dseXBoKDApCiB7CiAgICAgaWYgKCFt
X2V4cGFuc2lvbikKICAgICAgICAgbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eSA9IDA7CkBAIC00
MTMsMTMgKzM5NywxMSBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWR2YW5jZSh1bnNp
CiAgICAgICAgIG1fY3VycmVudFJ1bisrOwogICAgICAgICBtX2dseXBoSW5DdXJyZW50UnVuID0g
MDsKICAgICB9Ci0gICAgaWYgKCFsdHIgJiYgbV9udW1HbHlwaHNTb0ZhciA9PSBtX2FkanVzdGVk
QWR2YW5jZXMuc2l6ZSgpKQotICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gbV9maW5hbFJvdW5k
aW5nV2lkdGg7CiB9CiAKIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHNB
bmRBZHZhbmNlcygpCiB7Ci0gICAgQ0dGbG9hdCB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gMDsK
KyAgICBDR0Zsb2F0IHdpZHRoU2luY2VMYXN0Q29tbWl0ID0gMDsKICAgICBzaXplX3QgcnVuQ291
bnQgPSBtX2NvbXBsZXhUZXh0UnVucy5zaXplKCk7CiAgICAgYm9vbCBoYXNFeHRyYVNwYWNpbmcg
PSAobV9mb250LmxldHRlclNwYWNpbmcoKSB8fCBtX2ZvbnQud29yZFNwYWNpbmcoKSB8fCBtX2V4
cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNpbmdEaXNhYmxlZCgpOwogICAgIGZvciAoc2l6ZV90IHIg
PSAwOyByIDwgcnVuQ291bnQ7ICsrcikgewpAQCAtNDMyLDggKzQxNCw2IEBAIHZvaWQgQ29tcGxl
eFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHMKIAogICAgICAgICBib29sIGxhc3RSdW4gPSBy
ICsgMSA9PSBydW5Db3VudDsKICAgICAgICAgY29uc3QgVUNoYXIqIGNwID0gY29tcGxleFRleHRS
dW4uY2hhcmFjdGVycygpOwotICAgICAgICBDR0Zsb2F0IHJvdW5kZWRTcGFjZVdpZHRoID0gcm91
bmRDR0Zsb2F0KGZvbnREYXRhLT5zcGFjZVdpZHRoKCkpOwotICAgICAgICBib29sIHJvdW5kc0Fk
dmFuY2VzID0gIW1fZm9udC5pc1ByaW50ZXJGb250KCkgJiYgZm9udERhdGEtPnBsYXRmb3JtRGF0
YSgpLnJvdW5kc0dseXBoQWR2YW5jZXMoKTsKICAgICAgICAgQ0dQb2ludCBnbHlwaE9yaWdpbiA9
IENHUG9pbnRaZXJvOwogICAgICAgICBDRkluZGV4IGxhc3RDaGFyYWN0ZXJJbmRleCA9IG1fcnVu
Lmx0cigpID8gbnVtZXJpY19saW1pdHM8Q0ZJbmRleD46Om1pbigpIDogbnVtZXJpY19saW1pdHM8
Q0ZJbmRleD46Om1heCgpOwogICAgICAgICBib29sIGlzTW9ub3RvbmljID0gdHJ1ZTsKQEAgLTQ2
MywyNSArNDQzLDE0IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHMK
IAogICAgICAgICAgICAgaWYgKGNoID09ICdcdCcgJiYgbV9ydW4uYWxsb3dUYWJzKCkpIHsKICAg
ICAgICAgICAgICAgICBmbG9hdCB0YWJXaWR0aCA9IG1fZm9udC50YWJXaWR0aCgqZm9udERhdGEp
OwotICAgICAgICAgICAgICAgIGFkdmFuY2Uud2lkdGggPSB0YWJXaWR0aCAtIGZtb2RmKG1fcnVu
LnhQb3MoKSArIG1fdG90YWxXaWR0aCArIHdpZHRoU2luY2VMYXN0Um91bmRpbmcsIHRhYldpZHRo
KTsKKyAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoID0gdGFiV2lkdGggLSBmbW9kZihtX3J1
bi54UG9zKCkgKyBtX3RvdGFsV2lkdGggKyB3aWR0aFNpbmNlTGFzdENvbW1pdCwgdGFiV2lkdGgp
OwogICAgICAgICAgICAgfSBlbHNlIGlmIChjaCA9PSB6ZXJvV2lkdGhTcGFjZSB8fCAoRm9udDo6
dHJlYXRBc1plcm9XaWR0aFNwYWNlKGNoKSAmJiAhdHJlYXRBc1NwYWNlKSkgewogICAgICAgICAg
ICAgICAgIGFkdmFuY2Uud2lkdGggPSAwOwogICAgICAgICAgICAgICAgIGdseXBoID0gZm9udERh
dGEtPnNwYWNlR2x5cGgoKTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgZmxvYXQgcm91
bmRlZEFkdmFuY2VXaWR0aCA9IHJvdW5kZihhZHZhbmNlLndpZHRoKTsKLSAgICAgICAgICAgIGlm
IChyb3VuZHNBZHZhbmNlcykKLSAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoID0gcm91bmRl
ZEFkdmFuY2VXaWR0aDsKLQogICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSBmb250RGF0YS0+
c3ludGhldGljQm9sZE9mZnNldCgpOwogCi0gICAgICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ug
c3BhY2VzIGluIHR3byB3YXlzIHdoZW4gYXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAg
ICAgIC8vIEZpcnN0LCB3ZSByb3VuZCBzcGFjZXMgdG8gYW4gYWRqdXN0ZWQgd2lkdGggaW4gYWxs
IGZvbnRzLgotICAgICAgICAgICAgLy8gU2Vjb25kLCBpbiBmaXhlZC1waXRjaCBmb250cyB3ZSBl
bnN1cmUgdGhhdCBhbGwgZ2x5cGhzIHRoYXQKLSAgICAgICAgICAgIC8vIG1hdGNoIHRoZSB3aWR0
aCBvZiB0aGUgc3BhY2UgZ2x5cGggaGF2ZSB0aGUgc2FtZSB3aWR0aCBhcyB0aGUgc3BhY2UgZ2x5
cGguCi0gICAgICAgICAgICBpZiAocm91bmRlZEFkdmFuY2VXaWR0aCA9PSByb3VuZGVkU3BhY2VX
aWR0aCAmJiAoZm9udERhdGEtPnBpdGNoKCkgPT0gRml4ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250
RGF0YS0+c3BhY2VHbHlwaCgpKSAmJiBtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpKQotICAgICAg
ICAgICAgICAgIGFkdmFuY2Uud2lkdGggPSBmb250RGF0YS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCk7
Ci0KICAgICAgICAgICAgIGlmIChoYXNFeHRyYVNwYWNpbmcpIHsKICAgICAgICAgICAgICAgICAv
LyBJZiB3ZSdyZSBhIGdseXBoIHdpdGggYW4gYWR2YW5jZSwgZ28gYWhlYWQgYW5kIGFkZCBpbiBs
ZXR0ZXItc3BhY2luZy4KICAgICAgICAgICAgICAgICAvLyBUaGF0IHdheSB3ZSB3ZWVkIG91dCB6
ZXJvIHdpZHRoIGx1cmtlcnMuICBUaGlzIGJlaGF2aW9yIG1hdGNoZXMgdGhlIGZhc3QgdGV4dCBj
b2RlIHBhdGguCkBAIC00OTYsMTMgKzQ2NSwxMyBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxl
cjo6YWRqdXN0R2x5cGhzCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRyZWF0QXNTcGFj
ZSAmJiAhbV9hZnRlckV4cGFuc2lvbikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IFRha2UgdGhlIGV4cGFuc2lvbiBvcHBvcnR1bml0eSBiZWZvcmUgdGhpcyBpZGVvZ3JhcGguCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9leHBhbnNpb24gLT0gbV9leHBhbnNpb25QZXJP
cHBvcnR1bml0eTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZXhwYW5zaW9uID0g
cm91bmRmKHByZXZpb3VzRXhwYW5zaW9uKSAtIHJvdW5kZihtX2V4cGFuc2lvbik7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZmxvYXQgZXhwYW5zaW9uID0gcHJldmlvdXNFeHBhbnNpb24g
LSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX3RvdGFsV2lkdGgg
Kz0gZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fYWRqdXN0ZWRBZHZh
bmNlcy5sYXN0KCkud2lkdGggKz0gZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHByZXZpb3VzRXhwYW5zaW9uID0gbV9leHBhbnNpb247CiAgICAgICAgICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lv
blBlck9wcG9ydHVuaXR5OwotICAgICAgICAgICAgICAgICAgICAgICAgYWR2YW5jZS53aWR0aCAr
PSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRmKG1fZXhwYW5zaW9uKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGFkdmFuY2Uud2lkdGggKz0gcHJldmlvdXNFeHBhbnNpb24gLSBt
X2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgICAgIG1fYWZ0ZXJFeHBhbnNpb24gPSB0
cnVlOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAg
IG1fYWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKQEAgLTUxNCwzMyArNDgzLDcgQEAgdm9pZCBDb21w
bGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBocwogICAgICAgICAgICAgICAgICAgICBtX2Fm
dGVyRXhwYW5zaW9uID0gZmFsc2U7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIC8vIERl
YWwgd2l0aCB0aGUgZmxvYXQvaW50ZWdlciBpbXBlZGFuY2UgbWlzbWF0Y2ggYmV0d2VlbiBDRyBh
bmQgV2ViQ29yZS4gIldvcmRzIiAoY2hhcmFjdGVycyAKLSAgICAgICAgICAgIC8vIGZvbGxvd2Vk
IGJ5IGEgY2hhcmFjdGVyIGRlZmluZWQgYnkgaXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoKSkgYXJl
IGFsd2F5cyBhbiBpbnRlZ2VyIHdpZHRoLgotICAgICAgICAgICAgLy8gV2UgYWRqdXN0IHRoZSB3
aWR0aCBvZiB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgYSAid29yZCIgdG8gZW5zdXJlIGFuIGludGVn
ZXIgd2lkdGguCi0gICAgICAgICAgICAvLyBGb3JjZSBjaGFyYWN0ZXJzIHRoYXQgYXJlIHVzZWQg
dG8gZGV0ZXJtaW5lIHdvcmQgYm91bmRhcmllcyBmb3IgdGhlIHJvdW5kaW5nIGhhY2sKLSAgICAg
ICAgICAgIC8vIHRvIGJlIGludGVnZXIgd2lkdGgsIHNvIHRoZSBmb2xsb3dpbmcgd29yZHMgd2ls
bCBzdGFydCBvbiBhbiBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICAgICAgaWYgKG1fcnVuLmFw
cGx5V29yZFJvdW5kaW5nKCkgJiYgRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoY2gpKQot
ICAgICAgICAgICAgICAgIGFkdmFuY2Uud2lkdGggPSBjZWlsQ0dGbG9hdChhZHZhbmNlLndpZHRo
KTsKLQotICAgICAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoZSBuZXh0IGNoYXJhY3RlciBp
cyBhICJyb3VuZGluZyBoYWNrIGNoYXJhY3RlciIsIGlmIHNvLCBhZGp1c3QgdGhlCi0gICAgICAg
ICAgICAvLyB3aWR0aCBzbyB0aGF0IHRoZSB0b3RhbCBydW4gd2lkdGggd2lsbCBiZSBvbiBhbiBp
bnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICAgICAgaWYgKChtX3J1bi5hcHBseVdvcmRSb3VuZGlu
ZygpICYmICFsYXN0R2x5cGggJiYgRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIobmV4dENo
KSkgfHwgKG1fcnVuLmFwcGx5UnVuUm91bmRpbmcoKSAmJiBsYXN0R2x5cGgpKSB7Ci0gICAgICAg
ICAgICAgICAgQ0dGbG9hdCB0b3RhbFdpZHRoID0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyArIGFk
dmFuY2Uud2lkdGg7Ci0gICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9IGNl
aWxDR0Zsb2F0KHRvdGFsV2lkdGgpOwotICAgICAgICAgICAgICAgIENHRmxvYXQgZXh0cmFXaWR0
aCA9IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgLSB0b3RhbFdpZHRoOwotICAgICAgICAgICAgICAg
IGlmIChtX3J1bi5sdHIoKSkKLSAgICAgICAgICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSBl
eHRyYVdpZHRoOwotICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICBp
ZiAobV9sYXN0Um91bmRpbmdHbHlwaCkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fYWRqdXN0
ZWRBZHZhbmNlc1ttX2xhc3RSb3VuZGluZ0dseXBoIC0gMV0ud2lkdGggKz0gZXh0cmFXaWR0aDsK
LSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgbV9maW5h
bFJvdW5kaW5nV2lkdGggPSBleHRyYVdpZHRoOwotICAgICAgICAgICAgICAgICAgICBtX2xhc3RS
b3VuZGluZ0dseXBoID0gbV9hZGp1c3RlZEFkdmFuY2VzLnNpemUoKSArIDE7Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIG1fdG90YWxXaWR0aCArPSB3aWR0aFNpbmNlTGFzdFJv
dW5kaW5nOwotICAgICAgICAgICAgICAgIHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSAwOwotICAg
ICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyAr
PSBhZHZhbmNlLndpZHRoOworICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RDb21taXQgKz0gYWR2
YW5jZS53aWR0aDsKIAogICAgICAgICAgICAgLy8gRklYTUU6IENvbWJpbmluZyBtYXJrcyBzaG91
bGQgcmVjZWl2ZSBhIHRleHQgZW1waGFzaXMgbWFyayBpZiB0aGV5IGFyZSBjb21iaW5lIHdpdGgg
YSBzcGFjZS4KICAgICAgICAgICAgIGlmIChtX2ZvclRleHRFbXBoYXNpcyAmJiAoIUZvbnQ6OmNh
blJlY2VpdmVUZXh0RW1waGFzaXMoY2gpIHx8IChVX0dFVF9HQ19NQVNLKGNoKSAmIFVfR0NfTV9N
QVNLKSkpCkBAIC01NjQsNyArNTA3LDcgQEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFk
anVzdEdseXBocwogICAgICAgICBpZiAoIWlzTW9ub3RvbmljKQogICAgICAgICAgICAgY29tcGxl
eFRleHRSdW4uc2V0SXNOb25Nb25vdG9uaWMoKTsKICAgICB9Ci0gICAgbV90b3RhbFdpZHRoICs9
IHdpZHRoU2luY2VMYXN0Um91bmRpbmc7CisgICAgbV90b3RhbFdpZHRoICs9IHdpZHRoU2luY2VM
YXN0Q29tbWl0OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0
Q29udHJvbGxlci5oCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
NjAsOSArNjAsNiBAQCBwdWJsaWM6CiAKICAgICBmbG9hdCB0b3RhbFdpZHRoKCkgY29uc3QgeyBy
ZXR1cm4gbV90b3RhbFdpZHRoOyB9CiAKLSAgICAvLyBFeHRyYSB3aWR0aCB0byB0aGUgbGVmdCBv
ZiB0aGUgbGVmdG1vc3QgZ2x5cGguCi0gICAgZmxvYXQgZmluYWxSb3VuZGluZ1dpZHRoKCkgY29u
c3QgeyByZXR1cm4gbV9maW5hbFJvdW5kaW5nV2lkdGg7IH0KLQogICAgIGZsb2F0IG1pbkdseXBo
Qm91bmRpbmdCb3hYKCkgY29uc3QgeyByZXR1cm4gbV9taW5HbHlwaEJvdW5kaW5nQm94WDsgfQog
ICAgIGZsb2F0IG1heEdseXBoQm91bmRpbmdCb3hYKCkgY29uc3QgeyByZXR1cm4gbV9tYXhHbHlw
aEJvdW5kaW5nQm94WDsgfQogICAgIGZsb2F0IG1pbkdseXBoQm91bmRpbmdCb3hZKCkgY29uc3Qg
eyByZXR1cm4gbV9taW5HbHlwaEJvdW5kaW5nQm94WTsgfQpAQCAtMTc2LDcgKzE3Myw2IEBAIHBy
aXZhdGU6CiAgICAgc2l6ZV90IG1fY3VycmVudFJ1bjsKICAgICB1bnNpZ25lZCBtX2dseXBoSW5D
dXJyZW50UnVuOwogICAgIHVuc2lnbmVkIG1fY2hhcmFjdGVySW5DdXJyZW50R2x5cGg7Ci0gICAg
ZmxvYXQgbV9maW5hbFJvdW5kaW5nV2lkdGg7CiAgICAgZmxvYXQgbV9leHBhbnNpb247CiAgICAg
ZmxvYXQgbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKICAgICBib29sIG1fYWZ0ZXJFeHBhbnNp
b247CkBAIC0xODcsOCArMTgzLDYgQEAgcHJpdmF0ZToKICAgICBmbG9hdCBtX21heEdseXBoQm91
bmRpbmdCb3hYOwogICAgIGZsb2F0IG1fbWluR2x5cGhCb3VuZGluZ0JveFk7CiAgICAgZmxvYXQg
bV9tYXhHbHlwaEJvdW5kaW5nQm94WTsKLSAgICAKLSAgICB1bnNpZ25lZCBtX2xhc3RSb3VuZGlu
Z0dseXBoOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4VGV4
dE1hYy5jcHAJKHJldmlzaW9uIDc4MzUwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxLDcg
KzcxLDcgQEAgZmxvYXQgRm9udDo6Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JDb21wbAogICAgIGZs
b2F0IGFmdGVyV2lkdGggPSBjb250cm9sbGVyLnJ1bldpZHRoU29GYXIoKTsKIAogICAgIGlmIChy
dW4ucnRsKCkpIHsKLSAgICAgICAgaW5pdGlhbEFkdmFuY2UgPSBjb250cm9sbGVyLnRvdGFsV2lk
dGgoKSArIGNvbnRyb2xsZXIuZmluYWxSb3VuZGluZ1dpZHRoKCkgLSBhZnRlcldpZHRoOworICAg
ICAgICBpbml0aWFsQWR2YW5jZSA9IGNvbnRyb2xsZXIudG90YWxXaWR0aCgpIC0gYWZ0ZXJXaWR0
aDsKICAgICAgICAgZm9yIChpbnQgaSA9IDAsIGVuZCA9IGdseXBoQnVmZmVyLnNpemUoKSAtIDE7
IGkgPCBnbHlwaEJ1ZmZlci5zaXplKCkgLyAyOyArK2ksIC0tZW5kKQogICAgICAgICAgICAgZ2x5
cGhCdWZmZXIuc3dhcChpLCBlbmQpOwogICAgIH0gZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dE1hYy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0TWFj
Lm1tCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9HcmFwaGljc0NvbnRleHRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTExMiwxNCArMTEy
LDE0IEBAIHN0YXRpYyBOU0NvbG9yKiBjcmVhdGVQYXR0ZXJuQ29sb3IoTlNTdHIKIH0KIAogLy8g
V2ViS2l0IG9uIE1hYyBpcyBhIHN0YW5kYXJkIHBsYXRmb3JtIGNvbXBvbmVudCwgc28gaXQgbXVz
dCB1c2UgdGhlIHN0YW5kYXJkIHBsYXRmb3JtIGFydHdvcmsgZm9yIHVuZGVybGluZS4KLXZvaWQg
R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYg
cG9pbnQsIGludCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQordm9pZCBHcmFw
aGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEZsb2F0UG9pbnQmIHBv
aW50LCBmbG9hdCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQogewogICAgIGlm
IChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgLy8g
VGhlc2UgYXJlIHRoZSBzYW1lIGZvciBtaXNzcGVsbGluZyBvciBiYWQgZ3JhbW1hci4KICAgICBp
bnQgcGF0dGVybkhlaWdodCA9IGNNaXNzcGVsbGluZ0xpbmVUaGlja25lc3M7Ci0gICAgaW50IHBh
dHRlcm5XaWR0aCA9IGNNaXNzcGVsbGluZ0xpbmVQYXR0ZXJuV2lkdGg7CisgICAgZmxvYXQgcGF0
dGVybldpZHRoID0gY01pc3NwZWxsaW5nTGluZVBhdHRlcm5XaWR0aDsKIAogICAgIGJvb2wgdXNp
bmdEb3Q7CiAgICAgTlNDb2xvciAqcGF0dGVybkNvbG9yOwpAQCAtMTY1LDcgKzE2NSw3IEBAIHZv
aWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGUKICAgICAvLyBzcGFjZSBiZXR3
ZWVuIGFkamFjZW50IG1pc3NwZWxsZWQgd29yZHMgd2FzIHVuZGVybGluZWQuCiAgICAgaWYgKHVz
aW5nRG90KSB7CiAgICAgICAgIC8vIGFsbG93IHNsaWdodGx5IG1vcmUgY29uc2lkZXJpbmcgdGhh
dCB0aGUgcGF0dGVybiBlbmRzIHdpdGggYSB0cmFuc3BhcmVudCBwaXhlbAotICAgICAgICBpbnQg
d2lkdGhNb2QgPSB3aWR0aCAlIHBhdHRlcm5XaWR0aDsKKyAgICAgICAgZmxvYXQgd2lkdGhNb2Qg
PSBmbW9kZih3aWR0aCwgcGF0dGVybldpZHRoKTsKICAgICAgICAgaWYgKHBhdHRlcm5XaWR0aCAt
IHdpZHRoTW9kID4gY01pc3NwZWxsaW5nTGluZVBhdHRlcm5HYXBXaWR0aCkKICAgICAgICAgICAg
IHdpZHRoIC09IHdpZHRoTW9kOwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAJKHJldmlz
aW9uIDc4MzUwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhp
Y3NDb250ZXh0UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NzUsNyArODc1LDcgQEAgdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjbwogICAgIGRyYXdMaW5lKHN0YXJ0UG9p
bnQsIGVuZFBvaW50KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dENoZWNraW5nKGNvbnN0IEludFBvaW50JiwgaW50LCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUpCit2
b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9p
bnQmLCBmbG9hdCwgVGV4dENoZWNraW5nTGluZVN0eWxlKQogewogICAgIGlmIChwYWludGluZ0Rp
c2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0U2tpYS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lhLmNw
cAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9z
a2lhL0dyYXBoaWNzQ29udGV4dFNraWEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTUsNyArNTk1
LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lKGNvbnN0IEludAogICAgIHBsYXRm
b3JtQ29udGV4dCgpLT5jYW52YXMoKS0+ZHJhd1BvaW50cyhTa0NhbnZhczo6a0xpbmVzX1BvaW50
TW9kZSwgMiwgcHRzLCBwYWludCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGlu
ZUZvclRleHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYgcHQsIGludCB3aWR0aCwgVGV4dENoZWNr
aW5nTGluZVN0eWxlIHN0eWxlKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dENoZWNraW5nKGNvbnN0IEludFBvaW50JiBwdCwgZmxvYXQgd2lkdGgsIFRleHRDaGVja2luZ0xp
bmVTdHlsZSBzdHlsZSkKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICBy
ZXR1cm47CkBAIC02NjcsNyArNjY3LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5l
Rm9yVGV4dENoZQogICAgIFNrUmVjdCByZWN0OwogICAgIHJlY3Quc2V0KG9yaWdpblgsCiAgICAg
ICAgICAgICAgb3JpZ2luWSwKLSAgICAgICAgICAgICBvcmlnaW5YICsgU2tJbnRUb1NjYWxhcih3
aWR0aCksCisgICAgICAgICAgICAgb3JpZ2luWCArIFdlYkNvcmVGbG9hdFRvU2tTY2FsYXIod2lk
dGgpLAogICAgICAgICAgICAgIG9yaWdpblkgKyBTa0ludFRvU2NhbGFyKG1pc3NwZWxsQml0bWFw
LT5oZWlnaHQoKSkpOwogICAgIHBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKS0+ZHJhd1JlY3Qo
cmVjdCwgcGFpbnQpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0dyYXBoaWNzQ29udGV4dENHV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0Q0dXaW4uY3BwCShyZXZpc2lv
biA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGlj
c0NvbnRleHRDR1dpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4NCw3ICsxODQsNyBAQCBzdGF0
aWMgY29uc3QgQ29sb3ImIGdyYW1tYXJQYXR0ZXJuQ29sb3IoCiAgICAgcmV0dXJuIGdyYW1tYXJD
b2xvcjsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5n
KGNvbnN0IEludFBvaW50JiBwb2ludCwgaW50IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUg
c3R5bGUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29u
c3QgSW50UG9pbnQmIHBvaW50LCBmbG9hdCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0
eWxlKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9VbmlzY3JpYmVDb250cm9s
bGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vVW5pc2NyaWJlQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDc4MzUwKQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNjEsMTggKzI2MSwxMyBAQCBib29sIFVuaXNjcmliZUNvbnRyb2xsZXI6
OnNoYXBlQW5kUGxhY2VJCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgLy8gQ29udmVydCBh
bGwgY2hhcnMgdGhhdCBzaG91bGQgYmUgdHJlYXRlZCBhcyBzcGFjZXMgdG8gdXNlIHRoZSBzcGFj
ZSBnbHlwaC4KLSAgICAvLyBXZSBhbHNvIGNyZWF0ZSBhIG1hcCB0aGF0IGFsbG93cyB1cyB0byBx
dWlja2x5IGdvIGZyb20gc3BhY2UgZ2x5cGhzIG9yIHJvdW5kaW5nCi0gICAgLy8gaGFjayBnbHlw
aHMgYmFjayB0byB0aGVpciBjb3JyZXNwb25kaW5nIGNoYXJhY3RlcnMuCisgICAgLy8gV2UgYWxz
byBjcmVhdGUgYSBtYXAgdGhhdCBhbGxvd3MgdXMgdG8gcXVpY2tseSBnbyBmcm9tIHNwYWNlIGds
eXBocyBiYWNrIHRvIHRoZWlyIGNvcnJlc3BvbmRpbmcgY2hhcmFjdGVycy4KICAgICBWZWN0b3I8
aW50PiBzcGFjZUNoYXJhY3RlcnMoZ2x5cGhzLnNpemUoKSk7CiAgICAgc3BhY2VDaGFyYWN0ZXJz
LmZpbGwoLTEpOwotICAgIFZlY3RvcjxpbnQ+IHJvdW5kaW5nSGFja0NoYXJhY3RlcnMoZ2x5cGhz
LnNpemUoKSk7Ci0gICAgcm91bmRpbmdIYWNrQ2hhcmFjdGVycy5maWxsKC0xKTsKLSAgICBWZWN0
b3I8aW50PiByb3VuZGluZ0hhY2tXb3JkQm91bmRhcmllcyhnbHlwaHMuc2l6ZSgpKTsKLSAgICBy
b3VuZGluZ0hhY2tXb3JkQm91bmRhcmllcy5maWxsKC0xKTsKIAogICAgIGNvbnN0IGZsb2F0IGNM
b2dpY2FsU2NhbGUgPSBmb250RGF0YS0+cGxhdGZvcm1EYXRhKCkudXNlR0RJKCkgPyAxLjBmIDog
MzIuMGY7CiAgICAgdW5zaWduZWQgbG9naWNhbFNwYWNlV2lkdGggPSBmb250RGF0YS0+c3BhY2VX
aWR0aCgpICogY0xvZ2ljYWxTY2FsZTsKLSAgICBmbG9hdCByb3VuZGVkU3BhY2VXaWR0aCA9IHJv
dW5kZihmb250RGF0YS0+c3BhY2VXaWR0aCgpKTsKKyAgICBmbG9hdCBzcGFjZVdpZHRoID0gZm9u
dERhdGEtPnNwYWNlV2lkdGgoKTsKIAogICAgIGZvciAoaW50IGsgPSAwOyBrIDwgbGVuOyBrKysp
IHsKICAgICAgICAgVUNoYXIgY2ggPSAqKHN0ciArIGspOwpAQCAtMjg2LDIxICsyODEsNiBAQCBi
b29sIFVuaXNjcmliZUNvbnRyb2xsZXI6OnNoYXBlQW5kUGxhY2VJCiAgICAgICAgICAgICBpZiAo
dHJlYXRBc1NwYWNlKQogICAgICAgICAgICAgICAgIHNwYWNlQ2hhcmFjdGVyc1tjbHVzdGVyc1tr
XV0gPSBtX2N1cnJlbnRDaGFyYWN0ZXIgKyBrICsgaXRlbS5pQ2hhclBvczsKICAgICAgICAgfQot
Ci0gICAgICAgIGlmIChGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcihjaCkpCi0gICAgICAg
ICAgICByb3VuZGluZ0hhY2tDaGFyYWN0ZXJzW2NsdXN0ZXJzW2tdXSA9IG1fY3VycmVudENoYXJh
Y3RlciArIGsgKyBpdGVtLmlDaGFyUG9zOwotCi0gICAgICAgIGludCBib3VuZGFyeSA9IGsgKyBt
X2N1cnJlbnRDaGFyYWN0ZXIgKyBpdGVtLmlDaGFyUG9zOwotICAgICAgICBpZiAoYm91bmRhcnkg
PCBtX3J1bi5sZW5ndGgoKSkgewotICAgICAgICAgICAgLy8gV2hlbiBhdCB0aGUgbGFzdCBjaGFy
YWN0ZXIgaW4gdGhlIHN0ciwgZG9uJ3QgbG9vayBvbmUgcGFzdCB0aGUgZW5kIGZvciBhIHJvdW5k
aW5nIGhhY2sgY2hhcmFjdGVyLgotICAgICAgICAgICAgLy8gSW5zdGVhZCBsb29rIGFoZWFkIHRv
IHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgbmV4dCBpdGVtLCBpZiB0aGVyZSBpcyBhIG5leHQgb25l
LiAKLSAgICAgICAgICAgIGlmIChrICsgMSA9PSBsZW4pIHsKLSAgICAgICAgICAgICAgICBpZiAo
aSArIDIgPCBtX2l0ZW1zLnNpemUoKSAvLyBDaGVjayBmb3IgYXQgbGVhc3QgMiBpdGVtcyByZW1h
aW5pbmcuIFRoZSBsYXN0IGl0ZW0gaXMgYSB0ZXJtaW5hdGluZyBpdGVtIGNvbnRhaW5pbmcgbm8g
Y2hhcmFjdGVycy4KLSAgICAgICAgICAgICAgICAgICAgJiYgRm9udDo6aXNSb3VuZGluZ0hhY2tD
aGFyYWN0ZXIoKihjcCArIG1faXRlbXNbaSArIDFdLmlDaGFyUG9zKSkpCi0gICAgICAgICAgICAg
ICAgICAgIHJvdW5kaW5nSGFja1dvcmRCb3VuZGFyaWVzW2NsdXN0ZXJzW2tdXSA9IGJvdW5kYXJ5
OwotICAgICAgICAgICAgfSBlbHNlIGlmIChGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3Rlcigq
KHN0ciArIGsgKyAxKSkpCi0gICAgICAgICAgICAgICAgcm91bmRpbmdIYWNrV29yZEJvdW5kYXJp
ZXNbY2x1c3RlcnNba11dID0gYm91bmRhcnk7Ci0gICAgICAgIH0KICAgICB9CiAKICAgICAvLyBQ
b3B1bGF0ZSBvdXIgZ2x5cGggYnVmZmVyIHdpdGggdGhpcyBpbmZvcm1hdGlvbi4KQEAgLTMxNCwy
NCArMjk0LDggQEAgYm9vbCBVbmlzY3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSQogICAg
ICAgICBmbG9hdCBvZmZzZXRYID0gb2Zmc2V0c1trXS5kdSAvIGNMb2dpY2FsU2NhbGU7CiAgICAg
ICAgIGZsb2F0IG9mZnNldFkgPSBvZmZzZXRzW2tdLmR2IC8gY0xvZ2ljYWxTY2FsZTsKIAotICAg
ICAgICAvLyBNYXRjaCBBcHBLaXQncyBydWxlcyBmb3IgdGhlIGludGVnZXIgdnMuIG5vbi1pbnRl
Z2VyIHJlbmRlcmluZyBtb2Rlcy4KLSAgICAgICAgZmxvYXQgcm91bmRlZEFkdmFuY2UgPSByb3Vu
ZGYoYWR2YW5jZSk7Ci0gICAgICAgIGlmICghbV9mb250LmlzUHJpbnRlckZvbnQoKSAmJiAhZm9u
dERhdGEtPmlzU3lzdGVtRm9udCgpKSB7Ci0gICAgICAgICAgICBhZHZhbmNlID0gcm91bmRlZEFk
dmFuY2U7Ci0gICAgICAgICAgICBvZmZzZXRYID0gcm91bmRmKG9mZnNldFgpOwotICAgICAgICAg
ICAgb2Zmc2V0WSA9IHJvdW5kZihvZmZzZXRZKTsKLSAgICAgICAgfQotCiAgICAgICAgIGFkdmFu
Y2UgKz0gZm9udERhdGEtPnN5bnRoZXRpY0JvbGRPZmZzZXQoKTsKIAotICAgICAgICAvLyBXZSBz
cGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlzIHdoZW4gYXBwbHlpbmcgd29yZCByb3VuZGlu
Zy4KLSAgICAgICAgLy8gRmlyc3QsIHdlIHJvdW5kIHNwYWNlcyB0byBhbiBhZGp1c3RlZCB3aWR0
aCBpbiBhbGwgZm9udHMuCi0gICAgICAgIC8vIFNlY29uZCwgaW4gZml4ZWQtcGl0Y2ggZm9udHMg
d2UgZW5zdXJlIHRoYXQgYWxsIGdseXBocyB0aGF0Ci0gICAgICAgIC8vIG1hdGNoIHRoZSB3aWR0
aCBvZiB0aGUgc3BhY2UgZ2x5cGggaGF2ZSB0aGUgc2FtZSB3aWR0aCBhcyB0aGUgc3BhY2UgZ2x5
cGguCi0gICAgICAgIGlmIChyb3VuZGVkQWR2YW5jZSA9PSByb3VuZGVkU3BhY2VXaWR0aCAmJiAo
Zm9udERhdGEtPnBpdGNoKCkgPT0gRml4ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3Bh
Y2VHbHlwaCgpKSAmJgotICAgICAgICAgICAgbV9ydW4uYXBwbHlXb3JkUm91bmRpbmcoKSkKLSAg
ICAgICAgICAgIGFkdmFuY2UgPSBmb250RGF0YS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCk7Ci0KICAg
ICAgICAgaWYgKGhhc0V4dHJhU3BhY2luZykgewogICAgICAgICAgICAgLy8gSWYgd2UncmUgYSBn
bHlwaCB3aXRoIGFuIGFkdmFuY2UsIGdvIGFoZWFkIGFuZCBhZGQgaW4gbGV0dGVyLXNwYWNpbmcu
CiAgICAgICAgICAgICAvLyBUaGF0IHdheSB3ZSB3ZWVkIG91dCB6ZXJvIHdpZHRoIGx1cmtlcnMu
ICBUaGlzIGJlaGF2aW9yIG1hdGNoZXMgdGhlIGZhc3QgdGV4dCBjb2RlIHBhdGguCkBAIC0zNTIs
NyArMzE2LDcgQEAgYm9vbCBVbmlzY3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSQogICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQg
cHJldmlvdXNQYWRkaW5nID0gbV9wYWRkaW5nOwogICAgICAgICAgICAgICAgICAgICAgICAgbV9w
YWRkaW5nIC09IG1fcGFkUGVyU3BhY2U7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZHZhbmNl
ICs9IHJvdW5kZihwcmV2aW91c1BhZGRpbmcpIC0gcm91bmRmKG1fcGFkZGluZyk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBhZHZhbmNlICs9IHByZXZpb3VzUGFkZGluZyAtIG1fcGFkZGluZzsK
ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KIApAQCAtMzYyLDI1ICsz
MjYsNiBAQCBib29sIFVuaXNjcmliZUNvbnRyb2xsZXI6OnNoYXBlQW5kUGxhY2VJCiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICAvLyBEZWFsIHdpdGggdGhlIGZsb2F0L2ludGVn
ZXIgaW1wZWRhbmNlIG1pc21hdGNoIGJldHdlZW4gQ0cgYW5kIFdlYkNvcmUuICJXb3JkcyIgKGNo
YXJhY3RlcnMgCi0gICAgICAgIC8vIGZvbGxvd2VkIGJ5IGEgY2hhcmFjdGVyIGRlZmluZWQgYnkg
aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoKSkgYXJlIGFsd2F5cyBhbiBpbnRlZ2VyIHdpZHRoLgot
ICAgICAgICAvLyBXZSBhZGp1c3QgdGhlIHdpZHRoIG9mIHRoZSBsYXN0IGNoYXJhY3RlciBvZiBh
ICJ3b3JkIiB0byBlbnN1cmUgYW4gaW50ZWdlciB3aWR0aC4KLSAgICAgICAgLy8gRm9yY2UgY2hh
cmFjdGVycyB0aGF0IGFyZSB1c2VkIHRvIGRldGVybWluZSB3b3JkIGJvdW5kYXJpZXMgZm9yIHRo
ZSByb3VuZGluZyBoYWNrCi0gICAgICAgIC8vIHRvIGJlIGludGVnZXIgd2lkdGgsIHNvIHRoZSBm
b2xsb3dpbmcgd29yZHMgd2lsbCBzdGFydCBvbiBhbiBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAg
ICBpbnQgcm91bmRpbmdIYWNrSW5kZXggPSByb3VuZGluZ0hhY2tDaGFyYWN0ZXJzW2tdOwotICAg
ICAgICBpZiAobV9ydW4uYXBwbHlXb3JkUm91bmRpbmcoKSAmJiByb3VuZGluZ0hhY2tJbmRleCAh
PSAtMSkKLSAgICAgICAgICAgIGFkdmFuY2UgPSBjZWlsZihhZHZhbmNlKTsKLQotICAgICAgICAv
LyBDaGVjayB0byBzZWUgaWYgdGhlIG5leHQgY2hhcmFjdGVyIGlzIGEgInJvdW5kaW5nIGhhY2sg
Y2hhcmFjdGVyIiwgaWYgc28sIGFkanVzdCB0aGUKLSAgICAgICAgLy8gd2lkdGggc28gdGhhdCB0
aGUgdG90YWwgcnVuIHdpZHRoIHdpbGwgYmUgb24gYW4gaW50ZWdlciBib3VuZGFyeS4KLSAgICAg
ICAgaW50IHBvc2l0aW9uID0gbV9jdXJyZW50Q2hhcmFjdGVyICsgbGVuOwotICAgICAgICBib29s
IGxhc3RHbHlwaCA9IChrID09IGdseXBocy5zaXplKCkgLSAxKSAmJiAobV9ydW4ucnRsKCkgPyBp
ID09IDAgOiBpID09IG1faXRlbXMuc2l6ZSgpIC0gMikgJiYgKHBvc2l0aW9uID49IG1fZW5kKTsK
LSAgICAgICAgaWYgKChtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpICYmIHJvdW5kaW5nSGFja1dv
cmRCb3VuZGFyaWVzW2tdICE9IC0xKSB8fAotICAgICAgICAgICAgKG1fcnVuLmFwcGx5UnVuUm91
bmRpbmcoKSAmJiBsYXN0R2x5cGgpKSB7IAotICAgICAgICAgICAgZmxvYXQgdG90YWxXaWR0aCA9
IG1fcnVuV2lkdGhTb0ZhciArIGFkdmFuY2U7Ci0gICAgICAgICAgICBhZHZhbmNlICs9IGNlaWxm
KHRvdGFsV2lkdGgpIC0gdG90YWxXaWR0aDsKLSAgICAgICAgfQotCiAgICAgICAgIG1fcnVuV2lk
dGhTb0ZhciArPSBhZHZhbmNlOwogCiAgICAgICAgIC8vIEZJWE1FOiBXZSBuZWVkIHRvIHRha2Ug
dGhlIEdPRkZTRVRTIGZvciBjb21iaW5pbmcgZ2x5cGhzIGFuZCBzdG9yZSB0aGVtIGluIHRoZSBn
bHlwaCBidWZmZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9GaWxlQ2hvb3Nl
ckd0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0ZpbGVD
aG9vc2VyR3RrLmNwcAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvRmlsZUNob29zZXJHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MCw4ICs2MCw4IEBA
IFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICAgICAgZ2NoYXIq
IHN5c3RlbUJhc2VuYW1lID0gZ19wYXRoX2dldF9iYXNlbmFtZShzeXN0ZW1GaWxlbmFtZS5kYXRh
KCkpOwogICAgICAgICBzdHJpbmdCeUFkb3B0aW5nRmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHN5
c3RlbUJhc2VuYW1lLCBzdHJpbmcpOwogICAgIH0gZWxzZSBpZiAobV9maWxlbmFtZXMuc2l6ZSgp
ID4gMSkKLSAgICAgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0
aXBsZUZpbGVVcGxvYWRUZXh0KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250LCBmYWxz
ZSk7CisgICAgICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUobXVsdGlw
bGVGaWxlVXBsb2FkVGV4dChtX2ZpbGVuYW1lcy5zaXplKCkpLCB3aWR0aCwgZm9udCk7CiAKLSAg
ICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJpbmcsIHdpZHRoLCBm
b250LCBmYWxzZSk7CisgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUo
c3RyaW5nLCB3aWR0aCwgZm9udCk7CiB9CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvRHJhZ0ltYWdlTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9EcmFnSW1hZ2VNYWMubW0JKHJldmlzaW9uIDc4MzUwKQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTU4LDgg
KzE1OCw3IEBAIHN0YXRpYyBmbG9hdCB3aWR0aFdpdGhGb250KE5TU3RyaW5nICpzdHIKICAgICBp
ZiAoY2FuVXNlRmFzdFJlbmRlcmVyKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCkpIHsKICAgICAgICAg
Rm9udCB3ZWJDb3JlRm9udChGb250UGxhdGZvcm1EYXRhKGZvbnQsIFtmb250IHBvaW50U2l6ZV0p
LCAhW1tOU0dyYXBoaWNzQ29udGV4dCBjdXJyZW50Q29udGV4dF0gaXNEcmF3aW5nVG9TY3JlZW5d
KTsKICAgICAgICAgVGV4dFJ1biBydW4oYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKTsKLSAgICAgICAg
cnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7Ci0gICAgICAgIHJldHVybiB3ZWJDb3JlRm9udC5m
bG9hdFdpZHRoKHJ1bik7CisgICAgICAgIHJldHVybiB3ZWJDb3JlRm9udC53aWR0aChydW4pOwog
ICAgIH0KICAgICAKICAgICByZXR1cm4gW3N0cmluZyBzaXplV2l0aEF0dHJpYnV0ZXM6W05TRGlj
dGlvbmFyeSBkaWN0aW9uYXJ5V2l0aE9iamVjdHNBbmRLZXlzOmZvbnQsIE5TRm9udEF0dHJpYnV0
ZU5hbWUsIG5pbF1dLndpZHRoOwpAQCAtMTk3LDggKzE5Niw3IEBAIHN0YXRpYyB2b2lkIGRyYXdB
dFBvaW50KE5TU3RyaW5nICpzdHJpbmcKICAgICAgICAgICAgIAogICAgICAgICBGb250IHdlYkNv
cmVGb250KEZvbnRQbGF0Zm9ybURhdGEoZm9udCwgW2ZvbnQgcG9pbnRTaXplXSksICFbbnNDb250
ZXh0IGlzRHJhd2luZ1RvU2NyZWVuXSwgQW50aWFsaWFzZWQpOwogICAgICAgICBUZXh0UnVuIHJ1
bihidWZmZXIuZGF0YSgpLCBsZW5ndGgpOwotICAgICAgICBydW4uZGlzYWJsZVJvdW5kaW5nSGFj
a3MoKTsKLSAgICAgICAgCisKICAgICAgICAgQ0dGbG9hdCByZWQ7CiAgICAgICAgIENHRmxvYXQg
Z3JlZW47CiAgICAgICAgIENHRmxvYXQgYmx1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9GaWxlQ2hvb3Nlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvRmlsZUNob29zZXJNYWMubW0JKHJldmlzaW9uIDc4MzUwKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL0ZpbGVDaG9vc2VyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC00Nyw5ICs0Nyw5IEBAIFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChjb24K
ICAgICBlbHNlIGlmIChtX2ZpbGVuYW1lcy5zaXplKCkgPT0gMSkKICAgICAgICAgc3RyVG9UcnVu
Y2F0ZSA9IFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZGlzcGxheU5hbWVBdFBhdGg6
KG1fZmlsZW5hbWVzWzBdKV07CiAgICAgZWxzZQotICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNh
dG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmlsZVVwbG9hZFRleHQobV9maWxlbmFtZXMuc2l6
ZSgpKSwgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRv
cjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxvYWRUZXh0KG1fZmlsZW5hbWVzLnNpemUo
KSksIHdpZHRoLCBmb250KTsKIAotICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRy
dW5jYXRlKHN0clRvVHJ1bmNhdGUsIHdpZHRoLCBmb250LCBmYWxzZSk7CisgICAgcmV0dXJuIFN0
cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyVG9UcnVuY2F0ZSwgd2lkdGgsIGZvbnQp
OwogfQogCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlV2lu
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdl
V2luLmNwcAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4v
RHJhZ0ltYWdlV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjEwLDEzICsyMTAsMTMgQEAgRHJh
Z0ltYWdlUmVmIGNyZWF0ZURyYWdJbWFnZUZvckxpbmsoS1VSTAogICAgIHN0YXRpYyBjb25zdCBD
b2xvciBib3R0b21Db2xvcigyNTUsIDI1NSwgMjU1LCAxMjcpOyAvLyBvcmlnaW5hbCBhbHBoYSA9
IDAuNQogICAgIGlmIChkcmF3VVJMU3RyaW5nKSB7CiAgICAgICAgIGlmIChjbGlwVVJMU3RyaW5n
KQotICAgICAgICAgICAgdXJsU3RyaW5nID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRl
KHVybFN0cmluZywgaW1hZ2VTaXplLndpZHRoKCkgLSAoRHJhZ0xhYmVsQm9yZGVyWCAqIDIuMGYp
LCAqdXJsRm9udCwgZmFsc2UpOworICAgICAgICAgICAgdXJsU3RyaW5nID0gU3RyaW5nVHJ1bmNh
dG9yOjpyaWdodFRydW5jYXRlKHVybFN0cmluZywgaW1hZ2VTaXplLndpZHRoKCkgLSAoRHJhZ0xh
YmVsQm9yZGVyWCAqIDIuMGYpLCAqdXJsRm9udCk7CiAgICAgICAgIEludFBvaW50IHRleHRQb3Mo
RHJhZ0xhYmVsQm9yZGVyWCwgaW1hZ2VTaXplLmhlaWdodCgpIC0gKExhYmVsQm9yZGVyWU9mZnNl
dCArIHVybEZvbnQtPmZvbnRNZXRyaWNzKCkuZGVzY2VudCgpKSk7CiAgICAgICAgIFdlYkNvcmVE
cmF3RG91YmxlZFRleHRBdFBvaW50KGNvbnRleHQsIHVybFN0cmluZywgdGV4dFBvcywgKnVybEZv
bnQsIHRvcENvbG9yLCBib3R0b21Db2xvcik7CiAgICAgfQogICAgIAogICAgIGlmIChjbGlwTGFi
ZWxTdHJpbmcpCi0gICAgICAgIGxhYmVsID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRl
KGxhYmVsLCBpbWFnZVNpemUud2lkdGgoKSAtIChEcmFnTGFiZWxCb3JkZXJYICogMi4wZiksICps
YWJlbEZvbnQsIGZhbHNlKTsKKyAgICAgICAgbGFiZWwgPSBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0
VHJ1bmNhdGUobGFiZWwsIGltYWdlU2l6ZS53aWR0aCgpIC0gKERyYWdMYWJlbEJvcmRlclggKiAy
LjBmKSwgKmxhYmVsRm9udCk7CiAKICAgICBJbnRQb2ludCB0ZXh0UG9zKERyYWdMYWJlbEJvcmRl
clgsIERyYWdMYWJlbEJvcmRlclkgKyBsYWJlbEZvbnQtPnBpeGVsU2l6ZSgpKTsKICAgICBXZWJD
b3JlRHJhd0RvdWJsZWRUZXh0QXRQb2ludChjb250ZXh0LCBsYWJlbCwgdGV4dFBvcywgKmxhYmVs
Rm9udCwgdG9wQ29sb3IsIGJvdHRvbUNvbG9yKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3dpbi9GaWxlQ2hvb3Nlcldpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vd2luL0ZpbGVDaG9vc2VyV2luLmNwcAkocmV2aXNpb24gNzgzNTApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmlsZUNob29zZXJXaW4uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00Niw5ICs0Niw5IEBAIFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChj
b24KICAgICAgICAgTFBXU1RSIGJhc2VuYW1lID0gUGF0aEZpbmRGaWxlTmFtZVcodG1wRmlsZW5h
bWUuY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKSk7CiAgICAgICAgIHN0cmluZyA9IFN0
cmluZyhiYXNlbmFtZSk7CiAgICAgfSBlbHNlCi0gICAgICAgIHJldHVybiBTdHJpbmdUcnVuY2F0
b3I6OnJpZ2h0VHJ1bmNhdGUoU3RyaW5nOjpudW1iZXIobV9maWxlbmFtZXMuc2l6ZSgpKSArICIg
ZmlsZXMiLCB3aWR0aCwgZm9udCwgZmFsc2UpOworICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNh
dG9yOjpyaWdodFRydW5jYXRlKFN0cmluZzo6bnVtYmVyKG1fZmlsZW5hbWVzLnNpemUoKSkgKyAi
IGZpbGVzIiwgd2lkdGgsIGZvbnQpOwogCi0gICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2Vu
dGVyVHJ1bmNhdGUoc3RyaW5nLCB3aWR0aCwgZm9udCwgZmFsc2UpOworICAgIHJldHVybiBTdHJp
bmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0cmluZywgd2lkdGgsIGZvbnQpOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4v
UG9wdXBNZW51V2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vUG9wdXBNZW51V2luLmNwcAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzI2LDcgKzMy
Niw3IEBAIHZvaWQgUG9wdXBNZW51V2luOjpjYWxjdWxhdGVQb3NpdGlvbkFuZFMKICAgICAgICAg
ICAgIGl0ZW1Gb250LnVwZGF0ZShtX3BvcHVwQ2xpZW50LT5mb250U2VsZWN0b3IoKSk7CiAgICAg
ICAgIH0KIAotICAgICAgICBwb3B1cFdpZHRoID0gbWF4KHBvcHVwV2lkdGgsIGl0ZW1Gb250Lndp
ZHRoKFRleHRSdW4odGV4dC5jaGFyYWN0ZXJzKCksIHRleHQubGVuZ3RoKCkpKSk7CisgICAgICAg
IHBvcHVwV2lkdGggPSBtYXgocG9wdXBXaWR0aCwgc3RhdGljX2Nhc3Q8aW50PihjZWlsZihpdGVt
Rm9udC53aWR0aChUZXh0UnVuKHRleHQuY2hhcmFjdGVycygpLCB0ZXh0Lmxlbmd0aCgpKSkpKTsK
ICAgICB9CiAKICAgICBpZiAobmF0dXJhbEhlaWdodCA+IG1heFBvcHVwSGVpZ2h0KQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dlYkNvcmVUZXh0UmVuZGVyZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XZWJDb3JlVGV4dFJlbmRlcmVy
LmNwcAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2Vi
Q29yZVRleHRSZW5kZXJlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMSw3ICsxMDEsNyBAQCB2
b2lkIFdlYkNvcmVEcmF3RG91YmxlZFRleHRBdFBvaW50KEdyYXBoCiAKIGZsb2F0IFdlYkNvcmVU
ZXh0RmxvYXRXaWR0aChjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IEZvbnQmIGZvbnQpCiB7Ci0g
ICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6d2lkdGgodGV4dCwgZm9udCwgZmFsc2UpOworICAg
IHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OndpZHRoKHRleHQsIGZvbnQpOwogfQogCiB2b2lkIFdl
YkNvcmVTZXRTaG91bGRVc2VGb250U21vb3RoaW5nKGJvb2wgc21vb3RoKQpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAkocmV2aXNpb24gNzgzNTApCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTU0NSw2ICs1NDUsMjMgQEAgYm9vbCBIaXRUZXN0UmVzdWx0OjphZGROb2RlVG9SZWN0
QmFzZWRUZQogICAgIHJldHVybiAhcmVjdC5jb250YWlucyhyZWN0Rm9yUG9pbnQoeCwgeSkpOwog
fQogCitib29sIEhpdFRlc3RSZXN1bHQ6OmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQoTm9k
ZSogbm9kZSwgaW50IHgsIGludCB5LCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpCit7CisgICAgLy8g
SWYgaXQgaXMgbm90IGEgcmVjdC1iYXNlZCBoaXQgdGVzdCwgdGhpcyBtZXRob2QgaGFzIHRvIGJl
IG5vLW9wLgorICAgIC8vIFJldHVybiBmYWxzZSwgc28gdGhlIGhpdCB0ZXN0IHN0b3BzLgorICAg
IGlmICghaXNSZWN0QmFzZWRUZXN0KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8v
IElmIG5vZGUgaXMgbnVsbCwgcmV0dXJuIHRydWUgc28gdGhlIGhpdCB0ZXN0IGNhbiBjb250aW51
ZS4KKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgbm9kZSA9IG5v
ZGUtPnNoYWRvd0FuY2VzdG9yTm9kZSgpOworICAgIG1fcmVjdEJhc2VkVGVzdFJlc3VsdC5hZGQo
bm9kZSk7CisKKyAgICByZXR1cm4gIXJlY3QuY29udGFpbnMocmVjdEZvclBvaW50KHgsIHkpKTsK
K30KKwogdm9pZCBIaXRUZXN0UmVzdWx0OjphcHBlbmQoY29uc3QgSGl0VGVzdFJlc3VsdCYgb3Ro
ZXIpCiB7CiAgICAgQVNTRVJUKGlzUmVjdEJhc2VkVGVzdCgpICYmIG90aGVyLmlzUmVjdEJhc2Vk
VGVzdCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAko
cmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3Vs
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw2ICsyMCw3IEBACiAjaWZuZGVmIEhpdFRlc3RSZXN1
bHRfaAogI2RlZmluZSBIaXRUZXN0UmVzdWx0X2gKIAorI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgog
I2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIklu
dFNpemUuaCIKQEAgLTEwOSw3ICsxMTAsOCBAQCBwdWJsaWM6CiAKICAgICAvLyBSZXR1cm5zIHRy
dWUgaWYgaXQgaXMgcmVjdC1iYXNlZCBoaXQgdGVzdCBhbmQgbmVlZHMgdG8gY29udGludWUgdW50
aWwgdGhlIHJlY3QgaXMgZnVsbHkKICAgICAvLyBlbmNsb3NlZCBieSB0aGUgYm91bmRhcmllcyBv
ZiBhIG5vZGUuCi0gICAgYm9vbCBhZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KE5vZGUqLCBp
bnQgeCwgaW50IHksIGNvbnN0IEludFJlY3QmIHJlY3QgPSBJbnRSZWN0KCkpOworICAgIGJvb2wg
YWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChOb2RlKiwgaW50IHgsIGludCB5LCBjb25zdCBJ
bnRSZWN0JiA9IEludFJlY3QoKSk7CisgICAgYm9vbCBhZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVz
dWx0KE5vZGUqLCBpbnQgeCwgaW50IHksIGNvbnN0IEZsb2F0UmVjdCYpOwogICAgIGNvbnN0IExp
c3RIYXNoU2V0PFJlZlB0cjxOb2RlPiA+JiByZWN0QmFzZWRUZXN0UmVzdWx0KCkgY29uc3QgeyBy
ZXR1cm4gbV9yZWN0QmFzZWRUZXN0UmVzdWx0OyB9CiAgICAgdm9pZCBhcHBlbmQoY29uc3QgSGl0
VGVzdFJlc3VsdCYpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNw
cAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA2LDcgKzEwNiw3IEBAIGludCBJbmxpbmVCb3g6Omxv
Z2ljYWxIZWlnaHQoKSBjb25zdAogICAgICAgICByZXN1bHQgKz0gZmxvd09iamVjdC0+Ym9yZGVy
QW5kUGFkZGluZ0xvZ2ljYWxIZWlnaHQoKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCisgCiBp
bnQgSW5saW5lQm94OjpjYXJldE1pbk9mZnNldCgpIGNvbnN0IAogeyAKICAgICByZXR1cm4gbV9y
ZW5kZXJlci0+Y2FyZXRNaW5PZmZzZXQoKTsgCkBAIC0xNTAsMTMgKzE1MCwxNSBAQCB2b2lkIElu
bGluZUJveDo6YXR0YWNoTGluZSgpCiAgICAgICAgIHRvUmVuZGVyQm94KG1fcmVuZGVyZXIpLT5z
ZXRJbmxpbmVCb3hXcmFwcGVyKHRoaXMpOwogfQogCi12b2lkIElubGluZUJveDo6YWRqdXN0UG9z
aXRpb24oaW50IGR4LCBpbnQgZHkpCit2b2lkIElubGluZUJveDo6YWRqdXN0UG9zaXRpb24oZmxv
YXQgZHgsIGZsb2F0IGR5KQogewogICAgIG1feCArPSBkeDsKICAgICBtX3kgKz0gZHk7CiAgICAg
aWYgKG1fcmVuZGVyZXItPmlzUmVwbGFjZWQoKSkgeworICAgICAgICBtX3ggPSBjZWlsZihtX3gp
OworICAgICAgICBtX3kgPSBjZWlsZihtX3kpOwogICAgICAgICBSZW5kZXJCb3gqIGJveCA9IHRv
UmVuZGVyQm94KG1fcmVuZGVyZXIpOwotICAgICAgICBib3gtPm1vdmUoZHgsIGR5KTsKKyAgICAg
ICAgYm94LT5zZXRMb2NhdGlvbihtX3gsIG1feSk7CiAgICAgfQogfQogCkBAIC0yNzgsMjEgKzI4
MCwzNSBAQCBib29sIElubGluZUJveDo6Y2FuQWNjb21tb2RhdGVFbGxpcHNpcyhiCiAgICAgcmV0
dXJuICEoYm94UmVjdC5pbnRlcnNlY3RzKGVsbGlwc2lzUmVjdCkpOwogfQogCi1pbnQgSW5saW5l
Qm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wsIGludCwgaW50LCBpbnQsIGJvb2wmKQorZmxvYXQg
SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGJv
b2wmKQogewogICAgIC8vIFVzZSAtMSB0byBtZWFuICJ3ZSBkaWRuJ3Qgc2V0IHRoZSBwb3NpdGlv
bi4iCiAgICAgcmV0dXJuIC0xOwogfQogCi1JbnRQb2ludCBJbmxpbmVCb3g6OmxvY2F0aW9uSW5j
bHVkaW5nRmxpcHBpbmcoKQorRmxvYXRQb2ludCBJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5n
RmxpcHBpbmcoKQogewogICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxv
Y2tzV3JpdGluZ01vZGUoKSkKLSAgICAgICAgcmV0dXJuIEludFBvaW50KHgoKSwgeSgpKTsKKyAg
ICAgICAgcmV0dXJuIEZsb2F0UG9pbnQoeCgpLCB5KCkpOwogICAgIFJlbmRlckJsb2NrKiBibG9j
ayA9IHJvb3QoKS0+YmxvY2soKTsKICAgICBpZiAoYmxvY2stPnN0eWxlKCktPmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkpCi0gICAgICAgIHJldHVybiBJbnRQb2ludCh4KCksIGJsb2NrLT5oZWln
aHQoKSAtIGhlaWdodCgpIC0geSgpKTsKKyAgICAgICAgcmV0dXJuIEZsb2F0UG9pbnQoeCgpLCBi
bG9jay0+aGVpZ2h0KCkgLSBoZWlnaHQoKSAtIHkoKSk7CiAgICAgZWxzZQotICAgICAgICByZXR1
cm4gSW50UG9pbnQoYmxvY2stPndpZHRoKCkgLSB3aWR0aCgpIC0geCgpLCB5KCkpOworICAgICAg
ICByZXR1cm4gRmxvYXRQb2ludChibG9jay0+d2lkdGgoKSAtIHdpZHRoKCkgLSB4KCksIHkoKSk7
Cit9CisKK3ZvaWQgSW5saW5lQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoRmxvYXRSZWN0JiByZWN0
KQoreworICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGlu
Z01vZGUoKSkKKyAgICAgICAgcmV0dXJuOworICAgIHJvb3QoKS0+YmxvY2soKS0+ZmxpcEZvcldy
aXRpbmdNb2RlKHJlY3QpOworfQorCitGbG9hdFBvaW50IElubGluZUJveDo6ZmxpcEZvcldyaXRp
bmdNb2RlKGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50KQoreworICAgIGlmICghcmVuZGVyZXIoKS0+
c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHBv
aW50OworICAgIHJldHVybiByb290KCktPmJsb2NrKCktPmZsaXBGb3JXcml0aW5nTW9kZShwb2lu
dCk7CiB9CiAKIHZvaWQgSW5saW5lQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoSW50UmVjdCYgcmVj
dCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmgJKHJldmlzaW9uIDc4MzUw
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCSh3b3JraW5nIGNvcHkp
CkBAIC02OCw3ICs2OCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgSW5saW5lQm94
KFJlbmRlck9iamVjdCogb2JqLCBpbnQgeCwgaW50IHksIGludCBsb2dpY2FsV2lkdGgsIGJvb2wg
Zmlyc3RMaW5lLCBib29sIGNvbnN0cnVjdGVkLAorICAgIElubGluZUJveChSZW5kZXJPYmplY3Qq
IG9iaiwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgbG9naWNhbFdpZHRoLCBib29sIGZpcnN0TGlu
ZSwgYm9vbCBjb25zdHJ1Y3RlZCwKICAgICAgICAgICAgICAgYm9vbCBkaXJ0eSwgYm9vbCBleHRy
YWN0ZWQsIGJvb2wgaXNIb3Jpem9udGFsLCBJbmxpbmVCb3gqIG5leHQsIElubGluZUJveCogcHJl
diwgSW5saW5lRmxvd0JveCogcGFyZW50KQogICAgICAgICA6IG1fbmV4dChuZXh0KQogICAgICAg
ICAsIG1fcHJldihwcmV2KQpAQCAtMTEyLDE1ICsxMTIsMTUgQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCBib29sIGlzTGluZUJyZWFrKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZp
cnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihpbnQgZHgsIGludCBkeSk7Ci0gICAgdm9pZCBhZGp1
c3RMaW5lRGlyZWN0aW9uUG9zaXRpb24oaW50IGRlbHRhKQorICAgIHZpcnR1YWwgdm9pZCBhZGp1
c3RQb3NpdGlvbihmbG9hdCBkeCwgZmxvYXQgZHkpOworICAgIHZvaWQgYWRqdXN0TGluZURpcmVj
dGlvblBvc2l0aW9uKGZsb2F0IGRlbHRhKQogICAgIHsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRh
bCgpKQogICAgICAgICAgICAgYWRqdXN0UG9zaXRpb24oZGVsdGEsIDApOwogICAgICAgICBlbHNl
CiAgICAgICAgICAgICBhZGp1c3RQb3NpdGlvbigwLCBkZWx0YSk7CiAgICAgfQotICAgIHZvaWQg
YWRqdXN0QmxvY2tEaXJlY3Rpb25Qb3NpdGlvbihpbnQgZGVsdGEpCisgICAgdm9pZCBhZGp1c3RC
bG9ja0RpcmVjdGlvblBvc2l0aW9uKGZsb2F0IGRlbHRhKQogICAgIHsKICAgICAgICAgaWYgKGlz
SG9yaXpvbnRhbCgpKQogICAgICAgICAgICAgYWRqdXN0UG9zaXRpb24oMCwgZGVsdGEpOwpAQCAt
MjIwLDI4ICsyMjAsMjggQEAgcHVibGljOgogICAgIFJvb3RJbmxpbmVCb3gqIHJvb3QoKTsKIAog
ICAgIC8vIHgoKSBpcyB0aGUgbGVmdCBzaWRlIG9mIHRoZSBib3ggaW4gdGhlIGNvbnRhaW5pbmcg
YmxvY2sncyBjb29yZGluYXRlIHN5c3RlbS4KLSAgICB2b2lkIHNldFgoaW50IHgpIHsgbV94ID0g
eDsgfQotICAgIGludCB4KCkgY29uc3QgeyByZXR1cm4gbV94OyB9CisgICAgdm9pZCBzZXRYKGZs
b2F0IHgpIHsgbV94ID0geDsgfQorICAgIGZsb2F0IHgoKSBjb25zdCB7IHJldHVybiBtX3g7IH0K
IAogICAgIC8vIHkoKSBpcyB0aGUgdG9wIHNpZGUgb2YgdGhlIGJveCBpbiB0aGUgY29udGFpbmlu
ZyBibG9jaydzIGNvb3JkaW5hdGUgc3lzdGVtLgotICAgIHZvaWQgc2V0WShpbnQgeSkgeyBtX3kg
PSB5OyB9Ci0gICAgaW50IHkoKSBjb25zdCB7IHJldHVybiBtX3k7IH0KKyAgICB2b2lkIHNldFko
ZmxvYXQgeSkgeyBtX3kgPSB5OyB9CisgICAgZmxvYXQgeSgpIGNvbnN0IHsgcmV0dXJuIG1feTsg
fQogCi0gICAgaW50IHdpZHRoKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dp
Y2FsV2lkdGgoKSA6IGxvZ2ljYWxIZWlnaHQoKTsgfQotICAgIGludCBoZWlnaHQoKSBjb25zdCB7
IHJldHVybiBpc0hvcml6b250YWwoKSA/IGxvZ2ljYWxIZWlnaHQoKSA6IGxvZ2ljYWxXaWR0aCgp
OyB9Ci0KLSAgICBJbnRSZWN0IGZyYW1lUmVjdCgpIGNvbnN0IHsgcmV0dXJuIEludFJlY3QoeCgp
LCB5KCksIHdpZHRoKCksIGhlaWdodCgpKTsgfQorICAgIGZsb2F0IHdpZHRoKCkgY29uc3QgeyBy
ZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsV2lkdGgoKSA6IGxvZ2ljYWxIZWlnaHQoKTsg
fQorICAgIGZsb2F0IGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbG9n
aWNhbEhlaWdodCgpIDogbG9naWNhbFdpZHRoKCk7IH0KIAogICAgIC8vIFRoZSBsb2dpY2FsTGVm
dCBwb3NpdGlvbiBpcyB0aGUgbGVmdCBlZGdlIG9mIHRoZSBsaW5lIGJveCBpbiBhIGhvcml6b250
YWwgbGluZSBhbmQgdGhlIHRvcCBlZGdlIGluIGEgdmVydGljYWwgbGluZS4KLSAgICBpbnQgbG9n
aWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IG1feCA6IG1feTsgfQot
ICAgIGludCBsb2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9n
aWNhbFdpZHRoKCk7IH0KLSAgICB2b2lkIHNldExvZ2ljYWxMZWZ0KGludCBsZWZ0KQorICAgIGZs
b2F0IGxvZ2ljYWxMZWZ0KCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBtX3ggOiBt
X3k7IH0KKyAgICBmbG9hdCBsb2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVm
dCgpICsgbG9naWNhbFdpZHRoKCk7IH0KKyAgICB2b2lkIHNldExvZ2ljYWxMZWZ0KGZsb2F0IGxl
ZnQpCiAgICAgewogICAgICAgICBpZiAoaXNIb3Jpem9udGFsKCkpCiAgICAgICAgICAgICBtX3gg
PSBsZWZ0OwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBtX3kgPSBsZWZ0OwogICAgIH0KKyAg
ICBpbnQgcGl4ZWxTbmFwcGVkTG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVm
dCgpOyB9CisgICAgaW50IHBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJu
IGNlaWxmKGxvZ2ljYWxSaWdodCgpKTsgfQogCiAgICAgLy8gVGhlIGxvZ2ljYWxUb3BbIHBvc2l0
aW9uIGlzIHRoZSB0b3AgZWRnZSBvZiB0aGUgbGluZSBib3ggaW4gYSBob3Jpem9udGFsIGxpbmUg
YW5kIHRoZSBsZWZ0IGVkZ2UgaW4gYSB2ZXJ0aWNhbCBsaW5lLgogICAgIGludCBsb2dpY2FsVG9w
KCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBtX3kgOiBtX3g7IH0KQEAgLTI1NSw4
ICsyNTUsOCBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgLy8gVGhlIGxvZ2ljYWwgd2lkdGggaXMg
b3VyIGV4dGVudCBpbiB0aGUgbGluZSdzIG92ZXJhbGwgaW5saW5lIGRpcmVjdGlvbiwgaS5lLiwg
d2lkdGggZm9yIGhvcml6b250YWwgdGV4dCBhbmQgaGVpZ2h0IGZvciB2ZXJ0aWNhbCB0ZXh0Lgot
ICAgIHZvaWQgc2V0TG9naWNhbFdpZHRoKGludCB3KSB7IG1fbG9naWNhbFdpZHRoID0gdzsgfQot
ICAgIGludCBsb2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxXaWR0aDsgfQor
ICAgIHZvaWQgc2V0TG9naWNhbFdpZHRoKGZsb2F0IHcpIHsgbV9sb2dpY2FsV2lkdGggPSB3OyB9
CisgICAgZmxvYXQgbG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9sb2dpY2FsV2lkdGg7
IH0KIAogICAgIC8vIFRoZSBsb2dpY2FsIGhlaWdodCBpcyBvdXIgZXh0ZW50IGluIHRoZSBibG9j
ayBmbG93IGRpcmVjdGlvbiwgaS5lLiwgaGVpZ2h0IGZvciBob3Jpem9udGFsIHRleHQgYW5kIHdp
ZHRoIGZvciB2ZXJ0aWNhbCB0ZXh0LgogICAgIGludCBsb2dpY2FsSGVpZ2h0KCkgY29uc3Q7CkBA
IC0yODYsNyArMjg2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGNhbkFjY29tbW9k
YXRlRWxsaXBzaXMoYm9vbCBsdHIsIGludCBibG9ja0VkZ2UsIGludCBlbGxpcHNpc1dpZHRoKTsK
ICAgICAvLyB2aXNpYmxlTGVmdEVkZ2UsIHZpc2libGVSaWdodEVkZ2UgYXJlIGluIHRoZSBwYXJl
bnQncyBjb29yZGluYXRlIHN5c3RlbS4KLSAgICB2aXJ0dWFsIGludCBwbGFjZUVsbGlwc2lzQm94
KGJvb2wgbHRyLCBpbnQgdmlzaWJsZUxlZnRFZGdlLCBpbnQgdmlzaWJsZVJpZ2h0RWRnZSwgaW50
IGVsbGlwc2lzV2lkdGgsIGJvb2wmKTsKKyAgICB2aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNC
b3goYm9vbCBsdHIsIGZsb2F0IHZpc2libGVMZWZ0RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRn
ZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYpOwogCiAgICAgdm9pZCBzZXRIYXNCYWRQYXJl
bnQoKTsKIApAQCAtMzAyLDEwICszMDIsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gMDsK
ICAgICB9CiAKLSAgICBJbnRQb2ludCBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAg
RmxvYXRQb2ludCBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgdm9pZCBmbGlwRm9y
V3JpdGluZ01vZGUoRmxvYXRSZWN0Jik7CisgICAgRmxvYXRQb2ludCBmbGlwRm9yV3JpdGluZ01v
ZGUoY29uc3QgRmxvYXRQb2ludCYpOwogICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEludFJl
Y3QmKTsKICAgICBJbnRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgSW50UG9pbnQmKTsK
LQorICAgIAogcHJpdmF0ZToKICAgICBJbmxpbmVCb3gqIG1fbmV4dDsgLy8gVGhlIG5leHQgZWxl
bWVudCBvbiB0aGUgc2FtZSBsaW5lIGFzIHVzLgogICAgIElubGluZUJveCogbV9wcmV2OyAvLyBU
aGUgcHJldmlvdXMgZWxlbWVudCBvbiB0aGUgc2FtZSBsaW5lIGFzIHVzLgpAQCAtMzE1LDkgKzMx
Nyw5IEBAIHByaXZhdGU6CiBwdWJsaWM6CiAgICAgUmVuZGVyT2JqZWN0KiBtX3JlbmRlcmVyOwog
Ci0gICAgaW50IG1feDsKLSAgICBpbnQgbV95OwotICAgIGludCBtX2xvZ2ljYWxXaWR0aDsKKyAg
ICBmbG9hdCBtX3g7CisgICAgZmxvYXQgbV95OworICAgIGZsb2F0IG1fbG9naWNhbFdpZHRoOwog
ICAgIAogICAgIC8vIFNvbWUgb2YgdGhlc2UgYml0cyBhcmUgYWN0dWFsbHkgZm9yIHN1YmNsYXNz
ZXMgYW5kIG1vdmVkIGhlcmUgdG8gY29tcGFjdCB0aGUgc3RydWN0dXJlcy4KIApJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcAkocmV2aXNpb24gNzgzNTAp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTY3LDYgKzY3LDE4IEBAIGludCBJbmxpbmVGbG93Qm94OjpnZXRGbG93U3BhY2lu
Z0xvZ2ljYWwKICAgICByZXR1cm4gdG90V2lkdGg7CiB9CiAKK0ludFJlY3QgSW5saW5lRmxvd0Jv
eDo6cGl4ZWxTbmFwcGVkRnJhbWVSZWN0KCkgY29uc3QKK3sKKyAgICAvLyBCZWdpbiBieSBzbmFw
cGluZyB0aGUgeCBhbmQgeSBjb29yZGluYXRlcyB0byB0aGUgbmVhcmVzdCBwaXhlbC4KKyAgICBp
bnQgc25hcHBlZFggPSBscm91bmRmKHgoKSk7CisgICAgaW50IHNuYXBwZWRZID0gbHJvdW5kZih5
KCkpOworICAgIAorICAgIGludCBzbmFwcGVkTWF4WCA9IGxyb3VuZGYoeCgpICsgd2lkdGgoKSk7
CisgICAgaW50IHNuYXBwZWRNYXhZID0gbHJvdW5kZih5KCkgKyBoZWlnaHQoKSk7CisgICAgCisg
ICAgcmV0dXJuIEludFJlY3Qoc25hcHBlZFgsIHNuYXBwZWRZLCBzbmFwcGVkTWF4WCAtIHNuYXBw
ZWRYLCBzbmFwcGVkTWF4WSAtIHNuYXBwZWRZKTsKK30KKwogdm9pZCBJbmxpbmVGbG93Qm94Ojph
ZGRUb0xpbmUoSW5saW5lQm94KiBjaGlsZCkgCiB7CiAgICAgQVNTRVJUKCFjaGlsZC0+cGFyZW50
KCkpOwpAQCAtMjU1LDEyICsyNjcsMTIgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpkZXRlcm1pbmVT
cGFjaW5nRm9yRgogICAgIH0KIH0KIAotaW50IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklu
bGluZURpcmVjdGlvbihpbnQgbG9naWNhbExlZnQsIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcsIEds
eXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJiB0ZXh0Qm94RGF0YU1hcCkKK2Zsb2F0IElu
bGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklubGluZURpcmVjdGlvbihmbG9hdCBsb2dpY2FsTGVm
dCwgYm9vbCYgbmVlZHNXb3JkU3BhY2luZywgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNN
YXAmIHRleHRCb3hEYXRhTWFwKQogewogICAgIC8vIFNldCBvdXIgeCBwb3NpdGlvbi4KICAgICBz
ZXRMb2dpY2FsTGVmdChsb2dpY2FsTGVmdCk7CiAgIAotICAgIGludCBzdGFydExvZ2ljYWxMZWZ0
ID0gbG9naWNhbExlZnQ7CisgICAgZmxvYXQgc3RhcnRMb2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0
OwogICAgIGxvZ2ljYWxMZWZ0ICs9IGJvcmRlckxvZ2ljYWxMZWZ0KCkgKyBwYWRkaW5nTG9naWNh
bExlZnQoKTsKICAgICAKICAgICBmb3IgKElubGluZUJveCogY3VyciA9IGZpcnN0Q2hpbGQoKTsg
Y3VycjsgY3VyciA9IGN1cnItPm5leHRPbkxpbmUoKSkgewpAQCAtNzI0LDggKzczNiw4IEBAIHZv
aWQgSW5saW5lRmxvd0JveDo6YWRkQm94U2hhZG93VmlzdWFsT3YKICAgICBpbnQgYm94U2hhZG93
TG9naWNhbFJpZ2h0OwogICAgIHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Z2V0Qm94
U2hhZG93SW5saW5lRGlyZWN0aW9uRXh0ZW50KGJveFNoYWRvd0xvZ2ljYWxMZWZ0LCBib3hTaGFk
b3dMb2dpY2FsUmlnaHQpOwogCi0gICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBt
aW4obG9naWNhbExlZnQoKSArIGJveFNoYWRvd0xvZ2ljYWxMZWZ0LCBsb2dpY2FsVmlzdWFsT3Zl
cmZsb3cueCgpKTsKLSAgICBpbnQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9n
aWNhbFJpZ2h0KCkgKyBib3hTaGFkb3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxv
dy5tYXhYKCkpOworICAgIGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93ID0gbWluKHBpeGVs
U25hcHBlZExvZ2ljYWxMZWZ0KCkgKyBib3hTaGFkb3dMb2dpY2FsTGVmdCwgbG9naWNhbFZpc3Vh
bE92ZXJmbG93LngoKSk7CisgICAgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbWF4
KHBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCgpICsgYm94U2hhZG93TG9naWNhbFJpZ2h0LCBsb2dp
Y2FsVmlzdWFsT3ZlcmZsb3cubWF4WCgpKTsKICAgICAKICAgICBsb2dpY2FsVmlzdWFsT3ZlcmZs
b3cgPSBJbnRSZWN0KGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGxvZ2ljYWxUb3BWaXN1YWxP
dmVyZmxvdywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2ljYWxSaWdo
dFZpc3VhbE92ZXJmbG93IC0gbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdywgbG9naWNhbEJvdHRv
bVZpc3VhbE92ZXJmbG93IC0gbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93KTsKQEAgLTc4MSw4ICs3
OTMsOCBAQCB2b2lkIElubGluZUZsb3dCb3g6OmFkZFRleHRCb3hWaXN1YWxPdmVyCiAKICAgICBp
bnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93ID0gbWluKHRleHRCb3gtPmxvZ2ljYWxUb3AoKSAr
IGNoaWxkT3ZlcmZsb3dMb2dpY2FsVG9wLCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cueSgpKTsKICAg
ICBpbnQgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93ID0gbWF4KHRleHRCb3gtPmxvZ2ljYWxC
b3R0b20oKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsQm90dG9tLCBsb2dpY2FsVmlzdWFsT3ZlcmZs
b3cubWF4WSgpKTsKLSAgICBpbnQgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9IG1pbih0ZXh0
Qm94LT5sb2dpY2FsTGVmdCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxMZWZ0LCBsb2dpY2FsVmlz
dWFsT3ZlcmZsb3cueCgpKTsKLSAgICBpbnQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBt
YXgodGV4dEJveC0+bG9naWNhbFJpZ2h0KCkgKyBjaGlsZE92ZXJmbG93TG9naWNhbFJpZ2h0LCBs
b2dpY2FsVmlzdWFsT3ZlcmZsb3cubWF4WCgpKTsKKyAgICBpbnQgbG9naWNhbExlZnRWaXN1YWxP
dmVyZmxvdyA9IG1pbih0ZXh0Qm94LT5waXhlbFNuYXBwZWRMb2dpY2FsTGVmdCgpICsgY2hpbGRP
dmVyZmxvd0xvZ2ljYWxMZWZ0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cueCgpKTsKKyAgICBpbnQg
bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgodGV4dEJveC0+cGl4ZWxTbmFwcGVkTG9n
aWNhbFJpZ2h0KCkgKyBjaGlsZE92ZXJmbG93TG9naWNhbFJpZ2h0LCBsb2dpY2FsVmlzdWFsT3Zl
cmZsb3cubWF4WCgpKTsKICAgICAKICAgICBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cgPSBJbnRSZWN0
KGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJm
bG93IC0gbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdywgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJm
bG93IC0gbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93KTsKQEAgLTg2NCw3ICs4NzYsNyBAQCB2b2lk
IElubGluZUZsb3dCb3g6OmNvbXB1dGVPdmVyZmxvdyhpbnQgCiAvLyBhbGwgZnVuY3Rpb25zIHRo
YXQgcXVlcnkgb3ZlcmZsb3cuICAgCiB2b2lkIElubGluZUZsb3dCb3g6OnNldExheW91dE92ZXJm
bG93KGNvbnN0IEludFJlY3QmIHJlY3QpCiB7Ci0gICAgSW50UmVjdCBmcmFtZUJveCA9IGZyYW1l
UmVjdCgpOworICAgIEludFJlY3QgZnJhbWVCb3ggPSBwaXhlbFNuYXBwZWRGcmFtZVJlY3QoKTsK
ICAgICBpZiAoZnJhbWVCb3ggPT0gcmVjdCB8fCByZWN0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0
dXJuOwogICAgICAgICAKQEAgLTg3Niw3ICs4ODgsNyBAQCB2b2lkIElubGluZUZsb3dCb3g6OnNl
dExheW91dE92ZXJmbG93KGNvCiAKIHZvaWQgSW5saW5lRmxvd0JveDo6c2V0VmlzdWFsT3ZlcmZs
b3coY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKLSAgICBJbnRSZWN0IGZyYW1lQm94ID0gZnJhbWVS
ZWN0KCk7CisgICAgSW50UmVjdCBmcmFtZUJveCA9IHBpeGVsU25hcHBlZEZyYW1lUmVjdCgpOwog
ICAgIGlmIChmcmFtZUJveCA9PSByZWN0IHx8IHJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1
cm47CiAgICAgICAgIApAQCAtOTEyLDkgKzkyNCw5IEBAIGJvb2wgSW5saW5lRmxvd0JveDo6bm9k
ZUF0UG9pbnQoY29uc3QgSGkKICAgICB9CiAKICAgICAvLyBOb3cgY2hlY2sgb3Vyc2VsdmVzLgot
ICAgIEludFBvaW50IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKKyAg
ICBGbG9hdFBvaW50IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKICAg
ICBib3hPcmlnaW4ubW92ZSh0eCwgdHkpOwotICAgIEludFJlY3QgcmVjdChib3hPcmlnaW4sIElu
dFNpemUod2lkdGgoKSwgaGVpZ2h0KCkpKTsKKyAgICBGbG9hdFJlY3QgcmVjdChib3hPcmlnaW4s
IEludFNpemUod2lkdGgoKSwgaGVpZ2h0KCkpKTsKICAgICBpZiAodmlzaWJsZVRvSGl0VGVzdGlu
ZygpICYmIHJlY3QuaW50ZXJzZWN0cyhyZXN1bHQucmVjdEZvclBvaW50KHgsIHkpKSkgewogICAg
ICAgICByZW5kZXJlcigpLT51cGRhdGVIaXRUZXN0UmVzdWx0KHJlc3VsdCwgZmxpcEZvcldyaXRp
bmdNb2RlKEludFBvaW50KHggLSB0eCwgeSAtIHR5KSkpOyAvLyBEb24ndCBhZGQgaW4gbV94IG9y
IG1feSBoZXJlLCB3ZSB3YW50IGNvb3JkcyBpbiB0aGUgY29udGFpbmluZyBibG9jaydzIHNwYWNl
LgogICAgICAgICBpZiAoIXJlc3VsdC5hZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KHJlbmRl
cmVyKCktPm5vZGUoKSwgeCwgeSwgcmVjdCkpCkBAIC0xMDQzLDEwICsxMDU1LDEyIEBAIHZvaWQg
SW5saW5lRmxvd0JveDo6cGFpbnRCb3hEZWNvcmF0aW9ucygKICAgICBpZiAoIXBhaW50SW5mby5z
aG91bGRQYWludFdpdGhpblJvb3QocmVuZGVyZXIoKSkgfHwgcmVuZGVyZXIoKS0+c3R5bGUoKS0+
dmlzaWJpbGl0eSgpICE9IFZJU0lCTEUgfHwgcGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2VG
b3JlZ3JvdW5kKQogICAgICAgICByZXR1cm47CiAKLSAgICBpbnQgeCA9IG1feDsKLSAgICBpbnQg
eSA9IG1feTsKLSAgICBpbnQgdyA9IHdpZHRoKCk7Ci0gICAgaW50IGggPSBoZWlnaHQoKTsKKyAg
ICAvLyBQaXhlbCBzbmFwIGJhY2tncm91bmQvYm9yZGVyIHBhaW50aW5nLgorICAgIEludFJlY3Qg
ZnJhbWVSZWN0ID0gcGl4ZWxTbmFwcGVkRnJhbWVSZWN0KCk7CisgICAgaW50IHggPSBmcmFtZVJl
Y3QueCgpOworICAgIGludCB5ID0gZnJhbWVSZWN0LnkoKTsKKyAgICBpbnQgdyA9IGZyYW1lUmVj
dC53aWR0aCgpOworICAgIGludCBoID0gZnJhbWVSZWN0LmhlaWdodCgpOwogCiAgICAgLy8gQ29u
c3RyYWluIG91ciBiYWNrZ3JvdW5kL2JvcmRlciBwYWludGluZyB0byB0aGUgbGluZSB0b3AgYW5k
IGJvdHRvbSBpZiBuZWNlc3NhcnkuCiAgICAgYm9vbCBub1F1aXJrc01vZGUgPSByZW5kZXJlcigp
LT5kb2N1bWVudCgpLT5pbk5vUXVpcmtzTW9kZSgpOwpAQCAtMTEyNiwxMCArMTE0MCwxMiBAQCB2
b2lkIElubGluZUZsb3dCb3g6OnBhaW50TWFzayhQYWludEluZm8mCiAgICAgaWYgKCFwYWludElu
Zm8uc2hvdWxkUGFpbnRXaXRoaW5Sb290KHJlbmRlcmVyKCkpIHx8IHJlbmRlcmVyKCktPnN0eWxl
KCktPnZpc2liaWxpdHkoKSAhPSBWSVNJQkxFIHx8IHBhaW50SW5mby5waGFzZSAhPSBQYWludFBo
YXNlTWFzaykKICAgICAgICAgcmV0dXJuOwogCi0gICAgaW50IHggPSBtX3g7Ci0gICAgaW50IHkg
PSBtX3k7Ci0gICAgaW50IHcgPSB3aWR0aCgpOwotICAgIGludCBoID0gaGVpZ2h0KCk7CisgICAg
Ly8gUGl4ZWwgc25hcCBtYXNrIHBhaW50aW5nLgorICAgIEludFJlY3QgZnJhbWVSZWN0ID0gcGl4
ZWxTbmFwcGVkRnJhbWVSZWN0KCk7CisgICAgaW50IHggPSBmcmFtZVJlY3QueCgpOworICAgIGlu
dCB5ID0gZnJhbWVSZWN0LnkoKTsKKyAgICBpbnQgdyA9IGZyYW1lUmVjdC53aWR0aCgpOworICAg
IGludCBoID0gZnJhbWVSZWN0LmhlaWdodCgpOwogCiAgICAgLy8gQ29uc3RyYWluIG91ciBiYWNr
Z3JvdW5kL2JvcmRlciBwYWludGluZyB0byB0aGUgbGluZSB0b3AgYW5kIGJvdHRvbSBpZiBuZWNl
c3NhcnkuCiAgICAgYm9vbCBub1F1aXJrc01vZGUgPSByZW5kZXJlcigpLT5kb2N1bWVudCgpLT5p
bk5vUXVpcmtzTW9kZSgpOwpAQCAtMTIzMCwxNCArMTI0NiwxNCBAQCBib29sIElubGluZUZsb3dC
b3g6OmNhbkFjY29tbW9kYXRlRWxsaXBzCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWludCBJbmxp
bmVGbG93Qm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBpbnQgYmxvY2tMZWZ0RWRnZSwg
aW50IGJsb2NrUmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpCitm
bG9hdCBJbmxpbmVGbG93Qm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBmbG9hdCBibG9j
a0xlZnRFZGdlLCBmbG9hdCBibG9ja1JpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9v
bCYgZm91bmRCb3gpCiB7Ci0gICAgaW50IHJlc3VsdCA9IC0xOworICAgIGZsb2F0IHJlc3VsdCA9
IC0xOwogICAgIC8vIFdlIGl0ZXJhdGUgb3ZlciBhbGwgY2hpbGRyZW4sIHRoZSBmb3VuZEJveCB2
YXJpYWJsZSB0ZWxscyB1cyB3aGVuIHdlJ3ZlIGZvdW5kIHRoZQogICAgIC8vIGJveCBjb250YWlu
aW5nIHRoZSBlbGxpcHNpcy4gIEFsbCBib3hlcyBhZnRlciB0aGF0IG9uZSBpbiB0aGUgZmxvdyBh
cmUgaGlkZGVuLgogICAgIC8vIElmIG91ciBmbG93IGlzIGx0ciB0aGVuIGl0ZXJhdGUgb3ZlciB0
aGUgYm94ZXMgZnJvbSBsZWZ0IHRvIHJpZ2h0LCBvdGhlcndpc2UgaXRlcmF0ZQogICAgIC8vIGZy
b20gcmlnaHQgdG8gbGVmdC4gVmFyeWluZyB0aGUgb3JkZXIgYWxsb3dzIHVzIHRvIGNvcnJlY3Rs
eSBoaWRlIHRoZSBib3hlcyBmb2xsb3dpbmcgdGhlIGVsbGlwc2lzLgotICAgIElubGluZUJveCAq
Ym94ID0gbHRyID8gZmlyc3RDaGlsZCgpIDogbGFzdENoaWxkKCk7CisgICAgSW5saW5lQm94KiBi
b3ggPSBsdHIgPyBmaXJzdENoaWxkKCkgOiBsYXN0Q2hpbGQoKTsKIAogICAgIC8vIE5PVEU6IHRo
ZXNlIHdpbGwgY3Jvc3MgYWZ0ZXIgZm91bmRCb3ggPSB0cnVlLgogICAgIGludCB2aXNpYmxlTGVm
dEVkZ2UgPSBibG9ja0xlZnRFZGdlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZUZsb3dCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5s
aW5lRmxvd0JveC5oCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9JbmxpbmVGbG93Qm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTkzLDYgKzkzLDggQEAgcHVibGlj
OgogCiAgICAgdmlydHVhbCB2b2lkIGNsZWFyVHJ1bmNhdGlvbigpOwogCisgICAgSW50UmVjdCBw
aXhlbFNuYXBwZWRGcmFtZVJlY3QoKSBjb25zdDsKKyAgICAKICAgICB2aXJ0dWFsIHZvaWQgcGFp
bnRCb3hEZWNvcmF0aW9ucyhQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSk7CiAgICAgdmlydHVh
bCB2b2lkIHBhaW50TWFzayhQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSk7CiAgICAgdm9pZCBw
YWludEZpbGxMYXllcnMoY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgQ29sb3ImLCBjb25zdCBGaWxs
TGF5ZXIqLCBpbnQgdHgsIGludCB0eSwgaW50IHcsIGludCBoLCBDb21wb3NpdGVPcGVyYXRvciA9
IENvbXBvc2l0ZVNvdXJjZU92ZXIpOwpAQCAtMTU1LDcgKzE1Nyw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGRldGVybWluZVNwYWNpbmdGb3JGbG93Qm94ZXMoYm9vbCBsYXN0TGluZSwgUmVuZGVyT2Jq
ZWN0KiBlbmRPYmplY3QpOwogICAgIGludCBnZXRGbG93U3BhY2luZ0xvZ2ljYWxXaWR0aCgpOwog
ICAgIGJvb2wgb25FbmRDaGFpbihSZW5kZXJPYmplY3QqIGVuZE9iamVjdCk7Ci0gICAgaW50IHBs
YWNlQm94ZXNJbklubGluZURpcmVjdGlvbihpbnQgbG9naWNhbExlZnQsIGJvb2wmIG5lZWRzV29y
ZFNwYWNpbmcsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJik7CisgICAgZmxvYXQg
cGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9uKGZsb2F0IGxvZ2ljYWxMZWZ0LCBib29sJiBuZWVk
c1dvcmRTcGFjaW5nLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYpOwogICAgIHZv
aWQgY29tcHV0ZUxvZ2ljYWxCb3hIZWlnaHRzKGludCYgbWF4UG9zaXRpb25Ub3AsIGludCYgbWF4
UG9zaXRpb25Cb3R0b20sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBt
YXhBc2NlbnQsIGludCYgbWF4RGVzY2VudCwgYm9vbCYgc2V0TWF4QXNjZW50LCBib29sJiBzZXRN
YXhEZXNjZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgc3RyaWN0
TW9kZSwgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmLCBGb250QmFzZWxpbmUsIFZl
cnRpY2FsUG9zaXRpb25DYWNoZSYpOwpAQCAtMTc2LDcgKzE3OCw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIFJlbmRlck9iamVjdDo6U2VsZWN0aW9uU3RhdGUgc2VsZWN0aW9uU3RhdGUoKTsKIAog
ICAgIHZpcnR1YWwgYm9vbCBjYW5BY2NvbW1vZGF0ZUVsbGlwc2lzKGJvb2wgbHRyLCBpbnQgYmxv
Y2tFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCk7Ci0gICAgdmlydHVhbCBpbnQgcGxhY2VFbGxpcHNp
c0JveChib29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50
IGVsbGlwc2lzV2lkdGgsIGJvb2wmKTsKKyAgICB2aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNC
b3goYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBm
bG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJik7CiAKICAgICBib29sIGhhc1RleHRDaGlsZHJlbigp
IGNvbnN0IHsgcmV0dXJuIG1faGFzVGV4dENoaWxkcmVuOyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAJKHJldmlzaW9uIDc4MzUwKQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yMDEsNyArMjAxLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjphdHRhY2hMaW5lKCkKICAgICB0
b1JlbmRlclRleHQocmVuZGVyZXIoKSktPmF0dGFjaFRleHRCb3godGhpcyk7CiB9CiAKLWludCBJ
bmxpbmVUZXh0Qm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wgZmxvd0lzTFRSLCBpbnQgdmlzaWJs
ZUxlZnRFZGdlLCBpbnQgdmlzaWJsZVJpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wm
IGZvdW5kQm94KQorZmxvYXQgSW5saW5lVGV4dEJveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGZs
b3dJc0xUUiwgZmxvYXQgdmlzaWJsZUxlZnRFZGdlLCBmbG9hdCB2aXNpYmxlUmlnaHRFZGdlLCBm
bG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCkKIHsKICAgICBpZiAoZm91bmRCb3gp
IHsKICAgICAgICAgbV90cnVuY2F0aW9uID0gY0Z1bGxUcnVuY2F0aW9uOwpAQCAtMjA5LDcgKzIw
OSw3IEBAIGludCBJbmxpbmVUZXh0Qm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wKICAgICB9CiAK
ICAgICAvLyBGb3IgTFRSIHRoaXMgaXMgdGhlIGxlZnQgZWRnZSBvZiB0aGUgYm94LCBmb3IgUlRM
LCB0aGUgcmlnaHQgZWRnZSBpbiBwYXJlbnQgY29vcmRpbmF0ZXMuCi0gICAgaW50IGVsbGlwc2lz
WCA9IGZsb3dJc0xUUiA/IHZpc2libGVSaWdodEVkZ2UgLSBlbGxpcHNpc1dpZHRoIDogdmlzaWJs
ZUxlZnRFZGdlICsgZWxsaXBzaXNXaWR0aDsKKyAgICBmbG9hdCBlbGxpcHNpc1ggPSBmbG93SXNM
VFIgPyB2aXNpYmxlUmlnaHRFZGdlIC0gZWxsaXBzaXNXaWR0aCA6IHZpc2libGVMZWZ0RWRnZSAr
IGVsbGlwc2lzV2lkdGg7CiAgICAgCiAgICAgLy8gQ3JpdGVyaWEgZm9yIGZ1bGwgdHJ1bmNhdGlv
bjoKICAgICAvLyBMVFI6IHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlIGVsbGlwc2lzIGlzIHRvIHRoZSBs
ZWZ0IG9mIG91ciB0ZXh0IHJ1bi4KQEAgLTI1MSw3ICsyNTEsNyBAQCBpbnQgSW5saW5lVGV4dEJv
eDo6cGxhY2VFbGxpcHNpc0JveChib29sCiAKICAgICAgICAgLy8gSWYgd2UgZ290IGhlcmUgdGhh
dCBtZWFucyB0aGF0IHdlIHdlcmUgb25seSBwYXJ0aWFsbHkgdHJ1bmNhdGVkIGFuZCB3ZSBuZWVk
IHRvIHJldHVybiB0aGUgcGl4ZWwgb2Zmc2V0IGF0IHdoaWNoCiAgICAgICAgIC8vIHRvIHBsYWNl
IHRoZSBlbGxpcHNpcy4KLSAgICAgICAgaW50IHdpZHRoT2ZWaXNpYmxlVGV4dCA9IHRvUmVuZGVy
VGV4dChyZW5kZXJlcigpKS0+d2lkdGgobV9zdGFydCwgb2Zmc2V0LCB0ZXh0UG9zKCksIG1fZmly
c3RMaW5lKTsKKyAgICAgICAgZmxvYXQgd2lkdGhPZlZpc2libGVUZXh0ID0gdG9SZW5kZXJUZXh0
KHJlbmRlcmVyKCkpLT53aWR0aChtX3N0YXJ0LCBvZmZzZXQsIHRleHRQb3MoKSwgbV9maXJzdExp
bmUpOwogCiAgICAgICAgIC8vIFRoZSBlbGxpcHNpcyBuZWVkcyB0byBiZSBwbGFjZWQganVzdCBh
ZnRlciB0aGUgbGFzdCB2aXNpYmxlIGNoYXJhY3Rlci4KICAgICAgICAgLy8gV2hlcmUgImFmdGVy
IiBpcyBkZWZpbmVkIGJ5IHRoZSBmbG93IGRpcmVjdGlvbmFsaXR5LCBub3QgdGhlIGlubGluZQpA
QCAtMzE5LDkgKzMxOSw5IEBAIGJvb2wgSW5saW5lVGV4dEJveDo6bm9kZUF0UG9pbnQoY29uc3Qg
SGkKICAgICBpZiAoaXNMaW5lQnJlYWsoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAg
SW50UG9pbnQgYm94T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOworICAgIEZs
b2F0UG9pbnQgYm94T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOwogICAgIGJv
eE9yaWdpbi5tb3ZlKHR4LCB0eSk7Ci0gICAgSW50UmVjdCByZWN0KGJveE9yaWdpbiwgSW50U2l6
ZSh3aWR0aCgpLCBoZWlnaHQoKSkpOworICAgIEZsb2F0UmVjdCByZWN0KGJveE9yaWdpbiwgSW50
U2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSkpOwogICAgIGlmIChtX3RydW5jYXRpb24gIT0gY0Z1bGxU
cnVuY2F0aW9uICYmIHZpc2libGVUb0hpdFRlc3RpbmcoKSAmJiByZWN0LmludGVyc2VjdHMocmVz
dWx0LnJlY3RGb3JQb2ludCh4LCB5KSkpIHsKICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlSGl0
VGVzdFJlc3VsdChyZXN1bHQsIGZsaXBGb3JXcml0aW5nTW9kZShJbnRQb2ludCh4IC0gdHgsIHkg
LSB0eSkpKTsKICAgICAgICAgaWYgKCFyZXN1bHQuYWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3Vs
dChyZW5kZXJlcigpLT5ub2RlKCksIHgsIHksIHJlY3QpKQpAQCAtMzU3LDggKzM1Nyw4IEBAIEZs
b2F0U2l6ZSBJbmxpbmVUZXh0Qm94OjphcHBseVNoYWRvd1RvR3IKICAgICByZXR1cm4gZXh0cmFP
ZmZzZXQ7CiB9CiAKLXN0YXRpYyB2b2lkIHBhaW50VGV4dFdpdGhTaGFkb3dzKEdyYXBoaWNzQ29u
dGV4dCogY29udGV4dCwgY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgdGV4dFJ1biwg
Y29uc3QgQXRvbWljU3RyaW5nJiBlbXBoYXNpc01hcmssIGludCBlbXBoYXNpc01hcmtPZmZzZXQs
IGludCBzdGFydE9mZnNldCwgaW50IGVuZE9mZnNldCwgaW50IHRydW5jYXRpb25Qb2ludCwgY29u
c3QgSW50UG9pbnQmIHRleHRPcmlnaW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBJbnRSZWN0JiBib3hSZWN0LCBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3csIGJvb2wg
c3Ryb2tlZCwgYm9vbCBob3Jpem9udGFsKQorc3RhdGljIHZvaWQgcGFpbnRUZXh0V2l0aFNoYWRv
d3MoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0
UnVuJiB0ZXh0UnVuLCBjb25zdCBBdG9taWNTdHJpbmcmIGVtcGhhc2lzTWFyaywgaW50IGVtcGhh
c2lzTWFya09mZnNldCwgaW50IHN0YXJ0T2Zmc2V0LCBpbnQgZW5kT2Zmc2V0LCBpbnQgdHJ1bmNh
dGlvblBvaW50LCBjb25zdCBGbG9hdFBvaW50JiB0ZXh0T3JpZ2luLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgRmxvYXRSZWN0JiBib3hSZWN0LCBjb25zdCBTaGFkb3dE
YXRhKiBzaGFkb3csIGJvb2wgc3Ryb2tlZCwgYm9vbCBob3Jpem9udGFsKQogewogICAgIENvbG9y
IGZpbGxDb2xvciA9IGNvbnRleHQtPmZpbGxDb2xvcigpOwogICAgIENvbG9yU3BhY2UgZmlsbENv
bG9yU3BhY2UgPSBjb250ZXh0LT5maWxsQ29sb3JTcGFjZSgpOwpAQCAtNDgyLDEwICs0ODIsMTAg
QEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludChQYWludEluZm8mIHBhaQogICAgIAogICAgIHR5
IC09IHN0eWxlVG9Vc2UtPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyAwIDogbG9naWNhbEhl
aWdodCgpOwogCi0gICAgSW50UG9pbnQgYm94T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlw
cGluZygpOworICAgIEZsb2F0UG9pbnQgYm94T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlw
cGluZygpOwogICAgIGJveE9yaWdpbi5tb3ZlKHR4LCB0eSk7ICAgIAotICAgIEludFJlY3QgYm94
UmVjdChib3hPcmlnaW4sIEludFNpemUobG9naWNhbFdpZHRoKCksIGxvZ2ljYWxIZWlnaHQoKSkp
OwotICAgIEludFBvaW50IHRleHRPcmlnaW4gPSBJbnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hP
cmlnaW4ueSgpICsgc3R5bGVUb1VzZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CisgICAgRmxv
YXRSZWN0IGJveFJlY3QoYm94T3JpZ2luLCBJbnRTaXplKGxvZ2ljYWxXaWR0aCgpLCBsb2dpY2Fs
SGVpZ2h0KCkpKTsKKyAgICBGbG9hdFBvaW50IHRleHRPcmlnaW4gPSBGbG9hdFBvaW50KGJveE9y
aWdpbi54KCksIGJveE9yaWdpbi55KCkgKyBzdHlsZVRvVXNlLT5mb250TWV0cmljcygpLmFzY2Vu
dCgpKTsKIAogICAgIFJlbmRlckNvbWJpbmVUZXh0KiBjb21iaW5lZFRleHQgPSBzdHlsZVRvVXNl
LT5oYXNUZXh0Q29tYmluZSgpID8gdG9SZW5kZXJDb21iaW5lVGV4dCh0ZXh0UmVuZGVyZXIoKSkg
OiAwOwogICAgIGJvb2wgc2hvdWxkUm90YXRlID0gIWlzSG9yaXpvbnRhbCgpICYmICghY29tYmlu
ZWRUZXh0IHx8ICFjb21iaW5lZFRleHQtPmlzQ29tYmluZWQoKSk7CkBAIC03MzYsNyArNzM2LDcg
QEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpzZWxlY3Rpb25TdGFydEVuZChpbgogICAgIGVQb3MgPSBt
aW4oZW5kUG9zIC0gbV9zdGFydCwgKGludCltX2xlbik7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJv
eDo6cGFpbnRTZWxlY3Rpb24oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRQb2lu
dCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQpCit2b2lk
IElubGluZVRleHRCb3g6OnBhaW50U2VsZWN0aW9uKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwg
Y29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZv
bnQmIGZvbnQpCiB7CiAgICAgLy8gU2VlIGlmIHdlIGhhdmUgYSBzZWxlY3Rpb24gdG8gcGFpbnQg
YXQgYWxsLgogICAgIGludCBzUG9zLCBlUG9zOwpAQCAtNzcwLDE1ICs3NzAsMTUgQEAgdm9pZCBJ
bmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlvbihHcmFwaAogCiAgICAgaW50IGRlbHRhWSA9IHJl
bmRlcmVyKCktPnN0eWxlKCktPmlzRmxpcHBlZExpbmVzV3JpdGluZ01vZGUoKSA/IHNlbGVjdGlv
bkJvdHRvbSgpIC0gbG9naWNhbEJvdHRvbSgpIDogbG9naWNhbFRvcCgpIC0gc2VsZWN0aW9uVG9w
KCk7CiAgICAgaW50IHNlbEhlaWdodCA9IHNlbGVjdGlvbkhlaWdodCgpOwotICAgIEludFBvaW50
IGxvY2FsT3JpZ2luKGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVkpOwotICAg
IGNvbnRleHQtPmNsaXAoSW50UmVjdChsb2NhbE9yaWdpbiwgSW50U2l6ZShtX2xvZ2ljYWxXaWR0
aCwgc2VsSGVpZ2h0KSkpOworICAgIEZsb2F0UG9pbnQgbG9jYWxPcmlnaW4oYm94T3JpZ2luLngo
KSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSk7CisgICAgY29udGV4dC0+Y2xpcChGbG9hdFJlY3Qo
bG9jYWxPcmlnaW4sIEZsb2F0U2l6ZShtX2xvZ2ljYWxXaWR0aCwgc2VsSGVpZ2h0KSkpOwogICAg
IGNvbnRleHQtPmRyYXdIaWdobGlnaHRGb3JUZXh0KGZvbnQsIFRleHRSdW4oY2hhcmFjdGVycywg
bGVuZ3RoLCB0ZXh0UmVuZGVyZXIoKS0+YWxsb3dUYWJzKCksIHRleHRQb3MoKSwgbV9leHBhbnNp
b24sIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IoKSwgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgbV9kaXJPdmVycmlkZSB8fCBz
dHlsZS0+dmlzdWFsbHlPcmRlcmVkKCkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxvY2FsT3JpZ2luLCBzZWxIZWlnaHQsIGMsIHN0eWxlLT5jb2xvclNwYWNlKCksIHNQb3Ms
IGVQb3MpOwogICAgIGNvbnRleHQtPnJlc3RvcmUoKTsKIH0KIAotdm9pZCBJbmxpbmVUZXh0Qm94
OjpwYWludENvbXBvc2l0aW9uQmFja2dyb3VuZChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYg
Zm9udCwgaW50IHN0YXJ0UG9zLCBpbnQgZW5kUG9zKQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWlu
dENvbXBvc2l0aW9uQmFja2dyb3VuZChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZs
b2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250
LCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpCiB7CiAgICAgaW50IG9mZnNldCA9IG1fc3RhcnQ7
CiAgICAgaW50IHNQb3MgPSBtYXgoc3RhcnRQb3MgLSBvZmZzZXQsIDApOwpAQCAtNzk1LDcgKzc5
NSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvbkJhY2sKIAogICAgIGlu
dCBkZWx0YVkgPSByZW5kZXJlcigpLT5zdHlsZSgpLT5pc0ZsaXBwZWRMaW5lc1dyaXRpbmdNb2Rl
KCkgPyBzZWxlY3Rpb25Cb3R0b20oKSAtIGxvZ2ljYWxCb3R0b20oKSA6IGxvZ2ljYWxUb3AoKSAt
IHNlbGVjdGlvblRvcCgpOwogICAgIGludCBzZWxIZWlnaHQgPSBzZWxlY3Rpb25IZWlnaHQoKTsK
LSAgICBJbnRQb2ludCBsb2NhbE9yaWdpbihib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0g
ZGVsdGFZKTsKKyAgICBGbG9hdFBvaW50IGxvY2FsT3JpZ2luKGJveE9yaWdpbi54KCksIGJveE9y
aWdpbi55KCkgLSBkZWx0YVkpOwogICAgIGNvbnRleHQtPmRyYXdIaWdobGlnaHRGb3JUZXh0KGZv
bnQsIFRleHRSdW4odGV4dFJlbmRlcmVyKCktPnRleHQoKS0+Y2hhcmFjdGVycygpICsgbV9zdGFy
dCwgbV9sZW4sIHRleHRSZW5kZXJlcigpLT5hbGxvd1RhYnMoKSwgdGV4dFBvcygpLCBtX2V4cGFu
c2lvbiwgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvcigpLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIG1fZGlyT3ZlcnJpZGUgfHwg
c3R5bGUtPnZpc3VhbGx5T3JkZXJlZCgpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsb2NhbE9yaWdpbiwgc2VsSGVpZ2h0LCBjLCBzdHlsZS0+Y29sb3JTcGFjZSgpLCBzUG9z
LCBlUG9zKTsKQEAgLTgyMiwxNCArODIyLDE0IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRD
dXN0b21IaWdobGlnaHQKIAogI2VuZGlmCiAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNv
cmF0aW9uKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdp
biwgaW50IGRlY28sIGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdykKK3ZvaWQgSW5saW5lVGV4dEJv
eDo6cGFpbnREZWNvcmF0aW9uKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRQ
b2ludCYgYm94T3JpZ2luLCBpbnQgZGVjbywgY29uc3QgU2hhZG93RGF0YSogc2hhZG93KQogewog
ICAgIGlmIChtX3RydW5jYXRpb24gPT0gY0Z1bGxUcnVuY2F0aW9uKQogICAgICAgICByZXR1cm47
CiAKLSAgICBJbnRQb2ludCBsb2NhbE9yaWdpbiA9IGJveE9yaWdpbjsKKyAgICBGbG9hdFBvaW50
IGxvY2FsT3JpZ2luID0gYm94T3JpZ2luOwogCi0gICAgaW50IHdpZHRoID0gbV9sb2dpY2FsV2lk
dGg7CisgICAgZmxvYXQgd2lkdGggPSBtX2xvZ2ljYWxXaWR0aDsKICAgICBpZiAobV90cnVuY2F0
aW9uICE9IGNOb1RydW5jYXRpb24pIHsKICAgICAgICAgd2lkdGggPSB0b1JlbmRlclRleHQocmVu
ZGVyZXIoKSktPndpZHRoKG1fc3RhcnQsIG1fdHJ1bmNhdGlvbiwgdGV4dFBvcygpLCBtX2ZpcnN0
TGluZSk7CiAgICAgICAgIGlmICghaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQpAQCAtODUzLDkg
Kzg1Myw5IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKEdyYXAKICAgICBp
bnQgZXh0cmFPZmZzZXQgPSAwOwogICAgIGlmICghbGluZXNBcmVPcGFxdWUgJiYgc2hhZG93ICYm
IHNoYWRvdy0+bmV4dCgpKSB7CiAgICAgICAgIGNvbnRleHQtPnNhdmUoKTsKLSAgICAgICAgSW50
UmVjdCBjbGlwUmVjdChsb2NhbE9yaWdpbiwgSW50U2l6ZSh3aWR0aCwgYmFzZWxpbmUgKyAyKSk7
CisgICAgICAgIEZsb2F0UmVjdCBjbGlwUmVjdChsb2NhbE9yaWdpbiwgRmxvYXRTaXplKHdpZHRo
LCBiYXNlbGluZSArIDIpKTsKICAgICAgICAgZm9yIChjb25zdCBTaGFkb3dEYXRhKiBzID0gc2hh
ZG93OyBzOyBzID0gcy0+bmV4dCgpKSB7Ci0gICAgICAgICAgICBJbnRSZWN0IHNoYWRvd1JlY3Qo
bG9jYWxPcmlnaW4sIEludFNpemUod2lkdGgsIGJhc2VsaW5lICsgMikpOworICAgICAgICAgICAg
RmxvYXRSZWN0IHNoYWRvd1JlY3QobG9jYWxPcmlnaW4sIEZsb2F0U2l6ZSh3aWR0aCwgYmFzZWxp
bmUgKyAyKSk7CiAgICAgICAgICAgICBzaGFkb3dSZWN0LmluZmxhdGUocy0+Ymx1cigpKTsKICAg
ICAgICAgICAgIGludCBzaGFkb3dYID0gaXNIb3Jpem9udGFsKCkgPyBzLT54KCkgOiBzLT55KCk7
CiAgICAgICAgICAgICBpbnQgc2hhZG93WSA9IGlzSG9yaXpvbnRhbCgpID8gcy0+eSgpIDogLXMt
PngoKTsKQEAgLTg4Miw3ICs4ODIsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVjb3Jh
dGlvbihHcmFwCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpbnQgc2hhZG93WCA9IGlzSG9y
aXpvbnRhbCgpID8gc2hhZG93LT54KCkgOiBzaGFkb3ctPnkoKTsKICAgICAgICAgICAgIGludCBz
aGFkb3dZID0gaXNIb3Jpem9udGFsKCkgPyBzaGFkb3ctPnkoKSA6IC1zaGFkb3ctPngoKTsKLSAg
ICAgICAgICAgIGNvbnRleHQtPnNldFNoYWRvdyhJbnRTaXplKHNoYWRvd1gsIHNoYWRvd1kgLSBl
eHRyYU9mZnNldCksIHNoYWRvdy0+Ymx1cigpLCBzaGFkb3ctPmNvbG9yKCksIGNvbG9yU3BhY2Up
OworICAgICAgICAgICAgY29udGV4dC0+c2V0U2hhZG93KEZsb2F0U2l6ZShzaGFkb3dYLCBzaGFk
b3dZIC0gZXh0cmFPZmZzZXQpLCBzaGFkb3ctPmJsdXIoKSwgc2hhZG93LT5jb2xvcigpLCBjb2xv
clNwYWNlKTsKICAgICAgICAgICAgIHNldFNoYWRvdyA9IHRydWU7CiAgICAgICAgICAgICBzaGFk
b3cgPSBzaGFkb3ctPm5leHQoKTsKICAgICAgICAgfQpAQCAtODkxLDcgKzg5MSw3IEBAIHZvaWQg
SW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKEdyYXAKICAgICAgICAgICAgIGNvbnRleHQt
PnNldFN0cm9rZUNvbG9yKHVuZGVybGluZSwgY29sb3JTcGFjZSk7CiAgICAgICAgICAgICBjb250
ZXh0LT5zZXRTdHJva2VTdHlsZShTb2xpZFN0cm9rZSk7CiAgICAgICAgICAgICAvLyBMZWF2ZSBv
bmUgcGl4ZWwgb2Ygd2hpdGUgYmV0d2VlbiB0aGUgYmFzZWxpbmUgYW5kIHRoZSB1bmRlcmxpbmUu
Ci0gICAgICAgICAgICBjb250ZXh0LT5kcmF3TGluZUZvclRleHQoSW50UG9pbnQobG9jYWxPcmln
aW4ueCgpLCBsb2NhbE9yaWdpbi55KCkgKyBiYXNlbGluZSArIDEpLCB3aWR0aCwgaXNQcmludGlu
Zyk7CisgICAgICAgICAgICBjb250ZXh0LT5kcmF3TGluZUZvclRleHQoRmxvYXRQb2ludChsb2Nh
bE9yaWdpbi54KCksIGxvY2FsT3JpZ2luLnkoKSArIGJhc2VsaW5lICsgMSksIHdpZHRoLCBpc1By
aW50aW5nKTsKICAgICAgICAgfQogICAgICAgICBpZiAoZGVjbyAmIE9WRVJMSU5FKSB7CiAgICAg
ICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VDb2xvcihvdmVybGluZSwgY29sb3JTcGFjZSk7CkBA
IC05MDEsNyArOTAxLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oR3Jh
cAogICAgICAgICBpZiAoZGVjbyAmIExJTkVfVEhST1VHSCkgewogICAgICAgICAgICAgY29udGV4
dC0+c2V0U3Ryb2tlQ29sb3IobGluZXRocm91Z2gsIGNvbG9yU3BhY2UpOwogICAgICAgICAgICAg
Y29udGV4dC0+c2V0U3Ryb2tlU3R5bGUoU29saWRTdHJva2UpOwotICAgICAgICAgICAgY29udGV4
dC0+ZHJhd0xpbmVGb3JUZXh0KEludFBvaW50KGxvY2FsT3JpZ2luLngoKSwgbG9jYWxPcmlnaW4u
eSgpICsgMiAqIGJhc2VsaW5lIC8gMyksIHdpZHRoLCBpc1ByaW50aW5nKTsKKyAgICAgICAgICAg
IGNvbnRleHQtPmRyYXdMaW5lRm9yVGV4dChGbG9hdFBvaW50KGxvY2FsT3JpZ2luLngoKSwgbG9j
YWxPcmlnaW4ueSgpICsgMiAqIGJhc2VsaW5lIC8gMyksIHdpZHRoLCBpc1ByaW50aW5nKTsKICAg
ICAgICAgfQogICAgIH0gd2hpbGUgKHNoYWRvdyk7CiAKQEAgLTkyNiw3ICs5MjYsNyBAQCBzdGF0
aWMgR3JhcGhpY3NDb250ZXh0OjpUZXh0Q2hlY2tpbmdMaW5lCiAgICAgfQogfQogCi12b2lkIElu
bGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIoR3JhcGhpY3NDb250ZXh0
KiBwdCwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImIG1h
cmtlciwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250LCBib29sIGdyYW1tYXIp
Cit2b2lkIElubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIoR3JhcGhp
Y3NDb250ZXh0KiBwdCwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVu
dE1hcmtlciYgbWFya2VyLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQsIGJv
b2wgZ3JhbW1hcikKIHsKICAgICAvLyBOZXZlciBwcmludCBzcGVsbGluZy9ncmFtbWFyIG1hcmtl
cnMgKDUzMjc4ODcpCiAgICAgaWYgKHRleHRSZW5kZXJlcigpLT5kb2N1bWVudCgpLT5wcmludGlu
ZygpKQpAQCAtOTM1LDggKzkzNSw4IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGlu
Z09yR3JhbW0KICAgICBpZiAobV90cnVuY2F0aW9uID09IGNGdWxsVHJ1bmNhdGlvbikKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgaW50IHN0YXJ0ID0gMDsgICAgICAgICAgICAgICAgICAvLyBzdGFy
dCBvZiBsaW5lIHRvIGRyYXcsIHJlbGF0aXZlIHRvIHR4Ci0gICAgaW50IHdpZHRoID0gbV9sb2dp
Y2FsV2lkdGg7ICAgICAgICAgICAgLy8gaG93IG11Y2ggbGluZSB0byBkcmF3CisgICAgZmxvYXQg
c3RhcnQgPSAwOyAvLyBzdGFydCBvZiBsaW5lIHRvIGRyYXcsIHJlbGF0aXZlIHRvIHR4CisgICAg
ZmxvYXQgd2lkdGggPSBtX2xvZ2ljYWxXaWR0aDsgLy8gaG93IG11Y2ggbGluZSB0byBkcmF3CiAK
ICAgICAvLyBEZXRlcm1pbmUgd2hldGhlciB3ZSBuZWVkIHRvIG1lYXN1cmUgdGV4dAogICAgIGJv
b2wgbWFya2VyU3BhbnNXaG9sZUJveCA9IHRydWU7CkBAIC05NTcsOSArOTU3LDEwIEBAIHZvaWQg
SW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGluZ09yR3JhbW0KICAgICAgICAgLy8gQ2FsY3VsYXRl
IHN0YXJ0ICYgd2lkdGgKICAgICAgICAgaW50IGRlbHRhWSA9IHJlbmRlcmVyKCktPnN0eWxlKCkt
PmlzRmxpcHBlZExpbmVzV3JpdGluZ01vZGUoKSA/IHNlbGVjdGlvbkJvdHRvbSgpIC0gbG9naWNh
bEJvdHRvbSgpIDogbG9naWNhbFRvcCgpIC0gc2VsZWN0aW9uVG9wKCk7CiAgICAgICAgIGludCBz
ZWxIZWlnaHQgPSBzZWxlY3Rpb25IZWlnaHQoKTsKLSAgICAgICAgSW50UG9pbnQgc3RhcnRQb2lu
dChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKKyAgICAgICAgRmxvYXRQ
b2ludCBzdGFydFBvaW50KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVkpOwog
ICAgICAgICBUZXh0UnVuIHJ1bih0ZXh0UmVuZGVyZXIoKS0+dGV4dCgpLT5jaGFyYWN0ZXJzKCkg
KyBtX3N0YXJ0LCBtX2xlbiwgdGV4dFJlbmRlcmVyKCktPmFsbG93VGFicygpLCB0ZXh0UG9zKCks
IG1fZXhwYW5zaW9uLCB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yKCksICFpc0xlZnRUb1JpZ2h0
RGlyZWN0aW9uKCksIG1fZGlyT3ZlcnJpZGUgfHwgc3R5bGUtPnZpc3VhbGx5T3JkZXJlZCgpKTsK
LSAgICAgICAgIAorICAgICAgICAKKyAgICAgICAgLy8gRklYTUU6IENvbnZlcnQgdGhlIGRvY3Vt
ZW50IG1hcmtlcnMgdG8gZmxvYXQgcmVjdHMuCiAgICAgICAgIEludFJlY3QgbWFya2VyUmVjdCA9
IGVuY2xvc2luZ0ludFJlY3QoZm9udC5zZWxlY3Rpb25SZWN0Rm9yVGV4dChydW4sIHN0YXJ0UG9p
bnQsIHNlbEhlaWdodCwgc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRpb24pKTsKICAgICAgICAgc3Rh
cnQgPSBtYXJrZXJSZWN0LngoKSAtIHN0YXJ0UG9pbnQueCgpOwogICAgICAgICB3aWR0aCA9IG1h
cmtlclJlY3Qud2lkdGgoKTsKQEAgLTk5MCwxMCArOTkxLDEwIEBAIHZvaWQgSW5saW5lVGV4dEJv
eDo6cGFpbnRTcGVsbGluZ09yR3JhbW0KICAgICAgICAgLy8gSW4gbGFyZ2VyIGZvbnRzLCB0aG91
Z2gsIHBsYWNlIHRoZSB1bmRlcmxpbmUgdXAgbmVhciB0aGUgYmFzZWxpbmUgdG8gcHJldmVudCBh
IGJpZyBnYXAuCiAgICAgICAgIHVuZGVybGluZU9mZnNldCA9IGJhc2VsaW5lICsgMjsKICAgICB9
Ci0gICAgcHQtPmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKEludFBvaW50KGJveE9yaWdpbi54KCkg
KyBzdGFydCwgYm94T3JpZ2luLnkoKSArIHVuZGVybGluZU9mZnNldCksIHdpZHRoLCB0ZXh0Q2hl
Y2tpbmdMaW5lU3R5bGVGb3JNYXJrZXJUeXBlKG1hcmtlci50eXBlKSk7CisgICAgcHQtPmRyYXdM
aW5lRm9yVGV4dENoZWNraW5nKEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSArIHN0YXJ0LCBib3hP
cmlnaW4ueSgpICsgdW5kZXJsaW5lT2Zmc2V0KSwgd2lkdGgsIHRleHRDaGVja2luZ0xpbmVTdHls
ZUZvck1hcmtlclR5cGUobWFya2VyLnR5cGUpKTsKIH0KIAotdm9pZCBJbmxpbmVUZXh0Qm94Ojpw
YWludFRleHRNYXRjaE1hcmtlcihHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBJbnRQb2ludCYg
Ym94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYgbWFya2VyLCBSZW5kZXJTdHlsZSogc3R5
bGUsIGNvbnN0IEZvbnQmIGZvbnQpCit2b2lkIElubGluZVRleHRCb3g6OnBhaW50VGV4dE1hdGNo
TWFya2VyKEdyYXBoaWNzQ29udGV4dCogcHQsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwg
Y29uc3QgRG9jdW1lbnRNYXJrZXImIG1hcmtlciwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBG
b250JiBmb250KQogewogICAgIC8vIFVzZSBzYW1lIHkgcG9zaXRpb25pbmcgYW5kIGhlaWdodCBh
cyBmb3Igc2VsZWN0aW9uLCBzbyB0aGF0IHdoZW4gdGhlIHNlbGVjdGlvbiBhbmQgdGhpcyBoaWdo
bGlnaHQgYXJlIG9uCiAgICAgLy8gdGhlIHNhbWUgd29yZCB0aGVyZSBhcmUgbm8gcGllY2VzIHN0
aWNraW5nIG91dC4KQEAgLTEwMTYsOCArMTAxNyw4IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFp
bnRUZXh0TWF0Y2hNYXJrZXIKICAgICAgICAgICAgIHJlbmRlcmVyKCktPnRoZW1lKCktPnBsYXRm
b3JtSW5hY3RpdmVUZXh0U2VhcmNoSGlnaGxpZ2h0Q29sb3IoKTsKICAgICAgICAgcHQtPnNhdmUo
KTsKICAgICAgICAgdXBkYXRlR3JhcGhpY3NDb250ZXh0KHB0LCBjb2xvciwgY29sb3IsIDAsIHN0
eWxlLT5jb2xvclNwYWNlKCkpOyAgLy8gRG9uJ3QgZHJhdyB0ZXh0IGF0IGFsbCEKLSAgICAgICAg
cHQtPmNsaXAoSW50UmVjdChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZLCBt
X2xvZ2ljYWxXaWR0aCwgc2VsSGVpZ2h0KSk7Ci0gICAgICAgIHB0LT5kcmF3SGlnaGxpZ2h0Rm9y
VGV4dChmb250LCBydW4sIEludFBvaW50KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBk
ZWx0YVkpLCBzZWxIZWlnaHQsIGNvbG9yLCBzdHlsZS0+Y29sb3JTcGFjZSgpLCBzUG9zLCBlUG9z
KTsKKyAgICAgICAgcHQtPmNsaXAoRmxvYXRSZWN0KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55
KCkgLSBkZWx0YVksIG1fbG9naWNhbFdpZHRoLCBzZWxIZWlnaHQpKTsKKyAgICAgICAgcHQtPmRy
YXdIaWdobGlnaHRGb3JUZXh0KGZvbnQsIHJ1biwgRmxvYXRQb2ludChib3hPcmlnaW4ueCgpLCBi
b3hPcmlnaW4ueSgpIC0gZGVsdGFZKSwgc2VsSGVpZ2h0LCBjb2xvciwgc3R5bGUtPmNvbG9yU3Bh
Y2UoKSwgc1BvcywgZVBvcyk7CiAgICAgICAgIHB0LT5yZXN0b3JlKCk7CiAgICAgfQogfQpAQCAt
MTAzOSw3ICsxMDQwLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94Ojpjb21wdXRlUmVjdEZvclJlcGxh
YwogICAgIHJlbmRlcmVyKCktPmRvY3VtZW50KCktPm1hcmtlcnMoKS0+c2V0UmVuZGVyZWRSZWN0
Rm9yTWFya2VyKHJlbmRlcmVyKCktPm5vZGUoKSwgbWFya2VyLCBtYXJrZXJSZWN0KTsKIH0KICAg
ICAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREb2N1bWVudE1hcmtlcnMoR3JhcGhpY3NDb250
ZXh0KiBwdCwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBj
b25zdCBGb250JiBmb250LCBib29sIGJhY2tncm91bmQpCit2b2lkIElubGluZVRleHRCb3g6OnBh
aW50RG9jdW1lbnRNYXJrZXJzKEdyYXBoaWNzQ29udGV4dCogcHQsIGNvbnN0IEZsb2F0UG9pbnQm
IGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250LCBib29sIGJh
Y2tncm91bmQpCiB7CiAgICAgaWYgKCFyZW5kZXJlcigpLT5ub2RlKCkpCiAgICAgICAgIHJldHVy
bjsKQEAgLTEwOTksMTQgKzExMDAsMTMgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERvY3Vt
ZW50TWFya2VycwogICAgIH0KIH0KIAotCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9z
aXRpb25VbmRlcmxpbmUoR3JhcGhpY3NDb250ZXh0KiBjdHgsIGNvbnN0IEludFBvaW50JiBib3hP
cmlnaW4sIGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5lJiB1bmRlcmxpbmUpCit2b2lkIElubGlu
ZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25VbmRlcmxpbmUoR3JhcGhpY3NDb250ZXh0KiBjdHgs
IGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgQ29tcG9zaXRpb25VbmRlcmxpbmUm
IHVuZGVybGluZSkKIHsKICAgICBpZiAobV90cnVuY2F0aW9uID09IGNGdWxsVHJ1bmNhdGlvbikK
ICAgICAgICAgcmV0dXJuOwogICAgIAotICAgIGludCBzdGFydCA9IDA7ICAgICAgICAgICAgICAg
ICAvLyBzdGFydCBvZiBsaW5lIHRvIGRyYXcsIHJlbGF0aXZlIHRvIHR4Ci0gICAgaW50IHdpZHRo
ID0gbV9sb2dpY2FsV2lkdGg7ICAgICAgICAgICAvLyBob3cgbXVjaCBsaW5lIHRvIGRyYXcKKyAg
ICBmbG9hdCBzdGFydCA9IDA7IC8vIHN0YXJ0IG9mIGxpbmUgdG8gZHJhdywgcmVsYXRpdmUgdG8g
dHgKKyAgICBmbG9hdCB3aWR0aCA9IG1fbG9naWNhbFdpZHRoOyAvLyBob3cgbXVjaCBsaW5lIHRv
IGRyYXcKICAgICBib29sIHVzZVdob2xlV2lkdGggPSB0cnVlOwogICAgIHVuc2lnbmVkIHBhaW50
U3RhcnQgPSBtX3N0YXJ0OwogICAgIHVuc2lnbmVkIHBhaW50RW5kID0gZW5kKCkgKyAxOyAvLyBl
bmQgcG9pbnRzIGF0IHRoZSBsYXN0IGNoYXIsIG5vdCBwYXN0IGl0CkBAIC0xMTQyLDcgKzExNDIs
NyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25VbmRlCiAKICAgICBjdHgt
PnNldFN0cm9rZUNvbG9yKHVuZGVybGluZS5jb2xvciwgcmVuZGVyZXIoKS0+c3R5bGUoKS0+Y29s
b3JTcGFjZSgpKTsKICAgICBjdHgtPnNldFN0cm9rZVRoaWNrbmVzcyhsaW5lVGhpY2tuZXNzKTsK
LSAgICBjdHgtPmRyYXdMaW5lRm9yVGV4dChJbnRQb2ludChib3hPcmlnaW4ueCgpICsgc3RhcnQs
IGJveE9yaWdpbi55KCkgKyBsb2dpY2FsSGVpZ2h0KCkgLSBsaW5lVGhpY2tuZXNzKSwgd2lkdGgs
IHRleHRSZW5kZXJlcigpLT5kb2N1bWVudCgpLT5wcmludGluZygpKTsKKyAgICBjdHgtPmRyYXdM
aW5lRm9yVGV4dChGbG9hdFBvaW50KGJveE9yaWdpbi54KCkgKyBzdGFydCwgYm94T3JpZ2luLnko
KSArIGxvZ2ljYWxIZWlnaHQoKSAtIGxpbmVUaGlja25lc3MpLCB3aWR0aCwgdGV4dFJlbmRlcmVy
KCktPmRvY3VtZW50KCktPnByaW50aW5nKCkpOwogfQogCiBpbnQgSW5saW5lVGV4dEJveDo6Y2Fy
ZXRNaW5PZmZzZXQoKSBjb25zdApAQCAtMTE2MCw3ICsxMTYwLDcgQEAgdW5zaWduZWQgSW5saW5l
VGV4dEJveDo6Y2FyZXRNYXhSZW5kZXJlZAogICAgIHJldHVybiBtX3N0YXJ0ICsgbV9sZW47CiB9
CiAKLWludCBJbmxpbmVUZXh0Qm94Ojp0ZXh0UG9zKCkgY29uc3QKK2Zsb2F0IElubGluZVRleHRC
b3g6OnRleHRQb3MoKSBjb25zdAogewogICAgIC8vIFdoZW4gY29tcHV0aW5nIHRoZSB3aWR0aCBv
ZiBhIHRleHQgcnVuLCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvblBvc2l0aW9u
c0ZvckxpbmUoKSBkb2Vzbid0IGluY2x1ZGUgdGhlIGFjdHVhbCBvZmZzZXQKICAgICAvLyBmcm9t
IHRoZSBjb250YWluaW5nIGJsb2NrIGVkZ2UgaW4gaXRzIG1lYXN1cmVtZW50LiB0ZXh0UG9zKCkg
c2hvdWxkIGJlIGNvbnNpc3RlbnQgc28gdGhlIHRleHQgYXJlIHJlbmRlcmVkIGluIHRoZSBzYW1l
IHdpZHRoLgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCShy
ZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNSwxMiArMTA1LDEyIEBAIHB1YmxpYzoKIAogcHJpdmF0
ZToKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJUcnVuY2F0aW9uKCkgeyBtX3RydW5jYXRpb24gPSBj
Tm9UcnVuY2F0aW9uOyB9Ci0gICAgdmlydHVhbCBpbnQgcGxhY2VFbGxpcHNpc0JveChib29sIGZs
b3dJc0xUUiwgaW50IHZpc2libGVMZWZ0RWRnZSwgaW50IHZpc2libGVSaWdodEVkZ2UsIGludCBl
bGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCk7CisgICAgdmlydHVhbCBmbG9hdCBwbGFjZUVs
bGlwc2lzQm94KGJvb2wgZmxvd0lzTFRSLCBmbG9hdCB2aXNpYmxlTGVmdEVkZ2UsIGZsb2F0IHZp
c2libGVSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KTsKIAog
cHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0xpbmVCcmVhaygpIGNvbnN0OwogCi0gICAgdm9p
ZCBzZXRFeHBhbnNpb24oaW50IGV4cGFuc2lvbikgeyBtX2xvZ2ljYWxXaWR0aCAtPSBtX2V4cGFu
c2lvbjsgbV9leHBhbnNpb24gPSBleHBhbnNpb247IG1fbG9naWNhbFdpZHRoICs9IG1fZXhwYW5z
aW9uOyB9CisgICAgdm9pZCBzZXRFeHBhbnNpb24oZmxvYXQgZXhwYW5zaW9uKSB7IG1fbG9naWNh
bFdpZHRoIC09IG1fZXhwYW5zaW9uOyBtX2V4cGFuc2lvbiA9IGV4cGFuc2lvbjsgbV9sb2dpY2Fs
V2lkdGggKz0gbV9leHBhbnNpb247IH0KIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNJ
bmxpbmVUZXh0Qm94KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfSAgICAKQEAgLTEyMiw3ICsxMjIs
NyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZpcnR1YWwgdW5zaWduZWQgY2FyZXRNYXhSZW5k
ZXJlZE9mZnNldCgpIGNvbnN0OwogCi0gICAgaW50IHRleHRQb3MoKSBjb25zdDsgLy8gcmV0dXJu
cyB0aGUgeCBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgbGVmdCBzdGFydCBvZiB0aGUgdGV4dCBs
aW5lLgorICAgIGZsb2F0IHRleHRQb3MoKSBjb25zdDsgLy8gcmV0dXJucyB0aGUgeCBwb3NpdGlv
biByZWxhdGl2ZSB0byB0aGUgbGVmdCBzdGFydCBvZiB0aGUgdGV4dCBsaW5lLgogCiBwdWJsaWM6
CiAgICAgdmlydHVhbCBpbnQgb2Zmc2V0Rm9yUG9zaXRpb24oaW50IHgsIGJvb2wgaW5jbHVkZVBh
cnRpYWxHbHlwaHMgPSB0cnVlKSBjb25zdDsKQEAgLTE0NCwxOCArMTQ0LDE4IEBAIHByaXZhdGU6
CiAgICAgICAgICAgICAgICAgICAgICAgLy8gZGVub3RlIG5vIHRydW5jYXRpb24gKHRoZSB3aG9s
ZSBydW4gcGFpbnRzKSBhbmQgZnVsbCB0cnVuY2F0aW9uIChub3RoaW5nIHBhaW50cyBhdCBhbGwp
LgogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBwYWludENvbXBvc2l0aW9uQmFja2dyb3VuZChHcmFw
aGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNv
bnN0IEZvbnQmLCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpOwotICAgIHZvaWQgcGFpbnREb2N1
bWVudE1hcmtlcnMoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwg
UmVuZGVyU3R5bGUqLCBjb25zdCBGb250JiwgYm9vbCBiYWNrZ3JvdW5kKTsKLSAgICB2b2lkIHBh
aW50Q29tcG9zaXRpb25VbmRlcmxpbmUoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQm
IGJveE9yaWdpbiwgY29uc3QgQ29tcG9zaXRpb25VbmRlcmxpbmUmKTsKKyAgICB2b2lkIHBhaW50
Q29tcG9zaXRpb25CYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UG9pbnQm
IGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250JiwgaW50IHN0YXJ0UG9zLCBpbnQg
ZW5kUG9zKTsKKyAgICB2b2lkIHBhaW50RG9jdW1lbnRNYXJrZXJzKEdyYXBoaWNzQ29udGV4dCos
IGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jiwg
Ym9vbCBiYWNrZ3JvdW5kKTsKKyAgICB2b2lkIHBhaW50Q29tcG9zaXRpb25VbmRlcmxpbmUoR3Jh
cGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBDb21wb3Np
dGlvblVuZGVybGluZSYpOwogI2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIHBhaW50Q3VzdG9t
SGlnaGxpZ2h0KGludCB0eCwgaW50IHR5LCBjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUpOwogI2Vu
ZGlmCiAKIHByaXZhdGU6Ci0gICAgdm9pZCBwYWludERlY29yYXRpb24oR3JhcGhpY3NDb250ZXh0
KiwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgaW50IGRlY29yYXRpb24sIGNvbnN0IFNoYWRv
d0RhdGEqKTsKLSAgICB2b2lkIHBhaW50U2VsZWN0aW9uKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0
IEludFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYpOwotICAgIHZv
aWQgcGFpbnRTcGVsbGluZ09yR3JhbW1hck1hcmtlcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJ
bnRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYsIFJlbmRlclN0eWxlKiwg
Y29uc3QgRm9udCYsIGJvb2wgZ3JhbW1hcik7Ci0gICAgdm9pZCBwYWludFRleHRNYXRjaE1hcmtl
cihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1
bWVudE1hcmtlciYsIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYpOworICAgIHZvaWQgcGFpbnRE
ZWNvcmF0aW9uKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwg
aW50IGRlY29yYXRpb24sIGNvbnN0IFNoYWRvd0RhdGEqKTsKKyAgICB2b2lkIHBhaW50U2VsZWN0
aW9uKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVy
U3R5bGUqLCBjb25zdCBGb250Jik7CisgICAgdm9pZCBwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFy
a2VyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3Qg
RG9jdW1lbnRNYXJrZXImLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmLCBib29sIGdyYW1tYXIp
OworICAgIHZvaWQgcGFpbnRUZXh0TWF0Y2hNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiwgY29uc3Qg
RmxvYXRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYsIFJlbmRlclN0eWxl
KiwgY29uc3QgRm9udCYpOwogICAgIHZvaWQgY29tcHV0ZVJlY3RGb3JSZXBsYWNlbWVudE1hcmtl
cihjb25zdCBEb2N1bWVudE1hcmtlciYsIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYpOwogCiAg
ICAgVGV4dFJ1bjo6VHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciB0cmFpbGluZ0V4cGFuc2lvbkJl
aGF2aW9yKCkgY29uc3QgeyByZXR1cm4gbV9leHBhbnNpb24gJiYgbmV4dExlYWZDaGlsZCgpID8g
VGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiA6IFRleHRSdW46OkZvcmJpZFRyYWlsaW5n
RXhwYW5zaW9uOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQlIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQlIuaAkocmV2aXNp
b24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQlIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDAsOCArNDAsOCBAQCBwdWJsaWM6CiAgCiAgICAgdmlydHVhbCBJbnRSZWN0
IHNlbGVjdGlvblJlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiAvKnJlcGFpbnRD
b250YWluZXIqLywgYm9vbCAvKmNsaXBUb1Zpc2libGVDb250ZW50Ki8pIHsgcmV0dXJuIEludFJl
Y3QoKTsgfQogCi0gICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0aCh1bnNpZ25lZCAvKmZyb20qLywg
dW5zaWduZWQgLypsZW4qLywgY29uc3QgRm9udCYsIGludCAvKnhwb3MqLykgY29uc3QgeyByZXR1
cm4gMDsgfQotICAgIHZpcnR1YWwgdW5zaWduZWQgd2lkdGgodW5zaWduZWQgLypmcm9tKi8sIHVu
c2lnbmVkIC8qbGVuKi8sIGludCAvKnhwb3MqLywgYm9vbCAvKmZpcnN0TGluZSA9IGZhbHNlKi8p
IGNvbnN0IHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFsIGZsb2F0IHdpZHRoKHVuc2lnbmVkIC8q
ZnJvbSovLCB1bnNpZ25lZCAvKmxlbiovLCBjb25zdCBGb250JiwgZmxvYXQgLyp4cG9zKi8pIGNv
bnN0IHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFsIGZsb2F0IHdpZHRoKHVuc2lnbmVkIC8qZnJv
bSovLCB1bnNpZ25lZCAvKmxlbiovLCBpbnQgLyp4cG9zKi8sIGJvb2wgLypmaXJzdExpbmUgPSBm
YWxzZSovKSBjb25zdCB7IHJldHVybiAwOyB9CiAKICAgICBpbnQgbGluZUhlaWdodChib29sIGZp
cnN0TGluZSkgY29uc3Q7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NjE3LDcgKzQ2MTcsNyBAQCBzdGF0aWMg
aW50IGdldEJvcmRlclBhZGRpbmdNYXJnaW4oY29uc3QgCiAgICAgICAgICAgICAgICBjaGlsZC0+
Ym9yZGVyU3RhcnQoKTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHN0cmlwVHJhaWxpbmdTcGFj
ZShpbnQmIGlubGluZU1heCwgaW50JiBpbmxpbmVNaW4sCitzdGF0aWMgaW5saW5lIHZvaWQgc3Ry
aXBUcmFpbGluZ1NwYWNlKGZsb2F0JiBpbmxpbmVNYXgsIGZsb2F0JiBpbmxpbmVNaW4sCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbmRlck9iamVjdCogdHJhaWxpbmdT
cGFjZUNoaWxkKQogewogICAgIGlmICh0cmFpbGluZ1NwYWNlQ2hpbGQgJiYgdHJhaWxpbmdTcGFj
ZUNoaWxkLT5pc1RleHQoKSkgewpAQCAtNDYyNSwxNyArNDYyNSwyMyBAQCBzdGF0aWMgaW5saW5l
IHZvaWQgc3RyaXBUcmFpbGluZ1NwYWNlKGluCiAgICAgICAgIFJlbmRlclRleHQqIHQgPSB0b1Jl
bmRlclRleHQodHJhaWxpbmdTcGFjZUNoaWxkKTsKICAgICAgICAgY29uc3QgVUNoYXIgc3BhY2Ug
PSAnICc7CiAgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSB0LT5zdHlsZSgpLT5mb250KCk7IC8v
IEZJWE1FOiBUaGlzIGlnbm9yZXMgZmlyc3QtbGluZS4KLSAgICAgICAgaW50IHNwYWNlV2lkdGgg
PSBmb250LndpZHRoKFRleHRSdW4oJnNwYWNlLCAxKSk7CisgICAgICAgIGZsb2F0IHNwYWNlV2lk
dGggPSBmb250LndpZHRoKFRleHRSdW4oJnNwYWNlLCAxKSk7CiAgICAgICAgIGlubGluZU1heCAt
PSBzcGFjZVdpZHRoICsgZm9udC53b3JkU3BhY2luZygpOwogICAgICAgICBpZiAoaW5saW5lTWlu
ID4gaW5saW5lTWF4KQogICAgICAgICAgICAgaW5saW5lTWluID0gaW5saW5lTWF4OwogICAgIH0K
IH0KIAorc3RhdGljIGlubGluZSB2b2lkIHVwZGF0ZVByZWZlcnJlZFdpZHRoKGludCYgcHJlZmVy
cmVkV2lkdGgsIGZsb2F0JiByZXN1bHQpCit7CisgICAgaW50IHNuYXBwZWRSZXN1bHQgPSBjZWls
ZihyZXN1bHQpOworICAgIHByZWZlcnJlZFdpZHRoID0gbWF4KHNuYXBwZWRSZXN1bHQsIHByZWZl
cnJlZFdpZHRoKTsKK30KKwogdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJl
ZExvZ2ljYWxXaWR0aHMoKQogewotICAgIGludCBpbmxpbmVNYXggPSAwOwotICAgIGludCBpbmxp
bmVNaW4gPSAwOworICAgIGZsb2F0IGlubGluZU1heCA9IDA7CisgICAgZmxvYXQgaW5saW5lTWlu
ID0gMDsKIAogICAgIGludCBjdyA9IGNvbnRhaW5pbmdCbG9jaygpLT5jb250ZW50TG9naWNhbFdp
ZHRoKCk7CiAKQEAgLTQ2OTYsMTUgKzQ3MDIsMTUgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0
ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgLy8gdGhlIHdpZHRoIG9mIHRoZSBsYXN0IG5v
bi1icmVha2FibGUgcnVuIGFuZCB1c2UgdGhhdCB0byBzdGFydCBhIG5ldyBsaW5lCiAgICAgICAg
ICAgICAvLyAodW5sZXNzIHdlIGVuZCBpbiB3aGl0ZXNwYWNlKS4KICAgICAgICAgICAgIFJlbmRl
clN0eWxlKiBjc3R5bGUgPSBjaGlsZC0+c3R5bGUoKTsKLSAgICAgICAgICAgIGludCBjaGlsZE1p
biA9IDA7Ci0gICAgICAgICAgICBpbnQgY2hpbGRNYXggPSAwOworICAgICAgICAgICAgZmxvYXQg
Y2hpbGRNaW4gPSAwOworICAgICAgICAgICAgZmxvYXQgY2hpbGRNYXggPSAwOwogCiAgICAgICAg
ICAgICBpZiAoIWNoaWxkLT5pc1RleHQoKSkgewogICAgICAgICAgICAgICAgIC8vIENhc2UgKDEp
IGFuZCAoMikuICBJbmxpbmUgcmVwbGFjZWQgYW5kIGlubGluZSBmbG93IGVsZW1lbnRzLgogICAg
ICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNSZW5kZXJJbmxpbmUoKSkgewogICAgICAgICAgICAg
ICAgICAgICAvLyBBZGQgaW4gcGFkZGluZy9ib3JkZXIvbWFyZ2luIGZyb20gdGhlIGFwcHJvcHJp
YXRlIHNpZGUgb2YKICAgICAgICAgICAgICAgICAgICAgLy8gdGhlIGVsZW1lbnQuCi0gICAgICAg
ICAgICAgICAgICAgIGludCBicG0gPSBnZXRCb3JkZXJQYWRkaW5nTWFyZ2luKHRvUmVuZGVySW5s
aW5lKGNoaWxkKSwgY2hpbGRJdGVyYXRvci5lbmRPZklubGluZSk7CisgICAgICAgICAgICAgICAg
ICAgIGZsb2F0IGJwbSA9IGdldEJvcmRlclBhZGRpbmdNYXJnaW4odG9SZW5kZXJJbmxpbmUoY2hp
bGQpLCBjaGlsZEl0ZXJhdG9yLmVuZE9mSW5saW5lKTsKICAgICAgICAgICAgICAgICAgICAgY2hp
bGRNaW4gKz0gYnBtOwogICAgICAgICAgICAgICAgICAgICBjaGlsZE1heCArPSBicG07CiAKQEAg
LTQ3MTQsNyArNDcyMCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJy
ZWQKICAgICAgICAgICAgICAgICAgICAgY2hpbGQtPnNldFByZWZlcnJlZExvZ2ljYWxXaWR0aHNE
aXJ0eShmYWxzZSk7CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAg
ICAgLy8gSW5saW5lIHJlcGxhY2VkIGVsdHMgYWRkIGluIHRoZWlyIG1hcmdpbnMgdG8gdGhlaXIg
bWluL21heCB2YWx1ZXMuCi0gICAgICAgICAgICAgICAgICAgIGludCBtYXJnaW5zID0gMDsKKyAg
ICAgICAgICAgICAgICAgICAgZmxvYXQgbWFyZ2lucyA9IDA7CiAgICAgICAgICAgICAgICAgICAg
IExlbmd0aCBzdGFydE1hcmdpbiA9IGNzdHlsZS0+bWFyZ2luU3RhcnQoKTsKICAgICAgICAgICAg
ICAgICAgICAgTGVuZ3RoIGVuZE1hcmdpbiA9IGNzdHlsZS0+bWFyZ2luRW5kKCk7CiAgICAgICAg
ICAgICAgICAgICAgIGlmIChzdGFydE1hcmdpbi5pc0ZpeGVkKCkpCkBAIC00NzQ0LDEzICs0NzUw
LDEzIEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKIAogICAgICAg
ICAgICAgICAgIGJvb2wgY2FuQnJlYWtSZXBsYWNlZEVsZW1lbnQgPSAhY2hpbGQtPmlzSW1hZ2Uo
KSB8fCBhbGxvd0ltYWdlc1RvQnJlYWs7CiAgICAgICAgICAgICAgICAgaWYgKChjYW5CcmVha1Jl
cGxhY2VkRWxlbWVudCAmJiAoYXV0b1dyYXAgfHwgb2xkQXV0b1dyYXApKSB8fCBjbGVhclByZXZp
b3VzRmxvYXQpIHsKLSAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAg
ICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSAwOwogICAg
ICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIC8vIElmIHdlJ3JlIHN1cHBvc2VkIHRv
IGNsZWFyIHRoZSBwcmV2aW91cyBmbG9hdCwgdGhlbiB0ZXJtaW5hdGUgbWF4d2lkdGggYXMgd2Vs
bC4KICAgICAgICAgICAgICAgICBpZiAoY2xlYXJQcmV2aW91c0Zsb2F0KSB7Ci0gICAgICAgICAg
ICAgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1heCwgbV9t
YXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVm
ZXJyZWRXaWR0aChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWF4KTsKICAgICAg
ICAgICAgICAgICAgICAgaW5saW5lTWF4ID0gMDsKICAgICAgICAgICAgICAgICB9CiAKQEAgLTQ3
NjgsMTIgKzQ3NzQsMTIgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJl
ZAogCiAgICAgICAgICAgICAgICAgaWYgKCFhdXRvV3JhcCB8fCAhY2FuQnJlYWtSZXBsYWNlZEVs
ZW1lbnQpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkLT5pc0Zsb2F0aW5nKCkpCi0g
ICAgICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChj
aGlsZE1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAg
ICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGNo
aWxkTWluKTsKICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAg
ICAgaW5saW5lTWluICs9IGNoaWxkTWluOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAgICAgICAgIC8vIE5vdyBjaGVjayBvdXIgbGluZS4KLSAgICAgICAgICAgICAgICAg
ICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoY2hpbGRNaW4sIG1fbWluUHJlZmVy
cmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lk
dGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGNoaWxkTWluKTsKIAogICAgICAgICAgICAg
ICAgICAgICAvLyBOb3cgc3RhcnQgYSBuZXcgbGluZS4KICAgICAgICAgICAgICAgICAgICAgaW5s
aW5lTWluID0gMDsKQEAgLTQ3OTAsNyArNDc5Niw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1
dGVJbmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0KiB0ID0gdG9SZW5k
ZXJUZXh0KGNoaWxkKTsKIAogICAgICAgICAgICAgICAgIGlmICh0LT5pc1dvcmRCcmVhaygpKSB7
Ci0gICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlu
bGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAg
ICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5l
TWluKTsKICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWluID0gMDsKICAgICAgICAgICAgICAg
ICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgfQpAQCAtNDgwNCw5ICs0ODEwLDkgQEAg
dm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAg
IC8vIHRoZW4gdGhleSBzaG91bGRuJ3QgYmUgY29uc2lkZXJlZCBpbiB0aGUgYnJlYWthYmxlIGNo
YXIKICAgICAgICAgICAgICAgICAvLyBjaGVjay4KICAgICAgICAgICAgICAgICBib29sIGhhc0Jy
ZWFrYWJsZUNoYXIsIGhhc0JyZWFrOwotICAgICAgICAgICAgICAgIGludCBiZWdpbk1pbiwgZW5k
TWluOworICAgICAgICAgICAgICAgIGZsb2F0IGJlZ2luTWluLCBlbmRNaW47CiAgICAgICAgICAg
ICAgICAgYm9vbCBiZWdpbldTLCBlbmRXUzsKLSAgICAgICAgICAgICAgICBpbnQgYmVnaW5NYXgs
IGVuZE1heDsKKyAgICAgICAgICAgICAgICBmbG9hdCBiZWdpbk1heCwgZW5kTWF4OwogICAgICAg
ICAgICAgICAgIHQtPnRyaW1tZWRQcmVmV2lkdGhzKGlubGluZU1heCwgYmVnaW5NaW4sIGJlZ2lu
V1MsIGVuZE1pbiwgZW5kV1MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aGFzQnJlYWthYmxlQ2hhciwgaGFzQnJlYWssIGJlZ2luTWF4LCBlbmRNYXgsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRNaW4sIGNoaWxkTWF4LCBzdHJpcEZyb250
U3BhY2VzKTsKQEAgLTQ4MTQsNyArNDgyMCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJ
bmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAgICAgICAvLyBUaGlzIHRleHQgb2JqZWN0IHdpbGwg
bm90IGJlIHJlbmRlcmVkLCBidXQgaXQgbWF5IHN0aWxsIHByb3ZpZGUgYSBicmVha2luZyBvcHBv
cnR1bml0eS4KICAgICAgICAgICAgICAgICBpZiAoIWhhc0JyZWFrICYmIGNoaWxkTWF4ID09IDAp
IHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGF1dG9XcmFwICYmIChiZWdpbldTIHx8IGVuZFdT
KSkgewotICAgICAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgg
PSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAg
ICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxX
aWR0aCwgaW5saW5lTWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiA9IDA7
CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CkBA
IC00ODQ0LDEwICs0ODUwLDEwIEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVm
ZXJyZWQKICAgICAgICAgICAgICAgICAgICAgLy8gd2Ugc3RhcnQgYW5kIGVuZCB3aXRoIHdoaXRl
c3BhY2UuCiAgICAgICAgICAgICAgICAgICAgIGlmIChiZWdpbldTKQogICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gR28gYWhlYWQgYW5kIGVuZCB0aGUgY3VycmVudCBsaW5lLgotICAgICAgICAg
ICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWlu
LCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAgICB1
cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWlu
KTsKICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBp
bmxpbmVNaW4gKz0gYmVnaW5NaW47Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX21pblByZWZl
cnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAgICAg
ICAgY2hpbGRNaW4gLT0gdGk7CiAgICAgICAgICAgICAgICAgICAgIH0KIApAQCAtNDg1NiwxOCAr
NDg2MiwxOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAg
ICAgICAgICAgICAgICAgIGlmIChlbmRXUykgewogICAgICAgICAgICAgICAgICAgICAgICAgLy8g
V2UgZW5kIGluIHdoaXRlc3BhY2UsIHdoaWNoIG1lYW5zIHdlIGNhbiBnbyBhaGVhZAogICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gYW5kIGVuZCBvdXIgY3VycmVudCBsaW5lLgotICAgICAgICAg
ICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWlu
LCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAgICB1
cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWlu
KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiA9IDA7CiAgICAgICAgICAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExv
Z2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVy
cmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgaW5s
aW5lTWluID0gZW5kTWluOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
fQogCiAgICAgICAgICAgICAgICAgaWYgKGhhc0JyZWFrKSB7CiAgICAgICAgICAgICAgICAgICAg
IGlubGluZU1heCArPSBiZWdpbk1heDsKLSAgICAgICAgICAgICAgICAgICAgbV9tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWF4LCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0
aCk7Ci0gICAgICAgICAgICAgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4
KGNoaWxkTWF4LCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAg
ICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxp
bmVNYXgpOworICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21heFBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCwgY2hpbGRNYXgpOwogICAgICAgICAgICAgICAgICAgICBpbmxp
bmVNYXggPSBlbmRNYXg7CiAgICAgICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAg
ICAgIGlubGluZU1heCArPSBjaGlsZE1heDsKQEAgLTQ4NzcsOCArNDg4Myw4IEBAIHZvaWQgUmVu
ZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAgIGlmIChjaGlsZC0+
aXNMaXN0TWFya2VyKCkpCiAgICAgICAgICAgICAgICAgc3RyaXBGcm9udFNwYWNlcyA9IHRydWU7
CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKLSAgICAgICAg
ICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1heCwgbV9tYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9t
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CisgICAgICAgICAgICB1cGRhdGVQ
cmVmZXJyZWRXaWR0aChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWF4KTsKICAg
ICAgICAgICAgIGlubGluZU1pbiA9IGlubGluZU1heCA9IDA7CiAgICAgICAgICAgICBzdHJpcEZy
b250U3BhY2VzID0gdHJ1ZTsKICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VDaGlsZCA9IDA7CkBA
IC00ODkwLDggKzQ4OTYsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVy
cmVkCiAgICAgaWYgKHN0eWxlKCktPmNvbGxhcHNlV2hpdGVTcGFjZSgpKQogICAgICAgICBzdHJp
cFRyYWlsaW5nU3BhY2UoaW5saW5lTWF4LCBpbmxpbmVNaW4sIHRyYWlsaW5nU3BhY2VDaGlsZCk7
CiAKLSAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoKTsKLSAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9
IG1heChpbmxpbmVNYXgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICB1cGRhdGVQ
cmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKKyAg
ICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5l
TWF4KTsKIH0KIAogLy8gVXNlIGEgdmVyeSBsYXJnZSB2YWx1ZSAoaW4gZWZmZWN0IGluZmluaXRl
KS4KQEAgLTU0NTcsOSArNTQ2Myw5IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmFkanVzdEZvckJvcmRl
ckZpdChpbnQKICAgICAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpIHsKICAgICAgICAgICAgIGZv
ciAoUm9vdElubGluZUJveCogYm94ID0gZmlyc3RSb290Qm94KCk7IGJveDsgYm94ID0gYm94LT5u
ZXh0Um9vdEJveCgpKSB7CiAgICAgICAgICAgICAgICAgaWYgKGJveC0+Zmlyc3RDaGlsZCgpKQot
ICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gbWluKGxlZnQsIHggKyBib3gtPmZpcnN0Q2hpbGQo
KS0+eCgpKTsKKyAgICAgICAgICAgICAgICAgICAgbGVmdCA9IG1pbihsZWZ0LCB4ICsgc3RhdGlj
X2Nhc3Q8aW50Pihib3gtPmZpcnN0Q2hpbGQoKS0+eCgpKSk7CiAgICAgICAgICAgICAgICAgaWYg
KGJveC0+bGFzdENoaWxkKCkpCi0gICAgICAgICAgICAgICAgICAgIHJpZ2h0ID0gbWF4KHJpZ2h0
LCB4ICsgYm94LT5sYXN0Q2hpbGQoKS0+eCgpICsgYm94LT5sYXN0Q2hpbGQoKS0+bG9naWNhbFdp
ZHRoKCkpOworICAgICAgICAgICAgICAgICAgICByaWdodCA9IG1heChyaWdodCwgeCArIHN0YXRp
Y19jYXN0PGludD4oY2VpbGYoYm94LT5sYXN0Q2hpbGQoKS0+bG9naWNhbFJpZ2h0KCkpKSk7CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CkBAIC01NzU5LDggKzU3NjUs
OCBAQCB2b2lkIFJlbmRlckJsb2NrOjphZGRGb2N1c1JpbmdSZWN0cyhWZWN0CiAKICAgICBpZiAo
IWhhc092ZXJmbG93Q2xpcCgpICYmICFoYXNDb250cm9sQ2xpcCgpKSB7CiAgICAgICAgIGZvciAo
Um9vdElubGluZUJveCogY3VyciA9IGZpcnN0Um9vdEJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+
bmV4dFJvb3RCb3goKSkgewotICAgICAgICAgICAgaW50IHRvcCA9IG1heChjdXJyLT5saW5lVG9w
KCksIGN1cnItPnkoKSk7Ci0gICAgICAgICAgICBpbnQgYm90dG9tID0gbWluKGN1cnItPmxpbmVC
b3R0b20oKSwgY3Vyci0+eSgpICsgY3Vyci0+bG9naWNhbEhlaWdodCgpKTsKKyAgICAgICAgICAg
IGludCB0b3AgPSBtYXgoY3Vyci0+bGluZVRvcCgpLCBjdXJyLT5sb2dpY2FsVG9wKCkpOworICAg
ICAgICAgICAgaW50IGJvdHRvbSA9IG1pbihjdXJyLT5saW5lQm90dG9tKCksIGN1cnItPmxvZ2lj
YWxUb3AoKSArIGN1cnItPmxvZ2ljYWxIZWlnaHQoKSk7CiAgICAgICAgICAgICBJbnRSZWN0IHJl
Y3QodHggKyBjdXJyLT54KCksIHR5ICsgdG9wLCBjdXJyLT5sb2dpY2FsV2lkdGgoKSwgYm90dG9t
IC0gdG9wKTsKICAgICAgICAgICAgIGlmICghcmVjdC5pc0VtcHR5KCkpCiAgICAgICAgICAgICAg
ICAgcmVjdHMuYXBwZW5kKHJlY3QpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmgJKHJldmlzaW9uIDc4MzUwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4NSw3ICs0ODUsNyBAQCBwcml2YXRlOgog
CiAgICAgdm9pZCBza2lwVHJhaWxpbmdXaGl0ZXNwYWNlKElubGluZUl0ZXJhdG9yJiwgYm9vbCBp
c0xpbmVFbXB0eSwgYm9vbCBwcmV2aW91c0xpbmVCcm9rZUNsZWFubHkpOwogICAgIGludCBza2lw
TGVhZGluZ1doaXRlc3BhY2UoSW5saW5lQmlkaVJlc29sdmVyJiwgYm9vbCBmaXJzdExpbmUsIGJv
b2wgaXNMaW5lRW1wdHksIGJvb2wgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBGbG9hdGluZ09i
amVjdCogbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSk7Ci0gICAgdm9pZCBmaXRCZWxvd0Zsb2F0
cyhpbnQgd2lkdGhUb0ZpdCwgYm9vbCBmaXJzdExpbmUsIGludCYgYXZhaWxhYmxlV2lkdGgpOwor
ICAgIHZvaWQgZml0QmVsb3dGbG9hdHMoZmxvYXQgd2lkdGhUb0ZpdCwgYm9vbCBmaXJzdExpbmUs
IGZsb2F0JiBhdmFpbGFibGVXaWR0aCk7CiAgICAgSW5saW5lSXRlcmF0b3IgZmluZE5leHRMaW5l
QnJlYWsoSW5saW5lQmlkaVJlc29sdmVyJiwgYm9vbCBmaXJzdExpbmUsIGJvb2wmIGlzTGluZUVt
cHR5LCBib29sJiBwcmV2aW91c0xpbmVCcm9rZUNsZWFubHksIGJvb2wmIGh5cGhlbmF0ZWQsIEVD
bGVhciosIEZsb2F0aW5nT2JqZWN0KiBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lKTsKICAgICBS
b290SW5saW5lQm94KiBjb25zdHJ1Y3RMaW5lKHVuc2lnbmVkIHJ1bkNvdW50LCBCaWRpUnVuKiBm
aXJzdFJ1biwgQmlkaVJ1biogbGFzdFJ1biwgYm9vbCBmaXJzdExpbmUsIGJvb2wgbGFzdExpbmUs
IFJlbmRlck9iamVjdCogZW5kT2JqZWN0KTsKICAgICBJbmxpbmVGbG93Qm94KiBjcmVhdGVMaW5l
Qm94ZXMoUmVuZGVyT2JqZWN0KiwgYm9vbCBmaXJzdExpbmUpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAJKHJldmlzaW9u
IDc4MzUwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxOCw4ICszMTgsOCBAQCBSb290SW5saW5lQm94KiBS
ZW5kZXJCbG9jazo6Y29uc3RydWN0TGluCiB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5l
RGlyZWN0aW9uUG9zaXRpb25zRm9yTGluZShSb290SW5saW5lQm94KiBsaW5lQm94LCBib29sIGZp
cnN0TGluZSwgQmlkaVJ1biogZmlyc3RSdW4sIEJpZGlSdW4qIHRyYWlsaW5nU3BhY2VSdW4sIGJv
b2wgcmVhY2hlZEVuZCwgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmIHRleHRCb3hE
YXRhTWFwKQogewogICAgIC8vIEZpcnN0IGRldGVybWluZSBvdXIgdG90YWwgbG9naWNhbCB3aWR0
aC4KLSAgICBpbnQgYXZhaWxhYmxlTG9naWNhbFdpZHRoID0gYXZhaWxhYmxlTG9naWNhbFdpZHRo
Rm9yTGluZShsb2dpY2FsSGVpZ2h0KCksIGZpcnN0TGluZSk7Ci0gICAgaW50IHRvdGFsTG9naWNh
bFdpZHRoID0gbGluZUJveC0+Z2V0Rmxvd1NwYWNpbmdMb2dpY2FsV2lkdGgoKTsKKyAgICBmbG9h
dCBhdmFpbGFibGVMb2dpY2FsV2lkdGggPSBhdmFpbGFibGVMb2dpY2FsV2lkdGhGb3JMaW5lKGxv
Z2ljYWxIZWlnaHQoKSwgZmlyc3RMaW5lKTsKKyAgICBmbG9hdCB0b3RhbExvZ2ljYWxXaWR0aCA9
IGxpbmVCb3gtPmdldEZsb3dTcGFjaW5nTG9naWNhbFdpZHRoKCk7CiAgICAgYm9vbCBuZWVkc1dv
cmRTcGFjaW5nID0gZmFsc2U7CiAgICAgdW5zaWduZWQgZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3Vu
dCA9IDA7CiAgICAgYm9vbCBpc0FmdGVyRXhwYW5zaW9uID0gdHJ1ZTsKQEAgLTM4Niw3ICszODYs
NyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uCiAgICAgLy8gd2Ug
bm93IGV4YW1pbmUgb3VyIHRleHQtYWxpZ24gcHJvcGVydHkgaW4gb3JkZXIgdG8gZGV0ZXJtaW5l
IHdoZXJlIHRvIHBvc2l0aW9uIHRoZQogICAgIC8vIG9iamVjdHMgaG9yaXpvbnRhbGx5LiAgVGhl
IHRvdGFsIHdpZHRoIG9mIHRoZSBsaW5lIGNhbiBiZSBpbmNyZWFzZWQgaWYgd2UgZW5kIHVwCiAg
ICAgLy8ganVzdGlmeWluZyB0ZXh0LgotICAgIGludCBsb2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0
T2Zmc2V0Rm9yTGluZShsb2dpY2FsSGVpZ2h0KCksIGZpcnN0TGluZSk7CisgICAgZmxvYXQgbG9n
aWNhbExlZnQgPSBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUobG9naWNhbEhlaWdodCgpLCBmaXJz
dExpbmUpOwogICAgIHN3aXRjaCAodGV4dEFsaWduKSB7CiAgICAgICAgIGNhc2UgTEVGVDoKICAg
ICAgICAgY2FzZSBXRUJLSVRfTEVGVDoKQEAgLTM5NCw3ICszOTQsNyBAQCB2b2lkIFJlbmRlckJs
b2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uCiAgICAgICAgICAgICAvLyBwYXJ0aWN1bGFyIHdp
dGggUlRMIGJsb2Nrcywgd2lkZSBsaW5lcyBzaG91bGQgc3RpbGwgc3BpbGwgb3V0IHRvIHRoZSBs
ZWZ0LgogICAgICAgICAgICAgaWYgKHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkg
ewogICAgICAgICAgICAgICAgIGlmICh0b3RhbExvZ2ljYWxXaWR0aCA+IGF2YWlsYWJsZUxvZ2lj
YWxXaWR0aCAmJiB0cmFpbGluZ1NwYWNlUnVuKQotICAgICAgICAgICAgICAgICAgICB0cmFpbGlu
Z1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgwLCB0cmFpbGluZ1NwYWNlUnVu
LT5tX2JveC0+bG9naWNhbFdpZHRoKCkgLSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxv
Z2ljYWxXaWR0aCkpOworICAgICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2Jv
eC0+c2V0TG9naWNhbFdpZHRoKG1heCgwLmYsIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dp
Y2FsV2lkdGgoKSAtIHRvdGFsTG9naWNhbFdpZHRoICsgYXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7
CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGlmICh0cmFpbGluZ1NwYWNl
UnVuKQogICAgICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9n
aWNhbFdpZHRoKDApOwpAQCAtNDE2LDcgKzQxNiw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1
dGVJbmxpbmVEaXJlY3Rpb24KICAgICAgICAgICAgIC8vIGZvciByaWdodCB0byBsZWZ0IGZhbGwg
dGhyb3VnaCB0byByaWdodCBhbGlnbmVkCiAgICAgICAgICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0
VG9SaWdodERpcmVjdGlvbigpKSB7CiAgICAgICAgICAgICAgICAgaWYgKHRvdGFsTG9naWNhbFdp
ZHRoID4gYXZhaWxhYmxlTG9naWNhbFdpZHRoICYmIHRyYWlsaW5nU3BhY2VSdW4pCi0gICAgICAg
ICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4
KDAsIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNh
bFdpZHRoICsgYXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7CisgICAgICAgICAgICAgICAgICAgIHRy
YWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAuZiwgdHJhaWxpbmdT
cGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFp
bGFibGVMb2dpY2FsV2lkdGgpKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IH0KICAgICAgICAgY2FzZSBSSUdIVDoKQEAgLTQyNywxMyArNDI3LDEzIEBAIHZvaWQgUmVuZGVy
QmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb24KICAgICAgICAgICAgIGlmIChzdHlsZSgpLT5p
c0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsKICAgICAgICAgICAgICAgICBpZiAodHJhaWxpbmdT
cGFjZVJ1bikgewogICAgICAgICAgICAgICAgICAgICB0b3RhbExvZ2ljYWxXaWR0aCAtPSB0cmFp
bGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCk7Ci0gICAgICAgICAgICAgICAgICAg
IHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgoMCk7CisgICAgICAgICAg
ICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgoMC5mKTsK
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgaWYgKHRvdGFsTG9naWNhbFdpZHRo
IDwgYXZhaWxhYmxlTG9naWNhbFdpZHRoKQogICAgICAgICAgICAgICAgICAgICBsb2dpY2FsTGVm
dCArPSBhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aDsKICAgICAgICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKHRvdGFsTG9naWNhbFdpZHRoID4gYXZh
aWxhYmxlTG9naWNhbFdpZHRoICYmIHRyYWlsaW5nU3BhY2VSdW4pIHsKLSAgICAgICAgICAgICAg
ICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXgoMCwgdHJh
aWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpIC0gdG90YWxMb2dpY2FsV2lkdGgg
KyBhdmFpbGFibGVMb2dpY2FsV2lkdGgpKTsKKyAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdT
cGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXgoMC5mLCB0cmFpbGluZ1NwYWNlUnVu
LT5tX2JveC0+bG9naWNhbFdpZHRoKCkgLSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxv
Z2ljYWxXaWR0aCkpOwogICAgICAgICAgICAgICAgICAgICB0b3RhbExvZ2ljYWxXaWR0aCAtPSB0
cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCk7CiAgICAgICAgICAgICAgICAg
fSBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IGF2YWlsYWJsZUxvZ2lj
YWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoOwpAQCAtNDQxLDE0ICs0NDEsMTQgQEAgdm9pZCBS
ZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIGNhc2UgQ0VOVEVSOgogICAgICAgICBjYXNlIFdFQktJVF9DRU5URVI6Ci0gICAgICAg
ICAgICBpbnQgdHJhaWxpbmdTcGFjZVdpZHRoID0gMDsKKyAgICAgICAgICAgIGZsb2F0IHRyYWls
aW5nU3BhY2VXaWR0aCA9IDAuZjsKICAgICAgICAgICAgIGlmICh0cmFpbGluZ1NwYWNlUnVuKSB7
CiAgICAgICAgICAgICAgICAgdG90YWxMb2dpY2FsV2lkdGggLT0gdHJhaWxpbmdTcGFjZVJ1bi0+
bV9ib3gtPmxvZ2ljYWxXaWR0aCgpOwogICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VXaWR0
aCA9IG1pbih0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCksIChhdmFpbGFi
bGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCArIDEpIC8gMik7Ci0gICAgICAgICAg
ICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXgoMCwgdHJh
aWxpbmdTcGFjZVdpZHRoKSk7CisgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9i
b3gtPnNldExvZ2ljYWxXaWR0aChtYXgoMC5mLCB0cmFpbGluZ1NwYWNlV2lkdGgpKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGlmIChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9u
KCkpCi0gICAgICAgICAgICAgICAgbG9naWNhbExlZnQgKz0gbWF4KChhdmFpbGFibGVMb2dpY2Fs
V2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkgLyAyLCAwKTsKKyAgICAgICAgICAgICAgICBsb2dp
Y2FsTGVmdCArPSBtYXgoKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRo
KSAvIDIuZiwgMC5mKTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBsb2dpY2Fs
TGVmdCArPSB0b3RhbExvZ2ljYWxXaWR0aCA+IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCA/IChhdmFp
bGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkgOiAoYXZhaWxhYmxlTG9naWNh
bFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpIC8gMiAtIHRyYWlsaW5nU3BhY2VXaWR0aDsKICAg
ICAgICAgICAgIGJyZWFrOwpAQCAtNDY4LDcgKzQ2OCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNv
bXB1dGVJbmxpbmVEaXJlY3Rpb24KICAgICAgICAgICAgICAgICAvLyBPbmx5IGp1c3RpZnkgdGV4
dCBpZiB3aGl0ZXNwYWNlIGlzIGNvbGxhcHNlZC4KICAgICAgICAgICAgICAgICBpZiAoci0+bV9v
YmplY3QtPnN0eWxlKCktPmNvbGxhcHNlV2hpdGVTcGFjZSgpKSB7CiAgICAgICAgICAgICAgICAg
ICAgIElubGluZVRleHRCb3gqIHRleHRCb3ggPSBzdGF0aWNfY2FzdDxJbmxpbmVUZXh0Qm94Kj4o
ci0+bV9ib3gpOwotICAgICAgICAgICAgICAgICAgICBpbnQgZXhwYW5zaW9uID0gKGF2YWlsYWJs
ZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoKSAqIG9wcG9ydHVuaXRpZXNJblJ1biAv
IGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQ7CisgICAgICAgICAgICAgICAgICAgIGZsb2F0IGV4
cGFuc2lvbiA9IChhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkgKiBv
cHBvcnR1bml0aWVzSW5SdW4gLyBleHBhbnNpb25PcHBvcnR1bml0eUNvdW50OwogICAgICAgICAg
ICAgICAgICAgICB0ZXh0Qm94LT5zZXRFeHBhbnNpb24oZXhwYW5zaW9uKTsKICAgICAgICAgICAg
ICAgICAgICAgdG90YWxMb2dpY2FsV2lkdGggKz0gZXhwYW5zaW9uOwogICAgICAgICAgICAgICAg
IH0KQEAgLTEzNjgsMTMgKzEzNjgsMTMgQEAgc3RhdGljIGJvb2wgc2hvdWxkU2tpcFdoaXRlc3Bh
Y2VBZnRlclN0YQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBSZW5kZXJCbG9jazo6Zml0
QmVsb3dGbG9hdHMoaW50IHdpZHRoVG9GaXQsIGJvb2wgZmlyc3RMaW5lLCBpbnQmIGF2YWlsYWJs
ZVdpZHRoKQordm9pZCBSZW5kZXJCbG9jazo6Zml0QmVsb3dGbG9hdHMoZmxvYXQgd2lkdGhUb0Zp
dCwgYm9vbCBmaXJzdExpbmUsIGZsb2F0JiBhdmFpbGFibGVXaWR0aCkKIHsKICAgICBBU1NFUlQo
d2lkdGhUb0ZpdCA+IGF2YWlsYWJsZVdpZHRoKTsKIAogICAgIGludCBmbG9hdExvZ2ljYWxCb3R0
b207CiAgICAgaW50IGxhc3RGbG9hdExvZ2ljYWxCb3R0b20gPSBsb2dpY2FsSGVpZ2h0KCk7Ci0g
ICAgaW50IG5ld0xpbmVXaWR0aCA9IGF2YWlsYWJsZVdpZHRoOworICAgIGZsb2F0IG5ld0xpbmVX
aWR0aCA9IGF2YWlsYWJsZVdpZHRoOwogICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgIGZsb2F0
TG9naWNhbEJvdHRvbSA9IG5leHRGbG9hdExvZ2ljYWxCb3R0b21CZWxvdyhsYXN0RmxvYXRMb2dp
Y2FsQm90dG9tKTsKICAgICAgICAgaWYgKCFmbG9hdExvZ2ljYWxCb3R0b20pCkBAIC0xMzkyLDE5
ICsxMzkyLDE5IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmZpdEJlbG93RmxvYXRzKGludCB3aWQKICAg
ICB9CiB9CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgdGV4dFdpZHRoKFJlbmRlclRleHQqIHRl
eHQsIHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgY29uc3QgRm9udCYgZm9udCwgaW50IHhQ
b3MsIGJvb2wgaXNGaXhlZFBpdGNoLCBib29sIGNvbGxhcHNlV2hpdGVTcGFjZSkKK3N0YXRpYyBp
bmxpbmUgZmxvYXQgdGV4dFdpZHRoKFJlbmRlclRleHQqIHRleHQsIHVuc2lnbmVkIGZyb20sIHVu
c2lnbmVkIGxlbiwgY29uc3QgRm9udCYgZm9udCwgZmxvYXQgeFBvcywgYm9vbCBpc0ZpeGVkUGl0
Y2gsIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlKQogewogICAgIGlmIChpc0ZpeGVkUGl0Y2ggfHwg
KCFmcm9tICYmIGxlbiA9PSB0ZXh0LT50ZXh0TGVuZ3RoKCkpIHx8IHRleHQtPnN0eWxlKCktPmhh
c1RleHRDb21iaW5lKCkpCiAgICAgICAgIHJldHVybiB0ZXh0LT53aWR0aChmcm9tLCBsZW4sIGZv
bnQsIHhQb3MpOwogICAgIHJldHVybiBmb250LndpZHRoKFRleHRSdW4odGV4dC0+Y2hhcmFjdGVy
cygpICsgZnJvbSwgbGVuLCAhY29sbGFwc2VXaGl0ZVNwYWNlLCB4UG9zKSk7CiB9CiAKLXN0YXRp
YyB2b2lkIHRyeUh5cGhlbmF0aW5nKFJlbmRlclRleHQqIHRleHQsIGNvbnN0IEZvbnQmIGZvbnQs
IGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxlSWRlbnRpZmllciwgaW50IGxhc3RTcGFjZSwgaW50
IHBvcywgaW50IHhQb3MsIGludCBhdmFpbGFibGVXaWR0aCwgYm9vbCBpc0ZpeGVkUGl0Y2gsIGJv
b2wgY29sbGFwc2VXaGl0ZVNwYWNlLCBpbnQgbGFzdFNwYWNlV29yZFNwYWNpbmcsIElubGluZUl0
ZXJhdG9yJiBsaW5lQnJlYWssIGludCBuZXh0QnJlYWthYmxlLCBib29sJiBoeXBoZW5hdGVkKQor
c3RhdGljIHZvaWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCogdGV4dCwgY29uc3QgRm9udCYg
Zm9udCwgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbGVJZGVudGlmaWVyLCBpbnQgbGFzdFNwYWNl
LCBpbnQgcG9zLCBmbG9hdCB4UG9zLCBpbnQgYXZhaWxhYmxlV2lkdGgsIGJvb2wgaXNGaXhlZFBp
dGNoLCBib29sIGNvbGxhcHNlV2hpdGVTcGFjZSwgaW50IGxhc3RTcGFjZVdvcmRTcGFjaW5nLCBJ
bmxpbmVJdGVyYXRvciYgbGluZUJyZWFrLCBpbnQgbmV4dEJyZWFrYWJsZSwgYm9vbCYgaHlwaGVu
YXRlZCkKIHsKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGh5cGhlblN0cmluZyA9IHRleHQtPnN0
eWxlKCktPmh5cGhlblN0cmluZygpOwogICAgIGludCBoeXBoZW5XaWR0aCA9IGZvbnQud2lkdGgo
VGV4dFJ1bihoeXBoZW5TdHJpbmcuY2hhcmFjdGVycygpLCBoeXBoZW5TdHJpbmcubGVuZ3RoKCkp
KTsKIAotICAgIGludCBtYXhQcmVmaXhXaWR0aCA9IGF2YWlsYWJsZVdpZHRoIC0geFBvcyAtIGh5
cGhlbldpZHRoIC0gbGFzdFNwYWNlV29yZFNwYWNpbmc7CisgICAgZmxvYXQgbWF4UHJlZml4V2lk
dGggPSBhdmFpbGFibGVXaWR0aCAtIHhQb3MgLSBoeXBoZW5XaWR0aCAtIGxhc3RTcGFjZVdvcmRT
cGFjaW5nOwogICAgIC8vIElmIHRoZSBtYXhpbXVtIHdpZHRoIGF2YWlsYWJsZSBmb3IgdGhlIHBy
ZWZpeCBiZWZvcmUgdGhlIGh5cGhlbiBpcyBzbWFsbCwgdGhlbiBpdCBpcyB2ZXJ5IHVubGlrZWx5
CiAgICAgLy8gdGhhdCBhbiBoeXBoZW5hdGlvbiBvcHBvcnR1bml0eSBleGlzdHMsIHNvIGRvIG5v
dCBib3RoZXIgdG8gbG9vayBmb3IgaXQuCiAgICAgaWYgKG1heFByZWZpeFdpZHRoIDw9IGZvbnQu
cGl4ZWxTaXplKCkgKiA1IC8gNCkKQEAgLTE0MTksNyArMTQxOSw3IEBAIHN0YXRpYyB2b2lkIHRy
eUh5cGhlbmF0aW5nKFJlbmRlclRleHQqIHQKICAgICAgICAgcmV0dXJuOwogCiAjaWYgIUFTU0VS
VF9ESVNBQkxFRAotICAgIGludCBwcmVmaXhXaWR0aCA9IGh5cGhlbldpZHRoICsgdGV4dFdpZHRo
KHRleHQsIGxhc3RTcGFjZSwgcHJlZml4TGVuZ3RoLCBmb250LCB4UG9zLCBpc0ZpeGVkUGl0Y2gs
IGNvbGxhcHNlV2hpdGVTcGFjZSkgKyBsYXN0U3BhY2VXb3JkU3BhY2luZzsKKyAgICBmbG9hdCBw
cmVmaXhXaWR0aCA9IGh5cGhlbldpZHRoICsgdGV4dFdpZHRoKHRleHQsIGxhc3RTcGFjZSwgcHJl
Zml4TGVuZ3RoLCBmb250LCB4UG9zLCBpc0ZpeGVkUGl0Y2gsIGNvbGxhcHNlV2hpdGVTcGFjZSkg
KyBsYXN0U3BhY2VXb3JkU3BhY2luZzsKICAgICBBU1NFUlQoeFBvcyArIHByZWZpeFdpZHRoIDw9
IGF2YWlsYWJsZVdpZHRoKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGlzRml4ZWRQaXRjaCk7
CkBAIC0xNDM5LDEwICsxNDM5LDEwIEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5k
TmV4dExpbmUKICAgICBib29sIGFwcGxpZWRTdGFydFdpZHRoID0gcmVzb2x2ZXIucG9zaXRpb24o
KS5wb3MgPiAwOwogICAgIExpbmVNaWRwb2ludFN0YXRlJiBsaW5lTWlkcG9pbnRTdGF0ZSA9IHJl
c29sdmVyLm1pZHBvaW50U3RhdGUoKTsKICAgICAKLSAgICBpbnQgd2lkdGggPSBza2lwTGVhZGlu
Z1doaXRlc3BhY2UocmVzb2x2ZXIsIGZpcnN0TGluZSwgaXNMaW5lRW1wdHksIHByZXZpb3VzTGlu
ZUJyb2tlQ2xlYW5seSwgbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSk7CisgICAgZmxvYXQgd2lk
dGggPSBza2lwTGVhZGluZ1doaXRlc3BhY2UocmVzb2x2ZXIsIGZpcnN0TGluZSwgaXNMaW5lRW1w
dHksIHByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSwgbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSk7
CiAKLSAgICBpbnQgdyA9IDA7Ci0gICAgaW50IHRtcFcgPSAwOworICAgIGZsb2F0IHcgPSAwOwor
ICAgIGZsb2F0IHRtcFcgPSAwOwogCiAgICAgaWYgKHJlc29sdmVyLnBvc2l0aW9uKCkuYXRFbmQo
KSkKICAgICAgICAgcmV0dXJuIHJlc29sdmVyLnBvc2l0aW9uKCk7CkBAIC0xNDYxLDggKzE0NjEs
OCBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9jazo6ZmluZE5leHRMaW5lCiAKICAgICBJbmxp
bmVJdGVyYXRvciBsQnJlYWsgPSByZXNvbHZlci5wb3NpdGlvbigpOwogCi0gICAgUmVuZGVyT2Jq
ZWN0ICpvID0gcmVzb2x2ZXIucG9zaXRpb24oKS5vYmo7Ci0gICAgUmVuZGVyT2JqZWN0ICpsYXN0
ID0gbzsKKyAgICBSZW5kZXJPYmplY3QqIG8gPSByZXNvbHZlci5wb3NpdGlvbigpLm9iajsKKyAg
ICBSZW5kZXJPYmplY3QqIGxhc3QgPSBvOwogICAgIHVuc2lnbmVkIHBvcyA9IHJlc29sdmVyLnBv
c2l0aW9uKCkucG9zOwogICAgIGludCBuZXh0QnJlYWthYmxlID0gcmVzb2x2ZXIucG9zaXRpb24o
KS5uZXh0QnJlYWthYmxlUG9zaXRpb247CiAgICAgYm9vbCBhdFN0YXJ0ID0gdHJ1ZTsKQEAgLTE2
NTksMjIgKzE2NTksMjIgQEAgSW5saW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0TGlu
ZQogICAgICAgICAgICAgYm9vbCBjYW5IeXBoZW5hdGUgPSBzdHlsZS0+aHlwaGVucygpID09IEh5
cGhlbnNBdXRvICYmIFdlYkNvcmU6OmNhbkh5cGhlbmF0ZShzdHlsZS0+aHlwaGVuYXRpb25Mb2Nh
bGUoKSk7CiAKICAgICAgICAgICAgIGludCBsYXN0U3BhY2UgPSBwb3M7Ci0gICAgICAgICAgICBp
bnQgd29yZFNwYWNpbmcgPSBvLT5zdHlsZSgpLT53b3JkU3BhY2luZygpOwotICAgICAgICAgICAg
aW50IGxhc3RTcGFjZVdvcmRTcGFjaW5nID0gMDsKKyAgICAgICAgICAgIGZsb2F0IHdvcmRTcGFj
aW5nID0gby0+c3R5bGUoKS0+d29yZFNwYWNpbmcoKTsKKyAgICAgICAgICAgIGZsb2F0IGxhc3RT
cGFjZVdvcmRTcGFjaW5nID0gMDsKIAogICAgICAgICAgICAgLy8gTm9uLXplcm8gb25seSB3aGVu
IGtlcm5pbmcgaXMgZW5hYmxlZCwgaW4gd2hpY2ggY2FzZSB3ZSBtZWFzdXJlIHdvcmRzIHdpdGgg
dGhlaXIgdHJhaWxpbmcKICAgICAgICAgICAgIC8vIHNwYWNlLCB0aGVuIHN1YnRyYWN0IGl0cyB3
aWR0aC4KLSAgICAgICAgICAgIGludCB3b3JkVHJhaWxpbmdTcGFjZVdpZHRoID0gZi50eXBlc2V0
dGluZ0ZlYXR1cmVzKCkgJiBLZXJuaW5nID8gZi53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpICsg
d29yZFNwYWNpbmcgOiAwOworICAgICAgICAgICAgZmxvYXQgd29yZFRyYWlsaW5nU3BhY2VXaWR0
aCA9IGYudHlwZXNldHRpbmdGZWF0dXJlcygpICYgS2VybmluZyA/IGYud2lkdGgoVGV4dFJ1bigm
c3BhY2UsIDEpKSArIHdvcmRTcGFjaW5nIDogMDsKIAotICAgICAgICAgICAgaW50IHdyYXBXID0g
dG1wVyArIGlubGluZUxvZ2ljYWxXaWR0aChvLCAhYXBwbGllZFN0YXJ0V2lkdGgsIHRydWUpOwot
ICAgICAgICAgICAgaW50IGNoYXJXaWR0aCA9IDA7CisgICAgICAgICAgICBmbG9hdCB3cmFwVyA9
IHRtcFcgKyBpbmxpbmVMb2dpY2FsV2lkdGgobywgIWFwcGxpZWRTdGFydFdpZHRoLCB0cnVlKTsK
KyAgICAgICAgICAgIGZsb2F0IGNoYXJXaWR0aCA9IDA7CiAgICAgICAgICAgICBib29sIGJyZWFr
TkJTUCA9IGF1dG9XcmFwICYmIG8tPnN0eWxlKCktPm5ic3BNb2RlKCkgPT0gU1BBQ0U7CiAgICAg
ICAgICAgICAvLyBBdXRvLXdyYXBwaW5nIHRleHQgc2hvdWxkIHdyYXAgaW4gdGhlIG1pZGRsZSBv
ZiBhIHdvcmQgb25seSBpZiBpdCBjb3VsZCBub3Qgd3JhcCBiZWZvcmUgdGhlIHdvcmQsCiAgICAg
ICAgICAgICAvLyB3aGljaCBpcyBvbmx5IHBvc3NpYmxlIGlmIHRoZSB3b3JkIGlzIHRoZSBmaXJz
dCB0aGluZyBvbiB0aGUgbGluZSwgdGhhdCBpcywgaWYgfHd8IGlzIHplcm8uCiAgICAgICAgICAg
ICBib29sIGJyZWFrV29yZHMgPSBvLT5zdHlsZSgpLT5icmVha1dvcmRzKCkgJiYgKChhdXRvV3Jh
cCAmJiAhdykgfHwgY3VycldTID09IFBSRSk7CiAgICAgICAgICAgICBib29sIG1pZFdvcmRCcmVh
ayA9IGZhbHNlOwogICAgICAgICAgICAgYm9vbCBicmVha0FsbCA9IG8tPnN0eWxlKCktPndvcmRC
cmVhaygpID09IEJyZWFrQWxsV29yZEJyZWFrICYmIGF1dG9XcmFwOwotICAgICAgICAgICAgaW50
IGh5cGhlbldpZHRoID0gMDsKKyAgICAgICAgICAgIGZsb2F0IGh5cGhlbldpZHRoID0gMDsKIAog
ICAgICAgICAgICAgaWYgKHQtPmlzV29yZEJyZWFrKCkpIHsKICAgICAgICAgICAgICAgICB3ICs9
IHRtcFc7CkBAIC0xNzQzLDcgKzE3NDMsNyBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9jazo6
ZmluZE5leHRMaW5lCiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
ICAgIH0KIAotICAgICAgICAgICAgICAgICAgICBpbnQgYWRkaXRpb25hbFRtcFc7CisgICAgICAg
ICAgICAgICAgICAgIGZsb2F0IGFkZGl0aW9uYWxUbXBXOwogICAgICAgICAgICAgICAgICAgICBp
ZiAod29yZFRyYWlsaW5nU3BhY2VXaWR0aCAmJiBjdXJyZW50Q2hhcmFjdGVySXNTcGFjZSkKICAg
ICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxUbXBXID0gdGV4dFdpZHRoKHQsIGxhc3RT
cGFjZSwgcG9zICsgMSAtIGxhc3RTcGFjZSwgZiwgdyArIHRtcFcsIGlzRml4ZWRQaXRjaCwgY29s
bGFwc2VXaGl0ZVNwYWNlKSAtIHdvcmRUcmFpbGluZ1NwYWNlV2lkdGggKyBsYXN0U3BhY2VXb3Jk
U3BhY2luZzsKICAgICAgICAgICAgICAgICAgICAgZWxzZQpAQCAtMTg5Myw3ICsxODkzLDcgQEAg
SW5saW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZQogICAgICAgICAgICAgfQog
CiAgICAgICAgICAgICAvLyBJTVBPUlRBTlQ6IHBvcyBpcyA+IGxlbmd0aCBoZXJlIQotICAgICAg
ICAgICAgaW50IGFkZGl0aW9uYWxUbXBXID0gaWdub3JpbmdTcGFjZXMgPyAwIDogdGV4dFdpZHRo
KHQsIGxhc3RTcGFjZSwgcG9zIC0gbGFzdFNwYWNlLCBmLCB3ICsgdG1wVywgaXNGaXhlZFBpdGNo
LCBjb2xsYXBzZVdoaXRlU3BhY2UpICsgbGFzdFNwYWNlV29yZFNwYWNpbmc7CisgICAgICAgICAg
ICBmbG9hdCBhZGRpdGlvbmFsVG1wVyA9IGlnbm9yaW5nU3BhY2VzID8gMCA6IHRleHRXaWR0aCh0
LCBsYXN0U3BhY2UsIHBvcyAtIGxhc3RTcGFjZSwgZiwgdyArIHRtcFcsIGlzRml4ZWRQaXRjaCwg
Y29sbGFwc2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOwogICAgICAgICAgICAg
dG1wVyArPSBhZGRpdGlvbmFsVG1wVzsKICAgICAgICAgICAgIHRtcFcgKz0gaW5saW5lTG9naWNh
bFdpZHRoKG8sICFhcHBsaWVkU3RhcnRXaWR0aCwgdHJ1ZSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzI5LDcgKzEz
MjksNyBAQCB2b2lkIFJlbmRlckJveDo6cG9zaXRpb25MaW5lQm94KElubGluZUJvCiAgICAgICAg
IGJveC0+cmVtb3ZlKCk7CiAgICAgICAgIGJveC0+ZGVzdHJveShyZW5kZXJBcmVuYSgpKTsKICAg
ICB9IGVsc2UgaWYgKGlzUmVwbGFjZWQoKSkgewotICAgICAgICBzZXRMb2NhdGlvbihib3gtPngo
KSwgYm94LT55KCkpOworICAgICAgICBzZXRMb2NhdGlvbihscm91bmRmKGJveC0+eCgpKSwgbHJv
dW5kZihib3gtPnkoKSkpOwogICAgICAgICBtX2lubGluZUJveFdyYXBwZXIgPSBib3g7CiAgICAg
fQogfQpAQCAtMzM0OCw2ICszMzQ4LDI0IEBAIEludFNpemUgUmVuZGVyQm94OjpmbGlwRm9yV3Jp
dGluZ01vZGUoY28KICAgICByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSA/IEludFNpemUob2Zmc2V0LndpZHRoKCksIGhlaWdodCgpIC0gb2Zmc2V0LmhlaWdodCgpKSA6
IEludFNpemUod2lkdGgoKSAtIG9mZnNldC53aWR0aCgpLCBvZmZzZXQuaGVpZ2h0KCkpOwogfQog
CitGbG9hdFBvaW50IFJlbmRlckJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEZsb2F0UG9p
bnQmIHBvc2l0aW9uKSBjb25zdAoreworICAgIGlmICghc3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tz
V3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHBvc2l0aW9uOworICAgIHJldHVybiBzdHls
ZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gRmxvYXRQb2ludChwb3NpdGlvbi54KCks
IGhlaWdodCgpIC0gcG9zaXRpb24ueSgpKSA6IEZsb2F0UG9pbnQod2lkdGgoKSAtIHBvc2l0aW9u
LngoKSwgcG9zaXRpb24ueSgpKTsKK30KKwordm9pZCBSZW5kZXJCb3g6OmZsaXBGb3JXcml0aW5n
TW9kZShGbG9hdFJlY3QmIHJlY3QpIGNvbnN0Cit7CisgICAgaWYgKCFzdHlsZSgpLT5pc0ZsaXBw
ZWRCbG9ja3NXcml0aW5nTW9kZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoc3R5bGUo
KS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmVjdC5zZXRZKGhlaWdodCgp
IC0gcmVjdC5tYXhZKCkpOworICAgIGVsc2UKKyAgICAgICAgcmVjdC5zZXRYKHdpZHRoKCkgLSBy
ZWN0Lm1heFgoKSk7Cit9CisKIEludFNpemUgUmVuZGVyQm94Ojpsb2NhdGlvbk9mZnNldEluY2x1
ZGluZ0ZsaXBwaW5nKCkgY29uc3QKIHsKICAgICBpZiAoIXBhcmVudCgpIHx8ICFwYXJlbnQoKS0+
aXNCb3goKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHJldmlzaW9u
IDc4MzUwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zODUsNiArMzg1LDggQEAgcHVibGljOgogICAgIEludFBvaW50IGZsaXBGb3JX
cml0aW5nTW9kZUluY2x1ZGluZ0NvbHVtbnMoY29uc3QgSW50UG9pbnQmKSBjb25zdDsKICAgICBJ
bnRTaXplIGZsaXBGb3JXcml0aW5nTW9kZShjb25zdCBJbnRTaXplJikgY29uc3Q7CiAgICAgdm9p
ZCBmbGlwRm9yV3JpdGluZ01vZGUoSW50UmVjdCYpIGNvbnN0OworICAgIEZsb2F0UG9pbnQgZmxp
cEZvcldyaXRpbmdNb2RlKGNvbnN0IEZsb2F0UG9pbnQmKSBjb25zdDsKKyAgICB2b2lkIGZsaXBG
b3JXcml0aW5nTW9kZShGbG9hdFJlY3QmKSBjb25zdDsKICAgICBJbnRTaXplIGxvY2F0aW9uT2Zm
c2V0SW5jbHVkaW5nRmxpcHBpbmcoKSBjb25zdDsKIAogICAgIEludFJlY3QgbG9naWNhbFZpc3Vh
bE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRlclN0eWxlKikgY29uc3Q7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5jcHAJKHJldmlz
aW9uIDc4MzUwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNyBAQCB2b2lkIFJlbmRlckNvbWJpbmVU
ZXh0OjpzZXRUZXh0SW50ZXJuYWwoCiAgICAgbV9uZWVkc0ZvbnRVcGRhdGUgPSB0cnVlOwogfQog
Ci11bnNpZ25lZCBSZW5kZXJDb21iaW5lVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWdu
ZWQgbGVuZ3RoLCBjb25zdCBGb250JiBmb250LCBpbnQgeFBvc2l0aW9uLCBIYXNoU2V0PGNvbnN0
IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3Zl
cmZsb3cpIGNvbnN0CitmbG9hdCBSZW5kZXJDb21iaW5lVGV4dDo6d2lkdGgodW5zaWduZWQgZnJv
bSwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBGb250JiBmb250LCBmbG9hdCB4UG9zaXRpb24sIEhh
c2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxv
dyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKICAgICBpZiAoIWNoYXJhY3RlcnMoKSkKICAgICAg
ICAgcmV0dXJuIDA7CkBAIC02Myw3ICs2Myw3IEBAIHVuc2lnbmVkIFJlbmRlckNvbWJpbmVUZXh0
Ojp3aWR0aCh1bnNpZ24KICAgICByZXR1cm4gUmVuZGVyVGV4dDo6d2lkdGgoZnJvbSwgbGVuZ3Ro
LCBmb250LCB4UG9zaXRpb24sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQogCi12
b2lkIFJlbmRlckNvbWJpbmVUZXh0OjphZGp1c3RUZXh0T3JpZ2luKEludFBvaW50JiB0ZXh0T3Jp
Z2luLCBjb25zdCBJbnRSZWN0JiBib3hSZWN0KSBjb25zdAordm9pZCBSZW5kZXJDb21iaW5lVGV4
dDo6YWRqdXN0VGV4dE9yaWdpbihGbG9hdFBvaW50JiB0ZXh0T3JpZ2luLCBjb25zdCBGbG9hdFJl
Y3QmIGJveFJlY3QpIGNvbnN0CiB7CiAgICAgaWYgKG1faXNDb21iaW5lZCkKICAgICAgICAgdGV4
dE9yaWdpbi5tb3ZlKGJveFJlY3QuaGVpZ2h0KCkgLyAyIC0gY2VpbGYobV9jb21iaW5lZFRleHRX
aWR0aCkgLyAyLCBzdHlsZSgpLT5mb250KCkucGl4ZWxTaXplKCkpOwpAQCAtOTgsNyArOTgsNyBA
QCB2b2lkIFJlbmRlckNvbWJpbmVUZXh0Ojpjb21iaW5lVGV4dCgpCiAgICAgYm9vbCBzaG91bGRV
cGRhdGVGb250ID0gZmFsc2U7CiAKICAgICBkZXNjcmlwdGlvbi5zZXRPcmllbnRhdGlvbihIb3Jp
em9udGFsKTsgLy8gV2UgYXJlIGdvaW5nIHRvIGRyYXcgY29tYmluZWQgdGV4dCBob3Jpem9udGFs
bHkuCi0gICAgbV9jb21iaW5lZFRleHRXaWR0aCA9IHN0eWxlKCktPmZvbnQoKS5mbG9hdFdpZHRo
KHJ1bik7CisgICAgbV9jb21iaW5lZFRleHRXaWR0aCA9IHN0eWxlKCktPmZvbnQoKS53aWR0aChy
dW4pOwogICAgIG1faXNDb21iaW5lZCA9IG1fY29tYmluZWRUZXh0V2lkdGggPD0gZW1XaWR0aDsK
IAogICAgIGlmIChtX2lzQ29tYmluZWQpCkBAIC0xMTAsNyArMTEwLDcgQEAgdm9pZCBSZW5kZXJD
b21iaW5lVGV4dDo6Y29tYmluZVRleHQoKQogICAgICAgICAgICAgZGVzY3JpcHRpb24uc2V0V2lk
dGhWYXJpYW50KHdpZHRoVmFyaWFudHNbaV0pOwogICAgICAgICAgICAgRm9udCBjb21wcmVzc2Vk
Rm9udCA9IEZvbnQoZGVzY3JpcHRpb24sIHN0eWxlKCktPmZvbnQoKS5sZXR0ZXJTcGFjaW5nKCks
IHN0eWxlKCktPmZvbnQoKS53b3JkU3BhY2luZygpKTsKICAgICAgICAgICAgIGNvbXByZXNzZWRG
b250LnVwZGF0ZShzdHlsZSgpLT5mb250KCkuZm9udFNlbGVjdG9yKCkpOwotICAgICAgICAgICAg
ZmxvYXQgcnVuV2lkdGggPSBjb21wcmVzc2VkRm9udC5mbG9hdFdpZHRoKHJ1bik7CisgICAgICAg
ICAgICBmbG9hdCBydW5XaWR0aCA9IGNvbXByZXNzZWRGb250LndpZHRoKHJ1bik7CiAgICAgICAg
ICAgICBpZiAocnVuV2lkdGggPD0gZW1XaWR0aCkgewogICAgICAgICAgICAgICAgIG1fY29tYmlu
ZWRUZXh0V2lkdGggPSBydW5XaWR0aDsKICAgICAgICAgICAgICAgICBtX2lzQ29tYmluZWQgPSB0
cnVlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0
LmgJKHJldmlzaW9uIDc4MzUwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNv
bWJpbmVUZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDEzICszMCwxMyBAQCBwdWJsaWM6CiAg
ICAgUmVuZGVyQ29tYmluZVRleHQoTm9kZSosIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4pOwogCiAg
ICAgdm9pZCBjb21iaW5lVGV4dCgpOwotICAgIHZvaWQgYWRqdXN0VGV4dE9yaWdpbihJbnRQb2lu
dCYgdGV4dE9yaWdpbiwgY29uc3QgSW50UmVjdCYgYm94UmVjdCkgY29uc3Q7CisgICAgdm9pZCBh
ZGp1c3RUZXh0T3JpZ2luKEZsb2F0UG9pbnQmIHRleHRPcmlnaW4sIGNvbnN0IEZsb2F0UmVjdCYg
Ym94UmVjdCkgY29uc3Q7CiAgICAgdm9pZCBjaGFyYWN0ZXJzVG9SZW5kZXIoaW50IHN0YXJ0LCBj
b25zdCBVQ2hhciomIGNoYXJhY3RlcnMsIGludCYgbGVuZ3RoKSBjb25zdDsKICAgICBib29sIGlz
Q29tYmluZWQoKSBjb25zdCB7IHJldHVybiBtX2lzQ29tYmluZWQ7IH0KLSAgICBpbnQgY29tYmlu
ZWRUZXh0V2lkdGgoY29uc3QgRm9udCYgZm9udCkgY29uc3QgeyByZXR1cm4gZm9udC5zaXplKCk7
IH0KKyAgICBmbG9hdCBjb21iaW5lZFRleHRXaWR0aChjb25zdCBGb250JiBmb250KSBjb25zdCB7
IHJldHVybiBmb250LnNpemUoKTsgfQogCiBwcml2YXRlOgotICAgIHZpcnR1YWwgdW5zaWduZWQg
d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBGb250JiwgaW50IHhQ
b3NpdGlvbiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0g
MCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKKyAgICB2aXJ0dWFsIGZsb2F0IHdpZHRoKHVu
c2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgRm9udCYsIGZsb2F0IHhQb3NpdGlv
biwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5
cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5h
bWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyQ29tYmluZVRleHQiOyB9CiAgICAgdmlydHVhbCB2
b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9s
ZFN0eWxlKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VGV4dEludGVybmFsKFBhc3NSZWZQdHI8U3Ry
aW5nSW1wbD4pOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVk
T2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RW1iZWRkZWRPYmplY3QuY3BwCShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5OSw4
ICsxOTksNyBAQCBib29sIFJlbmRlckVtYmVkZGVkT2JqZWN0OjpnZXRSZXBsYWNlbWVuCiAgICAg
Zm9udC51cGRhdGUoMCk7CiAgICAgCiAgICAgcnVuID0gVGV4dFJ1bihtX3JlcGxhY2VtZW50VGV4
dC5jaGFyYWN0ZXJzKCksIG1fcmVwbGFjZW1lbnRUZXh0Lmxlbmd0aCgpKTsKLSAgICBydW4uZGlz
YWJsZVJvdW5kaW5nSGFja3MoKTsKLSAgICB0ZXh0V2lkdGggPSBmb250LmZsb2F0V2lkdGgocnVu
KTsKKyAgICB0ZXh0V2lkdGggPSBmb250LndpZHRoKHJ1bik7CiAgICAgCiAgICAgcmVwbGFjZW1l
bnRUZXh0UmVjdC5zZXRTaXplKEZsb2F0U2l6ZSh0ZXh0V2lkdGggKyByZXBsYWNlbWVudFRleHRS
b3VuZGVkUmVjdExlZnRSaWdodFRleHRNYXJnaW4gKiAyLCByZXBsYWNlbWVudFRleHRSb3VuZGVk
UmVjdEhlaWdodCkpOwogICAgIGZsb2F0IHggPSAoY29udGVudFJlY3Quc2l6ZSgpLndpZHRoKCkg
LyAyIC0gcmVwbGFjZW1lbnRUZXh0UmVjdC5zaXplKCkud2lkdGgoKSAvIDIpICsgY29udGVudFJl
Y3QubG9jYXRpb24oKS54KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RmlsZVVwbG9hZENvbnRyb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAJKHJldmlzaW9uIDc4MzUwKQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjczLDcgKzI3Myw3IEBAIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6
OmNvbXB1dGVQcmUKICAgICAgICAgLy8gRmlndXJlIG91dCBob3cgYmlnIHRoZSBmaWxlbmFtZSBz
cGFjZSBuZWVkcyB0byBiZSBmb3IgYSBnaXZlbiBudW1iZXIgb2YgY2hhcmFjdGVycwogICAgICAg
ICAvLyAodXNpbmcgIjAiIGFzIHRoZSBub21pbmFsIGNoYXJhY3RlcikuCiAgICAgICAgIGNvbnN0
IFVDaGFyIGNoID0gJzAnOwotICAgICAgICBmbG9hdCBjaGFyV2lkdGggPSBzdHlsZSgpLT5mb250
KCkuZmxvYXRXaWR0aChUZXh0UnVuKCZjaCwgMSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93
VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlLCBmYWxzZSwgZmFsc2UpKTsKKyAgICAgICAgZmxvYXQg
Y2hhcldpZHRoID0gc3R5bGUoKS0+Zm9udCgpLndpZHRoKFRleHRSdW4oJmNoLCAxLCBmYWxzZSwg
MCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgZmFsc2UpKTsKICAgICAgICAg
bV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSAoaW50KWNlaWxmKGNoYXJXaWR0aCAqIGRlZmF1
bHRXaWR0aE51bUNoYXJzKTsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckltYWdlLmNwcAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MSw3ICs4MSw3IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBzaG9ydCBwYWRkaW5nSGVpZ2gKIAogLy8gQWx0IHRleHQgaXMg
cmVzdHJpY3RlZCB0byB0aGlzIG1heGltdW0gc2l6ZSwgaW4gcGl4ZWxzLiAgVGhlc2UgYXJlCiAv
LyBzaWduZWQgaW50ZWdlcnMgYmVjYXVzZSB0aGV5IGFyZSBjb21wYXJlZCB3aXRoIG90aGVyIHNp
Z25lZCB2YWx1ZXMuCi1zdGF0aWMgY29uc3QgaW50IG1heEFsdFRleHRXaWR0aCA9IDEwMjQ7Citz
dGF0aWMgY29uc3QgZmxvYXQgbWF4QWx0VGV4dFdpZHRoID0gMTAyNDsKIHN0YXRpYyBjb25zdCBp
bnQgbWF4QWx0VGV4dEhlaWdodCA9IDI1NjsKIAogSW50U2l6ZSBSZW5kZXJJbWFnZTo6aW1hZ2VT
aXplRm9yRXJyb3IoQ2FjaGVkSW1hZ2UqIG5ld0ltYWdlKSBjb25zdApJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAJKHJldmlzaW9uIDc4MzUwKQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU1OSw4ICs1NTksOCBAQCBJbnRSZWN0IFJlbmRlcklubGluZTo6bGluZXNCb3VuZGluZ0JveCgp
CiAgICAgQVNTRVJUKCFmaXJzdExpbmVCb3goKSA9PSAhbGFzdExpbmVCb3goKSk7ICAvLyBFaXRo
ZXIgYm90aCBhcmUgbnVsbCBvciBib3RoIGV4aXN0LgogICAgIGlmIChmaXJzdExpbmVCb3goKSAm
JiBsYXN0TGluZUJveCgpKSB7CiAgICAgICAgIC8vIFJldHVybiB0aGUgd2lkdGggb2YgdGhlIG1p
bmltYWwgbGVmdCBzaWRlIGFuZCB0aGUgbWF4aW1hbCByaWdodCBzaWRlLgotICAgICAgICBpbnQg
bG9naWNhbExlZnRTaWRlID0gMDsKLSAgICAgICAgaW50IGxvZ2ljYWxSaWdodFNpZGUgPSAwOwor
ICAgICAgICBmbG9hdCBsb2dpY2FsTGVmdFNpZGUgPSAwOworICAgICAgICBmbG9hdCBsb2dpY2Fs
UmlnaHRTaWRlID0gMDsKICAgICAgICAgZm9yIChJbmxpbmVGbG93Qm94KiBjdXJyID0gZmlyc3RM
aW5lQm94KCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0TGluZUJveCgpKSB7CiAgICAgICAgICAg
ICBpZiAoY3VyciA9PSBmaXJzdExpbmVCb3goKSB8fCBjdXJyLT5sb2dpY2FsTGVmdCgpIDwgbG9n
aWNhbExlZnRTaWRlKQogICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0U2lkZSA9IGN1cnItPmxv
Z2ljYWxMZWZ0KCk7CkBAIC01NzAsMTEgKzU3MCwxMSBAQCBJbnRSZWN0IFJlbmRlcklubGluZTo6
bGluZXNCb3VuZGluZ0JveCgpCiAgICAgICAgIAogICAgICAgICBib29sIGlzSG9yaXpvbnRhbCA9
IHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CiAgICAgICAgIAotICAgICAgICBp
bnQgeCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxMZWZ0U2lkZSA6IGZpcnN0TGluZUJveCgpLT54
KCk7Ci0gICAgICAgIGludCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RMaW5lQm94KCktPnkoKSA6
IGxvZ2ljYWxMZWZ0U2lkZTsKLSAgICAgICAgaW50IHdpZHRoID0gaXNIb3Jpem9udGFsID8gbG9n
aWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZSA6IGxhc3RMaW5lQm94KCktPmxvZ2ljYWxC
b3R0b20oKSAtIHg7Ci0gICAgICAgIGludCBoZWlnaHQgPSBpc0hvcml6b250YWwgPyBsYXN0TGlu
ZUJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB5IDogbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxM
ZWZ0U2lkZTsKLSAgICAgICAgcmVzdWx0ID0gSW50UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KTsK
KyAgICAgICAgZmxvYXQgeCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxMZWZ0U2lkZSA6IGZpcnN0
TGluZUJveCgpLT54KCk7CisgICAgICAgIGZsb2F0IHkgPSBpc0hvcml6b250YWwgPyBmaXJzdExp
bmVCb3goKS0+eSgpIDogbG9naWNhbExlZnRTaWRlOworICAgICAgICBmbG9hdCB3aWR0aCA9IGlz
SG9yaXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0TGlu
ZUJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB4OworICAgICAgICBmbG9hdCBoZWlnaHQgPSBpc0hv
cml6b250YWwgPyBsYXN0TGluZUJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB5IDogbG9naWNhbFJp
Z2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICAgICAgcmVzdWx0ID0gZW5jbG9zaW5nSW50
UmVjdChGbG9hdFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCkpOwogICAgIH0KIAogICAgIHJldHVy
biByZXN1bHQ7CkBAIC01ODYsMjAgKzU4NiwyMCBAQCBJbnRSZWN0IFJlbmRlcklubGluZTo6bGlu
ZXNWaXN1YWxPdmVyZmxvCiAgICAgICAgIHJldHVybiBJbnRSZWN0KCk7CiAKICAgICAvLyBSZXR1
cm4gdGhlIHdpZHRoIG9mIHRoZSBtaW5pbWFsIGxlZnQgc2lkZSBhbmQgdGhlIG1heGltYWwgcmln
aHQgc2lkZS4KLSAgICBpbnQgbG9naWNhbExlZnRTaWRlID0gbnVtZXJpY19saW1pdHM8aW50Pjo6
bWF4KCk7Ci0gICAgaW50IGxvZ2ljYWxSaWdodFNpZGUgPSBudW1lcmljX2xpbWl0czxpbnQ+Ojpt
aW4oKTsKKyAgICBmbG9hdCBsb2dpY2FsTGVmdFNpZGUgPSBudW1lcmljX2xpbWl0czxpbnQ+Ojpt
YXgoKTsKKyAgICBmbG9hdCBsb2dpY2FsUmlnaHRTaWRlID0gbnVtZXJpY19saW1pdHM8aW50Pjo6
bWluKCk7CiAgICAgZm9yIChJbmxpbmVGbG93Qm94KiBjdXJyID0gZmlyc3RMaW5lQm94KCk7IGN1
cnI7IGN1cnIgPSBjdXJyLT5uZXh0TGluZUJveCgpKSB7Ci0gICAgICAgIGxvZ2ljYWxMZWZ0U2lk
ZSA9IG1pbihsb2dpY2FsTGVmdFNpZGUsIGN1cnItPmxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3co
KSk7Ci0gICAgICAgIGxvZ2ljYWxSaWdodFNpZGUgPSBtYXgobG9naWNhbFJpZ2h0U2lkZSwgY3Vy
ci0+bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7CisgICAgICAgIGxvZ2ljYWxMZWZ0U2lk
ZSA9IG1pbihsb2dpY2FsTGVmdFNpZGUsIHN0YXRpY19jYXN0PGZsb2F0PihjdXJyLT5sb2dpY2Fs
TGVmdFZpc3VhbE92ZXJmbG93KCkpKTsKKyAgICAgICAgbG9naWNhbFJpZ2h0U2lkZSA9IG1heChs
b2dpY2FsUmlnaHRTaWRlLCBzdGF0aWNfY2FzdDxmbG9hdD4oY3Vyci0+bG9naWNhbFJpZ2h0Vmlz
dWFsT3ZlcmZsb3coKSkpOwogICAgIH0KIAogICAgIGJvb2wgaXNIb3Jpem9udGFsID0gc3R5bGUo
KS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKTsKICAgICAgICAgCi0gICAgaW50IHggPSBpc0hv
cml6b250YWwgPyBsb2dpY2FsTGVmdFNpZGUgOiBmaXJzdExpbmVCb3goKS0+bWluWFZpc3VhbE92
ZXJmbG93KCk7Ci0gICAgaW50IHkgPSBpc0hvcml6b250YWwgPyBmaXJzdExpbmVCb3goKS0+bWlu
WVZpc3VhbE92ZXJmbG93KCkgOiBsb2dpY2FsTGVmdFNpZGU7Ci0gICAgaW50IHdpZHRoID0gaXNI
b3Jpem9udGFsID8gbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZSA6IGxhc3RMaW5l
Qm94KCktPm1heFhWaXN1YWxPdmVyZmxvdygpIC0gZmlyc3RMaW5lQm94KCktPm1pblhWaXN1YWxP
dmVyZmxvdygpOwotICAgIGludCBoZWlnaHQgPSBpc0hvcml6b250YWwgPyBsYXN0TGluZUJveCgp
LT5tYXhZVmlzdWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT5taW5ZVmlzdWFsT3ZlcmZs
b3coKSA6IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGU7Ci0gICAgcmV0dXJuIElu
dFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCk7CisgICAgZmxvYXQgeCA9IGlzSG9yaXpvbnRhbCA/
IGxvZ2ljYWxMZWZ0U2lkZSA6IGZpcnN0TGluZUJveCgpLT5taW5YVmlzdWFsT3ZlcmZsb3coKTsK
KyAgICBmbG9hdCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RMaW5lQm94KCktPm1pbllWaXN1YWxP
dmVyZmxvdygpIDogbG9naWNhbExlZnRTaWRlOworICAgIGZsb2F0IHdpZHRoID0gaXNIb3Jpem9u
dGFsID8gbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZSA6IGxhc3RMaW5lQm94KCkt
Pm1heFhWaXN1YWxPdmVyZmxvdygpIC0gZmlyc3RMaW5lQm94KCktPm1pblhWaXN1YWxPdmVyZmxv
dygpOworICAgIGZsb2F0IGhlaWdodCA9IGlzSG9yaXpvbnRhbCA/IGxhc3RMaW5lQm94KCktPm1h
eFlWaXN1YWxPdmVyZmxvdygpIC0gZmlyc3RMaW5lQm94KCktPm1pbllWaXN1YWxPdmVyZmxvdygp
IDogbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICByZXR1cm4gZW5jbG9z
aW5nSW50UmVjdChGbG9hdFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCkpOwogfQogCiBJbnRSZWN0
IFJlbmRlcklubGluZTo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9k
ZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpCkBAIC05NjMsOCArOTYzLDggQEAgdm9pZCBSZW5k
ZXJJbmxpbmU6OmFkZEZvY3VzUmluZ1JlY3RzKFZlYwogewogICAgIGZvciAoSW5saW5lRmxvd0Jv
eCogY3VyciA9IGZpcnN0TGluZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dExpbmVCb3go
KSkgewogICAgICAgICBSb290SW5saW5lQm94KiByb290ID0gY3Vyci0+cm9vdCgpOwotICAgICAg
ICBpbnQgdG9wID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+eSgpKTsKLSAgICAgICAgaW50
IGJvdHRvbSA9IG1pbihyb290LT5saW5lQm90dG9tKCksIGN1cnItPnkoKSArIGN1cnItPmxvZ2lj
YWxIZWlnaHQoKSk7CisgICAgICAgIGludCB0b3AgPSBtYXgocm9vdC0+bGluZVRvcCgpLCBjdXJy
LT5sb2dpY2FsVG9wKCkpOworICAgICAgICBpbnQgYm90dG9tID0gbWluKHJvb3QtPmxpbmVCb3R0
b20oKSwgY3Vyci0+bG9naWNhbEJvdHRvbSgpKTsKICAgICAgICAgSW50UmVjdCByZWN0KHR4ICsg
Y3Vyci0+eCgpLCB0eSArIHRvcCwgY3Vyci0+bG9naWNhbFdpZHRoKCksIGJvdHRvbSAtIHRvcCk7
CiAgICAgICAgIGlmICghcmVjdC5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZWN0cy5hcHBlbmQo
cmVjdCk7CkBAIC0xMDE1LDggKzEwMTUsOCBAQCB2b2lkIFJlbmRlcklubGluZTo6cGFpbnRPdXRs
aW5lKEdyYXBoaWNzCiAgICAgcmVjdHMuYXBwZW5kKEludFJlY3QoKSk7CiAgICAgZm9yIChJbmxp
bmVGbG93Qm94KiBjdXJyID0gZmlyc3RMaW5lQm94KCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0
TGluZUJveCgpKSB7CiAgICAgICAgIFJvb3RJbmxpbmVCb3gqIHJvb3QgPSBjdXJyLT5yb290KCk7
Ci0gICAgICAgIGludCB0b3AgPSBtYXgocm9vdC0+bGluZVRvcCgpLCBjdXJyLT55KCkpOwotICAg
ICAgICBpbnQgYm90dG9tID0gbWluKHJvb3QtPmxpbmVCb3R0b20oKSwgY3Vyci0+eSgpICsgY3Vy
ci0+bG9naWNhbEhlaWdodCgpKTsKKyAgICAgICAgaW50IHRvcCA9IG1heChyb290LT5saW5lVG9w
KCksIGN1cnItPmxvZ2ljYWxUb3AoKSk7CisgICAgICAgIGludCBib3R0b20gPSBtaW4ocm9vdC0+
bGluZUJvdHRvbSgpLCBjdXJyLT5sb2dpY2FsQm90dG9tKCkpOwogICAgICAgICByZWN0cy5hcHBl
bmQoSW50UmVjdChjdXJyLT54KCksIHRvcCwgY3Vyci0+bG9naWNhbFdpZHRoKCksIGJvdHRvbSAt
IHRvcCkpOwogICAgIH0KICAgICByZWN0cy5hcHBlbmQoSW50UmVjdCgpKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAJKHJldmlzaW9uIDc4MzUwKQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMTEsNyArMTExLDcgQEAgdm9pZCBSZW5kZXJMaXN0Qm94Ojp1cGRhdGVGcm9tRWxl
bWVudCgpCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICBpZiAo
IXRleHQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICAgICAgZmxvYXQgdGV4dFdpZHRoID0gaXRl
bUZvbnQuZmxvYXRXaWR0aChUZXh0UnVuKHRleHQuaW1wbCgpLCBmYWxzZSwgMCwgMCwgVGV4dFJ1
bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UpKTsK
KyAgICAgICAgICAgICAgICBmbG9hdCB0ZXh0V2lkdGggPSBpdGVtRm9udC53aWR0aChUZXh0UnVu
KHRleHQuaW1wbCgpLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lv
biwgZmFsc2UsIGZhbHNlKSk7CiAgICAgICAgICAgICAgICAgd2lkdGggPSBtYXgod2lkdGgsIHRl
eHRXaWR0aCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTMzMyw3ICszMzMsNyBAQCB2
b2lkIFJlbmRlckxpc3RCb3g6OnBhaW50SXRlbUZvcmVncm91bmQoCiAKICAgICB1bnNpZ25lZCBs
ZW5ndGggPSBpdGVtVGV4dC5sZW5ndGgoKTsKICAgICBjb25zdCBVQ2hhciogc3RyaW5nID0gaXRl
bVRleHQuY2hhcmFjdGVycygpOwotICAgIFRleHRSdW4gdGV4dFJ1bihzdHJpbmcsIGxlbmd0aCwg
ZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sICFpdGVtU3R5bGUt
PmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgaXRlbVN0eWxlLT51bmljb2RlQmlkaSgpID09IE92
ZXJyaWRlLCBmYWxzZSwgZmFsc2UpOworICAgIFRleHRSdW4gdGV4dFJ1bihzdHJpbmcsIGxlbmd0
aCwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sICFpdGVtU3R5
bGUtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgaXRlbVN0eWxlLT51bmljb2RlQmlkaSgpID09
IE92ZXJyaWRlKTsKIAogICAgIC8vIERyYXcgdGhlIGl0ZW0gdGV4dAogICAgIGlmIChpdGVtU3R5
bGUtPnZpc2liaWxpdHkoKSAhPSBISURERU4pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWVudUxpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNZW51TGlzdC5jcHAJKHJldmlzaW9uIDc4MzUwKQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTUzLDEw
ICsxNTMsMTAgQEAgdm9pZCBSZW5kZXJNZW51TGlzdDo6dXBkYXRlT3B0aW9uc1dpZHRoKAogICAg
ICAgICAgICAgaWYgKFJlbmRlclN0eWxlKiBvcHRpb25TdHlsZSA9IGVsZW1lbnQtPnJlbmRlclN0
eWxlKCkpCiAgICAgICAgICAgICAgICAgb3B0aW9uV2lkdGggKz0gb3B0aW9uU3R5bGUtPnRleHRJ
bmRlbnQoKS5jYWxjTWluVmFsdWUoMCk7CiAgICAgICAgICAgICBpZiAoIXRleHQuaXNFbXB0eSgp
KQotICAgICAgICAgICAgICAgIG9wdGlvbldpZHRoICs9IHN0eWxlKCktPmZvbnQoKS5mbG9hdFdp
ZHRoKHRleHQpOworICAgICAgICAgICAgICAgIG9wdGlvbldpZHRoICs9IHN0eWxlKCktPmZvbnQo
KS53aWR0aCh0ZXh0KTsKICAgICAgICAgICAgIG1heE9wdGlvbldpZHRoID0gbWF4KG1heE9wdGlv
bldpZHRoLCBvcHRpb25XaWR0aCk7CiAgICAgICAgIH0gZWxzZSBpZiAoIXRleHQuaXNFbXB0eSgp
KQotICAgICAgICAgICAgbWF4T3B0aW9uV2lkdGggPSBtYXgobWF4T3B0aW9uV2lkdGgsIHN0eWxl
KCktPmZvbnQoKS5mbG9hdFdpZHRoKHRleHQpKTsKKyAgICAgICAgICAgIG1heE9wdGlvbldpZHRo
ID0gbWF4KG1heE9wdGlvbldpZHRoLCBzdHlsZSgpLT5mb250KCkud2lkdGgodGV4dCkpOwogICAg
IH0KIAogICAgIGludCB3aWR0aCA9IHN0YXRpY19jYXN0PGludD4oY2VpbGYobWF4T3B0aW9uV2lk
dGgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAJKHJldmlz
aW9uIDc4MzUwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01NjAsNyArNTYwLDcgQEAgSW50UmVjdCBSZW5kZXJUZXh0Ojpsb2Nh
bENhcmV0UmVjdChJbmxpbgogICAgIHJldHVybiBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5n
TW9kZSgpID8gSW50UmVjdChsZWZ0LCB0b3AsIGNhcmV0V2lkdGgsIGhlaWdodCkgOiBJbnRSZWN0
KHRvcCwgbGVmdCwgaGVpZ2h0LCBjYXJldFdpZHRoKTsKIH0KIAotQUxXQVlTX0lOTElORSBpbnQg
UmVuZGVyVGV4dDo6d2lkdGhGcm9tQ2FjaGUoY29uc3QgRm9udCYgZiwgaW50IHN0YXJ0LCBpbnQg
bGVuLCBpbnQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0Zv
bnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAorQUxXQVlTX0lOTElORSBm
bG9hdCBSZW5kZXJUZXh0Ojp3aWR0aEZyb21DYWNoZShjb25zdCBGb250JiBmLCBpbnQgc3RhcnQs
IGludCBsZW4sIGZsb2F0IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFs
bGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKICAgICBp
ZiAoc3R5bGUoKS0+aGFzVGV4dENvbWJpbmUoKSkgewogICAgICAgICBjb25zdCBSZW5kZXJDb21i
aW5lVGV4dCogY29tYmluZVRleHQgPSB0b1JlbmRlckNvbWJpbmVUZXh0KHRoaXMpOwpAQCAtNTY5
LDkgKzU2OSw5IEBAIEFMV0FZU19JTkxJTkUgaW50IFJlbmRlclRleHQ6OndpZHRoRnJvbUMKICAg
ICB9CiAKICAgICBpZiAoZi5pc0ZpeGVkUGl0Y2goKSAmJiAhZi5pc1NtYWxsQ2FwcygpICYmIG1f
aXNBbGxBU0NJSSkgewotICAgICAgICBpbnQgbW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGggPSBmLnNw
YWNlV2lkdGgoKTsKLSAgICAgICAgaW50IHRhYldpZHRoID0gYWxsb3dUYWJzKCkgPyBtb25vc3Bh
Y2VDaGFyYWN0ZXJXaWR0aCAqIDggOiAwOwotICAgICAgICBpbnQgdyA9IDA7CisgICAgICAgIGZs
b2F0IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoID0gZi5zcGFjZVdpZHRoKCk7CisgICAgICAgIGZs
b2F0IHRhYldpZHRoID0gYWxsb3dUYWJzKCkgPyBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aCAqIDgg
OiAwOworICAgICAgICBmbG9hdCB3ID0gMDsKICAgICAgICAgYm9vbCBpc1NwYWNlOwogICAgICAg
ICBib29sIHByZXZpb3VzQ2hhcldhc1NwYWNlID0gdHJ1ZTsgLy8gRklYTUU6IFByZXNlcnZlcyBo
aXN0b3JpY2FsIGJlaGF2aW9yLCBidXQgc2VlbXMgd3JvbmcgZm9yIHN0YXJ0ID4gMC4KICAgICAg
ICAgQVNTRVJUKG1fdGV4dCk7CkBAIC01ODMsNyArNTgzLDcgQEAgQUxXQVlTX0lOTElORSBpbnQg
UmVuZGVyVGV4dDo6d2lkdGhGcm9tQwogICAgICAgICAgICAgICAgICAgICB3ICs9IG1vbm9zcGFj
ZUNoYXJhY3RlcldpZHRoOwogICAgICAgICAgICAgICAgICAgICBpc1NwYWNlID0gdHJ1ZTsKICAg
ICAgICAgICAgICAgICB9IGVsc2UgaWYgKGMgPT0gJ1x0JykgewotICAgICAgICAgICAgICAgICAg
ICB3ICs9IHRhYldpZHRoID8gdGFiV2lkdGggLSAoKHhQb3MgKyB3KSAlIHRhYldpZHRoKSA6IG1v
bm9zcGFjZUNoYXJhY3RlcldpZHRoOworICAgICAgICAgICAgICAgICAgICB3ICs9IHRhYldpZHRo
ID8gdGFiV2lkdGggLSBmbW9kZih4UG9zICsgdywgdGFiV2lkdGgpIDogbW9ub3NwYWNlQ2hhcmFj
dGVyV2lkdGg7CiAgICAgICAgICAgICAgICAgICAgIGlzU3BhY2UgPSB0cnVlOwogICAgICAgICAg
ICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICBpc1NwYWNlID0gZmFsc2U7CkBAIC02
MDEsMTIgKzYwMSwxMiBAQCBBTFdBWVNfSU5MSU5FIGludCBSZW5kZXJUZXh0Ojp3aWR0aEZyb21D
CiAgICAgcmV0dXJuIGYud2lkdGgoVGV4dFJ1bih0ZXh0KCktPmNoYXJhY3RlcnMoKSArIHN0YXJ0
LCBsZW4sIGFsbG93VGFicygpLCB4UG9zKSwgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxvdyk7
CiB9CiAKLXZvaWQgUmVuZGVyVGV4dDo6dHJpbW1lZFByZWZXaWR0aHMoaW50IGxlYWRXaWR0aCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBiZWdpbk1pblcsIGJvb2wm
IGJlZ2luV1MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgZW5kTWlu
VywgYm9vbCYgZW5kV1MsCit2b2lkIFJlbmRlclRleHQ6OnRyaW1tZWRQcmVmV2lkdGhzKGZsb2F0
IGxlYWRXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQmIGJl
Z2luTWluVywgYm9vbCYgYmVnaW5XUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmxvYXQmIGVuZE1pblcsIGJvb2wmIGVuZFdTLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBib29sJiBoYXNCcmVha2FibGVDaGFyLCBib29sJiBoYXNCcmVhaywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBiZWdpbk1heFcsIGludCYgZW5kTWF4
VywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBtaW5XLCBpbnQmIG1h
eFcsIGJvb2wmIHN0cmlwRnJvbnRTcGFjZXMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZsb2F0JiBiZWdpbk1heFcsIGZsb2F0JiBlbmRNYXhXLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBmbG9hdCYgbWluVywgZmxvYXQmIG1heFcsIGJvb2wmIHN0cmlw
RnJvbnRTcGFjZXMpCiB7CiAgICAgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UgPSBzdHlsZSgpLT5j
b2xsYXBzZVdoaXRlU3BhY2UoKTsKICAgICBpZiAoIWNvbGxhcHNlV2hpdGVTcGFjZSkKQEAgLTY0
Niw3ICs2NDYsNyBAQCB2b2lkIFJlbmRlclRleHQ6OnRyaW1tZWRQcmVmV2lkdGhzKGludCBsCiAg
ICAgICAgIGNvbnN0IEZvbnQmIGYgPSBzdHlsZSgpLT5mb250KCk7IC8vIEZJWE1FOiBUaGlzIGln
bm9yZXMgZmlyc3QtbGluZS4KICAgICAgICAgaWYgKHN0cmlwRnJvbnRTcGFjZXMpIHsKICAgICAg
ICAgICAgIGNvbnN0IFVDaGFyIHNwYWNlID0gJyAnOwotICAgICAgICAgICAgaW50IHNwYWNlV2lk
dGggPSBmLndpZHRoKFRleHRSdW4oJnNwYWNlLCAxKSk7CisgICAgICAgICAgICBmbG9hdCBzcGFj
ZVdpZHRoID0gZi53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpOwogICAgICAgICAgICAgbWF4VyAt
PSBzcGFjZVdpZHRoOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIG1heFcgKz0gZi53b3Jk
U3BhY2luZygpOwpAQCAtNjk1LDIzICs2OTUsMjMgQEAgc3RhdGljIGlubGluZSBib29sIGlzU3Bh
Y2VBY2NvcmRpbmdUb1N0eQogICAgIHJldHVybiBjID09ICcgJyB8fCAoYyA9PSBub0JyZWFrU3Bh
Y2UgJiYgc3R5bGUtPm5ic3BNb2RlKCkgPT0gU1BBQ0UpOwogfQogCi1pbnQgUmVuZGVyVGV4dDo6
bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29uc3QKK2Zsb2F0IFJlbmRlclRleHQ6Om1pbkxv
Z2ljYWxXaWR0aCgpIGNvbnN0CiB7CiAgICAgaWYgKHByZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0
eSgpKQotICAgICAgICBjb25zdF9jYXN0PFJlbmRlclRleHQqPih0aGlzKS0+Y29tcHV0ZVByZWZl
cnJlZExvZ2ljYWxXaWR0aHMoMCk7CisgICAgICAgIGNvbnN0X2Nhc3Q8UmVuZGVyVGV4dCo+KHRo
aXMpLT5jb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygwLmYpOwogICAgICAgICAKICAgICBy
ZXR1cm4gbV9taW5XaWR0aDsKIH0KIAotaW50IFJlbmRlclRleHQ6Om1heFByZWZlcnJlZExvZ2lj
YWxXaWR0aCgpIGNvbnN0CitmbG9hdCBSZW5kZXJUZXh0OjptYXhMb2dpY2FsV2lkdGgoKSBjb25z
dAogewogICAgIGlmIChwcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkoKSkKLSAgICAgICAgY29u
c3RfY2FzdDxSZW5kZXJUZXh0Kj4odGhpcyktPmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhz
KDApOworICAgICAgICBjb25zdF9jYXN0PFJlbmRlclRleHQqPih0aGlzKS0+Y29tcHV0ZVByZWZl
cnJlZExvZ2ljYWxXaWR0aHMoMC5mKTsKICAgICAgICAgCiAgICAgcmV0dXJuIG1fbWF4V2lkdGg7
CiB9CiAKLXZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoaW50
IGxlYWRXaWR0aCkKK3ZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0
aHMoZmxvYXQgbGVhZFdpZHRoKQogewogICAgIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEq
PiBmYWxsYmFja0ZvbnRzOwogICAgIEdseXBoT3ZlcmZsb3cgZ2x5cGhPdmVyZmxvdzsKQEAgLTcy
MCw3ICs3MjAsNyBAQCB2b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsCiAg
ICAgICAgIG1fa25vd25Ub0hhdmVOb092ZXJmbG93QW5kTm9GYWxsYmFja0ZvbnRzID0gdHJ1ZTsK
IH0KIAotdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhpbnQg
bGVhZFdpZHRoLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4mIGZhbGxiYWNrRm9udHMs
IEdseXBoT3ZlcmZsb3cmIGdseXBoT3ZlcmZsb3cpCit2b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQ
cmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCwgSGFzaFNldDxjb25zdCBTaW1w
bGVGb250RGF0YSo+JiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93JiBnbHlwaE92ZXJmbG93
KQogewogICAgIEFTU0VSVChtX2hhc1RhYiB8fCBwcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHko
KSB8fCAhbV9rbm93blRvSGF2ZU5vT3ZlcmZsb3dBbmROb0ZhbGxiYWNrRm9udHMpOwogCkBAIC03
MzIsOCArNzMyLDggQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbAog
ICAgIGlmIChpc0JSKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGludCBjdXJyTWluV2lkdGgg
PSAwOwotICAgIGludCBjdXJyTWF4V2lkdGggPSAwOworICAgIGZsb2F0IGN1cnJNaW5XaWR0aCA9
IDA7CisgICAgZmxvYXQgY3Vyck1heFdpZHRoID0gMDsKICAgICBtX2hhc0JyZWFrYWJsZUNoYXIg
PSBmYWxzZTsKICAgICBtX2hhc0JyZWFrID0gZmFsc2U7CiAgICAgbV9oYXNUYWIgPSBmYWxzZTsK
QEAgLTc0MSw3ICs3NDEsNyBAQCB2b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dp
Y2FsCiAgICAgbV9oYXNFbmRXUyA9IGZhbHNlOwogCiAgICAgY29uc3QgRm9udCYgZiA9IHN0eWxl
KCktPmZvbnQoKTsgLy8gRklYTUU6IFRoaXMgaWdub3JlcyBmaXJzdC1saW5lLgotICAgIGludCB3
b3JkU3BhY2luZyA9IHN0eWxlKCktPndvcmRTcGFjaW5nKCk7CisgICAgZmxvYXQgd29yZFNwYWNp
bmcgPSBzdHlsZSgpLT53b3JkU3BhY2luZygpOwogICAgIGludCBsZW4gPSB0ZXh0TGVuZ3RoKCk7
CiAgICAgY29uc3QgVUNoYXIqIHR4dCA9IGNoYXJhY3RlcnMoKTsKICAgICBib29sIG5lZWRzV29y
ZFNwYWNpbmcgPSBmYWxzZTsKQEAgLTgyMSw3ICs4MjEsNyBAQCB2b2lkIFJlbmRlclRleHQ6OmNv
bXB1dGVQcmVmZXJyZWRMb2dpY2FsCiAKICAgICAgICAgaW50IHdvcmRMZW4gPSBqIC0gaTsKICAg
ICAgICAgaWYgKHdvcmRMZW4pIHsKLSAgICAgICAgICAgIGludCB3ID0gd2lkdGhGcm9tQ2FjaGUo
ZiwgaSwgd29yZExlbiwgbGVhZFdpZHRoICsgY3Vyck1heFdpZHRoLCAmZmFsbGJhY2tGb250cywg
JmdseXBoT3ZlcmZsb3cpOworICAgICAgICAgICAgZmxvYXQgdyA9IHdpZHRoRnJvbUNhY2hlKGYs
IGksIHdvcmRMZW4sIGxlYWRXaWR0aCArIGN1cnJNYXhXaWR0aCwgJmZhbGxiYWNrRm9udHMsICZn
bHlwaE92ZXJmbG93KTsKICAgICAgICAgICAgIGlmIChmaXJzdEdseXBoTGVmdE92ZXJmbG93IDwg
MCkKICAgICAgICAgICAgICAgICBmaXJzdEdseXBoTGVmdE92ZXJmbG93ID0gZ2x5cGhPdmVyZmxv
dy5sZWZ0OwogICAgICAgICAgICAgY3Vyck1pbldpZHRoICs9IHc7CkBAIC05MzMsMTcgKzkzMywx
NyBAQCBib29sIFJlbmRlclRleHQ6OmNvbnRhaW5zT25seVdoaXRlc3BhY2UoCiAgICAgcmV0dXJu
IGN1cnJQb3MgPj0gKGZyb20gKyBsZW4pOwogfQogCi1JbnRQb2ludCBSZW5kZXJUZXh0OjpmaXJz
dFJ1bk9yaWdpbigpIGNvbnN0CitGbG9hdFBvaW50IFJlbmRlclRleHQ6OmZpcnN0UnVuT3JpZ2lu
KCkgY29uc3QKIHsKICAgICByZXR1cm4gSW50UG9pbnQoZmlyc3RSdW5YKCksIGZpcnN0UnVuWSgp
KTsKIH0KIAotaW50IFJlbmRlclRleHQ6OmZpcnN0UnVuWCgpIGNvbnN0CitmbG9hdCBSZW5kZXJU
ZXh0OjpmaXJzdFJ1blgoKSBjb25zdAogewogICAgIHJldHVybiBtX2ZpcnN0VGV4dEJveCA/IG1f
Zmlyc3RUZXh0Qm94LT5tX3ggOiAwOwogfQogCi1pbnQgUmVuZGVyVGV4dDo6Zmlyc3RSdW5ZKCkg
Y29uc3QKK2Zsb2F0IFJlbmRlclRleHQ6OmZpcnN0UnVuWSgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IG1fZmlyc3RUZXh0Qm94ID8gbV9maXJzdFRleHRCb3gtPm1feSA6IDA7CiB9CkBAIC0xMjIzLDcg
KzEyMjMsNyBAQCB2b2lkIFJlbmRlclRleHQ6OnBvc2l0aW9uTGluZUJveChJbmxpbmVCCiAgICAg
bV9jb250YWluc1JldmVyc2VkVGV4dCB8PSAhcy0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpOwog
fQogCi11bnNpZ25lZCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBs
ZW4sIGludCB4UG9zLCBib29sIGZpcnN0TGluZSwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0
YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAor
ZmxvYXQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBmbG9h
dCB4UG9zLCBib29sIGZpcnN0TGluZSwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBm
YWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAogewogICAg
IGlmIChmcm9tID49IHRleHRMZW5ndGgoKSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC0xMjM0LDEz
ICsxMjM0LDEzIEBAIHVuc2lnbmVkIFJlbmRlclRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20KICAg
ICByZXR1cm4gd2lkdGgoZnJvbSwgbGVuLCBzdHlsZShmaXJzdExpbmUpLT5mb250KCksIHhQb3Ms
IGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQogCi11bnNpZ25lZCBSZW5kZXJUZXh0
Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbnN0IEZvbnQmIGYsIGludCB4
UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBo
T3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CitmbG9hdCBSZW5kZXJUZXh0Ojp3aWR0aCh1
bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbnN0IEZvbnQmIGYsIGZsb2F0IHhQb3MsIEhh
c2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxv
dyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKICAgICBBU1NFUlQoZnJvbSArIGxlbiA8PSB0ZXh0
TGVuZ3RoKCkpOwogICAgIGlmICghY2hhcmFjdGVycygpKQogICAgICAgICByZXR1cm4gMDsKIAot
ICAgIGludCB3OworICAgIGZsb2F0IHc7CiAgICAgaWYgKCZmID09ICZzdHlsZSgpLT5mb250KCkp
IHsKICAgICAgICAgaWYgKCFzdHlsZSgpLT5wcmVzZXJ2ZU5ld2xpbmUoKSAmJiAhZnJvbSAmJiBs
ZW4gPT0gdGV4dExlbmd0aCgpKSB7CiAgICAgICAgICAgICBpZiAoZmFsbGJhY2tGb250cykgewpA
QCAtMTI1Miw3ICsxMjUyLDcgQEAgdW5zaWduZWQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQg
ZnJvbQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB3ID0gbV9tYXhXaWR0aDsK
ICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHcgPSBtYXhQcmVmZXJyZWRMb2dp
Y2FsV2lkdGgoKTsKKyAgICAgICAgICAgICAgICB3ID0gbWF4TG9naWNhbFdpZHRoKCk7CiAgICAg
ICAgIH0gZWxzZQogICAgICAgICAgICAgdyA9IHdpZHRoRnJvbUNhY2hlKGYsIGZyb20sIGxlbiwg
eFBvcywgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxvdyk7CiAgICAgfSBlbHNlCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJKHJldmlzaW9uIDc4MzUwKQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtNzEs
MjQgKzcxLDI0IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB0ZXh0TGVuZ3RoKCkgY29uc3QgeyBy
ZXR1cm4gbV90ZXh0Lmxlbmd0aCgpOyB9IC8vIG5vbiB2aXJ0dWFsIGltcGxlbWVudGF0aW9uIG9m
IGxlbmd0aCgpCiAgICAgdm9pZCBwb3NpdGlvbkxpbmVCb3goSW5saW5lQm94Kik7CiAKLSAgICB2
aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgY29uc3Qg
Rm9udCYsIGludCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNr
Rm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0OwotICAgIHZpcnR1YWwgdW5zaWdu
ZWQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBpbnQgeFBvcywgYm9vbCBmaXJz
dExpbmUgPSBmYWxzZSwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0Zv
bnRzID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKKyAgICB2aXJ0dWFsIGZsb2F0IHdp
ZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgY29uc3QgRm9udCYsIGZsb2F0IHhQb3Ms
IEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBo
T3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25lZCBm
cm9tLCB1bnNpZ25lZCBsZW4sIGZsb2F0IHhQb3MsIGJvb2wgZmlyc3RMaW5lID0gZmFsc2UsIEhh
c2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3Zl
cmZsb3cqID0gMCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIGludCBtaW5QcmVmZXJyZWRMb2dpY2Fs
V2lkdGgoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgo
KSBjb25zdDsKKyAgICBmbG9hdCBtaW5Mb2dpY2FsV2lkdGgoKSBjb25zdDsKKyAgICBmbG9hdCBt
YXhMb2dpY2FsV2lkdGgoKSBjb25zdDsKIAotICAgIHZvaWQgdHJpbW1lZFByZWZXaWR0aHMoaW50
IGxlYWRXaWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgYmVnaW5NaW5XLCBi
b29sJiBiZWdpbldTLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBlbmRNaW5XLCBi
b29sJiBlbmRXUywKKyAgICB2b2lkIHRyaW1tZWRQcmVmV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBiZWdpbk1pblcsIGJvb2wmIGJlZ2lu
V1MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYgZW5kTWluVywgYm9vbCYgZW5k
V1MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sJiBoYXNCcmVha2FibGVDaGFyLCBi
b29sJiBoYXNCcmVhaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgYmVnaW5NYXhX
LCBpbnQmIGVuZE1heFcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIG1pblcsIGlu
dCYgbWF4VywgYm9vbCYgc3RyaXBGcm9udFNwYWNlcyk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmbG9hdCYgYmVnaW5NYXhXLCBmbG9hdCYgZW5kTWF4VywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZsb2F0JiBtaW5XLCBmbG9hdCYgbWF4VywgYm9vbCYgc3RyaXBGcm9udFNwYWNl
cyk7CiAKICAgICB2aXJ0dWFsIEludFJlY3QgbGluZXNCb3VuZGluZ0JveCgpIGNvbnN0OwogCi0g
ICAgSW50UG9pbnQgZmlyc3RSdW5PcmlnaW4oKSBjb25zdDsKLSAgICBpbnQgZmlyc3RSdW5YKCkg
Y29uc3Q7Ci0gICAgaW50IGZpcnN0UnVuWSgpIGNvbnN0OworICAgIEZsb2F0UG9pbnQgZmlyc3RS
dW5PcmlnaW4oKSBjb25zdDsKKyAgICBmbG9hdCBmaXJzdFJ1blgoKSBjb25zdDsKKyAgICBmbG9h
dCBmaXJzdFJ1blkoKSBjb25zdDsKIAogICAgIHZvaWQgc2V0VGV4dChQYXNzUmVmUHRyPFN0cmlu
Z0ltcGw+LCBib29sIGZvcmNlID0gZmFsc2UpOwogICAgIHZvaWQgc2V0VGV4dFdpdGhPZmZzZXQo
UGFzc1JlZlB0cjxTdHJpbmdJbXBsPiwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBsZW4sIGJv
b2wgZm9yY2UgPSBmYWxzZSk7CkBAIC0xMjIsNyArMTIyLDcgQEAgcHVibGljOgogCiAgICAgdm9p
ZCBjaGVja0NvbnNpc3RlbmN5KCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVBy
ZWZlcnJlZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRXaWR0aCk7CisgICAgdmlydHVhbCB2b2lkIGNv
bXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCk7CiAgICAgYm9vbCBp
c0FsbENvbGxhcHNpYmxlV2hpdGVzcGFjZSgpOwogICAgIAogcHJvdGVjdGVkOgpAQCAtMTM1LDcg
KzEzNSw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIElubGluZVRleHRCb3gqIGNyZWF0ZVRl
eHRCb3goKTsgLy8gU3ViY2xhc3NlZCBieSBTVkcuCiAKIHByaXZhdGU6Ci0gICAgdm9pZCBjb21w
dXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhpbnQgbGVhZFdpZHRoLCBIYXNoU2V0PGNvbnN0IFNp
bXBsZUZvbnREYXRhKj4mIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cmKTsKKyAgICB2b2lk
IGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCwgSGFzaFNldDxj
b25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93Jik7CiAK
ICAgICAvLyBNYWtlIGxlbmd0aCgpIHByaXZhdGUgc28gdGhhdCBjYWxsZXJzIHRoYXQgaGF2ZSBh
IFJlbmRlclRleHQqCiAgICAgLy8gd2lsbCB1c2UgdGhlIG1vcmUgZWZmaWNpZW50IHRleHRMZW5n
dGgoKSBpbnN0ZWFkLCB3aGlsZQpAQCAtMTQ4LDIyICsxNDgsMjIgQEAgcHJpdmF0ZToKIAogICAg
IHZvaWQgZGVsZXRlVGV4dEJveGVzKCk7CiAgICAgYm9vbCBjb250YWluc09ubHlXaGl0ZXNwYWNl
KHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbikgY29uc3Q7Ci0gICAgaW50IHdpZHRoRnJvbUNh
Y2hlKGNvbnN0IEZvbnQmLCBpbnQgc3RhcnQsIGludCBsZW4sIGludCB4UG9zLCBIYXNoU2V0PGNv
bnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqKSBjb25z
dDsKKyAgICBmbG9hdCB3aWR0aEZyb21DYWNoZShjb25zdCBGb250JiwgaW50IHN0YXJ0LCBpbnQg
bGVuLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNr
Rm9udHMsIEdseXBoT3ZlcmZsb3cqKSBjb25zdDsKICAgICBib29sIGlzQWxsQVNDSUkoKSBjb25z
dCB7IHJldHVybiBtX2lzQWxsQVNDSUk7IH0KICAgICB2b2lkIHVwZGF0ZU5lZWRzVHJhbnNjb2Rp
bmcoKTsKIAogICAgIGlubGluZSB2b2lkIHRyYW5zZm9ybVRleHQoU3RyaW5nJikgY29uc3Q7CiAK
LSAgICBpbnQgbV9taW5XaWR0aDsgLy8gaGVyZSB0byBtaW5pbWl6ZSBwYWRkaW5nIGluIDY0LWJp
dC4KKyAgICBmbG9hdCBtX21pbldpZHRoOyAvLyBoZXJlIHRvIG1pbmltaXplIHBhZGRpbmcgaW4g
NjQtYml0LgogCiAgICAgU3RyaW5nIG1fdGV4dDsKIAogICAgIElubGluZVRleHRCb3gqIG1fZmly
c3RUZXh0Qm94OwogICAgIElubGluZVRleHRCb3gqIG1fbGFzdFRleHRCb3g7CiAKLSAgICBpbnQg
bV9tYXhXaWR0aDsKLSAgICBpbnQgbV9iZWdpbk1pbldpZHRoOwotICAgIGludCBtX2VuZE1pbldp
ZHRoOworICAgIGZsb2F0IG1fbWF4V2lkdGg7CisgICAgZmxvYXQgbV9iZWdpbk1pbldpZHRoOwor
ICAgIGZsb2F0IG1fZW5kTWluV2lkdGg7CiAKICAgICBib29sIG1faGFzQnJlYWthYmxlQ2hhciA6
IDE7IC8vIFdoZXRoZXIgb3Igbm90IHdlIGNhbiBiZSBicm9rZW4gaW50byBtdWx0aXBsZSBsaW5l
cy4KICAgICBib29sIG1faGFzQnJlYWsgOiAxOyAvLyBXaGV0aGVyIG9yIG5vdCB3ZSBoYXZlIGEg
aGFyZCBicmVhayAoZS5nLiwgPHByZT4gd2l0aCAnXG4nKS4KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcAkocmV2aXNpb24gNzgzNTApCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01NDQsNyArNTQ0LDcgQEAgZmxvYXQgUmVuZGVyVGV4dENvbnRyb2w6OmdldEF2
Z0NoYXJXaWR0aAogICAgICAgICByZXR1cm4gcm91bmRmKHN0eWxlKCktPmZvbnQoKS5wcmltYXJ5
Rm9udCgpLT5hdmdDaGFyV2lkdGgoKSk7CiAKICAgICBjb25zdCBVQ2hhciBjaCA9ICcwJzsgCi0g
ICAgcmV0dXJuIHN0eWxlKCktPmZvbnQoKS5mbG9hdFdpZHRoKFRleHRSdW4oJmNoLCAxLCBmYWxz
ZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgZmFsc2UsIGZhbHNlLCBm
YWxzZSkpOworICAgIHJldHVybiBzdHlsZSgpLT5mb250KCkud2lkdGgoVGV4dFJ1bigmY2gsIDEs
IGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBmYWxzZSkpOwog
fQogCiBmbG9hdCBSZW5kZXJUZXh0Q29udHJvbDo6c2NhbGVFbVRvVW5pdHMoaW50IHgpIGNvbnN0
CkBAIC02MzksNyArNjM5LDcgQEAgdm9pZCBSZW5kZXJUZXh0Q29udHJvbDo6cGFpbnRQbGFjZWhv
bGRlcgogICAgIHBhaW50SW5mby5jb250ZXh0LT5zZXRGaWxsQ29sb3IocGxhY2Vob2xkZXJTdHls
ZS0+dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5Q29sb3IpLCBwbGFjZWhvbGRlclN0
eWxlLT5jb2xvclNwYWNlKCkpOwogICAgIAogICAgIFN0cmluZyBwbGFjZWhvbGRlclRleHQgPSBz
dGF0aWNfY2FzdDxIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCo+KG5vZGUoKSktPnN0cmlwcGVk
UGxhY2Vob2xkZXIoKTsKLSAgICBUZXh0UnVuIHRleHRSdW4ocGxhY2Vob2xkZXJUZXh0LmNoYXJh
Y3RlcnMoKSwgcGxhY2Vob2xkZXJUZXh0Lmxlbmd0aCgpLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6
QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIXBsYWNlaG9sZGVyU3R5bGUtPmlzTGVmdFRvUmlnaHRE
aXJlY3Rpb24oKSwgcGxhY2Vob2xkZXJTdHlsZS0+dW5pY29kZUJpZGkoKSA9PSBPdmVycmlkZSwg
ZmFsc2UsIGZhbHNlKTsKKyAgICBUZXh0UnVuIHRleHRSdW4ocGxhY2Vob2xkZXJUZXh0LmNoYXJh
Y3RlcnMoKSwgcGxhY2Vob2xkZXJUZXh0Lmxlbmd0aCgpLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6
QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIXBsYWNlaG9sZGVyU3R5bGUtPmlzTGVmdFRvUmlnaHRE
aXJlY3Rpb24oKSwgcGxhY2Vob2xkZXJTdHlsZS0+dW5pY29kZUJpZGkoKSA9PSBPdmVycmlkZSk7
CiAgICAgCiAgICAgUmVuZGVyQm94KiB0ZXh0UmVuZGVyZXIgPSBpbm5lclRleHRFbGVtZW50KCkg
PyBpbm5lclRleHRFbGVtZW50KCktPnJlbmRlckJveCgpIDogMDsKICAgICBpZiAodGV4dFJlbmRl
cmVyKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3Bw
CShyZXZpc2lvbiA3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5l
Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTcsNyArOTcsNyBAQCBib29sIFJvb3RJbmxpbmVC
b3g6OmNhbkFjY29tbW9kYXRlRWxsaXBzCiAgICAgcmV0dXJuIElubGluZUZsb3dCb3g6OmNhbkFj
Y29tbW9kYXRlRWxsaXBzaXMobHRyLCBibG9ja0VkZ2UsIGVsbGlwc2lzV2lkdGgpOwogfQogCi12
b2lkIFJvb3RJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXMoY29uc3QgQXRvbWljU3RyaW5nJiBlbGxp
cHNpc1N0ciwgIGJvb2wgbHRyLCBpbnQgYmxvY2tMZWZ0RWRnZSwgaW50IGJsb2NrUmlnaHRFZGdl
LCBpbnQgZWxsaXBzaXNXaWR0aCwKK3ZvaWQgUm9vdElubGluZUJveDo6cGxhY2VFbGxpcHNpcyhj
b25zdCBBdG9taWNTdHJpbmcmIGVsbGlwc2lzU3RyLCAgYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVm
dEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElubGluZUJveCogbWFya3VwQm94KQogewogICAg
IC8vIENyZWF0ZSBhbiBlbGxpcHNpcyBib3guCkBAIC0xMjMsOSArMTIzLDkgQEAgdm9pZCBSb290
SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzKGNvbnN0IAogICAgIGVsbGlwc2lzQm94LT5tX3ggPSBw
bGFjZUVsbGlwc2lzQm94KGx0ciwgYmxvY2tMZWZ0RWRnZSwgYmxvY2tSaWdodEVkZ2UsIGVsbGlw
c2lzV2lkdGgsIGZvdW5kQm94KTsKIH0KIAotaW50IFJvb3RJbmxpbmVCb3g6OnBsYWNlRWxsaXBz
aXNCb3goYm9vbCBsdHIsIGludCBibG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGlu
dCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCkKK2Zsb2F0IFJvb3RJbmxpbmVCb3g6OnBs
YWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2Nr
UmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCkKIHsKLSAgICBp
bnQgcmVzdWx0ID0gSW5saW5lRmxvd0JveDo6cGxhY2VFbGxpcHNpc0JveChsdHIsIGJsb2NrTGVm
dEVkZ2UsIGJsb2NrUmlnaHRFZGdlLCBlbGxpcHNpc1dpZHRoLCBmb3VuZEJveCk7CisgICAgZmxv
YXQgcmVzdWx0ID0gSW5saW5lRmxvd0JveDo6cGxhY2VFbGxpcHNpc0JveChsdHIsIGJsb2NrTGVm
dEVkZ2UsIGJsb2NrUmlnaHRFZGdlLCBlbGxpcHNpc1dpZHRoLCBmb3VuZEJveCk7CiAgICAgaWYg
KHJlc3VsdCA9PSAtMSkKICAgICAgICAgcmVzdWx0ID0gbHRyID8gYmxvY2tSaWdodEVkZ2UgLSBl
bGxpcHNpc1dpZHRoIDogYmxvY2tMZWZ0RWRnZTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtNTQ0
LDE0ICs1NDQsMTQgQEAgSW50UmVjdCBSb290SW5saW5lQm94OjpwYWRkZWRMYXlvdXRPdmVyZgog
ICAgIAogICAgIGlmIChpc0hvcml6b250YWwoKSkgewogICAgICAgICBpZiAoaXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpKQotICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0TWF4WEVk
Z2VUbyhtYXgobGluZUxheW91dE92ZXJmbG93Lm1heFgoKSwgbG9naWNhbFJpZ2h0KCkgKyBlbmRQ
YWRkaW5nKSk7CisgICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRNYXhYRWRnZVRv
KG1heChsaW5lTGF5b3V0T3ZlcmZsb3cubWF4WCgpLCBwaXhlbFNuYXBwZWRMb2dpY2FsUmlnaHQo
KSArIGVuZFBhZGRpbmcpKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgbGluZUxheW91dE92
ZXJmbG93LnNoaWZ0WEVkZ2VUbyhtaW4obGluZUxheW91dE92ZXJmbG93LngoKSwgbG9naWNhbExl
ZnQoKSAtIGVuZFBhZGRpbmcpKTsKKyAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlm
dFhFZGdlVG8obWluKGxpbmVMYXlvdXRPdmVyZmxvdy54KCksIHBpeGVsU25hcHBlZExvZ2ljYWxM
ZWZ0KCkgLSBlbmRQYWRkaW5nKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKGlzTGVmdFRv
UmlnaHREaXJlY3Rpb24oKSkKLSAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdE1h
eFlFZGdlVG8obWF4KGxpbmVMYXlvdXRPdmVyZmxvdy5tYXhZKCksIGxvZ2ljYWxSaWdodCgpICsg
ZW5kUGFkZGluZykpOworICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0TWF4WUVk
Z2VUbyhtYXgobGluZUxheW91dE92ZXJmbG93Lm1heFkoKSwgcGl4ZWxTbmFwcGVkTG9naWNhbFJp
Z2h0KCkgKyBlbmRQYWRkaW5nKSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxpbmVMYXlv
dXRPdmVyZmxvdy5zaGlmdFlFZGdlVG8obWluKGxpbmVMYXlvdXRPdmVyZmxvdy55KCksIGxvZ2lj
YWxSaWdodCgpIC0gZW5kUGFkZGluZykpOworICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93
LnNoaWZ0WUVkZ2VUbyhtaW4obGluZUxheW91dE92ZXJmbG93LnkoKSwgcGl4ZWxTbmFwcGVkTG9n
aWNhbExlZnQoKSAtIGVuZFBhZGRpbmcpKTsKICAgICB9CiAgICAgCiAgICAgcmV0dXJuIGxpbmVM
YXlvdXRPdmVyZmxvdzsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5l
Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVC
b3guaAkocmV2aXNpb24gNzgzNTApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElu
bGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC03OCw4ICs3OCw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIGNoaWxkUmVtb3ZlZChJbmxpbmVCb3gqIGJveCk7CiAKICAgICBib29sIGNhbkFjY29tbW9k
YXRlRWxsaXBzaXMoYm9vbCBsdHIsIGludCBibG9ja0VkZ2UsIGludCBsaW5lQm94RWRnZSwgaW50
IGVsbGlwc2lzV2lkdGgpOwotICAgIHZvaWQgcGxhY2VFbGxpcHNpcyhjb25zdCBBdG9taWNTdHJp
bmcmIGVsbGlwc2lzU3RyLCBib29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1Jp
Z2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIElubGluZUJveCogbWFya3VwQm94ID0gMCk7Ci0g
ICAgdmlydHVhbCBpbnQgcGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgaW50IGJsb2NrTGVmdEVk
Z2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94
KTsKKyAgICB2b2lkIHBsYWNlRWxsaXBzaXMoY29uc3QgQXRvbWljU3RyaW5nJiBlbGxpcHNpc1N0
ciwgYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBm
bG9hdCBlbGxpcHNpc1dpZHRoLCBJbmxpbmVCb3gqIG1hcmt1cEJveCA9IDApOworICAgIHZpcnR1
YWwgZmxvYXQgcGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwg
ZmxvYXQgYmxvY2tSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94
KTsKIAogICAgIEVsbGlwc2lzQm94KiBlbGxpcHNpc0JveCgpIGNvbnN0OwogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAJKHJl
dmlzaW9uIDc4MzUwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVU
ZXh0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDE1LDkgKzQxNSw2IEBAIFRleHRSdW4gU1ZH
SW5saW5lVGV4dEJveDo6Y29uc3RydWN0VGV4dFIKICAgICBydW4uc2V0UmVmZXJlbmNpbmdSZW5k
ZXJPYmplY3QodGV4dCk7CiAjZW5kaWYKIAotICAgIC8vIERpc2FibGUgYW55IHdvcmQvY2hhcmFj
dGVyIHJvdW5kaW5nLgotICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotCiAgICAgLy8g
V2UgaGFuZGxlIGxldHRlciAmIHdvcmQgc3BhY2luZyBvdXJzZWx2ZXMuCiAgICAgcnVuLmRpc2Fi
bGVTcGFjaW5nKCk7CiAgICAgcmV0dXJuIHJ1bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3BwCShyZXZpc2lvbiA3ODM1MCkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00Nyw4ICs0Nyw5IEBAIFNWR1RleHRNZXRyaWNzOjpTVkdUZXh0TWV0cmljcyhSZW5k
ZXJTVkcKICAgICBpbnQgbGVuZ3RoID0gMDsKIAogICAgIC8vIENhbGN1bGF0ZSB3aWR0aC9oZWln
aHQgdXNpbmcgdGhlIHNjYWxlZCBmb250LCBkaXZpZGUgdGhpcyByZXN1bHQgYnkgdGhlIHNjYWxp
bmdGYWN0b3IgYWZ0ZXJ3YXJkcy4KLSAgICBtX3dpZHRoID0gc2NhbGVkRm9udC5mbG9hdFdpZHRo
KHJ1biwgZXh0cmFDaGFyc0F2YWlsYWJsZSwgbGVuZ3RoLCBtX2dseXBoLm5hbWUpIC8gc2NhbGlu
Z0ZhY3RvcjsKKyAgICBtX3dpZHRoID0gc2NhbGVkRm9udC53aWR0aChydW4sIGV4dHJhQ2hhcnNB
dmFpbGFibGUsIGxlbmd0aCwgbV9nbHlwaC5uYW1lKSAvIHNjYWxpbmdGYWN0b3I7CiAgICAgbV9o
ZWlnaHQgPSBzY2FsZWRGb250LmZvbnRNZXRyaWNzKCkuZmxvYXRIZWlnaHQoKSAvIHNjYWxpbmdG
YWN0b3I7CisKICAgICBtX2dseXBoLnVuaWNvZGVTdHJpbmcgPSBTdHJpbmcocnVuLmNoYXJhY3Rl
cnMoKSwgbGVuZ3RoKTsKICAgICBtX2dseXBoLmlzVmFsaWQgPSB0cnVlOwogCkBAIC03OSw5ICs4
MCw2IEBAIHN0YXRpYyBUZXh0UnVuIGNvbnN0cnVjdFRleHRSdW4oUmVuZGVyU1YKICAgICBydW4u
c2V0UmVmZXJlbmNpbmdSZW5kZXJPYmplY3QodGV4dCk7CiAjZW5kaWYKIAotICAgIC8vIERpc2Fi
bGUgYW55IHdvcmQvY2hhcmFjdGVyIHJvdW5kaW5nLgotICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdI
YWNrcygpOwotCiAgICAgLy8gV2UgaGFuZGxlIGxldHRlciAmIHdvcmQgc3BhY2luZyBvdXJzZWx2
ZXMuCiAgICAgcnVuLmRpc2FibGVTcGFjaW5nKCk7CiAgICAgcmV0dXJuIHJ1bjsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRm9udC5jcHAJKHJldmlzaW9uIDc4MzUwKQorKysgU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZvbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNjIsNyArMzYyLDcgQEAgc3RhdGljIHZv
aWQgZmxvYXRXaWR0aE1pc3NpbmdHbHlwaENhbGxiYQogICAgIEZvbnQgZm9udChmb250RGVzY3Jp
cHRpb24sIDAsIDApOyAvLyBzcGFjaW5nIGhhbmRsZWQgYnkgU1ZHIHRleHQgY29kZS4KICAgICBm
b250LnVwZGF0ZShkYXRhLmZvbnQtPmZvbnRTZWxlY3RvcigpKTsKIAotICAgIGRhdGEubGVuZ3Ro
ICs9IGZvbnQuZmxvYXRXaWR0aChydW4pOworICAgIGRhdGEubGVuZ3RoICs9IGZvbnQud2lkdGgo
cnVuKTsKIH0KIAogCkBAIC01NzMsOSArNTczLDkgQEAgdm9pZCBGb250OjpkcmF3VGV4dFVzaW5n
U1ZHRm9udChHcmFwaGljcwogICAgICAgICAgICAgICAgIGZvbnQuZHJhd1RleHQoY29udGV4dCwg
ZmFsbGJhY2tDaGFyYWN0ZXJSdW4sIGN1cnJlbnRQb2ludCk7CiAKICAgICAgICAgICAgICAgICBp
ZiAoaXNWZXJ0aWNhbFRleHQpCi0gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRQb2ludC5tb3Zl
KDAuMGYsIGZvbnQuZmxvYXRXaWR0aChmYWxsYmFja0NoYXJhY3RlclJ1bikpOworICAgICAgICAg
ICAgICAgICAgICBjdXJyZW50UG9pbnQubW92ZSgwLjBmLCBmb250LndpZHRoKGZhbGxiYWNrQ2hh
cmFjdGVyUnVuKSk7CiAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBj
dXJyZW50UG9pbnQubW92ZShmb250LmZsb2F0V2lkdGgoZmFsbGJhY2tDaGFyYWN0ZXJSdW4pLCAw
LjBmKTsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudFBvaW50Lm1vdmUoZm9udC53aWR0aChm
YWxsYmFja0NoYXJhY3RlclJ1biksIDAuMGYpOwogCiAgICAgICAgICAgICAgICAgZmFsbGJhY2tD
aGFyYWN0ZXJJbmRleCsrOwogICAgICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9tYWMv
TWlzYy9XZWJLaXROU1N0cmluZ0V4dHJhcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L21hYy9NaXNjL1dlYktpdE5TU3RyaW5nRXh0cmFzLm1tCShyZXZpc2lvbiA3ODM1MCkKKysrIFNv
dXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0TlNTdHJpbmdFeHRyYXMubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTkxLDcgKzkxLDYgQEAgLSAodm9pZClfd2ViX2RyYXdBdFBvaW50OihOU1BvaW50KXBv
aW50IAogCiAgICAgICAgIEZvbnQgd2ViQ29yZUZvbnQoRm9udFBsYXRmb3JtRGF0YShmb250LCBb
Zm9udCBwb2ludFNpemVdKSwgIVtuc0NvbnRleHQgaXNEcmF3aW5nVG9TY3JlZW5dLCBmb250U21v
b3RoaW5nSXNBbGxvd2VkID8gQXV0b1Ntb290aGluZyA6IEFudGlhbGlhc2VkKTsKICAgICAgICAg
VGV4dFJ1biBydW4oYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKTsKLSAgICAgICAgcnVuLmRpc2FibGVS
b3VuZGluZ0hhY2tzKCk7CiAKICAgICAgICAgQ0dGbG9hdCByZWQ7CiAgICAgICAgIENHRmxvYXQg
Z3JlZW47CkBAIC0xMzcsOCArMTM2LDcgQEAgLSAoZmxvYXQpX3dlYl93aWR0aFdpdGhGb250OihO
U0ZvbnQgKilmbwogICAgIGlmIChjYW5Vc2VGYXN0UmVuZGVyZXIoYnVmZmVyLmRhdGEoKSwgbGVu
Z3RoKSkgewogICAgICAgICBGb250IHdlYkNvcmVGb250KEZvbnRQbGF0Zm9ybURhdGEoZm9udCwg
W2ZvbnQgcG9pbnRTaXplXSksICFbW05TR3JhcGhpY3NDb250ZXh0IGN1cnJlbnRDb250ZXh0XSBp
c0RyYXdpbmdUb1NjcmVlbl0pOwogICAgICAgICBUZXh0UnVuIHJ1bihidWZmZXIuZGF0YSgpLCBs
ZW5ndGgpOwotICAgICAgICBydW4uZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsKLSAgICAgICAgcmV0
dXJuIHdlYkNvcmVGb250LmZsb2F0V2lkdGgocnVuKTsKKyAgICAgICAgcmV0dXJuIHdlYkNvcmVG
b250LndpZHRoKHJ1bik7CiAgICAgfQogCiAgICAgcmV0dXJuIFtzZWxmIHNpemVXaXRoQXR0cmli
dXRlczpbTlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRoT2JqZWN0c0FuZEtleXM6Zm9udCwgTlNG
b250QXR0cmlidXRlTmFtZSwgbmlsXV0ud2lkdGg7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82181</attachid>
            <date>2011-02-11 14:40:50 -0800</date>
            <delta_ts>2011-02-11 15:05:13 -0800</delta_ts>
            <desc>Patch that applies (ignore for review, just testing builds)</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>162725</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0zOTksOSArMzk5LDkgQEAgX19a
TjdXZWJDb3JlMTVQcm90ZWN0aW9uU3BhY2VDMUVSS04zV1RGNgogX19aTjdXZWJDb3JlMTVQcm90
ZWN0aW9uU3BhY2VDMUV2CiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE3YWxpZ25DZW50
ZXJBbHdheXNFCiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE5YWxpZ25Ub0VkZ2VJZk5l
ZWRlZEUKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRlRVJLTjNX
VEY2U3RyaW5nRWZSS05TXzRGb250RWIKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRj
ZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0VmUktOU180Rm9udEViCi1fX1pON1dlYkNvcmUx
NVN0cmluZ1RydW5jYXRvcjV3aWR0aEVSS04zV1RGNlN0cmluZ0VSS05TXzRGb250RWIKK19fWk43
V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRjZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0Vm
UktOU180Rm9udEUKK19fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRl
RVJLTjNXVEY2U3RyaW5nRWZSS05TXzRGb250RQorX19aTjdXZWJDb3JlMTVTdHJpbmdUcnVuY2F0
b3I1d2lkdGhFUktOM1dURjZTdHJpbmdFUktOU180Rm9udEUKIF9fWk43V2ViQ29yZTE1VmlzaWJs
ZVBvc2l0aW9uQzFFUE5TXzROb2RlRWlOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3JlMTVWaXNp
YmxlUG9zaXRpb25DMUVSS05TXzhQb3NpdGlvbkVOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3Jl
MTVkZWZhdWx0TGFuZ3VhZ2VFdgpAQCAtMTEyNSw3ICsxMTI1LDcgQEAgX19aTks3V2ViQ29yZTI3
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VCYQogX19aTks3V2ViQ29yZTI3QXV0aGVudGljYXRpb25D
aGFsbGVuZ2VCYXNlMjBwcmV2aW91c0ZhaWx1cmVDb3VudEV2CiBfX1pOSzdXZWJDb3JlMjdBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZUJhc2U1ZXJyb3JFdgogX19aTks3V2ViQ29yZTI3QXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VCYXNlNmlzTnVsbEV2Ci1fX1pOSzdXZWJDb3JlNEZvbnQxMGZsb2F0V2lk
dGhFUktOU183VGV4dFJ1bkVQTjNXVEY3SGFzaFNldElQS05TXzE0U2ltcGxlRm9udERhdGFFTlM0
XzdQdHJIYXNoSVM4X0VFTlM0XzEwSGFzaFRyYWl0c0lTOF9FRUVFUE5TXzEzR2x5cGhPdmVyZmxv
d0UKK19fWk5LN1dlYkNvcmU0Rm9udDV3aWR0aEVSS05TXzdUZXh0UnVuRVBOM1dURjdIYXNoU2V0
SVBLTlNfMTRTaW1wbGVGb250RGF0YUVOUzRfN1B0ckhhc2hJUzhfRUVOUzRfMTBIYXNoVHJhaXRz
SVM4X0VFRUVQTlNfMTNHbHlwaE92ZXJmbG93RQogX19aTks3V2ViQ29yZTRGb250OGRyYXdUZXh0
RVBOU18xNUdyYXBoaWNzQ29udGV4dEVSS05TXzdUZXh0UnVuRVJLTlNfMTBGbG9hdFBvaW50RWlp
CiBfX1pOSzdXZWJDb3JlNEtVUkwxMWNyZWF0ZUNGVVJMRXYKIF9fWk5LN1dlYkNvcmU0S1VSTDEx
aXNMb2NhbEZpbGVFdgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE3NzEsNyArMTc3MSw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjpkcmF3VGV4dEkKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRleHQubGVuZ3RoKCk7
CiAgICAgY29uc3QgVUNoYXIqIHN0cmluZyA9IHRleHQuY2hhcmFjdGVycygpOwotICAgIFRleHRS
dW4gdGV4dFJ1bihzdHJpbmcsIGxlbmd0aCwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJh
aWxpbmdFeHBhbnNpb24sIHJ0bCwgb3ZlcnJpZGUsIGZhbHNlLCBmYWxzZSk7CisgICAgVGV4dFJ1
biB0ZXh0UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFp
bGluZ0V4cGFuc2lvbiwgcnRsLCBvdmVycmlkZSk7CiAKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRl
eHQgYXQgdGhlIGNvcnJlY3QgcG9pbnQuCiAgICAgRmxvYXRQb2ludCBsb2NhdGlvbih4LCB5KTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21p
dW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0Zp
bGVDaG9vc2VyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00NCw5ICs0NCw5IEBAIFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChj
b24KICAgICBlbHNlIGlmIChtX2ZpbGVuYW1lcy5zaXplKCkgPT0gMSkKICAgICAgICAgc3RyaW5n
ID0gcGF0aEdldERpc3BsYXlGaWxlTmFtZShtX2ZpbGVuYW1lc1swXSk7CiAgICAgZWxzZQotICAg
ICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmlsZVVw
bG9hZFRleHQobV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICAg
ICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxv
YWRUZXh0KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250KTsKIAotICAgIHJldHVybiBT
dHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0cmluZywgc3RhdGljX2Nhc3Q8ZmxvYXQ+
KHdpZHRoKSwgZm9udCwgZmFsc2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRl
clRydW5jYXRlKHN0cmluZywgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHdpZHRoKSwgZm9udCk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxNyArMzksNiBAQCB1
c2luZyBuYW1lc3BhY2UgVW5pY29kZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1
aW50OF90IEZvbnQ6OmdSb3VuZGluZ0hhY2tDaGFyYWN0ZXJUYWJsZVsyNTZdID0gewotICAgIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEgLypcdCovLCAxIC8qXG4qLywgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAx
IC8qc3BhY2UqLywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKi0qLywg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKj8q
LywKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAxIC8qbm8tYnJlYWsgc3BhY2UqLywgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAK
LX07Ci0KIEZvbnQ6OkNvZGVQYXRoIEZvbnQ6OnNfY29kZVBhdGggPSBBdXRvOwogCiAvLyA9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtMTc2LDcgKzE2NSw3IEBAIHZvaWQg
Rm9udDo6ZHJhd0VtcGhhc2lzTWFya3MoR3JhcGhpY3NDb24KICAgICAgICAgZHJhd0VtcGhhc2lz
TWFya3NGb3JDb21wbGV4VGV4dChjb250ZXh0LCBydW4sIG1hcmssIHBvaW50LCBmcm9tLCB0byk7
CiB9CiAKLWZsb2F0IEZvbnQ6OmZsb2F0V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0
PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGds
eXBoT3ZlcmZsb3cpIGNvbnN0CitmbG9hdCBGb250Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4s
IEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVy
ZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAg
IGlmIChwcmltYXJ5Rm9udCgpLT5pc1NWR0ZvbnQoKSkKQEAgLTE5NCw3ICsxODMsNyBAQCBmbG9h
dCBGb250OjpmbG9hdFdpZHRoKGNvbnN0IFRleHRSdW4mIHJ1CiAgICAgcmV0dXJuIGZsb2F0V2lk
dGhGb3JDb21wbGV4VGV4dChydW4sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQog
Ci1mbG9hdCBGb250OjpmbG9hdFdpZHRoKGNvbnN0IFRleHRSdW4mIHJ1biwgaW50IGV4dHJhQ2hh
cnNBdmFpbGFibGUsIGludCYgY2hhcnNDb25zdW1lZCwgU3RyaW5nJiBnbHlwaE5hbWUpIGNvbnN0
CitmbG9hdCBGb250Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIGludCBleHRyYUNoYXJzQXZh
aWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQsIFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdAogewog
I2lmICFFTkFCTEUoU1ZHX0ZPTlRTKQogICAgIFVOVVNFRF9QQVJBTShleHRyYUNoYXJzQXZhaWxh
YmxlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHJldmlz
aW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCSh3
b3JraW5nIGNvcHkpCkBAIC05NCw5ICs5NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRyYXdUZXh0
KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50JiwgaW50
IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7CiAgICAgdm9pZCBkcmF3RW1waGFzaXNNYXJr
cyhHcmFwaGljc0NvbnRleHQqLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgQXRvbWljU3RyaW5nJiBt
YXJrLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7
CiAKLSAgICBpbnQgd2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IFNpbXBs
ZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJm
bG93ID0gMCkgY29uc3QgeyByZXR1cm4gbHJvdW5kZihmbG9hdFdpZHRoKHJ1biwgZmFsbGJhY2tG
b250cywgZ2x5cGhPdmVyZmxvdykpOyB9Ci0gICAgZmxvYXQgZmxvYXRXaWR0aChjb25zdCBUZXh0
UnVuJiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwg
R2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdyA9IDApIGNvbnN0OwotICAgIGZsb2F0IGZsb2F0
V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBpbnQgZXh0cmFDaGFyc0F2YWlsYWJsZSwgaW50JiBj
aGFyc0NvbnN1bWVkLCBTdHJpbmcmIGdseXBoTmFtZSkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgo
Y29uc3QgVGV4dFJ1biYsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tG
b250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgoY29u
c3QgVGV4dFJ1biYsIGludCBleHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQs
IFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdDsKIAogICAgIGludCBvZmZzZXRGb3JQb3NpdGlvbihj
b25zdCBUZXh0UnVuJiwgZmxvYXQgcG9zaXRpb24sIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMp
IGNvbnN0OwogICAgIEZsb2F0UmVjdCBzZWxlY3Rpb25SZWN0Rm9yVGV4dChjb25zdCBUZXh0UnVu
JiwgY29uc3QgRmxvYXRQb2ludCYsIGludCBoLCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKSBj
b25zdDsKQEAgLTEyOSw4ICsxMjgsOCBAQCBwdWJsaWM6CiAKICAgICAvLyBNZXRyaWNzIHRoYXQg
d2UgcXVlcnkgdGhlIEZvbnRGYWxsYmFja0xpc3QgZm9yLgogICAgIGNvbnN0IEZvbnRNZXRyaWNz
JiBmb250TWV0cmljcygpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmZvbnRNZXRyaWNz
KCk7IH0KLSAgICBpbnQgc3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIChpbnQpY2VpbGYocHJp
bWFyeUZvbnQoKS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmcpOyB9Ci0g
ICAgZmxvYXQgdGFiV2lkdGgoY29uc3QgU2ltcGxlRm9udERhdGEmIGZvbnREYXRhKSBjb25zdCB7
IHJldHVybiA4ICogY2VpbGYoZm9udERhdGEuYWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBsZXR0ZXJT
cGFjaW5nKCkpOyB9CisgICAgaW50IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBwcmltYXJ5
Rm9udCgpLT5zcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmc7IH0KKyAgICBmbG9hdCB0YWJX
aWR0aChjb25zdCBTaW1wbGVGb250RGF0YSYgZm9udERhdGEpIGNvbnN0IHsgcmV0dXJuIDggKiBm
b250RGF0YS5zcGFjZVdpZHRoKCkgKyBsZXR0ZXJTcGFjaW5nKCk7IH0KICAgICBpbnQgZW1waGFz
aXNNYXJrQXNjZW50KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNp
c01hcmtEZXNjZW50KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNp
c01hcmtIZWlnaHQoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CkBAIC0yMDEsMTIgKzIwMCw2
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgQ29kZVBhdGggY29kZVBhdGgoKTsKICAgICBzdGF0aWMg
Q29kZVBhdGggc19jb2RlUGF0aDsKIAotICAgIHN0YXRpYyBjb25zdCB1aW50OF90IGdSb3VuZGlu
Z0hhY2tDaGFyYWN0ZXJUYWJsZVsyNTZdOwotICAgIHN0YXRpYyBib29sIGlzUm91bmRpbmdIYWNr
Q2hhcmFjdGVyKFVDaGFyMzIgYykKLSAgICB7Ci0gICAgICAgIHJldHVybiAoKChjICYgfjB4RkYp
ID09IDAgJiYgZ1JvdW5kaW5nSGFja0NoYXJhY3RlclRhYmxlW2NdKSk7Ci0gICAgfQotCiAgICAg
Rm9udFNlbGVjdG9yKiBmb250U2VsZWN0b3IoKSBjb25zdDsKICAgICBzdGF0aWMgYm9vbCB0cmVh
dEFzU3BhY2UoVUNoYXIgYykgeyByZXR1cm4gYyA9PSAnICcgfHwgYyA9PSAnXHQnIHx8IGMgPT0g
J1xuJyB8fCBjID09IG5vQnJlYWtTcGFjZTsgfQogICAgIHN0YXRpYyBib29sIHRyZWF0QXNaZXJv
V2lkdGhTcGFjZShVQ2hhciBjKSB7IHJldHVybiBjIDwgMHgyMCB8fCAoYyA+PSAweDdGICYmIGMg
PCAweEEwKSB8fCBjID09IHNvZnRIeXBoZW4gfHwgKGMgPj0gMHgyMDBjICYmIGMgPD0gMHgyMDBm
KSB8fCAoYyA+PSAweDIwMmEgJiYgYyA8PSAweDIwMmUpIHx8IGMgPT0gb2JqZWN0UmVwbGFjZW1l
bnRDaGFyYWN0ZXI7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRGYXN0UGF0aC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udEZhc3RQYXRoLmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
OTcsOSArMjk3LDggQEAgZmxvYXQgRm9udDo6Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JTaW1wbAog
ICAgIGZsb2F0IGFmdGVyV2lkdGggPSBpdC5tX3J1bldpZHRoU29GYXI7CiAKICAgICBpZiAocnVu
LnJ0bCgpKSB7Ci0gICAgICAgIGZsb2F0IGZpbmFsUm91bmRpbmdXaWR0aCA9IGl0Lm1fZmluYWxS
b3VuZGluZ1dpZHRoOwogICAgICAgICBpdC5hZHZhbmNlKHJ1bi5sZW5ndGgoKSk7Ci0gICAgICAg
IGluaXRpYWxBZHZhbmNlID0gZmluYWxSb3VuZGluZ1dpZHRoICsgaXQubV9ydW5XaWR0aFNvRmFy
IC0gYWZ0ZXJXaWR0aDsKKyAgICAgICAgaW5pdGlhbEFkdmFuY2UgPSBpdC5tX3J1bldpZHRoU29G
YXIgLSBhZnRlcldpZHRoOwogICAgIH0gZWxzZQogICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGJl
Zm9yZVdpZHRoOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzc1LDcgKzM3NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3SW1hZ2UoSW1h
Z2UqIGkKIH0KIAogI2lmICFPUyhXSU5DRSkgfHwgUExBVEZPUk0oUVQpCi12b2lkIEdyYXBoaWNz
Q29udGV4dDo6ZHJhd1RleHQoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBj
b25zdCBJbnRQb2ludCYgcG9pbnQsIGludCBmcm9tLCBpbnQgdG8pCit2b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd1RleHQoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBjb25z
dCBGbG9hdFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bykKIHsKICAgICBpZiAocGFpbnRp
bmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC0zODQsNyArMzg0LDcgQEAgdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdUZXh0KGNvbnN0IEZvbgogfQogI2VuZGlmCiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpkcmF3RW1waGFzaXNNYXJrcyhjb25zdCBGb250JiBmb250LCBjb25zdCBU
ZXh0UnVuJiBydW4sIGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaywgY29uc3QgSW50UG9pbnQmIHBv
aW50LCBpbnQgZnJvbSwgaW50IHRvKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdFbXBoYXNp
c01hcmtzKGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgQXRvbWlj
U3RyaW5nJiBtYXJrLCBjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bykK
IHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC00MjIs
MTMgKzQyMiwxMyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0JpZGlUZXh0KGNvbnN0CiAg
ICAgICAgIGJpZGlSdW4gPSBiaWRpUnVuLT5uZXh0KCk7CiAgICAgICAgIC8vIEZJWE1FOiBIYXZl
IEZvbnQ6OmRyYXdUZXh0IHJldHVybiB0aGUgd2lkdGggb2Ygd2hhdCBpdCBkcmV3IHNvIHRoYXQg
d2UgZG9uJ3QgaGF2ZSB0byByZS1tZWFzdXJlIGhlcmUuCiAgICAgICAgIGlmIChiaWRpUnVuKQot
ICAgICAgICAgICAgY3VyclBvaW50Lm1vdmUoZm9udC5mbG9hdFdpZHRoKHN1YnJ1biksIDAuZik7
CisgICAgICAgICAgICBjdXJyUG9pbnQubW92ZShmb250LndpZHRoKHN1YnJ1biksIDApOwogICAg
IH0KIAogICAgIGJpZGlSZXNvbHZlci5kZWxldGVSdW5zKCk7CiB9CiAKLXZvaWQgR3JhcGhpY3ND
b250ZXh0OjpkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0
UnVuJiBydW4sIGNvbnN0IEludFBvaW50JiBwb2ludCwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNr
Z3JvdW5kQ29sb3IsIENvbG9yU3BhY2UgY29sb3JTcGFjZSwgaW50IGZyb20sIGludCB0bykKK3Zv
aWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiBmb250
LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBpbnQgaCwgY29u
c3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgQ29sb3JTcGFjZSBjb2xvclNwYWNlLCBpbnQgZnJv
bSwgaW50IHRvKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVy
bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5oCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzUsMjAgKzMz
NSwyMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFRleHREcmF3aW5nTW9kZUZsYWdz
IHRleHREcmF3aW5nTW9kZSgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldFRleHREcmF3aW5nTW9k
ZShUZXh0RHJhd2luZ01vZGVGbGFncyk7CiAKLSAgICAgICAgdm9pZCBkcmF3VGV4dChjb25zdCBG
b250JiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IEludFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQg
dG8gPSAtMSk7Ci0gICAgICAgIHZvaWQgZHJhd0VtcGhhc2lzTWFya3MoY29uc3QgRm9udCYsIGNv
bnN0IFRleHRSdW4mICwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBJbnRQb2ludCYs
IGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRyYXdUZXh0KGNvbnN0
IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxvYXRQb2ludCYsIGludCBmcm9tID0gMCwg
aW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRyYXdFbXBoYXNpc01hcmtzKGNvbnN0IEZvbnQm
LCBjb25zdCBUZXh0UnVuJiAsIGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaywgY29uc3QgRmxvYXRQ
b2ludCYsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOwogICAgICAgICB2b2lkIGRyYXdCaWRp
VGV4dChjb25zdCBGb250JiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IEZsb2F0UG9pbnQmKTsKLSAg
ICAgICAgdm9pZCBkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiwgY29uc3QgVGV4dFJ1
biYsIGNvbnN0IEludFBvaW50JiwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3Is
IENvbG9yU3BhY2UsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRy
YXdIaWdobGlnaHRGb3JUZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxv
YXRQb2ludCYsIGludCBoLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yLCBDb2xvclNwYWNl
LCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKTsKIAogICAgICAgICBGbG9hdFJlY3Qgcm91bmRU
b0RldmljZVBpeGVscyhjb25zdCBGbG9hdFJlY3QmKTsKIAotICAgICAgICB2b2lkIGRyYXdMaW5l
Rm9yVGV4dChjb25zdCBJbnRQb2ludCYsIGludCB3aWR0aCwgYm9vbCBwcmludGluZyk7CisgICAg
ICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmLCBmbG9hdCB3aWR0aCwg
Ym9vbCBwcmludGluZyk7CiAgICAgICAgIGVudW0gVGV4dENoZWNraW5nTGluZVN0eWxlIHsKICAg
ICAgICAgICAgIFRleHRDaGVja2luZ1NwZWxsaW5nTGluZVN0eWxlLAogICAgICAgICAgICAgVGV4
dENoZWNraW5nR3JhbW1hckxpbmVTdHlsZSwKICAgICAgICAgICAgIFRleHRDaGVja2luZ1JlcGxh
Y2VtZW50TGluZVN0eWxlCiAgICAgICAgIH07Ci0gICAgICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0
Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmLCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHls
ZSk7CisgICAgICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2lu
dCYsIGZsb2F0IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUpOwogCiAgICAgICAgIGJvb2wg
cGFpbnRpbmdEaXNhYmxlZCgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldFBhaW50aW5nRGlzYWJs
ZWQoYm9vbCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVG
b250RGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvU2ltcGxlRm9udERhdGEuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTA4LDcgKzEwOCw2IEBAIFNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShQYXNzT3duUHQK
ICAgICBtX3NwYWNlR2x5cGggPSAwOwogICAgIG1femVyb1dpZHRoU3BhY2VHbHlwaCA9IDA7CiAg
ICAgZGV0ZXJtaW5lUGl0Y2goKTsKLSAgICBtX2FkanVzdGVkU3BhY2VXaWR0aCA9IHJvdW5kZiht
X3NwYWNlV2lkdGgpOwogICAgIG1fbWlzc2luZ0dseXBoRGF0YS5mb250RGF0YSA9IHRoaXM7CiAg
ICAgbV9taXNzaW5nR2x5cGhEYXRhLmdseXBoID0gMDsKIH0KQEAgLTE0Myw3ICsxNDIsNiBAQCB2
b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBoSW5pdCgpCiAgICAgICAgIExPR19FUlJP
UigiRmFpbGVkIHRvIGdldCBnbHlwaCBwYWdlIHplcm8uIik7CiAgICAgICAgIG1fc3BhY2VHbHlw
aCA9IDA7CiAgICAgICAgIG1fc3BhY2VXaWR0aCA9IDA7Ci0gICAgICAgIG1fYWRqdXN0ZWRTcGFj
ZVdpZHRoID0gMDsKICAgICAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKICAgICAgICAgbV96ZXJvV2lk
dGhTcGFjZUdseXBoID0gMDsKICAgICAgICAgbV9taXNzaW5nR2x5cGhEYXRhLmZvbnREYXRhID0g
dGhpczsKQEAgLTE2MCw3ICsxNTgsNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUds
eXBoSW5pdCgpCiAgICAgZmxvYXQgd2lkdGggPSB3aWR0aEZvckdseXBoKG1fc3BhY2VHbHlwaCk7
CiAgICAgbV9zcGFjZVdpZHRoID0gd2lkdGg7CiAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKLSAgICBt
X2FkanVzdGVkU3BhY2VXaWR0aCA9IG1fdHJlYXRBc0ZpeGVkUGl0Y2ggPyBjZWlsZih3aWR0aCkg
OiByb3VuZGYod2lkdGgpOwogCiAgICAgLy8gRm9yY2UgdGhlIGdseXBoIGZvciBaRVJPIFdJRFRI
IFNQQUNFIHRvIGhhdmUgemVybyB3aWR0aCwgdW5sZXNzIGl0IGlzIHNoYXJlZCB3aXRoIFNQQUNF
LgogICAgIC8vIEhlbHZldGljYSBpcyBhbiBleGFtcGxlIG9mIGEgbm9uLXplcm8gd2lkdGggWkVS
TyBXSURUSCBTUEFDRSBnbHlwaC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1NpbXBsZUZvbnREYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTIsNyArMTEyLDYgQEAgcHVibGljOgogICAgIGZsb2F0IHBsYXRmb3JtV2lkdGhGb3JH
bHlwaChHbHlwaCkgY29uc3Q7CiAKICAgICBmbG9hdCBzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1
cm4gbV9zcGFjZVdpZHRoOyB9Ci0gICAgZmxvYXQgYWRqdXN0ZWRTcGFjZVdpZHRoKCkgY29uc3Qg
eyByZXR1cm4gbV9hZGp1c3RlZFNwYWNlV2lkdGg7IH0KIAogI2lmIFBMQVRGT1JNKENHKSB8fCBQ
TEFURk9STShDQUlSTykgfHwgUExBVEZPUk0oV1gpCiAgICAgZmxvYXQgc3ludGhldGljQm9sZE9m
ZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fc3ludGhldGljQm9sZE9mZnNldDsgfQpAQCAtMjMwLDcg
KzIyOSw2IEBAIHByaXZhdGU6CiAKICAgICBHbHlwaCBtX3NwYWNlR2x5cGg7CiAgICAgZmxvYXQg
bV9zcGFjZVdpZHRoOwotICAgIGZsb2F0IG1fYWRqdXN0ZWRTcGFjZVdpZHRoOwogCiAgICAgR2x5
cGggbV96ZXJvV2lkdGhTcGFjZUdseXBoOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9TdHJpbmdUcnVuY2F0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5jcHAJKHJldmlzaW9uIDc4Mzcx
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtOTIsMjIgKzkyLDIwIEBAIHN0YXRpYyB1bnNpZ25lZCByaWdo
dFRydW5jYXRlVG9CdWZmZXIoY28KICAgICByZXR1cm4gdHJ1bmNhdGVkTGVuZ3RoOwogfQogCi1z
dGF0aWMgZmxvYXQgc3RyaW5nV2lkdGgoY29uc3QgRm9udCYgcmVuZGVyZXIsIGNvbnN0IFVDaGFy
KiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3Mp
CitzdGF0aWMgZmxvYXQgc3RyaW5nV2lkdGgoY29uc3QgRm9udCYgcmVuZGVyZXIsIGNvbnN0IFVD
aGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7CiAgICAgVGV4dFJ1biBydW4oY2hh
cmFjdGVycywgbGVuZ3RoKTsKLSAgICBpZiAoZGlzYWJsZVJvdW5kaW5nSGFja3MpCi0gICAgICAg
IHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotICAgIHJldHVybiByZW5kZXJlci5mbG9hdFdp
ZHRoKHJ1bik7CisgICAgcmV0dXJuIHJlbmRlcmVyLndpZHRoKHJ1bik7CiB9CiAKLXN0YXRpYyBT
dHJpbmcgdHJ1bmNhdGVTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRo
LCBjb25zdCBGb250JiBmb250LCBUcnVuY2F0aW9uRnVuY3Rpb24gdHJ1bmNhdGVUb0J1ZmZlciwg
Ym9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcykKK3N0YXRpYyBTdHJpbmcgdHJ1bmNhdGVTdHJpbmco
Y29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250JiBmb250LCBU
cnVuY2F0aW9uRnVuY3Rpb24gdHJ1bmNhdGVUb0J1ZmZlcikKIHsKICAgICBpZiAoc3RyaW5nLmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHN0cmluZzsKICAgICAKICAgICBBU1NFUlQobWF4V2lk
dGggPj0gMCk7CiAgICAgCi0gICAgZmxvYXQgY3VycmVudEVsbGlwc2lzV2lkdGggPSBzdHJpbmdX
aWR0aChmb250LCAmaG9yaXpvbnRhbEVsbGlwc2lzLCAxLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7
CisgICAgZmxvYXQgY3VycmVudEVsbGlwc2lzV2lkdGggPSBzdHJpbmdXaWR0aChmb250LCAmaG9y
aXpvbnRhbEVsbGlwc2lzLCAxKTsKICAgICAKICAgICBVQ2hhciBzdHJpbmdCdWZmZXJbU1RSSU5H
X0JVRkZFUl9TSVpFXTsKICAgICB1bnNpZ25lZCB0cnVuY2F0ZWRMZW5ndGg7CkBAIC0xMjMsNyAr
MTIxLDcgQEAgc3RhdGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAgICAg
ICB0cnVuY2F0ZWRMZW5ndGggPSBsZW5ndGg7CiAgICAgfQogCi0gICAgZmxvYXQgd2lkdGggPSBz
dHJpbmdXaWR0aChmb250LCBzdHJpbmdCdWZmZXIsIHRydW5jYXRlZExlbmd0aCwgZGlzYWJsZVJv
dW5kaW5nSGFja3MpOworICAgIGZsb2F0IHdpZHRoID0gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5n
QnVmZmVyLCB0cnVuY2F0ZWRMZW5ndGgpOwogICAgIGlmICh3aWR0aCA8PSBtYXhXaWR0aCkKICAg
ICAgICAgcmV0dXJuIHN0cmluZzsKIApAQCAtMTU5LDcgKzE1Nyw3IEBAIHN0YXRpYyBTdHJpbmcg
dHJ1bmNhdGVTdHJpbmcoY29uc3QgU3RyaW4KICAgICAgICAgCiAgICAgICAgIHRydW5jYXRlZExl
bmd0aCA9IHRydW5jYXRlVG9CdWZmZXIoc3RyaW5nLCBsZW5ndGgsIGtlZXBDb3VudCwgc3RyaW5n
QnVmZmVyKTsKIAotICAgICAgICB3aWR0aCA9IHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZ0J1ZmZl
ciwgdHJ1bmNhdGVkTGVuZ3RoLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgICAgIHdpZHRo
ID0gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5nQnVmZmVyLCB0cnVuY2F0ZWRMZW5ndGgpOwogICAg
ICAgICBpZiAod2lkdGggPD0gbWF4V2lkdGgpIHsKICAgICAgICAgICAgIGtlZXBDb3VudEZvckxh
cmdlc3RLbm93blRvRml0ID0ga2VlcENvdW50OwogICAgICAgICAgICAgd2lkdGhGb3JMYXJnZXN0
S25vd25Ub0ZpdCA9IHdpZHRoOwpAQCAtMTgxLDE5ICsxNzksMTkgQEAgc3RhdGljIFN0cmluZyB0
cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAgIHJldHVybiBTdHJpbmcoc3RyaW5nQnVmZmVy
LCB0cnVuY2F0ZWRMZW5ndGgpOwogfQogCi1TdHJpbmcgU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJU
cnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQm
IGZvbnQsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MpCitTdHJpbmcgU3RyaW5nVHJ1bmNhdG9y
OjpjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNv
bnN0IEZvbnQmIGZvbnQpCiB7Ci0gICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4
V2lkdGgsIGZvbnQsIGNlbnRlclRydW5jYXRlVG9CdWZmZXIsIGRpc2FibGVSb3VuZGluZ0hhY2tz
KTsKKyAgICByZXR1cm4gdHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBtYXhXaWR0aCwgZm9udCwgY2Vu
dGVyVHJ1bmNhdGVUb0J1ZmZlcik7CiB9CiAKLVN0cmluZyBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0
VHJ1bmNhdGUoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250
JiBmb250LCBib29sIGRpc2FibGVSb3VuZGluZ0hhY2tzKQorU3RyaW5nIFN0cmluZ1RydW5jYXRv
cjo6cmlnaHRUcnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNv
bnN0IEZvbnQmIGZvbnQpCiB7Ci0gICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4
V2lkdGgsIGZvbnQsIHJpZ2h0VHJ1bmNhdGVUb0J1ZmZlciwgZGlzYWJsZVJvdW5kaW5nSGFja3Mp
OworICAgIHJldHVybiB0cnVuY2F0ZVN0cmluZyhzdHJpbmcsIG1heFdpZHRoLCBmb250LCByaWdo
dFRydW5jYXRlVG9CdWZmZXIpOwogfQogCi1mbG9hdCBTdHJpbmdUcnVuY2F0b3I6OndpZHRoKGNv
bnN0IFN0cmluZyYgc3RyaW5nLCBjb25zdCBGb250JiBmb250LCBib29sIGRpc2FibGVSb3VuZGlu
Z0hhY2tzKQorZmxvYXQgU3RyaW5nVHJ1bmNhdG9yOjp3aWR0aChjb25zdCBTdHJpbmcmIHN0cmlu
ZywgY29uc3QgRm9udCYgZm9udCkKIHsKLSAgICByZXR1cm4gc3RyaW5nV2lkdGgoZm9udCwgc3Ry
aW5nLmNoYXJhY3RlcnMoKSwgc3RyaW5nLmxlbmd0aCgpLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7
CisgICAgcmV0dXJuIHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZy5jaGFyYWN0ZXJzKCksIHN0cmlu
Zy5sZW5ndGgoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCShyZXZp
c2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1Ry
dW5jYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw5ICszNyw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAKICAgICBjbGFzcyBTdHJpbmdUcnVuY2F0b3IgewogICAgIHB1YmxpYzoKLSAg
ICAgICAgc3RhdGljIFN0cmluZyBjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBt
YXhXaWR0aCwgY29uc3QgRm9udCYsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MgPSB0cnVlKTsK
LSAgICAgICAgc3RhdGljIFN0cmluZyByaWdodFRydW5jYXRlKGNvbnN0IFN0cmluZyYsIGZsb2F0
IG1heFdpZHRoLCBjb25zdCBGb250JiwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcyA9IHRydWUp
OwotICAgICAgICBzdGF0aWMgZmxvYXQgd2lkdGgoY29uc3QgU3RyaW5nJiwgY29uc3QgRm9udCYs
IGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MgPSB0cnVlKTsKKyAgICAgICAgc3RhdGljIFN0cmlu
ZyBjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9u
dCYpOworICAgICAgICBzdGF0aWMgU3RyaW5nIHJpZ2h0VHJ1bmNhdGUoY29uc3QgU3RyaW5nJiwg
ZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmKTsKKyAgICAgICAgc3RhdGljIGZsb2F0IHdpZHRo
KGNvbnN0IFN0cmluZyYsIGNvbnN0IEZvbnQmKTsKICAgICB9OwogICAgIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1
bi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRS
dW4uaAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9UZXh0UnVuLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDggKzM4LDcgQEAgcHVibGljOgogICAg
ICAgICBGb3JiaWRUcmFpbGluZ0V4cGFuc2lvbgogICAgIH07CiAKLSAgICBUZXh0UnVuKGNvbnN0
IFVDaGFyKiBjLCBpbnQgbGVuLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBpbnQgeHBvcyA9IDAs
IGludCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNl
LCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSwKLSAgICAgICAgICAgICAgYm9vbCBh
cHBseVJ1blJvdW5kaW5nID0gdHJ1ZSwgYm9vbCBhcHBseVdvcmRSb3VuZGluZyA9IHRydWUpCisg
ICAgVGV4dFJ1bihjb25zdCBVQ2hhciogYywgaW50IGxlbiwgYm9vbCBhbGxvd1RhYnMgPSBmYWxz
ZSwgZmxvYXQgeHBvcyA9IDAsIGZsb2F0IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhwYW5zaW9u
QmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNp
b24sIGJvb2wgcnRsID0gZmFsc2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlKQog
ICAgICAgICA6IG1fY2hhcmFjdGVycyhjKQogICAgICAgICAsIG1fbGVuKGxlbikKICAgICAgICAg
LCBtX3hwb3MoeHBvcykKQEAgLTUxLDggKzUwLDYgQEAgcHVibGljOgogICAgICAgICAsIG1fYWxs
b3dUYWJzKGFsbG93VGFicykKICAgICAgICAgLCBtX3J0bChydGwpCiAgICAgICAgICwgbV9kaXJl
Y3Rpb25hbE92ZXJyaWRlKGRpcmVjdGlvbmFsT3ZlcnJpZGUpCi0gICAgICAgICwgbV9hcHBseVJ1
blJvdW5kaW5nKGFwcGx5UnVuUm91bmRpbmcpCi0gICAgICAgICwgbV9hcHBseVdvcmRSb3VuZGlu
ZyhhcHBseVdvcmRSb3VuZGluZykKICAgICAgICAgLCBtX2Rpc2FibGVTcGFjaW5nKGZhbHNlKQog
I2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2luZ1JlbmRlck9iamVj
dCgwKQpAQCAtNjEsOCArNTgsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIFRleHRS
dW4oY29uc3QgU3RyaW5nJiBzLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBpbnQgeHBvcyA9IDAs
IGludCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNl
LCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSwKLSAgICAgICAgICAgICAgYm9vbCBh
cHBseVJ1blJvdW5kaW5nID0gdHJ1ZSwgYm9vbCBhcHBseVdvcmRSb3VuZGluZyA9IHRydWUpCisg
ICAgVGV4dFJ1bihjb25zdCBTdHJpbmcmIHMsIGJvb2wgYWxsb3dUYWJzID0gZmFsc2UsIGZsb2F0
IHhwb3MgPSAwLCBmbG9hdCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9y
IHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29s
IHJ0bCA9IGZhbHNlLCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSkKICAgICAgICAg
OiBtX2NoYXJhY3RlcnMocy5jaGFyYWN0ZXJzKCkpCiAgICAgICAgICwgbV9sZW4ocy5sZW5ndGgo
KSkKICAgICAgICAgLCBtX3hwb3MoeHBvcykKQEAgLTc0LDggKzcwLDYgQEAgcHVibGljOgogICAg
ICAgICAsIG1fYWxsb3dUYWJzKGFsbG93VGFicykKICAgICAgICAgLCBtX3J0bChydGwpCiAgICAg
ICAgICwgbV9kaXJlY3Rpb25hbE92ZXJyaWRlKGRpcmVjdGlvbmFsT3ZlcnJpZGUpCi0gICAgICAg
ICwgbV9hcHBseVJ1blJvdW5kaW5nKGFwcGx5UnVuUm91bmRpbmcpCi0gICAgICAgICwgbV9hcHBs
eVdvcmRSb3VuZGluZyhhcHBseVdvcmRSb3VuZGluZykKICAgICAgICAgLCBtX2Rpc2FibGVTcGFj
aW5nKGZhbHNlKQogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2lu
Z1JlbmRlck9iamVjdCgwKQpAQCAtOTgsMTggKzkyLDE1IEBAIHB1YmxpYzoKICNlbmRpZgogCiAg
ICAgYm9vbCBhbGxvd1RhYnMoKSBjb25zdCB7IHJldHVybiBtX2FsbG93VGFiczsgfQotICAgIGlu
dCB4UG9zKCkgY29uc3QgeyByZXR1cm4gbV94cG9zOyB9Ci0gICAgaW50IGV4cGFuc2lvbigpIGNv
bnN0IHsgcmV0dXJuIG1fZXhwYW5zaW9uOyB9CisgICAgZmxvYXQgeFBvcygpIGNvbnN0IHsgcmV0
dXJuIG1feHBvczsgfQorICAgIGZsb2F0IGV4cGFuc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fZXhw
YW5zaW9uOyB9CiAgICAgYm9vbCBhbGxvd3NUcmFpbGluZ0V4cGFuc2lvbigpIGNvbnN0IHsgcmV0
dXJuIG1fdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9PSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9u
OyB9CiAgICAgYm9vbCBydGwoKSBjb25zdCB7IHJldHVybiBtX3J0bDsgfQogICAgIGJvb2wgbHRy
KCkgY29uc3QgeyByZXR1cm4gIW1fcnRsOyB9CiAgICAgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRl
KCkgY29uc3QgeyByZXR1cm4gbV9kaXJlY3Rpb25hbE92ZXJyaWRlOyB9Ci0gICAgYm9vbCBhcHBs
eVJ1blJvdW5kaW5nKCkgY29uc3QgeyByZXR1cm4gbV9hcHBseVJ1blJvdW5kaW5nOyB9Ci0gICAg
Ym9vbCBhcHBseVdvcmRSb3VuZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbHlXb3JkUm91bmRp
bmc7IH0KICAgICBib29sIHNwYWNpbmdEaXNhYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzYWJs
ZVNwYWNpbmc7IH0KIAogICAgIHZvaWQgZGlzYWJsZVNwYWNpbmcoKSB7IG1fZGlzYWJsZVNwYWNp
bmcgPSB0cnVlOyB9Ci0gICAgdm9pZCBkaXNhYmxlUm91bmRpbmdIYWNrcygpIHsgbV9hcHBseVJ1
blJvdW5kaW5nID0gbV9hcHBseVdvcmRSb3VuZGluZyA9IGZhbHNlOyB9CiAgICAgdm9pZCBzZXRS
VEwoYm9vbCBiKSB7IG1fcnRsID0gYjsgfQogICAgIHZvaWQgc2V0RGlyZWN0aW9uYWxPdmVycmlk
ZShib29sIG92ZXJyaWRlKSB7IG1fZGlyZWN0aW9uYWxPdmVycmlkZSA9IG92ZXJyaWRlOyB9CiAK
QEAgLTEyOCw4ICsxMTksOCBAQCBwcml2YXRlOgogICAgIC8vIG1feHBvcyBpcyB0aGUgeCBwb3Np
dGlvbiByZWxhdGl2ZSB0byB0aGUgbGVmdCBzdGFydCBvZiB0aGUgdGV4dCBsaW5lLCBub3QgcmVs
YXRpdmUgdG8gdGhlIGxlZnQKICAgICAvLyBzdGFydCBvZiB0aGUgY29udGFpbmluZyBibG9jay4g
SW4gdGhlIGNhc2Ugb2YgcmlnaHQgYWxpZ25tZW50IG9yIGNlbnRlciBhbGlnbm1lbnQsIGxlZnQg
c3RhcnQgb2YKICAgICAvLyB0aGUgdGV4dCBsaW5lIGlzIG5vdCB0aGUgc2FtZSBhcyBsZWZ0IHN0
YXJ0IG9mIHRoZSBjb250YWluaW5nIGJsb2NrLgotICAgIGludCBtX3hwb3M7ICAKLSAgICBpbnQg
bV9leHBhbnNpb247CisgICAgZmxvYXQgbV94cG9zOyAgCisgICAgZmxvYXQgbV9leHBhbnNpb247
CiAgICAgVHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciBtX3RyYWlsaW5nRXhwYW5zaW9uQmVoYXZp
b3I7CiAjaWYgRU5BQkxFKFNWRykKICAgICBmbG9hdCBtX2hvcml6b250YWxHbHlwaFN0cmV0Y2g7
CkBAIC0xMzcsOCArMTI4LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fYWxsb3dUYWJzOwogICAg
IGJvb2wgbV9ydGw7CiAgICAgYm9vbCBtX2RpcmVjdGlvbmFsT3ZlcnJpZGU7Ci0gICAgYm9vbCBt
X2FwcGx5UnVuUm91bmRpbmc7Ci0gICAgYm9vbCBtX2FwcGx5V29yZFJvdW5kaW5nOwogICAgIGJv
b2wgbV9kaXNhYmxlU3BhY2luZzsKIAogI2lmIEVOQUJMRShTVkdfRk9OVFMpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAko
cmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0
aEl0ZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBAQCBXaWR0aEl0ZXJh
dG9yOjpXaWR0aEl0ZXJhdG9yKGNvbnN0IEZvbnQqCiAgICAgLCBtX2N1cnJlbnRDaGFyYWN0ZXIo
MCkKICAgICAsIG1fcnVuV2lkdGhTb0ZhcigwKQogICAgICwgbV9pc0FmdGVyRXhwYW5zaW9uKHRy
dWUpCi0gICAgLCBtX2ZpbmFsUm91bmRpbmdXaWR0aCgwKQogICAgICwgbV9mYWxsYmFja0ZvbnRz
KGZhbGxiYWNrRm9udHMpCiAgICAgLCBtX2FjY291bnRGb3JHbHlwaEJvdW5kcyhhY2NvdW50Rm9y
R2x5cGhCb3VuZHMpCiAgICAgLCBtX21heEdseXBoQm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRz
PGZsb2F0Pjo6bWluKCkpCkBAIC04NiwxMSArODUsNiBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFk
dmFuY2UoaW50IG9mZnNldCwgCiAgICAgYm9vbCBydGwgPSBtX3J1bi5ydGwoKTsKICAgICBib29s
IGhhc0V4dHJhU3BhY2luZyA9IChtX2ZvbnQtPmxldHRlclNwYWNpbmcoKSB8fCBtX2ZvbnQtPndv
cmRTcGFjaW5nKCkgfHwgbV9leHBhbnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlzYWJsZWQoKTsK
IAotICAgIGZsb2F0IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSBtX3J1bldpZHRoU29GYXI7Ci0g
ICAgbV9ydW5XaWR0aFNvRmFyID0gZmxvb3JmKG1fcnVuV2lkdGhTb0Zhcik7Ci0gICAgd2lkdGhT
aW5jZUxhc3RSb3VuZGluZyAtPSBtX3J1bldpZHRoU29GYXI7Ci0KLSAgICBmbG9hdCBsYXN0Um91
bmRpbmdXaWR0aCA9IG1fZmluYWxSb3VuZGluZ1dpZHRoOwogICAgIEZsb2F0UmVjdCBib3VuZHM7
CiAKICAgICBjb25zdCBTaW1wbGVGb250RGF0YSogcHJpbWFyeUZvbnQgPSBtX2ZvbnQtPnByaW1h
cnlGb250KCk7CkBAIC0xMzYsNyArMTMwLDcgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNl
KGludCBvZmZzZXQsIAogICAgICAgICBmbG9hdCB3aWR0aDsKICAgICAgICAgaWYgKGMgPT0gJ1x0
JyAmJiBtX3J1bi5hbGxvd1RhYnMoKSkgewogICAgICAgICAgICAgZmxvYXQgdGFiV2lkdGggPSBt
X2ZvbnQtPnRhYldpZHRoKCpmb250RGF0YSk7Ci0gICAgICAgICAgICB3aWR0aCA9IHRhYldpZHRo
IC0gZm1vZGYobV9ydW4ueFBvcygpICsgbV9ydW5XaWR0aFNvRmFyICsgd2lkdGhTaW5jZUxhc3RS
b3VuZGluZywgdGFiV2lkdGgpOworICAgICAgICAgICAgd2lkdGggPSB0YWJXaWR0aCAtIGZtb2Rm
KG1fcnVuLnhQb3MoKSArIG1fcnVuV2lkdGhTb0ZhciwgdGFiV2lkdGgpOwogICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgd2lkdGggPSBmb250RGF0YS0+d2lkdGhGb3JHbHlwaChnbHlwaCk7
CiAKQEAgLTE0NCwxMyArMTM4LDYgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBv
ZmZzZXQsIAogICAgICAgICAgICAgLy8gU1ZHIHVzZXMgaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgp
LCB3aGVuIHRleHRMZW5ndGggaXMgdXNlZCB0byBzdHJldGNoL3NxdWVlemUgdGV4dC4KICAgICAg
ICAgICAgIHdpZHRoICo9IG1fcnVuLmhvcml6b250YWxHbHlwaFN0cmV0Y2goKTsKICNlbmRpZgot
Ci0gICAgICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlzIHdoZW4g
YXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAgICAgIC8vIEZpcnN0LCB3ZSByb3VuZCBz
cGFjZXMgdG8gYW4gYWRqdXN0ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAgICAgLy8g
U2Vjb25kLCBpbiBmaXhlZC1waXRjaCBmb250cyB3ZSBlbnN1cmUgdGhhdCBhbGwgY2hhcmFjdGVy
cyB0aGF0Ci0gICAgICAgICAgICAvLyBtYXRjaCB0aGUgd2lkdGggb2YgdGhlIHNwYWNlIGNoYXJh
Y3RlciBoYXZlIHRoZSBzYW1lIHdpZHRoIGFzIHRoZSBzcGFjZSBjaGFyYWN0ZXIuCi0gICAgICAg
ICAgICBpZiAod2lkdGggPT0gZm9udERhdGEtPnNwYWNlV2lkdGgoKSAmJiAoZm9udERhdGEtPnBp
dGNoKCkgPT0gRml4ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgpKSAm
JiBtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpKQotICAgICAgICAgICAgICAgIHdpZHRoID0gZm9u
dERhdGEtPmFkanVzdGVkU3BhY2VXaWR0aCgpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGZv
bnREYXRhICE9IGxhc3RGb250RGF0YSAmJiB3aWR0aCkgewpAQCAtMTgzLDE0ICsxNzAsMTQgQEAg
dm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQsIAogICAgICAgICAgICAgICAg
ICAgICBpZiAoIXRyZWF0QXNTcGFjZSAmJiAhbV9pc0FmdGVyRXhwYW5zaW9uKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBUYWtlIHRoZSBleHBhbnNpb24gb3Bwb3J0dW5pdHkgYmVmb3Jl
IHRoaXMgaWRlb2dyYXBoLgogICAgICAgICAgICAgICAgICAgICAgICAgbV9leHBhbnNpb24gLT0g
bV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCBl
eHBhbnNpb24gPSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRmKG1fZXhwYW5zaW9u
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0IGV4cGFuc2lvbiA9IHByZXZpb3VzRXhw
YW5zaW9uIC0gbV9leHBhbnNpb247CiAgICAgICAgICAgICAgICAgICAgICAgICBtX3J1bldpZHRo
U29GYXIgKz0gZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdseXBoQnVm
ZmVyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLT5leHBhbmRMYXN0
QWR2YW5jZShleHBhbnNpb24pOwogICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNFeHBh
bnNpb24gPSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAg
ICAgICAgICAgICAgICB3aWR0aCArPSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRm
KG1fZXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAgICAgICAgd2lkdGggKz0gcHJldmlvdXNFeHBh
bnNpb24gLSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5z
aW9uID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAg
bV9pc0FmdGVyRXhwYW5zaW9uID0gZmFsc2U7CkBAIC0yMTYsNDMgKzIwMywxMCBAQCB2b2lkIFdp
ZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9mZnNldCwgCiAgICAgICAgIGNwICs9IGNsdXN0ZXJM
ZW5ndGg7CiAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXIgKz0gY2x1c3Rlckxlbmd0aDsKIAotICAg
ICAgICAvLyBBY2NvdW50IGZvciBmbG9hdC9pbnRlZ2VyIGltcGVkYW5jZSBtaXNtYXRjaCBiZXR3
ZWVuIENHIGFuZCBLSFRNTC4gIldvcmRzIiAoY2hhcmFjdGVycyAKLSAgICAgICAgLy8gZm9sbG93
ZWQgYnkgYSBjaGFyYWN0ZXIgZGVmaW5lZCBieSBpc1JvdW5kaW5nSGFja0NoYXJhY3RlcigpKSBh
cmUgYWx3YXlzIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgIC8vIFdlIGFkanVzdCB0aGUgd2lk
dGggb2YgdGhlIGxhc3QgY2hhcmFjdGVyIG9mIGEgIndvcmQiIHRvIGVuc3VyZSBhbiBpbnRlZ2Vy
IHdpZHRoLgotICAgICAgICAvLyBJZiB3ZSBtb3ZlIEtIVE1MIHRvIGZsb2F0cyB3ZSBjYW4gcmVt
b3ZlIHRoaXMgKGFuZCByZWxhdGVkKSBoYWNrcy4KLQotICAgICAgICBmbG9hdCBvbGRXaWR0aCA9
IHdpZHRoOwotCi0gICAgICAgIC8vIEZvcmNlIGNoYXJhY3RlcnMgdGhhdCBhcmUgdXNlZCB0byBk
ZXRlcm1pbmUgd29yZCBib3VuZGFyaWVzIGZvciB0aGUgcm91bmRpbmcgaGFjawotICAgICAgICAv
LyB0byBiZSBpbnRlZ2VyIHdpZHRoLCBzbyBmb2xsb3dpbmcgd29yZHMgd2lsbCBzdGFydCBvbiBh
biBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICBpZiAobV9ydW4uYXBwbHlXb3JkUm91bmRpbmco
KSAmJiBGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcihjKSkgewotICAgICAgICAgICAgd2lk
dGggPSBjZWlsZih3aWR0aCk7Ci0KLSAgICAgICAgICAgIC8vIFNpbmNlIHdpZHRoU2luY2VMYXN0
Um91bmRpbmcgY2FuIGxvc2UgcHJlY2lzaW9uIGlmIHdlIGluY2x1ZGUgbWVhc3VyZW1lbnRzIGZv
cgotICAgICAgICAgICAgLy8gcHJlY2VkaW5nIHdoaXRlc3BhY2UsIHdlIGJ5cGFzcyBpdCBoZXJl
LgotICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoOwotCi0gICAgICAgICAgICAv
LyBTaW5jZSB0aGlzIGlzIGEgcm91bmRpbmcgaGFjayBjaGFyYWN0ZXIsIHdlIHNob3VsZCBoYXZl
IHJlc2V0IHRoaXMgc3VtIG9uIHRoZSBwcmV2aW91cwotICAgICAgICAgICAgLy8gaXRlcmF0aW9u
LgotICAgICAgICAgICAgQVNTRVJUKCF3aWR0aFNpbmNlTGFzdFJvdW5kaW5nKTsKLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgbmV4dCBjaGFyYWN0
ZXIgaXMgYSAicm91bmRpbmcgaGFjayBjaGFyYWN0ZXIiLCBpZiBzbywgYWRqdXN0Ci0gICAgICAg
ICAgICAvLyB3aWR0aCBzbyB0aGF0IHRoZSB0b3RhbCBydW4gd2lkdGggd2lsbCBiZSBvbiBhbiBp
bnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICAgICAgaWYgKChtX3J1bi5hcHBseVdvcmRSb3VuZGlu
ZygpICYmIGN1cnJlbnRDaGFyYWN0ZXIgPCBtX3J1bi5sZW5ndGgoKSAmJiBGb250Ojppc1JvdW5k
aW5nSGFja0NoYXJhY3RlcigqY3ApKQotICAgICAgICAgICAgICAgICAgICB8fCAobV9ydW4uYXBw
bHlSdW5Sb3VuZGluZygpICYmIGN1cnJlbnRDaGFyYWN0ZXIgPj0gbV9lbmQpKSB7Ci0gICAgICAg
ICAgICAgICAgZmxvYXQgdG90YWxXaWR0aCA9IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgKyB3aWR0
aDsKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gY2VpbGYodG90YWxX
aWR0aCk7Ci0gICAgICAgICAgICAgICAgd2lkdGggKz0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyAt
IHRvdGFsV2lkdGg7Ci0gICAgICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoU2lu
Y2VMYXN0Um91bmRpbmc7Ci0gICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9
IDA7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJv
dW5kaW5nICs9IHdpZHRoOwotICAgICAgICB9CisgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3
aWR0aDsKIAogICAgICAgICBpZiAoZ2x5cGhCdWZmZXIpCi0gICAgICAgICAgICBnbHlwaEJ1ZmZl
ci0+YWRkKGdseXBoLCBmb250RGF0YSwgKHJ0bCA/IG9sZFdpZHRoICsgbGFzdFJvdW5kaW5nV2lk
dGggOiB3aWR0aCkpOwotCi0gICAgICAgIGxhc3RSb3VuZGluZ1dpZHRoID0gd2lkdGggLSBvbGRX
aWR0aDsKKyAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQoZ2x5cGgsIGZvbnREYXRhLCB3aWR0
aCk7CiAKICAgICAgICAgaWYgKG1fYWNjb3VudEZvckdseXBoQm91bmRzKSB7CiAgICAgICAgICAg
ICBtX21heEdseXBoQm91bmRpbmdCb3hZID0gbWF4KG1fbWF4R2x5cGhCb3VuZGluZ0JveFksIGJv
dW5kcy5tYXhZKCkpOwpAQCAtMjYyLDggKzIxNiw2IEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2
YW5jZShpbnQgb2Zmc2V0LCAKICAgICB9CiAKICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBjdXJy
ZW50Q2hhcmFjdGVyOwotICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3aWR0aFNpbmNlTGFzdFJvdW5k
aW5nOwotICAgIG1fZmluYWxSb3VuZGluZ1dpZHRoID0gbGFzdFJvdW5kaW5nV2lkdGg7CiB9CiAK
IGJvb2wgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZU9uZUNoYXJhY3RlcihmbG9hdCYgd2lkdGgsIEds
eXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1dpZHRoSXRlcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCSh3b3JraW5nIGNvcHkp
CkBAIC01Myw3ICs1Myw2IEBAIHN0cnVjdCBXaWR0aEl0ZXJhdG9yIHsKICAgICBmbG9hdCBtX2V4
cGFuc2lvbjsKICAgICBmbG9hdCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwogICAgIGJvb2wg
bV9pc0FmdGVyRXhwYW5zaW9uOwotICAgIGZsb2F0IG1fZmluYWxSb3VuZGluZ1dpZHRoOwogCiBw
cml2YXRlOgogICAgIFVDaGFyMzIgbm9ybWFsaXplVm9pY2luZ01hcmtzKGludCBjdXJyZW50Q2hh
cmFjdGVyKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dy
YXBoaWNzQ29udGV4dENhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAJKHJldmlzaW9uIDc4
MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3ND
b250ZXh0Q2Fpcm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MTQsNyArNzE0LDcgQEAgdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjbwogI2luY2x1ZGUgIkRyYXdFcnJvclVu
ZGVybGluZS5oIgogI2VuZGlmCiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRl
eHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYgb3JpZ2luLCBpbnQgd2lkdGgsIFRleHRDaGVja2lu
Z0xpbmVTdHlsZSBzdHlsZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRD
aGVja2luZyhjb25zdCBGbG9hdFBvaW50JiBvcmlnaW4sIGZsb2F0IHdpZHRoLCBUZXh0Q2hlY2tp
bmdMaW5lU3R5bGUgc3R5bGUpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAg
ICAgcmV0dXJuOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3Jh
cGhpY3NDb250ZXh0Q0cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTExMzAsNyArMTEzMCw3IEBAIEZsb2F0UmVjdCBHcmFwaGljc0Nv
bnRleHQ6OnJvdW5kVG9EZXZpY2UKICAgICByZXR1cm4gRmxvYXRSZWN0KHJvdW5kZWRPcmlnaW4s
IHJvdW5kZWRMb3dlclJpZ2h0IC0gcm91bmRlZE9yaWdpbik7CiB9CiAKLXZvaWQgR3JhcGhpY3ND
b250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgSW50UG9pbnQmIHBvaW50LCBpbnQgd2lkdGgs
IGJvb2wgcHJpbnRpbmcpCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNv
bnN0IEZsb2F0UG9pbnQmIHBvaW50LCBmbG9hdCB3aWR0aCwgYm9vbCBwcmludGluZykKIHsKICAg
ICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxl
eFRleHRDb250cm9sbGVyLmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDksMTMgKzQ5LDYgQEAgc3RhdGljIGlubGluZSBDR0Zsb2F0IHJvdW5kQ0dGbG9h
dChDR0ZsbwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxDR0Zsb2F0Pihyb3VuZChmKSk7CiB9CiAK
LXN0YXRpYyBpbmxpbmUgQ0dGbG9hdCBjZWlsQ0dGbG9hdChDR0Zsb2F0IGYpCi17Ci0gICAgaWYg
KHNpemVvZihDR0Zsb2F0KSA9PSBzaXplb2YoZmxvYXQpKQotICAgICAgICByZXR1cm4gY2VpbGYo
c3RhdGljX2Nhc3Q8ZmxvYXQ+KGYpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q0dGbG9hdD4o
Y2VpbChmKSk7Ci19Ci0KIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6Q29tcGxleFRleHRDb250cm9s
bGVyKGNvbnN0IEZvbnQqIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgYm9vbCBtYXlVc2VOYXR1
cmFsV3JpdGluZ0RpcmVjdGlvbiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxs
YmFja0ZvbnRzLCBib29sIGZvclRleHRFbXBoYXNpcykKICAgICA6IG1fZm9udCgqZm9udCkKICAg
ICAsIG1fcnVuKHJ1bikKQEAgLTY5LDcgKzYyLDYgQEAgQ29tcGxleFRleHRDb250cm9sbGVyOjpD
b21wbGV4VGV4dENvbnRybwogICAgICwgbV9jdXJyZW50UnVuKDApCiAgICAgLCBtX2dseXBoSW5D
dXJyZW50UnVuKDApCiAgICAgLCBtX2NoYXJhY3RlckluQ3VycmVudEdseXBoKDApCi0gICAgLCBt
X2ZpbmFsUm91bmRpbmdXaWR0aCgwKQogICAgICwgbV9leHBhbnNpb24ocnVuLmV4cGFuc2lvbigp
KQogICAgICwgbV9hZnRlckV4cGFuc2lvbih0cnVlKQogICAgICwgbV9mYWxsYmFja0ZvbnRzKGZh
bGxiYWNrRm9udHMpCkBAIC03Nyw3ICs2OSw2IEBAIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6Q29t
cGxleFRleHRDb250cm8KICAgICAsIG1fbWF4R2x5cGhCb3VuZGluZ0JveFgobnVtZXJpY19saW1p
dHM8ZmxvYXQ+OjptaW4oKSkKICAgICAsIG1fbWluR2x5cGhCb3VuZGluZ0JveFkobnVtZXJpY19s
aW1pdHM8ZmxvYXQ+OjptYXgoKSkKICAgICAsIG1fbWF4R2x5cGhCb3VuZGluZ0JveFkobnVtZXJp
Y19saW1pdHM8ZmxvYXQ+OjptaW4oKSkKLSAgICAsIG1fbGFzdFJvdW5kaW5nR2x5cGgoMCkKIHsK
ICAgICBpZiAoIW1fZXhwYW5zaW9uKQogICAgICAgICBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5
ID0gMDsKQEAgLTQxMywxMyArNDA0LDExIEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjph
ZHZhbmNlKHVuc2kKICAgICAgICAgbV9jdXJyZW50UnVuKys7CiAgICAgICAgIG1fZ2x5cGhJbkN1
cnJlbnRSdW4gPSAwOwogICAgIH0KLSAgICBpZiAoIWx0ciAmJiBtX251bUdseXBoc1NvRmFyID09
IG1fYWRqdXN0ZWRBZHZhbmNlcy5zaXplKCkpCi0gICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBt
X2ZpbmFsUm91bmRpbmdXaWR0aDsKIH0KIAogdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFk
anVzdEdseXBoc0FuZEFkdmFuY2VzKCkKIHsKLSAgICBDR0Zsb2F0IHdpZHRoU2luY2VMYXN0Um91
bmRpbmcgPSAwOworICAgIENHRmxvYXQgd2lkdGhTaW5jZUxhc3RDb21taXQgPSAwOwogICAgIHNp
emVfdCBydW5Db3VudCA9IG1fY29tcGxleFRleHRSdW5zLnNpemUoKTsKICAgICBib29sIGhhc0V4
dHJhU3BhY2luZyA9IChtX2ZvbnQubGV0dGVyU3BhY2luZygpIHx8IG1fZm9udC53b3JkU3BhY2lu
ZygpIHx8IG1fZXhwYW5zaW9uKSAmJiAhbV9ydW4uc3BhY2luZ0Rpc2FibGVkKCk7CiAgICAgZm9y
IChzaXplX3QgciA9IDA7IHIgPCBydW5Db3VudDsgKytyKSB7CkBAIC00MzEsOSArNDIwLDggQEAg
dm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBocwogICAgICAgICBjb25zdCBD
R1NpemUqIGFkdmFuY2VzID0gY29tcGxleFRleHRSdW4uYWR2YW5jZXMoKTsKIAogICAgICAgICBi
b29sIGxhc3RSdW4gPSByICsgMSA9PSBydW5Db3VudDsKLSAgICAgICAgY29uc3QgVUNoYXIqIGNw
ID0gY29tcGxleFRleHRSdW4uY2hhcmFjdGVycygpOwotICAgICAgICBDR0Zsb2F0IHJvdW5kZWRT
cGFjZVdpZHRoID0gcm91bmRDR0Zsb2F0KGZvbnREYXRhLT5zcGFjZVdpZHRoKCkpOwogICAgICAg
ICBib29sIHJvdW5kc0FkdmFuY2VzID0gIW1fZm9udC5pc1ByaW50ZXJGb250KCkgJiYgZm9udERh
dGEtPnBsYXRmb3JtRGF0YSgpLnJvdW5kc0dseXBoQWR2YW5jZXMoKTsKKyAgICAgICAgY29uc3Qg
VUNoYXIqIGNwID0gY29tcGxleFRleHRSdW4uY2hhcmFjdGVycygpOwogICAgICAgICBDR1BvaW50
IGdseXBoT3JpZ2luID0gQ0dQb2ludFplcm87CiAgICAgICAgIENGSW5kZXggbGFzdENoYXJhY3Rl
ckluZGV4ID0gbV9ydW4ubHRyKCkgPyBudW1lcmljX2xpbWl0czxDRkluZGV4Pjo6bWluKCkgOiBu
dW1lcmljX2xpbWl0czxDRkluZGV4Pjo6bWF4KCk7CiAgICAgICAgIGJvb2wgaXNNb25vdG9uaWMg
PSB0cnVlOwpAQCAtNDYzLDcgKzQ1MSw3IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjph
ZGp1c3RHbHlwaHMKIAogICAgICAgICAgICAgaWYgKGNoID09ICdcdCcgJiYgbV9ydW4uYWxsb3dU
YWJzKCkpIHsKICAgICAgICAgICAgICAgICBmbG9hdCB0YWJXaWR0aCA9IG1fZm9udC50YWJXaWR0
aCgqZm9udERhdGEpOwotICAgICAgICAgICAgICAgIGFkdmFuY2Uud2lkdGggPSB0YWJXaWR0aCAt
IGZtb2RmKG1fcnVuLnhQb3MoKSArIG1fdG90YWxXaWR0aCArIHdpZHRoU2luY2VMYXN0Um91bmRp
bmcsIHRhYldpZHRoKTsKKyAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoID0gdGFiV2lkdGgg
LSBmbW9kZihtX3J1bi54UG9zKCkgKyBtX3RvdGFsV2lkdGggKyB3aWR0aFNpbmNlTGFzdENvbW1p
dCwgdGFiV2lkdGgpOwogICAgICAgICAgICAgfSBlbHNlIGlmIChjaCA9PSB6ZXJvV2lkdGhTcGFj
ZSB8fCAoRm9udDo6dHJlYXRBc1plcm9XaWR0aFNwYWNlKGNoKSAmJiAhdHJlYXRBc1NwYWNlKSkg
ewogICAgICAgICAgICAgICAgIGFkdmFuY2Uud2lkdGggPSAwOwogICAgICAgICAgICAgICAgIGds
eXBoID0gZm9udERhdGEtPnNwYWNlR2x5cGgoKTsKQEAgLTQ3NSwxMyArNDYzLDYgQEAgdm9pZCBD
b21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBocwogCiAgICAgICAgICAgICBhZHZhbmNl
LndpZHRoICs9IGZvbnREYXRhLT5zeW50aGV0aWNCb2xkT2Zmc2V0KCk7CiAKLSAgICAgICAgICAg
IC8vIFdlIHNwZWNpYWwgY2FzZSBzcGFjZXMgaW4gdHdvIHdheXMgd2hlbiBhcHBseWluZyB3b3Jk
IHJvdW5kaW5nLgotICAgICAgICAgICAgLy8gRmlyc3QsIHdlIHJvdW5kIHNwYWNlcyB0byBhbiBh
ZGp1c3RlZCB3aWR0aCBpbiBhbGwgZm9udHMuCi0gICAgICAgICAgICAvLyBTZWNvbmQsIGluIGZp
eGVkLXBpdGNoIGZvbnRzIHdlIGVuc3VyZSB0aGF0IGFsbCBnbHlwaHMgdGhhdAotICAgICAgICAg
ICAgLy8gbWF0Y2ggdGhlIHdpZHRoIG9mIHRoZSBzcGFjZSBnbHlwaCBoYXZlIHRoZSBzYW1lIHdp
ZHRoIGFzIHRoZSBzcGFjZSBnbHlwaC4KLSAgICAgICAgICAgIGlmIChyb3VuZGVkQWR2YW5jZVdp
ZHRoID09IHJvdW5kZWRTcGFjZVdpZHRoICYmIChmb250RGF0YS0+cGl0Y2goKSA9PSBGaXhlZFBp
dGNoIHx8IGdseXBoID09IGZvbnREYXRhLT5zcGFjZUdseXBoKCkpICYmIG1fcnVuLmFwcGx5V29y
ZFJvdW5kaW5nKCkpCi0gICAgICAgICAgICAgICAgYWR2YW5jZS53aWR0aCA9IGZvbnREYXRhLT5h
ZGp1c3RlZFNwYWNlV2lkdGgoKTsKLQogICAgICAgICAgICAgaWYgKGhhc0V4dHJhU3BhY2luZykg
ewogICAgICAgICAgICAgICAgIC8vIElmIHdlJ3JlIGEgZ2x5cGggd2l0aCBhbiBhZHZhbmNlLCBn
byBhaGVhZCBhbmQgYWRkIGluIGxldHRlci1zcGFjaW5nLgogICAgICAgICAgICAgICAgIC8vIFRo
YXQgd2F5IHdlIHdlZWQgb3V0IHplcm8gd2lkdGggbHVya2Vycy4gIFRoaXMgYmVoYXZpb3IgbWF0
Y2hlcyB0aGUgZmFzdCB0ZXh0IGNvZGUgcGF0aC4KQEAgLTQ5NiwxMyArNDc3LDEzIEBAIHZvaWQg
Q29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHMKICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICghdHJlYXRBc1NwYWNlICYmICFtX2FmdGVyRXhwYW5zaW9uKSB7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gVGFrZSB0aGUgZXhwYW5zaW9uIG9wcG9ydHVuaXR5IGJlZm9y
ZSB0aGlzIGlkZW9ncmFwaC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2V4cGFuc2lv
biAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBleHBhbnNpb24gPSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRmKG1f
ZXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCBleHBhbnNpb24g
PSBwcmV2aW91c0V4cGFuc2lvbiAtIG1fZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG1fdG90YWxXaWR0aCArPSBleHBhbnNpb247CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbV9hZGp1c3RlZEFkdmFuY2VzLmxhc3QoKS53aWR0aCArPSBleHBhbnNpb247CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNFeHBhbnNpb24gPSBtX2V4cGFuc2lvbjsK
ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIG1fZXhw
YW5zaW9uIC09IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBhZHZhbmNlLndpZHRoICs9IHJvdW5kZihwcmV2aW91c0V4cGFuc2lvbikgLSByb3VuZGYo
bV9leHBhbnNpb24pOworICAgICAgICAgICAgICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSBw
cmV2aW91c0V4cGFuc2lvbiAtIG1fZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICAgICAg
bV9hZnRlckV4cGFuc2lvbiA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQogICAg
ICAgICAgICAgICAgICAgICAgICAgbV9hZnRlckV4cGFuc2lvbiA9IGZhbHNlOwpAQCAtNTE0LDMz
ICs0OTUsNyBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAgICAg
ICAgICAgICAgICAgICAgIG1fYWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKICAgICAgICAgICAgIH0K
IAotICAgICAgICAgICAgLy8gRGVhbCB3aXRoIHRoZSBmbG9hdC9pbnRlZ2VyIGltcGVkYW5jZSBt
aXNtYXRjaCBiZXR3ZWVuIENHIGFuZCBXZWJDb3JlLiAiV29yZHMiIChjaGFyYWN0ZXJzIAotICAg
ICAgICAgICAgLy8gZm9sbG93ZWQgYnkgYSBjaGFyYWN0ZXIgZGVmaW5lZCBieSBpc1JvdW5kaW5n
SGFja0NoYXJhY3RlcigpKSBhcmUgYWx3YXlzIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgICAg
ICAvLyBXZSBhZGp1c3QgdGhlIHdpZHRoIG9mIHRoZSBsYXN0IGNoYXJhY3RlciBvZiBhICJ3b3Jk
IiB0byBlbnN1cmUgYW4gaW50ZWdlciB3aWR0aC4KLSAgICAgICAgICAgIC8vIEZvcmNlIGNoYXJh
Y3RlcnMgdGhhdCBhcmUgdXNlZCB0byBkZXRlcm1pbmUgd29yZCBib3VuZGFyaWVzIGZvciB0aGUg
cm91bmRpbmcgaGFjawotICAgICAgICAgICAgLy8gdG8gYmUgaW50ZWdlciB3aWR0aCwgc28gdGhl
IGZvbGxvd2luZyB3b3JkcyB3aWxsIHN0YXJ0IG9uIGFuIGludGVnZXIgYm91bmRhcnkuCi0gICAg
ICAgICAgICBpZiAobV9ydW4uYXBwbHlXb3JkUm91bmRpbmcoKSAmJiBGb250Ojppc1JvdW5kaW5n
SGFja0NoYXJhY3RlcihjaCkpCi0gICAgICAgICAgICAgICAgYWR2YW5jZS53aWR0aCA9IGNlaWxD
R0Zsb2F0KGFkdmFuY2Uud2lkdGgpOwotCi0gICAgICAgICAgICAvLyBDaGVjayB0byBzZWUgaWYg
dGhlIG5leHQgY2hhcmFjdGVyIGlzIGEgInJvdW5kaW5nIGhhY2sgY2hhcmFjdGVyIiwgaWYgc28s
IGFkanVzdCB0aGUKLSAgICAgICAgICAgIC8vIHdpZHRoIHNvIHRoYXQgdGhlIHRvdGFsIHJ1biB3
aWR0aCB3aWxsIGJlIG9uIGFuIGludGVnZXIgYm91bmRhcnkuCi0gICAgICAgICAgICBpZiAoKG1f
cnVuLmFwcGx5V29yZFJvdW5kaW5nKCkgJiYgIWxhc3RHbHlwaCAmJiBGb250Ojppc1JvdW5kaW5n
SGFja0NoYXJhY3RlcihuZXh0Q2gpKSB8fCAobV9ydW4uYXBwbHlSdW5Sb3VuZGluZygpICYmIGxh
c3RHbHlwaCkpIHsKLSAgICAgICAgICAgICAgICBDR0Zsb2F0IHRvdGFsV2lkdGggPSB3aWR0aFNp
bmNlTGFzdFJvdW5kaW5nICsgYWR2YW5jZS53aWR0aDsKLSAgICAgICAgICAgICAgICB3aWR0aFNp
bmNlTGFzdFJvdW5kaW5nID0gY2VpbENHRmxvYXQodG90YWxXaWR0aCk7Ci0gICAgICAgICAgICAg
ICAgQ0dGbG9hdCBleHRyYVdpZHRoID0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyAtIHRvdGFsV2lk
dGg7Ci0gICAgICAgICAgICAgICAgaWYgKG1fcnVuLmx0cigpKQotICAgICAgICAgICAgICAgICAg
ICBhZHZhbmNlLndpZHRoICs9IGV4dHJhV2lkdGg7Ci0gICAgICAgICAgICAgICAgZWxzZSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmIChtX2xhc3RSb3VuZGluZ0dseXBoKQotICAgICAgICAgICAg
ICAgICAgICAgICAgbV9hZGp1c3RlZEFkdmFuY2VzW21fbGFzdFJvdW5kaW5nR2x5cGggLSAxXS53
aWR0aCArPSBleHRyYVdpZHRoOwotICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAg
ICAgICAgICAgICAgICBtX2ZpbmFsUm91bmRpbmdXaWR0aCA9IGV4dHJhV2lkdGg7Ci0gICAgICAg
ICAgICAgICAgICAgIG1fbGFzdFJvdW5kaW5nR2x5cGggPSBtX2FkanVzdGVkQWR2YW5jZXMuc2l6
ZSgpICsgMTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgbV90b3RhbFdpZHRo
ICs9IHdpZHRoU2luY2VMYXN0Um91bmRpbmc7Ci0gICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxh
c3RSb3VuZGluZyA9IDA7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB3aWR0
aFNpbmNlTGFzdFJvdW5kaW5nICs9IGFkdmFuY2Uud2lkdGg7CisgICAgICAgICAgICB3aWR0aFNp
bmNlTGFzdENvbW1pdCArPSBhZHZhbmNlLndpZHRoOwogCiAgICAgICAgICAgICAvLyBGSVhNRTog
Q29tYmluaW5nIG1hcmtzIHNob3VsZCByZWNlaXZlIGEgdGV4dCBlbXBoYXNpcyBtYXJrIGlmIHRo
ZXkgYXJlIGNvbWJpbmUgd2l0aCBhIHNwYWNlLgogICAgICAgICAgICAgaWYgKG1fZm9yVGV4dEVt
cGhhc2lzICYmICghRm9udDo6Y2FuUmVjZWl2ZVRleHRFbXBoYXNpcyhjaCkgfHwgKFVfR0VUX0dD
X01BU0soY2gpICYgVV9HQ19NX01BU0spKSkKQEAgLTU2NCw3ICs1MTksNyBAQCB2b2lkIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAgICAgICAgIGlmICghaXNNb25vdG9uaWMp
CiAgICAgICAgICAgICBjb21wbGV4VGV4dFJ1bi5zZXRJc05vbk1vbm90b25pYygpOwogICAgIH0K
LSAgICBtX3RvdGFsV2lkdGggKz0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZzsKKyAgICBtX3RvdGFs
V2lkdGggKz0gd2lkdGhTaW5jZUxhc3RDb21taXQ7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4
dENvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmgJKHJldmlzaW9uIDc4MzcxKQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC02MCw5ICs2MCw2IEBAIHB1YmxpYzoKIAogICAgIGZsb2F0IHRv
dGFsV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3RvdGFsV2lkdGg7IH0KIAotICAgIC8vIEV4dHJh
IHdpZHRoIHRvIHRoZSBsZWZ0IG9mIHRoZSBsZWZ0bW9zdCBnbHlwaC4KLSAgICBmbG9hdCBmaW5h
bFJvdW5kaW5nV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2ZpbmFsUm91bmRpbmdXaWR0aDsgfQot
CiAgICAgZmxvYXQgbWluR2x5cGhCb3VuZGluZ0JveFgoKSBjb25zdCB7IHJldHVybiBtX21pbkds
eXBoQm91bmRpbmdCb3hYOyB9CiAgICAgZmxvYXQgbWF4R2x5cGhCb3VuZGluZ0JveFgoKSBjb25z
dCB7IHJldHVybiBtX21heEdseXBoQm91bmRpbmdCb3hYOyB9CiAgICAgZmxvYXQgbWluR2x5cGhC
b3VuZGluZ0JveFkoKSBjb25zdCB7IHJldHVybiBtX21pbkdseXBoQm91bmRpbmdCb3hZOyB9CkBA
IC0xNzYsNyArMTczLDYgQEAgcHJpdmF0ZToKICAgICBzaXplX3QgbV9jdXJyZW50UnVuOwogICAg
IHVuc2lnbmVkIG1fZ2x5cGhJbkN1cnJlbnRSdW47CiAgICAgdW5zaWduZWQgbV9jaGFyYWN0ZXJJ
bkN1cnJlbnRHbHlwaDsKLSAgICBmbG9hdCBtX2ZpbmFsUm91bmRpbmdXaWR0aDsKICAgICBmbG9h
dCBtX2V4cGFuc2lvbjsKICAgICBmbG9hdCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwogICAg
IGJvb2wgbV9hZnRlckV4cGFuc2lvbjsKQEAgLTE4Nyw4ICsxODMsNiBAQCBwcml2YXRlOgogICAg
IGZsb2F0IG1fbWF4R2x5cGhCb3VuZGluZ0JveFg7CiAgICAgZmxvYXQgbV9taW5HbHlwaEJvdW5k
aW5nQm94WTsKICAgICBmbG9hdCBtX21heEdseXBoQm91bmRpbmdCb3hZOwotICAgIAotICAgIHVu
c2lnbmVkIG1fbGFzdFJvdW5kaW5nR2x5cGg7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENvbXBsZXhU
ZXh0TWFjLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvRm9udENvbXBsZXhUZXh0TWFjLmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENvbXBsZXhUZXh0TWFjLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNzEsNyArNzEsNyBAQCBmbG9hdCBGb250OjpnZXRHbHlwaHNBbmRBZHZh
bmNlc0ZvckNvbXBsCiAgICAgZmxvYXQgYWZ0ZXJXaWR0aCA9IGNvbnRyb2xsZXIucnVuV2lkdGhT
b0ZhcigpOwogCiAgICAgaWYgKHJ1bi5ydGwoKSkgewotICAgICAgICBpbml0aWFsQWR2YW5jZSA9
IGNvbnRyb2xsZXIudG90YWxXaWR0aCgpICsgY29udHJvbGxlci5maW5hbFJvdW5kaW5nV2lkdGgo
KSAtIGFmdGVyV2lkdGg7CisgICAgICAgIGluaXRpYWxBZHZhbmNlID0gY29udHJvbGxlci50b3Rh
bFdpZHRoKCkgLSBhZnRlcldpZHRoOwogICAgICAgICBmb3IgKGludCBpID0gMCwgZW5kID0gZ2x5
cGhCdWZmZXIuc2l6ZSgpIC0gMTsgaSA8IGdseXBoQnVmZmVyLnNpemUoKSAvIDI7ICsraSwgLS1l
bmQpCiAgICAgICAgICAgICBnbHlwaEJ1ZmZlci5zd2FwKGksIGVuZCk7CiAgICAgfSBlbHNlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0
TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9HcmFwaGljc0NvbnRleHRNYWMubW0JKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dE1hYy5tbQkod29ya2luZyBj
b3B5KQpAQCAtMTEyLDE0ICsxMTIsMTQgQEAgc3RhdGljIE5TQ29sb3IqIGNyZWF0ZVBhdHRlcm5D
b2xvcihOU1N0cgogfQogCiAvLyBXZWJLaXQgb24gTWFjIGlzIGEgc3RhbmRhcmQgcGxhdGZvcm0g
Y29tcG9uZW50LCBzbyBpdCBtdXN0IHVzZSB0aGUgc3RhbmRhcmQgcGxhdGZvcm0gYXJ0d29yayBm
b3IgdW5kZXJsaW5lLgotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNr
aW5nKGNvbnN0IEludFBvaW50JiBwb2ludCwgaW50IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5
bGUgc3R5bGUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmco
Y29uc3QgRmxvYXRQb2ludCYgcG9pbnQsIGZsb2F0IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5
bGUgc3R5bGUpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJu
OwogICAgICAgICAKICAgICAvLyBUaGVzZSBhcmUgdGhlIHNhbWUgZm9yIG1pc3NwZWxsaW5nIG9y
IGJhZCBncmFtbWFyLgogICAgIGludCBwYXR0ZXJuSGVpZ2h0ID0gY01pc3NwZWxsaW5nTGluZVRo
aWNrbmVzczsKLSAgICBpbnQgcGF0dGVybldpZHRoID0gY01pc3NwZWxsaW5nTGluZVBhdHRlcm5X
aWR0aDsKKyAgICBmbG9hdCBwYXR0ZXJuV2lkdGggPSBjTWlzc3BlbGxpbmdMaW5lUGF0dGVybldp
ZHRoOwogCiAgICAgYm9vbCB1c2luZ0RvdDsKICAgICBOU0NvbG9yICpwYXR0ZXJuQ29sb3I7CkBA
IC0xNjUsNyArMTY1LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENo
ZQogICAgIC8vIHNwYWNlIGJldHdlZW4gYWRqYWNlbnQgbWlzc3BlbGxlZCB3b3JkcyB3YXMgdW5k
ZXJsaW5lZC4KICAgICBpZiAodXNpbmdEb3QpIHsKICAgICAgICAgLy8gYWxsb3cgc2xpZ2h0bHkg
bW9yZSBjb25zaWRlcmluZyB0aGF0IHRoZSBwYXR0ZXJuIGVuZHMgd2l0aCBhIHRyYW5zcGFyZW50
IHBpeGVsCi0gICAgICAgIGludCB3aWR0aE1vZCA9IHdpZHRoICUgcGF0dGVybldpZHRoOworICAg
ICAgICBmbG9hdCB3aWR0aE1vZCA9IGZtb2RmKHdpZHRoLCBwYXR0ZXJuV2lkdGgpOwogICAgICAg
ICBpZiAocGF0dGVybldpZHRoIC0gd2lkdGhNb2QgPiBjTWlzc3BlbGxpbmdMaW5lUGF0dGVybkdh
cFdpZHRoKQogICAgICAgICAgICAgd2lkdGggLT0gd2lkdGhNb2Q7CiAgICAgfQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNz
Q29udGV4dFF0LmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg3
NSw3ICs4NzUsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvCiAg
ICAgZHJhd0xpbmUoc3RhcnRQb2ludCwgZW5kUG9pbnQpOwogfQogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmLCBpbnQsIFRleHRD
aGVja2luZ0xpbmVTdHlsZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRD
aGVja2luZyhjb25zdCBGbG9hdFBvaW50JiwgZmxvYXQsIFRleHRDaGVja2luZ0xpbmVTdHlsZSkK
IHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFNraWEu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEv
R3JhcGhpY3NDb250ZXh0U2tpYS5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lhLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTk1LDcgKzU5NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGlu
ZShjb25zdCBJbnQKICAgICBwbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCktPmRyYXdQb2ludHMo
U2tDYW52YXM6OmtMaW5lc19Qb2ludE1vZGUsIDIsIHB0cywgcGFpbnQpOwogfQogCi12b2lkIEdy
YXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmIHB0
LCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSBzdHlsZSkKK3ZvaWQgR3JhcGhpY3ND
b250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBGbG9hdFBvaW50JiBwdCwgZmxv
YXQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSBzdHlsZSkKIHsKICAgICBpZiAocGFpbnRp
bmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC02NDQsOCArNjQ0LDggQEAgdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZQogICAgIH0KIAogICAgIC8vIE9mZnNl
dCBpdCB2ZXJ0aWNhbGx5IGJ5IDEgc28gdGhhdCB0aGVyZSdzIHNvbWUgc3BhY2UgdW5kZXIgdGhl
IHRleHQuCi0gICAgU2tTY2FsYXIgb3JpZ2luWCA9IFNrSW50VG9TY2FsYXIocHQueCgpKTsKLSAg
ICBTa1NjYWxhciBvcmlnaW5ZID0gU2tJbnRUb1NjYWxhcihwdC55KCkpICsgMTsKKyAgICBTa1Nj
YWxhciBvcmlnaW5YID0gV2ViQ29yZUZsb2F0VG9Ta1NjYWxhcihwdC54KCkpOworICAgIFNrU2Nh
bGFyIG9yaWdpblkgPSBXZWJDb3JlRmxvYXRUb1NrU2NhbGFyKHB0LnkoKSkgKyAxOwogCiAgICAg
Ly8gTWFrZSBhIHNoYWRlciBmb3IgdGhlIGJpdG1hcCB3aXRoIGFuIG9yaWdpbiBvZiB0aGUgYm94
IHdlJ2xsIGRyYXcuIFRoaXMKICAgICAvLyBzaGFkZXIgaXMgcmVmY291bnRlZCBhbmQgd2lsbCBo
YXZlIGFuIGluaXRpYWwgcmVmY291bnQgb2YgMS4KQEAgLTY2Nyw3ICs2NjcsNyBAQCB2b2lkIEdy
YXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlCiAgICAgU2tSZWN0IHJlY3Q7CiAgICAg
cmVjdC5zZXQob3JpZ2luWCwKICAgICAgICAgICAgICBvcmlnaW5ZLAotICAgICAgICAgICAgIG9y
aWdpblggKyBTa0ludFRvU2NhbGFyKHdpZHRoKSwKKyAgICAgICAgICAgICBvcmlnaW5YICsgV2Vi
Q29yZUZsb2F0VG9Ta1NjYWxhcih3aWR0aCksCiAgICAgICAgICAgICAgb3JpZ2luWSArIFNrSW50
VG9TY2FsYXIobWlzc3BlbGxCaXRtYXAtPmhlaWdodCgpKSk7CiAgICAgcGxhdGZvcm1Db250ZXh0
KCktPmNhbnZhcygpLT5kcmF3UmVjdChyZWN0LCBwYWludCk7CiB9CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0Q0dXaW4uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0Nv
bnRleHRDR1dpbi5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dENHV2luLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTg0LDcgKzE4NCw3IEBAIHN0YXRpYyBjb25zdCBDb2xvciYgZ3JhbW1hclBhdHRlcm5Db2xv
cigKICAgICByZXR1cm4gZ3JhbW1hckNvbG9yOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6
ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmIHBvaW50LCBpbnQgd2lkdGgs
IFRleHRDaGVja2luZ0xpbmVTdHlsZSBzdHlsZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3
TGluZUZvclRleHRDaGVja2luZyhjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgZmxvYXQgd2lkdGgs
IFRleHRDaGVja2luZ0xpbmVTdHlsZSBzdHlsZSkKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxl
ZCgpKQogICAgICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vVW5pc2NyaWJlQ29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwCShyZXZp
c2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Vbmlz
Y3JpYmVDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYxLDE4ICsyNjEsMTMgQEAg
Ym9vbCBVbmlzY3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSQogICAgICAgICByZXR1cm4g
dHJ1ZTsKIAogICAgIC8vIENvbnZlcnQgYWxsIGNoYXJzIHRoYXQgc2hvdWxkIGJlIHRyZWF0ZWQg
YXMgc3BhY2VzIHRvIHVzZSB0aGUgc3BhY2UgZ2x5cGguCi0gICAgLy8gV2UgYWxzbyBjcmVhdGUg
YSBtYXAgdGhhdCBhbGxvd3MgdXMgdG8gcXVpY2tseSBnbyBmcm9tIHNwYWNlIGdseXBocyBvciBy
b3VuZGluZwotICAgIC8vIGhhY2sgZ2x5cGhzIGJhY2sgdG8gdGhlaXIgY29ycmVzcG9uZGluZyBj
aGFyYWN0ZXJzLgorICAgIC8vIFdlIGFsc28gY3JlYXRlIGEgbWFwIHRoYXQgYWxsb3dzIHVzIHRv
IHF1aWNrbHkgZ28gZnJvbSBzcGFjZSBnbHlwaHMgYmFjayB0byB0aGVpciBjb3JyZXNwb25kaW5n
IGNoYXJhY3RlcnMuCiAgICAgVmVjdG9yPGludD4gc3BhY2VDaGFyYWN0ZXJzKGdseXBocy5zaXpl
KCkpOwogICAgIHNwYWNlQ2hhcmFjdGVycy5maWxsKC0xKTsKLSAgICBWZWN0b3I8aW50PiByb3Vu
ZGluZ0hhY2tDaGFyYWN0ZXJzKGdseXBocy5zaXplKCkpOwotICAgIHJvdW5kaW5nSGFja0NoYXJh
Y3RlcnMuZmlsbCgtMSk7Ci0gICAgVmVjdG9yPGludD4gcm91bmRpbmdIYWNrV29yZEJvdW5kYXJp
ZXMoZ2x5cGhzLnNpemUoKSk7Ci0gICAgcm91bmRpbmdIYWNrV29yZEJvdW5kYXJpZXMuZmlsbCgt
MSk7CiAKICAgICBjb25zdCBmbG9hdCBjTG9naWNhbFNjYWxlID0gZm9udERhdGEtPnBsYXRmb3Jt
RGF0YSgpLnVzZUdESSgpID8gMS4wZiA6IDMyLjBmOwogICAgIHVuc2lnbmVkIGxvZ2ljYWxTcGFj
ZVdpZHRoID0gZm9udERhdGEtPnNwYWNlV2lkdGgoKSAqIGNMb2dpY2FsU2NhbGU7Ci0gICAgZmxv
YXQgcm91bmRlZFNwYWNlV2lkdGggPSByb3VuZGYoZm9udERhdGEtPnNwYWNlV2lkdGgoKSk7Cisg
ICAgZmxvYXQgc3BhY2VXaWR0aCA9IGZvbnREYXRhLT5zcGFjZVdpZHRoKCk7CiAKICAgICBmb3Ig
KGludCBrID0gMDsgayA8IGxlbjsgaysrKSB7CiAgICAgICAgIFVDaGFyIGNoID0gKihzdHIgKyBr
KTsKQEAgLTI4NiwyMSArMjgxLDYgQEAgYm9vbCBVbmlzY3JpYmVDb250cm9sbGVyOjpzaGFwZUFu
ZFBsYWNlSQogICAgICAgICAgICAgaWYgKHRyZWF0QXNTcGFjZSkKICAgICAgICAgICAgICAgICBz
cGFjZUNoYXJhY3RlcnNbY2x1c3RlcnNba11dID0gbV9jdXJyZW50Q2hhcmFjdGVyICsgayArIGl0
ZW0uaUNoYXJQb3M7CiAgICAgICAgIH0KLQotICAgICAgICBpZiAoRm9udDo6aXNSb3VuZGluZ0hh
Y2tDaGFyYWN0ZXIoY2gpKQotICAgICAgICAgICAgcm91bmRpbmdIYWNrQ2hhcmFjdGVyc1tjbHVz
dGVyc1trXV0gPSBtX2N1cnJlbnRDaGFyYWN0ZXIgKyBrICsgaXRlbS5pQ2hhclBvczsKLQotICAg
ICAgICBpbnQgYm91bmRhcnkgPSBrICsgbV9jdXJyZW50Q2hhcmFjdGVyICsgaXRlbS5pQ2hhclBv
czsKLSAgICAgICAgaWYgKGJvdW5kYXJ5IDwgbV9ydW4ubGVuZ3RoKCkpIHsKLSAgICAgICAgICAg
IC8vIFdoZW4gYXQgdGhlIGxhc3QgY2hhcmFjdGVyIGluIHRoZSBzdHIsIGRvbid0IGxvb2sgb25l
IHBhc3QgdGhlIGVuZCBmb3IgYSByb3VuZGluZyBoYWNrIGNoYXJhY3Rlci4KLSAgICAgICAgICAg
IC8vIEluc3RlYWQgbG9vayBhaGVhZCB0byB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIG5leHQgaXRl
bSwgaWYgdGhlcmUgaXMgYSBuZXh0IG9uZS4gCi0gICAgICAgICAgICBpZiAoayArIDEgPT0gbGVu
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKGkgKyAyIDwgbV9pdGVtcy5zaXplKCkgLy8gQ2hlY2sg
Zm9yIGF0IGxlYXN0IDIgaXRlbXMgcmVtYWluaW5nLiBUaGUgbGFzdCBpdGVtIGlzIGEgdGVybWlu
YXRpbmcgaXRlbSBjb250YWluaW5nIG5vIGNoYXJhY3RlcnMuCi0gICAgICAgICAgICAgICAgICAg
ICYmIEZvbnQ6OmlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKCooY3AgKyBtX2l0ZW1zW2kgKyAxXS5p
Q2hhclBvcykpKQotICAgICAgICAgICAgICAgICAgICByb3VuZGluZ0hhY2tXb3JkQm91bmRhcmll
c1tjbHVzdGVyc1trXV0gPSBib3VuZGFyeTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoRm9udDo6
aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoKihzdHIgKyBrICsgMSkpKQotICAgICAgICAgICAgICAg
IHJvdW5kaW5nSGFja1dvcmRCb3VuZGFyaWVzW2NsdXN0ZXJzW2tdXSA9IGJvdW5kYXJ5OwotICAg
ICAgICB9CiAgICAgfQogCiAgICAgLy8gUG9wdWxhdGUgb3VyIGdseXBoIGJ1ZmZlciB3aXRoIHRo
aXMgaW5mb3JtYXRpb24uCkBAIC0zMTQsMjQgKzI5NCw4IEBAIGJvb2wgVW5pc2NyaWJlQ29udHJv
bGxlcjo6c2hhcGVBbmRQbGFjZUkKICAgICAgICAgZmxvYXQgb2Zmc2V0WCA9IG9mZnNldHNba10u
ZHUgLyBjTG9naWNhbFNjYWxlOwogICAgICAgICBmbG9hdCBvZmZzZXRZID0gb2Zmc2V0c1trXS5k
diAvIGNMb2dpY2FsU2NhbGU7CiAKLSAgICAgICAgLy8gTWF0Y2ggQXBwS2l0J3MgcnVsZXMgZm9y
IHRoZSBpbnRlZ2VyIHZzLiBub24taW50ZWdlciByZW5kZXJpbmcgbW9kZXMuCi0gICAgICAgIGZs
b2F0IHJvdW5kZWRBZHZhbmNlID0gcm91bmRmKGFkdmFuY2UpOwotICAgICAgICBpZiAoIW1fZm9u
dC5pc1ByaW50ZXJGb250KCkgJiYgIWZvbnREYXRhLT5pc1N5c3RlbUZvbnQoKSkgewotICAgICAg
ICAgICAgYWR2YW5jZSA9IHJvdW5kZWRBZHZhbmNlOwotICAgICAgICAgICAgb2Zmc2V0WCA9IHJv
dW5kZihvZmZzZXRYKTsKLSAgICAgICAgICAgIG9mZnNldFkgPSByb3VuZGYob2Zmc2V0WSk7Ci0g
ICAgICAgIH0KLQogICAgICAgICBhZHZhbmNlICs9IGZvbnREYXRhLT5zeW50aGV0aWNCb2xkT2Zm
c2V0KCk7CiAKLSAgICAgICAgLy8gV2Ugc3BlY2lhbCBjYXNlIHNwYWNlcyBpbiB0d28gd2F5cyB3
aGVuIGFwcGx5aW5nIHdvcmQgcm91bmRpbmcuCi0gICAgICAgIC8vIEZpcnN0LCB3ZSByb3VuZCBz
cGFjZXMgdG8gYW4gYWRqdXN0ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAvLyBTZWNv
bmQsIGluIGZpeGVkLXBpdGNoIGZvbnRzIHdlIGVuc3VyZSB0aGF0IGFsbCBnbHlwaHMgdGhhdAot
ICAgICAgICAvLyBtYXRjaCB0aGUgd2lkdGggb2YgdGhlIHNwYWNlIGdseXBoIGhhdmUgdGhlIHNh
bWUgd2lkdGggYXMgdGhlIHNwYWNlIGdseXBoLgotICAgICAgICBpZiAocm91bmRlZEFkdmFuY2Ug
PT0gcm91bmRlZFNwYWNlV2lkdGggJiYgKGZvbnREYXRhLT5waXRjaCgpID09IEZpeGVkUGl0Y2gg
fHwgZ2x5cGggPT0gZm9udERhdGEtPnNwYWNlR2x5cGgoKSkgJiYKLSAgICAgICAgICAgIG1fcnVu
LmFwcGx5V29yZFJvdW5kaW5nKCkpCi0gICAgICAgICAgICBhZHZhbmNlID0gZm9udERhdGEtPmFk
anVzdGVkU3BhY2VXaWR0aCgpOwotCiAgICAgICAgIGlmIChoYXNFeHRyYVNwYWNpbmcpIHsKICAg
ICAgICAgICAgIC8vIElmIHdlJ3JlIGEgZ2x5cGggd2l0aCBhbiBhZHZhbmNlLCBnbyBhaGVhZCBh
bmQgYWRkIGluIGxldHRlci1zcGFjaW5nLgogICAgICAgICAgICAgLy8gVGhhdCB3YXkgd2Ugd2Vl
ZCBvdXQgemVybyB3aWR0aCBsdXJrZXJzLiAgVGhpcyBiZWhhdmlvciBtYXRjaGVzIHRoZSBmYXN0
IHRleHQgY29kZSBwYXRoLgpAQCAtMzUyLDcgKzMxNiw3IEBAIGJvb2wgVW5pc2NyaWJlQ29udHJv
bGxlcjo6c2hhcGVBbmRQbGFjZUkKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgIGZsb2F0IHByZXZpb3VzUGFkZGluZyA9IG1fcGFkZGluZzsKICAg
ICAgICAgICAgICAgICAgICAgICAgIG1fcGFkZGluZyAtPSBtX3BhZFBlclNwYWNlOwotICAgICAg
ICAgICAgICAgICAgICAgICAgYWR2YW5jZSArPSByb3VuZGYocHJldmlvdXNQYWRkaW5nKSAtIHJv
dW5kZihtX3BhZGRpbmcpOworICAgICAgICAgICAgICAgICAgICAgICAgYWR2YW5jZSArPSBwcmV2
aW91c1BhZGRpbmcgLSBtX3BhZGRpbmc7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICB9CiAKQEAgLTM2MiwyNSArMzI2LDYgQEAgYm9vbCBVbmlzY3JpYmVDb250cm9sbGVy
OjpzaGFwZUFuZFBsYWNlSQogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgLy8g
RGVhbCB3aXRoIHRoZSBmbG9hdC9pbnRlZ2VyIGltcGVkYW5jZSBtaXNtYXRjaCBiZXR3ZWVuIENH
IGFuZCBXZWJDb3JlLiAiV29yZHMiIChjaGFyYWN0ZXJzIAotICAgICAgICAvLyBmb2xsb3dlZCBi
eSBhIGNoYXJhY3RlciBkZWZpbmVkIGJ5IGlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKCkpIGFyZSBh
bHdheXMgYW4gaW50ZWdlciB3aWR0aC4KLSAgICAgICAgLy8gV2UgYWRqdXN0IHRoZSB3aWR0aCBv
ZiB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgYSAid29yZCIgdG8gZW5zdXJlIGFuIGludGVnZXIgd2lk
dGguCi0gICAgICAgIC8vIEZvcmNlIGNoYXJhY3RlcnMgdGhhdCBhcmUgdXNlZCB0byBkZXRlcm1p
bmUgd29yZCBib3VuZGFyaWVzIGZvciB0aGUgcm91bmRpbmcgaGFjawotICAgICAgICAvLyB0byBi
ZSBpbnRlZ2VyIHdpZHRoLCBzbyB0aGUgZm9sbG93aW5nIHdvcmRzIHdpbGwgc3RhcnQgb24gYW4g
aW50ZWdlciBib3VuZGFyeS4KLSAgICAgICAgaW50IHJvdW5kaW5nSGFja0luZGV4ID0gcm91bmRp
bmdIYWNrQ2hhcmFjdGVyc1trXTsKLSAgICAgICAgaWYgKG1fcnVuLmFwcGx5V29yZFJvdW5kaW5n
KCkgJiYgcm91bmRpbmdIYWNrSW5kZXggIT0gLTEpCi0gICAgICAgICAgICBhZHZhbmNlID0gY2Vp
bGYoYWR2YW5jZSk7Ci0KLSAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoZSBuZXh0IGNoYXJh
Y3RlciBpcyBhICJyb3VuZGluZyBoYWNrIGNoYXJhY3RlciIsIGlmIHNvLCBhZGp1c3QgdGhlCi0g
ICAgICAgIC8vIHdpZHRoIHNvIHRoYXQgdGhlIHRvdGFsIHJ1biB3aWR0aCB3aWxsIGJlIG9uIGFu
IGludGVnZXIgYm91bmRhcnkuCi0gICAgICAgIGludCBwb3NpdGlvbiA9IG1fY3VycmVudENoYXJh
Y3RlciArIGxlbjsKLSAgICAgICAgYm9vbCBsYXN0R2x5cGggPSAoayA9PSBnbHlwaHMuc2l6ZSgp
IC0gMSkgJiYgKG1fcnVuLnJ0bCgpID8gaSA9PSAwIDogaSA9PSBtX2l0ZW1zLnNpemUoKSAtIDIp
ICYmIChwb3NpdGlvbiA+PSBtX2VuZCk7Ci0gICAgICAgIGlmICgobV9ydW4uYXBwbHlXb3JkUm91
bmRpbmcoKSAmJiByb3VuZGluZ0hhY2tXb3JkQm91bmRhcmllc1trXSAhPSAtMSkgfHwKLSAgICAg
ICAgICAgIChtX3J1bi5hcHBseVJ1blJvdW5kaW5nKCkgJiYgbGFzdEdseXBoKSkgeyAKLSAgICAg
ICAgICAgIGZsb2F0IHRvdGFsV2lkdGggPSBtX3J1bldpZHRoU29GYXIgKyBhZHZhbmNlOwotICAg
ICAgICAgICAgYWR2YW5jZSArPSBjZWlsZih0b3RhbFdpZHRoKSAtIHRvdGFsV2lkdGg7Ci0gICAg
ICAgIH0KLQogICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gYWR2YW5jZTsKIAogICAgICAgICAv
LyBGSVhNRTogV2UgbmVlZCB0byB0YWtlIHRoZSBHT0ZGU0VUUyBmb3IgY29tYmluaW5nIGdseXBo
cyBhbmQgc3RvcmUgdGhlbSBpbiB0aGUgZ2x5cGggYnVmZmVyCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ndGsvRmlsZUNob29zZXJHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9GaWxlQ2hvb3Nlckd0ay5jcHAJKHJldmlzaW9uIDc4MzcxKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0ZpbGVDaG9vc2VyR3RrLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNjAsOCArNjAsOCBAQCBTdHJpbmcgRmlsZUNob29zZXI6OmJhc2VuYW1lRm9y
V2lkdGgoY29uCiAgICAgICAgIGdjaGFyKiBzeXN0ZW1CYXNlbmFtZSA9IGdfcGF0aF9nZXRfYmFz
ZW5hbWUoc3lzdGVtRmlsZW5hbWUuZGF0YSgpKTsKICAgICAgICAgc3RyaW5nQnlBZG9wdGluZ0Zp
bGVTeXN0ZW1SZXByZXNlbnRhdGlvbihzeXN0ZW1CYXNlbmFtZSwgc3RyaW5nKTsKICAgICB9IGVs
c2UgaWYgKG1fZmlsZW5hbWVzLnNpemUoKSA+IDEpCi0gICAgICAgIHJldHVybiBTdHJpbmdUcnVu
Y2F0b3I6OnJpZ2h0VHJ1bmNhdGUobXVsdGlwbGVGaWxlVXBsb2FkVGV4dChtX2ZpbGVuYW1lcy5z
aXplKCkpLCB3aWR0aCwgZm9udCwgZmFsc2UpOworICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNh
dG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmlsZVVwbG9hZFRleHQobV9maWxlbmFtZXMuc2l6
ZSgpKSwgd2lkdGgsIGZvbnQpOwogCi0gICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVy
VHJ1bmNhdGUoc3RyaW5nLCB3aWR0aCwgZm9udCwgZmFsc2UpOworICAgIHJldHVybiBTdHJpbmdU
cnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0cmluZywgd2lkdGgsIGZvbnQpOwogfQogfQpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1hYy5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFjLm1tCShyZXZpc2lv
biA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW0J
KHdvcmtpbmcgY29weSkKQEAgLTE1OCw4ICsxNTgsNyBAQCBzdGF0aWMgZmxvYXQgd2lkdGhXaXRo
Rm9udChOU1N0cmluZyAqc3RyCiAgICAgaWYgKGNhblVzZUZhc3RSZW5kZXJlcihidWZmZXIuZGF0
YSgpLCBsZW5ndGgpKSB7CiAgICAgICAgIEZvbnQgd2ViQ29yZUZvbnQoRm9udFBsYXRmb3JtRGF0
YShmb250LCBbZm9udCBwb2ludFNpemVdKSwgIVtbTlNHcmFwaGljc0NvbnRleHQgY3VycmVudENv
bnRleHRdIGlzRHJhd2luZ1RvU2NyZWVuXSk7CiAgICAgICAgIFRleHRSdW4gcnVuKGJ1ZmZlci5k
YXRhKCksIGxlbmd0aCk7Ci0gICAgICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotICAg
ICAgICByZXR1cm4gd2ViQ29yZUZvbnQuZmxvYXRXaWR0aChydW4pOworICAgICAgICByZXR1cm4g
d2ViQ29yZUZvbnQud2lkdGgocnVuKTsKICAgICB9CiAgICAgCiAgICAgcmV0dXJuIFtzdHJpbmcg
c2l6ZVdpdGhBdHRyaWJ1dGVzOltOU0RpY3Rpb25hcnkgZGljdGlvbmFyeVdpdGhPYmplY3RzQW5k
S2V5czpmb250LCBOU0ZvbnRBdHRyaWJ1dGVOYW1lLCBuaWxdXS53aWR0aDsKQEAgLTE5Nyw4ICsx
OTYsNyBAQCBzdGF0aWMgdm9pZCBkcmF3QXRQb2ludChOU1N0cmluZyAqc3RyaW5nCiAgICAgICAg
ICAgICAKICAgICAgICAgRm9udCB3ZWJDb3JlRm9udChGb250UGxhdGZvcm1EYXRhKGZvbnQsIFtm
b250IHBvaW50U2l6ZV0pLCAhW25zQ29udGV4dCBpc0RyYXdpbmdUb1NjcmVlbl0sIEFudGlhbGlh
c2VkKTsKICAgICAgICAgVGV4dFJ1biBydW4oYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKTsKLSAgICAg
ICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7Ci0gICAgICAgIAorCiAgICAgICAgIENHRmxv
YXQgcmVkOwogICAgICAgICBDR0Zsb2F0IGdyZWVuOwogICAgICAgICBDR0Zsb2F0IGJsdWU7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRmlsZUNob29zZXJNYWMubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0ZpbGVDaG9vc2VyTWFjLm1tCShy
ZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxlQ2hvb3Nl
ck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNDcsOSArNDcsOSBAQCBTdHJpbmcgRmlsZUNob29z
ZXI6OmJhc2VuYW1lRm9yV2lkdGgoY29uCiAgICAgZWxzZSBpZiAobV9maWxlbmFtZXMuc2l6ZSgp
ID09IDEpCiAgICAgICAgIHN0clRvVHJ1bmNhdGUgPSBbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1h
bmFnZXJdIGRpc3BsYXlOYW1lQXRQYXRoOihtX2ZpbGVuYW1lc1swXSldOwogICAgIGVsc2UKLSAg
ICAgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVV
cGxvYWRUZXh0KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250LCBmYWxzZSk7CisgICAg
ICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUobXVsdGlwbGVGaWxlVXBs
b2FkVGV4dChtX2ZpbGVuYW1lcy5zaXplKCkpLCB3aWR0aCwgZm9udCk7CiAKLSAgICByZXR1cm4g
U3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJUb1RydW5jYXRlLCB3aWR0aCwgZm9u
dCwgZmFsc2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0
clRvVHJ1bmNhdGUsIHdpZHRoLCBmb250KTsKIH0KIAogfQpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vd2luL0RyYWdJbWFnZVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vd2luL0RyYWdJbWFnZVdpbi5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0RyYWdJbWFnZVdpbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTIxMCwxMyArMjEwLDEzIEBAIERyYWdJbWFnZVJlZiBjcmVhdGVEcmFnSW1hZ2VGb3JMaW5r
KEtVUkwKICAgICBzdGF0aWMgY29uc3QgQ29sb3IgYm90dG9tQ29sb3IoMjU1LCAyNTUsIDI1NSwg
MTI3KTsgLy8gb3JpZ2luYWwgYWxwaGEgPSAwLjUKICAgICBpZiAoZHJhd1VSTFN0cmluZykgewog
ICAgICAgICBpZiAoY2xpcFVSTFN0cmluZykKLSAgICAgICAgICAgIHVybFN0cmluZyA9IFN0cmlu
Z1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZSh1cmxTdHJpbmcsIGltYWdlU2l6ZS53aWR0aCgpIC0g
KERyYWdMYWJlbEJvcmRlclggKiAyLjBmKSwgKnVybEZvbnQsIGZhbHNlKTsKKyAgICAgICAgICAg
IHVybFN0cmluZyA9IFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZSh1cmxTdHJpbmcsIGlt
YWdlU2l6ZS53aWR0aCgpIC0gKERyYWdMYWJlbEJvcmRlclggKiAyLjBmKSwgKnVybEZvbnQpOwog
ICAgICAgICBJbnRQb2ludCB0ZXh0UG9zKERyYWdMYWJlbEJvcmRlclgsIGltYWdlU2l6ZS5oZWln
aHQoKSAtIChMYWJlbEJvcmRlcllPZmZzZXQgKyB1cmxGb250LT5mb250TWV0cmljcygpLmRlc2Nl
bnQoKSkpOwogICAgICAgICBXZWJDb3JlRHJhd0RvdWJsZWRUZXh0QXRQb2ludChjb250ZXh0LCB1
cmxTdHJpbmcsIHRleHRQb3MsICp1cmxGb250LCB0b3BDb2xvciwgYm90dG9tQ29sb3IpOwogICAg
IH0KICAgICAKICAgICBpZiAoY2xpcExhYmVsU3RyaW5nKQotICAgICAgICBsYWJlbCA9IFN0cmlu
Z1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShsYWJlbCwgaW1hZ2VTaXplLndpZHRoKCkgLSAoRHJh
Z0xhYmVsQm9yZGVyWCAqIDIuMGYpLCAqbGFiZWxGb250LCBmYWxzZSk7CisgICAgICAgIGxhYmVs
ID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKGxhYmVsLCBpbWFnZVNpemUud2lkdGgo
KSAtIChEcmFnTGFiZWxCb3JkZXJYICogMi4wZiksICpsYWJlbEZvbnQpOwogCiAgICAgSW50UG9p
bnQgdGV4dFBvcyhEcmFnTGFiZWxCb3JkZXJYLCBEcmFnTGFiZWxCb3JkZXJZICsgbGFiZWxGb250
LT5waXhlbFNpemUoKSk7CiAgICAgV2ViQ29yZURyYXdEb3VibGVkVGV4dEF0UG9pbnQoY29udGV4
dCwgbGFiZWwsIHRleHRQb3MsICpsYWJlbEZvbnQsIHRvcENvbG9yLCBib3R0b21Db2xvcik7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmlsZUNob29zZXJXaW4uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxlQ2hvb3Nlcldpbi5jcHAJ
KHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVDaG9v
c2VyV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsOSArNDYsOSBAQCBTdHJpbmcgRmlsZUNo
b29zZXI6OmJhc2VuYW1lRm9yV2lkdGgoY29uCiAgICAgICAgIExQV1NUUiBiYXNlbmFtZSA9IFBh
dGhGaW5kRmlsZU5hbWVXKHRtcEZpbGVuYW1lLmNoYXJhY3RlcnNXaXRoTnVsbFRlcm1pbmF0aW9u
KCkpOwogICAgICAgICBzdHJpbmcgPSBTdHJpbmcoYmFzZW5hbWUpOwogICAgIH0gZWxzZQotICAg
ICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKFN0cmluZzo6bnVtYmVy
KG1fZmlsZW5hbWVzLnNpemUoKSkgKyAiIGZpbGVzIiwgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAg
ICAgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShTdHJpbmc6Om51bWJl
cihtX2ZpbGVuYW1lcy5zaXplKCkpICsgIiBmaWxlcyIsIHdpZHRoLCBmb250KTsKIAotICAgIHJl
dHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0cmluZywgd2lkdGgsIGZvbnQs
IGZhbHNlKTsKKyAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJp
bmcsIHdpZHRoLCBmb250KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHAJKHJldmlzaW9uIDc4
MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMyNiw3ICszMjYsNyBAQCB2b2lkIFBvcHVwTWVudVdpbjo6Y2FsY3Vs
YXRlUG9zaXRpb25BbmRTCiAgICAgICAgICAgICBpdGVtRm9udC51cGRhdGUobV9wb3B1cENsaWVu
dC0+Zm9udFNlbGVjdG9yKCkpOwogICAgICAgICB9CiAKLSAgICAgICAgcG9wdXBXaWR0aCA9IG1h
eChwb3B1cFdpZHRoLCBpdGVtRm9udC53aWR0aChUZXh0UnVuKHRleHQuY2hhcmFjdGVycygpLCB0
ZXh0Lmxlbmd0aCgpKSkpOworICAgICAgICBwb3B1cFdpZHRoID0gbWF4KHBvcHVwV2lkdGgsIHN0
YXRpY19jYXN0PGludD4oY2VpbGYoaXRlbUZvbnQud2lkdGgoVGV4dFJ1bih0ZXh0LmNoYXJhY3Rl
cnMoKSwgdGV4dC5sZW5ndGgoKSkpKSkpOwogICAgIH0KIAogICAgIGlmIChuYXR1cmFsSGVpZ2h0
ID4gbWF4UG9wdXBIZWlnaHQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2Vi
Q29yZVRleHRSZW5kZXJlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vd2luL1dlYkNvcmVUZXh0UmVuZGVyZXIuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XZWJDb3JlVGV4dFJlbmRlcmVyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgV2ViQ29yZURyYXdEb3VibGVkVGV4dEF0UG9p
bnQoR3JhcGgKIAogZmxvYXQgV2ViQ29yZVRleHRGbG9hdFdpZHRoKGNvbnN0IFN0cmluZyYgdGV4
dCwgY29uc3QgRm9udCYgZm9udCkKIHsKLSAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjp3aWR0
aCh0ZXh0LCBmb250LCBmYWxzZSk7CisgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6d2lkdGgo
dGV4dCwgZm9udCk7CiB9CiAKIHZvaWQgV2ViQ29yZVNldFNob3VsZFVzZUZvbnRTbW9vdGhpbmco
Ym9vbCBzbW9vdGgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3Vs
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1
bHQuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRU
ZXN0UmVzdWx0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQ1LDYgKzU0NSwyMyBAQCBib29sIEhp
dFRlc3RSZXN1bHQ6OmFkZE5vZGVUb1JlY3RCYXNlZFRlCiAgICAgcmV0dXJuICFyZWN0LmNvbnRh
aW5zKHJlY3RGb3JQb2ludCh4LCB5KSk7CiB9CiAKK2Jvb2wgSGl0VGVzdFJlc3VsdDo6YWRkTm9k
ZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChOb2RlKiBub2RlLCBpbnQgeCwgaW50IHksIGNvbnN0IEZs
b2F0UmVjdCYgcmVjdCkKK3sKKyAgICAvLyBJZiBpdCBpcyBub3QgYSByZWN0LWJhc2VkIGhpdCB0
ZXN0LCB0aGlzIG1ldGhvZCBoYXMgdG8gYmUgbm8tb3AuCisgICAgLy8gUmV0dXJuIGZhbHNlLCBz
byB0aGUgaGl0IHRlc3Qgc3RvcHMuCisgICAgaWYgKCFpc1JlY3RCYXNlZFRlc3QoKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gSWYgbm9kZSBpcyBudWxsLCByZXR1cm4gdHJ1ZSBz
byB0aGUgaGl0IHRlc3QgY2FuIGNvbnRpbnVlLgorICAgIGlmICghbm9kZSkKKyAgICAgICAgcmV0
dXJuIHRydWU7CisKKyAgICBub2RlID0gbm9kZS0+c2hhZG93QW5jZXN0b3JOb2RlKCk7CisgICAg
bV9yZWN0QmFzZWRUZXN0UmVzdWx0LmFkZChub2RlKTsKKworICAgIHJldHVybiAhcmVjdC5jb250
YWlucyhyZWN0Rm9yUG9pbnQoeCwgeSkpOworfQorCiB2b2lkIEhpdFRlc3RSZXN1bHQ6OmFwcGVu
ZChjb25zdCBIaXRUZXN0UmVzdWx0JiBvdGhlcikKIHsKICAgICBBU1NFUlQoaXNSZWN0QmFzZWRU
ZXN0KCkgJiYgb3RoZXIuaXNSZWN0QmFzZWRUZXN0KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIwLDYgKzIw
LDcgQEAKICNpZm5kZWYgSGl0VGVzdFJlc3VsdF9oCiAjZGVmaW5lIEhpdFRlc3RSZXN1bHRfaAog
CisjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRl
ICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgpAQCAtMTA5LDcgKzExMCw4IEBAIHB1
YmxpYzoKIAogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBpdCBpcyByZWN0LWJhc2VkIGhpdCB0ZXN0
IGFuZCBuZWVkcyB0byBjb250aW51ZSB1bnRpbCB0aGUgcmVjdCBpcyBmdWxseQogICAgIC8vIGVu
Y2xvc2VkIGJ5IHRoZSBib3VuZGFyaWVzIG9mIGEgbm9kZS4KLSAgICBib29sIGFkZE5vZGVUb1Jl
Y3RCYXNlZFRlc3RSZXN1bHQoTm9kZSosIGludCB4LCBpbnQgeSwgY29uc3QgSW50UmVjdCYgcmVj
dCA9IEludFJlY3QoKSk7CisgICAgYm9vbCBhZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KE5v
ZGUqLCBpbnQgeCwgaW50IHksIGNvbnN0IEludFJlY3QmID0gSW50UmVjdCgpKTsKKyAgICBib29s
IGFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQoTm9kZSosIGludCB4LCBpbnQgeSwgY29uc3Qg
RmxvYXRSZWN0Jik7CiAgICAgY29uc3QgTGlzdEhhc2hTZXQ8UmVmUHRyPE5vZGU+ID4mIHJlY3RC
YXNlZFRlc3RSZXN1bHQoKSBjb25zdCB7IHJldHVybiBtX3JlY3RCYXNlZFRlc3RSZXN1bHQ7IH0K
ICAgICB2b2lkIGFwcGVuZChjb25zdCBIaXRUZXN0UmVzdWx0Jik7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9JbmxpbmVCb3guY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsNyAr
MTA2LDcgQEAgaW50IElubGluZUJveDo6bG9naWNhbEhlaWdodCgpIGNvbnN0CiAgICAgICAgIHJl
c3VsdCArPSBmbG93T2JqZWN0LT5ib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdodCgpOwogICAg
IHJldHVybiByZXN1bHQ7CiB9Ci0KKyAKIGludCBJbmxpbmVCb3g6OmNhcmV0TWluT2Zmc2V0KCkg
Y29uc3QgCiB7IAogICAgIHJldHVybiBtX3JlbmRlcmVyLT5jYXJldE1pbk9mZnNldCgpOyAKQEAg
LTE1MCwxNCArMTUwLDEyIEBAIHZvaWQgSW5saW5lQm94OjphdHRhY2hMaW5lKCkKICAgICAgICAg
dG9SZW5kZXJCb3gobV9yZW5kZXJlciktPnNldElubGluZUJveFdyYXBwZXIodGhpcyk7CiB9CiAK
LXZvaWQgSW5saW5lQm94OjphZGp1c3RQb3NpdGlvbihpbnQgZHgsIGludCBkeSkKK3ZvaWQgSW5s
aW5lQm94OjphZGp1c3RQb3NpdGlvbihmbG9hdCBkeCwgZmxvYXQgZHkpCiB7CiAgICAgbV94ICs9
IGR4OwogICAgIG1feSArPSBkeTsKLSAgICBpZiAobV9yZW5kZXJlci0+aXNSZXBsYWNlZCgpKSB7
Ci0gICAgICAgIFJlbmRlckJveCogYm94ID0gdG9SZW5kZXJCb3gobV9yZW5kZXJlcik7Ci0gICAg
ICAgIGJveC0+bW92ZShkeCwgZHkpOwotICAgIH0KKyAgICBpZiAobV9yZW5kZXJlci0+aXNSZXBs
YWNlZCgpKQorICAgICAgICB0b1JlbmRlckJveChtX3JlbmRlcmVyKS0+cG9zaXRpb25MaW5lQm94
KHRoaXMpOwogfQogCiB2b2lkIElubGluZUJveDo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8s
IGludCB0eCwgaW50IHR5KQpAQCAtMjc4LDIxICsyNzYsMzUgQEAgYm9vbCBJbmxpbmVCb3g6OmNh
bkFjY29tbW9kYXRlRWxsaXBzaXMoYgogICAgIHJldHVybiAhKGJveFJlY3QuaW50ZXJzZWN0cyhl
bGxpcHNpc1JlY3QpKTsKIH0KIAotaW50IElubGluZUJveDo6cGxhY2VFbGxpcHNpc0JveChib29s
LCBpbnQsIGludCwgaW50LCBib29sJikKK2Zsb2F0IElubGluZUJveDo6cGxhY2VFbGxpcHNpc0Jv
eChib29sLCBmbG9hdCwgZmxvYXQsIGZsb2F0LCBib29sJikKIHsKICAgICAvLyBVc2UgLTEgdG8g
bWVhbiAid2UgZGlkbid0IHNldCB0aGUgcG9zaXRpb24uIgogICAgIHJldHVybiAtMTsKIH0KIAot
SW50UG9pbnQgSW5saW5lQm94Ojpsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCkKK0Zsb2F0UG9p
bnQgSW5saW5lQm94Ojpsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCkKIHsKICAgICBpZiAoIXJl
bmRlcmVyKCktPnN0eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCi0gICAgICAg
IHJldHVybiBJbnRQb2ludCh4KCksIHkoKSk7CisgICAgICAgIHJldHVybiBGbG9hdFBvaW50KHgo
KSwgeSgpKTsKICAgICBSZW5kZXJCbG9jayogYmxvY2sgPSByb290KCktPmJsb2NrKCk7CiAgICAg
aWYgKGJsb2NrLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQotICAgICAgICBy
ZXR1cm4gSW50UG9pbnQoeCgpLCBibG9jay0+aGVpZ2h0KCkgLSBoZWlnaHQoKSAtIHkoKSk7Cisg
ICAgICAgIHJldHVybiBGbG9hdFBvaW50KHgoKSwgYmxvY2stPmhlaWdodCgpIC0gaGVpZ2h0KCkg
LSB5KCkpOwogICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIEludFBvaW50KGJsb2NrLT53aWR0aCgp
IC0gd2lkdGgoKSAtIHgoKSwgeSgpKTsKKyAgICAgICAgcmV0dXJuIEZsb2F0UG9pbnQoYmxvY2st
PndpZHRoKCkgLSB3aWR0aCgpIC0geCgpLCB5KCkpOworfQorCit2b2lkIElubGluZUJveDo6Zmxp
cEZvcldyaXRpbmdNb2RlKEZsb2F0UmVjdCYgcmVjdCkKK3sKKyAgICBpZiAoIXJlbmRlcmVyKCkt
PnN0eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCisgICAgICAgIHJldHVybjsK
KyAgICByb290KCktPmJsb2NrKCktPmZsaXBGb3JXcml0aW5nTW9kZShyZWN0KTsKK30KKworRmxv
YXRQb2ludCBJbmxpbmVCb3g6OmZsaXBGb3JXcml0aW5nTW9kZShjb25zdCBGbG9hdFBvaW50JiBw
b2ludCkKK3sKKyAgICBpZiAoIXJlbmRlcmVyKCktPnN0eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dy
aXRpbmdNb2RlKCkpCisgICAgICAgIHJldHVybiBwb2ludDsKKyAgICByZXR1cm4gcm9vdCgpLT5i
bG9jaygpLT5mbGlwRm9yV3JpdGluZ01vZGUocG9pbnQpOwogfQogCiB2b2lkIElubGluZUJveDo6
ZmxpcEZvcldyaXRpbmdNb2RlKEludFJlY3QmIHJlY3QpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSW5saW5lQm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUJveC5oCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9JbmxpbmVCb3guaAkod29ya2luZyBjb3B5KQpAQCAtNjgsNyArNjgsNyBAQCBwdWJsaWM6
CiAgICAgewogICAgIH0KIAotICAgIElubGluZUJveChSZW5kZXJPYmplY3QqIG9iaiwgaW50IHgs
IGludCB5LCBpbnQgbG9naWNhbFdpZHRoLCBib29sIGZpcnN0TGluZSwgYm9vbCBjb25zdHJ1Y3Rl
ZCwKKyAgICBJbmxpbmVCb3goUmVuZGVyT2JqZWN0KiBvYmosIGZsb2F0IHgsIGZsb2F0IHksIGZs
b2F0IGxvZ2ljYWxXaWR0aCwgYm9vbCBmaXJzdExpbmUsIGJvb2wgY29uc3RydWN0ZWQsCiAgICAg
ICAgICAgICAgIGJvb2wgZGlydHksIGJvb2wgZXh0cmFjdGVkLCBib29sIGlzSG9yaXpvbnRhbCwg
SW5saW5lQm94KiBuZXh0LCBJbmxpbmVCb3gqIHByZXYsIElubGluZUZsb3dCb3gqIHBhcmVudCkK
ICAgICAgICAgOiBtX25leHQobmV4dCkKICAgICAgICAgLCBtX3ByZXYocHJldikKQEAgLTExMiwx
NSArMTEyLDE1IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBpc0xpbmVCcmVhaygpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UG9zaXRpb24o
aW50IGR4LCBpbnQgZHkpOwotICAgIHZvaWQgYWRqdXN0TGluZURpcmVjdGlvblBvc2l0aW9uKGlu
dCBkZWx0YSkKKyAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UG9zaXRpb24oZmxvYXQgZHgsIGZsb2F0
IGR5KTsKKyAgICB2b2lkIGFkanVzdExpbmVEaXJlY3Rpb25Qb3NpdGlvbihmbG9hdCBkZWx0YSkK
ICAgICB7CiAgICAgICAgIGlmIChpc0hvcml6b250YWwoKSkKICAgICAgICAgICAgIGFkanVzdFBv
c2l0aW9uKGRlbHRhLCAwKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgYWRqdXN0UG9zaXRp
b24oMCwgZGVsdGEpOwogICAgIH0KLSAgICB2b2lkIGFkanVzdEJsb2NrRGlyZWN0aW9uUG9zaXRp
b24oaW50IGRlbHRhKQorICAgIHZvaWQgYWRqdXN0QmxvY2tEaXJlY3Rpb25Qb3NpdGlvbihmbG9h
dCBkZWx0YSkKICAgICB7CiAgICAgICAgIGlmIChpc0hvcml6b250YWwoKSkKICAgICAgICAgICAg
IGFkanVzdFBvc2l0aW9uKDAsIGRlbHRhKTsKQEAgLTIyMCwyOCArMjIwLDI4IEBAIHB1YmxpYzoK
ICAgICBSb290SW5saW5lQm94KiByb290KCk7CiAKICAgICAvLyB4KCkgaXMgdGhlIGxlZnQgc2lk
ZSBvZiB0aGUgYm94IGluIHRoZSBjb250YWluaW5nIGJsb2NrJ3MgY29vcmRpbmF0ZSBzeXN0ZW0u
Ci0gICAgdm9pZCBzZXRYKGludCB4KSB7IG1feCA9IHg7IH0KLSAgICBpbnQgeCgpIGNvbnN0IHsg
cmV0dXJuIG1feDsgfQorICAgIHZvaWQgc2V0WChmbG9hdCB4KSB7IG1feCA9IHg7IH0KKyAgICBm
bG9hdCB4KCkgY29uc3QgeyByZXR1cm4gbV94OyB9CiAKICAgICAvLyB5KCkgaXMgdGhlIHRvcCBz
aWRlIG9mIHRoZSBib3ggaW4gdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBjb29yZGluYXRlIHN5c3Rl
bS4KLSAgICB2b2lkIHNldFkoaW50IHkpIHsgbV95ID0geTsgfQotICAgIGludCB5KCkgY29uc3Qg
eyByZXR1cm4gbV95OyB9CisgICAgdm9pZCBzZXRZKGZsb2F0IHkpIHsgbV95ID0geTsgfQorICAg
IGZsb2F0IHkoKSBjb25zdCB7IHJldHVybiBtX3k7IH0KIAotICAgIGludCB3aWR0aCgpIGNvbnN0
IHsgcmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbG9naWNhbFdpZHRoKCkgOiBsb2dpY2FsSGVpZ2h0
KCk7IH0KLSAgICBpbnQgaGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBs
b2dpY2FsSGVpZ2h0KCkgOiBsb2dpY2FsV2lkdGgoKTsgfQotCi0gICAgSW50UmVjdCBmcmFtZVJl
Y3QoKSBjb25zdCB7IHJldHVybiBJbnRSZWN0KHgoKSwgeSgpLCB3aWR0aCgpLCBoZWlnaHQoKSk7
IH0KKyAgICBmbG9hdCB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbG9n
aWNhbFdpZHRoKCkgOiBsb2dpY2FsSGVpZ2h0KCk7IH0KKyAgICBmbG9hdCBoZWlnaHQoKSBjb25z
dCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IGxvZ2ljYWxIZWlnaHQoKSA6IGxvZ2ljYWxXaWR0
aCgpOyB9CiAKICAgICAvLyBUaGUgbG9naWNhbExlZnQgcG9zaXRpb24gaXMgdGhlIGxlZnQgZWRn
ZSBvZiB0aGUgbGluZSBib3ggaW4gYSBob3Jpem9udGFsIGxpbmUgYW5kIHRoZSB0b3AgZWRnZSBp
biBhIHZlcnRpY2FsIGxpbmUuCi0gICAgaW50IGxvZ2ljYWxMZWZ0KCkgY29uc3QgeyByZXR1cm4g
aXNIb3Jpem9udGFsKCkgPyBtX3ggOiBtX3k7IH0KLSAgICBpbnQgbG9naWNhbFJpZ2h0KCkgY29u
c3QgeyByZXR1cm4gbG9naWNhbExlZnQoKSArIGxvZ2ljYWxXaWR0aCgpOyB9Ci0gICAgdm9pZCBz
ZXRMb2dpY2FsTGVmdChpbnQgbGVmdCkKKyAgICBmbG9hdCBsb2dpY2FsTGVmdCgpIGNvbnN0IHsg
cmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbV94IDogbV95OyB9CisgICAgZmxvYXQgbG9naWNhbFJp
Z2h0KCkgY29uc3QgeyByZXR1cm4gbG9naWNhbExlZnQoKSArIGxvZ2ljYWxXaWR0aCgpOyB9Cisg
ICAgdm9pZCBzZXRMb2dpY2FsTGVmdChmbG9hdCBsZWZ0KQogICAgIHsKICAgICAgICAgaWYgKGlz
SG9yaXpvbnRhbCgpKQogICAgICAgICAgICAgbV94ID0gbGVmdDsKICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgbV95ID0gbGVmdDsKICAgICB9CisgICAgaW50IHBpeGVsU25hcHBlZExvZ2ljYWxM
ZWZ0KCkgY29uc3QgeyByZXR1cm4gbG9naWNhbExlZnQoKTsgfQorICAgIGludCBwaXhlbFNuYXBw
ZWRMb2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBjZWlsZihsb2dpY2FsUmlnaHQoKSk7IH0K
IAogICAgIC8vIFRoZSBsb2dpY2FsVG9wWyBwb3NpdGlvbiBpcyB0aGUgdG9wIGVkZ2Ugb2YgdGhl
IGxpbmUgYm94IGluIGEgaG9yaXpvbnRhbCBsaW5lIGFuZCB0aGUgbGVmdCBlZGdlIGluIGEgdmVy
dGljYWwgbGluZS4KICAgICBpbnQgbG9naWNhbFRvcCgpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpv
bnRhbCgpID8gbV95IDogbV94OyB9CkBAIC0yNTUsOCArMjU1LDggQEAgcHVibGljOgogICAgIH0K
IAogICAgIC8vIFRoZSBsb2dpY2FsIHdpZHRoIGlzIG91ciBleHRlbnQgaW4gdGhlIGxpbmUncyBv
dmVyYWxsIGlubGluZSBkaXJlY3Rpb24sIGkuZS4sIHdpZHRoIGZvciBob3Jpem9udGFsIHRleHQg
YW5kIGhlaWdodCBmb3IgdmVydGljYWwgdGV4dC4KLSAgICB2b2lkIHNldExvZ2ljYWxXaWR0aChp
bnQgdykgeyBtX2xvZ2ljYWxXaWR0aCA9IHc7IH0KLSAgICBpbnQgbG9naWNhbFdpZHRoKCkgY29u
c3QgeyByZXR1cm4gbV9sb2dpY2FsV2lkdGg7IH0KKyAgICB2b2lkIHNldExvZ2ljYWxXaWR0aChm
bG9hdCB3KSB7IG1fbG9naWNhbFdpZHRoID0gdzsgfQorICAgIGZsb2F0IGxvZ2ljYWxXaWR0aCgp
IGNvbnN0IHsgcmV0dXJuIG1fbG9naWNhbFdpZHRoOyB9CiAKICAgICAvLyBUaGUgbG9naWNhbCBo
ZWlnaHQgaXMgb3VyIGV4dGVudCBpbiB0aGUgYmxvY2sgZmxvdyBkaXJlY3Rpb24sIGkuZS4sIGhl
aWdodCBmb3IgaG9yaXpvbnRhbCB0ZXh0IGFuZCB3aWR0aCBmb3IgdmVydGljYWwgdGV4dC4KICAg
ICBpbnQgbG9naWNhbEhlaWdodCgpIGNvbnN0OwpAQCAtMjg2LDcgKzI4Niw3IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgYm9vbCBjYW5BY2NvbW1vZGF0ZUVsbGlwc2lzKGJvb2wgbHRyLCBpbnQg
YmxvY2tFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCk7CiAgICAgLy8gdmlzaWJsZUxlZnRFZGdlLCB2
aXNpYmxlUmlnaHRFZGdlIGFyZSBpbiB0aGUgcGFyZW50J3MgY29vcmRpbmF0ZSBzeXN0ZW0uCi0g
ICAgdmlydHVhbCBpbnQgcGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgaW50IHZpc2libGVMZWZ0
RWRnZSwgaW50IHZpc2libGVSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBib29sJik7Cisg
ICAgdmlydHVhbCBmbG9hdCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBmbG9hdCB2aXNpYmxl
TGVmdEVkZ2UsIGZsb2F0IHZpc2libGVSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJv
b2wmKTsKIAogICAgIHZvaWQgc2V0SGFzQmFkUGFyZW50KCk7CiAKQEAgLTMwMiwxMCArMzAyLDEy
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgSW50UG9pbnQgbG9j
YXRpb25JbmNsdWRpbmdGbGlwcGluZygpOworICAgIEZsb2F0UG9pbnQgbG9jYXRpb25JbmNsdWRp
bmdGbGlwcGluZygpOworICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0UmVjdCYpOwor
ICAgIEZsb2F0UG9pbnQgZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEZsb2F0UG9pbnQmKTsKICAg
ICB2b2lkIGZsaXBGb3JXcml0aW5nTW9kZShJbnRSZWN0Jik7CiAgICAgSW50UG9pbnQgZmxpcEZv
cldyaXRpbmdNb2RlKGNvbnN0IEludFBvaW50Jik7Ci0KKyAgICAKIHByaXZhdGU6CiAgICAgSW5s
aW5lQm94KiBtX25leHQ7IC8vIFRoZSBuZXh0IGVsZW1lbnQgb24gdGhlIHNhbWUgbGluZSBhcyB1
cy4KICAgICBJbmxpbmVCb3gqIG1fcHJldjsgLy8gVGhlIHByZXZpb3VzIGVsZW1lbnQgb24gdGhl
IHNhbWUgbGluZSBhcyB1cy4KQEAgLTMxNSw5ICszMTcsOSBAQCBwcml2YXRlOgogcHVibGljOgog
ICAgIFJlbmRlck9iamVjdCogbV9yZW5kZXJlcjsKIAotICAgIGludCBtX3g7Ci0gICAgaW50IG1f
eTsKLSAgICBpbnQgbV9sb2dpY2FsV2lkdGg7CisgICAgZmxvYXQgbV94OworICAgIGZsb2F0IG1f
eTsKKyAgICBmbG9hdCBtX2xvZ2ljYWxXaWR0aDsKICAgICAKICAgICAvLyBTb21lIG9mIHRoZXNl
IGJpdHMgYXJlIGFjdHVhbGx5IGZvciBzdWJjbGFzc2VzIGFuZCBtb3ZlZCBoZXJlIHRvIGNvbXBh
Y3QgdGhlIHN0cnVjdHVyZXMuCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVGbG93Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5s
aW5lRmxvd0JveC5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUZsb3dCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2NywxOCBAQCBp
bnQgSW5saW5lRmxvd0JveDo6Z2V0Rmxvd1NwYWNpbmdMb2dpY2FsCiAgICAgcmV0dXJuIHRvdFdp
ZHRoOwogfQogCitJbnRSZWN0IElubGluZUZsb3dCb3g6OnBpeGVsU25hcHBlZEZyYW1lUmVjdCgp
IGNvbnN0Cit7CisgICAgLy8gQmVnaW4gYnkgc25hcHBpbmcgdGhlIHggYW5kIHkgY29vcmRpbmF0
ZXMgdG8gdGhlIG5lYXJlc3QgcGl4ZWwuCisgICAgaW50IHNuYXBwZWRYID0gbHJvdW5kZih4KCkp
OworICAgIGludCBzbmFwcGVkWSA9IGxyb3VuZGYoeSgpKTsKKyAgICAKKyAgICBpbnQgc25hcHBl
ZE1heFggPSBscm91bmRmKHgoKSArIHdpZHRoKCkpOworICAgIGludCBzbmFwcGVkTWF4WSA9IGxy
b3VuZGYoeSgpICsgaGVpZ2h0KCkpOworICAgIAorICAgIHJldHVybiBJbnRSZWN0KHNuYXBwZWRY
LCBzbmFwcGVkWSwgc25hcHBlZE1heFggLSBzbmFwcGVkWCwgc25hcHBlZE1heFkgLSBzbmFwcGVk
WSk7Cit9CisKIHZvaWQgSW5saW5lRmxvd0JveDo6YWRkVG9MaW5lKElubGluZUJveCogY2hpbGQp
IAogewogICAgIEFTU0VSVCghY2hpbGQtPnBhcmVudCgpKTsKQEAgLTE2NywxMyArMTc5LDEzIEBA
IHZvaWQgSW5saW5lRmxvd0JveDo6YXR0YWNoTGluZUJveFRvUmVuZGUKICAgICB0b1JlbmRlcklu
bGluZShyZW5kZXJlcigpKS0+bGluZUJveGVzKCktPmF0dGFjaExpbmVCb3godGhpcyk7CiB9CiAK
LXZvaWQgSW5saW5lRmxvd0JveDo6YWRqdXN0UG9zaXRpb24oaW50IGR4LCBpbnQgZHkpCit2b2lk
IElubGluZUZsb3dCb3g6OmFkanVzdFBvc2l0aW9uKGZsb2F0IGR4LCBmbG9hdCBkeSkKIHsKICAg
ICBJbmxpbmVCb3g6OmFkanVzdFBvc2l0aW9uKGR4LCBkeSk7CiAgICAgZm9yIChJbmxpbmVCb3gq
IGNoaWxkID0gZmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dE9uTGluZSgp
KQogICAgICAgICBjaGlsZC0+YWRqdXN0UG9zaXRpb24oZHgsIGR5KTsKICAgICBpZiAobV9vdmVy
ZmxvdykKLSAgICAgICAgbV9vdmVyZmxvdy0+bW92ZShkeCwgZHkpOworICAgICAgICBtX292ZXJm
bG93LT5tb3ZlKGR4LCBkeSk7IC8vIEZJWE1FOiBSb3VuZGluZyBlcnJvciBoZXJlIHNpbmNlIG92
ZXJmbG93IHdhcyBwaXhlbCBzbmFwcGVkLCBidXQgbm9ib2R5IG90aGVyIHRoYW4gbGlzdCBtYXJr
ZXJzIHBhc3NlcyBub24taW50ZWdyYWwgdmFsdWVzIGhlcmUuCiB9CiAKIFJlbmRlckxpbmVCb3hM
aXN0KiBJbmxpbmVGbG93Qm94OjpyZW5kZXJlckxpbmVCb3hlcygpIGNvbnN0CkBAIC0yNTUsMTIg
KzI2NywxMiBAQCB2b2lkIElubGluZUZsb3dCb3g6OmRldGVybWluZVNwYWNpbmdGb3JGCiAgICAg
fQogfQogCi1pbnQgSW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9uKGlu
dCBsb2dpY2FsTGVmdCwgYm9vbCYgbmVlZHNXb3JkU3BhY2luZywgR2x5cGhPdmVyZmxvd0FuZEZh
bGxiYWNrRm9udHNNYXAmIHRleHRCb3hEYXRhTWFwKQorZmxvYXQgSW5saW5lRmxvd0JveDo6cGxh
Y2VCb3hlc0luSW5saW5lRGlyZWN0aW9uKGZsb2F0IGxvZ2ljYWxMZWZ0LCBib29sJiBuZWVkc1dv
cmRTcGFjaW5nLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYgdGV4dEJveERhdGFN
YXApCiB7CiAgICAgLy8gU2V0IG91ciB4IHBvc2l0aW9uLgogICAgIHNldExvZ2ljYWxMZWZ0KGxv
Z2ljYWxMZWZ0KTsKICAgCi0gICAgaW50IHN0YXJ0TG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdDsK
KyAgICBmbG9hdCBzdGFydExvZ2ljYWxMZWZ0ID0gbG9naWNhbExlZnQ7CiAgICAgbG9naWNhbExl
ZnQgKz0gYm9yZGVyTG9naWNhbExlZnQoKSArIHBhZGRpbmdMb2dpY2FsTGVmdCgpOwogICAgIAog
ICAgIGZvciAoSW5saW5lQm94KiBjdXJyID0gZmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vy
ci0+bmV4dE9uTGluZSgpKSB7CkBAIC03MjQsOCArNzM2LDggQEAgdm9pZCBJbmxpbmVGbG93Qm94
OjphZGRCb3hTaGFkb3dWaXN1YWxPdgogICAgIGludCBib3hTaGFkb3dMb2dpY2FsUmlnaHQ7CiAg
ICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5nZXRCb3hTaGFkb3dJbmxpbmVEaXJl
Y3Rpb25FeHRlbnQoYm94U2hhZG93TG9naWNhbExlZnQsIGJveFNoYWRvd0xvZ2ljYWxSaWdodCk7
CiAKLSAgICBpbnQgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9IG1pbihsb2dpY2FsTGVmdCgp
ICsgYm94U2hhZG93TG9naWNhbExlZnQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy54KCkpOwotICAg
IGludCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1heChsb2dpY2FsUmlnaHQoKSArIGJv
eFNoYWRvd0xvZ2ljYWxSaWdodCwgbG9naWNhbFZpc3VhbE92ZXJmbG93Lm1heFgoKSk7CisgICAg
aW50IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4ocGl4ZWxTbmFwcGVkTG9naWNhbExl
ZnQoKSArIGJveFNoYWRvd0xvZ2ljYWxMZWZ0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cueCgpKTsK
KyAgICBpbnQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgocGl4ZWxTbmFwcGVkTG9n
aWNhbFJpZ2h0KCkgKyBib3hTaGFkb3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxv
dy5tYXhYKCkpOwogICAgIAogICAgIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyA9IEludFJlY3QobG9n
aWNhbExlZnRWaXN1YWxPdmVyZmxvdywgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cg
LSBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cg
LSBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cpOwpAQCAtNzgxLDggKzc5Myw4IEBAIHZvaWQgSW5s
aW5lRmxvd0JveDo6YWRkVGV4dEJveFZpc3VhbE92ZXIKIAogICAgIGludCBsb2dpY2FsVG9wVmlz
dWFsT3ZlcmZsb3cgPSBtaW4odGV4dEJveC0+bG9naWNhbFRvcCgpICsgY2hpbGRPdmVyZmxvd0xv
Z2ljYWxUb3AsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy55KCkpOwogICAgIGludCBsb2dpY2FsQm90
dG9tVmlzdWFsT3ZlcmZsb3cgPSBtYXgodGV4dEJveC0+bG9naWNhbEJvdHRvbSgpICsgY2hpbGRP
dmVyZmxvd0xvZ2ljYWxCb3R0b20sIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhZKCkpOwotICAg
IGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93ID0gbWluKHRleHRCb3gtPmxvZ2ljYWxMZWZ0
KCkgKyBjaGlsZE92ZXJmbG93TG9naWNhbExlZnQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy54KCkp
OwotICAgIGludCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1heCh0ZXh0Qm94LT5sb2dp
Y2FsUmlnaHQoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxWaXN1YWxPdmVy
Zmxvdy5tYXhYKCkpOworICAgIGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93ID0gbWluKHRl
eHRCb3gtPnBpeGVsU25hcHBlZExvZ2ljYWxMZWZ0KCkgKyBjaGlsZE92ZXJmbG93TG9naWNhbExl
ZnQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy54KCkpOworICAgIGludCBsb2dpY2FsUmlnaHRWaXN1
YWxPdmVyZmxvdyA9IG1heCh0ZXh0Qm94LT5waXhlbFNuYXBwZWRMb2dpY2FsUmlnaHQoKSArIGNo
aWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhYKCkpOwog
ICAgIAogICAgIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyA9IEludFJlY3QobG9naWNhbExlZnRWaXN1
YWxPdmVyZmxvdywgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsTGVm
dFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsVG9w
VmlzdWFsT3ZlcmZsb3cpOwpAQCAtODY0LDcgKzg3Niw3IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6
Y29tcHV0ZU92ZXJmbG93KGludCAKIC8vIGFsbCBmdW5jdGlvbnMgdGhhdCBxdWVyeSBvdmVyZmxv
dy4gICAKIHZvaWQgSW5saW5lRmxvd0JveDo6c2V0TGF5b3V0T3ZlcmZsb3coY29uc3QgSW50UmVj
dCYgcmVjdCkKIHsKLSAgICBJbnRSZWN0IGZyYW1lQm94ID0gZnJhbWVSZWN0KCk7CisgICAgSW50
UmVjdCBmcmFtZUJveCA9IHBpeGVsU25hcHBlZEZyYW1lUmVjdCgpOwogICAgIGlmIChmcmFtZUJv
eCA9PSByZWN0IHx8IHJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAgICAgICAgIApA
QCAtODc2LDcgKzg4OCw3IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6c2V0TGF5b3V0T3ZlcmZsb3co
Y28KIAogdm9pZCBJbmxpbmVGbG93Qm94OjpzZXRWaXN1YWxPdmVyZmxvdyhjb25zdCBJbnRSZWN0
JiByZWN0KQogewotICAgIEludFJlY3QgZnJhbWVCb3ggPSBmcmFtZVJlY3QoKTsKKyAgICBJbnRS
ZWN0IGZyYW1lQm94ID0gcGl4ZWxTbmFwcGVkRnJhbWVSZWN0KCk7CiAgICAgaWYgKGZyYW1lQm94
ID09IHJlY3QgfHwgcmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCkBA
IC05MTIsOSArOTI0LDkgQEAgYm9vbCBJbmxpbmVGbG93Qm94Ojpub2RlQXRQb2ludChjb25zdCBI
aQogICAgIH0KIAogICAgIC8vIE5vdyBjaGVjayBvdXJzZWx2ZXMuCi0gICAgSW50UG9pbnQgYm94
T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOworICAgIEZsb2F0UG9pbnQgYm94
T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOwogICAgIGJveE9yaWdpbi5tb3Zl
KHR4LCB0eSk7Ci0gICAgSW50UmVjdCByZWN0KGJveE9yaWdpbiwgSW50U2l6ZSh3aWR0aCgpLCBo
ZWlnaHQoKSkpOworICAgIEZsb2F0UmVjdCByZWN0KGJveE9yaWdpbiwgSW50U2l6ZSh3aWR0aCgp
LCBoZWlnaHQoKSkpOwogICAgIGlmICh2aXNpYmxlVG9IaXRUZXN0aW5nKCkgJiYgcmVjdC5pbnRl
cnNlY3RzKHJlc3VsdC5yZWN0Rm9yUG9pbnQoeCwgeSkpKSB7CiAgICAgICAgIHJlbmRlcmVyKCkt
PnVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBmbGlwRm9yV3JpdGluZ01vZGUoSW50UG9pbnQo
eCAtIHR4LCB5IC0gdHkpKSk7IC8vIERvbid0IGFkZCBpbiBtX3ggb3IgbV95IGhlcmUsIHdlIHdh
bnQgY29vcmRzIGluIHRoZSBjb250YWluaW5nIGJsb2NrJ3Mgc3BhY2UuCiAgICAgICAgIGlmICgh
cmVzdWx0LmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQocmVuZGVyZXIoKS0+bm9kZSgpLCB4
LCB5LCByZWN0KSkKQEAgLTEwNDMsMTAgKzEwNTUsMTIgQEAgdm9pZCBJbmxpbmVGbG93Qm94Ojpw
YWludEJveERlY29yYXRpb25zKAogICAgIGlmICghcGFpbnRJbmZvLnNob3VsZFBhaW50V2l0aGlu
Um9vdChyZW5kZXJlcigpKSB8fCByZW5kZXJlcigpLT5zdHlsZSgpLT52aXNpYmlsaXR5KCkgIT0g
VklTSUJMRSB8fCBwYWludEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZUZvcmVncm91bmQpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIGludCB4ID0gbV94OwotICAgIGludCB5ID0gbV95OwotICAgIGlu
dCB3ID0gd2lkdGgoKTsKLSAgICBpbnQgaCA9IGhlaWdodCgpOworICAgIC8vIFBpeGVsIHNuYXAg
YmFja2dyb3VuZC9ib3JkZXIgcGFpbnRpbmcuCisgICAgSW50UmVjdCBmcmFtZVJlY3QgPSBwaXhl
bFNuYXBwZWRGcmFtZVJlY3QoKTsKKyAgICBpbnQgeCA9IGZyYW1lUmVjdC54KCk7CisgICAgaW50
IHkgPSBmcmFtZVJlY3QueSgpOworICAgIGludCB3ID0gZnJhbWVSZWN0LndpZHRoKCk7CisgICAg
aW50IGggPSBmcmFtZVJlY3QuaGVpZ2h0KCk7CiAKICAgICAvLyBDb25zdHJhaW4gb3VyIGJhY2tn
cm91bmQvYm9yZGVyIHBhaW50aW5nIHRvIHRoZSBsaW5lIHRvcCBhbmQgYm90dG9tIGlmIG5lY2Vz
c2FyeS4KICAgICBib29sIG5vUXVpcmtzTW9kZSA9IHJlbmRlcmVyKCktPmRvY3VtZW50KCktPmlu
Tm9RdWlya3NNb2RlKCk7CkBAIC0xMTI2LDEwICsxMTQwLDEyIEBAIHZvaWQgSW5saW5lRmxvd0Jv
eDo6cGFpbnRNYXNrKFBhaW50SW5mbyYKICAgICBpZiAoIXBhaW50SW5mby5zaG91bGRQYWludFdp
dGhpblJvb3QocmVuZGVyZXIoKSkgfHwgcmVuZGVyZXIoKS0+c3R5bGUoKS0+dmlzaWJpbGl0eSgp
ICE9IFZJU0lCTEUgfHwgcGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2VNYXNrKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBpbnQgeCA9IG1feDsKLSAgICBpbnQgeSA9IG1feTsKLSAgICBpbnQg
dyA9IHdpZHRoKCk7Ci0gICAgaW50IGggPSBoZWlnaHQoKTsKKyAgICAvLyBQaXhlbCBzbmFwIG1h
c2sgcGFpbnRpbmcuCisgICAgSW50UmVjdCBmcmFtZVJlY3QgPSBwaXhlbFNuYXBwZWRGcmFtZVJl
Y3QoKTsKKyAgICBpbnQgeCA9IGZyYW1lUmVjdC54KCk7CisgICAgaW50IHkgPSBmcmFtZVJlY3Qu
eSgpOworICAgIGludCB3ID0gZnJhbWVSZWN0LndpZHRoKCk7CisgICAgaW50IGggPSBmcmFtZVJl
Y3QuaGVpZ2h0KCk7CiAKICAgICAvLyBDb25zdHJhaW4gb3VyIGJhY2tncm91bmQvYm9yZGVyIHBh
aW50aW5nIHRvIHRoZSBsaW5lIHRvcCBhbmQgYm90dG9tIGlmIG5lY2Vzc2FyeS4KICAgICBib29s
IG5vUXVpcmtzTW9kZSA9IHJlbmRlcmVyKCktPmRvY3VtZW50KCktPmluTm9RdWlya3NNb2RlKCk7
CkBAIC0xMjMwLDE0ICsxMjQ2LDE0IEBAIGJvb2wgSW5saW5lRmxvd0JveDo6Y2FuQWNjb21tb2Rh
dGVFbGxpcHMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotaW50IElubGluZUZsb3dCb3g6OnBsYWNl
RWxsaXBzaXNCb3goYm9vbCBsdHIsIGludCBibG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVk
Z2UsIGludCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCkKK2Zsb2F0IElubGluZUZsb3dC
b3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVmdEVkZ2UsIGZsb2F0
IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCkKIHsK
LSAgICBpbnQgcmVzdWx0ID0gLTE7CisgICAgZmxvYXQgcmVzdWx0ID0gLTE7CiAgICAgLy8gV2Ug
aXRlcmF0ZSBvdmVyIGFsbCBjaGlsZHJlbiwgdGhlIGZvdW5kQm94IHZhcmlhYmxlIHRlbGxzIHVz
IHdoZW4gd2UndmUgZm91bmQgdGhlCiAgICAgLy8gYm94IGNvbnRhaW5pbmcgdGhlIGVsbGlwc2lz
LiAgQWxsIGJveGVzIGFmdGVyIHRoYXQgb25lIGluIHRoZSBmbG93IGFyZSBoaWRkZW4uCiAgICAg
Ly8gSWYgb3VyIGZsb3cgaXMgbHRyIHRoZW4gaXRlcmF0ZSBvdmVyIHRoZSBib3hlcyBmcm9tIGxl
ZnQgdG8gcmlnaHQsIG90aGVyd2lzZSBpdGVyYXRlCiAgICAgLy8gZnJvbSByaWdodCB0byBsZWZ0
LiBWYXJ5aW5nIHRoZSBvcmRlciBhbGxvd3MgdXMgdG8gY29ycmVjdGx5IGhpZGUgdGhlIGJveGVz
IGZvbGxvd2luZyB0aGUgZWxsaXBzaXMuCi0gICAgSW5saW5lQm94ICpib3ggPSBsdHIgPyBmaXJz
dENoaWxkKCkgOiBsYXN0Q2hpbGQoKTsKKyAgICBJbmxpbmVCb3gqIGJveCA9IGx0ciA/IGZpcnN0
Q2hpbGQoKSA6IGxhc3RDaGlsZCgpOwogCiAgICAgLy8gTk9URTogdGhlc2Ugd2lsbCBjcm9zcyBh
ZnRlciBmb3VuZEJveCA9IHRydWUuCiAgICAgaW50IHZpc2libGVMZWZ0RWRnZSA9IGJsb2NrTGVm
dEVkZ2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgJKHJl
dmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3gu
aAkod29ya2luZyBjb3B5KQpAQCAtODUsNyArODUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIGRlbGV0ZUxpbmUoUmVuZGVyQXJlbmEqKTsKICAgICB2aXJ0dWFsIHZvaWQgZXh0cmFjdExp
bmUoKTsKICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoTGluZSgpOwotICAgIHZpcnR1YWwgdm9pZCBh
ZGp1c3RQb3NpdGlvbihpbnQgZHgsIGludCBkeSk7CisgICAgdmlydHVhbCB2b2lkIGFkanVzdFBv
c2l0aW9uKGZsb2F0IGR4LCBmbG9hdCBkeSk7CiAKICAgICB2aXJ0dWFsIHZvaWQgZXh0cmFjdExp
bmVCb3hGcm9tUmVuZGVyT2JqZWN0KCk7CiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaExpbmVCb3hU
b1JlbmRlck9iamVjdCgpOwpAQCAtOTMsNiArOTMsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IHZvaWQgY2xlYXJUcnVuY2F0aW9uKCk7CiAKKyAgICBJbnRSZWN0IHBpeGVsU25hcHBlZEZyYW1l
UmVjdCgpIGNvbnN0OworICAgIAogICAgIHZpcnR1YWwgdm9pZCBwYWludEJveERlY29yYXRpb25z
KFBhaW50SW5mbyYsIGludCB0eCwgaW50IHR5KTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRNYXNr
KFBhaW50SW5mbyYsIGludCB0eCwgaW50IHR5KTsKICAgICB2b2lkIHBhaW50RmlsbExheWVycyhj
b25zdCBQYWludEluZm8mLCBjb25zdCBDb2xvciYsIGNvbnN0IEZpbGxMYXllciosIGludCB0eCwg
aW50IHR5LCBpbnQgdywgaW50IGgsIENvbXBvc2l0ZU9wZXJhdG9yID0gQ29tcG9zaXRlU291cmNl
T3Zlcik7CkBAIC0xNTUsNyArMTU3LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGV0ZXJtaW5lU3Bh
Y2luZ0ZvckZsb3dCb3hlcyhib29sIGxhc3RMaW5lLCBSZW5kZXJPYmplY3QqIGVuZE9iamVjdCk7
CiAgICAgaW50IGdldEZsb3dTcGFjaW5nTG9naWNhbFdpZHRoKCk7CiAgICAgYm9vbCBvbkVuZENo
YWluKFJlbmRlck9iamVjdCogZW5kT2JqZWN0KTsKLSAgICBpbnQgcGxhY2VCb3hlc0luSW5saW5l
RGlyZWN0aW9uKGludCBsb2dpY2FsTGVmdCwgYm9vbCYgbmVlZHNXb3JkU3BhY2luZywgR2x5cGhP
dmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmKTsKKyAgICBmbG9hdCBwbGFjZUJveGVzSW5Jbmxp
bmVEaXJlY3Rpb24oZmxvYXQgbG9naWNhbExlZnQsIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcsIEds
eXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJik7CiAgICAgdm9pZCBjb21wdXRlTG9naWNh
bEJveEhlaWdodHMoaW50JiBtYXhQb3NpdGlvblRvcCwgaW50JiBtYXhQb3NpdGlvbkJvdHRvbSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIG1heEFzY2VudCwgaW50JiBt
YXhEZXNjZW50LCBib29sJiBzZXRNYXhBc2NlbnQsIGJvb2wmIHNldE1heERlc2NlbnQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBzdHJpY3RNb2RlLCBHbHlwaE92ZXJm
bG93QW5kRmFsbGJhY2tGb250c01hcCYsIEZvbnRCYXNlbGluZSwgVmVydGljYWxQb3NpdGlvbkNh
Y2hlJik7CkBAIC0xNzYsNyArMTc4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUmVuZGVyT2Jq
ZWN0OjpTZWxlY3Rpb25TdGF0ZSBzZWxlY3Rpb25TdGF0ZSgpOwogCiAgICAgdmlydHVhbCBib29s
IGNhbkFjY29tbW9kYXRlRWxsaXBzaXMoYm9vbCBsdHIsIGludCBibG9ja0VkZ2UsIGludCBlbGxp
cHNpc1dpZHRoKTsKLSAgICB2aXJ0dWFsIGludCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBp
bnQgYmxvY2tMZWZ0RWRnZSwgaW50IGJsb2NrUmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCwg
Ym9vbCYpOworICAgIHZpcnR1YWwgZmxvYXQgcGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgZmxv
YXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lk
dGgsIGJvb2wmKTsKIAogICAgIGJvb2wgaGFzVGV4dENoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4g
bV9oYXNUZXh0Q2hpbGRyZW47IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZVRleHRCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9J
bmxpbmVUZXh0Qm94LmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvSW5saW5lVGV4dEJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMSw3ICsyMDEsNyBA
QCB2b2lkIElubGluZVRleHRCb3g6OmF0dGFjaExpbmUoKQogICAgIHRvUmVuZGVyVGV4dChyZW5k
ZXJlcigpKS0+YXR0YWNoVGV4dEJveCh0aGlzKTsKIH0KIAotaW50IElubGluZVRleHRCb3g6OnBs
YWNlRWxsaXBzaXNCb3goYm9vbCBmbG93SXNMVFIsIGludCB2aXNpYmxlTGVmdEVkZ2UsIGludCB2
aXNpYmxlUmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpCitmbG9h
dCBJbmxpbmVUZXh0Qm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wgZmxvd0lzTFRSLCBmbG9hdCB2
aXNpYmxlTGVmdEVkZ2UsIGZsb2F0IHZpc2libGVSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lk
dGgsIGJvb2wmIGZvdW5kQm94KQogewogICAgIGlmIChmb3VuZEJveCkgewogICAgICAgICBtX3Ry
dW5jYXRpb24gPSBjRnVsbFRydW5jYXRpb247CkBAIC0yMDksNyArMjA5LDcgQEAgaW50IElubGlu
ZVRleHRCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbAogICAgIH0KIAogICAgIC8vIEZvciBMVFIg
dGhpcyBpcyB0aGUgbGVmdCBlZGdlIG9mIHRoZSBib3gsIGZvciBSVEwsIHRoZSByaWdodCBlZGdl
IGluIHBhcmVudCBjb29yZGluYXRlcy4KLSAgICBpbnQgZWxsaXBzaXNYID0gZmxvd0lzTFRSID8g
dmlzaWJsZVJpZ2h0RWRnZSAtIGVsbGlwc2lzV2lkdGggOiB2aXNpYmxlTGVmdEVkZ2UgKyBlbGxp
cHNpc1dpZHRoOworICAgIGZsb2F0IGVsbGlwc2lzWCA9IGZsb3dJc0xUUiA/IHZpc2libGVSaWdo
dEVkZ2UgLSBlbGxpcHNpc1dpZHRoIDogdmlzaWJsZUxlZnRFZGdlICsgZWxsaXBzaXNXaWR0aDsK
ICAgICAKICAgICAvLyBDcml0ZXJpYSBmb3IgZnVsbCB0cnVuY2F0aW9uOgogICAgIC8vIExUUjog
dGhlIGxlZnQgZWRnZSBvZiB0aGUgZWxsaXBzaXMgaXMgdG8gdGhlIGxlZnQgb2Ygb3VyIHRleHQg
cnVuLgpAQCAtMjUxLDcgKzI1MSw3IEBAIGludCBJbmxpbmVUZXh0Qm94OjpwbGFjZUVsbGlwc2lz
Qm94KGJvb2wKIAogICAgICAgICAvLyBJZiB3ZSBnb3QgaGVyZSB0aGF0IG1lYW5zIHRoYXQgd2Ug
d2VyZSBvbmx5IHBhcnRpYWxseSB0cnVuY2F0ZWQgYW5kIHdlIG5lZWQgdG8gcmV0dXJuIHRoZSBw
aXhlbCBvZmZzZXQgYXQgd2hpY2gKICAgICAgICAgLy8gdG8gcGxhY2UgdGhlIGVsbGlwc2lzLgot
ICAgICAgICBpbnQgd2lkdGhPZlZpc2libGVUZXh0ID0gdG9SZW5kZXJUZXh0KHJlbmRlcmVyKCkp
LT53aWR0aChtX3N0YXJ0LCBvZmZzZXQsIHRleHRQb3MoKSwgbV9maXJzdExpbmUpOworICAgICAg
ICBmbG9hdCB3aWR0aE9mVmlzaWJsZVRleHQgPSB0b1JlbmRlclRleHQocmVuZGVyZXIoKSktPndp
ZHRoKG1fc3RhcnQsIG9mZnNldCwgdGV4dFBvcygpLCBtX2ZpcnN0TGluZSk7CiAKICAgICAgICAg
Ly8gVGhlIGVsbGlwc2lzIG5lZWRzIHRvIGJlIHBsYWNlZCBqdXN0IGFmdGVyIHRoZSBsYXN0IHZp
c2libGUgY2hhcmFjdGVyLgogICAgICAgICAvLyBXaGVyZSAiYWZ0ZXIiIGlzIGRlZmluZWQgYnkg
dGhlIGZsb3cgZGlyZWN0aW9uYWxpdHksIG5vdCB0aGUgaW5saW5lCkBAIC0zMTksOSArMzE5LDkg
QEAgYm9vbCBJbmxpbmVUZXh0Qm94Ojpub2RlQXRQb2ludChjb25zdCBIaQogICAgIGlmIChpc0xp
bmVCcmVhaygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBJbnRQb2ludCBib3hPcmln
aW4gPSBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgRmxvYXRQb2ludCBib3hPcmln
aW4gPSBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CiAgICAgYm94T3JpZ2luLm1vdmUodHgs
IHR5KTsKLSAgICBJbnRSZWN0IHJlY3QoYm94T3JpZ2luLCBJbnRTaXplKHdpZHRoKCksIGhlaWdo
dCgpKSk7CisgICAgRmxvYXRSZWN0IHJlY3QoYm94T3JpZ2luLCBJbnRTaXplKHdpZHRoKCksIGhl
aWdodCgpKSk7CiAgICAgaWYgKG1fdHJ1bmNhdGlvbiAhPSBjRnVsbFRydW5jYXRpb24gJiYgdmlz
aWJsZVRvSGl0VGVzdGluZygpICYmIHJlY3QuaW50ZXJzZWN0cyhyZXN1bHQucmVjdEZvclBvaW50
KHgsIHkpKSkgewogICAgICAgICByZW5kZXJlcigpLT51cGRhdGVIaXRUZXN0UmVzdWx0KHJlc3Vs
dCwgZmxpcEZvcldyaXRpbmdNb2RlKEludFBvaW50KHggLSB0eCwgeSAtIHR5KSkpOwogICAgICAg
ICBpZiAoIXJlc3VsdC5hZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KHJlbmRlcmVyKCktPm5v
ZGUoKSwgeCwgeSwgcmVjdCkpCkBAIC0zNTcsOCArMzU3LDggQEAgRmxvYXRTaXplIElubGluZVRl
eHRCb3g6OmFwcGx5U2hhZG93VG9HcgogICAgIHJldHVybiBleHRyYU9mZnNldDsKIH0KIAotc3Rh
dGljIHZvaWQgcGFpbnRUZXh0V2l0aFNoYWRvd3MoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBj
b25zdCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiB0ZXh0UnVuLCBjb25zdCBBdG9taWNTdHJp
bmcmIGVtcGhhc2lzTWFyaywgaW50IGVtcGhhc2lzTWFya09mZnNldCwgaW50IHN0YXJ0T2Zmc2V0
LCBpbnQgZW5kT2Zmc2V0LCBpbnQgdHJ1bmNhdGlvblBvaW50LCBjb25zdCBJbnRQb2ludCYgdGV4
dE9yaWdpbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludFJlY3Qm
IGJveFJlY3QsIGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdywgYm9vbCBzdHJva2VkLCBib29sIGhv
cml6b250YWwpCitzdGF0aWMgdm9pZCBwYWludFRleHRXaXRoU2hhZG93cyhHcmFwaGljc0NvbnRl
eHQqIGNvbnRleHQsIGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHRleHRSdW4sIGNv
bnN0IEF0b21pY1N0cmluZyYgZW1waGFzaXNNYXJrLCBpbnQgZW1waGFzaXNNYXJrT2Zmc2V0LCBp
bnQgc3RhcnRPZmZzZXQsIGludCBlbmRPZmZzZXQsIGludCB0cnVuY2F0aW9uUG9pbnQsIGNvbnN0
IEZsb2F0UG9pbnQmIHRleHRPcmlnaW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBGbG9hdFJlY3QmIGJveFJlY3QsIGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdywgYm9v
bCBzdHJva2VkLCBib29sIGhvcml6b250YWwpCiB7CiAgICAgQ29sb3IgZmlsbENvbG9yID0gY29u
dGV4dC0+ZmlsbENvbG9yKCk7CiAgICAgQ29sb3JTcGFjZSBmaWxsQ29sb3JTcGFjZSA9IGNvbnRl
eHQtPmZpbGxDb2xvclNwYWNlKCk7CkBAIC00ODIsMTAgKzQ4MiwxMCBAQCB2b2lkIElubGluZVRl
eHRCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFpCiAgICAgCiAgICAgdHkgLT0gc3R5bGVUb1VzZS0+
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IDAgOiBsb2dpY2FsSGVpZ2h0KCk7CiAKLSAgICBJ
bnRQb2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgRmxv
YXRQb2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CiAgICAgYm94
T3JpZ2luLm1vdmUodHgsIHR5KTsgICAgCi0gICAgSW50UmVjdCBib3hSZWN0KGJveE9yaWdpbiwg
SW50U2l6ZShsb2dpY2FsV2lkdGgoKSwgbG9naWNhbEhlaWdodCgpKSk7Ci0gICAgSW50UG9pbnQg
dGV4dE9yaWdpbiA9IEludFBvaW50KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgKyBzdHls
ZVRvVXNlLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsKKyAgICBGbG9hdFJlY3QgYm94UmVjdChi
b3hPcmlnaW4sIEludFNpemUobG9naWNhbFdpZHRoKCksIGxvZ2ljYWxIZWlnaHQoKSkpOworICAg
IEZsb2F0UG9pbnQgdGV4dE9yaWdpbiA9IEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSwgYm94T3Jp
Z2luLnkoKSArIHN0eWxlVG9Vc2UtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogCiAgICAgUmVu
ZGVyQ29tYmluZVRleHQqIGNvbWJpbmVkVGV4dCA9IHN0eWxlVG9Vc2UtPmhhc1RleHRDb21iaW5l
KCkgPyB0b1JlbmRlckNvbWJpbmVUZXh0KHRleHRSZW5kZXJlcigpKSA6IDA7CiAgICAgYm9vbCBz
aG91bGRSb3RhdGUgPSAhaXNIb3Jpem9udGFsKCkgJiYgKCFjb21iaW5lZFRleHQgfHwgIWNvbWJp
bmVkVGV4dC0+aXNDb21iaW5lZCgpKTsKQEAgLTczNiw3ICs3MzYsNyBAQCB2b2lkIElubGluZVRl
eHRCb3g6OnNlbGVjdGlvblN0YXJ0RW5kKGluCiAgICAgZVBvcyA9IG1pbihlbmRQb3MgLSBtX3N0
YXJ0LCAoaW50KW1fbGVuKTsKIH0KIAotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlv
bihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJl
bmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCkKK3ZvaWQgSW5saW5lVGV4dEJveDo6
cGFpbnRTZWxlY3Rpb24oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFBvaW50
JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCkKIHsKICAg
ICAvLyBTZWUgaWYgd2UgaGF2ZSBhIHNlbGVjdGlvbiB0byBwYWludCBhdCBhbGwuCiAgICAgaW50
IHNQb3MsIGVQb3M7CkBAIC03NzAsMTUgKzc3MCwxNSBAQCB2b2lkIElubGluZVRleHRCb3g6OnBh
aW50U2VsZWN0aW9uKEdyYXBoCiAKICAgICBpbnQgZGVsdGFZID0gcmVuZGVyZXIoKS0+c3R5bGUo
KS0+aXNGbGlwcGVkTGluZXNXcml0aW5nTW9kZSgpID8gc2VsZWN0aW9uQm90dG9tKCkgLSBsb2dp
Y2FsQm90dG9tKCkgOiBsb2dpY2FsVG9wKCkgLSBzZWxlY3Rpb25Ub3AoKTsKICAgICBpbnQgc2Vs
SGVpZ2h0ID0gc2VsZWN0aW9uSGVpZ2h0KCk7Ci0gICAgSW50UG9pbnQgbG9jYWxPcmlnaW4oYm94
T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSk7Ci0gICAgY29udGV4dC0+Y2xpcChJ
bnRSZWN0KGxvY2FsT3JpZ2luLCBJbnRTaXplKG1fbG9naWNhbFdpZHRoLCBzZWxIZWlnaHQpKSk7
CisgICAgRmxvYXRQb2ludCBsb2NhbE9yaWdpbihib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgp
IC0gZGVsdGFZKTsKKyAgICBjb250ZXh0LT5jbGlwKEZsb2F0UmVjdChsb2NhbE9yaWdpbiwgRmxv
YXRTaXplKG1fbG9naWNhbFdpZHRoLCBzZWxIZWlnaHQpKSk7CiAgICAgY29udGV4dC0+ZHJhd0hp
Z2hsaWdodEZvclRleHQoZm9udCwgVGV4dFJ1bihjaGFyYWN0ZXJzLCBsZW5ndGgsIHRleHRSZW5k
ZXJlcigpLT5hbGxvd1RhYnMoKSwgdGV4dFBvcygpLCBtX2V4cGFuc2lvbiwgdHJhaWxpbmdFeHBh
bnNpb25CZWhhdmlvcigpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaXNM
ZWZ0VG9SaWdodERpcmVjdGlvbigpLCBtX2Rpck92ZXJyaWRlIHx8IHN0eWxlLT52aXN1YWxseU9y
ZGVyZWQoKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxPcmlnaW4s
IHNlbEhlaWdodCwgYywgc3R5bGUtPmNvbG9yU3BhY2UoKSwgc1BvcywgZVBvcyk7CiAgICAgY29u
dGV4dC0+cmVzdG9yZSgpOwogfQogCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRp
b25CYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UG9pbnQmIGJv
eE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250LCBpbnQgc3RhcnRQ
b3MsIGludCBlbmRQb3MpCit2b2lkIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25CYWNr
Z3JvdW5kKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRQb2ludCYgYm94T3Jp
Z2luLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQsIGludCBzdGFydFBvcywg
aW50IGVuZFBvcykKIHsKICAgICBpbnQgb2Zmc2V0ID0gbV9zdGFydDsKICAgICBpbnQgc1BvcyA9
IG1heChzdGFydFBvcyAtIG9mZnNldCwgMCk7CkBAIC03OTUsNyArNzk1LDcgQEAgdm9pZCBJbmxp
bmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uQmFjawogCiAgICAgaW50IGRlbHRhWSA9IHJlbmRl
cmVyKCktPnN0eWxlKCktPmlzRmxpcHBlZExpbmVzV3JpdGluZ01vZGUoKSA/IHNlbGVjdGlvbkJv
dHRvbSgpIC0gbG9naWNhbEJvdHRvbSgpIDogbG9naWNhbFRvcCgpIC0gc2VsZWN0aW9uVG9wKCk7
CiAgICAgaW50IHNlbEhlaWdodCA9IHNlbGVjdGlvbkhlaWdodCgpOwotICAgIEludFBvaW50IGxv
Y2FsT3JpZ2luKGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVkpOworICAgIEZs
b2F0UG9pbnQgbG9jYWxPcmlnaW4oYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRh
WSk7CiAgICAgY29udGV4dC0+ZHJhd0hpZ2hsaWdodEZvclRleHQoZm9udCwgVGV4dFJ1bih0ZXh0
UmVuZGVyZXIoKS0+dGV4dCgpLT5jaGFyYWN0ZXJzKCkgKyBtX3N0YXJ0LCBtX2xlbiwgdGV4dFJl
bmRlcmVyKCktPmFsbG93VGFicygpLCB0ZXh0UG9zKCksIG1fZXhwYW5zaW9uLCB0cmFpbGluZ0V4
cGFuc2lvbkJlaGF2aW9yKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWlz
TGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgbV9kaXJPdmVycmlkZSB8fCBzdHlsZS0+dmlzdWFsbHlP
cmRlcmVkKCkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsT3JpZ2lu
LCBzZWxIZWlnaHQsIGMsIHN0eWxlLT5jb2xvclNwYWNlKCksIHNQb3MsIGVQb3MpOwpAQCAtODIy
LDE0ICs4MjIsMTQgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludEN1c3RvbUhpZ2hsaWdodAog
CiAjZW5kaWYKIAotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBpbnQgZGVjbywgY29u
c3QgU2hhZG93RGF0YSogc2hhZG93KQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRp
b24oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4s
IGludCBkZWNvLCBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3cpCiB7CiAgICAgaWYgKG1fdHJ1bmNh
dGlvbiA9PSBjRnVsbFRydW5jYXRpb24pCiAgICAgICAgIHJldHVybjsKIAotICAgIEludFBvaW50
IGxvY2FsT3JpZ2luID0gYm94T3JpZ2luOworICAgIEZsb2F0UG9pbnQgbG9jYWxPcmlnaW4gPSBi
b3hPcmlnaW47CiAKLSAgICBpbnQgd2lkdGggPSBtX2xvZ2ljYWxXaWR0aDsKKyAgICBmbG9hdCB3
aWR0aCA9IG1fbG9naWNhbFdpZHRoOwogICAgIGlmIChtX3RydW5jYXRpb24gIT0gY05vVHJ1bmNh
dGlvbikgewogICAgICAgICB3aWR0aCA9IHRvUmVuZGVyVGV4dChyZW5kZXJlcigpKS0+d2lkdGgo
bV9zdGFydCwgbV90cnVuY2F0aW9uLCB0ZXh0UG9zKCksIG1fZmlyc3RMaW5lKTsKICAgICAgICAg
aWYgKCFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCkBAIC04NTMsOSArODUzLDkgQEAgdm9pZCBJ
bmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oR3JhcAogICAgIGludCBleHRyYU9mZnNldCA9
IDA7CiAgICAgaWYgKCFsaW5lc0FyZU9wYXF1ZSAmJiBzaGFkb3cgJiYgc2hhZG93LT5uZXh0KCkp
IHsKICAgICAgICAgY29udGV4dC0+c2F2ZSgpOwotICAgICAgICBJbnRSZWN0IGNsaXBSZWN0KGxv
Y2FsT3JpZ2luLCBJbnRTaXplKHdpZHRoLCBiYXNlbGluZSArIDIpKTsKKyAgICAgICAgRmxvYXRS
ZWN0IGNsaXBSZWN0KGxvY2FsT3JpZ2luLCBGbG9hdFNpemUod2lkdGgsIGJhc2VsaW5lICsgMikp
OwogICAgICAgICBmb3IgKGNvbnN0IFNoYWRvd0RhdGEqIHMgPSBzaGFkb3c7IHM7IHMgPSBzLT5u
ZXh0KCkpIHsKLSAgICAgICAgICAgIEludFJlY3Qgc2hhZG93UmVjdChsb2NhbE9yaWdpbiwgSW50
U2l6ZSh3aWR0aCwgYmFzZWxpbmUgKyAyKSk7CisgICAgICAgICAgICBGbG9hdFJlY3Qgc2hhZG93
UmVjdChsb2NhbE9yaWdpbiwgRmxvYXRTaXplKHdpZHRoLCBiYXNlbGluZSArIDIpKTsKICAgICAg
ICAgICAgIHNoYWRvd1JlY3QuaW5mbGF0ZShzLT5ibHVyKCkpOwogICAgICAgICAgICAgaW50IHNo
YWRvd1ggPSBpc0hvcml6b250YWwoKSA/IHMtPngoKSA6IHMtPnkoKTsKICAgICAgICAgICAgIGlu
dCBzaGFkb3dZID0gaXNIb3Jpem9udGFsKCkgPyBzLT55KCkgOiAtcy0+eCgpOwpAQCAtODgyLDcg
Kzg4Miw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKEdyYXAKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGludCBzaGFkb3dYID0gaXNIb3Jpem9udGFsKCkgPyBzaGFk
b3ctPngoKSA6IHNoYWRvdy0+eSgpOwogICAgICAgICAgICAgaW50IHNoYWRvd1kgPSBpc0hvcml6
b250YWwoKSA/IHNoYWRvdy0+eSgpIDogLXNoYWRvdy0+eCgpOwotICAgICAgICAgICAgY29udGV4
dC0+c2V0U2hhZG93KEludFNpemUoc2hhZG93WCwgc2hhZG93WSAtIGV4dHJhT2Zmc2V0KSwgc2hh
ZG93LT5ibHVyKCksIHNoYWRvdy0+Y29sb3IoKSwgY29sb3JTcGFjZSk7CisgICAgICAgICAgICBj
b250ZXh0LT5zZXRTaGFkb3coRmxvYXRTaXplKHNoYWRvd1gsIHNoYWRvd1kgLSBleHRyYU9mZnNl
dCksIHNoYWRvdy0+Ymx1cigpLCBzaGFkb3ctPmNvbG9yKCksIGNvbG9yU3BhY2UpOwogICAgICAg
ICAgICAgc2V0U2hhZG93ID0gdHJ1ZTsKICAgICAgICAgICAgIHNoYWRvdyA9IHNoYWRvdy0+bmV4
dCgpOwogICAgICAgICB9CkBAIC04OTEsNyArODkxLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94Ojpw
YWludERlY29yYXRpb24oR3JhcAogICAgICAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlQ29sb3Io
dW5kZXJsaW5lLCBjb2xvclNwYWNlKTsKICAgICAgICAgICAgIGNvbnRleHQtPnNldFN0cm9rZVN0
eWxlKFNvbGlkU3Ryb2tlKTsKICAgICAgICAgICAgIC8vIExlYXZlIG9uZSBwaXhlbCBvZiB3aGl0
ZSBiZXR3ZWVuIHRoZSBiYXNlbGluZSBhbmQgdGhlIHVuZGVybGluZS4KLSAgICAgICAgICAgIGNv
bnRleHQtPmRyYXdMaW5lRm9yVGV4dChJbnRQb2ludChsb2NhbE9yaWdpbi54KCksIGxvY2FsT3Jp
Z2luLnkoKSArIGJhc2VsaW5lICsgMSksIHdpZHRoLCBpc1ByaW50aW5nKTsKKyAgICAgICAgICAg
IGNvbnRleHQtPmRyYXdMaW5lRm9yVGV4dChGbG9hdFBvaW50KGxvY2FsT3JpZ2luLngoKSwgbG9j
YWxPcmlnaW4ueSgpICsgYmFzZWxpbmUgKyAxKSwgd2lkdGgsIGlzUHJpbnRpbmcpOwogICAgICAg
ICB9CiAgICAgICAgIGlmIChkZWNvICYgT1ZFUkxJTkUpIHsKICAgICAgICAgICAgIGNvbnRleHQt
PnNldFN0cm9rZUNvbG9yKG92ZXJsaW5lLCBjb2xvclNwYWNlKTsKQEAgLTkwMSw3ICs5MDEsNyBA
QCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbihHcmFwCiAgICAgICAgIGlmIChk
ZWNvICYgTElORV9USFJPVUdIKSB7CiAgICAgICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VDb2xv
cihsaW5ldGhyb3VnaCwgY29sb3JTcGFjZSk7CiAgICAgICAgICAgICBjb250ZXh0LT5zZXRTdHJv
a2VTdHlsZShTb2xpZFN0cm9rZSk7Ci0gICAgICAgICAgICBjb250ZXh0LT5kcmF3TGluZUZvclRl
eHQoSW50UG9pbnQobG9jYWxPcmlnaW4ueCgpLCBsb2NhbE9yaWdpbi55KCkgKyAyICogYmFzZWxp
bmUgLyAzKSwgd2lkdGgsIGlzUHJpbnRpbmcpOworICAgICAgICAgICAgY29udGV4dC0+ZHJhd0xp
bmVGb3JUZXh0KEZsb2F0UG9pbnQobG9jYWxPcmlnaW4ueCgpLCBsb2NhbE9yaWdpbi55KCkgKyAy
ICogYmFzZWxpbmUgLyAzKSwgd2lkdGgsIGlzUHJpbnRpbmcpOwogICAgICAgICB9CiAgICAgfSB3
aGlsZSAoc2hhZG93KTsKIApAQCAtOTI2LDcgKzkyNiw3IEBAIHN0YXRpYyBHcmFwaGljc0NvbnRl
eHQ6OlRleHRDaGVja2luZ0xpbmUKICAgICB9CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFp
bnRTcGVsbGluZ09yR3JhbW1hck1hcmtlcihHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBJbnRQ
b2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYgbWFya2VyLCBSZW5kZXJTdHls
ZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgZ3JhbW1hcikKK3ZvaWQgSW5saW5lVGV4
dEJveDo6cGFpbnRTcGVsbGluZ09yR3JhbW1hck1hcmtlcihHcmFwaGljc0NvbnRleHQqIHB0LCBj
b25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiBtYXJrZXIs
IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBncmFtbWFyKQogewog
ICAgIC8vIE5ldmVyIHByaW50IHNwZWxsaW5nL2dyYW1tYXIgbWFya2VycyAoNTMyNzg4NykKICAg
ICBpZiAodGV4dFJlbmRlcmVyKCktPmRvY3VtZW50KCktPnByaW50aW5nKCkpCkBAIC05MzUsOCAr
OTM1LDggQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbQogICAgIGlm
IChtX3RydW5jYXRpb24gPT0gY0Z1bGxUcnVuY2F0aW9uKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBpbnQgc3RhcnQgPSAwOyAgICAgICAgICAgICAgICAgIC8vIHN0YXJ0IG9mIGxpbmUgdG8gZHJh
dywgcmVsYXRpdmUgdG8gdHgKLSAgICBpbnQgd2lkdGggPSBtX2xvZ2ljYWxXaWR0aDsgICAgICAg
ICAgICAvLyBob3cgbXVjaCBsaW5lIHRvIGRyYXcKKyAgICBmbG9hdCBzdGFydCA9IDA7IC8vIHN0
YXJ0IG9mIGxpbmUgdG8gZHJhdywgcmVsYXRpdmUgdG8gdHgKKyAgICBmbG9hdCB3aWR0aCA9IG1f
bG9naWNhbFdpZHRoOyAvLyBob3cgbXVjaCBsaW5lIHRvIGRyYXcKIAogICAgIC8vIERldGVybWlu
ZSB3aGV0aGVyIHdlIG5lZWQgdG8gbWVhc3VyZSB0ZXh0CiAgICAgYm9vbCBtYXJrZXJTcGFuc1do
b2xlQm94ID0gdHJ1ZTsKQEAgLTk1Nyw5ICs5NTcsMTAgQEAgdm9pZCBJbmxpbmVUZXh0Qm94Ojpw
YWludFNwZWxsaW5nT3JHcmFtbQogICAgICAgICAvLyBDYWxjdWxhdGUgc3RhcnQgJiB3aWR0aAog
ICAgICAgICBpbnQgZGVsdGFZID0gcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkTGluZXNX
cml0aW5nTW9kZSgpID8gc2VsZWN0aW9uQm90dG9tKCkgLSBsb2dpY2FsQm90dG9tKCkgOiBsb2dp
Y2FsVG9wKCkgLSBzZWxlY3Rpb25Ub3AoKTsKICAgICAgICAgaW50IHNlbEhlaWdodCA9IHNlbGVj
dGlvbkhlaWdodCgpOwotICAgICAgICBJbnRQb2ludCBzdGFydFBvaW50KGJveE9yaWdpbi54KCks
IGJveE9yaWdpbi55KCkgLSBkZWx0YVkpOworICAgICAgICBGbG9hdFBvaW50IHN0YXJ0UG9pbnQo
Ym94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSk7CiAgICAgICAgIFRleHRSdW4g
cnVuKHRleHRSZW5kZXJlcigpLT50ZXh0KCktPmNoYXJhY3RlcnMoKSArIG1fc3RhcnQsIG1fbGVu
LCB0ZXh0UmVuZGVyZXIoKS0+YWxsb3dUYWJzKCksIHRleHRQb3MoKSwgbV9leHBhbnNpb24sIHRy
YWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IoKSwgIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgbV9k
aXJPdmVycmlkZSB8fCBzdHlsZS0+dmlzdWFsbHlPcmRlcmVkKCkpOwotICAgICAgICAgCisgICAg
ICAgIAorICAgICAgICAvLyBGSVhNRTogQ29udmVydCB0aGUgZG9jdW1lbnQgbWFya2VycyB0byBm
bG9hdCByZWN0cy4KICAgICAgICAgSW50UmVjdCBtYXJrZXJSZWN0ID0gZW5jbG9zaW5nSW50UmVj
dChmb250LnNlbGVjdGlvblJlY3RGb3JUZXh0KHJ1biwgc3RhcnRQb2ludCwgc2VsSGVpZ2h0LCBz
dGFydFBvc2l0aW9uLCBlbmRQb3NpdGlvbikpOwogICAgICAgICBzdGFydCA9IG1hcmtlclJlY3Qu
eCgpIC0gc3RhcnRQb2ludC54KCk7CiAgICAgICAgIHdpZHRoID0gbWFya2VyUmVjdC53aWR0aCgp
OwpAQCAtOTkwLDEwICs5OTEsMTAgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5n
T3JHcmFtbQogICAgICAgICAvLyBJbiBsYXJnZXIgZm9udHMsIHRob3VnaCwgcGxhY2UgdGhlIHVu
ZGVybGluZSB1cCBuZWFyIHRoZSBiYXNlbGluZSB0byBwcmV2ZW50IGEgYmlnIGdhcC4KICAgICAg
ICAgdW5kZXJsaW5lT2Zmc2V0ID0gYmFzZWxpbmUgKyAyOwogICAgIH0KLSAgICBwdC0+ZHJhd0xp
bmVGb3JUZXh0Q2hlY2tpbmcoSW50UG9pbnQoYm94T3JpZ2luLngoKSArIHN0YXJ0LCBib3hPcmln
aW4ueSgpICsgdW5kZXJsaW5lT2Zmc2V0KSwgd2lkdGgsIHRleHRDaGVja2luZ0xpbmVTdHlsZUZv
ck1hcmtlclR5cGUobWFya2VyLnR5cGUpKTsKKyAgICBwdC0+ZHJhd0xpbmVGb3JUZXh0Q2hlY2tp
bmcoRmxvYXRQb2ludChib3hPcmlnaW4ueCgpICsgc3RhcnQsIGJveE9yaWdpbi55KCkgKyB1bmRl
cmxpbmVPZmZzZXQpLCB3aWR0aCwgdGV4dENoZWNraW5nTGluZVN0eWxlRm9yTWFya2VyVHlwZSht
YXJrZXIudHlwZSkpOwogfQogCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50VGV4dE1hdGNoTWFy
a2VyKEdyYXBoaWNzQ29udGV4dCogcHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGNvbnN0
IERvY3VtZW50TWFya2VyJiBtYXJrZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYg
Zm9udCkKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRUZXh0TWF0Y2hNYXJrZXIoR3JhcGhpY3ND
b250ZXh0KiBwdCwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1h
cmtlciYgbWFya2VyLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQpCiB7CiAg
ICAgLy8gVXNlIHNhbWUgeSBwb3NpdGlvbmluZyBhbmQgaGVpZ2h0IGFzIGZvciBzZWxlY3Rpb24s
IHNvIHRoYXQgd2hlbiB0aGUgc2VsZWN0aW9uIGFuZCB0aGlzIGhpZ2hsaWdodCBhcmUgb24KICAg
ICAvLyB0aGUgc2FtZSB3b3JkIHRoZXJlIGFyZSBubyBwaWVjZXMgc3RpY2tpbmcgb3V0LgpAQCAt
MTAxNiw4ICsxMDE3LDggQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFRleHRNYXRjaE1hcmtl
cgogICAgICAgICAgICAgcmVuZGVyZXIoKS0+dGhlbWUoKS0+cGxhdGZvcm1JbmFjdGl2ZVRleHRT
ZWFyY2hIaWdobGlnaHRDb2xvcigpOwogICAgICAgICBwdC0+c2F2ZSgpOwogICAgICAgICB1cGRh
dGVHcmFwaGljc0NvbnRleHQocHQsIGNvbG9yLCBjb2xvciwgMCwgc3R5bGUtPmNvbG9yU3BhY2Uo
KSk7ICAvLyBEb24ndCBkcmF3IHRleHQgYXQgYWxsIQotICAgICAgICBwdC0+Y2xpcChJbnRSZWN0
KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVksIG1fbG9naWNhbFdpZHRoLCBz
ZWxIZWlnaHQpKTsKLSAgICAgICAgcHQtPmRyYXdIaWdobGlnaHRGb3JUZXh0KGZvbnQsIHJ1biwg
SW50UG9pbnQoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSksIHNlbEhlaWdo
dCwgY29sb3IsIHN0eWxlLT5jb2xvclNwYWNlKCksIHNQb3MsIGVQb3MpOworICAgICAgICBwdC0+
Y2xpcChGbG9hdFJlY3QoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSwgbV9s
b2dpY2FsV2lkdGgsIHNlbEhlaWdodCkpOworICAgICAgICBwdC0+ZHJhd0hpZ2hsaWdodEZvclRl
eHQoZm9udCwgcnVuLCBGbG9hdFBvaW50KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBk
ZWx0YVkpLCBzZWxIZWlnaHQsIGNvbG9yLCBzdHlsZS0+Y29sb3JTcGFjZSgpLCBzUG9zLCBlUG9z
KTsKICAgICAgICAgcHQtPnJlc3RvcmUoKTsKICAgICB9CiB9CkBAIC0xMDM5LDcgKzEwNDAsNyBA
QCB2b2lkIElubGluZVRleHRCb3g6OmNvbXB1dGVSZWN0Rm9yUmVwbGFjCiAgICAgcmVuZGVyZXIo
KS0+ZG9jdW1lbnQoKS0+bWFya2VycygpLT5zZXRSZW5kZXJlZFJlY3RGb3JNYXJrZXIocmVuZGVy
ZXIoKS0+bm9kZSgpLCBtYXJrZXIsIG1hcmtlclJlY3QpOwogfQogICAgIAotdm9pZCBJbmxpbmVU
ZXh0Qm94OjpwYWludERvY3VtZW50TWFya2VycyhHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBJ
bnRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQs
IGJvb2wgYmFja2dyb3VuZCkKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREb2N1bWVudE1hcmtl
cnMoR3JhcGhpY3NDb250ZXh0KiBwdCwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5k
ZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgYmFja2dyb3VuZCkKIHsKICAg
ICBpZiAoIXJlbmRlcmVyKCktPm5vZGUoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTA5OSwxNCAr
MTEwMCwxMyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50RG9jdW1lbnRNYXJrZXJzCiAgICAg
fQogfQogCi0KLXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGVybGluZShH
cmFwaGljc0NvbnRleHQqIGN0eCwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgQ29t
cG9zaXRpb25VbmRlcmxpbmUmIHVuZGVybGluZSkKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRD
b21wb3NpdGlvblVuZGVybGluZShHcmFwaGljc0NvbnRleHQqIGN0eCwgY29uc3QgRmxvYXRQb2lu
dCYgYm94T3JpZ2luLCBjb25zdCBDb21wb3NpdGlvblVuZGVybGluZSYgdW5kZXJsaW5lKQogewog
ICAgIGlmIChtX3RydW5jYXRpb24gPT0gY0Z1bGxUcnVuY2F0aW9uKQogICAgICAgICByZXR1cm47
CiAgICAgCi0gICAgaW50IHN0YXJ0ID0gMDsgICAgICAgICAgICAgICAgIC8vIHN0YXJ0IG9mIGxp
bmUgdG8gZHJhdywgcmVsYXRpdmUgdG8gdHgKLSAgICBpbnQgd2lkdGggPSBtX2xvZ2ljYWxXaWR0
aDsgICAgICAgICAgIC8vIGhvdyBtdWNoIGxpbmUgdG8gZHJhdworICAgIGZsb2F0IHN0YXJ0ID0g
MDsgLy8gc3RhcnQgb2YgbGluZSB0byBkcmF3LCByZWxhdGl2ZSB0byB0eAorICAgIGZsb2F0IHdp
ZHRoID0gbV9sb2dpY2FsV2lkdGg7IC8vIGhvdyBtdWNoIGxpbmUgdG8gZHJhdwogICAgIGJvb2wg
dXNlV2hvbGVXaWR0aCA9IHRydWU7CiAgICAgdW5zaWduZWQgcGFpbnRTdGFydCA9IG1fc3RhcnQ7
CiAgICAgdW5zaWduZWQgcGFpbnRFbmQgPSBlbmQoKSArIDE7IC8vIGVuZCBwb2ludHMgYXQgdGhl
IGxhc3QgY2hhciwgbm90IHBhc3QgaXQKQEAgLTExNDIsNyArMTE0Miw3IEBAIHZvaWQgSW5saW5l
VGV4dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGUKIAogICAgIGN0eC0+c2V0U3Ryb2tlQ29sb3Io
dW5kZXJsaW5lLmNvbG9yLCByZW5kZXJlcigpLT5zdHlsZSgpLT5jb2xvclNwYWNlKCkpOwogICAg
IGN0eC0+c2V0U3Ryb2tlVGhpY2tuZXNzKGxpbmVUaGlja25lc3MpOwotICAgIGN0eC0+ZHJhd0xp
bmVGb3JUZXh0KEludFBvaW50KGJveE9yaWdpbi54KCkgKyBzdGFydCwgYm94T3JpZ2luLnkoKSAr
IGxvZ2ljYWxIZWlnaHQoKSAtIGxpbmVUaGlja25lc3MpLCB3aWR0aCwgdGV4dFJlbmRlcmVyKCkt
PmRvY3VtZW50KCktPnByaW50aW5nKCkpOworICAgIGN0eC0+ZHJhd0xpbmVGb3JUZXh0KEZsb2F0
UG9pbnQoYm94T3JpZ2luLngoKSArIHN0YXJ0LCBib3hPcmlnaW4ueSgpICsgbG9naWNhbEhlaWdo
dCgpIC0gbGluZVRoaWNrbmVzcyksIHdpZHRoLCB0ZXh0UmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+
cHJpbnRpbmcoKSk7CiB9CiAKIGludCBJbmxpbmVUZXh0Qm94OjpjYXJldE1pbk9mZnNldCgpIGNv
bnN0CkBAIC0xMTYwLDcgKzExNjAsNyBAQCB1bnNpZ25lZCBJbmxpbmVUZXh0Qm94OjpjYXJldE1h
eFJlbmRlcmVkCiAgICAgcmV0dXJuIG1fc3RhcnQgKyBtX2xlbjsKIH0KIAotaW50IElubGluZVRl
eHRCb3g6OnRleHRQb3MoKSBjb25zdAorZmxvYXQgSW5saW5lVGV4dEJveDo6dGV4dFBvcygpIGNv
bnN0CiB7CiAgICAgLy8gV2hlbiBjb21wdXRpbmcgdGhlIHdpZHRoIG9mIGEgdGV4dCBydW4sIFJl
bmRlckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uUG9zaXRpb25zRm9yTGluZSgpIGRvZXNu
J3QgaW5jbHVkZSB0aGUgYWN0dWFsIG9mZnNldAogICAgIC8vIGZyb20gdGhlIGNvbnRhaW5pbmcg
YmxvY2sgZWRnZSBpbiBpdHMgbWVhc3VyZW1lbnQuIHRleHRQb3MoKSBzaG91bGQgYmUgY29uc2lz
dGVudCBzbyB0aGUgdGV4dCBhcmUgcmVuZGVyZWQgaW4gdGhlIHNhbWUgd2lkdGguCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgJKHJldmlzaW9uIDc4MzcxKQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaAkod29ya2luZyBjb3B5
KQpAQCAtMTA1LDEyICsxMDUsMTIgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIHZpcnR1YWwg
dm9pZCBjbGVhclRydW5jYXRpb24oKSB7IG1fdHJ1bmNhdGlvbiA9IGNOb1RydW5jYXRpb247IH0K
LSAgICB2aXJ0dWFsIGludCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgZmxvd0lzTFRSLCBpbnQgdmlz
aWJsZUxlZnRFZGdlLCBpbnQgdmlzaWJsZVJpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJv
b2wmIGZvdW5kQm94KTsKKyAgICB2aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBm
bG93SXNMVFIsIGZsb2F0IHZpc2libGVMZWZ0RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwg
ZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpOwogCiBwdWJsaWM6CiAgICAgdmly
dHVhbCBib29sIGlzTGluZUJyZWFrKCkgY29uc3Q7CiAKLSAgICB2b2lkIHNldEV4cGFuc2lvbihp
bnQgZXhwYW5zaW9uKSB7IG1fbG9naWNhbFdpZHRoIC09IG1fZXhwYW5zaW9uOyBtX2V4cGFuc2lv
biA9IGV4cGFuc2lvbjsgbV9sb2dpY2FsV2lkdGggKz0gbV9leHBhbnNpb247IH0KKyAgICB2b2lk
IHNldEV4cGFuc2lvbihmbG9hdCBleHBhbnNpb24pIHsgbV9sb2dpY2FsV2lkdGggLT0gbV9leHBh
bnNpb247IG1fZXhwYW5zaW9uID0gZXhwYW5zaW9uOyBtX2xvZ2ljYWxXaWR0aCArPSBtX2V4cGFu
c2lvbjsgfQogCiBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBpc0lubGluZVRleHRCb3goKSBj
b25zdCB7IHJldHVybiB0cnVlOyB9ICAgIApAQCAtMTIyLDcgKzEyMiw3IEBAIHB1YmxpYzoKIHBy
aXZhdGU6CiAgICAgdmlydHVhbCB1bnNpZ25lZCBjYXJldE1heFJlbmRlcmVkT2Zmc2V0KCkgY29u
c3Q7CiAKLSAgICBpbnQgdGV4dFBvcygpIGNvbnN0OyAvLyByZXR1cm5zIHRoZSB4IHBvc2l0aW9u
IHJlbGF0aXZlIHRvIHRoZSBsZWZ0IHN0YXJ0IG9mIHRoZSB0ZXh0IGxpbmUuCisgICAgZmxvYXQg
dGV4dFBvcygpIGNvbnN0OyAvLyByZXR1cm5zIHRoZSB4IHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRo
ZSBsZWZ0IHN0YXJ0IG9mIHRoZSB0ZXh0IGxpbmUuCiAKIHB1YmxpYzoKICAgICB2aXJ0dWFsIGlu
dCBvZmZzZXRGb3JQb3NpdGlvbihpbnQgeCwgYm9vbCBpbmNsdWRlUGFydGlhbEdseXBocyA9IHRy
dWUpIGNvbnN0OwpAQCAtMTQ0LDE4ICsxNDQsMTggQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAg
ICAgICAgICAvLyBkZW5vdGUgbm8gdHJ1bmNhdGlvbiAodGhlIHdob2xlIHJ1biBwYWludHMpIGFu
ZCBmdWxsIHRydW5jYXRpb24gKG5vdGhpbmcgcGFpbnRzIGF0IGFsbCkuCiAKIHByb3RlY3RlZDoK
LSAgICB2b2lkIHBhaW50Q29tcG9zaXRpb25CYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCosIGNv
bnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYsIGludCBz
dGFydFBvcywgaW50IGVuZFBvcyk7Ci0gICAgdm9pZCBwYWludERvY3VtZW50TWFya2VycyhHcmFw
aGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNv
bnN0IEZvbnQmLCBib29sIGJhY2tncm91bmQpOwotICAgIHZvaWQgcGFpbnRDb21wb3NpdGlvblVu
ZGVybGluZShHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBjb25z
dCBDb21wb3NpdGlvblVuZGVybGluZSYpOworICAgIHZvaWQgcGFpbnRDb21wb3NpdGlvbkJhY2tn
cm91bmQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5k
ZXJTdHlsZSosIGNvbnN0IEZvbnQmLCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpOworICAgIHZv
aWQgcGFpbnREb2N1bWVudE1hcmtlcnMoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2lu
dCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmLCBib29sIGJhY2tncm91bmQp
OworICAgIHZvaWQgcGFpbnRDb21wb3NpdGlvblVuZGVybGluZShHcmFwaGljc0NvbnRleHQqLCBj
b25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5lJik7
CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZvaWQgcGFpbnRDdXN0b21IaWdobGlnaHQoaW50IHR4
LCBpbnQgdHksIGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSk7CiAjZW5kaWYKIAogcHJpdmF0ZToK
LSAgICB2b2lkIHBhaW50RGVjb3JhdGlvbihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2lu
dCYgYm94T3JpZ2luLCBpbnQgZGVjb3JhdGlvbiwgY29uc3QgU2hhZG93RGF0YSopOwotICAgIHZv
aWQgcGFpbnRTZWxlY3Rpb24oR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmIGJveE9y
aWdpbiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jik7Ci0gICAgdm9pZCBwYWludFNwZWxsaW5n
T3JHcmFtbWFyTWFya2VyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmln
aW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250JiwgYm9v
bCBncmFtbWFyKTsKLSAgICB2b2lkIHBhaW50VGV4dE1hdGNoTWFya2VyKEdyYXBoaWNzQ29udGV4
dCosIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiwgUmVu
ZGVyU3R5bGUqLCBjb25zdCBGb250Jik7CisgICAgdm9pZCBwYWludERlY29yYXRpb24oR3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBpbnQgZGVjb3JhdGlvbiwg
Y29uc3QgU2hhZG93RGF0YSopOworICAgIHZvaWQgcGFpbnRTZWxlY3Rpb24oR3JhcGhpY3NDb250
ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZv
bnQmKTsKKyAgICB2b2lkIHBhaW50U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIoR3JhcGhpY3NDb250
ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYs
IFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYsIGJvb2wgZ3JhbW1hcik7CisgICAgdm9pZCBwYWlu
dFRleHRNYXRjaE1hcmtlcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hP
cmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jik7
CiAgICAgdm9pZCBjb21wdXRlUmVjdEZvclJlcGxhY2VtZW50TWFya2VyKGNvbnN0IERvY3VtZW50
TWFya2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jik7CiAKICAgICBUZXh0UnVuOjpUcmFp
bGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IoKSBjb25zdCB7
IHJldHVybiBtX2V4cGFuc2lvbiAmJiBuZXh0TGVhZkNoaWxkKCkgPyBUZXh0UnVuOjpBbGxvd1Ry
YWlsaW5nRXhwYW5zaW9uIDogVGV4dFJ1bjo6Rm9yYmlkVHJhaWxpbmdFeHBhbnNpb247IH0KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCUi5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCUi5oCShyZXZpc2lvbiA3ODM3MSkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCUi5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw4
ICs0MCw4IEBAIHB1YmxpYzoKICAKICAgICB2aXJ0dWFsIEludFJlY3Qgc2VsZWN0aW9uUmVjdEZv
clJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIC8qcmVwYWludENvbnRhaW5lciovLCBib29s
IC8qY2xpcFRvVmlzaWJsZUNvbnRlbnQqLykgeyByZXR1cm4gSW50UmVjdCgpOyB9CiAKLSAgICB2
aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVkIC8qZnJvbSovLCB1bnNpZ25lZCAvKmxlbiov
LCBjb25zdCBGb250JiwgaW50IC8qeHBvcyovKSBjb25zdCB7IHJldHVybiAwOyB9Ci0gICAgdmly
dHVhbCB1bnNpZ25lZCB3aWR0aCh1bnNpZ25lZCAvKmZyb20qLywgdW5zaWduZWQgLypsZW4qLywg
aW50IC8qeHBvcyovLCBib29sIC8qZmlyc3RMaW5lID0gZmFsc2UqLykgY29uc3QgeyByZXR1cm4g
MDsgfQorICAgIHZpcnR1YWwgZmxvYXQgd2lkdGgodW5zaWduZWQgLypmcm9tKi8sIHVuc2lnbmVk
IC8qbGVuKi8sIGNvbnN0IEZvbnQmLCBmbG9hdCAvKnhwb3MqLykgY29uc3QgeyByZXR1cm4gMDsg
fQorICAgIHZpcnR1YWwgZmxvYXQgd2lkdGgodW5zaWduZWQgLypmcm9tKi8sIHVuc2lnbmVkIC8q
bGVuKi8sIGludCAvKnhwb3MqLywgYm9vbCAvKmZpcnN0TGluZSA9IGZhbHNlKi8pIGNvbnN0IHsg
cmV0dXJuIDA7IH0KIAogICAgIGludCBsaW5lSGVpZ2h0KGJvb2wgZmlyc3RMaW5lKSBjb25zdDsK
IApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCShyZXZpc2lv
biA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ2MTcsNyArNDYxNyw3IEBAIHN0YXRpYyBpbnQgZ2V0Qm9yZGVyUGFk
ZGluZ01hcmdpbihjb25zdCAKICAgICAgICAgICAgICAgIGNoaWxkLT5ib3JkZXJTdGFydCgpOwog
fQogCi1zdGF0aWMgaW5saW5lIHZvaWQgc3RyaXBUcmFpbGluZ1NwYWNlKGludCYgaW5saW5lTWF4
LCBpbnQmIGlubGluZU1pbiwKK3N0YXRpYyBpbmxpbmUgdm9pZCBzdHJpcFRyYWlsaW5nU3BhY2Uo
ZmxvYXQmIGlubGluZU1heCwgZmxvYXQmIGlubGluZU1pbiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgUmVuZGVyT2JqZWN0KiB0cmFpbGluZ1NwYWNlQ2hpbGQpCiB7CiAg
ICAgaWYgKHRyYWlsaW5nU3BhY2VDaGlsZCAmJiB0cmFpbGluZ1NwYWNlQ2hpbGQtPmlzVGV4dCgp
KSB7CkBAIC00NjI1LDE3ICs0NjI1LDIzIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBzdHJpcFRyYWls
aW5nU3BhY2UoaW4KICAgICAgICAgUmVuZGVyVGV4dCogdCA9IHRvUmVuZGVyVGV4dCh0cmFpbGlu
Z1NwYWNlQ2hpbGQpOwogICAgICAgICBjb25zdCBVQ2hhciBzcGFjZSA9ICcgJzsKICAgICAgICAg
Y29uc3QgRm9udCYgZm9udCA9IHQtPnN0eWxlKCktPmZvbnQoKTsgLy8gRklYTUU6IFRoaXMgaWdu
b3JlcyBmaXJzdC1saW5lLgotICAgICAgICBpbnQgc3BhY2VXaWR0aCA9IGZvbnQud2lkdGgoVGV4
dFJ1bigmc3BhY2UsIDEpKTsKKyAgICAgICAgZmxvYXQgc3BhY2VXaWR0aCA9IGZvbnQud2lkdGgo
VGV4dFJ1bigmc3BhY2UsIDEpKTsKICAgICAgICAgaW5saW5lTWF4IC09IHNwYWNlV2lkdGggKyBm
b250LndvcmRTcGFjaW5nKCk7CiAgICAgICAgIGlmIChpbmxpbmVNaW4gPiBpbmxpbmVNYXgpCiAg
ICAgICAgICAgICBpbmxpbmVNaW4gPSBpbmxpbmVNYXg7CiAgICAgfQogfQogCitzdGF0aWMgaW5s
aW5lIHZvaWQgdXBkYXRlUHJlZmVycmVkV2lkdGgoaW50JiBwcmVmZXJyZWRXaWR0aCwgZmxvYXQm
IHJlc3VsdCkKK3sKKyAgICBpbnQgc25hcHBlZFJlc3VsdCA9IGNlaWxmKHJlc3VsdCk7CisgICAg
cHJlZmVycmVkV2lkdGggPSBtYXgoc25hcHBlZFJlc3VsdCwgcHJlZmVycmVkV2lkdGgpOworfQor
CiB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkTG9naWNhbFdpZHRocygp
CiB7Ci0gICAgaW50IGlubGluZU1heCA9IDA7Ci0gICAgaW50IGlubGluZU1pbiA9IDA7CisgICAg
ZmxvYXQgaW5saW5lTWF4ID0gMDsKKyAgICBmbG9hdCBpbmxpbmVNaW4gPSAwOwogCiAgICAgaW50
IGN3ID0gY29udGFpbmluZ0Jsb2NrKCktPmNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKIApAQCAtNDY5
NiwxNSArNDcwMiwxNSBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVk
CiAgICAgICAgICAgICAvLyB0aGUgd2lkdGggb2YgdGhlIGxhc3Qgbm9uLWJyZWFrYWJsZSBydW4g
YW5kIHVzZSB0aGF0IHRvIHN0YXJ0IGEgbmV3IGxpbmUKICAgICAgICAgICAgIC8vICh1bmxlc3Mg
d2UgZW5kIGluIHdoaXRlc3BhY2UpLgogICAgICAgICAgICAgUmVuZGVyU3R5bGUqIGNzdHlsZSA9
IGNoaWxkLT5zdHlsZSgpOwotICAgICAgICAgICAgaW50IGNoaWxkTWluID0gMDsKLSAgICAgICAg
ICAgIGludCBjaGlsZE1heCA9IDA7CisgICAgICAgICAgICBmbG9hdCBjaGlsZE1pbiA9IDA7Cisg
ICAgICAgICAgICBmbG9hdCBjaGlsZE1heCA9IDA7CiAKICAgICAgICAgICAgIGlmICghY2hpbGQt
PmlzVGV4dCgpKSB7CiAgICAgICAgICAgICAgICAgLy8gQ2FzZSAoMSkgYW5kICgyKS4gIElubGlu
ZSByZXBsYWNlZCBhbmQgaW5saW5lIGZsb3cgZWxlbWVudHMuCiAgICAgICAgICAgICAgICAgaWYg
KGNoaWxkLT5pc1JlbmRlcklubGluZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIEFkZCBp
biBwYWRkaW5nL2JvcmRlci9tYXJnaW4gZnJvbSB0aGUgYXBwcm9wcmlhdGUgc2lkZSBvZgogICAg
ICAgICAgICAgICAgICAgICAvLyB0aGUgZWxlbWVudC4KLSAgICAgICAgICAgICAgICAgICAgaW50
IGJwbSA9IGdldEJvcmRlclBhZGRpbmdNYXJnaW4odG9SZW5kZXJJbmxpbmUoY2hpbGQpLCBjaGls
ZEl0ZXJhdG9yLmVuZE9mSW5saW5lKTsKKyAgICAgICAgICAgICAgICAgICAgZmxvYXQgYnBtID0g
Z2V0Qm9yZGVyUGFkZGluZ01hcmdpbih0b1JlbmRlcklubGluZShjaGlsZCksIGNoaWxkSXRlcmF0
b3IuZW5kT2ZJbmxpbmUpOwogICAgICAgICAgICAgICAgICAgICBjaGlsZE1pbiArPSBicG07CiAg
ICAgICAgICAgICAgICAgICAgIGNoaWxkTWF4ICs9IGJwbTsKIApAQCAtNDcxNCw3ICs0NzIwLDcg
QEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAg
ICAgICAgICBjaGlsZC0+c2V0UHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KGZhbHNlKTsKICAg
ICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAvLyBJbmxpbmUgcmVw
bGFjZWQgZWx0cyBhZGQgaW4gdGhlaXIgbWFyZ2lucyB0byB0aGVpciBtaW4vbWF4IHZhbHVlcy4K
LSAgICAgICAgICAgICAgICAgICAgaW50IG1hcmdpbnMgPSAwOworICAgICAgICAgICAgICAgICAg
ICBmbG9hdCBtYXJnaW5zID0gMDsKICAgICAgICAgICAgICAgICAgICAgTGVuZ3RoIHN0YXJ0TWFy
Z2luID0gY3N0eWxlLT5tYXJnaW5TdGFydCgpOwogICAgICAgICAgICAgICAgICAgICBMZW5ndGgg
ZW5kTWFyZ2luID0gY3N0eWxlLT5tYXJnaW5FbmQoKTsKICAgICAgICAgICAgICAgICAgICAgaWYg
KHN0YXJ0TWFyZ2luLmlzRml4ZWQoKSkKQEAgLTQ3NDQsMTMgKzQ3NTAsMTMgQEAgdm9pZCBSZW5k
ZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogCiAgICAgICAgICAgICAgICAgYm9vbCBj
YW5CcmVha1JlcGxhY2VkRWxlbWVudCA9ICFjaGlsZC0+aXNJbWFnZSgpIHx8IGFsbG93SW1hZ2Vz
VG9CcmVhazsKICAgICAgICAgICAgICAgICBpZiAoKGNhbkJyZWFrUmVwbGFjZWRFbGVtZW50ICYm
IChhdXRvV3JhcCB8fCBvbGRBdXRvV3JhcCkpIHx8IGNsZWFyUHJldmlvdXNGbG9hdCkgewotICAg
ICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVN
aW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgdXBk
YXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7
CiAgICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiA9IDA7CiAgICAgICAgICAgICAgICAgfQog
CiAgICAgICAgICAgICAgICAgLy8gSWYgd2UncmUgc3VwcG9zZWQgdG8gY2xlYXIgdGhlIHByZXZp
b3VzIGZsb2F0LCB0aGVuIHRlcm1pbmF0ZSBtYXh3aWR0aCBhcyB3ZWxsLgogICAgICAgICAgICAg
ICAgIGlmIChjbGVhclByZXZpb3VzRmxvYXQpIHsKLSAgICAgICAgICAgICAgICAgICAgbV9tYXhQ
cmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWF4LCBtX21heFByZWZlcnJlZExvZ2lj
YWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWF4
UHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNYXgpOwogICAgICAgICAgICAgICAgICAgICBp
bmxpbmVNYXggPSAwOwogICAgICAgICAgICAgICAgIH0KIApAQCAtNDc2OCwxMiArNDc3NCwxMiBA
QCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAKICAgICAgICAgICAg
ICAgICBpZiAoIWF1dG9XcmFwIHx8ICFjYW5CcmVha1JlcGxhY2VkRWxlbWVudCkgewogICAgICAg
ICAgICAgICAgICAgICBpZiAoY2hpbGQtPmlzRmxvYXRpbmcoKSkKLSAgICAgICAgICAgICAgICAg
ICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGNoaWxkTWluLCBtX21pblBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVm
ZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgY2hpbGRNaW4pOwogICAgICAg
ICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gKz0g
Y2hpbGRNaW47CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAg
Ly8gTm93IGNoZWNrIG91ciBsaW5lLgotICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCA9IG1heChjaGlsZE1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgp
OworICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCwgY2hpbGRNaW4pOwogCiAgICAgICAgICAgICAgICAgICAgIC8vIE5vdyBz
dGFydCBhIG5ldyBsaW5lLgogICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSAwOwpAQCAt
NDc5MCw3ICs0Nzk2LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJl
ZAogICAgICAgICAgICAgICAgIFJlbmRlclRleHQqIHQgPSB0b1JlbmRlclRleHQoY2hpbGQpOwog
CiAgICAgICAgICAgICAgICAgaWYgKHQtPmlzV29yZEJyZWFrKCkpIHsKLSAgICAgICAgICAgICAg
ICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJl
ZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAg
ICAgICAgICAgICBpbmxpbmVNaW4gPSAwOwogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsK
ICAgICAgICAgICAgICAgICB9CkBAIC00ODA0LDkgKzQ4MTAsOSBAQCB2b2lkIFJlbmRlckJsb2Nr
Ojpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICAgICAgLy8gdGhlbiB0aGV5IHNo
b3VsZG4ndCBiZSBjb25zaWRlcmVkIGluIHRoZSBicmVha2FibGUgY2hhcgogICAgICAgICAgICAg
ICAgIC8vIGNoZWNrLgogICAgICAgICAgICAgICAgIGJvb2wgaGFzQnJlYWthYmxlQ2hhciwgaGFz
QnJlYWs7Ci0gICAgICAgICAgICAgICAgaW50IGJlZ2luTWluLCBlbmRNaW47CisgICAgICAgICAg
ICAgICAgZmxvYXQgYmVnaW5NaW4sIGVuZE1pbjsKICAgICAgICAgICAgICAgICBib29sIGJlZ2lu
V1MsIGVuZFdTOwotICAgICAgICAgICAgICAgIGludCBiZWdpbk1heCwgZW5kTWF4OworICAgICAg
ICAgICAgICAgIGZsb2F0IGJlZ2luTWF4LCBlbmRNYXg7CiAgICAgICAgICAgICAgICAgdC0+dHJp
bW1lZFByZWZXaWR0aHMoaW5saW5lTWF4LCBiZWdpbk1pbiwgYmVnaW5XUywgZW5kTWluLCBlbmRX
UywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNCcmVha2FibGVDaGFy
LCBoYXNCcmVhaywgYmVnaW5NYXgsIGVuZE1heCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjaGlsZE1pbiwgY2hpbGRNYXgsIHN0cmlwRnJvbnRTcGFjZXMpOwpAQCAtNDgx
NCw3ICs0ODIwLDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAog
ICAgICAgICAgICAgICAgIC8vIFRoaXMgdGV4dCBvYmplY3Qgd2lsbCBub3QgYmUgcmVuZGVyZWQs
IGJ1dCBpdCBtYXkgc3RpbGwgcHJvdmlkZSBhIGJyZWFraW5nIG9wcG9ydHVuaXR5LgogICAgICAg
ICAgICAgICAgIGlmICghaGFzQnJlYWsgJiYgY2hpbGRNYXggPT0gMCkgewogICAgICAgICAgICAg
ICAgICAgICBpZiAoYXV0b1dyYXAgJiYgKGJlZ2luV1MgfHwgZW5kV1MpKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4s
IG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVw
ZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4p
OwogICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWluID0gMDsKICAgICAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTQ4NDQsMTAgKzQ4NTAs
MTAgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAg
ICAgICAgICAgICAvLyB3ZSBzdGFydCBhbmQgZW5kIHdpdGggd2hpdGVzcGFjZS4KICAgICAgICAg
ICAgICAgICAgICAgaWYgKGJlZ2luV1MpCiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBHbyBh
aGVhZCBhbmQgZW5kIHRoZSBjdXJyZW50IGxpbmUuCi0gICAgICAgICAgICAgICAgICAgICAgICBt
X21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdp
ZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAg
ICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiArPSBiZWdp
bk1pbjsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRo
ID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAg
ICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2Fs
V2lkdGgsIGlubGluZU1pbik7CiAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZE1pbiAtPSB0
aTsKICAgICAgICAgICAgICAgICAgICAgfQogCkBAIC00ODU2LDE4ICs0ODYyLDE4IEBAIHZvaWQg
UmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAgICAgICAgICAg
aWYgKGVuZFdTKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBlbmQgaW4gd2hpdGVz
cGFjZSwgd2hpY2ggbWVhbnMgd2UgY2FuIGdvIGFoZWFkCiAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBhbmQgZW5kIG91ciBjdXJyZW50IGxpbmUuCi0gICAgICAgICAgICAgICAgICAgICAgICBt
X21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdp
ZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAg
ICAgICAgICAgICAgaW5saW5lTWluID0gMDsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4
KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAg
ICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgs
IGlubGluZU1pbik7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSBlbmRNaW47
CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAg
ICAgICBpZiAoaGFzQnJlYWspIHsKICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWF4ICs9IGJl
Z2luTWF4OwotICAgICAgICAgICAgICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9
IG1heChpbmxpbmVNYXgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKTsKLSAgICAgICAgICAg
ICAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoY2hpbGRNYXgsIG1fbWF4
UHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVy
cmVkV2lkdGgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1heCk7CisgICAgICAg
ICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9naWNhbFdp
ZHRoLCBjaGlsZE1heCk7CiAgICAgICAgICAgICAgICAgICAgIGlubGluZU1heCA9IGVuZE1heDsK
ICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWF4ICs9
IGNoaWxkTWF4OwpAQCAtNDg3Nyw4ICs0ODgzLDggQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0
ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgaWYgKGNoaWxkLT5pc0xpc3RNYXJrZXIoKSkK
ICAgICAgICAgICAgICAgICBzdHJpcEZyb250U3BhY2VzID0gdHJ1ZTsKICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1p
biwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOwotICAgICAgICAgICAgbV9tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWF4LCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0
aCk7CisgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2lj
YWxXaWR0aCwgaW5saW5lTWluKTsKKyAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1f
bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNYXgpOwogICAgICAgICAgICAgaW5saW5l
TWluID0gaW5saW5lTWF4ID0gMDsKICAgICAgICAgICAgIHN0cmlwRnJvbnRTcGFjZXMgPSB0cnVl
OwogICAgICAgICAgICAgdHJhaWxpbmdTcGFjZUNoaWxkID0gMDsKQEAgLTQ4OTAsOCArNDg5Niw4
IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICBpZiAoc3R5
bGUoKS0+Y29sbGFwc2VXaGl0ZVNwYWNlKCkpCiAgICAgICAgIHN0cmlwVHJhaWxpbmdTcGFjZShp
bmxpbmVNYXgsIGlubGluZU1pbiwgdHJhaWxpbmdTcGFjZUNoaWxkKTsKIAotICAgIG1fbWluUHJl
ZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2Fs
V2lkdGgpOwotICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1heCwg
bV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1f
bWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOworICAgIHVwZGF0ZVByZWZlcnJl
ZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNYXgpOwogfQogCiAvLyBV
c2UgYSB2ZXJ5IGxhcmdlIHZhbHVlIChpbiBlZmZlY3QgaW5maW5pdGUpLgpAQCAtNTQ1Nyw5ICs1
NDYzLDkgQEAgdm9pZCBSZW5kZXJCbG9jazo6YWRqdXN0Rm9yQm9yZGVyRml0KGludAogICAgICAg
ICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkgewogICAgICAgICAgICAgZm9yIChSb290SW5saW5lQm94
KiBib3ggPSBmaXJzdFJvb3RCb3goKTsgYm94OyBib3ggPSBib3gtPm5leHRSb290Qm94KCkpIHsK
ICAgICAgICAgICAgICAgICBpZiAoYm94LT5maXJzdENoaWxkKCkpCi0gICAgICAgICAgICAgICAg
ICAgIGxlZnQgPSBtaW4obGVmdCwgeCArIGJveC0+Zmlyc3RDaGlsZCgpLT54KCkpOworICAgICAg
ICAgICAgICAgICAgICBsZWZ0ID0gbWluKGxlZnQsIHggKyBzdGF0aWNfY2FzdDxpbnQ+KGJveC0+
Zmlyc3RDaGlsZCgpLT54KCkpKTsKICAgICAgICAgICAgICAgICBpZiAoYm94LT5sYXN0Q2hpbGQo
KSkKLSAgICAgICAgICAgICAgICAgICAgcmlnaHQgPSBtYXgocmlnaHQsIHggKyBib3gtPmxhc3RD
aGlsZCgpLT54KCkgKyBib3gtPmxhc3RDaGlsZCgpLT5sb2dpY2FsV2lkdGgoKSk7CisgICAgICAg
ICAgICAgICAgICAgIHJpZ2h0ID0gbWF4KHJpZ2h0LCB4ICsgc3RhdGljX2Nhc3Q8aW50PihjZWls
Zihib3gtPmxhc3RDaGlsZCgpLT5sb2dpY2FsUmlnaHQoKSkpKTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQogICAgICAgICBlbHNlIHsKQEAgLTU3NTksOCArNTc2NSw4IEBAIHZvaWQgUmVuZGVy
QmxvY2s6OmFkZEZvY3VzUmluZ1JlY3RzKFZlY3QKIAogICAgIGlmICghaGFzT3ZlcmZsb3dDbGlw
KCkgJiYgIWhhc0NvbnRyb2xDbGlwKCkpIHsKICAgICAgICAgZm9yIChSb290SW5saW5lQm94KiBj
dXJyID0gZmlyc3RSb290Qm94KCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0Um9vdEJveCgpKSB7
Ci0gICAgICAgICAgICBpbnQgdG9wID0gbWF4KGN1cnItPmxpbmVUb3AoKSwgY3Vyci0+eSgpKTsK
LSAgICAgICAgICAgIGludCBib3R0b20gPSBtaW4oY3Vyci0+bGluZUJvdHRvbSgpLCBjdXJyLT55
KCkgKyBjdXJyLT5sb2dpY2FsSGVpZ2h0KCkpOworICAgICAgICAgICAgaW50IHRvcCA9IG1heChj
dXJyLT5saW5lVG9wKCksIGN1cnItPmxvZ2ljYWxUb3AoKSk7CisgICAgICAgICAgICBpbnQgYm90
dG9tID0gbWluKGN1cnItPmxpbmVCb3R0b20oKSwgY3Vyci0+bG9naWNhbFRvcCgpICsgY3Vyci0+
bG9naWNhbEhlaWdodCgpKTsKICAgICAgICAgICAgIEludFJlY3QgcmVjdCh0eCArIGN1cnItPngo
KSwgdHkgKyB0b3AsIGN1cnItPmxvZ2ljYWxXaWR0aCgpLCBib3R0b20gLSB0b3ApOwogICAgICAg
ICAgICAgaWYgKCFyZWN0LmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICByZWN0cy5hcHBlbmQo
cmVjdCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2aXNp
b24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkod29y
a2luZyBjb3B5KQpAQCAtNDg1LDcgKzQ4NSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNraXBU
cmFpbGluZ1doaXRlc3BhY2UoSW5saW5lSXRlcmF0b3ImLCBib29sIGlzTGluZUVtcHR5LCBib29s
IHByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSk7CiAgICAgaW50IHNraXBMZWFkaW5nV2hpdGVzcGFj
ZShJbmxpbmVCaWRpUmVzb2x2ZXImLCBib29sIGZpcnN0TGluZSwgYm9vbCBpc0xpbmVFbXB0eSwg
Ym9vbCBwcmV2aW91c0xpbmVCcm9rZUNsZWFubHksIEZsb2F0aW5nT2JqZWN0KiBsYXN0RmxvYXRG
cm9tUHJldmlvdXNMaW5lKTsKLSAgICB2b2lkIGZpdEJlbG93RmxvYXRzKGludCB3aWR0aFRvRml0
LCBib29sIGZpcnN0TGluZSwgaW50JiBhdmFpbGFibGVXaWR0aCk7CisgICAgdm9pZCBmaXRCZWxv
d0Zsb2F0cyhmbG9hdCB3aWR0aFRvRml0LCBib29sIGZpcnN0TGluZSwgZmxvYXQmIGF2YWlsYWJs
ZVdpZHRoKTsKICAgICBJbmxpbmVJdGVyYXRvciBmaW5kTmV4dExpbmVCcmVhayhJbmxpbmVCaWRp
UmVzb2x2ZXImLCBib29sIGZpcnN0TGluZSwgYm9vbCYgaXNMaW5lRW1wdHksIGJvb2wmIHByZXZp
b3VzTGluZUJyb2tlQ2xlYW5seSwgYm9vbCYgaHlwaGVuYXRlZCwgRUNsZWFyKiwgRmxvYXRpbmdP
YmplY3QqIGxhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUpOwogICAgIFJvb3RJbmxpbmVCb3gqIGNv
bnN0cnVjdExpbmUodW5zaWduZWQgcnVuQ291bnQsIEJpZGlSdW4qIGZpcnN0UnVuLCBCaWRpUnVu
KiBsYXN0UnVuLCBib29sIGZpcnN0TGluZSwgYm9vbCBsYXN0TGluZSwgUmVuZGVyT2JqZWN0KiBl
bmRPYmplY3QpOwogICAgIElubGluZUZsb3dCb3gqIGNyZWF0ZUxpbmVCb3hlcyhSZW5kZXJPYmpl
Y3QqLCBib29sIGZpcnN0TGluZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzE4LDggKzMxOCw4IEBAIFJvb3RJbmxpbmVCb3gqIFJlbmRlckJsb2NrOjpjb25z
dHJ1Y3RMaW4KIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlv
bnNGb3JMaW5lKFJvb3RJbmxpbmVCb3gqIGxpbmVCb3gsIGJvb2wgZmlyc3RMaW5lLCBCaWRpUnVu
KiBmaXJzdFJ1biwgQmlkaVJ1biogdHJhaWxpbmdTcGFjZVJ1biwgYm9vbCByZWFjaGVkRW5kLCBH
bHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYgdGV4dEJveERhdGFNYXApCiB7CiAgICAg
Ly8gRmlyc3QgZGV0ZXJtaW5lIG91ciB0b3RhbCBsb2dpY2FsIHdpZHRoLgotICAgIGludCBhdmFp
bGFibGVMb2dpY2FsV2lkdGggPSBhdmFpbGFibGVMb2dpY2FsV2lkdGhGb3JMaW5lKGxvZ2ljYWxI
ZWlnaHQoKSwgZmlyc3RMaW5lKTsKLSAgICBpbnQgdG90YWxMb2dpY2FsV2lkdGggPSBsaW5lQm94
LT5nZXRGbG93U3BhY2luZ0xvZ2ljYWxXaWR0aCgpOworICAgIGZsb2F0IGF2YWlsYWJsZUxvZ2lj
YWxXaWR0aCA9IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aEZvckxpbmUobG9naWNhbEhlaWdodCgpLCBm
aXJzdExpbmUpOworICAgIGZsb2F0IHRvdGFsTG9naWNhbFdpZHRoID0gbGluZUJveC0+Z2V0Rmxv
d1NwYWNpbmdMb2dpY2FsV2lkdGgoKTsKICAgICBib29sIG5lZWRzV29yZFNwYWNpbmcgPSBmYWxz
ZTsKICAgICB1bnNpZ25lZCBleHBhbnNpb25PcHBvcnR1bml0eUNvdW50ID0gMDsKICAgICBib29s
IGlzQWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwpAQCAtMzg2LDcgKzM4Niw3IEBAIHZvaWQgUmVuZGVy
QmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb24KICAgICAvLyB3ZSBub3cgZXhhbWluZSBvdXIg
dGV4dC1hbGlnbiBwcm9wZXJ0eSBpbiBvcmRlciB0byBkZXRlcm1pbmUgd2hlcmUgdG8gcG9zaXRp
b24gdGhlCiAgICAgLy8gb2JqZWN0cyBob3Jpem9udGFsbHkuICBUaGUgdG90YWwgd2lkdGggb2Yg
dGhlIGxpbmUgY2FuIGJlIGluY3JlYXNlZCBpZiB3ZSBlbmQgdXAKICAgICAvLyBqdXN0aWZ5aW5n
IHRleHQuCi0gICAgaW50IGxvZ2ljYWxMZWZ0ID0gbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKGxv
Z2ljYWxIZWlnaHQoKSwgZmlyc3RMaW5lKTsKKyAgICBmbG9hdCBsb2dpY2FsTGVmdCA9IGxvZ2lj
YWxMZWZ0T2Zmc2V0Rm9yTGluZShsb2dpY2FsSGVpZ2h0KCksIGZpcnN0TGluZSk7CiAgICAgc3dp
dGNoICh0ZXh0QWxpZ24pIHsKICAgICAgICAgY2FzZSBMRUZUOgogICAgICAgICBjYXNlIFdFQktJ
VF9MRUZUOgpAQCAtMzk0LDcgKzM5NCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxp
bmVEaXJlY3Rpb24KICAgICAgICAgICAgIC8vIHBhcnRpY3VsYXIgd2l0aCBSVEwgYmxvY2tzLCB3
aWRlIGxpbmVzIHNob3VsZCBzdGlsbCBzcGlsbCBvdXQgdG8gdGhlIGxlZnQuCiAgICAgICAgICAg
ICBpZiAoc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKSB7CiAgICAgICAgICAgICAg
ICAgaWYgKHRvdGFsTG9naWNhbFdpZHRoID4gYXZhaWxhYmxlTG9naWNhbFdpZHRoICYmIHRyYWls
aW5nU3BhY2VSdW4pCi0gICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94
LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAsIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2Fs
V2lkdGgoKSAtIHRvdGFsTG9naWNhbFdpZHRoICsgYXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lk
dGgobWF4KDAuZiwgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpIC0gdG90
YWxMb2dpY2FsV2lkdGggKyBhdmFpbGFibGVMb2dpY2FsV2lkdGgpKTsKICAgICAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKHRyYWlsaW5nU3BhY2VSdW4pCiAgICAgICAgICAg
ICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgoMCk7CkBA
IC00MTYsNyArNDE2LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlv
bgogICAgICAgICAgICAgLy8gZm9yIHJpZ2h0IHRvIGxlZnQgZmFsbCB0aHJvdWdoIHRvIHJpZ2h0
IGFsaWduZWQKICAgICAgICAgICAgIGlmIChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9u
KCkpIHsKICAgICAgICAgICAgICAgICBpZiAodG90YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFibGVM
b2dpY2FsV2lkdGggJiYgdHJhaWxpbmdTcGFjZVJ1bikKLSAgICAgICAgICAgICAgICAgICAgdHJh
aWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXgoMCwgdHJhaWxpbmdTcGFj
ZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFpbGFi
bGVMb2dpY2FsV2lkdGgpKTsKKyAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+
bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXgoMC5mLCB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+
bG9naWNhbFdpZHRoKCkgLSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2ljYWxXaWR0
aCkpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICBjYXNl
IFJJR0hUOgpAQCAtNDI3LDEzICs0MjcsMTMgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlu
bGluZURpcmVjdGlvbgogICAgICAgICAgICAgaWYgKHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJl
Y3Rpb24oKSkgewogICAgICAgICAgICAgICAgIGlmICh0cmFpbGluZ1NwYWNlUnVuKSB7CiAgICAg
ICAgICAgICAgICAgICAgIHRvdGFsTG9naWNhbFdpZHRoIC09IHRyYWlsaW5nU3BhY2VSdW4tPm1f
Ym94LT5sb2dpY2FsV2lkdGgoKTsKLSAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1
bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aCgwKTsKKyAgICAgICAgICAgICAgICAgICAgdHJhaWxp
bmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aCgwLmYpOwogICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICBpZiAodG90YWxMb2dpY2FsV2lkdGggPCBhdmFpbGFibGVMb2dp
Y2FsV2lkdGgpCiAgICAgICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IGF2YWlsYWJsZUxv
Z2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoOwogICAgICAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICAgICAgICBpZiAodG90YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFibGVMb2dpY2FsV2lk
dGggJiYgdHJhaWxpbmdTcGFjZVJ1bikgewotICAgICAgICAgICAgICAgICAgICB0cmFpbGluZ1Nw
YWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgwLCB0cmFpbGluZ1NwYWNlUnVuLT5t
X2JveC0+bG9naWNhbFdpZHRoKCkgLSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2lj
YWxXaWR0aCkpOworICAgICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+
c2V0TG9naWNhbFdpZHRoKG1heCgwLmYsIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2Fs
V2lkdGgoKSAtIHRvdGFsTG9naWNhbFdpZHRoICsgYXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7CiAg
ICAgICAgICAgICAgICAgICAgIHRvdGFsTG9naWNhbFdpZHRoIC09IHRyYWlsaW5nU3BhY2VSdW4t
Pm1fYm94LT5sb2dpY2FsV2lkdGgoKTsKICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAg
ICAgICAgICAgICAgbG9naWNhbExlZnQgKz0gYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxM
b2dpY2FsV2lkdGg7CkBAIC00NDEsMTQgKzQ0MSwxNCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21w
dXRlSW5saW5lRGlyZWN0aW9uCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDRU5U
RVI6CiAgICAgICAgIGNhc2UgV0VCS0lUX0NFTlRFUjoKLSAgICAgICAgICAgIGludCB0cmFpbGlu
Z1NwYWNlV2lkdGggPSAwOworICAgICAgICAgICAgZmxvYXQgdHJhaWxpbmdTcGFjZVdpZHRoID0g
MC5mOwogICAgICAgICAgICAgaWYgKHRyYWlsaW5nU3BhY2VSdW4pIHsKICAgICAgICAgICAgICAg
ICB0b3RhbExvZ2ljYWxXaWR0aCAtPSB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdp
ZHRoKCk7CiAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVdpZHRoID0gbWluKHRyYWlsaW5n
U3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSwgKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAt
IHRvdGFsTG9naWNhbFdpZHRoICsgMSkgLyAyKTsKLSAgICAgICAgICAgICAgICB0cmFpbGluZ1Nw
YWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgwLCB0cmFpbGluZ1NwYWNlV2lkdGgp
KTsKKyAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdp
ZHRoKG1heCgwLmYsIHRyYWlsaW5nU3BhY2VXaWR0aCkpOwogICAgICAgICAgICAgfQogICAgICAg
ICAgICAgaWYgKHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKLSAgICAgICAgICAg
ICAgICBsb2dpY2FsTGVmdCArPSBtYXgoKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9n
aWNhbFdpZHRoKSAvIDIsIDApOworICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IG1heCgo
YXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpIC8gMi5mLCAwLmYpOwog
ICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IHRvdGFsTG9n
aWNhbFdpZHRoID4gYXZhaWxhYmxlTG9naWNhbFdpZHRoID8gKGF2YWlsYWJsZUxvZ2ljYWxXaWR0
aCAtIHRvdGFsTG9naWNhbFdpZHRoKSA6IChhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExv
Z2ljYWxXaWR0aCkgLyAyIC0gdHJhaWxpbmdTcGFjZVdpZHRoOwogICAgICAgICAgICAgYnJlYWs7
CkBAIC00NjgsNyArNDY4LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVj
dGlvbgogICAgICAgICAgICAgICAgIC8vIE9ubHkganVzdGlmeSB0ZXh0IGlmIHdoaXRlc3BhY2Ug
aXMgY29sbGFwc2VkLgogICAgICAgICAgICAgICAgIGlmIChyLT5tX29iamVjdC0+c3R5bGUoKS0+
Y29sbGFwc2VXaGl0ZVNwYWNlKCkpIHsKICAgICAgICAgICAgICAgICAgICAgSW5saW5lVGV4dEJv
eCogdGV4dEJveCA9IHN0YXRpY19jYXN0PElubGluZVRleHRCb3gqPihyLT5tX2JveCk7Ci0gICAg
ICAgICAgICAgICAgICAgIGludCBleHBhbnNpb24gPSAoYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0g
dG90YWxMb2dpY2FsV2lkdGgpICogb3Bwb3J0dW5pdGllc0luUnVuIC8gZXhwYW5zaW9uT3Bwb3J0
dW5pdHlDb3VudDsKKyAgICAgICAgICAgICAgICAgICAgZmxvYXQgZXhwYW5zaW9uID0gKGF2YWls
YWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoKSAqIG9wcG9ydHVuaXRpZXNJblJ1
biAvIGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQ7CiAgICAgICAgICAgICAgICAgICAgIHRleHRC
b3gtPnNldEV4cGFuc2lvbihleHBhbnNpb24pOwogICAgICAgICAgICAgICAgICAgICB0b3RhbExv
Z2ljYWxXaWR0aCArPSBleHBhbnNpb247CiAgICAgICAgICAgICAgICAgfQpAQCAtMTM2OCwxMyAr
MTM2OCwxMyBAQCBzdGF0aWMgYm9vbCBzaG91bGRTa2lwV2hpdGVzcGFjZUFmdGVyU3RhCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCi12b2lkIFJlbmRlckJsb2NrOjpmaXRCZWxvd0Zsb2F0cyhpbnQg
d2lkdGhUb0ZpdCwgYm9vbCBmaXJzdExpbmUsIGludCYgYXZhaWxhYmxlV2lkdGgpCit2b2lkIFJl
bmRlckJsb2NrOjpmaXRCZWxvd0Zsb2F0cyhmbG9hdCB3aWR0aFRvRml0LCBib29sIGZpcnN0TGlu
ZSwgZmxvYXQmIGF2YWlsYWJsZVdpZHRoKQogewogICAgIEFTU0VSVCh3aWR0aFRvRml0ID4gYXZh
aWxhYmxlV2lkdGgpOwogCiAgICAgaW50IGZsb2F0TG9naWNhbEJvdHRvbTsKICAgICBpbnQgbGFz
dEZsb2F0TG9naWNhbEJvdHRvbSA9IGxvZ2ljYWxIZWlnaHQoKTsKLSAgICBpbnQgbmV3TGluZVdp
ZHRoID0gYXZhaWxhYmxlV2lkdGg7CisgICAgZmxvYXQgbmV3TGluZVdpZHRoID0gYXZhaWxhYmxl
V2lkdGg7CiAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgZmxvYXRMb2dpY2FsQm90dG9tID0g
bmV4dEZsb2F0TG9naWNhbEJvdHRvbUJlbG93KGxhc3RGbG9hdExvZ2ljYWxCb3R0b20pOwogICAg
ICAgICBpZiAoIWZsb2F0TG9naWNhbEJvdHRvbSkKQEAgLTEzOTIsMTkgKzEzOTIsMTkgQEAgdm9p
ZCBSZW5kZXJCbG9jazo6Zml0QmVsb3dGbG9hdHMoaW50IHdpZAogICAgIH0KIH0KIAotc3RhdGlj
IGlubGluZSB1bnNpZ25lZCB0ZXh0V2lkdGgoUmVuZGVyVGV4dCogdGV4dCwgdW5zaWduZWQgZnJv
bSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmb250LCBpbnQgeFBvcywgYm9vbCBpc0ZpeGVk
UGl0Y2gsIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlKQorc3RhdGljIGlubGluZSBmbG9hdCB0ZXh0
V2lkdGgoUmVuZGVyVGV4dCogdGV4dCwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25z
dCBGb250JiBmb250LCBmbG9hdCB4UG9zLCBib29sIGlzRml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBz
ZVdoaXRlU3BhY2UpCiB7CiAgICAgaWYgKGlzRml4ZWRQaXRjaCB8fCAoIWZyb20gJiYgbGVuID09
IHRleHQtPnRleHRMZW5ndGgoKSkgfHwgdGV4dC0+c3R5bGUoKS0+aGFzVGV4dENvbWJpbmUoKSkK
ICAgICAgICAgcmV0dXJuIHRleHQtPndpZHRoKGZyb20sIGxlbiwgZm9udCwgeFBvcyk7CiAgICAg
cmV0dXJuIGZvbnQud2lkdGgoVGV4dFJ1bih0ZXh0LT5jaGFyYWN0ZXJzKCkgKyBmcm9tLCBsZW4s
ICFjb2xsYXBzZVdoaXRlU3BhY2UsIHhQb3MpKTsKIH0KIAotc3RhdGljIHZvaWQgdHJ5SHlwaGVu
YXRpbmcoUmVuZGVyVGV4dCogdGV4dCwgY29uc3QgRm9udCYgZm9udCwgY29uc3QgQXRvbWljU3Ry
aW5nJiBsb2NhbGVJZGVudGlmaWVyLCBpbnQgbGFzdFNwYWNlLCBpbnQgcG9zLCBpbnQgeFBvcywg
aW50IGF2YWlsYWJsZVdpZHRoLCBib29sIGlzRml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRl
U3BhY2UsIGludCBsYXN0U3BhY2VXb3JkU3BhY2luZywgSW5saW5lSXRlcmF0b3ImIGxpbmVCcmVh
aywgaW50IG5leHRCcmVha2FibGUsIGJvb2wmIGh5cGhlbmF0ZWQpCitzdGF0aWMgdm9pZCB0cnlI
eXBoZW5hdGluZyhSZW5kZXJUZXh0KiB0ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25zdCBBdG9t
aWNTdHJpbmcmIGxvY2FsZUlkZW50aWZpZXIsIGludCBsYXN0U3BhY2UsIGludCBwb3MsIGZsb2F0
IHhQb3MsIGludCBhdmFpbGFibGVXaWR0aCwgYm9vbCBpc0ZpeGVkUGl0Y2gsIGJvb2wgY29sbGFw
c2VXaGl0ZVNwYWNlLCBpbnQgbGFzdFNwYWNlV29yZFNwYWNpbmcsIElubGluZUl0ZXJhdG9yJiBs
aW5lQnJlYWssIGludCBuZXh0QnJlYWthYmxlLCBib29sJiBoeXBoZW5hdGVkKQogewogICAgIGNv
bnN0IEF0b21pY1N0cmluZyYgaHlwaGVuU3RyaW5nID0gdGV4dC0+c3R5bGUoKS0+aHlwaGVuU3Ry
aW5nKCk7CiAgICAgaW50IGh5cGhlbldpZHRoID0gZm9udC53aWR0aChUZXh0UnVuKGh5cGhlblN0
cmluZy5jaGFyYWN0ZXJzKCksIGh5cGhlblN0cmluZy5sZW5ndGgoKSkpOwogCi0gICAgaW50IG1h
eFByZWZpeFdpZHRoID0gYXZhaWxhYmxlV2lkdGggLSB4UG9zIC0gaHlwaGVuV2lkdGggLSBsYXN0
U3BhY2VXb3JkU3BhY2luZzsKKyAgICBmbG9hdCBtYXhQcmVmaXhXaWR0aCA9IGF2YWlsYWJsZVdp
ZHRoIC0geFBvcyAtIGh5cGhlbldpZHRoIC0gbGFzdFNwYWNlV29yZFNwYWNpbmc7CiAgICAgLy8g
SWYgdGhlIG1heGltdW0gd2lkdGggYXZhaWxhYmxlIGZvciB0aGUgcHJlZml4IGJlZm9yZSB0aGUg
aHlwaGVuIGlzIHNtYWxsLCB0aGVuIGl0IGlzIHZlcnkgdW5saWtlbHkKICAgICAvLyB0aGF0IGFu
IGh5cGhlbmF0aW9uIG9wcG9ydHVuaXR5IGV4aXN0cywgc28gZG8gbm90IGJvdGhlciB0byBsb29r
IGZvciBpdC4KICAgICBpZiAobWF4UHJlZml4V2lkdGggPD0gZm9udC5waXhlbFNpemUoKSAqIDUg
LyA0KQpAQCAtMTQxOSw3ICsxNDE5LDcgQEAgc3RhdGljIHZvaWQgdHJ5SHlwaGVuYXRpbmcoUmVu
ZGVyVGV4dCogdAogICAgICAgICByZXR1cm47CiAKICNpZiAhQVNTRVJUX0RJU0FCTEVECi0gICAg
aW50IHByZWZpeFdpZHRoID0gaHlwaGVuV2lkdGggKyB0ZXh0V2lkdGgodGV4dCwgbGFzdFNwYWNl
LCBwcmVmaXhMZW5ndGgsIGZvbnQsIHhQb3MsIGlzRml4ZWRQaXRjaCwgY29sbGFwc2VXaGl0ZVNw
YWNlKSArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOworICAgIGZsb2F0IHByZWZpeFdpZHRoID0gaHlw
aGVuV2lkdGggKyB0ZXh0V2lkdGgodGV4dCwgbGFzdFNwYWNlLCBwcmVmaXhMZW5ndGgsIGZvbnQs
IHhQb3MsIGlzRml4ZWRQaXRjaCwgY29sbGFwc2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRT
cGFjaW5nOwogICAgIEFTU0VSVCh4UG9zICsgcHJlZml4V2lkdGggPD0gYXZhaWxhYmxlV2lkdGgp
OwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oaXNGaXhlZFBpdGNoKTsKQEAgLTE0MzksMTAgKzE0
MzksMTAgQEAgSW5saW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZQogICAgIGJv
b2wgYXBwbGllZFN0YXJ0V2lkdGggPSByZXNvbHZlci5wb3NpdGlvbigpLnBvcyA+IDA7CiAgICAg
TGluZU1pZHBvaW50U3RhdGUmIGxpbmVNaWRwb2ludFN0YXRlID0gcmVzb2x2ZXIubWlkcG9pbnRT
dGF0ZSgpOwogICAgIAotICAgIGludCB3aWR0aCA9IHNraXBMZWFkaW5nV2hpdGVzcGFjZShyZXNv
bHZlciwgZmlyc3RMaW5lLCBpc0xpbmVFbXB0eSwgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBs
YXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lKTsKKyAgICBmbG9hdCB3aWR0aCA9IHNraXBMZWFkaW5n
V2hpdGVzcGFjZShyZXNvbHZlciwgZmlyc3RMaW5lLCBpc0xpbmVFbXB0eSwgcHJldmlvdXNMaW5l
QnJva2VDbGVhbmx5LCBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lKTsKIAotICAgIGludCB3ID0g
MDsKLSAgICBpbnQgdG1wVyA9IDA7CisgICAgZmxvYXQgdyA9IDA7CisgICAgZmxvYXQgdG1wVyA9
IDA7CiAKICAgICBpZiAocmVzb2x2ZXIucG9zaXRpb24oKS5hdEVuZCgpKQogICAgICAgICByZXR1
cm4gcmVzb2x2ZXIucG9zaXRpb24oKTsKQEAgLTE0NjEsOCArMTQ2MSw4IEBAIElubGluZUl0ZXJh
dG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4dExpbmUKIAogICAgIElubGluZUl0ZXJhdG9yIGxCcmVh
ayA9IHJlc29sdmVyLnBvc2l0aW9uKCk7CiAKLSAgICBSZW5kZXJPYmplY3QgKm8gPSByZXNvbHZl
ci5wb3NpdGlvbigpLm9iajsKLSAgICBSZW5kZXJPYmplY3QgKmxhc3QgPSBvOworICAgIFJlbmRl
ck9iamVjdCogbyA9IHJlc29sdmVyLnBvc2l0aW9uKCkub2JqOworICAgIFJlbmRlck9iamVjdCog
bGFzdCA9IG87CiAgICAgdW5zaWduZWQgcG9zID0gcmVzb2x2ZXIucG9zaXRpb24oKS5wb3M7CiAg
ICAgaW50IG5leHRCcmVha2FibGUgPSByZXNvbHZlci5wb3NpdGlvbigpLm5leHRCcmVha2FibGVQ
b3NpdGlvbjsKICAgICBib29sIGF0U3RhcnQgPSB0cnVlOwpAQCAtMTY1OSwyMiArMTY1OSwyMiBA
QCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9jazo6ZmluZE5leHRMaW5lCiAgICAgICAgICAgICBi
b29sIGNhbkh5cGhlbmF0ZSA9IHN0eWxlLT5oeXBoZW5zKCkgPT0gSHlwaGVuc0F1dG8gJiYgV2Vi
Q29yZTo6Y2FuSHlwaGVuYXRlKHN0eWxlLT5oeXBoZW5hdGlvbkxvY2FsZSgpKTsKIAogICAgICAg
ICAgICAgaW50IGxhc3RTcGFjZSA9IHBvczsKLSAgICAgICAgICAgIGludCB3b3JkU3BhY2luZyA9
IG8tPnN0eWxlKCktPndvcmRTcGFjaW5nKCk7Ci0gICAgICAgICAgICBpbnQgbGFzdFNwYWNlV29y
ZFNwYWNpbmcgPSAwOworICAgICAgICAgICAgZmxvYXQgd29yZFNwYWNpbmcgPSBvLT5zdHlsZSgp
LT53b3JkU3BhY2luZygpOworICAgICAgICAgICAgZmxvYXQgbGFzdFNwYWNlV29yZFNwYWNpbmcg
PSAwOwogCiAgICAgICAgICAgICAvLyBOb24temVybyBvbmx5IHdoZW4ga2VybmluZyBpcyBlbmFi
bGVkLCBpbiB3aGljaCBjYXNlIHdlIG1lYXN1cmUgd29yZHMgd2l0aCB0aGVpciB0cmFpbGluZwog
ICAgICAgICAgICAgLy8gc3BhY2UsIHRoZW4gc3VidHJhY3QgaXRzIHdpZHRoLgotICAgICAgICAg
ICAgaW50IHdvcmRUcmFpbGluZ1NwYWNlV2lkdGggPSBmLnR5cGVzZXR0aW5nRmVhdHVyZXMoKSAm
IEtlcm5pbmcgPyBmLndpZHRoKFRleHRSdW4oJnNwYWNlLCAxKSkgKyB3b3JkU3BhY2luZyA6IDA7
CisgICAgICAgICAgICBmbG9hdCB3b3JkVHJhaWxpbmdTcGFjZVdpZHRoID0gZi50eXBlc2V0dGlu
Z0ZlYXR1cmVzKCkgJiBLZXJuaW5nID8gZi53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpICsgd29y
ZFNwYWNpbmcgOiAwOwogCi0gICAgICAgICAgICBpbnQgd3JhcFcgPSB0bXBXICsgaW5saW5lTG9n
aWNhbFdpZHRoKG8sICFhcHBsaWVkU3RhcnRXaWR0aCwgdHJ1ZSk7Ci0gICAgICAgICAgICBpbnQg
Y2hhcldpZHRoID0gMDsKKyAgICAgICAgICAgIGZsb2F0IHdyYXBXID0gdG1wVyArIGlubGluZUxv
Z2ljYWxXaWR0aChvLCAhYXBwbGllZFN0YXJ0V2lkdGgsIHRydWUpOworICAgICAgICAgICAgZmxv
YXQgY2hhcldpZHRoID0gMDsKICAgICAgICAgICAgIGJvb2wgYnJlYWtOQlNQID0gYXV0b1dyYXAg
JiYgby0+c3R5bGUoKS0+bmJzcE1vZGUoKSA9PSBTUEFDRTsKICAgICAgICAgICAgIC8vIEF1dG8t
d3JhcHBpbmcgdGV4dCBzaG91bGQgd3JhcCBpbiB0aGUgbWlkZGxlIG9mIGEgd29yZCBvbmx5IGlm
IGl0IGNvdWxkIG5vdCB3cmFwIGJlZm9yZSB0aGUgd29yZCwKICAgICAgICAgICAgIC8vIHdoaWNo
IGlzIG9ubHkgcG9zc2libGUgaWYgdGhlIHdvcmQgaXMgdGhlIGZpcnN0IHRoaW5nIG9uIHRoZSBs
aW5lLCB0aGF0IGlzLCBpZiB8d3wgaXMgemVyby4KICAgICAgICAgICAgIGJvb2wgYnJlYWtXb3Jk
cyA9IG8tPnN0eWxlKCktPmJyZWFrV29yZHMoKSAmJiAoKGF1dG9XcmFwICYmICF3KSB8fCBjdXJy
V1MgPT0gUFJFKTsKICAgICAgICAgICAgIGJvb2wgbWlkV29yZEJyZWFrID0gZmFsc2U7CiAgICAg
ICAgICAgICBib29sIGJyZWFrQWxsID0gby0+c3R5bGUoKS0+d29yZEJyZWFrKCkgPT0gQnJlYWtB
bGxXb3JkQnJlYWsgJiYgYXV0b1dyYXA7Ci0gICAgICAgICAgICBpbnQgaHlwaGVuV2lkdGggPSAw
OworICAgICAgICAgICAgZmxvYXQgaHlwaGVuV2lkdGggPSAwOwogCiAgICAgICAgICAgICBpZiAo
dC0+aXNXb3JkQnJlYWsoKSkgewogICAgICAgICAgICAgICAgIHcgKz0gdG1wVzsKQEAgLTE3NDMs
NyArMTc0Myw3IEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4dExpbmUKICAg
ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogCi0gICAgICAg
ICAgICAgICAgICAgIGludCBhZGRpdGlvbmFsVG1wVzsKKyAgICAgICAgICAgICAgICAgICAgZmxv
YXQgYWRkaXRpb25hbFRtcFc7CiAgICAgICAgICAgICAgICAgICAgIGlmICh3b3JkVHJhaWxpbmdT
cGFjZVdpZHRoICYmIGN1cnJlbnRDaGFyYWN0ZXJJc1NwYWNlKQogICAgICAgICAgICAgICAgICAg
ICAgICAgYWRkaXRpb25hbFRtcFcgPSB0ZXh0V2lkdGgodCwgbGFzdFNwYWNlLCBwb3MgKyAxIC0g
bGFzdFNwYWNlLCBmLCB3ICsgdG1wVywgaXNGaXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3BhY2Up
IC0gd29yZFRyYWlsaW5nU3BhY2VXaWR0aCArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOwogICAgICAg
ICAgICAgICAgICAgICBlbHNlCkBAIC0xODkzLDcgKzE4OTMsNyBAQCBJbmxpbmVJdGVyYXRvciBS
ZW5kZXJCbG9jazo6ZmluZE5leHRMaW5lCiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8v
IElNUE9SVEFOVDogcG9zIGlzID4gbGVuZ3RoIGhlcmUhCi0gICAgICAgICAgICBpbnQgYWRkaXRp
b25hbFRtcFcgPSBpZ25vcmluZ1NwYWNlcyA/IDAgOiB0ZXh0V2lkdGgodCwgbGFzdFNwYWNlLCBw
b3MgLSBsYXN0U3BhY2UsIGYsIHcgKyB0bXBXLCBpc0ZpeGVkUGl0Y2gsIGNvbGxhcHNlV2hpdGVT
cGFjZSkgKyBsYXN0U3BhY2VXb3JkU3BhY2luZzsKKyAgICAgICAgICAgIGZsb2F0IGFkZGl0aW9u
YWxUbXBXID0gaWdub3JpbmdTcGFjZXMgPyAwIDogdGV4dFdpZHRoKHQsIGxhc3RTcGFjZSwgcG9z
IC0gbGFzdFNwYWNlLCBmLCB3ICsgdG1wVywgaXNGaXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3Bh
Y2UpICsgbGFzdFNwYWNlV29yZFNwYWNpbmc7CiAgICAgICAgICAgICB0bXBXICs9IGFkZGl0aW9u
YWxUbXBXOwogICAgICAgICAgICAgdG1wVyArPSBpbmxpbmVMb2dpY2FsV2lkdGgobywgIWFwcGxp
ZWRTdGFydFdpZHRoLCB0cnVlKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMjksNyArMTMyOSw3IEBAIHZvaWQgUmVu
ZGVyQm94Ojpwb3NpdGlvbkxpbmVCb3goSW5saW5lQm8KICAgICAgICAgYm94LT5yZW1vdmUoKTsK
ICAgICAgICAgYm94LT5kZXN0cm95KHJlbmRlckFyZW5hKCkpOwogICAgIH0gZWxzZSBpZiAoaXNS
ZXBsYWNlZCgpKSB7Ci0gICAgICAgIHNldExvY2F0aW9uKGJveC0+eCgpLCBib3gtPnkoKSk7Cisg
ICAgICAgIHNldExvY2F0aW9uKGxyb3VuZGYoYm94LT54KCkpLCBscm91bmRmKGJveC0+eSgpKSk7
CiAgICAgICAgIG1faW5saW5lQm94V3JhcHBlciA9IGJveDsKICAgICB9CiB9CkBAIC0zMzQ4LDYg
KzMzNDgsMjQgQEAgSW50U2l6ZSBSZW5kZXJCb3g6OmZsaXBGb3JXcml0aW5nTW9kZShjbwogICAg
IHJldHVybiBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gSW50U2l6ZShvZmZz
ZXQud2lkdGgoKSwgaGVpZ2h0KCkgLSBvZmZzZXQuaGVpZ2h0KCkpIDogSW50U2l6ZSh3aWR0aCgp
IC0gb2Zmc2V0LndpZHRoKCksIG9mZnNldC5oZWlnaHQoKSk7CiB9CiAKK0Zsb2F0UG9pbnQgUmVu
ZGVyQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24pIGNv
bnN0Cit7CisgICAgaWYgKCFzdHlsZSgpLT5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQor
ICAgICAgICByZXR1cm4gcG9zaXRpb247CisgICAgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkgPyBGbG9hdFBvaW50KHBvc2l0aW9uLngoKSwgaGVpZ2h0KCkgLSBwb3Np
dGlvbi55KCkpIDogRmxvYXRQb2ludCh3aWR0aCgpIC0gcG9zaXRpb24ueCgpLCBwb3NpdGlvbi55
KCkpOworfQorCit2b2lkIFJlbmRlckJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0UmVjdCYg
cmVjdCkgY29uc3QKK3sKKyAgICBpZiAoIXN0eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdN
b2RlKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChzdHlsZSgpLT5pc0hvcml6b250YWxX
cml0aW5nTW9kZSgpKQorICAgICAgICByZWN0LnNldFkoaGVpZ2h0KCkgLSByZWN0Lm1heFkoKSk7
CisgICAgZWxzZQorICAgICAgICByZWN0LnNldFgod2lkdGgoKSAtIHJlY3QubWF4WCgpKTsKK30K
KwogSW50U2l6ZSBSZW5kZXJCb3g6OmxvY2F0aW9uT2Zmc2V0SW5jbHVkaW5nRmxpcHBpbmcoKSBj
b25zdAogewogICAgIGlmICghcGFyZW50KCkgfHwgIXBhcmVudCgpLT5pc0JveCgpKQpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4NSw2
ICszODUsOCBAQCBwdWJsaWM6CiAgICAgSW50UG9pbnQgZmxpcEZvcldyaXRpbmdNb2RlSW5jbHVk
aW5nQ29sdW1ucyhjb25zdCBJbnRQb2ludCYpIGNvbnN0OwogICAgIEludFNpemUgZmxpcEZvcldy
aXRpbmdNb2RlKGNvbnN0IEludFNpemUmKSBjb25zdDsKICAgICB2b2lkIGZsaXBGb3JXcml0aW5n
TW9kZShJbnRSZWN0JikgY29uc3Q7CisgICAgRmxvYXRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUo
Y29uc3QgRmxvYXRQb2ludCYpIGNvbnN0OworICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEZs
b2F0UmVjdCYpIGNvbnN0OwogICAgIEludFNpemUgbG9jYXRpb25PZmZzZXRJbmNsdWRpbmdGbGlw
cGluZygpIGNvbnN0OwogCiAgICAgSW50UmVjdCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0Rm9y
UHJvcGFnYXRpb24oUmVuZGVyU3R5bGUqKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0LmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01Miw3ICs1Miw3IEBAIHZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OnNldFRleHRJbnRl
cm5hbCgKICAgICBtX25lZWRzRm9udFVwZGF0ZSA9IHRydWU7CiB9CiAKLXVuc2lnbmVkIFJlbmRl
ckNvbWJpbmVUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0
IEZvbnQmIGZvbnQsIGludCB4UG9zaXRpb24sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEq
PiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKK2Zs
b2F0IFJlbmRlckNvbWJpbmVUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5n
dGgsIGNvbnN0IEZvbnQmIGZvbnQsIGZsb2F0IHhQb3NpdGlvbiwgSGFzaFNldDxjb25zdCBTaW1w
bGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93
KSBjb25zdAogewogICAgIGlmICghY2hhcmFjdGVycygpKQogICAgICAgICByZXR1cm4gMDsKQEAg
LTYzLDcgKzYzLDcgQEAgdW5zaWduZWQgUmVuZGVyQ29tYmluZVRleHQ6OndpZHRoKHVuc2lnbgog
ICAgIHJldHVybiBSZW5kZXJUZXh0Ojp3aWR0aChmcm9tLCBsZW5ndGgsIGZvbnQsIHhQb3NpdGlv
biwgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxvdyk7CiB9CiAKLXZvaWQgUmVuZGVyQ29tYmlu
ZVRleHQ6OmFkanVzdFRleHRPcmlnaW4oSW50UG9pbnQmIHRleHRPcmlnaW4sIGNvbnN0IEludFJl
Y3QmIGJveFJlY3QpIGNvbnN0Cit2b2lkIFJlbmRlckNvbWJpbmVUZXh0OjphZGp1c3RUZXh0T3Jp
Z2luKEZsb2F0UG9pbnQmIHRleHRPcmlnaW4sIGNvbnN0IEZsb2F0UmVjdCYgYm94UmVjdCkgY29u
c3QKIHsKICAgICBpZiAobV9pc0NvbWJpbmVkKQogICAgICAgICB0ZXh0T3JpZ2luLm1vdmUoYm94
UmVjdC5oZWlnaHQoKSAvIDIgLSBjZWlsZihtX2NvbWJpbmVkVGV4dFdpZHRoKSAvIDIsIHN0eWxl
KCktPmZvbnQoKS5waXhlbFNpemUoKSk7CkBAIC05OCw3ICs5OCw3IEBAIHZvaWQgUmVuZGVyQ29t
YmluZVRleHQ6OmNvbWJpbmVUZXh0KCkKICAgICBib29sIHNob3VsZFVwZGF0ZUZvbnQgPSBmYWxz
ZTsKIAogICAgIGRlc2NyaXB0aW9uLnNldE9yaWVudGF0aW9uKEhvcml6b250YWwpOyAvLyBXZSBh
cmUgZ29pbmcgdG8gZHJhdyBjb21iaW5lZCB0ZXh0IGhvcml6b250YWxseS4KLSAgICBtX2NvbWJp
bmVkVGV4dFdpZHRoID0gc3R5bGUoKS0+Zm9udCgpLmZsb2F0V2lkdGgocnVuKTsKKyAgICBtX2Nv
bWJpbmVkVGV4dFdpZHRoID0gc3R5bGUoKS0+Zm9udCgpLndpZHRoKHJ1bik7CiAgICAgbV9pc0Nv
bWJpbmVkID0gbV9jb21iaW5lZFRleHRXaWR0aCA8PSBlbVdpZHRoOwogCiAgICAgaWYgKG1faXND
b21iaW5lZCkKQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIFJlbmRlckNvbWJpbmVUZXh0Ojpjb21i
aW5lVGV4dCgpCiAgICAgICAgICAgICBkZXNjcmlwdGlvbi5zZXRXaWR0aFZhcmlhbnQod2lkdGhW
YXJpYW50c1tpXSk7CiAgICAgICAgICAgICBGb250IGNvbXByZXNzZWRGb250ID0gRm9udChkZXNj
cmlwdGlvbiwgc3R5bGUoKS0+Zm9udCgpLmxldHRlclNwYWNpbmcoKSwgc3R5bGUoKS0+Zm9udCgp
LndvcmRTcGFjaW5nKCkpOwogICAgICAgICAgICAgY29tcHJlc3NlZEZvbnQudXBkYXRlKHN0eWxl
KCktPmZvbnQoKS5mb250U2VsZWN0b3IoKSk7Ci0gICAgICAgICAgICBmbG9hdCBydW5XaWR0aCA9
IGNvbXByZXNzZWRGb250LmZsb2F0V2lkdGgocnVuKTsKKyAgICAgICAgICAgIGZsb2F0IHJ1bldp
ZHRoID0gY29tcHJlc3NlZEZvbnQud2lkdGgocnVuKTsKICAgICAgICAgICAgIGlmIChydW5XaWR0
aCA8PSBlbVdpZHRoKSB7CiAgICAgICAgICAgICAgICAgbV9jb21iaW5lZFRleHRXaWR0aCA9IHJ1
bldpZHRoOwogICAgICAgICAgICAgICAgIG1faXNDb21iaW5lZCA9IHRydWU7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuaAkocmV2aXNpb24gNzgz
NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuaAkod29y
a2luZyBjb3B5KQpAQCAtMzAsMTMgKzMwLDEzIEBAIHB1YmxpYzoKICAgICBSZW5kZXJDb21iaW5l
VGV4dChOb2RlKiwgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPik7CiAKICAgICB2b2lkIGNvbWJpbmVU
ZXh0KCk7Ci0gICAgdm9pZCBhZGp1c3RUZXh0T3JpZ2luKEludFBvaW50JiB0ZXh0T3JpZ2luLCBj
b25zdCBJbnRSZWN0JiBib3hSZWN0KSBjb25zdDsKKyAgICB2b2lkIGFkanVzdFRleHRPcmlnaW4o
RmxvYXRQb2ludCYgdGV4dE9yaWdpbiwgY29uc3QgRmxvYXRSZWN0JiBib3hSZWN0KSBjb25zdDsK
ICAgICB2b2lkIGNoYXJhY3RlcnNUb1JlbmRlcihpbnQgc3RhcnQsIGNvbnN0IFVDaGFyKiYgY2hh
cmFjdGVycywgaW50JiBsZW5ndGgpIGNvbnN0OwogICAgIGJvb2wgaXNDb21iaW5lZCgpIGNvbnN0
IHsgcmV0dXJuIG1faXNDb21iaW5lZDsgfQotICAgIGludCBjb21iaW5lZFRleHRXaWR0aChjb25z
dCBGb250JiBmb250KSBjb25zdCB7IHJldHVybiBmb250LnNpemUoKTsgfQorICAgIGZsb2F0IGNv
bWJpbmVkVGV4dFdpZHRoKGNvbnN0IEZvbnQmIGZvbnQpIGNvbnN0IHsgcmV0dXJuIGZvbnQuc2l6
ZSgpOyB9CiAKIHByaXZhdGU6Ci0gICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0aCh1bnNpZ25lZCBm
cm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnQmLCBpbnQgeFBvc2l0aW9uLCBIYXNoU2V0
PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93
KiA9IDApIGNvbnN0OworICAgIHZpcnR1YWwgZmxvYXQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5z
aWduZWQgbGVuZ3RoLCBjb25zdCBGb250JiwgZmxvYXQgeFBvc2l0aW9uLCBIYXNoU2V0PGNvbnN0
IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDAp
IGNvbnN0OwogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0
dXJuICJSZW5kZXJDb21iaW5lVGV4dCI7IH0KICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVEaWRDaGFu
Z2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpOwogICAgIHZp
cnR1YWwgdm9pZCBzZXRUZXh0SW50ZXJuYWwoUGFzc1JlZlB0cjxTdHJpbmdJbXBsPik7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5j
cHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVt
YmVkZGVkT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk5LDggKzE5OSw3IEBAIGJvb2wg
UmVuZGVyRW1iZWRkZWRPYmplY3Q6OmdldFJlcGxhY2VtZW4KICAgICBmb250LnVwZGF0ZSgwKTsK
ICAgICAKICAgICBydW4gPSBUZXh0UnVuKG1fcmVwbGFjZW1lbnRUZXh0LmNoYXJhY3RlcnMoKSwg
bV9yZXBsYWNlbWVudFRleHQubGVuZ3RoKCkpOwotICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNr
cygpOwotICAgIHRleHRXaWR0aCA9IGZvbnQuZmxvYXRXaWR0aChydW4pOworICAgIHRleHRXaWR0
aCA9IGZvbnQud2lkdGgocnVuKTsKICAgICAKICAgICByZXBsYWNlbWVudFRleHRSZWN0LnNldFNp
emUoRmxvYXRTaXplKHRleHRXaWR0aCArIHJlcGxhY2VtZW50VGV4dFJvdW5kZWRSZWN0TGVmdFJp
Z2h0VGV4dE1hcmdpbiAqIDIsIHJlcGxhY2VtZW50VGV4dFJvdW5kZWRSZWN0SGVpZ2h0KSk7CiAg
ICAgZmxvYXQgeCA9IChjb250ZW50UmVjdC5zaXplKCkud2lkdGgoKSAvIDIgLSByZXBsYWNlbWVu
dFRleHRSZWN0LnNpemUoKS53aWR0aCgpIC8gMikgKyBjb250ZW50UmVjdC5sb2NhdGlvbigpLngo
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJv
bC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVV
cGxvYWRDb250cm9sLmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzMs
NyArMjczLDcgQEAgdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y29tcHV0ZVByZQogICAg
ICAgICAvLyBGaWd1cmUgb3V0IGhvdyBiaWcgdGhlIGZpbGVuYW1lIHNwYWNlIG5lZWRzIHRvIGJl
IGZvciBhIGdpdmVuIG51bWJlciBvZiBjaGFyYWN0ZXJzCiAgICAgICAgIC8vICh1c2luZyAiMCIg
YXMgdGhlIG5vbWluYWwgY2hhcmFjdGVyKS4KICAgICAgICAgY29uc3QgVUNoYXIgY2ggPSAnMCc7
Ci0gICAgICAgIGZsb2F0IGNoYXJXaWR0aCA9IHN0eWxlKCktPmZvbnQoKS5mbG9hdFdpZHRoKFRl
eHRSdW4oJmNoLCAxLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lv
biwgZmFsc2UsIGZhbHNlLCBmYWxzZSkpOworICAgICAgICBmbG9hdCBjaGFyV2lkdGggPSBzdHls
ZSgpLT5mb250KCkud2lkdGgoVGV4dFJ1bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpB
bGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBmYWxzZSkpOwogICAgICAgICBtX21heFByZWZlcnJlZExv
Z2ljYWxXaWR0aCA9IChpbnQpY2VpbGYoY2hhcldpZHRoICogZGVmYXVsdFdpZHRoTnVtQ2hhcnMp
OwogICAgIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3Bw
CShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFn
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgxLDcgKzgxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIHNob3J0IHBhZGRpbmdIZWlnaAogCiAvLyBBbHQgdGV4dCBpcyByZXN0cmljdGVkIHRvIHRo
aXMgbWF4aW11bSBzaXplLCBpbiBwaXhlbHMuICBUaGVzZSBhcmUKIC8vIHNpZ25lZCBpbnRlZ2Vy
cyBiZWNhdXNlIHRoZXkgYXJlIGNvbXBhcmVkIHdpdGggb3RoZXIgc2lnbmVkIHZhbHVlcy4KLXN0
YXRpYyBjb25zdCBpbnQgbWF4QWx0VGV4dFdpZHRoID0gMTAyNDsKK3N0YXRpYyBjb25zdCBmbG9h
dCBtYXhBbHRUZXh0V2lkdGggPSAxMDI0Owogc3RhdGljIGNvbnN0IGludCBtYXhBbHRUZXh0SGVp
Z2h0ID0gMjU2OwogCiBJbnRTaXplIFJlbmRlckltYWdlOjppbWFnZVNpemVGb3JFcnJvcihDYWNo
ZWRJbWFnZSogbmV3SW1hZ2UpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW5saW5lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW5saW5lLmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW5saW5lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTU5LDggKzU1OSw4IEBA
IEludFJlY3QgUmVuZGVySW5saW5lOjpsaW5lc0JvdW5kaW5nQm94KCkKICAgICBBU1NFUlQoIWZp
cnN0TGluZUJveCgpID09ICFsYXN0TGluZUJveCgpKTsgIC8vIEVpdGhlciBib3RoIGFyZSBudWxs
IG9yIGJvdGggZXhpc3QuCiAgICAgaWYgKGZpcnN0TGluZUJveCgpICYmIGxhc3RMaW5lQm94KCkp
IHsKICAgICAgICAgLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiB0aGUgbWluaW1hbCBsZWZ0IHNpZGUg
YW5kIHRoZSBtYXhpbWFsIHJpZ2h0IHNpZGUuCi0gICAgICAgIGludCBsb2dpY2FsTGVmdFNpZGUg
PSAwOwotICAgICAgICBpbnQgbG9naWNhbFJpZ2h0U2lkZSA9IDA7CisgICAgICAgIGZsb2F0IGxv
Z2ljYWxMZWZ0U2lkZSA9IDA7CisgICAgICAgIGZsb2F0IGxvZ2ljYWxSaWdodFNpZGUgPSAwOwog
ICAgICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1cnIgPSBmaXJzdExpbmVCb3goKTsgY3Vycjsg
Y3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkpIHsKICAgICAgICAgICAgIGlmIChjdXJyID09IGZp
cnN0TGluZUJveCgpIHx8IGN1cnItPmxvZ2ljYWxMZWZ0KCkgPCBsb2dpY2FsTGVmdFNpZGUpCiAg
ICAgICAgICAgICAgICAgbG9naWNhbExlZnRTaWRlID0gY3Vyci0+bG9naWNhbExlZnQoKTsKQEAg
LTU3MCwxMSArNTcwLDExIEBAIEludFJlY3QgUmVuZGVySW5saW5lOjpsaW5lc0JvdW5kaW5nQm94
KCkKICAgICAgICAgCiAgICAgICAgIGJvb2wgaXNIb3Jpem9udGFsID0gc3R5bGUoKS0+aXNIb3Jp
em9udGFsV3JpdGluZ01vZGUoKTsKICAgICAgICAgCi0gICAgICAgIGludCB4ID0gaXNIb3Jpem9u
dGFsID8gbG9naWNhbExlZnRTaWRlIDogZmlyc3RMaW5lQm94KCktPngoKTsKLSAgICAgICAgaW50
IHkgPSBpc0hvcml6b250YWwgPyBmaXJzdExpbmVCb3goKS0+eSgpIDogbG9naWNhbExlZnRTaWRl
OwotICAgICAgICBpbnQgd2lkdGggPSBpc0hvcml6b250YWwgPyBsb2dpY2FsUmlnaHRTaWRlIC0g
bG9naWNhbExlZnRTaWRlIDogbGFzdExpbmVCb3goKS0+bG9naWNhbEJvdHRvbSgpIC0geDsKLSAg
ICAgICAgaW50IGhlaWdodCA9IGlzSG9yaXpvbnRhbCA/IGxhc3RMaW5lQm94KCktPmxvZ2ljYWxC
b3R0b20oKSAtIHkgOiBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlOwotICAgICAg
ICByZXN1bHQgPSBJbnRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpOworICAgICAgICBmbG9hdCB4
ID0gaXNIb3Jpem9udGFsID8gbG9naWNhbExlZnRTaWRlIDogZmlyc3RMaW5lQm94KCktPngoKTsK
KyAgICAgICAgZmxvYXQgeSA9IGlzSG9yaXpvbnRhbCA/IGZpcnN0TGluZUJveCgpLT55KCkgOiBs
b2dpY2FsTGVmdFNpZGU7CisgICAgICAgIGZsb2F0IHdpZHRoID0gaXNIb3Jpem9udGFsID8gbG9n
aWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZSA6IGxhc3RMaW5lQm94KCktPmxvZ2ljYWxC
b3R0b20oKSAtIHg7CisgICAgICAgIGZsb2F0IGhlaWdodCA9IGlzSG9yaXpvbnRhbCA/IGxhc3RM
aW5lQm94KCktPmxvZ2ljYWxCb3R0b20oKSAtIHkgOiBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNh
bExlZnRTaWRlOworICAgICAgICByZXN1bHQgPSBlbmNsb3NpbmdJbnRSZWN0KEZsb2F0UmVjdCh4
LCB5LCB3aWR0aCwgaGVpZ2h0KSk7CiAgICAgfQogCiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTU4
NiwyMCArNTg2LDIwIEBAIEludFJlY3QgUmVuZGVySW5saW5lOjpsaW5lc1Zpc3VhbE92ZXJmbG8K
ICAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKIAogICAgIC8vIFJldHVybiB0aGUgd2lkdGggb2Yg
dGhlIG1pbmltYWwgbGVmdCBzaWRlIGFuZCB0aGUgbWF4aW1hbCByaWdodCBzaWRlLgotICAgIGlu
dCBsb2dpY2FsTGVmdFNpZGUgPSBudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKTsKLSAgICBpbnQg
bG9naWNhbFJpZ2h0U2lkZSA9IG51bWVyaWNfbGltaXRzPGludD46Om1pbigpOworICAgIGZsb2F0
IGxvZ2ljYWxMZWZ0U2lkZSA9IG51bWVyaWNfbGltaXRzPGludD46Om1heCgpOworICAgIGZsb2F0
IGxvZ2ljYWxSaWdodFNpZGUgPSBudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKTsKICAgICBmb3Ig
KElubGluZUZsb3dCb3gqIGN1cnIgPSBmaXJzdExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1cnIt
Pm5leHRMaW5lQm94KCkpIHsKLSAgICAgICAgbG9naWNhbExlZnRTaWRlID0gbWluKGxvZ2ljYWxM
ZWZ0U2lkZSwgY3Vyci0+bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygpKTsKLSAgICAgICAgbG9n
aWNhbFJpZ2h0U2lkZSA9IG1heChsb2dpY2FsUmlnaHRTaWRlLCBjdXJyLT5sb2dpY2FsUmlnaHRW
aXN1YWxPdmVyZmxvdygpKTsKKyAgICAgICAgbG9naWNhbExlZnRTaWRlID0gbWluKGxvZ2ljYWxM
ZWZ0U2lkZSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGN1cnItPmxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZs
b3coKSkpOworICAgICAgICBsb2dpY2FsUmlnaHRTaWRlID0gbWF4KGxvZ2ljYWxSaWdodFNpZGUs
IHN0YXRpY19jYXN0PGZsb2F0PihjdXJyLT5sb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdygpKSk7
CiAgICAgfQogCiAgICAgYm9vbCBpc0hvcml6b250YWwgPSBzdHlsZSgpLT5pc0hvcml6b250YWxX
cml0aW5nTW9kZSgpOwogICAgICAgICAKLSAgICBpbnQgeCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2lj
YWxMZWZ0U2lkZSA6IGZpcnN0TGluZUJveCgpLT5taW5YVmlzdWFsT3ZlcmZsb3coKTsKLSAgICBp
bnQgeSA9IGlzSG9yaXpvbnRhbCA/IGZpcnN0TGluZUJveCgpLT5taW5ZVmlzdWFsT3ZlcmZsb3co
KSA6IGxvZ2ljYWxMZWZ0U2lkZTsKLSAgICBpbnQgd2lkdGggPSBpc0hvcml6b250YWwgPyBsb2dp
Y2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlIDogbGFzdExpbmVCb3goKS0+bWF4WFZpc3Vh
bE92ZXJmbG93KCkgLSBmaXJzdExpbmVCb3goKS0+bWluWFZpc3VhbE92ZXJmbG93KCk7Ci0gICAg
aW50IGhlaWdodCA9IGlzSG9yaXpvbnRhbCA/IGxhc3RMaW5lQm94KCktPm1heFlWaXN1YWxPdmVy
ZmxvdygpIC0gZmlyc3RMaW5lQm94KCktPm1pbllWaXN1YWxPdmVyZmxvdygpIDogbG9naWNhbFJp
Z2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZTsKLSAgICByZXR1cm4gSW50UmVjdCh4LCB5LCB3aWR0
aCwgaGVpZ2h0KTsKKyAgICBmbG9hdCB4ID0gaXNIb3Jpem9udGFsID8gbG9naWNhbExlZnRTaWRl
IDogZmlyc3RMaW5lQm94KCktPm1pblhWaXN1YWxPdmVyZmxvdygpOworICAgIGZsb2F0IHkgPSBp
c0hvcml6b250YWwgPyBmaXJzdExpbmVCb3goKS0+bWluWVZpc3VhbE92ZXJmbG93KCkgOiBsb2dp
Y2FsTGVmdFNpZGU7CisgICAgZmxvYXQgd2lkdGggPSBpc0hvcml6b250YWwgPyBsb2dpY2FsUmln
aHRTaWRlIC0gbG9naWNhbExlZnRTaWRlIDogbGFzdExpbmVCb3goKS0+bWF4WFZpc3VhbE92ZXJm
bG93KCkgLSBmaXJzdExpbmVCb3goKS0+bWluWFZpc3VhbE92ZXJmbG93KCk7CisgICAgZmxvYXQg
aGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFzdExpbmVCb3goKS0+bWF4WVZpc3VhbE92ZXJmbG93
KCkgLSBmaXJzdExpbmVCb3goKS0+bWluWVZpc3VhbE92ZXJmbG93KCkgOiBsb2dpY2FsUmlnaHRT
aWRlIC0gbG9naWNhbExlZnRTaWRlOworICAgIHJldHVybiBlbmNsb3NpbmdJbnRSZWN0KEZsb2F0
UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KSk7CiB9CiAKIEludFJlY3QgUmVuZGVySW5saW5lOjpj
bGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWlu
dENvbnRhaW5lcikKQEAgLTk2Myw4ICs5NjMsOCBAQCB2b2lkIFJlbmRlcklubGluZTo6YWRkRm9j
dXNSaW5nUmVjdHMoVmVjCiB7CiAgICAgZm9yIChJbmxpbmVGbG93Qm94KiBjdXJyID0gZmlyc3RM
aW5lQm94KCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0TGluZUJveCgpKSB7CiAgICAgICAgIFJv
b3RJbmxpbmVCb3gqIHJvb3QgPSBjdXJyLT5yb290KCk7Ci0gICAgICAgIGludCB0b3AgPSBtYXgo
cm9vdC0+bGluZVRvcCgpLCBjdXJyLT55KCkpOwotICAgICAgICBpbnQgYm90dG9tID0gbWluKHJv
b3QtPmxpbmVCb3R0b20oKSwgY3Vyci0+eSgpICsgY3Vyci0+bG9naWNhbEhlaWdodCgpKTsKKyAg
ICAgICAgaW50IHRvcCA9IG1heChyb290LT5saW5lVG9wKCksIGN1cnItPmxvZ2ljYWxUb3AoKSk7
CisgICAgICAgIGludCBib3R0b20gPSBtaW4ocm9vdC0+bGluZUJvdHRvbSgpLCBjdXJyLT5sb2dp
Y2FsQm90dG9tKCkpOwogICAgICAgICBJbnRSZWN0IHJlY3QodHggKyBjdXJyLT54KCksIHR5ICsg
dG9wLCBjdXJyLT5sb2dpY2FsV2lkdGgoKSwgYm90dG9tIC0gdG9wKTsKICAgICAgICAgaWYgKCFy
ZWN0LmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJlY3RzLmFwcGVuZChyZWN0KTsKQEAgLTEwMTUs
OCArMTAxNSw4IEBAIHZvaWQgUmVuZGVySW5saW5lOjpwYWludE91dGxpbmUoR3JhcGhpY3MKICAg
ICByZWN0cy5hcHBlbmQoSW50UmVjdCgpKTsKICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1cnIg
PSBmaXJzdExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkpIHsKICAg
ICAgICAgUm9vdElubGluZUJveCogcm9vdCA9IGN1cnItPnJvb3QoKTsKLSAgICAgICAgaW50IHRv
cCA9IG1heChyb290LT5saW5lVG9wKCksIGN1cnItPnkoKSk7Ci0gICAgICAgIGludCBib3R0b20g
PSBtaW4ocm9vdC0+bGluZUJvdHRvbSgpLCBjdXJyLT55KCkgKyBjdXJyLT5sb2dpY2FsSGVpZ2h0
KCkpOworICAgICAgICBpbnQgdG9wID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+bG9naWNh
bFRvcCgpKTsKKyAgICAgICAgaW50IGJvdHRvbSA9IG1pbihyb290LT5saW5lQm90dG9tKCksIGN1
cnItPmxvZ2ljYWxCb3R0b20oKSk7CiAgICAgICAgIHJlY3RzLmFwcGVuZChJbnRSZWN0KGN1cnIt
PngoKSwgdG9wLCBjdXJyLT5sb2dpY2FsV2lkdGgoKSwgYm90dG9tIC0gdG9wKSk7CiAgICAgfQog
ICAgIHJlY3RzLmFwcGVuZChJbnRSZWN0KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxpc3RCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMaXN0Qm94LmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMSw3ICsx
MTEsNyBAQCB2b2lkIFJlbmRlckxpc3RCb3g6OnVwZGF0ZUZyb21FbGVtZW50KCkKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIGlmICghdGV4dC5pc0VtcHR5KCkp
IHsKLSAgICAgICAgICAgICAgICBmbG9hdCB0ZXh0V2lkdGggPSBpdGVtRm9udC5mbG9hdFdpZHRo
KFRleHRSdW4odGV4dC5pbXBsKCksIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5n
RXhwYW5zaW9uLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSkpOworICAgICAgICAgICAgICAg
IGZsb2F0IHRleHRXaWR0aCA9IGl0ZW1Gb250LndpZHRoKFRleHRSdW4odGV4dC5pbXBsKCksIGZh
bHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBmYWxzZSwgZmFsc2Up
KTsKICAgICAgICAgICAgICAgICB3aWR0aCA9IG1heCh3aWR0aCwgdGV4dFdpZHRoKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQpAQCAtMzMzLDcgKzMzMyw3IEBAIHZvaWQgUmVuZGVyTGlzdEJv
eDo6cGFpbnRJdGVtRm9yZWdyb3VuZCgKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IGl0ZW1UZXh0
Lmxlbmd0aCgpOwogICAgIGNvbnN0IFVDaGFyKiBzdHJpbmcgPSBpdGVtVGV4dC5jaGFyYWN0ZXJz
KCk7Ci0gICAgVGV4dFJ1biB0ZXh0UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwgVGV4
dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIWl0ZW1TdHlsZS0+aXNMZWZ0VG9SaWdodERp
cmVjdGlvbigpLCBpdGVtU3R5bGUtPnVuaWNvZGVCaWRpKCkgPT0gT3ZlcnJpZGUsIGZhbHNlLCBm
YWxzZSk7CisgICAgVGV4dFJ1biB0ZXh0UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwg
VGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIWl0ZW1TdHlsZS0+aXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpLCBpdGVtU3R5bGUtPnVuaWNvZGVCaWRpKCkgPT0gT3ZlcnJpZGUpOwogCiAg
ICAgLy8gRHJhdyB0aGUgaXRlbSB0ZXh0CiAgICAgaWYgKGl0ZW1TdHlsZS0+dmlzaWJpbGl0eSgp
ICE9IEhJRERFTikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlz
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVM
aXN0LmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTWVudUxpc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMsMTAgKzE1MywxMCBAQCB2b2lk
IFJlbmRlck1lbnVMaXN0Ojp1cGRhdGVPcHRpb25zV2lkdGgoCiAgICAgICAgICAgICBpZiAoUmVu
ZGVyU3R5bGUqIG9wdGlvblN0eWxlID0gZWxlbWVudC0+cmVuZGVyU3R5bGUoKSkKICAgICAgICAg
ICAgICAgICBvcHRpb25XaWR0aCArPSBvcHRpb25TdHlsZS0+dGV4dEluZGVudCgpLmNhbGNNaW5W
YWx1ZSgwKTsKICAgICAgICAgICAgIGlmICghdGV4dC5pc0VtcHR5KCkpCi0gICAgICAgICAgICAg
ICAgb3B0aW9uV2lkdGggKz0gc3R5bGUoKS0+Zm9udCgpLmZsb2F0V2lkdGgodGV4dCk7CisgICAg
ICAgICAgICAgICAgb3B0aW9uV2lkdGggKz0gc3R5bGUoKS0+Zm9udCgpLndpZHRoKHRleHQpOwog
ICAgICAgICAgICAgbWF4T3B0aW9uV2lkdGggPSBtYXgobWF4T3B0aW9uV2lkdGgsIG9wdGlvbldp
ZHRoKTsKICAgICAgICAgfSBlbHNlIGlmICghdGV4dC5pc0VtcHR5KCkpCi0gICAgICAgICAgICBt
YXhPcHRpb25XaWR0aCA9IG1heChtYXhPcHRpb25XaWR0aCwgc3R5bGUoKS0+Zm9udCgpLmZsb2F0
V2lkdGgodGV4dCkpOworICAgICAgICAgICAgbWF4T3B0aW9uV2lkdGggPSBtYXgobWF4T3B0aW9u
V2lkdGgsIHN0eWxlKCktPmZvbnQoKS53aWR0aCh0ZXh0KSk7CiAgICAgfQogCiAgICAgaW50IHdp
ZHRoID0gc3RhdGljX2Nhc3Q8aW50PihjZWlsZihtYXhPcHRpb25XaWR0aCkpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU2MCw3ICs1NjAsNyBAQCBJbnRSZWN0IFJlbmRlclRleHQ6OmxvY2FsQ2FyZXRSZWN0KElubGlu
CiAgICAgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBJbnRSZWN0
KGxlZnQsIHRvcCwgY2FyZXRXaWR0aCwgaGVpZ2h0KSA6IEludFJlY3QodG9wLCBsZWZ0LCBoZWln
aHQsIGNhcmV0V2lkdGgpOwogfQogCi1BTFdBWVNfSU5MSU5FIGludCBSZW5kZXJUZXh0Ojp3aWR0
aEZyb21DYWNoZShjb25zdCBGb250JiBmLCBpbnQgc3RhcnQsIGludCBsZW4sIGludCB4UG9zLCBI
YXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZs
b3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CitBTFdBWVNfSU5MSU5FIGZsb2F0IFJlbmRlclRleHQ6
OndpZHRoRnJvbUNhY2hlKGNvbnN0IEZvbnQmIGYsIGludCBzdGFydCwgaW50IGxlbiwgZmxvYXQg
eFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlw
aE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAogewogICAgIGlmIChzdHlsZSgpLT5oYXNU
ZXh0Q29tYmluZSgpKSB7CiAgICAgICAgIGNvbnN0IFJlbmRlckNvbWJpbmVUZXh0KiBjb21iaW5l
VGV4dCA9IHRvUmVuZGVyQ29tYmluZVRleHQodGhpcyk7CkBAIC01NjksOSArNTY5LDkgQEAgQUxX
QVlTX0lOTElORSBpbnQgUmVuZGVyVGV4dDo6d2lkdGhGcm9tQwogICAgIH0KIAogICAgIGlmIChm
LmlzRml4ZWRQaXRjaCgpICYmICFmLmlzU21hbGxDYXBzKCkgJiYgbV9pc0FsbEFTQ0lJKSB7Ci0g
ICAgICAgIGludCBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aCA9IGYuc3BhY2VXaWR0aCgpOwotICAg
ICAgICBpbnQgdGFiV2lkdGggPSBhbGxvd1RhYnMoKSA/IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRo
ICogOCA6IDA7Ci0gICAgICAgIGludCB3ID0gMDsKKyAgICAgICAgZmxvYXQgbW9ub3NwYWNlQ2hh
cmFjdGVyV2lkdGggPSBmLnNwYWNlV2lkdGgoKTsKKyAgICAgICAgZmxvYXQgdGFiV2lkdGggPSBh
bGxvd1RhYnMoKSA/IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoICogOCA6IDA7CisgICAgICAgIGZs
b2F0IHcgPSAwOwogICAgICAgICBib29sIGlzU3BhY2U7CiAgICAgICAgIGJvb2wgcHJldmlvdXND
aGFyV2FzU3BhY2UgPSB0cnVlOyAvLyBGSVhNRTogUHJlc2VydmVzIGhpc3RvcmljYWwgYmVoYXZp
b3IsIGJ1dCBzZWVtcyB3cm9uZyBmb3Igc3RhcnQgPiAwLgogICAgICAgICBBU1NFUlQobV90ZXh0
KTsKQEAgLTU4Myw3ICs1ODMsNyBAQCBBTFdBWVNfSU5MSU5FIGludCBSZW5kZXJUZXh0Ojp3aWR0
aEZyb21DCiAgICAgICAgICAgICAgICAgICAgIHcgKz0gbW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGg7
CiAgICAgICAgICAgICAgICAgICAgIGlzU3BhY2UgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0g
ZWxzZSBpZiAoYyA9PSAnXHQnKSB7Ci0gICAgICAgICAgICAgICAgICAgIHcgKz0gdGFiV2lkdGgg
PyB0YWJXaWR0aCAtICgoeFBvcyArIHcpICUgdGFiV2lkdGgpIDogbW9ub3NwYWNlQ2hhcmFjdGVy
V2lkdGg7CisgICAgICAgICAgICAgICAgICAgIHcgKz0gdGFiV2lkdGggPyB0YWJXaWR0aCAtIGZt
b2RmKHhQb3MgKyB3LCB0YWJXaWR0aCkgOiBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aDsKICAgICAg
ICAgICAgICAgICAgICAgaXNTcGFjZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgfSBlbHNlCiAg
ICAgICAgICAgICAgICAgICAgIGlzU3BhY2UgPSBmYWxzZTsKQEAgLTYwMSwxMiArNjAxLDEyIEBA
IEFMV0FZU19JTkxJTkUgaW50IFJlbmRlclRleHQ6OndpZHRoRnJvbUMKICAgICByZXR1cm4gZi53
aWR0aChUZXh0UnVuKHRleHQoKS0+Y2hhcmFjdGVycygpICsgc3RhcnQsIGxlbiwgYWxsb3dUYWJz
KCksIHhQb3MpLCBmYWxsYmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93KTsKIH0KIAotdm9pZCBSZW5k
ZXJUZXh0Ojp0cmltbWVkUHJlZldpZHRocyhpbnQgbGVhZFdpZHRoLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQmIGJlZ2luTWluVywgYm9vbCYgYmVnaW5XUywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBlbmRNaW5XLCBib29sJiBlbmRXUywK
K3ZvaWQgUmVuZGVyVGV4dDo6dHJpbW1lZFByZWZXaWR0aHMoZmxvYXQgbGVhZFdpZHRoLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYgYmVnaW5NaW5XLCBib29sJiBi
ZWdpbldTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYgZW5kTWlu
VywgYm9vbCYgZW5kV1MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wm
IGhhc0JyZWFrYWJsZUNoYXIsIGJvb2wmIGhhc0JyZWFrLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQmIGJlZ2luTWF4VywgaW50JiBlbmRNYXhXLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQmIG1pblcsIGludCYgbWF4VywgYm9vbCYgc3RyaXBG
cm9udFNwYWNlcykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQmIGJl
Z2luTWF4VywgZmxvYXQmIGVuZE1heFcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZsb2F0JiBtaW5XLCBmbG9hdCYgbWF4VywgYm9vbCYgc3RyaXBGcm9udFNwYWNlcykKIHsK
ICAgICBib29sIGNvbGxhcHNlV2hpdGVTcGFjZSA9IHN0eWxlKCktPmNvbGxhcHNlV2hpdGVTcGFj
ZSgpOwogICAgIGlmICghY29sbGFwc2VXaGl0ZVNwYWNlKQpAQCAtNjQ2LDcgKzY0Niw3IEBAIHZv
aWQgUmVuZGVyVGV4dDo6dHJpbW1lZFByZWZXaWR0aHMoaW50IGwKICAgICAgICAgY29uc3QgRm9u
dCYgZiA9IHN0eWxlKCktPmZvbnQoKTsgLy8gRklYTUU6IFRoaXMgaWdub3JlcyBmaXJzdC1saW5l
LgogICAgICAgICBpZiAoc3RyaXBGcm9udFNwYWNlcykgewogICAgICAgICAgICAgY29uc3QgVUNo
YXIgc3BhY2UgPSAnICc7Ci0gICAgICAgICAgICBpbnQgc3BhY2VXaWR0aCA9IGYud2lkdGgoVGV4
dFJ1bigmc3BhY2UsIDEpKTsKKyAgICAgICAgICAgIGZsb2F0IHNwYWNlV2lkdGggPSBmLndpZHRo
KFRleHRSdW4oJnNwYWNlLCAxKSk7CiAgICAgICAgICAgICBtYXhXIC09IHNwYWNlV2lkdGg7CiAg
ICAgICAgIH0gZWxzZQogICAgICAgICAgICAgbWF4VyArPSBmLndvcmRTcGFjaW5nKCk7CkBAIC02
OTUsMjMgKzY5NSwyMyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNTcGFjZUFjY29yZGluZ1RvU3R5
CiAgICAgcmV0dXJuIGMgPT0gJyAnIHx8IChjID09IG5vQnJlYWtTcGFjZSAmJiBzdHlsZS0+bmJz
cE1vZGUoKSA9PSBTUEFDRSk7CiB9CiAKLWludCBSZW5kZXJUZXh0OjptaW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGgoKSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6bWluTG9naWNhbFdpZHRoKCkgY29u
c3QKIHsKICAgICBpZiAocHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KCkpCi0gICAgICAgIGNv
bnN0X2Nhc3Q8UmVuZGVyVGV4dCo+KHRoaXMpLT5jb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRo
cygwKTsKKyAgICAgICAgY29uc3RfY2FzdDxSZW5kZXJUZXh0Kj4odGhpcyktPmNvbXB1dGVQcmVm
ZXJyZWRMb2dpY2FsV2lkdGhzKDAuZik7CiAgICAgICAgIAogICAgIHJldHVybiBtX21pbldpZHRo
OwogfQogCi1pbnQgUmVuZGVyVGV4dDo6bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29uc3QK
K2Zsb2F0IFJlbmRlclRleHQ6Om1heExvZ2ljYWxXaWR0aCgpIGNvbnN0CiB7CiAgICAgaWYgKHBy
ZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0eSgpKQotICAgICAgICBjb25zdF9jYXN0PFJlbmRlclRl
eHQqPih0aGlzKS0+Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoMCk7CisgICAgICAgIGNv
bnN0X2Nhc3Q8UmVuZGVyVGV4dCo+KHRoaXMpLT5jb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRo
cygwLmYpOwogICAgICAgICAKICAgICByZXR1cm4gbV9tYXhXaWR0aDsKIH0KIAotdm9pZCBSZW5k
ZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhpbnQgbGVhZFdpZHRoKQordm9p
ZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhmbG9hdCBsZWFkV2lk
dGgpCiB7CiAgICAgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+IGZhbGxiYWNrRm9udHM7
CiAgICAgR2x5cGhPdmVyZmxvdyBnbHlwaE92ZXJmbG93OwpAQCAtNzIwLDcgKzcyMCw3IEBAIHZv
aWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWwKICAgICAgICAgbV9rbm93blRv
SGF2ZU5vT3ZlcmZsb3dBbmROb0ZhbGxiYWNrRm9udHMgPSB0cnVlOwogfQogCi12b2lkIFJlbmRl
clRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGludCBsZWFkV2lkdGgsIEhhc2hT
ZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiYgZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyYg
Z2x5cGhPdmVyZmxvdykKK3ZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxX
aWR0aHMoZmxvYXQgbGVhZFdpZHRoLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4mIGZh
bGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cmIGdseXBoT3ZlcmZsb3cpCiB7CiAgICAgQVNTRVJU
KG1faGFzVGFiIHx8IHByZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0eSgpIHx8ICFtX2tub3duVG9I
YXZlTm9PdmVyZmxvd0FuZE5vRmFsbGJhY2tGb250cyk7CiAKQEAgLTczMiw4ICs3MzIsOCBAQCB2
b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsCiAgICAgaWYgKGlzQlIoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgaW50IGN1cnJNaW5XaWR0aCA9IDA7Ci0gICAgaW50IGN1
cnJNYXhXaWR0aCA9IDA7CisgICAgZmxvYXQgY3Vyck1pbldpZHRoID0gMDsKKyAgICBmbG9hdCBj
dXJyTWF4V2lkdGggPSAwOwogICAgIG1faGFzQnJlYWthYmxlQ2hhciA9IGZhbHNlOwogICAgIG1f
aGFzQnJlYWsgPSBmYWxzZTsKICAgICBtX2hhc1RhYiA9IGZhbHNlOwpAQCAtNzQxLDcgKzc0MSw3
IEBAIHZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWwKICAgICBtX2hhc0Vu
ZFdTID0gZmFsc2U7CiAKICAgICBjb25zdCBGb250JiBmID0gc3R5bGUoKS0+Zm9udCgpOyAvLyBG
SVhNRTogVGhpcyBpZ25vcmVzIGZpcnN0LWxpbmUuCi0gICAgaW50IHdvcmRTcGFjaW5nID0gc3R5
bGUoKS0+d29yZFNwYWNpbmcoKTsKKyAgICBmbG9hdCB3b3JkU3BhY2luZyA9IHN0eWxlKCktPndv
cmRTcGFjaW5nKCk7CiAgICAgaW50IGxlbiA9IHRleHRMZW5ndGgoKTsKICAgICBjb25zdCBVQ2hh
ciogdHh0ID0gY2hhcmFjdGVycygpOwogICAgIGJvb2wgbmVlZHNXb3JkU3BhY2luZyA9IGZhbHNl
OwpAQCAtODIxLDcgKzgyMSw3IEBAIHZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExv
Z2ljYWwKIAogICAgICAgICBpbnQgd29yZExlbiA9IGogLSBpOwogICAgICAgICBpZiAod29yZExl
bikgewotICAgICAgICAgICAgaW50IHcgPSB3aWR0aEZyb21DYWNoZShmLCBpLCB3b3JkTGVuLCBs
ZWFkV2lkdGggKyBjdXJyTWF4V2lkdGgsICZmYWxsYmFja0ZvbnRzLCAmZ2x5cGhPdmVyZmxvdyk7
CisgICAgICAgICAgICBmbG9hdCB3ID0gd2lkdGhGcm9tQ2FjaGUoZiwgaSwgd29yZExlbiwgbGVh
ZFdpZHRoICsgY3Vyck1heFdpZHRoLCAmZmFsbGJhY2tGb250cywgJmdseXBoT3ZlcmZsb3cpOwog
ICAgICAgICAgICAgaWYgKGZpcnN0R2x5cGhMZWZ0T3ZlcmZsb3cgPCAwKQogICAgICAgICAgICAg
ICAgIGZpcnN0R2x5cGhMZWZ0T3ZlcmZsb3cgPSBnbHlwaE92ZXJmbG93LmxlZnQ7CiAgICAgICAg
ICAgICBjdXJyTWluV2lkdGggKz0gdzsKQEAgLTkzMywxNyArOTMzLDE3IEBAIGJvb2wgUmVuZGVy
VGV4dDo6Y29udGFpbnNPbmx5V2hpdGVzcGFjZSgKICAgICByZXR1cm4gY3VyclBvcyA+PSAoZnJv
bSArIGxlbik7CiB9CiAKLUludFBvaW50IFJlbmRlclRleHQ6OmZpcnN0UnVuT3JpZ2luKCkgY29u
c3QKK0Zsb2F0UG9pbnQgUmVuZGVyVGV4dDo6Zmlyc3RSdW5PcmlnaW4oKSBjb25zdAogewogICAg
IHJldHVybiBJbnRQb2ludChmaXJzdFJ1blgoKSwgZmlyc3RSdW5ZKCkpOwogfQogCi1pbnQgUmVu
ZGVyVGV4dDo6Zmlyc3RSdW5YKCkgY29uc3QKK2Zsb2F0IFJlbmRlclRleHQ6OmZpcnN0UnVuWCgp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fZmlyc3RUZXh0Qm94ID8gbV9maXJzdFRleHRCb3gtPm1f
eCA6IDA7CiB9CiAKLWludCBSZW5kZXJUZXh0OjpmaXJzdFJ1blkoKSBjb25zdAorZmxvYXQgUmVu
ZGVyVGV4dDo6Zmlyc3RSdW5ZKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9maXJzdFRleHRCb3gg
PyBtX2ZpcnN0VGV4dEJveC0+bV95IDogMDsKIH0KQEAgLTEyMjMsNyArMTIyMyw3IEBAIHZvaWQg
UmVuZGVyVGV4dDo6cG9zaXRpb25MaW5lQm94KElubGluZUIKICAgICBtX2NvbnRhaW5zUmV2ZXJz
ZWRUZXh0IHw9ICFzLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCk7CiB9CiAKLXVuc2lnbmVkIFJl
bmRlclRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgaW50IHhQb3MsIGJv
b2wgZmlyc3RMaW5lLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9u
dHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CitmbG9hdCBSZW5kZXJUZXh0
Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGZsb2F0IHhQb3MsIGJvb2wgZmly
c3RMaW5lLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEds
eXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CiB7CiAgICAgaWYgKGZyb20gPj0gdGV4
dExlbmd0aCgpKQogICAgICAgICByZXR1cm4gMDsKQEAgLTEyMzQsMTMgKzEyMzQsMTMgQEAgdW5z
aWduZWQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbQogICAgIHJldHVybiB3aWR0aChm
cm9tLCBsZW4sIHN0eWxlKGZpcnN0TGluZSktPmZvbnQoKSwgeFBvcywgZmFsbGJhY2tGb250cywg
Z2x5cGhPdmVyZmxvdyk7CiB9CiAKLXVuc2lnbmVkIFJlbmRlclRleHQ6OndpZHRoKHVuc2lnbmVk
IGZyb20sIHVuc2lnbmVkIGxlbiwgY29uc3QgRm9udCYgZiwgaW50IHhQb3MsIEhhc2hTZXQ8Y29u
c3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhP
dmVyZmxvdykgY29uc3QKK2Zsb2F0IFJlbmRlclRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20sIHVu
c2lnbmVkIGxlbiwgY29uc3QgRm9udCYgZiwgZmxvYXQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1w
bGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93
KSBjb25zdAogewogICAgIEFTU0VSVChmcm9tICsgbGVuIDw9IHRleHRMZW5ndGgoKSk7CiAgICAg
aWYgKCFjaGFyYWN0ZXJzKCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgaW50IHc7CisgICAg
ZmxvYXQgdzsKICAgICBpZiAoJmYgPT0gJnN0eWxlKCktPmZvbnQoKSkgewogICAgICAgICBpZiAo
IXN0eWxlKCktPnByZXNlcnZlTmV3bGluZSgpICYmICFmcm9tICYmIGxlbiA9PSB0ZXh0TGVuZ3Ro
KCkpIHsKICAgICAgICAgICAgIGlmIChmYWxsYmFja0ZvbnRzKSB7CkBAIC0xMjUyLDcgKzEyNTIs
NyBAQCB1bnNpZ25lZCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tCiAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgIHcgPSBtX21heFdpZHRoOwogICAgICAgICAgICAgfSBl
bHNlCi0gICAgICAgICAgICAgICAgdyA9IG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpOworICAg
ICAgICAgICAgICAgIHcgPSBtYXhMb2dpY2FsV2lkdGgoKTsKICAgICAgICAgfSBlbHNlCiAgICAg
ICAgICAgICB3ID0gd2lkdGhGcm9tQ2FjaGUoZiwgZnJvbSwgbGVuLCB4UG9zLCBmYWxsYmFja0Zv
bnRzLCBnbHlwaE92ZXJmbG93KTsKICAgICB9IGVsc2UKQEAgLTEyNjgsOCArMTI2OCw4IEBAIElu
dFJlY3QgUmVuZGVyVGV4dDo6bGluZXNCb3VuZGluZ0JveCgpIGMKICAgICBBU1NFUlQoIWZpcnN0
VGV4dEJveCgpID09ICFsYXN0VGV4dEJveCgpKTsgIC8vIEVpdGhlciBib3RoIGFyZSBudWxsIG9y
IGJvdGggZXhpc3QuCiAgICAgaWYgKGZpcnN0VGV4dEJveCgpICYmIGxhc3RUZXh0Qm94KCkpIHsK
ICAgICAgICAgLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiB0aGUgbWluaW1hbCBsZWZ0IHNpZGUgYW5k
IHRoZSBtYXhpbWFsIHJpZ2h0IHNpZGUuCi0gICAgICAgIGludCBsb2dpY2FsTGVmdFNpZGUgPSAw
OwotICAgICAgICBpbnQgbG9naWNhbFJpZ2h0U2lkZSA9IDA7CisgICAgICAgIGZsb2F0IGxvZ2lj
YWxMZWZ0U2lkZSA9IDA7CisgICAgICAgIGZsb2F0IGxvZ2ljYWxSaWdodFNpZGUgPSAwOwogICAg
ICAgICBmb3IgKElubGluZVRleHRCb3gqIGN1cnIgPSBmaXJzdFRleHRCb3goKTsgY3VycjsgY3Vy
ciA9IGN1cnItPm5leHRUZXh0Qm94KCkpIHsKICAgICAgICAgICAgIGlmIChjdXJyID09IGZpcnN0
VGV4dEJveCgpIHx8IGN1cnItPmxvZ2ljYWxMZWZ0KCkgPCBsb2dpY2FsTGVmdFNpZGUpCiAgICAg
ICAgICAgICAgICAgbG9naWNhbExlZnRTaWRlID0gY3Vyci0+bG9naWNhbExlZnQoKTsKQEAgLTEy
NzksMTEgKzEyNzksMTEgQEAgSW50UmVjdCBSZW5kZXJUZXh0OjpsaW5lc0JvdW5kaW5nQm94KCkg
YwogICAgICAgICAKICAgICAgICAgYm9vbCBpc0hvcml6b250YWwgPSBzdHlsZSgpLT5pc0hvcml6
b250YWxXcml0aW5nTW9kZSgpOwogICAgICAgICAKLSAgICAgICAgaW50IHggPSBpc0hvcml6b250
YWwgPyBsb2dpY2FsTGVmdFNpZGUgOiBmaXJzdFRleHRCb3goKS0+eCgpOwotICAgICAgICBpbnQg
eSA9IGlzSG9yaXpvbnRhbCA/IGZpcnN0VGV4dEJveCgpLT55KCkgOiBsb2dpY2FsTGVmdFNpZGU7
Ci0gICAgICAgIGludCB3aWR0aCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBs
b2dpY2FsTGVmdFNpZGUgOiBsYXN0VGV4dEJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB4OwotICAg
ICAgICBpbnQgaGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFzdFRleHRCb3goKS0+bG9naWNhbEJv
dHRvbSgpIC0geSA6IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGU7Ci0gICAgICAg
IHJlc3VsdCA9IEludFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCk7CisgICAgICAgIGZsb2F0IHgg
PSBpc0hvcml6b250YWwgPyBsb2dpY2FsTGVmdFNpZGUgOiBmaXJzdFRleHRCb3goKS0+eCgpOwor
ICAgICAgICBmbG9hdCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RUZXh0Qm94KCktPnkoKSA6IGxv
Z2ljYWxMZWZ0U2lkZTsKKyAgICAgICAgZmxvYXQgd2lkdGggPSBpc0hvcml6b250YWwgPyBsb2dp
Y2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlIDogbGFzdFRleHRCb3goKS0+bG9naWNhbEJv
dHRvbSgpIC0geDsKKyAgICAgICAgZmxvYXQgaGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFzdFRl
eHRCb3goKS0+bG9naWNhbEJvdHRvbSgpIC0geSA6IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2Fs
TGVmdFNpZGU7CisgICAgICAgIHJlc3VsdCA9IGVuY2xvc2luZ0ludFJlY3QoRmxvYXRSZWN0KHgs
IHksIHdpZHRoLCBoZWlnaHQpKTsKICAgICB9CiAKICAgICByZXR1cm4gcmVzdWx0OwpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCShyZXZpc2lvbiA3ODM3MSkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTcx
LDI0ICs3MSwyNCBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgdGV4dExlbmd0aCgpIGNvbnN0IHsg
cmV0dXJuIG1fdGV4dC5sZW5ndGgoKTsgfSAvLyBub24gdmlydHVhbCBpbXBsZW1lbnRhdGlvbiBv
ZiBsZW5ndGgoKQogICAgIHZvaWQgcG9zaXRpb25MaW5lQm94KElubGluZUJveCopOwogCi0gICAg
dmlydHVhbCB1bnNpZ25lZCB3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbnN0
IEZvbnQmLCBpbnQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFj
a0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKLSAgICB2aXJ0dWFsIHVuc2ln
bmVkIHdpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgaW50IHhQb3MsIGJvb2wgZmly
c3RMaW5lID0gZmFsc2UsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tG
b250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9hdCB3
aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbnN0IEZvbnQmLCBmbG9hdCB4UG9z
LCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlw
aE92ZXJmbG93KiA9IDApIGNvbnN0OworICAgIHZpcnR1YWwgZmxvYXQgd2lkdGgodW5zaWduZWQg
ZnJvbSwgdW5zaWduZWQgbGVuLCBmbG9hdCB4UG9zLCBib29sIGZpcnN0TGluZSA9IGZhbHNlLCBI
YXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92
ZXJmbG93KiA9IDApIGNvbnN0OwogCi0gICAgdmlydHVhbCBpbnQgbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
KCkgY29uc3Q7CisgICAgZmxvYXQgbWluTG9naWNhbFdpZHRoKCkgY29uc3Q7CisgICAgZmxvYXQg
bWF4TG9naWNhbFdpZHRoKCkgY29uc3Q7CiAKLSAgICB2b2lkIHRyaW1tZWRQcmVmV2lkdGhzKGlu
dCBsZWFkV2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGJlZ2luTWluVywg
Ym9vbCYgYmVnaW5XUywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgZW5kTWluVywg
Ym9vbCYgZW5kV1MsCisgICAgdm9pZCB0cmltbWVkUHJlZldpZHRocyhmbG9hdCBsZWFkV2lkdGgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYgYmVnaW5NaW5XLCBib29sJiBiZWdp
bldTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQmIGVuZE1pblcsIGJvb2wmIGVu
ZFdTLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCYgaGFzQnJlYWthYmxlQ2hhciwg
Ym9vbCYgaGFzQnJlYWssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGJlZ2luTWF4
VywgaW50JiBlbmRNYXhXLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBtaW5XLCBp
bnQmIG1heFcsIGJvb2wmIHN0cmlwRnJvbnRTcGFjZXMpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZmxvYXQmIGJlZ2luTWF4VywgZmxvYXQmIGVuZE1heFcsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmbG9hdCYgbWluVywgZmxvYXQmIG1heFcsIGJvb2wmIHN0cmlwRnJvbnRTcGFj
ZXMpOwogCiAgICAgdmlydHVhbCBJbnRSZWN0IGxpbmVzQm91bmRpbmdCb3goKSBjb25zdDsKIAot
ICAgIEludFBvaW50IGZpcnN0UnVuT3JpZ2luKCkgY29uc3Q7Ci0gICAgaW50IGZpcnN0UnVuWCgp
IGNvbnN0OwotICAgIGludCBmaXJzdFJ1blkoKSBjb25zdDsKKyAgICBGbG9hdFBvaW50IGZpcnN0
UnVuT3JpZ2luKCkgY29uc3Q7CisgICAgZmxvYXQgZmlyc3RSdW5YKCkgY29uc3Q7CisgICAgZmxv
YXQgZmlyc3RSdW5ZKCkgY29uc3Q7CiAKICAgICB2b2lkIHNldFRleHQoUGFzc1JlZlB0cjxTdHJp
bmdJbXBsPiwgYm9vbCBmb3JjZSA9IGZhbHNlKTsKICAgICB2b2lkIHNldFRleHRXaXRoT2Zmc2V0
KFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4sIHVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgbGVuLCBi
b29sIGZvcmNlID0gZmFsc2UpOwpAQCAtMTIyLDcgKzEyMiw3IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgY2hlY2tDb25zaXN0ZW5jeSgpIGNvbnN0OwogCi0gICAgdmlydHVhbCB2b2lkIGNvbXB1dGVQ
cmVmZXJyZWRMb2dpY2FsV2lkdGhzKGludCBsZWFkV2lkdGgpOworICAgIHZpcnR1YWwgdm9pZCBj
b21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhmbG9hdCBsZWFkV2lkdGgpOwogICAgIGJvb2wg
aXNBbGxDb2xsYXBzaWJsZVdoaXRlc3BhY2UoKTsKICAgICAKIHByb3RlY3RlZDoKQEAgLTEzNSw3
ICsxMzUsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBJbmxpbmVUZXh0Qm94KiBjcmVhdGVU
ZXh0Qm94KCk7IC8vIFN1YmNsYXNzZWQgYnkgU1ZHLgogCiBwcml2YXRlOgotICAgIHZvaWQgY29t
cHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRXaWR0aCwgSGFzaFNldDxjb25zdCBT
aW1wbGVGb250RGF0YSo+JiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93Jik7CisgICAgdm9p
ZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhmbG9hdCBsZWFkV2lkdGgsIEhhc2hTZXQ8
Y29uc3QgU2ltcGxlRm9udERhdGEqPiYgZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyYpOwog
CiAgICAgLy8gTWFrZSBsZW5ndGgoKSBwcml2YXRlIHNvIHRoYXQgY2FsbGVycyB0aGF0IGhhdmUg
YSBSZW5kZXJUZXh0KgogICAgIC8vIHdpbGwgdXNlIHRoZSBtb3JlIGVmZmljaWVudCB0ZXh0TGVu
Z3RoKCkgaW5zdGVhZCwgd2hpbGUKQEAgLTE0OCwyMiArMTQ4LDIyIEBAIHByaXZhdGU6CiAKICAg
ICB2b2lkIGRlbGV0ZVRleHRCb3hlcygpOwogICAgIGJvb2wgY29udGFpbnNPbmx5V2hpdGVzcGFj
ZSh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4pIGNvbnN0OwotICAgIGludCB3aWR0aEZyb21D
YWNoZShjb25zdCBGb250JiwgaW50IHN0YXJ0LCBpbnQgbGVuLCBpbnQgeFBvcywgSGFzaFNldDxj
b25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KikgY29u
c3Q7CisgICAgZmxvYXQgd2lkdGhGcm9tQ2FjaGUoY29uc3QgRm9udCYsIGludCBzdGFydCwgaW50
IGxlbiwgZmxvYXQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFj
a0ZvbnRzLCBHbHlwaE92ZXJmbG93KikgY29uc3Q7CiAgICAgYm9vbCBpc0FsbEFTQ0lJKCkgY29u
c3QgeyByZXR1cm4gbV9pc0FsbEFTQ0lJOyB9CiAgICAgdm9pZCB1cGRhdGVOZWVkc1RyYW5zY29k
aW5nKCk7CiAKICAgICBpbmxpbmUgdm9pZCB0cmFuc2Zvcm1UZXh0KFN0cmluZyYpIGNvbnN0Owog
Ci0gICAgaW50IG1fbWluV2lkdGg7IC8vIGhlcmUgdG8gbWluaW1pemUgcGFkZGluZyBpbiA2NC1i
aXQuCisgICAgZmxvYXQgbV9taW5XaWR0aDsgLy8gaGVyZSB0byBtaW5pbWl6ZSBwYWRkaW5nIGlu
IDY0LWJpdC4KIAogICAgIFN0cmluZyBtX3RleHQ7CiAKICAgICBJbmxpbmVUZXh0Qm94KiBtX2Zp
cnN0VGV4dEJveDsKICAgICBJbmxpbmVUZXh0Qm94KiBtX2xhc3RUZXh0Qm94OwogCi0gICAgaW50
IG1fbWF4V2lkdGg7Ci0gICAgaW50IG1fYmVnaW5NaW5XaWR0aDsKLSAgICBpbnQgbV9lbmRNaW5X
aWR0aDsKKyAgICBmbG9hdCBtX21heFdpZHRoOworICAgIGZsb2F0IG1fYmVnaW5NaW5XaWR0aDsK
KyAgICBmbG9hdCBtX2VuZE1pbldpZHRoOwogCiAgICAgYm9vbCBtX2hhc0JyZWFrYWJsZUNoYXIg
OiAxOyAvLyBXaGV0aGVyIG9yIG5vdCB3ZSBjYW4gYmUgYnJva2VuIGludG8gbXVsdGlwbGUgbGlu
ZXMuCiAgICAgYm9vbCBtX2hhc0JyZWFrIDogMTsgLy8gV2hldGhlciBvciBub3Qgd2UgaGF2ZSBh
IGhhcmQgYnJlYWsgKGUuZy4sIDxwcmU+IHdpdGggJ1xuJykuCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAJKHJldmlzaW9uIDc4MzcxKQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTQ0LDcgKzU0NCw3IEBAIGZsb2F0IFJlbmRlclRleHRDb250cm9sOjpnZXRB
dmdDaGFyV2lkdGgKICAgICAgICAgcmV0dXJuIHJvdW5kZihzdHlsZSgpLT5mb250KCkucHJpbWFy
eUZvbnQoKS0+YXZnQ2hhcldpZHRoKCkpOwogCiAgICAgY29uc3QgVUNoYXIgY2ggPSAnMCc7IAot
ICAgIHJldHVybiBzdHlsZSgpLT5mb250KCkuZmxvYXRXaWR0aChUZXh0UnVuKCZjaCwgMSwgZmFs
c2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlLCBmYWxzZSwg
ZmFsc2UpKTsKKyAgICByZXR1cm4gc3R5bGUoKS0+Zm9udCgpLndpZHRoKFRleHRSdW4oJmNoLCAx
LCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgZmFsc2UpKTsK
IH0KIAogZmxvYXQgUmVuZGVyVGV4dENvbnRyb2w6OnNjYWxlRW1Ub1VuaXRzKGludCB4KSBjb25z
dApAQCAtNjM5LDcgKzYzOSw3IEBAIHZvaWQgUmVuZGVyVGV4dENvbnRyb2w6OnBhaW50UGxhY2Vo
b2xkZXIKICAgICBwYWludEluZm8uY29udGV4dC0+c2V0RmlsbENvbG9yKHBsYWNlaG9sZGVyU3R5
bGUtPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUNvbG9yKSwgcGxhY2Vob2xkZXJT
dHlsZS0+Y29sb3JTcGFjZSgpKTsKICAgICAKICAgICBTdHJpbmcgcGxhY2Vob2xkZXJUZXh0ID0g
c3RhdGljX2Nhc3Q8SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQqPihub2RlKCkpLT5zdHJpcHBl
ZFBsYWNlaG9sZGVyKCk7Ci0gICAgVGV4dFJ1biB0ZXh0UnVuKHBsYWNlaG9sZGVyVGV4dC5jaGFy
YWN0ZXJzKCksIHBsYWNlaG9sZGVyVGV4dC5sZW5ndGgoKSwgZmFsc2UsIDAsIDAsIFRleHRSdW46
OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sICFwbGFjZWhvbGRlclN0eWxlLT5pc0xlZnRUb1JpZ2h0
RGlyZWN0aW9uKCksIHBsYWNlaG9sZGVyU3R5bGUtPnVuaWNvZGVCaWRpKCkgPT0gT3ZlcnJpZGUs
IGZhbHNlLCBmYWxzZSk7CisgICAgVGV4dFJ1biB0ZXh0UnVuKHBsYWNlaG9sZGVyVGV4dC5jaGFy
YWN0ZXJzKCksIHBsYWNlaG9sZGVyVGV4dC5sZW5ndGgoKSwgZmFsc2UsIDAsIDAsIFRleHRSdW46
OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sICFwbGFjZWhvbGRlclN0eWxlLT5pc0xlZnRUb1JpZ2h0
RGlyZWN0aW9uKCksIHBsYWNlaG9sZGVyU3R5bGUtPnVuaWNvZGVCaWRpKCkgPT0gT3ZlcnJpZGUp
OwogICAgIAogICAgIFJlbmRlckJveCogdGV4dFJlbmRlcmVyID0gaW5uZXJUZXh0RWxlbWVudCgp
ID8gaW5uZXJUZXh0RWxlbWVudCgpLT5yZW5kZXJCb3goKSA6IDA7CiAgICAgaWYgKHRleHRSZW5k
ZXJlcikgewpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNU
ZXh0LmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVHJlZUFzVGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3MCwxMSArNDcwLDE3IEBAIHZv
aWQgUmVuZGVyVHJlZUFzVGV4dDo6d3JpdGVSZW5kZXJPYmplY3QKIAogc3RhdGljIHZvaWQgd3Jp
dGVUZXh0UnVuKFRleHRTdHJlYW0mIHRzLCBjb25zdCBSZW5kZXJUZXh0JiBvLCBjb25zdCBJbmxp
bmVUZXh0Qm94JiBydW4pCiB7Ci0gICAgLy8gRklYTUU6IFRhYmxlIGNlbGwgYWRqdXN0bWVudCBp
cyB0ZW1wb3JhcnkgdW50aWwgcmVzdWx0cyBjYW4gYmUgdXBkYXRlZC4KKyAgICAvLyBGSVhNRTog
Rm9yIG5vdyB1c2UgYW4gImVuY2xvc2luZ0ludFJlY3QiIG1vZGVsIGZvciB4LCB5IGFuZCBsb2dp
Y2FsV2lkdGgsIGFsdGhvdWdoIHRoaXMgbWFrZXMgaXQgaGFyZGVyCisgICAgLy8gdG8gZGV0ZWN0
IGFueSBjaGFuZ2VzIGNhdXNlZCBieSB0aGUgY29udmVyc2lvbiB0byBmbG9hdGluZyBwb2ludC4g
OigKKyAgICBpbnQgeCA9IHJ1bi5tX3g7CiAgICAgaW50IHkgPSBydW4ubV95OworICAgIGludCBs
b2dpY2FsV2lkdGggPSBjZWlsZihydW4ubV94ICsgcnVuLm1fbG9naWNhbFdpZHRoKSAtIHg7CisK
KyAgICAvLyBGSVhNRTogVGFibGUgY2VsbCBhZGp1c3RtZW50IGlzIHRlbXBvcmFyeSB1bnRpbCBy
ZXN1bHRzIGNhbiBiZSB1cGRhdGVkLgogICAgIGlmIChvLmNvbnRhaW5pbmdCbG9jaygpLT5pc1Rh
YmxlQ2VsbCgpKQogICAgICAgICB5IC09IHRvUmVuZGVyVGFibGVDZWxsKG8uY29udGFpbmluZ0Js
b2NrKCkpLT5pbnRyaW5zaWNQYWRkaW5nQmVmb3JlKCk7Ci0gICAgdHMgPDwgInRleHQgcnVuIGF0
ICgiIDw8IHJ1bi5tX3ggPDwgIiwiIDw8IHkgPDwgIikgd2lkdGggIiA8PCBydW4ubV9sb2dpY2Fs
V2lkdGg7CisgICAgICAgIAorICAgIHRzIDw8ICJ0ZXh0IHJ1biBhdCAoIiA8PCB4IDw8ICIsIiA8
PCB5IDw8ICIpIHdpZHRoICIgPDwgbG9naWNhbFdpZHRoOwogICAgIGlmICghcnVuLmlzTGVmdFRv
UmlnaHREaXJlY3Rpb24oKSB8fCBydW4ubV9kaXJPdmVycmlkZSkgewogICAgICAgICB0cyA8PCAo
IXJ1bi5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyAiIFJUTCIgOiAiIExUUiIpOwogICAgICAg
ICBpZiAocnVuLm1fZGlyT3ZlcnJpZGUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
Um9vdElubGluZUJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1Jvb3RJbmxpbmVCb3guY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9Sb290SW5saW5lQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTcsNyArOTcsNyBA
QCBib29sIFJvb3RJbmxpbmVCb3g6OmNhbkFjY29tbW9kYXRlRWxsaXBzCiAgICAgcmV0dXJuIElu
bGluZUZsb3dCb3g6OmNhbkFjY29tbW9kYXRlRWxsaXBzaXMobHRyLCBibG9ja0VkZ2UsIGVsbGlw
c2lzV2lkdGgpOwogfQogCi12b2lkIFJvb3RJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXMoY29uc3Qg
QXRvbWljU3RyaW5nJiBlbGxpcHNpc1N0ciwgIGJvb2wgbHRyLCBpbnQgYmxvY2tMZWZ0RWRnZSwg
aW50IGJsb2NrUmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCwKK3ZvaWQgUm9vdElubGluZUJv
eDo6cGxhY2VFbGxpcHNpcyhjb25zdCBBdG9taWNTdHJpbmcmIGVsbGlwc2lzU3RyLCAgYm9vbCBs
dHIsIGZsb2F0IGJsb2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxp
cHNpc1dpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElubGluZUJveCog
bWFya3VwQm94KQogewogICAgIC8vIENyZWF0ZSBhbiBlbGxpcHNpcyBib3guCkBAIC0xMjMsOSAr
MTIzLDkgQEAgdm9pZCBSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzKGNvbnN0IAogICAgIGVs
bGlwc2lzQm94LT5tX3ggPSBwbGFjZUVsbGlwc2lzQm94KGx0ciwgYmxvY2tMZWZ0RWRnZSwgYmxv
Y2tSaWdodEVkZ2UsIGVsbGlwc2lzV2lkdGgsIGZvdW5kQm94KTsKIH0KIAotaW50IFJvb3RJbmxp
bmVCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGludCBibG9ja0xlZnRFZGdlLCBpbnQg
YmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCkKK2Zsb2F0
IFJvb3RJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVm
dEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJiBm
b3VuZEJveCkKIHsKLSAgICBpbnQgcmVzdWx0ID0gSW5saW5lRmxvd0JveDo6cGxhY2VFbGxpcHNp
c0JveChsdHIsIGJsb2NrTGVmdEVkZ2UsIGJsb2NrUmlnaHRFZGdlLCBlbGxpcHNpc1dpZHRoLCBm
b3VuZEJveCk7CisgICAgZmxvYXQgcmVzdWx0ID0gSW5saW5lRmxvd0JveDo6cGxhY2VFbGxpcHNp
c0JveChsdHIsIGJsb2NrTGVmdEVkZ2UsIGJsb2NrUmlnaHRFZGdlLCBlbGxpcHNpc1dpZHRoLCBm
b3VuZEJveCk7CiAgICAgaWYgKHJlc3VsdCA9PSAtMSkKICAgICAgICAgcmVzdWx0ID0gbHRyID8g
YmxvY2tSaWdodEVkZ2UgLSBlbGxpcHNpc1dpZHRoIDogYmxvY2tMZWZ0RWRnZTsKICAgICByZXR1
cm4gcmVzdWx0OwpAQCAtMTk4LDEwICsxOTgsMTAgQEAgYm9vbCBSb290SW5saW5lQm94Ojpub2Rl
QXRQb2ludChjb25zdCBIaQogICAgIHJldHVybiBJbmxpbmVGbG93Qm94Ojpub2RlQXRQb2ludChy
ZXF1ZXN0LCByZXN1bHQsIHgsIHksIHR4LCB0eSk7CiB9CiAKLXZvaWQgUm9vdElubGluZUJveDo6
YWRqdXN0UG9zaXRpb24oaW50IGR4LCBpbnQgZHkpCit2b2lkIFJvb3RJbmxpbmVCb3g6OmFkanVz
dFBvc2l0aW9uKGZsb2F0IGR4LCBmbG9hdCBkeSkKIHsKICAgICBJbmxpbmVGbG93Qm94OjphZGp1
c3RQb3NpdGlvbihkeCwgZHkpOwotICAgIGludCBibG9ja0RpcmVjdGlvbkRlbHRhID0gaXNIb3Jp
em9udGFsKCkgPyBkeSA6IGR4OworICAgIGludCBibG9ja0RpcmVjdGlvbkRlbHRhID0gaXNIb3Jp
em9udGFsKCkgPyBkeSA6IGR4OyAvLyBUaGUgYmxvY2sgZGlyZWN0aW9uIGRlbHRhIHdpbGwgYWx3
YXlzIGJlIGludGVncmFsLgogICAgIG1fbGluZVRvcCArPSBibG9ja0RpcmVjdGlvbkRlbHRhOwog
ICAgIG1fbGluZUJvdHRvbSArPSBibG9ja0RpcmVjdGlvbkRlbHRhOwogICAgIG1fYmxvY2tMb2dp
Y2FsSGVpZ2h0ICs9IGJsb2NrRGlyZWN0aW9uRGVsdGE7CkBAIC0yODksNyArMjg5LDcgQEAgaW50
IFJvb3RJbmxpbmVCb3g6OmJlZm9yZUFubm90YXRpb25zQWRqdQogCiAgICAgICAgIC8vIEFubm90
YXRpb25zIG92ZXIgdGhpcyBsaW5lIG1heSBwdXNoIHVzIGZ1cnRoZXIgZG93bi4KICAgICAgICAg
aW50IGhpZ2hlc3RBbGxvd2VkUG9zaXRpb24gPSBwcmV2Um9vdEJveCgpID8gbWluKHByZXZSb290
Qm94KCktPmxpbmVCb3R0b20oKSwgbGluZVRvcCgpKSArIHJlc3VsdCA6IGJsb2NrKCktPmJvcmRl
ckJlZm9yZSgpOwotICAgICAgICByZXN1bHQgPSAgY29tcHV0ZU92ZXJBbm5vdGF0aW9uQWRqdXN0
bWVudChoaWdoZXN0QWxsb3dlZFBvc2l0aW9uKTsKKyAgICAgICAgcmVzdWx0ID0gY29tcHV0ZU92
ZXJBbm5vdGF0aW9uQWRqdXN0bWVudChoaWdoZXN0QWxsb3dlZFBvc2l0aW9uKTsKICAgICB9IGVs
c2UgewogICAgICAgICAvLyBBbm5vdGF0aW9ucyB1bmRlciB0aGlzIGxpbmUgbWF5IHB1c2ggdXMg
dXAuCiAgICAgICAgIGlmIChoYXNBbm5vdGF0aW9uc0JlZm9yZSgpKQpAQCAtNTQ0LDE0ICs1NDQs
MTQgQEAgSW50UmVjdCBSb290SW5saW5lQm94OjpwYWRkZWRMYXlvdXRPdmVyZgogICAgIAogICAg
IGlmIChpc0hvcml6b250YWwoKSkgewogICAgICAgICBpZiAoaXNMZWZ0VG9SaWdodERpcmVjdGlv
bigpKQotICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0TWF4WEVkZ2VUbyhtYXgo
bGluZUxheW91dE92ZXJmbG93Lm1heFgoKSwgbG9naWNhbFJpZ2h0KCkgKyBlbmRQYWRkaW5nKSk7
CisgICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRNYXhYRWRnZVRvKG1heChsaW5l
TGF5b3V0T3ZlcmZsb3cubWF4WCgpLCBwaXhlbFNuYXBwZWRMb2dpY2FsUmlnaHQoKSArIGVuZFBh
ZGRpbmcpKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNo
aWZ0WEVkZ2VUbyhtaW4obGluZUxheW91dE92ZXJmbG93LngoKSwgbG9naWNhbExlZnQoKSAtIGVu
ZFBhZGRpbmcpKTsKKyAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdFhFZGdlVG8o
bWluKGxpbmVMYXlvdXRPdmVyZmxvdy54KCksIHBpeGVsU25hcHBlZExvZ2ljYWxMZWZ0KCkgLSBl
bmRQYWRkaW5nKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKGlzTGVmdFRvUmlnaHREaXJl
Y3Rpb24oKSkKLSAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdE1heFlFZGdlVG8o
bWF4KGxpbmVMYXlvdXRPdmVyZmxvdy5tYXhZKCksIGxvZ2ljYWxSaWdodCgpICsgZW5kUGFkZGlu
ZykpOworICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0TWF4WUVkZ2VUbyhtYXgo
bGluZUxheW91dE92ZXJmbG93Lm1heFkoKSwgcGl4ZWxTbmFwcGVkTG9naWNhbFJpZ2h0KCkgKyBl
bmRQYWRkaW5nKSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxv
dy5zaGlmdFlFZGdlVG8obWluKGxpbmVMYXlvdXRPdmVyZmxvdy55KCksIGxvZ2ljYWxSaWdodCgp
IC0gZW5kUGFkZGluZykpOworICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0WUVk
Z2VUbyhtaW4obGluZUxheW91dE92ZXJmbG93LnkoKSwgcGl4ZWxTbmFwcGVkTG9naWNhbExlZnQo
KSAtIGVuZFBhZGRpbmcpKTsKICAgICB9CiAgICAgCiAgICAgcmV0dXJuIGxpbmVMYXlvdXRPdmVy
ZmxvdzsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAkocmV2
aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5o
CSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw3IEBAIHB1YmxpYzoKICAgICBSb290SW5saW5l
Qm94KiBuZXh0Um9vdEJveCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFJvb3RJbmxpbmVC
b3gqPihtX25leHRMaW5lQm94KTsgfQogICAgIFJvb3RJbmxpbmVCb3gqIHByZXZSb290Qm94KCkg
Y29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Um9vdElubGluZUJveCo+KG1fcHJldkxpbmVCb3gp
OyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UG9zaXRpb24oaW50IGR4LCBpbnQgZHkpOwor
ICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihmbG9hdCBkeCwgZmxvYXQgZHkpOwogCiAg
ICAgaW50IGxpbmVUb3AoKSBjb25zdCB7IHJldHVybiBtX2xpbmVUb3A7IH0KICAgICBpbnQgbGlu
ZUJvdHRvbSgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUJvdHRvbTsgfQpAQCAtNzgsOCArNzgsOCBA
QCBwdWJsaWM6CiAgICAgdm9pZCBjaGlsZFJlbW92ZWQoSW5saW5lQm94KiBib3gpOwogCiAgICAg
Ym9vbCBjYW5BY2NvbW1vZGF0ZUVsbGlwc2lzKGJvb2wgbHRyLCBpbnQgYmxvY2tFZGdlLCBpbnQg
bGluZUJveEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoKTsKLSAgICB2b2lkIHBsYWNlRWxsaXBzaXMo
Y29uc3QgQXRvbWljU3RyaW5nJiBlbGxpcHNpc1N0ciwgYm9vbCBsdHIsIGludCBibG9ja0xlZnRF
ZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBJbmxpbmVCb3gqIG1h
cmt1cEJveCA9IDApOwotICAgIHZpcnR1YWwgaW50IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIs
IGludCBibG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRo
LCBib29sJiBmb3VuZEJveCk7CisgICAgdm9pZCBwbGFjZUVsbGlwc2lzKGNvbnN0IEF0b21pY1N0
cmluZyYgZWxsaXBzaXNTdHIsIGJvb2wgbHRyLCBmbG9hdCBibG9ja0xlZnRFZGdlLCBmbG9hdCBi
bG9ja1JpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgSW5saW5lQm94KiBtYXJrdXBCb3gg
PSAwKTsKKyAgICB2aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGZsb2F0
IGJsb2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRo
LCBib29sJiBmb3VuZEJveCk7CiAKICAgICBFbGxpcHNpc0JveCogZWxsaXBzaXNCb3goKSBjb25z
dDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGlu
ZVRleHRCb3guY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxNSw5ICs0MTUs
NiBAQCBUZXh0UnVuIFNWR0lubGluZVRleHRCb3g6OmNvbnN0cnVjdFRleHRSCiAgICAgcnVuLnNl
dFJlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KHRleHQpOwogI2VuZGlmCiAKLSAgICAvLyBEaXNhYmxl
IGFueSB3b3JkL2NoYXJhY3RlciByb3VuZGluZy4KLSAgICBydW4uZGlzYWJsZVJvdW5kaW5nSGFj
a3MoKTsKLQogICAgIC8vIFdlIGhhbmRsZSBsZXR0ZXIgJiB3b3JkIHNwYWNpbmcgb3Vyc2VsdmVz
LgogICAgIHJ1bi5kaXNhYmxlU3BhY2luZygpOwogICAgIHJldHVybiBydW47CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzLmNwcAkocmV2aXNp
b24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcsOCArNDcsOSBAQCBTVkdUZXh0TWV0cmljczo6U1ZH
VGV4dE1ldHJpY3MoUmVuZGVyU1ZHCiAgICAgaW50IGxlbmd0aCA9IDA7CiAKICAgICAvLyBDYWxj
dWxhdGUgd2lkdGgvaGVpZ2h0IHVzaW5nIHRoZSBzY2FsZWQgZm9udCwgZGl2aWRlIHRoaXMgcmVz
dWx0IGJ5IHRoZSBzY2FsaW5nRmFjdG9yIGFmdGVyd2FyZHMuCi0gICAgbV93aWR0aCA9IHNjYWxl
ZEZvbnQuZmxvYXRXaWR0aChydW4sIGV4dHJhQ2hhcnNBdmFpbGFibGUsIGxlbmd0aCwgbV9nbHlw
aC5uYW1lKSAvIHNjYWxpbmdGYWN0b3I7CisgICAgbV93aWR0aCA9IHNjYWxlZEZvbnQud2lkdGgo
cnVuLCBleHRyYUNoYXJzQXZhaWxhYmxlLCBsZW5ndGgsIG1fZ2x5cGgubmFtZSkgLyBzY2FsaW5n
RmFjdG9yOwogICAgIG1faGVpZ2h0ID0gc2NhbGVkRm9udC5mb250TWV0cmljcygpLmZsb2F0SGVp
Z2h0KCkgLyBzY2FsaW5nRmFjdG9yOworCiAgICAgbV9nbHlwaC51bmljb2RlU3RyaW5nID0gU3Ry
aW5nKHJ1bi5jaGFyYWN0ZXJzKCksIGxlbmd0aCk7CiAgICAgbV9nbHlwaC5pc1ZhbGlkID0gdHJ1
ZTsKIApAQCAtNzksOSArODAsNiBAQCBzdGF0aWMgVGV4dFJ1biBjb25zdHJ1Y3RUZXh0UnVuKFJl
bmRlclNWCiAgICAgcnVuLnNldFJlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KHRleHQpOwogI2VuZGlm
CiAKLSAgICAvLyBEaXNhYmxlIGFueSB3b3JkL2NoYXJhY3RlciByb3VuZGluZy4KLSAgICBydW4u
ZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsKLQogICAgIC8vIFdlIGhhbmRsZSBsZXR0ZXIgJiB3b3Jk
IHNwYWNpbmcgb3Vyc2VsdmVzLgogICAgIHJ1bi5kaXNhYmxlU3BhY2luZygpOwogICAgIHJldHVy
biBydW47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnQuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYyLDcgKzM2
Miw3IEBAIHN0YXRpYyB2b2lkIGZsb2F0V2lkdGhNaXNzaW5nR2x5cGhDYWxsYmEKICAgICBGb250
IGZvbnQoZm9udERlc2NyaXB0aW9uLCAwLCAwKTsgLy8gc3BhY2luZyBoYW5kbGVkIGJ5IFNWRyB0
ZXh0IGNvZGUuCiAgICAgZm9udC51cGRhdGUoZGF0YS5mb250LT5mb250U2VsZWN0b3IoKSk7CiAK
LSAgICBkYXRhLmxlbmd0aCArPSBmb250LmZsb2F0V2lkdGgocnVuKTsKKyAgICBkYXRhLmxlbmd0
aCArPSBmb250LndpZHRoKHJ1bik7CiB9CiAKIApAQCAtNTczLDkgKzU3Myw5IEBAIHZvaWQgRm9u
dDo6ZHJhd1RleHRVc2luZ1NWR0ZvbnQoR3JhcGhpY3MKICAgICAgICAgICAgICAgICBmb250LmRy
YXdUZXh0KGNvbnRleHQsIGZhbGxiYWNrQ2hhcmFjdGVyUnVuLCBjdXJyZW50UG9pbnQpOwogCiAg
ICAgICAgICAgICAgICAgaWYgKGlzVmVydGljYWxUZXh0KQotICAgICAgICAgICAgICAgICAgICBj
dXJyZW50UG9pbnQubW92ZSgwLjBmLCBmb250LmZsb2F0V2lkdGgoZmFsbGJhY2tDaGFyYWN0ZXJS
dW4pKTsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudFBvaW50Lm1vdmUoMC4wZiwgZm9udC53
aWR0aChmYWxsYmFja0NoYXJhY3RlclJ1bikpOwogICAgICAgICAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgICAgICAgICAgY3VycmVudFBvaW50Lm1vdmUoZm9udC5mbG9hdFdpZHRoKGZhbGxiYWNr
Q2hhcmFjdGVyUnVuKSwgMC4wZik7CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRQb2ludC5t
b3ZlKGZvbnQud2lkdGgoZmFsbGJhY2tDaGFyYWN0ZXJSdW4pLCAwLjBmKTsKIAogICAgICAgICAg
ICAgICAgIGZhbGxiYWNrQ2hhcmFjdGVySW5kZXgrKzsKICAgICAgICAgICAgIH0KSW5kZXg6IFNv
dXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0TlNTdHJpbmdFeHRyYXMubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXROU1N0cmluZ0V4dHJhcy5tbQkocmV2aXNp
b24gNzgzNzEpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdE5TU3RyaW5nRXh0cmFz
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC05MSw3ICs5MSw2IEBAIC0gKHZvaWQpX3dlYl9kcmF3QXRQ
b2ludDooTlNQb2ludClwb2ludCAKIAogICAgICAgICBGb250IHdlYkNvcmVGb250KEZvbnRQbGF0
Zm9ybURhdGEoZm9udCwgW2ZvbnQgcG9pbnRTaXplXSksICFbbnNDb250ZXh0IGlzRHJhd2luZ1Rv
U2NyZWVuXSwgZm9udFNtb290aGluZ0lzQWxsb3dlZCA/IEF1dG9TbW9vdGhpbmcgOiBBbnRpYWxp
YXNlZCk7CiAgICAgICAgIFRleHRSdW4gcnVuKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCk7Ci0gICAg
ICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwogCiAgICAgICAgIENHRmxvYXQgcmVkOwog
ICAgICAgICBDR0Zsb2F0IGdyZWVuOwpAQCAtMTM3LDggKzEzNiw3IEBAIC0gKGZsb2F0KV93ZWJf
d2lkdGhXaXRoRm9udDooTlNGb250ICopZm8KICAgICBpZiAoY2FuVXNlRmFzdFJlbmRlcmVyKGJ1
ZmZlci5kYXRhKCksIGxlbmd0aCkpIHsKICAgICAgICAgRm9udCB3ZWJDb3JlRm9udChGb250UGxh
dGZvcm1EYXRhKGZvbnQsIFtmb250IHBvaW50U2l6ZV0pLCAhW1tOU0dyYXBoaWNzQ29udGV4dCBj
dXJyZW50Q29udGV4dF0gaXNEcmF3aW5nVG9TY3JlZW5dKTsKICAgICAgICAgVGV4dFJ1biBydW4o
YnVmZmVyLmRhdGEoKSwgbGVuZ3RoKTsKLSAgICAgICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tz
KCk7Ci0gICAgICAgIHJldHVybiB3ZWJDb3JlRm9udC5mbG9hdFdpZHRoKHJ1bik7CisgICAgICAg
IHJldHVybiB3ZWJDb3JlRm9udC53aWR0aChydW4pOwogICAgIH0KIAogICAgIHJldHVybiBbc2Vs
ZiBzaXplV2l0aEF0dHJpYnV0ZXM6W05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0aE9iamVjdHNB
bmRLZXlzOmZvbnQsIE5TRm9udEF0dHJpYnV0ZU5hbWUsIG5pbF1dLndpZHRoOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82187</attachid>
            <date>2011-02-11 15:05:13 -0800</date>
            <delta_ts>2011-02-11 15:29:27 -0800</delta_ts>
            <desc>Patch that applies (ignore for review, just testing builds)</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>164854</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0zOTksOSArMzk5LDkgQEAgX19a
TjdXZWJDb3JlMTVQcm90ZWN0aW9uU3BhY2VDMUVSS04zV1RGNgogX19aTjdXZWJDb3JlMTVQcm90
ZWN0aW9uU3BhY2VDMUV2CiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE3YWxpZ25DZW50
ZXJBbHdheXNFCiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE5YWxpZ25Ub0VkZ2VJZk5l
ZWRlZEUKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRlRVJLTjNX
VEY2U3RyaW5nRWZSS05TXzRGb250RWIKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRj
ZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0VmUktOU180Rm9udEViCi1fX1pON1dlYkNvcmUx
NVN0cmluZ1RydW5jYXRvcjV3aWR0aEVSS04zV1RGNlN0cmluZ0VSS05TXzRGb250RWIKK19fWk43
V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRjZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0Vm
UktOU180Rm9udEUKK19fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRl
RVJLTjNXVEY2U3RyaW5nRWZSS05TXzRGb250RQorX19aTjdXZWJDb3JlMTVTdHJpbmdUcnVuY2F0
b3I1d2lkdGhFUktOM1dURjZTdHJpbmdFUktOU180Rm9udEUKIF9fWk43V2ViQ29yZTE1VmlzaWJs
ZVBvc2l0aW9uQzFFUE5TXzROb2RlRWlOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3JlMTVWaXNp
YmxlUG9zaXRpb25DMUVSS05TXzhQb3NpdGlvbkVOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3Jl
MTVkZWZhdWx0TGFuZ3VhZ2VFdgpAQCAtMTEyNSw3ICsxMTI1LDcgQEAgX19aTks3V2ViQ29yZTI3
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VCYQogX19aTks3V2ViQ29yZTI3QXV0aGVudGljYXRpb25D
aGFsbGVuZ2VCYXNlMjBwcmV2aW91c0ZhaWx1cmVDb3VudEV2CiBfX1pOSzdXZWJDb3JlMjdBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZUJhc2U1ZXJyb3JFdgogX19aTks3V2ViQ29yZTI3QXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VCYXNlNmlzTnVsbEV2Ci1fX1pOSzdXZWJDb3JlNEZvbnQxMGZsb2F0V2lk
dGhFUktOU183VGV4dFJ1bkVQTjNXVEY3SGFzaFNldElQS05TXzE0U2ltcGxlRm9udERhdGFFTlM0
XzdQdHJIYXNoSVM4X0VFTlM0XzEwSGFzaFRyYWl0c0lTOF9FRUVFUE5TXzEzR2x5cGhPdmVyZmxv
d0UKK19fWk5LN1dlYkNvcmU0Rm9udDV3aWR0aEVSS05TXzdUZXh0UnVuRVBOM1dURjdIYXNoU2V0
SVBLTlNfMTRTaW1wbGVGb250RGF0YUVOUzRfN1B0ckhhc2hJUzhfRUVOUzRfMTBIYXNoVHJhaXRz
SVM4X0VFRUVQTlNfMTNHbHlwaE92ZXJmbG93RQogX19aTks3V2ViQ29yZTRGb250OGRyYXdUZXh0
RVBOU18xNUdyYXBoaWNzQ29udGV4dEVSS05TXzdUZXh0UnVuRVJLTlNfMTBGbG9hdFBvaW50RWlp
CiBfX1pOSzdXZWJDb3JlNEtVUkwxMWNyZWF0ZUNGVVJMRXYKIF9fWk5LN1dlYkNvcmU0S1VSTDEx
aXNMb2NhbEZpbGVFdgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE3NzEsNyArMTc3MSw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjpkcmF3VGV4dEkKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRleHQubGVuZ3RoKCk7
CiAgICAgY29uc3QgVUNoYXIqIHN0cmluZyA9IHRleHQuY2hhcmFjdGVycygpOwotICAgIFRleHRS
dW4gdGV4dFJ1bihzdHJpbmcsIGxlbmd0aCwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJh
aWxpbmdFeHBhbnNpb24sIHJ0bCwgb3ZlcnJpZGUsIGZhbHNlLCBmYWxzZSk7CisgICAgVGV4dFJ1
biB0ZXh0UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFp
bGluZ0V4cGFuc2lvbiwgcnRsLCBvdmVycmlkZSk7CiAKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRl
eHQgYXQgdGhlIGNvcnJlY3QgcG9pbnQuCiAgICAgRmxvYXRQb2ludCBsb2NhdGlvbih4LCB5KTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21p
dW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0Zp
bGVDaG9vc2VyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00NCw5ICs0NCw5IEBAIFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChj
b24KICAgICBlbHNlIGlmIChtX2ZpbGVuYW1lcy5zaXplKCkgPT0gMSkKICAgICAgICAgc3RyaW5n
ID0gcGF0aEdldERpc3BsYXlGaWxlTmFtZShtX2ZpbGVuYW1lc1swXSk7CiAgICAgZWxzZQotICAg
ICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmlsZVVw
bG9hZFRleHQobV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICAg
ICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxv
YWRUZXh0KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250KTsKIAotICAgIHJldHVybiBT
dHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0cmluZywgc3RhdGljX2Nhc3Q8ZmxvYXQ+
KHdpZHRoKSwgZm9udCwgZmFsc2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRl
clRydW5jYXRlKHN0cmluZywgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHdpZHRoKSwgZm9udCk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxNyArMzksNiBAQCB1
c2luZyBuYW1lc3BhY2UgVW5pY29kZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1
aW50OF90IEZvbnQ6OmdSb3VuZGluZ0hhY2tDaGFyYWN0ZXJUYWJsZVsyNTZdID0gewotICAgIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEgLypcdCovLCAxIC8qXG4qLywgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAx
IC8qc3BhY2UqLywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKi0qLywg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKj8q
LywKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAxIC8qbm8tYnJlYWsgc3BhY2UqLywgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAK
LX07Ci0KIEZvbnQ6OkNvZGVQYXRoIEZvbnQ6OnNfY29kZVBhdGggPSBBdXRvOwogCiAvLyA9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtMTc2LDcgKzE2NSw3IEBAIHZvaWQg
Rm9udDo6ZHJhd0VtcGhhc2lzTWFya3MoR3JhcGhpY3NDb24KICAgICAgICAgZHJhd0VtcGhhc2lz
TWFya3NGb3JDb21wbGV4VGV4dChjb250ZXh0LCBydW4sIG1hcmssIHBvaW50LCBmcm9tLCB0byk7
CiB9CiAKLWZsb2F0IEZvbnQ6OmZsb2F0V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0
PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGds
eXBoT3ZlcmZsb3cpIGNvbnN0CitmbG9hdCBGb250Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4s
IEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVy
ZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAg
IGlmIChwcmltYXJ5Rm9udCgpLT5pc1NWR0ZvbnQoKSkKQEAgLTE5NCw3ICsxODMsNyBAQCBmbG9h
dCBGb250OjpmbG9hdFdpZHRoKGNvbnN0IFRleHRSdW4mIHJ1CiAgICAgcmV0dXJuIGZsb2F0V2lk
dGhGb3JDb21wbGV4VGV4dChydW4sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQog
Ci1mbG9hdCBGb250OjpmbG9hdFdpZHRoKGNvbnN0IFRleHRSdW4mIHJ1biwgaW50IGV4dHJhQ2hh
cnNBdmFpbGFibGUsIGludCYgY2hhcnNDb25zdW1lZCwgU3RyaW5nJiBnbHlwaE5hbWUpIGNvbnN0
CitmbG9hdCBGb250Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIGludCBleHRyYUNoYXJzQXZh
aWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQsIFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdAogewog
I2lmICFFTkFCTEUoU1ZHX0ZPTlRTKQogICAgIFVOVVNFRF9QQVJBTShleHRyYUNoYXJzQXZhaWxh
YmxlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHJldmlz
aW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCSh3
b3JraW5nIGNvcHkpCkBAIC05NCw5ICs5NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRyYXdUZXh0
KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50JiwgaW50
IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7CiAgICAgdm9pZCBkcmF3RW1waGFzaXNNYXJr
cyhHcmFwaGljc0NvbnRleHQqLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgQXRvbWljU3RyaW5nJiBt
YXJrLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7
CiAKLSAgICBpbnQgd2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IFNpbXBs
ZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJm
bG93ID0gMCkgY29uc3QgeyByZXR1cm4gbHJvdW5kZihmbG9hdFdpZHRoKHJ1biwgZmFsbGJhY2tG
b250cywgZ2x5cGhPdmVyZmxvdykpOyB9Ci0gICAgZmxvYXQgZmxvYXRXaWR0aChjb25zdCBUZXh0
UnVuJiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwg
R2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdyA9IDApIGNvbnN0OwotICAgIGZsb2F0IGZsb2F0
V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBpbnQgZXh0cmFDaGFyc0F2YWlsYWJsZSwgaW50JiBj
aGFyc0NvbnN1bWVkLCBTdHJpbmcmIGdseXBoTmFtZSkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgo
Y29uc3QgVGV4dFJ1biYsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tG
b250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgoY29u
c3QgVGV4dFJ1biYsIGludCBleHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQs
IFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdDsKIAogICAgIGludCBvZmZzZXRGb3JQb3NpdGlvbihj
b25zdCBUZXh0UnVuJiwgZmxvYXQgcG9zaXRpb24sIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMp
IGNvbnN0OwogICAgIEZsb2F0UmVjdCBzZWxlY3Rpb25SZWN0Rm9yVGV4dChjb25zdCBUZXh0UnVu
JiwgY29uc3QgRmxvYXRQb2ludCYsIGludCBoLCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKSBj
b25zdDsKQEAgLTEyOSw4ICsxMjgsOCBAQCBwdWJsaWM6CiAKICAgICAvLyBNZXRyaWNzIHRoYXQg
d2UgcXVlcnkgdGhlIEZvbnRGYWxsYmFja0xpc3QgZm9yLgogICAgIGNvbnN0IEZvbnRNZXRyaWNz
JiBmb250TWV0cmljcygpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmZvbnRNZXRyaWNz
KCk7IH0KLSAgICBpbnQgc3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIChpbnQpY2VpbGYocHJp
bWFyeUZvbnQoKS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmcpOyB9Ci0g
ICAgZmxvYXQgdGFiV2lkdGgoY29uc3QgU2ltcGxlRm9udERhdGEmIGZvbnREYXRhKSBjb25zdCB7
IHJldHVybiA4ICogY2VpbGYoZm9udERhdGEuYWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBsZXR0ZXJT
cGFjaW5nKCkpOyB9CisgICAgaW50IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBwcmltYXJ5
Rm9udCgpLT5zcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmc7IH0KKyAgICBmbG9hdCB0YWJX
aWR0aChjb25zdCBTaW1wbGVGb250RGF0YSYgZm9udERhdGEpIGNvbnN0IHsgcmV0dXJuIDggKiBm
b250RGF0YS5zcGFjZVdpZHRoKCkgKyBsZXR0ZXJTcGFjaW5nKCk7IH0KICAgICBpbnQgZW1waGFz
aXNNYXJrQXNjZW50KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNp
c01hcmtEZXNjZW50KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNp
c01hcmtIZWlnaHQoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CkBAIC0yMDEsMTIgKzIwMCw2
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgQ29kZVBhdGggY29kZVBhdGgoKTsKICAgICBzdGF0aWMg
Q29kZVBhdGggc19jb2RlUGF0aDsKIAotICAgIHN0YXRpYyBjb25zdCB1aW50OF90IGdSb3VuZGlu
Z0hhY2tDaGFyYWN0ZXJUYWJsZVsyNTZdOwotICAgIHN0YXRpYyBib29sIGlzUm91bmRpbmdIYWNr
Q2hhcmFjdGVyKFVDaGFyMzIgYykKLSAgICB7Ci0gICAgICAgIHJldHVybiAoKChjICYgfjB4RkYp
ID09IDAgJiYgZ1JvdW5kaW5nSGFja0NoYXJhY3RlclRhYmxlW2NdKSk7Ci0gICAgfQotCiAgICAg
Rm9udFNlbGVjdG9yKiBmb250U2VsZWN0b3IoKSBjb25zdDsKICAgICBzdGF0aWMgYm9vbCB0cmVh
dEFzU3BhY2UoVUNoYXIgYykgeyByZXR1cm4gYyA9PSAnICcgfHwgYyA9PSAnXHQnIHx8IGMgPT0g
J1xuJyB8fCBjID09IG5vQnJlYWtTcGFjZTsgfQogICAgIHN0YXRpYyBib29sIHRyZWF0QXNaZXJv
V2lkdGhTcGFjZShVQ2hhciBjKSB7IHJldHVybiBjIDwgMHgyMCB8fCAoYyA+PSAweDdGICYmIGMg
PCAweEEwKSB8fCBjID09IHNvZnRIeXBoZW4gfHwgKGMgPj0gMHgyMDBjICYmIGMgPD0gMHgyMDBm
KSB8fCAoYyA+PSAweDIwMmEgJiYgYyA8PSAweDIwMmUpIHx8IGMgPT0gb2JqZWN0UmVwbGFjZW1l
bnRDaGFyYWN0ZXI7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRGYXN0UGF0aC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udEZhc3RQYXRoLmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
OTcsOSArMjk3LDggQEAgZmxvYXQgRm9udDo6Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JTaW1wbAog
ICAgIGZsb2F0IGFmdGVyV2lkdGggPSBpdC5tX3J1bldpZHRoU29GYXI7CiAKICAgICBpZiAocnVu
LnJ0bCgpKSB7Ci0gICAgICAgIGZsb2F0IGZpbmFsUm91bmRpbmdXaWR0aCA9IGl0Lm1fZmluYWxS
b3VuZGluZ1dpZHRoOwogICAgICAgICBpdC5hZHZhbmNlKHJ1bi5sZW5ndGgoKSk7Ci0gICAgICAg
IGluaXRpYWxBZHZhbmNlID0gZmluYWxSb3VuZGluZ1dpZHRoICsgaXQubV9ydW5XaWR0aFNvRmFy
IC0gYWZ0ZXJXaWR0aDsKKyAgICAgICAgaW5pdGlhbEFkdmFuY2UgPSBpdC5tX3J1bldpZHRoU29G
YXIgLSBhZnRlcldpZHRoOwogICAgIH0gZWxzZQogICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGJl
Zm9yZVdpZHRoOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzc1LDcgKzM3NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3SW1hZ2UoSW1h
Z2UqIGkKIH0KIAogI2lmICFPUyhXSU5DRSkgfHwgUExBVEZPUk0oUVQpCi12b2lkIEdyYXBoaWNz
Q29udGV4dDo6ZHJhd1RleHQoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBj
b25zdCBJbnRQb2ludCYgcG9pbnQsIGludCBmcm9tLCBpbnQgdG8pCit2b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd1RleHQoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBjb25z
dCBGbG9hdFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bykKIHsKICAgICBpZiAocGFpbnRp
bmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC0zODQsNyArMzg0LDcgQEAgdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdUZXh0KGNvbnN0IEZvbgogfQogI2VuZGlmCiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpkcmF3RW1waGFzaXNNYXJrcyhjb25zdCBGb250JiBmb250LCBjb25zdCBU
ZXh0UnVuJiBydW4sIGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaywgY29uc3QgSW50UG9pbnQmIHBv
aW50LCBpbnQgZnJvbSwgaW50IHRvKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdFbXBoYXNp
c01hcmtzKGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgQXRvbWlj
U3RyaW5nJiBtYXJrLCBjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bykK
IHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC00MjIs
MTMgKzQyMiwxMyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0JpZGlUZXh0KGNvbnN0CiAg
ICAgICAgIGJpZGlSdW4gPSBiaWRpUnVuLT5uZXh0KCk7CiAgICAgICAgIC8vIEZJWE1FOiBIYXZl
IEZvbnQ6OmRyYXdUZXh0IHJldHVybiB0aGUgd2lkdGggb2Ygd2hhdCBpdCBkcmV3IHNvIHRoYXQg
d2UgZG9uJ3QgaGF2ZSB0byByZS1tZWFzdXJlIGhlcmUuCiAgICAgICAgIGlmIChiaWRpUnVuKQot
ICAgICAgICAgICAgY3VyclBvaW50Lm1vdmUoZm9udC5mbG9hdFdpZHRoKHN1YnJ1biksIDAuZik7
CisgICAgICAgICAgICBjdXJyUG9pbnQubW92ZShmb250LndpZHRoKHN1YnJ1biksIDApOwogICAg
IH0KIAogICAgIGJpZGlSZXNvbHZlci5kZWxldGVSdW5zKCk7CiB9CiAKLXZvaWQgR3JhcGhpY3ND
b250ZXh0OjpkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0
UnVuJiBydW4sIGNvbnN0IEludFBvaW50JiBwb2ludCwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNr
Z3JvdW5kQ29sb3IsIENvbG9yU3BhY2UgY29sb3JTcGFjZSwgaW50IGZyb20sIGludCB0bykKK3Zv
aWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiBmb250
LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBpbnQgaCwgY29u
c3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgQ29sb3JTcGFjZSBjb2xvclNwYWNlLCBpbnQgZnJv
bSwgaW50IHRvKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVy
bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5oCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzUsMjAgKzMz
NSwyMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFRleHREcmF3aW5nTW9kZUZsYWdz
IHRleHREcmF3aW5nTW9kZSgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldFRleHREcmF3aW5nTW9k
ZShUZXh0RHJhd2luZ01vZGVGbGFncyk7CiAKLSAgICAgICAgdm9pZCBkcmF3VGV4dChjb25zdCBG
b250JiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IEludFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQg
dG8gPSAtMSk7Ci0gICAgICAgIHZvaWQgZHJhd0VtcGhhc2lzTWFya3MoY29uc3QgRm9udCYsIGNv
bnN0IFRleHRSdW4mICwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBJbnRQb2ludCYs
IGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRyYXdUZXh0KGNvbnN0
IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxvYXRQb2ludCYsIGludCBmcm9tID0gMCwg
aW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRyYXdFbXBoYXNpc01hcmtzKGNvbnN0IEZvbnQm
LCBjb25zdCBUZXh0UnVuJiAsIGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaywgY29uc3QgRmxvYXRQ
b2ludCYsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOwogICAgICAgICB2b2lkIGRyYXdCaWRp
VGV4dChjb25zdCBGb250JiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IEZsb2F0UG9pbnQmKTsKLSAg
ICAgICAgdm9pZCBkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiwgY29uc3QgVGV4dFJ1
biYsIGNvbnN0IEludFBvaW50JiwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3Is
IENvbG9yU3BhY2UsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRy
YXdIaWdobGlnaHRGb3JUZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxv
YXRQb2ludCYsIGludCBoLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yLCBDb2xvclNwYWNl
LCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKTsKIAogICAgICAgICBGbG9hdFJlY3Qgcm91bmRU
b0RldmljZVBpeGVscyhjb25zdCBGbG9hdFJlY3QmKTsKIAotICAgICAgICB2b2lkIGRyYXdMaW5l
Rm9yVGV4dChjb25zdCBJbnRQb2ludCYsIGludCB3aWR0aCwgYm9vbCBwcmludGluZyk7CisgICAg
ICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmLCBmbG9hdCB3aWR0aCwg
Ym9vbCBwcmludGluZyk7CiAgICAgICAgIGVudW0gVGV4dENoZWNraW5nTGluZVN0eWxlIHsKICAg
ICAgICAgICAgIFRleHRDaGVja2luZ1NwZWxsaW5nTGluZVN0eWxlLAogICAgICAgICAgICAgVGV4
dENoZWNraW5nR3JhbW1hckxpbmVTdHlsZSwKICAgICAgICAgICAgIFRleHRDaGVja2luZ1JlcGxh
Y2VtZW50TGluZVN0eWxlCiAgICAgICAgIH07Ci0gICAgICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0
Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmLCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHls
ZSk7CisgICAgICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2lu
dCYsIGZsb2F0IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUpOwogCiAgICAgICAgIGJvb2wg
cGFpbnRpbmdEaXNhYmxlZCgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldFBhaW50aW5nRGlzYWJs
ZWQoYm9vbCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVG
b250RGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvU2ltcGxlRm9udERhdGEuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTA4LDcgKzEwOCw2IEBAIFNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShQYXNzT3duUHQK
ICAgICBtX3NwYWNlR2x5cGggPSAwOwogICAgIG1femVyb1dpZHRoU3BhY2VHbHlwaCA9IDA7CiAg
ICAgZGV0ZXJtaW5lUGl0Y2goKTsKLSAgICBtX2FkanVzdGVkU3BhY2VXaWR0aCA9IHJvdW5kZiht
X3NwYWNlV2lkdGgpOwogICAgIG1fbWlzc2luZ0dseXBoRGF0YS5mb250RGF0YSA9IHRoaXM7CiAg
ICAgbV9taXNzaW5nR2x5cGhEYXRhLmdseXBoID0gMDsKIH0KQEAgLTE0Myw3ICsxNDIsNiBAQCB2
b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBoSW5pdCgpCiAgICAgICAgIExPR19FUlJP
UigiRmFpbGVkIHRvIGdldCBnbHlwaCBwYWdlIHplcm8uIik7CiAgICAgICAgIG1fc3BhY2VHbHlw
aCA9IDA7CiAgICAgICAgIG1fc3BhY2VXaWR0aCA9IDA7Ci0gICAgICAgIG1fYWRqdXN0ZWRTcGFj
ZVdpZHRoID0gMDsKICAgICAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKICAgICAgICAgbV96ZXJvV2lk
dGhTcGFjZUdseXBoID0gMDsKICAgICAgICAgbV9taXNzaW5nR2x5cGhEYXRhLmZvbnREYXRhID0g
dGhpczsKQEAgLTE2MCw3ICsxNTgsNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUds
eXBoSW5pdCgpCiAgICAgZmxvYXQgd2lkdGggPSB3aWR0aEZvckdseXBoKG1fc3BhY2VHbHlwaCk7
CiAgICAgbV9zcGFjZVdpZHRoID0gd2lkdGg7CiAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKLSAgICBt
X2FkanVzdGVkU3BhY2VXaWR0aCA9IG1fdHJlYXRBc0ZpeGVkUGl0Y2ggPyBjZWlsZih3aWR0aCkg
OiByb3VuZGYod2lkdGgpOwogCiAgICAgLy8gRm9yY2UgdGhlIGdseXBoIGZvciBaRVJPIFdJRFRI
IFNQQUNFIHRvIGhhdmUgemVybyB3aWR0aCwgdW5sZXNzIGl0IGlzIHNoYXJlZCB3aXRoIFNQQUNF
LgogICAgIC8vIEhlbHZldGljYSBpcyBhbiBleGFtcGxlIG9mIGEgbm9uLXplcm8gd2lkdGggWkVS
TyBXSURUSCBTUEFDRSBnbHlwaC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1NpbXBsZUZvbnREYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTIsNyArMTEyLDYgQEAgcHVibGljOgogICAgIGZsb2F0IHBsYXRmb3JtV2lkdGhGb3JH
bHlwaChHbHlwaCkgY29uc3Q7CiAKICAgICBmbG9hdCBzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1
cm4gbV9zcGFjZVdpZHRoOyB9Ci0gICAgZmxvYXQgYWRqdXN0ZWRTcGFjZVdpZHRoKCkgY29uc3Qg
eyByZXR1cm4gbV9hZGp1c3RlZFNwYWNlV2lkdGg7IH0KIAogI2lmIFBMQVRGT1JNKENHKSB8fCBQ
TEFURk9STShDQUlSTykgfHwgUExBVEZPUk0oV1gpCiAgICAgZmxvYXQgc3ludGhldGljQm9sZE9m
ZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fc3ludGhldGljQm9sZE9mZnNldDsgfQpAQCAtMjMwLDcg
KzIyOSw2IEBAIHByaXZhdGU6CiAKICAgICBHbHlwaCBtX3NwYWNlR2x5cGg7CiAgICAgZmxvYXQg
bV9zcGFjZVdpZHRoOwotICAgIGZsb2F0IG1fYWRqdXN0ZWRTcGFjZVdpZHRoOwogCiAgICAgR2x5
cGggbV96ZXJvV2lkdGhTcGFjZUdseXBoOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9TdHJpbmdUcnVuY2F0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5jcHAJKHJldmlzaW9uIDc4Mzcx
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtOTIsMjIgKzkyLDIwIEBAIHN0YXRpYyB1bnNpZ25lZCByaWdo
dFRydW5jYXRlVG9CdWZmZXIoY28KICAgICByZXR1cm4gdHJ1bmNhdGVkTGVuZ3RoOwogfQogCi1z
dGF0aWMgZmxvYXQgc3RyaW5nV2lkdGgoY29uc3QgRm9udCYgcmVuZGVyZXIsIGNvbnN0IFVDaGFy
KiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3Mp
CitzdGF0aWMgZmxvYXQgc3RyaW5nV2lkdGgoY29uc3QgRm9udCYgcmVuZGVyZXIsIGNvbnN0IFVD
aGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7CiAgICAgVGV4dFJ1biBydW4oY2hh
cmFjdGVycywgbGVuZ3RoKTsKLSAgICBpZiAoZGlzYWJsZVJvdW5kaW5nSGFja3MpCi0gICAgICAg
IHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotICAgIHJldHVybiByZW5kZXJlci5mbG9hdFdp
ZHRoKHJ1bik7CisgICAgcmV0dXJuIHJlbmRlcmVyLndpZHRoKHJ1bik7CiB9CiAKLXN0YXRpYyBT
dHJpbmcgdHJ1bmNhdGVTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRo
LCBjb25zdCBGb250JiBmb250LCBUcnVuY2F0aW9uRnVuY3Rpb24gdHJ1bmNhdGVUb0J1ZmZlciwg
Ym9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcykKK3N0YXRpYyBTdHJpbmcgdHJ1bmNhdGVTdHJpbmco
Y29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250JiBmb250LCBU
cnVuY2F0aW9uRnVuY3Rpb24gdHJ1bmNhdGVUb0J1ZmZlcikKIHsKICAgICBpZiAoc3RyaW5nLmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHN0cmluZzsKICAgICAKICAgICBBU1NFUlQobWF4V2lk
dGggPj0gMCk7CiAgICAgCi0gICAgZmxvYXQgY3VycmVudEVsbGlwc2lzV2lkdGggPSBzdHJpbmdX
aWR0aChmb250LCAmaG9yaXpvbnRhbEVsbGlwc2lzLCAxLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7
CisgICAgZmxvYXQgY3VycmVudEVsbGlwc2lzV2lkdGggPSBzdHJpbmdXaWR0aChmb250LCAmaG9y
aXpvbnRhbEVsbGlwc2lzLCAxKTsKICAgICAKICAgICBVQ2hhciBzdHJpbmdCdWZmZXJbU1RSSU5H
X0JVRkZFUl9TSVpFXTsKICAgICB1bnNpZ25lZCB0cnVuY2F0ZWRMZW5ndGg7CkBAIC0xMjMsNyAr
MTIxLDcgQEAgc3RhdGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAgICAg
ICB0cnVuY2F0ZWRMZW5ndGggPSBsZW5ndGg7CiAgICAgfQogCi0gICAgZmxvYXQgd2lkdGggPSBz
dHJpbmdXaWR0aChmb250LCBzdHJpbmdCdWZmZXIsIHRydW5jYXRlZExlbmd0aCwgZGlzYWJsZVJv
dW5kaW5nSGFja3MpOworICAgIGZsb2F0IHdpZHRoID0gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5n
QnVmZmVyLCB0cnVuY2F0ZWRMZW5ndGgpOwogICAgIGlmICh3aWR0aCA8PSBtYXhXaWR0aCkKICAg
ICAgICAgcmV0dXJuIHN0cmluZzsKIApAQCAtMTU5LDcgKzE1Nyw3IEBAIHN0YXRpYyBTdHJpbmcg
dHJ1bmNhdGVTdHJpbmcoY29uc3QgU3RyaW4KICAgICAgICAgCiAgICAgICAgIHRydW5jYXRlZExl
bmd0aCA9IHRydW5jYXRlVG9CdWZmZXIoc3RyaW5nLCBsZW5ndGgsIGtlZXBDb3VudCwgc3RyaW5n
QnVmZmVyKTsKIAotICAgICAgICB3aWR0aCA9IHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZ0J1ZmZl
ciwgdHJ1bmNhdGVkTGVuZ3RoLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgICAgIHdpZHRo
ID0gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5nQnVmZmVyLCB0cnVuY2F0ZWRMZW5ndGgpOwogICAg
ICAgICBpZiAod2lkdGggPD0gbWF4V2lkdGgpIHsKICAgICAgICAgICAgIGtlZXBDb3VudEZvckxh
cmdlc3RLbm93blRvRml0ID0ga2VlcENvdW50OwogICAgICAgICAgICAgd2lkdGhGb3JMYXJnZXN0
S25vd25Ub0ZpdCA9IHdpZHRoOwpAQCAtMTgxLDE5ICsxNzksMTkgQEAgc3RhdGljIFN0cmluZyB0
cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAgIHJldHVybiBTdHJpbmcoc3RyaW5nQnVmZmVy
LCB0cnVuY2F0ZWRMZW5ndGgpOwogfQogCi1TdHJpbmcgU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJU
cnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQm
IGZvbnQsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MpCitTdHJpbmcgU3RyaW5nVHJ1bmNhdG9y
OjpjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNv
bnN0IEZvbnQmIGZvbnQpCiB7Ci0gICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4
V2lkdGgsIGZvbnQsIGNlbnRlclRydW5jYXRlVG9CdWZmZXIsIGRpc2FibGVSb3VuZGluZ0hhY2tz
KTsKKyAgICByZXR1cm4gdHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBtYXhXaWR0aCwgZm9udCwgY2Vu
dGVyVHJ1bmNhdGVUb0J1ZmZlcik7CiB9CiAKLVN0cmluZyBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0
VHJ1bmNhdGUoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250
JiBmb250LCBib29sIGRpc2FibGVSb3VuZGluZ0hhY2tzKQorU3RyaW5nIFN0cmluZ1RydW5jYXRv
cjo6cmlnaHRUcnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNv
bnN0IEZvbnQmIGZvbnQpCiB7Ci0gICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4
V2lkdGgsIGZvbnQsIHJpZ2h0VHJ1bmNhdGVUb0J1ZmZlciwgZGlzYWJsZVJvdW5kaW5nSGFja3Mp
OworICAgIHJldHVybiB0cnVuY2F0ZVN0cmluZyhzdHJpbmcsIG1heFdpZHRoLCBmb250LCByaWdo
dFRydW5jYXRlVG9CdWZmZXIpOwogfQogCi1mbG9hdCBTdHJpbmdUcnVuY2F0b3I6OndpZHRoKGNv
bnN0IFN0cmluZyYgc3RyaW5nLCBjb25zdCBGb250JiBmb250LCBib29sIGRpc2FibGVSb3VuZGlu
Z0hhY2tzKQorZmxvYXQgU3RyaW5nVHJ1bmNhdG9yOjp3aWR0aChjb25zdCBTdHJpbmcmIHN0cmlu
ZywgY29uc3QgRm9udCYgZm9udCkKIHsKLSAgICByZXR1cm4gc3RyaW5nV2lkdGgoZm9udCwgc3Ry
aW5nLmNoYXJhY3RlcnMoKSwgc3RyaW5nLmxlbmd0aCgpLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7
CisgICAgcmV0dXJuIHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZy5jaGFyYWN0ZXJzKCksIHN0cmlu
Zy5sZW5ndGgoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCShyZXZp
c2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1Ry
dW5jYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw5ICszNyw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAKICAgICBjbGFzcyBTdHJpbmdUcnVuY2F0b3IgewogICAgIHB1YmxpYzoKLSAg
ICAgICAgc3RhdGljIFN0cmluZyBjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBt
YXhXaWR0aCwgY29uc3QgRm9udCYsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MgPSB0cnVlKTsK
LSAgICAgICAgc3RhdGljIFN0cmluZyByaWdodFRydW5jYXRlKGNvbnN0IFN0cmluZyYsIGZsb2F0
IG1heFdpZHRoLCBjb25zdCBGb250JiwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcyA9IHRydWUp
OwotICAgICAgICBzdGF0aWMgZmxvYXQgd2lkdGgoY29uc3QgU3RyaW5nJiwgY29uc3QgRm9udCYs
IGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MgPSB0cnVlKTsKKyAgICAgICAgc3RhdGljIFN0cmlu
ZyBjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9u
dCYpOworICAgICAgICBzdGF0aWMgU3RyaW5nIHJpZ2h0VHJ1bmNhdGUoY29uc3QgU3RyaW5nJiwg
ZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmKTsKKyAgICAgICAgc3RhdGljIGZsb2F0IHdpZHRo
KGNvbnN0IFN0cmluZyYsIGNvbnN0IEZvbnQmKTsKICAgICB9OwogICAgIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1
bi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRS
dW4uaAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9UZXh0UnVuLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDggKzM4LDcgQEAgcHVibGljOgogICAg
ICAgICBGb3JiaWRUcmFpbGluZ0V4cGFuc2lvbgogICAgIH07CiAKLSAgICBUZXh0UnVuKGNvbnN0
IFVDaGFyKiBjLCBpbnQgbGVuLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBpbnQgeHBvcyA9IDAs
IGludCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNl
LCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSwKLSAgICAgICAgICAgICAgYm9vbCBh
cHBseVJ1blJvdW5kaW5nID0gdHJ1ZSwgYm9vbCBhcHBseVdvcmRSb3VuZGluZyA9IHRydWUpCisg
ICAgVGV4dFJ1bihjb25zdCBVQ2hhciogYywgaW50IGxlbiwgYm9vbCBhbGxvd1RhYnMgPSBmYWxz
ZSwgZmxvYXQgeHBvcyA9IDAsIGZsb2F0IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhwYW5zaW9u
QmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNp
b24sIGJvb2wgcnRsID0gZmFsc2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlKQog
ICAgICAgICA6IG1fY2hhcmFjdGVycyhjKQogICAgICAgICAsIG1fbGVuKGxlbikKICAgICAgICAg
LCBtX3hwb3MoeHBvcykKQEAgLTUxLDggKzUwLDYgQEAgcHVibGljOgogICAgICAgICAsIG1fYWxs
b3dUYWJzKGFsbG93VGFicykKICAgICAgICAgLCBtX3J0bChydGwpCiAgICAgICAgICwgbV9kaXJl
Y3Rpb25hbE92ZXJyaWRlKGRpcmVjdGlvbmFsT3ZlcnJpZGUpCi0gICAgICAgICwgbV9hcHBseVJ1
blJvdW5kaW5nKGFwcGx5UnVuUm91bmRpbmcpCi0gICAgICAgICwgbV9hcHBseVdvcmRSb3VuZGlu
ZyhhcHBseVdvcmRSb3VuZGluZykKICAgICAgICAgLCBtX2Rpc2FibGVTcGFjaW5nKGZhbHNlKQog
I2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2luZ1JlbmRlck9iamVj
dCgwKQpAQCAtNjEsOCArNTgsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIFRleHRS
dW4oY29uc3QgU3RyaW5nJiBzLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBpbnQgeHBvcyA9IDAs
IGludCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNl
LCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSwKLSAgICAgICAgICAgICAgYm9vbCBh
cHBseVJ1blJvdW5kaW5nID0gdHJ1ZSwgYm9vbCBhcHBseVdvcmRSb3VuZGluZyA9IHRydWUpCisg
ICAgVGV4dFJ1bihjb25zdCBTdHJpbmcmIHMsIGJvb2wgYWxsb3dUYWJzID0gZmFsc2UsIGZsb2F0
IHhwb3MgPSAwLCBmbG9hdCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9y
IHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29s
IHJ0bCA9IGZhbHNlLCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSkKICAgICAgICAg
OiBtX2NoYXJhY3RlcnMocy5jaGFyYWN0ZXJzKCkpCiAgICAgICAgICwgbV9sZW4ocy5sZW5ndGgo
KSkKICAgICAgICAgLCBtX3hwb3MoeHBvcykKQEAgLTc0LDggKzcwLDYgQEAgcHVibGljOgogICAg
ICAgICAsIG1fYWxsb3dUYWJzKGFsbG93VGFicykKICAgICAgICAgLCBtX3J0bChydGwpCiAgICAg
ICAgICwgbV9kaXJlY3Rpb25hbE92ZXJyaWRlKGRpcmVjdGlvbmFsT3ZlcnJpZGUpCi0gICAgICAg
ICwgbV9hcHBseVJ1blJvdW5kaW5nKGFwcGx5UnVuUm91bmRpbmcpCi0gICAgICAgICwgbV9hcHBs
eVdvcmRSb3VuZGluZyhhcHBseVdvcmRSb3VuZGluZykKICAgICAgICAgLCBtX2Rpc2FibGVTcGFj
aW5nKGZhbHNlKQogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2lu
Z1JlbmRlck9iamVjdCgwKQpAQCAtOTgsMTggKzkyLDE1IEBAIHB1YmxpYzoKICNlbmRpZgogCiAg
ICAgYm9vbCBhbGxvd1RhYnMoKSBjb25zdCB7IHJldHVybiBtX2FsbG93VGFiczsgfQotICAgIGlu
dCB4UG9zKCkgY29uc3QgeyByZXR1cm4gbV94cG9zOyB9Ci0gICAgaW50IGV4cGFuc2lvbigpIGNv
bnN0IHsgcmV0dXJuIG1fZXhwYW5zaW9uOyB9CisgICAgZmxvYXQgeFBvcygpIGNvbnN0IHsgcmV0
dXJuIG1feHBvczsgfQorICAgIGZsb2F0IGV4cGFuc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fZXhw
YW5zaW9uOyB9CiAgICAgYm9vbCBhbGxvd3NUcmFpbGluZ0V4cGFuc2lvbigpIGNvbnN0IHsgcmV0
dXJuIG1fdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9PSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9u
OyB9CiAgICAgYm9vbCBydGwoKSBjb25zdCB7IHJldHVybiBtX3J0bDsgfQogICAgIGJvb2wgbHRy
KCkgY29uc3QgeyByZXR1cm4gIW1fcnRsOyB9CiAgICAgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRl
KCkgY29uc3QgeyByZXR1cm4gbV9kaXJlY3Rpb25hbE92ZXJyaWRlOyB9Ci0gICAgYm9vbCBhcHBs
eVJ1blJvdW5kaW5nKCkgY29uc3QgeyByZXR1cm4gbV9hcHBseVJ1blJvdW5kaW5nOyB9Ci0gICAg
Ym9vbCBhcHBseVdvcmRSb3VuZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbHlXb3JkUm91bmRp
bmc7IH0KICAgICBib29sIHNwYWNpbmdEaXNhYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzYWJs
ZVNwYWNpbmc7IH0KIAogICAgIHZvaWQgZGlzYWJsZVNwYWNpbmcoKSB7IG1fZGlzYWJsZVNwYWNp
bmcgPSB0cnVlOyB9Ci0gICAgdm9pZCBkaXNhYmxlUm91bmRpbmdIYWNrcygpIHsgbV9hcHBseVJ1
blJvdW5kaW5nID0gbV9hcHBseVdvcmRSb3VuZGluZyA9IGZhbHNlOyB9CiAgICAgdm9pZCBzZXRS
VEwoYm9vbCBiKSB7IG1fcnRsID0gYjsgfQogICAgIHZvaWQgc2V0RGlyZWN0aW9uYWxPdmVycmlk
ZShib29sIG92ZXJyaWRlKSB7IG1fZGlyZWN0aW9uYWxPdmVycmlkZSA9IG92ZXJyaWRlOyB9CiAK
QEAgLTEyOCw4ICsxMTksOCBAQCBwcml2YXRlOgogICAgIC8vIG1feHBvcyBpcyB0aGUgeCBwb3Np
dGlvbiByZWxhdGl2ZSB0byB0aGUgbGVmdCBzdGFydCBvZiB0aGUgdGV4dCBsaW5lLCBub3QgcmVs
YXRpdmUgdG8gdGhlIGxlZnQKICAgICAvLyBzdGFydCBvZiB0aGUgY29udGFpbmluZyBibG9jay4g
SW4gdGhlIGNhc2Ugb2YgcmlnaHQgYWxpZ25tZW50IG9yIGNlbnRlciBhbGlnbm1lbnQsIGxlZnQg
c3RhcnQgb2YKICAgICAvLyB0aGUgdGV4dCBsaW5lIGlzIG5vdCB0aGUgc2FtZSBhcyBsZWZ0IHN0
YXJ0IG9mIHRoZSBjb250YWluaW5nIGJsb2NrLgotICAgIGludCBtX3hwb3M7ICAKLSAgICBpbnQg
bV9leHBhbnNpb247CisgICAgZmxvYXQgbV94cG9zOyAgCisgICAgZmxvYXQgbV9leHBhbnNpb247
CiAgICAgVHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciBtX3RyYWlsaW5nRXhwYW5zaW9uQmVoYXZp
b3I7CiAjaWYgRU5BQkxFKFNWRykKICAgICBmbG9hdCBtX2hvcml6b250YWxHbHlwaFN0cmV0Y2g7
CkBAIC0xMzcsOCArMTI4LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fYWxsb3dUYWJzOwogICAg
IGJvb2wgbV9ydGw7CiAgICAgYm9vbCBtX2RpcmVjdGlvbmFsT3ZlcnJpZGU7Ci0gICAgYm9vbCBt
X2FwcGx5UnVuUm91bmRpbmc7Ci0gICAgYm9vbCBtX2FwcGx5V29yZFJvdW5kaW5nOwogICAgIGJv
b2wgbV9kaXNhYmxlU3BhY2luZzsKIAogI2lmIEVOQUJMRShTVkdfRk9OVFMpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAko
cmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0
aEl0ZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBAQCBXaWR0aEl0ZXJh
dG9yOjpXaWR0aEl0ZXJhdG9yKGNvbnN0IEZvbnQqCiAgICAgLCBtX2N1cnJlbnRDaGFyYWN0ZXIo
MCkKICAgICAsIG1fcnVuV2lkdGhTb0ZhcigwKQogICAgICwgbV9pc0FmdGVyRXhwYW5zaW9uKHRy
dWUpCi0gICAgLCBtX2ZpbmFsUm91bmRpbmdXaWR0aCgwKQogICAgICwgbV9mYWxsYmFja0ZvbnRz
KGZhbGxiYWNrRm9udHMpCiAgICAgLCBtX2FjY291bnRGb3JHbHlwaEJvdW5kcyhhY2NvdW50Rm9y
R2x5cGhCb3VuZHMpCiAgICAgLCBtX21heEdseXBoQm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRz
PGZsb2F0Pjo6bWluKCkpCkBAIC04NiwxMSArODUsNiBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFk
dmFuY2UoaW50IG9mZnNldCwgCiAgICAgYm9vbCBydGwgPSBtX3J1bi5ydGwoKTsKICAgICBib29s
IGhhc0V4dHJhU3BhY2luZyA9IChtX2ZvbnQtPmxldHRlclNwYWNpbmcoKSB8fCBtX2ZvbnQtPndv
cmRTcGFjaW5nKCkgfHwgbV9leHBhbnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlzYWJsZWQoKTsK
IAotICAgIGZsb2F0IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSBtX3J1bldpZHRoU29GYXI7Ci0g
ICAgbV9ydW5XaWR0aFNvRmFyID0gZmxvb3JmKG1fcnVuV2lkdGhTb0Zhcik7Ci0gICAgd2lkdGhT
aW5jZUxhc3RSb3VuZGluZyAtPSBtX3J1bldpZHRoU29GYXI7Ci0KLSAgICBmbG9hdCBsYXN0Um91
bmRpbmdXaWR0aCA9IG1fZmluYWxSb3VuZGluZ1dpZHRoOwogICAgIEZsb2F0UmVjdCBib3VuZHM7
CiAKICAgICBjb25zdCBTaW1wbGVGb250RGF0YSogcHJpbWFyeUZvbnQgPSBtX2ZvbnQtPnByaW1h
cnlGb250KCk7CkBAIC0xMzYsNyArMTMwLDcgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNl
KGludCBvZmZzZXQsIAogICAgICAgICBmbG9hdCB3aWR0aDsKICAgICAgICAgaWYgKGMgPT0gJ1x0
JyAmJiBtX3J1bi5hbGxvd1RhYnMoKSkgewogICAgICAgICAgICAgZmxvYXQgdGFiV2lkdGggPSBt
X2ZvbnQtPnRhYldpZHRoKCpmb250RGF0YSk7Ci0gICAgICAgICAgICB3aWR0aCA9IHRhYldpZHRo
IC0gZm1vZGYobV9ydW4ueFBvcygpICsgbV9ydW5XaWR0aFNvRmFyICsgd2lkdGhTaW5jZUxhc3RS
b3VuZGluZywgdGFiV2lkdGgpOworICAgICAgICAgICAgd2lkdGggPSB0YWJXaWR0aCAtIGZtb2Rm
KG1fcnVuLnhQb3MoKSArIG1fcnVuV2lkdGhTb0ZhciwgdGFiV2lkdGgpOwogICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgd2lkdGggPSBmb250RGF0YS0+d2lkdGhGb3JHbHlwaChnbHlwaCk7
CiAKQEAgLTE0NCwxMyArMTM4LDYgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBv
ZmZzZXQsIAogICAgICAgICAgICAgLy8gU1ZHIHVzZXMgaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgp
LCB3aGVuIHRleHRMZW5ndGggaXMgdXNlZCB0byBzdHJldGNoL3NxdWVlemUgdGV4dC4KICAgICAg
ICAgICAgIHdpZHRoICo9IG1fcnVuLmhvcml6b250YWxHbHlwaFN0cmV0Y2goKTsKICNlbmRpZgot
Ci0gICAgICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlzIHdoZW4g
YXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAgICAgIC8vIEZpcnN0LCB3ZSByb3VuZCBz
cGFjZXMgdG8gYW4gYWRqdXN0ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAgICAgLy8g
U2Vjb25kLCBpbiBmaXhlZC1waXRjaCBmb250cyB3ZSBlbnN1cmUgdGhhdCBhbGwgY2hhcmFjdGVy
cyB0aGF0Ci0gICAgICAgICAgICAvLyBtYXRjaCB0aGUgd2lkdGggb2YgdGhlIHNwYWNlIGNoYXJh
Y3RlciBoYXZlIHRoZSBzYW1lIHdpZHRoIGFzIHRoZSBzcGFjZSBjaGFyYWN0ZXIuCi0gICAgICAg
ICAgICBpZiAod2lkdGggPT0gZm9udERhdGEtPnNwYWNlV2lkdGgoKSAmJiAoZm9udERhdGEtPnBp
dGNoKCkgPT0gRml4ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgpKSAm
JiBtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpKQotICAgICAgICAgICAgICAgIHdpZHRoID0gZm9u
dERhdGEtPmFkanVzdGVkU3BhY2VXaWR0aCgpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGZv
bnREYXRhICE9IGxhc3RGb250RGF0YSAmJiB3aWR0aCkgewpAQCAtMTgzLDE0ICsxNzAsMTQgQEAg
dm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQsIAogICAgICAgICAgICAgICAg
ICAgICBpZiAoIXRyZWF0QXNTcGFjZSAmJiAhbV9pc0FmdGVyRXhwYW5zaW9uKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBUYWtlIHRoZSBleHBhbnNpb24gb3Bwb3J0dW5pdHkgYmVmb3Jl
IHRoaXMgaWRlb2dyYXBoLgogICAgICAgICAgICAgICAgICAgICAgICAgbV9leHBhbnNpb24gLT0g
bV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCBl
eHBhbnNpb24gPSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRmKG1fZXhwYW5zaW9u
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0IGV4cGFuc2lvbiA9IHByZXZpb3VzRXhw
YW5zaW9uIC0gbV9leHBhbnNpb247CiAgICAgICAgICAgICAgICAgICAgICAgICBtX3J1bldpZHRo
U29GYXIgKz0gZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdseXBoQnVm
ZmVyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLT5leHBhbmRMYXN0
QWR2YW5jZShleHBhbnNpb24pOwogICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNFeHBh
bnNpb24gPSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAg
ICAgICAgICAgICAgICB3aWR0aCArPSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRm
KG1fZXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAgICAgICAgd2lkdGggKz0gcHJldmlvdXNFeHBh
bnNpb24gLSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5z
aW9uID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAg
bV9pc0FmdGVyRXhwYW5zaW9uID0gZmFsc2U7CkBAIC0yMTYsNDMgKzIwMywxMCBAQCB2b2lkIFdp
ZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9mZnNldCwgCiAgICAgICAgIGNwICs9IGNsdXN0ZXJM
ZW5ndGg7CiAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXIgKz0gY2x1c3Rlckxlbmd0aDsKIAotICAg
ICAgICAvLyBBY2NvdW50IGZvciBmbG9hdC9pbnRlZ2VyIGltcGVkYW5jZSBtaXNtYXRjaCBiZXR3
ZWVuIENHIGFuZCBLSFRNTC4gIldvcmRzIiAoY2hhcmFjdGVycyAKLSAgICAgICAgLy8gZm9sbG93
ZWQgYnkgYSBjaGFyYWN0ZXIgZGVmaW5lZCBieSBpc1JvdW5kaW5nSGFja0NoYXJhY3RlcigpKSBh
cmUgYWx3YXlzIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgIC8vIFdlIGFkanVzdCB0aGUgd2lk
dGggb2YgdGhlIGxhc3QgY2hhcmFjdGVyIG9mIGEgIndvcmQiIHRvIGVuc3VyZSBhbiBpbnRlZ2Vy
IHdpZHRoLgotICAgICAgICAvLyBJZiB3ZSBtb3ZlIEtIVE1MIHRvIGZsb2F0cyB3ZSBjYW4gcmVt
b3ZlIHRoaXMgKGFuZCByZWxhdGVkKSBoYWNrcy4KLQotICAgICAgICBmbG9hdCBvbGRXaWR0aCA9
IHdpZHRoOwotCi0gICAgICAgIC8vIEZvcmNlIGNoYXJhY3RlcnMgdGhhdCBhcmUgdXNlZCB0byBk
ZXRlcm1pbmUgd29yZCBib3VuZGFyaWVzIGZvciB0aGUgcm91bmRpbmcgaGFjawotICAgICAgICAv
LyB0byBiZSBpbnRlZ2VyIHdpZHRoLCBzbyBmb2xsb3dpbmcgd29yZHMgd2lsbCBzdGFydCBvbiBh
biBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICBpZiAobV9ydW4uYXBwbHlXb3JkUm91bmRpbmco
KSAmJiBGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcihjKSkgewotICAgICAgICAgICAgd2lk
dGggPSBjZWlsZih3aWR0aCk7Ci0KLSAgICAgICAgICAgIC8vIFNpbmNlIHdpZHRoU2luY2VMYXN0
Um91bmRpbmcgY2FuIGxvc2UgcHJlY2lzaW9uIGlmIHdlIGluY2x1ZGUgbWVhc3VyZW1lbnRzIGZv
cgotICAgICAgICAgICAgLy8gcHJlY2VkaW5nIHdoaXRlc3BhY2UsIHdlIGJ5cGFzcyBpdCBoZXJl
LgotICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoOwotCi0gICAgICAgICAgICAv
LyBTaW5jZSB0aGlzIGlzIGEgcm91bmRpbmcgaGFjayBjaGFyYWN0ZXIsIHdlIHNob3VsZCBoYXZl
IHJlc2V0IHRoaXMgc3VtIG9uIHRoZSBwcmV2aW91cwotICAgICAgICAgICAgLy8gaXRlcmF0aW9u
LgotICAgICAgICAgICAgQVNTRVJUKCF3aWR0aFNpbmNlTGFzdFJvdW5kaW5nKTsKLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgbmV4dCBjaGFyYWN0
ZXIgaXMgYSAicm91bmRpbmcgaGFjayBjaGFyYWN0ZXIiLCBpZiBzbywgYWRqdXN0Ci0gICAgICAg
ICAgICAvLyB3aWR0aCBzbyB0aGF0IHRoZSB0b3RhbCBydW4gd2lkdGggd2lsbCBiZSBvbiBhbiBp
bnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICAgICAgaWYgKChtX3J1bi5hcHBseVdvcmRSb3VuZGlu
ZygpICYmIGN1cnJlbnRDaGFyYWN0ZXIgPCBtX3J1bi5sZW5ndGgoKSAmJiBGb250Ojppc1JvdW5k
aW5nSGFja0NoYXJhY3RlcigqY3ApKQotICAgICAgICAgICAgICAgICAgICB8fCAobV9ydW4uYXBw
bHlSdW5Sb3VuZGluZygpICYmIGN1cnJlbnRDaGFyYWN0ZXIgPj0gbV9lbmQpKSB7Ci0gICAgICAg
ICAgICAgICAgZmxvYXQgdG90YWxXaWR0aCA9IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgKyB3aWR0
aDsKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gY2VpbGYodG90YWxX
aWR0aCk7Ci0gICAgICAgICAgICAgICAgd2lkdGggKz0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyAt
IHRvdGFsV2lkdGg7Ci0gICAgICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoU2lu
Y2VMYXN0Um91bmRpbmc7Ci0gICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9
IDA7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJv
dW5kaW5nICs9IHdpZHRoOwotICAgICAgICB9CisgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3
aWR0aDsKIAogICAgICAgICBpZiAoZ2x5cGhCdWZmZXIpCi0gICAgICAgICAgICBnbHlwaEJ1ZmZl
ci0+YWRkKGdseXBoLCBmb250RGF0YSwgKHJ0bCA/IG9sZFdpZHRoICsgbGFzdFJvdW5kaW5nV2lk
dGggOiB3aWR0aCkpOwotCi0gICAgICAgIGxhc3RSb3VuZGluZ1dpZHRoID0gd2lkdGggLSBvbGRX
aWR0aDsKKyAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQoZ2x5cGgsIGZvbnREYXRhLCB3aWR0
aCk7CiAKICAgICAgICAgaWYgKG1fYWNjb3VudEZvckdseXBoQm91bmRzKSB7CiAgICAgICAgICAg
ICBtX21heEdseXBoQm91bmRpbmdCb3hZID0gbWF4KG1fbWF4R2x5cGhCb3VuZGluZ0JveFksIGJv
dW5kcy5tYXhZKCkpOwpAQCAtMjYyLDggKzIxNiw2IEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2
YW5jZShpbnQgb2Zmc2V0LCAKICAgICB9CiAKICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBjdXJy
ZW50Q2hhcmFjdGVyOwotICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3aWR0aFNpbmNlTGFzdFJvdW5k
aW5nOwotICAgIG1fZmluYWxSb3VuZGluZ1dpZHRoID0gbGFzdFJvdW5kaW5nV2lkdGg7CiB9CiAK
IGJvb2wgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZU9uZUNoYXJhY3RlcihmbG9hdCYgd2lkdGgsIEds
eXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1dpZHRoSXRlcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCSh3b3JraW5nIGNvcHkp
CkBAIC01Myw3ICs1Myw2IEBAIHN0cnVjdCBXaWR0aEl0ZXJhdG9yIHsKICAgICBmbG9hdCBtX2V4
cGFuc2lvbjsKICAgICBmbG9hdCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwogICAgIGJvb2wg
bV9pc0FmdGVyRXhwYW5zaW9uOwotICAgIGZsb2F0IG1fZmluYWxSb3VuZGluZ1dpZHRoOwogCiBw
cml2YXRlOgogICAgIFVDaGFyMzIgbm9ybWFsaXplVm9pY2luZ01hcmtzKGludCBjdXJyZW50Q2hh
cmFjdGVyKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dy
YXBoaWNzQ29udGV4dENhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAJKHJldmlzaW9uIDc4
MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3ND
b250ZXh0Q2Fpcm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MDEsMTIgKzcwMSwxNCBAQCB2b2lk
IEdyYXBoaWNzQ29udGV4dDo6ZHJhd0ZvY3VzUmluZyhjb25zCiAgICAgY2Fpcm9fcmVzdG9yZShj
cik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgSW50
UG9pbnQmIG9yaWdpbiwgaW50IHdpZHRoLCBib29sIHByaW50aW5nKQordm9pZCBHcmFwaGljc0Nv
bnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjb25zdCBGbG9hdFBvaW50JiBvcmlnaW4sIGZsb2F0IHdp
ZHRoLCBib29sIHByaW50aW5nKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIEludFBvaW50IGVuZFBvaW50ID0gb3JpZ2luICsgSW50U2l6ZSh3
aWR0aCwgMCk7CisgICAgRmxvYXRQb2ludCBlbmRQb2ludCA9IG9yaWdpbiArIEZsb2F0U2l6ZSh3
aWR0aCwgMCk7CisgICAgCisgICAgLy8gRklYTUU6IExvc3Mgb2YgcHJlY2lzaW9uIGhlcmUuIE1p
Z2h0IGNvbnNpZGVyIHJvdW5kaW5nLgogICAgIGRyYXdMaW5lKG9yaWdpbiwgZW5kUG9pbnQpOwog
fQogCkBAIC03MTQsNyArNzE2LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9y
VGV4dChjbwogI2luY2x1ZGUgIkRyYXdFcnJvclVuZGVybGluZS5oIgogI2VuZGlmCiAKLXZvaWQg
R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYg
b3JpZ2luLCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSBzdHlsZSkKK3ZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBGbG9hdFBvaW50JiBv
cmlnaW4sIGZsb2F0IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCiB7CiAgICAg
aWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4
dENHLmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMzAsNyAr
MTEzMCw3IEBAIEZsb2F0UmVjdCBHcmFwaGljc0NvbnRleHQ6OnJvdW5kVG9EZXZpY2UKICAgICBy
ZXR1cm4gRmxvYXRSZWN0KHJvdW5kZWRPcmlnaW4sIHJvdW5kZWRMb3dlclJpZ2h0IC0gcm91bmRl
ZE9yaWdpbik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29u
c3QgSW50UG9pbnQmIHBvaW50LCBpbnQgd2lkdGgsIGJvb2wgcHJpbnRpbmcpCit2b2lkIEdyYXBo
aWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBmbG9h
dCB3aWR0aCwgYm9vbCBwcmludGluZykKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQog
ICAgICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAkocmV2aXNp
b24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxl
eFRleHRDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksMTMgKzQ5LDYgQEAgc3Rh
dGljIGlubGluZSBDR0Zsb2F0IHJvdW5kQ0dGbG9hdChDR0ZsbwogICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxDR0Zsb2F0Pihyb3VuZChmKSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgQ0dGbG9hdCBjZWls
Q0dGbG9hdChDR0Zsb2F0IGYpCi17Ci0gICAgaWYgKHNpemVvZihDR0Zsb2F0KSA9PSBzaXplb2Yo
ZmxvYXQpKQotICAgICAgICByZXR1cm4gY2VpbGYoc3RhdGljX2Nhc3Q8ZmxvYXQ+KGYpKTsKLSAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8Q0dGbG9hdD4oY2VpbChmKSk7Ci19Ci0KIENvbXBsZXhUZXh0
Q29udHJvbGxlcjo6Q29tcGxleFRleHRDb250cm9sbGVyKGNvbnN0IEZvbnQqIGZvbnQsIGNvbnN0
IFRleHRSdW4mIHJ1biwgYm9vbCBtYXlVc2VOYXR1cmFsV3JpdGluZ0RpcmVjdGlvbiwgSGFzaFNl
dDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBib29sIGZvclRleHRFbXBo
YXNpcykKICAgICA6IG1fZm9udCgqZm9udCkKICAgICAsIG1fcnVuKHJ1bikKQEAgLTY5LDcgKzYy
LDYgQEAgQ29tcGxleFRleHRDb250cm9sbGVyOjpDb21wbGV4VGV4dENvbnRybwogICAgICwgbV9j
dXJyZW50UnVuKDApCiAgICAgLCBtX2dseXBoSW5DdXJyZW50UnVuKDApCiAgICAgLCBtX2NoYXJh
Y3RlckluQ3VycmVudEdseXBoKDApCi0gICAgLCBtX2ZpbmFsUm91bmRpbmdXaWR0aCgwKQogICAg
ICwgbV9leHBhbnNpb24ocnVuLmV4cGFuc2lvbigpKQogICAgICwgbV9hZnRlckV4cGFuc2lvbih0
cnVlKQogICAgICwgbV9mYWxsYmFja0ZvbnRzKGZhbGxiYWNrRm9udHMpCkBAIC03Nyw3ICs2OSw2
IEBAIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6Q29tcGxleFRleHRDb250cm8KICAgICAsIG1fbWF4
R2x5cGhCb3VuZGluZ0JveFgobnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptaW4oKSkKICAgICAsIG1f
bWluR2x5cGhCb3VuZGluZ0JveFkobnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptYXgoKSkKICAgICAs
IG1fbWF4R2x5cGhCb3VuZGluZ0JveFkobnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptaW4oKSkKLSAg
ICAsIG1fbGFzdFJvdW5kaW5nR2x5cGgoMCkKIHsKICAgICBpZiAoIW1fZXhwYW5zaW9uKQogICAg
ICAgICBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5ID0gMDsKQEAgLTQxMywxMyArNDA0LDExIEBA
IHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZHZhbmNlKHVuc2kKICAgICAgICAgbV9jdXJy
ZW50UnVuKys7CiAgICAgICAgIG1fZ2x5cGhJbkN1cnJlbnRSdW4gPSAwOwogICAgIH0KLSAgICBp
ZiAoIWx0ciAmJiBtX251bUdseXBoc1NvRmFyID09IG1fYWRqdXN0ZWRBZHZhbmNlcy5zaXplKCkp
Ci0gICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBtX2ZpbmFsUm91bmRpbmdXaWR0aDsKIH0KIAog
dm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBoc0FuZEFkdmFuY2VzKCkKIHsK
LSAgICBDR0Zsb2F0IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSAwOworICAgIENHRmxvYXQgd2lk
dGhTaW5jZUxhc3RDb21taXQgPSAwOwogICAgIHNpemVfdCBydW5Db3VudCA9IG1fY29tcGxleFRl
eHRSdW5zLnNpemUoKTsKICAgICBib29sIGhhc0V4dHJhU3BhY2luZyA9IChtX2ZvbnQubGV0dGVy
U3BhY2luZygpIHx8IG1fZm9udC53b3JkU3BhY2luZygpIHx8IG1fZXhwYW5zaW9uKSAmJiAhbV9y
dW4uc3BhY2luZ0Rpc2FibGVkKCk7CiAgICAgZm9yIChzaXplX3QgciA9IDA7IHIgPCBydW5Db3Vu
dDsgKytyKSB7CkBAIC00MzEsOSArNDIwLDggQEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6
OmFkanVzdEdseXBocwogICAgICAgICBjb25zdCBDR1NpemUqIGFkdmFuY2VzID0gY29tcGxleFRl
eHRSdW4uYWR2YW5jZXMoKTsKIAogICAgICAgICBib29sIGxhc3RSdW4gPSByICsgMSA9PSBydW5D
b3VudDsKLSAgICAgICAgY29uc3QgVUNoYXIqIGNwID0gY29tcGxleFRleHRSdW4uY2hhcmFjdGVy
cygpOwotICAgICAgICBDR0Zsb2F0IHJvdW5kZWRTcGFjZVdpZHRoID0gcm91bmRDR0Zsb2F0KGZv
bnREYXRhLT5zcGFjZVdpZHRoKCkpOwogICAgICAgICBib29sIHJvdW5kc0FkdmFuY2VzID0gIW1f
Zm9udC5pc1ByaW50ZXJGb250KCkgJiYgZm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLnJvdW5kc0ds
eXBoQWR2YW5jZXMoKTsKKyAgICAgICAgY29uc3QgVUNoYXIqIGNwID0gY29tcGxleFRleHRSdW4u
Y2hhcmFjdGVycygpOwogICAgICAgICBDR1BvaW50IGdseXBoT3JpZ2luID0gQ0dQb2ludFplcm87
CiAgICAgICAgIENGSW5kZXggbGFzdENoYXJhY3RlckluZGV4ID0gbV9ydW4ubHRyKCkgPyBudW1l
cmljX2xpbWl0czxDRkluZGV4Pjo6bWluKCkgOiBudW1lcmljX2xpbWl0czxDRkluZGV4Pjo6bWF4
KCk7CiAgICAgICAgIGJvb2wgaXNNb25vdG9uaWMgPSB0cnVlOwpAQCAtNDYzLDcgKzQ1MSw3IEBA
IHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHMKIAogICAgICAgICAgICAg
aWYgKGNoID09ICdcdCcgJiYgbV9ydW4uYWxsb3dUYWJzKCkpIHsKICAgICAgICAgICAgICAgICBm
bG9hdCB0YWJXaWR0aCA9IG1fZm9udC50YWJXaWR0aCgqZm9udERhdGEpOwotICAgICAgICAgICAg
ICAgIGFkdmFuY2Uud2lkdGggPSB0YWJXaWR0aCAtIGZtb2RmKG1fcnVuLnhQb3MoKSArIG1fdG90
YWxXaWR0aCArIHdpZHRoU2luY2VMYXN0Um91bmRpbmcsIHRhYldpZHRoKTsKKyAgICAgICAgICAg
ICAgICBhZHZhbmNlLndpZHRoID0gdGFiV2lkdGggLSBmbW9kZihtX3J1bi54UG9zKCkgKyBtX3Rv
dGFsV2lkdGggKyB3aWR0aFNpbmNlTGFzdENvbW1pdCwgdGFiV2lkdGgpOwogICAgICAgICAgICAg
fSBlbHNlIGlmIChjaCA9PSB6ZXJvV2lkdGhTcGFjZSB8fCAoRm9udDo6dHJlYXRBc1plcm9XaWR0
aFNwYWNlKGNoKSAmJiAhdHJlYXRBc1NwYWNlKSkgewogICAgICAgICAgICAgICAgIGFkdmFuY2Uu
d2lkdGggPSAwOwogICAgICAgICAgICAgICAgIGdseXBoID0gZm9udERhdGEtPnNwYWNlR2x5cGgo
KTsKQEAgLTQ3NSwxMyArNDYzLDYgQEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVz
dEdseXBocwogCiAgICAgICAgICAgICBhZHZhbmNlLndpZHRoICs9IGZvbnREYXRhLT5zeW50aGV0
aWNCb2xkT2Zmc2V0KCk7CiAKLSAgICAgICAgICAgIC8vIFdlIHNwZWNpYWwgY2FzZSBzcGFjZXMg
aW4gdHdvIHdheXMgd2hlbiBhcHBseWluZyB3b3JkIHJvdW5kaW5nLgotICAgICAgICAgICAgLy8g
Rmlyc3QsIHdlIHJvdW5kIHNwYWNlcyB0byBhbiBhZGp1c3RlZCB3aWR0aCBpbiBhbGwgZm9udHMu
Ci0gICAgICAgICAgICAvLyBTZWNvbmQsIGluIGZpeGVkLXBpdGNoIGZvbnRzIHdlIGVuc3VyZSB0
aGF0IGFsbCBnbHlwaHMgdGhhdAotICAgICAgICAgICAgLy8gbWF0Y2ggdGhlIHdpZHRoIG9mIHRo
ZSBzcGFjZSBnbHlwaCBoYXZlIHRoZSBzYW1lIHdpZHRoIGFzIHRoZSBzcGFjZSBnbHlwaC4KLSAg
ICAgICAgICAgIGlmIChyb3VuZGVkQWR2YW5jZVdpZHRoID09IHJvdW5kZWRTcGFjZVdpZHRoICYm
IChmb250RGF0YS0+cGl0Y2goKSA9PSBGaXhlZFBpdGNoIHx8IGdseXBoID09IGZvbnREYXRhLT5z
cGFjZUdseXBoKCkpICYmIG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkpCi0gICAgICAgICAgICAg
ICAgYWR2YW5jZS53aWR0aCA9IGZvbnREYXRhLT5hZGp1c3RlZFNwYWNlV2lkdGgoKTsKLQogICAg
ICAgICAgICAgaWYgKGhhc0V4dHJhU3BhY2luZykgewogICAgICAgICAgICAgICAgIC8vIElmIHdl
J3JlIGEgZ2x5cGggd2l0aCBhbiBhZHZhbmNlLCBnbyBhaGVhZCBhbmQgYWRkIGluIGxldHRlci1z
cGFjaW5nLgogICAgICAgICAgICAgICAgIC8vIFRoYXQgd2F5IHdlIHdlZWQgb3V0IHplcm8gd2lk
dGggbHVya2Vycy4gIFRoaXMgYmVoYXZpb3IgbWF0Y2hlcyB0aGUgZmFzdCB0ZXh0IGNvZGUgcGF0
aC4KQEAgLTQ5NiwxMyArNDc3LDEzIEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1
c3RHbHlwaHMKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdHJlYXRBc1NwYWNlICYmICFt
X2FmdGVyRXhwYW5zaW9uKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGFrZSB0
aGUgZXhwYW5zaW9uIG9wcG9ydHVuaXR5IGJlZm9yZSB0aGlzIGlkZW9ncmFwaC4KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVu
aXR5OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBleHBhbnNpb24gPSByb3VuZGYo
cHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRmKG1fZXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmbG9hdCBleHBhbnNpb24gPSBwcmV2aW91c0V4cGFuc2lvbiAtIG1fZXhw
YW5zaW9uOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fdG90YWxXaWR0aCArPSBleHBh
bnNpb247CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9hZGp1c3RlZEFkdmFuY2VzLmxh
c3QoKS53aWR0aCArPSBleHBhbnNpb247CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJl
dmlvdXNFeHBhbnNpb24gPSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fZXhwYW5zaW9uIC09IG1fZXhwYW5zaW9uUGVyT3Bw
b3J0dW5pdHk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoICs9IHJvdW5k
ZihwcmV2aW91c0V4cGFuc2lvbikgLSByb3VuZGYobV9leHBhbnNpb24pOworICAgICAgICAgICAg
ICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSBwcmV2aW91c0V4cGFuc2lvbiAtIG1fZXhwYW5z
aW9uOwogICAgICAgICAgICAgICAgICAgICAgICAgbV9hZnRlckV4cGFuc2lvbiA9IHRydWU7CiAg
ICAgICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgbV9hZnRl
ckV4cGFuc2lvbiA9IGZhbHNlOwpAQCAtNTE0LDMzICs0OTUsNyBAQCB2b2lkIENvbXBsZXhUZXh0
Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAgICAgICAgICAgICAgICAgICAgIG1fYWZ0ZXJFeHBh
bnNpb24gPSBmYWxzZTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgLy8gRGVhbCB3aXRo
IHRoZSBmbG9hdC9pbnRlZ2VyIGltcGVkYW5jZSBtaXNtYXRjaCBiZXR3ZWVuIENHIGFuZCBXZWJD
b3JlLiAiV29yZHMiIChjaGFyYWN0ZXJzIAotICAgICAgICAgICAgLy8gZm9sbG93ZWQgYnkgYSBj
aGFyYWN0ZXIgZGVmaW5lZCBieSBpc1JvdW5kaW5nSGFja0NoYXJhY3RlcigpKSBhcmUgYWx3YXlz
IGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgICAgICAvLyBXZSBhZGp1c3QgdGhlIHdpZHRoIG9m
IHRoZSBsYXN0IGNoYXJhY3RlciBvZiBhICJ3b3JkIiB0byBlbnN1cmUgYW4gaW50ZWdlciB3aWR0
aC4KLSAgICAgICAgICAgIC8vIEZvcmNlIGNoYXJhY3RlcnMgdGhhdCBhcmUgdXNlZCB0byBkZXRl
cm1pbmUgd29yZCBib3VuZGFyaWVzIGZvciB0aGUgcm91bmRpbmcgaGFjawotICAgICAgICAgICAg
Ly8gdG8gYmUgaW50ZWdlciB3aWR0aCwgc28gdGhlIGZvbGxvd2luZyB3b3JkcyB3aWxsIHN0YXJ0
IG9uIGFuIGludGVnZXIgYm91bmRhcnkuCi0gICAgICAgICAgICBpZiAobV9ydW4uYXBwbHlXb3Jk
Um91bmRpbmcoKSAmJiBGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcihjaCkpCi0gICAgICAg
ICAgICAgICAgYWR2YW5jZS53aWR0aCA9IGNlaWxDR0Zsb2F0KGFkdmFuY2Uud2lkdGgpOwotCi0g
ICAgICAgICAgICAvLyBDaGVjayB0byBzZWUgaWYgdGhlIG5leHQgY2hhcmFjdGVyIGlzIGEgInJv
dW5kaW5nIGhhY2sgY2hhcmFjdGVyIiwgaWYgc28sIGFkanVzdCB0aGUKLSAgICAgICAgICAgIC8v
IHdpZHRoIHNvIHRoYXQgdGhlIHRvdGFsIHJ1biB3aWR0aCB3aWxsIGJlIG9uIGFuIGludGVnZXIg
Ym91bmRhcnkuCi0gICAgICAgICAgICBpZiAoKG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkgJiYg
IWxhc3RHbHlwaCAmJiBGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcihuZXh0Q2gpKSB8fCAo
bV9ydW4uYXBwbHlSdW5Sb3VuZGluZygpICYmIGxhc3RHbHlwaCkpIHsKLSAgICAgICAgICAgICAg
ICBDR0Zsb2F0IHRvdGFsV2lkdGggPSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nICsgYWR2YW5jZS53
aWR0aDsKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gY2VpbENHRmxv
YXQodG90YWxXaWR0aCk7Ci0gICAgICAgICAgICAgICAgQ0dGbG9hdCBleHRyYVdpZHRoID0gd2lk
dGhTaW5jZUxhc3RSb3VuZGluZyAtIHRvdGFsV2lkdGg7Ci0gICAgICAgICAgICAgICAgaWYgKG1f
cnVuLmx0cigpKQotICAgICAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoICs9IGV4dHJhV2lk
dGg7Ci0gICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChtX2xh
c3RSb3VuZGluZ0dseXBoKQotICAgICAgICAgICAgICAgICAgICAgICAgbV9hZGp1c3RlZEFkdmFu
Y2VzW21fbGFzdFJvdW5kaW5nR2x5cGggLSAxXS53aWR0aCArPSBleHRyYVdpZHRoOwotICAgICAg
ICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBtX2ZpbmFsUm91bmRp
bmdXaWR0aCA9IGV4dHJhV2lkdGg7Ci0gICAgICAgICAgICAgICAgICAgIG1fbGFzdFJvdW5kaW5n
R2x5cGggPSBtX2FkanVzdGVkQWR2YW5jZXMuc2l6ZSgpICsgMTsKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgbV90b3RhbFdpZHRoICs9IHdpZHRoU2luY2VMYXN0Um91bmRpbmc7
Ci0gICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9IDA7Ci0gICAgICAgICAg
ICB9IGVsc2UKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nICs9IGFkdmFu
Y2Uud2lkdGg7CisgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdENvbW1pdCArPSBhZHZhbmNlLndp
ZHRoOwogCiAgICAgICAgICAgICAvLyBGSVhNRTogQ29tYmluaW5nIG1hcmtzIHNob3VsZCByZWNl
aXZlIGEgdGV4dCBlbXBoYXNpcyBtYXJrIGlmIHRoZXkgYXJlIGNvbWJpbmUgd2l0aCBhIHNwYWNl
LgogICAgICAgICAgICAgaWYgKG1fZm9yVGV4dEVtcGhhc2lzICYmICghRm9udDo6Y2FuUmVjZWl2
ZVRleHRFbXBoYXNpcyhjaCkgfHwgKFVfR0VUX0dDX01BU0soY2gpICYgVV9HQ19NX01BU0spKSkK
QEAgLTU2NCw3ICs1MTksNyBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5
cGhzCiAgICAgICAgIGlmICghaXNNb25vdG9uaWMpCiAgICAgICAgICAgICBjb21wbGV4VGV4dFJ1
bi5zZXRJc05vbk1vbm90b25pYygpOwogICAgIH0KLSAgICBtX3RvdGFsV2lkdGggKz0gd2lkdGhT
aW5jZUxhc3RSb3VuZGluZzsKKyAgICBtX3RvdGFsV2lkdGggKz0gd2lkdGhTaW5jZUxhc3RDb21t
aXQ7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9s
bGVyLmgJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCw5ICs2
MCw2IEBAIHB1YmxpYzoKIAogICAgIGZsb2F0IHRvdGFsV2lkdGgoKSBjb25zdCB7IHJldHVybiBt
X3RvdGFsV2lkdGg7IH0KIAotICAgIC8vIEV4dHJhIHdpZHRoIHRvIHRoZSBsZWZ0IG9mIHRoZSBs
ZWZ0bW9zdCBnbHlwaC4KLSAgICBmbG9hdCBmaW5hbFJvdW5kaW5nV2lkdGgoKSBjb25zdCB7IHJl
dHVybiBtX2ZpbmFsUm91bmRpbmdXaWR0aDsgfQotCiAgICAgZmxvYXQgbWluR2x5cGhCb3VuZGlu
Z0JveFgoKSBjb25zdCB7IHJldHVybiBtX21pbkdseXBoQm91bmRpbmdCb3hYOyB9CiAgICAgZmxv
YXQgbWF4R2x5cGhCb3VuZGluZ0JveFgoKSBjb25zdCB7IHJldHVybiBtX21heEdseXBoQm91bmRp
bmdCb3hYOyB9CiAgICAgZmxvYXQgbWluR2x5cGhCb3VuZGluZ0JveFkoKSBjb25zdCB7IHJldHVy
biBtX21pbkdseXBoQm91bmRpbmdCb3hZOyB9CkBAIC0xNzYsNyArMTczLDYgQEAgcHJpdmF0ZToK
ICAgICBzaXplX3QgbV9jdXJyZW50UnVuOwogICAgIHVuc2lnbmVkIG1fZ2x5cGhJbkN1cnJlbnRS
dW47CiAgICAgdW5zaWduZWQgbV9jaGFyYWN0ZXJJbkN1cnJlbnRHbHlwaDsKLSAgICBmbG9hdCBt
X2ZpbmFsUm91bmRpbmdXaWR0aDsKICAgICBmbG9hdCBtX2V4cGFuc2lvbjsKICAgICBmbG9hdCBt
X2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwogICAgIGJvb2wgbV9hZnRlckV4cGFuc2lvbjsKQEAg
LTE4Nyw4ICsxODMsNiBAQCBwcml2YXRlOgogICAgIGZsb2F0IG1fbWF4R2x5cGhCb3VuZGluZ0Jv
eFg7CiAgICAgZmxvYXQgbV9taW5HbHlwaEJvdW5kaW5nQm94WTsKICAgICBmbG9hdCBtX21heEds
eXBoQm91bmRpbmdCb3hZOwotICAgIAotICAgIHVuc2lnbmVkIG1fbGFzdFJvdW5kaW5nR2x5cGg7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvRm9udENvbXBsZXhUZXh0TWFjLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENvbXBsZXhUZXh0TWFjLmNw
cAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvRm9udENvbXBsZXhUZXh0TWFjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsNyArNzEsNyBA
QCBmbG9hdCBGb250OjpnZXRHbHlwaHNBbmRBZHZhbmNlc0ZvckNvbXBsCiAgICAgZmxvYXQgYWZ0
ZXJXaWR0aCA9IGNvbnRyb2xsZXIucnVuV2lkdGhTb0ZhcigpOwogCiAgICAgaWYgKHJ1bi5ydGwo
KSkgewotICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGNvbnRyb2xsZXIudG90YWxXaWR0aCgpICsg
Y29udHJvbGxlci5maW5hbFJvdW5kaW5nV2lkdGgoKSAtIGFmdGVyV2lkdGg7CisgICAgICAgIGlu
aXRpYWxBZHZhbmNlID0gY29udHJvbGxlci50b3RhbFdpZHRoKCkgLSBhZnRlcldpZHRoOwogICAg
ICAgICBmb3IgKGludCBpID0gMCwgZW5kID0gZ2x5cGhCdWZmZXIuc2l6ZSgpIC0gMTsgaSA8IGds
eXBoQnVmZmVyLnNpemUoKSAvIDI7ICsraSwgLS1lbmQpCiAgICAgICAgICAgICBnbHlwaEJ1ZmZl
ci5zd2FwKGksIGVuZCk7CiAgICAgfSBlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0TWFjLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHRNYWMubW0JKHJl
dmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dy
YXBoaWNzQ29udGV4dE1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTEyLDE0ICsxMTIsMTQgQEAg
c3RhdGljIE5TQ29sb3IqIGNyZWF0ZVBhdHRlcm5Db2xvcihOU1N0cgogfQogCiAvLyBXZWJLaXQg
b24gTWFjIGlzIGEgc3RhbmRhcmQgcGxhdGZvcm0gY29tcG9uZW50LCBzbyBpdCBtdXN0IHVzZSB0
aGUgc3RhbmRhcmQgcGxhdGZvcm0gYXJ0d29yayBmb3IgdW5kZXJsaW5lLgotdm9pZCBHcmFwaGlj
c0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEludFBvaW50JiBwb2ludCwg
aW50IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCit2b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2ludCYgcG9pbnQsIGZs
b2F0IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCiB7CiAgICAgaWYgKHBhaW50
aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogICAgICAgICAKICAgICAvLyBUaGVzZSBh
cmUgdGhlIHNhbWUgZm9yIG1pc3NwZWxsaW5nIG9yIGJhZCBncmFtbWFyLgogICAgIGludCBwYXR0
ZXJuSGVpZ2h0ID0gY01pc3NwZWxsaW5nTGluZVRoaWNrbmVzczsKLSAgICBpbnQgcGF0dGVybldp
ZHRoID0gY01pc3NwZWxsaW5nTGluZVBhdHRlcm5XaWR0aDsKKyAgICBmbG9hdCBwYXR0ZXJuV2lk
dGggPSBjTWlzc3BlbGxpbmdMaW5lUGF0dGVybldpZHRoOwogCiAgICAgYm9vbCB1c2luZ0RvdDsK
ICAgICBOU0NvbG9yICpwYXR0ZXJuQ29sb3I7CkBAIC0xNjUsNyArMTY1LDcgQEAgdm9pZCBHcmFw
aGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZQogICAgIC8vIHNwYWNlIGJldHdlZW4gYWRq
YWNlbnQgbWlzc3BlbGxlZCB3b3JkcyB3YXMgdW5kZXJsaW5lZC4KICAgICBpZiAodXNpbmdEb3Qp
IHsKICAgICAgICAgLy8gYWxsb3cgc2xpZ2h0bHkgbW9yZSBjb25zaWRlcmluZyB0aGF0IHRoZSBw
YXR0ZXJuIGVuZHMgd2l0aCBhIHRyYW5zcGFyZW50IHBpeGVsCi0gICAgICAgIGludCB3aWR0aE1v
ZCA9IHdpZHRoICUgcGF0dGVybldpZHRoOworICAgICAgICBmbG9hdCB3aWR0aE1vZCA9IGZtb2Rm
KHdpZHRoLCBwYXR0ZXJuV2lkdGgpOwogICAgICAgICBpZiAocGF0dGVybldpZHRoIC0gd2lkdGhN
b2QgPiBjTWlzc3BlbGxpbmdMaW5lUGF0dGVybkdhcFdpZHRoKQogICAgICAgICAgICAgd2lkdGgg
LT0gd2lkdGhNb2Q7CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAkocmV2aXNpb24gNzgz
NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRl
eHRRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg0NiwxMyArODQ2LDEzIEBAIHZvaWQgR3JhcGhp
Y3NDb250ZXh0OjpkcmF3Rm9jdXNSaW5nKGNvbnMKICAgICBkcmF3Rm9jdXNSaW5nRm9yUGF0aCht
X2RhdGEtPnAoKSwgcGF0aCwgY29sb3IsIG1fZGF0YS0+YW50aUFsaWFzaW5nRm9yUmVjdHNBbmRM
aW5lcyk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3Qg
SW50UG9pbnQmIG9yaWdpbiwgaW50IHdpZHRoLCBib29sKQordm9pZCBHcmFwaGljc0NvbnRleHQ6
OmRyYXdMaW5lRm9yVGV4dChjb25zdCBGbG9hdFBvaW50JiBvcmlnaW4sIGZsb2F0IHdpZHRoLCBi
b29sKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIEludFBvaW50IHN0YXJ0UG9pbnQgPSBvcmlnaW47Ci0gICAgSW50UG9pbnQgZW5kUG9pbnQg
PSBvcmlnaW4gKyBJbnRTaXplKHdpZHRoLCAwKTsKKyAgICBGbG9hdFBvaW50IHN0YXJ0UG9pbnQg
PSBvcmlnaW47CisgICAgRmxvYXRQb2ludCBlbmRQb2ludCA9IG9yaWdpbiArIEZsb2F0U2l6ZSh3
aWR0aCwgMCk7CiAKICAgICAvLyBJZiBwYWludGVuZ2luZSB0eXBlIGlzIFgxMSB0byBhdm9pZCBh
cnRpZmFjdHMKICAgICAvLyBsaWtlIGJ1ZyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDIyNDgKQEAgLTg3MiwxMCArODcyLDExIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
OjpkcmF3TGluZUZvclRleHQoY28KICAgICB9CiAjZW5kaWYgLy8gZGVmaW5lZChRX1dTX1gxMSkK
IAorICAgIC8vIEZJWE1FOiBMb3NzIG9mIHByZWNpc2lvbiBoZXJlLiBNaWdodCBjb25zaWRlciBy
b3VuZGluZy4KICAgICBkcmF3TGluZShzdGFydFBvaW50LCBlbmRQb2ludCk7CiB9CiAKLXZvaWQg
R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYs
IGludCwgVGV4dENoZWNraW5nTGluZVN0eWxlKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdM
aW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEZsb2F0UG9pbnQmLCBmbG9hdCwgVGV4dENoZWNraW5n
TGluZVN0eWxlKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVy
bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3ND
b250ZXh0U2tpYS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lhLmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFNraWEu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTUsNyArNTk1LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRl
eHQ6OmRyYXdMaW5lKGNvbnN0IEludAogICAgIHBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKS0+
ZHJhd1BvaW50cyhTa0NhbnZhczo6a0xpbmVzX1BvaW50TW9kZSwgMiwgcHRzLCBwYWludCk7CiB9
CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBJ
bnRQb2ludCYgcHQsIGludCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQordm9p
ZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEZsb2F0UG9p
bnQmIHB0LCBmbG9hdCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQogewogICAg
IGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTY0NCw4ICs2NDQs
OCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlCiAgICAgfQogCiAg
ICAgLy8gT2Zmc2V0IGl0IHZlcnRpY2FsbHkgYnkgMSBzbyB0aGF0IHRoZXJlJ3Mgc29tZSBzcGFj
ZSB1bmRlciB0aGUgdGV4dC4KLSAgICBTa1NjYWxhciBvcmlnaW5YID0gU2tJbnRUb1NjYWxhcihw
dC54KCkpOwotICAgIFNrU2NhbGFyIG9yaWdpblkgPSBTa0ludFRvU2NhbGFyKHB0LnkoKSkgKyAx
OworICAgIFNrU2NhbGFyIG9yaWdpblggPSBXZWJDb3JlRmxvYXRUb1NrU2NhbGFyKHB0LngoKSk7
CisgICAgU2tTY2FsYXIgb3JpZ2luWSA9IFdlYkNvcmVGbG9hdFRvU2tTY2FsYXIocHQueSgpKSAr
IDE7CiAKICAgICAvLyBNYWtlIGEgc2hhZGVyIGZvciB0aGUgYml0bWFwIHdpdGggYW4gb3JpZ2lu
IG9mIHRoZSBib3ggd2UnbGwgZHJhdy4gVGhpcwogICAgIC8vIHNoYWRlciBpcyByZWZjb3VudGVk
IGFuZCB3aWxsIGhhdmUgYW4gaW5pdGlhbCByZWZjb3VudCBvZiAxLgpAQCAtNjY3LDEzICs2Njcs
MTMgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZQogICAgIFNrUmVj
dCByZWN0OwogICAgIHJlY3Quc2V0KG9yaWdpblgsCiAgICAgICAgICAgICAgb3JpZ2luWSwKLSAg
ICAgICAgICAgICBvcmlnaW5YICsgU2tJbnRUb1NjYWxhcih3aWR0aCksCisgICAgICAgICAgICAg
b3JpZ2luWCArIFdlYkNvcmVGbG9hdFRvU2tTY2FsYXIod2lkdGgpLAogICAgICAgICAgICAgIG9y
aWdpblkgKyBTa0ludFRvU2NhbGFyKG1pc3NwZWxsQml0bWFwLT5oZWlnaHQoKSkpOwogICAgIHBs
YXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKS0+ZHJhd1JlY3QocmVjdCwgcGFpbnQpOwogfQogCi12
b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEludFBvaW50JiBwdCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpZHRoLAordm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjb25zdCBGbG9hdFBvaW50JiBwdCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgd2lkdGgsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgcHJpbnRpbmcpCiB7CiAgICAgaWYg
KHBhaW50aW5nRGlzYWJsZWQoKSkKQEAgLTY4Niw5ICs2ODYsOSBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvCiAKICAgICBpbnQgdGhpY2tuZXNzID0gU2tNYXgzMihz
dGF0aWNfY2FzdDxpbnQ+KHN0cm9rZVRoaWNrbmVzcygpKSwgMSk7CiAgICAgU2tSZWN0IHI7Ci0g
ICAgci5mTGVmdCA9IFNrSW50VG9TY2FsYXIocHQueCgpKTsKLSAgICByLmZUb3AgPSBTa0ludFRv
U2NhbGFyKHB0LnkoKSk7Ci0gICAgci5mUmlnaHQgPSByLmZMZWZ0ICsgU2tJbnRUb1NjYWxhcih3
aWR0aCk7CisgICAgci5mTGVmdCA9IFdlYkNvcmVGbG9hdFRvU2tTY2FsYXIocHQueCgpKTsKKyAg
ICByLmZUb3AgPSBXZWJDb3JlRmxvYXRUb1NrU2NhbGFyKHB0LnkoKSk7CisgICAgci5mUmlnaHQg
PSByLmZMZWZ0ICsgV2ViQ29yZUZsb2F0VG9Ta1NjYWxhcih3aWR0aCk7CiAgICAgci5mQm90dG9t
ID0gci5mVG9wICsgU2tJbnRUb1NjYWxhcih0aGlja25lc3MpOwogCiAgICAgU2tQYWludCBwYWlu
dDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0Nv
bnRleHRDR1dpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dENHV2luLmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0Q0dXaW4u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODQsNyArMTg0LDcgQEAgc3RhdGljIGNvbnN0IENvbG9y
JiBncmFtbWFyUGF0dGVybkNvbG9yKAogICAgIHJldHVybiBncmFtbWFyQ29sb3I7CiB9CiAKLXZv
aWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBJbnRQb2lu
dCYgcG9pbnQsIGludCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQordm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEZsb2F0UG9pbnQm
IHBvaW50LCBmbG9hdCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQogewogICAg
IGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9VbmlzY3JpYmVDb250cm9sbGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vVW5pc2NyaWJl
Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNjEsMTggKzI2MSwxMyBAQCBib29sIFVuaXNjcmliZUNvbnRyb2xsZXI6OnNoYXBlQW5kUGxh
Y2VJCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgLy8gQ29udmVydCBhbGwgY2hhcnMgdGhh
dCBzaG91bGQgYmUgdHJlYXRlZCBhcyBzcGFjZXMgdG8gdXNlIHRoZSBzcGFjZSBnbHlwaC4KLSAg
ICAvLyBXZSBhbHNvIGNyZWF0ZSBhIG1hcCB0aGF0IGFsbG93cyB1cyB0byBxdWlja2x5IGdvIGZy
b20gc3BhY2UgZ2x5cGhzIG9yIHJvdW5kaW5nCi0gICAgLy8gaGFjayBnbHlwaHMgYmFjayB0byB0
aGVpciBjb3JyZXNwb25kaW5nIGNoYXJhY3RlcnMuCisgICAgLy8gV2UgYWxzbyBjcmVhdGUgYSBt
YXAgdGhhdCBhbGxvd3MgdXMgdG8gcXVpY2tseSBnbyBmcm9tIHNwYWNlIGdseXBocyBiYWNrIHRv
IHRoZWlyIGNvcnJlc3BvbmRpbmcgY2hhcmFjdGVycy4KICAgICBWZWN0b3I8aW50PiBzcGFjZUNo
YXJhY3RlcnMoZ2x5cGhzLnNpemUoKSk7CiAgICAgc3BhY2VDaGFyYWN0ZXJzLmZpbGwoLTEpOwot
ICAgIFZlY3RvcjxpbnQ+IHJvdW5kaW5nSGFja0NoYXJhY3RlcnMoZ2x5cGhzLnNpemUoKSk7Ci0g
ICAgcm91bmRpbmdIYWNrQ2hhcmFjdGVycy5maWxsKC0xKTsKLSAgICBWZWN0b3I8aW50PiByb3Vu
ZGluZ0hhY2tXb3JkQm91bmRhcmllcyhnbHlwaHMuc2l6ZSgpKTsKLSAgICByb3VuZGluZ0hhY2tX
b3JkQm91bmRhcmllcy5maWxsKC0xKTsKIAogICAgIGNvbnN0IGZsb2F0IGNMb2dpY2FsU2NhbGUg
PSBmb250RGF0YS0+cGxhdGZvcm1EYXRhKCkudXNlR0RJKCkgPyAxLjBmIDogMzIuMGY7CiAgICAg
dW5zaWduZWQgbG9naWNhbFNwYWNlV2lkdGggPSBmb250RGF0YS0+c3BhY2VXaWR0aCgpICogY0xv
Z2ljYWxTY2FsZTsKLSAgICBmbG9hdCByb3VuZGVkU3BhY2VXaWR0aCA9IHJvdW5kZihmb250RGF0
YS0+c3BhY2VXaWR0aCgpKTsKKyAgICBmbG9hdCBzcGFjZVdpZHRoID0gZm9udERhdGEtPnNwYWNl
V2lkdGgoKTsKIAogICAgIGZvciAoaW50IGsgPSAwOyBrIDwgbGVuOyBrKyspIHsKICAgICAgICAg
VUNoYXIgY2ggPSAqKHN0ciArIGspOwpAQCAtMjg2LDIxICsyODEsNiBAQCBib29sIFVuaXNjcmli
ZUNvbnRyb2xsZXI6OnNoYXBlQW5kUGxhY2VJCiAgICAgICAgICAgICBpZiAodHJlYXRBc1NwYWNl
KQogICAgICAgICAgICAgICAgIHNwYWNlQ2hhcmFjdGVyc1tjbHVzdGVyc1trXV0gPSBtX2N1cnJl
bnRDaGFyYWN0ZXIgKyBrICsgaXRlbS5pQ2hhclBvczsKICAgICAgICAgfQotCi0gICAgICAgIGlm
IChGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcihjaCkpCi0gICAgICAgICAgICByb3VuZGlu
Z0hhY2tDaGFyYWN0ZXJzW2NsdXN0ZXJzW2tdXSA9IG1fY3VycmVudENoYXJhY3RlciArIGsgKyBp
dGVtLmlDaGFyUG9zOwotCi0gICAgICAgIGludCBib3VuZGFyeSA9IGsgKyBtX2N1cnJlbnRDaGFy
YWN0ZXIgKyBpdGVtLmlDaGFyUG9zOwotICAgICAgICBpZiAoYm91bmRhcnkgPCBtX3J1bi5sZW5n
dGgoKSkgewotICAgICAgICAgICAgLy8gV2hlbiBhdCB0aGUgbGFzdCBjaGFyYWN0ZXIgaW4gdGhl
IHN0ciwgZG9uJ3QgbG9vayBvbmUgcGFzdCB0aGUgZW5kIGZvciBhIHJvdW5kaW5nIGhhY2sgY2hh
cmFjdGVyLgotICAgICAgICAgICAgLy8gSW5zdGVhZCBsb29rIGFoZWFkIHRvIHRoZSBmaXJzdCBj
aGFyYWN0ZXIgb2YgbmV4dCBpdGVtLCBpZiB0aGVyZSBpcyBhIG5leHQgb25lLiAKLSAgICAgICAg
ICAgIGlmIChrICsgMSA9PSBsZW4pIHsKLSAgICAgICAgICAgICAgICBpZiAoaSArIDIgPCBtX2l0
ZW1zLnNpemUoKSAvLyBDaGVjayBmb3IgYXQgbGVhc3QgMiBpdGVtcyByZW1haW5pbmcuIFRoZSBs
YXN0IGl0ZW0gaXMgYSB0ZXJtaW5hdGluZyBpdGVtIGNvbnRhaW5pbmcgbm8gY2hhcmFjdGVycy4K
LSAgICAgICAgICAgICAgICAgICAgJiYgRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoKihj
cCArIG1faXRlbXNbaSArIDFdLmlDaGFyUG9zKSkpCi0gICAgICAgICAgICAgICAgICAgIHJvdW5k
aW5nSGFja1dvcmRCb3VuZGFyaWVzW2NsdXN0ZXJzW2tdXSA9IGJvdW5kYXJ5OwotICAgICAgICAg
ICAgfSBlbHNlIGlmIChGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcigqKHN0ciArIGsgKyAx
KSkpCi0gICAgICAgICAgICAgICAgcm91bmRpbmdIYWNrV29yZEJvdW5kYXJpZXNbY2x1c3RlcnNb
a11dID0gYm91bmRhcnk7Ci0gICAgICAgIH0KICAgICB9CiAKICAgICAvLyBQb3B1bGF0ZSBvdXIg
Z2x5cGggYnVmZmVyIHdpdGggdGhpcyBpbmZvcm1hdGlvbi4KQEAgLTMxNCwyNCArMjk0LDggQEAg
Ym9vbCBVbmlzY3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSQogICAgICAgICBmbG9hdCBv
ZmZzZXRYID0gb2Zmc2V0c1trXS5kdSAvIGNMb2dpY2FsU2NhbGU7CiAgICAgICAgIGZsb2F0IG9m
ZnNldFkgPSBvZmZzZXRzW2tdLmR2IC8gY0xvZ2ljYWxTY2FsZTsKIAotICAgICAgICAvLyBNYXRj
aCBBcHBLaXQncyBydWxlcyBmb3IgdGhlIGludGVnZXIgdnMuIG5vbi1pbnRlZ2VyIHJlbmRlcmlu
ZyBtb2Rlcy4KLSAgICAgICAgZmxvYXQgcm91bmRlZEFkdmFuY2UgPSByb3VuZGYoYWR2YW5jZSk7
Ci0gICAgICAgIGlmICghbV9mb250LmlzUHJpbnRlckZvbnQoKSAmJiAhZm9udERhdGEtPmlzU3lz
dGVtRm9udCgpKSB7Ci0gICAgICAgICAgICBhZHZhbmNlID0gcm91bmRlZEFkdmFuY2U7Ci0gICAg
ICAgICAgICBvZmZzZXRYID0gcm91bmRmKG9mZnNldFgpOwotICAgICAgICAgICAgb2Zmc2V0WSA9
IHJvdW5kZihvZmZzZXRZKTsKLSAgICAgICAgfQotCiAgICAgICAgIGFkdmFuY2UgKz0gZm9udERh
dGEtPnN5bnRoZXRpY0JvbGRPZmZzZXQoKTsKIAotICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ug
c3BhY2VzIGluIHR3byB3YXlzIHdoZW4gYXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAg
Ly8gRmlyc3QsIHdlIHJvdW5kIHNwYWNlcyB0byBhbiBhZGp1c3RlZCB3aWR0aCBpbiBhbGwgZm9u
dHMuCi0gICAgICAgIC8vIFNlY29uZCwgaW4gZml4ZWQtcGl0Y2ggZm9udHMgd2UgZW5zdXJlIHRo
YXQgYWxsIGdseXBocyB0aGF0Ci0gICAgICAgIC8vIG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgc3Bh
Y2UgZ2x5cGggaGF2ZSB0aGUgc2FtZSB3aWR0aCBhcyB0aGUgc3BhY2UgZ2x5cGguCi0gICAgICAg
IGlmIChyb3VuZGVkQWR2YW5jZSA9PSByb3VuZGVkU3BhY2VXaWR0aCAmJiAoZm9udERhdGEtPnBp
dGNoKCkgPT0gRml4ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgpKSAm
JgotICAgICAgICAgICAgbV9ydW4uYXBwbHlXb3JkUm91bmRpbmcoKSkKLSAgICAgICAgICAgIGFk
dmFuY2UgPSBmb250RGF0YS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCk7Ci0KICAgICAgICAgaWYgKGhh
c0V4dHJhU3BhY2luZykgewogICAgICAgICAgICAgLy8gSWYgd2UncmUgYSBnbHlwaCB3aXRoIGFu
IGFkdmFuY2UsIGdvIGFoZWFkIGFuZCBhZGQgaW4gbGV0dGVyLXNwYWNpbmcuCiAgICAgICAgICAg
ICAvLyBUaGF0IHdheSB3ZSB3ZWVkIG91dCB6ZXJvIHdpZHRoIGx1cmtlcnMuICBUaGlzIGJlaGF2
aW9yIG1hdGNoZXMgdGhlIGZhc3QgdGV4dCBjb2RlIHBhdGguCkBAIC0zNTIsNyArMzE2LDcgQEAg
Ym9vbCBVbmlzY3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSQogICAgICAgICAgICAgICAg
ICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgcHJldmlvdXNQYWRk
aW5nID0gbV9wYWRkaW5nOwogICAgICAgICAgICAgICAgICAgICAgICAgbV9wYWRkaW5nIC09IG1f
cGFkUGVyU3BhY2U7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZHZhbmNlICs9IHJvdW5kZihw
cmV2aW91c1BhZGRpbmcpIC0gcm91bmRmKG1fcGFkZGluZyk7CisgICAgICAgICAgICAgICAgICAg
ICAgICBhZHZhbmNlICs9IHByZXZpb3VzUGFkZGluZyAtIG1fcGFkZGluZzsKICAgICAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KIApAQCAtMzYyLDI1ICszMjYsNiBAQCBib29s
IFVuaXNjcmliZUNvbnRyb2xsZXI6OnNoYXBlQW5kUGxhY2VJCiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KIAotICAgICAgICAvLyBEZWFsIHdpdGggdGhlIGZsb2F0L2ludGVnZXIgaW1wZWRhbmNl
IG1pc21hdGNoIGJldHdlZW4gQ0cgYW5kIFdlYkNvcmUuICJXb3JkcyIgKGNoYXJhY3RlcnMgCi0g
ICAgICAgIC8vIGZvbGxvd2VkIGJ5IGEgY2hhcmFjdGVyIGRlZmluZWQgYnkgaXNSb3VuZGluZ0hh
Y2tDaGFyYWN0ZXIoKSkgYXJlIGFsd2F5cyBhbiBpbnRlZ2VyIHdpZHRoLgotICAgICAgICAvLyBX
ZSBhZGp1c3QgdGhlIHdpZHRoIG9mIHRoZSBsYXN0IGNoYXJhY3RlciBvZiBhICJ3b3JkIiB0byBl
bnN1cmUgYW4gaW50ZWdlciB3aWR0aC4KLSAgICAgICAgLy8gRm9yY2UgY2hhcmFjdGVycyB0aGF0
IGFyZSB1c2VkIHRvIGRldGVybWluZSB3b3JkIGJvdW5kYXJpZXMgZm9yIHRoZSByb3VuZGluZyBo
YWNrCi0gICAgICAgIC8vIHRvIGJlIGludGVnZXIgd2lkdGgsIHNvIHRoZSBmb2xsb3dpbmcgd29y
ZHMgd2lsbCBzdGFydCBvbiBhbiBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICBpbnQgcm91bmRp
bmdIYWNrSW5kZXggPSByb3VuZGluZ0hhY2tDaGFyYWN0ZXJzW2tdOwotICAgICAgICBpZiAobV9y
dW4uYXBwbHlXb3JkUm91bmRpbmcoKSAmJiByb3VuZGluZ0hhY2tJbmRleCAhPSAtMSkKLSAgICAg
ICAgICAgIGFkdmFuY2UgPSBjZWlsZihhZHZhbmNlKTsKLQotICAgICAgICAvLyBDaGVjayB0byBz
ZWUgaWYgdGhlIG5leHQgY2hhcmFjdGVyIGlzIGEgInJvdW5kaW5nIGhhY2sgY2hhcmFjdGVyIiwg
aWYgc28sIGFkanVzdCB0aGUKLSAgICAgICAgLy8gd2lkdGggc28gdGhhdCB0aGUgdG90YWwgcnVu
IHdpZHRoIHdpbGwgYmUgb24gYW4gaW50ZWdlciBib3VuZGFyeS4KLSAgICAgICAgaW50IHBvc2l0
aW9uID0gbV9jdXJyZW50Q2hhcmFjdGVyICsgbGVuOwotICAgICAgICBib29sIGxhc3RHbHlwaCA9
IChrID09IGdseXBocy5zaXplKCkgLSAxKSAmJiAobV9ydW4ucnRsKCkgPyBpID09IDAgOiBpID09
IG1faXRlbXMuc2l6ZSgpIC0gMikgJiYgKHBvc2l0aW9uID49IG1fZW5kKTsKLSAgICAgICAgaWYg
KChtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpICYmIHJvdW5kaW5nSGFja1dvcmRCb3VuZGFyaWVz
W2tdICE9IC0xKSB8fAotICAgICAgICAgICAgKG1fcnVuLmFwcGx5UnVuUm91bmRpbmcoKSAmJiBs
YXN0R2x5cGgpKSB7IAotICAgICAgICAgICAgZmxvYXQgdG90YWxXaWR0aCA9IG1fcnVuV2lkdGhT
b0ZhciArIGFkdmFuY2U7Ci0gICAgICAgICAgICBhZHZhbmNlICs9IGNlaWxmKHRvdGFsV2lkdGgp
IC0gdG90YWxXaWR0aDsKLSAgICAgICAgfQotCiAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBh
ZHZhbmNlOwogCiAgICAgICAgIC8vIEZJWE1FOiBXZSBuZWVkIHRvIHRha2UgdGhlIEdPRkZTRVRT
IGZvciBjb21iaW5pbmcgZ2x5cGhzIGFuZCBzdG9yZSB0aGVtIGluIHRoZSBnbHlwaCBidWZmZXIK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9GaWxlQ2hvb3Nlckd0ay5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0ZpbGVDaG9vc2VyR3RrLmNw
cAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvRmlsZUNo
b29zZXJHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MCw4ICs2MCw4IEBAIFN0cmluZyBGaWxl
Q2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICAgICAgZ2NoYXIqIHN5c3RlbUJhc2Vu
YW1lID0gZ19wYXRoX2dldF9iYXNlbmFtZShzeXN0ZW1GaWxlbmFtZS5kYXRhKCkpOwogICAgICAg
ICBzdHJpbmdCeUFkb3B0aW5nRmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHN5c3RlbUJhc2VuYW1l
LCBzdHJpbmcpOwogICAgIH0gZWxzZSBpZiAobV9maWxlbmFtZXMuc2l6ZSgpID4gMSkKLSAgICAg
ICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxv
YWRUZXh0KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250LCBmYWxzZSk7CisgICAgICAg
IHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUobXVsdGlwbGVGaWxlVXBsb2Fk
VGV4dChtX2ZpbGVuYW1lcy5zaXplKCkpLCB3aWR0aCwgZm9udCk7CiAKLSAgICByZXR1cm4gU3Ry
aW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJpbmcsIHdpZHRoLCBmb250LCBmYWxzZSk7
CisgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyaW5nLCB3aWR0
aCwgZm9udCk7CiB9CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0lt
YWdlTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFn
SW1hZ2VNYWMubW0JKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0RyYWdJbWFnZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTU4LDggKzE1OCw3IEBAIHN0
YXRpYyBmbG9hdCB3aWR0aFdpdGhGb250KE5TU3RyaW5nICpzdHIKICAgICBpZiAoY2FuVXNlRmFz
dFJlbmRlcmVyKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCkpIHsKICAgICAgICAgRm9udCB3ZWJDb3Jl
Rm9udChGb250UGxhdGZvcm1EYXRhKGZvbnQsIFtmb250IHBvaW50U2l6ZV0pLCAhW1tOU0dyYXBo
aWNzQ29udGV4dCBjdXJyZW50Q29udGV4dF0gaXNEcmF3aW5nVG9TY3JlZW5dKTsKICAgICAgICAg
VGV4dFJ1biBydW4oYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKTsKLSAgICAgICAgcnVuLmRpc2FibGVS
b3VuZGluZ0hhY2tzKCk7Ci0gICAgICAgIHJldHVybiB3ZWJDb3JlRm9udC5mbG9hdFdpZHRoKHJ1
bik7CisgICAgICAgIHJldHVybiB3ZWJDb3JlRm9udC53aWR0aChydW4pOwogICAgIH0KICAgICAK
ICAgICByZXR1cm4gW3N0cmluZyBzaXplV2l0aEF0dHJpYnV0ZXM6W05TRGljdGlvbmFyeSBkaWN0
aW9uYXJ5V2l0aE9iamVjdHNBbmRLZXlzOmZvbnQsIE5TRm9udEF0dHJpYnV0ZU5hbWUsIG5pbF1d
LndpZHRoOwpAQCAtMTk3LDggKzE5Niw3IEBAIHN0YXRpYyB2b2lkIGRyYXdBdFBvaW50KE5TU3Ry
aW5nICpzdHJpbmcKICAgICAgICAgICAgIAogICAgICAgICBGb250IHdlYkNvcmVGb250KEZvbnRQ
bGF0Zm9ybURhdGEoZm9udCwgW2ZvbnQgcG9pbnRTaXplXSksICFbbnNDb250ZXh0IGlzRHJhd2lu
Z1RvU2NyZWVuXSwgQW50aWFsaWFzZWQpOwogICAgICAgICBUZXh0UnVuIHJ1bihidWZmZXIuZGF0
YSgpLCBsZW5ndGgpOwotICAgICAgICBydW4uZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsKLSAgICAg
ICAgCisKICAgICAgICAgQ0dGbG9hdCByZWQ7CiAgICAgICAgIENHRmxvYXQgZ3JlZW47CiAgICAg
ICAgIENHRmxvYXQgYmx1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxl
Q2hvb3Nlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
RmlsZUNob29zZXJNYWMubW0JKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL0ZpbGVDaG9vc2VyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw5ICs0Nyw5
IEBAIFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICBlbHNlIGlm
IChtX2ZpbGVuYW1lcy5zaXplKCkgPT0gMSkKICAgICAgICAgc3RyVG9UcnVuY2F0ZSA9IFtbTlNG
aWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZGlzcGxheU5hbWVBdFBhdGg6KG1fZmlsZW5hbWVz
WzBdKV07CiAgICAgZWxzZQotICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRy
dW5jYXRlKG11bHRpcGxlRmlsZVVwbG9hZFRleHQobV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgs
IGZvbnQsIGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVu
Y2F0ZShtdWx0aXBsZUZpbGVVcGxvYWRUZXh0KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBm
b250KTsKIAotICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0clRv
VHJ1bmNhdGUsIHdpZHRoLCBmb250LCBmYWxzZSk7CisgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRv
cjo6Y2VudGVyVHJ1bmNhdGUoc3RyVG9UcnVuY2F0ZSwgd2lkdGgsIGZvbnQpOwogfQogCiB9Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlV2luLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlV2luLmNwcAkocmV2
aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlV2lu
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjEwLDEzICsyMTAsMTMgQEAgRHJhZ0ltYWdlUmVmIGNy
ZWF0ZURyYWdJbWFnZUZvckxpbmsoS1VSTAogICAgIHN0YXRpYyBjb25zdCBDb2xvciBib3R0b21D
b2xvcigyNTUsIDI1NSwgMjU1LCAxMjcpOyAvLyBvcmlnaW5hbCBhbHBoYSA9IDAuNQogICAgIGlm
IChkcmF3VVJMU3RyaW5nKSB7CiAgICAgICAgIGlmIChjbGlwVVJMU3RyaW5nKQotICAgICAgICAg
ICAgdXJsU3RyaW5nID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKHVybFN0cmluZywg
aW1hZ2VTaXplLndpZHRoKCkgLSAoRHJhZ0xhYmVsQm9yZGVyWCAqIDIuMGYpLCAqdXJsRm9udCwg
ZmFsc2UpOworICAgICAgICAgICAgdXJsU3RyaW5nID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRy
dW5jYXRlKHVybFN0cmluZywgaW1hZ2VTaXplLndpZHRoKCkgLSAoRHJhZ0xhYmVsQm9yZGVyWCAq
IDIuMGYpLCAqdXJsRm9udCk7CiAgICAgICAgIEludFBvaW50IHRleHRQb3MoRHJhZ0xhYmVsQm9y
ZGVyWCwgaW1hZ2VTaXplLmhlaWdodCgpIC0gKExhYmVsQm9yZGVyWU9mZnNldCArIHVybEZvbnQt
PmZvbnRNZXRyaWNzKCkuZGVzY2VudCgpKSk7CiAgICAgICAgIFdlYkNvcmVEcmF3RG91YmxlZFRl
eHRBdFBvaW50KGNvbnRleHQsIHVybFN0cmluZywgdGV4dFBvcywgKnVybEZvbnQsIHRvcENvbG9y
LCBib3R0b21Db2xvcik7CiAgICAgfQogICAgIAogICAgIGlmIChjbGlwTGFiZWxTdHJpbmcpCi0g
ICAgICAgIGxhYmVsID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKGxhYmVsLCBpbWFn
ZVNpemUud2lkdGgoKSAtIChEcmFnTGFiZWxCb3JkZXJYICogMi4wZiksICpsYWJlbEZvbnQsIGZh
bHNlKTsKKyAgICAgICAgbGFiZWwgPSBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUobGFi
ZWwsIGltYWdlU2l6ZS53aWR0aCgpIC0gKERyYWdMYWJlbEJvcmRlclggKiAyLjBmKSwgKmxhYmVs
Rm9udCk7CiAKICAgICBJbnRQb2ludCB0ZXh0UG9zKERyYWdMYWJlbEJvcmRlclgsIERyYWdMYWJl
bEJvcmRlclkgKyBsYWJlbEZvbnQtPnBpeGVsU2l6ZSgpKTsKICAgICBXZWJDb3JlRHJhd0RvdWJs
ZWRUZXh0QXRQb2ludChjb250ZXh0LCBsYWJlbCwgdGV4dFBvcywgKmxhYmVsRm9udCwgdG9wQ29s
b3IsIGJvdHRvbUNvbG9yKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxl
Q2hvb3Nlcldpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2lu
L0ZpbGVDaG9vc2VyV2luLmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vRmlsZUNob29zZXJXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niw5ICs0
Niw5IEBAIFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICAgICAg
TFBXU1RSIGJhc2VuYW1lID0gUGF0aEZpbmRGaWxlTmFtZVcodG1wRmlsZW5hbWUuY2hhcmFjdGVy
c1dpdGhOdWxsVGVybWluYXRpb24oKSk7CiAgICAgICAgIHN0cmluZyA9IFN0cmluZyhiYXNlbmFt
ZSk7CiAgICAgfSBlbHNlCi0gICAgICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1
bmNhdGUoU3RyaW5nOjpudW1iZXIobV9maWxlbmFtZXMuc2l6ZSgpKSArICIgZmlsZXMiLCB3aWR0
aCwgZm9udCwgZmFsc2UpOworICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRy
dW5jYXRlKFN0cmluZzo6bnVtYmVyKG1fZmlsZW5hbWVzLnNpemUoKSkgKyAiIGZpbGVzIiwgd2lk
dGgsIGZvbnQpOwogCi0gICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUo
c3RyaW5nLCB3aWR0aCwgZm9udCwgZmFsc2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6
OmNlbnRlclRydW5jYXRlKHN0cmluZywgd2lkdGgsIGZvbnQpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2lu
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51
V2luLmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4v
UG9wdXBNZW51V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzI2LDcgKzMyNiw3IEBAIHZvaWQg
UG9wdXBNZW51V2luOjpjYWxjdWxhdGVQb3NpdGlvbkFuZFMKICAgICAgICAgICAgIGl0ZW1Gb250
LnVwZGF0ZShtX3BvcHVwQ2xpZW50LT5mb250U2VsZWN0b3IoKSk7CiAgICAgICAgIH0KIAotICAg
ICAgICBwb3B1cFdpZHRoID0gbWF4KHBvcHVwV2lkdGgsIGl0ZW1Gb250LndpZHRoKFRleHRSdW4o
dGV4dC5jaGFyYWN0ZXJzKCksIHRleHQubGVuZ3RoKCkpKSk7CisgICAgICAgIHBvcHVwV2lkdGgg
PSBtYXgocG9wdXBXaWR0aCwgc3RhdGljX2Nhc3Q8aW50PihjZWlsZihpdGVtRm9udC53aWR0aChU
ZXh0UnVuKHRleHQuY2hhcmFjdGVycygpLCB0ZXh0Lmxlbmd0aCgpKSkpKSk7CiAgICAgfQogCiAg
ICAgaWYgKG5hdHVyYWxIZWlnaHQgPiBtYXhQb3B1cEhlaWdodCkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3dpbi9XZWJDb3JlVGV4dFJlbmRlcmVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2ViQ29yZVRleHRSZW5kZXJlci5jcHAJKHJldmlz
aW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dlYkNvcmVUZXh0UmVu
ZGVyZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBXZWJDb3Jl
RHJhd0RvdWJsZWRUZXh0QXRQb2ludChHcmFwaAogCiBmbG9hdCBXZWJDb3JlVGV4dEZsb2F0V2lk
dGgoY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBGb250JiBmb250KQogewotICAgIHJldHVybiBT
dHJpbmdUcnVuY2F0b3I6OndpZHRoKHRleHQsIGZvbnQsIGZhbHNlKTsKKyAgICByZXR1cm4gU3Ry
aW5nVHJ1bmNhdG9yOjp3aWR0aCh0ZXh0LCBmb250KTsKIH0KIAogdm9pZCBXZWJDb3JlU2V0U2hv
dWxkVXNlRm9udFNtb290aGluZyhib29sIHNtb290aCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDUs
NiArNTQ1LDIzIEBAIGJvb2wgSGl0VGVzdFJlc3VsdDo6YWRkTm9kZVRvUmVjdEJhc2VkVGUKICAg
ICByZXR1cm4gIXJlY3QuY29udGFpbnMocmVjdEZvclBvaW50KHgsIHkpKTsKIH0KIAorYm9vbCBI
aXRUZXN0UmVzdWx0OjphZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KE5vZGUqIG5vZGUsIGlu
dCB4LCBpbnQgeSwgY29uc3QgRmxvYXRSZWN0JiByZWN0KQoreworICAgIC8vIElmIGl0IGlzIG5v
dCBhIHJlY3QtYmFzZWQgaGl0IHRlc3QsIHRoaXMgbWV0aG9kIGhhcyB0byBiZSBuby1vcC4KKyAg
ICAvLyBSZXR1cm4gZmFsc2UsIHNvIHRoZSBoaXQgdGVzdCBzdG9wcy4KKyAgICBpZiAoIWlzUmVj
dEJhc2VkVGVzdCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBJZiBub2RlIGlz
IG51bGwsIHJldHVybiB0cnVlIHNvIHRoZSBoaXQgdGVzdCBjYW4gY29udGludWUuCisgICAgaWYg
KCFub2RlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIG5vZGUgPSBub2RlLT5zaGFkb3dB
bmNlc3Rvck5vZGUoKTsKKyAgICBtX3JlY3RCYXNlZFRlc3RSZXN1bHQuYWRkKG5vZGUpOworCisg
ICAgcmV0dXJuICFyZWN0LmNvbnRhaW5zKHJlY3RGb3JQb2ludCh4LCB5KSk7Cit9CisKIHZvaWQg
SGl0VGVzdFJlc3VsdDo6YXBwZW5kKGNvbnN0IEhpdFRlc3RSZXN1bHQmIG90aGVyKQogewogICAg
IEFTU0VSVChpc1JlY3RCYXNlZFRlc3QoKSAmJiBvdGhlci5pc1JlY3RCYXNlZFRlc3QoKSk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgJKHJldmlzaW9uIDc4
MzcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjAsNiArMjAsNyBAQAogI2lmbmRlZiBIaXRUZXN0UmVzdWx0X2gKICNkZWZp
bmUgSGl0VGVzdFJlc3VsdF9oCiAKKyNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJJ
bnRQb2ludC5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCkBA
IC0xMDksNyArMTEwLDggQEAgcHVibGljOgogCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIGl0IGlz
IHJlY3QtYmFzZWQgaGl0IHRlc3QgYW5kIG5lZWRzIHRvIGNvbnRpbnVlIHVudGlsIHRoZSByZWN0
IGlzIGZ1bGx5CiAgICAgLy8gZW5jbG9zZWQgYnkgdGhlIGJvdW5kYXJpZXMgb2YgYSBub2RlLgot
ICAgIGJvb2wgYWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChOb2RlKiwgaW50IHgsIGludCB5
LCBjb25zdCBJbnRSZWN0JiByZWN0ID0gSW50UmVjdCgpKTsKKyAgICBib29sIGFkZE5vZGVUb1Jl
Y3RCYXNlZFRlc3RSZXN1bHQoTm9kZSosIGludCB4LCBpbnQgeSwgY29uc3QgSW50UmVjdCYgPSBJ
bnRSZWN0KCkpOworICAgIGJvb2wgYWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChOb2RlKiwg
aW50IHgsIGludCB5LCBjb25zdCBGbG9hdFJlY3QmKTsKICAgICBjb25zdCBMaXN0SGFzaFNldDxS
ZWZQdHI8Tm9kZT4gPiYgcmVjdEJhc2VkVGVzdFJlc3VsdCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVj
dEJhc2VkVGVzdFJlc3VsdDsgfQogICAgIHZvaWQgYXBwZW5kKGNvbnN0IEhpdFRlc3RSZXN1bHQm
KTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAJKHJldmlzaW9u
IDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEwNiw3ICsxMDYsNyBAQCBpbnQgSW5saW5lQm94Ojpsb2dpY2FsSGVpZ2h0
KCkgY29uc3QKICAgICAgICAgcmVzdWx0ICs9IGZsb3dPYmplY3QtPmJvcmRlckFuZFBhZGRpbmdM
b2dpY2FsSGVpZ2h0KCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQorIAogaW50IElubGluZUJv
eDo6Y2FyZXRNaW5PZmZzZXQoKSBjb25zdCAKIHsgCiAgICAgcmV0dXJuIG1fcmVuZGVyZXItPmNh
cmV0TWluT2Zmc2V0KCk7IApAQCAtMTUwLDE0ICsxNTAsMTIgQEAgdm9pZCBJbmxpbmVCb3g6OmF0
dGFjaExpbmUoKQogICAgICAgICB0b1JlbmRlckJveChtX3JlbmRlcmVyKS0+c2V0SW5saW5lQm94
V3JhcHBlcih0aGlzKTsKIH0KIAotdm9pZCBJbmxpbmVCb3g6OmFkanVzdFBvc2l0aW9uKGludCBk
eCwgaW50IGR5KQordm9pZCBJbmxpbmVCb3g6OmFkanVzdFBvc2l0aW9uKGZsb2F0IGR4LCBmbG9h
dCBkeSkKIHsKICAgICBtX3ggKz0gZHg7CiAgICAgbV95ICs9IGR5OwotICAgIGlmIChtX3JlbmRl
cmVyLT5pc1JlcGxhY2VkKCkpIHsKLSAgICAgICAgUmVuZGVyQm94KiBib3ggPSB0b1JlbmRlckJv
eChtX3JlbmRlcmVyKTsKLSAgICAgICAgYm94LT5tb3ZlKGR4LCBkeSk7Ci0gICAgfQorICAgIGlm
IChtX3JlbmRlcmVyLT5pc1JlcGxhY2VkKCkpCisgICAgICAgIHRvUmVuZGVyQm94KG1fcmVuZGVy
ZXIpLT5wb3NpdGlvbkxpbmVCb3godGhpcyk7CiB9CiAKIHZvaWQgSW5saW5lQm94OjpwYWludChQ
YWludEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHkpCkBAIC0yNzgsMjEgKzI3NiwzNSBA
QCBib29sIElubGluZUJveDo6Y2FuQWNjb21tb2RhdGVFbGxpcHNpcyhiCiAgICAgcmV0dXJuICEo
Ym94UmVjdC5pbnRlcnNlY3RzKGVsbGlwc2lzUmVjdCkpOwogfQogCi1pbnQgSW5saW5lQm94Ojpw
bGFjZUVsbGlwc2lzQm94KGJvb2wsIGludCwgaW50LCBpbnQsIGJvb2wmKQorZmxvYXQgSW5saW5l
Qm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGJvb2wmKQog
ewogICAgIC8vIFVzZSAtMSB0byBtZWFuICJ3ZSBkaWRuJ3Qgc2V0IHRoZSBwb3NpdGlvbi4iCiAg
ICAgcmV0dXJuIC0xOwogfQogCi1JbnRQb2ludCBJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5n
RmxpcHBpbmcoKQorRmxvYXRQb2ludCBJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBp
bmcoKQogewogICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3Jp
dGluZ01vZGUoKSkKLSAgICAgICAgcmV0dXJuIEludFBvaW50KHgoKSwgeSgpKTsKKyAgICAgICAg
cmV0dXJuIEZsb2F0UG9pbnQoeCgpLCB5KCkpOwogICAgIFJlbmRlckJsb2NrKiBibG9jayA9IHJv
b3QoKS0+YmxvY2soKTsKICAgICBpZiAoYmxvY2stPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkpCi0gICAgICAgIHJldHVybiBJbnRQb2ludCh4KCksIGJsb2NrLT5oZWlnaHQoKSAt
IGhlaWdodCgpIC0geSgpKTsKKyAgICAgICAgcmV0dXJuIEZsb2F0UG9pbnQoeCgpLCBibG9jay0+
aGVpZ2h0KCkgLSBoZWlnaHQoKSAtIHkoKSk7CiAgICAgZWxzZQotICAgICAgICByZXR1cm4gSW50
UG9pbnQoYmxvY2stPndpZHRoKCkgLSB3aWR0aCgpIC0geCgpLCB5KCkpOworICAgICAgICByZXR1
cm4gRmxvYXRQb2ludChibG9jay0+d2lkdGgoKSAtIHdpZHRoKCkgLSB4KCksIHkoKSk7Cit9CisK
K3ZvaWQgSW5saW5lQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoRmxvYXRSZWN0JiByZWN0KQorewor
ICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUo
KSkKKyAgICAgICAgcmV0dXJuOworICAgIHJvb3QoKS0+YmxvY2soKS0+ZmxpcEZvcldyaXRpbmdN
b2RlKHJlY3QpOworfQorCitGbG9hdFBvaW50IElubGluZUJveDo6ZmxpcEZvcldyaXRpbmdNb2Rl
KGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50KQoreworICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUo
KS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHBvaW50Owor
ICAgIHJldHVybiByb290KCktPmJsb2NrKCktPmZsaXBGb3JXcml0aW5nTW9kZShwb2ludCk7CiB9
CiAKIHZvaWQgSW5saW5lQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoSW50UmVjdCYgcmVjdCkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmgJKHJldmlzaW9uIDc4MzcxKQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC02
OCw3ICs2OCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgSW5saW5lQm94KFJlbmRl
ck9iamVjdCogb2JqLCBpbnQgeCwgaW50IHksIGludCBsb2dpY2FsV2lkdGgsIGJvb2wgZmlyc3RM
aW5lLCBib29sIGNvbnN0cnVjdGVkLAorICAgIElubGluZUJveChSZW5kZXJPYmplY3QqIG9iaiwg
ZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgbG9naWNhbFdpZHRoLCBib29sIGZpcnN0TGluZSwgYm9v
bCBjb25zdHJ1Y3RlZCwKICAgICAgICAgICAgICAgYm9vbCBkaXJ0eSwgYm9vbCBleHRyYWN0ZWQs
IGJvb2wgaXNIb3Jpem9udGFsLCBJbmxpbmVCb3gqIG5leHQsIElubGluZUJveCogcHJldiwgSW5s
aW5lRmxvd0JveCogcGFyZW50KQogICAgICAgICA6IG1fbmV4dChuZXh0KQogICAgICAgICAsIG1f
cHJldihwcmV2KQpAQCAtMTEyLDE1ICsxMTIsMTUgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBi
b29sIGlzTGluZUJyZWFrKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwg
dm9pZCBhZGp1c3RQb3NpdGlvbihpbnQgZHgsIGludCBkeSk7Ci0gICAgdm9pZCBhZGp1c3RMaW5l
RGlyZWN0aW9uUG9zaXRpb24oaW50IGRlbHRhKQorICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3Np
dGlvbihmbG9hdCBkeCwgZmxvYXQgZHkpOworICAgIHZvaWQgYWRqdXN0TGluZURpcmVjdGlvblBv
c2l0aW9uKGZsb2F0IGRlbHRhKQogICAgIHsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKQog
ICAgICAgICAgICAgYWRqdXN0UG9zaXRpb24oZGVsdGEsIDApOwogICAgICAgICBlbHNlCiAgICAg
ICAgICAgICBhZGp1c3RQb3NpdGlvbigwLCBkZWx0YSk7CiAgICAgfQotICAgIHZvaWQgYWRqdXN0
QmxvY2tEaXJlY3Rpb25Qb3NpdGlvbihpbnQgZGVsdGEpCisgICAgdm9pZCBhZGp1c3RCbG9ja0Rp
cmVjdGlvblBvc2l0aW9uKGZsb2F0IGRlbHRhKQogICAgIHsKICAgICAgICAgaWYgKGlzSG9yaXpv
bnRhbCgpKQogICAgICAgICAgICAgYWRqdXN0UG9zaXRpb24oMCwgZGVsdGEpOwpAQCAtMjIwLDI4
ICsyMjAsMjggQEAgcHVibGljOgogICAgIFJvb3RJbmxpbmVCb3gqIHJvb3QoKTsKIAogICAgIC8v
IHgoKSBpcyB0aGUgbGVmdCBzaWRlIG9mIHRoZSBib3ggaW4gdGhlIGNvbnRhaW5pbmcgYmxvY2sn
cyBjb29yZGluYXRlIHN5c3RlbS4KLSAgICB2b2lkIHNldFgoaW50IHgpIHsgbV94ID0geDsgfQot
ICAgIGludCB4KCkgY29uc3QgeyByZXR1cm4gbV94OyB9CisgICAgdm9pZCBzZXRYKGZsb2F0IHgp
IHsgbV94ID0geDsgfQorICAgIGZsb2F0IHgoKSBjb25zdCB7IHJldHVybiBtX3g7IH0KIAogICAg
IC8vIHkoKSBpcyB0aGUgdG9wIHNpZGUgb2YgdGhlIGJveCBpbiB0aGUgY29udGFpbmluZyBibG9j
aydzIGNvb3JkaW5hdGUgc3lzdGVtLgotICAgIHZvaWQgc2V0WShpbnQgeSkgeyBtX3kgPSB5OyB9
Ci0gICAgaW50IHkoKSBjb25zdCB7IHJldHVybiBtX3k7IH0KKyAgICB2b2lkIHNldFkoZmxvYXQg
eSkgeyBtX3kgPSB5OyB9CisgICAgZmxvYXQgeSgpIGNvbnN0IHsgcmV0dXJuIG1feTsgfQogCi0g
ICAgaW50IHdpZHRoKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsV2lk
dGgoKSA6IGxvZ2ljYWxIZWlnaHQoKTsgfQotICAgIGludCBoZWlnaHQoKSBjb25zdCB7IHJldHVy
biBpc0hvcml6b250YWwoKSA/IGxvZ2ljYWxIZWlnaHQoKSA6IGxvZ2ljYWxXaWR0aCgpOyB9Ci0K
LSAgICBJbnRSZWN0IGZyYW1lUmVjdCgpIGNvbnN0IHsgcmV0dXJuIEludFJlY3QoeCgpLCB5KCks
IHdpZHRoKCksIGhlaWdodCgpKTsgfQorICAgIGZsb2F0IHdpZHRoKCkgY29uc3QgeyByZXR1cm4g
aXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsV2lkdGgoKSA6IGxvZ2ljYWxIZWlnaHQoKTsgfQorICAg
IGZsb2F0IGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbG9naWNhbEhl
aWdodCgpIDogbG9naWNhbFdpZHRoKCk7IH0KIAogICAgIC8vIFRoZSBsb2dpY2FsTGVmdCBwb3Np
dGlvbiBpcyB0aGUgbGVmdCBlZGdlIG9mIHRoZSBsaW5lIGJveCBpbiBhIGhvcml6b250YWwgbGlu
ZSBhbmQgdGhlIHRvcCBlZGdlIGluIGEgdmVydGljYWwgbGluZS4KLSAgICBpbnQgbG9naWNhbExl
ZnQoKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IG1feCA6IG1feTsgfQotICAgIGlu
dCBsb2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNhbFdp
ZHRoKCk7IH0KLSAgICB2b2lkIHNldExvZ2ljYWxMZWZ0KGludCBsZWZ0KQorICAgIGZsb2F0IGxv
Z2ljYWxMZWZ0KCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBtX3ggOiBtX3k7IH0K
KyAgICBmbG9hdCBsb2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpICsg
bG9naWNhbFdpZHRoKCk7IH0KKyAgICB2b2lkIHNldExvZ2ljYWxMZWZ0KGZsb2F0IGxlZnQpCiAg
ICAgewogICAgICAgICBpZiAoaXNIb3Jpem9udGFsKCkpCiAgICAgICAgICAgICBtX3ggPSBsZWZ0
OwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBtX3kgPSBsZWZ0OwogICAgIH0KKyAgICBpbnQg
cGl4ZWxTbmFwcGVkTG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpOyB9
CisgICAgaW50IHBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGNlaWxm
KGxvZ2ljYWxSaWdodCgpKTsgfQogCiAgICAgLy8gVGhlIGxvZ2ljYWxUb3BbIHBvc2l0aW9uIGlz
IHRoZSB0b3AgZWRnZSBvZiB0aGUgbGluZSBib3ggaW4gYSBob3Jpem9udGFsIGxpbmUgYW5kIHRo
ZSBsZWZ0IGVkZ2UgaW4gYSB2ZXJ0aWNhbCBsaW5lLgogICAgIGludCBsb2dpY2FsVG9wKCkgY29u
c3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBtX3kgOiBtX3g7IH0KQEAgLTI1NSw4ICsyNTUs
OCBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgLy8gVGhlIGxvZ2ljYWwgd2lkdGggaXMgb3VyIGV4
dGVudCBpbiB0aGUgbGluZSdzIG92ZXJhbGwgaW5saW5lIGRpcmVjdGlvbiwgaS5lLiwgd2lkdGgg
Zm9yIGhvcml6b250YWwgdGV4dCBhbmQgaGVpZ2h0IGZvciB2ZXJ0aWNhbCB0ZXh0LgotICAgIHZv
aWQgc2V0TG9naWNhbFdpZHRoKGludCB3KSB7IG1fbG9naWNhbFdpZHRoID0gdzsgfQotICAgIGlu
dCBsb2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxXaWR0aDsgfQorICAgIHZv
aWQgc2V0TG9naWNhbFdpZHRoKGZsb2F0IHcpIHsgbV9sb2dpY2FsV2lkdGggPSB3OyB9CisgICAg
ZmxvYXQgbG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9sb2dpY2FsV2lkdGg7IH0KIAog
ICAgIC8vIFRoZSBsb2dpY2FsIGhlaWdodCBpcyBvdXIgZXh0ZW50IGluIHRoZSBibG9jayBmbG93
IGRpcmVjdGlvbiwgaS5lLiwgaGVpZ2h0IGZvciBob3Jpem9udGFsIHRleHQgYW5kIHdpZHRoIGZv
ciB2ZXJ0aWNhbCB0ZXh0LgogICAgIGludCBsb2dpY2FsSGVpZ2h0KCkgY29uc3Q7CkBAIC0yODYs
NyArMjg2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGNhbkFjY29tbW9kYXRlRWxs
aXBzaXMoYm9vbCBsdHIsIGludCBibG9ja0VkZ2UsIGludCBlbGxpcHNpc1dpZHRoKTsKICAgICAv
LyB2aXNpYmxlTGVmdEVkZ2UsIHZpc2libGVSaWdodEVkZ2UgYXJlIGluIHRoZSBwYXJlbnQncyBj
b29yZGluYXRlIHN5c3RlbS4KLSAgICB2aXJ0dWFsIGludCBwbGFjZUVsbGlwc2lzQm94KGJvb2wg
bHRyLCBpbnQgdmlzaWJsZUxlZnRFZGdlLCBpbnQgdmlzaWJsZVJpZ2h0RWRnZSwgaW50IGVsbGlw
c2lzV2lkdGgsIGJvb2wmKTsKKyAgICB2aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9v
bCBsdHIsIGZsb2F0IHZpc2libGVMZWZ0RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwgZmxv
YXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYpOwogCiAgICAgdm9pZCBzZXRIYXNCYWRQYXJlbnQoKTsK
IApAQCAtMzAyLDEwICszMDIsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gMDsKICAgICB9
CiAKLSAgICBJbnRQb2ludCBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgRmxvYXRQ
b2ludCBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgdm9pZCBmbGlwRm9yV3JpdGlu
Z01vZGUoRmxvYXRSZWN0Jik7CisgICAgRmxvYXRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUoY29u
c3QgRmxvYXRQb2ludCYpOwogICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEludFJlY3QmKTsK
ICAgICBJbnRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgSW50UG9pbnQmKTsKLQorICAg
IAogcHJpdmF0ZToKICAgICBJbmxpbmVCb3gqIG1fbmV4dDsgLy8gVGhlIG5leHQgZWxlbWVudCBv
biB0aGUgc2FtZSBsaW5lIGFzIHVzLgogICAgIElubGluZUJveCogbV9wcmV2OyAvLyBUaGUgcHJl
dmlvdXMgZWxlbWVudCBvbiB0aGUgc2FtZSBsaW5lIGFzIHVzLgpAQCAtMzE1LDkgKzMxNyw5IEBA
IHByaXZhdGU6CiBwdWJsaWM6CiAgICAgUmVuZGVyT2JqZWN0KiBtX3JlbmRlcmVyOwogCi0gICAg
aW50IG1feDsKLSAgICBpbnQgbV95OwotICAgIGludCBtX2xvZ2ljYWxXaWR0aDsKKyAgICBmbG9h
dCBtX3g7CisgICAgZmxvYXQgbV95OworICAgIGZsb2F0IG1fbG9naWNhbFdpZHRoOwogICAgIAog
ICAgIC8vIFNvbWUgb2YgdGhlc2UgYml0cyBhcmUgYWN0dWFsbHkgZm9yIHN1YmNsYXNzZXMgYW5k
IG1vdmVkIGhlcmUgdG8gY29tcGFjdCB0aGUgc3RydWN0dXJlcy4KIApJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTY3LDYgKzY3LDE4IEBAIGludCBJbmxpbmVGbG93Qm94OjpnZXRGbG93U3BhY2luZ0xvZ2lj
YWwKICAgICByZXR1cm4gdG90V2lkdGg7CiB9CiAKK0ludFJlY3QgSW5saW5lRmxvd0JveDo6cGl4
ZWxTbmFwcGVkRnJhbWVSZWN0KCkgY29uc3QKK3sKKyAgICAvLyBCZWdpbiBieSBzbmFwcGluZyB0
aGUgeCBhbmQgeSBjb29yZGluYXRlcyB0byB0aGUgbmVhcmVzdCBwaXhlbC4KKyAgICBpbnQgc25h
cHBlZFggPSBscm91bmRmKHgoKSk7CisgICAgaW50IHNuYXBwZWRZID0gbHJvdW5kZih5KCkpOwor
ICAgIAorICAgIGludCBzbmFwcGVkTWF4WCA9IGxyb3VuZGYoeCgpICsgd2lkdGgoKSk7CisgICAg
aW50IHNuYXBwZWRNYXhZID0gbHJvdW5kZih5KCkgKyBoZWlnaHQoKSk7CisgICAgCisgICAgcmV0
dXJuIEludFJlY3Qoc25hcHBlZFgsIHNuYXBwZWRZLCBzbmFwcGVkTWF4WCAtIHNuYXBwZWRYLCBz
bmFwcGVkTWF4WSAtIHNuYXBwZWRZKTsKK30KKwogdm9pZCBJbmxpbmVGbG93Qm94OjphZGRUb0xp
bmUoSW5saW5lQm94KiBjaGlsZCkgCiB7CiAgICAgQVNTRVJUKCFjaGlsZC0+cGFyZW50KCkpOwpA
QCAtMTY3LDEzICsxNzksMTMgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjphdHRhY2hMaW5lQm94VG9S
ZW5kZQogICAgIHRvUmVuZGVySW5saW5lKHJlbmRlcmVyKCkpLT5saW5lQm94ZXMoKS0+YXR0YWNo
TGluZUJveCh0aGlzKTsKIH0KIAotdm9pZCBJbmxpbmVGbG93Qm94OjphZGp1c3RQb3NpdGlvbihp
bnQgZHgsIGludCBkeSkKK3ZvaWQgSW5saW5lRmxvd0JveDo6YWRqdXN0UG9zaXRpb24oZmxvYXQg
ZHgsIGZsb2F0IGR5KQogewogICAgIElubGluZUJveDo6YWRqdXN0UG9zaXRpb24oZHgsIGR5KTsK
ICAgICBmb3IgKElubGluZUJveCogY2hpbGQgPSBmaXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9
IGNoaWxkLT5uZXh0T25MaW5lKCkpCiAgICAgICAgIGNoaWxkLT5hZGp1c3RQb3NpdGlvbihkeCwg
ZHkpOwogICAgIGlmIChtX292ZXJmbG93KQotICAgICAgICBtX292ZXJmbG93LT5tb3ZlKGR4LCBk
eSk7CisgICAgICAgIG1fb3ZlcmZsb3ctPm1vdmUoZHgsIGR5KTsgLy8gRklYTUU6IFJvdW5kaW5n
IGVycm9yIGhlcmUgc2luY2Ugb3ZlcmZsb3cgd2FzIHBpeGVsIHNuYXBwZWQsIGJ1dCBub2JvZHkg
b3RoZXIgdGhhbiBsaXN0IG1hcmtlcnMgcGFzc2VzIG5vbi1pbnRlZ3JhbCB2YWx1ZXMgaGVyZS4K
IH0KIAogUmVuZGVyTGluZUJveExpc3QqIElubGluZUZsb3dCb3g6OnJlbmRlcmVyTGluZUJveGVz
KCkgY29uc3QKQEAgLTI1NSwxMiArMjY3LDEyIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6ZGV0ZXJt
aW5lU3BhY2luZ0ZvckYKICAgICB9CiB9CiAKLWludCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVz
SW5JbmxpbmVEaXJlY3Rpb24oaW50IGxvZ2ljYWxMZWZ0LCBib29sJiBuZWVkc1dvcmRTcGFjaW5n
LCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYgdGV4dEJveERhdGFNYXApCitmbG9h
dCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVEaXJlY3Rpb24oZmxvYXQgbG9naWNh
bExlZnQsIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0Zv
bnRzTWFwJiB0ZXh0Qm94RGF0YU1hcCkKIHsKICAgICAvLyBTZXQgb3VyIHggcG9zaXRpb24uCiAg
ICAgc2V0TG9naWNhbExlZnQobG9naWNhbExlZnQpOwogICAKLSAgICBpbnQgc3RhcnRMb2dpY2Fs
TGVmdCA9IGxvZ2ljYWxMZWZ0OworICAgIGZsb2F0IHN0YXJ0TG9naWNhbExlZnQgPSBsb2dpY2Fs
TGVmdDsKICAgICBsb2dpY2FsTGVmdCArPSBib3JkZXJMb2dpY2FsTGVmdCgpICsgcGFkZGluZ0xv
Z2ljYWxMZWZ0KCk7CiAgICAgCiAgICAgZm9yIChJbmxpbmVCb3gqIGN1cnIgPSBmaXJzdENoaWxk
KCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0T25MaW5lKCkpIHsKQEAgLTcyNCw4ICs3MzYsOCBA
QCB2b2lkIElubGluZUZsb3dCb3g6OmFkZEJveFNoYWRvd1Zpc3VhbE92CiAgICAgaW50IGJveFNo
YWRvd0xvZ2ljYWxSaWdodDsKICAgICByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmdl
dEJveFNoYWRvd0lubGluZURpcmVjdGlvbkV4dGVudChib3hTaGFkb3dMb2dpY2FsTGVmdCwgYm94
U2hhZG93TG9naWNhbFJpZ2h0KTsKIAotICAgIGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93
ID0gbWluKGxvZ2ljYWxMZWZ0KCkgKyBib3hTaGFkb3dMb2dpY2FsTGVmdCwgbG9naWNhbFZpc3Vh
bE92ZXJmbG93LngoKSk7Ci0gICAgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbWF4
KGxvZ2ljYWxSaWdodCgpICsgYm94U2hhZG93TG9naWNhbFJpZ2h0LCBsb2dpY2FsVmlzdWFsT3Zl
cmZsb3cubWF4WCgpKTsKKyAgICBpbnQgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9IG1pbihw
aXhlbFNuYXBwZWRMb2dpY2FsTGVmdCgpICsgYm94U2hhZG93TG9naWNhbExlZnQsIGxvZ2ljYWxW
aXN1YWxPdmVyZmxvdy54KCkpOworICAgIGludCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9
IG1heChwaXhlbFNuYXBwZWRMb2dpY2FsUmlnaHQoKSArIGJveFNoYWRvd0xvZ2ljYWxSaWdodCwg
bG9naWNhbFZpc3VhbE92ZXJmbG93Lm1heFgoKSk7CiAgICAgCiAgICAgbG9naWNhbFZpc3VhbE92
ZXJmbG93ID0gSW50UmVjdChsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsVG9wVmlz
dWFsT3ZlcmZsb3csCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dpY2Fs
UmlnaHRWaXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGxvZ2ljYWxC
b3R0b21WaXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyk7CkBAIC03ODEs
OCArNzkzLDggQEAgdm9pZCBJbmxpbmVGbG93Qm94OjphZGRUZXh0Qm94VmlzdWFsT3ZlcgogCiAg
ICAgaW50IGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyA9IG1pbih0ZXh0Qm94LT5sb2dpY2FsVG9w
KCkgKyBjaGlsZE92ZXJmbG93TG9naWNhbFRvcCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LnkoKSk7
CiAgICAgaW50IGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdyA9IG1heCh0ZXh0Qm94LT5sb2dp
Y2FsQm90dG9tKCkgKyBjaGlsZE92ZXJmbG93TG9naWNhbEJvdHRvbSwgbG9naWNhbFZpc3VhbE92
ZXJmbG93Lm1heFkoKSk7Ci0gICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4o
dGV4dEJveC0+bG9naWNhbExlZnQoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsTGVmdCwgbG9naWNh
bFZpc3VhbE92ZXJmbG93LngoKSk7Ci0gICAgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93
ID0gbWF4KHRleHRCb3gtPmxvZ2ljYWxSaWdodCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxSaWdo
dCwgbG9naWNhbFZpc3VhbE92ZXJmbG93Lm1heFgoKSk7CisgICAgaW50IGxvZ2ljYWxMZWZ0Vmlz
dWFsT3ZlcmZsb3cgPSBtaW4odGV4dEJveC0+cGl4ZWxTbmFwcGVkTG9naWNhbExlZnQoKSArIGNo
aWxkT3ZlcmZsb3dMb2dpY2FsTGVmdCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LngoKSk7CisgICAg
aW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbWF4KHRleHRCb3gtPnBpeGVsU25hcHBl
ZExvZ2ljYWxSaWdodCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxSaWdodCwgbG9naWNhbFZpc3Vh
bE92ZXJmbG93Lm1heFgoKSk7CiAgICAgCiAgICAgbG9naWNhbFZpc3VhbE92ZXJmbG93ID0gSW50
UmVjdChsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRWaXN1YWxP
dmVyZmxvdyAtIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGxvZ2ljYWxCb3R0b21WaXN1YWxP
dmVyZmxvdyAtIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyk7CkBAIC04NjQsNyArODc2LDcgQEAg
dm9pZCBJbmxpbmVGbG93Qm94Ojpjb21wdXRlT3ZlcmZsb3coaW50IAogLy8gYWxsIGZ1bmN0aW9u
cyB0aGF0IHF1ZXJ5IG92ZXJmbG93LiAgIAogdm9pZCBJbmxpbmVGbG93Qm94OjpzZXRMYXlvdXRP
dmVyZmxvdyhjb25zdCBJbnRSZWN0JiByZWN0KQogewotICAgIEludFJlY3QgZnJhbWVCb3ggPSBm
cmFtZVJlY3QoKTsKKyAgICBJbnRSZWN0IGZyYW1lQm94ID0gcGl4ZWxTbmFwcGVkRnJhbWVSZWN0
KCk7CiAgICAgaWYgKGZyYW1lQm94ID09IHJlY3QgfHwgcmVjdC5pc0VtcHR5KCkpCiAgICAgICAg
IHJldHVybjsKICAgICAgICAgCkBAIC04NzYsNyArODg4LDcgQEAgdm9pZCBJbmxpbmVGbG93Qm94
OjpzZXRMYXlvdXRPdmVyZmxvdyhjbwogCiB2b2lkIElubGluZUZsb3dCb3g6OnNldFZpc3VhbE92
ZXJmbG93KGNvbnN0IEludFJlY3QmIHJlY3QpCiB7Ci0gICAgSW50UmVjdCBmcmFtZUJveCA9IGZy
YW1lUmVjdCgpOworICAgIEludFJlY3QgZnJhbWVCb3ggPSBwaXhlbFNuYXBwZWRGcmFtZVJlY3Qo
KTsKICAgICBpZiAoZnJhbWVCb3ggPT0gcmVjdCB8fCByZWN0LmlzRW1wdHkoKSkKICAgICAgICAg
cmV0dXJuOwogICAgICAgICAKQEAgLTkxMiw5ICs5MjQsOSBAQCBib29sIElubGluZUZsb3dCb3g6
Om5vZGVBdFBvaW50KGNvbnN0IEhpCiAgICAgfQogCiAgICAgLy8gTm93IGNoZWNrIG91cnNlbHZl
cy4KLSAgICBJbnRQb2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7
CisgICAgRmxvYXRQb2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7
CiAgICAgYm94T3JpZ2luLm1vdmUodHgsIHR5KTsKLSAgICBJbnRSZWN0IHJlY3QoYm94T3JpZ2lu
LCBJbnRTaXplKHdpZHRoKCksIGhlaWdodCgpKSk7CisgICAgRmxvYXRSZWN0IHJlY3QoYm94T3Jp
Z2luLCBJbnRTaXplKHdpZHRoKCksIGhlaWdodCgpKSk7CiAgICAgaWYgKHZpc2libGVUb0hpdFRl
c3RpbmcoKSAmJiByZWN0LmludGVyc2VjdHMocmVzdWx0LnJlY3RGb3JQb2ludCh4LCB5KSkpIHsK
ICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlSGl0VGVzdFJlc3VsdChyZXN1bHQsIGZsaXBGb3JX
cml0aW5nTW9kZShJbnRQb2ludCh4IC0gdHgsIHkgLSB0eSkpKTsgLy8gRG9uJ3QgYWRkIGluIG1f
eCBvciBtX3kgaGVyZSwgd2Ugd2FudCBjb29yZHMgaW4gdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBz
cGFjZS4KICAgICAgICAgaWYgKCFyZXN1bHQuYWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChy
ZW5kZXJlcigpLT5ub2RlKCksIHgsIHksIHJlY3QpKQpAQCAtMTA0MywxMCArMTA1NSwxMiBAQCB2
b2lkIElubGluZUZsb3dCb3g6OnBhaW50Qm94RGVjb3JhdGlvbnMoCiAgICAgaWYgKCFwYWludElu
Zm8uc2hvdWxkUGFpbnRXaXRoaW5Sb290KHJlbmRlcmVyKCkpIHx8IHJlbmRlcmVyKCktPnN0eWxl
KCktPnZpc2liaWxpdHkoKSAhPSBWSVNJQkxFIHx8IHBhaW50SW5mby5waGFzZSAhPSBQYWludFBo
YXNlRm9yZWdyb3VuZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaW50IHggPSBtX3g7Ci0gICAg
aW50IHkgPSBtX3k7Ci0gICAgaW50IHcgPSB3aWR0aCgpOwotICAgIGludCBoID0gaGVpZ2h0KCk7
CisgICAgLy8gUGl4ZWwgc25hcCBiYWNrZ3JvdW5kL2JvcmRlciBwYWludGluZy4KKyAgICBJbnRS
ZWN0IGZyYW1lUmVjdCA9IHBpeGVsU25hcHBlZEZyYW1lUmVjdCgpOworICAgIGludCB4ID0gZnJh
bWVSZWN0LngoKTsKKyAgICBpbnQgeSA9IGZyYW1lUmVjdC55KCk7CisgICAgaW50IHcgPSBmcmFt
ZVJlY3Qud2lkdGgoKTsKKyAgICBpbnQgaCA9IGZyYW1lUmVjdC5oZWlnaHQoKTsKIAogICAgIC8v
IENvbnN0cmFpbiBvdXIgYmFja2dyb3VuZC9ib3JkZXIgcGFpbnRpbmcgdG8gdGhlIGxpbmUgdG9w
IGFuZCBib3R0b20gaWYgbmVjZXNzYXJ5LgogICAgIGJvb2wgbm9RdWlya3NNb2RlID0gcmVuZGVy
ZXIoKS0+ZG9jdW1lbnQoKS0+aW5Ob1F1aXJrc01vZGUoKTsKQEAgLTExMjYsMTAgKzExNDAsMTIg
QEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwYWludE1hc2soUGFpbnRJbmZvJgogICAgIGlmICghcGFp
bnRJbmZvLnNob3VsZFBhaW50V2l0aGluUm9vdChyZW5kZXJlcigpKSB8fCByZW5kZXJlcigpLT5z
dHlsZSgpLT52aXNpYmlsaXR5KCkgIT0gVklTSUJMRSB8fCBwYWludEluZm8ucGhhc2UgIT0gUGFp
bnRQaGFzZU1hc2spCiAgICAgICAgIHJldHVybjsKIAotICAgIGludCB4ID0gbV94OwotICAgIGlu
dCB5ID0gbV95OwotICAgIGludCB3ID0gd2lkdGgoKTsKLSAgICBpbnQgaCA9IGhlaWdodCgpOwor
ICAgIC8vIFBpeGVsIHNuYXAgbWFzayBwYWludGluZy4KKyAgICBJbnRSZWN0IGZyYW1lUmVjdCA9
IHBpeGVsU25hcHBlZEZyYW1lUmVjdCgpOworICAgIGludCB4ID0gZnJhbWVSZWN0LngoKTsKKyAg
ICBpbnQgeSA9IGZyYW1lUmVjdC55KCk7CisgICAgaW50IHcgPSBmcmFtZVJlY3Qud2lkdGgoKTsK
KyAgICBpbnQgaCA9IGZyYW1lUmVjdC5oZWlnaHQoKTsKIAogICAgIC8vIENvbnN0cmFpbiBvdXIg
YmFja2dyb3VuZC9ib3JkZXIgcGFpbnRpbmcgdG8gdGhlIGxpbmUgdG9wIGFuZCBib3R0b20gaWYg
bmVjZXNzYXJ5LgogICAgIGJvb2wgbm9RdWlya3NNb2RlID0gcmVuZGVyZXIoKS0+ZG9jdW1lbnQo
KS0+aW5Ob1F1aXJrc01vZGUoKTsKQEAgLTEyMzAsMTQgKzEyNDYsMTQgQEAgYm9vbCBJbmxpbmVG
bG93Qm94OjpjYW5BY2NvbW1vZGF0ZUVsbGlwcwogICAgIHJldHVybiB0cnVlOwogfQogCi1pbnQg
SW5saW5lRmxvd0JveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgaW50IGJsb2NrTGVmdEVk
Z2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94
KQorZmxvYXQgSW5saW5lRmxvd0JveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgZmxvYXQg
YmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgs
IGJvb2wmIGZvdW5kQm94KQogewotICAgIGludCByZXN1bHQgPSAtMTsKKyAgICBmbG9hdCByZXN1
bHQgPSAtMTsKICAgICAvLyBXZSBpdGVyYXRlIG92ZXIgYWxsIGNoaWxkcmVuLCB0aGUgZm91bmRC
b3ggdmFyaWFibGUgdGVsbHMgdXMgd2hlbiB3ZSd2ZSBmb3VuZCB0aGUKICAgICAvLyBib3ggY29u
dGFpbmluZyB0aGUgZWxsaXBzaXMuICBBbGwgYm94ZXMgYWZ0ZXIgdGhhdCBvbmUgaW4gdGhlIGZs
b3cgYXJlIGhpZGRlbi4KICAgICAvLyBJZiBvdXIgZmxvdyBpcyBsdHIgdGhlbiBpdGVyYXRlIG92
ZXIgdGhlIGJveGVzIGZyb20gbGVmdCB0byByaWdodCwgb3RoZXJ3aXNlIGl0ZXJhdGUKICAgICAv
LyBmcm9tIHJpZ2h0IHRvIGxlZnQuIFZhcnlpbmcgdGhlIG9yZGVyIGFsbG93cyB1cyB0byBjb3Jy
ZWN0bHkgaGlkZSB0aGUgYm94ZXMgZm9sbG93aW5nIHRoZSBlbGxpcHNpcy4KLSAgICBJbmxpbmVC
b3ggKmJveCA9IGx0ciA/IGZpcnN0Q2hpbGQoKSA6IGxhc3RDaGlsZCgpOworICAgIElubGluZUJv
eCogYm94ID0gbHRyID8gZmlyc3RDaGlsZCgpIDogbGFzdENoaWxkKCk7CiAKICAgICAvLyBOT1RF
OiB0aGVzZSB3aWxsIGNyb3NzIGFmdGVyIGZvdW5kQm94ID0gdHJ1ZS4KICAgICBpbnQgdmlzaWJs
ZUxlZnRFZGdlID0gYmxvY2tMZWZ0RWRnZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9JbmxpbmVGbG93Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0lubGluZUZsb3dCb3guaAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvSW5saW5lRmxvd0JveC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NSw3ICs4NSw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlTGluZShSZW5kZXJBcmVuYSopOwogICAgIHZp
cnR1YWwgdm9pZCBleHRyYWN0TGluZSgpOwogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hMaW5lKCk7
Ci0gICAgdmlydHVhbCB2b2lkIGFkanVzdFBvc2l0aW9uKGludCBkeCwgaW50IGR5KTsKKyAgICB2
aXJ0dWFsIHZvaWQgYWRqdXN0UG9zaXRpb24oZmxvYXQgZHgsIGZsb2F0IGR5KTsKIAogICAgIHZp
cnR1YWwgdm9pZCBleHRyYWN0TGluZUJveEZyb21SZW5kZXJPYmplY3QoKTsKICAgICB2aXJ0dWFs
IHZvaWQgYXR0YWNoTGluZUJveFRvUmVuZGVyT2JqZWN0KCk7CkBAIC05Myw2ICs5Myw4IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBjbGVhclRydW5jYXRpb24oKTsKIAorICAgIEludFJl
Y3QgcGl4ZWxTbmFwcGVkRnJhbWVSZWN0KCkgY29uc3Q7CisgICAgCiAgICAgdmlydHVhbCB2b2lk
IHBhaW50Qm94RGVjb3JhdGlvbnMoUGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOwogICAgIHZp
cnR1YWwgdm9pZCBwYWludE1hc2soUGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOwogICAgIHZv
aWQgcGFpbnRGaWxsTGF5ZXJzKGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IENvbG9yJiwgY29uc3Qg
RmlsbExheWVyKiwgaW50IHR4LCBpbnQgdHksIGludCB3LCBpbnQgaCwgQ29tcG9zaXRlT3BlcmF0
b3IgPSBDb21wb3NpdGVTb3VyY2VPdmVyKTsKQEAgLTE1NSw3ICsxNTcsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBkZXRlcm1pbmVTcGFjaW5nRm9yRmxvd0JveGVzKGJvb2wgbGFzdExpbmUsIFJlbmRl
ck9iamVjdCogZW5kT2JqZWN0KTsKICAgICBpbnQgZ2V0Rmxvd1NwYWNpbmdMb2dpY2FsV2lkdGgo
KTsKICAgICBib29sIG9uRW5kQ2hhaW4oUmVuZGVyT2JqZWN0KiBlbmRPYmplY3QpOwotICAgIGlu
dCBwbGFjZUJveGVzSW5JbmxpbmVEaXJlY3Rpb24oaW50IGxvZ2ljYWxMZWZ0LCBib29sJiBuZWVk
c1dvcmRTcGFjaW5nLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYpOworICAgIGZs
b2F0IHBsYWNlQm94ZXNJbklubGluZURpcmVjdGlvbihmbG9hdCBsb2dpY2FsTGVmdCwgYm9vbCYg
bmVlZHNXb3JkU3BhY2luZywgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmKTsKICAg
ICB2b2lkIGNvbXB1dGVMb2dpY2FsQm94SGVpZ2h0cyhpbnQmIG1heFBvc2l0aW9uVG9wLCBpbnQm
IG1heFBvc2l0aW9uQm90dG9tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCYgbWF4QXNjZW50LCBpbnQmIG1heERlc2NlbnQsIGJvb2wmIHNldE1heEFzY2VudCwgYm9vbCYg
c2V0TWF4RGVzY2VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHN0
cmljdE1vZGUsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJiwgRm9udEJhc2VsaW5l
LCBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUmKTsKQEAgLTE3Niw3ICsxNzgsNyBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBSZW5kZXJPYmplY3Q6OlNlbGVjdGlvblN0YXRlIHNlbGVjdGlvblN0YXRlKCk7
CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuQWNjb21tb2RhdGVFbGxpcHNpcyhib29sIGx0ciwgaW50
IGJsb2NrRWRnZSwgaW50IGVsbGlwc2lzV2lkdGgpOwotICAgIHZpcnR1YWwgaW50IHBsYWNlRWxs
aXBzaXNCb3goYm9vbCBsdHIsIGludCBibG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2Us
IGludCBlbGxpcHNpc1dpZHRoLCBib29sJik7CisgICAgdmlydHVhbCBmbG9hdCBwbGFjZUVsbGlw
c2lzQm94KGJvb2wgbHRyLCBmbG9hdCBibG9ja0xlZnRFZGdlLCBmbG9hdCBibG9ja1JpZ2h0RWRn
ZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYpOwogCiAgICAgYm9vbCBoYXNUZXh0Q2hpbGRy
ZW4oKSBjb25zdCB7IHJldHVybiBtX2hhc1RleHRDaGlsZHJlbjsgfQogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCShyZXZpc2lvbiA3ODM3MSkKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6YXR0YWNoTGluZSgpCiAg
ICAgdG9SZW5kZXJUZXh0KHJlbmRlcmVyKCkpLT5hdHRhY2hUZXh0Qm94KHRoaXMpOwogfQogCi1p
bnQgSW5saW5lVGV4dEJveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGZsb3dJc0xUUiwgaW50IHZp
c2libGVMZWZ0RWRnZSwgaW50IHZpc2libGVSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBi
b29sJiBmb3VuZEJveCkKK2Zsb2F0IElubGluZVRleHRCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9v
bCBmbG93SXNMVFIsIGZsb2F0IHZpc2libGVMZWZ0RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRn
ZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpCiB7CiAgICAgaWYgKGZvdW5k
Qm94KSB7CiAgICAgICAgIG1fdHJ1bmNhdGlvbiA9IGNGdWxsVHJ1bmNhdGlvbjsKQEAgLTIwOSw3
ICsyMDksNyBAQCBpbnQgSW5saW5lVGV4dEJveDo6cGxhY2VFbGxpcHNpc0JveChib29sCiAgICAg
fQogCiAgICAgLy8gRm9yIExUUiB0aGlzIGlzIHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlIGJveCwgZm9y
IFJUTCwgdGhlIHJpZ2h0IGVkZ2UgaW4gcGFyZW50IGNvb3JkaW5hdGVzLgotICAgIGludCBlbGxp
cHNpc1ggPSBmbG93SXNMVFIgPyB2aXNpYmxlUmlnaHRFZGdlIC0gZWxsaXBzaXNXaWR0aCA6IHZp
c2libGVMZWZ0RWRnZSArIGVsbGlwc2lzV2lkdGg7CisgICAgZmxvYXQgZWxsaXBzaXNYID0gZmxv
d0lzTFRSID8gdmlzaWJsZVJpZ2h0RWRnZSAtIGVsbGlwc2lzV2lkdGggOiB2aXNpYmxlTGVmdEVk
Z2UgKyBlbGxpcHNpc1dpZHRoOwogICAgIAogICAgIC8vIENyaXRlcmlhIGZvciBmdWxsIHRydW5j
YXRpb246CiAgICAgLy8gTFRSOiB0aGUgbGVmdCBlZGdlIG9mIHRoZSBlbGxpcHNpcyBpcyB0byB0
aGUgbGVmdCBvZiBvdXIgdGV4dCBydW4uCkBAIC0yNTEsNyArMjUxLDcgQEAgaW50IElubGluZVRl
eHRCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbAogCiAgICAgICAgIC8vIElmIHdlIGdvdCBoZXJl
IHRoYXQgbWVhbnMgdGhhdCB3ZSB3ZXJlIG9ubHkgcGFydGlhbGx5IHRydW5jYXRlZCBhbmQgd2Ug
bmVlZCB0byByZXR1cm4gdGhlIHBpeGVsIG9mZnNldCBhdCB3aGljaAogICAgICAgICAvLyB0byBw
bGFjZSB0aGUgZWxsaXBzaXMuCi0gICAgICAgIGludCB3aWR0aE9mVmlzaWJsZVRleHQgPSB0b1Jl
bmRlclRleHQocmVuZGVyZXIoKSktPndpZHRoKG1fc3RhcnQsIG9mZnNldCwgdGV4dFBvcygpLCBt
X2ZpcnN0TGluZSk7CisgICAgICAgIGZsb2F0IHdpZHRoT2ZWaXNpYmxlVGV4dCA9IHRvUmVuZGVy
VGV4dChyZW5kZXJlcigpKS0+d2lkdGgobV9zdGFydCwgb2Zmc2V0LCB0ZXh0UG9zKCksIG1fZmly
c3RMaW5lKTsKIAogICAgICAgICAvLyBUaGUgZWxsaXBzaXMgbmVlZHMgdG8gYmUgcGxhY2VkIGp1
c3QgYWZ0ZXIgdGhlIGxhc3QgdmlzaWJsZSBjaGFyYWN0ZXIuCiAgICAgICAgIC8vIFdoZXJlICJh
ZnRlciIgaXMgZGVmaW5lZCBieSB0aGUgZmxvdyBkaXJlY3Rpb25hbGl0eSwgbm90IHRoZSBpbmxp
bmUKQEAgLTMxOSw5ICszMTksOSBAQCBib29sIElubGluZVRleHRCb3g6Om5vZGVBdFBvaW50KGNv
bnN0IEhpCiAgICAgaWYgKGlzTGluZUJyZWFrKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgIEludFBvaW50IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKKyAg
ICBGbG9hdFBvaW50IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKICAg
ICBib3hPcmlnaW4ubW92ZSh0eCwgdHkpOwotICAgIEludFJlY3QgcmVjdChib3hPcmlnaW4sIElu
dFNpemUod2lkdGgoKSwgaGVpZ2h0KCkpKTsKKyAgICBGbG9hdFJlY3QgcmVjdChib3hPcmlnaW4s
IEludFNpemUod2lkdGgoKSwgaGVpZ2h0KCkpKTsKICAgICBpZiAobV90cnVuY2F0aW9uICE9IGNG
dWxsVHJ1bmNhdGlvbiAmJiB2aXNpYmxlVG9IaXRUZXN0aW5nKCkgJiYgcmVjdC5pbnRlcnNlY3Rz
KHJlc3VsdC5yZWN0Rm9yUG9pbnQoeCwgeSkpKSB7CiAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0
ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBmbGlwRm9yV3JpdGluZ01vZGUoSW50UG9pbnQoeCAtIHR4
LCB5IC0gdHkpKSk7CiAgICAgICAgIGlmICghcmVzdWx0LmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RS
ZXN1bHQocmVuZGVyZXIoKS0+bm9kZSgpLCB4LCB5LCByZWN0KSkKQEAgLTM1Nyw4ICszNTcsOCBA
QCBGbG9hdFNpemUgSW5saW5lVGV4dEJveDo6YXBwbHlTaGFkb3dUb0dyCiAgICAgcmV0dXJuIGV4
dHJhT2Zmc2V0OwogfQogCi1zdGF0aWMgdm9pZCBwYWludFRleHRXaXRoU2hhZG93cyhHcmFwaGlj
c0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHRleHRS
dW4sIGNvbnN0IEF0b21pY1N0cmluZyYgZW1waGFzaXNNYXJrLCBpbnQgZW1waGFzaXNNYXJrT2Zm
c2V0LCBpbnQgc3RhcnRPZmZzZXQsIGludCBlbmRPZmZzZXQsIGludCB0cnVuY2F0aW9uUG9pbnQs
IGNvbnN0IEludFBvaW50JiB0ZXh0T3JpZ2luLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgSW50UmVjdCYgYm94UmVjdCwgY29uc3QgU2hhZG93RGF0YSogc2hhZG93LCBi
b29sIHN0cm9rZWQsIGJvb2wgaG9yaXpvbnRhbCkKK3N0YXRpYyB2b2lkIHBhaW50VGV4dFdpdGhT
aGFkb3dzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRm9udCYgZm9udCwgY29uc3Qg
VGV4dFJ1biYgdGV4dFJ1biwgY29uc3QgQXRvbWljU3RyaW5nJiBlbXBoYXNpc01hcmssIGludCBl
bXBoYXNpc01hcmtPZmZzZXQsIGludCBzdGFydE9mZnNldCwgaW50IGVuZE9mZnNldCwgaW50IHRy
dW5jYXRpb25Qb2ludCwgY29uc3QgRmxvYXRQb2ludCYgdGV4dE9yaWdpbiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZsb2F0UmVjdCYgYm94UmVjdCwgY29uc3QgU2hh
ZG93RGF0YSogc2hhZG93LCBib29sIHN0cm9rZWQsIGJvb2wgaG9yaXpvbnRhbCkKIHsKICAgICBD
b2xvciBmaWxsQ29sb3IgPSBjb250ZXh0LT5maWxsQ29sb3IoKTsKICAgICBDb2xvclNwYWNlIGZp
bGxDb2xvclNwYWNlID0gY29udGV4dC0+ZmlsbENvbG9yU3BhY2UoKTsKQEAgLTQ4MiwxMCArNDgy
LDEwIEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnQoUGFpbnRJbmZvJiBwYWkKICAgICAKICAg
ICB0eSAtPSBzdHlsZVRvVXNlLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gMCA6IGxvZ2lj
YWxIZWlnaHQoKTsKIAotICAgIEludFBvaW50IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5n
RmxpcHBpbmcoKTsKKyAgICBGbG9hdFBvaW50IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5n
RmxpcHBpbmcoKTsKICAgICBib3hPcmlnaW4ubW92ZSh0eCwgdHkpOyAgICAKLSAgICBJbnRSZWN0
IGJveFJlY3QoYm94T3JpZ2luLCBJbnRTaXplKGxvZ2ljYWxXaWR0aCgpLCBsb2dpY2FsSGVpZ2h0
KCkpKTsKLSAgICBJbnRQb2ludCB0ZXh0T3JpZ2luID0gSW50UG9pbnQoYm94T3JpZ2luLngoKSwg
Ym94T3JpZ2luLnkoKSArIHN0eWxlVG9Vc2UtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOworICAg
IEZsb2F0UmVjdCBib3hSZWN0KGJveE9yaWdpbiwgSW50U2l6ZShsb2dpY2FsV2lkdGgoKSwgbG9n
aWNhbEhlaWdodCgpKSk7CisgICAgRmxvYXRQb2ludCB0ZXh0T3JpZ2luID0gRmxvYXRQb2ludChi
b3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpICsgc3R5bGVUb1VzZS0+Zm9udE1ldHJpY3MoKS5h
c2NlbnQoKSk7CiAKICAgICBSZW5kZXJDb21iaW5lVGV4dCogY29tYmluZWRUZXh0ID0gc3R5bGVU
b1VzZS0+aGFzVGV4dENvbWJpbmUoKSA/IHRvUmVuZGVyQ29tYmluZVRleHQodGV4dFJlbmRlcmVy
KCkpIDogMDsKICAgICBib29sIHNob3VsZFJvdGF0ZSA9ICFpc0hvcml6b250YWwoKSAmJiAoIWNv
bWJpbmVkVGV4dCB8fCAhY29tYmluZWRUZXh0LT5pc0NvbWJpbmVkKCkpOwpAQCAtNzM2LDcgKzcz
Niw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6c2VsZWN0aW9uU3RhcnRFbmQoaW4KICAgICBlUG9z
ID0gbWluKGVuZFBvcyAtIG1fc3RhcnQsIChpbnQpbV9sZW4pOwogfQogCi12b2lkIElubGluZVRl
eHRCb3g6OnBhaW50U2VsZWN0aW9uKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50
UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250KQor
dm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlvbihHcmFwaGljc0NvbnRleHQqIGNvbnRl
eHQsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25z
dCBGb250JiBmb250KQogewogICAgIC8vIFNlZSBpZiB3ZSBoYXZlIGEgc2VsZWN0aW9uIHRvIHBh
aW50IGF0IGFsbC4KICAgICBpbnQgc1BvcywgZVBvczsKQEAgLTc3MCwxNSArNzcwLDE1IEBAIHZv
aWQgSW5saW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb24oR3JhcGgKIAogICAgIGludCBkZWx0YVkg
PSByZW5kZXJlcigpLT5zdHlsZSgpLT5pc0ZsaXBwZWRMaW5lc1dyaXRpbmdNb2RlKCkgPyBzZWxl
Y3Rpb25Cb3R0b20oKSAtIGxvZ2ljYWxCb3R0b20oKSA6IGxvZ2ljYWxUb3AoKSAtIHNlbGVjdGlv
blRvcCgpOwogICAgIGludCBzZWxIZWlnaHQgPSBzZWxlY3Rpb25IZWlnaHQoKTsKLSAgICBJbnRQ
b2ludCBsb2NhbE9yaWdpbihib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsK
LSAgICBjb250ZXh0LT5jbGlwKEludFJlY3QobG9jYWxPcmlnaW4sIEludFNpemUobV9sb2dpY2Fs
V2lkdGgsIHNlbEhlaWdodCkpKTsKKyAgICBGbG9hdFBvaW50IGxvY2FsT3JpZ2luKGJveE9yaWdp
bi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVkpOworICAgIGNvbnRleHQtPmNsaXAoRmxvYXRS
ZWN0KGxvY2FsT3JpZ2luLCBGbG9hdFNpemUobV9sb2dpY2FsV2lkdGgsIHNlbEhlaWdodCkpKTsK
ICAgICBjb250ZXh0LT5kcmF3SGlnaGxpZ2h0Rm9yVGV4dChmb250LCBUZXh0UnVuKGNoYXJhY3Rl
cnMsIGxlbmd0aCwgdGV4dFJlbmRlcmVyKCktPmFsbG93VGFicygpLCB0ZXh0UG9zKCksIG1fZXhw
YW5zaW9uLCB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yKCksIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIG1fZGlyT3ZlcnJpZGUg
fHwgc3R5bGUtPnZpc3VhbGx5T3JkZXJlZCgpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsb2NhbE9yaWdpbiwgc2VsSGVpZ2h0LCBjLCBzdHlsZS0+Y29sb3JTcGFjZSgpLCBz
UG9zLCBlUG9zKTsKICAgICBjb250ZXh0LT5yZXN0b3JlKCk7CiB9CiAKLXZvaWQgSW5saW5lVGV4
dEJveDo6cGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
LCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZv
bnQmIGZvbnQsIGludCBzdGFydFBvcywgaW50IGVuZFBvcykKK3ZvaWQgSW5saW5lVGV4dEJveDo6
cGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25z
dCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYg
Zm9udCwgaW50IHN0YXJ0UG9zLCBpbnQgZW5kUG9zKQogewogICAgIGludCBvZmZzZXQgPSBtX3N0
YXJ0OwogICAgIGludCBzUG9zID0gbWF4KHN0YXJ0UG9zIC0gb2Zmc2V0LCAwKTsKQEAgLTc5NSw3
ICs3OTUsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25CYWNrCiAKICAg
ICBpbnQgZGVsdGFZID0gcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkTGluZXNXcml0aW5n
TW9kZSgpID8gc2VsZWN0aW9uQm90dG9tKCkgLSBsb2dpY2FsQm90dG9tKCkgOiBsb2dpY2FsVG9w
KCkgLSBzZWxlY3Rpb25Ub3AoKTsKICAgICBpbnQgc2VsSGVpZ2h0ID0gc2VsZWN0aW9uSGVpZ2h0
KCk7Ci0gICAgSW50UG9pbnQgbG9jYWxPcmlnaW4oYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnko
KSAtIGRlbHRhWSk7CisgICAgRmxvYXRQb2ludCBsb2NhbE9yaWdpbihib3hPcmlnaW4ueCgpLCBi
b3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKICAgICBjb250ZXh0LT5kcmF3SGlnaGxpZ2h0Rm9yVGV4
dChmb250LCBUZXh0UnVuKHRleHRSZW5kZXJlcigpLT50ZXh0KCktPmNoYXJhY3RlcnMoKSArIG1f
c3RhcnQsIG1fbGVuLCB0ZXh0UmVuZGVyZXIoKS0+YWxsb3dUYWJzKCksIHRleHRQb3MoKSwgbV9l
eHBhbnNpb24sIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IoKSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAhaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpLCBtX2Rpck92ZXJyaWRl
IHx8IHN0eWxlLT52aXN1YWxseU9yZGVyZWQoKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbG9jYWxPcmlnaW4sIHNlbEhlaWdodCwgYywgc3R5bGUtPmNvbG9yU3BhY2UoKSwg
c1BvcywgZVBvcyk7CkBAIC04MjIsMTQgKzgyMiwxNCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBh
aW50Q3VzdG9tSGlnaGxpZ2h0CiAKICNlbmRpZgogCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50
RGVjb3JhdGlvbihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFBvaW50JiBib3hP
cmlnaW4sIGludCBkZWNvLCBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3cpCit2b2lkIElubGluZVRl
eHRCb3g6OnBhaW50RGVjb3JhdGlvbihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZs
b2F0UG9pbnQmIGJveE9yaWdpbiwgaW50IGRlY28sIGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdykK
IHsKICAgICBpZiAobV90cnVuY2F0aW9uID09IGNGdWxsVHJ1bmNhdGlvbikKICAgICAgICAgcmV0
dXJuOwogCi0gICAgSW50UG9pbnQgbG9jYWxPcmlnaW4gPSBib3hPcmlnaW47CisgICAgRmxvYXRQ
b2ludCBsb2NhbE9yaWdpbiA9IGJveE9yaWdpbjsKIAotICAgIGludCB3aWR0aCA9IG1fbG9naWNh
bFdpZHRoOworICAgIGZsb2F0IHdpZHRoID0gbV9sb2dpY2FsV2lkdGg7CiAgICAgaWYgKG1fdHJ1
bmNhdGlvbiAhPSBjTm9UcnVuY2F0aW9uKSB7CiAgICAgICAgIHdpZHRoID0gdG9SZW5kZXJUZXh0
KHJlbmRlcmVyKCkpLT53aWR0aChtX3N0YXJ0LCBtX3RydW5jYXRpb24sIHRleHRQb3MoKSwgbV9m
aXJzdExpbmUpOwogICAgICAgICBpZiAoIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKQEAgLTg1
Myw5ICs4NTMsOSBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbihHcmFwCiAg
ICAgaW50IGV4dHJhT2Zmc2V0ID0gMDsKICAgICBpZiAoIWxpbmVzQXJlT3BhcXVlICYmIHNoYWRv
dyAmJiBzaGFkb3ctPm5leHQoKSkgewogICAgICAgICBjb250ZXh0LT5zYXZlKCk7Ci0gICAgICAg
IEludFJlY3QgY2xpcFJlY3QobG9jYWxPcmlnaW4sIEludFNpemUod2lkdGgsIGJhc2VsaW5lICsg
MikpOworICAgICAgICBGbG9hdFJlY3QgY2xpcFJlY3QobG9jYWxPcmlnaW4sIEZsb2F0U2l6ZSh3
aWR0aCwgYmFzZWxpbmUgKyAyKSk7CiAgICAgICAgIGZvciAoY29uc3QgU2hhZG93RGF0YSogcyA9
IHNoYWRvdzsgczsgcyA9IHMtPm5leHQoKSkgewotICAgICAgICAgICAgSW50UmVjdCBzaGFkb3dS
ZWN0KGxvY2FsT3JpZ2luLCBJbnRTaXplKHdpZHRoLCBiYXNlbGluZSArIDIpKTsKKyAgICAgICAg
ICAgIEZsb2F0UmVjdCBzaGFkb3dSZWN0KGxvY2FsT3JpZ2luLCBGbG9hdFNpemUod2lkdGgsIGJh
c2VsaW5lICsgMikpOwogICAgICAgICAgICAgc2hhZG93UmVjdC5pbmZsYXRlKHMtPmJsdXIoKSk7
CiAgICAgICAgICAgICBpbnQgc2hhZG93WCA9IGlzSG9yaXpvbnRhbCgpID8gcy0+eCgpIDogcy0+
eSgpOwogICAgICAgICAgICAgaW50IHNoYWRvd1kgPSBpc0hvcml6b250YWwoKSA/IHMtPnkoKSA6
IC1zLT54KCk7CkBAIC04ODIsNyArODgyLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERl
Y29yYXRpb24oR3JhcAogICAgICAgICAgICAgfQogICAgICAgICAgICAgaW50IHNoYWRvd1ggPSBp
c0hvcml6b250YWwoKSA/IHNoYWRvdy0+eCgpIDogc2hhZG93LT55KCk7CiAgICAgICAgICAgICBp
bnQgc2hhZG93WSA9IGlzSG9yaXpvbnRhbCgpID8gc2hhZG93LT55KCkgOiAtc2hhZG93LT54KCk7
Ci0gICAgICAgICAgICBjb250ZXh0LT5zZXRTaGFkb3coSW50U2l6ZShzaGFkb3dYLCBzaGFkb3dZ
IC0gZXh0cmFPZmZzZXQpLCBzaGFkb3ctPmJsdXIoKSwgc2hhZG93LT5jb2xvcigpLCBjb2xvclNw
YWNlKTsKKyAgICAgICAgICAgIGNvbnRleHQtPnNldFNoYWRvdyhGbG9hdFNpemUoc2hhZG93WCwg
c2hhZG93WSAtIGV4dHJhT2Zmc2V0KSwgc2hhZG93LT5ibHVyKCksIHNoYWRvdy0+Y29sb3IoKSwg
Y29sb3JTcGFjZSk7CiAgICAgICAgICAgICBzZXRTaGFkb3cgPSB0cnVlOwogICAgICAgICAgICAg
c2hhZG93ID0gc2hhZG93LT5uZXh0KCk7CiAgICAgICAgIH0KQEAgLTg5MSw3ICs4OTEsNyBAQCB2
b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbihHcmFwCiAgICAgICAgICAgICBjb250
ZXh0LT5zZXRTdHJva2VDb2xvcih1bmRlcmxpbmUsIGNvbG9yU3BhY2UpOwogICAgICAgICAgICAg
Y29udGV4dC0+c2V0U3Ryb2tlU3R5bGUoU29saWRTdHJva2UpOwogICAgICAgICAgICAgLy8gTGVh
dmUgb25lIHBpeGVsIG9mIHdoaXRlIGJldHdlZW4gdGhlIGJhc2VsaW5lIGFuZCB0aGUgdW5kZXJs
aW5lLgotICAgICAgICAgICAgY29udGV4dC0+ZHJhd0xpbmVGb3JUZXh0KEludFBvaW50KGxvY2Fs
T3JpZ2luLngoKSwgbG9jYWxPcmlnaW4ueSgpICsgYmFzZWxpbmUgKyAxKSwgd2lkdGgsIGlzUHJp
bnRpbmcpOworICAgICAgICAgICAgY29udGV4dC0+ZHJhd0xpbmVGb3JUZXh0KEZsb2F0UG9pbnQo
bG9jYWxPcmlnaW4ueCgpLCBsb2NhbE9yaWdpbi55KCkgKyBiYXNlbGluZSArIDEpLCB3aWR0aCwg
aXNQcmludGluZyk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGRlY28gJiBPVkVSTElORSkgewog
ICAgICAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlQ29sb3Iob3ZlcmxpbmUsIGNvbG9yU3BhY2Up
OwpAQCAtOTAxLDcgKzkwMSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9u
KEdyYXAKICAgICAgICAgaWYgKGRlY28gJiBMSU5FX1RIUk9VR0gpIHsKICAgICAgICAgICAgIGNv
bnRleHQtPnNldFN0cm9rZUNvbG9yKGxpbmV0aHJvdWdoLCBjb2xvclNwYWNlKTsKICAgICAgICAg
ICAgIGNvbnRleHQtPnNldFN0cm9rZVN0eWxlKFNvbGlkU3Ryb2tlKTsKLSAgICAgICAgICAgIGNv
bnRleHQtPmRyYXdMaW5lRm9yVGV4dChJbnRQb2ludChsb2NhbE9yaWdpbi54KCksIGxvY2FsT3Jp
Z2luLnkoKSArIDIgKiBiYXNlbGluZSAvIDMpLCB3aWR0aCwgaXNQcmludGluZyk7CisgICAgICAg
ICAgICBjb250ZXh0LT5kcmF3TGluZUZvclRleHQoRmxvYXRQb2ludChsb2NhbE9yaWdpbi54KCks
IGxvY2FsT3JpZ2luLnkoKSArIDIgKiBiYXNlbGluZSAvIDMpLCB3aWR0aCwgaXNQcmludGluZyk7
CiAgICAgICAgIH0KICAgICB9IHdoaWxlIChzaGFkb3cpOwogCkBAIC05MjYsNyArOTI2LDcgQEAg
c3RhdGljIEdyYXBoaWNzQ29udGV4dDo6VGV4dENoZWNraW5nTGluZQogICAgIH0KIH0KIAotdm9p
ZCBJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdyYXBoaWNzQ29u
dGV4dCogcHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2Vy
JiBtYXJrZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBncmFt
bWFyKQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdy
YXBoaWNzQ29udGV4dCogcHQsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9j
dW1lbnRNYXJrZXImIG1hcmtlciwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250
LCBib29sIGdyYW1tYXIpCiB7CiAgICAgLy8gTmV2ZXIgcHJpbnQgc3BlbGxpbmcvZ3JhbW1hciBt
YXJrZXJzICg1MzI3ODg3KQogICAgIGlmICh0ZXh0UmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+cHJp
bnRpbmcoKSkKQEAgLTkzNSw4ICs5MzUsOCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50U3Bl
bGxpbmdPckdyYW1tCiAgICAgaWYgKG1fdHJ1bmNhdGlvbiA9PSBjRnVsbFRydW5jYXRpb24pCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGludCBzdGFydCA9IDA7ICAgICAgICAgICAgICAgICAgLy8g
c3RhcnQgb2YgbGluZSB0byBkcmF3LCByZWxhdGl2ZSB0byB0eAotICAgIGludCB3aWR0aCA9IG1f
bG9naWNhbFdpZHRoOyAgICAgICAgICAgIC8vIGhvdyBtdWNoIGxpbmUgdG8gZHJhdworICAgIGZs
b2F0IHN0YXJ0ID0gMDsgLy8gc3RhcnQgb2YgbGluZSB0byBkcmF3LCByZWxhdGl2ZSB0byB0eAor
ICAgIGZsb2F0IHdpZHRoID0gbV9sb2dpY2FsV2lkdGg7IC8vIGhvdyBtdWNoIGxpbmUgdG8gZHJh
dwogCiAgICAgLy8gRGV0ZXJtaW5lIHdoZXRoZXIgd2UgbmVlZCB0byBtZWFzdXJlIHRleHQKICAg
ICBib29sIG1hcmtlclNwYW5zV2hvbGVCb3ggPSB0cnVlOwpAQCAtOTU3LDkgKzk1NywxMCBAQCB2
b2lkIElubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tCiAgICAgICAgIC8vIENhbGN1
bGF0ZSBzdGFydCAmIHdpZHRoCiAgICAgICAgIGludCBkZWx0YVkgPSByZW5kZXJlcigpLT5zdHls
ZSgpLT5pc0ZsaXBwZWRMaW5lc1dyaXRpbmdNb2RlKCkgPyBzZWxlY3Rpb25Cb3R0b20oKSAtIGxv
Z2ljYWxCb3R0b20oKSA6IGxvZ2ljYWxUb3AoKSAtIHNlbGVjdGlvblRvcCgpOwogICAgICAgICBp
bnQgc2VsSGVpZ2h0ID0gc2VsZWN0aW9uSGVpZ2h0KCk7Ci0gICAgICAgIEludFBvaW50IHN0YXJ0
UG9pbnQoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSk7CisgICAgICAgIEZs
b2F0UG9pbnQgc3RhcnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZ
KTsKICAgICAgICAgVGV4dFJ1biBydW4odGV4dFJlbmRlcmVyKCktPnRleHQoKS0+Y2hhcmFjdGVy
cygpICsgbV9zdGFydCwgbV9sZW4sIHRleHRSZW5kZXJlcigpLT5hbGxvd1RhYnMoKSwgdGV4dFBv
cygpLCBtX2V4cGFuc2lvbiwgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvcigpLCAhaXNMZWZ0VG9S
aWdodERpcmVjdGlvbigpLCBtX2Rpck92ZXJyaWRlIHx8IHN0eWxlLT52aXN1YWxseU9yZGVyZWQo
KSk7Ci0gICAgICAgICAKKyAgICAgICAgCisgICAgICAgIC8vIEZJWE1FOiBDb252ZXJ0IHRoZSBk
b2N1bWVudCBtYXJrZXJzIHRvIGZsb2F0IHJlY3RzLgogICAgICAgICBJbnRSZWN0IG1hcmtlclJl
Y3QgPSBlbmNsb3NpbmdJbnRSZWN0KGZvbnQuc2VsZWN0aW9uUmVjdEZvclRleHQocnVuLCBzdGFy
dFBvaW50LCBzZWxIZWlnaHQsIHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uKSk7CiAgICAgICAg
IHN0YXJ0ID0gbWFya2VyUmVjdC54KCkgLSBzdGFydFBvaW50LngoKTsKICAgICAgICAgd2lkdGgg
PSBtYXJrZXJSZWN0LndpZHRoKCk7CkBAIC05OTAsMTAgKzk5MSwxMCBAQCB2b2lkIElubGluZVRl
eHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tCiAgICAgICAgIC8vIEluIGxhcmdlciBmb250cywg
dGhvdWdoLCBwbGFjZSB0aGUgdW5kZXJsaW5lIHVwIG5lYXIgdGhlIGJhc2VsaW5lIHRvIHByZXZl
bnQgYSBiaWcgZ2FwLgogICAgICAgICB1bmRlcmxpbmVPZmZzZXQgPSBiYXNlbGluZSArIDI7CiAg
ICAgfQotICAgIHB0LT5kcmF3TGluZUZvclRleHRDaGVja2luZyhJbnRQb2ludChib3hPcmlnaW4u
eCgpICsgc3RhcnQsIGJveE9yaWdpbi55KCkgKyB1bmRlcmxpbmVPZmZzZXQpLCB3aWR0aCwgdGV4
dENoZWNraW5nTGluZVN0eWxlRm9yTWFya2VyVHlwZShtYXJrZXIudHlwZSkpOworICAgIHB0LT5k
cmF3TGluZUZvclRleHRDaGVja2luZyhGbG9hdFBvaW50KGJveE9yaWdpbi54KCkgKyBzdGFydCwg
Ym94T3JpZ2luLnkoKSArIHVuZGVybGluZU9mZnNldCksIHdpZHRoLCB0ZXh0Q2hlY2tpbmdMaW5l
U3R5bGVGb3JNYXJrZXJUeXBlKG1hcmtlci50eXBlKSk7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJv
eDo6cGFpbnRUZXh0TWF0Y2hNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiBwdCwgY29uc3QgSW50UG9p
bnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImIG1hcmtlciwgUmVuZGVyU3R5bGUq
IHN0eWxlLCBjb25zdCBGb250JiBmb250KQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFRleHRN
YXRjaE1hcmtlcihHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmln
aW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiBtYXJrZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29u
c3QgRm9udCYgZm9udCkKIHsKICAgICAvLyBVc2Ugc2FtZSB5IHBvc2l0aW9uaW5nIGFuZCBoZWln
aHQgYXMgZm9yIHNlbGVjdGlvbiwgc28gdGhhdCB3aGVuIHRoZSBzZWxlY3Rpb24gYW5kIHRoaXMg
aGlnaGxpZ2h0IGFyZSBvbgogICAgIC8vIHRoZSBzYW1lIHdvcmQgdGhlcmUgYXJlIG5vIHBpZWNl
cyBzdGlja2luZyBvdXQuCkBAIC0xMDE2LDggKzEwMTcsOCBAQCB2b2lkIElubGluZVRleHRCb3g6
OnBhaW50VGV4dE1hdGNoTWFya2VyCiAgICAgICAgICAgICByZW5kZXJlcigpLT50aGVtZSgpLT5w
bGF0Zm9ybUluYWN0aXZlVGV4dFNlYXJjaEhpZ2hsaWdodENvbG9yKCk7CiAgICAgICAgIHB0LT5z
YXZlKCk7CiAgICAgICAgIHVwZGF0ZUdyYXBoaWNzQ29udGV4dChwdCwgY29sb3IsIGNvbG9yLCAw
LCBzdHlsZS0+Y29sb3JTcGFjZSgpKTsgIC8vIERvbid0IGRyYXcgdGV4dCBhdCBhbGwhCi0gICAg
ICAgIHB0LT5jbGlwKEludFJlY3QoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRh
WSwgbV9sb2dpY2FsV2lkdGgsIHNlbEhlaWdodCkpOwotICAgICAgICBwdC0+ZHJhd0hpZ2hsaWdo
dEZvclRleHQoZm9udCwgcnVuLCBJbnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgp
IC0gZGVsdGFZKSwgc2VsSGVpZ2h0LCBjb2xvciwgc3R5bGUtPmNvbG9yU3BhY2UoKSwgc1Bvcywg
ZVBvcyk7CisgICAgICAgIHB0LT5jbGlwKEZsb2F0UmVjdChib3hPcmlnaW4ueCgpLCBib3hPcmln
aW4ueSgpIC0gZGVsdGFZLCBtX2xvZ2ljYWxXaWR0aCwgc2VsSGVpZ2h0KSk7CisgICAgICAgIHB0
LT5kcmF3SGlnaGxpZ2h0Rm9yVGV4dChmb250LCBydW4sIEZsb2F0UG9pbnQoYm94T3JpZ2luLngo
KSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSksIHNlbEhlaWdodCwgY29sb3IsIHN0eWxlLT5jb2xv
clNwYWNlKCksIHNQb3MsIGVQb3MpOwogICAgICAgICBwdC0+cmVzdG9yZSgpOwogICAgIH0KIH0K
QEAgLTEwMzksNyArMTA0MCw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6Y29tcHV0ZVJlY3RGb3JS
ZXBsYWMKICAgICByZW5kZXJlcigpLT5kb2N1bWVudCgpLT5tYXJrZXJzKCktPnNldFJlbmRlcmVk
UmVjdEZvck1hcmtlcihyZW5kZXJlcigpLT5ub2RlKCksIG1hcmtlciwgbWFya2VyUmVjdCk7CiB9
CiAgICAgCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50RG9jdW1lbnRNYXJrZXJzKEdyYXBoaWNz
Q29udGV4dCogcHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHls
ZSwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBiYWNrZ3JvdW5kKQordm9pZCBJbmxpbmVUZXh0Qm94
OjpwYWludERvY3VtZW50TWFya2VycyhHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBGbG9hdFBv
aW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgYm9v
bCBiYWNrZ3JvdW5kKQogewogICAgIGlmICghcmVuZGVyZXIoKS0+bm9kZSgpKQogICAgICAgICBy
ZXR1cm47CkBAIC0xMDk5LDE0ICsxMTAwLDEzIEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRE
b2N1bWVudE1hcmtlcnMKICAgICB9CiB9CiAKLQotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENv
bXBvc2l0aW9uVW5kZXJsaW5lKEdyYXBoaWNzQ29udGV4dCogY3R4LCBjb25zdCBJbnRQb2ludCYg
Ym94T3JpZ2luLCBjb25zdCBDb21wb3NpdGlvblVuZGVybGluZSYgdW5kZXJsaW5lKQordm9pZCBJ
bmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uVW5kZXJsaW5lKEdyYXBoaWNzQ29udGV4dCog
Y3R4LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IENvbXBvc2l0aW9uVW5kZXJs
aW5lJiB1bmRlcmxpbmUpCiB7CiAgICAgaWYgKG1fdHJ1bmNhdGlvbiA9PSBjRnVsbFRydW5jYXRp
b24pCiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBpbnQgc3RhcnQgPSAwOyAgICAgICAgICAg
ICAgICAgLy8gc3RhcnQgb2YgbGluZSB0byBkcmF3LCByZWxhdGl2ZSB0byB0eAotICAgIGludCB3
aWR0aCA9IG1fbG9naWNhbFdpZHRoOyAgICAgICAgICAgLy8gaG93IG11Y2ggbGluZSB0byBkcmF3
CisgICAgZmxvYXQgc3RhcnQgPSAwOyAvLyBzdGFydCBvZiBsaW5lIHRvIGRyYXcsIHJlbGF0aXZl
IHRvIHR4CisgICAgZmxvYXQgd2lkdGggPSBtX2xvZ2ljYWxXaWR0aDsgLy8gaG93IG11Y2ggbGlu
ZSB0byBkcmF3CiAgICAgYm9vbCB1c2VXaG9sZVdpZHRoID0gdHJ1ZTsKICAgICB1bnNpZ25lZCBw
YWludFN0YXJ0ID0gbV9zdGFydDsKICAgICB1bnNpZ25lZCBwYWludEVuZCA9IGVuZCgpICsgMTsg
Ly8gZW5kIHBvaW50cyBhdCB0aGUgbGFzdCBjaGFyLCBub3QgcGFzdCBpdApAQCAtMTE0Miw3ICsx
MTQyLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uVW5kZQogCiAgICAg
Y3R4LT5zZXRTdHJva2VDb2xvcih1bmRlcmxpbmUuY29sb3IsIHJlbmRlcmVyKCktPnN0eWxlKCkt
PmNvbG9yU3BhY2UoKSk7CiAgICAgY3R4LT5zZXRTdHJva2VUaGlja25lc3MobGluZVRoaWNrbmVz
cyk7Ci0gICAgY3R4LT5kcmF3TGluZUZvclRleHQoSW50UG9pbnQoYm94T3JpZ2luLngoKSArIHN0
YXJ0LCBib3hPcmlnaW4ueSgpICsgbG9naWNhbEhlaWdodCgpIC0gbGluZVRoaWNrbmVzcyksIHdp
ZHRoLCB0ZXh0UmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+cHJpbnRpbmcoKSk7CisgICAgY3R4LT5k
cmF3TGluZUZvclRleHQoRmxvYXRQb2ludChib3hPcmlnaW4ueCgpICsgc3RhcnQsIGJveE9yaWdp
bi55KCkgKyBsb2dpY2FsSGVpZ2h0KCkgLSBsaW5lVGhpY2tuZXNzKSwgd2lkdGgsIHRleHRSZW5k
ZXJlcigpLT5kb2N1bWVudCgpLT5wcmludGluZygpKTsKIH0KIAogaW50IElubGluZVRleHRCb3g6
OmNhcmV0TWluT2Zmc2V0KCkgY29uc3QKQEAgLTExNjAsNyArMTE2MCw3IEBAIHVuc2lnbmVkIElu
bGluZVRleHRCb3g6OmNhcmV0TWF4UmVuZGVyZWQKICAgICByZXR1cm4gbV9zdGFydCArIG1fbGVu
OwogfQogCi1pbnQgSW5saW5lVGV4dEJveDo6dGV4dFBvcygpIGNvbnN0CitmbG9hdCBJbmxpbmVU
ZXh0Qm94Ojp0ZXh0UG9zKCkgY29uc3QKIHsKICAgICAvLyBXaGVuIGNvbXB1dGluZyB0aGUgd2lk
dGggb2YgYSB0ZXh0IHJ1biwgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3Np
dGlvbnNGb3JMaW5lKCkgZG9lc24ndCBpbmNsdWRlIHRoZSBhY3R1YWwgb2Zmc2V0CiAgICAgLy8g
ZnJvbSB0aGUgY29udGFpbmluZyBibG9jayBlZGdlIGluIGl0cyBtZWFzdXJlbWVudC4gdGV4dFBv
cygpIHNob3VsZCBiZSBjb25zaXN0ZW50IHNvIHRoZSB0ZXh0IGFyZSByZW5kZXJlZCBpbiB0aGUg
c2FtZSB3aWR0aC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3gu
aAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4
dEJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDUsMTIgKzEwNSwxMiBAQCBwdWJsaWM6CiAKIHBy
aXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNsZWFyVHJ1bmNhdGlvbigpIHsgbV90cnVuY2F0aW9u
ID0gY05vVHJ1bmNhdGlvbjsgfQotICAgIHZpcnR1YWwgaW50IHBsYWNlRWxsaXBzaXNCb3goYm9v
bCBmbG93SXNMVFIsIGludCB2aXNpYmxlTGVmdEVkZ2UsIGludCB2aXNpYmxlUmlnaHRFZGdlLCBp
bnQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpOworICAgIHZpcnR1YWwgZmxvYXQgcGxh
Y2VFbGxpcHNpc0JveChib29sIGZsb3dJc0xUUiwgZmxvYXQgdmlzaWJsZUxlZnRFZGdlLCBmbG9h
dCB2aXNpYmxlUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCk7
CiAKIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5lQnJlYWsoKSBjb25zdDsKIAotICAg
IHZvaWQgc2V0RXhwYW5zaW9uKGludCBleHBhbnNpb24pIHsgbV9sb2dpY2FsV2lkdGggLT0gbV9l
eHBhbnNpb247IG1fZXhwYW5zaW9uID0gZXhwYW5zaW9uOyBtX2xvZ2ljYWxXaWR0aCArPSBtX2V4
cGFuc2lvbjsgfQorICAgIHZvaWQgc2V0RXhwYW5zaW9uKGZsb2F0IGV4cGFuc2lvbikgeyBtX2xv
Z2ljYWxXaWR0aCAtPSBtX2V4cGFuc2lvbjsgbV9leHBhbnNpb24gPSBleHBhbnNpb247IG1fbG9n
aWNhbFdpZHRoICs9IG1fZXhwYW5zaW9uOyB9CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29s
IGlzSW5saW5lVGV4dEJveCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0gICAgCkBAIC0xMjIsNyAr
MTIyLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGNhcmV0TWF4
UmVuZGVyZWRPZmZzZXQoKSBjb25zdDsKIAotICAgIGludCB0ZXh0UG9zKCkgY29uc3Q7IC8vIHJl
dHVybnMgdGhlIHggcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIGxlZnQgc3RhcnQgb2YgdGhlIHRl
eHQgbGluZS4KKyAgICBmbG9hdCB0ZXh0UG9zKCkgY29uc3Q7IC8vIHJldHVybnMgdGhlIHggcG9z
aXRpb24gcmVsYXRpdmUgdG8gdGhlIGxlZnQgc3RhcnQgb2YgdGhlIHRleHQgbGluZS4KIAogcHVi
bGljOgogICAgIHZpcnR1YWwgaW50IG9mZnNldEZvclBvc2l0aW9uKGludCB4LCBib29sIGluY2x1
ZGVQYXJ0aWFsR2x5cGhzID0gdHJ1ZSkgY29uc3Q7CkBAIC0xNDQsMTggKzE0NCwxOCBAQCBwcml2
YXRlOgogICAgICAgICAgICAgICAgICAgICAgIC8vIGRlbm90ZSBubyB0cnVuY2F0aW9uICh0aGUg
d2hvbGUgcnVuIHBhaW50cykgYW5kIGZ1bGwgdHJ1bmNhdGlvbiAobm90aGluZyBwYWludHMgYXQg
YWxsKS4KIAogcHJvdGVjdGVkOgotICAgIHZvaWQgcGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQo
R3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUq
LCBjb25zdCBGb250JiwgaW50IHN0YXJ0UG9zLCBpbnQgZW5kUG9zKTsKLSAgICB2b2lkIHBhaW50
RG9jdW1lbnRNYXJrZXJzKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmln
aW4sIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYsIGJvb2wgYmFja2dyb3VuZCk7Ci0gICAgdm9p
ZCBwYWludENvbXBvc2l0aW9uVW5kZXJsaW5lKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBv
aW50JiBib3hPcmlnaW4sIGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5lJik7CisgICAgdm9pZCBw
YWludENvbXBvc2l0aW9uQmFja2dyb3VuZChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBv
aW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYsIGludCBzdGFydFBvcywg
aW50IGVuZFBvcyk7CisgICAgdm9pZCBwYWludERvY3VtZW50TWFya2VycyhHcmFwaGljc0NvbnRl
eHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiwgY29uc3QgRm9u
dCYsIGJvb2wgYmFja2dyb3VuZCk7CisgICAgdm9pZCBwYWludENvbXBvc2l0aW9uVW5kZXJsaW5l
KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgQ29t
cG9zaXRpb25VbmRlcmxpbmUmKTsKICNpZiBQTEFURk9STShNQUMpCiAgICAgdm9pZCBwYWludEN1
c3RvbUhpZ2hsaWdodChpbnQgdHgsIGludCB0eSwgY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlKTsK
ICNlbmRpZgogCiBwcml2YXRlOgotICAgIHZvaWQgcGFpbnREZWNvcmF0aW9uKEdyYXBoaWNzQ29u
dGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGludCBkZWNvcmF0aW9uLCBjb25zdCBT
aGFkb3dEYXRhKik7Ci0gICAgdm9pZCBwYWludFNlbGVjdGlvbihHcmFwaGljc0NvbnRleHQqLCBj
b25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmKTsKLSAg
ICB2b2lkIHBhaW50U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiwgY29u
c3QgSW50UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImLCBSZW5kZXJTdHls
ZSosIGNvbnN0IEZvbnQmLCBib29sIGdyYW1tYXIpOwotICAgIHZvaWQgcGFpbnRUZXh0TWF0Y2hN
YXJrZXIoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgY29uc3Qg
RG9jdW1lbnRNYXJrZXImLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmKTsKKyAgICB2b2lkIHBh
aW50RGVjb3JhdGlvbihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmln
aW4sIGludCBkZWNvcmF0aW9uLCBjb25zdCBTaGFkb3dEYXRhKik7CisgICAgdm9pZCBwYWludFNl
bGVjdGlvbihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIFJl
bmRlclN0eWxlKiwgY29uc3QgRm9udCYpOworICAgIHZvaWQgcGFpbnRTcGVsbGluZ09yR3JhbW1h
ck1hcmtlcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNv
bnN0IERvY3VtZW50TWFya2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250JiwgYm9vbCBncmFt
bWFyKTsKKyAgICB2b2lkIHBhaW50VGV4dE1hdGNoTWFya2VyKEdyYXBoaWNzQ29udGV4dCosIGNv
bnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImLCBSZW5kZXJT
dHlsZSosIGNvbnN0IEZvbnQmKTsKICAgICB2b2lkIGNvbXB1dGVSZWN0Rm9yUmVwbGFjZW1lbnRN
YXJrZXIoY29uc3QgRG9jdW1lbnRNYXJrZXImLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmKTsK
IAogICAgIFRleHRSdW46OlRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNp
b25CZWhhdmlvcigpIGNvbnN0IHsgcmV0dXJuIG1fZXhwYW5zaW9uICYmIG5leHRMZWFmQ2hpbGQo
KSA/IFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24gOiBUZXh0UnVuOjpGb3JiaWRUcmFp
bGluZ0V4cGFuc2lvbjsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJS
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJSLmgJKHJl
dmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJSLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQwLDggKzQwLDggQEAgcHVibGljOgogIAogICAgIHZpcnR1YWwgSW50
UmVjdCBzZWxlY3Rpb25SZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogLypyZXBh
aW50Q29udGFpbmVyKi8sIGJvb2wgLypjbGlwVG9WaXNpYmxlQ29udGVudCovKSB7IHJldHVybiBJ
bnRSZWN0KCk7IH0KIAotICAgIHZpcnR1YWwgdW5zaWduZWQgd2lkdGgodW5zaWduZWQgLypmcm9t
Ki8sIHVuc2lnbmVkIC8qbGVuKi8sIGNvbnN0IEZvbnQmLCBpbnQgLyp4cG9zKi8pIGNvbnN0IHsg
cmV0dXJuIDA7IH0KLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVkIC8qZnJvbSov
LCB1bnNpZ25lZCAvKmxlbiovLCBpbnQgLyp4cG9zKi8sIGJvb2wgLypmaXJzdExpbmUgPSBmYWxz
ZSovKSBjb25zdCB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25l
ZCAvKmZyb20qLywgdW5zaWduZWQgLypsZW4qLywgY29uc3QgRm9udCYsIGZsb2F0IC8qeHBvcyov
KSBjb25zdCB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25lZCAv
KmZyb20qLywgdW5zaWduZWQgLypsZW4qLywgaW50IC8qeHBvcyovLCBib29sIC8qZmlyc3RMaW5l
ID0gZmFsc2UqLykgY29uc3QgeyByZXR1cm4gMDsgfQogCiAgICAgaW50IGxpbmVIZWlnaHQoYm9v
bCBmaXJzdExpbmUpIGNvbnN0OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYxNyw3ICs0NjE3LDcgQEAgc3Rh
dGljIGludCBnZXRCb3JkZXJQYWRkaW5nTWFyZ2luKGNvbnN0IAogICAgICAgICAgICAgICAgY2hp
bGQtPmJvcmRlclN0YXJ0KCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzdHJpcFRyYWlsaW5n
U3BhY2UoaW50JiBpbmxpbmVNYXgsIGludCYgaW5saW5lTWluLAorc3RhdGljIGlubGluZSB2b2lk
IHN0cmlwVHJhaWxpbmdTcGFjZShmbG9hdCYgaW5saW5lTWF4LCBmbG9hdCYgaW5saW5lTWluLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJPYmplY3QqIHRyYWls
aW5nU3BhY2VDaGlsZCkKIHsKICAgICBpZiAodHJhaWxpbmdTcGFjZUNoaWxkICYmIHRyYWlsaW5n
U3BhY2VDaGlsZC0+aXNUZXh0KCkpIHsKQEAgLTQ2MjUsMTcgKzQ2MjUsMjMgQEAgc3RhdGljIGlu
bGluZSB2b2lkIHN0cmlwVHJhaWxpbmdTcGFjZShpbgogICAgICAgICBSZW5kZXJUZXh0KiB0ID0g
dG9SZW5kZXJUZXh0KHRyYWlsaW5nU3BhY2VDaGlsZCk7CiAgICAgICAgIGNvbnN0IFVDaGFyIHNw
YWNlID0gJyAnOwogICAgICAgICBjb25zdCBGb250JiBmb250ID0gdC0+c3R5bGUoKS0+Zm9udCgp
OyAvLyBGSVhNRTogVGhpcyBpZ25vcmVzIGZpcnN0LWxpbmUuCi0gICAgICAgIGludCBzcGFjZVdp
ZHRoID0gZm9udC53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpOworICAgICAgICBmbG9hdCBzcGFj
ZVdpZHRoID0gZm9udC53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpOwogICAgICAgICBpbmxpbmVN
YXggLT0gc3BhY2VXaWR0aCArIGZvbnQud29yZFNwYWNpbmcoKTsKICAgICAgICAgaWYgKGlubGlu
ZU1pbiA+IGlubGluZU1heCkKICAgICAgICAgICAgIGlubGluZU1pbiA9IGlubGluZU1heDsKICAg
ICB9CiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCB1cGRhdGVQcmVmZXJyZWRXaWR0aChpbnQmIHBy
ZWZlcnJlZFdpZHRoLCBmbG9hdCYgcmVzdWx0KQoreworICAgIGludCBzbmFwcGVkUmVzdWx0ID0g
Y2VpbGYocmVzdWx0KTsKKyAgICBwcmVmZXJyZWRXaWR0aCA9IG1heChzbmFwcGVkUmVzdWx0LCBw
cmVmZXJyZWRXaWR0aCk7Cit9CisKIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVm
ZXJyZWRMb2dpY2FsV2lkdGhzKCkKIHsKLSAgICBpbnQgaW5saW5lTWF4ID0gMDsKLSAgICBpbnQg
aW5saW5lTWluID0gMDsKKyAgICBmbG9hdCBpbmxpbmVNYXggPSAwOworICAgIGZsb2F0IGlubGlu
ZU1pbiA9IDA7CiAKICAgICBpbnQgY3cgPSBjb250YWluaW5nQmxvY2soKS0+Y29udGVudExvZ2lj
YWxXaWR0aCgpOwogCkBAIC00Njk2LDE1ICs0NzAyLDE1IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNv
bXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAgIC8vIHRoZSB3aWR0aCBvZiB0aGUgbGFz
dCBub24tYnJlYWthYmxlIHJ1biBhbmQgdXNlIHRoYXQgdG8gc3RhcnQgYSBuZXcgbGluZQogICAg
ICAgICAgICAgLy8gKHVubGVzcyB3ZSBlbmQgaW4gd2hpdGVzcGFjZSkuCiAgICAgICAgICAgICBS
ZW5kZXJTdHlsZSogY3N0eWxlID0gY2hpbGQtPnN0eWxlKCk7Ci0gICAgICAgICAgICBpbnQgY2hp
bGRNaW4gPSAwOwotICAgICAgICAgICAgaW50IGNoaWxkTWF4ID0gMDsKKyAgICAgICAgICAgIGZs
b2F0IGNoaWxkTWluID0gMDsKKyAgICAgICAgICAgIGZsb2F0IGNoaWxkTWF4ID0gMDsKIAogICAg
ICAgICAgICAgaWYgKCFjaGlsZC0+aXNUZXh0KCkpIHsKICAgICAgICAgICAgICAgICAvLyBDYXNl
ICgxKSBhbmQgKDIpLiAgSW5saW5lIHJlcGxhY2VkIGFuZCBpbmxpbmUgZmxvdyBlbGVtZW50cy4K
ICAgICAgICAgICAgICAgICBpZiAoY2hpbGQtPmlzUmVuZGVySW5saW5lKCkpIHsKICAgICAgICAg
ICAgICAgICAgICAgLy8gQWRkIGluIHBhZGRpbmcvYm9yZGVyL21hcmdpbiBmcm9tIHRoZSBhcHBy
b3ByaWF0ZSBzaWRlIG9mCiAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBlbGVtZW50LgotICAg
ICAgICAgICAgICAgICAgICBpbnQgYnBtID0gZ2V0Qm9yZGVyUGFkZGluZ01hcmdpbih0b1JlbmRl
cklubGluZShjaGlsZCksIGNoaWxkSXRlcmF0b3IuZW5kT2ZJbmxpbmUpOworICAgICAgICAgICAg
ICAgICAgICBmbG9hdCBicG0gPSBnZXRCb3JkZXJQYWRkaW5nTWFyZ2luKHRvUmVuZGVySW5saW5l
KGNoaWxkKSwgY2hpbGRJdGVyYXRvci5lbmRPZklubGluZSk7CiAgICAgICAgICAgICAgICAgICAg
IGNoaWxkTWluICs9IGJwbTsKICAgICAgICAgICAgICAgICAgICAgY2hpbGRNYXggKz0gYnBtOwog
CkBAIC00NzE0LDcgKzQ3MjAsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJl
ZmVycmVkCiAgICAgICAgICAgICAgICAgICAgIGNoaWxkLT5zZXRQcmVmZXJyZWRMb2dpY2FsV2lk
dGhzRGlydHkoZmFsc2UpOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAg
ICAgICAgIC8vIElubGluZSByZXBsYWNlZCBlbHRzIGFkZCBpbiB0aGVpciBtYXJnaW5zIHRvIHRo
ZWlyIG1pbi9tYXggdmFsdWVzLgotICAgICAgICAgICAgICAgICAgICBpbnQgbWFyZ2lucyA9IDA7
CisgICAgICAgICAgICAgICAgICAgIGZsb2F0IG1hcmdpbnMgPSAwOwogICAgICAgICAgICAgICAg
ICAgICBMZW5ndGggc3RhcnRNYXJnaW4gPSBjc3R5bGUtPm1hcmdpblN0YXJ0KCk7CiAgICAgICAg
ICAgICAgICAgICAgIExlbmd0aCBlbmRNYXJnaW4gPSBjc3R5bGUtPm1hcmdpbkVuZCgpOwogICAg
ICAgICAgICAgICAgICAgICBpZiAoc3RhcnRNYXJnaW4uaXNGaXhlZCgpKQpAQCAtNDc0NCwxMyAr
NDc1MCwxMyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAKICAg
ICAgICAgICAgICAgICBib29sIGNhbkJyZWFrUmVwbGFjZWRFbGVtZW50ID0gIWNoaWxkLT5pc0lt
YWdlKCkgfHwgYWxsb3dJbWFnZXNUb0JyZWFrOwogICAgICAgICAgICAgICAgIGlmICgoY2FuQnJl
YWtSZXBsYWNlZEVsZW1lbnQgJiYgKGF1dG9XcmFwIHx8IG9sZEF1dG9XcmFwKSkgfHwgY2xlYXJQ
cmV2aW91c0Zsb2F0KSB7Ci0gICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAg
ICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2lj
YWxXaWR0aCwgaW5saW5lTWluKTsKICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWluID0gMDsK
ICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBzdXBwb3Nl
ZCB0byBjbGVhciB0aGUgcHJldmlvdXMgZmxvYXQsIHRoZW4gdGVybWluYXRlIG1heHdpZHRoIGFz
IHdlbGwuCiAgICAgICAgICAgICAgICAgaWYgKGNsZWFyUHJldmlvdXNGbG9hdCkgewotICAgICAg
ICAgICAgICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNYXgs
IG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRl
UHJlZmVycmVkV2lkdGgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1heCk7CiAg
ICAgICAgICAgICAgICAgICAgIGlubGluZU1heCA9IDA7CiAgICAgICAgICAgICAgICAgfQogCkBA
IC00NzY4LDEyICs0Nzc0LDEyIEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVm
ZXJyZWQKIAogICAgICAgICAgICAgICAgIGlmICghYXV0b1dyYXAgfHwgIWNhbkJyZWFrUmVwbGFj
ZWRFbGVtZW50KSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNGbG9hdGluZygp
KQotICAgICAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBt
YXgoY2hpbGRNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRo
LCBjaGlsZE1pbik7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAg
ICAgICAgIGlubGluZU1pbiArPSBjaGlsZE1pbjsKICAgICAgICAgICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgICAgICAgICAvLyBOb3cgY2hlY2sgb3VyIGxpbmUuCi0gICAgICAgICAgICAg
ICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGNoaWxkTWluLCBtX21pblBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJl
ZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBjaGlsZE1pbik7CiAKICAgICAgICAg
ICAgICAgICAgICAgLy8gTm93IHN0YXJ0IGEgbmV3IGxpbmUuCiAgICAgICAgICAgICAgICAgICAg
IGlubGluZU1pbiA9IDA7CkBAIC00NzkwLDcgKzQ3OTYsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpj
b21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCogdCA9IHRv
UmVuZGVyVGV4dChjaGlsZCk7CiAKICAgICAgICAgICAgICAgICBpZiAodC0+aXNXb3JkQnJlYWso
KSkgewotICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1h
eChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlu
bGluZU1pbik7CiAgICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiA9IDA7CiAgICAgICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIH0KQEAgLTQ4MDQsOSArNDgxMCw5
IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAg
ICAgICAvLyB0aGVuIHRoZXkgc2hvdWxkbid0IGJlIGNvbnNpZGVyZWQgaW4gdGhlIGJyZWFrYWJs
ZSBjaGFyCiAgICAgICAgICAgICAgICAgLy8gY2hlY2suCiAgICAgICAgICAgICAgICAgYm9vbCBo
YXNCcmVha2FibGVDaGFyLCBoYXNCcmVhazsKLSAgICAgICAgICAgICAgICBpbnQgYmVnaW5NaW4s
IGVuZE1pbjsKKyAgICAgICAgICAgICAgICBmbG9hdCBiZWdpbk1pbiwgZW5kTWluOwogICAgICAg
ICAgICAgICAgIGJvb2wgYmVnaW5XUywgZW5kV1M7Ci0gICAgICAgICAgICAgICAgaW50IGJlZ2lu
TWF4LCBlbmRNYXg7CisgICAgICAgICAgICAgICAgZmxvYXQgYmVnaW5NYXgsIGVuZE1heDsKICAg
ICAgICAgICAgICAgICB0LT50cmltbWVkUHJlZldpZHRocyhpbmxpbmVNYXgsIGJlZ2luTWluLCBi
ZWdpbldTLCBlbmRNaW4sIGVuZFdTLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGhhc0JyZWFrYWJsZUNoYXIsIGhhc0JyZWFrLCBiZWdpbk1heCwgZW5kTWF4LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkTWluLCBjaGlsZE1heCwgc3RyaXBG
cm9udFNwYWNlcyk7CkBAIC00ODE0LDcgKzQ4MjAsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21w
dXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICAgICAgLy8gVGhpcyB0ZXh0IG9iamVjdCB3
aWxsIG5vdCBiZSByZW5kZXJlZCwgYnV0IGl0IG1heSBzdGlsbCBwcm92aWRlIGEgYnJlYWtpbmcg
b3Bwb3J0dW5pdHkuCiAgICAgICAgICAgICAgICAgaWYgKCFoYXNCcmVhayAmJiBjaGlsZE1heCA9
PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChhdXRvV3JhcCAmJiAoYmVnaW5XUyB8fCBl
bmRXUykpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAg
ICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4g
PSAwOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwpAQCAtNDg0NCwxMCArNDg1MCwxMCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5l
UHJlZmVycmVkCiAgICAgICAgICAgICAgICAgICAgIC8vIHdlIHN0YXJ0IGFuZCBlbmQgd2l0aCB3
aGl0ZXNwYWNlLgogICAgICAgICAgICAgICAgICAgICBpZiAoYmVnaW5XUykKICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIEdvIGFoZWFkIGFuZCBlbmQgdGhlIGN1cnJlbnQgbGluZS4KLSAgICAg
ICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGlu
ZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAg
ICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGlu
ZU1pbik7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAg
ICAgaW5saW5lTWluICs9IGJlZ2luTWluOwotICAgICAgICAgICAgICAgICAgICAgICAgbV9taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2lj
YWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aCht
X21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKICAgICAgICAgICAgICAgICAg
ICAgICAgIGNoaWxkTWluIC09IHRpOwogICAgICAgICAgICAgICAgICAgICB9CiAKQEAgLTQ4NTYs
MTggKzQ4NjIsMTggQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAog
ICAgICAgICAgICAgICAgICAgICBpZiAoZW5kV1MpIHsKICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIFdlIGVuZCBpbiB3aGl0ZXNwYWNlLCB3aGljaCBtZWFucyB3ZSBjYW4gZ28gYWhlYWQKICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIGFuZCBlbmQgb3VyIGN1cnJlbnQgbGluZS4KLSAgICAg
ICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGlu
ZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAg
ICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGlu
ZU1pbik7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSAwOwogICAgICAgICAg
ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCk7CisgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKICAgICAgICAgICAgICAgICAgICAgICAg
IGlubGluZU1pbiA9IGVuZE1pbjsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIH0KIAogICAgICAgICAgICAgICAgIGlmIChoYXNCcmVhaykgewogICAgICAgICAgICAgICAg
ICAgICBpbmxpbmVNYXggKz0gYmVnaW5NYXg7Ci0gICAgICAgICAgICAgICAgICAgIG1fbWF4UHJl
ZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1heCwgbV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGgpOwotICAgICAgICAgICAgICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9
IG1heChjaGlsZE1heCwgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAg
ICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwg
aW5saW5lTWF4KTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9t
YXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGNoaWxkTWF4KTsKICAgICAgICAgICAgICAgICAgICAg
aW5saW5lTWF4ID0gZW5kTWF4OwogICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAg
ICAgICAgICBpbmxpbmVNYXggKz0gY2hpbGRNYXg7CkBAIC00ODc3LDggKzQ4ODMsOCBAQCB2b2lk
IFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICBpZiAoY2hp
bGQtPmlzTGlzdE1hcmtlcigpKQogICAgICAgICAgICAgICAgIHN0cmlwRnJvbnRTcGFjZXMgPSB0
cnVlOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2Fs
V2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Ci0gICAg
ICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNYXgsIG1fbWF4
UHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRo
KG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOworICAgICAgICAgICAgdXBk
YXRlUHJlZmVycmVkV2lkdGgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1heCk7
CiAgICAgICAgICAgICBpbmxpbmVNaW4gPSBpbmxpbmVNYXggPSAwOwogICAgICAgICAgICAgc3Ry
aXBGcm9udFNwYWNlcyA9IHRydWU7CiAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlQ2hpbGQgPSAw
OwpAQCAtNDg5MCw4ICs0ODk2LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVBy
ZWZlcnJlZAogICAgIGlmIChzdHlsZSgpLT5jb2xsYXBzZVdoaXRlU3BhY2UoKSkKICAgICAgICAg
c3RyaXBUcmFpbGluZ1NwYWNlKGlubGluZU1heCwgaW5saW5lTWluLCB0cmFpbGluZ1NwYWNlQ2hp
bGQpOwogCi0gICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBt
X21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Ci0gICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lk
dGggPSBtYXgoaW5saW5lTWF4LCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgdXBk
YXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7
CisgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlu
bGluZU1heCk7CiB9CiAKIC8vIFVzZSBhIHZlcnkgbGFyZ2UgdmFsdWUgKGluIGVmZmVjdCBpbmZp
bml0ZSkuCkBAIC01NDU3LDkgKzU0NjMsOSBAQCB2b2lkIFJlbmRlckJsb2NrOjphZGp1c3RGb3JC
b3JkZXJGaXQoaW50CiAgICAgICAgIGlmIChjaGlsZHJlbklubGluZSgpKSB7CiAgICAgICAgICAg
ICBmb3IgKFJvb3RJbmxpbmVCb3gqIGJveCA9IGZpcnN0Um9vdEJveCgpOyBib3g7IGJveCA9IGJv
eC0+bmV4dFJvb3RCb3goKSkgewogICAgICAgICAgICAgICAgIGlmIChib3gtPmZpcnN0Q2hpbGQo
KSkKLSAgICAgICAgICAgICAgICAgICAgbGVmdCA9IG1pbihsZWZ0LCB4ICsgYm94LT5maXJzdENo
aWxkKCktPngoKSk7CisgICAgICAgICAgICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwgeCArIHN0
YXRpY19jYXN0PGludD4oYm94LT5maXJzdENoaWxkKCktPngoKSkpOwogICAgICAgICAgICAgICAg
IGlmIChib3gtPmxhc3RDaGlsZCgpKQotICAgICAgICAgICAgICAgICAgICByaWdodCA9IG1heChy
aWdodCwgeCArIGJveC0+bGFzdENoaWxkKCktPngoKSArIGJveC0+bGFzdENoaWxkKCktPmxvZ2lj
YWxXaWR0aCgpKTsKKyAgICAgICAgICAgICAgICAgICAgcmlnaHQgPSBtYXgocmlnaHQsIHggKyBz
dGF0aWNfY2FzdDxpbnQ+KGNlaWxmKGJveC0+bGFzdENoaWxkKCktPmxvZ2ljYWxSaWdodCgpKSkp
OwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGVsc2UgewpAQCAtNTc1OSw4ICs1
NzY1LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6YWRkRm9jdXNSaW5nUmVjdHMoVmVjdAogCiAgICAg
aWYgKCFoYXNPdmVyZmxvd0NsaXAoKSAmJiAhaGFzQ29udHJvbENsaXAoKSkgewogICAgICAgICBm
b3IgKFJvb3RJbmxpbmVCb3gqIGN1cnIgPSBmaXJzdFJvb3RCb3goKTsgY3VycjsgY3VyciA9IGN1
cnItPm5leHRSb290Qm94KCkpIHsKLSAgICAgICAgICAgIGludCB0b3AgPSBtYXgoY3Vyci0+bGlu
ZVRvcCgpLCBjdXJyLT55KCkpOwotICAgICAgICAgICAgaW50IGJvdHRvbSA9IG1pbihjdXJyLT5s
aW5lQm90dG9tKCksIGN1cnItPnkoKSArIGN1cnItPmxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAg
ICAgICBpbnQgdG9wID0gbWF4KGN1cnItPmxpbmVUb3AoKSwgY3Vyci0+bG9naWNhbFRvcCgpKTsK
KyAgICAgICAgICAgIGludCBib3R0b20gPSBtaW4oY3Vyci0+bGluZUJvdHRvbSgpLCBjdXJyLT5s
b2dpY2FsVG9wKCkgKyBjdXJyLT5sb2dpY2FsSGVpZ2h0KCkpOwogICAgICAgICAgICAgSW50UmVj
dCByZWN0KHR4ICsgY3Vyci0+eCgpLCB0eSArIHRvcCwgY3Vyci0+bG9naWNhbFdpZHRoKCksIGJv
dHRvbSAtIHRvcCk7CiAgICAgICAgICAgICBpZiAoIXJlY3QuaXNFbXB0eSgpKQogICAgICAgICAg
ICAgICAgIHJlY3RzLmFwcGVuZChyZWN0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5oCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC00ODUsNyArNDg1LDcgQEAgcHJpdmF0
ZToKIAogICAgIHZvaWQgc2tpcFRyYWlsaW5nV2hpdGVzcGFjZShJbmxpbmVJdGVyYXRvciYsIGJv
b2wgaXNMaW5lRW1wdHksIGJvb2wgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5KTsKICAgICBpbnQg
c2tpcExlYWRpbmdXaGl0ZXNwYWNlKElubGluZUJpZGlSZXNvbHZlciYsIGJvb2wgZmlyc3RMaW5l
LCBib29sIGlzTGluZUVtcHR5LCBib29sIHByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSwgRmxvYXRp
bmdPYmplY3QqIGxhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUpOwotICAgIHZvaWQgZml0QmVsb3dG
bG9hdHMoaW50IHdpZHRoVG9GaXQsIGJvb2wgZmlyc3RMaW5lLCBpbnQmIGF2YWlsYWJsZVdpZHRo
KTsKKyAgICB2b2lkIGZpdEJlbG93RmxvYXRzKGZsb2F0IHdpZHRoVG9GaXQsIGJvb2wgZmlyc3RM
aW5lLCBmbG9hdCYgYXZhaWxhYmxlV2lkdGgpOwogICAgIElubGluZUl0ZXJhdG9yIGZpbmROZXh0
TGluZUJyZWFrKElubGluZUJpZGlSZXNvbHZlciYsIGJvb2wgZmlyc3RMaW5lLCBib29sJiBpc0xp
bmVFbXB0eSwgYm9vbCYgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBib29sJiBoeXBoZW5hdGVk
LCBFQ2xlYXIqLCBGbG9hdGluZ09iamVjdCogbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSk7CiAg
ICAgUm9vdElubGluZUJveCogY29uc3RydWN0TGluZSh1bnNpZ25lZCBydW5Db3VudCwgQmlkaVJ1
biogZmlyc3RSdW4sIEJpZGlSdW4qIGxhc3RSdW4sIGJvb2wgZmlyc3RMaW5lLCBib29sIGxhc3RM
aW5lLCBSZW5kZXJPYmplY3QqIGVuZE9iamVjdCk7CiAgICAgSW5saW5lRmxvd0JveCogY3JlYXRl
TGluZUJveGVzKFJlbmRlck9iamVjdCosIGJvb2wgZmlyc3RMaW5lKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCShyZXZp
c2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVM
YXlvdXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMTgsOCArMzE4LDggQEAgUm9vdElubGluZUJv
eCogUmVuZGVyQmxvY2s6OmNvbnN0cnVjdExpbgogdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlu
bGluZURpcmVjdGlvblBvc2l0aW9uc0ZvckxpbmUoUm9vdElubGluZUJveCogbGluZUJveCwgYm9v
bCBmaXJzdExpbmUsIEJpZGlSdW4qIGZpcnN0UnVuLCBCaWRpUnVuKiB0cmFpbGluZ1NwYWNlUnVu
LCBib29sIHJlYWNoZWRFbmQsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJiB0ZXh0
Qm94RGF0YU1hcCkKIHsKICAgICAvLyBGaXJzdCBkZXRlcm1pbmUgb3VyIHRvdGFsIGxvZ2ljYWwg
d2lkdGguCi0gICAgaW50IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCA9IGF2YWlsYWJsZUxvZ2ljYWxX
aWR0aEZvckxpbmUobG9naWNhbEhlaWdodCgpLCBmaXJzdExpbmUpOwotICAgIGludCB0b3RhbExv
Z2ljYWxXaWR0aCA9IGxpbmVCb3gtPmdldEZsb3dTcGFjaW5nTG9naWNhbFdpZHRoKCk7CisgICAg
ZmxvYXQgYXZhaWxhYmxlTG9naWNhbFdpZHRoID0gYXZhaWxhYmxlTG9naWNhbFdpZHRoRm9yTGlu
ZShsb2dpY2FsSGVpZ2h0KCksIGZpcnN0TGluZSk7CisgICAgZmxvYXQgdG90YWxMb2dpY2FsV2lk
dGggPSBsaW5lQm94LT5nZXRGbG93U3BhY2luZ0xvZ2ljYWxXaWR0aCgpOwogICAgIGJvb2wgbmVl
ZHNXb3JkU3BhY2luZyA9IGZhbHNlOwogICAgIHVuc2lnbmVkIGV4cGFuc2lvbk9wcG9ydHVuaXR5
Q291bnQgPSAwOwogICAgIGJvb2wgaXNBZnRlckV4cGFuc2lvbiA9IHRydWU7CkBAIC0zODYsNyAr
Mzg2LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgIC8v
IHdlIG5vdyBleGFtaW5lIG91ciB0ZXh0LWFsaWduIHByb3BlcnR5IGluIG9yZGVyIHRvIGRldGVy
bWluZSB3aGVyZSB0byBwb3NpdGlvbiB0aGUKICAgICAvLyBvYmplY3RzIGhvcml6b250YWxseS4g
IFRoZSB0b3RhbCB3aWR0aCBvZiB0aGUgbGluZSBjYW4gYmUgaW5jcmVhc2VkIGlmIHdlIGVuZCB1
cAogICAgIC8vIGp1c3RpZnlpbmcgdGV4dC4KLSAgICBpbnQgbG9naWNhbExlZnQgPSBsb2dpY2Fs
TGVmdE9mZnNldEZvckxpbmUobG9naWNhbEhlaWdodCgpLCBmaXJzdExpbmUpOworICAgIGZsb2F0
IGxvZ2ljYWxMZWZ0ID0gbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKGxvZ2ljYWxIZWlnaHQoKSwg
Zmlyc3RMaW5lKTsKICAgICBzd2l0Y2ggKHRleHRBbGlnbikgewogICAgICAgICBjYXNlIExFRlQ6
CiAgICAgICAgIGNhc2UgV0VCS0lUX0xFRlQ6CkBAIC0zOTQsNyArMzk0LDcgQEAgdm9pZCBSZW5k
ZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgLy8gcGFydGljdWxh
ciB3aXRoIFJUTCBibG9ja3MsIHdpZGUgbGluZXMgc2hvdWxkIHN0aWxsIHNwaWxsIG91dCB0byB0
aGUgbGVmdC4KICAgICAgICAgICAgIGlmIChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9u
KCkpIHsKICAgICAgICAgICAgICAgICBpZiAodG90YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFibGVM
b2dpY2FsV2lkdGggJiYgdHJhaWxpbmdTcGFjZVJ1bikKLSAgICAgICAgICAgICAgICAgICAgdHJh
aWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXgoMCwgdHJhaWxpbmdTcGFj
ZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFpbGFi
bGVMb2dpY2FsV2lkdGgpKTsKKyAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+
bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXgoMC5mLCB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+
bG9naWNhbFdpZHRoKCkgLSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2ljYWxXaWR0
aCkpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAodHJhaWxpbmdT
cGFjZVJ1bikKICAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNl
dExvZ2ljYWxXaWR0aCgwKTsKQEAgLTQxNiw3ICs0MTYsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpj
b21wdXRlSW5saW5lRGlyZWN0aW9uCiAgICAgICAgICAgICAvLyBmb3IgcmlnaHQgdG8gbGVmdCBm
YWxsIHRocm91Z2ggdG8gcmlnaHQgYWxpZ25lZAogICAgICAgICAgICAgaWYgKHN0eWxlKCktPmlz
TGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgewogICAgICAgICAgICAgICAgIGlmICh0b3RhbExvZ2lj
YWxXaWR0aCA+IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAmJiB0cmFpbGluZ1NwYWNlUnVuKQotICAg
ICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRo
KG1heCgwLCB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCkgLSB0b3RhbExv
Z2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOworICAgICAgICAgICAgICAgICAg
ICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgwLmYsIHRyYWls
aW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNhbFdpZHRoICsg
YXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICB9CiAgICAgICAgIGNhc2UgUklHSFQ6CkBAIC00MjcsMTMgKzQyNywxMyBAQCB2b2lkIFJl
bmRlckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uCiAgICAgICAgICAgICBpZiAoc3R5bGUo
KS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKSB7CiAgICAgICAgICAgICAgICAgaWYgKHRyYWls
aW5nU3BhY2VSdW4pIHsKICAgICAgICAgICAgICAgICAgICAgdG90YWxMb2dpY2FsV2lkdGggLT0g
dHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpOwotICAgICAgICAgICAgICAg
ICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKDApOworICAgICAg
ICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKDAu
Zik7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGlmICh0b3RhbExvZ2ljYWxX
aWR0aCA8IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkKICAgICAgICAgICAgICAgICAgICAgbG9naWNh
bExlZnQgKz0gYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGg7CiAgICAg
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGlmICh0b3RhbExvZ2ljYWxXaWR0aCA+
IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAmJiB0cmFpbGluZ1NwYWNlUnVuKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAs
IHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNhbFdp
ZHRoICsgYXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7CisgICAgICAgICAgICAgICAgICAgIHRyYWls
aW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAuZiwgdHJhaWxpbmdTcGFj
ZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFpbGFi
bGVMb2dpY2FsV2lkdGgpKTsKICAgICAgICAgICAgICAgICAgICAgdG90YWxMb2dpY2FsV2lkdGgg
LT0gdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpOwogICAgICAgICAgICAg
ICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdCArPSBhdmFpbGFibGVM
b2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aDsKQEAgLTQ0MSwxNCArNDQxLDE0IEBAIHZv
aWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb24KICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBjYXNlIENFTlRFUjoKICAgICAgICAgY2FzZSBXRUJLSVRfQ0VOVEVSOgotICAg
ICAgICAgICAgaW50IHRyYWlsaW5nU3BhY2VXaWR0aCA9IDA7CisgICAgICAgICAgICBmbG9hdCB0
cmFpbGluZ1NwYWNlV2lkdGggPSAwLmY7CiAgICAgICAgICAgICBpZiAodHJhaWxpbmdTcGFjZVJ1
bikgewogICAgICAgICAgICAgICAgIHRvdGFsTG9naWNhbFdpZHRoIC09IHRyYWlsaW5nU3BhY2VS
dW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKTsKICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNl
V2lkdGggPSBtaW4odHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpLCAoYXZh
aWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGggKyAxKSAvIDIpOwotICAgICAg
ICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAs
IHRyYWlsaW5nU3BhY2VXaWR0aCkpOworICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4t
Pm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAuZiwgdHJhaWxpbmdTcGFjZVdpZHRoKSk7CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVj
dGlvbigpKQotICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IG1heCgoYXZhaWxhYmxlTG9n
aWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpIC8gMiwgMCk7CisgICAgICAgICAgICAgICAg
bG9naWNhbExlZnQgKz0gbWF4KChhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxX
aWR0aCkgLyAyLmYsIDAuZik7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgbG9n
aWNhbExlZnQgKz0gdG90YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFibGVMb2dpY2FsV2lkdGggPyAo
YXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpIDogKGF2YWlsYWJsZUxv
Z2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoKSAvIDIgLSB0cmFpbGluZ1NwYWNlV2lkdGg7
CiAgICAgICAgICAgICBicmVhazsKQEAgLTQ2OCw3ICs0NjgsNyBAQCB2b2lkIFJlbmRlckJsb2Nr
Ojpjb21wdXRlSW5saW5lRGlyZWN0aW9uCiAgICAgICAgICAgICAgICAgLy8gT25seSBqdXN0aWZ5
IHRleHQgaWYgd2hpdGVzcGFjZSBpcyBjb2xsYXBzZWQuCiAgICAgICAgICAgICAgICAgaWYgKHIt
Pm1fb2JqZWN0LT5zdHlsZSgpLT5jb2xsYXBzZVdoaXRlU3BhY2UoKSkgewogICAgICAgICAgICAg
ICAgICAgICBJbmxpbmVUZXh0Qm94KiB0ZXh0Qm94ID0gc3RhdGljX2Nhc3Q8SW5saW5lVGV4dEJv
eCo+KHItPm1fYm94KTsKLSAgICAgICAgICAgICAgICAgICAgaW50IGV4cGFuc2lvbiA9IChhdmFp
bGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkgKiBvcHBvcnR1bml0aWVzSW5S
dW4gLyBleHBhbnNpb25PcHBvcnR1bml0eUNvdW50OworICAgICAgICAgICAgICAgICAgICBmbG9h
dCBleHBhbnNpb24gPSAoYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgp
ICogb3Bwb3J0dW5pdGllc0luUnVuIC8gZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudDsKICAgICAg
ICAgICAgICAgICAgICAgdGV4dEJveC0+c2V0RXhwYW5zaW9uKGV4cGFuc2lvbik7CiAgICAgICAg
ICAgICAgICAgICAgIHRvdGFsTG9naWNhbFdpZHRoICs9IGV4cGFuc2lvbjsKICAgICAgICAgICAg
ICAgICB9CkBAIC0xMzY4LDEzICsxMzY4LDEzIEBAIHN0YXRpYyBib29sIHNob3VsZFNraXBXaGl0
ZXNwYWNlQWZ0ZXJTdGEKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXZvaWQgUmVuZGVyQmxvY2s6
OmZpdEJlbG93RmxvYXRzKGludCB3aWR0aFRvRml0LCBib29sIGZpcnN0TGluZSwgaW50JiBhdmFp
bGFibGVXaWR0aCkKK3ZvaWQgUmVuZGVyQmxvY2s6OmZpdEJlbG93RmxvYXRzKGZsb2F0IHdpZHRo
VG9GaXQsIGJvb2wgZmlyc3RMaW5lLCBmbG9hdCYgYXZhaWxhYmxlV2lkdGgpCiB7CiAgICAgQVNT
RVJUKHdpZHRoVG9GaXQgPiBhdmFpbGFibGVXaWR0aCk7CiAKICAgICBpbnQgZmxvYXRMb2dpY2Fs
Qm90dG9tOwogICAgIGludCBsYXN0RmxvYXRMb2dpY2FsQm90dG9tID0gbG9naWNhbEhlaWdodCgp
OwotICAgIGludCBuZXdMaW5lV2lkdGggPSBhdmFpbGFibGVXaWR0aDsKKyAgICBmbG9hdCBuZXdM
aW5lV2lkdGggPSBhdmFpbGFibGVXaWR0aDsKICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICBm
bG9hdExvZ2ljYWxCb3R0b20gPSBuZXh0RmxvYXRMb2dpY2FsQm90dG9tQmVsb3cobGFzdEZsb2F0
TG9naWNhbEJvdHRvbSk7CiAgICAgICAgIGlmICghZmxvYXRMb2dpY2FsQm90dG9tKQpAQCAtMTM5
MiwxOSArMTM5MiwxOSBAQCB2b2lkIFJlbmRlckJsb2NrOjpmaXRCZWxvd0Zsb2F0cyhpbnQgd2lk
CiAgICAgfQogfQogCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIHRleHRXaWR0aChSZW5kZXJUZXh0
KiB0ZXh0LCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbnN0IEZvbnQmIGZvbnQsIGlu
dCB4UG9zLCBib29sIGlzRml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UpCitzdGF0
aWMgaW5saW5lIGZsb2F0IHRleHRXaWR0aChSZW5kZXJUZXh0KiB0ZXh0LCB1bnNpZ25lZCBmcm9t
LCB1bnNpZ25lZCBsZW4sIGNvbnN0IEZvbnQmIGZvbnQsIGZsb2F0IHhQb3MsIGJvb2wgaXNGaXhl
ZFBpdGNoLCBib29sIGNvbGxhcHNlV2hpdGVTcGFjZSkKIHsKICAgICBpZiAoaXNGaXhlZFBpdGNo
IHx8ICghZnJvbSAmJiBsZW4gPT0gdGV4dC0+dGV4dExlbmd0aCgpKSB8fCB0ZXh0LT5zdHlsZSgp
LT5oYXNUZXh0Q29tYmluZSgpKQogICAgICAgICByZXR1cm4gdGV4dC0+d2lkdGgoZnJvbSwgbGVu
LCBmb250LCB4UG9zKTsKICAgICByZXR1cm4gZm9udC53aWR0aChUZXh0UnVuKHRleHQtPmNoYXJh
Y3RlcnMoKSArIGZyb20sIGxlbiwgIWNvbGxhcHNlV2hpdGVTcGFjZSwgeFBvcykpOwogfQogCi1z
dGF0aWMgdm9pZCB0cnlIeXBoZW5hdGluZyhSZW5kZXJUZXh0KiB0ZXh0LCBjb25zdCBGb250JiBm
b250LCBjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsZUlkZW50aWZpZXIsIGludCBsYXN0U3BhY2Us
IGludCBwb3MsIGludCB4UG9zLCBpbnQgYXZhaWxhYmxlV2lkdGgsIGJvb2wgaXNGaXhlZFBpdGNo
LCBib29sIGNvbGxhcHNlV2hpdGVTcGFjZSwgaW50IGxhc3RTcGFjZVdvcmRTcGFjaW5nLCBJbmxp
bmVJdGVyYXRvciYgbGluZUJyZWFrLCBpbnQgbmV4dEJyZWFrYWJsZSwgYm9vbCYgaHlwaGVuYXRl
ZCkKK3N0YXRpYyB2b2lkIHRyeUh5cGhlbmF0aW5nKFJlbmRlclRleHQqIHRleHQsIGNvbnN0IEZv
bnQmIGZvbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxlSWRlbnRpZmllciwgaW50IGxhc3RT
cGFjZSwgaW50IHBvcywgZmxvYXQgeFBvcywgaW50IGF2YWlsYWJsZVdpZHRoLCBib29sIGlzRml4
ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UsIGludCBsYXN0U3BhY2VXb3JkU3BhY2lu
ZywgSW5saW5lSXRlcmF0b3ImIGxpbmVCcmVhaywgaW50IG5leHRCcmVha2FibGUsIGJvb2wmIGh5
cGhlbmF0ZWQpCiB7CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBoeXBoZW5TdHJpbmcgPSB0ZXh0
LT5zdHlsZSgpLT5oeXBoZW5TdHJpbmcoKTsKICAgICBpbnQgaHlwaGVuV2lkdGggPSBmb250Lndp
ZHRoKFRleHRSdW4oaHlwaGVuU3RyaW5nLmNoYXJhY3RlcnMoKSwgaHlwaGVuU3RyaW5nLmxlbmd0
aCgpKSk7CiAKLSAgICBpbnQgbWF4UHJlZml4V2lkdGggPSBhdmFpbGFibGVXaWR0aCAtIHhQb3Mg
LSBoeXBoZW5XaWR0aCAtIGxhc3RTcGFjZVdvcmRTcGFjaW5nOworICAgIGZsb2F0IG1heFByZWZp
eFdpZHRoID0gYXZhaWxhYmxlV2lkdGggLSB4UG9zIC0gaHlwaGVuV2lkdGggLSBsYXN0U3BhY2VX
b3JkU3BhY2luZzsKICAgICAvLyBJZiB0aGUgbWF4aW11bSB3aWR0aCBhdmFpbGFibGUgZm9yIHRo
ZSBwcmVmaXggYmVmb3JlIHRoZSBoeXBoZW4gaXMgc21hbGwsIHRoZW4gaXQgaXMgdmVyeSB1bmxp
a2VseQogICAgIC8vIHRoYXQgYW4gaHlwaGVuYXRpb24gb3Bwb3J0dW5pdHkgZXhpc3RzLCBzbyBk
byBub3QgYm90aGVyIHRvIGxvb2sgZm9yIGl0LgogICAgIGlmIChtYXhQcmVmaXhXaWR0aCA8PSBm
b250LnBpeGVsU2l6ZSgpICogNSAvIDQpCkBAIC0xNDE5LDcgKzE0MTksNyBAQCBzdGF0aWMgdm9p
ZCB0cnlIeXBoZW5hdGluZyhSZW5kZXJUZXh0KiB0CiAgICAgICAgIHJldHVybjsKIAogI2lmICFB
U1NFUlRfRElTQUJMRUQKLSAgICBpbnQgcHJlZml4V2lkdGggPSBoeXBoZW5XaWR0aCArIHRleHRX
aWR0aCh0ZXh0LCBsYXN0U3BhY2UsIHByZWZpeExlbmd0aCwgZm9udCwgeFBvcywgaXNGaXhlZFBp
dGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UpICsgbGFzdFNwYWNlV29yZFNwYWNpbmc7CisgICAgZmxv
YXQgcHJlZml4V2lkdGggPSBoeXBoZW5XaWR0aCArIHRleHRXaWR0aCh0ZXh0LCBsYXN0U3BhY2Us
IHByZWZpeExlbmd0aCwgZm9udCwgeFBvcywgaXNGaXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3Bh
Y2UpICsgbGFzdFNwYWNlV29yZFNwYWNpbmc7CiAgICAgQVNTRVJUKHhQb3MgKyBwcmVmaXhXaWR0
aCA8PSBhdmFpbGFibGVXaWR0aCk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShpc0ZpeGVkUGl0
Y2gpOwpAQCAtMTQzOSwxMCArMTQzOSwxMCBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9jazo6
ZmluZE5leHRMaW5lCiAgICAgYm9vbCBhcHBsaWVkU3RhcnRXaWR0aCA9IHJlc29sdmVyLnBvc2l0
aW9uKCkucG9zID4gMDsKICAgICBMaW5lTWlkcG9pbnRTdGF0ZSYgbGluZU1pZHBvaW50U3RhdGUg
PSByZXNvbHZlci5taWRwb2ludFN0YXRlKCk7CiAgICAgCi0gICAgaW50IHdpZHRoID0gc2tpcExl
YWRpbmdXaGl0ZXNwYWNlKHJlc29sdmVyLCBmaXJzdExpbmUsIGlzTGluZUVtcHR5LCBwcmV2aW91
c0xpbmVCcm9rZUNsZWFubHksIGxhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUpOworICAgIGZsb2F0
IHdpZHRoID0gc2tpcExlYWRpbmdXaGl0ZXNwYWNlKHJlc29sdmVyLCBmaXJzdExpbmUsIGlzTGlu
ZUVtcHR5LCBwcmV2aW91c0xpbmVCcm9rZUNsZWFubHksIGxhc3RGbG9hdEZyb21QcmV2aW91c0xp
bmUpOwogCi0gICAgaW50IHcgPSAwOwotICAgIGludCB0bXBXID0gMDsKKyAgICBmbG9hdCB3ID0g
MDsKKyAgICBmbG9hdCB0bXBXID0gMDsKIAogICAgIGlmIChyZXNvbHZlci5wb3NpdGlvbigpLmF0
RW5kKCkpCiAgICAgICAgIHJldHVybiByZXNvbHZlci5wb3NpdGlvbigpOwpAQCAtMTQ2MSw4ICsx
NDYxLDggQEAgSW5saW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZQogCiAgICAg
SW5saW5lSXRlcmF0b3IgbEJyZWFrID0gcmVzb2x2ZXIucG9zaXRpb24oKTsKIAotICAgIFJlbmRl
ck9iamVjdCAqbyA9IHJlc29sdmVyLnBvc2l0aW9uKCkub2JqOwotICAgIFJlbmRlck9iamVjdCAq
bGFzdCA9IG87CisgICAgUmVuZGVyT2JqZWN0KiBvID0gcmVzb2x2ZXIucG9zaXRpb24oKS5vYmo7
CisgICAgUmVuZGVyT2JqZWN0KiBsYXN0ID0gbzsKICAgICB1bnNpZ25lZCBwb3MgPSByZXNvbHZl
ci5wb3NpdGlvbigpLnBvczsKICAgICBpbnQgbmV4dEJyZWFrYWJsZSA9IHJlc29sdmVyLnBvc2l0
aW9uKCkubmV4dEJyZWFrYWJsZVBvc2l0aW9uOwogICAgIGJvb2wgYXRTdGFydCA9IHRydWU7CkBA
IC0xNjU5LDIyICsxNjU5LDIyIEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4
dExpbmUKICAgICAgICAgICAgIGJvb2wgY2FuSHlwaGVuYXRlID0gc3R5bGUtPmh5cGhlbnMoKSA9
PSBIeXBoZW5zQXV0byAmJiBXZWJDb3JlOjpjYW5IeXBoZW5hdGUoc3R5bGUtPmh5cGhlbmF0aW9u
TG9jYWxlKCkpOwogCiAgICAgICAgICAgICBpbnQgbGFzdFNwYWNlID0gcG9zOwotICAgICAgICAg
ICAgaW50IHdvcmRTcGFjaW5nID0gby0+c3R5bGUoKS0+d29yZFNwYWNpbmcoKTsKLSAgICAgICAg
ICAgIGludCBsYXN0U3BhY2VXb3JkU3BhY2luZyA9IDA7CisgICAgICAgICAgICBmbG9hdCB3b3Jk
U3BhY2luZyA9IG8tPnN0eWxlKCktPndvcmRTcGFjaW5nKCk7CisgICAgICAgICAgICBmbG9hdCBs
YXN0U3BhY2VXb3JkU3BhY2luZyA9IDA7CiAKICAgICAgICAgICAgIC8vIE5vbi16ZXJvIG9ubHkg
d2hlbiBrZXJuaW5nIGlzIGVuYWJsZWQsIGluIHdoaWNoIGNhc2Ugd2UgbWVhc3VyZSB3b3JkcyB3
aXRoIHRoZWlyIHRyYWlsaW5nCiAgICAgICAgICAgICAvLyBzcGFjZSwgdGhlbiBzdWJ0cmFjdCBp
dHMgd2lkdGguCi0gICAgICAgICAgICBpbnQgd29yZFRyYWlsaW5nU3BhY2VXaWR0aCA9IGYudHlw
ZXNldHRpbmdGZWF0dXJlcygpICYgS2VybmluZyA/IGYud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEp
KSArIHdvcmRTcGFjaW5nIDogMDsKKyAgICAgICAgICAgIGZsb2F0IHdvcmRUcmFpbGluZ1NwYWNl
V2lkdGggPSBmLnR5cGVzZXR0aW5nRmVhdHVyZXMoKSAmIEtlcm5pbmcgPyBmLndpZHRoKFRleHRS
dW4oJnNwYWNlLCAxKSkgKyB3b3JkU3BhY2luZyA6IDA7CiAKLSAgICAgICAgICAgIGludCB3cmFw
VyA9IHRtcFcgKyBpbmxpbmVMb2dpY2FsV2lkdGgobywgIWFwcGxpZWRTdGFydFdpZHRoLCB0cnVl
KTsKLSAgICAgICAgICAgIGludCBjaGFyV2lkdGggPSAwOworICAgICAgICAgICAgZmxvYXQgd3Jh
cFcgPSB0bXBXICsgaW5saW5lTG9naWNhbFdpZHRoKG8sICFhcHBsaWVkU3RhcnRXaWR0aCwgdHJ1
ZSk7CisgICAgICAgICAgICBmbG9hdCBjaGFyV2lkdGggPSAwOwogICAgICAgICAgICAgYm9vbCBi
cmVha05CU1AgPSBhdXRvV3JhcCAmJiBvLT5zdHlsZSgpLT5uYnNwTW9kZSgpID09IFNQQUNFOwog
ICAgICAgICAgICAgLy8gQXV0by13cmFwcGluZyB0ZXh0IHNob3VsZCB3cmFwIGluIHRoZSBtaWRk
bGUgb2YgYSB3b3JkIG9ubHkgaWYgaXQgY291bGQgbm90IHdyYXAgYmVmb3JlIHRoZSB3b3JkLAog
ICAgICAgICAgICAgLy8gd2hpY2ggaXMgb25seSBwb3NzaWJsZSBpZiB0aGUgd29yZCBpcyB0aGUg
Zmlyc3QgdGhpbmcgb24gdGhlIGxpbmUsIHRoYXQgaXMsIGlmIHx3fCBpcyB6ZXJvLgogICAgICAg
ICAgICAgYm9vbCBicmVha1dvcmRzID0gby0+c3R5bGUoKS0+YnJlYWtXb3JkcygpICYmICgoYXV0
b1dyYXAgJiYgIXcpIHx8IGN1cnJXUyA9PSBQUkUpOwogICAgICAgICAgICAgYm9vbCBtaWRXb3Jk
QnJlYWsgPSBmYWxzZTsKICAgICAgICAgICAgIGJvb2wgYnJlYWtBbGwgPSBvLT5zdHlsZSgpLT53
b3JkQnJlYWsoKSA9PSBCcmVha0FsbFdvcmRCcmVhayAmJiBhdXRvV3JhcDsKLSAgICAgICAgICAg
IGludCBoeXBoZW5XaWR0aCA9IDA7CisgICAgICAgICAgICBmbG9hdCBoeXBoZW5XaWR0aCA9IDA7
CiAKICAgICAgICAgICAgIGlmICh0LT5pc1dvcmRCcmVhaygpKSB7CiAgICAgICAgICAgICAgICAg
dyArPSB0bXBXOwpAQCAtMTc0Myw3ICsxNzQzLDcgQEAgSW5saW5lSXRlcmF0b3IgUmVuZGVyQmxv
Y2s6OmZpbmROZXh0TGluZQogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICAgICAgaW50IGFkZGl0aW9uYWxUbXBXOworICAg
ICAgICAgICAgICAgICAgICBmbG9hdCBhZGRpdGlvbmFsVG1wVzsKICAgICAgICAgICAgICAgICAg
ICAgaWYgKHdvcmRUcmFpbGluZ1NwYWNlV2lkdGggJiYgY3VycmVudENoYXJhY3RlcklzU3BhY2Up
CiAgICAgICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsVG1wVyA9IHRleHRXaWR0aCh0LCBs
YXN0U3BhY2UsIHBvcyArIDEgLSBsYXN0U3BhY2UsIGYsIHcgKyB0bXBXLCBpc0ZpeGVkUGl0Y2gs
IGNvbGxhcHNlV2hpdGVTcGFjZSkgLSB3b3JkVHJhaWxpbmdTcGFjZVdpZHRoICsgbGFzdFNwYWNl
V29yZFNwYWNpbmc7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UKQEAgLTE4OTMsNyArMTg5Myw3
IEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4dExpbmUKICAgICAgICAgICAg
IH0KIAogICAgICAgICAgICAgLy8gSU1QT1JUQU5UOiBwb3MgaXMgPiBsZW5ndGggaGVyZSEKLSAg
ICAgICAgICAgIGludCBhZGRpdGlvbmFsVG1wVyA9IGlnbm9yaW5nU3BhY2VzID8gMCA6IHRleHRX
aWR0aCh0LCBsYXN0U3BhY2UsIHBvcyAtIGxhc3RTcGFjZSwgZiwgdyArIHRtcFcsIGlzRml4ZWRQ
aXRjaCwgY29sbGFwc2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOworICAgICAg
ICAgICAgZmxvYXQgYWRkaXRpb25hbFRtcFcgPSBpZ25vcmluZ1NwYWNlcyA/IDAgOiB0ZXh0V2lk
dGgodCwgbGFzdFNwYWNlLCBwb3MgLSBsYXN0U3BhY2UsIGYsIHcgKyB0bXBXLCBpc0ZpeGVkUGl0
Y2gsIGNvbGxhcHNlV2hpdGVTcGFjZSkgKyBsYXN0U3BhY2VXb3JkU3BhY2luZzsKICAgICAgICAg
ICAgIHRtcFcgKz0gYWRkaXRpb25hbFRtcFc7CiAgICAgICAgICAgICB0bXBXICs9IGlubGluZUxv
Z2ljYWxXaWR0aChvLCAhYXBwbGllZFN0YXJ0V2lkdGgsIHRydWUpOwogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMyOSw3
ICsxMzI5LDcgQEAgdm9pZCBSZW5kZXJCb3g6OnBvc2l0aW9uTGluZUJveChJbmxpbmVCbwogICAg
ICAgICBib3gtPnJlbW92ZSgpOwogICAgICAgICBib3gtPmRlc3Ryb3kocmVuZGVyQXJlbmEoKSk7
CiAgICAgfSBlbHNlIGlmIChpc1JlcGxhY2VkKCkpIHsKLSAgICAgICAgc2V0TG9jYXRpb24oYm94
LT54KCksIGJveC0+eSgpKTsKKyAgICAgICAgc2V0TG9jYXRpb24obHJvdW5kZihib3gtPngoKSks
IGxyb3VuZGYoYm94LT55KCkpKTsKICAgICAgICAgbV9pbmxpbmVCb3hXcmFwcGVyID0gYm94Owog
ICAgIH0KIH0KQEAgLTMzNDgsNiArMzM0OCwyNCBAQCBJbnRTaXplIFJlbmRlckJveDo6ZmxpcEZv
cldyaXRpbmdNb2RlKGNvCiAgICAgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdN
b2RlKCkgPyBJbnRTaXplKG9mZnNldC53aWR0aCgpLCBoZWlnaHQoKSAtIG9mZnNldC5oZWlnaHQo
KSkgOiBJbnRTaXplKHdpZHRoKCkgLSBvZmZzZXQud2lkdGgoKSwgb2Zmc2V0LmhlaWdodCgpKTsK
IH0KIAorRmxvYXRQb2ludCBSZW5kZXJCb3g6OmZsaXBGb3JXcml0aW5nTW9kZShjb25zdCBGbG9h
dFBvaW50JiBwb3NpdGlvbikgY29uc3QKK3sKKyAgICBpZiAoIXN0eWxlKCktPmlzRmxpcHBlZEJs
b2Nrc1dyaXRpbmdNb2RlKCkpCisgICAgICAgIHJldHVybiBwb3NpdGlvbjsKKyAgICByZXR1cm4g
c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEZsb2F0UG9pbnQocG9zaXRpb24u
eCgpLCBoZWlnaHQoKSAtIHBvc2l0aW9uLnkoKSkgOiBGbG9hdFBvaW50KHdpZHRoKCkgLSBwb3Np
dGlvbi54KCksIHBvc2l0aW9uLnkoKSk7Cit9CisKK3ZvaWQgUmVuZGVyQm94OjpmbGlwRm9yV3Jp
dGluZ01vZGUoRmxvYXRSZWN0JiByZWN0KSBjb25zdAoreworICAgIGlmICghc3R5bGUoKS0+aXNG
bGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKHN0
eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCisgICAgICAgIHJlY3Quc2V0WShoZWln
aHQoKSAtIHJlY3QubWF4WSgpKTsKKyAgICBlbHNlCisgICAgICAgIHJlY3Quc2V0WCh3aWR0aCgp
IC0gcmVjdC5tYXhYKCkpOworfQorCiBJbnRTaXplIFJlbmRlckJveDo6bG9jYXRpb25PZmZzZXRJ
bmNsdWRpbmdGbGlwcGluZygpIGNvbnN0CiB7CiAgICAgaWYgKCFwYXJlbnQoKSB8fCAhcGFyZW50
KCktPmlzQm94KCkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCShyZXZp
c2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAkod29y
a2luZyBjb3B5KQpAQCAtMzg1LDYgKzM4NSw4IEBAIHB1YmxpYzoKICAgICBJbnRQb2ludCBmbGlw
Rm9yV3JpdGluZ01vZGVJbmNsdWRpbmdDb2x1bW5zKGNvbnN0IEludFBvaW50JikgY29uc3Q7CiAg
ICAgSW50U2l6ZSBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgSW50U2l6ZSYpIGNvbnN0OwogICAg
IHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEludFJlY3QmKSBjb25zdDsKKyAgICBGbG9hdFBvaW50
IGZsaXBGb3JXcml0aW5nTW9kZShjb25zdCBGbG9hdFBvaW50JikgY29uc3Q7CisgICAgdm9pZCBm
bGlwRm9yV3JpdGluZ01vZGUoRmxvYXRSZWN0JikgY29uc3Q7CiAgICAgSW50U2l6ZSBsb2NhdGlv
bk9mZnNldEluY2x1ZGluZ0ZsaXBwaW5nKCkgY29uc3Q7CiAKICAgICBJbnRSZWN0IGxvZ2ljYWxW
aXN1YWxPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihSZW5kZXJTdHlsZSopIGNvbnN0OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuY3BwCShy
ZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5l
VGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAgdm9pZCBSZW5kZXJDb21i
aW5lVGV4dDo6c2V0VGV4dEludGVybmFsKAogICAgIG1fbmVlZHNGb250VXBkYXRlID0gdHJ1ZTsK
IH0KIAotdW5zaWduZWQgUmVuZGVyQ29tYmluZVRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20sIHVu
c2lnbmVkIGxlbmd0aCwgY29uc3QgRm9udCYgZm9udCwgaW50IHhQb3NpdGlvbiwgSGFzaFNldDxj
b25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlw
aE92ZXJmbG93KSBjb25zdAorZmxvYXQgUmVuZGVyQ29tYmluZVRleHQ6OndpZHRoKHVuc2lnbmVk
IGZyb20sIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgRm9udCYgZm9udCwgZmxvYXQgeFBvc2l0aW9u
LCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3Zl
cmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CiB7CiAgICAgaWYgKCFjaGFyYWN0ZXJzKCkpCiAg
ICAgICAgIHJldHVybiAwOwpAQCAtNjMsNyArNjMsNyBAQCB1bnNpZ25lZCBSZW5kZXJDb21iaW5l
VGV4dDo6d2lkdGgodW5zaWduCiAgICAgcmV0dXJuIFJlbmRlclRleHQ6OndpZHRoKGZyb20sIGxl
bmd0aCwgZm9udCwgeFBvc2l0aW9uLCBmYWxsYmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93KTsKIH0K
IAotdm9pZCBSZW5kZXJDb21iaW5lVGV4dDo6YWRqdXN0VGV4dE9yaWdpbihJbnRQb2ludCYgdGV4
dE9yaWdpbiwgY29uc3QgSW50UmVjdCYgYm94UmVjdCkgY29uc3QKK3ZvaWQgUmVuZGVyQ29tYmlu
ZVRleHQ6OmFkanVzdFRleHRPcmlnaW4oRmxvYXRQb2ludCYgdGV4dE9yaWdpbiwgY29uc3QgRmxv
YXRSZWN0JiBib3hSZWN0KSBjb25zdAogewogICAgIGlmIChtX2lzQ29tYmluZWQpCiAgICAgICAg
IHRleHRPcmlnaW4ubW92ZShib3hSZWN0LmhlaWdodCgpIC8gMiAtIGNlaWxmKG1fY29tYmluZWRU
ZXh0V2lkdGgpIC8gMiwgc3R5bGUoKS0+Zm9udCgpLnBpeGVsU2l6ZSgpKTsKQEAgLTk4LDcgKzk4
LDcgQEAgdm9pZCBSZW5kZXJDb21iaW5lVGV4dDo6Y29tYmluZVRleHQoKQogICAgIGJvb2wgc2hv
dWxkVXBkYXRlRm9udCA9IGZhbHNlOwogCiAgICAgZGVzY3JpcHRpb24uc2V0T3JpZW50YXRpb24o
SG9yaXpvbnRhbCk7IC8vIFdlIGFyZSBnb2luZyB0byBkcmF3IGNvbWJpbmVkIHRleHQgaG9yaXpv
bnRhbGx5LgotICAgIG1fY29tYmluZWRUZXh0V2lkdGggPSBzdHlsZSgpLT5mb250KCkuZmxvYXRX
aWR0aChydW4pOworICAgIG1fY29tYmluZWRUZXh0V2lkdGggPSBzdHlsZSgpLT5mb250KCkud2lk
dGgocnVuKTsKICAgICBtX2lzQ29tYmluZWQgPSBtX2NvbWJpbmVkVGV4dFdpZHRoIDw9IGVtV2lk
dGg7CiAKICAgICBpZiAobV9pc0NvbWJpbmVkKQpAQCAtMTEwLDcgKzExMCw3IEBAIHZvaWQgUmVu
ZGVyQ29tYmluZVRleHQ6OmNvbWJpbmVUZXh0KCkKICAgICAgICAgICAgIGRlc2NyaXB0aW9uLnNl
dFdpZHRoVmFyaWFudCh3aWR0aFZhcmlhbnRzW2ldKTsKICAgICAgICAgICAgIEZvbnQgY29tcHJl
c3NlZEZvbnQgPSBGb250KGRlc2NyaXB0aW9uLCBzdHlsZSgpLT5mb250KCkubGV0dGVyU3BhY2lu
ZygpLCBzdHlsZSgpLT5mb250KCkud29yZFNwYWNpbmcoKSk7CiAgICAgICAgICAgICBjb21wcmVz
c2VkRm9udC51cGRhdGUoc3R5bGUoKS0+Zm9udCgpLmZvbnRTZWxlY3RvcigpKTsKLSAgICAgICAg
ICAgIGZsb2F0IHJ1bldpZHRoID0gY29tcHJlc3NlZEZvbnQuZmxvYXRXaWR0aChydW4pOworICAg
ICAgICAgICAgZmxvYXQgcnVuV2lkdGggPSBjb21wcmVzc2VkRm9udC53aWR0aChydW4pOwogICAg
ICAgICAgICAgaWYgKHJ1bldpZHRoIDw9IGVtV2lkdGgpIHsKICAgICAgICAgICAgICAgICBtX2Nv
bWJpbmVkVGV4dFdpZHRoID0gcnVuV2lkdGg7CiAgICAgICAgICAgICAgICAgbV9pc0NvbWJpbmVk
ID0gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5l
VGV4dC5oCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJDb21iaW5lVGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxMyArMzAsMTMgQEAgcHVibGlj
OgogICAgIFJlbmRlckNvbWJpbmVUZXh0KE5vZGUqLCBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+KTsK
IAogICAgIHZvaWQgY29tYmluZVRleHQoKTsKLSAgICB2b2lkIGFkanVzdFRleHRPcmlnaW4oSW50
UG9pbnQmIHRleHRPcmlnaW4sIGNvbnN0IEludFJlY3QmIGJveFJlY3QpIGNvbnN0OworICAgIHZv
aWQgYWRqdXN0VGV4dE9yaWdpbihGbG9hdFBvaW50JiB0ZXh0T3JpZ2luLCBjb25zdCBGbG9hdFJl
Y3QmIGJveFJlY3QpIGNvbnN0OwogICAgIHZvaWQgY2hhcmFjdGVyc1RvUmVuZGVyKGludCBzdGFy
dCwgY29uc3QgVUNoYXIqJiBjaGFyYWN0ZXJzLCBpbnQmIGxlbmd0aCkgY29uc3Q7CiAgICAgYm9v
bCBpc0NvbWJpbmVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0NvbWJpbmVkOyB9Ci0gICAgaW50IGNv
bWJpbmVkVGV4dFdpZHRoKGNvbnN0IEZvbnQmIGZvbnQpIGNvbnN0IHsgcmV0dXJuIGZvbnQuc2l6
ZSgpOyB9CisgICAgZmxvYXQgY29tYmluZWRUZXh0V2lkdGgoY29uc3QgRm9udCYgZm9udCkgY29u
c3QgeyByZXR1cm4gZm9udC5zaXplKCk7IH0KIAogcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHVuc2ln
bmVkIHdpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgRm9udCYsIGlu
dCB4UG9zaXRpb24sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250
cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9hdCB3aWR0
aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnQmLCBmbG9hdCB4UG9z
aXRpb24sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAs
IEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5k
ZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlckNvbWJpbmVUZXh0IjsgfQogICAgIHZpcnR1
YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxl
KiBvbGRTdHlsZSk7CiAgICAgdmlydHVhbCB2b2lkIHNldFRleHRJbnRlcm5hbChQYXNzUmVmUHRy
PFN0cmluZ0ltcGw+KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJl
ZGRlZE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckVtYmVkZGVkT2JqZWN0LmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
OTksOCArMTk5LDcgQEAgYm9vbCBSZW5kZXJFbWJlZGRlZE9iamVjdDo6Z2V0UmVwbGFjZW1lbgog
ICAgIGZvbnQudXBkYXRlKDApOwogICAgIAogICAgIHJ1biA9IFRleHRSdW4obV9yZXBsYWNlbWVu
dFRleHQuY2hhcmFjdGVycygpLCBtX3JlcGxhY2VtZW50VGV4dC5sZW5ndGgoKSk7Ci0gICAgcnVu
LmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7Ci0gICAgdGV4dFdpZHRoID0gZm9udC5mbG9hdFdpZHRo
KHJ1bik7CisgICAgdGV4dFdpZHRoID0gZm9udC53aWR0aChydW4pOwogICAgIAogICAgIHJlcGxh
Y2VtZW50VGV4dFJlY3Quc2V0U2l6ZShGbG9hdFNpemUodGV4dFdpZHRoICsgcmVwbGFjZW1lbnRU
ZXh0Um91bmRlZFJlY3RMZWZ0UmlnaHRUZXh0TWFyZ2luICogMiwgcmVwbGFjZW1lbnRUZXh0Um91
bmRlZFJlY3RIZWlnaHQpKTsKICAgICBmbG9hdCB4ID0gKGNvbnRlbnRSZWN0LnNpemUoKS53aWR0
aCgpIC8gMiAtIHJlcGxhY2VtZW50VGV4dFJlY3Quc2l6ZSgpLndpZHRoKCkgLyAyKSArIGNvbnRl
bnRSZWN0LmxvY2F0aW9uKCkueCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI3Myw3ICsyNzMsNyBAQCB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250
cm9sOjpjb21wdXRlUHJlCiAgICAgICAgIC8vIEZpZ3VyZSBvdXQgaG93IGJpZyB0aGUgZmlsZW5h
bWUgc3BhY2UgbmVlZHMgdG8gYmUgZm9yIGEgZ2l2ZW4gbnVtYmVyIG9mIGNoYXJhY3RlcnMKICAg
ICAgICAgLy8gKHVzaW5nICIwIiBhcyB0aGUgbm9taW5hbCBjaGFyYWN0ZXIpLgogICAgICAgICBj
b25zdCBVQ2hhciBjaCA9ICcwJzsKLSAgICAgICAgZmxvYXQgY2hhcldpZHRoID0gc3R5bGUoKS0+
Zm9udCgpLmZsb2F0V2lkdGgoVGV4dFJ1bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpB
bGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSk7CisgICAgICAgIGZs
b2F0IGNoYXJXaWR0aCA9IHN0eWxlKCktPmZvbnQoKS53aWR0aChUZXh0UnVuKCZjaCwgMSwgZmFs
c2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlKSk7CiAgICAg
ICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gKGludCljZWlsZihjaGFyV2lkdGggKiBk
ZWZhdWx0V2lkdGhOdW1DaGFycyk7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJbWFnZS5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODEsNyArODEsNyBA
QCBzdGF0aWMgY29uc3QgdW5zaWduZWQgc2hvcnQgcGFkZGluZ0hlaWdoCiAKIC8vIEFsdCB0ZXh0
IGlzIHJlc3RyaWN0ZWQgdG8gdGhpcyBtYXhpbXVtIHNpemUsIGluIHBpeGVscy4gIFRoZXNlIGFy
ZQogLy8gc2lnbmVkIGludGVnZXJzIGJlY2F1c2UgdGhleSBhcmUgY29tcGFyZWQgd2l0aCBvdGhl
ciBzaWduZWQgdmFsdWVzLgotc3RhdGljIGNvbnN0IGludCBtYXhBbHRUZXh0V2lkdGggPSAxMDI0
Oworc3RhdGljIGNvbnN0IGZsb2F0IG1heEFsdFRleHRXaWR0aCA9IDEwMjQ7CiBzdGF0aWMgY29u
c3QgaW50IG1heEFsdFRleHRIZWlnaHQgPSAyNTY7CiAKIEludFNpemUgUmVuZGVySW1hZ2U6Omlt
YWdlU2l6ZUZvckVycm9yKENhY2hlZEltYWdlKiBuZXdJbWFnZSkgY29uc3QKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01NTksOCArNTU5LDggQEAgSW50UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzQm91bmRpbmdC
b3goKQogICAgIEFTU0VSVCghZmlyc3RMaW5lQm94KCkgPT0gIWxhc3RMaW5lQm94KCkpOyAgLy8g
RWl0aGVyIGJvdGggYXJlIG51bGwgb3IgYm90aCBleGlzdC4KICAgICBpZiAoZmlyc3RMaW5lQm94
KCkgJiYgbGFzdExpbmVCb3goKSkgewogICAgICAgICAvLyBSZXR1cm4gdGhlIHdpZHRoIG9mIHRo
ZSBtaW5pbWFsIGxlZnQgc2lkZSBhbmQgdGhlIG1heGltYWwgcmlnaHQgc2lkZS4KLSAgICAgICAg
aW50IGxvZ2ljYWxMZWZ0U2lkZSA9IDA7Ci0gICAgICAgIGludCBsb2dpY2FsUmlnaHRTaWRlID0g
MDsKKyAgICAgICAgZmxvYXQgbG9naWNhbExlZnRTaWRlID0gMDsKKyAgICAgICAgZmxvYXQgbG9n
aWNhbFJpZ2h0U2lkZSA9IDA7CiAgICAgICAgIGZvciAoSW5saW5lRmxvd0JveCogY3VyciA9IGZp
cnN0TGluZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dExpbmVCb3goKSkgewogICAgICAg
ICAgICAgaWYgKGN1cnIgPT0gZmlyc3RMaW5lQm94KCkgfHwgY3Vyci0+bG9naWNhbExlZnQoKSA8
IGxvZ2ljYWxMZWZ0U2lkZSkKICAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBjdXJy
LT5sb2dpY2FsTGVmdCgpOwpAQCAtNTcwLDExICs1NzAsMTEgQEAgSW50UmVjdCBSZW5kZXJJbmxp
bmU6OmxpbmVzQm91bmRpbmdCb3goKQogICAgICAgICAKICAgICAgICAgYm9vbCBpc0hvcml6b250
YWwgPSBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpOwogICAgICAgICAKLSAgICAg
ICAgaW50IHggPSBpc0hvcml6b250YWwgPyBsb2dpY2FsTGVmdFNpZGUgOiBmaXJzdExpbmVCb3go
KS0+eCgpOwotICAgICAgICBpbnQgeSA9IGlzSG9yaXpvbnRhbCA/IGZpcnN0TGluZUJveCgpLT55
KCkgOiBsb2dpY2FsTGVmdFNpZGU7Ci0gICAgICAgIGludCB3aWR0aCA9IGlzSG9yaXpvbnRhbCA/
IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0TGluZUJveCgpLT5sb2dp
Y2FsQm90dG9tKCkgLSB4OwotICAgICAgICBpbnQgaGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFz
dExpbmVCb3goKS0+bG9naWNhbEJvdHRvbSgpIC0geSA6IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dp
Y2FsTGVmdFNpZGU7Ci0gICAgICAgIHJlc3VsdCA9IEludFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdo
dCk7CisgICAgICAgIGZsb2F0IHggPSBpc0hvcml6b250YWwgPyBsb2dpY2FsTGVmdFNpZGUgOiBm
aXJzdExpbmVCb3goKS0+eCgpOworICAgICAgICBmbG9hdCB5ID0gaXNIb3Jpem9udGFsID8gZmly
c3RMaW5lQm94KCktPnkoKSA6IGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICAgICAgZmxvYXQgd2lkdGgg
PSBpc0hvcml6b250YWwgPyBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlIDogbGFz
dExpbmVCb3goKS0+bG9naWNhbEJvdHRvbSgpIC0geDsKKyAgICAgICAgZmxvYXQgaGVpZ2h0ID0g
aXNIb3Jpem9udGFsID8gbGFzdExpbmVCb3goKS0+bG9naWNhbEJvdHRvbSgpIC0geSA6IGxvZ2lj
YWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGU7CisgICAgICAgIHJlc3VsdCA9IGVuY2xvc2lu
Z0ludFJlY3QoRmxvYXRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpKTsKICAgICB9CiAKICAgICBy
ZXR1cm4gcmVzdWx0OwpAQCAtNTg2LDIwICs1ODYsMjAgQEAgSW50UmVjdCBSZW5kZXJJbmxpbmU6
OmxpbmVzVmlzdWFsT3ZlcmZsbwogICAgICAgICByZXR1cm4gSW50UmVjdCgpOwogCiAgICAgLy8g
UmV0dXJuIHRoZSB3aWR0aCBvZiB0aGUgbWluaW1hbCBsZWZ0IHNpZGUgYW5kIHRoZSBtYXhpbWFs
IHJpZ2h0IHNpZGUuCi0gICAgaW50IGxvZ2ljYWxMZWZ0U2lkZSA9IG51bWVyaWNfbGltaXRzPGlu
dD46Om1heCgpOwotICAgIGludCBsb2dpY2FsUmlnaHRTaWRlID0gbnVtZXJpY19saW1pdHM8aW50
Pjo6bWluKCk7CisgICAgZmxvYXQgbG9naWNhbExlZnRTaWRlID0gbnVtZXJpY19saW1pdHM8aW50
Pjo6bWF4KCk7CisgICAgZmxvYXQgbG9naWNhbFJpZ2h0U2lkZSA9IG51bWVyaWNfbGltaXRzPGlu
dD46Om1pbigpOwogICAgIGZvciAoSW5saW5lRmxvd0JveCogY3VyciA9IGZpcnN0TGluZUJveCgp
OyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dExpbmVCb3goKSkgewotICAgICAgICBsb2dpY2FsTGVm
dFNpZGUgPSBtaW4obG9naWNhbExlZnRTaWRlLCBjdXJyLT5sb2dpY2FsTGVmdFZpc3VhbE92ZXJm
bG93KCkpOwotICAgICAgICBsb2dpY2FsUmlnaHRTaWRlID0gbWF4KGxvZ2ljYWxSaWdodFNpZGUs
IGN1cnItPmxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KCkpOworICAgICAgICBsb2dpY2FsTGVm
dFNpZGUgPSBtaW4obG9naWNhbExlZnRTaWRlLCBzdGF0aWNfY2FzdDxmbG9hdD4oY3Vyci0+bG9n
aWNhbExlZnRWaXN1YWxPdmVyZmxvdygpKSk7CisgICAgICAgIGxvZ2ljYWxSaWdodFNpZGUgPSBt
YXgobG9naWNhbFJpZ2h0U2lkZSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGN1cnItPmxvZ2ljYWxSaWdo
dFZpc3VhbE92ZXJmbG93KCkpKTsKICAgICB9CiAKICAgICBib29sIGlzSG9yaXpvbnRhbCA9IHN0
eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CiAgICAgICAgIAotICAgIGludCB4ID0g
aXNIb3Jpem9udGFsID8gbG9naWNhbExlZnRTaWRlIDogZmlyc3RMaW5lQm94KCktPm1pblhWaXN1
YWxPdmVyZmxvdygpOwotICAgIGludCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RMaW5lQm94KCkt
Pm1pbllWaXN1YWxPdmVyZmxvdygpIDogbG9naWNhbExlZnRTaWRlOwotICAgIGludCB3aWR0aCA9
IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0
TGluZUJveCgpLT5tYXhYVmlzdWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT5taW5YVmlz
dWFsT3ZlcmZsb3coKTsKLSAgICBpbnQgaGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFzdExpbmVC
b3goKS0+bWF4WVZpc3VhbE92ZXJmbG93KCkgLSBmaXJzdExpbmVCb3goKS0+bWluWVZpc3VhbE92
ZXJmbG93KCkgOiBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlOwotICAgIHJldHVy
biBJbnRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpOworICAgIGZsb2F0IHggPSBpc0hvcml6b250
YWwgPyBsb2dpY2FsTGVmdFNpZGUgOiBmaXJzdExpbmVCb3goKS0+bWluWFZpc3VhbE92ZXJmbG93
KCk7CisgICAgZmxvYXQgeSA9IGlzSG9yaXpvbnRhbCA/IGZpcnN0TGluZUJveCgpLT5taW5ZVmlz
dWFsT3ZlcmZsb3coKSA6IGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICBmbG9hdCB3aWR0aCA9IGlzSG9y
aXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0TGluZUJv
eCgpLT5tYXhYVmlzdWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT5taW5YVmlzdWFsT3Zl
cmZsb3coKTsKKyAgICBmbG9hdCBoZWlnaHQgPSBpc0hvcml6b250YWwgPyBsYXN0TGluZUJveCgp
LT5tYXhZVmlzdWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT5taW5ZVmlzdWFsT3ZlcmZs
b3coKSA6IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGU7CisgICAgcmV0dXJuIGVu
Y2xvc2luZ0ludFJlY3QoRmxvYXRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpKTsKIH0KIAogSW50
UmVjdCBSZW5kZXJJbmxpbmU6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJv
eE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyKQpAQCAtOTYzLDggKzk2Myw4IEBAIHZvaWQg
UmVuZGVySW5saW5lOjphZGRGb2N1c1JpbmdSZWN0cyhWZWMKIHsKICAgICBmb3IgKElubGluZUZs
b3dCb3gqIGN1cnIgPSBmaXJzdExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRMaW5l
Qm94KCkpIHsKICAgICAgICAgUm9vdElubGluZUJveCogcm9vdCA9IGN1cnItPnJvb3QoKTsKLSAg
ICAgICAgaW50IHRvcCA9IG1heChyb290LT5saW5lVG9wKCksIGN1cnItPnkoKSk7Ci0gICAgICAg
IGludCBib3R0b20gPSBtaW4ocm9vdC0+bGluZUJvdHRvbSgpLCBjdXJyLT55KCkgKyBjdXJyLT5s
b2dpY2FsSGVpZ2h0KCkpOworICAgICAgICBpbnQgdG9wID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwg
Y3Vyci0+bG9naWNhbFRvcCgpKTsKKyAgICAgICAgaW50IGJvdHRvbSA9IG1pbihyb290LT5saW5l
Qm90dG9tKCksIGN1cnItPmxvZ2ljYWxCb3R0b20oKSk7CiAgICAgICAgIEludFJlY3QgcmVjdCh0
eCArIGN1cnItPngoKSwgdHkgKyB0b3AsIGN1cnItPmxvZ2ljYWxXaWR0aCgpLCBib3R0b20gLSB0
b3ApOwogICAgICAgICBpZiAoIXJlY3QuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmVjdHMuYXBw
ZW5kKHJlY3QpOwpAQCAtMTAxNSw4ICsxMDE1LDggQEAgdm9pZCBSZW5kZXJJbmxpbmU6OnBhaW50
T3V0bGluZShHcmFwaGljcwogICAgIHJlY3RzLmFwcGVuZChJbnRSZWN0KCkpOwogICAgIGZvciAo
SW5saW5lRmxvd0JveCogY3VyciA9IGZpcnN0TGluZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+
bmV4dExpbmVCb3goKSkgewogICAgICAgICBSb290SW5saW5lQm94KiByb290ID0gY3Vyci0+cm9v
dCgpOwotICAgICAgICBpbnQgdG9wID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+eSgpKTsK
LSAgICAgICAgaW50IGJvdHRvbSA9IG1pbihyb290LT5saW5lQm90dG9tKCksIGN1cnItPnkoKSAr
IGN1cnItPmxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgIGludCB0b3AgPSBtYXgocm9vdC0+bGlu
ZVRvcCgpLCBjdXJyLT5sb2dpY2FsVG9wKCkpOworICAgICAgICBpbnQgYm90dG9tID0gbWluKHJv
b3QtPmxpbmVCb3R0b20oKSwgY3Vyci0+bG9naWNhbEJvdHRvbSgpKTsKICAgICAgICAgcmVjdHMu
YXBwZW5kKEludFJlY3QoY3Vyci0+eCgpLCB0b3AsIGN1cnItPmxvZ2ljYWxXaWR0aCgpLCBib3R0
b20gLSB0b3ApKTsKICAgICB9CiAgICAgcmVjdHMuYXBwZW5kKEludFJlY3QoKSk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCShyZXZpc2lvbiA3ODM3
MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTExLDcgKzExMSw3IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6dXBkYXRlRnJv
bUVsZW1lbnQoKQogICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
aWYgKCF0ZXh0LmlzRW1wdHkoKSkgewotICAgICAgICAgICAgICAgIGZsb2F0IHRleHRXaWR0aCA9
IGl0ZW1Gb250LmZsb2F0V2lkdGgoVGV4dFJ1bih0ZXh0LmltcGwoKSwgZmFsc2UsIDAsIDAsIFRl
eHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNl
KSk7CisgICAgICAgICAgICAgICAgZmxvYXQgdGV4dFdpZHRoID0gaXRlbUZvbnQud2lkdGgoVGV4
dFJ1bih0ZXh0LmltcGwoKSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBh
bnNpb24sIGZhbHNlLCBmYWxzZSkpOwogICAgICAgICAgICAgICAgIHdpZHRoID0gbWF4KHdpZHRo
LCB0ZXh0V2lkdGgpOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0zMzMsNyArMzMzLDcg
QEAgdm9pZCBSZW5kZXJMaXN0Qm94OjpwYWludEl0ZW1Gb3JlZ3JvdW5kKAogCiAgICAgdW5zaWdu
ZWQgbGVuZ3RoID0gaXRlbVRleHQubGVuZ3RoKCk7CiAgICAgY29uc3QgVUNoYXIqIHN0cmluZyA9
IGl0ZW1UZXh0LmNoYXJhY3RlcnMoKTsKLSAgICBUZXh0UnVuIHRleHRSdW4oc3RyaW5nLCBsZW5n
dGgsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCAhaXRlbVN0
eWxlLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIGl0ZW1TdHlsZS0+dW5pY29kZUJpZGkoKSA9
PSBPdmVycmlkZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBUZXh0UnVuIHRleHRSdW4oc3RyaW5nLCBs
ZW5ndGgsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCAhaXRl
bVN0eWxlLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIGl0ZW1TdHlsZS0+dW5pY29kZUJpZGko
KSA9PSBPdmVycmlkZSk7CiAKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRleHQKICAgICBpZiAoaXRl
bVN0eWxlLT52aXNpYmlsaXR5KCkgIT0gSElEREVOKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1
MywxMCArMTUzLDEwIEBAIHZvaWQgUmVuZGVyTWVudUxpc3Q6OnVwZGF0ZU9wdGlvbnNXaWR0aCgK
ICAgICAgICAgICAgIGlmIChSZW5kZXJTdHlsZSogb3B0aW9uU3R5bGUgPSBlbGVtZW50LT5yZW5k
ZXJTdHlsZSgpKQogICAgICAgICAgICAgICAgIG9wdGlvbldpZHRoICs9IG9wdGlvblN0eWxlLT50
ZXh0SW5kZW50KCkuY2FsY01pblZhbHVlKDApOwogICAgICAgICAgICAgaWYgKCF0ZXh0LmlzRW1w
dHkoKSkKLSAgICAgICAgICAgICAgICBvcHRpb25XaWR0aCArPSBzdHlsZSgpLT5mb250KCkuZmxv
YXRXaWR0aCh0ZXh0KTsKKyAgICAgICAgICAgICAgICBvcHRpb25XaWR0aCArPSBzdHlsZSgpLT5m
b250KCkud2lkdGgodGV4dCk7CiAgICAgICAgICAgICBtYXhPcHRpb25XaWR0aCA9IG1heChtYXhP
cHRpb25XaWR0aCwgb3B0aW9uV2lkdGgpOwogICAgICAgICB9IGVsc2UgaWYgKCF0ZXh0LmlzRW1w
dHkoKSkKLSAgICAgICAgICAgIG1heE9wdGlvbldpZHRoID0gbWF4KG1heE9wdGlvbldpZHRoLCBz
dHlsZSgpLT5mb250KCkuZmxvYXRXaWR0aCh0ZXh0KSk7CisgICAgICAgICAgICBtYXhPcHRpb25X
aWR0aCA9IG1heChtYXhPcHRpb25XaWR0aCwgc3R5bGUoKS0+Zm9udCgpLndpZHRoKHRleHQpKTsK
ICAgICB9CiAKICAgICBpbnQgd2lkdGggPSBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKG1heE9wdGlv
bldpZHRoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCShy
ZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTYwLDcgKzU2MCw3IEBAIEludFJlY3QgUmVuZGVyVGV4dDo6
bG9jYWxDYXJldFJlY3QoSW5saW4KICAgICByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3Jp
dGluZ01vZGUoKSA/IEludFJlY3QobGVmdCwgdG9wLCBjYXJldFdpZHRoLCBoZWlnaHQpIDogSW50
UmVjdCh0b3AsIGxlZnQsIGhlaWdodCwgY2FyZXRXaWR0aCk7CiB9CiAKLUFMV0FZU19JTkxJTkUg
aW50IFJlbmRlclRleHQ6OndpZHRoRnJvbUNhY2hlKGNvbnN0IEZvbnQmIGYsIGludCBzdGFydCwg
aW50IGxlbiwgaW50IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJh
Y2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKK0FMV0FZU19JTkxJ
TkUgZmxvYXQgUmVuZGVyVGV4dDo6d2lkdGhGcm9tQ2FjaGUoY29uc3QgRm9udCYgZiwgaW50IHN0
YXJ0LCBpbnQgbGVuLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4q
IGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CiB7CiAg
ICAgaWYgKHN0eWxlKCktPmhhc1RleHRDb21iaW5lKCkpIHsKICAgICAgICAgY29uc3QgUmVuZGVy
Q29tYmluZVRleHQqIGNvbWJpbmVUZXh0ID0gdG9SZW5kZXJDb21iaW5lVGV4dCh0aGlzKTsKQEAg
LTU2OSw5ICs1NjksOSBAQCBBTFdBWVNfSU5MSU5FIGludCBSZW5kZXJUZXh0Ojp3aWR0aEZyb21D
CiAgICAgfQogCiAgICAgaWYgKGYuaXNGaXhlZFBpdGNoKCkgJiYgIWYuaXNTbWFsbENhcHMoKSAm
JiBtX2lzQWxsQVNDSUkpIHsKLSAgICAgICAgaW50IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoID0g
Zi5zcGFjZVdpZHRoKCk7Ci0gICAgICAgIGludCB0YWJXaWR0aCA9IGFsbG93VGFicygpID8gbW9u
b3NwYWNlQ2hhcmFjdGVyV2lkdGggKiA4IDogMDsKLSAgICAgICAgaW50IHcgPSAwOworICAgICAg
ICBmbG9hdCBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aCA9IGYuc3BhY2VXaWR0aCgpOworICAgICAg
ICBmbG9hdCB0YWJXaWR0aCA9IGFsbG93VGFicygpID8gbW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGgg
KiA4IDogMDsKKyAgICAgICAgZmxvYXQgdyA9IDA7CiAgICAgICAgIGJvb2wgaXNTcGFjZTsKICAg
ICAgICAgYm9vbCBwcmV2aW91c0NoYXJXYXNTcGFjZSA9IHRydWU7IC8vIEZJWE1FOiBQcmVzZXJ2
ZXMgaGlzdG9yaWNhbCBiZWhhdmlvciwgYnV0IHNlZW1zIHdyb25nIGZvciBzdGFydCA+IDAuCiAg
ICAgICAgIEFTU0VSVChtX3RleHQpOwpAQCAtNTgzLDcgKzU4Myw3IEBAIEFMV0FZU19JTkxJTkUg
aW50IFJlbmRlclRleHQ6OndpZHRoRnJvbUMKICAgICAgICAgICAgICAgICAgICAgdyArPSBtb25v
c3BhY2VDaGFyYWN0ZXJXaWR0aDsKICAgICAgICAgICAgICAgICAgICAgaXNTcGFjZSA9IHRydWU7
CiAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChjID09ICdcdCcpIHsKLSAgICAgICAgICAgICAg
ICAgICAgdyArPSB0YWJXaWR0aCA/IHRhYldpZHRoIC0gKCh4UG9zICsgdykgJSB0YWJXaWR0aCkg
OiBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aDsKKyAgICAgICAgICAgICAgICAgICAgdyArPSB0YWJX
aWR0aCA/IHRhYldpZHRoIC0gZm1vZGYoeFBvcyArIHcsIHRhYldpZHRoKSA6IG1vbm9zcGFjZUNo
YXJhY3RlcldpZHRoOwogICAgICAgICAgICAgICAgICAgICBpc1NwYWNlID0gdHJ1ZTsKICAgICAg
ICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgaXNTcGFjZSA9IGZhbHNlOwpA
QCAtNjAxLDEyICs2MDEsMTIgQEAgQUxXQVlTX0lOTElORSBpbnQgUmVuZGVyVGV4dDo6d2lkdGhG
cm9tQwogICAgIHJldHVybiBmLndpZHRoKFRleHRSdW4odGV4dCgpLT5jaGFyYWN0ZXJzKCkgKyBz
dGFydCwgbGVuLCBhbGxvd1RhYnMoKSwgeFBvcyksIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZs
b3cpOwogfQogCi12b2lkIFJlbmRlclRleHQ6OnRyaW1tZWRQcmVmV2lkdGhzKGludCBsZWFkV2lk
dGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgYmVnaW5NaW5XLCBi
b29sJiBiZWdpbldTLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGVu
ZE1pblcsIGJvb2wmIGVuZFdTLAordm9pZCBSZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldpZHRocyhm
bG9hdCBsZWFkV2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0
JiBiZWdpbk1pblcsIGJvb2wmIGJlZ2luV1MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZsb2F0JiBlbmRNaW5XLCBib29sJiBlbmRXUywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYm9vbCYgaGFzQnJlYWthYmxlQ2hhciwgYm9vbCYgaGFzQnJlYWssCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgYmVnaW5NYXhXLCBpbnQmIGVu
ZE1heFcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgbWluVywgaW50
JiBtYXhXLCBib29sJiBzdHJpcEZyb250U3BhY2VzKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmbG9hdCYgYmVnaW5NYXhXLCBmbG9hdCYgZW5kTWF4VywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQmIG1pblcsIGZsb2F0JiBtYXhXLCBib29sJiBz
dHJpcEZyb250U3BhY2VzKQogewogICAgIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlID0gc3R5bGUo
KS0+Y29sbGFwc2VXaGl0ZVNwYWNlKCk7CiAgICAgaWYgKCFjb2xsYXBzZVdoaXRlU3BhY2UpCkBA
IC02NDYsNyArNjQ2LDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldpZHRocyhpbnQg
bAogICAgICAgICBjb25zdCBGb250JiBmID0gc3R5bGUoKS0+Zm9udCgpOyAvLyBGSVhNRTogVGhp
cyBpZ25vcmVzIGZpcnN0LWxpbmUuCiAgICAgICAgIGlmIChzdHJpcEZyb250U3BhY2VzKSB7CiAg
ICAgICAgICAgICBjb25zdCBVQ2hhciBzcGFjZSA9ICcgJzsKLSAgICAgICAgICAgIGludCBzcGFj
ZVdpZHRoID0gZi53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpOworICAgICAgICAgICAgZmxvYXQg
c3BhY2VXaWR0aCA9IGYud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKTsKICAgICAgICAgICAgIG1h
eFcgLT0gc3BhY2VXaWR0aDsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBtYXhXICs9IGYu
d29yZFNwYWNpbmcoKTsKQEAgLTY5NSwyMyArNjk1LDIzIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBp
c1NwYWNlQWNjb3JkaW5nVG9TdHkKICAgICByZXR1cm4gYyA9PSAnICcgfHwgKGMgPT0gbm9CcmVh
a1NwYWNlICYmIHN0eWxlLT5uYnNwTW9kZSgpID09IFNQQUNFKTsKIH0KIAotaW50IFJlbmRlclRl
eHQ6Om1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgpIGNvbnN0CitmbG9hdCBSZW5kZXJUZXh0Ojpt
aW5Mb2dpY2FsV2lkdGgoKSBjb25zdAogewogICAgIGlmIChwcmVmZXJyZWRMb2dpY2FsV2lkdGhz
RGlydHkoKSkKLSAgICAgICAgY29uc3RfY2FzdDxSZW5kZXJUZXh0Kj4odGhpcyktPmNvbXB1dGVQ
cmVmZXJyZWRMb2dpY2FsV2lkdGhzKDApOworICAgICAgICBjb25zdF9jYXN0PFJlbmRlclRleHQq
Pih0aGlzKS0+Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoMC5mKTsKICAgICAgICAgCiAg
ICAgcmV0dXJuIG1fbWluV2lkdGg7CiB9CiAKLWludCBSZW5kZXJUZXh0OjptYXhQcmVmZXJyZWRM
b2dpY2FsV2lkdGgoKSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6bWF4TG9naWNhbFdpZHRoKCkg
Y29uc3QKIHsKICAgICBpZiAocHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KCkpCi0gICAgICAg
IGNvbnN0X2Nhc3Q8UmVuZGVyVGV4dCo+KHRoaXMpLT5jb21wdXRlUHJlZmVycmVkTG9naWNhbFdp
ZHRocygwKTsKKyAgICAgICAgY29uc3RfY2FzdDxSZW5kZXJUZXh0Kj4odGhpcyktPmNvbXB1dGVQ
cmVmZXJyZWRMb2dpY2FsV2lkdGhzKDAuZik7CiAgICAgICAgIAogICAgIHJldHVybiBtX21heFdp
ZHRoOwogfQogCi12b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhz
KGludCBsZWFkV2lkdGgpCit2b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2Fs
V2lkdGhzKGZsb2F0IGxlYWRXaWR0aCkKIHsKICAgICBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnRE
YXRhKj4gZmFsbGJhY2tGb250czsKICAgICBHbHlwaE92ZXJmbG93IGdseXBoT3ZlcmZsb3c7CkBA
IC03MjAsNyArNzIwLDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNh
bAogICAgICAgICBtX2tub3duVG9IYXZlTm9PdmVyZmxvd0FuZE5vRmFsbGJhY2tGb250cyA9IHRy
dWU7CiB9CiAKLXZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMo
aW50IGxlYWRXaWR0aCwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxsYmFja0Zv
bnRzLCBHbHlwaE92ZXJmbG93JiBnbHlwaE92ZXJmbG93KQordm9pZCBSZW5kZXJUZXh0Ojpjb21w
dXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhmbG9hdCBsZWFkV2lkdGgsIEhhc2hTZXQ8Y29uc3Qg
U2ltcGxlRm9udERhdGEqPiYgZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyYgZ2x5cGhPdmVy
ZmxvdykKIHsKICAgICBBU1NFUlQobV9oYXNUYWIgfHwgcHJlZmVycmVkTG9naWNhbFdpZHRoc0Rp
cnR5KCkgfHwgIW1fa25vd25Ub0hhdmVOb092ZXJmbG93QW5kTm9GYWxsYmFja0ZvbnRzKTsKIApA
QCAtNzMyLDggKzczMiw4IEBAIHZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2lj
YWwKICAgICBpZiAoaXNCUigpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpbnQgY3Vyck1pbldp
ZHRoID0gMDsKLSAgICBpbnQgY3Vyck1heFdpZHRoID0gMDsKKyAgICBmbG9hdCBjdXJyTWluV2lk
dGggPSAwOworICAgIGZsb2F0IGN1cnJNYXhXaWR0aCA9IDA7CiAgICAgbV9oYXNCcmVha2FibGVD
aGFyID0gZmFsc2U7CiAgICAgbV9oYXNCcmVhayA9IGZhbHNlOwogICAgIG1faGFzVGFiID0gZmFs
c2U7CkBAIC03NDEsNyArNzQxLDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVk
TG9naWNhbAogICAgIG1faGFzRW5kV1MgPSBmYWxzZTsKIAogICAgIGNvbnN0IEZvbnQmIGYgPSBz
dHlsZSgpLT5mb250KCk7IC8vIEZJWE1FOiBUaGlzIGlnbm9yZXMgZmlyc3QtbGluZS4KLSAgICBp
bnQgd29yZFNwYWNpbmcgPSBzdHlsZSgpLT53b3JkU3BhY2luZygpOworICAgIGZsb2F0IHdvcmRT
cGFjaW5nID0gc3R5bGUoKS0+d29yZFNwYWNpbmcoKTsKICAgICBpbnQgbGVuID0gdGV4dExlbmd0
aCgpOwogICAgIGNvbnN0IFVDaGFyKiB0eHQgPSBjaGFyYWN0ZXJzKCk7CiAgICAgYm9vbCBuZWVk
c1dvcmRTcGFjaW5nID0gZmFsc2U7CkBAIC04MjEsNyArODIxLDcgQEAgdm9pZCBSZW5kZXJUZXh0
Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbAogCiAgICAgICAgIGludCB3b3JkTGVuID0gaiAtIGk7
CiAgICAgICAgIGlmICh3b3JkTGVuKSB7Ci0gICAgICAgICAgICBpbnQgdyA9IHdpZHRoRnJvbUNh
Y2hlKGYsIGksIHdvcmRMZW4sIGxlYWRXaWR0aCArIGN1cnJNYXhXaWR0aCwgJmZhbGxiYWNrRm9u
dHMsICZnbHlwaE92ZXJmbG93KTsKKyAgICAgICAgICAgIGZsb2F0IHcgPSB3aWR0aEZyb21DYWNo
ZShmLCBpLCB3b3JkTGVuLCBsZWFkV2lkdGggKyBjdXJyTWF4V2lkdGgsICZmYWxsYmFja0ZvbnRz
LCAmZ2x5cGhPdmVyZmxvdyk7CiAgICAgICAgICAgICBpZiAoZmlyc3RHbHlwaExlZnRPdmVyZmxv
dyA8IDApCiAgICAgICAgICAgICAgICAgZmlyc3RHbHlwaExlZnRPdmVyZmxvdyA9IGdseXBoT3Zl
cmZsb3cubGVmdDsKICAgICAgICAgICAgIGN1cnJNaW5XaWR0aCArPSB3OwpAQCAtOTMzLDE3ICs5
MzMsMTcgQEAgYm9vbCBSZW5kZXJUZXh0Ojpjb250YWluc09ubHlXaGl0ZXNwYWNlKAogICAgIHJl
dHVybiBjdXJyUG9zID49IChmcm9tICsgbGVuKTsKIH0KIAotSW50UG9pbnQgUmVuZGVyVGV4dDo6
Zmlyc3RSdW5PcmlnaW4oKSBjb25zdAorRmxvYXRQb2ludCBSZW5kZXJUZXh0OjpmaXJzdFJ1bk9y
aWdpbigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIEludFBvaW50KGZpcnN0UnVuWCgpLCBmaXJzdFJ1
blkoKSk7CiB9CiAKLWludCBSZW5kZXJUZXh0OjpmaXJzdFJ1blgoKSBjb25zdAorZmxvYXQgUmVu
ZGVyVGV4dDo6Zmlyc3RSdW5YKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9maXJzdFRleHRCb3gg
PyBtX2ZpcnN0VGV4dEJveC0+bV94IDogMDsKIH0KIAotaW50IFJlbmRlclRleHQ6OmZpcnN0UnVu
WSgpIGNvbnN0CitmbG9hdCBSZW5kZXJUZXh0OjpmaXJzdFJ1blkoKSBjb25zdAogewogICAgIHJl
dHVybiBtX2ZpcnN0VGV4dEJveCA/IG1fZmlyc3RUZXh0Qm94LT5tX3kgOiAwOwogfQpAQCAtMTIy
Myw3ICsxMjIzLDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpwb3NpdGlvbkxpbmVCb3goSW5saW5lQgog
ICAgIG1fY29udGFpbnNSZXZlcnNlZFRleHQgfD0gIXMtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24o
KTsKIH0KIAotdW5zaWduZWQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWdu
ZWQgbGVuLCBpbnQgeFBvcywgYm9vbCBmaXJzdExpbmUsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9u
dERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29u
c3QKK2Zsb2F0IFJlbmRlclRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwg
ZmxvYXQgeFBvcywgYm9vbCBmaXJzdExpbmUsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEq
PiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsK
ICAgICBpZiAoZnJvbSA+PSB0ZXh0TGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiAwOwpAQCAtMTIz
NCwxMyArMTIzNCwxMyBAQCB1bnNpZ25lZCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9t
CiAgICAgcmV0dXJuIHdpZHRoKGZyb20sIGxlbiwgc3R5bGUoZmlyc3RMaW5lKS0+Zm9udCgpLCB4
UG9zLCBmYWxsYmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93KTsKIH0KIAotdW5zaWduZWQgUmVuZGVy
VGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmLCBp
bnQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBH
bHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6d2lk
dGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmLCBmbG9hdCB4UG9z
LCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3Zl
cmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGZyb20gKyBsZW4gPD0g
dGV4dExlbmd0aCgpKTsKICAgICBpZiAoIWNoYXJhY3RlcnMoKSkKICAgICAgICAgcmV0dXJuIDA7
CiAKLSAgICBpbnQgdzsKKyAgICBmbG9hdCB3OwogICAgIGlmICgmZiA9PSAmc3R5bGUoKS0+Zm9u
dCgpKSB7CiAgICAgICAgIGlmICghc3R5bGUoKS0+cHJlc2VydmVOZXdsaW5lKCkgJiYgIWZyb20g
JiYgbGVuID09IHRleHRMZW5ndGgoKSkgewogICAgICAgICAgICAgaWYgKGZhbGxiYWNrRm9udHMp
IHsKQEAgLTEyNTIsNyArMTI1Miw3IEBAIHVuc2lnbmVkIFJlbmRlclRleHQ6OndpZHRoKHVuc2ln
bmVkIGZyb20KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgdyA9IG1fbWF4V2lk
dGg7CiAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB3ID0gbWF4UHJlZmVycmVk
TG9naWNhbFdpZHRoKCk7CisgICAgICAgICAgICAgICAgdyA9IG1heExvZ2ljYWxXaWR0aCgpOwog
ICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHcgPSB3aWR0aEZyb21DYWNoZShmLCBmcm9tLCBs
ZW4sIHhQb3MsIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogICAgIH0gZWxzZQpAQCAt
MTI2OCw4ICsxMjY4LDggQEAgSW50UmVjdCBSZW5kZXJUZXh0OjpsaW5lc0JvdW5kaW5nQm94KCkg
YwogICAgIEFTU0VSVCghZmlyc3RUZXh0Qm94KCkgPT0gIWxhc3RUZXh0Qm94KCkpOyAgLy8gRWl0
aGVyIGJvdGggYXJlIG51bGwgb3IgYm90aCBleGlzdC4KICAgICBpZiAoZmlyc3RUZXh0Qm94KCkg
JiYgbGFzdFRleHRCb3goKSkgewogICAgICAgICAvLyBSZXR1cm4gdGhlIHdpZHRoIG9mIHRoZSBt
aW5pbWFsIGxlZnQgc2lkZSBhbmQgdGhlIG1heGltYWwgcmlnaHQgc2lkZS4KLSAgICAgICAgaW50
IGxvZ2ljYWxMZWZ0U2lkZSA9IDA7Ci0gICAgICAgIGludCBsb2dpY2FsUmlnaHRTaWRlID0gMDsK
KyAgICAgICAgZmxvYXQgbG9naWNhbExlZnRTaWRlID0gMDsKKyAgICAgICAgZmxvYXQgbG9naWNh
bFJpZ2h0U2lkZSA9IDA7CiAgICAgICAgIGZvciAoSW5saW5lVGV4dEJveCogY3VyciA9IGZpcnN0
VGV4dEJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dFRleHRCb3goKSkgewogICAgICAgICAg
ICAgaWYgKGN1cnIgPT0gZmlyc3RUZXh0Qm94KCkgfHwgY3Vyci0+bG9naWNhbExlZnQoKSA8IGxv
Z2ljYWxMZWZ0U2lkZSkKICAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBjdXJyLT5s
b2dpY2FsTGVmdCgpOwpAQCAtMTI3OSwxMSArMTI3OSwxMSBAQCBJbnRSZWN0IFJlbmRlclRleHQ6
OmxpbmVzQm91bmRpbmdCb3goKSBjCiAgICAgICAgIAogICAgICAgICBib29sIGlzSG9yaXpvbnRh
bCA9IHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CiAgICAgICAgIAotICAgICAg
ICBpbnQgeCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxMZWZ0U2lkZSA6IGZpcnN0VGV4dEJveCgp
LT54KCk7Ci0gICAgICAgIGludCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RUZXh0Qm94KCktPnko
KSA6IGxvZ2ljYWxMZWZ0U2lkZTsKLSAgICAgICAgaW50IHdpZHRoID0gaXNIb3Jpem9udGFsID8g
bG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZSA6IGxhc3RUZXh0Qm94KCktPmxvZ2lj
YWxCb3R0b20oKSAtIHg7Ci0gICAgICAgIGludCBoZWlnaHQgPSBpc0hvcml6b250YWwgPyBsYXN0
VGV4dEJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB5IDogbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2lj
YWxMZWZ0U2lkZTsKLSAgICAgICAgcmVzdWx0ID0gSW50UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0
KTsKKyAgICAgICAgZmxvYXQgeCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxMZWZ0U2lkZSA6IGZp
cnN0VGV4dEJveCgpLT54KCk7CisgICAgICAgIGZsb2F0IHkgPSBpc0hvcml6b250YWwgPyBmaXJz
dFRleHRCb3goKS0+eSgpIDogbG9naWNhbExlZnRTaWRlOworICAgICAgICBmbG9hdCB3aWR0aCA9
IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0
VGV4dEJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB4OworICAgICAgICBmbG9hdCBoZWlnaHQgPSBp
c0hvcml6b250YWwgPyBsYXN0VGV4dEJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB5IDogbG9naWNh
bFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICAgICAgcmVzdWx0ID0gZW5jbG9zaW5n
SW50UmVjdChGbG9hdFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCkpOwogICAgIH0KIAogICAgIHJl
dHVybiByZXN1bHQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJKHJl
dmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAko
d29ya2luZyBjb3B5KQpAQCAtNzEsMjQgKzcxLDI0IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB0
ZXh0TGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV90ZXh0Lmxlbmd0aCgpOyB9IC8vIG5vbiB2aXJ0
dWFsIGltcGxlbWVudGF0aW9uIG9mIGxlbmd0aCgpCiAgICAgdm9pZCBwb3NpdGlvbkxpbmVCb3go
SW5saW5lQm94Kik7CiAKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVkIGZyb20s
IHVuc2lnbmVkIGxlbiwgY29uc3QgRm9udCYsIGludCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBs
ZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0
OwotICAgIHZpcnR1YWwgdW5zaWduZWQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVu
LCBpbnQgeFBvcywgYm9vbCBmaXJzdExpbmUgPSBmYWxzZSwgSGFzaFNldDxjb25zdCBTaW1wbGVG
b250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsK
KyAgICB2aXJ0dWFsIGZsb2F0IHdpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgY29u
c3QgRm9udCYsIGZsb2F0IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFs
bGJhY2tGb250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgdmlydHVhbCBm
bG9hdCB3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGZsb2F0IHhQb3MsIGJvb2wg
Zmlyc3RMaW5lID0gZmFsc2UsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJh
Y2tGb250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIGlu
dCBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBtYXhQ
cmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25zdDsKKyAgICBmbG9hdCBtaW5Mb2dpY2FsV2lkdGgo
KSBjb25zdDsKKyAgICBmbG9hdCBtYXhMb2dpY2FsV2lkdGgoKSBjb25zdDsKIAotICAgIHZvaWQg
dHJpbW1lZFByZWZXaWR0aHMoaW50IGxlYWRXaWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCYgYmVnaW5NaW5XLCBib29sJiBiZWdpbldTLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50JiBlbmRNaW5XLCBib29sJiBlbmRXUywKKyAgICB2b2lkIHRyaW1tZWRQcmVmV2lk
dGhzKGZsb2F0IGxlYWRXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBi
ZWdpbk1pblcsIGJvb2wmIGJlZ2luV1MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9h
dCYgZW5kTWluVywgYm9vbCYgZW5kV1MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29s
JiBoYXNCcmVha2FibGVDaGFyLCBib29sJiBoYXNCcmVhaywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCYgYmVnaW5NYXhXLCBpbnQmIGVuZE1heFcsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQmIG1pblcsIGludCYgbWF4VywgYm9vbCYgc3RyaXBGcm9udFNwYWNlcyk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYgYmVnaW5NYXhXLCBmbG9hdCYgZW5kTWF4
VywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBtaW5XLCBmbG9hdCYgbWF4Vywg
Ym9vbCYgc3RyaXBGcm9udFNwYWNlcyk7CiAKICAgICB2aXJ0dWFsIEludFJlY3QgbGluZXNCb3Vu
ZGluZ0JveCgpIGNvbnN0OwogCi0gICAgSW50UG9pbnQgZmlyc3RSdW5PcmlnaW4oKSBjb25zdDsK
LSAgICBpbnQgZmlyc3RSdW5YKCkgY29uc3Q7Ci0gICAgaW50IGZpcnN0UnVuWSgpIGNvbnN0Owor
ICAgIEZsb2F0UG9pbnQgZmlyc3RSdW5PcmlnaW4oKSBjb25zdDsKKyAgICBmbG9hdCBmaXJzdFJ1
blgoKSBjb25zdDsKKyAgICBmbG9hdCBmaXJzdFJ1blkoKSBjb25zdDsKIAogICAgIHZvaWQgc2V0
VGV4dChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+LCBib29sIGZvcmNlID0gZmFsc2UpOwogICAgIHZv
aWQgc2V0VGV4dFdpdGhPZmZzZXQoUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiwgdW5zaWduZWQgb2Zm
c2V0LCB1bnNpZ25lZCBsZW4sIGJvb2wgZm9yY2UgPSBmYWxzZSk7CkBAIC0xMjIsNyArMTIyLDcg
QEAgcHVibGljOgogCiAgICAgdm9pZCBjaGVja0NvbnNpc3RlbmN5KCkgY29uc3Q7CiAKLSAgICB2
aXJ0dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRXaWR0aCk7
CisgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxl
YWRXaWR0aCk7CiAgICAgYm9vbCBpc0FsbENvbGxhcHNpYmxlV2hpdGVzcGFjZSgpOwogICAgIAog
cHJvdGVjdGVkOgpAQCAtMTM1LDcgKzEzNSw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIElu
bGluZVRleHRCb3gqIGNyZWF0ZVRleHRCb3goKTsgLy8gU3ViY2xhc3NlZCBieSBTVkcuCiAKIHBy
aXZhdGU6Ci0gICAgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhpbnQgbGVhZFdp
ZHRoLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4mIGZhbGxiYWNrRm9udHMsIEdseXBo
T3ZlcmZsb3cmKTsKKyAgICB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0
IGxlYWRXaWR0aCwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxsYmFja0ZvbnRz
LCBHbHlwaE92ZXJmbG93Jik7CiAKICAgICAvLyBNYWtlIGxlbmd0aCgpIHByaXZhdGUgc28gdGhh
dCBjYWxsZXJzIHRoYXQgaGF2ZSBhIFJlbmRlclRleHQqCiAgICAgLy8gd2lsbCB1c2UgdGhlIG1v
cmUgZWZmaWNpZW50IHRleHRMZW5ndGgoKSBpbnN0ZWFkLCB3aGlsZQpAQCAtMTQ4LDIyICsxNDgs
MjIgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZGVsZXRlVGV4dEJveGVzKCk7CiAgICAgYm9vbCBj
b250YWluc09ubHlXaGl0ZXNwYWNlKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbikgY29uc3Q7
Ci0gICAgaW50IHdpZHRoRnJvbUNhY2hlKGNvbnN0IEZvbnQmLCBpbnQgc3RhcnQsIGludCBsZW4s
IGludCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMs
IEdseXBoT3ZlcmZsb3cqKSBjb25zdDsKKyAgICBmbG9hdCB3aWR0aEZyb21DYWNoZShjb25zdCBG
b250JiwgaW50IHN0YXJ0LCBpbnQgbGVuLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBs
ZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqKSBjb25zdDsKICAgICBi
b29sIGlzQWxsQVNDSUkoKSBjb25zdCB7IHJldHVybiBtX2lzQWxsQVNDSUk7IH0KICAgICB2b2lk
IHVwZGF0ZU5lZWRzVHJhbnNjb2RpbmcoKTsKIAogICAgIGlubGluZSB2b2lkIHRyYW5zZm9ybVRl
eHQoU3RyaW5nJikgY29uc3Q7CiAKLSAgICBpbnQgbV9taW5XaWR0aDsgLy8gaGVyZSB0byBtaW5p
bWl6ZSBwYWRkaW5nIGluIDY0LWJpdC4KKyAgICBmbG9hdCBtX21pbldpZHRoOyAvLyBoZXJlIHRv
IG1pbmltaXplIHBhZGRpbmcgaW4gNjQtYml0LgogCiAgICAgU3RyaW5nIG1fdGV4dDsKIAogICAg
IElubGluZVRleHRCb3gqIG1fZmlyc3RUZXh0Qm94OwogICAgIElubGluZVRleHRCb3gqIG1fbGFz
dFRleHRCb3g7CiAKLSAgICBpbnQgbV9tYXhXaWR0aDsKLSAgICBpbnQgbV9iZWdpbk1pbldpZHRo
OwotICAgIGludCBtX2VuZE1pbldpZHRoOworICAgIGZsb2F0IG1fbWF4V2lkdGg7CisgICAgZmxv
YXQgbV9iZWdpbk1pbldpZHRoOworICAgIGZsb2F0IG1fZW5kTWluV2lkdGg7CiAKICAgICBib29s
IG1faGFzQnJlYWthYmxlQ2hhciA6IDE7IC8vIFdoZXRoZXIgb3Igbm90IHdlIGNhbiBiZSBicm9r
ZW4gaW50byBtdWx0aXBsZSBsaW5lcy4KICAgICBib29sIG1faGFzQnJlYWsgOiAxOyAvLyBXaGV0
aGVyIG9yIG5vdCB3ZSBoYXZlIGEgaGFyZCBicmVhayAoZS5nLiwgPHByZT4gd2l0aCAnXG4nKS4K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNw
cAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDQsNyArNTQ0LDcgQEAgZmxvYXQgUmVu
ZGVyVGV4dENvbnRyb2w6OmdldEF2Z0NoYXJXaWR0aAogICAgICAgICByZXR1cm4gcm91bmRmKHN0
eWxlKCktPmZvbnQoKS5wcmltYXJ5Rm9udCgpLT5hdmdDaGFyV2lkdGgoKSk7CiAKICAgICBjb25z
dCBVQ2hhciBjaCA9ICcwJzsgCi0gICAgcmV0dXJuIHN0eWxlKCktPmZvbnQoKS5mbG9hdFdpZHRo
KFRleHRSdW4oJmNoLCAxLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFu
c2lvbiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkpOworICAgIHJldHVybiBzdHlsZSgpLT5mb250KCku
d2lkdGgoVGV4dFJ1bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5n
RXhwYW5zaW9uLCBmYWxzZSkpOwogfQogCiBmbG9hdCBSZW5kZXJUZXh0Q29udHJvbDo6c2NhbGVF
bVRvVW5pdHMoaW50IHgpIGNvbnN0CkBAIC02MzksNyArNjM5LDcgQEAgdm9pZCBSZW5kZXJUZXh0
Q29udHJvbDo6cGFpbnRQbGFjZWhvbGRlcgogICAgIHBhaW50SW5mby5jb250ZXh0LT5zZXRGaWxs
Q29sb3IocGxhY2Vob2xkZXJTdHlsZS0+dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5
Q29sb3IpLCBwbGFjZWhvbGRlclN0eWxlLT5jb2xvclNwYWNlKCkpOwogICAgIAogICAgIFN0cmlu
ZyBwbGFjZWhvbGRlclRleHQgPSBzdGF0aWNfY2FzdDxIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVu
dCo+KG5vZGUoKSktPnN0cmlwcGVkUGxhY2Vob2xkZXIoKTsKLSAgICBUZXh0UnVuIHRleHRSdW4o
cGxhY2Vob2xkZXJUZXh0LmNoYXJhY3RlcnMoKSwgcGxhY2Vob2xkZXJUZXh0Lmxlbmd0aCgpLCBm
YWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIXBsYWNlaG9sZGVy
U3R5bGUtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgcGxhY2Vob2xkZXJTdHlsZS0+dW5pY29k
ZUJpZGkoKSA9PSBPdmVycmlkZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBUZXh0UnVuIHRleHRSdW4o
cGxhY2Vob2xkZXJUZXh0LmNoYXJhY3RlcnMoKSwgcGxhY2Vob2xkZXJUZXh0Lmxlbmd0aCgpLCBm
YWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIXBsYWNlaG9sZGVy
U3R5bGUtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgcGxhY2Vob2xkZXJTdHlsZS0+dW5pY29k
ZUJpZGkoKSA9PSBPdmVycmlkZSk7CiAgICAgCiAgICAgUmVuZGVyQm94KiB0ZXh0UmVuZGVyZXIg
PSBpbm5lclRleHRFbGVtZW50KCkgPyBpbm5lclRleHRFbGVtZW50KCktPnJlbmRlckJveCgpIDog
MDsKICAgICBpZiAodGV4dFJlbmRlcmVyKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDcwLDExICs0NzAsMTcgQEAgdm9pZCBSZW5kZXJUcmVlQXNUZXh0Ojp3cml0ZVJlbmRlck9iamVj
dAogCiBzdGF0aWMgdm9pZCB3cml0ZVRleHRSdW4oVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRl
clRleHQmIG8sIGNvbnN0IElubGluZVRleHRCb3gmIHJ1bikKIHsKLSAgICAvLyBGSVhNRTogVGFi
bGUgY2VsbCBhZGp1c3RtZW50IGlzIHRlbXBvcmFyeSB1bnRpbCByZXN1bHRzIGNhbiBiZSB1cGRh
dGVkLgorICAgIC8vIEZJWE1FOiBGb3Igbm93IHVzZSBhbiAiZW5jbG9zaW5nSW50UmVjdCIgbW9k
ZWwgZm9yIHgsIHkgYW5kIGxvZ2ljYWxXaWR0aCwgYWx0aG91Z2ggdGhpcyBtYWtlcyBpdCBoYXJk
ZXIKKyAgICAvLyB0byBkZXRlY3QgYW55IGNoYW5nZXMgY2F1c2VkIGJ5IHRoZSBjb252ZXJzaW9u
IHRvIGZsb2F0aW5nIHBvaW50LiA6KAorICAgIGludCB4ID0gcnVuLm1feDsKICAgICBpbnQgeSA9
IHJ1bi5tX3k7CisgICAgaW50IGxvZ2ljYWxXaWR0aCA9IGNlaWxmKHJ1bi5tX3ggKyBydW4ubV9s
b2dpY2FsV2lkdGgpIC0geDsKKworICAgIC8vIEZJWE1FOiBUYWJsZSBjZWxsIGFkanVzdG1lbnQg
aXMgdGVtcG9yYXJ5IHVudGlsIHJlc3VsdHMgY2FuIGJlIHVwZGF0ZWQuCiAgICAgaWYgKG8uY29u
dGFpbmluZ0Jsb2NrKCktPmlzVGFibGVDZWxsKCkpCiAgICAgICAgIHkgLT0gdG9SZW5kZXJUYWJs
ZUNlbGwoby5jb250YWluaW5nQmxvY2soKSktPmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKTsKLSAg
ICB0cyA8PCAidGV4dCBydW4gYXQgKCIgPDwgcnVuLm1feCA8PCAiLCIgPDwgeSA8PCAiKSB3aWR0
aCAiIDw8IHJ1bi5tX2xvZ2ljYWxXaWR0aDsKKyAgICAgICAgCisgICAgdHMgPDwgInRleHQgcnVu
IGF0ICgiIDw8IHggPDwgIiwiIDw8IHkgPDwgIikgd2lkdGggIiA8PCBsb2dpY2FsV2lkdGg7CiAg
ICAgaWYgKCFydW4uaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpIHx8IHJ1bi5tX2Rpck92ZXJyaWRl
KSB7CiAgICAgICAgIHRzIDw8ICghcnVuLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/ICIgUlRM
IiA6ICIgTFRSIik7CiAgICAgICAgIGlmIChydW4ubV9kaXJPdmVycmlkZSkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAJKHJldmlzaW9uIDc4MzcxKQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC05Nyw3ICs5Nyw3IEBAIGJvb2wgUm9vdElubGluZUJveDo6Y2FuQWNjb21tb2RhdGVF
bGxpcHMKICAgICByZXR1cm4gSW5saW5lRmxvd0JveDo6Y2FuQWNjb21tb2RhdGVFbGxpcHNpcyhs
dHIsIGJsb2NrRWRnZSwgZWxsaXBzaXNXaWR0aCk7CiB9CiAKLXZvaWQgUm9vdElubGluZUJveDo6
cGxhY2VFbGxpcHNpcyhjb25zdCBBdG9taWNTdHJpbmcmIGVsbGlwc2lzU3RyLCAgYm9vbCBsdHIs
IGludCBibG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRo
LAordm9pZCBSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzKGNvbnN0IEF0b21pY1N0cmluZyYg
ZWxsaXBzaXNTdHIsICBib29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tS
aWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgSW5saW5lQm94KiBtYXJrdXBCb3gpCiB7CiAgICAgLy8gQ3JlYXRlIGFuIGVsbGlw
c2lzIGJveC4KQEAgLTEyMyw5ICsxMjMsOSBAQCB2b2lkIFJvb3RJbmxpbmVCb3g6OnBsYWNlRWxs
aXBzaXMoY29uc3QgCiAgICAgZWxsaXBzaXNCb3gtPm1feCA9IHBsYWNlRWxsaXBzaXNCb3gobHRy
LCBibG9ja0xlZnRFZGdlLCBibG9ja1JpZ2h0RWRnZSwgZWxsaXBzaXNXaWR0aCwgZm91bmRCb3gp
OwogfQogCi1pbnQgUm9vdElubGluZUJveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgaW50
IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJv
b2wmIGZvdW5kQm94KQorZmxvYXQgUm9vdElubGluZUJveDo6cGxhY2VFbGxpcHNpc0JveChib29s
IGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVkZ2UsIGZsb2F0IGVs
bGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KQogewotICAgIGludCByZXN1bHQgPSBJbmxpbmVG
bG93Qm94OjpwbGFjZUVsbGlwc2lzQm94KGx0ciwgYmxvY2tMZWZ0RWRnZSwgYmxvY2tSaWdodEVk
Z2UsIGVsbGlwc2lzV2lkdGgsIGZvdW5kQm94KTsKKyAgICBmbG9hdCByZXN1bHQgPSBJbmxpbmVG
bG93Qm94OjpwbGFjZUVsbGlwc2lzQm94KGx0ciwgYmxvY2tMZWZ0RWRnZSwgYmxvY2tSaWdodEVk
Z2UsIGVsbGlwc2lzV2lkdGgsIGZvdW5kQm94KTsKICAgICBpZiAocmVzdWx0ID09IC0xKQogICAg
ICAgICByZXN1bHQgPSBsdHIgPyBibG9ja1JpZ2h0RWRnZSAtIGVsbGlwc2lzV2lkdGggOiBibG9j
a0xlZnRFZGdlOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC0xOTgsMTAgKzE5OCwxMCBAQCBib29s
IFJvb3RJbmxpbmVCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpCiAgICAgcmV0dXJuIElubGluZUZs
b3dCb3g6Om5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3VsdCwgeCwgeSwgdHgsIHR5KTsKIH0KIAot
dm9pZCBSb290SW5saW5lQm94OjphZGp1c3RQb3NpdGlvbihpbnQgZHgsIGludCBkeSkKK3ZvaWQg
Um9vdElubGluZUJveDo6YWRqdXN0UG9zaXRpb24oZmxvYXQgZHgsIGZsb2F0IGR5KQogewogICAg
IElubGluZUZsb3dCb3g6OmFkanVzdFBvc2l0aW9uKGR4LCBkeSk7Ci0gICAgaW50IGJsb2NrRGly
ZWN0aW9uRGVsdGEgPSBpc0hvcml6b250YWwoKSA/IGR5IDogZHg7CisgICAgaW50IGJsb2NrRGly
ZWN0aW9uRGVsdGEgPSBpc0hvcml6b250YWwoKSA/IGR5IDogZHg7IC8vIFRoZSBibG9jayBkaXJl
Y3Rpb24gZGVsdGEgd2lsbCBhbHdheXMgYmUgaW50ZWdyYWwuCiAgICAgbV9saW5lVG9wICs9IGJs
b2NrRGlyZWN0aW9uRGVsdGE7CiAgICAgbV9saW5lQm90dG9tICs9IGJsb2NrRGlyZWN0aW9uRGVs
dGE7CiAgICAgbV9ibG9ja0xvZ2ljYWxIZWlnaHQgKz0gYmxvY2tEaXJlY3Rpb25EZWx0YTsKQEAg
LTI4OSw3ICsyODksNyBAQCBpbnQgUm9vdElubGluZUJveDo6YmVmb3JlQW5ub3RhdGlvbnNBZGp1
CiAKICAgICAgICAgLy8gQW5ub3RhdGlvbnMgb3ZlciB0aGlzIGxpbmUgbWF5IHB1c2ggdXMgZnVy
dGhlciBkb3duLgogICAgICAgICBpbnQgaGlnaGVzdEFsbG93ZWRQb3NpdGlvbiA9IHByZXZSb290
Qm94KCkgPyBtaW4ocHJldlJvb3RCb3goKS0+bGluZUJvdHRvbSgpLCBsaW5lVG9wKCkpICsgcmVz
dWx0IDogYmxvY2soKS0+Ym9yZGVyQmVmb3JlKCk7Ci0gICAgICAgIHJlc3VsdCA9ICBjb21wdXRl
T3ZlckFubm90YXRpb25BZGp1c3RtZW50KGhpZ2hlc3RBbGxvd2VkUG9zaXRpb24pOworICAgICAg
ICByZXN1bHQgPSBjb21wdXRlT3ZlckFubm90YXRpb25BZGp1c3RtZW50KGhpZ2hlc3RBbGxvd2Vk
UG9zaXRpb24pOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIEFubm90YXRpb25zIHVuZGVyIHRo
aXMgbGluZSBtYXkgcHVzaCB1cyB1cC4KICAgICAgICAgaWYgKGhhc0Fubm90YXRpb25zQmVmb3Jl
KCkpCkBAIC01NDQsMTQgKzU0NCwxNCBAQCBJbnRSZWN0IFJvb3RJbmxpbmVCb3g6OnBhZGRlZExh
eW91dE92ZXJmCiAgICAgCiAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKSB7CiAgICAgICAgIGlmIChp
c0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCi0gICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cu
c2hpZnRNYXhYRWRnZVRvKG1heChsaW5lTGF5b3V0T3ZlcmZsb3cubWF4WCgpLCBsb2dpY2FsUmln
aHQoKSArIGVuZFBhZGRpbmcpKTsKKyAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlm
dE1heFhFZGdlVG8obWF4KGxpbmVMYXlvdXRPdmVyZmxvdy5tYXhYKCksIHBpeGVsU25hcHBlZExv
Z2ljYWxSaWdodCgpICsgZW5kUGFkZGluZykpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBs
aW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRYRWRnZVRvKG1pbihsaW5lTGF5b3V0T3ZlcmZsb3cueCgp
LCBsb2dpY2FsTGVmdCgpIC0gZW5kUGFkZGluZykpOworICAgICAgICAgICAgbGluZUxheW91dE92
ZXJmbG93LnNoaWZ0WEVkZ2VUbyhtaW4obGluZUxheW91dE92ZXJmbG93LngoKSwgcGl4ZWxTbmFw
cGVkTG9naWNhbExlZnQoKSAtIGVuZFBhZGRpbmcpKTsKICAgICB9IGVsc2UgewogICAgICAgICBp
ZiAoaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQotICAgICAgICAgICAgbGluZUxheW91dE92ZXJm
bG93LnNoaWZ0TWF4WUVkZ2VUbyhtYXgobGluZUxheW91dE92ZXJmbG93Lm1heFkoKSwgbG9naWNh
bFJpZ2h0KCkgKyBlbmRQYWRkaW5nKSk7CisgICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cu
c2hpZnRNYXhZRWRnZVRvKG1heChsaW5lTGF5b3V0T3ZlcmZsb3cubWF4WSgpLCBwaXhlbFNuYXBw
ZWRMb2dpY2FsUmlnaHQoKSArIGVuZFBhZGRpbmcpKTsKICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0WUVkZ2VUbyhtaW4obGluZUxheW91dE92ZXJmbG93
LnkoKSwgbG9naWNhbFJpZ2h0KCkgLSBlbmRQYWRkaW5nKSk7CisgICAgICAgICAgICBsaW5lTGF5
b3V0T3ZlcmZsb3cuc2hpZnRZRWRnZVRvKG1pbihsaW5lTGF5b3V0T3ZlcmZsb3cueSgpLCBwaXhl
bFNuYXBwZWRMb2dpY2FsTGVmdCgpIC0gZW5kUGFkZGluZykpOwogICAgIH0KICAgICAKICAgICBy
ZXR1cm4gbGluZUxheW91dE92ZXJmbG93OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1Jvb3RJbmxpbmVCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
Um9vdElubGluZUJveC5oCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9Sb290SW5saW5lQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVi
bGljOgogICAgIFJvb3RJbmxpbmVCb3gqIG5leHRSb290Qm94KCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8Um9vdElubGluZUJveCo+KG1fbmV4dExpbmVCb3gpOyB9CiAgICAgUm9vdElubGlu
ZUJveCogcHJldlJvb3RCb3goKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxSb290SW5saW5l
Qm94Kj4obV9wcmV2TGluZUJveCk7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlv
bihpbnQgZHgsIGludCBkeSk7CisgICAgdmlydHVhbCB2b2lkIGFkanVzdFBvc2l0aW9uKGZsb2F0
IGR4LCBmbG9hdCBkeSk7CiAKICAgICBpbnQgbGluZVRvcCgpIGNvbnN0IHsgcmV0dXJuIG1fbGlu
ZVRvcDsgfQogICAgIGludCBsaW5lQm90dG9tKCkgY29uc3QgeyByZXR1cm4gbV9saW5lQm90dG9t
OyB9CkBAIC03OCw4ICs3OCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNoaWxkUmVtb3ZlZChJbmxp
bmVCb3gqIGJveCk7CiAKICAgICBib29sIGNhbkFjY29tbW9kYXRlRWxsaXBzaXMoYm9vbCBsdHIs
IGludCBibG9ja0VkZ2UsIGludCBsaW5lQm94RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgpOwotICAg
IHZvaWQgcGxhY2VFbGxpcHNpcyhjb25zdCBBdG9taWNTdHJpbmcmIGVsbGlwc2lzU3RyLCBib29s
IGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lz
V2lkdGgsIElubGluZUJveCogbWFya3VwQm94ID0gMCk7Ci0gICAgdmlydHVhbCBpbnQgcGxhY2VF
bGxpcHNpc0JveChib29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRn
ZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KTsKKyAgICB2b2lkIHBsYWNlRWxs
aXBzaXMoY29uc3QgQXRvbWljU3RyaW5nJiBlbGxpcHNpc1N0ciwgYm9vbCBsdHIsIGZsb2F0IGJs
b2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBJ
bmxpbmVCb3gqIG1hcmt1cEJveCA9IDApOworICAgIHZpcnR1YWwgZmxvYXQgcGxhY2VFbGxpcHNp
c0JveChib29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVkZ2Us
IGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KTsKIAogICAgIEVsbGlwc2lzQm94
KiBlbGxpcHNpc0JveCgpIGNvbnN0OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR0lubGluZVRleHRCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDE1LDkgKzQxNSw2IEBAIFRleHRSdW4gU1ZHSW5saW5lVGV4dEJveDo6Y29uc3Ry
dWN0VGV4dFIKICAgICBydW4uc2V0UmVmZXJlbmNpbmdSZW5kZXJPYmplY3QodGV4dCk7CiAjZW5k
aWYKIAotICAgIC8vIERpc2FibGUgYW55IHdvcmQvY2hhcmFjdGVyIHJvdW5kaW5nLgotICAgIHJ1
bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotCiAgICAgLy8gV2UgaGFuZGxlIGxldHRlciAmIHdv
cmQgc3BhY2luZyBvdXJzZWx2ZXMuCiAgICAgcnVuLmRpc2FibGVTcGFjaW5nKCk7CiAgICAgcmV0
dXJuIHJ1bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJp
Y3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4
dE1ldHJpY3MuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw4ICs0Nyw5IEBA
IFNWR1RleHRNZXRyaWNzOjpTVkdUZXh0TWV0cmljcyhSZW5kZXJTVkcKICAgICBpbnQgbGVuZ3Ro
ID0gMDsKIAogICAgIC8vIENhbGN1bGF0ZSB3aWR0aC9oZWlnaHQgdXNpbmcgdGhlIHNjYWxlZCBm
b250LCBkaXZpZGUgdGhpcyByZXN1bHQgYnkgdGhlIHNjYWxpbmdGYWN0b3IgYWZ0ZXJ3YXJkcy4K
LSAgICBtX3dpZHRoID0gc2NhbGVkRm9udC5mbG9hdFdpZHRoKHJ1biwgZXh0cmFDaGFyc0F2YWls
YWJsZSwgbGVuZ3RoLCBtX2dseXBoLm5hbWUpIC8gc2NhbGluZ0ZhY3RvcjsKKyAgICBtX3dpZHRo
ID0gc2NhbGVkRm9udC53aWR0aChydW4sIGV4dHJhQ2hhcnNBdmFpbGFibGUsIGxlbmd0aCwgbV9n
bHlwaC5uYW1lKSAvIHNjYWxpbmdGYWN0b3I7CiAgICAgbV9oZWlnaHQgPSBzY2FsZWRGb250LmZv
bnRNZXRyaWNzKCkuZmxvYXRIZWlnaHQoKSAvIHNjYWxpbmdGYWN0b3I7CisKICAgICBtX2dseXBo
LnVuaWNvZGVTdHJpbmcgPSBTdHJpbmcocnVuLmNoYXJhY3RlcnMoKSwgbGVuZ3RoKTsKICAgICBt
X2dseXBoLmlzVmFsaWQgPSB0cnVlOwogCkBAIC03OSw5ICs4MCw2IEBAIHN0YXRpYyBUZXh0UnVu
IGNvbnN0cnVjdFRleHRSdW4oUmVuZGVyU1YKICAgICBydW4uc2V0UmVmZXJlbmNpbmdSZW5kZXJP
YmplY3QodGV4dCk7CiAjZW5kaWYKIAotICAgIC8vIERpc2FibGUgYW55IHdvcmQvY2hhcmFjdGVy
IHJvdW5kaW5nLgotICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotCiAgICAgLy8gV2Ug
aGFuZGxlIGxldHRlciAmIHdvcmQgc3BhY2luZyBvdXJzZWx2ZXMuCiAgICAgcnVuLmRpc2FibGVT
cGFjaW5nKCk7CiAgICAgcmV0dXJuIHJ1bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
b250LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udC5jcHAJKHJl
dmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zNjIsNyArMzYyLDcgQEAgc3RhdGljIHZvaWQgZmxvYXRXaWR0aE1pc3NpbmdH
bHlwaENhbGxiYQogICAgIEZvbnQgZm9udChmb250RGVzY3JpcHRpb24sIDAsIDApOyAvLyBzcGFj
aW5nIGhhbmRsZWQgYnkgU1ZHIHRleHQgY29kZS4KICAgICBmb250LnVwZGF0ZShkYXRhLmZvbnQt
PmZvbnRTZWxlY3RvcigpKTsKIAotICAgIGRhdGEubGVuZ3RoICs9IGZvbnQuZmxvYXRXaWR0aChy
dW4pOworICAgIGRhdGEubGVuZ3RoICs9IGZvbnQud2lkdGgocnVuKTsKIH0KIAogCkBAIC01NzMs
OSArNTczLDkgQEAgdm9pZCBGb250OjpkcmF3VGV4dFVzaW5nU1ZHRm9udChHcmFwaGljcwogICAg
ICAgICAgICAgICAgIGZvbnQuZHJhd1RleHQoY29udGV4dCwgZmFsbGJhY2tDaGFyYWN0ZXJSdW4s
IGN1cnJlbnRQb2ludCk7CiAKICAgICAgICAgICAgICAgICBpZiAoaXNWZXJ0aWNhbFRleHQpCi0g
ICAgICAgICAgICAgICAgICAgIGN1cnJlbnRQb2ludC5tb3ZlKDAuMGYsIGZvbnQuZmxvYXRXaWR0
aChmYWxsYmFja0NoYXJhY3RlclJ1bikpOworICAgICAgICAgICAgICAgICAgICBjdXJyZW50UG9p
bnQubW92ZSgwLjBmLCBmb250LndpZHRoKGZhbGxiYWNrQ2hhcmFjdGVyUnVuKSk7CiAgICAgICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBjdXJyZW50UG9pbnQubW92ZShmb250
LmZsb2F0V2lkdGgoZmFsbGJhY2tDaGFyYWN0ZXJSdW4pLCAwLjBmKTsKKyAgICAgICAgICAgICAg
ICAgICAgY3VycmVudFBvaW50Lm1vdmUoZm9udC53aWR0aChmYWxsYmFja0NoYXJhY3RlclJ1biks
IDAuMGYpOwogCiAgICAgICAgICAgICAgICAgZmFsbGJhY2tDaGFyYWN0ZXJJbmRleCsrOwogICAg
ICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXROU1N0cmluZ0V4
dHJhcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdE5TU3Ry
aW5nRXh0cmFzLm1tCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL01pc2Mv
V2ViS2l0TlNTdHJpbmdFeHRyYXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTkxLDcgKzkxLDYgQEAg
LSAodm9pZClfd2ViX2RyYXdBdFBvaW50OihOU1BvaW50KXBvaW50IAogCiAgICAgICAgIEZvbnQg
d2ViQ29yZUZvbnQoRm9udFBsYXRmb3JtRGF0YShmb250LCBbZm9udCBwb2ludFNpemVdKSwgIVtu
c0NvbnRleHQgaXNEcmF3aW5nVG9TY3JlZW5dLCBmb250U21vb3RoaW5nSXNBbGxvd2VkID8gQXV0
b1Ntb290aGluZyA6IEFudGlhbGlhc2VkKTsKICAgICAgICAgVGV4dFJ1biBydW4oYnVmZmVyLmRh
dGEoKSwgbGVuZ3RoKTsKLSAgICAgICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7CiAKICAg
ICAgICAgQ0dGbG9hdCByZWQ7CiAgICAgICAgIENHRmxvYXQgZ3JlZW47CkBAIC0xMzcsOCArMTM2
LDcgQEAgLSAoZmxvYXQpX3dlYl93aWR0aFdpdGhGb250OihOU0ZvbnQgKilmbwogICAgIGlmIChj
YW5Vc2VGYXN0UmVuZGVyZXIoYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKSkgewogICAgICAgICBGb250
IHdlYkNvcmVGb250KEZvbnRQbGF0Zm9ybURhdGEoZm9udCwgW2ZvbnQgcG9pbnRTaXplXSksICFb
W05TR3JhcGhpY3NDb250ZXh0IGN1cnJlbnRDb250ZXh0XSBpc0RyYXdpbmdUb1NjcmVlbl0pOwog
ICAgICAgICBUZXh0UnVuIHJ1bihidWZmZXIuZGF0YSgpLCBsZW5ndGgpOwotICAgICAgICBydW4u
ZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsKLSAgICAgICAgcmV0dXJuIHdlYkNvcmVGb250LmZsb2F0
V2lkdGgocnVuKTsKKyAgICAgICAgcmV0dXJuIHdlYkNvcmVGb250LndpZHRoKHJ1bik7CiAgICAg
fQogCiAgICAgcmV0dXJuIFtzZWxmIHNpemVXaXRoQXR0cmlidXRlczpbTlNEaWN0aW9uYXJ5IGRp
Y3Rpb25hcnlXaXRoT2JqZWN0c0FuZEtleXM6Zm9udCwgTlNGb250QXR0cmlidXRlTmFtZSwgbmls
XV0ud2lkdGg7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82194</attachid>
            <date>2011-02-11 15:29:27 -0800</date>
            <delta_ts>2011-02-13 17:14:06 -0800</delta_ts>
            <desc>Patch that applies (ignore for review, just testing builds)</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>165554</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0zOTksOSArMzk5LDkgQEAgX19a
TjdXZWJDb3JlMTVQcm90ZWN0aW9uU3BhY2VDMUVSS04zV1RGNgogX19aTjdXZWJDb3JlMTVQcm90
ZWN0aW9uU3BhY2VDMUV2CiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE3YWxpZ25DZW50
ZXJBbHdheXNFCiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE5YWxpZ25Ub0VkZ2VJZk5l
ZWRlZEUKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRlRVJLTjNX
VEY2U3RyaW5nRWZSS05TXzRGb250RWIKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRj
ZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0VmUktOU180Rm9udEViCi1fX1pON1dlYkNvcmUx
NVN0cmluZ1RydW5jYXRvcjV3aWR0aEVSS04zV1RGNlN0cmluZ0VSS05TXzRGb250RWIKK19fWk43
V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRjZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0Vm
UktOU180Rm9udEUKK19fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRl
RVJLTjNXVEY2U3RyaW5nRWZSS05TXzRGb250RQorX19aTjdXZWJDb3JlMTVTdHJpbmdUcnVuY2F0
b3I1d2lkdGhFUktOM1dURjZTdHJpbmdFUktOU180Rm9udEUKIF9fWk43V2ViQ29yZTE1VmlzaWJs
ZVBvc2l0aW9uQzFFUE5TXzROb2RlRWlOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3JlMTVWaXNp
YmxlUG9zaXRpb25DMUVSS05TXzhQb3NpdGlvbkVOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3Jl
MTVkZWZhdWx0TGFuZ3VhZ2VFdgpAQCAtMTEyNSw3ICsxMTI1LDcgQEAgX19aTks3V2ViQ29yZTI3
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VCYQogX19aTks3V2ViQ29yZTI3QXV0aGVudGljYXRpb25D
aGFsbGVuZ2VCYXNlMjBwcmV2aW91c0ZhaWx1cmVDb3VudEV2CiBfX1pOSzdXZWJDb3JlMjdBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZUJhc2U1ZXJyb3JFdgogX19aTks3V2ViQ29yZTI3QXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VCYXNlNmlzTnVsbEV2Ci1fX1pOSzdXZWJDb3JlNEZvbnQxMGZsb2F0V2lk
dGhFUktOU183VGV4dFJ1bkVQTjNXVEY3SGFzaFNldElQS05TXzE0U2ltcGxlRm9udERhdGFFTlM0
XzdQdHJIYXNoSVM4X0VFTlM0XzEwSGFzaFRyYWl0c0lTOF9FRUVFUE5TXzEzR2x5cGhPdmVyZmxv
d0UKK19fWk5LN1dlYkNvcmU0Rm9udDV3aWR0aEVSS05TXzdUZXh0UnVuRVBOM1dURjdIYXNoU2V0
SVBLTlNfMTRTaW1wbGVGb250RGF0YUVOUzRfN1B0ckhhc2hJUzhfRUVOUzRfMTBIYXNoVHJhaXRz
SVM4X0VFRUVQTlNfMTNHbHlwaE92ZXJmbG93RQogX19aTks3V2ViQ29yZTRGb250OGRyYXdUZXh0
RVBOU18xNUdyYXBoaWNzQ29udGV4dEVSS05TXzdUZXh0UnVuRVJLTlNfMTBGbG9hdFBvaW50RWlp
CiBfX1pOSzdXZWJDb3JlNEtVUkwxMWNyZWF0ZUNGVVJMRXYKIF9fWk5LN1dlYkNvcmU0S1VSTDEx
aXNMb2NhbEZpbGVFdgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE3NzEsNyArMTc3MSw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjpkcmF3VGV4dEkKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRleHQubGVuZ3RoKCk7
CiAgICAgY29uc3QgVUNoYXIqIHN0cmluZyA9IHRleHQuY2hhcmFjdGVycygpOwotICAgIFRleHRS
dW4gdGV4dFJ1bihzdHJpbmcsIGxlbmd0aCwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJh
aWxpbmdFeHBhbnNpb24sIHJ0bCwgb3ZlcnJpZGUsIGZhbHNlLCBmYWxzZSk7CisgICAgVGV4dFJ1
biB0ZXh0UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFp
bGluZ0V4cGFuc2lvbiwgcnRsLCBvdmVycmlkZSk7CiAKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRl
eHQgYXQgdGhlIGNvcnJlY3QgcG9pbnQuCiAgICAgRmxvYXRQb2ludCBsb2NhdGlvbih4LCB5KTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21p
dW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0Zp
bGVDaG9vc2VyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00NCw5ICs0NCw5IEBAIFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChj
b24KICAgICBlbHNlIGlmIChtX2ZpbGVuYW1lcy5zaXplKCkgPT0gMSkKICAgICAgICAgc3RyaW5n
ID0gcGF0aEdldERpc3BsYXlGaWxlTmFtZShtX2ZpbGVuYW1lc1swXSk7CiAgICAgZWxzZQotICAg
ICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmlsZVVw
bG9hZFRleHQobV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICAg
ICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxv
YWRUZXh0KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250KTsKIAotICAgIHJldHVybiBT
dHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0cmluZywgc3RhdGljX2Nhc3Q8ZmxvYXQ+
KHdpZHRoKSwgZm9udCwgZmFsc2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRl
clRydW5jYXRlKHN0cmluZywgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHdpZHRoKSwgZm9udCk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxNyArMzksNiBAQCB1
c2luZyBuYW1lc3BhY2UgVW5pY29kZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1
aW50OF90IEZvbnQ6OmdSb3VuZGluZ0hhY2tDaGFyYWN0ZXJUYWJsZVsyNTZdID0gewotICAgIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEgLypcdCovLCAxIC8qXG4qLywgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAx
IC8qc3BhY2UqLywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKi0qLywg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKj8q
LywKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAxIC8qbm8tYnJlYWsgc3BhY2UqLywgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAK
LX07Ci0KIEZvbnQ6OkNvZGVQYXRoIEZvbnQ6OnNfY29kZVBhdGggPSBBdXRvOwogCiAvLyA9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtMTc2LDcgKzE2NSw3IEBAIHZvaWQg
Rm9udDo6ZHJhd0VtcGhhc2lzTWFya3MoR3JhcGhpY3NDb24KICAgICAgICAgZHJhd0VtcGhhc2lz
TWFya3NGb3JDb21wbGV4VGV4dChjb250ZXh0LCBydW4sIG1hcmssIHBvaW50LCBmcm9tLCB0byk7
CiB9CiAKLWZsb2F0IEZvbnQ6OmZsb2F0V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0
PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGds
eXBoT3ZlcmZsb3cpIGNvbnN0CitmbG9hdCBGb250Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4s
IEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVy
ZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAg
IGlmIChwcmltYXJ5Rm9udCgpLT5pc1NWR0ZvbnQoKSkKQEAgLTE5NCw3ICsxODMsNyBAQCBmbG9h
dCBGb250OjpmbG9hdFdpZHRoKGNvbnN0IFRleHRSdW4mIHJ1CiAgICAgcmV0dXJuIGZsb2F0V2lk
dGhGb3JDb21wbGV4VGV4dChydW4sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQog
Ci1mbG9hdCBGb250OjpmbG9hdFdpZHRoKGNvbnN0IFRleHRSdW4mIHJ1biwgaW50IGV4dHJhQ2hh
cnNBdmFpbGFibGUsIGludCYgY2hhcnNDb25zdW1lZCwgU3RyaW5nJiBnbHlwaE5hbWUpIGNvbnN0
CitmbG9hdCBGb250Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIGludCBleHRyYUNoYXJzQXZh
aWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQsIFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdAogewog
I2lmICFFTkFCTEUoU1ZHX0ZPTlRTKQogICAgIFVOVVNFRF9QQVJBTShleHRyYUNoYXJzQXZhaWxh
YmxlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHJldmlz
aW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCSh3
b3JraW5nIGNvcHkpCkBAIC05NCw5ICs5NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRyYXdUZXh0
KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50JiwgaW50
IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7CiAgICAgdm9pZCBkcmF3RW1waGFzaXNNYXJr
cyhHcmFwaGljc0NvbnRleHQqLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgQXRvbWljU3RyaW5nJiBt
YXJrLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7
CiAKLSAgICBpbnQgd2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IFNpbXBs
ZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJm
bG93ID0gMCkgY29uc3QgeyByZXR1cm4gbHJvdW5kZihmbG9hdFdpZHRoKHJ1biwgZmFsbGJhY2tG
b250cywgZ2x5cGhPdmVyZmxvdykpOyB9Ci0gICAgZmxvYXQgZmxvYXRXaWR0aChjb25zdCBUZXh0
UnVuJiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwg
R2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdyA9IDApIGNvbnN0OwotICAgIGZsb2F0IGZsb2F0
V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBpbnQgZXh0cmFDaGFyc0F2YWlsYWJsZSwgaW50JiBj
aGFyc0NvbnN1bWVkLCBTdHJpbmcmIGdseXBoTmFtZSkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgo
Y29uc3QgVGV4dFJ1biYsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tG
b250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgoY29u
c3QgVGV4dFJ1biYsIGludCBleHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQs
IFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdDsKIAogICAgIGludCBvZmZzZXRGb3JQb3NpdGlvbihj
b25zdCBUZXh0UnVuJiwgZmxvYXQgcG9zaXRpb24sIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMp
IGNvbnN0OwogICAgIEZsb2F0UmVjdCBzZWxlY3Rpb25SZWN0Rm9yVGV4dChjb25zdCBUZXh0UnVu
JiwgY29uc3QgRmxvYXRQb2ludCYsIGludCBoLCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKSBj
b25zdDsKQEAgLTEyOSw4ICsxMjgsOCBAQCBwdWJsaWM6CiAKICAgICAvLyBNZXRyaWNzIHRoYXQg
d2UgcXVlcnkgdGhlIEZvbnRGYWxsYmFja0xpc3QgZm9yLgogICAgIGNvbnN0IEZvbnRNZXRyaWNz
JiBmb250TWV0cmljcygpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmZvbnRNZXRyaWNz
KCk7IH0KLSAgICBpbnQgc3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIChpbnQpY2VpbGYocHJp
bWFyeUZvbnQoKS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmcpOyB9Ci0g
ICAgZmxvYXQgdGFiV2lkdGgoY29uc3QgU2ltcGxlRm9udERhdGEmIGZvbnREYXRhKSBjb25zdCB7
IHJldHVybiA4ICogY2VpbGYoZm9udERhdGEuYWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBsZXR0ZXJT
cGFjaW5nKCkpOyB9CisgICAgaW50IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBwcmltYXJ5
Rm9udCgpLT5zcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmc7IH0KKyAgICBmbG9hdCB0YWJX
aWR0aChjb25zdCBTaW1wbGVGb250RGF0YSYgZm9udERhdGEpIGNvbnN0IHsgcmV0dXJuIDggKiBm
b250RGF0YS5zcGFjZVdpZHRoKCkgKyBsZXR0ZXJTcGFjaW5nKCk7IH0KICAgICBpbnQgZW1waGFz
aXNNYXJrQXNjZW50KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNp
c01hcmtEZXNjZW50KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNp
c01hcmtIZWlnaHQoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CkBAIC0yMDEsMTIgKzIwMCw2
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgQ29kZVBhdGggY29kZVBhdGgoKTsKICAgICBzdGF0aWMg
Q29kZVBhdGggc19jb2RlUGF0aDsKIAotICAgIHN0YXRpYyBjb25zdCB1aW50OF90IGdSb3VuZGlu
Z0hhY2tDaGFyYWN0ZXJUYWJsZVsyNTZdOwotICAgIHN0YXRpYyBib29sIGlzUm91bmRpbmdIYWNr
Q2hhcmFjdGVyKFVDaGFyMzIgYykKLSAgICB7Ci0gICAgICAgIHJldHVybiAoKChjICYgfjB4RkYp
ID09IDAgJiYgZ1JvdW5kaW5nSGFja0NoYXJhY3RlclRhYmxlW2NdKSk7Ci0gICAgfQotCiAgICAg
Rm9udFNlbGVjdG9yKiBmb250U2VsZWN0b3IoKSBjb25zdDsKICAgICBzdGF0aWMgYm9vbCB0cmVh
dEFzU3BhY2UoVUNoYXIgYykgeyByZXR1cm4gYyA9PSAnICcgfHwgYyA9PSAnXHQnIHx8IGMgPT0g
J1xuJyB8fCBjID09IG5vQnJlYWtTcGFjZTsgfQogICAgIHN0YXRpYyBib29sIHRyZWF0QXNaZXJv
V2lkdGhTcGFjZShVQ2hhciBjKSB7IHJldHVybiBjIDwgMHgyMCB8fCAoYyA+PSAweDdGICYmIGMg
PCAweEEwKSB8fCBjID09IHNvZnRIeXBoZW4gfHwgKGMgPj0gMHgyMDBjICYmIGMgPD0gMHgyMDBm
KSB8fCAoYyA+PSAweDIwMmEgJiYgYyA8PSAweDIwMmUpIHx8IGMgPT0gb2JqZWN0UmVwbGFjZW1l
bnRDaGFyYWN0ZXI7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRGYXN0UGF0aC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udEZhc3RQYXRoLmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
OTcsOSArMjk3LDggQEAgZmxvYXQgRm9udDo6Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JTaW1wbAog
ICAgIGZsb2F0IGFmdGVyV2lkdGggPSBpdC5tX3J1bldpZHRoU29GYXI7CiAKICAgICBpZiAocnVu
LnJ0bCgpKSB7Ci0gICAgICAgIGZsb2F0IGZpbmFsUm91bmRpbmdXaWR0aCA9IGl0Lm1fZmluYWxS
b3VuZGluZ1dpZHRoOwogICAgICAgICBpdC5hZHZhbmNlKHJ1bi5sZW5ndGgoKSk7Ci0gICAgICAg
IGluaXRpYWxBZHZhbmNlID0gZmluYWxSb3VuZGluZ1dpZHRoICsgaXQubV9ydW5XaWR0aFNvRmFy
IC0gYWZ0ZXJXaWR0aDsKKyAgICAgICAgaW5pdGlhbEFkdmFuY2UgPSBpdC5tX3J1bldpZHRoU29G
YXIgLSBhZnRlcldpZHRoOwogICAgIH0gZWxzZQogICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGJl
Zm9yZVdpZHRoOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzc1LDcgKzM3NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3SW1hZ2UoSW1h
Z2UqIGkKIH0KIAogI2lmICFPUyhXSU5DRSkgfHwgUExBVEZPUk0oUVQpCi12b2lkIEdyYXBoaWNz
Q29udGV4dDo6ZHJhd1RleHQoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBj
b25zdCBJbnRQb2ludCYgcG9pbnQsIGludCBmcm9tLCBpbnQgdG8pCit2b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd1RleHQoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBjb25z
dCBGbG9hdFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bykKIHsKICAgICBpZiAocGFpbnRp
bmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC0zODQsNyArMzg0LDcgQEAgdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdUZXh0KGNvbnN0IEZvbgogfQogI2VuZGlmCiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpkcmF3RW1waGFzaXNNYXJrcyhjb25zdCBGb250JiBmb250LCBjb25zdCBU
ZXh0UnVuJiBydW4sIGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaywgY29uc3QgSW50UG9pbnQmIHBv
aW50LCBpbnQgZnJvbSwgaW50IHRvKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdFbXBoYXNp
c01hcmtzKGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgQXRvbWlj
U3RyaW5nJiBtYXJrLCBjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bykK
IHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC00MjIs
MTMgKzQyMiwxMyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0JpZGlUZXh0KGNvbnN0CiAg
ICAgICAgIGJpZGlSdW4gPSBiaWRpUnVuLT5uZXh0KCk7CiAgICAgICAgIC8vIEZJWE1FOiBIYXZl
IEZvbnQ6OmRyYXdUZXh0IHJldHVybiB0aGUgd2lkdGggb2Ygd2hhdCBpdCBkcmV3IHNvIHRoYXQg
d2UgZG9uJ3QgaGF2ZSB0byByZS1tZWFzdXJlIGhlcmUuCiAgICAgICAgIGlmIChiaWRpUnVuKQot
ICAgICAgICAgICAgY3VyclBvaW50Lm1vdmUoZm9udC5mbG9hdFdpZHRoKHN1YnJ1biksIDAuZik7
CisgICAgICAgICAgICBjdXJyUG9pbnQubW92ZShmb250LndpZHRoKHN1YnJ1biksIDApOwogICAg
IH0KIAogICAgIGJpZGlSZXNvbHZlci5kZWxldGVSdW5zKCk7CiB9CiAKLXZvaWQgR3JhcGhpY3ND
b250ZXh0OjpkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0
UnVuJiBydW4sIGNvbnN0IEludFBvaW50JiBwb2ludCwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNr
Z3JvdW5kQ29sb3IsIENvbG9yU3BhY2UgY29sb3JTcGFjZSwgaW50IGZyb20sIGludCB0bykKK3Zv
aWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiBmb250
LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBpbnQgaCwgY29u
c3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgQ29sb3JTcGFjZSBjb2xvclNwYWNlLCBpbnQgZnJv
bSwgaW50IHRvKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVy
bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5oCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzUsMjAgKzMz
NSwyMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFRleHREcmF3aW5nTW9kZUZsYWdz
IHRleHREcmF3aW5nTW9kZSgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldFRleHREcmF3aW5nTW9k
ZShUZXh0RHJhd2luZ01vZGVGbGFncyk7CiAKLSAgICAgICAgdm9pZCBkcmF3VGV4dChjb25zdCBG
b250JiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IEludFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQg
dG8gPSAtMSk7Ci0gICAgICAgIHZvaWQgZHJhd0VtcGhhc2lzTWFya3MoY29uc3QgRm9udCYsIGNv
bnN0IFRleHRSdW4mICwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBJbnRQb2ludCYs
IGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRyYXdUZXh0KGNvbnN0
IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxvYXRQb2ludCYsIGludCBmcm9tID0gMCwg
aW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRyYXdFbXBoYXNpc01hcmtzKGNvbnN0IEZvbnQm
LCBjb25zdCBUZXh0UnVuJiAsIGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaywgY29uc3QgRmxvYXRQ
b2ludCYsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOwogICAgICAgICB2b2lkIGRyYXdCaWRp
VGV4dChjb25zdCBGb250JiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IEZsb2F0UG9pbnQmKTsKLSAg
ICAgICAgdm9pZCBkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiwgY29uc3QgVGV4dFJ1
biYsIGNvbnN0IEludFBvaW50JiwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3Is
IENvbG9yU3BhY2UsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRy
YXdIaWdobGlnaHRGb3JUZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxv
YXRQb2ludCYsIGludCBoLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yLCBDb2xvclNwYWNl
LCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKTsKIAogICAgICAgICBGbG9hdFJlY3Qgcm91bmRU
b0RldmljZVBpeGVscyhjb25zdCBGbG9hdFJlY3QmKTsKIAotICAgICAgICB2b2lkIGRyYXdMaW5l
Rm9yVGV4dChjb25zdCBJbnRQb2ludCYsIGludCB3aWR0aCwgYm9vbCBwcmludGluZyk7CisgICAg
ICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmLCBmbG9hdCB3aWR0aCwg
Ym9vbCBwcmludGluZyk7CiAgICAgICAgIGVudW0gVGV4dENoZWNraW5nTGluZVN0eWxlIHsKICAg
ICAgICAgICAgIFRleHRDaGVja2luZ1NwZWxsaW5nTGluZVN0eWxlLAogICAgICAgICAgICAgVGV4
dENoZWNraW5nR3JhbW1hckxpbmVTdHlsZSwKICAgICAgICAgICAgIFRleHRDaGVja2luZ1JlcGxh
Y2VtZW50TGluZVN0eWxlCiAgICAgICAgIH07Ci0gICAgICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0
Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmLCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHls
ZSk7CisgICAgICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2lu
dCYsIGZsb2F0IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUpOwogCiAgICAgICAgIGJvb2wg
cGFpbnRpbmdEaXNhYmxlZCgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldFBhaW50aW5nRGlzYWJs
ZWQoYm9vbCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVG
b250RGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvU2ltcGxlRm9udERhdGEuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTA4LDcgKzEwOCw2IEBAIFNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShQYXNzT3duUHQK
ICAgICBtX3NwYWNlR2x5cGggPSAwOwogICAgIG1femVyb1dpZHRoU3BhY2VHbHlwaCA9IDA7CiAg
ICAgZGV0ZXJtaW5lUGl0Y2goKTsKLSAgICBtX2FkanVzdGVkU3BhY2VXaWR0aCA9IHJvdW5kZiht
X3NwYWNlV2lkdGgpOwogICAgIG1fbWlzc2luZ0dseXBoRGF0YS5mb250RGF0YSA9IHRoaXM7CiAg
ICAgbV9taXNzaW5nR2x5cGhEYXRhLmdseXBoID0gMDsKIH0KQEAgLTE0Myw3ICsxNDIsNiBAQCB2
b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBoSW5pdCgpCiAgICAgICAgIExPR19FUlJP
UigiRmFpbGVkIHRvIGdldCBnbHlwaCBwYWdlIHplcm8uIik7CiAgICAgICAgIG1fc3BhY2VHbHlw
aCA9IDA7CiAgICAgICAgIG1fc3BhY2VXaWR0aCA9IDA7Ci0gICAgICAgIG1fYWRqdXN0ZWRTcGFj
ZVdpZHRoID0gMDsKICAgICAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKICAgICAgICAgbV96ZXJvV2lk
dGhTcGFjZUdseXBoID0gMDsKICAgICAgICAgbV9taXNzaW5nR2x5cGhEYXRhLmZvbnREYXRhID0g
dGhpczsKQEAgLTE2MCw3ICsxNTgsNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUds
eXBoSW5pdCgpCiAgICAgZmxvYXQgd2lkdGggPSB3aWR0aEZvckdseXBoKG1fc3BhY2VHbHlwaCk7
CiAgICAgbV9zcGFjZVdpZHRoID0gd2lkdGg7CiAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKLSAgICBt
X2FkanVzdGVkU3BhY2VXaWR0aCA9IG1fdHJlYXRBc0ZpeGVkUGl0Y2ggPyBjZWlsZih3aWR0aCkg
OiByb3VuZGYod2lkdGgpOwogCiAgICAgLy8gRm9yY2UgdGhlIGdseXBoIGZvciBaRVJPIFdJRFRI
IFNQQUNFIHRvIGhhdmUgemVybyB3aWR0aCwgdW5sZXNzIGl0IGlzIHNoYXJlZCB3aXRoIFNQQUNF
LgogICAgIC8vIEhlbHZldGljYSBpcyBhbiBleGFtcGxlIG9mIGEgbm9uLXplcm8gd2lkdGggWkVS
TyBXSURUSCBTUEFDRSBnbHlwaC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1NpbXBsZUZvbnREYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTIsNyArMTEyLDYgQEAgcHVibGljOgogICAgIGZsb2F0IHBsYXRmb3JtV2lkdGhGb3JH
bHlwaChHbHlwaCkgY29uc3Q7CiAKICAgICBmbG9hdCBzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1
cm4gbV9zcGFjZVdpZHRoOyB9Ci0gICAgZmxvYXQgYWRqdXN0ZWRTcGFjZVdpZHRoKCkgY29uc3Qg
eyByZXR1cm4gbV9hZGp1c3RlZFNwYWNlV2lkdGg7IH0KIAogI2lmIFBMQVRGT1JNKENHKSB8fCBQ
TEFURk9STShDQUlSTykgfHwgUExBVEZPUk0oV1gpCiAgICAgZmxvYXQgc3ludGhldGljQm9sZE9m
ZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fc3ludGhldGljQm9sZE9mZnNldDsgfQpAQCAtMjMwLDcg
KzIyOSw2IEBAIHByaXZhdGU6CiAKICAgICBHbHlwaCBtX3NwYWNlR2x5cGg7CiAgICAgZmxvYXQg
bV9zcGFjZVdpZHRoOwotICAgIGZsb2F0IG1fYWRqdXN0ZWRTcGFjZVdpZHRoOwogCiAgICAgR2x5
cGggbV96ZXJvV2lkdGhTcGFjZUdseXBoOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9TdHJpbmdUcnVuY2F0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5jcHAJKHJldmlzaW9uIDc4Mzcx
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtOTIsMjIgKzkyLDIwIEBAIHN0YXRpYyB1bnNpZ25lZCByaWdo
dFRydW5jYXRlVG9CdWZmZXIoY28KICAgICByZXR1cm4gdHJ1bmNhdGVkTGVuZ3RoOwogfQogCi1z
dGF0aWMgZmxvYXQgc3RyaW5nV2lkdGgoY29uc3QgRm9udCYgcmVuZGVyZXIsIGNvbnN0IFVDaGFy
KiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3Mp
CitzdGF0aWMgZmxvYXQgc3RyaW5nV2lkdGgoY29uc3QgRm9udCYgcmVuZGVyZXIsIGNvbnN0IFVD
aGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7CiAgICAgVGV4dFJ1biBydW4oY2hh
cmFjdGVycywgbGVuZ3RoKTsKLSAgICBpZiAoZGlzYWJsZVJvdW5kaW5nSGFja3MpCi0gICAgICAg
IHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotICAgIHJldHVybiByZW5kZXJlci5mbG9hdFdp
ZHRoKHJ1bik7CisgICAgcmV0dXJuIHJlbmRlcmVyLndpZHRoKHJ1bik7CiB9CiAKLXN0YXRpYyBT
dHJpbmcgdHJ1bmNhdGVTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRo
LCBjb25zdCBGb250JiBmb250LCBUcnVuY2F0aW9uRnVuY3Rpb24gdHJ1bmNhdGVUb0J1ZmZlciwg
Ym9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcykKK3N0YXRpYyBTdHJpbmcgdHJ1bmNhdGVTdHJpbmco
Y29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250JiBmb250LCBU
cnVuY2F0aW9uRnVuY3Rpb24gdHJ1bmNhdGVUb0J1ZmZlcikKIHsKICAgICBpZiAoc3RyaW5nLmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHN0cmluZzsKICAgICAKICAgICBBU1NFUlQobWF4V2lk
dGggPj0gMCk7CiAgICAgCi0gICAgZmxvYXQgY3VycmVudEVsbGlwc2lzV2lkdGggPSBzdHJpbmdX
aWR0aChmb250LCAmaG9yaXpvbnRhbEVsbGlwc2lzLCAxLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7
CisgICAgZmxvYXQgY3VycmVudEVsbGlwc2lzV2lkdGggPSBzdHJpbmdXaWR0aChmb250LCAmaG9y
aXpvbnRhbEVsbGlwc2lzLCAxKTsKICAgICAKICAgICBVQ2hhciBzdHJpbmdCdWZmZXJbU1RSSU5H
X0JVRkZFUl9TSVpFXTsKICAgICB1bnNpZ25lZCB0cnVuY2F0ZWRMZW5ndGg7CkBAIC0xMjMsNyAr
MTIxLDcgQEAgc3RhdGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAgICAg
ICB0cnVuY2F0ZWRMZW5ndGggPSBsZW5ndGg7CiAgICAgfQogCi0gICAgZmxvYXQgd2lkdGggPSBz
dHJpbmdXaWR0aChmb250LCBzdHJpbmdCdWZmZXIsIHRydW5jYXRlZExlbmd0aCwgZGlzYWJsZVJv
dW5kaW5nSGFja3MpOworICAgIGZsb2F0IHdpZHRoID0gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5n
QnVmZmVyLCB0cnVuY2F0ZWRMZW5ndGgpOwogICAgIGlmICh3aWR0aCA8PSBtYXhXaWR0aCkKICAg
ICAgICAgcmV0dXJuIHN0cmluZzsKIApAQCAtMTU5LDcgKzE1Nyw3IEBAIHN0YXRpYyBTdHJpbmcg
dHJ1bmNhdGVTdHJpbmcoY29uc3QgU3RyaW4KICAgICAgICAgCiAgICAgICAgIHRydW5jYXRlZExl
bmd0aCA9IHRydW5jYXRlVG9CdWZmZXIoc3RyaW5nLCBsZW5ndGgsIGtlZXBDb3VudCwgc3RyaW5n
QnVmZmVyKTsKIAotICAgICAgICB3aWR0aCA9IHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZ0J1ZmZl
ciwgdHJ1bmNhdGVkTGVuZ3RoLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgICAgIHdpZHRo
ID0gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5nQnVmZmVyLCB0cnVuY2F0ZWRMZW5ndGgpOwogICAg
ICAgICBpZiAod2lkdGggPD0gbWF4V2lkdGgpIHsKICAgICAgICAgICAgIGtlZXBDb3VudEZvckxh
cmdlc3RLbm93blRvRml0ID0ga2VlcENvdW50OwogICAgICAgICAgICAgd2lkdGhGb3JMYXJnZXN0
S25vd25Ub0ZpdCA9IHdpZHRoOwpAQCAtMTgxLDE5ICsxNzksMTkgQEAgc3RhdGljIFN0cmluZyB0
cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAgIHJldHVybiBTdHJpbmcoc3RyaW5nQnVmZmVy
LCB0cnVuY2F0ZWRMZW5ndGgpOwogfQogCi1TdHJpbmcgU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJU
cnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQm
IGZvbnQsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MpCitTdHJpbmcgU3RyaW5nVHJ1bmNhdG9y
OjpjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNv
bnN0IEZvbnQmIGZvbnQpCiB7Ci0gICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4
V2lkdGgsIGZvbnQsIGNlbnRlclRydW5jYXRlVG9CdWZmZXIsIGRpc2FibGVSb3VuZGluZ0hhY2tz
KTsKKyAgICByZXR1cm4gdHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBtYXhXaWR0aCwgZm9udCwgY2Vu
dGVyVHJ1bmNhdGVUb0J1ZmZlcik7CiB9CiAKLVN0cmluZyBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0
VHJ1bmNhdGUoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250
JiBmb250LCBib29sIGRpc2FibGVSb3VuZGluZ0hhY2tzKQorU3RyaW5nIFN0cmluZ1RydW5jYXRv
cjo6cmlnaHRUcnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNv
bnN0IEZvbnQmIGZvbnQpCiB7Ci0gICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4
V2lkdGgsIGZvbnQsIHJpZ2h0VHJ1bmNhdGVUb0J1ZmZlciwgZGlzYWJsZVJvdW5kaW5nSGFja3Mp
OworICAgIHJldHVybiB0cnVuY2F0ZVN0cmluZyhzdHJpbmcsIG1heFdpZHRoLCBmb250LCByaWdo
dFRydW5jYXRlVG9CdWZmZXIpOwogfQogCi1mbG9hdCBTdHJpbmdUcnVuY2F0b3I6OndpZHRoKGNv
bnN0IFN0cmluZyYgc3RyaW5nLCBjb25zdCBGb250JiBmb250LCBib29sIGRpc2FibGVSb3VuZGlu
Z0hhY2tzKQorZmxvYXQgU3RyaW5nVHJ1bmNhdG9yOjp3aWR0aChjb25zdCBTdHJpbmcmIHN0cmlu
ZywgY29uc3QgRm9udCYgZm9udCkKIHsKLSAgICByZXR1cm4gc3RyaW5nV2lkdGgoZm9udCwgc3Ry
aW5nLmNoYXJhY3RlcnMoKSwgc3RyaW5nLmxlbmd0aCgpLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7
CisgICAgcmV0dXJuIHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZy5jaGFyYWN0ZXJzKCksIHN0cmlu
Zy5sZW5ndGgoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCShyZXZp
c2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1Ry
dW5jYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw5ICszNyw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAKICAgICBjbGFzcyBTdHJpbmdUcnVuY2F0b3IgewogICAgIHB1YmxpYzoKLSAg
ICAgICAgc3RhdGljIFN0cmluZyBjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBt
YXhXaWR0aCwgY29uc3QgRm9udCYsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MgPSB0cnVlKTsK
LSAgICAgICAgc3RhdGljIFN0cmluZyByaWdodFRydW5jYXRlKGNvbnN0IFN0cmluZyYsIGZsb2F0
IG1heFdpZHRoLCBjb25zdCBGb250JiwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcyA9IHRydWUp
OwotICAgICAgICBzdGF0aWMgZmxvYXQgd2lkdGgoY29uc3QgU3RyaW5nJiwgY29uc3QgRm9udCYs
IGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MgPSB0cnVlKTsKKyAgICAgICAgc3RhdGljIFN0cmlu
ZyBjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9u
dCYpOworICAgICAgICBzdGF0aWMgU3RyaW5nIHJpZ2h0VHJ1bmNhdGUoY29uc3QgU3RyaW5nJiwg
ZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmKTsKKyAgICAgICAgc3RhdGljIGZsb2F0IHdpZHRo
KGNvbnN0IFN0cmluZyYsIGNvbnN0IEZvbnQmKTsKICAgICB9OwogICAgIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1
bi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRS
dW4uaAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9UZXh0UnVuLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDggKzM4LDcgQEAgcHVibGljOgogICAg
ICAgICBGb3JiaWRUcmFpbGluZ0V4cGFuc2lvbgogICAgIH07CiAKLSAgICBUZXh0UnVuKGNvbnN0
IFVDaGFyKiBjLCBpbnQgbGVuLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBpbnQgeHBvcyA9IDAs
IGludCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNl
LCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSwKLSAgICAgICAgICAgICAgYm9vbCBh
cHBseVJ1blJvdW5kaW5nID0gdHJ1ZSwgYm9vbCBhcHBseVdvcmRSb3VuZGluZyA9IHRydWUpCisg
ICAgVGV4dFJ1bihjb25zdCBVQ2hhciogYywgaW50IGxlbiwgYm9vbCBhbGxvd1RhYnMgPSBmYWxz
ZSwgZmxvYXQgeHBvcyA9IDAsIGZsb2F0IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhwYW5zaW9u
QmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNp
b24sIGJvb2wgcnRsID0gZmFsc2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlKQog
ICAgICAgICA6IG1fY2hhcmFjdGVycyhjKQogICAgICAgICAsIG1fbGVuKGxlbikKICAgICAgICAg
LCBtX3hwb3MoeHBvcykKQEAgLTUxLDggKzUwLDYgQEAgcHVibGljOgogICAgICAgICAsIG1fYWxs
b3dUYWJzKGFsbG93VGFicykKICAgICAgICAgLCBtX3J0bChydGwpCiAgICAgICAgICwgbV9kaXJl
Y3Rpb25hbE92ZXJyaWRlKGRpcmVjdGlvbmFsT3ZlcnJpZGUpCi0gICAgICAgICwgbV9hcHBseVJ1
blJvdW5kaW5nKGFwcGx5UnVuUm91bmRpbmcpCi0gICAgICAgICwgbV9hcHBseVdvcmRSb3VuZGlu
ZyhhcHBseVdvcmRSb3VuZGluZykKICAgICAgICAgLCBtX2Rpc2FibGVTcGFjaW5nKGZhbHNlKQog
I2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2luZ1JlbmRlck9iamVj
dCgwKQpAQCAtNjEsOCArNTgsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIFRleHRS
dW4oY29uc3QgU3RyaW5nJiBzLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBpbnQgeHBvcyA9IDAs
IGludCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNl
LCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSwKLSAgICAgICAgICAgICAgYm9vbCBh
cHBseVJ1blJvdW5kaW5nID0gdHJ1ZSwgYm9vbCBhcHBseVdvcmRSb3VuZGluZyA9IHRydWUpCisg
ICAgVGV4dFJ1bihjb25zdCBTdHJpbmcmIHMsIGJvb2wgYWxsb3dUYWJzID0gZmFsc2UsIGZsb2F0
IHhwb3MgPSAwLCBmbG9hdCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9y
IHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29s
IHJ0bCA9IGZhbHNlLCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSkKICAgICAgICAg
OiBtX2NoYXJhY3RlcnMocy5jaGFyYWN0ZXJzKCkpCiAgICAgICAgICwgbV9sZW4ocy5sZW5ndGgo
KSkKICAgICAgICAgLCBtX3hwb3MoeHBvcykKQEAgLTc0LDggKzcwLDYgQEAgcHVibGljOgogICAg
ICAgICAsIG1fYWxsb3dUYWJzKGFsbG93VGFicykKICAgICAgICAgLCBtX3J0bChydGwpCiAgICAg
ICAgICwgbV9kaXJlY3Rpb25hbE92ZXJyaWRlKGRpcmVjdGlvbmFsT3ZlcnJpZGUpCi0gICAgICAg
ICwgbV9hcHBseVJ1blJvdW5kaW5nKGFwcGx5UnVuUm91bmRpbmcpCi0gICAgICAgICwgbV9hcHBs
eVdvcmRSb3VuZGluZyhhcHBseVdvcmRSb3VuZGluZykKICAgICAgICAgLCBtX2Rpc2FibGVTcGFj
aW5nKGZhbHNlKQogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2lu
Z1JlbmRlck9iamVjdCgwKQpAQCAtOTgsMTggKzkyLDE1IEBAIHB1YmxpYzoKICNlbmRpZgogCiAg
ICAgYm9vbCBhbGxvd1RhYnMoKSBjb25zdCB7IHJldHVybiBtX2FsbG93VGFiczsgfQotICAgIGlu
dCB4UG9zKCkgY29uc3QgeyByZXR1cm4gbV94cG9zOyB9Ci0gICAgaW50IGV4cGFuc2lvbigpIGNv
bnN0IHsgcmV0dXJuIG1fZXhwYW5zaW9uOyB9CisgICAgZmxvYXQgeFBvcygpIGNvbnN0IHsgcmV0
dXJuIG1feHBvczsgfQorICAgIGZsb2F0IGV4cGFuc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fZXhw
YW5zaW9uOyB9CiAgICAgYm9vbCBhbGxvd3NUcmFpbGluZ0V4cGFuc2lvbigpIGNvbnN0IHsgcmV0
dXJuIG1fdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9PSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9u
OyB9CiAgICAgYm9vbCBydGwoKSBjb25zdCB7IHJldHVybiBtX3J0bDsgfQogICAgIGJvb2wgbHRy
KCkgY29uc3QgeyByZXR1cm4gIW1fcnRsOyB9CiAgICAgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRl
KCkgY29uc3QgeyByZXR1cm4gbV9kaXJlY3Rpb25hbE92ZXJyaWRlOyB9Ci0gICAgYm9vbCBhcHBs
eVJ1blJvdW5kaW5nKCkgY29uc3QgeyByZXR1cm4gbV9hcHBseVJ1blJvdW5kaW5nOyB9Ci0gICAg
Ym9vbCBhcHBseVdvcmRSb3VuZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbHlXb3JkUm91bmRp
bmc7IH0KICAgICBib29sIHNwYWNpbmdEaXNhYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzYWJs
ZVNwYWNpbmc7IH0KIAogICAgIHZvaWQgZGlzYWJsZVNwYWNpbmcoKSB7IG1fZGlzYWJsZVNwYWNp
bmcgPSB0cnVlOyB9Ci0gICAgdm9pZCBkaXNhYmxlUm91bmRpbmdIYWNrcygpIHsgbV9hcHBseVJ1
blJvdW5kaW5nID0gbV9hcHBseVdvcmRSb3VuZGluZyA9IGZhbHNlOyB9CiAgICAgdm9pZCBzZXRS
VEwoYm9vbCBiKSB7IG1fcnRsID0gYjsgfQogICAgIHZvaWQgc2V0RGlyZWN0aW9uYWxPdmVycmlk
ZShib29sIG92ZXJyaWRlKSB7IG1fZGlyZWN0aW9uYWxPdmVycmlkZSA9IG92ZXJyaWRlOyB9CiAK
QEAgLTEyOCw4ICsxMTksOCBAQCBwcml2YXRlOgogICAgIC8vIG1feHBvcyBpcyB0aGUgeCBwb3Np
dGlvbiByZWxhdGl2ZSB0byB0aGUgbGVmdCBzdGFydCBvZiB0aGUgdGV4dCBsaW5lLCBub3QgcmVs
YXRpdmUgdG8gdGhlIGxlZnQKICAgICAvLyBzdGFydCBvZiB0aGUgY29udGFpbmluZyBibG9jay4g
SW4gdGhlIGNhc2Ugb2YgcmlnaHQgYWxpZ25tZW50IG9yIGNlbnRlciBhbGlnbm1lbnQsIGxlZnQg
c3RhcnQgb2YKICAgICAvLyB0aGUgdGV4dCBsaW5lIGlzIG5vdCB0aGUgc2FtZSBhcyBsZWZ0IHN0
YXJ0IG9mIHRoZSBjb250YWluaW5nIGJsb2NrLgotICAgIGludCBtX3hwb3M7ICAKLSAgICBpbnQg
bV9leHBhbnNpb247CisgICAgZmxvYXQgbV94cG9zOyAgCisgICAgZmxvYXQgbV9leHBhbnNpb247
CiAgICAgVHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciBtX3RyYWlsaW5nRXhwYW5zaW9uQmVoYXZp
b3I7CiAjaWYgRU5BQkxFKFNWRykKICAgICBmbG9hdCBtX2hvcml6b250YWxHbHlwaFN0cmV0Y2g7
CkBAIC0xMzcsOCArMTI4LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fYWxsb3dUYWJzOwogICAg
IGJvb2wgbV9ydGw7CiAgICAgYm9vbCBtX2RpcmVjdGlvbmFsT3ZlcnJpZGU7Ci0gICAgYm9vbCBt
X2FwcGx5UnVuUm91bmRpbmc7Ci0gICAgYm9vbCBtX2FwcGx5V29yZFJvdW5kaW5nOwogICAgIGJv
b2wgbV9kaXNhYmxlU3BhY2luZzsKIAogI2lmIEVOQUJMRShTVkdfRk9OVFMpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAko
cmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0
aEl0ZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBAQCBXaWR0aEl0ZXJh
dG9yOjpXaWR0aEl0ZXJhdG9yKGNvbnN0IEZvbnQqCiAgICAgLCBtX2N1cnJlbnRDaGFyYWN0ZXIo
MCkKICAgICAsIG1fcnVuV2lkdGhTb0ZhcigwKQogICAgICwgbV9pc0FmdGVyRXhwYW5zaW9uKHRy
dWUpCi0gICAgLCBtX2ZpbmFsUm91bmRpbmdXaWR0aCgwKQogICAgICwgbV9mYWxsYmFja0ZvbnRz
KGZhbGxiYWNrRm9udHMpCiAgICAgLCBtX2FjY291bnRGb3JHbHlwaEJvdW5kcyhhY2NvdW50Rm9y
R2x5cGhCb3VuZHMpCiAgICAgLCBtX21heEdseXBoQm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRz
PGZsb2F0Pjo6bWluKCkpCkBAIC04NiwxMSArODUsNiBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFk
dmFuY2UoaW50IG9mZnNldCwgCiAgICAgYm9vbCBydGwgPSBtX3J1bi5ydGwoKTsKICAgICBib29s
IGhhc0V4dHJhU3BhY2luZyA9IChtX2ZvbnQtPmxldHRlclNwYWNpbmcoKSB8fCBtX2ZvbnQtPndv
cmRTcGFjaW5nKCkgfHwgbV9leHBhbnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlzYWJsZWQoKTsK
IAotICAgIGZsb2F0IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSBtX3J1bldpZHRoU29GYXI7Ci0g
ICAgbV9ydW5XaWR0aFNvRmFyID0gZmxvb3JmKG1fcnVuV2lkdGhTb0Zhcik7Ci0gICAgd2lkdGhT
aW5jZUxhc3RSb3VuZGluZyAtPSBtX3J1bldpZHRoU29GYXI7Ci0KLSAgICBmbG9hdCBsYXN0Um91
bmRpbmdXaWR0aCA9IG1fZmluYWxSb3VuZGluZ1dpZHRoOwogICAgIEZsb2F0UmVjdCBib3VuZHM7
CiAKICAgICBjb25zdCBTaW1wbGVGb250RGF0YSogcHJpbWFyeUZvbnQgPSBtX2ZvbnQtPnByaW1h
cnlGb250KCk7CkBAIC0xMzYsNyArMTMwLDcgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNl
KGludCBvZmZzZXQsIAogICAgICAgICBmbG9hdCB3aWR0aDsKICAgICAgICAgaWYgKGMgPT0gJ1x0
JyAmJiBtX3J1bi5hbGxvd1RhYnMoKSkgewogICAgICAgICAgICAgZmxvYXQgdGFiV2lkdGggPSBt
X2ZvbnQtPnRhYldpZHRoKCpmb250RGF0YSk7Ci0gICAgICAgICAgICB3aWR0aCA9IHRhYldpZHRo
IC0gZm1vZGYobV9ydW4ueFBvcygpICsgbV9ydW5XaWR0aFNvRmFyICsgd2lkdGhTaW5jZUxhc3RS
b3VuZGluZywgdGFiV2lkdGgpOworICAgICAgICAgICAgd2lkdGggPSB0YWJXaWR0aCAtIGZtb2Rm
KG1fcnVuLnhQb3MoKSArIG1fcnVuV2lkdGhTb0ZhciwgdGFiV2lkdGgpOwogICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgd2lkdGggPSBmb250RGF0YS0+d2lkdGhGb3JHbHlwaChnbHlwaCk7
CiAKQEAgLTE0NCwxMyArMTM4LDYgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBv
ZmZzZXQsIAogICAgICAgICAgICAgLy8gU1ZHIHVzZXMgaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgp
LCB3aGVuIHRleHRMZW5ndGggaXMgdXNlZCB0byBzdHJldGNoL3NxdWVlemUgdGV4dC4KICAgICAg
ICAgICAgIHdpZHRoICo9IG1fcnVuLmhvcml6b250YWxHbHlwaFN0cmV0Y2goKTsKICNlbmRpZgot
Ci0gICAgICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlzIHdoZW4g
YXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAgICAgIC8vIEZpcnN0LCB3ZSByb3VuZCBz
cGFjZXMgdG8gYW4gYWRqdXN0ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAgICAgLy8g
U2Vjb25kLCBpbiBmaXhlZC1waXRjaCBmb250cyB3ZSBlbnN1cmUgdGhhdCBhbGwgY2hhcmFjdGVy
cyB0aGF0Ci0gICAgICAgICAgICAvLyBtYXRjaCB0aGUgd2lkdGggb2YgdGhlIHNwYWNlIGNoYXJh
Y3RlciBoYXZlIHRoZSBzYW1lIHdpZHRoIGFzIHRoZSBzcGFjZSBjaGFyYWN0ZXIuCi0gICAgICAg
ICAgICBpZiAod2lkdGggPT0gZm9udERhdGEtPnNwYWNlV2lkdGgoKSAmJiAoZm9udERhdGEtPnBp
dGNoKCkgPT0gRml4ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgpKSAm
JiBtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpKQotICAgICAgICAgICAgICAgIHdpZHRoID0gZm9u
dERhdGEtPmFkanVzdGVkU3BhY2VXaWR0aCgpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGZv
bnREYXRhICE9IGxhc3RGb250RGF0YSAmJiB3aWR0aCkgewpAQCAtMTgzLDE0ICsxNzAsMTQgQEAg
dm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQsIAogICAgICAgICAgICAgICAg
ICAgICBpZiAoIXRyZWF0QXNTcGFjZSAmJiAhbV9pc0FmdGVyRXhwYW5zaW9uKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBUYWtlIHRoZSBleHBhbnNpb24gb3Bwb3J0dW5pdHkgYmVmb3Jl
IHRoaXMgaWRlb2dyYXBoLgogICAgICAgICAgICAgICAgICAgICAgICAgbV9leHBhbnNpb24gLT0g
bV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCBl
eHBhbnNpb24gPSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRmKG1fZXhwYW5zaW9u
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0IGV4cGFuc2lvbiA9IHByZXZpb3VzRXhw
YW5zaW9uIC0gbV9leHBhbnNpb247CiAgICAgICAgICAgICAgICAgICAgICAgICBtX3J1bldpZHRo
U29GYXIgKz0gZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdseXBoQnVm
ZmVyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLT5leHBhbmRMYXN0
QWR2YW5jZShleHBhbnNpb24pOwogICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNFeHBh
bnNpb24gPSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAg
ICAgICAgICAgICAgICB3aWR0aCArPSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRm
KG1fZXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAgICAgICAgd2lkdGggKz0gcHJldmlvdXNFeHBh
bnNpb24gLSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5z
aW9uID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAg
bV9pc0FmdGVyRXhwYW5zaW9uID0gZmFsc2U7CkBAIC0yMTYsNDMgKzIwMywxMCBAQCB2b2lkIFdp
ZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9mZnNldCwgCiAgICAgICAgIGNwICs9IGNsdXN0ZXJM
ZW5ndGg7CiAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXIgKz0gY2x1c3Rlckxlbmd0aDsKIAotICAg
ICAgICAvLyBBY2NvdW50IGZvciBmbG9hdC9pbnRlZ2VyIGltcGVkYW5jZSBtaXNtYXRjaCBiZXR3
ZWVuIENHIGFuZCBLSFRNTC4gIldvcmRzIiAoY2hhcmFjdGVycyAKLSAgICAgICAgLy8gZm9sbG93
ZWQgYnkgYSBjaGFyYWN0ZXIgZGVmaW5lZCBieSBpc1JvdW5kaW5nSGFja0NoYXJhY3RlcigpKSBh
cmUgYWx3YXlzIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgIC8vIFdlIGFkanVzdCB0aGUgd2lk
dGggb2YgdGhlIGxhc3QgY2hhcmFjdGVyIG9mIGEgIndvcmQiIHRvIGVuc3VyZSBhbiBpbnRlZ2Vy
IHdpZHRoLgotICAgICAgICAvLyBJZiB3ZSBtb3ZlIEtIVE1MIHRvIGZsb2F0cyB3ZSBjYW4gcmVt
b3ZlIHRoaXMgKGFuZCByZWxhdGVkKSBoYWNrcy4KLQotICAgICAgICBmbG9hdCBvbGRXaWR0aCA9
IHdpZHRoOwotCi0gICAgICAgIC8vIEZvcmNlIGNoYXJhY3RlcnMgdGhhdCBhcmUgdXNlZCB0byBk
ZXRlcm1pbmUgd29yZCBib3VuZGFyaWVzIGZvciB0aGUgcm91bmRpbmcgaGFjawotICAgICAgICAv
LyB0byBiZSBpbnRlZ2VyIHdpZHRoLCBzbyBmb2xsb3dpbmcgd29yZHMgd2lsbCBzdGFydCBvbiBh
biBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICBpZiAobV9ydW4uYXBwbHlXb3JkUm91bmRpbmco
KSAmJiBGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcihjKSkgewotICAgICAgICAgICAgd2lk
dGggPSBjZWlsZih3aWR0aCk7Ci0KLSAgICAgICAgICAgIC8vIFNpbmNlIHdpZHRoU2luY2VMYXN0
Um91bmRpbmcgY2FuIGxvc2UgcHJlY2lzaW9uIGlmIHdlIGluY2x1ZGUgbWVhc3VyZW1lbnRzIGZv
cgotICAgICAgICAgICAgLy8gcHJlY2VkaW5nIHdoaXRlc3BhY2UsIHdlIGJ5cGFzcyBpdCBoZXJl
LgotICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoOwotCi0gICAgICAgICAgICAv
LyBTaW5jZSB0aGlzIGlzIGEgcm91bmRpbmcgaGFjayBjaGFyYWN0ZXIsIHdlIHNob3VsZCBoYXZl
IHJlc2V0IHRoaXMgc3VtIG9uIHRoZSBwcmV2aW91cwotICAgICAgICAgICAgLy8gaXRlcmF0aW9u
LgotICAgICAgICAgICAgQVNTRVJUKCF3aWR0aFNpbmNlTGFzdFJvdW5kaW5nKTsKLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgbmV4dCBjaGFyYWN0
ZXIgaXMgYSAicm91bmRpbmcgaGFjayBjaGFyYWN0ZXIiLCBpZiBzbywgYWRqdXN0Ci0gICAgICAg
ICAgICAvLyB3aWR0aCBzbyB0aGF0IHRoZSB0b3RhbCBydW4gd2lkdGggd2lsbCBiZSBvbiBhbiBp
bnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICAgICAgaWYgKChtX3J1bi5hcHBseVdvcmRSb3VuZGlu
ZygpICYmIGN1cnJlbnRDaGFyYWN0ZXIgPCBtX3J1bi5sZW5ndGgoKSAmJiBGb250Ojppc1JvdW5k
aW5nSGFja0NoYXJhY3RlcigqY3ApKQotICAgICAgICAgICAgICAgICAgICB8fCAobV9ydW4uYXBw
bHlSdW5Sb3VuZGluZygpICYmIGN1cnJlbnRDaGFyYWN0ZXIgPj0gbV9lbmQpKSB7Ci0gICAgICAg
ICAgICAgICAgZmxvYXQgdG90YWxXaWR0aCA9IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgKyB3aWR0
aDsKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gY2VpbGYodG90YWxX
aWR0aCk7Ci0gICAgICAgICAgICAgICAgd2lkdGggKz0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyAt
IHRvdGFsV2lkdGg7Ci0gICAgICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoU2lu
Y2VMYXN0Um91bmRpbmc7Ci0gICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9
IDA7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJv
dW5kaW5nICs9IHdpZHRoOwotICAgICAgICB9CisgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3
aWR0aDsKIAogICAgICAgICBpZiAoZ2x5cGhCdWZmZXIpCi0gICAgICAgICAgICBnbHlwaEJ1ZmZl
ci0+YWRkKGdseXBoLCBmb250RGF0YSwgKHJ0bCA/IG9sZFdpZHRoICsgbGFzdFJvdW5kaW5nV2lk
dGggOiB3aWR0aCkpOwotCi0gICAgICAgIGxhc3RSb3VuZGluZ1dpZHRoID0gd2lkdGggLSBvbGRX
aWR0aDsKKyAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQoZ2x5cGgsIGZvbnREYXRhLCB3aWR0
aCk7CiAKICAgICAgICAgaWYgKG1fYWNjb3VudEZvckdseXBoQm91bmRzKSB7CiAgICAgICAgICAg
ICBtX21heEdseXBoQm91bmRpbmdCb3hZID0gbWF4KG1fbWF4R2x5cGhCb3VuZGluZ0JveFksIGJv
dW5kcy5tYXhZKCkpOwpAQCAtMjYyLDggKzIxNiw2IEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2
YW5jZShpbnQgb2Zmc2V0LCAKICAgICB9CiAKICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBjdXJy
ZW50Q2hhcmFjdGVyOwotICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3aWR0aFNpbmNlTGFzdFJvdW5k
aW5nOwotICAgIG1fZmluYWxSb3VuZGluZ1dpZHRoID0gbGFzdFJvdW5kaW5nV2lkdGg7CiB9CiAK
IGJvb2wgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZU9uZUNoYXJhY3RlcihmbG9hdCYgd2lkdGgsIEds
eXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1dpZHRoSXRlcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCSh3b3JraW5nIGNvcHkp
CkBAIC01Myw3ICs1Myw2IEBAIHN0cnVjdCBXaWR0aEl0ZXJhdG9yIHsKICAgICBmbG9hdCBtX2V4
cGFuc2lvbjsKICAgICBmbG9hdCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwogICAgIGJvb2wg
bV9pc0FmdGVyRXhwYW5zaW9uOwotICAgIGZsb2F0IG1fZmluYWxSb3VuZGluZ1dpZHRoOwogCiBw
cml2YXRlOgogICAgIFVDaGFyMzIgbm9ybWFsaXplVm9pY2luZ01hcmtzKGludCBjdXJyZW50Q2hh
cmFjdGVyKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dy
YXBoaWNzQ29udGV4dENhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAJKHJldmlzaW9uIDc4
MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3ND
b250ZXh0Q2Fpcm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MDEsMjAgKzcwMSwyMiBAQCB2b2lk
IEdyYXBoaWNzQ29udGV4dDo6ZHJhd0ZvY3VzUmluZyhjb25zCiAgICAgY2Fpcm9fcmVzdG9yZShj
cik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgSW50
UG9pbnQmIG9yaWdpbiwgaW50IHdpZHRoLCBib29sIHByaW50aW5nKQordm9pZCBHcmFwaGljc0Nv
bnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjb25zdCBGbG9hdFBvaW50JiBvcmlnaW4sIGZsb2F0IHdp
ZHRoLCBib29sIHByaW50aW5nKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIEludFBvaW50IGVuZFBvaW50ID0gb3JpZ2luICsgSW50U2l6ZSh3
aWR0aCwgMCk7Ci0gICAgZHJhd0xpbmUob3JpZ2luLCBlbmRQb2ludCk7CisgICAgRmxvYXRQb2lu
dCBlbmRQb2ludCA9IG9yaWdpbiArIEZsb2F0U2l6ZSh3aWR0aCwgMCk7CisgICAgCisgICAgLy8g
RklYTUU6IExvc3Mgb2YgcHJlY2lzaW9uIGhlcmUuIE1pZ2h0IGNvbnNpZGVyIHJvdW5kaW5nLgor
ICAgIGRyYXdMaW5lKEludFBvaW50KG9yaWdpbi54KCksIG9yaWdpbi55KCkpLCBJbnRQb2ludChl
bmRQb2ludC54KCksIGVuZFBvaW50LnkoKSkpOwogfQogCiAjaWYgIVBMQVRGT1JNKEdUSykKICNp
bmNsdWRlICJEcmF3RXJyb3JVbmRlcmxpbmUuaCIKICNlbmRpZgogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmIG9yaWdpbiwgaW50
IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCit2b2lkIEdyYXBoaWNzQ29udGV4
dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luLCBmbG9h
dCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQogewogICAgIGlmIChwYWludGlu
Z0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAJKHJl
dmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3Jh
cGhpY3NDb250ZXh0Q0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMwLDcgKzExMzAsNyBAQCBG
bG9hdFJlY3QgR3JhcGhpY3NDb250ZXh0Ojpyb3VuZFRvRGV2aWNlCiAgICAgcmV0dXJuIEZsb2F0
UmVjdChyb3VuZGVkT3JpZ2luLCByb3VuZGVkTG93ZXJSaWdodCAtIHJvdW5kZWRPcmlnaW4pOwog
fQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEludFBvaW50
JiBwb2ludCwgaW50IHdpZHRoLCBib29sIHByaW50aW5nKQordm9pZCBHcmFwaGljc0NvbnRleHQ6
OmRyYXdMaW5lRm9yVGV4dChjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgZmxvYXQgd2lkdGgsIGJv
b2wgcHJpbnRpbmcpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0
dXJuOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhU
ZXh0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDc4MzcxKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJv
bGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDEzICs0OSw2IEBAIHN0YXRpYyBpbmxpbmUg
Q0dGbG9hdCByb3VuZENHRmxvYXQoQ0dGbG8KICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q0dGbG9h
dD4ocm91bmQoZikpOwogfQogCi1zdGF0aWMgaW5saW5lIENHRmxvYXQgY2VpbENHRmxvYXQoQ0dG
bG9hdCBmKQotewotICAgIGlmIChzaXplb2YoQ0dGbG9hdCkgPT0gc2l6ZW9mKGZsb2F0KSkKLSAg
ICAgICAgcmV0dXJuIGNlaWxmKHN0YXRpY19jYXN0PGZsb2F0PihmKSk7Ci0gICAgcmV0dXJuIHN0
YXRpY19jYXN0PENHRmxvYXQ+KGNlaWwoZikpOwotfQotCiBDb21wbGV4VGV4dENvbnRyb2xsZXI6
OkNvbXBsZXhUZXh0Q29udHJvbGxlcihjb25zdCBGb250KiBmb250LCBjb25zdCBUZXh0UnVuJiBy
dW4sIGJvb2wgbWF5VXNlTmF0dXJhbFdyaXRpbmdEaXJlY3Rpb24sIEhhc2hTZXQ8Y29uc3QgU2lt
cGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgYm9vbCBmb3JUZXh0RW1waGFzaXMpCiAgICAg
OiBtX2ZvbnQoKmZvbnQpCiAgICAgLCBtX3J1bihydW4pCkBAIC02OSw3ICs2Miw2IEBAIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6Q29tcGxleFRleHRDb250cm8KICAgICAsIG1fY3VycmVudFJ1bigw
KQogICAgICwgbV9nbHlwaEluQ3VycmVudFJ1bigwKQogICAgICwgbV9jaGFyYWN0ZXJJbkN1cnJl
bnRHbHlwaCgwKQotICAgICwgbV9maW5hbFJvdW5kaW5nV2lkdGgoMCkKICAgICAsIG1fZXhwYW5z
aW9uKHJ1bi5leHBhbnNpb24oKSkKICAgICAsIG1fYWZ0ZXJFeHBhbnNpb24odHJ1ZSkKICAgICAs
IG1fZmFsbGJhY2tGb250cyhmYWxsYmFja0ZvbnRzKQpAQCAtNzcsNyArNjksNiBAQCBDb21wbGV4
VGV4dENvbnRyb2xsZXI6OkNvbXBsZXhUZXh0Q29udHJvCiAgICAgLCBtX21heEdseXBoQm91bmRp
bmdCb3hYKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWluKCkpCiAgICAgLCBtX21pbkdseXBoQm91
bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWF4KCkpCiAgICAgLCBtX21heEdseXBo
Qm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWluKCkpCi0gICAgLCBtX2xhc3RS
b3VuZGluZ0dseXBoKDApCiB7CiAgICAgaWYgKCFtX2V4cGFuc2lvbikKICAgICAgICAgbV9leHBh
bnNpb25QZXJPcHBvcnR1bml0eSA9IDA7CkBAIC00MTMsMTMgKzQwNCwxMSBAQCB2b2lkIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6YWR2YW5jZSh1bnNpCiAgICAgICAgIG1fY3VycmVudFJ1bisrOwog
ICAgICAgICBtX2dseXBoSW5DdXJyZW50UnVuID0gMDsKICAgICB9Ci0gICAgaWYgKCFsdHIgJiYg
bV9udW1HbHlwaHNTb0ZhciA9PSBtX2FkanVzdGVkQWR2YW5jZXMuc2l6ZSgpKQotICAgICAgICBt
X3J1bldpZHRoU29GYXIgKz0gbV9maW5hbFJvdW5kaW5nV2lkdGg7CiB9CiAKIHZvaWQgQ29tcGxl
eFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygpCiB7Ci0gICAgQ0dGbG9h
dCB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gMDsKKyAgICBDR0Zsb2F0IHdpZHRoU2luY2VMYXN0
Q29tbWl0ID0gMDsKICAgICBzaXplX3QgcnVuQ291bnQgPSBtX2NvbXBsZXhUZXh0UnVucy5zaXpl
KCk7CiAgICAgYm9vbCBoYXNFeHRyYVNwYWNpbmcgPSAobV9mb250LmxldHRlclNwYWNpbmcoKSB8
fCBtX2ZvbnQud29yZFNwYWNpbmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNpbmdE
aXNhYmxlZCgpOwogICAgIGZvciAoc2l6ZV90IHIgPSAwOyByIDwgcnVuQ291bnQ7ICsrcikgewpA
QCAtNDMxLDkgKzQyMCw4IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlw
aHMKICAgICAgICAgY29uc3QgQ0dTaXplKiBhZHZhbmNlcyA9IGNvbXBsZXhUZXh0UnVuLmFkdmFu
Y2VzKCk7CiAKICAgICAgICAgYm9vbCBsYXN0UnVuID0gciArIDEgPT0gcnVuQ291bnQ7Ci0gICAg
ICAgIGNvbnN0IFVDaGFyKiBjcCA9IGNvbXBsZXhUZXh0UnVuLmNoYXJhY3RlcnMoKTsKLSAgICAg
ICAgQ0dGbG9hdCByb3VuZGVkU3BhY2VXaWR0aCA9IHJvdW5kQ0dGbG9hdChmb250RGF0YS0+c3Bh
Y2VXaWR0aCgpKTsKICAgICAgICAgYm9vbCByb3VuZHNBZHZhbmNlcyA9ICFtX2ZvbnQuaXNQcmlu
dGVyRm9udCgpICYmIGZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5yb3VuZHNHbHlwaEFkdmFuY2Vz
KCk7CisgICAgICAgIGNvbnN0IFVDaGFyKiBjcCA9IGNvbXBsZXhUZXh0UnVuLmNoYXJhY3RlcnMo
KTsKICAgICAgICAgQ0dQb2ludCBnbHlwaE9yaWdpbiA9IENHUG9pbnRaZXJvOwogICAgICAgICBD
RkluZGV4IGxhc3RDaGFyYWN0ZXJJbmRleCA9IG1fcnVuLmx0cigpID8gbnVtZXJpY19saW1pdHM8
Q0ZJbmRleD46Om1pbigpIDogbnVtZXJpY19saW1pdHM8Q0ZJbmRleD46Om1heCgpOwogICAgICAg
ICBib29sIGlzTW9ub3RvbmljID0gdHJ1ZTsKQEAgLTQ2Myw3ICs0NTEsNyBAQCB2b2lkIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAKICAgICAgICAgICAgIGlmIChjaCA9PSAn
XHQnICYmIG1fcnVuLmFsbG93VGFicygpKSB7CiAgICAgICAgICAgICAgICAgZmxvYXQgdGFiV2lk
dGggPSBtX2ZvbnQudGFiV2lkdGgoKmZvbnREYXRhKTsKLSAgICAgICAgICAgICAgICBhZHZhbmNl
LndpZHRoID0gdGFiV2lkdGggLSBmbW9kZihtX3J1bi54UG9zKCkgKyBtX3RvdGFsV2lkdGggKyB3
aWR0aFNpbmNlTGFzdFJvdW5kaW5nLCB0YWJXaWR0aCk7CisgICAgICAgICAgICAgICAgYWR2YW5j
ZS53aWR0aCA9IHRhYldpZHRoIC0gZm1vZGYobV9ydW4ueFBvcygpICsgbV90b3RhbFdpZHRoICsg
d2lkdGhTaW5jZUxhc3RDb21taXQsIHRhYldpZHRoKTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAo
Y2ggPT0gemVyb1dpZHRoU3BhY2UgfHwgKEZvbnQ6OnRyZWF0QXNaZXJvV2lkdGhTcGFjZShjaCkg
JiYgIXRyZWF0QXNTcGFjZSkpIHsKICAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoID0gMDsK
ICAgICAgICAgICAgICAgICBnbHlwaCA9IGZvbnREYXRhLT5zcGFjZUdseXBoKCk7CkBAIC00NzUs
MTMgKzQ2Myw2IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHMKIAog
ICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSBmb250RGF0YS0+c3ludGhldGljQm9sZE9mZnNl
dCgpOwogCi0gICAgICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlz
IHdoZW4gYXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAgICAgIC8vIEZpcnN0LCB3ZSBy
b3VuZCBzcGFjZXMgdG8gYW4gYWRqdXN0ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAg
ICAgLy8gU2Vjb25kLCBpbiBmaXhlZC1waXRjaCBmb250cyB3ZSBlbnN1cmUgdGhhdCBhbGwgZ2x5
cGhzIHRoYXQKLSAgICAgICAgICAgIC8vIG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgc3BhY2UgZ2x5
cGggaGF2ZSB0aGUgc2FtZSB3aWR0aCBhcyB0aGUgc3BhY2UgZ2x5cGguCi0gICAgICAgICAgICBp
ZiAocm91bmRlZEFkdmFuY2VXaWR0aCA9PSByb3VuZGVkU3BhY2VXaWR0aCAmJiAoZm9udERhdGEt
PnBpdGNoKCkgPT0gRml4ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgp
KSAmJiBtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpKQotICAgICAgICAgICAgICAgIGFkdmFuY2Uu
d2lkdGggPSBmb250RGF0YS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCk7Ci0KICAgICAgICAgICAgIGlm
IChoYXNFeHRyYVNwYWNpbmcpIHsKICAgICAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBhIGdseXBo
IHdpdGggYW4gYWR2YW5jZSwgZ28gYWhlYWQgYW5kIGFkZCBpbiBsZXR0ZXItc3BhY2luZy4KICAg
ICAgICAgICAgICAgICAvLyBUaGF0IHdheSB3ZSB3ZWVkIG91dCB6ZXJvIHdpZHRoIGx1cmtlcnMu
ICBUaGlzIGJlaGF2aW9yIG1hdGNoZXMgdGhlIGZhc3QgdGV4dCBjb2RlIHBhdGguCkBAIC00OTYs
MTMgKzQ3NywxMyBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRyZWF0QXNTcGFjZSAmJiAhbV9hZnRlckV4cGFu
c2lvbikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRha2UgdGhlIGV4cGFuc2lv
biBvcHBvcnR1bml0eSBiZWZvcmUgdGhpcyBpZGVvZ3JhcGguCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbV9leHBhbnNpb24gLT0gbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZXhwYW5zaW9uID0gcm91bmRmKHByZXZpb3VzRXhw
YW5zaW9uKSAtIHJvdW5kZihtX2V4cGFuc2lvbik7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmxvYXQgZXhwYW5zaW9uID0gcHJldmlvdXNFeHBhbnNpb24gLSBtX2V4cGFuc2lvbjsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtX3RvdGFsV2lkdGggKz0gZXhwYW5zaW9uOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fYWRqdXN0ZWRBZHZhbmNlcy5sYXN0KCkud2lkdGgg
Kz0gZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzRXhwYW5z
aW9uID0gbV9leHBhbnNpb247CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5Owot
ICAgICAgICAgICAgICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSByb3VuZGYocHJldmlvdXNF
eHBhbnNpb24pIC0gcm91bmRmKG1fZXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGFkdmFuY2Uud2lkdGggKz0gcHJldmlvdXNFeHBhbnNpb24gLSBtX2V4cGFuc2lvbjsKICAgICAg
ICAgICAgICAgICAgICAgICAgIG1fYWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwogICAgICAgICAgICAg
ICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgIG1fYWZ0ZXJFeHBhbnNpb24g
PSBmYWxzZTsKQEAgLTUxNCwzMyArNDk1LDcgQEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6
OmFkanVzdEdseXBocwogICAgICAgICAgICAgICAgICAgICBtX2FmdGVyRXhwYW5zaW9uID0gZmFs
c2U7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIC8vIERlYWwgd2l0aCB0aGUgZmxvYXQv
aW50ZWdlciBpbXBlZGFuY2UgbWlzbWF0Y2ggYmV0d2VlbiBDRyBhbmQgV2ViQ29yZS4gIldvcmRz
IiAoY2hhcmFjdGVycyAKLSAgICAgICAgICAgIC8vIGZvbGxvd2VkIGJ5IGEgY2hhcmFjdGVyIGRl
ZmluZWQgYnkgaXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoKSkgYXJlIGFsd2F5cyBhbiBpbnRlZ2Vy
IHdpZHRoLgotICAgICAgICAgICAgLy8gV2UgYWRqdXN0IHRoZSB3aWR0aCBvZiB0aGUgbGFzdCBj
aGFyYWN0ZXIgb2YgYSAid29yZCIgdG8gZW5zdXJlIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAg
ICAgICAvLyBGb3JjZSBjaGFyYWN0ZXJzIHRoYXQgYXJlIHVzZWQgdG8gZGV0ZXJtaW5lIHdvcmQg
Ym91bmRhcmllcyBmb3IgdGhlIHJvdW5kaW5nIGhhY2sKLSAgICAgICAgICAgIC8vIHRvIGJlIGlu
dGVnZXIgd2lkdGgsIHNvIHRoZSBmb2xsb3dpbmcgd29yZHMgd2lsbCBzdGFydCBvbiBhbiBpbnRl
Z2VyIGJvdW5kYXJ5LgotICAgICAgICAgICAgaWYgKG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkg
JiYgRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoY2gpKQotICAgICAgICAgICAgICAgIGFk
dmFuY2Uud2lkdGggPSBjZWlsQ0dGbG9hdChhZHZhbmNlLndpZHRoKTsKLQotICAgICAgICAgICAg
Ly8gQ2hlY2sgdG8gc2VlIGlmIHRoZSBuZXh0IGNoYXJhY3RlciBpcyBhICJyb3VuZGluZyBoYWNr
IGNoYXJhY3RlciIsIGlmIHNvLCBhZGp1c3QgdGhlCi0gICAgICAgICAgICAvLyB3aWR0aCBzbyB0
aGF0IHRoZSB0b3RhbCBydW4gd2lkdGggd2lsbCBiZSBvbiBhbiBpbnRlZ2VyIGJvdW5kYXJ5Lgot
ICAgICAgICAgICAgaWYgKChtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpICYmICFsYXN0R2x5cGgg
JiYgRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIobmV4dENoKSkgfHwgKG1fcnVuLmFwcGx5
UnVuUm91bmRpbmcoKSAmJiBsYXN0R2x5cGgpKSB7Ci0gICAgICAgICAgICAgICAgQ0dGbG9hdCB0
b3RhbFdpZHRoID0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyArIGFkdmFuY2Uud2lkdGg7Ci0gICAg
ICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9IGNlaWxDR0Zsb2F0KHRvdGFsV2lk
dGgpOwotICAgICAgICAgICAgICAgIENHRmxvYXQgZXh0cmFXaWR0aCA9IHdpZHRoU2luY2VMYXN0
Um91bmRpbmcgLSB0b3RhbFdpZHRoOwotICAgICAgICAgICAgICAgIGlmIChtX3J1bi5sdHIoKSkK
LSAgICAgICAgICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSBleHRyYVdpZHRoOwotICAgICAg
ICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZiAobV9sYXN0Um91bmRpbmdH
bHlwaCkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fYWRqdXN0ZWRBZHZhbmNlc1ttX2xhc3RS
b3VuZGluZ0dseXBoIC0gMV0ud2lkdGggKz0gZXh0cmFXaWR0aDsKLSAgICAgICAgICAgICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgbV9maW5hbFJvdW5kaW5nV2lkdGggPSBl
eHRyYVdpZHRoOwotICAgICAgICAgICAgICAgICAgICBtX2xhc3RSb3VuZGluZ0dseXBoID0gbV9h
ZGp1c3RlZEFkdmFuY2VzLnNpemUoKSArIDE7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIG1fdG90YWxXaWR0aCArPSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nOwotICAgICAgICAg
ICAgICAgIHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSAwOwotICAgICAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyArPSBhZHZhbmNlLndpZHRoOwor
ICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RDb21taXQgKz0gYWR2YW5jZS53aWR0aDsKIAogICAg
ICAgICAgICAgLy8gRklYTUU6IENvbWJpbmluZyBtYXJrcyBzaG91bGQgcmVjZWl2ZSBhIHRleHQg
ZW1waGFzaXMgbWFyayBpZiB0aGV5IGFyZSBjb21iaW5lIHdpdGggYSBzcGFjZS4KICAgICAgICAg
ICAgIGlmIChtX2ZvclRleHRFbXBoYXNpcyAmJiAoIUZvbnQ6OmNhblJlY2VpdmVUZXh0RW1waGFz
aXMoY2gpIHx8IChVX0dFVF9HQ19NQVNLKGNoKSAmIFVfR0NfTV9NQVNLKSkpCkBAIC01NjQsNyAr
NTE5LDcgQEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBocwogICAgICAg
ICBpZiAoIWlzTW9ub3RvbmljKQogICAgICAgICAgICAgY29tcGxleFRleHRSdW4uc2V0SXNOb25N
b25vdG9uaWMoKTsKICAgICB9Ci0gICAgbV90b3RhbFdpZHRoICs9IHdpZHRoU2luY2VMYXN0Um91
bmRpbmc7CisgICAgbV90b3RhbFdpZHRoICs9IHdpZHRoU2luY2VMYXN0Q29tbWl0OwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5oCShyZXZp
c2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21w
bGV4VGV4dENvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsOSArNjAsNiBAQCBwdWJs
aWM6CiAKICAgICBmbG9hdCB0b3RhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV90b3RhbFdpZHRo
OyB9CiAKLSAgICAvLyBFeHRyYSB3aWR0aCB0byB0aGUgbGVmdCBvZiB0aGUgbGVmdG1vc3QgZ2x5
cGguCi0gICAgZmxvYXQgZmluYWxSb3VuZGluZ1dpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9maW5h
bFJvdW5kaW5nV2lkdGg7IH0KLQogICAgIGZsb2F0IG1pbkdseXBoQm91bmRpbmdCb3hYKCkgY29u
c3QgeyByZXR1cm4gbV9taW5HbHlwaEJvdW5kaW5nQm94WDsgfQogICAgIGZsb2F0IG1heEdseXBo
Qm91bmRpbmdCb3hYKCkgY29uc3QgeyByZXR1cm4gbV9tYXhHbHlwaEJvdW5kaW5nQm94WDsgfQog
ICAgIGZsb2F0IG1pbkdseXBoQm91bmRpbmdCb3hZKCkgY29uc3QgeyByZXR1cm4gbV9taW5HbHlw
aEJvdW5kaW5nQm94WTsgfQpAQCAtMTc2LDcgKzE3Myw2IEBAIHByaXZhdGU6CiAgICAgc2l6ZV90
IG1fY3VycmVudFJ1bjsKICAgICB1bnNpZ25lZCBtX2dseXBoSW5DdXJyZW50UnVuOwogICAgIHVu
c2lnbmVkIG1fY2hhcmFjdGVySW5DdXJyZW50R2x5cGg7Ci0gICAgZmxvYXQgbV9maW5hbFJvdW5k
aW5nV2lkdGg7CiAgICAgZmxvYXQgbV9leHBhbnNpb247CiAgICAgZmxvYXQgbV9leHBhbnNpb25Q
ZXJPcHBvcnR1bml0eTsKICAgICBib29sIG1fYWZ0ZXJFeHBhbnNpb247CkBAIC0xODcsOCArMTgz
LDYgQEAgcHJpdmF0ZToKICAgICBmbG9hdCBtX21heEdseXBoQm91bmRpbmdCb3hYOwogICAgIGZs
b2F0IG1fbWluR2x5cGhCb3VuZGluZ0JveFk7CiAgICAgZmxvYXQgbV9tYXhHbHlwaEJvdW5kaW5n
Qm94WTsKLSAgICAKLSAgICB1bnNpZ25lZCBtX2xhc3RSb3VuZGluZ0dseXBoOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5jcHAJKHJldmlzaW9u
IDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21w
bGV4VGV4dE1hYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxLDcgKzcxLDcgQEAgZmxvYXQgRm9u
dDo6Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JDb21wbAogICAgIGZsb2F0IGFmdGVyV2lkdGggPSBj
b250cm9sbGVyLnJ1bldpZHRoU29GYXIoKTsKIAogICAgIGlmIChydW4ucnRsKCkpIHsKLSAgICAg
ICAgaW5pdGlhbEFkdmFuY2UgPSBjb250cm9sbGVyLnRvdGFsV2lkdGgoKSArIGNvbnRyb2xsZXIu
ZmluYWxSb3VuZGluZ1dpZHRoKCkgLSBhZnRlcldpZHRoOworICAgICAgICBpbml0aWFsQWR2YW5j
ZSA9IGNvbnRyb2xsZXIudG90YWxXaWR0aCgpIC0gYWZ0ZXJXaWR0aDsKICAgICAgICAgZm9yIChp
bnQgaSA9IDAsIGVuZCA9IGdseXBoQnVmZmVyLnNpemUoKSAtIDE7IGkgPCBnbHlwaEJ1ZmZlci5z
aXplKCkgLyAyOyArK2ksIC0tZW5kKQogICAgICAgICAgICAgZ2x5cGhCdWZmZXIuc3dhcChpLCBl
bmQpOwogICAgIH0gZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0dyYXBoaWNzQ29udGV4dE1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0TWFjLm1tCShyZXZpc2lvbiA3ODM3
MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRl
eHRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTExMiwxNCArMTEyLDE0IEBAIHN0YXRpYyBOU0Nv
bG9yKiBjcmVhdGVQYXR0ZXJuQ29sb3IoTlNTdHIKIH0KIAogLy8gV2ViS2l0IG9uIE1hYyBpcyBh
IHN0YW5kYXJkIHBsYXRmb3JtIGNvbXBvbmVudCwgc28gaXQgbXVzdCB1c2UgdGhlIHN0YW5kYXJk
IHBsYXRmb3JtIGFydHdvcmsgZm9yIHVuZGVybGluZS4KLXZvaWQgR3JhcGhpY3NDb250ZXh0Ojpk
cmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYgcG9pbnQsIGludCB3aWR0aCwg
VGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdM
aW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBmbG9hdCB3aWR0aCwg
VGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVk
KCkpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgLy8gVGhlc2UgYXJlIHRoZSBzYW1l
IGZvciBtaXNzcGVsbGluZyBvciBiYWQgZ3JhbW1hci4KICAgICBpbnQgcGF0dGVybkhlaWdodCA9
IGNNaXNzcGVsbGluZ0xpbmVUaGlja25lc3M7Ci0gICAgaW50IHBhdHRlcm5XaWR0aCA9IGNNaXNz
cGVsbGluZ0xpbmVQYXR0ZXJuV2lkdGg7CisgICAgZmxvYXQgcGF0dGVybldpZHRoID0gY01pc3Nw
ZWxsaW5nTGluZVBhdHRlcm5XaWR0aDsKIAogICAgIGJvb2wgdXNpbmdEb3Q7CiAgICAgTlNDb2xv
ciAqcGF0dGVybkNvbG9yOwpAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
OjpkcmF3TGluZUZvclRleHRDaGUKICAgICAvLyBzcGFjZSBiZXR3ZWVuIGFkamFjZW50IG1pc3Nw
ZWxsZWQgd29yZHMgd2FzIHVuZGVybGluZWQuCiAgICAgaWYgKHVzaW5nRG90KSB7CiAgICAgICAg
IC8vIGFsbG93IHNsaWdodGx5IG1vcmUgY29uc2lkZXJpbmcgdGhhdCB0aGUgcGF0dGVybiBlbmRz
IHdpdGggYSB0cmFuc3BhcmVudCBwaXhlbAotICAgICAgICBpbnQgd2lkdGhNb2QgPSB3aWR0aCAl
IHBhdHRlcm5XaWR0aDsKKyAgICAgICAgZmxvYXQgd2lkdGhNb2QgPSBmbW9kZih3aWR0aCwgcGF0
dGVybldpZHRoKTsKICAgICAgICAgaWYgKHBhdHRlcm5XaWR0aCAtIHdpZHRoTW9kID4gY01pc3Nw
ZWxsaW5nTGluZVBhdHRlcm5HYXBXaWR0aCkKICAgICAgICAgICAgIHdpZHRoIC09IHdpZHRoTW9k
OwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBo
aWNzQ29udGV4dFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC04NDYsMTMgKzg0NiwxMyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6
ZHJhd0ZvY3VzUmluZyhjb25zCiAgICAgZHJhd0ZvY3VzUmluZ0ZvclBhdGgobV9kYXRhLT5wKCks
IHBhdGgsIGNvbG9yLCBtX2RhdGEtPmFudGlBbGlhc2luZ0ZvclJlY3RzQW5kTGluZXMpOwogfQog
Ci12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEludFBvaW50JiBv
cmlnaW4sIGludCB3aWR0aCwgYm9vbCkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZv
clRleHQoY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luLCBmbG9hdCB3aWR0aCwgYm9vbCkKIHsKICAg
ICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBJbnRQb2lu
dCBzdGFydFBvaW50ID0gb3JpZ2luOwotICAgIEludFBvaW50IGVuZFBvaW50ID0gb3JpZ2luICsg
SW50U2l6ZSh3aWR0aCwgMCk7CisgICAgRmxvYXRQb2ludCBzdGFydFBvaW50ID0gb3JpZ2luOwor
ICAgIEZsb2F0UG9pbnQgZW5kUG9pbnQgPSBvcmlnaW4gKyBGbG9hdFNpemUod2lkdGgsIDApOwog
CiAgICAgLy8gSWYgcGFpbnRlbmdpbmUgdHlwZSBpcyBYMTEgdG8gYXZvaWQgYXJ0aWZhY3RzCiAg
ICAgLy8gbGlrZSBidWcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQy
MjQ4CkBAIC04NzIsMTAgKzg3MiwxMSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVG
b3JUZXh0KGNvCiAgICAgfQogI2VuZGlmIC8vIGRlZmluZWQoUV9XU19YMTEpCiAKLSAgICBkcmF3
TGluZShzdGFydFBvaW50LCBlbmRQb2ludCk7CisgICAgLy8gRklYTUU6IExvc3Mgb2YgcHJlY2lz
aW9uIGhlcmUuIE1pZ2h0IGNvbnNpZGVyIHJvdW5kaW5nLgorICAgIGRyYXdMaW5lKEludFBvaW50
KHN0YXJ0UG9pbnQueCgpLCBzdGFydFBvaW50LnkoKSksIEludFBvaW50KGVuZFBvaW50LngoKSwg
ZW5kUG9pbnQueSgpKSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRl
eHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYsIGludCwgVGV4dENoZWNraW5nTGluZVN0eWxlKQor
dm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEZsb2F0
UG9pbnQmLCBmbG9hdCwgVGV4dENoZWNraW5nTGluZVN0eWxlKQogewogICAgIGlmIChwYWludGlu
Z0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCShyZXZp
c2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBs
ZUZvbnREYXRhUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MSw3ICs2MSw2IEBAIHZvaWQgU2lt
cGxlRm9udERhdGE6OnBsYXRmb3JtR2x5cGhJbml0KCkKICAgICBpZiAoIW1fcGxhdGZvcm1EYXRh
LnNpemUoKSkKICAgICAgICAgcmV0dXJuOwogICAgIG1fc3BhY2VHbHlwaCA9IDA7Ci0gICAgbV9h
ZGp1c3RlZFNwYWNlV2lkdGggPSBtX3NwYWNlV2lkdGg7CiAgICAgZGV0ZXJtaW5lUGl0Y2goKTsK
ICAgICBtX21pc3NpbmdHbHlwaERhdGEuZm9udERhdGEgPSB0aGlzOwogICAgIG1fbWlzc2luZ0ds
eXBoRGF0YS5nbHlwaCA9IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL0dyYXBoaWNzQ29udGV4dFNraWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0U2tpYS5jcHAJKHJldmlz
aW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFw
aGljc0NvbnRleHRTa2lhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTk1LDcgKzU5NSw3IEBAIHZv
aWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZShjb25zdCBJbnQKICAgICBwbGF0Zm9ybUNvbnRl
eHQoKS0+Y2FudmFzKCktPmRyYXdQb2ludHMoU2tDYW52YXM6OmtMaW5lc19Qb2ludE1vZGUsIDIs
IHB0cywgcGFpbnQpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0
Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmIHB0LCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVT
dHlsZSBzdHlsZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2lu
Zyhjb25zdCBGbG9hdFBvaW50JiBwdCwgZmxvYXQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHls
ZSBzdHlsZSkKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47
CkBAIC02NDQsOCArNjQ0LDggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dENoZQogICAgIH0KIAogICAgIC8vIE9mZnNldCBpdCB2ZXJ0aWNhbGx5IGJ5IDEgc28gdGhhdCB0
aGVyZSdzIHNvbWUgc3BhY2UgdW5kZXIgdGhlIHRleHQuCi0gICAgU2tTY2FsYXIgb3JpZ2luWCA9
IFNrSW50VG9TY2FsYXIocHQueCgpKTsKLSAgICBTa1NjYWxhciBvcmlnaW5ZID0gU2tJbnRUb1Nj
YWxhcihwdC55KCkpICsgMTsKKyAgICBTa1NjYWxhciBvcmlnaW5YID0gV2ViQ29yZUZsb2F0VG9T
a1NjYWxhcihwdC54KCkpOworICAgIFNrU2NhbGFyIG9yaWdpblkgPSBXZWJDb3JlRmxvYXRUb1Nr
U2NhbGFyKHB0LnkoKSkgKyAxOwogCiAgICAgLy8gTWFrZSBhIHNoYWRlciBmb3IgdGhlIGJpdG1h
cCB3aXRoIGFuIG9yaWdpbiBvZiB0aGUgYm94IHdlJ2xsIGRyYXcuIFRoaXMKICAgICAvLyBzaGFk
ZXIgaXMgcmVmY291bnRlZCBhbmQgd2lsbCBoYXZlIGFuIGluaXRpYWwgcmVmY291bnQgb2YgMS4K
QEAgLTY2NywxMyArNjY3LDEzIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRl
eHRDaGUKICAgICBTa1JlY3QgcmVjdDsKICAgICByZWN0LnNldChvcmlnaW5YLAogICAgICAgICAg
ICAgIG9yaWdpblksCi0gICAgICAgICAgICAgb3JpZ2luWCArIFNrSW50VG9TY2FsYXIod2lkdGgp
LAorICAgICAgICAgICAgIG9yaWdpblggKyBXZWJDb3JlRmxvYXRUb1NrU2NhbGFyKHdpZHRoKSwK
ICAgICAgICAgICAgICBvcmlnaW5ZICsgU2tJbnRUb1NjYWxhcihtaXNzcGVsbEJpdG1hcC0+aGVp
Z2h0KCkpKTsKICAgICBwbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCktPmRyYXdSZWN0KHJlY3Qs
IHBhaW50KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjb25z
dCBJbnRQb2ludCYgcHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCwKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgRmxv
YXRQb2ludCYgcHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0
IHdpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHByaW50
aW5nKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCkBAIC02ODYsOSArNjg2LDkgQEAg
dm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjbwogCiAgICAgaW50IHRoaWNr
bmVzcyA9IFNrTWF4MzIoc3RhdGljX2Nhc3Q8aW50PihzdHJva2VUaGlja25lc3MoKSksIDEpOwog
ICAgIFNrUmVjdCByOwotICAgIHIuZkxlZnQgPSBTa0ludFRvU2NhbGFyKHB0LngoKSk7Ci0gICAg
ci5mVG9wID0gU2tJbnRUb1NjYWxhcihwdC55KCkpOwotICAgIHIuZlJpZ2h0ID0gci5mTGVmdCAr
IFNrSW50VG9TY2FsYXIod2lkdGgpOworICAgIHIuZkxlZnQgPSBXZWJDb3JlRmxvYXRUb1NrU2Nh
bGFyKHB0LngoKSk7CisgICAgci5mVG9wID0gV2ViQ29yZUZsb2F0VG9Ta1NjYWxhcihwdC55KCkp
OworICAgIHIuZlJpZ2h0ID0gci5mTGVmdCArIFdlYkNvcmVGbG9hdFRvU2tTY2FsYXIod2lkdGgp
OwogICAgIHIuZkJvdHRvbSA9IHIuZlRvcCArIFNrSW50VG9TY2FsYXIodGhpY2tuZXNzKTsKIAog
ICAgIFNrUGFpbnQgcGFpbnQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vR3JhcGhpY3NDb250ZXh0Q0dXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRDR1dpbi5jcHAJKHJldmlz
aW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBo
aWNzQ29udGV4dENHV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg0LDcgKzE4NCw3IEBAIHN0
YXRpYyBjb25zdCBDb2xvciYgZ3JhbW1hclBhdHRlcm5Db2xvcigKICAgICByZXR1cm4gZ3JhbW1h
ckNvbG9yOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tp
bmcoY29uc3QgSW50UG9pbnQmIHBvaW50LCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHls
ZSBzdHlsZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhj
b25zdCBGbG9hdFBvaW50JiBwb2ludCwgZmxvYXQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHls
ZSBzdHlsZSkKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vVW5pc2NyaWJlQ29u
dHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9VbmlzY3JpYmVDb250cm9sbGVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjYxLDE4ICsyNjEsMTMgQEAgYm9vbCBVbmlzY3JpYmVDb250cm9s
bGVyOjpzaGFwZUFuZFBsYWNlSQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIC8vIENvbnZl
cnQgYWxsIGNoYXJzIHRoYXQgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgc3BhY2VzIHRvIHVzZSB0aGUg
c3BhY2UgZ2x5cGguCi0gICAgLy8gV2UgYWxzbyBjcmVhdGUgYSBtYXAgdGhhdCBhbGxvd3MgdXMg
dG8gcXVpY2tseSBnbyBmcm9tIHNwYWNlIGdseXBocyBvciByb3VuZGluZwotICAgIC8vIGhhY2sg
Z2x5cGhzIGJhY2sgdG8gdGhlaXIgY29ycmVzcG9uZGluZyBjaGFyYWN0ZXJzLgorICAgIC8vIFdl
IGFsc28gY3JlYXRlIGEgbWFwIHRoYXQgYWxsb3dzIHVzIHRvIHF1aWNrbHkgZ28gZnJvbSBzcGFj
ZSBnbHlwaHMgYmFjayB0byB0aGVpciBjb3JyZXNwb25kaW5nIGNoYXJhY3RlcnMuCiAgICAgVmVj
dG9yPGludD4gc3BhY2VDaGFyYWN0ZXJzKGdseXBocy5zaXplKCkpOwogICAgIHNwYWNlQ2hhcmFj
dGVycy5maWxsKC0xKTsKLSAgICBWZWN0b3I8aW50PiByb3VuZGluZ0hhY2tDaGFyYWN0ZXJzKGds
eXBocy5zaXplKCkpOwotICAgIHJvdW5kaW5nSGFja0NoYXJhY3RlcnMuZmlsbCgtMSk7Ci0gICAg
VmVjdG9yPGludD4gcm91bmRpbmdIYWNrV29yZEJvdW5kYXJpZXMoZ2x5cGhzLnNpemUoKSk7Ci0g
ICAgcm91bmRpbmdIYWNrV29yZEJvdW5kYXJpZXMuZmlsbCgtMSk7CiAKICAgICBjb25zdCBmbG9h
dCBjTG9naWNhbFNjYWxlID0gZm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLnVzZUdESSgpID8gMS4w
ZiA6IDMyLjBmOwogICAgIHVuc2lnbmVkIGxvZ2ljYWxTcGFjZVdpZHRoID0gZm9udERhdGEtPnNw
YWNlV2lkdGgoKSAqIGNMb2dpY2FsU2NhbGU7Ci0gICAgZmxvYXQgcm91bmRlZFNwYWNlV2lkdGgg
PSByb3VuZGYoZm9udERhdGEtPnNwYWNlV2lkdGgoKSk7CisgICAgZmxvYXQgc3BhY2VXaWR0aCA9
IGZvbnREYXRhLT5zcGFjZVdpZHRoKCk7CiAKICAgICBmb3IgKGludCBrID0gMDsgayA8IGxlbjsg
aysrKSB7CiAgICAgICAgIFVDaGFyIGNoID0gKihzdHIgKyBrKTsKQEAgLTI4NiwyMSArMjgxLDYg
QEAgYm9vbCBVbmlzY3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSQogICAgICAgICAgICAg
aWYgKHRyZWF0QXNTcGFjZSkKICAgICAgICAgICAgICAgICBzcGFjZUNoYXJhY3RlcnNbY2x1c3Rl
cnNba11dID0gbV9jdXJyZW50Q2hhcmFjdGVyICsgayArIGl0ZW0uaUNoYXJQb3M7CiAgICAgICAg
IH0KLQotICAgICAgICBpZiAoRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoY2gpKQotICAg
ICAgICAgICAgcm91bmRpbmdIYWNrQ2hhcmFjdGVyc1tjbHVzdGVyc1trXV0gPSBtX2N1cnJlbnRD
aGFyYWN0ZXIgKyBrICsgaXRlbS5pQ2hhclBvczsKLQotICAgICAgICBpbnQgYm91bmRhcnkgPSBr
ICsgbV9jdXJyZW50Q2hhcmFjdGVyICsgaXRlbS5pQ2hhclBvczsKLSAgICAgICAgaWYgKGJvdW5k
YXJ5IDwgbV9ydW4ubGVuZ3RoKCkpIHsKLSAgICAgICAgICAgIC8vIFdoZW4gYXQgdGhlIGxhc3Qg
Y2hhcmFjdGVyIGluIHRoZSBzdHIsIGRvbid0IGxvb2sgb25lIHBhc3QgdGhlIGVuZCBmb3IgYSBy
b3VuZGluZyBoYWNrIGNoYXJhY3Rlci4KLSAgICAgICAgICAgIC8vIEluc3RlYWQgbG9vayBhaGVh
ZCB0byB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIG5leHQgaXRlbSwgaWYgdGhlcmUgaXMgYSBuZXh0
IG9uZS4gCi0gICAgICAgICAgICBpZiAoayArIDEgPT0gbGVuKSB7Ci0gICAgICAgICAgICAgICAg
aWYgKGkgKyAyIDwgbV9pdGVtcy5zaXplKCkgLy8gQ2hlY2sgZm9yIGF0IGxlYXN0IDIgaXRlbXMg
cmVtYWluaW5nLiBUaGUgbGFzdCBpdGVtIGlzIGEgdGVybWluYXRpbmcgaXRlbSBjb250YWluaW5n
IG5vIGNoYXJhY3RlcnMuCi0gICAgICAgICAgICAgICAgICAgICYmIEZvbnQ6OmlzUm91bmRpbmdI
YWNrQ2hhcmFjdGVyKCooY3AgKyBtX2l0ZW1zW2kgKyAxXS5pQ2hhclBvcykpKQotICAgICAgICAg
ICAgICAgICAgICByb3VuZGluZ0hhY2tXb3JkQm91bmRhcmllc1tjbHVzdGVyc1trXV0gPSBib3Vu
ZGFyeTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0
ZXIoKihzdHIgKyBrICsgMSkpKQotICAgICAgICAgICAgICAgIHJvdW5kaW5nSGFja1dvcmRCb3Vu
ZGFyaWVzW2NsdXN0ZXJzW2tdXSA9IGJvdW5kYXJ5OwotICAgICAgICB9CiAgICAgfQogCiAgICAg
Ly8gUG9wdWxhdGUgb3VyIGdseXBoIGJ1ZmZlciB3aXRoIHRoaXMgaW5mb3JtYXRpb24uCkBAIC0z
MTQsMjQgKzI5NCw4IEBAIGJvb2wgVW5pc2NyaWJlQ29udHJvbGxlcjo6c2hhcGVBbmRQbGFjZUkK
ICAgICAgICAgZmxvYXQgb2Zmc2V0WCA9IG9mZnNldHNba10uZHUgLyBjTG9naWNhbFNjYWxlOwog
ICAgICAgICBmbG9hdCBvZmZzZXRZID0gb2Zmc2V0c1trXS5kdiAvIGNMb2dpY2FsU2NhbGU7CiAK
LSAgICAgICAgLy8gTWF0Y2ggQXBwS2l0J3MgcnVsZXMgZm9yIHRoZSBpbnRlZ2VyIHZzLiBub24t
aW50ZWdlciByZW5kZXJpbmcgbW9kZXMuCi0gICAgICAgIGZsb2F0IHJvdW5kZWRBZHZhbmNlID0g
cm91bmRmKGFkdmFuY2UpOwotICAgICAgICBpZiAoIW1fZm9udC5pc1ByaW50ZXJGb250KCkgJiYg
IWZvbnREYXRhLT5pc1N5c3RlbUZvbnQoKSkgewotICAgICAgICAgICAgYWR2YW5jZSA9IHJvdW5k
ZWRBZHZhbmNlOwotICAgICAgICAgICAgb2Zmc2V0WCA9IHJvdW5kZihvZmZzZXRYKTsKLSAgICAg
ICAgICAgIG9mZnNldFkgPSByb3VuZGYob2Zmc2V0WSk7Ci0gICAgICAgIH0KLQogICAgICAgICBh
ZHZhbmNlICs9IGZvbnREYXRhLT5zeW50aGV0aWNCb2xkT2Zmc2V0KCk7CiAKLSAgICAgICAgLy8g
V2Ugc3BlY2lhbCBjYXNlIHNwYWNlcyBpbiB0d28gd2F5cyB3aGVuIGFwcGx5aW5nIHdvcmQgcm91
bmRpbmcuCi0gICAgICAgIC8vIEZpcnN0LCB3ZSByb3VuZCBzcGFjZXMgdG8gYW4gYWRqdXN0ZWQg
d2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAvLyBTZWNvbmQsIGluIGZpeGVkLXBpdGNoIGZv
bnRzIHdlIGVuc3VyZSB0aGF0IGFsbCBnbHlwaHMgdGhhdAotICAgICAgICAvLyBtYXRjaCB0aGUg
d2lkdGggb2YgdGhlIHNwYWNlIGdseXBoIGhhdmUgdGhlIHNhbWUgd2lkdGggYXMgdGhlIHNwYWNl
IGdseXBoLgotICAgICAgICBpZiAocm91bmRlZEFkdmFuY2UgPT0gcm91bmRlZFNwYWNlV2lkdGgg
JiYgKGZvbnREYXRhLT5waXRjaCgpID09IEZpeGVkUGl0Y2ggfHwgZ2x5cGggPT0gZm9udERhdGEt
PnNwYWNlR2x5cGgoKSkgJiYKLSAgICAgICAgICAgIG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkp
Ci0gICAgICAgICAgICBhZHZhbmNlID0gZm9udERhdGEtPmFkanVzdGVkU3BhY2VXaWR0aCgpOwot
CiAgICAgICAgIGlmIChoYXNFeHRyYVNwYWNpbmcpIHsKICAgICAgICAgICAgIC8vIElmIHdlJ3Jl
IGEgZ2x5cGggd2l0aCBhbiBhZHZhbmNlLCBnbyBhaGVhZCBhbmQgYWRkIGluIGxldHRlci1zcGFj
aW5nLgogICAgICAgICAgICAgLy8gVGhhdCB3YXkgd2Ugd2VlZCBvdXQgemVybyB3aWR0aCBsdXJr
ZXJzLiAgVGhpcyBiZWhhdmlvciBtYXRjaGVzIHRoZSBmYXN0IHRleHQgY29kZSBwYXRoLgpAQCAt
MzUyLDcgKzMxNiw3IEBAIGJvb2wgVW5pc2NyaWJlQ29udHJvbGxlcjo6c2hhcGVBbmRQbGFjZUkK
ICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGZs
b2F0IHByZXZpb3VzUGFkZGluZyA9IG1fcGFkZGluZzsKICAgICAgICAgICAgICAgICAgICAgICAg
IG1fcGFkZGluZyAtPSBtX3BhZFBlclNwYWNlOwotICAgICAgICAgICAgICAgICAgICAgICAgYWR2
YW5jZSArPSByb3VuZGYocHJldmlvdXNQYWRkaW5nKSAtIHJvdW5kZihtX3BhZGRpbmcpOworICAg
ICAgICAgICAgICAgICAgICAgICAgYWR2YW5jZSArPSBwcmV2aW91c1BhZGRpbmcgLSBtX3BhZGRp
bmc7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAKQEAgLTM2Miwy
NSArMzI2LDYgQEAgYm9vbCBVbmlzY3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSQogICAg
ICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgLy8gRGVhbCB3aXRoIHRoZSBmbG9hdC9p
bnRlZ2VyIGltcGVkYW5jZSBtaXNtYXRjaCBiZXR3ZWVuIENHIGFuZCBXZWJDb3JlLiAiV29yZHMi
IChjaGFyYWN0ZXJzIAotICAgICAgICAvLyBmb2xsb3dlZCBieSBhIGNoYXJhY3RlciBkZWZpbmVk
IGJ5IGlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKCkpIGFyZSBhbHdheXMgYW4gaW50ZWdlciB3aWR0
aC4KLSAgICAgICAgLy8gV2UgYWRqdXN0IHRoZSB3aWR0aCBvZiB0aGUgbGFzdCBjaGFyYWN0ZXIg
b2YgYSAid29yZCIgdG8gZW5zdXJlIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgIC8vIEZvcmNl
IGNoYXJhY3RlcnMgdGhhdCBhcmUgdXNlZCB0byBkZXRlcm1pbmUgd29yZCBib3VuZGFyaWVzIGZv
ciB0aGUgcm91bmRpbmcgaGFjawotICAgICAgICAvLyB0byBiZSBpbnRlZ2VyIHdpZHRoLCBzbyB0
aGUgZm9sbG93aW5nIHdvcmRzIHdpbGwgc3RhcnQgb24gYW4gaW50ZWdlciBib3VuZGFyeS4KLSAg
ICAgICAgaW50IHJvdW5kaW5nSGFja0luZGV4ID0gcm91bmRpbmdIYWNrQ2hhcmFjdGVyc1trXTsK
LSAgICAgICAgaWYgKG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkgJiYgcm91bmRpbmdIYWNrSW5k
ZXggIT0gLTEpCi0gICAgICAgICAgICBhZHZhbmNlID0gY2VpbGYoYWR2YW5jZSk7Ci0KLSAgICAg
ICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoZSBuZXh0IGNoYXJhY3RlciBpcyBhICJyb3VuZGluZyBo
YWNrIGNoYXJhY3RlciIsIGlmIHNvLCBhZGp1c3QgdGhlCi0gICAgICAgIC8vIHdpZHRoIHNvIHRo
YXQgdGhlIHRvdGFsIHJ1biB3aWR0aCB3aWxsIGJlIG9uIGFuIGludGVnZXIgYm91bmRhcnkuCi0g
ICAgICAgIGludCBwb3NpdGlvbiA9IG1fY3VycmVudENoYXJhY3RlciArIGxlbjsKLSAgICAgICAg
Ym9vbCBsYXN0R2x5cGggPSAoayA9PSBnbHlwaHMuc2l6ZSgpIC0gMSkgJiYgKG1fcnVuLnJ0bCgp
ID8gaSA9PSAwIDogaSA9PSBtX2l0ZW1zLnNpemUoKSAtIDIpICYmIChwb3NpdGlvbiA+PSBtX2Vu
ZCk7Ci0gICAgICAgIGlmICgobV9ydW4uYXBwbHlXb3JkUm91bmRpbmcoKSAmJiByb3VuZGluZ0hh
Y2tXb3JkQm91bmRhcmllc1trXSAhPSAtMSkgfHwKLSAgICAgICAgICAgIChtX3J1bi5hcHBseVJ1
blJvdW5kaW5nKCkgJiYgbGFzdEdseXBoKSkgeyAKLSAgICAgICAgICAgIGZsb2F0IHRvdGFsV2lk
dGggPSBtX3J1bldpZHRoU29GYXIgKyBhZHZhbmNlOwotICAgICAgICAgICAgYWR2YW5jZSArPSBj
ZWlsZih0b3RhbFdpZHRoKSAtIHRvdGFsV2lkdGg7Ci0gICAgICAgIH0KLQogICAgICAgICBtX3J1
bldpZHRoU29GYXIgKz0gYWR2YW5jZTsKIAogICAgICAgICAvLyBGSVhNRTogV2UgbmVlZCB0byB0
YWtlIHRoZSBHT0ZGU0VUUyBmb3IgY29tYmluaW5nIGdseXBocyBhbmQgc3RvcmUgdGhlbSBpbiB0
aGUgZ2x5cGggYnVmZmVyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvRmlsZUNo
b29zZXJHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9G
aWxlQ2hvb3Nlckd0ay5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL0ZpbGVDaG9vc2VyR3RrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjAsOCArNjAs
OCBAQCBTdHJpbmcgRmlsZUNob29zZXI6OmJhc2VuYW1lRm9yV2lkdGgoY29uCiAgICAgICAgIGdj
aGFyKiBzeXN0ZW1CYXNlbmFtZSA9IGdfcGF0aF9nZXRfYmFzZW5hbWUoc3lzdGVtRmlsZW5hbWUu
ZGF0YSgpKTsKICAgICAgICAgc3RyaW5nQnlBZG9wdGluZ0ZpbGVTeXN0ZW1SZXByZXNlbnRhdGlv
bihzeXN0ZW1CYXNlbmFtZSwgc3RyaW5nKTsKICAgICB9IGVsc2UgaWYgKG1fZmlsZW5hbWVzLnNp
emUoKSA+IDEpCi0gICAgICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUo
bXVsdGlwbGVGaWxlVXBsb2FkVGV4dChtX2ZpbGVuYW1lcy5zaXplKCkpLCB3aWR0aCwgZm9udCwg
ZmFsc2UpOworICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11
bHRpcGxlRmlsZVVwbG9hZFRleHQobV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQpOwog
Ci0gICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyaW5nLCB3aWR0
aCwgZm9udCwgZmFsc2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5j
YXRlKHN0cmluZywgd2lkdGgsIGZvbnQpOwogfQogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL0RyYWdJbWFnZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFjLm1tCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTE1
OCw4ICsxNTgsNyBAQCBzdGF0aWMgZmxvYXQgd2lkdGhXaXRoRm9udChOU1N0cmluZyAqc3RyCiAg
ICAgaWYgKGNhblVzZUZhc3RSZW5kZXJlcihidWZmZXIuZGF0YSgpLCBsZW5ndGgpKSB7CiAgICAg
ICAgIEZvbnQgd2ViQ29yZUZvbnQoRm9udFBsYXRmb3JtRGF0YShmb250LCBbZm9udCBwb2ludFNp
emVdKSwgIVtbTlNHcmFwaGljc0NvbnRleHQgY3VycmVudENvbnRleHRdIGlzRHJhd2luZ1RvU2Ny
ZWVuXSk7CiAgICAgICAgIFRleHRSdW4gcnVuKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCk7Ci0gICAg
ICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotICAgICAgICByZXR1cm4gd2ViQ29yZUZv
bnQuZmxvYXRXaWR0aChydW4pOworICAgICAgICByZXR1cm4gd2ViQ29yZUZvbnQud2lkdGgocnVu
KTsKICAgICB9CiAgICAgCiAgICAgcmV0dXJuIFtzdHJpbmcgc2l6ZVdpdGhBdHRyaWJ1dGVzOltO
U0RpY3Rpb25hcnkgZGljdGlvbmFyeVdpdGhPYmplY3RzQW5kS2V5czpmb250LCBOU0ZvbnRBdHRy
aWJ1dGVOYW1lLCBuaWxdXS53aWR0aDsKQEAgLTE5Nyw4ICsxOTYsNyBAQCBzdGF0aWMgdm9pZCBk
cmF3QXRQb2ludChOU1N0cmluZyAqc3RyaW5nCiAgICAgICAgICAgICAKICAgICAgICAgRm9udCB3
ZWJDb3JlRm9udChGb250UGxhdGZvcm1EYXRhKGZvbnQsIFtmb250IHBvaW50U2l6ZV0pLCAhW25z
Q29udGV4dCBpc0RyYXdpbmdUb1NjcmVlbl0sIEFudGlhbGlhc2VkKTsKICAgICAgICAgVGV4dFJ1
biBydW4oYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKTsKLSAgICAgICAgcnVuLmRpc2FibGVSb3VuZGlu
Z0hhY2tzKCk7Ci0gICAgICAgIAorCiAgICAgICAgIENHRmxvYXQgcmVkOwogICAgICAgICBDR0Zs
b2F0IGdyZWVuOwogICAgICAgICBDR0Zsb2F0IGJsdWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvRmlsZUNob29zZXJNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL0ZpbGVDaG9vc2VyTWFjLm1tCShyZXZpc2lvbiA3ODM3MSkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxlQ2hvb3Nlck1hYy5tbQkod29ya2luZyBjb3B5
KQpAQCAtNDcsOSArNDcsOSBAQCBTdHJpbmcgRmlsZUNob29zZXI6OmJhc2VuYW1lRm9yV2lkdGgo
Y29uCiAgICAgZWxzZSBpZiAobV9maWxlbmFtZXMuc2l6ZSgpID09IDEpCiAgICAgICAgIHN0clRv
VHJ1bmNhdGUgPSBbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGRpc3BsYXlOYW1lQXRQ
YXRoOihtX2ZpbGVuYW1lc1swXSldOwogICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIFN0cmluZ1Ry
dW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxvYWRUZXh0KG1fZmlsZW5hbWVz
LnNpemUoKSksIHdpZHRoLCBmb250LCBmYWxzZSk7CisgICAgICAgIHJldHVybiBTdHJpbmdUcnVu
Y2F0b3I6OnJpZ2h0VHJ1bmNhdGUobXVsdGlwbGVGaWxlVXBsb2FkVGV4dChtX2ZpbGVuYW1lcy5z
aXplKCkpLCB3aWR0aCwgZm9udCk7CiAKLSAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50
ZXJUcnVuY2F0ZShzdHJUb1RydW5jYXRlLCB3aWR0aCwgZm9udCwgZmFsc2UpOworICAgIHJldHVy
biBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0clRvVHJ1bmNhdGUsIHdpZHRoLCBm
b250KTsKIH0KIAogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0RyYWdJbWFn
ZVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0RyYWdJ
bWFnZVdpbi5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
d2luL0RyYWdJbWFnZVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxMCwxMyArMjEwLDEzIEBA
IERyYWdJbWFnZVJlZiBjcmVhdGVEcmFnSW1hZ2VGb3JMaW5rKEtVUkwKICAgICBzdGF0aWMgY29u
c3QgQ29sb3IgYm90dG9tQ29sb3IoMjU1LCAyNTUsIDI1NSwgMTI3KTsgLy8gb3JpZ2luYWwgYWxw
aGEgPSAwLjUKICAgICBpZiAoZHJhd1VSTFN0cmluZykgewogICAgICAgICBpZiAoY2xpcFVSTFN0
cmluZykKLSAgICAgICAgICAgIHVybFN0cmluZyA9IFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVu
Y2F0ZSh1cmxTdHJpbmcsIGltYWdlU2l6ZS53aWR0aCgpIC0gKERyYWdMYWJlbEJvcmRlclggKiAy
LjBmKSwgKnVybEZvbnQsIGZhbHNlKTsKKyAgICAgICAgICAgIHVybFN0cmluZyA9IFN0cmluZ1Ry
dW5jYXRvcjo6cmlnaHRUcnVuY2F0ZSh1cmxTdHJpbmcsIGltYWdlU2l6ZS53aWR0aCgpIC0gKERy
YWdMYWJlbEJvcmRlclggKiAyLjBmKSwgKnVybEZvbnQpOwogICAgICAgICBJbnRQb2ludCB0ZXh0
UG9zKERyYWdMYWJlbEJvcmRlclgsIGltYWdlU2l6ZS5oZWlnaHQoKSAtIChMYWJlbEJvcmRlcllP
ZmZzZXQgKyB1cmxGb250LT5mb250TWV0cmljcygpLmRlc2NlbnQoKSkpOwogICAgICAgICBXZWJD
b3JlRHJhd0RvdWJsZWRUZXh0QXRQb2ludChjb250ZXh0LCB1cmxTdHJpbmcsIHRleHRQb3MsICp1
cmxGb250LCB0b3BDb2xvciwgYm90dG9tQ29sb3IpOwogICAgIH0KICAgICAKICAgICBpZiAoY2xp
cExhYmVsU3RyaW5nKQotICAgICAgICBsYWJlbCA9IFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVu
Y2F0ZShsYWJlbCwgaW1hZ2VTaXplLndpZHRoKCkgLSAoRHJhZ0xhYmVsQm9yZGVyWCAqIDIuMGYp
LCAqbGFiZWxGb250LCBmYWxzZSk7CisgICAgICAgIGxhYmVsID0gU3RyaW5nVHJ1bmNhdG9yOjpy
aWdodFRydW5jYXRlKGxhYmVsLCBpbWFnZVNpemUud2lkdGgoKSAtIChEcmFnTGFiZWxCb3JkZXJY
ICogMi4wZiksICpsYWJlbEZvbnQpOwogCiAgICAgSW50UG9pbnQgdGV4dFBvcyhEcmFnTGFiZWxC
b3JkZXJYLCBEcmFnTGFiZWxCb3JkZXJZICsgbGFiZWxGb250LT5waXhlbFNpemUoKSk7CiAgICAg
V2ViQ29yZURyYXdEb3VibGVkVGV4dEF0UG9pbnQoY29udGV4dCwgbGFiZWwsIHRleHRQb3MsICps
YWJlbEZvbnQsIHRvcENvbG9yLCBib3R0b21Db2xvcik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vRmlsZUNob29zZXJXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3dpbi9GaWxlQ2hvb3Nlcldpbi5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVDaG9vc2VyV2luLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDYsOSArNDYsOSBAQCBTdHJpbmcgRmlsZUNob29zZXI6OmJhc2VuYW1lRm9yV2lk
dGgoY29uCiAgICAgICAgIExQV1NUUiBiYXNlbmFtZSA9IFBhdGhGaW5kRmlsZU5hbWVXKHRtcEZp
bGVuYW1lLmNoYXJhY3RlcnNXaXRoTnVsbFRlcm1pbmF0aW9uKCkpOwogICAgICAgICBzdHJpbmcg
PSBTdHJpbmcoYmFzZW5hbWUpOwogICAgIH0gZWxzZQotICAgICAgICByZXR1cm4gU3RyaW5nVHJ1
bmNhdG9yOjpyaWdodFRydW5jYXRlKFN0cmluZzo6bnVtYmVyKG1fZmlsZW5hbWVzLnNpemUoKSkg
KyAiIGZpbGVzIiwgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZ1Ry
dW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShTdHJpbmc6Om51bWJlcihtX2ZpbGVuYW1lcy5zaXplKCkp
ICsgIiBmaWxlcyIsIHdpZHRoLCBmb250KTsKIAotICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6
OmNlbnRlclRydW5jYXRlKHN0cmluZywgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICByZXR1cm4g
U3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJpbmcsIHdpZHRoLCBmb250KTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
d2luL1BvcHVwTWVudVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vd2luL1BvcHVwTWVudVdpbi5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyNiw3
ICszMjYsNyBAQCB2b2lkIFBvcHVwTWVudVdpbjo6Y2FsY3VsYXRlUG9zaXRpb25BbmRTCiAgICAg
ICAgICAgICBpdGVtRm9udC51cGRhdGUobV9wb3B1cENsaWVudC0+Zm9udFNlbGVjdG9yKCkpOwog
ICAgICAgICB9CiAKLSAgICAgICAgcG9wdXBXaWR0aCA9IG1heChwb3B1cFdpZHRoLCBpdGVtRm9u
dC53aWR0aChUZXh0UnVuKHRleHQuY2hhcmFjdGVycygpLCB0ZXh0Lmxlbmd0aCgpKSkpOworICAg
ICAgICBwb3B1cFdpZHRoID0gbWF4KHBvcHVwV2lkdGgsIHN0YXRpY19jYXN0PGludD4oY2VpbGYo
aXRlbUZvbnQud2lkdGgoVGV4dFJ1bih0ZXh0LmNoYXJhY3RlcnMoKSwgdGV4dC5sZW5ndGgoKSkp
KSkpOwogICAgIH0KIAogICAgIGlmIChuYXR1cmFsSGVpZ2h0ID4gbWF4UG9wdXBIZWlnaHQpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2ViQ29yZVRleHRSZW5kZXJlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dlYkNvcmVUZXh0UmVu
ZGVyZXIuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dp
bi9XZWJDb3JlVGV4dFJlbmRlcmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAxLDcgKzEwMSw3
IEBAIHZvaWQgV2ViQ29yZURyYXdEb3VibGVkVGV4dEF0UG9pbnQoR3JhcGgKIAogZmxvYXQgV2Vi
Q29yZVRleHRGbG9hdFdpZHRoKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgRm9udCYgZm9udCkK
IHsKLSAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjp3aWR0aCh0ZXh0LCBmb250LCBmYWxzZSk7
CisgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6d2lkdGgodGV4dCwgZm9udCk7CiB9CiAKIHZv
aWQgV2ViQ29yZVNldFNob3VsZFVzZUZvbnRTbW9vdGhpbmcoYm9vbCBzbW9vdGgpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCShyZXZpc2lvbiA3ODM3
MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTQ1LDYgKzU0NSwyMyBAQCBib29sIEhpdFRlc3RSZXN1bHQ6OmFkZE5vZGVU
b1JlY3RCYXNlZFRlCiAgICAgcmV0dXJuICFyZWN0LmNvbnRhaW5zKHJlY3RGb3JQb2ludCh4LCB5
KSk7CiB9CiAKK2Jvb2wgSGl0VGVzdFJlc3VsdDo6YWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3Vs
dChOb2RlKiBub2RlLCBpbnQgeCwgaW50IHksIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKK3sKKyAg
ICAvLyBJZiBpdCBpcyBub3QgYSByZWN0LWJhc2VkIGhpdCB0ZXN0LCB0aGlzIG1ldGhvZCBoYXMg
dG8gYmUgbm8tb3AuCisgICAgLy8gUmV0dXJuIGZhbHNlLCBzbyB0aGUgaGl0IHRlc3Qgc3RvcHMu
CisgICAgaWYgKCFpc1JlY3RCYXNlZFRlc3QoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgLy8gSWYgbm9kZSBpcyBudWxsLCByZXR1cm4gdHJ1ZSBzbyB0aGUgaGl0IHRlc3QgY2FuIGNv
bnRpbnVlLgorICAgIGlmICghbm9kZSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBub2Rl
ID0gbm9kZS0+c2hhZG93QW5jZXN0b3JOb2RlKCk7CisgICAgbV9yZWN0QmFzZWRUZXN0UmVzdWx0
LmFkZChub2RlKTsKKworICAgIHJldHVybiAhcmVjdC5jb250YWlucyhyZWN0Rm9yUG9pbnQoeCwg
eSkpOworfQorCiB2b2lkIEhpdFRlc3RSZXN1bHQ6OmFwcGVuZChjb25zdCBIaXRUZXN0UmVzdWx0
JiBvdGhlcikKIHsKICAgICBBU1NFUlQoaXNSZWN0QmFzZWRUZXN0KCkgJiYgb3RoZXIuaXNSZWN0
QmFzZWRUZXN0KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1
bHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3Vs
dC5oCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0
UmVzdWx0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIwLDYgKzIwLDcgQEAKICNpZm5kZWYgSGl0VGVz
dFJlc3VsdF9oCiAjZGVmaW5lIEhpdFRlc3RSZXN1bHRfaAogCisjaW5jbHVkZSAiRmxvYXRSZWN0
LmgiCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVk
ZSAiSW50U2l6ZS5oIgpAQCAtMTA5LDcgKzExMCw4IEBAIHB1YmxpYzoKIAogICAgIC8vIFJldHVy
bnMgdHJ1ZSBpZiBpdCBpcyByZWN0LWJhc2VkIGhpdCB0ZXN0IGFuZCBuZWVkcyB0byBjb250aW51
ZSB1bnRpbCB0aGUgcmVjdCBpcyBmdWxseQogICAgIC8vIGVuY2xvc2VkIGJ5IHRoZSBib3VuZGFy
aWVzIG9mIGEgbm9kZS4KLSAgICBib29sIGFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQoTm9k
ZSosIGludCB4LCBpbnQgeSwgY29uc3QgSW50UmVjdCYgcmVjdCA9IEludFJlY3QoKSk7CisgICAg
Ym9vbCBhZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KE5vZGUqLCBpbnQgeCwgaW50IHksIGNv
bnN0IEludFJlY3QmID0gSW50UmVjdCgpKTsKKyAgICBib29sIGFkZE5vZGVUb1JlY3RCYXNlZFRl
c3RSZXN1bHQoTm9kZSosIGludCB4LCBpbnQgeSwgY29uc3QgRmxvYXRSZWN0Jik7CiAgICAgY29u
c3QgTGlzdEhhc2hTZXQ8UmVmUHRyPE5vZGU+ID4mIHJlY3RCYXNlZFRlc3RSZXN1bHQoKSBjb25z
dCB7IHJldHVybiBtX3JlY3RCYXNlZFRlc3RSZXN1bHQ7IH0KICAgICB2b2lkIGFwcGVuZChjb25z
dCBIaXRUZXN0UmVzdWx0Jik7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVC
b3guY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsNyArMTA2LDcgQEAgaW50IElubGluZUJv
eDo6bG9naWNhbEhlaWdodCgpIGNvbnN0CiAgICAgICAgIHJlc3VsdCArPSBmbG93T2JqZWN0LT5i
b3JkZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdodCgpOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0K
KyAKIGludCBJbmxpbmVCb3g6OmNhcmV0TWluT2Zmc2V0KCkgY29uc3QgCiB7IAogICAgIHJldHVy
biBtX3JlbmRlcmVyLT5jYXJldE1pbk9mZnNldCgpOyAKQEAgLTE1MCwxNCArMTUwLDEyIEBAIHZv
aWQgSW5saW5lQm94OjphdHRhY2hMaW5lKCkKICAgICAgICAgdG9SZW5kZXJCb3gobV9yZW5kZXJl
ciktPnNldElubGluZUJveFdyYXBwZXIodGhpcyk7CiB9CiAKLXZvaWQgSW5saW5lQm94OjphZGp1
c3RQb3NpdGlvbihpbnQgZHgsIGludCBkeSkKK3ZvaWQgSW5saW5lQm94OjphZGp1c3RQb3NpdGlv
bihmbG9hdCBkeCwgZmxvYXQgZHkpCiB7CiAgICAgbV94ICs9IGR4OwogICAgIG1feSArPSBkeTsK
LSAgICBpZiAobV9yZW5kZXJlci0+aXNSZXBsYWNlZCgpKSB7Ci0gICAgICAgIFJlbmRlckJveCog
Ym94ID0gdG9SZW5kZXJCb3gobV9yZW5kZXJlcik7Ci0gICAgICAgIGJveC0+bW92ZShkeCwgZHkp
OwotICAgIH0KKyAgICBpZiAobV9yZW5kZXJlci0+aXNSZXBsYWNlZCgpKQorICAgICAgICB0b1Jl
bmRlckJveChtX3JlbmRlcmVyKS0+cG9zaXRpb25MaW5lQm94KHRoaXMpOwogfQogCiB2b2lkIElu
bGluZUJveDo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50IHR5KQpAQCAt
Mjc4LDIxICsyNzYsMzUgQEAgYm9vbCBJbmxpbmVCb3g6OmNhbkFjY29tbW9kYXRlRWxsaXBzaXMo
YgogICAgIHJldHVybiAhKGJveFJlY3QuaW50ZXJzZWN0cyhlbGxpcHNpc1JlY3QpKTsKIH0KIAot
aW50IElubGluZUJveDo6cGxhY2VFbGxpcHNpc0JveChib29sLCBpbnQsIGludCwgaW50LCBib29s
JikKK2Zsb2F0IElubGluZUJveDo6cGxhY2VFbGxpcHNpc0JveChib29sLCBmbG9hdCwgZmxvYXQs
IGZsb2F0LCBib29sJikKIHsKICAgICAvLyBVc2UgLTEgdG8gbWVhbiAid2UgZGlkbid0IHNldCB0
aGUgcG9zaXRpb24uIgogICAgIHJldHVybiAtMTsKIH0KIAotSW50UG9pbnQgSW5saW5lQm94Ojps
b2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCkKK0Zsb2F0UG9pbnQgSW5saW5lQm94Ojpsb2NhdGlv
bkluY2x1ZGluZ0ZsaXBwaW5nKCkKIHsKICAgICBpZiAoIXJlbmRlcmVyKCktPnN0eWxlKCktPmlz
RmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCi0gICAgICAgIHJldHVybiBJbnRQb2ludCh4KCks
IHkoKSk7CisgICAgICAgIHJldHVybiBGbG9hdFBvaW50KHgoKSwgeSgpKTsKICAgICBSZW5kZXJC
bG9jayogYmxvY2sgPSByb290KCktPmJsb2NrKCk7CiAgICAgaWYgKGJsb2NrLT5zdHlsZSgpLT5p
c0hvcml6b250YWxXcml0aW5nTW9kZSgpKQotICAgICAgICByZXR1cm4gSW50UG9pbnQoeCgpLCBi
bG9jay0+aGVpZ2h0KCkgLSBoZWlnaHQoKSAtIHkoKSk7CisgICAgICAgIHJldHVybiBGbG9hdFBv
aW50KHgoKSwgYmxvY2stPmhlaWdodCgpIC0gaGVpZ2h0KCkgLSB5KCkpOwogICAgIGVsc2UKLSAg
ICAgICAgcmV0dXJuIEludFBvaW50KGJsb2NrLT53aWR0aCgpIC0gd2lkdGgoKSAtIHgoKSwgeSgp
KTsKKyAgICAgICAgcmV0dXJuIEZsb2F0UG9pbnQoYmxvY2stPndpZHRoKCkgLSB3aWR0aCgpIC0g
eCgpLCB5KCkpOworfQorCit2b2lkIElubGluZUJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0
UmVjdCYgcmVjdCkKK3sKKyAgICBpZiAoIXJlbmRlcmVyKCktPnN0eWxlKCktPmlzRmxpcHBlZEJs
b2Nrc1dyaXRpbmdNb2RlKCkpCisgICAgICAgIHJldHVybjsKKyAgICByb290KCktPmJsb2NrKCkt
PmZsaXBGb3JXcml0aW5nTW9kZShyZWN0KTsKK30KKworRmxvYXRQb2ludCBJbmxpbmVCb3g6OmZs
aXBGb3JXcml0aW5nTW9kZShjb25zdCBGbG9hdFBvaW50JiBwb2ludCkKK3sKKyAgICBpZiAoIXJl
bmRlcmVyKCktPnN0eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCisgICAgICAg
IHJldHVybiBwb2ludDsKKyAgICByZXR1cm4gcm9vdCgpLT5ibG9jaygpLT5mbGlwRm9yV3JpdGlu
Z01vZGUocG9pbnQpOwogfQogCiB2b2lkIElubGluZUJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKElu
dFJlY3QmIHJlY3QpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCShyZXZp
c2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guaAkod29y
a2luZyBjb3B5KQpAQCAtNjgsNyArNjgsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAg
IElubGluZUJveChSZW5kZXJPYmplY3QqIG9iaiwgaW50IHgsIGludCB5LCBpbnQgbG9naWNhbFdp
ZHRoLCBib29sIGZpcnN0TGluZSwgYm9vbCBjb25zdHJ1Y3RlZCwKKyAgICBJbmxpbmVCb3goUmVu
ZGVyT2JqZWN0KiBvYmosIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IGxvZ2ljYWxXaWR0aCwgYm9v
bCBmaXJzdExpbmUsIGJvb2wgY29uc3RydWN0ZWQsCiAgICAgICAgICAgICAgIGJvb2wgZGlydHks
IGJvb2wgZXh0cmFjdGVkLCBib29sIGlzSG9yaXpvbnRhbCwgSW5saW5lQm94KiBuZXh0LCBJbmxp
bmVCb3gqIHByZXYsIElubGluZUZsb3dCb3gqIHBhcmVudCkKICAgICAgICAgOiBtX25leHQobmV4
dCkKICAgICAgICAgLCBtX3ByZXYocHJldikKQEAgLTExMiwxNSArMTEyLDE1IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgYm9vbCBpc0xpbmVCcmVhaygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UG9zaXRpb24oaW50IGR4LCBpbnQgZHkpOwotICAg
IHZvaWQgYWRqdXN0TGluZURpcmVjdGlvblBvc2l0aW9uKGludCBkZWx0YSkKKyAgICB2aXJ0dWFs
IHZvaWQgYWRqdXN0UG9zaXRpb24oZmxvYXQgZHgsIGZsb2F0IGR5KTsKKyAgICB2b2lkIGFkanVz
dExpbmVEaXJlY3Rpb25Qb3NpdGlvbihmbG9hdCBkZWx0YSkKICAgICB7CiAgICAgICAgIGlmIChp
c0hvcml6b250YWwoKSkKICAgICAgICAgICAgIGFkanVzdFBvc2l0aW9uKGRlbHRhLCAwKTsKICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgYWRqdXN0UG9zaXRpb24oMCwgZGVsdGEpOwogICAgIH0K
LSAgICB2b2lkIGFkanVzdEJsb2NrRGlyZWN0aW9uUG9zaXRpb24oaW50IGRlbHRhKQorICAgIHZv
aWQgYWRqdXN0QmxvY2tEaXJlY3Rpb25Qb3NpdGlvbihmbG9hdCBkZWx0YSkKICAgICB7CiAgICAg
ICAgIGlmIChpc0hvcml6b250YWwoKSkKICAgICAgICAgICAgIGFkanVzdFBvc2l0aW9uKDAsIGRl
bHRhKTsKQEAgLTIyMCwyOCArMjIwLDI4IEBAIHB1YmxpYzoKICAgICBSb290SW5saW5lQm94KiBy
b290KCk7CiAKICAgICAvLyB4KCkgaXMgdGhlIGxlZnQgc2lkZSBvZiB0aGUgYm94IGluIHRoZSBj
b250YWluaW5nIGJsb2NrJ3MgY29vcmRpbmF0ZSBzeXN0ZW0uCi0gICAgdm9pZCBzZXRYKGludCB4
KSB7IG1feCA9IHg7IH0KLSAgICBpbnQgeCgpIGNvbnN0IHsgcmV0dXJuIG1feDsgfQorICAgIHZv
aWQgc2V0WChmbG9hdCB4KSB7IG1feCA9IHg7IH0KKyAgICBmbG9hdCB4KCkgY29uc3QgeyByZXR1
cm4gbV94OyB9CiAKICAgICAvLyB5KCkgaXMgdGhlIHRvcCBzaWRlIG9mIHRoZSBib3ggaW4gdGhl
IGNvbnRhaW5pbmcgYmxvY2sncyBjb29yZGluYXRlIHN5c3RlbS4KLSAgICB2b2lkIHNldFkoaW50
IHkpIHsgbV95ID0geTsgfQotICAgIGludCB5KCkgY29uc3QgeyByZXR1cm4gbV95OyB9CisgICAg
dm9pZCBzZXRZKGZsb2F0IHkpIHsgbV95ID0geTsgfQorICAgIGZsb2F0IHkoKSBjb25zdCB7IHJl
dHVybiBtX3k7IH0KIAotICAgIGludCB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRh
bCgpID8gbG9naWNhbFdpZHRoKCkgOiBsb2dpY2FsSGVpZ2h0KCk7IH0KLSAgICBpbnQgaGVpZ2h0
KCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsSGVpZ2h0KCkgOiBsb2dp
Y2FsV2lkdGgoKTsgfQotCi0gICAgSW50UmVjdCBmcmFtZVJlY3QoKSBjb25zdCB7IHJldHVybiBJ
bnRSZWN0KHgoKSwgeSgpLCB3aWR0aCgpLCBoZWlnaHQoKSk7IH0KKyAgICBmbG9hdCB3aWR0aCgp
IGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbG9naWNhbFdpZHRoKCkgOiBsb2dpY2Fs
SGVpZ2h0KCk7IH0KKyAgICBmbG9hdCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250
YWwoKSA/IGxvZ2ljYWxIZWlnaHQoKSA6IGxvZ2ljYWxXaWR0aCgpOyB9CiAKICAgICAvLyBUaGUg
bG9naWNhbExlZnQgcG9zaXRpb24gaXMgdGhlIGxlZnQgZWRnZSBvZiB0aGUgbGluZSBib3ggaW4g
YSBob3Jpem9udGFsIGxpbmUgYW5kIHRoZSB0b3AgZWRnZSBpbiBhIHZlcnRpY2FsIGxpbmUuCi0g
ICAgaW50IGxvZ2ljYWxMZWZ0KCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBtX3gg
OiBtX3k7IH0KLSAgICBpbnQgbG9naWNhbFJpZ2h0KCkgY29uc3QgeyByZXR1cm4gbG9naWNhbExl
ZnQoKSArIGxvZ2ljYWxXaWR0aCgpOyB9Ci0gICAgdm9pZCBzZXRMb2dpY2FsTGVmdChpbnQgbGVm
dCkKKyAgICBmbG9hdCBsb2dpY2FsTGVmdCgpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbCgp
ID8gbV94IDogbV95OyB9CisgICAgZmxvYXQgbG9naWNhbFJpZ2h0KCkgY29uc3QgeyByZXR1cm4g
bG9naWNhbExlZnQoKSArIGxvZ2ljYWxXaWR0aCgpOyB9CisgICAgdm9pZCBzZXRMb2dpY2FsTGVm
dChmbG9hdCBsZWZ0KQogICAgIHsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKQogICAgICAg
ICAgICAgbV94ID0gbGVmdDsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbV95ID0gbGVmdDsK
ICAgICB9CisgICAgaW50IHBpeGVsU25hcHBlZExvZ2ljYWxMZWZ0KCkgY29uc3QgeyByZXR1cm4g
bG9naWNhbExlZnQoKTsgfQorICAgIGludCBwaXhlbFNuYXBwZWRMb2dpY2FsUmlnaHQoKSBjb25z
dCB7IHJldHVybiBjZWlsZihsb2dpY2FsUmlnaHQoKSk7IH0KIAogICAgIC8vIFRoZSBsb2dpY2Fs
VG9wWyBwb3NpdGlvbiBpcyB0aGUgdG9wIGVkZ2Ugb2YgdGhlIGxpbmUgYm94IGluIGEgaG9yaXpv
bnRhbCBsaW5lIGFuZCB0aGUgbGVmdCBlZGdlIGluIGEgdmVydGljYWwgbGluZS4KICAgICBpbnQg
bG9naWNhbFRvcCgpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbV95IDogbV94OyB9
CkBAIC0yNTUsOCArMjU1LDggQEAgcHVibGljOgogICAgIH0KIAogICAgIC8vIFRoZSBsb2dpY2Fs
IHdpZHRoIGlzIG91ciBleHRlbnQgaW4gdGhlIGxpbmUncyBvdmVyYWxsIGlubGluZSBkaXJlY3Rp
b24sIGkuZS4sIHdpZHRoIGZvciBob3Jpem9udGFsIHRleHQgYW5kIGhlaWdodCBmb3IgdmVydGlj
YWwgdGV4dC4KLSAgICB2b2lkIHNldExvZ2ljYWxXaWR0aChpbnQgdykgeyBtX2xvZ2ljYWxXaWR0
aCA9IHc7IH0KLSAgICBpbnQgbG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9sb2dpY2Fs
V2lkdGg7IH0KKyAgICB2b2lkIHNldExvZ2ljYWxXaWR0aChmbG9hdCB3KSB7IG1fbG9naWNhbFdp
ZHRoID0gdzsgfQorICAgIGZsb2F0IGxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9n
aWNhbFdpZHRoOyB9CiAKICAgICAvLyBUaGUgbG9naWNhbCBoZWlnaHQgaXMgb3VyIGV4dGVudCBp
biB0aGUgYmxvY2sgZmxvdyBkaXJlY3Rpb24sIGkuZS4sIGhlaWdodCBmb3IgaG9yaXpvbnRhbCB0
ZXh0IGFuZCB3aWR0aCBmb3IgdmVydGljYWwgdGV4dC4KICAgICBpbnQgbG9naWNhbEhlaWdodCgp
IGNvbnN0OwpAQCAtMjg2LDcgKzI4Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBj
YW5BY2NvbW1vZGF0ZUVsbGlwc2lzKGJvb2wgbHRyLCBpbnQgYmxvY2tFZGdlLCBpbnQgZWxsaXBz
aXNXaWR0aCk7CiAgICAgLy8gdmlzaWJsZUxlZnRFZGdlLCB2aXNpYmxlUmlnaHRFZGdlIGFyZSBp
biB0aGUgcGFyZW50J3MgY29vcmRpbmF0ZSBzeXN0ZW0uCi0gICAgdmlydHVhbCBpbnQgcGxhY2VF
bGxpcHNpc0JveChib29sIGx0ciwgaW50IHZpc2libGVMZWZ0RWRnZSwgaW50IHZpc2libGVSaWdo
dEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBib29sJik7CisgICAgdmlydHVhbCBmbG9hdCBwbGFj
ZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBmbG9hdCB2aXNpYmxlTGVmdEVkZ2UsIGZsb2F0IHZpc2li
bGVSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmKTsKIAogICAgIHZvaWQgc2V0
SGFzQmFkUGFyZW50KCk7CiAKQEAgLTMwMiwxMCArMzAyLDEyIEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuIDA7CiAgICAgfQogCi0gICAgSW50UG9pbnQgbG9jYXRpb25JbmNsdWRpbmdGbGlwcGlu
ZygpOworICAgIEZsb2F0UG9pbnQgbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOworICAgIHZv
aWQgZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0UmVjdCYpOworICAgIEZsb2F0UG9pbnQgZmxpcEZv
cldyaXRpbmdNb2RlKGNvbnN0IEZsb2F0UG9pbnQmKTsKICAgICB2b2lkIGZsaXBGb3JXcml0aW5n
TW9kZShJbnRSZWN0Jik7CiAgICAgSW50UG9pbnQgZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IElu
dFBvaW50Jik7Ci0KKyAgICAKIHByaXZhdGU6CiAgICAgSW5saW5lQm94KiBtX25leHQ7IC8vIFRo
ZSBuZXh0IGVsZW1lbnQgb24gdGhlIHNhbWUgbGluZSBhcyB1cy4KICAgICBJbmxpbmVCb3gqIG1f
cHJldjsgLy8gVGhlIHByZXZpb3VzIGVsZW1lbnQgb24gdGhlIHNhbWUgbGluZSBhcyB1cy4KQEAg
LTMxNSw5ICszMTcsOSBAQCBwcml2YXRlOgogcHVibGljOgogICAgIFJlbmRlck9iamVjdCogbV9y
ZW5kZXJlcjsKIAotICAgIGludCBtX3g7Ci0gICAgaW50IG1feTsKLSAgICBpbnQgbV9sb2dpY2Fs
V2lkdGg7CisgICAgZmxvYXQgbV94OworICAgIGZsb2F0IG1feTsKKyAgICBmbG9hdCBtX2xvZ2lj
YWxXaWR0aDsKICAgICAKICAgICAvLyBTb21lIG9mIHRoZXNlIGJpdHMgYXJlIGFjdHVhbGx5IGZv
ciBzdWJjbGFzc2VzIGFuZCBtb3ZlZCBoZXJlIHRvIGNvbXBhY3QgdGhlIHN0cnVjdHVyZXMuCiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHJldmlz
aW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2NywxOCBAQCBpbnQgSW5saW5lRmxvd0JveDo6Z2V0
Rmxvd1NwYWNpbmdMb2dpY2FsCiAgICAgcmV0dXJuIHRvdFdpZHRoOwogfQogCitJbnRSZWN0IElu
bGluZUZsb3dCb3g6OnBpeGVsU25hcHBlZEZyYW1lUmVjdCgpIGNvbnN0Cit7CisgICAgLy8gQmVn
aW4gYnkgc25hcHBpbmcgdGhlIHggYW5kIHkgY29vcmRpbmF0ZXMgdG8gdGhlIG5lYXJlc3QgcGl4
ZWwuCisgICAgaW50IHNuYXBwZWRYID0gbHJvdW5kZih4KCkpOworICAgIGludCBzbmFwcGVkWSA9
IGxyb3VuZGYoeSgpKTsKKyAgICAKKyAgICBpbnQgc25hcHBlZE1heFggPSBscm91bmRmKHgoKSAr
IHdpZHRoKCkpOworICAgIGludCBzbmFwcGVkTWF4WSA9IGxyb3VuZGYoeSgpICsgaGVpZ2h0KCkp
OworICAgIAorICAgIHJldHVybiBJbnRSZWN0KHNuYXBwZWRYLCBzbmFwcGVkWSwgc25hcHBlZE1h
eFggLSBzbmFwcGVkWCwgc25hcHBlZE1heFkgLSBzbmFwcGVkWSk7Cit9CisKIHZvaWQgSW5saW5l
Rmxvd0JveDo6YWRkVG9MaW5lKElubGluZUJveCogY2hpbGQpIAogewogICAgIEFTU0VSVCghY2hp
bGQtPnBhcmVudCgpKTsKQEAgLTE2NywxMyArMTc5LDEzIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6
YXR0YWNoTGluZUJveFRvUmVuZGUKICAgICB0b1JlbmRlcklubGluZShyZW5kZXJlcigpKS0+bGlu
ZUJveGVzKCktPmF0dGFjaExpbmVCb3godGhpcyk7CiB9CiAKLXZvaWQgSW5saW5lRmxvd0JveDo6
YWRqdXN0UG9zaXRpb24oaW50IGR4LCBpbnQgZHkpCit2b2lkIElubGluZUZsb3dCb3g6OmFkanVz
dFBvc2l0aW9uKGZsb2F0IGR4LCBmbG9hdCBkeSkKIHsKICAgICBJbmxpbmVCb3g6OmFkanVzdFBv
c2l0aW9uKGR4LCBkeSk7CiAgICAgZm9yIChJbmxpbmVCb3gqIGNoaWxkID0gZmlyc3RDaGlsZCgp
OyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dE9uTGluZSgpKQogICAgICAgICBjaGlsZC0+YWRq
dXN0UG9zaXRpb24oZHgsIGR5KTsKICAgICBpZiAobV9vdmVyZmxvdykKLSAgICAgICAgbV9vdmVy
Zmxvdy0+bW92ZShkeCwgZHkpOworICAgICAgICBtX292ZXJmbG93LT5tb3ZlKGR4LCBkeSk7IC8v
IEZJWE1FOiBSb3VuZGluZyBlcnJvciBoZXJlIHNpbmNlIG92ZXJmbG93IHdhcyBwaXhlbCBzbmFw
cGVkLCBidXQgbm9ib2R5IG90aGVyIHRoYW4gbGlzdCBtYXJrZXJzIHBhc3NlcyBub24taW50ZWdy
YWwgdmFsdWVzIGhlcmUuCiB9CiAKIFJlbmRlckxpbmVCb3hMaXN0KiBJbmxpbmVGbG93Qm94Ojpy
ZW5kZXJlckxpbmVCb3hlcygpIGNvbnN0CkBAIC0yNTUsMTIgKzI2NywxMiBAQCB2b2lkIElubGlu
ZUZsb3dCb3g6OmRldGVybWluZVNwYWNpbmdGb3JGCiAgICAgfQogfQogCi1pbnQgSW5saW5lRmxv
d0JveDo6cGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9uKGludCBsb2dpY2FsTGVmdCwgYm9vbCYg
bmVlZHNXb3JkU3BhY2luZywgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmIHRleHRC
b3hEYXRhTWFwKQorZmxvYXQgSW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0luSW5saW5lRGlyZWN0
aW9uKGZsb2F0IGxvZ2ljYWxMZWZ0LCBib29sJiBuZWVkc1dvcmRTcGFjaW5nLCBHbHlwaE92ZXJm
bG93QW5kRmFsbGJhY2tGb250c01hcCYgdGV4dEJveERhdGFNYXApCiB7CiAgICAgLy8gU2V0IG91
ciB4IHBvc2l0aW9uLgogICAgIHNldExvZ2ljYWxMZWZ0KGxvZ2ljYWxMZWZ0KTsKICAgCi0gICAg
aW50IHN0YXJ0TG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdDsKKyAgICBmbG9hdCBzdGFydExvZ2lj
YWxMZWZ0ID0gbG9naWNhbExlZnQ7CiAgICAgbG9naWNhbExlZnQgKz0gYm9yZGVyTG9naWNhbExl
ZnQoKSArIHBhZGRpbmdMb2dpY2FsTGVmdCgpOwogICAgIAogICAgIGZvciAoSW5saW5lQm94KiBj
dXJyID0gZmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dE9uTGluZSgpKSB7CkBA
IC03MjQsOCArNzM2LDggQEAgdm9pZCBJbmxpbmVGbG93Qm94OjphZGRCb3hTaGFkb3dWaXN1YWxP
dgogICAgIGludCBib3hTaGFkb3dMb2dpY2FsUmlnaHQ7CiAgICAgcmVuZGVyZXIoKS0+c3R5bGUo
bV9maXJzdExpbmUpLT5nZXRCb3hTaGFkb3dJbmxpbmVEaXJlY3Rpb25FeHRlbnQoYm94U2hhZG93
TG9naWNhbExlZnQsIGJveFNoYWRvd0xvZ2ljYWxSaWdodCk7CiAKLSAgICBpbnQgbG9naWNhbExl
ZnRWaXN1YWxPdmVyZmxvdyA9IG1pbihsb2dpY2FsTGVmdCgpICsgYm94U2hhZG93TG9naWNhbExl
ZnQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy54KCkpOwotICAgIGludCBsb2dpY2FsUmlnaHRWaXN1
YWxPdmVyZmxvdyA9IG1heChsb2dpY2FsUmlnaHQoKSArIGJveFNoYWRvd0xvZ2ljYWxSaWdodCwg
bG9naWNhbFZpc3VhbE92ZXJmbG93Lm1heFgoKSk7CisgICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFs
T3ZlcmZsb3cgPSBtaW4ocGl4ZWxTbmFwcGVkTG9naWNhbExlZnQoKSArIGJveFNoYWRvd0xvZ2lj
YWxMZWZ0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cueCgpKTsKKyAgICBpbnQgbG9naWNhbFJpZ2h0
VmlzdWFsT3ZlcmZsb3cgPSBtYXgocGl4ZWxTbmFwcGVkTG9naWNhbFJpZ2h0KCkgKyBib3hTaGFk
b3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhYKCkpOwogICAgIAogICAg
IGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyA9IEludFJlY3QobG9naWNhbExlZnRWaXN1YWxPdmVyZmxv
dywgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsTGVmdFZpc3VhbE92
ZXJmbG93LCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsVG9wVmlzdWFsT3Zl
cmZsb3cpOwpAQCAtNzgxLDggKzc5Myw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6YWRkVGV4dEJv
eFZpc3VhbE92ZXIKIAogICAgIGludCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cgPSBtaW4odGV4
dEJveC0+bG9naWNhbFRvcCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxUb3AsIGxvZ2ljYWxWaXN1
YWxPdmVyZmxvdy55KCkpOwogICAgIGludCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBt
YXgodGV4dEJveC0+bG9naWNhbEJvdHRvbSgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxCb3R0b20s
IGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhZKCkpOwotICAgIGludCBsb2dpY2FsTGVmdFZpc3Vh
bE92ZXJmbG93ID0gbWluKHRleHRCb3gtPmxvZ2ljYWxMZWZ0KCkgKyBjaGlsZE92ZXJmbG93TG9n
aWNhbExlZnQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy54KCkpOwotICAgIGludCBsb2dpY2FsUmln
aHRWaXN1YWxPdmVyZmxvdyA9IG1heCh0ZXh0Qm94LT5sb2dpY2FsUmlnaHQoKSArIGNoaWxkT3Zl
cmZsb3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhYKCkpOworICAgIGlu
dCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93ID0gbWluKHRleHRCb3gtPnBpeGVsU25hcHBlZExv
Z2ljYWxMZWZ0KCkgKyBjaGlsZE92ZXJmbG93TG9naWNhbExlZnQsIGxvZ2ljYWxWaXN1YWxPdmVy
Zmxvdy54KCkpOworICAgIGludCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1heCh0ZXh0
Qm94LT5waXhlbFNuYXBwZWRMb2dpY2FsUmlnaHQoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmln
aHQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhYKCkpOwogICAgIAogICAgIGxvZ2ljYWxWaXN1
YWxPdmVyZmxvdyA9IEludFJlY3QobG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdywgbG9naWNhbFRv
cFZpc3VhbE92ZXJmbG93LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9n
aWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBsb2dp
Y2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cpOwpAQCAt
ODY0LDcgKzg3Niw3IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6Y29tcHV0ZU92ZXJmbG93KGludCAK
IC8vIGFsbCBmdW5jdGlvbnMgdGhhdCBxdWVyeSBvdmVyZmxvdy4gICAKIHZvaWQgSW5saW5lRmxv
d0JveDo6c2V0TGF5b3V0T3ZlcmZsb3coY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKLSAgICBJbnRS
ZWN0IGZyYW1lQm94ID0gZnJhbWVSZWN0KCk7CisgICAgSW50UmVjdCBmcmFtZUJveCA9IHBpeGVs
U25hcHBlZEZyYW1lUmVjdCgpOwogICAgIGlmIChmcmFtZUJveCA9PSByZWN0IHx8IHJlY3QuaXNF
bXB0eSgpKQogICAgICAgICByZXR1cm47CiAgICAgICAgIApAQCAtODc2LDcgKzg4OCw3IEBAIHZv
aWQgSW5saW5lRmxvd0JveDo6c2V0TGF5b3V0T3ZlcmZsb3coY28KIAogdm9pZCBJbmxpbmVGbG93
Qm94OjpzZXRWaXN1YWxPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiByZWN0KQogewotICAgIEludFJl
Y3QgZnJhbWVCb3ggPSBmcmFtZVJlY3QoKTsKKyAgICBJbnRSZWN0IGZyYW1lQm94ID0gcGl4ZWxT
bmFwcGVkRnJhbWVSZWN0KCk7CiAgICAgaWYgKGZyYW1lQm94ID09IHJlY3QgfHwgcmVjdC5pc0Vt
cHR5KCkpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCkBAIC05MTIsOSArOTI0LDkgQEAgYm9v
bCBJbmxpbmVGbG93Qm94Ojpub2RlQXRQb2ludChjb25zdCBIaQogICAgIH0KIAogICAgIC8vIE5v
dyBjaGVjayBvdXJzZWx2ZXMuCi0gICAgSW50UG9pbnQgYm94T3JpZ2luID0gbG9jYXRpb25JbmNs
dWRpbmdGbGlwcGluZygpOworICAgIEZsb2F0UG9pbnQgYm94T3JpZ2luID0gbG9jYXRpb25JbmNs
dWRpbmdGbGlwcGluZygpOwogICAgIGJveE9yaWdpbi5tb3ZlKHR4LCB0eSk7Ci0gICAgSW50UmVj
dCByZWN0KGJveE9yaWdpbiwgSW50U2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSkpOworICAgIEZsb2F0
UmVjdCByZWN0KGJveE9yaWdpbiwgSW50U2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSkpOwogICAgIGlm
ICh2aXNpYmxlVG9IaXRUZXN0aW5nKCkgJiYgcmVjdC5pbnRlcnNlY3RzKHJlc3VsdC5yZWN0Rm9y
UG9pbnQoeCwgeSkpKSB7CiAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUhpdFRlc3RSZXN1bHQo
cmVzdWx0LCBmbGlwRm9yV3JpdGluZ01vZGUoSW50UG9pbnQoeCAtIHR4LCB5IC0gdHkpKSk7IC8v
IERvbid0IGFkZCBpbiBtX3ggb3IgbV95IGhlcmUsIHdlIHdhbnQgY29vcmRzIGluIHRoZSBjb250
YWluaW5nIGJsb2NrJ3Mgc3BhY2UuCiAgICAgICAgIGlmICghcmVzdWx0LmFkZE5vZGVUb1JlY3RC
YXNlZFRlc3RSZXN1bHQocmVuZGVyZXIoKS0+bm9kZSgpLCB4LCB5LCByZWN0KSkKQEAgLTEwNDMs
MTAgKzEwNTUsMTIgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwYWludEJveERlY29yYXRpb25zKAog
ICAgIGlmICghcGFpbnRJbmZvLnNob3VsZFBhaW50V2l0aGluUm9vdChyZW5kZXJlcigpKSB8fCBy
ZW5kZXJlcigpLT5zdHlsZSgpLT52aXNpYmlsaXR5KCkgIT0gVklTSUJMRSB8fCBwYWludEluZm8u
cGhhc2UgIT0gUGFpbnRQaGFzZUZvcmVncm91bmQpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlu
dCB4ID0gbV94OwotICAgIGludCB5ID0gbV95OwotICAgIGludCB3ID0gd2lkdGgoKTsKLSAgICBp
bnQgaCA9IGhlaWdodCgpOworICAgIC8vIFBpeGVsIHNuYXAgYmFja2dyb3VuZC9ib3JkZXIgcGFp
bnRpbmcuCisgICAgSW50UmVjdCBmcmFtZVJlY3QgPSBwaXhlbFNuYXBwZWRGcmFtZVJlY3QoKTsK
KyAgICBpbnQgeCA9IGZyYW1lUmVjdC54KCk7CisgICAgaW50IHkgPSBmcmFtZVJlY3QueSgpOwor
ICAgIGludCB3ID0gZnJhbWVSZWN0LndpZHRoKCk7CisgICAgaW50IGggPSBmcmFtZVJlY3QuaGVp
Z2h0KCk7CiAKICAgICAvLyBDb25zdHJhaW4gb3VyIGJhY2tncm91bmQvYm9yZGVyIHBhaW50aW5n
IHRvIHRoZSBsaW5lIHRvcCBhbmQgYm90dG9tIGlmIG5lY2Vzc2FyeS4KICAgICBib29sIG5vUXVp
cmtzTW9kZSA9IHJlbmRlcmVyKCktPmRvY3VtZW50KCktPmluTm9RdWlya3NNb2RlKCk7CkBAIC0x
MTI2LDEwICsxMTQwLDEyIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6cGFpbnRNYXNrKFBhaW50SW5m
byYKICAgICBpZiAoIXBhaW50SW5mby5zaG91bGRQYWludFdpdGhpblJvb3QocmVuZGVyZXIoKSkg
fHwgcmVuZGVyZXIoKS0+c3R5bGUoKS0+dmlzaWJpbGl0eSgpICE9IFZJU0lCTEUgfHwgcGFpbnRJ
bmZvLnBoYXNlICE9IFBhaW50UGhhc2VNYXNrKQogICAgICAgICByZXR1cm47CiAKLSAgICBpbnQg
eCA9IG1feDsKLSAgICBpbnQgeSA9IG1feTsKLSAgICBpbnQgdyA9IHdpZHRoKCk7Ci0gICAgaW50
IGggPSBoZWlnaHQoKTsKKyAgICAvLyBQaXhlbCBzbmFwIG1hc2sgcGFpbnRpbmcuCisgICAgSW50
UmVjdCBmcmFtZVJlY3QgPSBwaXhlbFNuYXBwZWRGcmFtZVJlY3QoKTsKKyAgICBpbnQgeCA9IGZy
YW1lUmVjdC54KCk7CisgICAgaW50IHkgPSBmcmFtZVJlY3QueSgpOworICAgIGludCB3ID0gZnJh
bWVSZWN0LndpZHRoKCk7CisgICAgaW50IGggPSBmcmFtZVJlY3QuaGVpZ2h0KCk7CiAKICAgICAv
LyBDb25zdHJhaW4gb3VyIGJhY2tncm91bmQvYm9yZGVyIHBhaW50aW5nIHRvIHRoZSBsaW5lIHRv
cCBhbmQgYm90dG9tIGlmIG5lY2Vzc2FyeS4KICAgICBib29sIG5vUXVpcmtzTW9kZSA9IHJlbmRl
cmVyKCktPmRvY3VtZW50KCktPmluTm9RdWlya3NNb2RlKCk7CkBAIC0xMjMwLDE0ICsxMjQ2LDE0
IEBAIGJvb2wgSW5saW5lRmxvd0JveDo6Y2FuQWNjb21tb2RhdGVFbGxpcHMKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotaW50IElubGluZUZsb3dCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIs
IGludCBibG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRo
LCBib29sJiBmb3VuZEJveCkKK2Zsb2F0IElubGluZUZsb3dCb3g6OnBsYWNlRWxsaXBzaXNCb3go
Ym9vbCBsdHIsIGZsb2F0IGJsb2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9h
dCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCkKIHsKLSAgICBpbnQgcmVzdWx0ID0gLTE7
CisgICAgZmxvYXQgcmVzdWx0ID0gLTE7CiAgICAgLy8gV2UgaXRlcmF0ZSBvdmVyIGFsbCBjaGls
ZHJlbiwgdGhlIGZvdW5kQm94IHZhcmlhYmxlIHRlbGxzIHVzIHdoZW4gd2UndmUgZm91bmQgdGhl
CiAgICAgLy8gYm94IGNvbnRhaW5pbmcgdGhlIGVsbGlwc2lzLiAgQWxsIGJveGVzIGFmdGVyIHRo
YXQgb25lIGluIHRoZSBmbG93IGFyZSBoaWRkZW4uCiAgICAgLy8gSWYgb3VyIGZsb3cgaXMgbHRy
IHRoZW4gaXRlcmF0ZSBvdmVyIHRoZSBib3hlcyBmcm9tIGxlZnQgdG8gcmlnaHQsIG90aGVyd2lz
ZSBpdGVyYXRlCiAgICAgLy8gZnJvbSByaWdodCB0byBsZWZ0LiBWYXJ5aW5nIHRoZSBvcmRlciBh
bGxvd3MgdXMgdG8gY29ycmVjdGx5IGhpZGUgdGhlIGJveGVzIGZvbGxvd2luZyB0aGUgZWxsaXBz
aXMuCi0gICAgSW5saW5lQm94ICpib3ggPSBsdHIgPyBmaXJzdENoaWxkKCkgOiBsYXN0Q2hpbGQo
KTsKKyAgICBJbmxpbmVCb3gqIGJveCA9IGx0ciA/IGZpcnN0Q2hpbGQoKSA6IGxhc3RDaGlsZCgp
OwogCiAgICAgLy8gTk9URTogdGhlc2Ugd2lsbCBjcm9zcyBhZnRlciBmb3VuZEJveCA9IHRydWUu
CiAgICAgaW50IHZpc2libGVMZWZ0RWRnZSA9IGJsb2NrTGVmdEVkZ2U7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgJKHJldmlzaW9uIDc4MzcxKQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAkod29ya2luZyBjb3B5KQpAQCAt
ODUsNyArODUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZUxpbmUoUmVuZGVy
QXJlbmEqKTsKICAgICB2aXJ0dWFsIHZvaWQgZXh0cmFjdExpbmUoKTsKICAgICB2aXJ0dWFsIHZv
aWQgYXR0YWNoTGluZSgpOwotICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihpbnQgZHgs
IGludCBkeSk7CisgICAgdmlydHVhbCB2b2lkIGFkanVzdFBvc2l0aW9uKGZsb2F0IGR4LCBmbG9h
dCBkeSk7CiAKICAgICB2aXJ0dWFsIHZvaWQgZXh0cmFjdExpbmVCb3hGcm9tUmVuZGVyT2JqZWN0
KCk7CiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaExpbmVCb3hUb1JlbmRlck9iamVjdCgpOwpAQCAt
OTMsNiArOTMsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJUcnVuY2F0aW9u
KCk7CiAKKyAgICBJbnRSZWN0IHBpeGVsU25hcHBlZEZyYW1lUmVjdCgpIGNvbnN0OworICAgIAog
ICAgIHZpcnR1YWwgdm9pZCBwYWludEJveERlY29yYXRpb25zKFBhaW50SW5mbyYsIGludCB0eCwg
aW50IHR5KTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRNYXNrKFBhaW50SW5mbyYsIGludCB0eCwg
aW50IHR5KTsKICAgICB2b2lkIHBhaW50RmlsbExheWVycyhjb25zdCBQYWludEluZm8mLCBjb25z
dCBDb2xvciYsIGNvbnN0IEZpbGxMYXllciosIGludCB0eCwgaW50IHR5LCBpbnQgdywgaW50IGgs
IENvbXBvc2l0ZU9wZXJhdG9yID0gQ29tcG9zaXRlU291cmNlT3Zlcik7CkBAIC0xNTUsNyArMTU3
LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGV0ZXJtaW5lU3BhY2luZ0ZvckZsb3dCb3hlcyhib29s
IGxhc3RMaW5lLCBSZW5kZXJPYmplY3QqIGVuZE9iamVjdCk7CiAgICAgaW50IGdldEZsb3dTcGFj
aW5nTG9naWNhbFdpZHRoKCk7CiAgICAgYm9vbCBvbkVuZENoYWluKFJlbmRlck9iamVjdCogZW5k
T2JqZWN0KTsKLSAgICBpbnQgcGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9uKGludCBsb2dpY2Fs
TGVmdCwgYm9vbCYgbmVlZHNXb3JkU3BhY2luZywgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9u
dHNNYXAmKTsKKyAgICBmbG9hdCBwbGFjZUJveGVzSW5JbmxpbmVEaXJlY3Rpb24oZmxvYXQgbG9n
aWNhbExlZnQsIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFj
a0ZvbnRzTWFwJik7CiAgICAgdm9pZCBjb21wdXRlTG9naWNhbEJveEhlaWdodHMoaW50JiBtYXhQ
b3NpdGlvblRvcCwgaW50JiBtYXhQb3NpdGlvbkJvdHRvbSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQmIG1heEFzY2VudCwgaW50JiBtYXhEZXNjZW50LCBib29sJiBzZXRN
YXhBc2NlbnQsIGJvb2wmIHNldE1heERlc2NlbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYm9vbCBzdHJpY3RNb2RlLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01h
cCYsIEZvbnRCYXNlbGluZSwgVmVydGljYWxQb3NpdGlvbkNhY2hlJik7CkBAIC0xNzYsNyArMTc4
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0OjpTZWxlY3Rpb25TdGF0ZSBz
ZWxlY3Rpb25TdGF0ZSgpOwogCiAgICAgdmlydHVhbCBib29sIGNhbkFjY29tbW9kYXRlRWxsaXBz
aXMoYm9vbCBsdHIsIGludCBibG9ja0VkZ2UsIGludCBlbGxpcHNpc1dpZHRoKTsKLSAgICB2aXJ0
dWFsIGludCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBpbnQgYmxvY2tMZWZ0RWRnZSwgaW50
IGJsb2NrUmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCwgYm9vbCYpOworICAgIHZpcnR1YWwg
ZmxvYXQgcGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxv
YXQgYmxvY2tSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmKTsKIAogICAgIGJv
b2wgaGFzVGV4dENoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbV9oYXNUZXh0Q2hpbGRyZW47IH0K
IApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkocmV2
aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMSw3ICsyMDEsNyBAQCB2b2lkIElubGluZVRleHRCb3g6
OmF0dGFjaExpbmUoKQogICAgIHRvUmVuZGVyVGV4dChyZW5kZXJlcigpKS0+YXR0YWNoVGV4dEJv
eCh0aGlzKTsKIH0KIAotaW50IElubGluZVRleHRCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCBm
bG93SXNMVFIsIGludCB2aXNpYmxlTGVmdEVkZ2UsIGludCB2aXNpYmxlUmlnaHRFZGdlLCBpbnQg
ZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpCitmbG9hdCBJbmxpbmVUZXh0Qm94OjpwbGFj
ZUVsbGlwc2lzQm94KGJvb2wgZmxvd0lzTFRSLCBmbG9hdCB2aXNpYmxlTGVmdEVkZ2UsIGZsb2F0
IHZpc2libGVSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KQog
ewogICAgIGlmIChmb3VuZEJveCkgewogICAgICAgICBtX3RydW5jYXRpb24gPSBjRnVsbFRydW5j
YXRpb247CkBAIC0yMDksNyArMjA5LDcgQEAgaW50IElubGluZVRleHRCb3g6OnBsYWNlRWxsaXBz
aXNCb3goYm9vbAogICAgIH0KIAogICAgIC8vIEZvciBMVFIgdGhpcyBpcyB0aGUgbGVmdCBlZGdl
IG9mIHRoZSBib3gsIGZvciBSVEwsIHRoZSByaWdodCBlZGdlIGluIHBhcmVudCBjb29yZGluYXRl
cy4KLSAgICBpbnQgZWxsaXBzaXNYID0gZmxvd0lzTFRSID8gdmlzaWJsZVJpZ2h0RWRnZSAtIGVs
bGlwc2lzV2lkdGggOiB2aXNpYmxlTGVmdEVkZ2UgKyBlbGxpcHNpc1dpZHRoOworICAgIGZsb2F0
IGVsbGlwc2lzWCA9IGZsb3dJc0xUUiA/IHZpc2libGVSaWdodEVkZ2UgLSBlbGxpcHNpc1dpZHRo
IDogdmlzaWJsZUxlZnRFZGdlICsgZWxsaXBzaXNXaWR0aDsKICAgICAKICAgICAvLyBDcml0ZXJp
YSBmb3IgZnVsbCB0cnVuY2F0aW9uOgogICAgIC8vIExUUjogdGhlIGxlZnQgZWRnZSBvZiB0aGUg
ZWxsaXBzaXMgaXMgdG8gdGhlIGxlZnQgb2Ygb3VyIHRleHQgcnVuLgpAQCAtMjUxLDcgKzI1MSw3
IEBAIGludCBJbmxpbmVUZXh0Qm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wKIAogICAgICAgICAv
LyBJZiB3ZSBnb3QgaGVyZSB0aGF0IG1lYW5zIHRoYXQgd2Ugd2VyZSBvbmx5IHBhcnRpYWxseSB0
cnVuY2F0ZWQgYW5kIHdlIG5lZWQgdG8gcmV0dXJuIHRoZSBwaXhlbCBvZmZzZXQgYXQgd2hpY2gK
ICAgICAgICAgLy8gdG8gcGxhY2UgdGhlIGVsbGlwc2lzLgotICAgICAgICBpbnQgd2lkdGhPZlZp
c2libGVUZXh0ID0gdG9SZW5kZXJUZXh0KHJlbmRlcmVyKCkpLT53aWR0aChtX3N0YXJ0LCBvZmZz
ZXQsIHRleHRQb3MoKSwgbV9maXJzdExpbmUpOworICAgICAgICBmbG9hdCB3aWR0aE9mVmlzaWJs
ZVRleHQgPSB0b1JlbmRlclRleHQocmVuZGVyZXIoKSktPndpZHRoKG1fc3RhcnQsIG9mZnNldCwg
dGV4dFBvcygpLCBtX2ZpcnN0TGluZSk7CiAKICAgICAgICAgLy8gVGhlIGVsbGlwc2lzIG5lZWRz
IHRvIGJlIHBsYWNlZCBqdXN0IGFmdGVyIHRoZSBsYXN0IHZpc2libGUgY2hhcmFjdGVyLgogICAg
ICAgICAvLyBXaGVyZSAiYWZ0ZXIiIGlzIGRlZmluZWQgYnkgdGhlIGZsb3cgZGlyZWN0aW9uYWxp
dHksIG5vdCB0aGUgaW5saW5lCkBAIC0zMTksOSArMzE5LDkgQEAgYm9vbCBJbmxpbmVUZXh0Qm94
Ojpub2RlQXRQb2ludChjb25zdCBIaQogICAgIGlmIChpc0xpbmVCcmVhaygpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICBJbnRQb2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGlu
Z0ZsaXBwaW5nKCk7CisgICAgRmxvYXRQb2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGlu
Z0ZsaXBwaW5nKCk7CiAgICAgYm94T3JpZ2luLm1vdmUodHgsIHR5KTsKLSAgICBJbnRSZWN0IHJl
Y3QoYm94T3JpZ2luLCBJbnRTaXplKHdpZHRoKCksIGhlaWdodCgpKSk7CisgICAgRmxvYXRSZWN0
IHJlY3QoYm94T3JpZ2luLCBJbnRTaXplKHdpZHRoKCksIGhlaWdodCgpKSk7CiAgICAgaWYgKG1f
dHJ1bmNhdGlvbiAhPSBjRnVsbFRydW5jYXRpb24gJiYgdmlzaWJsZVRvSGl0VGVzdGluZygpICYm
IHJlY3QuaW50ZXJzZWN0cyhyZXN1bHQucmVjdEZvclBvaW50KHgsIHkpKSkgewogICAgICAgICBy
ZW5kZXJlcigpLT51cGRhdGVIaXRUZXN0UmVzdWx0KHJlc3VsdCwgZmxpcEZvcldyaXRpbmdNb2Rl
KEludFBvaW50KHggLSB0eCwgeSAtIHR5KSkpOwogICAgICAgICBpZiAoIXJlc3VsdC5hZGROb2Rl
VG9SZWN0QmFzZWRUZXN0UmVzdWx0KHJlbmRlcmVyKCktPm5vZGUoKSwgeCwgeSwgcmVjdCkpCkBA
IC0zNTcsOCArMzU3LDggQEAgRmxvYXRTaXplIElubGluZVRleHRCb3g6OmFwcGx5U2hhZG93VG9H
cgogICAgIHJldHVybiBleHRyYU9mZnNldDsKIH0KIAotc3RhdGljIHZvaWQgcGFpbnRUZXh0V2l0
aFNoYWRvd3MoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25z
dCBUZXh0UnVuJiB0ZXh0UnVuLCBjb25zdCBBdG9taWNTdHJpbmcmIGVtcGhhc2lzTWFyaywgaW50
IGVtcGhhc2lzTWFya09mZnNldCwgaW50IHN0YXJ0T2Zmc2V0LCBpbnQgZW5kT2Zmc2V0LCBpbnQg
dHJ1bmNhdGlvblBvaW50LCBjb25zdCBJbnRQb2ludCYgdGV4dE9yaWdpbiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludFJlY3QmIGJveFJlY3QsIGNvbnN0IFNoYWRv
d0RhdGEqIHNoYWRvdywgYm9vbCBzdHJva2VkLCBib29sIGhvcml6b250YWwpCitzdGF0aWMgdm9p
ZCBwYWludFRleHRXaXRoU2hhZG93cyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZv
bnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHRleHRSdW4sIGNvbnN0IEF0b21pY1N0cmluZyYgZW1w
aGFzaXNNYXJrLCBpbnQgZW1waGFzaXNNYXJrT2Zmc2V0LCBpbnQgc3RhcnRPZmZzZXQsIGludCBl
bmRPZmZzZXQsIGludCB0cnVuY2F0aW9uUG9pbnQsIGNvbnN0IEZsb2F0UG9pbnQmIHRleHRPcmln
aW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGbG9hdFJlY3QmIGJv
eFJlY3QsIGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdywgYm9vbCBzdHJva2VkLCBib29sIGhvcml6
b250YWwpCiB7CiAgICAgQ29sb3IgZmlsbENvbG9yID0gY29udGV4dC0+ZmlsbENvbG9yKCk7CiAg
ICAgQ29sb3JTcGFjZSBmaWxsQ29sb3JTcGFjZSA9IGNvbnRleHQtPmZpbGxDb2xvclNwYWNlKCk7
CkBAIC00ODIsMTAgKzQ4MiwxMCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50KFBhaW50SW5m
byYgcGFpCiAgICAgCiAgICAgdHkgLT0gc3R5bGVUb1VzZS0+aXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKSA/IDAgOiBsb2dpY2FsSGVpZ2h0KCk7CiAKLSAgICBJbnRQb2ludCBib3hPcmlnaW4gPSBs
b2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgRmxvYXRQb2ludCBib3hPcmlnaW4gPSBs
b2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CiAgICAgYm94T3JpZ2luLm1vdmUodHgsIHR5KTsg
ICAgCi0gICAgSW50UmVjdCBib3hSZWN0KGJveE9yaWdpbiwgSW50U2l6ZShsb2dpY2FsV2lkdGgo
KSwgbG9naWNhbEhlaWdodCgpKSk7Ci0gICAgSW50UG9pbnQgdGV4dE9yaWdpbiA9IEludFBvaW50
KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgKyBzdHlsZVRvVXNlLT5mb250TWV0cmljcygp
LmFzY2VudCgpKTsKKyAgICBGbG9hdFJlY3QgYm94UmVjdChib3hPcmlnaW4sIEludFNpemUobG9n
aWNhbFdpZHRoKCksIGxvZ2ljYWxIZWlnaHQoKSkpOworICAgIEZsb2F0UG9pbnQgdGV4dE9yaWdp
biA9IEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSArIHN0eWxlVG9Vc2Ut
PmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogCiAgICAgUmVuZGVyQ29tYmluZVRleHQqIGNvbWJp
bmVkVGV4dCA9IHN0eWxlVG9Vc2UtPmhhc1RleHRDb21iaW5lKCkgPyB0b1JlbmRlckNvbWJpbmVU
ZXh0KHRleHRSZW5kZXJlcigpKSA6IDA7CiAgICAgYm9vbCBzaG91bGRSb3RhdGUgPSAhaXNIb3Jp
em9udGFsKCkgJiYgKCFjb21iaW5lZFRleHQgfHwgIWNvbWJpbmVkVGV4dC0+aXNDb21iaW5lZCgp
KTsKQEAgLTczNiw3ICs3MzYsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnNlbGVjdGlvblN0YXJ0
RW5kKGluCiAgICAgZVBvcyA9IG1pbihlbmRQb3MgLSBtX3N0YXJ0LCAoaW50KW1fbGVuKTsKIH0K
IAotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlvbihHcmFwaGljc0NvbnRleHQqIGNv
bnRleHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29u
c3QgRm9udCYgZm9udCkKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb24oR3JhcGhp
Y3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0
eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCkKIHsKICAgICAvLyBTZWUgaWYgd2UgaGF2ZSBh
IHNlbGVjdGlvbiB0byBwYWludCBhdCBhbGwuCiAgICAgaW50IHNQb3MsIGVQb3M7CkBAIC03NzAs
MTUgKzc3MCwxNSBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50U2VsZWN0aW9uKEdyYXBoCiAK
ICAgICBpbnQgZGVsdGFZID0gcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkTGluZXNXcml0
aW5nTW9kZSgpID8gc2VsZWN0aW9uQm90dG9tKCkgLSBsb2dpY2FsQm90dG9tKCkgOiBsb2dpY2Fs
VG9wKCkgLSBzZWxlY3Rpb25Ub3AoKTsKICAgICBpbnQgc2VsSGVpZ2h0ID0gc2VsZWN0aW9uSGVp
Z2h0KCk7Ci0gICAgSW50UG9pbnQgbG9jYWxPcmlnaW4oYm94T3JpZ2luLngoKSwgYm94T3JpZ2lu
LnkoKSAtIGRlbHRhWSk7Ci0gICAgY29udGV4dC0+Y2xpcChJbnRSZWN0KGxvY2FsT3JpZ2luLCBJ
bnRTaXplKG1fbG9naWNhbFdpZHRoLCBzZWxIZWlnaHQpKSk7CisgICAgRmxvYXRQb2ludCBsb2Nh
bE9yaWdpbihib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKKyAgICBjb250
ZXh0LT5jbGlwKEZsb2F0UmVjdChsb2NhbE9yaWdpbiwgRmxvYXRTaXplKG1fbG9naWNhbFdpZHRo
LCBzZWxIZWlnaHQpKSk7CiAgICAgY29udGV4dC0+ZHJhd0hpZ2hsaWdodEZvclRleHQoZm9udCwg
VGV4dFJ1bihjaGFyYWN0ZXJzLCBsZW5ndGgsIHRleHRSZW5kZXJlcigpLT5hbGxvd1RhYnMoKSwg
dGV4dFBvcygpLCBtX2V4cGFuc2lvbiwgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvcigpLCAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaXNMZWZ0VG9SaWdodERpcmVjdGlvbigp
LCBtX2Rpck92ZXJyaWRlIHx8IHN0eWxlLT52aXN1YWxseU9yZGVyZWQoKSksCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxPcmlnaW4sIHNlbEhlaWdodCwgYywgc3R5bGUt
PmNvbG9yU3BhY2UoKSwgc1BvcywgZVBvcyk7CiAgICAgY29udGV4dC0+cmVzdG9yZSgpOwogfQog
Ci12b2lkIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25CYWNrZ3JvdW5kKEdyYXBoaWNz
Q29udGV4dCogY29udGV4dCwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUq
IHN0eWxlLCBjb25zdCBGb250JiBmb250LCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpCit2b2lk
IElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25CYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4
dCogY29udGV4dCwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSogc3R5
bGUsIGNvbnN0IEZvbnQmIGZvbnQsIGludCBzdGFydFBvcywgaW50IGVuZFBvcykKIHsKICAgICBp
bnQgb2Zmc2V0ID0gbV9zdGFydDsKICAgICBpbnQgc1BvcyA9IG1heChzdGFydFBvcyAtIG9mZnNl
dCwgMCk7CkBAIC03OTUsNyArNzk1LDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBv
c2l0aW9uQmFjawogCiAgICAgaW50IGRlbHRhWSA9IHJlbmRlcmVyKCktPnN0eWxlKCktPmlzRmxp
cHBlZExpbmVzV3JpdGluZ01vZGUoKSA/IHNlbGVjdGlvbkJvdHRvbSgpIC0gbG9naWNhbEJvdHRv
bSgpIDogbG9naWNhbFRvcCgpIC0gc2VsZWN0aW9uVG9wKCk7CiAgICAgaW50IHNlbEhlaWdodCA9
IHNlbGVjdGlvbkhlaWdodCgpOwotICAgIEludFBvaW50IGxvY2FsT3JpZ2luKGJveE9yaWdpbi54
KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVkpOworICAgIEZsb2F0UG9pbnQgbG9jYWxPcmlnaW4o
Ym94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSk7CiAgICAgY29udGV4dC0+ZHJh
d0hpZ2hsaWdodEZvclRleHQoZm9udCwgVGV4dFJ1bih0ZXh0UmVuZGVyZXIoKS0+dGV4dCgpLT5j
aGFyYWN0ZXJzKCkgKyBtX3N0YXJ0LCBtX2xlbiwgdGV4dFJlbmRlcmVyKCktPmFsbG93VGFicygp
LCB0ZXh0UG9zKCksIG1fZXhwYW5zaW9uLCB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yKCksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24o
KSwgbV9kaXJPdmVycmlkZSB8fCBzdHlsZS0+dmlzdWFsbHlPcmRlcmVkKCkpLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsT3JpZ2luLCBzZWxIZWlnaHQsIGMsIHN0eWxl
LT5jb2xvclNwYWNlKCksIHNQb3MsIGVQb3MpOwpAQCAtODIyLDE0ICs4MjIsMTQgQEAgdm9pZCBJ
bmxpbmVUZXh0Qm94OjpwYWludEN1c3RvbUhpZ2hsaWdodAogCiAjZW5kaWYKIAotdm9pZCBJbmxp
bmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25z
dCBJbnRQb2ludCYgYm94T3JpZ2luLCBpbnQgZGVjbywgY29uc3QgU2hhZG93RGF0YSogc2hhZG93
KQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oR3JhcGhpY3NDb250ZXh0KiBj
b250ZXh0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGludCBkZWNvLCBjb25zdCBTaGFk
b3dEYXRhKiBzaGFkb3cpCiB7CiAgICAgaWYgKG1fdHJ1bmNhdGlvbiA9PSBjRnVsbFRydW5jYXRp
b24pCiAgICAgICAgIHJldHVybjsKIAotICAgIEludFBvaW50IGxvY2FsT3JpZ2luID0gYm94T3Jp
Z2luOworICAgIEZsb2F0UG9pbnQgbG9jYWxPcmlnaW4gPSBib3hPcmlnaW47CiAKLSAgICBpbnQg
d2lkdGggPSBtX2xvZ2ljYWxXaWR0aDsKKyAgICBmbG9hdCB3aWR0aCA9IG1fbG9naWNhbFdpZHRo
OwogICAgIGlmIChtX3RydW5jYXRpb24gIT0gY05vVHJ1bmNhdGlvbikgewogICAgICAgICB3aWR0
aCA9IHRvUmVuZGVyVGV4dChyZW5kZXJlcigpKS0+d2lkdGgobV9zdGFydCwgbV90cnVuY2F0aW9u
LCB0ZXh0UG9zKCksIG1fZmlyc3RMaW5lKTsKICAgICAgICAgaWYgKCFpc0xlZnRUb1JpZ2h0RGly
ZWN0aW9uKCkpCkBAIC04NTMsOSArODUzLDkgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERl
Y29yYXRpb24oR3JhcAogICAgIGludCBleHRyYU9mZnNldCA9IDA7CiAgICAgaWYgKCFsaW5lc0Fy
ZU9wYXF1ZSAmJiBzaGFkb3cgJiYgc2hhZG93LT5uZXh0KCkpIHsKICAgICAgICAgY29udGV4dC0+
c2F2ZSgpOwotICAgICAgICBJbnRSZWN0IGNsaXBSZWN0KGxvY2FsT3JpZ2luLCBJbnRTaXplKHdp
ZHRoLCBiYXNlbGluZSArIDIpKTsKKyAgICAgICAgRmxvYXRSZWN0IGNsaXBSZWN0KGxvY2FsT3Jp
Z2luLCBGbG9hdFNpemUod2lkdGgsIGJhc2VsaW5lICsgMikpOwogICAgICAgICBmb3IgKGNvbnN0
IFNoYWRvd0RhdGEqIHMgPSBzaGFkb3c7IHM7IHMgPSBzLT5uZXh0KCkpIHsKLSAgICAgICAgICAg
IEludFJlY3Qgc2hhZG93UmVjdChsb2NhbE9yaWdpbiwgSW50U2l6ZSh3aWR0aCwgYmFzZWxpbmUg
KyAyKSk7CisgICAgICAgICAgICBGbG9hdFJlY3Qgc2hhZG93UmVjdChsb2NhbE9yaWdpbiwgRmxv
YXRTaXplKHdpZHRoLCBiYXNlbGluZSArIDIpKTsKICAgICAgICAgICAgIHNoYWRvd1JlY3QuaW5m
bGF0ZShzLT5ibHVyKCkpOwogICAgICAgICAgICAgaW50IHNoYWRvd1ggPSBpc0hvcml6b250YWwo
KSA/IHMtPngoKSA6IHMtPnkoKTsKICAgICAgICAgICAgIGludCBzaGFkb3dZID0gaXNIb3Jpem9u
dGFsKCkgPyBzLT55KCkgOiAtcy0+eCgpOwpAQCAtODgyLDcgKzg4Miw3IEBAIHZvaWQgSW5saW5l
VGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKEdyYXAKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IGludCBzaGFkb3dYID0gaXNIb3Jpem9udGFsKCkgPyBzaGFkb3ctPngoKSA6IHNoYWRvdy0+eSgp
OwogICAgICAgICAgICAgaW50IHNoYWRvd1kgPSBpc0hvcml6b250YWwoKSA/IHNoYWRvdy0+eSgp
IDogLXNoYWRvdy0+eCgpOwotICAgICAgICAgICAgY29udGV4dC0+c2V0U2hhZG93KEludFNpemUo
c2hhZG93WCwgc2hhZG93WSAtIGV4dHJhT2Zmc2V0KSwgc2hhZG93LT5ibHVyKCksIHNoYWRvdy0+
Y29sb3IoKSwgY29sb3JTcGFjZSk7CisgICAgICAgICAgICBjb250ZXh0LT5zZXRTaGFkb3coRmxv
YXRTaXplKHNoYWRvd1gsIHNoYWRvd1kgLSBleHRyYU9mZnNldCksIHNoYWRvdy0+Ymx1cigpLCBz
aGFkb3ctPmNvbG9yKCksIGNvbG9yU3BhY2UpOwogICAgICAgICAgICAgc2V0U2hhZG93ID0gdHJ1
ZTsKICAgICAgICAgICAgIHNoYWRvdyA9IHNoYWRvdy0+bmV4dCgpOwogICAgICAgICB9CkBAIC04
OTEsNyArODkxLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oR3JhcAog
ICAgICAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlQ29sb3IodW5kZXJsaW5lLCBjb2xvclNwYWNl
KTsKICAgICAgICAgICAgIGNvbnRleHQtPnNldFN0cm9rZVN0eWxlKFNvbGlkU3Ryb2tlKTsKICAg
ICAgICAgICAgIC8vIExlYXZlIG9uZSBwaXhlbCBvZiB3aGl0ZSBiZXR3ZWVuIHRoZSBiYXNlbGlu
ZSBhbmQgdGhlIHVuZGVybGluZS4KLSAgICAgICAgICAgIGNvbnRleHQtPmRyYXdMaW5lRm9yVGV4
dChJbnRQb2ludChsb2NhbE9yaWdpbi54KCksIGxvY2FsT3JpZ2luLnkoKSArIGJhc2VsaW5lICsg
MSksIHdpZHRoLCBpc1ByaW50aW5nKTsKKyAgICAgICAgICAgIGNvbnRleHQtPmRyYXdMaW5lRm9y
VGV4dChGbG9hdFBvaW50KGxvY2FsT3JpZ2luLngoKSwgbG9jYWxPcmlnaW4ueSgpICsgYmFzZWxp
bmUgKyAxKSwgd2lkdGgsIGlzUHJpbnRpbmcpOwogICAgICAgICB9CiAgICAgICAgIGlmIChkZWNv
ICYgT1ZFUkxJTkUpIHsKICAgICAgICAgICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKG92ZXJs
aW5lLCBjb2xvclNwYWNlKTsKQEAgLTkwMSw3ICs5MDEsNyBAQCB2b2lkIElubGluZVRleHRCb3g6
OnBhaW50RGVjb3JhdGlvbihHcmFwCiAgICAgICAgIGlmIChkZWNvICYgTElORV9USFJPVUdIKSB7
CiAgICAgICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VDb2xvcihsaW5ldGhyb3VnaCwgY29sb3JT
cGFjZSk7CiAgICAgICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VTdHlsZShTb2xpZFN0cm9rZSk7
Ci0gICAgICAgICAgICBjb250ZXh0LT5kcmF3TGluZUZvclRleHQoSW50UG9pbnQobG9jYWxPcmln
aW4ueCgpLCBsb2NhbE9yaWdpbi55KCkgKyAyICogYmFzZWxpbmUgLyAzKSwgd2lkdGgsIGlzUHJp
bnRpbmcpOworICAgICAgICAgICAgY29udGV4dC0+ZHJhd0xpbmVGb3JUZXh0KEZsb2F0UG9pbnQo
bG9jYWxPcmlnaW4ueCgpLCBsb2NhbE9yaWdpbi55KCkgKyAyICogYmFzZWxpbmUgLyAzKSwgd2lk
dGgsIGlzUHJpbnRpbmcpOwogICAgICAgICB9CiAgICAgfSB3aGlsZSAoc2hhZG93KTsKIApAQCAt
OTI2LDcgKzkyNiw3IEBAIHN0YXRpYyBHcmFwaGljc0NvbnRleHQ6OlRleHRDaGVja2luZ0xpbmUK
ICAgICB9CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGluZ09yR3JhbW1hck1h
cmtlcihHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBjb25z
dCBEb2N1bWVudE1hcmtlciYgbWFya2VyLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQm
IGZvbnQsIGJvb2wgZ3JhbW1hcikKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGluZ09y
R3JhbW1hck1hcmtlcihHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBGbG9hdFBvaW50JiBib3hP
cmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiBtYXJrZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwg
Y29uc3QgRm9udCYgZm9udCwgYm9vbCBncmFtbWFyKQogewogICAgIC8vIE5ldmVyIHByaW50IHNw
ZWxsaW5nL2dyYW1tYXIgbWFya2VycyAoNTMyNzg4NykKICAgICBpZiAodGV4dFJlbmRlcmVyKCkt
PmRvY3VtZW50KCktPnByaW50aW5nKCkpCkBAIC05MzUsOCArOTM1LDggQEAgdm9pZCBJbmxpbmVU
ZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbQogICAgIGlmIChtX3RydW5jYXRpb24gPT0gY0Z1
bGxUcnVuY2F0aW9uKQogICAgICAgICByZXR1cm47CiAKLSAgICBpbnQgc3RhcnQgPSAwOyAgICAg
ICAgICAgICAgICAgIC8vIHN0YXJ0IG9mIGxpbmUgdG8gZHJhdywgcmVsYXRpdmUgdG8gdHgKLSAg
ICBpbnQgd2lkdGggPSBtX2xvZ2ljYWxXaWR0aDsgICAgICAgICAgICAvLyBob3cgbXVjaCBsaW5l
IHRvIGRyYXcKKyAgICBmbG9hdCBzdGFydCA9IDA7IC8vIHN0YXJ0IG9mIGxpbmUgdG8gZHJhdywg
cmVsYXRpdmUgdG8gdHgKKyAgICBmbG9hdCB3aWR0aCA9IG1fbG9naWNhbFdpZHRoOyAvLyBob3cg
bXVjaCBsaW5lIHRvIGRyYXcKIAogICAgIC8vIERldGVybWluZSB3aGV0aGVyIHdlIG5lZWQgdG8g
bWVhc3VyZSB0ZXh0CiAgICAgYm9vbCBtYXJrZXJTcGFuc1dob2xlQm94ID0gdHJ1ZTsKQEAgLTk1
Nyw5ICs5NTcsMTAgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbQog
ICAgICAgICAvLyBDYWxjdWxhdGUgc3RhcnQgJiB3aWR0aAogICAgICAgICBpbnQgZGVsdGFZID0g
cmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkTGluZXNXcml0aW5nTW9kZSgpID8gc2VsZWN0
aW9uQm90dG9tKCkgLSBsb2dpY2FsQm90dG9tKCkgOiBsb2dpY2FsVG9wKCkgLSBzZWxlY3Rpb25U
b3AoKTsKICAgICAgICAgaW50IHNlbEhlaWdodCA9IHNlbGVjdGlvbkhlaWdodCgpOwotICAgICAg
ICBJbnRQb2ludCBzdGFydFBvaW50KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0
YVkpOworICAgICAgICBGbG9hdFBvaW50IHN0YXJ0UG9pbnQoYm94T3JpZ2luLngoKSwgYm94T3Jp
Z2luLnkoKSAtIGRlbHRhWSk7CiAgICAgICAgIFRleHRSdW4gcnVuKHRleHRSZW5kZXJlcigpLT50
ZXh0KCktPmNoYXJhY3RlcnMoKSArIG1fc3RhcnQsIG1fbGVuLCB0ZXh0UmVuZGVyZXIoKS0+YWxs
b3dUYWJzKCksIHRleHRQb3MoKSwgbV9leHBhbnNpb24sIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZp
b3IoKSwgIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgbV9kaXJPdmVycmlkZSB8fCBzdHlsZS0+
dmlzdWFsbHlPcmRlcmVkKCkpOwotICAgICAgICAgCisgICAgICAgIAorICAgICAgICAvLyBGSVhN
RTogQ29udmVydCB0aGUgZG9jdW1lbnQgbWFya2VycyB0byBmbG9hdCByZWN0cy4KICAgICAgICAg
SW50UmVjdCBtYXJrZXJSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChmb250LnNlbGVjdGlvblJlY3RG
b3JUZXh0KHJ1biwgc3RhcnRQb2ludCwgc2VsSGVpZ2h0LCBzdGFydFBvc2l0aW9uLCBlbmRQb3Np
dGlvbikpOwogICAgICAgICBzdGFydCA9IG1hcmtlclJlY3QueCgpIC0gc3RhcnRQb2ludC54KCk7
CiAgICAgICAgIHdpZHRoID0gbWFya2VyUmVjdC53aWR0aCgpOwpAQCAtOTkwLDEwICs5OTEsMTAg
QEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbQogICAgICAgICAvLyBJ
biBsYXJnZXIgZm9udHMsIHRob3VnaCwgcGxhY2UgdGhlIHVuZGVybGluZSB1cCBuZWFyIHRoZSBi
YXNlbGluZSB0byBwcmV2ZW50IGEgYmlnIGdhcC4KICAgICAgICAgdW5kZXJsaW5lT2Zmc2V0ID0g
YmFzZWxpbmUgKyAyOwogICAgIH0KLSAgICBwdC0+ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoSW50
UG9pbnQoYm94T3JpZ2luLngoKSArIHN0YXJ0LCBib3hPcmlnaW4ueSgpICsgdW5kZXJsaW5lT2Zm
c2V0KSwgd2lkdGgsIHRleHRDaGVja2luZ0xpbmVTdHlsZUZvck1hcmtlclR5cGUobWFya2VyLnR5
cGUpKTsKKyAgICBwdC0+ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoRmxvYXRQb2ludChib3hPcmln
aW4ueCgpICsgc3RhcnQsIGJveE9yaWdpbi55KCkgKyB1bmRlcmxpbmVPZmZzZXQpLCB3aWR0aCwg
dGV4dENoZWNraW5nTGluZVN0eWxlRm9yTWFya2VyVHlwZShtYXJrZXIudHlwZSkpOwogfQogCi12
b2lkIElubGluZVRleHRCb3g6OnBhaW50VGV4dE1hdGNoTWFya2VyKEdyYXBoaWNzQ29udGV4dCog
cHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiBtYXJr
ZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCkKK3ZvaWQgSW5saW5lVGV4
dEJveDo6cGFpbnRUZXh0TWF0Y2hNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiBwdCwgY29uc3QgRmxv
YXRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYgbWFya2VyLCBSZW5kZXJT
dHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQpCiB7CiAgICAgLy8gVXNlIHNhbWUgeSBwb3Np
dGlvbmluZyBhbmQgaGVpZ2h0IGFzIGZvciBzZWxlY3Rpb24sIHNvIHRoYXQgd2hlbiB0aGUgc2Vs
ZWN0aW9uIGFuZCB0aGlzIGhpZ2hsaWdodCBhcmUgb24KICAgICAvLyB0aGUgc2FtZSB3b3JkIHRo
ZXJlIGFyZSBubyBwaWVjZXMgc3RpY2tpbmcgb3V0LgpAQCAtMTAxNiw4ICsxMDE3LDggQEAgdm9p
ZCBJbmxpbmVUZXh0Qm94OjpwYWludFRleHRNYXRjaE1hcmtlcgogICAgICAgICAgICAgcmVuZGVy
ZXIoKS0+dGhlbWUoKS0+cGxhdGZvcm1JbmFjdGl2ZVRleHRTZWFyY2hIaWdobGlnaHRDb2xvcigp
OwogICAgICAgICBwdC0+c2F2ZSgpOwogICAgICAgICB1cGRhdGVHcmFwaGljc0NvbnRleHQocHQs
IGNvbG9yLCBjb2xvciwgMCwgc3R5bGUtPmNvbG9yU3BhY2UoKSk7ICAvLyBEb24ndCBkcmF3IHRl
eHQgYXQgYWxsIQotICAgICAgICBwdC0+Y2xpcChJbnRSZWN0KGJveE9yaWdpbi54KCksIGJveE9y
aWdpbi55KCkgLSBkZWx0YVksIG1fbG9naWNhbFdpZHRoLCBzZWxIZWlnaHQpKTsKLSAgICAgICAg
cHQtPmRyYXdIaWdobGlnaHRGb3JUZXh0KGZvbnQsIHJ1biwgSW50UG9pbnQoYm94T3JpZ2luLngo
KSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSksIHNlbEhlaWdodCwgY29sb3IsIHN0eWxlLT5jb2xv
clNwYWNlKCksIHNQb3MsIGVQb3MpOworICAgICAgICBwdC0+Y2xpcChGbG9hdFJlY3QoYm94T3Jp
Z2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSwgbV9sb2dpY2FsV2lkdGgsIHNlbEhlaWdo
dCkpOworICAgICAgICBwdC0+ZHJhd0hpZ2hsaWdodEZvclRleHQoZm9udCwgcnVuLCBGbG9hdFBv
aW50KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVkpLCBzZWxIZWlnaHQsIGNv
bG9yLCBzdHlsZS0+Y29sb3JTcGFjZSgpLCBzUG9zLCBlUG9zKTsKICAgICAgICAgcHQtPnJlc3Rv
cmUoKTsKICAgICB9CiB9CkBAIC0xMDM5LDcgKzEwNDAsNyBAQCB2b2lkIElubGluZVRleHRCb3g6
OmNvbXB1dGVSZWN0Rm9yUmVwbGFjCiAgICAgcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+bWFya2Vy
cygpLT5zZXRSZW5kZXJlZFJlY3RGb3JNYXJrZXIocmVuZGVyZXIoKS0+bm9kZSgpLCBtYXJrZXIs
IG1hcmtlclJlY3QpOwogfQogICAgIAotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERvY3VtZW50
TWFya2VycyhHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBS
ZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgYmFja2dyb3VuZCkKK3Zv
aWQgSW5saW5lVGV4dEJveDo6cGFpbnREb2N1bWVudE1hcmtlcnMoR3JhcGhpY3NDb250ZXh0KiBw
dCwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0
IEZvbnQmIGZvbnQsIGJvb2wgYmFja2dyb3VuZCkKIHsKICAgICBpZiAoIXJlbmRlcmVyKCktPm5v
ZGUoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTA5OSwxNCArMTEwMCwxMyBAQCB2b2lkIElubGlu
ZVRleHRCb3g6OnBhaW50RG9jdW1lbnRNYXJrZXJzCiAgICAgfQogfQogCi0KLXZvaWQgSW5saW5l
VGV4dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGVybGluZShHcmFwaGljc0NvbnRleHQqIGN0eCwg
Y29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgQ29tcG9zaXRpb25VbmRlcmxpbmUmIHVu
ZGVybGluZSkKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGVybGluZShH
cmFwaGljc0NvbnRleHQqIGN0eCwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBD
b21wb3NpdGlvblVuZGVybGluZSYgdW5kZXJsaW5lKQogewogICAgIGlmIChtX3RydW5jYXRpb24g
PT0gY0Z1bGxUcnVuY2F0aW9uKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgaW50IHN0YXJ0
ID0gMDsgICAgICAgICAgICAgICAgIC8vIHN0YXJ0IG9mIGxpbmUgdG8gZHJhdywgcmVsYXRpdmUg
dG8gdHgKLSAgICBpbnQgd2lkdGggPSBtX2xvZ2ljYWxXaWR0aDsgICAgICAgICAgIC8vIGhvdyBt
dWNoIGxpbmUgdG8gZHJhdworICAgIGZsb2F0IHN0YXJ0ID0gMDsgLy8gc3RhcnQgb2YgbGluZSB0
byBkcmF3LCByZWxhdGl2ZSB0byB0eAorICAgIGZsb2F0IHdpZHRoID0gbV9sb2dpY2FsV2lkdGg7
IC8vIGhvdyBtdWNoIGxpbmUgdG8gZHJhdwogICAgIGJvb2wgdXNlV2hvbGVXaWR0aCA9IHRydWU7
CiAgICAgdW5zaWduZWQgcGFpbnRTdGFydCA9IG1fc3RhcnQ7CiAgICAgdW5zaWduZWQgcGFpbnRF
bmQgPSBlbmQoKSArIDE7IC8vIGVuZCBwb2ludHMgYXQgdGhlIGxhc3QgY2hhciwgbm90IHBhc3Qg
aXQKQEAgLTExNDIsNyArMTE0Miw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3Np
dGlvblVuZGUKIAogICAgIGN0eC0+c2V0U3Ryb2tlQ29sb3IodW5kZXJsaW5lLmNvbG9yLCByZW5k
ZXJlcigpLT5zdHlsZSgpLT5jb2xvclNwYWNlKCkpOwogICAgIGN0eC0+c2V0U3Ryb2tlVGhpY2tu
ZXNzKGxpbmVUaGlja25lc3MpOwotICAgIGN0eC0+ZHJhd0xpbmVGb3JUZXh0KEludFBvaW50KGJv
eE9yaWdpbi54KCkgKyBzdGFydCwgYm94T3JpZ2luLnkoKSArIGxvZ2ljYWxIZWlnaHQoKSAtIGxp
bmVUaGlja25lc3MpLCB3aWR0aCwgdGV4dFJlbmRlcmVyKCktPmRvY3VtZW50KCktPnByaW50aW5n
KCkpOworICAgIGN0eC0+ZHJhd0xpbmVGb3JUZXh0KEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSAr
IHN0YXJ0LCBib3hPcmlnaW4ueSgpICsgbG9naWNhbEhlaWdodCgpIC0gbGluZVRoaWNrbmVzcyks
IHdpZHRoLCB0ZXh0UmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+cHJpbnRpbmcoKSk7CiB9CiAKIGlu
dCBJbmxpbmVUZXh0Qm94OjpjYXJldE1pbk9mZnNldCgpIGNvbnN0CkBAIC0xMTYwLDcgKzExNjAs
NyBAQCB1bnNpZ25lZCBJbmxpbmVUZXh0Qm94OjpjYXJldE1heFJlbmRlcmVkCiAgICAgcmV0dXJu
IG1fc3RhcnQgKyBtX2xlbjsKIH0KIAotaW50IElubGluZVRleHRCb3g6OnRleHRQb3MoKSBjb25z
dAorZmxvYXQgSW5saW5lVGV4dEJveDo6dGV4dFBvcygpIGNvbnN0CiB7CiAgICAgLy8gV2hlbiBj
b21wdXRpbmcgdGhlIHdpZHRoIG9mIGEgdGV4dCBydW4sIFJlbmRlckJsb2NrOjpjb21wdXRlSW5s
aW5lRGlyZWN0aW9uUG9zaXRpb25zRm9yTGluZSgpIGRvZXNuJ3QgaW5jbHVkZSB0aGUgYWN0dWFs
IG9mZnNldAogICAgIC8vIGZyb20gdGhlIGNvbnRhaW5pbmcgYmxvY2sgZWRnZSBpbiBpdHMgbWVh
c3VyZW1lbnQuIHRleHRQb3MoKSBzaG91bGQgYmUgY29uc2lzdGVudCBzbyB0aGUgdGV4dCBhcmUg
cmVuZGVyZWQgaW4gdGhlIHNhbWUgd2lkdGguCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW5saW5lVGV4dEJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9JbmxpbmVUZXh0Qm94LmgJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0lubGluZVRleHRCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMTA1LDEyICsxMDUsMTIg
QEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjbGVhclRydW5jYXRpb24o
KSB7IG1fdHJ1bmNhdGlvbiA9IGNOb1RydW5jYXRpb247IH0KLSAgICB2aXJ0dWFsIGludCBwbGFj
ZUVsbGlwc2lzQm94KGJvb2wgZmxvd0lzTFRSLCBpbnQgdmlzaWJsZUxlZnRFZGdlLCBpbnQgdmlz
aWJsZVJpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KTsKKyAgICB2
aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBmbG93SXNMVFIsIGZsb2F0IHZpc2li
bGVMZWZ0RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwg
Ym9vbCYgZm91bmRCb3gpOwogCiBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzTGluZUJyZWFr
KCkgY29uc3Q7CiAKLSAgICB2b2lkIHNldEV4cGFuc2lvbihpbnQgZXhwYW5zaW9uKSB7IG1fbG9n
aWNhbFdpZHRoIC09IG1fZXhwYW5zaW9uOyBtX2V4cGFuc2lvbiA9IGV4cGFuc2lvbjsgbV9sb2dp
Y2FsV2lkdGggKz0gbV9leHBhbnNpb247IH0KKyAgICB2b2lkIHNldEV4cGFuc2lvbihmbG9hdCBl
eHBhbnNpb24pIHsgbV9sb2dpY2FsV2lkdGggLT0gbV9leHBhbnNpb247IG1fZXhwYW5zaW9uID0g
ZXhwYW5zaW9uOyBtX2xvZ2ljYWxXaWR0aCArPSBtX2V4cGFuc2lvbjsgfQogCiBwcml2YXRlOgog
ICAgIHZpcnR1YWwgYm9vbCBpc0lubGluZVRleHRCb3goKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
ICAgIApAQCAtMTIyLDcgKzEyMiw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdmlydHVhbCB1
bnNpZ25lZCBjYXJldE1heFJlbmRlcmVkT2Zmc2V0KCkgY29uc3Q7CiAKLSAgICBpbnQgdGV4dFBv
cygpIGNvbnN0OyAvLyByZXR1cm5zIHRoZSB4IHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBsZWZ0
IHN0YXJ0IG9mIHRoZSB0ZXh0IGxpbmUuCisgICAgZmxvYXQgdGV4dFBvcygpIGNvbnN0OyAvLyBy
ZXR1cm5zIHRoZSB4IHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBsZWZ0IHN0YXJ0IG9mIHRoZSB0
ZXh0IGxpbmUuCiAKIHB1YmxpYzoKICAgICB2aXJ0dWFsIGludCBvZmZzZXRGb3JQb3NpdGlvbihp
bnQgeCwgYm9vbCBpbmNsdWRlUGFydGlhbEdseXBocyA9IHRydWUpIGNvbnN0OwpAQCAtMTQ0LDE4
ICsxNDQsMTggQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgICAvLyBkZW5vdGUgbm8g
dHJ1bmNhdGlvbiAodGhlIHdob2xlIHJ1biBwYWludHMpIGFuZCBmdWxsIHRydW5jYXRpb24gKG5v
dGhpbmcgcGFpbnRzIGF0IGFsbCkuCiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIHBhaW50Q29tcG9z
aXRpb25CYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmln
aW4sIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYsIGludCBzdGFydFBvcywgaW50IGVuZFBvcyk7
Ci0gICAgdm9pZCBwYWludERvY3VtZW50TWFya2VycyhHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJ
bnRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmLCBib29sIGJhY2tn
cm91bmQpOwotICAgIHZvaWQgcGFpbnRDb21wb3NpdGlvblVuZGVybGluZShHcmFwaGljc0NvbnRl
eHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBDb21wb3NpdGlvblVuZGVybGlu
ZSYpOworICAgIHZvaWQgcGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0
KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQm
LCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpOworICAgIHZvaWQgcGFpbnREb2N1bWVudE1hcmtl
cnMoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJT
dHlsZSosIGNvbnN0IEZvbnQmLCBib29sIGJhY2tncm91bmQpOworICAgIHZvaWQgcGFpbnRDb21w
b3NpdGlvblVuZGVybGluZShHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hP
cmlnaW4sIGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5lJik7CiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIHZvaWQgcGFpbnRDdXN0b21IaWdobGlnaHQoaW50IHR4LCBpbnQgdHksIGNvbnN0IEF0b21p
Y1N0cmluZyYgdHlwZSk7CiAjZW5kaWYKIAogcHJpdmF0ZToKLSAgICB2b2lkIHBhaW50RGVjb3Jh
dGlvbihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBpbnQgZGVj
b3JhdGlvbiwgY29uc3QgU2hhZG93RGF0YSopOwotICAgIHZvaWQgcGFpbnRTZWxlY3Rpb24oR3Jh
cGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqLCBj
b25zdCBGb250Jik7Ci0gICAgdm9pZCBwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdyYXBo
aWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFy
a2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250JiwgYm9vbCBncmFtbWFyKTsKLSAgICB2b2lk
IHBhaW50VGV4dE1hdGNoTWFya2VyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBi
b3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250
Jik7CisgICAgdm9pZCBwYWludERlY29yYXRpb24oR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxv
YXRQb2ludCYgYm94T3JpZ2luLCBpbnQgZGVjb3JhdGlvbiwgY29uc3QgU2hhZG93RGF0YSopOwor
ICAgIHZvaWQgcGFpbnRTZWxlY3Rpb24oR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2lu
dCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmKTsKKyAgICB2b2lkIHBhaW50
U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2lu
dCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYsIFJlbmRlclN0eWxlKiwgY29uc3Qg
Rm9udCYsIGJvb2wgZ3JhbW1hcik7CisgICAgdm9pZCBwYWludFRleHRNYXRjaE1hcmtlcihHcmFw
aGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50
TWFya2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jik7CiAgICAgdm9pZCBjb21wdXRlUmVj
dEZvclJlcGxhY2VtZW50TWFya2VyKGNvbnN0IERvY3VtZW50TWFya2VyJiwgUmVuZGVyU3R5bGUq
LCBjb25zdCBGb250Jik7CiAKICAgICBUZXh0UnVuOjpUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9y
IHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IoKSBjb25zdCB7IHJldHVybiBtX2V4cGFuc2lvbiAm
JiBuZXh0TGVhZkNoaWxkKCkgPyBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uIDogVGV4
dFJ1bjo6Rm9yYmlkVHJhaWxpbmdFeHBhbnNpb247IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCUi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCUi5oCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCUi5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw4ICs0MCw4IEBAIHB1YmxpYzoKICAK
ICAgICB2aXJ0dWFsIEludFJlY3Qgc2VsZWN0aW9uUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9k
ZWxPYmplY3QqIC8qcmVwYWludENvbnRhaW5lciovLCBib29sIC8qY2xpcFRvVmlzaWJsZUNvbnRl
bnQqLykgeyByZXR1cm4gSW50UmVjdCgpOyB9CiAKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRo
KHVuc2lnbmVkIC8qZnJvbSovLCB1bnNpZ25lZCAvKmxlbiovLCBjb25zdCBGb250JiwgaW50IC8q
eHBvcyovKSBjb25zdCB7IHJldHVybiAwOyB9Ci0gICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0aCh1
bnNpZ25lZCAvKmZyb20qLywgdW5zaWduZWQgLypsZW4qLywgaW50IC8qeHBvcyovLCBib29sIC8q
Zmlyc3RMaW5lID0gZmFsc2UqLykgY29uc3QgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgZmxv
YXQgd2lkdGgodW5zaWduZWQgLypmcm9tKi8sIHVuc2lnbmVkIC8qbGVuKi8sIGNvbnN0IEZvbnQm
LCBmbG9hdCAvKnhwb3MqLykgY29uc3QgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgZmxvYXQg
d2lkdGgodW5zaWduZWQgLypmcm9tKi8sIHVuc2lnbmVkIC8qbGVuKi8sIGludCAvKnhwb3MqLywg
Ym9vbCAvKmZpcnN0TGluZSA9IGZhbHNlKi8pIGNvbnN0IHsgcmV0dXJuIDA7IH0KIAogICAgIGlu
dCBsaW5lSGVpZ2h0KGJvb2wgZmlyc3RMaW5lKSBjb25zdDsKIApJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2MTcs
NyArNDYxNyw3IEBAIHN0YXRpYyBpbnQgZ2V0Qm9yZGVyUGFkZGluZ01hcmdpbihjb25zdCAKICAg
ICAgICAgICAgICAgIGNoaWxkLT5ib3JkZXJTdGFydCgpOwogfQogCi1zdGF0aWMgaW5saW5lIHZv
aWQgc3RyaXBUcmFpbGluZ1NwYWNlKGludCYgaW5saW5lTWF4LCBpbnQmIGlubGluZU1pbiwKK3N0
YXRpYyBpbmxpbmUgdm9pZCBzdHJpcFRyYWlsaW5nU3BhY2UoZmxvYXQmIGlubGluZU1heCwgZmxv
YXQmIGlubGluZU1pbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVu
ZGVyT2JqZWN0KiB0cmFpbGluZ1NwYWNlQ2hpbGQpCiB7CiAgICAgaWYgKHRyYWlsaW5nU3BhY2VD
aGlsZCAmJiB0cmFpbGluZ1NwYWNlQ2hpbGQtPmlzVGV4dCgpKSB7CkBAIC00NjI1LDE3ICs0NjI1
LDIzIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBzdHJpcFRyYWlsaW5nU3BhY2UoaW4KICAgICAgICAg
UmVuZGVyVGV4dCogdCA9IHRvUmVuZGVyVGV4dCh0cmFpbGluZ1NwYWNlQ2hpbGQpOwogICAgICAg
ICBjb25zdCBVQ2hhciBzcGFjZSA9ICcgJzsKICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IHQt
PnN0eWxlKCktPmZvbnQoKTsgLy8gRklYTUU6IFRoaXMgaWdub3JlcyBmaXJzdC1saW5lLgotICAg
ICAgICBpbnQgc3BhY2VXaWR0aCA9IGZvbnQud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKTsKKyAg
ICAgICAgZmxvYXQgc3BhY2VXaWR0aCA9IGZvbnQud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKTsK
ICAgICAgICAgaW5saW5lTWF4IC09IHNwYWNlV2lkdGggKyBmb250LndvcmRTcGFjaW5nKCk7CiAg
ICAgICAgIGlmIChpbmxpbmVNaW4gPiBpbmxpbmVNYXgpCiAgICAgICAgICAgICBpbmxpbmVNaW4g
PSBpbmxpbmVNYXg7CiAgICAgfQogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlUHJlZmVy
cmVkV2lkdGgoaW50JiBwcmVmZXJyZWRXaWR0aCwgZmxvYXQmIHJlc3VsdCkKK3sKKyAgICBpbnQg
c25hcHBlZFJlc3VsdCA9IGNlaWxmKHJlc3VsdCk7CisgICAgcHJlZmVycmVkV2lkdGggPSBtYXgo
c25hcHBlZFJlc3VsdCwgcHJlZmVycmVkV2lkdGgpOworfQorCiB2b2lkIFJlbmRlckJsb2NrOjpj
b21wdXRlSW5saW5lUHJlZmVycmVkTG9naWNhbFdpZHRocygpCiB7Ci0gICAgaW50IGlubGluZU1h
eCA9IDA7Ci0gICAgaW50IGlubGluZU1pbiA9IDA7CisgICAgZmxvYXQgaW5saW5lTWF4ID0gMDsK
KyAgICBmbG9hdCBpbmxpbmVNaW4gPSAwOwogCiAgICAgaW50IGN3ID0gY29udGFpbmluZ0Jsb2Nr
KCktPmNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKIApAQCAtNDY5NiwxNSArNDcwMiwxNSBAQCB2b2lk
IFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICAvLyB0aGUg
d2lkdGggb2YgdGhlIGxhc3Qgbm9uLWJyZWFrYWJsZSBydW4gYW5kIHVzZSB0aGF0IHRvIHN0YXJ0
IGEgbmV3IGxpbmUKICAgICAgICAgICAgIC8vICh1bmxlc3Mgd2UgZW5kIGluIHdoaXRlc3BhY2Up
LgogICAgICAgICAgICAgUmVuZGVyU3R5bGUqIGNzdHlsZSA9IGNoaWxkLT5zdHlsZSgpOwotICAg
ICAgICAgICAgaW50IGNoaWxkTWluID0gMDsKLSAgICAgICAgICAgIGludCBjaGlsZE1heCA9IDA7
CisgICAgICAgICAgICBmbG9hdCBjaGlsZE1pbiA9IDA7CisgICAgICAgICAgICBmbG9hdCBjaGls
ZE1heCA9IDA7CiAKICAgICAgICAgICAgIGlmICghY2hpbGQtPmlzVGV4dCgpKSB7CiAgICAgICAg
ICAgICAgICAgLy8gQ2FzZSAoMSkgYW5kICgyKS4gIElubGluZSByZXBsYWNlZCBhbmQgaW5saW5l
IGZsb3cgZWxlbWVudHMuCiAgICAgICAgICAgICAgICAgaWYgKGNoaWxkLT5pc1JlbmRlcklubGlu
ZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIEFkZCBpbiBwYWRkaW5nL2JvcmRlci9tYXJn
aW4gZnJvbSB0aGUgYXBwcm9wcmlhdGUgc2lkZSBvZgogICAgICAgICAgICAgICAgICAgICAvLyB0
aGUgZWxlbWVudC4KLSAgICAgICAgICAgICAgICAgICAgaW50IGJwbSA9IGdldEJvcmRlclBhZGRp
bmdNYXJnaW4odG9SZW5kZXJJbmxpbmUoY2hpbGQpLCBjaGlsZEl0ZXJhdG9yLmVuZE9mSW5saW5l
KTsKKyAgICAgICAgICAgICAgICAgICAgZmxvYXQgYnBtID0gZ2V0Qm9yZGVyUGFkZGluZ01hcmdp
bih0b1JlbmRlcklubGluZShjaGlsZCksIGNoaWxkSXRlcmF0b3IuZW5kT2ZJbmxpbmUpOwogICAg
ICAgICAgICAgICAgICAgICBjaGlsZE1pbiArPSBicG07CiAgICAgICAgICAgICAgICAgICAgIGNo
aWxkTWF4ICs9IGJwbTsKIApAQCAtNDcxNCw3ICs0NzIwLDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6
Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgICAgICBjaGlsZC0+c2V0UHJl
ZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KGZhbHNlKTsKICAgICAgICAgICAgICAgICB9IGVsc2Ug
ewogICAgICAgICAgICAgICAgICAgICAvLyBJbmxpbmUgcmVwbGFjZWQgZWx0cyBhZGQgaW4gdGhl
aXIgbWFyZ2lucyB0byB0aGVpciBtaW4vbWF4IHZhbHVlcy4KLSAgICAgICAgICAgICAgICAgICAg
aW50IG1hcmdpbnMgPSAwOworICAgICAgICAgICAgICAgICAgICBmbG9hdCBtYXJnaW5zID0gMDsK
ICAgICAgICAgICAgICAgICAgICAgTGVuZ3RoIHN0YXJ0TWFyZ2luID0gY3N0eWxlLT5tYXJnaW5T
dGFydCgpOwogICAgICAgICAgICAgICAgICAgICBMZW5ndGggZW5kTWFyZ2luID0gY3N0eWxlLT5t
YXJnaW5FbmQoKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0TWFyZ2luLmlzRml4ZWQo
KSkKQEAgLTQ3NDQsMTMgKzQ3NTAsMTMgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGlu
ZVByZWZlcnJlZAogCiAgICAgICAgICAgICAgICAgYm9vbCBjYW5CcmVha1JlcGxhY2VkRWxlbWVu
dCA9ICFjaGlsZC0+aXNJbWFnZSgpIHx8IGFsbG93SW1hZ2VzVG9CcmVhazsKICAgICAgICAgICAg
ICAgICBpZiAoKGNhbkJyZWFrUmVwbGFjZWRFbGVtZW50ICYmIChhdXRvV3JhcCB8fCBvbGRBdXRv
V3JhcCkpIHx8IGNsZWFyUHJldmlvdXNGbG9hdCkgewotICAgICAgICAgICAgICAgICAgICBtX21p
blByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9t
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAgICAgICAgICAgICAgICAg
IGlubGluZU1pbiA9IDA7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgLy8g
SWYgd2UncmUgc3VwcG9zZWQgdG8gY2xlYXIgdGhlIHByZXZpb3VzIGZsb2F0LCB0aGVuIHRlcm1p
bmF0ZSBtYXh3aWR0aCBhcyB3ZWxsLgogICAgICAgICAgICAgICAgIGlmIChjbGVhclByZXZpb3Vz
RmxvYXQpIHsKLSAgICAgICAgICAgICAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgg
PSBtYXgoaW5saW5lTWF4LCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAg
ICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
LCBpbmxpbmVNYXgpOwogICAgICAgICAgICAgICAgICAgICBpbmxpbmVNYXggPSAwOwogICAgICAg
ICAgICAgICAgIH0KIApAQCAtNDc2OCwxMiArNDc3NCwxMiBAQCB2b2lkIFJlbmRlckJsb2NrOjpj
b21wdXRlSW5saW5lUHJlZmVycmVkCiAKICAgICAgICAgICAgICAgICBpZiAoIWF1dG9XcmFwIHx8
ICFjYW5CcmVha1JlcGxhY2VkRWxlbWVudCkgewogICAgICAgICAgICAgICAgICAgICBpZiAoY2hp
bGQtPmlzRmxvYXRpbmcoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoID0gbWF4KGNoaWxkTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7
CisgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZl
cnJlZExvZ2ljYWxXaWR0aCwgY2hpbGRNaW4pOwogICAgICAgICAgICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gKz0gY2hpbGRNaW47CiAgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgLy8gTm93IGNoZWNrIG91ciBsaW5l
LgotICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChj
aGlsZE1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAg
ICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgY2hpbGRN
aW4pOwogCiAgICAgICAgICAgICAgICAgICAgIC8vIE5vdyBzdGFydCBhIG5ldyBsaW5lLgogICAg
ICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSAwOwpAQCAtNDc5MCw3ICs0Nzk2LDcgQEAgdm9p
ZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgIFJl
bmRlclRleHQqIHQgPSB0b1JlbmRlclRleHQoY2hpbGQpOwogCiAgICAgICAgICAgICAgICAgaWYg
KHQtPmlzV29yZEJyZWFrKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRM
b2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7
CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4g
PSAwOwogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICB9CkBA
IC00ODA0LDkgKzQ4MTAsOSBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVy
cmVkCiAgICAgICAgICAgICAgICAgLy8gdGhlbiB0aGV5IHNob3VsZG4ndCBiZSBjb25zaWRlcmVk
IGluIHRoZSBicmVha2FibGUgY2hhcgogICAgICAgICAgICAgICAgIC8vIGNoZWNrLgogICAgICAg
ICAgICAgICAgIGJvb2wgaGFzQnJlYWthYmxlQ2hhciwgaGFzQnJlYWs7Ci0gICAgICAgICAgICAg
ICAgaW50IGJlZ2luTWluLCBlbmRNaW47CisgICAgICAgICAgICAgICAgZmxvYXQgYmVnaW5NaW4s
IGVuZE1pbjsKICAgICAgICAgICAgICAgICBib29sIGJlZ2luV1MsIGVuZFdTOwotICAgICAgICAg
ICAgICAgIGludCBiZWdpbk1heCwgZW5kTWF4OworICAgICAgICAgICAgICAgIGZsb2F0IGJlZ2lu
TWF4LCBlbmRNYXg7CiAgICAgICAgICAgICAgICAgdC0+dHJpbW1lZFByZWZXaWR0aHMoaW5saW5l
TWF4LCBiZWdpbk1pbiwgYmVnaW5XUywgZW5kTWluLCBlbmRXUywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoYXNCcmVha2FibGVDaGFyLCBoYXNCcmVhaywgYmVnaW5NYXgs
IGVuZE1heCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZE1pbiwg
Y2hpbGRNYXgsIHN0cmlwRnJvbnRTcGFjZXMpOwpAQCAtNDgxNCw3ICs0ODIwLDcgQEAgdm9pZCBS
ZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgIC8vIFRo
aXMgdGV4dCBvYmplY3Qgd2lsbCBub3QgYmUgcmVuZGVyZWQsIGJ1dCBpdCBtYXkgc3RpbGwgcHJv
dmlkZSBhIGJyZWFraW5nIG9wcG9ydHVuaXR5LgogICAgICAgICAgICAgICAgIGlmICghaGFzQnJl
YWsgJiYgY2hpbGRNYXggPT0gMCkgewogICAgICAgICAgICAgICAgICAgICBpZiAoYXV0b1dyYXAg
JiYgKGJlZ2luV1MgfHwgZW5kV1MpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX21pblBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1f
bWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAg
ICAgICAgaW5saW5lTWluID0gMDsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKQEAgLTQ4NDQsMTAgKzQ4NTAsMTAgQEAgdm9pZCBSZW5kZXJCbG9j
azo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgICAgICAvLyB3ZSBzdGFy
dCBhbmQgZW5kIHdpdGggd2hpdGVzcGFjZS4KICAgICAgICAgICAgICAgICAgICAgaWYgKGJlZ2lu
V1MpCiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBHbyBhaGVhZCBhbmQgZW5kIHRoZSBjdXJy
ZW50IGxpbmUuCi0gICAgICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxX
aWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiArPSBiZWdpbk1pbjsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9t
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRl
UHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBjaGlsZE1pbiAtPSB0aTsKICAgICAgICAgICAgICAgICAg
ICAgfQogCkBAIC00ODU2LDE4ICs0ODYyLDE4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJ
bmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAgICAgICAgICAgaWYgKGVuZFdTKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBXZSBlbmQgaW4gd2hpdGVzcGFjZSwgd2hpY2ggbWVhbnMgd2Ug
Y2FuIGdvIGFoZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbmQgZW5kIG91ciBjdXJy
ZW50IGxpbmUuCi0gICAgICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxX
aWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWlu
ID0gMDsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVm
ZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVy
cmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSBlbmRNaW47CiAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBpZiAoaGFzQnJlYWspIHsK
ICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWF4ICs9IGJlZ2luTWF4OwotICAgICAgICAgICAg
ICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNYXgsIG1fbWF4
UHJlZmVycmVkTG9naWNhbFdpZHRoKTsKLSAgICAgICAgICAgICAgICAgICAgbV9tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGggPSBtYXgoY2hpbGRNYXgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
KTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGgsIGlubGluZU1heCk7CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVBy
ZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBjaGlsZE1heCk7CiAgICAg
ICAgICAgICAgICAgICAgIGlubGluZU1heCA9IGVuZE1heDsKICAgICAgICAgICAgICAgICB9IGVs
c2UKICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWF4ICs9IGNoaWxkTWF4OwpAQCAtNDg3Nyw4
ICs0ODgzLDggQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAg
ICAgICAgICAgaWYgKGNoaWxkLT5pc0xpc3RNYXJrZXIoKSkKICAgICAgICAgICAgICAgICBzdHJp
cEZyb250U3BhY2VzID0gdHJ1ZTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGgpOwotICAgICAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgo
aW5saW5lTWF4LCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICB1cGRh
dGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsK
KyAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9naWNhbFdp
ZHRoLCBpbmxpbmVNYXgpOwogICAgICAgICAgICAgaW5saW5lTWluID0gaW5saW5lTWF4ID0gMDsK
ICAgICAgICAgICAgIHN0cmlwRnJvbnRTcGFjZXMgPSB0cnVlOwogICAgICAgICAgICAgdHJhaWxp
bmdTcGFjZUNoaWxkID0gMDsKQEAgLTQ4OTAsOCArNDg5Niw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6
OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICBpZiAoc3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNw
YWNlKCkpCiAgICAgICAgIHN0cmlwVHJhaWxpbmdTcGFjZShpbmxpbmVNYXgsIGlubGluZU1pbiwg
dHJhaWxpbmdTcGFjZUNoaWxkKTsKIAotICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0g
bWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOwotICAgIG1fbWF4UHJl
ZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1heCwgbV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGgpOworICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoLCBpbmxpbmVNaW4pOworICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVycmVk
TG9naWNhbFdpZHRoLCBpbmxpbmVNYXgpOwogfQogCiAvLyBVc2UgYSB2ZXJ5IGxhcmdlIHZhbHVl
IChpbiBlZmZlY3QgaW5maW5pdGUpLgpAQCAtNTQ1Nyw5ICs1NDYzLDkgQEAgdm9pZCBSZW5kZXJC
bG9jazo6YWRqdXN0Rm9yQm9yZGVyRml0KGludAogICAgICAgICBpZiAoY2hpbGRyZW5JbmxpbmUo
KSkgewogICAgICAgICAgICAgZm9yIChSb290SW5saW5lQm94KiBib3ggPSBmaXJzdFJvb3RCb3go
KTsgYm94OyBib3ggPSBib3gtPm5leHRSb290Qm94KCkpIHsKICAgICAgICAgICAgICAgICBpZiAo
Ym94LT5maXJzdENoaWxkKCkpCi0gICAgICAgICAgICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwg
eCArIGJveC0+Zmlyc3RDaGlsZCgpLT54KCkpOworICAgICAgICAgICAgICAgICAgICBsZWZ0ID0g
bWluKGxlZnQsIHggKyBzdGF0aWNfY2FzdDxpbnQ+KGJveC0+Zmlyc3RDaGlsZCgpLT54KCkpKTsK
ICAgICAgICAgICAgICAgICBpZiAoYm94LT5sYXN0Q2hpbGQoKSkKLSAgICAgICAgICAgICAgICAg
ICAgcmlnaHQgPSBtYXgocmlnaHQsIHggKyBib3gtPmxhc3RDaGlsZCgpLT54KCkgKyBib3gtPmxh
c3RDaGlsZCgpLT5sb2dpY2FsV2lkdGgoKSk7CisgICAgICAgICAgICAgICAgICAgIHJpZ2h0ID0g
bWF4KHJpZ2h0LCB4ICsgc3RhdGljX2Nhc3Q8aW50PihjZWlsZihib3gtPmxhc3RDaGlsZCgpLT5s
b2dpY2FsUmlnaHQoKSkpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBlbHNl
IHsKQEAgLTU3NTksOCArNTc2NSw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmFkZEZvY3VzUmluZ1Jl
Y3RzKFZlY3QKIAogICAgIGlmICghaGFzT3ZlcmZsb3dDbGlwKCkgJiYgIWhhc0NvbnRyb2xDbGlw
KCkpIHsKICAgICAgICAgZm9yIChSb290SW5saW5lQm94KiBjdXJyID0gZmlyc3RSb290Qm94KCk7
IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0Um9vdEJveCgpKSB7Ci0gICAgICAgICAgICBpbnQgdG9w
ID0gbWF4KGN1cnItPmxpbmVUb3AoKSwgY3Vyci0+eSgpKTsKLSAgICAgICAgICAgIGludCBib3R0
b20gPSBtaW4oY3Vyci0+bGluZUJvdHRvbSgpLCBjdXJyLT55KCkgKyBjdXJyLT5sb2dpY2FsSGVp
Z2h0KCkpOworICAgICAgICAgICAgaW50IHRvcCA9IG1heChjdXJyLT5saW5lVG9wKCksIGN1cnIt
PmxvZ2ljYWxUb3AoKSk7CisgICAgICAgICAgICBpbnQgYm90dG9tID0gbWluKGN1cnItPmxpbmVC
b3R0b20oKSwgY3Vyci0+bG9naWNhbFRvcCgpICsgY3Vyci0+bG9naWNhbEhlaWdodCgpKTsKICAg
ICAgICAgICAgIEludFJlY3QgcmVjdCh0eCArIGN1cnItPngoKSwgdHkgKyB0b3AsIGN1cnItPmxv
Z2ljYWxXaWR0aCgpLCBib3R0b20gLSB0b3ApOwogICAgICAgICAgICAgaWYgKCFyZWN0LmlzRW1w
dHkoKSkKICAgICAgICAgICAgICAgICByZWN0cy5hcHBlbmQocmVjdCk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtNDg1LDcg
KzQ4NSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNraXBUcmFpbGluZ1doaXRlc3BhY2UoSW5s
aW5lSXRlcmF0b3ImLCBib29sIGlzTGluZUVtcHR5LCBib29sIHByZXZpb3VzTGluZUJyb2tlQ2xl
YW5seSk7CiAgICAgaW50IHNraXBMZWFkaW5nV2hpdGVzcGFjZShJbmxpbmVCaWRpUmVzb2x2ZXIm
LCBib29sIGZpcnN0TGluZSwgYm9vbCBpc0xpbmVFbXB0eSwgYm9vbCBwcmV2aW91c0xpbmVCcm9r
ZUNsZWFubHksIEZsb2F0aW5nT2JqZWN0KiBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lKTsKLSAg
ICB2b2lkIGZpdEJlbG93RmxvYXRzKGludCB3aWR0aFRvRml0LCBib29sIGZpcnN0TGluZSwgaW50
JiBhdmFpbGFibGVXaWR0aCk7CisgICAgdm9pZCBmaXRCZWxvd0Zsb2F0cyhmbG9hdCB3aWR0aFRv
Rml0LCBib29sIGZpcnN0TGluZSwgZmxvYXQmIGF2YWlsYWJsZVdpZHRoKTsKICAgICBJbmxpbmVJ
dGVyYXRvciBmaW5kTmV4dExpbmVCcmVhayhJbmxpbmVCaWRpUmVzb2x2ZXImLCBib29sIGZpcnN0
TGluZSwgYm9vbCYgaXNMaW5lRW1wdHksIGJvb2wmIHByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSwg
Ym9vbCYgaHlwaGVuYXRlZCwgRUNsZWFyKiwgRmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdEZyb21Q
cmV2aW91c0xpbmUpOwogICAgIFJvb3RJbmxpbmVCb3gqIGNvbnN0cnVjdExpbmUodW5zaWduZWQg
cnVuQ291bnQsIEJpZGlSdW4qIGZpcnN0UnVuLCBCaWRpUnVuKiBsYXN0UnVuLCBib29sIGZpcnN0
TGluZSwgYm9vbCBsYXN0TGluZSwgUmVuZGVyT2JqZWN0KiBlbmRPYmplY3QpOwogICAgIElubGlu
ZUZsb3dCb3gqIGNyZWF0ZUxpbmVCb3hlcyhSZW5kZXJPYmplY3QqLCBib29sIGZpcnN0TGluZSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5l
TGF5b3V0LmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzE4LDggKzMxOCw4
IEBAIFJvb3RJbmxpbmVCb3gqIFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RMaW4KIHZvaWQgUmVuZGVy
QmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNGb3JMaW5lKFJvb3RJbmxpbmVC
b3gqIGxpbmVCb3gsIGJvb2wgZmlyc3RMaW5lLCBCaWRpUnVuKiBmaXJzdFJ1biwgQmlkaVJ1biog
dHJhaWxpbmdTcGFjZVJ1biwgYm9vbCByZWFjaGVkRW5kLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJh
Y2tGb250c01hcCYgdGV4dEJveERhdGFNYXApCiB7CiAgICAgLy8gRmlyc3QgZGV0ZXJtaW5lIG91
ciB0b3RhbCBsb2dpY2FsIHdpZHRoLgotICAgIGludCBhdmFpbGFibGVMb2dpY2FsV2lkdGggPSBh
dmFpbGFibGVMb2dpY2FsV2lkdGhGb3JMaW5lKGxvZ2ljYWxIZWlnaHQoKSwgZmlyc3RMaW5lKTsK
LSAgICBpbnQgdG90YWxMb2dpY2FsV2lkdGggPSBsaW5lQm94LT5nZXRGbG93U3BhY2luZ0xvZ2lj
YWxXaWR0aCgpOworICAgIGZsb2F0IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCA9IGF2YWlsYWJsZUxv
Z2ljYWxXaWR0aEZvckxpbmUobG9naWNhbEhlaWdodCgpLCBmaXJzdExpbmUpOworICAgIGZsb2F0
IHRvdGFsTG9naWNhbFdpZHRoID0gbGluZUJveC0+Z2V0Rmxvd1NwYWNpbmdMb2dpY2FsV2lkdGgo
KTsKICAgICBib29sIG5lZWRzV29yZFNwYWNpbmcgPSBmYWxzZTsKICAgICB1bnNpZ25lZCBleHBh
bnNpb25PcHBvcnR1bml0eUNvdW50ID0gMDsKICAgICBib29sIGlzQWZ0ZXJFeHBhbnNpb24gPSB0
cnVlOwpAQCAtMzg2LDcgKzM4Niw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVE
aXJlY3Rpb24KICAgICAvLyB3ZSBub3cgZXhhbWluZSBvdXIgdGV4dC1hbGlnbiBwcm9wZXJ0eSBp
biBvcmRlciB0byBkZXRlcm1pbmUgd2hlcmUgdG8gcG9zaXRpb24gdGhlCiAgICAgLy8gb2JqZWN0
cyBob3Jpem9udGFsbHkuICBUaGUgdG90YWwgd2lkdGggb2YgdGhlIGxpbmUgY2FuIGJlIGluY3Jl
YXNlZCBpZiB3ZSBlbmQgdXAKICAgICAvLyBqdXN0aWZ5aW5nIHRleHQuCi0gICAgaW50IGxvZ2lj
YWxMZWZ0ID0gbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKGxvZ2ljYWxIZWlnaHQoKSwgZmlyc3RM
aW5lKTsKKyAgICBmbG9hdCBsb2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShs
b2dpY2FsSGVpZ2h0KCksIGZpcnN0TGluZSk7CiAgICAgc3dpdGNoICh0ZXh0QWxpZ24pIHsKICAg
ICAgICAgY2FzZSBMRUZUOgogICAgICAgICBjYXNlIFdFQktJVF9MRUZUOgpAQCAtMzk0LDcgKzM5
NCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb24KICAgICAgICAg
ICAgIC8vIHBhcnRpY3VsYXIgd2l0aCBSVEwgYmxvY2tzLCB3aWRlIGxpbmVzIHNob3VsZCBzdGls
bCBzcGlsbCBvdXQgdG8gdGhlIGxlZnQuCiAgICAgICAgICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0
VG9SaWdodERpcmVjdGlvbigpKSB7CiAgICAgICAgICAgICAgICAgaWYgKHRvdGFsTG9naWNhbFdp
ZHRoID4gYXZhaWxhYmxlTG9naWNhbFdpZHRoICYmIHRyYWlsaW5nU3BhY2VSdW4pCi0gICAgICAg
ICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4
KDAsIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNh
bFdpZHRoICsgYXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7CisgICAgICAgICAgICAgICAgICAgIHRy
YWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAuZiwgdHJhaWxpbmdT
cGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFp
bGFibGVMb2dpY2FsV2lkdGgpKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAg
ICAgaWYgKHRyYWlsaW5nU3BhY2VSdW4pCiAgICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU3Bh
Y2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgoMCk7CkBAIC00MTYsNyArNDE2LDcgQEAgdm9p
ZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgLy8gZm9y
IHJpZ2h0IHRvIGxlZnQgZmFsbCB0aHJvdWdoIHRvIHJpZ2h0IGFsaWduZWQKICAgICAgICAgICAg
IGlmIChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsKICAgICAgICAgICAgICAg
ICBpZiAodG90YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFibGVMb2dpY2FsV2lkdGggJiYgdHJhaWxp
bmdTcGFjZVJ1bikKLSAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gt
PnNldExvZ2ljYWxXaWR0aChtYXgoMCwgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxX
aWR0aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFpbGFibGVMb2dpY2FsV2lkdGgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0
aChtYXgoMC5mLCB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCkgLSB0b3Rh
bExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOwogICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICBjYXNlIFJJR0hUOgpAQCAtNDI3LDEzICs0
MjcsMTMgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAg
ICAgICAgaWYgKHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgewogICAgICAgICAg
ICAgICAgIGlmICh0cmFpbGluZ1NwYWNlUnVuKSB7CiAgICAgICAgICAgICAgICAgICAgIHRvdGFs
TG9naWNhbFdpZHRoIC09IHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKTsK
LSAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxX
aWR0aCgwKTsKKyAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNl
dExvZ2ljYWxXaWR0aCgwLmYpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBp
ZiAodG90YWxMb2dpY2FsV2lkdGggPCBhdmFpbGFibGVMb2dpY2FsV2lkdGgpCiAgICAgICAgICAg
ICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9n
aWNhbFdpZHRoOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAodG90
YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFibGVMb2dpY2FsV2lkdGggJiYgdHJhaWxpbmdTcGFjZVJ1
bikgewotICAgICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9n
aWNhbFdpZHRoKG1heCgwLCB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCkg
LSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOworICAgICAgICAg
ICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgw
LmYsIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNh
bFdpZHRoICsgYXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7CiAgICAgICAgICAgICAgICAgICAgIHRv
dGFsTG9naWNhbFdpZHRoIC09IHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgo
KTsKICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgbG9naWNhbExl
ZnQgKz0gYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGg7CkBAIC00NDEs
MTQgKzQ0MSwxNCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uCiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDRU5URVI6CiAgICAgICAgIGNhc2UgV0VC
S0lUX0NFTlRFUjoKLSAgICAgICAgICAgIGludCB0cmFpbGluZ1NwYWNlV2lkdGggPSAwOworICAg
ICAgICAgICAgZmxvYXQgdHJhaWxpbmdTcGFjZVdpZHRoID0gMC5mOwogICAgICAgICAgICAgaWYg
KHRyYWlsaW5nU3BhY2VSdW4pIHsKICAgICAgICAgICAgICAgICB0b3RhbExvZ2ljYWxXaWR0aCAt
PSB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCk7CiAgICAgICAgICAgICAg
ICAgdHJhaWxpbmdTcGFjZVdpZHRoID0gbWluKHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dp
Y2FsV2lkdGgoKSwgKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoICsg
MSkgLyAyKTsKLSAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9n
aWNhbFdpZHRoKG1heCgwLCB0cmFpbGluZ1NwYWNlV2lkdGgpKTsKKyAgICAgICAgICAgICAgICB0
cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgwLmYsIHRyYWlsaW5n
U3BhY2VXaWR0aCkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKHN0eWxlKCktPmlz
TGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKLSAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdCArPSBt
YXgoKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoKSAvIDIsIDApOwor
ICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IG1heCgoYXZhaWxhYmxlTG9naWNhbFdpZHRo
IC0gdG90YWxMb2dpY2FsV2lkdGgpIC8gMi5mLCAwLmYpOwogICAgICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IHRvdGFsTG9naWNhbFdpZHRoID4gYXZhaWxhYmxl
TG9naWNhbFdpZHRoID8gKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRo
KSA6IChhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkgLyAyIC0gdHJh
aWxpbmdTcGFjZVdpZHRoOwogICAgICAgICAgICAgYnJlYWs7CkBAIC00NjgsNyArNDY4LDcgQEAg
dm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgICAg
IC8vIE9ubHkganVzdGlmeSB0ZXh0IGlmIHdoaXRlc3BhY2UgaXMgY29sbGFwc2VkLgogICAgICAg
ICAgICAgICAgIGlmIChyLT5tX29iamVjdC0+c3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNwYWNlKCkp
IHsKICAgICAgICAgICAgICAgICAgICAgSW5saW5lVGV4dEJveCogdGV4dEJveCA9IHN0YXRpY19j
YXN0PElubGluZVRleHRCb3gqPihyLT5tX2JveCk7Ci0gICAgICAgICAgICAgICAgICAgIGludCBl
eHBhbnNpb24gPSAoYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpICog
b3Bwb3J0dW5pdGllc0luUnVuIC8gZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudDsKKyAgICAgICAg
ICAgICAgICAgICAgZmxvYXQgZXhwYW5zaW9uID0gKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRv
dGFsTG9naWNhbFdpZHRoKSAqIG9wcG9ydHVuaXRpZXNJblJ1biAvIGV4cGFuc2lvbk9wcG9ydHVu
aXR5Q291bnQ7CiAgICAgICAgICAgICAgICAgICAgIHRleHRCb3gtPnNldEV4cGFuc2lvbihleHBh
bnNpb24pOwogICAgICAgICAgICAgICAgICAgICB0b3RhbExvZ2ljYWxXaWR0aCArPSBleHBhbnNp
b247CiAgICAgICAgICAgICAgICAgfQpAQCAtMTM2OCwxMyArMTM2OCwxMyBAQCBzdGF0aWMgYm9v
bCBzaG91bGRTa2lwV2hpdGVzcGFjZUFmdGVyU3RhCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12
b2lkIFJlbmRlckJsb2NrOjpmaXRCZWxvd0Zsb2F0cyhpbnQgd2lkdGhUb0ZpdCwgYm9vbCBmaXJz
dExpbmUsIGludCYgYXZhaWxhYmxlV2lkdGgpCit2b2lkIFJlbmRlckJsb2NrOjpmaXRCZWxvd0Zs
b2F0cyhmbG9hdCB3aWR0aFRvRml0LCBib29sIGZpcnN0TGluZSwgZmxvYXQmIGF2YWlsYWJsZVdp
ZHRoKQogewogICAgIEFTU0VSVCh3aWR0aFRvRml0ID4gYXZhaWxhYmxlV2lkdGgpOwogCiAgICAg
aW50IGZsb2F0TG9naWNhbEJvdHRvbTsKICAgICBpbnQgbGFzdEZsb2F0TG9naWNhbEJvdHRvbSA9
IGxvZ2ljYWxIZWlnaHQoKTsKLSAgICBpbnQgbmV3TGluZVdpZHRoID0gYXZhaWxhYmxlV2lkdGg7
CisgICAgZmxvYXQgbmV3TGluZVdpZHRoID0gYXZhaWxhYmxlV2lkdGg7CiAgICAgd2hpbGUgKHRy
dWUpIHsKICAgICAgICAgZmxvYXRMb2dpY2FsQm90dG9tID0gbmV4dEZsb2F0TG9naWNhbEJvdHRv
bUJlbG93KGxhc3RGbG9hdExvZ2ljYWxCb3R0b20pOwogICAgICAgICBpZiAoIWZsb2F0TG9naWNh
bEJvdHRvbSkKQEAgLTEzOTIsMTkgKzEzOTIsMTkgQEAgdm9pZCBSZW5kZXJCbG9jazo6Zml0QmVs
b3dGbG9hdHMoaW50IHdpZAogICAgIH0KIH0KIAotc3RhdGljIGlubGluZSB1bnNpZ25lZCB0ZXh0
V2lkdGgoUmVuZGVyVGV4dCogdGV4dCwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25z
dCBGb250JiBmb250LCBpbnQgeFBvcywgYm9vbCBpc0ZpeGVkUGl0Y2gsIGJvb2wgY29sbGFwc2VX
aGl0ZVNwYWNlKQorc3RhdGljIGlubGluZSBmbG9hdCB0ZXh0V2lkdGgoUmVuZGVyVGV4dCogdGV4
dCwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmb250LCBmbG9hdCB4
UG9zLCBib29sIGlzRml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UpCiB7CiAgICAg
aWYgKGlzRml4ZWRQaXRjaCB8fCAoIWZyb20gJiYgbGVuID09IHRleHQtPnRleHRMZW5ndGgoKSkg
fHwgdGV4dC0+c3R5bGUoKS0+aGFzVGV4dENvbWJpbmUoKSkKICAgICAgICAgcmV0dXJuIHRleHQt
PndpZHRoKGZyb20sIGxlbiwgZm9udCwgeFBvcyk7CiAgICAgcmV0dXJuIGZvbnQud2lkdGgoVGV4
dFJ1bih0ZXh0LT5jaGFyYWN0ZXJzKCkgKyBmcm9tLCBsZW4sICFjb2xsYXBzZVdoaXRlU3BhY2Us
IHhQb3MpKTsKIH0KIAotc3RhdGljIHZvaWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCogdGV4
dCwgY29uc3QgRm9udCYgZm9udCwgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbGVJZGVudGlmaWVy
LCBpbnQgbGFzdFNwYWNlLCBpbnQgcG9zLCBpbnQgeFBvcywgaW50IGF2YWlsYWJsZVdpZHRoLCBi
b29sIGlzRml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UsIGludCBsYXN0U3BhY2VX
b3JkU3BhY2luZywgSW5saW5lSXRlcmF0b3ImIGxpbmVCcmVhaywgaW50IG5leHRCcmVha2FibGUs
IGJvb2wmIGh5cGhlbmF0ZWQpCitzdGF0aWMgdm9pZCB0cnlIeXBoZW5hdGluZyhSZW5kZXJUZXh0
KiB0ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsZUlkZW50
aWZpZXIsIGludCBsYXN0U3BhY2UsIGludCBwb3MsIGZsb2F0IHhQb3MsIGludCBhdmFpbGFibGVX
aWR0aCwgYm9vbCBpc0ZpeGVkUGl0Y2gsIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlLCBpbnQgbGFz
dFNwYWNlV29yZFNwYWNpbmcsIElubGluZUl0ZXJhdG9yJiBsaW5lQnJlYWssIGludCBuZXh0QnJl
YWthYmxlLCBib29sJiBoeXBoZW5hdGVkKQogewogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaHlw
aGVuU3RyaW5nID0gdGV4dC0+c3R5bGUoKS0+aHlwaGVuU3RyaW5nKCk7CiAgICAgaW50IGh5cGhl
bldpZHRoID0gZm9udC53aWR0aChUZXh0UnVuKGh5cGhlblN0cmluZy5jaGFyYWN0ZXJzKCksIGh5
cGhlblN0cmluZy5sZW5ndGgoKSkpOwogCi0gICAgaW50IG1heFByZWZpeFdpZHRoID0gYXZhaWxh
YmxlV2lkdGggLSB4UG9zIC0gaHlwaGVuV2lkdGggLSBsYXN0U3BhY2VXb3JkU3BhY2luZzsKKyAg
ICBmbG9hdCBtYXhQcmVmaXhXaWR0aCA9IGF2YWlsYWJsZVdpZHRoIC0geFBvcyAtIGh5cGhlbldp
ZHRoIC0gbGFzdFNwYWNlV29yZFNwYWNpbmc7CiAgICAgLy8gSWYgdGhlIG1heGltdW0gd2lkdGgg
YXZhaWxhYmxlIGZvciB0aGUgcHJlZml4IGJlZm9yZSB0aGUgaHlwaGVuIGlzIHNtYWxsLCB0aGVu
IGl0IGlzIHZlcnkgdW5saWtlbHkKICAgICAvLyB0aGF0IGFuIGh5cGhlbmF0aW9uIG9wcG9ydHVu
aXR5IGV4aXN0cywgc28gZG8gbm90IGJvdGhlciB0byBsb29rIGZvciBpdC4KICAgICBpZiAobWF4
UHJlZml4V2lkdGggPD0gZm9udC5waXhlbFNpemUoKSAqIDUgLyA0KQpAQCAtMTQxOSw3ICsxNDE5
LDcgQEAgc3RhdGljIHZvaWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCogdAogICAgICAgICBy
ZXR1cm47CiAKICNpZiAhQVNTRVJUX0RJU0FCTEVECi0gICAgaW50IHByZWZpeFdpZHRoID0gaHlw
aGVuV2lkdGggKyB0ZXh0V2lkdGgodGV4dCwgbGFzdFNwYWNlLCBwcmVmaXhMZW5ndGgsIGZvbnQs
IHhQb3MsIGlzRml4ZWRQaXRjaCwgY29sbGFwc2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRT
cGFjaW5nOworICAgIGZsb2F0IHByZWZpeFdpZHRoID0gaHlwaGVuV2lkdGggKyB0ZXh0V2lkdGgo
dGV4dCwgbGFzdFNwYWNlLCBwcmVmaXhMZW5ndGgsIGZvbnQsIHhQb3MsIGlzRml4ZWRQaXRjaCwg
Y29sbGFwc2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOwogICAgIEFTU0VSVCh4
UG9zICsgcHJlZml4V2lkdGggPD0gYXZhaWxhYmxlV2lkdGgpOwogI2Vsc2UKICAgICBVTlVTRURf
UEFSQU0oaXNGaXhlZFBpdGNoKTsKQEAgLTE0MzksMTAgKzE0MzksMTAgQEAgSW5saW5lSXRlcmF0
b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZQogICAgIGJvb2wgYXBwbGllZFN0YXJ0V2lkdGgg
PSByZXNvbHZlci5wb3NpdGlvbigpLnBvcyA+IDA7CiAgICAgTGluZU1pZHBvaW50U3RhdGUmIGxp
bmVNaWRwb2ludFN0YXRlID0gcmVzb2x2ZXIubWlkcG9pbnRTdGF0ZSgpOwogICAgIAotICAgIGlu
dCB3aWR0aCA9IHNraXBMZWFkaW5nV2hpdGVzcGFjZShyZXNvbHZlciwgZmlyc3RMaW5lLCBpc0xp
bmVFbXB0eSwgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBsYXN0RmxvYXRGcm9tUHJldmlvdXNM
aW5lKTsKKyAgICBmbG9hdCB3aWR0aCA9IHNraXBMZWFkaW5nV2hpdGVzcGFjZShyZXNvbHZlciwg
Zmlyc3RMaW5lLCBpc0xpbmVFbXB0eSwgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBsYXN0Rmxv
YXRGcm9tUHJldmlvdXNMaW5lKTsKIAotICAgIGludCB3ID0gMDsKLSAgICBpbnQgdG1wVyA9IDA7
CisgICAgZmxvYXQgdyA9IDA7CisgICAgZmxvYXQgdG1wVyA9IDA7CiAKICAgICBpZiAocmVzb2x2
ZXIucG9zaXRpb24oKS5hdEVuZCgpKQogICAgICAgICByZXR1cm4gcmVzb2x2ZXIucG9zaXRpb24o
KTsKQEAgLTE0NjEsOCArMTQ2MSw4IEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5k
TmV4dExpbmUKIAogICAgIElubGluZUl0ZXJhdG9yIGxCcmVhayA9IHJlc29sdmVyLnBvc2l0aW9u
KCk7CiAKLSAgICBSZW5kZXJPYmplY3QgKm8gPSByZXNvbHZlci5wb3NpdGlvbigpLm9iajsKLSAg
ICBSZW5kZXJPYmplY3QgKmxhc3QgPSBvOworICAgIFJlbmRlck9iamVjdCogbyA9IHJlc29sdmVy
LnBvc2l0aW9uKCkub2JqOworICAgIFJlbmRlck9iamVjdCogbGFzdCA9IG87CiAgICAgdW5zaWdu
ZWQgcG9zID0gcmVzb2x2ZXIucG9zaXRpb24oKS5wb3M7CiAgICAgaW50IG5leHRCcmVha2FibGUg
PSByZXNvbHZlci5wb3NpdGlvbigpLm5leHRCcmVha2FibGVQb3NpdGlvbjsKICAgICBib29sIGF0
U3RhcnQgPSB0cnVlOwpAQCAtMTY1OSwyMiArMTY1OSwyMiBAQCBJbmxpbmVJdGVyYXRvciBSZW5k
ZXJCbG9jazo6ZmluZE5leHRMaW5lCiAgICAgICAgICAgICBib29sIGNhbkh5cGhlbmF0ZSA9IHN0
eWxlLT5oeXBoZW5zKCkgPT0gSHlwaGVuc0F1dG8gJiYgV2ViQ29yZTo6Y2FuSHlwaGVuYXRlKHN0
eWxlLT5oeXBoZW5hdGlvbkxvY2FsZSgpKTsKIAogICAgICAgICAgICAgaW50IGxhc3RTcGFjZSA9
IHBvczsKLSAgICAgICAgICAgIGludCB3b3JkU3BhY2luZyA9IG8tPnN0eWxlKCktPndvcmRTcGFj
aW5nKCk7Ci0gICAgICAgICAgICBpbnQgbGFzdFNwYWNlV29yZFNwYWNpbmcgPSAwOworICAgICAg
ICAgICAgZmxvYXQgd29yZFNwYWNpbmcgPSBvLT5zdHlsZSgpLT53b3JkU3BhY2luZygpOworICAg
ICAgICAgICAgZmxvYXQgbGFzdFNwYWNlV29yZFNwYWNpbmcgPSAwOwogCiAgICAgICAgICAgICAv
LyBOb24temVybyBvbmx5IHdoZW4ga2VybmluZyBpcyBlbmFibGVkLCBpbiB3aGljaCBjYXNlIHdl
IG1lYXN1cmUgd29yZHMgd2l0aCB0aGVpciB0cmFpbGluZwogICAgICAgICAgICAgLy8gc3BhY2Us
IHRoZW4gc3VidHJhY3QgaXRzIHdpZHRoLgotICAgICAgICAgICAgaW50IHdvcmRUcmFpbGluZ1Nw
YWNlV2lkdGggPSBmLnR5cGVzZXR0aW5nRmVhdHVyZXMoKSAmIEtlcm5pbmcgPyBmLndpZHRoKFRl
eHRSdW4oJnNwYWNlLCAxKSkgKyB3b3JkU3BhY2luZyA6IDA7CisgICAgICAgICAgICBmbG9hdCB3
b3JkVHJhaWxpbmdTcGFjZVdpZHRoID0gZi50eXBlc2V0dGluZ0ZlYXR1cmVzKCkgJiBLZXJuaW5n
ID8gZi53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpICsgd29yZFNwYWNpbmcgOiAwOwogCi0gICAg
ICAgICAgICBpbnQgd3JhcFcgPSB0bXBXICsgaW5saW5lTG9naWNhbFdpZHRoKG8sICFhcHBsaWVk
U3RhcnRXaWR0aCwgdHJ1ZSk7Ci0gICAgICAgICAgICBpbnQgY2hhcldpZHRoID0gMDsKKyAgICAg
ICAgICAgIGZsb2F0IHdyYXBXID0gdG1wVyArIGlubGluZUxvZ2ljYWxXaWR0aChvLCAhYXBwbGll
ZFN0YXJ0V2lkdGgsIHRydWUpOworICAgICAgICAgICAgZmxvYXQgY2hhcldpZHRoID0gMDsKICAg
ICAgICAgICAgIGJvb2wgYnJlYWtOQlNQID0gYXV0b1dyYXAgJiYgby0+c3R5bGUoKS0+bmJzcE1v
ZGUoKSA9PSBTUEFDRTsKICAgICAgICAgICAgIC8vIEF1dG8td3JhcHBpbmcgdGV4dCBzaG91bGQg
d3JhcCBpbiB0aGUgbWlkZGxlIG9mIGEgd29yZCBvbmx5IGlmIGl0IGNvdWxkIG5vdCB3cmFwIGJl
Zm9yZSB0aGUgd29yZCwKICAgICAgICAgICAgIC8vIHdoaWNoIGlzIG9ubHkgcG9zc2libGUgaWYg
dGhlIHdvcmQgaXMgdGhlIGZpcnN0IHRoaW5nIG9uIHRoZSBsaW5lLCB0aGF0IGlzLCBpZiB8d3wg
aXMgemVyby4KICAgICAgICAgICAgIGJvb2wgYnJlYWtXb3JkcyA9IG8tPnN0eWxlKCktPmJyZWFr
V29yZHMoKSAmJiAoKGF1dG9XcmFwICYmICF3KSB8fCBjdXJyV1MgPT0gUFJFKTsKICAgICAgICAg
ICAgIGJvb2wgbWlkV29yZEJyZWFrID0gZmFsc2U7CiAgICAgICAgICAgICBib29sIGJyZWFrQWxs
ID0gby0+c3R5bGUoKS0+d29yZEJyZWFrKCkgPT0gQnJlYWtBbGxXb3JkQnJlYWsgJiYgYXV0b1dy
YXA7Ci0gICAgICAgICAgICBpbnQgaHlwaGVuV2lkdGggPSAwOworICAgICAgICAgICAgZmxvYXQg
aHlwaGVuV2lkdGggPSAwOwogCiAgICAgICAgICAgICBpZiAodC0+aXNXb3JkQnJlYWsoKSkgewog
ICAgICAgICAgICAgICAgIHcgKz0gdG1wVzsKQEAgLTE3NDMsNyArMTc0Myw3IEBAIElubGluZUl0
ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4dExpbmUKICAgICAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgICAgIGludCBhZGRp
dGlvbmFsVG1wVzsKKyAgICAgICAgICAgICAgICAgICAgZmxvYXQgYWRkaXRpb25hbFRtcFc7CiAg
ICAgICAgICAgICAgICAgICAgIGlmICh3b3JkVHJhaWxpbmdTcGFjZVdpZHRoICYmIGN1cnJlbnRD
aGFyYWN0ZXJJc1NwYWNlKQogICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFRtcFcg
PSB0ZXh0V2lkdGgodCwgbGFzdFNwYWNlLCBwb3MgKyAxIC0gbGFzdFNwYWNlLCBmLCB3ICsgdG1w
VywgaXNGaXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UpIC0gd29yZFRyYWlsaW5nU3BhY2VX
aWR0aCArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOwogICAgICAgICAgICAgICAgICAgICBlbHNlCkBA
IC0xODkzLDcgKzE4OTMsNyBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9jazo6ZmluZE5leHRM
aW5lCiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIElNUE9SVEFOVDogcG9zIGlzID4g
bGVuZ3RoIGhlcmUhCi0gICAgICAgICAgICBpbnQgYWRkaXRpb25hbFRtcFcgPSBpZ25vcmluZ1Nw
YWNlcyA/IDAgOiB0ZXh0V2lkdGgodCwgbGFzdFNwYWNlLCBwb3MgLSBsYXN0U3BhY2UsIGYsIHcg
KyB0bXBXLCBpc0ZpeGVkUGl0Y2gsIGNvbGxhcHNlV2hpdGVTcGFjZSkgKyBsYXN0U3BhY2VXb3Jk
U3BhY2luZzsKKyAgICAgICAgICAgIGZsb2F0IGFkZGl0aW9uYWxUbXBXID0gaWdub3JpbmdTcGFj
ZXMgPyAwIDogdGV4dFdpZHRoKHQsIGxhc3RTcGFjZSwgcG9zIC0gbGFzdFNwYWNlLCBmLCB3ICsg
dG1wVywgaXNGaXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UpICsgbGFzdFNwYWNlV29yZFNw
YWNpbmc7CiAgICAgICAgICAgICB0bXBXICs9IGFkZGl0aW9uYWxUbXBXOwogICAgICAgICAgICAg
dG1wVyArPSBpbmxpbmVMb2dpY2FsV2lkdGgobywgIWFwcGxpZWRTdGFydFdpZHRoLCB0cnVlKTsK
IApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9uIDc4
MzcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEzMjksNyArMTMyOSw3IEBAIHZvaWQgUmVuZGVyQm94Ojpwb3NpdGlvbkxpbmVC
b3goSW5saW5lQm8KICAgICAgICAgYm94LT5yZW1vdmUoKTsKICAgICAgICAgYm94LT5kZXN0cm95
KHJlbmRlckFyZW5hKCkpOwogICAgIH0gZWxzZSBpZiAoaXNSZXBsYWNlZCgpKSB7Ci0gICAgICAg
IHNldExvY2F0aW9uKGJveC0+eCgpLCBib3gtPnkoKSk7CisgICAgICAgIHNldExvY2F0aW9uKGxy
b3VuZGYoYm94LT54KCkpLCBscm91bmRmKGJveC0+eSgpKSk7CiAgICAgICAgIG1faW5saW5lQm94
V3JhcHBlciA9IGJveDsKICAgICB9CiB9CkBAIC0zMzQ4LDYgKzMzNDgsMjQgQEAgSW50U2l6ZSBS
ZW5kZXJCb3g6OmZsaXBGb3JXcml0aW5nTW9kZShjbwogICAgIHJldHVybiBzdHlsZSgpLT5pc0hv
cml6b250YWxXcml0aW5nTW9kZSgpID8gSW50U2l6ZShvZmZzZXQud2lkdGgoKSwgaGVpZ2h0KCkg
LSBvZmZzZXQuaGVpZ2h0KCkpIDogSW50U2l6ZSh3aWR0aCgpIC0gb2Zmc2V0LndpZHRoKCksIG9m
ZnNldC5oZWlnaHQoKSk7CiB9CiAKK0Zsb2F0UG9pbnQgUmVuZGVyQm94OjpmbGlwRm9yV3JpdGlu
Z01vZGUoY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24pIGNvbnN0Cit7CisgICAgaWYgKCFzdHls
ZSgpLT5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQorICAgICAgICByZXR1cm4gcG9zaXRp
b247CisgICAgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBGbG9h
dFBvaW50KHBvc2l0aW9uLngoKSwgaGVpZ2h0KCkgLSBwb3NpdGlvbi55KCkpIDogRmxvYXRQb2lu
dCh3aWR0aCgpIC0gcG9zaXRpb24ueCgpLCBwb3NpdGlvbi55KCkpOworfQorCit2b2lkIFJlbmRl
ckJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKK3sKKyAgICBp
ZiAoIXN0eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIGlmIChzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQorICAgICAg
ICByZWN0LnNldFkoaGVpZ2h0KCkgLSByZWN0Lm1heFkoKSk7CisgICAgZWxzZQorICAgICAgICBy
ZWN0LnNldFgod2lkdGgoKSAtIHJlY3QubWF4WCgpKTsKK30KKwogSW50U2l6ZSBSZW5kZXJCb3g6
OmxvY2F0aW9uT2Zmc2V0SW5jbHVkaW5nRmxpcHBpbmcoKSBjb25zdAogewogICAgIGlmICghcGFy
ZW50KCkgfHwgIXBhcmVudCgpLT5pc0JveCgpKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guaAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4NSw2ICszODUsOCBAQCBwdWJsaWM6CiAg
ICAgSW50UG9pbnQgZmxpcEZvcldyaXRpbmdNb2RlSW5jbHVkaW5nQ29sdW1ucyhjb25zdCBJbnRQ
b2ludCYpIGNvbnN0OwogICAgIEludFNpemUgZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEludFNp
emUmKSBjb25zdDsKICAgICB2b2lkIGZsaXBGb3JXcml0aW5nTW9kZShJbnRSZWN0JikgY29uc3Q7
CisgICAgRmxvYXRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgRmxvYXRQb2ludCYpIGNv
bnN0OworICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0UmVjdCYpIGNvbnN0OwogICAg
IEludFNpemUgbG9jYXRpb25PZmZzZXRJbmNsdWRpbmdGbGlwcGluZygpIGNvbnN0OwogCiAgICAg
SW50UmVjdCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24oUmVuZGVyU3R5
bGUqKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5l
VGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNv
bWJpbmVUZXh0LmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQ29tYmluZVRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw3IEBA
IHZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OnNldFRleHRJbnRlcm5hbCgKICAgICBtX25lZWRzRm9u
dFVwZGF0ZSA9IHRydWU7CiB9CiAKLXVuc2lnbmVkIFJlbmRlckNvbWJpbmVUZXh0Ojp3aWR0aCh1
bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnQmIGZvbnQsIGludCB4UG9z
aXRpb24sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5
cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKK2Zsb2F0IFJlbmRlckNvbWJpbmVUZXh0
Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnQmIGZvbnQs
IGZsb2F0IHhQb3NpdGlvbiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFj
a0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAogewogICAgIGlmICgh
Y2hhcmFjdGVycygpKQogICAgICAgICByZXR1cm4gMDsKQEAgLTYzLDcgKzYzLDcgQEAgdW5zaWdu
ZWQgUmVuZGVyQ29tYmluZVRleHQ6OndpZHRoKHVuc2lnbgogICAgIHJldHVybiBSZW5kZXJUZXh0
Ojp3aWR0aChmcm9tLCBsZW5ndGgsIGZvbnQsIHhQb3NpdGlvbiwgZmFsbGJhY2tGb250cywgZ2x5
cGhPdmVyZmxvdyk7CiB9CiAKLXZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OmFkanVzdFRleHRPcmln
aW4oSW50UG9pbnQmIHRleHRPcmlnaW4sIGNvbnN0IEludFJlY3QmIGJveFJlY3QpIGNvbnN0Cit2
b2lkIFJlbmRlckNvbWJpbmVUZXh0OjphZGp1c3RUZXh0T3JpZ2luKEZsb2F0UG9pbnQmIHRleHRP
cmlnaW4sIGNvbnN0IEZsb2F0UmVjdCYgYm94UmVjdCkgY29uc3QKIHsKICAgICBpZiAobV9pc0Nv
bWJpbmVkKQogICAgICAgICB0ZXh0T3JpZ2luLm1vdmUoYm94UmVjdC5oZWlnaHQoKSAvIDIgLSBj
ZWlsZihtX2NvbWJpbmVkVGV4dFdpZHRoKSAvIDIsIHN0eWxlKCktPmZvbnQoKS5waXhlbFNpemUo
KSk7CkBAIC05OCw3ICs5OCw3IEBAIHZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OmNvbWJpbmVUZXh0
KCkKICAgICBib29sIHNob3VsZFVwZGF0ZUZvbnQgPSBmYWxzZTsKIAogICAgIGRlc2NyaXB0aW9u
LnNldE9yaWVudGF0aW9uKEhvcml6b250YWwpOyAvLyBXZSBhcmUgZ29pbmcgdG8gZHJhdyBjb21i
aW5lZCB0ZXh0IGhvcml6b250YWxseS4KLSAgICBtX2NvbWJpbmVkVGV4dFdpZHRoID0gc3R5bGUo
KS0+Zm9udCgpLmZsb2F0V2lkdGgocnVuKTsKKyAgICBtX2NvbWJpbmVkVGV4dFdpZHRoID0gc3R5
bGUoKS0+Zm9udCgpLndpZHRoKHJ1bik7CiAgICAgbV9pc0NvbWJpbmVkID0gbV9jb21iaW5lZFRl
eHRXaWR0aCA8PSBlbVdpZHRoOwogCiAgICAgaWYgKG1faXNDb21iaW5lZCkKQEAgLTExMCw3ICsx
MTAsNyBAQCB2b2lkIFJlbmRlckNvbWJpbmVUZXh0Ojpjb21iaW5lVGV4dCgpCiAgICAgICAgICAg
ICBkZXNjcmlwdGlvbi5zZXRXaWR0aFZhcmlhbnQod2lkdGhWYXJpYW50c1tpXSk7CiAgICAgICAg
ICAgICBGb250IGNvbXByZXNzZWRGb250ID0gRm9udChkZXNjcmlwdGlvbiwgc3R5bGUoKS0+Zm9u
dCgpLmxldHRlclNwYWNpbmcoKSwgc3R5bGUoKS0+Zm9udCgpLndvcmRTcGFjaW5nKCkpOwogICAg
ICAgICAgICAgY29tcHJlc3NlZEZvbnQudXBkYXRlKHN0eWxlKCktPmZvbnQoKS5mb250U2VsZWN0
b3IoKSk7Ci0gICAgICAgICAgICBmbG9hdCBydW5XaWR0aCA9IGNvbXByZXNzZWRGb250LmZsb2F0
V2lkdGgocnVuKTsKKyAgICAgICAgICAgIGZsb2F0IHJ1bldpZHRoID0gY29tcHJlc3NlZEZvbnQu
d2lkdGgocnVuKTsKICAgICAgICAgICAgIGlmIChydW5XaWR0aCA8PSBlbVdpZHRoKSB7CiAgICAg
ICAgICAgICAgICAgbV9jb21iaW5lZFRleHRXaWR0aCA9IHJ1bldpZHRoOwogICAgICAgICAgICAg
ICAgIG1faXNDb21iaW5lZCA9IHRydWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQ29tYmluZVRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQ29tYmluZVRleHQuaAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTMg
KzMwLDEzIEBAIHB1YmxpYzoKICAgICBSZW5kZXJDb21iaW5lVGV4dChOb2RlKiwgUGFzc1JlZlB0
cjxTdHJpbmdJbXBsPik7CiAKICAgICB2b2lkIGNvbWJpbmVUZXh0KCk7Ci0gICAgdm9pZCBhZGp1
c3RUZXh0T3JpZ2luKEludFBvaW50JiB0ZXh0T3JpZ2luLCBjb25zdCBJbnRSZWN0JiBib3hSZWN0
KSBjb25zdDsKKyAgICB2b2lkIGFkanVzdFRleHRPcmlnaW4oRmxvYXRQb2ludCYgdGV4dE9yaWdp
biwgY29uc3QgRmxvYXRSZWN0JiBib3hSZWN0KSBjb25zdDsKICAgICB2b2lkIGNoYXJhY3RlcnNU
b1JlbmRlcihpbnQgc3RhcnQsIGNvbnN0IFVDaGFyKiYgY2hhcmFjdGVycywgaW50JiBsZW5ndGgp
IGNvbnN0OwogICAgIGJvb2wgaXNDb21iaW5lZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNDb21iaW5l
ZDsgfQotICAgIGludCBjb21iaW5lZFRleHRXaWR0aChjb25zdCBGb250JiBmb250KSBjb25zdCB7
IHJldHVybiBmb250LnNpemUoKTsgfQorICAgIGZsb2F0IGNvbWJpbmVkVGV4dFdpZHRoKGNvbnN0
IEZvbnQmIGZvbnQpIGNvbnN0IHsgcmV0dXJuIGZvbnQuc2l6ZSgpOyB9CiAKIHByaXZhdGU6Ci0g
ICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgs
IGNvbnN0IEZvbnQmLCBpbnQgeFBvc2l0aW9uLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRh
Kj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0OworICAgIHZp
cnR1YWwgZmxvYXQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBG
b250JiwgZmxvYXQgeFBvc2l0aW9uLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZh
bGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0OwogICAgIHZpcnR1YWwg
Y29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJDb21iaW5lVGV4
dCI7IH0KICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBj
b25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0SW50
ZXJuYWwoUGFzc1JlZlB0cjxTdHJpbmdJbXBsPik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAJKHJldmlzaW9uIDc4MzcxKQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTk5LDggKzE5OSw3IEBAIGJvb2wgUmVuZGVyRW1iZWRkZWRPYmplY3Q6
OmdldFJlcGxhY2VtZW4KICAgICBmb250LnVwZGF0ZSgwKTsKICAgICAKICAgICBydW4gPSBUZXh0
UnVuKG1fcmVwbGFjZW1lbnRUZXh0LmNoYXJhY3RlcnMoKSwgbV9yZXBsYWNlbWVudFRleHQubGVu
Z3RoKCkpOwotICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotICAgIHRleHRXaWR0aCA9
IGZvbnQuZmxvYXRXaWR0aChydW4pOworICAgIHRleHRXaWR0aCA9IGZvbnQud2lkdGgocnVuKTsK
ICAgICAKICAgICByZXBsYWNlbWVudFRleHRSZWN0LnNldFNpemUoRmxvYXRTaXplKHRleHRXaWR0
aCArIHJlcGxhY2VtZW50VGV4dFJvdW5kZWRSZWN0TGVmdFJpZ2h0VGV4dE1hcmdpbiAqIDIsIHJl
cGxhY2VtZW50VGV4dFJvdW5kZWRSZWN0SGVpZ2h0KSk7CiAgICAgZmxvYXQgeCA9IChjb250ZW50
UmVjdC5zaXplKCkud2lkdGgoKSAvIDIgLSByZXBsYWNlbWVudFRleHRSZWN0LnNpemUoKS53aWR0
aCgpIC8gMikgKyBjb250ZW50UmVjdC5sb2NhdGlvbigpLngoKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAkocmV2
aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9h
ZENvbnRyb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzMsNyArMjczLDcgQEAgdm9pZCBSZW5k
ZXJGaWxlVXBsb2FkQ29udHJvbDo6Y29tcHV0ZVByZQogICAgICAgICAvLyBGaWd1cmUgb3V0IGhv
dyBiaWcgdGhlIGZpbGVuYW1lIHNwYWNlIG5lZWRzIHRvIGJlIGZvciBhIGdpdmVuIG51bWJlciBv
ZiBjaGFyYWN0ZXJzCiAgICAgICAgIC8vICh1c2luZyAiMCIgYXMgdGhlIG5vbWluYWwgY2hhcmFj
dGVyKS4KICAgICAgICAgY29uc3QgVUNoYXIgY2ggPSAnMCc7Ci0gICAgICAgIGZsb2F0IGNoYXJX
aWR0aCA9IHN0eWxlKCktPmZvbnQoKS5mbG9hdFdpZHRoKFRleHRSdW4oJmNoLCAxLCBmYWxzZSwg
MCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgZmFsc2UsIGZhbHNlLCBmYWxz
ZSkpOworICAgICAgICBmbG9hdCBjaGFyV2lkdGggPSBzdHlsZSgpLT5mb250KCkud2lkdGgoVGV4
dFJ1bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9u
LCBmYWxzZSkpOwogICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IChpbnQpY2Vp
bGYoY2hhcldpZHRoICogZGVmYXVsdFdpZHRoTnVtQ2hhcnMpOwogICAgIH0KIApJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTgxLDcgKzgxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHNob3J0IHBhZGRpbmdIZWln
aAogCiAvLyBBbHQgdGV4dCBpcyByZXN0cmljdGVkIHRvIHRoaXMgbWF4aW11bSBzaXplLCBpbiBw
aXhlbHMuICBUaGVzZSBhcmUKIC8vIHNpZ25lZCBpbnRlZ2VycyBiZWNhdXNlIHRoZXkgYXJlIGNv
bXBhcmVkIHdpdGggb3RoZXIgc2lnbmVkIHZhbHVlcy4KLXN0YXRpYyBjb25zdCBpbnQgbWF4QWx0
VGV4dFdpZHRoID0gMTAyNDsKK3N0YXRpYyBjb25zdCBmbG9hdCBtYXhBbHRUZXh0V2lkdGggPSAx
MDI0Owogc3RhdGljIGNvbnN0IGludCBtYXhBbHRUZXh0SGVpZ2h0ID0gMjU2OwogCiBJbnRTaXpl
IFJlbmRlckltYWdlOjppbWFnZVNpemVGb3JFcnJvcihDYWNoZWRJbWFnZSogbmV3SW1hZ2UpIGNv
bnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAkocmV2
aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTU5LDggKzU1OSw4IEBAIEludFJlY3QgUmVuZGVySW5saW5l
OjpsaW5lc0JvdW5kaW5nQm94KCkKICAgICBBU1NFUlQoIWZpcnN0TGluZUJveCgpID09ICFsYXN0
TGluZUJveCgpKTsgIC8vIEVpdGhlciBib3RoIGFyZSBudWxsIG9yIGJvdGggZXhpc3QuCiAgICAg
aWYgKGZpcnN0TGluZUJveCgpICYmIGxhc3RMaW5lQm94KCkpIHsKICAgICAgICAgLy8gUmV0dXJu
IHRoZSB3aWR0aCBvZiB0aGUgbWluaW1hbCBsZWZ0IHNpZGUgYW5kIHRoZSBtYXhpbWFsIHJpZ2h0
IHNpZGUuCi0gICAgICAgIGludCBsb2dpY2FsTGVmdFNpZGUgPSAwOwotICAgICAgICBpbnQgbG9n
aWNhbFJpZ2h0U2lkZSA9IDA7CisgICAgICAgIGZsb2F0IGxvZ2ljYWxMZWZ0U2lkZSA9IDA7Cisg
ICAgICAgIGZsb2F0IGxvZ2ljYWxSaWdodFNpZGUgPSAwOwogICAgICAgICBmb3IgKElubGluZUZs
b3dCb3gqIGN1cnIgPSBmaXJzdExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRMaW5l
Qm94KCkpIHsKICAgICAgICAgICAgIGlmIChjdXJyID09IGZpcnN0TGluZUJveCgpIHx8IGN1cnIt
PmxvZ2ljYWxMZWZ0KCkgPCBsb2dpY2FsTGVmdFNpZGUpCiAgICAgICAgICAgICAgICAgbG9naWNh
bExlZnRTaWRlID0gY3Vyci0+bG9naWNhbExlZnQoKTsKQEAgLTU3MCwxMSArNTcwLDExIEBAIElu
dFJlY3QgUmVuZGVySW5saW5lOjpsaW5lc0JvdW5kaW5nQm94KCkKICAgICAgICAgCiAgICAgICAg
IGJvb2wgaXNIb3Jpem9udGFsID0gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKTsK
ICAgICAgICAgCi0gICAgICAgIGludCB4ID0gaXNIb3Jpem9udGFsID8gbG9naWNhbExlZnRTaWRl
IDogZmlyc3RMaW5lQm94KCktPngoKTsKLSAgICAgICAgaW50IHkgPSBpc0hvcml6b250YWwgPyBm
aXJzdExpbmVCb3goKS0+eSgpIDogbG9naWNhbExlZnRTaWRlOwotICAgICAgICBpbnQgd2lkdGgg
PSBpc0hvcml6b250YWwgPyBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlIDogbGFz
dExpbmVCb3goKS0+bG9naWNhbEJvdHRvbSgpIC0geDsKLSAgICAgICAgaW50IGhlaWdodCA9IGlz
SG9yaXpvbnRhbCA/IGxhc3RMaW5lQm94KCktPmxvZ2ljYWxCb3R0b20oKSAtIHkgOiBsb2dpY2Fs
UmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlOwotICAgICAgICByZXN1bHQgPSBJbnRSZWN0KHgs
IHksIHdpZHRoLCBoZWlnaHQpOworICAgICAgICBmbG9hdCB4ID0gaXNIb3Jpem9udGFsID8gbG9n
aWNhbExlZnRTaWRlIDogZmlyc3RMaW5lQm94KCktPngoKTsKKyAgICAgICAgZmxvYXQgeSA9IGlz
SG9yaXpvbnRhbCA/IGZpcnN0TGluZUJveCgpLT55KCkgOiBsb2dpY2FsTGVmdFNpZGU7CisgICAg
ICAgIGZsb2F0IHdpZHRoID0gaXNIb3Jpem9udGFsID8gbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2lj
YWxMZWZ0U2lkZSA6IGxhc3RMaW5lQm94KCktPmxvZ2ljYWxCb3R0b20oKSAtIHg7CisgICAgICAg
IGZsb2F0IGhlaWdodCA9IGlzSG9yaXpvbnRhbCA/IGxhc3RMaW5lQm94KCktPmxvZ2ljYWxCb3R0
b20oKSAtIHkgOiBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlOworICAgICAgICBy
ZXN1bHQgPSBlbmNsb3NpbmdJbnRSZWN0KEZsb2F0UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KSk7
CiAgICAgfQogCiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTU4NiwyMCArNTg2LDIwIEBAIEludFJl
Y3QgUmVuZGVySW5saW5lOjpsaW5lc1Zpc3VhbE92ZXJmbG8KICAgICAgICAgcmV0dXJuIEludFJl
Y3QoKTsKIAogICAgIC8vIFJldHVybiB0aGUgd2lkdGggb2YgdGhlIG1pbmltYWwgbGVmdCBzaWRl
IGFuZCB0aGUgbWF4aW1hbCByaWdodCBzaWRlLgotICAgIGludCBsb2dpY2FsTGVmdFNpZGUgPSBu
dW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKTsKLSAgICBpbnQgbG9naWNhbFJpZ2h0U2lkZSA9IG51
bWVyaWNfbGltaXRzPGludD46Om1pbigpOworICAgIGZsb2F0IGxvZ2ljYWxMZWZ0U2lkZSA9IG51
bWVyaWNfbGltaXRzPGludD46Om1heCgpOworICAgIGZsb2F0IGxvZ2ljYWxSaWdodFNpZGUgPSBu
dW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKTsKICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1cnIg
PSBmaXJzdExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkpIHsKLSAg
ICAgICAgbG9naWNhbExlZnRTaWRlID0gbWluKGxvZ2ljYWxMZWZ0U2lkZSwgY3Vyci0+bG9naWNh
bExlZnRWaXN1YWxPdmVyZmxvdygpKTsKLSAgICAgICAgbG9naWNhbFJpZ2h0U2lkZSA9IG1heChs
b2dpY2FsUmlnaHRTaWRlLCBjdXJyLT5sb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdygpKTsKKyAg
ICAgICAgbG9naWNhbExlZnRTaWRlID0gbWluKGxvZ2ljYWxMZWZ0U2lkZSwgc3RhdGljX2Nhc3Q8
ZmxvYXQ+KGN1cnItPmxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3coKSkpOworICAgICAgICBsb2dp
Y2FsUmlnaHRTaWRlID0gbWF4KGxvZ2ljYWxSaWdodFNpZGUsIHN0YXRpY19jYXN0PGZsb2F0Pihj
dXJyLT5sb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdygpKSk7CiAgICAgfQogCiAgICAgYm9vbCBp
c0hvcml6b250YWwgPSBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpOwogICAgICAg
ICAKLSAgICBpbnQgeCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxMZWZ0U2lkZSA6IGZpcnN0TGlu
ZUJveCgpLT5taW5YVmlzdWFsT3ZlcmZsb3coKTsKLSAgICBpbnQgeSA9IGlzSG9yaXpvbnRhbCA/
IGZpcnN0TGluZUJveCgpLT5taW5ZVmlzdWFsT3ZlcmZsb3coKSA6IGxvZ2ljYWxMZWZ0U2lkZTsK
LSAgICBpbnQgd2lkdGggPSBpc0hvcml6b250YWwgPyBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNh
bExlZnRTaWRlIDogbGFzdExpbmVCb3goKS0+bWF4WFZpc3VhbE92ZXJmbG93KCkgLSBmaXJzdExp
bmVCb3goKS0+bWluWFZpc3VhbE92ZXJmbG93KCk7Ci0gICAgaW50IGhlaWdodCA9IGlzSG9yaXpv
bnRhbCA/IGxhc3RMaW5lQm94KCktPm1heFlWaXN1YWxPdmVyZmxvdygpIC0gZmlyc3RMaW5lQm94
KCktPm1pbllWaXN1YWxPdmVyZmxvdygpIDogbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0
U2lkZTsKLSAgICByZXR1cm4gSW50UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBmbG9h
dCB4ID0gaXNIb3Jpem9udGFsID8gbG9naWNhbExlZnRTaWRlIDogZmlyc3RMaW5lQm94KCktPm1p
blhWaXN1YWxPdmVyZmxvdygpOworICAgIGZsb2F0IHkgPSBpc0hvcml6b250YWwgPyBmaXJzdExp
bmVCb3goKS0+bWluWVZpc3VhbE92ZXJmbG93KCkgOiBsb2dpY2FsTGVmdFNpZGU7CisgICAgZmxv
YXQgd2lkdGggPSBpc0hvcml6b250YWwgPyBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRT
aWRlIDogbGFzdExpbmVCb3goKS0+bWF4WFZpc3VhbE92ZXJmbG93KCkgLSBmaXJzdExpbmVCb3go
KS0+bWluWFZpc3VhbE92ZXJmbG93KCk7CisgICAgZmxvYXQgaGVpZ2h0ID0gaXNIb3Jpem9udGFs
ID8gbGFzdExpbmVCb3goKS0+bWF4WVZpc3VhbE92ZXJmbG93KCkgLSBmaXJzdExpbmVCb3goKS0+
bWluWVZpc3VhbE92ZXJmbG93KCkgOiBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRl
OworICAgIHJldHVybiBlbmNsb3NpbmdJbnRSZWN0KEZsb2F0UmVjdCh4LCB5LCB3aWR0aCwgaGVp
Z2h0KSk7CiB9CiAKIEludFJlY3QgUmVuZGVySW5saW5lOjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9y
UmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lcikKQEAgLTk2Myw4
ICs5NjMsOCBAQCB2b2lkIFJlbmRlcklubGluZTo6YWRkRm9jdXNSaW5nUmVjdHMoVmVjCiB7CiAg
ICAgZm9yIChJbmxpbmVGbG93Qm94KiBjdXJyID0gZmlyc3RMaW5lQm94KCk7IGN1cnI7IGN1cnIg
PSBjdXJyLT5uZXh0TGluZUJveCgpKSB7CiAgICAgICAgIFJvb3RJbmxpbmVCb3gqIHJvb3QgPSBj
dXJyLT5yb290KCk7Ci0gICAgICAgIGludCB0b3AgPSBtYXgocm9vdC0+bGluZVRvcCgpLCBjdXJy
LT55KCkpOwotICAgICAgICBpbnQgYm90dG9tID0gbWluKHJvb3QtPmxpbmVCb3R0b20oKSwgY3Vy
ci0+eSgpICsgY3Vyci0+bG9naWNhbEhlaWdodCgpKTsKKyAgICAgICAgaW50IHRvcCA9IG1heChy
b290LT5saW5lVG9wKCksIGN1cnItPmxvZ2ljYWxUb3AoKSk7CisgICAgICAgIGludCBib3R0b20g
PSBtaW4ocm9vdC0+bGluZUJvdHRvbSgpLCBjdXJyLT5sb2dpY2FsQm90dG9tKCkpOwogICAgICAg
ICBJbnRSZWN0IHJlY3QodHggKyBjdXJyLT54KCksIHR5ICsgdG9wLCBjdXJyLT5sb2dpY2FsV2lk
dGgoKSwgYm90dG9tIC0gdG9wKTsKICAgICAgICAgaWYgKCFyZWN0LmlzRW1wdHkoKSkKICAgICAg
ICAgICAgIHJlY3RzLmFwcGVuZChyZWN0KTsKQEAgLTEwMTUsOCArMTAxNSw4IEBAIHZvaWQgUmVu
ZGVySW5saW5lOjpwYWludE91dGxpbmUoR3JhcGhpY3MKICAgICByZWN0cy5hcHBlbmQoSW50UmVj
dCgpKTsKICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1cnIgPSBmaXJzdExpbmVCb3goKTsgY3Vy
cjsgY3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkpIHsKICAgICAgICAgUm9vdElubGluZUJveCog
cm9vdCA9IGN1cnItPnJvb3QoKTsKLSAgICAgICAgaW50IHRvcCA9IG1heChyb290LT5saW5lVG9w
KCksIGN1cnItPnkoKSk7Ci0gICAgICAgIGludCBib3R0b20gPSBtaW4ocm9vdC0+bGluZUJvdHRv
bSgpLCBjdXJyLT55KCkgKyBjdXJyLT5sb2dpY2FsSGVpZ2h0KCkpOworICAgICAgICBpbnQgdG9w
ID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+bG9naWNhbFRvcCgpKTsKKyAgICAgICAgaW50
IGJvdHRvbSA9IG1pbihyb290LT5saW5lQm90dG9tKCksIGN1cnItPmxvZ2ljYWxCb3R0b20oKSk7
CiAgICAgICAgIHJlY3RzLmFwcGVuZChJbnRSZWN0KGN1cnItPngoKSwgdG9wLCBjdXJyLT5sb2dp
Y2FsV2lkdGgoKSwgYm90dG9tIC0gdG9wKSk7CiAgICAgfQogICAgIHJlY3RzLmFwcGVuZChJbnRS
ZWN0KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNw
cAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlz
dEJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMSw3ICsxMTEsNyBAQCB2b2lkIFJlbmRlckxp
c3RCb3g6OnVwZGF0ZUZyb21FbGVtZW50KCkKICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgIGlmICghdGV4dC5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgICAgICBm
bG9hdCB0ZXh0V2lkdGggPSBpdGVtRm9udC5mbG9hdFdpZHRoKFRleHRSdW4odGV4dC5pbXBsKCks
IGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBmYWxzZSwgZmFs
c2UsIGZhbHNlLCBmYWxzZSkpOworICAgICAgICAgICAgICAgIGZsb2F0IHRleHRXaWR0aCA9IGl0
ZW1Gb250LndpZHRoKFRleHRSdW4odGV4dC5pbXBsKCksIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpB
bGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBmYWxzZSwgZmFsc2UpKTsKICAgICAgICAgICAgICAgICB3
aWR0aCA9IG1heCh3aWR0aCwgdGV4dFdpZHRoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpA
QCAtMzMzLDcgKzMzMyw3IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6cGFpbnRJdGVtRm9yZWdyb3Vu
ZCgKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IGl0ZW1UZXh0Lmxlbmd0aCgpOwogICAgIGNvbnN0
IFVDaGFyKiBzdHJpbmcgPSBpdGVtVGV4dC5jaGFyYWN0ZXJzKCk7Ci0gICAgVGV4dFJ1biB0ZXh0
UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4
cGFuc2lvbiwgIWl0ZW1TdHlsZS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpLCBpdGVtU3R5bGUt
PnVuaWNvZGVCaWRpKCkgPT0gT3ZlcnJpZGUsIGZhbHNlLCBmYWxzZSk7CisgICAgVGV4dFJ1biB0
ZXh0UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGlu
Z0V4cGFuc2lvbiwgIWl0ZW1TdHlsZS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpLCBpdGVtU3R5
bGUtPnVuaWNvZGVCaWRpKCkgPT0gT3ZlcnJpZGUpOwogCiAgICAgLy8gRHJhdyB0aGUgaXRlbSB0
ZXh0CiAgICAgaWYgKGl0ZW1TdHlsZS0+dmlzaWJpbGl0eSgpICE9IEhJRERFTikKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAkocmV2aXNpb24gNzgz
NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNTMsMTAgKzE1MywxMCBAQCB2b2lkIFJlbmRlck1lbnVMaXN0Ojp1cGRh
dGVPcHRpb25zV2lkdGgoCiAgICAgICAgICAgICBpZiAoUmVuZGVyU3R5bGUqIG9wdGlvblN0eWxl
ID0gZWxlbWVudC0+cmVuZGVyU3R5bGUoKSkKICAgICAgICAgICAgICAgICBvcHRpb25XaWR0aCAr
PSBvcHRpb25TdHlsZS0+dGV4dEluZGVudCgpLmNhbGNNaW5WYWx1ZSgwKTsKICAgICAgICAgICAg
IGlmICghdGV4dC5pc0VtcHR5KCkpCi0gICAgICAgICAgICAgICAgb3B0aW9uV2lkdGggKz0gc3R5
bGUoKS0+Zm9udCgpLmZsb2F0V2lkdGgodGV4dCk7CisgICAgICAgICAgICAgICAgb3B0aW9uV2lk
dGggKz0gc3R5bGUoKS0+Zm9udCgpLndpZHRoKHRleHQpOwogICAgICAgICAgICAgbWF4T3B0aW9u
V2lkdGggPSBtYXgobWF4T3B0aW9uV2lkdGgsIG9wdGlvbldpZHRoKTsKICAgICAgICAgfSBlbHNl
IGlmICghdGV4dC5pc0VtcHR5KCkpCi0gICAgICAgICAgICBtYXhPcHRpb25XaWR0aCA9IG1heCht
YXhPcHRpb25XaWR0aCwgc3R5bGUoKS0+Zm9udCgpLmZsb2F0V2lkdGgodGV4dCkpOworICAgICAg
ICAgICAgbWF4T3B0aW9uV2lkdGggPSBtYXgobWF4T3B0aW9uV2lkdGgsIHN0eWxlKCktPmZvbnQo
KS53aWR0aCh0ZXh0KSk7CiAgICAgfQogCiAgICAgaW50IHdpZHRoID0gc3RhdGljX2Nhc3Q8aW50
PihjZWlsZihtYXhPcHRpb25XaWR0aCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0LmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2MCw3ICs1NjAsNyBAQCBJbnRS
ZWN0IFJlbmRlclRleHQ6OmxvY2FsQ2FyZXRSZWN0KElubGluCiAgICAgcmV0dXJuIHN0eWxlKCkt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBJbnRSZWN0KGxlZnQsIHRvcCwgY2FyZXRXaWR0
aCwgaGVpZ2h0KSA6IEludFJlY3QodG9wLCBsZWZ0LCBoZWlnaHQsIGNhcmV0V2lkdGgpOwogfQog
Ci1BTFdBWVNfSU5MSU5FIGludCBSZW5kZXJUZXh0Ojp3aWR0aEZyb21DYWNoZShjb25zdCBGb250
JiBmLCBpbnQgc3RhcnQsIGludCBsZW4sIGludCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZv
bnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNv
bnN0CitBTFdBWVNfSU5MSU5FIGZsb2F0IFJlbmRlclRleHQ6OndpZHRoRnJvbUNhY2hlKGNvbnN0
IEZvbnQmIGYsIGludCBzdGFydCwgaW50IGxlbiwgZmxvYXQgeFBvcywgSGFzaFNldDxjb25zdCBT
aW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJm
bG93KSBjb25zdAogewogICAgIGlmIChzdHlsZSgpLT5oYXNUZXh0Q29tYmluZSgpKSB7CiAgICAg
ICAgIGNvbnN0IFJlbmRlckNvbWJpbmVUZXh0KiBjb21iaW5lVGV4dCA9IHRvUmVuZGVyQ29tYmlu
ZVRleHQodGhpcyk7CkBAIC01NjksOSArNTY5LDkgQEAgQUxXQVlTX0lOTElORSBpbnQgUmVuZGVy
VGV4dDo6d2lkdGhGcm9tQwogICAgIH0KIAogICAgIGlmIChmLmlzRml4ZWRQaXRjaCgpICYmICFm
LmlzU21hbGxDYXBzKCkgJiYgbV9pc0FsbEFTQ0lJKSB7Ci0gICAgICAgIGludCBtb25vc3BhY2VD
aGFyYWN0ZXJXaWR0aCA9IGYuc3BhY2VXaWR0aCgpOwotICAgICAgICBpbnQgdGFiV2lkdGggPSBh
bGxvd1RhYnMoKSA/IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoICogOCA6IDA7Ci0gICAgICAgIGlu
dCB3ID0gMDsKKyAgICAgICAgZmxvYXQgbW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGggPSBmLnNwYWNl
V2lkdGgoKTsKKyAgICAgICAgZmxvYXQgdGFiV2lkdGggPSBhbGxvd1RhYnMoKSA/IG1vbm9zcGFj
ZUNoYXJhY3RlcldpZHRoICogOCA6IDA7CisgICAgICAgIGZsb2F0IHcgPSAwOwogICAgICAgICBi
b29sIGlzU3BhY2U7CiAgICAgICAgIGJvb2wgcHJldmlvdXNDaGFyV2FzU3BhY2UgPSB0cnVlOyAv
LyBGSVhNRTogUHJlc2VydmVzIGhpc3RvcmljYWwgYmVoYXZpb3IsIGJ1dCBzZWVtcyB3cm9uZyBm
b3Igc3RhcnQgPiAwLgogICAgICAgICBBU1NFUlQobV90ZXh0KTsKQEAgLTU4Myw3ICs1ODMsNyBA
QCBBTFdBWVNfSU5MSU5FIGludCBSZW5kZXJUZXh0Ojp3aWR0aEZyb21DCiAgICAgICAgICAgICAg
ICAgICAgIHcgKz0gbW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGg7CiAgICAgICAgICAgICAgICAgICAg
IGlzU3BhY2UgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoYyA9PSAnXHQnKSB7
Ci0gICAgICAgICAgICAgICAgICAgIHcgKz0gdGFiV2lkdGggPyB0YWJXaWR0aCAtICgoeFBvcyAr
IHcpICUgdGFiV2lkdGgpIDogbW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGg7CisgICAgICAgICAgICAg
ICAgICAgIHcgKz0gdGFiV2lkdGggPyB0YWJXaWR0aCAtIGZtb2RmKHhQb3MgKyB3LCB0YWJXaWR0
aCkgOiBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aDsKICAgICAgICAgICAgICAgICAgICAgaXNTcGFj
ZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGlz
U3BhY2UgPSBmYWxzZTsKQEAgLTYwMSwxMiArNjAxLDEyIEBAIEFMV0FZU19JTkxJTkUgaW50IFJl
bmRlclRleHQ6OndpZHRoRnJvbUMKICAgICByZXR1cm4gZi53aWR0aChUZXh0UnVuKHRleHQoKS0+
Y2hhcmFjdGVycygpICsgc3RhcnQsIGxlbiwgYWxsb3dUYWJzKCksIHhQb3MpLCBmYWxsYmFja0Zv
bnRzLCBnbHlwaE92ZXJmbG93KTsKIH0KIAotdm9pZCBSZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldp
ZHRocyhpbnQgbGVhZFdpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQmIGJlZ2luTWluVywgYm9vbCYgYmVnaW5XUywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50JiBlbmRNaW5XLCBib29sJiBlbmRXUywKK3ZvaWQgUmVuZGVyVGV4dDo6dHJp
bW1lZFByZWZXaWR0aHMoZmxvYXQgbGVhZFdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmbG9hdCYgYmVnaW5NaW5XLCBib29sJiBiZWdpbldTLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYgZW5kTWluVywgYm9vbCYgZW5kV1MsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wmIGhhc0JyZWFrYWJsZUNoYXIsIGJv
b2wmIGhhc0JyZWFrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGJl
Z2luTWF4VywgaW50JiBlbmRNYXhXLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQmIG1pblcsIGludCYgbWF4VywgYm9vbCYgc3RyaXBGcm9udFNwYWNlcykKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQmIGJlZ2luTWF4VywgZmxvYXQmIGVuZE1h
eFcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBtaW5XLCBmbG9h
dCYgbWF4VywgYm9vbCYgc3RyaXBGcm9udFNwYWNlcykKIHsKICAgICBib29sIGNvbGxhcHNlV2hp
dGVTcGFjZSA9IHN0eWxlKCktPmNvbGxhcHNlV2hpdGVTcGFjZSgpOwogICAgIGlmICghY29sbGFw
c2VXaGl0ZVNwYWNlKQpAQCAtNjQ2LDcgKzY0Niw3IEBAIHZvaWQgUmVuZGVyVGV4dDo6dHJpbW1l
ZFByZWZXaWR0aHMoaW50IGwKICAgICAgICAgY29uc3QgRm9udCYgZiA9IHN0eWxlKCktPmZvbnQo
KTsgLy8gRklYTUU6IFRoaXMgaWdub3JlcyBmaXJzdC1saW5lLgogICAgICAgICBpZiAoc3RyaXBG
cm9udFNwYWNlcykgewogICAgICAgICAgICAgY29uc3QgVUNoYXIgc3BhY2UgPSAnICc7Ci0gICAg
ICAgICAgICBpbnQgc3BhY2VXaWR0aCA9IGYud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKTsKKyAg
ICAgICAgICAgIGZsb2F0IHNwYWNlV2lkdGggPSBmLndpZHRoKFRleHRSdW4oJnNwYWNlLCAxKSk7
CiAgICAgICAgICAgICBtYXhXIC09IHNwYWNlV2lkdGg7CiAgICAgICAgIH0gZWxzZQogICAgICAg
ICAgICAgbWF4VyArPSBmLndvcmRTcGFjaW5nKCk7CkBAIC02OTUsMjMgKzY5NSwyMyBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgaXNTcGFjZUFjY29yZGluZ1RvU3R5CiAgICAgcmV0dXJuIGMgPT0gJyAn
IHx8IChjID09IG5vQnJlYWtTcGFjZSAmJiBzdHlsZS0+bmJzcE1vZGUoKSA9PSBTUEFDRSk7CiB9
CiAKLWludCBSZW5kZXJUZXh0OjptaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25zdAorZmxv
YXQgUmVuZGVyVGV4dDo6bWluTG9naWNhbFdpZHRoKCkgY29uc3QKIHsKICAgICBpZiAocHJlZmVy
cmVkTG9naWNhbFdpZHRoc0RpcnR5KCkpCi0gICAgICAgIGNvbnN0X2Nhc3Q8UmVuZGVyVGV4dCo+
KHRoaXMpLT5jb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygwKTsKKyAgICAgICAgY29uc3Rf
Y2FzdDxSZW5kZXJUZXh0Kj4odGhpcyktPmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKDAu
Zik7CiAgICAgICAgIAogICAgIHJldHVybiBtX21pbldpZHRoOwogfQogCi1pbnQgUmVuZGVyVGV4
dDo6bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29uc3QKK2Zsb2F0IFJlbmRlclRleHQ6Om1h
eExvZ2ljYWxXaWR0aCgpIGNvbnN0CiB7CiAgICAgaWYgKHByZWZlcnJlZExvZ2ljYWxXaWR0aHNE
aXJ0eSgpKQotICAgICAgICBjb25zdF9jYXN0PFJlbmRlclRleHQqPih0aGlzKS0+Y29tcHV0ZVBy
ZWZlcnJlZExvZ2ljYWxXaWR0aHMoMCk7CisgICAgICAgIGNvbnN0X2Nhc3Q8UmVuZGVyVGV4dCo+
KHRoaXMpLT5jb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygwLmYpOwogICAgICAgICAKICAg
ICByZXR1cm4gbV9tYXhXaWR0aDsKIH0KIAotdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVy
cmVkTG9naWNhbFdpZHRocyhpbnQgbGVhZFdpZHRoKQordm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRl
UHJlZmVycmVkTG9naWNhbFdpZHRocyhmbG9hdCBsZWFkV2lkdGgpCiB7CiAgICAgSGFzaFNldDxj
b25zdCBTaW1wbGVGb250RGF0YSo+IGZhbGxiYWNrRm9udHM7CiAgICAgR2x5cGhPdmVyZmxvdyBn
bHlwaE92ZXJmbG93OwpAQCAtNzIwLDcgKzcyMCw3IEBAIHZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0
ZVByZWZlcnJlZExvZ2ljYWwKICAgICAgICAgbV9rbm93blRvSGF2ZU5vT3ZlcmZsb3dBbmROb0Zh
bGxiYWNrRm9udHMgPSB0cnVlOwogfQogCi12b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJy
ZWRMb2dpY2FsV2lkdGhzKGludCBsZWFkV2lkdGgsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERh
dGEqPiYgZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyYgZ2x5cGhPdmVyZmxvdykKK3ZvaWQg
UmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoZmxvYXQgbGVhZFdpZHRo
LCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4mIGZhbGxiYWNrRm9udHMsIEdseXBoT3Zl
cmZsb3cmIGdseXBoT3ZlcmZsb3cpCiB7CiAgICAgQVNTRVJUKG1faGFzVGFiIHx8IHByZWZlcnJl
ZExvZ2ljYWxXaWR0aHNEaXJ0eSgpIHx8ICFtX2tub3duVG9IYXZlTm9PdmVyZmxvd0FuZE5vRmFs
bGJhY2tGb250cyk7CiAKQEAgLTczMiw4ICs3MzIsOCBAQCB2b2lkIFJlbmRlclRleHQ6OmNvbXB1
dGVQcmVmZXJyZWRMb2dpY2FsCiAgICAgaWYgKGlzQlIoKSkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgaW50IGN1cnJNaW5XaWR0aCA9IDA7Ci0gICAgaW50IGN1cnJNYXhXaWR0aCA9IDA7CisgICAg
ZmxvYXQgY3Vyck1pbldpZHRoID0gMDsKKyAgICBmbG9hdCBjdXJyTWF4V2lkdGggPSAwOwogICAg
IG1faGFzQnJlYWthYmxlQ2hhciA9IGZhbHNlOwogICAgIG1faGFzQnJlYWsgPSBmYWxzZTsKICAg
ICBtX2hhc1RhYiA9IGZhbHNlOwpAQCAtNzQxLDcgKzc0MSw3IEBAIHZvaWQgUmVuZGVyVGV4dDo6
Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWwKICAgICBtX2hhc0VuZFdTID0gZmFsc2U7CiAKICAgICBj
b25zdCBGb250JiBmID0gc3R5bGUoKS0+Zm9udCgpOyAvLyBGSVhNRTogVGhpcyBpZ25vcmVzIGZp
cnN0LWxpbmUuCi0gICAgaW50IHdvcmRTcGFjaW5nID0gc3R5bGUoKS0+d29yZFNwYWNpbmcoKTsK
KyAgICBmbG9hdCB3b3JkU3BhY2luZyA9IHN0eWxlKCktPndvcmRTcGFjaW5nKCk7CiAgICAgaW50
IGxlbiA9IHRleHRMZW5ndGgoKTsKICAgICBjb25zdCBVQ2hhciogdHh0ID0gY2hhcmFjdGVycygp
OwogICAgIGJvb2wgbmVlZHNXb3JkU3BhY2luZyA9IGZhbHNlOwpAQCAtODIxLDcgKzgyMSw3IEBA
IHZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWwKIAogICAgICAgICBpbnQg
d29yZExlbiA9IGogLSBpOwogICAgICAgICBpZiAod29yZExlbikgewotICAgICAgICAgICAgaW50
IHcgPSB3aWR0aEZyb21DYWNoZShmLCBpLCB3b3JkTGVuLCBsZWFkV2lkdGggKyBjdXJyTWF4V2lk
dGgsICZmYWxsYmFja0ZvbnRzLCAmZ2x5cGhPdmVyZmxvdyk7CisgICAgICAgICAgICBmbG9hdCB3
ID0gd2lkdGhGcm9tQ2FjaGUoZiwgaSwgd29yZExlbiwgbGVhZFdpZHRoICsgY3Vyck1heFdpZHRo
LCAmZmFsbGJhY2tGb250cywgJmdseXBoT3ZlcmZsb3cpOwogICAgICAgICAgICAgaWYgKGZpcnN0
R2x5cGhMZWZ0T3ZlcmZsb3cgPCAwKQogICAgICAgICAgICAgICAgIGZpcnN0R2x5cGhMZWZ0T3Zl
cmZsb3cgPSBnbHlwaE92ZXJmbG93LmxlZnQ7CiAgICAgICAgICAgICBjdXJyTWluV2lkdGggKz0g
dzsKQEAgLTkzMywxNyArOTMzLDE3IEBAIGJvb2wgUmVuZGVyVGV4dDo6Y29udGFpbnNPbmx5V2hp
dGVzcGFjZSgKICAgICByZXR1cm4gY3VyclBvcyA+PSAoZnJvbSArIGxlbik7CiB9CiAKLUludFBv
aW50IFJlbmRlclRleHQ6OmZpcnN0UnVuT3JpZ2luKCkgY29uc3QKK0Zsb2F0UG9pbnQgUmVuZGVy
VGV4dDo6Zmlyc3RSdW5PcmlnaW4oKSBjb25zdAogewogICAgIHJldHVybiBJbnRQb2ludChmaXJz
dFJ1blgoKSwgZmlyc3RSdW5ZKCkpOwogfQogCi1pbnQgUmVuZGVyVGV4dDo6Zmlyc3RSdW5YKCkg
Y29uc3QKK2Zsb2F0IFJlbmRlclRleHQ6OmZpcnN0UnVuWCgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IG1fZmlyc3RUZXh0Qm94ID8gbV9maXJzdFRleHRCb3gtPm1feCA6IDA7CiB9CiAKLWludCBSZW5k
ZXJUZXh0OjpmaXJzdFJ1blkoKSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6Zmlyc3RSdW5ZKCkg
Y29uc3QKIHsKICAgICByZXR1cm4gbV9maXJzdFRleHRCb3ggPyBtX2ZpcnN0VGV4dEJveC0+bV95
IDogMDsKIH0KQEAgLTEyMjMsNyArMTIyMyw3IEBAIHZvaWQgUmVuZGVyVGV4dDo6cG9zaXRpb25M
aW5lQm94KElubGluZUIKICAgICBtX2NvbnRhaW5zUmV2ZXJzZWRUZXh0IHw9ICFzLT5pc0xlZnRU
b1JpZ2h0RGlyZWN0aW9uKCk7CiB9CiAKLXVuc2lnbmVkIFJlbmRlclRleHQ6OndpZHRoKHVuc2ln
bmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgaW50IHhQb3MsIGJvb2wgZmlyc3RMaW5lLCBIYXNoU2V0
PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGds
eXBoT3ZlcmZsb3cpIGNvbnN0CitmbG9hdCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9t
LCB1bnNpZ25lZCBsZW4sIGZsb2F0IHhQb3MsIGJvb2wgZmlyc3RMaW5lLCBIYXNoU2V0PGNvbnN0
IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3Zl
cmZsb3cpIGNvbnN0CiB7CiAgICAgaWYgKGZyb20gPj0gdGV4dExlbmd0aCgpKQogICAgICAgICBy
ZXR1cm4gMDsKQEAgLTEyMzQsMTMgKzEyMzQsMTMgQEAgdW5zaWduZWQgUmVuZGVyVGV4dDo6d2lk
dGgodW5zaWduZWQgZnJvbQogICAgIHJldHVybiB3aWR0aChmcm9tLCBsZW4sIHN0eWxlKGZpcnN0
TGluZSktPmZvbnQoKSwgeFBvcywgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxvdyk7CiB9CiAK
LXVuc2lnbmVkIFJlbmRlclRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwg
Y29uc3QgRm9udCYgZiwgaW50IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiog
ZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKK2Zsb2F0
IFJlbmRlclRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgY29uc3QgRm9u
dCYgZiwgZmxvYXQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFj
a0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAogewogICAgIEFTU0VS
VChmcm9tICsgbGVuIDw9IHRleHRMZW5ndGgoKSk7CiAgICAgaWYgKCFjaGFyYWN0ZXJzKCkpCiAg
ICAgICAgIHJldHVybiAwOwogCi0gICAgaW50IHc7CisgICAgZmxvYXQgdzsKICAgICBpZiAoJmYg
PT0gJnN0eWxlKCktPmZvbnQoKSkgewogICAgICAgICBpZiAoIXN0eWxlKCktPnByZXNlcnZlTmV3
bGluZSgpICYmICFmcm9tICYmIGxlbiA9PSB0ZXh0TGVuZ3RoKCkpIHsKICAgICAgICAgICAgIGlm
IChmYWxsYmFja0ZvbnRzKSB7CkBAIC0xMjUyLDcgKzEyNTIsNyBAQCB1bnNpZ25lZCBSZW5kZXJU
ZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIHcgPSBtX21heFdpZHRoOwogICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAg
dyA9IG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpOworICAgICAgICAgICAgICAgIHcgPSBtYXhM
b2dpY2FsV2lkdGgoKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICB3ID0gd2lkdGhGcm9t
Q2FjaGUoZiwgZnJvbSwgbGVuLCB4UG9zLCBmYWxsYmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93KTsK
ICAgICB9IGVsc2UKQEAgLTEyNjgsOCArMTI2OCw4IEBAIEludFJlY3QgUmVuZGVyVGV4dDo6bGlu
ZXNCb3VuZGluZ0JveCgpIGMKICAgICBBU1NFUlQoIWZpcnN0VGV4dEJveCgpID09ICFsYXN0VGV4
dEJveCgpKTsgIC8vIEVpdGhlciBib3RoIGFyZSBudWxsIG9yIGJvdGggZXhpc3QuCiAgICAgaWYg
KGZpcnN0VGV4dEJveCgpICYmIGxhc3RUZXh0Qm94KCkpIHsKICAgICAgICAgLy8gUmV0dXJuIHRo
ZSB3aWR0aCBvZiB0aGUgbWluaW1hbCBsZWZ0IHNpZGUgYW5kIHRoZSBtYXhpbWFsIHJpZ2h0IHNp
ZGUuCi0gICAgICAgIGludCBsb2dpY2FsTGVmdFNpZGUgPSAwOwotICAgICAgICBpbnQgbG9naWNh
bFJpZ2h0U2lkZSA9IDA7CisgICAgICAgIGZsb2F0IGxvZ2ljYWxMZWZ0U2lkZSA9IDA7CisgICAg
ICAgIGZsb2F0IGxvZ2ljYWxSaWdodFNpZGUgPSAwOwogICAgICAgICBmb3IgKElubGluZVRleHRC
b3gqIGN1cnIgPSBmaXJzdFRleHRCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRUZXh0Qm94
KCkpIHsKICAgICAgICAgICAgIGlmIChjdXJyID09IGZpcnN0VGV4dEJveCgpIHx8IGN1cnItPmxv
Z2ljYWxMZWZ0KCkgPCBsb2dpY2FsTGVmdFNpZGUpCiAgICAgICAgICAgICAgICAgbG9naWNhbExl
ZnRTaWRlID0gY3Vyci0+bG9naWNhbExlZnQoKTsKQEAgLTEyNzksMTEgKzEyNzksMTEgQEAgSW50
UmVjdCBSZW5kZXJUZXh0OjpsaW5lc0JvdW5kaW5nQm94KCkgYwogICAgICAgICAKICAgICAgICAg
Ym9vbCBpc0hvcml6b250YWwgPSBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpOwog
ICAgICAgICAKLSAgICAgICAgaW50IHggPSBpc0hvcml6b250YWwgPyBsb2dpY2FsTGVmdFNpZGUg
OiBmaXJzdFRleHRCb3goKS0+eCgpOwotICAgICAgICBpbnQgeSA9IGlzSG9yaXpvbnRhbCA/IGZp
cnN0VGV4dEJveCgpLT55KCkgOiBsb2dpY2FsTGVmdFNpZGU7Ci0gICAgICAgIGludCB3aWR0aCA9
IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0
VGV4dEJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB4OwotICAgICAgICBpbnQgaGVpZ2h0ID0gaXNI
b3Jpem9udGFsID8gbGFzdFRleHRCb3goKS0+bG9naWNhbEJvdHRvbSgpIC0geSA6IGxvZ2ljYWxS
aWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGU7Ci0gICAgICAgIHJlc3VsdCA9IEludFJlY3QoeCwg
eSwgd2lkdGgsIGhlaWdodCk7CisgICAgICAgIGZsb2F0IHggPSBpc0hvcml6b250YWwgPyBsb2dp
Y2FsTGVmdFNpZGUgOiBmaXJzdFRleHRCb3goKS0+eCgpOworICAgICAgICBmbG9hdCB5ID0gaXNI
b3Jpem9udGFsID8gZmlyc3RUZXh0Qm94KCktPnkoKSA6IGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICAg
ICAgZmxvYXQgd2lkdGggPSBpc0hvcml6b250YWwgPyBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNh
bExlZnRTaWRlIDogbGFzdFRleHRCb3goKS0+bG9naWNhbEJvdHRvbSgpIC0geDsKKyAgICAgICAg
ZmxvYXQgaGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFzdFRleHRCb3goKS0+bG9naWNhbEJvdHRv
bSgpIC0geSA6IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGU7CisgICAgICAgIHJl
c3VsdCA9IGVuY2xvc2luZ0ludFJlY3QoRmxvYXRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpKTsK
ICAgICB9CiAKICAgICByZXR1cm4gcmVzdWx0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dC5oCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTcxLDI0ICs3MSwyNCBAQCBwdWJsaWM6
CiAgICAgdW5zaWduZWQgdGV4dExlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fdGV4dC5sZW5ndGgo
KTsgfSAvLyBub24gdmlydHVhbCBpbXBsZW1lbnRhdGlvbiBvZiBsZW5ndGgoKQogICAgIHZvaWQg
cG9zaXRpb25MaW5lQm94KElubGluZUJveCopOwogCi0gICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0
aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbnN0IEZvbnQmLCBpbnQgeFBvcywgSGFz
aFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVy
ZmxvdyogPSAwKSBjb25zdDsKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVkIGZy
b20sIHVuc2lnbmVkIGxlbiwgaW50IHhQb3MsIGJvb2wgZmlyc3RMaW5lID0gZmFsc2UsIEhhc2hT
ZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3ZlcmZs
b3cqID0gMCkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25lZCBmcm9tLCB1
bnNpZ25lZCBsZW4sIGNvbnN0IEZvbnQmLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBs
ZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0
OworICAgIHZpcnR1YWwgZmxvYXQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBm
bG9hdCB4UG9zLCBib29sIGZpcnN0TGluZSA9IGZhbHNlLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZv
bnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0Owog
Ci0gICAgdmlydHVhbCBpbnQgbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29uc3Q7Ci0gICAg
dmlydHVhbCBpbnQgbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29uc3Q7CisgICAgZmxvYXQg
bWluTG9naWNhbFdpZHRoKCkgY29uc3Q7CisgICAgZmxvYXQgbWF4TG9naWNhbFdpZHRoKCkgY29u
c3Q7CiAKLSAgICB2b2lkIHRyaW1tZWRQcmVmV2lkdGhzKGludCBsZWFkV2lkdGgsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQmIGJlZ2luTWluVywgYm9vbCYgYmVnaW5XUywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCYgZW5kTWluVywgYm9vbCYgZW5kV1MsCisgICAgdm9p
ZCB0cmltbWVkUHJlZldpZHRocyhmbG9hdCBsZWFkV2lkdGgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmbG9hdCYgYmVnaW5NaW5XLCBib29sJiBiZWdpbldTLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZmxvYXQmIGVuZE1pblcsIGJvb2wmIGVuZFdTLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYm9vbCYgaGFzQnJlYWthYmxlQ2hhciwgYm9vbCYgaGFzQnJlYWssCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGJlZ2luTWF4VywgaW50JiBlbmRNYXhXLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBtaW5XLCBpbnQmIG1heFcsIGJvb2wmIHN0cmlw
RnJvbnRTcGFjZXMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQmIGJlZ2luTWF4
VywgZmxvYXQmIGVuZE1heFcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYgbWlu
VywgZmxvYXQmIG1heFcsIGJvb2wmIHN0cmlwRnJvbnRTcGFjZXMpOwogCiAgICAgdmlydHVhbCBJ
bnRSZWN0IGxpbmVzQm91bmRpbmdCb3goKSBjb25zdDsKIAotICAgIEludFBvaW50IGZpcnN0UnVu
T3JpZ2luKCkgY29uc3Q7Ci0gICAgaW50IGZpcnN0UnVuWCgpIGNvbnN0OwotICAgIGludCBmaXJz
dFJ1blkoKSBjb25zdDsKKyAgICBGbG9hdFBvaW50IGZpcnN0UnVuT3JpZ2luKCkgY29uc3Q7Cisg
ICAgZmxvYXQgZmlyc3RSdW5YKCkgY29uc3Q7CisgICAgZmxvYXQgZmlyc3RSdW5ZKCkgY29uc3Q7
CiAKICAgICB2b2lkIHNldFRleHQoUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiwgYm9vbCBmb3JjZSA9
IGZhbHNlKTsKICAgICB2b2lkIHNldFRleHRXaXRoT2Zmc2V0KFBhc3NSZWZQdHI8U3RyaW5nSW1w
bD4sIHVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgbGVuLCBib29sIGZvcmNlID0gZmFsc2UpOwpA
QCAtMTIyLDcgKzEyMiw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2hlY2tDb25zaXN0ZW5jeSgp
IGNvbnN0OwogCi0gICAgdmlydHVhbCB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhz
KGludCBsZWFkV2lkdGgpOworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNh
bFdpZHRocyhmbG9hdCBsZWFkV2lkdGgpOwogICAgIGJvb2wgaXNBbGxDb2xsYXBzaWJsZVdoaXRl
c3BhY2UoKTsKICAgICAKIHByb3RlY3RlZDoKQEAgLTEzNSw3ICsxMzUsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgdmlydHVhbCBJbmxpbmVUZXh0Qm94KiBjcmVhdGVUZXh0Qm94KCk7IC8vIFN1YmNsYXNz
ZWQgYnkgU1ZHLgogCiBwcml2YXRlOgotICAgIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxX
aWR0aHMoaW50IGxlYWRXaWR0aCwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxs
YmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93Jik7CisgICAgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9n
aWNhbFdpZHRocyhmbG9hdCBsZWFkV2lkdGgsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEq
PiYgZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyYpOwogCiAgICAgLy8gTWFrZSBsZW5ndGgo
KSBwcml2YXRlIHNvIHRoYXQgY2FsbGVycyB0aGF0IGhhdmUgYSBSZW5kZXJUZXh0KgogICAgIC8v
IHdpbGwgdXNlIHRoZSBtb3JlIGVmZmljaWVudCB0ZXh0TGVuZ3RoKCkgaW5zdGVhZCwgd2hpbGUK
QEAgLTE0OCwyMiArMTQ4LDIyIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRlbGV0ZVRleHRCb3hl
cygpOwogICAgIGJvb2wgY29udGFpbnNPbmx5V2hpdGVzcGFjZSh1bnNpZ25lZCBmcm9tLCB1bnNp
Z25lZCBsZW4pIGNvbnN0OwotICAgIGludCB3aWR0aEZyb21DYWNoZShjb25zdCBGb250JiwgaW50
IHN0YXJ0LCBpbnQgbGVuLCBpbnQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+
KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KikgY29uc3Q7CisgICAgZmxvYXQgd2lkdGhG
cm9tQ2FjaGUoY29uc3QgRm9udCYsIGludCBzdGFydCwgaW50IGxlbiwgZmxvYXQgeFBvcywgSGFz
aFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93
KikgY29uc3Q7CiAgICAgYm9vbCBpc0FsbEFTQ0lJKCkgY29uc3QgeyByZXR1cm4gbV9pc0FsbEFT
Q0lJOyB9CiAgICAgdm9pZCB1cGRhdGVOZWVkc1RyYW5zY29kaW5nKCk7CiAKICAgICBpbmxpbmUg
dm9pZCB0cmFuc2Zvcm1UZXh0KFN0cmluZyYpIGNvbnN0OwogCi0gICAgaW50IG1fbWluV2lkdGg7
IC8vIGhlcmUgdG8gbWluaW1pemUgcGFkZGluZyBpbiA2NC1iaXQuCisgICAgZmxvYXQgbV9taW5X
aWR0aDsgLy8gaGVyZSB0byBtaW5pbWl6ZSBwYWRkaW5nIGluIDY0LWJpdC4KIAogICAgIFN0cmlu
ZyBtX3RleHQ7CiAKICAgICBJbmxpbmVUZXh0Qm94KiBtX2ZpcnN0VGV4dEJveDsKICAgICBJbmxp
bmVUZXh0Qm94KiBtX2xhc3RUZXh0Qm94OwogCi0gICAgaW50IG1fbWF4V2lkdGg7Ci0gICAgaW50
IG1fYmVnaW5NaW5XaWR0aDsKLSAgICBpbnQgbV9lbmRNaW5XaWR0aDsKKyAgICBmbG9hdCBtX21h
eFdpZHRoOworICAgIGZsb2F0IG1fYmVnaW5NaW5XaWR0aDsKKyAgICBmbG9hdCBtX2VuZE1pbldp
ZHRoOwogCiAgICAgYm9vbCBtX2hhc0JyZWFrYWJsZUNoYXIgOiAxOyAvLyBXaGV0aGVyIG9yIG5v
dCB3ZSBjYW4gYmUgYnJva2VuIGludG8gbXVsdGlwbGUgbGluZXMuCiAgICAgYm9vbCBtX2hhc0Jy
ZWFrIDogMTsgLy8gV2hldGhlciBvciBub3Qgd2UgaGF2ZSBhIGhhcmQgYnJlYWsgKGUuZy4sIDxw
cmU+IHdpdGggJ1xuJykuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUZXh0Q29udHJvbC5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQ0LDcgKzU0
NCw3IEBAIGZsb2F0IFJlbmRlclRleHRDb250cm9sOjpnZXRBdmdDaGFyV2lkdGgKICAgICAgICAg
cmV0dXJuIHJvdW5kZihzdHlsZSgpLT5mb250KCkucHJpbWFyeUZvbnQoKS0+YXZnQ2hhcldpZHRo
KCkpOwogCiAgICAgY29uc3QgVUNoYXIgY2ggPSAnMCc7IAotICAgIHJldHVybiBzdHlsZSgpLT5m
b250KCkuZmxvYXRXaWR0aChUZXh0UnVuKCZjaCwgMSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFs
bG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlLCBmYWxzZSwgZmFsc2UpKTsKKyAgICByZXR1cm4g
c3R5bGUoKS0+Zm9udCgpLndpZHRoKFRleHRSdW4oJmNoLCAxLCBmYWxzZSwgMCwgMCwgVGV4dFJ1
bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgZmFsc2UpKTsKIH0KIAogZmxvYXQgUmVuZGVyVGV4
dENvbnRyb2w6OnNjYWxlRW1Ub1VuaXRzKGludCB4KSBjb25zdApAQCAtNjM5LDcgKzYzOSw3IEBA
IHZvaWQgUmVuZGVyVGV4dENvbnRyb2w6OnBhaW50UGxhY2Vob2xkZXIKICAgICBwYWludEluZm8u
Y29udGV4dC0+c2V0RmlsbENvbG9yKHBsYWNlaG9sZGVyU3R5bGUtPnZpc2l0ZWREZXBlbmRlbnRD
b2xvcihDU1NQcm9wZXJ0eUNvbG9yKSwgcGxhY2Vob2xkZXJTdHlsZS0+Y29sb3JTcGFjZSgpKTsK
ICAgICAKICAgICBTdHJpbmcgcGxhY2Vob2xkZXJUZXh0ID0gc3RhdGljX2Nhc3Q8SFRNTFRleHRG
b3JtQ29udHJvbEVsZW1lbnQqPihub2RlKCkpLT5zdHJpcHBlZFBsYWNlaG9sZGVyKCk7Ci0gICAg
VGV4dFJ1biB0ZXh0UnVuKHBsYWNlaG9sZGVyVGV4dC5jaGFyYWN0ZXJzKCksIHBsYWNlaG9sZGVy
VGV4dC5sZW5ndGgoKSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNp
b24sICFwbGFjZWhvbGRlclN0eWxlLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIHBsYWNlaG9s
ZGVyU3R5bGUtPnVuaWNvZGVCaWRpKCkgPT0gT3ZlcnJpZGUsIGZhbHNlLCBmYWxzZSk7CisgICAg
VGV4dFJ1biB0ZXh0UnVuKHBsYWNlaG9sZGVyVGV4dC5jaGFyYWN0ZXJzKCksIHBsYWNlaG9sZGVy
VGV4dC5sZW5ndGgoKSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNp
b24sICFwbGFjZWhvbGRlclN0eWxlLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIHBsYWNlaG9s
ZGVyU3R5bGUtPnVuaWNvZGVCaWRpKCkgPT0gT3ZlcnJpZGUpOwogICAgIAogICAgIFJlbmRlckJv
eCogdGV4dFJlbmRlcmVyID0gaW5uZXJUZXh0RWxlbWVudCgpID8gaW5uZXJUZXh0RWxlbWVudCgp
LT5yZW5kZXJCb3goKSA6IDA7CiAgICAgaWYgKHRleHRSZW5kZXJlcikgewpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAkocmV2aXNpb24gNzgz
NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ3MCwxMSArNDcwLDE3IEBAIHZvaWQgUmVuZGVyVHJlZUFzVGV4dDo6
d3JpdGVSZW5kZXJPYmplY3QKIAogc3RhdGljIHZvaWQgd3JpdGVUZXh0UnVuKFRleHRTdHJlYW0m
IHRzLCBjb25zdCBSZW5kZXJUZXh0JiBvLCBjb25zdCBJbmxpbmVUZXh0Qm94JiBydW4pCiB7Ci0g
ICAgLy8gRklYTUU6IFRhYmxlIGNlbGwgYWRqdXN0bWVudCBpcyB0ZW1wb3JhcnkgdW50aWwgcmVz
dWx0cyBjYW4gYmUgdXBkYXRlZC4KKyAgICAvLyBGSVhNRTogRm9yIG5vdyB1c2UgYW4gImVuY2xv
c2luZ0ludFJlY3QiIG1vZGVsIGZvciB4LCB5IGFuZCBsb2dpY2FsV2lkdGgsIGFsdGhvdWdoIHRo
aXMgbWFrZXMgaXQgaGFyZGVyCisgICAgLy8gdG8gZGV0ZWN0IGFueSBjaGFuZ2VzIGNhdXNlZCBi
eSB0aGUgY29udmVyc2lvbiB0byBmbG9hdGluZyBwb2ludC4gOigKKyAgICBpbnQgeCA9IHJ1bi5t
X3g7CiAgICAgaW50IHkgPSBydW4ubV95OworICAgIGludCBsb2dpY2FsV2lkdGggPSBjZWlsZihy
dW4ubV94ICsgcnVuLm1fbG9naWNhbFdpZHRoKSAtIHg7CisKKyAgICAvLyBGSVhNRTogVGFibGUg
Y2VsbCBhZGp1c3RtZW50IGlzIHRlbXBvcmFyeSB1bnRpbCByZXN1bHRzIGNhbiBiZSB1cGRhdGVk
LgogICAgIGlmIChvLmNvbnRhaW5pbmdCbG9jaygpLT5pc1RhYmxlQ2VsbCgpKQogICAgICAgICB5
IC09IHRvUmVuZGVyVGFibGVDZWxsKG8uY29udGFpbmluZ0Jsb2NrKCkpLT5pbnRyaW5zaWNQYWRk
aW5nQmVmb3JlKCk7Ci0gICAgdHMgPDwgInRleHQgcnVuIGF0ICgiIDw8IHJ1bi5tX3ggPDwgIiwi
IDw8IHkgPDwgIikgd2lkdGggIiA8PCBydW4ubV9sb2dpY2FsV2lkdGg7CisgICAgICAgIAorICAg
IHRzIDw8ICJ0ZXh0IHJ1biBhdCAoIiA8PCB4IDw8ICIsIiA8PCB5IDw8ICIpIHdpZHRoICIgPDwg
bG9naWNhbFdpZHRoOwogICAgIGlmICghcnVuLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSB8fCBy
dW4ubV9kaXJPdmVycmlkZSkgewogICAgICAgICB0cyA8PCAoIXJ1bi5pc0xlZnRUb1JpZ2h0RGly
ZWN0aW9uKCkgPyAiIFJUTCIgOiAiIExUUiIpOwogICAgICAgICBpZiAocnVuLm1fZGlyT3ZlcnJp
ZGUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCShy
ZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTcsNyArOTcsNyBAQCBib29sIFJvb3RJbmxpbmVCb3g6
OmNhbkFjY29tbW9kYXRlRWxsaXBzCiAgICAgcmV0dXJuIElubGluZUZsb3dCb3g6OmNhbkFjY29t
bW9kYXRlRWxsaXBzaXMobHRyLCBibG9ja0VkZ2UsIGVsbGlwc2lzV2lkdGgpOwogfQogCi12b2lk
IFJvb3RJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXMoY29uc3QgQXRvbWljU3RyaW5nJiBlbGxpcHNp
c1N0ciwgIGJvb2wgbHRyLCBpbnQgYmxvY2tMZWZ0RWRnZSwgaW50IGJsb2NrUmlnaHRFZGdlLCBp
bnQgZWxsaXBzaXNXaWR0aCwKK3ZvaWQgUm9vdElubGluZUJveDo6cGxhY2VFbGxpcHNpcyhjb25z
dCBBdG9taWNTdHJpbmcmIGVsbGlwc2lzU3RyLCAgYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVmdEVk
Z2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIElubGluZUJveCogbWFya3VwQm94KQogewogICAgIC8v
IENyZWF0ZSBhbiBlbGxpcHNpcyBib3guCkBAIC0xMjMsOSArMTIzLDkgQEAgdm9pZCBSb290SW5s
aW5lQm94OjpwbGFjZUVsbGlwc2lzKGNvbnN0IAogICAgIGVsbGlwc2lzQm94LT5tX3ggPSBwbGFj
ZUVsbGlwc2lzQm94KGx0ciwgYmxvY2tMZWZ0RWRnZSwgYmxvY2tSaWdodEVkZ2UsIGVsbGlwc2lz
V2lkdGgsIGZvdW5kQm94KTsKIH0KIAotaW50IFJvb3RJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXNC
b3goYm9vbCBsdHIsIGludCBibG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGludCBl
bGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCkKK2Zsb2F0IFJvb3RJbmxpbmVCb3g6OnBsYWNl
RWxsaXBzaXNCb3goYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2NrUmln
aHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCkKIHsKLSAgICBpbnQg
cmVzdWx0ID0gSW5saW5lRmxvd0JveDo6cGxhY2VFbGxpcHNpc0JveChsdHIsIGJsb2NrTGVmdEVk
Z2UsIGJsb2NrUmlnaHRFZGdlLCBlbGxpcHNpc1dpZHRoLCBmb3VuZEJveCk7CisgICAgZmxvYXQg
cmVzdWx0ID0gSW5saW5lRmxvd0JveDo6cGxhY2VFbGxpcHNpc0JveChsdHIsIGJsb2NrTGVmdEVk
Z2UsIGJsb2NrUmlnaHRFZGdlLCBlbGxpcHNpc1dpZHRoLCBmb3VuZEJveCk7CiAgICAgaWYgKHJl
c3VsdCA9PSAtMSkKICAgICAgICAgcmVzdWx0ID0gbHRyID8gYmxvY2tSaWdodEVkZ2UgLSBlbGxp
cHNpc1dpZHRoIDogYmxvY2tMZWZ0RWRnZTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTk4LDEw
ICsxOTgsMTAgQEAgYm9vbCBSb290SW5saW5lQm94Ojpub2RlQXRQb2ludChjb25zdCBIaQogICAg
IHJldHVybiBJbmxpbmVGbG93Qm94Ojpub2RlQXRQb2ludChyZXF1ZXN0LCByZXN1bHQsIHgsIHks
IHR4LCB0eSk7CiB9CiAKLXZvaWQgUm9vdElubGluZUJveDo6YWRqdXN0UG9zaXRpb24oaW50IGR4
LCBpbnQgZHkpCit2b2lkIFJvb3RJbmxpbmVCb3g6OmFkanVzdFBvc2l0aW9uKGZsb2F0IGR4LCBm
bG9hdCBkeSkKIHsKICAgICBJbmxpbmVGbG93Qm94OjphZGp1c3RQb3NpdGlvbihkeCwgZHkpOwot
ICAgIGludCBibG9ja0RpcmVjdGlvbkRlbHRhID0gaXNIb3Jpem9udGFsKCkgPyBkeSA6IGR4Owor
ICAgIGludCBibG9ja0RpcmVjdGlvbkRlbHRhID0gaXNIb3Jpem9udGFsKCkgPyBkeSA6IGR4OyAv
LyBUaGUgYmxvY2sgZGlyZWN0aW9uIGRlbHRhIHdpbGwgYWx3YXlzIGJlIGludGVncmFsLgogICAg
IG1fbGluZVRvcCArPSBibG9ja0RpcmVjdGlvbkRlbHRhOwogICAgIG1fbGluZUJvdHRvbSArPSBi
bG9ja0RpcmVjdGlvbkRlbHRhOwogICAgIG1fYmxvY2tMb2dpY2FsSGVpZ2h0ICs9IGJsb2NrRGly
ZWN0aW9uRGVsdGE7CkBAIC0yODksNyArMjg5LDcgQEAgaW50IFJvb3RJbmxpbmVCb3g6OmJlZm9y
ZUFubm90YXRpb25zQWRqdQogCiAgICAgICAgIC8vIEFubm90YXRpb25zIG92ZXIgdGhpcyBsaW5l
IG1heSBwdXNoIHVzIGZ1cnRoZXIgZG93bi4KICAgICAgICAgaW50IGhpZ2hlc3RBbGxvd2VkUG9z
aXRpb24gPSBwcmV2Um9vdEJveCgpID8gbWluKHByZXZSb290Qm94KCktPmxpbmVCb3R0b20oKSwg
bGluZVRvcCgpKSArIHJlc3VsdCA6IGJsb2NrKCktPmJvcmRlckJlZm9yZSgpOwotICAgICAgICBy
ZXN1bHQgPSAgY29tcHV0ZU92ZXJBbm5vdGF0aW9uQWRqdXN0bWVudChoaWdoZXN0QWxsb3dlZFBv
c2l0aW9uKTsKKyAgICAgICAgcmVzdWx0ID0gY29tcHV0ZU92ZXJBbm5vdGF0aW9uQWRqdXN0bWVu
dChoaWdoZXN0QWxsb3dlZFBvc2l0aW9uKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBBbm5v
dGF0aW9ucyB1bmRlciB0aGlzIGxpbmUgbWF5IHB1c2ggdXMgdXAuCiAgICAgICAgIGlmIChoYXNB
bm5vdGF0aW9uc0JlZm9yZSgpKQpAQCAtNTQ0LDE0ICs1NDQsMTQgQEAgSW50UmVjdCBSb290SW5s
aW5lQm94OjpwYWRkZWRMYXlvdXRPdmVyZgogICAgIAogICAgIGlmIChpc0hvcml6b250YWwoKSkg
ewogICAgICAgICBpZiAoaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQotICAgICAgICAgICAgbGlu
ZUxheW91dE92ZXJmbG93LnNoaWZ0TWF4WEVkZ2VUbyhtYXgobGluZUxheW91dE92ZXJmbG93Lm1h
eFgoKSwgbG9naWNhbFJpZ2h0KCkgKyBlbmRQYWRkaW5nKSk7CisgICAgICAgICAgICBsaW5lTGF5
b3V0T3ZlcmZsb3cuc2hpZnRNYXhYRWRnZVRvKG1heChsaW5lTGF5b3V0T3ZlcmZsb3cubWF4WCgp
LCBwaXhlbFNuYXBwZWRMb2dpY2FsUmlnaHQoKSArIGVuZFBhZGRpbmcpKTsKICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0WEVkZ2VUbyhtaW4obGluZUxh
eW91dE92ZXJmbG93LngoKSwgbG9naWNhbExlZnQoKSAtIGVuZFBhZGRpbmcpKTsKKyAgICAgICAg
ICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdFhFZGdlVG8obWluKGxpbmVMYXlvdXRPdmVyZmxv
dy54KCksIHBpeGVsU25hcHBlZExvZ2ljYWxMZWZ0KCkgLSBlbmRQYWRkaW5nKSk7CiAgICAgfSBl
bHNlIHsKICAgICAgICAgaWYgKGlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKLSAgICAgICAgICAg
IGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdE1heFlFZGdlVG8obWF4KGxpbmVMYXlvdXRPdmVyZmxv
dy5tYXhZKCksIGxvZ2ljYWxSaWdodCgpICsgZW5kUGFkZGluZykpOworICAgICAgICAgICAgbGlu
ZUxheW91dE92ZXJmbG93LnNoaWZ0TWF4WUVkZ2VUbyhtYXgobGluZUxheW91dE92ZXJmbG93Lm1h
eFkoKSwgcGl4ZWxTbmFwcGVkTG9naWNhbFJpZ2h0KCkgKyBlbmRQYWRkaW5nKSk7CiAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdFlFZGdlVG8obWluKGxp
bmVMYXlvdXRPdmVyZmxvdy55KCksIGxvZ2ljYWxSaWdodCgpIC0gZW5kUGFkZGluZykpOworICAg
ICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0WUVkZ2VUbyhtaW4obGluZUxheW91dE92
ZXJmbG93LnkoKSwgcGl4ZWxTbmFwcGVkTG9naWNhbExlZnQoKSAtIGVuZFBhZGRpbmcpKTsKICAg
ICB9CiAgICAgCiAgICAgcmV0dXJuIGxpbmVMYXlvdXRPdmVyZmxvdzsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC00
NSw3ICs0NSw3IEBAIHB1YmxpYzoKICAgICBSb290SW5saW5lQm94KiBuZXh0Um9vdEJveCgpIGNv
bnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFJvb3RJbmxpbmVCb3gqPihtX25leHRMaW5lQm94KTsg
fQogICAgIFJvb3RJbmxpbmVCb3gqIHByZXZSb290Qm94KCkgY29uc3QgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8Um9vdElubGluZUJveCo+KG1fcHJldkxpbmVCb3gpOyB9CiAKLSAgICB2aXJ0dWFsIHZv
aWQgYWRqdXN0UG9zaXRpb24oaW50IGR4LCBpbnQgZHkpOworICAgIHZpcnR1YWwgdm9pZCBhZGp1
c3RQb3NpdGlvbihmbG9hdCBkeCwgZmxvYXQgZHkpOwogCiAgICAgaW50IGxpbmVUb3AoKSBjb25z
dCB7IHJldHVybiBtX2xpbmVUb3A7IH0KICAgICBpbnQgbGluZUJvdHRvbSgpIGNvbnN0IHsgcmV0
dXJuIG1fbGluZUJvdHRvbTsgfQpAQCAtNzgsOCArNzgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBj
aGlsZFJlbW92ZWQoSW5saW5lQm94KiBib3gpOwogCiAgICAgYm9vbCBjYW5BY2NvbW1vZGF0ZUVs
bGlwc2lzKGJvb2wgbHRyLCBpbnQgYmxvY2tFZGdlLCBpbnQgbGluZUJveEVkZ2UsIGludCBlbGxp
cHNpc1dpZHRoKTsKLSAgICB2b2lkIHBsYWNlRWxsaXBzaXMoY29uc3QgQXRvbWljU3RyaW5nJiBl
bGxpcHNpc1N0ciwgYm9vbCBsdHIsIGludCBibG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVk
Z2UsIGludCBlbGxpcHNpc1dpZHRoLCBJbmxpbmVCb3gqIG1hcmt1cEJveCA9IDApOwotICAgIHZp
cnR1YWwgaW50IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGludCBibG9ja0xlZnRFZGdlLCBp
bnQgYmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCk7Cisg
ICAgdm9pZCBwbGFjZUVsbGlwc2lzKGNvbnN0IEF0b21pY1N0cmluZyYgZWxsaXBzaXNTdHIsIGJv
b2wgbHRyLCBmbG9hdCBibG9ja0xlZnRFZGdlLCBmbG9hdCBibG9ja1JpZ2h0RWRnZSwgZmxvYXQg
ZWxsaXBzaXNXaWR0aCwgSW5saW5lQm94KiBtYXJrdXBCb3ggPSAwKTsKKyAgICB2aXJ0dWFsIGZs
b2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVmdEVkZ2UsIGZsb2F0
IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCk7CiAK
ICAgICBFbGxpcHNpc0JveCogZWxsaXBzaXNCb3goKSBjb25zdDsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCShyZXZpc2lv
biA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJv
eC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxNSw5ICs0MTUsNiBAQCBUZXh0UnVuIFNWR0lubGlu
ZVRleHRCb3g6OmNvbnN0cnVjdFRleHRSCiAgICAgcnVuLnNldFJlZmVyZW5jaW5nUmVuZGVyT2Jq
ZWN0KHRleHQpOwogI2VuZGlmCiAKLSAgICAvLyBEaXNhYmxlIGFueSB3b3JkL2NoYXJhY3RlciBy
b3VuZGluZy4KLSAgICBydW4uZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsKLQogICAgIC8vIFdlIGhh
bmRsZSBsZXR0ZXIgJiB3b3JkIHNwYWNpbmcgb3Vyc2VsdmVzLgogICAgIHJ1bi5kaXNhYmxlU3Bh
Y2luZygpOwogICAgIHJldHVybiBydW47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1RleHRNZXRyaWNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzLmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDcsOCArNDcsOSBAQCBTVkdUZXh0TWV0cmljczo6U1ZHVGV4dE1ldHJpY3MoUmVuZGVyU1ZH
CiAgICAgaW50IGxlbmd0aCA9IDA7CiAKICAgICAvLyBDYWxjdWxhdGUgd2lkdGgvaGVpZ2h0IHVz
aW5nIHRoZSBzY2FsZWQgZm9udCwgZGl2aWRlIHRoaXMgcmVzdWx0IGJ5IHRoZSBzY2FsaW5nRmFj
dG9yIGFmdGVyd2FyZHMuCi0gICAgbV93aWR0aCA9IHNjYWxlZEZvbnQuZmxvYXRXaWR0aChydW4s
IGV4dHJhQ2hhcnNBdmFpbGFibGUsIGxlbmd0aCwgbV9nbHlwaC5uYW1lKSAvIHNjYWxpbmdGYWN0
b3I7CisgICAgbV93aWR0aCA9IHNjYWxlZEZvbnQud2lkdGgocnVuLCBleHRyYUNoYXJzQXZhaWxh
YmxlLCBsZW5ndGgsIG1fZ2x5cGgubmFtZSkgLyBzY2FsaW5nRmFjdG9yOwogICAgIG1faGVpZ2h0
ID0gc2NhbGVkRm9udC5mb250TWV0cmljcygpLmZsb2F0SGVpZ2h0KCkgLyBzY2FsaW5nRmFjdG9y
OworCiAgICAgbV9nbHlwaC51bmljb2RlU3RyaW5nID0gU3RyaW5nKHJ1bi5jaGFyYWN0ZXJzKCks
IGxlbmd0aCk7CiAgICAgbV9nbHlwaC5pc1ZhbGlkID0gdHJ1ZTsKIApAQCAtNzksOSArODAsNiBA
QCBzdGF0aWMgVGV4dFJ1biBjb25zdHJ1Y3RUZXh0UnVuKFJlbmRlclNWCiAgICAgcnVuLnNldFJl
ZmVyZW5jaW5nUmVuZGVyT2JqZWN0KHRleHQpOwogI2VuZGlmCiAKLSAgICAvLyBEaXNhYmxlIGFu
eSB3b3JkL2NoYXJhY3RlciByb3VuZGluZy4KLSAgICBydW4uZGlzYWJsZVJvdW5kaW5nSGFja3Mo
KTsKLQogICAgIC8vIFdlIGhhbmRsZSBsZXR0ZXIgJiB3b3JkIHNwYWNpbmcgb3Vyc2VsdmVzLgog
ICAgIHJ1bi5kaXNhYmxlU3BhY2luZygpOwogICAgIHJldHVybiBydW47CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRm9udC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZvbnQuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
b250LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYyLDcgKzM2Miw3IEBAIHN0YXRpYyB2b2lkIGZs
b2F0V2lkdGhNaXNzaW5nR2x5cGhDYWxsYmEKICAgICBGb250IGZvbnQoZm9udERlc2NyaXB0aW9u
LCAwLCAwKTsgLy8gc3BhY2luZyBoYW5kbGVkIGJ5IFNWRyB0ZXh0IGNvZGUuCiAgICAgZm9udC51
cGRhdGUoZGF0YS5mb250LT5mb250U2VsZWN0b3IoKSk7CiAKLSAgICBkYXRhLmxlbmd0aCArPSBm
b250LmZsb2F0V2lkdGgocnVuKTsKKyAgICBkYXRhLmxlbmd0aCArPSBmb250LndpZHRoKHJ1bik7
CiB9CiAKIApAQCAtNTczLDkgKzU3Myw5IEBAIHZvaWQgRm9udDo6ZHJhd1RleHRVc2luZ1NWR0Zv
bnQoR3JhcGhpY3MKICAgICAgICAgICAgICAgICBmb250LmRyYXdUZXh0KGNvbnRleHQsIGZhbGxi
YWNrQ2hhcmFjdGVyUnVuLCBjdXJyZW50UG9pbnQpOwogCiAgICAgICAgICAgICAgICAgaWYgKGlz
VmVydGljYWxUZXh0KQotICAgICAgICAgICAgICAgICAgICBjdXJyZW50UG9pbnQubW92ZSgwLjBm
LCBmb250LmZsb2F0V2lkdGgoZmFsbGJhY2tDaGFyYWN0ZXJSdW4pKTsKKyAgICAgICAgICAgICAg
ICAgICAgY3VycmVudFBvaW50Lm1vdmUoMC4wZiwgZm9udC53aWR0aChmYWxsYmFja0NoYXJhY3Rl
clJ1bikpOwogICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgY3VycmVu
dFBvaW50Lm1vdmUoZm9udC5mbG9hdFdpZHRoKGZhbGxiYWNrQ2hhcmFjdGVyUnVuKSwgMC4wZik7
CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRQb2ludC5tb3ZlKGZvbnQud2lkdGgoZmFsbGJh
Y2tDaGFyYWN0ZXJSdW4pLCAwLjBmKTsKIAogICAgICAgICAgICAgICAgIGZhbGxiYWNrQ2hhcmFj
dGVySW5kZXgrKzsKICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL01pc2Mv
V2ViS2l0TlNTdHJpbmdFeHRyYXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMv
TWlzYy9XZWJLaXROU1N0cmluZ0V4dHJhcy5tbQkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2Uv
V2ViS2l0L21hYy9NaXNjL1dlYktpdE5TU3RyaW5nRXh0cmFzLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC05MSw3ICs5MSw2IEBAIC0gKHZvaWQpX3dlYl9kcmF3QXRQb2ludDooTlNQb2ludClwb2ludCAK
IAogICAgICAgICBGb250IHdlYkNvcmVGb250KEZvbnRQbGF0Zm9ybURhdGEoZm9udCwgW2ZvbnQg
cG9pbnRTaXplXSksICFbbnNDb250ZXh0IGlzRHJhd2luZ1RvU2NyZWVuXSwgZm9udFNtb290aGlu
Z0lzQWxsb3dlZCA/IEF1dG9TbW9vdGhpbmcgOiBBbnRpYWxpYXNlZCk7CiAgICAgICAgIFRleHRS
dW4gcnVuKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCk7Ci0gICAgICAgIHJ1bi5kaXNhYmxlUm91bmRp
bmdIYWNrcygpOwogCiAgICAgICAgIENHRmxvYXQgcmVkOwogICAgICAgICBDR0Zsb2F0IGdyZWVu
OwpAQCAtMTM3LDggKzEzNiw3IEBAIC0gKGZsb2F0KV93ZWJfd2lkdGhXaXRoRm9udDooTlNGb250
ICopZm8KICAgICBpZiAoY2FuVXNlRmFzdFJlbmRlcmVyKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCkp
IHsKICAgICAgICAgRm9udCB3ZWJDb3JlRm9udChGb250UGxhdGZvcm1EYXRhKGZvbnQsIFtmb250
IHBvaW50U2l6ZV0pLCAhW1tOU0dyYXBoaWNzQ29udGV4dCBjdXJyZW50Q29udGV4dF0gaXNEcmF3
aW5nVG9TY3JlZW5dKTsKICAgICAgICAgVGV4dFJ1biBydW4oYnVmZmVyLmRhdGEoKSwgbGVuZ3Ro
KTsKLSAgICAgICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7Ci0gICAgICAgIHJldHVybiB3
ZWJDb3JlRm9udC5mbG9hdFdpZHRoKHJ1bik7CisgICAgICAgIHJldHVybiB3ZWJDb3JlRm9udC53
aWR0aChydW4pOwogICAgIH0KIAogICAgIHJldHVybiBbc2VsZiBzaXplV2l0aEF0dHJpYnV0ZXM6
W05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0aE9iamVjdHNBbmRLZXlzOmZvbnQsIE5TRm9udEF0
dHJpYnV0ZU5hbWUsIG5pbF1dLndpZHRoOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82282</attachid>
            <date>2011-02-13 17:14:06 -0800</date>
            <delta_ts>2011-02-14 10:53:06 -0800</delta_ts>
            <desc>Patch that applies (ignore for review, just testing builds)</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>166045</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0zOTksOSArMzk5LDkgQEAgX19a
TjdXZWJDb3JlMTVQcm90ZWN0aW9uU3BhY2VDMUVSS04zV1RGNgogX19aTjdXZWJDb3JlMTVQcm90
ZWN0aW9uU3BhY2VDMUV2CiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE3YWxpZ25DZW50
ZXJBbHdheXNFCiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE5YWxpZ25Ub0VkZ2VJZk5l
ZWRlZEUKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRlRVJLTjNX
VEY2U3RyaW5nRWZSS05TXzRGb250RWIKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRj
ZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0VmUktOU180Rm9udEViCi1fX1pON1dlYkNvcmUx
NVN0cmluZ1RydW5jYXRvcjV3aWR0aEVSS04zV1RGNlN0cmluZ0VSS05TXzRGb250RWIKK19fWk43
V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRjZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0Vm
UktOU180Rm9udEUKK19fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRl
RVJLTjNXVEY2U3RyaW5nRWZSS05TXzRGb250RQorX19aTjdXZWJDb3JlMTVTdHJpbmdUcnVuY2F0
b3I1d2lkdGhFUktOM1dURjZTdHJpbmdFUktOU180Rm9udEUKIF9fWk43V2ViQ29yZTE1VmlzaWJs
ZVBvc2l0aW9uQzFFUE5TXzROb2RlRWlOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3JlMTVWaXNp
YmxlUG9zaXRpb25DMUVSS05TXzhQb3NpdGlvbkVOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3Jl
MTVkZWZhdWx0TGFuZ3VhZ2VFdgpAQCAtMTEyNSw3ICsxMTI1LDcgQEAgX19aTks3V2ViQ29yZTI3
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VCYQogX19aTks3V2ViQ29yZTI3QXV0aGVudGljYXRpb25D
aGFsbGVuZ2VCYXNlMjBwcmV2aW91c0ZhaWx1cmVDb3VudEV2CiBfX1pOSzdXZWJDb3JlMjdBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZUJhc2U1ZXJyb3JFdgogX19aTks3V2ViQ29yZTI3QXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VCYXNlNmlzTnVsbEV2Ci1fX1pOSzdXZWJDb3JlNEZvbnQxMGZsb2F0V2lk
dGhFUktOU183VGV4dFJ1bkVQTjNXVEY3SGFzaFNldElQS05TXzE0U2ltcGxlRm9udERhdGFFTlM0
XzdQdHJIYXNoSVM4X0VFTlM0XzEwSGFzaFRyYWl0c0lTOF9FRUVFUE5TXzEzR2x5cGhPdmVyZmxv
d0UKK19fWk5LN1dlYkNvcmU0Rm9udDV3aWR0aEVSS05TXzdUZXh0UnVuRVBOM1dURjdIYXNoU2V0
SVBLTlNfMTRTaW1wbGVGb250RGF0YUVOUzRfN1B0ckhhc2hJUzhfRUVOUzRfMTBIYXNoVHJhaXRz
SVM4X0VFRUVQTlNfMTNHbHlwaE92ZXJmbG93RQogX19aTks3V2ViQ29yZTRGb250OGRyYXdUZXh0
RVBOU18xNUdyYXBoaWNzQ29udGV4dEVSS05TXzdUZXh0UnVuRVJLTlNfMTBGbG9hdFBvaW50RWlp
CiBfX1pOSzdXZWJDb3JlNEtVUkwxMWNyZWF0ZUNGVVJMRXYKIF9fWk5LN1dlYkNvcmU0S1VSTDEx
aXNMb2NhbEZpbGVFdgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE3NzEsNyArMTc3MSw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjpkcmF3VGV4dEkKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRleHQubGVuZ3RoKCk7
CiAgICAgY29uc3QgVUNoYXIqIHN0cmluZyA9IHRleHQuY2hhcmFjdGVycygpOwotICAgIFRleHRS
dW4gdGV4dFJ1bihzdHJpbmcsIGxlbmd0aCwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJh
aWxpbmdFeHBhbnNpb24sIHJ0bCwgb3ZlcnJpZGUsIGZhbHNlLCBmYWxzZSk7CisgICAgVGV4dFJ1
biB0ZXh0UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFp
bGluZ0V4cGFuc2lvbiwgcnRsLCBvdmVycmlkZSk7CiAKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRl
eHQgYXQgdGhlIGNvcnJlY3QgcG9pbnQuCiAgICAgRmxvYXRQb2ludCBsb2NhdGlvbih4LCB5KTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21p
dW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0Zp
bGVDaG9vc2VyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00NCw5ICs0NCw5IEBAIFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChj
b24KICAgICBlbHNlIGlmIChtX2ZpbGVuYW1lcy5zaXplKCkgPT0gMSkKICAgICAgICAgc3RyaW5n
ID0gcGF0aEdldERpc3BsYXlGaWxlTmFtZShtX2ZpbGVuYW1lc1swXSk7CiAgICAgZWxzZQotICAg
ICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmlsZVVw
bG9hZFRleHQobV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICAg
ICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxv
YWRUZXh0KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250KTsKIAotICAgIHJldHVybiBT
dHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0cmluZywgc3RhdGljX2Nhc3Q8ZmxvYXQ+
KHdpZHRoKSwgZm9udCwgZmFsc2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRl
clRydW5jYXRlKHN0cmluZywgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHdpZHRoKSwgZm9udCk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxNyArMzksNiBAQCB1
c2luZyBuYW1lc3BhY2UgVW5pY29kZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1
aW50OF90IEZvbnQ6OmdSb3VuZGluZ0hhY2tDaGFyYWN0ZXJUYWJsZVsyNTZdID0gewotICAgIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEgLypcdCovLCAxIC8qXG4qLywgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAx
IC8qc3BhY2UqLywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKi0qLywg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKj8q
LywKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAxIC8qbm8tYnJlYWsgc3BhY2UqLywgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAK
LX07Ci0KIEZvbnQ6OkNvZGVQYXRoIEZvbnQ6OnNfY29kZVBhdGggPSBBdXRvOwogCiAvLyA9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtMTc2LDcgKzE2NSw3IEBAIHZvaWQg
Rm9udDo6ZHJhd0VtcGhhc2lzTWFya3MoR3JhcGhpY3NDb24KICAgICAgICAgZHJhd0VtcGhhc2lz
TWFya3NGb3JDb21wbGV4VGV4dChjb250ZXh0LCBydW4sIG1hcmssIHBvaW50LCBmcm9tLCB0byk7
CiB9CiAKLWZsb2F0IEZvbnQ6OmZsb2F0V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0
PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGds
eXBoT3ZlcmZsb3cpIGNvbnN0CitmbG9hdCBGb250Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4s
IEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVy
ZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAg
IGlmIChwcmltYXJ5Rm9udCgpLT5pc1NWR0ZvbnQoKSkKQEAgLTE5NCw3ICsxODMsNyBAQCBmbG9h
dCBGb250OjpmbG9hdFdpZHRoKGNvbnN0IFRleHRSdW4mIHJ1CiAgICAgcmV0dXJuIGZsb2F0V2lk
dGhGb3JDb21wbGV4VGV4dChydW4sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQog
Ci1mbG9hdCBGb250OjpmbG9hdFdpZHRoKGNvbnN0IFRleHRSdW4mIHJ1biwgaW50IGV4dHJhQ2hh
cnNBdmFpbGFibGUsIGludCYgY2hhcnNDb25zdW1lZCwgU3RyaW5nJiBnbHlwaE5hbWUpIGNvbnN0
CitmbG9hdCBGb250Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIGludCBleHRyYUNoYXJzQXZh
aWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQsIFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdAogewog
I2lmICFFTkFCTEUoU1ZHX0ZPTlRTKQogICAgIFVOVVNFRF9QQVJBTShleHRyYUNoYXJzQXZhaWxh
YmxlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHJldmlz
aW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCSh3
b3JraW5nIGNvcHkpCkBAIC05NCw5ICs5NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRyYXdUZXh0
KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50JiwgaW50
IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7CiAgICAgdm9pZCBkcmF3RW1waGFzaXNNYXJr
cyhHcmFwaGljc0NvbnRleHQqLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgQXRvbWljU3RyaW5nJiBt
YXJrLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7
CiAKLSAgICBpbnQgd2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IFNpbXBs
ZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJm
bG93ID0gMCkgY29uc3QgeyByZXR1cm4gbHJvdW5kZihmbG9hdFdpZHRoKHJ1biwgZmFsbGJhY2tG
b250cywgZ2x5cGhPdmVyZmxvdykpOyB9Ci0gICAgZmxvYXQgZmxvYXRXaWR0aChjb25zdCBUZXh0
UnVuJiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwg
R2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdyA9IDApIGNvbnN0OwotICAgIGZsb2F0IGZsb2F0
V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBpbnQgZXh0cmFDaGFyc0F2YWlsYWJsZSwgaW50JiBj
aGFyc0NvbnN1bWVkLCBTdHJpbmcmIGdseXBoTmFtZSkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgo
Y29uc3QgVGV4dFJ1biYsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tG
b250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgoY29u
c3QgVGV4dFJ1biYsIGludCBleHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQs
IFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdDsKIAogICAgIGludCBvZmZzZXRGb3JQb3NpdGlvbihj
b25zdCBUZXh0UnVuJiwgZmxvYXQgcG9zaXRpb24sIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMp
IGNvbnN0OwogICAgIEZsb2F0UmVjdCBzZWxlY3Rpb25SZWN0Rm9yVGV4dChjb25zdCBUZXh0UnVu
JiwgY29uc3QgRmxvYXRQb2ludCYsIGludCBoLCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKSBj
b25zdDsKQEAgLTEyOSw4ICsxMjgsOCBAQCBwdWJsaWM6CiAKICAgICAvLyBNZXRyaWNzIHRoYXQg
d2UgcXVlcnkgdGhlIEZvbnRGYWxsYmFja0xpc3QgZm9yLgogICAgIGNvbnN0IEZvbnRNZXRyaWNz
JiBmb250TWV0cmljcygpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmZvbnRNZXRyaWNz
KCk7IH0KLSAgICBpbnQgc3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIChpbnQpY2VpbGYocHJp
bWFyeUZvbnQoKS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmcpOyB9Ci0g
ICAgZmxvYXQgdGFiV2lkdGgoY29uc3QgU2ltcGxlRm9udERhdGEmIGZvbnREYXRhKSBjb25zdCB7
IHJldHVybiA4ICogY2VpbGYoZm9udERhdGEuYWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBsZXR0ZXJT
cGFjaW5nKCkpOyB9CisgICAgaW50IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBwcmltYXJ5
Rm9udCgpLT5zcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmc7IH0KKyAgICBmbG9hdCB0YWJX
aWR0aChjb25zdCBTaW1wbGVGb250RGF0YSYgZm9udERhdGEpIGNvbnN0IHsgcmV0dXJuIDggKiBm
b250RGF0YS5zcGFjZVdpZHRoKCkgKyBsZXR0ZXJTcGFjaW5nKCk7IH0KICAgICBpbnQgZW1waGFz
aXNNYXJrQXNjZW50KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNp
c01hcmtEZXNjZW50KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNp
c01hcmtIZWlnaHQoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CkBAIC0yMDEsMTIgKzIwMCw2
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgQ29kZVBhdGggY29kZVBhdGgoKTsKICAgICBzdGF0aWMg
Q29kZVBhdGggc19jb2RlUGF0aDsKIAotICAgIHN0YXRpYyBjb25zdCB1aW50OF90IGdSb3VuZGlu
Z0hhY2tDaGFyYWN0ZXJUYWJsZVsyNTZdOwotICAgIHN0YXRpYyBib29sIGlzUm91bmRpbmdIYWNr
Q2hhcmFjdGVyKFVDaGFyMzIgYykKLSAgICB7Ci0gICAgICAgIHJldHVybiAoKChjICYgfjB4RkYp
ID09IDAgJiYgZ1JvdW5kaW5nSGFja0NoYXJhY3RlclRhYmxlW2NdKSk7Ci0gICAgfQotCiAgICAg
Rm9udFNlbGVjdG9yKiBmb250U2VsZWN0b3IoKSBjb25zdDsKICAgICBzdGF0aWMgYm9vbCB0cmVh
dEFzU3BhY2UoVUNoYXIgYykgeyByZXR1cm4gYyA9PSAnICcgfHwgYyA9PSAnXHQnIHx8IGMgPT0g
J1xuJyB8fCBjID09IG5vQnJlYWtTcGFjZTsgfQogICAgIHN0YXRpYyBib29sIHRyZWF0QXNaZXJv
V2lkdGhTcGFjZShVQ2hhciBjKSB7IHJldHVybiBjIDwgMHgyMCB8fCAoYyA+PSAweDdGICYmIGMg
PCAweEEwKSB8fCBjID09IHNvZnRIeXBoZW4gfHwgKGMgPj0gMHgyMDBjICYmIGMgPD0gMHgyMDBm
KSB8fCAoYyA+PSAweDIwMmEgJiYgYyA8PSAweDIwMmUpIHx8IGMgPT0gb2JqZWN0UmVwbGFjZW1l
bnRDaGFyYWN0ZXI7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRGYXN0UGF0aC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udEZhc3RQYXRoLmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
OTcsOSArMjk3LDggQEAgZmxvYXQgRm9udDo6Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JTaW1wbAog
ICAgIGZsb2F0IGFmdGVyV2lkdGggPSBpdC5tX3J1bldpZHRoU29GYXI7CiAKICAgICBpZiAocnVu
LnJ0bCgpKSB7Ci0gICAgICAgIGZsb2F0IGZpbmFsUm91bmRpbmdXaWR0aCA9IGl0Lm1fZmluYWxS
b3VuZGluZ1dpZHRoOwogICAgICAgICBpdC5hZHZhbmNlKHJ1bi5sZW5ndGgoKSk7Ci0gICAgICAg
IGluaXRpYWxBZHZhbmNlID0gZmluYWxSb3VuZGluZ1dpZHRoICsgaXQubV9ydW5XaWR0aFNvRmFy
IC0gYWZ0ZXJXaWR0aDsKKyAgICAgICAgaW5pdGlhbEFkdmFuY2UgPSBpdC5tX3J1bldpZHRoU29G
YXIgLSBhZnRlcldpZHRoOwogICAgIH0gZWxzZQogICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGJl
Zm9yZVdpZHRoOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzc1LDcgKzM3NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3SW1hZ2UoSW1h
Z2UqIGkKIH0KIAogI2lmICFPUyhXSU5DRSkgfHwgUExBVEZPUk0oUVQpCi12b2lkIEdyYXBoaWNz
Q29udGV4dDo6ZHJhd1RleHQoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBj
b25zdCBJbnRQb2ludCYgcG9pbnQsIGludCBmcm9tLCBpbnQgdG8pCit2b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd1RleHQoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBjb25z
dCBGbG9hdFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bykKIHsKICAgICBpZiAocGFpbnRp
bmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC0zODQsNyArMzg0LDcgQEAgdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdUZXh0KGNvbnN0IEZvbgogfQogI2VuZGlmCiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpkcmF3RW1waGFzaXNNYXJrcyhjb25zdCBGb250JiBmb250LCBjb25zdCBU
ZXh0UnVuJiBydW4sIGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaywgY29uc3QgSW50UG9pbnQmIHBv
aW50LCBpbnQgZnJvbSwgaW50IHRvKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdFbXBoYXNp
c01hcmtzKGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgQXRvbWlj
U3RyaW5nJiBtYXJrLCBjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bykK
IHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC00MjIs
MTMgKzQyMiwxMyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0JpZGlUZXh0KGNvbnN0CiAg
ICAgICAgIGJpZGlSdW4gPSBiaWRpUnVuLT5uZXh0KCk7CiAgICAgICAgIC8vIEZJWE1FOiBIYXZl
IEZvbnQ6OmRyYXdUZXh0IHJldHVybiB0aGUgd2lkdGggb2Ygd2hhdCBpdCBkcmV3IHNvIHRoYXQg
d2UgZG9uJ3QgaGF2ZSB0byByZS1tZWFzdXJlIGhlcmUuCiAgICAgICAgIGlmIChiaWRpUnVuKQot
ICAgICAgICAgICAgY3VyclBvaW50Lm1vdmUoZm9udC5mbG9hdFdpZHRoKHN1YnJ1biksIDAuZik7
CisgICAgICAgICAgICBjdXJyUG9pbnQubW92ZShmb250LndpZHRoKHN1YnJ1biksIDApOwogICAg
IH0KIAogICAgIGJpZGlSZXNvbHZlci5kZWxldGVSdW5zKCk7CiB9CiAKLXZvaWQgR3JhcGhpY3ND
b250ZXh0OjpkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0
UnVuJiBydW4sIGNvbnN0IEludFBvaW50JiBwb2ludCwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNr
Z3JvdW5kQ29sb3IsIENvbG9yU3BhY2UgY29sb3JTcGFjZSwgaW50IGZyb20sIGludCB0bykKK3Zv
aWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiBmb250
LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBpbnQgaCwgY29u
c3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgQ29sb3JTcGFjZSBjb2xvclNwYWNlLCBpbnQgZnJv
bSwgaW50IHRvKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVy
bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5oCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzUsMjAgKzMz
NSwyMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFRleHREcmF3aW5nTW9kZUZsYWdz
IHRleHREcmF3aW5nTW9kZSgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldFRleHREcmF3aW5nTW9k
ZShUZXh0RHJhd2luZ01vZGVGbGFncyk7CiAKLSAgICAgICAgdm9pZCBkcmF3VGV4dChjb25zdCBG
b250JiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IEludFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQg
dG8gPSAtMSk7Ci0gICAgICAgIHZvaWQgZHJhd0VtcGhhc2lzTWFya3MoY29uc3QgRm9udCYsIGNv
bnN0IFRleHRSdW4mICwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBJbnRQb2ludCYs
IGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRyYXdUZXh0KGNvbnN0
IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxvYXRQb2ludCYsIGludCBmcm9tID0gMCwg
aW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRyYXdFbXBoYXNpc01hcmtzKGNvbnN0IEZvbnQm
LCBjb25zdCBUZXh0UnVuJiAsIGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaywgY29uc3QgRmxvYXRQ
b2ludCYsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOwogICAgICAgICB2b2lkIGRyYXdCaWRp
VGV4dChjb25zdCBGb250JiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IEZsb2F0UG9pbnQmKTsKLSAg
ICAgICAgdm9pZCBkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiwgY29uc3QgVGV4dFJ1
biYsIGNvbnN0IEludFBvaW50JiwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3Is
IENvbG9yU3BhY2UsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRy
YXdIaWdobGlnaHRGb3JUZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxv
YXRQb2ludCYsIGludCBoLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yLCBDb2xvclNwYWNl
LCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKTsKIAogICAgICAgICBGbG9hdFJlY3Qgcm91bmRU
b0RldmljZVBpeGVscyhjb25zdCBGbG9hdFJlY3QmKTsKIAotICAgICAgICB2b2lkIGRyYXdMaW5l
Rm9yVGV4dChjb25zdCBJbnRQb2ludCYsIGludCB3aWR0aCwgYm9vbCBwcmludGluZyk7CisgICAg
ICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmLCBmbG9hdCB3aWR0aCwg
Ym9vbCBwcmludGluZyk7CiAgICAgICAgIGVudW0gVGV4dENoZWNraW5nTGluZVN0eWxlIHsKICAg
ICAgICAgICAgIFRleHRDaGVja2luZ1NwZWxsaW5nTGluZVN0eWxlLAogICAgICAgICAgICAgVGV4
dENoZWNraW5nR3JhbW1hckxpbmVTdHlsZSwKICAgICAgICAgICAgIFRleHRDaGVja2luZ1JlcGxh
Y2VtZW50TGluZVN0eWxlCiAgICAgICAgIH07Ci0gICAgICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0
Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmLCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHls
ZSk7CisgICAgICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2lu
dCYsIGZsb2F0IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUpOwogCiAgICAgICAgIGJvb2wg
cGFpbnRpbmdEaXNhYmxlZCgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldFBhaW50aW5nRGlzYWJs
ZWQoYm9vbCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVG
b250RGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvU2ltcGxlRm9udERhdGEuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTA4LDcgKzEwOCw2IEBAIFNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShQYXNzT3duUHQK
ICAgICBtX3NwYWNlR2x5cGggPSAwOwogICAgIG1femVyb1dpZHRoU3BhY2VHbHlwaCA9IDA7CiAg
ICAgZGV0ZXJtaW5lUGl0Y2goKTsKLSAgICBtX2FkanVzdGVkU3BhY2VXaWR0aCA9IHJvdW5kZiht
X3NwYWNlV2lkdGgpOwogICAgIG1fbWlzc2luZ0dseXBoRGF0YS5mb250RGF0YSA9IHRoaXM7CiAg
ICAgbV9taXNzaW5nR2x5cGhEYXRhLmdseXBoID0gMDsKIH0KQEAgLTE0Myw3ICsxNDIsNiBAQCB2
b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBoSW5pdCgpCiAgICAgICAgIExPR19FUlJP
UigiRmFpbGVkIHRvIGdldCBnbHlwaCBwYWdlIHplcm8uIik7CiAgICAgICAgIG1fc3BhY2VHbHlw
aCA9IDA7CiAgICAgICAgIG1fc3BhY2VXaWR0aCA9IDA7Ci0gICAgICAgIG1fYWRqdXN0ZWRTcGFj
ZVdpZHRoID0gMDsKICAgICAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKICAgICAgICAgbV96ZXJvV2lk
dGhTcGFjZUdseXBoID0gMDsKICAgICAgICAgbV9taXNzaW5nR2x5cGhEYXRhLmZvbnREYXRhID0g
dGhpczsKQEAgLTE2MCw3ICsxNTgsNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUds
eXBoSW5pdCgpCiAgICAgZmxvYXQgd2lkdGggPSB3aWR0aEZvckdseXBoKG1fc3BhY2VHbHlwaCk7
CiAgICAgbV9zcGFjZVdpZHRoID0gd2lkdGg7CiAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKLSAgICBt
X2FkanVzdGVkU3BhY2VXaWR0aCA9IG1fdHJlYXRBc0ZpeGVkUGl0Y2ggPyBjZWlsZih3aWR0aCkg
OiByb3VuZGYod2lkdGgpOwogCiAgICAgLy8gRm9yY2UgdGhlIGdseXBoIGZvciBaRVJPIFdJRFRI
IFNQQUNFIHRvIGhhdmUgemVybyB3aWR0aCwgdW5sZXNzIGl0IGlzIHNoYXJlZCB3aXRoIFNQQUNF
LgogICAgIC8vIEhlbHZldGljYSBpcyBhbiBleGFtcGxlIG9mIGEgbm9uLXplcm8gd2lkdGggWkVS
TyBXSURUSCBTUEFDRSBnbHlwaC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1NpbXBsZUZvbnREYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTIsNyArMTEyLDYgQEAgcHVibGljOgogICAgIGZsb2F0IHBsYXRmb3JtV2lkdGhGb3JH
bHlwaChHbHlwaCkgY29uc3Q7CiAKICAgICBmbG9hdCBzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1
cm4gbV9zcGFjZVdpZHRoOyB9Ci0gICAgZmxvYXQgYWRqdXN0ZWRTcGFjZVdpZHRoKCkgY29uc3Qg
eyByZXR1cm4gbV9hZGp1c3RlZFNwYWNlV2lkdGg7IH0KIAogI2lmIFBMQVRGT1JNKENHKSB8fCBQ
TEFURk9STShDQUlSTykgfHwgUExBVEZPUk0oV1gpCiAgICAgZmxvYXQgc3ludGhldGljQm9sZE9m
ZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fc3ludGhldGljQm9sZE9mZnNldDsgfQpAQCAtMjMwLDcg
KzIyOSw2IEBAIHByaXZhdGU6CiAKICAgICBHbHlwaCBtX3NwYWNlR2x5cGg7CiAgICAgZmxvYXQg
bV9zcGFjZVdpZHRoOwotICAgIGZsb2F0IG1fYWRqdXN0ZWRTcGFjZVdpZHRoOwogCiAgICAgR2x5
cGggbV96ZXJvV2lkdGhTcGFjZUdseXBoOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9TdHJpbmdUcnVuY2F0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5jcHAJKHJldmlzaW9uIDc4Mzcx
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtOTIsMjIgKzkyLDIwIEBAIHN0YXRpYyB1bnNpZ25lZCByaWdo
dFRydW5jYXRlVG9CdWZmZXIoY28KICAgICByZXR1cm4gdHJ1bmNhdGVkTGVuZ3RoOwogfQogCi1z
dGF0aWMgZmxvYXQgc3RyaW5nV2lkdGgoY29uc3QgRm9udCYgcmVuZGVyZXIsIGNvbnN0IFVDaGFy
KiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3Mp
CitzdGF0aWMgZmxvYXQgc3RyaW5nV2lkdGgoY29uc3QgRm9udCYgcmVuZGVyZXIsIGNvbnN0IFVD
aGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7CiAgICAgVGV4dFJ1biBydW4oY2hh
cmFjdGVycywgbGVuZ3RoKTsKLSAgICBpZiAoZGlzYWJsZVJvdW5kaW5nSGFja3MpCi0gICAgICAg
IHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotICAgIHJldHVybiByZW5kZXJlci5mbG9hdFdp
ZHRoKHJ1bik7CisgICAgcmV0dXJuIHJlbmRlcmVyLndpZHRoKHJ1bik7CiB9CiAKLXN0YXRpYyBT
dHJpbmcgdHJ1bmNhdGVTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRo
LCBjb25zdCBGb250JiBmb250LCBUcnVuY2F0aW9uRnVuY3Rpb24gdHJ1bmNhdGVUb0J1ZmZlciwg
Ym9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcykKK3N0YXRpYyBTdHJpbmcgdHJ1bmNhdGVTdHJpbmco
Y29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250JiBmb250LCBU
cnVuY2F0aW9uRnVuY3Rpb24gdHJ1bmNhdGVUb0J1ZmZlcikKIHsKICAgICBpZiAoc3RyaW5nLmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHN0cmluZzsKICAgICAKICAgICBBU1NFUlQobWF4V2lk
dGggPj0gMCk7CiAgICAgCi0gICAgZmxvYXQgY3VycmVudEVsbGlwc2lzV2lkdGggPSBzdHJpbmdX
aWR0aChmb250LCAmaG9yaXpvbnRhbEVsbGlwc2lzLCAxLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7
CisgICAgZmxvYXQgY3VycmVudEVsbGlwc2lzV2lkdGggPSBzdHJpbmdXaWR0aChmb250LCAmaG9y
aXpvbnRhbEVsbGlwc2lzLCAxKTsKICAgICAKICAgICBVQ2hhciBzdHJpbmdCdWZmZXJbU1RSSU5H
X0JVRkZFUl9TSVpFXTsKICAgICB1bnNpZ25lZCB0cnVuY2F0ZWRMZW5ndGg7CkBAIC0xMjMsNyAr
MTIxLDcgQEAgc3RhdGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAgICAg
ICB0cnVuY2F0ZWRMZW5ndGggPSBsZW5ndGg7CiAgICAgfQogCi0gICAgZmxvYXQgd2lkdGggPSBz
dHJpbmdXaWR0aChmb250LCBzdHJpbmdCdWZmZXIsIHRydW5jYXRlZExlbmd0aCwgZGlzYWJsZVJv
dW5kaW5nSGFja3MpOworICAgIGZsb2F0IHdpZHRoID0gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5n
QnVmZmVyLCB0cnVuY2F0ZWRMZW5ndGgpOwogICAgIGlmICh3aWR0aCA8PSBtYXhXaWR0aCkKICAg
ICAgICAgcmV0dXJuIHN0cmluZzsKIApAQCAtMTU5LDcgKzE1Nyw3IEBAIHN0YXRpYyBTdHJpbmcg
dHJ1bmNhdGVTdHJpbmcoY29uc3QgU3RyaW4KICAgICAgICAgCiAgICAgICAgIHRydW5jYXRlZExl
bmd0aCA9IHRydW5jYXRlVG9CdWZmZXIoc3RyaW5nLCBsZW5ndGgsIGtlZXBDb3VudCwgc3RyaW5n
QnVmZmVyKTsKIAotICAgICAgICB3aWR0aCA9IHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZ0J1ZmZl
ciwgdHJ1bmNhdGVkTGVuZ3RoLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgICAgIHdpZHRo
ID0gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5nQnVmZmVyLCB0cnVuY2F0ZWRMZW5ndGgpOwogICAg
ICAgICBpZiAod2lkdGggPD0gbWF4V2lkdGgpIHsKICAgICAgICAgICAgIGtlZXBDb3VudEZvckxh
cmdlc3RLbm93blRvRml0ID0ga2VlcENvdW50OwogICAgICAgICAgICAgd2lkdGhGb3JMYXJnZXN0
S25vd25Ub0ZpdCA9IHdpZHRoOwpAQCAtMTgxLDE5ICsxNzksMTkgQEAgc3RhdGljIFN0cmluZyB0
cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAgIHJldHVybiBTdHJpbmcoc3RyaW5nQnVmZmVy
LCB0cnVuY2F0ZWRMZW5ndGgpOwogfQogCi1TdHJpbmcgU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJU
cnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQm
IGZvbnQsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MpCitTdHJpbmcgU3RyaW5nVHJ1bmNhdG9y
OjpjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNv
bnN0IEZvbnQmIGZvbnQpCiB7Ci0gICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4
V2lkdGgsIGZvbnQsIGNlbnRlclRydW5jYXRlVG9CdWZmZXIsIGRpc2FibGVSb3VuZGluZ0hhY2tz
KTsKKyAgICByZXR1cm4gdHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBtYXhXaWR0aCwgZm9udCwgY2Vu
dGVyVHJ1bmNhdGVUb0J1ZmZlcik7CiB9CiAKLVN0cmluZyBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0
VHJ1bmNhdGUoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250
JiBmb250LCBib29sIGRpc2FibGVSb3VuZGluZ0hhY2tzKQorU3RyaW5nIFN0cmluZ1RydW5jYXRv
cjo6cmlnaHRUcnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNv
bnN0IEZvbnQmIGZvbnQpCiB7Ci0gICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4
V2lkdGgsIGZvbnQsIHJpZ2h0VHJ1bmNhdGVUb0J1ZmZlciwgZGlzYWJsZVJvdW5kaW5nSGFja3Mp
OworICAgIHJldHVybiB0cnVuY2F0ZVN0cmluZyhzdHJpbmcsIG1heFdpZHRoLCBmb250LCByaWdo
dFRydW5jYXRlVG9CdWZmZXIpOwogfQogCi1mbG9hdCBTdHJpbmdUcnVuY2F0b3I6OndpZHRoKGNv
bnN0IFN0cmluZyYgc3RyaW5nLCBjb25zdCBGb250JiBmb250LCBib29sIGRpc2FibGVSb3VuZGlu
Z0hhY2tzKQorZmxvYXQgU3RyaW5nVHJ1bmNhdG9yOjp3aWR0aChjb25zdCBTdHJpbmcmIHN0cmlu
ZywgY29uc3QgRm9udCYgZm9udCkKIHsKLSAgICByZXR1cm4gc3RyaW5nV2lkdGgoZm9udCwgc3Ry
aW5nLmNoYXJhY3RlcnMoKSwgc3RyaW5nLmxlbmd0aCgpLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7
CisgICAgcmV0dXJuIHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZy5jaGFyYWN0ZXJzKCksIHN0cmlu
Zy5sZW5ndGgoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCShyZXZp
c2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1Ry
dW5jYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw5ICszNyw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAKICAgICBjbGFzcyBTdHJpbmdUcnVuY2F0b3IgewogICAgIHB1YmxpYzoKLSAg
ICAgICAgc3RhdGljIFN0cmluZyBjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBt
YXhXaWR0aCwgY29uc3QgRm9udCYsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MgPSB0cnVlKTsK
LSAgICAgICAgc3RhdGljIFN0cmluZyByaWdodFRydW5jYXRlKGNvbnN0IFN0cmluZyYsIGZsb2F0
IG1heFdpZHRoLCBjb25zdCBGb250JiwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcyA9IHRydWUp
OwotICAgICAgICBzdGF0aWMgZmxvYXQgd2lkdGgoY29uc3QgU3RyaW5nJiwgY29uc3QgRm9udCYs
IGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MgPSB0cnVlKTsKKyAgICAgICAgc3RhdGljIFN0cmlu
ZyBjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9u
dCYpOworICAgICAgICBzdGF0aWMgU3RyaW5nIHJpZ2h0VHJ1bmNhdGUoY29uc3QgU3RyaW5nJiwg
ZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmKTsKKyAgICAgICAgc3RhdGljIGZsb2F0IHdpZHRo
KGNvbnN0IFN0cmluZyYsIGNvbnN0IEZvbnQmKTsKICAgICB9OwogICAgIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1
bi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRS
dW4uaAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9UZXh0UnVuLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDggKzM4LDcgQEAgcHVibGljOgogICAg
ICAgICBGb3JiaWRUcmFpbGluZ0V4cGFuc2lvbgogICAgIH07CiAKLSAgICBUZXh0UnVuKGNvbnN0
IFVDaGFyKiBjLCBpbnQgbGVuLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBpbnQgeHBvcyA9IDAs
IGludCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNl
LCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSwKLSAgICAgICAgICAgICAgYm9vbCBh
cHBseVJ1blJvdW5kaW5nID0gdHJ1ZSwgYm9vbCBhcHBseVdvcmRSb3VuZGluZyA9IHRydWUpCisg
ICAgVGV4dFJ1bihjb25zdCBVQ2hhciogYywgaW50IGxlbiwgYm9vbCBhbGxvd1RhYnMgPSBmYWxz
ZSwgZmxvYXQgeHBvcyA9IDAsIGZsb2F0IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhwYW5zaW9u
QmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNp
b24sIGJvb2wgcnRsID0gZmFsc2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlKQog
ICAgICAgICA6IG1fY2hhcmFjdGVycyhjKQogICAgICAgICAsIG1fbGVuKGxlbikKICAgICAgICAg
LCBtX3hwb3MoeHBvcykKQEAgLTUxLDggKzUwLDYgQEAgcHVibGljOgogICAgICAgICAsIG1fYWxs
b3dUYWJzKGFsbG93VGFicykKICAgICAgICAgLCBtX3J0bChydGwpCiAgICAgICAgICwgbV9kaXJl
Y3Rpb25hbE92ZXJyaWRlKGRpcmVjdGlvbmFsT3ZlcnJpZGUpCi0gICAgICAgICwgbV9hcHBseVJ1
blJvdW5kaW5nKGFwcGx5UnVuUm91bmRpbmcpCi0gICAgICAgICwgbV9hcHBseVdvcmRSb3VuZGlu
ZyhhcHBseVdvcmRSb3VuZGluZykKICAgICAgICAgLCBtX2Rpc2FibGVTcGFjaW5nKGZhbHNlKQog
I2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2luZ1JlbmRlck9iamVj
dCgwKQpAQCAtNjEsOCArNTgsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIFRleHRS
dW4oY29uc3QgU3RyaW5nJiBzLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBpbnQgeHBvcyA9IDAs
IGludCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNl
LCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSwKLSAgICAgICAgICAgICAgYm9vbCBh
cHBseVJ1blJvdW5kaW5nID0gdHJ1ZSwgYm9vbCBhcHBseVdvcmRSb3VuZGluZyA9IHRydWUpCisg
ICAgVGV4dFJ1bihjb25zdCBTdHJpbmcmIHMsIGJvb2wgYWxsb3dUYWJzID0gZmFsc2UsIGZsb2F0
IHhwb3MgPSAwLCBmbG9hdCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9y
IHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29s
IHJ0bCA9IGZhbHNlLCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSkKICAgICAgICAg
OiBtX2NoYXJhY3RlcnMocy5jaGFyYWN0ZXJzKCkpCiAgICAgICAgICwgbV9sZW4ocy5sZW5ndGgo
KSkKICAgICAgICAgLCBtX3hwb3MoeHBvcykKQEAgLTc0LDggKzcwLDYgQEAgcHVibGljOgogICAg
ICAgICAsIG1fYWxsb3dUYWJzKGFsbG93VGFicykKICAgICAgICAgLCBtX3J0bChydGwpCiAgICAg
ICAgICwgbV9kaXJlY3Rpb25hbE92ZXJyaWRlKGRpcmVjdGlvbmFsT3ZlcnJpZGUpCi0gICAgICAg
ICwgbV9hcHBseVJ1blJvdW5kaW5nKGFwcGx5UnVuUm91bmRpbmcpCi0gICAgICAgICwgbV9hcHBs
eVdvcmRSb3VuZGluZyhhcHBseVdvcmRSb3VuZGluZykKICAgICAgICAgLCBtX2Rpc2FibGVTcGFj
aW5nKGZhbHNlKQogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2lu
Z1JlbmRlck9iamVjdCgwKQpAQCAtOTgsMTggKzkyLDE1IEBAIHB1YmxpYzoKICNlbmRpZgogCiAg
ICAgYm9vbCBhbGxvd1RhYnMoKSBjb25zdCB7IHJldHVybiBtX2FsbG93VGFiczsgfQotICAgIGlu
dCB4UG9zKCkgY29uc3QgeyByZXR1cm4gbV94cG9zOyB9Ci0gICAgaW50IGV4cGFuc2lvbigpIGNv
bnN0IHsgcmV0dXJuIG1fZXhwYW5zaW9uOyB9CisgICAgZmxvYXQgeFBvcygpIGNvbnN0IHsgcmV0
dXJuIG1feHBvczsgfQorICAgIGZsb2F0IGV4cGFuc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fZXhw
YW5zaW9uOyB9CiAgICAgYm9vbCBhbGxvd3NUcmFpbGluZ0V4cGFuc2lvbigpIGNvbnN0IHsgcmV0
dXJuIG1fdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9PSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9u
OyB9CiAgICAgYm9vbCBydGwoKSBjb25zdCB7IHJldHVybiBtX3J0bDsgfQogICAgIGJvb2wgbHRy
KCkgY29uc3QgeyByZXR1cm4gIW1fcnRsOyB9CiAgICAgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRl
KCkgY29uc3QgeyByZXR1cm4gbV9kaXJlY3Rpb25hbE92ZXJyaWRlOyB9Ci0gICAgYm9vbCBhcHBs
eVJ1blJvdW5kaW5nKCkgY29uc3QgeyByZXR1cm4gbV9hcHBseVJ1blJvdW5kaW5nOyB9Ci0gICAg
Ym9vbCBhcHBseVdvcmRSb3VuZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbHlXb3JkUm91bmRp
bmc7IH0KICAgICBib29sIHNwYWNpbmdEaXNhYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzYWJs
ZVNwYWNpbmc7IH0KIAogICAgIHZvaWQgZGlzYWJsZVNwYWNpbmcoKSB7IG1fZGlzYWJsZVNwYWNp
bmcgPSB0cnVlOyB9Ci0gICAgdm9pZCBkaXNhYmxlUm91bmRpbmdIYWNrcygpIHsgbV9hcHBseVJ1
blJvdW5kaW5nID0gbV9hcHBseVdvcmRSb3VuZGluZyA9IGZhbHNlOyB9CiAgICAgdm9pZCBzZXRS
VEwoYm9vbCBiKSB7IG1fcnRsID0gYjsgfQogICAgIHZvaWQgc2V0RGlyZWN0aW9uYWxPdmVycmlk
ZShib29sIG92ZXJyaWRlKSB7IG1fZGlyZWN0aW9uYWxPdmVycmlkZSA9IG92ZXJyaWRlOyB9CiAK
QEAgLTEyOCw4ICsxMTksOCBAQCBwcml2YXRlOgogICAgIC8vIG1feHBvcyBpcyB0aGUgeCBwb3Np
dGlvbiByZWxhdGl2ZSB0byB0aGUgbGVmdCBzdGFydCBvZiB0aGUgdGV4dCBsaW5lLCBub3QgcmVs
YXRpdmUgdG8gdGhlIGxlZnQKICAgICAvLyBzdGFydCBvZiB0aGUgY29udGFpbmluZyBibG9jay4g
SW4gdGhlIGNhc2Ugb2YgcmlnaHQgYWxpZ25tZW50IG9yIGNlbnRlciBhbGlnbm1lbnQsIGxlZnQg
c3RhcnQgb2YKICAgICAvLyB0aGUgdGV4dCBsaW5lIGlzIG5vdCB0aGUgc2FtZSBhcyBsZWZ0IHN0
YXJ0IG9mIHRoZSBjb250YWluaW5nIGJsb2NrLgotICAgIGludCBtX3hwb3M7ICAKLSAgICBpbnQg
bV9leHBhbnNpb247CisgICAgZmxvYXQgbV94cG9zOyAgCisgICAgZmxvYXQgbV9leHBhbnNpb247
CiAgICAgVHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciBtX3RyYWlsaW5nRXhwYW5zaW9uQmVoYXZp
b3I7CiAjaWYgRU5BQkxFKFNWRykKICAgICBmbG9hdCBtX2hvcml6b250YWxHbHlwaFN0cmV0Y2g7
CkBAIC0xMzcsOCArMTI4LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fYWxsb3dUYWJzOwogICAg
IGJvb2wgbV9ydGw7CiAgICAgYm9vbCBtX2RpcmVjdGlvbmFsT3ZlcnJpZGU7Ci0gICAgYm9vbCBt
X2FwcGx5UnVuUm91bmRpbmc7Ci0gICAgYm9vbCBtX2FwcGx5V29yZFJvdW5kaW5nOwogICAgIGJv
b2wgbV9kaXNhYmxlU3BhY2luZzsKIAogI2lmIEVOQUJMRShTVkdfRk9OVFMpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAko
cmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0
aEl0ZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBAQCBXaWR0aEl0ZXJh
dG9yOjpXaWR0aEl0ZXJhdG9yKGNvbnN0IEZvbnQqCiAgICAgLCBtX2N1cnJlbnRDaGFyYWN0ZXIo
MCkKICAgICAsIG1fcnVuV2lkdGhTb0ZhcigwKQogICAgICwgbV9pc0FmdGVyRXhwYW5zaW9uKHRy
dWUpCi0gICAgLCBtX2ZpbmFsUm91bmRpbmdXaWR0aCgwKQogICAgICwgbV9mYWxsYmFja0ZvbnRz
KGZhbGxiYWNrRm9udHMpCiAgICAgLCBtX2FjY291bnRGb3JHbHlwaEJvdW5kcyhhY2NvdW50Rm9y
R2x5cGhCb3VuZHMpCiAgICAgLCBtX21heEdseXBoQm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRz
PGZsb2F0Pjo6bWluKCkpCkBAIC04NiwxMSArODUsNiBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFk
dmFuY2UoaW50IG9mZnNldCwgCiAgICAgYm9vbCBydGwgPSBtX3J1bi5ydGwoKTsKICAgICBib29s
IGhhc0V4dHJhU3BhY2luZyA9IChtX2ZvbnQtPmxldHRlclNwYWNpbmcoKSB8fCBtX2ZvbnQtPndv
cmRTcGFjaW5nKCkgfHwgbV9leHBhbnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlzYWJsZWQoKTsK
IAotICAgIGZsb2F0IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSBtX3J1bldpZHRoU29GYXI7Ci0g
ICAgbV9ydW5XaWR0aFNvRmFyID0gZmxvb3JmKG1fcnVuV2lkdGhTb0Zhcik7Ci0gICAgd2lkdGhT
aW5jZUxhc3RSb3VuZGluZyAtPSBtX3J1bldpZHRoU29GYXI7Ci0KLSAgICBmbG9hdCBsYXN0Um91
bmRpbmdXaWR0aCA9IG1fZmluYWxSb3VuZGluZ1dpZHRoOwogICAgIEZsb2F0UmVjdCBib3VuZHM7
CiAKICAgICBjb25zdCBTaW1wbGVGb250RGF0YSogcHJpbWFyeUZvbnQgPSBtX2ZvbnQtPnByaW1h
cnlGb250KCk7CkBAIC0xMzYsNyArMTMwLDcgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNl
KGludCBvZmZzZXQsIAogICAgICAgICBmbG9hdCB3aWR0aDsKICAgICAgICAgaWYgKGMgPT0gJ1x0
JyAmJiBtX3J1bi5hbGxvd1RhYnMoKSkgewogICAgICAgICAgICAgZmxvYXQgdGFiV2lkdGggPSBt
X2ZvbnQtPnRhYldpZHRoKCpmb250RGF0YSk7Ci0gICAgICAgICAgICB3aWR0aCA9IHRhYldpZHRo
IC0gZm1vZGYobV9ydW4ueFBvcygpICsgbV9ydW5XaWR0aFNvRmFyICsgd2lkdGhTaW5jZUxhc3RS
b3VuZGluZywgdGFiV2lkdGgpOworICAgICAgICAgICAgd2lkdGggPSB0YWJXaWR0aCAtIGZtb2Rm
KG1fcnVuLnhQb3MoKSArIG1fcnVuV2lkdGhTb0ZhciwgdGFiV2lkdGgpOwogICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgd2lkdGggPSBmb250RGF0YS0+d2lkdGhGb3JHbHlwaChnbHlwaCk7
CiAKQEAgLTE0NCwxMyArMTM4LDYgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBv
ZmZzZXQsIAogICAgICAgICAgICAgLy8gU1ZHIHVzZXMgaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgp
LCB3aGVuIHRleHRMZW5ndGggaXMgdXNlZCB0byBzdHJldGNoL3NxdWVlemUgdGV4dC4KICAgICAg
ICAgICAgIHdpZHRoICo9IG1fcnVuLmhvcml6b250YWxHbHlwaFN0cmV0Y2goKTsKICNlbmRpZgot
Ci0gICAgICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlzIHdoZW4g
YXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAgICAgIC8vIEZpcnN0LCB3ZSByb3VuZCBz
cGFjZXMgdG8gYW4gYWRqdXN0ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAgICAgLy8g
U2Vjb25kLCBpbiBmaXhlZC1waXRjaCBmb250cyB3ZSBlbnN1cmUgdGhhdCBhbGwgY2hhcmFjdGVy
cyB0aGF0Ci0gICAgICAgICAgICAvLyBtYXRjaCB0aGUgd2lkdGggb2YgdGhlIHNwYWNlIGNoYXJh
Y3RlciBoYXZlIHRoZSBzYW1lIHdpZHRoIGFzIHRoZSBzcGFjZSBjaGFyYWN0ZXIuCi0gICAgICAg
ICAgICBpZiAod2lkdGggPT0gZm9udERhdGEtPnNwYWNlV2lkdGgoKSAmJiAoZm9udERhdGEtPnBp
dGNoKCkgPT0gRml4ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgpKSAm
JiBtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpKQotICAgICAgICAgICAgICAgIHdpZHRoID0gZm9u
dERhdGEtPmFkanVzdGVkU3BhY2VXaWR0aCgpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGZv
bnREYXRhICE9IGxhc3RGb250RGF0YSAmJiB3aWR0aCkgewpAQCAtMTgzLDE0ICsxNzAsMTQgQEAg
dm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQsIAogICAgICAgICAgICAgICAg
ICAgICBpZiAoIXRyZWF0QXNTcGFjZSAmJiAhbV9pc0FmdGVyRXhwYW5zaW9uKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBUYWtlIHRoZSBleHBhbnNpb24gb3Bwb3J0dW5pdHkgYmVmb3Jl
IHRoaXMgaWRlb2dyYXBoLgogICAgICAgICAgICAgICAgICAgICAgICAgbV9leHBhbnNpb24gLT0g
bV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCBl
eHBhbnNpb24gPSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRmKG1fZXhwYW5zaW9u
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0IGV4cGFuc2lvbiA9IHByZXZpb3VzRXhw
YW5zaW9uIC0gbV9leHBhbnNpb247CiAgICAgICAgICAgICAgICAgICAgICAgICBtX3J1bldpZHRo
U29GYXIgKz0gZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdseXBoQnVm
ZmVyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLT5leHBhbmRMYXN0
QWR2YW5jZShleHBhbnNpb24pOwogICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNFeHBh
bnNpb24gPSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAg
ICAgICAgICAgICAgICB3aWR0aCArPSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRm
KG1fZXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAgICAgICAgd2lkdGggKz0gcHJldmlvdXNFeHBh
bnNpb24gLSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5z
aW9uID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAg
bV9pc0FmdGVyRXhwYW5zaW9uID0gZmFsc2U7CkBAIC0yMTYsNDMgKzIwMywxMCBAQCB2b2lkIFdp
ZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9mZnNldCwgCiAgICAgICAgIGNwICs9IGNsdXN0ZXJM
ZW5ndGg7CiAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXIgKz0gY2x1c3Rlckxlbmd0aDsKIAotICAg
ICAgICAvLyBBY2NvdW50IGZvciBmbG9hdC9pbnRlZ2VyIGltcGVkYW5jZSBtaXNtYXRjaCBiZXR3
ZWVuIENHIGFuZCBLSFRNTC4gIldvcmRzIiAoY2hhcmFjdGVycyAKLSAgICAgICAgLy8gZm9sbG93
ZWQgYnkgYSBjaGFyYWN0ZXIgZGVmaW5lZCBieSBpc1JvdW5kaW5nSGFja0NoYXJhY3RlcigpKSBh
cmUgYWx3YXlzIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgIC8vIFdlIGFkanVzdCB0aGUgd2lk
dGggb2YgdGhlIGxhc3QgY2hhcmFjdGVyIG9mIGEgIndvcmQiIHRvIGVuc3VyZSBhbiBpbnRlZ2Vy
IHdpZHRoLgotICAgICAgICAvLyBJZiB3ZSBtb3ZlIEtIVE1MIHRvIGZsb2F0cyB3ZSBjYW4gcmVt
b3ZlIHRoaXMgKGFuZCByZWxhdGVkKSBoYWNrcy4KLQotICAgICAgICBmbG9hdCBvbGRXaWR0aCA9
IHdpZHRoOwotCi0gICAgICAgIC8vIEZvcmNlIGNoYXJhY3RlcnMgdGhhdCBhcmUgdXNlZCB0byBk
ZXRlcm1pbmUgd29yZCBib3VuZGFyaWVzIGZvciB0aGUgcm91bmRpbmcgaGFjawotICAgICAgICAv
LyB0byBiZSBpbnRlZ2VyIHdpZHRoLCBzbyBmb2xsb3dpbmcgd29yZHMgd2lsbCBzdGFydCBvbiBh
biBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICBpZiAobV9ydW4uYXBwbHlXb3JkUm91bmRpbmco
KSAmJiBGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcihjKSkgewotICAgICAgICAgICAgd2lk
dGggPSBjZWlsZih3aWR0aCk7Ci0KLSAgICAgICAgICAgIC8vIFNpbmNlIHdpZHRoU2luY2VMYXN0
Um91bmRpbmcgY2FuIGxvc2UgcHJlY2lzaW9uIGlmIHdlIGluY2x1ZGUgbWVhc3VyZW1lbnRzIGZv
cgotICAgICAgICAgICAgLy8gcHJlY2VkaW5nIHdoaXRlc3BhY2UsIHdlIGJ5cGFzcyBpdCBoZXJl
LgotICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoOwotCi0gICAgICAgICAgICAv
LyBTaW5jZSB0aGlzIGlzIGEgcm91bmRpbmcgaGFjayBjaGFyYWN0ZXIsIHdlIHNob3VsZCBoYXZl
IHJlc2V0IHRoaXMgc3VtIG9uIHRoZSBwcmV2aW91cwotICAgICAgICAgICAgLy8gaXRlcmF0aW9u
LgotICAgICAgICAgICAgQVNTRVJUKCF3aWR0aFNpbmNlTGFzdFJvdW5kaW5nKTsKLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgbmV4dCBjaGFyYWN0
ZXIgaXMgYSAicm91bmRpbmcgaGFjayBjaGFyYWN0ZXIiLCBpZiBzbywgYWRqdXN0Ci0gICAgICAg
ICAgICAvLyB3aWR0aCBzbyB0aGF0IHRoZSB0b3RhbCBydW4gd2lkdGggd2lsbCBiZSBvbiBhbiBp
bnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICAgICAgaWYgKChtX3J1bi5hcHBseVdvcmRSb3VuZGlu
ZygpICYmIGN1cnJlbnRDaGFyYWN0ZXIgPCBtX3J1bi5sZW5ndGgoKSAmJiBGb250Ojppc1JvdW5k
aW5nSGFja0NoYXJhY3RlcigqY3ApKQotICAgICAgICAgICAgICAgICAgICB8fCAobV9ydW4uYXBw
bHlSdW5Sb3VuZGluZygpICYmIGN1cnJlbnRDaGFyYWN0ZXIgPj0gbV9lbmQpKSB7Ci0gICAgICAg
ICAgICAgICAgZmxvYXQgdG90YWxXaWR0aCA9IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgKyB3aWR0
aDsKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gY2VpbGYodG90YWxX
aWR0aCk7Ci0gICAgICAgICAgICAgICAgd2lkdGggKz0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyAt
IHRvdGFsV2lkdGg7Ci0gICAgICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoU2lu
Y2VMYXN0Um91bmRpbmc7Ci0gICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9
IDA7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJv
dW5kaW5nICs9IHdpZHRoOwotICAgICAgICB9CisgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3
aWR0aDsKIAogICAgICAgICBpZiAoZ2x5cGhCdWZmZXIpCi0gICAgICAgICAgICBnbHlwaEJ1ZmZl
ci0+YWRkKGdseXBoLCBmb250RGF0YSwgKHJ0bCA/IG9sZFdpZHRoICsgbGFzdFJvdW5kaW5nV2lk
dGggOiB3aWR0aCkpOwotCi0gICAgICAgIGxhc3RSb3VuZGluZ1dpZHRoID0gd2lkdGggLSBvbGRX
aWR0aDsKKyAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQoZ2x5cGgsIGZvbnREYXRhLCB3aWR0
aCk7CiAKICAgICAgICAgaWYgKG1fYWNjb3VudEZvckdseXBoQm91bmRzKSB7CiAgICAgICAgICAg
ICBtX21heEdseXBoQm91bmRpbmdCb3hZID0gbWF4KG1fbWF4R2x5cGhCb3VuZGluZ0JveFksIGJv
dW5kcy5tYXhZKCkpOwpAQCAtMjYyLDggKzIxNiw2IEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2
YW5jZShpbnQgb2Zmc2V0LCAKICAgICB9CiAKICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBjdXJy
ZW50Q2hhcmFjdGVyOwotICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3aWR0aFNpbmNlTGFzdFJvdW5k
aW5nOwotICAgIG1fZmluYWxSb3VuZGluZ1dpZHRoID0gbGFzdFJvdW5kaW5nV2lkdGg7CiB9CiAK
IGJvb2wgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZU9uZUNoYXJhY3RlcihmbG9hdCYgd2lkdGgsIEds
eXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1dpZHRoSXRlcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCSh3b3JraW5nIGNvcHkp
CkBAIC01Myw3ICs1Myw2IEBAIHN0cnVjdCBXaWR0aEl0ZXJhdG9yIHsKICAgICBmbG9hdCBtX2V4
cGFuc2lvbjsKICAgICBmbG9hdCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwogICAgIGJvb2wg
bV9pc0FmdGVyRXhwYW5zaW9uOwotICAgIGZsb2F0IG1fZmluYWxSb3VuZGluZ1dpZHRoOwogCiBw
cml2YXRlOgogICAgIFVDaGFyMzIgbm9ybWFsaXplVm9pY2luZ01hcmtzKGludCBjdXJyZW50Q2hh
cmFjdGVyKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dy
YXBoaWNzQ29udGV4dENhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAJKHJldmlzaW9uIDc4
MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3ND
b250ZXh0Q2Fpcm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MDEsMjAgKzcwMSwyMiBAQCB2b2lk
IEdyYXBoaWNzQ29udGV4dDo6ZHJhd0ZvY3VzUmluZyhjb25zCiAgICAgY2Fpcm9fcmVzdG9yZShj
cik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgSW50
UG9pbnQmIG9yaWdpbiwgaW50IHdpZHRoLCBib29sIHByaW50aW5nKQordm9pZCBHcmFwaGljc0Nv
bnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjb25zdCBGbG9hdFBvaW50JiBvcmlnaW4sIGZsb2F0IHdp
ZHRoLCBib29sIHByaW50aW5nKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIEludFBvaW50IGVuZFBvaW50ID0gb3JpZ2luICsgSW50U2l6ZSh3
aWR0aCwgMCk7Ci0gICAgZHJhd0xpbmUob3JpZ2luLCBlbmRQb2ludCk7CisgICAgRmxvYXRQb2lu
dCBlbmRQb2ludCA9IG9yaWdpbiArIEZsb2F0U2l6ZSh3aWR0aCwgMCk7CisgICAgCisgICAgLy8g
RklYTUU6IExvc3Mgb2YgcHJlY2lzaW9uIGhlcmUuIE1pZ2h0IGNvbnNpZGVyIHJvdW5kaW5nLgor
ICAgIGRyYXdMaW5lKEludFBvaW50KG9yaWdpbi54KCksIG9yaWdpbi55KCkpLCBJbnRQb2ludChl
bmRQb2ludC54KCksIGVuZFBvaW50LnkoKSkpOwogfQogCiAjaWYgIVBMQVRGT1JNKEdUSykKICNp
bmNsdWRlICJEcmF3RXJyb3JVbmRlcmxpbmUuaCIKICNlbmRpZgogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmIG9yaWdpbiwgaW50
IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCit2b2lkIEdyYXBoaWNzQ29udGV4
dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luLCBmbG9h
dCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQogewogICAgIGlmIChwYWludGlu
Z0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAJKHJl
dmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3Jh
cGhpY3NDb250ZXh0Q0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMwLDcgKzExMzAsNyBAQCBG
bG9hdFJlY3QgR3JhcGhpY3NDb250ZXh0Ojpyb3VuZFRvRGV2aWNlCiAgICAgcmV0dXJuIEZsb2F0
UmVjdChyb3VuZGVkT3JpZ2luLCByb3VuZGVkTG93ZXJSaWdodCAtIHJvdW5kZWRPcmlnaW4pOwog
fQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEludFBvaW50
JiBwb2ludCwgaW50IHdpZHRoLCBib29sIHByaW50aW5nKQordm9pZCBHcmFwaGljc0NvbnRleHQ6
OmRyYXdMaW5lRm9yVGV4dChjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgZmxvYXQgd2lkdGgsIGJv
b2wgcHJpbnRpbmcpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0
dXJuOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhU
ZXh0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDc4MzcxKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJv
bGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDEzICs0OSw2IEBAIHN0YXRpYyBpbmxpbmUg
Q0dGbG9hdCByb3VuZENHRmxvYXQoQ0dGbG8KICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q0dGbG9h
dD4ocm91bmQoZikpOwogfQogCi1zdGF0aWMgaW5saW5lIENHRmxvYXQgY2VpbENHRmxvYXQoQ0dG
bG9hdCBmKQotewotICAgIGlmIChzaXplb2YoQ0dGbG9hdCkgPT0gc2l6ZW9mKGZsb2F0KSkKLSAg
ICAgICAgcmV0dXJuIGNlaWxmKHN0YXRpY19jYXN0PGZsb2F0PihmKSk7Ci0gICAgcmV0dXJuIHN0
YXRpY19jYXN0PENHRmxvYXQ+KGNlaWwoZikpOwotfQotCiBDb21wbGV4VGV4dENvbnRyb2xsZXI6
OkNvbXBsZXhUZXh0Q29udHJvbGxlcihjb25zdCBGb250KiBmb250LCBjb25zdCBUZXh0UnVuJiBy
dW4sIGJvb2wgbWF5VXNlTmF0dXJhbFdyaXRpbmdEaXJlY3Rpb24sIEhhc2hTZXQ8Y29uc3QgU2lt
cGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgYm9vbCBmb3JUZXh0RW1waGFzaXMpCiAgICAg
OiBtX2ZvbnQoKmZvbnQpCiAgICAgLCBtX3J1bihydW4pCkBAIC02OSw3ICs2Miw2IEBAIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6Q29tcGxleFRleHRDb250cm8KICAgICAsIG1fY3VycmVudFJ1bigw
KQogICAgICwgbV9nbHlwaEluQ3VycmVudFJ1bigwKQogICAgICwgbV9jaGFyYWN0ZXJJbkN1cnJl
bnRHbHlwaCgwKQotICAgICwgbV9maW5hbFJvdW5kaW5nV2lkdGgoMCkKICAgICAsIG1fZXhwYW5z
aW9uKHJ1bi5leHBhbnNpb24oKSkKICAgICAsIG1fYWZ0ZXJFeHBhbnNpb24odHJ1ZSkKICAgICAs
IG1fZmFsbGJhY2tGb250cyhmYWxsYmFja0ZvbnRzKQpAQCAtNzcsNyArNjksNiBAQCBDb21wbGV4
VGV4dENvbnRyb2xsZXI6OkNvbXBsZXhUZXh0Q29udHJvCiAgICAgLCBtX21heEdseXBoQm91bmRp
bmdCb3hYKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWluKCkpCiAgICAgLCBtX21pbkdseXBoQm91
bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWF4KCkpCiAgICAgLCBtX21heEdseXBo
Qm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWluKCkpCi0gICAgLCBtX2xhc3RS
b3VuZGluZ0dseXBoKDApCiB7CiAgICAgaWYgKCFtX2V4cGFuc2lvbikKICAgICAgICAgbV9leHBh
bnNpb25QZXJPcHBvcnR1bml0eSA9IDA7CkBAIC00MTMsMTMgKzQwNCwxMSBAQCB2b2lkIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6YWR2YW5jZSh1bnNpCiAgICAgICAgIG1fY3VycmVudFJ1bisrOwog
ICAgICAgICBtX2dseXBoSW5DdXJyZW50UnVuID0gMDsKICAgICB9Ci0gICAgaWYgKCFsdHIgJiYg
bV9udW1HbHlwaHNTb0ZhciA9PSBtX2FkanVzdGVkQWR2YW5jZXMuc2l6ZSgpKQotICAgICAgICBt
X3J1bldpZHRoU29GYXIgKz0gbV9maW5hbFJvdW5kaW5nV2lkdGg7CiB9CiAKIHZvaWQgQ29tcGxl
eFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygpCiB7Ci0gICAgQ0dGbG9h
dCB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gMDsKKyAgICBDR0Zsb2F0IHdpZHRoU2luY2VMYXN0
Q29tbWl0ID0gMDsKICAgICBzaXplX3QgcnVuQ291bnQgPSBtX2NvbXBsZXhUZXh0UnVucy5zaXpl
KCk7CiAgICAgYm9vbCBoYXNFeHRyYVNwYWNpbmcgPSAobV9mb250LmxldHRlclNwYWNpbmcoKSB8
fCBtX2ZvbnQud29yZFNwYWNpbmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNpbmdE
aXNhYmxlZCgpOwogICAgIGZvciAoc2l6ZV90IHIgPSAwOyByIDwgcnVuQ291bnQ7ICsrcikgewpA
QCAtNDMxLDkgKzQyMCw4IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlw
aHMKICAgICAgICAgY29uc3QgQ0dTaXplKiBhZHZhbmNlcyA9IGNvbXBsZXhUZXh0UnVuLmFkdmFu
Y2VzKCk7CiAKICAgICAgICAgYm9vbCBsYXN0UnVuID0gciArIDEgPT0gcnVuQ291bnQ7Ci0gICAg
ICAgIGNvbnN0IFVDaGFyKiBjcCA9IGNvbXBsZXhUZXh0UnVuLmNoYXJhY3RlcnMoKTsKLSAgICAg
ICAgQ0dGbG9hdCByb3VuZGVkU3BhY2VXaWR0aCA9IHJvdW5kQ0dGbG9hdChmb250RGF0YS0+c3Bh
Y2VXaWR0aCgpKTsKICAgICAgICAgYm9vbCByb3VuZHNBZHZhbmNlcyA9ICFtX2ZvbnQuaXNQcmlu
dGVyRm9udCgpICYmIGZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5yb3VuZHNHbHlwaEFkdmFuY2Vz
KCk7CisgICAgICAgIGNvbnN0IFVDaGFyKiBjcCA9IGNvbXBsZXhUZXh0UnVuLmNoYXJhY3RlcnMo
KTsKICAgICAgICAgQ0dQb2ludCBnbHlwaE9yaWdpbiA9IENHUG9pbnRaZXJvOwogICAgICAgICBD
RkluZGV4IGxhc3RDaGFyYWN0ZXJJbmRleCA9IG1fcnVuLmx0cigpID8gbnVtZXJpY19saW1pdHM8
Q0ZJbmRleD46Om1pbigpIDogbnVtZXJpY19saW1pdHM8Q0ZJbmRleD46Om1heCgpOwogICAgICAg
ICBib29sIGlzTW9ub3RvbmljID0gdHJ1ZTsKQEAgLTQ2Myw3ICs0NTEsNyBAQCB2b2lkIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAKICAgICAgICAgICAgIGlmIChjaCA9PSAn
XHQnICYmIG1fcnVuLmFsbG93VGFicygpKSB7CiAgICAgICAgICAgICAgICAgZmxvYXQgdGFiV2lk
dGggPSBtX2ZvbnQudGFiV2lkdGgoKmZvbnREYXRhKTsKLSAgICAgICAgICAgICAgICBhZHZhbmNl
LndpZHRoID0gdGFiV2lkdGggLSBmbW9kZihtX3J1bi54UG9zKCkgKyBtX3RvdGFsV2lkdGggKyB3
aWR0aFNpbmNlTGFzdFJvdW5kaW5nLCB0YWJXaWR0aCk7CisgICAgICAgICAgICAgICAgYWR2YW5j
ZS53aWR0aCA9IHRhYldpZHRoIC0gZm1vZGYobV9ydW4ueFBvcygpICsgbV90b3RhbFdpZHRoICsg
d2lkdGhTaW5jZUxhc3RDb21taXQsIHRhYldpZHRoKTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAo
Y2ggPT0gemVyb1dpZHRoU3BhY2UgfHwgKEZvbnQ6OnRyZWF0QXNaZXJvV2lkdGhTcGFjZShjaCkg
JiYgIXRyZWF0QXNTcGFjZSkpIHsKICAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoID0gMDsK
ICAgICAgICAgICAgICAgICBnbHlwaCA9IGZvbnREYXRhLT5zcGFjZUdseXBoKCk7CkBAIC00NzUs
MTMgKzQ2Myw2IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHMKIAog
ICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSBmb250RGF0YS0+c3ludGhldGljQm9sZE9mZnNl
dCgpOwogCi0gICAgICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlz
IHdoZW4gYXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAgICAgIC8vIEZpcnN0LCB3ZSBy
b3VuZCBzcGFjZXMgdG8gYW4gYWRqdXN0ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAg
ICAgLy8gU2Vjb25kLCBpbiBmaXhlZC1waXRjaCBmb250cyB3ZSBlbnN1cmUgdGhhdCBhbGwgZ2x5
cGhzIHRoYXQKLSAgICAgICAgICAgIC8vIG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgc3BhY2UgZ2x5
cGggaGF2ZSB0aGUgc2FtZSB3aWR0aCBhcyB0aGUgc3BhY2UgZ2x5cGguCi0gICAgICAgICAgICBp
ZiAocm91bmRlZEFkdmFuY2VXaWR0aCA9PSByb3VuZGVkU3BhY2VXaWR0aCAmJiAoZm9udERhdGEt
PnBpdGNoKCkgPT0gRml4ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgp
KSAmJiBtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpKQotICAgICAgICAgICAgICAgIGFkdmFuY2Uu
d2lkdGggPSBmb250RGF0YS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCk7Ci0KICAgICAgICAgICAgIGlm
IChoYXNFeHRyYVNwYWNpbmcpIHsKICAgICAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBhIGdseXBo
IHdpdGggYW4gYWR2YW5jZSwgZ28gYWhlYWQgYW5kIGFkZCBpbiBsZXR0ZXItc3BhY2luZy4KICAg
ICAgICAgICAgICAgICAvLyBUaGF0IHdheSB3ZSB3ZWVkIG91dCB6ZXJvIHdpZHRoIGx1cmtlcnMu
ICBUaGlzIGJlaGF2aW9yIG1hdGNoZXMgdGhlIGZhc3QgdGV4dCBjb2RlIHBhdGguCkBAIC00OTYs
MTMgKzQ3NywxMyBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRyZWF0QXNTcGFjZSAmJiAhbV9hZnRlckV4cGFu
c2lvbikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRha2UgdGhlIGV4cGFuc2lv
biBvcHBvcnR1bml0eSBiZWZvcmUgdGhpcyBpZGVvZ3JhcGguCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbV9leHBhbnNpb24gLT0gbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZXhwYW5zaW9uID0gcm91bmRmKHByZXZpb3VzRXhw
YW5zaW9uKSAtIHJvdW5kZihtX2V4cGFuc2lvbik7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmxvYXQgZXhwYW5zaW9uID0gcHJldmlvdXNFeHBhbnNpb24gLSBtX2V4cGFuc2lvbjsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtX3RvdGFsV2lkdGggKz0gZXhwYW5zaW9uOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fYWRqdXN0ZWRBZHZhbmNlcy5sYXN0KCkud2lkdGgg
Kz0gZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzRXhwYW5z
aW9uID0gbV9leHBhbnNpb247CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5Owot
ICAgICAgICAgICAgICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSByb3VuZGYocHJldmlvdXNF
eHBhbnNpb24pIC0gcm91bmRmKG1fZXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGFkdmFuY2Uud2lkdGggKz0gcHJldmlvdXNFeHBhbnNpb24gLSBtX2V4cGFuc2lvbjsKICAgICAg
ICAgICAgICAgICAgICAgICAgIG1fYWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwogICAgICAgICAgICAg
ICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgIG1fYWZ0ZXJFeHBhbnNpb24g
PSBmYWxzZTsKQEAgLTUxNCwzMyArNDk1LDcgQEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6
OmFkanVzdEdseXBocwogICAgICAgICAgICAgICAgICAgICBtX2FmdGVyRXhwYW5zaW9uID0gZmFs
c2U7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIC8vIERlYWwgd2l0aCB0aGUgZmxvYXQv
aW50ZWdlciBpbXBlZGFuY2UgbWlzbWF0Y2ggYmV0d2VlbiBDRyBhbmQgV2ViQ29yZS4gIldvcmRz
IiAoY2hhcmFjdGVycyAKLSAgICAgICAgICAgIC8vIGZvbGxvd2VkIGJ5IGEgY2hhcmFjdGVyIGRl
ZmluZWQgYnkgaXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoKSkgYXJlIGFsd2F5cyBhbiBpbnRlZ2Vy
IHdpZHRoLgotICAgICAgICAgICAgLy8gV2UgYWRqdXN0IHRoZSB3aWR0aCBvZiB0aGUgbGFzdCBj
aGFyYWN0ZXIgb2YgYSAid29yZCIgdG8gZW5zdXJlIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAg
ICAgICAvLyBGb3JjZSBjaGFyYWN0ZXJzIHRoYXQgYXJlIHVzZWQgdG8gZGV0ZXJtaW5lIHdvcmQg
Ym91bmRhcmllcyBmb3IgdGhlIHJvdW5kaW5nIGhhY2sKLSAgICAgICAgICAgIC8vIHRvIGJlIGlu
dGVnZXIgd2lkdGgsIHNvIHRoZSBmb2xsb3dpbmcgd29yZHMgd2lsbCBzdGFydCBvbiBhbiBpbnRl
Z2VyIGJvdW5kYXJ5LgotICAgICAgICAgICAgaWYgKG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkg
JiYgRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoY2gpKQotICAgICAgICAgICAgICAgIGFk
dmFuY2Uud2lkdGggPSBjZWlsQ0dGbG9hdChhZHZhbmNlLndpZHRoKTsKLQotICAgICAgICAgICAg
Ly8gQ2hlY2sgdG8gc2VlIGlmIHRoZSBuZXh0IGNoYXJhY3RlciBpcyBhICJyb3VuZGluZyBoYWNr
IGNoYXJhY3RlciIsIGlmIHNvLCBhZGp1c3QgdGhlCi0gICAgICAgICAgICAvLyB3aWR0aCBzbyB0
aGF0IHRoZSB0b3RhbCBydW4gd2lkdGggd2lsbCBiZSBvbiBhbiBpbnRlZ2VyIGJvdW5kYXJ5Lgot
ICAgICAgICAgICAgaWYgKChtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpICYmICFsYXN0R2x5cGgg
JiYgRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIobmV4dENoKSkgfHwgKG1fcnVuLmFwcGx5
UnVuUm91bmRpbmcoKSAmJiBsYXN0R2x5cGgpKSB7Ci0gICAgICAgICAgICAgICAgQ0dGbG9hdCB0
b3RhbFdpZHRoID0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyArIGFkdmFuY2Uud2lkdGg7Ci0gICAg
ICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9IGNlaWxDR0Zsb2F0KHRvdGFsV2lk
dGgpOwotICAgICAgICAgICAgICAgIENHRmxvYXQgZXh0cmFXaWR0aCA9IHdpZHRoU2luY2VMYXN0
Um91bmRpbmcgLSB0b3RhbFdpZHRoOwotICAgICAgICAgICAgICAgIGlmIChtX3J1bi5sdHIoKSkK
LSAgICAgICAgICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSBleHRyYVdpZHRoOwotICAgICAg
ICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZiAobV9sYXN0Um91bmRpbmdH
bHlwaCkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fYWRqdXN0ZWRBZHZhbmNlc1ttX2xhc3RS
b3VuZGluZ0dseXBoIC0gMV0ud2lkdGggKz0gZXh0cmFXaWR0aDsKLSAgICAgICAgICAgICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgbV9maW5hbFJvdW5kaW5nV2lkdGggPSBl
eHRyYVdpZHRoOwotICAgICAgICAgICAgICAgICAgICBtX2xhc3RSb3VuZGluZ0dseXBoID0gbV9h
ZGp1c3RlZEFkdmFuY2VzLnNpemUoKSArIDE7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIG1fdG90YWxXaWR0aCArPSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nOwotICAgICAgICAg
ICAgICAgIHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSAwOwotICAgICAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyArPSBhZHZhbmNlLndpZHRoOwor
ICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RDb21taXQgKz0gYWR2YW5jZS53aWR0aDsKIAogICAg
ICAgICAgICAgLy8gRklYTUU6IENvbWJpbmluZyBtYXJrcyBzaG91bGQgcmVjZWl2ZSBhIHRleHQg
ZW1waGFzaXMgbWFyayBpZiB0aGV5IGFyZSBjb21iaW5lIHdpdGggYSBzcGFjZS4KICAgICAgICAg
ICAgIGlmIChtX2ZvclRleHRFbXBoYXNpcyAmJiAoIUZvbnQ6OmNhblJlY2VpdmVUZXh0RW1waGFz
aXMoY2gpIHx8IChVX0dFVF9HQ19NQVNLKGNoKSAmIFVfR0NfTV9NQVNLKSkpCkBAIC01NjQsNyAr
NTE5LDcgQEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBocwogICAgICAg
ICBpZiAoIWlzTW9ub3RvbmljKQogICAgICAgICAgICAgY29tcGxleFRleHRSdW4uc2V0SXNOb25N
b25vdG9uaWMoKTsKICAgICB9Ci0gICAgbV90b3RhbFdpZHRoICs9IHdpZHRoU2luY2VMYXN0Um91
bmRpbmc7CisgICAgbV90b3RhbFdpZHRoICs9IHdpZHRoU2luY2VMYXN0Q29tbWl0OwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5oCShyZXZp
c2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21w
bGV4VGV4dENvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsOSArNjAsNiBAQCBwdWJs
aWM6CiAKICAgICBmbG9hdCB0b3RhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV90b3RhbFdpZHRo
OyB9CiAKLSAgICAvLyBFeHRyYSB3aWR0aCB0byB0aGUgbGVmdCBvZiB0aGUgbGVmdG1vc3QgZ2x5
cGguCi0gICAgZmxvYXQgZmluYWxSb3VuZGluZ1dpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9maW5h
bFJvdW5kaW5nV2lkdGg7IH0KLQogICAgIGZsb2F0IG1pbkdseXBoQm91bmRpbmdCb3hYKCkgY29u
c3QgeyByZXR1cm4gbV9taW5HbHlwaEJvdW5kaW5nQm94WDsgfQogICAgIGZsb2F0IG1heEdseXBo
Qm91bmRpbmdCb3hYKCkgY29uc3QgeyByZXR1cm4gbV9tYXhHbHlwaEJvdW5kaW5nQm94WDsgfQog
ICAgIGZsb2F0IG1pbkdseXBoQm91bmRpbmdCb3hZKCkgY29uc3QgeyByZXR1cm4gbV9taW5HbHlw
aEJvdW5kaW5nQm94WTsgfQpAQCAtMTc2LDcgKzE3Myw2IEBAIHByaXZhdGU6CiAgICAgc2l6ZV90
IG1fY3VycmVudFJ1bjsKICAgICB1bnNpZ25lZCBtX2dseXBoSW5DdXJyZW50UnVuOwogICAgIHVu
c2lnbmVkIG1fY2hhcmFjdGVySW5DdXJyZW50R2x5cGg7Ci0gICAgZmxvYXQgbV9maW5hbFJvdW5k
aW5nV2lkdGg7CiAgICAgZmxvYXQgbV9leHBhbnNpb247CiAgICAgZmxvYXQgbV9leHBhbnNpb25Q
ZXJPcHBvcnR1bml0eTsKICAgICBib29sIG1fYWZ0ZXJFeHBhbnNpb247CkBAIC0xODcsOCArMTgz
LDYgQEAgcHJpdmF0ZToKICAgICBmbG9hdCBtX21heEdseXBoQm91bmRpbmdCb3hYOwogICAgIGZs
b2F0IG1fbWluR2x5cGhCb3VuZGluZ0JveFk7CiAgICAgZmxvYXQgbV9tYXhHbHlwaEJvdW5kaW5n
Qm94WTsKLSAgICAKLSAgICB1bnNpZ25lZCBtX2xhc3RSb3VuZGluZ0dseXBoOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5jcHAJKHJldmlzaW9u
IDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21w
bGV4VGV4dE1hYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxLDcgKzcxLDcgQEAgZmxvYXQgRm9u
dDo6Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JDb21wbAogICAgIGZsb2F0IGFmdGVyV2lkdGggPSBj
b250cm9sbGVyLnJ1bldpZHRoU29GYXIoKTsKIAogICAgIGlmIChydW4ucnRsKCkpIHsKLSAgICAg
ICAgaW5pdGlhbEFkdmFuY2UgPSBjb250cm9sbGVyLnRvdGFsV2lkdGgoKSArIGNvbnRyb2xsZXIu
ZmluYWxSb3VuZGluZ1dpZHRoKCkgLSBhZnRlcldpZHRoOworICAgICAgICBpbml0aWFsQWR2YW5j
ZSA9IGNvbnRyb2xsZXIudG90YWxXaWR0aCgpIC0gYWZ0ZXJXaWR0aDsKICAgICAgICAgZm9yIChp
bnQgaSA9IDAsIGVuZCA9IGdseXBoQnVmZmVyLnNpemUoKSAtIDE7IGkgPCBnbHlwaEJ1ZmZlci5z
aXplKCkgLyAyOyArK2ksIC0tZW5kKQogICAgICAgICAgICAgZ2x5cGhCdWZmZXIuc3dhcChpLCBl
bmQpOwogICAgIH0gZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0dyYXBoaWNzQ29udGV4dE1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0TWFjLm1tCShyZXZpc2lvbiA3ODM3
MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRl
eHRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTExMiwxNCArMTEyLDE0IEBAIHN0YXRpYyBOU0Nv
bG9yKiBjcmVhdGVQYXR0ZXJuQ29sb3IoTlNTdHIKIH0KIAogLy8gV2ViS2l0IG9uIE1hYyBpcyBh
IHN0YW5kYXJkIHBsYXRmb3JtIGNvbXBvbmVudCwgc28gaXQgbXVzdCB1c2UgdGhlIHN0YW5kYXJk
IHBsYXRmb3JtIGFydHdvcmsgZm9yIHVuZGVybGluZS4KLXZvaWQgR3JhcGhpY3NDb250ZXh0Ojpk
cmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYgcG9pbnQsIGludCB3aWR0aCwg
VGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdM
aW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBmbG9hdCB3aWR0aCwg
VGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVk
KCkpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgLy8gVGhlc2UgYXJlIHRoZSBzYW1l
IGZvciBtaXNzcGVsbGluZyBvciBiYWQgZ3JhbW1hci4KICAgICBpbnQgcGF0dGVybkhlaWdodCA9
IGNNaXNzcGVsbGluZ0xpbmVUaGlja25lc3M7Ci0gICAgaW50IHBhdHRlcm5XaWR0aCA9IGNNaXNz
cGVsbGluZ0xpbmVQYXR0ZXJuV2lkdGg7CisgICAgZmxvYXQgcGF0dGVybldpZHRoID0gY01pc3Nw
ZWxsaW5nTGluZVBhdHRlcm5XaWR0aDsKIAogICAgIGJvb2wgdXNpbmdEb3Q7CiAgICAgTlNDb2xv
ciAqcGF0dGVybkNvbG9yOwpAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
OjpkcmF3TGluZUZvclRleHRDaGUKICAgICAvLyBzcGFjZSBiZXR3ZWVuIGFkamFjZW50IG1pc3Nw
ZWxsZWQgd29yZHMgd2FzIHVuZGVybGluZWQuCiAgICAgaWYgKHVzaW5nRG90KSB7CiAgICAgICAg
IC8vIGFsbG93IHNsaWdodGx5IG1vcmUgY29uc2lkZXJpbmcgdGhhdCB0aGUgcGF0dGVybiBlbmRz
IHdpdGggYSB0cmFuc3BhcmVudCBwaXhlbAotICAgICAgICBpbnQgd2lkdGhNb2QgPSB3aWR0aCAl
IHBhdHRlcm5XaWR0aDsKKyAgICAgICAgZmxvYXQgd2lkdGhNb2QgPSBmbW9kZih3aWR0aCwgcGF0
dGVybldpZHRoKTsKICAgICAgICAgaWYgKHBhdHRlcm5XaWR0aCAtIHdpZHRoTW9kID4gY01pc3Nw
ZWxsaW5nTGluZVBhdHRlcm5HYXBXaWR0aCkKICAgICAgICAgICAgIHdpZHRoIC09IHdpZHRoTW9k
OwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBo
aWNzQ29udGV4dFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC04NDYsMTMgKzg0NiwxMyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6
ZHJhd0ZvY3VzUmluZyhjb25zCiAgICAgZHJhd0ZvY3VzUmluZ0ZvclBhdGgobV9kYXRhLT5wKCks
IHBhdGgsIGNvbG9yLCBtX2RhdGEtPmFudGlBbGlhc2luZ0ZvclJlY3RzQW5kTGluZXMpOwogfQog
Ci12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEludFBvaW50JiBv
cmlnaW4sIGludCB3aWR0aCwgYm9vbCkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZv
clRleHQoY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luLCBmbG9hdCB3aWR0aCwgYm9vbCkKIHsKICAg
ICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBJbnRQb2lu
dCBzdGFydFBvaW50ID0gb3JpZ2luOwotICAgIEludFBvaW50IGVuZFBvaW50ID0gb3JpZ2luICsg
SW50U2l6ZSh3aWR0aCwgMCk7CisgICAgRmxvYXRQb2ludCBzdGFydFBvaW50ID0gb3JpZ2luOwor
ICAgIEZsb2F0UG9pbnQgZW5kUG9pbnQgPSBvcmlnaW4gKyBGbG9hdFNpemUod2lkdGgsIDApOwog
CiAgICAgLy8gSWYgcGFpbnRlbmdpbmUgdHlwZSBpcyBYMTEgdG8gYXZvaWQgYXJ0aWZhY3RzCiAg
ICAgLy8gbGlrZSBidWcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQy
MjQ4CkBAIC04NzIsMTAgKzg3MiwxMSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVG
b3JUZXh0KGNvCiAgICAgfQogI2VuZGlmIC8vIGRlZmluZWQoUV9XU19YMTEpCiAKLSAgICBkcmF3
TGluZShzdGFydFBvaW50LCBlbmRQb2ludCk7CisgICAgLy8gRklYTUU6IExvc3Mgb2YgcHJlY2lz
aW9uIGhlcmUuIE1pZ2h0IGNvbnNpZGVyIHJvdW5kaW5nLgorICAgIGRyYXdMaW5lKEludFBvaW50
KHN0YXJ0UG9pbnQueCgpLCBzdGFydFBvaW50LnkoKSksIEludFBvaW50KGVuZFBvaW50LngoKSwg
ZW5kUG9pbnQueSgpKSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRl
eHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYsIGludCwgVGV4dENoZWNraW5nTGluZVN0eWxlKQor
dm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEZsb2F0
UG9pbnQmLCBmbG9hdCwgVGV4dENoZWNraW5nTGluZVN0eWxlKQogewogICAgIGlmIChwYWludGlu
Z0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCShyZXZp
c2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBs
ZUZvbnREYXRhUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MSw3ICs2MSw2IEBAIHZvaWQgU2lt
cGxlRm9udERhdGE6OnBsYXRmb3JtR2x5cGhJbml0KCkKICAgICBpZiAoIW1fcGxhdGZvcm1EYXRh
LnNpemUoKSkKICAgICAgICAgcmV0dXJuOwogICAgIG1fc3BhY2VHbHlwaCA9IDA7Ci0gICAgbV9h
ZGp1c3RlZFNwYWNlV2lkdGggPSBtX3NwYWNlV2lkdGg7CiAgICAgZGV0ZXJtaW5lUGl0Y2goKTsK
ICAgICBtX21pc3NpbmdHbHlwaERhdGEuZm9udERhdGEgPSB0aGlzOwogICAgIG1fbWlzc2luZ0ds
eXBoRGF0YS5nbHlwaCA9IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL0dyYXBoaWNzQ29udGV4dFNraWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0U2tpYS5jcHAJKHJldmlz
aW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFw
aGljc0NvbnRleHRTa2lhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTk1LDcgKzU5NSw3IEBAIHZv
aWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZShjb25zdCBJbnQKICAgICBwbGF0Zm9ybUNvbnRl
eHQoKS0+Y2FudmFzKCktPmRyYXdQb2ludHMoU2tDYW52YXM6OmtMaW5lc19Qb2ludE1vZGUsIDIs
IHB0cywgcGFpbnQpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0
Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmIHB0LCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVT
dHlsZSBzdHlsZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2lu
Zyhjb25zdCBGbG9hdFBvaW50JiBwdCwgZmxvYXQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHls
ZSBzdHlsZSkKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47
CkBAIC02NDQsOCArNjQ0LDggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dENoZQogICAgIH0KIAogICAgIC8vIE9mZnNldCBpdCB2ZXJ0aWNhbGx5IGJ5IDEgc28gdGhhdCB0
aGVyZSdzIHNvbWUgc3BhY2UgdW5kZXIgdGhlIHRleHQuCi0gICAgU2tTY2FsYXIgb3JpZ2luWCA9
IFNrSW50VG9TY2FsYXIocHQueCgpKTsKLSAgICBTa1NjYWxhciBvcmlnaW5ZID0gU2tJbnRUb1Nj
YWxhcihwdC55KCkpICsgMTsKKyAgICBTa1NjYWxhciBvcmlnaW5YID0gV2ViQ29yZUZsb2F0VG9T
a1NjYWxhcihwdC54KCkpOworICAgIFNrU2NhbGFyIG9yaWdpblkgPSBXZWJDb3JlRmxvYXRUb1Nr
U2NhbGFyKHB0LnkoKSkgKyAxOwogCiAgICAgLy8gTWFrZSBhIHNoYWRlciBmb3IgdGhlIGJpdG1h
cCB3aXRoIGFuIG9yaWdpbiBvZiB0aGUgYm94IHdlJ2xsIGRyYXcuIFRoaXMKICAgICAvLyBzaGFk
ZXIgaXMgcmVmY291bnRlZCBhbmQgd2lsbCBoYXZlIGFuIGluaXRpYWwgcmVmY291bnQgb2YgMS4K
QEAgLTY2NywxMyArNjY3LDEzIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRl
eHRDaGUKICAgICBTa1JlY3QgcmVjdDsKICAgICByZWN0LnNldChvcmlnaW5YLAogICAgICAgICAg
ICAgIG9yaWdpblksCi0gICAgICAgICAgICAgb3JpZ2luWCArIFNrSW50VG9TY2FsYXIod2lkdGgp
LAorICAgICAgICAgICAgIG9yaWdpblggKyBXZWJDb3JlRmxvYXRUb1NrU2NhbGFyKHdpZHRoKSwK
ICAgICAgICAgICAgICBvcmlnaW5ZICsgU2tJbnRUb1NjYWxhcihtaXNzcGVsbEJpdG1hcC0+aGVp
Z2h0KCkpKTsKICAgICBwbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCktPmRyYXdSZWN0KHJlY3Qs
IHBhaW50KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjb25z
dCBJbnRQb2ludCYgcHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCwKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgRmxv
YXRQb2ludCYgcHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0
IHdpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHByaW50
aW5nKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCkBAIC02ODYsOSArNjg2LDkgQEAg
dm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjbwogCiAgICAgaW50IHRoaWNr
bmVzcyA9IFNrTWF4MzIoc3RhdGljX2Nhc3Q8aW50PihzdHJva2VUaGlja25lc3MoKSksIDEpOwog
ICAgIFNrUmVjdCByOwotICAgIHIuZkxlZnQgPSBTa0ludFRvU2NhbGFyKHB0LngoKSk7Ci0gICAg
ci5mVG9wID0gU2tJbnRUb1NjYWxhcihwdC55KCkpOwotICAgIHIuZlJpZ2h0ID0gci5mTGVmdCAr
IFNrSW50VG9TY2FsYXIod2lkdGgpOworICAgIHIuZkxlZnQgPSBXZWJDb3JlRmxvYXRUb1NrU2Nh
bGFyKHB0LngoKSk7CisgICAgci5mVG9wID0gV2ViQ29yZUZsb2F0VG9Ta1NjYWxhcihwdC55KCkp
OworICAgIHIuZlJpZ2h0ID0gci5mTGVmdCArIFdlYkNvcmVGbG9hdFRvU2tTY2FsYXIod2lkdGgp
OwogICAgIHIuZkJvdHRvbSA9IHIuZlRvcCArIFNrSW50VG9TY2FsYXIodGhpY2tuZXNzKTsKIAog
ICAgIFNrUGFpbnQgcGFpbnQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vR3JhcGhpY3NDb250ZXh0Q0dXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRDR1dpbi5jcHAJKHJldmlz
aW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBo
aWNzQ29udGV4dENHV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg0LDcgKzE4NCw3IEBAIHN0
YXRpYyBjb25zdCBDb2xvciYgZ3JhbW1hclBhdHRlcm5Db2xvcigKICAgICByZXR1cm4gZ3JhbW1h
ckNvbG9yOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tp
bmcoY29uc3QgSW50UG9pbnQmIHBvaW50LCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHls
ZSBzdHlsZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhj
b25zdCBGbG9hdFBvaW50JiBwb2ludCwgZmxvYXQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHls
ZSBzdHlsZSkKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47
CkBAIC0yMDQsNyArMjA0LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dENoZQogICAgIC8vIGJvdW5kcyAoZS5nLiB3aGVuIGF0IHRoZSBlZGdlIG9mIGEgdmlldykgYW5k
IGNvdWxkIG1ha2UgaXQgYXBwZWFyIHRoYXQgdGhlCiAgICAgLy8gc3BhY2UgYmV0d2VlbiBhZGph
Y2VudCBtaXNzcGVsbGVkIHdvcmRzIHdhcyB1bmRlcmxpbmVkLgogICAgIC8vIGFsbG93IHNsaWdo
dGx5IG1vcmUgY29uc2lkZXJpbmcgdGhhdCB0aGUgcGF0dGVybiBlbmRzIHdpdGggYSB0cmFuc3Bh
cmVudCBwaXhlbAotICAgIGludCB3aWR0aE1vZCA9IHdpZHRoICUgcGF0dGVybldpZHRoOworICAg
IGZsb2F0IHdpZHRoTW9kID0gZm1vZGYod2lkdGgsIHBhdHRlcm5XaWR0aCk7CiAgICAgaWYgKHBh
dHRlcm5XaWR0aCAtIHdpZHRoTW9kID4gY01pc3NwZWxsaW5nTGluZVBhdHRlcm5HYXBXaWR0aCkK
ICAgICAgICAgd2lkdGggLT0gd2lkdGhNb2Q7CiAgICAgICAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9VbmlzY3JpYmVDb250cm9sbGVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vVW5pc2NyaWJlQ29udHJv
bGxlci5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjEs
MTggKzI2MSwxMyBAQCBib29sIFVuaXNjcmliZUNvbnRyb2xsZXI6OnNoYXBlQW5kUGxhY2VJCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgLy8gQ29udmVydCBhbGwgY2hhcnMgdGhhdCBzaG91
bGQgYmUgdHJlYXRlZCBhcyBzcGFjZXMgdG8gdXNlIHRoZSBzcGFjZSBnbHlwaC4KLSAgICAvLyBX
ZSBhbHNvIGNyZWF0ZSBhIG1hcCB0aGF0IGFsbG93cyB1cyB0byBxdWlja2x5IGdvIGZyb20gc3Bh
Y2UgZ2x5cGhzIG9yIHJvdW5kaW5nCi0gICAgLy8gaGFjayBnbHlwaHMgYmFjayB0byB0aGVpciBj
b3JyZXNwb25kaW5nIGNoYXJhY3RlcnMuCisgICAgLy8gV2UgYWxzbyBjcmVhdGUgYSBtYXAgdGhh
dCBhbGxvd3MgdXMgdG8gcXVpY2tseSBnbyBmcm9tIHNwYWNlIGdseXBocyBiYWNrIHRvIHRoZWly
IGNvcnJlc3BvbmRpbmcgY2hhcmFjdGVycy4KICAgICBWZWN0b3I8aW50PiBzcGFjZUNoYXJhY3Rl
cnMoZ2x5cGhzLnNpemUoKSk7CiAgICAgc3BhY2VDaGFyYWN0ZXJzLmZpbGwoLTEpOwotICAgIFZl
Y3RvcjxpbnQ+IHJvdW5kaW5nSGFja0NoYXJhY3RlcnMoZ2x5cGhzLnNpemUoKSk7Ci0gICAgcm91
bmRpbmdIYWNrQ2hhcmFjdGVycy5maWxsKC0xKTsKLSAgICBWZWN0b3I8aW50PiByb3VuZGluZ0hh
Y2tXb3JkQm91bmRhcmllcyhnbHlwaHMuc2l6ZSgpKTsKLSAgICByb3VuZGluZ0hhY2tXb3JkQm91
bmRhcmllcy5maWxsKC0xKTsKIAogICAgIGNvbnN0IGZsb2F0IGNMb2dpY2FsU2NhbGUgPSBmb250
RGF0YS0+cGxhdGZvcm1EYXRhKCkudXNlR0RJKCkgPyAxLjBmIDogMzIuMGY7CiAgICAgdW5zaWdu
ZWQgbG9naWNhbFNwYWNlV2lkdGggPSBmb250RGF0YS0+c3BhY2VXaWR0aCgpICogY0xvZ2ljYWxT
Y2FsZTsKLSAgICBmbG9hdCByb3VuZGVkU3BhY2VXaWR0aCA9IHJvdW5kZihmb250RGF0YS0+c3Bh
Y2VXaWR0aCgpKTsKKyAgICBmbG9hdCBzcGFjZVdpZHRoID0gZm9udERhdGEtPnNwYWNlV2lkdGgo
KTsKIAogICAgIGZvciAoaW50IGsgPSAwOyBrIDwgbGVuOyBrKyspIHsKICAgICAgICAgVUNoYXIg
Y2ggPSAqKHN0ciArIGspOwpAQCAtMjg2LDIxICsyODEsNiBAQCBib29sIFVuaXNjcmliZUNvbnRy
b2xsZXI6OnNoYXBlQW5kUGxhY2VJCiAgICAgICAgICAgICBpZiAodHJlYXRBc1NwYWNlKQogICAg
ICAgICAgICAgICAgIHNwYWNlQ2hhcmFjdGVyc1tjbHVzdGVyc1trXV0gPSBtX2N1cnJlbnRDaGFy
YWN0ZXIgKyBrICsgaXRlbS5pQ2hhclBvczsKICAgICAgICAgfQotCi0gICAgICAgIGlmIChGb250
Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcihjaCkpCi0gICAgICAgICAgICByb3VuZGluZ0hhY2tD
aGFyYWN0ZXJzW2NsdXN0ZXJzW2tdXSA9IG1fY3VycmVudENoYXJhY3RlciArIGsgKyBpdGVtLmlD
aGFyUG9zOwotCi0gICAgICAgIGludCBib3VuZGFyeSA9IGsgKyBtX2N1cnJlbnRDaGFyYWN0ZXIg
KyBpdGVtLmlDaGFyUG9zOwotICAgICAgICBpZiAoYm91bmRhcnkgPCBtX3J1bi5sZW5ndGgoKSkg
ewotICAgICAgICAgICAgLy8gV2hlbiBhdCB0aGUgbGFzdCBjaGFyYWN0ZXIgaW4gdGhlIHN0ciwg
ZG9uJ3QgbG9vayBvbmUgcGFzdCB0aGUgZW5kIGZvciBhIHJvdW5kaW5nIGhhY2sgY2hhcmFjdGVy
LgotICAgICAgICAgICAgLy8gSW5zdGVhZCBsb29rIGFoZWFkIHRvIHRoZSBmaXJzdCBjaGFyYWN0
ZXIgb2YgbmV4dCBpdGVtLCBpZiB0aGVyZSBpcyBhIG5leHQgb25lLiAKLSAgICAgICAgICAgIGlm
IChrICsgMSA9PSBsZW4pIHsKLSAgICAgICAgICAgICAgICBpZiAoaSArIDIgPCBtX2l0ZW1zLnNp
emUoKSAvLyBDaGVjayBmb3IgYXQgbGVhc3QgMiBpdGVtcyByZW1haW5pbmcuIFRoZSBsYXN0IGl0
ZW0gaXMgYSB0ZXJtaW5hdGluZyBpdGVtIGNvbnRhaW5pbmcgbm8gY2hhcmFjdGVycy4KLSAgICAg
ICAgICAgICAgICAgICAgJiYgRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoKihjcCArIG1f
aXRlbXNbaSArIDFdLmlDaGFyUG9zKSkpCi0gICAgICAgICAgICAgICAgICAgIHJvdW5kaW5nSGFj
a1dvcmRCb3VuZGFyaWVzW2NsdXN0ZXJzW2tdXSA9IGJvdW5kYXJ5OwotICAgICAgICAgICAgfSBl
bHNlIGlmIChGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcigqKHN0ciArIGsgKyAxKSkpCi0g
ICAgICAgICAgICAgICAgcm91bmRpbmdIYWNrV29yZEJvdW5kYXJpZXNbY2x1c3RlcnNba11dID0g
Ym91bmRhcnk7Ci0gICAgICAgIH0KICAgICB9CiAKICAgICAvLyBQb3B1bGF0ZSBvdXIgZ2x5cGgg
YnVmZmVyIHdpdGggdGhpcyBpbmZvcm1hdGlvbi4KQEAgLTMxNCwyNCArMjk0LDggQEAgYm9vbCBV
bmlzY3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSQogICAgICAgICBmbG9hdCBvZmZzZXRY
ID0gb2Zmc2V0c1trXS5kdSAvIGNMb2dpY2FsU2NhbGU7CiAgICAgICAgIGZsb2F0IG9mZnNldFkg
PSBvZmZzZXRzW2tdLmR2IC8gY0xvZ2ljYWxTY2FsZTsKIAotICAgICAgICAvLyBNYXRjaCBBcHBL
aXQncyBydWxlcyBmb3IgdGhlIGludGVnZXIgdnMuIG5vbi1pbnRlZ2VyIHJlbmRlcmluZyBtb2Rl
cy4KLSAgICAgICAgZmxvYXQgcm91bmRlZEFkdmFuY2UgPSByb3VuZGYoYWR2YW5jZSk7Ci0gICAg
ICAgIGlmICghbV9mb250LmlzUHJpbnRlckZvbnQoKSAmJiAhZm9udERhdGEtPmlzU3lzdGVtRm9u
dCgpKSB7Ci0gICAgICAgICAgICBhZHZhbmNlID0gcm91bmRlZEFkdmFuY2U7Ci0gICAgICAgICAg
ICBvZmZzZXRYID0gcm91bmRmKG9mZnNldFgpOwotICAgICAgICAgICAgb2Zmc2V0WSA9IHJvdW5k
ZihvZmZzZXRZKTsKLSAgICAgICAgfQotCiAgICAgICAgIGFkdmFuY2UgKz0gZm9udERhdGEtPnN5
bnRoZXRpY0JvbGRPZmZzZXQoKTsKIAotICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2Vz
IGluIHR3byB3YXlzIHdoZW4gYXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAgLy8gRmly
c3QsIHdlIHJvdW5kIHNwYWNlcyB0byBhbiBhZGp1c3RlZCB3aWR0aCBpbiBhbGwgZm9udHMuCi0g
ICAgICAgIC8vIFNlY29uZCwgaW4gZml4ZWQtcGl0Y2ggZm9udHMgd2UgZW5zdXJlIHRoYXQgYWxs
IGdseXBocyB0aGF0Ci0gICAgICAgIC8vIG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgc3BhY2UgZ2x5
cGggaGF2ZSB0aGUgc2FtZSB3aWR0aCBhcyB0aGUgc3BhY2UgZ2x5cGguCi0gICAgICAgIGlmIChy
b3VuZGVkQWR2YW5jZSA9PSByb3VuZGVkU3BhY2VXaWR0aCAmJiAoZm9udERhdGEtPnBpdGNoKCkg
PT0gRml4ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgpKSAmJgotICAg
ICAgICAgICAgbV9ydW4uYXBwbHlXb3JkUm91bmRpbmcoKSkKLSAgICAgICAgICAgIGFkdmFuY2Ug
PSBmb250RGF0YS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCk7Ci0KICAgICAgICAgaWYgKGhhc0V4dHJh
U3BhY2luZykgewogICAgICAgICAgICAgLy8gSWYgd2UncmUgYSBnbHlwaCB3aXRoIGFuIGFkdmFu
Y2UsIGdvIGFoZWFkIGFuZCBhZGQgaW4gbGV0dGVyLXNwYWNpbmcuCiAgICAgICAgICAgICAvLyBU
aGF0IHdheSB3ZSB3ZWVkIG91dCB6ZXJvIHdpZHRoIGx1cmtlcnMuICBUaGlzIGJlaGF2aW9yIG1h
dGNoZXMgdGhlIGZhc3QgdGV4dCBjb2RlIHBhdGguCkBAIC0zNTIsNyArMzE2LDcgQEAgYm9vbCBV
bmlzY3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSQogICAgICAgICAgICAgICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgcHJldmlvdXNQYWRkaW5nID0g
bV9wYWRkaW5nOwogICAgICAgICAgICAgICAgICAgICAgICAgbV9wYWRkaW5nIC09IG1fcGFkUGVy
U3BhY2U7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZHZhbmNlICs9IHJvdW5kZihwcmV2aW91
c1BhZGRpbmcpIC0gcm91bmRmKG1fcGFkZGluZyk7CisgICAgICAgICAgICAgICAgICAgICAgICBh
ZHZhbmNlICs9IHByZXZpb3VzUGFkZGluZyAtIG1fcGFkZGluZzsKICAgICAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgICAgIH0KIApAQCAtMzYyLDI1ICszMjYsNiBAQCBib29sIFVuaXNj
cmliZUNvbnRyb2xsZXI6OnNoYXBlQW5kUGxhY2VJCiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
IAotICAgICAgICAvLyBEZWFsIHdpdGggdGhlIGZsb2F0L2ludGVnZXIgaW1wZWRhbmNlIG1pc21h
dGNoIGJldHdlZW4gQ0cgYW5kIFdlYkNvcmUuICJXb3JkcyIgKGNoYXJhY3RlcnMgCi0gICAgICAg
IC8vIGZvbGxvd2VkIGJ5IGEgY2hhcmFjdGVyIGRlZmluZWQgYnkgaXNSb3VuZGluZ0hhY2tDaGFy
YWN0ZXIoKSkgYXJlIGFsd2F5cyBhbiBpbnRlZ2VyIHdpZHRoLgotICAgICAgICAvLyBXZSBhZGp1
c3QgdGhlIHdpZHRoIG9mIHRoZSBsYXN0IGNoYXJhY3RlciBvZiBhICJ3b3JkIiB0byBlbnN1cmUg
YW4gaW50ZWdlciB3aWR0aC4KLSAgICAgICAgLy8gRm9yY2UgY2hhcmFjdGVycyB0aGF0IGFyZSB1
c2VkIHRvIGRldGVybWluZSB3b3JkIGJvdW5kYXJpZXMgZm9yIHRoZSByb3VuZGluZyBoYWNrCi0g
ICAgICAgIC8vIHRvIGJlIGludGVnZXIgd2lkdGgsIHNvIHRoZSBmb2xsb3dpbmcgd29yZHMgd2ls
bCBzdGFydCBvbiBhbiBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICBpbnQgcm91bmRpbmdIYWNr
SW5kZXggPSByb3VuZGluZ0hhY2tDaGFyYWN0ZXJzW2tdOwotICAgICAgICBpZiAobV9ydW4uYXBw
bHlXb3JkUm91bmRpbmcoKSAmJiByb3VuZGluZ0hhY2tJbmRleCAhPSAtMSkKLSAgICAgICAgICAg
IGFkdmFuY2UgPSBjZWlsZihhZHZhbmNlKTsKLQotICAgICAgICAvLyBDaGVjayB0byBzZWUgaWYg
dGhlIG5leHQgY2hhcmFjdGVyIGlzIGEgInJvdW5kaW5nIGhhY2sgY2hhcmFjdGVyIiwgaWYgc28s
IGFkanVzdCB0aGUKLSAgICAgICAgLy8gd2lkdGggc28gdGhhdCB0aGUgdG90YWwgcnVuIHdpZHRo
IHdpbGwgYmUgb24gYW4gaW50ZWdlciBib3VuZGFyeS4KLSAgICAgICAgaW50IHBvc2l0aW9uID0g
bV9jdXJyZW50Q2hhcmFjdGVyICsgbGVuOwotICAgICAgICBib29sIGxhc3RHbHlwaCA9IChrID09
IGdseXBocy5zaXplKCkgLSAxKSAmJiAobV9ydW4ucnRsKCkgPyBpID09IDAgOiBpID09IG1faXRl
bXMuc2l6ZSgpIC0gMikgJiYgKHBvc2l0aW9uID49IG1fZW5kKTsKLSAgICAgICAgaWYgKChtX3J1
bi5hcHBseVdvcmRSb3VuZGluZygpICYmIHJvdW5kaW5nSGFja1dvcmRCb3VuZGFyaWVzW2tdICE9
IC0xKSB8fAotICAgICAgICAgICAgKG1fcnVuLmFwcGx5UnVuUm91bmRpbmcoKSAmJiBsYXN0R2x5
cGgpKSB7IAotICAgICAgICAgICAgZmxvYXQgdG90YWxXaWR0aCA9IG1fcnVuV2lkdGhTb0ZhciAr
IGFkdmFuY2U7Ci0gICAgICAgICAgICBhZHZhbmNlICs9IGNlaWxmKHRvdGFsV2lkdGgpIC0gdG90
YWxXaWR0aDsKLSAgICAgICAgfQotCiAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBhZHZhbmNl
OwogCiAgICAgICAgIC8vIEZJWE1FOiBXZSBuZWVkIHRvIHRha2UgdGhlIEdPRkZTRVRTIGZvciBj
b21iaW5pbmcgZ2x5cGhzIGFuZCBzdG9yZSB0aGVtIGluIHRoZSBnbHlwaCBidWZmZXIKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9GaWxlQ2hvb3Nlckd0ay5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0ZpbGVDaG9vc2VyR3RrLmNwcAkocmV2
aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvRmlsZUNob29zZXJH
dGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MCw4ICs2MCw4IEBAIFN0cmluZyBGaWxlQ2hvb3Nl
cjo6YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICAgICAgZ2NoYXIqIHN5c3RlbUJhc2VuYW1lID0g
Z19wYXRoX2dldF9iYXNlbmFtZShzeXN0ZW1GaWxlbmFtZS5kYXRhKCkpOwogICAgICAgICBzdHJp
bmdCeUFkb3B0aW5nRmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHN5c3RlbUJhc2VuYW1lLCBzdHJp
bmcpOwogICAgIH0gZWxzZSBpZiAobV9maWxlbmFtZXMuc2l6ZSgpID4gMSkKLSAgICAgICAgcmV0
dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxvYWRUZXh0
KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250LCBmYWxzZSk7CisgICAgICAgIHJldHVy
biBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUobXVsdGlwbGVGaWxlVXBsb2FkVGV4dCht
X2ZpbGVuYW1lcy5zaXplKCkpLCB3aWR0aCwgZm9udCk7CiAKLSAgICByZXR1cm4gU3RyaW5nVHJ1
bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJpbmcsIHdpZHRoLCBmb250LCBmYWxzZSk7CisgICAg
cmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyaW5nLCB3aWR0aCwgZm9u
dCk7CiB9CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFj
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFnSW1hZ2VN
YWMubW0JKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0Ry
YWdJbWFnZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTU4LDggKzE1OCw3IEBAIHN0YXRpYyBm
bG9hdCB3aWR0aFdpdGhGb250KE5TU3RyaW5nICpzdHIKICAgICBpZiAoY2FuVXNlRmFzdFJlbmRl
cmVyKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCkpIHsKICAgICAgICAgRm9udCB3ZWJDb3JlRm9udChG
b250UGxhdGZvcm1EYXRhKGZvbnQsIFtmb250IHBvaW50U2l6ZV0pLCAhW1tOU0dyYXBoaWNzQ29u
dGV4dCBjdXJyZW50Q29udGV4dF0gaXNEcmF3aW5nVG9TY3JlZW5dKTsKICAgICAgICAgVGV4dFJ1
biBydW4oYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKTsKLSAgICAgICAgcnVuLmRpc2FibGVSb3VuZGlu
Z0hhY2tzKCk7Ci0gICAgICAgIHJldHVybiB3ZWJDb3JlRm9udC5mbG9hdFdpZHRoKHJ1bik7Cisg
ICAgICAgIHJldHVybiB3ZWJDb3JlRm9udC53aWR0aChydW4pOwogICAgIH0KICAgICAKICAgICBy
ZXR1cm4gW3N0cmluZyBzaXplV2l0aEF0dHJpYnV0ZXM6W05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5
V2l0aE9iamVjdHNBbmRLZXlzOmZvbnQsIE5TRm9udEF0dHJpYnV0ZU5hbWUsIG5pbF1dLndpZHRo
OwpAQCAtMTk3LDggKzE5Niw3IEBAIHN0YXRpYyB2b2lkIGRyYXdBdFBvaW50KE5TU3RyaW5nICpz
dHJpbmcKICAgICAgICAgICAgIAogICAgICAgICBGb250IHdlYkNvcmVGb250KEZvbnRQbGF0Zm9y
bURhdGEoZm9udCwgW2ZvbnQgcG9pbnRTaXplXSksICFbbnNDb250ZXh0IGlzRHJhd2luZ1RvU2Ny
ZWVuXSwgQW50aWFsaWFzZWQpOwogICAgICAgICBUZXh0UnVuIHJ1bihidWZmZXIuZGF0YSgpLCBs
ZW5ndGgpOwotICAgICAgICBydW4uZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsKLSAgICAgICAgCisK
ICAgICAgICAgQ0dGbG9hdCByZWQ7CiAgICAgICAgIENHRmxvYXQgZ3JlZW47CiAgICAgICAgIENH
RmxvYXQgYmx1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxlQ2hvb3Nl
ck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRmlsZUNo
b29zZXJNYWMubW0JKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0ZpbGVDaG9vc2VyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw5ICs0Nyw5IEBAIFN0
cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICBlbHNlIGlmIChtX2Zp
bGVuYW1lcy5zaXplKCkgPT0gMSkKICAgICAgICAgc3RyVG9UcnVuY2F0ZSA9IFtbTlNGaWxlTWFu
YWdlciBkZWZhdWx0TWFuYWdlcl0gZGlzcGxheU5hbWVBdFBhdGg6KG1fZmlsZW5hbWVzWzBdKV07
CiAgICAgZWxzZQotICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRl
KG11bHRpcGxlRmlsZVVwbG9hZFRleHQobV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQs
IGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZSht
dWx0aXBsZUZpbGVVcGxvYWRUZXh0KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250KTsK
IAotICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0clRvVHJ1bmNh
dGUsIHdpZHRoLCBmb250LCBmYWxzZSk7CisgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2Vu
dGVyVHJ1bmNhdGUoc3RyVG9UcnVuY2F0ZSwgd2lkdGgsIGZvbnQpOwogfQogCiB9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlV2luLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlV2luLmNwcAkocmV2aXNpb24g
NzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlV2luLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjEwLDEzICsyMTAsMTMgQEAgRHJhZ0ltYWdlUmVmIGNyZWF0ZURy
YWdJbWFnZUZvckxpbmsoS1VSTAogICAgIHN0YXRpYyBjb25zdCBDb2xvciBib3R0b21Db2xvcigy
NTUsIDI1NSwgMjU1LCAxMjcpOyAvLyBvcmlnaW5hbCBhbHBoYSA9IDAuNQogICAgIGlmIChkcmF3
VVJMU3RyaW5nKSB7CiAgICAgICAgIGlmIChjbGlwVVJMU3RyaW5nKQotICAgICAgICAgICAgdXJs
U3RyaW5nID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKHVybFN0cmluZywgaW1hZ2VT
aXplLndpZHRoKCkgLSAoRHJhZ0xhYmVsQm9yZGVyWCAqIDIuMGYpLCAqdXJsRm9udCwgZmFsc2Up
OworICAgICAgICAgICAgdXJsU3RyaW5nID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRl
KHVybFN0cmluZywgaW1hZ2VTaXplLndpZHRoKCkgLSAoRHJhZ0xhYmVsQm9yZGVyWCAqIDIuMGYp
LCAqdXJsRm9udCk7CiAgICAgICAgIEludFBvaW50IHRleHRQb3MoRHJhZ0xhYmVsQm9yZGVyWCwg
aW1hZ2VTaXplLmhlaWdodCgpIC0gKExhYmVsQm9yZGVyWU9mZnNldCArIHVybEZvbnQtPmZvbnRN
ZXRyaWNzKCkuZGVzY2VudCgpKSk7CiAgICAgICAgIFdlYkNvcmVEcmF3RG91YmxlZFRleHRBdFBv
aW50KGNvbnRleHQsIHVybFN0cmluZywgdGV4dFBvcywgKnVybEZvbnQsIHRvcENvbG9yLCBib3R0
b21Db2xvcik7CiAgICAgfQogICAgIAogICAgIGlmIChjbGlwTGFiZWxTdHJpbmcpCi0gICAgICAg
IGxhYmVsID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKGxhYmVsLCBpbWFnZVNpemUu
d2lkdGgoKSAtIChEcmFnTGFiZWxCb3JkZXJYICogMi4wZiksICpsYWJlbEZvbnQsIGZhbHNlKTsK
KyAgICAgICAgbGFiZWwgPSBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUobGFiZWwsIGlt
YWdlU2l6ZS53aWR0aCgpIC0gKERyYWdMYWJlbEJvcmRlclggKiAyLjBmKSwgKmxhYmVsRm9udCk7
CiAKICAgICBJbnRQb2ludCB0ZXh0UG9zKERyYWdMYWJlbEJvcmRlclgsIERyYWdMYWJlbEJvcmRl
clkgKyBsYWJlbEZvbnQtPnBpeGVsU2l6ZSgpKTsKICAgICBXZWJDb3JlRHJhd0RvdWJsZWRUZXh0
QXRQb2ludChjb250ZXh0LCBsYWJlbCwgdGV4dFBvcywgKmxhYmVsRm9udCwgdG9wQ29sb3IsIGJv
dHRvbUNvbG9yKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxlQ2hvb3Nl
cldpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVD
aG9vc2VyV2luLmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vRmlsZUNob29zZXJXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niw5ICs0Niw5IEBA
IFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICAgICAgTFBXU1RS
IGJhc2VuYW1lID0gUGF0aEZpbmRGaWxlTmFtZVcodG1wRmlsZW5hbWUuY2hhcmFjdGVyc1dpdGhO
dWxsVGVybWluYXRpb24oKSk7CiAgICAgICAgIHN0cmluZyA9IFN0cmluZyhiYXNlbmFtZSk7CiAg
ICAgfSBlbHNlCi0gICAgICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUo
U3RyaW5nOjpudW1iZXIobV9maWxlbmFtZXMuc2l6ZSgpKSArICIgZmlsZXMiLCB3aWR0aCwgZm9u
dCwgZmFsc2UpOworICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRl
KFN0cmluZzo6bnVtYmVyKG1fZmlsZW5hbWVzLnNpemUoKSkgKyAiIGZpbGVzIiwgd2lkdGgsIGZv
bnQpOwogCi0gICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyaW5n
LCB3aWR0aCwgZm9udCwgZmFsc2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRl
clRydW5jYXRlKHN0cmluZywgd2lkdGgsIGZvbnQpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNw
cAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBN
ZW51V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzI2LDcgKzMyNiw3IEBAIHZvaWQgUG9wdXBN
ZW51V2luOjpjYWxjdWxhdGVQb3NpdGlvbkFuZFMKICAgICAgICAgICAgIGl0ZW1Gb250LnVwZGF0
ZShtX3BvcHVwQ2xpZW50LT5mb250U2VsZWN0b3IoKSk7CiAgICAgICAgIH0KIAotICAgICAgICBw
b3B1cFdpZHRoID0gbWF4KHBvcHVwV2lkdGgsIGl0ZW1Gb250LndpZHRoKFRleHRSdW4odGV4dC5j
aGFyYWN0ZXJzKCksIHRleHQubGVuZ3RoKCkpKSk7CisgICAgICAgIHBvcHVwV2lkdGggPSBtYXgo
cG9wdXBXaWR0aCwgc3RhdGljX2Nhc3Q8aW50PihjZWlsZihpdGVtRm9udC53aWR0aChUZXh0UnVu
KHRleHQuY2hhcmFjdGVycygpLCB0ZXh0Lmxlbmd0aCgpKSkpKSk7CiAgICAgfQogCiAgICAgaWYg
KG5hdHVyYWxIZWlnaHQgPiBtYXhQb3B1cEhlaWdodCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9XZWJDb3JlVGV4dFJlbmRlcmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS93aW4vV2ViQ29yZVRleHRSZW5kZXJlci5jcHAJKHJldmlzaW9uIDc4
MzcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dlYkNvcmVUZXh0UmVuZGVyZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBXZWJDb3JlRHJhd0Rv
dWJsZWRUZXh0QXRQb2ludChHcmFwaAogCiBmbG9hdCBXZWJDb3JlVGV4dEZsb2F0V2lkdGgoY29u
c3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBGb250JiBmb250KQogewotICAgIHJldHVybiBTdHJpbmdU
cnVuY2F0b3I6OndpZHRoKHRleHQsIGZvbnQsIGZhbHNlKTsKKyAgICByZXR1cm4gU3RyaW5nVHJ1
bmNhdG9yOjp3aWR0aCh0ZXh0LCBmb250KTsKIH0KIAogdm9pZCBXZWJDb3JlU2V0U2hvdWxkVXNl
Rm9udFNtb290aGluZyhib29sIHNtb290aCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9IaXRUZXN0UmVzdWx0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSGl0VGVzdFJlc3VsdC5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDUsNiArNTQ1
LDIzIEBAIGJvb2wgSGl0VGVzdFJlc3VsdDo6YWRkTm9kZVRvUmVjdEJhc2VkVGUKICAgICByZXR1
cm4gIXJlY3QuY29udGFpbnMocmVjdEZvclBvaW50KHgsIHkpKTsKIH0KIAorYm9vbCBIaXRUZXN0
UmVzdWx0OjphZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KE5vZGUqIG5vZGUsIGludCB4LCBp
bnQgeSwgY29uc3QgRmxvYXRSZWN0JiByZWN0KQoreworICAgIC8vIElmIGl0IGlzIG5vdCBhIHJl
Y3QtYmFzZWQgaGl0IHRlc3QsIHRoaXMgbWV0aG9kIGhhcyB0byBiZSBuby1vcC4KKyAgICAvLyBS
ZXR1cm4gZmFsc2UsIHNvIHRoZSBoaXQgdGVzdCBzdG9wcy4KKyAgICBpZiAoIWlzUmVjdEJhc2Vk
VGVzdCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBJZiBub2RlIGlzIG51bGws
IHJldHVybiB0cnVlIHNvIHRoZSBoaXQgdGVzdCBjYW4gY29udGludWUuCisgICAgaWYgKCFub2Rl
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIG5vZGUgPSBub2RlLT5zaGFkb3dBbmNlc3Rv
ck5vZGUoKTsKKyAgICBtX3JlY3RCYXNlZFRlc3RSZXN1bHQuYWRkKG5vZGUpOworCisgICAgcmV0
dXJuICFyZWN0LmNvbnRhaW5zKHJlY3RGb3JQb2ludCh4LCB5KSk7Cit9CisKIHZvaWQgSGl0VGVz
dFJlc3VsdDo6YXBwZW5kKGNvbnN0IEhpdFRlc3RSZXN1bHQmIG90aGVyKQogewogICAgIEFTU0VS
VChpc1JlY3RCYXNlZFRlc3QoKSAmJiBvdGhlci5pc1JlY3RCYXNlZFRlc3QoKSk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgJKHJldmlzaW9uIDc4MzcxKQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAkod29ya2luZyBjb3B5
KQpAQCAtMjAsNiArMjAsNyBAQAogI2lmbmRlZiBIaXRUZXN0UmVzdWx0X2gKICNkZWZpbmUgSGl0
VGVzdFJlc3VsdF9oCiAKKyNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJJbnRQb2lu
dC5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCkBAIC0xMDks
NyArMTEwLDggQEAgcHVibGljOgogCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIGl0IGlzIHJlY3Qt
YmFzZWQgaGl0IHRlc3QgYW5kIG5lZWRzIHRvIGNvbnRpbnVlIHVudGlsIHRoZSByZWN0IGlzIGZ1
bGx5CiAgICAgLy8gZW5jbG9zZWQgYnkgdGhlIGJvdW5kYXJpZXMgb2YgYSBub2RlLgotICAgIGJv
b2wgYWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChOb2RlKiwgaW50IHgsIGludCB5LCBjb25z
dCBJbnRSZWN0JiByZWN0ID0gSW50UmVjdCgpKTsKKyAgICBib29sIGFkZE5vZGVUb1JlY3RCYXNl
ZFRlc3RSZXN1bHQoTm9kZSosIGludCB4LCBpbnQgeSwgY29uc3QgSW50UmVjdCYgPSBJbnRSZWN0
KCkpOworICAgIGJvb2wgYWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChOb2RlKiwgaW50IHgs
IGludCB5LCBjb25zdCBGbG9hdFJlY3QmKTsKICAgICBjb25zdCBMaXN0SGFzaFNldDxSZWZQdHI8
Tm9kZT4gPiYgcmVjdEJhc2VkVGVzdFJlc3VsdCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVjdEJhc2Vk
VGVzdFJlc3VsdDsgfQogICAgIHZvaWQgYXBwZW5kKGNvbnN0IEhpdFRlc3RSZXN1bHQmKTsKIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAJKHJldmlzaW9uIDc4Mzcx
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEwNiw3ICsxMDYsNyBAQCBpbnQgSW5saW5lQm94Ojpsb2dpY2FsSGVpZ2h0KCkgY29u
c3QKICAgICAgICAgcmVzdWx0ICs9IGZsb3dPYmplY3QtPmJvcmRlckFuZFBhZGRpbmdMb2dpY2Fs
SGVpZ2h0KCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQorIAogaW50IElubGluZUJveDo6Y2Fy
ZXRNaW5PZmZzZXQoKSBjb25zdCAKIHsgCiAgICAgcmV0dXJuIG1fcmVuZGVyZXItPmNhcmV0TWlu
T2Zmc2V0KCk7IApAQCAtMTUwLDE0ICsxNTAsMTIgQEAgdm9pZCBJbmxpbmVCb3g6OmF0dGFjaExp
bmUoKQogICAgICAgICB0b1JlbmRlckJveChtX3JlbmRlcmVyKS0+c2V0SW5saW5lQm94V3JhcHBl
cih0aGlzKTsKIH0KIAotdm9pZCBJbmxpbmVCb3g6OmFkanVzdFBvc2l0aW9uKGludCBkeCwgaW50
IGR5KQordm9pZCBJbmxpbmVCb3g6OmFkanVzdFBvc2l0aW9uKGZsb2F0IGR4LCBmbG9hdCBkeSkK
IHsKICAgICBtX3ggKz0gZHg7CiAgICAgbV95ICs9IGR5OwotICAgIGlmIChtX3JlbmRlcmVyLT5p
c1JlcGxhY2VkKCkpIHsKLSAgICAgICAgUmVuZGVyQm94KiBib3ggPSB0b1JlbmRlckJveChtX3Jl
bmRlcmVyKTsKLSAgICAgICAgYm94LT5tb3ZlKGR4LCBkeSk7Ci0gICAgfQorICAgIGlmIChtX3Jl
bmRlcmVyLT5pc1JlcGxhY2VkKCkpCisgICAgICAgIHRvUmVuZGVyQm94KG1fcmVuZGVyZXIpLT5w
b3NpdGlvbkxpbmVCb3godGhpcyk7CiB9CiAKIHZvaWQgSW5saW5lQm94OjpwYWludChQYWludElu
Zm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHkpCkBAIC0yNzgsMjEgKzI3NiwzNSBAQCBib29s
IElubGluZUJveDo6Y2FuQWNjb21tb2RhdGVFbGxpcHNpcyhiCiAgICAgcmV0dXJuICEoYm94UmVj
dC5pbnRlcnNlY3RzKGVsbGlwc2lzUmVjdCkpOwogfQogCi1pbnQgSW5saW5lQm94OjpwbGFjZUVs
bGlwc2lzQm94KGJvb2wsIGludCwgaW50LCBpbnQsIGJvb2wmKQorZmxvYXQgSW5saW5lQm94Ojpw
bGFjZUVsbGlwc2lzQm94KGJvb2wsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGJvb2wmKQogewogICAg
IC8vIFVzZSAtMSB0byBtZWFuICJ3ZSBkaWRuJ3Qgc2V0IHRoZSBwb3NpdGlvbi4iCiAgICAgcmV0
dXJuIC0xOwogfQogCi1JbnRQb2ludCBJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBp
bmcoKQorRmxvYXRQb2ludCBJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKQog
ewogICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01v
ZGUoKSkKLSAgICAgICAgcmV0dXJuIEludFBvaW50KHgoKSwgeSgpKTsKKyAgICAgICAgcmV0dXJu
IEZsb2F0UG9pbnQoeCgpLCB5KCkpOwogICAgIFJlbmRlckJsb2NrKiBibG9jayA9IHJvb3QoKS0+
YmxvY2soKTsKICAgICBpZiAoYmxvY2stPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCkpCi0gICAgICAgIHJldHVybiBJbnRQb2ludCh4KCksIGJsb2NrLT5oZWlnaHQoKSAtIGhlaWdo
dCgpIC0geSgpKTsKKyAgICAgICAgcmV0dXJuIEZsb2F0UG9pbnQoeCgpLCBibG9jay0+aGVpZ2h0
KCkgLSBoZWlnaHQoKSAtIHkoKSk7CiAgICAgZWxzZQotICAgICAgICByZXR1cm4gSW50UG9pbnQo
YmxvY2stPndpZHRoKCkgLSB3aWR0aCgpIC0geCgpLCB5KCkpOworICAgICAgICByZXR1cm4gRmxv
YXRQb2ludChibG9jay0+d2lkdGgoKSAtIHdpZHRoKCkgLSB4KCksIHkoKSk7Cit9CisKK3ZvaWQg
SW5saW5lQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoRmxvYXRSZWN0JiByZWN0KQoreworICAgIGlm
ICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKKyAg
ICAgICAgcmV0dXJuOworICAgIHJvb3QoKS0+YmxvY2soKS0+ZmxpcEZvcldyaXRpbmdNb2RlKHJl
Y3QpOworfQorCitGbG9hdFBvaW50IElubGluZUJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0
IEZsb2F0UG9pbnQmIHBvaW50KQoreworICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNG
bGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHBvaW50OworICAgIHJl
dHVybiByb290KCktPmJsb2NrKCktPmZsaXBGb3JXcml0aW5nTW9kZShwb2ludCk7CiB9CiAKIHZv
aWQgSW5saW5lQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoSW50UmVjdCYgcmVjdCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmgJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OCw3ICs2
OCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgSW5saW5lQm94KFJlbmRlck9iamVj
dCogb2JqLCBpbnQgeCwgaW50IHksIGludCBsb2dpY2FsV2lkdGgsIGJvb2wgZmlyc3RMaW5lLCBi
b29sIGNvbnN0cnVjdGVkLAorICAgIElubGluZUJveChSZW5kZXJPYmplY3QqIG9iaiwgZmxvYXQg
eCwgZmxvYXQgeSwgZmxvYXQgbG9naWNhbFdpZHRoLCBib29sIGZpcnN0TGluZSwgYm9vbCBjb25z
dHJ1Y3RlZCwKICAgICAgICAgICAgICAgYm9vbCBkaXJ0eSwgYm9vbCBleHRyYWN0ZWQsIGJvb2wg
aXNIb3Jpem9udGFsLCBJbmxpbmVCb3gqIG5leHQsIElubGluZUJveCogcHJldiwgSW5saW5lRmxv
d0JveCogcGFyZW50KQogICAgICAgICA6IG1fbmV4dChuZXh0KQogICAgICAgICAsIG1fcHJldihw
cmV2KQpAQCAtMTEyLDE1ICsxMTIsMTUgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlz
TGluZUJyZWFrKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBh
ZGp1c3RQb3NpdGlvbihpbnQgZHgsIGludCBkeSk7Ci0gICAgdm9pZCBhZGp1c3RMaW5lRGlyZWN0
aW9uUG9zaXRpb24oaW50IGRlbHRhKQorICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihm
bG9hdCBkeCwgZmxvYXQgZHkpOworICAgIHZvaWQgYWRqdXN0TGluZURpcmVjdGlvblBvc2l0aW9u
KGZsb2F0IGRlbHRhKQogICAgIHsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKQogICAgICAg
ICAgICAgYWRqdXN0UG9zaXRpb24oZGVsdGEsIDApOwogICAgICAgICBlbHNlCiAgICAgICAgICAg
ICBhZGp1c3RQb3NpdGlvbigwLCBkZWx0YSk7CiAgICAgfQotICAgIHZvaWQgYWRqdXN0QmxvY2tE
aXJlY3Rpb25Qb3NpdGlvbihpbnQgZGVsdGEpCisgICAgdm9pZCBhZGp1c3RCbG9ja0RpcmVjdGlv
blBvc2l0aW9uKGZsb2F0IGRlbHRhKQogICAgIHsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgp
KQogICAgICAgICAgICAgYWRqdXN0UG9zaXRpb24oMCwgZGVsdGEpOwpAQCAtMjIwLDI4ICsyMjAs
MjggQEAgcHVibGljOgogICAgIFJvb3RJbmxpbmVCb3gqIHJvb3QoKTsKIAogICAgIC8vIHgoKSBp
cyB0aGUgbGVmdCBzaWRlIG9mIHRoZSBib3ggaW4gdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBjb29y
ZGluYXRlIHN5c3RlbS4KLSAgICB2b2lkIHNldFgoaW50IHgpIHsgbV94ID0geDsgfQotICAgIGlu
dCB4KCkgY29uc3QgeyByZXR1cm4gbV94OyB9CisgICAgdm9pZCBzZXRYKGZsb2F0IHgpIHsgbV94
ID0geDsgfQorICAgIGZsb2F0IHgoKSBjb25zdCB7IHJldHVybiBtX3g7IH0KIAogICAgIC8vIHko
KSBpcyB0aGUgdG9wIHNpZGUgb2YgdGhlIGJveCBpbiB0aGUgY29udGFpbmluZyBibG9jaydzIGNv
b3JkaW5hdGUgc3lzdGVtLgotICAgIHZvaWQgc2V0WShpbnQgeSkgeyBtX3kgPSB5OyB9Ci0gICAg
aW50IHkoKSBjb25zdCB7IHJldHVybiBtX3k7IH0KKyAgICB2b2lkIHNldFkoZmxvYXQgeSkgeyBt
X3kgPSB5OyB9CisgICAgZmxvYXQgeSgpIGNvbnN0IHsgcmV0dXJuIG1feTsgfQogCi0gICAgaW50
IHdpZHRoKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsV2lkdGgoKSA6
IGxvZ2ljYWxIZWlnaHQoKTsgfQotICAgIGludCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBpc0hv
cml6b250YWwoKSA/IGxvZ2ljYWxIZWlnaHQoKSA6IGxvZ2ljYWxXaWR0aCgpOyB9Ci0KLSAgICBJ
bnRSZWN0IGZyYW1lUmVjdCgpIGNvbnN0IHsgcmV0dXJuIEludFJlY3QoeCgpLCB5KCksIHdpZHRo
KCksIGhlaWdodCgpKTsgfQorICAgIGZsb2F0IHdpZHRoKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jp
em9udGFsKCkgPyBsb2dpY2FsV2lkdGgoKSA6IGxvZ2ljYWxIZWlnaHQoKTsgfQorICAgIGZsb2F0
IGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbG9naWNhbEhlaWdodCgp
IDogbG9naWNhbFdpZHRoKCk7IH0KIAogICAgIC8vIFRoZSBsb2dpY2FsTGVmdCBwb3NpdGlvbiBp
cyB0aGUgbGVmdCBlZGdlIG9mIHRoZSBsaW5lIGJveCBpbiBhIGhvcml6b250YWwgbGluZSBhbmQg
dGhlIHRvcCBlZGdlIGluIGEgdmVydGljYWwgbGluZS4KLSAgICBpbnQgbG9naWNhbExlZnQoKSBj
b25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IG1feCA6IG1feTsgfQotICAgIGludCBsb2dp
Y2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNhbFdpZHRoKCk7
IH0KLSAgICB2b2lkIHNldExvZ2ljYWxMZWZ0KGludCBsZWZ0KQorICAgIGZsb2F0IGxvZ2ljYWxM
ZWZ0KCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBtX3ggOiBtX3k7IH0KKyAgICBm
bG9hdCBsb2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNh
bFdpZHRoKCk7IH0KKyAgICB2b2lkIHNldExvZ2ljYWxMZWZ0KGZsb2F0IGxlZnQpCiAgICAgewog
ICAgICAgICBpZiAoaXNIb3Jpem9udGFsKCkpCiAgICAgICAgICAgICBtX3ggPSBsZWZ0OwogICAg
ICAgICBlbHNlCiAgICAgICAgICAgICBtX3kgPSBsZWZ0OwogICAgIH0KKyAgICBpbnQgcGl4ZWxT
bmFwcGVkTG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpOyB9CisgICAg
aW50IHBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGNlaWxmKGxvZ2lj
YWxSaWdodCgpKTsgfQogCiAgICAgLy8gVGhlIGxvZ2ljYWxUb3BbIHBvc2l0aW9uIGlzIHRoZSB0
b3AgZWRnZSBvZiB0aGUgbGluZSBib3ggaW4gYSBob3Jpem9udGFsIGxpbmUgYW5kIHRoZSBsZWZ0
IGVkZ2UgaW4gYSB2ZXJ0aWNhbCBsaW5lLgogICAgIGludCBsb2dpY2FsVG9wKCkgY29uc3QgeyBy
ZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBtX3kgOiBtX3g7IH0KQEAgLTI1NSw4ICsyNTUsOCBAQCBw
dWJsaWM6CiAgICAgfQogCiAgICAgLy8gVGhlIGxvZ2ljYWwgd2lkdGggaXMgb3VyIGV4dGVudCBp
biB0aGUgbGluZSdzIG92ZXJhbGwgaW5saW5lIGRpcmVjdGlvbiwgaS5lLiwgd2lkdGggZm9yIGhv
cml6b250YWwgdGV4dCBhbmQgaGVpZ2h0IGZvciB2ZXJ0aWNhbCB0ZXh0LgotICAgIHZvaWQgc2V0
TG9naWNhbFdpZHRoKGludCB3KSB7IG1fbG9naWNhbFdpZHRoID0gdzsgfQotICAgIGludCBsb2dp
Y2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxXaWR0aDsgfQorICAgIHZvaWQgc2V0
TG9naWNhbFdpZHRoKGZsb2F0IHcpIHsgbV9sb2dpY2FsV2lkdGggPSB3OyB9CisgICAgZmxvYXQg
bG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9sb2dpY2FsV2lkdGg7IH0KIAogICAgIC8v
IFRoZSBsb2dpY2FsIGhlaWdodCBpcyBvdXIgZXh0ZW50IGluIHRoZSBibG9jayBmbG93IGRpcmVj
dGlvbiwgaS5lLiwgaGVpZ2h0IGZvciBob3Jpem9udGFsIHRleHQgYW5kIHdpZHRoIGZvciB2ZXJ0
aWNhbCB0ZXh0LgogICAgIGludCBsb2dpY2FsSGVpZ2h0KCkgY29uc3Q7CkBAIC0yODYsNyArMjg2
LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGNhbkFjY29tbW9kYXRlRWxsaXBzaXMo
Ym9vbCBsdHIsIGludCBibG9ja0VkZ2UsIGludCBlbGxpcHNpc1dpZHRoKTsKICAgICAvLyB2aXNp
YmxlTGVmdEVkZ2UsIHZpc2libGVSaWdodEVkZ2UgYXJlIGluIHRoZSBwYXJlbnQncyBjb29yZGlu
YXRlIHN5c3RlbS4KLSAgICB2aXJ0dWFsIGludCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBp
bnQgdmlzaWJsZUxlZnRFZGdlLCBpbnQgdmlzaWJsZVJpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lk
dGgsIGJvb2wmKTsKKyAgICB2aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIs
IGZsb2F0IHZpc2libGVMZWZ0RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwgZmxvYXQgZWxs
aXBzaXNXaWR0aCwgYm9vbCYpOwogCiAgICAgdm9pZCBzZXRIYXNCYWRQYXJlbnQoKTsKIApAQCAt
MzAyLDEwICszMDIsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAg
ICBJbnRQb2ludCBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgRmxvYXRQb2ludCBs
b2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgdm9pZCBmbGlwRm9yV3JpdGluZ01vZGUo
RmxvYXRSZWN0Jik7CisgICAgRmxvYXRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgRmxv
YXRQb2ludCYpOwogICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEludFJlY3QmKTsKICAgICBJ
bnRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgSW50UG9pbnQmKTsKLQorICAgIAogcHJp
dmF0ZToKICAgICBJbmxpbmVCb3gqIG1fbmV4dDsgLy8gVGhlIG5leHQgZWxlbWVudCBvbiB0aGUg
c2FtZSBsaW5lIGFzIHVzLgogICAgIElubGluZUJveCogbV9wcmV2OyAvLyBUaGUgcHJldmlvdXMg
ZWxlbWVudCBvbiB0aGUgc2FtZSBsaW5lIGFzIHVzLgpAQCAtMzE1LDkgKzMxNyw5IEBAIHByaXZh
dGU6CiBwdWJsaWM6CiAgICAgUmVuZGVyT2JqZWN0KiBtX3JlbmRlcmVyOwogCi0gICAgaW50IG1f
eDsKLSAgICBpbnQgbV95OwotICAgIGludCBtX2xvZ2ljYWxXaWR0aDsKKyAgICBmbG9hdCBtX3g7
CisgICAgZmxvYXQgbV95OworICAgIGZsb2F0IG1fbG9naWNhbFdpZHRoOwogICAgIAogICAgIC8v
IFNvbWUgb2YgdGhlc2UgYml0cyBhcmUgYWN0dWFsbHkgZm9yIHN1YmNsYXNzZXMgYW5kIG1vdmVk
IGhlcmUgdG8gY29tcGFjdCB0aGUgc3RydWN0dXJlcy4KIApJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY3
LDYgKzY3LDE4IEBAIGludCBJbmxpbmVGbG93Qm94OjpnZXRGbG93U3BhY2luZ0xvZ2ljYWwKICAg
ICByZXR1cm4gdG90V2lkdGg7CiB9CiAKK0ludFJlY3QgSW5saW5lRmxvd0JveDo6cGl4ZWxTbmFw
cGVkRnJhbWVSZWN0KCkgY29uc3QKK3sKKyAgICAvLyBCZWdpbiBieSBzbmFwcGluZyB0aGUgeCBh
bmQgeSBjb29yZGluYXRlcyB0byB0aGUgbmVhcmVzdCBwaXhlbC4KKyAgICBpbnQgc25hcHBlZFgg
PSBscm91bmRmKHgoKSk7CisgICAgaW50IHNuYXBwZWRZID0gbHJvdW5kZih5KCkpOworICAgIAor
ICAgIGludCBzbmFwcGVkTWF4WCA9IGxyb3VuZGYoeCgpICsgd2lkdGgoKSk7CisgICAgaW50IHNu
YXBwZWRNYXhZID0gbHJvdW5kZih5KCkgKyBoZWlnaHQoKSk7CisgICAgCisgICAgcmV0dXJuIElu
dFJlY3Qoc25hcHBlZFgsIHNuYXBwZWRZLCBzbmFwcGVkTWF4WCAtIHNuYXBwZWRYLCBzbmFwcGVk
TWF4WSAtIHNuYXBwZWRZKTsKK30KKwogdm9pZCBJbmxpbmVGbG93Qm94OjphZGRUb0xpbmUoSW5s
aW5lQm94KiBjaGlsZCkgCiB7CiAgICAgQVNTRVJUKCFjaGlsZC0+cGFyZW50KCkpOwpAQCAtMTY3
LDEzICsxNzksMTMgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjphdHRhY2hMaW5lQm94VG9SZW5kZQog
ICAgIHRvUmVuZGVySW5saW5lKHJlbmRlcmVyKCkpLT5saW5lQm94ZXMoKS0+YXR0YWNoTGluZUJv
eCh0aGlzKTsKIH0KIAotdm9pZCBJbmxpbmVGbG93Qm94OjphZGp1c3RQb3NpdGlvbihpbnQgZHgs
IGludCBkeSkKK3ZvaWQgSW5saW5lRmxvd0JveDo6YWRqdXN0UG9zaXRpb24oZmxvYXQgZHgsIGZs
b2F0IGR5KQogewogICAgIElubGluZUJveDo6YWRqdXN0UG9zaXRpb24oZHgsIGR5KTsKICAgICBm
b3IgKElubGluZUJveCogY2hpbGQgPSBmaXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxk
LT5uZXh0T25MaW5lKCkpCiAgICAgICAgIGNoaWxkLT5hZGp1c3RQb3NpdGlvbihkeCwgZHkpOwog
ICAgIGlmIChtX292ZXJmbG93KQotICAgICAgICBtX292ZXJmbG93LT5tb3ZlKGR4LCBkeSk7Cisg
ICAgICAgIG1fb3ZlcmZsb3ctPm1vdmUoZHgsIGR5KTsgLy8gRklYTUU6IFJvdW5kaW5nIGVycm9y
IGhlcmUgc2luY2Ugb3ZlcmZsb3cgd2FzIHBpeGVsIHNuYXBwZWQsIGJ1dCBub2JvZHkgb3RoZXIg
dGhhbiBsaXN0IG1hcmtlcnMgcGFzc2VzIG5vbi1pbnRlZ3JhbCB2YWx1ZXMgaGVyZS4KIH0KIAog
UmVuZGVyTGluZUJveExpc3QqIElubGluZUZsb3dCb3g6OnJlbmRlcmVyTGluZUJveGVzKCkgY29u
c3QKQEAgLTI1NSwxMiArMjY3LDEyIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6ZGV0ZXJtaW5lU3Bh
Y2luZ0ZvckYKICAgICB9CiB9CiAKLWludCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5Jbmxp
bmVEaXJlY3Rpb24oaW50IGxvZ2ljYWxMZWZ0LCBib29sJiBuZWVkc1dvcmRTcGFjaW5nLCBHbHlw
aE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYgdGV4dEJveERhdGFNYXApCitmbG9hdCBJbmxp
bmVGbG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVEaXJlY3Rpb24oZmxvYXQgbG9naWNhbExlZnQs
IGJvb2wmIG5lZWRzV29yZFNwYWNpbmcsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFw
JiB0ZXh0Qm94RGF0YU1hcCkKIHsKICAgICAvLyBTZXQgb3VyIHggcG9zaXRpb24uCiAgICAgc2V0
TG9naWNhbExlZnQobG9naWNhbExlZnQpOwogICAKLSAgICBpbnQgc3RhcnRMb2dpY2FsTGVmdCA9
IGxvZ2ljYWxMZWZ0OworICAgIGZsb2F0IHN0YXJ0TG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdDsK
ICAgICBsb2dpY2FsTGVmdCArPSBib3JkZXJMb2dpY2FsTGVmdCgpICsgcGFkZGluZ0xvZ2ljYWxM
ZWZ0KCk7CiAgICAgCiAgICAgZm9yIChJbmxpbmVCb3gqIGN1cnIgPSBmaXJzdENoaWxkKCk7IGN1
cnI7IGN1cnIgPSBjdXJyLT5uZXh0T25MaW5lKCkpIHsKQEAgLTcyNCw4ICs3MzYsOCBAQCB2b2lk
IElubGluZUZsb3dCb3g6OmFkZEJveFNoYWRvd1Zpc3VhbE92CiAgICAgaW50IGJveFNoYWRvd0xv
Z2ljYWxSaWdodDsKICAgICByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmdldEJveFNo
YWRvd0lubGluZURpcmVjdGlvbkV4dGVudChib3hTaGFkb3dMb2dpY2FsTGVmdCwgYm94U2hhZG93
TG9naWNhbFJpZ2h0KTsKIAotICAgIGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93ID0gbWlu
KGxvZ2ljYWxMZWZ0KCkgKyBib3hTaGFkb3dMb2dpY2FsTGVmdCwgbG9naWNhbFZpc3VhbE92ZXJm
bG93LngoKSk7Ci0gICAgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbWF4KGxvZ2lj
YWxSaWdodCgpICsgYm94U2hhZG93TG9naWNhbFJpZ2h0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cu
bWF4WCgpKTsKKyAgICBpbnQgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9IG1pbihwaXhlbFNu
YXBwZWRMb2dpY2FsTGVmdCgpICsgYm94U2hhZG93TG9naWNhbExlZnQsIGxvZ2ljYWxWaXN1YWxP
dmVyZmxvdy54KCkpOworICAgIGludCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1heChw
aXhlbFNuYXBwZWRMb2dpY2FsUmlnaHQoKSArIGJveFNoYWRvd0xvZ2ljYWxSaWdodCwgbG9naWNh
bFZpc3VhbE92ZXJmbG93Lm1heFgoKSk7CiAgICAgCiAgICAgbG9naWNhbFZpc3VhbE92ZXJmbG93
ID0gSW50UmVjdChsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsVG9wVmlzdWFsT3Zl
cmZsb3csCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRW
aXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGxvZ2ljYWxCb3R0b21W
aXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyk7CkBAIC03ODEsOCArNzkz
LDggQEAgdm9pZCBJbmxpbmVGbG93Qm94OjphZGRUZXh0Qm94VmlzdWFsT3ZlcgogCiAgICAgaW50
IGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyA9IG1pbih0ZXh0Qm94LT5sb2dpY2FsVG9wKCkgKyBj
aGlsZE92ZXJmbG93TG9naWNhbFRvcCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LnkoKSk7CiAgICAg
aW50IGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdyA9IG1heCh0ZXh0Qm94LT5sb2dpY2FsQm90
dG9tKCkgKyBjaGlsZE92ZXJmbG93TG9naWNhbEJvdHRvbSwgbG9naWNhbFZpc3VhbE92ZXJmbG93
Lm1heFkoKSk7Ci0gICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4odGV4dEJv
eC0+bG9naWNhbExlZnQoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsTGVmdCwgbG9naWNhbFZpc3Vh
bE92ZXJmbG93LngoKSk7Ci0gICAgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbWF4
KHRleHRCb3gtPmxvZ2ljYWxSaWdodCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxSaWdodCwgbG9n
aWNhbFZpc3VhbE92ZXJmbG93Lm1heFgoKSk7CisgICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFsT3Zl
cmZsb3cgPSBtaW4odGV4dEJveC0+cGl4ZWxTbmFwcGVkTG9naWNhbExlZnQoKSArIGNoaWxkT3Zl
cmZsb3dMb2dpY2FsTGVmdCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LngoKSk7CisgICAgaW50IGxv
Z2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbWF4KHRleHRCb3gtPnBpeGVsU25hcHBlZExvZ2lj
YWxSaWdodCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxSaWdodCwgbG9naWNhbFZpc3VhbE92ZXJm
bG93Lm1heFgoKSk7CiAgICAgCiAgICAgbG9naWNhbFZpc3VhbE92ZXJmbG93ID0gSW50UmVjdChs
b2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3csCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxv
dyAtIGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxv
dyAtIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyk7CkBAIC04NjQsNyArODc2LDcgQEAgdm9pZCBJ
bmxpbmVGbG93Qm94Ojpjb21wdXRlT3ZlcmZsb3coaW50IAogLy8gYWxsIGZ1bmN0aW9ucyB0aGF0
IHF1ZXJ5IG92ZXJmbG93LiAgIAogdm9pZCBJbmxpbmVGbG93Qm94OjpzZXRMYXlvdXRPdmVyZmxv
dyhjb25zdCBJbnRSZWN0JiByZWN0KQogewotICAgIEludFJlY3QgZnJhbWVCb3ggPSBmcmFtZVJl
Y3QoKTsKKyAgICBJbnRSZWN0IGZyYW1lQm94ID0gcGl4ZWxTbmFwcGVkRnJhbWVSZWN0KCk7CiAg
ICAgaWYgKGZyYW1lQm94ID09IHJlY3QgfHwgcmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVy
bjsKICAgICAgICAgCkBAIC04NzYsNyArODg4LDcgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpzZXRM
YXlvdXRPdmVyZmxvdyhjbwogCiB2b2lkIElubGluZUZsb3dCb3g6OnNldFZpc3VhbE92ZXJmbG93
KGNvbnN0IEludFJlY3QmIHJlY3QpCiB7Ci0gICAgSW50UmVjdCBmcmFtZUJveCA9IGZyYW1lUmVj
dCgpOworICAgIEludFJlY3QgZnJhbWVCb3ggPSBwaXhlbFNuYXBwZWRGcmFtZVJlY3QoKTsKICAg
ICBpZiAoZnJhbWVCb3ggPT0gcmVjdCB8fCByZWN0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJu
OwogICAgICAgICAKQEAgLTkxMiw5ICs5MjQsOSBAQCBib29sIElubGluZUZsb3dCb3g6Om5vZGVB
dFBvaW50KGNvbnN0IEhpCiAgICAgfQogCiAgICAgLy8gTm93IGNoZWNrIG91cnNlbHZlcy4KLSAg
ICBJbnRQb2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAg
RmxvYXRQb2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CiAgICAg
Ym94T3JpZ2luLm1vdmUodHgsIHR5KTsKLSAgICBJbnRSZWN0IHJlY3QoYm94T3JpZ2luLCBJbnRT
aXplKHdpZHRoKCksIGhlaWdodCgpKSk7CisgICAgRmxvYXRSZWN0IHJlY3QoYm94T3JpZ2luLCBJ
bnRTaXplKHdpZHRoKCksIGhlaWdodCgpKSk7CiAgICAgaWYgKHZpc2libGVUb0hpdFRlc3Rpbmco
KSAmJiByZWN0LmludGVyc2VjdHMocmVzdWx0LnJlY3RGb3JQb2ludCh4LCB5KSkpIHsKICAgICAg
ICAgcmVuZGVyZXIoKS0+dXBkYXRlSGl0VGVzdFJlc3VsdChyZXN1bHQsIGZsaXBGb3JXcml0aW5n
TW9kZShJbnRQb2ludCh4IC0gdHgsIHkgLSB0eSkpKTsgLy8gRG9uJ3QgYWRkIGluIG1feCBvciBt
X3kgaGVyZSwgd2Ugd2FudCBjb29yZHMgaW4gdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBzcGFjZS4K
ICAgICAgICAgaWYgKCFyZXN1bHQuYWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChyZW5kZXJl
cigpLT5ub2RlKCksIHgsIHksIHJlY3QpKQpAQCAtMTA0MywxMCArMTA1NSwxMiBAQCB2b2lkIElu
bGluZUZsb3dCb3g6OnBhaW50Qm94RGVjb3JhdGlvbnMoCiAgICAgaWYgKCFwYWludEluZm8uc2hv
dWxkUGFpbnRXaXRoaW5Sb290KHJlbmRlcmVyKCkpIHx8IHJlbmRlcmVyKCktPnN0eWxlKCktPnZp
c2liaWxpdHkoKSAhPSBWSVNJQkxFIHx8IHBhaW50SW5mby5waGFzZSAhPSBQYWludFBoYXNlRm9y
ZWdyb3VuZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaW50IHggPSBtX3g7Ci0gICAgaW50IHkg
PSBtX3k7Ci0gICAgaW50IHcgPSB3aWR0aCgpOwotICAgIGludCBoID0gaGVpZ2h0KCk7CisgICAg
Ly8gUGl4ZWwgc25hcCBiYWNrZ3JvdW5kL2JvcmRlciBwYWludGluZy4KKyAgICBJbnRSZWN0IGZy
YW1lUmVjdCA9IHBpeGVsU25hcHBlZEZyYW1lUmVjdCgpOworICAgIGludCB4ID0gZnJhbWVSZWN0
LngoKTsKKyAgICBpbnQgeSA9IGZyYW1lUmVjdC55KCk7CisgICAgaW50IHcgPSBmcmFtZVJlY3Qu
d2lkdGgoKTsKKyAgICBpbnQgaCA9IGZyYW1lUmVjdC5oZWlnaHQoKTsKIAogICAgIC8vIENvbnN0
cmFpbiBvdXIgYmFja2dyb3VuZC9ib3JkZXIgcGFpbnRpbmcgdG8gdGhlIGxpbmUgdG9wIGFuZCBi
b3R0b20gaWYgbmVjZXNzYXJ5LgogICAgIGJvb2wgbm9RdWlya3NNb2RlID0gcmVuZGVyZXIoKS0+
ZG9jdW1lbnQoKS0+aW5Ob1F1aXJrc01vZGUoKTsKQEAgLTExMjYsMTAgKzExNDAsMTIgQEAgdm9p
ZCBJbmxpbmVGbG93Qm94OjpwYWludE1hc2soUGFpbnRJbmZvJgogICAgIGlmICghcGFpbnRJbmZv
LnNob3VsZFBhaW50V2l0aGluUm9vdChyZW5kZXJlcigpKSB8fCByZW5kZXJlcigpLT5zdHlsZSgp
LT52aXNpYmlsaXR5KCkgIT0gVklTSUJMRSB8fCBwYWludEluZm8ucGhhc2UgIT0gUGFpbnRQaGFz
ZU1hc2spCiAgICAgICAgIHJldHVybjsKIAotICAgIGludCB4ID0gbV94OwotICAgIGludCB5ID0g
bV95OwotICAgIGludCB3ID0gd2lkdGgoKTsKLSAgICBpbnQgaCA9IGhlaWdodCgpOworICAgIC8v
IFBpeGVsIHNuYXAgbWFzayBwYWludGluZy4KKyAgICBJbnRSZWN0IGZyYW1lUmVjdCA9IHBpeGVs
U25hcHBlZEZyYW1lUmVjdCgpOworICAgIGludCB4ID0gZnJhbWVSZWN0LngoKTsKKyAgICBpbnQg
eSA9IGZyYW1lUmVjdC55KCk7CisgICAgaW50IHcgPSBmcmFtZVJlY3Qud2lkdGgoKTsKKyAgICBp
bnQgaCA9IGZyYW1lUmVjdC5oZWlnaHQoKTsKIAogICAgIC8vIENvbnN0cmFpbiBvdXIgYmFja2dy
b3VuZC9ib3JkZXIgcGFpbnRpbmcgdG8gdGhlIGxpbmUgdG9wIGFuZCBib3R0b20gaWYgbmVjZXNz
YXJ5LgogICAgIGJvb2wgbm9RdWlya3NNb2RlID0gcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+aW5O
b1F1aXJrc01vZGUoKTsKQEAgLTEyMzAsMTQgKzEyNDYsMTQgQEAgYm9vbCBJbmxpbmVGbG93Qm94
OjpjYW5BY2NvbW1vZGF0ZUVsbGlwcwogICAgIHJldHVybiB0cnVlOwogfQogCi1pbnQgSW5saW5l
Rmxvd0JveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGlu
dCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KQorZmxv
YXQgSW5saW5lRmxvd0JveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgZmxvYXQgYmxvY2tM
ZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wm
IGZvdW5kQm94KQogewotICAgIGludCByZXN1bHQgPSAtMTsKKyAgICBmbG9hdCByZXN1bHQgPSAt
MTsKICAgICAvLyBXZSBpdGVyYXRlIG92ZXIgYWxsIGNoaWxkcmVuLCB0aGUgZm91bmRCb3ggdmFy
aWFibGUgdGVsbHMgdXMgd2hlbiB3ZSd2ZSBmb3VuZCB0aGUKICAgICAvLyBib3ggY29udGFpbmlu
ZyB0aGUgZWxsaXBzaXMuICBBbGwgYm94ZXMgYWZ0ZXIgdGhhdCBvbmUgaW4gdGhlIGZsb3cgYXJl
IGhpZGRlbi4KICAgICAvLyBJZiBvdXIgZmxvdyBpcyBsdHIgdGhlbiBpdGVyYXRlIG92ZXIgdGhl
IGJveGVzIGZyb20gbGVmdCB0byByaWdodCwgb3RoZXJ3aXNlIGl0ZXJhdGUKICAgICAvLyBmcm9t
IHJpZ2h0IHRvIGxlZnQuIFZhcnlpbmcgdGhlIG9yZGVyIGFsbG93cyB1cyB0byBjb3JyZWN0bHkg
aGlkZSB0aGUgYm94ZXMgZm9sbG93aW5nIHRoZSBlbGxpcHNpcy4KLSAgICBJbmxpbmVCb3ggKmJv
eCA9IGx0ciA/IGZpcnN0Q2hpbGQoKSA6IGxhc3RDaGlsZCgpOworICAgIElubGluZUJveCogYm94
ID0gbHRyID8gZmlyc3RDaGlsZCgpIDogbGFzdENoaWxkKCk7CiAKICAgICAvLyBOT1RFOiB0aGVz
ZSB3aWxsIGNyb3NzIGFmdGVyIGZvdW5kQm94ID0gdHJ1ZS4KICAgICBpbnQgdmlzaWJsZUxlZnRF
ZGdlID0gYmxvY2tMZWZ0RWRnZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVGbG93Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGlu
ZUZsb3dCb3guaAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SW5saW5lRmxvd0JveC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NSw3ICs4NSw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlTGluZShSZW5kZXJBcmVuYSopOwogICAgIHZpcnR1YWwg
dm9pZCBleHRyYWN0TGluZSgpOwogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hMaW5lKCk7Ci0gICAg
dmlydHVhbCB2b2lkIGFkanVzdFBvc2l0aW9uKGludCBkeCwgaW50IGR5KTsKKyAgICB2aXJ0dWFs
IHZvaWQgYWRqdXN0UG9zaXRpb24oZmxvYXQgZHgsIGZsb2F0IGR5KTsKIAogICAgIHZpcnR1YWwg
dm9pZCBleHRyYWN0TGluZUJveEZyb21SZW5kZXJPYmplY3QoKTsKICAgICB2aXJ0dWFsIHZvaWQg
YXR0YWNoTGluZUJveFRvUmVuZGVyT2JqZWN0KCk7CkBAIC05Myw2ICs5Myw4IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgdm9pZCBjbGVhclRydW5jYXRpb24oKTsKIAorICAgIEludFJlY3QgcGl4
ZWxTbmFwcGVkRnJhbWVSZWN0KCkgY29uc3Q7CisgICAgCiAgICAgdmlydHVhbCB2b2lkIHBhaW50
Qm94RGVjb3JhdGlvbnMoUGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOwogICAgIHZpcnR1YWwg
dm9pZCBwYWludE1hc2soUGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOwogICAgIHZvaWQgcGFp
bnRGaWxsTGF5ZXJzKGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IENvbG9yJiwgY29uc3QgRmlsbExh
eWVyKiwgaW50IHR4LCBpbnQgdHksIGludCB3LCBpbnQgaCwgQ29tcG9zaXRlT3BlcmF0b3IgPSBD
b21wb3NpdGVTb3VyY2VPdmVyKTsKQEAgLTE1NSw3ICsxNTcsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBkZXRlcm1pbmVTcGFjaW5nRm9yRmxvd0JveGVzKGJvb2wgbGFzdExpbmUsIFJlbmRlck9iamVj
dCogZW5kT2JqZWN0KTsKICAgICBpbnQgZ2V0Rmxvd1NwYWNpbmdMb2dpY2FsV2lkdGgoKTsKICAg
ICBib29sIG9uRW5kQ2hhaW4oUmVuZGVyT2JqZWN0KiBlbmRPYmplY3QpOwotICAgIGludCBwbGFj
ZUJveGVzSW5JbmxpbmVEaXJlY3Rpb24oaW50IGxvZ2ljYWxMZWZ0LCBib29sJiBuZWVkc1dvcmRT
cGFjaW5nLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYpOworICAgIGZsb2F0IHBs
YWNlQm94ZXNJbklubGluZURpcmVjdGlvbihmbG9hdCBsb2dpY2FsTGVmdCwgYm9vbCYgbmVlZHNX
b3JkU3BhY2luZywgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmKTsKICAgICB2b2lk
IGNvbXB1dGVMb2dpY2FsQm94SGVpZ2h0cyhpbnQmIG1heFBvc2l0aW9uVG9wLCBpbnQmIG1heFBv
c2l0aW9uQm90dG9tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgbWF4
QXNjZW50LCBpbnQmIG1heERlc2NlbnQsIGJvb2wmIHNldE1heEFzY2VudCwgYm9vbCYgc2V0TWF4
RGVzY2VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHN0cmljdE1v
ZGUsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJiwgRm9udEJhc2VsaW5lLCBWZXJ0
aWNhbFBvc2l0aW9uQ2FjaGUmKTsKQEAgLTE3Niw3ICsxNzgsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBSZW5kZXJPYmplY3Q6OlNlbGVjdGlvblN0YXRlIHNlbGVjdGlvblN0YXRlKCk7CiAKICAg
ICB2aXJ0dWFsIGJvb2wgY2FuQWNjb21tb2RhdGVFbGxpcHNpcyhib29sIGx0ciwgaW50IGJsb2Nr
RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgpOwotICAgIHZpcnR1YWwgaW50IHBsYWNlRWxsaXBzaXNC
b3goYm9vbCBsdHIsIGludCBibG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGludCBl
bGxpcHNpc1dpZHRoLCBib29sJik7CisgICAgdmlydHVhbCBmbG9hdCBwbGFjZUVsbGlwc2lzQm94
KGJvb2wgbHRyLCBmbG9hdCBibG9ja0xlZnRFZGdlLCBmbG9hdCBibG9ja1JpZ2h0RWRnZSwgZmxv
YXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYpOwogCiAgICAgYm9vbCBoYXNUZXh0Q2hpbGRyZW4oKSBj
b25zdCB7IHJldHVybiBtX2hhc1RleHRDaGlsZHJlbjsgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjAxLDcgKzIwMSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6YXR0YWNoTGluZSgpCiAgICAgdG9S
ZW5kZXJUZXh0KHJlbmRlcmVyKCkpLT5hdHRhY2hUZXh0Qm94KHRoaXMpOwogfQogCi1pbnQgSW5s
aW5lVGV4dEJveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGZsb3dJc0xUUiwgaW50IHZpc2libGVM
ZWZ0RWRnZSwgaW50IHZpc2libGVSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBib29sJiBm
b3VuZEJveCkKK2Zsb2F0IElubGluZVRleHRCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCBmbG93
SXNMVFIsIGZsb2F0IHZpc2libGVMZWZ0RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwgZmxv
YXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpCiB7CiAgICAgaWYgKGZvdW5kQm94KSB7
CiAgICAgICAgIG1fdHJ1bmNhdGlvbiA9IGNGdWxsVHJ1bmNhdGlvbjsKQEAgLTIwOSw3ICsyMDks
NyBAQCBpbnQgSW5saW5lVGV4dEJveDo6cGxhY2VFbGxpcHNpc0JveChib29sCiAgICAgfQogCiAg
ICAgLy8gRm9yIExUUiB0aGlzIGlzIHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlIGJveCwgZm9yIFJUTCwg
dGhlIHJpZ2h0IGVkZ2UgaW4gcGFyZW50IGNvb3JkaW5hdGVzLgotICAgIGludCBlbGxpcHNpc1gg
PSBmbG93SXNMVFIgPyB2aXNpYmxlUmlnaHRFZGdlIC0gZWxsaXBzaXNXaWR0aCA6IHZpc2libGVM
ZWZ0RWRnZSArIGVsbGlwc2lzV2lkdGg7CisgICAgZmxvYXQgZWxsaXBzaXNYID0gZmxvd0lzTFRS
ID8gdmlzaWJsZVJpZ2h0RWRnZSAtIGVsbGlwc2lzV2lkdGggOiB2aXNpYmxlTGVmdEVkZ2UgKyBl
bGxpcHNpc1dpZHRoOwogICAgIAogICAgIC8vIENyaXRlcmlhIGZvciBmdWxsIHRydW5jYXRpb246
CiAgICAgLy8gTFRSOiB0aGUgbGVmdCBlZGdlIG9mIHRoZSBlbGxpcHNpcyBpcyB0byB0aGUgbGVm
dCBvZiBvdXIgdGV4dCBydW4uCkBAIC0yNTEsNyArMjUxLDcgQEAgaW50IElubGluZVRleHRCb3g6
OnBsYWNlRWxsaXBzaXNCb3goYm9vbAogCiAgICAgICAgIC8vIElmIHdlIGdvdCBoZXJlIHRoYXQg
bWVhbnMgdGhhdCB3ZSB3ZXJlIG9ubHkgcGFydGlhbGx5IHRydW5jYXRlZCBhbmQgd2UgbmVlZCB0
byByZXR1cm4gdGhlIHBpeGVsIG9mZnNldCBhdCB3aGljaAogICAgICAgICAvLyB0byBwbGFjZSB0
aGUgZWxsaXBzaXMuCi0gICAgICAgIGludCB3aWR0aE9mVmlzaWJsZVRleHQgPSB0b1JlbmRlclRl
eHQocmVuZGVyZXIoKSktPndpZHRoKG1fc3RhcnQsIG9mZnNldCwgdGV4dFBvcygpLCBtX2ZpcnN0
TGluZSk7CisgICAgICAgIGZsb2F0IHdpZHRoT2ZWaXNpYmxlVGV4dCA9IHRvUmVuZGVyVGV4dChy
ZW5kZXJlcigpKS0+d2lkdGgobV9zdGFydCwgb2Zmc2V0LCB0ZXh0UG9zKCksIG1fZmlyc3RMaW5l
KTsKIAogICAgICAgICAvLyBUaGUgZWxsaXBzaXMgbmVlZHMgdG8gYmUgcGxhY2VkIGp1c3QgYWZ0
ZXIgdGhlIGxhc3QgdmlzaWJsZSBjaGFyYWN0ZXIuCiAgICAgICAgIC8vIFdoZXJlICJhZnRlciIg
aXMgZGVmaW5lZCBieSB0aGUgZmxvdyBkaXJlY3Rpb25hbGl0eSwgbm90IHRoZSBpbmxpbmUKQEAg
LTMxOSw5ICszMTksOSBAQCBib29sIElubGluZVRleHRCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhp
CiAgICAgaWYgKGlzTGluZUJyZWFrKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIElu
dFBvaW50IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKKyAgICBGbG9h
dFBvaW50IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKICAgICBib3hP
cmlnaW4ubW92ZSh0eCwgdHkpOwotICAgIEludFJlY3QgcmVjdChib3hPcmlnaW4sIEludFNpemUo
d2lkdGgoKSwgaGVpZ2h0KCkpKTsKKyAgICBGbG9hdFJlY3QgcmVjdChib3hPcmlnaW4sIEludFNp
emUod2lkdGgoKSwgaGVpZ2h0KCkpKTsKICAgICBpZiAobV90cnVuY2F0aW9uICE9IGNGdWxsVHJ1
bmNhdGlvbiAmJiB2aXNpYmxlVG9IaXRUZXN0aW5nKCkgJiYgcmVjdC5pbnRlcnNlY3RzKHJlc3Vs
dC5yZWN0Rm9yUG9pbnQoeCwgeSkpKSB7CiAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUhpdFRl
c3RSZXN1bHQocmVzdWx0LCBmbGlwRm9yV3JpdGluZ01vZGUoSW50UG9pbnQoeCAtIHR4LCB5IC0g
dHkpKSk7CiAgICAgICAgIGlmICghcmVzdWx0LmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQo
cmVuZGVyZXIoKS0+bm9kZSgpLCB4LCB5LCByZWN0KSkKQEAgLTM1Nyw4ICszNTcsOCBAQCBGbG9h
dFNpemUgSW5saW5lVGV4dEJveDo6YXBwbHlTaGFkb3dUb0dyCiAgICAgcmV0dXJuIGV4dHJhT2Zm
c2V0OwogfQogCi1zdGF0aWMgdm9pZCBwYWludFRleHRXaXRoU2hhZG93cyhHcmFwaGljc0NvbnRl
eHQqIGNvbnRleHQsIGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHRleHRSdW4sIGNv
bnN0IEF0b21pY1N0cmluZyYgZW1waGFzaXNNYXJrLCBpbnQgZW1waGFzaXNNYXJrT2Zmc2V0LCBp
bnQgc3RhcnRPZmZzZXQsIGludCBlbmRPZmZzZXQsIGludCB0cnVuY2F0aW9uUG9pbnQsIGNvbnN0
IEludFBvaW50JiB0ZXh0T3JpZ2luLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgSW50UmVjdCYgYm94UmVjdCwgY29uc3QgU2hhZG93RGF0YSogc2hhZG93LCBib29sIHN0
cm9rZWQsIGJvb2wgaG9yaXpvbnRhbCkKK3N0YXRpYyB2b2lkIHBhaW50VGV4dFdpdGhTaGFkb3dz
KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1
biYgdGV4dFJ1biwgY29uc3QgQXRvbWljU3RyaW5nJiBlbXBoYXNpc01hcmssIGludCBlbXBoYXNp
c01hcmtPZmZzZXQsIGludCBzdGFydE9mZnNldCwgaW50IGVuZE9mZnNldCwgaW50IHRydW5jYXRp
b25Qb2ludCwgY29uc3QgRmxvYXRQb2ludCYgdGV4dE9yaWdpbiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IEZsb2F0UmVjdCYgYm94UmVjdCwgY29uc3QgU2hhZG93RGF0
YSogc2hhZG93LCBib29sIHN0cm9rZWQsIGJvb2wgaG9yaXpvbnRhbCkKIHsKICAgICBDb2xvciBm
aWxsQ29sb3IgPSBjb250ZXh0LT5maWxsQ29sb3IoKTsKICAgICBDb2xvclNwYWNlIGZpbGxDb2xv
clNwYWNlID0gY29udGV4dC0+ZmlsbENvbG9yU3BhY2UoKTsKQEAgLTQ4MiwxMCArNDgyLDEwIEBA
IHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnQoUGFpbnRJbmZvJiBwYWkKICAgICAKICAgICB0eSAt
PSBzdHlsZVRvVXNlLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gMCA6IGxvZ2ljYWxIZWln
aHQoKTsKIAotICAgIEludFBvaW50IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBp
bmcoKTsKKyAgICBGbG9hdFBvaW50IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBp
bmcoKTsKICAgICBib3hPcmlnaW4ubW92ZSh0eCwgdHkpOyAgICAKLSAgICBJbnRSZWN0IGJveFJl
Y3QoYm94T3JpZ2luLCBJbnRTaXplKGxvZ2ljYWxXaWR0aCgpLCBsb2dpY2FsSGVpZ2h0KCkpKTsK
LSAgICBJbnRQb2ludCB0ZXh0T3JpZ2luID0gSW50UG9pbnQoYm94T3JpZ2luLngoKSwgYm94T3Jp
Z2luLnkoKSArIHN0eWxlVG9Vc2UtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOworICAgIEZsb2F0
UmVjdCBib3hSZWN0KGJveE9yaWdpbiwgSW50U2l6ZShsb2dpY2FsV2lkdGgoKSwgbG9naWNhbEhl
aWdodCgpKSk7CisgICAgRmxvYXRQb2ludCB0ZXh0T3JpZ2luID0gRmxvYXRQb2ludChib3hPcmln
aW4ueCgpLCBib3hPcmlnaW4ueSgpICsgc3R5bGVUb1VzZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQo
KSk7CiAKICAgICBSZW5kZXJDb21iaW5lVGV4dCogY29tYmluZWRUZXh0ID0gc3R5bGVUb1VzZS0+
aGFzVGV4dENvbWJpbmUoKSA/IHRvUmVuZGVyQ29tYmluZVRleHQodGV4dFJlbmRlcmVyKCkpIDog
MDsKICAgICBib29sIHNob3VsZFJvdGF0ZSA9ICFpc0hvcml6b250YWwoKSAmJiAoIWNvbWJpbmVk
VGV4dCB8fCAhY29tYmluZWRUZXh0LT5pc0NvbWJpbmVkKCkpOwpAQCAtNzM2LDcgKzczNiw3IEBA
IHZvaWQgSW5saW5lVGV4dEJveDo6c2VsZWN0aW9uU3RhcnRFbmQoaW4KICAgICBlUG9zID0gbWlu
KGVuZFBvcyAtIG1fc3RhcnQsIChpbnQpbV9sZW4pOwogfQogCi12b2lkIElubGluZVRleHRCb3g6
OnBhaW50U2VsZWN0aW9uKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UG9pbnQm
IGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250KQordm9pZCBJ
bmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlvbihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250
JiBmb250KQogewogICAgIC8vIFNlZSBpZiB3ZSBoYXZlIGEgc2VsZWN0aW9uIHRvIHBhaW50IGF0
IGFsbC4KICAgICBpbnQgc1BvcywgZVBvczsKQEAgLTc3MCwxNSArNzcwLDE1IEBAIHZvaWQgSW5s
aW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb24oR3JhcGgKIAogICAgIGludCBkZWx0YVkgPSByZW5k
ZXJlcigpLT5zdHlsZSgpLT5pc0ZsaXBwZWRMaW5lc1dyaXRpbmdNb2RlKCkgPyBzZWxlY3Rpb25C
b3R0b20oKSAtIGxvZ2ljYWxCb3R0b20oKSA6IGxvZ2ljYWxUb3AoKSAtIHNlbGVjdGlvblRvcCgp
OwogICAgIGludCBzZWxIZWlnaHQgPSBzZWxlY3Rpb25IZWlnaHQoKTsKLSAgICBJbnRQb2ludCBs
b2NhbE9yaWdpbihib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKLSAgICBj
b250ZXh0LT5jbGlwKEludFJlY3QobG9jYWxPcmlnaW4sIEludFNpemUobV9sb2dpY2FsV2lkdGgs
IHNlbEhlaWdodCkpKTsKKyAgICBGbG9hdFBvaW50IGxvY2FsT3JpZ2luKGJveE9yaWdpbi54KCks
IGJveE9yaWdpbi55KCkgLSBkZWx0YVkpOworICAgIGNvbnRleHQtPmNsaXAoRmxvYXRSZWN0KGxv
Y2FsT3JpZ2luLCBGbG9hdFNpemUobV9sb2dpY2FsV2lkdGgsIHNlbEhlaWdodCkpKTsKICAgICBj
b250ZXh0LT5kcmF3SGlnaGxpZ2h0Rm9yVGV4dChmb250LCBUZXh0UnVuKGNoYXJhY3RlcnMsIGxl
bmd0aCwgdGV4dFJlbmRlcmVyKCktPmFsbG93VGFicygpLCB0ZXh0UG9zKCksIG1fZXhwYW5zaW9u
LCB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yKCksIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIG1fZGlyT3ZlcnJpZGUgfHwgc3R5
bGUtPnZpc3VhbGx5T3JkZXJlZCgpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBsb2NhbE9yaWdpbiwgc2VsSGVpZ2h0LCBjLCBzdHlsZS0+Y29sb3JTcGFjZSgpLCBzUG9zLCBl
UG9zKTsKICAgICBjb250ZXh0LT5yZXN0b3JlKCk7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6
cGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25z
dCBJbnRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZv
bnQsIGludCBzdGFydFBvcywgaW50IGVuZFBvcykKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRD
b21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9h
dFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwg
aW50IHN0YXJ0UG9zLCBpbnQgZW5kUG9zKQogewogICAgIGludCBvZmZzZXQgPSBtX3N0YXJ0Owog
ICAgIGludCBzUG9zID0gbWF4KHN0YXJ0UG9zIC0gb2Zmc2V0LCAwKTsKQEAgLTc5NSw3ICs3OTUs
NyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25CYWNrCiAKICAgICBpbnQg
ZGVsdGFZID0gcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkTGluZXNXcml0aW5nTW9kZSgp
ID8gc2VsZWN0aW9uQm90dG9tKCkgLSBsb2dpY2FsQm90dG9tKCkgOiBsb2dpY2FsVG9wKCkgLSBz
ZWxlY3Rpb25Ub3AoKTsKICAgICBpbnQgc2VsSGVpZ2h0ID0gc2VsZWN0aW9uSGVpZ2h0KCk7Ci0g
ICAgSW50UG9pbnQgbG9jYWxPcmlnaW4oYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRl
bHRhWSk7CisgICAgRmxvYXRQb2ludCBsb2NhbE9yaWdpbihib3hPcmlnaW4ueCgpLCBib3hPcmln
aW4ueSgpIC0gZGVsdGFZKTsKICAgICBjb250ZXh0LT5kcmF3SGlnaGxpZ2h0Rm9yVGV4dChmb250
LCBUZXh0UnVuKHRleHRSZW5kZXJlcigpLT50ZXh0KCktPmNoYXJhY3RlcnMoKSArIG1fc3RhcnQs
IG1fbGVuLCB0ZXh0UmVuZGVyZXIoKS0+YWxsb3dUYWJzKCksIHRleHRQb3MoKSwgbV9leHBhbnNp
b24sIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IoKSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAhaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpLCBtX2Rpck92ZXJyaWRlIHx8IHN0
eWxlLT52aXN1YWxseU9yZGVyZWQoKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbG9jYWxPcmlnaW4sIHNlbEhlaWdodCwgYywgc3R5bGUtPmNvbG9yU3BhY2UoKSwgc1Bvcywg
ZVBvcyk7CkBAIC04MjIsMTQgKzgyMiwxNCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50Q3Vz
dG9tSGlnaGxpZ2h0CiAKICNlbmRpZgogCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVjb3Jh
dGlvbihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4s
IGludCBkZWNvLCBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3cpCit2b2lkIElubGluZVRleHRCb3g6
OnBhaW50RGVjb3JhdGlvbihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UG9p
bnQmIGJveE9yaWdpbiwgaW50IGRlY28sIGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdykKIHsKICAg
ICBpZiAobV90cnVuY2F0aW9uID09IGNGdWxsVHJ1bmNhdGlvbikKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgSW50UG9pbnQgbG9jYWxPcmlnaW4gPSBib3hPcmlnaW47CisgICAgRmxvYXRQb2ludCBs
b2NhbE9yaWdpbiA9IGJveE9yaWdpbjsKIAotICAgIGludCB3aWR0aCA9IG1fbG9naWNhbFdpZHRo
OworICAgIGZsb2F0IHdpZHRoID0gbV9sb2dpY2FsV2lkdGg7CiAgICAgaWYgKG1fdHJ1bmNhdGlv
biAhPSBjTm9UcnVuY2F0aW9uKSB7CiAgICAgICAgIHdpZHRoID0gdG9SZW5kZXJUZXh0KHJlbmRl
cmVyKCkpLT53aWR0aChtX3N0YXJ0LCBtX3RydW5jYXRpb24sIHRleHRQb3MoKSwgbV9maXJzdExp
bmUpOwogICAgICAgICBpZiAoIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKQEAgLTg1Myw5ICs4
NTMsOSBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbihHcmFwCiAgICAgaW50
IGV4dHJhT2Zmc2V0ID0gMDsKICAgICBpZiAoIWxpbmVzQXJlT3BhcXVlICYmIHNoYWRvdyAmJiBz
aGFkb3ctPm5leHQoKSkgewogICAgICAgICBjb250ZXh0LT5zYXZlKCk7Ci0gICAgICAgIEludFJl
Y3QgY2xpcFJlY3QobG9jYWxPcmlnaW4sIEludFNpemUod2lkdGgsIGJhc2VsaW5lICsgMikpOwor
ICAgICAgICBGbG9hdFJlY3QgY2xpcFJlY3QobG9jYWxPcmlnaW4sIEZsb2F0U2l6ZSh3aWR0aCwg
YmFzZWxpbmUgKyAyKSk7CiAgICAgICAgIGZvciAoY29uc3QgU2hhZG93RGF0YSogcyA9IHNoYWRv
dzsgczsgcyA9IHMtPm5leHQoKSkgewotICAgICAgICAgICAgSW50UmVjdCBzaGFkb3dSZWN0KGxv
Y2FsT3JpZ2luLCBJbnRTaXplKHdpZHRoLCBiYXNlbGluZSArIDIpKTsKKyAgICAgICAgICAgIEZs
b2F0UmVjdCBzaGFkb3dSZWN0KGxvY2FsT3JpZ2luLCBGbG9hdFNpemUod2lkdGgsIGJhc2VsaW5l
ICsgMikpOwogICAgICAgICAgICAgc2hhZG93UmVjdC5pbmZsYXRlKHMtPmJsdXIoKSk7CiAgICAg
ICAgICAgICBpbnQgc2hhZG93WCA9IGlzSG9yaXpvbnRhbCgpID8gcy0+eCgpIDogcy0+eSgpOwog
ICAgICAgICAgICAgaW50IHNoYWRvd1kgPSBpc0hvcml6b250YWwoKSA/IHMtPnkoKSA6IC1zLT54
KCk7CkBAIC04ODIsNyArODgyLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRp
b24oR3JhcAogICAgICAgICAgICAgfQogICAgICAgICAgICAgaW50IHNoYWRvd1ggPSBpc0hvcml6
b250YWwoKSA/IHNoYWRvdy0+eCgpIDogc2hhZG93LT55KCk7CiAgICAgICAgICAgICBpbnQgc2hh
ZG93WSA9IGlzSG9yaXpvbnRhbCgpID8gc2hhZG93LT55KCkgOiAtc2hhZG93LT54KCk7Ci0gICAg
ICAgICAgICBjb250ZXh0LT5zZXRTaGFkb3coSW50U2l6ZShzaGFkb3dYLCBzaGFkb3dZIC0gZXh0
cmFPZmZzZXQpLCBzaGFkb3ctPmJsdXIoKSwgc2hhZG93LT5jb2xvcigpLCBjb2xvclNwYWNlKTsK
KyAgICAgICAgICAgIGNvbnRleHQtPnNldFNoYWRvdyhGbG9hdFNpemUoc2hhZG93WCwgc2hhZG93
WSAtIGV4dHJhT2Zmc2V0KSwgc2hhZG93LT5ibHVyKCksIHNoYWRvdy0+Y29sb3IoKSwgY29sb3JT
cGFjZSk7CiAgICAgICAgICAgICBzZXRTaGFkb3cgPSB0cnVlOwogICAgICAgICAgICAgc2hhZG93
ID0gc2hhZG93LT5uZXh0KCk7CiAgICAgICAgIH0KQEAgLTg5MSw3ICs4OTEsNyBAQCB2b2lkIElu
bGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbihHcmFwCiAgICAgICAgICAgICBjb250ZXh0LT5z
ZXRTdHJva2VDb2xvcih1bmRlcmxpbmUsIGNvbG9yU3BhY2UpOwogICAgICAgICAgICAgY29udGV4
dC0+c2V0U3Ryb2tlU3R5bGUoU29saWRTdHJva2UpOwogICAgICAgICAgICAgLy8gTGVhdmUgb25l
IHBpeGVsIG9mIHdoaXRlIGJldHdlZW4gdGhlIGJhc2VsaW5lIGFuZCB0aGUgdW5kZXJsaW5lLgot
ICAgICAgICAgICAgY29udGV4dC0+ZHJhd0xpbmVGb3JUZXh0KEludFBvaW50KGxvY2FsT3JpZ2lu
LngoKSwgbG9jYWxPcmlnaW4ueSgpICsgYmFzZWxpbmUgKyAxKSwgd2lkdGgsIGlzUHJpbnRpbmcp
OworICAgICAgICAgICAgY29udGV4dC0+ZHJhd0xpbmVGb3JUZXh0KEZsb2F0UG9pbnQobG9jYWxP
cmlnaW4ueCgpLCBsb2NhbE9yaWdpbi55KCkgKyBiYXNlbGluZSArIDEpLCB3aWR0aCwgaXNQcmlu
dGluZyk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGRlY28gJiBPVkVSTElORSkgewogICAgICAg
ICAgICAgY29udGV4dC0+c2V0U3Ryb2tlQ29sb3Iob3ZlcmxpbmUsIGNvbG9yU3BhY2UpOwpAQCAt
OTAxLDcgKzkwMSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKEdyYXAK
ICAgICAgICAgaWYgKGRlY28gJiBMSU5FX1RIUk9VR0gpIHsKICAgICAgICAgICAgIGNvbnRleHQt
PnNldFN0cm9rZUNvbG9yKGxpbmV0aHJvdWdoLCBjb2xvclNwYWNlKTsKICAgICAgICAgICAgIGNv
bnRleHQtPnNldFN0cm9rZVN0eWxlKFNvbGlkU3Ryb2tlKTsKLSAgICAgICAgICAgIGNvbnRleHQt
PmRyYXdMaW5lRm9yVGV4dChJbnRQb2ludChsb2NhbE9yaWdpbi54KCksIGxvY2FsT3JpZ2luLnko
KSArIDIgKiBiYXNlbGluZSAvIDMpLCB3aWR0aCwgaXNQcmludGluZyk7CisgICAgICAgICAgICBj
b250ZXh0LT5kcmF3TGluZUZvclRleHQoRmxvYXRQb2ludChsb2NhbE9yaWdpbi54KCksIGxvY2Fs
T3JpZ2luLnkoKSArIDIgKiBiYXNlbGluZSAvIDMpLCB3aWR0aCwgaXNQcmludGluZyk7CiAgICAg
ICAgIH0KICAgICB9IHdoaWxlIChzaGFkb3cpOwogCkBAIC05MjYsNyArOTI2LDcgQEAgc3RhdGlj
IEdyYXBoaWNzQ29udGV4dDo6VGV4dENoZWNraW5nTGluZQogICAgIH0KIH0KIAotdm9pZCBJbmxp
bmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdyYXBoaWNzQ29udGV4dCog
cHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiBtYXJr
ZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBncmFtbWFyKQor
dm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdyYXBoaWNz
Q29udGV4dCogcHQsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRN
YXJrZXImIG1hcmtlciwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250LCBib29s
IGdyYW1tYXIpCiB7CiAgICAgLy8gTmV2ZXIgcHJpbnQgc3BlbGxpbmcvZ3JhbW1hciBtYXJrZXJz
ICg1MzI3ODg3KQogICAgIGlmICh0ZXh0UmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+cHJpbnRpbmco
KSkKQEAgLTkzNSw4ICs5MzUsOCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdP
ckdyYW1tCiAgICAgaWYgKG1fdHJ1bmNhdGlvbiA9PSBjRnVsbFRydW5jYXRpb24pCiAgICAgICAg
IHJldHVybjsKIAotICAgIGludCBzdGFydCA9IDA7ICAgICAgICAgICAgICAgICAgLy8gc3RhcnQg
b2YgbGluZSB0byBkcmF3LCByZWxhdGl2ZSB0byB0eAotICAgIGludCB3aWR0aCA9IG1fbG9naWNh
bFdpZHRoOyAgICAgICAgICAgIC8vIGhvdyBtdWNoIGxpbmUgdG8gZHJhdworICAgIGZsb2F0IHN0
YXJ0ID0gMDsgLy8gc3RhcnQgb2YgbGluZSB0byBkcmF3LCByZWxhdGl2ZSB0byB0eAorICAgIGZs
b2F0IHdpZHRoID0gbV9sb2dpY2FsV2lkdGg7IC8vIGhvdyBtdWNoIGxpbmUgdG8gZHJhdwogCiAg
ICAgLy8gRGV0ZXJtaW5lIHdoZXRoZXIgd2UgbmVlZCB0byBtZWFzdXJlIHRleHQKICAgICBib29s
IG1hcmtlclNwYW5zV2hvbGVCb3ggPSB0cnVlOwpAQCAtOTU3LDkgKzk1NywxMCBAQCB2b2lkIElu
bGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tCiAgICAgICAgIC8vIENhbGN1bGF0ZSBz
dGFydCAmIHdpZHRoCiAgICAgICAgIGludCBkZWx0YVkgPSByZW5kZXJlcigpLT5zdHlsZSgpLT5p
c0ZsaXBwZWRMaW5lc1dyaXRpbmdNb2RlKCkgPyBzZWxlY3Rpb25Cb3R0b20oKSAtIGxvZ2ljYWxC
b3R0b20oKSA6IGxvZ2ljYWxUb3AoKSAtIHNlbGVjdGlvblRvcCgpOwogICAgICAgICBpbnQgc2Vs
SGVpZ2h0ID0gc2VsZWN0aW9uSGVpZ2h0KCk7Ci0gICAgICAgIEludFBvaW50IHN0YXJ0UG9pbnQo
Ym94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSk7CisgICAgICAgIEZsb2F0UG9p
bnQgc3RhcnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKICAg
ICAgICAgVGV4dFJ1biBydW4odGV4dFJlbmRlcmVyKCktPnRleHQoKS0+Y2hhcmFjdGVycygpICsg
bV9zdGFydCwgbV9sZW4sIHRleHRSZW5kZXJlcigpLT5hbGxvd1RhYnMoKSwgdGV4dFBvcygpLCBt
X2V4cGFuc2lvbiwgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvcigpLCAhaXNMZWZ0VG9SaWdodERp
cmVjdGlvbigpLCBtX2Rpck92ZXJyaWRlIHx8IHN0eWxlLT52aXN1YWxseU9yZGVyZWQoKSk7Ci0g
ICAgICAgICAKKyAgICAgICAgCisgICAgICAgIC8vIEZJWE1FOiBDb252ZXJ0IHRoZSBkb2N1bWVu
dCBtYXJrZXJzIHRvIGZsb2F0IHJlY3RzLgogICAgICAgICBJbnRSZWN0IG1hcmtlclJlY3QgPSBl
bmNsb3NpbmdJbnRSZWN0KGZvbnQuc2VsZWN0aW9uUmVjdEZvclRleHQocnVuLCBzdGFydFBvaW50
LCBzZWxIZWlnaHQsIHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uKSk7CiAgICAgICAgIHN0YXJ0
ID0gbWFya2VyUmVjdC54KCkgLSBzdGFydFBvaW50LngoKTsKICAgICAgICAgd2lkdGggPSBtYXJr
ZXJSZWN0LndpZHRoKCk7CkBAIC05OTAsMTAgKzk5MSwxMCBAQCB2b2lkIElubGluZVRleHRCb3g6
OnBhaW50U3BlbGxpbmdPckdyYW1tCiAgICAgICAgIC8vIEluIGxhcmdlciBmb250cywgdGhvdWdo
LCBwbGFjZSB0aGUgdW5kZXJsaW5lIHVwIG5lYXIgdGhlIGJhc2VsaW5lIHRvIHByZXZlbnQgYSBi
aWcgZ2FwLgogICAgICAgICB1bmRlcmxpbmVPZmZzZXQgPSBiYXNlbGluZSArIDI7CiAgICAgfQot
ICAgIHB0LT5kcmF3TGluZUZvclRleHRDaGVja2luZyhJbnRQb2ludChib3hPcmlnaW4ueCgpICsg
c3RhcnQsIGJveE9yaWdpbi55KCkgKyB1bmRlcmxpbmVPZmZzZXQpLCB3aWR0aCwgdGV4dENoZWNr
aW5nTGluZVN0eWxlRm9yTWFya2VyVHlwZShtYXJrZXIudHlwZSkpOworICAgIHB0LT5kcmF3TGlu
ZUZvclRleHRDaGVja2luZyhGbG9hdFBvaW50KGJveE9yaWdpbi54KCkgKyBzdGFydCwgYm94T3Jp
Z2luLnkoKSArIHVuZGVybGluZU9mZnNldCksIHdpZHRoLCB0ZXh0Q2hlY2tpbmdMaW5lU3R5bGVG
b3JNYXJrZXJUeXBlKG1hcmtlci50eXBlKSk7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFp
bnRUZXh0TWF0Y2hNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiBwdCwgY29uc3QgSW50UG9pbnQmIGJv
eE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImIG1hcmtlciwgUmVuZGVyU3R5bGUqIHN0eWxl
LCBjb25zdCBGb250JiBmb250KQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFRleHRNYXRjaE1h
cmtlcihHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNv
bnN0IERvY3VtZW50TWFya2VyJiBtYXJrZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9u
dCYgZm9udCkKIHsKICAgICAvLyBVc2Ugc2FtZSB5IHBvc2l0aW9uaW5nIGFuZCBoZWlnaHQgYXMg
Zm9yIHNlbGVjdGlvbiwgc28gdGhhdCB3aGVuIHRoZSBzZWxlY3Rpb24gYW5kIHRoaXMgaGlnaGxp
Z2h0IGFyZSBvbgogICAgIC8vIHRoZSBzYW1lIHdvcmQgdGhlcmUgYXJlIG5vIHBpZWNlcyBzdGlj
a2luZyBvdXQuCkBAIC0xMDE2LDggKzEwMTcsOCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50
VGV4dE1hdGNoTWFya2VyCiAgICAgICAgICAgICByZW5kZXJlcigpLT50aGVtZSgpLT5wbGF0Zm9y
bUluYWN0aXZlVGV4dFNlYXJjaEhpZ2hsaWdodENvbG9yKCk7CiAgICAgICAgIHB0LT5zYXZlKCk7
CiAgICAgICAgIHVwZGF0ZUdyYXBoaWNzQ29udGV4dChwdCwgY29sb3IsIGNvbG9yLCAwLCBzdHls
ZS0+Y29sb3JTcGFjZSgpKTsgIC8vIERvbid0IGRyYXcgdGV4dCBhdCBhbGwhCi0gICAgICAgIHB0
LT5jbGlwKEludFJlY3QoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSwgbV9s
b2dpY2FsV2lkdGgsIHNlbEhlaWdodCkpOwotICAgICAgICBwdC0+ZHJhd0hpZ2hsaWdodEZvclRl
eHQoZm9udCwgcnVuLCBJbnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVs
dGFZKSwgc2VsSGVpZ2h0LCBjb2xvciwgc3R5bGUtPmNvbG9yU3BhY2UoKSwgc1BvcywgZVBvcyk7
CisgICAgICAgIHB0LT5jbGlwKEZsb2F0UmVjdChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgp
IC0gZGVsdGFZLCBtX2xvZ2ljYWxXaWR0aCwgc2VsSGVpZ2h0KSk7CisgICAgICAgIHB0LT5kcmF3
SGlnaGxpZ2h0Rm9yVGV4dChmb250LCBydW4sIEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSwgYm94
T3JpZ2luLnkoKSAtIGRlbHRhWSksIHNlbEhlaWdodCwgY29sb3IsIHN0eWxlLT5jb2xvclNwYWNl
KCksIHNQb3MsIGVQb3MpOwogICAgICAgICBwdC0+cmVzdG9yZSgpOwogICAgIH0KIH0KQEAgLTEw
MzksNyArMTA0MCw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6Y29tcHV0ZVJlY3RGb3JSZXBsYWMK
ICAgICByZW5kZXJlcigpLT5kb2N1bWVudCgpLT5tYXJrZXJzKCktPnNldFJlbmRlcmVkUmVjdEZv
ck1hcmtlcihyZW5kZXJlcigpLT5ub2RlKCksIG1hcmtlciwgbWFya2VyUmVjdCk7CiB9CiAgICAg
Ci12b2lkIElubGluZVRleHRCb3g6OnBhaW50RG9jdW1lbnRNYXJrZXJzKEdyYXBoaWNzQ29udGV4
dCogcHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29u
c3QgRm9udCYgZm9udCwgYm9vbCBiYWNrZ3JvdW5kKQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWlu
dERvY3VtZW50TWFya2VycyhHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBGbG9hdFBvaW50JiBi
b3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBiYWNr
Z3JvdW5kKQogewogICAgIGlmICghcmVuZGVyZXIoKS0+bm9kZSgpKQogICAgICAgICByZXR1cm47
CkBAIC0xMDk5LDE0ICsxMTAwLDEzIEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREb2N1bWVu
dE1hcmtlcnMKICAgICB9CiB9CiAKLQotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0
aW9uVW5kZXJsaW5lKEdyYXBoaWNzQ29udGV4dCogY3R4LCBjb25zdCBJbnRQb2ludCYgYm94T3Jp
Z2luLCBjb25zdCBDb21wb3NpdGlvblVuZGVybGluZSYgdW5kZXJsaW5lKQordm9pZCBJbmxpbmVU
ZXh0Qm94OjpwYWludENvbXBvc2l0aW9uVW5kZXJsaW5lKEdyYXBoaWNzQ29udGV4dCogY3R4LCBj
b25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5lJiB1
bmRlcmxpbmUpCiB7CiAgICAgaWYgKG1fdHJ1bmNhdGlvbiA9PSBjRnVsbFRydW5jYXRpb24pCiAg
ICAgICAgIHJldHVybjsKICAgICAKLSAgICBpbnQgc3RhcnQgPSAwOyAgICAgICAgICAgICAgICAg
Ly8gc3RhcnQgb2YgbGluZSB0byBkcmF3LCByZWxhdGl2ZSB0byB0eAotICAgIGludCB3aWR0aCA9
IG1fbG9naWNhbFdpZHRoOyAgICAgICAgICAgLy8gaG93IG11Y2ggbGluZSB0byBkcmF3CisgICAg
ZmxvYXQgc3RhcnQgPSAwOyAvLyBzdGFydCBvZiBsaW5lIHRvIGRyYXcsIHJlbGF0aXZlIHRvIHR4
CisgICAgZmxvYXQgd2lkdGggPSBtX2xvZ2ljYWxXaWR0aDsgLy8gaG93IG11Y2ggbGluZSB0byBk
cmF3CiAgICAgYm9vbCB1c2VXaG9sZVdpZHRoID0gdHJ1ZTsKICAgICB1bnNpZ25lZCBwYWludFN0
YXJ0ID0gbV9zdGFydDsKICAgICB1bnNpZ25lZCBwYWludEVuZCA9IGVuZCgpICsgMTsgLy8gZW5k
IHBvaW50cyBhdCB0aGUgbGFzdCBjaGFyLCBub3QgcGFzdCBpdApAQCAtMTE0Miw3ICsxMTQyLDcg
QEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uVW5kZQogCiAgICAgY3R4LT5z
ZXRTdHJva2VDb2xvcih1bmRlcmxpbmUuY29sb3IsIHJlbmRlcmVyKCktPnN0eWxlKCktPmNvbG9y
U3BhY2UoKSk7CiAgICAgY3R4LT5zZXRTdHJva2VUaGlja25lc3MobGluZVRoaWNrbmVzcyk7Ci0g
ICAgY3R4LT5kcmF3TGluZUZvclRleHQoSW50UG9pbnQoYm94T3JpZ2luLngoKSArIHN0YXJ0LCBi
b3hPcmlnaW4ueSgpICsgbG9naWNhbEhlaWdodCgpIC0gbGluZVRoaWNrbmVzcyksIHdpZHRoLCB0
ZXh0UmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+cHJpbnRpbmcoKSk7CisgICAgY3R4LT5kcmF3TGlu
ZUZvclRleHQoRmxvYXRQb2ludChib3hPcmlnaW4ueCgpICsgc3RhcnQsIGJveE9yaWdpbi55KCkg
KyBsb2dpY2FsSGVpZ2h0KCkgLSBsaW5lVGhpY2tuZXNzKSwgd2lkdGgsIHRleHRSZW5kZXJlcigp
LT5kb2N1bWVudCgpLT5wcmludGluZygpKTsKIH0KIAogaW50IElubGluZVRleHRCb3g6OmNhcmV0
TWluT2Zmc2V0KCkgY29uc3QKQEAgLTExNjAsNyArMTE2MCw3IEBAIHVuc2lnbmVkIElubGluZVRl
eHRCb3g6OmNhcmV0TWF4UmVuZGVyZWQKICAgICByZXR1cm4gbV9zdGFydCArIG1fbGVuOwogfQog
Ci1pbnQgSW5saW5lVGV4dEJveDo6dGV4dFBvcygpIGNvbnN0CitmbG9hdCBJbmxpbmVUZXh0Qm94
Ojp0ZXh0UG9zKCkgY29uc3QKIHsKICAgICAvLyBXaGVuIGNvbXB1dGluZyB0aGUgd2lkdGggb2Yg
YSB0ZXh0IHJ1biwgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNG
b3JMaW5lKCkgZG9lc24ndCBpbmNsdWRlIHRoZSBhY3R1YWwgb2Zmc2V0CiAgICAgLy8gZnJvbSB0
aGUgY29udGFpbmluZyBibG9jayBlZGdlIGluIGl0cyBtZWFzdXJlbWVudC4gdGV4dFBvcygpIHNo
b3VsZCBiZSBjb25zaXN0ZW50IHNvIHRoZSB0ZXh0IGFyZSByZW5kZXJlZCBpbiB0aGUgc2FtZSB3
aWR0aC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaAkocmV2
aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDUsMTIgKzEwNSwxMiBAQCBwdWJsaWM6CiAKIHByaXZhdGU6
CiAgICAgdmlydHVhbCB2b2lkIGNsZWFyVHJ1bmNhdGlvbigpIHsgbV90cnVuY2F0aW9uID0gY05v
VHJ1bmNhdGlvbjsgfQotICAgIHZpcnR1YWwgaW50IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBmbG93
SXNMVFIsIGludCB2aXNpYmxlTGVmdEVkZ2UsIGludCB2aXNpYmxlUmlnaHRFZGdlLCBpbnQgZWxs
aXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpOworICAgIHZpcnR1YWwgZmxvYXQgcGxhY2VFbGxp
cHNpc0JveChib29sIGZsb3dJc0xUUiwgZmxvYXQgdmlzaWJsZUxlZnRFZGdlLCBmbG9hdCB2aXNp
YmxlUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCk7CiAKIHB1
YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5lQnJlYWsoKSBjb25zdDsKIAotICAgIHZvaWQg
c2V0RXhwYW5zaW9uKGludCBleHBhbnNpb24pIHsgbV9sb2dpY2FsV2lkdGggLT0gbV9leHBhbnNp
b247IG1fZXhwYW5zaW9uID0gZXhwYW5zaW9uOyBtX2xvZ2ljYWxXaWR0aCArPSBtX2V4cGFuc2lv
bjsgfQorICAgIHZvaWQgc2V0RXhwYW5zaW9uKGZsb2F0IGV4cGFuc2lvbikgeyBtX2xvZ2ljYWxX
aWR0aCAtPSBtX2V4cGFuc2lvbjsgbV9leHBhbnNpb24gPSBleHBhbnNpb247IG1fbG9naWNhbFdp
ZHRoICs9IG1fZXhwYW5zaW9uOyB9CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIGlzSW5s
aW5lVGV4dEJveCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0gICAgCkBAIC0xMjIsNyArMTIyLDcg
QEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGNhcmV0TWF4UmVuZGVy
ZWRPZmZzZXQoKSBjb25zdDsKIAotICAgIGludCB0ZXh0UG9zKCkgY29uc3Q7IC8vIHJldHVybnMg
dGhlIHggcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIGxlZnQgc3RhcnQgb2YgdGhlIHRleHQgbGlu
ZS4KKyAgICBmbG9hdCB0ZXh0UG9zKCkgY29uc3Q7IC8vIHJldHVybnMgdGhlIHggcG9zaXRpb24g
cmVsYXRpdmUgdG8gdGhlIGxlZnQgc3RhcnQgb2YgdGhlIHRleHQgbGluZS4KIAogcHVibGljOgog
ICAgIHZpcnR1YWwgaW50IG9mZnNldEZvclBvc2l0aW9uKGludCB4LCBib29sIGluY2x1ZGVQYXJ0
aWFsR2x5cGhzID0gdHJ1ZSkgY29uc3Q7CkBAIC0xNDQsMTggKzE0NCwxOCBAQCBwcml2YXRlOgog
ICAgICAgICAgICAgICAgICAgICAgIC8vIGRlbm90ZSBubyB0cnVuY2F0aW9uICh0aGUgd2hvbGUg
cnVuIHBhaW50cykgYW5kIGZ1bGwgdHJ1bmNhdGlvbiAobm90aGluZyBwYWludHMgYXQgYWxsKS4K
IAogcHJvdGVjdGVkOgotICAgIHZvaWQgcGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqLCBjb25z
dCBGb250JiwgaW50IHN0YXJ0UG9zLCBpbnQgZW5kUG9zKTsKLSAgICB2b2lkIHBhaW50RG9jdW1l
bnRNYXJrZXJzKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJl
bmRlclN0eWxlKiwgY29uc3QgRm9udCYsIGJvb2wgYmFja2dyb3VuZCk7Ci0gICAgdm9pZCBwYWlu
dENvbXBvc2l0aW9uVW5kZXJsaW5lKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBi
b3hPcmlnaW4sIGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5lJik7CisgICAgdm9pZCBwYWludENv
bXBvc2l0aW9uQmFja2dyb3VuZChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBi
b3hPcmlnaW4sIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYsIGludCBzdGFydFBvcywgaW50IGVu
ZFBvcyk7CisgICAgdm9pZCBwYWludERvY3VtZW50TWFya2VycyhHcmFwaGljc0NvbnRleHQqLCBj
b25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYsIGJv
b2wgYmFja2dyb3VuZCk7CisgICAgdm9pZCBwYWludENvbXBvc2l0aW9uVW5kZXJsaW5lKEdyYXBo
aWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgQ29tcG9zaXRp
b25VbmRlcmxpbmUmKTsKICNpZiBQTEFURk9STShNQUMpCiAgICAgdm9pZCBwYWludEN1c3RvbUhp
Z2hsaWdodChpbnQgdHgsIGludCB0eSwgY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlKTsKICNlbmRp
ZgogCiBwcml2YXRlOgotICAgIHZvaWQgcGFpbnREZWNvcmF0aW9uKEdyYXBoaWNzQ29udGV4dCos
IGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGludCBkZWNvcmF0aW9uLCBjb25zdCBTaGFkb3dE
YXRhKik7Ci0gICAgdm9pZCBwYWludFNlbGVjdGlvbihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJ
bnRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmKTsKLSAgICB2b2lk
IHBhaW50U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50
UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImLCBSZW5kZXJTdHlsZSosIGNv
bnN0IEZvbnQmLCBib29sIGdyYW1tYXIpOwotICAgIHZvaWQgcGFpbnRUZXh0TWF0Y2hNYXJrZXIo
R3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1l
bnRNYXJrZXImLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmKTsKKyAgICB2b2lkIHBhaW50RGVj
b3JhdGlvbihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGlu
dCBkZWNvcmF0aW9uLCBjb25zdCBTaGFkb3dEYXRhKik7CisgICAgdm9pZCBwYWludFNlbGVjdGlv
bihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0
eWxlKiwgY29uc3QgRm9udCYpOworICAgIHZvaWQgcGFpbnRTcGVsbGluZ09yR3JhbW1hck1hcmtl
cihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERv
Y3VtZW50TWFya2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250JiwgYm9vbCBncmFtbWFyKTsK
KyAgICB2b2lkIHBhaW50VGV4dE1hdGNoTWFya2VyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZs
b2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImLCBSZW5kZXJTdHlsZSos
IGNvbnN0IEZvbnQmKTsKICAgICB2b2lkIGNvbXB1dGVSZWN0Rm9yUmVwbGFjZW1lbnRNYXJrZXIo
Y29uc3QgRG9jdW1lbnRNYXJrZXImLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmKTsKIAogICAg
IFRleHRSdW46OlRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNpb25CZWhh
dmlvcigpIGNvbnN0IHsgcmV0dXJuIG1fZXhwYW5zaW9uICYmIG5leHRMZWFmQ2hpbGQoKSA/IFRl
eHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24gOiBUZXh0UnVuOjpGb3JiaWRUcmFpbGluZ0V4
cGFuc2lvbjsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJSLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJSLmgJKHJldmlzaW9u
IDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJSLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQwLDggKzQwLDggQEAgcHVibGljOgogIAogICAgIHZpcnR1YWwgSW50UmVjdCBz
ZWxlY3Rpb25SZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogLypyZXBhaW50Q29u
dGFpbmVyKi8sIGJvb2wgLypjbGlwVG9WaXNpYmxlQ29udGVudCovKSB7IHJldHVybiBJbnRSZWN0
KCk7IH0KIAotICAgIHZpcnR1YWwgdW5zaWduZWQgd2lkdGgodW5zaWduZWQgLypmcm9tKi8sIHVu
c2lnbmVkIC8qbGVuKi8sIGNvbnN0IEZvbnQmLCBpbnQgLyp4cG9zKi8pIGNvbnN0IHsgcmV0dXJu
IDA7IH0KLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVkIC8qZnJvbSovLCB1bnNp
Z25lZCAvKmxlbiovLCBpbnQgLyp4cG9zKi8sIGJvb2wgLypmaXJzdExpbmUgPSBmYWxzZSovKSBj
b25zdCB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25lZCAvKmZy
b20qLywgdW5zaWduZWQgLypsZW4qLywgY29uc3QgRm9udCYsIGZsb2F0IC8qeHBvcyovKSBjb25z
dCB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25lZCAvKmZyb20q
LywgdW5zaWduZWQgLypsZW4qLywgaW50IC8qeHBvcyovLCBib29sIC8qZmlyc3RMaW5lID0gZmFs
c2UqLykgY29uc3QgeyByZXR1cm4gMDsgfQogCiAgICAgaW50IGxpbmVIZWlnaHQoYm9vbCBmaXJz
dExpbmUpIGNvbnN0OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYxNyw3ICs0NjE3LDcgQEAgc3RhdGljIGlu
dCBnZXRCb3JkZXJQYWRkaW5nTWFyZ2luKGNvbnN0IAogICAgICAgICAgICAgICAgY2hpbGQtPmJv
cmRlclN0YXJ0KCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzdHJpcFRyYWlsaW5nU3BhY2Uo
aW50JiBpbmxpbmVNYXgsIGludCYgaW5saW5lTWluLAorc3RhdGljIGlubGluZSB2b2lkIHN0cmlw
VHJhaWxpbmdTcGFjZShmbG9hdCYgaW5saW5lTWF4LCBmbG9hdCYgaW5saW5lTWluLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJPYmplY3QqIHRyYWlsaW5nU3Bh
Y2VDaGlsZCkKIHsKICAgICBpZiAodHJhaWxpbmdTcGFjZUNoaWxkICYmIHRyYWlsaW5nU3BhY2VD
aGlsZC0+aXNUZXh0KCkpIHsKQEAgLTQ2MjUsMTcgKzQ2MjUsMjMgQEAgc3RhdGljIGlubGluZSB2
b2lkIHN0cmlwVHJhaWxpbmdTcGFjZShpbgogICAgICAgICBSZW5kZXJUZXh0KiB0ID0gdG9SZW5k
ZXJUZXh0KHRyYWlsaW5nU3BhY2VDaGlsZCk7CiAgICAgICAgIGNvbnN0IFVDaGFyIHNwYWNlID0g
JyAnOwogICAgICAgICBjb25zdCBGb250JiBmb250ID0gdC0+c3R5bGUoKS0+Zm9udCgpOyAvLyBG
SVhNRTogVGhpcyBpZ25vcmVzIGZpcnN0LWxpbmUuCi0gICAgICAgIGludCBzcGFjZVdpZHRoID0g
Zm9udC53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpOworICAgICAgICBmbG9hdCBzcGFjZVdpZHRo
ID0gZm9udC53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpOwogICAgICAgICBpbmxpbmVNYXggLT0g
c3BhY2VXaWR0aCArIGZvbnQud29yZFNwYWNpbmcoKTsKICAgICAgICAgaWYgKGlubGluZU1pbiA+
IGlubGluZU1heCkKICAgICAgICAgICAgIGlubGluZU1pbiA9IGlubGluZU1heDsKICAgICB9CiB9
CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCB1cGRhdGVQcmVmZXJyZWRXaWR0aChpbnQmIHByZWZlcnJl
ZFdpZHRoLCBmbG9hdCYgcmVzdWx0KQoreworICAgIGludCBzbmFwcGVkUmVzdWx0ID0gY2VpbGYo
cmVzdWx0KTsKKyAgICBwcmVmZXJyZWRXaWR0aCA9IG1heChzbmFwcGVkUmVzdWx0LCBwcmVmZXJy
ZWRXaWR0aCk7Cit9CisKIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWRM
b2dpY2FsV2lkdGhzKCkKIHsKLSAgICBpbnQgaW5saW5lTWF4ID0gMDsKLSAgICBpbnQgaW5saW5l
TWluID0gMDsKKyAgICBmbG9hdCBpbmxpbmVNYXggPSAwOworICAgIGZsb2F0IGlubGluZU1pbiA9
IDA7CiAKICAgICBpbnQgY3cgPSBjb250YWluaW5nQmxvY2soKS0+Y29udGVudExvZ2ljYWxXaWR0
aCgpOwogCkBAIC00Njk2LDE1ICs0NzAyLDE1IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJ
bmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAgIC8vIHRoZSB3aWR0aCBvZiB0aGUgbGFzdCBub24t
YnJlYWthYmxlIHJ1biBhbmQgdXNlIHRoYXQgdG8gc3RhcnQgYSBuZXcgbGluZQogICAgICAgICAg
ICAgLy8gKHVubGVzcyB3ZSBlbmQgaW4gd2hpdGVzcGFjZSkuCiAgICAgICAgICAgICBSZW5kZXJT
dHlsZSogY3N0eWxlID0gY2hpbGQtPnN0eWxlKCk7Ci0gICAgICAgICAgICBpbnQgY2hpbGRNaW4g
PSAwOwotICAgICAgICAgICAgaW50IGNoaWxkTWF4ID0gMDsKKyAgICAgICAgICAgIGZsb2F0IGNo
aWxkTWluID0gMDsKKyAgICAgICAgICAgIGZsb2F0IGNoaWxkTWF4ID0gMDsKIAogICAgICAgICAg
ICAgaWYgKCFjaGlsZC0+aXNUZXh0KCkpIHsKICAgICAgICAgICAgICAgICAvLyBDYXNlICgxKSBh
bmQgKDIpLiAgSW5saW5lIHJlcGxhY2VkIGFuZCBpbmxpbmUgZmxvdyBlbGVtZW50cy4KICAgICAg
ICAgICAgICAgICBpZiAoY2hpbGQtPmlzUmVuZGVySW5saW5lKCkpIHsKICAgICAgICAgICAgICAg
ICAgICAgLy8gQWRkIGluIHBhZGRpbmcvYm9yZGVyL21hcmdpbiBmcm9tIHRoZSBhcHByb3ByaWF0
ZSBzaWRlIG9mCiAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBlbGVtZW50LgotICAgICAgICAg
ICAgICAgICAgICBpbnQgYnBtID0gZ2V0Qm9yZGVyUGFkZGluZ01hcmdpbih0b1JlbmRlcklubGlu
ZShjaGlsZCksIGNoaWxkSXRlcmF0b3IuZW5kT2ZJbmxpbmUpOworICAgICAgICAgICAgICAgICAg
ICBmbG9hdCBicG0gPSBnZXRCb3JkZXJQYWRkaW5nTWFyZ2luKHRvUmVuZGVySW5saW5lKGNoaWxk
KSwgY2hpbGRJdGVyYXRvci5lbmRPZklubGluZSk7CiAgICAgICAgICAgICAgICAgICAgIGNoaWxk
TWluICs9IGJwbTsKICAgICAgICAgICAgICAgICAgICAgY2hpbGRNYXggKz0gYnBtOwogCkBAIC00
NzE0LDcgKzQ3MjAsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVk
CiAgICAgICAgICAgICAgICAgICAgIGNoaWxkLT5zZXRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGly
dHkoZmFsc2UpOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
IC8vIElubGluZSByZXBsYWNlZCBlbHRzIGFkZCBpbiB0aGVpciBtYXJnaW5zIHRvIHRoZWlyIG1p
bi9tYXggdmFsdWVzLgotICAgICAgICAgICAgICAgICAgICBpbnQgbWFyZ2lucyA9IDA7CisgICAg
ICAgICAgICAgICAgICAgIGZsb2F0IG1hcmdpbnMgPSAwOwogICAgICAgICAgICAgICAgICAgICBM
ZW5ndGggc3RhcnRNYXJnaW4gPSBjc3R5bGUtPm1hcmdpblN0YXJ0KCk7CiAgICAgICAgICAgICAg
ICAgICAgIExlbmd0aCBlbmRNYXJnaW4gPSBjc3R5bGUtPm1hcmdpbkVuZCgpOwogICAgICAgICAg
ICAgICAgICAgICBpZiAoc3RhcnRNYXJnaW4uaXNGaXhlZCgpKQpAQCAtNDc0NCwxMyArNDc1MCwx
MyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAKICAgICAgICAg
ICAgICAgICBib29sIGNhbkJyZWFrUmVwbGFjZWRFbGVtZW50ID0gIWNoaWxkLT5pc0ltYWdlKCkg
fHwgYWxsb3dJbWFnZXNUb0JyZWFrOwogICAgICAgICAgICAgICAgIGlmICgoY2FuQnJlYWtSZXBs
YWNlZEVsZW1lbnQgJiYgKGF1dG9XcmFwIHx8IG9sZEF1dG9XcmFwKSkgfHwgY2xlYXJQcmV2aW91
c0Zsb2F0KSB7Ci0gICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRo
ID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAg
ICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCwgaW5saW5lTWluKTsKICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWluID0gMDsKICAgICAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBzdXBwb3NlZCB0byBj
bGVhciB0aGUgcHJldmlvdXMgZmxvYXQsIHRoZW4gdGVybWluYXRlIG1heHdpZHRoIGFzIHdlbGwu
CiAgICAgICAgICAgICAgICAgaWYgKGNsZWFyUHJldmlvdXNGbG9hdCkgewotICAgICAgICAgICAg
ICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNYXgsIG1fbWF4
UHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVy
cmVkV2lkdGgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1heCk7CiAgICAgICAg
ICAgICAgICAgICAgIGlubGluZU1heCA9IDA7CiAgICAgICAgICAgICAgICAgfQogCkBAIC00NzY4
LDEyICs0Nzc0LDEyIEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQK
IAogICAgICAgICAgICAgICAgIGlmICghYXV0b1dyYXAgfHwgIWNhbkJyZWFrUmVwbGFjZWRFbGVt
ZW50KSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNGbG9hdGluZygpKQotICAg
ICAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoY2hp
bGRNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBjaGls
ZE1pbik7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAg
IGlubGluZU1pbiArPSBjaGlsZE1pbjsKICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgICAgICAgICAvLyBOb3cgY2hlY2sgb3VyIGxpbmUuCi0gICAgICAgICAgICAgICAgICAg
IG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGNoaWxkTWluLCBtX21pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRo
KG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBjaGlsZE1pbik7CiAKICAgICAgICAgICAgICAg
ICAgICAgLy8gTm93IHN0YXJ0IGEgbmV3IGxpbmUuCiAgICAgICAgICAgICAgICAgICAgIGlubGlu
ZU1pbiA9IDA7CkBAIC00NzkwLDcgKzQ3OTYsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRl
SW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCogdCA9IHRvUmVuZGVy
VGV4dChjaGlsZCk7CiAKICAgICAgICAgICAgICAgICBpZiAodC0+aXNXb3JkQnJlYWsoKSkgewot
ICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxp
bmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAg
dXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1p
bik7CiAgICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiA9IDA7CiAgICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIH0KQEAgLTQ4MDQsOSArNDgxMCw5IEBAIHZv
aWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAgICAgICAv
LyB0aGVuIHRoZXkgc2hvdWxkbid0IGJlIGNvbnNpZGVyZWQgaW4gdGhlIGJyZWFrYWJsZSBjaGFy
CiAgICAgICAgICAgICAgICAgLy8gY2hlY2suCiAgICAgICAgICAgICAgICAgYm9vbCBoYXNCcmVh
a2FibGVDaGFyLCBoYXNCcmVhazsKLSAgICAgICAgICAgICAgICBpbnQgYmVnaW5NaW4sIGVuZE1p
bjsKKyAgICAgICAgICAgICAgICBmbG9hdCBiZWdpbk1pbiwgZW5kTWluOwogICAgICAgICAgICAg
ICAgIGJvb2wgYmVnaW5XUywgZW5kV1M7Ci0gICAgICAgICAgICAgICAgaW50IGJlZ2luTWF4LCBl
bmRNYXg7CisgICAgICAgICAgICAgICAgZmxvYXQgYmVnaW5NYXgsIGVuZE1heDsKICAgICAgICAg
ICAgICAgICB0LT50cmltbWVkUHJlZldpZHRocyhpbmxpbmVNYXgsIGJlZ2luTWluLCBiZWdpbldT
LCBlbmRNaW4sIGVuZFdTLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhh
c0JyZWFrYWJsZUNoYXIsIGhhc0JyZWFrLCBiZWdpbk1heCwgZW5kTWF4LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkTWluLCBjaGlsZE1heCwgc3RyaXBGcm9udFNw
YWNlcyk7CkBAIC00ODE0LDcgKzQ4MjAsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5s
aW5lUHJlZmVycmVkCiAgICAgICAgICAgICAgICAgLy8gVGhpcyB0ZXh0IG9iamVjdCB3aWxsIG5v
dCBiZSByZW5kZXJlZCwgYnV0IGl0IG1heSBzdGlsbCBwcm92aWRlIGEgYnJlYWtpbmcgb3Bwb3J0
dW5pdHkuCiAgICAgICAgICAgICAgICAgaWYgKCFoYXNCcmVhayAmJiBjaGlsZE1heCA9PSAwKSB7
CiAgICAgICAgICAgICAgICAgICAgIGlmIChhdXRvV3JhcCAmJiAoYmVnaW5XUyB8fCBlbmRXUykp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0g
bWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAg
ICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGgsIGlubGluZU1pbik7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSAwOwog
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAt
NDg0NCwxMCArNDg1MCwxMCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVy
cmVkCiAgICAgICAgICAgICAgICAgICAgIC8vIHdlIHN0YXJ0IGFuZCBlbmQgd2l0aCB3aGl0ZXNw
YWNlLgogICAgICAgICAgICAgICAgICAgICBpZiAoYmVnaW5XUykKICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIEdvIGFoZWFkIGFuZCBlbmQgdGhlIGN1cnJlbnQgbGluZS4KLSAgICAgICAgICAg
ICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwg
bV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBk
YXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7
CiAgICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgaW5s
aW5lTWluICs9IGJlZ2luTWluOwotICAgICAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCk7CisgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKICAgICAgICAgICAgICAgICAgICAgICAg
IGNoaWxkTWluIC09IHRpOwogICAgICAgICAgICAgICAgICAgICB9CiAKQEAgLTQ4NTYsMTggKzQ4
NjIsMTggQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAg
ICAgICAgICAgICAgICBpZiAoZW5kV1MpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdl
IGVuZCBpbiB3aGl0ZXNwYWNlLCB3aGljaCBtZWFucyB3ZSBjYW4gZ28gYWhlYWQKICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIGFuZCBlbmQgb3VyIGN1cnJlbnQgbGluZS4KLSAgICAgICAgICAg
ICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwg
bV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBk
YXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7
CiAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSAwOwogICAgICAgICAgICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlubGlu
ZU1pbiA9IGVuZE1pbjsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0K
IAogICAgICAgICAgICAgICAgIGlmIChoYXNCcmVhaykgewogICAgICAgICAgICAgICAgICAgICBp
bmxpbmVNYXggKz0gYmVnaW5NYXg7Ci0gICAgICAgICAgICAgICAgICAgIG1fbWF4UHJlZmVycmVk
TG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1heCwgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgp
OwotICAgICAgICAgICAgICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChj
aGlsZE1heCwgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAg
ICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5l
TWF4KTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9tYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGgsIGNoaWxkTWF4KTsKICAgICAgICAgICAgICAgICAgICAgaW5saW5l
TWF4ID0gZW5kTWF4OwogICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAg
ICBpbmxpbmVNYXggKz0gY2hpbGRNYXg7CkBAIC00ODc3LDggKzQ4ODMsOCBAQCB2b2lkIFJlbmRl
ckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICBpZiAoY2hpbGQtPmlz
TGlzdE1hcmtlcigpKQogICAgICAgICAgICAgICAgIHN0cmlwRnJvbnRTcGFjZXMgPSB0cnVlOwog
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgg
PSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Ci0gICAgICAgICAg
ICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNYXgsIG1fbWF4UHJlZmVy
cmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOworICAgICAgICAgICAgdXBkYXRlUHJl
ZmVycmVkV2lkdGgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1heCk7CiAgICAg
ICAgICAgICBpbmxpbmVNaW4gPSBpbmxpbmVNYXggPSAwOwogICAgICAgICAgICAgc3RyaXBGcm9u
dFNwYWNlcyA9IHRydWU7CiAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlQ2hpbGQgPSAwOwpAQCAt
NDg5MCw4ICs0ODk2LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJl
ZAogICAgIGlmIChzdHlsZSgpLT5jb2xsYXBzZVdoaXRlU3BhY2UoKSkKICAgICAgICAgc3RyaXBU
cmFpbGluZ1NwYWNlKGlubGluZU1heCwgaW5saW5lTWluLCB0cmFpbGluZ1NwYWNlQ2hpbGQpOwog
Ci0gICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCk7Ci0gICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBt
YXgoaW5saW5lTWF4LCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgdXBkYXRlUHJl
ZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CisgICAg
dXBkYXRlUHJlZmVycmVkV2lkdGgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1h
eCk7CiB9CiAKIC8vIFVzZSBhIHZlcnkgbGFyZ2UgdmFsdWUgKGluIGVmZmVjdCBpbmZpbml0ZSku
CkBAIC01NDU3LDkgKzU0NjMsOSBAQCB2b2lkIFJlbmRlckJsb2NrOjphZGp1c3RGb3JCb3JkZXJG
aXQoaW50CiAgICAgICAgIGlmIChjaGlsZHJlbklubGluZSgpKSB7CiAgICAgICAgICAgICBmb3Ig
KFJvb3RJbmxpbmVCb3gqIGJveCA9IGZpcnN0Um9vdEJveCgpOyBib3g7IGJveCA9IGJveC0+bmV4
dFJvb3RCb3goKSkgewogICAgICAgICAgICAgICAgIGlmIChib3gtPmZpcnN0Q2hpbGQoKSkKLSAg
ICAgICAgICAgICAgICAgICAgbGVmdCA9IG1pbihsZWZ0LCB4ICsgYm94LT5maXJzdENoaWxkKCkt
PngoKSk7CisgICAgICAgICAgICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwgeCArIHN0YXRpY19j
YXN0PGludD4oYm94LT5maXJzdENoaWxkKCktPngoKSkpOwogICAgICAgICAgICAgICAgIGlmIChi
b3gtPmxhc3RDaGlsZCgpKQotICAgICAgICAgICAgICAgICAgICByaWdodCA9IG1heChyaWdodCwg
eCArIGJveC0+bGFzdENoaWxkKCktPngoKSArIGJveC0+bGFzdENoaWxkKCktPmxvZ2ljYWxXaWR0
aCgpKTsKKyAgICAgICAgICAgICAgICAgICAgcmlnaHQgPSBtYXgocmlnaHQsIHggKyBzdGF0aWNf
Y2FzdDxpbnQ+KGNlaWxmKGJveC0+bGFzdENoaWxkKCktPmxvZ2ljYWxSaWdodCgpKSkpOwogICAg
ICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGVsc2UgewpAQCAtNTc1OSw4ICs1NzY1LDgg
QEAgdm9pZCBSZW5kZXJCbG9jazo6YWRkRm9jdXNSaW5nUmVjdHMoVmVjdAogCiAgICAgaWYgKCFo
YXNPdmVyZmxvd0NsaXAoKSAmJiAhaGFzQ29udHJvbENsaXAoKSkgewogICAgICAgICBmb3IgKFJv
b3RJbmxpbmVCb3gqIGN1cnIgPSBmaXJzdFJvb3RCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5l
eHRSb290Qm94KCkpIHsKLSAgICAgICAgICAgIGludCB0b3AgPSBtYXgoY3Vyci0+bGluZVRvcCgp
LCBjdXJyLT55KCkpOwotICAgICAgICAgICAgaW50IGJvdHRvbSA9IG1pbihjdXJyLT5saW5lQm90
dG9tKCksIGN1cnItPnkoKSArIGN1cnItPmxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgICAgICBp
bnQgdG9wID0gbWF4KGN1cnItPmxpbmVUb3AoKSwgY3Vyci0+bG9naWNhbFRvcCgpKTsKKyAgICAg
ICAgICAgIGludCBib3R0b20gPSBtaW4oY3Vyci0+bGluZUJvdHRvbSgpLCBjdXJyLT5sb2dpY2Fs
VG9wKCkgKyBjdXJyLT5sb2dpY2FsSGVpZ2h0KCkpOwogICAgICAgICAgICAgSW50UmVjdCByZWN0
KHR4ICsgY3Vyci0+eCgpLCB0eSArIHRvcCwgY3Vyci0+bG9naWNhbFdpZHRoKCksIGJvdHRvbSAt
IHRvcCk7CiAgICAgICAgICAgICBpZiAoIXJlY3QuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAg
IHJlY3RzLmFwcGVuZChyZWN0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5oCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC00ODUsNyArNDg1LDcgQEAgcHJpdmF0ZToKIAog
ICAgIHZvaWQgc2tpcFRyYWlsaW5nV2hpdGVzcGFjZShJbmxpbmVJdGVyYXRvciYsIGJvb2wgaXNM
aW5lRW1wdHksIGJvb2wgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5KTsKICAgICBpbnQgc2tpcExl
YWRpbmdXaGl0ZXNwYWNlKElubGluZUJpZGlSZXNvbHZlciYsIGJvb2wgZmlyc3RMaW5lLCBib29s
IGlzTGluZUVtcHR5LCBib29sIHByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSwgRmxvYXRpbmdPYmpl
Y3QqIGxhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUpOwotICAgIHZvaWQgZml0QmVsb3dGbG9hdHMo
aW50IHdpZHRoVG9GaXQsIGJvb2wgZmlyc3RMaW5lLCBpbnQmIGF2YWlsYWJsZVdpZHRoKTsKKyAg
ICB2b2lkIGZpdEJlbG93RmxvYXRzKGZsb2F0IHdpZHRoVG9GaXQsIGJvb2wgZmlyc3RMaW5lLCBm
bG9hdCYgYXZhaWxhYmxlV2lkdGgpOwogICAgIElubGluZUl0ZXJhdG9yIGZpbmROZXh0TGluZUJy
ZWFrKElubGluZUJpZGlSZXNvbHZlciYsIGJvb2wgZmlyc3RMaW5lLCBib29sJiBpc0xpbmVFbXB0
eSwgYm9vbCYgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBib29sJiBoeXBoZW5hdGVkLCBFQ2xl
YXIqLCBGbG9hdGluZ09iamVjdCogbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSk7CiAgICAgUm9v
dElubGluZUJveCogY29uc3RydWN0TGluZSh1bnNpZ25lZCBydW5Db3VudCwgQmlkaVJ1biogZmly
c3RSdW4sIEJpZGlSdW4qIGxhc3RSdW4sIGJvb2wgZmlyc3RMaW5lLCBib29sIGxhc3RMaW5lLCBS
ZW5kZXJPYmplY3QqIGVuZE9iamVjdCk7CiAgICAgSW5saW5lRmxvd0JveCogY3JlYXRlTGluZUJv
eGVzKFJlbmRlck9iamVjdCosIGJvb2wgZmlyc3RMaW5lKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCShyZXZpc2lvbiA3
ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMTgsOCArMzE4LDggQEAgUm9vdElubGluZUJveCogUmVu
ZGVyQmxvY2s6OmNvbnN0cnVjdExpbgogdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURp
cmVjdGlvblBvc2l0aW9uc0ZvckxpbmUoUm9vdElubGluZUJveCogbGluZUJveCwgYm9vbCBmaXJz
dExpbmUsIEJpZGlSdW4qIGZpcnN0UnVuLCBCaWRpUnVuKiB0cmFpbGluZ1NwYWNlUnVuLCBib29s
IHJlYWNoZWRFbmQsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJiB0ZXh0Qm94RGF0
YU1hcCkKIHsKICAgICAvLyBGaXJzdCBkZXRlcm1pbmUgb3VyIHRvdGFsIGxvZ2ljYWwgd2lkdGgu
Ci0gICAgaW50IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCA9IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aEZv
ckxpbmUobG9naWNhbEhlaWdodCgpLCBmaXJzdExpbmUpOwotICAgIGludCB0b3RhbExvZ2ljYWxX
aWR0aCA9IGxpbmVCb3gtPmdldEZsb3dTcGFjaW5nTG9naWNhbFdpZHRoKCk7CisgICAgZmxvYXQg
YXZhaWxhYmxlTG9naWNhbFdpZHRoID0gYXZhaWxhYmxlTG9naWNhbFdpZHRoRm9yTGluZShsb2dp
Y2FsSGVpZ2h0KCksIGZpcnN0TGluZSk7CisgICAgZmxvYXQgdG90YWxMb2dpY2FsV2lkdGggPSBs
aW5lQm94LT5nZXRGbG93U3BhY2luZ0xvZ2ljYWxXaWR0aCgpOwogICAgIGJvb2wgbmVlZHNXb3Jk
U3BhY2luZyA9IGZhbHNlOwogICAgIHVuc2lnbmVkIGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQg
PSAwOwogICAgIGJvb2wgaXNBZnRlckV4cGFuc2lvbiA9IHRydWU7CkBAIC0zODYsNyArMzg2LDcg
QEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgIC8vIHdlIG5v
dyBleGFtaW5lIG91ciB0ZXh0LWFsaWduIHByb3BlcnR5IGluIG9yZGVyIHRvIGRldGVybWluZSB3
aGVyZSB0byBwb3NpdGlvbiB0aGUKICAgICAvLyBvYmplY3RzIGhvcml6b250YWxseS4gIFRoZSB0
b3RhbCB3aWR0aCBvZiB0aGUgbGluZSBjYW4gYmUgaW5jcmVhc2VkIGlmIHdlIGVuZCB1cAogICAg
IC8vIGp1c3RpZnlpbmcgdGV4dC4KLSAgICBpbnQgbG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdE9m
ZnNldEZvckxpbmUobG9naWNhbEhlaWdodCgpLCBmaXJzdExpbmUpOworICAgIGZsb2F0IGxvZ2lj
YWxMZWZ0ID0gbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKGxvZ2ljYWxIZWlnaHQoKSwgZmlyc3RM
aW5lKTsKICAgICBzd2l0Y2ggKHRleHRBbGlnbikgewogICAgICAgICBjYXNlIExFRlQ6CiAgICAg
ICAgIGNhc2UgV0VCS0lUX0xFRlQ6CkBAIC0zOTQsNyArMzk0LDcgQEAgdm9pZCBSZW5kZXJCbG9j
azo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgLy8gcGFydGljdWxhciB3aXRo
IFJUTCBibG9ja3MsIHdpZGUgbGluZXMgc2hvdWxkIHN0aWxsIHNwaWxsIG91dCB0byB0aGUgbGVm
dC4KICAgICAgICAgICAgIGlmIChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsK
ICAgICAgICAgICAgICAgICBpZiAodG90YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFibGVMb2dpY2Fs
V2lkdGggJiYgdHJhaWxpbmdTcGFjZVJ1bikKLSAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdT
cGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXgoMCwgdHJhaWxpbmdTcGFjZVJ1bi0+
bV9ib3gtPmxvZ2ljYWxXaWR0aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFpbGFibGVMb2dp
Y2FsV2lkdGgpKTsKKyAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gt
PnNldExvZ2ljYWxXaWR0aChtYXgoMC5mLCB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNh
bFdpZHRoKCkgLSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOwog
ICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAodHJhaWxpbmdTcGFjZVJ1
bikKICAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2lj
YWxXaWR0aCgwKTsKQEAgLTQxNiw3ICs0MTYsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRl
SW5saW5lRGlyZWN0aW9uCiAgICAgICAgICAgICAvLyBmb3IgcmlnaHQgdG8gbGVmdCBmYWxsIHRo
cm91Z2ggdG8gcmlnaHQgYWxpZ25lZAogICAgICAgICAgICAgaWYgKHN0eWxlKCktPmlzTGVmdFRv
UmlnaHREaXJlY3Rpb24oKSkgewogICAgICAgICAgICAgICAgIGlmICh0b3RhbExvZ2ljYWxXaWR0
aCA+IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAmJiB0cmFpbGluZ1NwYWNlUnVuKQotICAgICAgICAg
ICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgw
LCB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCkgLSB0b3RhbExvZ2ljYWxX
aWR0aCArIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOworICAgICAgICAgICAgICAgICAgICB0cmFp
bGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgwLmYsIHRyYWlsaW5nU3Bh
Y2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNhbFdpZHRoICsgYXZhaWxh
YmxlTG9naWNhbFdpZHRoKSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9
CiAgICAgICAgIGNhc2UgUklHSFQ6CkBAIC00MjcsMTMgKzQyNywxMyBAQCB2b2lkIFJlbmRlckJs
b2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uCiAgICAgICAgICAgICBpZiAoc3R5bGUoKS0+aXNM
ZWZ0VG9SaWdodERpcmVjdGlvbigpKSB7CiAgICAgICAgICAgICAgICAgaWYgKHRyYWlsaW5nU3Bh
Y2VSdW4pIHsKICAgICAgICAgICAgICAgICAgICAgdG90YWxMb2dpY2FsV2lkdGggLT0gdHJhaWxp
bmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpOwotICAgICAgICAgICAgICAgICAgICB0
cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKDApOworICAgICAgICAgICAg
ICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKDAuZik7CiAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGlmICh0b3RhbExvZ2ljYWxXaWR0aCA8
IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkKICAgICAgICAgICAgICAgICAgICAgbG9naWNhbExlZnQg
Kz0gYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGg7CiAgICAgICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGlmICh0b3RhbExvZ2ljYWxXaWR0aCA+IGF2YWls
YWJsZUxvZ2ljYWxXaWR0aCAmJiB0cmFpbGluZ1NwYWNlUnVuKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAsIHRyYWls
aW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNhbFdpZHRoICsg
YXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7CisgICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU3Bh
Y2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAuZiwgdHJhaWxpbmdTcGFjZVJ1bi0+
bV9ib3gtPmxvZ2ljYWxXaWR0aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFpbGFibGVMb2dp
Y2FsV2lkdGgpKTsKICAgICAgICAgICAgICAgICAgICAgdG90YWxMb2dpY2FsV2lkdGggLT0gdHJh
aWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpOwogICAgICAgICAgICAgICAgIH0g
ZWxzZQogICAgICAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdCArPSBhdmFpbGFibGVMb2dpY2Fs
V2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aDsKQEAgLTQ0MSwxNCArNDQxLDE0IEBAIHZvaWQgUmVu
ZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb24KICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBjYXNlIENFTlRFUjoKICAgICAgICAgY2FzZSBXRUJLSVRfQ0VOVEVSOgotICAgICAgICAg
ICAgaW50IHRyYWlsaW5nU3BhY2VXaWR0aCA9IDA7CisgICAgICAgICAgICBmbG9hdCB0cmFpbGlu
Z1NwYWNlV2lkdGggPSAwLmY7CiAgICAgICAgICAgICBpZiAodHJhaWxpbmdTcGFjZVJ1bikgewog
ICAgICAgICAgICAgICAgIHRvdGFsTG9naWNhbFdpZHRoIC09IHRyYWlsaW5nU3BhY2VSdW4tPm1f
Ym94LT5sb2dpY2FsV2lkdGgoKTsKICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlV2lkdGgg
PSBtaW4odHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpLCAoYXZhaWxhYmxl
TG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGggKyAxKSAvIDIpOwotICAgICAgICAgICAg
ICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAsIHRyYWls
aW5nU3BhY2VXaWR0aCkpOworICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94
LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAuZiwgdHJhaWxpbmdTcGFjZVdpZHRoKSk7CiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigp
KQotICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IG1heCgoYXZhaWxhYmxlTG9naWNhbFdp
ZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpIC8gMiwgMCk7CisgICAgICAgICAgICAgICAgbG9naWNh
bExlZnQgKz0gbWF4KChhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkg
LyAyLmYsIDAuZik7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgbG9naWNhbExl
ZnQgKz0gdG90YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFibGVMb2dpY2FsV2lkdGggPyAoYXZhaWxh
YmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpIDogKGF2YWlsYWJsZUxvZ2ljYWxX
aWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoKSAvIDIgLSB0cmFpbGluZ1NwYWNlV2lkdGg7CiAgICAg
ICAgICAgICBicmVhazsKQEAgLTQ2OCw3ICs0NjgsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21w
dXRlSW5saW5lRGlyZWN0aW9uCiAgICAgICAgICAgICAgICAgLy8gT25seSBqdXN0aWZ5IHRleHQg
aWYgd2hpdGVzcGFjZSBpcyBjb2xsYXBzZWQuCiAgICAgICAgICAgICAgICAgaWYgKHItPm1fb2Jq
ZWN0LT5zdHlsZSgpLT5jb2xsYXBzZVdoaXRlU3BhY2UoKSkgewogICAgICAgICAgICAgICAgICAg
ICBJbmxpbmVUZXh0Qm94KiB0ZXh0Qm94ID0gc3RhdGljX2Nhc3Q8SW5saW5lVGV4dEJveCo+KHIt
Pm1fYm94KTsKLSAgICAgICAgICAgICAgICAgICAgaW50IGV4cGFuc2lvbiA9IChhdmFpbGFibGVM
b2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkgKiBvcHBvcnR1bml0aWVzSW5SdW4gLyBl
eHBhbnNpb25PcHBvcnR1bml0eUNvdW50OworICAgICAgICAgICAgICAgICAgICBmbG9hdCBleHBh
bnNpb24gPSAoYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpICogb3Bw
b3J0dW5pdGllc0luUnVuIC8gZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudDsKICAgICAgICAgICAg
ICAgICAgICAgdGV4dEJveC0+c2V0RXhwYW5zaW9uKGV4cGFuc2lvbik7CiAgICAgICAgICAgICAg
ICAgICAgIHRvdGFsTG9naWNhbFdpZHRoICs9IGV4cGFuc2lvbjsKICAgICAgICAgICAgICAgICB9
CkBAIC0xMzY4LDEzICsxMzY4LDEzIEBAIHN0YXRpYyBib29sIHNob3VsZFNraXBXaGl0ZXNwYWNl
QWZ0ZXJTdGEKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXZvaWQgUmVuZGVyQmxvY2s6OmZpdEJl
bG93RmxvYXRzKGludCB3aWR0aFRvRml0LCBib29sIGZpcnN0TGluZSwgaW50JiBhdmFpbGFibGVX
aWR0aCkKK3ZvaWQgUmVuZGVyQmxvY2s6OmZpdEJlbG93RmxvYXRzKGZsb2F0IHdpZHRoVG9GaXQs
IGJvb2wgZmlyc3RMaW5lLCBmbG9hdCYgYXZhaWxhYmxlV2lkdGgpCiB7CiAgICAgQVNTRVJUKHdp
ZHRoVG9GaXQgPiBhdmFpbGFibGVXaWR0aCk7CiAKICAgICBpbnQgZmxvYXRMb2dpY2FsQm90dG9t
OwogICAgIGludCBsYXN0RmxvYXRMb2dpY2FsQm90dG9tID0gbG9naWNhbEhlaWdodCgpOwotICAg
IGludCBuZXdMaW5lV2lkdGggPSBhdmFpbGFibGVXaWR0aDsKKyAgICBmbG9hdCBuZXdMaW5lV2lk
dGggPSBhdmFpbGFibGVXaWR0aDsKICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICBmbG9hdExv
Z2ljYWxCb3R0b20gPSBuZXh0RmxvYXRMb2dpY2FsQm90dG9tQmVsb3cobGFzdEZsb2F0TG9naWNh
bEJvdHRvbSk7CiAgICAgICAgIGlmICghZmxvYXRMb2dpY2FsQm90dG9tKQpAQCAtMTM5MiwxOSAr
MTM5MiwxOSBAQCB2b2lkIFJlbmRlckJsb2NrOjpmaXRCZWxvd0Zsb2F0cyhpbnQgd2lkCiAgICAg
fQogfQogCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIHRleHRXaWR0aChSZW5kZXJUZXh0KiB0ZXh0
LCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbnN0IEZvbnQmIGZvbnQsIGludCB4UG9z
LCBib29sIGlzRml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UpCitzdGF0aWMgaW5s
aW5lIGZsb2F0IHRleHRXaWR0aChSZW5kZXJUZXh0KiB0ZXh0LCB1bnNpZ25lZCBmcm9tLCB1bnNp
Z25lZCBsZW4sIGNvbnN0IEZvbnQmIGZvbnQsIGZsb2F0IHhQb3MsIGJvb2wgaXNGaXhlZFBpdGNo
LCBib29sIGNvbGxhcHNlV2hpdGVTcGFjZSkKIHsKICAgICBpZiAoaXNGaXhlZFBpdGNoIHx8ICgh
ZnJvbSAmJiBsZW4gPT0gdGV4dC0+dGV4dExlbmd0aCgpKSB8fCB0ZXh0LT5zdHlsZSgpLT5oYXNU
ZXh0Q29tYmluZSgpKQogICAgICAgICByZXR1cm4gdGV4dC0+d2lkdGgoZnJvbSwgbGVuLCBmb250
LCB4UG9zKTsKICAgICByZXR1cm4gZm9udC53aWR0aChUZXh0UnVuKHRleHQtPmNoYXJhY3RlcnMo
KSArIGZyb20sIGxlbiwgIWNvbGxhcHNlV2hpdGVTcGFjZSwgeFBvcykpOwogfQogCi1zdGF0aWMg
dm9pZCB0cnlIeXBoZW5hdGluZyhSZW5kZXJUZXh0KiB0ZXh0LCBjb25zdCBGb250JiBmb250LCBj
b25zdCBBdG9taWNTdHJpbmcmIGxvY2FsZUlkZW50aWZpZXIsIGludCBsYXN0U3BhY2UsIGludCBw
b3MsIGludCB4UG9zLCBpbnQgYXZhaWxhYmxlV2lkdGgsIGJvb2wgaXNGaXhlZFBpdGNoLCBib29s
IGNvbGxhcHNlV2hpdGVTcGFjZSwgaW50IGxhc3RTcGFjZVdvcmRTcGFjaW5nLCBJbmxpbmVJdGVy
YXRvciYgbGluZUJyZWFrLCBpbnQgbmV4dEJyZWFrYWJsZSwgYm9vbCYgaHlwaGVuYXRlZCkKK3N0
YXRpYyB2b2lkIHRyeUh5cGhlbmF0aW5nKFJlbmRlclRleHQqIHRleHQsIGNvbnN0IEZvbnQmIGZv
bnQsIGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxlSWRlbnRpZmllciwgaW50IGxhc3RTcGFjZSwg
aW50IHBvcywgZmxvYXQgeFBvcywgaW50IGF2YWlsYWJsZVdpZHRoLCBib29sIGlzRml4ZWRQaXRj
aCwgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UsIGludCBsYXN0U3BhY2VXb3JkU3BhY2luZywgSW5s
aW5lSXRlcmF0b3ImIGxpbmVCcmVhaywgaW50IG5leHRCcmVha2FibGUsIGJvb2wmIGh5cGhlbmF0
ZWQpCiB7CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBoeXBoZW5TdHJpbmcgPSB0ZXh0LT5zdHls
ZSgpLT5oeXBoZW5TdHJpbmcoKTsKICAgICBpbnQgaHlwaGVuV2lkdGggPSBmb250LndpZHRoKFRl
eHRSdW4oaHlwaGVuU3RyaW5nLmNoYXJhY3RlcnMoKSwgaHlwaGVuU3RyaW5nLmxlbmd0aCgpKSk7
CiAKLSAgICBpbnQgbWF4UHJlZml4V2lkdGggPSBhdmFpbGFibGVXaWR0aCAtIHhQb3MgLSBoeXBo
ZW5XaWR0aCAtIGxhc3RTcGFjZVdvcmRTcGFjaW5nOworICAgIGZsb2F0IG1heFByZWZpeFdpZHRo
ID0gYXZhaWxhYmxlV2lkdGggLSB4UG9zIC0gaHlwaGVuV2lkdGggLSBsYXN0U3BhY2VXb3JkU3Bh
Y2luZzsKICAgICAvLyBJZiB0aGUgbWF4aW11bSB3aWR0aCBhdmFpbGFibGUgZm9yIHRoZSBwcmVm
aXggYmVmb3JlIHRoZSBoeXBoZW4gaXMgc21hbGwsIHRoZW4gaXQgaXMgdmVyeSB1bmxpa2VseQog
ICAgIC8vIHRoYXQgYW4gaHlwaGVuYXRpb24gb3Bwb3J0dW5pdHkgZXhpc3RzLCBzbyBkbyBub3Qg
Ym90aGVyIHRvIGxvb2sgZm9yIGl0LgogICAgIGlmIChtYXhQcmVmaXhXaWR0aCA8PSBmb250LnBp
eGVsU2l6ZSgpICogNSAvIDQpCkBAIC0xNDE5LDcgKzE0MTksNyBAQCBzdGF0aWMgdm9pZCB0cnlI
eXBoZW5hdGluZyhSZW5kZXJUZXh0KiB0CiAgICAgICAgIHJldHVybjsKIAogI2lmICFBU1NFUlRf
RElTQUJMRUQKLSAgICBpbnQgcHJlZml4V2lkdGggPSBoeXBoZW5XaWR0aCArIHRleHRXaWR0aCh0
ZXh0LCBsYXN0U3BhY2UsIHByZWZpeExlbmd0aCwgZm9udCwgeFBvcywgaXNGaXhlZFBpdGNoLCBj
b2xsYXBzZVdoaXRlU3BhY2UpICsgbGFzdFNwYWNlV29yZFNwYWNpbmc7CisgICAgZmxvYXQgcHJl
Zml4V2lkdGggPSBoeXBoZW5XaWR0aCArIHRleHRXaWR0aCh0ZXh0LCBsYXN0U3BhY2UsIHByZWZp
eExlbmd0aCwgZm9udCwgeFBvcywgaXNGaXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UpICsg
bGFzdFNwYWNlV29yZFNwYWNpbmc7CiAgICAgQVNTRVJUKHhQb3MgKyBwcmVmaXhXaWR0aCA8PSBh
dmFpbGFibGVXaWR0aCk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShpc0ZpeGVkUGl0Y2gpOwpA
QCAtMTQzOSwxMCArMTQzOSwxMCBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9jazo6ZmluZE5l
eHRMaW5lCiAgICAgYm9vbCBhcHBsaWVkU3RhcnRXaWR0aCA9IHJlc29sdmVyLnBvc2l0aW9uKCku
cG9zID4gMDsKICAgICBMaW5lTWlkcG9pbnRTdGF0ZSYgbGluZU1pZHBvaW50U3RhdGUgPSByZXNv
bHZlci5taWRwb2ludFN0YXRlKCk7CiAgICAgCi0gICAgaW50IHdpZHRoID0gc2tpcExlYWRpbmdX
aGl0ZXNwYWNlKHJlc29sdmVyLCBmaXJzdExpbmUsIGlzTGluZUVtcHR5LCBwcmV2aW91c0xpbmVC
cm9rZUNsZWFubHksIGxhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUpOworICAgIGZsb2F0IHdpZHRo
ID0gc2tpcExlYWRpbmdXaGl0ZXNwYWNlKHJlc29sdmVyLCBmaXJzdExpbmUsIGlzTGluZUVtcHR5
LCBwcmV2aW91c0xpbmVCcm9rZUNsZWFubHksIGxhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUpOwog
Ci0gICAgaW50IHcgPSAwOwotICAgIGludCB0bXBXID0gMDsKKyAgICBmbG9hdCB3ID0gMDsKKyAg
ICBmbG9hdCB0bXBXID0gMDsKIAogICAgIGlmIChyZXNvbHZlci5wb3NpdGlvbigpLmF0RW5kKCkp
CiAgICAgICAgIHJldHVybiByZXNvbHZlci5wb3NpdGlvbigpOwpAQCAtMTQ2MSw4ICsxNDYxLDgg
QEAgSW5saW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZQogCiAgICAgSW5saW5l
SXRlcmF0b3IgbEJyZWFrID0gcmVzb2x2ZXIucG9zaXRpb24oKTsKIAotICAgIFJlbmRlck9iamVj
dCAqbyA9IHJlc29sdmVyLnBvc2l0aW9uKCkub2JqOwotICAgIFJlbmRlck9iamVjdCAqbGFzdCA9
IG87CisgICAgUmVuZGVyT2JqZWN0KiBvID0gcmVzb2x2ZXIucG9zaXRpb24oKS5vYmo7CisgICAg
UmVuZGVyT2JqZWN0KiBsYXN0ID0gbzsKICAgICB1bnNpZ25lZCBwb3MgPSByZXNvbHZlci5wb3Np
dGlvbigpLnBvczsKICAgICBpbnQgbmV4dEJyZWFrYWJsZSA9IHJlc29sdmVyLnBvc2l0aW9uKCku
bmV4dEJyZWFrYWJsZVBvc2l0aW9uOwogICAgIGJvb2wgYXRTdGFydCA9IHRydWU7CkBAIC0xNjU5
LDIyICsxNjU5LDIyIEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4dExpbmUK
ICAgICAgICAgICAgIGJvb2wgY2FuSHlwaGVuYXRlID0gc3R5bGUtPmh5cGhlbnMoKSA9PSBIeXBo
ZW5zQXV0byAmJiBXZWJDb3JlOjpjYW5IeXBoZW5hdGUoc3R5bGUtPmh5cGhlbmF0aW9uTG9jYWxl
KCkpOwogCiAgICAgICAgICAgICBpbnQgbGFzdFNwYWNlID0gcG9zOwotICAgICAgICAgICAgaW50
IHdvcmRTcGFjaW5nID0gby0+c3R5bGUoKS0+d29yZFNwYWNpbmcoKTsKLSAgICAgICAgICAgIGlu
dCBsYXN0U3BhY2VXb3JkU3BhY2luZyA9IDA7CisgICAgICAgICAgICBmbG9hdCB3b3JkU3BhY2lu
ZyA9IG8tPnN0eWxlKCktPndvcmRTcGFjaW5nKCk7CisgICAgICAgICAgICBmbG9hdCBsYXN0U3Bh
Y2VXb3JkU3BhY2luZyA9IDA7CiAKICAgICAgICAgICAgIC8vIE5vbi16ZXJvIG9ubHkgd2hlbiBr
ZXJuaW5nIGlzIGVuYWJsZWQsIGluIHdoaWNoIGNhc2Ugd2UgbWVhc3VyZSB3b3JkcyB3aXRoIHRo
ZWlyIHRyYWlsaW5nCiAgICAgICAgICAgICAvLyBzcGFjZSwgdGhlbiBzdWJ0cmFjdCBpdHMgd2lk
dGguCi0gICAgICAgICAgICBpbnQgd29yZFRyYWlsaW5nU3BhY2VXaWR0aCA9IGYudHlwZXNldHRp
bmdGZWF0dXJlcygpICYgS2VybmluZyA/IGYud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKSArIHdv
cmRTcGFjaW5nIDogMDsKKyAgICAgICAgICAgIGZsb2F0IHdvcmRUcmFpbGluZ1NwYWNlV2lkdGgg
PSBmLnR5cGVzZXR0aW5nRmVhdHVyZXMoKSAmIEtlcm5pbmcgPyBmLndpZHRoKFRleHRSdW4oJnNw
YWNlLCAxKSkgKyB3b3JkU3BhY2luZyA6IDA7CiAKLSAgICAgICAgICAgIGludCB3cmFwVyA9IHRt
cFcgKyBpbmxpbmVMb2dpY2FsV2lkdGgobywgIWFwcGxpZWRTdGFydFdpZHRoLCB0cnVlKTsKLSAg
ICAgICAgICAgIGludCBjaGFyV2lkdGggPSAwOworICAgICAgICAgICAgZmxvYXQgd3JhcFcgPSB0
bXBXICsgaW5saW5lTG9naWNhbFdpZHRoKG8sICFhcHBsaWVkU3RhcnRXaWR0aCwgdHJ1ZSk7Cisg
ICAgICAgICAgICBmbG9hdCBjaGFyV2lkdGggPSAwOwogICAgICAgICAgICAgYm9vbCBicmVha05C
U1AgPSBhdXRvV3JhcCAmJiBvLT5zdHlsZSgpLT5uYnNwTW9kZSgpID09IFNQQUNFOwogICAgICAg
ICAgICAgLy8gQXV0by13cmFwcGluZyB0ZXh0IHNob3VsZCB3cmFwIGluIHRoZSBtaWRkbGUgb2Yg
YSB3b3JkIG9ubHkgaWYgaXQgY291bGQgbm90IHdyYXAgYmVmb3JlIHRoZSB3b3JkLAogICAgICAg
ICAgICAgLy8gd2hpY2ggaXMgb25seSBwb3NzaWJsZSBpZiB0aGUgd29yZCBpcyB0aGUgZmlyc3Qg
dGhpbmcgb24gdGhlIGxpbmUsIHRoYXQgaXMsIGlmIHx3fCBpcyB6ZXJvLgogICAgICAgICAgICAg
Ym9vbCBicmVha1dvcmRzID0gby0+c3R5bGUoKS0+YnJlYWtXb3JkcygpICYmICgoYXV0b1dyYXAg
JiYgIXcpIHx8IGN1cnJXUyA9PSBQUkUpOwogICAgICAgICAgICAgYm9vbCBtaWRXb3JkQnJlYWsg
PSBmYWxzZTsKICAgICAgICAgICAgIGJvb2wgYnJlYWtBbGwgPSBvLT5zdHlsZSgpLT53b3JkQnJl
YWsoKSA9PSBCcmVha0FsbFdvcmRCcmVhayAmJiBhdXRvV3JhcDsKLSAgICAgICAgICAgIGludCBo
eXBoZW5XaWR0aCA9IDA7CisgICAgICAgICAgICBmbG9hdCBoeXBoZW5XaWR0aCA9IDA7CiAKICAg
ICAgICAgICAgIGlmICh0LT5pc1dvcmRCcmVhaygpKSB7CiAgICAgICAgICAgICAgICAgdyArPSB0
bXBXOwpAQCAtMTc0Myw3ICsxNzQzLDcgQEAgSW5saW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZp
bmROZXh0TGluZQogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg
ICB9CiAKLSAgICAgICAgICAgICAgICAgICAgaW50IGFkZGl0aW9uYWxUbXBXOworICAgICAgICAg
ICAgICAgICAgICBmbG9hdCBhZGRpdGlvbmFsVG1wVzsKICAgICAgICAgICAgICAgICAgICAgaWYg
KHdvcmRUcmFpbGluZ1NwYWNlV2lkdGggJiYgY3VycmVudENoYXJhY3RlcklzU3BhY2UpCiAgICAg
ICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsVG1wVyA9IHRleHRXaWR0aCh0LCBsYXN0U3Bh
Y2UsIHBvcyArIDEgLSBsYXN0U3BhY2UsIGYsIHcgKyB0bXBXLCBpc0ZpeGVkUGl0Y2gsIGNvbGxh
cHNlV2hpdGVTcGFjZSkgLSB3b3JkVHJhaWxpbmdTcGFjZVdpZHRoICsgbGFzdFNwYWNlV29yZFNw
YWNpbmc7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UKQEAgLTE4OTMsNyArMTg5Myw3IEBAIElu
bGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4dExpbmUKICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgLy8gSU1QT1JUQU5UOiBwb3MgaXMgPiBsZW5ndGggaGVyZSEKLSAgICAgICAg
ICAgIGludCBhZGRpdGlvbmFsVG1wVyA9IGlnbm9yaW5nU3BhY2VzID8gMCA6IHRleHRXaWR0aCh0
LCBsYXN0U3BhY2UsIHBvcyAtIGxhc3RTcGFjZSwgZiwgdyArIHRtcFcsIGlzRml4ZWRQaXRjaCwg
Y29sbGFwc2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOworICAgICAgICAgICAg
ZmxvYXQgYWRkaXRpb25hbFRtcFcgPSBpZ25vcmluZ1NwYWNlcyA/IDAgOiB0ZXh0V2lkdGgodCwg
bGFzdFNwYWNlLCBwb3MgLSBsYXN0U3BhY2UsIGYsIHcgKyB0bXBXLCBpc0ZpeGVkUGl0Y2gsIGNv
bGxhcHNlV2hpdGVTcGFjZSkgKyBsYXN0U3BhY2VXb3JkU3BhY2luZzsKICAgICAgICAgICAgIHRt
cFcgKz0gYWRkaXRpb25hbFRtcFc7CiAgICAgICAgICAgICB0bXBXICs9IGlubGluZUxvZ2ljYWxX
aWR0aChvLCAhYXBwbGllZFN0YXJ0V2lkdGgsIHRydWUpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMyOSw3ICsxMzI5
LDcgQEAgdm9pZCBSZW5kZXJCb3g6OnBvc2l0aW9uTGluZUJveChJbmxpbmVCbwogICAgICAgICBi
b3gtPnJlbW92ZSgpOwogICAgICAgICBib3gtPmRlc3Ryb3kocmVuZGVyQXJlbmEoKSk7CiAgICAg
fSBlbHNlIGlmIChpc1JlcGxhY2VkKCkpIHsKLSAgICAgICAgc2V0TG9jYXRpb24oYm94LT54KCks
IGJveC0+eSgpKTsKKyAgICAgICAgc2V0TG9jYXRpb24obHJvdW5kZihib3gtPngoKSksIGxyb3Vu
ZGYoYm94LT55KCkpKTsKICAgICAgICAgbV9pbmxpbmVCb3hXcmFwcGVyID0gYm94OwogICAgIH0K
IH0KQEAgLTMzNDgsNiArMzM0OCwyNCBAQCBJbnRTaXplIFJlbmRlckJveDo6ZmxpcEZvcldyaXRp
bmdNb2RlKGNvCiAgICAgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
PyBJbnRTaXplKG9mZnNldC53aWR0aCgpLCBoZWlnaHQoKSAtIG9mZnNldC5oZWlnaHQoKSkgOiBJ
bnRTaXplKHdpZHRoKCkgLSBvZmZzZXQud2lkdGgoKSwgb2Zmc2V0LmhlaWdodCgpKTsKIH0KIAor
RmxvYXRQb2ludCBSZW5kZXJCb3g6OmZsaXBGb3JXcml0aW5nTW9kZShjb25zdCBGbG9hdFBvaW50
JiBwb3NpdGlvbikgY29uc3QKK3sKKyAgICBpZiAoIXN0eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dy
aXRpbmdNb2RlKCkpCisgICAgICAgIHJldHVybiBwb3NpdGlvbjsKKyAgICByZXR1cm4gc3R5bGUo
KS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEZsb2F0UG9pbnQocG9zaXRpb24ueCgpLCBo
ZWlnaHQoKSAtIHBvc2l0aW9uLnkoKSkgOiBGbG9hdFBvaW50KHdpZHRoKCkgLSBwb3NpdGlvbi54
KCksIHBvc2l0aW9uLnkoKSk7Cit9CisKK3ZvaWQgUmVuZGVyQm94OjpmbGlwRm9yV3JpdGluZ01v
ZGUoRmxvYXRSZWN0JiByZWN0KSBjb25zdAoreworICAgIGlmICghc3R5bGUoKS0+aXNGbGlwcGVk
QmxvY2tzV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKHN0eWxlKCkt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCisgICAgICAgIHJlY3Quc2V0WShoZWlnaHQoKSAt
IHJlY3QubWF4WSgpKTsKKyAgICBlbHNlCisgICAgICAgIHJlY3Quc2V0WCh3aWR0aCgpIC0gcmVj
dC5tYXhYKCkpOworfQorCiBJbnRTaXplIFJlbmRlckJveDo6bG9jYXRpb25PZmZzZXRJbmNsdWRp
bmdGbGlwcGluZygpIGNvbnN0CiB7CiAgICAgaWYgKCFwYXJlbnQoKSB8fCAhcGFyZW50KCktPmlz
Qm94KCkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCShyZXZpc2lvbiA3
ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAkod29ya2luZyBj
b3B5KQpAQCAtMzg1LDYgKzM4NSw4IEBAIHB1YmxpYzoKICAgICBJbnRQb2ludCBmbGlwRm9yV3Jp
dGluZ01vZGVJbmNsdWRpbmdDb2x1bW5zKGNvbnN0IEludFBvaW50JikgY29uc3Q7CiAgICAgSW50
U2l6ZSBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgSW50U2l6ZSYpIGNvbnN0OwogICAgIHZvaWQg
ZmxpcEZvcldyaXRpbmdNb2RlKEludFJlY3QmKSBjb25zdDsKKyAgICBGbG9hdFBvaW50IGZsaXBG
b3JXcml0aW5nTW9kZShjb25zdCBGbG9hdFBvaW50JikgY29uc3Q7CisgICAgdm9pZCBmbGlwRm9y
V3JpdGluZ01vZGUoRmxvYXRSZWN0JikgY29uc3Q7CiAgICAgSW50U2l6ZSBsb2NhdGlvbk9mZnNl
dEluY2x1ZGluZ0ZsaXBwaW5nKCkgY29uc3Q7CiAKICAgICBJbnRSZWN0IGxvZ2ljYWxWaXN1YWxP
dmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihSZW5kZXJTdHlsZSopIGNvbnN0OwpJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuY3BwCShyZXZpc2lv
biA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAgdm9pZCBSZW5kZXJDb21iaW5lVGV4
dDo6c2V0VGV4dEludGVybmFsKAogICAgIG1fbmVlZHNGb250VXBkYXRlID0gdHJ1ZTsKIH0KIAot
dW5zaWduZWQgUmVuZGVyQ29tYmluZVRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVk
IGxlbmd0aCwgY29uc3QgRm9udCYgZm9udCwgaW50IHhQb3NpdGlvbiwgSGFzaFNldDxjb25zdCBT
aW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJm
bG93KSBjb25zdAorZmxvYXQgUmVuZGVyQ29tYmluZVRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20s
IHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgRm9udCYgZm9udCwgZmxvYXQgeFBvc2l0aW9uLCBIYXNo
U2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cq
IGdseXBoT3ZlcmZsb3cpIGNvbnN0CiB7CiAgICAgaWYgKCFjaGFyYWN0ZXJzKCkpCiAgICAgICAg
IHJldHVybiAwOwpAQCAtNjMsNyArNjMsNyBAQCB1bnNpZ25lZCBSZW5kZXJDb21iaW5lVGV4dDo6
d2lkdGgodW5zaWduCiAgICAgcmV0dXJuIFJlbmRlclRleHQ6OndpZHRoKGZyb20sIGxlbmd0aCwg
Zm9udCwgeFBvc2l0aW9uLCBmYWxsYmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93KTsKIH0KIAotdm9p
ZCBSZW5kZXJDb21iaW5lVGV4dDo6YWRqdXN0VGV4dE9yaWdpbihJbnRQb2ludCYgdGV4dE9yaWdp
biwgY29uc3QgSW50UmVjdCYgYm94UmVjdCkgY29uc3QKK3ZvaWQgUmVuZGVyQ29tYmluZVRleHQ6
OmFkanVzdFRleHRPcmlnaW4oRmxvYXRQb2ludCYgdGV4dE9yaWdpbiwgY29uc3QgRmxvYXRSZWN0
JiBib3hSZWN0KSBjb25zdAogewogICAgIGlmIChtX2lzQ29tYmluZWQpCiAgICAgICAgIHRleHRP
cmlnaW4ubW92ZShib3hSZWN0LmhlaWdodCgpIC8gMiAtIGNlaWxmKG1fY29tYmluZWRUZXh0V2lk
dGgpIC8gMiwgc3R5bGUoKS0+Zm9udCgpLnBpeGVsU2l6ZSgpKTsKQEAgLTk4LDcgKzk4LDcgQEAg
dm9pZCBSZW5kZXJDb21iaW5lVGV4dDo6Y29tYmluZVRleHQoKQogICAgIGJvb2wgc2hvdWxkVXBk
YXRlRm9udCA9IGZhbHNlOwogCiAgICAgZGVzY3JpcHRpb24uc2V0T3JpZW50YXRpb24oSG9yaXpv
bnRhbCk7IC8vIFdlIGFyZSBnb2luZyB0byBkcmF3IGNvbWJpbmVkIHRleHQgaG9yaXpvbnRhbGx5
LgotICAgIG1fY29tYmluZWRUZXh0V2lkdGggPSBzdHlsZSgpLT5mb250KCkuZmxvYXRXaWR0aChy
dW4pOworICAgIG1fY29tYmluZWRUZXh0V2lkdGggPSBzdHlsZSgpLT5mb250KCkud2lkdGgocnVu
KTsKICAgICBtX2lzQ29tYmluZWQgPSBtX2NvbWJpbmVkVGV4dFdpZHRoIDw9IGVtV2lkdGg7CiAK
ICAgICBpZiAobV9pc0NvbWJpbmVkKQpAQCAtMTEwLDcgKzExMCw3IEBAIHZvaWQgUmVuZGVyQ29t
YmluZVRleHQ6OmNvbWJpbmVUZXh0KCkKICAgICAgICAgICAgIGRlc2NyaXB0aW9uLnNldFdpZHRo
VmFyaWFudCh3aWR0aFZhcmlhbnRzW2ldKTsKICAgICAgICAgICAgIEZvbnQgY29tcHJlc3NlZEZv
bnQgPSBGb250KGRlc2NyaXB0aW9uLCBzdHlsZSgpLT5mb250KCkubGV0dGVyU3BhY2luZygpLCBz
dHlsZSgpLT5mb250KCkud29yZFNwYWNpbmcoKSk7CiAgICAgICAgICAgICBjb21wcmVzc2VkRm9u
dC51cGRhdGUoc3R5bGUoKS0+Zm9udCgpLmZvbnRTZWxlY3RvcigpKTsKLSAgICAgICAgICAgIGZs
b2F0IHJ1bldpZHRoID0gY29tcHJlc3NlZEZvbnQuZmxvYXRXaWR0aChydW4pOworICAgICAgICAg
ICAgZmxvYXQgcnVuV2lkdGggPSBjb21wcmVzc2VkRm9udC53aWR0aChydW4pOwogICAgICAgICAg
ICAgaWYgKHJ1bldpZHRoIDw9IGVtV2lkdGgpIHsKICAgICAgICAgICAgICAgICBtX2NvbWJpbmVk
VGV4dFdpZHRoID0gcnVuV2lkdGg7CiAgICAgICAgICAgICAgICAgbV9pc0NvbWJpbmVkID0gdHJ1
ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5o
CShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21i
aW5lVGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxMyArMzAsMTMgQEAgcHVibGljOgogICAg
IFJlbmRlckNvbWJpbmVUZXh0KE5vZGUqLCBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+KTsKIAogICAg
IHZvaWQgY29tYmluZVRleHQoKTsKLSAgICB2b2lkIGFkanVzdFRleHRPcmlnaW4oSW50UG9pbnQm
IHRleHRPcmlnaW4sIGNvbnN0IEludFJlY3QmIGJveFJlY3QpIGNvbnN0OworICAgIHZvaWQgYWRq
dXN0VGV4dE9yaWdpbihGbG9hdFBvaW50JiB0ZXh0T3JpZ2luLCBjb25zdCBGbG9hdFJlY3QmIGJv
eFJlY3QpIGNvbnN0OwogICAgIHZvaWQgY2hhcmFjdGVyc1RvUmVuZGVyKGludCBzdGFydCwgY29u
c3QgVUNoYXIqJiBjaGFyYWN0ZXJzLCBpbnQmIGxlbmd0aCkgY29uc3Q7CiAgICAgYm9vbCBpc0Nv
bWJpbmVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0NvbWJpbmVkOyB9Ci0gICAgaW50IGNvbWJpbmVk
VGV4dFdpZHRoKGNvbnN0IEZvbnQmIGZvbnQpIGNvbnN0IHsgcmV0dXJuIGZvbnQuc2l6ZSgpOyB9
CisgICAgZmxvYXQgY29tYmluZWRUZXh0V2lkdGgoY29uc3QgRm9udCYgZm9udCkgY29uc3QgeyBy
ZXR1cm4gZm9udC5zaXplKCk7IH0KIAogcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdp
ZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgRm9udCYsIGludCB4UG9z
aXRpb24sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAs
IEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9hdCB3aWR0aCh1bnNp
Z25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnQmLCBmbG9hdCB4UG9zaXRpb24s
IEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBo
T3ZlcmZsb3cqID0gMCkgY29uc3Q7CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1l
KCkgY29uc3QgeyByZXR1cm4gIlJlbmRlckNvbWJpbmVUZXh0IjsgfQogICAgIHZpcnR1YWwgdm9p
ZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRT
dHlsZSk7CiAgICAgdmlydHVhbCB2b2lkIHNldFRleHRJbnRlcm5hbChQYXNzUmVmUHRyPFN0cmlu
Z0ltcGw+KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9i
amVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVt
YmVkZGVkT2JqZWN0LmNwcAkocmV2aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTksOCAr
MTk5LDcgQEAgYm9vbCBSZW5kZXJFbWJlZGRlZE9iamVjdDo6Z2V0UmVwbGFjZW1lbgogICAgIGZv
bnQudXBkYXRlKDApOwogICAgIAogICAgIHJ1biA9IFRleHRSdW4obV9yZXBsYWNlbWVudFRleHQu
Y2hhcmFjdGVycygpLCBtX3JlcGxhY2VtZW50VGV4dC5sZW5ndGgoKSk7Ci0gICAgcnVuLmRpc2Fi
bGVSb3VuZGluZ0hhY2tzKCk7Ci0gICAgdGV4dFdpZHRoID0gZm9udC5mbG9hdFdpZHRoKHJ1bik7
CisgICAgdGV4dFdpZHRoID0gZm9udC53aWR0aChydW4pOwogICAgIAogICAgIHJlcGxhY2VtZW50
VGV4dFJlY3Quc2V0U2l6ZShGbG9hdFNpemUodGV4dFdpZHRoICsgcmVwbGFjZW1lbnRUZXh0Um91
bmRlZFJlY3RMZWZ0UmlnaHRUZXh0TWFyZ2luICogMiwgcmVwbGFjZW1lbnRUZXh0Um91bmRlZFJl
Y3RIZWlnaHQpKTsKICAgICBmbG9hdCB4ID0gKGNvbnRlbnRSZWN0LnNpemUoKS53aWR0aCgpIC8g
MiAtIHJlcGxhY2VtZW50VGV4dFJlY3Quc2l6ZSgpLndpZHRoKCkgLyAyKSArIGNvbnRlbnRSZWN0
LmxvY2F0aW9uKCkueCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZp
bGVVcGxvYWRDb250cm9sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI3Myw3ICsyNzMsNyBAQCB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpj
b21wdXRlUHJlCiAgICAgICAgIC8vIEZpZ3VyZSBvdXQgaG93IGJpZyB0aGUgZmlsZW5hbWUgc3Bh
Y2UgbmVlZHMgdG8gYmUgZm9yIGEgZ2l2ZW4gbnVtYmVyIG9mIGNoYXJhY3RlcnMKICAgICAgICAg
Ly8gKHVzaW5nICIwIiBhcyB0aGUgbm9taW5hbCBjaGFyYWN0ZXIpLgogICAgICAgICBjb25zdCBV
Q2hhciBjaCA9ICcwJzsKLSAgICAgICAgZmxvYXQgY2hhcldpZHRoID0gc3R5bGUoKS0+Zm9udCgp
LmZsb2F0V2lkdGgoVGV4dFJ1bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1Ry
YWlsaW5nRXhwYW5zaW9uLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSk7CisgICAgICAgIGZsb2F0IGNo
YXJXaWR0aCA9IHN0eWxlKCktPmZvbnQoKS53aWR0aChUZXh0UnVuKCZjaCwgMSwgZmFsc2UsIDAs
IDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlKSk7CiAgICAgICAgIG1f
bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gKGludCljZWlsZihjaGFyV2lkdGggKiBkZWZhdWx0
V2lkdGhOdW1DaGFycyk7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbWFnZS5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODEsNyArODEsNyBAQCBzdGF0
aWMgY29uc3QgdW5zaWduZWQgc2hvcnQgcGFkZGluZ0hlaWdoCiAKIC8vIEFsdCB0ZXh0IGlzIHJl
c3RyaWN0ZWQgdG8gdGhpcyBtYXhpbXVtIHNpemUsIGluIHBpeGVscy4gIFRoZXNlIGFyZQogLy8g
c2lnbmVkIGludGVnZXJzIGJlY2F1c2UgdGhleSBhcmUgY29tcGFyZWQgd2l0aCBvdGhlciBzaWdu
ZWQgdmFsdWVzLgotc3RhdGljIGNvbnN0IGludCBtYXhBbHRUZXh0V2lkdGggPSAxMDI0Oworc3Rh
dGljIGNvbnN0IGZsb2F0IG1heEFsdFRleHRXaWR0aCA9IDEwMjQ7CiBzdGF0aWMgY29uc3QgaW50
IG1heEFsdFRleHRIZWlnaHQgPSAyNTY7CiAKIEludFNpemUgUmVuZGVySW1hZ2U6OmltYWdlU2l6
ZUZvckVycm9yKENhY2hlZEltYWdlKiBuZXdJbWFnZSkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
NTksOCArNTU5LDggQEAgSW50UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzQm91bmRpbmdCb3goKQog
ICAgIEFTU0VSVCghZmlyc3RMaW5lQm94KCkgPT0gIWxhc3RMaW5lQm94KCkpOyAgLy8gRWl0aGVy
IGJvdGggYXJlIG51bGwgb3IgYm90aCBleGlzdC4KICAgICBpZiAoZmlyc3RMaW5lQm94KCkgJiYg
bGFzdExpbmVCb3goKSkgewogICAgICAgICAvLyBSZXR1cm4gdGhlIHdpZHRoIG9mIHRoZSBtaW5p
bWFsIGxlZnQgc2lkZSBhbmQgdGhlIG1heGltYWwgcmlnaHQgc2lkZS4KLSAgICAgICAgaW50IGxv
Z2ljYWxMZWZ0U2lkZSA9IDA7Ci0gICAgICAgIGludCBsb2dpY2FsUmlnaHRTaWRlID0gMDsKKyAg
ICAgICAgZmxvYXQgbG9naWNhbExlZnRTaWRlID0gMDsKKyAgICAgICAgZmxvYXQgbG9naWNhbFJp
Z2h0U2lkZSA9IDA7CiAgICAgICAgIGZvciAoSW5saW5lRmxvd0JveCogY3VyciA9IGZpcnN0TGlu
ZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dExpbmVCb3goKSkgewogICAgICAgICAgICAg
aWYgKGN1cnIgPT0gZmlyc3RMaW5lQm94KCkgfHwgY3Vyci0+bG9naWNhbExlZnQoKSA8IGxvZ2lj
YWxMZWZ0U2lkZSkKICAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBjdXJyLT5sb2dp
Y2FsTGVmdCgpOwpAQCAtNTcwLDExICs1NzAsMTEgQEAgSW50UmVjdCBSZW5kZXJJbmxpbmU6Omxp
bmVzQm91bmRpbmdCb3goKQogICAgICAgICAKICAgICAgICAgYm9vbCBpc0hvcml6b250YWwgPSBz
dHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpOwogICAgICAgICAKLSAgICAgICAgaW50
IHggPSBpc0hvcml6b250YWwgPyBsb2dpY2FsTGVmdFNpZGUgOiBmaXJzdExpbmVCb3goKS0+eCgp
OwotICAgICAgICBpbnQgeSA9IGlzSG9yaXpvbnRhbCA/IGZpcnN0TGluZUJveCgpLT55KCkgOiBs
b2dpY2FsTGVmdFNpZGU7Ci0gICAgICAgIGludCB3aWR0aCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2lj
YWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0TGluZUJveCgpLT5sb2dpY2FsQm90
dG9tKCkgLSB4OwotICAgICAgICBpbnQgaGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFzdExpbmVC
b3goKS0+bG9naWNhbEJvdHRvbSgpIC0geSA6IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVm
dFNpZGU7Ci0gICAgICAgIHJlc3VsdCA9IEludFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCk7Cisg
ICAgICAgIGZsb2F0IHggPSBpc0hvcml6b250YWwgPyBsb2dpY2FsTGVmdFNpZGUgOiBmaXJzdExp
bmVCb3goKS0+eCgpOworICAgICAgICBmbG9hdCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RMaW5l
Qm94KCktPnkoKSA6IGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICAgICAgZmxvYXQgd2lkdGggPSBpc0hv
cml6b250YWwgPyBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlIDogbGFzdExpbmVC
b3goKS0+bG9naWNhbEJvdHRvbSgpIC0geDsKKyAgICAgICAgZmxvYXQgaGVpZ2h0ID0gaXNIb3Jp
em9udGFsID8gbGFzdExpbmVCb3goKS0+bG9naWNhbEJvdHRvbSgpIC0geSA6IGxvZ2ljYWxSaWdo
dFNpZGUgLSBsb2dpY2FsTGVmdFNpZGU7CisgICAgICAgIHJlc3VsdCA9IGVuY2xvc2luZ0ludFJl
Y3QoRmxvYXRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpKTsKICAgICB9CiAKICAgICByZXR1cm4g
cmVzdWx0OwpAQCAtNTg2LDIwICs1ODYsMjAgQEAgSW50UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVz
VmlzdWFsT3ZlcmZsbwogICAgICAgICByZXR1cm4gSW50UmVjdCgpOwogCiAgICAgLy8gUmV0dXJu
IHRoZSB3aWR0aCBvZiB0aGUgbWluaW1hbCBsZWZ0IHNpZGUgYW5kIHRoZSBtYXhpbWFsIHJpZ2h0
IHNpZGUuCi0gICAgaW50IGxvZ2ljYWxMZWZ0U2lkZSA9IG51bWVyaWNfbGltaXRzPGludD46Om1h
eCgpOwotICAgIGludCBsb2dpY2FsUmlnaHRTaWRlID0gbnVtZXJpY19saW1pdHM8aW50Pjo6bWlu
KCk7CisgICAgZmxvYXQgbG9naWNhbExlZnRTaWRlID0gbnVtZXJpY19saW1pdHM8aW50Pjo6bWF4
KCk7CisgICAgZmxvYXQgbG9naWNhbFJpZ2h0U2lkZSA9IG51bWVyaWNfbGltaXRzPGludD46Om1p
bigpOwogICAgIGZvciAoSW5saW5lRmxvd0JveCogY3VyciA9IGZpcnN0TGluZUJveCgpOyBjdXJy
OyBjdXJyID0gY3Vyci0+bmV4dExpbmVCb3goKSkgewotICAgICAgICBsb2dpY2FsTGVmdFNpZGUg
PSBtaW4obG9naWNhbExlZnRTaWRlLCBjdXJyLT5sb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCkp
OwotICAgICAgICBsb2dpY2FsUmlnaHRTaWRlID0gbWF4KGxvZ2ljYWxSaWdodFNpZGUsIGN1cnIt
PmxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KCkpOworICAgICAgICBsb2dpY2FsTGVmdFNpZGUg
PSBtaW4obG9naWNhbExlZnRTaWRlLCBzdGF0aWNfY2FzdDxmbG9hdD4oY3Vyci0+bG9naWNhbExl
ZnRWaXN1YWxPdmVyZmxvdygpKSk7CisgICAgICAgIGxvZ2ljYWxSaWdodFNpZGUgPSBtYXgobG9n
aWNhbFJpZ2h0U2lkZSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGN1cnItPmxvZ2ljYWxSaWdodFZpc3Vh
bE92ZXJmbG93KCkpKTsKICAgICB9CiAKICAgICBib29sIGlzSG9yaXpvbnRhbCA9IHN0eWxlKCkt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CiAgICAgICAgIAotICAgIGludCB4ID0gaXNIb3Jp
em9udGFsID8gbG9naWNhbExlZnRTaWRlIDogZmlyc3RMaW5lQm94KCktPm1pblhWaXN1YWxPdmVy
ZmxvdygpOwotICAgIGludCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RMaW5lQm94KCktPm1pbllW
aXN1YWxPdmVyZmxvdygpIDogbG9naWNhbExlZnRTaWRlOwotICAgIGludCB3aWR0aCA9IGlzSG9y
aXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0TGluZUJv
eCgpLT5tYXhYVmlzdWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT5taW5YVmlzdWFsT3Zl
cmZsb3coKTsKLSAgICBpbnQgaGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFzdExpbmVCb3goKS0+
bWF4WVZpc3VhbE92ZXJmbG93KCkgLSBmaXJzdExpbmVCb3goKS0+bWluWVZpc3VhbE92ZXJmbG93
KCkgOiBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlOwotICAgIHJldHVybiBJbnRS
ZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpOworICAgIGZsb2F0IHggPSBpc0hvcml6b250YWwgPyBs
b2dpY2FsTGVmdFNpZGUgOiBmaXJzdExpbmVCb3goKS0+bWluWFZpc3VhbE92ZXJmbG93KCk7Cisg
ICAgZmxvYXQgeSA9IGlzSG9yaXpvbnRhbCA/IGZpcnN0TGluZUJveCgpLT5taW5ZVmlzdWFsT3Zl
cmZsb3coKSA6IGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICBmbG9hdCB3aWR0aCA9IGlzSG9yaXpvbnRh
bCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0TGluZUJveCgpLT5t
YXhYVmlzdWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT5taW5YVmlzdWFsT3ZlcmZsb3co
KTsKKyAgICBmbG9hdCBoZWlnaHQgPSBpc0hvcml6b250YWwgPyBsYXN0TGluZUJveCgpLT5tYXhZ
VmlzdWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT5taW5ZVmlzdWFsT3ZlcmZsb3coKSA6
IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGU7CisgICAgcmV0dXJuIGVuY2xvc2lu
Z0ludFJlY3QoRmxvYXRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpKTsKIH0KIAogSW50UmVjdCBS
ZW5kZXJJbmxpbmU6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVs
T2JqZWN0KiByZXBhaW50Q29udGFpbmVyKQpAQCAtOTYzLDggKzk2Myw4IEBAIHZvaWQgUmVuZGVy
SW5saW5lOjphZGRGb2N1c1JpbmdSZWN0cyhWZWMKIHsKICAgICBmb3IgKElubGluZUZsb3dCb3gq
IGN1cnIgPSBmaXJzdExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkp
IHsKICAgICAgICAgUm9vdElubGluZUJveCogcm9vdCA9IGN1cnItPnJvb3QoKTsKLSAgICAgICAg
aW50IHRvcCA9IG1heChyb290LT5saW5lVG9wKCksIGN1cnItPnkoKSk7Ci0gICAgICAgIGludCBi
b3R0b20gPSBtaW4ocm9vdC0+bGluZUJvdHRvbSgpLCBjdXJyLT55KCkgKyBjdXJyLT5sb2dpY2Fs
SGVpZ2h0KCkpOworICAgICAgICBpbnQgdG9wID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+
bG9naWNhbFRvcCgpKTsKKyAgICAgICAgaW50IGJvdHRvbSA9IG1pbihyb290LT5saW5lQm90dG9t
KCksIGN1cnItPmxvZ2ljYWxCb3R0b20oKSk7CiAgICAgICAgIEludFJlY3QgcmVjdCh0eCArIGN1
cnItPngoKSwgdHkgKyB0b3AsIGN1cnItPmxvZ2ljYWxXaWR0aCgpLCBib3R0b20gLSB0b3ApOwog
ICAgICAgICBpZiAoIXJlY3QuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmVjdHMuYXBwZW5kKHJl
Y3QpOwpAQCAtMTAxNSw4ICsxMDE1LDggQEAgdm9pZCBSZW5kZXJJbmxpbmU6OnBhaW50T3V0bGlu
ZShHcmFwaGljcwogICAgIHJlY3RzLmFwcGVuZChJbnRSZWN0KCkpOwogICAgIGZvciAoSW5saW5l
Rmxvd0JveCogY3VyciA9IGZpcnN0TGluZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dExp
bmVCb3goKSkgewogICAgICAgICBSb290SW5saW5lQm94KiByb290ID0gY3Vyci0+cm9vdCgpOwot
ICAgICAgICBpbnQgdG9wID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+eSgpKTsKLSAgICAg
ICAgaW50IGJvdHRvbSA9IG1pbihyb290LT5saW5lQm90dG9tKCksIGN1cnItPnkoKSArIGN1cnIt
PmxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgIGludCB0b3AgPSBtYXgocm9vdC0+bGluZVRvcCgp
LCBjdXJyLT5sb2dpY2FsVG9wKCkpOworICAgICAgICBpbnQgYm90dG9tID0gbWluKHJvb3QtPmxp
bmVCb3R0b20oKSwgY3Vyci0+bG9naWNhbEJvdHRvbSgpKTsKICAgICAgICAgcmVjdHMuYXBwZW5k
KEludFJlY3QoY3Vyci0+eCgpLCB0b3AsIGN1cnItPmxvZ2ljYWxXaWR0aCgpLCBib3R0b20gLSB0
b3ApKTsKICAgICB9CiAgICAgcmVjdHMuYXBwZW5kKEludFJlY3QoKSk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCShyZXZpc2lvbiA3ODM3MSkKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTExLDcgKzExMSw3IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6dXBkYXRlRnJvbUVsZW1l
bnQoKQogICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKCF0
ZXh0LmlzRW1wdHkoKSkgewotICAgICAgICAgICAgICAgIGZsb2F0IHRleHRXaWR0aCA9IGl0ZW1G
b250LmZsb2F0V2lkdGgoVGV4dFJ1bih0ZXh0LmltcGwoKSwgZmFsc2UsIDAsIDAsIFRleHRSdW46
OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSk7Cisg
ICAgICAgICAgICAgICAgZmxvYXQgdGV4dFdpZHRoID0gaXRlbUZvbnQud2lkdGgoVGV4dFJ1bih0
ZXh0LmltcGwoKSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24s
IGZhbHNlLCBmYWxzZSkpOwogICAgICAgICAgICAgICAgIHdpZHRoID0gbWF4KHdpZHRoLCB0ZXh0
V2lkdGgpOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0zMzMsNyArMzMzLDcgQEAgdm9p
ZCBSZW5kZXJMaXN0Qm94OjpwYWludEl0ZW1Gb3JlZ3JvdW5kKAogCiAgICAgdW5zaWduZWQgbGVu
Z3RoID0gaXRlbVRleHQubGVuZ3RoKCk7CiAgICAgY29uc3QgVUNoYXIqIHN0cmluZyA9IGl0ZW1U
ZXh0LmNoYXJhY3RlcnMoKTsKLSAgICBUZXh0UnVuIHRleHRSdW4oc3RyaW5nLCBsZW5ndGgsIGZh
bHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCAhaXRlbVN0eWxlLT5p
c0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIGl0ZW1TdHlsZS0+dW5pY29kZUJpZGkoKSA9PSBPdmVy
cmlkZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBUZXh0UnVuIHRleHRSdW4oc3RyaW5nLCBsZW5ndGgs
IGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCAhaXRlbVN0eWxl
LT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIGl0ZW1TdHlsZS0+dW5pY29kZUJpZGkoKSA9PSBP
dmVycmlkZSk7CiAKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRleHQKICAgICBpZiAoaXRlbVN0eWxl
LT52aXNpYmlsaXR5KCkgIT0gSElEREVOKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1lbnVMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWVudUxpc3QuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1MywxMCAr
MTUzLDEwIEBAIHZvaWQgUmVuZGVyTWVudUxpc3Q6OnVwZGF0ZU9wdGlvbnNXaWR0aCgKICAgICAg
ICAgICAgIGlmIChSZW5kZXJTdHlsZSogb3B0aW9uU3R5bGUgPSBlbGVtZW50LT5yZW5kZXJTdHls
ZSgpKQogICAgICAgICAgICAgICAgIG9wdGlvbldpZHRoICs9IG9wdGlvblN0eWxlLT50ZXh0SW5k
ZW50KCkuY2FsY01pblZhbHVlKDApOwogICAgICAgICAgICAgaWYgKCF0ZXh0LmlzRW1wdHkoKSkK
LSAgICAgICAgICAgICAgICBvcHRpb25XaWR0aCArPSBzdHlsZSgpLT5mb250KCkuZmxvYXRXaWR0
aCh0ZXh0KTsKKyAgICAgICAgICAgICAgICBvcHRpb25XaWR0aCArPSBzdHlsZSgpLT5mb250KCku
d2lkdGgodGV4dCk7CiAgICAgICAgICAgICBtYXhPcHRpb25XaWR0aCA9IG1heChtYXhPcHRpb25X
aWR0aCwgb3B0aW9uV2lkdGgpOwogICAgICAgICB9IGVsc2UgaWYgKCF0ZXh0LmlzRW1wdHkoKSkK
LSAgICAgICAgICAgIG1heE9wdGlvbldpZHRoID0gbWF4KG1heE9wdGlvbldpZHRoLCBzdHlsZSgp
LT5mb250KCkuZmxvYXRXaWR0aCh0ZXh0KSk7CisgICAgICAgICAgICBtYXhPcHRpb25XaWR0aCA9
IG1heChtYXhPcHRpb25XaWR0aCwgc3R5bGUoKS0+Zm9udCgpLndpZHRoKHRleHQpKTsKICAgICB9
CiAKICAgICBpbnQgd2lkdGggPSBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKG1heE9wdGlvbldpZHRo
KSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCShyZXZpc2lv
biA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTYwLDcgKzU2MCw3IEBAIEludFJlY3QgUmVuZGVyVGV4dDo6bG9jYWxD
YXJldFJlY3QoSW5saW4KICAgICByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKSA/IEludFJlY3QobGVmdCwgdG9wLCBjYXJldFdpZHRoLCBoZWlnaHQpIDogSW50UmVjdCh0
b3AsIGxlZnQsIGhlaWdodCwgY2FyZXRXaWR0aCk7CiB9CiAKLUFMV0FZU19JTkxJTkUgaW50IFJl
bmRlclRleHQ6OndpZHRoRnJvbUNhY2hlKGNvbnN0IEZvbnQmIGYsIGludCBzdGFydCwgaW50IGxl
biwgaW50IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250
cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKK0FMV0FZU19JTkxJTkUgZmxv
YXQgUmVuZGVyVGV4dDo6d2lkdGhGcm9tQ2FjaGUoY29uc3QgRm9udCYgZiwgaW50IHN0YXJ0LCBp
bnQgbGVuLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxi
YWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CiB7CiAgICAgaWYg
KHN0eWxlKCktPmhhc1RleHRDb21iaW5lKCkpIHsKICAgICAgICAgY29uc3QgUmVuZGVyQ29tYmlu
ZVRleHQqIGNvbWJpbmVUZXh0ID0gdG9SZW5kZXJDb21iaW5lVGV4dCh0aGlzKTsKQEAgLTU2OSw5
ICs1NjksOSBAQCBBTFdBWVNfSU5MSU5FIGludCBSZW5kZXJUZXh0Ojp3aWR0aEZyb21DCiAgICAg
fQogCiAgICAgaWYgKGYuaXNGaXhlZFBpdGNoKCkgJiYgIWYuaXNTbWFsbENhcHMoKSAmJiBtX2lz
QWxsQVNDSUkpIHsKLSAgICAgICAgaW50IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoID0gZi5zcGFj
ZVdpZHRoKCk7Ci0gICAgICAgIGludCB0YWJXaWR0aCA9IGFsbG93VGFicygpID8gbW9ub3NwYWNl
Q2hhcmFjdGVyV2lkdGggKiA4IDogMDsKLSAgICAgICAgaW50IHcgPSAwOworICAgICAgICBmbG9h
dCBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aCA9IGYuc3BhY2VXaWR0aCgpOworICAgICAgICBmbG9h
dCB0YWJXaWR0aCA9IGFsbG93VGFicygpID8gbW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGggKiA4IDog
MDsKKyAgICAgICAgZmxvYXQgdyA9IDA7CiAgICAgICAgIGJvb2wgaXNTcGFjZTsKICAgICAgICAg
Ym9vbCBwcmV2aW91c0NoYXJXYXNTcGFjZSA9IHRydWU7IC8vIEZJWE1FOiBQcmVzZXJ2ZXMgaGlz
dG9yaWNhbCBiZWhhdmlvciwgYnV0IHNlZW1zIHdyb25nIGZvciBzdGFydCA+IDAuCiAgICAgICAg
IEFTU0VSVChtX3RleHQpOwpAQCAtNTgzLDcgKzU4Myw3IEBAIEFMV0FZU19JTkxJTkUgaW50IFJl
bmRlclRleHQ6OndpZHRoRnJvbUMKICAgICAgICAgICAgICAgICAgICAgdyArPSBtb25vc3BhY2VD
aGFyYWN0ZXJXaWR0aDsKICAgICAgICAgICAgICAgICAgICAgaXNTcGFjZSA9IHRydWU7CiAgICAg
ICAgICAgICAgICAgfSBlbHNlIGlmIChjID09ICdcdCcpIHsKLSAgICAgICAgICAgICAgICAgICAg
dyArPSB0YWJXaWR0aCA/IHRhYldpZHRoIC0gKCh4UG9zICsgdykgJSB0YWJXaWR0aCkgOiBtb25v
c3BhY2VDaGFyYWN0ZXJXaWR0aDsKKyAgICAgICAgICAgICAgICAgICAgdyArPSB0YWJXaWR0aCA/
IHRhYldpZHRoIC0gZm1vZGYoeFBvcyArIHcsIHRhYldpZHRoKSA6IG1vbm9zcGFjZUNoYXJhY3Rl
cldpZHRoOwogICAgICAgICAgICAgICAgICAgICBpc1NwYWNlID0gdHJ1ZTsKICAgICAgICAgICAg
ICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgaXNTcGFjZSA9IGZhbHNlOwpAQCAtNjAx
LDEyICs2MDEsMTIgQEAgQUxXQVlTX0lOTElORSBpbnQgUmVuZGVyVGV4dDo6d2lkdGhGcm9tQwog
ICAgIHJldHVybiBmLndpZHRoKFRleHRSdW4odGV4dCgpLT5jaGFyYWN0ZXJzKCkgKyBzdGFydCwg
bGVuLCBhbGxvd1RhYnMoKSwgeFBvcyksIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwog
fQogCi12b2lkIFJlbmRlclRleHQ6OnRyaW1tZWRQcmVmV2lkdGhzKGludCBsZWFkV2lkdGgsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgYmVnaW5NaW5XLCBib29sJiBi
ZWdpbldTLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGVuZE1pblcs
IGJvb2wmIGVuZFdTLAordm9pZCBSZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldpZHRocyhmbG9hdCBs
ZWFkV2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBiZWdp
bk1pblcsIGJvb2wmIGJlZ2luV1MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZsb2F0JiBlbmRNaW5XLCBib29sJiBlbmRXUywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYm9vbCYgaGFzQnJlYWthYmxlQ2hhciwgYm9vbCYgaGFzQnJlYWssCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgYmVnaW5NYXhXLCBpbnQmIGVuZE1heFcs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgbWluVywgaW50JiBtYXhX
LCBib29sJiBzdHJpcEZyb250U3BhY2VzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmbG9hdCYgYmVnaW5NYXhXLCBmbG9hdCYgZW5kTWF4VywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZmxvYXQmIG1pblcsIGZsb2F0JiBtYXhXLCBib29sJiBzdHJpcEZy
b250U3BhY2VzKQogewogICAgIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlID0gc3R5bGUoKS0+Y29s
bGFwc2VXaGl0ZVNwYWNlKCk7CiAgICAgaWYgKCFjb2xsYXBzZVdoaXRlU3BhY2UpCkBAIC02NDYs
NyArNjQ2LDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldpZHRocyhpbnQgbAogICAg
ICAgICBjb25zdCBGb250JiBmID0gc3R5bGUoKS0+Zm9udCgpOyAvLyBGSVhNRTogVGhpcyBpZ25v
cmVzIGZpcnN0LWxpbmUuCiAgICAgICAgIGlmIChzdHJpcEZyb250U3BhY2VzKSB7CiAgICAgICAg
ICAgICBjb25zdCBVQ2hhciBzcGFjZSA9ICcgJzsKLSAgICAgICAgICAgIGludCBzcGFjZVdpZHRo
ID0gZi53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpOworICAgICAgICAgICAgZmxvYXQgc3BhY2VX
aWR0aCA9IGYud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKTsKICAgICAgICAgICAgIG1heFcgLT0g
c3BhY2VXaWR0aDsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBtYXhXICs9IGYud29yZFNw
YWNpbmcoKTsKQEAgLTY5NSwyMyArNjk1LDIzIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1NwYWNl
QWNjb3JkaW5nVG9TdHkKICAgICByZXR1cm4gYyA9PSAnICcgfHwgKGMgPT0gbm9CcmVha1NwYWNl
ICYmIHN0eWxlLT5uYnNwTW9kZSgpID09IFNQQUNFKTsKIH0KIAotaW50IFJlbmRlclRleHQ6Om1p
blByZWZlcnJlZExvZ2ljYWxXaWR0aCgpIGNvbnN0CitmbG9hdCBSZW5kZXJUZXh0OjptaW5Mb2dp
Y2FsV2lkdGgoKSBjb25zdAogewogICAgIGlmIChwcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHko
KSkKLSAgICAgICAgY29uc3RfY2FzdDxSZW5kZXJUZXh0Kj4odGhpcyktPmNvbXB1dGVQcmVmZXJy
ZWRMb2dpY2FsV2lkdGhzKDApOworICAgICAgICBjb25zdF9jYXN0PFJlbmRlclRleHQqPih0aGlz
KS0+Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoMC5mKTsKICAgICAgICAgCiAgICAgcmV0
dXJuIG1fbWluV2lkdGg7CiB9CiAKLWludCBSZW5kZXJUZXh0OjptYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGgoKSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6bWF4TG9naWNhbFdpZHRoKCkgY29uc3QK
IHsKICAgICBpZiAocHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KCkpCi0gICAgICAgIGNvbnN0
X2Nhc3Q8UmVuZGVyVGV4dCo+KHRoaXMpLT5jb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygw
KTsKKyAgICAgICAgY29uc3RfY2FzdDxSZW5kZXJUZXh0Kj4odGhpcyktPmNvbXB1dGVQcmVmZXJy
ZWRMb2dpY2FsV2lkdGhzKDAuZik7CiAgICAgICAgIAogICAgIHJldHVybiBtX21heFdpZHRoOwog
fQogCi12b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGludCBs
ZWFkV2lkdGgpCit2b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhz
KGZsb2F0IGxlYWRXaWR0aCkKIHsKICAgICBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4g
ZmFsbGJhY2tGb250czsKICAgICBHbHlwaE92ZXJmbG93IGdseXBoT3ZlcmZsb3c7CkBAIC03MjAs
NyArNzIwLDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbAogICAg
ICAgICBtX2tub3duVG9IYXZlTm9PdmVyZmxvd0FuZE5vRmFsbGJhY2tGb250cyA9IHRydWU7CiB9
CiAKLXZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoaW50IGxl
YWRXaWR0aCwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxsYmFja0ZvbnRzLCBH
bHlwaE92ZXJmbG93JiBnbHlwaE92ZXJmbG93KQordm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJl
ZmVycmVkTG9naWNhbFdpZHRocyhmbG9hdCBsZWFkV2lkdGgsIEhhc2hTZXQ8Y29uc3QgU2ltcGxl
Rm9udERhdGEqPiYgZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyYgZ2x5cGhPdmVyZmxvdykK
IHsKICAgICBBU1NFUlQobV9oYXNUYWIgfHwgcHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KCkg
fHwgIW1fa25vd25Ub0hhdmVOb092ZXJmbG93QW5kTm9GYWxsYmFja0ZvbnRzKTsKIApAQCAtNzMy
LDggKzczMiw4IEBAIHZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWwKICAg
ICBpZiAoaXNCUigpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpbnQgY3Vyck1pbldpZHRoID0g
MDsKLSAgICBpbnQgY3Vyck1heFdpZHRoID0gMDsKKyAgICBmbG9hdCBjdXJyTWluV2lkdGggPSAw
OworICAgIGZsb2F0IGN1cnJNYXhXaWR0aCA9IDA7CiAgICAgbV9oYXNCcmVha2FibGVDaGFyID0g
ZmFsc2U7CiAgICAgbV9oYXNCcmVhayA9IGZhbHNlOwogICAgIG1faGFzVGFiID0gZmFsc2U7CkBA
IC03NDEsNyArNzQxLDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNh
bAogICAgIG1faGFzRW5kV1MgPSBmYWxzZTsKIAogICAgIGNvbnN0IEZvbnQmIGYgPSBzdHlsZSgp
LT5mb250KCk7IC8vIEZJWE1FOiBUaGlzIGlnbm9yZXMgZmlyc3QtbGluZS4KLSAgICBpbnQgd29y
ZFNwYWNpbmcgPSBzdHlsZSgpLT53b3JkU3BhY2luZygpOworICAgIGZsb2F0IHdvcmRTcGFjaW5n
ID0gc3R5bGUoKS0+d29yZFNwYWNpbmcoKTsKICAgICBpbnQgbGVuID0gdGV4dExlbmd0aCgpOwog
ICAgIGNvbnN0IFVDaGFyKiB0eHQgPSBjaGFyYWN0ZXJzKCk7CiAgICAgYm9vbCBuZWVkc1dvcmRT
cGFjaW5nID0gZmFsc2U7CkBAIC04MjEsNyArODIxLDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21w
dXRlUHJlZmVycmVkTG9naWNhbAogCiAgICAgICAgIGludCB3b3JkTGVuID0gaiAtIGk7CiAgICAg
ICAgIGlmICh3b3JkTGVuKSB7Ci0gICAgICAgICAgICBpbnQgdyA9IHdpZHRoRnJvbUNhY2hlKGYs
IGksIHdvcmRMZW4sIGxlYWRXaWR0aCArIGN1cnJNYXhXaWR0aCwgJmZhbGxiYWNrRm9udHMsICZn
bHlwaE92ZXJmbG93KTsKKyAgICAgICAgICAgIGZsb2F0IHcgPSB3aWR0aEZyb21DYWNoZShmLCBp
LCB3b3JkTGVuLCBsZWFkV2lkdGggKyBjdXJyTWF4V2lkdGgsICZmYWxsYmFja0ZvbnRzLCAmZ2x5
cGhPdmVyZmxvdyk7CiAgICAgICAgICAgICBpZiAoZmlyc3RHbHlwaExlZnRPdmVyZmxvdyA8IDAp
CiAgICAgICAgICAgICAgICAgZmlyc3RHbHlwaExlZnRPdmVyZmxvdyA9IGdseXBoT3ZlcmZsb3cu
bGVmdDsKICAgICAgICAgICAgIGN1cnJNaW5XaWR0aCArPSB3OwpAQCAtOTMzLDE3ICs5MzMsMTcg
QEAgYm9vbCBSZW5kZXJUZXh0Ojpjb250YWluc09ubHlXaGl0ZXNwYWNlKAogICAgIHJldHVybiBj
dXJyUG9zID49IChmcm9tICsgbGVuKTsKIH0KIAotSW50UG9pbnQgUmVuZGVyVGV4dDo6Zmlyc3RS
dW5PcmlnaW4oKSBjb25zdAorRmxvYXRQb2ludCBSZW5kZXJUZXh0OjpmaXJzdFJ1bk9yaWdpbigp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIEludFBvaW50KGZpcnN0UnVuWCgpLCBmaXJzdFJ1blkoKSk7
CiB9CiAKLWludCBSZW5kZXJUZXh0OjpmaXJzdFJ1blgoKSBjb25zdAorZmxvYXQgUmVuZGVyVGV4
dDo6Zmlyc3RSdW5YKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9maXJzdFRleHRCb3ggPyBtX2Zp
cnN0VGV4dEJveC0+bV94IDogMDsKIH0KIAotaW50IFJlbmRlclRleHQ6OmZpcnN0UnVuWSgpIGNv
bnN0CitmbG9hdCBSZW5kZXJUZXh0OjpmaXJzdFJ1blkoKSBjb25zdAogewogICAgIHJldHVybiBt
X2ZpcnN0VGV4dEJveCA/IG1fZmlyc3RUZXh0Qm94LT5tX3kgOiAwOwogfQpAQCAtMTIyMyw3ICsx
MjIzLDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpwb3NpdGlvbkxpbmVCb3goSW5saW5lQgogICAgIG1f
Y29udGFpbnNSZXZlcnNlZFRleHQgfD0gIXMtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKIH0K
IAotdW5zaWduZWQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVu
LCBpbnQgeFBvcywgYm9vbCBmaXJzdExpbmUsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEq
PiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKK2Zs
b2F0IFJlbmRlclRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgZmxvYXQg
eFBvcywgYm9vbCBmaXJzdExpbmUsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFs
bGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKICAgICBp
ZiAoZnJvbSA+PSB0ZXh0TGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiAwOwpAQCAtMTIzNCwxMyAr
MTIzNCwxMyBAQCB1bnNpZ25lZCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tCiAgICAg
cmV0dXJuIHdpZHRoKGZyb20sIGxlbiwgc3R5bGUoZmlyc3RMaW5lKS0+Zm9udCgpLCB4UG9zLCBm
YWxsYmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93KTsKIH0KIAotdW5zaWduZWQgUmVuZGVyVGV4dDo6
d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmLCBpbnQgeFBv
cywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92
ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6d2lkdGgodW5z
aWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmLCBmbG9hdCB4UG9zLCBIYXNo
U2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cq
IGdseXBoT3ZlcmZsb3cpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGZyb20gKyBsZW4gPD0gdGV4dExl
bmd0aCgpKTsKICAgICBpZiAoIWNoYXJhY3RlcnMoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAg
ICBpbnQgdzsKKyAgICBmbG9hdCB3OwogICAgIGlmICgmZiA9PSAmc3R5bGUoKS0+Zm9udCgpKSB7
CiAgICAgICAgIGlmICghc3R5bGUoKS0+cHJlc2VydmVOZXdsaW5lKCkgJiYgIWZyb20gJiYgbGVu
ID09IHRleHRMZW5ndGgoKSkgewogICAgICAgICAgICAgaWYgKGZhbGxiYWNrRm9udHMpIHsKQEAg
LTEyNTIsNyArMTI1Miw3IEBAIHVuc2lnbmVkIFJlbmRlclRleHQ6OndpZHRoKHVuc2lnbmVkIGZy
b20KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgdyA9IG1fbWF4V2lkdGg7CiAg
ICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB3ID0gbWF4UHJlZmVycmVkTG9naWNh
bFdpZHRoKCk7CisgICAgICAgICAgICAgICAgdyA9IG1heExvZ2ljYWxXaWR0aCgpOwogICAgICAg
ICB9IGVsc2UKICAgICAgICAgICAgIHcgPSB3aWR0aEZyb21DYWNoZShmLCBmcm9tLCBsZW4sIHhQ
b3MsIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogICAgIH0gZWxzZQpAQCAtMTI2OCw4
ICsxMjY4LDggQEAgSW50UmVjdCBSZW5kZXJUZXh0OjpsaW5lc0JvdW5kaW5nQm94KCkgYwogICAg
IEFTU0VSVCghZmlyc3RUZXh0Qm94KCkgPT0gIWxhc3RUZXh0Qm94KCkpOyAgLy8gRWl0aGVyIGJv
dGggYXJlIG51bGwgb3IgYm90aCBleGlzdC4KICAgICBpZiAoZmlyc3RUZXh0Qm94KCkgJiYgbGFz
dFRleHRCb3goKSkgewogICAgICAgICAvLyBSZXR1cm4gdGhlIHdpZHRoIG9mIHRoZSBtaW5pbWFs
IGxlZnQgc2lkZSBhbmQgdGhlIG1heGltYWwgcmlnaHQgc2lkZS4KLSAgICAgICAgaW50IGxvZ2lj
YWxMZWZ0U2lkZSA9IDA7Ci0gICAgICAgIGludCBsb2dpY2FsUmlnaHRTaWRlID0gMDsKKyAgICAg
ICAgZmxvYXQgbG9naWNhbExlZnRTaWRlID0gMDsKKyAgICAgICAgZmxvYXQgbG9naWNhbFJpZ2h0
U2lkZSA9IDA7CiAgICAgICAgIGZvciAoSW5saW5lVGV4dEJveCogY3VyciA9IGZpcnN0VGV4dEJv
eCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dFRleHRCb3goKSkgewogICAgICAgICAgICAgaWYg
KGN1cnIgPT0gZmlyc3RUZXh0Qm94KCkgfHwgY3Vyci0+bG9naWNhbExlZnQoKSA8IGxvZ2ljYWxM
ZWZ0U2lkZSkKICAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBjdXJyLT5sb2dpY2Fs
TGVmdCgpOwpAQCAtMTI3OSwxMSArMTI3OSwxMSBAQCBJbnRSZWN0IFJlbmRlclRleHQ6OmxpbmVz
Qm91bmRpbmdCb3goKSBjCiAgICAgICAgIAogICAgICAgICBib29sIGlzSG9yaXpvbnRhbCA9IHN0
eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CiAgICAgICAgIAotICAgICAgICBpbnQg
eCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxMZWZ0U2lkZSA6IGZpcnN0VGV4dEJveCgpLT54KCk7
Ci0gICAgICAgIGludCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RUZXh0Qm94KCktPnkoKSA6IGxv
Z2ljYWxMZWZ0U2lkZTsKLSAgICAgICAgaW50IHdpZHRoID0gaXNIb3Jpem9udGFsID8gbG9naWNh
bFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZSA6IGxhc3RUZXh0Qm94KCktPmxvZ2ljYWxCb3R0
b20oKSAtIHg7Ci0gICAgICAgIGludCBoZWlnaHQgPSBpc0hvcml6b250YWwgPyBsYXN0VGV4dEJv
eCgpLT5sb2dpY2FsQm90dG9tKCkgLSB5IDogbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0
U2lkZTsKLSAgICAgICAgcmVzdWx0ID0gSW50UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKKyAg
ICAgICAgZmxvYXQgeCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxMZWZ0U2lkZSA6IGZpcnN0VGV4
dEJveCgpLT54KCk7CisgICAgICAgIGZsb2F0IHkgPSBpc0hvcml6b250YWwgPyBmaXJzdFRleHRC
b3goKS0+eSgpIDogbG9naWNhbExlZnRTaWRlOworICAgICAgICBmbG9hdCB3aWR0aCA9IGlzSG9y
aXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0VGV4dEJv
eCgpLT5sb2dpY2FsQm90dG9tKCkgLSB4OworICAgICAgICBmbG9hdCBoZWlnaHQgPSBpc0hvcml6
b250YWwgPyBsYXN0VGV4dEJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB5IDogbG9naWNhbFJpZ2h0
U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICAgICAgcmVzdWx0ID0gZW5jbG9zaW5nSW50UmVj
dChGbG9hdFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCkpOwogICAgIH0KIAogICAgIHJldHVybiBy
ZXN1bHQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJKHJldmlzaW9u
IDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNzEsMjQgKzcxLDI0IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB0ZXh0TGVu
Z3RoKCkgY29uc3QgeyByZXR1cm4gbV90ZXh0Lmxlbmd0aCgpOyB9IC8vIG5vbiB2aXJ0dWFsIGlt
cGxlbWVudGF0aW9uIG9mIGxlbmd0aCgpCiAgICAgdm9pZCBwb3NpdGlvbkxpbmVCb3goSW5saW5l
Qm94Kik7CiAKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2ln
bmVkIGxlbiwgY29uc3QgRm9udCYsIGludCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnRE
YXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0OwotICAg
IHZpcnR1YWwgdW5zaWduZWQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBpbnQg
eFBvcywgYm9vbCBmaXJzdExpbmUgPSBmYWxzZSwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0
YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKKyAgICB2
aXJ0dWFsIGZsb2F0IHdpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgY29uc3QgRm9u
dCYsIGZsb2F0IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tG
b250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9hdCB3
aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGZsb2F0IHhQb3MsIGJvb2wgZmlyc3RM
aW5lID0gZmFsc2UsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250
cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIGludCBtaW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBtYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGgoKSBjb25zdDsKKyAgICBmbG9hdCBtaW5Mb2dpY2FsV2lkdGgoKSBjb25z
dDsKKyAgICBmbG9hdCBtYXhMb2dpY2FsV2lkdGgoKSBjb25zdDsKIAotICAgIHZvaWQgdHJpbW1l
ZFByZWZXaWR0aHMoaW50IGxlYWRXaWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCYgYmVnaW5NaW5XLCBib29sJiBiZWdpbldTLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50JiBlbmRNaW5XLCBib29sJiBlbmRXUywKKyAgICB2b2lkIHRyaW1tZWRQcmVmV2lkdGhzKGZs
b2F0IGxlYWRXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBiZWdpbk1p
blcsIGJvb2wmIGJlZ2luV1MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYgZW5k
TWluVywgYm9vbCYgZW5kV1MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sJiBoYXNC
cmVha2FibGVDaGFyLCBib29sJiBoYXNCcmVhaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCYgYmVnaW5NYXhXLCBpbnQmIGVuZE1heFcsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQmIG1pblcsIGludCYgbWF4VywgYm9vbCYgc3RyaXBGcm9udFNwYWNlcyk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICBmbG9hdCYgYmVnaW5NYXhXLCBmbG9hdCYgZW5kTWF4VywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBtaW5XLCBmbG9hdCYgbWF4VywgYm9vbCYg
c3RyaXBGcm9udFNwYWNlcyk7CiAKICAgICB2aXJ0dWFsIEludFJlY3QgbGluZXNCb3VuZGluZ0Jv
eCgpIGNvbnN0OwogCi0gICAgSW50UG9pbnQgZmlyc3RSdW5PcmlnaW4oKSBjb25zdDsKLSAgICBp
bnQgZmlyc3RSdW5YKCkgY29uc3Q7Ci0gICAgaW50IGZpcnN0UnVuWSgpIGNvbnN0OworICAgIEZs
b2F0UG9pbnQgZmlyc3RSdW5PcmlnaW4oKSBjb25zdDsKKyAgICBmbG9hdCBmaXJzdFJ1blgoKSBj
b25zdDsKKyAgICBmbG9hdCBmaXJzdFJ1blkoKSBjb25zdDsKIAogICAgIHZvaWQgc2V0VGV4dChQ
YXNzUmVmUHRyPFN0cmluZ0ltcGw+LCBib29sIGZvcmNlID0gZmFsc2UpOwogICAgIHZvaWQgc2V0
VGV4dFdpdGhPZmZzZXQoUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiwgdW5zaWduZWQgb2Zmc2V0LCB1
bnNpZ25lZCBsZW4sIGJvb2wgZm9yY2UgPSBmYWxzZSk7CkBAIC0xMjIsNyArMTIyLDcgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBjaGVja0NvbnNpc3RlbmN5KCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFs
IHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRXaWR0aCk7CisgICAg
dmlydHVhbCB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxlYWRXaWR0
aCk7CiAgICAgYm9vbCBpc0FsbENvbGxhcHNpYmxlV2hpdGVzcGFjZSgpOwogICAgIAogcHJvdGVj
dGVkOgpAQCAtMTM1LDcgKzEzNSw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIElubGluZVRl
eHRCb3gqIGNyZWF0ZVRleHRCb3goKTsgLy8gU3ViY2xhc3NlZCBieSBTVkcuCiAKIHByaXZhdGU6
Ci0gICAgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhpbnQgbGVhZFdpZHRoLCBI
YXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4mIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZs
b3cmKTsKKyAgICB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxlYWRX
aWR0aCwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxsYmFja0ZvbnRzLCBHbHlw
aE92ZXJmbG93Jik7CiAKICAgICAvLyBNYWtlIGxlbmd0aCgpIHByaXZhdGUgc28gdGhhdCBjYWxs
ZXJzIHRoYXQgaGF2ZSBhIFJlbmRlclRleHQqCiAgICAgLy8gd2lsbCB1c2UgdGhlIG1vcmUgZWZm
aWNpZW50IHRleHRMZW5ndGgoKSBpbnN0ZWFkLCB3aGlsZQpAQCAtMTQ4LDIyICsxNDgsMjIgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgZGVsZXRlVGV4dEJveGVzKCk7CiAgICAgYm9vbCBjb250YWlu
c09ubHlXaGl0ZXNwYWNlKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbikgY29uc3Q7Ci0gICAg
aW50IHdpZHRoRnJvbUNhY2hlKGNvbnN0IEZvbnQmLCBpbnQgc3RhcnQsIGludCBsZW4sIGludCB4
UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBo
T3ZlcmZsb3cqKSBjb25zdDsKKyAgICBmbG9hdCB3aWR0aEZyb21DYWNoZShjb25zdCBGb250Jiwg
aW50IHN0YXJ0LCBpbnQgbGVuLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnRE
YXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqKSBjb25zdDsKICAgICBib29sIGlz
QWxsQVNDSUkoKSBjb25zdCB7IHJldHVybiBtX2lzQWxsQVNDSUk7IH0KICAgICB2b2lkIHVwZGF0
ZU5lZWRzVHJhbnNjb2RpbmcoKTsKIAogICAgIGlubGluZSB2b2lkIHRyYW5zZm9ybVRleHQoU3Ry
aW5nJikgY29uc3Q7CiAKLSAgICBpbnQgbV9taW5XaWR0aDsgLy8gaGVyZSB0byBtaW5pbWl6ZSBw
YWRkaW5nIGluIDY0LWJpdC4KKyAgICBmbG9hdCBtX21pbldpZHRoOyAvLyBoZXJlIHRvIG1pbmlt
aXplIHBhZGRpbmcgaW4gNjQtYml0LgogCiAgICAgU3RyaW5nIG1fdGV4dDsKIAogICAgIElubGlu
ZVRleHRCb3gqIG1fZmlyc3RUZXh0Qm94OwogICAgIElubGluZVRleHRCb3gqIG1fbGFzdFRleHRC
b3g7CiAKLSAgICBpbnQgbV9tYXhXaWR0aDsKLSAgICBpbnQgbV9iZWdpbk1pbldpZHRoOwotICAg
IGludCBtX2VuZE1pbldpZHRoOworICAgIGZsb2F0IG1fbWF4V2lkdGg7CisgICAgZmxvYXQgbV9i
ZWdpbk1pbldpZHRoOworICAgIGZsb2F0IG1fZW5kTWluV2lkdGg7CiAKICAgICBib29sIG1faGFz
QnJlYWthYmxlQ2hhciA6IDE7IC8vIFdoZXRoZXIgb3Igbm90IHdlIGNhbiBiZSBicm9rZW4gaW50
byBtdWx0aXBsZSBsaW5lcy4KICAgICBib29sIG1faGFzQnJlYWsgOiAxOyAvLyBXaGV0aGVyIG9y
IG5vdCB3ZSBoYXZlIGEgaGFyZCBicmVhayAoZS5nLiwgPHByZT4gd2l0aCAnXG4nKS4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcAkocmV2
aXNpb24gNzgzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRy
b2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDQsNyArNTQ0LDcgQEAgZmxvYXQgUmVuZGVyVGV4
dENvbnRyb2w6OmdldEF2Z0NoYXJXaWR0aAogICAgICAgICByZXR1cm4gcm91bmRmKHN0eWxlKCkt
PmZvbnQoKS5wcmltYXJ5Rm9udCgpLT5hdmdDaGFyV2lkdGgoKSk7CiAKICAgICBjb25zdCBVQ2hh
ciBjaCA9ICcwJzsgCi0gICAgcmV0dXJuIHN0eWxlKCktPmZvbnQoKS5mbG9hdFdpZHRoKFRleHRS
dW4oJmNoLCAxLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwg
ZmFsc2UsIGZhbHNlLCBmYWxzZSkpOworICAgIHJldHVybiBzdHlsZSgpLT5mb250KCkud2lkdGgo
VGV4dFJ1bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5z
aW9uLCBmYWxzZSkpOwogfQogCiBmbG9hdCBSZW5kZXJUZXh0Q29udHJvbDo6c2NhbGVFbVRvVW5p
dHMoaW50IHgpIGNvbnN0CkBAIC02MzksNyArNjM5LDcgQEAgdm9pZCBSZW5kZXJUZXh0Q29udHJv
bDo6cGFpbnRQbGFjZWhvbGRlcgogICAgIHBhaW50SW5mby5jb250ZXh0LT5zZXRGaWxsQ29sb3Io
cGxhY2Vob2xkZXJTdHlsZS0+dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5Q29sb3Ip
LCBwbGFjZWhvbGRlclN0eWxlLT5jb2xvclNwYWNlKCkpOwogICAgIAogICAgIFN0cmluZyBwbGFj
ZWhvbGRlclRleHQgPSBzdGF0aWNfY2FzdDxIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCo+KG5v
ZGUoKSktPnN0cmlwcGVkUGxhY2Vob2xkZXIoKTsKLSAgICBUZXh0UnVuIHRleHRSdW4ocGxhY2Vo
b2xkZXJUZXh0LmNoYXJhY3RlcnMoKSwgcGxhY2Vob2xkZXJUZXh0Lmxlbmd0aCgpLCBmYWxzZSwg
MCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIXBsYWNlaG9sZGVyU3R5bGUt
PmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgcGxhY2Vob2xkZXJTdHlsZS0+dW5pY29kZUJpZGko
KSA9PSBPdmVycmlkZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBUZXh0UnVuIHRleHRSdW4ocGxhY2Vo
b2xkZXJUZXh0LmNoYXJhY3RlcnMoKSwgcGxhY2Vob2xkZXJUZXh0Lmxlbmd0aCgpLCBmYWxzZSwg
MCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIXBsYWNlaG9sZGVyU3R5bGUt
PmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgcGxhY2Vob2xkZXJTdHlsZS0+dW5pY29kZUJpZGko
KSA9PSBPdmVycmlkZSk7CiAgICAgCiAgICAgUmVuZGVyQm94KiB0ZXh0UmVuZGVyZXIgPSBpbm5l
clRleHRFbGVtZW50KCkgPyBpbm5lclRleHRFbGVtZW50KCktPnJlbmRlckJveCgpIDogMDsKICAg
ICBpZiAodGV4dFJlbmRlcmVyKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVHJlZUFzVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRyZWVBc1RleHQuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcwLDEx
ICs0NzAsMTcgQEAgdm9pZCBSZW5kZXJUcmVlQXNUZXh0Ojp3cml0ZVJlbmRlck9iamVjdAogCiBz
dGF0aWMgdm9pZCB3cml0ZVRleHRSdW4oVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRlclRleHQm
IG8sIGNvbnN0IElubGluZVRleHRCb3gmIHJ1bikKIHsKLSAgICAvLyBGSVhNRTogVGFibGUgY2Vs
bCBhZGp1c3RtZW50IGlzIHRlbXBvcmFyeSB1bnRpbCByZXN1bHRzIGNhbiBiZSB1cGRhdGVkLgor
ICAgIC8vIEZJWE1FOiBGb3Igbm93IHVzZSBhbiAiZW5jbG9zaW5nSW50UmVjdCIgbW9kZWwgZm9y
IHgsIHkgYW5kIGxvZ2ljYWxXaWR0aCwgYWx0aG91Z2ggdGhpcyBtYWtlcyBpdCBoYXJkZXIKKyAg
ICAvLyB0byBkZXRlY3QgYW55IGNoYW5nZXMgY2F1c2VkIGJ5IHRoZSBjb252ZXJzaW9uIHRvIGZs
b2F0aW5nIHBvaW50LiA6KAorICAgIGludCB4ID0gcnVuLm1feDsKICAgICBpbnQgeSA9IHJ1bi5t
X3k7CisgICAgaW50IGxvZ2ljYWxXaWR0aCA9IGNlaWxmKHJ1bi5tX3ggKyBydW4ubV9sb2dpY2Fs
V2lkdGgpIC0geDsKKworICAgIC8vIEZJWE1FOiBUYWJsZSBjZWxsIGFkanVzdG1lbnQgaXMgdGVt
cG9yYXJ5IHVudGlsIHJlc3VsdHMgY2FuIGJlIHVwZGF0ZWQuCiAgICAgaWYgKG8uY29udGFpbmlu
Z0Jsb2NrKCktPmlzVGFibGVDZWxsKCkpCiAgICAgICAgIHkgLT0gdG9SZW5kZXJUYWJsZUNlbGwo
by5jb250YWluaW5nQmxvY2soKSktPmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKTsKLSAgICB0cyA8
PCAidGV4dCBydW4gYXQgKCIgPDwgcnVuLm1feCA8PCAiLCIgPDwgeSA8PCAiKSB3aWR0aCAiIDw8
IHJ1bi5tX2xvZ2ljYWxXaWR0aDsKKyAgICAgICAgCisgICAgdHMgPDwgInRleHQgcnVuIGF0ICgi
IDw8IHggPDwgIiwiIDw8IHkgPDwgIikgd2lkdGggIiA8PCBsb2dpY2FsV2lkdGg7CiAgICAgaWYg
KCFydW4uaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpIHx8IHJ1bi5tX2Rpck92ZXJyaWRlKSB7CiAg
ICAgICAgIHRzIDw8ICghcnVuLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/ICIgUlRMIiA6ICIg
TFRSIik7CiAgICAgICAgIGlmIChydW4ubV9kaXJPdmVycmlkZSkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC05Nyw3ICs5Nyw3IEBAIGJvb2wgUm9vdElubGluZUJveDo6Y2FuQWNjb21tb2RhdGVFbGxpcHMK
ICAgICByZXR1cm4gSW5saW5lRmxvd0JveDo6Y2FuQWNjb21tb2RhdGVFbGxpcHNpcyhsdHIsIGJs
b2NrRWRnZSwgZWxsaXBzaXNXaWR0aCk7CiB9CiAKLXZvaWQgUm9vdElubGluZUJveDo6cGxhY2VF
bGxpcHNpcyhjb25zdCBBdG9taWNTdHJpbmcmIGVsbGlwc2lzU3RyLCAgYm9vbCBsdHIsIGludCBi
bG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLAordm9p
ZCBSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzKGNvbnN0IEF0b21pY1N0cmluZyYgZWxsaXBz
aXNTdHIsICBib29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVk
Z2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgSW5saW5lQm94KiBtYXJrdXBCb3gpCiB7CiAgICAgLy8gQ3JlYXRlIGFuIGVsbGlwc2lzIGJv
eC4KQEAgLTEyMyw5ICsxMjMsOSBAQCB2b2lkIFJvb3RJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXMo
Y29uc3QgCiAgICAgZWxsaXBzaXNCb3gtPm1feCA9IHBsYWNlRWxsaXBzaXNCb3gobHRyLCBibG9j
a0xlZnRFZGdlLCBibG9ja1JpZ2h0RWRnZSwgZWxsaXBzaXNXaWR0aCwgZm91bmRCb3gpOwogfQog
Ci1pbnQgUm9vdElubGluZUJveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgaW50IGJsb2Nr
TGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZv
dW5kQm94KQorZmxvYXQgUm9vdElubGluZUJveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwg
ZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lz
V2lkdGgsIGJvb2wmIGZvdW5kQm94KQogewotICAgIGludCByZXN1bHQgPSBJbmxpbmVGbG93Qm94
OjpwbGFjZUVsbGlwc2lzQm94KGx0ciwgYmxvY2tMZWZ0RWRnZSwgYmxvY2tSaWdodEVkZ2UsIGVs
bGlwc2lzV2lkdGgsIGZvdW5kQm94KTsKKyAgICBmbG9hdCByZXN1bHQgPSBJbmxpbmVGbG93Qm94
OjpwbGFjZUVsbGlwc2lzQm94KGx0ciwgYmxvY2tMZWZ0RWRnZSwgYmxvY2tSaWdodEVkZ2UsIGVs
bGlwc2lzV2lkdGgsIGZvdW5kQm94KTsKICAgICBpZiAocmVzdWx0ID09IC0xKQogICAgICAgICBy
ZXN1bHQgPSBsdHIgPyBibG9ja1JpZ2h0RWRnZSAtIGVsbGlwc2lzV2lkdGggOiBibG9ja0xlZnRF
ZGdlOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC0xOTgsMTAgKzE5OCwxMCBAQCBib29sIFJvb3RJ
bmxpbmVCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpCiAgICAgcmV0dXJuIElubGluZUZsb3dCb3g6
Om5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3VsdCwgeCwgeSwgdHgsIHR5KTsKIH0KIAotdm9pZCBS
b290SW5saW5lQm94OjphZGp1c3RQb3NpdGlvbihpbnQgZHgsIGludCBkeSkKK3ZvaWQgUm9vdElu
bGluZUJveDo6YWRqdXN0UG9zaXRpb24oZmxvYXQgZHgsIGZsb2F0IGR5KQogewogICAgIElubGlu
ZUZsb3dCb3g6OmFkanVzdFBvc2l0aW9uKGR4LCBkeSk7Ci0gICAgaW50IGJsb2NrRGlyZWN0aW9u
RGVsdGEgPSBpc0hvcml6b250YWwoKSA/IGR5IDogZHg7CisgICAgaW50IGJsb2NrRGlyZWN0aW9u
RGVsdGEgPSBpc0hvcml6b250YWwoKSA/IGR5IDogZHg7IC8vIFRoZSBibG9jayBkaXJlY3Rpb24g
ZGVsdGEgd2lsbCBhbHdheXMgYmUgaW50ZWdyYWwuCiAgICAgbV9saW5lVG9wICs9IGJsb2NrRGly
ZWN0aW9uRGVsdGE7CiAgICAgbV9saW5lQm90dG9tICs9IGJsb2NrRGlyZWN0aW9uRGVsdGE7CiAg
ICAgbV9ibG9ja0xvZ2ljYWxIZWlnaHQgKz0gYmxvY2tEaXJlY3Rpb25EZWx0YTsKQEAgLTI4OSw3
ICsyODksNyBAQCBpbnQgUm9vdElubGluZUJveDo6YmVmb3JlQW5ub3RhdGlvbnNBZGp1CiAKICAg
ICAgICAgLy8gQW5ub3RhdGlvbnMgb3ZlciB0aGlzIGxpbmUgbWF5IHB1c2ggdXMgZnVydGhlciBk
b3duLgogICAgICAgICBpbnQgaGlnaGVzdEFsbG93ZWRQb3NpdGlvbiA9IHByZXZSb290Qm94KCkg
PyBtaW4ocHJldlJvb3RCb3goKS0+bGluZUJvdHRvbSgpLCBsaW5lVG9wKCkpICsgcmVzdWx0IDog
YmxvY2soKS0+Ym9yZGVyQmVmb3JlKCk7Ci0gICAgICAgIHJlc3VsdCA9ICBjb21wdXRlT3ZlckFu
bm90YXRpb25BZGp1c3RtZW50KGhpZ2hlc3RBbGxvd2VkUG9zaXRpb24pOworICAgICAgICByZXN1
bHQgPSBjb21wdXRlT3ZlckFubm90YXRpb25BZGp1c3RtZW50KGhpZ2hlc3RBbGxvd2VkUG9zaXRp
b24pOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIEFubm90YXRpb25zIHVuZGVyIHRoaXMgbGlu
ZSBtYXkgcHVzaCB1cyB1cC4KICAgICAgICAgaWYgKGhhc0Fubm90YXRpb25zQmVmb3JlKCkpCkBA
IC01NDQsMTQgKzU0NCwxNCBAQCBJbnRSZWN0IFJvb3RJbmxpbmVCb3g6OnBhZGRlZExheW91dE92
ZXJmCiAgICAgCiAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKSB7CiAgICAgICAgIGlmIChpc0xlZnRU
b1JpZ2h0RGlyZWN0aW9uKCkpCi0gICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRN
YXhYRWRnZVRvKG1heChsaW5lTGF5b3V0T3ZlcmZsb3cubWF4WCgpLCBsb2dpY2FsUmlnaHQoKSAr
IGVuZFBhZGRpbmcpKTsKKyAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdE1heFhF
ZGdlVG8obWF4KGxpbmVMYXlvdXRPdmVyZmxvdy5tYXhYKCksIHBpeGVsU25hcHBlZExvZ2ljYWxS
aWdodCgpICsgZW5kUGFkZGluZykpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBsaW5lTGF5
b3V0T3ZlcmZsb3cuc2hpZnRYRWRnZVRvKG1pbihsaW5lTGF5b3V0T3ZlcmZsb3cueCgpLCBsb2dp
Y2FsTGVmdCgpIC0gZW5kUGFkZGluZykpOworICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93
LnNoaWZ0WEVkZ2VUbyhtaW4obGluZUxheW91dE92ZXJmbG93LngoKSwgcGl4ZWxTbmFwcGVkTG9n
aWNhbExlZnQoKSAtIGVuZFBhZGRpbmcpKTsKICAgICB9IGVsc2UgewogICAgICAgICBpZiAoaXNM
ZWZ0VG9SaWdodERpcmVjdGlvbigpKQotICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNo
aWZ0TWF4WUVkZ2VUbyhtYXgobGluZUxheW91dE92ZXJmbG93Lm1heFkoKSwgbG9naWNhbFJpZ2h0
KCkgKyBlbmRQYWRkaW5nKSk7CisgICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRN
YXhZRWRnZVRvKG1heChsaW5lTGF5b3V0T3ZlcmZsb3cubWF4WSgpLCBwaXhlbFNuYXBwZWRMb2dp
Y2FsUmlnaHQoKSArIGVuZFBhZGRpbmcpKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgbGlu
ZUxheW91dE92ZXJmbG93LnNoaWZ0WUVkZ2VUbyhtaW4obGluZUxheW91dE92ZXJmbG93LnkoKSwg
bG9naWNhbFJpZ2h0KCkgLSBlbmRQYWRkaW5nKSk7CisgICAgICAgICAgICBsaW5lTGF5b3V0T3Zl
cmZsb3cuc2hpZnRZRWRnZVRvKG1pbihsaW5lTGF5b3V0T3ZlcmZsb3cueSgpLCBwaXhlbFNuYXBw
ZWRMb2dpY2FsTGVmdCgpIC0gZW5kUGFkZGluZykpOwogICAgIH0KICAgICAKICAgICByZXR1cm4g
bGluZUxheW91dE92ZXJmbG93OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJ
bmxpbmVCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElu
bGluZUJveC5oCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
b290SW5saW5lQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgog
ICAgIFJvb3RJbmxpbmVCb3gqIG5leHRSb290Qm94KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nh
c3Q8Um9vdElubGluZUJveCo+KG1fbmV4dExpbmVCb3gpOyB9CiAgICAgUm9vdElubGluZUJveCog
cHJldlJvb3RCb3goKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxSb290SW5saW5lQm94Kj4o
bV9wcmV2TGluZUJveCk7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihpbnQg
ZHgsIGludCBkeSk7CisgICAgdmlydHVhbCB2b2lkIGFkanVzdFBvc2l0aW9uKGZsb2F0IGR4LCBm
bG9hdCBkeSk7CiAKICAgICBpbnQgbGluZVRvcCgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZVRvcDsg
fQogICAgIGludCBsaW5lQm90dG9tKCkgY29uc3QgeyByZXR1cm4gbV9saW5lQm90dG9tOyB9CkBA
IC03OCw4ICs3OCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNoaWxkUmVtb3ZlZChJbmxpbmVCb3gq
IGJveCk7CiAKICAgICBib29sIGNhbkFjY29tbW9kYXRlRWxsaXBzaXMoYm9vbCBsdHIsIGludCBi
bG9ja0VkZ2UsIGludCBsaW5lQm94RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgpOwotICAgIHZvaWQg
cGxhY2VFbGxpcHNpcyhjb25zdCBBdG9taWNTdHJpbmcmIGVsbGlwc2lzU3RyLCBib29sIGx0ciwg
aW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgs
IElubGluZUJveCogbWFya3VwQm94ID0gMCk7Ci0gICAgdmlydHVhbCBpbnQgcGxhY2VFbGxpcHNp
c0JveChib29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50
IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KTsKKyAgICB2b2lkIHBsYWNlRWxsaXBzaXMo
Y29uc3QgQXRvbWljU3RyaW5nJiBlbGxpcHNpc1N0ciwgYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVm
dEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBJbmxpbmVC
b3gqIG1hcmt1cEJveCA9IDApOworICAgIHZpcnR1YWwgZmxvYXQgcGxhY2VFbGxpcHNpc0JveChi
b29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVkZ2UsIGZsb2F0
IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KTsKIAogICAgIEVsbGlwc2lzQm94KiBlbGxp
cHNpc0JveCgpIGNvbnN0OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R0lubGluZVRleHRCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAJKHJldmlzaW9uIDc4MzcxKQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDE1LDkgKzQxNSw2IEBAIFRleHRSdW4gU1ZHSW5saW5lVGV4dEJveDo6Y29uc3RydWN0VGV4
dFIKICAgICBydW4uc2V0UmVmZXJlbmNpbmdSZW5kZXJPYmplY3QodGV4dCk7CiAjZW5kaWYKIAot
ICAgIC8vIERpc2FibGUgYW55IHdvcmQvY2hhcmFjdGVyIHJvdW5kaW5nLgotICAgIHJ1bi5kaXNh
YmxlUm91bmRpbmdIYWNrcygpOwotCiAgICAgLy8gV2UgaGFuZGxlIGxldHRlciAmIHdvcmQgc3Bh
Y2luZyBvdXJzZWx2ZXMuCiAgICAgcnVuLmRpc2FibGVTcGFjaW5nKCk7CiAgICAgcmV0dXJuIHJ1
bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJp
Y3MuY3BwCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHVGV4dE1ldHJpY3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw4ICs0Nyw5IEBAIFNWR1Rl
eHRNZXRyaWNzOjpTVkdUZXh0TWV0cmljcyhSZW5kZXJTVkcKICAgICBpbnQgbGVuZ3RoID0gMDsK
IAogICAgIC8vIENhbGN1bGF0ZSB3aWR0aC9oZWlnaHQgdXNpbmcgdGhlIHNjYWxlZCBmb250LCBk
aXZpZGUgdGhpcyByZXN1bHQgYnkgdGhlIHNjYWxpbmdGYWN0b3IgYWZ0ZXJ3YXJkcy4KLSAgICBt
X3dpZHRoID0gc2NhbGVkRm9udC5mbG9hdFdpZHRoKHJ1biwgZXh0cmFDaGFyc0F2YWlsYWJsZSwg
bGVuZ3RoLCBtX2dseXBoLm5hbWUpIC8gc2NhbGluZ0ZhY3RvcjsKKyAgICBtX3dpZHRoID0gc2Nh
bGVkRm9udC53aWR0aChydW4sIGV4dHJhQ2hhcnNBdmFpbGFibGUsIGxlbmd0aCwgbV9nbHlwaC5u
YW1lKSAvIHNjYWxpbmdGYWN0b3I7CiAgICAgbV9oZWlnaHQgPSBzY2FsZWRGb250LmZvbnRNZXRy
aWNzKCkuZmxvYXRIZWlnaHQoKSAvIHNjYWxpbmdGYWN0b3I7CisKICAgICBtX2dseXBoLnVuaWNv
ZGVTdHJpbmcgPSBTdHJpbmcocnVuLmNoYXJhY3RlcnMoKSwgbGVuZ3RoKTsKICAgICBtX2dseXBo
LmlzVmFsaWQgPSB0cnVlOwogCkBAIC03OSw5ICs4MCw2IEBAIHN0YXRpYyBUZXh0UnVuIGNvbnN0
cnVjdFRleHRSdW4oUmVuZGVyU1YKICAgICBydW4uc2V0UmVmZXJlbmNpbmdSZW5kZXJPYmplY3Qo
dGV4dCk7CiAjZW5kaWYKIAotICAgIC8vIERpc2FibGUgYW55IHdvcmQvY2hhcmFjdGVyIHJvdW5k
aW5nLgotICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotCiAgICAgLy8gV2UgaGFuZGxl
IGxldHRlciAmIHdvcmQgc3BhY2luZyBvdXJzZWx2ZXMuCiAgICAgcnVuLmRpc2FibGVTcGFjaW5n
KCk7CiAgICAgcmV0dXJuIHJ1bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udC5jcHAJKHJldmlzaW9u
IDc4MzcxKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zNjIsNyArMzYyLDcgQEAgc3RhdGljIHZvaWQgZmxvYXRXaWR0aE1pc3NpbmdHbHlwaENh
bGxiYQogICAgIEZvbnQgZm9udChmb250RGVzY3JpcHRpb24sIDAsIDApOyAvLyBzcGFjaW5nIGhh
bmRsZWQgYnkgU1ZHIHRleHQgY29kZS4KICAgICBmb250LnVwZGF0ZShkYXRhLmZvbnQtPmZvbnRT
ZWxlY3RvcigpKTsKIAotICAgIGRhdGEubGVuZ3RoICs9IGZvbnQuZmxvYXRXaWR0aChydW4pOwor
ICAgIGRhdGEubGVuZ3RoICs9IGZvbnQud2lkdGgocnVuKTsKIH0KIAogCkBAIC01NzMsOSArNTcz
LDkgQEAgdm9pZCBGb250OjpkcmF3VGV4dFVzaW5nU1ZHRm9udChHcmFwaGljcwogICAgICAgICAg
ICAgICAgIGZvbnQuZHJhd1RleHQoY29udGV4dCwgZmFsbGJhY2tDaGFyYWN0ZXJSdW4sIGN1cnJl
bnRQb2ludCk7CiAKICAgICAgICAgICAgICAgICBpZiAoaXNWZXJ0aWNhbFRleHQpCi0gICAgICAg
ICAgICAgICAgICAgIGN1cnJlbnRQb2ludC5tb3ZlKDAuMGYsIGZvbnQuZmxvYXRXaWR0aChmYWxs
YmFja0NoYXJhY3RlclJ1bikpOworICAgICAgICAgICAgICAgICAgICBjdXJyZW50UG9pbnQubW92
ZSgwLjBmLCBmb250LndpZHRoKGZhbGxiYWNrQ2hhcmFjdGVyUnVuKSk7CiAgICAgICAgICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBjdXJyZW50UG9pbnQubW92ZShmb250LmZsb2F0
V2lkdGgoZmFsbGJhY2tDaGFyYWN0ZXJSdW4pLCAwLjBmKTsKKyAgICAgICAgICAgICAgICAgICAg
Y3VycmVudFBvaW50Lm1vdmUoZm9udC53aWR0aChmYWxsYmFja0NoYXJhY3RlclJ1biksIDAuMGYp
OwogCiAgICAgICAgICAgICAgICAgZmFsbGJhY2tDaGFyYWN0ZXJJbmRleCsrOwogICAgICAgICAg
ICAgfQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXROU1N0cmluZ0V4dHJhcy5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdE5TU3RyaW5nRXh0
cmFzLm1tCShyZXZpc2lvbiA3ODM3MSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0
TlNTdHJpbmdFeHRyYXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTkxLDcgKzkxLDYgQEAgLSAodm9p
ZClfd2ViX2RyYXdBdFBvaW50OihOU1BvaW50KXBvaW50IAogCiAgICAgICAgIEZvbnQgd2ViQ29y
ZUZvbnQoRm9udFBsYXRmb3JtRGF0YShmb250LCBbZm9udCBwb2ludFNpemVdKSwgIVtuc0NvbnRl
eHQgaXNEcmF3aW5nVG9TY3JlZW5dLCBmb250U21vb3RoaW5nSXNBbGxvd2VkID8gQXV0b1Ntb290
aGluZyA6IEFudGlhbGlhc2VkKTsKICAgICAgICAgVGV4dFJ1biBydW4oYnVmZmVyLmRhdGEoKSwg
bGVuZ3RoKTsKLSAgICAgICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7CiAKICAgICAgICAg
Q0dGbG9hdCByZWQ7CiAgICAgICAgIENHRmxvYXQgZ3JlZW47CkBAIC0xMzcsOCArMTM2LDcgQEAg
LSAoZmxvYXQpX3dlYl93aWR0aFdpdGhGb250OihOU0ZvbnQgKilmbwogICAgIGlmIChjYW5Vc2VG
YXN0UmVuZGVyZXIoYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKSkgewogICAgICAgICBGb250IHdlYkNv
cmVGb250KEZvbnRQbGF0Zm9ybURhdGEoZm9udCwgW2ZvbnQgcG9pbnRTaXplXSksICFbW05TR3Jh
cGhpY3NDb250ZXh0IGN1cnJlbnRDb250ZXh0XSBpc0RyYXdpbmdUb1NjcmVlbl0pOwogICAgICAg
ICBUZXh0UnVuIHJ1bihidWZmZXIuZGF0YSgpLCBsZW5ndGgpOwotICAgICAgICBydW4uZGlzYWJs
ZVJvdW5kaW5nSGFja3MoKTsKLSAgICAgICAgcmV0dXJuIHdlYkNvcmVGb250LmZsb2F0V2lkdGgo
cnVuKTsKKyAgICAgICAgcmV0dXJuIHdlYkNvcmVGb250LndpZHRoKHJ1bik7CiAgICAgfQogCiAg
ICAgcmV0dXJuIFtzZWxmIHNpemVXaXRoQXR0cmlidXRlczpbTlNEaWN0aW9uYXJ5IGRpY3Rpb25h
cnlXaXRoT2JqZWN0c0FuZEtleXM6Zm9udCwgTlNGb250QXR0cmlidXRlTmFtZSwgbmlsXV0ud2lk
dGg7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82339</attachid>
            <date>2011-02-14 10:53:06 -0800</date>
            <delta_ts>2011-02-14 11:52:49 -0800</delta_ts>
            <desc>Patch that applies (ignore for review, just testing builds)</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>176675</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0zOTksOSArMzk5LDkgQEAgX19a
TjdXZWJDb3JlMTVQcm90ZWN0aW9uU3BhY2VDMUVSS04zV1RGNgogX19aTjdXZWJDb3JlMTVQcm90
ZWN0aW9uU3BhY2VDMUV2CiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE3YWxpZ25DZW50
ZXJBbHdheXNFCiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE5YWxpZ25Ub0VkZ2VJZk5l
ZWRlZEUKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRlRVJLTjNX
VEY2U3RyaW5nRWZSS05TXzRGb250RWIKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRj
ZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0VmUktOU180Rm9udEViCi1fX1pON1dlYkNvcmUx
NVN0cmluZ1RydW5jYXRvcjV3aWR0aEVSS04zV1RGNlN0cmluZ0VSS05TXzRGb250RWIKK19fWk43
V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRjZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0Vm
UktOU180Rm9udEUKK19fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRl
RVJLTjNXVEY2U3RyaW5nRWZSS05TXzRGb250RQorX19aTjdXZWJDb3JlMTVTdHJpbmdUcnVuY2F0
b3I1d2lkdGhFUktOM1dURjZTdHJpbmdFUktOU180Rm9udEUKIF9fWk43V2ViQ29yZTE1VmlzaWJs
ZVBvc2l0aW9uQzFFUE5TXzROb2RlRWlOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3JlMTVWaXNp
YmxlUG9zaXRpb25DMUVSS05TXzhQb3NpdGlvbkVOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3Jl
MTVkZWZhdWx0TGFuZ3VhZ2VFdgpAQCAtMTEyMyw3ICsxMTIzLDcgQEAgX19aTks3V2ViQ29yZTI3
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VCYQogX19aTks3V2ViQ29yZTI3QXV0aGVudGljYXRpb25D
aGFsbGVuZ2VCYXNlMjBwcmV2aW91c0ZhaWx1cmVDb3VudEV2CiBfX1pOSzdXZWJDb3JlMjdBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZUJhc2U1ZXJyb3JFdgogX19aTks3V2ViQ29yZTI3QXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VCYXNlNmlzTnVsbEV2Ci1fX1pOSzdXZWJDb3JlNEZvbnQxMGZsb2F0V2lk
dGhFUktOU183VGV4dFJ1bkVQTjNXVEY3SGFzaFNldElQS05TXzE0U2ltcGxlRm9udERhdGFFTlM0
XzdQdHJIYXNoSVM4X0VFTlM0XzEwSGFzaFRyYWl0c0lTOF9FRUVFUE5TXzEzR2x5cGhPdmVyZmxv
d0UKK19fWk5LN1dlYkNvcmU0Rm9udDV3aWR0aEVSS05TXzdUZXh0UnVuRVBOM1dURjdIYXNoU2V0
SVBLTlNfMTRTaW1wbGVGb250RGF0YUVOUzRfN1B0ckhhc2hJUzhfRUVOUzRfMTBIYXNoVHJhaXRz
SVM4X0VFRUVQTlNfMTNHbHlwaE92ZXJmbG93RQogX19aTks3V2ViQ29yZTRGb250OGRyYXdUZXh0
RVBOU18xNUdyYXBoaWNzQ29udGV4dEVSS05TXzdUZXh0UnVuRVJLTlNfMTBGbG9hdFBvaW50RWlp
CiBfX1pOSzdXZWJDb3JlNEtVUkwxMWNyZWF0ZUNGVVJMRXYKIF9fWk5LN1dlYkNvcmU0S1VSTDEx
aXNMb2NhbEZpbGVFdgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE3NzMsNyArMTc3Myw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjpkcmF3VGV4dEkKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRleHQubGVuZ3RoKCk7
CiAgICAgY29uc3QgVUNoYXIqIHN0cmluZyA9IHRleHQuY2hhcmFjdGVycygpOwotICAgIFRleHRS
dW4gdGV4dFJ1bihzdHJpbmcsIGxlbmd0aCwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJh
aWxpbmdFeHBhbnNpb24sIHJ0bCwgb3ZlcnJpZGUsIGZhbHNlLCBmYWxzZSk7CisgICAgVGV4dFJ1
biB0ZXh0UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFp
bGluZ0V4cGFuc2lvbiwgcnRsLCBvdmVycmlkZSk7CiAKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRl
eHQgYXQgdGhlIGNvcnJlY3QgcG9pbnQuCiAgICAgRmxvYXRQb2ludCBsb2NhdGlvbih4LCB5KTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21p
dW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0Zp
bGVDaG9vc2VyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00NCw5ICs0NCw5IEBAIFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChj
b24KICAgICBlbHNlIGlmIChtX2ZpbGVuYW1lcy5zaXplKCkgPT0gMSkKICAgICAgICAgc3RyaW5n
ID0gcGF0aEdldERpc3BsYXlGaWxlTmFtZShtX2ZpbGVuYW1lc1swXSk7CiAgICAgZWxzZQotICAg
ICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmlsZVVw
bG9hZFRleHQobV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICAg
ICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxv
YWRUZXh0KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250KTsKIAotICAgIHJldHVybiBT
dHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0cmluZywgc3RhdGljX2Nhc3Q8ZmxvYXQ+
KHdpZHRoKSwgZm9udCwgZmFsc2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRl
clRydW5jYXRlKHN0cmluZywgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHdpZHRoKSwgZm9udCk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxNyArMzksNiBAQCB1
c2luZyBuYW1lc3BhY2UgVW5pY29kZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1
aW50OF90IEZvbnQ6OmdSb3VuZGluZ0hhY2tDaGFyYWN0ZXJUYWJsZVsyNTZdID0gewotICAgIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEgLypcdCovLCAxIC8qXG4qLywgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAx
IC8qc3BhY2UqLywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKi0qLywg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKj8q
LywKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAxIC8qbm8tYnJlYWsgc3BhY2UqLywgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAK
LX07Ci0KIEZvbnQ6OkNvZGVQYXRoIEZvbnQ6OnNfY29kZVBhdGggPSBBdXRvOwogCiAvLyA9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtMTc2LDcgKzE2NSw3IEBAIHZvaWQg
Rm9udDo6ZHJhd0VtcGhhc2lzTWFya3MoR3JhcGhpY3NDb24KICAgICAgICAgZHJhd0VtcGhhc2lz
TWFya3NGb3JDb21wbGV4VGV4dChjb250ZXh0LCBydW4sIG1hcmssIHBvaW50LCBmcm9tLCB0byk7
CiB9CiAKLWZsb2F0IEZvbnQ6OmZsb2F0V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0
PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGds
eXBoT3ZlcmZsb3cpIGNvbnN0CitmbG9hdCBGb250Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4s
IEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVy
ZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAg
IGlmIChwcmltYXJ5Rm9udCgpLT5pc1NWR0ZvbnQoKSkKQEAgLTE5NCw3ICsxODMsNyBAQCBmbG9h
dCBGb250OjpmbG9hdFdpZHRoKGNvbnN0IFRleHRSdW4mIHJ1CiAgICAgcmV0dXJuIGZsb2F0V2lk
dGhGb3JDb21wbGV4VGV4dChydW4sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQog
Ci1mbG9hdCBGb250OjpmbG9hdFdpZHRoKGNvbnN0IFRleHRSdW4mIHJ1biwgaW50IGV4dHJhQ2hh
cnNBdmFpbGFibGUsIGludCYgY2hhcnNDb25zdW1lZCwgU3RyaW5nJiBnbHlwaE5hbWUpIGNvbnN0
CitmbG9hdCBGb250Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIGludCBleHRyYUNoYXJzQXZh
aWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQsIFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdAogewog
I2lmICFFTkFCTEUoU1ZHX0ZPTlRTKQogICAgIFVOVVNFRF9QQVJBTShleHRyYUNoYXJzQXZhaWxh
YmxlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHJldmlz
aW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCSh3
b3JraW5nIGNvcHkpCkBAIC05NCw5ICs5NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRyYXdUZXh0
KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50JiwgaW50
IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7CiAgICAgdm9pZCBkcmF3RW1waGFzaXNNYXJr
cyhHcmFwaGljc0NvbnRleHQqLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgQXRvbWljU3RyaW5nJiBt
YXJrLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7
CiAKLSAgICBpbnQgd2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IFNpbXBs
ZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJm
bG93ID0gMCkgY29uc3QgeyByZXR1cm4gbHJvdW5kZihmbG9hdFdpZHRoKHJ1biwgZmFsbGJhY2tG
b250cywgZ2x5cGhPdmVyZmxvdykpOyB9Ci0gICAgZmxvYXQgZmxvYXRXaWR0aChjb25zdCBUZXh0
UnVuJiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwg
R2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdyA9IDApIGNvbnN0OwotICAgIGZsb2F0IGZsb2F0
V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBpbnQgZXh0cmFDaGFyc0F2YWlsYWJsZSwgaW50JiBj
aGFyc0NvbnN1bWVkLCBTdHJpbmcmIGdseXBoTmFtZSkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgo
Y29uc3QgVGV4dFJ1biYsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tG
b250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgoY29u
c3QgVGV4dFJ1biYsIGludCBleHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQs
IFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdDsKIAogICAgIGludCBvZmZzZXRGb3JQb3NpdGlvbihj
b25zdCBUZXh0UnVuJiwgZmxvYXQgcG9zaXRpb24sIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMp
IGNvbnN0OwogICAgIEZsb2F0UmVjdCBzZWxlY3Rpb25SZWN0Rm9yVGV4dChjb25zdCBUZXh0UnVu
JiwgY29uc3QgRmxvYXRQb2ludCYsIGludCBoLCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKSBj
b25zdDsKQEAgLTEyOSw4ICsxMjgsOCBAQCBwdWJsaWM6CiAKICAgICAvLyBNZXRyaWNzIHRoYXQg
d2UgcXVlcnkgdGhlIEZvbnRGYWxsYmFja0xpc3QgZm9yLgogICAgIGNvbnN0IEZvbnRNZXRyaWNz
JiBmb250TWV0cmljcygpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmZvbnRNZXRyaWNz
KCk7IH0KLSAgICBpbnQgc3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIChpbnQpY2VpbGYocHJp
bWFyeUZvbnQoKS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmcpOyB9Ci0g
ICAgZmxvYXQgdGFiV2lkdGgoY29uc3QgU2ltcGxlRm9udERhdGEmIGZvbnREYXRhKSBjb25zdCB7
IHJldHVybiA4ICogY2VpbGYoZm9udERhdGEuYWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBsZXR0ZXJT
cGFjaW5nKCkpOyB9CisgICAgaW50IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBwcmltYXJ5
Rm9udCgpLT5zcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmc7IH0KKyAgICBmbG9hdCB0YWJX
aWR0aChjb25zdCBTaW1wbGVGb250RGF0YSYgZm9udERhdGEpIGNvbnN0IHsgcmV0dXJuIDggKiBm
b250RGF0YS5zcGFjZVdpZHRoKCkgKyBsZXR0ZXJTcGFjaW5nKCk7IH0KICAgICBpbnQgZW1waGFz
aXNNYXJrQXNjZW50KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNp
c01hcmtEZXNjZW50KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNp
c01hcmtIZWlnaHQoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CkBAIC0yMDEsMTIgKzIwMCw2
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgQ29kZVBhdGggY29kZVBhdGgoKTsKICAgICBzdGF0aWMg
Q29kZVBhdGggc19jb2RlUGF0aDsKIAotICAgIHN0YXRpYyBjb25zdCB1aW50OF90IGdSb3VuZGlu
Z0hhY2tDaGFyYWN0ZXJUYWJsZVsyNTZdOwotICAgIHN0YXRpYyBib29sIGlzUm91bmRpbmdIYWNr
Q2hhcmFjdGVyKFVDaGFyMzIgYykKLSAgICB7Ci0gICAgICAgIHJldHVybiAoKChjICYgfjB4RkYp
ID09IDAgJiYgZ1JvdW5kaW5nSGFja0NoYXJhY3RlclRhYmxlW2NdKSk7Ci0gICAgfQotCiAgICAg
Rm9udFNlbGVjdG9yKiBmb250U2VsZWN0b3IoKSBjb25zdDsKICAgICBzdGF0aWMgYm9vbCB0cmVh
dEFzU3BhY2UoVUNoYXIgYykgeyByZXR1cm4gYyA9PSAnICcgfHwgYyA9PSAnXHQnIHx8IGMgPT0g
J1xuJyB8fCBjID09IG5vQnJlYWtTcGFjZTsgfQogICAgIHN0YXRpYyBib29sIHRyZWF0QXNaZXJv
V2lkdGhTcGFjZShVQ2hhciBjKSB7IHJldHVybiBjIDwgMHgyMCB8fCAoYyA+PSAweDdGICYmIGMg
PCAweEEwKSB8fCBjID09IHNvZnRIeXBoZW4gfHwgKGMgPj0gMHgyMDBjICYmIGMgPD0gMHgyMDBm
KSB8fCAoYyA+PSAweDIwMmEgJiYgYyA8PSAweDIwMmUpIHx8IGMgPT0gb2JqZWN0UmVwbGFjZW1l
bnRDaGFyYWN0ZXI7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRGYXN0UGF0aC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udEZhc3RQYXRoLmNwcAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
OTcsOSArMjk3LDggQEAgZmxvYXQgRm9udDo6Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JTaW1wbAog
ICAgIGZsb2F0IGFmdGVyV2lkdGggPSBpdC5tX3J1bldpZHRoU29GYXI7CiAKICAgICBpZiAocnVu
LnJ0bCgpKSB7Ci0gICAgICAgIGZsb2F0IGZpbmFsUm91bmRpbmdXaWR0aCA9IGl0Lm1fZmluYWxS
b3VuZGluZ1dpZHRoOwogICAgICAgICBpdC5hZHZhbmNlKHJ1bi5sZW5ndGgoKSk7Ci0gICAgICAg
IGluaXRpYWxBZHZhbmNlID0gZmluYWxSb3VuZGluZ1dpZHRoICsgaXQubV9ydW5XaWR0aFNvRmFy
IC0gYWZ0ZXJXaWR0aDsKKyAgICAgICAgaW5pdGlhbEFkdmFuY2UgPSBpdC5tX3J1bldpZHRoU29G
YXIgLSBhZnRlcldpZHRoOwogICAgIH0gZWxzZQogICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGJl
Zm9yZVdpZHRoOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzc1LDcgKzM3NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3SW1hZ2UoSW1h
Z2UqIGkKIH0KIAogI2lmICFPUyhXSU5DRSkgfHwgUExBVEZPUk0oUVQpCi12b2lkIEdyYXBoaWNz
Q29udGV4dDo6ZHJhd1RleHQoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBj
b25zdCBJbnRQb2ludCYgcG9pbnQsIGludCBmcm9tLCBpbnQgdG8pCit2b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd1RleHQoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBjb25z
dCBGbG9hdFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bykKIHsKICAgICBpZiAocGFpbnRp
bmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC0zODQsNyArMzg0LDcgQEAgdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdUZXh0KGNvbnN0IEZvbgogfQogI2VuZGlmCiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpkcmF3RW1waGFzaXNNYXJrcyhjb25zdCBGb250JiBmb250LCBjb25zdCBU
ZXh0UnVuJiBydW4sIGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaywgY29uc3QgSW50UG9pbnQmIHBv
aW50LCBpbnQgZnJvbSwgaW50IHRvKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdFbXBoYXNp
c01hcmtzKGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgQXRvbWlj
U3RyaW5nJiBtYXJrLCBjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bykK
IHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC00MjIs
MTMgKzQyMiwxMyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0JpZGlUZXh0KGNvbnN0CiAg
ICAgICAgIGJpZGlSdW4gPSBiaWRpUnVuLT5uZXh0KCk7CiAgICAgICAgIC8vIEZJWE1FOiBIYXZl
IEZvbnQ6OmRyYXdUZXh0IHJldHVybiB0aGUgd2lkdGggb2Ygd2hhdCBpdCBkcmV3IHNvIHRoYXQg
d2UgZG9uJ3QgaGF2ZSB0byByZS1tZWFzdXJlIGhlcmUuCiAgICAgICAgIGlmIChiaWRpUnVuKQot
ICAgICAgICAgICAgY3VyclBvaW50Lm1vdmUoZm9udC5mbG9hdFdpZHRoKHN1YnJ1biksIDAuZik7
CisgICAgICAgICAgICBjdXJyUG9pbnQubW92ZShmb250LndpZHRoKHN1YnJ1biksIDApOwogICAg
IH0KIAogICAgIGJpZGlSZXNvbHZlci5kZWxldGVSdW5zKCk7CiB9CiAKLXZvaWQgR3JhcGhpY3ND
b250ZXh0OjpkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0
UnVuJiBydW4sIGNvbnN0IEludFBvaW50JiBwb2ludCwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNr
Z3JvdW5kQ29sb3IsIENvbG9yU3BhY2UgY29sb3JTcGFjZSwgaW50IGZyb20sIGludCB0bykKK3Zv
aWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiBmb250
LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBpbnQgaCwgY29u
c3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgQ29sb3JTcGFjZSBjb2xvclNwYWNlLCBpbnQgZnJv
bSwgaW50IHRvKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVy
bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5oCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzUsMjAgKzMz
NSwyMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFRleHREcmF3aW5nTW9kZUZsYWdz
IHRleHREcmF3aW5nTW9kZSgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldFRleHREcmF3aW5nTW9k
ZShUZXh0RHJhd2luZ01vZGVGbGFncyk7CiAKLSAgICAgICAgdm9pZCBkcmF3VGV4dChjb25zdCBG
b250JiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IEludFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQg
dG8gPSAtMSk7Ci0gICAgICAgIHZvaWQgZHJhd0VtcGhhc2lzTWFya3MoY29uc3QgRm9udCYsIGNv
bnN0IFRleHRSdW4mICwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBJbnRQb2ludCYs
IGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRyYXdUZXh0KGNvbnN0
IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxvYXRQb2ludCYsIGludCBmcm9tID0gMCwg
aW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRyYXdFbXBoYXNpc01hcmtzKGNvbnN0IEZvbnQm
LCBjb25zdCBUZXh0UnVuJiAsIGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaywgY29uc3QgRmxvYXRQ
b2ludCYsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOwogICAgICAgICB2b2lkIGRyYXdCaWRp
VGV4dChjb25zdCBGb250JiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IEZsb2F0UG9pbnQmKTsKLSAg
ICAgICAgdm9pZCBkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiwgY29uc3QgVGV4dFJ1
biYsIGNvbnN0IEludFBvaW50JiwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3Is
IENvbG9yU3BhY2UsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRy
YXdIaWdobGlnaHRGb3JUZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxv
YXRQb2ludCYsIGludCBoLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yLCBDb2xvclNwYWNl
LCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKTsKIAogICAgICAgICBGbG9hdFJlY3Qgcm91bmRU
b0RldmljZVBpeGVscyhjb25zdCBGbG9hdFJlY3QmKTsKIAotICAgICAgICB2b2lkIGRyYXdMaW5l
Rm9yVGV4dChjb25zdCBJbnRQb2ludCYsIGludCB3aWR0aCwgYm9vbCBwcmludGluZyk7CisgICAg
ICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmLCBmbG9hdCB3aWR0aCwg
Ym9vbCBwcmludGluZyk7CiAgICAgICAgIGVudW0gVGV4dENoZWNraW5nTGluZVN0eWxlIHsKICAg
ICAgICAgICAgIFRleHRDaGVja2luZ1NwZWxsaW5nTGluZVN0eWxlLAogICAgICAgICAgICAgVGV4
dENoZWNraW5nR3JhbW1hckxpbmVTdHlsZSwKICAgICAgICAgICAgIFRleHRDaGVja2luZ1JlcGxh
Y2VtZW50TGluZVN0eWxlCiAgICAgICAgIH07Ci0gICAgICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0
Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmLCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHls
ZSk7CisgICAgICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2lu
dCYsIGZsb2F0IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUpOwogCiAgICAgICAgIGJvb2wg
cGFpbnRpbmdEaXNhYmxlZCgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldFBhaW50aW5nRGlzYWJs
ZWQoYm9vbCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVG
b250RGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvU2ltcGxlRm9udERhdGEuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTA4LDcgKzEwOCw2IEBAIFNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShQYXNzT3duUHQK
ICAgICBtX3NwYWNlR2x5cGggPSAwOwogICAgIG1femVyb1dpZHRoU3BhY2VHbHlwaCA9IDA7CiAg
ICAgZGV0ZXJtaW5lUGl0Y2goKTsKLSAgICBtX2FkanVzdGVkU3BhY2VXaWR0aCA9IHJvdW5kZiht
X3NwYWNlV2lkdGgpOwogICAgIG1fbWlzc2luZ0dseXBoRGF0YS5mb250RGF0YSA9IHRoaXM7CiAg
ICAgbV9taXNzaW5nR2x5cGhEYXRhLmdseXBoID0gMDsKIH0KQEAgLTE0Myw3ICsxNDIsNiBAQCB2
b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBoSW5pdCgpCiAgICAgICAgIExPR19FUlJP
UigiRmFpbGVkIHRvIGdldCBnbHlwaCBwYWdlIHplcm8uIik7CiAgICAgICAgIG1fc3BhY2VHbHlw
aCA9IDA7CiAgICAgICAgIG1fc3BhY2VXaWR0aCA9IDA7Ci0gICAgICAgIG1fYWRqdXN0ZWRTcGFj
ZVdpZHRoID0gMDsKICAgICAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKICAgICAgICAgbV96ZXJvV2lk
dGhTcGFjZUdseXBoID0gMDsKICAgICAgICAgbV9taXNzaW5nR2x5cGhEYXRhLmZvbnREYXRhID0g
dGhpczsKQEAgLTE2MCw3ICsxNTgsNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUds
eXBoSW5pdCgpCiAgICAgZmxvYXQgd2lkdGggPSB3aWR0aEZvckdseXBoKG1fc3BhY2VHbHlwaCk7
CiAgICAgbV9zcGFjZVdpZHRoID0gd2lkdGg7CiAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKLSAgICBt
X2FkanVzdGVkU3BhY2VXaWR0aCA9IG1fdHJlYXRBc0ZpeGVkUGl0Y2ggPyBjZWlsZih3aWR0aCkg
OiByb3VuZGYod2lkdGgpOwogCiAgICAgLy8gRm9yY2UgdGhlIGdseXBoIGZvciBaRVJPIFdJRFRI
IFNQQUNFIHRvIGhhdmUgemVybyB3aWR0aCwgdW5sZXNzIGl0IGlzIHNoYXJlZCB3aXRoIFNQQUNF
LgogICAgIC8vIEhlbHZldGljYSBpcyBhbiBleGFtcGxlIG9mIGEgbm9uLXplcm8gd2lkdGggWkVS
TyBXSURUSCBTUEFDRSBnbHlwaC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1NpbXBsZUZvbnREYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTIsNyArMTEyLDYgQEAgcHVibGljOgogICAgIGZsb2F0IHBsYXRmb3JtV2lkdGhGb3JH
bHlwaChHbHlwaCkgY29uc3Q7CiAKICAgICBmbG9hdCBzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1
cm4gbV9zcGFjZVdpZHRoOyB9Ci0gICAgZmxvYXQgYWRqdXN0ZWRTcGFjZVdpZHRoKCkgY29uc3Qg
eyByZXR1cm4gbV9hZGp1c3RlZFNwYWNlV2lkdGg7IH0KIAogI2lmIFBMQVRGT1JNKENHKSB8fCBQ
TEFURk9STShDQUlSTykgfHwgUExBVEZPUk0oV1gpCiAgICAgZmxvYXQgc3ludGhldGljQm9sZE9m
ZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fc3ludGhldGljQm9sZE9mZnNldDsgfQpAQCAtMjMwLDcg
KzIyOSw2IEBAIHByaXZhdGU6CiAKICAgICBHbHlwaCBtX3NwYWNlR2x5cGg7CiAgICAgZmxvYXQg
bV9zcGFjZVdpZHRoOwotICAgIGZsb2F0IG1fYWRqdXN0ZWRTcGFjZVdpZHRoOwogCiAgICAgR2x5
cGggbV96ZXJvV2lkdGhTcGFjZUdseXBoOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9TdHJpbmdUcnVuY2F0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5jcHAJKHJldmlzaW9uIDc4NDg0
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtOTIsMjIgKzkyLDIwIEBAIHN0YXRpYyB1bnNpZ25lZCByaWdo
dFRydW5jYXRlVG9CdWZmZXIoY28KICAgICByZXR1cm4gdHJ1bmNhdGVkTGVuZ3RoOwogfQogCi1z
dGF0aWMgZmxvYXQgc3RyaW5nV2lkdGgoY29uc3QgRm9udCYgcmVuZGVyZXIsIGNvbnN0IFVDaGFy
KiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3Mp
CitzdGF0aWMgZmxvYXQgc3RyaW5nV2lkdGgoY29uc3QgRm9udCYgcmVuZGVyZXIsIGNvbnN0IFVD
aGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7CiAgICAgVGV4dFJ1biBydW4oY2hh
cmFjdGVycywgbGVuZ3RoKTsKLSAgICBpZiAoZGlzYWJsZVJvdW5kaW5nSGFja3MpCi0gICAgICAg
IHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotICAgIHJldHVybiByZW5kZXJlci5mbG9hdFdp
ZHRoKHJ1bik7CisgICAgcmV0dXJuIHJlbmRlcmVyLndpZHRoKHJ1bik7CiB9CiAKLXN0YXRpYyBT
dHJpbmcgdHJ1bmNhdGVTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRo
LCBjb25zdCBGb250JiBmb250LCBUcnVuY2F0aW9uRnVuY3Rpb24gdHJ1bmNhdGVUb0J1ZmZlciwg
Ym9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcykKK3N0YXRpYyBTdHJpbmcgdHJ1bmNhdGVTdHJpbmco
Y29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250JiBmb250LCBU
cnVuY2F0aW9uRnVuY3Rpb24gdHJ1bmNhdGVUb0J1ZmZlcikKIHsKICAgICBpZiAoc3RyaW5nLmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHN0cmluZzsKICAgICAKICAgICBBU1NFUlQobWF4V2lk
dGggPj0gMCk7CiAgICAgCi0gICAgZmxvYXQgY3VycmVudEVsbGlwc2lzV2lkdGggPSBzdHJpbmdX
aWR0aChmb250LCAmaG9yaXpvbnRhbEVsbGlwc2lzLCAxLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7
CisgICAgZmxvYXQgY3VycmVudEVsbGlwc2lzV2lkdGggPSBzdHJpbmdXaWR0aChmb250LCAmaG9y
aXpvbnRhbEVsbGlwc2lzLCAxKTsKICAgICAKICAgICBVQ2hhciBzdHJpbmdCdWZmZXJbU1RSSU5H
X0JVRkZFUl9TSVpFXTsKICAgICB1bnNpZ25lZCB0cnVuY2F0ZWRMZW5ndGg7CkBAIC0xMjMsNyAr
MTIxLDcgQEAgc3RhdGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAgICAg
ICB0cnVuY2F0ZWRMZW5ndGggPSBsZW5ndGg7CiAgICAgfQogCi0gICAgZmxvYXQgd2lkdGggPSBz
dHJpbmdXaWR0aChmb250LCBzdHJpbmdCdWZmZXIsIHRydW5jYXRlZExlbmd0aCwgZGlzYWJsZVJv
dW5kaW5nSGFja3MpOworICAgIGZsb2F0IHdpZHRoID0gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5n
QnVmZmVyLCB0cnVuY2F0ZWRMZW5ndGgpOwogICAgIGlmICh3aWR0aCA8PSBtYXhXaWR0aCkKICAg
ICAgICAgcmV0dXJuIHN0cmluZzsKIApAQCAtMTU5LDcgKzE1Nyw3IEBAIHN0YXRpYyBTdHJpbmcg
dHJ1bmNhdGVTdHJpbmcoY29uc3QgU3RyaW4KICAgICAgICAgCiAgICAgICAgIHRydW5jYXRlZExl
bmd0aCA9IHRydW5jYXRlVG9CdWZmZXIoc3RyaW5nLCBsZW5ndGgsIGtlZXBDb3VudCwgc3RyaW5n
QnVmZmVyKTsKIAotICAgICAgICB3aWR0aCA9IHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZ0J1ZmZl
ciwgdHJ1bmNhdGVkTGVuZ3RoLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgICAgIHdpZHRo
ID0gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5nQnVmZmVyLCB0cnVuY2F0ZWRMZW5ndGgpOwogICAg
ICAgICBpZiAod2lkdGggPD0gbWF4V2lkdGgpIHsKICAgICAgICAgICAgIGtlZXBDb3VudEZvckxh
cmdlc3RLbm93blRvRml0ID0ga2VlcENvdW50OwogICAgICAgICAgICAgd2lkdGhGb3JMYXJnZXN0
S25vd25Ub0ZpdCA9IHdpZHRoOwpAQCAtMTgxLDE5ICsxNzksMTkgQEAgc3RhdGljIFN0cmluZyB0
cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAgIHJldHVybiBTdHJpbmcoc3RyaW5nQnVmZmVy
LCB0cnVuY2F0ZWRMZW5ndGgpOwogfQogCi1TdHJpbmcgU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJU
cnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQm
IGZvbnQsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MpCitTdHJpbmcgU3RyaW5nVHJ1bmNhdG9y
OjpjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNv
bnN0IEZvbnQmIGZvbnQpCiB7Ci0gICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4
V2lkdGgsIGZvbnQsIGNlbnRlclRydW5jYXRlVG9CdWZmZXIsIGRpc2FibGVSb3VuZGluZ0hhY2tz
KTsKKyAgICByZXR1cm4gdHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBtYXhXaWR0aCwgZm9udCwgY2Vu
dGVyVHJ1bmNhdGVUb0J1ZmZlcik7CiB9CiAKLVN0cmluZyBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0
VHJ1bmNhdGUoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250
JiBmb250LCBib29sIGRpc2FibGVSb3VuZGluZ0hhY2tzKQorU3RyaW5nIFN0cmluZ1RydW5jYXRv
cjo6cmlnaHRUcnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNv
bnN0IEZvbnQmIGZvbnQpCiB7Ci0gICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4
V2lkdGgsIGZvbnQsIHJpZ2h0VHJ1bmNhdGVUb0J1ZmZlciwgZGlzYWJsZVJvdW5kaW5nSGFja3Mp
OworICAgIHJldHVybiB0cnVuY2F0ZVN0cmluZyhzdHJpbmcsIG1heFdpZHRoLCBmb250LCByaWdo
dFRydW5jYXRlVG9CdWZmZXIpOwogfQogCi1mbG9hdCBTdHJpbmdUcnVuY2F0b3I6OndpZHRoKGNv
bnN0IFN0cmluZyYgc3RyaW5nLCBjb25zdCBGb250JiBmb250LCBib29sIGRpc2FibGVSb3VuZGlu
Z0hhY2tzKQorZmxvYXQgU3RyaW5nVHJ1bmNhdG9yOjp3aWR0aChjb25zdCBTdHJpbmcmIHN0cmlu
ZywgY29uc3QgRm9udCYgZm9udCkKIHsKLSAgICByZXR1cm4gc3RyaW5nV2lkdGgoZm9udCwgc3Ry
aW5nLmNoYXJhY3RlcnMoKSwgc3RyaW5nLmxlbmd0aCgpLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7
CisgICAgcmV0dXJuIHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZy5jaGFyYWN0ZXJzKCksIHN0cmlu
Zy5sZW5ndGgoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCShyZXZp
c2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1Ry
dW5jYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw5ICszNyw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAKICAgICBjbGFzcyBTdHJpbmdUcnVuY2F0b3IgewogICAgIHB1YmxpYzoKLSAg
ICAgICAgc3RhdGljIFN0cmluZyBjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBt
YXhXaWR0aCwgY29uc3QgRm9udCYsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MgPSB0cnVlKTsK
LSAgICAgICAgc3RhdGljIFN0cmluZyByaWdodFRydW5jYXRlKGNvbnN0IFN0cmluZyYsIGZsb2F0
IG1heFdpZHRoLCBjb25zdCBGb250JiwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcyA9IHRydWUp
OwotICAgICAgICBzdGF0aWMgZmxvYXQgd2lkdGgoY29uc3QgU3RyaW5nJiwgY29uc3QgRm9udCYs
IGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MgPSB0cnVlKTsKKyAgICAgICAgc3RhdGljIFN0cmlu
ZyBjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9u
dCYpOworICAgICAgICBzdGF0aWMgU3RyaW5nIHJpZ2h0VHJ1bmNhdGUoY29uc3QgU3RyaW5nJiwg
ZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmKTsKKyAgICAgICAgc3RhdGljIGZsb2F0IHdpZHRo
KGNvbnN0IFN0cmluZyYsIGNvbnN0IEZvbnQmKTsKICAgICB9OwogICAgIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1
bi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRS
dW4uaAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9UZXh0UnVuLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDggKzM4LDcgQEAgcHVibGljOgogICAg
ICAgICBGb3JiaWRUcmFpbGluZ0V4cGFuc2lvbgogICAgIH07CiAKLSAgICBUZXh0UnVuKGNvbnN0
IFVDaGFyKiBjLCBpbnQgbGVuLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBpbnQgeHBvcyA9IDAs
IGludCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNl
LCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSwKLSAgICAgICAgICAgICAgYm9vbCBh
cHBseVJ1blJvdW5kaW5nID0gdHJ1ZSwgYm9vbCBhcHBseVdvcmRSb3VuZGluZyA9IHRydWUpCisg
ICAgVGV4dFJ1bihjb25zdCBVQ2hhciogYywgaW50IGxlbiwgYm9vbCBhbGxvd1RhYnMgPSBmYWxz
ZSwgZmxvYXQgeHBvcyA9IDAsIGZsb2F0IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhwYW5zaW9u
QmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNp
b24sIGJvb2wgcnRsID0gZmFsc2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlKQog
ICAgICAgICA6IG1fY2hhcmFjdGVycyhjKQogICAgICAgICAsIG1fbGVuKGxlbikKICAgICAgICAg
LCBtX3hwb3MoeHBvcykKQEAgLTUxLDggKzUwLDYgQEAgcHVibGljOgogICAgICAgICAsIG1fYWxs
b3dUYWJzKGFsbG93VGFicykKICAgICAgICAgLCBtX3J0bChydGwpCiAgICAgICAgICwgbV9kaXJl
Y3Rpb25hbE92ZXJyaWRlKGRpcmVjdGlvbmFsT3ZlcnJpZGUpCi0gICAgICAgICwgbV9hcHBseVJ1
blJvdW5kaW5nKGFwcGx5UnVuUm91bmRpbmcpCi0gICAgICAgICwgbV9hcHBseVdvcmRSb3VuZGlu
ZyhhcHBseVdvcmRSb3VuZGluZykKICAgICAgICAgLCBtX2Rpc2FibGVTcGFjaW5nKGZhbHNlKQog
I2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2luZ1JlbmRlck9iamVj
dCgwKQpAQCAtNjEsOCArNTgsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIFRleHRS
dW4oY29uc3QgU3RyaW5nJiBzLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBpbnQgeHBvcyA9IDAs
IGludCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNl
LCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSwKLSAgICAgICAgICAgICAgYm9vbCBh
cHBseVJ1blJvdW5kaW5nID0gdHJ1ZSwgYm9vbCBhcHBseVdvcmRSb3VuZGluZyA9IHRydWUpCisg
ICAgVGV4dFJ1bihjb25zdCBTdHJpbmcmIHMsIGJvb2wgYWxsb3dUYWJzID0gZmFsc2UsIGZsb2F0
IHhwb3MgPSAwLCBmbG9hdCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9y
IHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29s
IHJ0bCA9IGZhbHNlLCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSkKICAgICAgICAg
OiBtX2NoYXJhY3RlcnMocy5jaGFyYWN0ZXJzKCkpCiAgICAgICAgICwgbV9sZW4ocy5sZW5ndGgo
KSkKICAgICAgICAgLCBtX3hwb3MoeHBvcykKQEAgLTc0LDggKzcwLDYgQEAgcHVibGljOgogICAg
ICAgICAsIG1fYWxsb3dUYWJzKGFsbG93VGFicykKICAgICAgICAgLCBtX3J0bChydGwpCiAgICAg
ICAgICwgbV9kaXJlY3Rpb25hbE92ZXJyaWRlKGRpcmVjdGlvbmFsT3ZlcnJpZGUpCi0gICAgICAg
ICwgbV9hcHBseVJ1blJvdW5kaW5nKGFwcGx5UnVuUm91bmRpbmcpCi0gICAgICAgICwgbV9hcHBs
eVdvcmRSb3VuZGluZyhhcHBseVdvcmRSb3VuZGluZykKICAgICAgICAgLCBtX2Rpc2FibGVTcGFj
aW5nKGZhbHNlKQogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2lu
Z1JlbmRlck9iamVjdCgwKQpAQCAtOTgsMTggKzkyLDE1IEBAIHB1YmxpYzoKICNlbmRpZgogCiAg
ICAgYm9vbCBhbGxvd1RhYnMoKSBjb25zdCB7IHJldHVybiBtX2FsbG93VGFiczsgfQotICAgIGlu
dCB4UG9zKCkgY29uc3QgeyByZXR1cm4gbV94cG9zOyB9Ci0gICAgaW50IGV4cGFuc2lvbigpIGNv
bnN0IHsgcmV0dXJuIG1fZXhwYW5zaW9uOyB9CisgICAgZmxvYXQgeFBvcygpIGNvbnN0IHsgcmV0
dXJuIG1feHBvczsgfQorICAgIGZsb2F0IGV4cGFuc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fZXhw
YW5zaW9uOyB9CiAgICAgYm9vbCBhbGxvd3NUcmFpbGluZ0V4cGFuc2lvbigpIGNvbnN0IHsgcmV0
dXJuIG1fdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9PSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9u
OyB9CiAgICAgYm9vbCBydGwoKSBjb25zdCB7IHJldHVybiBtX3J0bDsgfQogICAgIGJvb2wgbHRy
KCkgY29uc3QgeyByZXR1cm4gIW1fcnRsOyB9CiAgICAgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRl
KCkgY29uc3QgeyByZXR1cm4gbV9kaXJlY3Rpb25hbE92ZXJyaWRlOyB9Ci0gICAgYm9vbCBhcHBs
eVJ1blJvdW5kaW5nKCkgY29uc3QgeyByZXR1cm4gbV9hcHBseVJ1blJvdW5kaW5nOyB9Ci0gICAg
Ym9vbCBhcHBseVdvcmRSb3VuZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbHlXb3JkUm91bmRp
bmc7IH0KICAgICBib29sIHNwYWNpbmdEaXNhYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzYWJs
ZVNwYWNpbmc7IH0KIAogICAgIHZvaWQgZGlzYWJsZVNwYWNpbmcoKSB7IG1fZGlzYWJsZVNwYWNp
bmcgPSB0cnVlOyB9Ci0gICAgdm9pZCBkaXNhYmxlUm91bmRpbmdIYWNrcygpIHsgbV9hcHBseVJ1
blJvdW5kaW5nID0gbV9hcHBseVdvcmRSb3VuZGluZyA9IGZhbHNlOyB9CiAgICAgdm9pZCBzZXRS
VEwoYm9vbCBiKSB7IG1fcnRsID0gYjsgfQogICAgIHZvaWQgc2V0RGlyZWN0aW9uYWxPdmVycmlk
ZShib29sIG92ZXJyaWRlKSB7IG1fZGlyZWN0aW9uYWxPdmVycmlkZSA9IG92ZXJyaWRlOyB9CiAK
QEAgLTEyOCw4ICsxMTksOCBAQCBwcml2YXRlOgogICAgIC8vIG1feHBvcyBpcyB0aGUgeCBwb3Np
dGlvbiByZWxhdGl2ZSB0byB0aGUgbGVmdCBzdGFydCBvZiB0aGUgdGV4dCBsaW5lLCBub3QgcmVs
YXRpdmUgdG8gdGhlIGxlZnQKICAgICAvLyBzdGFydCBvZiB0aGUgY29udGFpbmluZyBibG9jay4g
SW4gdGhlIGNhc2Ugb2YgcmlnaHQgYWxpZ25tZW50IG9yIGNlbnRlciBhbGlnbm1lbnQsIGxlZnQg
c3RhcnQgb2YKICAgICAvLyB0aGUgdGV4dCBsaW5lIGlzIG5vdCB0aGUgc2FtZSBhcyBsZWZ0IHN0
YXJ0IG9mIHRoZSBjb250YWluaW5nIGJsb2NrLgotICAgIGludCBtX3hwb3M7ICAKLSAgICBpbnQg
bV9leHBhbnNpb247CisgICAgZmxvYXQgbV94cG9zOyAgCisgICAgZmxvYXQgbV9leHBhbnNpb247
CiAgICAgVHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciBtX3RyYWlsaW5nRXhwYW5zaW9uQmVoYXZp
b3I7CiAjaWYgRU5BQkxFKFNWRykKICAgICBmbG9hdCBtX2hvcml6b250YWxHbHlwaFN0cmV0Y2g7
CkBAIC0xMzcsOCArMTI4LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fYWxsb3dUYWJzOwogICAg
IGJvb2wgbV9ydGw7CiAgICAgYm9vbCBtX2RpcmVjdGlvbmFsT3ZlcnJpZGU7Ci0gICAgYm9vbCBt
X2FwcGx5UnVuUm91bmRpbmc7Ci0gICAgYm9vbCBtX2FwcGx5V29yZFJvdW5kaW5nOwogICAgIGJv
b2wgbV9kaXNhYmxlU3BhY2luZzsKIAogI2lmIEVOQUJMRShTVkdfRk9OVFMpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAko
cmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0
aEl0ZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBAQCBXaWR0aEl0ZXJh
dG9yOjpXaWR0aEl0ZXJhdG9yKGNvbnN0IEZvbnQqCiAgICAgLCBtX2N1cnJlbnRDaGFyYWN0ZXIo
MCkKICAgICAsIG1fcnVuV2lkdGhTb0ZhcigwKQogICAgICwgbV9pc0FmdGVyRXhwYW5zaW9uKHRy
dWUpCi0gICAgLCBtX2ZpbmFsUm91bmRpbmdXaWR0aCgwKQogICAgICwgbV9mYWxsYmFja0ZvbnRz
KGZhbGxiYWNrRm9udHMpCiAgICAgLCBtX2FjY291bnRGb3JHbHlwaEJvdW5kcyhhY2NvdW50Rm9y
R2x5cGhCb3VuZHMpCiAgICAgLCBtX21heEdseXBoQm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRz
PGZsb2F0Pjo6bWluKCkpCkBAIC04NiwxMSArODUsNiBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFk
dmFuY2UoaW50IG9mZnNldCwgCiAgICAgYm9vbCBydGwgPSBtX3J1bi5ydGwoKTsKICAgICBib29s
IGhhc0V4dHJhU3BhY2luZyA9IChtX2ZvbnQtPmxldHRlclNwYWNpbmcoKSB8fCBtX2ZvbnQtPndv
cmRTcGFjaW5nKCkgfHwgbV9leHBhbnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlzYWJsZWQoKTsK
IAotICAgIGZsb2F0IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSBtX3J1bldpZHRoU29GYXI7Ci0g
ICAgbV9ydW5XaWR0aFNvRmFyID0gZmxvb3JmKG1fcnVuV2lkdGhTb0Zhcik7Ci0gICAgd2lkdGhT
aW5jZUxhc3RSb3VuZGluZyAtPSBtX3J1bldpZHRoU29GYXI7Ci0KLSAgICBmbG9hdCBsYXN0Um91
bmRpbmdXaWR0aCA9IG1fZmluYWxSb3VuZGluZ1dpZHRoOwogICAgIEZsb2F0UmVjdCBib3VuZHM7
CiAKICAgICBjb25zdCBTaW1wbGVGb250RGF0YSogcHJpbWFyeUZvbnQgPSBtX2ZvbnQtPnByaW1h
cnlGb250KCk7CkBAIC0xMzYsNyArMTMwLDcgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNl
KGludCBvZmZzZXQsIAogICAgICAgICBmbG9hdCB3aWR0aDsKICAgICAgICAgaWYgKGMgPT0gJ1x0
JyAmJiBtX3J1bi5hbGxvd1RhYnMoKSkgewogICAgICAgICAgICAgZmxvYXQgdGFiV2lkdGggPSBt
X2ZvbnQtPnRhYldpZHRoKCpmb250RGF0YSk7Ci0gICAgICAgICAgICB3aWR0aCA9IHRhYldpZHRo
IC0gZm1vZGYobV9ydW4ueFBvcygpICsgbV9ydW5XaWR0aFNvRmFyICsgd2lkdGhTaW5jZUxhc3RS
b3VuZGluZywgdGFiV2lkdGgpOworICAgICAgICAgICAgd2lkdGggPSB0YWJXaWR0aCAtIGZtb2Rm
KG1fcnVuLnhQb3MoKSArIG1fcnVuV2lkdGhTb0ZhciwgdGFiV2lkdGgpOwogICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgd2lkdGggPSBmb250RGF0YS0+d2lkdGhGb3JHbHlwaChnbHlwaCk7
CiAKQEAgLTE0NCwxMyArMTM4LDYgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBv
ZmZzZXQsIAogICAgICAgICAgICAgLy8gU1ZHIHVzZXMgaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgp
LCB3aGVuIHRleHRMZW5ndGggaXMgdXNlZCB0byBzdHJldGNoL3NxdWVlemUgdGV4dC4KICAgICAg
ICAgICAgIHdpZHRoICo9IG1fcnVuLmhvcml6b250YWxHbHlwaFN0cmV0Y2goKTsKICNlbmRpZgot
Ci0gICAgICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlzIHdoZW4g
YXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAgICAgIC8vIEZpcnN0LCB3ZSByb3VuZCBz
cGFjZXMgdG8gYW4gYWRqdXN0ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAgICAgLy8g
U2Vjb25kLCBpbiBmaXhlZC1waXRjaCBmb250cyB3ZSBlbnN1cmUgdGhhdCBhbGwgY2hhcmFjdGVy
cyB0aGF0Ci0gICAgICAgICAgICAvLyBtYXRjaCB0aGUgd2lkdGggb2YgdGhlIHNwYWNlIGNoYXJh
Y3RlciBoYXZlIHRoZSBzYW1lIHdpZHRoIGFzIHRoZSBzcGFjZSBjaGFyYWN0ZXIuCi0gICAgICAg
ICAgICBpZiAod2lkdGggPT0gZm9udERhdGEtPnNwYWNlV2lkdGgoKSAmJiAoZm9udERhdGEtPnBp
dGNoKCkgPT0gRml4ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgpKSAm
JiBtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpKQotICAgICAgICAgICAgICAgIHdpZHRoID0gZm9u
dERhdGEtPmFkanVzdGVkU3BhY2VXaWR0aCgpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGZv
bnREYXRhICE9IGxhc3RGb250RGF0YSAmJiB3aWR0aCkgewpAQCAtMTgzLDE0ICsxNzAsMTQgQEAg
dm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQsIAogICAgICAgICAgICAgICAg
ICAgICBpZiAoIXRyZWF0QXNTcGFjZSAmJiAhbV9pc0FmdGVyRXhwYW5zaW9uKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBUYWtlIHRoZSBleHBhbnNpb24gb3Bwb3J0dW5pdHkgYmVmb3Jl
IHRoaXMgaWRlb2dyYXBoLgogICAgICAgICAgICAgICAgICAgICAgICAgbV9leHBhbnNpb24gLT0g
bV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCBl
eHBhbnNpb24gPSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRmKG1fZXhwYW5zaW9u
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0IGV4cGFuc2lvbiA9IHByZXZpb3VzRXhw
YW5zaW9uIC0gbV9leHBhbnNpb247CiAgICAgICAgICAgICAgICAgICAgICAgICBtX3J1bldpZHRo
U29GYXIgKz0gZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdseXBoQnVm
ZmVyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLT5leHBhbmRMYXN0
QWR2YW5jZShleHBhbnNpb24pOwogICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNFeHBh
bnNpb24gPSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAg
ICAgICAgICAgICAgICB3aWR0aCArPSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRm
KG1fZXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAgICAgICAgd2lkdGggKz0gcHJldmlvdXNFeHBh
bnNpb24gLSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5z
aW9uID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAg
bV9pc0FmdGVyRXhwYW5zaW9uID0gZmFsc2U7CkBAIC0yMTYsNDMgKzIwMywxMCBAQCB2b2lkIFdp
ZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9mZnNldCwgCiAgICAgICAgIGNwICs9IGNsdXN0ZXJM
ZW5ndGg7CiAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXIgKz0gY2x1c3Rlckxlbmd0aDsKIAotICAg
ICAgICAvLyBBY2NvdW50IGZvciBmbG9hdC9pbnRlZ2VyIGltcGVkYW5jZSBtaXNtYXRjaCBiZXR3
ZWVuIENHIGFuZCBLSFRNTC4gIldvcmRzIiAoY2hhcmFjdGVycyAKLSAgICAgICAgLy8gZm9sbG93
ZWQgYnkgYSBjaGFyYWN0ZXIgZGVmaW5lZCBieSBpc1JvdW5kaW5nSGFja0NoYXJhY3RlcigpKSBh
cmUgYWx3YXlzIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgIC8vIFdlIGFkanVzdCB0aGUgd2lk
dGggb2YgdGhlIGxhc3QgY2hhcmFjdGVyIG9mIGEgIndvcmQiIHRvIGVuc3VyZSBhbiBpbnRlZ2Vy
IHdpZHRoLgotICAgICAgICAvLyBJZiB3ZSBtb3ZlIEtIVE1MIHRvIGZsb2F0cyB3ZSBjYW4gcmVt
b3ZlIHRoaXMgKGFuZCByZWxhdGVkKSBoYWNrcy4KLQotICAgICAgICBmbG9hdCBvbGRXaWR0aCA9
IHdpZHRoOwotCi0gICAgICAgIC8vIEZvcmNlIGNoYXJhY3RlcnMgdGhhdCBhcmUgdXNlZCB0byBk
ZXRlcm1pbmUgd29yZCBib3VuZGFyaWVzIGZvciB0aGUgcm91bmRpbmcgaGFjawotICAgICAgICAv
LyB0byBiZSBpbnRlZ2VyIHdpZHRoLCBzbyBmb2xsb3dpbmcgd29yZHMgd2lsbCBzdGFydCBvbiBh
biBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICBpZiAobV9ydW4uYXBwbHlXb3JkUm91bmRpbmco
KSAmJiBGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcihjKSkgewotICAgICAgICAgICAgd2lk
dGggPSBjZWlsZih3aWR0aCk7Ci0KLSAgICAgICAgICAgIC8vIFNpbmNlIHdpZHRoU2luY2VMYXN0
Um91bmRpbmcgY2FuIGxvc2UgcHJlY2lzaW9uIGlmIHdlIGluY2x1ZGUgbWVhc3VyZW1lbnRzIGZv
cgotICAgICAgICAgICAgLy8gcHJlY2VkaW5nIHdoaXRlc3BhY2UsIHdlIGJ5cGFzcyBpdCBoZXJl
LgotICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoOwotCi0gICAgICAgICAgICAv
LyBTaW5jZSB0aGlzIGlzIGEgcm91bmRpbmcgaGFjayBjaGFyYWN0ZXIsIHdlIHNob3VsZCBoYXZl
IHJlc2V0IHRoaXMgc3VtIG9uIHRoZSBwcmV2aW91cwotICAgICAgICAgICAgLy8gaXRlcmF0aW9u
LgotICAgICAgICAgICAgQVNTRVJUKCF3aWR0aFNpbmNlTGFzdFJvdW5kaW5nKTsKLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgbmV4dCBjaGFyYWN0
ZXIgaXMgYSAicm91bmRpbmcgaGFjayBjaGFyYWN0ZXIiLCBpZiBzbywgYWRqdXN0Ci0gICAgICAg
ICAgICAvLyB3aWR0aCBzbyB0aGF0IHRoZSB0b3RhbCBydW4gd2lkdGggd2lsbCBiZSBvbiBhbiBp
bnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICAgICAgaWYgKChtX3J1bi5hcHBseVdvcmRSb3VuZGlu
ZygpICYmIGN1cnJlbnRDaGFyYWN0ZXIgPCBtX3J1bi5sZW5ndGgoKSAmJiBGb250Ojppc1JvdW5k
aW5nSGFja0NoYXJhY3RlcigqY3ApKQotICAgICAgICAgICAgICAgICAgICB8fCAobV9ydW4uYXBw
bHlSdW5Sb3VuZGluZygpICYmIGN1cnJlbnRDaGFyYWN0ZXIgPj0gbV9lbmQpKSB7Ci0gICAgICAg
ICAgICAgICAgZmxvYXQgdG90YWxXaWR0aCA9IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgKyB3aWR0
aDsKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gY2VpbGYodG90YWxX
aWR0aCk7Ci0gICAgICAgICAgICAgICAgd2lkdGggKz0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyAt
IHRvdGFsV2lkdGg7Ci0gICAgICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoU2lu
Y2VMYXN0Um91bmRpbmc7Ci0gICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9
IDA7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJv
dW5kaW5nICs9IHdpZHRoOwotICAgICAgICB9CisgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3
aWR0aDsKIAogICAgICAgICBpZiAoZ2x5cGhCdWZmZXIpCi0gICAgICAgICAgICBnbHlwaEJ1ZmZl
ci0+YWRkKGdseXBoLCBmb250RGF0YSwgKHJ0bCA/IG9sZFdpZHRoICsgbGFzdFJvdW5kaW5nV2lk
dGggOiB3aWR0aCkpOwotCi0gICAgICAgIGxhc3RSb3VuZGluZ1dpZHRoID0gd2lkdGggLSBvbGRX
aWR0aDsKKyAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQoZ2x5cGgsIGZvbnREYXRhLCB3aWR0
aCk7CiAKICAgICAgICAgaWYgKG1fYWNjb3VudEZvckdseXBoQm91bmRzKSB7CiAgICAgICAgICAg
ICBtX21heEdseXBoQm91bmRpbmdCb3hZID0gbWF4KG1fbWF4R2x5cGhCb3VuZGluZ0JveFksIGJv
dW5kcy5tYXhZKCkpOwpAQCAtMjYyLDggKzIxNiw2IEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2
YW5jZShpbnQgb2Zmc2V0LCAKICAgICB9CiAKICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBjdXJy
ZW50Q2hhcmFjdGVyOwotICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3aWR0aFNpbmNlTGFzdFJvdW5k
aW5nOwotICAgIG1fZmluYWxSb3VuZGluZ1dpZHRoID0gbGFzdFJvdW5kaW5nV2lkdGg7CiB9CiAK
IGJvb2wgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZU9uZUNoYXJhY3RlcihmbG9hdCYgd2lkdGgsIEds
eXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1dpZHRoSXRlcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCSh3b3JraW5nIGNvcHkp
CkBAIC01Myw3ICs1Myw2IEBAIHN0cnVjdCBXaWR0aEl0ZXJhdG9yIHsKICAgICBmbG9hdCBtX2V4
cGFuc2lvbjsKICAgICBmbG9hdCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwogICAgIGJvb2wg
bV9pc0FmdGVyRXhwYW5zaW9uOwotICAgIGZsb2F0IG1fZmluYWxSb3VuZGluZ1dpZHRoOwogCiBw
cml2YXRlOgogICAgIFVDaGFyMzIgbm9ybWFsaXplVm9pY2luZ01hcmtzKGludCBjdXJyZW50Q2hh
cmFjdGVyKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dy
YXBoaWNzQ29udGV4dENhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAJKHJldmlzaW9uIDc4
NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3ND
b250ZXh0Q2Fpcm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MDEsMjAgKzcwMSwyMiBAQCB2b2lk
IEdyYXBoaWNzQ29udGV4dDo6ZHJhd0ZvY3VzUmluZyhjb25zCiAgICAgY2Fpcm9fcmVzdG9yZShj
cik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgSW50
UG9pbnQmIG9yaWdpbiwgaW50IHdpZHRoLCBib29sIHByaW50aW5nKQordm9pZCBHcmFwaGljc0Nv
bnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjb25zdCBGbG9hdFBvaW50JiBvcmlnaW4sIGZsb2F0IHdp
ZHRoLCBib29sIHByaW50aW5nKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIEludFBvaW50IGVuZFBvaW50ID0gb3JpZ2luICsgSW50U2l6ZSh3
aWR0aCwgMCk7Ci0gICAgZHJhd0xpbmUob3JpZ2luLCBlbmRQb2ludCk7CisgICAgRmxvYXRQb2lu
dCBlbmRQb2ludCA9IG9yaWdpbiArIEZsb2F0U2l6ZSh3aWR0aCwgMCk7CisgICAgCisgICAgLy8g
RklYTUU6IExvc3Mgb2YgcHJlY2lzaW9uIGhlcmUuIE1pZ2h0IGNvbnNpZGVyIHJvdW5kaW5nLgor
ICAgIGRyYXdMaW5lKEludFBvaW50KG9yaWdpbi54KCksIG9yaWdpbi55KCkpLCBJbnRQb2ludChl
bmRQb2ludC54KCksIGVuZFBvaW50LnkoKSkpOwogfQogCiAjaWYgIVBMQVRGT1JNKEdUSykKICNp
bmNsdWRlICJEcmF3RXJyb3JVbmRlcmxpbmUuaCIKICNlbmRpZgogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmIG9yaWdpbiwgaW50
IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCit2b2lkIEdyYXBoaWNzQ29udGV4
dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luLCBmbG9h
dCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQogewogICAgIGlmIChwYWludGlu
Z0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAJKHJl
dmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3Jh
cGhpY3NDb250ZXh0Q0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMwLDcgKzExMzAsNyBAQCBG
bG9hdFJlY3QgR3JhcGhpY3NDb250ZXh0Ojpyb3VuZFRvRGV2aWNlCiAgICAgcmV0dXJuIEZsb2F0
UmVjdChyb3VuZGVkT3JpZ2luLCByb3VuZGVkTG93ZXJSaWdodCAtIHJvdW5kZWRPcmlnaW4pOwog
fQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEludFBvaW50
JiBwb2ludCwgaW50IHdpZHRoLCBib29sIHByaW50aW5nKQordm9pZCBHcmFwaGljc0NvbnRleHQ6
OmRyYXdMaW5lRm9yVGV4dChjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgZmxvYXQgd2lkdGgsIGJv
b2wgcHJpbnRpbmcpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0
dXJuOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhU
ZXh0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDc4NDg0KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJv
bGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDEzICs0OSw2IEBAIHN0YXRpYyBpbmxpbmUg
Q0dGbG9hdCByb3VuZENHRmxvYXQoQ0dGbG8KICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q0dGbG9h
dD4ocm91bmQoZikpOwogfQogCi1zdGF0aWMgaW5saW5lIENHRmxvYXQgY2VpbENHRmxvYXQoQ0dG
bG9hdCBmKQotewotICAgIGlmIChzaXplb2YoQ0dGbG9hdCkgPT0gc2l6ZW9mKGZsb2F0KSkKLSAg
ICAgICAgcmV0dXJuIGNlaWxmKHN0YXRpY19jYXN0PGZsb2F0PihmKSk7Ci0gICAgcmV0dXJuIHN0
YXRpY19jYXN0PENHRmxvYXQ+KGNlaWwoZikpOwotfQotCiBDb21wbGV4VGV4dENvbnRyb2xsZXI6
OkNvbXBsZXhUZXh0Q29udHJvbGxlcihjb25zdCBGb250KiBmb250LCBjb25zdCBUZXh0UnVuJiBy
dW4sIGJvb2wgbWF5VXNlTmF0dXJhbFdyaXRpbmdEaXJlY3Rpb24sIEhhc2hTZXQ8Y29uc3QgU2lt
cGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgYm9vbCBmb3JUZXh0RW1waGFzaXMpCiAgICAg
OiBtX2ZvbnQoKmZvbnQpCiAgICAgLCBtX3J1bihydW4pCkBAIC02OSw3ICs2Miw2IEBAIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6Q29tcGxleFRleHRDb250cm8KICAgICAsIG1fY3VycmVudFJ1bigw
KQogICAgICwgbV9nbHlwaEluQ3VycmVudFJ1bigwKQogICAgICwgbV9jaGFyYWN0ZXJJbkN1cnJl
bnRHbHlwaCgwKQotICAgICwgbV9maW5hbFJvdW5kaW5nV2lkdGgoMCkKICAgICAsIG1fZXhwYW5z
aW9uKHJ1bi5leHBhbnNpb24oKSkKICAgICAsIG1fYWZ0ZXJFeHBhbnNpb24odHJ1ZSkKICAgICAs
IG1fZmFsbGJhY2tGb250cyhmYWxsYmFja0ZvbnRzKQpAQCAtNzcsNyArNjksNiBAQCBDb21wbGV4
VGV4dENvbnRyb2xsZXI6OkNvbXBsZXhUZXh0Q29udHJvCiAgICAgLCBtX21heEdseXBoQm91bmRp
bmdCb3hYKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWluKCkpCiAgICAgLCBtX21pbkdseXBoQm91
bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWF4KCkpCiAgICAgLCBtX21heEdseXBo
Qm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWluKCkpCi0gICAgLCBtX2xhc3RS
b3VuZGluZ0dseXBoKDApCiB7CiAgICAgaWYgKCFtX2V4cGFuc2lvbikKICAgICAgICAgbV9leHBh
bnNpb25QZXJPcHBvcnR1bml0eSA9IDA7CkBAIC00MTMsMTMgKzQwNCwxMSBAQCB2b2lkIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6YWR2YW5jZSh1bnNpCiAgICAgICAgIG1fY3VycmVudFJ1bisrOwog
ICAgICAgICBtX2dseXBoSW5DdXJyZW50UnVuID0gMDsKICAgICB9Ci0gICAgaWYgKCFsdHIgJiYg
bV9udW1HbHlwaHNTb0ZhciA9PSBtX2FkanVzdGVkQWR2YW5jZXMuc2l6ZSgpKQotICAgICAgICBt
X3J1bldpZHRoU29GYXIgKz0gbV9maW5hbFJvdW5kaW5nV2lkdGg7CiB9CiAKIHZvaWQgQ29tcGxl
eFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygpCiB7Ci0gICAgQ0dGbG9h
dCB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gMDsKKyAgICBDR0Zsb2F0IHdpZHRoU2luY2VMYXN0
Q29tbWl0ID0gMDsKICAgICBzaXplX3QgcnVuQ291bnQgPSBtX2NvbXBsZXhUZXh0UnVucy5zaXpl
KCk7CiAgICAgYm9vbCBoYXNFeHRyYVNwYWNpbmcgPSAobV9mb250LmxldHRlclNwYWNpbmcoKSB8
fCBtX2ZvbnQud29yZFNwYWNpbmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNpbmdE
aXNhYmxlZCgpOwogICAgIGZvciAoc2l6ZV90IHIgPSAwOyByIDwgcnVuQ291bnQ7ICsrcikgewpA
QCAtNDMxLDkgKzQyMCw4IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlw
aHMKICAgICAgICAgY29uc3QgQ0dTaXplKiBhZHZhbmNlcyA9IGNvbXBsZXhUZXh0UnVuLmFkdmFu
Y2VzKCk7CiAKICAgICAgICAgYm9vbCBsYXN0UnVuID0gciArIDEgPT0gcnVuQ291bnQ7Ci0gICAg
ICAgIGNvbnN0IFVDaGFyKiBjcCA9IGNvbXBsZXhUZXh0UnVuLmNoYXJhY3RlcnMoKTsKLSAgICAg
ICAgQ0dGbG9hdCByb3VuZGVkU3BhY2VXaWR0aCA9IHJvdW5kQ0dGbG9hdChmb250RGF0YS0+c3Bh
Y2VXaWR0aCgpKTsKICAgICAgICAgYm9vbCByb3VuZHNBZHZhbmNlcyA9ICFtX2ZvbnQuaXNQcmlu
dGVyRm9udCgpICYmIGZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5yb3VuZHNHbHlwaEFkdmFuY2Vz
KCk7CisgICAgICAgIGNvbnN0IFVDaGFyKiBjcCA9IGNvbXBsZXhUZXh0UnVuLmNoYXJhY3RlcnMo
KTsKICAgICAgICAgQ0dQb2ludCBnbHlwaE9yaWdpbiA9IENHUG9pbnRaZXJvOwogICAgICAgICBD
RkluZGV4IGxhc3RDaGFyYWN0ZXJJbmRleCA9IG1fcnVuLmx0cigpID8gbnVtZXJpY19saW1pdHM8
Q0ZJbmRleD46Om1pbigpIDogbnVtZXJpY19saW1pdHM8Q0ZJbmRleD46Om1heCgpOwogICAgICAg
ICBib29sIGlzTW9ub3RvbmljID0gdHJ1ZTsKQEAgLTQ2Myw3ICs0NTEsNyBAQCB2b2lkIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAKICAgICAgICAgICAgIGlmIChjaCA9PSAn
XHQnICYmIG1fcnVuLmFsbG93VGFicygpKSB7CiAgICAgICAgICAgICAgICAgZmxvYXQgdGFiV2lk
dGggPSBtX2ZvbnQudGFiV2lkdGgoKmZvbnREYXRhKTsKLSAgICAgICAgICAgICAgICBhZHZhbmNl
LndpZHRoID0gdGFiV2lkdGggLSBmbW9kZihtX3J1bi54UG9zKCkgKyBtX3RvdGFsV2lkdGggKyB3
aWR0aFNpbmNlTGFzdFJvdW5kaW5nLCB0YWJXaWR0aCk7CisgICAgICAgICAgICAgICAgYWR2YW5j
ZS53aWR0aCA9IHRhYldpZHRoIC0gZm1vZGYobV9ydW4ueFBvcygpICsgbV90b3RhbFdpZHRoICsg
d2lkdGhTaW5jZUxhc3RDb21taXQsIHRhYldpZHRoKTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAo
Y2ggPT0gemVyb1dpZHRoU3BhY2UgfHwgKEZvbnQ6OnRyZWF0QXNaZXJvV2lkdGhTcGFjZShjaCkg
JiYgIXRyZWF0QXNTcGFjZSkpIHsKICAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoID0gMDsK
ICAgICAgICAgICAgICAgICBnbHlwaCA9IGZvbnREYXRhLT5zcGFjZUdseXBoKCk7CkBAIC00NzUs
MTMgKzQ2Myw2IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHMKIAog
ICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSBmb250RGF0YS0+c3ludGhldGljQm9sZE9mZnNl
dCgpOwogCi0gICAgICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlz
IHdoZW4gYXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAgICAgIC8vIEZpcnN0LCB3ZSBy
b3VuZCBzcGFjZXMgdG8gYW4gYWRqdXN0ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAg
ICAgLy8gU2Vjb25kLCBpbiBmaXhlZC1waXRjaCBmb250cyB3ZSBlbnN1cmUgdGhhdCBhbGwgZ2x5
cGhzIHRoYXQKLSAgICAgICAgICAgIC8vIG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgc3BhY2UgZ2x5
cGggaGF2ZSB0aGUgc2FtZSB3aWR0aCBhcyB0aGUgc3BhY2UgZ2x5cGguCi0gICAgICAgICAgICBp
ZiAocm91bmRlZEFkdmFuY2VXaWR0aCA9PSByb3VuZGVkU3BhY2VXaWR0aCAmJiAoZm9udERhdGEt
PnBpdGNoKCkgPT0gRml4ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgp
KSAmJiBtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpKQotICAgICAgICAgICAgICAgIGFkdmFuY2Uu
d2lkdGggPSBmb250RGF0YS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCk7Ci0KICAgICAgICAgICAgIGlm
IChoYXNFeHRyYVNwYWNpbmcpIHsKICAgICAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBhIGdseXBo
IHdpdGggYW4gYWR2YW5jZSwgZ28gYWhlYWQgYW5kIGFkZCBpbiBsZXR0ZXItc3BhY2luZy4KICAg
ICAgICAgICAgICAgICAvLyBUaGF0IHdheSB3ZSB3ZWVkIG91dCB6ZXJvIHdpZHRoIGx1cmtlcnMu
ICBUaGlzIGJlaGF2aW9yIG1hdGNoZXMgdGhlIGZhc3QgdGV4dCBjb2RlIHBhdGguCkBAIC00OTYs
MTMgKzQ3NywxMyBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRyZWF0QXNTcGFjZSAmJiAhbV9hZnRlckV4cGFu
c2lvbikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRha2UgdGhlIGV4cGFuc2lv
biBvcHBvcnR1bml0eSBiZWZvcmUgdGhpcyBpZGVvZ3JhcGguCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbV9leHBhbnNpb24gLT0gbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZXhwYW5zaW9uID0gcm91bmRmKHByZXZpb3VzRXhw
YW5zaW9uKSAtIHJvdW5kZihtX2V4cGFuc2lvbik7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmxvYXQgZXhwYW5zaW9uID0gcHJldmlvdXNFeHBhbnNpb24gLSBtX2V4cGFuc2lvbjsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtX3RvdGFsV2lkdGggKz0gZXhwYW5zaW9uOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fYWRqdXN0ZWRBZHZhbmNlcy5sYXN0KCkud2lkdGgg
Kz0gZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzRXhwYW5z
aW9uID0gbV9leHBhbnNpb247CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5Owot
ICAgICAgICAgICAgICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSByb3VuZGYocHJldmlvdXNF
eHBhbnNpb24pIC0gcm91bmRmKG1fZXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGFkdmFuY2Uud2lkdGggKz0gcHJldmlvdXNFeHBhbnNpb24gLSBtX2V4cGFuc2lvbjsKICAgICAg
ICAgICAgICAgICAgICAgICAgIG1fYWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwogICAgICAgICAgICAg
ICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgIG1fYWZ0ZXJFeHBhbnNpb24g
PSBmYWxzZTsKQEAgLTUxNCwzMyArNDk1LDcgQEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6
OmFkanVzdEdseXBocwogICAgICAgICAgICAgICAgICAgICBtX2FmdGVyRXhwYW5zaW9uID0gZmFs
c2U7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIC8vIERlYWwgd2l0aCB0aGUgZmxvYXQv
aW50ZWdlciBpbXBlZGFuY2UgbWlzbWF0Y2ggYmV0d2VlbiBDRyBhbmQgV2ViQ29yZS4gIldvcmRz
IiAoY2hhcmFjdGVycyAKLSAgICAgICAgICAgIC8vIGZvbGxvd2VkIGJ5IGEgY2hhcmFjdGVyIGRl
ZmluZWQgYnkgaXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoKSkgYXJlIGFsd2F5cyBhbiBpbnRlZ2Vy
IHdpZHRoLgotICAgICAgICAgICAgLy8gV2UgYWRqdXN0IHRoZSB3aWR0aCBvZiB0aGUgbGFzdCBj
aGFyYWN0ZXIgb2YgYSAid29yZCIgdG8gZW5zdXJlIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAg
ICAgICAvLyBGb3JjZSBjaGFyYWN0ZXJzIHRoYXQgYXJlIHVzZWQgdG8gZGV0ZXJtaW5lIHdvcmQg
Ym91bmRhcmllcyBmb3IgdGhlIHJvdW5kaW5nIGhhY2sKLSAgICAgICAgICAgIC8vIHRvIGJlIGlu
dGVnZXIgd2lkdGgsIHNvIHRoZSBmb2xsb3dpbmcgd29yZHMgd2lsbCBzdGFydCBvbiBhbiBpbnRl
Z2VyIGJvdW5kYXJ5LgotICAgICAgICAgICAgaWYgKG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkg
JiYgRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoY2gpKQotICAgICAgICAgICAgICAgIGFk
dmFuY2Uud2lkdGggPSBjZWlsQ0dGbG9hdChhZHZhbmNlLndpZHRoKTsKLQotICAgICAgICAgICAg
Ly8gQ2hlY2sgdG8gc2VlIGlmIHRoZSBuZXh0IGNoYXJhY3RlciBpcyBhICJyb3VuZGluZyBoYWNr
IGNoYXJhY3RlciIsIGlmIHNvLCBhZGp1c3QgdGhlCi0gICAgICAgICAgICAvLyB3aWR0aCBzbyB0
aGF0IHRoZSB0b3RhbCBydW4gd2lkdGggd2lsbCBiZSBvbiBhbiBpbnRlZ2VyIGJvdW5kYXJ5Lgot
ICAgICAgICAgICAgaWYgKChtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpICYmICFsYXN0R2x5cGgg
JiYgRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIobmV4dENoKSkgfHwgKG1fcnVuLmFwcGx5
UnVuUm91bmRpbmcoKSAmJiBsYXN0R2x5cGgpKSB7Ci0gICAgICAgICAgICAgICAgQ0dGbG9hdCB0
b3RhbFdpZHRoID0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyArIGFkdmFuY2Uud2lkdGg7Ci0gICAg
ICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9IGNlaWxDR0Zsb2F0KHRvdGFsV2lk
dGgpOwotICAgICAgICAgICAgICAgIENHRmxvYXQgZXh0cmFXaWR0aCA9IHdpZHRoU2luY2VMYXN0
Um91bmRpbmcgLSB0b3RhbFdpZHRoOwotICAgICAgICAgICAgICAgIGlmIChtX3J1bi5sdHIoKSkK
LSAgICAgICAgICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSBleHRyYVdpZHRoOwotICAgICAg
ICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZiAobV9sYXN0Um91bmRpbmdH
bHlwaCkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fYWRqdXN0ZWRBZHZhbmNlc1ttX2xhc3RS
b3VuZGluZ0dseXBoIC0gMV0ud2lkdGggKz0gZXh0cmFXaWR0aDsKLSAgICAgICAgICAgICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgbV9maW5hbFJvdW5kaW5nV2lkdGggPSBl
eHRyYVdpZHRoOwotICAgICAgICAgICAgICAgICAgICBtX2xhc3RSb3VuZGluZ0dseXBoID0gbV9h
ZGp1c3RlZEFkdmFuY2VzLnNpemUoKSArIDE7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIG1fdG90YWxXaWR0aCArPSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nOwotICAgICAgICAg
ICAgICAgIHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSAwOwotICAgICAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyArPSBhZHZhbmNlLndpZHRoOwor
ICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RDb21taXQgKz0gYWR2YW5jZS53aWR0aDsKIAogICAg
ICAgICAgICAgLy8gRklYTUU6IENvbWJpbmluZyBtYXJrcyBzaG91bGQgcmVjZWl2ZSBhIHRleHQg
ZW1waGFzaXMgbWFyayBpZiB0aGV5IGFyZSBjb21iaW5lIHdpdGggYSBzcGFjZS4KICAgICAgICAg
ICAgIGlmIChtX2ZvclRleHRFbXBoYXNpcyAmJiAoIUZvbnQ6OmNhblJlY2VpdmVUZXh0RW1waGFz
aXMoY2gpIHx8IChVX0dFVF9HQ19NQVNLKGNoKSAmIFVfR0NfTV9NQVNLKSkpCkBAIC01NjQsNyAr
NTE5LDcgQEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBocwogICAgICAg
ICBpZiAoIWlzTW9ub3RvbmljKQogICAgICAgICAgICAgY29tcGxleFRleHRSdW4uc2V0SXNOb25N
b25vdG9uaWMoKTsKICAgICB9Ci0gICAgbV90b3RhbFdpZHRoICs9IHdpZHRoU2luY2VMYXN0Um91
bmRpbmc7CisgICAgbV90b3RhbFdpZHRoICs9IHdpZHRoU2luY2VMYXN0Q29tbWl0OwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5oCShyZXZp
c2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21w
bGV4VGV4dENvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsOSArNjAsNiBAQCBwdWJs
aWM6CiAKICAgICBmbG9hdCB0b3RhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV90b3RhbFdpZHRo
OyB9CiAKLSAgICAvLyBFeHRyYSB3aWR0aCB0byB0aGUgbGVmdCBvZiB0aGUgbGVmdG1vc3QgZ2x5
cGguCi0gICAgZmxvYXQgZmluYWxSb3VuZGluZ1dpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9maW5h
bFJvdW5kaW5nV2lkdGg7IH0KLQogICAgIGZsb2F0IG1pbkdseXBoQm91bmRpbmdCb3hYKCkgY29u
c3QgeyByZXR1cm4gbV9taW5HbHlwaEJvdW5kaW5nQm94WDsgfQogICAgIGZsb2F0IG1heEdseXBo
Qm91bmRpbmdCb3hYKCkgY29uc3QgeyByZXR1cm4gbV9tYXhHbHlwaEJvdW5kaW5nQm94WDsgfQog
ICAgIGZsb2F0IG1pbkdseXBoQm91bmRpbmdCb3hZKCkgY29uc3QgeyByZXR1cm4gbV9taW5HbHlw
aEJvdW5kaW5nQm94WTsgfQpAQCAtMTc2LDcgKzE3Myw2IEBAIHByaXZhdGU6CiAgICAgc2l6ZV90
IG1fY3VycmVudFJ1bjsKICAgICB1bnNpZ25lZCBtX2dseXBoSW5DdXJyZW50UnVuOwogICAgIHVu
c2lnbmVkIG1fY2hhcmFjdGVySW5DdXJyZW50R2x5cGg7Ci0gICAgZmxvYXQgbV9maW5hbFJvdW5k
aW5nV2lkdGg7CiAgICAgZmxvYXQgbV9leHBhbnNpb247CiAgICAgZmxvYXQgbV9leHBhbnNpb25Q
ZXJPcHBvcnR1bml0eTsKICAgICBib29sIG1fYWZ0ZXJFeHBhbnNpb247CkBAIC0xODcsOCArMTgz
LDYgQEAgcHJpdmF0ZToKICAgICBmbG9hdCBtX21heEdseXBoQm91bmRpbmdCb3hYOwogICAgIGZs
b2F0IG1fbWluR2x5cGhCb3VuZGluZ0JveFk7CiAgICAgZmxvYXQgbV9tYXhHbHlwaEJvdW5kaW5n
Qm94WTsKLSAgICAKLSAgICB1bnNpZ25lZCBtX2xhc3RSb3VuZGluZ0dseXBoOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5jcHAJKHJldmlzaW9u
IDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21w
bGV4VGV4dE1hYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxLDcgKzcxLDcgQEAgZmxvYXQgRm9u
dDo6Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JDb21wbAogICAgIGZsb2F0IGFmdGVyV2lkdGggPSBj
b250cm9sbGVyLnJ1bldpZHRoU29GYXIoKTsKIAogICAgIGlmIChydW4ucnRsKCkpIHsKLSAgICAg
ICAgaW5pdGlhbEFkdmFuY2UgPSBjb250cm9sbGVyLnRvdGFsV2lkdGgoKSArIGNvbnRyb2xsZXIu
ZmluYWxSb3VuZGluZ1dpZHRoKCkgLSBhZnRlcldpZHRoOworICAgICAgICBpbml0aWFsQWR2YW5j
ZSA9IGNvbnRyb2xsZXIudG90YWxXaWR0aCgpIC0gYWZ0ZXJXaWR0aDsKICAgICAgICAgZm9yIChp
bnQgaSA9IDAsIGVuZCA9IGdseXBoQnVmZmVyLnNpemUoKSAtIDE7IGkgPCBnbHlwaEJ1ZmZlci5z
aXplKCkgLyAyOyArK2ksIC0tZW5kKQogICAgICAgICAgICAgZ2x5cGhCdWZmZXIuc3dhcChpLCBl
bmQpOwogICAgIH0gZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0dyYXBoaWNzQ29udGV4dE1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0TWFjLm1tCShyZXZpc2lvbiA3ODQ4
NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRl
eHRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTExMiwxNCArMTEyLDE0IEBAIHN0YXRpYyBOU0Nv
bG9yKiBjcmVhdGVQYXR0ZXJuQ29sb3IoTlNTdHIKIH0KIAogLy8gV2ViS2l0IG9uIE1hYyBpcyBh
IHN0YW5kYXJkIHBsYXRmb3JtIGNvbXBvbmVudCwgc28gaXQgbXVzdCB1c2UgdGhlIHN0YW5kYXJk
IHBsYXRmb3JtIGFydHdvcmsgZm9yIHVuZGVybGluZS4KLXZvaWQgR3JhcGhpY3NDb250ZXh0Ojpk
cmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYgcG9pbnQsIGludCB3aWR0aCwg
VGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdM
aW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBmbG9hdCB3aWR0aCwg
VGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVk
KCkpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgLy8gVGhlc2UgYXJlIHRoZSBzYW1l
IGZvciBtaXNzcGVsbGluZyBvciBiYWQgZ3JhbW1hci4KICAgICBpbnQgcGF0dGVybkhlaWdodCA9
IGNNaXNzcGVsbGluZ0xpbmVUaGlja25lc3M7Ci0gICAgaW50IHBhdHRlcm5XaWR0aCA9IGNNaXNz
cGVsbGluZ0xpbmVQYXR0ZXJuV2lkdGg7CisgICAgZmxvYXQgcGF0dGVybldpZHRoID0gY01pc3Nw
ZWxsaW5nTGluZVBhdHRlcm5XaWR0aDsKIAogICAgIGJvb2wgdXNpbmdEb3Q7CiAgICAgTlNDb2xv
ciAqcGF0dGVybkNvbG9yOwpAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
OjpkcmF3TGluZUZvclRleHRDaGUKICAgICAvLyBzcGFjZSBiZXR3ZWVuIGFkamFjZW50IG1pc3Nw
ZWxsZWQgd29yZHMgd2FzIHVuZGVybGluZWQuCiAgICAgaWYgKHVzaW5nRG90KSB7CiAgICAgICAg
IC8vIGFsbG93IHNsaWdodGx5IG1vcmUgY29uc2lkZXJpbmcgdGhhdCB0aGUgcGF0dGVybiBlbmRz
IHdpdGggYSB0cmFuc3BhcmVudCBwaXhlbAotICAgICAgICBpbnQgd2lkdGhNb2QgPSB3aWR0aCAl
IHBhdHRlcm5XaWR0aDsKKyAgICAgICAgZmxvYXQgd2lkdGhNb2QgPSBmbW9kZih3aWR0aCwgcGF0
dGVybldpZHRoKTsKICAgICAgICAgaWYgKHBhdHRlcm5XaWR0aCAtIHdpZHRoTW9kID4gY01pc3Nw
ZWxsaW5nTGluZVBhdHRlcm5HYXBXaWR0aCkKICAgICAgICAgICAgIHdpZHRoIC09IHdpZHRoTW9k
OwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBo
aWNzQ29udGV4dFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC04NDYsMTMgKzg0NiwxMyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6
ZHJhd0ZvY3VzUmluZyhjb25zCiAgICAgZHJhd0ZvY3VzUmluZ0ZvclBhdGgobV9kYXRhLT5wKCks
IHBhdGgsIGNvbG9yLCBtX2RhdGEtPmFudGlBbGlhc2luZ0ZvclJlY3RzQW5kTGluZXMpOwogfQog
Ci12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEludFBvaW50JiBv
cmlnaW4sIGludCB3aWR0aCwgYm9vbCkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZv
clRleHQoY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luLCBmbG9hdCB3aWR0aCwgYm9vbCkKIHsKICAg
ICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBJbnRQb2lu
dCBzdGFydFBvaW50ID0gb3JpZ2luOwotICAgIEludFBvaW50IGVuZFBvaW50ID0gb3JpZ2luICsg
SW50U2l6ZSh3aWR0aCwgMCk7CisgICAgRmxvYXRQb2ludCBzdGFydFBvaW50ID0gb3JpZ2luOwor
ICAgIEZsb2F0UG9pbnQgZW5kUG9pbnQgPSBvcmlnaW4gKyBGbG9hdFNpemUod2lkdGgsIDApOwog
CiAgICAgLy8gSWYgcGFpbnRlbmdpbmUgdHlwZSBpcyBYMTEgdG8gYXZvaWQgYXJ0aWZhY3RzCiAg
ICAgLy8gbGlrZSBidWcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQy
MjQ4CkBAIC04NzIsMTAgKzg3MiwxMSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVG
b3JUZXh0KGNvCiAgICAgfQogI2VuZGlmIC8vIGRlZmluZWQoUV9XU19YMTEpCiAKLSAgICBkcmF3
TGluZShzdGFydFBvaW50LCBlbmRQb2ludCk7CisgICAgLy8gRklYTUU6IExvc3Mgb2YgcHJlY2lz
aW9uIGhlcmUuIE1pZ2h0IGNvbnNpZGVyIHJvdW5kaW5nLgorICAgIGRyYXdMaW5lKEludFBvaW50
KHN0YXJ0UG9pbnQueCgpLCBzdGFydFBvaW50LnkoKSksIEludFBvaW50KGVuZFBvaW50LngoKSwg
ZW5kUG9pbnQueSgpKSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRl
eHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYsIGludCwgVGV4dENoZWNraW5nTGluZVN0eWxlKQor
dm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEZsb2F0
UG9pbnQmLCBmbG9hdCwgVGV4dENoZWNraW5nTGluZVN0eWxlKQogewogICAgIGlmIChwYWludGlu
Z0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCShyZXZp
c2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBs
ZUZvbnREYXRhUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MSw3ICs2MSw2IEBAIHZvaWQgU2lt
cGxlRm9udERhdGE6OnBsYXRmb3JtR2x5cGhJbml0KCkKICAgICBpZiAoIW1fcGxhdGZvcm1EYXRh
LnNpemUoKSkKICAgICAgICAgcmV0dXJuOwogICAgIG1fc3BhY2VHbHlwaCA9IDA7Ci0gICAgbV9h
ZGp1c3RlZFNwYWNlV2lkdGggPSBtX3NwYWNlV2lkdGg7CiAgICAgZGV0ZXJtaW5lUGl0Y2goKTsK
ICAgICBtX21pc3NpbmdHbHlwaERhdGEuZm9udERhdGEgPSB0aGlzOwogICAgIG1fbWlzc2luZ0ds
eXBoRGF0YS5nbHlwaCA9IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL0dyYXBoaWNzQ29udGV4dFNraWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0U2tpYS5jcHAJKHJldmlz
aW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFw
aGljc0NvbnRleHRTa2lhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTk1LDcgKzU5NSw3IEBAIHZv
aWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZShjb25zdCBJbnQKICAgICBwbGF0Zm9ybUNvbnRl
eHQoKS0+Y2FudmFzKCktPmRyYXdQb2ludHMoU2tDYW52YXM6OmtMaW5lc19Qb2ludE1vZGUsIDIs
IHB0cywgcGFpbnQpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0
Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmIHB0LCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVT
dHlsZSBzdHlsZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2lu
Zyhjb25zdCBGbG9hdFBvaW50JiBwdCwgZmxvYXQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHls
ZSBzdHlsZSkKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47
CkBAIC02NDQsOCArNjQ0LDggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dENoZQogICAgIH0KIAogICAgIC8vIE9mZnNldCBpdCB2ZXJ0aWNhbGx5IGJ5IDEgc28gdGhhdCB0
aGVyZSdzIHNvbWUgc3BhY2UgdW5kZXIgdGhlIHRleHQuCi0gICAgU2tTY2FsYXIgb3JpZ2luWCA9
IFNrSW50VG9TY2FsYXIocHQueCgpKTsKLSAgICBTa1NjYWxhciBvcmlnaW5ZID0gU2tJbnRUb1Nj
YWxhcihwdC55KCkpICsgMTsKKyAgICBTa1NjYWxhciBvcmlnaW5YID0gV2ViQ29yZUZsb2F0VG9T
a1NjYWxhcihwdC54KCkpOworICAgIFNrU2NhbGFyIG9yaWdpblkgPSBXZWJDb3JlRmxvYXRUb1Nr
U2NhbGFyKHB0LnkoKSkgKyAxOwogCiAgICAgLy8gTWFrZSBhIHNoYWRlciBmb3IgdGhlIGJpdG1h
cCB3aXRoIGFuIG9yaWdpbiBvZiB0aGUgYm94IHdlJ2xsIGRyYXcuIFRoaXMKICAgICAvLyBzaGFk
ZXIgaXMgcmVmY291bnRlZCBhbmQgd2lsbCBoYXZlIGFuIGluaXRpYWwgcmVmY291bnQgb2YgMS4K
QEAgLTY2NywxMyArNjY3LDEzIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRl
eHRDaGUKICAgICBTa1JlY3QgcmVjdDsKICAgICByZWN0LnNldChvcmlnaW5YLAogICAgICAgICAg
ICAgIG9yaWdpblksCi0gICAgICAgICAgICAgb3JpZ2luWCArIFNrSW50VG9TY2FsYXIod2lkdGgp
LAorICAgICAgICAgICAgIG9yaWdpblggKyBXZWJDb3JlRmxvYXRUb1NrU2NhbGFyKHdpZHRoKSwK
ICAgICAgICAgICAgICBvcmlnaW5ZICsgU2tJbnRUb1NjYWxhcihtaXNzcGVsbEJpdG1hcC0+aGVp
Z2h0KCkpKTsKICAgICBwbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCktPmRyYXdSZWN0KHJlY3Qs
IHBhaW50KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjb25z
dCBJbnRQb2ludCYgcHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCwKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgRmxv
YXRQb2ludCYgcHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0
IHdpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHByaW50
aW5nKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCkBAIC02ODYsOSArNjg2LDkgQEAg
dm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjbwogCiAgICAgaW50IHRoaWNr
bmVzcyA9IFNrTWF4MzIoc3RhdGljX2Nhc3Q8aW50PihzdHJva2VUaGlja25lc3MoKSksIDEpOwog
ICAgIFNrUmVjdCByOwotICAgIHIuZkxlZnQgPSBTa0ludFRvU2NhbGFyKHB0LngoKSk7Ci0gICAg
ci5mVG9wID0gU2tJbnRUb1NjYWxhcihwdC55KCkpOwotICAgIHIuZlJpZ2h0ID0gci5mTGVmdCAr
IFNrSW50VG9TY2FsYXIod2lkdGgpOworICAgIHIuZkxlZnQgPSBXZWJDb3JlRmxvYXRUb1NrU2Nh
bGFyKHB0LngoKSk7CisgICAgci5mVG9wID0gV2ViQ29yZUZsb2F0VG9Ta1NjYWxhcihwdC55KCkp
OworICAgIHIuZlJpZ2h0ID0gci5mTGVmdCArIFdlYkNvcmVGbG9hdFRvU2tTY2FsYXIod2lkdGgp
OwogICAgIHIuZkJvdHRvbSA9IHIuZlRvcCArIFNrSW50VG9TY2FsYXIodGhpY2tuZXNzKTsKIAog
ICAgIFNrUGFpbnQgcGFpbnQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vR3JhcGhpY3NDb250ZXh0Q0dXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRDR1dpbi5jcHAJKHJldmlz
aW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBo
aWNzQ29udGV4dENHV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg0LDcgKzE4NCw3IEBAIHN0
YXRpYyBjb25zdCBDb2xvciYgZ3JhbW1hclBhdHRlcm5Db2xvcigKICAgICByZXR1cm4gZ3JhbW1h
ckNvbG9yOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tp
bmcoY29uc3QgSW50UG9pbnQmIHBvaW50LCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHls
ZSBzdHlsZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhj
b25zdCBGbG9hdFBvaW50JiBwb2ludCwgZmxvYXQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHls
ZSBzdHlsZSkKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47
CkBAIC0yMDQsNyArMjA0LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dENoZQogICAgIC8vIGJvdW5kcyAoZS5nLiB3aGVuIGF0IHRoZSBlZGdlIG9mIGEgdmlldykgYW5k
IGNvdWxkIG1ha2UgaXQgYXBwZWFyIHRoYXQgdGhlCiAgICAgLy8gc3BhY2UgYmV0d2VlbiBhZGph
Y2VudCBtaXNzcGVsbGVkIHdvcmRzIHdhcyB1bmRlcmxpbmVkLgogICAgIC8vIGFsbG93IHNsaWdo
dGx5IG1vcmUgY29uc2lkZXJpbmcgdGhhdCB0aGUgcGF0dGVybiBlbmRzIHdpdGggYSB0cmFuc3Bh
cmVudCBwaXhlbAotICAgIGludCB3aWR0aE1vZCA9IHdpZHRoICUgcGF0dGVybldpZHRoOworICAg
IGZsb2F0IHdpZHRoTW9kID0gZm1vZGYod2lkdGgsIHBhdHRlcm5XaWR0aCk7CiAgICAgaWYgKHBh
dHRlcm5XaWR0aCAtIHdpZHRoTW9kID4gY01pc3NwZWxsaW5nTGluZVBhdHRlcm5HYXBXaWR0aCkK
ICAgICAgICAgd2lkdGggLT0gd2lkdGhNb2Q7CiAgICAgICAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9VbmlzY3JpYmVDb250cm9sbGVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vVW5pc2NyaWJlQ29udHJv
bGxlci5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjEs
MTggKzI2MSwxMyBAQCBib29sIFVuaXNjcmliZUNvbnRyb2xsZXI6OnNoYXBlQW5kUGxhY2VJCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgLy8gQ29udmVydCBhbGwgY2hhcnMgdGhhdCBzaG91
bGQgYmUgdHJlYXRlZCBhcyBzcGFjZXMgdG8gdXNlIHRoZSBzcGFjZSBnbHlwaC4KLSAgICAvLyBX
ZSBhbHNvIGNyZWF0ZSBhIG1hcCB0aGF0IGFsbG93cyB1cyB0byBxdWlja2x5IGdvIGZyb20gc3Bh
Y2UgZ2x5cGhzIG9yIHJvdW5kaW5nCi0gICAgLy8gaGFjayBnbHlwaHMgYmFjayB0byB0aGVpciBj
b3JyZXNwb25kaW5nIGNoYXJhY3RlcnMuCisgICAgLy8gV2UgYWxzbyBjcmVhdGUgYSBtYXAgdGhh
dCBhbGxvd3MgdXMgdG8gcXVpY2tseSBnbyBmcm9tIHNwYWNlIGdseXBocyBiYWNrIHRvIHRoZWly
IGNvcnJlc3BvbmRpbmcgY2hhcmFjdGVycy4KICAgICBWZWN0b3I8aW50PiBzcGFjZUNoYXJhY3Rl
cnMoZ2x5cGhzLnNpemUoKSk7CiAgICAgc3BhY2VDaGFyYWN0ZXJzLmZpbGwoLTEpOwotICAgIFZl
Y3RvcjxpbnQ+IHJvdW5kaW5nSGFja0NoYXJhY3RlcnMoZ2x5cGhzLnNpemUoKSk7Ci0gICAgcm91
bmRpbmdIYWNrQ2hhcmFjdGVycy5maWxsKC0xKTsKLSAgICBWZWN0b3I8aW50PiByb3VuZGluZ0hh
Y2tXb3JkQm91bmRhcmllcyhnbHlwaHMuc2l6ZSgpKTsKLSAgICByb3VuZGluZ0hhY2tXb3JkQm91
bmRhcmllcy5maWxsKC0xKTsKIAogICAgIGNvbnN0IGZsb2F0IGNMb2dpY2FsU2NhbGUgPSBmb250
RGF0YS0+cGxhdGZvcm1EYXRhKCkudXNlR0RJKCkgPyAxLjBmIDogMzIuMGY7CiAgICAgdW5zaWdu
ZWQgbG9naWNhbFNwYWNlV2lkdGggPSBmb250RGF0YS0+c3BhY2VXaWR0aCgpICogY0xvZ2ljYWxT
Y2FsZTsKLSAgICBmbG9hdCByb3VuZGVkU3BhY2VXaWR0aCA9IHJvdW5kZihmb250RGF0YS0+c3Bh
Y2VXaWR0aCgpKTsKKyAgICBmbG9hdCBzcGFjZVdpZHRoID0gZm9udERhdGEtPnNwYWNlV2lkdGgo
KTsKIAogICAgIGZvciAoaW50IGsgPSAwOyBrIDwgbGVuOyBrKyspIHsKICAgICAgICAgVUNoYXIg
Y2ggPSAqKHN0ciArIGspOwpAQCAtMjg2LDIxICsyODEsNiBAQCBib29sIFVuaXNjcmliZUNvbnRy
b2xsZXI6OnNoYXBlQW5kUGxhY2VJCiAgICAgICAgICAgICBpZiAodHJlYXRBc1NwYWNlKQogICAg
ICAgICAgICAgICAgIHNwYWNlQ2hhcmFjdGVyc1tjbHVzdGVyc1trXV0gPSBtX2N1cnJlbnRDaGFy
YWN0ZXIgKyBrICsgaXRlbS5pQ2hhclBvczsKICAgICAgICAgfQotCi0gICAgICAgIGlmIChGb250
Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcihjaCkpCi0gICAgICAgICAgICByb3VuZGluZ0hhY2tD
aGFyYWN0ZXJzW2NsdXN0ZXJzW2tdXSA9IG1fY3VycmVudENoYXJhY3RlciArIGsgKyBpdGVtLmlD
aGFyUG9zOwotCi0gICAgICAgIGludCBib3VuZGFyeSA9IGsgKyBtX2N1cnJlbnRDaGFyYWN0ZXIg
KyBpdGVtLmlDaGFyUG9zOwotICAgICAgICBpZiAoYm91bmRhcnkgPCBtX3J1bi5sZW5ndGgoKSkg
ewotICAgICAgICAgICAgLy8gV2hlbiBhdCB0aGUgbGFzdCBjaGFyYWN0ZXIgaW4gdGhlIHN0ciwg
ZG9uJ3QgbG9vayBvbmUgcGFzdCB0aGUgZW5kIGZvciBhIHJvdW5kaW5nIGhhY2sgY2hhcmFjdGVy
LgotICAgICAgICAgICAgLy8gSW5zdGVhZCBsb29rIGFoZWFkIHRvIHRoZSBmaXJzdCBjaGFyYWN0
ZXIgb2YgbmV4dCBpdGVtLCBpZiB0aGVyZSBpcyBhIG5leHQgb25lLiAKLSAgICAgICAgICAgIGlm
IChrICsgMSA9PSBsZW4pIHsKLSAgICAgICAgICAgICAgICBpZiAoaSArIDIgPCBtX2l0ZW1zLnNp
emUoKSAvLyBDaGVjayBmb3IgYXQgbGVhc3QgMiBpdGVtcyByZW1haW5pbmcuIFRoZSBsYXN0IGl0
ZW0gaXMgYSB0ZXJtaW5hdGluZyBpdGVtIGNvbnRhaW5pbmcgbm8gY2hhcmFjdGVycy4KLSAgICAg
ICAgICAgICAgICAgICAgJiYgRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoKihjcCArIG1f
aXRlbXNbaSArIDFdLmlDaGFyUG9zKSkpCi0gICAgICAgICAgICAgICAgICAgIHJvdW5kaW5nSGFj
a1dvcmRCb3VuZGFyaWVzW2NsdXN0ZXJzW2tdXSA9IGJvdW5kYXJ5OwotICAgICAgICAgICAgfSBl
bHNlIGlmIChGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcigqKHN0ciArIGsgKyAxKSkpCi0g
ICAgICAgICAgICAgICAgcm91bmRpbmdIYWNrV29yZEJvdW5kYXJpZXNbY2x1c3RlcnNba11dID0g
Ym91bmRhcnk7Ci0gICAgICAgIH0KICAgICB9CiAKICAgICAvLyBQb3B1bGF0ZSBvdXIgZ2x5cGgg
YnVmZmVyIHdpdGggdGhpcyBpbmZvcm1hdGlvbi4KQEAgLTMxNCwyNCArMjk0LDggQEAgYm9vbCBV
bmlzY3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSQogICAgICAgICBmbG9hdCBvZmZzZXRY
ID0gb2Zmc2V0c1trXS5kdSAvIGNMb2dpY2FsU2NhbGU7CiAgICAgICAgIGZsb2F0IG9mZnNldFkg
PSBvZmZzZXRzW2tdLmR2IC8gY0xvZ2ljYWxTY2FsZTsKIAotICAgICAgICAvLyBNYXRjaCBBcHBL
aXQncyBydWxlcyBmb3IgdGhlIGludGVnZXIgdnMuIG5vbi1pbnRlZ2VyIHJlbmRlcmluZyBtb2Rl
cy4KLSAgICAgICAgZmxvYXQgcm91bmRlZEFkdmFuY2UgPSByb3VuZGYoYWR2YW5jZSk7Ci0gICAg
ICAgIGlmICghbV9mb250LmlzUHJpbnRlckZvbnQoKSAmJiAhZm9udERhdGEtPmlzU3lzdGVtRm9u
dCgpKSB7Ci0gICAgICAgICAgICBhZHZhbmNlID0gcm91bmRlZEFkdmFuY2U7Ci0gICAgICAgICAg
ICBvZmZzZXRYID0gcm91bmRmKG9mZnNldFgpOwotICAgICAgICAgICAgb2Zmc2V0WSA9IHJvdW5k
ZihvZmZzZXRZKTsKLSAgICAgICAgfQotCiAgICAgICAgIGFkdmFuY2UgKz0gZm9udERhdGEtPnN5
bnRoZXRpY0JvbGRPZmZzZXQoKTsKIAotICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2Vz
IGluIHR3byB3YXlzIHdoZW4gYXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAgLy8gRmly
c3QsIHdlIHJvdW5kIHNwYWNlcyB0byBhbiBhZGp1c3RlZCB3aWR0aCBpbiBhbGwgZm9udHMuCi0g
ICAgICAgIC8vIFNlY29uZCwgaW4gZml4ZWQtcGl0Y2ggZm9udHMgd2UgZW5zdXJlIHRoYXQgYWxs
IGdseXBocyB0aGF0Ci0gICAgICAgIC8vIG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgc3BhY2UgZ2x5
cGggaGF2ZSB0aGUgc2FtZSB3aWR0aCBhcyB0aGUgc3BhY2UgZ2x5cGguCi0gICAgICAgIGlmIChy
b3VuZGVkQWR2YW5jZSA9PSByb3VuZGVkU3BhY2VXaWR0aCAmJiAoZm9udERhdGEtPnBpdGNoKCkg
PT0gRml4ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgpKSAmJgotICAg
ICAgICAgICAgbV9ydW4uYXBwbHlXb3JkUm91bmRpbmcoKSkKLSAgICAgICAgICAgIGFkdmFuY2Ug
PSBmb250RGF0YS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCk7Ci0KICAgICAgICAgaWYgKGhhc0V4dHJh
U3BhY2luZykgewogICAgICAgICAgICAgLy8gSWYgd2UncmUgYSBnbHlwaCB3aXRoIGFuIGFkdmFu
Y2UsIGdvIGFoZWFkIGFuZCBhZGQgaW4gbGV0dGVyLXNwYWNpbmcuCiAgICAgICAgICAgICAvLyBU
aGF0IHdheSB3ZSB3ZWVkIG91dCB6ZXJvIHdpZHRoIGx1cmtlcnMuICBUaGlzIGJlaGF2aW9yIG1h
dGNoZXMgdGhlIGZhc3QgdGV4dCBjb2RlIHBhdGguCkBAIC0zNTIsNyArMzE2LDcgQEAgYm9vbCBV
bmlzY3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSQogICAgICAgICAgICAgICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgcHJldmlvdXNQYWRkaW5nID0g
bV9wYWRkaW5nOwogICAgICAgICAgICAgICAgICAgICAgICAgbV9wYWRkaW5nIC09IG1fcGFkUGVy
U3BhY2U7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZHZhbmNlICs9IHJvdW5kZihwcmV2aW91
c1BhZGRpbmcpIC0gcm91bmRmKG1fcGFkZGluZyk7CisgICAgICAgICAgICAgICAgICAgICAgICBh
ZHZhbmNlICs9IHByZXZpb3VzUGFkZGluZyAtIG1fcGFkZGluZzsKICAgICAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgICAgIH0KIApAQCAtMzYyLDI1ICszMjYsNiBAQCBib29sIFVuaXNj
cmliZUNvbnRyb2xsZXI6OnNoYXBlQW5kUGxhY2VJCiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
IAotICAgICAgICAvLyBEZWFsIHdpdGggdGhlIGZsb2F0L2ludGVnZXIgaW1wZWRhbmNlIG1pc21h
dGNoIGJldHdlZW4gQ0cgYW5kIFdlYkNvcmUuICJXb3JkcyIgKGNoYXJhY3RlcnMgCi0gICAgICAg
IC8vIGZvbGxvd2VkIGJ5IGEgY2hhcmFjdGVyIGRlZmluZWQgYnkgaXNSb3VuZGluZ0hhY2tDaGFy
YWN0ZXIoKSkgYXJlIGFsd2F5cyBhbiBpbnRlZ2VyIHdpZHRoLgotICAgICAgICAvLyBXZSBhZGp1
c3QgdGhlIHdpZHRoIG9mIHRoZSBsYXN0IGNoYXJhY3RlciBvZiBhICJ3b3JkIiB0byBlbnN1cmUg
YW4gaW50ZWdlciB3aWR0aC4KLSAgICAgICAgLy8gRm9yY2UgY2hhcmFjdGVycyB0aGF0IGFyZSB1
c2VkIHRvIGRldGVybWluZSB3b3JkIGJvdW5kYXJpZXMgZm9yIHRoZSByb3VuZGluZyBoYWNrCi0g
ICAgICAgIC8vIHRvIGJlIGludGVnZXIgd2lkdGgsIHNvIHRoZSBmb2xsb3dpbmcgd29yZHMgd2ls
bCBzdGFydCBvbiBhbiBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICBpbnQgcm91bmRpbmdIYWNr
SW5kZXggPSByb3VuZGluZ0hhY2tDaGFyYWN0ZXJzW2tdOwotICAgICAgICBpZiAobV9ydW4uYXBw
bHlXb3JkUm91bmRpbmcoKSAmJiByb3VuZGluZ0hhY2tJbmRleCAhPSAtMSkKLSAgICAgICAgICAg
IGFkdmFuY2UgPSBjZWlsZihhZHZhbmNlKTsKLQotICAgICAgICAvLyBDaGVjayB0byBzZWUgaWYg
dGhlIG5leHQgY2hhcmFjdGVyIGlzIGEgInJvdW5kaW5nIGhhY2sgY2hhcmFjdGVyIiwgaWYgc28s
IGFkanVzdCB0aGUKLSAgICAgICAgLy8gd2lkdGggc28gdGhhdCB0aGUgdG90YWwgcnVuIHdpZHRo
IHdpbGwgYmUgb24gYW4gaW50ZWdlciBib3VuZGFyeS4KLSAgICAgICAgaW50IHBvc2l0aW9uID0g
bV9jdXJyZW50Q2hhcmFjdGVyICsgbGVuOwotICAgICAgICBib29sIGxhc3RHbHlwaCA9IChrID09
IGdseXBocy5zaXplKCkgLSAxKSAmJiAobV9ydW4ucnRsKCkgPyBpID09IDAgOiBpID09IG1faXRl
bXMuc2l6ZSgpIC0gMikgJiYgKHBvc2l0aW9uID49IG1fZW5kKTsKLSAgICAgICAgaWYgKChtX3J1
bi5hcHBseVdvcmRSb3VuZGluZygpICYmIHJvdW5kaW5nSGFja1dvcmRCb3VuZGFyaWVzW2tdICE9
IC0xKSB8fAotICAgICAgICAgICAgKG1fcnVuLmFwcGx5UnVuUm91bmRpbmcoKSAmJiBsYXN0R2x5
cGgpKSB7IAotICAgICAgICAgICAgZmxvYXQgdG90YWxXaWR0aCA9IG1fcnVuV2lkdGhTb0ZhciAr
IGFkdmFuY2U7Ci0gICAgICAgICAgICBhZHZhbmNlICs9IGNlaWxmKHRvdGFsV2lkdGgpIC0gdG90
YWxXaWR0aDsKLSAgICAgICAgfQotCiAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBhZHZhbmNl
OwogCiAgICAgICAgIC8vIEZJWE1FOiBXZSBuZWVkIHRvIHRha2UgdGhlIEdPRkZTRVRTIGZvciBj
b21iaW5pbmcgZ2x5cGhzIGFuZCBzdG9yZSB0aGVtIGluIHRoZSBnbHlwaCBidWZmZXIKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9GaWxlQ2hvb3Nlckd0ay5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0ZpbGVDaG9vc2VyR3RrLmNwcAkocmV2
aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvRmlsZUNob29zZXJH
dGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MCw4ICs2MCw4IEBAIFN0cmluZyBGaWxlQ2hvb3Nl
cjo6YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICAgICAgZ2NoYXIqIHN5c3RlbUJhc2VuYW1lID0g
Z19wYXRoX2dldF9iYXNlbmFtZShzeXN0ZW1GaWxlbmFtZS5kYXRhKCkpOwogICAgICAgICBzdHJp
bmdCeUFkb3B0aW5nRmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHN5c3RlbUJhc2VuYW1lLCBzdHJp
bmcpOwogICAgIH0gZWxzZSBpZiAobV9maWxlbmFtZXMuc2l6ZSgpID4gMSkKLSAgICAgICAgcmV0
dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxvYWRUZXh0
KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250LCBmYWxzZSk7CisgICAgICAgIHJldHVy
biBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUobXVsdGlwbGVGaWxlVXBsb2FkVGV4dCht
X2ZpbGVuYW1lcy5zaXplKCkpLCB3aWR0aCwgZm9udCk7CiAKLSAgICByZXR1cm4gU3RyaW5nVHJ1
bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJpbmcsIHdpZHRoLCBmb250LCBmYWxzZSk7CisgICAg
cmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyaW5nLCB3aWR0aCwgZm9u
dCk7CiB9CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFj
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFnSW1hZ2VN
YWMubW0JKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0Ry
YWdJbWFnZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTU4LDggKzE1OCw3IEBAIHN0YXRpYyBm
bG9hdCB3aWR0aFdpdGhGb250KE5TU3RyaW5nICpzdHIKICAgICBpZiAoY2FuVXNlRmFzdFJlbmRl
cmVyKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCkpIHsKICAgICAgICAgRm9udCB3ZWJDb3JlRm9udChG
b250UGxhdGZvcm1EYXRhKGZvbnQsIFtmb250IHBvaW50U2l6ZV0pLCAhW1tOU0dyYXBoaWNzQ29u
dGV4dCBjdXJyZW50Q29udGV4dF0gaXNEcmF3aW5nVG9TY3JlZW5dKTsKICAgICAgICAgVGV4dFJ1
biBydW4oYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKTsKLSAgICAgICAgcnVuLmRpc2FibGVSb3VuZGlu
Z0hhY2tzKCk7Ci0gICAgICAgIHJldHVybiB3ZWJDb3JlRm9udC5mbG9hdFdpZHRoKHJ1bik7Cisg
ICAgICAgIHJldHVybiB3ZWJDb3JlRm9udC53aWR0aChydW4pOwogICAgIH0KICAgICAKICAgICBy
ZXR1cm4gW3N0cmluZyBzaXplV2l0aEF0dHJpYnV0ZXM6W05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5
V2l0aE9iamVjdHNBbmRLZXlzOmZvbnQsIE5TRm9udEF0dHJpYnV0ZU5hbWUsIG5pbF1dLndpZHRo
OwpAQCAtMTk3LDggKzE5Niw3IEBAIHN0YXRpYyB2b2lkIGRyYXdBdFBvaW50KE5TU3RyaW5nICpz
dHJpbmcKICAgICAgICAgICAgIAogICAgICAgICBGb250IHdlYkNvcmVGb250KEZvbnRQbGF0Zm9y
bURhdGEoZm9udCwgW2ZvbnQgcG9pbnRTaXplXSksICFbbnNDb250ZXh0IGlzRHJhd2luZ1RvU2Ny
ZWVuXSwgQW50aWFsaWFzZWQpOwogICAgICAgICBUZXh0UnVuIHJ1bihidWZmZXIuZGF0YSgpLCBs
ZW5ndGgpOwotICAgICAgICBydW4uZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsKLSAgICAgICAgCisK
ICAgICAgICAgQ0dGbG9hdCByZWQ7CiAgICAgICAgIENHRmxvYXQgZ3JlZW47CiAgICAgICAgIENH
RmxvYXQgYmx1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxlQ2hvb3Nl
ck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRmlsZUNo
b29zZXJNYWMubW0JKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0ZpbGVDaG9vc2VyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw5ICs0Nyw5IEBAIFN0
cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICBlbHNlIGlmIChtX2Zp
bGVuYW1lcy5zaXplKCkgPT0gMSkKICAgICAgICAgc3RyVG9UcnVuY2F0ZSA9IFtbTlNGaWxlTWFu
YWdlciBkZWZhdWx0TWFuYWdlcl0gZGlzcGxheU5hbWVBdFBhdGg6KG1fZmlsZW5hbWVzWzBdKV07
CiAgICAgZWxzZQotICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRl
KG11bHRpcGxlRmlsZVVwbG9hZFRleHQobV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQs
IGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZSht
dWx0aXBsZUZpbGVVcGxvYWRUZXh0KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250KTsK
IAotICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0clRvVHJ1bmNh
dGUsIHdpZHRoLCBmb250LCBmYWxzZSk7CisgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2Vu
dGVyVHJ1bmNhdGUoc3RyVG9UcnVuY2F0ZSwgd2lkdGgsIGZvbnQpOwogfQogCiB9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlV2luLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlV2luLmNwcAkocmV2aXNpb24g
Nzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlV2luLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjEwLDEzICsyMTAsMTMgQEAgRHJhZ0ltYWdlUmVmIGNyZWF0ZURy
YWdJbWFnZUZvckxpbmsoS1VSTAogICAgIHN0YXRpYyBjb25zdCBDb2xvciBib3R0b21Db2xvcigy
NTUsIDI1NSwgMjU1LCAxMjcpOyAvLyBvcmlnaW5hbCBhbHBoYSA9IDAuNQogICAgIGlmIChkcmF3
VVJMU3RyaW5nKSB7CiAgICAgICAgIGlmIChjbGlwVVJMU3RyaW5nKQotICAgICAgICAgICAgdXJs
U3RyaW5nID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKHVybFN0cmluZywgaW1hZ2VT
aXplLndpZHRoKCkgLSAoRHJhZ0xhYmVsQm9yZGVyWCAqIDIuMGYpLCAqdXJsRm9udCwgZmFsc2Up
OworICAgICAgICAgICAgdXJsU3RyaW5nID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRl
KHVybFN0cmluZywgaW1hZ2VTaXplLndpZHRoKCkgLSAoRHJhZ0xhYmVsQm9yZGVyWCAqIDIuMGYp
LCAqdXJsRm9udCk7CiAgICAgICAgIEludFBvaW50IHRleHRQb3MoRHJhZ0xhYmVsQm9yZGVyWCwg
aW1hZ2VTaXplLmhlaWdodCgpIC0gKExhYmVsQm9yZGVyWU9mZnNldCArIHVybEZvbnQtPmZvbnRN
ZXRyaWNzKCkuZGVzY2VudCgpKSk7CiAgICAgICAgIFdlYkNvcmVEcmF3RG91YmxlZFRleHRBdFBv
aW50KGNvbnRleHQsIHVybFN0cmluZywgdGV4dFBvcywgKnVybEZvbnQsIHRvcENvbG9yLCBib3R0
b21Db2xvcik7CiAgICAgfQogICAgIAogICAgIGlmIChjbGlwTGFiZWxTdHJpbmcpCi0gICAgICAg
IGxhYmVsID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKGxhYmVsLCBpbWFnZVNpemUu
d2lkdGgoKSAtIChEcmFnTGFiZWxCb3JkZXJYICogMi4wZiksICpsYWJlbEZvbnQsIGZhbHNlKTsK
KyAgICAgICAgbGFiZWwgPSBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUobGFiZWwsIGlt
YWdlU2l6ZS53aWR0aCgpIC0gKERyYWdMYWJlbEJvcmRlclggKiAyLjBmKSwgKmxhYmVsRm9udCk7
CiAKICAgICBJbnRQb2ludCB0ZXh0UG9zKERyYWdMYWJlbEJvcmRlclgsIERyYWdMYWJlbEJvcmRl
clkgKyBsYWJlbEZvbnQtPnBpeGVsU2l6ZSgpKTsKICAgICBXZWJDb3JlRHJhd0RvdWJsZWRUZXh0
QXRQb2ludChjb250ZXh0LCBsYWJlbCwgdGV4dFBvcywgKmxhYmVsRm9udCwgdG9wQ29sb3IsIGJv
dHRvbUNvbG9yKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxlQ2hvb3Nl
cldpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVD
aG9vc2VyV2luLmNwcAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vRmlsZUNob29zZXJXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niw5ICs0Niw5IEBA
IFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICAgICAgTFBXU1RS
IGJhc2VuYW1lID0gUGF0aEZpbmRGaWxlTmFtZVcodG1wRmlsZW5hbWUuY2hhcmFjdGVyc1dpdGhO
dWxsVGVybWluYXRpb24oKSk7CiAgICAgICAgIHN0cmluZyA9IFN0cmluZyhiYXNlbmFtZSk7CiAg
ICAgfSBlbHNlCi0gICAgICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUo
U3RyaW5nOjpudW1iZXIobV9maWxlbmFtZXMuc2l6ZSgpKSArICIgZmlsZXMiLCB3aWR0aCwgZm9u
dCwgZmFsc2UpOworICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRl
KFN0cmluZzo6bnVtYmVyKG1fZmlsZW5hbWVzLnNpemUoKSkgKyAiIGZpbGVzIiwgd2lkdGgsIGZv
bnQpOwogCi0gICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyaW5n
LCB3aWR0aCwgZm9udCwgZmFsc2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRl
clRydW5jYXRlKHN0cmluZywgd2lkdGgsIGZvbnQpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNw
cAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBN
ZW51V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzI2LDcgKzMyNiw3IEBAIHZvaWQgUG9wdXBN
ZW51V2luOjpjYWxjdWxhdGVQb3NpdGlvbkFuZFMKICAgICAgICAgICAgIGl0ZW1Gb250LnVwZGF0
ZShtX3BvcHVwQ2xpZW50LT5mb250U2VsZWN0b3IoKSk7CiAgICAgICAgIH0KIAotICAgICAgICBw
b3B1cFdpZHRoID0gbWF4KHBvcHVwV2lkdGgsIGl0ZW1Gb250LndpZHRoKFRleHRSdW4odGV4dC5j
aGFyYWN0ZXJzKCksIHRleHQubGVuZ3RoKCkpKSk7CisgICAgICAgIHBvcHVwV2lkdGggPSBtYXgo
cG9wdXBXaWR0aCwgc3RhdGljX2Nhc3Q8aW50PihjZWlsZihpdGVtRm9udC53aWR0aChUZXh0UnVu
KHRleHQuY2hhcmFjdGVycygpLCB0ZXh0Lmxlbmd0aCgpKSkpKSk7CiAgICAgfQogCiAgICAgaWYg
KG5hdHVyYWxIZWlnaHQgPiBtYXhQb3B1cEhlaWdodCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9XZWJDb3JlVGV4dFJlbmRlcmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS93aW4vV2ViQ29yZVRleHRSZW5kZXJlci5jcHAJKHJldmlzaW9uIDc4
NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dlYkNvcmVUZXh0UmVuZGVyZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBXZWJDb3JlRHJhd0Rv
dWJsZWRUZXh0QXRQb2ludChHcmFwaAogCiBmbG9hdCBXZWJDb3JlVGV4dEZsb2F0V2lkdGgoY29u
c3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBGb250JiBmb250KQogewotICAgIHJldHVybiBTdHJpbmdU
cnVuY2F0b3I6OndpZHRoKHRleHQsIGZvbnQsIGZhbHNlKTsKKyAgICByZXR1cm4gU3RyaW5nVHJ1
bmNhdG9yOjp3aWR0aCh0ZXh0LCBmb250KTsKIH0KIAogdm9pZCBXZWJDb3JlU2V0U2hvdWxkVXNl
Rm9udFNtb290aGluZyhib29sIHNtb290aCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9IaXRUZXN0UmVzdWx0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSGl0VGVzdFJlc3VsdC5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDUsNiArNTQ1
LDIzIEBAIGJvb2wgSGl0VGVzdFJlc3VsdDo6YWRkTm9kZVRvUmVjdEJhc2VkVGUKICAgICByZXR1
cm4gIXJlY3QuY29udGFpbnMocmVjdEZvclBvaW50KHgsIHkpKTsKIH0KIAorYm9vbCBIaXRUZXN0
UmVzdWx0OjphZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KE5vZGUqIG5vZGUsIGludCB4LCBp
bnQgeSwgY29uc3QgRmxvYXRSZWN0JiByZWN0KQoreworICAgIC8vIElmIGl0IGlzIG5vdCBhIHJl
Y3QtYmFzZWQgaGl0IHRlc3QsIHRoaXMgbWV0aG9kIGhhcyB0byBiZSBuby1vcC4KKyAgICAvLyBS
ZXR1cm4gZmFsc2UsIHNvIHRoZSBoaXQgdGVzdCBzdG9wcy4KKyAgICBpZiAoIWlzUmVjdEJhc2Vk
VGVzdCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBJZiBub2RlIGlzIG51bGws
IHJldHVybiB0cnVlIHNvIHRoZSBoaXQgdGVzdCBjYW4gY29udGludWUuCisgICAgaWYgKCFub2Rl
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIG5vZGUgPSBub2RlLT5zaGFkb3dBbmNlc3Rv
ck5vZGUoKTsKKyAgICBtX3JlY3RCYXNlZFRlc3RSZXN1bHQuYWRkKG5vZGUpOworCisgICAgcmV0
dXJuICFyZWN0LmNvbnRhaW5zKHJlY3RGb3JQb2ludCh4LCB5KSk7Cit9CisKIHZvaWQgSGl0VGVz
dFJlc3VsdDo6YXBwZW5kKGNvbnN0IEhpdFRlc3RSZXN1bHQmIG90aGVyKQogewogICAgIEFTU0VS
VChpc1JlY3RCYXNlZFRlc3QoKSAmJiBvdGhlci5pc1JlY3RCYXNlZFRlc3QoKSk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgJKHJldmlzaW9uIDc4NDg0KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAkod29ya2luZyBjb3B5
KQpAQCAtMjAsNiArMjAsNyBAQAogI2lmbmRlZiBIaXRUZXN0UmVzdWx0X2gKICNkZWZpbmUgSGl0
VGVzdFJlc3VsdF9oCiAKKyNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJJbnRQb2lu
dC5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCkBAIC0xMDks
NyArMTEwLDggQEAgcHVibGljOgogCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIGl0IGlzIHJlY3Qt
YmFzZWQgaGl0IHRlc3QgYW5kIG5lZWRzIHRvIGNvbnRpbnVlIHVudGlsIHRoZSByZWN0IGlzIGZ1
bGx5CiAgICAgLy8gZW5jbG9zZWQgYnkgdGhlIGJvdW5kYXJpZXMgb2YgYSBub2RlLgotICAgIGJv
b2wgYWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChOb2RlKiwgaW50IHgsIGludCB5LCBjb25z
dCBJbnRSZWN0JiByZWN0ID0gSW50UmVjdCgpKTsKKyAgICBib29sIGFkZE5vZGVUb1JlY3RCYXNl
ZFRlc3RSZXN1bHQoTm9kZSosIGludCB4LCBpbnQgeSwgY29uc3QgSW50UmVjdCYgPSBJbnRSZWN0
KCkpOworICAgIGJvb2wgYWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChOb2RlKiwgaW50IHgs
IGludCB5LCBjb25zdCBGbG9hdFJlY3QmKTsKICAgICBjb25zdCBMaXN0SGFzaFNldDxSZWZQdHI8
Tm9kZT4gPiYgcmVjdEJhc2VkVGVzdFJlc3VsdCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVjdEJhc2Vk
VGVzdFJlc3VsdDsgfQogICAgIHZvaWQgYXBwZW5kKGNvbnN0IEhpdFRlc3RSZXN1bHQmKTsKIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAJKHJldmlzaW9uIDc4NDg0
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEwNiw3ICsxMDYsNyBAQCBpbnQgSW5saW5lQm94Ojpsb2dpY2FsSGVpZ2h0KCkgY29u
c3QKICAgICAgICAgcmVzdWx0ICs9IGZsb3dPYmplY3QtPmJvcmRlckFuZFBhZGRpbmdMb2dpY2Fs
SGVpZ2h0KCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQorIAogaW50IElubGluZUJveDo6Y2Fy
ZXRNaW5PZmZzZXQoKSBjb25zdCAKIHsgCiAgICAgcmV0dXJuIG1fcmVuZGVyZXItPmNhcmV0TWlu
T2Zmc2V0KCk7IApAQCAtMTUwLDE0ICsxNTAsMTIgQEAgdm9pZCBJbmxpbmVCb3g6OmF0dGFjaExp
bmUoKQogICAgICAgICB0b1JlbmRlckJveChtX3JlbmRlcmVyKS0+c2V0SW5saW5lQm94V3JhcHBl
cih0aGlzKTsKIH0KIAotdm9pZCBJbmxpbmVCb3g6OmFkanVzdFBvc2l0aW9uKGludCBkeCwgaW50
IGR5KQordm9pZCBJbmxpbmVCb3g6OmFkanVzdFBvc2l0aW9uKGZsb2F0IGR4LCBmbG9hdCBkeSkK
IHsKICAgICBtX3ggKz0gZHg7CiAgICAgbV95ICs9IGR5OwotICAgIGlmIChtX3JlbmRlcmVyLT5p
c1JlcGxhY2VkKCkpIHsKLSAgICAgICAgUmVuZGVyQm94KiBib3ggPSB0b1JlbmRlckJveChtX3Jl
bmRlcmVyKTsKLSAgICAgICAgYm94LT5tb3ZlKGR4LCBkeSk7Ci0gICAgfQorICAgIGlmIChtX3Jl
bmRlcmVyLT5pc1JlcGxhY2VkKCkpCisgICAgICAgIHRvUmVuZGVyQm94KG1fcmVuZGVyZXIpLT5w
b3NpdGlvbkxpbmVCb3godGhpcyk7CiB9CiAKIHZvaWQgSW5saW5lQm94OjpwYWludChQYWludElu
Zm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHkpCkBAIC0yNzgsMjEgKzI3NiwzNSBAQCBib29s
IElubGluZUJveDo6Y2FuQWNjb21tb2RhdGVFbGxpcHNpcyhiCiAgICAgcmV0dXJuICEoYm94UmVj
dC5pbnRlcnNlY3RzKGVsbGlwc2lzUmVjdCkpOwogfQogCi1pbnQgSW5saW5lQm94OjpwbGFjZUVs
bGlwc2lzQm94KGJvb2wsIGludCwgaW50LCBpbnQsIGJvb2wmKQorZmxvYXQgSW5saW5lQm94Ojpw
bGFjZUVsbGlwc2lzQm94KGJvb2wsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGJvb2wmKQogewogICAg
IC8vIFVzZSAtMSB0byBtZWFuICJ3ZSBkaWRuJ3Qgc2V0IHRoZSBwb3NpdGlvbi4iCiAgICAgcmV0
dXJuIC0xOwogfQogCi1JbnRQb2ludCBJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBp
bmcoKQorRmxvYXRQb2ludCBJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKQog
ewogICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01v
ZGUoKSkKLSAgICAgICAgcmV0dXJuIEludFBvaW50KHgoKSwgeSgpKTsKKyAgICAgICAgcmV0dXJu
IEZsb2F0UG9pbnQoeCgpLCB5KCkpOwogICAgIFJlbmRlckJsb2NrKiBibG9jayA9IHJvb3QoKS0+
YmxvY2soKTsKICAgICBpZiAoYmxvY2stPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCkpCi0gICAgICAgIHJldHVybiBJbnRQb2ludCh4KCksIGJsb2NrLT5oZWlnaHQoKSAtIGhlaWdo
dCgpIC0geSgpKTsKKyAgICAgICAgcmV0dXJuIEZsb2F0UG9pbnQoeCgpLCBibG9jay0+aGVpZ2h0
KCkgLSBoZWlnaHQoKSAtIHkoKSk7CiAgICAgZWxzZQotICAgICAgICByZXR1cm4gSW50UG9pbnQo
YmxvY2stPndpZHRoKCkgLSB3aWR0aCgpIC0geCgpLCB5KCkpOworICAgICAgICByZXR1cm4gRmxv
YXRQb2ludChibG9jay0+d2lkdGgoKSAtIHdpZHRoKCkgLSB4KCksIHkoKSk7Cit9CisKK3ZvaWQg
SW5saW5lQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoRmxvYXRSZWN0JiByZWN0KQoreworICAgIGlm
ICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKKyAg
ICAgICAgcmV0dXJuOworICAgIHJvb3QoKS0+YmxvY2soKS0+ZmxpcEZvcldyaXRpbmdNb2RlKHJl
Y3QpOworfQorCitGbG9hdFBvaW50IElubGluZUJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0
IEZsb2F0UG9pbnQmIHBvaW50KQoreworICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNG
bGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHBvaW50OworICAgIHJl
dHVybiByb290KCktPmJsb2NrKCktPmZsaXBGb3JXcml0aW5nTW9kZShwb2ludCk7CiB9CiAKIHZv
aWQgSW5saW5lQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoSW50UmVjdCYgcmVjdCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmgJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OCw3ICs2
OCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgSW5saW5lQm94KFJlbmRlck9iamVj
dCogb2JqLCBpbnQgeCwgaW50IHksIGludCBsb2dpY2FsV2lkdGgsIGJvb2wgZmlyc3RMaW5lLCBi
b29sIGNvbnN0cnVjdGVkLAorICAgIElubGluZUJveChSZW5kZXJPYmplY3QqIG9iaiwgZmxvYXQg
eCwgZmxvYXQgeSwgZmxvYXQgbG9naWNhbFdpZHRoLCBib29sIGZpcnN0TGluZSwgYm9vbCBjb25z
dHJ1Y3RlZCwKICAgICAgICAgICAgICAgYm9vbCBkaXJ0eSwgYm9vbCBleHRyYWN0ZWQsIGJvb2wg
aXNIb3Jpem9udGFsLCBJbmxpbmVCb3gqIG5leHQsIElubGluZUJveCogcHJldiwgSW5saW5lRmxv
d0JveCogcGFyZW50KQogICAgICAgICA6IG1fbmV4dChuZXh0KQogICAgICAgICAsIG1fcHJldihw
cmV2KQpAQCAtMTEyLDE1ICsxMTIsMTUgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlz
TGluZUJyZWFrKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBh
ZGp1c3RQb3NpdGlvbihpbnQgZHgsIGludCBkeSk7Ci0gICAgdm9pZCBhZGp1c3RMaW5lRGlyZWN0
aW9uUG9zaXRpb24oaW50IGRlbHRhKQorICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihm
bG9hdCBkeCwgZmxvYXQgZHkpOworICAgIHZvaWQgYWRqdXN0TGluZURpcmVjdGlvblBvc2l0aW9u
KGZsb2F0IGRlbHRhKQogICAgIHsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKQogICAgICAg
ICAgICAgYWRqdXN0UG9zaXRpb24oZGVsdGEsIDApOwogICAgICAgICBlbHNlCiAgICAgICAgICAg
ICBhZGp1c3RQb3NpdGlvbigwLCBkZWx0YSk7CiAgICAgfQotICAgIHZvaWQgYWRqdXN0QmxvY2tE
aXJlY3Rpb25Qb3NpdGlvbihpbnQgZGVsdGEpCisgICAgdm9pZCBhZGp1c3RCbG9ja0RpcmVjdGlv
blBvc2l0aW9uKGZsb2F0IGRlbHRhKQogICAgIHsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgp
KQogICAgICAgICAgICAgYWRqdXN0UG9zaXRpb24oMCwgZGVsdGEpOwpAQCAtMjIwLDI4ICsyMjAs
MjggQEAgcHVibGljOgogICAgIFJvb3RJbmxpbmVCb3gqIHJvb3QoKTsKIAogICAgIC8vIHgoKSBp
cyB0aGUgbGVmdCBzaWRlIG9mIHRoZSBib3ggaW4gdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBjb29y
ZGluYXRlIHN5c3RlbS4KLSAgICB2b2lkIHNldFgoaW50IHgpIHsgbV94ID0geDsgfQotICAgIGlu
dCB4KCkgY29uc3QgeyByZXR1cm4gbV94OyB9CisgICAgdm9pZCBzZXRYKGZsb2F0IHgpIHsgbV94
ID0geDsgfQorICAgIGZsb2F0IHgoKSBjb25zdCB7IHJldHVybiBtX3g7IH0KIAogICAgIC8vIHko
KSBpcyB0aGUgdG9wIHNpZGUgb2YgdGhlIGJveCBpbiB0aGUgY29udGFpbmluZyBibG9jaydzIGNv
b3JkaW5hdGUgc3lzdGVtLgotICAgIHZvaWQgc2V0WShpbnQgeSkgeyBtX3kgPSB5OyB9Ci0gICAg
aW50IHkoKSBjb25zdCB7IHJldHVybiBtX3k7IH0KKyAgICB2b2lkIHNldFkoZmxvYXQgeSkgeyBt
X3kgPSB5OyB9CisgICAgZmxvYXQgeSgpIGNvbnN0IHsgcmV0dXJuIG1feTsgfQogCi0gICAgaW50
IHdpZHRoKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsV2lkdGgoKSA6
IGxvZ2ljYWxIZWlnaHQoKTsgfQotICAgIGludCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBpc0hv
cml6b250YWwoKSA/IGxvZ2ljYWxIZWlnaHQoKSA6IGxvZ2ljYWxXaWR0aCgpOyB9Ci0KLSAgICBJ
bnRSZWN0IGZyYW1lUmVjdCgpIGNvbnN0IHsgcmV0dXJuIEludFJlY3QoeCgpLCB5KCksIHdpZHRo
KCksIGhlaWdodCgpKTsgfQorICAgIGZsb2F0IHdpZHRoKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jp
em9udGFsKCkgPyBsb2dpY2FsV2lkdGgoKSA6IGxvZ2ljYWxIZWlnaHQoKTsgfQorICAgIGZsb2F0
IGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbG9naWNhbEhlaWdodCgp
IDogbG9naWNhbFdpZHRoKCk7IH0KIAogICAgIC8vIFRoZSBsb2dpY2FsTGVmdCBwb3NpdGlvbiBp
cyB0aGUgbGVmdCBlZGdlIG9mIHRoZSBsaW5lIGJveCBpbiBhIGhvcml6b250YWwgbGluZSBhbmQg
dGhlIHRvcCBlZGdlIGluIGEgdmVydGljYWwgbGluZS4KLSAgICBpbnQgbG9naWNhbExlZnQoKSBj
b25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IG1feCA6IG1feTsgfQotICAgIGludCBsb2dp
Y2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNhbFdpZHRoKCk7
IH0KLSAgICB2b2lkIHNldExvZ2ljYWxMZWZ0KGludCBsZWZ0KQorICAgIGZsb2F0IGxvZ2ljYWxM
ZWZ0KCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBtX3ggOiBtX3k7IH0KKyAgICBm
bG9hdCBsb2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNh
bFdpZHRoKCk7IH0KKyAgICB2b2lkIHNldExvZ2ljYWxMZWZ0KGZsb2F0IGxlZnQpCiAgICAgewog
ICAgICAgICBpZiAoaXNIb3Jpem9udGFsKCkpCiAgICAgICAgICAgICBtX3ggPSBsZWZ0OwogICAg
ICAgICBlbHNlCiAgICAgICAgICAgICBtX3kgPSBsZWZ0OwogICAgIH0KKyAgICBpbnQgcGl4ZWxT
bmFwcGVkTG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpOyB9CisgICAg
aW50IHBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGNlaWxmKGxvZ2lj
YWxSaWdodCgpKTsgfQogCiAgICAgLy8gVGhlIGxvZ2ljYWxUb3BbIHBvc2l0aW9uIGlzIHRoZSB0
b3AgZWRnZSBvZiB0aGUgbGluZSBib3ggaW4gYSBob3Jpem9udGFsIGxpbmUgYW5kIHRoZSBsZWZ0
IGVkZ2UgaW4gYSB2ZXJ0aWNhbCBsaW5lLgogICAgIGludCBsb2dpY2FsVG9wKCkgY29uc3QgeyBy
ZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBtX3kgOiBtX3g7IH0KQEAgLTI1NSw4ICsyNTUsOCBAQCBw
dWJsaWM6CiAgICAgfQogCiAgICAgLy8gVGhlIGxvZ2ljYWwgd2lkdGggaXMgb3VyIGV4dGVudCBp
biB0aGUgbGluZSdzIG92ZXJhbGwgaW5saW5lIGRpcmVjdGlvbiwgaS5lLiwgd2lkdGggZm9yIGhv
cml6b250YWwgdGV4dCBhbmQgaGVpZ2h0IGZvciB2ZXJ0aWNhbCB0ZXh0LgotICAgIHZvaWQgc2V0
TG9naWNhbFdpZHRoKGludCB3KSB7IG1fbG9naWNhbFdpZHRoID0gdzsgfQotICAgIGludCBsb2dp
Y2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxXaWR0aDsgfQorICAgIHZvaWQgc2V0
TG9naWNhbFdpZHRoKGZsb2F0IHcpIHsgbV9sb2dpY2FsV2lkdGggPSB3OyB9CisgICAgZmxvYXQg
bG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9sb2dpY2FsV2lkdGg7IH0KIAogICAgIC8v
IFRoZSBsb2dpY2FsIGhlaWdodCBpcyBvdXIgZXh0ZW50IGluIHRoZSBibG9jayBmbG93IGRpcmVj
dGlvbiwgaS5lLiwgaGVpZ2h0IGZvciBob3Jpem9udGFsIHRleHQgYW5kIHdpZHRoIGZvciB2ZXJ0
aWNhbCB0ZXh0LgogICAgIGludCBsb2dpY2FsSGVpZ2h0KCkgY29uc3Q7CkBAIC0yODYsNyArMjg2
LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGNhbkFjY29tbW9kYXRlRWxsaXBzaXMo
Ym9vbCBsdHIsIGludCBibG9ja0VkZ2UsIGludCBlbGxpcHNpc1dpZHRoKTsKICAgICAvLyB2aXNp
YmxlTGVmdEVkZ2UsIHZpc2libGVSaWdodEVkZ2UgYXJlIGluIHRoZSBwYXJlbnQncyBjb29yZGlu
YXRlIHN5c3RlbS4KLSAgICB2aXJ0dWFsIGludCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBp
bnQgdmlzaWJsZUxlZnRFZGdlLCBpbnQgdmlzaWJsZVJpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lk
dGgsIGJvb2wmKTsKKyAgICB2aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIs
IGZsb2F0IHZpc2libGVMZWZ0RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwgZmxvYXQgZWxs
aXBzaXNXaWR0aCwgYm9vbCYpOwogCiAgICAgdm9pZCBzZXRIYXNCYWRQYXJlbnQoKTsKIApAQCAt
Mjk0LDYgKzI5NCw4IEBAIHB1YmxpYzoKICAgICAKICAgICBib29sIHZpc2libGVUb0hpdFRlc3Rp
bmcoKSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLT5zdHlsZSgpLT52aXNpYmlsaXR5KCkgPT0g
VklTSUJMRSAmJiByZW5kZXJlcigpLT5zdHlsZSgpLT5wb2ludGVyRXZlbnRzKCkgIT0gUEVfTk9O
RTsgfQogICAgIAorICAgIEVWZXJ0aWNhbEFsaWduIHZlcnRpY2FsQWxpZ24oKSBjb25zdCB7IHJl
dHVybiByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPnZlcnRpY2FsQWxpZ24oKTsgfQor
CiAgICAgLy8gVXNlIHdpdGggY2F1dGlvbiEgVGhlIHR5cGUgaXMgbm90IGNoZWNrZWQhCiAgICAg
UmVuZGVyQm94TW9kZWxPYmplY3QqIGJveE1vZGVsT2JqZWN0KCkgY29uc3QKICAgICB7IApAQCAt
MzAyLDEwICszMDQsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAg
ICBJbnRQb2ludCBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgRmxvYXRQb2ludCBs
b2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgdm9pZCBmbGlwRm9yV3JpdGluZ01vZGUo
RmxvYXRSZWN0Jik7CisgICAgRmxvYXRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgRmxv
YXRQb2ludCYpOwogICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEludFJlY3QmKTsKICAgICBJ
bnRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgSW50UG9pbnQmKTsKLQorICAgIAogcHJp
dmF0ZToKICAgICBJbmxpbmVCb3gqIG1fbmV4dDsgLy8gVGhlIG5leHQgZWxlbWVudCBvbiB0aGUg
c2FtZSBsaW5lIGFzIHVzLgogICAgIElubGluZUJveCogbV9wcmV2OyAvLyBUaGUgcHJldmlvdXMg
ZWxlbWVudCBvbiB0aGUgc2FtZSBsaW5lIGFzIHVzLgpAQCAtMzE1LDkgKzMxOSw5IEBAIHByaXZh
dGU6CiBwdWJsaWM6CiAgICAgUmVuZGVyT2JqZWN0KiBtX3JlbmRlcmVyOwogCi0gICAgaW50IG1f
eDsKLSAgICBpbnQgbV95OwotICAgIGludCBtX2xvZ2ljYWxXaWR0aDsKKyAgICBmbG9hdCBtX3g7
CisgICAgZmxvYXQgbV95OworICAgIGZsb2F0IG1fbG9naWNhbFdpZHRoOwogICAgIAogICAgIC8v
IFNvbWUgb2YgdGhlc2UgYml0cyBhcmUgYWN0dWFsbHkgZm9yIHN1YmNsYXNzZXMgYW5kIG1vdmVk
IGhlcmUgdG8gY29tcGFjdCB0aGUgc3RydWN0dXJlcy4KIApJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY3
LDYgKzY3LDE4IEBAIGludCBJbmxpbmVGbG93Qm94OjpnZXRGbG93U3BhY2luZ0xvZ2ljYWwKICAg
ICByZXR1cm4gdG90V2lkdGg7CiB9CiAKK0ludFJlY3QgSW5saW5lRmxvd0JveDo6cGl4ZWxTbmFw
cGVkRnJhbWVSZWN0KCkgY29uc3QKK3sKKyAgICAvLyBCZWdpbiBieSBzbmFwcGluZyB0aGUgeCBh
bmQgeSBjb29yZGluYXRlcyB0byB0aGUgbmVhcmVzdCBwaXhlbC4KKyAgICBpbnQgc25hcHBlZFgg
PSBscm91bmRmKHgoKSk7CisgICAgaW50IHNuYXBwZWRZID0gbHJvdW5kZih5KCkpOworICAgIAor
ICAgIGludCBzbmFwcGVkTWF4WCA9IGxyb3VuZGYoeCgpICsgd2lkdGgoKSk7CisgICAgaW50IHNu
YXBwZWRNYXhZID0gbHJvdW5kZih5KCkgKyBoZWlnaHQoKSk7CisgICAgCisgICAgcmV0dXJuIElu
dFJlY3Qoc25hcHBlZFgsIHNuYXBwZWRZLCBzbmFwcGVkTWF4WCAtIHNuYXBwZWRYLCBzbmFwcGVk
TWF4WSAtIHNuYXBwZWRZKTsKK30KKwogdm9pZCBJbmxpbmVGbG93Qm94OjphZGRUb0xpbmUoSW5s
aW5lQm94KiBjaGlsZCkgCiB7CiAgICAgQVNTRVJUKCFjaGlsZC0+cGFyZW50KCkpOwpAQCAtMTY3
LDEzICsxNzksMTMgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjphdHRhY2hMaW5lQm94VG9SZW5kZQog
ICAgIHRvUmVuZGVySW5saW5lKHJlbmRlcmVyKCkpLT5saW5lQm94ZXMoKS0+YXR0YWNoTGluZUJv
eCh0aGlzKTsKIH0KIAotdm9pZCBJbmxpbmVGbG93Qm94OjphZGp1c3RQb3NpdGlvbihpbnQgZHgs
IGludCBkeSkKK3ZvaWQgSW5saW5lRmxvd0JveDo6YWRqdXN0UG9zaXRpb24oZmxvYXQgZHgsIGZs
b2F0IGR5KQogewogICAgIElubGluZUJveDo6YWRqdXN0UG9zaXRpb24oZHgsIGR5KTsKICAgICBm
b3IgKElubGluZUJveCogY2hpbGQgPSBmaXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxk
LT5uZXh0T25MaW5lKCkpCiAgICAgICAgIGNoaWxkLT5hZGp1c3RQb3NpdGlvbihkeCwgZHkpOwog
ICAgIGlmIChtX292ZXJmbG93KQotICAgICAgICBtX292ZXJmbG93LT5tb3ZlKGR4LCBkeSk7Cisg
ICAgICAgIG1fb3ZlcmZsb3ctPm1vdmUoZHgsIGR5KTsgLy8gRklYTUU6IFJvdW5kaW5nIGVycm9y
IGhlcmUgc2luY2Ugb3ZlcmZsb3cgd2FzIHBpeGVsIHNuYXBwZWQsIGJ1dCBub2JvZHkgb3RoZXIg
dGhhbiBsaXN0IG1hcmtlcnMgcGFzc2VzIG5vbi1pbnRlZ3JhbCB2YWx1ZXMgaGVyZS4KIH0KIAog
UmVuZGVyTGluZUJveExpc3QqIElubGluZUZsb3dCb3g6OnJlbmRlcmVyTGluZUJveGVzKCkgY29u
c3QKQEAgLTI1NSwxMiArMjY3LDEyIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6ZGV0ZXJtaW5lU3Bh
Y2luZ0ZvckYKICAgICB9CiB9CiAKLWludCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5Jbmxp
bmVEaXJlY3Rpb24oaW50IGxvZ2ljYWxMZWZ0LCBib29sJiBuZWVkc1dvcmRTcGFjaW5nLCBHbHlw
aE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYgdGV4dEJveERhdGFNYXApCitmbG9hdCBJbmxp
bmVGbG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVEaXJlY3Rpb24oZmxvYXQgbG9naWNhbExlZnQs
IGJvb2wmIG5lZWRzV29yZFNwYWNpbmcsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFw
JiB0ZXh0Qm94RGF0YU1hcCkKIHsKICAgICAvLyBTZXQgb3VyIHggcG9zaXRpb24uCiAgICAgc2V0
TG9naWNhbExlZnQobG9naWNhbExlZnQpOwogICAKLSAgICBpbnQgc3RhcnRMb2dpY2FsTGVmdCA9
IGxvZ2ljYWxMZWZ0OworICAgIGZsb2F0IHN0YXJ0TG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdDsK
ICAgICBsb2dpY2FsTGVmdCArPSBib3JkZXJMb2dpY2FsTGVmdCgpICsgcGFkZGluZ0xvZ2ljYWxM
ZWZ0KCk7CiAgICAgCiAgICAgZm9yIChJbmxpbmVCb3gqIGN1cnIgPSBmaXJzdENoaWxkKCk7IGN1
cnI7IGN1cnIgPSBjdXJyLT5uZXh0T25MaW5lKCkpIHsKQEAgLTM0NSwxNyArMzU3LDE2IEBAIGJv
b2wgSW5saW5lRmxvd0JveDo6cmVxdWlyZXNJZGVvZ3JhcGhpY0IKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKLXZvaWQgSW5saW5lRmxvd0JveDo6YWRqdXN0TWF4QXNjZW50QW5kRGVzY2VudChpbnQm
IG1heEFzY2VudCwgaW50JiBtYXhEZXNjZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBtYXhQb3NpdGlvblRvcCwgaW50IG1heFBvc2l0aW9uQm90
dG9tKQordm9pZCBJbmxpbmVGbG93Qm94OjphZGp1c3RNYXhBc2NlbnRBbmREZXNjZW50KGludCYg
bWF4QXNjZW50LCBpbnQmIG1heERlc2NlbnQsIGludCBtYXhQb3NpdGlvblRvcCwgaW50IG1heFBv
c2l0aW9uQm90dG9tKQogewogICAgIGZvciAoSW5saW5lQm94KiBjdXJyID0gZmlyc3RDaGlsZCgp
OyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dE9uTGluZSgpKSB7CiAgICAgICAgIC8vIFRoZSBjb21w
dXRlZCBsaW5laGVpZ2h0IG5lZWRzIHRvIGJlIGV4dGVuZGVkIGZvciB0aGUKICAgICAgICAgLy8g
cG9zaXRpb25lZCBlbGVtZW50cwogICAgICAgICBpZiAoY3Vyci0+cmVuZGVyZXIoKS0+aXNQb3Np
dGlvbmVkKCkpCiAgICAgICAgICAgICBjb250aW51ZTsgLy8gUG9zaXRpb25lZCBwbGFjZWhvbGRl
cnMgZG9uJ3QgYWZmZWN0IGNhbGN1bGF0aW9ucy4KLSAgICAgICAgaWYgKGN1cnItPmxvZ2ljYWxU
b3AoKSA9PSBQb3NpdGlvblRvcCB8fCBjdXJyLT5sb2dpY2FsVG9wKCkgPT0gUG9zaXRpb25Cb3R0
b20pIHsKKyAgICAgICAgaWYgKGN1cnItPnZlcnRpY2FsQWxpZ24oKSA9PSBUT1AgfHwgY3Vyci0+
dmVydGljYWxBbGlnbigpID09IEJPVFRPTSkgewogICAgICAgICAgICAgaW50IGxpbmVIZWlnaHQg
PSBjdXJyLT5saW5lSGVpZ2h0KCk7Ci0gICAgICAgICAgICBpZiAoY3Vyci0+bG9naWNhbFRvcCgp
ID09IFBvc2l0aW9uVG9wKSB7CisgICAgICAgICAgICBpZiAoY3Vyci0+dmVydGljYWxBbGlnbigp
ID09IFRPUCkgewogICAgICAgICAgICAgICAgIGlmIChtYXhBc2NlbnQgKyBtYXhEZXNjZW50IDwg
bGluZUhlaWdodCkKICAgICAgICAgICAgICAgICAgICAgbWF4RGVzY2VudCA9IGxpbmVIZWlnaHQg
LSBtYXhBc2NlbnQ7CiAgICAgICAgICAgICB9CkBAIC0zOTcsNDAgKzQwOCwzNyBAQCBzdGF0aWMg
aW50IHZlcnRpY2FsUG9zaXRpb25Gb3JCb3goSW5saW5lCiAKICAgICBpbnQgdmVydGljYWxQb3Np
dGlvbiA9IDA7CiAgICAgRVZlcnRpY2FsQWxpZ24gdmVydGljYWxBbGlnbiA9IHJlbmRlcmVyLT5z
dHlsZSgpLT52ZXJ0aWNhbEFsaWduKCk7Ci0gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT0gVE9QKQot
ICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uID0gUG9zaXRpb25Ub3A7Ci0gICAgZWxzZSBpZiAodmVy
dGljYWxBbGlnbiA9PSBCT1RUT00pCi0gICAgICAgIHZlcnRpY2FsUG9zaXRpb24gPSBQb3NpdGlv
bkJvdHRvbTsKLSAgICBlbHNlIHsKLSAgICAgICAgUmVuZGVyT2JqZWN0KiBwYXJlbnQgPSByZW5k
ZXJlci0+cGFyZW50KCk7Ci0gICAgICAgIGlmIChwYXJlbnQtPmlzUmVuZGVySW5saW5lKCkgJiYg
cGFyZW50LT5zdHlsZSgpLT52ZXJ0aWNhbEFsaWduKCkgIT0gVE9QICYmIHBhcmVudC0+c3R5bGUo
KS0+dmVydGljYWxBbGlnbigpICE9IEJPVFRPTSkKLSAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRp
b24gPSBib3gtPnBhcmVudCgpLT5sb2dpY2FsVG9wKCk7Ci0gICAgICAgIAotICAgICAgICBpZiAo
dmVydGljYWxBbGlnbiAhPSBCQVNFTElORSkgewotICAgICAgICAgICAgY29uc3QgRm9udCYgZm9u
dCA9IHBhcmVudC0+c3R5bGUoZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgICAgICAgICAgY29uc3Qg
Rm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygpOwotICAgICAgICAg
ICAgaW50IGZvbnRTaXplID0gZm9udC5waXhlbFNpemUoKTsKLQotICAgICAgICAgICAgTGluZURp
cmVjdGlvbk1vZGUgbGluZURpcmVjdGlvbiA9IHBhcmVudC0+c3R5bGUoKS0+aXNIb3Jpem9udGFs
V3JpdGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5lIDogVmVydGljYWxMaW5lOwotCi0gICAgICAg
ICAgICBpZiAodmVydGljYWxBbGlnbiA9PSBTVUIpCi0gICAgICAgICAgICAgICAgdmVydGljYWxQ
b3NpdGlvbiArPSBmb250U2l6ZSAvIDUgKyAxOwotICAgICAgICAgICAgZWxzZSBpZiAodmVydGlj
YWxBbGlnbiA9PSBTVVBFUikKLSAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uIC09IGZv
bnRTaXplIC8gMyArIDE7Ci0gICAgICAgICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IFRF
WFRfVE9QKQotICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gcmVuZGVyZXItPmJh
c2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC0g
Zm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSk7Ci0gICAgICAgICAgICBlbHNlIGlmICh2
ZXJ0aWNhbEFsaWduID09IE1JRERMRSkKLSAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9u
ICs9IC1zdGF0aWNfY2FzdDxpbnQ+KGZvbnRNZXRyaWNzLnhIZWlnaHQoKSAvIDIpIC0gcmVuZGVy
ZXItPmxpbmVIZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAvIDIgKyByZW5kZXJlci0+
YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbik7
Ci0gICAgICAgICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IFRFWFRfQk9UVE9NKSB7Ci0g
ICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSBmb250TWV0cmljcy5kZXNjZW50KGJh
c2VsaW5lVHlwZSk7Ci0gICAgICAgICAgICAgICAgLy8gbGluZUhlaWdodCAtIGJhc2VsaW5lUG9z
aXRpb24gaXMgYWx3YXlzIDAgZm9yIHJlcGxhY2VkIGVsZW1lbnRzIChleGNlcHQgaW5saW5lIGJs
b2NrcyksIHNvIGRvbid0IGJvdGhlciB3YXN0aW5nIHRpbWUgaW4gdGhhdCBjYXNlLgotICAgICAg
ICAgICAgICAgIGlmICghcmVuZGVyZXItPmlzUmVwbGFjZWQoKSB8fCByZW5kZXJlci0+aXNJbmxp
bmVCbG9ja09ySW5saW5lVGFibGUoKSkKLSAgICAgICAgICAgICAgICAgICAgdmVydGljYWxQb3Np
dGlvbiAtPSAocmVuZGVyZXItPmxpbmVIZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAt
IHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5l
RGlyZWN0aW9uKSk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gQkFT
RUxJTkVfTUlERExFKQotICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gLXJlbmRl
cmVyLT5saW5lSGVpZ2h0KGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikgLyAyICsgcmVuZGVyZXIt
PmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24p
OwotICAgICAgICAgICAgZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBMRU5HVEgpCi0gICAgICAg
ICAgICAgICAgdmVydGljYWxQb3NpdGlvbiAtPSByZW5kZXJlci0+c3R5bGUoKS0+dmVydGljYWxB
bGlnbkxlbmd0aCgpLmNhbGNWYWx1ZShyZW5kZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxp
bmVEaXJlY3Rpb24pKTsKLSAgICAgICAgfQorICAgIGlmICh2ZXJ0aWNhbEFsaWduID09IFRPUCB8
fCB2ZXJ0aWNhbEFsaWduID09IEJPVFRPTSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAKKyAgICBS
ZW5kZXJPYmplY3QqIHBhcmVudCA9IHJlbmRlcmVyLT5wYXJlbnQoKTsKKyAgICBpZiAocGFyZW50
LT5pc1JlbmRlcklubGluZSgpICYmIHBhcmVudC0+c3R5bGUoKS0+dmVydGljYWxBbGlnbigpICE9
IFRPUCAmJiBwYXJlbnQtPnN0eWxlKCktPnZlcnRpY2FsQWxpZ24oKSAhPSBCT1RUT00pCisgICAg
ICAgIHZlcnRpY2FsUG9zaXRpb24gPSBib3gtPnBhcmVudCgpLT5sb2dpY2FsVG9wKCk7CisgICAg
CisgICAgaWYgKHZlcnRpY2FsQWxpZ24gIT0gQkFTRUxJTkUpIHsKKyAgICAgICAgY29uc3QgRm9u
dCYgZm9udCA9IHBhcmVudC0+c3R5bGUoZmlyc3RMaW5lKS0+Zm9udCgpOworICAgICAgICBjb25z
dCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7CisgICAgICAg
IGludCBmb250U2l6ZSA9IGZvbnQucGl4ZWxTaXplKCk7CisKKyAgICAgICAgTGluZURpcmVjdGlv
bk1vZGUgbGluZURpcmVjdGlvbiA9IHBhcmVudC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGlu
Z01vZGUoKSA/IEhvcml6b250YWxMaW5lIDogVmVydGljYWxMaW5lOworCisgICAgICAgIGlmICh2
ZXJ0aWNhbEFsaWduID09IFNVQikKKyAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gZm9u
dFNpemUgLyA1ICsgMTsKKyAgICAgICAgZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBTVVBFUikK
KyAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gLT0gZm9udFNpemUgLyAzICsgMTsKKyAgICAg
ICAgZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBURVhUX1RPUCkKKyAgICAgICAgICAgIHZlcnRp
Y2FsUG9zaXRpb24gKz0gcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBm
aXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC0gZm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlw
ZSk7CisgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gTUlERExFKQorICAgICAgICAg
ICAgdmVydGljYWxQb3NpdGlvbiArPSAtc3RhdGljX2Nhc3Q8aW50Pihmb250TWV0cmljcy54SGVp
Z2h0KCkgLyAyKSAtIHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0TGluZSwgbGluZURpcmVjdGlv
bikgLyAyICsgcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExp
bmUsIGxpbmVEaXJlY3Rpb24pOworICAgICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IFRF
WFRfQk9UVE9NKSB7CisgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IGZvbnRNZXRyaWNz
LmRlc2NlbnQoYmFzZWxpbmVUeXBlKTsKKyAgICAgICAgICAgIC8vIGxpbmVIZWlnaHQgLSBiYXNl
bGluZVBvc2l0aW9uIGlzIGFsd2F5cyAwIGZvciByZXBsYWNlZCBlbGVtZW50cyAoZXhjZXB0IGlu
bGluZSBibG9ja3MpLCBzbyBkb24ndCBib3RoZXIgd2FzdGluZyB0aW1lIGluIHRoYXQgY2FzZS4K
KyAgICAgICAgICAgIGlmICghcmVuZGVyZXItPmlzUmVwbGFjZWQoKSB8fCByZW5kZXJlci0+aXNJ
bmxpbmVCbG9ja09ySW5saW5lVGFibGUoKSkKKyAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0
aW9uIC09IChyZW5kZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC0g
cmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGxpbmVE
aXJlY3Rpb24pKTsKKyAgICAgICAgfSBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IEJBU0VMSU5F
X01JRERMRSkKKyAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gLXJlbmRlcmVyLT5saW5l
SGVpZ2h0KGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikgLyAyICsgcmVuZGVyZXItPmJhc2VsaW5l
UG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pOworICAgICAg
ICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IExFTkdUSCkKKyAgICAgICAgICAgIHZlcnRpY2Fs
UG9zaXRpb24gLT0gcmVuZGVyZXItPnN0eWxlKCktPnZlcnRpY2FsQWxpZ25MZW5ndGgoKS5jYWxj
VmFsdWUocmVuZGVyZXItPmxpbmVIZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSk7CiAg
ICAgfQogCiAgICAgLy8gU3RvcmUgdGhlIGNhY2hlZCB2YWx1ZS4KQEAgLTU0MiwxMCArNTUwLDEw
IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6Y29tcHV0ZUxvZ2ljYWxCb3hIZWkKICAgICAgICAgICAg
IH0KICAgICAgICAgfQogCi0gICAgICAgIGlmIChjdXJyLT5sb2dpY2FsVG9wKCkgPT0gUG9zaXRp
b25Ub3ApIHsKKyAgICAgICAgaWYgKGN1cnItPnZlcnRpY2FsQWxpZ24oKSA9PSBUT1ApIHsKICAg
ICAgICAgICAgIGlmIChtYXhQb3NpdGlvblRvcCA8IGxpbmVIZWlnaHQpCiAgICAgICAgICAgICAg
ICAgbWF4UG9zaXRpb25Ub3AgPSBsaW5lSGVpZ2h0OwotICAgICAgICB9IGVsc2UgaWYgKGN1cnIt
PmxvZ2ljYWxUb3AoKSA9PSBQb3NpdGlvbkJvdHRvbSkgeworICAgICAgICB9IGVsc2UgaWYgKGN1
cnItPnZlcnRpY2FsQWxpZ24oKSA9PSBCT1RUT00pIHsKICAgICAgICAgICAgIGlmIChtYXhQb3Np
dGlvbkJvdHRvbSA8IGxpbmVIZWlnaHQpCiAgICAgICAgICAgICAgICAgbWF4UG9zaXRpb25Cb3R0
b20gPSBsaW5lSGVpZ2h0OwogICAgICAgICB9IGVsc2UgaWYgKCghaXNJbmxpbmVGbG93IHx8IHN0
YXRpY19jYXN0PElubGluZUZsb3dCb3gqPihjdXJyKS0+aGFzVGV4dENoaWxkcmVuKCkpIHx8IGN1
cnItPmJveE1vZGVsT2JqZWN0KCktPmhhc0lubGluZURpcmVjdGlvbkJvcmRlcnNPclBhZGRpbmco
KSB8fCBzdHJpY3RNb2RlKSB7CkBAIC01OTIsOSArNjAwLDkgQEAgdm9pZCBJbmxpbmVGbG93Qm94
OjpwbGFjZUJveGVzSW5CbG9ja0RpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lVG9wSW5jbHVkaW5n
TWFyZ2lucywgbGluZUJvdHRvbUluY2x1ZGluZ01hcmdpbnMsIGhhc0Fubm90YXRpb25zQmVmb3Jl
LCBoYXNBbm5vdGF0aW9uc0FmdGVyLCBiYXNlbGluZVR5cGUpOwogCiAgICAgICAgIGJvb2wgY2hp
bGRBZmZlY3RzVG9wQm90dG9tUG9zID0gdHJ1ZTsKLSAgICAgICAgaWYgKGN1cnItPmxvZ2ljYWxU
b3AoKSA9PSBQb3NpdGlvblRvcCkKKyAgICAgICAgaWYgKGN1cnItPnZlcnRpY2FsQWxpZ24oKSA9
PSBUT1ApCiAgICAgICAgICAgICBjdXJyLT5zZXRMb2dpY2FsVG9wKHRvcCk7Ci0gICAgICAgIGVs
c2UgaWYgKGN1cnItPmxvZ2ljYWxUb3AoKSA9PSBQb3NpdGlvbkJvdHRvbSkKKyAgICAgICAgZWxz
ZSBpZiAoY3Vyci0+dmVydGljYWxBbGlnbigpID09IEJPVFRPTSkKICAgICAgICAgICAgIGN1cnIt
PnNldExvZ2ljYWxUb3AodG9wICsgbWF4SGVpZ2h0IC0gY3Vyci0+bGluZUhlaWdodCgpKTsKICAg
ICAgICAgZWxzZSB7CiAgICAgICAgICAgICBpZiAoKGlzSW5saW5lRmxvdyAmJiAhc3RhdGljX2Nh
c3Q8SW5saW5lRmxvd0JveCo+KGN1cnIpLT5oYXNUZXh0Q2hpbGRyZW4oKSkgJiYgIWN1cnItPmJv
eE1vZGVsT2JqZWN0KCktPmhhc0lubGluZURpcmVjdGlvbkJvcmRlcnNPclBhZGRpbmcoKSAmJiAh
c3RyaWN0TW9kZSkKQEAgLTcyNCw4ICs3MzIsOCBAQCB2b2lkIElubGluZUZsb3dCb3g6OmFkZEJv
eFNoYWRvd1Zpc3VhbE92CiAgICAgaW50IGJveFNoYWRvd0xvZ2ljYWxSaWdodDsKICAgICByZW5k
ZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmdldEJveFNoYWRvd0lubGluZURpcmVjdGlvbkV4
dGVudChib3hTaGFkb3dMb2dpY2FsTGVmdCwgYm94U2hhZG93TG9naWNhbFJpZ2h0KTsKIAotICAg
IGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93ID0gbWluKGxvZ2ljYWxMZWZ0KCkgKyBib3hT
aGFkb3dMb2dpY2FsTGVmdCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LngoKSk7Ci0gICAgaW50IGxv
Z2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbWF4KGxvZ2ljYWxSaWdodCgpICsgYm94U2hhZG93
TG9naWNhbFJpZ2h0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cubWF4WCgpKTsKKyAgICBpbnQgbG9n
aWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9IG1pbihwaXhlbFNuYXBwZWRMb2dpY2FsTGVmdCgpICsg
Ym94U2hhZG93TG9naWNhbExlZnQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy54KCkpOworICAgIGlu
dCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1heChwaXhlbFNuYXBwZWRMb2dpY2FsUmln
aHQoKSArIGJveFNoYWRvd0xvZ2ljYWxSaWdodCwgbG9naWNhbFZpc3VhbE92ZXJmbG93Lm1heFgo
KSk7CiAgICAgCiAgICAgbG9naWNhbFZpc3VhbE92ZXJmbG93ID0gSW50UmVjdChsb2dpY2FsTGVm
dFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3csCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyAtIGxvZ2lj
YWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdyAtIGxvZ2lj
YWxUb3BWaXN1YWxPdmVyZmxvdyk7CkBAIC03ODEsOCArNzg5LDggQEAgdm9pZCBJbmxpbmVGbG93
Qm94OjphZGRUZXh0Qm94VmlzdWFsT3ZlcgogCiAgICAgaW50IGxvZ2ljYWxUb3BWaXN1YWxPdmVy
ZmxvdyA9IG1pbih0ZXh0Qm94LT5sb2dpY2FsVG9wKCkgKyBjaGlsZE92ZXJmbG93TG9naWNhbFRv
cCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LnkoKSk7CiAgICAgaW50IGxvZ2ljYWxCb3R0b21WaXN1
YWxPdmVyZmxvdyA9IG1heCh0ZXh0Qm94LT5sb2dpY2FsQm90dG9tKCkgKyBjaGlsZE92ZXJmbG93
TG9naWNhbEJvdHRvbSwgbG9naWNhbFZpc3VhbE92ZXJmbG93Lm1heFkoKSk7Ci0gICAgaW50IGxv
Z2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4odGV4dEJveC0+bG9naWNhbExlZnQoKSArIGNo
aWxkT3ZlcmZsb3dMb2dpY2FsTGVmdCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LngoKSk7Ci0gICAg
aW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbWF4KHRleHRCb3gtPmxvZ2ljYWxSaWdo
dCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxSaWdodCwgbG9naWNhbFZpc3VhbE92ZXJmbG93Lm1h
eFgoKSk7CisgICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4odGV4dEJveC0+
cGl4ZWxTbmFwcGVkTG9naWNhbExlZnQoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsTGVmdCwgbG9n
aWNhbFZpc3VhbE92ZXJmbG93LngoKSk7CisgICAgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJm
bG93ID0gbWF4KHRleHRCb3gtPnBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCgpICsgY2hpbGRPdmVy
Zmxvd0xvZ2ljYWxSaWdodCwgbG9naWNhbFZpc3VhbE92ZXJmbG93Lm1heFgoKSk7CiAgICAgCiAg
ICAgbG9naWNhbFZpc3VhbE92ZXJmbG93ID0gSW50UmVjdChsb2dpY2FsTGVmdFZpc3VhbE92ZXJm
bG93LCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3csCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxMZWZ0VmlzdWFs
T3ZlcmZsb3csIGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxUb3BWaXN1YWxP
dmVyZmxvdyk7CkBAIC04NjQsNyArODcyLDcgQEAgdm9pZCBJbmxpbmVGbG93Qm94Ojpjb21wdXRl
T3ZlcmZsb3coaW50IAogLy8gYWxsIGZ1bmN0aW9ucyB0aGF0IHF1ZXJ5IG92ZXJmbG93LiAgIAog
dm9pZCBJbmxpbmVGbG93Qm94OjpzZXRMYXlvdXRPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiByZWN0
KQogewotICAgIEludFJlY3QgZnJhbWVCb3ggPSBmcmFtZVJlY3QoKTsKKyAgICBJbnRSZWN0IGZy
YW1lQm94ID0gcGl4ZWxTbmFwcGVkRnJhbWVSZWN0KCk7CiAgICAgaWYgKGZyYW1lQm94ID09IHJl
Y3QgfHwgcmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCkBAIC04NzYs
NyArODg0LDcgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpzZXRMYXlvdXRPdmVyZmxvdyhjbwogCiB2
b2lkIElubGluZUZsb3dCb3g6OnNldFZpc3VhbE92ZXJmbG93KGNvbnN0IEludFJlY3QmIHJlY3Qp
CiB7Ci0gICAgSW50UmVjdCBmcmFtZUJveCA9IGZyYW1lUmVjdCgpOworICAgIEludFJlY3QgZnJh
bWVCb3ggPSBwaXhlbFNuYXBwZWRGcmFtZVJlY3QoKTsKICAgICBpZiAoZnJhbWVCb3ggPT0gcmVj
dCB8fCByZWN0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogICAgICAgICAKQEAgLTkxMiw5
ICs5MjAsOSBAQCBib29sIElubGluZUZsb3dCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpCiAgICAg
fQogCiAgICAgLy8gTm93IGNoZWNrIG91cnNlbHZlcy4KLSAgICBJbnRQb2ludCBib3hPcmlnaW4g
PSBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgRmxvYXRQb2ludCBib3hPcmlnaW4g
PSBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CiAgICAgYm94T3JpZ2luLm1vdmUodHgsIHR5
KTsKLSAgICBJbnRSZWN0IHJlY3QoYm94T3JpZ2luLCBJbnRTaXplKHdpZHRoKCksIGhlaWdodCgp
KSk7CisgICAgRmxvYXRSZWN0IHJlY3QoYm94T3JpZ2luLCBJbnRTaXplKHdpZHRoKCksIGhlaWdo
dCgpKSk7CiAgICAgaWYgKHZpc2libGVUb0hpdFRlc3RpbmcoKSAmJiByZWN0LmludGVyc2VjdHMo
cmVzdWx0LnJlY3RGb3JQb2ludCh4LCB5KSkpIHsKICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRl
SGl0VGVzdFJlc3VsdChyZXN1bHQsIGZsaXBGb3JXcml0aW5nTW9kZShJbnRQb2ludCh4IC0gdHgs
IHkgLSB0eSkpKTsgLy8gRG9uJ3QgYWRkIGluIG1feCBvciBtX3kgaGVyZSwgd2Ugd2FudCBjb29y
ZHMgaW4gdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBzcGFjZS4KICAgICAgICAgaWYgKCFyZXN1bHQu
YWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChyZW5kZXJlcigpLT5ub2RlKCksIHgsIHksIHJl
Y3QpKQpAQCAtMTA1MCwxMCArMTA1OCwxMiBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBhaW50Qm94
RGVjb3JhdGlvbnMoCiAgICAgaWYgKCFwYWludEluZm8uc2hvdWxkUGFpbnRXaXRoaW5Sb290KHJl
bmRlcmVyKCkpIHx8IHJlbmRlcmVyKCktPnN0eWxlKCktPnZpc2liaWxpdHkoKSAhPSBWSVNJQkxF
IHx8IHBhaW50SW5mby5waGFzZSAhPSBQYWludFBoYXNlRm9yZWdyb3VuZCkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgaW50IHggPSBtX3g7Ci0gICAgaW50IHkgPSBtX3k7Ci0gICAgaW50IHcgPSB3
aWR0aCgpOwotICAgIGludCBoID0gaGVpZ2h0KCk7CisgICAgLy8gUGl4ZWwgc25hcCBiYWNrZ3Jv
dW5kL2JvcmRlciBwYWludGluZy4KKyAgICBJbnRSZWN0IGZyYW1lUmVjdCA9IHBpeGVsU25hcHBl
ZEZyYW1lUmVjdCgpOworICAgIGludCB4ID0gZnJhbWVSZWN0LngoKTsKKyAgICBpbnQgeSA9IGZy
YW1lUmVjdC55KCk7CisgICAgaW50IHcgPSBmcmFtZVJlY3Qud2lkdGgoKTsKKyAgICBpbnQgaCA9
IGZyYW1lUmVjdC5oZWlnaHQoKTsKIAogICAgIC8vIENvbnN0cmFpbiBvdXIgYmFja2dyb3VuZC9i
b3JkZXIgcGFpbnRpbmcgdG8gdGhlIGxpbmUgdG9wIGFuZCBib3R0b20gaWYgbmVjZXNzYXJ5Lgog
ICAgIGJvb2wgbm9RdWlya3NNb2RlID0gcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+aW5Ob1F1aXJr
c01vZGUoKTsKQEAgLTExMzMsMTAgKzExNDMsMTIgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwYWlu
dE1hc2soUGFpbnRJbmZvJgogICAgIGlmICghcGFpbnRJbmZvLnNob3VsZFBhaW50V2l0aGluUm9v
dChyZW5kZXJlcigpKSB8fCByZW5kZXJlcigpLT5zdHlsZSgpLT52aXNpYmlsaXR5KCkgIT0gVklT
SUJMRSB8fCBwYWludEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZU1hc2spCiAgICAgICAgIHJldHVy
bjsKIAotICAgIGludCB4ID0gbV94OwotICAgIGludCB5ID0gbV95OwotICAgIGludCB3ID0gd2lk
dGgoKTsKLSAgICBpbnQgaCA9IGhlaWdodCgpOworICAgIC8vIFBpeGVsIHNuYXAgbWFzayBwYWlu
dGluZy4KKyAgICBJbnRSZWN0IGZyYW1lUmVjdCA9IHBpeGVsU25hcHBlZEZyYW1lUmVjdCgpOwor
ICAgIGludCB4ID0gZnJhbWVSZWN0LngoKTsKKyAgICBpbnQgeSA9IGZyYW1lUmVjdC55KCk7Cisg
ICAgaW50IHcgPSBmcmFtZVJlY3Qud2lkdGgoKTsKKyAgICBpbnQgaCA9IGZyYW1lUmVjdC5oZWln
aHQoKTsKIAogICAgIC8vIENvbnN0cmFpbiBvdXIgYmFja2dyb3VuZC9ib3JkZXIgcGFpbnRpbmcg
dG8gdGhlIGxpbmUgdG9wIGFuZCBib3R0b20gaWYgbmVjZXNzYXJ5LgogICAgIGJvb2wgbm9RdWly
a3NNb2RlID0gcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+aW5Ob1F1aXJrc01vZGUoKTsKQEAgLTEy
MzcsMTQgKzEyNDksMTQgQEAgYm9vbCBJbmxpbmVGbG93Qm94OjpjYW5BY2NvbW1vZGF0ZUVsbGlw
cwogICAgIHJldHVybiB0cnVlOwogfQogCi1pbnQgSW5saW5lRmxvd0JveDo6cGxhY2VFbGxpcHNp
c0JveChib29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50
IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KQorZmxvYXQgSW5saW5lRmxvd0JveDo6cGxh
Y2VFbGxpcHNpc0JveChib29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tS
aWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KQogewotICAgIGlu
dCByZXN1bHQgPSAtMTsKKyAgICBmbG9hdCByZXN1bHQgPSAtMTsKICAgICAvLyBXZSBpdGVyYXRl
IG92ZXIgYWxsIGNoaWxkcmVuLCB0aGUgZm91bmRCb3ggdmFyaWFibGUgdGVsbHMgdXMgd2hlbiB3
ZSd2ZSBmb3VuZCB0aGUKICAgICAvLyBib3ggY29udGFpbmluZyB0aGUgZWxsaXBzaXMuICBBbGwg
Ym94ZXMgYWZ0ZXIgdGhhdCBvbmUgaW4gdGhlIGZsb3cgYXJlIGhpZGRlbi4KICAgICAvLyBJZiBv
dXIgZmxvdyBpcyBsdHIgdGhlbiBpdGVyYXRlIG92ZXIgdGhlIGJveGVzIGZyb20gbGVmdCB0byBy
aWdodCwgb3RoZXJ3aXNlIGl0ZXJhdGUKICAgICAvLyBmcm9tIHJpZ2h0IHRvIGxlZnQuIFZhcnlp
bmcgdGhlIG9yZGVyIGFsbG93cyB1cyB0byBjb3JyZWN0bHkgaGlkZSB0aGUgYm94ZXMgZm9sbG93
aW5nIHRoZSBlbGxpcHNpcy4KLSAgICBJbmxpbmVCb3ggKmJveCA9IGx0ciA/IGZpcnN0Q2hpbGQo
KSA6IGxhc3RDaGlsZCgpOworICAgIElubGluZUJveCogYm94ID0gbHRyID8gZmlyc3RDaGlsZCgp
IDogbGFzdENoaWxkKCk7CiAKICAgICAvLyBOT1RFOiB0aGVzZSB3aWxsIGNyb3NzIGFmdGVyIGZv
dW5kQm94ID0gdHJ1ZS4KICAgICBpbnQgdmlzaWJsZUxlZnRFZGdlID0gYmxvY2tMZWZ0RWRnZTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAkocmV2aXNpb24g
Nzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC04NSw3ICs4NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGVs
ZXRlTGluZShSZW5kZXJBcmVuYSopOwogICAgIHZpcnR1YWwgdm9pZCBleHRyYWN0TGluZSgpOwog
ICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hMaW5lKCk7Ci0gICAgdmlydHVhbCB2b2lkIGFkanVzdFBv
c2l0aW9uKGludCBkeCwgaW50IGR5KTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UG9zaXRpb24o
ZmxvYXQgZHgsIGZsb2F0IGR5KTsKIAogICAgIHZpcnR1YWwgdm9pZCBleHRyYWN0TGluZUJveEZy
b21SZW5kZXJPYmplY3QoKTsKICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoTGluZUJveFRvUmVuZGVy
T2JqZWN0KCk7CkBAIC05Myw2ICs5Myw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBj
bGVhclRydW5jYXRpb24oKTsKIAorICAgIEludFJlY3QgcGl4ZWxTbmFwcGVkRnJhbWVSZWN0KCkg
Y29uc3Q7CisgICAgCiAgICAgdmlydHVhbCB2b2lkIHBhaW50Qm94RGVjb3JhdGlvbnMoUGFpbnRJ
bmZvJiwgaW50IHR4LCBpbnQgdHkpOwogICAgIHZpcnR1YWwgdm9pZCBwYWludE1hc2soUGFpbnRJ
bmZvJiwgaW50IHR4LCBpbnQgdHkpOwogICAgIHZvaWQgcGFpbnRGaWxsTGF5ZXJzKGNvbnN0IFBh
aW50SW5mbyYsIGNvbnN0IENvbG9yJiwgY29uc3QgRmlsbExheWVyKiwgaW50IHR4LCBpbnQgdHks
IGludCB3LCBpbnQgaCwgQ29tcG9zaXRlT3BlcmF0b3IgPSBDb21wb3NpdGVTb3VyY2VPdmVyKTsK
QEAgLTE1NSw3ICsxNTcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZXRlcm1pbmVTcGFjaW5nRm9y
Rmxvd0JveGVzKGJvb2wgbGFzdExpbmUsIFJlbmRlck9iamVjdCogZW5kT2JqZWN0KTsKICAgICBp
bnQgZ2V0Rmxvd1NwYWNpbmdMb2dpY2FsV2lkdGgoKTsKICAgICBib29sIG9uRW5kQ2hhaW4oUmVu
ZGVyT2JqZWN0KiBlbmRPYmplY3QpOwotICAgIGludCBwbGFjZUJveGVzSW5JbmxpbmVEaXJlY3Rp
b24oaW50IGxvZ2ljYWxMZWZ0LCBib29sJiBuZWVkc1dvcmRTcGFjaW5nLCBHbHlwaE92ZXJmbG93
QW5kRmFsbGJhY2tGb250c01hcCYpOworICAgIGZsb2F0IHBsYWNlQm94ZXNJbklubGluZURpcmVj
dGlvbihmbG9hdCBsb2dpY2FsTGVmdCwgYm9vbCYgbmVlZHNXb3JkU3BhY2luZywgR2x5cGhPdmVy
Zmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmKTsKICAgICB2b2lkIGNvbXB1dGVMb2dpY2FsQm94SGVp
Z2h0cyhpbnQmIG1heFBvc2l0aW9uVG9wLCBpbnQmIG1heFBvc2l0aW9uQm90dG9tLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgbWF4QXNjZW50LCBpbnQmIG1heERlc2Nl
bnQsIGJvb2wmIHNldE1heEFzY2VudCwgYm9vbCYgc2V0TWF4RGVzY2VudCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBib29sIHN0cmljdE1vZGUsIEdseXBoT3ZlcmZsb3dBbmRG
YWxsYmFja0ZvbnRzTWFwJiwgRm9udEJhc2VsaW5lLCBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUmKTsK
QEAgLTE3Niw3ICsxNzgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3Q6OlNl
bGVjdGlvblN0YXRlIHNlbGVjdGlvblN0YXRlKCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuQWNj
b21tb2RhdGVFbGxpcHNpcyhib29sIGx0ciwgaW50IGJsb2NrRWRnZSwgaW50IGVsbGlwc2lzV2lk
dGgpOwotICAgIHZpcnR1YWwgaW50IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGludCBibG9j
a0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBib29sJik7
CisgICAgdmlydHVhbCBmbG9hdCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBmbG9hdCBibG9j
a0xlZnRFZGdlLCBmbG9hdCBibG9ja1JpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9v
bCYpOwogCiAgICAgYm9vbCBoYXNUZXh0Q2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBtX2hhc1Rl
eHRDaGlsZHJlbjsgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4
dEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRl
eHRCb3guY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9J
bmxpbmVUZXh0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQg
SW5saW5lVGV4dEJveDo6YXR0YWNoTGluZSgpCiAgICAgdG9SZW5kZXJUZXh0KHJlbmRlcmVyKCkp
LT5hdHRhY2hUZXh0Qm94KHRoaXMpOwogfQogCi1pbnQgSW5saW5lVGV4dEJveDo6cGxhY2VFbGxp
cHNpc0JveChib29sIGZsb3dJc0xUUiwgaW50IHZpc2libGVMZWZ0RWRnZSwgaW50IHZpc2libGVS
aWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCkKK2Zsb2F0IElubGlu
ZVRleHRCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCBmbG93SXNMVFIsIGZsb2F0IHZpc2libGVM
ZWZ0RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9v
bCYgZm91bmRCb3gpCiB7CiAgICAgaWYgKGZvdW5kQm94KSB7CiAgICAgICAgIG1fdHJ1bmNhdGlv
biA9IGNGdWxsVHJ1bmNhdGlvbjsKQEAgLTIwOSw3ICsyMDksNyBAQCBpbnQgSW5saW5lVGV4dEJv
eDo6cGxhY2VFbGxpcHNpc0JveChib29sCiAgICAgfQogCiAgICAgLy8gRm9yIExUUiB0aGlzIGlz
IHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlIGJveCwgZm9yIFJUTCwgdGhlIHJpZ2h0IGVkZ2UgaW4gcGFy
ZW50IGNvb3JkaW5hdGVzLgotICAgIGludCBlbGxpcHNpc1ggPSBmbG93SXNMVFIgPyB2aXNpYmxl
UmlnaHRFZGdlIC0gZWxsaXBzaXNXaWR0aCA6IHZpc2libGVMZWZ0RWRnZSArIGVsbGlwc2lzV2lk
dGg7CisgICAgZmxvYXQgZWxsaXBzaXNYID0gZmxvd0lzTFRSID8gdmlzaWJsZVJpZ2h0RWRnZSAt
IGVsbGlwc2lzV2lkdGggOiB2aXNpYmxlTGVmdEVkZ2UgKyBlbGxpcHNpc1dpZHRoOwogICAgIAog
ICAgIC8vIENyaXRlcmlhIGZvciBmdWxsIHRydW5jYXRpb246CiAgICAgLy8gTFRSOiB0aGUgbGVm
dCBlZGdlIG9mIHRoZSBlbGxpcHNpcyBpcyB0byB0aGUgbGVmdCBvZiBvdXIgdGV4dCBydW4uCkBA
IC0yNTEsNyArMjUxLDcgQEAgaW50IElubGluZVRleHRCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9v
bAogCiAgICAgICAgIC8vIElmIHdlIGdvdCBoZXJlIHRoYXQgbWVhbnMgdGhhdCB3ZSB3ZXJlIG9u
bHkgcGFydGlhbGx5IHRydW5jYXRlZCBhbmQgd2UgbmVlZCB0byByZXR1cm4gdGhlIHBpeGVsIG9m
ZnNldCBhdCB3aGljaAogICAgICAgICAvLyB0byBwbGFjZSB0aGUgZWxsaXBzaXMuCi0gICAgICAg
IGludCB3aWR0aE9mVmlzaWJsZVRleHQgPSB0b1JlbmRlclRleHQocmVuZGVyZXIoKSktPndpZHRo
KG1fc3RhcnQsIG9mZnNldCwgdGV4dFBvcygpLCBtX2ZpcnN0TGluZSk7CisgICAgICAgIGZsb2F0
IHdpZHRoT2ZWaXNpYmxlVGV4dCA9IHRvUmVuZGVyVGV4dChyZW5kZXJlcigpKS0+d2lkdGgobV9z
dGFydCwgb2Zmc2V0LCB0ZXh0UG9zKCksIG1fZmlyc3RMaW5lKTsKIAogICAgICAgICAvLyBUaGUg
ZWxsaXBzaXMgbmVlZHMgdG8gYmUgcGxhY2VkIGp1c3QgYWZ0ZXIgdGhlIGxhc3QgdmlzaWJsZSBj
aGFyYWN0ZXIuCiAgICAgICAgIC8vIFdoZXJlICJhZnRlciIgaXMgZGVmaW5lZCBieSB0aGUgZmxv
dyBkaXJlY3Rpb25hbGl0eSwgbm90IHRoZSBpbmxpbmUKQEAgLTMxOSw5ICszMTksOSBAQCBib29s
IElubGluZVRleHRCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpCiAgICAgaWYgKGlzTGluZUJyZWFr
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEludFBvaW50IGJveE9yaWdpbiA9IGxv
Y2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKKyAgICBGbG9hdFBvaW50IGJveE9yaWdpbiA9IGxv
Y2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKICAgICBib3hPcmlnaW4ubW92ZSh0eCwgdHkpOwot
ICAgIEludFJlY3QgcmVjdChib3hPcmlnaW4sIEludFNpemUod2lkdGgoKSwgaGVpZ2h0KCkpKTsK
KyAgICBGbG9hdFJlY3QgcmVjdChib3hPcmlnaW4sIEludFNpemUod2lkdGgoKSwgaGVpZ2h0KCkp
KTsKICAgICBpZiAobV90cnVuY2F0aW9uICE9IGNGdWxsVHJ1bmNhdGlvbiAmJiB2aXNpYmxlVG9I
aXRUZXN0aW5nKCkgJiYgcmVjdC5pbnRlcnNlY3RzKHJlc3VsdC5yZWN0Rm9yUG9pbnQoeCwgeSkp
KSB7CiAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBmbGlw
Rm9yV3JpdGluZ01vZGUoSW50UG9pbnQoeCAtIHR4LCB5IC0gdHkpKSk7CiAgICAgICAgIGlmICgh
cmVzdWx0LmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQocmVuZGVyZXIoKS0+bm9kZSgpLCB4
LCB5LCByZWN0KSkKQEAgLTM1Nyw4ICszNTcsOCBAQCBGbG9hdFNpemUgSW5saW5lVGV4dEJveDo6
YXBwbHlTaGFkb3dUb0dyCiAgICAgcmV0dXJuIGV4dHJhT2Zmc2V0OwogfQogCi1zdGF0aWMgdm9p
ZCBwYWludFRleHRXaXRoU2hhZG93cyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZv
bnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHRleHRSdW4sIGNvbnN0IEF0b21pY1N0cmluZyYgZW1w
aGFzaXNNYXJrLCBpbnQgZW1waGFzaXNNYXJrT2Zmc2V0LCBpbnQgc3RhcnRPZmZzZXQsIGludCBl
bmRPZmZzZXQsIGludCB0cnVuY2F0aW9uUG9pbnQsIGNvbnN0IEludFBvaW50JiB0ZXh0T3JpZ2lu
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50UmVjdCYgYm94UmVj
dCwgY29uc3QgU2hhZG93RGF0YSogc2hhZG93LCBib29sIHN0cm9rZWQsIGJvb2wgaG9yaXpvbnRh
bCkKK3N0YXRpYyB2b2lkIHBhaW50VGV4dFdpdGhTaGFkb3dzKEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCwgY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgdGV4dFJ1biwgY29uc3QgQXRv
bWljU3RyaW5nJiBlbXBoYXNpc01hcmssIGludCBlbXBoYXNpc01hcmtPZmZzZXQsIGludCBzdGFy
dE9mZnNldCwgaW50IGVuZE9mZnNldCwgaW50IHRydW5jYXRpb25Qb2ludCwgY29uc3QgRmxvYXRQ
b2ludCYgdGV4dE9yaWdpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IEZsb2F0UmVjdCYgYm94UmVjdCwgY29uc3QgU2hhZG93RGF0YSogc2hhZG93LCBib29sIHN0cm9r
ZWQsIGJvb2wgaG9yaXpvbnRhbCkKIHsKICAgICBDb2xvciBmaWxsQ29sb3IgPSBjb250ZXh0LT5m
aWxsQ29sb3IoKTsKICAgICBDb2xvclNwYWNlIGZpbGxDb2xvclNwYWNlID0gY29udGV4dC0+Zmls
bENvbG9yU3BhY2UoKTsKQEAgLTQ4MiwxMCArNDgyLDEwIEBAIHZvaWQgSW5saW5lVGV4dEJveDo6
cGFpbnQoUGFpbnRJbmZvJiBwYWkKICAgICAKICAgICB0eSAtPSBzdHlsZVRvVXNlLT5pc0hvcml6
b250YWxXcml0aW5nTW9kZSgpID8gMCA6IGxvZ2ljYWxIZWlnaHQoKTsKIAotICAgIEludFBvaW50
IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKKyAgICBGbG9hdFBvaW50
IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKICAgICBib3hPcmlnaW4u
bW92ZSh0eCwgdHkpOyAgICAKLSAgICBJbnRSZWN0IGJveFJlY3QoYm94T3JpZ2luLCBJbnRTaXpl
KGxvZ2ljYWxXaWR0aCgpLCBsb2dpY2FsSGVpZ2h0KCkpKTsKLSAgICBJbnRQb2ludCB0ZXh0T3Jp
Z2luID0gSW50UG9pbnQoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSArIHN0eWxlVG9Vc2Ut
PmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOworICAgIEZsb2F0UmVjdCBib3hSZWN0KGJveE9yaWdp
biwgSW50U2l6ZShsb2dpY2FsV2lkdGgoKSwgbG9naWNhbEhlaWdodCgpKSk7CisgICAgRmxvYXRQ
b2ludCB0ZXh0T3JpZ2luID0gRmxvYXRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgp
ICsgc3R5bGVUb1VzZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAKICAgICBSZW5kZXJDb21i
aW5lVGV4dCogY29tYmluZWRUZXh0ID0gc3R5bGVUb1VzZS0+aGFzVGV4dENvbWJpbmUoKSA/IHRv
UmVuZGVyQ29tYmluZVRleHQodGV4dFJlbmRlcmVyKCkpIDogMDsKICAgICBib29sIHNob3VsZFJv
dGF0ZSA9ICFpc0hvcml6b250YWwoKSAmJiAoIWNvbWJpbmVkVGV4dCB8fCAhY29tYmluZWRUZXh0
LT5pc0NvbWJpbmVkKCkpOwpAQCAtNzM2LDcgKzczNiw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6
c2VsZWN0aW9uU3RhcnRFbmQoaW4KICAgICBlUG9zID0gbWluKGVuZFBvcyAtIG1fc3RhcnQsIChp
bnQpbV9sZW4pOwogfQogCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50U2VsZWN0aW9uKEdyYXBo
aWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5
bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250KQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNl
bGVjdGlvbihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9y
aWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250KQogewogICAgIC8vIFNl
ZSBpZiB3ZSBoYXZlIGEgc2VsZWN0aW9uIHRvIHBhaW50IGF0IGFsbC4KICAgICBpbnQgc1Bvcywg
ZVBvczsKQEAgLTc3MCwxNSArNzcwLDE1IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTZWxl
Y3Rpb24oR3JhcGgKIAogICAgIGludCBkZWx0YVkgPSByZW5kZXJlcigpLT5zdHlsZSgpLT5pc0Zs
aXBwZWRMaW5lc1dyaXRpbmdNb2RlKCkgPyBzZWxlY3Rpb25Cb3R0b20oKSAtIGxvZ2ljYWxCb3R0
b20oKSA6IGxvZ2ljYWxUb3AoKSAtIHNlbGVjdGlvblRvcCgpOwogICAgIGludCBzZWxIZWlnaHQg
PSBzZWxlY3Rpb25IZWlnaHQoKTsKLSAgICBJbnRQb2ludCBsb2NhbE9yaWdpbihib3hPcmlnaW4u
eCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKLSAgICBjb250ZXh0LT5jbGlwKEludFJlY3Qo
bG9jYWxPcmlnaW4sIEludFNpemUobV9sb2dpY2FsV2lkdGgsIHNlbEhlaWdodCkpKTsKKyAgICBG
bG9hdFBvaW50IGxvY2FsT3JpZ2luKGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0
YVkpOworICAgIGNvbnRleHQtPmNsaXAoRmxvYXRSZWN0KGxvY2FsT3JpZ2luLCBGbG9hdFNpemUo
bV9sb2dpY2FsV2lkdGgsIHNlbEhlaWdodCkpKTsKICAgICBjb250ZXh0LT5kcmF3SGlnaGxpZ2h0
Rm9yVGV4dChmb250LCBUZXh0UnVuKGNoYXJhY3RlcnMsIGxlbmd0aCwgdGV4dFJlbmRlcmVyKCkt
PmFsbG93VGFicygpLCB0ZXh0UG9zKCksIG1fZXhwYW5zaW9uLCB0cmFpbGluZ0V4cGFuc2lvbkJl
aGF2aW9yKCksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFpc0xlZnRUb1Jp
Z2h0RGlyZWN0aW9uKCksIG1fZGlyT3ZlcnJpZGUgfHwgc3R5bGUtPnZpc3VhbGx5T3JkZXJlZCgp
KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbE9yaWdpbiwgc2VsSGVp
Z2h0LCBjLCBzdHlsZS0+Y29sb3JTcGFjZSgpLCBzUG9zLCBlUG9zKTsKICAgICBjb250ZXh0LT5y
ZXN0b3JlKCk7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvbkJhY2tn
cm91bmQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2lu
LCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQsIGludCBzdGFydFBvcywgaW50
IGVuZFBvcykKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQo
R3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIFJl
bmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgaW50IHN0YXJ0UG9zLCBpbnQgZW5k
UG9zKQogewogICAgIGludCBvZmZzZXQgPSBtX3N0YXJ0OwogICAgIGludCBzUG9zID0gbWF4KHN0
YXJ0UG9zIC0gb2Zmc2V0LCAwKTsKQEAgLTc5NSw3ICs3OTUsNyBAQCB2b2lkIElubGluZVRleHRC
b3g6OnBhaW50Q29tcG9zaXRpb25CYWNrCiAKICAgICBpbnQgZGVsdGFZID0gcmVuZGVyZXIoKS0+
c3R5bGUoKS0+aXNGbGlwcGVkTGluZXNXcml0aW5nTW9kZSgpID8gc2VsZWN0aW9uQm90dG9tKCkg
LSBsb2dpY2FsQm90dG9tKCkgOiBsb2dpY2FsVG9wKCkgLSBzZWxlY3Rpb25Ub3AoKTsKICAgICBp
bnQgc2VsSGVpZ2h0ID0gc2VsZWN0aW9uSGVpZ2h0KCk7Ci0gICAgSW50UG9pbnQgbG9jYWxPcmln
aW4oYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSk7CisgICAgRmxvYXRQb2lu
dCBsb2NhbE9yaWdpbihib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKICAg
ICBjb250ZXh0LT5kcmF3SGlnaGxpZ2h0Rm9yVGV4dChmb250LCBUZXh0UnVuKHRleHRSZW5kZXJl
cigpLT50ZXh0KCktPmNoYXJhY3RlcnMoKSArIG1fc3RhcnQsIG1fbGVuLCB0ZXh0UmVuZGVyZXIo
KS0+YWxsb3dUYWJzKCksIHRleHRQb3MoKSwgbV9leHBhbnNpb24sIHRyYWlsaW5nRXhwYW5zaW9u
QmVoYXZpb3IoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaXNMZWZ0VG9S
aWdodERpcmVjdGlvbigpLCBtX2Rpck92ZXJyaWRlIHx8IHN0eWxlLT52aXN1YWxseU9yZGVyZWQo
KSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxPcmlnaW4sIHNlbEhl
aWdodCwgYywgc3R5bGUtPmNvbG9yU3BhY2UoKSwgc1BvcywgZVBvcyk7CkBAIC04MjIsMTQgKzgy
MiwxNCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50Q3VzdG9tSGlnaGxpZ2h0CiAKICNlbmRp
ZgogCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbihHcmFwaGljc0NvbnRleHQq
IGNvbnRleHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGludCBkZWNvLCBjb25zdCBTaGFk
b3dEYXRhKiBzaGFkb3cpCit2b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbihHcmFw
aGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgaW50IGRl
Y28sIGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdykKIHsKICAgICBpZiAobV90cnVuY2F0aW9uID09
IGNGdWxsVHJ1bmNhdGlvbikKICAgICAgICAgcmV0dXJuOwogCi0gICAgSW50UG9pbnQgbG9jYWxP
cmlnaW4gPSBib3hPcmlnaW47CisgICAgRmxvYXRQb2ludCBsb2NhbE9yaWdpbiA9IGJveE9yaWdp
bjsKIAotICAgIGludCB3aWR0aCA9IG1fbG9naWNhbFdpZHRoOworICAgIGZsb2F0IHdpZHRoID0g
bV9sb2dpY2FsV2lkdGg7CiAgICAgaWYgKG1fdHJ1bmNhdGlvbiAhPSBjTm9UcnVuY2F0aW9uKSB7
CiAgICAgICAgIHdpZHRoID0gdG9SZW5kZXJUZXh0KHJlbmRlcmVyKCkpLT53aWR0aChtX3N0YXJ0
LCBtX3RydW5jYXRpb24sIHRleHRQb3MoKSwgbV9maXJzdExpbmUpOwogICAgICAgICBpZiAoIWlz
TGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKQEAgLTg1Myw5ICs4NTMsOSBAQCB2b2lkIElubGluZVRl
eHRCb3g6OnBhaW50RGVjb3JhdGlvbihHcmFwCiAgICAgaW50IGV4dHJhT2Zmc2V0ID0gMDsKICAg
ICBpZiAoIWxpbmVzQXJlT3BhcXVlICYmIHNoYWRvdyAmJiBzaGFkb3ctPm5leHQoKSkgewogICAg
ICAgICBjb250ZXh0LT5zYXZlKCk7Ci0gICAgICAgIEludFJlY3QgY2xpcFJlY3QobG9jYWxPcmln
aW4sIEludFNpemUod2lkdGgsIGJhc2VsaW5lICsgMikpOworICAgICAgICBGbG9hdFJlY3QgY2xp
cFJlY3QobG9jYWxPcmlnaW4sIEZsb2F0U2l6ZSh3aWR0aCwgYmFzZWxpbmUgKyAyKSk7CiAgICAg
ICAgIGZvciAoY29uc3QgU2hhZG93RGF0YSogcyA9IHNoYWRvdzsgczsgcyA9IHMtPm5leHQoKSkg
ewotICAgICAgICAgICAgSW50UmVjdCBzaGFkb3dSZWN0KGxvY2FsT3JpZ2luLCBJbnRTaXplKHdp
ZHRoLCBiYXNlbGluZSArIDIpKTsKKyAgICAgICAgICAgIEZsb2F0UmVjdCBzaGFkb3dSZWN0KGxv
Y2FsT3JpZ2luLCBGbG9hdFNpemUod2lkdGgsIGJhc2VsaW5lICsgMikpOwogICAgICAgICAgICAg
c2hhZG93UmVjdC5pbmZsYXRlKHMtPmJsdXIoKSk7CiAgICAgICAgICAgICBpbnQgc2hhZG93WCA9
IGlzSG9yaXpvbnRhbCgpID8gcy0+eCgpIDogcy0+eSgpOwogICAgICAgICAgICAgaW50IHNoYWRv
d1kgPSBpc0hvcml6b250YWwoKSA/IHMtPnkoKSA6IC1zLT54KCk7CkBAIC04ODIsNyArODgyLDcg
QEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oR3JhcAogICAgICAgICAgICAg
fQogICAgICAgICAgICAgaW50IHNoYWRvd1ggPSBpc0hvcml6b250YWwoKSA/IHNoYWRvdy0+eCgp
IDogc2hhZG93LT55KCk7CiAgICAgICAgICAgICBpbnQgc2hhZG93WSA9IGlzSG9yaXpvbnRhbCgp
ID8gc2hhZG93LT55KCkgOiAtc2hhZG93LT54KCk7Ci0gICAgICAgICAgICBjb250ZXh0LT5zZXRT
aGFkb3coSW50U2l6ZShzaGFkb3dYLCBzaGFkb3dZIC0gZXh0cmFPZmZzZXQpLCBzaGFkb3ctPmJs
dXIoKSwgc2hhZG93LT5jb2xvcigpLCBjb2xvclNwYWNlKTsKKyAgICAgICAgICAgIGNvbnRleHQt
PnNldFNoYWRvdyhGbG9hdFNpemUoc2hhZG93WCwgc2hhZG93WSAtIGV4dHJhT2Zmc2V0KSwgc2hh
ZG93LT5ibHVyKCksIHNoYWRvdy0+Y29sb3IoKSwgY29sb3JTcGFjZSk7CiAgICAgICAgICAgICBz
ZXRTaGFkb3cgPSB0cnVlOwogICAgICAgICAgICAgc2hhZG93ID0gc2hhZG93LT5uZXh0KCk7CiAg
ICAgICAgIH0KQEAgLTg5MSw3ICs4OTEsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVj
b3JhdGlvbihHcmFwCiAgICAgICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VDb2xvcih1bmRlcmxp
bmUsIGNvbG9yU3BhY2UpOwogICAgICAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlU3R5bGUoU29s
aWRTdHJva2UpOwogICAgICAgICAgICAgLy8gTGVhdmUgb25lIHBpeGVsIG9mIHdoaXRlIGJldHdl
ZW4gdGhlIGJhc2VsaW5lIGFuZCB0aGUgdW5kZXJsaW5lLgotICAgICAgICAgICAgY29udGV4dC0+
ZHJhd0xpbmVGb3JUZXh0KEludFBvaW50KGxvY2FsT3JpZ2luLngoKSwgbG9jYWxPcmlnaW4ueSgp
ICsgYmFzZWxpbmUgKyAxKSwgd2lkdGgsIGlzUHJpbnRpbmcpOworICAgICAgICAgICAgY29udGV4
dC0+ZHJhd0xpbmVGb3JUZXh0KEZsb2F0UG9pbnQobG9jYWxPcmlnaW4ueCgpLCBsb2NhbE9yaWdp
bi55KCkgKyBiYXNlbGluZSArIDEpLCB3aWR0aCwgaXNQcmludGluZyk7CiAgICAgICAgIH0KICAg
ICAgICAgaWYgKGRlY28gJiBPVkVSTElORSkgewogICAgICAgICAgICAgY29udGV4dC0+c2V0U3Ry
b2tlQ29sb3Iob3ZlcmxpbmUsIGNvbG9yU3BhY2UpOwpAQCAtOTAxLDcgKzkwMSw3IEBAIHZvaWQg
SW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKEdyYXAKICAgICAgICAgaWYgKGRlY28gJiBM
SU5FX1RIUk9VR0gpIHsKICAgICAgICAgICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKGxpbmV0
aHJvdWdoLCBjb2xvclNwYWNlKTsKICAgICAgICAgICAgIGNvbnRleHQtPnNldFN0cm9rZVN0eWxl
KFNvbGlkU3Ryb2tlKTsKLSAgICAgICAgICAgIGNvbnRleHQtPmRyYXdMaW5lRm9yVGV4dChJbnRQ
b2ludChsb2NhbE9yaWdpbi54KCksIGxvY2FsT3JpZ2luLnkoKSArIDIgKiBiYXNlbGluZSAvIDMp
LCB3aWR0aCwgaXNQcmludGluZyk7CisgICAgICAgICAgICBjb250ZXh0LT5kcmF3TGluZUZvclRl
eHQoRmxvYXRQb2ludChsb2NhbE9yaWdpbi54KCksIGxvY2FsT3JpZ2luLnkoKSArIDIgKiBiYXNl
bGluZSAvIDMpLCB3aWR0aCwgaXNQcmludGluZyk7CiAgICAgICAgIH0KICAgICB9IHdoaWxlIChz
aGFkb3cpOwogCkBAIC05MjYsNyArOTI2LDcgQEAgc3RhdGljIEdyYXBoaWNzQ29udGV4dDo6VGV4
dENoZWNraW5nTGluZQogICAgIH0KIH0KIAotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxs
aW5nT3JHcmFtbWFyTWFya2VyKEdyYXBoaWNzQ29udGV4dCogcHQsIGNvbnN0IEludFBvaW50JiBi
b3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiBtYXJrZXIsIFJlbmRlclN0eWxlKiBzdHls
ZSwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBncmFtbWFyKQordm9pZCBJbmxpbmVUZXh0Qm94Ojpw
YWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdyYXBoaWNzQ29udGV4dCogcHQsIGNvbnN0IEZs
b2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImIG1hcmtlciwgUmVuZGVy
U3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250LCBib29sIGdyYW1tYXIpCiB7CiAgICAgLy8g
TmV2ZXIgcHJpbnQgc3BlbGxpbmcvZ3JhbW1hciBtYXJrZXJzICg1MzI3ODg3KQogICAgIGlmICh0
ZXh0UmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+cHJpbnRpbmcoKSkKQEAgLTkzNSw4ICs5MzUsOCBA
QCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tCiAgICAgaWYgKG1fdHJ1
bmNhdGlvbiA9PSBjRnVsbFRydW5jYXRpb24pCiAgICAgICAgIHJldHVybjsKIAotICAgIGludCBz
dGFydCA9IDA7ICAgICAgICAgICAgICAgICAgLy8gc3RhcnQgb2YgbGluZSB0byBkcmF3LCByZWxh
dGl2ZSB0byB0eAotICAgIGludCB3aWR0aCA9IG1fbG9naWNhbFdpZHRoOyAgICAgICAgICAgIC8v
IGhvdyBtdWNoIGxpbmUgdG8gZHJhdworICAgIGZsb2F0IHN0YXJ0ID0gMDsgLy8gc3RhcnQgb2Yg
bGluZSB0byBkcmF3LCByZWxhdGl2ZSB0byB0eAorICAgIGZsb2F0IHdpZHRoID0gbV9sb2dpY2Fs
V2lkdGg7IC8vIGhvdyBtdWNoIGxpbmUgdG8gZHJhdwogCiAgICAgLy8gRGV0ZXJtaW5lIHdoZXRo
ZXIgd2UgbmVlZCB0byBtZWFzdXJlIHRleHQKICAgICBib29sIG1hcmtlclNwYW5zV2hvbGVCb3gg
PSB0cnVlOwpAQCAtOTU3LDkgKzk1NywxMCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50U3Bl
bGxpbmdPckdyYW1tCiAgICAgICAgIC8vIENhbGN1bGF0ZSBzdGFydCAmIHdpZHRoCiAgICAgICAg
IGludCBkZWx0YVkgPSByZW5kZXJlcigpLT5zdHlsZSgpLT5pc0ZsaXBwZWRMaW5lc1dyaXRpbmdN
b2RlKCkgPyBzZWxlY3Rpb25Cb3R0b20oKSAtIGxvZ2ljYWxCb3R0b20oKSA6IGxvZ2ljYWxUb3Ao
KSAtIHNlbGVjdGlvblRvcCgpOwogICAgICAgICBpbnQgc2VsSGVpZ2h0ID0gc2VsZWN0aW9uSGVp
Z2h0KCk7Ci0gICAgICAgIEludFBvaW50IHN0YXJ0UG9pbnQoYm94T3JpZ2luLngoKSwgYm94T3Jp
Z2luLnkoKSAtIGRlbHRhWSk7CisgICAgICAgIEZsb2F0UG9pbnQgc3RhcnRQb2ludChib3hPcmln
aW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKICAgICAgICAgVGV4dFJ1biBydW4odGV4
dFJlbmRlcmVyKCktPnRleHQoKS0+Y2hhcmFjdGVycygpICsgbV9zdGFydCwgbV9sZW4sIHRleHRS
ZW5kZXJlcigpLT5hbGxvd1RhYnMoKSwgdGV4dFBvcygpLCBtX2V4cGFuc2lvbiwgdHJhaWxpbmdF
eHBhbnNpb25CZWhhdmlvcigpLCAhaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpLCBtX2Rpck92ZXJy
aWRlIHx8IHN0eWxlLT52aXN1YWxseU9yZGVyZWQoKSk7Ci0gICAgICAgICAKKyAgICAgICAgCisg
ICAgICAgIC8vIEZJWE1FOiBDb252ZXJ0IHRoZSBkb2N1bWVudCBtYXJrZXJzIHRvIGZsb2F0IHJl
Y3RzLgogICAgICAgICBJbnRSZWN0IG1hcmtlclJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KGZvbnQu
c2VsZWN0aW9uUmVjdEZvclRleHQocnVuLCBzdGFydFBvaW50LCBzZWxIZWlnaHQsIHN0YXJ0UG9z
aXRpb24sIGVuZFBvc2l0aW9uKSk7CiAgICAgICAgIHN0YXJ0ID0gbWFya2VyUmVjdC54KCkgLSBz
dGFydFBvaW50LngoKTsKICAgICAgICAgd2lkdGggPSBtYXJrZXJSZWN0LndpZHRoKCk7CkBAIC05
OTAsMTAgKzk5MSwxMCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1t
CiAgICAgICAgIC8vIEluIGxhcmdlciBmb250cywgdGhvdWdoLCBwbGFjZSB0aGUgdW5kZXJsaW5l
IHVwIG5lYXIgdGhlIGJhc2VsaW5lIHRvIHByZXZlbnQgYSBiaWcgZ2FwLgogICAgICAgICB1bmRl
cmxpbmVPZmZzZXQgPSBiYXNlbGluZSArIDI7CiAgICAgfQotICAgIHB0LT5kcmF3TGluZUZvclRl
eHRDaGVja2luZyhJbnRQb2ludChib3hPcmlnaW4ueCgpICsgc3RhcnQsIGJveE9yaWdpbi55KCkg
KyB1bmRlcmxpbmVPZmZzZXQpLCB3aWR0aCwgdGV4dENoZWNraW5nTGluZVN0eWxlRm9yTWFya2Vy
VHlwZShtYXJrZXIudHlwZSkpOworICAgIHB0LT5kcmF3TGluZUZvclRleHRDaGVja2luZyhGbG9h
dFBvaW50KGJveE9yaWdpbi54KCkgKyBzdGFydCwgYm94T3JpZ2luLnkoKSArIHVuZGVybGluZU9m
ZnNldCksIHdpZHRoLCB0ZXh0Q2hlY2tpbmdMaW5lU3R5bGVGb3JNYXJrZXJUeXBlKG1hcmtlci50
eXBlKSk7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRUZXh0TWF0Y2hNYXJrZXIoR3Jh
cGhpY3NDb250ZXh0KiBwdCwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1l
bnRNYXJrZXImIG1hcmtlciwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250KQor
dm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFRleHRNYXRjaE1hcmtlcihHcmFwaGljc0NvbnRleHQq
IHB0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiBt
YXJrZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCkKIHsKICAgICAvLyBV
c2Ugc2FtZSB5IHBvc2l0aW9uaW5nIGFuZCBoZWlnaHQgYXMgZm9yIHNlbGVjdGlvbiwgc28gdGhh
dCB3aGVuIHRoZSBzZWxlY3Rpb24gYW5kIHRoaXMgaGlnaGxpZ2h0IGFyZSBvbgogICAgIC8vIHRo
ZSBzYW1lIHdvcmQgdGhlcmUgYXJlIG5vIHBpZWNlcyBzdGlja2luZyBvdXQuCkBAIC0xMDE2LDgg
KzEwMTcsOCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50VGV4dE1hdGNoTWFya2VyCiAgICAg
ICAgICAgICByZW5kZXJlcigpLT50aGVtZSgpLT5wbGF0Zm9ybUluYWN0aXZlVGV4dFNlYXJjaEhp
Z2hsaWdodENvbG9yKCk7CiAgICAgICAgIHB0LT5zYXZlKCk7CiAgICAgICAgIHVwZGF0ZUdyYXBo
aWNzQ29udGV4dChwdCwgY29sb3IsIGNvbG9yLCAwLCBzdHlsZS0+Y29sb3JTcGFjZSgpKTsgIC8v
IERvbid0IGRyYXcgdGV4dCBhdCBhbGwhCi0gICAgICAgIHB0LT5jbGlwKEludFJlY3QoYm94T3Jp
Z2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSwgbV9sb2dpY2FsV2lkdGgsIHNlbEhlaWdo
dCkpOwotICAgICAgICBwdC0+ZHJhd0hpZ2hsaWdodEZvclRleHQoZm9udCwgcnVuLCBJbnRQb2lu
dChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKSwgc2VsSGVpZ2h0LCBjb2xv
ciwgc3R5bGUtPmNvbG9yU3BhY2UoKSwgc1BvcywgZVBvcyk7CisgICAgICAgIHB0LT5jbGlwKEZs
b2F0UmVjdChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZLCBtX2xvZ2ljYWxX
aWR0aCwgc2VsSGVpZ2h0KSk7CisgICAgICAgIHB0LT5kcmF3SGlnaGxpZ2h0Rm9yVGV4dChmb250
LCBydW4sIEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSks
IHNlbEhlaWdodCwgY29sb3IsIHN0eWxlLT5jb2xvclNwYWNlKCksIHNQb3MsIGVQb3MpOwogICAg
ICAgICBwdC0+cmVzdG9yZSgpOwogICAgIH0KIH0KQEAgLTEwMzksNyArMTA0MCw3IEBAIHZvaWQg
SW5saW5lVGV4dEJveDo6Y29tcHV0ZVJlY3RGb3JSZXBsYWMKICAgICByZW5kZXJlcigpLT5kb2N1
bWVudCgpLT5tYXJrZXJzKCktPnNldFJlbmRlcmVkUmVjdEZvck1hcmtlcihyZW5kZXJlcigpLT5u
b2RlKCksIG1hcmtlciwgbWFya2VyUmVjdCk7CiB9CiAgICAgCi12b2lkIElubGluZVRleHRCb3g6
OnBhaW50RG9jdW1lbnRNYXJrZXJzKEdyYXBoaWNzQ29udGV4dCogcHQsIGNvbnN0IEludFBvaW50
JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBi
YWNrZ3JvdW5kKQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERvY3VtZW50TWFya2VycyhHcmFw
aGljc0NvbnRleHQqIHB0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxl
KiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBiYWNrZ3JvdW5kKQogewogICAgIGlmICgh
cmVuZGVyZXIoKS0+bm9kZSgpKQogICAgICAgICByZXR1cm47CkBAIC0xMDk5LDE0ICsxMTAwLDEz
IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREb2N1bWVudE1hcmtlcnMKICAgICB9CiB9CiAK
LQotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uVW5kZXJsaW5lKEdyYXBoaWNz
Q29udGV4dCogY3R4LCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBDb21wb3NpdGlv
blVuZGVybGluZSYgdW5kZXJsaW5lKQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0
aW9uVW5kZXJsaW5lKEdyYXBoaWNzQ29udGV4dCogY3R4LCBjb25zdCBGbG9hdFBvaW50JiBib3hP
cmlnaW4sIGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5lJiB1bmRlcmxpbmUpCiB7CiAgICAgaWYg
KG1fdHJ1bmNhdGlvbiA9PSBjRnVsbFRydW5jYXRpb24pCiAgICAgICAgIHJldHVybjsKICAgICAK
LSAgICBpbnQgc3RhcnQgPSAwOyAgICAgICAgICAgICAgICAgLy8gc3RhcnQgb2YgbGluZSB0byBk
cmF3LCByZWxhdGl2ZSB0byB0eAotICAgIGludCB3aWR0aCA9IG1fbG9naWNhbFdpZHRoOyAgICAg
ICAgICAgLy8gaG93IG11Y2ggbGluZSB0byBkcmF3CisgICAgZmxvYXQgc3RhcnQgPSAwOyAvLyBz
dGFydCBvZiBsaW5lIHRvIGRyYXcsIHJlbGF0aXZlIHRvIHR4CisgICAgZmxvYXQgd2lkdGggPSBt
X2xvZ2ljYWxXaWR0aDsgLy8gaG93IG11Y2ggbGluZSB0byBkcmF3CiAgICAgYm9vbCB1c2VXaG9s
ZVdpZHRoID0gdHJ1ZTsKICAgICB1bnNpZ25lZCBwYWludFN0YXJ0ID0gbV9zdGFydDsKICAgICB1
bnNpZ25lZCBwYWludEVuZCA9IGVuZCgpICsgMTsgLy8gZW5kIHBvaW50cyBhdCB0aGUgbGFzdCBj
aGFyLCBub3QgcGFzdCBpdApAQCAtMTE0Miw3ICsxMTQyLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94
OjpwYWludENvbXBvc2l0aW9uVW5kZQogCiAgICAgY3R4LT5zZXRTdHJva2VDb2xvcih1bmRlcmxp
bmUuY29sb3IsIHJlbmRlcmVyKCktPnN0eWxlKCktPmNvbG9yU3BhY2UoKSk7CiAgICAgY3R4LT5z
ZXRTdHJva2VUaGlja25lc3MobGluZVRoaWNrbmVzcyk7Ci0gICAgY3R4LT5kcmF3TGluZUZvclRl
eHQoSW50UG9pbnQoYm94T3JpZ2luLngoKSArIHN0YXJ0LCBib3hPcmlnaW4ueSgpICsgbG9naWNh
bEhlaWdodCgpIC0gbGluZVRoaWNrbmVzcyksIHdpZHRoLCB0ZXh0UmVuZGVyZXIoKS0+ZG9jdW1l
bnQoKS0+cHJpbnRpbmcoKSk7CisgICAgY3R4LT5kcmF3TGluZUZvclRleHQoRmxvYXRQb2ludChi
b3hPcmlnaW4ueCgpICsgc3RhcnQsIGJveE9yaWdpbi55KCkgKyBsb2dpY2FsSGVpZ2h0KCkgLSBs
aW5lVGhpY2tuZXNzKSwgd2lkdGgsIHRleHRSZW5kZXJlcigpLT5kb2N1bWVudCgpLT5wcmludGlu
ZygpKTsKIH0KIAogaW50IElubGluZVRleHRCb3g6OmNhcmV0TWluT2Zmc2V0KCkgY29uc3QKQEAg
LTExNjAsNyArMTE2MCw3IEBAIHVuc2lnbmVkIElubGluZVRleHRCb3g6OmNhcmV0TWF4UmVuZGVy
ZWQKICAgICByZXR1cm4gbV9zdGFydCArIG1fbGVuOwogfQogCi1pbnQgSW5saW5lVGV4dEJveDo6
dGV4dFBvcygpIGNvbnN0CitmbG9hdCBJbmxpbmVUZXh0Qm94Ojp0ZXh0UG9zKCkgY29uc3QKIHsK
ICAgICAvLyBXaGVuIGNvbXB1dGluZyB0aGUgd2lkdGggb2YgYSB0ZXh0IHJ1biwgUmVuZGVyQmxv
Y2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNGb3JMaW5lKCkgZG9lc24ndCBpbmNs
dWRlIHRoZSBhY3R1YWwgb2Zmc2V0CiAgICAgLy8gZnJvbSB0aGUgY29udGFpbmluZyBibG9jayBl
ZGdlIGluIGl0cyBtZWFzdXJlbWVudC4gdGV4dFBvcygpIHNob3VsZCBiZSBjb25zaXN0ZW50IHNv
IHRoZSB0ZXh0IGFyZSByZW5kZXJlZCBpbiB0aGUgc2FtZSB3aWR0aC4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDUsMTIgKzEwNSwxMiBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNs
ZWFyVHJ1bmNhdGlvbigpIHsgbV90cnVuY2F0aW9uID0gY05vVHJ1bmNhdGlvbjsgfQotICAgIHZp
cnR1YWwgaW50IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBmbG93SXNMVFIsIGludCB2aXNpYmxlTGVm
dEVkZ2UsIGludCB2aXNpYmxlUmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91
bmRCb3gpOworICAgIHZpcnR1YWwgZmxvYXQgcGxhY2VFbGxpcHNpc0JveChib29sIGZsb3dJc0xU
UiwgZmxvYXQgdmlzaWJsZUxlZnRFZGdlLCBmbG9hdCB2aXNpYmxlUmlnaHRFZGdlLCBmbG9hdCBl
bGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCk7CiAKIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJv
b2wgaXNMaW5lQnJlYWsoKSBjb25zdDsKIAotICAgIHZvaWQgc2V0RXhwYW5zaW9uKGludCBleHBh
bnNpb24pIHsgbV9sb2dpY2FsV2lkdGggLT0gbV9leHBhbnNpb247IG1fZXhwYW5zaW9uID0gZXhw
YW5zaW9uOyBtX2xvZ2ljYWxXaWR0aCArPSBtX2V4cGFuc2lvbjsgfQorICAgIHZvaWQgc2V0RXhw
YW5zaW9uKGZsb2F0IGV4cGFuc2lvbikgeyBtX2xvZ2ljYWxXaWR0aCAtPSBtX2V4cGFuc2lvbjsg
bV9leHBhbnNpb24gPSBleHBhbnNpb247IG1fbG9naWNhbFdpZHRoICs9IG1fZXhwYW5zaW9uOyB9
CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIGlzSW5saW5lVGV4dEJveCgpIGNvbnN0IHsg
cmV0dXJuIHRydWU7IH0gICAgCkBAIC0xMjIsNyArMTIyLDcgQEAgcHVibGljOgogcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIHVuc2lnbmVkIGNhcmV0TWF4UmVuZGVyZWRPZmZzZXQoKSBjb25zdDsKIAot
ICAgIGludCB0ZXh0UG9zKCkgY29uc3Q7IC8vIHJldHVybnMgdGhlIHggcG9zaXRpb24gcmVsYXRp
dmUgdG8gdGhlIGxlZnQgc3RhcnQgb2YgdGhlIHRleHQgbGluZS4KKyAgICBmbG9hdCB0ZXh0UG9z
KCkgY29uc3Q7IC8vIHJldHVybnMgdGhlIHggcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIGxlZnQg
c3RhcnQgb2YgdGhlIHRleHQgbGluZS4KIAogcHVibGljOgogICAgIHZpcnR1YWwgaW50IG9mZnNl
dEZvclBvc2l0aW9uKGludCB4LCBib29sIGluY2x1ZGVQYXJ0aWFsR2x5cGhzID0gdHJ1ZSkgY29u
c3Q7CkBAIC0xNDQsMTggKzE0NCwxOCBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICAg
IC8vIGRlbm90ZSBubyB0cnVuY2F0aW9uICh0aGUgd2hvbGUgcnVuIHBhaW50cykgYW5kIGZ1bGwg
dHJ1bmNhdGlvbiAobm90aGluZyBwYWludHMgYXQgYWxsKS4KIAogcHJvdGVjdGVkOgotICAgIHZv
aWQgcGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50
UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250JiwgaW50IHN0YXJ0UG9z
LCBpbnQgZW5kUG9zKTsKLSAgICB2b2lkIHBhaW50RG9jdW1lbnRNYXJrZXJzKEdyYXBoaWNzQ29u
dGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiwgY29uc3QgRm9u
dCYsIGJvb2wgYmFja2dyb3VuZCk7Ci0gICAgdm9pZCBwYWludENvbXBvc2l0aW9uVW5kZXJsaW5l
KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IENvbXBv
c2l0aW9uVW5kZXJsaW5lJik7CisgICAgdm9pZCBwYWludENvbXBvc2l0aW9uQmFja2dyb3VuZChH
cmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxl
KiwgY29uc3QgRm9udCYsIGludCBzdGFydFBvcywgaW50IGVuZFBvcyk7CisgICAgdm9pZCBwYWlu
dERvY3VtZW50TWFya2VycyhHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hP
cmlnaW4sIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYsIGJvb2wgYmFja2dyb3VuZCk7CisgICAg
dm9pZCBwYWludENvbXBvc2l0aW9uVW5kZXJsaW5lKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZs
b2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgQ29tcG9zaXRpb25VbmRlcmxpbmUmKTsKICNpZiBQ
TEFURk9STShNQUMpCiAgICAgdm9pZCBwYWludEN1c3RvbUhpZ2hsaWdodChpbnQgdHgsIGludCB0
eSwgY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlKTsKICNlbmRpZgogCiBwcml2YXRlOgotICAgIHZv
aWQgcGFpbnREZWNvcmF0aW9uKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hP
cmlnaW4sIGludCBkZWNvcmF0aW9uLCBjb25zdCBTaGFkb3dEYXRhKik7Ci0gICAgdm9pZCBwYWlu
dFNlbGVjdGlvbihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBS
ZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmKTsKLSAgICB2b2lkIHBhaW50U3BlbGxpbmdPckdyYW1t
YXJNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgY29u
c3QgRG9jdW1lbnRNYXJrZXImLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmLCBib29sIGdyYW1t
YXIpOwotICAgIHZvaWQgcGFpbnRUZXh0TWF0Y2hNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiwgY29u
c3QgSW50UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImLCBSZW5kZXJTdHls
ZSosIGNvbnN0IEZvbnQmKTsKKyAgICB2b2lkIHBhaW50RGVjb3JhdGlvbihHcmFwaGljc0NvbnRl
eHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGludCBkZWNvcmF0aW9uLCBjb25zdCBT
aGFkb3dEYXRhKik7CisgICAgdm9pZCBwYWludFNlbGVjdGlvbihHcmFwaGljc0NvbnRleHQqLCBj
b25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYpOwor
ICAgIHZvaWQgcGFpbnRTcGVsbGluZ09yR3JhbW1hck1hcmtlcihHcmFwaGljc0NvbnRleHQqLCBj
b25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiwgUmVuZGVy
U3R5bGUqLCBjb25zdCBGb250JiwgYm9vbCBncmFtbWFyKTsKKyAgICB2b2lkIHBhaW50VGV4dE1h
dGNoTWFya2VyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwg
Y29uc3QgRG9jdW1lbnRNYXJrZXImLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmKTsKICAgICB2
b2lkIGNvbXB1dGVSZWN0Rm9yUmVwbGFjZW1lbnRNYXJrZXIoY29uc3QgRG9jdW1lbnRNYXJrZXIm
LCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmKTsKIAogICAgIFRleHRSdW46OlRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvcigpIGNvbnN0IHsgcmV0dXJu
IG1fZXhwYW5zaW9uICYmIG5leHRMZWFmQ2hpbGQoKSA/IFRleHRSdW46OkFsbG93VHJhaWxpbmdF
eHBhbnNpb24gOiBUZXh0UnVuOjpGb3JiaWRUcmFpbGluZ0V4cGFuc2lvbjsgfQpJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJSLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJSLmgJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJSLmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDggKzQwLDgg
QEAgcHVibGljOgogIAogICAgIHZpcnR1YWwgSW50UmVjdCBzZWxlY3Rpb25SZWN0Rm9yUmVwYWlu
dChSZW5kZXJCb3hNb2RlbE9iamVjdCogLypyZXBhaW50Q29udGFpbmVyKi8sIGJvb2wgLypjbGlw
VG9WaXNpYmxlQ29udGVudCovKSB7IHJldHVybiBJbnRSZWN0KCk7IH0KIAotICAgIHZpcnR1YWwg
dW5zaWduZWQgd2lkdGgodW5zaWduZWQgLypmcm9tKi8sIHVuc2lnbmVkIC8qbGVuKi8sIGNvbnN0
IEZvbnQmLCBpbnQgLyp4UG9zKi8sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogPSAw
IC8qZmFsbGJhY2tGb250cyovICwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdCB7IHJldHVybiAw
OyB9Ci0gICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0aCh1bnNpZ25lZCAvKmZyb20qLywgdW5zaWdu
ZWQgLypsZW4qLywgaW50IC8qeHBvcyovLCBib29sID0gZmFsc2UgLypmaXJzdExpbmUqLywgSGFz
aFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiA9IDAgLypmYWxsYmFja0ZvbnRzKi8sIEdseXBo
T3ZlcmZsb3cqID0gMCkgY29uc3QgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgZmxvYXQgd2lk
dGgodW5zaWduZWQgLypmcm9tKi8sIHVuc2lnbmVkIC8qbGVuKi8sIGNvbnN0IEZvbnQmLCBmbG9h
dCAvKnhQb3MqLywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiA9IDAgLypmYWxsYmFj
a0ZvbnRzKi8gLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0IHsgcmV0dXJuIDA7IH0KKyAgICB2
aXJ0dWFsIGZsb2F0IHdpZHRoKHVuc2lnbmVkIC8qZnJvbSovLCB1bnNpZ25lZCAvKmxlbiovLCBm
bG9hdCAvKnhwb3MqLywgYm9vbCA9IGZhbHNlIC8qZmlyc3RMaW5lKi8sIEhhc2hTZXQ8Y29uc3Qg
U2ltcGxlRm9udERhdGEqPiogPSAwIC8qZmFsbGJhY2tGb250cyovLCBHbHlwaE92ZXJmbG93KiA9
IDApIGNvbnN0IHsgcmV0dXJuIDA7IH0KIAogICAgIGludCBsaW5lSGVpZ2h0KGJvb2wgZmlyc3RM
aW5lKSBjb25zdDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2MTYsNyArNDYxNiw3IEBAIHN0YXRpYyBpbnQg
Z2V0Qm9yZGVyUGFkZGluZ01hcmdpbihjb25zdCAKICAgICAgICAgICAgICAgIGNoaWxkLT5ib3Jk
ZXJTdGFydCgpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgc3RyaXBUcmFpbGluZ1NwYWNlKGlu
dCYgaW5saW5lTWF4LCBpbnQmIGlubGluZU1pbiwKK3N0YXRpYyBpbmxpbmUgdm9pZCBzdHJpcFRy
YWlsaW5nU3BhY2UoZmxvYXQmIGlubGluZU1heCwgZmxvYXQmIGlubGluZU1pbiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyT2JqZWN0KiB0cmFpbGluZ1NwYWNl
Q2hpbGQpCiB7CiAgICAgaWYgKHRyYWlsaW5nU3BhY2VDaGlsZCAmJiB0cmFpbGluZ1NwYWNlQ2hp
bGQtPmlzVGV4dCgpKSB7CkBAIC00NjI0LDE3ICs0NjI0LDIzIEBAIHN0YXRpYyBpbmxpbmUgdm9p
ZCBzdHJpcFRyYWlsaW5nU3BhY2UoaW4KICAgICAgICAgUmVuZGVyVGV4dCogdCA9IHRvUmVuZGVy
VGV4dCh0cmFpbGluZ1NwYWNlQ2hpbGQpOwogICAgICAgICBjb25zdCBVQ2hhciBzcGFjZSA9ICcg
JzsKICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IHQtPnN0eWxlKCktPmZvbnQoKTsgLy8gRklY
TUU6IFRoaXMgaWdub3JlcyBmaXJzdC1saW5lLgotICAgICAgICBpbnQgc3BhY2VXaWR0aCA9IGZv
bnQud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKTsKKyAgICAgICAgZmxvYXQgc3BhY2VXaWR0aCA9
IGZvbnQud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKTsKICAgICAgICAgaW5saW5lTWF4IC09IHNw
YWNlV2lkdGggKyBmb250LndvcmRTcGFjaW5nKCk7CiAgICAgICAgIGlmIChpbmxpbmVNaW4gPiBp
bmxpbmVNYXgpCiAgICAgICAgICAgICBpbmxpbmVNaW4gPSBpbmxpbmVNYXg7CiAgICAgfQogfQog
CitzdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlUHJlZmVycmVkV2lkdGgoaW50JiBwcmVmZXJyZWRX
aWR0aCwgZmxvYXQmIHJlc3VsdCkKK3sKKyAgICBpbnQgc25hcHBlZFJlc3VsdCA9IGNlaWxmKHJl
c3VsdCk7CisgICAgcHJlZmVycmVkV2lkdGggPSBtYXgoc25hcHBlZFJlc3VsdCwgcHJlZmVycmVk
V2lkdGgpOworfQorCiB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkTG9n
aWNhbFdpZHRocygpCiB7Ci0gICAgaW50IGlubGluZU1heCA9IDA7Ci0gICAgaW50IGlubGluZU1p
biA9IDA7CisgICAgZmxvYXQgaW5saW5lTWF4ID0gMDsKKyAgICBmbG9hdCBpbmxpbmVNaW4gPSAw
OwogCiAgICAgaW50IGN3ID0gY29udGFpbmluZ0Jsb2NrKCktPmNvbnRlbnRMb2dpY2FsV2lkdGgo
KTsKIApAQCAtNDY5NSwxNSArNDcwMSwxNSBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5s
aW5lUHJlZmVycmVkCiAgICAgICAgICAgICAvLyB0aGUgd2lkdGggb2YgdGhlIGxhc3Qgbm9uLWJy
ZWFrYWJsZSBydW4gYW5kIHVzZSB0aGF0IHRvIHN0YXJ0IGEgbmV3IGxpbmUKICAgICAgICAgICAg
IC8vICh1bmxlc3Mgd2UgZW5kIGluIHdoaXRlc3BhY2UpLgogICAgICAgICAgICAgUmVuZGVyU3R5
bGUqIGNzdHlsZSA9IGNoaWxkLT5zdHlsZSgpOwotICAgICAgICAgICAgaW50IGNoaWxkTWluID0g
MDsKLSAgICAgICAgICAgIGludCBjaGlsZE1heCA9IDA7CisgICAgICAgICAgICBmbG9hdCBjaGls
ZE1pbiA9IDA7CisgICAgICAgICAgICBmbG9hdCBjaGlsZE1heCA9IDA7CiAKICAgICAgICAgICAg
IGlmICghY2hpbGQtPmlzVGV4dCgpKSB7CiAgICAgICAgICAgICAgICAgLy8gQ2FzZSAoMSkgYW5k
ICgyKS4gIElubGluZSByZXBsYWNlZCBhbmQgaW5saW5lIGZsb3cgZWxlbWVudHMuCiAgICAgICAg
ICAgICAgICAgaWYgKGNoaWxkLT5pc1JlbmRlcklubGluZSgpKSB7CiAgICAgICAgICAgICAgICAg
ICAgIC8vIEFkZCBpbiBwYWRkaW5nL2JvcmRlci9tYXJnaW4gZnJvbSB0aGUgYXBwcm9wcmlhdGUg
c2lkZSBvZgogICAgICAgICAgICAgICAgICAgICAvLyB0aGUgZWxlbWVudC4KLSAgICAgICAgICAg
ICAgICAgICAgaW50IGJwbSA9IGdldEJvcmRlclBhZGRpbmdNYXJnaW4odG9SZW5kZXJJbmxpbmUo
Y2hpbGQpLCBjaGlsZEl0ZXJhdG9yLmVuZE9mSW5saW5lKTsKKyAgICAgICAgICAgICAgICAgICAg
ZmxvYXQgYnBtID0gZ2V0Qm9yZGVyUGFkZGluZ01hcmdpbih0b1JlbmRlcklubGluZShjaGlsZCks
IGNoaWxkSXRlcmF0b3IuZW5kT2ZJbmxpbmUpOwogICAgICAgICAgICAgICAgICAgICBjaGlsZE1p
biArPSBicG07CiAgICAgICAgICAgICAgICAgICAgIGNoaWxkTWF4ICs9IGJwbTsKIApAQCAtNDcx
Myw3ICs0NzE5LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAog
ICAgICAgICAgICAgICAgICAgICBjaGlsZC0+c2V0UHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5
KGZhbHNlKTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAv
LyBJbmxpbmUgcmVwbGFjZWQgZWx0cyBhZGQgaW4gdGhlaXIgbWFyZ2lucyB0byB0aGVpciBtaW4v
bWF4IHZhbHVlcy4KLSAgICAgICAgICAgICAgICAgICAgaW50IG1hcmdpbnMgPSAwOworICAgICAg
ICAgICAgICAgICAgICBmbG9hdCBtYXJnaW5zID0gMDsKICAgICAgICAgICAgICAgICAgICAgTGVu
Z3RoIHN0YXJ0TWFyZ2luID0gY3N0eWxlLT5tYXJnaW5TdGFydCgpOwogICAgICAgICAgICAgICAg
ICAgICBMZW5ndGggZW5kTWFyZ2luID0gY3N0eWxlLT5tYXJnaW5FbmQoKTsKICAgICAgICAgICAg
ICAgICAgICAgaWYgKHN0YXJ0TWFyZ2luLmlzRml4ZWQoKSkKQEAgLTQ3NDMsMTMgKzQ3NDksMTMg
QEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogCiAgICAgICAgICAg
ICAgICAgYm9vbCBjYW5CcmVha1JlcGxhY2VkRWxlbWVudCA9ICFjaGlsZC0+aXNJbWFnZSgpIHx8
IGFsbG93SW1hZ2VzVG9CcmVhazsKICAgICAgICAgICAgICAgICBpZiAoKGNhbkJyZWFrUmVwbGFj
ZWRFbGVtZW50ICYmIChhdXRvV3JhcCB8fCBvbGRBdXRvV3JhcCkpIHx8IGNsZWFyUHJldmlvdXNG
bG9hdCkgewotICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9
IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAg
ICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgs
IGlubGluZU1pbik7CiAgICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiA9IDA7CiAgICAgICAg
ICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgLy8gSWYgd2UncmUgc3VwcG9zZWQgdG8gY2xl
YXIgdGhlIHByZXZpb3VzIGZsb2F0LCB0aGVuIHRlcm1pbmF0ZSBtYXh3aWR0aCBhcyB3ZWxsLgog
ICAgICAgICAgICAgICAgIGlmIChjbGVhclByZXZpb3VzRmxvYXQpIHsKLSAgICAgICAgICAgICAg
ICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWF4LCBtX21heFBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJl
ZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNYXgpOwogICAgICAgICAg
ICAgICAgICAgICBpbmxpbmVNYXggPSAwOwogICAgICAgICAgICAgICAgIH0KIApAQCAtNDc2Nywx
MiArNDc3MywxMiBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAK
ICAgICAgICAgICAgICAgICBpZiAoIWF1dG9XcmFwIHx8ICFjYW5CcmVha1JlcGxhY2VkRWxlbWVu
dCkgewogICAgICAgICAgICAgICAgICAgICBpZiAoY2hpbGQtPmlzRmxvYXRpbmcoKSkKLSAgICAg
ICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGNoaWxk
TWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAg
ICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgY2hpbGRN
aW4pOwogICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICBp
bmxpbmVNaW4gKz0gY2hpbGRNaW47CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgICAgICAgICAgLy8gTm93IGNoZWNrIG91ciBsaW5lLgotICAgICAgICAgICAgICAgICAgICBt
X21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChjaGlsZE1pbiwgbV9taW5QcmVmZXJyZWRM
b2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aCht
X21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgY2hpbGRNaW4pOwogCiAgICAgICAgICAgICAgICAg
ICAgIC8vIE5vdyBzdGFydCBhIG5ldyBsaW5lLgogICAgICAgICAgICAgICAgICAgICBpbmxpbmVN
aW4gPSAwOwpAQCAtNDc4OSw3ICs0Nzk1LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlu
bGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgIFJlbmRlclRleHQqIHQgPSB0b1JlbmRlclRl
eHQoY2hpbGQpOwogCiAgICAgICAgICAgICAgICAgaWYgKHQtPmlzV29yZEJyZWFrKCkpIHsKLSAg
ICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5l
TWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgIHVw
ZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4p
OwogICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSAwOwogICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgICAgICAgICB9CkBAIC00ODAzLDkgKzQ4MDksOSBAQCB2b2lk
IFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICAgICAgLy8g
dGhlbiB0aGV5IHNob3VsZG4ndCBiZSBjb25zaWRlcmVkIGluIHRoZSBicmVha2FibGUgY2hhcgog
ICAgICAgICAgICAgICAgIC8vIGNoZWNrLgogICAgICAgICAgICAgICAgIGJvb2wgaGFzQnJlYWth
YmxlQ2hhciwgaGFzQnJlYWs7Ci0gICAgICAgICAgICAgICAgaW50IGJlZ2luTWluLCBlbmRNaW47
CisgICAgICAgICAgICAgICAgZmxvYXQgYmVnaW5NaW4sIGVuZE1pbjsKICAgICAgICAgICAgICAg
ICBib29sIGJlZ2luV1MsIGVuZFdTOwotICAgICAgICAgICAgICAgIGludCBiZWdpbk1heCwgZW5k
TWF4OworICAgICAgICAgICAgICAgIGZsb2F0IGJlZ2luTWF4LCBlbmRNYXg7CiAgICAgICAgICAg
ICAgICAgdC0+dHJpbW1lZFByZWZXaWR0aHMoaW5saW5lTWF4LCBiZWdpbk1pbiwgYmVnaW5XUywg
ZW5kTWluLCBlbmRXUywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNC
cmVha2FibGVDaGFyLCBoYXNCcmVhaywgYmVnaW5NYXgsIGVuZE1heCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjaGlsZE1pbiwgY2hpbGRNYXgsIHN0cmlwRnJvbnRTcGFj
ZXMpOwpAQCAtNDgxMyw3ICs0ODE5LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGlu
ZVByZWZlcnJlZAogICAgICAgICAgICAgICAgIC8vIFRoaXMgdGV4dCBvYmplY3Qgd2lsbCBub3Qg
YmUgcmVuZGVyZWQsIGJ1dCBpdCBtYXkgc3RpbGwgcHJvdmlkZSBhIGJyZWFraW5nIG9wcG9ydHVu
aXR5LgogICAgICAgICAgICAgICAgIGlmICghaGFzQnJlYWsgJiYgY2hpbGRNYXggPT0gMCkgewog
ICAgICAgICAgICAgICAgICAgICBpZiAoYXV0b1dyYXAgJiYgKGJlZ2luV1MgfHwgZW5kV1MpKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1h
eChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRo
LCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWluID0gMDsKICAg
ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTQ4
NDMsMTAgKzQ4NDksMTAgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJl
ZAogICAgICAgICAgICAgICAgICAgICAvLyB3ZSBzdGFydCBhbmQgZW5kIHdpdGggd2hpdGVzcGFj
ZS4KICAgICAgICAgICAgICAgICAgICAgaWYgKGJlZ2luV1MpCiAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyBHbyBhaGVhZCBhbmQgZW5kIHRoZSBjdXJyZW50IGxpbmUuCi0gICAgICAgICAgICAg
ICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1f
bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0
ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOwog
ICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlubGlu
ZU1pbiArPSBiZWdpbk1pbjsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgp
OworICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVm
ZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAgICAgICAgICAgICAgICAgICAgICBj
aGlsZE1pbiAtPSB0aTsKICAgICAgICAgICAgICAgICAgICAgfQogCkBAIC00ODU1LDE4ICs0ODYx
LDE4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICAgICAg
ICAgICAgICAgICAgaWYgKGVuZFdTKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBl
bmQgaW4gd2hpdGVzcGFjZSwgd2hpY2ggbWVhbnMgd2UgY2FuIGdvIGFoZWFkCiAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBhbmQgZW5kIG91ciBjdXJyZW50IGxpbmUuCi0gICAgICAgICAgICAg
ICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1f
bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0
ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOwog
ICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWluID0gMDsKICAgICAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAg
ICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRM
b2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVN
aW4gPSBlbmRNaW47CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAK
ICAgICAgICAgICAgICAgICBpZiAoaGFzQnJlYWspIHsKICAgICAgICAgICAgICAgICAgICAgaW5s
aW5lTWF4ICs9IGJlZ2luTWF4OwotICAgICAgICAgICAgICAgICAgICBtX21heFByZWZlcnJlZExv
Z2ljYWxXaWR0aCA9IG1heChpbmxpbmVNYXgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKTsK
LSAgICAgICAgICAgICAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoY2hp
bGRNYXgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAg
dXBkYXRlUHJlZmVycmVkV2lkdGgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1h
eCk7CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVy
cmVkTG9naWNhbFdpZHRoLCBjaGlsZE1heCk7CiAgICAgICAgICAgICAgICAgICAgIGlubGluZU1h
eCA9IGVuZE1heDsKICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAg
aW5saW5lTWF4ICs9IGNoaWxkTWF4OwpAQCAtNDg3Niw4ICs0ODgyLDggQEAgdm9pZCBSZW5kZXJC
bG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgaWYgKGNoaWxkLT5pc0xp
c3RNYXJrZXIoKSkKICAgICAgICAgICAgICAgICBzdHJpcEZyb250U3BhY2VzID0gdHJ1ZTsKICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0g
bWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOwotICAgICAgICAgICAg
bV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWF4LCBtX21heFByZWZlcnJl
ZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKKyAgICAgICAgICAgIHVwZGF0ZVByZWZl
cnJlZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNYXgpOwogICAgICAg
ICAgICAgaW5saW5lTWluID0gaW5saW5lTWF4ID0gMDsKICAgICAgICAgICAgIHN0cmlwRnJvbnRT
cGFjZXMgPSB0cnVlOwogICAgICAgICAgICAgdHJhaWxpbmdTcGFjZUNoaWxkID0gMDsKQEAgLTQ4
ODksOCArNDg5NSw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQK
ICAgICBpZiAoc3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNwYWNlKCkpCiAgICAgICAgIHN0cmlwVHJh
aWxpbmdTcGFjZShpbmxpbmVNYXgsIGlubGluZU1pbiwgdHJhaWxpbmdTcGFjZUNoaWxkKTsKIAot
ICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVm
ZXJyZWRMb2dpY2FsV2lkdGgpOwotICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4
KGlubGluZU1heCwgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgIHVwZGF0ZVByZWZl
cnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOworICAgIHVw
ZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNYXgp
OwogfQogCiAvLyBVc2UgYSB2ZXJ5IGxhcmdlIHZhbHVlIChpbiBlZmZlY3QgaW5maW5pdGUpLgpA
QCAtNTQ1Niw5ICs1NDYyLDkgQEAgdm9pZCBSZW5kZXJCbG9jazo6YWRqdXN0Rm9yQm9yZGVyRml0
KGludAogICAgICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkgewogICAgICAgICAgICAgZm9yIChS
b290SW5saW5lQm94KiBib3ggPSBmaXJzdFJvb3RCb3goKTsgYm94OyBib3ggPSBib3gtPm5leHRS
b290Qm94KCkpIHsKICAgICAgICAgICAgICAgICBpZiAoYm94LT5maXJzdENoaWxkKCkpCi0gICAg
ICAgICAgICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwgeCArIGJveC0+Zmlyc3RDaGlsZCgpLT54
KCkpOworICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gbWluKGxlZnQsIHggKyBzdGF0aWNfY2Fz
dDxpbnQ+KGJveC0+Zmlyc3RDaGlsZCgpLT54KCkpKTsKICAgICAgICAgICAgICAgICBpZiAoYm94
LT5sYXN0Q2hpbGQoKSkKLSAgICAgICAgICAgICAgICAgICAgcmlnaHQgPSBtYXgocmlnaHQsIHgg
KyBib3gtPmxhc3RDaGlsZCgpLT54KCkgKyBib3gtPmxhc3RDaGlsZCgpLT5sb2dpY2FsV2lkdGgo
KSk7CisgICAgICAgICAgICAgICAgICAgIHJpZ2h0ID0gbWF4KHJpZ2h0LCB4ICsgc3RhdGljX2Nh
c3Q8aW50PihjZWlsZihib3gtPmxhc3RDaGlsZCgpLT5sb2dpY2FsUmlnaHQoKSkpKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBlbHNlIHsKQEAgLTU3NTgsOCArNTc2NCw4IEBA
IHZvaWQgUmVuZGVyQmxvY2s6OmFkZEZvY3VzUmluZ1JlY3RzKFZlY3QKIAogICAgIGlmICghaGFz
T3ZlcmZsb3dDbGlwKCkgJiYgIWhhc0NvbnRyb2xDbGlwKCkpIHsKICAgICAgICAgZm9yIChSb290
SW5saW5lQm94KiBjdXJyID0gZmlyc3RSb290Qm94KCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0
Um9vdEJveCgpKSB7Ci0gICAgICAgICAgICBpbnQgdG9wID0gbWF4KGN1cnItPmxpbmVUb3AoKSwg
Y3Vyci0+eSgpKTsKLSAgICAgICAgICAgIGludCBib3R0b20gPSBtaW4oY3Vyci0+bGluZUJvdHRv
bSgpLCBjdXJyLT55KCkgKyBjdXJyLT5sb2dpY2FsSGVpZ2h0KCkpOworICAgICAgICAgICAgaW50
IHRvcCA9IG1heChjdXJyLT5saW5lVG9wKCksIGN1cnItPmxvZ2ljYWxUb3AoKSk7CisgICAgICAg
ICAgICBpbnQgYm90dG9tID0gbWluKGN1cnItPmxpbmVCb3R0b20oKSwgY3Vyci0+bG9naWNhbFRv
cCgpICsgY3Vyci0+bG9naWNhbEhlaWdodCgpKTsKICAgICAgICAgICAgIEludFJlY3QgcmVjdCh0
eCArIGN1cnItPngoKSwgdHkgKyB0b3AsIGN1cnItPmxvZ2ljYWxXaWR0aCgpLCBib3R0b20gLSB0
b3ApOwogICAgICAgICAgICAgaWYgKCFyZWN0LmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICBy
ZWN0cy5hcHBlbmQocmVjdCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suaAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtNDg1LDcgKzQ4NSw3IEBAIHByaXZhdGU6CiAKICAg
ICB2b2lkIHNraXBUcmFpbGluZ1doaXRlc3BhY2UoSW5saW5lSXRlcmF0b3ImLCBib29sIGlzTGlu
ZUVtcHR5LCBib29sIHByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSk7CiAgICAgaW50IHNraXBMZWFk
aW5nV2hpdGVzcGFjZShJbmxpbmVCaWRpUmVzb2x2ZXImLCBib29sIGZpcnN0TGluZSwgYm9vbCBp
c0xpbmVFbXB0eSwgYm9vbCBwcmV2aW91c0xpbmVCcm9rZUNsZWFubHksIEZsb2F0aW5nT2JqZWN0
KiBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lKTsKLSAgICB2b2lkIGZpdEJlbG93RmxvYXRzKGlu
dCB3aWR0aFRvRml0LCBib29sIGZpcnN0TGluZSwgaW50JiBhdmFpbGFibGVXaWR0aCk7CisgICAg
dm9pZCBmaXRCZWxvd0Zsb2F0cyhmbG9hdCB3aWR0aFRvRml0LCBib29sIGZpcnN0TGluZSwgZmxv
YXQmIGF2YWlsYWJsZVdpZHRoKTsKICAgICBJbmxpbmVJdGVyYXRvciBmaW5kTmV4dExpbmVCcmVh
ayhJbmxpbmVCaWRpUmVzb2x2ZXImLCBib29sIGZpcnN0TGluZSwgYm9vbCYgaXNMaW5lRW1wdHks
IGJvb2wmIHByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSwgYm9vbCYgaHlwaGVuYXRlZCwgRUNsZWFy
KiwgRmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUpOwogICAgIFJvb3RJ
bmxpbmVCb3gqIGNvbnN0cnVjdExpbmUodW5zaWduZWQgcnVuQ291bnQsIEJpZGlSdW4qIGZpcnN0
UnVuLCBCaWRpUnVuKiBsYXN0UnVuLCBib29sIGZpcnN0TGluZSwgYm9vbCBsYXN0TGluZSwgUmVu
ZGVyT2JqZWN0KiBlbmRPYmplY3QpOwogICAgIElubGluZUZsb3dCb3gqIGNyZWF0ZUxpbmVCb3hl
cyhSZW5kZXJPYmplY3QqLCBib29sIGZpcnN0TGluZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAkocmV2aXNpb24gNzg0
ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzE4LDggKzMxOCw4IEBAIFJvb3RJbmxpbmVCb3gqIFJlbmRl
ckJsb2NrOjpjb25zdHJ1Y3RMaW4KIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJl
Y3Rpb25Qb3NpdGlvbnNGb3JMaW5lKFJvb3RJbmxpbmVCb3gqIGxpbmVCb3gsIGJvb2wgZmlyc3RM
aW5lLCBCaWRpUnVuKiBmaXJzdFJ1biwgQmlkaVJ1biogdHJhaWxpbmdTcGFjZVJ1biwgYm9vbCBy
ZWFjaGVkRW5kLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYgdGV4dEJveERhdGFN
YXApCiB7CiAgICAgLy8gRmlyc3QgZGV0ZXJtaW5lIG91ciB0b3RhbCBsb2dpY2FsIHdpZHRoLgot
ICAgIGludCBhdmFpbGFibGVMb2dpY2FsV2lkdGggPSBhdmFpbGFibGVMb2dpY2FsV2lkdGhGb3JM
aW5lKGxvZ2ljYWxIZWlnaHQoKSwgZmlyc3RMaW5lKTsKLSAgICBpbnQgdG90YWxMb2dpY2FsV2lk
dGggPSBsaW5lQm94LT5nZXRGbG93U3BhY2luZ0xvZ2ljYWxXaWR0aCgpOworICAgIGZsb2F0IGF2
YWlsYWJsZUxvZ2ljYWxXaWR0aCA9IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aEZvckxpbmUobG9naWNh
bEhlaWdodCgpLCBmaXJzdExpbmUpOworICAgIGZsb2F0IHRvdGFsTG9naWNhbFdpZHRoID0gbGlu
ZUJveC0+Z2V0Rmxvd1NwYWNpbmdMb2dpY2FsV2lkdGgoKTsKICAgICBib29sIG5lZWRzV29yZFNw
YWNpbmcgPSBmYWxzZTsKICAgICB1bnNpZ25lZCBleHBhbnNpb25PcHBvcnR1bml0eUNvdW50ID0g
MDsKICAgICBib29sIGlzQWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwpAQCAtMzg2LDcgKzM4Niw3IEBA
IHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb24KICAgICAvLyB3ZSBub3cg
ZXhhbWluZSBvdXIgdGV4dC1hbGlnbiBwcm9wZXJ0eSBpbiBvcmRlciB0byBkZXRlcm1pbmUgd2hl
cmUgdG8gcG9zaXRpb24gdGhlCiAgICAgLy8gb2JqZWN0cyBob3Jpem9udGFsbHkuICBUaGUgdG90
YWwgd2lkdGggb2YgdGhlIGxpbmUgY2FuIGJlIGluY3JlYXNlZCBpZiB3ZSBlbmQgdXAKICAgICAv
LyBqdXN0aWZ5aW5nIHRleHQuCi0gICAgaW50IGxvZ2ljYWxMZWZ0ID0gbG9naWNhbExlZnRPZmZz
ZXRGb3JMaW5lKGxvZ2ljYWxIZWlnaHQoKSwgZmlyc3RMaW5lKTsKKyAgICBmbG9hdCBsb2dpY2Fs
TGVmdCA9IGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShsb2dpY2FsSGVpZ2h0KCksIGZpcnN0TGlu
ZSk7CiAgICAgc3dpdGNoICh0ZXh0QWxpZ24pIHsKICAgICAgICAgY2FzZSBMRUZUOgogICAgICAg
ICBjYXNlIFdFQktJVF9MRUZUOgpAQCAtMzk0LDcgKzM5NCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6
OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb24KICAgICAgICAgICAgIC8vIHBhcnRpY3VsYXIgd2l0aCBS
VEwgYmxvY2tzLCB3aWRlIGxpbmVzIHNob3VsZCBzdGlsbCBzcGlsbCBvdXQgdG8gdGhlIGxlZnQu
CiAgICAgICAgICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKSB7CiAg
ICAgICAgICAgICAgICAgaWYgKHRvdGFsTG9naWNhbFdpZHRoID4gYXZhaWxhYmxlTG9naWNhbFdp
ZHRoICYmIHRyYWlsaW5nU3BhY2VSdW4pCi0gICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU3Bh
Y2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAsIHRyYWlsaW5nU3BhY2VSdW4tPm1f
Ym94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNhbFdpZHRoICsgYXZhaWxhYmxlTG9naWNh
bFdpZHRoKSk7CisgICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5z
ZXRMb2dpY2FsV2lkdGgobWF4KDAuZiwgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxX
aWR0aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFpbGFibGVMb2dpY2FsV2lkdGgpKTsKICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKHRyYWlsaW5nU3BhY2VSdW4p
CiAgICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2Fs
V2lkdGgoMCk7CkBAIC00MTYsNyArNDE2LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlu
bGluZURpcmVjdGlvbgogICAgICAgICAgICAgLy8gZm9yIHJpZ2h0IHRvIGxlZnQgZmFsbCB0aHJv
dWdoIHRvIHJpZ2h0IGFsaWduZWQKICAgICAgICAgICAgIGlmIChzdHlsZSgpLT5pc0xlZnRUb1Jp
Z2h0RGlyZWN0aW9uKCkpIHsKICAgICAgICAgICAgICAgICBpZiAodG90YWxMb2dpY2FsV2lkdGgg
PiBhdmFpbGFibGVMb2dpY2FsV2lkdGggJiYgdHJhaWxpbmdTcGFjZVJ1bikKLSAgICAgICAgICAg
ICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXgoMCwg
dHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpIC0gdG90YWxMb2dpY2FsV2lk
dGggKyBhdmFpbGFibGVMb2dpY2FsV2lkdGgpKTsKKyAgICAgICAgICAgICAgICAgICAgdHJhaWxp
bmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXgoMC5mLCB0cmFpbGluZ1NwYWNl
UnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCkgLSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJs
ZUxvZ2ljYWxXaWR0aCkpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQog
ICAgICAgICBjYXNlIFJJR0hUOgpAQCAtNDI3LDEzICs0MjcsMTMgQEAgdm9pZCBSZW5kZXJCbG9j
azo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgaWYgKHN0eWxlKCktPmlzTGVm
dFRvUmlnaHREaXJlY3Rpb24oKSkgewogICAgICAgICAgICAgICAgIGlmICh0cmFpbGluZ1NwYWNl
UnVuKSB7CiAgICAgICAgICAgICAgICAgICAgIHRvdGFsTG9naWNhbFdpZHRoIC09IHRyYWlsaW5n
U3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKTsKLSAgICAgICAgICAgICAgICAgICAgdHJh
aWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aCgwKTsKKyAgICAgICAgICAgICAg
ICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aCgwLmYpOwogICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBpZiAodG90YWxMb2dpY2FsV2lkdGggPCBh
dmFpbGFibGVMb2dpY2FsV2lkdGgpCiAgICAgICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9
IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoOwogICAgICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAodG90YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFi
bGVMb2dpY2FsV2lkdGggJiYgdHJhaWxpbmdTcGFjZVJ1bikgewotICAgICAgICAgICAgICAgICAg
ICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgwLCB0cmFpbGlu
Z1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCkgLSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2
YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOworICAgICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNl
UnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgwLmYsIHRyYWlsaW5nU3BhY2VSdW4tPm1f
Ym94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNhbFdpZHRoICsgYXZhaWxhYmxlTG9naWNh
bFdpZHRoKSk7CiAgICAgICAgICAgICAgICAgICAgIHRvdGFsTG9naWNhbFdpZHRoIC09IHRyYWls
aW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKTsKICAgICAgICAgICAgICAgICB9IGVs
c2UKICAgICAgICAgICAgICAgICAgICAgbG9naWNhbExlZnQgKz0gYXZhaWxhYmxlTG9naWNhbFdp
ZHRoIC0gdG90YWxMb2dpY2FsV2lkdGg7CkBAIC00NDEsMTQgKzQ0MSwxNCBAQCB2b2lkIFJlbmRl
ckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uCiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBDRU5URVI6CiAgICAgICAgIGNhc2UgV0VCS0lUX0NFTlRFUjoKLSAgICAgICAgICAg
IGludCB0cmFpbGluZ1NwYWNlV2lkdGggPSAwOworICAgICAgICAgICAgZmxvYXQgdHJhaWxpbmdT
cGFjZVdpZHRoID0gMC5mOwogICAgICAgICAgICAgaWYgKHRyYWlsaW5nU3BhY2VSdW4pIHsKICAg
ICAgICAgICAgICAgICB0b3RhbExvZ2ljYWxXaWR0aCAtPSB0cmFpbGluZ1NwYWNlUnVuLT5tX2Jv
eC0+bG9naWNhbFdpZHRoKCk7CiAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVdpZHRoID0g
bWluKHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSwgKGF2YWlsYWJsZUxv
Z2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoICsgMSkgLyAyKTsKLSAgICAgICAgICAgICAg
ICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgwLCB0cmFpbGlu
Z1NwYWNlV2lkdGgpKTsKKyAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+
c2V0TG9naWNhbFdpZHRoKG1heCgwLmYsIHRyYWlsaW5nU3BhY2VXaWR0aCkpOwogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgaWYgKHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkK
LSAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdCArPSBtYXgoKGF2YWlsYWJsZUxvZ2ljYWxXaWR0
aCAtIHRvdGFsTG9naWNhbFdpZHRoKSAvIDIsIDApOworICAgICAgICAgICAgICAgIGxvZ2ljYWxM
ZWZ0ICs9IG1heCgoYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpIC8g
Mi5mLCAwLmYpOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0
ICs9IHRvdGFsTG9naWNhbFdpZHRoID4gYXZhaWxhYmxlTG9naWNhbFdpZHRoID8gKGF2YWlsYWJs
ZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoKSA6IChhdmFpbGFibGVMb2dpY2FsV2lk
dGggLSB0b3RhbExvZ2ljYWxXaWR0aCkgLyAyIC0gdHJhaWxpbmdTcGFjZVdpZHRoOwogICAgICAg
ICAgICAgYnJlYWs7CkBAIC00NjgsNyArNDY4LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0
ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgICAgIC8vIE9ubHkganVzdGlmeSB0ZXh0IGlm
IHdoaXRlc3BhY2UgaXMgY29sbGFwc2VkLgogICAgICAgICAgICAgICAgIGlmIChyLT5tX29iamVj
dC0+c3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNwYWNlKCkpIHsKICAgICAgICAgICAgICAgICAgICAg
SW5saW5lVGV4dEJveCogdGV4dEJveCA9IHN0YXRpY19jYXN0PElubGluZVRleHRCb3gqPihyLT5t
X2JveCk7Ci0gICAgICAgICAgICAgICAgICAgIGludCBleHBhbnNpb24gPSAoYXZhaWxhYmxlTG9n
aWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpICogb3Bwb3J0dW5pdGllc0luUnVuIC8gZXhw
YW5zaW9uT3Bwb3J0dW5pdHlDb3VudDsKKyAgICAgICAgICAgICAgICAgICAgZmxvYXQgZXhwYW5z
aW9uID0gKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoKSAqIG9wcG9y
dHVuaXRpZXNJblJ1biAvIGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQ7CiAgICAgICAgICAgICAg
ICAgICAgIHRleHRCb3gtPnNldEV4cGFuc2lvbihleHBhbnNpb24pOwogICAgICAgICAgICAgICAg
ICAgICB0b3RhbExvZ2ljYWxXaWR0aCArPSBleHBhbnNpb247CiAgICAgICAgICAgICAgICAgfQpA
QCAtMTM2OCwxMyArMTM2OCwxMyBAQCBzdGF0aWMgYm9vbCBzaG91bGRTa2lwV2hpdGVzcGFjZUFm
dGVyU3RhCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIFJlbmRlckJsb2NrOjpmaXRCZWxv
d0Zsb2F0cyhpbnQgd2lkdGhUb0ZpdCwgYm9vbCBmaXJzdExpbmUsIGludCYgYXZhaWxhYmxlV2lk
dGgpCit2b2lkIFJlbmRlckJsb2NrOjpmaXRCZWxvd0Zsb2F0cyhmbG9hdCB3aWR0aFRvRml0LCBi
b29sIGZpcnN0TGluZSwgZmxvYXQmIGF2YWlsYWJsZVdpZHRoKQogewogICAgIEFTU0VSVCh3aWR0
aFRvRml0ID4gYXZhaWxhYmxlV2lkdGgpOwogCiAgICAgaW50IGZsb2F0TG9naWNhbEJvdHRvbTsK
ICAgICBpbnQgbGFzdEZsb2F0TG9naWNhbEJvdHRvbSA9IGxvZ2ljYWxIZWlnaHQoKTsKLSAgICBp
bnQgbmV3TGluZVdpZHRoID0gYXZhaWxhYmxlV2lkdGg7CisgICAgZmxvYXQgbmV3TGluZVdpZHRo
ID0gYXZhaWxhYmxlV2lkdGg7CiAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgZmxvYXRMb2dp
Y2FsQm90dG9tID0gbmV4dEZsb2F0TG9naWNhbEJvdHRvbUJlbG93KGxhc3RGbG9hdExvZ2ljYWxC
b3R0b20pOwogICAgICAgICBpZiAoIWZsb2F0TG9naWNhbEJvdHRvbSkKQEAgLTEzOTIsMTkgKzEz
OTIsMTkgQEAgdm9pZCBSZW5kZXJCbG9jazo6Zml0QmVsb3dGbG9hdHMoaW50IHdpZAogICAgIH0K
IH0KIAotc3RhdGljIGlubGluZSB1bnNpZ25lZCB0ZXh0V2lkdGgoUmVuZGVyVGV4dCogdGV4dCwg
dW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmb250LCBpbnQgeFBvcywg
Ym9vbCBpc0ZpeGVkUGl0Y2gsIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlKQorc3RhdGljIGlubGlu
ZSBmbG9hdCB0ZXh0V2lkdGgoUmVuZGVyVGV4dCogdGV4dCwgdW5zaWduZWQgZnJvbSwgdW5zaWdu
ZWQgbGVuLCBjb25zdCBGb250JiBmb250LCBmbG9hdCB4UG9zLCBib29sIGlzRml4ZWRQaXRjaCwg
Ym9vbCBjb2xsYXBzZVdoaXRlU3BhY2UpCiB7CiAgICAgaWYgKGlzRml4ZWRQaXRjaCB8fCAoIWZy
b20gJiYgbGVuID09IHRleHQtPnRleHRMZW5ndGgoKSkgfHwgdGV4dC0+c3R5bGUoKS0+aGFzVGV4
dENvbWJpbmUoKSkKICAgICAgICAgcmV0dXJuIHRleHQtPndpZHRoKGZyb20sIGxlbiwgZm9udCwg
eFBvcyk7CiAgICAgcmV0dXJuIGZvbnQud2lkdGgoVGV4dFJ1bih0ZXh0LT5jaGFyYWN0ZXJzKCkg
KyBmcm9tLCBsZW4sICFjb2xsYXBzZVdoaXRlU3BhY2UsIHhQb3MpKTsKIH0KIAotc3RhdGljIHZv
aWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCogdGV4dCwgY29uc3QgRm9udCYgZm9udCwgY29u
c3QgQXRvbWljU3RyaW5nJiBsb2NhbGVJZGVudGlmaWVyLCBpbnQgbGFzdFNwYWNlLCBpbnQgcG9z
LCBpbnQgeFBvcywgaW50IGF2YWlsYWJsZVdpZHRoLCBib29sIGlzRml4ZWRQaXRjaCwgYm9vbCBj
b2xsYXBzZVdoaXRlU3BhY2UsIGludCBsYXN0U3BhY2VXb3JkU3BhY2luZywgSW5saW5lSXRlcmF0
b3ImIGxpbmVCcmVhaywgaW50IG5leHRCcmVha2FibGUsIGJvb2wmIGh5cGhlbmF0ZWQpCitzdGF0
aWMgdm9pZCB0cnlIeXBoZW5hdGluZyhSZW5kZXJUZXh0KiB0ZXh0LCBjb25zdCBGb250JiBmb250
LCBjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsZUlkZW50aWZpZXIsIGludCBsYXN0U3BhY2UsIGlu
dCBwb3MsIGZsb2F0IHhQb3MsIGludCBhdmFpbGFibGVXaWR0aCwgYm9vbCBpc0ZpeGVkUGl0Y2gs
IGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlLCBpbnQgbGFzdFNwYWNlV29yZFNwYWNpbmcsIElubGlu
ZUl0ZXJhdG9yJiBsaW5lQnJlYWssIGludCBuZXh0QnJlYWthYmxlLCBib29sJiBoeXBoZW5hdGVk
KQogewogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaHlwaGVuU3RyaW5nID0gdGV4dC0+c3R5bGUo
KS0+aHlwaGVuU3RyaW5nKCk7CiAgICAgaW50IGh5cGhlbldpZHRoID0gZm9udC53aWR0aChUZXh0
UnVuKGh5cGhlblN0cmluZy5jaGFyYWN0ZXJzKCksIGh5cGhlblN0cmluZy5sZW5ndGgoKSkpOwog
Ci0gICAgaW50IG1heFByZWZpeFdpZHRoID0gYXZhaWxhYmxlV2lkdGggLSB4UG9zIC0gaHlwaGVu
V2lkdGggLSBsYXN0U3BhY2VXb3JkU3BhY2luZzsKKyAgICBmbG9hdCBtYXhQcmVmaXhXaWR0aCA9
IGF2YWlsYWJsZVdpZHRoIC0geFBvcyAtIGh5cGhlbldpZHRoIC0gbGFzdFNwYWNlV29yZFNwYWNp
bmc7CiAgICAgLy8gSWYgdGhlIG1heGltdW0gd2lkdGggYXZhaWxhYmxlIGZvciB0aGUgcHJlZml4
IGJlZm9yZSB0aGUgaHlwaGVuIGlzIHNtYWxsLCB0aGVuIGl0IGlzIHZlcnkgdW5saWtlbHkKICAg
ICAvLyB0aGF0IGFuIGh5cGhlbmF0aW9uIG9wcG9ydHVuaXR5IGV4aXN0cywgc28gZG8gbm90IGJv
dGhlciB0byBsb29rIGZvciBpdC4KICAgICBpZiAobWF4UHJlZml4V2lkdGggPD0gZm9udC5waXhl
bFNpemUoKSAqIDUgLyA0KQpAQCAtMTQxOSw3ICsxNDE5LDcgQEAgc3RhdGljIHZvaWQgdHJ5SHlw
aGVuYXRpbmcoUmVuZGVyVGV4dCogdAogICAgICAgICByZXR1cm47CiAKICNpZiAhQVNTRVJUX0RJ
U0FCTEVECi0gICAgaW50IHByZWZpeFdpZHRoID0gaHlwaGVuV2lkdGggKyB0ZXh0V2lkdGgodGV4
dCwgbGFzdFNwYWNlLCBwcmVmaXhMZW5ndGgsIGZvbnQsIHhQb3MsIGlzRml4ZWRQaXRjaCwgY29s
bGFwc2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOworICAgIGZsb2F0IHByZWZp
eFdpZHRoID0gaHlwaGVuV2lkdGggKyB0ZXh0V2lkdGgodGV4dCwgbGFzdFNwYWNlLCBwcmVmaXhM
ZW5ndGgsIGZvbnQsIHhQb3MsIGlzRml4ZWRQaXRjaCwgY29sbGFwc2VXaGl0ZVNwYWNlKSArIGxh
c3RTcGFjZVdvcmRTcGFjaW5nOwogICAgIEFTU0VSVCh4UG9zICsgcHJlZml4V2lkdGggPD0gYXZh
aWxhYmxlV2lkdGgpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oaXNGaXhlZFBpdGNoKTsKQEAg
LTE0MzksMTAgKzE0MzksMTAgQEAgSW5saW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0
TGluZQogICAgIGJvb2wgYXBwbGllZFN0YXJ0V2lkdGggPSByZXNvbHZlci5wb3NpdGlvbigpLnBv
cyA+IDA7CiAgICAgTGluZU1pZHBvaW50U3RhdGUmIGxpbmVNaWRwb2ludFN0YXRlID0gcmVzb2x2
ZXIubWlkcG9pbnRTdGF0ZSgpOwogICAgIAotICAgIGludCB3aWR0aCA9IHNraXBMZWFkaW5nV2hp
dGVzcGFjZShyZXNvbHZlciwgZmlyc3RMaW5lLCBpc0xpbmVFbXB0eSwgcHJldmlvdXNMaW5lQnJv
a2VDbGVhbmx5LCBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lKTsKKyAgICBmbG9hdCB3aWR0aCA9
IHNraXBMZWFkaW5nV2hpdGVzcGFjZShyZXNvbHZlciwgZmlyc3RMaW5lLCBpc0xpbmVFbXB0eSwg
cHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lKTsKIAot
ICAgIGludCB3ID0gMDsKLSAgICBpbnQgdG1wVyA9IDA7CisgICAgZmxvYXQgdyA9IDA7CisgICAg
ZmxvYXQgdG1wVyA9IDA7CiAKICAgICBpZiAocmVzb2x2ZXIucG9zaXRpb24oKS5hdEVuZCgpKQog
ICAgICAgICByZXR1cm4gcmVzb2x2ZXIucG9zaXRpb24oKTsKQEAgLTE0NjEsOCArMTQ2MSw4IEBA
IElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4dExpbmUKIAogICAgIElubGluZUl0
ZXJhdG9yIGxCcmVhayA9IHJlc29sdmVyLnBvc2l0aW9uKCk7CiAKLSAgICBSZW5kZXJPYmplY3Qg
Km8gPSByZXNvbHZlci5wb3NpdGlvbigpLm9iajsKLSAgICBSZW5kZXJPYmplY3QgKmxhc3QgPSBv
OworICAgIFJlbmRlck9iamVjdCogbyA9IHJlc29sdmVyLnBvc2l0aW9uKCkub2JqOworICAgIFJl
bmRlck9iamVjdCogbGFzdCA9IG87CiAgICAgdW5zaWduZWQgcG9zID0gcmVzb2x2ZXIucG9zaXRp
b24oKS5wb3M7CiAgICAgaW50IG5leHRCcmVha2FibGUgPSByZXNvbHZlci5wb3NpdGlvbigpLm5l
eHRCcmVha2FibGVQb3NpdGlvbjsKICAgICBib29sIGF0U3RhcnQgPSB0cnVlOwpAQCAtMTY1OSwy
MiArMTY1OSwyMiBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9jazo6ZmluZE5leHRMaW5lCiAg
ICAgICAgICAgICBib29sIGNhbkh5cGhlbmF0ZSA9IHN0eWxlLT5oeXBoZW5zKCkgPT0gSHlwaGVu
c0F1dG8gJiYgV2ViQ29yZTo6Y2FuSHlwaGVuYXRlKHN0eWxlLT5oeXBoZW5hdGlvbkxvY2FsZSgp
KTsKIAogICAgICAgICAgICAgaW50IGxhc3RTcGFjZSA9IHBvczsKLSAgICAgICAgICAgIGludCB3
b3JkU3BhY2luZyA9IG8tPnN0eWxlKCktPndvcmRTcGFjaW5nKCk7Ci0gICAgICAgICAgICBpbnQg
bGFzdFNwYWNlV29yZFNwYWNpbmcgPSAwOworICAgICAgICAgICAgZmxvYXQgd29yZFNwYWNpbmcg
PSBvLT5zdHlsZSgpLT53b3JkU3BhY2luZygpOworICAgICAgICAgICAgZmxvYXQgbGFzdFNwYWNl
V29yZFNwYWNpbmcgPSAwOwogCiAgICAgICAgICAgICAvLyBOb24temVybyBvbmx5IHdoZW4ga2Vy
bmluZyBpcyBlbmFibGVkLCBpbiB3aGljaCBjYXNlIHdlIG1lYXN1cmUgd29yZHMgd2l0aCB0aGVp
ciB0cmFpbGluZwogICAgICAgICAgICAgLy8gc3BhY2UsIHRoZW4gc3VidHJhY3QgaXRzIHdpZHRo
LgotICAgICAgICAgICAgaW50IHdvcmRUcmFpbGluZ1NwYWNlV2lkdGggPSBmLnR5cGVzZXR0aW5n
RmVhdHVyZXMoKSAmIEtlcm5pbmcgPyBmLndpZHRoKFRleHRSdW4oJnNwYWNlLCAxKSkgKyB3b3Jk
U3BhY2luZyA6IDA7CisgICAgICAgICAgICBmbG9hdCB3b3JkVHJhaWxpbmdTcGFjZVdpZHRoID0g
Zi50eXBlc2V0dGluZ0ZlYXR1cmVzKCkgJiBLZXJuaW5nID8gZi53aWR0aChUZXh0UnVuKCZzcGFj
ZSwgMSkpICsgd29yZFNwYWNpbmcgOiAwOwogCi0gICAgICAgICAgICBpbnQgd3JhcFcgPSB0bXBX
ICsgaW5saW5lTG9naWNhbFdpZHRoKG8sICFhcHBsaWVkU3RhcnRXaWR0aCwgdHJ1ZSk7Ci0gICAg
ICAgICAgICBpbnQgY2hhcldpZHRoID0gMDsKKyAgICAgICAgICAgIGZsb2F0IHdyYXBXID0gdG1w
VyArIGlubGluZUxvZ2ljYWxXaWR0aChvLCAhYXBwbGllZFN0YXJ0V2lkdGgsIHRydWUpOworICAg
ICAgICAgICAgZmxvYXQgY2hhcldpZHRoID0gMDsKICAgICAgICAgICAgIGJvb2wgYnJlYWtOQlNQ
ID0gYXV0b1dyYXAgJiYgby0+c3R5bGUoKS0+bmJzcE1vZGUoKSA9PSBTUEFDRTsKICAgICAgICAg
ICAgIC8vIEF1dG8td3JhcHBpbmcgdGV4dCBzaG91bGQgd3JhcCBpbiB0aGUgbWlkZGxlIG9mIGEg
d29yZCBvbmx5IGlmIGl0IGNvdWxkIG5vdCB3cmFwIGJlZm9yZSB0aGUgd29yZCwKICAgICAgICAg
ICAgIC8vIHdoaWNoIGlzIG9ubHkgcG9zc2libGUgaWYgdGhlIHdvcmQgaXMgdGhlIGZpcnN0IHRo
aW5nIG9uIHRoZSBsaW5lLCB0aGF0IGlzLCBpZiB8d3wgaXMgemVyby4KICAgICAgICAgICAgIGJv
b2wgYnJlYWtXb3JkcyA9IG8tPnN0eWxlKCktPmJyZWFrV29yZHMoKSAmJiAoKGF1dG9XcmFwICYm
ICF3KSB8fCBjdXJyV1MgPT0gUFJFKTsKICAgICAgICAgICAgIGJvb2wgbWlkV29yZEJyZWFrID0g
ZmFsc2U7CiAgICAgICAgICAgICBib29sIGJyZWFrQWxsID0gby0+c3R5bGUoKS0+d29yZEJyZWFr
KCkgPT0gQnJlYWtBbGxXb3JkQnJlYWsgJiYgYXV0b1dyYXA7Ci0gICAgICAgICAgICBpbnQgaHlw
aGVuV2lkdGggPSAwOworICAgICAgICAgICAgZmxvYXQgaHlwaGVuV2lkdGggPSAwOwogCiAgICAg
ICAgICAgICBpZiAodC0+aXNXb3JkQnJlYWsoKSkgewogICAgICAgICAgICAgICAgIHcgKz0gdG1w
VzsKQEAgLTE3NDMsNyArMTc0Myw3IEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5k
TmV4dExpbmUKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg
fQogCi0gICAgICAgICAgICAgICAgICAgIGludCBhZGRpdGlvbmFsVG1wVzsKKyAgICAgICAgICAg
ICAgICAgICAgZmxvYXQgYWRkaXRpb25hbFRtcFc7CiAgICAgICAgICAgICAgICAgICAgIGlmICh3
b3JkVHJhaWxpbmdTcGFjZVdpZHRoICYmIGN1cnJlbnRDaGFyYWN0ZXJJc1NwYWNlKQogICAgICAg
ICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFRtcFcgPSB0ZXh0V2lkdGgodCwgbGFzdFNwYWNl
LCBwb3MgKyAxIC0gbGFzdFNwYWNlLCBmLCB3ICsgdG1wVywgaXNGaXhlZFBpdGNoLCBjb2xsYXBz
ZVdoaXRlU3BhY2UpIC0gd29yZFRyYWlsaW5nU3BhY2VXaWR0aCArIGxhc3RTcGFjZVdvcmRTcGFj
aW5nOwogICAgICAgICAgICAgICAgICAgICBlbHNlCkBAIC0xODkzLDcgKzE4OTMsNyBAQCBJbmxp
bmVJdGVyYXRvciBSZW5kZXJCbG9jazo6ZmluZE5leHRMaW5lCiAgICAgICAgICAgICB9CiAKICAg
ICAgICAgICAgIC8vIElNUE9SVEFOVDogcG9zIGlzID4gbGVuZ3RoIGhlcmUhCi0gICAgICAgICAg
ICBpbnQgYWRkaXRpb25hbFRtcFcgPSBpZ25vcmluZ1NwYWNlcyA/IDAgOiB0ZXh0V2lkdGgodCwg
bGFzdFNwYWNlLCBwb3MgLSBsYXN0U3BhY2UsIGYsIHcgKyB0bXBXLCBpc0ZpeGVkUGl0Y2gsIGNv
bGxhcHNlV2hpdGVTcGFjZSkgKyBsYXN0U3BhY2VXb3JkU3BhY2luZzsKKyAgICAgICAgICAgIGZs
b2F0IGFkZGl0aW9uYWxUbXBXID0gaWdub3JpbmdTcGFjZXMgPyAwIDogdGV4dFdpZHRoKHQsIGxh
c3RTcGFjZSwgcG9zIC0gbGFzdFNwYWNlLCBmLCB3ICsgdG1wVywgaXNGaXhlZFBpdGNoLCBjb2xs
YXBzZVdoaXRlU3BhY2UpICsgbGFzdFNwYWNlV29yZFNwYWNpbmc7CiAgICAgICAgICAgICB0bXBX
ICs9IGFkZGl0aW9uYWxUbXBXOwogICAgICAgICAgICAgdG1wVyArPSBpbmxpbmVMb2dpY2FsV2lk
dGgobywgIWFwcGxpZWRTdGFydFdpZHRoLCB0cnVlKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMjksNyArMTMyOSw3
IEBAIHZvaWQgUmVuZGVyQm94Ojpwb3NpdGlvbkxpbmVCb3goSW5saW5lQm8KICAgICAgICAgYm94
LT5yZW1vdmUoKTsKICAgICAgICAgYm94LT5kZXN0cm95KHJlbmRlckFyZW5hKCkpOwogICAgIH0g
ZWxzZSBpZiAoaXNSZXBsYWNlZCgpKSB7Ci0gICAgICAgIHNldExvY2F0aW9uKGJveC0+eCgpLCBi
b3gtPnkoKSk7CisgICAgICAgIHNldExvY2F0aW9uKGxyb3VuZGYoYm94LT54KCkpLCBscm91bmRm
KGJveC0+eSgpKSk7CiAgICAgICAgIG1faW5saW5lQm94V3JhcHBlciA9IGJveDsKICAgICB9CiB9
CkBAIC0zMzQ4LDYgKzMzNDgsMjQgQEAgSW50U2l6ZSBSZW5kZXJCb3g6OmZsaXBGb3JXcml0aW5n
TW9kZShjbwogICAgIHJldHVybiBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8g
SW50U2l6ZShvZmZzZXQud2lkdGgoKSwgaGVpZ2h0KCkgLSBvZmZzZXQuaGVpZ2h0KCkpIDogSW50
U2l6ZSh3aWR0aCgpIC0gb2Zmc2V0LndpZHRoKCksIG9mZnNldC5oZWlnaHQoKSk7CiB9CiAKK0Zs
b2F0UG9pbnQgUmVuZGVyQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgRmxvYXRQb2ludCYg
cG9zaXRpb24pIGNvbnN0Cit7CisgICAgaWYgKCFzdHlsZSgpLT5pc0ZsaXBwZWRCbG9ja3NXcml0
aW5nTW9kZSgpKQorICAgICAgICByZXR1cm4gcG9zaXRpb247CisgICAgcmV0dXJuIHN0eWxlKCkt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBGbG9hdFBvaW50KHBvc2l0aW9uLngoKSwgaGVp
Z2h0KCkgLSBwb3NpdGlvbi55KCkpIDogRmxvYXRQb2ludCh3aWR0aCgpIC0gcG9zaXRpb24ueCgp
LCBwb3NpdGlvbi55KCkpOworfQorCit2b2lkIFJlbmRlckJveDo6ZmxpcEZvcldyaXRpbmdNb2Rl
KEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKK3sKKyAgICBpZiAoIXN0eWxlKCktPmlzRmxpcHBlZEJs
b2Nrc1dyaXRpbmdNb2RlKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChzdHlsZSgpLT5p
c0hvcml6b250YWxXcml0aW5nTW9kZSgpKQorICAgICAgICByZWN0LnNldFkoaGVpZ2h0KCkgLSBy
ZWN0Lm1heFkoKSk7CisgICAgZWxzZQorICAgICAgICByZWN0LnNldFgod2lkdGgoKSAtIHJlY3Qu
bWF4WCgpKTsKK30KKwogSW50U2l6ZSBSZW5kZXJCb3g6OmxvY2F0aW9uT2Zmc2V0SW5jbHVkaW5n
RmxpcHBpbmcoKSBjb25zdAogewogICAgIGlmICghcGFyZW50KCkgfHwgIXBhcmVudCgpLT5pc0Jv
eCgpKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAkocmV2aXNpb24gNzg0
ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTM4NSw2ICszODUsOCBAQCBwdWJsaWM6CiAgICAgSW50UG9pbnQgZmxpcEZvcldyaXRp
bmdNb2RlSW5jbHVkaW5nQ29sdW1ucyhjb25zdCBJbnRQb2ludCYpIGNvbnN0OwogICAgIEludFNp
emUgZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEludFNpemUmKSBjb25zdDsKICAgICB2b2lkIGZs
aXBGb3JXcml0aW5nTW9kZShJbnRSZWN0JikgY29uc3Q7CisgICAgRmxvYXRQb2ludCBmbGlwRm9y
V3JpdGluZ01vZGUoY29uc3QgRmxvYXRQb2ludCYpIGNvbnN0OworICAgIHZvaWQgZmxpcEZvcldy
aXRpbmdNb2RlKEZsb2F0UmVjdCYpIGNvbnN0OwogICAgIEludFNpemUgbG9jYXRpb25PZmZzZXRJ
bmNsdWRpbmdGbGlwcGluZygpIGNvbnN0OwogCiAgICAgSW50UmVjdCBsb2dpY2FsVmlzdWFsT3Zl
cmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24oUmVuZGVyU3R5bGUqKSBjb25zdDsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0LmNwcAkocmV2aXNpb24g
Nzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw3IEBAIHZvaWQgUmVuZGVyQ29tYmluZVRleHQ6
OnNldFRleHRJbnRlcm5hbCgKICAgICBtX25lZWRzRm9udFVwZGF0ZSA9IHRydWU7CiB9CiAKLXVu
c2lnbmVkIFJlbmRlckNvbWJpbmVUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBs
ZW5ndGgsIGNvbnN0IEZvbnQmIGZvbnQsIGludCB4UG9zaXRpb24sIEhhc2hTZXQ8Y29uc3QgU2lt
cGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxv
dykgY29uc3QKK2Zsb2F0IFJlbmRlckNvbWJpbmVUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1
bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnQmIGZvbnQsIGZsb2F0IHhQb3NpdGlvbiwgSGFzaFNl
dDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBn
bHlwaE92ZXJmbG93KSBjb25zdAogewogICAgIGlmICghY2hhcmFjdGVycygpKQogICAgICAgICBy
ZXR1cm4gMDsKQEAgLTYzLDcgKzYzLDcgQEAgdW5zaWduZWQgUmVuZGVyQ29tYmluZVRleHQ6Ondp
ZHRoKHVuc2lnbgogICAgIHJldHVybiBSZW5kZXJUZXh0Ojp3aWR0aChmcm9tLCBsZW5ndGgsIGZv
bnQsIHhQb3NpdGlvbiwgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxvdyk7CiB9CiAKLXZvaWQg
UmVuZGVyQ29tYmluZVRleHQ6OmFkanVzdFRleHRPcmlnaW4oSW50UG9pbnQmIHRleHRPcmlnaW4s
IGNvbnN0IEludFJlY3QmIGJveFJlY3QpIGNvbnN0Cit2b2lkIFJlbmRlckNvbWJpbmVUZXh0Ojph
ZGp1c3RUZXh0T3JpZ2luKEZsb2F0UG9pbnQmIHRleHRPcmlnaW4sIGNvbnN0IEZsb2F0UmVjdCYg
Ym94UmVjdCkgY29uc3QKIHsKICAgICBpZiAobV9pc0NvbWJpbmVkKQogICAgICAgICB0ZXh0T3Jp
Z2luLm1vdmUoYm94UmVjdC5oZWlnaHQoKSAvIDIgLSBjZWlsZihtX2NvbWJpbmVkVGV4dFdpZHRo
KSAvIDIsIHN0eWxlKCktPmZvbnQoKS5waXhlbFNpemUoKSk7CkBAIC05OCw3ICs5OCw3IEBAIHZv
aWQgUmVuZGVyQ29tYmluZVRleHQ6OmNvbWJpbmVUZXh0KCkKICAgICBib29sIHNob3VsZFVwZGF0
ZUZvbnQgPSBmYWxzZTsKIAogICAgIGRlc2NyaXB0aW9uLnNldE9yaWVudGF0aW9uKEhvcml6b250
YWwpOyAvLyBXZSBhcmUgZ29pbmcgdG8gZHJhdyBjb21iaW5lZCB0ZXh0IGhvcml6b250YWxseS4K
LSAgICBtX2NvbWJpbmVkVGV4dFdpZHRoID0gc3R5bGUoKS0+Zm9udCgpLmZsb2F0V2lkdGgocnVu
KTsKKyAgICBtX2NvbWJpbmVkVGV4dFdpZHRoID0gc3R5bGUoKS0+Zm9udCgpLndpZHRoKHJ1bik7
CiAgICAgbV9pc0NvbWJpbmVkID0gbV9jb21iaW5lZFRleHRXaWR0aCA8PSBlbVdpZHRoOwogCiAg
ICAgaWYgKG1faXNDb21iaW5lZCkKQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIFJlbmRlckNvbWJp
bmVUZXh0Ojpjb21iaW5lVGV4dCgpCiAgICAgICAgICAgICBkZXNjcmlwdGlvbi5zZXRXaWR0aFZh
cmlhbnQod2lkdGhWYXJpYW50c1tpXSk7CiAgICAgICAgICAgICBGb250IGNvbXByZXNzZWRGb250
ID0gRm9udChkZXNjcmlwdGlvbiwgc3R5bGUoKS0+Zm9udCgpLmxldHRlclNwYWNpbmcoKSwgc3R5
bGUoKS0+Zm9udCgpLndvcmRTcGFjaW5nKCkpOwogICAgICAgICAgICAgY29tcHJlc3NlZEZvbnQu
dXBkYXRlKHN0eWxlKCktPmZvbnQoKS5mb250U2VsZWN0b3IoKSk7Ci0gICAgICAgICAgICBmbG9h
dCBydW5XaWR0aCA9IGNvbXByZXNzZWRGb250LmZsb2F0V2lkdGgocnVuKTsKKyAgICAgICAgICAg
IGZsb2F0IHJ1bldpZHRoID0gY29tcHJlc3NlZEZvbnQud2lkdGgocnVuKTsKICAgICAgICAgICAg
IGlmIChydW5XaWR0aCA8PSBlbVdpZHRoKSB7CiAgICAgICAgICAgICAgICAgbV9jb21iaW5lZFRl
eHRXaWR0aCA9IHJ1bldpZHRoOwogICAgICAgICAgICAgICAgIG1faXNDb21iaW5lZCA9IHRydWU7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuaAko
cmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmlu
ZVRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTMgKzMwLDEzIEBAIHB1YmxpYzoKICAgICBS
ZW5kZXJDb21iaW5lVGV4dChOb2RlKiwgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPik7CiAKICAgICB2
b2lkIGNvbWJpbmVUZXh0KCk7Ci0gICAgdm9pZCBhZGp1c3RUZXh0T3JpZ2luKEludFBvaW50JiB0
ZXh0T3JpZ2luLCBjb25zdCBJbnRSZWN0JiBib3hSZWN0KSBjb25zdDsKKyAgICB2b2lkIGFkanVz
dFRleHRPcmlnaW4oRmxvYXRQb2ludCYgdGV4dE9yaWdpbiwgY29uc3QgRmxvYXRSZWN0JiBib3hS
ZWN0KSBjb25zdDsKICAgICB2b2lkIGNoYXJhY3RlcnNUb1JlbmRlcihpbnQgc3RhcnQsIGNvbnN0
IFVDaGFyKiYgY2hhcmFjdGVycywgaW50JiBsZW5ndGgpIGNvbnN0OwogICAgIGJvb2wgaXNDb21i
aW5lZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNDb21iaW5lZDsgfQotICAgIGludCBjb21iaW5lZFRl
eHRXaWR0aChjb25zdCBGb250JiBmb250KSBjb25zdCB7IHJldHVybiBmb250LnNpemUoKTsgfQor
ICAgIGZsb2F0IGNvbWJpbmVkVGV4dFdpZHRoKGNvbnN0IEZvbnQmIGZvbnQpIGNvbnN0IHsgcmV0
dXJuIGZvbnQuc2l6ZSgpOyB9CiAKIHByaXZhdGU6Ci0gICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0
aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnQmLCBpbnQgeFBvc2l0
aW9uLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBH
bHlwaE92ZXJmbG93KiA9IDApIGNvbnN0OworICAgIHZpcnR1YWwgZmxvYXQgd2lkdGgodW5zaWdu
ZWQgZnJvbSwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBGb250JiwgZmxvYXQgeFBvc2l0aW9uLCBI
YXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92
ZXJmbG93KiA9IDApIGNvbnN0OwogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgp
IGNvbnN0IHsgcmV0dXJuICJSZW5kZXJDb21iaW5lVGV4dCI7IH0KICAgICB2aXJ0dWFsIHZvaWQg
c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5
bGUpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0SW50ZXJuYWwoUGFzc1JlZlB0cjxTdHJpbmdJ
bXBsPik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuY3Bw
CShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3Vu
dGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDkzLDcgKzQ5Myw3IEBAIFBhc3NSZWZQdHI8U3Ry
aW5nSW1wbD4gUmVuZGVyQ291bnRlcjo6b3IKICAgICByZXR1cm4gdGV4dC5pbXBsKCk7CiB9CiAK
LXZvaWQgUmVuZGVyQ291bnRlcjo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoaW50IGxl
YWQpCit2b2lkIFJlbmRlckNvdW50ZXI6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZs
b2F0IGxlYWQpCiB7CiAgICAgc2V0VGV4dEludGVybmFsKG9yaWdpbmFsVGV4dCgpKTsKICAgICBS
ZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhsZWFkKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuaAkocmV2aXNpb24gNzg0ODQpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5oCSh3b3JraW5nIGNvcHkp
CkBAIC01MCw3ICs1MCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIGlzQ291bnRlcigp
IGNvbnN0OwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBvcmlnaW5hbFRleHQo
KSBjb25zdDsKICAgICAKLSAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxX
aWR0aHMoaW50IGxlYWRXaWR0aCk7CisgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVQcmVmZXJyZWRM
b2dpY2FsV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCk7CiAKICAgICBDb3VudGVyQ29udGVudCBtX2Nv
dW50ZXI7CiAgICAgbXV0YWJsZSBDb3VudGVyTm9kZSogbV9jb3VudGVyTm9kZTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcAko
cmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRk
ZWRPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTksOCArMTk5LDcgQEAgYm9vbCBSZW5k
ZXJFbWJlZGRlZE9iamVjdDo6Z2V0UmVwbGFjZW1lbgogICAgIGZvbnQudXBkYXRlKDApOwogICAg
IAogICAgIHJ1biA9IFRleHRSdW4obV9yZXBsYWNlbWVudFRleHQuY2hhcmFjdGVycygpLCBtX3Jl
cGxhY2VtZW50VGV4dC5sZW5ndGgoKSk7Ci0gICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7
Ci0gICAgdGV4dFdpZHRoID0gZm9udC5mbG9hdFdpZHRoKHJ1bik7CisgICAgdGV4dFdpZHRoID0g
Zm9udC53aWR0aChydW4pOwogICAgIAogICAgIHJlcGxhY2VtZW50VGV4dFJlY3Quc2V0U2l6ZShG
bG9hdFNpemUodGV4dFdpZHRoICsgcmVwbGFjZW1lbnRUZXh0Um91bmRlZFJlY3RMZWZ0UmlnaHRU
ZXh0TWFyZ2luICogMiwgcmVwbGFjZW1lbnRUZXh0Um91bmRlZFJlY3RIZWlnaHQpKTsKICAgICBm
bG9hdCB4ID0gKGNvbnRlbnRSZWN0LnNpemUoKS53aWR0aCgpIC8gMiAtIHJlcGxhY2VtZW50VGV4
dFJlY3Quc2l6ZSgpLndpZHRoKCkgLyAyKSArIGNvbnRlbnRSZWN0LmxvY2F0aW9uKCkueCgpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9h
ZENvbnRyb2wuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3Myw3ICsy
NzMsNyBAQCB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpjb21wdXRlUHJlCiAgICAgICAg
IC8vIEZpZ3VyZSBvdXQgaG93IGJpZyB0aGUgZmlsZW5hbWUgc3BhY2UgbmVlZHMgdG8gYmUgZm9y
IGEgZ2l2ZW4gbnVtYmVyIG9mIGNoYXJhY3RlcnMKICAgICAgICAgLy8gKHVzaW5nICIwIiBhcyB0
aGUgbm9taW5hbCBjaGFyYWN0ZXIpLgogICAgICAgICBjb25zdCBVQ2hhciBjaCA9ICcwJzsKLSAg
ICAgICAgZmxvYXQgY2hhcldpZHRoID0gc3R5bGUoKS0+Zm9udCgpLmZsb2F0V2lkdGgoVGV4dFJ1
bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBm
YWxzZSwgZmFsc2UsIGZhbHNlKSk7CisgICAgICAgIGZsb2F0IGNoYXJXaWR0aCA9IHN0eWxlKCkt
PmZvbnQoKS53aWR0aChUZXh0UnVuKCZjaCwgMSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93
VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlKSk7CiAgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNh
bFdpZHRoID0gKGludCljZWlsZihjaGFyV2lkdGggKiBkZWZhdWx0V2lkdGhOdW1DaGFycyk7CiAg
ICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHJl
dmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtODEsNyArODEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQg
c2hvcnQgcGFkZGluZ0hlaWdoCiAKIC8vIEFsdCB0ZXh0IGlzIHJlc3RyaWN0ZWQgdG8gdGhpcyBt
YXhpbXVtIHNpemUsIGluIHBpeGVscy4gIFRoZXNlIGFyZQogLy8gc2lnbmVkIGludGVnZXJzIGJl
Y2F1c2UgdGhleSBhcmUgY29tcGFyZWQgd2l0aCBvdGhlciBzaWduZWQgdmFsdWVzLgotc3RhdGlj
IGNvbnN0IGludCBtYXhBbHRUZXh0V2lkdGggPSAxMDI0Oworc3RhdGljIGNvbnN0IGZsb2F0IG1h
eEFsdFRleHRXaWR0aCA9IDEwMjQ7CiBzdGF0aWMgY29uc3QgaW50IG1heEFsdFRleHRIZWlnaHQg
PSAyNTY7CiAKIEludFNpemUgUmVuZGVySW1hZ2U6OmltYWdlU2l6ZUZvckVycm9yKENhY2hlZElt
YWdlKiBuZXdJbWFnZSkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbmxpbmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbmxpbmUuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJbmxpbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NTksOCArNTU5LDggQEAgSW50
UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzQm91bmRpbmdCb3goKQogICAgIEFTU0VSVCghZmlyc3RM
aW5lQm94KCkgPT0gIWxhc3RMaW5lQm94KCkpOyAgLy8gRWl0aGVyIGJvdGggYXJlIG51bGwgb3Ig
Ym90aCBleGlzdC4KICAgICBpZiAoZmlyc3RMaW5lQm94KCkgJiYgbGFzdExpbmVCb3goKSkgewog
ICAgICAgICAvLyBSZXR1cm4gdGhlIHdpZHRoIG9mIHRoZSBtaW5pbWFsIGxlZnQgc2lkZSBhbmQg
dGhlIG1heGltYWwgcmlnaHQgc2lkZS4KLSAgICAgICAgaW50IGxvZ2ljYWxMZWZ0U2lkZSA9IDA7
Ci0gICAgICAgIGludCBsb2dpY2FsUmlnaHRTaWRlID0gMDsKKyAgICAgICAgZmxvYXQgbG9naWNh
bExlZnRTaWRlID0gMDsKKyAgICAgICAgZmxvYXQgbG9naWNhbFJpZ2h0U2lkZSA9IDA7CiAgICAg
ICAgIGZvciAoSW5saW5lRmxvd0JveCogY3VyciA9IGZpcnN0TGluZUJveCgpOyBjdXJyOyBjdXJy
ID0gY3Vyci0+bmV4dExpbmVCb3goKSkgewogICAgICAgICAgICAgaWYgKGN1cnIgPT0gZmlyc3RM
aW5lQm94KCkgfHwgY3Vyci0+bG9naWNhbExlZnQoKSA8IGxvZ2ljYWxMZWZ0U2lkZSkKICAgICAg
ICAgICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBjdXJyLT5sb2dpY2FsTGVmdCgpOwpAQCAtNTcw
LDExICs1NzAsMTEgQEAgSW50UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzQm91bmRpbmdCb3goKQog
ICAgICAgICAKICAgICAgICAgYm9vbCBpc0hvcml6b250YWwgPSBzdHlsZSgpLT5pc0hvcml6b250
YWxXcml0aW5nTW9kZSgpOwogICAgICAgICAKLSAgICAgICAgaW50IHggPSBpc0hvcml6b250YWwg
PyBsb2dpY2FsTGVmdFNpZGUgOiBmaXJzdExpbmVCb3goKS0+eCgpOwotICAgICAgICBpbnQgeSA9
IGlzSG9yaXpvbnRhbCA/IGZpcnN0TGluZUJveCgpLT55KCkgOiBsb2dpY2FsTGVmdFNpZGU7Ci0g
ICAgICAgIGludCB3aWR0aCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dp
Y2FsTGVmdFNpZGUgOiBsYXN0TGluZUJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB4OwotICAgICAg
ICBpbnQgaGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFzdExpbmVCb3goKS0+bG9naWNhbEJvdHRv
bSgpIC0geSA6IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGU7Ci0gICAgICAgIHJl
c3VsdCA9IEludFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCk7CisgICAgICAgIGZsb2F0IHggPSBp
c0hvcml6b250YWwgPyBsb2dpY2FsTGVmdFNpZGUgOiBmaXJzdExpbmVCb3goKS0+eCgpOworICAg
ICAgICBmbG9hdCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RMaW5lQm94KCktPnkoKSA6IGxvZ2lj
YWxMZWZ0U2lkZTsKKyAgICAgICAgZmxvYXQgd2lkdGggPSBpc0hvcml6b250YWwgPyBsb2dpY2Fs
UmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlIDogbGFzdExpbmVCb3goKS0+bG9naWNhbEJvdHRv
bSgpIC0geDsKKyAgICAgICAgZmxvYXQgaGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFzdExpbmVC
b3goKS0+bG9naWNhbEJvdHRvbSgpIC0geSA6IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVm
dFNpZGU7CisgICAgICAgIHJlc3VsdCA9IGVuY2xvc2luZ0ludFJlY3QoRmxvYXRSZWN0KHgsIHks
IHdpZHRoLCBoZWlnaHQpKTsKICAgICB9CiAKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtNTg2LDIw
ICs1ODYsMjAgQEAgSW50UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzVmlzdWFsT3ZlcmZsbwogICAg
ICAgICByZXR1cm4gSW50UmVjdCgpOwogCiAgICAgLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiB0aGUg
bWluaW1hbCBsZWZ0IHNpZGUgYW5kIHRoZSBtYXhpbWFsIHJpZ2h0IHNpZGUuCi0gICAgaW50IGxv
Z2ljYWxMZWZ0U2lkZSA9IG51bWVyaWNfbGltaXRzPGludD46Om1heCgpOwotICAgIGludCBsb2dp
Y2FsUmlnaHRTaWRlID0gbnVtZXJpY19saW1pdHM8aW50Pjo6bWluKCk7CisgICAgZmxvYXQgbG9n
aWNhbExlZnRTaWRlID0gbnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7CisgICAgZmxvYXQgbG9n
aWNhbFJpZ2h0U2lkZSA9IG51bWVyaWNfbGltaXRzPGludD46Om1pbigpOwogICAgIGZvciAoSW5s
aW5lRmxvd0JveCogY3VyciA9IGZpcnN0TGluZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4
dExpbmVCb3goKSkgewotICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBtaW4obG9naWNhbExlZnRT
aWRlLCBjdXJyLT5sb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCkpOwotICAgICAgICBsb2dpY2Fs
UmlnaHRTaWRlID0gbWF4KGxvZ2ljYWxSaWdodFNpZGUsIGN1cnItPmxvZ2ljYWxSaWdodFZpc3Vh
bE92ZXJmbG93KCkpOworICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBtaW4obG9naWNhbExlZnRT
aWRlLCBzdGF0aWNfY2FzdDxmbG9hdD4oY3Vyci0+bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygp
KSk7CisgICAgICAgIGxvZ2ljYWxSaWdodFNpZGUgPSBtYXgobG9naWNhbFJpZ2h0U2lkZSwgc3Rh
dGljX2Nhc3Q8ZmxvYXQ+KGN1cnItPmxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KCkpKTsKICAg
ICB9CiAKICAgICBib29sIGlzSG9yaXpvbnRhbCA9IHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCk7CiAgICAgICAgIAotICAgIGludCB4ID0gaXNIb3Jpem9udGFsID8gbG9naWNhbExl
ZnRTaWRlIDogZmlyc3RMaW5lQm94KCktPm1pblhWaXN1YWxPdmVyZmxvdygpOwotICAgIGludCB5
ID0gaXNIb3Jpem9udGFsID8gZmlyc3RMaW5lQm94KCktPm1pbllWaXN1YWxPdmVyZmxvdygpIDog
bG9naWNhbExlZnRTaWRlOwotICAgIGludCB3aWR0aCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxS
aWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0TGluZUJveCgpLT5tYXhYVmlzdWFsT3Zl
cmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT5taW5YVmlzdWFsT3ZlcmZsb3coKTsKLSAgICBpbnQg
aGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFzdExpbmVCb3goKS0+bWF4WVZpc3VhbE92ZXJmbG93
KCkgLSBmaXJzdExpbmVCb3goKS0+bWluWVZpc3VhbE92ZXJmbG93KCkgOiBsb2dpY2FsUmlnaHRT
aWRlIC0gbG9naWNhbExlZnRTaWRlOwotICAgIHJldHVybiBJbnRSZWN0KHgsIHksIHdpZHRoLCBo
ZWlnaHQpOworICAgIGZsb2F0IHggPSBpc0hvcml6b250YWwgPyBsb2dpY2FsTGVmdFNpZGUgOiBm
aXJzdExpbmVCb3goKS0+bWluWFZpc3VhbE92ZXJmbG93KCk7CisgICAgZmxvYXQgeSA9IGlzSG9y
aXpvbnRhbCA/IGZpcnN0TGluZUJveCgpLT5taW5ZVmlzdWFsT3ZlcmZsb3coKSA6IGxvZ2ljYWxM
ZWZ0U2lkZTsKKyAgICBmbG9hdCB3aWR0aCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNp
ZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0TGluZUJveCgpLT5tYXhYVmlzdWFsT3ZlcmZsb3co
KSAtIGZpcnN0TGluZUJveCgpLT5taW5YVmlzdWFsT3ZlcmZsb3coKTsKKyAgICBmbG9hdCBoZWln
aHQgPSBpc0hvcml6b250YWwgPyBsYXN0TGluZUJveCgpLT5tYXhZVmlzdWFsT3ZlcmZsb3coKSAt
IGZpcnN0TGluZUJveCgpLT5taW5ZVmlzdWFsT3ZlcmZsb3coKSA6IGxvZ2ljYWxSaWdodFNpZGUg
LSBsb2dpY2FsTGVmdFNpZGU7CisgICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3QoRmxvYXRSZWN0
KHgsIHksIHdpZHRoLCBoZWlnaHQpKTsKIH0KIAogSW50UmVjdCBSZW5kZXJJbmxpbmU6OmNsaXBw
ZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29u
dGFpbmVyKQpAQCAtOTYzLDggKzk2Myw4IEBAIHZvaWQgUmVuZGVySW5saW5lOjphZGRGb2N1c1Jp
bmdSZWN0cyhWZWMKIHsKICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1cnIgPSBmaXJzdExpbmVC
b3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkpIHsKICAgICAgICAgUm9vdElu
bGluZUJveCogcm9vdCA9IGN1cnItPnJvb3QoKTsKLSAgICAgICAgaW50IHRvcCA9IG1heChyb290
LT5saW5lVG9wKCksIGN1cnItPnkoKSk7Ci0gICAgICAgIGludCBib3R0b20gPSBtaW4ocm9vdC0+
bGluZUJvdHRvbSgpLCBjdXJyLT55KCkgKyBjdXJyLT5sb2dpY2FsSGVpZ2h0KCkpOworICAgICAg
ICBpbnQgdG9wID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+bG9naWNhbFRvcCgpKTsKKyAg
ICAgICAgaW50IGJvdHRvbSA9IG1pbihyb290LT5saW5lQm90dG9tKCksIGN1cnItPmxvZ2ljYWxC
b3R0b20oKSk7CiAgICAgICAgIEludFJlY3QgcmVjdCh0eCArIGN1cnItPngoKSwgdHkgKyB0b3As
IGN1cnItPmxvZ2ljYWxXaWR0aCgpLCBib3R0b20gLSB0b3ApOwogICAgICAgICBpZiAoIXJlY3Qu
aXNFbXB0eSgpKQogICAgICAgICAgICAgcmVjdHMuYXBwZW5kKHJlY3QpOwpAQCAtMTAxNSw4ICsx
MDE1LDggQEAgdm9pZCBSZW5kZXJJbmxpbmU6OnBhaW50T3V0bGluZShHcmFwaGljcwogICAgIHJl
Y3RzLmFwcGVuZChJbnRSZWN0KCkpOwogICAgIGZvciAoSW5saW5lRmxvd0JveCogY3VyciA9IGZp
cnN0TGluZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dExpbmVCb3goKSkgewogICAgICAg
ICBSb290SW5saW5lQm94KiByb290ID0gY3Vyci0+cm9vdCgpOwotICAgICAgICBpbnQgdG9wID0g
bWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+eSgpKTsKLSAgICAgICAgaW50IGJvdHRvbSA9IG1p
bihyb290LT5saW5lQm90dG9tKCksIGN1cnItPnkoKSArIGN1cnItPmxvZ2ljYWxIZWlnaHQoKSk7
CisgICAgICAgIGludCB0b3AgPSBtYXgocm9vdC0+bGluZVRvcCgpLCBjdXJyLT5sb2dpY2FsVG9w
KCkpOworICAgICAgICBpbnQgYm90dG9tID0gbWluKHJvb3QtPmxpbmVCb3R0b20oKSwgY3Vyci0+
bG9naWNhbEJvdHRvbSgpKTsKICAgICAgICAgcmVjdHMuYXBwZW5kKEludFJlY3QoY3Vyci0+eCgp
LCB0b3AsIGN1cnItPmxvZ2ljYWxXaWR0aCgpLCBib3R0b20gLSB0b3ApKTsKICAgICB9CiAgICAg
cmVjdHMuYXBwZW5kKEludFJlY3QoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGlzdEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxpc3RCb3guY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTExLDcgKzExMSw3
IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6dXBkYXRlRnJvbUVsZW1lbnQoKQogICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKCF0ZXh0LmlzRW1wdHkoKSkgewot
ICAgICAgICAgICAgICAgIGZsb2F0IHRleHRXaWR0aCA9IGl0ZW1Gb250LmZsb2F0V2lkdGgoVGV4
dFJ1bih0ZXh0LmltcGwoKSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBh
bnNpb24sIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSk7CisgICAgICAgICAgICAgICAgZmxv
YXQgdGV4dFdpZHRoID0gaXRlbUZvbnQud2lkdGgoVGV4dFJ1bih0ZXh0LmltcGwoKSwgZmFsc2Us
IDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlLCBmYWxzZSkpOwog
ICAgICAgICAgICAgICAgIHdpZHRoID0gbWF4KHdpZHRoLCB0ZXh0V2lkdGgpOwogICAgICAgICAg
ICAgfQogICAgICAgICB9CkBAIC0zMzMsNyArMzMzLDcgQEAgdm9pZCBSZW5kZXJMaXN0Qm94Ojpw
YWludEl0ZW1Gb3JlZ3JvdW5kKAogCiAgICAgdW5zaWduZWQgbGVuZ3RoID0gaXRlbVRleHQubGVu
Z3RoKCk7CiAgICAgY29uc3QgVUNoYXIqIHN0cmluZyA9IGl0ZW1UZXh0LmNoYXJhY3RlcnMoKTsK
LSAgICBUZXh0UnVuIHRleHRSdW4oc3RyaW5nLCBsZW5ndGgsIGZhbHNlLCAwLCAwLCBUZXh0UnVu
OjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCAhaXRlbVN0eWxlLT5pc0xlZnRUb1JpZ2h0RGlyZWN0
aW9uKCksIGl0ZW1TdHlsZS0+dW5pY29kZUJpZGkoKSA9PSBPdmVycmlkZSwgZmFsc2UsIGZhbHNl
KTsKKyAgICBUZXh0UnVuIHRleHRSdW4oc3RyaW5nLCBsZW5ndGgsIGZhbHNlLCAwLCAwLCBUZXh0
UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCAhaXRlbVN0eWxlLT5pc0xlZnRUb1JpZ2h0RGly
ZWN0aW9uKCksIGl0ZW1TdHlsZS0+dW5pY29kZUJpZGkoKSA9PSBPdmVycmlkZSk7CiAKICAgICAv
LyBEcmF3IHRoZSBpdGVtIHRleHQKICAgICBpZiAoaXRlbVN0eWxlLT52aXNpYmlsaXR5KCkgIT0g
SElEREVOKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3Qu
Y3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
ZW51TGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1MywxMCArMTUzLDEwIEBAIHZvaWQgUmVu
ZGVyTWVudUxpc3Q6OnVwZGF0ZU9wdGlvbnNXaWR0aCgKICAgICAgICAgICAgIGlmIChSZW5kZXJT
dHlsZSogb3B0aW9uU3R5bGUgPSBlbGVtZW50LT5yZW5kZXJTdHlsZSgpKQogICAgICAgICAgICAg
ICAgIG9wdGlvbldpZHRoICs9IG9wdGlvblN0eWxlLT50ZXh0SW5kZW50KCkuY2FsY01pblZhbHVl
KDApOwogICAgICAgICAgICAgaWYgKCF0ZXh0LmlzRW1wdHkoKSkKLSAgICAgICAgICAgICAgICBv
cHRpb25XaWR0aCArPSBzdHlsZSgpLT5mb250KCkuZmxvYXRXaWR0aCh0ZXh0KTsKKyAgICAgICAg
ICAgICAgICBvcHRpb25XaWR0aCArPSBzdHlsZSgpLT5mb250KCkud2lkdGgodGV4dCk7CiAgICAg
ICAgICAgICBtYXhPcHRpb25XaWR0aCA9IG1heChtYXhPcHRpb25XaWR0aCwgb3B0aW9uV2lkdGgp
OwogICAgICAgICB9IGVsc2UgaWYgKCF0ZXh0LmlzRW1wdHkoKSkKLSAgICAgICAgICAgIG1heE9w
dGlvbldpZHRoID0gbWF4KG1heE9wdGlvbldpZHRoLCBzdHlsZSgpLT5mb250KCkuZmxvYXRXaWR0
aCh0ZXh0KSk7CisgICAgICAgICAgICBtYXhPcHRpb25XaWR0aCA9IG1heChtYXhPcHRpb25XaWR0
aCwgc3R5bGUoKS0+Zm9udCgpLndpZHRoKHRleHQpKTsKICAgICB9CiAKICAgICBpbnQgd2lkdGgg
PSBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKG1heE9wdGlvbldpZHRoKSk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYw
LDcgKzU2MCw3IEBAIEludFJlY3QgUmVuZGVyVGV4dDo6bG9jYWxDYXJldFJlY3QoSW5saW4KICAg
ICByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEludFJlY3QobGVm
dCwgdG9wLCBjYXJldFdpZHRoLCBoZWlnaHQpIDogSW50UmVjdCh0b3AsIGxlZnQsIGhlaWdodCwg
Y2FyZXRXaWR0aCk7CiB9CiAKLUFMV0FZU19JTkxJTkUgaW50IFJlbmRlclRleHQ6OndpZHRoRnJv
bUNhY2hlKGNvbnN0IEZvbnQmIGYsIGludCBzdGFydCwgaW50IGxlbiwgaW50IHhQb3MsIEhhc2hT
ZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyog
Z2x5cGhPdmVyZmxvdykgY29uc3QKK0FMV0FZU19JTkxJTkUgZmxvYXQgUmVuZGVyVGV4dDo6d2lk
dGhGcm9tQ2FjaGUoY29uc3QgRm9udCYgZiwgaW50IHN0YXJ0LCBpbnQgbGVuLCBmbG9hdCB4UG9z
LCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3Zl
cmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CiB7CiAgICAgaWYgKHN0eWxlKCktPmhhc1RleHRD
b21iaW5lKCkpIHsKICAgICAgICAgY29uc3QgUmVuZGVyQ29tYmluZVRleHQqIGNvbWJpbmVUZXh0
ID0gdG9SZW5kZXJDb21iaW5lVGV4dCh0aGlzKTsKQEAgLTU2OSw5ICs1NjksOSBAQCBBTFdBWVNf
SU5MSU5FIGludCBSZW5kZXJUZXh0Ojp3aWR0aEZyb21DCiAgICAgfQogCiAgICAgaWYgKGYuaXNG
aXhlZFBpdGNoKCkgJiYgIWYuaXNTbWFsbENhcHMoKSAmJiBtX2lzQWxsQVNDSUkpIHsKLSAgICAg
ICAgaW50IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoID0gZi5zcGFjZVdpZHRoKCk7Ci0gICAgICAg
IGludCB0YWJXaWR0aCA9IGFsbG93VGFicygpID8gbW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGggKiA4
IDogMDsKLSAgICAgICAgaW50IHcgPSAwOworICAgICAgICBmbG9hdCBtb25vc3BhY2VDaGFyYWN0
ZXJXaWR0aCA9IGYuc3BhY2VXaWR0aCgpOworICAgICAgICBmbG9hdCB0YWJXaWR0aCA9IGFsbG93
VGFicygpID8gbW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGggKiA4IDogMDsKKyAgICAgICAgZmxvYXQg
dyA9IDA7CiAgICAgICAgIGJvb2wgaXNTcGFjZTsKICAgICAgICAgYm9vbCBwcmV2aW91c0NoYXJX
YXNTcGFjZSA9IHRydWU7IC8vIEZJWE1FOiBQcmVzZXJ2ZXMgaGlzdG9yaWNhbCBiZWhhdmlvciwg
YnV0IHNlZW1zIHdyb25nIGZvciBzdGFydCA+IDAuCiAgICAgICAgIEFTU0VSVChtX3RleHQpOwpA
QCAtNTgzLDcgKzU4Myw3IEBAIEFMV0FZU19JTkxJTkUgaW50IFJlbmRlclRleHQ6OndpZHRoRnJv
bUMKICAgICAgICAgICAgICAgICAgICAgdyArPSBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aDsKICAg
ICAgICAgICAgICAgICAgICAgaXNTcGFjZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgfSBlbHNl
IGlmIChjID09ICdcdCcpIHsKLSAgICAgICAgICAgICAgICAgICAgdyArPSB0YWJXaWR0aCA/IHRh
YldpZHRoIC0gKCh4UG9zICsgdykgJSB0YWJXaWR0aCkgOiBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0
aDsKKyAgICAgICAgICAgICAgICAgICAgdyArPSB0YWJXaWR0aCA/IHRhYldpZHRoIC0gZm1vZGYo
eFBvcyArIHcsIHRhYldpZHRoKSA6IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoOwogICAgICAgICAg
ICAgICAgICAgICBpc1NwYWNlID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAg
ICAgICAgICAgICAgICAgaXNTcGFjZSA9IGZhbHNlOwpAQCAtNjAxLDEyICs2MDEsMTIgQEAgQUxX
QVlTX0lOTElORSBpbnQgUmVuZGVyVGV4dDo6d2lkdGhGcm9tQwogICAgIHJldHVybiBmLndpZHRo
KFRleHRSdW4odGV4dCgpLT5jaGFyYWN0ZXJzKCkgKyBzdGFydCwgbGVuLCBhbGxvd1RhYnMoKSwg
eFBvcyksIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQogCi12b2lkIFJlbmRlclRl
eHQ6OnRyaW1tZWRQcmVmV2lkdGhzKGludCBsZWFkV2lkdGgsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCYgYmVnaW5NaW5XLCBib29sJiBiZWdpbldTLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGVuZE1pblcsIGJvb2wmIGVuZFdTLAordm9p
ZCBSZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldpZHRocyhmbG9hdCBsZWFkV2lkdGgsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBiZWdpbk1pblcsIGJvb2wmIGJlZ2lu
V1MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBlbmRNaW5XLCBi
b29sJiBlbmRXUywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCYgaGFz
QnJlYWthYmxlQ2hhciwgYm9vbCYgaGFzQnJlYWssCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCYgYmVnaW5NYXhXLCBpbnQmIGVuZE1heFcsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCYgbWluVywgaW50JiBtYXhXLCBib29sJiBzdHJpcEZyb250
U3BhY2VzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYgYmVnaW5N
YXhXLCBmbG9hdCYgZW5kTWF4VywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZmxvYXQmIG1pblcsIGZsb2F0JiBtYXhXLCBib29sJiBzdHJpcEZyb250U3BhY2VzKQogewogICAg
IGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlID0gc3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNwYWNlKCk7
CiAgICAgaWYgKCFjb2xsYXBzZVdoaXRlU3BhY2UpCkBAIC02NDYsNyArNjQ2LDcgQEAgdm9pZCBS
ZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldpZHRocyhpbnQgbAogICAgICAgICBjb25zdCBGb250JiBm
ID0gc3R5bGUoKS0+Zm9udCgpOyAvLyBGSVhNRTogVGhpcyBpZ25vcmVzIGZpcnN0LWxpbmUuCiAg
ICAgICAgIGlmIChzdHJpcEZyb250U3BhY2VzKSB7CiAgICAgICAgICAgICBjb25zdCBVQ2hhciBz
cGFjZSA9ICcgJzsKLSAgICAgICAgICAgIGludCBzcGFjZVdpZHRoID0gZi53aWR0aChUZXh0UnVu
KCZzcGFjZSwgMSkpOworICAgICAgICAgICAgZmxvYXQgc3BhY2VXaWR0aCA9IGYud2lkdGgoVGV4
dFJ1bigmc3BhY2UsIDEpKTsKICAgICAgICAgICAgIG1heFcgLT0gc3BhY2VXaWR0aDsKICAgICAg
ICAgfSBlbHNlCiAgICAgICAgICAgICBtYXhXICs9IGYud29yZFNwYWNpbmcoKTsKQEAgLTY5NSwy
MyArNjk1LDIzIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1NwYWNlQWNjb3JkaW5nVG9TdHkKICAg
ICByZXR1cm4gYyA9PSAnICcgfHwgKGMgPT0gbm9CcmVha1NwYWNlICYmIHN0eWxlLT5uYnNwTW9k
ZSgpID09IFNQQUNFKTsKIH0KIAotaW50IFJlbmRlclRleHQ6Om1pblByZWZlcnJlZExvZ2ljYWxX
aWR0aCgpIGNvbnN0CitmbG9hdCBSZW5kZXJUZXh0OjptaW5Mb2dpY2FsV2lkdGgoKSBjb25zdAog
ewogICAgIGlmIChwcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkoKSkKLSAgICAgICAgY29uc3Rf
Y2FzdDxSZW5kZXJUZXh0Kj4odGhpcyktPmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKDAp
OworICAgICAgICBjb25zdF9jYXN0PFJlbmRlclRleHQqPih0aGlzKS0+Y29tcHV0ZVByZWZlcnJl
ZExvZ2ljYWxXaWR0aHMoMC5mKTsKICAgICAgICAgCiAgICAgcmV0dXJuIG1fbWluV2lkdGg7CiB9
CiAKLWludCBSZW5kZXJUZXh0OjptYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25zdAorZmxv
YXQgUmVuZGVyVGV4dDo6bWF4TG9naWNhbFdpZHRoKCkgY29uc3QKIHsKICAgICBpZiAocHJlZmVy
cmVkTG9naWNhbFdpZHRoc0RpcnR5KCkpCi0gICAgICAgIGNvbnN0X2Nhc3Q8UmVuZGVyVGV4dCo+
KHRoaXMpLT5jb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygwKTsKKyAgICAgICAgY29uc3Rf
Y2FzdDxSZW5kZXJUZXh0Kj4odGhpcyktPmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKDAu
Zik7CiAgICAgICAgIAogICAgIHJldHVybiBtX21heFdpZHRoOwogfQogCi12b2lkIFJlbmRlclRl
eHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGludCBsZWFkV2lkdGgpCit2b2lkIFJl
bmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCkK
IHsKICAgICBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4gZmFsbGJhY2tGb250czsKICAg
ICBHbHlwaE92ZXJmbG93IGdseXBoT3ZlcmZsb3c7CkBAIC03MjAsNyArNzIwLDcgQEAgdm9pZCBS
ZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbAogICAgICAgICBtX2tub3duVG9IYXZl
Tm9PdmVyZmxvd0FuZE5vRmFsbGJhY2tGb250cyA9IHRydWU7CiB9CiAKLXZvaWQgUmVuZGVyVGV4
dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRXaWR0aCwgSGFzaFNldDxj
b25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93JiBnbHlw
aE92ZXJmbG93KQordm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRo
cyhmbG9hdCBsZWFkV2lkdGgsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiYgZmFsbGJh
Y2tGb250cywgR2x5cGhPdmVyZmxvdyYgZ2x5cGhPdmVyZmxvdykKIHsKICAgICBBU1NFUlQobV9o
YXNUYWIgfHwgcHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KCkgfHwgIW1fa25vd25Ub0hhdmVO
b092ZXJmbG93QW5kTm9GYWxsYmFja0ZvbnRzKTsKIApAQCAtNzMyLDggKzczMiw4IEBAIHZvaWQg
UmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWwKICAgICBpZiAoaXNCUigpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBpbnQgY3Vyck1pbldpZHRoID0gMDsKLSAgICBpbnQgY3Vyck1h
eFdpZHRoID0gMDsKKyAgICBmbG9hdCBjdXJyTWluV2lkdGggPSAwOworICAgIGZsb2F0IGN1cnJN
YXhXaWR0aCA9IDA7CiAgICAgbV9oYXNCcmVha2FibGVDaGFyID0gZmFsc2U7CiAgICAgbV9oYXNC
cmVhayA9IGZhbHNlOwogICAgIG1faGFzVGFiID0gZmFsc2U7CkBAIC03NDEsNyArNzQxLDcgQEAg
dm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbAogICAgIG1faGFzRW5kV1Mg
PSBmYWxzZTsKIAogICAgIGNvbnN0IEZvbnQmIGYgPSBzdHlsZSgpLT5mb250KCk7IC8vIEZJWE1F
OiBUaGlzIGlnbm9yZXMgZmlyc3QtbGluZS4KLSAgICBpbnQgd29yZFNwYWNpbmcgPSBzdHlsZSgp
LT53b3JkU3BhY2luZygpOworICAgIGZsb2F0IHdvcmRTcGFjaW5nID0gc3R5bGUoKS0+d29yZFNw
YWNpbmcoKTsKICAgICBpbnQgbGVuID0gdGV4dExlbmd0aCgpOwogICAgIGNvbnN0IFVDaGFyKiB0
eHQgPSBjaGFyYWN0ZXJzKCk7CiAgICAgYm9vbCBuZWVkc1dvcmRTcGFjaW5nID0gZmFsc2U7CkBA
IC04MjEsNyArODIxLDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNh
bAogCiAgICAgICAgIGludCB3b3JkTGVuID0gaiAtIGk7CiAgICAgICAgIGlmICh3b3JkTGVuKSB7
Ci0gICAgICAgICAgICBpbnQgdyA9IHdpZHRoRnJvbUNhY2hlKGYsIGksIHdvcmRMZW4sIGxlYWRX
aWR0aCArIGN1cnJNYXhXaWR0aCwgJmZhbGxiYWNrRm9udHMsICZnbHlwaE92ZXJmbG93KTsKKyAg
ICAgICAgICAgIGZsb2F0IHcgPSB3aWR0aEZyb21DYWNoZShmLCBpLCB3b3JkTGVuLCBsZWFkV2lk
dGggKyBjdXJyTWF4V2lkdGgsICZmYWxsYmFja0ZvbnRzLCAmZ2x5cGhPdmVyZmxvdyk7CiAgICAg
ICAgICAgICBpZiAoZmlyc3RHbHlwaExlZnRPdmVyZmxvdyA8IDApCiAgICAgICAgICAgICAgICAg
Zmlyc3RHbHlwaExlZnRPdmVyZmxvdyA9IGdseXBoT3ZlcmZsb3cubGVmdDsKICAgICAgICAgICAg
IGN1cnJNaW5XaWR0aCArPSB3OwpAQCAtOTMzLDE3ICs5MzMsMTcgQEAgYm9vbCBSZW5kZXJUZXh0
Ojpjb250YWluc09ubHlXaGl0ZXNwYWNlKAogICAgIHJldHVybiBjdXJyUG9zID49IChmcm9tICsg
bGVuKTsKIH0KIAotSW50UG9pbnQgUmVuZGVyVGV4dDo6Zmlyc3RSdW5PcmlnaW4oKSBjb25zdAor
RmxvYXRQb2ludCBSZW5kZXJUZXh0OjpmaXJzdFJ1bk9yaWdpbigpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIEludFBvaW50KGZpcnN0UnVuWCgpLCBmaXJzdFJ1blkoKSk7CiB9CiAKLWludCBSZW5kZXJU
ZXh0OjpmaXJzdFJ1blgoKSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6Zmlyc3RSdW5YKCkgY29u
c3QKIHsKICAgICByZXR1cm4gbV9maXJzdFRleHRCb3ggPyBtX2ZpcnN0VGV4dEJveC0+bV94IDog
MDsKIH0KIAotaW50IFJlbmRlclRleHQ6OmZpcnN0UnVuWSgpIGNvbnN0CitmbG9hdCBSZW5kZXJU
ZXh0OjpmaXJzdFJ1blkoKSBjb25zdAogewogICAgIHJldHVybiBtX2ZpcnN0VGV4dEJveCA/IG1f
Zmlyc3RUZXh0Qm94LT5tX3kgOiAwOwogfQpAQCAtMTIyMyw3ICsxMjIzLDcgQEAgdm9pZCBSZW5k
ZXJUZXh0Ojpwb3NpdGlvbkxpbmVCb3goSW5saW5lQgogICAgIG1fY29udGFpbnNSZXZlcnNlZFRl
eHQgfD0gIXMtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKIH0KIAotdW5zaWduZWQgUmVuZGVy
VGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBpbnQgeFBvcywgYm9vbCBm
aXJzdExpbmUsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywg
R2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKK2Zsb2F0IFJlbmRlclRleHQ6Ondp
ZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgZmxvYXQgeFBvcywgYm9vbCBmaXJzdExp
bmUsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhP
dmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKICAgICBpZiAoZnJvbSA+PSB0ZXh0TGVu
Z3RoKCkpCiAgICAgICAgIHJldHVybiAwOwpAQCAtMTIzNCwxMyArMTIzNCwxMyBAQCB1bnNpZ25l
ZCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tCiAgICAgcmV0dXJuIHdpZHRoKGZyb20s
IGxlbiwgc3R5bGUoZmlyc3RMaW5lKS0+Zm9udCgpLCB4UG9zLCBmYWxsYmFja0ZvbnRzLCBnbHlw
aE92ZXJmbG93KTsKIH0KIAotdW5zaWduZWQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJv
bSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmLCBpbnQgeFBvcywgSGFzaFNldDxjb25zdCBT
aW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJm
bG93KSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWdu
ZWQgbGVuLCBjb25zdCBGb250JiBmLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZv
bnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNv
bnN0CiB7CiAgICAgQVNTRVJUKGZyb20gKyBsZW4gPD0gdGV4dExlbmd0aCgpKTsKICAgICBpZiAo
IWNoYXJhY3RlcnMoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBpbnQgdzsKKyAgICBmbG9h
dCB3OwogICAgIGlmICgmZiA9PSAmc3R5bGUoKS0+Zm9udCgpKSB7CiAgICAgICAgIGlmICghc3R5
bGUoKS0+cHJlc2VydmVOZXdsaW5lKCkgJiYgIWZyb20gJiYgbGVuID09IHRleHRMZW5ndGgoKSkg
ewogICAgICAgICAgICAgaWYgKGZhbGxiYWNrRm9udHMpIHsKQEAgLTEyNTIsNyArMTI1Miw3IEBA
IHVuc2lnbmVkIFJlbmRlclRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20KICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgdyA9IG1fbWF4V2lkdGg7CiAgICAgICAgICAgICB9IGVsc2UK
LSAgICAgICAgICAgICAgICB3ID0gbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCk7CisgICAgICAg
ICAgICAgICAgdyA9IG1heExvZ2ljYWxXaWR0aCgpOwogICAgICAgICB9IGVsc2UKICAgICAgICAg
ICAgIHcgPSB3aWR0aEZyb21DYWNoZShmLCBmcm9tLCBsZW4sIHhQb3MsIGZhbGxiYWNrRm9udHMs
IGdseXBoT3ZlcmZsb3cpOwogICAgIH0gZWxzZQpAQCAtMTI2OCw4ICsxMjY4LDggQEAgSW50UmVj
dCBSZW5kZXJUZXh0OjpsaW5lc0JvdW5kaW5nQm94KCkgYwogICAgIEFTU0VSVCghZmlyc3RUZXh0
Qm94KCkgPT0gIWxhc3RUZXh0Qm94KCkpOyAgLy8gRWl0aGVyIGJvdGggYXJlIG51bGwgb3IgYm90
aCBleGlzdC4KICAgICBpZiAoZmlyc3RUZXh0Qm94KCkgJiYgbGFzdFRleHRCb3goKSkgewogICAg
ICAgICAvLyBSZXR1cm4gdGhlIHdpZHRoIG9mIHRoZSBtaW5pbWFsIGxlZnQgc2lkZSBhbmQgdGhl
IG1heGltYWwgcmlnaHQgc2lkZS4KLSAgICAgICAgaW50IGxvZ2ljYWxMZWZ0U2lkZSA9IDA7Ci0g
ICAgICAgIGludCBsb2dpY2FsUmlnaHRTaWRlID0gMDsKKyAgICAgICAgZmxvYXQgbG9naWNhbExl
ZnRTaWRlID0gMDsKKyAgICAgICAgZmxvYXQgbG9naWNhbFJpZ2h0U2lkZSA9IDA7CiAgICAgICAg
IGZvciAoSW5saW5lVGV4dEJveCogY3VyciA9IGZpcnN0VGV4dEJveCgpOyBjdXJyOyBjdXJyID0g
Y3Vyci0+bmV4dFRleHRCb3goKSkgewogICAgICAgICAgICAgaWYgKGN1cnIgPT0gZmlyc3RUZXh0
Qm94KCkgfHwgY3Vyci0+bG9naWNhbExlZnQoKSA8IGxvZ2ljYWxMZWZ0U2lkZSkKICAgICAgICAg
ICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBjdXJyLT5sb2dpY2FsTGVmdCgpOwpAQCAtMTI3OSwx
MSArMTI3OSwxMSBAQCBJbnRSZWN0IFJlbmRlclRleHQ6OmxpbmVzQm91bmRpbmdCb3goKSBjCiAg
ICAgICAgIAogICAgICAgICBib29sIGlzSG9yaXpvbnRhbCA9IHN0eWxlKCktPmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCk7CiAgICAgICAgIAotICAgICAgICBpbnQgeCA9IGlzSG9yaXpvbnRhbCA/
IGxvZ2ljYWxMZWZ0U2lkZSA6IGZpcnN0VGV4dEJveCgpLT54KCk7Ci0gICAgICAgIGludCB5ID0g
aXNIb3Jpem9udGFsID8gZmlyc3RUZXh0Qm94KCktPnkoKSA6IGxvZ2ljYWxMZWZ0U2lkZTsKLSAg
ICAgICAgaW50IHdpZHRoID0gaXNIb3Jpem9udGFsID8gbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2lj
YWxMZWZ0U2lkZSA6IGxhc3RUZXh0Qm94KCktPmxvZ2ljYWxCb3R0b20oKSAtIHg7Ci0gICAgICAg
IGludCBoZWlnaHQgPSBpc0hvcml6b250YWwgPyBsYXN0VGV4dEJveCgpLT5sb2dpY2FsQm90dG9t
KCkgLSB5IDogbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZTsKLSAgICAgICAgcmVz
dWx0ID0gSW50UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICAgICAgZmxvYXQgeCA9IGlz
SG9yaXpvbnRhbCA/IGxvZ2ljYWxMZWZ0U2lkZSA6IGZpcnN0VGV4dEJveCgpLT54KCk7CisgICAg
ICAgIGZsb2F0IHkgPSBpc0hvcml6b250YWwgPyBmaXJzdFRleHRCb3goKS0+eSgpIDogbG9naWNh
bExlZnRTaWRlOworICAgICAgICBmbG9hdCB3aWR0aCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxS
aWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0VGV4dEJveCgpLT5sb2dpY2FsQm90dG9t
KCkgLSB4OworICAgICAgICBmbG9hdCBoZWlnaHQgPSBpc0hvcml6b250YWwgPyBsYXN0VGV4dEJv
eCgpLT5sb2dpY2FsQm90dG9tKCkgLSB5IDogbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0
U2lkZTsKKyAgICAgICAgcmVzdWx0ID0gZW5jbG9zaW5nSW50UmVjdChGbG9hdFJlY3QoeCwgeSwg
d2lkdGgsIGhlaWdodCkpOwogICAgIH0KIAogICAgIHJldHVybiByZXN1bHQ7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtNzEsMjQg
KzcxLDI0IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB0ZXh0TGVuZ3RoKCkgY29uc3QgeyByZXR1
cm4gbV90ZXh0Lmxlbmd0aCgpOyB9IC8vIG5vbiB2aXJ0dWFsIGltcGxlbWVudGF0aW9uIG9mIGxl
bmd0aCgpCiAgICAgdm9pZCBwb3NpdGlvbkxpbmVCb3goSW5saW5lQm94Kik7CiAKLSAgICB2aXJ0
dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgY29uc3QgRm9u
dCYsIGludCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9u
dHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0OwotICAgIHZpcnR1YWwgdW5zaWduZWQg
d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBpbnQgeFBvcywgYm9vbCBmaXJzdExp
bmUgPSBmYWxzZSwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRz
ID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKKyAgICB2aXJ0dWFsIGZsb2F0IHdpZHRo
KHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgY29uc3QgRm9udCYsIGZsb2F0IHhQb3MsIEhh
c2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3Zl
cmZsb3cqID0gMCkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25lZCBmcm9t
LCB1bnNpZ25lZCBsZW4sIGZsb2F0IHhQb3MsIGJvb2wgZmlyc3RMaW5lID0gZmFsc2UsIEhhc2hT
ZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3ZlcmZs
b3cqID0gMCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIGludCBtaW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGgoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBj
b25zdDsKKyAgICBmbG9hdCBtaW5Mb2dpY2FsV2lkdGgoKSBjb25zdDsKKyAgICBmbG9hdCBtYXhM
b2dpY2FsV2lkdGgoKSBjb25zdDsKIAotICAgIHZvaWQgdHJpbW1lZFByZWZXaWR0aHMoaW50IGxl
YWRXaWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgYmVnaW5NaW5XLCBib29s
JiBiZWdpbldTLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBlbmRNaW5XLCBib29s
JiBlbmRXUywKKyAgICB2b2lkIHRyaW1tZWRQcmVmV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBiZWdpbk1pblcsIGJvb2wmIGJlZ2luV1Ms
CisgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYgZW5kTWluVywgYm9vbCYgZW5kV1Ms
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sJiBoYXNCcmVha2FibGVDaGFyLCBib29s
JiBoYXNCcmVhaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgYmVnaW5NYXhXLCBp
bnQmIGVuZE1heFcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIG1pblcsIGludCYg
bWF4VywgYm9vbCYgc3RyaXBGcm9udFNwYWNlcyk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmbG9hdCYgYmVnaW5NYXhXLCBmbG9hdCYgZW5kTWF4VywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZsb2F0JiBtaW5XLCBmbG9hdCYgbWF4VywgYm9vbCYgc3RyaXBGcm9udFNwYWNlcyk7
CiAKICAgICB2aXJ0dWFsIEludFJlY3QgbGluZXNCb3VuZGluZ0JveCgpIGNvbnN0OwogCi0gICAg
SW50UG9pbnQgZmlyc3RSdW5PcmlnaW4oKSBjb25zdDsKLSAgICBpbnQgZmlyc3RSdW5YKCkgY29u
c3Q7Ci0gICAgaW50IGZpcnN0UnVuWSgpIGNvbnN0OworICAgIEZsb2F0UG9pbnQgZmlyc3RSdW5P
cmlnaW4oKSBjb25zdDsKKyAgICBmbG9hdCBmaXJzdFJ1blgoKSBjb25zdDsKKyAgICBmbG9hdCBm
aXJzdFJ1blkoKSBjb25zdDsKIAogICAgIHZvaWQgc2V0VGV4dChQYXNzUmVmUHRyPFN0cmluZ0lt
cGw+LCBib29sIGZvcmNlID0gZmFsc2UpOwogICAgIHZvaWQgc2V0VGV4dFdpdGhPZmZzZXQoUGFz
c1JlZlB0cjxTdHJpbmdJbXBsPiwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBsZW4sIGJvb2wg
Zm9yY2UgPSBmYWxzZSk7CkBAIC0xMjIsNyArMTIyLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBj
aGVja0NvbnNpc3RlbmN5KCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVByZWZl
cnJlZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRXaWR0aCk7CisgICAgdmlydHVhbCB2b2lkIGNvbXB1
dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCk7CiAgICAgYm9vbCBpc0Fs
bENvbGxhcHNpYmxlV2hpdGVzcGFjZSgpOwogICAgIAogcHJvdGVjdGVkOgpAQCAtMTM1LDcgKzEz
NSw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIElubGluZVRleHRCb3gqIGNyZWF0ZVRleHRC
b3goKTsgLy8gU3ViY2xhc3NlZCBieSBTVkcuCiAKIHByaXZhdGU6Ci0gICAgdm9pZCBjb21wdXRl
UHJlZmVycmVkTG9naWNhbFdpZHRocyhpbnQgbGVhZFdpZHRoLCBIYXNoU2V0PGNvbnN0IFNpbXBs
ZUZvbnREYXRhKj4mIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cmKTsKKyAgICB2b2lkIGNv
bXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCwgSGFzaFNldDxjb25z
dCBTaW1wbGVGb250RGF0YSo+JiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93Jik7CiAKICAg
ICAvLyBNYWtlIGxlbmd0aCgpIHByaXZhdGUgc28gdGhhdCBjYWxsZXJzIHRoYXQgaGF2ZSBhIFJl
bmRlclRleHQqCiAgICAgLy8gd2lsbCB1c2UgdGhlIG1vcmUgZWZmaWNpZW50IHRleHRMZW5ndGgo
KSBpbnN0ZWFkLCB3aGlsZQpAQCAtMTQ4LDIyICsxNDgsMjIgQEAgcHJpdmF0ZToKIAogICAgIHZv
aWQgZGVsZXRlVGV4dEJveGVzKCk7CiAgICAgYm9vbCBjb250YWluc09ubHlXaGl0ZXNwYWNlKHVu
c2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbikgY29uc3Q7Ci0gICAgaW50IHdpZHRoRnJvbUNhY2hl
KGNvbnN0IEZvbnQmLCBpbnQgc3RhcnQsIGludCBsZW4sIGludCB4UG9zLCBIYXNoU2V0PGNvbnN0
IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqKSBjb25zdDsK
KyAgICBmbG9hdCB3aWR0aEZyb21DYWNoZShjb25zdCBGb250JiwgaW50IHN0YXJ0LCBpbnQgbGVu
LCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9u
dHMsIEdseXBoT3ZlcmZsb3cqKSBjb25zdDsKICAgICBib29sIGlzQWxsQVNDSUkoKSBjb25zdCB7
IHJldHVybiBtX2lzQWxsQVNDSUk7IH0KICAgICB2b2lkIHVwZGF0ZU5lZWRzVHJhbnNjb2Rpbmco
KTsKIAogICAgIGlubGluZSB2b2lkIHRyYW5zZm9ybVRleHQoU3RyaW5nJikgY29uc3Q7CiAKLSAg
ICBpbnQgbV9taW5XaWR0aDsgLy8gaGVyZSB0byBtaW5pbWl6ZSBwYWRkaW5nIGluIDY0LWJpdC4K
KyAgICBmbG9hdCBtX21pbldpZHRoOyAvLyBoZXJlIHRvIG1pbmltaXplIHBhZGRpbmcgaW4gNjQt
Yml0LgogCiAgICAgU3RyaW5nIG1fdGV4dDsKIAogICAgIElubGluZVRleHRCb3gqIG1fZmlyc3RU
ZXh0Qm94OwogICAgIElubGluZVRleHRCb3gqIG1fbGFzdFRleHRCb3g7CiAKLSAgICBpbnQgbV9t
YXhXaWR0aDsKLSAgICBpbnQgbV9iZWdpbk1pbldpZHRoOwotICAgIGludCBtX2VuZE1pbldpZHRo
OworICAgIGZsb2F0IG1fbWF4V2lkdGg7CisgICAgZmxvYXQgbV9iZWdpbk1pbldpZHRoOworICAg
IGZsb2F0IG1fZW5kTWluV2lkdGg7CiAKICAgICBib29sIG1faGFzQnJlYWthYmxlQ2hhciA6IDE7
IC8vIFdoZXRoZXIgb3Igbm90IHdlIGNhbiBiZSBicm9rZW4gaW50byBtdWx0aXBsZSBsaW5lcy4K
ICAgICBib29sIG1faGFzQnJlYWsgOiAxOyAvLyBXaGV0aGVyIG9yIG5vdCB3ZSBoYXZlIGEgaGFy
ZCBicmVhayAoZS5nLiwgPHByZT4gd2l0aCAnXG4nKS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcAkocmV2aXNpb24gNzg0ODQpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01NDQsNyArNTQ0LDcgQEAgZmxvYXQgUmVuZGVyVGV4dENvbnRyb2w6OmdldEF2Z0No
YXJXaWR0aAogICAgICAgICByZXR1cm4gcm91bmRmKHN0eWxlKCktPmZvbnQoKS5wcmltYXJ5Rm9u
dCgpLT5hdmdDaGFyV2lkdGgoKSk7CiAKICAgICBjb25zdCBVQ2hhciBjaCA9ICcwJzsgCi0gICAg
cmV0dXJuIHN0eWxlKCktPmZvbnQoKS5mbG9hdFdpZHRoKFRleHRSdW4oJmNoLCAxLCBmYWxzZSwg
MCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgZmFsc2UsIGZhbHNlLCBmYWxz
ZSkpOworICAgIHJldHVybiBzdHlsZSgpLT5mb250KCkud2lkdGgoVGV4dFJ1bigmY2gsIDEsIGZh
bHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBmYWxzZSkpOwogfQog
CiBmbG9hdCBSZW5kZXJUZXh0Q29udHJvbDo6c2NhbGVFbVRvVW5pdHMoaW50IHgpIGNvbnN0CkBA
IC02MzksNyArNjM5LDcgQEAgdm9pZCBSZW5kZXJUZXh0Q29udHJvbDo6cGFpbnRQbGFjZWhvbGRl
cgogICAgIHBhaW50SW5mby5jb250ZXh0LT5zZXRGaWxsQ29sb3IocGxhY2Vob2xkZXJTdHlsZS0+
dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5Q29sb3IpLCBwbGFjZWhvbGRlclN0eWxl
LT5jb2xvclNwYWNlKCkpOwogICAgIAogICAgIFN0cmluZyBwbGFjZWhvbGRlclRleHQgPSBzdGF0
aWNfY2FzdDxIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCo+KG5vZGUoKSktPnN0cmlwcGVkUGxh
Y2Vob2xkZXIoKTsKLSAgICBUZXh0UnVuIHRleHRSdW4ocGxhY2Vob2xkZXJUZXh0LmNoYXJhY3Rl
cnMoKSwgcGxhY2Vob2xkZXJUZXh0Lmxlbmd0aCgpLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxs
b3dUcmFpbGluZ0V4cGFuc2lvbiwgIXBsYWNlaG9sZGVyU3R5bGUtPmlzTGVmdFRvUmlnaHREaXJl
Y3Rpb24oKSwgcGxhY2Vob2xkZXJTdHlsZS0+dW5pY29kZUJpZGkoKSA9PSBPdmVycmlkZSwgZmFs
c2UsIGZhbHNlKTsKKyAgICBUZXh0UnVuIHRleHRSdW4ocGxhY2Vob2xkZXJUZXh0LmNoYXJhY3Rl
cnMoKSwgcGxhY2Vob2xkZXJUZXh0Lmxlbmd0aCgpLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxs
b3dUcmFpbGluZ0V4cGFuc2lvbiwgIXBsYWNlaG9sZGVyU3R5bGUtPmlzTGVmdFRvUmlnaHREaXJl
Y3Rpb24oKSwgcGxhY2Vob2xkZXJTdHlsZS0+dW5pY29kZUJpZGkoKSA9PSBPdmVycmlkZSk7CiAg
ICAgCiAgICAgUmVuZGVyQm94KiB0ZXh0UmVuZGVyZXIgPSBpbm5lclRleHRFbGVtZW50KCkgPyBp
bm5lclRleHRFbGVtZW50KCktPnJlbmRlckJveCgpIDogMDsKICAgICBpZiAodGV4dFJlbmRlcmVy
KSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQu
Y3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
cmVlQXNUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcwLDExICs0NzAsMTcgQEAgdm9pZCBS
ZW5kZXJUcmVlQXNUZXh0Ojp3cml0ZVJlbmRlck9iamVjdAogCiBzdGF0aWMgdm9pZCB3cml0ZVRl
eHRSdW4oVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRlclRleHQmIG8sIGNvbnN0IElubGluZVRl
eHRCb3gmIHJ1bikKIHsKLSAgICAvLyBGSVhNRTogVGFibGUgY2VsbCBhZGp1c3RtZW50IGlzIHRl
bXBvcmFyeSB1bnRpbCByZXN1bHRzIGNhbiBiZSB1cGRhdGVkLgorICAgIC8vIEZJWE1FOiBGb3Ig
bm93IHVzZSBhbiAiZW5jbG9zaW5nSW50UmVjdCIgbW9kZWwgZm9yIHgsIHkgYW5kIGxvZ2ljYWxX
aWR0aCwgYWx0aG91Z2ggdGhpcyBtYWtlcyBpdCBoYXJkZXIKKyAgICAvLyB0byBkZXRlY3QgYW55
IGNoYW5nZXMgY2F1c2VkIGJ5IHRoZSBjb252ZXJzaW9uIHRvIGZsb2F0aW5nIHBvaW50LiA6KAor
ICAgIGludCB4ID0gcnVuLm1feDsKICAgICBpbnQgeSA9IHJ1bi5tX3k7CisgICAgaW50IGxvZ2lj
YWxXaWR0aCA9IGNlaWxmKHJ1bi5tX3ggKyBydW4ubV9sb2dpY2FsV2lkdGgpIC0geDsKKworICAg
IC8vIEZJWE1FOiBUYWJsZSBjZWxsIGFkanVzdG1lbnQgaXMgdGVtcG9yYXJ5IHVudGlsIHJlc3Vs
dHMgY2FuIGJlIHVwZGF0ZWQuCiAgICAgaWYgKG8uY29udGFpbmluZ0Jsb2NrKCktPmlzVGFibGVD
ZWxsKCkpCiAgICAgICAgIHkgLT0gdG9SZW5kZXJUYWJsZUNlbGwoby5jb250YWluaW5nQmxvY2so
KSktPmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKTsKLSAgICB0cyA8PCAidGV4dCBydW4gYXQgKCIg
PDwgcnVuLm1feCA8PCAiLCIgPDwgeSA8PCAiKSB3aWR0aCAiIDw8IHJ1bi5tX2xvZ2ljYWxXaWR0
aDsKKyAgICAgICAgCisgICAgdHMgPDwgInRleHQgcnVuIGF0ICgiIDw8IHggPDwgIiwiIDw8IHkg
PDwgIikgd2lkdGggIiA8PCBsb2dpY2FsV2lkdGg7CiAgICAgaWYgKCFydW4uaXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpIHx8IHJ1bi5tX2Rpck92ZXJyaWRlKSB7CiAgICAgICAgIHRzIDw8ICghcnVu
LmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/ICIgUlRMIiA6ICIgTFRSIik7CiAgICAgICAgIGlm
IChydW4ubV9kaXJPdmVycmlkZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290
SW5saW5lQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9v
dElubGluZUJveC5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1Jvb3RJbmxpbmVCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw3ICs5Nyw3IEBAIGJv
b2wgUm9vdElubGluZUJveDo6Y2FuQWNjb21tb2RhdGVFbGxpcHMKICAgICByZXR1cm4gSW5saW5l
Rmxvd0JveDo6Y2FuQWNjb21tb2RhdGVFbGxpcHNpcyhsdHIsIGJsb2NrRWRnZSwgZWxsaXBzaXNX
aWR0aCk7CiB9CiAKLXZvaWQgUm9vdElubGluZUJveDo6cGxhY2VFbGxpcHNpcyhjb25zdCBBdG9t
aWNTdHJpbmcmIGVsbGlwc2lzU3RyLCAgYm9vbCBsdHIsIGludCBibG9ja0xlZnRFZGdlLCBpbnQg
YmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLAordm9pZCBSb290SW5saW5lQm94Ojpw
bGFjZUVsbGlwc2lzKGNvbnN0IEF0b21pY1N0cmluZyYgZWxsaXBzaXNTdHIsICBib29sIGx0ciwg
ZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lz
V2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5saW5lQm94KiBtYXJr
dXBCb3gpCiB7CiAgICAgLy8gQ3JlYXRlIGFuIGVsbGlwc2lzIGJveC4KQEAgLTEyMyw5ICsxMjMs
OSBAQCB2b2lkIFJvb3RJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXMoY29uc3QgCiAgICAgZWxsaXBz
aXNCb3gtPm1feCA9IHBsYWNlRWxsaXBzaXNCb3gobHRyLCBibG9ja0xlZnRFZGdlLCBibG9ja1Jp
Z2h0RWRnZSwgZWxsaXBzaXNXaWR0aCwgZm91bmRCb3gpOwogfQogCi1pbnQgUm9vdElubGluZUJv
eDo6cGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9j
a1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KQorZmxvYXQgUm9v
dElubGluZUJveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRn
ZSwgZmxvYXQgYmxvY2tSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5k
Qm94KQogewotICAgIGludCByZXN1bHQgPSBJbmxpbmVGbG93Qm94OjpwbGFjZUVsbGlwc2lzQm94
KGx0ciwgYmxvY2tMZWZ0RWRnZSwgYmxvY2tSaWdodEVkZ2UsIGVsbGlwc2lzV2lkdGgsIGZvdW5k
Qm94KTsKKyAgICBmbG9hdCByZXN1bHQgPSBJbmxpbmVGbG93Qm94OjpwbGFjZUVsbGlwc2lzQm94
KGx0ciwgYmxvY2tMZWZ0RWRnZSwgYmxvY2tSaWdodEVkZ2UsIGVsbGlwc2lzV2lkdGgsIGZvdW5k
Qm94KTsKICAgICBpZiAocmVzdWx0ID09IC0xKQogICAgICAgICByZXN1bHQgPSBsdHIgPyBibG9j
a1JpZ2h0RWRnZSAtIGVsbGlwc2lzV2lkdGggOiBibG9ja0xlZnRFZGdlOwogICAgIHJldHVybiBy
ZXN1bHQ7CkBAIC0xOTgsMTAgKzE5OCwxMCBAQCBib29sIFJvb3RJbmxpbmVCb3g6Om5vZGVBdFBv
aW50KGNvbnN0IEhpCiAgICAgcmV0dXJuIElubGluZUZsb3dCb3g6Om5vZGVBdFBvaW50KHJlcXVl
c3QsIHJlc3VsdCwgeCwgeSwgdHgsIHR5KTsKIH0KIAotdm9pZCBSb290SW5saW5lQm94OjphZGp1
c3RQb3NpdGlvbihpbnQgZHgsIGludCBkeSkKK3ZvaWQgUm9vdElubGluZUJveDo6YWRqdXN0UG9z
aXRpb24oZmxvYXQgZHgsIGZsb2F0IGR5KQogewogICAgIElubGluZUZsb3dCb3g6OmFkanVzdFBv
c2l0aW9uKGR4LCBkeSk7Ci0gICAgaW50IGJsb2NrRGlyZWN0aW9uRGVsdGEgPSBpc0hvcml6b250
YWwoKSA/IGR5IDogZHg7CisgICAgaW50IGJsb2NrRGlyZWN0aW9uRGVsdGEgPSBpc0hvcml6b250
YWwoKSA/IGR5IDogZHg7IC8vIFRoZSBibG9jayBkaXJlY3Rpb24gZGVsdGEgd2lsbCBhbHdheXMg
YmUgaW50ZWdyYWwuCiAgICAgbV9saW5lVG9wICs9IGJsb2NrRGlyZWN0aW9uRGVsdGE7CiAgICAg
bV9saW5lQm90dG9tICs9IGJsb2NrRGlyZWN0aW9uRGVsdGE7CiAgICAgbV9ibG9ja0xvZ2ljYWxI
ZWlnaHQgKz0gYmxvY2tEaXJlY3Rpb25EZWx0YTsKQEAgLTI4OSw3ICsyODksNyBAQCBpbnQgUm9v
dElubGluZUJveDo6YmVmb3JlQW5ub3RhdGlvbnNBZGp1CiAKICAgICAgICAgLy8gQW5ub3RhdGlv
bnMgb3ZlciB0aGlzIGxpbmUgbWF5IHB1c2ggdXMgZnVydGhlciBkb3duLgogICAgICAgICBpbnQg
aGlnaGVzdEFsbG93ZWRQb3NpdGlvbiA9IHByZXZSb290Qm94KCkgPyBtaW4ocHJldlJvb3RCb3go
KS0+bGluZUJvdHRvbSgpLCBsaW5lVG9wKCkpICsgcmVzdWx0IDogYmxvY2soKS0+Ym9yZGVyQmVm
b3JlKCk7Ci0gICAgICAgIHJlc3VsdCA9ICBjb21wdXRlT3ZlckFubm90YXRpb25BZGp1c3RtZW50
KGhpZ2hlc3RBbGxvd2VkUG9zaXRpb24pOworICAgICAgICByZXN1bHQgPSBjb21wdXRlT3ZlckFu
bm90YXRpb25BZGp1c3RtZW50KGhpZ2hlc3RBbGxvd2VkUG9zaXRpb24pOwogICAgIH0gZWxzZSB7
CiAgICAgICAgIC8vIEFubm90YXRpb25zIHVuZGVyIHRoaXMgbGluZSBtYXkgcHVzaCB1cyB1cC4K
ICAgICAgICAgaWYgKGhhc0Fubm90YXRpb25zQmVmb3JlKCkpCkBAIC01NDQsMTQgKzU0NCwxNCBA
QCBJbnRSZWN0IFJvb3RJbmxpbmVCb3g6OnBhZGRlZExheW91dE92ZXJmCiAgICAgCiAgICAgaWYg
KGlzSG9yaXpvbnRhbCgpKSB7CiAgICAgICAgIGlmIChpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkp
Ci0gICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRNYXhYRWRnZVRvKG1heChsaW5l
TGF5b3V0T3ZlcmZsb3cubWF4WCgpLCBsb2dpY2FsUmlnaHQoKSArIGVuZFBhZGRpbmcpKTsKKyAg
ICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdE1heFhFZGdlVG8obWF4KGxpbmVMYXlv
dXRPdmVyZmxvdy5tYXhYKCksIHBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCgpICsgZW5kUGFkZGlu
ZykpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRY
RWRnZVRvKG1pbihsaW5lTGF5b3V0T3ZlcmZsb3cueCgpLCBsb2dpY2FsTGVmdCgpIC0gZW5kUGFk
ZGluZykpOworICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0WEVkZ2VUbyhtaW4o
bGluZUxheW91dE92ZXJmbG93LngoKSwgcGl4ZWxTbmFwcGVkTG9naWNhbExlZnQoKSAtIGVuZFBh
ZGRpbmcpKTsKICAgICB9IGVsc2UgewogICAgICAgICBpZiAoaXNMZWZ0VG9SaWdodERpcmVjdGlv
bigpKQotICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0TWF4WUVkZ2VUbyhtYXgo
bGluZUxheW91dE92ZXJmbG93Lm1heFkoKSwgbG9naWNhbFJpZ2h0KCkgKyBlbmRQYWRkaW5nKSk7
CisgICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRNYXhZRWRnZVRvKG1heChsaW5l
TGF5b3V0T3ZlcmZsb3cubWF4WSgpLCBwaXhlbFNuYXBwZWRMb2dpY2FsUmlnaHQoKSArIGVuZFBh
ZGRpbmcpKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNo
aWZ0WUVkZ2VUbyhtaW4obGluZUxheW91dE92ZXJmbG93LnkoKSwgbG9naWNhbFJpZ2h0KCkgLSBl
bmRQYWRkaW5nKSk7CisgICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRZRWRnZVRv
KG1pbihsaW5lTGF5b3V0T3ZlcmZsb3cueSgpLCBwaXhlbFNuYXBwZWRMb2dpY2FsTGVmdCgpIC0g
ZW5kUGFkZGluZykpOwogICAgIH0KICAgICAKICAgICByZXR1cm4gbGluZUxheW91dE92ZXJmbG93
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5oCShyZXZpc2lv
biA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgogICAgIFJvb3RJbmxpbmVCb3gq
IG5leHRSb290Qm94KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Um9vdElubGluZUJveCo+
KG1fbmV4dExpbmVCb3gpOyB9CiAgICAgUm9vdElubGluZUJveCogcHJldlJvb3RCb3goKSBjb25z
dCB7IHJldHVybiBzdGF0aWNfY2FzdDxSb290SW5saW5lQm94Kj4obV9wcmV2TGluZUJveCk7IH0K
IAotICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihpbnQgZHgsIGludCBkeSk7CisgICAg
dmlydHVhbCB2b2lkIGFkanVzdFBvc2l0aW9uKGZsb2F0IGR4LCBmbG9hdCBkeSk7CiAKICAgICBp
bnQgbGluZVRvcCgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZVRvcDsgfQogICAgIGludCBsaW5lQm90
dG9tKCkgY29uc3QgeyByZXR1cm4gbV9saW5lQm90dG9tOyB9CkBAIC03OCw4ICs3OCw4IEBAIHB1
YmxpYzoKICAgICB2b2lkIGNoaWxkUmVtb3ZlZChJbmxpbmVCb3gqIGJveCk7CiAKICAgICBib29s
IGNhbkFjY29tbW9kYXRlRWxsaXBzaXMoYm9vbCBsdHIsIGludCBibG9ja0VkZ2UsIGludCBsaW5l
Qm94RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgpOwotICAgIHZvaWQgcGxhY2VFbGxpcHNpcyhjb25z
dCBBdG9taWNTdHJpbmcmIGVsbGlwc2lzU3RyLCBib29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2Us
IGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIElubGluZUJveCogbWFya3Vw
Qm94ID0gMCk7Ci0gICAgdmlydHVhbCBpbnQgcGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgaW50
IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJv
b2wmIGZvdW5kQm94KTsKKyAgICB2b2lkIHBsYWNlRWxsaXBzaXMoY29uc3QgQXRvbWljU3RyaW5n
JiBlbGxpcHNpc1N0ciwgYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2Nr
UmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBJbmxpbmVCb3gqIG1hcmt1cEJveCA9IDAp
OworICAgIHZpcnR1YWwgZmxvYXQgcGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgZmxvYXQgYmxv
Y2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJv
b2wmIGZvdW5kQm94KTsKIAogICAgIEVsbGlwc2lzQm94KiBlbGxpcHNpc0JveCgpIGNvbnN0Owog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25D
YWNoZS5oCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0
aWNhbFBvc2l0aW9uQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsOCArMzQsNiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKIC8vIFZhbHVlcyBmb3IgdmVy
dGljYWwgYWxpZ25tZW50LgotY29uc3QgaW50IFBvc2l0aW9uVG9wID0gLTB4N2ZmZmZmZmY7Ci1j
b25zdCBpbnQgUG9zaXRpb25Cb3R0b20gPSAweDdmZmZmZmZmOwogY29uc3QgaW50IFBvc2l0aW9u
VW5kZWZpbmVkID0gMHg4MDAwMDAwMDsKIAogY2xhc3MgVmVydGljYWxQb3NpdGlvbkNhY2hlIHsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0
Qm94LmNwcAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR0lubGluZVRleHRCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MTUsOSArNDE1LDYgQEAg
VGV4dFJ1biBTVkdJbmxpbmVUZXh0Qm94Ojpjb25zdHJ1Y3RUZXh0UgogICAgIHJ1bi5zZXRSZWZl
cmVuY2luZ1JlbmRlck9iamVjdCh0ZXh0KTsKICNlbmRpZgogCi0gICAgLy8gRGlzYWJsZSBhbnkg
d29yZC9jaGFyYWN0ZXIgcm91bmRpbmcuCi0gICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7
Ci0KICAgICAvLyBXZSBoYW5kbGUgbGV0dGVyICYgd29yZCBzcGFjaW5nIG91cnNlbHZlcy4KICAg
ICBydW4uZGlzYWJsZVNwYWNpbmcoKTsKICAgICByZXR1cm4gcnVuOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwCShy
ZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVy
VHJlZUFzVGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzNSw3ICs0MzUsMTAgQEAgc3RhdGlj
IHZvaWQgd3JpdGVSZW5kZXJTVkdUZXh0Qm94KFRleHRTdAogICAgIGlmICghYm94KQogICAgICAg
ICByZXR1cm47CiAKLSAgICB0cyA8PCAiIGF0ICgiIDw8IHRleHQueCgpIDw8ICIsIiA8PCB0ZXh0
LnkoKSA8PCAiKSBzaXplICIgPDwgYm94LT5sb2dpY2FsV2lkdGgoKSA8PCAieCIgPDwgYm94LT5s
b2dpY2FsSGVpZ2h0KCk7CisgICAgLy8gRklYTUU6IEZvciBub3cgdXNlIGFuIGludCBmb3IgbG9n
aWNhbFdpZHRoLCBhbHRob3VnaCB0aGlzIG1ha2VzIGl0IGhhcmRlcgorICAgIC8vIHRvIGRldGVj
dCBhbnkgY2hhbmdlcyBjYXVzZWQgYnkgdGhlIGNvbnZlcnNpb24gdG8gZmxvYXRpbmcgcG9pbnQu
IDooCisgICAgaW50IGxvZ2ljYWxXaWR0aCA9IGNlaWxmKGJveC0+eCgpICsgYm94LT5sb2dpY2Fs
V2lkdGgoKSkgLSBib3gtPngoKTsKKyAgICB0cyA8PCAiIGF0ICgiIDw8IHRleHQueCgpIDw8ICIs
IiA8PCB0ZXh0LnkoKSA8PCAiKSBzaXplICIgPDwgbG9naWNhbFdpZHRoIDw8ICJ4IiA8PCBib3gt
PmxvZ2ljYWxIZWlnaHQoKTsKICAgICAKICAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgaGFjaywg
b25jZSB0aGUgbmV3IHRleHQgbGF5b3V0IGVuZ2luZSBpcyBjb21wbGV0bHkgbGFuZGVkLiBXZSB3
YW50IHRvIHByZXNlcnZlIHRoZSBvbGQgbGF5b3V0IHRlc3QgcmVzdWx0cyBmb3Igbm93LgogICAg
IHRzIDw8ICIgY29udGFpbnMgMSBjaHVuayhzKSI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzLmNwcAkocmV2aXNpb24gNzg0ODQpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDcsOCArNDcsOSBAQCBTVkdUZXh0TWV0cmljczo6U1ZHVGV4dE1ldHJpY3MoUmVu
ZGVyU1ZHCiAgICAgaW50IGxlbmd0aCA9IDA7CiAKICAgICAvLyBDYWxjdWxhdGUgd2lkdGgvaGVp
Z2h0IHVzaW5nIHRoZSBzY2FsZWQgZm9udCwgZGl2aWRlIHRoaXMgcmVzdWx0IGJ5IHRoZSBzY2Fs
aW5nRmFjdG9yIGFmdGVyd2FyZHMuCi0gICAgbV93aWR0aCA9IHNjYWxlZEZvbnQuZmxvYXRXaWR0
aChydW4sIGV4dHJhQ2hhcnNBdmFpbGFibGUsIGxlbmd0aCwgbV9nbHlwaC5uYW1lKSAvIHNjYWxp
bmdGYWN0b3I7CisgICAgbV93aWR0aCA9IHNjYWxlZEZvbnQud2lkdGgocnVuLCBleHRyYUNoYXJz
QXZhaWxhYmxlLCBsZW5ndGgsIG1fZ2x5cGgubmFtZSkgLyBzY2FsaW5nRmFjdG9yOwogICAgIG1f
aGVpZ2h0ID0gc2NhbGVkRm9udC5mb250TWV0cmljcygpLmZsb2F0SGVpZ2h0KCkgLyBzY2FsaW5n
RmFjdG9yOworCiAgICAgbV9nbHlwaC51bmljb2RlU3RyaW5nID0gU3RyaW5nKHJ1bi5jaGFyYWN0
ZXJzKCksIGxlbmd0aCk7CiAgICAgbV9nbHlwaC5pc1ZhbGlkID0gdHJ1ZTsKIApAQCAtNzksOSAr
ODAsNiBAQCBzdGF0aWMgVGV4dFJ1biBjb25zdHJ1Y3RUZXh0UnVuKFJlbmRlclNWCiAgICAgcnVu
LnNldFJlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KHRleHQpOwogI2VuZGlmCiAKLSAgICAvLyBEaXNh
YmxlIGFueSB3b3JkL2NoYXJhY3RlciByb3VuZGluZy4KLSAgICBydW4uZGlzYWJsZVJvdW5kaW5n
SGFja3MoKTsKLQogICAgIC8vIFdlIGhhbmRsZSBsZXR0ZXIgJiB3b3JkIHNwYWNpbmcgb3Vyc2Vs
dmVzLgogICAgIHJ1bi5kaXNhYmxlU3BhY2luZygpOwogICAgIHJldHVybiBydW47CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZvbnQuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGb250LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYyLDcgKzM2Miw3IEBAIHN0YXRpYyB2
b2lkIGZsb2F0V2lkdGhNaXNzaW5nR2x5cGhDYWxsYmEKICAgICBGb250IGZvbnQoZm9udERlc2Ny
aXB0aW9uLCAwLCAwKTsgLy8gc3BhY2luZyBoYW5kbGVkIGJ5IFNWRyB0ZXh0IGNvZGUuCiAgICAg
Zm9udC51cGRhdGUoZGF0YS5mb250LT5mb250U2VsZWN0b3IoKSk7CiAKLSAgICBkYXRhLmxlbmd0
aCArPSBmb250LmZsb2F0V2lkdGgocnVuKTsKKyAgICBkYXRhLmxlbmd0aCArPSBmb250LndpZHRo
KHJ1bik7CiB9CiAKIApAQCAtNTczLDkgKzU3Myw5IEBAIHZvaWQgRm9udDo6ZHJhd1RleHRVc2lu
Z1NWR0ZvbnQoR3JhcGhpY3MKICAgICAgICAgICAgICAgICBmb250LmRyYXdUZXh0KGNvbnRleHQs
IGZhbGxiYWNrQ2hhcmFjdGVyUnVuLCBjdXJyZW50UG9pbnQpOwogCiAgICAgICAgICAgICAgICAg
aWYgKGlzVmVydGljYWxUZXh0KQotICAgICAgICAgICAgICAgICAgICBjdXJyZW50UG9pbnQubW92
ZSgwLjBmLCBmb250LmZsb2F0V2lkdGgoZmFsbGJhY2tDaGFyYWN0ZXJSdW4pKTsKKyAgICAgICAg
ICAgICAgICAgICAgY3VycmVudFBvaW50Lm1vdmUoMC4wZiwgZm9udC53aWR0aChmYWxsYmFja0No
YXJhY3RlclJ1bikpOwogICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAg
Y3VycmVudFBvaW50Lm1vdmUoZm9udC5mbG9hdFdpZHRoKGZhbGxiYWNrQ2hhcmFjdGVyUnVuKSwg
MC4wZik7CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRQb2ludC5tb3ZlKGZvbnQud2lkdGgo
ZmFsbGJhY2tDaGFyYWN0ZXJSdW4pLCAwLjBmKTsKIAogICAgICAgICAgICAgICAgIGZhbGxiYWNr
Q2hhcmFjdGVySW5kZXgrKzsKICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFj
L01pc2MvV2ViS2l0TlNTdHJpbmdFeHRyYXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9tYWMvTWlzYy9XZWJLaXROU1N0cmluZ0V4dHJhcy5tbQkocmV2aXNpb24gNzg0ODQpCisrKyBT
b3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdE5TU3RyaW5nRXh0cmFzLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC05MSw3ICs5MSw2IEBAIC0gKHZvaWQpX3dlYl9kcmF3QXRQb2ludDooTlNQb2ludClw
b2ludCAKIAogICAgICAgICBGb250IHdlYkNvcmVGb250KEZvbnRQbGF0Zm9ybURhdGEoZm9udCwg
W2ZvbnQgcG9pbnRTaXplXSksICFbbnNDb250ZXh0IGlzRHJhd2luZ1RvU2NyZWVuXSwgZm9udFNt
b290aGluZ0lzQWxsb3dlZCA/IEF1dG9TbW9vdGhpbmcgOiBBbnRpYWxpYXNlZCk7CiAgICAgICAg
IFRleHRSdW4gcnVuKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCk7Ci0gICAgICAgIHJ1bi5kaXNhYmxl
Um91bmRpbmdIYWNrcygpOwogCiAgICAgICAgIENHRmxvYXQgcmVkOwogICAgICAgICBDR0Zsb2F0
IGdyZWVuOwpAQCAtMTM3LDggKzEzNiw3IEBAIC0gKGZsb2F0KV93ZWJfd2lkdGhXaXRoRm9udDoo
TlNGb250ICopZm8KICAgICBpZiAoY2FuVXNlRmFzdFJlbmRlcmVyKGJ1ZmZlci5kYXRhKCksIGxl
bmd0aCkpIHsKICAgICAgICAgRm9udCB3ZWJDb3JlRm9udChGb250UGxhdGZvcm1EYXRhKGZvbnQs
IFtmb250IHBvaW50U2l6ZV0pLCAhW1tOU0dyYXBoaWNzQ29udGV4dCBjdXJyZW50Q29udGV4dF0g
aXNEcmF3aW5nVG9TY3JlZW5dKTsKICAgICAgICAgVGV4dFJ1biBydW4oYnVmZmVyLmRhdGEoKSwg
bGVuZ3RoKTsKLSAgICAgICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7Ci0gICAgICAgIHJl
dHVybiB3ZWJDb3JlRm9udC5mbG9hdFdpZHRoKHJ1bik7CisgICAgICAgIHJldHVybiB3ZWJDb3Jl
Rm9udC53aWR0aChydW4pOwogICAgIH0KIAogICAgIHJldHVybiBbc2VsZiBzaXplV2l0aEF0dHJp
YnV0ZXM6W05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0aE9iamVjdHNBbmRLZXlzOmZvbnQsIE5T
Rm9udEF0dHJpYnV0ZU5hbWUsIG5pbF1dLndpZHRoOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82347</attachid>
            <date>2011-02-14 11:52:49 -0800</date>
            <delta_ts>2011-02-14 13:19:19 -0800</delta_ts>
            <desc>Patch that applies (ignore for review, just testing builds)</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>181330</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0zOTksOSArMzk5LDkgQEAgX19a
TjdXZWJDb3JlMTVQcm90ZWN0aW9uU3BhY2VDMUVSS04zV1RGNgogX19aTjdXZWJDb3JlMTVQcm90
ZWN0aW9uU3BhY2VDMUV2CiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE3YWxpZ25DZW50
ZXJBbHdheXNFCiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE5YWxpZ25Ub0VkZ2VJZk5l
ZWRlZEUKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRlRVJLTjNX
VEY2U3RyaW5nRWZSS05TXzRGb250RWIKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRj
ZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0VmUktOU180Rm9udEViCi1fX1pON1dlYkNvcmUx
NVN0cmluZ1RydW5jYXRvcjV3aWR0aEVSS04zV1RGNlN0cmluZ0VSS05TXzRGb250RWIKK19fWk43
V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRjZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0Vm
UktOU180Rm9udEUKK19fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRl
RVJLTjNXVEY2U3RyaW5nRWZSS05TXzRGb250RQorX19aTjdXZWJDb3JlMTVTdHJpbmdUcnVuY2F0
b3I1d2lkdGhFUktOM1dURjZTdHJpbmdFUktOU180Rm9udEUKIF9fWk43V2ViQ29yZTE1VmlzaWJs
ZVBvc2l0aW9uQzFFUE5TXzROb2RlRWlOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3JlMTVWaXNp
YmxlUG9zaXRpb25DMUVSS05TXzhQb3NpdGlvbkVOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3Jl
MTVkZWZhdWx0TGFuZ3VhZ2VFdgpAQCAtMTEyMyw3ICsxMTIzLDcgQEAgX19aTks3V2ViQ29yZTI3
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VCYQogX19aTks3V2ViQ29yZTI3QXV0aGVudGljYXRpb25D
aGFsbGVuZ2VCYXNlMjBwcmV2aW91c0ZhaWx1cmVDb3VudEV2CiBfX1pOSzdXZWJDb3JlMjdBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZUJhc2U1ZXJyb3JFdgogX19aTks3V2ViQ29yZTI3QXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VCYXNlNmlzTnVsbEV2Ci1fX1pOSzdXZWJDb3JlNEZvbnQxMGZsb2F0V2lk
dGhFUktOU183VGV4dFJ1bkVQTjNXVEY3SGFzaFNldElQS05TXzE0U2ltcGxlRm9udERhdGFFTlM0
XzdQdHJIYXNoSVM4X0VFTlM0XzEwSGFzaFRyYWl0c0lTOF9FRUVFUE5TXzEzR2x5cGhPdmVyZmxv
d0UKK19fWk5LN1dlYkNvcmU0Rm9udDV3aWR0aEVSS05TXzdUZXh0UnVuRVBOM1dURjdIYXNoU2V0
SVBLTlNfMTRTaW1wbGVGb250RGF0YUVOUzRfN1B0ckhhc2hJUzhfRUVOUzRfMTBIYXNoVHJhaXRz
SVM4X0VFRUVQTlNfMTNHbHlwaE92ZXJmbG93RQogX19aTks3V2ViQ29yZTRGb250OGRyYXdUZXh0
RVBOU18xNUdyYXBoaWNzQ29udGV4dEVSS05TXzdUZXh0UnVuRVJLTlNfMTBGbG9hdFBvaW50RWlp
CiBfX1pOSzdXZWJDb3JlNEtVUkwxMWNyZWF0ZUNGVVJMRXYKIF9fWk5LN1dlYkNvcmU0S1VSTDEx
aXNMb2NhbEZpbGVFdgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE3NzMsNyArMTc3Myw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjpkcmF3VGV4dEkKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRleHQubGVuZ3RoKCk7
CiAgICAgY29uc3QgVUNoYXIqIHN0cmluZyA9IHRleHQuY2hhcmFjdGVycygpOwotICAgIFRleHRS
dW4gdGV4dFJ1bihzdHJpbmcsIGxlbmd0aCwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJh
aWxpbmdFeHBhbnNpb24sIHJ0bCwgb3ZlcnJpZGUsIGZhbHNlLCBmYWxzZSk7CisgICAgVGV4dFJ1
biB0ZXh0UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFp
bGluZ0V4cGFuc2lvbiwgcnRsLCBvdmVycmlkZSk7CiAKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRl
eHQgYXQgdGhlIGNvcnJlY3QgcG9pbnQuCiAgICAgRmxvYXRQb2ludCBsb2NhdGlvbih4LCB5KTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21p
dW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0Zp
bGVDaG9vc2VyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00NCw5ICs0NCw5IEBAIFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChj
b24KICAgICBlbHNlIGlmIChtX2ZpbGVuYW1lcy5zaXplKCkgPT0gMSkKICAgICAgICAgc3RyaW5n
ID0gcGF0aEdldERpc3BsYXlGaWxlTmFtZShtX2ZpbGVuYW1lc1swXSk7CiAgICAgZWxzZQotICAg
ICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmlsZVVw
bG9hZFRleHQobV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICAg
ICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxv
YWRUZXh0KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250KTsKIAotICAgIHJldHVybiBT
dHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0cmluZywgc3RhdGljX2Nhc3Q8ZmxvYXQ+
KHdpZHRoKSwgZm9udCwgZmFsc2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRl
clRydW5jYXRlKHN0cmluZywgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHdpZHRoKSwgZm9udCk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxNyArMzksNiBAQCB1
c2luZyBuYW1lc3BhY2UgVW5pY29kZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1
aW50OF90IEZvbnQ6OmdSb3VuZGluZ0hhY2tDaGFyYWN0ZXJUYWJsZVsyNTZdID0gewotICAgIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEgLypcdCovLCAxIC8qXG4qLywgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAx
IC8qc3BhY2UqLywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKi0qLywg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKj8q
LywKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAxIC8qbm8tYnJlYWsgc3BhY2UqLywgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAK
LX07Ci0KIEZvbnQ6OkNvZGVQYXRoIEZvbnQ6OnNfY29kZVBhdGggPSBBdXRvOwogCiAvLyA9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtMTc2LDcgKzE2NSw3IEBAIHZvaWQg
Rm9udDo6ZHJhd0VtcGhhc2lzTWFya3MoR3JhcGhpY3NDb24KICAgICAgICAgZHJhd0VtcGhhc2lz
TWFya3NGb3JDb21wbGV4VGV4dChjb250ZXh0LCBydW4sIG1hcmssIHBvaW50LCBmcm9tLCB0byk7
CiB9CiAKLWZsb2F0IEZvbnQ6OmZsb2F0V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0
PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGds
eXBoT3ZlcmZsb3cpIGNvbnN0CitmbG9hdCBGb250Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4s
IEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVy
ZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAg
IGlmIChwcmltYXJ5Rm9udCgpLT5pc1NWR0ZvbnQoKSkKQEAgLTE5NCw3ICsxODMsNyBAQCBmbG9h
dCBGb250OjpmbG9hdFdpZHRoKGNvbnN0IFRleHRSdW4mIHJ1CiAgICAgcmV0dXJuIGZsb2F0V2lk
dGhGb3JDb21wbGV4VGV4dChydW4sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQog
Ci1mbG9hdCBGb250OjpmbG9hdFdpZHRoKGNvbnN0IFRleHRSdW4mIHJ1biwgaW50IGV4dHJhQ2hh
cnNBdmFpbGFibGUsIGludCYgY2hhcnNDb25zdW1lZCwgU3RyaW5nJiBnbHlwaE5hbWUpIGNvbnN0
CitmbG9hdCBGb250Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIGludCBleHRyYUNoYXJzQXZh
aWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQsIFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdAogewog
I2lmICFFTkFCTEUoU1ZHX0ZPTlRTKQogICAgIFVOVVNFRF9QQVJBTShleHRyYUNoYXJzQXZhaWxh
YmxlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHJldmlz
aW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCSh3
b3JraW5nIGNvcHkpCkBAIC05NCw5ICs5NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRyYXdUZXh0
KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50JiwgaW50
IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7CiAgICAgdm9pZCBkcmF3RW1waGFzaXNNYXJr
cyhHcmFwaGljc0NvbnRleHQqLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgQXRvbWljU3RyaW5nJiBt
YXJrLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7
CiAKLSAgICBpbnQgd2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IFNpbXBs
ZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJm
bG93ID0gMCkgY29uc3QgeyByZXR1cm4gbHJvdW5kZihmbG9hdFdpZHRoKHJ1biwgZmFsbGJhY2tG
b250cywgZ2x5cGhPdmVyZmxvdykpOyB9Ci0gICAgZmxvYXQgZmxvYXRXaWR0aChjb25zdCBUZXh0
UnVuJiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwg
R2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdyA9IDApIGNvbnN0OwotICAgIGZsb2F0IGZsb2F0
V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBpbnQgZXh0cmFDaGFyc0F2YWlsYWJsZSwgaW50JiBj
aGFyc0NvbnN1bWVkLCBTdHJpbmcmIGdseXBoTmFtZSkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgo
Y29uc3QgVGV4dFJ1biYsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tG
b250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgoY29u
c3QgVGV4dFJ1biYsIGludCBleHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQs
IFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdDsKIAogICAgIGludCBvZmZzZXRGb3JQb3NpdGlvbihj
b25zdCBUZXh0UnVuJiwgZmxvYXQgcG9zaXRpb24sIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMp
IGNvbnN0OwogICAgIEZsb2F0UmVjdCBzZWxlY3Rpb25SZWN0Rm9yVGV4dChjb25zdCBUZXh0UnVu
JiwgY29uc3QgRmxvYXRQb2ludCYsIGludCBoLCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKSBj
b25zdDsKQEAgLTEyOSw4ICsxMjgsOCBAQCBwdWJsaWM6CiAKICAgICAvLyBNZXRyaWNzIHRoYXQg
d2UgcXVlcnkgdGhlIEZvbnRGYWxsYmFja0xpc3QgZm9yLgogICAgIGNvbnN0IEZvbnRNZXRyaWNz
JiBmb250TWV0cmljcygpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmZvbnRNZXRyaWNz
KCk7IH0KLSAgICBpbnQgc3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIChpbnQpY2VpbGYocHJp
bWFyeUZvbnQoKS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmcpOyB9Ci0g
ICAgZmxvYXQgdGFiV2lkdGgoY29uc3QgU2ltcGxlRm9udERhdGEmIGZvbnREYXRhKSBjb25zdCB7
IHJldHVybiA4ICogY2VpbGYoZm9udERhdGEuYWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBsZXR0ZXJT
cGFjaW5nKCkpOyB9CisgICAgaW50IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBwcmltYXJ5
Rm9udCgpLT5zcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmc7IH0KKyAgICBmbG9hdCB0YWJX
aWR0aChjb25zdCBTaW1wbGVGb250RGF0YSYgZm9udERhdGEpIGNvbnN0IHsgcmV0dXJuIDggKiBm
b250RGF0YS5zcGFjZVdpZHRoKCkgKyBsZXR0ZXJTcGFjaW5nKCk7IH0KICAgICBpbnQgZW1waGFz
aXNNYXJrQXNjZW50KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNp
c01hcmtEZXNjZW50KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNp
c01hcmtIZWlnaHQoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CkBAIC0yMDEsMTIgKzIwMCw2
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgQ29kZVBhdGggY29kZVBhdGgoKTsKICAgICBzdGF0aWMg
Q29kZVBhdGggc19jb2RlUGF0aDsKIAotICAgIHN0YXRpYyBjb25zdCB1aW50OF90IGdSb3VuZGlu
Z0hhY2tDaGFyYWN0ZXJUYWJsZVsyNTZdOwotICAgIHN0YXRpYyBib29sIGlzUm91bmRpbmdIYWNr
Q2hhcmFjdGVyKFVDaGFyMzIgYykKLSAgICB7Ci0gICAgICAgIHJldHVybiAoKChjICYgfjB4RkYp
ID09IDAgJiYgZ1JvdW5kaW5nSGFja0NoYXJhY3RlclRhYmxlW2NdKSk7Ci0gICAgfQotCiAgICAg
Rm9udFNlbGVjdG9yKiBmb250U2VsZWN0b3IoKSBjb25zdDsKICAgICBzdGF0aWMgYm9vbCB0cmVh
dEFzU3BhY2UoVUNoYXIgYykgeyByZXR1cm4gYyA9PSAnICcgfHwgYyA9PSAnXHQnIHx8IGMgPT0g
J1xuJyB8fCBjID09IG5vQnJlYWtTcGFjZTsgfQogICAgIHN0YXRpYyBib29sIHRyZWF0QXNaZXJv
V2lkdGhTcGFjZShVQ2hhciBjKSB7IHJldHVybiBjIDwgMHgyMCB8fCAoYyA+PSAweDdGICYmIGMg
PCAweEEwKSB8fCBjID09IHNvZnRIeXBoZW4gfHwgKGMgPj0gMHgyMDBjICYmIGMgPD0gMHgyMDBm
KSB8fCAoYyA+PSAweDIwMmEgJiYgYyA8PSAweDIwMmUpIHx8IGMgPT0gb2JqZWN0UmVwbGFjZW1l
bnRDaGFyYWN0ZXI7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRGYXN0UGF0aC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udEZhc3RQYXRoLmNwcAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
OTcsOSArMjk3LDggQEAgZmxvYXQgRm9udDo6Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JTaW1wbAog
ICAgIGZsb2F0IGFmdGVyV2lkdGggPSBpdC5tX3J1bldpZHRoU29GYXI7CiAKICAgICBpZiAocnVu
LnJ0bCgpKSB7Ci0gICAgICAgIGZsb2F0IGZpbmFsUm91bmRpbmdXaWR0aCA9IGl0Lm1fZmluYWxS
b3VuZGluZ1dpZHRoOwogICAgICAgICBpdC5hZHZhbmNlKHJ1bi5sZW5ndGgoKSk7Ci0gICAgICAg
IGluaXRpYWxBZHZhbmNlID0gZmluYWxSb3VuZGluZ1dpZHRoICsgaXQubV9ydW5XaWR0aFNvRmFy
IC0gYWZ0ZXJXaWR0aDsKKyAgICAgICAgaW5pdGlhbEFkdmFuY2UgPSBpdC5tX3J1bldpZHRoU29G
YXIgLSBhZnRlcldpZHRoOwogICAgIH0gZWxzZQogICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGJl
Zm9yZVdpZHRoOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzc1LDcgKzM3NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3SW1hZ2UoSW1h
Z2UqIGkKIH0KIAogI2lmICFPUyhXSU5DRSkgfHwgUExBVEZPUk0oUVQpCi12b2lkIEdyYXBoaWNz
Q29udGV4dDo6ZHJhd1RleHQoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBj
b25zdCBJbnRQb2ludCYgcG9pbnQsIGludCBmcm9tLCBpbnQgdG8pCit2b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd1RleHQoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBjb25z
dCBGbG9hdFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bykKIHsKICAgICBpZiAocGFpbnRp
bmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC0zODQsNyArMzg0LDcgQEAgdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdUZXh0KGNvbnN0IEZvbgogfQogI2VuZGlmCiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpkcmF3RW1waGFzaXNNYXJrcyhjb25zdCBGb250JiBmb250LCBjb25zdCBU
ZXh0UnVuJiBydW4sIGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaywgY29uc3QgSW50UG9pbnQmIHBv
aW50LCBpbnQgZnJvbSwgaW50IHRvKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdFbXBoYXNp
c01hcmtzKGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgQXRvbWlj
U3RyaW5nJiBtYXJrLCBjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bykK
IHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC00MjIs
MTMgKzQyMiwxMyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0JpZGlUZXh0KGNvbnN0CiAg
ICAgICAgIGJpZGlSdW4gPSBiaWRpUnVuLT5uZXh0KCk7CiAgICAgICAgIC8vIEZJWE1FOiBIYXZl
IEZvbnQ6OmRyYXdUZXh0IHJldHVybiB0aGUgd2lkdGggb2Ygd2hhdCBpdCBkcmV3IHNvIHRoYXQg
d2UgZG9uJ3QgaGF2ZSB0byByZS1tZWFzdXJlIGhlcmUuCiAgICAgICAgIGlmIChiaWRpUnVuKQot
ICAgICAgICAgICAgY3VyclBvaW50Lm1vdmUoZm9udC5mbG9hdFdpZHRoKHN1YnJ1biksIDAuZik7
CisgICAgICAgICAgICBjdXJyUG9pbnQubW92ZShmb250LndpZHRoKHN1YnJ1biksIDApOwogICAg
IH0KIAogICAgIGJpZGlSZXNvbHZlci5kZWxldGVSdW5zKCk7CiB9CiAKLXZvaWQgR3JhcGhpY3ND
b250ZXh0OjpkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0
UnVuJiBydW4sIGNvbnN0IEludFBvaW50JiBwb2ludCwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNr
Z3JvdW5kQ29sb3IsIENvbG9yU3BhY2UgY29sb3JTcGFjZSwgaW50IGZyb20sIGludCB0bykKK3Zv
aWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiBmb250
LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBpbnQgaCwgY29u
c3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwgQ29sb3JTcGFjZSBjb2xvclNwYWNlLCBpbnQgZnJv
bSwgaW50IHRvKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVy
bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5oCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzUsMjAgKzMz
NSwyMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFRleHREcmF3aW5nTW9kZUZsYWdz
IHRleHREcmF3aW5nTW9kZSgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldFRleHREcmF3aW5nTW9k
ZShUZXh0RHJhd2luZ01vZGVGbGFncyk7CiAKLSAgICAgICAgdm9pZCBkcmF3VGV4dChjb25zdCBG
b250JiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IEludFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQg
dG8gPSAtMSk7Ci0gICAgICAgIHZvaWQgZHJhd0VtcGhhc2lzTWFya3MoY29uc3QgRm9udCYsIGNv
bnN0IFRleHRSdW4mICwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBJbnRQb2ludCYs
IGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRyYXdUZXh0KGNvbnN0
IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxvYXRQb2ludCYsIGludCBmcm9tID0gMCwg
aW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRyYXdFbXBoYXNpc01hcmtzKGNvbnN0IEZvbnQm
LCBjb25zdCBUZXh0UnVuJiAsIGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaywgY29uc3QgRmxvYXRQ
b2ludCYsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOwogICAgICAgICB2b2lkIGRyYXdCaWRp
VGV4dChjb25zdCBGb250JiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IEZsb2F0UG9pbnQmKTsKLSAg
ICAgICAgdm9pZCBkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiwgY29uc3QgVGV4dFJ1
biYsIGNvbnN0IEludFBvaW50JiwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3Is
IENvbG9yU3BhY2UsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRy
YXdIaWdobGlnaHRGb3JUZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxv
YXRQb2ludCYsIGludCBoLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yLCBDb2xvclNwYWNl
LCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKTsKIAogICAgICAgICBGbG9hdFJlY3Qgcm91bmRU
b0RldmljZVBpeGVscyhjb25zdCBGbG9hdFJlY3QmKTsKIAotICAgICAgICB2b2lkIGRyYXdMaW5l
Rm9yVGV4dChjb25zdCBJbnRQb2ludCYsIGludCB3aWR0aCwgYm9vbCBwcmludGluZyk7CisgICAg
ICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmLCBmbG9hdCB3aWR0aCwg
Ym9vbCBwcmludGluZyk7CiAgICAgICAgIGVudW0gVGV4dENoZWNraW5nTGluZVN0eWxlIHsKICAg
ICAgICAgICAgIFRleHRDaGVja2luZ1NwZWxsaW5nTGluZVN0eWxlLAogICAgICAgICAgICAgVGV4
dENoZWNraW5nR3JhbW1hckxpbmVTdHlsZSwKICAgICAgICAgICAgIFRleHRDaGVja2luZ1JlcGxh
Y2VtZW50TGluZVN0eWxlCiAgICAgICAgIH07Ci0gICAgICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0
Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmLCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHls
ZSk7CisgICAgICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2lu
dCYsIGZsb2F0IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUpOwogCiAgICAgICAgIGJvb2wg
cGFpbnRpbmdEaXNhYmxlZCgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldFBhaW50aW5nRGlzYWJs
ZWQoYm9vbCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVG
b250RGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvU2ltcGxlRm9udERhdGEuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTA4LDcgKzEwOCw2IEBAIFNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShQYXNzT3duUHQK
ICAgICBtX3NwYWNlR2x5cGggPSAwOwogICAgIG1femVyb1dpZHRoU3BhY2VHbHlwaCA9IDA7CiAg
ICAgZGV0ZXJtaW5lUGl0Y2goKTsKLSAgICBtX2FkanVzdGVkU3BhY2VXaWR0aCA9IHJvdW5kZiht
X3NwYWNlV2lkdGgpOwogICAgIG1fbWlzc2luZ0dseXBoRGF0YS5mb250RGF0YSA9IHRoaXM7CiAg
ICAgbV9taXNzaW5nR2x5cGhEYXRhLmdseXBoID0gMDsKIH0KQEAgLTE0Myw3ICsxNDIsNiBAQCB2
b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBoSW5pdCgpCiAgICAgICAgIExPR19FUlJP
UigiRmFpbGVkIHRvIGdldCBnbHlwaCBwYWdlIHplcm8uIik7CiAgICAgICAgIG1fc3BhY2VHbHlw
aCA9IDA7CiAgICAgICAgIG1fc3BhY2VXaWR0aCA9IDA7Ci0gICAgICAgIG1fYWRqdXN0ZWRTcGFj
ZVdpZHRoID0gMDsKICAgICAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKICAgICAgICAgbV96ZXJvV2lk
dGhTcGFjZUdseXBoID0gMDsKICAgICAgICAgbV9taXNzaW5nR2x5cGhEYXRhLmZvbnREYXRhID0g
dGhpczsKQEAgLTE2MCw3ICsxNTgsNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUds
eXBoSW5pdCgpCiAgICAgZmxvYXQgd2lkdGggPSB3aWR0aEZvckdseXBoKG1fc3BhY2VHbHlwaCk7
CiAgICAgbV9zcGFjZVdpZHRoID0gd2lkdGg7CiAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKLSAgICBt
X2FkanVzdGVkU3BhY2VXaWR0aCA9IG1fdHJlYXRBc0ZpeGVkUGl0Y2ggPyBjZWlsZih3aWR0aCkg
OiByb3VuZGYod2lkdGgpOwogCiAgICAgLy8gRm9yY2UgdGhlIGdseXBoIGZvciBaRVJPIFdJRFRI
IFNQQUNFIHRvIGhhdmUgemVybyB3aWR0aCwgdW5sZXNzIGl0IGlzIHNoYXJlZCB3aXRoIFNQQUNF
LgogICAgIC8vIEhlbHZldGljYSBpcyBhbiBleGFtcGxlIG9mIGEgbm9uLXplcm8gd2lkdGggWkVS
TyBXSURUSCBTUEFDRSBnbHlwaC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1NpbXBsZUZvbnREYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTIsNyArMTEyLDYgQEAgcHVibGljOgogICAgIGZsb2F0IHBsYXRmb3JtV2lkdGhGb3JH
bHlwaChHbHlwaCkgY29uc3Q7CiAKICAgICBmbG9hdCBzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1
cm4gbV9zcGFjZVdpZHRoOyB9Ci0gICAgZmxvYXQgYWRqdXN0ZWRTcGFjZVdpZHRoKCkgY29uc3Qg
eyByZXR1cm4gbV9hZGp1c3RlZFNwYWNlV2lkdGg7IH0KIAogI2lmIFBMQVRGT1JNKENHKSB8fCBQ
TEFURk9STShDQUlSTykgfHwgUExBVEZPUk0oV1gpCiAgICAgZmxvYXQgc3ludGhldGljQm9sZE9m
ZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fc3ludGhldGljQm9sZE9mZnNldDsgfQpAQCAtMjMwLDcg
KzIyOSw2IEBAIHByaXZhdGU6CiAKICAgICBHbHlwaCBtX3NwYWNlR2x5cGg7CiAgICAgZmxvYXQg
bV9zcGFjZVdpZHRoOwotICAgIGZsb2F0IG1fYWRqdXN0ZWRTcGFjZVdpZHRoOwogCiAgICAgR2x5
cGggbV96ZXJvV2lkdGhTcGFjZUdseXBoOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9TdHJpbmdUcnVuY2F0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5jcHAJKHJldmlzaW9uIDc4NDg0
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtOTIsMjIgKzkyLDIwIEBAIHN0YXRpYyB1bnNpZ25lZCByaWdo
dFRydW5jYXRlVG9CdWZmZXIoY28KICAgICByZXR1cm4gdHJ1bmNhdGVkTGVuZ3RoOwogfQogCi1z
dGF0aWMgZmxvYXQgc3RyaW5nV2lkdGgoY29uc3QgRm9udCYgcmVuZGVyZXIsIGNvbnN0IFVDaGFy
KiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3Mp
CitzdGF0aWMgZmxvYXQgc3RyaW5nV2lkdGgoY29uc3QgRm9udCYgcmVuZGVyZXIsIGNvbnN0IFVD
aGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7CiAgICAgVGV4dFJ1biBydW4oY2hh
cmFjdGVycywgbGVuZ3RoKTsKLSAgICBpZiAoZGlzYWJsZVJvdW5kaW5nSGFja3MpCi0gICAgICAg
IHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotICAgIHJldHVybiByZW5kZXJlci5mbG9hdFdp
ZHRoKHJ1bik7CisgICAgcmV0dXJuIHJlbmRlcmVyLndpZHRoKHJ1bik7CiB9CiAKLXN0YXRpYyBT
dHJpbmcgdHJ1bmNhdGVTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRo
LCBjb25zdCBGb250JiBmb250LCBUcnVuY2F0aW9uRnVuY3Rpb24gdHJ1bmNhdGVUb0J1ZmZlciwg
Ym9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcykKK3N0YXRpYyBTdHJpbmcgdHJ1bmNhdGVTdHJpbmco
Y29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250JiBmb250LCBU
cnVuY2F0aW9uRnVuY3Rpb24gdHJ1bmNhdGVUb0J1ZmZlcikKIHsKICAgICBpZiAoc3RyaW5nLmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHN0cmluZzsKICAgICAKICAgICBBU1NFUlQobWF4V2lk
dGggPj0gMCk7CiAgICAgCi0gICAgZmxvYXQgY3VycmVudEVsbGlwc2lzV2lkdGggPSBzdHJpbmdX
aWR0aChmb250LCAmaG9yaXpvbnRhbEVsbGlwc2lzLCAxLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7
CisgICAgZmxvYXQgY3VycmVudEVsbGlwc2lzV2lkdGggPSBzdHJpbmdXaWR0aChmb250LCAmaG9y
aXpvbnRhbEVsbGlwc2lzLCAxKTsKICAgICAKICAgICBVQ2hhciBzdHJpbmdCdWZmZXJbU1RSSU5H
X0JVRkZFUl9TSVpFXTsKICAgICB1bnNpZ25lZCB0cnVuY2F0ZWRMZW5ndGg7CkBAIC0xMjMsNyAr
MTIxLDcgQEAgc3RhdGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAgICAg
ICB0cnVuY2F0ZWRMZW5ndGggPSBsZW5ndGg7CiAgICAgfQogCi0gICAgZmxvYXQgd2lkdGggPSBz
dHJpbmdXaWR0aChmb250LCBzdHJpbmdCdWZmZXIsIHRydW5jYXRlZExlbmd0aCwgZGlzYWJsZVJv
dW5kaW5nSGFja3MpOworICAgIGZsb2F0IHdpZHRoID0gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5n
QnVmZmVyLCB0cnVuY2F0ZWRMZW5ndGgpOwogICAgIGlmICh3aWR0aCA8PSBtYXhXaWR0aCkKICAg
ICAgICAgcmV0dXJuIHN0cmluZzsKIApAQCAtMTU5LDcgKzE1Nyw3IEBAIHN0YXRpYyBTdHJpbmcg
dHJ1bmNhdGVTdHJpbmcoY29uc3QgU3RyaW4KICAgICAgICAgCiAgICAgICAgIHRydW5jYXRlZExl
bmd0aCA9IHRydW5jYXRlVG9CdWZmZXIoc3RyaW5nLCBsZW5ndGgsIGtlZXBDb3VudCwgc3RyaW5n
QnVmZmVyKTsKIAotICAgICAgICB3aWR0aCA9IHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZ0J1ZmZl
ciwgdHJ1bmNhdGVkTGVuZ3RoLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgICAgIHdpZHRo
ID0gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5nQnVmZmVyLCB0cnVuY2F0ZWRMZW5ndGgpOwogICAg
ICAgICBpZiAod2lkdGggPD0gbWF4V2lkdGgpIHsKICAgICAgICAgICAgIGtlZXBDb3VudEZvckxh
cmdlc3RLbm93blRvRml0ID0ga2VlcENvdW50OwogICAgICAgICAgICAgd2lkdGhGb3JMYXJnZXN0
S25vd25Ub0ZpdCA9IHdpZHRoOwpAQCAtMTgxLDE5ICsxNzksMTkgQEAgc3RhdGljIFN0cmluZyB0
cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAgIHJldHVybiBTdHJpbmcoc3RyaW5nQnVmZmVy
LCB0cnVuY2F0ZWRMZW5ndGgpOwogfQogCi1TdHJpbmcgU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJU
cnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQm
IGZvbnQsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MpCitTdHJpbmcgU3RyaW5nVHJ1bmNhdG9y
OjpjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNv
bnN0IEZvbnQmIGZvbnQpCiB7Ci0gICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4
V2lkdGgsIGZvbnQsIGNlbnRlclRydW5jYXRlVG9CdWZmZXIsIGRpc2FibGVSb3VuZGluZ0hhY2tz
KTsKKyAgICByZXR1cm4gdHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBtYXhXaWR0aCwgZm9udCwgY2Vu
dGVyVHJ1bmNhdGVUb0J1ZmZlcik7CiB9CiAKLVN0cmluZyBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0
VHJ1bmNhdGUoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250
JiBmb250LCBib29sIGRpc2FibGVSb3VuZGluZ0hhY2tzKQorU3RyaW5nIFN0cmluZ1RydW5jYXRv
cjo6cmlnaHRUcnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNv
bnN0IEZvbnQmIGZvbnQpCiB7Ci0gICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4
V2lkdGgsIGZvbnQsIHJpZ2h0VHJ1bmNhdGVUb0J1ZmZlciwgZGlzYWJsZVJvdW5kaW5nSGFja3Mp
OworICAgIHJldHVybiB0cnVuY2F0ZVN0cmluZyhzdHJpbmcsIG1heFdpZHRoLCBmb250LCByaWdo
dFRydW5jYXRlVG9CdWZmZXIpOwogfQogCi1mbG9hdCBTdHJpbmdUcnVuY2F0b3I6OndpZHRoKGNv
bnN0IFN0cmluZyYgc3RyaW5nLCBjb25zdCBGb250JiBmb250LCBib29sIGRpc2FibGVSb3VuZGlu
Z0hhY2tzKQorZmxvYXQgU3RyaW5nVHJ1bmNhdG9yOjp3aWR0aChjb25zdCBTdHJpbmcmIHN0cmlu
ZywgY29uc3QgRm9udCYgZm9udCkKIHsKLSAgICByZXR1cm4gc3RyaW5nV2lkdGgoZm9udCwgc3Ry
aW5nLmNoYXJhY3RlcnMoKSwgc3RyaW5nLmxlbmd0aCgpLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7
CisgICAgcmV0dXJuIHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZy5jaGFyYWN0ZXJzKCksIHN0cmlu
Zy5sZW5ndGgoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCShyZXZp
c2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1Ry
dW5jYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw5ICszNyw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAKICAgICBjbGFzcyBTdHJpbmdUcnVuY2F0b3IgewogICAgIHB1YmxpYzoKLSAg
ICAgICAgc3RhdGljIFN0cmluZyBjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBt
YXhXaWR0aCwgY29uc3QgRm9udCYsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MgPSB0cnVlKTsK
LSAgICAgICAgc3RhdGljIFN0cmluZyByaWdodFRydW5jYXRlKGNvbnN0IFN0cmluZyYsIGZsb2F0
IG1heFdpZHRoLCBjb25zdCBGb250JiwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcyA9IHRydWUp
OwotICAgICAgICBzdGF0aWMgZmxvYXQgd2lkdGgoY29uc3QgU3RyaW5nJiwgY29uc3QgRm9udCYs
IGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MgPSB0cnVlKTsKKyAgICAgICAgc3RhdGljIFN0cmlu
ZyBjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9u
dCYpOworICAgICAgICBzdGF0aWMgU3RyaW5nIHJpZ2h0VHJ1bmNhdGUoY29uc3QgU3RyaW5nJiwg
ZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmKTsKKyAgICAgICAgc3RhdGljIGZsb2F0IHdpZHRo
KGNvbnN0IFN0cmluZyYsIGNvbnN0IEZvbnQmKTsKICAgICB9OwogICAgIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1
bi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRS
dW4uaAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9UZXh0UnVuLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDggKzM4LDcgQEAgcHVibGljOgogICAg
ICAgICBGb3JiaWRUcmFpbGluZ0V4cGFuc2lvbgogICAgIH07CiAKLSAgICBUZXh0UnVuKGNvbnN0
IFVDaGFyKiBjLCBpbnQgbGVuLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBpbnQgeHBvcyA9IDAs
IGludCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNl
LCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSwKLSAgICAgICAgICAgICAgYm9vbCBh
cHBseVJ1blJvdW5kaW5nID0gdHJ1ZSwgYm9vbCBhcHBseVdvcmRSb3VuZGluZyA9IHRydWUpCisg
ICAgVGV4dFJ1bihjb25zdCBVQ2hhciogYywgaW50IGxlbiwgYm9vbCBhbGxvd1RhYnMgPSBmYWxz
ZSwgZmxvYXQgeHBvcyA9IDAsIGZsb2F0IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhwYW5zaW9u
QmVoYXZpb3IgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNp
b24sIGJvb2wgcnRsID0gZmFsc2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlKQog
ICAgICAgICA6IG1fY2hhcmFjdGVycyhjKQogICAgICAgICAsIG1fbGVuKGxlbikKICAgICAgICAg
LCBtX3hwb3MoeHBvcykKQEAgLTUxLDggKzUwLDYgQEAgcHVibGljOgogICAgICAgICAsIG1fYWxs
b3dUYWJzKGFsbG93VGFicykKICAgICAgICAgLCBtX3J0bChydGwpCiAgICAgICAgICwgbV9kaXJl
Y3Rpb25hbE92ZXJyaWRlKGRpcmVjdGlvbmFsT3ZlcnJpZGUpCi0gICAgICAgICwgbV9hcHBseVJ1
blJvdW5kaW5nKGFwcGx5UnVuUm91bmRpbmcpCi0gICAgICAgICwgbV9hcHBseVdvcmRSb3VuZGlu
ZyhhcHBseVdvcmRSb3VuZGluZykKICAgICAgICAgLCBtX2Rpc2FibGVTcGFjaW5nKGZhbHNlKQog
I2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2luZ1JlbmRlck9iamVj
dCgwKQpAQCAtNjEsOCArNTgsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIFRleHRS
dW4oY29uc3QgU3RyaW5nJiBzLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBpbnQgeHBvcyA9IDAs
IGludCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNl
LCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSwKLSAgICAgICAgICAgICAgYm9vbCBh
cHBseVJ1blJvdW5kaW5nID0gdHJ1ZSwgYm9vbCBhcHBseVdvcmRSb3VuZGluZyA9IHRydWUpCisg
ICAgVGV4dFJ1bihjb25zdCBTdHJpbmcmIHMsIGJvb2wgYWxsb3dUYWJzID0gZmFsc2UsIGZsb2F0
IHhwb3MgPSAwLCBmbG9hdCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9y
IHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29s
IHJ0bCA9IGZhbHNlLCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSkKICAgICAgICAg
OiBtX2NoYXJhY3RlcnMocy5jaGFyYWN0ZXJzKCkpCiAgICAgICAgICwgbV9sZW4ocy5sZW5ndGgo
KSkKICAgICAgICAgLCBtX3hwb3MoeHBvcykKQEAgLTc0LDggKzcwLDYgQEAgcHVibGljOgogICAg
ICAgICAsIG1fYWxsb3dUYWJzKGFsbG93VGFicykKICAgICAgICAgLCBtX3J0bChydGwpCiAgICAg
ICAgICwgbV9kaXJlY3Rpb25hbE92ZXJyaWRlKGRpcmVjdGlvbmFsT3ZlcnJpZGUpCi0gICAgICAg
ICwgbV9hcHBseVJ1blJvdW5kaW5nKGFwcGx5UnVuUm91bmRpbmcpCi0gICAgICAgICwgbV9hcHBs
eVdvcmRSb3VuZGluZyhhcHBseVdvcmRSb3VuZGluZykKICAgICAgICAgLCBtX2Rpc2FibGVTcGFj
aW5nKGZhbHNlKQogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2lu
Z1JlbmRlck9iamVjdCgwKQpAQCAtOTgsMTggKzkyLDE1IEBAIHB1YmxpYzoKICNlbmRpZgogCiAg
ICAgYm9vbCBhbGxvd1RhYnMoKSBjb25zdCB7IHJldHVybiBtX2FsbG93VGFiczsgfQotICAgIGlu
dCB4UG9zKCkgY29uc3QgeyByZXR1cm4gbV94cG9zOyB9Ci0gICAgaW50IGV4cGFuc2lvbigpIGNv
bnN0IHsgcmV0dXJuIG1fZXhwYW5zaW9uOyB9CisgICAgZmxvYXQgeFBvcygpIGNvbnN0IHsgcmV0
dXJuIG1feHBvczsgfQorICAgIGZsb2F0IGV4cGFuc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fZXhw
YW5zaW9uOyB9CiAgICAgYm9vbCBhbGxvd3NUcmFpbGluZ0V4cGFuc2lvbigpIGNvbnN0IHsgcmV0
dXJuIG1fdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9PSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9u
OyB9CiAgICAgYm9vbCBydGwoKSBjb25zdCB7IHJldHVybiBtX3J0bDsgfQogICAgIGJvb2wgbHRy
KCkgY29uc3QgeyByZXR1cm4gIW1fcnRsOyB9CiAgICAgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRl
KCkgY29uc3QgeyByZXR1cm4gbV9kaXJlY3Rpb25hbE92ZXJyaWRlOyB9Ci0gICAgYm9vbCBhcHBs
eVJ1blJvdW5kaW5nKCkgY29uc3QgeyByZXR1cm4gbV9hcHBseVJ1blJvdW5kaW5nOyB9Ci0gICAg
Ym9vbCBhcHBseVdvcmRSb3VuZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbHlXb3JkUm91bmRp
bmc7IH0KICAgICBib29sIHNwYWNpbmdEaXNhYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzYWJs
ZVNwYWNpbmc7IH0KIAogICAgIHZvaWQgZGlzYWJsZVNwYWNpbmcoKSB7IG1fZGlzYWJsZVNwYWNp
bmcgPSB0cnVlOyB9Ci0gICAgdm9pZCBkaXNhYmxlUm91bmRpbmdIYWNrcygpIHsgbV9hcHBseVJ1
blJvdW5kaW5nID0gbV9hcHBseVdvcmRSb3VuZGluZyA9IGZhbHNlOyB9CiAgICAgdm9pZCBzZXRS
VEwoYm9vbCBiKSB7IG1fcnRsID0gYjsgfQogICAgIHZvaWQgc2V0RGlyZWN0aW9uYWxPdmVycmlk
ZShib29sIG92ZXJyaWRlKSB7IG1fZGlyZWN0aW9uYWxPdmVycmlkZSA9IG92ZXJyaWRlOyB9CiAK
QEAgLTEyOCw4ICsxMTksOCBAQCBwcml2YXRlOgogICAgIC8vIG1feHBvcyBpcyB0aGUgeCBwb3Np
dGlvbiByZWxhdGl2ZSB0byB0aGUgbGVmdCBzdGFydCBvZiB0aGUgdGV4dCBsaW5lLCBub3QgcmVs
YXRpdmUgdG8gdGhlIGxlZnQKICAgICAvLyBzdGFydCBvZiB0aGUgY29udGFpbmluZyBibG9jay4g
SW4gdGhlIGNhc2Ugb2YgcmlnaHQgYWxpZ25tZW50IG9yIGNlbnRlciBhbGlnbm1lbnQsIGxlZnQg
c3RhcnQgb2YKICAgICAvLyB0aGUgdGV4dCBsaW5lIGlzIG5vdCB0aGUgc2FtZSBhcyBsZWZ0IHN0
YXJ0IG9mIHRoZSBjb250YWluaW5nIGJsb2NrLgotICAgIGludCBtX3hwb3M7ICAKLSAgICBpbnQg
bV9leHBhbnNpb247CisgICAgZmxvYXQgbV94cG9zOyAgCisgICAgZmxvYXQgbV9leHBhbnNpb247
CiAgICAgVHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciBtX3RyYWlsaW5nRXhwYW5zaW9uQmVoYXZp
b3I7CiAjaWYgRU5BQkxFKFNWRykKICAgICBmbG9hdCBtX2hvcml6b250YWxHbHlwaFN0cmV0Y2g7
CkBAIC0xMzcsOCArMTI4LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fYWxsb3dUYWJzOwogICAg
IGJvb2wgbV9ydGw7CiAgICAgYm9vbCBtX2RpcmVjdGlvbmFsT3ZlcnJpZGU7Ci0gICAgYm9vbCBt
X2FwcGx5UnVuUm91bmRpbmc7Ci0gICAgYm9vbCBtX2FwcGx5V29yZFJvdW5kaW5nOwogICAgIGJv
b2wgbV9kaXNhYmxlU3BhY2luZzsKIAogI2lmIEVOQUJMRShTVkdfRk9OVFMpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAko
cmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0
aEl0ZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBAQCBXaWR0aEl0ZXJh
dG9yOjpXaWR0aEl0ZXJhdG9yKGNvbnN0IEZvbnQqCiAgICAgLCBtX2N1cnJlbnRDaGFyYWN0ZXIo
MCkKICAgICAsIG1fcnVuV2lkdGhTb0ZhcigwKQogICAgICwgbV9pc0FmdGVyRXhwYW5zaW9uKHRy
dWUpCi0gICAgLCBtX2ZpbmFsUm91bmRpbmdXaWR0aCgwKQogICAgICwgbV9mYWxsYmFja0ZvbnRz
KGZhbGxiYWNrRm9udHMpCiAgICAgLCBtX2FjY291bnRGb3JHbHlwaEJvdW5kcyhhY2NvdW50Rm9y
R2x5cGhCb3VuZHMpCiAgICAgLCBtX21heEdseXBoQm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRz
PGZsb2F0Pjo6bWluKCkpCkBAIC04NiwxMSArODUsNiBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFk
dmFuY2UoaW50IG9mZnNldCwgCiAgICAgYm9vbCBydGwgPSBtX3J1bi5ydGwoKTsKICAgICBib29s
IGhhc0V4dHJhU3BhY2luZyA9IChtX2ZvbnQtPmxldHRlclNwYWNpbmcoKSB8fCBtX2ZvbnQtPndv
cmRTcGFjaW5nKCkgfHwgbV9leHBhbnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlzYWJsZWQoKTsK
IAotICAgIGZsb2F0IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSBtX3J1bldpZHRoU29GYXI7Ci0g
ICAgbV9ydW5XaWR0aFNvRmFyID0gZmxvb3JmKG1fcnVuV2lkdGhTb0Zhcik7Ci0gICAgd2lkdGhT
aW5jZUxhc3RSb3VuZGluZyAtPSBtX3J1bldpZHRoU29GYXI7Ci0KLSAgICBmbG9hdCBsYXN0Um91
bmRpbmdXaWR0aCA9IG1fZmluYWxSb3VuZGluZ1dpZHRoOwogICAgIEZsb2F0UmVjdCBib3VuZHM7
CiAKICAgICBjb25zdCBTaW1wbGVGb250RGF0YSogcHJpbWFyeUZvbnQgPSBtX2ZvbnQtPnByaW1h
cnlGb250KCk7CkBAIC0xMzYsNyArMTMwLDcgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNl
KGludCBvZmZzZXQsIAogICAgICAgICBmbG9hdCB3aWR0aDsKICAgICAgICAgaWYgKGMgPT0gJ1x0
JyAmJiBtX3J1bi5hbGxvd1RhYnMoKSkgewogICAgICAgICAgICAgZmxvYXQgdGFiV2lkdGggPSBt
X2ZvbnQtPnRhYldpZHRoKCpmb250RGF0YSk7Ci0gICAgICAgICAgICB3aWR0aCA9IHRhYldpZHRo
IC0gZm1vZGYobV9ydW4ueFBvcygpICsgbV9ydW5XaWR0aFNvRmFyICsgd2lkdGhTaW5jZUxhc3RS
b3VuZGluZywgdGFiV2lkdGgpOworICAgICAgICAgICAgd2lkdGggPSB0YWJXaWR0aCAtIGZtb2Rm
KG1fcnVuLnhQb3MoKSArIG1fcnVuV2lkdGhTb0ZhciwgdGFiV2lkdGgpOwogICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgd2lkdGggPSBmb250RGF0YS0+d2lkdGhGb3JHbHlwaChnbHlwaCk7
CiAKQEAgLTE0NCwxMyArMTM4LDYgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBv
ZmZzZXQsIAogICAgICAgICAgICAgLy8gU1ZHIHVzZXMgaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgp
LCB3aGVuIHRleHRMZW5ndGggaXMgdXNlZCB0byBzdHJldGNoL3NxdWVlemUgdGV4dC4KICAgICAg
ICAgICAgIHdpZHRoICo9IG1fcnVuLmhvcml6b250YWxHbHlwaFN0cmV0Y2goKTsKICNlbmRpZgot
Ci0gICAgICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlzIHdoZW4g
YXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAgICAgIC8vIEZpcnN0LCB3ZSByb3VuZCBz
cGFjZXMgdG8gYW4gYWRqdXN0ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAgICAgLy8g
U2Vjb25kLCBpbiBmaXhlZC1waXRjaCBmb250cyB3ZSBlbnN1cmUgdGhhdCBhbGwgY2hhcmFjdGVy
cyB0aGF0Ci0gICAgICAgICAgICAvLyBtYXRjaCB0aGUgd2lkdGggb2YgdGhlIHNwYWNlIGNoYXJh
Y3RlciBoYXZlIHRoZSBzYW1lIHdpZHRoIGFzIHRoZSBzcGFjZSBjaGFyYWN0ZXIuCi0gICAgICAg
ICAgICBpZiAod2lkdGggPT0gZm9udERhdGEtPnNwYWNlV2lkdGgoKSAmJiAoZm9udERhdGEtPnBp
dGNoKCkgPT0gRml4ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgpKSAm
JiBtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpKQotICAgICAgICAgICAgICAgIHdpZHRoID0gZm9u
dERhdGEtPmFkanVzdGVkU3BhY2VXaWR0aCgpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGZv
bnREYXRhICE9IGxhc3RGb250RGF0YSAmJiB3aWR0aCkgewpAQCAtMTgzLDE0ICsxNzAsMTQgQEAg
dm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQsIAogICAgICAgICAgICAgICAg
ICAgICBpZiAoIXRyZWF0QXNTcGFjZSAmJiAhbV9pc0FmdGVyRXhwYW5zaW9uKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBUYWtlIHRoZSBleHBhbnNpb24gb3Bwb3J0dW5pdHkgYmVmb3Jl
IHRoaXMgaWRlb2dyYXBoLgogICAgICAgICAgICAgICAgICAgICAgICAgbV9leHBhbnNpb24gLT0g
bV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCBl
eHBhbnNpb24gPSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRmKG1fZXhwYW5zaW9u
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0IGV4cGFuc2lvbiA9IHByZXZpb3VzRXhw
YW5zaW9uIC0gbV9leHBhbnNpb247CiAgICAgICAgICAgICAgICAgICAgICAgICBtX3J1bldpZHRo
U29GYXIgKz0gZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdseXBoQnVm
ZmVyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLT5leHBhbmRMYXN0
QWR2YW5jZShleHBhbnNpb24pOwogICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNFeHBh
bnNpb24gPSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAg
ICAgICAgICAgICAgICB3aWR0aCArPSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRm
KG1fZXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAgICAgICAgd2lkdGggKz0gcHJldmlvdXNFeHBh
bnNpb24gLSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5z
aW9uID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAg
bV9pc0FmdGVyRXhwYW5zaW9uID0gZmFsc2U7CkBAIC0yMTYsNDMgKzIwMywxMCBAQCB2b2lkIFdp
ZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9mZnNldCwgCiAgICAgICAgIGNwICs9IGNsdXN0ZXJM
ZW5ndGg7CiAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXIgKz0gY2x1c3Rlckxlbmd0aDsKIAotICAg
ICAgICAvLyBBY2NvdW50IGZvciBmbG9hdC9pbnRlZ2VyIGltcGVkYW5jZSBtaXNtYXRjaCBiZXR3
ZWVuIENHIGFuZCBLSFRNTC4gIldvcmRzIiAoY2hhcmFjdGVycyAKLSAgICAgICAgLy8gZm9sbG93
ZWQgYnkgYSBjaGFyYWN0ZXIgZGVmaW5lZCBieSBpc1JvdW5kaW5nSGFja0NoYXJhY3RlcigpKSBh
cmUgYWx3YXlzIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgIC8vIFdlIGFkanVzdCB0aGUgd2lk
dGggb2YgdGhlIGxhc3QgY2hhcmFjdGVyIG9mIGEgIndvcmQiIHRvIGVuc3VyZSBhbiBpbnRlZ2Vy
IHdpZHRoLgotICAgICAgICAvLyBJZiB3ZSBtb3ZlIEtIVE1MIHRvIGZsb2F0cyB3ZSBjYW4gcmVt
b3ZlIHRoaXMgKGFuZCByZWxhdGVkKSBoYWNrcy4KLQotICAgICAgICBmbG9hdCBvbGRXaWR0aCA9
IHdpZHRoOwotCi0gICAgICAgIC8vIEZvcmNlIGNoYXJhY3RlcnMgdGhhdCBhcmUgdXNlZCB0byBk
ZXRlcm1pbmUgd29yZCBib3VuZGFyaWVzIGZvciB0aGUgcm91bmRpbmcgaGFjawotICAgICAgICAv
LyB0byBiZSBpbnRlZ2VyIHdpZHRoLCBzbyBmb2xsb3dpbmcgd29yZHMgd2lsbCBzdGFydCBvbiBh
biBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICBpZiAobV9ydW4uYXBwbHlXb3JkUm91bmRpbmco
KSAmJiBGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcihjKSkgewotICAgICAgICAgICAgd2lk
dGggPSBjZWlsZih3aWR0aCk7Ci0KLSAgICAgICAgICAgIC8vIFNpbmNlIHdpZHRoU2luY2VMYXN0
Um91bmRpbmcgY2FuIGxvc2UgcHJlY2lzaW9uIGlmIHdlIGluY2x1ZGUgbWVhc3VyZW1lbnRzIGZv
cgotICAgICAgICAgICAgLy8gcHJlY2VkaW5nIHdoaXRlc3BhY2UsIHdlIGJ5cGFzcyBpdCBoZXJl
LgotICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoOwotCi0gICAgICAgICAgICAv
LyBTaW5jZSB0aGlzIGlzIGEgcm91bmRpbmcgaGFjayBjaGFyYWN0ZXIsIHdlIHNob3VsZCBoYXZl
IHJlc2V0IHRoaXMgc3VtIG9uIHRoZSBwcmV2aW91cwotICAgICAgICAgICAgLy8gaXRlcmF0aW9u
LgotICAgICAgICAgICAgQVNTRVJUKCF3aWR0aFNpbmNlTGFzdFJvdW5kaW5nKTsKLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgbmV4dCBjaGFyYWN0
ZXIgaXMgYSAicm91bmRpbmcgaGFjayBjaGFyYWN0ZXIiLCBpZiBzbywgYWRqdXN0Ci0gICAgICAg
ICAgICAvLyB3aWR0aCBzbyB0aGF0IHRoZSB0b3RhbCBydW4gd2lkdGggd2lsbCBiZSBvbiBhbiBp
bnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICAgICAgaWYgKChtX3J1bi5hcHBseVdvcmRSb3VuZGlu
ZygpICYmIGN1cnJlbnRDaGFyYWN0ZXIgPCBtX3J1bi5sZW5ndGgoKSAmJiBGb250Ojppc1JvdW5k
aW5nSGFja0NoYXJhY3RlcigqY3ApKQotICAgICAgICAgICAgICAgICAgICB8fCAobV9ydW4uYXBw
bHlSdW5Sb3VuZGluZygpICYmIGN1cnJlbnRDaGFyYWN0ZXIgPj0gbV9lbmQpKSB7Ci0gICAgICAg
ICAgICAgICAgZmxvYXQgdG90YWxXaWR0aCA9IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgKyB3aWR0
aDsKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gY2VpbGYodG90YWxX
aWR0aCk7Ci0gICAgICAgICAgICAgICAgd2lkdGggKz0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyAt
IHRvdGFsV2lkdGg7Ci0gICAgICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoU2lu
Y2VMYXN0Um91bmRpbmc7Ci0gICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9
IDA7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJv
dW5kaW5nICs9IHdpZHRoOwotICAgICAgICB9CisgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3
aWR0aDsKIAogICAgICAgICBpZiAoZ2x5cGhCdWZmZXIpCi0gICAgICAgICAgICBnbHlwaEJ1ZmZl
ci0+YWRkKGdseXBoLCBmb250RGF0YSwgKHJ0bCA/IG9sZFdpZHRoICsgbGFzdFJvdW5kaW5nV2lk
dGggOiB3aWR0aCkpOwotCi0gICAgICAgIGxhc3RSb3VuZGluZ1dpZHRoID0gd2lkdGggLSBvbGRX
aWR0aDsKKyAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQoZ2x5cGgsIGZvbnREYXRhLCB3aWR0
aCk7CiAKICAgICAgICAgaWYgKG1fYWNjb3VudEZvckdseXBoQm91bmRzKSB7CiAgICAgICAgICAg
ICBtX21heEdseXBoQm91bmRpbmdCb3hZID0gbWF4KG1fbWF4R2x5cGhCb3VuZGluZ0JveFksIGJv
dW5kcy5tYXhZKCkpOwpAQCAtMjYyLDggKzIxNiw2IEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2
YW5jZShpbnQgb2Zmc2V0LCAKICAgICB9CiAKICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBjdXJy
ZW50Q2hhcmFjdGVyOwotICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3aWR0aFNpbmNlTGFzdFJvdW5k
aW5nOwotICAgIG1fZmluYWxSb3VuZGluZ1dpZHRoID0gbGFzdFJvdW5kaW5nV2lkdGg7CiB9CiAK
IGJvb2wgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZU9uZUNoYXJhY3RlcihmbG9hdCYgd2lkdGgsIEds
eXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1dpZHRoSXRlcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCSh3b3JraW5nIGNvcHkp
CkBAIC01Myw3ICs1Myw2IEBAIHN0cnVjdCBXaWR0aEl0ZXJhdG9yIHsKICAgICBmbG9hdCBtX2V4
cGFuc2lvbjsKICAgICBmbG9hdCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwogICAgIGJvb2wg
bV9pc0FmdGVyRXhwYW5zaW9uOwotICAgIGZsb2F0IG1fZmluYWxSb3VuZGluZ1dpZHRoOwogCiBw
cml2YXRlOgogICAgIFVDaGFyMzIgbm9ybWFsaXplVm9pY2luZ01hcmtzKGludCBjdXJyZW50Q2hh
cmFjdGVyKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dy
YXBoaWNzQ29udGV4dENhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAJKHJldmlzaW9uIDc4
NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3ND
b250ZXh0Q2Fpcm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MDEsMjAgKzcwMSwyMiBAQCB2b2lk
IEdyYXBoaWNzQ29udGV4dDo6ZHJhd0ZvY3VzUmluZyhjb25zCiAgICAgY2Fpcm9fcmVzdG9yZShj
cik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgSW50
UG9pbnQmIG9yaWdpbiwgaW50IHdpZHRoLCBib29sIHByaW50aW5nKQordm9pZCBHcmFwaGljc0Nv
bnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjb25zdCBGbG9hdFBvaW50JiBvcmlnaW4sIGZsb2F0IHdp
ZHRoLCBib29sIHByaW50aW5nKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIEludFBvaW50IGVuZFBvaW50ID0gb3JpZ2luICsgSW50U2l6ZSh3
aWR0aCwgMCk7Ci0gICAgZHJhd0xpbmUob3JpZ2luLCBlbmRQb2ludCk7CisgICAgRmxvYXRQb2lu
dCBlbmRQb2ludCA9IG9yaWdpbiArIEZsb2F0U2l6ZSh3aWR0aCwgMCk7CisgICAgCisgICAgLy8g
RklYTUU6IExvc3Mgb2YgcHJlY2lzaW9uIGhlcmUuIE1pZ2h0IGNvbnNpZGVyIHJvdW5kaW5nLgor
ICAgIGRyYXdMaW5lKEludFBvaW50KG9yaWdpbi54KCksIG9yaWdpbi55KCkpLCBJbnRQb2ludChl
bmRQb2ludC54KCksIGVuZFBvaW50LnkoKSkpOwogfQogCiAjaWYgIVBMQVRGT1JNKEdUSykKICNp
bmNsdWRlICJEcmF3RXJyb3JVbmRlcmxpbmUuaCIKICNlbmRpZgogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmIG9yaWdpbiwgaW50
IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCit2b2lkIEdyYXBoaWNzQ29udGV4
dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luLCBmbG9h
dCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQogewogICAgIGlmIChwYWludGlu
Z0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAJKHJl
dmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3Jh
cGhpY3NDb250ZXh0Q0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMwLDcgKzExMzAsNyBAQCBG
bG9hdFJlY3QgR3JhcGhpY3NDb250ZXh0Ojpyb3VuZFRvRGV2aWNlCiAgICAgcmV0dXJuIEZsb2F0
UmVjdChyb3VuZGVkT3JpZ2luLCByb3VuZGVkTG93ZXJSaWdodCAtIHJvdW5kZWRPcmlnaW4pOwog
fQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEludFBvaW50
JiBwb2ludCwgaW50IHdpZHRoLCBib29sIHByaW50aW5nKQordm9pZCBHcmFwaGljc0NvbnRleHQ6
OmRyYXdMaW5lRm9yVGV4dChjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgZmxvYXQgd2lkdGgsIGJv
b2wgcHJpbnRpbmcpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0
dXJuOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhU
ZXh0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDc4NDg0KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJv
bGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDEzICs0OSw2IEBAIHN0YXRpYyBpbmxpbmUg
Q0dGbG9hdCByb3VuZENHRmxvYXQoQ0dGbG8KICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q0dGbG9h
dD4ocm91bmQoZikpOwogfQogCi1zdGF0aWMgaW5saW5lIENHRmxvYXQgY2VpbENHRmxvYXQoQ0dG
bG9hdCBmKQotewotICAgIGlmIChzaXplb2YoQ0dGbG9hdCkgPT0gc2l6ZW9mKGZsb2F0KSkKLSAg
ICAgICAgcmV0dXJuIGNlaWxmKHN0YXRpY19jYXN0PGZsb2F0PihmKSk7Ci0gICAgcmV0dXJuIHN0
YXRpY19jYXN0PENHRmxvYXQ+KGNlaWwoZikpOwotfQotCiBDb21wbGV4VGV4dENvbnRyb2xsZXI6
OkNvbXBsZXhUZXh0Q29udHJvbGxlcihjb25zdCBGb250KiBmb250LCBjb25zdCBUZXh0UnVuJiBy
dW4sIGJvb2wgbWF5VXNlTmF0dXJhbFdyaXRpbmdEaXJlY3Rpb24sIEhhc2hTZXQ8Y29uc3QgU2lt
cGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgYm9vbCBmb3JUZXh0RW1waGFzaXMpCiAgICAg
OiBtX2ZvbnQoKmZvbnQpCiAgICAgLCBtX3J1bihydW4pCkBAIC02OSw3ICs2Miw2IEBAIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6Q29tcGxleFRleHRDb250cm8KICAgICAsIG1fY3VycmVudFJ1bigw
KQogICAgICwgbV9nbHlwaEluQ3VycmVudFJ1bigwKQogICAgICwgbV9jaGFyYWN0ZXJJbkN1cnJl
bnRHbHlwaCgwKQotICAgICwgbV9maW5hbFJvdW5kaW5nV2lkdGgoMCkKICAgICAsIG1fZXhwYW5z
aW9uKHJ1bi5leHBhbnNpb24oKSkKICAgICAsIG1fYWZ0ZXJFeHBhbnNpb24odHJ1ZSkKICAgICAs
IG1fZmFsbGJhY2tGb250cyhmYWxsYmFja0ZvbnRzKQpAQCAtNzcsNyArNjksNiBAQCBDb21wbGV4
VGV4dENvbnRyb2xsZXI6OkNvbXBsZXhUZXh0Q29udHJvCiAgICAgLCBtX21heEdseXBoQm91bmRp
bmdCb3hYKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWluKCkpCiAgICAgLCBtX21pbkdseXBoQm91
bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWF4KCkpCiAgICAgLCBtX21heEdseXBo
Qm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWluKCkpCi0gICAgLCBtX2xhc3RS
b3VuZGluZ0dseXBoKDApCiB7CiAgICAgaWYgKCFtX2V4cGFuc2lvbikKICAgICAgICAgbV9leHBh
bnNpb25QZXJPcHBvcnR1bml0eSA9IDA7CkBAIC00MTMsMTMgKzQwNCwxMSBAQCB2b2lkIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6YWR2YW5jZSh1bnNpCiAgICAgICAgIG1fY3VycmVudFJ1bisrOwog
ICAgICAgICBtX2dseXBoSW5DdXJyZW50UnVuID0gMDsKICAgICB9Ci0gICAgaWYgKCFsdHIgJiYg
bV9udW1HbHlwaHNTb0ZhciA9PSBtX2FkanVzdGVkQWR2YW5jZXMuc2l6ZSgpKQotICAgICAgICBt
X3J1bldpZHRoU29GYXIgKz0gbV9maW5hbFJvdW5kaW5nV2lkdGg7CiB9CiAKIHZvaWQgQ29tcGxl
eFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygpCiB7Ci0gICAgQ0dGbG9h
dCB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gMDsKKyAgICBDR0Zsb2F0IHdpZHRoU2luY2VMYXN0
Q29tbWl0ID0gMDsKICAgICBzaXplX3QgcnVuQ291bnQgPSBtX2NvbXBsZXhUZXh0UnVucy5zaXpl
KCk7CiAgICAgYm9vbCBoYXNFeHRyYVNwYWNpbmcgPSAobV9mb250LmxldHRlclNwYWNpbmcoKSB8
fCBtX2ZvbnQud29yZFNwYWNpbmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNpbmdE
aXNhYmxlZCgpOwogICAgIGZvciAoc2l6ZV90IHIgPSAwOyByIDwgcnVuQ291bnQ7ICsrcikgewpA
QCAtNDMxLDkgKzQyMCw4IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlw
aHMKICAgICAgICAgY29uc3QgQ0dTaXplKiBhZHZhbmNlcyA9IGNvbXBsZXhUZXh0UnVuLmFkdmFu
Y2VzKCk7CiAKICAgICAgICAgYm9vbCBsYXN0UnVuID0gciArIDEgPT0gcnVuQ291bnQ7Ci0gICAg
ICAgIGNvbnN0IFVDaGFyKiBjcCA9IGNvbXBsZXhUZXh0UnVuLmNoYXJhY3RlcnMoKTsKLSAgICAg
ICAgQ0dGbG9hdCByb3VuZGVkU3BhY2VXaWR0aCA9IHJvdW5kQ0dGbG9hdChmb250RGF0YS0+c3Bh
Y2VXaWR0aCgpKTsKICAgICAgICAgYm9vbCByb3VuZHNBZHZhbmNlcyA9ICFtX2ZvbnQuaXNQcmlu
dGVyRm9udCgpICYmIGZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5yb3VuZHNHbHlwaEFkdmFuY2Vz
KCk7CisgICAgICAgIGNvbnN0IFVDaGFyKiBjcCA9IGNvbXBsZXhUZXh0UnVuLmNoYXJhY3RlcnMo
KTsKICAgICAgICAgQ0dQb2ludCBnbHlwaE9yaWdpbiA9IENHUG9pbnRaZXJvOwogICAgICAgICBD
RkluZGV4IGxhc3RDaGFyYWN0ZXJJbmRleCA9IG1fcnVuLmx0cigpID8gbnVtZXJpY19saW1pdHM8
Q0ZJbmRleD46Om1pbigpIDogbnVtZXJpY19saW1pdHM8Q0ZJbmRleD46Om1heCgpOwogICAgICAg
ICBib29sIGlzTW9ub3RvbmljID0gdHJ1ZTsKQEAgLTQ2Myw3ICs0NTEsNyBAQCB2b2lkIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAKICAgICAgICAgICAgIGlmIChjaCA9PSAn
XHQnICYmIG1fcnVuLmFsbG93VGFicygpKSB7CiAgICAgICAgICAgICAgICAgZmxvYXQgdGFiV2lk
dGggPSBtX2ZvbnQudGFiV2lkdGgoKmZvbnREYXRhKTsKLSAgICAgICAgICAgICAgICBhZHZhbmNl
LndpZHRoID0gdGFiV2lkdGggLSBmbW9kZihtX3J1bi54UG9zKCkgKyBtX3RvdGFsV2lkdGggKyB3
aWR0aFNpbmNlTGFzdFJvdW5kaW5nLCB0YWJXaWR0aCk7CisgICAgICAgICAgICAgICAgYWR2YW5j
ZS53aWR0aCA9IHRhYldpZHRoIC0gZm1vZGYobV9ydW4ueFBvcygpICsgbV90b3RhbFdpZHRoICsg
d2lkdGhTaW5jZUxhc3RDb21taXQsIHRhYldpZHRoKTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAo
Y2ggPT0gemVyb1dpZHRoU3BhY2UgfHwgKEZvbnQ6OnRyZWF0QXNaZXJvV2lkdGhTcGFjZShjaCkg
JiYgIXRyZWF0QXNTcGFjZSkpIHsKICAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoID0gMDsK
ICAgICAgICAgICAgICAgICBnbHlwaCA9IGZvbnREYXRhLT5zcGFjZUdseXBoKCk7CkBAIC00NzUs
MTMgKzQ2Myw2IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHMKIAog
ICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSBmb250RGF0YS0+c3ludGhldGljQm9sZE9mZnNl
dCgpOwogCi0gICAgICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlz
IHdoZW4gYXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAgICAgIC8vIEZpcnN0LCB3ZSBy
b3VuZCBzcGFjZXMgdG8gYW4gYWRqdXN0ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAg
ICAgLy8gU2Vjb25kLCBpbiBmaXhlZC1waXRjaCBmb250cyB3ZSBlbnN1cmUgdGhhdCBhbGwgZ2x5
cGhzIHRoYXQKLSAgICAgICAgICAgIC8vIG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgc3BhY2UgZ2x5
cGggaGF2ZSB0aGUgc2FtZSB3aWR0aCBhcyB0aGUgc3BhY2UgZ2x5cGguCi0gICAgICAgICAgICBp
ZiAocm91bmRlZEFkdmFuY2VXaWR0aCA9PSByb3VuZGVkU3BhY2VXaWR0aCAmJiAoZm9udERhdGEt
PnBpdGNoKCkgPT0gRml4ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgp
KSAmJiBtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpKQotICAgICAgICAgICAgICAgIGFkdmFuY2Uu
d2lkdGggPSBmb250RGF0YS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCk7Ci0KICAgICAgICAgICAgIGlm
IChoYXNFeHRyYVNwYWNpbmcpIHsKICAgICAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBhIGdseXBo
IHdpdGggYW4gYWR2YW5jZSwgZ28gYWhlYWQgYW5kIGFkZCBpbiBsZXR0ZXItc3BhY2luZy4KICAg
ICAgICAgICAgICAgICAvLyBUaGF0IHdheSB3ZSB3ZWVkIG91dCB6ZXJvIHdpZHRoIGx1cmtlcnMu
ICBUaGlzIGJlaGF2aW9yIG1hdGNoZXMgdGhlIGZhc3QgdGV4dCBjb2RlIHBhdGguCkBAIC00OTYs
MTMgKzQ3NywxMyBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRyZWF0QXNTcGFjZSAmJiAhbV9hZnRlckV4cGFu
c2lvbikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRha2UgdGhlIGV4cGFuc2lv
biBvcHBvcnR1bml0eSBiZWZvcmUgdGhpcyBpZGVvZ3JhcGguCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbV9leHBhbnNpb24gLT0gbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZXhwYW5zaW9uID0gcm91bmRmKHByZXZpb3VzRXhw
YW5zaW9uKSAtIHJvdW5kZihtX2V4cGFuc2lvbik7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmxvYXQgZXhwYW5zaW9uID0gcHJldmlvdXNFeHBhbnNpb24gLSBtX2V4cGFuc2lvbjsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtX3RvdGFsV2lkdGggKz0gZXhwYW5zaW9uOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fYWRqdXN0ZWRBZHZhbmNlcy5sYXN0KCkud2lkdGgg
Kz0gZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzRXhwYW5z
aW9uID0gbV9leHBhbnNpb247CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5Owot
ICAgICAgICAgICAgICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSByb3VuZGYocHJldmlvdXNF
eHBhbnNpb24pIC0gcm91bmRmKG1fZXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGFkdmFuY2Uud2lkdGggKz0gcHJldmlvdXNFeHBhbnNpb24gLSBtX2V4cGFuc2lvbjsKICAgICAg
ICAgICAgICAgICAgICAgICAgIG1fYWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwogICAgICAgICAgICAg
ICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgIG1fYWZ0ZXJFeHBhbnNpb24g
PSBmYWxzZTsKQEAgLTUxNCwzMyArNDk1LDcgQEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6
OmFkanVzdEdseXBocwogICAgICAgICAgICAgICAgICAgICBtX2FmdGVyRXhwYW5zaW9uID0gZmFs
c2U7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIC8vIERlYWwgd2l0aCB0aGUgZmxvYXQv
aW50ZWdlciBpbXBlZGFuY2UgbWlzbWF0Y2ggYmV0d2VlbiBDRyBhbmQgV2ViQ29yZS4gIldvcmRz
IiAoY2hhcmFjdGVycyAKLSAgICAgICAgICAgIC8vIGZvbGxvd2VkIGJ5IGEgY2hhcmFjdGVyIGRl
ZmluZWQgYnkgaXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoKSkgYXJlIGFsd2F5cyBhbiBpbnRlZ2Vy
IHdpZHRoLgotICAgICAgICAgICAgLy8gV2UgYWRqdXN0IHRoZSB3aWR0aCBvZiB0aGUgbGFzdCBj
aGFyYWN0ZXIgb2YgYSAid29yZCIgdG8gZW5zdXJlIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAg
ICAgICAvLyBGb3JjZSBjaGFyYWN0ZXJzIHRoYXQgYXJlIHVzZWQgdG8gZGV0ZXJtaW5lIHdvcmQg
Ym91bmRhcmllcyBmb3IgdGhlIHJvdW5kaW5nIGhhY2sKLSAgICAgICAgICAgIC8vIHRvIGJlIGlu
dGVnZXIgd2lkdGgsIHNvIHRoZSBmb2xsb3dpbmcgd29yZHMgd2lsbCBzdGFydCBvbiBhbiBpbnRl
Z2VyIGJvdW5kYXJ5LgotICAgICAgICAgICAgaWYgKG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkg
JiYgRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoY2gpKQotICAgICAgICAgICAgICAgIGFk
dmFuY2Uud2lkdGggPSBjZWlsQ0dGbG9hdChhZHZhbmNlLndpZHRoKTsKLQotICAgICAgICAgICAg
Ly8gQ2hlY2sgdG8gc2VlIGlmIHRoZSBuZXh0IGNoYXJhY3RlciBpcyBhICJyb3VuZGluZyBoYWNr
IGNoYXJhY3RlciIsIGlmIHNvLCBhZGp1c3QgdGhlCi0gICAgICAgICAgICAvLyB3aWR0aCBzbyB0
aGF0IHRoZSB0b3RhbCBydW4gd2lkdGggd2lsbCBiZSBvbiBhbiBpbnRlZ2VyIGJvdW5kYXJ5Lgot
ICAgICAgICAgICAgaWYgKChtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpICYmICFsYXN0R2x5cGgg
JiYgRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIobmV4dENoKSkgfHwgKG1fcnVuLmFwcGx5
UnVuUm91bmRpbmcoKSAmJiBsYXN0R2x5cGgpKSB7Ci0gICAgICAgICAgICAgICAgQ0dGbG9hdCB0
b3RhbFdpZHRoID0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyArIGFkdmFuY2Uud2lkdGg7Ci0gICAg
ICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9IGNlaWxDR0Zsb2F0KHRvdGFsV2lk
dGgpOwotICAgICAgICAgICAgICAgIENHRmxvYXQgZXh0cmFXaWR0aCA9IHdpZHRoU2luY2VMYXN0
Um91bmRpbmcgLSB0b3RhbFdpZHRoOwotICAgICAgICAgICAgICAgIGlmIChtX3J1bi5sdHIoKSkK
LSAgICAgICAgICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSBleHRyYVdpZHRoOwotICAgICAg
ICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZiAobV9sYXN0Um91bmRpbmdH
bHlwaCkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fYWRqdXN0ZWRBZHZhbmNlc1ttX2xhc3RS
b3VuZGluZ0dseXBoIC0gMV0ud2lkdGggKz0gZXh0cmFXaWR0aDsKLSAgICAgICAgICAgICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgbV9maW5hbFJvdW5kaW5nV2lkdGggPSBl
eHRyYVdpZHRoOwotICAgICAgICAgICAgICAgICAgICBtX2xhc3RSb3VuZGluZ0dseXBoID0gbV9h
ZGp1c3RlZEFkdmFuY2VzLnNpemUoKSArIDE7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIG1fdG90YWxXaWR0aCArPSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nOwotICAgICAgICAg
ICAgICAgIHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSAwOwotICAgICAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyArPSBhZHZhbmNlLndpZHRoOwor
ICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RDb21taXQgKz0gYWR2YW5jZS53aWR0aDsKIAogICAg
ICAgICAgICAgLy8gRklYTUU6IENvbWJpbmluZyBtYXJrcyBzaG91bGQgcmVjZWl2ZSBhIHRleHQg
ZW1waGFzaXMgbWFyayBpZiB0aGV5IGFyZSBjb21iaW5lIHdpdGggYSBzcGFjZS4KICAgICAgICAg
ICAgIGlmIChtX2ZvclRleHRFbXBoYXNpcyAmJiAoIUZvbnQ6OmNhblJlY2VpdmVUZXh0RW1waGFz
aXMoY2gpIHx8IChVX0dFVF9HQ19NQVNLKGNoKSAmIFVfR0NfTV9NQVNLKSkpCkBAIC01NjQsNyAr
NTE5LDcgQEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBocwogICAgICAg
ICBpZiAoIWlzTW9ub3RvbmljKQogICAgICAgICAgICAgY29tcGxleFRleHRSdW4uc2V0SXNOb25N
b25vdG9uaWMoKTsKICAgICB9Ci0gICAgbV90b3RhbFdpZHRoICs9IHdpZHRoU2luY2VMYXN0Um91
bmRpbmc7CisgICAgbV90b3RhbFdpZHRoICs9IHdpZHRoU2luY2VMYXN0Q29tbWl0OwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5oCShyZXZp
c2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21w
bGV4VGV4dENvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsOSArNjAsNiBAQCBwdWJs
aWM6CiAKICAgICBmbG9hdCB0b3RhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV90b3RhbFdpZHRo
OyB9CiAKLSAgICAvLyBFeHRyYSB3aWR0aCB0byB0aGUgbGVmdCBvZiB0aGUgbGVmdG1vc3QgZ2x5
cGguCi0gICAgZmxvYXQgZmluYWxSb3VuZGluZ1dpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9maW5h
bFJvdW5kaW5nV2lkdGg7IH0KLQogICAgIGZsb2F0IG1pbkdseXBoQm91bmRpbmdCb3hYKCkgY29u
c3QgeyByZXR1cm4gbV9taW5HbHlwaEJvdW5kaW5nQm94WDsgfQogICAgIGZsb2F0IG1heEdseXBo
Qm91bmRpbmdCb3hYKCkgY29uc3QgeyByZXR1cm4gbV9tYXhHbHlwaEJvdW5kaW5nQm94WDsgfQog
ICAgIGZsb2F0IG1pbkdseXBoQm91bmRpbmdCb3hZKCkgY29uc3QgeyByZXR1cm4gbV9taW5HbHlw
aEJvdW5kaW5nQm94WTsgfQpAQCAtMTc2LDcgKzE3Myw2IEBAIHByaXZhdGU6CiAgICAgc2l6ZV90
IG1fY3VycmVudFJ1bjsKICAgICB1bnNpZ25lZCBtX2dseXBoSW5DdXJyZW50UnVuOwogICAgIHVu
c2lnbmVkIG1fY2hhcmFjdGVySW5DdXJyZW50R2x5cGg7Ci0gICAgZmxvYXQgbV9maW5hbFJvdW5k
aW5nV2lkdGg7CiAgICAgZmxvYXQgbV9leHBhbnNpb247CiAgICAgZmxvYXQgbV9leHBhbnNpb25Q
ZXJPcHBvcnR1bml0eTsKICAgICBib29sIG1fYWZ0ZXJFeHBhbnNpb247CkBAIC0xODcsOCArMTgz
LDYgQEAgcHJpdmF0ZToKICAgICBmbG9hdCBtX21heEdseXBoQm91bmRpbmdCb3hYOwogICAgIGZs
b2F0IG1fbWluR2x5cGhCb3VuZGluZ0JveFk7CiAgICAgZmxvYXQgbV9tYXhHbHlwaEJvdW5kaW5n
Qm94WTsKLSAgICAKLSAgICB1bnNpZ25lZCBtX2xhc3RSb3VuZGluZ0dseXBoOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5jcHAJKHJldmlzaW9u
IDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21w
bGV4VGV4dE1hYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxLDcgKzcxLDcgQEAgZmxvYXQgRm9u
dDo6Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JDb21wbAogICAgIGZsb2F0IGFmdGVyV2lkdGggPSBj
b250cm9sbGVyLnJ1bldpZHRoU29GYXIoKTsKIAogICAgIGlmIChydW4ucnRsKCkpIHsKLSAgICAg
ICAgaW5pdGlhbEFkdmFuY2UgPSBjb250cm9sbGVyLnRvdGFsV2lkdGgoKSArIGNvbnRyb2xsZXIu
ZmluYWxSb3VuZGluZ1dpZHRoKCkgLSBhZnRlcldpZHRoOworICAgICAgICBpbml0aWFsQWR2YW5j
ZSA9IGNvbnRyb2xsZXIudG90YWxXaWR0aCgpIC0gYWZ0ZXJXaWR0aDsKICAgICAgICAgZm9yIChp
bnQgaSA9IDAsIGVuZCA9IGdseXBoQnVmZmVyLnNpemUoKSAtIDE7IGkgPCBnbHlwaEJ1ZmZlci5z
aXplKCkgLyAyOyArK2ksIC0tZW5kKQogICAgICAgICAgICAgZ2x5cGhCdWZmZXIuc3dhcChpLCBl
bmQpOwogICAgIH0gZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0dyYXBoaWNzQ29udGV4dE1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0TWFjLm1tCShyZXZpc2lvbiA3ODQ4
NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRl
eHRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTExMiwxNCArMTEyLDE0IEBAIHN0YXRpYyBOU0Nv
bG9yKiBjcmVhdGVQYXR0ZXJuQ29sb3IoTlNTdHIKIH0KIAogLy8gV2ViS2l0IG9uIE1hYyBpcyBh
IHN0YW5kYXJkIHBsYXRmb3JtIGNvbXBvbmVudCwgc28gaXQgbXVzdCB1c2UgdGhlIHN0YW5kYXJk
IHBsYXRmb3JtIGFydHdvcmsgZm9yIHVuZGVybGluZS4KLXZvaWQgR3JhcGhpY3NDb250ZXh0Ojpk
cmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYgcG9pbnQsIGludCB3aWR0aCwg
VGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdM
aW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBmbG9hdCB3aWR0aCwg
VGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVk
KCkpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgLy8gVGhlc2UgYXJlIHRoZSBzYW1l
IGZvciBtaXNzcGVsbGluZyBvciBiYWQgZ3JhbW1hci4KICAgICBpbnQgcGF0dGVybkhlaWdodCA9
IGNNaXNzcGVsbGluZ0xpbmVUaGlja25lc3M7Ci0gICAgaW50IHBhdHRlcm5XaWR0aCA9IGNNaXNz
cGVsbGluZ0xpbmVQYXR0ZXJuV2lkdGg7CisgICAgZmxvYXQgcGF0dGVybldpZHRoID0gY01pc3Nw
ZWxsaW5nTGluZVBhdHRlcm5XaWR0aDsKIAogICAgIGJvb2wgdXNpbmdEb3Q7CiAgICAgTlNDb2xv
ciAqcGF0dGVybkNvbG9yOwpAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
OjpkcmF3TGluZUZvclRleHRDaGUKICAgICAvLyBzcGFjZSBiZXR3ZWVuIGFkamFjZW50IG1pc3Nw
ZWxsZWQgd29yZHMgd2FzIHVuZGVybGluZWQuCiAgICAgaWYgKHVzaW5nRG90KSB7CiAgICAgICAg
IC8vIGFsbG93IHNsaWdodGx5IG1vcmUgY29uc2lkZXJpbmcgdGhhdCB0aGUgcGF0dGVybiBlbmRz
IHdpdGggYSB0cmFuc3BhcmVudCBwaXhlbAotICAgICAgICBpbnQgd2lkdGhNb2QgPSB3aWR0aCAl
IHBhdHRlcm5XaWR0aDsKKyAgICAgICAgZmxvYXQgd2lkdGhNb2QgPSBmbW9kZih3aWR0aCwgcGF0
dGVybldpZHRoKTsKICAgICAgICAgaWYgKHBhdHRlcm5XaWR0aCAtIHdpZHRoTW9kID4gY01pc3Nw
ZWxsaW5nTGluZVBhdHRlcm5HYXBXaWR0aCkKICAgICAgICAgICAgIHdpZHRoIC09IHdpZHRoTW9k
OwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBo
aWNzQ29udGV4dFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC04NDYsMTMgKzg0NiwxMyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6
ZHJhd0ZvY3VzUmluZyhjb25zCiAgICAgZHJhd0ZvY3VzUmluZ0ZvclBhdGgobV9kYXRhLT5wKCks
IHBhdGgsIGNvbG9yLCBtX2RhdGEtPmFudGlBbGlhc2luZ0ZvclJlY3RzQW5kTGluZXMpOwogfQog
Ci12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEludFBvaW50JiBv
cmlnaW4sIGludCB3aWR0aCwgYm9vbCkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZv
clRleHQoY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luLCBmbG9hdCB3aWR0aCwgYm9vbCkKIHsKICAg
ICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBJbnRQb2lu
dCBzdGFydFBvaW50ID0gb3JpZ2luOwotICAgIEludFBvaW50IGVuZFBvaW50ID0gb3JpZ2luICsg
SW50U2l6ZSh3aWR0aCwgMCk7CisgICAgRmxvYXRQb2ludCBzdGFydFBvaW50ID0gb3JpZ2luOwor
ICAgIEZsb2F0UG9pbnQgZW5kUG9pbnQgPSBvcmlnaW4gKyBGbG9hdFNpemUod2lkdGgsIDApOwog
CiAgICAgLy8gSWYgcGFpbnRlbmdpbmUgdHlwZSBpcyBYMTEgdG8gYXZvaWQgYXJ0aWZhY3RzCiAg
ICAgLy8gbGlrZSBidWcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQy
MjQ4CkBAIC04NzIsMTAgKzg3MiwxMSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVG
b3JUZXh0KGNvCiAgICAgfQogI2VuZGlmIC8vIGRlZmluZWQoUV9XU19YMTEpCiAKLSAgICBkcmF3
TGluZShzdGFydFBvaW50LCBlbmRQb2ludCk7CisgICAgLy8gRklYTUU6IExvc3Mgb2YgcHJlY2lz
aW9uIGhlcmUuIE1pZ2h0IGNvbnNpZGVyIHJvdW5kaW5nLgorICAgIGRyYXdMaW5lKEludFBvaW50
KHN0YXJ0UG9pbnQueCgpLCBzdGFydFBvaW50LnkoKSksIEludFBvaW50KGVuZFBvaW50LngoKSwg
ZW5kUG9pbnQueSgpKSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRl
eHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYsIGludCwgVGV4dENoZWNraW5nTGluZVN0eWxlKQor
dm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEZsb2F0
UG9pbnQmLCBmbG9hdCwgVGV4dENoZWNraW5nTGluZVN0eWxlKQogewogICAgIGlmIChwYWludGlu
Z0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCShyZXZp
c2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBs
ZUZvbnREYXRhUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MSw3ICs2MSw2IEBAIHZvaWQgU2lt
cGxlRm9udERhdGE6OnBsYXRmb3JtR2x5cGhJbml0KCkKICAgICBpZiAoIW1fcGxhdGZvcm1EYXRh
LnNpemUoKSkKICAgICAgICAgcmV0dXJuOwogICAgIG1fc3BhY2VHbHlwaCA9IDA7Ci0gICAgbV9h
ZGp1c3RlZFNwYWNlV2lkdGggPSBtX3NwYWNlV2lkdGg7CiAgICAgZGV0ZXJtaW5lUGl0Y2goKTsK
ICAgICBtX21pc3NpbmdHbHlwaERhdGEuZm9udERhdGEgPSB0aGlzOwogICAgIG1fbWlzc2luZ0ds
eXBoRGF0YS5nbHlwaCA9IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL0dyYXBoaWNzQ29udGV4dFNraWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0U2tpYS5jcHAJKHJldmlz
aW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFw
aGljc0NvbnRleHRTa2lhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTk1LDcgKzU5NSw3IEBAIHZv
aWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZShjb25zdCBJbnQKICAgICBwbGF0Zm9ybUNvbnRl
eHQoKS0+Y2FudmFzKCktPmRyYXdQb2ludHMoU2tDYW52YXM6OmtMaW5lc19Qb2ludE1vZGUsIDIs
IHB0cywgcGFpbnQpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0
Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmIHB0LCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVT
dHlsZSBzdHlsZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2lu
Zyhjb25zdCBGbG9hdFBvaW50JiBwdCwgZmxvYXQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHls
ZSBzdHlsZSkKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47
CkBAIC02NDQsOCArNjQ0LDggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dENoZQogICAgIH0KIAogICAgIC8vIE9mZnNldCBpdCB2ZXJ0aWNhbGx5IGJ5IDEgc28gdGhhdCB0
aGVyZSdzIHNvbWUgc3BhY2UgdW5kZXIgdGhlIHRleHQuCi0gICAgU2tTY2FsYXIgb3JpZ2luWCA9
IFNrSW50VG9TY2FsYXIocHQueCgpKTsKLSAgICBTa1NjYWxhciBvcmlnaW5ZID0gU2tJbnRUb1Nj
YWxhcihwdC55KCkpICsgMTsKKyAgICBTa1NjYWxhciBvcmlnaW5YID0gV2ViQ29yZUZsb2F0VG9T
a1NjYWxhcihwdC54KCkpOworICAgIFNrU2NhbGFyIG9yaWdpblkgPSBXZWJDb3JlRmxvYXRUb1Nr
U2NhbGFyKHB0LnkoKSkgKyAxOwogCiAgICAgLy8gTWFrZSBhIHNoYWRlciBmb3IgdGhlIGJpdG1h
cCB3aXRoIGFuIG9yaWdpbiBvZiB0aGUgYm94IHdlJ2xsIGRyYXcuIFRoaXMKICAgICAvLyBzaGFk
ZXIgaXMgcmVmY291bnRlZCBhbmQgd2lsbCBoYXZlIGFuIGluaXRpYWwgcmVmY291bnQgb2YgMS4K
QEAgLTY2NywxMyArNjY3LDEzIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRl
eHRDaGUKICAgICBTa1JlY3QgcmVjdDsKICAgICByZWN0LnNldChvcmlnaW5YLAogICAgICAgICAg
ICAgIG9yaWdpblksCi0gICAgICAgICAgICAgb3JpZ2luWCArIFNrSW50VG9TY2FsYXIod2lkdGgp
LAorICAgICAgICAgICAgIG9yaWdpblggKyBXZWJDb3JlRmxvYXRUb1NrU2NhbGFyKHdpZHRoKSwK
ICAgICAgICAgICAgICBvcmlnaW5ZICsgU2tJbnRUb1NjYWxhcihtaXNzcGVsbEJpdG1hcC0+aGVp
Z2h0KCkpKTsKICAgICBwbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCktPmRyYXdSZWN0KHJlY3Qs
IHBhaW50KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjb25z
dCBJbnRQb2ludCYgcHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCB3aWR0aCwKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgRmxv
YXRQb2ludCYgcHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0
IHdpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHByaW50
aW5nKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCkBAIC02ODYsOSArNjg2LDkgQEAg
dm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjbwogCiAgICAgaW50IHRoaWNr
bmVzcyA9IFNrTWF4MzIoc3RhdGljX2Nhc3Q8aW50PihzdHJva2VUaGlja25lc3MoKSksIDEpOwog
ICAgIFNrUmVjdCByOwotICAgIHIuZkxlZnQgPSBTa0ludFRvU2NhbGFyKHB0LngoKSk7Ci0gICAg
ci5mVG9wID0gU2tJbnRUb1NjYWxhcihwdC55KCkpOwotICAgIHIuZlJpZ2h0ID0gci5mTGVmdCAr
IFNrSW50VG9TY2FsYXIod2lkdGgpOworICAgIHIuZkxlZnQgPSBXZWJDb3JlRmxvYXRUb1NrU2Nh
bGFyKHB0LngoKSk7CisgICAgci5mVG9wID0gV2ViQ29yZUZsb2F0VG9Ta1NjYWxhcihwdC55KCkp
OworICAgIHIuZlJpZ2h0ID0gci5mTGVmdCArIFdlYkNvcmVGbG9hdFRvU2tTY2FsYXIod2lkdGgp
OwogICAgIHIuZkJvdHRvbSA9IHIuZlRvcCArIFNrSW50VG9TY2FsYXIodGhpY2tuZXNzKTsKIAog
ICAgIFNrUGFpbnQgcGFpbnQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vR3JhcGhpY3NDb250ZXh0Q0dXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRDR1dpbi5jcHAJKHJldmlz
aW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBo
aWNzQ29udGV4dENHV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg0LDcgKzE4NCw3IEBAIHN0
YXRpYyBjb25zdCBDb2xvciYgZ3JhbW1hclBhdHRlcm5Db2xvcigKICAgICByZXR1cm4gZ3JhbW1h
ckNvbG9yOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tp
bmcoY29uc3QgSW50UG9pbnQmIHBvaW50LCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHls
ZSBzdHlsZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhj
b25zdCBGbG9hdFBvaW50JiBwb2ludCwgZmxvYXQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHls
ZSBzdHlsZSkKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47
CkBAIC0yMDQsNyArMjA0LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dENoZQogICAgIC8vIGJvdW5kcyAoZS5nLiB3aGVuIGF0IHRoZSBlZGdlIG9mIGEgdmlldykgYW5k
IGNvdWxkIG1ha2UgaXQgYXBwZWFyIHRoYXQgdGhlCiAgICAgLy8gc3BhY2UgYmV0d2VlbiBhZGph
Y2VudCBtaXNzcGVsbGVkIHdvcmRzIHdhcyB1bmRlcmxpbmVkLgogICAgIC8vIGFsbG93IHNsaWdo
dGx5IG1vcmUgY29uc2lkZXJpbmcgdGhhdCB0aGUgcGF0dGVybiBlbmRzIHdpdGggYSB0cmFuc3Bh
cmVudCBwaXhlbAotICAgIGludCB3aWR0aE1vZCA9IHdpZHRoICUgcGF0dGVybldpZHRoOworICAg
IGZsb2F0IHdpZHRoTW9kID0gZm1vZGYod2lkdGgsIHBhdHRlcm5XaWR0aCk7CiAgICAgaWYgKHBh
dHRlcm5XaWR0aCAtIHdpZHRoTW9kID4gY01pc3NwZWxsaW5nTGluZVBhdHRlcm5HYXBXaWR0aCkK
ICAgICAgICAgd2lkdGggLT0gd2lkdGhNb2Q7CiAgICAgICAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9VbmlzY3JpYmVDb250cm9sbGVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vVW5pc2NyaWJlQ29udHJv
bGxlci5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjEs
MTggKzI2MSwxMyBAQCBib29sIFVuaXNjcmliZUNvbnRyb2xsZXI6OnNoYXBlQW5kUGxhY2VJCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgLy8gQ29udmVydCBhbGwgY2hhcnMgdGhhdCBzaG91
bGQgYmUgdHJlYXRlZCBhcyBzcGFjZXMgdG8gdXNlIHRoZSBzcGFjZSBnbHlwaC4KLSAgICAvLyBX
ZSBhbHNvIGNyZWF0ZSBhIG1hcCB0aGF0IGFsbG93cyB1cyB0byBxdWlja2x5IGdvIGZyb20gc3Bh
Y2UgZ2x5cGhzIG9yIHJvdW5kaW5nCi0gICAgLy8gaGFjayBnbHlwaHMgYmFjayB0byB0aGVpciBj
b3JyZXNwb25kaW5nIGNoYXJhY3RlcnMuCisgICAgLy8gV2UgYWxzbyBjcmVhdGUgYSBtYXAgdGhh
dCBhbGxvd3MgdXMgdG8gcXVpY2tseSBnbyBmcm9tIHNwYWNlIGdseXBocyBiYWNrIHRvIHRoZWly
IGNvcnJlc3BvbmRpbmcgY2hhcmFjdGVycy4KICAgICBWZWN0b3I8aW50PiBzcGFjZUNoYXJhY3Rl
cnMoZ2x5cGhzLnNpemUoKSk7CiAgICAgc3BhY2VDaGFyYWN0ZXJzLmZpbGwoLTEpOwotICAgIFZl
Y3RvcjxpbnQ+IHJvdW5kaW5nSGFja0NoYXJhY3RlcnMoZ2x5cGhzLnNpemUoKSk7Ci0gICAgcm91
bmRpbmdIYWNrQ2hhcmFjdGVycy5maWxsKC0xKTsKLSAgICBWZWN0b3I8aW50PiByb3VuZGluZ0hh
Y2tXb3JkQm91bmRhcmllcyhnbHlwaHMuc2l6ZSgpKTsKLSAgICByb3VuZGluZ0hhY2tXb3JkQm91
bmRhcmllcy5maWxsKC0xKTsKIAogICAgIGNvbnN0IGZsb2F0IGNMb2dpY2FsU2NhbGUgPSBmb250
RGF0YS0+cGxhdGZvcm1EYXRhKCkudXNlR0RJKCkgPyAxLjBmIDogMzIuMGY7CiAgICAgdW5zaWdu
ZWQgbG9naWNhbFNwYWNlV2lkdGggPSBmb250RGF0YS0+c3BhY2VXaWR0aCgpICogY0xvZ2ljYWxT
Y2FsZTsKLSAgICBmbG9hdCByb3VuZGVkU3BhY2VXaWR0aCA9IHJvdW5kZihmb250RGF0YS0+c3Bh
Y2VXaWR0aCgpKTsKKyAgICBmbG9hdCBzcGFjZVdpZHRoID0gZm9udERhdGEtPnNwYWNlV2lkdGgo
KTsKIAogICAgIGZvciAoaW50IGsgPSAwOyBrIDwgbGVuOyBrKyspIHsKICAgICAgICAgVUNoYXIg
Y2ggPSAqKHN0ciArIGspOwpAQCAtMjg2LDIxICsyODEsNiBAQCBib29sIFVuaXNjcmliZUNvbnRy
b2xsZXI6OnNoYXBlQW5kUGxhY2VJCiAgICAgICAgICAgICBpZiAodHJlYXRBc1NwYWNlKQogICAg
ICAgICAgICAgICAgIHNwYWNlQ2hhcmFjdGVyc1tjbHVzdGVyc1trXV0gPSBtX2N1cnJlbnRDaGFy
YWN0ZXIgKyBrICsgaXRlbS5pQ2hhclBvczsKICAgICAgICAgfQotCi0gICAgICAgIGlmIChGb250
Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcihjaCkpCi0gICAgICAgICAgICByb3VuZGluZ0hhY2tD
aGFyYWN0ZXJzW2NsdXN0ZXJzW2tdXSA9IG1fY3VycmVudENoYXJhY3RlciArIGsgKyBpdGVtLmlD
aGFyUG9zOwotCi0gICAgICAgIGludCBib3VuZGFyeSA9IGsgKyBtX2N1cnJlbnRDaGFyYWN0ZXIg
KyBpdGVtLmlDaGFyUG9zOwotICAgICAgICBpZiAoYm91bmRhcnkgPCBtX3J1bi5sZW5ndGgoKSkg
ewotICAgICAgICAgICAgLy8gV2hlbiBhdCB0aGUgbGFzdCBjaGFyYWN0ZXIgaW4gdGhlIHN0ciwg
ZG9uJ3QgbG9vayBvbmUgcGFzdCB0aGUgZW5kIGZvciBhIHJvdW5kaW5nIGhhY2sgY2hhcmFjdGVy
LgotICAgICAgICAgICAgLy8gSW5zdGVhZCBsb29rIGFoZWFkIHRvIHRoZSBmaXJzdCBjaGFyYWN0
ZXIgb2YgbmV4dCBpdGVtLCBpZiB0aGVyZSBpcyBhIG5leHQgb25lLiAKLSAgICAgICAgICAgIGlm
IChrICsgMSA9PSBsZW4pIHsKLSAgICAgICAgICAgICAgICBpZiAoaSArIDIgPCBtX2l0ZW1zLnNp
emUoKSAvLyBDaGVjayBmb3IgYXQgbGVhc3QgMiBpdGVtcyByZW1haW5pbmcuIFRoZSBsYXN0IGl0
ZW0gaXMgYSB0ZXJtaW5hdGluZyBpdGVtIGNvbnRhaW5pbmcgbm8gY2hhcmFjdGVycy4KLSAgICAg
ICAgICAgICAgICAgICAgJiYgRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoKihjcCArIG1f
aXRlbXNbaSArIDFdLmlDaGFyUG9zKSkpCi0gICAgICAgICAgICAgICAgICAgIHJvdW5kaW5nSGFj
a1dvcmRCb3VuZGFyaWVzW2NsdXN0ZXJzW2tdXSA9IGJvdW5kYXJ5OwotICAgICAgICAgICAgfSBl
bHNlIGlmIChGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcigqKHN0ciArIGsgKyAxKSkpCi0g
ICAgICAgICAgICAgICAgcm91bmRpbmdIYWNrV29yZEJvdW5kYXJpZXNbY2x1c3RlcnNba11dID0g
Ym91bmRhcnk7Ci0gICAgICAgIH0KICAgICB9CiAKICAgICAvLyBQb3B1bGF0ZSBvdXIgZ2x5cGgg
YnVmZmVyIHdpdGggdGhpcyBpbmZvcm1hdGlvbi4KQEAgLTMxNCwyNCArMjk0LDggQEAgYm9vbCBV
bmlzY3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSQogICAgICAgICBmbG9hdCBvZmZzZXRY
ID0gb2Zmc2V0c1trXS5kdSAvIGNMb2dpY2FsU2NhbGU7CiAgICAgICAgIGZsb2F0IG9mZnNldFkg
PSBvZmZzZXRzW2tdLmR2IC8gY0xvZ2ljYWxTY2FsZTsKIAotICAgICAgICAvLyBNYXRjaCBBcHBL
aXQncyBydWxlcyBmb3IgdGhlIGludGVnZXIgdnMuIG5vbi1pbnRlZ2VyIHJlbmRlcmluZyBtb2Rl
cy4KLSAgICAgICAgZmxvYXQgcm91bmRlZEFkdmFuY2UgPSByb3VuZGYoYWR2YW5jZSk7Ci0gICAg
ICAgIGlmICghbV9mb250LmlzUHJpbnRlckZvbnQoKSAmJiAhZm9udERhdGEtPmlzU3lzdGVtRm9u
dCgpKSB7Ci0gICAgICAgICAgICBhZHZhbmNlID0gcm91bmRlZEFkdmFuY2U7Ci0gICAgICAgICAg
ICBvZmZzZXRYID0gcm91bmRmKG9mZnNldFgpOwotICAgICAgICAgICAgb2Zmc2V0WSA9IHJvdW5k
ZihvZmZzZXRZKTsKLSAgICAgICAgfQotCiAgICAgICAgIGFkdmFuY2UgKz0gZm9udERhdGEtPnN5
bnRoZXRpY0JvbGRPZmZzZXQoKTsKIAotICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2Vz
IGluIHR3byB3YXlzIHdoZW4gYXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAgLy8gRmly
c3QsIHdlIHJvdW5kIHNwYWNlcyB0byBhbiBhZGp1c3RlZCB3aWR0aCBpbiBhbGwgZm9udHMuCi0g
ICAgICAgIC8vIFNlY29uZCwgaW4gZml4ZWQtcGl0Y2ggZm9udHMgd2UgZW5zdXJlIHRoYXQgYWxs
IGdseXBocyB0aGF0Ci0gICAgICAgIC8vIG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgc3BhY2UgZ2x5
cGggaGF2ZSB0aGUgc2FtZSB3aWR0aCBhcyB0aGUgc3BhY2UgZ2x5cGguCi0gICAgICAgIGlmIChy
b3VuZGVkQWR2YW5jZSA9PSByb3VuZGVkU3BhY2VXaWR0aCAmJiAoZm9udERhdGEtPnBpdGNoKCkg
PT0gRml4ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgpKSAmJgotICAg
ICAgICAgICAgbV9ydW4uYXBwbHlXb3JkUm91bmRpbmcoKSkKLSAgICAgICAgICAgIGFkdmFuY2Ug
PSBmb250RGF0YS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCk7Ci0KICAgICAgICAgaWYgKGhhc0V4dHJh
U3BhY2luZykgewogICAgICAgICAgICAgLy8gSWYgd2UncmUgYSBnbHlwaCB3aXRoIGFuIGFkdmFu
Y2UsIGdvIGFoZWFkIGFuZCBhZGQgaW4gbGV0dGVyLXNwYWNpbmcuCiAgICAgICAgICAgICAvLyBU
aGF0IHdheSB3ZSB3ZWVkIG91dCB6ZXJvIHdpZHRoIGx1cmtlcnMuICBUaGlzIGJlaGF2aW9yIG1h
dGNoZXMgdGhlIGZhc3QgdGV4dCBjb2RlIHBhdGguCkBAIC0zNTIsNyArMzE2LDcgQEAgYm9vbCBV
bmlzY3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSQogICAgICAgICAgICAgICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgcHJldmlvdXNQYWRkaW5nID0g
bV9wYWRkaW5nOwogICAgICAgICAgICAgICAgICAgICAgICAgbV9wYWRkaW5nIC09IG1fcGFkUGVy
U3BhY2U7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZHZhbmNlICs9IHJvdW5kZihwcmV2aW91
c1BhZGRpbmcpIC0gcm91bmRmKG1fcGFkZGluZyk7CisgICAgICAgICAgICAgICAgICAgICAgICBh
ZHZhbmNlICs9IHByZXZpb3VzUGFkZGluZyAtIG1fcGFkZGluZzsKICAgICAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgICAgIH0KIApAQCAtMzYyLDI1ICszMjYsNiBAQCBib29sIFVuaXNj
cmliZUNvbnRyb2xsZXI6OnNoYXBlQW5kUGxhY2VJCiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
IAotICAgICAgICAvLyBEZWFsIHdpdGggdGhlIGZsb2F0L2ludGVnZXIgaW1wZWRhbmNlIG1pc21h
dGNoIGJldHdlZW4gQ0cgYW5kIFdlYkNvcmUuICJXb3JkcyIgKGNoYXJhY3RlcnMgCi0gICAgICAg
IC8vIGZvbGxvd2VkIGJ5IGEgY2hhcmFjdGVyIGRlZmluZWQgYnkgaXNSb3VuZGluZ0hhY2tDaGFy
YWN0ZXIoKSkgYXJlIGFsd2F5cyBhbiBpbnRlZ2VyIHdpZHRoLgotICAgICAgICAvLyBXZSBhZGp1
c3QgdGhlIHdpZHRoIG9mIHRoZSBsYXN0IGNoYXJhY3RlciBvZiBhICJ3b3JkIiB0byBlbnN1cmUg
YW4gaW50ZWdlciB3aWR0aC4KLSAgICAgICAgLy8gRm9yY2UgY2hhcmFjdGVycyB0aGF0IGFyZSB1
c2VkIHRvIGRldGVybWluZSB3b3JkIGJvdW5kYXJpZXMgZm9yIHRoZSByb3VuZGluZyBoYWNrCi0g
ICAgICAgIC8vIHRvIGJlIGludGVnZXIgd2lkdGgsIHNvIHRoZSBmb2xsb3dpbmcgd29yZHMgd2ls
bCBzdGFydCBvbiBhbiBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICBpbnQgcm91bmRpbmdIYWNr
SW5kZXggPSByb3VuZGluZ0hhY2tDaGFyYWN0ZXJzW2tdOwotICAgICAgICBpZiAobV9ydW4uYXBw
bHlXb3JkUm91bmRpbmcoKSAmJiByb3VuZGluZ0hhY2tJbmRleCAhPSAtMSkKLSAgICAgICAgICAg
IGFkdmFuY2UgPSBjZWlsZihhZHZhbmNlKTsKLQotICAgICAgICAvLyBDaGVjayB0byBzZWUgaWYg
dGhlIG5leHQgY2hhcmFjdGVyIGlzIGEgInJvdW5kaW5nIGhhY2sgY2hhcmFjdGVyIiwgaWYgc28s
IGFkanVzdCB0aGUKLSAgICAgICAgLy8gd2lkdGggc28gdGhhdCB0aGUgdG90YWwgcnVuIHdpZHRo
IHdpbGwgYmUgb24gYW4gaW50ZWdlciBib3VuZGFyeS4KLSAgICAgICAgaW50IHBvc2l0aW9uID0g
bV9jdXJyZW50Q2hhcmFjdGVyICsgbGVuOwotICAgICAgICBib29sIGxhc3RHbHlwaCA9IChrID09
IGdseXBocy5zaXplKCkgLSAxKSAmJiAobV9ydW4ucnRsKCkgPyBpID09IDAgOiBpID09IG1faXRl
bXMuc2l6ZSgpIC0gMikgJiYgKHBvc2l0aW9uID49IG1fZW5kKTsKLSAgICAgICAgaWYgKChtX3J1
bi5hcHBseVdvcmRSb3VuZGluZygpICYmIHJvdW5kaW5nSGFja1dvcmRCb3VuZGFyaWVzW2tdICE9
IC0xKSB8fAotICAgICAgICAgICAgKG1fcnVuLmFwcGx5UnVuUm91bmRpbmcoKSAmJiBsYXN0R2x5
cGgpKSB7IAotICAgICAgICAgICAgZmxvYXQgdG90YWxXaWR0aCA9IG1fcnVuV2lkdGhTb0ZhciAr
IGFkdmFuY2U7Ci0gICAgICAgICAgICBhZHZhbmNlICs9IGNlaWxmKHRvdGFsV2lkdGgpIC0gdG90
YWxXaWR0aDsKLSAgICAgICAgfQotCiAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBhZHZhbmNl
OwogCiAgICAgICAgIC8vIEZJWE1FOiBXZSBuZWVkIHRvIHRha2UgdGhlIEdPRkZTRVRTIGZvciBj
b21iaW5pbmcgZ2x5cGhzIGFuZCBzdG9yZSB0aGVtIGluIHRoZSBnbHlwaCBidWZmZXIKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9GaWxlQ2hvb3Nlckd0ay5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0ZpbGVDaG9vc2VyR3RrLmNwcAkocmV2
aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvRmlsZUNob29zZXJH
dGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MCw4ICs2MCw4IEBAIFN0cmluZyBGaWxlQ2hvb3Nl
cjo6YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICAgICAgZ2NoYXIqIHN5c3RlbUJhc2VuYW1lID0g
Z19wYXRoX2dldF9iYXNlbmFtZShzeXN0ZW1GaWxlbmFtZS5kYXRhKCkpOwogICAgICAgICBzdHJp
bmdCeUFkb3B0aW5nRmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHN5c3RlbUJhc2VuYW1lLCBzdHJp
bmcpOwogICAgIH0gZWxzZSBpZiAobV9maWxlbmFtZXMuc2l6ZSgpID4gMSkKLSAgICAgICAgcmV0
dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxvYWRUZXh0
KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250LCBmYWxzZSk7CisgICAgICAgIHJldHVy
biBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUobXVsdGlwbGVGaWxlVXBsb2FkVGV4dCht
X2ZpbGVuYW1lcy5zaXplKCkpLCB3aWR0aCwgZm9udCk7CiAKLSAgICByZXR1cm4gU3RyaW5nVHJ1
bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJpbmcsIHdpZHRoLCBmb250LCBmYWxzZSk7CisgICAg
cmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyaW5nLCB3aWR0aCwgZm9u
dCk7CiB9CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFj
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFnSW1hZ2VN
YWMubW0JKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0Ry
YWdJbWFnZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTU4LDggKzE1OCw3IEBAIHN0YXRpYyBm
bG9hdCB3aWR0aFdpdGhGb250KE5TU3RyaW5nICpzdHIKICAgICBpZiAoY2FuVXNlRmFzdFJlbmRl
cmVyKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCkpIHsKICAgICAgICAgRm9udCB3ZWJDb3JlRm9udChG
b250UGxhdGZvcm1EYXRhKGZvbnQsIFtmb250IHBvaW50U2l6ZV0pLCAhW1tOU0dyYXBoaWNzQ29u
dGV4dCBjdXJyZW50Q29udGV4dF0gaXNEcmF3aW5nVG9TY3JlZW5dKTsKICAgICAgICAgVGV4dFJ1
biBydW4oYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKTsKLSAgICAgICAgcnVuLmRpc2FibGVSb3VuZGlu
Z0hhY2tzKCk7Ci0gICAgICAgIHJldHVybiB3ZWJDb3JlRm9udC5mbG9hdFdpZHRoKHJ1bik7Cisg
ICAgICAgIHJldHVybiB3ZWJDb3JlRm9udC53aWR0aChydW4pOwogICAgIH0KICAgICAKICAgICBy
ZXR1cm4gW3N0cmluZyBzaXplV2l0aEF0dHJpYnV0ZXM6W05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5
V2l0aE9iamVjdHNBbmRLZXlzOmZvbnQsIE5TRm9udEF0dHJpYnV0ZU5hbWUsIG5pbF1dLndpZHRo
OwpAQCAtMTk3LDggKzE5Niw3IEBAIHN0YXRpYyB2b2lkIGRyYXdBdFBvaW50KE5TU3RyaW5nICpz
dHJpbmcKICAgICAgICAgICAgIAogICAgICAgICBGb250IHdlYkNvcmVGb250KEZvbnRQbGF0Zm9y
bURhdGEoZm9udCwgW2ZvbnQgcG9pbnRTaXplXSksICFbbnNDb250ZXh0IGlzRHJhd2luZ1RvU2Ny
ZWVuXSwgQW50aWFsaWFzZWQpOwogICAgICAgICBUZXh0UnVuIHJ1bihidWZmZXIuZGF0YSgpLCBs
ZW5ndGgpOwotICAgICAgICBydW4uZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsKLSAgICAgICAgCisK
ICAgICAgICAgQ0dGbG9hdCByZWQ7CiAgICAgICAgIENHRmxvYXQgZ3JlZW47CiAgICAgICAgIENH
RmxvYXQgYmx1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxlQ2hvb3Nl
ck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRmlsZUNo
b29zZXJNYWMubW0JKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0ZpbGVDaG9vc2VyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw5ICs0Nyw5IEBAIFN0
cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICBlbHNlIGlmIChtX2Zp
bGVuYW1lcy5zaXplKCkgPT0gMSkKICAgICAgICAgc3RyVG9UcnVuY2F0ZSA9IFtbTlNGaWxlTWFu
YWdlciBkZWZhdWx0TWFuYWdlcl0gZGlzcGxheU5hbWVBdFBhdGg6KG1fZmlsZW5hbWVzWzBdKV07
CiAgICAgZWxzZQotICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRl
KG11bHRpcGxlRmlsZVVwbG9hZFRleHQobV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQs
IGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZSht
dWx0aXBsZUZpbGVVcGxvYWRUZXh0KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250KTsK
IAotICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0clRvVHJ1bmNh
dGUsIHdpZHRoLCBmb250LCBmYWxzZSk7CisgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2Vu
dGVyVHJ1bmNhdGUoc3RyVG9UcnVuY2F0ZSwgd2lkdGgsIGZvbnQpOwogfQogCiB9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlV2luLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlV2luLmNwcAkocmV2aXNpb24g
Nzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlV2luLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjEwLDEzICsyMTAsMTMgQEAgRHJhZ0ltYWdlUmVmIGNyZWF0ZURy
YWdJbWFnZUZvckxpbmsoS1VSTAogICAgIHN0YXRpYyBjb25zdCBDb2xvciBib3R0b21Db2xvcigy
NTUsIDI1NSwgMjU1LCAxMjcpOyAvLyBvcmlnaW5hbCBhbHBoYSA9IDAuNQogICAgIGlmIChkcmF3
VVJMU3RyaW5nKSB7CiAgICAgICAgIGlmIChjbGlwVVJMU3RyaW5nKQotICAgICAgICAgICAgdXJs
U3RyaW5nID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKHVybFN0cmluZywgaW1hZ2VT
aXplLndpZHRoKCkgLSAoRHJhZ0xhYmVsQm9yZGVyWCAqIDIuMGYpLCAqdXJsRm9udCwgZmFsc2Up
OworICAgICAgICAgICAgdXJsU3RyaW5nID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRl
KHVybFN0cmluZywgaW1hZ2VTaXplLndpZHRoKCkgLSAoRHJhZ0xhYmVsQm9yZGVyWCAqIDIuMGYp
LCAqdXJsRm9udCk7CiAgICAgICAgIEludFBvaW50IHRleHRQb3MoRHJhZ0xhYmVsQm9yZGVyWCwg
aW1hZ2VTaXplLmhlaWdodCgpIC0gKExhYmVsQm9yZGVyWU9mZnNldCArIHVybEZvbnQtPmZvbnRN
ZXRyaWNzKCkuZGVzY2VudCgpKSk7CiAgICAgICAgIFdlYkNvcmVEcmF3RG91YmxlZFRleHRBdFBv
aW50KGNvbnRleHQsIHVybFN0cmluZywgdGV4dFBvcywgKnVybEZvbnQsIHRvcENvbG9yLCBib3R0
b21Db2xvcik7CiAgICAgfQogICAgIAogICAgIGlmIChjbGlwTGFiZWxTdHJpbmcpCi0gICAgICAg
IGxhYmVsID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKGxhYmVsLCBpbWFnZVNpemUu
d2lkdGgoKSAtIChEcmFnTGFiZWxCb3JkZXJYICogMi4wZiksICpsYWJlbEZvbnQsIGZhbHNlKTsK
KyAgICAgICAgbGFiZWwgPSBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUobGFiZWwsIGlt
YWdlU2l6ZS53aWR0aCgpIC0gKERyYWdMYWJlbEJvcmRlclggKiAyLjBmKSwgKmxhYmVsRm9udCk7
CiAKICAgICBJbnRQb2ludCB0ZXh0UG9zKERyYWdMYWJlbEJvcmRlclgsIERyYWdMYWJlbEJvcmRl
clkgKyBsYWJlbEZvbnQtPnBpeGVsU2l6ZSgpKTsKICAgICBXZWJDb3JlRHJhd0RvdWJsZWRUZXh0
QXRQb2ludChjb250ZXh0LCBsYWJlbCwgdGV4dFBvcywgKmxhYmVsRm9udCwgdG9wQ29sb3IsIGJv
dHRvbUNvbG9yKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxlQ2hvb3Nl
cldpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVD
aG9vc2VyV2luLmNwcAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vRmlsZUNob29zZXJXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niw5ICs0Niw5IEBA
IFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICAgICAgTFBXU1RS
IGJhc2VuYW1lID0gUGF0aEZpbmRGaWxlTmFtZVcodG1wRmlsZW5hbWUuY2hhcmFjdGVyc1dpdGhO
dWxsVGVybWluYXRpb24oKSk7CiAgICAgICAgIHN0cmluZyA9IFN0cmluZyhiYXNlbmFtZSk7CiAg
ICAgfSBlbHNlCi0gICAgICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUo
U3RyaW5nOjpudW1iZXIobV9maWxlbmFtZXMuc2l6ZSgpKSArICIgZmlsZXMiLCB3aWR0aCwgZm9u
dCwgZmFsc2UpOworICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRl
KFN0cmluZzo6bnVtYmVyKG1fZmlsZW5hbWVzLnNpemUoKSkgKyAiIGZpbGVzIiwgd2lkdGgsIGZv
bnQpOwogCi0gICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyaW5n
LCB3aWR0aCwgZm9udCwgZmFsc2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRl
clRydW5jYXRlKHN0cmluZywgd2lkdGgsIGZvbnQpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNw
cAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBN
ZW51V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzI2LDcgKzMyNiw3IEBAIHZvaWQgUG9wdXBN
ZW51V2luOjpjYWxjdWxhdGVQb3NpdGlvbkFuZFMKICAgICAgICAgICAgIGl0ZW1Gb250LnVwZGF0
ZShtX3BvcHVwQ2xpZW50LT5mb250U2VsZWN0b3IoKSk7CiAgICAgICAgIH0KIAotICAgICAgICBw
b3B1cFdpZHRoID0gbWF4KHBvcHVwV2lkdGgsIGl0ZW1Gb250LndpZHRoKFRleHRSdW4odGV4dC5j
aGFyYWN0ZXJzKCksIHRleHQubGVuZ3RoKCkpKSk7CisgICAgICAgIHBvcHVwV2lkdGggPSBtYXgo
cG9wdXBXaWR0aCwgc3RhdGljX2Nhc3Q8aW50PihjZWlsZihpdGVtRm9udC53aWR0aChUZXh0UnVu
KHRleHQuY2hhcmFjdGVycygpLCB0ZXh0Lmxlbmd0aCgpKSkpKSk7CiAgICAgfQogCiAgICAgaWYg
KG5hdHVyYWxIZWlnaHQgPiBtYXhQb3B1cEhlaWdodCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9XZWJDb3JlVGV4dFJlbmRlcmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS93aW4vV2ViQ29yZVRleHRSZW5kZXJlci5jcHAJKHJldmlzaW9uIDc4
NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dlYkNvcmVUZXh0UmVuZGVyZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBXZWJDb3JlRHJhd0Rv
dWJsZWRUZXh0QXRQb2ludChHcmFwaAogCiBmbG9hdCBXZWJDb3JlVGV4dEZsb2F0V2lkdGgoY29u
c3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBGb250JiBmb250KQogewotICAgIHJldHVybiBTdHJpbmdU
cnVuY2F0b3I6OndpZHRoKHRleHQsIGZvbnQsIGZhbHNlKTsKKyAgICByZXR1cm4gU3RyaW5nVHJ1
bmNhdG9yOjp3aWR0aCh0ZXh0LCBmb250KTsKIH0KIAogdm9pZCBXZWJDb3JlU2V0U2hvdWxkVXNl
Rm9udFNtb290aGluZyhib29sIHNtb290aCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9IaXRUZXN0UmVzdWx0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSGl0VGVzdFJlc3VsdC5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDUsNiArNTQ1
LDIzIEBAIGJvb2wgSGl0VGVzdFJlc3VsdDo6YWRkTm9kZVRvUmVjdEJhc2VkVGUKICAgICByZXR1
cm4gIXJlY3QuY29udGFpbnMocmVjdEZvclBvaW50KHgsIHkpKTsKIH0KIAorYm9vbCBIaXRUZXN0
UmVzdWx0OjphZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KE5vZGUqIG5vZGUsIGludCB4LCBp
bnQgeSwgY29uc3QgRmxvYXRSZWN0JiByZWN0KQoreworICAgIC8vIElmIGl0IGlzIG5vdCBhIHJl
Y3QtYmFzZWQgaGl0IHRlc3QsIHRoaXMgbWV0aG9kIGhhcyB0byBiZSBuby1vcC4KKyAgICAvLyBS
ZXR1cm4gZmFsc2UsIHNvIHRoZSBoaXQgdGVzdCBzdG9wcy4KKyAgICBpZiAoIWlzUmVjdEJhc2Vk
VGVzdCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBJZiBub2RlIGlzIG51bGws
IHJldHVybiB0cnVlIHNvIHRoZSBoaXQgdGVzdCBjYW4gY29udGludWUuCisgICAgaWYgKCFub2Rl
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIG5vZGUgPSBub2RlLT5zaGFkb3dBbmNlc3Rv
ck5vZGUoKTsKKyAgICBtX3JlY3RCYXNlZFRlc3RSZXN1bHQuYWRkKG5vZGUpOworCisgICAgcmV0
dXJuICFyZWN0LmNvbnRhaW5zKHJlY3RGb3JQb2ludCh4LCB5KSk7Cit9CisKIHZvaWQgSGl0VGVz
dFJlc3VsdDo6YXBwZW5kKGNvbnN0IEhpdFRlc3RSZXN1bHQmIG90aGVyKQogewogICAgIEFTU0VS
VChpc1JlY3RCYXNlZFRlc3QoKSAmJiBvdGhlci5pc1JlY3RCYXNlZFRlc3QoKSk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgJKHJldmlzaW9uIDc4NDg0KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAkod29ya2luZyBjb3B5
KQpAQCAtMjAsNiArMjAsNyBAQAogI2lmbmRlZiBIaXRUZXN0UmVzdWx0X2gKICNkZWZpbmUgSGl0
VGVzdFJlc3VsdF9oCiAKKyNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJJbnRQb2lu
dC5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCkBAIC0xMDks
NyArMTEwLDggQEAgcHVibGljOgogCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIGl0IGlzIHJlY3Qt
YmFzZWQgaGl0IHRlc3QgYW5kIG5lZWRzIHRvIGNvbnRpbnVlIHVudGlsIHRoZSByZWN0IGlzIGZ1
bGx5CiAgICAgLy8gZW5jbG9zZWQgYnkgdGhlIGJvdW5kYXJpZXMgb2YgYSBub2RlLgotICAgIGJv
b2wgYWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChOb2RlKiwgaW50IHgsIGludCB5LCBjb25z
dCBJbnRSZWN0JiByZWN0ID0gSW50UmVjdCgpKTsKKyAgICBib29sIGFkZE5vZGVUb1JlY3RCYXNl
ZFRlc3RSZXN1bHQoTm9kZSosIGludCB4LCBpbnQgeSwgY29uc3QgSW50UmVjdCYgPSBJbnRSZWN0
KCkpOworICAgIGJvb2wgYWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChOb2RlKiwgaW50IHgs
IGludCB5LCBjb25zdCBGbG9hdFJlY3QmKTsKICAgICBjb25zdCBMaXN0SGFzaFNldDxSZWZQdHI8
Tm9kZT4gPiYgcmVjdEJhc2VkVGVzdFJlc3VsdCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVjdEJhc2Vk
VGVzdFJlc3VsdDsgfQogICAgIHZvaWQgYXBwZW5kKGNvbnN0IEhpdFRlc3RSZXN1bHQmKTsKIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAJKHJldmlzaW9uIDc4NDg0
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEwNiw3ICsxMDYsNyBAQCBpbnQgSW5saW5lQm94Ojpsb2dpY2FsSGVpZ2h0KCkgY29u
c3QKICAgICAgICAgcmVzdWx0ICs9IGZsb3dPYmplY3QtPmJvcmRlckFuZFBhZGRpbmdMb2dpY2Fs
SGVpZ2h0KCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQorIAogaW50IElubGluZUJveDo6Y2Fy
ZXRNaW5PZmZzZXQoKSBjb25zdCAKIHsgCiAgICAgcmV0dXJuIG1fcmVuZGVyZXItPmNhcmV0TWlu
T2Zmc2V0KCk7IApAQCAtMTUwLDE0ICsxNTAsMTIgQEAgdm9pZCBJbmxpbmVCb3g6OmF0dGFjaExp
bmUoKQogICAgICAgICB0b1JlbmRlckJveChtX3JlbmRlcmVyKS0+c2V0SW5saW5lQm94V3JhcHBl
cih0aGlzKTsKIH0KIAotdm9pZCBJbmxpbmVCb3g6OmFkanVzdFBvc2l0aW9uKGludCBkeCwgaW50
IGR5KQordm9pZCBJbmxpbmVCb3g6OmFkanVzdFBvc2l0aW9uKGZsb2F0IGR4LCBmbG9hdCBkeSkK
IHsKICAgICBtX3ggKz0gZHg7CiAgICAgbV95ICs9IGR5OwotICAgIGlmIChtX3JlbmRlcmVyLT5p
c1JlcGxhY2VkKCkpIHsKLSAgICAgICAgUmVuZGVyQm94KiBib3ggPSB0b1JlbmRlckJveChtX3Jl
bmRlcmVyKTsKLSAgICAgICAgYm94LT5tb3ZlKGR4LCBkeSk7Ci0gICAgfQorICAgIGlmIChtX3Jl
bmRlcmVyLT5pc1JlcGxhY2VkKCkpCisgICAgICAgIHRvUmVuZGVyQm94KG1fcmVuZGVyZXIpLT5w
b3NpdGlvbkxpbmVCb3godGhpcyk7CiB9CiAKIHZvaWQgSW5saW5lQm94OjpwYWludChQYWludElu
Zm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHkpCkBAIC0yNzgsMjEgKzI3NiwzNSBAQCBib29s
IElubGluZUJveDo6Y2FuQWNjb21tb2RhdGVFbGxpcHNpcyhiCiAgICAgcmV0dXJuICEoYm94UmVj
dC5pbnRlcnNlY3RzKGVsbGlwc2lzUmVjdCkpOwogfQogCi1pbnQgSW5saW5lQm94OjpwbGFjZUVs
bGlwc2lzQm94KGJvb2wsIGludCwgaW50LCBpbnQsIGJvb2wmKQorZmxvYXQgSW5saW5lQm94Ojpw
bGFjZUVsbGlwc2lzQm94KGJvb2wsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGJvb2wmKQogewogICAg
IC8vIFVzZSAtMSB0byBtZWFuICJ3ZSBkaWRuJ3Qgc2V0IHRoZSBwb3NpdGlvbi4iCiAgICAgcmV0
dXJuIC0xOwogfQogCi1JbnRQb2ludCBJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBp
bmcoKQorRmxvYXRQb2ludCBJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKQog
ewogICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01v
ZGUoKSkKLSAgICAgICAgcmV0dXJuIEludFBvaW50KHgoKSwgeSgpKTsKKyAgICAgICAgcmV0dXJu
IEZsb2F0UG9pbnQoeCgpLCB5KCkpOwogICAgIFJlbmRlckJsb2NrKiBibG9jayA9IHJvb3QoKS0+
YmxvY2soKTsKICAgICBpZiAoYmxvY2stPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCkpCi0gICAgICAgIHJldHVybiBJbnRQb2ludCh4KCksIGJsb2NrLT5oZWlnaHQoKSAtIGhlaWdo
dCgpIC0geSgpKTsKKyAgICAgICAgcmV0dXJuIEZsb2F0UG9pbnQoeCgpLCBibG9jay0+aGVpZ2h0
KCkgLSBoZWlnaHQoKSAtIHkoKSk7CiAgICAgZWxzZQotICAgICAgICByZXR1cm4gSW50UG9pbnQo
YmxvY2stPndpZHRoKCkgLSB3aWR0aCgpIC0geCgpLCB5KCkpOworICAgICAgICByZXR1cm4gRmxv
YXRQb2ludChibG9jay0+d2lkdGgoKSAtIHdpZHRoKCkgLSB4KCksIHkoKSk7Cit9CisKK3ZvaWQg
SW5saW5lQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoRmxvYXRSZWN0JiByZWN0KQoreworICAgIGlm
ICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKKyAg
ICAgICAgcmV0dXJuOworICAgIHJvb3QoKS0+YmxvY2soKS0+ZmxpcEZvcldyaXRpbmdNb2RlKHJl
Y3QpOworfQorCitGbG9hdFBvaW50IElubGluZUJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0
IEZsb2F0UG9pbnQmIHBvaW50KQoreworICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNG
bGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHBvaW50OworICAgIHJl
dHVybiByb290KCktPmJsb2NrKCktPmZsaXBGb3JXcml0aW5nTW9kZShwb2ludCk7CiB9CiAKIHZv
aWQgSW5saW5lQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoSW50UmVjdCYgcmVjdCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmgJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OCw3ICs2
OCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgSW5saW5lQm94KFJlbmRlck9iamVj
dCogb2JqLCBpbnQgeCwgaW50IHksIGludCBsb2dpY2FsV2lkdGgsIGJvb2wgZmlyc3RMaW5lLCBi
b29sIGNvbnN0cnVjdGVkLAorICAgIElubGluZUJveChSZW5kZXJPYmplY3QqIG9iaiwgZmxvYXQg
eCwgZmxvYXQgeSwgZmxvYXQgbG9naWNhbFdpZHRoLCBib29sIGZpcnN0TGluZSwgYm9vbCBjb25z
dHJ1Y3RlZCwKICAgICAgICAgICAgICAgYm9vbCBkaXJ0eSwgYm9vbCBleHRyYWN0ZWQsIGJvb2wg
aXNIb3Jpem9udGFsLCBJbmxpbmVCb3gqIG5leHQsIElubGluZUJveCogcHJldiwgSW5saW5lRmxv
d0JveCogcGFyZW50KQogICAgICAgICA6IG1fbmV4dChuZXh0KQogICAgICAgICAsIG1fcHJldihw
cmV2KQpAQCAtMTEyLDE1ICsxMTIsMTUgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlz
TGluZUJyZWFrKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBh
ZGp1c3RQb3NpdGlvbihpbnQgZHgsIGludCBkeSk7Ci0gICAgdm9pZCBhZGp1c3RMaW5lRGlyZWN0
aW9uUG9zaXRpb24oaW50IGRlbHRhKQorICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihm
bG9hdCBkeCwgZmxvYXQgZHkpOworICAgIHZvaWQgYWRqdXN0TGluZURpcmVjdGlvblBvc2l0aW9u
KGZsb2F0IGRlbHRhKQogICAgIHsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKQogICAgICAg
ICAgICAgYWRqdXN0UG9zaXRpb24oZGVsdGEsIDApOwogICAgICAgICBlbHNlCiAgICAgICAgICAg
ICBhZGp1c3RQb3NpdGlvbigwLCBkZWx0YSk7CiAgICAgfQotICAgIHZvaWQgYWRqdXN0QmxvY2tE
aXJlY3Rpb25Qb3NpdGlvbihpbnQgZGVsdGEpCisgICAgdm9pZCBhZGp1c3RCbG9ja0RpcmVjdGlv
blBvc2l0aW9uKGZsb2F0IGRlbHRhKQogICAgIHsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgp
KQogICAgICAgICAgICAgYWRqdXN0UG9zaXRpb24oMCwgZGVsdGEpOwpAQCAtMjIwLDI4ICsyMjAs
MjggQEAgcHVibGljOgogICAgIFJvb3RJbmxpbmVCb3gqIHJvb3QoKTsKIAogICAgIC8vIHgoKSBp
cyB0aGUgbGVmdCBzaWRlIG9mIHRoZSBib3ggaW4gdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBjb29y
ZGluYXRlIHN5c3RlbS4KLSAgICB2b2lkIHNldFgoaW50IHgpIHsgbV94ID0geDsgfQotICAgIGlu
dCB4KCkgY29uc3QgeyByZXR1cm4gbV94OyB9CisgICAgdm9pZCBzZXRYKGZsb2F0IHgpIHsgbV94
ID0geDsgfQorICAgIGZsb2F0IHgoKSBjb25zdCB7IHJldHVybiBtX3g7IH0KIAogICAgIC8vIHko
KSBpcyB0aGUgdG9wIHNpZGUgb2YgdGhlIGJveCBpbiB0aGUgY29udGFpbmluZyBibG9jaydzIGNv
b3JkaW5hdGUgc3lzdGVtLgotICAgIHZvaWQgc2V0WShpbnQgeSkgeyBtX3kgPSB5OyB9Ci0gICAg
aW50IHkoKSBjb25zdCB7IHJldHVybiBtX3k7IH0KKyAgICB2b2lkIHNldFkoZmxvYXQgeSkgeyBt
X3kgPSB5OyB9CisgICAgZmxvYXQgeSgpIGNvbnN0IHsgcmV0dXJuIG1feTsgfQogCi0gICAgaW50
IHdpZHRoKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsV2lkdGgoKSA6
IGxvZ2ljYWxIZWlnaHQoKTsgfQotICAgIGludCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBpc0hv
cml6b250YWwoKSA/IGxvZ2ljYWxIZWlnaHQoKSA6IGxvZ2ljYWxXaWR0aCgpOyB9Ci0KLSAgICBJ
bnRSZWN0IGZyYW1lUmVjdCgpIGNvbnN0IHsgcmV0dXJuIEludFJlY3QoeCgpLCB5KCksIHdpZHRo
KCksIGhlaWdodCgpKTsgfQorICAgIGZsb2F0IHdpZHRoKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jp
em9udGFsKCkgPyBsb2dpY2FsV2lkdGgoKSA6IGxvZ2ljYWxIZWlnaHQoKTsgfQorICAgIGZsb2F0
IGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbG9naWNhbEhlaWdodCgp
IDogbG9naWNhbFdpZHRoKCk7IH0KIAogICAgIC8vIFRoZSBsb2dpY2FsTGVmdCBwb3NpdGlvbiBp
cyB0aGUgbGVmdCBlZGdlIG9mIHRoZSBsaW5lIGJveCBpbiBhIGhvcml6b250YWwgbGluZSBhbmQg
dGhlIHRvcCBlZGdlIGluIGEgdmVydGljYWwgbGluZS4KLSAgICBpbnQgbG9naWNhbExlZnQoKSBj
b25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IG1feCA6IG1feTsgfQotICAgIGludCBsb2dp
Y2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNhbFdpZHRoKCk7
IH0KLSAgICB2b2lkIHNldExvZ2ljYWxMZWZ0KGludCBsZWZ0KQorICAgIGZsb2F0IGxvZ2ljYWxM
ZWZ0KCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBtX3ggOiBtX3k7IH0KKyAgICBm
bG9hdCBsb2dpY2FsUmlnaHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNh
bFdpZHRoKCk7IH0KKyAgICB2b2lkIHNldExvZ2ljYWxMZWZ0KGZsb2F0IGxlZnQpCiAgICAgewog
ICAgICAgICBpZiAoaXNIb3Jpem9udGFsKCkpCiAgICAgICAgICAgICBtX3ggPSBsZWZ0OwogICAg
ICAgICBlbHNlCiAgICAgICAgICAgICBtX3kgPSBsZWZ0OwogICAgIH0KKyAgICBpbnQgcGl4ZWxT
bmFwcGVkTG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpOyB9CisgICAg
aW50IHBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGNlaWxmKGxvZ2lj
YWxSaWdodCgpKTsgfQogCiAgICAgLy8gVGhlIGxvZ2ljYWxUb3BbIHBvc2l0aW9uIGlzIHRoZSB0
b3AgZWRnZSBvZiB0aGUgbGluZSBib3ggaW4gYSBob3Jpem9udGFsIGxpbmUgYW5kIHRoZSBsZWZ0
IGVkZ2UgaW4gYSB2ZXJ0aWNhbCBsaW5lLgogICAgIGludCBsb2dpY2FsVG9wKCkgY29uc3QgeyBy
ZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBtX3kgOiBtX3g7IH0KQEAgLTI1NSw4ICsyNTUsOCBAQCBw
dWJsaWM6CiAgICAgfQogCiAgICAgLy8gVGhlIGxvZ2ljYWwgd2lkdGggaXMgb3VyIGV4dGVudCBp
biB0aGUgbGluZSdzIG92ZXJhbGwgaW5saW5lIGRpcmVjdGlvbiwgaS5lLiwgd2lkdGggZm9yIGhv
cml6b250YWwgdGV4dCBhbmQgaGVpZ2h0IGZvciB2ZXJ0aWNhbCB0ZXh0LgotICAgIHZvaWQgc2V0
TG9naWNhbFdpZHRoKGludCB3KSB7IG1fbG9naWNhbFdpZHRoID0gdzsgfQotICAgIGludCBsb2dp
Y2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxXaWR0aDsgfQorICAgIHZvaWQgc2V0
TG9naWNhbFdpZHRoKGZsb2F0IHcpIHsgbV9sb2dpY2FsV2lkdGggPSB3OyB9CisgICAgZmxvYXQg
bG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9sb2dpY2FsV2lkdGg7IH0KIAogICAgIC8v
IFRoZSBsb2dpY2FsIGhlaWdodCBpcyBvdXIgZXh0ZW50IGluIHRoZSBibG9jayBmbG93IGRpcmVj
dGlvbiwgaS5lLiwgaGVpZ2h0IGZvciBob3Jpem9udGFsIHRleHQgYW5kIHdpZHRoIGZvciB2ZXJ0
aWNhbCB0ZXh0LgogICAgIGludCBsb2dpY2FsSGVpZ2h0KCkgY29uc3Q7CkBAIC0yODYsNyArMjg2
LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGNhbkFjY29tbW9kYXRlRWxsaXBzaXMo
Ym9vbCBsdHIsIGludCBibG9ja0VkZ2UsIGludCBlbGxpcHNpc1dpZHRoKTsKICAgICAvLyB2aXNp
YmxlTGVmdEVkZ2UsIHZpc2libGVSaWdodEVkZ2UgYXJlIGluIHRoZSBwYXJlbnQncyBjb29yZGlu
YXRlIHN5c3RlbS4KLSAgICB2aXJ0dWFsIGludCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBp
bnQgdmlzaWJsZUxlZnRFZGdlLCBpbnQgdmlzaWJsZVJpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lk
dGgsIGJvb2wmKTsKKyAgICB2aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIs
IGZsb2F0IHZpc2libGVMZWZ0RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwgZmxvYXQgZWxs
aXBzaXNXaWR0aCwgYm9vbCYpOwogCiAgICAgdm9pZCBzZXRIYXNCYWRQYXJlbnQoKTsKIApAQCAt
Mjk0LDYgKzI5NCw4IEBAIHB1YmxpYzoKICAgICAKICAgICBib29sIHZpc2libGVUb0hpdFRlc3Rp
bmcoKSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLT5zdHlsZSgpLT52aXNpYmlsaXR5KCkgPT0g
VklTSUJMRSAmJiByZW5kZXJlcigpLT5zdHlsZSgpLT5wb2ludGVyRXZlbnRzKCkgIT0gUEVfTk9O
RTsgfQogICAgIAorICAgIEVWZXJ0aWNhbEFsaWduIHZlcnRpY2FsQWxpZ24oKSBjb25zdCB7IHJl
dHVybiByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPnZlcnRpY2FsQWxpZ24oKTsgfQor
CiAgICAgLy8gVXNlIHdpdGggY2F1dGlvbiEgVGhlIHR5cGUgaXMgbm90IGNoZWNrZWQhCiAgICAg
UmVuZGVyQm94TW9kZWxPYmplY3QqIGJveE1vZGVsT2JqZWN0KCkgY29uc3QKICAgICB7IApAQCAt
MzAyLDEwICszMDQsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAg
ICBJbnRQb2ludCBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgRmxvYXRQb2ludCBs
b2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgdm9pZCBmbGlwRm9yV3JpdGluZ01vZGUo
RmxvYXRSZWN0Jik7CisgICAgRmxvYXRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgRmxv
YXRQb2ludCYpOwogICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEludFJlY3QmKTsKICAgICBJ
bnRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgSW50UG9pbnQmKTsKLQorICAgIAogcHJp
dmF0ZToKICAgICBJbmxpbmVCb3gqIG1fbmV4dDsgLy8gVGhlIG5leHQgZWxlbWVudCBvbiB0aGUg
c2FtZSBsaW5lIGFzIHVzLgogICAgIElubGluZUJveCogbV9wcmV2OyAvLyBUaGUgcHJldmlvdXMg
ZWxlbWVudCBvbiB0aGUgc2FtZSBsaW5lIGFzIHVzLgpAQCAtMzE1LDkgKzMxOSw5IEBAIHByaXZh
dGU6CiBwdWJsaWM6CiAgICAgUmVuZGVyT2JqZWN0KiBtX3JlbmRlcmVyOwogCi0gICAgaW50IG1f
eDsKLSAgICBpbnQgbV95OwotICAgIGludCBtX2xvZ2ljYWxXaWR0aDsKKyAgICBmbG9hdCBtX3g7
CisgICAgZmxvYXQgbV95OworICAgIGZsb2F0IG1fbG9naWNhbFdpZHRoOwogICAgIAogICAgIC8v
IFNvbWUgb2YgdGhlc2UgYml0cyBhcmUgYWN0dWFsbHkgZm9yIHN1YmNsYXNzZXMgYW5kIG1vdmVk
IGhlcmUgdG8gY29tcGFjdCB0aGUgc3RydWN0dXJlcy4KIApJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY3
LDYgKzY3LDE4IEBAIGludCBJbmxpbmVGbG93Qm94OjpnZXRGbG93U3BhY2luZ0xvZ2ljYWwKICAg
ICByZXR1cm4gdG90V2lkdGg7CiB9CiAKK0ludFJlY3QgSW5saW5lRmxvd0JveDo6cGl4ZWxTbmFw
cGVkRnJhbWVSZWN0KCkgY29uc3QKK3sKKyAgICAvLyBCZWdpbiBieSBzbmFwcGluZyB0aGUgeCBh
bmQgeSBjb29yZGluYXRlcyB0byB0aGUgbmVhcmVzdCBwaXhlbC4KKyAgICBpbnQgc25hcHBlZFgg
PSBscm91bmRmKHgoKSk7CisgICAgaW50IHNuYXBwZWRZID0gbHJvdW5kZih5KCkpOworICAgIAor
ICAgIGludCBzbmFwcGVkTWF4WCA9IGxyb3VuZGYoeCgpICsgd2lkdGgoKSk7CisgICAgaW50IHNu
YXBwZWRNYXhZID0gbHJvdW5kZih5KCkgKyBoZWlnaHQoKSk7CisgICAgCisgICAgcmV0dXJuIElu
dFJlY3Qoc25hcHBlZFgsIHNuYXBwZWRZLCBzbmFwcGVkTWF4WCAtIHNuYXBwZWRYLCBzbmFwcGVk
TWF4WSAtIHNuYXBwZWRZKTsKK30KKwogdm9pZCBJbmxpbmVGbG93Qm94OjphZGRUb0xpbmUoSW5s
aW5lQm94KiBjaGlsZCkgCiB7CiAgICAgQVNTRVJUKCFjaGlsZC0+cGFyZW50KCkpOwpAQCAtMTY3
LDEzICsxNzksMTMgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjphdHRhY2hMaW5lQm94VG9SZW5kZQog
ICAgIHRvUmVuZGVySW5saW5lKHJlbmRlcmVyKCkpLT5saW5lQm94ZXMoKS0+YXR0YWNoTGluZUJv
eCh0aGlzKTsKIH0KIAotdm9pZCBJbmxpbmVGbG93Qm94OjphZGp1c3RQb3NpdGlvbihpbnQgZHgs
IGludCBkeSkKK3ZvaWQgSW5saW5lRmxvd0JveDo6YWRqdXN0UG9zaXRpb24oZmxvYXQgZHgsIGZs
b2F0IGR5KQogewogICAgIElubGluZUJveDo6YWRqdXN0UG9zaXRpb24oZHgsIGR5KTsKICAgICBm
b3IgKElubGluZUJveCogY2hpbGQgPSBmaXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxk
LT5uZXh0T25MaW5lKCkpCiAgICAgICAgIGNoaWxkLT5hZGp1c3RQb3NpdGlvbihkeCwgZHkpOwog
ICAgIGlmIChtX292ZXJmbG93KQotICAgICAgICBtX292ZXJmbG93LT5tb3ZlKGR4LCBkeSk7Cisg
ICAgICAgIG1fb3ZlcmZsb3ctPm1vdmUoZHgsIGR5KTsgLy8gRklYTUU6IFJvdW5kaW5nIGVycm9y
IGhlcmUgc2luY2Ugb3ZlcmZsb3cgd2FzIHBpeGVsIHNuYXBwZWQsIGJ1dCBub2JvZHkgb3RoZXIg
dGhhbiBsaXN0IG1hcmtlcnMgcGFzc2VzIG5vbi1pbnRlZ3JhbCB2YWx1ZXMgaGVyZS4KIH0KIAog
UmVuZGVyTGluZUJveExpc3QqIElubGluZUZsb3dCb3g6OnJlbmRlcmVyTGluZUJveGVzKCkgY29u
c3QKQEAgLTI1NSwxMiArMjY3LDEyIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6ZGV0ZXJtaW5lU3Bh
Y2luZ0ZvckYKICAgICB9CiB9CiAKLWludCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5Jbmxp
bmVEaXJlY3Rpb24oaW50IGxvZ2ljYWxMZWZ0LCBib29sJiBuZWVkc1dvcmRTcGFjaW5nLCBHbHlw
aE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYgdGV4dEJveERhdGFNYXApCitmbG9hdCBJbmxp
bmVGbG93Qm94OjpwbGFjZUJveGVzSW5JbmxpbmVEaXJlY3Rpb24oZmxvYXQgbG9naWNhbExlZnQs
IGJvb2wmIG5lZWRzV29yZFNwYWNpbmcsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFw
JiB0ZXh0Qm94RGF0YU1hcCkKIHsKICAgICAvLyBTZXQgb3VyIHggcG9zaXRpb24uCiAgICAgc2V0
TG9naWNhbExlZnQobG9naWNhbExlZnQpOwogICAKLSAgICBpbnQgc3RhcnRMb2dpY2FsTGVmdCA9
IGxvZ2ljYWxMZWZ0OworICAgIGZsb2F0IHN0YXJ0TG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdDsK
ICAgICBsb2dpY2FsTGVmdCArPSBib3JkZXJMb2dpY2FsTGVmdCgpICsgcGFkZGluZ0xvZ2ljYWxM
ZWZ0KCk7CiAgICAgCiAgICAgZm9yIChJbmxpbmVCb3gqIGN1cnIgPSBmaXJzdENoaWxkKCk7IGN1
cnI7IGN1cnIgPSBjdXJyLT5uZXh0T25MaW5lKCkpIHsKQEAgLTM0NSwxNyArMzU3LDE2IEBAIGJv
b2wgSW5saW5lRmxvd0JveDo6cmVxdWlyZXNJZGVvZ3JhcGhpY0IKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKLXZvaWQgSW5saW5lRmxvd0JveDo6YWRqdXN0TWF4QXNjZW50QW5kRGVzY2VudChpbnQm
IG1heEFzY2VudCwgaW50JiBtYXhEZXNjZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBtYXhQb3NpdGlvblRvcCwgaW50IG1heFBvc2l0aW9uQm90
dG9tKQordm9pZCBJbmxpbmVGbG93Qm94OjphZGp1c3RNYXhBc2NlbnRBbmREZXNjZW50KGludCYg
bWF4QXNjZW50LCBpbnQmIG1heERlc2NlbnQsIGludCBtYXhQb3NpdGlvblRvcCwgaW50IG1heFBv
c2l0aW9uQm90dG9tKQogewogICAgIGZvciAoSW5saW5lQm94KiBjdXJyID0gZmlyc3RDaGlsZCgp
OyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dE9uTGluZSgpKSB7CiAgICAgICAgIC8vIFRoZSBjb21w
dXRlZCBsaW5laGVpZ2h0IG5lZWRzIHRvIGJlIGV4dGVuZGVkIGZvciB0aGUKICAgICAgICAgLy8g
cG9zaXRpb25lZCBlbGVtZW50cwogICAgICAgICBpZiAoY3Vyci0+cmVuZGVyZXIoKS0+aXNQb3Np
dGlvbmVkKCkpCiAgICAgICAgICAgICBjb250aW51ZTsgLy8gUG9zaXRpb25lZCBwbGFjZWhvbGRl
cnMgZG9uJ3QgYWZmZWN0IGNhbGN1bGF0aW9ucy4KLSAgICAgICAgaWYgKGN1cnItPmxvZ2ljYWxU
b3AoKSA9PSBQb3NpdGlvblRvcCB8fCBjdXJyLT5sb2dpY2FsVG9wKCkgPT0gUG9zaXRpb25Cb3R0
b20pIHsKKyAgICAgICAgaWYgKGN1cnItPnZlcnRpY2FsQWxpZ24oKSA9PSBUT1AgfHwgY3Vyci0+
dmVydGljYWxBbGlnbigpID09IEJPVFRPTSkgewogICAgICAgICAgICAgaW50IGxpbmVIZWlnaHQg
PSBjdXJyLT5saW5lSGVpZ2h0KCk7Ci0gICAgICAgICAgICBpZiAoY3Vyci0+bG9naWNhbFRvcCgp
ID09IFBvc2l0aW9uVG9wKSB7CisgICAgICAgICAgICBpZiAoY3Vyci0+dmVydGljYWxBbGlnbigp
ID09IFRPUCkgewogICAgICAgICAgICAgICAgIGlmIChtYXhBc2NlbnQgKyBtYXhEZXNjZW50IDwg
bGluZUhlaWdodCkKICAgICAgICAgICAgICAgICAgICAgbWF4RGVzY2VudCA9IGxpbmVIZWlnaHQg
LSBtYXhBc2NlbnQ7CiAgICAgICAgICAgICB9CkBAIC0zOTcsNDAgKzQwOCwzNyBAQCBzdGF0aWMg
aW50IHZlcnRpY2FsUG9zaXRpb25Gb3JCb3goSW5saW5lCiAKICAgICBpbnQgdmVydGljYWxQb3Np
dGlvbiA9IDA7CiAgICAgRVZlcnRpY2FsQWxpZ24gdmVydGljYWxBbGlnbiA9IHJlbmRlcmVyLT5z
dHlsZSgpLT52ZXJ0aWNhbEFsaWduKCk7Ci0gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT0gVE9QKQot
ICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uID0gUG9zaXRpb25Ub3A7Ci0gICAgZWxzZSBpZiAodmVy
dGljYWxBbGlnbiA9PSBCT1RUT00pCi0gICAgICAgIHZlcnRpY2FsUG9zaXRpb24gPSBQb3NpdGlv
bkJvdHRvbTsKLSAgICBlbHNlIHsKLSAgICAgICAgUmVuZGVyT2JqZWN0KiBwYXJlbnQgPSByZW5k
ZXJlci0+cGFyZW50KCk7Ci0gICAgICAgIGlmIChwYXJlbnQtPmlzUmVuZGVySW5saW5lKCkgJiYg
cGFyZW50LT5zdHlsZSgpLT52ZXJ0aWNhbEFsaWduKCkgIT0gVE9QICYmIHBhcmVudC0+c3R5bGUo
KS0+dmVydGljYWxBbGlnbigpICE9IEJPVFRPTSkKLSAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRp
b24gPSBib3gtPnBhcmVudCgpLT5sb2dpY2FsVG9wKCk7Ci0gICAgICAgIAotICAgICAgICBpZiAo
dmVydGljYWxBbGlnbiAhPSBCQVNFTElORSkgewotICAgICAgICAgICAgY29uc3QgRm9udCYgZm9u
dCA9IHBhcmVudC0+c3R5bGUoZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgICAgICAgICAgY29uc3Qg
Rm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygpOwotICAgICAgICAg
ICAgaW50IGZvbnRTaXplID0gZm9udC5waXhlbFNpemUoKTsKLQotICAgICAgICAgICAgTGluZURp
cmVjdGlvbk1vZGUgbGluZURpcmVjdGlvbiA9IHBhcmVudC0+c3R5bGUoKS0+aXNIb3Jpem9udGFs
V3JpdGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5lIDogVmVydGljYWxMaW5lOwotCi0gICAgICAg
ICAgICBpZiAodmVydGljYWxBbGlnbiA9PSBTVUIpCi0gICAgICAgICAgICAgICAgdmVydGljYWxQ
b3NpdGlvbiArPSBmb250U2l6ZSAvIDUgKyAxOwotICAgICAgICAgICAgZWxzZSBpZiAodmVydGlj
YWxBbGlnbiA9PSBTVVBFUikKLSAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uIC09IGZv
bnRTaXplIC8gMyArIDE7Ci0gICAgICAgICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IFRF
WFRfVE9QKQotICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gcmVuZGVyZXItPmJh
c2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC0g
Zm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSk7Ci0gICAgICAgICAgICBlbHNlIGlmICh2
ZXJ0aWNhbEFsaWduID09IE1JRERMRSkKLSAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9u
ICs9IC1zdGF0aWNfY2FzdDxpbnQ+KGZvbnRNZXRyaWNzLnhIZWlnaHQoKSAvIDIpIC0gcmVuZGVy
ZXItPmxpbmVIZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAvIDIgKyByZW5kZXJlci0+
YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbik7
Ci0gICAgICAgICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IFRFWFRfQk9UVE9NKSB7Ci0g
ICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSBmb250TWV0cmljcy5kZXNjZW50KGJh
c2VsaW5lVHlwZSk7Ci0gICAgICAgICAgICAgICAgLy8gbGluZUhlaWdodCAtIGJhc2VsaW5lUG9z
aXRpb24gaXMgYWx3YXlzIDAgZm9yIHJlcGxhY2VkIGVsZW1lbnRzIChleGNlcHQgaW5saW5lIGJs
b2NrcyksIHNvIGRvbid0IGJvdGhlciB3YXN0aW5nIHRpbWUgaW4gdGhhdCBjYXNlLgotICAgICAg
ICAgICAgICAgIGlmICghcmVuZGVyZXItPmlzUmVwbGFjZWQoKSB8fCByZW5kZXJlci0+aXNJbmxp
bmVCbG9ja09ySW5saW5lVGFibGUoKSkKLSAgICAgICAgICAgICAgICAgICAgdmVydGljYWxQb3Np
dGlvbiAtPSAocmVuZGVyZXItPmxpbmVIZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAt
IHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5l
RGlyZWN0aW9uKSk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gQkFT
RUxJTkVfTUlERExFKQotICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gLXJlbmRl
cmVyLT5saW5lSGVpZ2h0KGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikgLyAyICsgcmVuZGVyZXIt
PmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24p
OwotICAgICAgICAgICAgZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBMRU5HVEgpCi0gICAgICAg
ICAgICAgICAgdmVydGljYWxQb3NpdGlvbiAtPSByZW5kZXJlci0+c3R5bGUoKS0+dmVydGljYWxB
bGlnbkxlbmd0aCgpLmNhbGNWYWx1ZShyZW5kZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxp
bmVEaXJlY3Rpb24pKTsKLSAgICAgICAgfQorICAgIGlmICh2ZXJ0aWNhbEFsaWduID09IFRPUCB8
fCB2ZXJ0aWNhbEFsaWduID09IEJPVFRPTSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAKKyAgICBS
ZW5kZXJPYmplY3QqIHBhcmVudCA9IHJlbmRlcmVyLT5wYXJlbnQoKTsKKyAgICBpZiAocGFyZW50
LT5pc1JlbmRlcklubGluZSgpICYmIHBhcmVudC0+c3R5bGUoKS0+dmVydGljYWxBbGlnbigpICE9
IFRPUCAmJiBwYXJlbnQtPnN0eWxlKCktPnZlcnRpY2FsQWxpZ24oKSAhPSBCT1RUT00pCisgICAg
ICAgIHZlcnRpY2FsUG9zaXRpb24gPSBib3gtPnBhcmVudCgpLT5sb2dpY2FsVG9wKCk7CisgICAg
CisgICAgaWYgKHZlcnRpY2FsQWxpZ24gIT0gQkFTRUxJTkUpIHsKKyAgICAgICAgY29uc3QgRm9u
dCYgZm9udCA9IHBhcmVudC0+c3R5bGUoZmlyc3RMaW5lKS0+Zm9udCgpOworICAgICAgICBjb25z
dCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7CisgICAgICAg
IGludCBmb250U2l6ZSA9IGZvbnQucGl4ZWxTaXplKCk7CisKKyAgICAgICAgTGluZURpcmVjdGlv
bk1vZGUgbGluZURpcmVjdGlvbiA9IHBhcmVudC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGlu
Z01vZGUoKSA/IEhvcml6b250YWxMaW5lIDogVmVydGljYWxMaW5lOworCisgICAgICAgIGlmICh2
ZXJ0aWNhbEFsaWduID09IFNVQikKKyAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gZm9u
dFNpemUgLyA1ICsgMTsKKyAgICAgICAgZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBTVVBFUikK
KyAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gLT0gZm9udFNpemUgLyAzICsgMTsKKyAgICAg
ICAgZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBURVhUX1RPUCkKKyAgICAgICAgICAgIHZlcnRp
Y2FsUG9zaXRpb24gKz0gcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBm
aXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC0gZm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlw
ZSk7CisgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gTUlERExFKQorICAgICAgICAg
ICAgdmVydGljYWxQb3NpdGlvbiArPSAtc3RhdGljX2Nhc3Q8aW50Pihmb250TWV0cmljcy54SGVp
Z2h0KCkgLyAyKSAtIHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0TGluZSwgbGluZURpcmVjdGlv
bikgLyAyICsgcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExp
bmUsIGxpbmVEaXJlY3Rpb24pOworICAgICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IFRF
WFRfQk9UVE9NKSB7CisgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IGZvbnRNZXRyaWNz
LmRlc2NlbnQoYmFzZWxpbmVUeXBlKTsKKyAgICAgICAgICAgIC8vIGxpbmVIZWlnaHQgLSBiYXNl
bGluZVBvc2l0aW9uIGlzIGFsd2F5cyAwIGZvciByZXBsYWNlZCBlbGVtZW50cyAoZXhjZXB0IGlu
bGluZSBibG9ja3MpLCBzbyBkb24ndCBib3RoZXIgd2FzdGluZyB0aW1lIGluIHRoYXQgY2FzZS4K
KyAgICAgICAgICAgIGlmICghcmVuZGVyZXItPmlzUmVwbGFjZWQoKSB8fCByZW5kZXJlci0+aXNJ
bmxpbmVCbG9ja09ySW5saW5lVGFibGUoKSkKKyAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0
aW9uIC09IChyZW5kZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC0g
cmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGxpbmVE
aXJlY3Rpb24pKTsKKyAgICAgICAgfSBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IEJBU0VMSU5F
X01JRERMRSkKKyAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gLXJlbmRlcmVyLT5saW5l
SGVpZ2h0KGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikgLyAyICsgcmVuZGVyZXItPmJhc2VsaW5l
UG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pOworICAgICAg
ICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IExFTkdUSCkKKyAgICAgICAgICAgIHZlcnRpY2Fs
UG9zaXRpb24gLT0gcmVuZGVyZXItPnN0eWxlKCktPnZlcnRpY2FsQWxpZ25MZW5ndGgoKS5jYWxj
VmFsdWUocmVuZGVyZXItPmxpbmVIZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSk7CiAg
ICAgfQogCiAgICAgLy8gU3RvcmUgdGhlIGNhY2hlZCB2YWx1ZS4KQEAgLTU0MiwxMCArNTUwLDEw
IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6Y29tcHV0ZUxvZ2ljYWxCb3hIZWkKICAgICAgICAgICAg
IH0KICAgICAgICAgfQogCi0gICAgICAgIGlmIChjdXJyLT5sb2dpY2FsVG9wKCkgPT0gUG9zaXRp
b25Ub3ApIHsKKyAgICAgICAgaWYgKGN1cnItPnZlcnRpY2FsQWxpZ24oKSA9PSBUT1ApIHsKICAg
ICAgICAgICAgIGlmIChtYXhQb3NpdGlvblRvcCA8IGxpbmVIZWlnaHQpCiAgICAgICAgICAgICAg
ICAgbWF4UG9zaXRpb25Ub3AgPSBsaW5lSGVpZ2h0OwotICAgICAgICB9IGVsc2UgaWYgKGN1cnIt
PmxvZ2ljYWxUb3AoKSA9PSBQb3NpdGlvbkJvdHRvbSkgeworICAgICAgICB9IGVsc2UgaWYgKGN1
cnItPnZlcnRpY2FsQWxpZ24oKSA9PSBCT1RUT00pIHsKICAgICAgICAgICAgIGlmIChtYXhQb3Np
dGlvbkJvdHRvbSA8IGxpbmVIZWlnaHQpCiAgICAgICAgICAgICAgICAgbWF4UG9zaXRpb25Cb3R0
b20gPSBsaW5lSGVpZ2h0OwogICAgICAgICB9IGVsc2UgaWYgKCghaXNJbmxpbmVGbG93IHx8IHN0
YXRpY19jYXN0PElubGluZUZsb3dCb3gqPihjdXJyKS0+aGFzVGV4dENoaWxkcmVuKCkpIHx8IGN1
cnItPmJveE1vZGVsT2JqZWN0KCktPmhhc0lubGluZURpcmVjdGlvbkJvcmRlcnNPclBhZGRpbmco
KSB8fCBzdHJpY3RNb2RlKSB7CkBAIC01OTIsOSArNjAwLDkgQEAgdm9pZCBJbmxpbmVGbG93Qm94
OjpwbGFjZUJveGVzSW5CbG9ja0RpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lVG9wSW5jbHVkaW5n
TWFyZ2lucywgbGluZUJvdHRvbUluY2x1ZGluZ01hcmdpbnMsIGhhc0Fubm90YXRpb25zQmVmb3Jl
LCBoYXNBbm5vdGF0aW9uc0FmdGVyLCBiYXNlbGluZVR5cGUpOwogCiAgICAgICAgIGJvb2wgY2hp
bGRBZmZlY3RzVG9wQm90dG9tUG9zID0gdHJ1ZTsKLSAgICAgICAgaWYgKGN1cnItPmxvZ2ljYWxU
b3AoKSA9PSBQb3NpdGlvblRvcCkKKyAgICAgICAgaWYgKGN1cnItPnZlcnRpY2FsQWxpZ24oKSA9
PSBUT1ApCiAgICAgICAgICAgICBjdXJyLT5zZXRMb2dpY2FsVG9wKHRvcCk7Ci0gICAgICAgIGVs
c2UgaWYgKGN1cnItPmxvZ2ljYWxUb3AoKSA9PSBQb3NpdGlvbkJvdHRvbSkKKyAgICAgICAgZWxz
ZSBpZiAoY3Vyci0+dmVydGljYWxBbGlnbigpID09IEJPVFRPTSkKICAgICAgICAgICAgIGN1cnIt
PnNldExvZ2ljYWxUb3AodG9wICsgbWF4SGVpZ2h0IC0gY3Vyci0+bGluZUhlaWdodCgpKTsKICAg
ICAgICAgZWxzZSB7CiAgICAgICAgICAgICBpZiAoKGlzSW5saW5lRmxvdyAmJiAhc3RhdGljX2Nh
c3Q8SW5saW5lRmxvd0JveCo+KGN1cnIpLT5oYXNUZXh0Q2hpbGRyZW4oKSkgJiYgIWN1cnItPmJv
eE1vZGVsT2JqZWN0KCktPmhhc0lubGluZURpcmVjdGlvbkJvcmRlcnNPclBhZGRpbmcoKSAmJiAh
c3RyaWN0TW9kZSkKQEAgLTcyNCw4ICs3MzIsOCBAQCB2b2lkIElubGluZUZsb3dCb3g6OmFkZEJv
eFNoYWRvd1Zpc3VhbE92CiAgICAgaW50IGJveFNoYWRvd0xvZ2ljYWxSaWdodDsKICAgICByZW5k
ZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmdldEJveFNoYWRvd0lubGluZURpcmVjdGlvbkV4
dGVudChib3hTaGFkb3dMb2dpY2FsTGVmdCwgYm94U2hhZG93TG9naWNhbFJpZ2h0KTsKIAotICAg
IGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93ID0gbWluKGxvZ2ljYWxMZWZ0KCkgKyBib3hT
aGFkb3dMb2dpY2FsTGVmdCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LngoKSk7Ci0gICAgaW50IGxv
Z2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbWF4KGxvZ2ljYWxSaWdodCgpICsgYm94U2hhZG93
TG9naWNhbFJpZ2h0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cubWF4WCgpKTsKKyAgICBpbnQgbG9n
aWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9IG1pbihwaXhlbFNuYXBwZWRMb2dpY2FsTGVmdCgpICsg
Ym94U2hhZG93TG9naWNhbExlZnQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy54KCkpOworICAgIGlu
dCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1heChwaXhlbFNuYXBwZWRMb2dpY2FsUmln
aHQoKSArIGJveFNoYWRvd0xvZ2ljYWxSaWdodCwgbG9naWNhbFZpc3VhbE92ZXJmbG93Lm1heFgo
KSk7CiAgICAgCiAgICAgbG9naWNhbFZpc3VhbE92ZXJmbG93ID0gSW50UmVjdChsb2dpY2FsTGVm
dFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3csCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyAtIGxvZ2lj
YWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdyAtIGxvZ2lj
YWxUb3BWaXN1YWxPdmVyZmxvdyk7CkBAIC03ODEsOCArNzg5LDggQEAgdm9pZCBJbmxpbmVGbG93
Qm94OjphZGRUZXh0Qm94VmlzdWFsT3ZlcgogCiAgICAgaW50IGxvZ2ljYWxUb3BWaXN1YWxPdmVy
ZmxvdyA9IG1pbih0ZXh0Qm94LT5sb2dpY2FsVG9wKCkgKyBjaGlsZE92ZXJmbG93TG9naWNhbFRv
cCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LnkoKSk7CiAgICAgaW50IGxvZ2ljYWxCb3R0b21WaXN1
YWxPdmVyZmxvdyA9IG1heCh0ZXh0Qm94LT5sb2dpY2FsQm90dG9tKCkgKyBjaGlsZE92ZXJmbG93
TG9naWNhbEJvdHRvbSwgbG9naWNhbFZpc3VhbE92ZXJmbG93Lm1heFkoKSk7Ci0gICAgaW50IGxv
Z2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4odGV4dEJveC0+bG9naWNhbExlZnQoKSArIGNo
aWxkT3ZlcmZsb3dMb2dpY2FsTGVmdCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LngoKSk7Ci0gICAg
aW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93ID0gbWF4KHRleHRCb3gtPmxvZ2ljYWxSaWdo
dCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxSaWdodCwgbG9naWNhbFZpc3VhbE92ZXJmbG93Lm1h
eFgoKSk7CisgICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4odGV4dEJveC0+
cGl4ZWxTbmFwcGVkTG9naWNhbExlZnQoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsTGVmdCwgbG9n
aWNhbFZpc3VhbE92ZXJmbG93LngoKSk7CisgICAgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJm
bG93ID0gbWF4KHRleHRCb3gtPnBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCgpICsgY2hpbGRPdmVy
Zmxvd0xvZ2ljYWxSaWdodCwgbG9naWNhbFZpc3VhbE92ZXJmbG93Lm1heFgoKSk7CiAgICAgCiAg
ICAgbG9naWNhbFZpc3VhbE92ZXJmbG93ID0gSW50UmVjdChsb2dpY2FsTGVmdFZpc3VhbE92ZXJm
bG93LCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3csCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxMZWZ0VmlzdWFs
T3ZlcmZsb3csIGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdyAtIGxvZ2ljYWxUb3BWaXN1YWxP
dmVyZmxvdyk7CkBAIC04NjQsNyArODcyLDcgQEAgdm9pZCBJbmxpbmVGbG93Qm94Ojpjb21wdXRl
T3ZlcmZsb3coaW50IAogLy8gYWxsIGZ1bmN0aW9ucyB0aGF0IHF1ZXJ5IG92ZXJmbG93LiAgIAog
dm9pZCBJbmxpbmVGbG93Qm94OjpzZXRMYXlvdXRPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiByZWN0
KQogewotICAgIEludFJlY3QgZnJhbWVCb3ggPSBmcmFtZVJlY3QoKTsKKyAgICBJbnRSZWN0IGZy
YW1lQm94ID0gcGl4ZWxTbmFwcGVkRnJhbWVSZWN0KCk7CiAgICAgaWYgKGZyYW1lQm94ID09IHJl
Y3QgfHwgcmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCkBAIC04NzYs
NyArODg0LDcgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpzZXRMYXlvdXRPdmVyZmxvdyhjbwogCiB2
b2lkIElubGluZUZsb3dCb3g6OnNldFZpc3VhbE92ZXJmbG93KGNvbnN0IEludFJlY3QmIHJlY3Qp
CiB7Ci0gICAgSW50UmVjdCBmcmFtZUJveCA9IGZyYW1lUmVjdCgpOworICAgIEludFJlY3QgZnJh
bWVCb3ggPSBwaXhlbFNuYXBwZWRGcmFtZVJlY3QoKTsKICAgICBpZiAoZnJhbWVCb3ggPT0gcmVj
dCB8fCByZWN0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogICAgICAgICAKQEAgLTkxMiw5
ICs5MjAsOSBAQCBib29sIElubGluZUZsb3dCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpCiAgICAg
fQogCiAgICAgLy8gTm93IGNoZWNrIG91cnNlbHZlcy4KLSAgICBJbnRQb2ludCBib3hPcmlnaW4g
PSBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgRmxvYXRQb2ludCBib3hPcmlnaW4g
PSBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CiAgICAgYm94T3JpZ2luLm1vdmUodHgsIHR5
KTsKLSAgICBJbnRSZWN0IHJlY3QoYm94T3JpZ2luLCBJbnRTaXplKHdpZHRoKCksIGhlaWdodCgp
KSk7CisgICAgRmxvYXRSZWN0IHJlY3QoYm94T3JpZ2luLCBJbnRTaXplKHdpZHRoKCksIGhlaWdo
dCgpKSk7CiAgICAgaWYgKHZpc2libGVUb0hpdFRlc3RpbmcoKSAmJiByZWN0LmludGVyc2VjdHMo
cmVzdWx0LnJlY3RGb3JQb2ludCh4LCB5KSkpIHsKICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRl
SGl0VGVzdFJlc3VsdChyZXN1bHQsIGZsaXBGb3JXcml0aW5nTW9kZShJbnRQb2ludCh4IC0gdHgs
IHkgLSB0eSkpKTsgLy8gRG9uJ3QgYWRkIGluIG1feCBvciBtX3kgaGVyZSwgd2Ugd2FudCBjb29y
ZHMgaW4gdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBzcGFjZS4KICAgICAgICAgaWYgKCFyZXN1bHQu
YWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChyZW5kZXJlcigpLT5ub2RlKCksIHgsIHksIHJl
Y3QpKQpAQCAtMTA1MCwxMCArMTA1OCwxMiBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBhaW50Qm94
RGVjb3JhdGlvbnMoCiAgICAgaWYgKCFwYWludEluZm8uc2hvdWxkUGFpbnRXaXRoaW5Sb290KHJl
bmRlcmVyKCkpIHx8IHJlbmRlcmVyKCktPnN0eWxlKCktPnZpc2liaWxpdHkoKSAhPSBWSVNJQkxF
IHx8IHBhaW50SW5mby5waGFzZSAhPSBQYWludFBoYXNlRm9yZWdyb3VuZCkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgaW50IHggPSBtX3g7Ci0gICAgaW50IHkgPSBtX3k7Ci0gICAgaW50IHcgPSB3
aWR0aCgpOwotICAgIGludCBoID0gaGVpZ2h0KCk7CisgICAgLy8gUGl4ZWwgc25hcCBiYWNrZ3Jv
dW5kL2JvcmRlciBwYWludGluZy4KKyAgICBJbnRSZWN0IGZyYW1lUmVjdCA9IHBpeGVsU25hcHBl
ZEZyYW1lUmVjdCgpOworICAgIGludCB4ID0gZnJhbWVSZWN0LngoKTsKKyAgICBpbnQgeSA9IGZy
YW1lUmVjdC55KCk7CisgICAgaW50IHcgPSBmcmFtZVJlY3Qud2lkdGgoKTsKKyAgICBpbnQgaCA9
IGZyYW1lUmVjdC5oZWlnaHQoKTsKIAogICAgIC8vIENvbnN0cmFpbiBvdXIgYmFja2dyb3VuZC9i
b3JkZXIgcGFpbnRpbmcgdG8gdGhlIGxpbmUgdG9wIGFuZCBib3R0b20gaWYgbmVjZXNzYXJ5Lgog
ICAgIGJvb2wgbm9RdWlya3NNb2RlID0gcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+aW5Ob1F1aXJr
c01vZGUoKTsKQEAgLTExMzMsMTAgKzExNDMsMTIgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwYWlu
dE1hc2soUGFpbnRJbmZvJgogICAgIGlmICghcGFpbnRJbmZvLnNob3VsZFBhaW50V2l0aGluUm9v
dChyZW5kZXJlcigpKSB8fCByZW5kZXJlcigpLT5zdHlsZSgpLT52aXNpYmlsaXR5KCkgIT0gVklT
SUJMRSB8fCBwYWludEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZU1hc2spCiAgICAgICAgIHJldHVy
bjsKIAotICAgIGludCB4ID0gbV94OwotICAgIGludCB5ID0gbV95OwotICAgIGludCB3ID0gd2lk
dGgoKTsKLSAgICBpbnQgaCA9IGhlaWdodCgpOworICAgIC8vIFBpeGVsIHNuYXAgbWFzayBwYWlu
dGluZy4KKyAgICBJbnRSZWN0IGZyYW1lUmVjdCA9IHBpeGVsU25hcHBlZEZyYW1lUmVjdCgpOwor
ICAgIGludCB4ID0gZnJhbWVSZWN0LngoKTsKKyAgICBpbnQgeSA9IGZyYW1lUmVjdC55KCk7Cisg
ICAgaW50IHcgPSBmcmFtZVJlY3Qud2lkdGgoKTsKKyAgICBpbnQgaCA9IGZyYW1lUmVjdC5oZWln
aHQoKTsKIAogICAgIC8vIENvbnN0cmFpbiBvdXIgYmFja2dyb3VuZC9ib3JkZXIgcGFpbnRpbmcg
dG8gdGhlIGxpbmUgdG9wIGFuZCBib3R0b20gaWYgbmVjZXNzYXJ5LgogICAgIGJvb2wgbm9RdWly
a3NNb2RlID0gcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+aW5Ob1F1aXJrc01vZGUoKTsKQEAgLTEy
MzcsMTQgKzEyNDksMTQgQEAgYm9vbCBJbmxpbmVGbG93Qm94OjpjYW5BY2NvbW1vZGF0ZUVsbGlw
cwogICAgIHJldHVybiB0cnVlOwogfQogCi1pbnQgSW5saW5lRmxvd0JveDo6cGxhY2VFbGxpcHNp
c0JveChib29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50
IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KQorZmxvYXQgSW5saW5lRmxvd0JveDo6cGxh
Y2VFbGxpcHNpc0JveChib29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tS
aWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KQogewotICAgIGlu
dCByZXN1bHQgPSAtMTsKKyAgICBmbG9hdCByZXN1bHQgPSAtMTsKICAgICAvLyBXZSBpdGVyYXRl
IG92ZXIgYWxsIGNoaWxkcmVuLCB0aGUgZm91bmRCb3ggdmFyaWFibGUgdGVsbHMgdXMgd2hlbiB3
ZSd2ZSBmb3VuZCB0aGUKICAgICAvLyBib3ggY29udGFpbmluZyB0aGUgZWxsaXBzaXMuICBBbGwg
Ym94ZXMgYWZ0ZXIgdGhhdCBvbmUgaW4gdGhlIGZsb3cgYXJlIGhpZGRlbi4KICAgICAvLyBJZiBv
dXIgZmxvdyBpcyBsdHIgdGhlbiBpdGVyYXRlIG92ZXIgdGhlIGJveGVzIGZyb20gbGVmdCB0byBy
aWdodCwgb3RoZXJ3aXNlIGl0ZXJhdGUKICAgICAvLyBmcm9tIHJpZ2h0IHRvIGxlZnQuIFZhcnlp
bmcgdGhlIG9yZGVyIGFsbG93cyB1cyB0byBjb3JyZWN0bHkgaGlkZSB0aGUgYm94ZXMgZm9sbG93
aW5nIHRoZSBlbGxpcHNpcy4KLSAgICBJbmxpbmVCb3ggKmJveCA9IGx0ciA/IGZpcnN0Q2hpbGQo
KSA6IGxhc3RDaGlsZCgpOworICAgIElubGluZUJveCogYm94ID0gbHRyID8gZmlyc3RDaGlsZCgp
IDogbGFzdENoaWxkKCk7CiAKICAgICAvLyBOT1RFOiB0aGVzZSB3aWxsIGNyb3NzIGFmdGVyIGZv
dW5kQm94ID0gdHJ1ZS4KICAgICBpbnQgdmlzaWJsZUxlZnRFZGdlID0gYmxvY2tMZWZ0RWRnZTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAkocmV2aXNpb24g
Nzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC04NSw3ICs4NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGVs
ZXRlTGluZShSZW5kZXJBcmVuYSopOwogICAgIHZpcnR1YWwgdm9pZCBleHRyYWN0TGluZSgpOwog
ICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hMaW5lKCk7Ci0gICAgdmlydHVhbCB2b2lkIGFkanVzdFBv
c2l0aW9uKGludCBkeCwgaW50IGR5KTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UG9zaXRpb24o
ZmxvYXQgZHgsIGZsb2F0IGR5KTsKIAogICAgIHZpcnR1YWwgdm9pZCBleHRyYWN0TGluZUJveEZy
b21SZW5kZXJPYmplY3QoKTsKICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoTGluZUJveFRvUmVuZGVy
T2JqZWN0KCk7CkBAIC05Myw2ICs5Myw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBj
bGVhclRydW5jYXRpb24oKTsKIAorICAgIEludFJlY3QgcGl4ZWxTbmFwcGVkRnJhbWVSZWN0KCkg
Y29uc3Q7CisgICAgCiAgICAgdmlydHVhbCB2b2lkIHBhaW50Qm94RGVjb3JhdGlvbnMoUGFpbnRJ
bmZvJiwgaW50IHR4LCBpbnQgdHkpOwogICAgIHZpcnR1YWwgdm9pZCBwYWludE1hc2soUGFpbnRJ
bmZvJiwgaW50IHR4LCBpbnQgdHkpOwogICAgIHZvaWQgcGFpbnRGaWxsTGF5ZXJzKGNvbnN0IFBh
aW50SW5mbyYsIGNvbnN0IENvbG9yJiwgY29uc3QgRmlsbExheWVyKiwgaW50IHR4LCBpbnQgdHks
IGludCB3LCBpbnQgaCwgQ29tcG9zaXRlT3BlcmF0b3IgPSBDb21wb3NpdGVTb3VyY2VPdmVyKTsK
QEAgLTE1NSw3ICsxNTcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZXRlcm1pbmVTcGFjaW5nRm9y
Rmxvd0JveGVzKGJvb2wgbGFzdExpbmUsIFJlbmRlck9iamVjdCogZW5kT2JqZWN0KTsKICAgICBp
bnQgZ2V0Rmxvd1NwYWNpbmdMb2dpY2FsV2lkdGgoKTsKICAgICBib29sIG9uRW5kQ2hhaW4oUmVu
ZGVyT2JqZWN0KiBlbmRPYmplY3QpOwotICAgIGludCBwbGFjZUJveGVzSW5JbmxpbmVEaXJlY3Rp
b24oaW50IGxvZ2ljYWxMZWZ0LCBib29sJiBuZWVkc1dvcmRTcGFjaW5nLCBHbHlwaE92ZXJmbG93
QW5kRmFsbGJhY2tGb250c01hcCYpOworICAgIGZsb2F0IHBsYWNlQm94ZXNJbklubGluZURpcmVj
dGlvbihmbG9hdCBsb2dpY2FsTGVmdCwgYm9vbCYgbmVlZHNXb3JkU3BhY2luZywgR2x5cGhPdmVy
Zmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmKTsKICAgICB2b2lkIGNvbXB1dGVMb2dpY2FsQm94SGVp
Z2h0cyhpbnQmIG1heFBvc2l0aW9uVG9wLCBpbnQmIG1heFBvc2l0aW9uQm90dG9tLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgbWF4QXNjZW50LCBpbnQmIG1heERlc2Nl
bnQsIGJvb2wmIHNldE1heEFzY2VudCwgYm9vbCYgc2V0TWF4RGVzY2VudCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBib29sIHN0cmljdE1vZGUsIEdseXBoT3ZlcmZsb3dBbmRG
YWxsYmFja0ZvbnRzTWFwJiwgRm9udEJhc2VsaW5lLCBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUmKTsK
QEAgLTE3Niw3ICsxNzgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3Q6OlNl
bGVjdGlvblN0YXRlIHNlbGVjdGlvblN0YXRlKCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuQWNj
b21tb2RhdGVFbGxpcHNpcyhib29sIGx0ciwgaW50IGJsb2NrRWRnZSwgaW50IGVsbGlwc2lzV2lk
dGgpOwotICAgIHZpcnR1YWwgaW50IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGludCBibG9j
a0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBib29sJik7
CisgICAgdmlydHVhbCBmbG9hdCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBmbG9hdCBibG9j
a0xlZnRFZGdlLCBmbG9hdCBibG9ja1JpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9v
bCYpOwogCiAgICAgYm9vbCBoYXNUZXh0Q2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBtX2hhc1Rl
eHRDaGlsZHJlbjsgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4
dEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRl
eHRCb3guY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9J
bmxpbmVUZXh0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQg
SW5saW5lVGV4dEJveDo6YXR0YWNoTGluZSgpCiAgICAgdG9SZW5kZXJUZXh0KHJlbmRlcmVyKCkp
LT5hdHRhY2hUZXh0Qm94KHRoaXMpOwogfQogCi1pbnQgSW5saW5lVGV4dEJveDo6cGxhY2VFbGxp
cHNpc0JveChib29sIGZsb3dJc0xUUiwgaW50IHZpc2libGVMZWZ0RWRnZSwgaW50IHZpc2libGVS
aWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCkKK2Zsb2F0IElubGlu
ZVRleHRCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCBmbG93SXNMVFIsIGZsb2F0IHZpc2libGVM
ZWZ0RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9v
bCYgZm91bmRCb3gpCiB7CiAgICAgaWYgKGZvdW5kQm94KSB7CiAgICAgICAgIG1fdHJ1bmNhdGlv
biA9IGNGdWxsVHJ1bmNhdGlvbjsKQEAgLTIwOSw3ICsyMDksNyBAQCBpbnQgSW5saW5lVGV4dEJv
eDo6cGxhY2VFbGxpcHNpc0JveChib29sCiAgICAgfQogCiAgICAgLy8gRm9yIExUUiB0aGlzIGlz
IHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlIGJveCwgZm9yIFJUTCwgdGhlIHJpZ2h0IGVkZ2UgaW4gcGFy
ZW50IGNvb3JkaW5hdGVzLgotICAgIGludCBlbGxpcHNpc1ggPSBmbG93SXNMVFIgPyB2aXNpYmxl
UmlnaHRFZGdlIC0gZWxsaXBzaXNXaWR0aCA6IHZpc2libGVMZWZ0RWRnZSArIGVsbGlwc2lzV2lk
dGg7CisgICAgZmxvYXQgZWxsaXBzaXNYID0gZmxvd0lzTFRSID8gdmlzaWJsZVJpZ2h0RWRnZSAt
IGVsbGlwc2lzV2lkdGggOiB2aXNpYmxlTGVmdEVkZ2UgKyBlbGxpcHNpc1dpZHRoOwogICAgIAog
ICAgIC8vIENyaXRlcmlhIGZvciBmdWxsIHRydW5jYXRpb246CiAgICAgLy8gTFRSOiB0aGUgbGVm
dCBlZGdlIG9mIHRoZSBlbGxpcHNpcyBpcyB0byB0aGUgbGVmdCBvZiBvdXIgdGV4dCBydW4uCkBA
IC0yNTEsNyArMjUxLDcgQEAgaW50IElubGluZVRleHRCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9v
bAogCiAgICAgICAgIC8vIElmIHdlIGdvdCBoZXJlIHRoYXQgbWVhbnMgdGhhdCB3ZSB3ZXJlIG9u
bHkgcGFydGlhbGx5IHRydW5jYXRlZCBhbmQgd2UgbmVlZCB0byByZXR1cm4gdGhlIHBpeGVsIG9m
ZnNldCBhdCB3aGljaAogICAgICAgICAvLyB0byBwbGFjZSB0aGUgZWxsaXBzaXMuCi0gICAgICAg
IGludCB3aWR0aE9mVmlzaWJsZVRleHQgPSB0b1JlbmRlclRleHQocmVuZGVyZXIoKSktPndpZHRo
KG1fc3RhcnQsIG9mZnNldCwgdGV4dFBvcygpLCBtX2ZpcnN0TGluZSk7CisgICAgICAgIGZsb2F0
IHdpZHRoT2ZWaXNpYmxlVGV4dCA9IHRvUmVuZGVyVGV4dChyZW5kZXJlcigpKS0+d2lkdGgobV9z
dGFydCwgb2Zmc2V0LCB0ZXh0UG9zKCksIG1fZmlyc3RMaW5lKTsKIAogICAgICAgICAvLyBUaGUg
ZWxsaXBzaXMgbmVlZHMgdG8gYmUgcGxhY2VkIGp1c3QgYWZ0ZXIgdGhlIGxhc3QgdmlzaWJsZSBj
aGFyYWN0ZXIuCiAgICAgICAgIC8vIFdoZXJlICJhZnRlciIgaXMgZGVmaW5lZCBieSB0aGUgZmxv
dyBkaXJlY3Rpb25hbGl0eSwgbm90IHRoZSBpbmxpbmUKQEAgLTMxOSw5ICszMTksOSBAQCBib29s
IElubGluZVRleHRCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpCiAgICAgaWYgKGlzTGluZUJyZWFr
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEludFBvaW50IGJveE9yaWdpbiA9IGxv
Y2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKKyAgICBGbG9hdFBvaW50IGJveE9yaWdpbiA9IGxv
Y2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKICAgICBib3hPcmlnaW4ubW92ZSh0eCwgdHkpOwot
ICAgIEludFJlY3QgcmVjdChib3hPcmlnaW4sIEludFNpemUod2lkdGgoKSwgaGVpZ2h0KCkpKTsK
KyAgICBGbG9hdFJlY3QgcmVjdChib3hPcmlnaW4sIEludFNpemUod2lkdGgoKSwgaGVpZ2h0KCkp
KTsKICAgICBpZiAobV90cnVuY2F0aW9uICE9IGNGdWxsVHJ1bmNhdGlvbiAmJiB2aXNpYmxlVG9I
aXRUZXN0aW5nKCkgJiYgcmVjdC5pbnRlcnNlY3RzKHJlc3VsdC5yZWN0Rm9yUG9pbnQoeCwgeSkp
KSB7CiAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBmbGlw
Rm9yV3JpdGluZ01vZGUoSW50UG9pbnQoeCAtIHR4LCB5IC0gdHkpKSk7CiAgICAgICAgIGlmICgh
cmVzdWx0LmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQocmVuZGVyZXIoKS0+bm9kZSgpLCB4
LCB5LCByZWN0KSkKQEAgLTM1Nyw4ICszNTcsOCBAQCBGbG9hdFNpemUgSW5saW5lVGV4dEJveDo6
YXBwbHlTaGFkb3dUb0dyCiAgICAgcmV0dXJuIGV4dHJhT2Zmc2V0OwogfQogCi1zdGF0aWMgdm9p
ZCBwYWludFRleHRXaXRoU2hhZG93cyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZv
bnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHRleHRSdW4sIGNvbnN0IEF0b21pY1N0cmluZyYgZW1w
aGFzaXNNYXJrLCBpbnQgZW1waGFzaXNNYXJrT2Zmc2V0LCBpbnQgc3RhcnRPZmZzZXQsIGludCBl
bmRPZmZzZXQsIGludCB0cnVuY2F0aW9uUG9pbnQsIGNvbnN0IEludFBvaW50JiB0ZXh0T3JpZ2lu
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50UmVjdCYgYm94UmVj
dCwgY29uc3QgU2hhZG93RGF0YSogc2hhZG93LCBib29sIHN0cm9rZWQsIGJvb2wgaG9yaXpvbnRh
bCkKK3N0YXRpYyB2b2lkIHBhaW50VGV4dFdpdGhTaGFkb3dzKEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCwgY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgdGV4dFJ1biwgY29uc3QgQXRv
bWljU3RyaW5nJiBlbXBoYXNpc01hcmssIGludCBlbXBoYXNpc01hcmtPZmZzZXQsIGludCBzdGFy
dE9mZnNldCwgaW50IGVuZE9mZnNldCwgaW50IHRydW5jYXRpb25Qb2ludCwgY29uc3QgRmxvYXRQ
b2ludCYgdGV4dE9yaWdpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IEZsb2F0UmVjdCYgYm94UmVjdCwgY29uc3QgU2hhZG93RGF0YSogc2hhZG93LCBib29sIHN0cm9r
ZWQsIGJvb2wgaG9yaXpvbnRhbCkKIHsKICAgICBDb2xvciBmaWxsQ29sb3IgPSBjb250ZXh0LT5m
aWxsQ29sb3IoKTsKICAgICBDb2xvclNwYWNlIGZpbGxDb2xvclNwYWNlID0gY29udGV4dC0+Zmls
bENvbG9yU3BhY2UoKTsKQEAgLTQ4MiwxMCArNDgyLDEwIEBAIHZvaWQgSW5saW5lVGV4dEJveDo6
cGFpbnQoUGFpbnRJbmZvJiBwYWkKICAgICAKICAgICB0eSAtPSBzdHlsZVRvVXNlLT5pc0hvcml6
b250YWxXcml0aW5nTW9kZSgpID8gMCA6IGxvZ2ljYWxIZWlnaHQoKTsKIAotICAgIEludFBvaW50
IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKKyAgICBGbG9hdFBvaW50
IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKICAgICBib3hPcmlnaW4u
bW92ZSh0eCwgdHkpOyAgICAKLSAgICBJbnRSZWN0IGJveFJlY3QoYm94T3JpZ2luLCBJbnRTaXpl
KGxvZ2ljYWxXaWR0aCgpLCBsb2dpY2FsSGVpZ2h0KCkpKTsKLSAgICBJbnRQb2ludCB0ZXh0T3Jp
Z2luID0gSW50UG9pbnQoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSArIHN0eWxlVG9Vc2Ut
PmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOworICAgIEZsb2F0UmVjdCBib3hSZWN0KGJveE9yaWdp
biwgSW50U2l6ZShsb2dpY2FsV2lkdGgoKSwgbG9naWNhbEhlaWdodCgpKSk7CisgICAgRmxvYXRQ
b2ludCB0ZXh0T3JpZ2luID0gRmxvYXRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgp
ICsgc3R5bGVUb1VzZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAKICAgICBSZW5kZXJDb21i
aW5lVGV4dCogY29tYmluZWRUZXh0ID0gc3R5bGVUb1VzZS0+aGFzVGV4dENvbWJpbmUoKSA/IHRv
UmVuZGVyQ29tYmluZVRleHQodGV4dFJlbmRlcmVyKCkpIDogMDsKICAgICBib29sIHNob3VsZFJv
dGF0ZSA9ICFpc0hvcml6b250YWwoKSAmJiAoIWNvbWJpbmVkVGV4dCB8fCAhY29tYmluZWRUZXh0
LT5pc0NvbWJpbmVkKCkpOwpAQCAtNzM2LDcgKzczNiw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6
c2VsZWN0aW9uU3RhcnRFbmQoaW4KICAgICBlUG9zID0gbWluKGVuZFBvcyAtIG1fc3RhcnQsIChp
bnQpbV9sZW4pOwogfQogCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50U2VsZWN0aW9uKEdyYXBo
aWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5
bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250KQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNl
bGVjdGlvbihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9y
aWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250KQogewogICAgIC8vIFNl
ZSBpZiB3ZSBoYXZlIGEgc2VsZWN0aW9uIHRvIHBhaW50IGF0IGFsbC4KICAgICBpbnQgc1Bvcywg
ZVBvczsKQEAgLTc3MCwxNSArNzcwLDE1IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTZWxl
Y3Rpb24oR3JhcGgKIAogICAgIGludCBkZWx0YVkgPSByZW5kZXJlcigpLT5zdHlsZSgpLT5pc0Zs
aXBwZWRMaW5lc1dyaXRpbmdNb2RlKCkgPyBzZWxlY3Rpb25Cb3R0b20oKSAtIGxvZ2ljYWxCb3R0
b20oKSA6IGxvZ2ljYWxUb3AoKSAtIHNlbGVjdGlvblRvcCgpOwogICAgIGludCBzZWxIZWlnaHQg
PSBzZWxlY3Rpb25IZWlnaHQoKTsKLSAgICBJbnRQb2ludCBsb2NhbE9yaWdpbihib3hPcmlnaW4u
eCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKLSAgICBjb250ZXh0LT5jbGlwKEludFJlY3Qo
bG9jYWxPcmlnaW4sIEludFNpemUobV9sb2dpY2FsV2lkdGgsIHNlbEhlaWdodCkpKTsKKyAgICBG
bG9hdFBvaW50IGxvY2FsT3JpZ2luKGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0
YVkpOworICAgIGNvbnRleHQtPmNsaXAoRmxvYXRSZWN0KGxvY2FsT3JpZ2luLCBGbG9hdFNpemUo
bV9sb2dpY2FsV2lkdGgsIHNlbEhlaWdodCkpKTsKICAgICBjb250ZXh0LT5kcmF3SGlnaGxpZ2h0
Rm9yVGV4dChmb250LCBUZXh0UnVuKGNoYXJhY3RlcnMsIGxlbmd0aCwgdGV4dFJlbmRlcmVyKCkt
PmFsbG93VGFicygpLCB0ZXh0UG9zKCksIG1fZXhwYW5zaW9uLCB0cmFpbGluZ0V4cGFuc2lvbkJl
aGF2aW9yKCksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFpc0xlZnRUb1Jp
Z2h0RGlyZWN0aW9uKCksIG1fZGlyT3ZlcnJpZGUgfHwgc3R5bGUtPnZpc3VhbGx5T3JkZXJlZCgp
KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbE9yaWdpbiwgc2VsSGVp
Z2h0LCBjLCBzdHlsZS0+Y29sb3JTcGFjZSgpLCBzUG9zLCBlUG9zKTsKICAgICBjb250ZXh0LT5y
ZXN0b3JlKCk7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvbkJhY2tn
cm91bmQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2lu
LCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQsIGludCBzdGFydFBvcywgaW50
IGVuZFBvcykKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQo
R3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIFJl
bmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgaW50IHN0YXJ0UG9zLCBpbnQgZW5k
UG9zKQogewogICAgIGludCBvZmZzZXQgPSBtX3N0YXJ0OwogICAgIGludCBzUG9zID0gbWF4KHN0
YXJ0UG9zIC0gb2Zmc2V0LCAwKTsKQEAgLTc5NSw3ICs3OTUsNyBAQCB2b2lkIElubGluZVRleHRC
b3g6OnBhaW50Q29tcG9zaXRpb25CYWNrCiAKICAgICBpbnQgZGVsdGFZID0gcmVuZGVyZXIoKS0+
c3R5bGUoKS0+aXNGbGlwcGVkTGluZXNXcml0aW5nTW9kZSgpID8gc2VsZWN0aW9uQm90dG9tKCkg
LSBsb2dpY2FsQm90dG9tKCkgOiBsb2dpY2FsVG9wKCkgLSBzZWxlY3Rpb25Ub3AoKTsKICAgICBp
bnQgc2VsSGVpZ2h0ID0gc2VsZWN0aW9uSGVpZ2h0KCk7Ci0gICAgSW50UG9pbnQgbG9jYWxPcmln
aW4oYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSk7CisgICAgRmxvYXRQb2lu
dCBsb2NhbE9yaWdpbihib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKICAg
ICBjb250ZXh0LT5kcmF3SGlnaGxpZ2h0Rm9yVGV4dChmb250LCBUZXh0UnVuKHRleHRSZW5kZXJl
cigpLT50ZXh0KCktPmNoYXJhY3RlcnMoKSArIG1fc3RhcnQsIG1fbGVuLCB0ZXh0UmVuZGVyZXIo
KS0+YWxsb3dUYWJzKCksIHRleHRQb3MoKSwgbV9leHBhbnNpb24sIHRyYWlsaW5nRXhwYW5zaW9u
QmVoYXZpb3IoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaXNMZWZ0VG9S
aWdodERpcmVjdGlvbigpLCBtX2Rpck92ZXJyaWRlIHx8IHN0eWxlLT52aXN1YWxseU9yZGVyZWQo
KSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxPcmlnaW4sIHNlbEhl
aWdodCwgYywgc3R5bGUtPmNvbG9yU3BhY2UoKSwgc1BvcywgZVBvcyk7CkBAIC04MjIsMTQgKzgy
MiwxNCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50Q3VzdG9tSGlnaGxpZ2h0CiAKICNlbmRp
ZgogCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbihHcmFwaGljc0NvbnRleHQq
IGNvbnRleHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGludCBkZWNvLCBjb25zdCBTaGFk
b3dEYXRhKiBzaGFkb3cpCit2b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbihHcmFw
aGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgaW50IGRl
Y28sIGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdykKIHsKICAgICBpZiAobV90cnVuY2F0aW9uID09
IGNGdWxsVHJ1bmNhdGlvbikKICAgICAgICAgcmV0dXJuOwogCi0gICAgSW50UG9pbnQgbG9jYWxP
cmlnaW4gPSBib3hPcmlnaW47CisgICAgRmxvYXRQb2ludCBsb2NhbE9yaWdpbiA9IGJveE9yaWdp
bjsKIAotICAgIGludCB3aWR0aCA9IG1fbG9naWNhbFdpZHRoOworICAgIGZsb2F0IHdpZHRoID0g
bV9sb2dpY2FsV2lkdGg7CiAgICAgaWYgKG1fdHJ1bmNhdGlvbiAhPSBjTm9UcnVuY2F0aW9uKSB7
CiAgICAgICAgIHdpZHRoID0gdG9SZW5kZXJUZXh0KHJlbmRlcmVyKCkpLT53aWR0aChtX3N0YXJ0
LCBtX3RydW5jYXRpb24sIHRleHRQb3MoKSwgbV9maXJzdExpbmUpOwogICAgICAgICBpZiAoIWlz
TGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKQEAgLTg1Myw5ICs4NTMsOSBAQCB2b2lkIElubGluZVRl
eHRCb3g6OnBhaW50RGVjb3JhdGlvbihHcmFwCiAgICAgaW50IGV4dHJhT2Zmc2V0ID0gMDsKICAg
ICBpZiAoIWxpbmVzQXJlT3BhcXVlICYmIHNoYWRvdyAmJiBzaGFkb3ctPm5leHQoKSkgewogICAg
ICAgICBjb250ZXh0LT5zYXZlKCk7Ci0gICAgICAgIEludFJlY3QgY2xpcFJlY3QobG9jYWxPcmln
aW4sIEludFNpemUod2lkdGgsIGJhc2VsaW5lICsgMikpOworICAgICAgICBGbG9hdFJlY3QgY2xp
cFJlY3QobG9jYWxPcmlnaW4sIEZsb2F0U2l6ZSh3aWR0aCwgYmFzZWxpbmUgKyAyKSk7CiAgICAg
ICAgIGZvciAoY29uc3QgU2hhZG93RGF0YSogcyA9IHNoYWRvdzsgczsgcyA9IHMtPm5leHQoKSkg
ewotICAgICAgICAgICAgSW50UmVjdCBzaGFkb3dSZWN0KGxvY2FsT3JpZ2luLCBJbnRTaXplKHdp
ZHRoLCBiYXNlbGluZSArIDIpKTsKKyAgICAgICAgICAgIEZsb2F0UmVjdCBzaGFkb3dSZWN0KGxv
Y2FsT3JpZ2luLCBGbG9hdFNpemUod2lkdGgsIGJhc2VsaW5lICsgMikpOwogICAgICAgICAgICAg
c2hhZG93UmVjdC5pbmZsYXRlKHMtPmJsdXIoKSk7CiAgICAgICAgICAgICBpbnQgc2hhZG93WCA9
IGlzSG9yaXpvbnRhbCgpID8gcy0+eCgpIDogcy0+eSgpOwogICAgICAgICAgICAgaW50IHNoYWRv
d1kgPSBpc0hvcml6b250YWwoKSA/IHMtPnkoKSA6IC1zLT54KCk7CkBAIC04ODIsNyArODgyLDcg
QEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oR3JhcAogICAgICAgICAgICAg
fQogICAgICAgICAgICAgaW50IHNoYWRvd1ggPSBpc0hvcml6b250YWwoKSA/IHNoYWRvdy0+eCgp
IDogc2hhZG93LT55KCk7CiAgICAgICAgICAgICBpbnQgc2hhZG93WSA9IGlzSG9yaXpvbnRhbCgp
ID8gc2hhZG93LT55KCkgOiAtc2hhZG93LT54KCk7Ci0gICAgICAgICAgICBjb250ZXh0LT5zZXRT
aGFkb3coSW50U2l6ZShzaGFkb3dYLCBzaGFkb3dZIC0gZXh0cmFPZmZzZXQpLCBzaGFkb3ctPmJs
dXIoKSwgc2hhZG93LT5jb2xvcigpLCBjb2xvclNwYWNlKTsKKyAgICAgICAgICAgIGNvbnRleHQt
PnNldFNoYWRvdyhGbG9hdFNpemUoc2hhZG93WCwgc2hhZG93WSAtIGV4dHJhT2Zmc2V0KSwgc2hh
ZG93LT5ibHVyKCksIHNoYWRvdy0+Y29sb3IoKSwgY29sb3JTcGFjZSk7CiAgICAgICAgICAgICBz
ZXRTaGFkb3cgPSB0cnVlOwogICAgICAgICAgICAgc2hhZG93ID0gc2hhZG93LT5uZXh0KCk7CiAg
ICAgICAgIH0KQEAgLTg5MSw3ICs4OTEsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVj
b3JhdGlvbihHcmFwCiAgICAgICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VDb2xvcih1bmRlcmxp
bmUsIGNvbG9yU3BhY2UpOwogICAgICAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlU3R5bGUoU29s
aWRTdHJva2UpOwogICAgICAgICAgICAgLy8gTGVhdmUgb25lIHBpeGVsIG9mIHdoaXRlIGJldHdl
ZW4gdGhlIGJhc2VsaW5lIGFuZCB0aGUgdW5kZXJsaW5lLgotICAgICAgICAgICAgY29udGV4dC0+
ZHJhd0xpbmVGb3JUZXh0KEludFBvaW50KGxvY2FsT3JpZ2luLngoKSwgbG9jYWxPcmlnaW4ueSgp
ICsgYmFzZWxpbmUgKyAxKSwgd2lkdGgsIGlzUHJpbnRpbmcpOworICAgICAgICAgICAgY29udGV4
dC0+ZHJhd0xpbmVGb3JUZXh0KEZsb2F0UG9pbnQobG9jYWxPcmlnaW4ueCgpLCBsb2NhbE9yaWdp
bi55KCkgKyBiYXNlbGluZSArIDEpLCB3aWR0aCwgaXNQcmludGluZyk7CiAgICAgICAgIH0KICAg
ICAgICAgaWYgKGRlY28gJiBPVkVSTElORSkgewogICAgICAgICAgICAgY29udGV4dC0+c2V0U3Ry
b2tlQ29sb3Iob3ZlcmxpbmUsIGNvbG9yU3BhY2UpOwpAQCAtOTAxLDcgKzkwMSw3IEBAIHZvaWQg
SW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKEdyYXAKICAgICAgICAgaWYgKGRlY28gJiBM
SU5FX1RIUk9VR0gpIHsKICAgICAgICAgICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKGxpbmV0
aHJvdWdoLCBjb2xvclNwYWNlKTsKICAgICAgICAgICAgIGNvbnRleHQtPnNldFN0cm9rZVN0eWxl
KFNvbGlkU3Ryb2tlKTsKLSAgICAgICAgICAgIGNvbnRleHQtPmRyYXdMaW5lRm9yVGV4dChJbnRQ
b2ludChsb2NhbE9yaWdpbi54KCksIGxvY2FsT3JpZ2luLnkoKSArIDIgKiBiYXNlbGluZSAvIDMp
LCB3aWR0aCwgaXNQcmludGluZyk7CisgICAgICAgICAgICBjb250ZXh0LT5kcmF3TGluZUZvclRl
eHQoRmxvYXRQb2ludChsb2NhbE9yaWdpbi54KCksIGxvY2FsT3JpZ2luLnkoKSArIDIgKiBiYXNl
bGluZSAvIDMpLCB3aWR0aCwgaXNQcmludGluZyk7CiAgICAgICAgIH0KICAgICB9IHdoaWxlIChz
aGFkb3cpOwogCkBAIC05MjYsNyArOTI2LDcgQEAgc3RhdGljIEdyYXBoaWNzQ29udGV4dDo6VGV4
dENoZWNraW5nTGluZQogICAgIH0KIH0KIAotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxs
aW5nT3JHcmFtbWFyTWFya2VyKEdyYXBoaWNzQ29udGV4dCogcHQsIGNvbnN0IEludFBvaW50JiBi
b3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiBtYXJrZXIsIFJlbmRlclN0eWxlKiBzdHls
ZSwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBncmFtbWFyKQordm9pZCBJbmxpbmVUZXh0Qm94Ojpw
YWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdyYXBoaWNzQ29udGV4dCogcHQsIGNvbnN0IEZs
b2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImIG1hcmtlciwgUmVuZGVy
U3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250LCBib29sIGdyYW1tYXIpCiB7CiAgICAgLy8g
TmV2ZXIgcHJpbnQgc3BlbGxpbmcvZ3JhbW1hciBtYXJrZXJzICg1MzI3ODg3KQogICAgIGlmICh0
ZXh0UmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+cHJpbnRpbmcoKSkKQEAgLTkzNSw4ICs5MzUsOCBA
QCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tCiAgICAgaWYgKG1fdHJ1
bmNhdGlvbiA9PSBjRnVsbFRydW5jYXRpb24pCiAgICAgICAgIHJldHVybjsKIAotICAgIGludCBz
dGFydCA9IDA7ICAgICAgICAgICAgICAgICAgLy8gc3RhcnQgb2YgbGluZSB0byBkcmF3LCByZWxh
dGl2ZSB0byB0eAotICAgIGludCB3aWR0aCA9IG1fbG9naWNhbFdpZHRoOyAgICAgICAgICAgIC8v
IGhvdyBtdWNoIGxpbmUgdG8gZHJhdworICAgIGZsb2F0IHN0YXJ0ID0gMDsgLy8gc3RhcnQgb2Yg
bGluZSB0byBkcmF3LCByZWxhdGl2ZSB0byB0eAorICAgIGZsb2F0IHdpZHRoID0gbV9sb2dpY2Fs
V2lkdGg7IC8vIGhvdyBtdWNoIGxpbmUgdG8gZHJhdwogCiAgICAgLy8gRGV0ZXJtaW5lIHdoZXRo
ZXIgd2UgbmVlZCB0byBtZWFzdXJlIHRleHQKICAgICBib29sIG1hcmtlclNwYW5zV2hvbGVCb3gg
PSB0cnVlOwpAQCAtOTU3LDkgKzk1NywxMCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50U3Bl
bGxpbmdPckdyYW1tCiAgICAgICAgIC8vIENhbGN1bGF0ZSBzdGFydCAmIHdpZHRoCiAgICAgICAg
IGludCBkZWx0YVkgPSByZW5kZXJlcigpLT5zdHlsZSgpLT5pc0ZsaXBwZWRMaW5lc1dyaXRpbmdN
b2RlKCkgPyBzZWxlY3Rpb25Cb3R0b20oKSAtIGxvZ2ljYWxCb3R0b20oKSA6IGxvZ2ljYWxUb3Ao
KSAtIHNlbGVjdGlvblRvcCgpOwogICAgICAgICBpbnQgc2VsSGVpZ2h0ID0gc2VsZWN0aW9uSGVp
Z2h0KCk7Ci0gICAgICAgIEludFBvaW50IHN0YXJ0UG9pbnQoYm94T3JpZ2luLngoKSwgYm94T3Jp
Z2luLnkoKSAtIGRlbHRhWSk7CisgICAgICAgIEZsb2F0UG9pbnQgc3RhcnRQb2ludChib3hPcmln
aW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKICAgICAgICAgVGV4dFJ1biBydW4odGV4
dFJlbmRlcmVyKCktPnRleHQoKS0+Y2hhcmFjdGVycygpICsgbV9zdGFydCwgbV9sZW4sIHRleHRS
ZW5kZXJlcigpLT5hbGxvd1RhYnMoKSwgdGV4dFBvcygpLCBtX2V4cGFuc2lvbiwgdHJhaWxpbmdF
eHBhbnNpb25CZWhhdmlvcigpLCAhaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpLCBtX2Rpck92ZXJy
aWRlIHx8IHN0eWxlLT52aXN1YWxseU9yZGVyZWQoKSk7Ci0gICAgICAgICAKKyAgICAgICAgCisg
ICAgICAgIC8vIEZJWE1FOiBDb252ZXJ0IHRoZSBkb2N1bWVudCBtYXJrZXJzIHRvIGZsb2F0IHJl
Y3RzLgogICAgICAgICBJbnRSZWN0IG1hcmtlclJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KGZvbnQu
c2VsZWN0aW9uUmVjdEZvclRleHQocnVuLCBzdGFydFBvaW50LCBzZWxIZWlnaHQsIHN0YXJ0UG9z
aXRpb24sIGVuZFBvc2l0aW9uKSk7CiAgICAgICAgIHN0YXJ0ID0gbWFya2VyUmVjdC54KCkgLSBz
dGFydFBvaW50LngoKTsKICAgICAgICAgd2lkdGggPSBtYXJrZXJSZWN0LndpZHRoKCk7CkBAIC05
OTAsMTAgKzk5MSwxMCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1t
CiAgICAgICAgIC8vIEluIGxhcmdlciBmb250cywgdGhvdWdoLCBwbGFjZSB0aGUgdW5kZXJsaW5l
IHVwIG5lYXIgdGhlIGJhc2VsaW5lIHRvIHByZXZlbnQgYSBiaWcgZ2FwLgogICAgICAgICB1bmRl
cmxpbmVPZmZzZXQgPSBiYXNlbGluZSArIDI7CiAgICAgfQotICAgIHB0LT5kcmF3TGluZUZvclRl
eHRDaGVja2luZyhJbnRQb2ludChib3hPcmlnaW4ueCgpICsgc3RhcnQsIGJveE9yaWdpbi55KCkg
KyB1bmRlcmxpbmVPZmZzZXQpLCB3aWR0aCwgdGV4dENoZWNraW5nTGluZVN0eWxlRm9yTWFya2Vy
VHlwZShtYXJrZXIudHlwZSkpOworICAgIHB0LT5kcmF3TGluZUZvclRleHRDaGVja2luZyhGbG9h
dFBvaW50KGJveE9yaWdpbi54KCkgKyBzdGFydCwgYm94T3JpZ2luLnkoKSArIHVuZGVybGluZU9m
ZnNldCksIHdpZHRoLCB0ZXh0Q2hlY2tpbmdMaW5lU3R5bGVGb3JNYXJrZXJUeXBlKG1hcmtlci50
eXBlKSk7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRUZXh0TWF0Y2hNYXJrZXIoR3Jh
cGhpY3NDb250ZXh0KiBwdCwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1l
bnRNYXJrZXImIG1hcmtlciwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250KQor
dm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFRleHRNYXRjaE1hcmtlcihHcmFwaGljc0NvbnRleHQq
IHB0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiBt
YXJrZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCkKIHsKICAgICAvLyBV
c2Ugc2FtZSB5IHBvc2l0aW9uaW5nIGFuZCBoZWlnaHQgYXMgZm9yIHNlbGVjdGlvbiwgc28gdGhh
dCB3aGVuIHRoZSBzZWxlY3Rpb24gYW5kIHRoaXMgaGlnaGxpZ2h0IGFyZSBvbgogICAgIC8vIHRo
ZSBzYW1lIHdvcmQgdGhlcmUgYXJlIG5vIHBpZWNlcyBzdGlja2luZyBvdXQuCkBAIC0xMDE2LDgg
KzEwMTcsOCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50VGV4dE1hdGNoTWFya2VyCiAgICAg
ICAgICAgICByZW5kZXJlcigpLT50aGVtZSgpLT5wbGF0Zm9ybUluYWN0aXZlVGV4dFNlYXJjaEhp
Z2hsaWdodENvbG9yKCk7CiAgICAgICAgIHB0LT5zYXZlKCk7CiAgICAgICAgIHVwZGF0ZUdyYXBo
aWNzQ29udGV4dChwdCwgY29sb3IsIGNvbG9yLCAwLCBzdHlsZS0+Y29sb3JTcGFjZSgpKTsgIC8v
IERvbid0IGRyYXcgdGV4dCBhdCBhbGwhCi0gICAgICAgIHB0LT5jbGlwKEludFJlY3QoYm94T3Jp
Z2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSwgbV9sb2dpY2FsV2lkdGgsIHNlbEhlaWdo
dCkpOwotICAgICAgICBwdC0+ZHJhd0hpZ2hsaWdodEZvclRleHQoZm9udCwgcnVuLCBJbnRQb2lu
dChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKSwgc2VsSGVpZ2h0LCBjb2xv
ciwgc3R5bGUtPmNvbG9yU3BhY2UoKSwgc1BvcywgZVBvcyk7CisgICAgICAgIHB0LT5jbGlwKEZs
b2F0UmVjdChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZLCBtX2xvZ2ljYWxX
aWR0aCwgc2VsSGVpZ2h0KSk7CisgICAgICAgIHB0LT5kcmF3SGlnaGxpZ2h0Rm9yVGV4dChmb250
LCBydW4sIEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSks
IHNlbEhlaWdodCwgY29sb3IsIHN0eWxlLT5jb2xvclNwYWNlKCksIHNQb3MsIGVQb3MpOwogICAg
ICAgICBwdC0+cmVzdG9yZSgpOwogICAgIH0KIH0KQEAgLTEwMzksNyArMTA0MCw3IEBAIHZvaWQg
SW5saW5lVGV4dEJveDo6Y29tcHV0ZVJlY3RGb3JSZXBsYWMKICAgICByZW5kZXJlcigpLT5kb2N1
bWVudCgpLT5tYXJrZXJzKCktPnNldFJlbmRlcmVkUmVjdEZvck1hcmtlcihyZW5kZXJlcigpLT5u
b2RlKCksIG1hcmtlciwgbWFya2VyUmVjdCk7CiB9CiAgICAgCi12b2lkIElubGluZVRleHRCb3g6
OnBhaW50RG9jdW1lbnRNYXJrZXJzKEdyYXBoaWNzQ29udGV4dCogcHQsIGNvbnN0IEludFBvaW50
JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBi
YWNrZ3JvdW5kKQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERvY3VtZW50TWFya2VycyhHcmFw
aGljc0NvbnRleHQqIHB0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxl
KiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBiYWNrZ3JvdW5kKQogewogICAgIGlmICgh
cmVuZGVyZXIoKS0+bm9kZSgpKQogICAgICAgICByZXR1cm47CkBAIC0xMDk5LDE0ICsxMTAwLDEz
IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREb2N1bWVudE1hcmtlcnMKICAgICB9CiB9CiAK
LQotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uVW5kZXJsaW5lKEdyYXBoaWNz
Q29udGV4dCogY3R4LCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBDb21wb3NpdGlv
blVuZGVybGluZSYgdW5kZXJsaW5lKQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0
aW9uVW5kZXJsaW5lKEdyYXBoaWNzQ29udGV4dCogY3R4LCBjb25zdCBGbG9hdFBvaW50JiBib3hP
cmlnaW4sIGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5lJiB1bmRlcmxpbmUpCiB7CiAgICAgaWYg
KG1fdHJ1bmNhdGlvbiA9PSBjRnVsbFRydW5jYXRpb24pCiAgICAgICAgIHJldHVybjsKICAgICAK
LSAgICBpbnQgc3RhcnQgPSAwOyAgICAgICAgICAgICAgICAgLy8gc3RhcnQgb2YgbGluZSB0byBk
cmF3LCByZWxhdGl2ZSB0byB0eAotICAgIGludCB3aWR0aCA9IG1fbG9naWNhbFdpZHRoOyAgICAg
ICAgICAgLy8gaG93IG11Y2ggbGluZSB0byBkcmF3CisgICAgZmxvYXQgc3RhcnQgPSAwOyAvLyBz
dGFydCBvZiBsaW5lIHRvIGRyYXcsIHJlbGF0aXZlIHRvIHR4CisgICAgZmxvYXQgd2lkdGggPSBt
X2xvZ2ljYWxXaWR0aDsgLy8gaG93IG11Y2ggbGluZSB0byBkcmF3CiAgICAgYm9vbCB1c2VXaG9s
ZVdpZHRoID0gdHJ1ZTsKICAgICB1bnNpZ25lZCBwYWludFN0YXJ0ID0gbV9zdGFydDsKICAgICB1
bnNpZ25lZCBwYWludEVuZCA9IGVuZCgpICsgMTsgLy8gZW5kIHBvaW50cyBhdCB0aGUgbGFzdCBj
aGFyLCBub3QgcGFzdCBpdApAQCAtMTE0Miw3ICsxMTQyLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94
OjpwYWludENvbXBvc2l0aW9uVW5kZQogCiAgICAgY3R4LT5zZXRTdHJva2VDb2xvcih1bmRlcmxp
bmUuY29sb3IsIHJlbmRlcmVyKCktPnN0eWxlKCktPmNvbG9yU3BhY2UoKSk7CiAgICAgY3R4LT5z
ZXRTdHJva2VUaGlja25lc3MobGluZVRoaWNrbmVzcyk7Ci0gICAgY3R4LT5kcmF3TGluZUZvclRl
eHQoSW50UG9pbnQoYm94T3JpZ2luLngoKSArIHN0YXJ0LCBib3hPcmlnaW4ueSgpICsgbG9naWNh
bEhlaWdodCgpIC0gbGluZVRoaWNrbmVzcyksIHdpZHRoLCB0ZXh0UmVuZGVyZXIoKS0+ZG9jdW1l
bnQoKS0+cHJpbnRpbmcoKSk7CisgICAgY3R4LT5kcmF3TGluZUZvclRleHQoRmxvYXRQb2ludChi
b3hPcmlnaW4ueCgpICsgc3RhcnQsIGJveE9yaWdpbi55KCkgKyBsb2dpY2FsSGVpZ2h0KCkgLSBs
aW5lVGhpY2tuZXNzKSwgd2lkdGgsIHRleHRSZW5kZXJlcigpLT5kb2N1bWVudCgpLT5wcmludGlu
ZygpKTsKIH0KIAogaW50IElubGluZVRleHRCb3g6OmNhcmV0TWluT2Zmc2V0KCkgY29uc3QKQEAg
LTExNjAsNyArMTE2MCw3IEBAIHVuc2lnbmVkIElubGluZVRleHRCb3g6OmNhcmV0TWF4UmVuZGVy
ZWQKICAgICByZXR1cm4gbV9zdGFydCArIG1fbGVuOwogfQogCi1pbnQgSW5saW5lVGV4dEJveDo6
dGV4dFBvcygpIGNvbnN0CitmbG9hdCBJbmxpbmVUZXh0Qm94Ojp0ZXh0UG9zKCkgY29uc3QKIHsK
ICAgICAvLyBXaGVuIGNvbXB1dGluZyB0aGUgd2lkdGggb2YgYSB0ZXh0IHJ1biwgUmVuZGVyQmxv
Y2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNGb3JMaW5lKCkgZG9lc24ndCBpbmNs
dWRlIHRoZSBhY3R1YWwgb2Zmc2V0CiAgICAgLy8gZnJvbSB0aGUgY29udGFpbmluZyBibG9jayBl
ZGdlIGluIGl0cyBtZWFzdXJlbWVudC4gdGV4dFBvcygpIHNob3VsZCBiZSBjb25zaXN0ZW50IHNv
IHRoZSB0ZXh0IGFyZSByZW5kZXJlZCBpbiB0aGUgc2FtZSB3aWR0aC4KQEAgLTExNjksNyArMTE2
OSw3IEBAIGludCBJbmxpbmVUZXh0Qm94Ojp0ZXh0UG9zKCkgY29uc3QKICAgICByZXR1cm4gbG9n
aWNhbExlZnQoKSAtIHJvb3QoKS0+bG9naWNhbExlZnQoKTsKIH0KIAotaW50IElubGluZVRleHRC
b3g6Om9mZnNldEZvclBvc2l0aW9uKGludCBsaW5lT2Zmc2V0LCBib29sIGluY2x1ZGVQYXJ0aWFs
R2x5cGhzKSBjb25zdAoraW50IElubGluZVRleHRCb3g6Om9mZnNldEZvclBvc2l0aW9uKGZsb2F0
IGxpbmVPZmZzZXQsIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMpIGNvbnN0CiB7CiAgICAgaWYg
KGlzTGluZUJyZWFrKCkpCiAgICAgICAgIHJldHVybiAwOwpAQCAtMTE5Niw3ICsxMTk2LDcgQEAg
aW50IElubGluZVRleHRCb3g6Om9mZnNldEZvclBvc2l0aW9uKGludAogICAgIHJldHVybiBvZmZz
ZXQ7CiB9CiAKLWludCBJbmxpbmVUZXh0Qm94Ojpwb3NpdGlvbkZvck9mZnNldChpbnQgb2Zmc2V0
KSBjb25zdAorZmxvYXQgSW5saW5lVGV4dEJveDo6cG9zaXRpb25Gb3JPZmZzZXQoaW50IG9mZnNl
dCkgY29uc3QKIHsKICAgICBBU1NFUlQob2Zmc2V0ID49IG1fc3RhcnQpOwogICAgIEFTU0VSVChv
ZmZzZXQgPD0gbV9zdGFydCArIG1fbGVuKTsKQEAgLTEyMDksOCArMTIwOSw4IEBAIGludCBJbmxp
bmVUZXh0Qm94Ojpwb3NpdGlvbkZvck9mZnNldChpbnQKICAgICBpbnQgZnJvbSA9ICFpc0xlZnRU
b1JpZ2h0RGlyZWN0aW9uKCkgPyBvZmZzZXQgLSBtX3N0YXJ0IDogMDsKICAgICBpbnQgdG8gPSAh
aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gbV9sZW4gOiBvZmZzZXQgLSBtX3N0YXJ0OwogICAg
IC8vIEZJWE1FOiBEbyB3ZSBuZWVkIHRvIGFkZCByaWdodEJlYXJpbmcgaGVyZT8KLSAgICByZXR1
cm4gZW5jbG9zaW5nSW50UmVjdChmLnNlbGVjdGlvblJlY3RGb3JUZXh0KFRleHRSdW4odGV4dC0+
dGV4dCgpLT5jaGFyYWN0ZXJzKCkgKyBtX3N0YXJ0LCBtX2xlbiwgdGV4dFJlbmRlcmVyKCktPmFs
bG93VGFicygpLCB0ZXh0UG9zKCksIG1fZXhwYW5zaW9uLCB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2
aW9yKCksICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIG1fZGlyT3ZlcnJpZGUpLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50UG9pbnQobG9n
aWNhbExlZnQoKSwgMCksIDAsIGZyb20sIHRvKSkubWF4WCgpOworICAgIHJldHVybiBmLnNlbGVj
dGlvblJlY3RGb3JUZXh0KFRleHRSdW4odGV4dC0+dGV4dCgpLT5jaGFyYWN0ZXJzKCkgKyBtX3N0
YXJ0LCBtX2xlbiwgdGV4dFJlbmRlcmVyKCktPmFsbG93VGFicygpLCB0ZXh0UG9zKCksIG1fZXhw
YW5zaW9uLCB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yKCksICFpc0xlZnRUb1JpZ2h0RGlyZWN0
aW9uKCksIG1fZGlyT3ZlcnJpZGUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEludFBvaW50KGxvZ2ljYWxMZWZ0KCksIDApLCAwLCBmcm9tLCB0bykubWF4WCgpOwogfQogCiBi
b29sIElubGluZVRleHRCb3g6OmNvbnRhaW5zQ2FyZXRPZmZzZXQoaW50IG9mZnNldCkgY29uc3QK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaAkocmV2aXNpb24g
Nzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDUsMTIgKzEwNSwxMiBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAg
dmlydHVhbCB2b2lkIGNsZWFyVHJ1bmNhdGlvbigpIHsgbV90cnVuY2F0aW9uID0gY05vVHJ1bmNh
dGlvbjsgfQotICAgIHZpcnR1YWwgaW50IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBmbG93SXNMVFIs
IGludCB2aXNpYmxlTGVmdEVkZ2UsIGludCB2aXNpYmxlUmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNX
aWR0aCwgYm9vbCYgZm91bmRCb3gpOworICAgIHZpcnR1YWwgZmxvYXQgcGxhY2VFbGxpcHNpc0Jv
eChib29sIGZsb3dJc0xUUiwgZmxvYXQgdmlzaWJsZUxlZnRFZGdlLCBmbG9hdCB2aXNpYmxlUmln
aHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCk7CiAKIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5lQnJlYWsoKSBjb25zdDsKIAotICAgIHZvaWQgc2V0RXhw
YW5zaW9uKGludCBleHBhbnNpb24pIHsgbV9sb2dpY2FsV2lkdGggLT0gbV9leHBhbnNpb247IG1f
ZXhwYW5zaW9uID0gZXhwYW5zaW9uOyBtX2xvZ2ljYWxXaWR0aCArPSBtX2V4cGFuc2lvbjsgfQor
ICAgIHZvaWQgc2V0RXhwYW5zaW9uKGZsb2F0IGV4cGFuc2lvbikgeyBtX2xvZ2ljYWxXaWR0aCAt
PSBtX2V4cGFuc2lvbjsgbV9leHBhbnNpb24gPSBleHBhbnNpb247IG1fbG9naWNhbFdpZHRoICs9
IG1fZXhwYW5zaW9uOyB9CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIGlzSW5saW5lVGV4
dEJveCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0gICAgCkBAIC0xMjIsMTEgKzEyMiwxMSBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIHZpcnR1YWwgdW5zaWduZWQgY2FyZXRNYXhSZW5kZXJlZE9m
ZnNldCgpIGNvbnN0OwogCi0gICAgaW50IHRleHRQb3MoKSBjb25zdDsgLy8gcmV0dXJucyB0aGUg
eCBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgbGVmdCBzdGFydCBvZiB0aGUgdGV4dCBsaW5lLgor
ICAgIGZsb2F0IHRleHRQb3MoKSBjb25zdDsgLy8gcmV0dXJucyB0aGUgeCBwb3NpdGlvbiByZWxh
dGl2ZSB0byB0aGUgbGVmdCBzdGFydCBvZiB0aGUgdGV4dCBsaW5lLgogCiBwdWJsaWM6Ci0gICAg
dmlydHVhbCBpbnQgb2Zmc2V0Rm9yUG9zaXRpb24oaW50IHgsIGJvb2wgaW5jbHVkZVBhcnRpYWxH
bHlwaHMgPSB0cnVlKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBwb3NpdGlvbkZvck9mZnNldChp
bnQgb2Zmc2V0KSBjb25zdDsKKyAgICB2aXJ0dWFsIGludCBvZmZzZXRGb3JQb3NpdGlvbihmbG9h
dCB4LCBib29sIGluY2x1ZGVQYXJ0aWFsR2x5cGhzID0gdHJ1ZSkgY29uc3Q7CisgICAgdmlydHVh
bCBmbG9hdCBwb3NpdGlvbkZvck9mZnNldChpbnQgb2Zmc2V0KSBjb25zdDsKIAogICAgIGJvb2wg
Y29udGFpbnNDYXJldE9mZnNldChpbnQgb2Zmc2V0KSBjb25zdDsgLy8gZmFsc2UgZm9yIG9mZnNl
dCBhZnRlciBsaW5lIGJyZWFrCiAKQEAgLTE0NCwxOCArMTQ0LDE4IEBAIHByaXZhdGU6CiAgICAg
ICAgICAgICAgICAgICAgICAgLy8gZGVub3RlIG5vIHRydW5jYXRpb24gKHRoZSB3aG9sZSBydW4g
cGFpbnRzKSBhbmQgZnVsbCB0cnVuY2F0aW9uIChub3RoaW5nIHBhaW50cyBhdCBhbGwpLgogCiBw
cm90ZWN0ZWQ6Ci0gICAgdm9pZCBwYWludENvbXBvc2l0aW9uQmFja2dyb3VuZChHcmFwaGljc0Nv
bnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZv
bnQmLCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpOwotICAgIHZvaWQgcGFpbnREb2N1bWVudE1h
cmtlcnMoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVy
U3R5bGUqLCBjb25zdCBGb250JiwgYm9vbCBiYWNrZ3JvdW5kKTsKLSAgICB2b2lkIHBhaW50Q29t
cG9zaXRpb25VbmRlcmxpbmUoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmIGJveE9y
aWdpbiwgY29uc3QgQ29tcG9zaXRpb25VbmRlcmxpbmUmKTsKKyAgICB2b2lkIHBhaW50Q29tcG9z
aXRpb25CYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9y
aWdpbiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250JiwgaW50IHN0YXJ0UG9zLCBpbnQgZW5kUG9z
KTsKKyAgICB2b2lkIHBhaW50RG9jdW1lbnRNYXJrZXJzKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0
IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250JiwgYm9vbCBi
YWNrZ3JvdW5kKTsKKyAgICB2b2lkIHBhaW50Q29tcG9zaXRpb25VbmRlcmxpbmUoR3JhcGhpY3ND
b250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBDb21wb3NpdGlvblVu
ZGVybGluZSYpOwogI2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIHBhaW50Q3VzdG9tSGlnaGxp
Z2h0KGludCB0eCwgaW50IHR5LCBjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUpOwogI2VuZGlmCiAK
IHByaXZhdGU6Ci0gICAgdm9pZCBwYWludERlY29yYXRpb24oR3JhcGhpY3NDb250ZXh0KiwgY29u
c3QgSW50UG9pbnQmIGJveE9yaWdpbiwgaW50IGRlY29yYXRpb24sIGNvbnN0IFNoYWRvd0RhdGEq
KTsKLSAgICB2b2lkIHBhaW50U2VsZWN0aW9uKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBv
aW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYpOwotICAgIHZvaWQgcGFp
bnRTcGVsbGluZ09yR3JhbW1hck1hcmtlcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2lu
dCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYsIFJlbmRlclN0eWxlKiwgY29uc3Qg
Rm9udCYsIGJvb2wgZ3JhbW1hcik7Ci0gICAgdm9pZCBwYWludFRleHRNYXRjaE1hcmtlcihHcmFw
aGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1h
cmtlciYsIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYpOworICAgIHZvaWQgcGFpbnREZWNvcmF0
aW9uKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgaW50IGRl
Y29yYXRpb24sIGNvbnN0IFNoYWRvd0RhdGEqKTsKKyAgICB2b2lkIHBhaW50U2VsZWN0aW9uKEdy
YXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUq
LCBjb25zdCBGb250Jik7CisgICAgdm9pZCBwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdy
YXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1l
bnRNYXJrZXImLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmLCBib29sIGdyYW1tYXIpOworICAg
IHZvaWQgcGFpbnRUZXh0TWF0Y2hNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQ
b2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYsIFJlbmRlclN0eWxlKiwgY29u
c3QgRm9udCYpOwogICAgIHZvaWQgY29tcHV0ZVJlY3RGb3JSZXBsYWNlbWVudE1hcmtlcihjb25z
dCBEb2N1bWVudE1hcmtlciYsIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYpOwogCiAgICAgVGV4
dFJ1bjo6VHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9y
KCkgY29uc3QgeyByZXR1cm4gbV9leHBhbnNpb24gJiYgbmV4dExlYWZDaGlsZCgpID8gVGV4dFJ1
bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiA6IFRleHRSdW46OkZvcmJpZFRyYWlsaW5nRXhwYW5z
aW9uOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQlIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQlIuaAkocmV2aXNpb24gNzg0
ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQlIuaAkod29ya2luZyBjb3B5
KQpAQCAtNDAsOCArNDAsOCBAQCBwdWJsaWM6CiAgCiAgICAgdmlydHVhbCBJbnRSZWN0IHNlbGVj
dGlvblJlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiAvKnJlcGFpbnRDb250YWlu
ZXIqLywgYm9vbCAvKmNsaXBUb1Zpc2libGVDb250ZW50Ki8pIHsgcmV0dXJuIEludFJlY3QoKTsg
fQogCi0gICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0aCh1bnNpZ25lZCAvKmZyb20qLywgdW5zaWdu
ZWQgLypsZW4qLywgY29uc3QgRm9udCYsIGludCAvKnhQb3MqLywgSGFzaFNldDxjb25zdCBTaW1w
bGVGb250RGF0YSo+KiA9IDAgLypmYWxsYmFja0ZvbnRzKi8gLCBHbHlwaE92ZXJmbG93KiA9IDAp
IGNvbnN0IHsgcmV0dXJuIDA7IH0KLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVk
IC8qZnJvbSovLCB1bnNpZ25lZCAvKmxlbiovLCBpbnQgLyp4cG9zKi8sIGJvb2wgPSBmYWxzZSAv
KmZpcnN0TGluZSovLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qID0gMCAvKmZhbGxi
YWNrRm9udHMqLywgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdCB7IHJldHVybiAwOyB9CisgICAg
dmlydHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25lZCAvKmZyb20qLywgdW5zaWduZWQgLypsZW4qLywg
Y29uc3QgRm9udCYsIGZsb2F0IC8qeFBvcyovLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRh
Kj4qID0gMCAvKmZhbGxiYWNrRm9udHMqLyAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3QgeyBy
ZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgZmxvYXQgd2lkdGgodW5zaWduZWQgLypmcm9tKi8sIHVu
c2lnbmVkIC8qbGVuKi8sIGZsb2F0IC8qeHBvcyovLCBib29sID0gZmFsc2UgLypmaXJzdExpbmUq
LywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiA9IDAgLypmYWxsYmFja0ZvbnRzKi8s
IEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3QgeyByZXR1cm4gMDsgfQogCiAgICAgaW50IGxpbmVI
ZWlnaHQoYm9vbCBmaXJzdExpbmUpIGNvbnN0OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYxNiw3ICs0NjE2
LDcgQEAgc3RhdGljIGludCBnZXRCb3JkZXJQYWRkaW5nTWFyZ2luKGNvbnN0IAogICAgICAgICAg
ICAgICAgY2hpbGQtPmJvcmRlclN0YXJ0KCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzdHJp
cFRyYWlsaW5nU3BhY2UoaW50JiBpbmxpbmVNYXgsIGludCYgaW5saW5lTWluLAorc3RhdGljIGlu
bGluZSB2b2lkIHN0cmlwVHJhaWxpbmdTcGFjZShmbG9hdCYgaW5saW5lTWF4LCBmbG9hdCYgaW5s
aW5lTWluLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJPYmpl
Y3QqIHRyYWlsaW5nU3BhY2VDaGlsZCkKIHsKICAgICBpZiAodHJhaWxpbmdTcGFjZUNoaWxkICYm
IHRyYWlsaW5nU3BhY2VDaGlsZC0+aXNUZXh0KCkpIHsKQEAgLTQ2MjQsMTcgKzQ2MjQsMjMgQEAg
c3RhdGljIGlubGluZSB2b2lkIHN0cmlwVHJhaWxpbmdTcGFjZShpbgogICAgICAgICBSZW5kZXJU
ZXh0KiB0ID0gdG9SZW5kZXJUZXh0KHRyYWlsaW5nU3BhY2VDaGlsZCk7CiAgICAgICAgIGNvbnN0
IFVDaGFyIHNwYWNlID0gJyAnOwogICAgICAgICBjb25zdCBGb250JiBmb250ID0gdC0+c3R5bGUo
KS0+Zm9udCgpOyAvLyBGSVhNRTogVGhpcyBpZ25vcmVzIGZpcnN0LWxpbmUuCi0gICAgICAgIGlu
dCBzcGFjZVdpZHRoID0gZm9udC53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpOworICAgICAgICBm
bG9hdCBzcGFjZVdpZHRoID0gZm9udC53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpOwogICAgICAg
ICBpbmxpbmVNYXggLT0gc3BhY2VXaWR0aCArIGZvbnQud29yZFNwYWNpbmcoKTsKICAgICAgICAg
aWYgKGlubGluZU1pbiA+IGlubGluZU1heCkKICAgICAgICAgICAgIGlubGluZU1pbiA9IGlubGlu
ZU1heDsKICAgICB9CiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCB1cGRhdGVQcmVmZXJyZWRXaWR0
aChpbnQmIHByZWZlcnJlZFdpZHRoLCBmbG9hdCYgcmVzdWx0KQoreworICAgIGludCBzbmFwcGVk
UmVzdWx0ID0gY2VpbGYocmVzdWx0KTsKKyAgICBwcmVmZXJyZWRXaWR0aCA9IG1heChzbmFwcGVk
UmVzdWx0LCBwcmVmZXJyZWRXaWR0aCk7Cit9CisKIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJ
bmxpbmVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkKIHsKLSAgICBpbnQgaW5saW5lTWF4ID0gMDsK
LSAgICBpbnQgaW5saW5lTWluID0gMDsKKyAgICBmbG9hdCBpbmxpbmVNYXggPSAwOworICAgIGZs
b2F0IGlubGluZU1pbiA9IDA7CiAKICAgICBpbnQgY3cgPSBjb250YWluaW5nQmxvY2soKS0+Y29u
dGVudExvZ2ljYWxXaWR0aCgpOwogCkBAIC00Njk1LDE1ICs0NzAxLDE1IEBAIHZvaWQgUmVuZGVy
QmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAgIC8vIHRoZSB3aWR0aCBv
ZiB0aGUgbGFzdCBub24tYnJlYWthYmxlIHJ1biBhbmQgdXNlIHRoYXQgdG8gc3RhcnQgYSBuZXcg
bGluZQogICAgICAgICAgICAgLy8gKHVubGVzcyB3ZSBlbmQgaW4gd2hpdGVzcGFjZSkuCiAgICAg
ICAgICAgICBSZW5kZXJTdHlsZSogY3N0eWxlID0gY2hpbGQtPnN0eWxlKCk7Ci0gICAgICAgICAg
ICBpbnQgY2hpbGRNaW4gPSAwOwotICAgICAgICAgICAgaW50IGNoaWxkTWF4ID0gMDsKKyAgICAg
ICAgICAgIGZsb2F0IGNoaWxkTWluID0gMDsKKyAgICAgICAgICAgIGZsb2F0IGNoaWxkTWF4ID0g
MDsKIAogICAgICAgICAgICAgaWYgKCFjaGlsZC0+aXNUZXh0KCkpIHsKICAgICAgICAgICAgICAg
ICAvLyBDYXNlICgxKSBhbmQgKDIpLiAgSW5saW5lIHJlcGxhY2VkIGFuZCBpbmxpbmUgZmxvdyBl
bGVtZW50cy4KICAgICAgICAgICAgICAgICBpZiAoY2hpbGQtPmlzUmVuZGVySW5saW5lKCkpIHsK
ICAgICAgICAgICAgICAgICAgICAgLy8gQWRkIGluIHBhZGRpbmcvYm9yZGVyL21hcmdpbiBmcm9t
IHRoZSBhcHByb3ByaWF0ZSBzaWRlIG9mCiAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBlbGVt
ZW50LgotICAgICAgICAgICAgICAgICAgICBpbnQgYnBtID0gZ2V0Qm9yZGVyUGFkZGluZ01hcmdp
bih0b1JlbmRlcklubGluZShjaGlsZCksIGNoaWxkSXRlcmF0b3IuZW5kT2ZJbmxpbmUpOworICAg
ICAgICAgICAgICAgICAgICBmbG9hdCBicG0gPSBnZXRCb3JkZXJQYWRkaW5nTWFyZ2luKHRvUmVu
ZGVySW5saW5lKGNoaWxkKSwgY2hpbGRJdGVyYXRvci5lbmRPZklubGluZSk7CiAgICAgICAgICAg
ICAgICAgICAgIGNoaWxkTWluICs9IGJwbTsKICAgICAgICAgICAgICAgICAgICAgY2hpbGRNYXgg
Kz0gYnBtOwogCkBAIC00NzEzLDcgKzQ3MTksNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRl
SW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICAgICAgICAgIGNoaWxkLT5zZXRQcmVmZXJyZWRM
b2dpY2FsV2lkdGhzRGlydHkoZmFsc2UpOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAgICAgICAgIC8vIElubGluZSByZXBsYWNlZCBlbHRzIGFkZCBpbiB0aGVpciBtYXJn
aW5zIHRvIHRoZWlyIG1pbi9tYXggdmFsdWVzLgotICAgICAgICAgICAgICAgICAgICBpbnQgbWFy
Z2lucyA9IDA7CisgICAgICAgICAgICAgICAgICAgIGZsb2F0IG1hcmdpbnMgPSAwOwogICAgICAg
ICAgICAgICAgICAgICBMZW5ndGggc3RhcnRNYXJnaW4gPSBjc3R5bGUtPm1hcmdpblN0YXJ0KCk7
CiAgICAgICAgICAgICAgICAgICAgIExlbmd0aCBlbmRNYXJnaW4gPSBjc3R5bGUtPm1hcmdpbkVu
ZCgpOwogICAgICAgICAgICAgICAgICAgICBpZiAoc3RhcnRNYXJnaW4uaXNGaXhlZCgpKQpAQCAt
NDc0MywxMyArNDc0OSwxMyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVy
cmVkCiAKICAgICAgICAgICAgICAgICBib29sIGNhbkJyZWFrUmVwbGFjZWRFbGVtZW50ID0gIWNo
aWxkLT5pc0ltYWdlKCkgfHwgYWxsb3dJbWFnZXNUb0JyZWFrOwogICAgICAgICAgICAgICAgIGlm
ICgoY2FuQnJlYWtSZXBsYWNlZEVsZW1lbnQgJiYgKGF1dG9XcmFwIHx8IG9sZEF1dG9XcmFwKSkg
fHwgY2xlYXJQcmV2aW91c0Zsb2F0KSB7Ci0gICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVy
cmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGgpOworICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZl
cnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKICAgICAgICAgICAgICAgICAgICAgaW5saW5l
TWluID0gMDsKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICAvLyBJZiB3ZSdy
ZSBzdXBwb3NlZCB0byBjbGVhciB0aGUgcHJldmlvdXMgZmxvYXQsIHRoZW4gdGVybWluYXRlIG1h
eHdpZHRoIGFzIHdlbGwuCiAgICAgICAgICAgICAgICAgaWYgKGNsZWFyUHJldmlvdXNGbG9hdCkg
ewotICAgICAgICAgICAgICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChp
bmxpbmVNYXgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAg
ICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGlu
ZU1heCk7CiAgICAgICAgICAgICAgICAgICAgIGlubGluZU1heCA9IDA7CiAgICAgICAgICAgICAg
ICAgfQogCkBAIC00NzY3LDEyICs0NzczLDEyIEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJ
bmxpbmVQcmVmZXJyZWQKIAogICAgICAgICAgICAgICAgIGlmICghYXV0b1dyYXAgfHwgIWNhbkJy
ZWFrUmVwbGFjZWRFbGVtZW50KSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNG
bG9hdGluZygpKQotICAgICAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2Fs
V2lkdGggPSBtYXgoY2hpbGRNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoLCBjaGlsZE1pbik7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAg
ICAgICAgICAgICAgICAgIGlubGluZU1pbiArPSBjaGlsZE1pbjsKICAgICAgICAgICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAvLyBOb3cgY2hlY2sgb3VyIGxpbmUuCi0gICAg
ICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGNoaWxkTWlu
LCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgIHVwZGF0
ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBjaGlsZE1pbik7CiAK
ICAgICAgICAgICAgICAgICAgICAgLy8gTm93IHN0YXJ0IGEgbmV3IGxpbmUuCiAgICAgICAgICAg
ICAgICAgICAgIGlubGluZU1pbiA9IDA7CkBAIC00Nzg5LDcgKzQ3OTUsNyBAQCB2b2lkIFJlbmRl
ckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4
dCogdCA9IHRvUmVuZGVyVGV4dChjaGlsZCk7CiAKICAgICAgICAgICAgICAgICBpZiAodC0+aXNX
b3JkQnJlYWsoKSkgewotICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxX
aWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAg
ICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2Fs
V2lkdGgsIGlubGluZU1pbik7CiAgICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiA9IDA7CiAg
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIH0KQEAgLTQ4MDMs
OSArNDgwOSw5IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAg
ICAgICAgICAgICAgICAvLyB0aGVuIHRoZXkgc2hvdWxkbid0IGJlIGNvbnNpZGVyZWQgaW4gdGhl
IGJyZWFrYWJsZSBjaGFyCiAgICAgICAgICAgICAgICAgLy8gY2hlY2suCiAgICAgICAgICAgICAg
ICAgYm9vbCBoYXNCcmVha2FibGVDaGFyLCBoYXNCcmVhazsKLSAgICAgICAgICAgICAgICBpbnQg
YmVnaW5NaW4sIGVuZE1pbjsKKyAgICAgICAgICAgICAgICBmbG9hdCBiZWdpbk1pbiwgZW5kTWlu
OwogICAgICAgICAgICAgICAgIGJvb2wgYmVnaW5XUywgZW5kV1M7Ci0gICAgICAgICAgICAgICAg
aW50IGJlZ2luTWF4LCBlbmRNYXg7CisgICAgICAgICAgICAgICAgZmxvYXQgYmVnaW5NYXgsIGVu
ZE1heDsKICAgICAgICAgICAgICAgICB0LT50cmltbWVkUHJlZldpZHRocyhpbmxpbmVNYXgsIGJl
Z2luTWluLCBiZWdpbldTLCBlbmRNaW4sIGVuZFdTLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGhhc0JyZWFrYWJsZUNoYXIsIGhhc0JyZWFrLCBiZWdpbk1heCwgZW5kTWF4
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkTWluLCBjaGlsZE1h
eCwgc3RyaXBGcm9udFNwYWNlcyk7CkBAIC00ODEzLDcgKzQ4MTksNyBAQCB2b2lkIFJlbmRlckJs
b2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICAgICAgLy8gVGhpcyB0ZXh0
IG9iamVjdCB3aWxsIG5vdCBiZSByZW5kZXJlZCwgYnV0IGl0IG1heSBzdGlsbCBwcm92aWRlIGEg
YnJlYWtpbmcgb3Bwb3J0dW5pdHkuCiAgICAgICAgICAgICAgICAgaWYgKCFoYXNCcmVhayAmJiBj
aGlsZE1heCA9PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChhdXRvV3JhcCAmJiAoYmVn
aW5XUyB8fCBlbmRXUykpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgp
OworICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVm
ZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAgICAgICAgICAgICAgICAgICAgICBp
bmxpbmVNaW4gPSAwOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwpAQCAtNDg0MywxMCArNDg0OSwxMCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21w
dXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICAgICAgICAgIC8vIHdlIHN0YXJ0IGFuZCBl
bmQgd2l0aCB3aGl0ZXNwYWNlLgogICAgICAgICAgICAgICAgICAgICBpZiAoYmVnaW5XUykKICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIEdvIGFoZWFkIGFuZCBlbmQgdGhlIGN1cnJlbnQgbGlu
ZS4KLSAgICAgICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0g
bWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAg
ICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGgsIGlubGluZU1pbik7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAg
ICAgICAgICAgICAgaW5saW5lTWluICs9IGJlZ2luTWluOwotICAgICAgICAgICAgICAgICAgICAg
ICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZl
cnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJy
ZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgIGNoaWxkTWluIC09IHRpOwogICAgICAgICAgICAgICAgICAgICB9CiAK
QEAgLTQ4NTUsMTggKzQ4NjEsMTggQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVBy
ZWZlcnJlZAogICAgICAgICAgICAgICAgICAgICBpZiAoZW5kV1MpIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIFdlIGVuZCBpbiB3aGl0ZXNwYWNlLCB3aGljaCBtZWFucyB3ZSBjYW4gZ28g
YWhlYWQKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFuZCBlbmQgb3VyIGN1cnJlbnQgbGlu
ZS4KLSAgICAgICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0g
bWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAg
ICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGgsIGlubGluZU1pbik7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSAwOwog
ICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgbV9t
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExv
Z2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0
aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgIGlubGluZU1pbiA9IGVuZE1pbjsKICAgICAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIGlmIChoYXNCcmVhaykgewogICAgICAg
ICAgICAgICAgICAgICBpbmxpbmVNYXggKz0gYmVnaW5NYXg7Ci0gICAgICAgICAgICAgICAgICAg
IG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1heCwgbV9tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGgpOwotICAgICAgICAgICAgICAgICAgICBtX21heFByZWZlcnJlZExvZ2lj
YWxXaWR0aCA9IG1heChjaGlsZE1heCwgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAg
ICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21heFByZWZlcnJlZExvZ2lj
YWxXaWR0aCwgaW5saW5lTWF4KTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVk
V2lkdGgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGNoaWxkTWF4KTsKICAgICAgICAgICAg
ICAgICAgICAgaW5saW5lTWF4ID0gZW5kTWF4OwogICAgICAgICAgICAgICAgIH0gZWxzZQogICAg
ICAgICAgICAgICAgICAgICBpbmxpbmVNYXggKz0gY2hpbGRNYXg7CkBAIC00ODc2LDggKzQ4ODIs
OCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAg
ICBpZiAoY2hpbGQtPmlzTGlzdE1hcmtlcigpKQogICAgICAgICAgICAgICAgIHN0cmlwRnJvbnRT
cGFjZXMgPSB0cnVlOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgbV9taW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCk7Ci0gICAgICAgICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVN
YXgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgIHVwZGF0ZVByZWZl
cnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOworICAgICAg
ICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlu
bGluZU1heCk7CiAgICAgICAgICAgICBpbmxpbmVNaW4gPSBpbmxpbmVNYXggPSAwOwogICAgICAg
ICAgICAgc3RyaXBGcm9udFNwYWNlcyA9IHRydWU7CiAgICAgICAgICAgICB0cmFpbGluZ1NwYWNl
Q2hpbGQgPSAwOwpAQCAtNDg4OSw4ICs0ODk1LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0
ZUlubGluZVByZWZlcnJlZAogICAgIGlmIChzdHlsZSgpLT5jb2xsYXBzZVdoaXRlU3BhY2UoKSkK
ICAgICAgICAgc3RyaXBUcmFpbGluZ1NwYWNlKGlubGluZU1heCwgaW5saW5lTWluLCB0cmFpbGlu
Z1NwYWNlQ2hpbGQpOwogCi0gICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5s
aW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Ci0gICAgbV9tYXhQcmVmZXJyZWRM
b2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWF4LCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7
CisgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlu
bGluZU1pbik7CisgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGgsIGlubGluZU1heCk7CiB9CiAKIC8vIFVzZSBhIHZlcnkgbGFyZ2UgdmFsdWUgKGluIGVm
ZmVjdCBpbmZpbml0ZSkuCkBAIC01NDU2LDkgKzU0NjIsOSBAQCB2b2lkIFJlbmRlckJsb2NrOjph
ZGp1c3RGb3JCb3JkZXJGaXQoaW50CiAgICAgICAgIGlmIChjaGlsZHJlbklubGluZSgpKSB7CiAg
ICAgICAgICAgICBmb3IgKFJvb3RJbmxpbmVCb3gqIGJveCA9IGZpcnN0Um9vdEJveCgpOyBib3g7
IGJveCA9IGJveC0+bmV4dFJvb3RCb3goKSkgewogICAgICAgICAgICAgICAgIGlmIChib3gtPmZp
cnN0Q2hpbGQoKSkKLSAgICAgICAgICAgICAgICAgICAgbGVmdCA9IG1pbihsZWZ0LCB4ICsgYm94
LT5maXJzdENoaWxkKCktPngoKSk7CisgICAgICAgICAgICAgICAgICAgIGxlZnQgPSBtaW4obGVm
dCwgeCArIHN0YXRpY19jYXN0PGludD4oYm94LT5maXJzdENoaWxkKCktPngoKSkpOwogICAgICAg
ICAgICAgICAgIGlmIChib3gtPmxhc3RDaGlsZCgpKQotICAgICAgICAgICAgICAgICAgICByaWdo
dCA9IG1heChyaWdodCwgeCArIGJveC0+bGFzdENoaWxkKCktPngoKSArIGJveC0+bGFzdENoaWxk
KCktPmxvZ2ljYWxXaWR0aCgpKTsKKyAgICAgICAgICAgICAgICAgICAgcmlnaHQgPSBtYXgocmln
aHQsIHggKyBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKGJveC0+bGFzdENoaWxkKCktPmxvZ2ljYWxS
aWdodCgpKSkpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGVsc2UgewpAQCAt
NTc1OCw4ICs1NzY0LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6YWRkRm9jdXNSaW5nUmVjdHMoVmVj
dAogCiAgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSAmJiAhaGFzQ29udHJvbENsaXAoKSkgewog
ICAgICAgICBmb3IgKFJvb3RJbmxpbmVCb3gqIGN1cnIgPSBmaXJzdFJvb3RCb3goKTsgY3Vycjsg
Y3VyciA9IGN1cnItPm5leHRSb290Qm94KCkpIHsKLSAgICAgICAgICAgIGludCB0b3AgPSBtYXgo
Y3Vyci0+bGluZVRvcCgpLCBjdXJyLT55KCkpOwotICAgICAgICAgICAgaW50IGJvdHRvbSA9IG1p
bihjdXJyLT5saW5lQm90dG9tKCksIGN1cnItPnkoKSArIGN1cnItPmxvZ2ljYWxIZWlnaHQoKSk7
CisgICAgICAgICAgICBpbnQgdG9wID0gbWF4KGN1cnItPmxpbmVUb3AoKSwgY3Vyci0+bG9naWNh
bFRvcCgpKTsKKyAgICAgICAgICAgIGludCBib3R0b20gPSBtaW4oY3Vyci0+bGluZUJvdHRvbSgp
LCBjdXJyLT5sb2dpY2FsVG9wKCkgKyBjdXJyLT5sb2dpY2FsSGVpZ2h0KCkpOwogICAgICAgICAg
ICAgSW50UmVjdCByZWN0KHR4ICsgY3Vyci0+eCgpLCB0eSArIHRvcCwgY3Vyci0+bG9naWNhbFdp
ZHRoKCksIGJvdHRvbSAtIHRvcCk7CiAgICAgICAgICAgICBpZiAoIXJlY3QuaXNFbXB0eSgpKQog
ICAgICAgICAgICAgICAgIHJlY3RzLmFwcGVuZChyZWN0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9jay5oCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC00ODUsNyArNDg1LDcg
QEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2tpcFRyYWlsaW5nV2hpdGVzcGFjZShJbmxpbmVJdGVy
YXRvciYsIGJvb2wgaXNMaW5lRW1wdHksIGJvb2wgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5KTsK
ICAgICBpbnQgc2tpcExlYWRpbmdXaGl0ZXNwYWNlKElubGluZUJpZGlSZXNvbHZlciYsIGJvb2wg
Zmlyc3RMaW5lLCBib29sIGlzTGluZUVtcHR5LCBib29sIHByZXZpb3VzTGluZUJyb2tlQ2xlYW5s
eSwgRmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdEZyb21QcmV2aW91c0xpbmUpOwotICAgIHZvaWQg
Zml0QmVsb3dGbG9hdHMoaW50IHdpZHRoVG9GaXQsIGJvb2wgZmlyc3RMaW5lLCBpbnQmIGF2YWls
YWJsZVdpZHRoKTsKKyAgICB2b2lkIGZpdEJlbG93RmxvYXRzKGZsb2F0IHdpZHRoVG9GaXQsIGJv
b2wgZmlyc3RMaW5lLCBmbG9hdCYgYXZhaWxhYmxlV2lkdGgpOwogICAgIElubGluZUl0ZXJhdG9y
IGZpbmROZXh0TGluZUJyZWFrKElubGluZUJpZGlSZXNvbHZlciYsIGJvb2wgZmlyc3RMaW5lLCBi
b29sJiBpc0xpbmVFbXB0eSwgYm9vbCYgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBib29sJiBo
eXBoZW5hdGVkLCBFQ2xlYXIqLCBGbG9hdGluZ09iamVjdCogbGFzdEZsb2F0RnJvbVByZXZpb3Vz
TGluZSk7CiAgICAgUm9vdElubGluZUJveCogY29uc3RydWN0TGluZSh1bnNpZ25lZCBydW5Db3Vu
dCwgQmlkaVJ1biogZmlyc3RSdW4sIEJpZGlSdW4qIGxhc3RSdW4sIGJvb2wgZmlyc3RMaW5lLCBi
b29sIGxhc3RMaW5lLCBSZW5kZXJPYmplY3QqIGVuZE9iamVjdCk7CiAgICAgSW5saW5lRmxvd0Jv
eCogY3JlYXRlTGluZUJveGVzKFJlbmRlck9iamVjdCosIGJvb2wgZmlyc3RMaW5lKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQu
Y3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0xpbmVMYXlvdXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMTgsOCArMzE4LDggQEAgUm9v
dElubGluZUJveCogUmVuZGVyQmxvY2s6OmNvbnN0cnVjdExpbgogdm9pZCBSZW5kZXJCbG9jazo6
Y29tcHV0ZUlubGluZURpcmVjdGlvblBvc2l0aW9uc0ZvckxpbmUoUm9vdElubGluZUJveCogbGlu
ZUJveCwgYm9vbCBmaXJzdExpbmUsIEJpZGlSdW4qIGZpcnN0UnVuLCBCaWRpUnVuKiB0cmFpbGlu
Z1NwYWNlUnVuLCBib29sIHJlYWNoZWRFbmQsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRz
TWFwJiB0ZXh0Qm94RGF0YU1hcCkKIHsKICAgICAvLyBGaXJzdCBkZXRlcm1pbmUgb3VyIHRvdGFs
IGxvZ2ljYWwgd2lkdGguCi0gICAgaW50IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCA9IGF2YWlsYWJs
ZUxvZ2ljYWxXaWR0aEZvckxpbmUobG9naWNhbEhlaWdodCgpLCBmaXJzdExpbmUpOwotICAgIGlu
dCB0b3RhbExvZ2ljYWxXaWR0aCA9IGxpbmVCb3gtPmdldEZsb3dTcGFjaW5nTG9naWNhbFdpZHRo
KCk7CisgICAgZmxvYXQgYXZhaWxhYmxlTG9naWNhbFdpZHRoID0gYXZhaWxhYmxlTG9naWNhbFdp
ZHRoRm9yTGluZShsb2dpY2FsSGVpZ2h0KCksIGZpcnN0TGluZSk7CisgICAgZmxvYXQgdG90YWxM
b2dpY2FsV2lkdGggPSBsaW5lQm94LT5nZXRGbG93U3BhY2luZ0xvZ2ljYWxXaWR0aCgpOwogICAg
IGJvb2wgbmVlZHNXb3JkU3BhY2luZyA9IGZhbHNlOwogICAgIHVuc2lnbmVkIGV4cGFuc2lvbk9w
cG9ydHVuaXR5Q291bnQgPSAwOwogICAgIGJvb2wgaXNBZnRlckV4cGFuc2lvbiA9IHRydWU7CkBA
IC0zODYsNyArMzg2LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlv
bgogICAgIC8vIHdlIG5vdyBleGFtaW5lIG91ciB0ZXh0LWFsaWduIHByb3BlcnR5IGluIG9yZGVy
IHRvIGRldGVybWluZSB3aGVyZSB0byBwb3NpdGlvbiB0aGUKICAgICAvLyBvYmplY3RzIGhvcml6
b250YWxseS4gIFRoZSB0b3RhbCB3aWR0aCBvZiB0aGUgbGluZSBjYW4gYmUgaW5jcmVhc2VkIGlm
IHdlIGVuZCB1cAogICAgIC8vIGp1c3RpZnlpbmcgdGV4dC4KLSAgICBpbnQgbG9naWNhbExlZnQg
PSBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUobG9naWNhbEhlaWdodCgpLCBmaXJzdExpbmUpOwor
ICAgIGZsb2F0IGxvZ2ljYWxMZWZ0ID0gbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKGxvZ2ljYWxI
ZWlnaHQoKSwgZmlyc3RMaW5lKTsKICAgICBzd2l0Y2ggKHRleHRBbGlnbikgewogICAgICAgICBj
YXNlIExFRlQ6CiAgICAgICAgIGNhc2UgV0VCS0lUX0xFRlQ6CkBAIC0zOTQsNyArMzk0LDcgQEAg
dm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgLy8g
cGFydGljdWxhciB3aXRoIFJUTCBibG9ja3MsIHdpZGUgbGluZXMgc2hvdWxkIHN0aWxsIHNwaWxs
IG91dCB0byB0aGUgbGVmdC4KICAgICAgICAgICAgIGlmIChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0
RGlyZWN0aW9uKCkpIHsKICAgICAgICAgICAgICAgICBpZiAodG90YWxMb2dpY2FsV2lkdGggPiBh
dmFpbGFibGVMb2dpY2FsV2lkdGggJiYgdHJhaWxpbmdTcGFjZVJ1bikKLSAgICAgICAgICAgICAg
ICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXgoMCwgdHJh
aWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpIC0gdG90YWxMb2dpY2FsV2lkdGgg
KyBhdmFpbGFibGVMb2dpY2FsV2lkdGgpKTsKKyAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdT
cGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXgoMC5mLCB0cmFpbGluZ1NwYWNlUnVu
LT5tX2JveC0+bG9naWNhbFdpZHRoKCkgLSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxv
Z2ljYWxXaWR0aCkpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAo
dHJhaWxpbmdTcGFjZVJ1bikKICAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+
bV9ib3gtPnNldExvZ2ljYWxXaWR0aCgwKTsKQEAgLTQxNiw3ICs0MTYsNyBAQCB2b2lkIFJlbmRl
ckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uCiAgICAgICAgICAgICAvLyBmb3IgcmlnaHQg
dG8gbGVmdCBmYWxsIHRocm91Z2ggdG8gcmlnaHQgYWxpZ25lZAogICAgICAgICAgICAgaWYgKHN0
eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgewogICAgICAgICAgICAgICAgIGlmICh0
b3RhbExvZ2ljYWxXaWR0aCA+IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAmJiB0cmFpbGluZ1NwYWNl
UnVuKQotICAgICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9n
aWNhbFdpZHRoKG1heCgwLCB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCkg
LSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOworICAgICAgICAg
ICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgw
LmYsIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNh
bFdpZHRoICsgYXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICB9CiAgICAgICAgIGNhc2UgUklHSFQ6CkBAIC00MzMsNyArNDMzLDcgQEAg
dm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgICAg
ICAgICBsb2dpY2FsTGVmdCArPSBhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxX
aWR0aDsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKHRvdGFsTG9n
aWNhbFdpZHRoID4gYXZhaWxhYmxlTG9naWNhbFdpZHRoICYmIHRyYWlsaW5nU3BhY2VSdW4pIHsK
LSAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxX
aWR0aChtYXgoMCwgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpIC0gdG90
YWxMb2dpY2FsV2lkdGggKyBhdmFpbGFibGVMb2dpY2FsV2lkdGgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXgoMC5mLCB0
cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCkgLSB0b3RhbExvZ2ljYWxXaWR0
aCArIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOwogICAgICAgICAgICAgICAgICAgICB0b3RhbExv
Z2ljYWxXaWR0aCAtPSB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCk7CiAg
ICAgICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9
IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoOwpAQCAtNDQxLDE0ICs0
NDEsMTQgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ0VOVEVSOgogICAgICAgICBjYXNlIFdFQktJVF9D
RU5URVI6Ci0gICAgICAgICAgICBpbnQgdHJhaWxpbmdTcGFjZVdpZHRoID0gMDsKKyAgICAgICAg
ICAgIGZsb2F0IHRyYWlsaW5nU3BhY2VXaWR0aCA9IDA7CiAgICAgICAgICAgICBpZiAodHJhaWxp
bmdTcGFjZVJ1bikgewogICAgICAgICAgICAgICAgIHRvdGFsTG9naWNhbFdpZHRoIC09IHRyYWls
aW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKTsKICAgICAgICAgICAgICAgICB0cmFp
bGluZ1NwYWNlV2lkdGggPSBtaW4odHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0
aCgpLCAoYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGggKyAxKSAvIDIp
OwotICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lk
dGgobWF4KDAsIHRyYWlsaW5nU3BhY2VXaWR0aCkpOworICAgICAgICAgICAgICAgIHRyYWlsaW5n
U3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAuZiwgdHJhaWxpbmdTcGFjZVdp
ZHRoKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0VG9S
aWdodERpcmVjdGlvbigpKQotICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IG1heCgoYXZh
aWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpIC8gMiwgMCk7CisgICAgICAg
ICAgICAgICAgbG9naWNhbExlZnQgKz0gbWF4KChhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3Rh
bExvZ2ljYWxXaWR0aCkgLyAyLCAwLmYpOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg
ICAgIGxvZ2ljYWxMZWZ0ICs9IHRvdGFsTG9naWNhbFdpZHRoID4gYXZhaWxhYmxlTG9naWNhbFdp
ZHRoID8gKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoKSA6IChhdmFp
bGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkgLyAyIC0gdHJhaWxpbmdTcGFj
ZVdpZHRoOwogICAgICAgICAgICAgYnJlYWs7CkBAIC00NjgsNyArNDY4LDcgQEAgdm9pZCBSZW5k
ZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgICAgIC8vIE9ubHkg
anVzdGlmeSB0ZXh0IGlmIHdoaXRlc3BhY2UgaXMgY29sbGFwc2VkLgogICAgICAgICAgICAgICAg
IGlmIChyLT5tX29iamVjdC0+c3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNwYWNlKCkpIHsKICAgICAg
ICAgICAgICAgICAgICAgSW5saW5lVGV4dEJveCogdGV4dEJveCA9IHN0YXRpY19jYXN0PElubGlu
ZVRleHRCb3gqPihyLT5tX2JveCk7Ci0gICAgICAgICAgICAgICAgICAgIGludCBleHBhbnNpb24g
PSAoYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpICogb3Bwb3J0dW5p
dGllc0luUnVuIC8gZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudDsKKyAgICAgICAgICAgICAgICAg
ICAgZmxvYXQgZXhwYW5zaW9uID0gKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNh
bFdpZHRoKSAqIG9wcG9ydHVuaXRpZXNJblJ1biAvIGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQ7
CiAgICAgICAgICAgICAgICAgICAgIHRleHRCb3gtPnNldEV4cGFuc2lvbihleHBhbnNpb24pOwog
ICAgICAgICAgICAgICAgICAgICB0b3RhbExvZ2ljYWxXaWR0aCArPSBleHBhbnNpb247CiAgICAg
ICAgICAgICAgICAgfQpAQCAtMTM2OCwxMyArMTM2OCwxMyBAQCBzdGF0aWMgYm9vbCBzaG91bGRT
a2lwV2hpdGVzcGFjZUFmdGVyU3RhCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIFJlbmRl
ckJsb2NrOjpmaXRCZWxvd0Zsb2F0cyhpbnQgd2lkdGhUb0ZpdCwgYm9vbCBmaXJzdExpbmUsIGlu
dCYgYXZhaWxhYmxlV2lkdGgpCit2b2lkIFJlbmRlckJsb2NrOjpmaXRCZWxvd0Zsb2F0cyhmbG9h
dCB3aWR0aFRvRml0LCBib29sIGZpcnN0TGluZSwgZmxvYXQmIGF2YWlsYWJsZVdpZHRoKQogewog
ICAgIEFTU0VSVCh3aWR0aFRvRml0ID4gYXZhaWxhYmxlV2lkdGgpOwogCiAgICAgaW50IGZsb2F0
TG9naWNhbEJvdHRvbTsKICAgICBpbnQgbGFzdEZsb2F0TG9naWNhbEJvdHRvbSA9IGxvZ2ljYWxI
ZWlnaHQoKTsKLSAgICBpbnQgbmV3TGluZVdpZHRoID0gYXZhaWxhYmxlV2lkdGg7CisgICAgZmxv
YXQgbmV3TGluZVdpZHRoID0gYXZhaWxhYmxlV2lkdGg7CiAgICAgd2hpbGUgKHRydWUpIHsKICAg
ICAgICAgZmxvYXRMb2dpY2FsQm90dG9tID0gbmV4dEZsb2F0TG9naWNhbEJvdHRvbUJlbG93KGxh
c3RGbG9hdExvZ2ljYWxCb3R0b20pOwogICAgICAgICBpZiAoIWZsb2F0TG9naWNhbEJvdHRvbSkK
QEAgLTEzOTIsMTkgKzEzOTIsMTkgQEAgdm9pZCBSZW5kZXJCbG9jazo6Zml0QmVsb3dGbG9hdHMo
aW50IHdpZAogICAgIH0KIH0KIAotc3RhdGljIGlubGluZSB1bnNpZ25lZCB0ZXh0V2lkdGgoUmVu
ZGVyVGV4dCogdGV4dCwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBm
b250LCBpbnQgeFBvcywgYm9vbCBpc0ZpeGVkUGl0Y2gsIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNl
KQorc3RhdGljIGlubGluZSBmbG9hdCB0ZXh0V2lkdGgoUmVuZGVyVGV4dCogdGV4dCwgdW5zaWdu
ZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmb250LCBmbG9hdCB4UG9zLCBib29s
IGlzRml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UpCiB7CiAgICAgaWYgKGlzRml4
ZWRQaXRjaCB8fCAoIWZyb20gJiYgbGVuID09IHRleHQtPnRleHRMZW5ndGgoKSkgfHwgdGV4dC0+
c3R5bGUoKS0+aGFzVGV4dENvbWJpbmUoKSkKICAgICAgICAgcmV0dXJuIHRleHQtPndpZHRoKGZy
b20sIGxlbiwgZm9udCwgeFBvcyk7CiAgICAgcmV0dXJuIGZvbnQud2lkdGgoVGV4dFJ1bih0ZXh0
LT5jaGFyYWN0ZXJzKCkgKyBmcm9tLCBsZW4sICFjb2xsYXBzZVdoaXRlU3BhY2UsIHhQb3MpKTsK
IH0KIAotc3RhdGljIHZvaWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCogdGV4dCwgY29uc3Qg
Rm9udCYgZm9udCwgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbGVJZGVudGlmaWVyLCBpbnQgbGFz
dFNwYWNlLCBpbnQgcG9zLCBpbnQgeFBvcywgaW50IGF2YWlsYWJsZVdpZHRoLCBib29sIGlzRml4
ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UsIGludCBsYXN0U3BhY2VXb3JkU3BhY2lu
ZywgSW5saW5lSXRlcmF0b3ImIGxpbmVCcmVhaywgaW50IG5leHRCcmVha2FibGUsIGJvb2wmIGh5
cGhlbmF0ZWQpCitzdGF0aWMgdm9pZCB0cnlIeXBoZW5hdGluZyhSZW5kZXJUZXh0KiB0ZXh0LCBj
b25zdCBGb250JiBmb250LCBjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsZUlkZW50aWZpZXIsIGlu
dCBsYXN0U3BhY2UsIGludCBwb3MsIGZsb2F0IHhQb3MsIGludCBhdmFpbGFibGVXaWR0aCwgYm9v
bCBpc0ZpeGVkUGl0Y2gsIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlLCBpbnQgbGFzdFNwYWNlV29y
ZFNwYWNpbmcsIElubGluZUl0ZXJhdG9yJiBsaW5lQnJlYWssIGludCBuZXh0QnJlYWthYmxlLCBi
b29sJiBoeXBoZW5hdGVkKQogewogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaHlwaGVuU3RyaW5n
ID0gdGV4dC0+c3R5bGUoKS0+aHlwaGVuU3RyaW5nKCk7CiAgICAgaW50IGh5cGhlbldpZHRoID0g
Zm9udC53aWR0aChUZXh0UnVuKGh5cGhlblN0cmluZy5jaGFyYWN0ZXJzKCksIGh5cGhlblN0cmlu
Zy5sZW5ndGgoKSkpOwogCi0gICAgaW50IG1heFByZWZpeFdpZHRoID0gYXZhaWxhYmxlV2lkdGgg
LSB4UG9zIC0gaHlwaGVuV2lkdGggLSBsYXN0U3BhY2VXb3JkU3BhY2luZzsKKyAgICBmbG9hdCBt
YXhQcmVmaXhXaWR0aCA9IGF2YWlsYWJsZVdpZHRoIC0geFBvcyAtIGh5cGhlbldpZHRoIC0gbGFz
dFNwYWNlV29yZFNwYWNpbmc7CiAgICAgLy8gSWYgdGhlIG1heGltdW0gd2lkdGggYXZhaWxhYmxl
IGZvciB0aGUgcHJlZml4IGJlZm9yZSB0aGUgaHlwaGVuIGlzIHNtYWxsLCB0aGVuIGl0IGlzIHZl
cnkgdW5saWtlbHkKICAgICAvLyB0aGF0IGFuIGh5cGhlbmF0aW9uIG9wcG9ydHVuaXR5IGV4aXN0
cywgc28gZG8gbm90IGJvdGhlciB0byBsb29rIGZvciBpdC4KICAgICBpZiAobWF4UHJlZml4V2lk
dGggPD0gZm9udC5waXhlbFNpemUoKSAqIDUgLyA0KQpAQCAtMTQxOSw3ICsxNDE5LDcgQEAgc3Rh
dGljIHZvaWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCogdAogICAgICAgICByZXR1cm47CiAK
ICNpZiAhQVNTRVJUX0RJU0FCTEVECi0gICAgaW50IHByZWZpeFdpZHRoID0gaHlwaGVuV2lkdGgg
KyB0ZXh0V2lkdGgodGV4dCwgbGFzdFNwYWNlLCBwcmVmaXhMZW5ndGgsIGZvbnQsIHhQb3MsIGlz
Rml4ZWRQaXRjaCwgY29sbGFwc2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOwor
ICAgIGZsb2F0IHByZWZpeFdpZHRoID0gaHlwaGVuV2lkdGggKyB0ZXh0V2lkdGgodGV4dCwgbGFz
dFNwYWNlLCBwcmVmaXhMZW5ndGgsIGZvbnQsIHhQb3MsIGlzRml4ZWRQaXRjaCwgY29sbGFwc2VX
aGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOwogICAgIEFTU0VSVCh4UG9zICsgcHJl
Zml4V2lkdGggPD0gYXZhaWxhYmxlV2lkdGgpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oaXNG
aXhlZFBpdGNoKTsKQEAgLTE0MzksMTAgKzE0MzksMTAgQEAgSW5saW5lSXRlcmF0b3IgUmVuZGVy
QmxvY2s6OmZpbmROZXh0TGluZQogICAgIGJvb2wgYXBwbGllZFN0YXJ0V2lkdGggPSByZXNvbHZl
ci5wb3NpdGlvbigpLnBvcyA+IDA7CiAgICAgTGluZU1pZHBvaW50U3RhdGUmIGxpbmVNaWRwb2lu
dFN0YXRlID0gcmVzb2x2ZXIubWlkcG9pbnRTdGF0ZSgpOwogICAgIAotICAgIGludCB3aWR0aCA9
IHNraXBMZWFkaW5nV2hpdGVzcGFjZShyZXNvbHZlciwgZmlyc3RMaW5lLCBpc0xpbmVFbXB0eSwg
cHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lKTsKKyAg
ICBmbG9hdCB3aWR0aCA9IHNraXBMZWFkaW5nV2hpdGVzcGFjZShyZXNvbHZlciwgZmlyc3RMaW5l
LCBpc0xpbmVFbXB0eSwgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBsYXN0RmxvYXRGcm9tUHJl
dmlvdXNMaW5lKTsKIAotICAgIGludCB3ID0gMDsKLSAgICBpbnQgdG1wVyA9IDA7CisgICAgZmxv
YXQgdyA9IDA7CisgICAgZmxvYXQgdG1wVyA9IDA7CiAKICAgICBpZiAocmVzb2x2ZXIucG9zaXRp
b24oKS5hdEVuZCgpKQogICAgICAgICByZXR1cm4gcmVzb2x2ZXIucG9zaXRpb24oKTsKQEAgLTE0
NjEsOCArMTQ2MSw4IEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4dExpbmUK
IAogICAgIElubGluZUl0ZXJhdG9yIGxCcmVhayA9IHJlc29sdmVyLnBvc2l0aW9uKCk7CiAKLSAg
ICBSZW5kZXJPYmplY3QgKm8gPSByZXNvbHZlci5wb3NpdGlvbigpLm9iajsKLSAgICBSZW5kZXJP
YmplY3QgKmxhc3QgPSBvOworICAgIFJlbmRlck9iamVjdCogbyA9IHJlc29sdmVyLnBvc2l0aW9u
KCkub2JqOworICAgIFJlbmRlck9iamVjdCogbGFzdCA9IG87CiAgICAgdW5zaWduZWQgcG9zID0g
cmVzb2x2ZXIucG9zaXRpb24oKS5wb3M7CiAgICAgaW50IG5leHRCcmVha2FibGUgPSByZXNvbHZl
ci5wb3NpdGlvbigpLm5leHRCcmVha2FibGVQb3NpdGlvbjsKICAgICBib29sIGF0U3RhcnQgPSB0
cnVlOwpAQCAtMTY1OSwyMiArMTY1OSwyMiBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9jazo6
ZmluZE5leHRMaW5lCiAgICAgICAgICAgICBib29sIGNhbkh5cGhlbmF0ZSA9IHN0eWxlLT5oeXBo
ZW5zKCkgPT0gSHlwaGVuc0F1dG8gJiYgV2ViQ29yZTo6Y2FuSHlwaGVuYXRlKHN0eWxlLT5oeXBo
ZW5hdGlvbkxvY2FsZSgpKTsKIAogICAgICAgICAgICAgaW50IGxhc3RTcGFjZSA9IHBvczsKLSAg
ICAgICAgICAgIGludCB3b3JkU3BhY2luZyA9IG8tPnN0eWxlKCktPndvcmRTcGFjaW5nKCk7Ci0g
ICAgICAgICAgICBpbnQgbGFzdFNwYWNlV29yZFNwYWNpbmcgPSAwOworICAgICAgICAgICAgZmxv
YXQgd29yZFNwYWNpbmcgPSBvLT5zdHlsZSgpLT53b3JkU3BhY2luZygpOworICAgICAgICAgICAg
ZmxvYXQgbGFzdFNwYWNlV29yZFNwYWNpbmcgPSAwOwogCiAgICAgICAgICAgICAvLyBOb24temVy
byBvbmx5IHdoZW4ga2VybmluZyBpcyBlbmFibGVkLCBpbiB3aGljaCBjYXNlIHdlIG1lYXN1cmUg
d29yZHMgd2l0aCB0aGVpciB0cmFpbGluZwogICAgICAgICAgICAgLy8gc3BhY2UsIHRoZW4gc3Vi
dHJhY3QgaXRzIHdpZHRoLgotICAgICAgICAgICAgaW50IHdvcmRUcmFpbGluZ1NwYWNlV2lkdGgg
PSBmLnR5cGVzZXR0aW5nRmVhdHVyZXMoKSAmIEtlcm5pbmcgPyBmLndpZHRoKFRleHRSdW4oJnNw
YWNlLCAxKSkgKyB3b3JkU3BhY2luZyA6IDA7CisgICAgICAgICAgICBmbG9hdCB3b3JkVHJhaWxp
bmdTcGFjZVdpZHRoID0gZi50eXBlc2V0dGluZ0ZlYXR1cmVzKCkgJiBLZXJuaW5nID8gZi53aWR0
aChUZXh0UnVuKCZzcGFjZSwgMSkpICsgd29yZFNwYWNpbmcgOiAwOwogCi0gICAgICAgICAgICBp
bnQgd3JhcFcgPSB0bXBXICsgaW5saW5lTG9naWNhbFdpZHRoKG8sICFhcHBsaWVkU3RhcnRXaWR0
aCwgdHJ1ZSk7Ci0gICAgICAgICAgICBpbnQgY2hhcldpZHRoID0gMDsKKyAgICAgICAgICAgIGZs
b2F0IHdyYXBXID0gdG1wVyArIGlubGluZUxvZ2ljYWxXaWR0aChvLCAhYXBwbGllZFN0YXJ0V2lk
dGgsIHRydWUpOworICAgICAgICAgICAgZmxvYXQgY2hhcldpZHRoID0gMDsKICAgICAgICAgICAg
IGJvb2wgYnJlYWtOQlNQID0gYXV0b1dyYXAgJiYgby0+c3R5bGUoKS0+bmJzcE1vZGUoKSA9PSBT
UEFDRTsKICAgICAgICAgICAgIC8vIEF1dG8td3JhcHBpbmcgdGV4dCBzaG91bGQgd3JhcCBpbiB0
aGUgbWlkZGxlIG9mIGEgd29yZCBvbmx5IGlmIGl0IGNvdWxkIG5vdCB3cmFwIGJlZm9yZSB0aGUg
d29yZCwKICAgICAgICAgICAgIC8vIHdoaWNoIGlzIG9ubHkgcG9zc2libGUgaWYgdGhlIHdvcmQg
aXMgdGhlIGZpcnN0IHRoaW5nIG9uIHRoZSBsaW5lLCB0aGF0IGlzLCBpZiB8d3wgaXMgemVyby4K
ICAgICAgICAgICAgIGJvb2wgYnJlYWtXb3JkcyA9IG8tPnN0eWxlKCktPmJyZWFrV29yZHMoKSAm
JiAoKGF1dG9XcmFwICYmICF3KSB8fCBjdXJyV1MgPT0gUFJFKTsKICAgICAgICAgICAgIGJvb2wg
bWlkV29yZEJyZWFrID0gZmFsc2U7CiAgICAgICAgICAgICBib29sIGJyZWFrQWxsID0gby0+c3R5
bGUoKS0+d29yZEJyZWFrKCkgPT0gQnJlYWtBbGxXb3JkQnJlYWsgJiYgYXV0b1dyYXA7Ci0gICAg
ICAgICAgICBpbnQgaHlwaGVuV2lkdGggPSAwOworICAgICAgICAgICAgZmxvYXQgaHlwaGVuV2lk
dGggPSAwOwogCiAgICAgICAgICAgICBpZiAodC0+aXNXb3JkQnJlYWsoKSkgewogICAgICAgICAg
ICAgICAgIHcgKz0gdG1wVzsKQEAgLTE3NDMsNyArMTc0Myw3IEBAIElubGluZUl0ZXJhdG9yIFJl
bmRlckJsb2NrOjpmaW5kTmV4dExpbmUKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgICAgIGludCBhZGRpdGlvbmFsVG1w
VzsKKyAgICAgICAgICAgICAgICAgICAgZmxvYXQgYWRkaXRpb25hbFRtcFc7CiAgICAgICAgICAg
ICAgICAgICAgIGlmICh3b3JkVHJhaWxpbmdTcGFjZVdpZHRoICYmIGN1cnJlbnRDaGFyYWN0ZXJJ
c1NwYWNlKQogICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFRtcFcgPSB0ZXh0V2lk
dGgodCwgbGFzdFNwYWNlLCBwb3MgKyAxIC0gbGFzdFNwYWNlLCBmLCB3ICsgdG1wVywgaXNGaXhl
ZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UpIC0gd29yZFRyYWlsaW5nU3BhY2VXaWR0aCArIGxh
c3RTcGFjZVdvcmRTcGFjaW5nOwogICAgICAgICAgICAgICAgICAgICBlbHNlCkBAIC0xODkzLDcg
KzE4OTMsNyBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9jazo6ZmluZE5leHRMaW5lCiAgICAg
ICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIElNUE9SVEFOVDogcG9zIGlzID4gbGVuZ3RoIGhl
cmUhCi0gICAgICAgICAgICBpbnQgYWRkaXRpb25hbFRtcFcgPSBpZ25vcmluZ1NwYWNlcyA/IDAg
OiB0ZXh0V2lkdGgodCwgbGFzdFNwYWNlLCBwb3MgLSBsYXN0U3BhY2UsIGYsIHcgKyB0bXBXLCBp
c0ZpeGVkUGl0Y2gsIGNvbGxhcHNlV2hpdGVTcGFjZSkgKyBsYXN0U3BhY2VXb3JkU3BhY2luZzsK
KyAgICAgICAgICAgIGZsb2F0IGFkZGl0aW9uYWxUbXBXID0gaWdub3JpbmdTcGFjZXMgPyAwIDog
dGV4dFdpZHRoKHQsIGxhc3RTcGFjZSwgcG9zIC0gbGFzdFNwYWNlLCBmLCB3ICsgdG1wVywgaXNG
aXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UpICsgbGFzdFNwYWNlV29yZFNwYWNpbmc7CiAg
ICAgICAgICAgICB0bXBXICs9IGFkZGl0aW9uYWxUbXBXOwogICAgICAgICAgICAgdG1wVyArPSBp
bmxpbmVMb2dpY2FsV2lkdGgobywgIWFwcGxpZWRTdGFydFdpZHRoLCB0cnVlKTsKIApJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEzMjksNyArMTMyOSw3IEBAIHZvaWQgUmVuZGVyQm94Ojpwb3NpdGlvbkxpbmVCb3goSW5saW5l
Qm8KICAgICAgICAgYm94LT5yZW1vdmUoKTsKICAgICAgICAgYm94LT5kZXN0cm95KHJlbmRlckFy
ZW5hKCkpOwogICAgIH0gZWxzZSBpZiAoaXNSZXBsYWNlZCgpKSB7Ci0gICAgICAgIHNldExvY2F0
aW9uKGJveC0+eCgpLCBib3gtPnkoKSk7CisgICAgICAgIHNldExvY2F0aW9uKGxyb3VuZGYoYm94
LT54KCkpLCBscm91bmRmKGJveC0+eSgpKSk7CiAgICAgICAgIG1faW5saW5lQm94V3JhcHBlciA9
IGJveDsKICAgICB9CiB9CkBAIC0zMzQ4LDYgKzMzNDgsMjQgQEAgSW50U2l6ZSBSZW5kZXJCb3g6
OmZsaXBGb3JXcml0aW5nTW9kZShjbwogICAgIHJldHVybiBzdHlsZSgpLT5pc0hvcml6b250YWxX
cml0aW5nTW9kZSgpID8gSW50U2l6ZShvZmZzZXQud2lkdGgoKSwgaGVpZ2h0KCkgLSBvZmZzZXQu
aGVpZ2h0KCkpIDogSW50U2l6ZSh3aWR0aCgpIC0gb2Zmc2V0LndpZHRoKCksIG9mZnNldC5oZWln
aHQoKSk7CiB9CiAKK0Zsb2F0UG9pbnQgUmVuZGVyQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoY29u
c3QgRmxvYXRQb2ludCYgcG9zaXRpb24pIGNvbnN0Cit7CisgICAgaWYgKCFzdHlsZSgpLT5pc0Zs
aXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQorICAgICAgICByZXR1cm4gcG9zaXRpb247CisgICAg
cmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBGbG9hdFBvaW50KHBv
c2l0aW9uLngoKSwgaGVpZ2h0KCkgLSBwb3NpdGlvbi55KCkpIDogRmxvYXRQb2ludCh3aWR0aCgp
IC0gcG9zaXRpb24ueCgpLCBwb3NpdGlvbi55KCkpOworfQorCit2b2lkIFJlbmRlckJveDo6Zmxp
cEZvcldyaXRpbmdNb2RlKEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKK3sKKyAgICBpZiAoIXN0eWxl
KCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCisgICAgICAgIHJldHVybjsKKworICAg
IGlmIChzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQorICAgICAgICByZWN0LnNl
dFkoaGVpZ2h0KCkgLSByZWN0Lm1heFkoKSk7CisgICAgZWxzZQorICAgICAgICByZWN0LnNldFgo
d2lkdGgoKSAtIHJlY3QubWF4WCgpKTsKK30KKwogSW50U2l6ZSBSZW5kZXJCb3g6OmxvY2F0aW9u
T2Zmc2V0SW5jbHVkaW5nRmxpcHBpbmcoKSBjb25zdAogewogICAgIGlmICghcGFyZW50KCkgfHwg
IXBhcmVudCgpLT5pc0JveCgpKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3gu
aAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4NSw2ICszODUsOCBAQCBwdWJsaWM6CiAgICAgSW50UG9p
bnQgZmxpcEZvcldyaXRpbmdNb2RlSW5jbHVkaW5nQ29sdW1ucyhjb25zdCBJbnRQb2ludCYpIGNv
bnN0OwogICAgIEludFNpemUgZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEludFNpemUmKSBjb25z
dDsKICAgICB2b2lkIGZsaXBGb3JXcml0aW5nTW9kZShJbnRSZWN0JikgY29uc3Q7CisgICAgRmxv
YXRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgRmxvYXRQb2ludCYpIGNvbnN0OworICAg
IHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0UmVjdCYpIGNvbnN0OwogICAgIEludFNpemUg
bG9jYXRpb25PZmZzZXRJbmNsdWRpbmdGbGlwcGluZygpIGNvbnN0OwogCiAgICAgSW50UmVjdCBs
b2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24oUmVuZGVyU3R5bGUqKSBjb25z
dDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0
LmNwcAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Q29tYmluZVRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw3IEBAIHZvaWQgUmVu
ZGVyQ29tYmluZVRleHQ6OnNldFRleHRJbnRlcm5hbCgKICAgICBtX25lZWRzRm9udFVwZGF0ZSA9
IHRydWU7CiB9CiAKLXVuc2lnbmVkIFJlbmRlckNvbWJpbmVUZXh0Ojp3aWR0aCh1bnNpZ25lZCBm
cm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnQmIGZvbnQsIGludCB4UG9zaXRpb24sIEhh
c2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxv
dyogZ2x5cGhPdmVyZmxvdykgY29uc3QKK2Zsb2F0IFJlbmRlckNvbWJpbmVUZXh0Ojp3aWR0aCh1
bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnQmIGZvbnQsIGZsb2F0IHhQ
b3NpdGlvbiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBH
bHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAogewogICAgIGlmICghY2hhcmFjdGVy
cygpKQogICAgICAgICByZXR1cm4gMDsKQEAgLTYzLDcgKzYzLDcgQEAgdW5zaWduZWQgUmVuZGVy
Q29tYmluZVRleHQ6OndpZHRoKHVuc2lnbgogICAgIHJldHVybiBSZW5kZXJUZXh0Ojp3aWR0aChm
cm9tLCBsZW5ndGgsIGZvbnQsIHhQb3NpdGlvbiwgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxv
dyk7CiB9CiAKLXZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OmFkanVzdFRleHRPcmlnaW4oSW50UG9p
bnQmIHRleHRPcmlnaW4sIGNvbnN0IEludFJlY3QmIGJveFJlY3QpIGNvbnN0Cit2b2lkIFJlbmRl
ckNvbWJpbmVUZXh0OjphZGp1c3RUZXh0T3JpZ2luKEZsb2F0UG9pbnQmIHRleHRPcmlnaW4sIGNv
bnN0IEZsb2F0UmVjdCYgYm94UmVjdCkgY29uc3QKIHsKICAgICBpZiAobV9pc0NvbWJpbmVkKQog
ICAgICAgICB0ZXh0T3JpZ2luLm1vdmUoYm94UmVjdC5oZWlnaHQoKSAvIDIgLSBjZWlsZihtX2Nv
bWJpbmVkVGV4dFdpZHRoKSAvIDIsIHN0eWxlKCktPmZvbnQoKS5waXhlbFNpemUoKSk7CkBAIC05
OCw3ICs5OCw3IEBAIHZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OmNvbWJpbmVUZXh0KCkKICAgICBi
b29sIHNob3VsZFVwZGF0ZUZvbnQgPSBmYWxzZTsKIAogICAgIGRlc2NyaXB0aW9uLnNldE9yaWVu
dGF0aW9uKEhvcml6b250YWwpOyAvLyBXZSBhcmUgZ29pbmcgdG8gZHJhdyBjb21iaW5lZCB0ZXh0
IGhvcml6b250YWxseS4KLSAgICBtX2NvbWJpbmVkVGV4dFdpZHRoID0gc3R5bGUoKS0+Zm9udCgp
LmZsb2F0V2lkdGgocnVuKTsKKyAgICBtX2NvbWJpbmVkVGV4dFdpZHRoID0gc3R5bGUoKS0+Zm9u
dCgpLndpZHRoKHJ1bik7CiAgICAgbV9pc0NvbWJpbmVkID0gbV9jb21iaW5lZFRleHRXaWR0aCA8
PSBlbVdpZHRoOwogCiAgICAgaWYgKG1faXNDb21iaW5lZCkKQEAgLTExMCw3ICsxMTAsNyBAQCB2
b2lkIFJlbmRlckNvbWJpbmVUZXh0Ojpjb21iaW5lVGV4dCgpCiAgICAgICAgICAgICBkZXNjcmlw
dGlvbi5zZXRXaWR0aFZhcmlhbnQod2lkdGhWYXJpYW50c1tpXSk7CiAgICAgICAgICAgICBGb250
IGNvbXByZXNzZWRGb250ID0gRm9udChkZXNjcmlwdGlvbiwgc3R5bGUoKS0+Zm9udCgpLmxldHRl
clNwYWNpbmcoKSwgc3R5bGUoKS0+Zm9udCgpLndvcmRTcGFjaW5nKCkpOwogICAgICAgICAgICAg
Y29tcHJlc3NlZEZvbnQudXBkYXRlKHN0eWxlKCktPmZvbnQoKS5mb250U2VsZWN0b3IoKSk7Ci0g
ICAgICAgICAgICBmbG9hdCBydW5XaWR0aCA9IGNvbXByZXNzZWRGb250LmZsb2F0V2lkdGgocnVu
KTsKKyAgICAgICAgICAgIGZsb2F0IHJ1bldpZHRoID0gY29tcHJlc3NlZEZvbnQud2lkdGgocnVu
KTsKICAgICAgICAgICAgIGlmIChydW5XaWR0aCA8PSBlbVdpZHRoKSB7CiAgICAgICAgICAgICAg
ICAgbV9jb21iaW5lZFRleHRXaWR0aCA9IHJ1bldpZHRoOwogICAgICAgICAgICAgICAgIG1faXND
b21iaW5lZCA9IHRydWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29t
YmluZVRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Q29tYmluZVRleHQuaAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQ29tYmluZVRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTMgKzMwLDEzIEBA
IHB1YmxpYzoKICAgICBSZW5kZXJDb21iaW5lVGV4dChOb2RlKiwgUGFzc1JlZlB0cjxTdHJpbmdJ
bXBsPik7CiAKICAgICB2b2lkIGNvbWJpbmVUZXh0KCk7Ci0gICAgdm9pZCBhZGp1c3RUZXh0T3Jp
Z2luKEludFBvaW50JiB0ZXh0T3JpZ2luLCBjb25zdCBJbnRSZWN0JiBib3hSZWN0KSBjb25zdDsK
KyAgICB2b2lkIGFkanVzdFRleHRPcmlnaW4oRmxvYXRQb2ludCYgdGV4dE9yaWdpbiwgY29uc3Qg
RmxvYXRSZWN0JiBib3hSZWN0KSBjb25zdDsKICAgICB2b2lkIGNoYXJhY3RlcnNUb1JlbmRlcihp
bnQgc3RhcnQsIGNvbnN0IFVDaGFyKiYgY2hhcmFjdGVycywgaW50JiBsZW5ndGgpIGNvbnN0Owog
ICAgIGJvb2wgaXNDb21iaW5lZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNDb21iaW5lZDsgfQotICAg
IGludCBjb21iaW5lZFRleHRXaWR0aChjb25zdCBGb250JiBmb250KSBjb25zdCB7IHJldHVybiBm
b250LnNpemUoKTsgfQorICAgIGZsb2F0IGNvbWJpbmVkVGV4dFdpZHRoKGNvbnN0IEZvbnQmIGZv
bnQpIGNvbnN0IHsgcmV0dXJuIGZvbnQuc2l6ZSgpOyB9CiAKIHByaXZhdGU6Ci0gICAgdmlydHVh
bCB1bnNpZ25lZCB3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZv
bnQmLCBpbnQgeFBvc2l0aW9uLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxi
YWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0OworICAgIHZpcnR1YWwgZmxv
YXQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBGb250JiwgZmxv
YXQgeFBvc2l0aW9uLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9u
dHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0OwogICAgIHZpcnR1YWwgY29uc3QgY2hh
ciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJDb21iaW5lVGV4dCI7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5k
ZXJTdHlsZSogb2xkU3R5bGUpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0SW50ZXJuYWwoUGFz
c1JlZlB0cjxTdHJpbmdJbXBsPik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQ291bnRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckNvdW50ZXIuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJDb3VudGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDkzLDcgKzQ5Myw3IEBA
IFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gUmVuZGVyQ291bnRlcjo6b3IKICAgICByZXR1cm4gdGV4
dC5pbXBsKCk7CiB9CiAKLXZvaWQgUmVuZGVyQ291bnRlcjo6Y29tcHV0ZVByZWZlcnJlZExvZ2lj
YWxXaWR0aHMoaW50IGxlYWQpCit2b2lkIFJlbmRlckNvdW50ZXI6OmNvbXB1dGVQcmVmZXJyZWRM
b2dpY2FsV2lkdGhzKGZsb2F0IGxlYWQpCiB7CiAgICAgc2V0VGV4dEludGVybmFsKG9yaWdpbmFs
VGV4dCgpKTsKICAgICBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhs
ZWFkKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuaAkocmV2
aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBi
b29sIGlzQ291bnRlcigpIGNvbnN0OwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTdHJpbmdJbXBs
PiBvcmlnaW5hbFRleHQoKSBjb25zdDsKICAgICAKLSAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVBy
ZWZlcnJlZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRXaWR0aCk7CisgICAgdmlydHVhbCB2b2lkIGNv
bXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCk7CiAKICAgICBDb3Vu
dGVyQ29udGVudCBtX2NvdW50ZXI7CiAgICAgbXV0YWJsZSBDb3VudGVyTm9kZSogbV9jb3VudGVy
Tm9kZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVj
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVk
ZGVkT2JqZWN0LmNwcAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTksOCArMTk5
LDcgQEAgYm9vbCBSZW5kZXJFbWJlZGRlZE9iamVjdDo6Z2V0UmVwbGFjZW1lbgogICAgIGZvbnQu
dXBkYXRlKDApOwogICAgIAogICAgIHJ1biA9IFRleHRSdW4obV9yZXBsYWNlbWVudFRleHQuY2hh
cmFjdGVycygpLCBtX3JlcGxhY2VtZW50VGV4dC5sZW5ndGgoKSk7Ci0gICAgcnVuLmRpc2FibGVS
b3VuZGluZ0hhY2tzKCk7Ci0gICAgdGV4dFdpZHRoID0gZm9udC5mbG9hdFdpZHRoKHJ1bik7Cisg
ICAgdGV4dFdpZHRoID0gZm9udC53aWR0aChydW4pOwogICAgIAogICAgIHJlcGxhY2VtZW50VGV4
dFJlY3Quc2V0U2l6ZShGbG9hdFNpemUodGV4dFdpZHRoICsgcmVwbGFjZW1lbnRUZXh0Um91bmRl
ZFJlY3RMZWZ0UmlnaHRUZXh0TWFyZ2luICogMiwgcmVwbGFjZW1lbnRUZXh0Um91bmRlZFJlY3RI
ZWlnaHQpKTsKICAgICBmbG9hdCB4ID0gKGNvbnRlbnRSZWN0LnNpemUoKS53aWR0aCgpIC8gMiAt
IHJlcGxhY2VtZW50VGV4dFJlY3Quc2l6ZSgpLndpZHRoKCkgLyAyKSArIGNvbnRlbnRSZWN0Lmxv
Y2F0aW9uKCkueCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVV
cGxvYWRDb250cm9sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI3Myw3ICsyNzMsNyBAQCB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpjb21w
dXRlUHJlCiAgICAgICAgIC8vIEZpZ3VyZSBvdXQgaG93IGJpZyB0aGUgZmlsZW5hbWUgc3BhY2Ug
bmVlZHMgdG8gYmUgZm9yIGEgZ2l2ZW4gbnVtYmVyIG9mIGNoYXJhY3RlcnMKICAgICAgICAgLy8g
KHVzaW5nICIwIiBhcyB0aGUgbm9taW5hbCBjaGFyYWN0ZXIpLgogICAgICAgICBjb25zdCBVQ2hh
ciBjaCA9ICcwJzsKLSAgICAgICAgZmxvYXQgY2hhcldpZHRoID0gc3R5bGUoKS0+Zm9udCgpLmZs
b2F0V2lkdGgoVGV4dFJ1bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWls
aW5nRXhwYW5zaW9uLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSk7CisgICAgICAgIGZsb2F0IGNoYXJX
aWR0aCA9IHN0eWxlKCktPmZvbnQoKS53aWR0aChUZXh0UnVuKCZjaCwgMSwgZmFsc2UsIDAsIDAs
IFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlKSk7CiAgICAgICAgIG1fbWF4
UHJlZmVycmVkTG9naWNhbFdpZHRoID0gKGludCljZWlsZihjaGFyV2lkdGggKiBkZWZhdWx0V2lk
dGhOdW1DaGFycyk7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbWFnZS5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODEsNyArODEsNyBAQCBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgc2hvcnQgcGFkZGluZ0hlaWdoCiAKIC8vIEFsdCB0ZXh0IGlzIHJlc3Ry
aWN0ZWQgdG8gdGhpcyBtYXhpbXVtIHNpemUsIGluIHBpeGVscy4gIFRoZXNlIGFyZQogLy8gc2ln
bmVkIGludGVnZXJzIGJlY2F1c2UgdGhleSBhcmUgY29tcGFyZWQgd2l0aCBvdGhlciBzaWduZWQg
dmFsdWVzLgotc3RhdGljIGNvbnN0IGludCBtYXhBbHRUZXh0V2lkdGggPSAxMDI0Oworc3RhdGlj
IGNvbnN0IGZsb2F0IG1heEFsdFRleHRXaWR0aCA9IDEwMjQ7CiBzdGF0aWMgY29uc3QgaW50IG1h
eEFsdFRleHRIZWlnaHQgPSAyNTY7CiAKIEludFNpemUgUmVuZGVySW1hZ2U6OmltYWdlU2l6ZUZv
ckVycm9yKENhY2hlZEltYWdlKiBuZXdJbWFnZSkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NTks
OCArNTU5LDggQEAgSW50UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzQm91bmRpbmdCb3goKQogICAg
IEFTU0VSVCghZmlyc3RMaW5lQm94KCkgPT0gIWxhc3RMaW5lQm94KCkpOyAgLy8gRWl0aGVyIGJv
dGggYXJlIG51bGwgb3IgYm90aCBleGlzdC4KICAgICBpZiAoZmlyc3RMaW5lQm94KCkgJiYgbGFz
dExpbmVCb3goKSkgewogICAgICAgICAvLyBSZXR1cm4gdGhlIHdpZHRoIG9mIHRoZSBtaW5pbWFs
IGxlZnQgc2lkZSBhbmQgdGhlIG1heGltYWwgcmlnaHQgc2lkZS4KLSAgICAgICAgaW50IGxvZ2lj
YWxMZWZ0U2lkZSA9IDA7Ci0gICAgICAgIGludCBsb2dpY2FsUmlnaHRTaWRlID0gMDsKKyAgICAg
ICAgZmxvYXQgbG9naWNhbExlZnRTaWRlID0gMDsKKyAgICAgICAgZmxvYXQgbG9naWNhbFJpZ2h0
U2lkZSA9IDA7CiAgICAgICAgIGZvciAoSW5saW5lRmxvd0JveCogY3VyciA9IGZpcnN0TGluZUJv
eCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dExpbmVCb3goKSkgewogICAgICAgICAgICAgaWYg
KGN1cnIgPT0gZmlyc3RMaW5lQm94KCkgfHwgY3Vyci0+bG9naWNhbExlZnQoKSA8IGxvZ2ljYWxM
ZWZ0U2lkZSkKICAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBjdXJyLT5sb2dpY2Fs
TGVmdCgpOwpAQCAtNTcwLDExICs1NzAsMTEgQEAgSW50UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVz
Qm91bmRpbmdCb3goKQogICAgICAgICAKICAgICAgICAgYm9vbCBpc0hvcml6b250YWwgPSBzdHls
ZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpOwogICAgICAgICAKLSAgICAgICAgaW50IHgg
PSBpc0hvcml6b250YWwgPyBsb2dpY2FsTGVmdFNpZGUgOiBmaXJzdExpbmVCb3goKS0+eCgpOwot
ICAgICAgICBpbnQgeSA9IGlzSG9yaXpvbnRhbCA/IGZpcnN0TGluZUJveCgpLT55KCkgOiBsb2dp
Y2FsTGVmdFNpZGU7Ci0gICAgICAgIGludCB3aWR0aCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxS
aWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0TGluZUJveCgpLT5sb2dpY2FsQm90dG9t
KCkgLSB4OwotICAgICAgICBpbnQgaGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFzdExpbmVCb3go
KS0+bG9naWNhbEJvdHRvbSgpIC0geSA6IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNp
ZGU7Ci0gICAgICAgIHJlc3VsdCA9IEludFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCk7CisgICAg
ICAgIGZsb2F0IHggPSBpc0hvcml6b250YWwgPyBsb2dpY2FsTGVmdFNpZGUgOiBmaXJzdExpbmVC
b3goKS0+eCgpOworICAgICAgICBmbG9hdCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RMaW5lQm94
KCktPnkoKSA6IGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICAgICAgZmxvYXQgd2lkdGggPSBpc0hvcml6
b250YWwgPyBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlIDogbGFzdExpbmVCb3go
KS0+bG9naWNhbEJvdHRvbSgpIC0geDsKKyAgICAgICAgZmxvYXQgaGVpZ2h0ID0gaXNIb3Jpem9u
dGFsID8gbGFzdExpbmVCb3goKS0+bG9naWNhbEJvdHRvbSgpIC0geSA6IGxvZ2ljYWxSaWdodFNp
ZGUgLSBsb2dpY2FsTGVmdFNpZGU7CisgICAgICAgIHJlc3VsdCA9IGVuY2xvc2luZ0ludFJlY3Qo
RmxvYXRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpKTsKICAgICB9CiAKICAgICByZXR1cm4gcmVz
dWx0OwpAQCAtNTg2LDIwICs1ODYsMjAgQEAgSW50UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzVmlz
dWFsT3ZlcmZsbwogICAgICAgICByZXR1cm4gSW50UmVjdCgpOwogCiAgICAgLy8gUmV0dXJuIHRo
ZSB3aWR0aCBvZiB0aGUgbWluaW1hbCBsZWZ0IHNpZGUgYW5kIHRoZSBtYXhpbWFsIHJpZ2h0IHNp
ZGUuCi0gICAgaW50IGxvZ2ljYWxMZWZ0U2lkZSA9IG51bWVyaWNfbGltaXRzPGludD46Om1heCgp
OwotICAgIGludCBsb2dpY2FsUmlnaHRTaWRlID0gbnVtZXJpY19saW1pdHM8aW50Pjo6bWluKCk7
CisgICAgZmxvYXQgbG9naWNhbExlZnRTaWRlID0gbnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7
CisgICAgZmxvYXQgbG9naWNhbFJpZ2h0U2lkZSA9IG51bWVyaWNfbGltaXRzPGludD46Om1pbigp
OwogICAgIGZvciAoSW5saW5lRmxvd0JveCogY3VyciA9IGZpcnN0TGluZUJveCgpOyBjdXJyOyBj
dXJyID0gY3Vyci0+bmV4dExpbmVCb3goKSkgewotICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBt
aW4obG9naWNhbExlZnRTaWRlLCBjdXJyLT5sb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCkpOwot
ICAgICAgICBsb2dpY2FsUmlnaHRTaWRlID0gbWF4KGxvZ2ljYWxSaWdodFNpZGUsIGN1cnItPmxv
Z2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KCkpOworICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBt
aW4obG9naWNhbExlZnRTaWRlLCBzdGF0aWNfY2FzdDxmbG9hdD4oY3Vyci0+bG9naWNhbExlZnRW
aXN1YWxPdmVyZmxvdygpKSk7CisgICAgICAgIGxvZ2ljYWxSaWdodFNpZGUgPSBtYXgobG9naWNh
bFJpZ2h0U2lkZSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGN1cnItPmxvZ2ljYWxSaWdodFZpc3VhbE92
ZXJmbG93KCkpKTsKICAgICB9CiAKICAgICBib29sIGlzSG9yaXpvbnRhbCA9IHN0eWxlKCktPmlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CiAgICAgICAgIAotICAgIGludCB4ID0gaXNIb3Jpem9u
dGFsID8gbG9naWNhbExlZnRTaWRlIDogZmlyc3RMaW5lQm94KCktPm1pblhWaXN1YWxPdmVyZmxv
dygpOwotICAgIGludCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RMaW5lQm94KCktPm1pbllWaXN1
YWxPdmVyZmxvdygpIDogbG9naWNhbExlZnRTaWRlOwotICAgIGludCB3aWR0aCA9IGlzSG9yaXpv
bnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0TGluZUJveCgp
LT5tYXhYVmlzdWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT5taW5YVmlzdWFsT3ZlcmZs
b3coKTsKLSAgICBpbnQgaGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFzdExpbmVCb3goKS0+bWF4
WVZpc3VhbE92ZXJmbG93KCkgLSBmaXJzdExpbmVCb3goKS0+bWluWVZpc3VhbE92ZXJmbG93KCkg
OiBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlOwotICAgIHJldHVybiBJbnRSZWN0
KHgsIHksIHdpZHRoLCBoZWlnaHQpOworICAgIGZsb2F0IHggPSBpc0hvcml6b250YWwgPyBsb2dp
Y2FsTGVmdFNpZGUgOiBmaXJzdExpbmVCb3goKS0+bWluWFZpc3VhbE92ZXJmbG93KCk7CisgICAg
ZmxvYXQgeSA9IGlzSG9yaXpvbnRhbCA/IGZpcnN0TGluZUJveCgpLT5taW5ZVmlzdWFsT3ZlcmZs
b3coKSA6IGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICBmbG9hdCB3aWR0aCA9IGlzSG9yaXpvbnRhbCA/
IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0TGluZUJveCgpLT5tYXhY
VmlzdWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT5taW5YVmlzdWFsT3ZlcmZsb3coKTsK
KyAgICBmbG9hdCBoZWlnaHQgPSBpc0hvcml6b250YWwgPyBsYXN0TGluZUJveCgpLT5tYXhZVmlz
dWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT5taW5ZVmlzdWFsT3ZlcmZsb3coKSA6IGxv
Z2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGU7CisgICAgcmV0dXJuIGVuY2xvc2luZ0lu
dFJlY3QoRmxvYXRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpKTsKIH0KIAogSW50UmVjdCBSZW5k
ZXJJbmxpbmU6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2Jq
ZWN0KiByZXBhaW50Q29udGFpbmVyKQpAQCAtOTYzLDggKzk2Myw4IEBAIHZvaWQgUmVuZGVySW5s
aW5lOjphZGRGb2N1c1JpbmdSZWN0cyhWZWMKIHsKICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1
cnIgPSBmaXJzdExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkpIHsK
ICAgICAgICAgUm9vdElubGluZUJveCogcm9vdCA9IGN1cnItPnJvb3QoKTsKLSAgICAgICAgaW50
IHRvcCA9IG1heChyb290LT5saW5lVG9wKCksIGN1cnItPnkoKSk7Ci0gICAgICAgIGludCBib3R0
b20gPSBtaW4ocm9vdC0+bGluZUJvdHRvbSgpLCBjdXJyLT55KCkgKyBjdXJyLT5sb2dpY2FsSGVp
Z2h0KCkpOworICAgICAgICBpbnQgdG9wID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+bG9n
aWNhbFRvcCgpKTsKKyAgICAgICAgaW50IGJvdHRvbSA9IG1pbihyb290LT5saW5lQm90dG9tKCks
IGN1cnItPmxvZ2ljYWxCb3R0b20oKSk7CiAgICAgICAgIEludFJlY3QgcmVjdCh0eCArIGN1cnIt
PngoKSwgdHkgKyB0b3AsIGN1cnItPmxvZ2ljYWxXaWR0aCgpLCBib3R0b20gLSB0b3ApOwogICAg
ICAgICBpZiAoIXJlY3QuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmVjdHMuYXBwZW5kKHJlY3Qp
OwpAQCAtMTAxNSw4ICsxMDE1LDggQEAgdm9pZCBSZW5kZXJJbmxpbmU6OnBhaW50T3V0bGluZShH
cmFwaGljcwogICAgIHJlY3RzLmFwcGVuZChJbnRSZWN0KCkpOwogICAgIGZvciAoSW5saW5lRmxv
d0JveCogY3VyciA9IGZpcnN0TGluZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dExpbmVC
b3goKSkgewogICAgICAgICBSb290SW5saW5lQm94KiByb290ID0gY3Vyci0+cm9vdCgpOwotICAg
ICAgICBpbnQgdG9wID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+eSgpKTsKLSAgICAgICAg
aW50IGJvdHRvbSA9IG1pbihyb290LT5saW5lQm90dG9tKCksIGN1cnItPnkoKSArIGN1cnItPmxv
Z2ljYWxIZWlnaHQoKSk7CisgICAgICAgIGludCB0b3AgPSBtYXgocm9vdC0+bGluZVRvcCgpLCBj
dXJyLT5sb2dpY2FsVG9wKCkpOworICAgICAgICBpbnQgYm90dG9tID0gbWluKHJvb3QtPmxpbmVC
b3R0b20oKSwgY3Vyci0+bG9naWNhbEJvdHRvbSgpKTsKICAgICAgICAgcmVjdHMuYXBwZW5kKElu
dFJlY3QoY3Vyci0+eCgpLCB0b3AsIGN1cnItPmxvZ2ljYWxXaWR0aCgpLCBib3R0b20gLSB0b3Ap
KTsKICAgICB9CiAgICAgcmVjdHMuYXBwZW5kKEludFJlY3QoKSk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTExLDcgKzExMSw3IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6dXBkYXRlRnJvbUVsZW1lbnQo
KQogICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKCF0ZXh0
LmlzRW1wdHkoKSkgewotICAgICAgICAgICAgICAgIGZsb2F0IHRleHRXaWR0aCA9IGl0ZW1Gb250
LmZsb2F0V2lkdGgoVGV4dFJ1bih0ZXh0LmltcGwoKSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFs
bG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSk7CisgICAg
ICAgICAgICAgICAgZmxvYXQgdGV4dFdpZHRoID0gaXRlbUZvbnQud2lkdGgoVGV4dFJ1bih0ZXh0
LmltcGwoKSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZh
bHNlLCBmYWxzZSkpOwogICAgICAgICAgICAgICAgIHdpZHRoID0gbWF4KHdpZHRoLCB0ZXh0V2lk
dGgpOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0zMzMsNyArMzMzLDcgQEAgdm9pZCBS
ZW5kZXJMaXN0Qm94OjpwYWludEl0ZW1Gb3JlZ3JvdW5kKAogCiAgICAgdW5zaWduZWQgbGVuZ3Ro
ID0gaXRlbVRleHQubGVuZ3RoKCk7CiAgICAgY29uc3QgVUNoYXIqIHN0cmluZyA9IGl0ZW1UZXh0
LmNoYXJhY3RlcnMoKTsKLSAgICBUZXh0UnVuIHRleHRSdW4oc3RyaW5nLCBsZW5ndGgsIGZhbHNl
LCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCAhaXRlbVN0eWxlLT5pc0xl
ZnRUb1JpZ2h0RGlyZWN0aW9uKCksIGl0ZW1TdHlsZS0+dW5pY29kZUJpZGkoKSA9PSBPdmVycmlk
ZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBUZXh0UnVuIHRleHRSdW4oc3RyaW5nLCBsZW5ndGgsIGZh
bHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCAhaXRlbVN0eWxlLT5p
c0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIGl0ZW1TdHlsZS0+dW5pY29kZUJpZGkoKSA9PSBPdmVy
cmlkZSk7CiAKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRleHQKICAgICBpZiAoaXRlbVN0eWxlLT52
aXNpYmlsaXR5KCkgIT0gSElEREVOKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck1lbnVMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTWVudUxpc3QuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1MywxMCArMTUz
LDEwIEBAIHZvaWQgUmVuZGVyTWVudUxpc3Q6OnVwZGF0ZU9wdGlvbnNXaWR0aCgKICAgICAgICAg
ICAgIGlmIChSZW5kZXJTdHlsZSogb3B0aW9uU3R5bGUgPSBlbGVtZW50LT5yZW5kZXJTdHlsZSgp
KQogICAgICAgICAgICAgICAgIG9wdGlvbldpZHRoICs9IG9wdGlvblN0eWxlLT50ZXh0SW5kZW50
KCkuY2FsY01pblZhbHVlKDApOwogICAgICAgICAgICAgaWYgKCF0ZXh0LmlzRW1wdHkoKSkKLSAg
ICAgICAgICAgICAgICBvcHRpb25XaWR0aCArPSBzdHlsZSgpLT5mb250KCkuZmxvYXRXaWR0aCh0
ZXh0KTsKKyAgICAgICAgICAgICAgICBvcHRpb25XaWR0aCArPSBzdHlsZSgpLT5mb250KCkud2lk
dGgodGV4dCk7CiAgICAgICAgICAgICBtYXhPcHRpb25XaWR0aCA9IG1heChtYXhPcHRpb25XaWR0
aCwgb3B0aW9uV2lkdGgpOwogICAgICAgICB9IGVsc2UgaWYgKCF0ZXh0LmlzRW1wdHkoKSkKLSAg
ICAgICAgICAgIG1heE9wdGlvbldpZHRoID0gbWF4KG1heE9wdGlvbldpZHRoLCBzdHlsZSgpLT5m
b250KCkuZmxvYXRXaWR0aCh0ZXh0KSk7CisgICAgICAgICAgICBtYXhPcHRpb25XaWR0aCA9IG1h
eChtYXhPcHRpb25XaWR0aCwgc3R5bGUoKS0+Zm9udCgpLndpZHRoKHRleHQpKTsKICAgICB9CiAK
ICAgICBpbnQgd2lkdGggPSBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKG1heE9wdGlvbldpZHRoKSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCShyZXZpc2lvbiA3
ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTA2LDE1ICs1MDYsMTkgQEAgSW50UmVjdCBSZW5kZXJUZXh0Ojpsb2NhbENh
cmV0UmVjdChJbmxpbgogICAgIGludCBoZWlnaHQgPSBib3gtPnJvb3QoKS0+c2VsZWN0aW9uSGVp
Z2h0KCk7CiAgICAgaW50IHRvcCA9IGJveC0+cm9vdCgpLT5zZWxlY3Rpb25Ub3AoKTsKIAotICAg
IGludCBsZWZ0ID0gYm94LT5wb3NpdGlvbkZvck9mZnNldChjYXJldE9mZnNldCk7CisgICAgLy8g
R28gYWhlYWQgYW5kIHJvdW5kIGxlZnQgdG8gc25hcCBpdCB0byB0aGUgbmVhcmVzdCBwaXhlbC4K
KyAgICBmbG9hdCBsZWZ0ID0gYm94LT5wb3NpdGlvbkZvck9mZnNldChjYXJldE9mZnNldCk7CiAK
ICAgICAvLyBEaXN0cmlidXRlIHRoZSBjYXJldCdzIHdpZHRoIHRvIGVpdGhlciBzaWRlIG9mIHRo
ZSBvZmZzZXQuCiAgICAgaW50IGNhcmV0V2lkdGhMZWZ0T2ZPZmZzZXQgPSBjYXJldFdpZHRoIC8g
MjsKICAgICBsZWZ0IC09IGNhcmV0V2lkdGhMZWZ0T2ZPZmZzZXQ7CiAgICAgaW50IGNhcmV0V2lk
dGhSaWdodE9mT2Zmc2V0ID0gY2FyZXRXaWR0aCAtIGNhcmV0V2lkdGhMZWZ0T2ZPZmZzZXQ7CiAK
LSAgICBpbnQgcm9vdExlZnQgPSBib3gtPnJvb3QoKS0+bG9naWNhbExlZnQoKTsKLSAgICBpbnQg
cm9vdFJpZ2h0ID0gcm9vdExlZnQgKyBib3gtPnJvb3QoKS0+bG9naWNhbFdpZHRoKCk7CisgICAg
bGVmdCA9IHJvdW5kZihsZWZ0KTsKKworICAgIGZsb2F0IHJvb3RMZWZ0ID0gYm94LT5yb290KCkt
PmxvZ2ljYWxMZWZ0KCk7CisgICAgZmxvYXQgcm9vdFJpZ2h0ID0gYm94LT5yb290KCktPmxvZ2lj
YWxSaWdodCgpOworCiAgICAgLy8gRklYTUU6IHNob3VsZCB3ZSB1c2UgdGhlIHdpZHRoIG9mIHRo
ZSByb290IGlubGluZSBib3ggb3IgdGhlCiAgICAgLy8gd2lkdGggb2YgdGhlIGNvbnRhaW5pbmcg
YmxvY2sgZm9yIHRoaXM/CiAgICAgaWYgKGV4dHJhV2lkdGhUb0VuZE9mTGluZSkKQEAgLTUyMiwx
NCArNTI2LDE0IEBAIEludFJlY3QgUmVuZGVyVGV4dDo6bG9jYWxDYXJldFJlY3QoSW5saW4KIAog
ICAgIFJlbmRlckJsb2NrKiBjYiA9IGNvbnRhaW5pbmdCbG9jaygpOwogICAgIFJlbmRlclN0eWxl
KiBjYlN0eWxlID0gY2ItPnN0eWxlKCk7Ci0gICAgaW50IGxlZnRFZGdlOwotICAgIGludCByaWdo
dEVkZ2U7CisgICAgZmxvYXQgbGVmdEVkZ2U7CisgICAgZmxvYXQgcmlnaHRFZGdlOwogICAgIGlm
IChzdHlsZSgpLT5hdXRvV3JhcCgpKSB7CiAgICAgICAgIGxlZnRFZGdlID0gY2ItPmxvZ2ljYWxM
ZWZ0KCk7CiAgICAgICAgIHJpZ2h0RWRnZSA9IGNiLT5sb2dpY2FsUmlnaHQoKTsKICAgICB9IGVs
c2UgewotICAgICAgICBsZWZ0RWRnZSA9IG1pbihjYi0+bG9naWNhbExlZnQoKSwgcm9vdExlZnQp
OwotICAgICAgICByaWdodEVkZ2UgPSBtYXgoY2ItPmxvZ2ljYWxSaWdodCgpLCByb290UmlnaHQp
OworICAgICAgICBsZWZ0RWRnZSA9IG1pbihzdGF0aWNfY2FzdDxmbG9hdD4oY2ItPmxvZ2ljYWxM
ZWZ0KCkpLCByb290TGVmdCk7CisgICAgICAgIHJpZ2h0RWRnZSA9IG1heChzdGF0aWNfY2FzdDxm
bG9hdD4oY2ItPmxvZ2ljYWxSaWdodCgpKSwgcm9vdFJpZ2h0KTsKICAgICB9CiAKICAgICBib29s
IHJpZ2h0QWxpZ25lZCA9IGZhbHNlOwpAQCAtNTYwLDcgKzU2NCw3IEBAIEludFJlY3QgUmVuZGVy
VGV4dDo6bG9jYWxDYXJldFJlY3QoSW5saW4KICAgICByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9u
dGFsV3JpdGluZ01vZGUoKSA/IEludFJlY3QobGVmdCwgdG9wLCBjYXJldFdpZHRoLCBoZWlnaHQp
IDogSW50UmVjdCh0b3AsIGxlZnQsIGhlaWdodCwgY2FyZXRXaWR0aCk7CiB9CiAKLUFMV0FZU19J
TkxJTkUgaW50IFJlbmRlclRleHQ6OndpZHRoRnJvbUNhY2hlKGNvbnN0IEZvbnQmIGYsIGludCBz
dGFydCwgaW50IGxlbiwgaW50IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiog
ZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKK0FMV0FZ
U19JTkxJTkUgZmxvYXQgUmVuZGVyVGV4dDo6d2lkdGhGcm9tQ2FjaGUoY29uc3QgRm9udCYgZiwg
aW50IHN0YXJ0LCBpbnQgbGVuLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnRE
YXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0
CiB7CiAgICAgaWYgKHN0eWxlKCktPmhhc1RleHRDb21iaW5lKCkpIHsKICAgICAgICAgY29uc3Qg
UmVuZGVyQ29tYmluZVRleHQqIGNvbWJpbmVUZXh0ID0gdG9SZW5kZXJDb21iaW5lVGV4dCh0aGlz
KTsKQEAgLTU2OSw5ICs1NzMsOSBAQCBBTFdBWVNfSU5MSU5FIGludCBSZW5kZXJUZXh0Ojp3aWR0
aEZyb21DCiAgICAgfQogCiAgICAgaWYgKGYuaXNGaXhlZFBpdGNoKCkgJiYgIWYuaXNTbWFsbENh
cHMoKSAmJiBtX2lzQWxsQVNDSUkpIHsKLSAgICAgICAgaW50IG1vbm9zcGFjZUNoYXJhY3Rlcldp
ZHRoID0gZi5zcGFjZVdpZHRoKCk7Ci0gICAgICAgIGludCB0YWJXaWR0aCA9IGFsbG93VGFicygp
ID8gbW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGggKiA4IDogMDsKLSAgICAgICAgaW50IHcgPSAwOwor
ICAgICAgICBmbG9hdCBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aCA9IGYuc3BhY2VXaWR0aCgpOwor
ICAgICAgICBmbG9hdCB0YWJXaWR0aCA9IGFsbG93VGFicygpID8gbW9ub3NwYWNlQ2hhcmFjdGVy
V2lkdGggKiA4IDogMDsKKyAgICAgICAgZmxvYXQgdyA9IDA7CiAgICAgICAgIGJvb2wgaXNTcGFj
ZTsKICAgICAgICAgYm9vbCBwcmV2aW91c0NoYXJXYXNTcGFjZSA9IHRydWU7IC8vIEZJWE1FOiBQ
cmVzZXJ2ZXMgaGlzdG9yaWNhbCBiZWhhdmlvciwgYnV0IHNlZW1zIHdyb25nIGZvciBzdGFydCA+
IDAuCiAgICAgICAgIEFTU0VSVChtX3RleHQpOwpAQCAtNTgzLDcgKzU4Nyw3IEBAIEFMV0FZU19J
TkxJTkUgaW50IFJlbmRlclRleHQ6OndpZHRoRnJvbUMKICAgICAgICAgICAgICAgICAgICAgdyAr
PSBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aDsKICAgICAgICAgICAgICAgICAgICAgaXNTcGFjZSA9
IHRydWU7CiAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChjID09ICdcdCcpIHsKLSAgICAgICAg
ICAgICAgICAgICAgdyArPSB0YWJXaWR0aCA/IHRhYldpZHRoIC0gKCh4UG9zICsgdykgJSB0YWJX
aWR0aCkgOiBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aDsKKyAgICAgICAgICAgICAgICAgICAgdyAr
PSB0YWJXaWR0aCA/IHRhYldpZHRoIC0gZm1vZGYoeFBvcyArIHcsIHRhYldpZHRoKSA6IG1vbm9z
cGFjZUNoYXJhY3RlcldpZHRoOwogICAgICAgICAgICAgICAgICAgICBpc1NwYWNlID0gdHJ1ZTsK
ICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgaXNTcGFjZSA9IGZh
bHNlOwpAQCAtNjAxLDEyICs2MDUsMTIgQEAgQUxXQVlTX0lOTElORSBpbnQgUmVuZGVyVGV4dDo6
d2lkdGhGcm9tQwogICAgIHJldHVybiBmLndpZHRoKFRleHRSdW4odGV4dCgpLT5jaGFyYWN0ZXJz
KCkgKyBzdGFydCwgbGVuLCBhbGxvd1RhYnMoKSwgeFBvcyksIGZhbGxiYWNrRm9udHMsIGdseXBo
T3ZlcmZsb3cpOwogfQogCi12b2lkIFJlbmRlclRleHQ6OnRyaW1tZWRQcmVmV2lkdGhzKGludCBs
ZWFkV2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgYmVnaW5N
aW5XLCBib29sJiBiZWdpbldTLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQmIGVuZE1pblcsIGJvb2wmIGVuZFdTLAordm9pZCBSZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldp
ZHRocyhmbG9hdCBsZWFkV2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZsb2F0JiBiZWdpbk1pblcsIGJvb2wmIGJlZ2luV1MsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZsb2F0JiBlbmRNaW5XLCBib29sJiBlbmRXUywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYm9vbCYgaGFzQnJlYWthYmxlQ2hhciwgYm9vbCYgaGFzQnJl
YWssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgYmVnaW5NYXhXLCBp
bnQmIGVuZE1heFcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgbWlu
VywgaW50JiBtYXhXLCBib29sJiBzdHJpcEZyb250U3BhY2VzKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBmbG9hdCYgYmVnaW5NYXhXLCBmbG9hdCYgZW5kTWF4VywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQmIG1pblcsIGZsb2F0JiBtYXhXLCBi
b29sJiBzdHJpcEZyb250U3BhY2VzKQogewogICAgIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlID0g
c3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNwYWNlKCk7CiAgICAgaWYgKCFjb2xsYXBzZVdoaXRlU3Bh
Y2UpCkBAIC02NDYsNyArNjUwLDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldpZHRo
cyhpbnQgbAogICAgICAgICBjb25zdCBGb250JiBmID0gc3R5bGUoKS0+Zm9udCgpOyAvLyBGSVhN
RTogVGhpcyBpZ25vcmVzIGZpcnN0LWxpbmUuCiAgICAgICAgIGlmIChzdHJpcEZyb250U3BhY2Vz
KSB7CiAgICAgICAgICAgICBjb25zdCBVQ2hhciBzcGFjZSA9ICcgJzsKLSAgICAgICAgICAgIGlu
dCBzcGFjZVdpZHRoID0gZi53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpOworICAgICAgICAgICAg
ZmxvYXQgc3BhY2VXaWR0aCA9IGYud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKTsKICAgICAgICAg
ICAgIG1heFcgLT0gc3BhY2VXaWR0aDsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBtYXhX
ICs9IGYud29yZFNwYWNpbmcoKTsKQEAgLTY5NSwyMyArNjk5LDIzIEBAIHN0YXRpYyBpbmxpbmUg
Ym9vbCBpc1NwYWNlQWNjb3JkaW5nVG9TdHkKICAgICByZXR1cm4gYyA9PSAnICcgfHwgKGMgPT0g
bm9CcmVha1NwYWNlICYmIHN0eWxlLT5uYnNwTW9kZSgpID09IFNQQUNFKTsKIH0KIAotaW50IFJl
bmRlclRleHQ6Om1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgpIGNvbnN0CitmbG9hdCBSZW5kZXJU
ZXh0OjptaW5Mb2dpY2FsV2lkdGgoKSBjb25zdAogewogICAgIGlmIChwcmVmZXJyZWRMb2dpY2Fs
V2lkdGhzRGlydHkoKSkKLSAgICAgICAgY29uc3RfY2FzdDxSZW5kZXJUZXh0Kj4odGhpcyktPmNv
bXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKDApOworICAgICAgICBjb25zdF9jYXN0PFJlbmRl
clRleHQqPih0aGlzKS0+Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoMC5mKTsKICAgICAg
ICAgCiAgICAgcmV0dXJuIG1fbWluV2lkdGg7CiB9CiAKLWludCBSZW5kZXJUZXh0OjptYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6bWF4TG9naWNhbFdp
ZHRoKCkgY29uc3QKIHsKICAgICBpZiAocHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KCkpCi0g
ICAgICAgIGNvbnN0X2Nhc3Q8UmVuZGVyVGV4dCo+KHRoaXMpLT5jb21wdXRlUHJlZmVycmVkTG9n
aWNhbFdpZHRocygwKTsKKyAgICAgICAgY29uc3RfY2FzdDxSZW5kZXJUZXh0Kj4odGhpcyktPmNv
bXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKDAuZik7CiAgICAgICAgIAogICAgIHJldHVybiBt
X21heFdpZHRoOwogfQogCi12b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2Fs
V2lkdGhzKGludCBsZWFkV2lkdGgpCit2b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRM
b2dpY2FsV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCkKIHsKICAgICBIYXNoU2V0PGNvbnN0IFNpbXBs
ZUZvbnREYXRhKj4gZmFsbGJhY2tGb250czsKICAgICBHbHlwaE92ZXJmbG93IGdseXBoT3ZlcmZs
b3c7CkBAIC03MjAsNyArNzI0LDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVk
TG9naWNhbAogICAgICAgICBtX2tub3duVG9IYXZlTm9PdmVyZmxvd0FuZE5vRmFsbGJhY2tGb250
cyA9IHRydWU7CiB9CiAKLXZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxX
aWR0aHMoaW50IGxlYWRXaWR0aCwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxs
YmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93JiBnbHlwaE92ZXJmbG93KQordm9pZCBSZW5kZXJUZXh0
Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhmbG9hdCBsZWFkV2lkdGgsIEhhc2hTZXQ8
Y29uc3QgU2ltcGxlRm9udERhdGEqPiYgZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyYgZ2x5
cGhPdmVyZmxvdykKIHsKICAgICBBU1NFUlQobV9oYXNUYWIgfHwgcHJlZmVycmVkTG9naWNhbFdp
ZHRoc0RpcnR5KCkgfHwgIW1fa25vd25Ub0hhdmVOb092ZXJmbG93QW5kTm9GYWxsYmFja0ZvbnRz
KTsKIApAQCAtNzMyLDggKzczNiw4IEBAIHZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJl
ZExvZ2ljYWwKICAgICBpZiAoaXNCUigpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpbnQgY3Vy
ck1pbldpZHRoID0gMDsKLSAgICBpbnQgY3Vyck1heFdpZHRoID0gMDsKKyAgICBmbG9hdCBjdXJy
TWluV2lkdGggPSAwOworICAgIGZsb2F0IGN1cnJNYXhXaWR0aCA9IDA7CiAgICAgbV9oYXNCcmVh
a2FibGVDaGFyID0gZmFsc2U7CiAgICAgbV9oYXNCcmVhayA9IGZhbHNlOwogICAgIG1faGFzVGFi
ID0gZmFsc2U7CkBAIC03NDEsNyArNzQ1LDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJl
ZmVycmVkTG9naWNhbAogICAgIG1faGFzRW5kV1MgPSBmYWxzZTsKIAogICAgIGNvbnN0IEZvbnQm
IGYgPSBzdHlsZSgpLT5mb250KCk7IC8vIEZJWE1FOiBUaGlzIGlnbm9yZXMgZmlyc3QtbGluZS4K
LSAgICBpbnQgd29yZFNwYWNpbmcgPSBzdHlsZSgpLT53b3JkU3BhY2luZygpOworICAgIGZsb2F0
IHdvcmRTcGFjaW5nID0gc3R5bGUoKS0+d29yZFNwYWNpbmcoKTsKICAgICBpbnQgbGVuID0gdGV4
dExlbmd0aCgpOwogICAgIGNvbnN0IFVDaGFyKiB0eHQgPSBjaGFyYWN0ZXJzKCk7CiAgICAgYm9v
bCBuZWVkc1dvcmRTcGFjaW5nID0gZmFsc2U7CkBAIC04MjEsNyArODI1LDcgQEAgdm9pZCBSZW5k
ZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbAogCiAgICAgICAgIGludCB3b3JkTGVuID0g
aiAtIGk7CiAgICAgICAgIGlmICh3b3JkTGVuKSB7Ci0gICAgICAgICAgICBpbnQgdyA9IHdpZHRo
RnJvbUNhY2hlKGYsIGksIHdvcmRMZW4sIGxlYWRXaWR0aCArIGN1cnJNYXhXaWR0aCwgJmZhbGxi
YWNrRm9udHMsICZnbHlwaE92ZXJmbG93KTsKKyAgICAgICAgICAgIGZsb2F0IHcgPSB3aWR0aEZy
b21DYWNoZShmLCBpLCB3b3JkTGVuLCBsZWFkV2lkdGggKyBjdXJyTWF4V2lkdGgsICZmYWxsYmFj
a0ZvbnRzLCAmZ2x5cGhPdmVyZmxvdyk7CiAgICAgICAgICAgICBpZiAoZmlyc3RHbHlwaExlZnRP
dmVyZmxvdyA8IDApCiAgICAgICAgICAgICAgICAgZmlyc3RHbHlwaExlZnRPdmVyZmxvdyA9IGds
eXBoT3ZlcmZsb3cubGVmdDsKICAgICAgICAgICAgIGN1cnJNaW5XaWR0aCArPSB3OwpAQCAtOTMz
LDE3ICs5MzcsMTcgQEAgYm9vbCBSZW5kZXJUZXh0Ojpjb250YWluc09ubHlXaGl0ZXNwYWNlKAog
ICAgIHJldHVybiBjdXJyUG9zID49IChmcm9tICsgbGVuKTsKIH0KIAotSW50UG9pbnQgUmVuZGVy
VGV4dDo6Zmlyc3RSdW5PcmlnaW4oKSBjb25zdAorRmxvYXRQb2ludCBSZW5kZXJUZXh0OjpmaXJz
dFJ1bk9yaWdpbigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIEludFBvaW50KGZpcnN0UnVuWCgpLCBm
aXJzdFJ1blkoKSk7CiB9CiAKLWludCBSZW5kZXJUZXh0OjpmaXJzdFJ1blgoKSBjb25zdAorZmxv
YXQgUmVuZGVyVGV4dDo6Zmlyc3RSdW5YKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9maXJzdFRl
eHRCb3ggPyBtX2ZpcnN0VGV4dEJveC0+bV94IDogMDsKIH0KIAotaW50IFJlbmRlclRleHQ6OmZp
cnN0UnVuWSgpIGNvbnN0CitmbG9hdCBSZW5kZXJUZXh0OjpmaXJzdFJ1blkoKSBjb25zdAogewog
ICAgIHJldHVybiBtX2ZpcnN0VGV4dEJveCA/IG1fZmlyc3RUZXh0Qm94LT5tX3kgOiAwOwogfQpA
QCAtMTIyMyw3ICsxMjI3LDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpwb3NpdGlvbkxpbmVCb3goSW5s
aW5lQgogICAgIG1fY29udGFpbnNSZXZlcnNlZFRleHQgfD0gIXMtPmlzTGVmdFRvUmlnaHREaXJl
Y3Rpb24oKTsKIH0KIAotdW5zaWduZWQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwg
dW5zaWduZWQgbGVuLCBpbnQgeFBvcywgYm9vbCBmaXJzdExpbmUsIEhhc2hTZXQ8Y29uc3QgU2lt
cGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxv
dykgY29uc3QKK2Zsb2F0IFJlbmRlclRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVk
IGxlbiwgZmxvYXQgeFBvcywgYm9vbCBmaXJzdExpbmUsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9u
dERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29u
c3QKIHsKICAgICBpZiAoZnJvbSA+PSB0ZXh0TGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiAwOwpA
QCAtMTIzNCwxMyArMTIzOCwxMyBAQCB1bnNpZ25lZCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25l
ZCBmcm9tCiAgICAgcmV0dXJuIHdpZHRoKGZyb20sIGxlbiwgc3R5bGUoZmlyc3RMaW5lKS0+Zm9u
dCgpLCB4UG9zLCBmYWxsYmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93KTsKIH0KIAotdW5zaWduZWQg
UmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250
JiBmLCBpbnQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0Zv
bnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAorZmxvYXQgUmVuZGVyVGV4
dDo6d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmLCBmbG9h
dCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEds
eXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGZyb20gKyBs
ZW4gPD0gdGV4dExlbmd0aCgpKTsKICAgICBpZiAoIWNoYXJhY3RlcnMoKSkKICAgICAgICAgcmV0
dXJuIDA7CiAKLSAgICBpbnQgdzsKKyAgICBmbG9hdCB3OwogICAgIGlmICgmZiA9PSAmc3R5bGUo
KS0+Zm9udCgpKSB7CiAgICAgICAgIGlmICghc3R5bGUoKS0+cHJlc2VydmVOZXdsaW5lKCkgJiYg
IWZyb20gJiYgbGVuID09IHRleHRMZW5ndGgoKSkgewogICAgICAgICAgICAgaWYgKGZhbGxiYWNr
Rm9udHMpIHsKQEAgLTEyNTIsNyArMTI1Niw3IEBAIHVuc2lnbmVkIFJlbmRlclRleHQ6OndpZHRo
KHVuc2lnbmVkIGZyb20KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgdyA9IG1f
bWF4V2lkdGg7CiAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB3ID0gbWF4UHJl
ZmVycmVkTG9naWNhbFdpZHRoKCk7CisgICAgICAgICAgICAgICAgdyA9IG1heExvZ2ljYWxXaWR0
aCgpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHcgPSB3aWR0aEZyb21DYWNoZShmLCBm
cm9tLCBsZW4sIHhQb3MsIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogICAgIH0gZWxz
ZQpAQCAtMTI2OCw4ICsxMjcyLDggQEAgSW50UmVjdCBSZW5kZXJUZXh0OjpsaW5lc0JvdW5kaW5n
Qm94KCkgYwogICAgIEFTU0VSVCghZmlyc3RUZXh0Qm94KCkgPT0gIWxhc3RUZXh0Qm94KCkpOyAg
Ly8gRWl0aGVyIGJvdGggYXJlIG51bGwgb3IgYm90aCBleGlzdC4KICAgICBpZiAoZmlyc3RUZXh0
Qm94KCkgJiYgbGFzdFRleHRCb3goKSkgewogICAgICAgICAvLyBSZXR1cm4gdGhlIHdpZHRoIG9m
IHRoZSBtaW5pbWFsIGxlZnQgc2lkZSBhbmQgdGhlIG1heGltYWwgcmlnaHQgc2lkZS4KLSAgICAg
ICAgaW50IGxvZ2ljYWxMZWZ0U2lkZSA9IDA7Ci0gICAgICAgIGludCBsb2dpY2FsUmlnaHRTaWRl
ID0gMDsKKyAgICAgICAgZmxvYXQgbG9naWNhbExlZnRTaWRlID0gMDsKKyAgICAgICAgZmxvYXQg
bG9naWNhbFJpZ2h0U2lkZSA9IDA7CiAgICAgICAgIGZvciAoSW5saW5lVGV4dEJveCogY3VyciA9
IGZpcnN0VGV4dEJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dFRleHRCb3goKSkgewogICAg
ICAgICAgICAgaWYgKGN1cnIgPT0gZmlyc3RUZXh0Qm94KCkgfHwgY3Vyci0+bG9naWNhbExlZnQo
KSA8IGxvZ2ljYWxMZWZ0U2lkZSkKICAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBj
dXJyLT5sb2dpY2FsTGVmdCgpOwpAQCAtMTI3OSwxMSArMTI4MywxMSBAQCBJbnRSZWN0IFJlbmRl
clRleHQ6OmxpbmVzQm91bmRpbmdCb3goKSBjCiAgICAgICAgIAogICAgICAgICBib29sIGlzSG9y
aXpvbnRhbCA9IHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CiAgICAgICAgIAot
ICAgICAgICBpbnQgeCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxMZWZ0U2lkZSA6IGZpcnN0VGV4
dEJveCgpLT54KCk7Ci0gICAgICAgIGludCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RUZXh0Qm94
KCktPnkoKSA6IGxvZ2ljYWxMZWZ0U2lkZTsKLSAgICAgICAgaW50IHdpZHRoID0gaXNIb3Jpem9u
dGFsID8gbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZSA6IGxhc3RUZXh0Qm94KCkt
PmxvZ2ljYWxCb3R0b20oKSAtIHg7Ci0gICAgICAgIGludCBoZWlnaHQgPSBpc0hvcml6b250YWwg
PyBsYXN0VGV4dEJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB5IDogbG9naWNhbFJpZ2h0U2lkZSAt
IGxvZ2ljYWxMZWZ0U2lkZTsKLSAgICAgICAgcmVzdWx0ID0gSW50UmVjdCh4LCB5LCB3aWR0aCwg
aGVpZ2h0KTsKKyAgICAgICAgZmxvYXQgeCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxMZWZ0U2lk
ZSA6IGZpcnN0VGV4dEJveCgpLT54KCk7CisgICAgICAgIGZsb2F0IHkgPSBpc0hvcml6b250YWwg
PyBmaXJzdFRleHRCb3goKS0+eSgpIDogbG9naWNhbExlZnRTaWRlOworICAgICAgICBmbG9hdCB3
aWR0aCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUg
OiBsYXN0VGV4dEJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB4OworICAgICAgICBmbG9hdCBoZWln
aHQgPSBpc0hvcml6b250YWwgPyBsYXN0VGV4dEJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB5IDog
bG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICAgICAgcmVzdWx0ID0gZW5j
bG9zaW5nSW50UmVjdChGbG9hdFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCkpOwogICAgIH0KIAog
ICAgIHJldHVybiByZXN1bHQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
LmgJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRl
eHQuaAkod29ya2luZyBjb3B5KQpAQCAtNzEsMjQgKzcxLDI0IEBAIHB1YmxpYzoKICAgICB1bnNp
Z25lZCB0ZXh0TGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV90ZXh0Lmxlbmd0aCgpOyB9IC8vIG5v
biB2aXJ0dWFsIGltcGxlbWVudGF0aW9uIG9mIGxlbmd0aCgpCiAgICAgdm9pZCBwb3NpdGlvbkxp
bmVCb3goSW5saW5lQm94Kik7CiAKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVk
IGZyb20sIHVuc2lnbmVkIGxlbiwgY29uc3QgRm9udCYsIGludCB4UG9zLCBIYXNoU2V0PGNvbnN0
IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDAp
IGNvbnN0OwotICAgIHZpcnR1YWwgdW5zaWduZWQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWdu
ZWQgbGVuLCBpbnQgeFBvcywgYm9vbCBmaXJzdExpbmUgPSBmYWxzZSwgSGFzaFNldDxjb25zdCBT
aW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBj
b25zdDsKKyAgICB2aXJ0dWFsIGZsb2F0IHdpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxl
biwgY29uc3QgRm9udCYsIGZsb2F0IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEq
PiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgdmly
dHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGZsb2F0IHhQb3Ms
IGJvb2wgZmlyc3RMaW5lID0gZmFsc2UsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiog
ZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CiAKLSAgICB2aXJ0
dWFsIGludCBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGlu
dCBtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25zdDsKKyAgICBmbG9hdCBtaW5Mb2dpY2Fs
V2lkdGgoKSBjb25zdDsKKyAgICBmbG9hdCBtYXhMb2dpY2FsV2lkdGgoKSBjb25zdDsKIAotICAg
IHZvaWQgdHJpbW1lZFByZWZXaWR0aHMoaW50IGxlYWRXaWR0aCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCYgYmVnaW5NaW5XLCBib29sJiBiZWdpbldTLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50JiBlbmRNaW5XLCBib29sJiBlbmRXUywKKyAgICB2b2lkIHRyaW1tZWRQ
cmVmV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZs
b2F0JiBiZWdpbk1pblcsIGJvb2wmIGJlZ2luV1MsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmbG9hdCYgZW5kTWluVywgYm9vbCYgZW5kV1MsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBib29sJiBoYXNCcmVha2FibGVDaGFyLCBib29sJiBoYXNCcmVhaywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCYgYmVnaW5NYXhXLCBpbnQmIGVuZE1heFcsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQmIG1pblcsIGludCYgbWF4VywgYm9vbCYgc3RyaXBGcm9udFNwYWNl
cyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYgYmVnaW5NYXhXLCBmbG9hdCYg
ZW5kTWF4VywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBtaW5XLCBmbG9hdCYg
bWF4VywgYm9vbCYgc3RyaXBGcm9udFNwYWNlcyk7CiAKICAgICB2aXJ0dWFsIEludFJlY3QgbGlu
ZXNCb3VuZGluZ0JveCgpIGNvbnN0OwogCi0gICAgSW50UG9pbnQgZmlyc3RSdW5PcmlnaW4oKSBj
b25zdDsKLSAgICBpbnQgZmlyc3RSdW5YKCkgY29uc3Q7Ci0gICAgaW50IGZpcnN0UnVuWSgpIGNv
bnN0OworICAgIEZsb2F0UG9pbnQgZmlyc3RSdW5PcmlnaW4oKSBjb25zdDsKKyAgICBmbG9hdCBm
aXJzdFJ1blgoKSBjb25zdDsKKyAgICBmbG9hdCBmaXJzdFJ1blkoKSBjb25zdDsKIAogICAgIHZv
aWQgc2V0VGV4dChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+LCBib29sIGZvcmNlID0gZmFsc2UpOwog
ICAgIHZvaWQgc2V0VGV4dFdpdGhPZmZzZXQoUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiwgdW5zaWdu
ZWQgb2Zmc2V0LCB1bnNpZ25lZCBsZW4sIGJvb2wgZm9yY2UgPSBmYWxzZSk7CkBAIC0xMjIsNyAr
MTIyLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjaGVja0NvbnNpc3RlbmN5KCkgY29uc3Q7CiAK
LSAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRX
aWR0aCk7CisgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZs
b2F0IGxlYWRXaWR0aCk7CiAgICAgYm9vbCBpc0FsbENvbGxhcHNpYmxlV2hpdGVzcGFjZSgpOwog
ICAgIAogcHJvdGVjdGVkOgpAQCAtMTM1LDcgKzEzNSw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0
dWFsIElubGluZVRleHRCb3gqIGNyZWF0ZVRleHRCb3goKTsgLy8gU3ViY2xhc3NlZCBieSBTVkcu
CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhpbnQg
bGVhZFdpZHRoLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4mIGZhbGxiYWNrRm9udHMs
IEdseXBoT3ZlcmZsb3cmKTsKKyAgICB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhz
KGZsb2F0IGxlYWRXaWR0aCwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxsYmFj
a0ZvbnRzLCBHbHlwaE92ZXJmbG93Jik7CiAKICAgICAvLyBNYWtlIGxlbmd0aCgpIHByaXZhdGUg
c28gdGhhdCBjYWxsZXJzIHRoYXQgaGF2ZSBhIFJlbmRlclRleHQqCiAgICAgLy8gd2lsbCB1c2Ug
dGhlIG1vcmUgZWZmaWNpZW50IHRleHRMZW5ndGgoKSBpbnN0ZWFkLCB3aGlsZQpAQCAtMTQ4LDIy
ICsxNDgsMjIgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZGVsZXRlVGV4dEJveGVzKCk7CiAgICAg
Ym9vbCBjb250YWluc09ubHlXaGl0ZXNwYWNlKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbikg
Y29uc3Q7Ci0gICAgaW50IHdpZHRoRnJvbUNhY2hlKGNvbnN0IEZvbnQmLCBpbnQgc3RhcnQsIGlu
dCBsZW4sIGludCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNr
Rm9udHMsIEdseXBoT3ZlcmZsb3cqKSBjb25zdDsKKyAgICBmbG9hdCB3aWR0aEZyb21DYWNoZShj
b25zdCBGb250JiwgaW50IHN0YXJ0LCBpbnQgbGVuLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0
IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqKSBjb25zdDsK
ICAgICBib29sIGlzQWxsQVNDSUkoKSBjb25zdCB7IHJldHVybiBtX2lzQWxsQVNDSUk7IH0KICAg
ICB2b2lkIHVwZGF0ZU5lZWRzVHJhbnNjb2RpbmcoKTsKIAogICAgIGlubGluZSB2b2lkIHRyYW5z
Zm9ybVRleHQoU3RyaW5nJikgY29uc3Q7CiAKLSAgICBpbnQgbV9taW5XaWR0aDsgLy8gaGVyZSB0
byBtaW5pbWl6ZSBwYWRkaW5nIGluIDY0LWJpdC4KKyAgICBmbG9hdCBtX21pbldpZHRoOyAvLyBo
ZXJlIHRvIG1pbmltaXplIHBhZGRpbmcgaW4gNjQtYml0LgogCiAgICAgU3RyaW5nIG1fdGV4dDsK
IAogICAgIElubGluZVRleHRCb3gqIG1fZmlyc3RUZXh0Qm94OwogICAgIElubGluZVRleHRCb3gq
IG1fbGFzdFRleHRCb3g7CiAKLSAgICBpbnQgbV9tYXhXaWR0aDsKLSAgICBpbnQgbV9iZWdpbk1p
bldpZHRoOwotICAgIGludCBtX2VuZE1pbldpZHRoOworICAgIGZsb2F0IG1fbWF4V2lkdGg7Cisg
ICAgZmxvYXQgbV9iZWdpbk1pbldpZHRoOworICAgIGZsb2F0IG1fZW5kTWluV2lkdGg7CiAKICAg
ICBib29sIG1faGFzQnJlYWthYmxlQ2hhciA6IDE7IC8vIFdoZXRoZXIgb3Igbm90IHdlIGNhbiBi
ZSBicm9rZW4gaW50byBtdWx0aXBsZSBsaW5lcy4KICAgICBib29sIG1faGFzQnJlYWsgOiAxOyAv
LyBXaGV0aGVyIG9yIG5vdCB3ZSBoYXZlIGEgaGFyZCBicmVhayAoZS5nLiwgPHByZT4gd2l0aCAn
XG4nKS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250
cm9sLmNwcAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dENvbnRyb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDQsNyArNTQ0LDcgQEAgZmxv
YXQgUmVuZGVyVGV4dENvbnRyb2w6OmdldEF2Z0NoYXJXaWR0aAogICAgICAgICByZXR1cm4gcm91
bmRmKHN0eWxlKCktPmZvbnQoKS5wcmltYXJ5Rm9udCgpLT5hdmdDaGFyV2lkdGgoKSk7CiAKICAg
ICBjb25zdCBVQ2hhciBjaCA9ICcwJzsgCi0gICAgcmV0dXJuIHN0eWxlKCktPmZvbnQoKS5mbG9h
dFdpZHRoKFRleHRSdW4oJmNoLCAxLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGlu
Z0V4cGFuc2lvbiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkpOworICAgIHJldHVybiBzdHlsZSgpLT5m
b250KCkud2lkdGgoVGV4dFJ1bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1Ry
YWlsaW5nRXhwYW5zaW9uLCBmYWxzZSkpOwogfQogCiBmbG9hdCBSZW5kZXJUZXh0Q29udHJvbDo6
c2NhbGVFbVRvVW5pdHMoaW50IHgpIGNvbnN0CkBAIC02MzksNyArNjM5LDcgQEAgdm9pZCBSZW5k
ZXJUZXh0Q29udHJvbDo6cGFpbnRQbGFjZWhvbGRlcgogICAgIHBhaW50SW5mby5jb250ZXh0LT5z
ZXRGaWxsQ29sb3IocGxhY2Vob2xkZXJTdHlsZS0+dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1By
b3BlcnR5Q29sb3IpLCBwbGFjZWhvbGRlclN0eWxlLT5jb2xvclNwYWNlKCkpOwogICAgIAogICAg
IFN0cmluZyBwbGFjZWhvbGRlclRleHQgPSBzdGF0aWNfY2FzdDxIVE1MVGV4dEZvcm1Db250cm9s
RWxlbWVudCo+KG5vZGUoKSktPnN0cmlwcGVkUGxhY2Vob2xkZXIoKTsKLSAgICBUZXh0UnVuIHRl
eHRSdW4ocGxhY2Vob2xkZXJUZXh0LmNoYXJhY3RlcnMoKSwgcGxhY2Vob2xkZXJUZXh0Lmxlbmd0
aCgpLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIXBsYWNl
aG9sZGVyU3R5bGUtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgcGxhY2Vob2xkZXJTdHlsZS0+
dW5pY29kZUJpZGkoKSA9PSBPdmVycmlkZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBUZXh0UnVuIHRl
eHRSdW4ocGxhY2Vob2xkZXJUZXh0LmNoYXJhY3RlcnMoKSwgcGxhY2Vob2xkZXJUZXh0Lmxlbmd0
aCgpLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIXBsYWNl
aG9sZGVyU3R5bGUtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgcGxhY2Vob2xkZXJTdHlsZS0+
dW5pY29kZUJpZGkoKSA9PSBPdmVycmlkZSk7CiAgICAgCiAgICAgUmVuZGVyQm94KiB0ZXh0UmVu
ZGVyZXIgPSBpbm5lclRleHRFbGVtZW50KCkgPyBpbm5lclRleHRFbGVtZW50KCktPnJlbmRlckJv
eCgpIDogMDsKICAgICBpZiAodGV4dFJlbmRlcmVyKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDcwLDExICs0NzAsMTcgQEAgdm9pZCBSZW5kZXJUcmVlQXNUZXh0Ojp3cml0ZVJlbmRl
ck9iamVjdAogCiBzdGF0aWMgdm9pZCB3cml0ZVRleHRSdW4oVGV4dFN0cmVhbSYgdHMsIGNvbnN0
IFJlbmRlclRleHQmIG8sIGNvbnN0IElubGluZVRleHRCb3gmIHJ1bikKIHsKLSAgICAvLyBGSVhN
RTogVGFibGUgY2VsbCBhZGp1c3RtZW50IGlzIHRlbXBvcmFyeSB1bnRpbCByZXN1bHRzIGNhbiBi
ZSB1cGRhdGVkLgorICAgIC8vIEZJWE1FOiBGb3Igbm93IHVzZSBhbiAiZW5jbG9zaW5nSW50UmVj
dCIgbW9kZWwgZm9yIHgsIHkgYW5kIGxvZ2ljYWxXaWR0aCwgYWx0aG91Z2ggdGhpcyBtYWtlcyBp
dCBoYXJkZXIKKyAgICAvLyB0byBkZXRlY3QgYW55IGNoYW5nZXMgY2F1c2VkIGJ5IHRoZSBjb252
ZXJzaW9uIHRvIGZsb2F0aW5nIHBvaW50LiA6KAorICAgIGludCB4ID0gcnVuLm1feDsKICAgICBp
bnQgeSA9IHJ1bi5tX3k7CisgICAgaW50IGxvZ2ljYWxXaWR0aCA9IGNlaWxmKHJ1bi5tX3ggKyBy
dW4ubV9sb2dpY2FsV2lkdGgpIC0geDsKKworICAgIC8vIEZJWE1FOiBUYWJsZSBjZWxsIGFkanVz
dG1lbnQgaXMgdGVtcG9yYXJ5IHVudGlsIHJlc3VsdHMgY2FuIGJlIHVwZGF0ZWQuCiAgICAgaWYg
KG8uY29udGFpbmluZ0Jsb2NrKCktPmlzVGFibGVDZWxsKCkpCiAgICAgICAgIHkgLT0gdG9SZW5k
ZXJUYWJsZUNlbGwoby5jb250YWluaW5nQmxvY2soKSktPmludHJpbnNpY1BhZGRpbmdCZWZvcmUo
KTsKLSAgICB0cyA8PCAidGV4dCBydW4gYXQgKCIgPDwgcnVuLm1feCA8PCAiLCIgPDwgeSA8PCAi
KSB3aWR0aCAiIDw8IHJ1bi5tX2xvZ2ljYWxXaWR0aDsKKyAgICAgICAgCisgICAgdHMgPDwgInRl
eHQgcnVuIGF0ICgiIDw8IHggPDwgIiwiIDw8IHkgPDwgIikgd2lkdGggIiA8PCBsb2dpY2FsV2lk
dGg7CiAgICAgaWYgKCFydW4uaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpIHx8IHJ1bi5tX2Rpck92
ZXJyaWRlKSB7CiAgICAgICAgIHRzIDw8ICghcnVuLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/
ICIgUlRMIiA6ICIgTFRSIik7CiAgICAgICAgIGlmIChydW4ubV9kaXJPdmVycmlkZSkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAJKHJldmlzaW9uIDc4
NDg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC05Nyw3ICs5Nyw3IEBAIGJvb2wgUm9vdElubGluZUJveDo6Y2FuQWNjb21t
b2RhdGVFbGxpcHMKICAgICByZXR1cm4gSW5saW5lRmxvd0JveDo6Y2FuQWNjb21tb2RhdGVFbGxp
cHNpcyhsdHIsIGJsb2NrRWRnZSwgZWxsaXBzaXNXaWR0aCk7CiB9CiAKLXZvaWQgUm9vdElubGlu
ZUJveDo6cGxhY2VFbGxpcHNpcyhjb25zdCBBdG9taWNTdHJpbmcmIGVsbGlwc2lzU3RyLCAgYm9v
bCBsdHIsIGludCBibG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNp
c1dpZHRoLAordm9pZCBSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzKGNvbnN0IEF0b21pY1N0
cmluZyYgZWxsaXBzaXNTdHIsICBib29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQg
YmxvY2tSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgSW5saW5lQm94KiBtYXJrdXBCb3gpCiB7CiAgICAgLy8gQ3JlYXRlIGFu
IGVsbGlwc2lzIGJveC4KQEAgLTEyMyw5ICsxMjMsOSBAQCB2b2lkIFJvb3RJbmxpbmVCb3g6OnBs
YWNlRWxsaXBzaXMoY29uc3QgCiAgICAgZWxsaXBzaXNCb3gtPm1feCA9IHBsYWNlRWxsaXBzaXNC
b3gobHRyLCBibG9ja0xlZnRFZGdlLCBibG9ja1JpZ2h0RWRnZSwgZWxsaXBzaXNXaWR0aCwgZm91
bmRCb3gpOwogfQogCi1pbnQgUm9vdElubGluZUJveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGx0
ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lk
dGgsIGJvb2wmIGZvdW5kQm94KQorZmxvYXQgUm9vdElubGluZUJveDo6cGxhY2VFbGxpcHNpc0Jv
eChib29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVkZ2UsIGZs
b2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KQogewotICAgIGludCByZXN1bHQgPSBJ
bmxpbmVGbG93Qm94OjpwbGFjZUVsbGlwc2lzQm94KGx0ciwgYmxvY2tMZWZ0RWRnZSwgYmxvY2tS
aWdodEVkZ2UsIGVsbGlwc2lzV2lkdGgsIGZvdW5kQm94KTsKKyAgICBmbG9hdCByZXN1bHQgPSBJ
bmxpbmVGbG93Qm94OjpwbGFjZUVsbGlwc2lzQm94KGx0ciwgYmxvY2tMZWZ0RWRnZSwgYmxvY2tS
aWdodEVkZ2UsIGVsbGlwc2lzV2lkdGgsIGZvdW5kQm94KTsKICAgICBpZiAocmVzdWx0ID09IC0x
KQogICAgICAgICByZXN1bHQgPSBsdHIgPyBibG9ja1JpZ2h0RWRnZSAtIGVsbGlwc2lzV2lkdGgg
OiBibG9ja0xlZnRFZGdlOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC0xOTgsMTAgKzE5OCwxMCBA
QCBib29sIFJvb3RJbmxpbmVCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpCiAgICAgcmV0dXJuIElu
bGluZUZsb3dCb3g6Om5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3VsdCwgeCwgeSwgdHgsIHR5KTsK
IH0KIAotdm9pZCBSb290SW5saW5lQm94OjphZGp1c3RQb3NpdGlvbihpbnQgZHgsIGludCBkeSkK
K3ZvaWQgUm9vdElubGluZUJveDo6YWRqdXN0UG9zaXRpb24oZmxvYXQgZHgsIGZsb2F0IGR5KQog
ewogICAgIElubGluZUZsb3dCb3g6OmFkanVzdFBvc2l0aW9uKGR4LCBkeSk7Ci0gICAgaW50IGJs
b2NrRGlyZWN0aW9uRGVsdGEgPSBpc0hvcml6b250YWwoKSA/IGR5IDogZHg7CisgICAgaW50IGJs
b2NrRGlyZWN0aW9uRGVsdGEgPSBpc0hvcml6b250YWwoKSA/IGR5IDogZHg7IC8vIFRoZSBibG9j
ayBkaXJlY3Rpb24gZGVsdGEgd2lsbCBhbHdheXMgYmUgaW50ZWdyYWwuCiAgICAgbV9saW5lVG9w
ICs9IGJsb2NrRGlyZWN0aW9uRGVsdGE7CiAgICAgbV9saW5lQm90dG9tICs9IGJsb2NrRGlyZWN0
aW9uRGVsdGE7CiAgICAgbV9ibG9ja0xvZ2ljYWxIZWlnaHQgKz0gYmxvY2tEaXJlY3Rpb25EZWx0
YTsKQEAgLTI4OSw3ICsyODksNyBAQCBpbnQgUm9vdElubGluZUJveDo6YmVmb3JlQW5ub3RhdGlv
bnNBZGp1CiAKICAgICAgICAgLy8gQW5ub3RhdGlvbnMgb3ZlciB0aGlzIGxpbmUgbWF5IHB1c2gg
dXMgZnVydGhlciBkb3duLgogICAgICAgICBpbnQgaGlnaGVzdEFsbG93ZWRQb3NpdGlvbiA9IHBy
ZXZSb290Qm94KCkgPyBtaW4ocHJldlJvb3RCb3goKS0+bGluZUJvdHRvbSgpLCBsaW5lVG9wKCkp
ICsgcmVzdWx0IDogYmxvY2soKS0+Ym9yZGVyQmVmb3JlKCk7Ci0gICAgICAgIHJlc3VsdCA9ICBj
b21wdXRlT3ZlckFubm90YXRpb25BZGp1c3RtZW50KGhpZ2hlc3RBbGxvd2VkUG9zaXRpb24pOwor
ICAgICAgICByZXN1bHQgPSBjb21wdXRlT3ZlckFubm90YXRpb25BZGp1c3RtZW50KGhpZ2hlc3RB
bGxvd2VkUG9zaXRpb24pOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIEFubm90YXRpb25zIHVu
ZGVyIHRoaXMgbGluZSBtYXkgcHVzaCB1cyB1cC4KICAgICAgICAgaWYgKGhhc0Fubm90YXRpb25z
QmVmb3JlKCkpCkBAIC01NDQsMTQgKzU0NCwxNCBAQCBJbnRSZWN0IFJvb3RJbmxpbmVCb3g6OnBh
ZGRlZExheW91dE92ZXJmCiAgICAgCiAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKSB7CiAgICAgICAg
IGlmIChpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCi0gICAgICAgICAgICBsaW5lTGF5b3V0T3Zl
cmZsb3cuc2hpZnRNYXhYRWRnZVRvKG1heChsaW5lTGF5b3V0T3ZlcmZsb3cubWF4WCgpLCBsb2dp
Y2FsUmlnaHQoKSArIGVuZFBhZGRpbmcpKTsKKyAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxv
dy5zaGlmdE1heFhFZGdlVG8obWF4KGxpbmVMYXlvdXRPdmVyZmxvdy5tYXhYKCksIHBpeGVsU25h
cHBlZExvZ2ljYWxSaWdodCgpICsgZW5kUGFkZGluZykpOwogICAgICAgICBlbHNlCi0gICAgICAg
ICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRYRWRnZVRvKG1pbihsaW5lTGF5b3V0T3ZlcmZs
b3cueCgpLCBsb2dpY2FsTGVmdCgpIC0gZW5kUGFkZGluZykpOworICAgICAgICAgICAgbGluZUxh
eW91dE92ZXJmbG93LnNoaWZ0WEVkZ2VUbyhtaW4obGluZUxheW91dE92ZXJmbG93LngoKSwgcGl4
ZWxTbmFwcGVkTG9naWNhbExlZnQoKSAtIGVuZFBhZGRpbmcpKTsKICAgICB9IGVsc2UgewogICAg
ICAgICBpZiAoaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQotICAgICAgICAgICAgbGluZUxheW91
dE92ZXJmbG93LnNoaWZ0TWF4WUVkZ2VUbyhtYXgobGluZUxheW91dE92ZXJmbG93Lm1heFkoKSwg
bG9naWNhbFJpZ2h0KCkgKyBlbmRQYWRkaW5nKSk7CisgICAgICAgICAgICBsaW5lTGF5b3V0T3Zl
cmZsb3cuc2hpZnRNYXhZRWRnZVRvKG1heChsaW5lTGF5b3V0T3ZlcmZsb3cubWF4WSgpLCBwaXhl
bFNuYXBwZWRMb2dpY2FsUmlnaHQoKSArIGVuZFBhZGRpbmcpKTsKICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0WUVkZ2VUbyhtaW4obGluZUxheW91dE92
ZXJmbG93LnkoKSwgbG9naWNhbFJpZ2h0KCkgLSBlbmRQYWRkaW5nKSk7CisgICAgICAgICAgICBs
aW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRZRWRnZVRvKG1pbihsaW5lTGF5b3V0T3ZlcmZsb3cueSgp
LCBwaXhlbFNuYXBwZWRMb2dpY2FsTGVmdCgpIC0gZW5kUGFkZGluZykpOwogICAgIH0KICAgICAK
ICAgICByZXR1cm4gbGluZUxheW91dE92ZXJmbG93OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUm9vdElubGluZUJveC5oCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9Sb290SW5saW5lQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcg
QEAgcHVibGljOgogICAgIFJvb3RJbmxpbmVCb3gqIG5leHRSb290Qm94KCkgY29uc3QgeyByZXR1
cm4gc3RhdGljX2Nhc3Q8Um9vdElubGluZUJveCo+KG1fbmV4dExpbmVCb3gpOyB9CiAgICAgUm9v
dElubGluZUJveCogcHJldlJvb3RCb3goKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxSb290
SW5saW5lQm94Kj4obV9wcmV2TGluZUJveCk7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQ
b3NpdGlvbihpbnQgZHgsIGludCBkeSk7CisgICAgdmlydHVhbCB2b2lkIGFkanVzdFBvc2l0aW9u
KGZsb2F0IGR4LCBmbG9hdCBkeSk7CiAKICAgICBpbnQgbGluZVRvcCgpIGNvbnN0IHsgcmV0dXJu
IG1fbGluZVRvcDsgfQogICAgIGludCBsaW5lQm90dG9tKCkgY29uc3QgeyByZXR1cm4gbV9saW5l
Qm90dG9tOyB9CkBAIC03OCw4ICs3OCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNoaWxkUmVtb3Zl
ZChJbmxpbmVCb3gqIGJveCk7CiAKICAgICBib29sIGNhbkFjY29tbW9kYXRlRWxsaXBzaXMoYm9v
bCBsdHIsIGludCBibG9ja0VkZ2UsIGludCBsaW5lQm94RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgp
OwotICAgIHZvaWQgcGxhY2VFbGxpcHNpcyhjb25zdCBBdG9taWNTdHJpbmcmIGVsbGlwc2lzU3Ry
LCBib29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVs
bGlwc2lzV2lkdGgsIElubGluZUJveCogbWFya3VwQm94ID0gMCk7Ci0gICAgdmlydHVhbCBpbnQg
cGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1Jp
Z2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KTsKKyAgICB2b2lkIHBs
YWNlRWxsaXBzaXMoY29uc3QgQXRvbWljU3RyaW5nJiBlbGxpcHNpc1N0ciwgYm9vbCBsdHIsIGZs
b2F0IGJsb2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dp
ZHRoLCBJbmxpbmVCb3gqIG1hcmt1cEJveCA9IDApOworICAgIHZpcnR1YWwgZmxvYXQgcGxhY2VF
bGxpcHNpc0JveChib29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdo
dEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KTsKIAogICAgIEVsbGlw
c2lzQm94KiBlbGxpcHNpc0JveCgpIGNvbnN0OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oCShyZXZpc2lvbiA3ODQ4NCkKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzQsOCArMzQsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZW5k
ZXJPYmplY3Q7CiAKIC8vIFZhbHVlcyBmb3IgdmVydGljYWwgYWxpZ25tZW50LgotY29uc3QgaW50
IFBvc2l0aW9uVG9wID0gLTB4N2ZmZmZmZmY7Ci1jb25zdCBpbnQgUG9zaXRpb25Cb3R0b20gPSAw
eDdmZmZmZmZmOwogY29uc3QgaW50IFBvc2l0aW9uVW5kZWZpbmVkID0gMHg4MDAwMDAwMDsKIAog
Y2xhc3MgVmVydGljYWxQb3NpdGlvbkNhY2hlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNpb24gNzg0ODQpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Nyw3ICs0Nyw3IEBAIFNWR0lubGluZVRleHRCb3g6OlNWR0lubGluZVRl
eHRCb3goUmVuZGUKIHsKIH0KIAotaW50IFNWR0lubGluZVRleHRCb3g6Om9mZnNldEZvclBvc2l0
aW9uKGludCwgYm9vbCkgY29uc3QKK2ludCBTVkdJbmxpbmVUZXh0Qm94OjpvZmZzZXRGb3JQb3Np
dGlvbihmbG9hdCwgYm9vbCkgY29uc3QKIHsKICAgICAvLyBTVkcgZG9lc24ndCB1c2UgdGhlIHN0
YW5kYXJkIG9mZnNldCA8LT4gcG9zaXRpb24gc2VsZWN0aW9uIHN5c3RlbSwgYXMgaXQncyBub3Qg
c3VpdGFibGUgZm9yIFNWR3MgY29tcGxleCBuZWVkcy4KICAgICAvLyB2ZXJ0aWNhbCB0ZXh0IHNl
bGVjdGlvbiwgaW5saW5lIGJveGVzIHNwYW5uaW5nIG11bHRpcGxlIGxpbmVzIChjb250cmFyeSB0
byBIVE1MLCBldGMuKQpAQCAtNzYsNyArNzYsNyBAQCBpbnQgU1ZHSW5saW5lVGV4dEJveDo6b2Zm
c2V0Rm9yUG9zaXRpb25JCiAgICAgcmV0dXJuIGZyYWdtZW50LnBvc2l0aW9uTGlzdE9mZnNldCAt
IHN0YXJ0KCkgKyB0ZXh0UmVuZGVyZXItPnNjYWxlZEZvbnQoKS5vZmZzZXRGb3JQb3NpdGlvbih0
ZXh0UnVuLCBwb3NpdGlvbiAqIHNjYWxpbmdGYWN0b3IsIGluY2x1ZGVQYXJ0aWFsR2x5cGhzKTsK
IH0KIAotaW50IFNWR0lubGluZVRleHRCb3g6OnBvc2l0aW9uRm9yT2Zmc2V0KGludCkgY29uc3QK
K2Zsb2F0IFNWR0lubGluZVRleHRCb3g6OnBvc2l0aW9uRm9yT2Zmc2V0KGludCkgY29uc3QKIHsK
ICAgICAvLyBTVkcgZG9lc24ndCB1c2UgdGhlIG9mZnNldCA8LT4gcG9zaXRpb24gc2VsZWN0aW9u
IHN5c3RlbS4gCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC00MTUsOSArNDE1LDYgQEAg
VGV4dFJ1biBTVkdJbmxpbmVUZXh0Qm94Ojpjb25zdHJ1Y3RUZXh0UgogICAgIHJ1bi5zZXRSZWZl
cmVuY2luZ1JlbmRlck9iamVjdCh0ZXh0KTsKICNlbmRpZgogCi0gICAgLy8gRGlzYWJsZSBhbnkg
d29yZC9jaGFyYWN0ZXIgcm91bmRpbmcuCi0gICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7
Ci0KICAgICAvLyBXZSBoYW5kbGUgbGV0dGVyICYgd29yZCBzcGFjaW5nIG91cnNlbHZlcy4KICAg
ICBydW4uZGlzYWJsZVNwYWNpbmcoKTsKICAgICByZXR1cm4gcnVuOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmgJKHJldmlzaW9uIDc4
NDg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQyLDggKzQyLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBp
bnQgc2VsZWN0aW9uVG9wKCkgeyByZXR1cm4gbV95OyB9CiAgICAgdmlydHVhbCBpbnQgc2VsZWN0
aW9uSGVpZ2h0KCkgeyByZXR1cm4gbV9sb2dpY2FsSGVpZ2h0OyB9Ci0gICAgdmlydHVhbCBpbnQg
b2Zmc2V0Rm9yUG9zaXRpb24oaW50IHgsIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMgPSB0cnVl
KSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBwb3NpdGlvbkZvck9mZnNldChpbnQgb2Zmc2V0KSBj
b25zdDsKKyAgICB2aXJ0dWFsIGludCBvZmZzZXRGb3JQb3NpdGlvbihmbG9hdCB4LCBib29sIGlu
Y2x1ZGVQYXJ0aWFsR2x5cGhzID0gdHJ1ZSkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9hdCBwb3Np
dGlvbkZvck9mZnNldChpbnQgb2Zmc2V0KSBjb25zdDsKIAogICAgIHZvaWQgcGFpbnRTZWxlY3Rp
b25CYWNrZ3JvdW5kKFBhaW50SW5mbyYpOwogICAgIHZpcnR1YWwgdm9pZCBwYWludChQYWludElu
Zm8mLCBpbnQgdHgsIGludCB0eSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1JlbmRlclRyZWVBc1RleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDM1LDcgKzQzNSwxMCBAQCBzdGF0aWMgdm9pZCB3cml0ZVJlbmRlclNW
R1RleHRCb3goVGV4dFN0CiAgICAgaWYgKCFib3gpCiAgICAgICAgIHJldHVybjsKIAotICAgIHRz
IDw8ICIgYXQgKCIgPDwgdGV4dC54KCkgPDwgIiwiIDw8IHRleHQueSgpIDw8ICIpIHNpemUgIiA8
PCBib3gtPmxvZ2ljYWxXaWR0aCgpIDw8ICJ4IiA8PCBib3gtPmxvZ2ljYWxIZWlnaHQoKTsKKyAg
ICAvLyBGSVhNRTogRm9yIG5vdyB1c2UgYW4gaW50IGZvciBsb2dpY2FsV2lkdGgsIGFsdGhvdWdo
IHRoaXMgbWFrZXMgaXQgaGFyZGVyCisgICAgLy8gdG8gZGV0ZWN0IGFueSBjaGFuZ2VzIGNhdXNl
ZCBieSB0aGUgY29udmVyc2lvbiB0byBmbG9hdGluZyBwb2ludC4gOigKKyAgICBpbnQgbG9naWNh
bFdpZHRoID0gY2VpbGYoYm94LT54KCkgKyBib3gtPmxvZ2ljYWxXaWR0aCgpKSAtIGJveC0+eCgp
OworICAgIHRzIDw8ICIgYXQgKCIgPDwgdGV4dC54KCkgPDwgIiwiIDw8IHRleHQueSgpIDw8ICIp
IHNpemUgIiA8PCBsb2dpY2FsV2lkdGggPDwgIngiIDw8IGJveC0+bG9naWNhbEhlaWdodCgpOwog
ICAgIAogICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBoYWNrLCBvbmNlIHRoZSBuZXcgdGV4dCBs
YXlvdXQgZW5naW5lIGlzIGNvbXBsZXRseSBsYW5kZWQuIFdlIHdhbnQgdG8gcHJlc2VydmUgdGhl
IG9sZCBsYXlvdXQgdGVzdCByZXN1bHRzIGZvciBub3cuCiAgICAgdHMgPDwgIiBjb250YWlucyAx
IGNodW5rKHMpIjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1l
dHJpY3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
VGV4dE1ldHJpY3MuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw4ICs0Nyw5
IEBAIFNWR1RleHRNZXRyaWNzOjpTVkdUZXh0TWV0cmljcyhSZW5kZXJTVkcKICAgICBpbnQgbGVu
Z3RoID0gMDsKIAogICAgIC8vIENhbGN1bGF0ZSB3aWR0aC9oZWlnaHQgdXNpbmcgdGhlIHNjYWxl
ZCBmb250LCBkaXZpZGUgdGhpcyByZXN1bHQgYnkgdGhlIHNjYWxpbmdGYWN0b3IgYWZ0ZXJ3YXJk
cy4KLSAgICBtX3dpZHRoID0gc2NhbGVkRm9udC5mbG9hdFdpZHRoKHJ1biwgZXh0cmFDaGFyc0F2
YWlsYWJsZSwgbGVuZ3RoLCBtX2dseXBoLm5hbWUpIC8gc2NhbGluZ0ZhY3RvcjsKKyAgICBtX3dp
ZHRoID0gc2NhbGVkRm9udC53aWR0aChydW4sIGV4dHJhQ2hhcnNBdmFpbGFibGUsIGxlbmd0aCwg
bV9nbHlwaC5uYW1lKSAvIHNjYWxpbmdGYWN0b3I7CiAgICAgbV9oZWlnaHQgPSBzY2FsZWRGb250
LmZvbnRNZXRyaWNzKCkuZmxvYXRIZWlnaHQoKSAvIHNjYWxpbmdGYWN0b3I7CisKICAgICBtX2ds
eXBoLnVuaWNvZGVTdHJpbmcgPSBTdHJpbmcocnVuLmNoYXJhY3RlcnMoKSwgbGVuZ3RoKTsKICAg
ICBtX2dseXBoLmlzVmFsaWQgPSB0cnVlOwogCkBAIC03OSw5ICs4MCw2IEBAIHN0YXRpYyBUZXh0
UnVuIGNvbnN0cnVjdFRleHRSdW4oUmVuZGVyU1YKICAgICBydW4uc2V0UmVmZXJlbmNpbmdSZW5k
ZXJPYmplY3QodGV4dCk7CiAjZW5kaWYKIAotICAgIC8vIERpc2FibGUgYW55IHdvcmQvY2hhcmFj
dGVyIHJvdW5kaW5nLgotICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotCiAgICAgLy8g
V2UgaGFuZGxlIGxldHRlciAmIHdvcmQgc3BhY2luZyBvdXJzZWx2ZXMuCiAgICAgcnVuLmRpc2Fi
bGVTcGFjaW5nKCk7CiAgICAgcmV0dXJuIHJ1bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGb250LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udC5jcHAJ
KHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNjIsNyArMzYyLDcgQEAgc3RhdGljIHZvaWQgZmxvYXRXaWR0aE1pc3Np
bmdHbHlwaENhbGxiYQogICAgIEZvbnQgZm9udChmb250RGVzY3JpcHRpb24sIDAsIDApOyAvLyBz
cGFjaW5nIGhhbmRsZWQgYnkgU1ZHIHRleHQgY29kZS4KICAgICBmb250LnVwZGF0ZShkYXRhLmZv
bnQtPmZvbnRTZWxlY3RvcigpKTsKIAotICAgIGRhdGEubGVuZ3RoICs9IGZvbnQuZmxvYXRXaWR0
aChydW4pOworICAgIGRhdGEubGVuZ3RoICs9IGZvbnQud2lkdGgocnVuKTsKIH0KIAogCkBAIC01
NzMsOSArNTczLDkgQEAgdm9pZCBGb250OjpkcmF3VGV4dFVzaW5nU1ZHRm9udChHcmFwaGljcwog
ICAgICAgICAgICAgICAgIGZvbnQuZHJhd1RleHQoY29udGV4dCwgZmFsbGJhY2tDaGFyYWN0ZXJS
dW4sIGN1cnJlbnRQb2ludCk7CiAKICAgICAgICAgICAgICAgICBpZiAoaXNWZXJ0aWNhbFRleHQp
Ci0gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRQb2ludC5tb3ZlKDAuMGYsIGZvbnQuZmxvYXRX
aWR0aChmYWxsYmFja0NoYXJhY3RlclJ1bikpOworICAgICAgICAgICAgICAgICAgICBjdXJyZW50
UG9pbnQubW92ZSgwLjBmLCBmb250LndpZHRoKGZhbGxiYWNrQ2hhcmFjdGVyUnVuKSk7CiAgICAg
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBjdXJyZW50UG9pbnQubW92ZShm
b250LmZsb2F0V2lkdGgoZmFsbGJhY2tDaGFyYWN0ZXJSdW4pLCAwLjBmKTsKKyAgICAgICAgICAg
ICAgICAgICAgY3VycmVudFBvaW50Lm1vdmUoZm9udC53aWR0aChmYWxsYmFja0NoYXJhY3RlclJ1
biksIDAuMGYpOwogCiAgICAgICAgICAgICAgICAgZmFsbGJhY2tDaGFyYWN0ZXJJbmRleCsrOwog
ICAgICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXROU1N0cmlu
Z0V4dHJhcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdE5T
U3RyaW5nRXh0cmFzLm1tCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL01p
c2MvV2ViS2l0TlNTdHJpbmdFeHRyYXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTkxLDcgKzkxLDYg
QEAgLSAodm9pZClfd2ViX2RyYXdBdFBvaW50OihOU1BvaW50KXBvaW50IAogCiAgICAgICAgIEZv
bnQgd2ViQ29yZUZvbnQoRm9udFBsYXRmb3JtRGF0YShmb250LCBbZm9udCBwb2ludFNpemVdKSwg
IVtuc0NvbnRleHQgaXNEcmF3aW5nVG9TY3JlZW5dLCBmb250U21vb3RoaW5nSXNBbGxvd2VkID8g
QXV0b1Ntb290aGluZyA6IEFudGlhbGlhc2VkKTsKICAgICAgICAgVGV4dFJ1biBydW4oYnVmZmVy
LmRhdGEoKSwgbGVuZ3RoKTsKLSAgICAgICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7CiAK
ICAgICAgICAgQ0dGbG9hdCByZWQ7CiAgICAgICAgIENHRmxvYXQgZ3JlZW47CkBAIC0xMzcsOCAr
MTM2LDcgQEAgLSAoZmxvYXQpX3dlYl93aWR0aFdpdGhGb250OihOU0ZvbnQgKilmbwogICAgIGlm
IChjYW5Vc2VGYXN0UmVuZGVyZXIoYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKSkgewogICAgICAgICBG
b250IHdlYkNvcmVGb250KEZvbnRQbGF0Zm9ybURhdGEoZm9udCwgW2ZvbnQgcG9pbnRTaXplXSks
ICFbW05TR3JhcGhpY3NDb250ZXh0IGN1cnJlbnRDb250ZXh0XSBpc0RyYXdpbmdUb1NjcmVlbl0p
OwogICAgICAgICBUZXh0UnVuIHJ1bihidWZmZXIuZGF0YSgpLCBsZW5ndGgpOwotICAgICAgICBy
dW4uZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsKLSAgICAgICAgcmV0dXJuIHdlYkNvcmVGb250LmZs
b2F0V2lkdGgocnVuKTsKKyAgICAgICAgcmV0dXJuIHdlYkNvcmVGb250LndpZHRoKHJ1bik7CiAg
ICAgfQogCiAgICAgcmV0dXJuIFtzZWxmIHNpemVXaXRoQXR0cmlidXRlczpbTlNEaWN0aW9uYXJ5
IGRpY3Rpb25hcnlXaXRoT2JqZWN0c0FuZEtleXM6Zm9udCwgTlNGb250QXR0cmlidXRlTmFtZSwg
bmlsXV0ud2lkdGg7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82356</attachid>
            <date>2011-02-14 13:19:19 -0800</date>
            <delta_ts>2011-02-15 11:01:32 -0800</delta_ts>
            <desc>Ready for review!</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>200191</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4NDk3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjU4IEBACisyMDExLTAyLTE0ICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTQyNDQKKyAgICAgICAgCisgICAgICAgIENvbnZlcnQgdGhlIGxpbmUgYm94IHRyZWUgdG8gZmxv
YXRpbmcgcG9pbnQgYW5kIGVsaW1pbmF0ZSBmb250IHJvdW5kaW5nIGhhY2tzLiAgVGhpcyBwYXRj
aCByZW1vdmVzIGFsbCBvZiB0aGUgcm91bmRpbmcKKyAgICAgICAgaGFja3MgZnJvbSB0aGUgRm9u
dCBjb2RlIGFuZCBtYWtlcyBzdXJlIGFsbCBGb250IEFQSVMgaW52b2x2aW5nIHdpZHRoIG1lYXN1
cmVtZW50IGFuZCB3aWR0aCBvZmZzZXRzIHVzZSBmbG9hdHMuCisgICAgICAgIAorICAgICAgICBU
aGUgbGluZSBib3ggdHJlZSdzIHgsIHkgYW5kIGxvZ2ljYWxXaWR0aCBtZW1iZXJzIGhhdmUgYWxs
IGJlZW4gY29udmVydGVkIHRvIGZsb2F0cyBhbmQgYWxsIG9mIHRoZSBsaW5lIGJveCBBUElzIGhh
dmUKKyAgICAgICAgYmVlbiBjaGFuZ2VkIGFzIHdlbGwuCisgICAgICAgIAorICAgICAgICBJbiB0
ZXJtcyBvZiBwaXhlbCBhZGp1c3RtZW50cywgb3ZlcmZsb3cgaXMgdXNpbmcgYW4gZW5jbG9zaW5n
IG1vZGVsIChzbyBpdCB3aWxsIGJlIGVuY2xvc2luZ0ludFJlY3Qgb2YgYSBsaW5lIGJveCdzIHgv
eS93aWR0aC9oZWlnaHQpLgorICAgICAgICAKKyAgICAgICAgQmFja2dyb3VuZCBhbmQgYm9yZGVy
IHBhaW50aW5nIGlzIHVzaW5nIGEgcm91bmRpbmcgbW9kZWwsIHNvIGJvcmRlcnMgYW5kIGJhY2tn
cm91bmRzIHdpbGwgcm91bmQgdG8gdGhlIG5lYXJlc3QgcGl4ZWwgd2hlbiBwYWludGluZy4KKyAg
ICAgICAgCisgICAgICAgIFJlcGxhY2VkIGVsZW1lbnRzIHN0aWxsIHNuYXAgdG8gaW50ZWdlciBw
b3NpdGlvbnMgb24gbGluZXMsIGFuZCB0aGV5IHVzZSBhIHJvdW5kaW5nIG1vZGVsIGFzIHdlbGws
IGFsdGhvdWdoIHRoZWlyIHVuZGVybHlpbmcgbGluZSBib3hlcworICAgICAgICBzdGlsbCBoYXZl
IGEgcHJlY2lzZSBmbG9hdGluZyBwb2ludCBwb3NpdGlvbi4KKworICAgICAgICBKdXN0aWZpY2F0
aW9uIHdpbGwgbm93IGFsbG93IHN1YnBpeGVsIHBvc2l0aW9uaW5nIHRvIG9jY3VyIGFzIHdlbGwu
ICBQbGF0Zm9ybXMgdGhhdCBkb24ndCBzdXBwb3J0IHN1YnBpeGVsIHBvc2l0aW9uaW5nIHNob3Vs
ZCBhbHJlYWR5CisgICAgICAgIGJlIHJvdW5kaW5nIGp1c3RpZmljYXRpb24gc3BhY2luZyBpbiB0
aGVpciBmb250IGNvZGUuCisKKyAgICAgICAgTWFueSBsYXlvdXQgdGVzdCByZXN1bHRzIGNoYW5n
ZSBvbiBNYWMsIHNpbmNlIHJvdW5kaW5nIGhhY2tzIHdlcmUgdXNlZCB0aGVyZSBhbmQgYXJlIG5v
dyBnb25lLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJbnRlcm5hbCk6CisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vRmlsZUNob29zZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
aWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojp3aWR0aCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6c3BhY2VX
aWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojp0YWJXaWR0aCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6
OmdldEdseXBoc0FuZEFkdmFuY2VzRm9yU2ltcGxlVGV4dCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDo6ZHJhd1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0Ojpk
cmF3RW1waGFzaXNNYXJrcyk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRy
YXdCaWRpVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdIaWdo
bGlnaHRGb3JUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6U2ltcGxlRm9udERhdGEpOgorICAgICAg
ICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtR2x5cGhJbml0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6
U2ltcGxlRm9udERhdGE6OnNwYWNlV2lkdGgpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L1N0cmluZ1RydW5jYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzdHJpbmdXaWR0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjp0cnVuY2F0ZVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTdHJp
bmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmluZ1Ry
dW5jYXRvcjo6cmlnaHRUcnVuY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHJpbmdUcnVuY2F0
b3I6OndpZHRoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TdHJpbmdUcnVuY2F0b3Iu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmg6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0UnVuOjpUZXh0UnVuKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRSdW46OnhQb3Mp
OgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJ1bjo6ZXhwYW5zaW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRSdW46OmRpcmVjdGlvbmFsT3ZlcnJpZGUpOgorICAgICAgICAoV2ViQ29yZTo6VGV4
dFJ1bjo6ZGlzYWJsZVNwYWNpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRo
SXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6V2lkdGhJdGVy
YXRvcik6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpDb21wbGV4VGV4dENvbnRyb2xsZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjphZHZhbmNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzQW5kQWR2YW5jZXMp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENvbXBsZXhUZXh0TWFjLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmdldEdseXBoc0FuZEFkdmFuY2VzRm9yQ29tcGxl
eFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHRN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dENoZWNraW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRl
eHRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9y
VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dENoZWNraW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0
YVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBo
SW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRT
a2lhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JU
ZXh0Q2hlY2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3TGlu
ZUZvclRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRl
eHRDR1dpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5l
Rm9yVGV4dENoZWNraW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vVW5pc2Ny
aWJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpVbmlzY3JpYmVDb250cm9sbGVy
OjpzaGFwZUFuZFBsYWNlSXRlbSk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0ZpbGVDaG9vc2Vy
R3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVDaG9vc2VyOjpiYXNlbmFtZUZvcldpZHRo
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6d2lkdGhXaXRoRm9udCk6CisgICAgICAgIChXZWJDb3JlOjpkcmF3QXRQb2ludCk6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL0ZpbGVDaG9vc2VyTWFjLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6RmlsZUNob29zZXI6OmJhc2VuYW1lRm9yV2lkdGgpOgorICAgICAgICAqIHBsYXRmb3JtL3dp
bi9EcmFnSW1hZ2VXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRHJhZ0ltYWdlRm9y
TGluayk6CisgICAgICAgICogcGxhdGZvcm0vd2luL0ZpbGVDaG9vc2VyV2luLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZpbGVDaG9vc2VyOjpiYXNlbmFtZUZvcldpZHRoKToKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwTWVu
dVdpbjo6Y2FsY3VsYXRlUG9zaXRpb25BbmRTaXplKToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4v
V2ViQ29yZVRleHRSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlVGV4dEZs
b2F0V2lkdGgpOgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQp
OgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVzdWx0Lmg6CisgICAgICAgICogcmVuZGVy
aW5nL0lubGluZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OmFkanVzdFBv
c2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUJveDo6cGxhY2VFbGxpcHNpc0JveCk6
CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcp
OgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQm94OjpmbGlwRm9yV3JpdGluZ01vZGUpOgorICAg
ICAgICAqIHJlbmRlcmluZy9JbmxpbmVCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUJv
eDo6SW5saW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUJveDo6YWRqdXN0TGluZURp
cmVjdGlvblBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUJveDo6YWRqdXN0Qmxv
Y2tEaXJlY3Rpb25Qb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OnNldFgp
OgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQm94Ojp4KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
bGluZUJveDo6c2V0WSk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OnkpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lQm94Ojp3aWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVC
b3g6OmhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OmxvZ2ljYWxMZWZ0KToK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUJveDo6bG9naWNhbFJpZ2h0KToKKyAgICAgICAgKFdl
YkNvcmU6OklubGluZUJveDo6c2V0TG9naWNhbExlZnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5s
aW5lQm94OjpwaXhlbFNuYXBwZWRMb2dpY2FsTGVmdCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVCb3g6OnBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVCb3g6OnNldExvZ2ljYWxXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6Omxv
Z2ljYWxXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OnZlcnRpY2FsQWxpZ24p
OgorICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OklubGluZUZsb3dCb3g6OnJvdW5kZWRGcmFtZVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6
SW5saW5lRmxvd0JveDo6YWRqdXN0UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5l
Rmxvd0JveDo6cGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OklubGluZUZsb3dCb3g6OmFkanVzdE1heEFzY2VudEFuZERlc2NlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6dmVydGljYWxQb3NpdGlvbkZvckJveCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVG
bG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaWdodHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5s
aW5lRmxvd0JveDo6cGxhY2VCb3hlc0luQmxvY2tEaXJlY3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lRmxvd0JveDo6YWRkQm94U2hhZG93VmlzdWFsT3ZlcmZsb3cpOgorICAgICAgICAo
V2ViQ29yZTo6SW5saW5lRmxvd0JveDo6YWRkVGV4dEJveFZpc3VhbE92ZXJmbG93KToKKyAgICAg
ICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmNvbXB1dGVPdmVyZmxvdyk6CisgICAgICAgIChX
ZWJDb3JlOjpJbmxpbmVGbG93Qm94OjpzZXRMYXlvdXRPdmVyZmxvdyk6CisgICAgICAgIChXZWJD
b3JlOjpJbmxpbmVGbG93Qm94OjpzZXRWaXN1YWxPdmVyZmxvdyk6CisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVGbG93Qm94Ojpub2RlQXRQb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVG
bG93Qm94OjpwYWludEJveERlY29yYXRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZs
b3dCb3g6OnBhaW50TWFzayk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVGbG93Qm94OjpwbGFj
ZUVsbGlwc2lzQm94KToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oOgorICAg
ICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6bWF4WUxheW91dE92ZXJmbG93KToKKyAgICAg
ICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6Om1heFhMYXlvdXRPdmVyZmxvdyk6CisgICAgICAg
IChXZWJDb3JlOjpJbmxpbmVGbG93Qm94OjpsYXlvdXRPdmVyZmxvd1JlY3QpOgorICAgICAgICAo
V2ViQ29yZTo6SW5saW5lRmxvd0JveDo6bWF4WVZpc3VhbE92ZXJmbG93KToKKyAgICAgICAgKFdl
YkNvcmU6OklubGluZUZsb3dCb3g6Om1heFhWaXN1YWxPdmVyZmxvdyk6CisgICAgICAgIChXZWJD
b3JlOjpJbmxpbmVGbG93Qm94Ojp2aXN1YWxPdmVyZmxvd1JlY3QpOgorICAgICAgICAqIHJlbmRl
cmluZy9JbmxpbmVUZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6
OnBsYWNlRWxsaXBzaXNCb3gpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6bm9k
ZUF0UG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRUZXh0V2l0aFNoYWRvd3MpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6
SW5saW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5l
VGV4dEJveDo6cGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQpOgorICAgICAgICAoV2ViQ29yZTo6
SW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklubGlu
ZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lVGV4dEJveDo6cGFpbnRUZXh0TWF0Y2hNYXJrZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lVGV4dEJveDo6cGFpbnREb2N1bWVudE1hcmtlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGVybGluZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbmxpbmVUZXh0Qm94Ojp0ZXh0UG9zKToKKyAgICAgICAgKFdlYkNvcmU6OklubGlu
ZVRleHRCb3g6Om9mZnNldEZvclBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRl
eHRCb3g6OnBvc2l0aW9uRm9yT2Zmc2V0KToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4
dEJveC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6c2V0RXhwYW5zaW9uKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQlIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJSOjp3aWR0aCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnN0cmlwVHJhaWxpbmdTcGFjZSk6CisgICAgICAgIChXZWJDb3JlOjp1cGRh
dGVQcmVmZXJyZWRXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6Y29tcHV0
ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6OmFkanVzdEZvckJvcmRlckZpdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6YWRkRm9jdXNSaW5nUmVjdHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNG
b3JMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpmaXRCZWxvd0Zsb2F0cyk6
CisgICAgICAgIChXZWJDb3JlOjp0ZXh0V2lkdGgpOgorICAgICAgICAoV2ViQ29yZTo6dHJ5SHlw
aGVuYXRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZUJy
ZWFrKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJveDo6cG9zaXRpb25MaW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckNvbWJpbmVUZXh0Ojp3aWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJDb21iaW5lVGV4dDo6YWRqdXN0VGV4dE9yaWdpbik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJDb21iaW5lVGV4dDo6Y29tYmluZVRleHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJDb21iaW5lVGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQ29tYmluZVRleHQ6OmNv
bWJpbmVkVGV4dFdpZHRoKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJDb3VudGVyOjpjb21wdXRlUHJlZmVycmVkTG9naWNh
bFdpZHRocyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRW1iZWRkZWRPYmplY3Q6OmdldFJlcGxhY2VtZW50VGV4dEdlb21ldHJ5KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lk
dGhzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5l
OjpsaW5lc0JvdW5kaW5nQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6bGlu
ZXNWaXN1YWxPdmVyZmxvd0JvdW5kaW5nQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklu
bGluZTo6YWRkRm9jdXNSaW5nUmVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5l
OjpwYWludE91dGxpbmUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnVwZGF0ZUZyb21FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnBhaW50SXRlbUZvcmVncm91bmQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJNZW51TGlzdDo6dXBkYXRlT3B0aW9uc1dpZHRoKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojpsb2NhbENhcmV0
UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojp3aWR0aEZyb21DYWNoZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldpZHRocyk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUZXh0OjptaW5Mb2dpY2FsV2lkdGgpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGV4dDo6bWF4TG9naWNhbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRleHQ6OmZpcnN0UnVuT3JpZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRl
eHQ6OmZpcnN0UnVuWCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjpmaXJzdFJ1blkp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6d2lkdGgpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGV4dDo6bGluZXNCb3VuZGluZ0JveCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRleHQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2w6OmdldEF2Z0NoYXJXaWR0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbDo6cGFpbnRQbGFjZWhvbGRlcik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6d3JpdGVUZXh0UnVuKToKKyAgICAgICAgKiByZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJvb3RJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXNCb3gpOgorICAgICAgICAo
V2ViQ29yZTo6Um9vdElubGluZUJveDo6YWRqdXN0UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6Um9vdElubGluZUJveDo6YmVmb3JlQW5ub3RhdGlvbnNBZGp1c3RtZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OlJvb3RJbmxpbmVCb3g6OnBhZGRlZExheW91dE92ZXJmbG93UmVjdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvVmVy
dGljYWxQb3NpdGlvbkNhY2hlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVU
ZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6Om9mZnNldEZv
clBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnBvc2l0aW9u
Rm9yT2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OmNvbnN0cnVj
dFRleHRSdW4pOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp3cml0ZVJlbmRlclNWR1RleHRCb3gpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dmcvU1ZHVGV4dE1ldHJpY3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dE1ldHJpY3M6
OlNWR1RleHRNZXRyaWNzKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN0cnVjdFRleHRSdW4pOgor
ICAgICAgICAqIHN2Zy9TVkdGb250LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZsb2F0V2lkdGhN
aXNzaW5nR2x5cGhDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpkcmF3VGV4dFVz
aW5nU1ZHRm9udCk6CisKIDIwMTEtMDItMTQgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CSh3b3JraW5nIGNvcHkpCkBAIC0zOTksOSArMzk5LDkgQEAgX19aTjdXZWJDb3JlMTVQcm90ZWN0
aW9uU3BhY2VDMUVSS04zV1RGNgogX19aTjdXZWJDb3JlMTVQcm90ZWN0aW9uU3BhY2VDMUV2CiBf
X1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE3YWxpZ25DZW50ZXJBbHdheXNFCiBfX1pON1dl
YkNvcmUxNVNjcm9sbEFsaWdubWVudDE5YWxpZ25Ub0VkZ2VJZk5lZWRlZEUKLV9fWk43V2ViQ29y
ZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRlRVJLTjNXVEY2U3RyaW5nRWZSS05TXzRG
b250RWIKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRjZW50ZXJUcnVuY2F0ZUVSS04z
V1RGNlN0cmluZ0VmUktOU180Rm9udEViCi1fX1pON1dlYkNvcmUxNVN0cmluZ1RydW5jYXRvcjV3
aWR0aEVSS04zV1RGNlN0cmluZ0VSS05TXzRGb250RWIKK19fWk43V2ViQ29yZTE1U3RyaW5nVHJ1
bmNhdG9yMTRjZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0VmUktOU180Rm9udEUKK19fWk43
V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRlRVJLTjNXVEY2U3RyaW5nRWZS
S05TXzRGb250RQorX19aTjdXZWJDb3JlMTVTdHJpbmdUcnVuY2F0b3I1d2lkdGhFUktOM1dURjZT
dHJpbmdFUktOU180Rm9udEUKIF9fWk43V2ViQ29yZTE1VmlzaWJsZVBvc2l0aW9uQzFFUE5TXzRO
b2RlRWlOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3JlMTVWaXNpYmxlUG9zaXRpb25DMUVSS05T
XzhQb3NpdGlvbkVOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3JlMTVkZWZhdWx0TGFuZ3VhZ2VF
dgpAQCAtMTEyMyw3ICsxMTIzLDcgQEAgX19aTks3V2ViQ29yZTI3QXV0aGVudGljYXRpb25DaGFs
bGVuZ2VCYQogX19aTks3V2ViQ29yZTI3QXV0aGVudGljYXRpb25DaGFsbGVuZ2VCYXNlMjBwcmV2
aW91c0ZhaWx1cmVDb3VudEV2CiBfX1pOSzdXZWJDb3JlMjdBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZUJhc2U1ZXJyb3JFdgogX19aTks3V2ViQ29yZTI3QXV0aGVudGljYXRpb25DaGFsbGVuZ2VCYXNl
NmlzTnVsbEV2Ci1fX1pOSzdXZWJDb3JlNEZvbnQxMGZsb2F0V2lkdGhFUktOU183VGV4dFJ1bkVQ
TjNXVEY3SGFzaFNldElQS05TXzE0U2ltcGxlRm9udERhdGFFTlM0XzdQdHJIYXNoSVM4X0VFTlM0
XzEwSGFzaFRyYWl0c0lTOF9FRUVFUE5TXzEzR2x5cGhPdmVyZmxvd0UKK19fWk5LN1dlYkNvcmU0
Rm9udDV3aWR0aEVSS05TXzdUZXh0UnVuRVBOM1dURjdIYXNoU2V0SVBLTlNfMTRTaW1wbGVGb250
RGF0YUVOUzRfN1B0ckhhc2hJUzhfRUVOUzRfMTBIYXNoVHJhaXRzSVM4X0VFRUVQTlNfMTNHbHlw
aE92ZXJmbG93RQogX19aTks3V2ViQ29yZTRGb250OGRyYXdUZXh0RVBOU18xNUdyYXBoaWNzQ29u
dGV4dEVSS05TXzdUZXh0UnVuRVJLTlNfMTBGbG9hdFBvaW50RWlpCiBfX1pOSzdXZWJDb3JlNEtV
UkwxMWNyZWF0ZUNGVVJMRXYKIF9fWk5LN1dlYkNvcmU0S1VSTDExaXNMb2NhbEZpbGVFdgpJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3
NzMsNyArMTc3Myw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3VGV4dEkK
IAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRleHQubGVuZ3RoKCk7CiAgICAgY29uc3QgVUNoYXIq
IHN0cmluZyA9IHRleHQuY2hhcmFjdGVycygpOwotICAgIFRleHRSdW4gdGV4dFJ1bihzdHJpbmcs
IGxlbmd0aCwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIHJ0
bCwgb3ZlcnJpZGUsIGZhbHNlLCBmYWxzZSk7CisgICAgVGV4dFJ1biB0ZXh0UnVuKHN0cmluZywg
bGVuZ3RoLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgcnRs
LCBvdmVycmlkZSk7CiAKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRleHQgYXQgdGhlIGNvcnJlY3Qg
cG9pbnQuCiAgICAgRmxvYXRQb2ludCBsb2NhdGlvbih4LCB5KTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21pdW0uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21pdW0u
Y3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L0ZpbGVDaG9vc2VyQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCw5ICs0NCw5IEBA
IFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICBlbHNlIGlmICht
X2ZpbGVuYW1lcy5zaXplKCkgPT0gMSkKICAgICAgICAgc3RyaW5nID0gcGF0aEdldERpc3BsYXlG
aWxlTmFtZShtX2ZpbGVuYW1lc1swXSk7CiAgICAgZWxzZQotICAgICAgICByZXR1cm4gU3RyaW5n
VHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmlsZVVwbG9hZFRleHQobV9maWxlbmFt
ZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZ1Ry
dW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxvYWRUZXh0KG1fZmlsZW5hbWVz
LnNpemUoKSksIHdpZHRoLCBmb250KTsKIAotICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNl
bnRlclRydW5jYXRlKHN0cmluZywgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHdpZHRoKSwgZm9udCwgZmFs
c2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0cmluZywg
c3RhdGljX2Nhc3Q8ZmxvYXQ+KHdpZHRoKSwgZm9udCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCShy
ZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxNyArMzksNiBAQCB1c2luZyBuYW1lc3BhY2UgVW5p
Y29kZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1aW50OF90IEZvbnQ6OmdSb3Vu
ZGluZ0hhY2tDaGFyYWN0ZXJUYWJsZVsyNTZdID0gewotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDEgLypcdCovLCAxIC8qXG4qLywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAxIC8qc3BhY2UqLywgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKi0qLywgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKj8qLywKLSAgICAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwKLSAgICAxIC8qbm8tYnJlYWsgc3BhY2UqLywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAg
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAKLX07Ci0KIEZvbnQ6OkNvZGVQ
YXRoIEZvbnQ6OnNfY29kZVBhdGggPSBBdXRvOwogCiAvLyA9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpAQCAtMTc2LDcgKzE2NSw3IEBAIHZvaWQgRm9udDo6ZHJhd0VtcGhhc2lz
TWFya3MoR3JhcGhpY3NDb24KICAgICAgICAgZHJhd0VtcGhhc2lzTWFya3NGb3JDb21wbGV4VGV4
dChjb250ZXh0LCBydW4sIG1hcmssIHBvaW50LCBmcm9tLCB0byk7CiB9CiAKLWZsb2F0IEZvbnQ6
OmZsb2F0V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnRE
YXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0
CitmbG9hdCBGb250Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIEhhc2hTZXQ8Y29uc3QgU2lt
cGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxv
dykgY29uc3QKIHsKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAgIGlmIChwcmltYXJ5Rm9udCgp
LT5pc1NWR0ZvbnQoKSkKQEAgLTE5NCw3ICsxODMsNyBAQCBmbG9hdCBGb250OjpmbG9hdFdpZHRo
KGNvbnN0IFRleHRSdW4mIHJ1CiAgICAgcmV0dXJuIGZsb2F0V2lkdGhGb3JDb21wbGV4VGV4dChy
dW4sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQogCi1mbG9hdCBGb250OjpmbG9h
dFdpZHRoKGNvbnN0IFRleHRSdW4mIHJ1biwgaW50IGV4dHJhQ2hhcnNBdmFpbGFibGUsIGludCYg
Y2hhcnNDb25zdW1lZCwgU3RyaW5nJiBnbHlwaE5hbWUpIGNvbnN0CitmbG9hdCBGb250Ojp3aWR0
aChjb25zdCBUZXh0UnVuJiBydW4sIGludCBleHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQmIGNoYXJz
Q29uc3VtZWQsIFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdAogewogI2lmICFFTkFCTEUoU1ZHX0ZP
TlRTKQogICAgIFVOVVNFRF9QQVJBTShleHRyYUNoYXJzQXZhaWxhYmxlKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHJldmlzaW9uIDc4NDg0KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCSh3b3JraW5nIGNvcHkpCkBAIC05
NCw5ICs5NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRyYXdUZXh0KEdyYXBoaWNzQ29udGV4dCos
IGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8g
PSAtMSkgY29uc3Q7CiAgICAgdm9pZCBkcmF3RW1waGFzaXNNYXJrcyhHcmFwaGljc0NvbnRleHQq
LCBjb25zdCBUZXh0UnVuJiwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBGbG9hdFBv
aW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7CiAKLSAgICBpbnQgd2lkdGgo
Y29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxi
YWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93ID0gMCkgY29uc3QgeyBy
ZXR1cm4gbHJvdW5kZihmbG9hdFdpZHRoKHJ1biwgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxv
dykpOyB9Ci0gICAgZmxvYXQgZmxvYXRXaWR0aChjb25zdCBUZXh0UnVuJiwgSGFzaFNldDxjb25z
dCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogZ2x5
cGhPdmVyZmxvdyA9IDApIGNvbnN0OwotICAgIGZsb2F0IGZsb2F0V2lkdGgoY29uc3QgVGV4dFJ1
biYgcnVuLCBpbnQgZXh0cmFDaGFyc0F2YWlsYWJsZSwgaW50JiBjaGFyc0NvbnN1bWVkLCBTdHJp
bmcmIGdseXBoTmFtZSkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgoY29uc3QgVGV4dFJ1biYsIEhh
c2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3Zl
cmZsb3cqID0gMCkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgoY29uc3QgVGV4dFJ1biYsIGludCBl
eHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQsIFN0cmluZyYgZ2x5cGhOYW1l
KSBjb25zdDsKIAogICAgIGludCBvZmZzZXRGb3JQb3NpdGlvbihjb25zdCBUZXh0UnVuJiwgZmxv
YXQgcG9zaXRpb24sIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMpIGNvbnN0OwogICAgIEZsb2F0
UmVjdCBzZWxlY3Rpb25SZWN0Rm9yVGV4dChjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxvYXRQb2lu
dCYsIGludCBoLCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKSBjb25zdDsKQEAgLTEyOSw4ICsx
MjgsOCBAQCBwdWJsaWM6CiAKICAgICAvLyBNZXRyaWNzIHRoYXQgd2UgcXVlcnkgdGhlIEZvbnRG
YWxsYmFja0xpc3QgZm9yLgogICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcygpIGNv
bnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmZvbnRNZXRyaWNzKCk7IH0KLSAgICBpbnQgc3Bh
Y2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIChpbnQpY2VpbGYocHJpbWFyeUZvbnQoKS0+YWRqdXN0
ZWRTcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmcpOyB9Ci0gICAgZmxvYXQgdGFiV2lkdGgo
Y29uc3QgU2ltcGxlRm9udERhdGEmIGZvbnREYXRhKSBjb25zdCB7IHJldHVybiA4ICogY2VpbGYo
Zm9udERhdGEuYWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBsZXR0ZXJTcGFjaW5nKCkpOyB9CisgICAg
aW50IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBwcmltYXJ5Rm9udCgpLT5zcGFjZVdpZHRo
KCkgKyBtX2xldHRlclNwYWNpbmc7IH0KKyAgICBmbG9hdCB0YWJXaWR0aChjb25zdCBTaW1wbGVG
b250RGF0YSYgZm9udERhdGEpIGNvbnN0IHsgcmV0dXJuIDggKiBmb250RGF0YS5zcGFjZVdpZHRo
KCkgKyBsZXR0ZXJTcGFjaW5nKCk7IH0KICAgICBpbnQgZW1waGFzaXNNYXJrQXNjZW50KGNvbnN0
IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNpc01hcmtEZXNjZW50KGNvbnN0
IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNpc01hcmtIZWlnaHQoY29uc3Qg
QXRvbWljU3RyaW5nJikgY29uc3Q7CkBAIC0yMDEsMTIgKzIwMCw2IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgQ29kZVBhdGggY29kZVBhdGgoKTsKICAgICBzdGF0aWMgQ29kZVBhdGggc19jb2RlUGF0
aDsKIAotICAgIHN0YXRpYyBjb25zdCB1aW50OF90IGdSb3VuZGluZ0hhY2tDaGFyYWN0ZXJUYWJs
ZVsyNTZdOwotICAgIHN0YXRpYyBib29sIGlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKFVDaGFyMzIg
YykKLSAgICB7Ci0gICAgICAgIHJldHVybiAoKChjICYgfjB4RkYpID09IDAgJiYgZ1JvdW5kaW5n
SGFja0NoYXJhY3RlclRhYmxlW2NdKSk7Ci0gICAgfQotCiAgICAgRm9udFNlbGVjdG9yKiBmb250
U2VsZWN0b3IoKSBjb25zdDsKICAgICBzdGF0aWMgYm9vbCB0cmVhdEFzU3BhY2UoVUNoYXIgYykg
eyByZXR1cm4gYyA9PSAnICcgfHwgYyA9PSAnXHQnIHx8IGMgPT0gJ1xuJyB8fCBjID09IG5vQnJl
YWtTcGFjZTsgfQogICAgIHN0YXRpYyBib29sIHRyZWF0QXNaZXJvV2lkdGhTcGFjZShVQ2hhciBj
KSB7IHJldHVybiBjIDwgMHgyMCB8fCAoYyA+PSAweDdGICYmIGMgPCAweEEwKSB8fCBjID09IHNv
ZnRIeXBoZW4gfHwgKGMgPj0gMHgyMDBjICYmIGMgPD0gMHgyMDBmKSB8fCAoYyA+PSAweDIwMmEg
JiYgYyA8PSAweDIwMmUpIHx8IGMgPT0gb2JqZWN0UmVwbGFjZW1lbnRDaGFyYWN0ZXI7IH0KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRo
LmNwcAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250RmFzdFBhdGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOTcsOSArMjk3LDggQEAgZmxv
YXQgRm9udDo6Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JTaW1wbAogICAgIGZsb2F0IGFmdGVyV2lk
dGggPSBpdC5tX3J1bldpZHRoU29GYXI7CiAKICAgICBpZiAocnVuLnJ0bCgpKSB7Ci0gICAgICAg
IGZsb2F0IGZpbmFsUm91bmRpbmdXaWR0aCA9IGl0Lm1fZmluYWxSb3VuZGluZ1dpZHRoOwogICAg
ICAgICBpdC5hZHZhbmNlKHJ1bi5sZW5ndGgoKSk7Ci0gICAgICAgIGluaXRpYWxBZHZhbmNlID0g
ZmluYWxSb3VuZGluZ1dpZHRoICsgaXQubV9ydW5XaWR0aFNvRmFyIC0gYWZ0ZXJXaWR0aDsKKyAg
ICAgICAgaW5pdGlhbEFkdmFuY2UgPSBpdC5tX3J1bldpZHRoU29GYXIgLSBhZnRlcldpZHRoOwog
ICAgIH0gZWxzZQogICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGJlZm9yZVdpZHRoOwogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dC5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc1LDcgKzM3NSw3
IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3SW1hZ2UoSW1hZ2UqIGkKIH0KIAogI2lmICFP
UyhXSU5DRSkgfHwgUExBVEZPUk0oUVQpCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQo
Y29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBjb25zdCBJbnRQb2ludCYgcG9p
bnQsIGludCBmcm9tLCBpbnQgdG8pCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQoY29u
c3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBjb25zdCBGbG9hdFBvaW50JiBwb2lu
dCwgaW50IGZyb20sIGludCB0bykKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAg
ICAgICByZXR1cm47CkBAIC0zODQsNyArMzg0LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRy
YXdUZXh0KGNvbnN0IEZvbgogfQogI2VuZGlmCiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3
RW1waGFzaXNNYXJrcyhjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0
IEF0b21pY1N0cmluZyYgbWFyaywgY29uc3QgSW50UG9pbnQmIHBvaW50LCBpbnQgZnJvbSwgaW50
IHRvKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdFbXBoYXNpc01hcmtzKGNvbnN0IEZvbnQm
IGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25z
dCBGbG9hdFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bykKIHsKICAgICBpZiAocGFpbnRp
bmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC00MjIsMTMgKzQyMiwxMyBAQCB2b2lk
IEdyYXBoaWNzQ29udGV4dDo6ZHJhd0JpZGlUZXh0KGNvbnN0CiAgICAgICAgIGJpZGlSdW4gPSBi
aWRpUnVuLT5uZXh0KCk7CiAgICAgICAgIC8vIEZJWE1FOiBIYXZlIEZvbnQ6OmRyYXdUZXh0IHJl
dHVybiB0aGUgd2lkdGggb2Ygd2hhdCBpdCBkcmV3IHNvIHRoYXQgd2UgZG9uJ3QgaGF2ZSB0byBy
ZS1tZWFzdXJlIGhlcmUuCiAgICAgICAgIGlmIChiaWRpUnVuKQotICAgICAgICAgICAgY3VyclBv
aW50Lm1vdmUoZm9udC5mbG9hdFdpZHRoKHN1YnJ1biksIDAuZik7CisgICAgICAgICAgICBjdXJy
UG9pbnQubW92ZShmb250LndpZHRoKHN1YnJ1biksIDApOwogICAgIH0KIAogICAgIGJpZGlSZXNv
bHZlci5kZWxldGVSdW5zKCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3SGlnaGxp
Z2h0Rm9yVGV4dChjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IElu
dFBvaW50JiBwb2ludCwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3IsIENvbG9y
U3BhY2UgY29sb3JTcGFjZSwgaW50IGZyb20sIGludCB0bykKK3ZvaWQgR3JhcGhpY3NDb250ZXh0
OjpkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiBy
dW4sIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBpbnQgaCwgY29uc3QgQ29sb3ImIGJhY2tncm91
bmRDb2xvciwgQ29sb3JTcGFjZSBjb2xvclNwYWNlLCBpbnQgZnJvbSwgaW50IHRvKQogewogICAg
IGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCShyZXZp
c2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
Q29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzUsMjAgKzMzNSwyMCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIFRleHREcmF3aW5nTW9kZUZsYWdzIHRleHREcmF3aW5nTW9kZSgp
IGNvbnN0OwogICAgICAgICB2b2lkIHNldFRleHREcmF3aW5nTW9kZShUZXh0RHJhd2luZ01vZGVG
bGFncyk7CiAKLSAgICAgICAgdm9pZCBkcmF3VGV4dChjb25zdCBGb250JiwgY29uc3QgVGV4dFJ1
biYsIGNvbnN0IEludFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSk7Ci0gICAgICAg
IHZvaWQgZHJhd0VtcGhhc2lzTWFya3MoY29uc3QgRm9udCYsIGNvbnN0IFRleHRSdW4mICwgY29u
c3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBJbnRQb2ludCYsIGludCBmcm9tID0gMCwgaW50
IHRvID0gLTEpOworICAgICAgICB2b2lkIGRyYXdUZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0
UnVuJiwgY29uc3QgRmxvYXRQb2ludCYsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOworICAg
ICAgICB2b2lkIGRyYXdFbXBoYXNpc01hcmtzKGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiAs
IGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaywgY29uc3QgRmxvYXRQb2ludCYsIGludCBmcm9tID0g
MCwgaW50IHRvID0gLTEpOwogICAgICAgICB2b2lkIGRyYXdCaWRpVGV4dChjb25zdCBGb250Jiwg
Y29uc3QgVGV4dFJ1biYsIGNvbnN0IEZsb2F0UG9pbnQmKTsKLSAgICAgICAgdm9pZCBkcmF3SGln
aGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IEludFBvaW50
JiwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3IsIENvbG9yU3BhY2UsIGludCBm
cm9tID0gMCwgaW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRyYXdIaWdobGlnaHRGb3JUZXh0
KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxvYXRQb2ludCYsIGludCBoLCBj
b25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yLCBDb2xvclNwYWNlLCBpbnQgZnJvbSA9IDAsIGlu
dCB0byA9IC0xKTsKIAogICAgICAgICBGbG9hdFJlY3Qgcm91bmRUb0RldmljZVBpeGVscyhjb25z
dCBGbG9hdFJlY3QmKTsKIAotICAgICAgICB2b2lkIGRyYXdMaW5lRm9yVGV4dChjb25zdCBJbnRQ
b2ludCYsIGludCB3aWR0aCwgYm9vbCBwcmludGluZyk7CisgICAgICAgIHZvaWQgZHJhd0xpbmVG
b3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmLCBmbG9hdCB3aWR0aCwgYm9vbCBwcmludGluZyk7CiAg
ICAgICAgIGVudW0gVGV4dENoZWNraW5nTGluZVN0eWxlIHsKICAgICAgICAgICAgIFRleHRDaGVj
a2luZ1NwZWxsaW5nTGluZVN0eWxlLAogICAgICAgICAgICAgVGV4dENoZWNraW5nR3JhbW1hckxp
bmVTdHlsZSwKICAgICAgICAgICAgIFRleHRDaGVja2luZ1JlcGxhY2VtZW50TGluZVN0eWxlCiAg
ICAgICAgIH07Ci0gICAgICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50
UG9pbnQmLCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSk7CisgICAgICAgIHZvaWQg
ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2ludCYsIGZsb2F0IHdpZHRoLCBU
ZXh0Q2hlY2tpbmdMaW5lU3R5bGUpOwogCiAgICAgICAgIGJvb2wgcGFpbnRpbmdEaXNhYmxlZCgp
IGNvbnN0OwogICAgICAgICB2b2lkIHNldFBhaW50aW5nRGlzYWJsZWQoYm9vbCk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEu
Y3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1NpbXBsZUZvbnREYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA4LDcgKzEwOCw2IEBAIFNp
bXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShQYXNzT3duUHQKICAgICBtX3NwYWNlR2x5cGgg
PSAwOwogICAgIG1femVyb1dpZHRoU3BhY2VHbHlwaCA9IDA7CiAgICAgZGV0ZXJtaW5lUGl0Y2go
KTsKLSAgICBtX2FkanVzdGVkU3BhY2VXaWR0aCA9IHJvdW5kZihtX3NwYWNlV2lkdGgpOwogICAg
IG1fbWlzc2luZ0dseXBoRGF0YS5mb250RGF0YSA9IHRoaXM7CiAgICAgbV9taXNzaW5nR2x5cGhE
YXRhLmdseXBoID0gMDsKIH0KQEAgLTE0Myw3ICsxNDIsNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRh
OjpwbGF0Zm9ybUdseXBoSW5pdCgpCiAgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGdldCBn
bHlwaCBwYWdlIHplcm8uIik7CiAgICAgICAgIG1fc3BhY2VHbHlwaCA9IDA7CiAgICAgICAgIG1f
c3BhY2VXaWR0aCA9IDA7Ci0gICAgICAgIG1fYWRqdXN0ZWRTcGFjZVdpZHRoID0gMDsKICAgICAg
ICAgZGV0ZXJtaW5lUGl0Y2goKTsKICAgICAgICAgbV96ZXJvV2lkdGhTcGFjZUdseXBoID0gMDsK
ICAgICAgICAgbV9taXNzaW5nR2x5cGhEYXRhLmZvbnREYXRhID0gdGhpczsKQEAgLTE2MCw3ICsx
NTgsNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBoSW5pdCgpCiAgICAgZmxv
YXQgd2lkdGggPSB3aWR0aEZvckdseXBoKG1fc3BhY2VHbHlwaCk7CiAgICAgbV9zcGFjZVdpZHRo
ID0gd2lkdGg7CiAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKLSAgICBtX2FkanVzdGVkU3BhY2VXaWR0
aCA9IG1fdHJlYXRBc0ZpeGVkUGl0Y2ggPyBjZWlsZih3aWR0aCkgOiByb3VuZGYod2lkdGgpOwog
CiAgICAgLy8gRm9yY2UgdGhlIGdseXBoIGZvciBaRVJPIFdJRFRIIFNQQUNFIHRvIGhhdmUgemVy
byB3aWR0aCwgdW5sZXNzIGl0IGlzIHNoYXJlZCB3aXRoIFNQQUNFLgogICAgIC8vIEhlbHZldGlj
YSBpcyBhbiBleGFtcGxlIG9mIGEgbm9uLXplcm8gd2lkdGggWkVSTyBXSURUSCBTUEFDRSBnbHlw
aC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRh
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxl
Rm9udERhdGEuaAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9TaW1wbGVGb250RGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsNyArMTEyLDYg
QEAgcHVibGljOgogICAgIGZsb2F0IHBsYXRmb3JtV2lkdGhGb3JHbHlwaChHbHlwaCkgY29uc3Q7
CiAKICAgICBmbG9hdCBzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9zcGFjZVdpZHRoOyB9
Ci0gICAgZmxvYXQgYWRqdXN0ZWRTcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9hZGp1c3Rl
ZFNwYWNlV2lkdGg7IH0KIAogI2lmIFBMQVRGT1JNKENHKSB8fCBQTEFURk9STShDQUlSTykgfHwg
UExBVEZPUk0oV1gpCiAgICAgZmxvYXQgc3ludGhldGljQm9sZE9mZnNldCgpIGNvbnN0IHsgcmV0
dXJuIG1fc3ludGhldGljQm9sZE9mZnNldDsgfQpAQCAtMjMwLDcgKzIyOSw2IEBAIHByaXZhdGU6
CiAKICAgICBHbHlwaCBtX3NwYWNlR2x5cGg7CiAgICAgZmxvYXQgbV9zcGFjZVdpZHRoOwotICAg
IGZsb2F0IG1fYWRqdXN0ZWRTcGFjZVdpZHRoOwogCiAgICAgR2x5cGggbV96ZXJvV2lkdGhTcGFj
ZUdseXBoOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TdHJpbmdU
cnVuY2F0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1N0cmluZ1RydW5jYXRvci5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtOTIsMjIgKzkyLDIwIEBAIHN0YXRpYyB1bnNpZ25lZCByaWdodFRydW5jYXRlVG9CdWZmZXIo
Y28KICAgICByZXR1cm4gdHJ1bmNhdGVkTGVuZ3RoOwogfQogCi1zdGF0aWMgZmxvYXQgc3RyaW5n
V2lkdGgoY29uc3QgRm9udCYgcmVuZGVyZXIsIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNp
Z25lZCBsZW5ndGgsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MpCitzdGF0aWMgZmxvYXQgc3Ry
aW5nV2lkdGgoY29uc3QgRm9udCYgcmVuZGVyZXIsIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1
bnNpZ25lZCBsZW5ndGgpCiB7CiAgICAgVGV4dFJ1biBydW4oY2hhcmFjdGVycywgbGVuZ3RoKTsK
LSAgICBpZiAoZGlzYWJsZVJvdW5kaW5nSGFja3MpCi0gICAgICAgIHJ1bi5kaXNhYmxlUm91bmRp
bmdIYWNrcygpOwotICAgIHJldHVybiByZW5kZXJlci5mbG9hdFdpZHRoKHJ1bik7CisgICAgcmV0
dXJuIHJlbmRlcmVyLndpZHRoKHJ1bik7CiB9CiAKLXN0YXRpYyBTdHJpbmcgdHJ1bmNhdGVTdHJp
bmcoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250JiBmb250
LCBUcnVuY2F0aW9uRnVuY3Rpb24gdHJ1bmNhdGVUb0J1ZmZlciwgYm9vbCBkaXNhYmxlUm91bmRp
bmdIYWNrcykKK3N0YXRpYyBTdHJpbmcgdHJ1bmNhdGVTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJp
bmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250JiBmb250LCBUcnVuY2F0aW9uRnVuY3Rpb24g
dHJ1bmNhdGVUb0J1ZmZlcikKIHsKICAgICBpZiAoc3RyaW5nLmlzRW1wdHkoKSkKICAgICAgICAg
cmV0dXJuIHN0cmluZzsKICAgICAKICAgICBBU1NFUlQobWF4V2lkdGggPj0gMCk7CiAgICAgCi0g
ICAgZmxvYXQgY3VycmVudEVsbGlwc2lzV2lkdGggPSBzdHJpbmdXaWR0aChmb250LCAmaG9yaXpv
bnRhbEVsbGlwc2lzLCAxLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgZmxvYXQgY3VycmVu
dEVsbGlwc2lzV2lkdGggPSBzdHJpbmdXaWR0aChmb250LCAmaG9yaXpvbnRhbEVsbGlwc2lzLCAx
KTsKICAgICAKICAgICBVQ2hhciBzdHJpbmdCdWZmZXJbU1RSSU5HX0JVRkZFUl9TSVpFXTsKICAg
ICB1bnNpZ25lZCB0cnVuY2F0ZWRMZW5ndGg7CkBAIC0xMjMsNyArMTIxLDcgQEAgc3RhdGljIFN0
cmluZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAgICAgICB0cnVuY2F0ZWRMZW5ndGgg
PSBsZW5ndGg7CiAgICAgfQogCi0gICAgZmxvYXQgd2lkdGggPSBzdHJpbmdXaWR0aChmb250LCBz
dHJpbmdCdWZmZXIsIHRydW5jYXRlZExlbmd0aCwgZGlzYWJsZVJvdW5kaW5nSGFja3MpOworICAg
IGZsb2F0IHdpZHRoID0gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5nQnVmZmVyLCB0cnVuY2F0ZWRM
ZW5ndGgpOwogICAgIGlmICh3aWR0aCA8PSBtYXhXaWR0aCkKICAgICAgICAgcmV0dXJuIHN0cmlu
ZzsKIApAQCAtMTU5LDcgKzE1Nyw3IEBAIHN0YXRpYyBTdHJpbmcgdHJ1bmNhdGVTdHJpbmcoY29u
c3QgU3RyaW4KICAgICAgICAgCiAgICAgICAgIHRydW5jYXRlZExlbmd0aCA9IHRydW5jYXRlVG9C
dWZmZXIoc3RyaW5nLCBsZW5ndGgsIGtlZXBDb3VudCwgc3RyaW5nQnVmZmVyKTsKIAotICAgICAg
ICB3aWR0aCA9IHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZ0J1ZmZlciwgdHJ1bmNhdGVkTGVuZ3Ro
LCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgICAgIHdpZHRoID0gc3RyaW5nV2lkdGgoZm9u
dCwgc3RyaW5nQnVmZmVyLCB0cnVuY2F0ZWRMZW5ndGgpOwogICAgICAgICBpZiAod2lkdGggPD0g
bWF4V2lkdGgpIHsKICAgICAgICAgICAgIGtlZXBDb3VudEZvckxhcmdlc3RLbm93blRvRml0ID0g
a2VlcENvdW50OwogICAgICAgICAgICAgd2lkdGhGb3JMYXJnZXN0S25vd25Ub0ZpdCA9IHdpZHRo
OwpAQCAtMTgxLDE5ICsxNzksMTkgQEAgc3RhdGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhjb25z
dCBTdHJpbgogICAgIHJldHVybiBTdHJpbmcoc3RyaW5nQnVmZmVyLCB0cnVuY2F0ZWRMZW5ndGgp
OwogfQogCi1TdHJpbmcgU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJp
bmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgZGlzYWJs
ZVJvdW5kaW5nSGFja3MpCitTdHJpbmcgU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShj
b25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZvbnQpCiB7
Ci0gICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4V2lkdGgsIGZvbnQsIGNlbnRl
clRydW5jYXRlVG9CdWZmZXIsIGRpc2FibGVSb3VuZGluZ0hhY2tzKTsKKyAgICByZXR1cm4gdHJ1
bmNhdGVTdHJpbmcoc3RyaW5nLCBtYXhXaWR0aCwgZm9udCwgY2VudGVyVHJ1bmNhdGVUb0J1ZmZl
cik7CiB9CiAKLVN0cmluZyBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUoY29uc3QgU3Ry
aW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250JiBmb250LCBib29sIGRpc2Fi
bGVSb3VuZGluZ0hhY2tzKQorU3RyaW5nIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShj
b25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZvbnQpCiB7
Ci0gICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4V2lkdGgsIGZvbnQsIHJpZ2h0
VHJ1bmNhdGVUb0J1ZmZlciwgZGlzYWJsZVJvdW5kaW5nSGFja3MpOworICAgIHJldHVybiB0cnVu
Y2F0ZVN0cmluZyhzdHJpbmcsIG1heFdpZHRoLCBmb250LCByaWdodFRydW5jYXRlVG9CdWZmZXIp
OwogfQogCi1mbG9hdCBTdHJpbmdUcnVuY2F0b3I6OndpZHRoKGNvbnN0IFN0cmluZyYgc3RyaW5n
LCBjb25zdCBGb250JiBmb250LCBib29sIGRpc2FibGVSb3VuZGluZ0hhY2tzKQorZmxvYXQgU3Ry
aW5nVHJ1bmNhdG9yOjp3aWR0aChjb25zdCBTdHJpbmcmIHN0cmluZywgY29uc3QgRm9udCYgZm9u
dCkKIHsKLSAgICByZXR1cm4gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5nLmNoYXJhY3RlcnMoKSwg
c3RyaW5nLmxlbmd0aCgpLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgcmV0dXJuIHN0cmlu
Z1dpZHRoKGZvbnQsIHN0cmluZy5jaGFyYWN0ZXJzKCksIHN0cmluZy5sZW5ndGgoKSk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zNyw5ICszNyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKICAgICBj
bGFzcyBTdHJpbmdUcnVuY2F0b3IgewogICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFN0cmlu
ZyBjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9u
dCYsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MgPSB0cnVlKTsKLSAgICAgICAgc3RhdGljIFN0
cmluZyByaWdodFRydW5jYXRlKGNvbnN0IFN0cmluZyYsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBG
b250JiwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcyA9IHRydWUpOwotICAgICAgICBzdGF0aWMg
ZmxvYXQgd2lkdGgoY29uc3QgU3RyaW5nJiwgY29uc3QgRm9udCYsIGJvb2wgZGlzYWJsZVJvdW5k
aW5nSGFja3MgPSB0cnVlKTsKKyAgICAgICAgc3RhdGljIFN0cmluZyBjZW50ZXJUcnVuY2F0ZShj
b25zdCBTdHJpbmcmLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9udCYpOworICAgICAgICBzdGF0
aWMgU3RyaW5nIHJpZ2h0VHJ1bmNhdGUoY29uc3QgU3RyaW5nJiwgZmxvYXQgbWF4V2lkdGgsIGNv
bnN0IEZvbnQmKTsKKyAgICAgICAgc3RhdGljIGZsb2F0IHdpZHRoKGNvbnN0IFN0cmluZyYsIGNv
bnN0IEZvbnQmKTsKICAgICB9OwogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaAkocmV2aXNpb24gNzg0
ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM4LDggKzM4LDcgQEAgcHVibGljOgogICAgICAgICBGb3JiaWRUcmFpbGlu
Z0V4cGFuc2lvbgogICAgIH07CiAKLSAgICBUZXh0UnVuKGNvbnN0IFVDaGFyKiBjLCBpbnQgbGVu
LCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBpbnQgeHBvcyA9IDAsIGludCBleHBhbnNpb24gPSAw
LCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgPSBB
bGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNlLCBib29sIGRpcmVjdGlvbmFs
T3ZlcnJpZGUgPSBmYWxzZSwKLSAgICAgICAgICAgICAgYm9vbCBhcHBseVJ1blJvdW5kaW5nID0g
dHJ1ZSwgYm9vbCBhcHBseVdvcmRSb3VuZGluZyA9IHRydWUpCisgICAgVGV4dFJ1bihjb25zdCBV
Q2hhciogYywgaW50IGxlbiwgYm9vbCBhbGxvd1RhYnMgPSBmYWxzZSwgZmxvYXQgeHBvcyA9IDAs
IGZsb2F0IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdF
eHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGJvb2wgcnRsID0gZmFs
c2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlKQogICAgICAgICA6IG1fY2hhcmFj
dGVycyhjKQogICAgICAgICAsIG1fbGVuKGxlbikKICAgICAgICAgLCBtX3hwb3MoeHBvcykKQEAg
LTUxLDggKzUwLDYgQEAgcHVibGljOgogICAgICAgICAsIG1fYWxsb3dUYWJzKGFsbG93VGFicykK
ICAgICAgICAgLCBtX3J0bChydGwpCiAgICAgICAgICwgbV9kaXJlY3Rpb25hbE92ZXJyaWRlKGRp
cmVjdGlvbmFsT3ZlcnJpZGUpCi0gICAgICAgICwgbV9hcHBseVJ1blJvdW5kaW5nKGFwcGx5UnVu
Um91bmRpbmcpCi0gICAgICAgICwgbV9hcHBseVdvcmRSb3VuZGluZyhhcHBseVdvcmRSb3VuZGlu
ZykKICAgICAgICAgLCBtX2Rpc2FibGVTcGFjaW5nKGZhbHNlKQogI2lmIEVOQUJMRShTVkdfRk9O
VFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2luZ1JlbmRlck9iamVjdCgwKQpAQCAtNjEsOCArNTgs
NyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIFRleHRSdW4oY29uc3QgU3RyaW5nJiBz
LCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBpbnQgeHBvcyA9IDAsIGludCBleHBhbnNpb24gPSAw
LCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgPSBB
bGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNlLCBib29sIGRpcmVjdGlvbmFs
T3ZlcnJpZGUgPSBmYWxzZSwKLSAgICAgICAgICAgICAgYm9vbCBhcHBseVJ1blJvdW5kaW5nID0g
dHJ1ZSwgYm9vbCBhcHBseVdvcmRSb3VuZGluZyA9IHRydWUpCisgICAgVGV4dFJ1bihjb25zdCBT
dHJpbmcmIHMsIGJvb2wgYWxsb3dUYWJzID0gZmFsc2UsIGZsb2F0IHhwb3MgPSAwLCBmbG9hdCBl
eHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhwYW5zaW9u
QmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNlLCBib29s
IGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSkKICAgICAgICAgOiBtX2NoYXJhY3RlcnMocy5j
aGFyYWN0ZXJzKCkpCiAgICAgICAgICwgbV9sZW4ocy5sZW5ndGgoKSkKICAgICAgICAgLCBtX3hw
b3MoeHBvcykKQEAgLTc0LDggKzcwLDYgQEAgcHVibGljOgogICAgICAgICAsIG1fYWxsb3dUYWJz
KGFsbG93VGFicykKICAgICAgICAgLCBtX3J0bChydGwpCiAgICAgICAgICwgbV9kaXJlY3Rpb25h
bE92ZXJyaWRlKGRpcmVjdGlvbmFsT3ZlcnJpZGUpCi0gICAgICAgICwgbV9hcHBseVJ1blJvdW5k
aW5nKGFwcGx5UnVuUm91bmRpbmcpCi0gICAgICAgICwgbV9hcHBseVdvcmRSb3VuZGluZyhhcHBs
eVdvcmRSb3VuZGluZykKICAgICAgICAgLCBtX2Rpc2FibGVTcGFjaW5nKGZhbHNlKQogI2lmIEVO
QUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2luZ1JlbmRlck9iamVjdCgwKQpA
QCAtOTgsMTggKzkyLDE1IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgYm9vbCBhbGxvd1RhYnMo
KSBjb25zdCB7IHJldHVybiBtX2FsbG93VGFiczsgfQotICAgIGludCB4UG9zKCkgY29uc3QgeyBy
ZXR1cm4gbV94cG9zOyB9Ci0gICAgaW50IGV4cGFuc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fZXhw
YW5zaW9uOyB9CisgICAgZmxvYXQgeFBvcygpIGNvbnN0IHsgcmV0dXJuIG1feHBvczsgfQorICAg
IGZsb2F0IGV4cGFuc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fZXhwYW5zaW9uOyB9CiAgICAgYm9v
bCBhbGxvd3NUcmFpbGluZ0V4cGFuc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fdHJhaWxpbmdFeHBh
bnNpb25CZWhhdmlvciA9PSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uOyB9CiAgICAgYm9vbCBydGwo
KSBjb25zdCB7IHJldHVybiBtX3J0bDsgfQogICAgIGJvb2wgbHRyKCkgY29uc3QgeyByZXR1cm4g
IW1fcnRsOyB9CiAgICAgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRlKCkgY29uc3QgeyByZXR1cm4g
bV9kaXJlY3Rpb25hbE92ZXJyaWRlOyB9Ci0gICAgYm9vbCBhcHBseVJ1blJvdW5kaW5nKCkgY29u
c3QgeyByZXR1cm4gbV9hcHBseVJ1blJvdW5kaW5nOyB9Ci0gICAgYm9vbCBhcHBseVdvcmRSb3Vu
ZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbHlXb3JkUm91bmRpbmc7IH0KICAgICBib29sIHNw
YWNpbmdEaXNhYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzYWJsZVNwYWNpbmc7IH0KIAogICAg
IHZvaWQgZGlzYWJsZVNwYWNpbmcoKSB7IG1fZGlzYWJsZVNwYWNpbmcgPSB0cnVlOyB9Ci0gICAg
dm9pZCBkaXNhYmxlUm91bmRpbmdIYWNrcygpIHsgbV9hcHBseVJ1blJvdW5kaW5nID0gbV9hcHBs
eVdvcmRSb3VuZGluZyA9IGZhbHNlOyB9CiAgICAgdm9pZCBzZXRSVEwoYm9vbCBiKSB7IG1fcnRs
ID0gYjsgfQogICAgIHZvaWQgc2V0RGlyZWN0aW9uYWxPdmVycmlkZShib29sIG92ZXJyaWRlKSB7
IG1fZGlyZWN0aW9uYWxPdmVycmlkZSA9IG92ZXJyaWRlOyB9CiAKQEAgLTEyOCw4ICsxMTksOCBA
QCBwcml2YXRlOgogICAgIC8vIG1feHBvcyBpcyB0aGUgeCBwb3NpdGlvbiByZWxhdGl2ZSB0byB0
aGUgbGVmdCBzdGFydCBvZiB0aGUgdGV4dCBsaW5lLCBub3QgcmVsYXRpdmUgdG8gdGhlIGxlZnQK
ICAgICAvLyBzdGFydCBvZiB0aGUgY29udGFpbmluZyBibG9jay4gSW4gdGhlIGNhc2Ugb2Ygcmln
aHQgYWxpZ25tZW50IG9yIGNlbnRlciBhbGlnbm1lbnQsIGxlZnQgc3RhcnQgb2YKICAgICAvLyB0
aGUgdGV4dCBsaW5lIGlzIG5vdCB0aGUgc2FtZSBhcyBsZWZ0IHN0YXJ0IG9mIHRoZSBjb250YWlu
aW5nIGJsb2NrLgotICAgIGludCBtX3hwb3M7ICAKLSAgICBpbnQgbV9leHBhbnNpb247CisgICAg
ZmxvYXQgbV94cG9zOyAgCisgICAgZmxvYXQgbV9leHBhbnNpb247CiAgICAgVHJhaWxpbmdFeHBh
bnNpb25CZWhhdmlvciBtX3RyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3I7CiAjaWYgRU5BQkxFKFNW
RykKICAgICBmbG9hdCBtX2hvcml6b250YWxHbHlwaFN0cmV0Y2g7CkBAIC0xMzcsOCArMTI4LDYg
QEAgcHJpdmF0ZToKICAgICBib29sIG1fYWxsb3dUYWJzOwogICAgIGJvb2wgbV9ydGw7CiAgICAg
Ym9vbCBtX2RpcmVjdGlvbmFsT3ZlcnJpZGU7Ci0gICAgYm9vbCBtX2FwcGx5UnVuUm91bmRpbmc7
Ci0gICAgYm9vbCBtX2FwcGx5V29yZFJvdW5kaW5nOwogICAgIGJvb2wgbV9kaXNhYmxlU3BhY2lu
ZzsKIAogI2lmIEVOQUJMRShTVkdfRk9OVFMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAkocmV2aXNpb24gNzg0ODQpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBAQCBXaWR0aEl0ZXJhdG9yOjpXaWR0aEl0ZXJhdG9y
KGNvbnN0IEZvbnQqCiAgICAgLCBtX2N1cnJlbnRDaGFyYWN0ZXIoMCkKICAgICAsIG1fcnVuV2lk
dGhTb0ZhcigwKQogICAgICwgbV9pc0FmdGVyRXhwYW5zaW9uKHRydWUpCi0gICAgLCBtX2ZpbmFs
Um91bmRpbmdXaWR0aCgwKQogICAgICwgbV9mYWxsYmFja0ZvbnRzKGZhbGxiYWNrRm9udHMpCiAg
ICAgLCBtX2FjY291bnRGb3JHbHlwaEJvdW5kcyhhY2NvdW50Rm9yR2x5cGhCb3VuZHMpCiAgICAg
LCBtX21heEdseXBoQm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWluKCkpCkBA
IC04NiwxMSArODUsNiBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9mZnNldCwg
CiAgICAgYm9vbCBydGwgPSBtX3J1bi5ydGwoKTsKICAgICBib29sIGhhc0V4dHJhU3BhY2luZyA9
IChtX2ZvbnQtPmxldHRlclNwYWNpbmcoKSB8fCBtX2ZvbnQtPndvcmRTcGFjaW5nKCkgfHwgbV9l
eHBhbnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlzYWJsZWQoKTsKIAotICAgIGZsb2F0IHdpZHRo
U2luY2VMYXN0Um91bmRpbmcgPSBtX3J1bldpZHRoU29GYXI7Ci0gICAgbV9ydW5XaWR0aFNvRmFy
ID0gZmxvb3JmKG1fcnVuV2lkdGhTb0Zhcik7Ci0gICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyAt
PSBtX3J1bldpZHRoU29GYXI7Ci0KLSAgICBmbG9hdCBsYXN0Um91bmRpbmdXaWR0aCA9IG1fZmlu
YWxSb3VuZGluZ1dpZHRoOwogICAgIEZsb2F0UmVjdCBib3VuZHM7CiAKICAgICBjb25zdCBTaW1w
bGVGb250RGF0YSogcHJpbWFyeUZvbnQgPSBtX2ZvbnQtPnByaW1hcnlGb250KCk7CkBAIC0xMzYs
NyArMTMwLDcgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQsIAogICAg
ICAgICBmbG9hdCB3aWR0aDsKICAgICAgICAgaWYgKGMgPT0gJ1x0JyAmJiBtX3J1bi5hbGxvd1Rh
YnMoKSkgewogICAgICAgICAgICAgZmxvYXQgdGFiV2lkdGggPSBtX2ZvbnQtPnRhYldpZHRoKCpm
b250RGF0YSk7Ci0gICAgICAgICAgICB3aWR0aCA9IHRhYldpZHRoIC0gZm1vZGYobV9ydW4ueFBv
cygpICsgbV9ydW5XaWR0aFNvRmFyICsgd2lkdGhTaW5jZUxhc3RSb3VuZGluZywgdGFiV2lkdGgp
OworICAgICAgICAgICAgd2lkdGggPSB0YWJXaWR0aCAtIGZtb2RmKG1fcnVuLnhQb3MoKSArIG1f
cnVuV2lkdGhTb0ZhciwgdGFiV2lkdGgpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
d2lkdGggPSBmb250RGF0YS0+d2lkdGhGb3JHbHlwaChnbHlwaCk7CiAKQEAgLTE0NCwxMyArMTM4
LDYgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQsIAogICAgICAgICAg
ICAgLy8gU1ZHIHVzZXMgaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgpLCB3aGVuIHRleHRMZW5ndGgg
aXMgdXNlZCB0byBzdHJldGNoL3NxdWVlemUgdGV4dC4KICAgICAgICAgICAgIHdpZHRoICo9IG1f
cnVuLmhvcml6b250YWxHbHlwaFN0cmV0Y2goKTsKICNlbmRpZgotCi0gICAgICAgICAgICAvLyBX
ZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlzIHdoZW4gYXBwbHlpbmcgd29yZCByb3Vu
ZGluZy4KLSAgICAgICAgICAgIC8vIEZpcnN0LCB3ZSByb3VuZCBzcGFjZXMgdG8gYW4gYWRqdXN0
ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAgICAgLy8gU2Vjb25kLCBpbiBmaXhlZC1w
aXRjaCBmb250cyB3ZSBlbnN1cmUgdGhhdCBhbGwgY2hhcmFjdGVycyB0aGF0Ci0gICAgICAgICAg
ICAvLyBtYXRjaCB0aGUgd2lkdGggb2YgdGhlIHNwYWNlIGNoYXJhY3RlciBoYXZlIHRoZSBzYW1l
IHdpZHRoIGFzIHRoZSBzcGFjZSBjaGFyYWN0ZXIuCi0gICAgICAgICAgICBpZiAod2lkdGggPT0g
Zm9udERhdGEtPnNwYWNlV2lkdGgoKSAmJiAoZm9udERhdGEtPnBpdGNoKCkgPT0gRml4ZWRQaXRj
aCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgpKSAmJiBtX3J1bi5hcHBseVdvcmRS
b3VuZGluZygpKQotICAgICAgICAgICAgICAgIHdpZHRoID0gZm9udERhdGEtPmFkanVzdGVkU3Bh
Y2VXaWR0aCgpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGZvbnREYXRhICE9IGxhc3RGb250
RGF0YSAmJiB3aWR0aCkgewpAQCAtMTgzLDE0ICsxNzAsMTQgQEAgdm9pZCBXaWR0aEl0ZXJhdG9y
OjphZHZhbmNlKGludCBvZmZzZXQsIAogICAgICAgICAgICAgICAgICAgICBpZiAoIXRyZWF0QXNT
cGFjZSAmJiAhbV9pc0FmdGVyRXhwYW5zaW9uKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAv
LyBUYWtlIHRoZSBleHBhbnNpb24gb3Bwb3J0dW5pdHkgYmVmb3JlIHRoaXMgaWRlb2dyYXBoLgog
ICAgICAgICAgICAgICAgICAgICAgICAgbV9leHBhbnNpb24gLT0gbV9leHBhbnNpb25QZXJPcHBv
cnR1bml0eTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCBleHBhbnNpb24gPSByb3VuZGYo
cHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRmKG1fZXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGZsb2F0IGV4cGFuc2lvbiA9IHByZXZpb3VzRXhwYW5zaW9uIC0gbV9leHBhbnNp
b247CiAgICAgICAgICAgICAgICAgICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gZXhwYW5zaW9u
OwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdseXBoQnVmZmVyKQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLT5leHBhbmRMYXN0QWR2YW5jZShleHBhbnNpb24p
OwogICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNFeHBhbnNpb24gPSBtX2V4cGFuc2lv
bjsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBtX2V4cGFuc2lv
biAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAgICAgICAgICAgICAgICB3aWR0
aCArPSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRmKG1fZXhwYW5zaW9uKTsKKyAg
ICAgICAgICAgICAgICAgICAgd2lkdGggKz0gcHJldmlvdXNFeHBhbnNpb24gLSBtX2V4cGFuc2lv
bjsKICAgICAgICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5zaW9uID0gdHJ1ZTsKICAgICAg
ICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5zaW9u
ID0gZmFsc2U7CkBAIC0yMTYsNDMgKzIwMywxMCBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFu
Y2UoaW50IG9mZnNldCwgCiAgICAgICAgIGNwICs9IGNsdXN0ZXJMZW5ndGg7CiAgICAgICAgIGN1
cnJlbnRDaGFyYWN0ZXIgKz0gY2x1c3Rlckxlbmd0aDsKIAotICAgICAgICAvLyBBY2NvdW50IGZv
ciBmbG9hdC9pbnRlZ2VyIGltcGVkYW5jZSBtaXNtYXRjaCBiZXR3ZWVuIENHIGFuZCBLSFRNTC4g
IldvcmRzIiAoY2hhcmFjdGVycyAKLSAgICAgICAgLy8gZm9sbG93ZWQgYnkgYSBjaGFyYWN0ZXIg
ZGVmaW5lZCBieSBpc1JvdW5kaW5nSGFja0NoYXJhY3RlcigpKSBhcmUgYWx3YXlzIGFuIGludGVn
ZXIgd2lkdGguCi0gICAgICAgIC8vIFdlIGFkanVzdCB0aGUgd2lkdGggb2YgdGhlIGxhc3QgY2hh
cmFjdGVyIG9mIGEgIndvcmQiIHRvIGVuc3VyZSBhbiBpbnRlZ2VyIHdpZHRoLgotICAgICAgICAv
LyBJZiB3ZSBtb3ZlIEtIVE1MIHRvIGZsb2F0cyB3ZSBjYW4gcmVtb3ZlIHRoaXMgKGFuZCByZWxh
dGVkKSBoYWNrcy4KLQotICAgICAgICBmbG9hdCBvbGRXaWR0aCA9IHdpZHRoOwotCi0gICAgICAg
IC8vIEZvcmNlIGNoYXJhY3RlcnMgdGhhdCBhcmUgdXNlZCB0byBkZXRlcm1pbmUgd29yZCBib3Vu
ZGFyaWVzIGZvciB0aGUgcm91bmRpbmcgaGFjawotICAgICAgICAvLyB0byBiZSBpbnRlZ2VyIHdp
ZHRoLCBzbyBmb2xsb3dpbmcgd29yZHMgd2lsbCBzdGFydCBvbiBhbiBpbnRlZ2VyIGJvdW5kYXJ5
LgotICAgICAgICBpZiAobV9ydW4uYXBwbHlXb3JkUm91bmRpbmcoKSAmJiBGb250Ojppc1JvdW5k
aW5nSGFja0NoYXJhY3RlcihjKSkgewotICAgICAgICAgICAgd2lkdGggPSBjZWlsZih3aWR0aCk7
Ci0KLSAgICAgICAgICAgIC8vIFNpbmNlIHdpZHRoU2luY2VMYXN0Um91bmRpbmcgY2FuIGxvc2Ug
cHJlY2lzaW9uIGlmIHdlIGluY2x1ZGUgbWVhc3VyZW1lbnRzIGZvcgotICAgICAgICAgICAgLy8g
cHJlY2VkaW5nIHdoaXRlc3BhY2UsIHdlIGJ5cGFzcyBpdCBoZXJlLgotICAgICAgICAgICAgbV9y
dW5XaWR0aFNvRmFyICs9IHdpZHRoOwotCi0gICAgICAgICAgICAvLyBTaW5jZSB0aGlzIGlzIGEg
cm91bmRpbmcgaGFjayBjaGFyYWN0ZXIsIHdlIHNob3VsZCBoYXZlIHJlc2V0IHRoaXMgc3VtIG9u
IHRoZSBwcmV2aW91cwotICAgICAgICAgICAgLy8gaXRlcmF0aW9uLgotICAgICAgICAgICAgQVNT
RVJUKCF3aWR0aFNpbmNlTGFzdFJvdW5kaW5nKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgbmV4dCBjaGFyYWN0ZXIgaXMgYSAicm91bmRpbmcg
aGFjayBjaGFyYWN0ZXIiLCBpZiBzbywgYWRqdXN0Ci0gICAgICAgICAgICAvLyB3aWR0aCBzbyB0
aGF0IHRoZSB0b3RhbCBydW4gd2lkdGggd2lsbCBiZSBvbiBhbiBpbnRlZ2VyIGJvdW5kYXJ5Lgot
ICAgICAgICAgICAgaWYgKChtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpICYmIGN1cnJlbnRDaGFy
YWN0ZXIgPCBtX3J1bi5sZW5ndGgoKSAmJiBGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3Rlcigq
Y3ApKQotICAgICAgICAgICAgICAgICAgICB8fCAobV9ydW4uYXBwbHlSdW5Sb3VuZGluZygpICYm
IGN1cnJlbnRDaGFyYWN0ZXIgPj0gbV9lbmQpKSB7Ci0gICAgICAgICAgICAgICAgZmxvYXQgdG90
YWxXaWR0aCA9IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgKyB3aWR0aDsKLSAgICAgICAgICAgICAg
ICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gY2VpbGYodG90YWxXaWR0aCk7Ci0gICAgICAgICAg
ICAgICAgd2lkdGggKz0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyAtIHRvdGFsV2lkdGg7Ci0gICAg
ICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoU2luY2VMYXN0Um91bmRpbmc7Ci0g
ICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9IDA7Ci0gICAgICAgICAgICB9
IGVsc2UKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nICs9IHdpZHRoOwot
ICAgICAgICB9CisgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3aWR0aDsKIAogICAgICAgICBp
ZiAoZ2x5cGhCdWZmZXIpCi0gICAgICAgICAgICBnbHlwaEJ1ZmZlci0+YWRkKGdseXBoLCBmb250
RGF0YSwgKHJ0bCA/IG9sZFdpZHRoICsgbGFzdFJvdW5kaW5nV2lkdGggOiB3aWR0aCkpOwotCi0g
ICAgICAgIGxhc3RSb3VuZGluZ1dpZHRoID0gd2lkdGggLSBvbGRXaWR0aDsKKyAgICAgICAgICAg
IGdseXBoQnVmZmVyLT5hZGQoZ2x5cGgsIGZvbnREYXRhLCB3aWR0aCk7CiAKICAgICAgICAgaWYg
KG1fYWNjb3VudEZvckdseXBoQm91bmRzKSB7CiAgICAgICAgICAgICBtX21heEdseXBoQm91bmRp
bmdCb3hZID0gbWF4KG1fbWF4R2x5cGhCb3VuZGluZ0JveFksIGJvdW5kcy5tYXhZKCkpOwpAQCAt
MjYyLDggKzIxNiw2IEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZShpbnQgb2Zmc2V0LCAK
ICAgICB9CiAKICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBjdXJyZW50Q2hhcmFjdGVyOwotICAg
IG1fcnVuV2lkdGhTb0ZhciArPSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nOwotICAgIG1fZmluYWxS
b3VuZGluZ1dpZHRoID0gbGFzdFJvdW5kaW5nV2lkdGg7CiB9CiAKIGJvb2wgV2lkdGhJdGVyYXRv
cjo6YWR2YW5jZU9uZUNoYXJhY3RlcihmbG9hdCYgd2lkdGgsIEdseXBoQnVmZmVyKiBnbHlwaEJ1
ZmZlcikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0
b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0
aEl0ZXJhdG9yLmgJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw2IEBA
IHN0cnVjdCBXaWR0aEl0ZXJhdG9yIHsKICAgICBmbG9hdCBtX2V4cGFuc2lvbjsKICAgICBmbG9h
dCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwogICAgIGJvb2wgbV9pc0FmdGVyRXhwYW5zaW9u
OwotICAgIGZsb2F0IG1fZmluYWxSb3VuZGluZ1dpZHRoOwogCiBwcml2YXRlOgogICAgIFVDaGFy
MzIgbm9ybWFsaXplVm9pY2luZ01hcmtzKGludCBjdXJyZW50Q2hhcmFjdGVyKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJv
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03MDEsMjAgKzcwMSwyMiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6
ZHJhd0ZvY3VzUmluZyhjb25zCiAgICAgY2Fpcm9fcmVzdG9yZShjcik7CiB9CiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgSW50UG9pbnQmIG9yaWdpbiwgaW50
IHdpZHRoLCBib29sIHByaW50aW5nKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9y
VGV4dChjb25zdCBGbG9hdFBvaW50JiBvcmlnaW4sIGZsb2F0IHdpZHRoLCBib29sIHByaW50aW5n
KQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAg
IEludFBvaW50IGVuZFBvaW50ID0gb3JpZ2luICsgSW50U2l6ZSh3aWR0aCwgMCk7Ci0gICAgZHJh
d0xpbmUob3JpZ2luLCBlbmRQb2ludCk7CisgICAgRmxvYXRQb2ludCBlbmRQb2ludCA9IG9yaWdp
biArIEZsb2F0U2l6ZSh3aWR0aCwgMCk7CisgICAgCisgICAgLy8gRklYTUU6IExvc3Mgb2YgcHJl
Y2lzaW9uIGhlcmUuIE1pZ2h0IGNvbnNpZGVyIHJvdW5kaW5nLgorICAgIGRyYXdMaW5lKEludFBv
aW50KG9yaWdpbi54KCksIG9yaWdpbi55KCkpLCBJbnRQb2ludChlbmRQb2ludC54KCksIGVuZFBv
aW50LnkoKSkpOwogfQogCiAjaWYgIVBMQVRGT1JNKEdUSykKICNpbmNsdWRlICJEcmF3RXJyb3JV
bmRlcmxpbmUuaCIKICNlbmRpZgogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JU
ZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmIG9yaWdpbiwgaW50IHdpZHRoLCBUZXh0Q2hlY2tp
bmdMaW5lU3R5bGUgc3R5bGUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0
Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luLCBmbG9hdCB3aWR0aCwgVGV4dENoZWNr
aW5nTGluZVN0eWxlIHN0eWxlKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAg
ICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dy
YXBoaWNzQ29udGV4dENHLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTMwLDcgKzExMzAsNyBAQCBGbG9hdFJlY3QgR3JhcGhpY3ND
b250ZXh0Ojpyb3VuZFRvRGV2aWNlCiAgICAgcmV0dXJuIEZsb2F0UmVjdChyb3VuZGVkT3JpZ2lu
LCByb3VuZGVkTG93ZXJSaWdodCAtIHJvdW5kZWRPcmlnaW4pOwogfQogCi12b2lkIEdyYXBoaWNz
Q29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEludFBvaW50JiBwb2ludCwgaW50IHdpZHRo
LCBib29sIHByaW50aW5nKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dChj
b25zdCBGbG9hdFBvaW50JiBwb2ludCwgZmxvYXQgd2lkdGgsIGJvb2wgcHJpbnRpbmcpCiB7CiAg
ICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBs
ZXhUZXh0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ5LDEzICs0OSw2IEBAIHN0YXRpYyBpbmxpbmUgQ0dGbG9hdCByb3VuZENHRmxv
YXQoQ0dGbG8KICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q0dGbG9hdD4ocm91bmQoZikpOwogfQog
Ci1zdGF0aWMgaW5saW5lIENHRmxvYXQgY2VpbENHRmxvYXQoQ0dGbG9hdCBmKQotewotICAgIGlm
IChzaXplb2YoQ0dGbG9hdCkgPT0gc2l6ZW9mKGZsb2F0KSkKLSAgICAgICAgcmV0dXJuIGNlaWxm
KHN0YXRpY19jYXN0PGZsb2F0PihmKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PENHRmxvYXQ+
KGNlaWwoZikpOwotfQotCiBDb21wbGV4VGV4dENvbnRyb2xsZXI6OkNvbXBsZXhUZXh0Q29udHJv
bGxlcihjb25zdCBGb250KiBmb250LCBjb25zdCBUZXh0UnVuJiBydW4sIGJvb2wgbWF5VXNlTmF0
dXJhbFdyaXRpbmdEaXJlY3Rpb24sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFs
bGJhY2tGb250cywgYm9vbCBmb3JUZXh0RW1waGFzaXMpCiAgICAgOiBtX2ZvbnQoKmZvbnQpCiAg
ICAgLCBtX3J1bihydW4pCkBAIC02OSw3ICs2Miw2IEBAIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6
Q29tcGxleFRleHRDb250cm8KICAgICAsIG1fY3VycmVudFJ1bigwKQogICAgICwgbV9nbHlwaElu
Q3VycmVudFJ1bigwKQogICAgICwgbV9jaGFyYWN0ZXJJbkN1cnJlbnRHbHlwaCgwKQotICAgICwg
bV9maW5hbFJvdW5kaW5nV2lkdGgoMCkKICAgICAsIG1fZXhwYW5zaW9uKHJ1bi5leHBhbnNpb24o
KSkKICAgICAsIG1fYWZ0ZXJFeHBhbnNpb24odHJ1ZSkKICAgICAsIG1fZmFsbGJhY2tGb250cyhm
YWxsYmFja0ZvbnRzKQpAQCAtNzcsNyArNjksNiBAQCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OkNv
bXBsZXhUZXh0Q29udHJvCiAgICAgLCBtX21heEdseXBoQm91bmRpbmdCb3hYKG51bWVyaWNfbGlt
aXRzPGZsb2F0Pjo6bWluKCkpCiAgICAgLCBtX21pbkdseXBoQm91bmRpbmdCb3hZKG51bWVyaWNf
bGltaXRzPGZsb2F0Pjo6bWF4KCkpCiAgICAgLCBtX21heEdseXBoQm91bmRpbmdCb3hZKG51bWVy
aWNfbGltaXRzPGZsb2F0Pjo6bWluKCkpCi0gICAgLCBtX2xhc3RSb3VuZGluZ0dseXBoKDApCiB7
CiAgICAgaWYgKCFtX2V4cGFuc2lvbikKICAgICAgICAgbV9leHBhbnNpb25QZXJPcHBvcnR1bml0
eSA9IDA7CkBAIC00MTMsMTMgKzQwNCwxMSBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6
YWR2YW5jZSh1bnNpCiAgICAgICAgIG1fY3VycmVudFJ1bisrOwogICAgICAgICBtX2dseXBoSW5D
dXJyZW50UnVuID0gMDsKICAgICB9Ci0gICAgaWYgKCFsdHIgJiYgbV9udW1HbHlwaHNTb0ZhciA9
PSBtX2FkanVzdGVkQWR2YW5jZXMuc2l6ZSgpKQotICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0g
bV9maW5hbFJvdW5kaW5nV2lkdGg7CiB9CiAKIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjph
ZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygpCiB7Ci0gICAgQ0dGbG9hdCB3aWR0aFNpbmNlTGFzdFJv
dW5kaW5nID0gMDsKKyAgICBDR0Zsb2F0IHdpZHRoU2luY2VMYXN0Q29tbWl0ID0gMDsKICAgICBz
aXplX3QgcnVuQ291bnQgPSBtX2NvbXBsZXhUZXh0UnVucy5zaXplKCk7CiAgICAgYm9vbCBoYXNF
eHRyYVNwYWNpbmcgPSAobV9mb250LmxldHRlclNwYWNpbmcoKSB8fCBtX2ZvbnQud29yZFNwYWNp
bmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNpbmdEaXNhYmxlZCgpOwogICAgIGZv
ciAoc2l6ZV90IHIgPSAwOyByIDwgcnVuQ291bnQ7ICsrcikgewpAQCAtNDMxLDkgKzQyMCw4IEBA
IHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHMKICAgICAgICAgY29uc3Qg
Q0dTaXplKiBhZHZhbmNlcyA9IGNvbXBsZXhUZXh0UnVuLmFkdmFuY2VzKCk7CiAKICAgICAgICAg
Ym9vbCBsYXN0UnVuID0gciArIDEgPT0gcnVuQ291bnQ7Ci0gICAgICAgIGNvbnN0IFVDaGFyKiBj
cCA9IGNvbXBsZXhUZXh0UnVuLmNoYXJhY3RlcnMoKTsKLSAgICAgICAgQ0dGbG9hdCByb3VuZGVk
U3BhY2VXaWR0aCA9IHJvdW5kQ0dGbG9hdChmb250RGF0YS0+c3BhY2VXaWR0aCgpKTsKICAgICAg
ICAgYm9vbCByb3VuZHNBZHZhbmNlcyA9ICFtX2ZvbnQuaXNQcmludGVyRm9udCgpICYmIGZvbnRE
YXRhLT5wbGF0Zm9ybURhdGEoKS5yb3VuZHNHbHlwaEFkdmFuY2VzKCk7CisgICAgICAgIGNvbnN0
IFVDaGFyKiBjcCA9IGNvbXBsZXhUZXh0UnVuLmNoYXJhY3RlcnMoKTsKICAgICAgICAgQ0dQb2lu
dCBnbHlwaE9yaWdpbiA9IENHUG9pbnRaZXJvOwogICAgICAgICBDRkluZGV4IGxhc3RDaGFyYWN0
ZXJJbmRleCA9IG1fcnVuLmx0cigpID8gbnVtZXJpY19saW1pdHM8Q0ZJbmRleD46Om1pbigpIDog
bnVtZXJpY19saW1pdHM8Q0ZJbmRleD46Om1heCgpOwogICAgICAgICBib29sIGlzTW9ub3Rvbmlj
ID0gdHJ1ZTsKQEAgLTQ2Myw3ICs0NTEsNyBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6
YWRqdXN0R2x5cGhzCiAKICAgICAgICAgICAgIGlmIChjaCA9PSAnXHQnICYmIG1fcnVuLmFsbG93
VGFicygpKSB7CiAgICAgICAgICAgICAgICAgZmxvYXQgdGFiV2lkdGggPSBtX2ZvbnQudGFiV2lk
dGgoKmZvbnREYXRhKTsKLSAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoID0gdGFiV2lkdGgg
LSBmbW9kZihtX3J1bi54UG9zKCkgKyBtX3RvdGFsV2lkdGggKyB3aWR0aFNpbmNlTGFzdFJvdW5k
aW5nLCB0YWJXaWR0aCk7CisgICAgICAgICAgICAgICAgYWR2YW5jZS53aWR0aCA9IHRhYldpZHRo
IC0gZm1vZGYobV9ydW4ueFBvcygpICsgbV90b3RhbFdpZHRoICsgd2lkdGhTaW5jZUxhc3RDb21t
aXQsIHRhYldpZHRoKTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoY2ggPT0gemVyb1dpZHRoU3Bh
Y2UgfHwgKEZvbnQ6OnRyZWF0QXNaZXJvV2lkdGhTcGFjZShjaCkgJiYgIXRyZWF0QXNTcGFjZSkp
IHsKICAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoID0gMDsKICAgICAgICAgICAgICAgICBn
bHlwaCA9IGZvbnREYXRhLT5zcGFjZUdseXBoKCk7CkBAIC00NzUsMTMgKzQ2Myw2IEBAIHZvaWQg
Q29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHMKIAogICAgICAgICAgICAgYWR2YW5j
ZS53aWR0aCArPSBmb250RGF0YS0+c3ludGhldGljQm9sZE9mZnNldCgpOwogCi0gICAgICAgICAg
ICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlzIHdoZW4gYXBwbHlpbmcgd29y
ZCByb3VuZGluZy4KLSAgICAgICAgICAgIC8vIEZpcnN0LCB3ZSByb3VuZCBzcGFjZXMgdG8gYW4g
YWRqdXN0ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAgICAgLy8gU2Vjb25kLCBpbiBm
aXhlZC1waXRjaCBmb250cyB3ZSBlbnN1cmUgdGhhdCBhbGwgZ2x5cGhzIHRoYXQKLSAgICAgICAg
ICAgIC8vIG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgc3BhY2UgZ2x5cGggaGF2ZSB0aGUgc2FtZSB3
aWR0aCBhcyB0aGUgc3BhY2UgZ2x5cGguCi0gICAgICAgICAgICBpZiAocm91bmRlZEFkdmFuY2VX
aWR0aCA9PSByb3VuZGVkU3BhY2VXaWR0aCAmJiAoZm9udERhdGEtPnBpdGNoKCkgPT0gRml4ZWRQ
aXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgpKSAmJiBtX3J1bi5hcHBseVdv
cmRSb3VuZGluZygpKQotICAgICAgICAgICAgICAgIGFkdmFuY2Uud2lkdGggPSBmb250RGF0YS0+
YWRqdXN0ZWRTcGFjZVdpZHRoKCk7Ci0KICAgICAgICAgICAgIGlmIChoYXNFeHRyYVNwYWNpbmcp
IHsKICAgICAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBhIGdseXBoIHdpdGggYW4gYWR2YW5jZSwg
Z28gYWhlYWQgYW5kIGFkZCBpbiBsZXR0ZXItc3BhY2luZy4KICAgICAgICAgICAgICAgICAvLyBU
aGF0IHdheSB3ZSB3ZWVkIG91dCB6ZXJvIHdpZHRoIGx1cmtlcnMuICBUaGlzIGJlaGF2aW9yIG1h
dGNoZXMgdGhlIGZhc3QgdGV4dCBjb2RlIHBhdGguCkBAIC00OTYsMTMgKzQ3NywxMyBAQCB2b2lk
IENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoIXRyZWF0QXNTcGFjZSAmJiAhbV9hZnRlckV4cGFuc2lvbikgewogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIFRha2UgdGhlIGV4cGFuc2lvbiBvcHBvcnR1bml0eSBiZWZv
cmUgdGhpcyBpZGVvZ3JhcGguCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9leHBhbnNp
b24gLT0gbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgZXhwYW5zaW9uID0gcm91bmRmKHByZXZpb3VzRXhwYW5zaW9uKSAtIHJvdW5kZiht
X2V4cGFuc2lvbik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgZXhwYW5zaW9u
ID0gcHJldmlvdXNFeHBhbnNpb24gLSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBtX3RvdGFsV2lkdGggKz0gZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG1fYWRqdXN0ZWRBZHZhbmNlcy5sYXN0KCkud2lkdGggKz0gZXhwYW5zaW9uOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzRXhwYW5zaW9uID0gbV9leHBhbnNpb247
CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBtX2V4
cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAgICAgICAgICAgICAg
ICAgICAgYWR2YW5jZS53aWR0aCArPSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRm
KG1fZXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGFkdmFuY2Uud2lkdGggKz0g
cHJldmlvdXNFeHBhbnNpb24gLSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgICAg
IG1fYWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UKICAg
ICAgICAgICAgICAgICAgICAgICAgIG1fYWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKQEAgLTUxNCwz
MyArNDk1LDcgQEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBocwogICAg
ICAgICAgICAgICAgICAgICBtX2FmdGVyRXhwYW5zaW9uID0gZmFsc2U7CiAgICAgICAgICAgICB9
CiAKLSAgICAgICAgICAgIC8vIERlYWwgd2l0aCB0aGUgZmxvYXQvaW50ZWdlciBpbXBlZGFuY2Ug
bWlzbWF0Y2ggYmV0d2VlbiBDRyBhbmQgV2ViQ29yZS4gIldvcmRzIiAoY2hhcmFjdGVycyAKLSAg
ICAgICAgICAgIC8vIGZvbGxvd2VkIGJ5IGEgY2hhcmFjdGVyIGRlZmluZWQgYnkgaXNSb3VuZGlu
Z0hhY2tDaGFyYWN0ZXIoKSkgYXJlIGFsd2F5cyBhbiBpbnRlZ2VyIHdpZHRoLgotICAgICAgICAg
ICAgLy8gV2UgYWRqdXN0IHRoZSB3aWR0aCBvZiB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgYSAid29y
ZCIgdG8gZW5zdXJlIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgICAgICAvLyBGb3JjZSBjaGFy
YWN0ZXJzIHRoYXQgYXJlIHVzZWQgdG8gZGV0ZXJtaW5lIHdvcmQgYm91bmRhcmllcyBmb3IgdGhl
IHJvdW5kaW5nIGhhY2sKLSAgICAgICAgICAgIC8vIHRvIGJlIGludGVnZXIgd2lkdGgsIHNvIHRo
ZSBmb2xsb3dpbmcgd29yZHMgd2lsbCBzdGFydCBvbiBhbiBpbnRlZ2VyIGJvdW5kYXJ5LgotICAg
ICAgICAgICAgaWYgKG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkgJiYgRm9udDo6aXNSb3VuZGlu
Z0hhY2tDaGFyYWN0ZXIoY2gpKQotICAgICAgICAgICAgICAgIGFkdmFuY2Uud2lkdGggPSBjZWls
Q0dGbG9hdChhZHZhbmNlLndpZHRoKTsKLQotICAgICAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlm
IHRoZSBuZXh0IGNoYXJhY3RlciBpcyBhICJyb3VuZGluZyBoYWNrIGNoYXJhY3RlciIsIGlmIHNv
LCBhZGp1c3QgdGhlCi0gICAgICAgICAgICAvLyB3aWR0aCBzbyB0aGF0IHRoZSB0b3RhbCBydW4g
d2lkdGggd2lsbCBiZSBvbiBhbiBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICAgICAgaWYgKCht
X3J1bi5hcHBseVdvcmRSb3VuZGluZygpICYmICFsYXN0R2x5cGggJiYgRm9udDo6aXNSb3VuZGlu
Z0hhY2tDaGFyYWN0ZXIobmV4dENoKSkgfHwgKG1fcnVuLmFwcGx5UnVuUm91bmRpbmcoKSAmJiBs
YXN0R2x5cGgpKSB7Ci0gICAgICAgICAgICAgICAgQ0dGbG9hdCB0b3RhbFdpZHRoID0gd2lkdGhT
aW5jZUxhc3RSb3VuZGluZyArIGFkdmFuY2Uud2lkdGg7Ci0gICAgICAgICAgICAgICAgd2lkdGhT
aW5jZUxhc3RSb3VuZGluZyA9IGNlaWxDR0Zsb2F0KHRvdGFsV2lkdGgpOwotICAgICAgICAgICAg
ICAgIENHRmxvYXQgZXh0cmFXaWR0aCA9IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgLSB0b3RhbFdp
ZHRoOwotICAgICAgICAgICAgICAgIGlmIChtX3J1bi5sdHIoKSkKLSAgICAgICAgICAgICAgICAg
ICAgYWR2YW5jZS53aWR0aCArPSBleHRyYVdpZHRoOwotICAgICAgICAgICAgICAgIGVsc2Ugewot
ICAgICAgICAgICAgICAgICAgICBpZiAobV9sYXN0Um91bmRpbmdHbHlwaCkKLSAgICAgICAgICAg
ICAgICAgICAgICAgIG1fYWRqdXN0ZWRBZHZhbmNlc1ttX2xhc3RSb3VuZGluZ0dseXBoIC0gMV0u
d2lkdGggKz0gZXh0cmFXaWR0aDsKLSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgICAgICAgICAgICAgbV9maW5hbFJvdW5kaW5nV2lkdGggPSBleHRyYVdpZHRoOwotICAgICAg
ICAgICAgICAgICAgICBtX2xhc3RSb3VuZGluZ0dseXBoID0gbV9hZGp1c3RlZEFkdmFuY2VzLnNp
emUoKSArIDE7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIG1fdG90YWxXaWR0
aCArPSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nOwotICAgICAgICAgICAgICAgIHdpZHRoU2luY2VM
YXN0Um91bmRpbmcgPSAwOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgd2lk
dGhTaW5jZUxhc3RSb3VuZGluZyArPSBhZHZhbmNlLndpZHRoOworICAgICAgICAgICAgd2lkdGhT
aW5jZUxhc3RDb21taXQgKz0gYWR2YW5jZS53aWR0aDsKIAogICAgICAgICAgICAgLy8gRklYTUU6
IENvbWJpbmluZyBtYXJrcyBzaG91bGQgcmVjZWl2ZSBhIHRleHQgZW1waGFzaXMgbWFyayBpZiB0
aGV5IGFyZSBjb21iaW5lIHdpdGggYSBzcGFjZS4KICAgICAgICAgICAgIGlmIChtX2ZvclRleHRF
bXBoYXNpcyAmJiAoIUZvbnQ6OmNhblJlY2VpdmVUZXh0RW1waGFzaXMoY2gpIHx8IChVX0dFVF9H
Q19NQVNLKGNoKSAmIFVfR0NfTV9NQVNLKSkpCkBAIC01NjQsNyArNTE5LDcgQEAgdm9pZCBDb21w
bGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBocwogICAgICAgICBpZiAoIWlzTW9ub3Rvbmlj
KQogICAgICAgICAgICAgY29tcGxleFRleHRSdW4uc2V0SXNOb25Nb25vdG9uaWMoKTsKICAgICB9
Ci0gICAgbV90b3RhbFdpZHRoICs9IHdpZHRoU2luY2VMYXN0Um91bmRpbmc7CisgICAgbV90b3Rh
bFdpZHRoICs9IHdpZHRoU2luY2VMYXN0Q29tbWl0OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRl
eHRDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5oCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtNjAsOSArNjAsNiBAQCBwdWJsaWM6CiAKICAgICBmbG9hdCB0
b3RhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV90b3RhbFdpZHRoOyB9CiAKLSAgICAvLyBFeHRy
YSB3aWR0aCB0byB0aGUgbGVmdCBvZiB0aGUgbGVmdG1vc3QgZ2x5cGguCi0gICAgZmxvYXQgZmlu
YWxSb3VuZGluZ1dpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9maW5hbFJvdW5kaW5nV2lkdGg7IH0K
LQogICAgIGZsb2F0IG1pbkdseXBoQm91bmRpbmdCb3hYKCkgY29uc3QgeyByZXR1cm4gbV9taW5H
bHlwaEJvdW5kaW5nQm94WDsgfQogICAgIGZsb2F0IG1heEdseXBoQm91bmRpbmdCb3hYKCkgY29u
c3QgeyByZXR1cm4gbV9tYXhHbHlwaEJvdW5kaW5nQm94WDsgfQogICAgIGZsb2F0IG1pbkdseXBo
Qm91bmRpbmdCb3hZKCkgY29uc3QgeyByZXR1cm4gbV9taW5HbHlwaEJvdW5kaW5nQm94WTsgfQpA
QCAtMTc2LDcgKzE3Myw2IEBAIHByaXZhdGU6CiAgICAgc2l6ZV90IG1fY3VycmVudFJ1bjsKICAg
ICB1bnNpZ25lZCBtX2dseXBoSW5DdXJyZW50UnVuOwogICAgIHVuc2lnbmVkIG1fY2hhcmFjdGVy
SW5DdXJyZW50R2x5cGg7Ci0gICAgZmxvYXQgbV9maW5hbFJvdW5kaW5nV2lkdGg7CiAgICAgZmxv
YXQgbV9leHBhbnNpb247CiAgICAgZmxvYXQgbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKICAg
ICBib29sIG1fYWZ0ZXJFeHBhbnNpb247CkBAIC0xODcsOCArMTgzLDYgQEAgcHJpdmF0ZToKICAg
ICBmbG9hdCBtX21heEdseXBoQm91bmRpbmdCb3hYOwogICAgIGZsb2F0IG1fbWluR2x5cGhCb3Vu
ZGluZ0JveFk7CiAgICAgZmxvYXQgbV9tYXhHbHlwaEJvdW5kaW5nQm94WTsKLSAgICAKLSAgICB1
bnNpZ25lZCBtX2xhc3RSb3VuZGluZ0dseXBoOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4
VGV4dE1hYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTcxLDcgKzcxLDcgQEAgZmxvYXQgRm9udDo6Z2V0R2x5cGhzQW5kQWR2
YW5jZXNGb3JDb21wbAogICAgIGZsb2F0IGFmdGVyV2lkdGggPSBjb250cm9sbGVyLnJ1bldpZHRo
U29GYXIoKTsKIAogICAgIGlmIChydW4ucnRsKCkpIHsKLSAgICAgICAgaW5pdGlhbEFkdmFuY2Ug
PSBjb250cm9sbGVyLnRvdGFsV2lkdGgoKSArIGNvbnRyb2xsZXIuZmluYWxSb3VuZGluZ1dpZHRo
KCkgLSBhZnRlcldpZHRoOworICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGNvbnRyb2xsZXIudG90
YWxXaWR0aCgpIC0gYWZ0ZXJXaWR0aDsKICAgICAgICAgZm9yIChpbnQgaSA9IDAsIGVuZCA9IGds
eXBoQnVmZmVyLnNpemUoKSAtIDE7IGkgPCBnbHlwaEJ1ZmZlci5zaXplKCkgLyAyOyArK2ksIC0t
ZW5kKQogICAgICAgICAgICAgZ2x5cGhCdWZmZXIuc3dhcChpLCBlbmQpOwogICAgIH0gZWxzZQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4
dE1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvR3JhcGhpY3NDb250ZXh0TWFjLm1tCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHRNYWMubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTExMiwxNCArMTEyLDE0IEBAIHN0YXRpYyBOU0NvbG9yKiBjcmVhdGVQYXR0ZXJu
Q29sb3IoTlNTdHIKIH0KIAogLy8gV2ViS2l0IG9uIE1hYyBpcyBhIHN0YW5kYXJkIHBsYXRmb3Jt
IGNvbXBvbmVudCwgc28gaXQgbXVzdCB1c2UgdGhlIHN0YW5kYXJkIHBsYXRmb3JtIGFydHdvcmsg
Zm9yIHVuZGVybGluZS4KLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVj
a2luZyhjb25zdCBJbnRQb2ludCYgcG9pbnQsIGludCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0
eWxlIHN0eWxlKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5n
KGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBmbG9hdCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0
eWxlIHN0eWxlKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVy
bjsKICAgICAgICAgCiAgICAgLy8gVGhlc2UgYXJlIHRoZSBzYW1lIGZvciBtaXNzcGVsbGluZyBv
ciBiYWQgZ3JhbW1hci4KICAgICBpbnQgcGF0dGVybkhlaWdodCA9IGNNaXNzcGVsbGluZ0xpbmVU
aGlja25lc3M7Ci0gICAgaW50IHBhdHRlcm5XaWR0aCA9IGNNaXNzcGVsbGluZ0xpbmVQYXR0ZXJu
V2lkdGg7CisgICAgZmxvYXQgcGF0dGVybldpZHRoID0gY01pc3NwZWxsaW5nTGluZVBhdHRlcm5X
aWR0aDsKIAogICAgIGJvb2wgdXNpbmdEb3Q7CiAgICAgTlNDb2xvciAqcGF0dGVybkNvbG9yOwpA
QCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRD
aGUKICAgICAvLyBzcGFjZSBiZXR3ZWVuIGFkamFjZW50IG1pc3NwZWxsZWQgd29yZHMgd2FzIHVu
ZGVybGluZWQuCiAgICAgaWYgKHVzaW5nRG90KSB7CiAgICAgICAgIC8vIGFsbG93IHNsaWdodGx5
IG1vcmUgY29uc2lkZXJpbmcgdGhhdCB0aGUgcGF0dGVybiBlbmRzIHdpdGggYSB0cmFuc3BhcmVu
dCBwaXhlbAotICAgICAgICBpbnQgd2lkdGhNb2QgPSB3aWR0aCAlIHBhdHRlcm5XaWR0aDsKKyAg
ICAgICAgZmxvYXQgd2lkdGhNb2QgPSBmbW9kZih3aWR0aCwgcGF0dGVybldpZHRoKTsKICAgICAg
ICAgaWYgKHBhdHRlcm5XaWR0aCAtIHdpZHRoTW9kID4gY01pc3NwZWxsaW5nTGluZVBhdHRlcm5H
YXBXaWR0aCkKICAgICAgICAgICAgIHdpZHRoIC09IHdpZHRoTW9kOwogICAgIH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGlj
c0NvbnRleHRRdC5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04
NDYsMTMgKzg0NiwxMyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0ZvY3VzUmluZyhjb25z
CiAgICAgZHJhd0ZvY3VzUmluZ0ZvclBhdGgobV9kYXRhLT5wKCksIHBhdGgsIGNvbG9yLCBtX2Rh
dGEtPmFudGlBbGlhc2luZ0ZvclJlY3RzQW5kTGluZXMpOwogfQogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEludFBvaW50JiBvcmlnaW4sIGludCB3aWR0aCwg
Ym9vbCkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgRmxvYXRQ
b2ludCYgb3JpZ2luLCBmbG9hdCB3aWR0aCwgYm9vbCkKIHsKICAgICBpZiAocGFpbnRpbmdEaXNh
YmxlZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBJbnRQb2ludCBzdGFydFBvaW50ID0gb3Jp
Z2luOwotICAgIEludFBvaW50IGVuZFBvaW50ID0gb3JpZ2luICsgSW50U2l6ZSh3aWR0aCwgMCk7
CisgICAgRmxvYXRQb2ludCBzdGFydFBvaW50ID0gb3JpZ2luOworICAgIEZsb2F0UG9pbnQgZW5k
UG9pbnQgPSBvcmlnaW4gKyBGbG9hdFNpemUod2lkdGgsIDApOwogCiAgICAgLy8gSWYgcGFpbnRl
bmdpbmUgdHlwZSBpcyBYMTEgdG8gYXZvaWQgYXJ0aWZhY3RzCiAgICAgLy8gbGlrZSBidWcgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyMjQ4CkBAIC04NzIsMTAgKzg3
MiwxMSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvCiAgICAgfQog
I2VuZGlmIC8vIGRlZmluZWQoUV9XU19YMTEpCiAKLSAgICBkcmF3TGluZShzdGFydFBvaW50LCBl
bmRQb2ludCk7CisgICAgLy8gRklYTUU6IExvc3Mgb2YgcHJlY2lzaW9uIGhlcmUuIE1pZ2h0IGNv
bnNpZGVyIHJvdW5kaW5nLgorICAgIGRyYXdMaW5lKEludFBvaW50KHN0YXJ0UG9pbnQueCgpLCBz
dGFydFBvaW50LnkoKSksIEludFBvaW50KGVuZFBvaW50LngoKSwgZW5kUG9pbnQueSgpKSk7CiB9
CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBJ
bnRQb2ludCYsIGludCwgVGV4dENoZWNraW5nTGluZVN0eWxlKQordm9pZCBHcmFwaGljc0NvbnRl
eHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEZsb2F0UG9pbnQmLCBmbG9hdCwgVGV4
dENoZWNraW5nTGluZVN0eWxlKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAg
ICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1Np
bXBsZUZvbnREYXRhUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02MSw3ICs2MSw2IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRm
b3JtR2x5cGhJbml0KCkKICAgICBpZiAoIW1fcGxhdGZvcm1EYXRhLnNpemUoKSkKICAgICAgICAg
cmV0dXJuOwogICAgIG1fc3BhY2VHbHlwaCA9IDA7Ci0gICAgbV9hZGp1c3RlZFNwYWNlV2lkdGgg
PSBtX3NwYWNlV2lkdGg7CiAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKICAgICBtX21pc3NpbmdHbHlw
aERhdGEuZm9udERhdGEgPSB0aGlzOwogICAgIG1fbWlzc2luZ0dseXBoRGF0YS5nbHlwaCA9IDA7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29u
dGV4dFNraWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3NraWEvR3JhcGhpY3NDb250ZXh0U2tpYS5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lhLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTk1LDcgKzU5NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
OjpkcmF3TGluZShjb25zdCBJbnQKICAgICBwbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCktPmRy
YXdQb2ludHMoU2tDYW52YXM6OmtMaW5lc19Qb2ludE1vZGUsIDIsIHB0cywgcGFpbnQpOwogfQog
Ci12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50
UG9pbnQmIHB0LCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSBzdHlsZSkKK3ZvaWQg
R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBGbG9hdFBvaW50
JiBwdCwgZmxvYXQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSBzdHlsZSkKIHsKICAgICBp
ZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC02NDQsOCArNjQ0LDgg
QEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZQogICAgIH0KIAogICAg
IC8vIE9mZnNldCBpdCB2ZXJ0aWNhbGx5IGJ5IDEgc28gdGhhdCB0aGVyZSdzIHNvbWUgc3BhY2Ug
dW5kZXIgdGhlIHRleHQuCi0gICAgU2tTY2FsYXIgb3JpZ2luWCA9IFNrSW50VG9TY2FsYXIocHQu
eCgpKTsKLSAgICBTa1NjYWxhciBvcmlnaW5ZID0gU2tJbnRUb1NjYWxhcihwdC55KCkpICsgMTsK
KyAgICBTa1NjYWxhciBvcmlnaW5YID0gV2ViQ29yZUZsb2F0VG9Ta1NjYWxhcihwdC54KCkpOwor
ICAgIFNrU2NhbGFyIG9yaWdpblkgPSBXZWJDb3JlRmxvYXRUb1NrU2NhbGFyKHB0LnkoKSkgKyAx
OwogCiAgICAgLy8gTWFrZSBhIHNoYWRlciBmb3IgdGhlIGJpdG1hcCB3aXRoIGFuIG9yaWdpbiBv
ZiB0aGUgYm94IHdlJ2xsIGRyYXcuIFRoaXMKICAgICAvLyBzaGFkZXIgaXMgcmVmY291bnRlZCBh
bmQgd2lsbCBoYXZlIGFuIGluaXRpYWwgcmVmY291bnQgb2YgMS4KQEAgLTY2NywxMyArNjY3LDEz
IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGUKICAgICBTa1JlY3Qg
cmVjdDsKICAgICByZWN0LnNldChvcmlnaW5YLAogICAgICAgICAgICAgIG9yaWdpblksCi0gICAg
ICAgICAgICAgb3JpZ2luWCArIFNrSW50VG9TY2FsYXIod2lkdGgpLAorICAgICAgICAgICAgIG9y
aWdpblggKyBXZWJDb3JlRmxvYXRUb1NrU2NhbGFyKHdpZHRoKSwKICAgICAgICAgICAgICBvcmln
aW5ZICsgU2tJbnRUb1NjYWxhcihtaXNzcGVsbEJpdG1hcC0+aGVpZ2h0KCkpKTsKICAgICBwbGF0
Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCktPmRyYXdSZWN0KHJlY3QsIHBhaW50KTsKIH0KIAotdm9p
ZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjb25zdCBJbnRQb2ludCYgcHQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKK3ZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgRmxvYXRQb2ludCYgcHQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0IHdpZHRoLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHByaW50aW5nKQogewogICAgIGlmIChw
YWludGluZ0Rpc2FibGVkKCkpCkBAIC02ODYsOSArNjg2LDkgQEAgdm9pZCBHcmFwaGljc0NvbnRl
eHQ6OmRyYXdMaW5lRm9yVGV4dChjbwogCiAgICAgaW50IHRoaWNrbmVzcyA9IFNrTWF4MzIoc3Rh
dGljX2Nhc3Q8aW50PihzdHJva2VUaGlja25lc3MoKSksIDEpOwogICAgIFNrUmVjdCByOwotICAg
IHIuZkxlZnQgPSBTa0ludFRvU2NhbGFyKHB0LngoKSk7Ci0gICAgci5mVG9wID0gU2tJbnRUb1Nj
YWxhcihwdC55KCkpOwotICAgIHIuZlJpZ2h0ID0gci5mTGVmdCArIFNrSW50VG9TY2FsYXIod2lk
dGgpOworICAgIHIuZkxlZnQgPSBXZWJDb3JlRmxvYXRUb1NrU2NhbGFyKHB0LngoKSk7CisgICAg
ci5mVG9wID0gV2ViQ29yZUZsb2F0VG9Ta1NjYWxhcihwdC55KCkpOworICAgIHIuZlJpZ2h0ID0g
ci5mTGVmdCArIFdlYkNvcmVGbG9hdFRvU2tTY2FsYXIod2lkdGgpOwogICAgIHIuZkJvdHRvbSA9
IHIuZlRvcCArIFNrSW50VG9TY2FsYXIodGhpY2tuZXNzKTsKIAogICAgIFNrUGFpbnQgcGFpbnQ7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250
ZXh0Q0dXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9HcmFwaGljc0NvbnRleHRDR1dpbi5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dENHV2luLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTg0LDcgKzE4NCw3IEBAIHN0YXRpYyBjb25zdCBDb2xvciYg
Z3JhbW1hclBhdHRlcm5Db2xvcigKICAgICByZXR1cm4gZ3JhbW1hckNvbG9yOwogfQogCi12b2lk
IEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQm
IHBvaW50LCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSBzdHlsZSkKK3ZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBGbG9hdFBvaW50JiBw
b2ludCwgZmxvYXQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSBzdHlsZSkKIHsKICAgICBp
ZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC0yMDQsNyArMjA0LDcg
QEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZQogICAgIC8vIGJvdW5k
cyAoZS5nLiB3aGVuIGF0IHRoZSBlZGdlIG9mIGEgdmlldykgYW5kIGNvdWxkIG1ha2UgaXQgYXBw
ZWFyIHRoYXQgdGhlCiAgICAgLy8gc3BhY2UgYmV0d2VlbiBhZGphY2VudCBtaXNzcGVsbGVkIHdv
cmRzIHdhcyB1bmRlcmxpbmVkLgogICAgIC8vIGFsbG93IHNsaWdodGx5IG1vcmUgY29uc2lkZXJp
bmcgdGhhdCB0aGUgcGF0dGVybiBlbmRzIHdpdGggYSB0cmFuc3BhcmVudCBwaXhlbAotICAgIGlu
dCB3aWR0aE1vZCA9IHdpZHRoICUgcGF0dGVybldpZHRoOworICAgIGZsb2F0IHdpZHRoTW9kID0g
Zm1vZGYod2lkdGgsIHBhdHRlcm5XaWR0aCk7CiAgICAgaWYgKHBhdHRlcm5XaWR0aCAtIHdpZHRo
TW9kID4gY01pc3NwZWxsaW5nTGluZVBhdHRlcm5HYXBXaWR0aCkKICAgICAgICAgd2lkdGggLT0g
d2lkdGhNb2Q7CiAgICAgICAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9VbmlzY3JpYmVDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vVW5pc2NyaWJlQ29udHJvbGxlci5jcHAJKHJldmlzaW9u
IDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1VuaXNjcmli
ZUNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjEsMTggKzI2MSwxMyBAQCBib29s
IFVuaXNjcmliZUNvbnRyb2xsZXI6OnNoYXBlQW5kUGxhY2VJCiAgICAgICAgIHJldHVybiB0cnVl
OwogCiAgICAgLy8gQ29udmVydCBhbGwgY2hhcnMgdGhhdCBzaG91bGQgYmUgdHJlYXRlZCBhcyBz
cGFjZXMgdG8gdXNlIHRoZSBzcGFjZSBnbHlwaC4KLSAgICAvLyBXZSBhbHNvIGNyZWF0ZSBhIG1h
cCB0aGF0IGFsbG93cyB1cyB0byBxdWlja2x5IGdvIGZyb20gc3BhY2UgZ2x5cGhzIG9yIHJvdW5k
aW5nCi0gICAgLy8gaGFjayBnbHlwaHMgYmFjayB0byB0aGVpciBjb3JyZXNwb25kaW5nIGNoYXJh
Y3RlcnMuCisgICAgLy8gV2UgYWxzbyBjcmVhdGUgYSBtYXAgdGhhdCBhbGxvd3MgdXMgdG8gcXVp
Y2tseSBnbyBmcm9tIHNwYWNlIGdseXBocyBiYWNrIHRvIHRoZWlyIGNvcnJlc3BvbmRpbmcgY2hh
cmFjdGVycy4KICAgICBWZWN0b3I8aW50PiBzcGFjZUNoYXJhY3RlcnMoZ2x5cGhzLnNpemUoKSk7
CiAgICAgc3BhY2VDaGFyYWN0ZXJzLmZpbGwoLTEpOwotICAgIFZlY3RvcjxpbnQ+IHJvdW5kaW5n
SGFja0NoYXJhY3RlcnMoZ2x5cGhzLnNpemUoKSk7Ci0gICAgcm91bmRpbmdIYWNrQ2hhcmFjdGVy
cy5maWxsKC0xKTsKLSAgICBWZWN0b3I8aW50PiByb3VuZGluZ0hhY2tXb3JkQm91bmRhcmllcyhn
bHlwaHMuc2l6ZSgpKTsKLSAgICByb3VuZGluZ0hhY2tXb3JkQm91bmRhcmllcy5maWxsKC0xKTsK
IAogICAgIGNvbnN0IGZsb2F0IGNMb2dpY2FsU2NhbGUgPSBmb250RGF0YS0+cGxhdGZvcm1EYXRh
KCkudXNlR0RJKCkgPyAxLjBmIDogMzIuMGY7CiAgICAgdW5zaWduZWQgbG9naWNhbFNwYWNlV2lk
dGggPSBmb250RGF0YS0+c3BhY2VXaWR0aCgpICogY0xvZ2ljYWxTY2FsZTsKLSAgICBmbG9hdCBy
b3VuZGVkU3BhY2VXaWR0aCA9IHJvdW5kZihmb250RGF0YS0+c3BhY2VXaWR0aCgpKTsKKyAgICBm
bG9hdCBzcGFjZVdpZHRoID0gZm9udERhdGEtPnNwYWNlV2lkdGgoKTsKIAogICAgIGZvciAoaW50
IGsgPSAwOyBrIDwgbGVuOyBrKyspIHsKICAgICAgICAgVUNoYXIgY2ggPSAqKHN0ciArIGspOwpA
QCAtMjg2LDIxICsyODEsNiBAQCBib29sIFVuaXNjcmliZUNvbnRyb2xsZXI6OnNoYXBlQW5kUGxh
Y2VJCiAgICAgICAgICAgICBpZiAodHJlYXRBc1NwYWNlKQogICAgICAgICAgICAgICAgIHNwYWNl
Q2hhcmFjdGVyc1tjbHVzdGVyc1trXV0gPSBtX2N1cnJlbnRDaGFyYWN0ZXIgKyBrICsgaXRlbS5p
Q2hhclBvczsKICAgICAgICAgfQotCi0gICAgICAgIGlmIChGb250Ojppc1JvdW5kaW5nSGFja0No
YXJhY3RlcihjaCkpCi0gICAgICAgICAgICByb3VuZGluZ0hhY2tDaGFyYWN0ZXJzW2NsdXN0ZXJz
W2tdXSA9IG1fY3VycmVudENoYXJhY3RlciArIGsgKyBpdGVtLmlDaGFyUG9zOwotCi0gICAgICAg
IGludCBib3VuZGFyeSA9IGsgKyBtX2N1cnJlbnRDaGFyYWN0ZXIgKyBpdGVtLmlDaGFyUG9zOwot
ICAgICAgICBpZiAoYm91bmRhcnkgPCBtX3J1bi5sZW5ndGgoKSkgewotICAgICAgICAgICAgLy8g
V2hlbiBhdCB0aGUgbGFzdCBjaGFyYWN0ZXIgaW4gdGhlIHN0ciwgZG9uJ3QgbG9vayBvbmUgcGFz
dCB0aGUgZW5kIGZvciBhIHJvdW5kaW5nIGhhY2sgY2hhcmFjdGVyLgotICAgICAgICAgICAgLy8g
SW5zdGVhZCBsb29rIGFoZWFkIHRvIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgbmV4dCBpdGVtLCBp
ZiB0aGVyZSBpcyBhIG5leHQgb25lLiAKLSAgICAgICAgICAgIGlmIChrICsgMSA9PSBsZW4pIHsK
LSAgICAgICAgICAgICAgICBpZiAoaSArIDIgPCBtX2l0ZW1zLnNpemUoKSAvLyBDaGVjayBmb3Ig
YXQgbGVhc3QgMiBpdGVtcyByZW1haW5pbmcuIFRoZSBsYXN0IGl0ZW0gaXMgYSB0ZXJtaW5hdGlu
ZyBpdGVtIGNvbnRhaW5pbmcgbm8gY2hhcmFjdGVycy4KLSAgICAgICAgICAgICAgICAgICAgJiYg
Rm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoKihjcCArIG1faXRlbXNbaSArIDFdLmlDaGFy
UG9zKSkpCi0gICAgICAgICAgICAgICAgICAgIHJvdW5kaW5nSGFja1dvcmRCb3VuZGFyaWVzW2Ns
dXN0ZXJzW2tdXSA9IGJvdW5kYXJ5OwotICAgICAgICAgICAgfSBlbHNlIGlmIChGb250Ojppc1Jv
dW5kaW5nSGFja0NoYXJhY3RlcigqKHN0ciArIGsgKyAxKSkpCi0gICAgICAgICAgICAgICAgcm91
bmRpbmdIYWNrV29yZEJvdW5kYXJpZXNbY2x1c3RlcnNba11dID0gYm91bmRhcnk7Ci0gICAgICAg
IH0KICAgICB9CiAKICAgICAvLyBQb3B1bGF0ZSBvdXIgZ2x5cGggYnVmZmVyIHdpdGggdGhpcyBp
bmZvcm1hdGlvbi4KQEAgLTMxNCwyNCArMjk0LDggQEAgYm9vbCBVbmlzY3JpYmVDb250cm9sbGVy
OjpzaGFwZUFuZFBsYWNlSQogICAgICAgICBmbG9hdCBvZmZzZXRYID0gb2Zmc2V0c1trXS5kdSAv
IGNMb2dpY2FsU2NhbGU7CiAgICAgICAgIGZsb2F0IG9mZnNldFkgPSBvZmZzZXRzW2tdLmR2IC8g
Y0xvZ2ljYWxTY2FsZTsKIAotICAgICAgICAvLyBNYXRjaCBBcHBLaXQncyBydWxlcyBmb3IgdGhl
IGludGVnZXIgdnMuIG5vbi1pbnRlZ2VyIHJlbmRlcmluZyBtb2Rlcy4KLSAgICAgICAgZmxvYXQg
cm91bmRlZEFkdmFuY2UgPSByb3VuZGYoYWR2YW5jZSk7Ci0gICAgICAgIGlmICghbV9mb250Lmlz
UHJpbnRlckZvbnQoKSAmJiAhZm9udERhdGEtPmlzU3lzdGVtRm9udCgpKSB7Ci0gICAgICAgICAg
ICBhZHZhbmNlID0gcm91bmRlZEFkdmFuY2U7Ci0gICAgICAgICAgICBvZmZzZXRYID0gcm91bmRm
KG9mZnNldFgpOwotICAgICAgICAgICAgb2Zmc2V0WSA9IHJvdW5kZihvZmZzZXRZKTsKLSAgICAg
ICAgfQotCiAgICAgICAgIGFkdmFuY2UgKz0gZm9udERhdGEtPnN5bnRoZXRpY0JvbGRPZmZzZXQo
KTsKIAotICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlzIHdoZW4g
YXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAgLy8gRmlyc3QsIHdlIHJvdW5kIHNwYWNl
cyB0byBhbiBhZGp1c3RlZCB3aWR0aCBpbiBhbGwgZm9udHMuCi0gICAgICAgIC8vIFNlY29uZCwg
aW4gZml4ZWQtcGl0Y2ggZm9udHMgd2UgZW5zdXJlIHRoYXQgYWxsIGdseXBocyB0aGF0Ci0gICAg
ICAgIC8vIG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgc3BhY2UgZ2x5cGggaGF2ZSB0aGUgc2FtZSB3
aWR0aCBhcyB0aGUgc3BhY2UgZ2x5cGguCi0gICAgICAgIGlmIChyb3VuZGVkQWR2YW5jZSA9PSBy
b3VuZGVkU3BhY2VXaWR0aCAmJiAoZm9udERhdGEtPnBpdGNoKCkgPT0gRml4ZWRQaXRjaCB8fCBn
bHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgpKSAmJgotICAgICAgICAgICAgbV9ydW4uYXBw
bHlXb3JkUm91bmRpbmcoKSkKLSAgICAgICAgICAgIGFkdmFuY2UgPSBmb250RGF0YS0+YWRqdXN0
ZWRTcGFjZVdpZHRoKCk7Ci0KICAgICAgICAgaWYgKGhhc0V4dHJhU3BhY2luZykgewogICAgICAg
ICAgICAgLy8gSWYgd2UncmUgYSBnbHlwaCB3aXRoIGFuIGFkdmFuY2UsIGdvIGFoZWFkIGFuZCBh
ZGQgaW4gbGV0dGVyLXNwYWNpbmcuCiAgICAgICAgICAgICAvLyBUaGF0IHdheSB3ZSB3ZWVkIG91
dCB6ZXJvIHdpZHRoIGx1cmtlcnMuICBUaGlzIGJlaGF2aW9yIG1hdGNoZXMgdGhlIGZhc3QgdGV4
dCBjb2RlIHBhdGguCkBAIC0zNTIsNyArMzE2LDcgQEAgYm9vbCBVbmlzY3JpYmVDb250cm9sbGVy
OjpzaGFwZUFuZFBsYWNlSQogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgICAgICAgICAgICAgZmxvYXQgcHJldmlvdXNQYWRkaW5nID0gbV9wYWRkaW5nOwogICAgICAg
ICAgICAgICAgICAgICAgICAgbV9wYWRkaW5nIC09IG1fcGFkUGVyU3BhY2U7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBhZHZhbmNlICs9IHJvdW5kZihwcmV2aW91c1BhZGRpbmcpIC0gcm91bmRm
KG1fcGFkZGluZyk7CisgICAgICAgICAgICAgICAgICAgICAgICBhZHZhbmNlICs9IHByZXZpb3Vz
UGFkZGluZyAtIG1fcGFkZGluZzsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIH0KIApAQCAtMzYyLDI1ICszMjYsNiBAQCBib29sIFVuaXNjcmliZUNvbnRyb2xsZXI6OnNo
YXBlQW5kUGxhY2VJCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICAvLyBEZWFs
IHdpdGggdGhlIGZsb2F0L2ludGVnZXIgaW1wZWRhbmNlIG1pc21hdGNoIGJldHdlZW4gQ0cgYW5k
IFdlYkNvcmUuICJXb3JkcyIgKGNoYXJhY3RlcnMgCi0gICAgICAgIC8vIGZvbGxvd2VkIGJ5IGEg
Y2hhcmFjdGVyIGRlZmluZWQgYnkgaXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoKSkgYXJlIGFsd2F5
cyBhbiBpbnRlZ2VyIHdpZHRoLgotICAgICAgICAvLyBXZSBhZGp1c3QgdGhlIHdpZHRoIG9mIHRo
ZSBsYXN0IGNoYXJhY3RlciBvZiBhICJ3b3JkIiB0byBlbnN1cmUgYW4gaW50ZWdlciB3aWR0aC4K
LSAgICAgICAgLy8gRm9yY2UgY2hhcmFjdGVycyB0aGF0IGFyZSB1c2VkIHRvIGRldGVybWluZSB3
b3JkIGJvdW5kYXJpZXMgZm9yIHRoZSByb3VuZGluZyBoYWNrCi0gICAgICAgIC8vIHRvIGJlIGlu
dGVnZXIgd2lkdGgsIHNvIHRoZSBmb2xsb3dpbmcgd29yZHMgd2lsbCBzdGFydCBvbiBhbiBpbnRl
Z2VyIGJvdW5kYXJ5LgotICAgICAgICBpbnQgcm91bmRpbmdIYWNrSW5kZXggPSByb3VuZGluZ0hh
Y2tDaGFyYWN0ZXJzW2tdOwotICAgICAgICBpZiAobV9ydW4uYXBwbHlXb3JkUm91bmRpbmcoKSAm
JiByb3VuZGluZ0hhY2tJbmRleCAhPSAtMSkKLSAgICAgICAgICAgIGFkdmFuY2UgPSBjZWlsZihh
ZHZhbmNlKTsKLQotICAgICAgICAvLyBDaGVjayB0byBzZWUgaWYgdGhlIG5leHQgY2hhcmFjdGVy
IGlzIGEgInJvdW5kaW5nIGhhY2sgY2hhcmFjdGVyIiwgaWYgc28sIGFkanVzdCB0aGUKLSAgICAg
ICAgLy8gd2lkdGggc28gdGhhdCB0aGUgdG90YWwgcnVuIHdpZHRoIHdpbGwgYmUgb24gYW4gaW50
ZWdlciBib3VuZGFyeS4KLSAgICAgICAgaW50IHBvc2l0aW9uID0gbV9jdXJyZW50Q2hhcmFjdGVy
ICsgbGVuOwotICAgICAgICBib29sIGxhc3RHbHlwaCA9IChrID09IGdseXBocy5zaXplKCkgLSAx
KSAmJiAobV9ydW4ucnRsKCkgPyBpID09IDAgOiBpID09IG1faXRlbXMuc2l6ZSgpIC0gMikgJiYg
KHBvc2l0aW9uID49IG1fZW5kKTsKLSAgICAgICAgaWYgKChtX3J1bi5hcHBseVdvcmRSb3VuZGlu
ZygpICYmIHJvdW5kaW5nSGFja1dvcmRCb3VuZGFyaWVzW2tdICE9IC0xKSB8fAotICAgICAgICAg
ICAgKG1fcnVuLmFwcGx5UnVuUm91bmRpbmcoKSAmJiBsYXN0R2x5cGgpKSB7IAotICAgICAgICAg
ICAgZmxvYXQgdG90YWxXaWR0aCA9IG1fcnVuV2lkdGhTb0ZhciArIGFkdmFuY2U7Ci0gICAgICAg
ICAgICBhZHZhbmNlICs9IGNlaWxmKHRvdGFsV2lkdGgpIC0gdG90YWxXaWR0aDsKLSAgICAgICAg
fQotCiAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBhZHZhbmNlOwogCiAgICAgICAgIC8vIEZJ
WE1FOiBXZSBuZWVkIHRvIHRha2UgdGhlIEdPRkZTRVRTIGZvciBjb21iaW5pbmcgZ2x5cGhzIGFu
ZCBzdG9yZSB0aGVtIGluIHRoZSBnbHlwaCBidWZmZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9GaWxlQ2hvb3Nlckd0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3RrL0ZpbGVDaG9vc2VyR3RrLmNwcAkocmV2aXNpb24gNzg0ODQpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvRmlsZUNob29zZXJHdGsuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02MCw4ICs2MCw4IEBAIFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0
aChjb24KICAgICAgICAgZ2NoYXIqIHN5c3RlbUJhc2VuYW1lID0gZ19wYXRoX2dldF9iYXNlbmFt
ZShzeXN0ZW1GaWxlbmFtZS5kYXRhKCkpOwogICAgICAgICBzdHJpbmdCeUFkb3B0aW5nRmlsZVN5
c3RlbVJlcHJlc2VudGF0aW9uKHN5c3RlbUJhc2VuYW1lLCBzdHJpbmcpOwogICAgIH0gZWxzZSBp
ZiAobV9maWxlbmFtZXMuc2l6ZSgpID4gMSkKLSAgICAgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRv
cjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxvYWRUZXh0KG1fZmlsZW5hbWVzLnNpemUo
KSksIHdpZHRoLCBmb250LCBmYWxzZSk7CisgICAgICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6
OnJpZ2h0VHJ1bmNhdGUobXVsdGlwbGVGaWxlVXBsb2FkVGV4dChtX2ZpbGVuYW1lcy5zaXplKCkp
LCB3aWR0aCwgZm9udCk7CiAKLSAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVu
Y2F0ZShzdHJpbmcsIHdpZHRoLCBmb250LCBmYWxzZSk7CisgICAgcmV0dXJuIFN0cmluZ1RydW5j
YXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyaW5nLCB3aWR0aCwgZm9udCk7CiB9CiB9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFjLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW0JKHJldmlzaW9uIDc4
NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1hYy5tbQkod29y
a2luZyBjb3B5KQpAQCAtMTU4LDggKzE1OCw3IEBAIHN0YXRpYyBmbG9hdCB3aWR0aFdpdGhGb250
KE5TU3RyaW5nICpzdHIKICAgICBpZiAoY2FuVXNlRmFzdFJlbmRlcmVyKGJ1ZmZlci5kYXRhKCks
IGxlbmd0aCkpIHsKICAgICAgICAgRm9udCB3ZWJDb3JlRm9udChGb250UGxhdGZvcm1EYXRhKGZv
bnQsIFtmb250IHBvaW50U2l6ZV0pLCAhW1tOU0dyYXBoaWNzQ29udGV4dCBjdXJyZW50Q29udGV4
dF0gaXNEcmF3aW5nVG9TY3JlZW5dKTsKICAgICAgICAgVGV4dFJ1biBydW4oYnVmZmVyLmRhdGEo
KSwgbGVuZ3RoKTsKLSAgICAgICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7Ci0gICAgICAg
IHJldHVybiB3ZWJDb3JlRm9udC5mbG9hdFdpZHRoKHJ1bik7CisgICAgICAgIHJldHVybiB3ZWJD
b3JlRm9udC53aWR0aChydW4pOwogICAgIH0KICAgICAKICAgICByZXR1cm4gW3N0cmluZyBzaXpl
V2l0aEF0dHJpYnV0ZXM6W05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0aE9iamVjdHNBbmRLZXlz
OmZvbnQsIE5TRm9udEF0dHJpYnV0ZU5hbWUsIG5pbF1dLndpZHRoOwpAQCAtMTk3LDggKzE5Niw3
IEBAIHN0YXRpYyB2b2lkIGRyYXdBdFBvaW50KE5TU3RyaW5nICpzdHJpbmcKICAgICAgICAgICAg
IAogICAgICAgICBGb250IHdlYkNvcmVGb250KEZvbnRQbGF0Zm9ybURhdGEoZm9udCwgW2ZvbnQg
cG9pbnRTaXplXSksICFbbnNDb250ZXh0IGlzRHJhd2luZ1RvU2NyZWVuXSwgQW50aWFsaWFzZWQp
OwogICAgICAgICBUZXh0UnVuIHJ1bihidWZmZXIuZGF0YSgpLCBsZW5ndGgpOwotICAgICAgICBy
dW4uZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsKLSAgICAgICAgCisKICAgICAgICAgQ0dGbG9hdCBy
ZWQ7CiAgICAgICAgIENHRmxvYXQgZ3JlZW47CiAgICAgICAgIENHRmxvYXQgYmx1ZTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxlQ2hvb3Nlck1hYy5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRmlsZUNob29zZXJNYWMubW0JKHJldmlz
aW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0ZpbGVDaG9vc2VyTWFj
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw5ICs0Nyw5IEBAIFN0cmluZyBGaWxlQ2hvb3Nlcjo6
YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICBlbHNlIGlmIChtX2ZpbGVuYW1lcy5zaXplKCkgPT0g
MSkKICAgICAgICAgc3RyVG9UcnVuY2F0ZSA9IFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdl
cl0gZGlzcGxheU5hbWVBdFBhdGg6KG1fZmlsZW5hbWVzWzBdKV07CiAgICAgZWxzZQotICAgICAg
ICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmlsZVVwbG9h
ZFRleHQobV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICAgICAg
cmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxvYWRU
ZXh0KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250KTsKIAotICAgIHJldHVybiBTdHJp
bmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0clRvVHJ1bmNhdGUsIHdpZHRoLCBmb250LCBm
YWxzZSk7CisgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyVG9U
cnVuY2F0ZSwgd2lkdGgsIGZvbnQpOwogfQogCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vRHJhZ0ltYWdlV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vRHJhZ0ltYWdlV2luLmNwcAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjEwLDEzICsyMTAsMTMgQEAgRHJhZ0ltYWdlUmVmIGNyZWF0ZURyYWdJbWFnZUZvckxpbmsoS1VS
TAogICAgIHN0YXRpYyBjb25zdCBDb2xvciBib3R0b21Db2xvcigyNTUsIDI1NSwgMjU1LCAxMjcp
OyAvLyBvcmlnaW5hbCBhbHBoYSA9IDAuNQogICAgIGlmIChkcmF3VVJMU3RyaW5nKSB7CiAgICAg
ICAgIGlmIChjbGlwVVJMU3RyaW5nKQotICAgICAgICAgICAgdXJsU3RyaW5nID0gU3RyaW5nVHJ1
bmNhdG9yOjpyaWdodFRydW5jYXRlKHVybFN0cmluZywgaW1hZ2VTaXplLndpZHRoKCkgLSAoRHJh
Z0xhYmVsQm9yZGVyWCAqIDIuMGYpLCAqdXJsRm9udCwgZmFsc2UpOworICAgICAgICAgICAgdXJs
U3RyaW5nID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKHVybFN0cmluZywgaW1hZ2VT
aXplLndpZHRoKCkgLSAoRHJhZ0xhYmVsQm9yZGVyWCAqIDIuMGYpLCAqdXJsRm9udCk7CiAgICAg
ICAgIEludFBvaW50IHRleHRQb3MoRHJhZ0xhYmVsQm9yZGVyWCwgaW1hZ2VTaXplLmhlaWdodCgp
IC0gKExhYmVsQm9yZGVyWU9mZnNldCArIHVybEZvbnQtPmZvbnRNZXRyaWNzKCkuZGVzY2VudCgp
KSk7CiAgICAgICAgIFdlYkNvcmVEcmF3RG91YmxlZFRleHRBdFBvaW50KGNvbnRleHQsIHVybFN0
cmluZywgdGV4dFBvcywgKnVybEZvbnQsIHRvcENvbG9yLCBib3R0b21Db2xvcik7CiAgICAgfQog
ICAgIAogICAgIGlmIChjbGlwTGFiZWxTdHJpbmcpCi0gICAgICAgIGxhYmVsID0gU3RyaW5nVHJ1
bmNhdG9yOjpyaWdodFRydW5jYXRlKGxhYmVsLCBpbWFnZVNpemUud2lkdGgoKSAtIChEcmFnTGFi
ZWxCb3JkZXJYICogMi4wZiksICpsYWJlbEZvbnQsIGZhbHNlKTsKKyAgICAgICAgbGFiZWwgPSBT
dHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUobGFiZWwsIGltYWdlU2l6ZS53aWR0aCgpIC0g
KERyYWdMYWJlbEJvcmRlclggKiAyLjBmKSwgKmxhYmVsRm9udCk7CiAKICAgICBJbnRQb2ludCB0
ZXh0UG9zKERyYWdMYWJlbEJvcmRlclgsIERyYWdMYWJlbEJvcmRlclkgKyBsYWJlbEZvbnQtPnBp
eGVsU2l6ZSgpKTsKICAgICBXZWJDb3JlRHJhd0RvdWJsZWRUZXh0QXRQb2ludChjb250ZXh0LCBs
YWJlbCwgdGV4dFBvcywgKmxhYmVsRm9udCwgdG9wQ29sb3IsIGJvdHRvbUNvbG9yKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxlQ2hvb3Nlcldpbi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVDaG9vc2VyV2luLmNwcAkocmV2
aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmlsZUNob29zZXJX
aW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niw5ICs0Niw5IEBAIFN0cmluZyBGaWxlQ2hvb3Nl
cjo6YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICAgICAgTFBXU1RSIGJhc2VuYW1lID0gUGF0aEZp
bmRGaWxlTmFtZVcodG1wRmlsZW5hbWUuY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKSk7
CiAgICAgICAgIHN0cmluZyA9IFN0cmluZyhiYXNlbmFtZSk7CiAgICAgfSBlbHNlCi0gICAgICAg
IHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUoU3RyaW5nOjpudW1iZXIobV9m
aWxlbmFtZXMuc2l6ZSgpKSArICIgZmlsZXMiLCB3aWR0aCwgZm9udCwgZmFsc2UpOworICAgICAg
ICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKFN0cmluZzo6bnVtYmVyKG1f
ZmlsZW5hbWVzLnNpemUoKSkgKyAiIGZpbGVzIiwgd2lkdGgsIGZvbnQpOwogCi0gICAgcmV0dXJu
IFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyaW5nLCB3aWR0aCwgZm9udCwgZmFs
c2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0cmluZywg
d2lkdGgsIGZvbnQpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAkocmV2aXNpb24gNzg0ODQp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzI2LDcgKzMyNiw3IEBAIHZvaWQgUG9wdXBNZW51V2luOjpjYWxjdWxhdGVQ
b3NpdGlvbkFuZFMKICAgICAgICAgICAgIGl0ZW1Gb250LnVwZGF0ZShtX3BvcHVwQ2xpZW50LT5m
b250U2VsZWN0b3IoKSk7CiAgICAgICAgIH0KIAotICAgICAgICBwb3B1cFdpZHRoID0gbWF4KHBv
cHVwV2lkdGgsIGl0ZW1Gb250LndpZHRoKFRleHRSdW4odGV4dC5jaGFyYWN0ZXJzKCksIHRleHQu
bGVuZ3RoKCkpKSk7CisgICAgICAgIHBvcHVwV2lkdGggPSBtYXgocG9wdXBXaWR0aCwgc3RhdGlj
X2Nhc3Q8aW50PihjZWlsZihpdGVtRm9udC53aWR0aChUZXh0UnVuKHRleHQuY2hhcmFjdGVycygp
LCB0ZXh0Lmxlbmd0aCgpKSkpKSk7CiAgICAgfQogCiAgICAgaWYgKG5hdHVyYWxIZWlnaHQgPiBt
YXhQb3B1cEhlaWdodCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XZWJDb3Jl
VGV4dFJlbmRlcmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vV2ViQ29yZVRleHRSZW5kZXJlci5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd2luL1dlYkNvcmVUZXh0UmVuZGVyZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBXZWJDb3JlRHJhd0RvdWJsZWRUZXh0QXRQb2ludChH
cmFwaAogCiBmbG9hdCBXZWJDb3JlVGV4dEZsb2F0V2lkdGgoY29uc3QgU3RyaW5nJiB0ZXh0LCBj
b25zdCBGb250JiBmb250KQogewotICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OndpZHRoKHRl
eHQsIGZvbnQsIGZhbHNlKTsKKyAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjp3aWR0aCh0ZXh0
LCBmb250KTsKIH0KIAogdm9pZCBXZWJDb3JlU2V0U2hvdWxkVXNlRm9udFNtb290aGluZyhib29s
IHNtb290aCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5j
cHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RS
ZXN1bHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDUsNiArNTQ1LDIzIEBAIGJvb2wgSGl0VGVz
dFJlc3VsdDo6YWRkTm9kZVRvUmVjdEJhc2VkVGUKICAgICByZXR1cm4gIXJlY3QuY29udGFpbnMo
cmVjdEZvclBvaW50KHgsIHkpKTsKIH0KIAorYm9vbCBIaXRUZXN0UmVzdWx0OjphZGROb2RlVG9S
ZWN0QmFzZWRUZXN0UmVzdWx0KE5vZGUqIG5vZGUsIGludCB4LCBpbnQgeSwgY29uc3QgRmxvYXRS
ZWN0JiByZWN0KQoreworICAgIC8vIElmIGl0IGlzIG5vdCBhIHJlY3QtYmFzZWQgaGl0IHRlc3Qs
IHRoaXMgbWV0aG9kIGhhcyB0byBiZSBuby1vcC4KKyAgICAvLyBSZXR1cm4gZmFsc2UsIHNvIHRo
ZSBoaXQgdGVzdCBzdG9wcy4KKyAgICBpZiAoIWlzUmVjdEJhc2VkVGVzdCgpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAvLyBJZiBub2RlIGlzIG51bGwsIHJldHVybiB0cnVlIHNvIHRo
ZSBoaXQgdGVzdCBjYW4gY29udGludWUuCisgICAgaWYgKCFub2RlKQorICAgICAgICByZXR1cm4g
dHJ1ZTsKKworICAgIG5vZGUgPSBub2RlLT5zaGFkb3dBbmNlc3Rvck5vZGUoKTsKKyAgICBtX3Jl
Y3RCYXNlZFRlc3RSZXN1bHQuYWRkKG5vZGUpOworCisgICAgcmV0dXJuICFyZWN0LmNvbnRhaW5z
KHJlY3RGb3JQb2ludCh4LCB5KSk7Cit9CisKIHZvaWQgSGl0VGVzdFJlc3VsdDo6YXBwZW5kKGNv
bnN0IEhpdFRlc3RSZXN1bHQmIG90aGVyKQogewogICAgIEFTU0VSVChpc1JlY3RCYXNlZFRlc3Qo
KSAmJiBvdGhlci5pc1JlY3RCYXNlZFRlc3QoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvSGl0VGVzdFJlc3VsdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9IaXRUZXN0UmVzdWx0LmgJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAkod29ya2luZyBjb3B5KQpAQCAtMjAsNiArMjAsNyBA
QAogI2lmbmRlZiBIaXRUZXN0UmVzdWx0X2gKICNkZWZpbmUgSGl0VGVzdFJlc3VsdF9oCiAKKyNp
bmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJJbnRQb2ludC5oIgogI2luY2x1ZGUgIklu
dFJlY3QuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCkBAIC0xMDksNyArMTEwLDggQEAgcHVibGlj
OgogCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIGl0IGlzIHJlY3QtYmFzZWQgaGl0IHRlc3QgYW5k
IG5lZWRzIHRvIGNvbnRpbnVlIHVudGlsIHRoZSByZWN0IGlzIGZ1bGx5CiAgICAgLy8gZW5jbG9z
ZWQgYnkgdGhlIGJvdW5kYXJpZXMgb2YgYSBub2RlLgotICAgIGJvb2wgYWRkTm9kZVRvUmVjdEJh
c2VkVGVzdFJlc3VsdChOb2RlKiwgaW50IHgsIGludCB5LCBjb25zdCBJbnRSZWN0JiByZWN0ID0g
SW50UmVjdCgpKTsKKyAgICBib29sIGFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQoTm9kZSos
IGludCB4LCBpbnQgeSwgY29uc3QgSW50UmVjdCYgPSBJbnRSZWN0KCkpOworICAgIGJvb2wgYWRk
Tm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChOb2RlKiwgaW50IHgsIGludCB5LCBjb25zdCBGbG9h
dFJlY3QmKTsKICAgICBjb25zdCBMaXN0SGFzaFNldDxSZWZQdHI8Tm9kZT4gPiYgcmVjdEJhc2Vk
VGVzdFJlc3VsdCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVjdEJhc2VkVGVzdFJlc3VsdDsgfQogICAg
IHZvaWQgYXBwZW5kKGNvbnN0IEhpdFRlc3RSZXN1bHQmKTsKIApJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0lubGluZUJveC5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNiw3ICsxMDYs
NyBAQCBpbnQgSW5saW5lQm94Ojpsb2dpY2FsSGVpZ2h0KCkgY29uc3QKICAgICAgICAgcmVzdWx0
ICs9IGZsb3dPYmplY3QtPmJvcmRlckFuZFBhZGRpbmdMb2dpY2FsSGVpZ2h0KCk7CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLQorIAogaW50IElubGluZUJveDo6Y2FyZXRNaW5PZmZzZXQoKSBjb25z
dCAKIHsgCiAgICAgcmV0dXJuIG1fcmVuZGVyZXItPmNhcmV0TWluT2Zmc2V0KCk7IApAQCAtMTUw
LDE0ICsxNTAsMTIgQEAgdm9pZCBJbmxpbmVCb3g6OmF0dGFjaExpbmUoKQogICAgICAgICB0b1Jl
bmRlckJveChtX3JlbmRlcmVyKS0+c2V0SW5saW5lQm94V3JhcHBlcih0aGlzKTsKIH0KIAotdm9p
ZCBJbmxpbmVCb3g6OmFkanVzdFBvc2l0aW9uKGludCBkeCwgaW50IGR5KQordm9pZCBJbmxpbmVC
b3g6OmFkanVzdFBvc2l0aW9uKGZsb2F0IGR4LCBmbG9hdCBkeSkKIHsKICAgICBtX3ggKz0gZHg7
CiAgICAgbV95ICs9IGR5OwotICAgIGlmIChtX3JlbmRlcmVyLT5pc1JlcGxhY2VkKCkpIHsKLSAg
ICAgICAgUmVuZGVyQm94KiBib3ggPSB0b1JlbmRlckJveChtX3JlbmRlcmVyKTsKLSAgICAgICAg
Ym94LT5tb3ZlKGR4LCBkeSk7Ci0gICAgfQorICAgIGlmIChtX3JlbmRlcmVyLT5pc1JlcGxhY2Vk
KCkpCisgICAgICAgIHRvUmVuZGVyQm94KG1fcmVuZGVyZXIpLT5wb3NpdGlvbkxpbmVCb3godGhp
cyk7CiB9CiAKIHZvaWQgSW5saW5lQm94OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgaW50
IHR4LCBpbnQgdHkpCkBAIC0yNzgsMjEgKzI3NiwzNSBAQCBib29sIElubGluZUJveDo6Y2FuQWNj
b21tb2RhdGVFbGxpcHNpcyhiCiAgICAgcmV0dXJuICEoYm94UmVjdC5pbnRlcnNlY3RzKGVsbGlw
c2lzUmVjdCkpOwogfQogCi1pbnQgSW5saW5lQm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wsIGlu
dCwgaW50LCBpbnQsIGJvb2wmKQorZmxvYXQgSW5saW5lQm94OjpwbGFjZUVsbGlwc2lzQm94KGJv
b2wsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGJvb2wmKQogewogICAgIC8vIFVzZSAtMSB0byBtZWFu
ICJ3ZSBkaWRuJ3Qgc2V0IHRoZSBwb3NpdGlvbi4iCiAgICAgcmV0dXJuIC0xOwogfQogCi1JbnRQ
b2ludCBJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKQorRmxvYXRQb2ludCBJ
bmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKQogewogICAgIGlmICghcmVuZGVy
ZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKLSAgICAgICAgcmV0
dXJuIEludFBvaW50KHgoKSwgeSgpKTsKKyAgICAgICAgcmV0dXJuIEZsb2F0UG9pbnQoeCgpLCB5
KCkpOwogICAgIFJlbmRlckJsb2NrKiBibG9jayA9IHJvb3QoKS0+YmxvY2soKTsKICAgICBpZiAo
YmxvY2stPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCi0gICAgICAgIHJldHVy
biBJbnRQb2ludCh4KCksIGJsb2NrLT5oZWlnaHQoKSAtIGhlaWdodCgpIC0geSgpKTsKKyAgICAg
ICAgcmV0dXJuIEZsb2F0UG9pbnQoeCgpLCBibG9jay0+aGVpZ2h0KCkgLSBoZWlnaHQoKSAtIHko
KSk7CiAgICAgZWxzZQotICAgICAgICByZXR1cm4gSW50UG9pbnQoYmxvY2stPndpZHRoKCkgLSB3
aWR0aCgpIC0geCgpLCB5KCkpOworICAgICAgICByZXR1cm4gRmxvYXRQb2ludChibG9jay0+d2lk
dGgoKSAtIHdpZHRoKCkgLSB4KCksIHkoKSk7Cit9CisKK3ZvaWQgSW5saW5lQm94OjpmbGlwRm9y
V3JpdGluZ01vZGUoRmxvYXRSZWN0JiByZWN0KQoreworICAgIGlmICghcmVuZGVyZXIoKS0+c3R5
bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuOworICAg
IHJvb3QoKS0+YmxvY2soKS0+ZmxpcEZvcldyaXRpbmdNb2RlKHJlY3QpOworfQorCitGbG9hdFBv
aW50IElubGluZUJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50
KQoreworICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGlu
Z01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHBvaW50OworICAgIHJldHVybiByb290KCktPmJsb2Nr
KCktPmZsaXBGb3JXcml0aW5nTW9kZShwb2ludCk7CiB9CiAKIHZvaWQgSW5saW5lQm94OjpmbGlw
Rm9yV3JpdGluZ01vZGUoSW50UmVjdCYgcmVjdCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9JbmxpbmVCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SW5saW5lQm94LmgJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0lubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OCw3ICs2OCw3IEBAIHB1YmxpYzoKICAg
ICB7CiAgICAgfQogCi0gICAgSW5saW5lQm94KFJlbmRlck9iamVjdCogb2JqLCBpbnQgeCwgaW50
IHksIGludCBsb2dpY2FsV2lkdGgsIGJvb2wgZmlyc3RMaW5lLCBib29sIGNvbnN0cnVjdGVkLAor
ICAgIElubGluZUJveChSZW5kZXJPYmplY3QqIG9iaiwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQg
bG9naWNhbFdpZHRoLCBib29sIGZpcnN0TGluZSwgYm9vbCBjb25zdHJ1Y3RlZCwKICAgICAgICAg
ICAgICAgYm9vbCBkaXJ0eSwgYm9vbCBleHRyYWN0ZWQsIGJvb2wgaXNIb3Jpem9udGFsLCBJbmxp
bmVCb3gqIG5leHQsIElubGluZUJveCogcHJldiwgSW5saW5lRmxvd0JveCogcGFyZW50KQogICAg
ICAgICA6IG1fbmV4dChuZXh0KQogICAgICAgICAsIG1fcHJldihwcmV2KQpAQCAtMTEyLDE1ICsx
MTIsMTUgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzTGluZUJyZWFrKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihpbnQg
ZHgsIGludCBkeSk7Ci0gICAgdm9pZCBhZGp1c3RMaW5lRGlyZWN0aW9uUG9zaXRpb24oaW50IGRl
bHRhKQorICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihmbG9hdCBkeCwgZmxvYXQgZHkp
OworICAgIHZvaWQgYWRqdXN0TGluZURpcmVjdGlvblBvc2l0aW9uKGZsb2F0IGRlbHRhKQogICAg
IHsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKQogICAgICAgICAgICAgYWRqdXN0UG9zaXRp
b24oZGVsdGEsIDApOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBhZGp1c3RQb3NpdGlvbigw
LCBkZWx0YSk7CiAgICAgfQotICAgIHZvaWQgYWRqdXN0QmxvY2tEaXJlY3Rpb25Qb3NpdGlvbihp
bnQgZGVsdGEpCisgICAgdm9pZCBhZGp1c3RCbG9ja0RpcmVjdGlvblBvc2l0aW9uKGZsb2F0IGRl
bHRhKQogICAgIHsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKQogICAgICAgICAgICAgYWRq
dXN0UG9zaXRpb24oMCwgZGVsdGEpOwpAQCAtMjIwLDI4ICsyMjAsMjggQEAgcHVibGljOgogICAg
IFJvb3RJbmxpbmVCb3gqIHJvb3QoKTsKIAogICAgIC8vIHgoKSBpcyB0aGUgbGVmdCBzaWRlIG9m
IHRoZSBib3ggaW4gdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBjb29yZGluYXRlIHN5c3RlbS4KLSAg
ICB2b2lkIHNldFgoaW50IHgpIHsgbV94ID0geDsgfQotICAgIGludCB4KCkgY29uc3QgeyByZXR1
cm4gbV94OyB9CisgICAgdm9pZCBzZXRYKGZsb2F0IHgpIHsgbV94ID0geDsgfQorICAgIGZsb2F0
IHgoKSBjb25zdCB7IHJldHVybiBtX3g7IH0KIAogICAgIC8vIHkoKSBpcyB0aGUgdG9wIHNpZGUg
b2YgdGhlIGJveCBpbiB0aGUgY29udGFpbmluZyBibG9jaydzIGNvb3JkaW5hdGUgc3lzdGVtLgot
ICAgIHZvaWQgc2V0WShpbnQgeSkgeyBtX3kgPSB5OyB9Ci0gICAgaW50IHkoKSBjb25zdCB7IHJl
dHVybiBtX3k7IH0KKyAgICB2b2lkIHNldFkoZmxvYXQgeSkgeyBtX3kgPSB5OyB9CisgICAgZmxv
YXQgeSgpIGNvbnN0IHsgcmV0dXJuIG1feTsgfQogCi0gICAgaW50IHdpZHRoKCkgY29uc3QgeyBy
ZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsV2lkdGgoKSA6IGxvZ2ljYWxIZWlnaHQoKTsg
fQotICAgIGludCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IGxvZ2lj
YWxIZWlnaHQoKSA6IGxvZ2ljYWxXaWR0aCgpOyB9Ci0KLSAgICBJbnRSZWN0IGZyYW1lUmVjdCgp
IGNvbnN0IHsgcmV0dXJuIEludFJlY3QoeCgpLCB5KCksIHdpZHRoKCksIGhlaWdodCgpKTsgfQor
ICAgIGZsb2F0IHdpZHRoKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2Fs
V2lkdGgoKSA6IGxvZ2ljYWxIZWlnaHQoKTsgfQorICAgIGZsb2F0IGhlaWdodCgpIGNvbnN0IHsg
cmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbG9naWNhbEhlaWdodCgpIDogbG9naWNhbFdpZHRoKCk7
IH0KIAogICAgIC8vIFRoZSBsb2dpY2FsTGVmdCBwb3NpdGlvbiBpcyB0aGUgbGVmdCBlZGdlIG9m
IHRoZSBsaW5lIGJveCBpbiBhIGhvcml6b250YWwgbGluZSBhbmQgdGhlIHRvcCBlZGdlIGluIGEg
dmVydGljYWwgbGluZS4KLSAgICBpbnQgbG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBpc0hv
cml6b250YWwoKSA/IG1feCA6IG1feTsgfQotICAgIGludCBsb2dpY2FsUmlnaHQoKSBjb25zdCB7
IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNhbFdpZHRoKCk7IH0KLSAgICB2b2lkIHNldExv
Z2ljYWxMZWZ0KGludCBsZWZ0KQorICAgIGZsb2F0IGxvZ2ljYWxMZWZ0KCkgY29uc3QgeyByZXR1
cm4gaXNIb3Jpem9udGFsKCkgPyBtX3ggOiBtX3k7IH0KKyAgICBmbG9hdCBsb2dpY2FsUmlnaHQo
KSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNhbFdpZHRoKCk7IH0KKyAgICB2
b2lkIHNldExvZ2ljYWxMZWZ0KGZsb2F0IGxlZnQpCiAgICAgewogICAgICAgICBpZiAoaXNIb3Jp
em9udGFsKCkpCiAgICAgICAgICAgICBtX3ggPSBsZWZ0OwogICAgICAgICBlbHNlCiAgICAgICAg
ICAgICBtX3kgPSBsZWZ0OwogICAgIH0KKyAgICBpbnQgcGl4ZWxTbmFwcGVkTG9naWNhbExlZnQo
KSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpOyB9CisgICAgaW50IHBpeGVsU25hcHBlZExv
Z2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGNlaWxmKGxvZ2ljYWxSaWdodCgpKTsgfQogCiAg
ICAgLy8gVGhlIGxvZ2ljYWxUb3BbIHBvc2l0aW9uIGlzIHRoZSB0b3AgZWRnZSBvZiB0aGUgbGlu
ZSBib3ggaW4gYSBob3Jpem9udGFsIGxpbmUgYW5kIHRoZSBsZWZ0IGVkZ2UgaW4gYSB2ZXJ0aWNh
bCBsaW5lLgogICAgIGludCBsb2dpY2FsVG9wKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFs
KCkgPyBtX3kgOiBtX3g7IH0KQEAgLTI1NSw4ICsyNTUsOCBAQCBwdWJsaWM6CiAgICAgfQogCiAg
ICAgLy8gVGhlIGxvZ2ljYWwgd2lkdGggaXMgb3VyIGV4dGVudCBpbiB0aGUgbGluZSdzIG92ZXJh
bGwgaW5saW5lIGRpcmVjdGlvbiwgaS5lLiwgd2lkdGggZm9yIGhvcml6b250YWwgdGV4dCBhbmQg
aGVpZ2h0IGZvciB2ZXJ0aWNhbCB0ZXh0LgotICAgIHZvaWQgc2V0TG9naWNhbFdpZHRoKGludCB3
KSB7IG1fbG9naWNhbFdpZHRoID0gdzsgfQotICAgIGludCBsb2dpY2FsV2lkdGgoKSBjb25zdCB7
IHJldHVybiBtX2xvZ2ljYWxXaWR0aDsgfQorICAgIHZvaWQgc2V0TG9naWNhbFdpZHRoKGZsb2F0
IHcpIHsgbV9sb2dpY2FsV2lkdGggPSB3OyB9CisgICAgZmxvYXQgbG9naWNhbFdpZHRoKCkgY29u
c3QgeyByZXR1cm4gbV9sb2dpY2FsV2lkdGg7IH0KIAogICAgIC8vIFRoZSBsb2dpY2FsIGhlaWdo
dCBpcyBvdXIgZXh0ZW50IGluIHRoZSBibG9jayBmbG93IGRpcmVjdGlvbiwgaS5lLiwgaGVpZ2h0
IGZvciBob3Jpem9udGFsIHRleHQgYW5kIHdpZHRoIGZvciB2ZXJ0aWNhbCB0ZXh0LgogICAgIGlu
dCBsb2dpY2FsSGVpZ2h0KCkgY29uc3Q7CkBAIC0yODYsNyArMjg2LDcgQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCBib29sIGNhbkFjY29tbW9kYXRlRWxsaXBzaXMoYm9vbCBsdHIsIGludCBibG9j
a0VkZ2UsIGludCBlbGxpcHNpc1dpZHRoKTsKICAgICAvLyB2aXNpYmxlTGVmdEVkZ2UsIHZpc2li
bGVSaWdodEVkZ2UgYXJlIGluIHRoZSBwYXJlbnQncyBjb29yZGluYXRlIHN5c3RlbS4KLSAgICB2
aXJ0dWFsIGludCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBpbnQgdmlzaWJsZUxlZnRFZGdl
LCBpbnQgdmlzaWJsZVJpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmKTsKKyAgICB2
aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGZsb2F0IHZpc2libGVMZWZ0
RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYp
OwogCiAgICAgdm9pZCBzZXRIYXNCYWRQYXJlbnQoKTsKIApAQCAtMjk0LDYgKzI5NCw4IEBAIHB1
YmxpYzoKICAgICAKICAgICBib29sIHZpc2libGVUb0hpdFRlc3RpbmcoKSBjb25zdCB7IHJldHVy
biByZW5kZXJlcigpLT5zdHlsZSgpLT52aXNpYmlsaXR5KCkgPT0gVklTSUJMRSAmJiByZW5kZXJl
cigpLT5zdHlsZSgpLT5wb2ludGVyRXZlbnRzKCkgIT0gUEVfTk9ORTsgfQogICAgIAorICAgIEVW
ZXJ0aWNhbEFsaWduIHZlcnRpY2FsQWxpZ24oKSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLT5z
dHlsZShtX2ZpcnN0TGluZSktPnZlcnRpY2FsQWxpZ24oKTsgfQorCiAgICAgLy8gVXNlIHdpdGgg
Y2F1dGlvbiEgVGhlIHR5cGUgaXMgbm90IGNoZWNrZWQhCiAgICAgUmVuZGVyQm94TW9kZWxPYmpl
Y3QqIGJveE1vZGVsT2JqZWN0KCkgY29uc3QKICAgICB7IApAQCAtMzAyLDEwICszMDQsMTIgQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBJbnRQb2ludCBsb2NhdGlv
bkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgRmxvYXRQb2ludCBsb2NhdGlvbkluY2x1ZGluZ0Zs
aXBwaW5nKCk7CisgICAgdm9pZCBmbGlwRm9yV3JpdGluZ01vZGUoRmxvYXRSZWN0Jik7CisgICAg
RmxvYXRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgRmxvYXRQb2ludCYpOwogICAgIHZv
aWQgZmxpcEZvcldyaXRpbmdNb2RlKEludFJlY3QmKTsKICAgICBJbnRQb2ludCBmbGlwRm9yV3Jp
dGluZ01vZGUoY29uc3QgSW50UG9pbnQmKTsKLQorICAgIAogcHJpdmF0ZToKICAgICBJbmxpbmVC
b3gqIG1fbmV4dDsgLy8gVGhlIG5leHQgZWxlbWVudCBvbiB0aGUgc2FtZSBsaW5lIGFzIHVzLgog
ICAgIElubGluZUJveCogbV9wcmV2OyAvLyBUaGUgcHJldmlvdXMgZWxlbWVudCBvbiB0aGUgc2Ft
ZSBsaW5lIGFzIHVzLgpAQCAtMzE1LDkgKzMxOSw5IEBAIHByaXZhdGU6CiBwdWJsaWM6CiAgICAg
UmVuZGVyT2JqZWN0KiBtX3JlbmRlcmVyOwogCi0gICAgaW50IG1feDsKLSAgICBpbnQgbV95Owot
ICAgIGludCBtX2xvZ2ljYWxXaWR0aDsKKyAgICBmbG9hdCBtX3g7CisgICAgZmxvYXQgbV95Owor
ICAgIGZsb2F0IG1fbG9naWNhbFdpZHRoOwogICAgIAogICAgIC8vIFNvbWUgb2YgdGhlc2UgYml0
cyBhcmUgYWN0dWFsbHkgZm9yIHN1YmNsYXNzZXMgYW5kIG1vdmVkIGhlcmUgdG8gY29tcGFjdCB0
aGUgc3RydWN0dXJlcy4KIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZs
b3dCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVG
bG93Qm94LmNwcAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SW5saW5lRmxvd0JveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY3LDYgKzY3LDE4IEBAIGludCBJ
bmxpbmVGbG93Qm94OjpnZXRGbG93U3BhY2luZ0xvZ2ljYWwKICAgICByZXR1cm4gdG90V2lkdGg7
CiB9CiAKK0ludFJlY3QgSW5saW5lRmxvd0JveDo6cm91bmRlZEZyYW1lUmVjdCgpIGNvbnN0Cit7
CisgICAgLy8gQmVnaW4gYnkgc25hcHBpbmcgdGhlIHggYW5kIHkgY29vcmRpbmF0ZXMgdG8gdGhl
IG5lYXJlc3QgcGl4ZWwuCisgICAgaW50IHNuYXBwZWRYID0gbHJvdW5kZih4KCkpOworICAgIGlu
dCBzbmFwcGVkWSA9IGxyb3VuZGYoeSgpKTsKKyAgICAKKyAgICBpbnQgc25hcHBlZE1heFggPSBs
cm91bmRmKHgoKSArIHdpZHRoKCkpOworICAgIGludCBzbmFwcGVkTWF4WSA9IGxyb3VuZGYoeSgp
ICsgaGVpZ2h0KCkpOworICAgIAorICAgIHJldHVybiBJbnRSZWN0KHNuYXBwZWRYLCBzbmFwcGVk
WSwgc25hcHBlZE1heFggLSBzbmFwcGVkWCwgc25hcHBlZE1heFkgLSBzbmFwcGVkWSk7Cit9CisK
IHZvaWQgSW5saW5lRmxvd0JveDo6YWRkVG9MaW5lKElubGluZUJveCogY2hpbGQpIAogewogICAg
IEFTU0VSVCghY2hpbGQtPnBhcmVudCgpKTsKQEAgLTE2NywxMyArMTc5LDEzIEBAIHZvaWQgSW5s
aW5lRmxvd0JveDo6YXR0YWNoTGluZUJveFRvUmVuZGUKICAgICB0b1JlbmRlcklubGluZShyZW5k
ZXJlcigpKS0+bGluZUJveGVzKCktPmF0dGFjaExpbmVCb3godGhpcyk7CiB9CiAKLXZvaWQgSW5s
aW5lRmxvd0JveDo6YWRqdXN0UG9zaXRpb24oaW50IGR4LCBpbnQgZHkpCit2b2lkIElubGluZUZs
b3dCb3g6OmFkanVzdFBvc2l0aW9uKGZsb2F0IGR4LCBmbG9hdCBkeSkKIHsKICAgICBJbmxpbmVC
b3g6OmFkanVzdFBvc2l0aW9uKGR4LCBkeSk7CiAgICAgZm9yIChJbmxpbmVCb3gqIGNoaWxkID0g
Zmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dE9uTGluZSgpKQogICAgICAg
ICBjaGlsZC0+YWRqdXN0UG9zaXRpb24oZHgsIGR5KTsKICAgICBpZiAobV9vdmVyZmxvdykKLSAg
ICAgICAgbV9vdmVyZmxvdy0+bW92ZShkeCwgZHkpOworICAgICAgICBtX292ZXJmbG93LT5tb3Zl
KGR4LCBkeSk7IC8vIEZJWE1FOiBSb3VuZGluZyBlcnJvciBoZXJlIHNpbmNlIG92ZXJmbG93IHdh
cyBwaXhlbCBzbmFwcGVkLCBidXQgbm9ib2R5IG90aGVyIHRoYW4gbGlzdCBtYXJrZXJzIHBhc3Nl
cyBub24taW50ZWdyYWwgdmFsdWVzIGhlcmUuCiB9CiAKIFJlbmRlckxpbmVCb3hMaXN0KiBJbmxp
bmVGbG93Qm94OjpyZW5kZXJlckxpbmVCb3hlcygpIGNvbnN0CkBAIC0yNTUsMTIgKzI2NywxMiBA
QCB2b2lkIElubGluZUZsb3dCb3g6OmRldGVybWluZVNwYWNpbmdGb3JGCiAgICAgfQogfQogCi1p
bnQgSW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9uKGludCBsb2dpY2Fs
TGVmdCwgYm9vbCYgbmVlZHNXb3JkU3BhY2luZywgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9u
dHNNYXAmIHRleHRCb3hEYXRhTWFwKQorZmxvYXQgSW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0lu
SW5saW5lRGlyZWN0aW9uKGZsb2F0IGxvZ2ljYWxMZWZ0LCBib29sJiBuZWVkc1dvcmRTcGFjaW5n
LCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYgdGV4dEJveERhdGFNYXApCiB7CiAg
ICAgLy8gU2V0IG91ciB4IHBvc2l0aW9uLgogICAgIHNldExvZ2ljYWxMZWZ0KGxvZ2ljYWxMZWZ0
KTsKICAgCi0gICAgaW50IHN0YXJ0TG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdDsKKyAgICBmbG9h
dCBzdGFydExvZ2ljYWxMZWZ0ID0gbG9naWNhbExlZnQ7CiAgICAgbG9naWNhbExlZnQgKz0gYm9y
ZGVyTG9naWNhbExlZnQoKSArIHBhZGRpbmdMb2dpY2FsTGVmdCgpOwogICAgIAogICAgIGZvciAo
SW5saW5lQm94KiBjdXJyID0gZmlyc3RDaGlsZCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dE9u
TGluZSgpKSB7CkBAIC0zNDUsMTcgKzM1NywxNiBAQCBib29sIElubGluZUZsb3dCb3g6OnJlcXVp
cmVzSWRlb2dyYXBoaWNCCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIElubGluZUZsb3dC
b3g6OmFkanVzdE1heEFzY2VudEFuZERlc2NlbnQoaW50JiBtYXhBc2NlbnQsIGludCYgbWF4RGVz
Y2VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
bWF4UG9zaXRpb25Ub3AsIGludCBtYXhQb3NpdGlvbkJvdHRvbSkKK3ZvaWQgSW5saW5lRmxvd0Jv
eDo6YWRqdXN0TWF4QXNjZW50QW5kRGVzY2VudChpbnQmIG1heEFzY2VudCwgaW50JiBtYXhEZXNj
ZW50LCBpbnQgbWF4UG9zaXRpb25Ub3AsIGludCBtYXhQb3NpdGlvbkJvdHRvbSkKIHsKICAgICBm
b3IgKElubGluZUJveCogY3VyciA9IGZpcnN0Q2hpbGQoKTsgY3VycjsgY3VyciA9IGN1cnItPm5l
eHRPbkxpbmUoKSkgewogICAgICAgICAvLyBUaGUgY29tcHV0ZWQgbGluZWhlaWdodCBuZWVkcyB0
byBiZSBleHRlbmRlZCBmb3IgdGhlCiAgICAgICAgIC8vIHBvc2l0aW9uZWQgZWxlbWVudHMKICAg
ICAgICAgaWYgKGN1cnItPnJlbmRlcmVyKCktPmlzUG9zaXRpb25lZCgpKQogICAgICAgICAgICAg
Y29udGludWU7IC8vIFBvc2l0aW9uZWQgcGxhY2Vob2xkZXJzIGRvbid0IGFmZmVjdCBjYWxjdWxh
dGlvbnMuCi0gICAgICAgIGlmIChjdXJyLT5sb2dpY2FsVG9wKCkgPT0gUG9zaXRpb25Ub3AgfHwg
Y3Vyci0+bG9naWNhbFRvcCgpID09IFBvc2l0aW9uQm90dG9tKSB7CisgICAgICAgIGlmIChjdXJy
LT52ZXJ0aWNhbEFsaWduKCkgPT0gVE9QIHx8IGN1cnItPnZlcnRpY2FsQWxpZ24oKSA9PSBCT1RU
T00pIHsKICAgICAgICAgICAgIGludCBsaW5lSGVpZ2h0ID0gY3Vyci0+bGluZUhlaWdodCgpOwot
ICAgICAgICAgICAgaWYgKGN1cnItPmxvZ2ljYWxUb3AoKSA9PSBQb3NpdGlvblRvcCkgeworICAg
ICAgICAgICAgaWYgKGN1cnItPnZlcnRpY2FsQWxpZ24oKSA9PSBUT1ApIHsKICAgICAgICAgICAg
ICAgICBpZiAobWF4QXNjZW50ICsgbWF4RGVzY2VudCA8IGxpbmVIZWlnaHQpCiAgICAgICAgICAg
ICAgICAgICAgIG1heERlc2NlbnQgPSBsaW5lSGVpZ2h0IC0gbWF4QXNjZW50OwogICAgICAgICAg
ICAgfQpAQCAtMzk3LDQwICs0MDgsMzcgQEAgc3RhdGljIGludCB2ZXJ0aWNhbFBvc2l0aW9uRm9y
Qm94KElubGluZQogCiAgICAgaW50IHZlcnRpY2FsUG9zaXRpb24gPSAwOwogICAgIEVWZXJ0aWNh
bEFsaWduIHZlcnRpY2FsQWxpZ24gPSByZW5kZXJlci0+c3R5bGUoKS0+dmVydGljYWxBbGlnbigp
OwotICAgIGlmICh2ZXJ0aWNhbEFsaWduID09IFRPUCkKLSAgICAgICAgdmVydGljYWxQb3NpdGlv
biA9IFBvc2l0aW9uVG9wOwotICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gQk9UVE9NKQot
ICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uID0gUG9zaXRpb25Cb3R0b207Ci0gICAgZWxzZSB7Ci0g
ICAgICAgIFJlbmRlck9iamVjdCogcGFyZW50ID0gcmVuZGVyZXItPnBhcmVudCgpOwotICAgICAg
ICBpZiAocGFyZW50LT5pc1JlbmRlcklubGluZSgpICYmIHBhcmVudC0+c3R5bGUoKS0+dmVydGlj
YWxBbGlnbigpICE9IFRPUCAmJiBwYXJlbnQtPnN0eWxlKCktPnZlcnRpY2FsQWxpZ24oKSAhPSBC
T1RUT00pCi0gICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uID0gYm94LT5wYXJlbnQoKS0+bG9n
aWNhbFRvcCgpOwotICAgICAgICAKLSAgICAgICAgaWYgKHZlcnRpY2FsQWxpZ24gIT0gQkFTRUxJ
TkUpIHsKLSAgICAgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBwYXJlbnQtPnN0eWxlKGZpcnN0
TGluZSktPmZvbnQoKTsKLSAgICAgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmlj
cyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKLSAgICAgICAgICAgIGludCBmb250U2l6ZSA9IGZvbnQu
cGl4ZWxTaXplKCk7Ci0KLSAgICAgICAgICAgIExpbmVEaXJlY3Rpb25Nb2RlIGxpbmVEaXJlY3Rp
b24gPSBwYXJlbnQtPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBIb3Jpem9u
dGFsTGluZSA6IFZlcnRpY2FsTGluZTsKLQotICAgICAgICAgICAgaWYgKHZlcnRpY2FsQWxpZ24g
PT0gU1VCKQotICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gZm9udFNpemUgLyA1
ICsgMTsKLSAgICAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gU1VQRVIpCi0gICAg
ICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiAtPSBmb250U2l6ZSAvIDMgKyAxOwotICAgICAg
ICAgICAgZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBURVhUX1RPUCkKLSAgICAgICAgICAgICAg
ICB2ZXJ0aWNhbFBvc2l0aW9uICs9IHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5l
VHlwZSwgZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAtIGZvbnRNZXRyaWNzLmFzY2VudChiYXNl
bGluZVR5cGUpOwotICAgICAgICAgICAgZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBNSURETEUp
Ci0gICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSAtc3RhdGljX2Nhc3Q8aW50Pihm
b250TWV0cmljcy54SGVpZ2h0KCkgLyAyKSAtIHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0TGlu
ZSwgbGluZURpcmVjdGlvbikgLyAyICsgcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxp
bmVUeXBlLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pOwotICAgICAgICAgICAgZWxzZSBpZiAo
dmVydGljYWxBbGlnbiA9PSBURVhUX0JPVFRPTSkgewotICAgICAgICAgICAgICAgIHZlcnRpY2Fs
UG9zaXRpb24gKz0gZm9udE1ldHJpY3MuZGVzY2VudChiYXNlbGluZVR5cGUpOwotICAgICAgICAg
ICAgICAgIC8vIGxpbmVIZWlnaHQgLSBiYXNlbGluZVBvc2l0aW9uIGlzIGFsd2F5cyAwIGZvciBy
ZXBsYWNlZCBlbGVtZW50cyAoZXhjZXB0IGlubGluZSBibG9ja3MpLCBzbyBkb24ndCBib3RoZXIg
d2FzdGluZyB0aW1lIGluIHRoYXQgY2FzZS4KLSAgICAgICAgICAgICAgICBpZiAoIXJlbmRlcmVy
LT5pc1JlcGxhY2VkKCkgfHwgcmVuZGVyZXItPmlzSW5saW5lQmxvY2tPcklubGluZVRhYmxlKCkp
Ci0gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gLT0gKHJlbmRlcmVyLT5saW5l
SGVpZ2h0KGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikgLSByZW5kZXJlci0+YmFzZWxpbmVQb3Np
dGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikpOwotICAgICAgICAg
ICAgfSBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IEJBU0VMSU5FX01JRERMRSkKLSAgICAgICAg
ICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IC1yZW5kZXJlci0+bGluZUhlaWdodChmaXJzdExp
bmUsIGxpbmVEaXJlY3Rpb24pIC8gMiArIHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2Vs
aW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKTsKLSAgICAgICAgICAgIGVsc2UgaWYg
KHZlcnRpY2FsQWxpZ24gPT0gTEVOR1RIKQotICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRp
b24gLT0gcmVuZGVyZXItPnN0eWxlKCktPnZlcnRpY2FsQWxpZ25MZW5ndGgoKS5jYWxjVmFsdWUo
cmVuZGVyZXItPmxpbmVIZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSk7Ci0gICAgICAg
IH0KKyAgICBpZiAodmVydGljYWxBbGlnbiA9PSBUT1AgfHwgdmVydGljYWxBbGlnbiA9PSBCT1RU
T00pCisgICAgICAgIHJldHVybiAwOworICAgCisgICAgUmVuZGVyT2JqZWN0KiBwYXJlbnQgPSBy
ZW5kZXJlci0+cGFyZW50KCk7CisgICAgaWYgKHBhcmVudC0+aXNSZW5kZXJJbmxpbmUoKSAmJiBw
YXJlbnQtPnN0eWxlKCktPnZlcnRpY2FsQWxpZ24oKSAhPSBUT1AgJiYgcGFyZW50LT5zdHlsZSgp
LT52ZXJ0aWNhbEFsaWduKCkgIT0gQk9UVE9NKQorICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uID0g
Ym94LT5wYXJlbnQoKS0+bG9naWNhbFRvcCgpOworICAgIAorICAgIGlmICh2ZXJ0aWNhbEFsaWdu
ICE9IEJBU0VMSU5FKSB7CisgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBwYXJlbnQtPnN0eWxl
KGZpcnN0TGluZSktPmZvbnQoKTsKKyAgICAgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRy
aWNzID0gZm9udC5mb250TWV0cmljcygpOworICAgICAgICBpbnQgZm9udFNpemUgPSBmb250LnBp
eGVsU2l6ZSgpOworCisgICAgICAgIExpbmVEaXJlY3Rpb25Nb2RlIGxpbmVEaXJlY3Rpb24gPSBw
YXJlbnQtPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBIb3Jpem9udGFsTGlu
ZSA6IFZlcnRpY2FsTGluZTsKKworICAgICAgICBpZiAodmVydGljYWxBbGlnbiA9PSBTVUIpCisg
ICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IGZvbnRTaXplIC8gNSArIDE7CisgICAgICAg
IGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gU1VQRVIpCisgICAgICAgICAgICB2ZXJ0aWNhbFBv
c2l0aW9uIC09IGZvbnRTaXplIC8gMyArIDE7CisgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxp
Z24gPT0gVEVYVF9UT1ApCisgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IHJlbmRlcmVy
LT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9u
KSAtIGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGluZVR5cGUpOworICAgICAgICBlbHNlIGlmICh2
ZXJ0aWNhbEFsaWduID09IE1JRERMRSkKKyAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0g
LXN0YXRpY19jYXN0PGludD4oZm9udE1ldHJpY3MueEhlaWdodCgpIC8gMikgLSByZW5kZXJlci0+
bGluZUhlaWdodChmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC8gMiArIHJlbmRlcmVyLT5iYXNl
bGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKTsKKyAg
ICAgICAgZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBURVhUX0JPVFRPTSkgeworICAgICAgICAg
ICAgdmVydGljYWxQb3NpdGlvbiArPSBmb250TWV0cmljcy5kZXNjZW50KGJhc2VsaW5lVHlwZSk7
CisgICAgICAgICAgICAvLyBsaW5lSGVpZ2h0IC0gYmFzZWxpbmVQb3NpdGlvbiBpcyBhbHdheXMg
MCBmb3IgcmVwbGFjZWQgZWxlbWVudHMgKGV4Y2VwdCBpbmxpbmUgYmxvY2tzKSwgc28gZG9uJ3Qg
Ym90aGVyIHdhc3RpbmcgdGltZSBpbiB0aGF0IGNhc2UuCisgICAgICAgICAgICBpZiAoIXJlbmRl
cmVyLT5pc1JlcGxhY2VkKCkgfHwgcmVuZGVyZXItPmlzSW5saW5lQmxvY2tPcklubGluZVRhYmxl
KCkpCisgICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiAtPSAocmVuZGVyZXItPmxpbmVI
ZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAtIHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0
aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSk7CisgICAgICAgIH0g
ZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBCQVNFTElORV9NSURETEUpCisgICAgICAgICAgICB2
ZXJ0aWNhbFBvc2l0aW9uICs9IC1yZW5kZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxpbmVE
aXJlY3Rpb24pIC8gMiArIHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwg
Zmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKTsKKyAgICAgICAgZWxzZSBpZiAodmVydGljYWxBbGln
biA9PSBMRU5HVEgpCisgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uIC09IHJlbmRlcmVyLT5z
dHlsZSgpLT52ZXJ0aWNhbEFsaWduTGVuZ3RoKCkuY2FsY1ZhbHVlKHJlbmRlcmVyLT5saW5lSGVp
Z2h0KGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikpOwogICAgIH0KIAogICAgIC8vIFN0b3JlIHRo
ZSBjYWNoZWQgdmFsdWUuCkBAIC01NDIsMTAgKzU1MCwxMCBAQCB2b2lkIElubGluZUZsb3dCb3g6
OmNvbXB1dGVMb2dpY2FsQm94SGVpCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAg
ICBpZiAoY3Vyci0+bG9naWNhbFRvcCgpID09IFBvc2l0aW9uVG9wKSB7CisgICAgICAgIGlmIChj
dXJyLT52ZXJ0aWNhbEFsaWduKCkgPT0gVE9QKSB7CiAgICAgICAgICAgICBpZiAobWF4UG9zaXRp
b25Ub3AgPCBsaW5lSGVpZ2h0KQogICAgICAgICAgICAgICAgIG1heFBvc2l0aW9uVG9wID0gbGlu
ZUhlaWdodDsKLSAgICAgICAgfSBlbHNlIGlmIChjdXJyLT5sb2dpY2FsVG9wKCkgPT0gUG9zaXRp
b25Cb3R0b20pIHsKKyAgICAgICAgfSBlbHNlIGlmIChjdXJyLT52ZXJ0aWNhbEFsaWduKCkgPT0g
Qk9UVE9NKSB7CiAgICAgICAgICAgICBpZiAobWF4UG9zaXRpb25Cb3R0b20gPCBsaW5lSGVpZ2h0
KQogICAgICAgICAgICAgICAgIG1heFBvc2l0aW9uQm90dG9tID0gbGluZUhlaWdodDsKICAgICAg
ICAgfSBlbHNlIGlmICgoIWlzSW5saW5lRmxvdyB8fCBzdGF0aWNfY2FzdDxJbmxpbmVGbG93Qm94
Kj4oY3VyciktPmhhc1RleHRDaGlsZHJlbigpKSB8fCBjdXJyLT5ib3hNb2RlbE9iamVjdCgpLT5o
YXNJbmxpbmVEaXJlY3Rpb25Cb3JkZXJzT3JQYWRkaW5nKCkgfHwgc3RyaWN0TW9kZSkgewpAQCAt
NTkyLDkgKzYwMCw5IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0luQmxvY2tEaXIK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbGluZVRvcEluY2x1ZGluZ01hcmdpbnMsIGxpbmVCb3R0b21JbmNs
dWRpbmdNYXJnaW5zLCBoYXNBbm5vdGF0aW9uc0JlZm9yZSwgaGFzQW5ub3RhdGlvbnNBZnRlciwg
YmFzZWxpbmVUeXBlKTsKIAogICAgICAgICBib29sIGNoaWxkQWZmZWN0c1RvcEJvdHRvbVBvcyA9
IHRydWU7Ci0gICAgICAgIGlmIChjdXJyLT5sb2dpY2FsVG9wKCkgPT0gUG9zaXRpb25Ub3ApCisg
ICAgICAgIGlmIChjdXJyLT52ZXJ0aWNhbEFsaWduKCkgPT0gVE9QKQogICAgICAgICAgICAgY3Vy
ci0+c2V0TG9naWNhbFRvcCh0b3ApOwotICAgICAgICBlbHNlIGlmIChjdXJyLT5sb2dpY2FsVG9w
KCkgPT0gUG9zaXRpb25Cb3R0b20pCisgICAgICAgIGVsc2UgaWYgKGN1cnItPnZlcnRpY2FsQWxp
Z24oKSA9PSBCT1RUT00pCiAgICAgICAgICAgICBjdXJyLT5zZXRMb2dpY2FsVG9wKHRvcCArIG1h
eEhlaWdodCAtIGN1cnItPmxpbmVIZWlnaHQoKSk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAg
ICAgaWYgKChpc0lubGluZUZsb3cgJiYgIXN0YXRpY19jYXN0PElubGluZUZsb3dCb3gqPihjdXJy
KS0+aGFzVGV4dENoaWxkcmVuKCkpICYmICFjdXJyLT5ib3hNb2RlbE9iamVjdCgpLT5oYXNJbmxp
bmVEaXJlY3Rpb25Cb3JkZXJzT3JQYWRkaW5nKCkgJiYgIXN0cmljdE1vZGUpCkBAIC03MjQsOCAr
NzMyLDggQEAgdm9pZCBJbmxpbmVGbG93Qm94OjphZGRCb3hTaGFkb3dWaXN1YWxPdgogICAgIGlu
dCBib3hTaGFkb3dMb2dpY2FsUmlnaHQ7CiAgICAgcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExp
bmUpLT5nZXRCb3hTaGFkb3dJbmxpbmVEaXJlY3Rpb25FeHRlbnQoYm94U2hhZG93TG9naWNhbExl
ZnQsIGJveFNoYWRvd0xvZ2ljYWxSaWdodCk7CiAKLSAgICBpbnQgbG9naWNhbExlZnRWaXN1YWxP
dmVyZmxvdyA9IG1pbihsb2dpY2FsTGVmdCgpICsgYm94U2hhZG93TG9naWNhbExlZnQsIGxvZ2lj
YWxWaXN1YWxPdmVyZmxvdy54KCkpOwotICAgIGludCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxv
dyA9IG1heChsb2dpY2FsUmlnaHQoKSArIGJveFNoYWRvd0xvZ2ljYWxSaWdodCwgbG9naWNhbFZp
c3VhbE92ZXJmbG93Lm1heFgoKSk7CisgICAgaW50IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cg
PSBtaW4ocGl4ZWxTbmFwcGVkTG9naWNhbExlZnQoKSArIGJveFNoYWRvd0xvZ2ljYWxMZWZ0LCBs
b2dpY2FsVmlzdWFsT3ZlcmZsb3cueCgpKTsKKyAgICBpbnQgbG9naWNhbFJpZ2h0VmlzdWFsT3Zl
cmZsb3cgPSBtYXgocGl4ZWxTbmFwcGVkTG9naWNhbFJpZ2h0KCkgKyBib3hTaGFkb3dMb2dpY2Fs
UmlnaHQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhYKCkpOwogICAgIAogICAgIGxvZ2ljYWxW
aXN1YWxPdmVyZmxvdyA9IEludFJlY3QobG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdywgbG9naWNh
bFRvcFZpc3VhbE92ZXJmbG93LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBs
b2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cpOwpA
QCAtNzgxLDggKzc4OSw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6YWRkVGV4dEJveFZpc3VhbE92
ZXIKIAogICAgIGludCBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cgPSBtaW4odGV4dEJveC0+bG9n
aWNhbFRvcCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxUb3AsIGxvZ2ljYWxWaXN1YWxPdmVyZmxv
dy55KCkpOwogICAgIGludCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBtYXgodGV4dEJv
eC0+bG9naWNhbEJvdHRvbSgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxCb3R0b20sIGxvZ2ljYWxW
aXN1YWxPdmVyZmxvdy5tYXhZKCkpOwotICAgIGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93
ID0gbWluKHRleHRCb3gtPmxvZ2ljYWxMZWZ0KCkgKyBjaGlsZE92ZXJmbG93TG9naWNhbExlZnQs
IGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy54KCkpOwotICAgIGludCBsb2dpY2FsUmlnaHRWaXN1YWxP
dmVyZmxvdyA9IG1heCh0ZXh0Qm94LT5sb2dpY2FsUmlnaHQoKSArIGNoaWxkT3ZlcmZsb3dMb2dp
Y2FsUmlnaHQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhYKCkpOworICAgIGludCBsb2dpY2Fs
TGVmdFZpc3VhbE92ZXJmbG93ID0gbWluKHRleHRCb3gtPnBpeGVsU25hcHBlZExvZ2ljYWxMZWZ0
KCkgKyBjaGlsZE92ZXJmbG93TG9naWNhbExlZnQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy54KCkp
OworICAgIGludCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1heCh0ZXh0Qm94LT5waXhl
bFNuYXBwZWRMb2dpY2FsUmlnaHQoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQsIGxvZ2lj
YWxWaXN1YWxPdmVyZmxvdy5tYXhYKCkpOwogICAgIAogICAgIGxvZ2ljYWxWaXN1YWxPdmVyZmxv
dyA9IEludFJlY3QobG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdywgbG9naWNhbFRvcFZpc3VhbE92
ZXJmbG93LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9naWNhbFJpZ2h0
VmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsQm90dG9t
VmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsVG9wVmlzdWFsT3ZlcmZsb3cpOwpAQCAtODE5LDcgKzgy
Nyw3IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6Y29tcHV0ZU92ZXJmbG93KGludCAKICAgICAvLyBW
aXN1YWwgb3ZlcmZsb3cganVzdCBpbmNsdWRlcyBvdmVyZmxvdyBmb3Igc3R1ZmYgd2UgbmVlZCB0
byByZXBhaW50IG91cnNlbHZlcy4gIFNlbGYtcGFpbnRpbmcgbGF5ZXJzIGFyZSBpZ25vcmVkLgog
ICAgIC8vIExheW91dCBvdmVyZmxvdyBpcyB1c2VkIHRvIGRldGVybWluZSBzY3JvbGxpbmcgZXh0
ZW50LCBzbyBpdCBzdGlsbCBpbmNsdWRlcyBjaGlsZCBsYXllcnMgYW5kIGFsc28gZmFjdG9ycyBp
bgogICAgIC8vIHRyYW5zZm9ybXMsIHJlbGF0aXZlIHBvc2l0aW9uaW5nLCBldGMuCi0gICAgSW50
UmVjdCBsb2dpY2FsTGF5b3V0T3ZlcmZsb3cobG9naWNhbExlZnQoKSwgdG9wT3ZlcmZsb3csIGxv
Z2ljYWxXaWR0aCgpLCBib3R0b21PdmVyZmxvdyAtIHRvcE92ZXJmbG93KTsKKyAgICBJbnRSZWN0
IGxvZ2ljYWxMYXlvdXRPdmVyZmxvdyhlbmNsb3NpbmdJbnRSZWN0KEZsb2F0UmVjdChsb2dpY2Fs
TGVmdCgpLCB0b3BPdmVyZmxvdywgbG9naWNhbFdpZHRoKCksIGJvdHRvbU92ZXJmbG93IC0gdG9w
T3ZlcmZsb3cpKSk7CiAgICAgSW50UmVjdCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cobG9naWNhbExh
eW91dE92ZXJmbG93KTsKICAgCiAgICAgLy8gYm94LXNoYWRvdyBvbiByb290IGxpbmUgYm94ZXMg
aXMgYXBwbHlpbmcgdG8gdGhlIGJsb2NrIGFuZCBub3QgdG8gdGhlIGxpbmVzLgpAQCAtODY0LDcg
Kzg3Miw3IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6Y29tcHV0ZU92ZXJmbG93KGludCAKIC8vIGFs
bCBmdW5jdGlvbnMgdGhhdCBxdWVyeSBvdmVyZmxvdy4gICAKIHZvaWQgSW5saW5lRmxvd0JveDo6
c2V0TGF5b3V0T3ZlcmZsb3coY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKLSAgICBJbnRSZWN0IGZy
YW1lQm94ID0gZnJhbWVSZWN0KCk7CisgICAgSW50UmVjdCBmcmFtZUJveCA9IGVuY2xvc2luZ0lu
dFJlY3QoRmxvYXRSZWN0KHgoKSwgeSgpLCB3aWR0aCgpLCBoZWlnaHQoKSkpOwogICAgIGlmIChm
cmFtZUJveCA9PSByZWN0IHx8IHJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAgICAg
ICAgIApAQCAtODc2LDcgKzg4NCw3IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6c2V0TGF5b3V0T3Zl
cmZsb3coY28KIAogdm9pZCBJbmxpbmVGbG93Qm94OjpzZXRWaXN1YWxPdmVyZmxvdyhjb25zdCBJ
bnRSZWN0JiByZWN0KQogewotICAgIEludFJlY3QgZnJhbWVCb3ggPSBmcmFtZVJlY3QoKTsKKyAg
ICBJbnRSZWN0IGZyYW1lQm94ID0gZW5jbG9zaW5nSW50UmVjdChGbG9hdFJlY3QoeCgpLCB5KCks
IHdpZHRoKCksIGhlaWdodCgpKSk7CiAgICAgaWYgKGZyYW1lQm94ID09IHJlY3QgfHwgcmVjdC5p
c0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCkBAIC05MTIsOSArOTIwLDkgQEAg
Ym9vbCBJbmxpbmVGbG93Qm94Ojpub2RlQXRQb2ludChjb25zdCBIaQogICAgIH0KIAogICAgIC8v
IE5vdyBjaGVjayBvdXJzZWx2ZXMuCi0gICAgSW50UG9pbnQgYm94T3JpZ2luID0gbG9jYXRpb25J
bmNsdWRpbmdGbGlwcGluZygpOworICAgIEZsb2F0UG9pbnQgYm94T3JpZ2luID0gbG9jYXRpb25J
bmNsdWRpbmdGbGlwcGluZygpOwogICAgIGJveE9yaWdpbi5tb3ZlKHR4LCB0eSk7Ci0gICAgSW50
UmVjdCByZWN0KGJveE9yaWdpbiwgSW50U2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSkpOworICAgIEZs
b2F0UmVjdCByZWN0KGJveE9yaWdpbiwgSW50U2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSkpOwogICAg
IGlmICh2aXNpYmxlVG9IaXRUZXN0aW5nKCkgJiYgcmVjdC5pbnRlcnNlY3RzKHJlc3VsdC5yZWN0
Rm9yUG9pbnQoeCwgeSkpKSB7CiAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUhpdFRlc3RSZXN1
bHQocmVzdWx0LCBmbGlwRm9yV3JpdGluZ01vZGUoSW50UG9pbnQoeCAtIHR4LCB5IC0gdHkpKSk7
IC8vIERvbid0IGFkZCBpbiBtX3ggb3IgbV95IGhlcmUsIHdlIHdhbnQgY29vcmRzIGluIHRoZSBj
b250YWluaW5nIGJsb2NrJ3Mgc3BhY2UuCiAgICAgICAgIGlmICghcmVzdWx0LmFkZE5vZGVUb1Jl
Y3RCYXNlZFRlc3RSZXN1bHQocmVuZGVyZXIoKS0+bm9kZSgpLCB4LCB5LCByZWN0KSkKQEAgLTEw
NTAsMTAgKzEwNTgsMTIgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwYWludEJveERlY29yYXRpb25z
KAogICAgIGlmICghcGFpbnRJbmZvLnNob3VsZFBhaW50V2l0aGluUm9vdChyZW5kZXJlcigpKSB8
fCByZW5kZXJlcigpLT5zdHlsZSgpLT52aXNpYmlsaXR5KCkgIT0gVklTSUJMRSB8fCBwYWludElu
Zm8ucGhhc2UgIT0gUGFpbnRQaGFzZUZvcmVncm91bmQpCiAgICAgICAgIHJldHVybjsKIAotICAg
IGludCB4ID0gbV94OwotICAgIGludCB5ID0gbV95OwotICAgIGludCB3ID0gd2lkdGgoKTsKLSAg
ICBpbnQgaCA9IGhlaWdodCgpOworICAgIC8vIFBpeGVsIHNuYXAgYmFja2dyb3VuZC9ib3JkZXIg
cGFpbnRpbmcuCisgICAgSW50UmVjdCBmcmFtZVJlY3QgPSByb3VuZGVkRnJhbWVSZWN0KCk7Cisg
ICAgaW50IHggPSBmcmFtZVJlY3QueCgpOworICAgIGludCB5ID0gZnJhbWVSZWN0LnkoKTsKKyAg
ICBpbnQgdyA9IGZyYW1lUmVjdC53aWR0aCgpOworICAgIGludCBoID0gZnJhbWVSZWN0LmhlaWdo
dCgpOwogCiAgICAgLy8gQ29uc3RyYWluIG91ciBiYWNrZ3JvdW5kL2JvcmRlciBwYWludGluZyB0
byB0aGUgbGluZSB0b3AgYW5kIGJvdHRvbSBpZiBuZWNlc3NhcnkuCiAgICAgYm9vbCBub1F1aXJr
c01vZGUgPSByZW5kZXJlcigpLT5kb2N1bWVudCgpLT5pbk5vUXVpcmtzTW9kZSgpOwpAQCAtMTEz
MywxMCArMTE0MywxMiBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBhaW50TWFzayhQYWludEluZm8m
CiAgICAgaWYgKCFwYWludEluZm8uc2hvdWxkUGFpbnRXaXRoaW5Sb290KHJlbmRlcmVyKCkpIHx8
IHJlbmRlcmVyKCktPnN0eWxlKCktPnZpc2liaWxpdHkoKSAhPSBWSVNJQkxFIHx8IHBhaW50SW5m
by5waGFzZSAhPSBQYWludFBoYXNlTWFzaykKICAgICAgICAgcmV0dXJuOwogCi0gICAgaW50IHgg
PSBtX3g7Ci0gICAgaW50IHkgPSBtX3k7Ci0gICAgaW50IHcgPSB3aWR0aCgpOwotICAgIGludCBo
ID0gaGVpZ2h0KCk7CisgICAgLy8gUGl4ZWwgc25hcCBtYXNrIHBhaW50aW5nLgorICAgIEludFJl
Y3QgZnJhbWVSZWN0ID0gcm91bmRlZEZyYW1lUmVjdCgpOworICAgIGludCB4ID0gZnJhbWVSZWN0
LngoKTsKKyAgICBpbnQgeSA9IGZyYW1lUmVjdC55KCk7CisgICAgaW50IHcgPSBmcmFtZVJlY3Qu
d2lkdGgoKTsKKyAgICBpbnQgaCA9IGZyYW1lUmVjdC5oZWlnaHQoKTsKIAogICAgIC8vIENvbnN0
cmFpbiBvdXIgYmFja2dyb3VuZC9ib3JkZXIgcGFpbnRpbmcgdG8gdGhlIGxpbmUgdG9wIGFuZCBi
b3R0b20gaWYgbmVjZXNzYXJ5LgogICAgIGJvb2wgbm9RdWlya3NNb2RlID0gcmVuZGVyZXIoKS0+
ZG9jdW1lbnQoKS0+aW5Ob1F1aXJrc01vZGUoKTsKQEAgLTEyMzcsMTQgKzEyNDksMTQgQEAgYm9v
bCBJbmxpbmVGbG93Qm94OjpjYW5BY2NvbW1vZGF0ZUVsbGlwcwogICAgIHJldHVybiB0cnVlOwog
fQogCi1pbnQgSW5saW5lRmxvd0JveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgaW50IGJs
b2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wm
IGZvdW5kQm94KQorZmxvYXQgSW5saW5lRmxvd0JveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGx0
ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVkZ2UsIGZsb2F0IGVsbGlw
c2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KQogewotICAgIGludCByZXN1bHQgPSAtMTsKKyAgICBm
bG9hdCByZXN1bHQgPSAtMTsKICAgICAvLyBXZSBpdGVyYXRlIG92ZXIgYWxsIGNoaWxkcmVuLCB0
aGUgZm91bmRCb3ggdmFyaWFibGUgdGVsbHMgdXMgd2hlbiB3ZSd2ZSBmb3VuZCB0aGUKICAgICAv
LyBib3ggY29udGFpbmluZyB0aGUgZWxsaXBzaXMuICBBbGwgYm94ZXMgYWZ0ZXIgdGhhdCBvbmUg
aW4gdGhlIGZsb3cgYXJlIGhpZGRlbi4KICAgICAvLyBJZiBvdXIgZmxvdyBpcyBsdHIgdGhlbiBp
dGVyYXRlIG92ZXIgdGhlIGJveGVzIGZyb20gbGVmdCB0byByaWdodCwgb3RoZXJ3aXNlIGl0ZXJh
dGUKICAgICAvLyBmcm9tIHJpZ2h0IHRvIGxlZnQuIFZhcnlpbmcgdGhlIG9yZGVyIGFsbG93cyB1
cyB0byBjb3JyZWN0bHkgaGlkZSB0aGUgYm94ZXMgZm9sbG93aW5nIHRoZSBlbGxpcHNpcy4KLSAg
ICBJbmxpbmVCb3ggKmJveCA9IGx0ciA/IGZpcnN0Q2hpbGQoKSA6IGxhc3RDaGlsZCgpOworICAg
IElubGluZUJveCogYm94ID0gbHRyID8gZmlyc3RDaGlsZCgpIDogbGFzdENoaWxkKCk7CiAKICAg
ICAvLyBOT1RFOiB0aGVzZSB3aWxsIGNyb3NzIGFmdGVyIGZvdW5kQm94ID0gdHJ1ZS4KICAgICBp
bnQgdmlzaWJsZUxlZnRFZGdlID0gYmxvY2tMZWZ0RWRnZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NSw3ICs4
NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlTGluZShSZW5kZXJBcmVuYSop
OwogICAgIHZpcnR1YWwgdm9pZCBleHRyYWN0TGluZSgpOwogICAgIHZpcnR1YWwgdm9pZCBhdHRh
Y2hMaW5lKCk7Ci0gICAgdmlydHVhbCB2b2lkIGFkanVzdFBvc2l0aW9uKGludCBkeCwgaW50IGR5
KTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UG9zaXRpb24oZmxvYXQgZHgsIGZsb2F0IGR5KTsK
IAogICAgIHZpcnR1YWwgdm9pZCBleHRyYWN0TGluZUJveEZyb21SZW5kZXJPYmplY3QoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgYXR0YWNoTGluZUJveFRvUmVuZGVyT2JqZWN0KCk7CkBAIC05Myw2ICs5
Myw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBjbGVhclRydW5jYXRpb24oKTsKIAor
ICAgIEludFJlY3Qgcm91bmRlZEZyYW1lUmVjdCgpIGNvbnN0OworICAgIAogICAgIHZpcnR1YWwg
dm9pZCBwYWludEJveERlY29yYXRpb25zKFBhaW50SW5mbyYsIGludCB0eCwgaW50IHR5KTsKICAg
ICB2aXJ0dWFsIHZvaWQgcGFpbnRNYXNrKFBhaW50SW5mbyYsIGludCB0eCwgaW50IHR5KTsKICAg
ICB2b2lkIHBhaW50RmlsbExheWVycyhjb25zdCBQYWludEluZm8mLCBjb25zdCBDb2xvciYsIGNv
bnN0IEZpbGxMYXllciosIGludCB0eCwgaW50IHR5LCBpbnQgdywgaW50IGgsIENvbXBvc2l0ZU9w
ZXJhdG9yID0gQ29tcG9zaXRlU291cmNlT3Zlcik7CkBAIC0xNTUsNyArMTU3LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgZGV0ZXJtaW5lU3BhY2luZ0ZvckZsb3dCb3hlcyhib29sIGxhc3RMaW5lLCBS
ZW5kZXJPYmplY3QqIGVuZE9iamVjdCk7CiAgICAgaW50IGdldEZsb3dTcGFjaW5nTG9naWNhbFdp
ZHRoKCk7CiAgICAgYm9vbCBvbkVuZENoYWluKFJlbmRlck9iamVjdCogZW5kT2JqZWN0KTsKLSAg
ICBpbnQgcGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9uKGludCBsb2dpY2FsTGVmdCwgYm9vbCYg
bmVlZHNXb3JkU3BhY2luZywgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmKTsKKyAg
ICBmbG9hdCBwbGFjZUJveGVzSW5JbmxpbmVEaXJlY3Rpb24oZmxvYXQgbG9naWNhbExlZnQsIGJv
b2wmIG5lZWRzV29yZFNwYWNpbmcsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJik7
CiAgICAgdm9pZCBjb21wdXRlTG9naWNhbEJveEhlaWdodHMoaW50JiBtYXhQb3NpdGlvblRvcCwg
aW50JiBtYXhQb3NpdGlvbkJvdHRvbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQmIG1heEFzY2VudCwgaW50JiBtYXhEZXNjZW50LCBib29sJiBzZXRNYXhBc2NlbnQsIGJv
b2wmIHNldE1heERlc2NlbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v
bCBzdHJpY3RNb2RlLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYsIEZvbnRCYXNl
bGluZSwgVmVydGljYWxQb3NpdGlvbkNhY2hlJik7CkBAIC0xNzYsNyArMTc4LDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0OjpTZWxlY3Rpb25TdGF0ZSBzZWxlY3Rpb25TdGF0
ZSgpOwogCiAgICAgdmlydHVhbCBib29sIGNhbkFjY29tbW9kYXRlRWxsaXBzaXMoYm9vbCBsdHIs
IGludCBibG9ja0VkZ2UsIGludCBlbGxpcHNpc1dpZHRoKTsKLSAgICB2aXJ0dWFsIGludCBwbGFj
ZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBpbnQgYmxvY2tMZWZ0RWRnZSwgaW50IGJsb2NrUmlnaHRF
ZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCwgYm9vbCYpOworICAgIHZpcnR1YWwgZmxvYXQgcGxhY2VF
bGxpcHNpc0JveChib29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdo
dEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmKTsKIAogICAgIGJvb2wgaGFzVGV4dENo
aWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbV9oYXNUZXh0Q2hpbGRyZW47IH0KIApAQCAtMTg3LDEw
ICsxODksMTAgQEAgcHVibGljOgogICAgIC8vIEZvciBob3Jpem9udGFsLXRiIGFuZCB2ZXJ0aWNh
bC1sciB0aGV5IHdpbGwgbWF0Y2ggcGh5c2ljYWwgZGlyZWN0aW9ucywgYnV0IGZvciBob3Jpem9u
dGFsLWJ0IGFuZCB2ZXJ0aWNhbC1ybCwgdGhlIHRvcC9ib3R0b20gYW5kIGxlZnQvcmlnaHQKICAg
ICAvLyByZXNwZWN0aXZlbHkgYXJlIGZsaXBwZWQgd2hlbiBjb21wYXJlZCB0byB0aGVpciBwaHlz
aWNhbCBjb3VudGVycGFydHMuICBGb3IgZXhhbXBsZSBtaW5YIGlzIG9uIHRoZSBsZWZ0IGluIHZl
cnRpY2FsLWxyLCBidXQgaXQgaXMgb24gdGhlIHJpZ2h0IGluIHZlcnRpY2FsLXJsLgogICAgIGlu
dCBtaW5ZTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVy
Zmxvdy0+bWluWUxheW91dE92ZXJmbG93KCkgOiBtX3k7IH0KLSAgICBpbnQgbWF4WUxheW91dE92
ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPm1heFlMYXlv
dXRPdmVyZmxvdygpIDogbV95ICsgaGVpZ2h0KCk7IH0KKyAgICBpbnQgbWF4WUxheW91dE92ZXJm
bG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPm1heFlMYXlvdXRP
dmVyZmxvdygpIDogY2VpbGYobV95ICsgaGVpZ2h0KCkpOyB9CiAgICAgaW50IG1pblhMYXlvdXRP
dmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5taW5YTGF5
b3V0T3ZlcmZsb3coKSA6IG1feDsgfQotICAgIGludCBtYXhYTGF5b3V0T3ZlcmZsb3coKSBjb25z
dCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+bWF4WExheW91dE92ZXJmbG93KCkg
OiBtX3ggKyB3aWR0aCgpOyB9Ci0gICAgSW50UmVjdCBsYXlvdXRPdmVyZmxvd1JlY3QoKSBjb25z
dCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+bGF5b3V0T3ZlcmZsb3dSZWN0KCkg
OiBJbnRSZWN0KG1feCwgbV95LCB3aWR0aCgpLCBoZWlnaHQoKSk7IH0KKyAgICBpbnQgbWF4WExh
eW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPm1h
eFhMYXlvdXRPdmVyZmxvdygpIDogY2VpbGYobV94ICsgd2lkdGgoKSk7IH0KKyAgICBJbnRSZWN0
IGxheW91dE92ZXJmbG93UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJm
bG93LT5sYXlvdXRPdmVyZmxvd1JlY3QoKSA6IGVuY2xvc2luZ0ludFJlY3QoRmxvYXRSZWN0KG1f
eCwgbV95LCB3aWR0aCgpLCBoZWlnaHQoKSkpOyB9CiAgICAgaW50IGxvZ2ljYWxMZWZ0TGF5b3V0
T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLT5zdHlsZSgpLT5pc0hvcml6b250
YWxXcml0aW5nTW9kZSgpID8gbWluWExheW91dE92ZXJmbG93KCkgOiBtaW5ZTGF5b3V0T3ZlcmZs
b3coKTsgfQogICAgIGludCBsb2dpY2FsUmlnaHRMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0
dXJuIHJlbmRlcmVyKCktPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBtYXhY
TGF5b3V0T3ZlcmZsb3coKSA6IG1heFlMYXlvdXRPdmVyZmxvdygpOyB9CiAgICAgaW50IGxvZ2lj
YWxUb3BMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVyKCktPnN0eWxlKCkt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBtaW5ZVmlzdWFsT3ZlcmZsb3coKSA6IG1pblhW
aXN1YWxPdmVyZmxvdygpOyB9CkBAIC0yMDQsMTAgKzIwNiwxMCBAQCBwdWJsaWM6CiAgICAgfQog
CiAgICAgaW50IG1pbllWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cg
PyBtX292ZXJmbG93LT5taW5ZVmlzdWFsT3ZlcmZsb3coKSA6IG1feTsgfQotICAgIGludCBtYXhZ
VmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+
bWF4WVZpc3VhbE92ZXJmbG93KCkgOiBtX3kgKyBoZWlnaHQoKTsgfQorICAgIGludCBtYXhZVmlz
dWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+bWF4
WVZpc3VhbE92ZXJmbG93KCkgOiBjZWlsZihtX3kgKyBoZWlnaHQoKSk7IH0KICAgICBpbnQgbWlu
WFZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ct
Pm1pblhWaXN1YWxPdmVyZmxvdygpIDogbV94OyB9Ci0gICAgaW50IG1heFhWaXN1YWxPdmVyZmxv
dygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5tYXhYVmlzdWFsT3Zl
cmZsb3coKSA6IG1feCArIHdpZHRoKCk7IH0KLSAgICBJbnRSZWN0IHZpc3VhbE92ZXJmbG93UmVj
dCgpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT52aXN1YWxPdmVyZmxv
d1JlY3QoKSA6IEludFJlY3QobV94LCBtX3ksIHdpZHRoKCksIGhlaWdodCgpKTsgfQorICAgIGlu
dCBtYXhYVmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVy
Zmxvdy0+bWF4WFZpc3VhbE92ZXJmbG93KCkgOiBjZWlsZihtX3ggKyB3aWR0aCgpKTsgfQorICAg
IEludFJlY3QgdmlzdWFsT3ZlcmZsb3dSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/
IG1fb3ZlcmZsb3ctPnZpc3VhbE92ZXJmbG93UmVjdCgpIDogZW5jbG9zaW5nSW50UmVjdChGbG9h
dFJlY3QobV94LCBtX3ksIHdpZHRoKCksIGhlaWdodCgpKSk7IH0KICAgICBpbnQgbG9naWNhbExl
ZnRWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVyKCktPnN0eWxlKCktPmlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBtaW5YVmlzdWFsT3ZlcmZsb3coKSA6IG1pbllWaXN1
YWxPdmVyZmxvdygpOyB9CiAgICAgaW50IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KCkgY29u
c3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSA/IG1heFhWaXN1YWxPdmVyZmxvdygpIDogbWF4WVZpc3VhbE92ZXJmbG93KCk7IH0KICAgICBp
bnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+
c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IG1pbllWaXN1YWxPdmVyZmxvdygp
IDogbWluWFZpc3VhbE92ZXJmbG93KCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9JbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW5saW5lVGV4dEJveC5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDEsNyArMjAx
LDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjphdHRhY2hMaW5lKCkKICAgICB0b1JlbmRlclRleHQo
cmVuZGVyZXIoKSktPmF0dGFjaFRleHRCb3godGhpcyk7CiB9CiAKLWludCBJbmxpbmVUZXh0Qm94
OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wgZmxvd0lzTFRSLCBpbnQgdmlzaWJsZUxlZnRFZGdlLCBp
bnQgdmlzaWJsZVJpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KQor
ZmxvYXQgSW5saW5lVGV4dEJveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGZsb3dJc0xUUiwgZmxv
YXQgdmlzaWJsZUxlZnRFZGdlLCBmbG9hdCB2aXNpYmxlUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNp
c1dpZHRoLCBib29sJiBmb3VuZEJveCkKIHsKICAgICBpZiAoZm91bmRCb3gpIHsKICAgICAgICAg
bV90cnVuY2F0aW9uID0gY0Z1bGxUcnVuY2F0aW9uOwpAQCAtMjA5LDcgKzIwOSw3IEBAIGludCBJ
bmxpbmVUZXh0Qm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wKICAgICB9CiAKICAgICAvLyBGb3Ig
TFRSIHRoaXMgaXMgdGhlIGxlZnQgZWRnZSBvZiB0aGUgYm94LCBmb3IgUlRMLCB0aGUgcmlnaHQg
ZWRnZSBpbiBwYXJlbnQgY29vcmRpbmF0ZXMuCi0gICAgaW50IGVsbGlwc2lzWCA9IGZsb3dJc0xU
UiA/IHZpc2libGVSaWdodEVkZ2UgLSBlbGxpcHNpc1dpZHRoIDogdmlzaWJsZUxlZnRFZGdlICsg
ZWxsaXBzaXNXaWR0aDsKKyAgICBmbG9hdCBlbGxpcHNpc1ggPSBmbG93SXNMVFIgPyB2aXNpYmxl
UmlnaHRFZGdlIC0gZWxsaXBzaXNXaWR0aCA6IHZpc2libGVMZWZ0RWRnZSArIGVsbGlwc2lzV2lk
dGg7CiAgICAgCiAgICAgLy8gQ3JpdGVyaWEgZm9yIGZ1bGwgdHJ1bmNhdGlvbjoKICAgICAvLyBM
VFI6IHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlIGVsbGlwc2lzIGlzIHRvIHRoZSBsZWZ0IG9mIG91ciB0
ZXh0IHJ1bi4KQEAgLTI1MSw3ICsyNTEsNyBAQCBpbnQgSW5saW5lVGV4dEJveDo6cGxhY2VFbGxp
cHNpc0JveChib29sCiAKICAgICAgICAgLy8gSWYgd2UgZ290IGhlcmUgdGhhdCBtZWFucyB0aGF0
IHdlIHdlcmUgb25seSBwYXJ0aWFsbHkgdHJ1bmNhdGVkIGFuZCB3ZSBuZWVkIHRvIHJldHVybiB0
aGUgcGl4ZWwgb2Zmc2V0IGF0IHdoaWNoCiAgICAgICAgIC8vIHRvIHBsYWNlIHRoZSBlbGxpcHNp
cy4KLSAgICAgICAgaW50IHdpZHRoT2ZWaXNpYmxlVGV4dCA9IHRvUmVuZGVyVGV4dChyZW5kZXJl
cigpKS0+d2lkdGgobV9zdGFydCwgb2Zmc2V0LCB0ZXh0UG9zKCksIG1fZmlyc3RMaW5lKTsKKyAg
ICAgICAgZmxvYXQgd2lkdGhPZlZpc2libGVUZXh0ID0gdG9SZW5kZXJUZXh0KHJlbmRlcmVyKCkp
LT53aWR0aChtX3N0YXJ0LCBvZmZzZXQsIHRleHRQb3MoKSwgbV9maXJzdExpbmUpOwogCiAgICAg
ICAgIC8vIFRoZSBlbGxpcHNpcyBuZWVkcyB0byBiZSBwbGFjZWQganVzdCBhZnRlciB0aGUgbGFz
dCB2aXNpYmxlIGNoYXJhY3Rlci4KICAgICAgICAgLy8gV2hlcmUgImFmdGVyIiBpcyBkZWZpbmVk
IGJ5IHRoZSBmbG93IGRpcmVjdGlvbmFsaXR5LCBub3QgdGhlIGlubGluZQpAQCAtMzE5LDkgKzMx
OSw5IEBAIGJvb2wgSW5saW5lVGV4dEJveDo6bm9kZUF0UG9pbnQoY29uc3QgSGkKICAgICBpZiAo
aXNMaW5lQnJlYWsoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgSW50UG9pbnQgYm94
T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOworICAgIEZsb2F0UG9pbnQgYm94
T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOwogICAgIGJveE9yaWdpbi5tb3Zl
KHR4LCB0eSk7Ci0gICAgSW50UmVjdCByZWN0KGJveE9yaWdpbiwgSW50U2l6ZSh3aWR0aCgpLCBo
ZWlnaHQoKSkpOworICAgIEZsb2F0UmVjdCByZWN0KGJveE9yaWdpbiwgSW50U2l6ZSh3aWR0aCgp
LCBoZWlnaHQoKSkpOwogICAgIGlmIChtX3RydW5jYXRpb24gIT0gY0Z1bGxUcnVuY2F0aW9uICYm
IHZpc2libGVUb0hpdFRlc3RpbmcoKSAmJiByZWN0LmludGVyc2VjdHMocmVzdWx0LnJlY3RGb3JQ
b2ludCh4LCB5KSkpIHsKICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlSGl0VGVzdFJlc3VsdChy
ZXN1bHQsIGZsaXBGb3JXcml0aW5nTW9kZShJbnRQb2ludCh4IC0gdHgsIHkgLSB0eSkpKTsKICAg
ICAgICAgaWYgKCFyZXN1bHQuYWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChyZW5kZXJlcigp
LT5ub2RlKCksIHgsIHksIHJlY3QpKQpAQCAtMzU3LDggKzM1Nyw4IEBAIEZsb2F0U2l6ZSBJbmxp
bmVUZXh0Qm94OjphcHBseVNoYWRvd1RvR3IKICAgICByZXR1cm4gZXh0cmFPZmZzZXQ7CiB9CiAK
LXN0YXRpYyB2b2lkIHBhaW50VGV4dFdpdGhTaGFkb3dzKEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCwgY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgdGV4dFJ1biwgY29uc3QgQXRvbWlj
U3RyaW5nJiBlbXBoYXNpc01hcmssIGludCBlbXBoYXNpc01hcmtPZmZzZXQsIGludCBzdGFydE9m
ZnNldCwgaW50IGVuZE9mZnNldCwgaW50IHRydW5jYXRpb25Qb2ludCwgY29uc3QgSW50UG9pbnQm
IHRleHRPcmlnaW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRS
ZWN0JiBib3hSZWN0LCBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3csIGJvb2wgc3Ryb2tlZCwgYm9v
bCBob3Jpem9udGFsKQorc3RhdGljIHZvaWQgcGFpbnRUZXh0V2l0aFNoYWRvd3MoR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiB0ZXh0UnVu
LCBjb25zdCBBdG9taWNTdHJpbmcmIGVtcGhhc2lzTWFyaywgaW50IGVtcGhhc2lzTWFya09mZnNl
dCwgaW50IHN0YXJ0T2Zmc2V0LCBpbnQgZW5kT2Zmc2V0LCBpbnQgdHJ1bmNhdGlvblBvaW50LCBj
b25zdCBGbG9hdFBvaW50JiB0ZXh0T3JpZ2luLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgRmxvYXRSZWN0JiBib3hSZWN0LCBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3cs
IGJvb2wgc3Ryb2tlZCwgYm9vbCBob3Jpem9udGFsKQogewogICAgIENvbG9yIGZpbGxDb2xvciA9
IGNvbnRleHQtPmZpbGxDb2xvcigpOwogICAgIENvbG9yU3BhY2UgZmlsbENvbG9yU3BhY2UgPSBj
b250ZXh0LT5maWxsQ29sb3JTcGFjZSgpOwpAQCAtNDgyLDEwICs0ODIsMTAgQEAgdm9pZCBJbmxp
bmVUZXh0Qm94OjpwYWludChQYWludEluZm8mIHBhaQogICAgIAogICAgIHR5IC09IHN0eWxlVG9V
c2UtPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyAwIDogbG9naWNhbEhlaWdodCgpOwogCi0g
ICAgSW50UG9pbnQgYm94T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOworICAg
IEZsb2F0UG9pbnQgYm94T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOwogICAg
IGJveE9yaWdpbi5tb3ZlKHR4LCB0eSk7ICAgIAotICAgIEludFJlY3QgYm94UmVjdChib3hPcmln
aW4sIEludFNpemUobG9naWNhbFdpZHRoKCksIGxvZ2ljYWxIZWlnaHQoKSkpOwotICAgIEludFBv
aW50IHRleHRPcmlnaW4gPSBJbnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpICsg
c3R5bGVUb1VzZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CisgICAgRmxvYXRSZWN0IGJveFJl
Y3QoYm94T3JpZ2luLCBJbnRTaXplKGxvZ2ljYWxXaWR0aCgpLCBsb2dpY2FsSGVpZ2h0KCkpKTsK
KyAgICBGbG9hdFBvaW50IHRleHRPcmlnaW4gPSBGbG9hdFBvaW50KGJveE9yaWdpbi54KCksIGJv
eE9yaWdpbi55KCkgKyBzdHlsZVRvVXNlLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsKIAogICAg
IFJlbmRlckNvbWJpbmVUZXh0KiBjb21iaW5lZFRleHQgPSBzdHlsZVRvVXNlLT5oYXNUZXh0Q29t
YmluZSgpID8gdG9SZW5kZXJDb21iaW5lVGV4dCh0ZXh0UmVuZGVyZXIoKSkgOiAwOwogICAgIGJv
b2wgc2hvdWxkUm90YXRlID0gIWlzSG9yaXpvbnRhbCgpICYmICghY29tYmluZWRUZXh0IHx8ICFj
b21iaW5lZFRleHQtPmlzQ29tYmluZWQoKSk7CkBAIC03MzYsNyArNzM2LDcgQEAgdm9pZCBJbmxp
bmVUZXh0Qm94OjpzZWxlY3Rpb25TdGFydEVuZChpbgogICAgIGVQb3MgPSBtaW4oZW5kUG9zIC0g
bV9zdGFydCwgKGludCltX2xlbik7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTZWxl
Y3Rpb24oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2lu
LCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQpCit2b2lkIElubGluZVRleHRC
b3g6OnBhaW50U2VsZWN0aW9uKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRQ
b2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQpCiB7
CiAgICAgLy8gU2VlIGlmIHdlIGhhdmUgYSBzZWxlY3Rpb24gdG8gcGFpbnQgYXQgYWxsLgogICAg
IGludCBzUG9zLCBlUG9zOwpAQCAtNzcwLDE1ICs3NzAsMTUgQEAgdm9pZCBJbmxpbmVUZXh0Qm94
OjpwYWludFNlbGVjdGlvbihHcmFwaAogCiAgICAgaW50IGRlbHRhWSA9IHJlbmRlcmVyKCktPnN0
eWxlKCktPmlzRmxpcHBlZExpbmVzV3JpdGluZ01vZGUoKSA/IHNlbGVjdGlvbkJvdHRvbSgpIC0g
bG9naWNhbEJvdHRvbSgpIDogbG9naWNhbFRvcCgpIC0gc2VsZWN0aW9uVG9wKCk7CiAgICAgaW50
IHNlbEhlaWdodCA9IHNlbGVjdGlvbkhlaWdodCgpOwotICAgIEludFBvaW50IGxvY2FsT3JpZ2lu
KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVkpOwotICAgIGNvbnRleHQtPmNs
aXAoSW50UmVjdChsb2NhbE9yaWdpbiwgSW50U2l6ZShtX2xvZ2ljYWxXaWR0aCwgc2VsSGVpZ2h0
KSkpOworICAgIEZsb2F0UG9pbnQgbG9jYWxPcmlnaW4oYm94T3JpZ2luLngoKSwgYm94T3JpZ2lu
LnkoKSAtIGRlbHRhWSk7CisgICAgY29udGV4dC0+Y2xpcChGbG9hdFJlY3QobG9jYWxPcmlnaW4s
IEZsb2F0U2l6ZShtX2xvZ2ljYWxXaWR0aCwgc2VsSGVpZ2h0KSkpOwogICAgIGNvbnRleHQtPmRy
YXdIaWdobGlnaHRGb3JUZXh0KGZvbnQsIFRleHRSdW4oY2hhcmFjdGVycywgbGVuZ3RoLCB0ZXh0
UmVuZGVyZXIoKS0+YWxsb3dUYWJzKCksIHRleHRQb3MoKSwgbV9leHBhbnNpb24sIHRyYWlsaW5n
RXhwYW5zaW9uQmVoYXZpb3IoKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IWlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgbV9kaXJPdmVycmlkZSB8fCBzdHlsZS0+dmlzdWFs
bHlPcmRlcmVkKCkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsT3Jp
Z2luLCBzZWxIZWlnaHQsIGMsIHN0eWxlLT5jb2xvclNwYWNlKCksIHNQb3MsIGVQb3MpOwogICAg
IGNvbnRleHQtPnJlc3RvcmUoKTsKIH0KIAotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBv
c2l0aW9uQmFja2dyb3VuZChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFBvaW50
JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgaW50IHN0
YXJ0UG9zLCBpbnQgZW5kUG9zKQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9u
QmFja2dyb3VuZChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UG9pbnQmIGJv
eE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250LCBpbnQgc3RhcnRQ
b3MsIGludCBlbmRQb3MpCiB7CiAgICAgaW50IG9mZnNldCA9IG1fc3RhcnQ7CiAgICAgaW50IHNQ
b3MgPSBtYXgoc3RhcnRQb3MgLSBvZmZzZXQsIDApOwpAQCAtNzk1LDcgKzc5NSw3IEBAIHZvaWQg
SW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvbkJhY2sKIAogICAgIGludCBkZWx0YVkgPSBy
ZW5kZXJlcigpLT5zdHlsZSgpLT5pc0ZsaXBwZWRMaW5lc1dyaXRpbmdNb2RlKCkgPyBzZWxlY3Rp
b25Cb3R0b20oKSAtIGxvZ2ljYWxCb3R0b20oKSA6IGxvZ2ljYWxUb3AoKSAtIHNlbGVjdGlvblRv
cCgpOwogICAgIGludCBzZWxIZWlnaHQgPSBzZWxlY3Rpb25IZWlnaHQoKTsKLSAgICBJbnRQb2lu
dCBsb2NhbE9yaWdpbihib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKKyAg
ICBGbG9hdFBvaW50IGxvY2FsT3JpZ2luKGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBk
ZWx0YVkpOwogICAgIGNvbnRleHQtPmRyYXdIaWdobGlnaHRGb3JUZXh0KGZvbnQsIFRleHRSdW4o
dGV4dFJlbmRlcmVyKCktPnRleHQoKS0+Y2hhcmFjdGVycygpICsgbV9zdGFydCwgbV9sZW4sIHRl
eHRSZW5kZXJlcigpLT5hbGxvd1RhYnMoKSwgdGV4dFBvcygpLCBtX2V4cGFuc2lvbiwgdHJhaWxp
bmdFeHBhbnNpb25CZWhhdmlvcigpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIG1fZGlyT3ZlcnJpZGUgfHwgc3R5bGUtPnZpc3Vh
bGx5T3JkZXJlZCgpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbE9y
aWdpbiwgc2VsSGVpZ2h0LCBjLCBzdHlsZS0+Y29sb3JTcGFjZSgpLCBzUG9zLCBlUG9zKTsKQEAg
LTgyMiwxNCArODIyLDE0IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDdXN0b21IaWdobGln
aHQKIAogI2VuZGlmCiAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKEdyYXBo
aWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgaW50IGRlY28s
IGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdykKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNv
cmF0aW9uKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRQb2ludCYgYm94T3Jp
Z2luLCBpbnQgZGVjbywgY29uc3QgU2hhZG93RGF0YSogc2hhZG93KQogewogICAgIGlmIChtX3Ry
dW5jYXRpb24gPT0gY0Z1bGxUcnVuY2F0aW9uKQogICAgICAgICByZXR1cm47CiAKLSAgICBJbnRQ
b2ludCBsb2NhbE9yaWdpbiA9IGJveE9yaWdpbjsKKyAgICBGbG9hdFBvaW50IGxvY2FsT3JpZ2lu
ID0gYm94T3JpZ2luOwogCi0gICAgaW50IHdpZHRoID0gbV9sb2dpY2FsV2lkdGg7CisgICAgZmxv
YXQgd2lkdGggPSBtX2xvZ2ljYWxXaWR0aDsKICAgICBpZiAobV90cnVuY2F0aW9uICE9IGNOb1Ry
dW5jYXRpb24pIHsKICAgICAgICAgd2lkdGggPSB0b1JlbmRlclRleHQocmVuZGVyZXIoKSktPndp
ZHRoKG1fc3RhcnQsIG1fdHJ1bmNhdGlvbiwgdGV4dFBvcygpLCBtX2ZpcnN0TGluZSk7CiAgICAg
ICAgIGlmICghaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQpAQCAtODUzLDkgKzg1Myw5IEBAIHZv
aWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKEdyYXAKICAgICBpbnQgZXh0cmFPZmZz
ZXQgPSAwOwogICAgIGlmICghbGluZXNBcmVPcGFxdWUgJiYgc2hhZG93ICYmIHNoYWRvdy0+bmV4
dCgpKSB7CiAgICAgICAgIGNvbnRleHQtPnNhdmUoKTsKLSAgICAgICAgSW50UmVjdCBjbGlwUmVj
dChsb2NhbE9yaWdpbiwgSW50U2l6ZSh3aWR0aCwgYmFzZWxpbmUgKyAyKSk7CisgICAgICAgIEZs
b2F0UmVjdCBjbGlwUmVjdChsb2NhbE9yaWdpbiwgRmxvYXRTaXplKHdpZHRoLCBiYXNlbGluZSAr
IDIpKTsKICAgICAgICAgZm9yIChjb25zdCBTaGFkb3dEYXRhKiBzID0gc2hhZG93OyBzOyBzID0g
cy0+bmV4dCgpKSB7Ci0gICAgICAgICAgICBJbnRSZWN0IHNoYWRvd1JlY3QobG9jYWxPcmlnaW4s
IEludFNpemUod2lkdGgsIGJhc2VsaW5lICsgMikpOworICAgICAgICAgICAgRmxvYXRSZWN0IHNo
YWRvd1JlY3QobG9jYWxPcmlnaW4sIEZsb2F0U2l6ZSh3aWR0aCwgYmFzZWxpbmUgKyAyKSk7CiAg
ICAgICAgICAgICBzaGFkb3dSZWN0LmluZmxhdGUocy0+Ymx1cigpKTsKICAgICAgICAgICAgIGlu
dCBzaGFkb3dYID0gaXNIb3Jpem9udGFsKCkgPyBzLT54KCkgOiBzLT55KCk7CiAgICAgICAgICAg
ICBpbnQgc2hhZG93WSA9IGlzSG9yaXpvbnRhbCgpID8gcy0+eSgpIDogLXMtPngoKTsKQEAgLTg4
Miw3ICs4ODIsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbihHcmFwCiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBpbnQgc2hhZG93WCA9IGlzSG9yaXpvbnRhbCgpID8g
c2hhZG93LT54KCkgOiBzaGFkb3ctPnkoKTsKICAgICAgICAgICAgIGludCBzaGFkb3dZID0gaXNI
b3Jpem9udGFsKCkgPyBzaGFkb3ctPnkoKSA6IC1zaGFkb3ctPngoKTsKLSAgICAgICAgICAgIGNv
bnRleHQtPnNldFNoYWRvdyhJbnRTaXplKHNoYWRvd1gsIHNoYWRvd1kgLSBleHRyYU9mZnNldCks
IHNoYWRvdy0+Ymx1cigpLCBzaGFkb3ctPmNvbG9yKCksIGNvbG9yU3BhY2UpOworICAgICAgICAg
ICAgY29udGV4dC0+c2V0U2hhZG93KEZsb2F0U2l6ZShzaGFkb3dYLCBzaGFkb3dZIC0gZXh0cmFP
ZmZzZXQpLCBzaGFkb3ctPmJsdXIoKSwgc2hhZG93LT5jb2xvcigpLCBjb2xvclNwYWNlKTsKICAg
ICAgICAgICAgIHNldFNoYWRvdyA9IHRydWU7CiAgICAgICAgICAgICBzaGFkb3cgPSBzaGFkb3ct
Pm5leHQoKTsKICAgICAgICAgfQpAQCAtODkxLDcgKzg5MSw3IEBAIHZvaWQgSW5saW5lVGV4dEJv
eDo6cGFpbnREZWNvcmF0aW9uKEdyYXAKICAgICAgICAgICAgIGNvbnRleHQtPnNldFN0cm9rZUNv
bG9yKHVuZGVybGluZSwgY29sb3JTcGFjZSk7CiAgICAgICAgICAgICBjb250ZXh0LT5zZXRTdHJv
a2VTdHlsZShTb2xpZFN0cm9rZSk7CiAgICAgICAgICAgICAvLyBMZWF2ZSBvbmUgcGl4ZWwgb2Yg
d2hpdGUgYmV0d2VlbiB0aGUgYmFzZWxpbmUgYW5kIHRoZSB1bmRlcmxpbmUuCi0gICAgICAgICAg
ICBjb250ZXh0LT5kcmF3TGluZUZvclRleHQoSW50UG9pbnQobG9jYWxPcmlnaW4ueCgpLCBsb2Nh
bE9yaWdpbi55KCkgKyBiYXNlbGluZSArIDEpLCB3aWR0aCwgaXNQcmludGluZyk7CisgICAgICAg
ICAgICBjb250ZXh0LT5kcmF3TGluZUZvclRleHQoRmxvYXRQb2ludChsb2NhbE9yaWdpbi54KCks
IGxvY2FsT3JpZ2luLnkoKSArIGJhc2VsaW5lICsgMSksIHdpZHRoLCBpc1ByaW50aW5nKTsKICAg
ICAgICAgfQogICAgICAgICBpZiAoZGVjbyAmIE9WRVJMSU5FKSB7CiAgICAgICAgICAgICBjb250
ZXh0LT5zZXRTdHJva2VDb2xvcihvdmVybGluZSwgY29sb3JTcGFjZSk7CkBAIC05MDEsNyArOTAx
LDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oR3JhcAogICAgICAgICBp
ZiAoZGVjbyAmIExJTkVfVEhST1VHSCkgewogICAgICAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tl
Q29sb3IobGluZXRocm91Z2gsIGNvbG9yU3BhY2UpOwogICAgICAgICAgICAgY29udGV4dC0+c2V0
U3Ryb2tlU3R5bGUoU29saWRTdHJva2UpOwotICAgICAgICAgICAgY29udGV4dC0+ZHJhd0xpbmVG
b3JUZXh0KEludFBvaW50KGxvY2FsT3JpZ2luLngoKSwgbG9jYWxPcmlnaW4ueSgpICsgMiAqIGJh
c2VsaW5lIC8gMyksIHdpZHRoLCBpc1ByaW50aW5nKTsKKyAgICAgICAgICAgIGNvbnRleHQtPmRy
YXdMaW5lRm9yVGV4dChGbG9hdFBvaW50KGxvY2FsT3JpZ2luLngoKSwgbG9jYWxPcmlnaW4ueSgp
ICsgMiAqIGJhc2VsaW5lIC8gMyksIHdpZHRoLCBpc1ByaW50aW5nKTsKICAgICAgICAgfQogICAg
IH0gd2hpbGUgKHNoYWRvdyk7CiAKQEAgLTkyNiw3ICs5MjYsNyBAQCBzdGF0aWMgR3JhcGhpY3ND
b250ZXh0OjpUZXh0Q2hlY2tpbmdMaW5lCiAgICAgfQogfQogCi12b2lkIElubGluZVRleHRCb3g6
OnBhaW50U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiBwdCwgY29uc3Qg
SW50UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImIG1hcmtlciwgUmVuZGVy
U3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250LCBib29sIGdyYW1tYXIpCit2b2lkIElubGlu
ZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiBw
dCwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYgbWFy
a2VyLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgZ3JhbW1hcikK
IHsKICAgICAvLyBOZXZlciBwcmludCBzcGVsbGluZy9ncmFtbWFyIG1hcmtlcnMgKDUzMjc4ODcp
CiAgICAgaWYgKHRleHRSZW5kZXJlcigpLT5kb2N1bWVudCgpLT5wcmludGluZygpKQpAQCAtOTM1
LDggKzkzNSw4IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGluZ09yR3JhbW0KICAg
ICBpZiAobV90cnVuY2F0aW9uID09IGNGdWxsVHJ1bmNhdGlvbikKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgaW50IHN0YXJ0ID0gMDsgICAgICAgICAgICAgICAgICAvLyBzdGFydCBvZiBsaW5lIHRv
IGRyYXcsIHJlbGF0aXZlIHRvIHR4Ci0gICAgaW50IHdpZHRoID0gbV9sb2dpY2FsV2lkdGg7ICAg
ICAgICAgICAgLy8gaG93IG11Y2ggbGluZSB0byBkcmF3CisgICAgZmxvYXQgc3RhcnQgPSAwOyAv
LyBzdGFydCBvZiBsaW5lIHRvIGRyYXcsIHJlbGF0aXZlIHRvIHR4CisgICAgZmxvYXQgd2lkdGgg
PSBtX2xvZ2ljYWxXaWR0aDsgLy8gaG93IG11Y2ggbGluZSB0byBkcmF3CiAKICAgICAvLyBEZXRl
cm1pbmUgd2hldGhlciB3ZSBuZWVkIHRvIG1lYXN1cmUgdGV4dAogICAgIGJvb2wgbWFya2VyU3Bh
bnNXaG9sZUJveCA9IHRydWU7CkBAIC05NTcsOSArOTU3LDEwIEBAIHZvaWQgSW5saW5lVGV4dEJv
eDo6cGFpbnRTcGVsbGluZ09yR3JhbW0KICAgICAgICAgLy8gQ2FsY3VsYXRlIHN0YXJ0ICYgd2lk
dGgKICAgICAgICAgaW50IGRlbHRhWSA9IHJlbmRlcmVyKCktPnN0eWxlKCktPmlzRmxpcHBlZExp
bmVzV3JpdGluZ01vZGUoKSA/IHNlbGVjdGlvbkJvdHRvbSgpIC0gbG9naWNhbEJvdHRvbSgpIDog
bG9naWNhbFRvcCgpIC0gc2VsZWN0aW9uVG9wKCk7CiAgICAgICAgIGludCBzZWxIZWlnaHQgPSBz
ZWxlY3Rpb25IZWlnaHQoKTsKLSAgICAgICAgSW50UG9pbnQgc3RhcnRQb2ludChib3hPcmlnaW4u
eCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKKyAgICAgICAgRmxvYXRQb2ludCBzdGFydFBv
aW50KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVkpOwogICAgICAgICBUZXh0
UnVuIHJ1bih0ZXh0UmVuZGVyZXIoKS0+dGV4dCgpLT5jaGFyYWN0ZXJzKCkgKyBtX3N0YXJ0LCBt
X2xlbiwgdGV4dFJlbmRlcmVyKCktPmFsbG93VGFicygpLCB0ZXh0UG9zKCksIG1fZXhwYW5zaW9u
LCB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yKCksICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCks
IG1fZGlyT3ZlcnJpZGUgfHwgc3R5bGUtPnZpc3VhbGx5T3JkZXJlZCgpKTsKLSAgICAgICAgIAor
ICAgICAgICAKKyAgICAgICAgLy8gRklYTUU6IENvbnZlcnQgdGhlIGRvY3VtZW50IG1hcmtlcnMg
dG8gZmxvYXQgcmVjdHMuCiAgICAgICAgIEludFJlY3QgbWFya2VyUmVjdCA9IGVuY2xvc2luZ0lu
dFJlY3QoZm9udC5zZWxlY3Rpb25SZWN0Rm9yVGV4dChydW4sIHN0YXJ0UG9pbnQsIHNlbEhlaWdo
dCwgc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRpb24pKTsKICAgICAgICAgc3RhcnQgPSBtYXJrZXJS
ZWN0LngoKSAtIHN0YXJ0UG9pbnQueCgpOwogICAgICAgICB3aWR0aCA9IG1hcmtlclJlY3Qud2lk
dGgoKTsKQEAgLTk5MCwxMCArOTkxLDEwIEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTcGVs
bGluZ09yR3JhbW0KICAgICAgICAgLy8gSW4gbGFyZ2VyIGZvbnRzLCB0aG91Z2gsIHBsYWNlIHRo
ZSB1bmRlcmxpbmUgdXAgbmVhciB0aGUgYmFzZWxpbmUgdG8gcHJldmVudCBhIGJpZyBnYXAuCiAg
ICAgICAgIHVuZGVybGluZU9mZnNldCA9IGJhc2VsaW5lICsgMjsKICAgICB9Ci0gICAgcHQtPmRy
YXdMaW5lRm9yVGV4dENoZWNraW5nKEludFBvaW50KGJveE9yaWdpbi54KCkgKyBzdGFydCwgYm94
T3JpZ2luLnkoKSArIHVuZGVybGluZU9mZnNldCksIHdpZHRoLCB0ZXh0Q2hlY2tpbmdMaW5lU3R5
bGVGb3JNYXJrZXJUeXBlKG1hcmtlci50eXBlKSk7CisgICAgcHQtPmRyYXdMaW5lRm9yVGV4dENo
ZWNraW5nKEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSArIHN0YXJ0LCBib3hPcmlnaW4ueSgpICsg
dW5kZXJsaW5lT2Zmc2V0KSwgd2lkdGgsIHRleHRDaGVja2luZ0xpbmVTdHlsZUZvck1hcmtlclR5
cGUobWFya2VyLnR5cGUpKTsKIH0KIAotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFRleHRNYXRj
aE1hcmtlcihHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBj
b25zdCBEb2N1bWVudE1hcmtlciYgbWFya2VyLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZv
bnQmIGZvbnQpCit2b2lkIElubGluZVRleHRCb3g6OnBhaW50VGV4dE1hdGNoTWFya2VyKEdyYXBo
aWNzQ29udGV4dCogcHQsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1l
bnRNYXJrZXImIG1hcmtlciwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250KQog
ewogICAgIC8vIFVzZSBzYW1lIHkgcG9zaXRpb25pbmcgYW5kIGhlaWdodCBhcyBmb3Igc2VsZWN0
aW9uLCBzbyB0aGF0IHdoZW4gdGhlIHNlbGVjdGlvbiBhbmQgdGhpcyBoaWdobGlnaHQgYXJlIG9u
CiAgICAgLy8gdGhlIHNhbWUgd29yZCB0aGVyZSBhcmUgbm8gcGllY2VzIHN0aWNraW5nIG91dC4K
QEAgLTEwMTYsOCArMTAxNyw4IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRUZXh0TWF0Y2hN
YXJrZXIKICAgICAgICAgICAgIHJlbmRlcmVyKCktPnRoZW1lKCktPnBsYXRmb3JtSW5hY3RpdmVU
ZXh0U2VhcmNoSGlnaGxpZ2h0Q29sb3IoKTsKICAgICAgICAgcHQtPnNhdmUoKTsKICAgICAgICAg
dXBkYXRlR3JhcGhpY3NDb250ZXh0KHB0LCBjb2xvciwgY29sb3IsIDAsIHN0eWxlLT5jb2xvclNw
YWNlKCkpOyAgLy8gRG9uJ3QgZHJhdyB0ZXh0IGF0IGFsbCEKLSAgICAgICAgcHQtPmNsaXAoSW50
UmVjdChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZLCBtX2xvZ2ljYWxXaWR0
aCwgc2VsSGVpZ2h0KSk7Ci0gICAgICAgIHB0LT5kcmF3SGlnaGxpZ2h0Rm9yVGV4dChmb250LCBy
dW4sIEludFBvaW50KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVkpLCBzZWxI
ZWlnaHQsIGNvbG9yLCBzdHlsZS0+Y29sb3JTcGFjZSgpLCBzUG9zLCBlUG9zKTsKKyAgICAgICAg
cHQtPmNsaXAoRmxvYXRSZWN0KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVks
IG1fbG9naWNhbFdpZHRoLCBzZWxIZWlnaHQpKTsKKyAgICAgICAgcHQtPmRyYXdIaWdobGlnaHRG
b3JUZXh0KGZvbnQsIHJ1biwgRmxvYXRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgp
IC0gZGVsdGFZKSwgc2VsSGVpZ2h0LCBjb2xvciwgc3R5bGUtPmNvbG9yU3BhY2UoKSwgc1Bvcywg
ZVBvcyk7CiAgICAgICAgIHB0LT5yZXN0b3JlKCk7CiAgICAgfQogfQpAQCAtMTAzOSw3ICsxMDQw
LDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94Ojpjb21wdXRlUmVjdEZvclJlcGxhYwogICAgIHJlbmRl
cmVyKCktPmRvY3VtZW50KCktPm1hcmtlcnMoKS0+c2V0UmVuZGVyZWRSZWN0Rm9yTWFya2VyKHJl
bmRlcmVyKCktPm5vZGUoKSwgbWFya2VyLCBtYXJrZXJSZWN0KTsKIH0KICAgICAKLXZvaWQgSW5s
aW5lVGV4dEJveDo6cGFpbnREb2N1bWVudE1hcmtlcnMoR3JhcGhpY3NDb250ZXh0KiBwdCwgY29u
c3QgSW50UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBm
b250LCBib29sIGJhY2tncm91bmQpCit2b2lkIElubGluZVRleHRCb3g6OnBhaW50RG9jdW1lbnRN
YXJrZXJzKEdyYXBoaWNzQ29udGV4dCogcHQsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwg
UmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250LCBib29sIGJhY2tncm91bmQpCiB7
CiAgICAgaWYgKCFyZW5kZXJlcigpLT5ub2RlKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTEwOTks
MTQgKzExMDAsMTMgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERvY3VtZW50TWFya2Vycwog
ICAgIH0KIH0KIAotCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25VbmRlcmxp
bmUoR3JhcGhpY3NDb250ZXh0KiBjdHgsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGNvbnN0
IENvbXBvc2l0aW9uVW5kZXJsaW5lJiB1bmRlcmxpbmUpCit2b2lkIElubGluZVRleHRCb3g6OnBh
aW50Q29tcG9zaXRpb25VbmRlcmxpbmUoR3JhcGhpY3NDb250ZXh0KiBjdHgsIGNvbnN0IEZsb2F0
UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgQ29tcG9zaXRpb25VbmRlcmxpbmUmIHVuZGVybGluZSkK
IHsKICAgICBpZiAobV90cnVuY2F0aW9uID09IGNGdWxsVHJ1bmNhdGlvbikKICAgICAgICAgcmV0
dXJuOwogICAgIAotICAgIGludCBzdGFydCA9IDA7ICAgICAgICAgICAgICAgICAvLyBzdGFydCBv
ZiBsaW5lIHRvIGRyYXcsIHJlbGF0aXZlIHRvIHR4Ci0gICAgaW50IHdpZHRoID0gbV9sb2dpY2Fs
V2lkdGg7ICAgICAgICAgICAvLyBob3cgbXVjaCBsaW5lIHRvIGRyYXcKKyAgICBmbG9hdCBzdGFy
dCA9IDA7IC8vIHN0YXJ0IG9mIGxpbmUgdG8gZHJhdywgcmVsYXRpdmUgdG8gdHgKKyAgICBmbG9h
dCB3aWR0aCA9IG1fbG9naWNhbFdpZHRoOyAvLyBob3cgbXVjaCBsaW5lIHRvIGRyYXcKICAgICBi
b29sIHVzZVdob2xlV2lkdGggPSB0cnVlOwogICAgIHVuc2lnbmVkIHBhaW50U3RhcnQgPSBtX3N0
YXJ0OwogICAgIHVuc2lnbmVkIHBhaW50RW5kID0gZW5kKCkgKyAxOyAvLyBlbmQgcG9pbnRzIGF0
IHRoZSBsYXN0IGNoYXIsIG5vdCBwYXN0IGl0CkBAIC0xMTQyLDcgKzExNDIsNyBAQCB2b2lkIElu
bGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25VbmRlCiAKICAgICBjdHgtPnNldFN0cm9rZUNv
bG9yKHVuZGVybGluZS5jb2xvciwgcmVuZGVyZXIoKS0+c3R5bGUoKS0+Y29sb3JTcGFjZSgpKTsK
ICAgICBjdHgtPnNldFN0cm9rZVRoaWNrbmVzcyhsaW5lVGhpY2tuZXNzKTsKLSAgICBjdHgtPmRy
YXdMaW5lRm9yVGV4dChJbnRQb2ludChib3hPcmlnaW4ueCgpICsgc3RhcnQsIGJveE9yaWdpbi55
KCkgKyBsb2dpY2FsSGVpZ2h0KCkgLSBsaW5lVGhpY2tuZXNzKSwgd2lkdGgsIHRleHRSZW5kZXJl
cigpLT5kb2N1bWVudCgpLT5wcmludGluZygpKTsKKyAgICBjdHgtPmRyYXdMaW5lRm9yVGV4dChG
bG9hdFBvaW50KGJveE9yaWdpbi54KCkgKyBzdGFydCwgYm94T3JpZ2luLnkoKSArIGxvZ2ljYWxI
ZWlnaHQoKSAtIGxpbmVUaGlja25lc3MpLCB3aWR0aCwgdGV4dFJlbmRlcmVyKCktPmRvY3VtZW50
KCktPnByaW50aW5nKCkpOwogfQogCiBpbnQgSW5saW5lVGV4dEJveDo6Y2FyZXRNaW5PZmZzZXQo
KSBjb25zdApAQCAtMTE2MCw3ICsxMTYwLDcgQEAgdW5zaWduZWQgSW5saW5lVGV4dEJveDo6Y2Fy
ZXRNYXhSZW5kZXJlZAogICAgIHJldHVybiBtX3N0YXJ0ICsgbV9sZW47CiB9CiAKLWludCBJbmxp
bmVUZXh0Qm94Ojp0ZXh0UG9zKCkgY29uc3QKK2Zsb2F0IElubGluZVRleHRCb3g6OnRleHRQb3Mo
KSBjb25zdAogewogICAgIC8vIFdoZW4gY29tcHV0aW5nIHRoZSB3aWR0aCBvZiBhIHRleHQgcnVu
LCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvblBvc2l0aW9uc0ZvckxpbmUoKSBk
b2Vzbid0IGluY2x1ZGUgdGhlIGFjdHVhbCBvZmZzZXQKICAgICAvLyBmcm9tIHRoZSBjb250YWlu
aW5nIGJsb2NrIGVkZ2UgaW4gaXRzIG1lYXN1cmVtZW50LiB0ZXh0UG9zKCkgc2hvdWxkIGJlIGNv
bnNpc3RlbnQgc28gdGhlIHRleHQgYXJlIHJlbmRlcmVkIGluIHRoZSBzYW1lIHdpZHRoLgpAQCAt
MTE2OSw3ICsxMTY5LDcgQEAgaW50IElubGluZVRleHRCb3g6OnRleHRQb3MoKSBjb25zdAogICAg
IHJldHVybiBsb2dpY2FsTGVmdCgpIC0gcm9vdCgpLT5sb2dpY2FsTGVmdCgpOwogfQogCi1pbnQg
SW5saW5lVGV4dEJveDo6b2Zmc2V0Rm9yUG9zaXRpb24oaW50IGxpbmVPZmZzZXQsIGJvb2wgaW5j
bHVkZVBhcnRpYWxHbHlwaHMpIGNvbnN0CitpbnQgSW5saW5lVGV4dEJveDo6b2Zmc2V0Rm9yUG9z
aXRpb24oZmxvYXQgbGluZU9mZnNldCwgYm9vbCBpbmNsdWRlUGFydGlhbEdseXBocykgY29uc3QK
IHsKICAgICBpZiAoaXNMaW5lQnJlYWsoKSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC0xMTk2LDcg
KzExOTYsNyBAQCBpbnQgSW5saW5lVGV4dEJveDo6b2Zmc2V0Rm9yUG9zaXRpb24oaW50CiAgICAg
cmV0dXJuIG9mZnNldDsKIH0KIAotaW50IElubGluZVRleHRCb3g6OnBvc2l0aW9uRm9yT2Zmc2V0
KGludCBvZmZzZXQpIGNvbnN0CitmbG9hdCBJbmxpbmVUZXh0Qm94Ojpwb3NpdGlvbkZvck9mZnNl
dChpbnQgb2Zmc2V0KSBjb25zdAogewogICAgIEFTU0VSVChvZmZzZXQgPj0gbV9zdGFydCk7CiAg
ICAgQVNTRVJUKG9mZnNldCA8PSBtX3N0YXJ0ICsgbV9sZW4pOwpAQCAtMTIwOSw4ICsxMjA5LDgg
QEAgaW50IElubGluZVRleHRCb3g6OnBvc2l0aW9uRm9yT2Zmc2V0KGludAogICAgIGludCBmcm9t
ID0gIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/IG9mZnNldCAtIG1fc3RhcnQgOiAwOwogICAg
IGludCB0byA9ICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBtX2xlbiA6IG9mZnNldCAtIG1f
c3RhcnQ7CiAgICAgLy8gRklYTUU6IERvIHdlIG5lZWQgdG8gYWRkIHJpZ2h0QmVhcmluZyBoZXJl
PwotICAgIHJldHVybiBlbmNsb3NpbmdJbnRSZWN0KGYuc2VsZWN0aW9uUmVjdEZvclRleHQoVGV4
dFJ1bih0ZXh0LT50ZXh0KCktPmNoYXJhY3RlcnMoKSArIG1fc3RhcnQsIG1fbGVuLCB0ZXh0UmVu
ZGVyZXIoKS0+YWxsb3dUYWJzKCksIHRleHRQb3MoKSwgbV9leHBhbnNpb24sIHRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IoKSwgIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgbV9kaXJPdmVycmlk
ZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ
bnRQb2ludChsb2dpY2FsTGVmdCgpLCAwKSwgMCwgZnJvbSwgdG8pKS5tYXhYKCk7CisgICAgcmV0
dXJuIGYuc2VsZWN0aW9uUmVjdEZvclRleHQoVGV4dFJ1bih0ZXh0LT50ZXh0KCktPmNoYXJhY3Rl
cnMoKSArIG1fc3RhcnQsIG1fbGVuLCB0ZXh0UmVuZGVyZXIoKS0+YWxsb3dUYWJzKCksIHRleHRQ
b3MoKSwgbV9leHBhbnNpb24sIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IoKSwgIWlzTGVmdFRv
UmlnaHREaXJlY3Rpb24oKSwgbV9kaXJPdmVycmlkZSksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgSW50UG9pbnQobG9naWNhbExlZnQoKSwgMCksIDAsIGZyb20sIHRvKS5tYXhY
KCk7CiB9CiAKIGJvb2wgSW5saW5lVGV4dEJveDo6Y29udGFpbnNDYXJldE9mZnNldChpbnQgb2Zm
c2V0KSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3gu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5o
CShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0
Qm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNSwxMiArMTA1LDEyIEBAIHB1YmxpYzoKIAogcHJp
dmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJUcnVuY2F0aW9uKCkgeyBtX3RydW5jYXRpb24g
PSBjTm9UcnVuY2F0aW9uOyB9Ci0gICAgdmlydHVhbCBpbnQgcGxhY2VFbGxpcHNpc0JveChib29s
IGZsb3dJc0xUUiwgaW50IHZpc2libGVMZWZ0RWRnZSwgaW50IHZpc2libGVSaWdodEVkZ2UsIGlu
dCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCk7CisgICAgdmlydHVhbCBmbG9hdCBwbGFj
ZUVsbGlwc2lzQm94KGJvb2wgZmxvd0lzTFRSLCBmbG9hdCB2aXNpYmxlTGVmdEVkZ2UsIGZsb2F0
IHZpc2libGVSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KTsK
IAogcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0xpbmVCcmVhaygpIGNvbnN0OwogCi0gICAg
dm9pZCBzZXRFeHBhbnNpb24oaW50IGV4cGFuc2lvbikgeyBtX2xvZ2ljYWxXaWR0aCAtPSBtX2V4
cGFuc2lvbjsgbV9leHBhbnNpb24gPSBleHBhbnNpb247IG1fbG9naWNhbFdpZHRoICs9IG1fZXhw
YW5zaW9uOyB9CisgICAgdm9pZCBzZXRFeHBhbnNpb24oZmxvYXQgZXhwYW5zaW9uKSB7IG1fbG9n
aWNhbFdpZHRoIC09IG1fZXhwYW5zaW9uOyBtX2V4cGFuc2lvbiA9IGV4cGFuc2lvbjsgbV9sb2dp
Y2FsV2lkdGggKz0gbV9leHBhbnNpb247IH0KIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wg
aXNJbmxpbmVUZXh0Qm94KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfSAgICAKQEAgLTEyMiwxMSAr
MTIyLDExIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdmlydHVhbCB1bnNpZ25lZCBjYXJldE1h
eFJlbmRlcmVkT2Zmc2V0KCkgY29uc3Q7CiAKLSAgICBpbnQgdGV4dFBvcygpIGNvbnN0OyAvLyBy
ZXR1cm5zIHRoZSB4IHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBsZWZ0IHN0YXJ0IG9mIHRoZSB0
ZXh0IGxpbmUuCisgICAgZmxvYXQgdGV4dFBvcygpIGNvbnN0OyAvLyByZXR1cm5zIHRoZSB4IHBv
c2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBsZWZ0IHN0YXJ0IG9mIHRoZSB0ZXh0IGxpbmUuCiAKIHB1
YmxpYzoKLSAgICB2aXJ0dWFsIGludCBvZmZzZXRGb3JQb3NpdGlvbihpbnQgeCwgYm9vbCBpbmNs
dWRlUGFydGlhbEdseXBocyA9IHRydWUpIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IHBvc2l0aW9u
Rm9yT2Zmc2V0KGludCBvZmZzZXQpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IG9mZnNldEZvclBv
c2l0aW9uKGZsb2F0IHgsIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMgPSB0cnVlKSBjb25zdDsK
KyAgICB2aXJ0dWFsIGZsb2F0IHBvc2l0aW9uRm9yT2Zmc2V0KGludCBvZmZzZXQpIGNvbnN0Owog
CiAgICAgYm9vbCBjb250YWluc0NhcmV0T2Zmc2V0KGludCBvZmZzZXQpIGNvbnN0OyAvLyBmYWxz
ZSBmb3Igb2Zmc2V0IGFmdGVyIGxpbmUgYnJlYWsKIApAQCAtMTQ0LDE4ICsxNDQsMTggQEAgcHJp
dmF0ZToKICAgICAgICAgICAgICAgICAgICAgICAvLyBkZW5vdGUgbm8gdHJ1bmNhdGlvbiAodGhl
IHdob2xlIHJ1biBwYWludHMpIGFuZCBmdWxsIHRydW5jYXRpb24gKG5vdGhpbmcgcGFpbnRzIGF0
IGFsbCkuCiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIHBhaW50Q29tcG9zaXRpb25CYWNrZ3JvdW5k
KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxl
KiwgY29uc3QgRm9udCYsIGludCBzdGFydFBvcywgaW50IGVuZFBvcyk7Ci0gICAgdm9pZCBwYWlu
dERvY3VtZW50TWFya2VycyhHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3Jp
Z2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmLCBib29sIGJhY2tncm91bmQpOwotICAgIHZv
aWQgcGFpbnRDb21wb3NpdGlvblVuZGVybGluZShHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRQ
b2ludCYgYm94T3JpZ2luLCBjb25zdCBDb21wb3NpdGlvblVuZGVybGluZSYpOworICAgIHZvaWQg
cGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQ
b2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmLCBpbnQgc3RhcnRQb3Ms
IGludCBlbmRQb3MpOworICAgIHZvaWQgcGFpbnREb2N1bWVudE1hcmtlcnMoR3JhcGhpY3NDb250
ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZv
bnQmLCBib29sIGJhY2tncm91bmQpOworICAgIHZvaWQgcGFpbnRDb21wb3NpdGlvblVuZGVybGlu
ZShHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IENv
bXBvc2l0aW9uVW5kZXJsaW5lJik7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZvaWQgcGFpbnRD
dXN0b21IaWdobGlnaHQoaW50IHR4LCBpbnQgdHksIGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSk7
CiAjZW5kaWYKIAogcHJpdmF0ZToKLSAgICB2b2lkIHBhaW50RGVjb3JhdGlvbihHcmFwaGljc0Nv
bnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBpbnQgZGVjb3JhdGlvbiwgY29uc3Qg
U2hhZG93RGF0YSopOwotICAgIHZvaWQgcGFpbnRTZWxlY3Rpb24oR3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jik7Ci0g
ICAgdm9pZCBwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdyYXBoaWNzQ29udGV4dCosIGNv
bnN0IEludFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiwgUmVuZGVyU3R5
bGUqLCBjb25zdCBGb250JiwgYm9vbCBncmFtbWFyKTsKLSAgICB2b2lkIHBhaW50VGV4dE1hdGNo
TWFya2VyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGNvbnN0
IERvY3VtZW50TWFya2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jik7CisgICAgdm9pZCBw
YWludERlY29yYXRpb24oR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3Jp
Z2luLCBpbnQgZGVjb3JhdGlvbiwgY29uc3QgU2hhZG93RGF0YSopOworICAgIHZvaWQgcGFpbnRT
ZWxlY3Rpb24oR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBS
ZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmKTsKKyAgICB2b2lkIHBhaW50U3BlbGxpbmdPckdyYW1t
YXJNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBj
b25zdCBEb2N1bWVudE1hcmtlciYsIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYsIGJvb2wgZ3Jh
bW1hcik7CisgICAgdm9pZCBwYWludFRleHRNYXRjaE1hcmtlcihHcmFwaGljc0NvbnRleHQqLCBj
b25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiwgUmVuZGVy
U3R5bGUqLCBjb25zdCBGb250Jik7CiAgICAgdm9pZCBjb21wdXRlUmVjdEZvclJlcGxhY2VtZW50
TWFya2VyKGNvbnN0IERvY3VtZW50TWFya2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jik7
CiAKICAgICBUZXh0UnVuOjpUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhwYW5z
aW9uQmVoYXZpb3IoKSBjb25zdCB7IHJldHVybiBtX2V4cGFuc2lvbiAmJiBuZXh0TGVhZkNoaWxk
KCkgPyBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uIDogVGV4dFJ1bjo6Rm9yYmlkVHJh
aWxpbmdFeHBhbnNpb247IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
Ui5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCUi5oCShy
ZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCUi5oCSh3
b3JraW5nIGNvcHkpCkBAIC00MCw4ICs0MCw4IEBAIHB1YmxpYzoKICAKICAgICB2aXJ0dWFsIElu
dFJlY3Qgc2VsZWN0aW9uUmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIC8qcmVw
YWludENvbnRhaW5lciovLCBib29sIC8qY2xpcFRvVmlzaWJsZUNvbnRlbnQqLykgeyByZXR1cm4g
SW50UmVjdCgpOyB9CiAKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVkIC8qZnJv
bSovLCB1bnNpZ25lZCAvKmxlbiovLCBjb25zdCBGb250JiwgaW50IC8qeFBvcyovLCBIYXNoU2V0
PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qID0gMCAvKmZhbGxiYWNrRm9udHMqLyAsIEdseXBoT3Zl
cmZsb3cqID0gMCkgY29uc3QgeyByZXR1cm4gMDsgfQotICAgIHZpcnR1YWwgdW5zaWduZWQgd2lk
dGgodW5zaWduZWQgLypmcm9tKi8sIHVuc2lnbmVkIC8qbGVuKi8sIGludCAvKnhwb3MqLywgYm9v
bCA9IGZhbHNlIC8qZmlyc3RMaW5lKi8sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiog
PSAwIC8qZmFsbGJhY2tGb250cyovLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0IHsgcmV0dXJu
IDA7IH0KKyAgICB2aXJ0dWFsIGZsb2F0IHdpZHRoKHVuc2lnbmVkIC8qZnJvbSovLCB1bnNpZ25l
ZCAvKmxlbiovLCBjb25zdCBGb250JiwgZmxvYXQgLyp4UG9zKi8sIEhhc2hTZXQ8Y29uc3QgU2lt
cGxlRm9udERhdGEqPiogPSAwIC8qZmFsbGJhY2tGb250cyovICwgR2x5cGhPdmVyZmxvdyogPSAw
KSBjb25zdCB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25lZCAv
KmZyb20qLywgdW5zaWduZWQgLypsZW4qLywgZmxvYXQgLyp4cG9zKi8sIGJvb2wgPSBmYWxzZSAv
KmZpcnN0TGluZSovLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qID0gMCAvKmZhbGxi
YWNrRm9udHMqLywgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdCB7IHJldHVybiAwOyB9CiAKICAg
ICBpbnQgbGluZUhlaWdodChib29sIGZpcnN0TGluZSkgY29uc3Q7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
NjE2LDcgKzQ2MTYsNyBAQCBzdGF0aWMgaW50IGdldEJvcmRlclBhZGRpbmdNYXJnaW4oY29uc3Qg
CiAgICAgICAgICAgICAgICBjaGlsZC0+Ym9yZGVyU3RhcnQoKTsKIH0KIAotc3RhdGljIGlubGlu
ZSB2b2lkIHN0cmlwVHJhaWxpbmdTcGFjZShpbnQmIGlubGluZU1heCwgaW50JiBpbmxpbmVNaW4s
CitzdGF0aWMgaW5saW5lIHZvaWQgc3RyaXBUcmFpbGluZ1NwYWNlKGZsb2F0JiBpbmxpbmVNYXgs
IGZsb2F0JiBpbmxpbmVNaW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFJlbmRlck9iamVjdCogdHJhaWxpbmdTcGFjZUNoaWxkKQogewogICAgIGlmICh0cmFpbGluZ1Nw
YWNlQ2hpbGQgJiYgdHJhaWxpbmdTcGFjZUNoaWxkLT5pc1RleHQoKSkgewpAQCAtNDYyNCwxNyAr
NDYyNCwyMyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc3RyaXBUcmFpbGluZ1NwYWNlKGluCiAgICAg
ICAgIFJlbmRlclRleHQqIHQgPSB0b1JlbmRlclRleHQodHJhaWxpbmdTcGFjZUNoaWxkKTsKICAg
ICAgICAgY29uc3QgVUNoYXIgc3BhY2UgPSAnICc7CiAgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQg
PSB0LT5zdHlsZSgpLT5mb250KCk7IC8vIEZJWE1FOiBUaGlzIGlnbm9yZXMgZmlyc3QtbGluZS4K
LSAgICAgICAgaW50IHNwYWNlV2lkdGggPSBmb250LndpZHRoKFRleHRSdW4oJnNwYWNlLCAxKSk7
CisgICAgICAgIGZsb2F0IHNwYWNlV2lkdGggPSBmb250LndpZHRoKFRleHRSdW4oJnNwYWNlLCAx
KSk7CiAgICAgICAgIGlubGluZU1heCAtPSBzcGFjZVdpZHRoICsgZm9udC53b3JkU3BhY2luZygp
OwogICAgICAgICBpZiAoaW5saW5lTWluID4gaW5saW5lTWF4KQogICAgICAgICAgICAgaW5saW5l
TWluID0gaW5saW5lTWF4OwogICAgIH0KIH0KIAorc3RhdGljIGlubGluZSB2b2lkIHVwZGF0ZVBy
ZWZlcnJlZFdpZHRoKGludCYgcHJlZmVycmVkV2lkdGgsIGZsb2F0JiByZXN1bHQpCit7CisgICAg
aW50IHNuYXBwZWRSZXN1bHQgPSBjZWlsZihyZXN1bHQpOworICAgIHByZWZlcnJlZFdpZHRoID0g
bWF4KHNuYXBwZWRSZXN1bHQsIHByZWZlcnJlZFdpZHRoKTsKK30KKwogdm9pZCBSZW5kZXJCbG9j
azo6Y29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogewotICAgIGludCBpbmxp
bmVNYXggPSAwOwotICAgIGludCBpbmxpbmVNaW4gPSAwOworICAgIGZsb2F0IGlubGluZU1heCA9
IDA7CisgICAgZmxvYXQgaW5saW5lTWluID0gMDsKIAogICAgIGludCBjdyA9IGNvbnRhaW5pbmdC
bG9jaygpLT5jb250ZW50TG9naWNhbFdpZHRoKCk7CiAKQEAgLTQ2OTUsMTUgKzQ3MDEsMTUgQEAg
dm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgLy8g
dGhlIHdpZHRoIG9mIHRoZSBsYXN0IG5vbi1icmVha2FibGUgcnVuIGFuZCB1c2UgdGhhdCB0byBz
dGFydCBhIG5ldyBsaW5lCiAgICAgICAgICAgICAvLyAodW5sZXNzIHdlIGVuZCBpbiB3aGl0ZXNw
YWNlKS4KICAgICAgICAgICAgIFJlbmRlclN0eWxlKiBjc3R5bGUgPSBjaGlsZC0+c3R5bGUoKTsK
LSAgICAgICAgICAgIGludCBjaGlsZE1pbiA9IDA7Ci0gICAgICAgICAgICBpbnQgY2hpbGRNYXgg
PSAwOworICAgICAgICAgICAgZmxvYXQgY2hpbGRNaW4gPSAwOworICAgICAgICAgICAgZmxvYXQg
Y2hpbGRNYXggPSAwOwogCiAgICAgICAgICAgICBpZiAoIWNoaWxkLT5pc1RleHQoKSkgewogICAg
ICAgICAgICAgICAgIC8vIENhc2UgKDEpIGFuZCAoMikuICBJbmxpbmUgcmVwbGFjZWQgYW5kIGlu
bGluZSBmbG93IGVsZW1lbnRzLgogICAgICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNSZW5kZXJJ
bmxpbmUoKSkgewogICAgICAgICAgICAgICAgICAgICAvLyBBZGQgaW4gcGFkZGluZy9ib3JkZXIv
bWFyZ2luIGZyb20gdGhlIGFwcHJvcHJpYXRlIHNpZGUgb2YKICAgICAgICAgICAgICAgICAgICAg
Ly8gdGhlIGVsZW1lbnQuCi0gICAgICAgICAgICAgICAgICAgIGludCBicG0gPSBnZXRCb3JkZXJQ
YWRkaW5nTWFyZ2luKHRvUmVuZGVySW5saW5lKGNoaWxkKSwgY2hpbGRJdGVyYXRvci5lbmRPZklu
bGluZSk7CisgICAgICAgICAgICAgICAgICAgIGZsb2F0IGJwbSA9IGdldEJvcmRlclBhZGRpbmdN
YXJnaW4odG9SZW5kZXJJbmxpbmUoY2hpbGQpLCBjaGlsZEl0ZXJhdG9yLmVuZE9mSW5saW5lKTsK
ICAgICAgICAgICAgICAgICAgICAgY2hpbGRNaW4gKz0gYnBtOwogICAgICAgICAgICAgICAgICAg
ICBjaGlsZE1heCArPSBicG07CiAKQEAgLTQ3MTMsNyArNDcxOSw3IEBAIHZvaWQgUmVuZGVyQmxv
Y2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAgICAgICAgICAgY2hpbGQtPnNl
dFByZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0eShmYWxzZSk7CiAgICAgICAgICAgICAgICAgfSBl
bHNlIHsKICAgICAgICAgICAgICAgICAgICAgLy8gSW5saW5lIHJlcGxhY2VkIGVsdHMgYWRkIGlu
IHRoZWlyIG1hcmdpbnMgdG8gdGhlaXIgbWluL21heCB2YWx1ZXMuCi0gICAgICAgICAgICAgICAg
ICAgIGludCBtYXJnaW5zID0gMDsKKyAgICAgICAgICAgICAgICAgICAgZmxvYXQgbWFyZ2lucyA9
IDA7CiAgICAgICAgICAgICAgICAgICAgIExlbmd0aCBzdGFydE1hcmdpbiA9IGNzdHlsZS0+bWFy
Z2luU3RhcnQoKTsKICAgICAgICAgICAgICAgICAgICAgTGVuZ3RoIGVuZE1hcmdpbiA9IGNzdHls
ZS0+bWFyZ2luRW5kKCk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChzdGFydE1hcmdpbi5pc0Zp
eGVkKCkpCkBAIC00NzQzLDEzICs0NzQ5LDEzIEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJ
bmxpbmVQcmVmZXJyZWQKIAogICAgICAgICAgICAgICAgIGJvb2wgY2FuQnJlYWtSZXBsYWNlZEVs
ZW1lbnQgPSAhY2hpbGQtPmlzSW1hZ2UoKSB8fCBhbGxvd0ltYWdlc1RvQnJlYWs7CiAgICAgICAg
ICAgICAgICAgaWYgKChjYW5CcmVha1JlcGxhY2VkRWxlbWVudCAmJiAoYXV0b1dyYXAgfHwgb2xk
QXV0b1dyYXApKSB8fCBjbGVhclByZXZpb3VzRmxvYXQpIHsKLSAgICAgICAgICAgICAgICAgICAg
bV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRo
KG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAg
ICAgICBpbmxpbmVNaW4gPSAwOwogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAg
IC8vIElmIHdlJ3JlIHN1cHBvc2VkIHRvIGNsZWFyIHRoZSBwcmV2aW91cyBmbG9hdCwgdGhlbiB0
ZXJtaW5hdGUgbWF4d2lkdGggYXMgd2VsbC4KICAgICAgICAgICAgICAgICBpZiAoY2xlYXJQcmV2
aW91c0Zsb2F0KSB7Ci0gICAgICAgICAgICAgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdp
ZHRoID0gbWF4KGlubGluZU1heCwgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAg
ICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21heFByZWZlcnJlZExvZ2ljYWxX
aWR0aCwgaW5saW5lTWF4KTsKICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWF4ID0gMDsKICAg
ICAgICAgICAgICAgICB9CiAKQEAgLTQ3NjcsMTIgKzQ3NzMsMTIgQEAgdm9pZCBSZW5kZXJCbG9j
azo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogCiAgICAgICAgICAgICAgICAgaWYgKCFhdXRvV3Jh
cCB8fCAhY2FuQnJlYWtSZXBsYWNlZEVsZW1lbnQpIHsKICAgICAgICAgICAgICAgICAgICAgaWYg
KGNoaWxkLT5pc0Zsb2F0aW5nKCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBtX21pblByZWZl
cnJlZExvZ2ljYWxXaWR0aCA9IG1heChjaGlsZE1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGgsIGNoaWxkTWluKTsKICAgICAgICAgICAgICAgICAgICAgZWxz
ZQogICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWluICs9IGNoaWxkTWluOwogICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIE5vdyBjaGVjayBvdXIg
bGluZS4KLSAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBt
YXgoY2hpbGRNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAg
ICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGNo
aWxkTWluKTsKIAogICAgICAgICAgICAgICAgICAgICAvLyBOb3cgc3RhcnQgYSBuZXcgbGluZS4K
ICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWluID0gMDsKQEAgLTQ3ODksNyArNDc5NSw3IEBA
IHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0KiB0ID0gdG9SZW5kZXJUZXh0KGNoaWxkKTsKIAogICAgICAgICAgICAgICAg
IGlmICh0LT5pc1dvcmRCcmVhaygpKSB7Ci0gICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVy
cmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGgpOworICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZl
cnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKICAgICAgICAgICAgICAgICAgICAgaW5saW5l
TWluID0gMDsKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAg
fQpAQCAtNDgwMyw5ICs0ODA5LDkgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVBy
ZWZlcnJlZAogICAgICAgICAgICAgICAgIC8vIHRoZW4gdGhleSBzaG91bGRuJ3QgYmUgY29uc2lk
ZXJlZCBpbiB0aGUgYnJlYWthYmxlIGNoYXIKICAgICAgICAgICAgICAgICAvLyBjaGVjay4KICAg
ICAgICAgICAgICAgICBib29sIGhhc0JyZWFrYWJsZUNoYXIsIGhhc0JyZWFrOwotICAgICAgICAg
ICAgICAgIGludCBiZWdpbk1pbiwgZW5kTWluOworICAgICAgICAgICAgICAgIGZsb2F0IGJlZ2lu
TWluLCBlbmRNaW47CiAgICAgICAgICAgICAgICAgYm9vbCBiZWdpbldTLCBlbmRXUzsKLSAgICAg
ICAgICAgICAgICBpbnQgYmVnaW5NYXgsIGVuZE1heDsKKyAgICAgICAgICAgICAgICBmbG9hdCBi
ZWdpbk1heCwgZW5kTWF4OwogICAgICAgICAgICAgICAgIHQtPnRyaW1tZWRQcmVmV2lkdGhzKGlu
bGluZU1heCwgYmVnaW5NaW4sIGJlZ2luV1MsIGVuZE1pbiwgZW5kV1MsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGFzQnJlYWthYmxlQ2hhciwgaGFzQnJlYWssIGJlZ2lu
TWF4LCBlbmRNYXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRN
aW4sIGNoaWxkTWF4LCBzdHJpcEZyb250U3BhY2VzKTsKQEAgLTQ4MTMsNyArNDgxOSw3IEBAIHZv
aWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAgICAgICAv
LyBUaGlzIHRleHQgb2JqZWN0IHdpbGwgbm90IGJlIHJlbmRlcmVkLCBidXQgaXQgbWF5IHN0aWxs
IHByb3ZpZGUgYSBicmVha2luZyBvcHBvcnR1bml0eS4KICAgICAgICAgICAgICAgICBpZiAoIWhh
c0JyZWFrICYmIGNoaWxkTWF4ID09IDApIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGF1dG9X
cmFwICYmIChiZWdpbldTIHx8IGVuZFdTKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgbV9t
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExv
Z2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0
aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgIGlubGluZU1pbiA9IDA7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICAgICAgY29udGludWU7CkBAIC00ODQzLDEwICs0ODQ5LDEwIEBAIHZvaWQgUmVuZGVy
QmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAgICAgICAgICAgLy8gd2Ug
c3RhcnQgYW5kIGVuZCB3aXRoIHdoaXRlc3BhY2UuCiAgICAgICAgICAgICAgICAgICAgIGlmIChi
ZWdpbldTKQogICAgICAgICAgICAgICAgICAgICAgICAgLy8gR28gYWhlYWQgYW5kIGVuZCB0aGUg
Y3VycmVudCBsaW5lLgotICAgICAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gKz0gYmVnaW5NaW47Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4s
IG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVw
ZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4p
OwogICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRNaW4gLT0gdGk7CiAgICAgICAgICAgICAg
ICAgICAgIH0KIApAQCAtNDg1NSwxOCArNDg2MSwxOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21w
dXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICAgICAgICAgIGlmIChlbmRXUykgewogICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gV2UgZW5kIGluIHdoaXRlc3BhY2UsIHdoaWNoIG1lYW5z
IHdlIGNhbiBnbyBhaGVhZAogICAgICAgICAgICAgICAgICAgICAgICAgLy8gYW5kIGVuZCBvdXIg
Y3VycmVudCBsaW5lLgotICAgICAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlubGlu
ZU1pbiA9IDA7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVBy
ZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAg
ICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWluID0gZW5kTWluOwogICAgICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgaWYgKGhhc0JyZWFr
KSB7CiAgICAgICAgICAgICAgICAgICAgIGlubGluZU1heCArPSBiZWdpbk1heDsKLSAgICAgICAg
ICAgICAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWF4LCBt
X21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Ci0gICAgICAgICAgICAgICAgICAgIG1fbWF4UHJl
ZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGNoaWxkTWF4LCBtX21heFByZWZlcnJlZExvZ2ljYWxX
aWR0aCk7CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWF4UHJl
ZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNYXgpOworICAgICAgICAgICAgICAgICAgICB1cGRh
dGVQcmVmZXJyZWRXaWR0aChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgY2hpbGRNYXgpOwog
ICAgICAgICAgICAgICAgICAgICBpbmxpbmVNYXggPSBlbmRNYXg7CiAgICAgICAgICAgICAgICAg
fSBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGlubGluZU1heCArPSBjaGlsZE1heDsKQEAgLTQ4
NzYsOCArNDg4Miw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQK
ICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNMaXN0TWFya2VyKCkpCiAgICAgICAgICAgICAgICAg
c3RyaXBGcm9udFNwYWNlcyA9IHRydWU7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBt
X21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoKTsKLSAgICAgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0g
bWF4KGlubGluZU1heCwgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAg
dXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1p
bik7CisgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21heFByZWZlcnJlZExvZ2lj
YWxXaWR0aCwgaW5saW5lTWF4KTsKICAgICAgICAgICAgIGlubGluZU1pbiA9IGlubGluZU1heCA9
IDA7CiAgICAgICAgICAgICBzdHJpcEZyb250U3BhY2VzID0gdHJ1ZTsKICAgICAgICAgICAgIHRy
YWlsaW5nU3BhY2VDaGlsZCA9IDA7CkBAIC00ODg5LDggKzQ4OTUsOCBAQCB2b2lkIFJlbmRlckJs
b2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAgaWYgKHN0eWxlKCktPmNvbGxhcHNlV2hp
dGVTcGFjZSgpKQogICAgICAgICBzdHJpcFRyYWlsaW5nU3BhY2UoaW5saW5lTWF4LCBpbmxpbmVN
aW4sIHRyYWlsaW5nU3BhY2VDaGlsZCk7CiAKLSAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKLSAgICBtX21h
eFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNYXgsIG1fbWF4UHJlZmVycmVkTG9n
aWNhbFdpZHRoKTsKKyAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2lj
YWxXaWR0aCwgaW5saW5lTWluKTsKKyAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21heFByZWZl
cnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWF4KTsKIH0KIAogLy8gVXNlIGEgdmVyeSBsYXJnZSB2
YWx1ZSAoaW4gZWZmZWN0IGluZmluaXRlKS4KQEAgLTU0NTYsOSArNTQ2Miw5IEBAIHZvaWQgUmVu
ZGVyQmxvY2s6OmFkanVzdEZvckJvcmRlckZpdChpbnQKICAgICAgICAgaWYgKGNoaWxkcmVuSW5s
aW5lKCkpIHsKICAgICAgICAgICAgIGZvciAoUm9vdElubGluZUJveCogYm94ID0gZmlyc3RSb290
Qm94KCk7IGJveDsgYm94ID0gYm94LT5uZXh0Um9vdEJveCgpKSB7CiAgICAgICAgICAgICAgICAg
aWYgKGJveC0+Zmlyc3RDaGlsZCgpKQotICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gbWluKGxl
ZnQsIHggKyBib3gtPmZpcnN0Q2hpbGQoKS0+eCgpKTsKKyAgICAgICAgICAgICAgICAgICAgbGVm
dCA9IG1pbihsZWZ0LCB4ICsgc3RhdGljX2Nhc3Q8aW50Pihib3gtPmZpcnN0Q2hpbGQoKS0+eCgp
KSk7CiAgICAgICAgICAgICAgICAgaWYgKGJveC0+bGFzdENoaWxkKCkpCi0gICAgICAgICAgICAg
ICAgICAgIHJpZ2h0ID0gbWF4KHJpZ2h0LCB4ICsgYm94LT5sYXN0Q2hpbGQoKS0+eCgpICsgYm94
LT5sYXN0Q2hpbGQoKS0+bG9naWNhbFdpZHRoKCkpOworICAgICAgICAgICAgICAgICAgICByaWdo
dCA9IG1heChyaWdodCwgeCArIHN0YXRpY19jYXN0PGludD4oY2VpbGYoYm94LT5sYXN0Q2hpbGQo
KS0+bG9naWNhbFJpZ2h0KCkpKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAg
ZWxzZSB7CkBAIC01NzU4LDggKzU3NjQsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjphZGRGb2N1c1Jp
bmdSZWN0cyhWZWN0CiAKICAgICBpZiAoIWhhc092ZXJmbG93Q2xpcCgpICYmICFoYXNDb250cm9s
Q2xpcCgpKSB7CiAgICAgICAgIGZvciAoUm9vdElubGluZUJveCogY3VyciA9IGZpcnN0Um9vdEJv
eCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dFJvb3RCb3goKSkgewotICAgICAgICAgICAgaW50
IHRvcCA9IG1heChjdXJyLT5saW5lVG9wKCksIGN1cnItPnkoKSk7Ci0gICAgICAgICAgICBpbnQg
Ym90dG9tID0gbWluKGN1cnItPmxpbmVCb3R0b20oKSwgY3Vyci0+eSgpICsgY3Vyci0+bG9naWNh
bEhlaWdodCgpKTsKKyAgICAgICAgICAgIGludCB0b3AgPSBtYXgoY3Vyci0+bGluZVRvcCgpLCBj
dXJyLT5sb2dpY2FsVG9wKCkpOworICAgICAgICAgICAgaW50IGJvdHRvbSA9IG1pbihjdXJyLT5s
aW5lQm90dG9tKCksIGN1cnItPmxvZ2ljYWxUb3AoKSArIGN1cnItPmxvZ2ljYWxIZWlnaHQoKSk7
CiAgICAgICAgICAgICBJbnRSZWN0IHJlY3QodHggKyBjdXJyLT54KCksIHR5ICsgdG9wLCBjdXJy
LT5sb2dpY2FsV2lkdGgoKSwgYm90dG9tIC0gdG9wKTsKICAgICAgICAgICAgIGlmICghcmVjdC5p
c0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgcmVjdHMuYXBwZW5kKHJlY3QpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgJKHJldmlzaW9uIDc4NDg0KQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4
NSw3ICs0ODUsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBza2lwVHJhaWxpbmdXaGl0ZXNwYWNl
KElubGluZUl0ZXJhdG9yJiwgYm9vbCBpc0xpbmVFbXB0eSwgYm9vbCBwcmV2aW91c0xpbmVCcm9r
ZUNsZWFubHkpOwogICAgIGludCBza2lwTGVhZGluZ1doaXRlc3BhY2UoSW5saW5lQmlkaVJlc29s
dmVyJiwgYm9vbCBmaXJzdExpbmUsIGJvb2wgaXNMaW5lRW1wdHksIGJvb2wgcHJldmlvdXNMaW5l
QnJva2VDbGVhbmx5LCBGbG9hdGluZ09iamVjdCogbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSk7
Ci0gICAgdm9pZCBmaXRCZWxvd0Zsb2F0cyhpbnQgd2lkdGhUb0ZpdCwgYm9vbCBmaXJzdExpbmUs
IGludCYgYXZhaWxhYmxlV2lkdGgpOworICAgIHZvaWQgZml0QmVsb3dGbG9hdHMoZmxvYXQgd2lk
dGhUb0ZpdCwgYm9vbCBmaXJzdExpbmUsIGZsb2F0JiBhdmFpbGFibGVXaWR0aCk7CiAgICAgSW5s
aW5lSXRlcmF0b3IgZmluZE5leHRMaW5lQnJlYWsoSW5saW5lQmlkaVJlc29sdmVyJiwgYm9vbCBm
aXJzdExpbmUsIGJvb2wmIGlzTGluZUVtcHR5LCBib29sJiBwcmV2aW91c0xpbmVCcm9rZUNsZWFu
bHksIGJvb2wmIGh5cGhlbmF0ZWQsIEVDbGVhciosIEZsb2F0aW5nT2JqZWN0KiBsYXN0RmxvYXRG
cm9tUHJldmlvdXNMaW5lKTsKICAgICBSb290SW5saW5lQm94KiBjb25zdHJ1Y3RMaW5lKHVuc2ln
bmVkIHJ1bkNvdW50LCBCaWRpUnVuKiBmaXJzdFJ1biwgQmlkaVJ1biogbGFzdFJ1biwgYm9vbCBm
aXJzdExpbmUsIGJvb2wgbGFzdExpbmUsIFJlbmRlck9iamVjdCogZW5kT2JqZWN0KTsKICAgICBJ
bmxpbmVGbG93Qm94KiBjcmVhdGVMaW5lQm94ZXMoUmVuZGVyT2JqZWN0KiwgYm9vbCBmaXJzdExp
bmUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
TGluZUxheW91dC5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxOCw4ICsz
MTgsOCBAQCBSb290SW5saW5lQm94KiBSZW5kZXJCbG9jazo6Y29uc3RydWN0TGluCiB2b2lkIFJl
bmRlckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uUG9zaXRpb25zRm9yTGluZShSb290SW5s
aW5lQm94KiBsaW5lQm94LCBib29sIGZpcnN0TGluZSwgQmlkaVJ1biogZmlyc3RSdW4sIEJpZGlS
dW4qIHRyYWlsaW5nU3BhY2VSdW4sIGJvb2wgcmVhY2hlZEVuZCwgR2x5cGhPdmVyZmxvd0FuZEZh
bGxiYWNrRm9udHNNYXAmIHRleHRCb3hEYXRhTWFwKQogewogICAgIC8vIEZpcnN0IGRldGVybWlu
ZSBvdXIgdG90YWwgbG9naWNhbCB3aWR0aC4KLSAgICBpbnQgYXZhaWxhYmxlTG9naWNhbFdpZHRo
ID0gYXZhaWxhYmxlTG9naWNhbFdpZHRoRm9yTGluZShsb2dpY2FsSGVpZ2h0KCksIGZpcnN0TGlu
ZSk7Ci0gICAgaW50IHRvdGFsTG9naWNhbFdpZHRoID0gbGluZUJveC0+Z2V0Rmxvd1NwYWNpbmdM
b2dpY2FsV2lkdGgoKTsKKyAgICBmbG9hdCBhdmFpbGFibGVMb2dpY2FsV2lkdGggPSBhdmFpbGFi
bGVMb2dpY2FsV2lkdGhGb3JMaW5lKGxvZ2ljYWxIZWlnaHQoKSwgZmlyc3RMaW5lKTsKKyAgICBm
bG9hdCB0b3RhbExvZ2ljYWxXaWR0aCA9IGxpbmVCb3gtPmdldEZsb3dTcGFjaW5nTG9naWNhbFdp
ZHRoKCk7CiAgICAgYm9vbCBuZWVkc1dvcmRTcGFjaW5nID0gZmFsc2U7CiAgICAgdW5zaWduZWQg
ZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudCA9IDA7CiAgICAgYm9vbCBpc0FmdGVyRXhwYW5zaW9u
ID0gdHJ1ZTsKQEAgLTM4Niw3ICszODYsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5s
aW5lRGlyZWN0aW9uCiAgICAgLy8gd2Ugbm93IGV4YW1pbmUgb3VyIHRleHQtYWxpZ24gcHJvcGVy
dHkgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHdoZXJlIHRvIHBvc2l0aW9uIHRoZQogICAgIC8vIG9i
amVjdHMgaG9yaXpvbnRhbGx5LiAgVGhlIHRvdGFsIHdpZHRoIG9mIHRoZSBsaW5lIGNhbiBiZSBp
bmNyZWFzZWQgaWYgd2UgZW5kIHVwCiAgICAgLy8ganVzdGlmeWluZyB0ZXh0LgotICAgIGludCBs
b2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShsb2dpY2FsSGVpZ2h0KCksIGZp
cnN0TGluZSk7CisgICAgZmxvYXQgbG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdE9mZnNldEZvckxp
bmUobG9naWNhbEhlaWdodCgpLCBmaXJzdExpbmUpOwogICAgIHN3aXRjaCAodGV4dEFsaWduKSB7
CiAgICAgICAgIGNhc2UgTEVGVDoKICAgICAgICAgY2FzZSBXRUJLSVRfTEVGVDoKQEAgLTM5NCw3
ICszOTQsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uCiAgICAg
ICAgICAgICAvLyBwYXJ0aWN1bGFyIHdpdGggUlRMIGJsb2Nrcywgd2lkZSBsaW5lcyBzaG91bGQg
c3RpbGwgc3BpbGwgb3V0IHRvIHRoZSBsZWZ0LgogICAgICAgICAgICAgaWYgKHN0eWxlKCktPmlz
TGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgewogICAgICAgICAgICAgICAgIGlmICh0b3RhbExvZ2lj
YWxXaWR0aCA+IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAmJiB0cmFpbGluZ1NwYWNlUnVuKQotICAg
ICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRo
KG1heCgwLCB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCkgLSB0b3RhbExv
Z2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOworICAgICAgICAgICAgICAgICAg
ICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgwLmYsIHRyYWls
aW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNhbFdpZHRoICsg
YXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgICAgIGlmICh0cmFpbGluZ1NwYWNlUnVuKQogICAgICAgICAgICAgICAgICAgICB0cmFpbGlu
Z1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKDApOwpAQCAtNDE2LDcgKzQxNiw3IEBA
IHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb24KICAgICAgICAgICAgIC8v
IGZvciByaWdodCB0byBsZWZ0IGZhbGwgdGhyb3VnaCB0byByaWdodCBhbGlnbmVkCiAgICAgICAg
ICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKSB7CiAgICAgICAgICAg
ICAgICAgaWYgKHRvdGFsTG9naWNhbFdpZHRoID4gYXZhaWxhYmxlTG9naWNhbFdpZHRoICYmIHRy
YWlsaW5nU3BhY2VSdW4pCi0gICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1f
Ym94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAsIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dp
Y2FsV2lkdGgoKSAtIHRvdGFsTG9naWNhbFdpZHRoICsgYXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7
CisgICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2Fs
V2lkdGgobWF4KDAuZiwgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpIC0g
dG90YWxMb2dpY2FsV2lkdGggKyBhdmFpbGFibGVMb2dpY2FsV2lkdGgpKTsKICAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgY2FzZSBSSUdIVDoKQEAgLTQzMyw3
ICs0MzMsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uCiAgICAg
ICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRv
dGFsTG9naWNhbFdpZHRoOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBp
ZiAodG90YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFibGVMb2dpY2FsV2lkdGggJiYgdHJhaWxpbmdT
cGFjZVJ1bikgewotICAgICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+
c2V0TG9naWNhbFdpZHRoKG1heCgwLCB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdp
ZHRoKCkgLSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOworICAg
ICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRo
KG1heCgwLmYsIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFs
TG9naWNhbFdpZHRoICsgYXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7CiAgICAgICAgICAgICAgICAg
ICAgIHRvdGFsTG9naWNhbFdpZHRoIC09IHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2Fs
V2lkdGgoKTsKICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgbG9n
aWNhbExlZnQgKz0gYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGg7CkBA
IC00NDEsMTQgKzQ0MSwxNCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0
aW9uCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDRU5URVI6CiAgICAgICAgIGNh
c2UgV0VCS0lUX0NFTlRFUjoKLSAgICAgICAgICAgIGludCB0cmFpbGluZ1NwYWNlV2lkdGggPSAw
OworICAgICAgICAgICAgZmxvYXQgdHJhaWxpbmdTcGFjZVdpZHRoID0gMDsKICAgICAgICAgICAg
IGlmICh0cmFpbGluZ1NwYWNlUnVuKSB7CiAgICAgICAgICAgICAgICAgdG90YWxMb2dpY2FsV2lk
dGggLT0gdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpOwogICAgICAgICAg
ICAgICAgIHRyYWlsaW5nU3BhY2VXaWR0aCA9IG1pbih0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+
bG9naWNhbFdpZHRoKCksIChhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0
aCArIDEpIC8gMik7Ci0gICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNl
dExvZ2ljYWxXaWR0aChtYXgoMCwgdHJhaWxpbmdTcGFjZVdpZHRoKSk7CisgICAgICAgICAgICAg
ICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXgoMC5mLCB0cmFp
bGluZ1NwYWNlV2lkdGgpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChzdHlsZSgp
LT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCi0gICAgICAgICAgICAgICAgbG9naWNhbExlZnQg
Kz0gbWF4KChhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkgLyAyLCAw
KTsKKyAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdCArPSBtYXgoKGF2YWlsYWJsZUxvZ2ljYWxX
aWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoKSAvIDIsIDAuZik7CiAgICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICAgbG9naWNhbExlZnQgKz0gdG90YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFi
bGVMb2dpY2FsV2lkdGggPyAoYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lk
dGgpIDogKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoKSAvIDIgLSB0
cmFpbGluZ1NwYWNlV2lkdGg7CiAgICAgICAgICAgICBicmVhazsKQEAgLTQ2OCw3ICs0NjgsNyBA
QCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uCiAgICAgICAgICAgICAg
ICAgLy8gT25seSBqdXN0aWZ5IHRleHQgaWYgd2hpdGVzcGFjZSBpcyBjb2xsYXBzZWQuCiAgICAg
ICAgICAgICAgICAgaWYgKHItPm1fb2JqZWN0LT5zdHlsZSgpLT5jb2xsYXBzZVdoaXRlU3BhY2Uo
KSkgewogICAgICAgICAgICAgICAgICAgICBJbmxpbmVUZXh0Qm94KiB0ZXh0Qm94ID0gc3RhdGlj
X2Nhc3Q8SW5saW5lVGV4dEJveCo+KHItPm1fYm94KTsKLSAgICAgICAgICAgICAgICAgICAgaW50
IGV4cGFuc2lvbiA9IChhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkg
KiBvcHBvcnR1bml0aWVzSW5SdW4gLyBleHBhbnNpb25PcHBvcnR1bml0eUNvdW50OworICAgICAg
ICAgICAgICAgICAgICBmbG9hdCBleHBhbnNpb24gPSAoYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0g
dG90YWxMb2dpY2FsV2lkdGgpICogb3Bwb3J0dW5pdGllc0luUnVuIC8gZXhwYW5zaW9uT3Bwb3J0
dW5pdHlDb3VudDsKICAgICAgICAgICAgICAgICAgICAgdGV4dEJveC0+c2V0RXhwYW5zaW9uKGV4
cGFuc2lvbik7CiAgICAgICAgICAgICAgICAgICAgIHRvdGFsTG9naWNhbFdpZHRoICs9IGV4cGFu
c2lvbjsKICAgICAgICAgICAgICAgICB9CkBAIC0xMzY4LDEzICsxMzY4LDEzIEBAIHN0YXRpYyBi
b29sIHNob3VsZFNraXBXaGl0ZXNwYWNlQWZ0ZXJTdGEKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
LXZvaWQgUmVuZGVyQmxvY2s6OmZpdEJlbG93RmxvYXRzKGludCB3aWR0aFRvRml0LCBib29sIGZp
cnN0TGluZSwgaW50JiBhdmFpbGFibGVXaWR0aCkKK3ZvaWQgUmVuZGVyQmxvY2s6OmZpdEJlbG93
RmxvYXRzKGZsb2F0IHdpZHRoVG9GaXQsIGJvb2wgZmlyc3RMaW5lLCBmbG9hdCYgYXZhaWxhYmxl
V2lkdGgpCiB7CiAgICAgQVNTRVJUKHdpZHRoVG9GaXQgPiBhdmFpbGFibGVXaWR0aCk7CiAKICAg
ICBpbnQgZmxvYXRMb2dpY2FsQm90dG9tOwogICAgIGludCBsYXN0RmxvYXRMb2dpY2FsQm90dG9t
ID0gbG9naWNhbEhlaWdodCgpOwotICAgIGludCBuZXdMaW5lV2lkdGggPSBhdmFpbGFibGVXaWR0
aDsKKyAgICBmbG9hdCBuZXdMaW5lV2lkdGggPSBhdmFpbGFibGVXaWR0aDsKICAgICB3aGlsZSAo
dHJ1ZSkgewogICAgICAgICBmbG9hdExvZ2ljYWxCb3R0b20gPSBuZXh0RmxvYXRMb2dpY2FsQm90
dG9tQmVsb3cobGFzdEZsb2F0TG9naWNhbEJvdHRvbSk7CiAgICAgICAgIGlmICghZmxvYXRMb2dp
Y2FsQm90dG9tKQpAQCAtMTM5MiwxOSArMTM5MiwxOSBAQCB2b2lkIFJlbmRlckJsb2NrOjpmaXRC
ZWxvd0Zsb2F0cyhpbnQgd2lkCiAgICAgfQogfQogCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIHRl
eHRXaWR0aChSZW5kZXJUZXh0KiB0ZXh0LCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNv
bnN0IEZvbnQmIGZvbnQsIGludCB4UG9zLCBib29sIGlzRml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBz
ZVdoaXRlU3BhY2UpCitzdGF0aWMgaW5saW5lIGZsb2F0IHRleHRXaWR0aChSZW5kZXJUZXh0KiB0
ZXh0LCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbnN0IEZvbnQmIGZvbnQsIGZsb2F0
IHhQb3MsIGJvb2wgaXNGaXhlZFBpdGNoLCBib29sIGNvbGxhcHNlV2hpdGVTcGFjZSkKIHsKICAg
ICBpZiAoaXNGaXhlZFBpdGNoIHx8ICghZnJvbSAmJiBsZW4gPT0gdGV4dC0+dGV4dExlbmd0aCgp
KSB8fCB0ZXh0LT5zdHlsZSgpLT5oYXNUZXh0Q29tYmluZSgpKQogICAgICAgICByZXR1cm4gdGV4
dC0+d2lkdGgoZnJvbSwgbGVuLCBmb250LCB4UG9zKTsKICAgICByZXR1cm4gZm9udC53aWR0aChU
ZXh0UnVuKHRleHQtPmNoYXJhY3RlcnMoKSArIGZyb20sIGxlbiwgIWNvbGxhcHNlV2hpdGVTcGFj
ZSwgeFBvcykpOwogfQogCi1zdGF0aWMgdm9pZCB0cnlIeXBoZW5hdGluZyhSZW5kZXJUZXh0KiB0
ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsZUlkZW50aWZp
ZXIsIGludCBsYXN0U3BhY2UsIGludCBwb3MsIGludCB4UG9zLCBpbnQgYXZhaWxhYmxlV2lkdGgs
IGJvb2wgaXNGaXhlZFBpdGNoLCBib29sIGNvbGxhcHNlV2hpdGVTcGFjZSwgaW50IGxhc3RTcGFj
ZVdvcmRTcGFjaW5nLCBJbmxpbmVJdGVyYXRvciYgbGluZUJyZWFrLCBpbnQgbmV4dEJyZWFrYWJs
ZSwgYm9vbCYgaHlwaGVuYXRlZCkKK3N0YXRpYyB2b2lkIHRyeUh5cGhlbmF0aW5nKFJlbmRlclRl
eHQqIHRleHQsIGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxlSWRl
bnRpZmllciwgaW50IGxhc3RTcGFjZSwgaW50IHBvcywgZmxvYXQgeFBvcywgaW50IGF2YWlsYWJs
ZVdpZHRoLCBib29sIGlzRml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UsIGludCBs
YXN0U3BhY2VXb3JkU3BhY2luZywgSW5saW5lSXRlcmF0b3ImIGxpbmVCcmVhaywgaW50IG5leHRC
cmVha2FibGUsIGJvb2wmIGh5cGhlbmF0ZWQpCiB7CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBo
eXBoZW5TdHJpbmcgPSB0ZXh0LT5zdHlsZSgpLT5oeXBoZW5TdHJpbmcoKTsKICAgICBpbnQgaHlw
aGVuV2lkdGggPSBmb250LndpZHRoKFRleHRSdW4oaHlwaGVuU3RyaW5nLmNoYXJhY3RlcnMoKSwg
aHlwaGVuU3RyaW5nLmxlbmd0aCgpKSk7CiAKLSAgICBpbnQgbWF4UHJlZml4V2lkdGggPSBhdmFp
bGFibGVXaWR0aCAtIHhQb3MgLSBoeXBoZW5XaWR0aCAtIGxhc3RTcGFjZVdvcmRTcGFjaW5nOwor
ICAgIGZsb2F0IG1heFByZWZpeFdpZHRoID0gYXZhaWxhYmxlV2lkdGggLSB4UG9zIC0gaHlwaGVu
V2lkdGggLSBsYXN0U3BhY2VXb3JkU3BhY2luZzsKICAgICAvLyBJZiB0aGUgbWF4aW11bSB3aWR0
aCBhdmFpbGFibGUgZm9yIHRoZSBwcmVmaXggYmVmb3JlIHRoZSBoeXBoZW4gaXMgc21hbGwsIHRo
ZW4gaXQgaXMgdmVyeSB1bmxpa2VseQogICAgIC8vIHRoYXQgYW4gaHlwaGVuYXRpb24gb3Bwb3J0
dW5pdHkgZXhpc3RzLCBzbyBkbyBub3QgYm90aGVyIHRvIGxvb2sgZm9yIGl0LgogICAgIGlmICht
YXhQcmVmaXhXaWR0aCA8PSBmb250LnBpeGVsU2l6ZSgpICogNSAvIDQpCkBAIC0xNDE5LDcgKzE0
MTksNyBAQCBzdGF0aWMgdm9pZCB0cnlIeXBoZW5hdGluZyhSZW5kZXJUZXh0KiB0CiAgICAgICAg
IHJldHVybjsKIAogI2lmICFBU1NFUlRfRElTQUJMRUQKLSAgICBpbnQgcHJlZml4V2lkdGggPSBo
eXBoZW5XaWR0aCArIHRleHRXaWR0aCh0ZXh0LCBsYXN0U3BhY2UsIHByZWZpeExlbmd0aCwgZm9u
dCwgeFBvcywgaXNGaXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UpICsgbGFzdFNwYWNlV29y
ZFNwYWNpbmc7CisgICAgZmxvYXQgcHJlZml4V2lkdGggPSBoeXBoZW5XaWR0aCArIHRleHRXaWR0
aCh0ZXh0LCBsYXN0U3BhY2UsIHByZWZpeExlbmd0aCwgZm9udCwgeFBvcywgaXNGaXhlZFBpdGNo
LCBjb2xsYXBzZVdoaXRlU3BhY2UpICsgbGFzdFNwYWNlV29yZFNwYWNpbmc7CiAgICAgQVNTRVJU
KHhQb3MgKyBwcmVmaXhXaWR0aCA8PSBhdmFpbGFibGVXaWR0aCk7CiAjZWxzZQogICAgIFVOVVNF
RF9QQVJBTShpc0ZpeGVkUGl0Y2gpOwpAQCAtMTQzOSwxMCArMTQzOSwxMCBAQCBJbmxpbmVJdGVy
YXRvciBSZW5kZXJCbG9jazo6ZmluZE5leHRMaW5lCiAgICAgYm9vbCBhcHBsaWVkU3RhcnRXaWR0
aCA9IHJlc29sdmVyLnBvc2l0aW9uKCkucG9zID4gMDsKICAgICBMaW5lTWlkcG9pbnRTdGF0ZSYg
bGluZU1pZHBvaW50U3RhdGUgPSByZXNvbHZlci5taWRwb2ludFN0YXRlKCk7CiAgICAgCi0gICAg
aW50IHdpZHRoID0gc2tpcExlYWRpbmdXaGl0ZXNwYWNlKHJlc29sdmVyLCBmaXJzdExpbmUsIGlz
TGluZUVtcHR5LCBwcmV2aW91c0xpbmVCcm9rZUNsZWFubHksIGxhc3RGbG9hdEZyb21QcmV2aW91
c0xpbmUpOworICAgIGZsb2F0IHdpZHRoID0gc2tpcExlYWRpbmdXaGl0ZXNwYWNlKHJlc29sdmVy
LCBmaXJzdExpbmUsIGlzTGluZUVtcHR5LCBwcmV2aW91c0xpbmVCcm9rZUNsZWFubHksIGxhc3RG
bG9hdEZyb21QcmV2aW91c0xpbmUpOwogCi0gICAgaW50IHcgPSAwOwotICAgIGludCB0bXBXID0g
MDsKKyAgICBmbG9hdCB3ID0gMDsKKyAgICBmbG9hdCB0bXBXID0gMDsKIAogICAgIGlmIChyZXNv
bHZlci5wb3NpdGlvbigpLmF0RW5kKCkpCiAgICAgICAgIHJldHVybiByZXNvbHZlci5wb3NpdGlv
bigpOwpAQCAtMTQ2MSw4ICsxNDYxLDggQEAgSW5saW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZp
bmROZXh0TGluZQogCiAgICAgSW5saW5lSXRlcmF0b3IgbEJyZWFrID0gcmVzb2x2ZXIucG9zaXRp
b24oKTsKIAotICAgIFJlbmRlck9iamVjdCAqbyA9IHJlc29sdmVyLnBvc2l0aW9uKCkub2JqOwot
ICAgIFJlbmRlck9iamVjdCAqbGFzdCA9IG87CisgICAgUmVuZGVyT2JqZWN0KiBvID0gcmVzb2x2
ZXIucG9zaXRpb24oKS5vYmo7CisgICAgUmVuZGVyT2JqZWN0KiBsYXN0ID0gbzsKICAgICB1bnNp
Z25lZCBwb3MgPSByZXNvbHZlci5wb3NpdGlvbigpLnBvczsKICAgICBpbnQgbmV4dEJyZWFrYWJs
ZSA9IHJlc29sdmVyLnBvc2l0aW9uKCkubmV4dEJyZWFrYWJsZVBvc2l0aW9uOwogICAgIGJvb2wg
YXRTdGFydCA9IHRydWU7CkBAIC0xNjU5LDIyICsxNjU5LDIyIEBAIElubGluZUl0ZXJhdG9yIFJl
bmRlckJsb2NrOjpmaW5kTmV4dExpbmUKICAgICAgICAgICAgIGJvb2wgY2FuSHlwaGVuYXRlID0g
c3R5bGUtPmh5cGhlbnMoKSA9PSBIeXBoZW5zQXV0byAmJiBXZWJDb3JlOjpjYW5IeXBoZW5hdGUo
c3R5bGUtPmh5cGhlbmF0aW9uTG9jYWxlKCkpOwogCiAgICAgICAgICAgICBpbnQgbGFzdFNwYWNl
ID0gcG9zOwotICAgICAgICAgICAgaW50IHdvcmRTcGFjaW5nID0gby0+c3R5bGUoKS0+d29yZFNw
YWNpbmcoKTsKLSAgICAgICAgICAgIGludCBsYXN0U3BhY2VXb3JkU3BhY2luZyA9IDA7CisgICAg
ICAgICAgICBmbG9hdCB3b3JkU3BhY2luZyA9IG8tPnN0eWxlKCktPndvcmRTcGFjaW5nKCk7Cisg
ICAgICAgICAgICBmbG9hdCBsYXN0U3BhY2VXb3JkU3BhY2luZyA9IDA7CiAKICAgICAgICAgICAg
IC8vIE5vbi16ZXJvIG9ubHkgd2hlbiBrZXJuaW5nIGlzIGVuYWJsZWQsIGluIHdoaWNoIGNhc2Ug
d2UgbWVhc3VyZSB3b3JkcyB3aXRoIHRoZWlyIHRyYWlsaW5nCiAgICAgICAgICAgICAvLyBzcGFj
ZSwgdGhlbiBzdWJ0cmFjdCBpdHMgd2lkdGguCi0gICAgICAgICAgICBpbnQgd29yZFRyYWlsaW5n
U3BhY2VXaWR0aCA9IGYudHlwZXNldHRpbmdGZWF0dXJlcygpICYgS2VybmluZyA/IGYud2lkdGgo
VGV4dFJ1bigmc3BhY2UsIDEpKSArIHdvcmRTcGFjaW5nIDogMDsKKyAgICAgICAgICAgIGZsb2F0
IHdvcmRUcmFpbGluZ1NwYWNlV2lkdGggPSBmLnR5cGVzZXR0aW5nRmVhdHVyZXMoKSAmIEtlcm5p
bmcgPyBmLndpZHRoKFRleHRSdW4oJnNwYWNlLCAxKSkgKyB3b3JkU3BhY2luZyA6IDA7CiAKLSAg
ICAgICAgICAgIGludCB3cmFwVyA9IHRtcFcgKyBpbmxpbmVMb2dpY2FsV2lkdGgobywgIWFwcGxp
ZWRTdGFydFdpZHRoLCB0cnVlKTsKLSAgICAgICAgICAgIGludCBjaGFyV2lkdGggPSAwOworICAg
ICAgICAgICAgZmxvYXQgd3JhcFcgPSB0bXBXICsgaW5saW5lTG9naWNhbFdpZHRoKG8sICFhcHBs
aWVkU3RhcnRXaWR0aCwgdHJ1ZSk7CisgICAgICAgICAgICBmbG9hdCBjaGFyV2lkdGggPSAwOwog
ICAgICAgICAgICAgYm9vbCBicmVha05CU1AgPSBhdXRvV3JhcCAmJiBvLT5zdHlsZSgpLT5uYnNw
TW9kZSgpID09IFNQQUNFOwogICAgICAgICAgICAgLy8gQXV0by13cmFwcGluZyB0ZXh0IHNob3Vs
ZCB3cmFwIGluIHRoZSBtaWRkbGUgb2YgYSB3b3JkIG9ubHkgaWYgaXQgY291bGQgbm90IHdyYXAg
YmVmb3JlIHRoZSB3b3JkLAogICAgICAgICAgICAgLy8gd2hpY2ggaXMgb25seSBwb3NzaWJsZSBp
ZiB0aGUgd29yZCBpcyB0aGUgZmlyc3QgdGhpbmcgb24gdGhlIGxpbmUsIHRoYXQgaXMsIGlmIHx3
fCBpcyB6ZXJvLgogICAgICAgICAgICAgYm9vbCBicmVha1dvcmRzID0gby0+c3R5bGUoKS0+YnJl
YWtXb3JkcygpICYmICgoYXV0b1dyYXAgJiYgIXcpIHx8IGN1cnJXUyA9PSBQUkUpOwogICAgICAg
ICAgICAgYm9vbCBtaWRXb3JkQnJlYWsgPSBmYWxzZTsKICAgICAgICAgICAgIGJvb2wgYnJlYWtB
bGwgPSBvLT5zdHlsZSgpLT53b3JkQnJlYWsoKSA9PSBCcmVha0FsbFdvcmRCcmVhayAmJiBhdXRv
V3JhcDsKLSAgICAgICAgICAgIGludCBoeXBoZW5XaWR0aCA9IDA7CisgICAgICAgICAgICBmbG9h
dCBoeXBoZW5XaWR0aCA9IDA7CiAKICAgICAgICAgICAgIGlmICh0LT5pc1dvcmRCcmVhaygpKSB7
CiAgICAgICAgICAgICAgICAgdyArPSB0bXBXOwpAQCAtMTc0Myw3ICsxNzQzLDcgQEAgSW5saW5l
SXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZQogICAgICAgICAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICAgICAgaW50IGFk
ZGl0aW9uYWxUbXBXOworICAgICAgICAgICAgICAgICAgICBmbG9hdCBhZGRpdGlvbmFsVG1wVzsK
ICAgICAgICAgICAgICAgICAgICAgaWYgKHdvcmRUcmFpbGluZ1NwYWNlV2lkdGggJiYgY3VycmVu
dENoYXJhY3RlcklzU3BhY2UpCiAgICAgICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsVG1w
VyA9IHRleHRXaWR0aCh0LCBsYXN0U3BhY2UsIHBvcyArIDEgLSBsYXN0U3BhY2UsIGYsIHcgKyB0
bXBXLCBpc0ZpeGVkUGl0Y2gsIGNvbGxhcHNlV2hpdGVTcGFjZSkgLSB3b3JkVHJhaWxpbmdTcGFj
ZVdpZHRoICsgbGFzdFNwYWNlV29yZFNwYWNpbmc7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UK
QEAgLTE4OTMsNyArMTg5Myw3IEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4
dExpbmUKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLy8gSU1QT1JUQU5UOiBwb3MgaXMg
PiBsZW5ndGggaGVyZSEKLSAgICAgICAgICAgIGludCBhZGRpdGlvbmFsVG1wVyA9IGlnbm9yaW5n
U3BhY2VzID8gMCA6IHRleHRXaWR0aCh0LCBsYXN0U3BhY2UsIHBvcyAtIGxhc3RTcGFjZSwgZiwg
dyArIHRtcFcsIGlzRml4ZWRQaXRjaCwgY29sbGFwc2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdv
cmRTcGFjaW5nOworICAgICAgICAgICAgZmxvYXQgYWRkaXRpb25hbFRtcFcgPSBpZ25vcmluZ1Nw
YWNlcyA/IDAgOiB0ZXh0V2lkdGgodCwgbGFzdFNwYWNlLCBwb3MgLSBsYXN0U3BhY2UsIGYsIHcg
KyB0bXBXLCBpc0ZpeGVkUGl0Y2gsIGNvbGxhcHNlV2hpdGVTcGFjZSkgKyBsYXN0U3BhY2VXb3Jk
U3BhY2luZzsKICAgICAgICAgICAgIHRtcFcgKz0gYWRkaXRpb25hbFRtcFc7CiAgICAgICAgICAg
ICB0bXBXICs9IGlubGluZUxvZ2ljYWxXaWR0aChvLCAhYXBwbGllZFN0YXJ0V2lkdGgsIHRydWUp
OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkocmV2aXNpb24g
Nzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTMyOSw3ICsxMzI5LDcgQEAgdm9pZCBSZW5kZXJCb3g6OnBvc2l0aW9uTGlu
ZUJveChJbmxpbmVCbwogICAgICAgICBib3gtPnJlbW92ZSgpOwogICAgICAgICBib3gtPmRlc3Ry
b3kocmVuZGVyQXJlbmEoKSk7CiAgICAgfSBlbHNlIGlmIChpc1JlcGxhY2VkKCkpIHsKLSAgICAg
ICAgc2V0TG9jYXRpb24oYm94LT54KCksIGJveC0+eSgpKTsKKyAgICAgICAgc2V0TG9jYXRpb24o
bHJvdW5kZihib3gtPngoKSksIGxyb3VuZGYoYm94LT55KCkpKTsKICAgICAgICAgbV9pbmxpbmVC
b3hXcmFwcGVyID0gYm94OwogICAgIH0KIH0KQEAgLTMzNDgsNiArMzM0OCwyNCBAQCBJbnRTaXpl
IFJlbmRlckJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKGNvCiAgICAgcmV0dXJuIHN0eWxlKCktPmlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBJbnRTaXplKG9mZnNldC53aWR0aCgpLCBoZWlnaHQo
KSAtIG9mZnNldC5oZWlnaHQoKSkgOiBJbnRTaXplKHdpZHRoKCkgLSBvZmZzZXQud2lkdGgoKSwg
b2Zmc2V0LmhlaWdodCgpKTsKIH0KIAorRmxvYXRQb2ludCBSZW5kZXJCb3g6OmZsaXBGb3JXcml0
aW5nTW9kZShjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbikgY29uc3QKK3sKKyAgICBpZiAoIXN0
eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCisgICAgICAgIHJldHVybiBwb3Np
dGlvbjsKKyAgICByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEZs
b2F0UG9pbnQocG9zaXRpb24ueCgpLCBoZWlnaHQoKSAtIHBvc2l0aW9uLnkoKSkgOiBGbG9hdFBv
aW50KHdpZHRoKCkgLSBwb3NpdGlvbi54KCksIHBvc2l0aW9uLnkoKSk7Cit9CisKK3ZvaWQgUmVu
ZGVyQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoRmxvYXRSZWN0JiByZWN0KSBjb25zdAoreworICAg
IGlmICghc3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgaWYgKHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCisgICAg
ICAgIHJlY3Quc2V0WShoZWlnaHQoKSAtIHJlY3QubWF4WSgpKTsKKyAgICBlbHNlCisgICAgICAg
IHJlY3Quc2V0WCh3aWR0aCgpIC0gcmVjdC5tYXhYKCkpOworfQorCiBJbnRTaXplIFJlbmRlckJv
eDo6bG9jYXRpb25PZmZzZXRJbmNsdWRpbmdGbGlwcGluZygpIGNvbnN0CiB7CiAgICAgaWYgKCFw
YXJlbnQoKSB8fCAhcGFyZW50KCktPmlzQm94KCkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5oCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMzg1LDYgKzM4NSw4IEBAIHB1YmxpYzoK
ICAgICBJbnRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGVJbmNsdWRpbmdDb2x1bW5zKGNvbnN0IElu
dFBvaW50JikgY29uc3Q7CiAgICAgSW50U2l6ZSBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgSW50
U2l6ZSYpIGNvbnN0OwogICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEludFJlY3QmKSBjb25z
dDsKKyAgICBGbG9hdFBvaW50IGZsaXBGb3JXcml0aW5nTW9kZShjb25zdCBGbG9hdFBvaW50Jikg
Y29uc3Q7CisgICAgdm9pZCBmbGlwRm9yV3JpdGluZ01vZGUoRmxvYXRSZWN0JikgY29uc3Q7CiAg
ICAgSW50U2l6ZSBsb2NhdGlvbk9mZnNldEluY2x1ZGluZ0ZsaXBwaW5nKCkgY29uc3Q7CiAKICAg
ICBJbnRSZWN0IGxvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbihSZW5kZXJT
dHlsZSopIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJp
bmVUZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Q29tYmluZVRleHQuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJDb21iaW5lVGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcg
QEAgdm9pZCBSZW5kZXJDb21iaW5lVGV4dDo6c2V0VGV4dEludGVybmFsKAogICAgIG1fbmVlZHNG
b250VXBkYXRlID0gdHJ1ZTsKIH0KIAotdW5zaWduZWQgUmVuZGVyQ29tYmluZVRleHQ6OndpZHRo
KHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgRm9udCYgZm9udCwgaW50IHhQ
b3NpdGlvbiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBH
bHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAorZmxvYXQgUmVuZGVyQ29tYmluZVRl
eHQ6OndpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgRm9udCYgZm9u
dCwgZmxvYXQgeFBvc2l0aW9uLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxi
YWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CiB7CiAgICAgaWYg
KCFjaGFyYWN0ZXJzKCkpCiAgICAgICAgIHJldHVybiAwOwpAQCAtNjMsNyArNjMsNyBAQCB1bnNp
Z25lZCBSZW5kZXJDb21iaW5lVGV4dDo6d2lkdGgodW5zaWduCiAgICAgcmV0dXJuIFJlbmRlclRl
eHQ6OndpZHRoKGZyb20sIGxlbmd0aCwgZm9udCwgeFBvc2l0aW9uLCBmYWxsYmFja0ZvbnRzLCBn
bHlwaE92ZXJmbG93KTsKIH0KIAotdm9pZCBSZW5kZXJDb21iaW5lVGV4dDo6YWRqdXN0VGV4dE9y
aWdpbihJbnRQb2ludCYgdGV4dE9yaWdpbiwgY29uc3QgSW50UmVjdCYgYm94UmVjdCkgY29uc3QK
K3ZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OmFkanVzdFRleHRPcmlnaW4oRmxvYXRQb2ludCYgdGV4
dE9yaWdpbiwgY29uc3QgRmxvYXRSZWN0JiBib3hSZWN0KSBjb25zdAogewogICAgIGlmIChtX2lz
Q29tYmluZWQpCiAgICAgICAgIHRleHRPcmlnaW4ubW92ZShib3hSZWN0LmhlaWdodCgpIC8gMiAt
IGNlaWxmKG1fY29tYmluZWRUZXh0V2lkdGgpIC8gMiwgc3R5bGUoKS0+Zm9udCgpLnBpeGVsU2l6
ZSgpKTsKQEAgLTk4LDcgKzk4LDcgQEAgdm9pZCBSZW5kZXJDb21iaW5lVGV4dDo6Y29tYmluZVRl
eHQoKQogICAgIGJvb2wgc2hvdWxkVXBkYXRlRm9udCA9IGZhbHNlOwogCiAgICAgZGVzY3JpcHRp
b24uc2V0T3JpZW50YXRpb24oSG9yaXpvbnRhbCk7IC8vIFdlIGFyZSBnb2luZyB0byBkcmF3IGNv
bWJpbmVkIHRleHQgaG9yaXpvbnRhbGx5LgotICAgIG1fY29tYmluZWRUZXh0V2lkdGggPSBzdHls
ZSgpLT5mb250KCkuZmxvYXRXaWR0aChydW4pOworICAgIG1fY29tYmluZWRUZXh0V2lkdGggPSBz
dHlsZSgpLT5mb250KCkud2lkdGgocnVuKTsKICAgICBtX2lzQ29tYmluZWQgPSBtX2NvbWJpbmVk
VGV4dFdpZHRoIDw9IGVtV2lkdGg7CiAKICAgICBpZiAobV9pc0NvbWJpbmVkKQpAQCAtMTEwLDcg
KzExMCw3IEBAIHZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OmNvbWJpbmVUZXh0KCkKICAgICAgICAg
ICAgIGRlc2NyaXB0aW9uLnNldFdpZHRoVmFyaWFudCh3aWR0aFZhcmlhbnRzW2ldKTsKICAgICAg
ICAgICAgIEZvbnQgY29tcHJlc3NlZEZvbnQgPSBGb250KGRlc2NyaXB0aW9uLCBzdHlsZSgpLT5m
b250KCkubGV0dGVyU3BhY2luZygpLCBzdHlsZSgpLT5mb250KCkud29yZFNwYWNpbmcoKSk7CiAg
ICAgICAgICAgICBjb21wcmVzc2VkRm9udC51cGRhdGUoc3R5bGUoKS0+Zm9udCgpLmZvbnRTZWxl
Y3RvcigpKTsKLSAgICAgICAgICAgIGZsb2F0IHJ1bldpZHRoID0gY29tcHJlc3NlZEZvbnQuZmxv
YXRXaWR0aChydW4pOworICAgICAgICAgICAgZmxvYXQgcnVuV2lkdGggPSBjb21wcmVzc2VkRm9u
dC53aWR0aChydW4pOwogICAgICAgICAgICAgaWYgKHJ1bldpZHRoIDw9IGVtV2lkdGgpIHsKICAg
ICAgICAgICAgICAgICBtX2NvbWJpbmVkVGV4dFdpZHRoID0gcnVuV2lkdGg7CiAgICAgICAgICAg
ICAgICAgbV9pc0NvbWJpbmVkID0gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJDb21iaW5lVGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJDb21iaW5lVGV4dC5oCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwx
MyArMzAsMTMgQEAgcHVibGljOgogICAgIFJlbmRlckNvbWJpbmVUZXh0KE5vZGUqLCBQYXNzUmVm
UHRyPFN0cmluZ0ltcGw+KTsKIAogICAgIHZvaWQgY29tYmluZVRleHQoKTsKLSAgICB2b2lkIGFk
anVzdFRleHRPcmlnaW4oSW50UG9pbnQmIHRleHRPcmlnaW4sIGNvbnN0IEludFJlY3QmIGJveFJl
Y3QpIGNvbnN0OworICAgIHZvaWQgYWRqdXN0VGV4dE9yaWdpbihGbG9hdFBvaW50JiB0ZXh0T3Jp
Z2luLCBjb25zdCBGbG9hdFJlY3QmIGJveFJlY3QpIGNvbnN0OwogICAgIHZvaWQgY2hhcmFjdGVy
c1RvUmVuZGVyKGludCBzdGFydCwgY29uc3QgVUNoYXIqJiBjaGFyYWN0ZXJzLCBpbnQmIGxlbmd0
aCkgY29uc3Q7CiAgICAgYm9vbCBpc0NvbWJpbmVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0NvbWJp
bmVkOyB9Ci0gICAgaW50IGNvbWJpbmVkVGV4dFdpZHRoKGNvbnN0IEZvbnQmIGZvbnQpIGNvbnN0
IHsgcmV0dXJuIGZvbnQuc2l6ZSgpOyB9CisgICAgZmxvYXQgY29tYmluZWRUZXh0V2lkdGgoY29u
c3QgRm9udCYgZm9udCkgY29uc3QgeyByZXR1cm4gZm9udC5zaXplKCk7IH0KIAogcHJpdmF0ZToK
LSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbmd0
aCwgY29uc3QgRm9udCYsIGludCB4UG9zaXRpb24sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERh
dGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAg
dmlydHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0
IEZvbnQmLCBmbG9hdCB4UG9zaXRpb24sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiog
ZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CiAgICAgdmlydHVh
bCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlckNvbWJpbmVU
ZXh0IjsgfQogICAgIHZpcnR1YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2Us
IGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSk7CiAgICAgdmlydHVhbCB2b2lkIHNldFRleHRJ
bnRlcm5hbChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OTMs
NyArNDkzLDcgQEAgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBSZW5kZXJDb3VudGVyOjpvcgogICAg
IHJldHVybiB0ZXh0LmltcGwoKTsKIH0KIAotdm9pZCBSZW5kZXJDb3VudGVyOjpjb21wdXRlUHJl
ZmVycmVkTG9naWNhbFdpZHRocyhpbnQgbGVhZCkKK3ZvaWQgUmVuZGVyQ291bnRlcjo6Y29tcHV0
ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoZmxvYXQgbGVhZCkKIHsKICAgICBzZXRUZXh0SW50ZXJu
YWwob3JpZ2luYWxUZXh0KCkpOwogICAgIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzKGxlYWQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNv
dW50ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291
bnRlci5oCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJDb3VudGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDcgKzUwLDcgQEAgcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIGJvb2wgaXNDb3VudGVyKCkgY29uc3Q7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRy
PFN0cmluZ0ltcGw+IG9yaWdpbmFsVGV4dCgpIGNvbnN0OwogICAgIAotICAgIHZpcnR1YWwgdm9p
ZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhpbnQgbGVhZFdpZHRoKTsKKyAgICB2aXJ0
dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoZmxvYXQgbGVhZFdpZHRoKTsK
IAogICAgIENvdW50ZXJDb250ZW50IG1fY291bnRlcjsKICAgICBtdXRhYmxlIENvdW50ZXJOb2Rl
KiBtX2NvdW50ZXJOb2RlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVt
YmVkZGVkT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE5OSw4ICsxOTksNyBAQCBib29sIFJlbmRlckVtYmVkZGVkT2JqZWN0OjpnZXRSZXBsYWNlbWVu
CiAgICAgZm9udC51cGRhdGUoMCk7CiAgICAgCiAgICAgcnVuID0gVGV4dFJ1bihtX3JlcGxhY2Vt
ZW50VGV4dC5jaGFyYWN0ZXJzKCksIG1fcmVwbGFjZW1lbnRUZXh0Lmxlbmd0aCgpKTsKLSAgICBy
dW4uZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsKLSAgICB0ZXh0V2lkdGggPSBmb250LmZsb2F0V2lk
dGgocnVuKTsKKyAgICB0ZXh0V2lkdGggPSBmb250LndpZHRoKHJ1bik7CiAgICAgCiAgICAgcmVw
bGFjZW1lbnRUZXh0UmVjdC5zZXRTaXplKEZsb2F0U2l6ZSh0ZXh0V2lkdGggKyByZXBsYWNlbWVu
dFRleHRSb3VuZGVkUmVjdExlZnRSaWdodFRleHRNYXJnaW4gKiAyLCByZXBsYWNlbWVudFRleHRS
b3VuZGVkUmVjdEhlaWdodCkpOwogICAgIGZsb2F0IHggPSAoY29udGVudFJlY3Quc2l6ZSgpLndp
ZHRoKCkgLyAyIC0gcmVwbGFjZW1lbnRUZXh0UmVjdC5zaXplKCkud2lkdGgoKSAvIDIpICsgY29u
dGVudFJlY3QubG9jYXRpb24oKS54KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAJKHJldmlzaW9uIDc4NDg0KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjczLDcgKzI3Myw3IEBAIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENv
bnRyb2w6OmNvbXB1dGVQcmUKICAgICAgICAgLy8gRmlndXJlIG91dCBob3cgYmlnIHRoZSBmaWxl
bmFtZSBzcGFjZSBuZWVkcyB0byBiZSBmb3IgYSBnaXZlbiBudW1iZXIgb2YgY2hhcmFjdGVycwog
ICAgICAgICAvLyAodXNpbmcgIjAiIGFzIHRoZSBub21pbmFsIGNoYXJhY3RlcikuCiAgICAgICAg
IGNvbnN0IFVDaGFyIGNoID0gJzAnOwotICAgICAgICBmbG9hdCBjaGFyV2lkdGggPSBzdHlsZSgp
LT5mb250KCkuZmxvYXRXaWR0aChUZXh0UnVuKCZjaCwgMSwgZmFsc2UsIDAsIDAsIFRleHRSdW46
OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlLCBmYWxzZSwgZmFsc2UpKTsKKyAgICAgICAg
ZmxvYXQgY2hhcldpZHRoID0gc3R5bGUoKS0+Zm9udCgpLndpZHRoKFRleHRSdW4oJmNoLCAxLCBm
YWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgZmFsc2UpKTsKICAg
ICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSAoaW50KWNlaWxmKGNoYXJXaWR0aCAq
IGRlZmF1bHRXaWR0aE51bUNoYXJzKTsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckltYWdlLmNwcAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MSw3ICs4MSw3
IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzaG9ydCBwYWRkaW5nSGVpZ2gKIAogLy8gQWx0IHRl
eHQgaXMgcmVzdHJpY3RlZCB0byB0aGlzIG1heGltdW0gc2l6ZSwgaW4gcGl4ZWxzLiAgVGhlc2Ug
YXJlCiAvLyBzaWduZWQgaW50ZWdlcnMgYmVjYXVzZSB0aGV5IGFyZSBjb21wYXJlZCB3aXRoIG90
aGVyIHNpZ25lZCB2YWx1ZXMuCi1zdGF0aWMgY29uc3QgaW50IG1heEFsdFRleHRXaWR0aCA9IDEw
MjQ7CitzdGF0aWMgY29uc3QgZmxvYXQgbWF4QWx0VGV4dFdpZHRoID0gMTAyNDsKIHN0YXRpYyBj
b25zdCBpbnQgbWF4QWx0VGV4dEhlaWdodCA9IDI1NjsKIAogSW50U2l6ZSBSZW5kZXJJbWFnZTo6
aW1hZ2VTaXplRm9yRXJyb3IoQ2FjaGVkSW1hZ2UqIG5ld0ltYWdlKSBjb25zdApJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAJKHJldmlzaW9uIDc4NDg0KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTU1OSw4ICs1NTksOCBAQCBJbnRSZWN0IFJlbmRlcklubGluZTo6bGluZXNCb3VuZGlu
Z0JveCgpCiAgICAgQVNTRVJUKCFmaXJzdExpbmVCb3goKSA9PSAhbGFzdExpbmVCb3goKSk7ICAv
LyBFaXRoZXIgYm90aCBhcmUgbnVsbCBvciBib3RoIGV4aXN0LgogICAgIGlmIChmaXJzdExpbmVC
b3goKSAmJiBsYXN0TGluZUJveCgpKSB7CiAgICAgICAgIC8vIFJldHVybiB0aGUgd2lkdGggb2Yg
dGhlIG1pbmltYWwgbGVmdCBzaWRlIGFuZCB0aGUgbWF4aW1hbCByaWdodCBzaWRlLgotICAgICAg
ICBpbnQgbG9naWNhbExlZnRTaWRlID0gMDsKLSAgICAgICAgaW50IGxvZ2ljYWxSaWdodFNpZGUg
PSAwOworICAgICAgICBmbG9hdCBsb2dpY2FsTGVmdFNpZGUgPSAwOworICAgICAgICBmbG9hdCBs
b2dpY2FsUmlnaHRTaWRlID0gMDsKICAgICAgICAgZm9yIChJbmxpbmVGbG93Qm94KiBjdXJyID0g
Zmlyc3RMaW5lQm94KCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0TGluZUJveCgpKSB7CiAgICAg
ICAgICAgICBpZiAoY3VyciA9PSBmaXJzdExpbmVCb3goKSB8fCBjdXJyLT5sb2dpY2FsTGVmdCgp
IDwgbG9naWNhbExlZnRTaWRlKQogICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0U2lkZSA9IGN1
cnItPmxvZ2ljYWxMZWZ0KCk7CkBAIC01NzAsMTEgKzU3MCwxMSBAQCBJbnRSZWN0IFJlbmRlcklu
bGluZTo6bGluZXNCb3VuZGluZ0JveCgpCiAgICAgICAgIAogICAgICAgICBib29sIGlzSG9yaXpv
bnRhbCA9IHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CiAgICAgICAgIAotICAg
ICAgICBpbnQgeCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxMZWZ0U2lkZSA6IGZpcnN0TGluZUJv
eCgpLT54KCk7Ci0gICAgICAgIGludCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RMaW5lQm94KCkt
PnkoKSA6IGxvZ2ljYWxMZWZ0U2lkZTsKLSAgICAgICAgaW50IHdpZHRoID0gaXNIb3Jpem9udGFs
ID8gbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZSA6IGxhc3RMaW5lQm94KCktPmxv
Z2ljYWxCb3R0b20oKSAtIHg7Ci0gICAgICAgIGludCBoZWlnaHQgPSBpc0hvcml6b250YWwgPyBs
YXN0TGluZUJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB5IDogbG9naWNhbFJpZ2h0U2lkZSAtIGxv
Z2ljYWxMZWZ0U2lkZTsKLSAgICAgICAgcmVzdWx0ID0gSW50UmVjdCh4LCB5LCB3aWR0aCwgaGVp
Z2h0KTsKKyAgICAgICAgZmxvYXQgeCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxMZWZ0U2lkZSA6
IGZpcnN0TGluZUJveCgpLT54KCk7CisgICAgICAgIGZsb2F0IHkgPSBpc0hvcml6b250YWwgPyBm
aXJzdExpbmVCb3goKS0+eSgpIDogbG9naWNhbExlZnRTaWRlOworICAgICAgICBmbG9hdCB3aWR0
aCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBs
YXN0TGluZUJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB4OworICAgICAgICBmbG9hdCBoZWlnaHQg
PSBpc0hvcml6b250YWwgPyBsYXN0TGluZUJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB5IDogbG9n
aWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICAgICAgcmVzdWx0ID0gZW5jbG9z
aW5nSW50UmVjdChGbG9hdFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCkpOwogICAgIH0KIAogICAg
IHJldHVybiByZXN1bHQ7CkBAIC01ODYsMjAgKzU4NiwyMCBAQCBJbnRSZWN0IFJlbmRlcklubGlu
ZTo6bGluZXNWaXN1YWxPdmVyZmxvCiAgICAgICAgIHJldHVybiBJbnRSZWN0KCk7CiAKICAgICAv
LyBSZXR1cm4gdGhlIHdpZHRoIG9mIHRoZSBtaW5pbWFsIGxlZnQgc2lkZSBhbmQgdGhlIG1heGlt
YWwgcmlnaHQgc2lkZS4KLSAgICBpbnQgbG9naWNhbExlZnRTaWRlID0gbnVtZXJpY19saW1pdHM8
aW50Pjo6bWF4KCk7Ci0gICAgaW50IGxvZ2ljYWxSaWdodFNpZGUgPSBudW1lcmljX2xpbWl0czxp
bnQ+OjptaW4oKTsKKyAgICBmbG9hdCBsb2dpY2FsTGVmdFNpZGUgPSBudW1lcmljX2xpbWl0czxp
bnQ+OjptYXgoKTsKKyAgICBmbG9hdCBsb2dpY2FsUmlnaHRTaWRlID0gbnVtZXJpY19saW1pdHM8
aW50Pjo6bWluKCk7CiAgICAgZm9yIChJbmxpbmVGbG93Qm94KiBjdXJyID0gZmlyc3RMaW5lQm94
KCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0TGluZUJveCgpKSB7Ci0gICAgICAgIGxvZ2ljYWxM
ZWZ0U2lkZSA9IG1pbihsb2dpY2FsTGVmdFNpZGUsIGN1cnItPmxvZ2ljYWxMZWZ0VmlzdWFsT3Zl
cmZsb3coKSk7Ci0gICAgICAgIGxvZ2ljYWxSaWdodFNpZGUgPSBtYXgobG9naWNhbFJpZ2h0U2lk
ZSwgY3Vyci0+bG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSk7CisgICAgICAgIGxvZ2ljYWxM
ZWZ0U2lkZSA9IG1pbihsb2dpY2FsTGVmdFNpZGUsIHN0YXRpY19jYXN0PGZsb2F0PihjdXJyLT5s
b2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCkpKTsKKyAgICAgICAgbG9naWNhbFJpZ2h0U2lkZSA9
IG1heChsb2dpY2FsUmlnaHRTaWRlLCBzdGF0aWNfY2FzdDxmbG9hdD4oY3Vyci0+bG9naWNhbFJp
Z2h0VmlzdWFsT3ZlcmZsb3coKSkpOwogICAgIH0KIAogICAgIGJvb2wgaXNIb3Jpem9udGFsID0g
c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKTsKICAgICAgICAgCi0gICAgaW50IHgg
PSBpc0hvcml6b250YWwgPyBsb2dpY2FsTGVmdFNpZGUgOiBmaXJzdExpbmVCb3goKS0+bWluWFZp
c3VhbE92ZXJmbG93KCk7Ci0gICAgaW50IHkgPSBpc0hvcml6b250YWwgPyBmaXJzdExpbmVCb3go
KS0+bWluWVZpc3VhbE92ZXJmbG93KCkgOiBsb2dpY2FsTGVmdFNpZGU7Ci0gICAgaW50IHdpZHRo
ID0gaXNIb3Jpem9udGFsID8gbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZSA6IGxh
c3RMaW5lQm94KCktPm1heFhWaXN1YWxPdmVyZmxvdygpIC0gZmlyc3RMaW5lQm94KCktPm1pblhW
aXN1YWxPdmVyZmxvdygpOwotICAgIGludCBoZWlnaHQgPSBpc0hvcml6b250YWwgPyBsYXN0TGlu
ZUJveCgpLT5tYXhZVmlzdWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT5taW5ZVmlzdWFs
T3ZlcmZsb3coKSA6IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGU7Ci0gICAgcmV0
dXJuIEludFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCk7CisgICAgZmxvYXQgeCA9IGlzSG9yaXpv
bnRhbCA/IGxvZ2ljYWxMZWZ0U2lkZSA6IGZpcnN0TGluZUJveCgpLT5taW5YVmlzdWFsT3ZlcmZs
b3coKTsKKyAgICBmbG9hdCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RMaW5lQm94KCktPm1pbllW
aXN1YWxPdmVyZmxvdygpIDogbG9naWNhbExlZnRTaWRlOworICAgIGZsb2F0IHdpZHRoID0gaXNI
b3Jpem9udGFsID8gbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZSA6IGxhc3RMaW5l
Qm94KCktPm1heFhWaXN1YWxPdmVyZmxvdygpIC0gZmlyc3RMaW5lQm94KCktPm1pblhWaXN1YWxP
dmVyZmxvdygpOworICAgIGZsb2F0IGhlaWdodCA9IGlzSG9yaXpvbnRhbCA/IGxhc3RMaW5lQm94
KCktPm1heFlWaXN1YWxPdmVyZmxvdygpIC0gZmlyc3RMaW5lQm94KCktPm1pbllWaXN1YWxPdmVy
ZmxvdygpIDogbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICByZXR1cm4g
ZW5jbG9zaW5nSW50UmVjdChGbG9hdFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCkpOwogfQogCiBJ
bnRSZWN0IFJlbmRlcklubGluZTo6Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVy
Qm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpCkBAIC05NjMsOCArOTYzLDggQEAgdm9p
ZCBSZW5kZXJJbmxpbmU6OmFkZEZvY3VzUmluZ1JlY3RzKFZlYwogewogICAgIGZvciAoSW5saW5l
Rmxvd0JveCogY3VyciA9IGZpcnN0TGluZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dExp
bmVCb3goKSkgewogICAgICAgICBSb290SW5saW5lQm94KiByb290ID0gY3Vyci0+cm9vdCgpOwot
ICAgICAgICBpbnQgdG9wID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+eSgpKTsKLSAgICAg
ICAgaW50IGJvdHRvbSA9IG1pbihyb290LT5saW5lQm90dG9tKCksIGN1cnItPnkoKSArIGN1cnIt
PmxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgIGludCB0b3AgPSBtYXgocm9vdC0+bGluZVRvcCgp
LCBjdXJyLT5sb2dpY2FsVG9wKCkpOworICAgICAgICBpbnQgYm90dG9tID0gbWluKHJvb3QtPmxp
bmVCb3R0b20oKSwgY3Vyci0+bG9naWNhbEJvdHRvbSgpKTsKICAgICAgICAgSW50UmVjdCByZWN0
KHR4ICsgY3Vyci0+eCgpLCB0eSArIHRvcCwgY3Vyci0+bG9naWNhbFdpZHRoKCksIGJvdHRvbSAt
IHRvcCk7CiAgICAgICAgIGlmICghcmVjdC5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZWN0cy5h
cHBlbmQocmVjdCk7CkBAIC0xMDE1LDggKzEwMTUsOCBAQCB2b2lkIFJlbmRlcklubGluZTo6cGFp
bnRPdXRsaW5lKEdyYXBoaWNzCiAgICAgcmVjdHMuYXBwZW5kKEludFJlY3QoKSk7CiAgICAgZm9y
IChJbmxpbmVGbG93Qm94KiBjdXJyID0gZmlyc3RMaW5lQm94KCk7IGN1cnI7IGN1cnIgPSBjdXJy
LT5uZXh0TGluZUJveCgpKSB7CiAgICAgICAgIFJvb3RJbmxpbmVCb3gqIHJvb3QgPSBjdXJyLT5y
b290KCk7Ci0gICAgICAgIGludCB0b3AgPSBtYXgocm9vdC0+bGluZVRvcCgpLCBjdXJyLT55KCkp
OwotICAgICAgICBpbnQgYm90dG9tID0gbWluKHJvb3QtPmxpbmVCb3R0b20oKSwgY3Vyci0+eSgp
ICsgY3Vyci0+bG9naWNhbEhlaWdodCgpKTsKKyAgICAgICAgaW50IHRvcCA9IG1heChyb290LT5s
aW5lVG9wKCksIGN1cnItPmxvZ2ljYWxUb3AoKSk7CisgICAgICAgIGludCBib3R0b20gPSBtaW4o
cm9vdC0+bGluZUJvdHRvbSgpLCBjdXJyLT5sb2dpY2FsQm90dG9tKCkpOwogICAgICAgICByZWN0
cy5hcHBlbmQoSW50UmVjdChjdXJyLT54KCksIHRvcCwgY3Vyci0+bG9naWNhbFdpZHRoKCksIGJv
dHRvbSAtIHRvcCkpOwogICAgIH0KICAgICByZWN0cy5hcHBlbmQoSW50UmVjdCgpKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAJKHJldmlzaW9uIDc4
NDg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMTEsNyArMTExLDcgQEAgdm9pZCBSZW5kZXJMaXN0Qm94Ojp1cGRhdGVG
cm9tRWxlbWVudCgpCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICBpZiAoIXRleHQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICAgICAgZmxvYXQgdGV4dFdpZHRo
ID0gaXRlbUZvbnQuZmxvYXRXaWR0aChUZXh0UnVuKHRleHQuaW1wbCgpLCBmYWxzZSwgMCwgMCwg
VGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFs
c2UpKTsKKyAgICAgICAgICAgICAgICBmbG9hdCB0ZXh0V2lkdGggPSBpdGVtRm9udC53aWR0aChU
ZXh0UnVuKHRleHQuaW1wbCgpLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4
cGFuc2lvbiwgZmFsc2UsIGZhbHNlKSk7CiAgICAgICAgICAgICAgICAgd2lkdGggPSBtYXgod2lk
dGgsIHRleHRXaWR0aCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTMzMyw3ICszMzMs
NyBAQCB2b2lkIFJlbmRlckxpc3RCb3g6OnBhaW50SXRlbUZvcmVncm91bmQoCiAKICAgICB1bnNp
Z25lZCBsZW5ndGggPSBpdGVtVGV4dC5sZW5ndGgoKTsKICAgICBjb25zdCBVQ2hhciogc3RyaW5n
ID0gaXRlbVRleHQuY2hhcmFjdGVycygpOwotICAgIFRleHRSdW4gdGV4dFJ1bihzdHJpbmcsIGxl
bmd0aCwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sICFpdGVt
U3R5bGUtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgaXRlbVN0eWxlLT51bmljb2RlQmlkaSgp
ID09IE92ZXJyaWRlLCBmYWxzZSwgZmFsc2UpOworICAgIFRleHRSdW4gdGV4dFJ1bihzdHJpbmcs
IGxlbmd0aCwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sICFp
dGVtU3R5bGUtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgaXRlbVN0eWxlLT51bmljb2RlQmlk
aSgpID09IE92ZXJyaWRlKTsKIAogICAgIC8vIERyYXcgdGhlIGl0ZW0gdGV4dAogICAgIGlmIChp
dGVtU3R5bGUtPnZpc2liaWxpdHkoKSAhPSBISURERU4pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTUzLDEwICsxNTMsMTAgQEAgdm9pZCBSZW5kZXJNZW51TGlzdDo6dXBkYXRlT3B0aW9uc1dpZHRo
KAogICAgICAgICAgICAgaWYgKFJlbmRlclN0eWxlKiBvcHRpb25TdHlsZSA9IGVsZW1lbnQtPnJl
bmRlclN0eWxlKCkpCiAgICAgICAgICAgICAgICAgb3B0aW9uV2lkdGggKz0gb3B0aW9uU3R5bGUt
PnRleHRJbmRlbnQoKS5jYWxjTWluVmFsdWUoMCk7CiAgICAgICAgICAgICBpZiAoIXRleHQuaXNF
bXB0eSgpKQotICAgICAgICAgICAgICAgIG9wdGlvbldpZHRoICs9IHN0eWxlKCktPmZvbnQoKS5m
bG9hdFdpZHRoKHRleHQpOworICAgICAgICAgICAgICAgIG9wdGlvbldpZHRoICs9IHN0eWxlKCkt
PmZvbnQoKS53aWR0aCh0ZXh0KTsKICAgICAgICAgICAgIG1heE9wdGlvbldpZHRoID0gbWF4KG1h
eE9wdGlvbldpZHRoLCBvcHRpb25XaWR0aCk7CiAgICAgICAgIH0gZWxzZSBpZiAoIXRleHQuaXNF
bXB0eSgpKQotICAgICAgICAgICAgbWF4T3B0aW9uV2lkdGggPSBtYXgobWF4T3B0aW9uV2lkdGgs
IHN0eWxlKCktPmZvbnQoKS5mbG9hdFdpZHRoKHRleHQpKTsKKyAgICAgICAgICAgIG1heE9wdGlv
bldpZHRoID0gbWF4KG1heE9wdGlvbldpZHRoLCBzdHlsZSgpLT5mb250KCkud2lkdGgodGV4dCkp
OwogICAgIH0KIAogICAgIGludCB3aWR0aCA9IHN0YXRpY19jYXN0PGludD4oY2VpbGYobWF4T3B0
aW9uV2lkdGgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAJ
KHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MDYsMTUgKzUwNiwxOSBAQCBJbnRSZWN0IFJlbmRlclRl
eHQ6OmxvY2FsQ2FyZXRSZWN0KElubGluCiAgICAgaW50IGhlaWdodCA9IGJveC0+cm9vdCgpLT5z
ZWxlY3Rpb25IZWlnaHQoKTsKICAgICBpbnQgdG9wID0gYm94LT5yb290KCktPnNlbGVjdGlvblRv
cCgpOwogCi0gICAgaW50IGxlZnQgPSBib3gtPnBvc2l0aW9uRm9yT2Zmc2V0KGNhcmV0T2Zmc2V0
KTsKKyAgICAvLyBHbyBhaGVhZCBhbmQgcm91bmQgbGVmdCB0byBzbmFwIGl0IHRvIHRoZSBuZWFy
ZXN0IHBpeGVsLgorICAgIGZsb2F0IGxlZnQgPSBib3gtPnBvc2l0aW9uRm9yT2Zmc2V0KGNhcmV0
T2Zmc2V0KTsKIAogICAgIC8vIERpc3RyaWJ1dGUgdGhlIGNhcmV0J3Mgd2lkdGggdG8gZWl0aGVy
IHNpZGUgb2YgdGhlIG9mZnNldC4KICAgICBpbnQgY2FyZXRXaWR0aExlZnRPZk9mZnNldCA9IGNh
cmV0V2lkdGggLyAyOwogICAgIGxlZnQgLT0gY2FyZXRXaWR0aExlZnRPZk9mZnNldDsKICAgICBp
bnQgY2FyZXRXaWR0aFJpZ2h0T2ZPZmZzZXQgPSBjYXJldFdpZHRoIC0gY2FyZXRXaWR0aExlZnRP
Zk9mZnNldDsKIAotICAgIGludCByb290TGVmdCA9IGJveC0+cm9vdCgpLT5sb2dpY2FsTGVmdCgp
OwotICAgIGludCByb290UmlnaHQgPSByb290TGVmdCArIGJveC0+cm9vdCgpLT5sb2dpY2FsV2lk
dGgoKTsKKyAgICBsZWZ0ID0gcm91bmRmKGxlZnQpOworCisgICAgZmxvYXQgcm9vdExlZnQgPSBi
b3gtPnJvb3QoKS0+bG9naWNhbExlZnQoKTsKKyAgICBmbG9hdCByb290UmlnaHQgPSBib3gtPnJv
b3QoKS0+bG9naWNhbFJpZ2h0KCk7CisKICAgICAvLyBGSVhNRTogc2hvdWxkIHdlIHVzZSB0aGUg
d2lkdGggb2YgdGhlIHJvb3QgaW5saW5lIGJveCBvciB0aGUKICAgICAvLyB3aWR0aCBvZiB0aGUg
Y29udGFpbmluZyBibG9jayBmb3IgdGhpcz8KICAgICBpZiAoZXh0cmFXaWR0aFRvRW5kT2ZMaW5l
KQpAQCAtNTIyLDE0ICs1MjYsMTQgQEAgSW50UmVjdCBSZW5kZXJUZXh0Ojpsb2NhbENhcmV0UmVj
dChJbmxpbgogCiAgICAgUmVuZGVyQmxvY2sqIGNiID0gY29udGFpbmluZ0Jsb2NrKCk7CiAgICAg
UmVuZGVyU3R5bGUqIGNiU3R5bGUgPSBjYi0+c3R5bGUoKTsKLSAgICBpbnQgbGVmdEVkZ2U7Ci0g
ICAgaW50IHJpZ2h0RWRnZTsKKyAgICBmbG9hdCBsZWZ0RWRnZTsKKyAgICBmbG9hdCByaWdodEVk
Z2U7CiAgICAgaWYgKHN0eWxlKCktPmF1dG9XcmFwKCkpIHsKICAgICAgICAgbGVmdEVkZ2UgPSBj
Yi0+bG9naWNhbExlZnQoKTsKICAgICAgICAgcmlnaHRFZGdlID0gY2ItPmxvZ2ljYWxSaWdodCgp
OwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGxlZnRFZGdlID0gbWluKGNiLT5sb2dpY2FsTGVmdCgp
LCByb290TGVmdCk7Ci0gICAgICAgIHJpZ2h0RWRnZSA9IG1heChjYi0+bG9naWNhbFJpZ2h0KCks
IHJvb3RSaWdodCk7CisgICAgICAgIGxlZnRFZGdlID0gbWluKHN0YXRpY19jYXN0PGZsb2F0Pihj
Yi0+bG9naWNhbExlZnQoKSksIHJvb3RMZWZ0KTsKKyAgICAgICAgcmlnaHRFZGdlID0gbWF4KHN0
YXRpY19jYXN0PGZsb2F0PihjYi0+bG9naWNhbFJpZ2h0KCkpLCByb290UmlnaHQpOwogICAgIH0K
IAogICAgIGJvb2wgcmlnaHRBbGlnbmVkID0gZmFsc2U7CkBAIC01NjAsNyArNTY0LDcgQEAgSW50
UmVjdCBSZW5kZXJUZXh0Ojpsb2NhbENhcmV0UmVjdChJbmxpbgogICAgIHJldHVybiBzdHlsZSgp
LT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gSW50UmVjdChsZWZ0LCB0b3AsIGNhcmV0V2lk
dGgsIGhlaWdodCkgOiBJbnRSZWN0KHRvcCwgbGVmdCwgaGVpZ2h0LCBjYXJldFdpZHRoKTsKIH0K
IAotQUxXQVlTX0lOTElORSBpbnQgUmVuZGVyVGV4dDo6d2lkdGhGcm9tQ2FjaGUoY29uc3QgRm9u
dCYgZiwgaW50IHN0YXJ0LCBpbnQgbGVuLCBpbnQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVG
b250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBj
b25zdAorQUxXQVlTX0lOTElORSBmbG9hdCBSZW5kZXJUZXh0Ojp3aWR0aEZyb21DYWNoZShjb25z
dCBGb250JiBmLCBpbnQgc3RhcnQsIGludCBsZW4sIGZsb2F0IHhQb3MsIEhhc2hTZXQ8Y29uc3Qg
U2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVy
ZmxvdykgY29uc3QKIHsKICAgICBpZiAoc3R5bGUoKS0+aGFzVGV4dENvbWJpbmUoKSkgewogICAg
ICAgICBjb25zdCBSZW5kZXJDb21iaW5lVGV4dCogY29tYmluZVRleHQgPSB0b1JlbmRlckNvbWJp
bmVUZXh0KHRoaXMpOwpAQCAtNTY5LDkgKzU3Myw5IEBAIEFMV0FZU19JTkxJTkUgaW50IFJlbmRl
clRleHQ6OndpZHRoRnJvbUMKICAgICB9CiAKICAgICBpZiAoZi5pc0ZpeGVkUGl0Y2goKSAmJiAh
Zi5pc1NtYWxsQ2FwcygpICYmIG1faXNBbGxBU0NJSSkgewotICAgICAgICBpbnQgbW9ub3NwYWNl
Q2hhcmFjdGVyV2lkdGggPSBmLnNwYWNlV2lkdGgoKTsKLSAgICAgICAgaW50IHRhYldpZHRoID0g
YWxsb3dUYWJzKCkgPyBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aCAqIDggOiAwOwotICAgICAgICBp
bnQgdyA9IDA7CisgICAgICAgIGZsb2F0IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoID0gZi5zcGFj
ZVdpZHRoKCk7CisgICAgICAgIGZsb2F0IHRhYldpZHRoID0gYWxsb3dUYWJzKCkgPyBtb25vc3Bh
Y2VDaGFyYWN0ZXJXaWR0aCAqIDggOiAwOworICAgICAgICBmbG9hdCB3ID0gMDsKICAgICAgICAg
Ym9vbCBpc1NwYWNlOwogICAgICAgICBib29sIHByZXZpb3VzQ2hhcldhc1NwYWNlID0gdHJ1ZTsg
Ly8gRklYTUU6IFByZXNlcnZlcyBoaXN0b3JpY2FsIGJlaGF2aW9yLCBidXQgc2VlbXMgd3Jvbmcg
Zm9yIHN0YXJ0ID4gMC4KICAgICAgICAgQVNTRVJUKG1fdGV4dCk7CkBAIC01ODMsNyArNTg3LDcg
QEAgQUxXQVlTX0lOTElORSBpbnQgUmVuZGVyVGV4dDo6d2lkdGhGcm9tQwogICAgICAgICAgICAg
ICAgICAgICB3ICs9IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoOwogICAgICAgICAgICAgICAgICAg
ICBpc1NwYWNlID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGMgPT0gJ1x0Jykg
ewotICAgICAgICAgICAgICAgICAgICB3ICs9IHRhYldpZHRoID8gdGFiV2lkdGggLSAoKHhQb3Mg
KyB3KSAlIHRhYldpZHRoKSA6IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoOworICAgICAgICAgICAg
ICAgICAgICB3ICs9IHRhYldpZHRoID8gdGFiV2lkdGggLSBmbW9kZih4UG9zICsgdywgdGFiV2lk
dGgpIDogbW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGg7CiAgICAgICAgICAgICAgICAgICAgIGlzU3Bh
Y2UgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICBp
c1NwYWNlID0gZmFsc2U7CkBAIC02MDEsMTIgKzYwNSwxMiBAQCBBTFdBWVNfSU5MSU5FIGludCBS
ZW5kZXJUZXh0Ojp3aWR0aEZyb21DCiAgICAgcmV0dXJuIGYud2lkdGgoVGV4dFJ1bih0ZXh0KCkt
PmNoYXJhY3RlcnMoKSArIHN0YXJ0LCBsZW4sIGFsbG93VGFicygpLCB4UG9zKSwgZmFsbGJhY2tG
b250cywgZ2x5cGhPdmVyZmxvdyk7CiB9CiAKLXZvaWQgUmVuZGVyVGV4dDo6dHJpbW1lZFByZWZX
aWR0aHMoaW50IGxlYWRXaWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50JiBiZWdpbk1pblcsIGJvb2wmIGJlZ2luV1MsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCYgZW5kTWluVywgYm9vbCYgZW5kV1MsCit2b2lkIFJlbmRlclRleHQ6OnRy
aW1tZWRQcmVmV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZmxvYXQmIGJlZ2luTWluVywgYm9vbCYgYmVnaW5XUywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQmIGVuZE1pblcsIGJvb2wmIGVuZFdTLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sJiBoYXNCcmVha2FibGVDaGFyLCBi
b29sJiBoYXNCcmVhaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBi
ZWdpbk1heFcsIGludCYgZW5kTWF4VywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50JiBtaW5XLCBpbnQmIG1heFcsIGJvb2wmIHN0cmlwRnJvbnRTcGFjZXMpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBiZWdpbk1heFcsIGZsb2F0JiBlbmRN
YXhXLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYgbWluVywgZmxv
YXQmIG1heFcsIGJvb2wmIHN0cmlwRnJvbnRTcGFjZXMpCiB7CiAgICAgYm9vbCBjb2xsYXBzZVdo
aXRlU3BhY2UgPSBzdHlsZSgpLT5jb2xsYXBzZVdoaXRlU3BhY2UoKTsKICAgICBpZiAoIWNvbGxh
cHNlV2hpdGVTcGFjZSkKQEAgLTY0Niw3ICs2NTAsNyBAQCB2b2lkIFJlbmRlclRleHQ6OnRyaW1t
ZWRQcmVmV2lkdGhzKGludCBsCiAgICAgICAgIGNvbnN0IEZvbnQmIGYgPSBzdHlsZSgpLT5mb250
KCk7IC8vIEZJWE1FOiBUaGlzIGlnbm9yZXMgZmlyc3QtbGluZS4KICAgICAgICAgaWYgKHN0cmlw
RnJvbnRTcGFjZXMpIHsKICAgICAgICAgICAgIGNvbnN0IFVDaGFyIHNwYWNlID0gJyAnOwotICAg
ICAgICAgICAgaW50IHNwYWNlV2lkdGggPSBmLndpZHRoKFRleHRSdW4oJnNwYWNlLCAxKSk7Cisg
ICAgICAgICAgICBmbG9hdCBzcGFjZVdpZHRoID0gZi53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkp
OwogICAgICAgICAgICAgbWF4VyAtPSBzcGFjZVdpZHRoOwogICAgICAgICB9IGVsc2UKICAgICAg
ICAgICAgIG1heFcgKz0gZi53b3JkU3BhY2luZygpOwpAQCAtNjk1LDIzICs2OTksMjMgQEAgc3Rh
dGljIGlubGluZSBib29sIGlzU3BhY2VBY2NvcmRpbmdUb1N0eQogICAgIHJldHVybiBjID09ICcg
JyB8fCAoYyA9PSBub0JyZWFrU3BhY2UgJiYgc3R5bGUtPm5ic3BNb2RlKCkgPT0gU1BBQ0UpOwog
fQogCi1pbnQgUmVuZGVyVGV4dDo6bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29uc3QKK2Zs
b2F0IFJlbmRlclRleHQ6Om1pbkxvZ2ljYWxXaWR0aCgpIGNvbnN0CiB7CiAgICAgaWYgKHByZWZl
cnJlZExvZ2ljYWxXaWR0aHNEaXJ0eSgpKQotICAgICAgICBjb25zdF9jYXN0PFJlbmRlclRleHQq
Pih0aGlzKS0+Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoMCk7CisgICAgICAgIGNvbnN0
X2Nhc3Q8UmVuZGVyVGV4dCo+KHRoaXMpLT5jb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygw
LmYpOwogICAgICAgICAKICAgICByZXR1cm4gbV9taW5XaWR0aDsKIH0KIAotaW50IFJlbmRlclRl
eHQ6Om1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpIGNvbnN0CitmbG9hdCBSZW5kZXJUZXh0Ojpt
YXhMb2dpY2FsV2lkdGgoKSBjb25zdAogewogICAgIGlmIChwcmVmZXJyZWRMb2dpY2FsV2lkdGhz
RGlydHkoKSkKLSAgICAgICAgY29uc3RfY2FzdDxSZW5kZXJUZXh0Kj4odGhpcyktPmNvbXB1dGVQ
cmVmZXJyZWRMb2dpY2FsV2lkdGhzKDApOworICAgICAgICBjb25zdF9jYXN0PFJlbmRlclRleHQq
Pih0aGlzKS0+Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoMC5mKTsKICAgICAgICAgCiAg
ICAgcmV0dXJuIG1fbWF4V2lkdGg7CiB9CiAKLXZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZl
cnJlZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRXaWR0aCkKK3ZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0
ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoZmxvYXQgbGVhZFdpZHRoKQogewogICAgIEhhc2hTZXQ8
Y29uc3QgU2ltcGxlRm9udERhdGEqPiBmYWxsYmFja0ZvbnRzOwogICAgIEdseXBoT3ZlcmZsb3cg
Z2x5cGhPdmVyZmxvdzsKQEAgLTcyMCw3ICs3MjQsNyBAQCB2b2lkIFJlbmRlclRleHQ6OmNvbXB1
dGVQcmVmZXJyZWRMb2dpY2FsCiAgICAgICAgIG1fa25vd25Ub0hhdmVOb092ZXJmbG93QW5kTm9G
YWxsYmFja0ZvbnRzID0gdHJ1ZTsKIH0KIAotdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVy
cmVkTG9naWNhbFdpZHRocyhpbnQgbGVhZFdpZHRoLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnRE
YXRhKj4mIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cmIGdseXBoT3ZlcmZsb3cpCit2b2lk
IFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxlYWRXaWR0
aCwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92
ZXJmbG93JiBnbHlwaE92ZXJmbG93KQogewogICAgIEFTU0VSVChtX2hhc1RhYiB8fCBwcmVmZXJy
ZWRMb2dpY2FsV2lkdGhzRGlydHkoKSB8fCAhbV9rbm93blRvSGF2ZU5vT3ZlcmZsb3dBbmROb0Zh
bGxiYWNrRm9udHMpOwogCkBAIC03MzIsOCArNzM2LDggQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21w
dXRlUHJlZmVycmVkTG9naWNhbAogICAgIGlmIChpc0JSKCkpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIGludCBjdXJyTWluV2lkdGggPSAwOwotICAgIGludCBjdXJyTWF4V2lkdGggPSAwOworICAg
IGZsb2F0IGN1cnJNaW5XaWR0aCA9IDA7CisgICAgZmxvYXQgY3Vyck1heFdpZHRoID0gMDsKICAg
ICBtX2hhc0JyZWFrYWJsZUNoYXIgPSBmYWxzZTsKICAgICBtX2hhc0JyZWFrID0gZmFsc2U7CiAg
ICAgbV9oYXNUYWIgPSBmYWxzZTsKQEAgLTc0MSw3ICs3NDUsNyBAQCB2b2lkIFJlbmRlclRleHQ6
OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsCiAgICAgbV9oYXNFbmRXUyA9IGZhbHNlOwogCiAgICAg
Y29uc3QgRm9udCYgZiA9IHN0eWxlKCktPmZvbnQoKTsgLy8gRklYTUU6IFRoaXMgaWdub3JlcyBm
aXJzdC1saW5lLgotICAgIGludCB3b3JkU3BhY2luZyA9IHN0eWxlKCktPndvcmRTcGFjaW5nKCk7
CisgICAgZmxvYXQgd29yZFNwYWNpbmcgPSBzdHlsZSgpLT53b3JkU3BhY2luZygpOwogICAgIGlu
dCBsZW4gPSB0ZXh0TGVuZ3RoKCk7CiAgICAgY29uc3QgVUNoYXIqIHR4dCA9IGNoYXJhY3RlcnMo
KTsKICAgICBib29sIG5lZWRzV29yZFNwYWNpbmcgPSBmYWxzZTsKQEAgLTgyMSw3ICs4MjUsNyBA
QCB2b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsCiAKICAgICAgICAgaW50
IHdvcmRMZW4gPSBqIC0gaTsKICAgICAgICAgaWYgKHdvcmRMZW4pIHsKLSAgICAgICAgICAgIGlu
dCB3ID0gd2lkdGhGcm9tQ2FjaGUoZiwgaSwgd29yZExlbiwgbGVhZFdpZHRoICsgY3Vyck1heFdp
ZHRoLCAmZmFsbGJhY2tGb250cywgJmdseXBoT3ZlcmZsb3cpOworICAgICAgICAgICAgZmxvYXQg
dyA9IHdpZHRoRnJvbUNhY2hlKGYsIGksIHdvcmRMZW4sIGxlYWRXaWR0aCArIGN1cnJNYXhXaWR0
aCwgJmZhbGxiYWNrRm9udHMsICZnbHlwaE92ZXJmbG93KTsKICAgICAgICAgICAgIGlmIChmaXJz
dEdseXBoTGVmdE92ZXJmbG93IDwgMCkKICAgICAgICAgICAgICAgICBmaXJzdEdseXBoTGVmdE92
ZXJmbG93ID0gZ2x5cGhPdmVyZmxvdy5sZWZ0OwogICAgICAgICAgICAgY3Vyck1pbldpZHRoICs9
IHc7CkBAIC05MzMsMTcgKzkzNywxNyBAQCBib29sIFJlbmRlclRleHQ6OmNvbnRhaW5zT25seVdo
aXRlc3BhY2UoCiAgICAgcmV0dXJuIGN1cnJQb3MgPj0gKGZyb20gKyBsZW4pOwogfQogCi1JbnRQ
b2ludCBSZW5kZXJUZXh0OjpmaXJzdFJ1bk9yaWdpbigpIGNvbnN0CitGbG9hdFBvaW50IFJlbmRl
clRleHQ6OmZpcnN0UnVuT3JpZ2luKCkgY29uc3QKIHsKICAgICByZXR1cm4gSW50UG9pbnQoZmly
c3RSdW5YKCksIGZpcnN0UnVuWSgpKTsKIH0KIAotaW50IFJlbmRlclRleHQ6OmZpcnN0UnVuWCgp
IGNvbnN0CitmbG9hdCBSZW5kZXJUZXh0OjpmaXJzdFJ1blgoKSBjb25zdAogewogICAgIHJldHVy
biBtX2ZpcnN0VGV4dEJveCA/IG1fZmlyc3RUZXh0Qm94LT5tX3ggOiAwOwogfQogCi1pbnQgUmVu
ZGVyVGV4dDo6Zmlyc3RSdW5ZKCkgY29uc3QKK2Zsb2F0IFJlbmRlclRleHQ6OmZpcnN0UnVuWSgp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fZmlyc3RUZXh0Qm94ID8gbV9maXJzdFRleHRCb3gtPm1f
eSA6IDA7CiB9CkBAIC0xMjIzLDcgKzEyMjcsNyBAQCB2b2lkIFJlbmRlclRleHQ6OnBvc2l0aW9u
TGluZUJveChJbmxpbmVCCiAgICAgbV9jb250YWluc1JldmVyc2VkVGV4dCB8PSAhcy0+aXNMZWZ0
VG9SaWdodERpcmVjdGlvbigpOwogfQogCi11bnNpZ25lZCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNp
Z25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGludCB4UG9zLCBib29sIGZpcnN0TGluZSwgSGFzaFNl
dDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBn
bHlwaE92ZXJmbG93KSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJv
bSwgdW5zaWduZWQgbGVuLCBmbG9hdCB4UG9zLCBib29sIGZpcnN0TGluZSwgSGFzaFNldDxjb25z
dCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92
ZXJmbG93KSBjb25zdAogewogICAgIGlmIChmcm9tID49IHRleHRMZW5ndGgoKSkKICAgICAgICAg
cmV0dXJuIDA7CkBAIC0xMjM0LDEzICsxMjM4LDEzIEBAIHVuc2lnbmVkIFJlbmRlclRleHQ6Ondp
ZHRoKHVuc2lnbmVkIGZyb20KICAgICByZXR1cm4gd2lkdGgoZnJvbSwgbGVuLCBzdHlsZShmaXJz
dExpbmUpLT5mb250KCksIHhQb3MsIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQog
Ci11bnNpZ25lZCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4s
IGNvbnN0IEZvbnQmIGYsIGludCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4q
IGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CitmbG9h
dCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbnN0IEZv
bnQmIGYsIGZsb2F0IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJh
Y2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKICAgICBBU1NF
UlQoZnJvbSArIGxlbiA8PSB0ZXh0TGVuZ3RoKCkpOwogICAgIGlmICghY2hhcmFjdGVycygpKQog
ICAgICAgICByZXR1cm4gMDsKIAotICAgIGludCB3OworICAgIGZsb2F0IHc7CiAgICAgaWYgKCZm
ID09ICZzdHlsZSgpLT5mb250KCkpIHsKICAgICAgICAgaWYgKCFzdHlsZSgpLT5wcmVzZXJ2ZU5l
d2xpbmUoKSAmJiAhZnJvbSAmJiBsZW4gPT0gdGV4dExlbmd0aCgpKSB7CiAgICAgICAgICAgICBp
ZiAoZmFsbGJhY2tGb250cykgewpAQCAtMTI1Miw3ICsxMjU2LDcgQEAgdW5zaWduZWQgUmVuZGVy
VGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICB3ID0gbV9tYXhXaWR0aDsKICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAg
IHcgPSBtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKTsKKyAgICAgICAgICAgICAgICB3ID0gbWF4
TG9naWNhbFdpZHRoKCk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgdyA9IHdpZHRoRnJv
bUNhY2hlKGYsIGZyb20sIGxlbiwgeFBvcywgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxvdyk7
CiAgICAgfSBlbHNlCkBAIC0xMjY4LDggKzEyNzIsOCBAQCBJbnRSZWN0IFJlbmRlclRleHQ6Omxp
bmVzQm91bmRpbmdCb3goKSBjCiAgICAgQVNTRVJUKCFmaXJzdFRleHRCb3goKSA9PSAhbGFzdFRl
eHRCb3goKSk7ICAvLyBFaXRoZXIgYm90aCBhcmUgbnVsbCBvciBib3RoIGV4aXN0LgogICAgIGlm
IChmaXJzdFRleHRCb3goKSAmJiBsYXN0VGV4dEJveCgpKSB7CiAgICAgICAgIC8vIFJldHVybiB0
aGUgd2lkdGggb2YgdGhlIG1pbmltYWwgbGVmdCBzaWRlIGFuZCB0aGUgbWF4aW1hbCByaWdodCBz
aWRlLgotICAgICAgICBpbnQgbG9naWNhbExlZnRTaWRlID0gMDsKLSAgICAgICAgaW50IGxvZ2lj
YWxSaWdodFNpZGUgPSAwOworICAgICAgICBmbG9hdCBsb2dpY2FsTGVmdFNpZGUgPSAwOworICAg
ICAgICBmbG9hdCBsb2dpY2FsUmlnaHRTaWRlID0gMDsKICAgICAgICAgZm9yIChJbmxpbmVUZXh0
Qm94KiBjdXJyID0gZmlyc3RUZXh0Qm94KCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0VGV4dEJv
eCgpKSB7CiAgICAgICAgICAgICBpZiAoY3VyciA9PSBmaXJzdFRleHRCb3goKSB8fCBjdXJyLT5s
b2dpY2FsTGVmdCgpIDwgbG9naWNhbExlZnRTaWRlKQogICAgICAgICAgICAgICAgIGxvZ2ljYWxM
ZWZ0U2lkZSA9IGN1cnItPmxvZ2ljYWxMZWZ0KCk7CkBAIC0xMjc5LDExICsxMjgzLDExIEBAIElu
dFJlY3QgUmVuZGVyVGV4dDo6bGluZXNCb3VuZGluZ0JveCgpIGMKICAgICAgICAgCiAgICAgICAg
IGJvb2wgaXNIb3Jpem9udGFsID0gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKTsK
ICAgICAgICAgCi0gICAgICAgIGludCB4ID0gaXNIb3Jpem9udGFsID8gbG9naWNhbExlZnRTaWRl
IDogZmlyc3RUZXh0Qm94KCktPngoKTsKLSAgICAgICAgaW50IHkgPSBpc0hvcml6b250YWwgPyBm
aXJzdFRleHRCb3goKS0+eSgpIDogbG9naWNhbExlZnRTaWRlOwotICAgICAgICBpbnQgd2lkdGgg
PSBpc0hvcml6b250YWwgPyBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlIDogbGFz
dFRleHRCb3goKS0+bG9naWNhbEJvdHRvbSgpIC0geDsKLSAgICAgICAgaW50IGhlaWdodCA9IGlz
SG9yaXpvbnRhbCA/IGxhc3RUZXh0Qm94KCktPmxvZ2ljYWxCb3R0b20oKSAtIHkgOiBsb2dpY2Fs
UmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlOwotICAgICAgICByZXN1bHQgPSBJbnRSZWN0KHgs
IHksIHdpZHRoLCBoZWlnaHQpOworICAgICAgICBmbG9hdCB4ID0gaXNIb3Jpem9udGFsID8gbG9n
aWNhbExlZnRTaWRlIDogZmlyc3RUZXh0Qm94KCktPngoKTsKKyAgICAgICAgZmxvYXQgeSA9IGlz
SG9yaXpvbnRhbCA/IGZpcnN0VGV4dEJveCgpLT55KCkgOiBsb2dpY2FsTGVmdFNpZGU7CisgICAg
ICAgIGZsb2F0IHdpZHRoID0gaXNIb3Jpem9udGFsID8gbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2lj
YWxMZWZ0U2lkZSA6IGxhc3RUZXh0Qm94KCktPmxvZ2ljYWxCb3R0b20oKSAtIHg7CisgICAgICAg
IGZsb2F0IGhlaWdodCA9IGlzSG9yaXpvbnRhbCA/IGxhc3RUZXh0Qm94KCktPmxvZ2ljYWxCb3R0
b20oKSAtIHkgOiBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlOworICAgICAgICBy
ZXN1bHQgPSBlbmNsb3NpbmdJbnRSZWN0KEZsb2F0UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KSk7
CiAgICAgfQogCiAgICAgcmV0dXJuIHJlc3VsdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHQuaAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC03MSwyNCArNzEsMjQgQEAgcHVibGlj
OgogICAgIHVuc2lnbmVkIHRleHRMZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX3RleHQubGVuZ3Ro
KCk7IH0gLy8gbm9uIHZpcnR1YWwgaW1wbGVtZW50YXRpb24gb2YgbGVuZ3RoKCkKICAgICB2b2lk
IHBvc2l0aW9uTGluZUJveChJbmxpbmVCb3gqKTsKIAotICAgIHZpcnR1YWwgdW5zaWduZWQgd2lk
dGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiwgaW50IHhQb3MsIEhh
c2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3Zl
cmZsb3cqID0gMCkgY29uc3Q7Ci0gICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0aCh1bnNpZ25lZCBm
cm9tLCB1bnNpZ25lZCBsZW4sIGludCB4UG9zLCBib29sIGZpcnN0TGluZSA9IGZhbHNlLCBIYXNo
U2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJm
bG93KiA9IDApIGNvbnN0OworICAgIHZpcnR1YWwgZmxvYXQgd2lkdGgodW5zaWduZWQgZnJvbSwg
dW5zaWduZWQgbGVuLCBjb25zdCBGb250JiwgZmxvYXQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1w
bGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25z
dDsKKyAgICB2aXJ0dWFsIGZsb2F0IHdpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwg
ZmxvYXQgeFBvcywgYm9vbCBmaXJzdExpbmUgPSBmYWxzZSwgSGFzaFNldDxjb25zdCBTaW1wbGVG
b250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsK
IAotICAgIHZpcnR1YWwgaW50IG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgpIGNvbnN0OwotICAg
IHZpcnR1YWwgaW50IG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpIGNvbnN0OworICAgIGZsb2F0
IG1pbkxvZ2ljYWxXaWR0aCgpIGNvbnN0OworICAgIGZsb2F0IG1heExvZ2ljYWxXaWR0aCgpIGNv
bnN0OwogCi0gICAgdm9pZCB0cmltbWVkUHJlZldpZHRocyhpbnQgbGVhZFdpZHRoLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50JiBiZWdpbk1pblcsIGJvb2wmIGJlZ2luV1MsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGVuZE1pblcsIGJvb2wmIGVuZFdTLAorICAgIHZv
aWQgdHJpbW1lZFByZWZXaWR0aHMoZmxvYXQgbGVhZFdpZHRoLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZmxvYXQmIGJlZ2luTWluVywgYm9vbCYgYmVnaW5XUywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZsb2F0JiBlbmRNaW5XLCBib29sJiBlbmRXUywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb2wmIGhhc0JyZWFrYWJsZUNoYXIsIGJvb2wmIGhhc0JyZWFrLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBiZWdpbk1heFcsIGludCYgZW5kTWF4VywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgbWluVywgaW50JiBtYXhXLCBib29sJiBzdHJp
cEZyb250U3BhY2VzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBiZWdpbk1h
eFcsIGZsb2F0JiBlbmRNYXhXLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQmIG1p
blcsIGZsb2F0JiBtYXhXLCBib29sJiBzdHJpcEZyb250U3BhY2VzKTsKIAogICAgIHZpcnR1YWwg
SW50UmVjdCBsaW5lc0JvdW5kaW5nQm94KCkgY29uc3Q7CiAKLSAgICBJbnRQb2ludCBmaXJzdFJ1
bk9yaWdpbigpIGNvbnN0OwotICAgIGludCBmaXJzdFJ1blgoKSBjb25zdDsKLSAgICBpbnQgZmly
c3RSdW5ZKCkgY29uc3Q7CisgICAgRmxvYXRQb2ludCBmaXJzdFJ1bk9yaWdpbigpIGNvbnN0Owor
ICAgIGZsb2F0IGZpcnN0UnVuWCgpIGNvbnN0OworICAgIGZsb2F0IGZpcnN0UnVuWSgpIGNvbnN0
OwogCiAgICAgdm9pZCBzZXRUZXh0KFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4sIGJvb2wgZm9yY2Ug
PSBmYWxzZSk7CiAgICAgdm9pZCBzZXRUZXh0V2l0aE9mZnNldChQYXNzUmVmUHRyPFN0cmluZ0lt
cGw+LCB1bnNpZ25lZCBvZmZzZXQsIHVuc2lnbmVkIGxlbiwgYm9vbCBmb3JjZSA9IGZhbHNlKTsK
QEAgLTEyMiw3ICsxMjIsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNoZWNrQ29uc2lzdGVuY3ko
KSBjb25zdDsKIAotICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRo
cyhpbnQgbGVhZFdpZHRoKTsKKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2lj
YWxXaWR0aHMoZmxvYXQgbGVhZFdpZHRoKTsKICAgICBib29sIGlzQWxsQ29sbGFwc2libGVXaGl0
ZXNwYWNlKCk7CiAgICAgCiBwcm90ZWN0ZWQ6CkBAIC0xMzUsNyArMTM1LDcgQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgSW5saW5lVGV4dEJveCogY3JlYXRlVGV4dEJveCgpOyAvLyBTdWJjbGFz
c2VkIGJ5IFNWRy4KIAogcHJpdmF0ZToKLSAgICB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2Fs
V2lkdGhzKGludCBsZWFkV2lkdGgsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiYgZmFs
bGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyYpOworICAgIHZvaWQgY29tcHV0ZVByZWZlcnJlZExv
Z2ljYWxXaWR0aHMoZmxvYXQgbGVhZFdpZHRoLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRh
Kj4mIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cmKTsKIAogICAgIC8vIE1ha2UgbGVuZ3Ro
KCkgcHJpdmF0ZSBzbyB0aGF0IGNhbGxlcnMgdGhhdCBoYXZlIGEgUmVuZGVyVGV4dCoKICAgICAv
LyB3aWxsIHVzZSB0aGUgbW9yZSBlZmZpY2llbnQgdGV4dExlbmd0aCgpIGluc3RlYWQsIHdoaWxl
CkBAIC0xNDgsMjIgKzE0OCwyMiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBkZWxldGVUZXh0Qm94
ZXMoKTsKICAgICBib29sIGNvbnRhaW5zT25seVdoaXRlc3BhY2UodW5zaWduZWQgZnJvbSwgdW5z
aWduZWQgbGVuKSBjb25zdDsKLSAgICBpbnQgd2lkdGhGcm9tQ2FjaGUoY29uc3QgRm9udCYsIGlu
dCBzdGFydCwgaW50IGxlbiwgaW50IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEq
PiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyopIGNvbnN0OworICAgIGZsb2F0IHdpZHRo
RnJvbUNhY2hlKGNvbnN0IEZvbnQmLCBpbnQgc3RhcnQsIGludCBsZW4sIGZsb2F0IHhQb3MsIEhh
c2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxv
dyopIGNvbnN0OwogICAgIGJvb2wgaXNBbGxBU0NJSSgpIGNvbnN0IHsgcmV0dXJuIG1faXNBbGxB
U0NJSTsgfQogICAgIHZvaWQgdXBkYXRlTmVlZHNUcmFuc2NvZGluZygpOwogCiAgICAgaW5saW5l
IHZvaWQgdHJhbnNmb3JtVGV4dChTdHJpbmcmKSBjb25zdDsKIAotICAgIGludCBtX21pbldpZHRo
OyAvLyBoZXJlIHRvIG1pbmltaXplIHBhZGRpbmcgaW4gNjQtYml0LgorICAgIGZsb2F0IG1fbWlu
V2lkdGg7IC8vIGhlcmUgdG8gbWluaW1pemUgcGFkZGluZyBpbiA2NC1iaXQuCiAKICAgICBTdHJp
bmcgbV90ZXh0OwogCiAgICAgSW5saW5lVGV4dEJveCogbV9maXJzdFRleHRCb3g7CiAgICAgSW5s
aW5lVGV4dEJveCogbV9sYXN0VGV4dEJveDsKIAotICAgIGludCBtX21heFdpZHRoOwotICAgIGlu
dCBtX2JlZ2luTWluV2lkdGg7Ci0gICAgaW50IG1fZW5kTWluV2lkdGg7CisgICAgZmxvYXQgbV9t
YXhXaWR0aDsKKyAgICBmbG9hdCBtX2JlZ2luTWluV2lkdGg7CisgICAgZmxvYXQgbV9lbmRNaW5X
aWR0aDsKIAogICAgIGJvb2wgbV9oYXNCcmVha2FibGVDaGFyIDogMTsgLy8gV2hldGhlciBvciBu
b3Qgd2UgY2FuIGJlIGJyb2tlbiBpbnRvIG11bHRpcGxlIGxpbmVzLgogICAgIGJvb2wgbV9oYXNC
cmVhayA6IDE7IC8vIFdoZXRoZXIgb3Igbm90IHdlIGhhdmUgYSBoYXJkIGJyZWFrIChlLmcuLCA8
cHJlPiB3aXRoICdcbicpLgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRl
eHRDb250cm9sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dENvbnRyb2wuY3BwCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0NCw3ICs1
NDQsNyBAQCBmbG9hdCBSZW5kZXJUZXh0Q29udHJvbDo6Z2V0QXZnQ2hhcldpZHRoCiAgICAgICAg
IHJldHVybiByb3VuZGYoc3R5bGUoKS0+Zm9udCgpLnByaW1hcnlGb250KCktPmF2Z0NoYXJXaWR0
aCgpKTsKIAogICAgIGNvbnN0IFVDaGFyIGNoID0gJzAnOyAKLSAgICByZXR1cm4gc3R5bGUoKS0+
Zm9udCgpLmZsb2F0V2lkdGgoVGV4dFJ1bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpB
bGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSk7CisgICAgcmV0dXJu
IHN0eWxlKCktPmZvbnQoKS53aWR0aChUZXh0UnVuKCZjaCwgMSwgZmFsc2UsIDAsIDAsIFRleHRS
dW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlKSk7CiB9CiAKIGZsb2F0IFJlbmRlclRl
eHRDb250cm9sOjpzY2FsZUVtVG9Vbml0cyhpbnQgeCkgY29uc3QKQEAgLTYzOSw3ICs2MzksNyBA
QCB2b2lkIFJlbmRlclRleHRDb250cm9sOjpwYWludFBsYWNlaG9sZGVyCiAgICAgcGFpbnRJbmZv
LmNvbnRleHQtPnNldEZpbGxDb2xvcihwbGFjZWhvbGRlclN0eWxlLT52aXNpdGVkRGVwZW5kZW50
Q29sb3IoQ1NTUHJvcGVydHlDb2xvciksIHBsYWNlaG9sZGVyU3R5bGUtPmNvbG9yU3BhY2UoKSk7
CiAgICAgCiAgICAgU3RyaW5nIHBsYWNlaG9sZGVyVGV4dCA9IHN0YXRpY19jYXN0PEhUTUxUZXh0
Rm9ybUNvbnRyb2xFbGVtZW50Kj4obm9kZSgpKS0+c3RyaXBwZWRQbGFjZWhvbGRlcigpOwotICAg
IFRleHRSdW4gdGV4dFJ1bihwbGFjZWhvbGRlclRleHQuY2hhcmFjdGVycygpLCBwbGFjZWhvbGRl
clRleHQubGVuZ3RoKCksIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5z
aW9uLCAhcGxhY2Vob2xkZXJTdHlsZS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpLCBwbGFjZWhv
bGRlclN0eWxlLT51bmljb2RlQmlkaSgpID09IE92ZXJyaWRlLCBmYWxzZSwgZmFsc2UpOworICAg
IFRleHRSdW4gdGV4dFJ1bihwbGFjZWhvbGRlclRleHQuY2hhcmFjdGVycygpLCBwbGFjZWhvbGRl
clRleHQubGVuZ3RoKCksIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5z
aW9uLCAhcGxhY2Vob2xkZXJTdHlsZS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpLCBwbGFjZWhv
bGRlclN0eWxlLT51bmljb2RlQmlkaSgpID09IE92ZXJyaWRlKTsKICAgICAKICAgICBSZW5kZXJC
b3gqIHRleHRSZW5kZXJlciA9IGlubmVyVGV4dEVsZW1lbnQoKSA/IGlubmVyVGV4dEVsZW1lbnQo
KS0+cmVuZGVyQm94KCkgOiAwOwogICAgIGlmICh0ZXh0UmVuZGVyZXIpIHsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAJKHJldmlzaW9uIDc4
NDg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00NzAsMTEgKzQ3MCwxNyBAQCB2b2lkIFJlbmRlclRyZWVBc1RleHQ6
OndyaXRlUmVuZGVyT2JqZWN0CiAKIHN0YXRpYyB2b2lkIHdyaXRlVGV4dFJ1bihUZXh0U3RyZWFt
JiB0cywgY29uc3QgUmVuZGVyVGV4dCYgbywgY29uc3QgSW5saW5lVGV4dEJveCYgcnVuKQogewot
ICAgIC8vIEZJWE1FOiBUYWJsZSBjZWxsIGFkanVzdG1lbnQgaXMgdGVtcG9yYXJ5IHVudGlsIHJl
c3VsdHMgY2FuIGJlIHVwZGF0ZWQuCisgICAgLy8gRklYTUU6IEZvciBub3cgdXNlIGFuICJlbmNs
b3NpbmdJbnRSZWN0IiBtb2RlbCBmb3IgeCwgeSBhbmQgbG9naWNhbFdpZHRoLCBhbHRob3VnaCB0
aGlzIG1ha2VzIGl0IGhhcmRlcgorICAgIC8vIHRvIGRldGVjdCBhbnkgY2hhbmdlcyBjYXVzZWQg
YnkgdGhlIGNvbnZlcnNpb24gdG8gZmxvYXRpbmcgcG9pbnQuIDooCisgICAgaW50IHggPSBydW4u
bV94OwogICAgIGludCB5ID0gcnVuLm1feTsKKyAgICBpbnQgbG9naWNhbFdpZHRoID0gY2VpbGYo
cnVuLm1feCArIHJ1bi5tX2xvZ2ljYWxXaWR0aCkgLSB4OworCisgICAgLy8gRklYTUU6IFRhYmxl
IGNlbGwgYWRqdXN0bWVudCBpcyB0ZW1wb3JhcnkgdW50aWwgcmVzdWx0cyBjYW4gYmUgdXBkYXRl
ZC4KICAgICBpZiAoby5jb250YWluaW5nQmxvY2soKS0+aXNUYWJsZUNlbGwoKSkKICAgICAgICAg
eSAtPSB0b1JlbmRlclRhYmxlQ2VsbChvLmNvbnRhaW5pbmdCbG9jaygpKS0+aW50cmluc2ljUGFk
ZGluZ0JlZm9yZSgpOwotICAgIHRzIDw8ICJ0ZXh0IHJ1biBhdCAoIiA8PCBydW4ubV94IDw8ICIs
IiA8PCB5IDw8ICIpIHdpZHRoICIgPDwgcnVuLm1fbG9naWNhbFdpZHRoOworICAgICAgICAKKyAg
ICB0cyA8PCAidGV4dCBydW4gYXQgKCIgPDwgeCA8PCAiLCIgPDwgeSA8PCAiKSB3aWR0aCAiIDw8
IGxvZ2ljYWxXaWR0aDsKICAgICBpZiAoIXJ1bi5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgfHwg
cnVuLm1fZGlyT3ZlcnJpZGUpIHsKICAgICAgICAgdHMgPDwgKCFydW4uaXNMZWZ0VG9SaWdodERp
cmVjdGlvbigpID8gIiBSVEwiIDogIiBMVFIiKTsKICAgICAgICAgaWYgKHJ1bi5tX2Rpck92ZXJy
aWRlKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcAko
cmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJv
eC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk3LDcgKzk3LDcgQEAgYm9vbCBSb290SW5saW5lQm94
OjpjYW5BY2NvbW1vZGF0ZUVsbGlwcwogICAgIHJldHVybiBJbmxpbmVGbG93Qm94OjpjYW5BY2Nv
bW1vZGF0ZUVsbGlwc2lzKGx0ciwgYmxvY2tFZGdlLCBlbGxpcHNpc1dpZHRoKTsKIH0KIAotdm9p
ZCBSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzKGNvbnN0IEF0b21pY1N0cmluZyYgZWxsaXBz
aXNTdHIsICBib29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwg
aW50IGVsbGlwc2lzV2lkdGgsCit2b2lkIFJvb3RJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXMoY29u
c3QgQXRvbWljU3RyaW5nJiBlbGxpcHNpc1N0ciwgIGJvb2wgbHRyLCBmbG9hdCBibG9ja0xlZnRF
ZGdlLCBmbG9hdCBibG9ja1JpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBJbmxpbmVCb3gqIG1hcmt1cEJveCkKIHsKICAgICAv
LyBDcmVhdGUgYW4gZWxsaXBzaXMgYm94LgpAQCAtMTIzLDkgKzEyMyw5IEBAIHZvaWQgUm9vdElu
bGluZUJveDo6cGxhY2VFbGxpcHNpcyhjb25zdCAKICAgICBlbGxpcHNpc0JveC0+bV94ID0gcGxh
Y2VFbGxpcHNpc0JveChsdHIsIGJsb2NrTGVmdEVkZ2UsIGJsb2NrUmlnaHRFZGdlLCBlbGxpcHNp
c1dpZHRoLCBmb3VuZEJveCk7CiB9CiAKLWludCBSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lz
Qm94KGJvb2wgbHRyLCBpbnQgYmxvY2tMZWZ0RWRnZSwgaW50IGJsb2NrUmlnaHRFZGdlLCBpbnQg
ZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpCitmbG9hdCBSb290SW5saW5lQm94OjpwbGFj
ZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBmbG9hdCBibG9ja0xlZnRFZGdlLCBmbG9hdCBibG9ja1Jp
Z2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpCiB7Ci0gICAgaW50
IHJlc3VsdCA9IElubGluZUZsb3dCb3g6OnBsYWNlRWxsaXBzaXNCb3gobHRyLCBibG9ja0xlZnRF
ZGdlLCBibG9ja1JpZ2h0RWRnZSwgZWxsaXBzaXNXaWR0aCwgZm91bmRCb3gpOworICAgIGZsb2F0
IHJlc3VsdCA9IElubGluZUZsb3dCb3g6OnBsYWNlRWxsaXBzaXNCb3gobHRyLCBibG9ja0xlZnRF
ZGdlLCBibG9ja1JpZ2h0RWRnZSwgZWxsaXBzaXNXaWR0aCwgZm91bmRCb3gpOwogICAgIGlmIChy
ZXN1bHQgPT0gLTEpCiAgICAgICAgIHJlc3VsdCA9IGx0ciA/IGJsb2NrUmlnaHRFZGdlIC0gZWxs
aXBzaXNXaWR0aCA6IGJsb2NrTGVmdEVkZ2U7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTE5OCwx
MCArMTk4LDEwIEBAIGJvb2wgUm9vdElubGluZUJveDo6bm9kZUF0UG9pbnQoY29uc3QgSGkKICAg
ICByZXR1cm4gSW5saW5lRmxvd0JveDo6bm9kZUF0UG9pbnQocmVxdWVzdCwgcmVzdWx0LCB4LCB5
LCB0eCwgdHkpOwogfQogCi12b2lkIFJvb3RJbmxpbmVCb3g6OmFkanVzdFBvc2l0aW9uKGludCBk
eCwgaW50IGR5KQordm9pZCBSb290SW5saW5lQm94OjphZGp1c3RQb3NpdGlvbihmbG9hdCBkeCwg
ZmxvYXQgZHkpCiB7CiAgICAgSW5saW5lRmxvd0JveDo6YWRqdXN0UG9zaXRpb24oZHgsIGR5KTsK
LSAgICBpbnQgYmxvY2tEaXJlY3Rpb25EZWx0YSA9IGlzSG9yaXpvbnRhbCgpID8gZHkgOiBkeDsK
KyAgICBpbnQgYmxvY2tEaXJlY3Rpb25EZWx0YSA9IGlzSG9yaXpvbnRhbCgpID8gZHkgOiBkeDsg
Ly8gVGhlIGJsb2NrIGRpcmVjdGlvbiBkZWx0YSB3aWxsIGFsd2F5cyBiZSBpbnRlZ3JhbC4KICAg
ICBtX2xpbmVUb3AgKz0gYmxvY2tEaXJlY3Rpb25EZWx0YTsKICAgICBtX2xpbmVCb3R0b20gKz0g
YmxvY2tEaXJlY3Rpb25EZWx0YTsKICAgICBtX2Jsb2NrTG9naWNhbEhlaWdodCArPSBibG9ja0Rp
cmVjdGlvbkRlbHRhOwpAQCAtMjg5LDcgKzI4OSw3IEBAIGludCBSb290SW5saW5lQm94OjpiZWZv
cmVBbm5vdGF0aW9uc0FkanUKIAogICAgICAgICAvLyBBbm5vdGF0aW9ucyBvdmVyIHRoaXMgbGlu
ZSBtYXkgcHVzaCB1cyBmdXJ0aGVyIGRvd24uCiAgICAgICAgIGludCBoaWdoZXN0QWxsb3dlZFBv
c2l0aW9uID0gcHJldlJvb3RCb3goKSA/IG1pbihwcmV2Um9vdEJveCgpLT5saW5lQm90dG9tKCks
IGxpbmVUb3AoKSkgKyByZXN1bHQgOiBibG9jaygpLT5ib3JkZXJCZWZvcmUoKTsKLSAgICAgICAg
cmVzdWx0ID0gIGNvbXB1dGVPdmVyQW5ub3RhdGlvbkFkanVzdG1lbnQoaGlnaGVzdEFsbG93ZWRQ
b3NpdGlvbik7CisgICAgICAgIHJlc3VsdCA9IGNvbXB1dGVPdmVyQW5ub3RhdGlvbkFkanVzdG1l
bnQoaGlnaGVzdEFsbG93ZWRQb3NpdGlvbik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gQW5u
b3RhdGlvbnMgdW5kZXIgdGhpcyBsaW5lIG1heSBwdXNoIHVzIHVwLgogICAgICAgICBpZiAoaGFz
QW5ub3RhdGlvbnNCZWZvcmUoKSkKQEAgLTU0NCwxNCArNTQ0LDE0IEBAIEludFJlY3QgUm9vdElu
bGluZUJveDo6cGFkZGVkTGF5b3V0T3ZlcmYKICAgICAKICAgICBpZiAoaXNIb3Jpem9udGFsKCkp
IHsKICAgICAgICAgaWYgKGlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKLSAgICAgICAgICAgIGxp
bmVMYXlvdXRPdmVyZmxvdy5zaGlmdE1heFhFZGdlVG8obWF4KGxpbmVMYXlvdXRPdmVyZmxvdy5t
YXhYKCksIGxvZ2ljYWxSaWdodCgpICsgZW5kUGFkZGluZykpOworICAgICAgICAgICAgbGluZUxh
eW91dE92ZXJmbG93LnNoaWZ0TWF4WEVkZ2VUbyhtYXgobGluZUxheW91dE92ZXJmbG93Lm1heFgo
KSwgcGl4ZWxTbmFwcGVkTG9naWNhbFJpZ2h0KCkgKyBlbmRQYWRkaW5nKSk7CiAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdFhFZGdlVG8obWluKGxpbmVM
YXlvdXRPdmVyZmxvdy54KCksIGxvZ2ljYWxMZWZ0KCkgLSBlbmRQYWRkaW5nKSk7CisgICAgICAg
ICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRYRWRnZVRvKG1pbihsaW5lTGF5b3V0T3ZlcmZs
b3cueCgpLCBwaXhlbFNuYXBwZWRMb2dpY2FsTGVmdCgpIC0gZW5kUGFkZGluZykpOwogICAgIH0g
ZWxzZSB7CiAgICAgICAgIGlmIChpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCi0gICAgICAgICAg
ICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRNYXhZRWRnZVRvKG1heChsaW5lTGF5b3V0T3ZlcmZs
b3cubWF4WSgpLCBsb2dpY2FsUmlnaHQoKSArIGVuZFBhZGRpbmcpKTsKKyAgICAgICAgICAgIGxp
bmVMYXlvdXRPdmVyZmxvdy5zaGlmdE1heFlFZGdlVG8obWF4KGxpbmVMYXlvdXRPdmVyZmxvdy5t
YXhZKCksIHBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCgpICsgZW5kUGFkZGluZykpOwogICAgICAg
ICBlbHNlCi0gICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRZRWRnZVRvKG1pbihs
aW5lTGF5b3V0T3ZlcmZsb3cueSgpLCBsb2dpY2FsUmlnaHQoKSAtIGVuZFBhZGRpbmcpKTsKKyAg
ICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdFlFZGdlVG8obWluKGxpbmVMYXlvdXRP
dmVyZmxvdy55KCksIHBpeGVsU25hcHBlZExvZ2ljYWxMZWZ0KCkgLSBlbmRQYWRkaW5nKSk7CiAg
ICAgfQogICAgIAogICAgIHJldHVybiBsaW5lTGF5b3V0T3ZlcmZsb3c7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmgJKHJldmlzaW9uIDc4NDg0KQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAkod29ya2luZyBjb3B5KQpAQCAt
NDUsNyArNDUsNyBAQCBwdWJsaWM6CiAgICAgUm9vdElubGluZUJveCogbmV4dFJvb3RCb3goKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxSb290SW5saW5lQm94Kj4obV9uZXh0TGluZUJveCk7
IH0KICAgICBSb290SW5saW5lQm94KiBwcmV2Um9vdEJveCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRp
Y19jYXN0PFJvb3RJbmxpbmVCb3gqPihtX3ByZXZMaW5lQm94KTsgfQogCi0gICAgdmlydHVhbCB2
b2lkIGFkanVzdFBvc2l0aW9uKGludCBkeCwgaW50IGR5KTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRq
dXN0UG9zaXRpb24oZmxvYXQgZHgsIGZsb2F0IGR5KTsKIAogICAgIGludCBsaW5lVG9wKCkgY29u
c3QgeyByZXR1cm4gbV9saW5lVG9wOyB9CiAgICAgaW50IGxpbmVCb3R0b20oKSBjb25zdCB7IHJl
dHVybiBtX2xpbmVCb3R0b207IH0KQEAgLTc4LDggKzc4LDggQEAgcHVibGljOgogICAgIHZvaWQg
Y2hpbGRSZW1vdmVkKElubGluZUJveCogYm94KTsKIAogICAgIGJvb2wgY2FuQWNjb21tb2RhdGVF
bGxpcHNpcyhib29sIGx0ciwgaW50IGJsb2NrRWRnZSwgaW50IGxpbmVCb3hFZGdlLCBpbnQgZWxs
aXBzaXNXaWR0aCk7Ci0gICAgdm9pZCBwbGFjZUVsbGlwc2lzKGNvbnN0IEF0b21pY1N0cmluZyYg
ZWxsaXBzaXNTdHIsIGJvb2wgbHRyLCBpbnQgYmxvY2tMZWZ0RWRnZSwgaW50IGJsb2NrUmlnaHRF
ZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCwgSW5saW5lQm94KiBtYXJrdXBCb3ggPSAwKTsKLSAgICB2
aXJ0dWFsIGludCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBpbnQgYmxvY2tMZWZ0RWRnZSwg
aW50IGJsb2NrUmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpOwor
ICAgIHZvaWQgcGxhY2VFbGxpcHNpcyhjb25zdCBBdG9taWNTdHJpbmcmIGVsbGlwc2lzU3RyLCBi
b29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVkZ2UsIGZsb2F0
IGVsbGlwc2lzV2lkdGgsIElubGluZUJveCogbWFya3VwQm94ID0gMCk7CisgICAgdmlydHVhbCBm
bG9hdCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBmbG9hdCBibG9ja0xlZnRFZGdlLCBmbG9h
dCBibG9ja1JpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpOwog
CiAgICAgRWxsaXBzaXNCb3gqIGVsbGlwc2lzQm94KCkgY29uc3Q7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgJKHJldmlzaW9u
IDc4NDg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNo
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw4ICszNCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIFJlbmRlck9iamVjdDsKIAogLy8gVmFsdWVzIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQu
Ci1jb25zdCBpbnQgUG9zaXRpb25Ub3AgPSAtMHg3ZmZmZmZmZjsKLWNvbnN0IGludCBQb3NpdGlv
bkJvdHRvbSA9IDB4N2ZmZmZmZmY7CiBjb25zdCBpbnQgUG9zaXRpb25VbmRlZmluZWQgPSAweDgw
MDAwMDAwOwogCiBjbGFzcyBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUgewpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCShyZXZpc2lv
biA3ODQ4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJv
eC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDcgKzQ3LDcgQEAgU1ZHSW5saW5lVGV4dEJveDo6
U1ZHSW5saW5lVGV4dEJveChSZW5kZQogewogfQogCi1pbnQgU1ZHSW5saW5lVGV4dEJveDo6b2Zm
c2V0Rm9yUG9zaXRpb24oaW50LCBib29sKSBjb25zdAoraW50IFNWR0lubGluZVRleHRCb3g6Om9m
ZnNldEZvclBvc2l0aW9uKGZsb2F0LCBib29sKSBjb25zdAogewogICAgIC8vIFNWRyBkb2Vzbid0
IHVzZSB0aGUgc3RhbmRhcmQgb2Zmc2V0IDwtPiBwb3NpdGlvbiBzZWxlY3Rpb24gc3lzdGVtLCBh
cyBpdCdzIG5vdCBzdWl0YWJsZSBmb3IgU1ZHcyBjb21wbGV4IG5lZWRzLgogICAgIC8vIHZlcnRp
Y2FsIHRleHQgc2VsZWN0aW9uLCBpbmxpbmUgYm94ZXMgc3Bhbm5pbmcgbXVsdGlwbGUgbGluZXMg
KGNvbnRyYXJ5IHRvIEhUTUwsIGV0Yy4pCkBAIC03Niw3ICs3Niw3IEBAIGludCBTVkdJbmxpbmVU
ZXh0Qm94OjpvZmZzZXRGb3JQb3NpdGlvbkkKICAgICByZXR1cm4gZnJhZ21lbnQucG9zaXRpb25M
aXN0T2Zmc2V0IC0gc3RhcnQoKSArIHRleHRSZW5kZXJlci0+c2NhbGVkRm9udCgpLm9mZnNldEZv
clBvc2l0aW9uKHRleHRSdW4sIHBvc2l0aW9uICogc2NhbGluZ0ZhY3RvciwgaW5jbHVkZVBhcnRp
YWxHbHlwaHMpOwogfQogCi1pbnQgU1ZHSW5saW5lVGV4dEJveDo6cG9zaXRpb25Gb3JPZmZzZXQo
aW50KSBjb25zdAorZmxvYXQgU1ZHSW5saW5lVGV4dEJveDo6cG9zaXRpb25Gb3JPZmZzZXQoaW50
KSBjb25zdAogewogICAgIC8vIFNWRyBkb2Vzbid0IHVzZSB0aGUgb2Zmc2V0IDwtPiBwb3NpdGlv
biBzZWxlY3Rpb24gc3lzdGVtLiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTQxNSw5
ICs0MTUsNiBAQCBUZXh0UnVuIFNWR0lubGluZVRleHRCb3g6OmNvbnN0cnVjdFRleHRSCiAgICAg
cnVuLnNldFJlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KHRleHQpOwogI2VuZGlmCiAKLSAgICAvLyBE
aXNhYmxlIGFueSB3b3JkL2NoYXJhY3RlciByb3VuZGluZy4KLSAgICBydW4uZGlzYWJsZVJvdW5k
aW5nSGFja3MoKTsKLQogICAgIC8vIFdlIGhhbmRsZSBsZXR0ZXIgJiB3b3JkIHNwYWNpbmcgb3Vy
c2VsdmVzLgogICAgIHJ1bi5kaXNhYmxlU3BhY2luZygpOwogICAgIHJldHVybiBydW47CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guaAko
cmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGlu
ZVRleHRCb3guaAkod29ya2luZyBjb3B5KQpAQCAtNDIsOCArNDIsOCBAQCBwdWJsaWM6CiAKICAg
ICB2aXJ0dWFsIGludCBzZWxlY3Rpb25Ub3AoKSB7IHJldHVybiBtX3k7IH0KICAgICB2aXJ0dWFs
IGludCBzZWxlY3Rpb25IZWlnaHQoKSB7IHJldHVybiBtX2xvZ2ljYWxIZWlnaHQ7IH0KLSAgICB2
aXJ0dWFsIGludCBvZmZzZXRGb3JQb3NpdGlvbihpbnQgeCwgYm9vbCBpbmNsdWRlUGFydGlhbEds
eXBocyA9IHRydWUpIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IHBvc2l0aW9uRm9yT2Zmc2V0KGlu
dCBvZmZzZXQpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IG9mZnNldEZvclBvc2l0aW9uKGZsb2F0
IHgsIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMgPSB0cnVlKSBjb25zdDsKKyAgICB2aXJ0dWFs
IGZsb2F0IHBvc2l0aW9uRm9yT2Zmc2V0KGludCBvZmZzZXQpIGNvbnN0OwogCiAgICAgdm9pZCBw
YWludFNlbGVjdGlvbkJhY2tncm91bmQoUGFpbnRJbmZvJik7CiAgICAgdmlydHVhbCB2b2lkIHBh
aW50KFBhaW50SW5mbyYsIGludCB0eCwgaW50IHR5KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcAkocmV2aXNpb24g
Nzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1Rl
eHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzUsNyArNDM1LDEwIEBAIHN0YXRpYyB2b2lkIHdy
aXRlUmVuZGVyU1ZHVGV4dEJveChUZXh0U3QKICAgICBpZiAoIWJveCkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgdHMgPDwgIiBhdCAoIiA8PCB0ZXh0LngoKSA8PCAiLCIgPDwgdGV4dC55KCkgPDwg
Iikgc2l6ZSAiIDw8IGJveC0+bG9naWNhbFdpZHRoKCkgPDwgIngiIDw8IGJveC0+bG9naWNhbEhl
aWdodCgpOworICAgIC8vIEZJWE1FOiBGb3Igbm93IHVzZSBhbiBpbnQgZm9yIGxvZ2ljYWxXaWR0
aCwgYWx0aG91Z2ggdGhpcyBtYWtlcyBpdCBoYXJkZXIKKyAgICAvLyB0byBkZXRlY3QgYW55IGNo
YW5nZXMgY2F1c2VkIGJ5IHRoZSBjb252ZXJzaW9uIHRvIGZsb2F0aW5nIHBvaW50LiA6KAorICAg
IGludCBsb2dpY2FsV2lkdGggPSBjZWlsZihib3gtPngoKSArIGJveC0+bG9naWNhbFdpZHRoKCkp
IC0gYm94LT54KCk7CisgICAgdHMgPDwgIiBhdCAoIiA8PCB0ZXh0LngoKSA8PCAiLCIgPDwgdGV4
dC55KCkgPDwgIikgc2l6ZSAiIDw8IGxvZ2ljYWxXaWR0aCA8PCAieCIgPDwgYm94LT5sb2dpY2Fs
SGVpZ2h0KCk7CiAgICAgCiAgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIGhhY2ssIG9uY2UgdGhl
IG5ldyB0ZXh0IGxheW91dCBlbmdpbmUgaXMgY29tcGxldGx5IGxhbmRlZC4gV2Ugd2FudCB0byBw
cmVzZXJ2ZSB0aGUgb2xkIGxheW91dCB0ZXN0IHJlc3VsdHMgZm9yIG5vdy4KICAgICB0cyA8PCAi
IGNvbnRhaW5zIDEgY2h1bmsocykiOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdUZXh0TWV0cmljcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdUZXh0TWV0cmljcy5jcHAJKHJldmlzaW9uIDc4NDg0KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmljcy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQ3LDggKzQ3LDkgQEAgU1ZHVGV4dE1ldHJpY3M6OlNWR1RleHRNZXRyaWNzKFJlbmRlclNWRwog
ICAgIGludCBsZW5ndGggPSAwOwogCiAgICAgLy8gQ2FsY3VsYXRlIHdpZHRoL2hlaWdodCB1c2lu
ZyB0aGUgc2NhbGVkIGZvbnQsIGRpdmlkZSB0aGlzIHJlc3VsdCBieSB0aGUgc2NhbGluZ0ZhY3Rv
ciBhZnRlcndhcmRzLgotICAgIG1fd2lkdGggPSBzY2FsZWRGb250LmZsb2F0V2lkdGgocnVuLCBl
eHRyYUNoYXJzQXZhaWxhYmxlLCBsZW5ndGgsIG1fZ2x5cGgubmFtZSkgLyBzY2FsaW5nRmFjdG9y
OworICAgIG1fd2lkdGggPSBzY2FsZWRGb250LndpZHRoKHJ1biwgZXh0cmFDaGFyc0F2YWlsYWJs
ZSwgbGVuZ3RoLCBtX2dseXBoLm5hbWUpIC8gc2NhbGluZ0ZhY3RvcjsKICAgICBtX2hlaWdodCA9
IHNjYWxlZEZvbnQuZm9udE1ldHJpY3MoKS5mbG9hdEhlaWdodCgpIC8gc2NhbGluZ0ZhY3RvcjsK
KwogICAgIG1fZ2x5cGgudW5pY29kZVN0cmluZyA9IFN0cmluZyhydW4uY2hhcmFjdGVycygpLCBs
ZW5ndGgpOwogICAgIG1fZ2x5cGguaXNWYWxpZCA9IHRydWU7CiAKQEAgLTc5LDkgKzgwLDYgQEAg
c3RhdGljIFRleHRSdW4gY29uc3RydWN0VGV4dFJ1bihSZW5kZXJTVgogICAgIHJ1bi5zZXRSZWZl
cmVuY2luZ1JlbmRlck9iamVjdCh0ZXh0KTsKICNlbmRpZgogCi0gICAgLy8gRGlzYWJsZSBhbnkg
d29yZC9jaGFyYWN0ZXIgcm91bmRpbmcuCi0gICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7
Ci0KICAgICAvLyBXZSBoYW5kbGUgbGV0dGVyICYgd29yZCBzcGFjaW5nIG91cnNlbHZlcy4KICAg
ICBydW4uZGlzYWJsZVNwYWNpbmcoKTsKICAgICByZXR1cm4gcnVuOwpJbmRleDogU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZvbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGb250LmNwcAkocmV2aXNpb24gNzg0ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9u
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2Miw3ICszNjIsNyBAQCBzdGF0aWMgdm9pZCBmbG9h
dFdpZHRoTWlzc2luZ0dseXBoQ2FsbGJhCiAgICAgRm9udCBmb250KGZvbnREZXNjcmlwdGlvbiwg
MCwgMCk7IC8vIHNwYWNpbmcgaGFuZGxlZCBieSBTVkcgdGV4dCBjb2RlLgogICAgIGZvbnQudXBk
YXRlKGRhdGEuZm9udC0+Zm9udFNlbGVjdG9yKCkpOwogCi0gICAgZGF0YS5sZW5ndGggKz0gZm9u
dC5mbG9hdFdpZHRoKHJ1bik7CisgICAgZGF0YS5sZW5ndGggKz0gZm9udC53aWR0aChydW4pOwog
fQogCiAKQEAgLTU3Myw5ICs1NzMsOSBAQCB2b2lkIEZvbnQ6OmRyYXdUZXh0VXNpbmdTVkdGb250
KEdyYXBoaWNzCiAgICAgICAgICAgICAgICAgZm9udC5kcmF3VGV4dChjb250ZXh0LCBmYWxsYmFj
a0NoYXJhY3RlclJ1biwgY3VycmVudFBvaW50KTsKIAogICAgICAgICAgICAgICAgIGlmIChpc1Zl
cnRpY2FsVGV4dCkKLSAgICAgICAgICAgICAgICAgICAgY3VycmVudFBvaW50Lm1vdmUoMC4wZiwg
Zm9udC5mbG9hdFdpZHRoKGZhbGxiYWNrQ2hhcmFjdGVyUnVuKSk7CisgICAgICAgICAgICAgICAg
ICAgIGN1cnJlbnRQb2ludC5tb3ZlKDAuMGYsIGZvbnQud2lkdGgoZmFsbGJhY2tDaGFyYWN0ZXJS
dW4pKTsKICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRQ
b2ludC5tb3ZlKGZvbnQuZmxvYXRXaWR0aChmYWxsYmFja0NoYXJhY3RlclJ1biksIDAuMGYpOwor
ICAgICAgICAgICAgICAgICAgICBjdXJyZW50UG9pbnQubW92ZShmb250LndpZHRoKGZhbGxiYWNr
Q2hhcmFjdGVyUnVuKSwgMC4wZik7CiAKICAgICAgICAgICAgICAgICBmYWxsYmFja0NoYXJhY3Rl
ckluZGV4Kys7CiAgICAgICAgICAgICB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3
ODQ5NykKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDMxIEBACisyMDExLTAyLTE0ICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQyNDQKKyAgICAgICAgCisgICAgICAg
IENvbnZlcnQgdGhlIGxpbmUgYm94IHRyZWUgdG8gZmxvYXRpbmcgcG9pbnQgYW5kIGVsaW1pbmF0
ZSBmb250IHJvdW5kaW5nIGhhY2tzLiAgVGhpcyBwYXRjaCByZW1vdmVzIGFsbCBvZiB0aGUgcm91
bmRpbmcKKyAgICAgICAgaGFja3MgZnJvbSB0aGUgRm9udCBjb2RlIGFuZCBtYWtlcyBzdXJlIGFs
bCBGb250IEFQSVMgaW52b2x2aW5nIHdpZHRoIG1lYXN1cmVtZW50IGFuZCB3aWR0aCBvZmZzZXRz
IHVzZSBmbG9hdHMuCisgICAgICAgIAorICAgICAgICBUaGUgbGluZSBib3ggdHJlZSdzIHgsIHkg
YW5kIGxvZ2ljYWxXaWR0aCBtZW1iZXJzIGhhdmUgYWxsIGJlZW4gY29udmVydGVkIHRvIGZsb2F0
cyBhbmQgYWxsIG9mIHRoZSBsaW5lIGJveCBBUElzIGhhdmUKKyAgICAgICAgYmVlbiBjaGFuZ2Vk
IGFzIHdlbGwuCisgICAgICAgIAorICAgICAgICBJbiB0ZXJtcyBvZiBwaXhlbCBhZGp1c3RtZW50
cywgb3ZlcmZsb3cgaXMgdXNpbmcgYW4gZW5jbG9zaW5nIG1vZGVsIChzbyBpdCB3aWxsIGJlIGVu
Y2xvc2luZ0ludFJlY3Qgb2YgYSBsaW5lIGJveCdzIHgveS93aWR0aC9oZWlnaHQpLgorICAgICAg
ICAKKyAgICAgICAgQmFja2dyb3VuZCBhbmQgYm9yZGVyIHBhaW50aW5nIGlzIHVzaW5nIGEgcm91
bmRpbmcgbW9kZWwsIHNvIGJvcmRlcnMgYW5kIGJhY2tncm91bmRzIHdpbGwgcm91bmQgdG8gdGhl
IG5lYXJlc3QgcGl4ZWwgd2hlbiBwYWludGluZy4KKyAgICAgICAgCisgICAgICAgIFJlcGxhY2Vk
IGVsZW1lbnRzIHN0aWxsIHNuYXAgdG8gaW50ZWdlciBwb3NpdGlvbnMgb24gbGluZXMsIGFuZCB0
aGV5IHVzZSBhIHJvdW5kaW5nIG1vZGVsIGFzIHdlbGwsIGFsdGhvdWdoIHRoZWlyIHVuZGVybHlp
bmcgbGluZSBib3hlcworICAgICAgICBzdGlsbCBoYXZlIGEgcHJlY2lzZSBmbG9hdGluZyBwb2lu
dCBwb3NpdGlvbi4KKworICAgICAgICBKdXN0aWZpY2F0aW9uIHdpbGwgbm93IGFsbG93IHN1YnBp
eGVsIHBvc2l0aW9uaW5nIHRvIG9jY3VyIGFzIHdlbGwuICBQbGF0Zm9ybXMgdGhhdCBkb24ndCBz
dXBwb3J0IHN1YnBpeGVsIHBvc2l0aW9uaW5nIHNob3VsZCBhbHJlYWR5CisgICAgICAgIGJlIHJv
dW5kaW5nIGp1c3RpZmljYXRpb24gc3BhY2luZyBpbiB0aGVpciBmb250IGNvZGUuCisKKyAgICAg
ICAgTWFueSBsYXlvdXQgdGVzdCByZXN1bHRzIGNoYW5nZSBvbiBNYWMsIHNpbmNlIHJvdW5kaW5n
IGhhY2tzIHdlcmUgdXNlZCB0aGVyZSBhbmQgYXJlIG5vdyBnb25lLgorCisgICAgICAgICogTWlz
Yy9XZWJLaXROU1N0cmluZ0V4dHJhcy5tbToKKyAgICAgICAgKC1bTlNTdHJpbmcgX3dlYl9kcmF3
QXRQb2ludDpmb250OnRleHRDb2xvcjphbGxvd2luZ0ZvbnRTbW9vdGhpbmc6XSk6CisgICAgICAg
ICgtW05TU3RyaW5nIF93ZWJfd2lkdGhXaXRoRm9udDpdKToKKwogMjAxMS0wMi0xMSAgR2VvZmZy
ZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZl
ciBIdW50LgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXROU1N0cmluZ0V4dHJh
cy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdE5TU3RyaW5n
RXh0cmFzLm1tCShyZXZpc2lvbiA3ODQ4NCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2Vi
S2l0TlNTdHJpbmdFeHRyYXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTkxLDcgKzkxLDYgQEAgLSAo
dm9pZClfd2ViX2RyYXdBdFBvaW50OihOU1BvaW50KXBvaW50IAogCiAgICAgICAgIEZvbnQgd2Vi
Q29yZUZvbnQoRm9udFBsYXRmb3JtRGF0YShmb250LCBbZm9udCBwb2ludFNpemVdKSwgIVtuc0Nv
bnRleHQgaXNEcmF3aW5nVG9TY3JlZW5dLCBmb250U21vb3RoaW5nSXNBbGxvd2VkID8gQXV0b1Nt
b290aGluZyA6IEFudGlhbGlhc2VkKTsKICAgICAgICAgVGV4dFJ1biBydW4oYnVmZmVyLmRhdGEo
KSwgbGVuZ3RoKTsKLSAgICAgICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7CiAKICAgICAg
ICAgQ0dGbG9hdCByZWQ7CiAgICAgICAgIENHRmxvYXQgZ3JlZW47CkBAIC0xMzcsOCArMTM2LDcg
QEAgLSAoZmxvYXQpX3dlYl93aWR0aFdpdGhGb250OihOU0ZvbnQgKilmbwogICAgIGlmIChjYW5V
c2VGYXN0UmVuZGVyZXIoYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKSkgewogICAgICAgICBGb250IHdl
YkNvcmVGb250KEZvbnRQbGF0Zm9ybURhdGEoZm9udCwgW2ZvbnQgcG9pbnRTaXplXSksICFbW05T
R3JhcGhpY3NDb250ZXh0IGN1cnJlbnRDb250ZXh0XSBpc0RyYXdpbmdUb1NjcmVlbl0pOwogICAg
ICAgICBUZXh0UnVuIHJ1bihidWZmZXIuZGF0YSgpLCBsZW5ndGgpOwotICAgICAgICBydW4uZGlz
YWJsZVJvdW5kaW5nSGFja3MoKTsKLSAgICAgICAgcmV0dXJuIHdlYkNvcmVGb250LmZsb2F0V2lk
dGgocnVuKTsKKyAgICAgICAgcmV0dXJuIHdlYkNvcmVGb250LndpZHRoKHJ1bik7CiAgICAgfQog
CiAgICAgcmV0dXJuIFtzZWxmIHNpemVXaXRoQXR0cmlidXRlczpbTlNEaWN0aW9uYXJ5IGRpY3Rp
b25hcnlXaXRoT2JqZWN0c0FuZEtleXM6Zm9udCwgTlNGb250QXR0cmlidXRlTmFtZSwgbmlsXV0u
d2lkdGg7Cg==
</data>
<flag name="review"
          id="74010"
          type_id="1"
          status="-"
          setter="mitz"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82357</attachid>
            <date>2011-02-14 13:20:18 -0800</date>
            <delta_ts>2011-02-14 13:20:18 -0800</delta_ts>
            <desc>Sample of layout tests changes</desc>
            <filename>layouttests.txt</filename>
            <type>text/plain</type>
            <size>2025802</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9i
aWRpLUFOLWFmdGVyLUwtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktQU4tYWZ0ZXItTC1l
eHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gNzg0ODQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1BTi1hZnRlci1MLWV4cGVjdGVkLmNo
ZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi0wNzAxZWVkNjE2NzYwM2FmMWI2MzFm
MGU5ZTg1MTg2NQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzE3ZTUwNjA3N2YwNzdhNzlk
M2JlZGE4YzA1OWYzYzZjClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktQU4tYWZ0ZXIt
TC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktQU4tYWZ0ZXItTC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDc4NDg0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5h
dGlvbmFsL2JpZGktQU4tYWZ0ZXItTC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEz
LDQgKzEzLDQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTMwCiAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwyKSBzaXplIDczeDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
Mikgd2lkdGggMjI6ICJhYmMiCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDIyLDIpIHdpZHRoIDI3
IFJUTDogIlx4ezVEMH1ceHs1RDF9XHh7NUQyfSIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDks
Mikgd2lkdGggMjQ6ICJceHs2NjF9XHh7NjYyfVx4ezY2M30iCisgICAgICAgICAgdGV4dCBydW4g
YXQgKDQ4LDIpIHdpZHRoIDI1OiAiXHh7NjYxfVx4ezY2Mn1ceHs2NjN9IgpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktTDItcnVuLXJl
b3JkZXJpbmctZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktTDItcnVuLXJlb3JkZXJpbmct
ZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDc4NDg0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktTDItcnVuLXJlb3JkZXJpbmctZXhw
ZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLWNhYjQ4MGIwYjhiNzZl
YThjOGNlODk2NDI0OTY0ZjRhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorMTRjYjA4ZDA5
NDc1NDA1ZTYxY2Q0OWExODM1MmRlM2YKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1M
Mi1ydW4tcmVvcmRlcmluZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktTDItcnVuLXJlb3JkZXJp
bmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3ODQ4NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLUwyLXJ1bi1yZW9yZGVyaW5nLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOCwyOSArOCwyOSBAQCBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHgxMDMKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3Nzg6ICJUaGUg
dGhyZWUgYm94ZXMgc2hvdWxkIGJlIHRoZSBzYW1lLiBUaGUgb3JkZXIgaW4gZWFjaCBib3ggc2hv
dWxkIGJlOiBSb21hbiBsZXR0ZXJzLCBIZWJyZXcgbGV0dGVycywgZGlnaXRzLCBIZWJyZXcgbGV0
dGVycywiCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDkxOiAiUm9tYW4gbGV0
dGVycy4iCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsNTIpIHNpemUgNzg0eDE5Ci0gICAg
ICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMzZ4MjAgW2JvcmRlcjogKDFw
eCBzb2xpZCAjMDA4MDAwKV0KLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkg
c2l6ZSAxMzR4MTgKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDEz
NXgyMCBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXQorICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMSwxKSBzaXplIDEzM3gxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEs
MSkgd2lkdGggMjY6ICJhYmMgIgogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI3LDEpIHdpZHRo
IDI5IFJUTDogIiBceHs1RDN9XHh7NUQ0fVx4ezVENX0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNTYsMSkgd2lkdGggMjQ6ICIxMjMiCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoODAsMSkg
d2lkdGggMzEgUlRMOiAiXHh7NUQwfVx4ezVEMX1ceHs1RDJ9ICIKLSAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxMTEsMSkgd2lkdGggMjQ6ICIgZGVmIgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDEzNiwxKSBzaXplIDR4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTM2LDEpIHdp
ZHRoIDQ6ICIgIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDU1LDEpIHdpZHRoIDI1OiAiMTIz
IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDc5LDEpIHdpZHRoIDMxIFJUTDogIlx4ezVEMH1c
eHs1RDF9XHh7NUQyfSAiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTA5LDEpIHdpZHRoIDI1
OiAiIGRlZiIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMzQsMSkgc2l6ZSA1eDE4
CisgICAgICAgICAgdGV4dCBydW4gYXQgKDEzNCwxKSB3aWR0aCA1OiAiICIKICAgICAgICAgUmVu
ZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDEzNngyMCBbYm9yZGVyOiAoMXB4IHNvbGlk
ICMwMDgwMDApXQotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTQxLDEpIHNpemUg
MTM0eDE4Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTQxLDEpIHdpZHRoIDI2OiAiYWJjICIK
LSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNjcsMSkgd2lkdGggMjkgUlRMOiAiIFx4ezVEM31c
eHs1RDR9XHh7NUQ1fSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOTYsMSkgd2lkdGggMjQ6
ICIxMjMiCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjIwLDEpIHdpZHRoIDMxIFJUTDogIlx4
ezVEMH1ceHs1RDF9XHh7NUQyfSAiCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjUxLDEpIHdp
ZHRoIDI0OiAiIGRlZiIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyNzYsMSkgc2l6
ZSA0eDE4Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDI3NiwxKSB3aWR0aCA0OiAiICIKKyAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEzOSwxKSBzaXplIDEzNHgxOAorICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDEzOSwxKSB3aWR0aCAyNzogImFiYyAiCisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTY1LDEpIHdpZHRoIDMwIFJUTDogIiBceHs1RDN9XHh7NUQ0fVx4ezVENX0iCisg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTk0LDEpIHdpZHRoIDI1OiAiMTIzIgorICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDIxOCwxKSB3aWR0aCAzMSBSVEw6ICJceHs1RDB9XHh7NUQxfVx4ezVE
Mn0gIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI0OCwxKSB3aWR0aCAyNTogIiBkZWYiCisg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjczLDEpIHNpemUgNXgxOAorICAgICAgICAg
IHRleHQgcnVuIGF0ICgyNzMsMSkgd2lkdGggNTogIiAiCiAgICAgICAgIFJlbmRlcklubGluZSB7
U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMzZ4MjAgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0K
LSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDI4MSwxKSBzaXplIDEzNHgxOAotICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDI4MSwxKSB3aWR0aCAyNjogImFiYyAiCi0gICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMzA3LDEpIHdpZHRoIDI5IFJUTDogIiBceHs1RDN9XHh7NUQ0fVx4ezVE
NX0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzM2LDEpIHdpZHRoIDI0OiAiMTIzIgotICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDM2MCwxKSB3aWR0aCAzMSBSVEw6ICJceHs1RDB9XHh7NUQx
fVx4ezVEMn0gIgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM5MSwxKSB3aWR0aCAyNDogIiBk
ZWYiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyNzgsMSkgc2l6ZSAxMzR4MTgK
KyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNzgsMSkgd2lkdGggMjc6ICJhYmMgIgorICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDMwNCwxKSB3aWR0aCAyOSBSVEw6ICIgXHh7NUQzfVx4ezVENH1c
eHs1RDV9IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMzMiwxKSB3aWR0aCAyNTogIjEyMyIK
KyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNTYsMSkgd2lkdGggMzIgUlRMOiAiXHh7NUQwfVx4
ezVEMX1ceHs1RDJ9ICIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzODcsMSkgd2lkdGggMjU6
ICIgZGVmIgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRp
LUxEQi0yLUNTUy1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1MREItMi1DU1MtZXhwZWN0
ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDc4NDg0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktTERCLTItQ1NTLWV4cGVjdGVkLmNoZWNrc3Vt
CSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi1jMWIxMGQxNmQyOTBhNjlkZmJlYjRmYzZlZWJm
MzBiMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2U1YTkyM2FmNDE1MjNhYzU5MWYzMmQw
NTRjNjYzZDEzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktTERCLTItQ1NTLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0
L2ludGVybmF0aW9uYWwvYmlkaS1MREItMi1DU1MtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3ODQ4
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9i
aWRpLUxEQi0yLUNTUy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE2MywxNSArMTYz
LDE1IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDU0NgogICAgICAgICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgOXgxOAogICAgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCA5IFJUTDogIlx4ezVEM30iCiAgICAgICAgICAgUmVuZGVy
QmxvY2sge1B9IGF0ICg0LDIzKSBzaXplIDk3eDE5Ci0gICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMSkgc2l6ZSA5NHgxOAorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDEpIHNpemUgOTN4MTgKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lk
dGggMjcgUlRMOiAiXHh7NUQwfVx4ezVEMX1ceHs1RDJ9IgotICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMjcsMSkgd2lkdGggNDI6ICIgQUJDICIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDY5LDEpIHdpZHRoIDI1IFJUTDogIlx4ezVEM31ceHs1RDR9XHh7NUQ1fSIKKyAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDI2LDEpIHdpZHRoIDQzOiAiIEFCQyAiCisgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICg2OCwxKSB3aWR0aCAyNSBSVEw6ICJceHs1RDN9XHh7NUQ0fVx4ezVENX0iCiAg
ICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICg0LDQyKSBzaXplIDk3eDE5Ci0gICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSA5NHgxOAorICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgOTN4MTgKICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMSkgd2lkdGggMzEgUlRMOiAiIFx4ezVEMH1ceHs1RDF9XHh7NUQyfSIKLSAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDMxLDEpIHdpZHRoIDM0OiAiQUJDIgotICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoNjUsMSkgd2lkdGggMjkgUlRMOiAiXHh7NUQzfVx4ezVENH1ceHs1RDV9
ICIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMwLDEpIHdpZHRoIDM1OiAiQUJDIgorICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjQsMSkgd2lkdGggMjkgUlRMOiAiXHh7NUQzfVx4ezVE
NH1ceHs1RDV9ICIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyNjksODEpIHNpemUg
NHgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgyNjksODEpIHdpZHRoIDQ6ICIgIgogICAgICAg
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMjc2LDMpIHNpemUgMTczeDE3OSBbYm9yZGVyOiAoMXB4
IHNvbGlkICMwMDgwMDApXQpAQCAtMjM2LDgzICsyMzYsODMgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NTQ2CiAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkg
c2l6ZSA2eDE4CiAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDYg
UlRMOiAiXHh7NUQ2fSIKICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDQsMjMpIHNpemUg
MTY1eDE5Ci0gICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSAxNjF4
MTgKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDE1OXgxOAog
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCAyNyBSVEw6ICJceHs1RDB9XHh7
NUQxfVx4ezVEMn0iCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNywxKSB3aWR0aCA0Mjog
IiBBQkMgIgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjksMSkgd2lkdGggMjUgUlRMOiAi
XHh7NUQzfVx4ezVENH1ceHs1RDV9IgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTQsMSkg
d2lkdGggMzk6ICIgREVGICIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzMywxKSB3aWR0
aCAyOCBSVEw6ICJceHs1RDZ9XHh7NUQ3fVx4ezVEOH0iCisgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgyNiwxKSB3aWR0aCA0MzogIiBBQkMgIgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NjgsMSkgd2lkdGggMjUgUlRMOiAiXHh7NUQzfVx4ezVENH1ceHs1RDV9IgorICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoOTIsMSkgd2lkdGggNDA6ICIgREVGICIKKyAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDEzMSwxKSB3aWR0aCAyOCBSVEw6ICJceHs1RDZ9XHh7NUQ3fVx4ezVEOH0iCiAg
ICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICg0LDQyKSBzaXplIDE2NXgxOQogICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgMzF4MTgKICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMSkgd2lkdGggMjcgUlRMOiAiXHh7NUQwfVx4ezVEMX1ceHs1RDJ9Igot
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjcsMSkgd2lkdGggNDogIiAiCisgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgyNiwxKSB3aWR0aCA1OiAiICIKICAgICAgICAgICAgIFJlbmRlcklu
bGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA2M3gxOAotICAgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDMxLDEpIHNpemUgNjN4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMzEsMSkgd2lkdGggMzg6ICJBQkMgIgotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2
OSwxKSB3aWR0aCAyNSBSVEw6ICJceHs1RDN9XHh7NUQ0fVx4ezVENX0iCi0gICAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDk0LDEpIHNpemUgNjd4MTgKLSAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDk0LDEpIHdpZHRoIDM5OiAiIERFRiAiCi0gICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgxMzMsMSkgd2lkdGggMjggUlRMOiAiXHh7NUQ2fVx4ezVEN31ceHs1RDh9IgorICAgICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMwLDEpIHNpemUgNjN4MTgKKyAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMzAsMSkgd2lkdGggMzk6ICJBQkMgIgorICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICg2OCwxKSB3aWR0aCAyNSBSVEw6ICJceHs1RDN9XHh7NUQ0fVx4ezVE
NX0iCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDkyLDEpIHNpemUgNjd4MTgK
KyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDkyLDEpIHdpZHRoIDQwOiAiIERFRiAiCisgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgxMzEsMSkgd2lkdGggMjggUlRMOiAiXHh7NUQ2fVx4ezVE
N31ceHs1RDh9IgogICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoNCw2MSkgc2l6ZSAxNjV4
MTkKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDMxeDE4CiAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDI3IFJUTDogIlx4ezVEMH1ceHs1
RDF9XHh7NUQyfSIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI3LDEpIHdpZHRoIDQ6ICIg
IgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjYsMSkgd2lkdGggNTogIiAiCiAgICAgICAg
ICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgOTh4MTgKLSAgICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMSwxKSBzaXplIDk4eDE4Ci0gICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDMxLDEpIHdpZHRoIDM4OiAiQUJDICIKLSAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoNjksMSkgd2lkdGggMjUgUlRMOiAiXHh7NUQzfVx4ezVENH1ceHs1RDV9Igot
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5NCwxKSB3aWR0aCAzNTogIiBERUYiCi0gICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEyOSwxKSBzaXplIDMyeDE4Ci0gICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgxMjksMSkgd2lkdGggNDogIiAiCi0gICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgxMzMsMSkgd2lkdGggMjggUlRMOiAiXHh7NUQ2fVx4ezVEN31ceHs1RDh9Igor
ICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMwLDEpIHNpemUgOTh4MTgKKyAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzAsMSkgd2lkdGggMzk6ICJBQkMgIgorICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg2OCwxKSB3aWR0aCAyNSBSVEw6ICJceHs1RDN9XHh7NUQ0
fVx4ezVENX0iCisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDkyLDEpIHdpZHRoIDM2OiAi
IERFRiIKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTI3LDEpIHNpemUgMzJ4
MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyNywxKSB3aWR0aCA1OiAiICIKKyAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDEzMSwxKSB3aWR0aCAyOCBSVEw6ICJceHs1RDZ9XHh7NUQ3
fVx4ezVEOH0iCiAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICg0LDgwKSBzaXplIDE2NXgx
OQotICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMjksMSkgc2l6ZSAzMngxOAot
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTI5LDEpIHdpZHRoIDMyIFJUTDogIlx4ezVENn1c
eHs1RDd9XHh7NUQ4fSAiCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEyNywx
KSBzaXplIDMyeDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMjcsMSkgd2lkdGggMzIg
UlRMOiAiXHh7NUQ2fVx4ezVEN31ceHs1RDh9ICIKICAgICAgICAgICAgIFJlbmRlcklubGluZSB7
U1BBTn0gYXQgKDAsMCkgc2l6ZSA5OHgxOAotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDMxLDEpIHNpemUgOTh4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzEs
MSkgd2lkdGggMzQ6ICJBQkMiCi0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY1LDEpIHdp
ZHRoIDMzIFJUTDogIiBceHs1RDN9XHh7NUQ0fVx4ezVENX0gIgotICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICg5OCwxKSB3aWR0aCAzMTogIkRFRiIKKyAgICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgzMCwxKSBzaXplIDk4eDE4CisgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDMwLDEpIHdpZHRoIDM1OiAiQUJDIgorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2
NCwxKSB3aWR0aCAzMyBSVEw6ICIgXHh7NUQzfVx4ezVENH1ceHs1RDV9ICIKKyAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoOTYsMSkgd2lkdGggMzI6ICJERUYiCiAgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSAzMXgxOAogICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxKSB3aWR0aCAzMSBSVEw6ICIgXHh7NUQwfVx4ezVEMX1ceHs1RDJ9IgogICAgICAg
ICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoNCw5OSkgc2l6ZSAxNjV4MTkKLSAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoNjUsMSkgc2l6ZSAyOXgxOAotICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNjUsMSkgd2lkdGggMjkgUlRMOiAiXHh7NUQzfVx4ezVENH1ceHs1RDV9ICIKKyAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjQsMSkgc2l6ZSAyOXgxOAorICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNjQsMSkgd2lkdGggMjkgUlRMOiAiXHh7NUQzfVx4ezVENH1c
eHs1RDV9ICIKICAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA2
NXgxOAogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSA2NXgx
OAogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDMxIFJUTDogIiBceHs1
RDB9XHh7NUQxfVx4ezVEMn0iCi0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMxLDEpIHdp
ZHRoIDM0OiAiQUJDIgotICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg5NCwxKSBz
aXplIDY3eDE4Ci0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5NCwxKSB3aWR0aCAzOTogIiBE
RUYgIgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTMzLDEpIHdpZHRoIDI4IFJUTDogIlx4
ezVENn1ceHs1RDd9XHh7NUQ4fSIKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzAsMSkg
d2lkdGggMzU6ICJBQkMiCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDkyLDEp
IHNpemUgNjd4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDkyLDEpIHdpZHRoIDQwOiAi
IERFRiAiCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMzEsMSkgd2lkdGggMjggUlRMOiAi
XHh7NUQ2fVx4ezVEN31ceHs1RDh9IgogICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoNCwx
MTgpIHNpemUgMTY1eDE5Ci0gICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDY1LDEp
IHNpemUgMjl4MTgKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY1LDEpIHdpZHRoIDI5IFJU
TDogIlx4ezVEM31ceHs1RDR9XHh7NUQ1fSAiCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDY0LDEpIHNpemUgMjl4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY0LDEp
IHdpZHRoIDI5IFJUTDogIlx4ezVEM31ceHs1RDR9XHh7NUQ1fSAiCiAgICAgICAgICAgICBSZW5k
ZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNjV4MTgKICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgNjV4MTgKICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxKSB3aWR0aCA2NSBSVEwgb3ZlcnJpZGU6ICJDQkEgXHh7NUQwfVx4ezVEMX1ceHs1
RDJ9IgotICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg5NCwxKSBzaXplIDY3eDE4
Ci0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5NCwxKSB3aWR0aCAzOTogIiBERUYgIgotICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTMzLDEpIHdpZHRoIDI4IFJUTDogIlx4ezVENn1ceHs1
RDd9XHh7NUQ4fSIKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOTIsMSkgc2l6
ZSA2N3gxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTIsMSkgd2lkdGggNDA6ICIgREVG
ICIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzMSwxKSB3aWR0aCAyOCBSVEw6ICJceHs1
RDZ9XHh7NUQ3fVx4ezVEOH0iCiAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICg0LDEzNykg
c2l6ZSAxNjV4MTkKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXpl
IDMxeDE4CiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDI3IFJUTDogIlx4
ezVEMH1ceHs1RDF9XHh7NUQyfSIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI3LDEpIHdp
ZHRoIDQ6ICIgIgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjYsMSkgd2lkdGggNTogIiAi
CiAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNjN4MTgKLSAg
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMSwxKSBzaXplIDYzeDE4Ci0gICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMxLDEpIHdpZHRoIDYzIExUUiBvdmVycmlkZTogIkFC
QyBceHs1RDV9XHh7NUQ0fVx4ezVEM30iCi0gICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDk0LDEpIHNpemUgNjd4MTgKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDk0LDEpIHdp
ZHRoIDM5OiAiIERFRiAiCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMzMsMSkgd2lkdGgg
MjggUlRMOiAiXHh7NUQ2fVx4ezVEN31ceHs1RDh9IgorICAgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDMwLDEpIHNpemUgNjN4MTgKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMzAsMSkgd2lkdGggNjMgTFRSIG92ZXJyaWRlOiAiQUJDIFx4ezVENX1ceHs1RDR9XHh7NUQz
fSIKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOTIsMSkgc2l6ZSA2N3gxOAor
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTIsMSkgd2lkdGggNDA6ICIgREVGICIKKyAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDEzMSwxKSB3aWR0aCAyOCBSVEw6ICJceHs1RDZ9XHh7NUQ3
fVx4ezVEOH0iCiAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICg0LDE1Nikgc2l6ZSAxNjV4
MTkKLSAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTI5LDEpIHNpemUgMzJ4MTgK
LSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyOSwxKSB3aWR0aCAzMiBSVEw6ICJceHs1RDZ9
XHh7NUQ3fVx4ezVEOH0gIgorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMjcs
MSkgc2l6ZSAzMngxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTI3LDEpIHdpZHRoIDMy
IFJUTDogIlx4ezVENn1ceHs1RDd9XHh7NUQ4fSAiCiAgICAgICAgICAgICBSZW5kZXJJbmxpbmUg
e1NQQU59IGF0ICgwLDApIHNpemUgNjN4MTgKLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgzMSwxKSBzaXplIDYzeDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMx
LDEpIHdpZHRoIDYzIExUUiBvdmVycmlkZTogIkFCQyBceHs1RDV9XHh7NUQ0fVx4ezVEM30iCi0g
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSAxMjl4MTgKKyAgICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMCwxKSBzaXplIDYzeDE4CisgICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDMwLDEpIHdpZHRoIDYzIExUUiBvdmVycmlkZTogIkFCQyBc
eHs1RDV9XHh7NUQ0fVx4ezVEM30iCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMSkgc2l6ZSAxMjh4MTgKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lkdGgg
MzEgUlRMOiAiIFx4ezVEMH1ceHs1RDF9XHh7NUQyfSIKLSAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDk0LDEpIHdpZHRoIDM1OiAiIERFRiIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDky
LDEpIHdpZHRoIDM2OiAiIERFRiIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0NTIs
ODEpIHNpemUgNHgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICg0NTIsODEpIHdpZHRoIDQ6ICIg
IgogICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNDU5LDY5KSBzaXplIDIwNng0NiBbYm9y
ZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXQpAQCAtMzg5LDEyICszODksMTIgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NTQ2CiAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMSkgc2l6ZSA2eDE4CiAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEp
IHdpZHRoIDYgUlRMOiAiXHh7NUQ2fSIKICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDQs
MjMpIHNpemUgMTk4eDE5Ci0gICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkg
c2l6ZSAxOTR4MTgKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXpl
IDE5MngxOAogICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCAyNyBSVEw6ICJc
eHs1RDB9XHh7NUQxfVx4ezVEMn0iCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNywxKSB3
aWR0aCA0MjogIiBBQkMgIgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjksMSkgd2lkdGgg
MjUgUlRMOiAiXHh7NUQzfVx4ezVENH1ceHs1RDV9IgotICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoOTQsMSkgd2lkdGggNzI6ICIgREVGIEdISSAiCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgxNjYsMSkgd2lkdGggMjggUlRMOiAiXHh7NUQ2fVx4ezVEN31ceHs1RDh9IgorICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMjYsMSkgd2lkdGggNDM6ICIgQUJDICIKKyAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDY4LDEpIHdpZHRoIDI1IFJUTDogIlx4ezVEM31ceHs1RDR9XHh7NUQ1fSIK
KyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDkyLDEpIHdpZHRoIDczOiAiIERFRiBHSEkgIgor
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTY0LDEpIHdpZHRoIDI4IFJUTDogIlx4ezVENn1c
eHs1RDd9XHh7NUQ4fSIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2NjgsODEpIHNp
emUgNHgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICg2NjgsODEpIHdpZHRoIDQ6ICIgIgogICAg
ICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDApIHNpemUgMHgwCkBAIC00NzIsMTQgKzQ3MiwxNCBA
QCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1NDYKICAgICAgICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDZ4MTgKICAgICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMSkgd2lkdGggNiBSVEw6ICJceHs1RDZ9IgogICAgICAgICAgIFJlbmRlckJsb2Nr
IHtQfSBhdCAoNCwyMykgc2l6ZSAxOTh4MTkKLSAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoOTgsMSkgc2l6ZSAzMXgxOAotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTgsMSkg
d2lkdGggMzEgUlRMOiAiXHh7NUQwfVx4ezVEMX1ceHs1RDJ9ICIKKyAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoOTcsMSkgc2l6ZSAzMXgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoOTcsMSkgd2lkdGggMzEgUlRMOiAiXHh7NUQwfVx4ezVEMX1ceHs1RDJ9ICIKICAgICAg
ICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA5OHgxOAogICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSA5OHgxOAogICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDk4IFJUTCBvdmVycmlkZTogIkFCQyBceHs1RDN9
XHh7NUQ0fVx4ezVENX0gREVGIgotICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgx
MjksMSkgc2l6ZSA2NXgxOAotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTI5LDEpIHdpZHRo
IDM3OiAiIEdISSAiCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNjYsMSkgd2lkdGggMjgg
UlRMOiAiXHh7NUQ2fVx4ezVEN31ceHs1RDh9IgorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxMjcsMSkgc2l6ZSA2NXgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTI3
LDEpIHdpZHRoIDM4OiAiIEdISSAiCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNjQsMSkg
d2lkdGggMjggUlRMOiAiXHh7NUQ2fVx4ezVEN31ceHs1RDh9IgogICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDIxMiwyMDApIHNpemUgNHgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgy
MTIsMjAwKSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIxOSwx
ODgpIHNpemUgMjA2eDQ2IFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldCkBAIC01NTgsMTMg
KzU1OCwxMyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1NDYKICAgICAgICAgICBSZW5kZXJC
bG9jayB7UH0gYXQgKDQsMjMpIHNpemUgMTk4eDE5CiAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMSkgc2l6ZSA2OXgxOAogICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwx
KSB3aWR0aCAyNyBSVEw6ICJceHs1RDB9XHh7NUQxfVx4ezVEMn0iCi0gICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgyNywxKSB3aWR0aCA0MjogIiBBQkMgIgorICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMjYsMSkgd2lkdGggNDM6ICIgQUJDICIKICAgICAgICAgICAgIFJlbmRlcklubGluZSB7
U1BBTn0gYXQgKDAsMCkgc2l6ZSA2MHgxOAotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDY5LDEpIHNpemUgNjB4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjks
MSkgd2lkdGggNjAgUlRMIG92ZXJyaWRlOiAiXHh7NUQzfVx4ezVENH1ceHs1RDV9IERFRiIKLSAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTI5LDEpIHNpemUgNjV4MTgKLSAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDEyOSwxKSB3aWR0aCAzNzogIiBHSEkgIgotICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMTY2LDEpIHdpZHRoIDI4IFJUTDogIlx4ezVENn1ceHs1RDd9XHh7
NUQ4fSIKKyAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2OCwxKSBzaXplIDYw
eDE4CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY4LDEpIHdpZHRoIDYwIFJUTCBvdmVy
cmlkZTogIlx4ezVEM31ceHs1RDR9XHh7NUQ1fSBERUYiCisgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDEyNywxKSBzaXplIDY1eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgxMjcsMSkgd2lkdGggMzg6ICIgR0hJICIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE2
NCwxKSB3aWR0aCAyOCBSVEw6ICJceHs1RDZ9XHh7NUQ3fVx4ezVEOH0iCiAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgUmVuZGVyQmxvY2sge0hSfSBh
dCAoMCw0MDUpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0KICAgICAg
IFJlbmRlckJsb2NrIHtQfSBhdCAoMCw0MjMpIHNpemUgNzg0eDE4CkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1MREItMi1IVE1MLWV4
cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLUxEQi0yLUhUTUwtZXhwZWN0ZWQuY2hlY2tzdW0J
KHJldmlzaW9uIDc4NDg0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9p
bnRlcm5hdGlvbmFsL2JpZGktTERCLTItSFRNTC1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBj
b3B5KQpAQCAtMSArMSBAQAotZmFkNjVhMGQ0Mjc5YWE2MzdlMTA0N2U1MWM0N2UxNmQKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkN2Q2YzMzNWFkZDQzYjg5OTBmMGVhMTIwNWMzOWZmYgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLUxEQi0yLUhUTUwtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRp
b25hbC9iaWRpLUxEQi0yLUhUTUwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3ODQ4NCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLUxEQi0y
LUhUTUwtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNTEsMTUgKzE1MSwxNSBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg1MTIKICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwxKSBzaXplIDl4MTgKICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMSkgd2lkdGggOSBSVEw6ICJceHs1RDN9IgogICAgICAgICAgIFJlbmRlckJsb2NrIHtQ
fSBhdCAoNCwyMykgc2l6ZSA5N3gxOQotICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDEpIHNpemUgOTR4MTgKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwx
KSBzaXplIDkzeDE4CiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDI3IFJU
TDogIlx4ezVEMH1ceHs1RDF9XHh7NUQyfSIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI3
LDEpIHdpZHRoIDQyOiAiIEFCQyAiCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2OSwxKSB3
aWR0aCAyNSBSVEw6ICJceHs1RDN9XHh7NUQ0fVx4ezVENX0iCisgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgyNiwxKSB3aWR0aCA0MzogIiBBQkMgIgorICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNjgsMSkgd2lkdGggMjUgUlRMOiAiXHh7NUQzfVx4ezVENH1ceHs1RDV9IgogICAgICAgICAg
IFJlbmRlckJsb2NrIHtQfSBhdCAoNCw0Mikgc2l6ZSA5N3gxOQotICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgOTR4MTgKKyAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwxKSBzaXplIDkzeDE4CiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDEpIHdpZHRoIDMxIFJUTDogIiBceHs1RDB9XHh7NUQxfVx4ezVEMn0iCi0gICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgzMSwxKSB3aWR0aCAzNDogIkFCQyIKLSAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDY1LDEpIHdpZHRoIDI5IFJUTDogIlx4ezVEM31ceHs1RDR9XHh7NUQ1fSAiCisgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgzMCwxKSB3aWR0aCAzNTogIkFCQyIKKyAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDY0LDEpIHdpZHRoIDI5IFJUTDogIlx4ezVEM31ceHs1RDR9XHh7NUQ1
fSAiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjY5LDgxKSBzaXplIDR4MTgKICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMjY5LDgxKSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDI3NiwzKSBzaXplIDE3M3gxNzkgW2JvcmRlcjogKDFweCBzb2xpZCAj
MDA4MDAwKV0KQEAgLTIyNCw4MyArMjI0LDgzIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDUx
MgogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgNngx
OAogICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCA2IFJUTDogIlx4
ezVENn0iCiAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICg0LDIzKSBzaXplIDE2NXgxOQot
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgMTYxeDE4CisgICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSAxNTl4MTgKICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lkdGggMjcgUlRMOiAiXHh7NUQwfVx4ezVEMX1ceHs1
RDJ9IgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjcsMSkgd2lkdGggNDI6ICIgQUJDICIK
LSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY5LDEpIHdpZHRoIDI1IFJUTDogIlx4ezVEM31c
eHs1RDR9XHh7NUQ1fSIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDk0LDEpIHdpZHRoIDM5
OiAiIERFRiAiCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMzMsMSkgd2lkdGggMjggUlRM
OiAiXHh7NUQ2fVx4ezVEN31ceHs1RDh9IgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjYs
MSkgd2lkdGggNDM6ICIgQUJDICIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY4LDEpIHdp
ZHRoIDI1IFJUTDogIlx4ezVEM31ceHs1RDR9XHh7NUQ1fSIKKyAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDkyLDEpIHdpZHRoIDQwOiAiIERFRiAiCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgxMzEsMSkgd2lkdGggMjggUlRMOiAiXHh7NUQ2fVx4ezVEN31ceHs1RDh9IgogICAgICAgICAg
IFJlbmRlckJsb2NrIHtQfSBhdCAoNCw0Mikgc2l6ZSAxNjV4MTkKICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDMxeDE4CiAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDEpIHdpZHRoIDI3IFJUTDogIlx4ezVEMH1ceHs1RDF9XHh7NUQyfSIKLSAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDI3LDEpIHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMjYsMSkgd2lkdGggNTogIiAiCiAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQ
QU59IGF0ICgwLDApIHNpemUgNjN4MTgKLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgzMSwxKSBzaXplIDYzeDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMxLDEp
IHdpZHRoIDM4OiAiQUJDICIKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjksMSkgd2lk
dGggMjUgUlRMOiAiXHh7NUQzfVx4ezVENH1ceHs1RDV9IgotICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICg5NCwxKSBzaXplIDY3eDE4Ci0gICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg5NCwxKSB3aWR0aCAzOTogIiBERUYgIgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTMz
LDEpIHdpZHRoIDI4IFJUTDogIlx4ezVENn1ceHs1RDd9XHh7NUQ4fSIKKyAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMCwxKSBzaXplIDYzeDE4CisgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDMwLDEpIHdpZHRoIDM5OiAiQUJDICIKKyAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNjgsMSkgd2lkdGggMjUgUlRMOiAiXHh7NUQzfVx4ezVENH1ceHs1RDV9IgorICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg5MiwxKSBzaXplIDY3eDE4CisgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICg5MiwxKSB3aWR0aCA0MDogIiBERUYgIgorICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMTMxLDEpIHdpZHRoIDI4IFJUTDogIlx4ezVENn1ceHs1RDd9XHh7NUQ4
fSIKICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDQsNjEpIHNpemUgMTY1eDE5CiAgICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSAzMXgxOAogICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCAyNyBSVEw6ICJceHs1RDB9XHh7NUQxfVx4ezVE
Mn0iCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNywxKSB3aWR0aCA0OiAiICIKKyAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDI2LDEpIHdpZHRoIDU6ICIgIgogICAgICAgICAgICAgUmVu
ZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDk4eDE4Ci0gICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMzEsMSkgc2l6ZSA5OHgxOAotICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgzMSwxKSB3aWR0aCAzODogIkFCQyAiCi0gICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDY5LDEpIHdpZHRoIDI1IFJUTDogIlx4ezVEM31ceHs1RDR9XHh7NUQ1fSIKLSAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoOTQsMSkgd2lkdGggMzU6ICIgREVGIgotICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMjksMSkgc2l6ZSAzMngxOAotICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTI5LDEpIHdpZHRoIDQ6ICIgIgotICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMTMzLDEpIHdpZHRoIDI4IFJUTDogIlx4ezVENn1ceHs1RDd9XHh7NUQ4fSIKKyAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMCwxKSBzaXplIDk4eDE4CisgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDMwLDEpIHdpZHRoIDM5OiAiQUJDICIKKyAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoNjgsMSkgd2lkdGggMjUgUlRMOiAiXHh7NUQzfVx4ezVENH1ceHs1RDV9
IgorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5MiwxKSB3aWR0aCAzNjogIiBERUYiCisg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEyNywxKSBzaXplIDMyeDE4CisgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgxMjcsMSkgd2lkdGggNTogIiAiCisgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgxMzEsMSkgd2lkdGggMjggUlRMOiAiXHh7NUQ2fVx4ezVEN31ceHs1RDh9
IgogICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoNCw4MCkgc2l6ZSAxNjV4MTkKLSAgICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTI5LDEpIHNpemUgMzJ4MTgKLSAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDEyOSwxKSB3aWR0aCAzMiBSVEw6ICJceHs1RDZ9XHh7NUQ3fVx4
ezVEOH0gIgorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMjcsMSkgc2l6ZSAz
MngxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTI3LDEpIHdpZHRoIDMyIFJUTDogIlx4
ezVENn1ceHs1RDd9XHh7NUQ4fSAiCiAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0
ICgwLDApIHNpemUgOTh4MTgKLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgz
MSwxKSBzaXplIDk4eDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMxLDEpIHdpZHRo
IDM0OiAiQUJDIgotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2NSwxKSB3aWR0aCAzMyBS
VEw6ICIgXHh7NUQzfVx4ezVENH1ceHs1RDV9ICIKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoOTgsMSkgd2lkdGggMzE6ICJERUYiCisgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMzAsMSkgc2l6ZSA5OHgxOAorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMCwx
KSB3aWR0aCAzNTogIkFCQyIKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjQsMSkgd2lk
dGggMzMgUlRMOiAiIFx4ezVEM31ceHs1RDR9XHh7NUQ1fSAiCisgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDk2LDEpIHdpZHRoIDMyOiAiREVGIgogICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDEpIHNpemUgMzF4MTgKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MSkgd2lkdGggMzEgUlRMOiAiIFx4ezVEMH1ceHs1RDF9XHh7NUQyfSIKICAgICAgICAgICBSZW5k
ZXJCbG9jayB7UH0gYXQgKDQsOTkpIHNpemUgMTY1eDE5Ci0gICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDY1LDEpIHNpemUgMjl4MTgKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDY1LDEpIHdpZHRoIDI5IFJUTDogIlx4ezVEM31ceHs1RDR9XHh7NUQ1fSAiCisgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDY0LDEpIHNpemUgMjl4MTgKKyAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDY0LDEpIHdpZHRoIDI5IFJUTDogIlx4ezVEM31ceHs1RDR9XHh7NUQ1fSAi
CiAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNjV4MTgKICAg
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgNjV4MTgKICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCAzMSBSVEw6ICIgXHh7NUQwfVx4ezVE
MX1ceHs1RDJ9IgotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMSwxKSB3aWR0aCAzNDog
IkFCQyIKLSAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOTQsMSkgc2l6ZSA2N3gx
OAotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTQsMSkgd2lkdGggMzk6ICIgREVGICIKLSAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzMywxKSB3aWR0aCAyOCBSVEw6ICJceHs1RDZ9XHh7
NUQ3fVx4ezVEOH0iCisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMwLDEpIHdpZHRoIDM1
OiAiQUJDIgorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg5MiwxKSBzaXplIDY3
eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5MiwxKSB3aWR0aCA0MDogIiBERUYgIgor
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTMxLDEpIHdpZHRoIDI4IFJUTDogIlx4ezVENn1c
eHs1RDd9XHh7NUQ4fSIKICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDQsMTE4KSBzaXpl
IDE2NXgxOQotICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2NSwxKSBzaXplIDI5
eDE4Ci0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2NSwxKSB3aWR0aCAyOSBSVEw6ICJceHs1
RDN9XHh7NUQ0fVx4ezVENX0gIgorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2
NCwxKSBzaXplIDI5eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2NCwxKSB3aWR0aCAy
OSBSVEw6ICJceHs1RDN9XHh7NUQ0fVx4ezVENX0gIgogICAgICAgICAgICAgUmVuZGVySW5saW5l
IHtCRE99IGF0ICgwLDApIHNpemUgNjV4MTgKICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDEpIHNpemUgNjV4MTgKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwx
KSB3aWR0aCA2NSBSVEwgb3ZlcnJpZGU6ICJDQkEgXHh7NUQwfVx4ezVEMX1ceHs1RDJ9IgotICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg5NCwxKSBzaXplIDY3eDE4Ci0gICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICg5NCwxKSB3aWR0aCAzOTogIiBERUYgIgotICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMTMzLDEpIHdpZHRoIDI4IFJUTDogIlx4ezVENn1ceHs1RDd9XHh7NUQ4
fSIKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOTIsMSkgc2l6ZSA2N3gxOAor
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTIsMSkgd2lkdGggNDA6ICIgREVGICIKKyAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDEzMSwxKSB3aWR0aCAyOCBSVEw6ICJceHs1RDZ9XHh7NUQ3
fVx4ezVEOH0iCiAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICg0LDEzNykgc2l6ZSAxNjV4
MTkKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDMxeDE4CiAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDI3IFJUTDogIlx4ezVEMH1ceHs1
RDF9XHh7NUQyfSIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI3LDEpIHdpZHRoIDQ6ICIg
IgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjYsMSkgd2lkdGggNTogIiAiCiAgICAgICAg
ICAgICBSZW5kZXJJbmxpbmUge0JET30gYXQgKDAsMCkgc2l6ZSA2M3gxOAotICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMxLDEpIHNpemUgNjN4MTgKLSAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMzEsMSkgd2lkdGggNjMgTFRSIG92ZXJyaWRlOiAiQUJDIFx4ezVENX1c
eHs1RDR9XHh7NUQzfSIKLSAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOTQsMSkg
c2l6ZSA2N3gxOAotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTQsMSkgd2lkdGggMzk6ICIg
REVGICIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzMywxKSB3aWR0aCAyOCBSVEw6ICJc
eHs1RDZ9XHh7NUQ3fVx4ezVEOH0iCisgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMzAsMSkgc2l6ZSA2M3gxOAorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMCwxKSB3
aWR0aCA2MyBMVFIgb3ZlcnJpZGU6ICJBQkMgXHh7NUQ1fVx4ezVENH1ceHs1RDN9IgorICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg5MiwxKSBzaXplIDY3eDE4CisgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICg5MiwxKSB3aWR0aCA0MDogIiBERUYgIgorICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTMxLDEpIHdpZHRoIDI4IFJUTDogIlx4ezVENn1ceHs1RDd9XHh7NUQ4fSIK
ICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDQsMTU2KSBzaXplIDE2NXgxOQotICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMjksMSkgc2l6ZSAzMngxOAotICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMTI5LDEpIHdpZHRoIDMyIFJUTDogIlx4ezVENn1ceHs1RDd9XHh7
NUQ4fSAiCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEyNywxKSBzaXplIDMy
eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMjcsMSkgd2lkdGggMzIgUlRMOiAiXHh7
NUQ2fVx4ezVEN31ceHs1RDh9ICIKICAgICAgICAgICAgIFJlbmRlcklubGluZSB7QkRPfSBhdCAo
MCwwKSBzaXplIDYzeDE4Ci0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzEs
MSkgc2l6ZSA2M3gxOAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMSwxKSB3aWR0aCA2
MyBMVFIgb3ZlcnJpZGU6ICJBQkMgXHh7NUQ1fVx4ezVENH1ceHs1RDN9IgotICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgMTI5eDE4CisgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMzAsMSkgc2l6ZSA2M3gxOAorICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgzMCwxKSB3aWR0aCA2MyBMVFIgb3ZlcnJpZGU6ICJBQkMgXHh7NUQ1fVx4ezVE
NH1ceHs1RDN9IgorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUg
MTI4eDE4CiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDMxIFJUTDogIiBc
eHs1RDB9XHh7NUQxfVx4ezVEMn0iCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5NCwxKSB3
aWR0aCAzNTogIiBERUYiCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5MiwxKSB3aWR0aCAz
NjogIiBERUYiCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDUyLDgxKSBzaXplIDR4
MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDUyLDgxKSB3aWR0aCA0OiAiICIKICAgICAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDQ1OSw2OSkgc2l6ZSAyMDZ4NDYgW2JvcmRlcjogKDFweCBz
b2xpZCAjMDA4MDAwKV0KQEAgLTM3NywxMiArMzc3LDEyIEBAIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDUxMgogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNp
emUgNngxOAogICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCA2IFJU
TDogIlx4ezVENn0iCiAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICg0LDIzKSBzaXplIDE5
OHgxOQotICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgMTk0eDE4
CisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSAxOTJ4MTgKICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lkdGggMjcgUlRMOiAiXHh7NUQwfVx4ezVE
MX1ceHs1RDJ9IgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjcsMSkgd2lkdGggNDI6ICIg
QUJDICIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY5LDEpIHdpZHRoIDI1IFJUTDogIlx4
ezVEM31ceHs1RDR9XHh7NUQ1fSIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDk0LDEpIHdp
ZHRoIDcyOiAiIERFRiBHSEkgIgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTY2LDEpIHdp
ZHRoIDI4IFJUTDogIlx4ezVENn1ceHs1RDd9XHh7NUQ4fSIKKyAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDI2LDEpIHdpZHRoIDQzOiAiIEFCQyAiCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg2OCwxKSB3aWR0aCAyNSBSVEw6ICJceHs1RDN9XHh7NUQ0fVx4ezVENX0iCisgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICg5MiwxKSB3aWR0aCA3MzogIiBERUYgR0hJICIKKyAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDE2NCwxKSB3aWR0aCAyOCBSVEw6ICJceHs1RDZ9XHh7NUQ3fVx4ezVE
OH0iCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjY4LDgxKSBzaXplIDR4MTgKICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNjY4LDgxKSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVy
QlIge0JSfSBhdCAoNjcyLDgxKSBzaXplIDB4MTgKQEAgLTQ2MCwxNCArNDYwLDE0IEBAIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDUxMgogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDEpIHNpemUgNngxOAogICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwxKSB3aWR0aCA2IFJUTDogIlx4ezVENn0iCiAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0
ICg0LDIzKSBzaXplIDE5OHgxOQotICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg5
OCwxKSBzaXplIDMxeDE4Ci0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5OCwxKSB3aWR0aCAz
MSBSVEw6ICJceHs1RDB9XHh7NUQxfVx4ezVEMn0gIgorICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICg5NywxKSBzaXplIDMxeDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5
NywxKSB3aWR0aCAzMSBSVEw6ICJceHs1RDB9XHh7NUQxfVx4ezVEMn0gIgogICAgICAgICAgICAg
UmVuZGVySW5saW5lIHtCRE99IGF0ICgwLDApIHNpemUgOTh4MTgKICAgICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgOTh4MTgKICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwxKSB3aWR0aCA5OCBSVEwgb3ZlcnJpZGU6ICJBQkMgXHh7NUQzfVx4ezVENH1c
eHs1RDV9IERFRiIKLSAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTI5LDEpIHNp
emUgNjV4MTgKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyOSwxKSB3aWR0aCAzNzogIiBH
SEkgIgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTY2LDEpIHdpZHRoIDI4IFJUTDogIlx4
ezVENn1ceHs1RDd9XHh7NUQ4fSIKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MTI3LDEpIHNpemUgNjV4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyNywxKSB3aWR0
aCAzODogIiBHSEkgIgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTY0LDEpIHdpZHRoIDI4
IFJUTDogIlx4ezVENn1ceHs1RDd9XHh7NUQ4fSIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgyMTIsMjAwKSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjEyLDIwMCkg
d2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyMTksMTg4KSBzaXpl
IDIwNng0NiBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXQpAQCAtNTQ2LDEzICs1NDYsMTMg
QEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTEyCiAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9
IGF0ICg0LDIzKSBzaXplIDE5OHgxOQogICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDEpIHNpemUgNjl4MTgKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lkdGgg
MjcgUlRMOiAiXHh7NUQwfVx4ezVEMX1ceHs1RDJ9IgotICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMjcsMSkgd2lkdGggNDI6ICIgQUJDICIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI2
LDEpIHdpZHRoIDQzOiAiIEFCQyAiCiAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge0JET30gYXQg
KDAsMCkgc2l6ZSA2MHgxOAotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDY5
LDEpIHNpemUgNjB4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjksMSkgd2lkdGgg
NjAgUlRMIG92ZXJyaWRlOiAiXHh7NUQzfVx4ezVENH1ceHs1RDV9IERFRiIKLSAgICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTI5LDEpIHNpemUgNjV4MTgKLSAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDEyOSwxKSB3aWR0aCAzNzogIiBHSEkgIgotICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTY2LDEpIHdpZHRoIDI4IFJUTDogIlx4ezVENn1ceHs1RDd9XHh7NUQ4fSIKKyAg
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2OCwxKSBzaXplIDYweDE4CisgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY4LDEpIHdpZHRoIDYwIFJUTCBvdmVycmlkZTogIlx4
ezVEM31ceHs1RDR9XHh7NUQ1fSBERUYiCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDEyNywxKSBzaXplIDY1eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMjcsMSkg
d2lkdGggMzg6ICIgR0hJICIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE2NCwxKSB3aWR0
aCAyOCBSVEw6ICJceHs1RDZ9XHh7NUQ3fVx4ezVEOH0iCiAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgUmVuZGVyQmxvY2sge0hSfSBhdCAoMCwzNzEp
IHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0KICAgICAgIFJlbmRlckJs
b2NrIHtQfSBhdCAoMCwzODkpIHNpemUgNzg0eDE4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1MREItMi1mb3JtYXR0aW5nLWNoYXJh
Y3RlcnMtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktTERCLTItZm9ybWF0dGluZy1jaGFy
YWN0ZXJzLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiA3ODQ4NCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLUxEQi0yLWZvcm1hdHRp
bmctY2hhcmFjdGVycy1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSArMSBA
QAotMTQwMWMyMjI5ZWZjOWYxNDYxZDg5OWY5ZmRlOTg4ZDQKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCitlOGFmYjRjZWE5MDgxMDdlNzE3YzFiY2U0MTc5OTAxYQpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50
ZXJuYXRpb25hbC9iaWRpLUxEQi0yLWZvcm1hdHRpbmctY2hhcmFjdGVycy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5h
dGlvbmFsL2JpZGktTERCLTItZm9ybWF0dGluZy1jaGFyYWN0ZXJzLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNzg0ODQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVy
bmF0aW9uYWwvYmlkaS1MREItMi1mb3JtYXR0aW5nLWNoYXJhY3RlcnMtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xMTEsMTEgKzExMSwxMSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg1ODgKICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDQsNDIpIHNpemUgMjh4MTkKICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDI3eDE4CiAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDI3IFJUTDogIlx4ezIwMkF9XHh7NUQwfVx4
ezVEMX1ceHs1RDJ9IgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjcsMSkgd2lkdGggMDog
Ilx4ezIwMkN9IgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjYsMSkgd2lkdGggMTogIlx4
ezIwMkN9IgogICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoNCw2MSkgc2l6ZSAyOHgxOQog
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgMjd4MTgKICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lkdGggMjcgTFRSIG92ZXJyaWRlOiAiXHh7MjAy
RH1ceHs1RDJ9XHh7NUQxfVx4ezVEMH0iCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNywx
KSB3aWR0aCAwOiAiXHh7MjAyQ30iCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNiwxKSB3
aWR0aCAxOiAiXHh7MjAyQ30iCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTU0LDgx
KSBzaXplIDR4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTU0LDgxKSB3aWR0aCA0OiAiICIK
ICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDE2MSw2MCkgc2l6ZSAxMDV4NjUgW2JvcmRl
cjogKDFweCBzb2xpZCAjMDA4MDAwKV0KQEAgLTE1NiwxNSArMTU2LDE1IEBAIGxheWVyIGF0ICgw
LDApIHNpemUgODAweDU4OAogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDEpIHNpemUgOXgxOAogICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3
aWR0aCA5IFJUTDogIlx4ezVEM30iCiAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICg0LDIz
KSBzaXplIDk3eDE5Ci0gICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6
ZSA5NHgxOAorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgOTN4
MTgKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lkdGggMjcgUlRMOiAiXHh7NUQw
fVx4ezVEMX1ceHs1RDJ9IgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjcsMSkgd2lkdGgg
NDI6ICIgQUJDICIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY5LDEpIHdpZHRoIDI1IFJU
TDogIlx4ezVEM31ceHs1RDR9XHh7NUQ1fSIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI2
LDEpIHdpZHRoIDQzOiAiIEFCQyAiCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2OCwxKSB3
aWR0aCAyNSBSVEw6ICJceHs1RDN9XHh7NUQ0fVx4ezVENX0iCiAgICAgICAgICAgUmVuZGVyQmxv
Y2sge1B9IGF0ICg0LDQyKSBzaXplIDk3eDE5Ci0gICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMSkgc2l6ZSA5NHgxOAorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDEpIHNpemUgOTN4MTgKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lkdGgg
MzEgUlRMOiAiIFx4ezVEMH1ceHs1RDF9XHh7NUQyfSIKLSAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDMxLDEpIHdpZHRoIDM0OiAiQUJDIgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjUs
MSkgd2lkdGggMjkgUlRMOiAiXHh7NUQzfVx4ezVENH1ceHs1RDV9ICIKKyAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDMwLDEpIHdpZHRoIDM1OiAiQUJDIgorICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoNjQsMSkgd2lkdGggMjkgUlRMOiAiXHh7NUQzfVx4ezVENH1ceHs1RDV9ICIKICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyNjksODEpIHNpemUgNHgxOAogICAgICAgICAgIHRl
eHQgcnVuIGF0ICgyNjksODEpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMjc2LDMpIHNpemUgMTczeDE3OSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXQpA
QCAtMjI5LDY1ICsyMjksNjUgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTg4CiAgICAgICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSA2eDE4CiAgICAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDYgUlRMOiAiXHh7NUQ2fSIKICAg
ICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDQsMjMpIHNpemUgMTY1eDE5Ci0gICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSAxNjF4MTgKKyAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDE1OXgxOAogICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwxKSB3aWR0aCAyNyBSVEw6ICJceHs1RDB9XHh7NUQxfVx4ezVEMn0iCi0gICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgyNywxKSB3aWR0aCA0MjogIiBBQkMgIgotICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNjksMSkgd2lkdGggMjUgUlRMOiAiXHh7NUQzfVx4ezVENH1ceHs1
RDV9IgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTQsMSkgd2lkdGggMzk6ICIgREVGICIK
LSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzMywxKSB3aWR0aCAyOCBSVEw6ICJceHs1RDZ9
XHh7NUQ3fVx4ezVEOH0iCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNiwxKSB3aWR0aCA0
MzogIiBBQkMgIgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjgsMSkgd2lkdGggMjUgUlRM
OiAiXHh7NUQzfVx4ezVENH1ceHs1RDV9IgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTIs
MSkgd2lkdGggNDA6ICIgREVGICIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzMSwxKSB3
aWR0aCAyOCBSVEw6ICJceHs1RDZ9XHh7NUQ3fVx4ezVEOH0iCiAgICAgICAgICAgUmVuZGVyQmxv
Y2sge1B9IGF0ICg0LDQyKSBzaXplIDE2NXgxOQogICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDEpIHNpemUgMzF4MTgKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkg
d2lkdGggMjcgUlRMOiAiXHh7NUQwfVx4ezVEMX1ceHs1RDJ9IgotICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMjcsMSkgd2lkdGggNDogIiAiCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgy
NiwxKSB3aWR0aCA1OiAiICIKICAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAs
MCkgc2l6ZSA2M3gxOAotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMxLDEp
IHNpemUgNjN4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzEsMSkgd2lkdGggMzg6
ICJBQkMgIgotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2OSwxKSB3aWR0aCAyNSBSVEw6
ICJceHs1RDN9XHh7NUQ0fVx4ezVENX0iCi0gICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDk0LDEpIHNpemUgNjd4MTgKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDk0LDEpIHdp
ZHRoIDM5OiAiIERFRiAiCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMzMsMSkgd2lkdGgg
MjggUlRMOiAiXHh7NUQ2fVx4ezVEN31ceHs1RDh9IgorICAgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDMwLDEpIHNpemUgNjN4MTgKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMzAsMSkgd2lkdGggMzk6ICJBQkMgIgorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2
OCwxKSB3aWR0aCAyNSBSVEw6ICJceHs1RDN9XHh7NUQ0fVx4ezVENX0iCisgICAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDkyLDEpIHNpemUgNjd4MTgKKyAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDkyLDEpIHdpZHRoIDQwOiAiIERFRiAiCisgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgxMzEsMSkgd2lkdGggMjggUlRMOiAiXHh7NUQ2fVx4ezVEN31ceHs1RDh9IgogICAgICAg
ICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoNCw2MSkgc2l6ZSAxNjV4MTkKLSAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDE2MXgxOAorICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgMTU5eDE4CiAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDEpIHdpZHRoIDI3IFJUTDogIlx4ezVEMH1ceHs1RDF9XHh7NUQyfSIKLSAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDI3LDEpIHdpZHRoIDQ6ICIgIgotICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMzEsMSkgd2lkdGggMzg6ICJceHsyMDJBfUFCQyAiCi0gICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICg2OSwxKSB3aWR0aCAyNSBSVEw6ICJceHs1RDN9XHh7NUQ0fVx4ezVENX0iCi0g
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5NCwxKSB3aWR0aCAzNTogIiBERUYiCi0gICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgxMjksMSkgd2lkdGggNDogIlx4ezIwMkN9ICIKLSAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDEzMywxKSB3aWR0aCAyOCBSVEw6ICJceHs1RDZ9XHh7NUQ3fVx4
ezVEOH0iCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNiwxKSB3aWR0aCA1OiAiICIKKyAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMwLDEpIHdpZHRoIDM5OiAiXHh7MjAyQX1BQkMgIgor
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjgsMSkgd2lkdGggMjUgUlRMOiAiXHh7NUQzfVx4
ezVENH1ceHs1RDV9IgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTIsMSkgd2lkdGggMzY6
ICIgREVGIgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTI3LDEpIHdpZHRoIDU6ICJceHsy
MDJDfSAiCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMzEsMSkgd2lkdGggMjggUlRMOiAi
XHh7NUQ2fVx4ezVEN31ceHs1RDh9IgogICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoNCw4
MCkgc2l6ZSAxNjV4MTkKLSAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBz
aXplIDE2MXgxOAorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUg
MTU5eDE4CiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDMxIFJUTDogIlx4
ezIwMkN9IFx4ezVEMH1ceHs1RDF9XHh7NUQyfSIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDMxLDEpIHdpZHRoIDM0OiAiQUJDIgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjUsMSkg
d2lkdGggMzMgUlRMOiAiIFx4ezVEM31ceHs1RDR9XHh7NUQ1fSAiCi0gICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICg5OCwxKSB3aWR0aCAzMTogIlx4ezIwMkJ9REVGIgotICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTI5LDEpIHdpZHRoIDMyIFJUTDogIlx4ezVENn1ceHs1RDd9XHh7NUQ4fSAi
CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMCwxKSB3aWR0aCAzNTogIkFCQyIKKyAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDY0LDEpIHdpZHRoIDMzIFJUTDogIiBceHs1RDN9XHh7NUQ0
fVx4ezVENX0gIgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTYsMSkgd2lkdGggMzI6ICJc
eHsyMDJCfURFRiIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyNywxKSB3aWR0aCAzMiBS
VEw6ICJceHs1RDZ9XHh7NUQ3fVx4ezVEOH0gIgogICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoNCw5OSkgc2l6ZSAxNjV4MTkKLSAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwxKSBzaXplIDE2MXgxOAorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEp
IHNpemUgMTU5eDE4CiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDMxIFJU
TDogIiBceHs1RDB9XHh7NUQxfVx4ezVEMn0iCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgz
MSwxKSB3aWR0aCAzNDogIlx4ezIwMkJ9QUJDIgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NjUsMSkgd2lkdGggMjkgUlRMOiAiXHh7NUQzfVx4ezVENH1ceHs1RDV9ICIKLSAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDk0LDEpIHdpZHRoIDM5OiAiXHh7MjAyQ30gREVGICIKLSAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDEzMywxKSB3aWR0aCAyOCBSVEw6ICJceHs1RDZ9XHh7NUQ3fVx4
ezVEOH0iCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMCwxKSB3aWR0aCAzNTogIlx4ezIw
MkJ9QUJDIgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjQsMSkgd2lkdGggMjkgUlRMOiAi
XHh7NUQzfVx4ezVENH1ceHs1RDV9ICIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDkyLDEp
IHdpZHRoIDQwOiAiXHh7MjAyQ30gREVGICIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEz
MSwxKSB3aWR0aCAyOCBSVEw6ICJceHs1RDZ9XHh7NUQ3fVx4ezVEOH0iCiAgICAgICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICg0LDExOCkgc2l6ZSAxNjV4MTkKLSAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDE2MXgxOAorICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDEpIHNpemUgMTU5eDE4CiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDEpIHdpZHRoIDY1IFJUTCBvdmVycmlkZTogIlx4ezIwMkV9Q0JBIFx4ezVEMH1ceHs1RDF9XHh7
NUQyfSIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY1LDEpIHdpZHRoIDI5IFJUTDogIlx4
ezVEM31ceHs1RDR9XHh7NUQ1fSAiCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5NCwxKSB3
aWR0aCAzOTogIlx4ezIwMkN9IERFRiAiCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMzMs
MSkgd2lkdGggMjggUlRMOiAiXHh7NUQ2fVx4ezVEN31ceHs1RDh9IgorICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoNjQsMSkgd2lkdGggMjkgUlRMOiAiXHh7NUQzfVx4ezVENH1ceHs1RDV9ICIK
KyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDkyLDEpIHdpZHRoIDQwOiAiXHh7MjAyQ30gREVG
ICIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzMSwxKSB3aWR0aCAyOCBSVEw6ICJceHs1
RDZ9XHh7NUQ3fVx4ezVEOH0iCiAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICg0LDEzNykg
c2l6ZSAxNjV4MTkKLSAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXpl
IDE2MXgxOAorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgMTU5
eDE4CiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDI3IFJUTDogIlx4ezVE
MH1ceHs1RDF9XHh7NUQyfSIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI3LDEpIHdpZHRo
IDQ6ICIgIgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzEsMSkgd2lkdGggNjMgTFRSIG92
ZXJyaWRlOiAiXHh7MjAyRH1BQkMgXHh7NUQ1fVx4ezVENH1ceHs1RDN9IgotICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoOTQsMSkgd2lkdGggMzk6ICJceHsyMDJDfSBERUYgIgotICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMTMzLDEpIHdpZHRoIDI4IFJUTDogIlx4ezVENn1ceHs1RDd9XHh7
NUQ4fSIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI2LDEpIHdpZHRoIDU6ICIgIgorICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzAsMSkgd2lkdGggNjMgTFRSIG92ZXJyaWRlOiAiXHh7
MjAyRH1BQkMgXHh7NUQ1fVx4ezVENH1ceHs1RDN9IgorICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoOTIsMSkgd2lkdGggNDA6ICJceHsyMDJDfSBERUYgIgorICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMTMxLDEpIHdpZHRoIDI4IFJUTDogIlx4ezVENn1ceHs1RDd9XHh7NUQ4fSIKICAgICAg
ICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDQsMTU2KSBzaXplIDE2NXgxOQotICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgMTYxeDE4CisgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSAxNTl4MTgKICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMSkgd2lkdGggMzEgUlRMOiAiIFx4ezVEMH1ceHs1RDF9XHh7NUQyfSIKLSAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDMxLDEpIHdpZHRoIDYzIExUUiBvdmVycmlkZTogIlx4ezIw
MkR9QUJDIFx4ezVENX1ceHs1RDR9XHh7NUQzfSIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDk0LDEpIHdpZHRoIDM1OiAiXHh7MjAyQ30gREVGIgotICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMTI5LDEpIHdpZHRoIDMyIFJUTDogIlx4ezVENn1ceHs1RDd9XHh7NUQ4fSAiCisgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgzMCwxKSB3aWR0aCA2MyBMVFIgb3ZlcnJpZGU6ICJceHsyMDJE
fUFCQyBceHs1RDV9XHh7NUQ0fVx4ezVEM30iCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5
MiwxKSB3aWR0aCAzNjogIlx4ezIwMkN9IERFRiIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDEyNywxKSB3aWR0aCAzMiBSVEw6ICJceHs1RDZ9XHh7NUQ3fVx4ezVEOH0gIgogICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDQ1Miw4MSkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDQ1Miw4MSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICg0NTksNjkpIHNpemUgMjA2eDQ2IFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldCkBAIC0z
NjQsMTIgKzM2NCwxMiBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1ODgKICAgICAgICAgICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDZ4MTgKICAgICAgICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lkdGggNiBSVEw6ICJceHs1RDZ9IgogICAgICAg
ICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoNCwyMykgc2l6ZSAxOTh4MTkKLSAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDE5NHgxOAorICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgMTkyeDE4CiAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDEpIHdpZHRoIDI3IFJUTDogIlx4ezVEMH1ceHs1RDF9XHh7NUQyfSIKLSAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDI3LDEpIHdpZHRoIDQyOiAiIEFCQyAiCi0gICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICg2OSwxKSB3aWR0aCAyNSBSVEw6ICJceHs1RDN9XHh7NUQ0fVx4ezVENX0i
Ci0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5NCwxKSB3aWR0aCA3MjogIiBERUYgR0hJICIK
LSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE2NiwxKSB3aWR0aCAyOCBSVEw6ICJceHs1RDZ9
XHh7NUQ3fVx4ezVEOH0iCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNiwxKSB3aWR0aCA0
MzogIiBBQkMgIgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjgsMSkgd2lkdGggMjUgUlRM
OiAiXHh7NUQzfVx4ezVENH1ceHs1RDV9IgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTIs
MSkgd2lkdGggNzM6ICIgREVGIEdISSAiCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNjQs
MSkgd2lkdGggMjggUlRMOiAiXHh7NUQ2fVx4ezVEN31ceHs1RDh9IgogICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDY2OCw4MSkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQg
KDY2OCw4MSkgd2lkdGggNDogIiAiCiAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDY3Miw4MSkg
c2l6ZSAweDE4CkBAIC00NDcsMTEgKzQ0NywxMSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1
ODgKICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDZ4
MTgKICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lkdGggNiBSVEw6ICJc
eHs1RDZ9IgogICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoNCwyMykgc2l6ZSAxOTh4MTkK
LSAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDE5NHgxOAorICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgMTkyeDE4CiAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDk4IFJUTCBvdmVycmlkZTogIlx4ezIwMkV9
QUJDIFx4ezVEM31ceHs1RDR9XHh7NUQ1fSBERUYiCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg5OCwxKSB3aWR0aCAzMSBSVEw6ICJceHs1RDB9XHh7NUQxfVx4ezVEMn0gIgotICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMTI5LDEpIHdpZHRoIDM3OiAiXHh7MjAyQ30gR0hJICIKLSAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDE2NiwxKSB3aWR0aCAyOCBSVEw6ICJceHs1RDZ9XHh7NUQ3
fVx4ezVEOH0iCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5NywxKSB3aWR0aCAzMSBSVEw6
ICJceHs1RDB9XHh7NUQxfVx4ezVEMn0gIgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTI3
LDEpIHdpZHRoIDM4OiAiXHh7MjAyQ30gR0hJICIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDE2NCwxKSB3aWR0aCAyOCBSVEw6ICJceHs1RDZ9XHh7NUQ3fVx4ezVEOH0iCiAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMjEyLDIwMCkgc2l6ZSA0eDE4CiAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDIxMiwyMDApIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMjE5LDE4OCkgc2l6ZSAyMDZ4NDYgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0KQEAg
LTUyOCwxMiArNTI4LDEyIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDU4OAogICAgICAgICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgNngxOAogICAgICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCA2IFJUTDogIlx4ezVENn0iCiAgICAg
ICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICg0LDIzKSBzaXplIDE5OHgxOQotICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgMTk0eDE4CisgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSAxOTJ4MTgKICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMSkgd2lkdGggMjcgUlRMOiAiXHh7NUQwfVx4ezVEMX1ceHs1RDJ9IgotICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMjcsMSkgd2lkdGggNDI6ICIgQUJDICIKLSAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDY5LDEpIHdpZHRoIDYwIFJUTCBvdmVycmlkZTogIlx4ezIwMkV9XHh7
NUQzfVx4ezVENH1ceHs1RDV9IERFRiIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyOSwx
KSB3aWR0aCAzNzogIlx4ezIwMkN9IEdISSAiCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgx
NjYsMSkgd2lkdGggMjggUlRMOiAiXHh7NUQ2fVx4ezVEN31ceHs1RDh9IgorICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMjYsMSkgd2lkdGggNDM6ICIgQUJDICIKKyAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDY4LDEpIHdpZHRoIDYwIFJUTCBvdmVycmlkZTogIlx4ezIwMkV9XHh7NUQzfVx4
ezVENH1ceHs1RDV9IERFRiIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyNywxKSB3aWR0
aCAzODogIlx4ezIwMkN9IEdISSAiCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNjQsMSkg
d2lkdGggMjggUlRMOiAiXHh7NUQ2fVx4ezVEN31ceHs1RDh9IgogICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCw0
MTMpIHNpemUgNzg0eDE4CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDM2OXgxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5h
dGlvbmFsL2JpZGktY29udHJvbC1jaGFycy10cmVhdGVkLWFzLVpXUy1leHBlY3RlZC5jaGVja3N1
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVy
bmF0aW9uYWwvYmlkaS1jb250cm9sLWNoYXJzLXRyZWF0ZWQtYXMtWldTLWV4cGVjdGVkLmNoZWNr
c3VtCShyZXZpc2lvbiA3ODQ4NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Rl
eHQvaW50ZXJuYXRpb25hbC9iaWRpLWNvbnRyb2wtY2hhcnMtdHJlYXRlZC1hcy1aV1MtZXhwZWN0
ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLWY1Y2YwMzA1OWUzOTQ4OWJl
OGUzZTIyZDFmMjA0YWIxClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorY2Q0MDBkYWE1ZWFj
ODUyZDI4ZjAyNWExOGIyNzVhMjgKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1jb250
cm9sLWNoYXJzLXRyZWF0ZWQtYXMtWldTLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1jb250cm9s
LWNoYXJzLXRyZWF0ZWQtYXMtWldTLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzg0ODQpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1jb250
cm9sLWNoYXJzLXRyZWF0ZWQtYXMtWldTLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
OCw5ICs4LDkgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggNzUxOiAiVGhpcyB0ZXN0cyB0aGF0IFVuaWNvZGUgYmlkaSBjb250
cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCByZW5kZXJlZCBhbmQgaGF2ZSB6ZXJvIHdpZHRoLiBUaGUg
bmV4dCB0d28gbGluZXMgc2hvdWxkIGxvb2sgdGhlIgogICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDE4KSB3aWR0aCAzNjogInNhbWUuIgogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMzYp
IHNpemUgNzg0eDM2Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE0
eDE3CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE5eDE3CiAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzogImEiCi0gICAgICAgICAgdGV4dCBydW4g
YXQgKDcsMCkgd2lkdGggNyBMVFIgb3ZlcnJpZGU6ICJceHsyMDJEfWVceHszMDB9IgotICAgICAg
ICBSZW5kZXJCUiB7QlJ9IGF0ICgxNCwxNCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDE4KSBzaXplIDE0eDE3Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgp
IHdpZHRoIDE0OiAiYWVceHszMDB9IgorICAgICAgICAgIHRleHQgcnVuIGF0ICg3LDApIHdpZHRo
IDEyIExUUiBvdmVycmlkZTogIlx4ezIwMkR9ZVx4ezMwMH0iCisgICAgICAgIFJlbmRlckJSIHtC
Un0gYXQgKDE5LDE0KSBzaXplIDB4MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MTgpIHNpemUgMTl4MTcKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggMTk6ICJh
ZVx4ezMwMH0iCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVy
bmF0aW9uYWwvYmlkaS1ldXJvcGVhbi10ZXJtaW5hdG9ycy1leHBlY3RlZC5jaGVja3N1bQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9u
YWwvYmlkaS1ldXJvcGVhbi10ZXJtaW5hdG9ycy1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24g
Nzg0ODQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9u
YWwvYmlkaS1ldXJvcGVhbi10ZXJtaW5hdG9ycy1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBj
b3B5KQpAQCAtMSArMSBAQAotY2NjNTkyZWYxMmUxZTVmNGY2MTQ5Mzg2MGRjMzZlNDcKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis2ZTI5YzQ5NjljYjJlZDU4Y2Q2YmJmNWNjZjkwODdkYQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLWV1cm9wZWFuLXRlcm1pbmF0b3JzLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0
L2ludGVybmF0aW9uYWwvYmlkaS1ldXJvcGVhbi10ZXJtaW5hdG9ycy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDc4NDg0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRl
cm5hdGlvbmFsL2JpZGktZXVyb3BlYW4tdGVybWluYXRvcnMtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xMywxOCArMTMsMTggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTU3LDE4KSBzaXplIDR4MTgKICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMTU3LDE4KSB3aWR0aCA0OiAiLiIKICAgICAgIFJlbmRlckJsb2NrIHtQ
fSBhdCAoMCw1Mikgc2l6ZSA3ODR4MzcKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDEpIHNpemUgNzY2eDM2CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXpl
IDc2NXgzNgogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDk2OiAiVGhlIGNoYXJh
Y3RlcnMgIgogICAgICAgICAgIHRleHQgcnVuIGF0ICg5NiwxKSB3aWR0aCAxMSBSVEw6ICJceHs1
RDB9IgotICAgICAgICAgIHRleHQgcnVuIGF0ICgxMDcsMSkgd2lkdGggMzE6ICIgYW5kICIKLSAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMTM4LDEpIHdpZHRoIDEwIFJUTDogIlx4ezVEMX0iCi0gICAg
ICAgICAgdGV4dCBydW4gYXQgKDE0OCwxKSB3aWR0aCA2MTg6ICIgYXJlIG9mIHR5cGUgUjsgXiBh
bmQgQCBhcmUgb2YgdHlwZSBPTjsgJCBhbmQgJSBhcmUgb2YgdHlwZSBFVDsgYSBpcyBvZiB0eXBl
IEw7IDEgaXMgb2YgdHlwZSBFTi4gSW4iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDEwNiwxKSB3
aWR0aCAzMjogIiBhbmQgIgorICAgICAgICAgIHRleHQgcnVuIGF0ICgxMzcsMSkgd2lkdGggMTAg
UlRMOiAiXHh7NUQxfSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTQ2LDEpIHdpZHRoIDYxOTog
IiBhcmUgb2YgdHlwZSBSOyBeIGFuZCBAIGFyZSBvZiB0eXBlIE9OOyAkIGFuZCAlIGFyZSBvZiB0
eXBlIEVUOyBhIGlzIG9mIHR5cGUgTDsgMSBpcyBvZiB0eXBlIEVOLiBJbiIKICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwxOSkgd2lkdGggNDY3OiAiZWFjaCBvZiB0aGUgZm9sbG93aW5nIHBhaXJz
LCB0aGUgdHdvIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWwgdG8gZWFjaCBvdGhlci4iCiAgICAg
ICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDEwNSkgc2l6ZSA3ODR4MiBbYm9yZGVyOiAoMXB4IGlu
c2V0ICMwMDAwMDApXQogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDEyMykgc2l6ZSA3ODR4
MTkKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgNzh4MTgKICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCAxMSBSVEw6ICJceHs1RDB9IgotICAgICAgICAg
IHRleHQgcnVuIGF0ICgxMSwxKSB3aWR0aCA2NzogIiBeIEAgJCUgYSIKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTAsMSkgd2lkdGggNjg6ICIgXiBAICQlIGEiCiAgICAgICBSZW5kZXJCbG9jayAo
YW5vbnltb3VzKSBhdCAoMCwxNTgpIHNpemUgNzg0eDE5CiAgICAgICAgIFJlbmRlcklubGluZSB7
QkRPfSBhdCAoMCwwKSBzaXplIDc4eDE4CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDEpIHNpemUgNzh4MTgKQEAgLTMyLDEyICszMiwxMiBAQCBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAg
ICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDE4NSkgc2l6ZSA3ODR4MiBbYm9yZGVyOiAoMXB4
IGluc2V0ICMwMDAwMDApXQogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDIwMykgc2l6ZSA3
ODR4MTkKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgODF4MTgKLSAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCA4MSBSVEw6ICJceHs1RDB9IF4gQCAkJSBc
eHs1RDF9IgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSA4MHgxOAor
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDgwIFJUTDogIlx4ezVEMH0gXiBAICQl
IFx4ezVEMX0iCiAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwyMzgpIHNpemUg
Nzg0eDE5Ci0gICAgICAgIFJlbmRlcklubGluZSB7QkRPfSBhdCAoMCwwKSBzaXplIDgxeDE4Ci0g
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgODF4MTgKLSAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDgxIExUUiBvdmVycmlkZTogIlx4ezVEMX0gJSQg
QCBeIFx4ezVEMH0iCisgICAgICAgIFJlbmRlcklubGluZSB7QkRPfSBhdCAoMCwwKSBzaXplIDgw
eDE4CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgODB4MTgKKyAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDgwIExUUiBvdmVycmlkZTogIlx4ezVE
MX0gJSQgQCBeIFx4ezVEMH0iCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDB4MAogICAgICAgUmVuZGVyQmxvY2sge0hSfSBhdCAoMCwyNjUpIHNpemUgNzg0eDIgW2Jv
cmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0KICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwy
ODMpIHNpemUgNzg0eDE5CkBAIC02MSwxMiArNjEsMTIgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAg
ICAgUmVuZGVyQmxvY2sge0hSfSBhdCAoMCw0MjUpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBp
bnNldCAjMDAwMDAwKV0KICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCw0NDMpIHNpemUgNzg0
eDE5Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDgxeDE4Ci0gICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lkdGggODEgUlRMOiAiXHh7NUQwfSBeIEAgJCUgXHh7
NUQxfSIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgODB4MTgKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCA4MCBSVEw6ICJceHs1RDB9IF4gQCAkJSBc
eHs1RDF9IgogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsNDc4KSBzaXplIDc4
NHgxOQotICAgICAgICBSZW5kZXJJbmxpbmUge0JET30gYXQgKDAsMCkgc2l6ZSA4MXgxOAotICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDgxeDE4Ci0gICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCA4MSBMVFIgb3ZlcnJpZGU6ICJceHs1RDF9ICUkIEAg
XiBceHs1RDB9IgorICAgICAgICBSZW5kZXJJbmxpbmUge0JET30gYXQgKDAsMCkgc2l6ZSA4MHgx
OAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDgweDE4CisgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCA4MCBMVFIgb3ZlcnJpZGU6ICJceHs1RDF9
ICUkIEAgXiBceHs1RDB9IgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAweDAKICAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsNTA1KSBzaXplIDc4NHgyIFtib3Jk
ZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsNTIz
KSBzaXplIDc4NHgxOQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9p
bnRlcm5hdGlvbmFsL2JpZGktZXhwbGljaXQtZW1iZWRkaW5nLWV4cGVjdGVkLmNoZWNrc3VtCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRp
b25hbC9iaWRpLWV4cGxpY2l0LWVtYmVkZGluZy1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24g
Nzg0ODQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9u
YWwvYmlkaS1leHBsaWNpdC1lbWJlZGRpbmctZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29w
eSkKQEAgLTEgKzEgQEAKLTY5NmRjMTdkOTRiYTNiNjk2YjdiNDBlMmZiZmEyYThlClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQorNDdlMmVmMmI2Yjg4ZWFlMTUwMzgwNzYxMzcyNGViMWEKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1leHBsaWNpdC1lbWJlZGRpbmctZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50
ZXJuYXRpb25hbC9iaWRpLWV4cGxpY2l0LWVtYmVkZGluZy1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDc4NDg0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlv
bmFsL2JpZGktZXhwbGljaXQtZW1iZWRkaW5nLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtNCwxMTcgKzQsMTE3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDQ5NAogICBSZW5kZXJC
bG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NDk0CiAgICAgUmVuZGVyQm9keSB7Qk9EWX0g
YXQgKDgsMTYpIHNpemUgNzg0eDQ2MgogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNp
emUgNzg0eDU0Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDc0OHg1
NAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDczMzogIkluIGVhY2ggbGluZSwg
cmVhZGluZyBmcm9tIGxlZnQgdG8gcmlnaHQsIHRoZSBicmFja2V0IHNob3VsZCBhcHBlYXIgYmVm
b3JlIHRoZSBwYXJlbnRoZXNpcy4gVGhlIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3
aWR0aCA3NDg6ICJicmFja2V0IHNob3VsZCBiZSBhIGxlZnQgYnJhY2tldCBhbmQgdGhlIHBhcmVu
dGhlc2lzIHNob3VsZCBiZSBhIHJpZ2h0IHBhcmVudGhlc2lzLiBJbiBlYWNoIGxpbmUsIgotICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDM2KSB3aWR0aCA2MDA6ICJSb21hbiBjaGFyYWN0ZXJzIGFu
ZCBkaWdpdHMgc2hvdWxkIGJlIGluIGluY3JlYXNpbmcgb3JkZXIgZnJvbSBsZWZ0IHRvIHJpZ2h0
LiIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzQzeDU0CisgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzI3OiAiSW4gZWFjaCBsaW5lLCByZWFkaW5n
IGZyb20gbGVmdCB0byByaWdodCwgdGhlIGJyYWNrZXQgc2hvdWxkIGFwcGVhciBiZWZvcmUgdGhl
IHBhcmVudGhlc2lzLiBUaGUiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDc0
MzogImJyYWNrZXQgc2hvdWxkIGJlIGEgbGVmdCBicmFja2V0IGFuZCB0aGUgcGFyZW50aGVzaXMg
c2hvdWxkIGJlIGEgcmlnaHQgcGFyZW50aGVzaXMuIEluIGVhY2ggbGluZSwiCisgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMzYpIHdpZHRoIDU5NjogIlJvbWFuIGNoYXJhY3RlcnMgYW5kIGRpZ2l0
cyBzaG91bGQgYmUgaW4gaW5jcmVhc2luZyBvcmRlciBmcm9tIGxlZnQgdG8gcmlnaHQuIgogICAg
ICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDcwKSBzaXplIDc4NHgxOAogICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2MngxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDI3IFJUTDogIlx4ezVEMH1ceHs1RDF9XHh7NUQyfSIKLSAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMjcsMCkgd2lkdGggMzU6ICIgZGVmICIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MjYsMCkgd2lkdGggMzY6ICIgZGVmICIKICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAo
MCwwKSBzaXplIDM4eDE4Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2MiwwKSBz
aXplIDM4eDE4Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjIsMCkgd2lkdGggMzggUlRMOiAi
KFx4ezVENn1ceHs1RDd9XHh7NUQ4fV0iCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MTAwLDApIHNpemUgMjR4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTAwLDApIHdpZHRoIDI0
OiAiIGprbCIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDYxLDApIHNpemUgMzh4
MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2MSwwKSB3aWR0aCAzOCBSVEw6ICIoXHh7NUQ2
fVx4ezVEN31ceHs1RDh9XSIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg5OCwwKSBz
aXplIDI1eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDk4LDApIHdpZHRoIDI1OiAiIGprbCIK
ICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxMDQpIHNpemUgNzg0eDE4CiAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDYyeDE4CiAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggMjcgUlRMOiAiXHh7NUQwfVx4ezVEMX1ceHs1RDJ9IgotICAgICAgICAg
IHRleHQgcnVuIGF0ICgyNywwKSB3aWR0aCAzNTogIiBkZWYgIgotICAgICAgICBSZW5kZXJJbmxp
bmUge1NQQU59IGF0ICgwLDApIHNpemUgMzd4MTgKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDYyLDApIHNpemUgMzd4MTgKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2MiwwKSB3
aWR0aCA2IFJUTDogIl0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjgsMCkgd2lkdGggMjU6
ICJnaGkiCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTMsMCkgd2lkdGggNiBSVEw6ICIoIgot
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDk5LDApIHNpemUgMjR4MTgKLSAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoOTksMCkgd2lkdGggMjQ6ICIgamtsIgorICAgICAgICAgIHRleHQgcnVu
IGF0ICgyNiwwKSB3aWR0aCAzNjogIiBkZWYgIgorICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59
IGF0ICgwLDApIHNpemUgMzZ4MTgKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDYx
LDApIHNpemUgMzZ4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2MSwwKSB3aWR0aCA2IFJU
TDogIl0iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjYsMCkgd2lkdGggMjU6ICJnaGkiCisg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTAsMCkgd2lkdGggNyBSVEw6ICIoIgorICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDk2LDApIHNpemUgMjR4MTgKKyAgICAgICAgICB0ZXh0IHJ1
biBhdCAoOTYsMCkgd2lkdGggMjQ6ICIgamtsIgogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgw
LDEzOCkgc2l6ZSA3ODR4MTgKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMzN4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzMzogImFiYyAiCi0g
ICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA1OXgxOAotICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzMsMCkgc2l6ZSA1OXgxOAotICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDMzLDApIHdpZHRoIDYgUlRMOiAiXSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgzOSwwKSB3aWR0aCAyMTogIjIzIgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDYwLDApIHdp
ZHRoIDUgUlRMOiAiICIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2NSwwKSB3aWR0aCAyMTog
IjQ1IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDg2LDApIHdpZHRoIDYgUlRMOiAiKCIKLSAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg5MiwwKSBzaXplIDMxeDE4Ci0gICAgICAgICAg
dGV4dCBydW4gYXQgKDkyLDApIHdpZHRoIDMxOiAiIGZnaCIKKyAgICAgICAgUmVuZGVySW5saW5l
IHtTUEFOfSBhdCAoMCwwKSBzaXplIDU3eDE4CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgzMiwwKSBzaXplIDU3eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzIsMCkgd2lk
dGggNiBSVEw6ICJdIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM3LDApIHdpZHRoIDIxOiAi
MjMiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTcsMCkgd2lkdGggNiBSVEw6ICIgIgorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDYyLDApIHdpZHRoIDIxOiAiNDUiCisgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoODIsMCkgd2lkdGggNyBSVEw6ICIoIgorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDg4LDApIHNpemUgMzF4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoODgsMCkg
d2lkdGggMzE6ICIgZmdoIgogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDE3Mikgc2l6ZSA3
ODR4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTIzeDE4Cisg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDExOXgxOAogICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMzOiAiYWJjICIKLSAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMzMsMCkgd2lkdGggNiBSVEw6ICJdIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgzOSwwKSB3
aWR0aCAyMTogIjIzIgotICAgICAgICAgIHRleHQgcnVuIGF0ICg2MCwwKSB3aWR0aCA1IFJUTDog
IiAiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDY1LDApIHdpZHRoIDIxOiAiNDUiCi0gICAgICAg
ICAgdGV4dCBydW4gYXQgKDg2LDApIHdpZHRoIDYgUlRMOiAiXHh7MjAyQn0oIgotICAgICAgICAg
IHRleHQgcnVuIGF0ICg5MiwwKSB3aWR0aCAzMTogIlx4ezIwMkN9IGZnaCIKKyAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMzIsMCkgd2lkdGggNiBSVEw6ICJdIgorICAgICAgICAgIHRleHQgcnVuIGF0
ICgzNywwKSB3aWR0aCAyMTogIjIzIgorICAgICAgICAgIHRleHQgcnVuIGF0ICg1NywwKSB3aWR0
aCA2IFJUTDogIiAiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDYyLDApIHdpZHRoIDIxOiAiNDUi
CisgICAgICAgICAgdGV4dCBydW4gYXQgKDgyLDApIHdpZHRoIDcgUlRMOiAiXHh7MjAyQn0oIgor
ICAgICAgICAgIHRleHQgcnVuIGF0ICg4OCwwKSB3aWR0aCAzMTogIlx4ezIwMkN9IGZnaCIKICAg
ICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwyMDYpIHNpemUgNzg0eDE4Ci0gICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDExMHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDd4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3
aWR0aCAzMzogImFiYyAiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDMzLDApIHdpZHRoIDYgUlRM
OiAiXSIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzksMCkgd2lkdGggNDA6ICJkZSBmZyIKLSAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNzksMCkgd2lkdGggNiBSVEw6ICJceHsyMDJCfSgiCi0gICAg
ICAgICAgdGV4dCBydW4gYXQgKDg1LDApIHdpZHRoIDI1OiAiXHh7MjAyQ30gaGlqIgorICAgICAg
ICAgIHRleHQgcnVuIGF0ICgzMiwwKSB3aWR0aCA2IFJUTDogIl0iCisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDM3LDApIHdpZHRoIDQxOiAiZGUgZmciCisgICAgICAgICAgdGV4dCBydW4gYXQgKDc3
LDApIHdpZHRoIDYgUlRMOiAiXHh7MjAyQn0oIgorICAgICAgICAgIHRleHQgcnVuIGF0ICg4Miww
KSB3aWR0aCAyNTogIlx4ezIwMkN9IGhpaiIKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwy
NDApIHNpemUgNzg0eDE4CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDExeDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTE6ICIxIgotICAgICAg
ICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNTV4MTgKLSAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDExLDApIHNpemUgNTV4MTgKLSAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgxMSwwKSB3aWR0aCA2IFJUTDogIl0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTcs
MCkgd2lkdGggNDM6ICJhYiBjZCIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2MCwwKSB3aWR0
aCA2IFJUTDogIigiCisgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA1
M3gxOAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTAsMCkgc2l6ZSA1M3gxOAor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwLDApIHdpZHRoIDYgUlRMOiAiXSIKKyAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxNSwwKSB3aWR0aCA0MzogImFiIGNkIgorICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDU3LDApIHdpZHRoIDYgUlRMOiAiKCIKICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMjc0KSBz
aXplIDc4NHgxOAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMXgx
OAogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDExOiAiMSIKLSAgICAgICAgUmVu
ZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDUxeDE4Ci0gICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgxMSwwKSBzaXplIDUxeDE4Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MTEsMCkgd2lkdGggMjYgUlRMOiAiIFx4ezVEMn1ceHs1RDN9XSIKLSAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgzNywwKSB3aWR0aCAxOTogImFiIgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDU2
LDApIHdpZHRoIDYgUlRMOiAiKCIKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCww
KSBzaXplIDUweDE4CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMCwwKSBzaXpl
IDUweDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTAsMCkgd2lkdGggMjYgUlRMOiAiIFx4
ezVEMn1ceHs1RDN9XSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNSwwKSB3aWR0aCAyMDog
ImFiIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDU0LDApIHdpZHRoIDYgUlRMOiAiKCIKICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICBSZW5kZXJC
bG9jayB7UH0gYXQgKDAsMzA4KSBzaXplIDc4NHgxOAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAxMXgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDExOiAiMSIKLSAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDIzeDE4
Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMSwwKSBzaXplIDIzeDE4Ci0gICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMTEsMCkgd2lkdGggNiBSVEw6ICJdIgotICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDE3LDApIHdpZHRoIDExOiAiMiIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgyOCwwKSB3aWR0aCA2IFJUTDogIlx4ezIwMkJ9KCIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgzNCwwKSB3aWR0aCAwOiAiXHh7MjAyQ30iCisgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0g
YXQgKDAsMCkgc2l6ZSAyMXgxOAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTAs
MCkgc2l6ZSAyMXgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwLDApIHdpZHRoIDYgUlRM
OiAiXSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNSwwKSB3aWR0aCAxMTogIjIiCisgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMjUsMCkgd2lkdGggNiBSVEw6ICJceHsyMDJCfSgiCisgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMzAsMCkgd2lkdGggMTogIlx4ezIwMkN9IgogICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgIFJlbmRlckJsb2NrIHtQ
fSBhdCAoMCwzNDIpIHNpemUgNzg0eDE4CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDExeDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTE6ICIx
IgotICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMjF4MTgKLSAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDExLDApIHNpemUgMjF4MTgKLSAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgxMSwwKSB3aWR0aCA2IFJUTDogIl0iCi0gICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMTcsMCkgd2lkdGggOTogImEiCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjYsMCkg
d2lkdGggNiBSVEw6ICJceHsyMDJCfSgiCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzIsMCkg
d2lkdGggMDogIlx4ezIwMkN9IgorICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDAp
IHNpemUgMjB4MTgKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEwLDApIHNpemUg
MjB4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMCwwKSB3aWR0aCA2IFJUTDogIl0iCisg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTUsMCkgd2lkdGggMTA6ICJhIgorICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDI0LDApIHdpZHRoIDYgUlRMOiAiXHh7MjAyQn0oIgorICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDI5LDApIHdpZHRoIDE6ICJceHsyMDJDfSIKICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAs
Mzc2KSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSA2MngxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2MHgxOAog
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDExOiAiMSIKLSAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTEsMCkgd2lkdGggMjYgUlRMOiAiIFx4ezVEMn1ceHs1RDN9XSIKLSAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMzcsMCkgd2lkdGggMTk6ICJhYiIKLSAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNTYsMCkgd2lkdGggNiBSVEw6ICJceHsyMDJCfSgiCi0gICAgICAgICAgdGV4dCBydW4gYXQg
KDYyLDApIHdpZHRoIDA6ICJceHsyMDJDfSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTAsMCkg
d2lkdGggMjYgUlRMOiAiIFx4ezVEMn1ceHs1RDN9XSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MzUsMCkgd2lkdGggMjA6ICJhYiIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTQsMCkgd2lkdGgg
NiBSVEw6ICJceHsyMDJCfSgiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDU5LDApIHdpZHRoIDE6
ICJceHsyMDJDfSIKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCw0MTApIHNpemUgNzg0eDE4
Ci0gICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMDJ4MTgKLSAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDJ4MTgKKyAgICAgICAgUmVu
ZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDk5eDE4CisgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgOTl4MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDYgUlRMOiAiXSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2LDApIHdpZHRo
IDI4OiAiYWJjIgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM0LDApIHdpZHRoIDM3IFJUTDog
IiBceHs1RDB9XHh7NUQxfVx4ezVEMn0gIgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDcxLDAp
IHdpZHRoIDI1OiAiZGVmIgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDk2LDApIHdpZHRoIDYg
UlRMOiAiKCIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1LDApIHdpZHRoIDI4OiAiYWJjIgor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMyLDApIHdpZHRoIDM3IFJUTDogIiBceHs1RDB9XHh7
NUQxfVx4ezVEMn0gIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY4LDApIHdpZHRoIDI2OiAi
ZGVmIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDkzLDApIHdpZHRoIDYgUlRMOiAiKCIKICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICBSZW5kZXJC
bG9jayB7UH0gYXQgKDAsNDQ0KSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAxMDJ4MTgKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgOTl4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA2IFJUTDog
Il0iCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDYsMCkgd2lkdGggMjg6ICJhYmMiCi0gICAgICAg
ICAgdGV4dCBydW4gYXQgKDM0LDApIHdpZHRoIDM3IFJUTDogIiBceHs1RDB9XHh7NUQxfVx4ezVE
Mn0gIgotICAgICAgICAgIHRleHQgcnVuIGF0ICg3MSwwKSB3aWR0aCAyNTogImRlZiIKLSAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoOTYsMCkgd2lkdGggNiBSVEw6ICJceHsyMDJCfSgiCi0gICAgICAg
ICAgdGV4dCBydW4gYXQgKDEwMiwwKSB3aWR0aCAwOiAiXHh7MjAyQ30iCisgICAgICAgICAgdGV4
dCBydW4gYXQgKDUsMCkgd2lkdGggMjg6ICJhYmMiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDMy
LDApIHdpZHRoIDM3IFJUTDogIiBceHs1RDB9XHh7NUQxfVx4ezVEMn0gIgorICAgICAgICAgIHRl
eHQgcnVuIGF0ICg2OCwwKSB3aWR0aCAyNjogImRlZiIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
OTMsMCkgd2lkdGggNiBSVEw6ICJceHsyMDJCfSgiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDk4
LDApIHdpZHRoIDE6ICJceHsyMDJDfSIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLWZhbGxiYWNrLWZvbnQtd2VpZ2h0LWV4cGVjdGVk
LmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Rl
eHQvaW50ZXJuYXRpb25hbC9iaWRpLWZhbGxiYWNrLWZvbnQtd2VpZ2h0LWV4cGVjdGVkLmNoZWNr
c3VtCShyZXZpc2lvbiA3ODQ4NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Rl
eHQvaW50ZXJuYXRpb25hbC9iaWRpLWZhbGxiYWNrLWZvbnQtd2VpZ2h0LWV4cGVjdGVkLmNoZWNr
c3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi04MDMzZGIyYTkyNmI4YjkyOWRlOTRiN2Uz
MGQzMThjYgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RhMDNhOTYzMzZjZDVjYTllYzQ0
ZTg3YmNhZmUwZTk0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktZmFsbGJhY2stZm9u
dC13ZWlnaHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLWZhbGxiYWNrLWZvbnQtd2VpZ2h0LWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gNzg0ODQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1mYWxsYmFjay1mb250LXdlaWdodC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTcsMzUgKzcsMzUgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4MTczCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDc2Mngz
NgogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDMxMTogIkluIGVhY2ggb2YgdGhl
IGZvbGxvd2luZyBsaW5lcywgdGhlIEhlYnJldyBsZXR0ZXJzICIKICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMzExLDEpIHdpZHRoIDM1IFJUTDogIlx4ezVEMH1ceHs1RDF9XHh7NUQyfVx4ezVEM30i
Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDM0NiwxKSB3aWR0aCA0MTY6ICIgaW4gdGhlIGVuZCBz
aG91bGQgYmUgaW4gYm9sZGZhY2UgKGNvbXBhcmUgd2l0aCB0aGUgc2FtZSBsZXR0ZXJzIGluIgor
ICAgICAgICAgIHRleHQgcnVuIGF0ICgzNDUsMSkgd2lkdGggNDE3OiAiIGluIHRoZSBlbmQgc2hv
dWxkIGJlIGluIGJvbGRmYWNlIChjb21wYXJlIHdpdGggdGhlIHNhbWUgbGV0dGVycyBpbiIKICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOSkgd2lkdGggMTQyOiAidGhlIG1pZGRsZSBvZiB0aGUg
bGluZSkuIgogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDUzKSBzaXplIDc4NHgxOAotICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4M3gxOAorICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4MngxOAogICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDQzOiAiYWJjZCAiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDQzLDApIHdp
ZHRoIDM1IFJUTDogIlx4ezVEMH1ceHs1RDF9XHh7NUQyfVx4ezVEM30iCi0gICAgICAgICAgdGV4
dCBydW4gYXQgKDc4LDApIHdpZHRoIDU6ICIgIgorICAgICAgICAgIHRleHQgcnVuIGF0ICg0Miww
KSB3aWR0aCAzNSBSVEw6ICJceHs1RDB9XHh7NUQxfVx4ezVEMn1ceHs1RDN9IgorICAgICAgICAg
IHRleHQgcnVuIGF0ICg3NiwwKSB3aWR0aCA2OiAiICIKICAgICAgICAgUmVuZGVySW5saW5lIHtC
fSBhdCAoMCwwKSBzaXplIDgyeDE4Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg4
MywwKSBzaXplIDgyeDE4Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoODMsMCkgd2lkdGggNDU6
ICJhYmNkICIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMjgsMCkgd2lkdGggMzcgUlRMOiAi
XHh7NUQwfVx4ezVEMX1ceHs1RDJ9XHh7NUQzfSIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDgxLDApIHNpemUgODJ4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4MSwwKSB3
aWR0aCA0NTogImFiY2QgIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyNSwwKSB3aWR0aCAz
OCBSVEw6ICJceHs1RDB9XHh7NUQxfVx4ezVEMn1ceHs1RDN9IgogICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCw4
Nykgc2l6ZSA3ODR4MTkKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUg
OTV4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCA1MDogImFiY2QgIgogICAg
ICAgICAgIHRleHQgcnVuIGF0ICg1MCwxKSB3aWR0aCAzNSBSVEw6ICJceHs1RDB9XHh7NUQxfVx4
ezVEMn1ceHs1RDN9IgotICAgICAgICAgIHRleHQgcnVuIGF0ICg4NSwxKSB3aWR0aCAxMDogIiAi
CisgICAgICAgICAgdGV4dCBydW4gYXQgKDg0LDEpIHdpZHRoIDExOiAiICIKICAgICAgICAgUmVu
ZGVySW5saW5lIHtCfSBhdCAoMCwwKSBzaXplIDg3eDE4Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICg5NSwxKSBzaXplIDg3eDE4Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTUs
MSkgd2lkdGggNTA6ICJhYmNkICIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNDUsMSkgd2lk
dGggMzcgUlRMOiAiXHh7NUQwfVx4ezVEMX1ceHs1RDJ9XHh7NUQzfSIKKyAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDk0LDEpIHNpemUgODd4MTgKKyAgICAgICAgICAgIHRleHQgcnVu
IGF0ICg5NCwxKSB3aWR0aCA1MTogImFiY2QgIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE0
NCwxKSB3aWR0aCAzNyBSVEw6ICJceHs1RDB9XHh7NUQxfVx4ezVEMn1ceHs1RDN9IgogICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgIFJlbmRlckJsb2Nr
IHtQfSBhdCAoMCwxMjIpIHNpemUgNzg0eDE5CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwxKSBzaXplIDczeDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lkdGggMzQ6
ICJhYmNkICIKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzQsMSkgd2lkdGggMzUgUlRMOiAiXHh7
NUQwfVx4ezVEMX1ceHs1RDJ9XHh7NUQzfSIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjksMSkg
d2lkdGggNDogIiAiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDY4LDEpIHdpZHRoIDU6ICIgIgog
ICAgICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUgNzR4MTgKLSAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDczLDEpIHNpemUgNzR4MTgKLSAgICAgICAgICAgIHRleHQg
cnVuIGF0ICg3MywxKSB3aWR0aCAzNzogImFiY2QgIgotICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDExMCwxKSB3aWR0aCAzNyBSVEw6ICJceHs1RDB9XHh7NUQxfVx4ezVEMn1ceHs1RDN9IgorICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzIsMSkgc2l6ZSA3NHgxOAorICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDcyLDEpIHdpZHRoIDM4OiAiYWJjZCAiCisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTA5LDEpIHdpZHRoIDM3IFJUTDogIlx4ezVEMH1ceHs1RDF9XHh7NUQyfVx4ezVE
M30iCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktaWdu
b3JlZC1mb3ItZmlyc3QtY2hpbGQtaW5saW5lLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRp
LWlnbm9yZWQtZm9yLWZpcnN0LWNoaWxkLWlubGluZS1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNp
b24gNzg0ODQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0
aW9uYWwvYmlkaS1pZ25vcmVkLWZvci1maXJzdC1jaGlsZC1pbmxpbmUtZXhwZWN0ZWQuY2hlY2tz
dW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLWIyZmU5MTBmYTMwODRlOGZmMGRkMmI5YTcx
M2QyNTM2ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorNzdjMmY3YzE4YzUzOGUxYTA0MWI2
YmVhM2RiMjQxNzIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1pZ25vcmVkLWZvci1m
aXJzdC1jaGlsZC1pbmxpbmUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLWlnbm9yZWQtZm9yLWZp
cnN0LWNoaWxkLWlubGluZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDc4NDg0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktaWdub3JlZC1m
b3ItZmlyc3QtY2hpbGQtaW5saW5lLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtODMs
MzEgKzgzLDMxIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyNDl4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCAyNDk6ICJUaGUgZm9sbG93aW5nIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWw6
IgogICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDM4Nikgc2l6ZSA3ODR4MTkKLSAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgNjJ4MTgKKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgNjF4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwx
KSB3aWR0aCAyNSBSVEw6ICJceHs1RDN9XHh7NUQ0fVx4ezVENX0iCi0gICAgICAgICAgdGV4dCBy
dW4gYXQgKDI1LDEpIHdpZHRoIDEwOiAiKFsiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDM1LDEp
IHdpZHRoIDI3IFJUTDogIlx4ezIwMkN9XHh7NUQwfVx4ezVEMX1ceHs1RDJ9IgotICAgICAgICAg
IHRleHQgcnVuIGF0ICg2MiwxKSB3aWR0aCAwOiAiXHh7MjAyQX0iCisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDI0LDEpIHdpZHRoIDExOiAiKFsiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDM0LDEp
IHdpZHRoIDI3IFJUTDogIlx4ezIwMkN9XHh7NUQwfVx4ezVEMX1ceHs1RDJ9IgorICAgICAgICAg
IHRleHQgcnVuIGF0ICg2MCwxKSB3aWR0aCAxOiAiXHh7MjAyQX0iCiAgICAgICBSZW5kZXJCbG9j
ayB7UH0gYXQgKDAsNDIxKSBzaXplIDc4NHgxOQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMSkgc2l6ZSAzNXgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDI1
IFJUTDogIlx4ezVEM31ceHs1RDR9XHh7NUQ1fSIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjUs
MSkgd2lkdGggMTA6ICIoWyIKLSAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBz
aXplIDB4MTgKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzNSwxKSBzaXplIDI3eDE4
Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDM1LDEpIHdpZHRoIDI3IFJUTDogIlx4ezVEMH1ceHs1
RDF9XHh7NUQyfSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjQsMSkgd2lkdGggMTE6ICIoWyIK
KyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDF4MTgKKyAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzNCwxKSBzaXplIDI3eDE4CisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDM0LDEpIHdpZHRoIDI3IFJUTDogIlx4ezVEMH1ceHs1RDF9XHh7NUQyfSIKICAgICAg
IFJlbmRlckJsb2NrIHtQfSBhdCAoMCw0NTYpIHNpemUgNzg0eDE5CiAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDM1eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MSkgd2lkdGggMjUgUlRMOiAiXHh7NUQzfVx4ezVENH1ceHs1RDV9IgotICAgICAgICAgIHRleHQg
cnVuIGF0ICgyNSwxKSB3aWR0aCAxMDogIihbIgotICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59
IGF0ICgwLDApIHNpemUgMHgxOAotICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAs
MCkgc2l6ZSAweDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzUsMSkgc2l6ZSAy
N3gxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICgzNSwxKSB3aWR0aCAyNyBSVEw6ICJceHs1RDB9
XHh7NUQxfVx4ezVEMn0iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDI0LDEpIHdpZHRoIDExOiAi
KFsiCisgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxeDE4CisgICAg
ICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDF4MTgKKyAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgzNCwxKSBzaXplIDI3eDE4CisgICAgICAgICAgdGV4dCBydW4g
YXQgKDM0LDEpIHdpZHRoIDI3IFJUTDogIlx4ezVEMH1ceHs1RDF9XHh7NUQyfSIKICAgICAgIFJl
bmRlckJsb2NrIHtQfSBhdCAoMCw0OTEpIHNpemUgNzg0eDE5CiAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwxKSBzaXplIDM1eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkg
d2lkdGggMjUgUlRMOiAiXHh7NUQzfVx4ezVENH1ceHs1RDV9IgotICAgICAgICAgIHRleHQgcnVu
IGF0ICgyNSwxKSB3aWR0aCAxMDogIihbIgotICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0
ICgwLDApIHNpemUgMHgxOAotICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkg
c2l6ZSAweDE4Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzUsMSkgc2l6ZSAyN3gx
OAotICAgICAgICAgIHRleHQgcnVuIGF0ICgzNSwxKSB3aWR0aCAyNyBSVEw6ICJceHs1RDB9XHh7
NUQxfVx4ezVEMn0iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDI0LDEpIHdpZHRoIDExOiAiKFsi
CisgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxeDE4CisgICAgICAg
ICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDF4MTgKKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgzNCwxKSBzaXplIDI3eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQg
KDM0LDEpIHdpZHRoIDI3IFJUTDogIlx4ezVEMH1ceHs1RDF9XHh7NUQyfSIKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLWlubmVydGV4
dC1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1pbm5lcnRleHQtZXhwZWN0ZWQuY2hlY2tz
dW0JKHJldmlzaW9uIDc4NDg0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4
dC9pbnRlcm5hdGlvbmFsL2JpZGktaW5uZXJ0ZXh0LWV4cGVjdGVkLmNoZWNrc3VtCSh3b3JraW5n
IGNvcHkpCkBAIC0xICsxIEBACi0xNDBiYjFmZWU2M2I2YTFkMWI2NjE3Yjg1ZjFkOTI3YQpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzU0YmI3MWFiMjI3NmZmYzE5ZDNlMGZhNWZkMDQ2Yzc4
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktaW5uZXJ0ZXh0LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0
aW9uYWwvYmlkaS1pbm5lcnRleHQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3ODQ4NCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLWlubmVy
dGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEzLDMyICsxMywzMiBAQCBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMTM0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTM0OiAi
RW1iZWRkZWQgTnVtYmVyczoiCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw3Mikgc2l6
ZSA3ODR4MTkgW2NvbG9yPSMwMDAwRkZdCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwxKSBzaXplIDEyMXgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6
ZSAxMjB4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCA1NjogIlRlc3Rpbmcg
KCIKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTYsMSkgd2lkdGggMTcgUlRMOiAiXHh7NURGfVx4
ezVERX0iCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDczLDEpIHdpZHRoIDg6ICIzIgotICAgICAg
ICAgIHRleHQgcnVuIGF0ICg4MSwxKSB3aWR0aCAzNSBSVEw6ICJceHs1RDd9XHh7NUQ1fVx4ezVE
M31ceHs1RDB9IgotICAgICAgICAgIHRleHQgcnVuIGF0ICgxMTYsMSkgd2lkdGggNTogIikiCisg
ICAgICAgICAgdGV4dCBydW4gYXQgKDcyLDEpIHdpZHRoIDk6ICIzIgorICAgICAgICAgIHRleHQg
cnVuIGF0ICg4MCwxKSB3aWR0aCAzNSBSVEw6ICJceHs1RDd9XHh7NUQ1fVx4ezVEM31ceHs1RDB9
IgorICAgICAgICAgIHRleHQgcnVuIGF0ICgxMTQsMSkgd2lkdGggNjogIikiCiAgICAgICBSZW5k
ZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCw5MSkgc2l6ZSA3ODR4MTgKICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTA3eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggMTA3OiAiRW1iZWRkZWQgTFRSOiIKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgwLDEwOSkgc2l6ZSA3ODR4MTkgW2NvbG9yPSMwMDAwRkZdCi0gICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDE0NHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMSkgc2l6ZSAxNDN4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0
aCA1NjogIlRlc3RpbmcgKCIKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTYsMSkgd2lkdGggMzUg
UlRMOiAiXHh7NUQ3fVx4ezVENX1ceHs1RDN9XHh7NUQwfSIKLSAgICAgICAgICB0ZXh0IHJ1biBh
dCAoOTEsMSkgd2lkdGggMzE6ICJoZWxsbyIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTIyLDEp
IHdpZHRoIDE3IFJUTDogIlx4ezVERn1ceHs1REV9IgotICAgICAgICAgIHRleHQgcnVuIGF0ICgx
MzksMSkgd2lkdGggNTogIikiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDkwLDEpIHdpZHRoIDMy
OiAiaGVsbG8iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDEyMSwxKSB3aWR0aCAxNyBSVEw6ICJc
eHs1REZ9XHh7NURFfSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTM3LDEpIHdpZHRoIDY6ICIp
IgogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTI4KSBzaXplIDc4NHgxOAog
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxOTJ4MTgKICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxOTI6ICJFbWJlZGRlZCBOdW1iZXJzIGFuZCBMVFIi
CiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxNDYpIHNpemUgNzg0eDE5IFtjb2xvcj0j
MDAwMEZGXQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSAxNDN4MTgK
KyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgMTQyeDE4CiAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMSkgd2lkdGggNTY6ICJUZXN0aW5nICgiCiAgICAgICAgICAgdGV4
dCBydW4gYXQgKDU2LDEpIHdpZHRoIDMwIFJUTDogIlx4ezVFN31ceHs1RTd9XHh7NUU4fSIKLSAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoODYsMSkgd2lkdGggODogIjMiCi0gICAgICAgICAgdGV4dCBy
dW4gYXQgKDk0LDEpIHdpZHRoIDM2IFJUTDogIlx4ezVEOX1ceHs1RTd9XHh7NUREfVx4ezVEQ30i
Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDEzMCwxKSB3aWR0aCAxMzogImgpIgorICAgICAgICAg
IHRleHQgcnVuIGF0ICg4NSwxKSB3aWR0aCA5OiAiMyIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
OTMsMSkgd2lkdGggMzYgUlRMOiAiXHh7NUQ5fVx4ezVFN31ceHs1RER9XHh7NURDfSIKKyAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMTI4LDEpIHdpZHRoIDE0OiAiaCkiCiAgICAgICBSZW5kZXJCbG9j
ayAoYW5vbnltb3VzKSBhdCAoMCwxNjUpIHNpemUgNzg0eDE4CiAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIxOHgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDIxODogIkVtYmVkZGVkIE51bWJlcnMgd2l0aCBzcGFjaW5nOiIKQEAgLTQ2LDExICs0
NiwxMSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDEpIHNpemUgMjYzeDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkg
d2lkdGggNTY6ICJUZXN0aW5nICgiCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDU2LDEpIHdpZHRo
IDM5IFJUTDogIiBceHs1RDd9XHh7NUQ1fVx4ezVEM31ceHs1RDB9IgotICAgICAgICAgIHRleHQg
cnVuIGF0ICg5NSwxKSB3aWR0aCAyNDogIjMwMCIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTE5
LDEpIHdpZHRoIDU1IFJUTDogIlx4ezVEN31ceHs1RDV9XHh7NUQzfVx4ezVEMH1ceHs1REZ9XHh7
NURFfSAiCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDE3NCwxKSB3aWR0aCA0MDogIjM0MDIzIgot
ICAgICAgICAgIHRleHQgcnVuIGF0ICgyMTQsMSkgd2lkdGggNDQgUlRMOiAiXHh7NUQ5fVx4ezVF
N31ceHs1REF9XHh7NURBfVx4ezVERH0iCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDI1OCwxKSB3
aWR0aCA1OiAiKSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTQsMSkgd2lkdGggMjU6ICIzMDAi
CisgICAgICAgICAgdGV4dCBydW4gYXQgKDExOCwxKSB3aWR0aCA1NiBSVEw6ICJceHs1RDd9XHh7
NUQ1fVx4ezVEM31ceHs1RDB9XHh7NURGfVx4ezVERX0gIgorICAgICAgICAgIHRleHQgcnVuIGF0
ICgxNzMsMSkgd2lkdGggNDE6ICIzNDAyMyIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjEzLDEp
IHdpZHRoIDQ1IFJUTDogIlx4ezVEOX1ceHs1RTd9XHh7NURBfVx4ezVEQX1ceHs1RER9IgorICAg
ICAgICAgIHRleHQgcnVuIGF0ICgyNTcsMSkgd2lkdGggNjogIikiCiAgICAgICBSZW5kZXJCbG9j
ayAoYW5vbnltb3VzKSBhdCAoMCwyMDIpIHNpemUgNzg0eDE4CiAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDcxeDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggNzE6ICJQbGFpbiBMVFI6IgpAQCAtNjEsMTIgKzYxLDEyIEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAx
OTF4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxOTE6ICJFbWJlZGRlZCBM
VFIgd2l0aCBzcGFjaW5nOiIKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDI1Nikgc2l6
ZSA3ODR4MTkgW2NvbG9yPSMwMDAwRkZdCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwxKSBzaXplIDE5MXgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6
ZSAxOTB4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCA1NjogIlRlc3Rpbmcg
KCIKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTYsMSkgd2lkdGggNjkgUlRMOiAiXHh7NUQ3fVx4
ezVENX1ceHs1RDN9XHh7NUQ5fVx4ezVFN31ceHs1REF9XHh7NURBfVx4ezVERH0iCi0gICAgICAg
ICAgdGV4dCBydW4gYXQgKDEyNSwxKSB3aWR0aCAzOTogIiBoZWxsbyAiCi0gICAgICAgICAgdGV4
dCBydW4gYXQgKDE2NCwxKSB3aWR0aCAyMiBSVEw6ICJceHs1REZ9XHh7NURFfVx4ezVEOX0iCi0g
ICAgICAgICAgdGV4dCBydW4gYXQgKDE4NiwxKSB3aWR0aCA1OiAiKSIKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTI0LDEpIHdpZHRoIDQwOiAiIGhlbGxvICIKKyAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMTYzLDEpIHdpZHRoIDIyIFJUTDogIlx4ezVERn1ceHs1REV9XHh7NUQ5fSIKKyAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMTg0LDEpIHdpZHRoIDY6ICIpIgogICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDAsMjc1KSBzaXplIDc4NHgxOAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAxNjJ4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCAxNjI6ICJNaXhlZCBidXQgbm90IGVtYmVkZGVkOiIKQEAgLTc0LDcgKzc0LDcgQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwx
KSBzaXplIDEzM3gxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDg3OiAiVGVz
dGluZyAoaGVsbG8iCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDg3LDEpIHdpZHRoIDQxIFJUTDog
Ilx4ezVEN31ceHs1RDV9XHh7NUQzfVx4ezVERn1ceHs1REV9IgotICAgICAgICAgIHRleHQgcnVu
IGF0ICgxMjgsMSkgd2lkdGggNTogIikiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDEyNywxKSB3
aWR0aCA2OiAiKSIKICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDMxMikgc2l6
ZSA3ODR4MTgKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTYyeDE4
CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTYyOiAiTWl4ZWQgYnV0IG5vdCBl
bWJlZGRlZDoiCkBAIC04Miw1ICs4Miw1IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAog
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSAxMzN4MTgKICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCA1NjogIlRlc3RpbmcgKCIKICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNTYsMSkgd2lkdGggNDEgUlRMOiAiXHh7NUQ3fVx4ezVENX1ceHs1RDN9XHh7NURG
fVx4ezVERX0iCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDk3LDEpIHdpZHRoIDM2OiAiaGVsbG8p
IgorICAgICAgICAgIHRleHQgcnVuIGF0ICg5NiwxKSB3aWR0aCAzNzogImhlbGxvKSIKICAgICAg
IFJlbmRlckJsb2NrIHtPTH0gYXQgKDAsMzY1KSBzaXplIDc4NHgwCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1sYXlvdXQtYWNyb3Nz
LWxpbmVicmVhay1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1sYXlvdXQtYWNyb3NzLWxp
bmVicmVhay1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gNzg0ODQpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1sYXlvdXQtYWNyb3Nz
LWxpbmVicmVhay1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAot
MGM1ZjZjNDMyZWM4Y2EyNWNjMWYxY2YzYjQwYzBjZDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCis3MTY1ODQ0Y2EwYzVjNmJlNDk4N2IxYTNlMGU1NjRlNQpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJu
YXRpb25hbC9iaWRpLWxheW91dC1hY3Jvc3MtbGluZWJyZWFrLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwv
YmlkaS1sYXlvdXQtYWNyb3NzLWxpbmVicmVhay1leHBlY3RlZC50eHQJKHJldmlzaW9uIDc4NDg0
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2Jp
ZGktbGF5b3V0LWFjcm9zcy1saW5lYnJlYWstZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC02LDI0NSArNiwyNDUgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NDkyCiAgICAgICBSZW5k
ZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgNTcxeDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggNTcxOiAiVGhlIFQgY29sdW1uIHNob3VsZCBtYXRjaCB0aGUgUiBjb2x1bW4uIFRoZSBIIGNv
bHVtbnMgdXNlcyA8YnIvPiB0byBmb3JjZSBsaW5lIGJyZWFrcy4iCi0gICAgICBSZW5kZXJUYWJs
ZSB7VEFCTEV9IGF0ICgwLDM0KSBzaXplIDE3NXg0MzQgW2JvcmRlcjogbm9uZV0KLSAgICAgICAg
UmVuZGVyVGFibGVTZWN0aW9uIHtUQk9EWX0gYXQgKDAsMCkgc2l6ZSAxNzR4NDMzCi0gICAgICAg
ICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwwKSBzaXplIDE3NHgyMwotICAgICAgICAgICAg
UmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsOSkgc2l6ZSA1MXg0IFtyPTAgYz0wIHJzPTEgY3M9
MV0KLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg1MSwwKSBzaXplIDQ1eDIz
IFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTAgYz0xIHJzPTEgY3M9MV0KKyAgICAg
IFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMzQpIHNpemUgMTczeDQzNCBbYm9yZGVyOiBub25l
XQorICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBzaXplIDE3Mng0
MzMKKyAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDApIHNpemUgMTcyeDIzCisg
ICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMCw5KSBzaXplIDQ5eDQgW3I9MCBj
PTAgcnM9MSBjcz0xXQorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDQ5LDAp
IHNpemUgNDV4MjMgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9MCBjPTEgcnM9MSBj
cz0xXQogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMsMykgc2l6ZSAxMngx
OAogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzLDMpIHdpZHRoIDEyOiAiSCIKLSAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg5NiwwKSBzaXplIDMzeDIzIFtib3JkZXI6
ICgxcHggc29saWQgIzAwODAwMCldIFtyPTAgYz0yIHJzPTEgY3M9MV0KKyAgICAgICAgICAgIFJl
bmRlclRhYmxlQ2VsbCB7VER9IGF0ICg5NCwwKSBzaXplIDMzeDIzIFtib3JkZXI6ICgxcHggc29s
aWQgIzAwODAwMCldIFtyPTAgYz0yIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgzLDMpIHNpemUgMTF4MTgKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMywzKSB3aWR0aCAxMTogIlQiCi0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBh
dCAoMTI5LDApIHNpemUgNDV4MjMgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9MCBj
PTMgcnM9MSBjcz0xXQorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDEyNyww
KSBzaXplIDQ1eDIzIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTAgYz0zIHJzPTEg
Y3M9MV0KICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzLDMpIHNpemUgMTF4
MTgKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMywzKSB3aWR0aCAxMTogIlIiCi0gICAg
ICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwyMykgc2l6ZSAxNzR4NDEKLSAgICAgICAg
ICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgwLDMyKSBzaXplIDUxeDIzIFtib3JkZXI6ICgx
cHggc29saWQgIzAwODAwMCldIFtyPTEgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAgICBSZW5kZXJU
YWJsZVJvdyB7VFJ9IGF0ICgwLDIzKSBzaXplIDE3Mng0MQorICAgICAgICAgICAgUmVuZGVyVGFi
bGVDZWxsIHtURH0gYXQgKDAsMzIpIHNpemUgNDl4MjMgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4
MDAwKV0gW3I9MSBjPTAgcnM9MSBjcz0xXQogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDMsMykgc2l6ZSAxMXgxOAogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzLDMp
IHdpZHRoIDExOiAiMSIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg1MSwy
Mykgc2l6ZSA0NXg0MSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj0xIGM9MSBycz0x
IGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMywzKSBzaXplIDE3
eDE4CisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNDksMjMpIHNpemUgNDV4
NDEgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9MSBjPTEgcnM9MSBjcz0xXQorICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMsMykgc2l6ZSAxNngxOAogICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgzLDMpIHdpZHRoIDExIFJUTDogIlx4ezVEMH0iCi0gICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE0LDMpIHdpZHRoIDY6ICIuIgotICAgICAgICAgICAg
ICBSZW5kZXJCUiB7QlJ9IGF0ICgyMCwxOCkgc2l6ZSAweDAKKyAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTMsMykgd2lkdGggNjogIi4iCisgICAgICAgICAgICAgIFJlbmRlckJSIHtCUn0g
YXQgKDE4LDE4KSBzaXplIDF4MAogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDMsMjEpIHNpemUgMTF4MTgKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMywyMSkgd2lk
dGggMTE6ICJiIgotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDk2LDIzKSBz
aXplIDMzeDQxIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTEgYz0yIHJzPTEgY3M9
MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzLDMpIHNpemUgMTd4MzYK
KyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg5NCwyMykgc2l6ZSAzM3g0MSBb
Ym9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj0xIGM9MiBycz0xIGNzPTFdCisgICAgICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMywzKSBzaXplIDE2eDM2CiAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDMsMykgd2lkdGggMTEgUlRMOiAiXHh7NUQwfSIKLSAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMTQsMykgd2lkdGggNjogIi4iCisgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDEzLDMpIHdpZHRoIDY6ICIuIgogICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgzLDIxKSB3aWR0aCAxMTogImIiCi0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1RE
fSBhdCAoMTI5LDIzKSBzaXplIDQ1eDQxIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFty
PTEgYz0zIHJzPTEgY3M9MV0KKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgx
MjcsMjMpIHNpemUgNDV4NDEgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9MSBjPTMg
cnM9MSBjcz0xXQogICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDMsMykgc2l6ZSA0
MHgxOAogICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE2
eDE4CiAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxNiBMVFIgb3Zl
cnJpZGU6ICJceHs1RDB9LiIKICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgzLDIx
KSBzaXplIDQweDE4CiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMTF4MTgKICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEx
IExUUiBvdmVycmlkZTogImIiCi0gICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCw2
NCkgc2l6ZSAxNzR4NDEKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgwLDcz
KSBzaXplIDUxeDIzIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTIgYz0wIHJzPTEg
Y3M9MV0KKyAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDY0KSBzaXplIDE3Mng0
MQorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsNzMpIHNpemUgNDl4MjMg
W2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9MiBjPTAgcnM9MSBjcz0xXQogICAgICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMsMykgc2l6ZSAxMXgxOAogICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgzLDMpIHdpZHRoIDExOiAiMiIKLSAgICAgICAgICAgIFJlbmRl
clRhYmxlQ2VsbCB7VER9IGF0ICg1MSw2NCkgc2l6ZSA0NXg0MSBbYm9yZGVyOiAoMXB4IHNvbGlk
ICMwMDgwMDApXSBbcj0yIGM9MSBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMywzKSBzaXplIDE3eDE4CisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwg
e1REfSBhdCAoNDksNjQpIHNpemUgNDV4NDEgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0g
W3I9MiBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDMsMykgc2l6ZSAxNngxOAogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzLDMpIHdpZHRo
IDExIFJUTDogIlx4ezVEMH0iCi0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE0LDMpIHdp
ZHRoIDY6ICIuIgotICAgICAgICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgyMCwxOCkgc2l6ZSAw
eDAKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTMsMykgd2lkdGggNjogIi4iCisgICAg
ICAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDE4LDE4KSBzaXplIDF4MAogICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMsMjEpIHNpemUgMTB4MTgKICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMywyMSkgd2lkdGggMTAgUlRMOiAiXHh7NUQxfSIKLSAgICAgICAgICAg
IFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg5Niw2NCkgc2l6ZSAzM3g0MSBbYm9yZGVyOiAoMXB4
IHNvbGlkICMwMDgwMDApXSBbcj0yIGM9MiBycz0xIGNzPTFdCisgICAgICAgICAgICBSZW5kZXJU
YWJsZUNlbGwge1REfSBhdCAoOTQsNjQpIHNpemUgMzN4NDEgW2JvcmRlcjogKDFweCBzb2xpZCAj
MDA4MDAwKV0gW3I9MiBjPTIgcnM9MSBjcz0xXQogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDMsMykgc2l6ZSAxNngzNgogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgz
LDMpIHdpZHRoIDE2IFJUTDogIlx4ezVEMH0uIgogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgzLDIxKSB3aWR0aCAxMCBSVEw6ICJceHs1RDF9IgotICAgICAgICAgICAgUmVuZGVyVGFibGVD
ZWxsIHtURH0gYXQgKDEyOSw2NCkgc2l6ZSA0NXg0MSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgw
MDApXSBbcj0yIGM9MyBycz0xIGNzPTFdCisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1RE
fSBhdCAoMTI3LDY0KSBzaXplIDQ1eDQxIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFty
PTIgYz0zIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgzLDMp
IHNpemUgNDB4MTgKICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAxNngxOAogICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTYg
TFRSIG92ZXJyaWRlOiAiLlx4ezVEMH0iCiAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoMywyMSkgc2l6ZSA0MHgxOAogICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDEweDE4CiAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3
aWR0aCAxMCBMVFIgb3ZlcnJpZGU6ICJceHs1RDF9IgotICAgICAgICAgIFJlbmRlclRhYmxlUm93
IHtUUn0gYXQgKDAsMTA1KSBzaXplIDE3NHg0MQotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxs
IHtURH0gYXQgKDAsMTE0KSBzaXplIDUxeDIzIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCld
IFtyPTMgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgw
LDEwNSkgc2l6ZSAxNzJ4NDEKKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgw
LDExNCkgc2l6ZSA0OXgyMyBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj0zIGM9MCBy
cz0xIGNzPTFdCiAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMywzKSBzaXpl
IDExeDE4CiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMsMykgd2lkdGggMTE6ICIzIgot
ICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDUxLDEwNSkgc2l6ZSA0NXg0MSBb
Ym9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj0zIGM9MSBycz0xIGNzPTFdCisgICAgICAg
ICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNDksMTA1KSBzaXplIDQ1eDQxIFtib3JkZXI6
ICgxcHggc29saWQgIzAwODAwMCldIFtyPTMgYz0xIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzLDMpIHNpemUgMjF4MTgKICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMywzKSB3aWR0aCAyMSBSVEw6ICJceHs1RDB9XHh7NUQwfSIKICAgICAgICAg
ICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMywxOCkgc2l6ZSAweDAKLSAgICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgzLDIxKSBzaXplIDI3eDE4CisgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMywyMSkgc2l6ZSAyNngxOAogICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgzLDIxKSB3aWR0aCAxMTogImIiCi0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDE0LDIxKSB3aWR0aCA1IFJUTDogIiAiCi0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE5
LDIxKSB3aWR0aCAxMTogIjEiCi0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAo
OTYsMTA1KSBzaXplIDMzeDQxIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTMgYz0y
IHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzLDMpIHNp
emUgMjd4MzYKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTMsMjEpIHdpZHRoIDYgUlRM
OiAiICIKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgsMjEpIHdpZHRoIDExOiAiMSIK
KyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg5NCwxMDUpIHNpemUgMzN4NDEg
W2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9MyBjPTIgcnM9MSBjcz0xXQorICAgICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMsMykgc2l6ZSAyNngzNgogICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgzLDMpIHdpZHRoIDIxIFJUTDogIlx4ezVEMH1ceHs1RDB9Igog
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzLDIxKSB3aWR0aCAxMTogImIiCi0gICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDE0LDIxKSB3aWR0aCA1IFJUTDogIiAiCi0gICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDE5LDIxKSB3aWR0aCAxMTogIjEiCi0gICAgICAgICAgICBSZW5k
ZXJUYWJsZUNlbGwge1REfSBhdCAoMTI5LDEwNSkgc2l6ZSA0NXg0MSBbYm9yZGVyOiAoMXB4IHNv
bGlkICMwMDgwMDApXSBbcj0zIGM9MyBycz0xIGNzPTFdCisgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDEzLDIxKSB3aWR0aCA2IFJUTDogIiAiCisgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDE4LDIxKSB3aWR0aCAxMTogIjEiCisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1RE
fSBhdCAoMTI3LDEwNSkgc2l6ZSA0NXg0MSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBb
cj0zIGM9MyBycz0xIGNzPTFdCiAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMywz
KSBzaXplIDQweDE4CiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMjF4MTgKICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIx
IExUUiBvdmVycmlkZTogIlx4ezVEMH1ceHs1RDB9IgogICAgICAgICAgICAgICBSZW5kZXJCbG9j
ayB7UH0gYXQgKDMsMjEpIHNpemUgNDB4MTgKLSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAyN3gxOAotICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggMjcgTFRSIG92ZXJyaWRlOiAiYiAxIgotICAgICAgICAgIFJlbmRlclRhYmxl
Um93IHtUUn0gYXQgKDAsMTQ2KSBzaXplIDE3NHg0MQotICAgICAgICAgICAgUmVuZGVyVGFibGVD
ZWxsIHtURH0gYXQgKDAsMTU1KSBzaXplIDUxeDIzIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAw
MCldIFtyPTQgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAyNngxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggMjYgTFRSIG92ZXJyaWRlOiAiYiAxIgorICAgICAgICAgIFJlbmRlclRhYmxlUm93
IHtUUn0gYXQgKDAsMTQ2KSBzaXplIDE3Mng0MQorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxs
IHtURH0gYXQgKDAsMTU1KSBzaXplIDQ5eDIzIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCld
IFtyPTQgYz0wIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgzLDMpIHNpemUgMTF4MTgKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMywzKSB3aWR0
aCAxMTogIjQiCi0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNTEsMTQ2KSBz
aXplIDQ1eDQxIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTQgYz0xIHJzPTEgY3M9
MV0KKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0OSwxNDYpIHNpemUgNDV4
NDEgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9NCBjPTEgcnM9MSBjcz0xXQogICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMsMykgc2l6ZSAxOHgxOAogICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgzLDMpIHdpZHRoIDE4OiAiYWEiCiAgICAgICAgICAgICAg
IFJlbmRlckJSIHtCUn0gYXQgKDMsMTgpIHNpemUgMHgwCi0gICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMywyMSkgc2l6ZSAyN3gxOAorICAgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDMsMjEpIHNpemUgMjZ4MTgKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMywyMSkgd2lkdGggMTE6ICJiIgotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNCwy
MSkgd2lkdGggNSBSVEw6ICIgIgotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOSwyMSkg
d2lkdGggMTE6ICIxIgotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDk2LDE0
Nikgc2l6ZSAzM3g0MSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj00IGM9MiBycz0x
IGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMywzKSBzaXplIDI3
eDM2CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzLDIxKSB3aWR0aCA2IFJUTDogIiAi
CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE4LDIxKSB3aWR0aCAxMTogIjEiCisgICAg
ICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoOTQsMTQ2KSBzaXplIDMzeDQxIFtib3Jk
ZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTQgYz0yIHJzPTEgY3M9MV0KKyAgICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzLDMpIHNpemUgMjZ4MzYKICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMywzKSB3aWR0aCAxODogImFhIgotICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgzLDIxKSB3aWR0aCAyNzogIjEgYiIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2Vs
bCB7VER9IGF0ICgxMjksMTQ2KSBzaXplIDQ1eDQxIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAw
MCldIFtyPTQgYz0zIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMywy
MSkgd2lkdGggMjY6ICIxIGIiCisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAo
MTI3LDE0Nikgc2l6ZSA0NXg0MSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj00IGM9
MyBycz0xIGNzPTFdCiAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMywzKSBzaXpl
IDQweDE4CiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MTh4MTgKICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE4IExUUiBv
dmVycmlkZTogImFhIgogICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDMsMjEpIHNp
emUgNDB4MTgKLSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAyN3gxOAotICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjcgTFRS
IG92ZXJyaWRlOiAiMSBiIgotICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMTg3
KSBzaXplIDE3NHg0MQotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsMTk2
KSBzaXplIDUxeDIzIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTUgYz0wIHJzPTEg
Y3M9MV0KKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAy
NngxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjYgTFRSIG92
ZXJyaWRlOiAiMSBiIgorICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMTg3KSBz
aXplIDE3Mng0MQorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsMTk2KSBz
aXplIDQ5eDIzIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTUgYz0wIHJzPTEgY3M9
MV0KICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzLDMpIHNpemUgMTF4MTgK
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMywzKSB3aWR0aCAxMTogIjUiCi0gICAgICAg
ICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNTEsMTg3KSBzaXplIDQ1eDQxIFtib3JkZXI6
ICgxcHggc29saWQgIzAwODAwMCldIFtyPTUgYz0xIHJzPTEgY3M9MV0KKyAgICAgICAgICAgIFJl
bmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0OSwxODcpIHNpemUgNDV4NDEgW2JvcmRlcjogKDFweCBz
b2xpZCAjMDA4MDAwKV0gW3I9NSBjPTEgcnM9MSBjcz0xXQogICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDMsMykgc2l6ZSAyMXgxOAogICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgzLDMpIHdpZHRoIDIxIFJUTDogIlx4ezVEMH1ceHs1RDB9IgogICAgICAgICAgICAgICBS
ZW5kZXJCUiB7QlJ9IGF0ICgzLDE4KSBzaXplIDB4MAotICAgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDMsMjEpIHNpemUgMjZ4MTgKKyAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgzLDIxKSBzaXplIDI1eDE4CiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDMsMjEpIHdpZHRoIDE1IFJUTDogIiBceHs1RDF9IgotICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgxOCwyMSkgd2lkdGggMTE6ICIxIgotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtU
RH0gYXQgKDk2LDE4Nykgc2l6ZSAzM3g0MSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBb
cj01IGM9MiBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MywzKSBzaXplIDI2eDM2CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE3LDIxKSB3aWR0
aCAxMTogIjEiCisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoOTQsMTg3KSBz
aXplIDMzeDQxIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTUgYz0yIHJzPTEgY3M9
MV0KKyAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzLDMpIHNpemUgMjV4MzYK
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMywzKSB3aWR0aCAyMSBSVEw6ICJceHs1RDB9
XHh7NUQwfSIKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMywyMSkgd2lkdGggMTUgUlRM
OiAiIFx4ezVEMX0iCi0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE4LDIxKSB3aWR0aCAx
MTogIjEiCi0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMTI5LDE4Nykgc2l6
ZSA0NXg0MSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj01IGM9MyBycz0xIGNzPTFd
CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE3LDIxKSB3aWR0aCAxMTogIjEiCisgICAg
ICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMTI3LDE4Nykgc2l6ZSA0NXg0MSBbYm9y
ZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj01IGM9MyBycz0xIGNzPTFdCiAgICAgICAgICAg
ICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMywzKSBzaXplIDQweDE4CiAgICAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjF4MTgKICAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIxIExUUiBvdmVycmlkZTogIlx4ezVEMH1ceHs1RDB9
IgogICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDMsMjEpIHNpemUgNDB4MTgKLSAg
ICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyNngxOAotICAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjYgTFRSIG92ZXJyaWRlOiAi
XHh7NUQxfSAxIgotICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMjI4KSBzaXpl
IDE3NHg0MQotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsMjM3KSBzaXpl
IDUxeDIzIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTYgYz0wIHJzPTEgY3M9MV0K
KyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyNXgxOAor
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjUgTFRSIG92ZXJyaWRl
OiAiXHh7NUQxfSAxIgorICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMjI4KSBz
aXplIDE3Mng0MQorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsMjM3KSBz
aXplIDQ5eDIzIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTYgYz0wIHJzPTEgY3M9
MV0KICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzLDMpIHNpemUgMTF4MTgK
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMywzKSB3aWR0aCAxMTogIjYiCi0gICAgICAg
ICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNTEsMjI4KSBzaXplIDQ1eDQxIFtib3JkZXI6
ICgxcHggc29saWQgIzAwODAwMCldIFtyPTYgYz0xIHJzPTEgY3M9MV0KKyAgICAgICAgICAgIFJl
bmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0OSwyMjgpIHNpemUgNDV4NDEgW2JvcmRlcjogKDFweCBz
b2xpZCAjMDA4MDAwKV0gW3I9NiBjPTEgcnM9MSBjcz0xXQogICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDMsMykgc2l6ZSAxOHgxOAogICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgzLDMpIHdpZHRoIDE4OiAiYWEiCiAgICAgICAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQg
KDMsMTgpIHNpemUgMHgwCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMywy
MSkgc2l6ZSAyNngxOAorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMsMjEp
IHNpemUgMjV4MTgKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMywyMSkgd2lkdGggMTUg
UlRMOiAiIFx4ezVEMX0iCi0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE4LDIxKSB3aWR0
aCAxMTogIjEiCi0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoOTYsMjI4KSBz
aXplIDMzeDQxIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTYgYz0yIHJzPTEgY3M9
MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzLDMpIHNpemUgMjZ4MzYK
KyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTcsMjEpIHdpZHRoIDExOiAiMSIKKyAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg5NCwyMjgpIHNpemUgMzN4NDEgW2JvcmRl
cjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9NiBjPTIgcnM9MSBjcz0xXQorICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMsMykgc2l6ZSAyNXgzNgogICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgzLDMpIHdpZHRoIDE4OiAiYWEiCiAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDMsMjEpIHdpZHRoIDE1IFJUTDogIiBceHs1RDF9IgotICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgxOCwyMSkgd2lkdGggMTE6ICIxIgotICAgICAgICAgICAgUmVuZGVyVGFibGVD
ZWxsIHtURH0gYXQgKDEyOSwyMjgpIHNpemUgNDV4NDEgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4
MDAwKV0gW3I9NiBjPTMgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgx
NywyMSkgd2lkdGggMTE6ICIxIgorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQg
KDEyNywyMjgpIHNpemUgNDV4NDEgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9NiBj
PTMgcnM9MSBjcz0xXQogICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDMsMykgc2l6
ZSA0MHgxOAogICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDE4eDE4CiAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxOCBMVFIg
b3ZlcnJpZGU6ICJhYSIKICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgzLDIxKSBz
aXplIDQweDE4Ci0gICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMjZ4MTgKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI2IExU
UiBvdmVycmlkZTogIlx4ezVEMX0gMSIKLSAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0
ICgwLDI2OSkgc2l6ZSAxNzR4NDEKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0
ICgwLDI3OCkgc2l6ZSA1MXgyMyBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj03IGM9
MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMjV4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI1
IExUUiBvdmVycmlkZTogIlx4ezVEMX0gMSIKKyAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9
IGF0ICgwLDI2OSkgc2l6ZSAxNzJ4NDEKKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9
IGF0ICgwLDI3OCkgc2l6ZSA0OXgyMyBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj03
IGM9MCBycz0xIGNzPTFdCiAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMywz
KSBzaXplIDExeDE4CiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMsMykgd2lkdGggMTE6
ICI3IgotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDUxLDI2OSkgc2l6ZSA0
NXg0MSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj03IGM9MSBycz0xIGNzPTFdCisg
ICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNDksMjY5KSBzaXplIDQ1eDQxIFti
b3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTcgYz0xIHJzPTEgY3M9MV0KICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzLDMpIHNpemUgMjB4MTgKICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMywzKSB3aWR0aCAyMDogImEgKCIKLSAgICAgICAgICAgICAgUmVu
ZGVyQlIge0JSfSBhdCAoMjMsMTgpIHNpemUgMHgwCi0gICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMywyMSkgc2l6ZSAyMngxOAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgzLDIxKSB3aWR0aCAyMjogIl0gYiIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9
IGF0ICg5NiwyNjkpIHNpemUgMzN4NDEgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9
NyBjPTIgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMs
Mykgc2l6ZSAyMngzNgorICAgICAgICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgyMiwxOCkgc2l6
ZSAxeDAKKyAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzLDIxKSBzaXplIDIx
eDE4CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMsMjEpIHdpZHRoIDIxOiAiXSBiIgor
ICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDk0LDI2OSkgc2l6ZSAzM3g0MSBb
Ym9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj03IGM9MiBycz0xIGNzPTFdCisgICAgICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMywzKSBzaXplIDIxeDM2CiAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDMsMykgd2lkdGggMjA6ICJhICgiCi0gICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDMsMjEpIHdpZHRoIDIyOiAiXSBiIgotICAgICAgICAgICAgUmVuZGVyVGFi
bGVDZWxsIHtURH0gYXQgKDEyOSwyNjkpIHNpemUgNDV4NDEgW2JvcmRlcjogKDFweCBzb2xpZCAj
MDA4MDAwKV0gW3I9NyBjPTMgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgzLDIxKSB3aWR0aCAyMTogIl0gYiIKKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9
IGF0ICgxMjcsMjY5KSBzaXplIDQ1eDQxIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFty
PTcgYz0zIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgzLDMp
IHNpemUgNDB4MTgKICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAyMHgxOAogICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjAg
TFRSIG92ZXJyaWRlOiAiYSAoIgogICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDMs
MjEpIHNpemUgNDB4MTgKLSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAyMngxOAotICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGgg
MjIgTFRSIG92ZXJyaWRlOiAiXSBiIgotICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQg
KDAsMzEwKSBzaXplIDE3NHg0MQotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQg
KDAsMzE5KSBzaXplIDUxeDIzIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTggYz0w
IHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAyMXgxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjEg
TFRSIG92ZXJyaWRlOiAiXSBiIgorICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAs
MzEwKSBzaXplIDE3Mng0MQorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAs
MzE5KSBzaXplIDQ5eDIzIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTggYz0wIHJz
PTEgY3M9MV0KICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzLDMpIHNpemUg
MTF4MTgKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMywzKSB3aWR0aCAxMTogIjgiCi0g
ICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNTEsMzEwKSBzaXplIDQ1eDQxIFti
b3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTggYz0xIHJzPTEgY3M9MV0KLSAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzLDMpIHNpemUgMjJ4MTgKKyAgICAgICAgICAg
IFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0OSwzMTApIHNpemUgNDV4NDEgW2JvcmRlcjogKDFw
eCBzb2xpZCAjMDA4MDAwKV0gW3I9OCBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDMsMykgc2l6ZSAyMXgxOAorICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgzLDMpIHdpZHRoIDExIFJUTDogIlx4ezVEMH0iCisgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDEzLDMpIHdpZHRoIDExOiAiICgiCisgICAgICAgICAgICAgIFJlbmRlckJSIHtC
Un0gYXQgKDIzLDE4KSBzaXplIDF4MAorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDMsMjEpIHNpemUgMjF4MTgKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMywyMSkg
d2lkdGggMjE6ICJdIGIiCisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoOTQs
MzEwKSBzaXplIDMzeDQxIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTggYz0yIHJz
PTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzLDMpIHNpemUg
MjF4MzYKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMywzKSB3aWR0aCAxMSBSVEw6ICJc
eHs1RDB9IgotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNCwzKSB3aWR0aCAxMTogIiAo
IgotICAgICAgICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgyNSwxOCkgc2l6ZSAweDAKLSAgICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzLDIxKSBzaXplIDIyeDE4Ci0gICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDMsMjEpIHdpZHRoIDIyOiAiXSBiIgotICAgICAgICAgICAg
UmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDk2LDMxMCkgc2l6ZSAzM3g0MSBbYm9yZGVyOiAoMXB4
IHNvbGlkICMwMDgwMDApXSBbcj04IGM9MiBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMywzKSBzaXplIDIyeDM2Ci0gICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDMsMykgd2lkdGggMTEgUlRMOiAiXHh7NUQwfSIKLSAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTQsMykgd2lkdGggMTE6ICIgKCIKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMywyMSkgd2lkdGggMjI6ICJdIGIiCi0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1RE
fSBhdCAoMTI5LDMxMCkgc2l6ZSA0NXg0MSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBb
cj04IGM9MyBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMywz
KSBzaXplIDQweDE4Ci0gICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMjJ4MTgKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIy
IExUUiBvdmVycmlkZTogIlx4ezVEMH0gKCIKLSAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9
IGF0ICgzLDIxKSBzaXplIDQweDE4Ci0gICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMjJ4MTgKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDIyIExUUiBvdmVycmlkZTogIl0gYiIKLSAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7
VFJ9IGF0ICgwLDM1MSkgc2l6ZSAxNzR4NDEKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7
VER9IGF0ICgwLDM2MCkgc2l6ZSA1MXgyMyBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBb
cj05IGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzLDMpIHdp
ZHRoIDExOiAiICgiCisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMsMjEpIHdpZHRoIDIx
OiAiXSBiIgorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDEyNywzMTApIHNp
emUgNDV4NDEgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9OCBjPTMgcnM9MSBjcz0x
XQorICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDMsMykgc2l6ZSA0MHgxOAorICAg
ICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIxeDE4CisgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMSBMVFIgb3ZlcnJpZGU6ICJc
eHs1RDB9ICgiCisgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMywyMSkgc2l6ZSA0
MHgxOAorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIx
eDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMSBMVFIgb3Zl
cnJpZGU6ICJdIGIiCisgICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwzNTEpIHNp
emUgMTcyeDQxCisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMCwzNjApIHNp
emUgNDl4MjMgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9OSBjPTAgcnM9MSBjcz0x
XQogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMsMykgc2l6ZSAxMXgxOAog
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzLDMpIHdpZHRoIDExOiAiOSIKLSAgICAgICAg
ICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg1MSwzNTEpIHNpemUgNDV4NDEgW2JvcmRlcjog
KDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9OSBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgUmVu
ZGVyVGFibGVDZWxsIHtURH0gYXQgKDQ5LDM1MSkgc2l6ZSA0NXg0MSBbYm9yZGVyOiAoMXB4IHNv
bGlkICMwMDgwMDApXSBbcj05IGM9MSBycz0xIGNzPTFdCiAgICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMywzKSBzaXplIDIweDE4CiAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDMsMykgd2lkdGggMjA6ICJhICgiCi0gICAgICAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQg
KDIzLDE4KSBzaXplIDB4MAotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMs
MjEpIHNpemUgMjF4MTgKKyAgICAgICAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMjIsMTgpIHNp
emUgMXgwCisgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMywyMSkgc2l6ZSAy
MHgxOAogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzLDIxKSB3aWR0aCAxMTogIl0gIgot
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNCwyMSkgd2lkdGggMTAgUlRMOiAiXHh7NUQx
fSIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg5NiwzNTEpIHNpemUgMzN4
NDEgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9OSBjPTIgcnM9MSBjcz0xXQotICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMsMykgc2l6ZSAyMXgzNgorICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgxMywyMSkgd2lkdGggMTAgUlRMOiAiXHh7NUQxfSIKKyAg
ICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg5NCwzNTEpIHNpemUgMzN4NDEgW2Jv
cmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9OSBjPTIgcnM9MSBjcz0xXQorICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMsMykgc2l6ZSAyMHgzNgogICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgzLDMpIHdpZHRoIDIwOiAiYSAoIgogICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgzLDIxKSB3aWR0aCAxMTogIl0gIgotICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgxNCwyMSkgd2lkdGggMTAgUlRMOiAiXHh7NUQxfSIKLSAgICAgICAgICAgIFJlbmRlclRh
YmxlQ2VsbCB7VER9IGF0ICgxMjksMzUxKSBzaXplIDQ1eDQxIFtib3JkZXI6ICgxcHggc29saWQg
IzAwODAwMCldIFtyPTkgYz0zIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMTMsMjEpIHdpZHRoIDEwIFJUTDogIlx4ezVEMX0iCisgICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwge1REfSBhdCAoMTI3LDM1MSkgc2l6ZSA0NXg0MSBbYm9yZGVyOiAoMXB4IHNvbGlkICMw
MDgwMDApXSBbcj05IGM9MyBycz0xIGNzPTFdCiAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQ
fSBhdCAoMywzKSBzaXplIDQweDE4CiAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMjB4MTgKICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDIwIExUUiBvdmVycmlkZTogImEgKCIKICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sg
e1B9IGF0ICgzLDIxKSBzaXplIDQweDE4Ci0gICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMjF4MTgKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDIxIExUUiBvdmVycmlkZTogIl0gXHh7NUQxfSIKLSAgICAgICAgICBSZW5kZXJU
YWJsZVJvdyB7VFJ9IGF0ICgwLDM5Mikgc2l6ZSAxNzR4NDEKLSAgICAgICAgICAgIFJlbmRlclRh
YmxlQ2VsbCB7VER9IGF0ICgwLDQwMSkgc2l6ZSA1MXgyMyBbYm9yZGVyOiAoMXB4IHNvbGlkICMw
MDgwMDApXSBbcj0xMCBjPTAgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIweDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCAyMCBMVFIgb3ZlcnJpZGU6ICJdIFx4ezVEMX0iCisgICAgICAgICAgUmVu
ZGVyVGFibGVSb3cge1RSfSBhdCAoMCwzOTIpIHNpemUgMTcyeDQxCisgICAgICAgICAgICBSZW5k
ZXJUYWJsZUNlbGwge1REfSBhdCAoMCw0MDEpIHNpemUgNDl4MjMgW2JvcmRlcjogKDFweCBzb2xp
ZCAjMDA4MDAwKV0gW3I9MTAgYz0wIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgzLDMpIHNpemUgMjF4MTgKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMywzKSB3aWR0aCAyMTogIjEwIgotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0g
YXQgKDUxLDM5Mikgc2l6ZSA0NXg0MSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj0x
MCBjPTEgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMs
Mykgc2l6ZSAyMngxOAorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDQ5LDM5
Mikgc2l6ZSA0NXg0MSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj0xMCBjPTEgcnM9
MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMsMykgc2l6ZSAy
MXgxOAogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzLDMpIHdpZHRoIDExIFJUTDogIlx4
ezVEMH0iCi0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE0LDMpIHdpZHRoIDExOiAiICgi
Ci0gICAgICAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDI1LDE4KSBzaXplIDB4MAotICAgICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMsMjEpIHNpemUgMjF4MTgKKyAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMTMsMykgd2lkdGggMTE6ICIgKCIKKyAgICAgICAgICAgICAg
UmVuZGVyQlIge0JSfSBhdCAoMjMsMTgpIHNpemUgMXgwCisgICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMywyMSkgc2l6ZSAyMHgxOAogICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgzLDIxKSB3aWR0aCAxMTogIl0gIgotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgx
NCwyMSkgd2lkdGggMTAgUlRMOiAiXHh7NUQxfSIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2Vs
bCB7VER9IGF0ICg5NiwzOTIpIHNpemUgMzN4NDEgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAw
KV0gW3I9MTAgYz0yIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgzLDMpIHNpemUgMjJ4MzYKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMywzKSB3
aWR0aCAyMiBSVEw6ICJceHs1RDB9ICgiCi0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMs
MjEpIHdpZHRoIDIxIFJUTDogIl0gXHh7NUQxfSIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2Vs
bCB7VER9IGF0ICgxMjksMzkyKSBzaXplIDQ1eDQxIFtib3JkZXI6ICgxcHggc29saWQgIzAwODAw
MCldIFtyPTEwIGM9MyBycz0xIGNzPTFdCisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEz
LDIxKSB3aWR0aCAxMCBSVEw6ICJceHs1RDF9IgorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxs
IHtURH0gYXQgKDk0LDM5Mikgc2l6ZSAzM3g0MSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDAp
XSBbcj0xMCBjPTIgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDMsMykgc2l6ZSAyMXgzNgorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzLDMpIHdp
ZHRoIDIxIFJUTDogIlx4ezVEMH0gKCIKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMywy
MSkgd2lkdGggMjAgUlRMOiAiXSBceHs1RDF9IgorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxs
IHtURH0gYXQgKDEyNywzOTIpIHNpemUgNDV4NDEgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAw
KV0gW3I9MTAgYz0zIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0
ICgzLDMpIHNpemUgNDB4MTgKLSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAyMngxOAotICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggMjIgTFRSIG92ZXJyaWRlOiAiKSBceHs1RDB9IgotICAgICAgICAgICAgICBSZW5kZXJCbG9j
ayB7UH0gYXQgKDMsMjEpIHNpemUgNDB4MTgKICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAyMXgxOAotICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggMjEgTFRSIG92ZXJyaWRlOiAiXHh7NUQxfSBbIgorICAgICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjEgTFRSIG92ZXJyaWRlOiAiKSBceHs1RDB9Igor
ICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDMsMjEpIHNpemUgNDB4MTgKKyAgICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMHgxOAorICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjAgTFRSIG92ZXJyaWRlOiAiXHh7
NUQxfSBbIgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5h
dGlvbmFsL2JpZGktbGluZWJyZWFrLTAwMS1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1s
aW5lYnJlYWstMDAxLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiA3ODQ4NCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLWxpbmVicmVh
ay0wMDEtZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLWI1ODRj
NDI2NWVhNTkyODA2NzY4MjQxNjhiYWVkMDFjClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor
ZjIwYjE3NGYzNzhhNjcxMzVjZTFiYjM3YWZkNGMzZDYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9u
YWwvYmlkaS1saW5lYnJlYWstMDAxLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1saW5lYnJlYWst
MDAxLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzg0ODQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1saW5lYnJlYWstMDAxLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTEsOSArMTEsOSBAQCBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHgxNTcKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgNTA2eDE4
CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lkdGggMjkyOiAiSWYgdGhpcyB0ZXN0IHN1
Y2NlZWRzLCB5b3UgY2FuIHNlZSB0aHJlZSB3b3JkcyBcIiIKICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMjkyLDEpIHdpZHRoIDM3IFJUTDogIlx4ezVFOX1ceHs1RDV9XHh7NUJDfVx4ezVFOH1ceHs1
RDR9IgotICAgICAgICAgIHRleHQgcnVuIGF0ICgzMjksMSkgd2lkdGggMTc3OiAiXCIsIHNlcGFy
YXRlZCB3aXRoIGxpbmUtYnJlYWsuIgorICAgICAgICAgIHRleHQgcnVuIGF0ICgzMjgsMSkgd2lk
dGggMTc4OiAiXCIsIHNlcGFyYXRlZCB3aXRoIGxpbmUtYnJlYWsuIgogICAgICAgUmVuZGVyQmxv
Y2sge1B9IGF0ICgwLDg3KSBzaXplIDc4NHgzOAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMSkgc2l6ZSA3M3gzNwogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDM3
IFJUTDogIlx4ezVFOX1ceHs1RDV9XHh7NUJDfVx4ezVFOH1ceHs1RDR9IgotICAgICAgICAgIHRl
eHQgcnVuIGF0ICgzNywxKSB3aWR0aCAwOiAiICIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzYs
MSkgd2lkdGggMTogIiAiCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjApIHdpZHRoIDczIFJU
TDogIlx4ezVFOX1ceHs1RDV9XHh7NUJDfVx4ezVFOH1ceHs1RDR9XHh7RH1ceHs1RTl9XHh7NUQ1
fVx4ezVCQ31ceHs1RTh9XHh7NUQ0fSIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLWxpbmVicmVhay0wMDItZXhwZWN0ZWQuY2hlY2tz
dW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRl
cm5hdGlvbmFsL2JpZGktbGluZWJyZWFrLTAwMi1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24g
Nzg0ODQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9u
YWwvYmlkaS1saW5lYnJlYWstMDAyLWV4cGVjdGVkLmNoZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBA
IC0xICsxIEBACi1lYTM1MTBkMGNiNDk0MWQ1OTU5NDYzOTcxODYxNmMzNwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKK2NlMThiNjQwNTE3ZDk2OTY3OThjZDM0MWNkNzJjZjRiClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
dGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktbGluZWJyZWFrLTAwMi1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFs
L2JpZGktbGluZWJyZWFrLTAwMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDc4NDg0KQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktbGluZWJy
ZWFrLTAwMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTExLDcgKzExLDcgQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTM4CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwxKSBzaXplIDQ3OHgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDI5Mjog
IklmIHRoaXMgdGVzdCBzdWNjZWVkcywgeW91IGNhbiBzZWUgdGhyZWUgd29yZHMgXCIiCiAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDI5MiwxKSB3aWR0aCAzNyBSVEw6ICJceHs1RTl9XHh7NUQ1fVx4
ezVCQ31ceHs1RTh9XHh7NUQ0fSIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzI5LDEpIHdpZHRo
IDE0OTogIlwiLCBzZXBhcmF0ZWQgd2l0aCBzcGFjZS4iCisgICAgICAgICAgdGV4dCBydW4gYXQg
KDMyOCwxKSB3aWR0aCAxNTA6ICJcIiwgc2VwYXJhdGVkIHdpdGggc3BhY2UuIgogICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICgwLDg3KSBzaXplIDc4NHgxOQotICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMSkgc2l6ZSAxMTV4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3
aWR0aCAxMTUgUlRMOiAiXHh7NUU5fVx4ezVENX1ceHs1QkN9XHh7NUU4fVx4ezVENH0gXHh7NUU5
fVx4ezVENX1ceHs1QkN9XHh7NUU4fVx4ezVENH1ceHtEfVx4ezVFOX1ceHs1RDV9XHh7NUJDfVx4
ezVFOH1ceHs1RDR9IgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSAx
MTN4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCAxMTMgUlRMOiAiXHh7NUU5
fVx4ezVENX1ceHs1QkN9XHh7NUU4fVx4ezVENH0gXHh7NUU5fVx4ezVENX1ceHs1QkN9XHh7NUU4
fVx4ezVENH1ceHtEfVx4ezVFOX1ceHs1RDV9XHh7NUJDfVx4ezVFOH1ceHs1RDR9IgpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktbGlu
ZWJyZWFrLTAwMy1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1saW5lYnJlYWstMDAzLWV4
cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiA3ODQ4NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLWxpbmVicmVhay0wMDMtZXhwZWN0ZWQu
Y2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLWVhMzUxMGQwY2I0OTQxZDU5NTk0
NjM5NzE4NjE2YzM3ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorY2UxOGI2NDA1MTdkOTY5
Njc5OGNkMzQxY2Q3MmNmNGIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1saW5lYnJl
YWstMDAzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1saW5lYnJlYWstMDAzLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzg0ODQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0
L2ludGVybmF0aW9uYWwvYmlkaS1saW5lYnJlYWstMDAzLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMTEsNyArMTEsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgxMzgKICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgNDc4eDE4CiAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMSkgd2lkdGggMjkyOiAiSWYgdGhpcyB0ZXN0IHN1Y2NlZWRzLCB5b3UgY2Fu
IHNlZSB0aHJlZSB3b3JkcyBcIiIKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjkyLDEpIHdpZHRo
IDM3IFJUTDogIlx4ezVFOX1ceHs1RDV9XHh7NUJDfVx4ezVFOH1ceHs1RDR9IgotICAgICAgICAg
IHRleHQgcnVuIGF0ICgzMjksMSkgd2lkdGggMTQ5OiAiXCIsIHNlcGFyYXRlZCB3aXRoIHNwYWNl
LiIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzI4LDEpIHdpZHRoIDE1MDogIlwiLCBzZXBhcmF0
ZWQgd2l0aCBzcGFjZS4iCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsODcpIHNpemUgNzg0
eDE5Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDExNXgxOAotICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDExNSBSVEw6ICJceHs1RTl9XHh7NUQ1fVx4
ezVCQ31ceHs1RTh9XHh7NUQ0fSBceHs1RTl9XHh7NUQ1fVx4ezVCQ31ceHs1RTh9XHh7NUQ0fVx4
e0R9XHh7NUU5fVx4ezVENX1ceHs1QkN9XHh7NUU4fVx4ezVENH0iCisgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDExM3gxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDEpIHdpZHRoIDExMyBSVEw6ICJceHs1RTl9XHh7NUQ1fVx4ezVCQ31ceHs1RTh9XHh7NUQ0fSBc
eHs1RTl9XHh7NUQ1fVx4ezVCQ31ceHs1RTh9XHh7NUQ0fVx4e0R9XHh7NUU5fVx4ezVENX1ceHs1
QkN9XHh7NUU4fVx4ezVENH0iCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90
ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1saXN0Ym94LWF0c3VpLWV4cGVjdGVkLmNoZWNrc3VtCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRp
b25hbC9iaWRpLWxpc3Rib3gtYXRzdWktZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDc4NDg0
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2Jp
ZGktbGlzdGJveC1hdHN1aS1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSAr
MSBAQAotMjA3ZTcwOWUwN2ViYWYzZWQxNTFhYzE4ODliYjFhMzYKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCitkYjUzNzE4NTRmZjUxNDNiYjI3ZGMyMDAzZDllYTA4ZgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQv
aW50ZXJuYXRpb25hbC9iaWRpLWxpc3Rib3gtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGkt
bGlzdGJveC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gNzg0ODQpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1saXN0Ym94LWV4cGVj
dGVkLmNoZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi03NjI5NTNlNTAwYWNlMmZi
ZjVjNzU5YWI0MTgyNThiMQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2ExYThiY2FlMzg1
ODUxMTBhYzIyZDU4OTdjZGVjZGJjClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktbWVu
dWxpc3QtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktbWVudWxpc3QtZXhwZWN0ZWQuY2hl
Y2tzdW0JKHJldmlzaW9uIDc4NDg0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
dGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktbWVudWxpc3QtZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtp
bmcgY29weSkKQEAgLTEgKzEgQEAKLTE1MGI2MDgzYTBhYmM1ZDlkYjU0OWUyYzY2MzMxZDI2Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorNzM0N2U2OWRlZjljYjk3NDhkN2VmMDM0Y2UzM2Q0
MzMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1tZW51bGlzdC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5h
dGlvbmFsL2JpZGktbWVudWxpc3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3ODQ4NCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLW1lbnVs
aXN0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTcsNyArMTcsNyBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgUmVuZGVyTWVudUxpc3Qge1NFTEVDVH0gYXQg
KDAsMjApIHNpemUgMTAweDE4IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAxMDB4MTgKICAgICAgICAgICAgIFJlbmRlclRl
eHQgYXQgKDE3LDIpIHNpemUgNjB4MTMKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE3LDIp
IHdpZHRoIDQxIFJUTDogIlx4ezVEMH1ceHs1RTR9XHh7NUU4fVx4ezVFMX1ceHs1REV9XHh7NUQ1
fVx4ezVERn0iCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNywyKSB3aWR0aCA0MiBSVEw6
ICJceHs1RDB9XHh7NUU0fVx4ezVFOH1ceHs1RTF9XHh7NURFfVx4ezVENX1ceHs1REZ9IgogICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTgsMikgd2lkdGggMTk6ICJhYmMiCiAgICAgICAgIFJl
bmRlckJSIHtCUn0gYXQgKDEwMCwzMykgc2l6ZSAweDAKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgwLDExMCkgc2l6ZSAxMDB4MTkKQEAgLTMzLDcgKzMzLDcgQEAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkg
c2l6ZSAyMDB4MTgKICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDgsMikgc2l6ZSA2MHgxMwog
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOCwyKSB3aWR0aCAxOTogImFiYyIKLSAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDI3LDIpIHdpZHRoIDQxIFJUTDogIlx4ezVEMH1ceHs1RTR9XHh7
NUU4fVx4ezVFMX1ceHs1REV9XHh7NUQ1fVx4ezVERn0iCisgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgyNiwyKSB3aWR0aCA0MiBSVEw6ICJceHs1RDB9XHh7NUU0fVx4ezVFOH1ceHs1RTF9XHh7
NURFfVx4ezVENX1ceHs1REZ9IgogICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgyMDAsNTEpIHNp
emUgMHgwCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxODcpIHNpemUgMjAweDE5CiAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDgyeDE4CkBAIC00OCw3ICs0
OCw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgIFJlbmRlckJsb2Nr
IChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgMTAweDE4CiAgICAgICAgICAgICBSZW5kZXJUZXh0
IGF0ICg4LDIpIHNpemUgNjB4MTMKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDgsMikgd2lk
dGggMTk6ICJhYmMiCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNywyKSB3aWR0aCA0MSBS
VEw6ICJceHs1RDB9XHh7NUU0fVx4ezVFOH1ceHs1RTF9XHh7NURFfVx4ezVENX1ceHs1REZ9Igor
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjYsMikgd2lkdGggNDIgUlRMOiAiXHh7NUQwfVx4
ezVFNH1ceHs1RTh9XHh7NUUxfVx4ezVERX1ceHs1RDV9XHh7NURGfSIKICAgICAgICAgUmVuZGVy
QlIge0JSfSBhdCAoMTAwLDUxKSBzaXplIDB4MAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDAsMjY0KSBzaXplIDEwMHgxOQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkg
c2l6ZSA4MngxOApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRl
cm5hdGlvbmFsL2JpZGktbWlycm9yLWhlLWFyLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRp
LW1pcnJvci1oZS1hci1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gNzg0ODQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1taXJyb3It
aGUtYXItZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLTg2Mjcy
OGUwY2VkNzM1MTNiZTVhZGE2ODIxZmU1MzY4ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor
YzgyYzBiMWFiYTdkNDkzMDY4NDMxYmNkNTZjNTZhMzEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9u
YWwvYmlkaS1taXJyb3ItaGUtYXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLW1pcnJvci1oZS1h
ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDc4NDg0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktbWlycm9yLWhlLWFyLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMTAsMTEgKzEwLDExIEBAIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMyNywwKSBzaXplIDQ1N3gx
OAogICAgICAgICAgIHRleHQgcnVuIGF0ICgzMjcsMCkgd2lkdGggNDU3OiAiVGhlIHBhcmVudGhl
c2lzIHNob3VsZCBiZSBkaXNwbGF5ZWQgYXMgXCIoLi4uKS4uLlwiIHZpc3VhbGx5IGZyb20gbGVm
dCB0byByaWdodCIKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDY4KSBzaXplIDc4NHgx
OQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDc1MCwxKSBzaXplIDM0eDE4Ci0gICAg
ICAgICAgdGV4dCBydW4gYXQgKDc1MCwxKSB3aWR0aCAzNCBSVEw6ICJceHs1RTl9KFx4ezVFOX0p
IgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDc1MSwxKSBzaXplIDMzeDE4CisgICAg
ICAgICAgdGV4dCBydW4gYXQgKDc1MSwxKSB3aWR0aCAzMyBSVEw6ICJceHs1RTl9KFx4ezVFOX0p
IgogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsODcpIHNpemUgNzg0eDE4Ci0gICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzYyLDApIHNpemUgMjJ4MTgKLSAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNzYyLDApIHdpZHRoIDIyIFJUTDogIlx4ezVDNn0oXHh7NUM2fSkiCisgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzUwLDApIHNpemUgMzR4MTgKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNzUwLDApIHdpZHRoIDM0IFJUTDogIlx4ezVDNn0oXHh7NUM2fSkiCiAgICAgICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxMDUpIHNpemUgNzg0eDI4CiAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoNzU4LDIpIHNpemUgMjZ4MTgKICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NzU4LDIpIHdpZHRoIDI2IFJUTDogIlx4ezY0NH0oXHh7NjQ0fSkiCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1uZXV0cmFsLWRpcmVj
dGlvbmFsaXR5LXBhcmFncmFwaC1zdGFydC1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1u
ZXV0cmFsLWRpcmVjdGlvbmFsaXR5LXBhcmFncmFwaC1zdGFydC1leHBlY3RlZC5jaGVja3N1bQko
cmV2aXNpb24gNzg0ODQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2lu
dGVybmF0aW9uYWwvYmlkaS1uZXV0cmFsLWRpcmVjdGlvbmFsaXR5LXBhcmFncmFwaC1zdGFydC1l
eHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAotZGEzZTE3YzdiNmI2
MjJiNDU4NDhiODNlMGRhZWI2YjMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCiszNTk3NWI2
OWU4MjMyZWEzYTIzZDFhNmZjZTI2NGI5YgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRp
LW5ldXRyYWwtcnVuLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLW5ldXRyYWwtcnVuLWV4
cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiA3ODQ4NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLW5ldXRyYWwtcnVuLWV4cGVjdGVkLmNo
ZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi1kMDE5MTM5NDBjNWZhOGE5M2M5MWM3
ZjE5ZjNhNzE4YgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzk2NjZjYjljNDUyMDIwMzNj
NTQ0ZTY5ZjUwODkxMWMwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktbmV1dHJhbC1y
dW4tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLW5ldXRyYWwtcnVuLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNzg0ODQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVy
bmF0aW9uYWwvYmlkaS1uZXV0cmFsLXJ1bi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEzLDcgKzEzLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NzEwNgogICAgICAgICBSZW5k
ZXJCbG9jayB7UH0gYXQgKDAsMzQpIHNpemUgNzY5eDE5CiAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDEpIHNpemUgNDh4MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEp
IHdpZHRoIDIwIFJUTDogIlx4ezVEMH1ceHs1RDF9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDIwLDEpIHdpZHRoIDI4OiAiKF5jZCIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOSwxKSB3
aWR0aCAyOTogIiheY2QiCiAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCw2OSkgc2l6ZSA3
Njl4MjgKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMikgc2l6ZSA0M3gxOAog
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMikgd2lkdGggMTUgUlRMOiAiXHh7NjI3fVx4ezYy
OH0iCkBAIC0yNSw3ICsyNSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDcxMDYKICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSA2NHgxOAogICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMSkgd2lkdGggMTY6ICIxMiIKICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgxNiwxKSB3aWR0aCAyMCBSVEw6ICJceHs1RDB9XHh7NUQxfSIKLSAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgzNiwxKSB3aWR0aCAyODogIiheY2QiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MzUsMSkgd2lkdGggMjk6ICIoXmNkIgogICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTgy
KSBzaXplIDc2OXgyOAogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyKSBzaXpl
IDU5eDE4CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyKSB3aWR0aCAxNjogIjEyIgpAQCAt
NDAsNyArNDAsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg3MTA2CiAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDIpIHNpemUgNjR4MTgKICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDIpIHdpZHRoIDE2OiAiXHh7NjYxfVx4ezY2Mn0iCiAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMTYsMikgd2lkdGggMjAgUlRMOiAiXHh7NUQwfVx4ezVEMX0iCi0gICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMzYsMikgd2lkdGggMjg6ICIoXmNkIgorICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDM1LDIpIHdpZHRoIDI5OiAiKF5jZCIKICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgw
LDMxNCkgc2l6ZSA3Njl4MjgKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMikg
c2l6ZSA1OXgxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMikgd2lkdGggMTY6ICJceHs2
NjF9XHh7NjYyfSIKQEAgLTcxLDI4ICs3MSwyOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg3
MTA2CiAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCw1NzUpIHNpemUgNzY5eDE5CiAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgNjR4MTgKICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDI4IFJUTDogIiheXHh7NUQyfVx4ezVEM30iCi0gICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMjgsMSkgd2lkdGggMTY6ICIxMiIKLSAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICg0NCwxKSB3aWR0aCAyMCBSVEw6ICJceHs1RDB9XHh7NUQxfSIKKyAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgyNywxKSB3aWR0aCAxNzogIjEyIgorICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDQzLDEpIHdpZHRoIDIxIFJUTDogIlx4ezVEMH1ceHs1RDF9IgogICAgICAgICBSZW5k
ZXJCbG9jayB7UH0gYXQgKDAsNjEwKSBzaXplIDc2OXgyOAogICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwyKSBzaXplIDU5eDE4CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwy
KSB3aWR0aCAyOCBSVEw6ICIoXlx4ezVEMn1ceHs1RDN9IgotICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDI4LDIpIHdpZHRoIDE2OiAiMTIiCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDQsMikg
d2lkdGggMTUgUlRMOiAiXHh7NjI3fVx4ezYyOH0iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MjcsMikgd2lkdGggMTc6ICIxMiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0MywyKSB3aWR0
aCAxNiBSVEw6ICJceHs2Mjd9XHh7NjI4fSIKICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgw
LDY1NCkgc2l6ZSA3Njl4MjgKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMikg
c2l6ZSA1OXgxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMikgd2lkdGggMTU6ICJhYiIK
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNSwyKSB3aWR0aCAyOCBSVEw6ICIoXlx4ezVEMn1c
eHs1RDN9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQzLDIpIHdpZHRoIDE2OiAiXHh7NjYx
fVx4ezY2Mn0iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDIsMikgd2lkdGggMTc6ICJceHs2
NjF9XHh7NjYyfSIKICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDY5OCkgc2l6ZSA3Njl4
MjgKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMikgc2l6ZSA2NHgxOAogICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMikgd2lkdGggMjggUlRMOiAiKF5ceHs1RDJ9XHh7NUQz
fSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyOCwyKSB3aWR0aCAxNjogIlx4ezY2MX1ceHs2
NjJ9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ0LDIpIHdpZHRoIDIwIFJUTDogIlx4ezVE
MH1ceHs1RDF9IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI3LDIpIHdpZHRoIDE3OiAiXHh7
NjYxfVx4ezY2Mn0iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDMsMikgd2lkdGggMjEgUlRM
OiAiXHh7NUQwfVx4ezVEMX0iCiAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCw3NDIpIHNp
emUgNzY5eDI4CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDIpIHNpemUgNTl4
MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIpIHdpZHRoIDI4IFJUTDogIiheXHh7NUQy
fVx4ezVEM30iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjgsMikgd2lkdGggMTY6ICJceHs2
NjF9XHh7NjYyfSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0NCwyKSB3aWR0aCAxNSBSVEw6
ICJceHs2Mjd9XHh7NjI4fSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNywyKSB3aWR0aCAx
NzogIlx4ezY2MX1ceHs2NjJ9IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQzLDIpIHdpZHRo
IDE2IFJUTDogIlx4ezYyN31ceHs2Mjh9IgogICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAs
Nzg2KSBzaXplIDc2OXgxOQogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBz
aXplIDM1eDE4CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCA3OiAiXHh7MjAy
QX0/IgpAQCAtMTAxLDcgKzEwMSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDcxMDYKICAg
ICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDgyMSkgc2l6ZSA3Njl4MTkKICAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSAzNXgxOAogICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMSkgd2lkdGggMjggUlRMOiAiXHh7MjAyQ30oXlx4ezVEMn1ceHs1RDN9IgotICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDI4LDEpIHdpZHRoIDcgUlRMOiAiXHh7MjAyQn0/IgorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDI3LDEpIHdpZHRoIDggUlRMOiAiXHh7MjAyQn0/IgogICAg
ICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsODU2KSBzaXplIDc2OXgyOAogICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyKSBzaXplIDQ1eDE4CiAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwyKSB3aWR0aCAyODogImFiKF4iCkBAIC0xNTQsMTU0ICsxNTQsMTU0IEBAIGxheWVy
IGF0ICgwLDApIHNpemUgNzg1eDcxMDYKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMSkgc2l6ZSA2M3gxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lkdGggNDQ6
ICJhYiheMzQiCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDQsMSkgd2lkdGggMTIgUlRMOiAi
XHh7NUU5fSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1NiwxKSB3aWR0aCA3OiAieiIKKyAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg1NSwxKSB3aWR0aCA4OiAieiIKICAgICAgICAgUmVuZGVy
QmxvY2sge1B9IGF0ICgwLDEzNzUpIHNpemUgNzY5eDE5Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDEpIHNpemUgNjh4MTgKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMSkgc2l6ZSA2N3gxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lkdGgg
MTIgUlRMOiAiXHh7NUU5fSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMiwxKSB3aWR0aCAx
NjogIjM0IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI4LDEpIHdpZHRoIDMzIFJUTDogIlx4
ezVEMH1ceHs1RDF9KF4iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjEsMSkgd2lkdGggNzog
InoiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTEsMSkgd2lkdGggMTc6ICIzNCIKKyAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgyNywxKSB3aWR0aCAzMyBSVEw6ICJceHs1RDB9XHh7NUQxfShe
IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDU5LDEpIHdpZHRoIDg6ICJ6IgogICAgICAgICBS
ZW5kZXJCbG9jayB7UH0gYXQgKDAsMTQxMCkgc2l6ZSA3Njl4MjgKICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMikgc2l6ZSA2M3gxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMikgd2lkdGggMTIgUlRMOiAiXHh7NUU5fSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgx
MiwyKSB3aWR0aCAxNjogIjM0IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI4LDIpIHdpZHRo
IDI4IFJUTDogIlx4ezYyN31ceHs2Mjh9KF4iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTYs
Mikgd2lkdGggNzogInoiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTEsMikgd2lkdGggMTc6
ICIzNCIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNywyKSB3aWR0aCAyOSBSVEw6ICJceHs2
Mjd9XHh7NjI4fSheIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDU1LDIpIHdpZHRoIDg6ICJ6
IgogICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTQ1NCkgc2l6ZSA3Njl4MTkKICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSA3OXgxOAogICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMSkgd2lkdGggNjA6ICJhYjEyKF4zNCIKICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICg2MCwxKSB3aWR0aCAxMiBSVEw6ICJceHs1RTl9IgotICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDcyLDEpIHdpZHRoIDc6ICJ6IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDcxLDEp
IHdpZHRoIDg6ICJ6IgogICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTQ4OSkgc2l6ZSA3
Njl4MTkKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSA4NHgxOAor
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDgzeDE4CiAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCAxMiBSVEw6ICJceHs1RTl9IgotICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDEyLDEpIHdpZHRoIDE2OiAiMzQiCi0gICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMjgsMSkgd2lkdGggMTMgUlRMOiAiKF4iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NDEsMSkgd2lkdGggMTY6ICIxMiIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1NywxKSB3aWR0
aCAyMCBSVEw6ICJceHs1RDB9XHh7NUQxfSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3Nywx
KSB3aWR0aCA3OiAieiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMSwxKSB3aWR0aCAxNzog
IjM0IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI3LDEpIHdpZHRoIDE0IFJUTDogIiheIgor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQwLDEpIHdpZHRoIDE3OiAiMTIiCisgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoNTYsMSkgd2lkdGggMjAgUlRMOiAiXHh7NUQwfVx4ezVEMX0iCisgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNzUsMSkgd2lkdGggODogInoiCiAgICAgICAgIFJlbmRlckJs
b2NrIHtQfSBhdCAoMCwxNTI0KSBzaXplIDc2OXgyOAogICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwyKSBzaXplIDc5eDE4CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyKSB3
aWR0aCAxMiBSVEw6ICJceHs1RTl9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyLDIpIHdp
ZHRoIDE2OiAiMzQiCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjgsMikgd2lkdGggMTMgUlRM
OiAiKF4iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDEsMikgd2lkdGggMTY6ICIxMiIKLSAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg1NywyKSB3aWR0aCAxNSBSVEw6ICJceHs2Mjd9XHh7NjI4
fSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3MiwyKSB3aWR0aCA3OiAieiIKKyAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxMSwyKSB3aWR0aCAxNzogIjM0IgorICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDI3LDIpIHdpZHRoIDE0IFJUTDogIiheIgorICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDQwLDIpIHdpZHRoIDE3OiAiMTIiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTYsMikgd2lk
dGggMTYgUlRMOiAiXHh7NjI3fVx4ezYyOH0iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzEs
Mikgd2lkdGggODogInoiCiAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxNTY4KSBzaXpl
IDc2OXgyOAogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyKSBzaXplIDc5eDE4
CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyKSB3aWR0aCAxNTogImFiIgogICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDE1LDIpIHdpZHRoIDE2OiAiXHh7NjYxfVx4ezY2Mn0iCiAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMzEsMikgd2lkdGggMjk6ICIoXjM0IgogICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDYwLDIpIHdpZHRoIDEyIFJUTDogIlx4ezVFOX0iCi0gICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNzIsMikgd2lkdGggNzogInoiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzEs
Mikgd2lkdGggODogInoiCiAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxNjEyKSBzaXpl
IDc2OXgyOAotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyKSBzaXplIDg0eDE4
CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDIpIHNpemUgODN4MTgKICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDIpIHdpZHRoIDEyIFJUTDogIlx4ezVFOX0iCi0gICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMTIsMikgd2lkdGggMTY6ICIzNCIKLSAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgyOCwyKSB3aWR0aCAxMyBSVEw6ICIoXiIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg0MSwyKSB3aWR0aCAxNjogIlx4ezY2MX1ceHs2NjJ9IgotICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDU3LDIpIHdpZHRoIDIwIFJUTDogIlx4ezVEMH1ceHs1RDF9IgotICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDc3LDIpIHdpZHRoIDc6ICJ6IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEx
LDIpIHdpZHRoIDE3OiAiMzQiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjcsMikgd2lkdGgg
MTQgUlRMOiAiKF4iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDAsMikgd2lkdGggMTc6ICJc
eHs2NjF9XHh7NjYyfSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1NiwyKSB3aWR0aCAyMCBS
VEw6ICJceHs1RDB9XHh7NUQxfSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3NSwyKSB3aWR0
aCA4OiAieiIKICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDE2NTYpIHNpemUgNzY5eDI4
CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDIpIHNpemUgNzl4MTgKICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDIpIHdpZHRoIDEyIFJUTDogIlx4ezVFOX0iCi0gICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMTIsMikgd2lkdGggMTY6ICIzNCIKLSAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgyOCwyKSB3aWR0aCAxMyBSVEw6ICIoXiIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg0MSwyKSB3aWR0aCAxNjogIlx4ezY2MX1ceHs2NjJ9IgotICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDU3LDIpIHdpZHRoIDE1IFJUTDogIlx4ezYyN31ceHs2Mjh9IgotICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDcyLDIpIHdpZHRoIDc6ICJ6IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEx
LDIpIHdpZHRoIDE3OiAiMzQiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjcsMikgd2lkdGgg
MTQgUlRMOiAiKF4iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDAsMikgd2lkdGggMTc6ICJc
eHs2NjF9XHh7NjYyfSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1NiwyKSB3aWR0aCAxNiBS
VEw6ICJceHs2Mjd9XHh7NjI4fSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3MSwyKSB3aWR0
aCA4OiAieiIKICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDE3MDApIHNpemUgNzY5eDE5
CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgNTV4MTgKICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDc6ICJceHsyMDJBfT8iCiAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoNywxKSB3aWR0aCAyOTogIlx4ezIwMkN9KF4zNCIKICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgzNiwxKSB3aWR0aCAxMiBSVEw6ICJceHs1RTl9IgotICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDQ4LDEpIHdpZHRoIDc6ICJ6IgorICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDQ3LDEpIHdpZHRoIDg6ICJ6IgogICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTczNSkg
c2l6ZSA3Njl4MTkKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSA1
NXgxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lkdGggMTIgUlRMOiAiXHh7NUU5
fSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMiwxKSB3aWR0aCAxNjogIjM0IgotICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDI4LDEpIHdpZHRoIDEzIFJUTDogIlx4ezIwMkN9KF4iCi0gICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNDEsMSkgd2lkdGggNyBSVEw6ICJceHsyMDJCfT8iCi0gICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNDgsMSkgd2lkdGggNzogInoiCisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTEsMSkgd2lkdGggMTc6ICIzNCIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgy
NywxKSB3aWR0aCAxNCBSVEw6ICJceHsyMDJDfSheIgorICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDQwLDEpIHdpZHRoIDggUlRMOiAiXHh7MjAyQn0/IgorICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDQ3LDEpIHdpZHRoIDg6ICJ6IgogICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTc3MCkg
c2l6ZSA3Njl4MjgKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMikgc2l6ZSA2
M3gxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMikgd2lkdGggMjg6ICJhYiheIgogICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDI4LDIpIHdpZHRoIDEyIFJUTDogIlx4ezVFOX0iCi0gICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNDAsMikgd2lkdGggMTY6ICJceHs2NjN9XHh7NjY0fSIKLSAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg1NiwyKSB3aWR0aCA3OiAieiIKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgzOSwyKSB3aWR0aCAxNzogIlx4ezY2M31ceHs2NjR9IgorICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDU1LDIpIHdpZHRoIDg6ICJ6IgogICAgICAgICBSZW5kZXJCbG9jayB7UH0g
YXQgKDAsMTgxNCkgc2l6ZSA3Njl4MjgKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMikgc2l6ZSA2OHgxOAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyKSBz
aXplIDY3eDE4CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyKSB3aWR0aCAxMiBSVEw6ICJc
eHs1RTl9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyLDIpIHdpZHRoIDE2OiAiXHh7NjYz
fVx4ezY2NH0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjgsMikgd2lkdGggMzMgUlRMOiAi
XHh7NUQwfVx4ezVEMX0oXiIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2MSwyKSB3aWR0aCA3
OiAieiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMSwyKSB3aWR0aCAxNzogIlx4ezY2M31c
eHs2NjR9IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI3LDIpIHdpZHRoIDMzIFJUTDogIlx4
ezVEMH1ceHs1RDF9KF4iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTksMikgd2lkdGggODog
InoiCiAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxODU4KSBzaXplIDc2OXgyOAogICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyKSBzaXplIDYzeDE4CiAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwyKSB3aWR0aCAxMiBSVEw6ICJceHs1RTl9IgotICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDEyLDIpIHdpZHRoIDE2OiAiXHh7NjYzfVx4ezY2NH0iCi0gICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMjgsMikgd2lkdGggMjggUlRMOiAiXHh7NjI3fVx4ezYyOH0oXiIKLSAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg1NiwyKSB3aWR0aCA3OiAieiIKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgxMSwyKSB3aWR0aCAxNzogIlx4ezY2M31ceHs2NjR9IgorICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDI3LDIpIHdpZHRoIDI5IFJUTDogIlx4ezYyN31ceHs2Mjh9KF4iCisgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNTUsMikgd2lkdGggODogInoiCiAgICAgICAgIFJlbmRlckJs
b2NrIHtQfSBhdCAoMCwxOTAyKSBzaXplIDc2OXgyOAogICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwyKSBzaXplIDc5eDE4CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyKSB3
aWR0aCA0NDogImFiMTIoXiIKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0NCwyKSB3aWR0aCAx
MiBSVEw6ICJceHs1RTl9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDU2LDIpIHdpZHRoIDE2
OiAiXHh7NjYzfVx4ezY2NH0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzIsMikgd2lkdGgg
NzogInoiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTUsMikgd2lkdGggMTc6ICJceHs2NjN9
XHh7NjY0fSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3MSwyKSB3aWR0aCA4OiAieiIKICAg
ICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDE5NDYpIHNpemUgNzY5eDI4Ci0gICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDIpIHNpemUgODR4MTgKKyAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMikgc2l6ZSA4M3gxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMikgd2lkdGggMTIgUlRMOiAiXHh7NUU5fSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgx
MiwyKSB3aWR0aCAxNjogIlx4ezY2M31ceHs2NjR9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDI4LDIpIHdpZHRoIDEzIFJUTDogIiheIgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQxLDIp
IHdpZHRoIDE2OiAiMTIiCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTcsMikgd2lkdGggMjAg
UlRMOiAiXHh7NUQwfVx4ezVEMX0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzcsMikgd2lk
dGggNzogInoiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTEsMikgd2lkdGggMTc6ICJceHs2
NjN9XHh7NjY0fSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNywyKSB3aWR0aCAxNCBSVEw6
ICIoXiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0MCwyKSB3aWR0aCAxNzogIjEyIgorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDU2LDIpIHdpZHRoIDIwIFJUTDogIlx4ezVEMH1ceHs1RDF9
IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDc1LDIpIHdpZHRoIDg6ICJ6IgogICAgICAgICBS
ZW5kZXJCbG9jayB7UH0gYXQgKDAsMTk5MCkgc2l6ZSA3Njl4MjgKICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMikgc2l6ZSA3OXgxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMikgd2lkdGggMTIgUlRMOiAiXHh7NUU5fSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgx
MiwyKSB3aWR0aCAxNjogIlx4ezY2M31ceHs2NjR9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDI4LDIpIHdpZHRoIDEzIFJUTDogIiheIgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQxLDIp
IHdpZHRoIDE2OiAiMTIiCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTcsMikgd2lkdGggMTUg
UlRMOiAiXHh7NjI3fVx4ezYyOH0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzIsMikgd2lk
dGggNzogInoiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTEsMikgd2lkdGggMTc6ICJceHs2
NjN9XHh7NjY0fSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNywyKSB3aWR0aCAxNCBSVEw6
ICIoXiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0MCwyKSB3aWR0aCAxNzogIjEyIgorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDU2LDIpIHdpZHRoIDE2IFJUTDogIlx4ezYyN31ceHs2Mjh9
IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDcxLDIpIHdpZHRoIDg6ICJ6IgogICAgICAgICBS
ZW5kZXJCbG9jayB7UH0gYXQgKDAsMjAzNCkgc2l6ZSA3Njl4MjgKICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMikgc2l6ZSA3OXgxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMikgd2lkdGggMTU6ICJhYiIKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNSwyKSB3aWR0
aCAxMiBSVEw6ICJceHs1RTl9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI3LDIpIHdpZHRo
IDE2OiAiXHh7NjYzfVx4ezY2NH0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDMsMikgd2lk
dGggMTMgUlRMOiAiKF4iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTYsMikgd2lkdGggMTY6
ICJceHs2NjF9XHh7NjYyfSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3MiwyKSB3aWR0aCA3
OiAieiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNiwyKSB3aWR0aCAxNzogIlx4ezY2M31c
eHs2NjR9IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQyLDIpIHdpZHRoIDE0IFJUTDogIihe
IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDU1LDIpIHdpZHRoIDE3OiAiXHh7NjYxfVx4ezY2
Mn0iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzEsMikgd2lkdGggODogInoiCiAgICAgICAg
IFJlbmRlckJsb2NrIHtQfSBhdCAoMCwyMDc4KSBzaXplIDc2OXgyOAotICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwyKSBzaXplIDg0eDE4CisgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDIpIHNpemUgODN4MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIp
IHdpZHRoIDEyIFJUTDogIlx4ezVFOX0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTIsMikg
d2lkdGggMTY6ICJceHs2NjN9XHh7NjY0fSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyOCwy
KSB3aWR0aCAxMyBSVEw6ICIoXiIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0MSwyKSB3aWR0
aCAxNjogIlx4ezY2MX1ceHs2NjJ9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDU3LDIpIHdp
ZHRoIDIwIFJUTDogIlx4ezVEMH1ceHs1RDF9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDc3
LDIpIHdpZHRoIDc6ICJ6IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDExLDIpIHdpZHRoIDE3
OiAiXHh7NjYzfVx4ezY2NH0iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjcsMikgd2lkdGgg
MTQgUlRMOiAiKF4iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDAsMikgd2lkdGggMTc6ICJc
eHs2NjF9XHh7NjYyfSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1NiwyKSB3aWR0aCAyMCBS
VEw6ICJceHs1RDB9XHh7NUQxfSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3NSwyKSB3aWR0
aCA4OiAieiIKICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDIxMjIpIHNpemUgNzY5eDI4
CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDIpIHNpemUgNzl4MTgKICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDIpIHdpZHRoIDEyIFJUTDogIlx4ezVFOX0iCi0gICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMTIsMikgd2lkdGggMTY6ICJceHs2NjN9XHh7NjY0fSIKLSAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgyOCwyKSB3aWR0aCAxMyBSVEw6ICIoXiIKLSAgICAgICAgICAg
IHRleHQgcnVuIGF0ICg0MSwyKSB3aWR0aCAxNjogIlx4ezY2MX1ceHs2NjJ9IgotICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDU3LDIpIHdpZHRoIDE1IFJUTDogIlx4ezYyN31ceHs2Mjh9IgotICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDcyLDIpIHdpZHRoIDc6ICJ6IgorICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDExLDIpIHdpZHRoIDE3OiAiXHh7NjYzfVx4ezY2NH0iCisgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMjcsMikgd2lkdGggMTQgUlRMOiAiKF4iCisgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoNDAsMikgd2lkdGggMTc6ICJceHs2NjF9XHh7NjYyfSIKKyAgICAgICAgICAgIHRleHQg
cnVuIGF0ICg1NiwyKSB3aWR0aCAxNiBSVEw6ICJceHs2Mjd9XHh7NjI4fSIKKyAgICAgICAgICAg
IHRleHQgcnVuIGF0ICg3MSwyKSB3aWR0aCA4OiAieiIKICAgICAgICAgUmVuZGVyQmxvY2sge1B9
IGF0ICgwLDIxNjYpIHNpemUgNzY5eDI4CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDIpIHNpemUgNTV4MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIpIHdpZHRoIDc6
ICJceHsyMDJBfT8iCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNywyKSB3aWR0aCAxMzogIlx4
ezIwMkN9KF4iCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjAsMikgd2lkdGggMTIgUlRMOiAi
XHh7NUU5fSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMiwyKSB3aWR0aCAxNjogIlx4ezY2
M31ceHs2NjR9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ4LDIpIHdpZHRoIDc6ICJ6Igor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMxLDIpIHdpZHRoIDE3OiAiXHh7NjYzfVx4ezY2NH0i
CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDcsMikgd2lkdGggODogInoiCiAgICAgICAgIFJl
bmRlckJsb2NrIHtQfSBhdCAoMCwyMjEwKSBzaXplIDc2OXgyOAogICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwyKSBzaXplIDU1eDE4CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwyKSB3aWR0aCAxMiBSVEw6ICJceHs1RTl9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEy
LDIpIHdpZHRoIDE2OiAiXHh7NjYzfVx4ezY2NH0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MjgsMikgd2lkdGggMTMgUlRMOiAiXHh7MjAyQ30oXiIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg0MSwyKSB3aWR0aCA3IFJUTDogIlx4ezIwMkJ9PyIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg0OCwyKSB3aWR0aCA3OiAieiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMSwyKSB3aWR0
aCAxNzogIlx4ezY2M31ceHs2NjR9IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI3LDIpIHdp
ZHRoIDE0IFJUTDogIlx4ezIwMkN9KF4iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDAsMikg
d2lkdGggOCBSVEw6ICJceHsyMDJCfT8iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDcsMikg
d2lkdGggODogInoiCiAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwyMjU0KSBzaXplIDc2
OXgxOAogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMzeDE4CiAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyODogImFiKF4iCkBAIC0zMTAsOSAr
MzEwLDkgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NzEwNgogICAgICAgICBSZW5kZXJCbG9j
ayB7UH0gYXQgKDAsMjI4OCkgc2l6ZSA3Njl4MTkKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMSkgc2l6ZSAzOHgxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lk
dGggMjAgUlRMOiAiXHh7NUQwfVx4ezVEMX0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjAs
MSkgd2lkdGggMTM6ICIoXiIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMywxKSB3aWR0aCA1
OiAiXHh7MjAyQX0hIgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM4LDEpIHdpZHRoIDA6ICJc
eHsyMDJDfSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOSwxKSB3aWR0aCAxNDogIiheIgor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMyLDEpIHdpZHRoIDY6ICJceHsyMDJBfSEiCisgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMzcsMSkgd2lkdGggMTogIlx4ezIwMkN9IgogICAgICAgICBS
ZW5kZXJCbG9jayB7UH0gYXQgKDAsMjMyMykgc2l6ZSA3Njl4MjgKICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMikgc2l6ZSAzM3gxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMikgd2lkdGggMTUgUlRMOiAiXHh7NjI3fVx4ezYyOH0iCkBAIC0zMjgsOSArMzI4LDkgQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NzEwNgogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwxKSBzaXplIDU0eDE4CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0
aCAxNjogIjEyIgogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE2LDEpIHdpZHRoIDIwIFJUTDog
Ilx4ezVEMH1ceHs1RDF9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM2LDEpIHdpZHRoIDEz
OiAiKF4iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDksMSkgd2lkdGggNTogIlx4ezIwMkF9
ISIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1NCwxKSB3aWR0aCAwOiAiXHh7MjAyQ30iCisg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzUsMSkgd2lkdGggMTQ6ICIoXiIKKyAgICAgICAgICAg
IHRleHQgcnVuIGF0ICg0OCwxKSB3aWR0aCA2OiAiXHh7MjAyQX0hIgorICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDUzLDEpIHdpZHRoIDE6ICJceHsyMDJDfSIKICAgICAgICAgUmVuZGVyQmxvY2sg
e1B9IGF0ICgwLDI0MzYpIHNpemUgNzY5eDI4CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDIpIHNpemUgNDl4MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIpIHdpZHRo
IDE2OiAiMTIiCkBAIC0zNDksOSArMzQ5LDkgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NzEw
NgogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyKSBzaXplIDU0eDE4CiAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyKSB3aWR0aCAxNjogIlx4ezY2MX1ceHs2NjJ9IgogICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDE2LDIpIHdpZHRoIDIwIFJUTDogIlx4ezVEMH1ceHs1RDF9
IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM2LDIpIHdpZHRoIDEzOiAiKF4iCi0gICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNDksMikgd2lkdGggNTogIlx4ezIwMkF9ISIKLSAgICAgICAgICAg
IHRleHQgcnVuIGF0ICg1NCwyKSB3aWR0aCAwOiAiXHh7MjAyQ30iCisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMzUsMikgd2lkdGggMTQ6ICIoXiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0
OCwyKSB3aWR0aCA2OiAiXHh7MjAyQX0hIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDUzLDIp
IHdpZHRoIDE6ICJceHsyMDJDfSIKICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDI1Njgp
IHNpemUgNzY5eDI4CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDIpIHNpemUg
NDl4MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIpIHdpZHRoIDE2OiAiXHh7NjYxfVx4
ezY2Mn0iCkBAIC0zODAsNyArMzgwLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NzEwNgog
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDM4eDE4CiAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCA1IFJUTDogIlx4ezIwMkJ9ISIKICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICg1LDEpIHdpZHRoIDMzIFJUTDogIlx4ezVEMH1ceHs1RDF9KF4iCi0g
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzgsMSkgd2lkdGggMDogIlx4ezIwMkN9IgorICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDM3LDEpIHdpZHRoIDE6ICJceHsyMDJDfSIKICAgICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICgwLDI3NDkpIHNpemUgNzY5eDI4CiAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDIpIHNpemUgMzN4MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDIpIHdpZHRoIDUgUlRMOiAiXHh7MjAyQn0hIgpAQCAtMzk3LDcgKzM5Nyw3IEBAIGxheWVyIGF0
ICgwLDApIHNpemUgNzg1eDcxMDYKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1LDEpIHdpZHRo
IDEzIFJUTDogIiheIgogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE4LDEpIHdpZHRoIDE2OiAi
MTIiCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzQsMSkgd2lkdGggMjAgUlRMOiAiXHh7NUQw
fVx4ezVEMX0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTQsMSkgd2lkdGggMDogIlx4ezIw
MkN9IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDUzLDEpIHdpZHRoIDE6ICJceHsyMDJDfSIK
ICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDI4NjIpIHNpemUgNzY5eDI4CiAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDIpIHNpemUgNDl4MTgKICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDIpIHdpZHRoIDUgUlRMOiAiXHh7MjAyQn0hIgpAQCAtNDE4LDcgKzQxOCw3
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDcxMDYKICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg1LDIpIHdpZHRoIDEzIFJUTDogIiheIgogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE4LDIp
IHdpZHRoIDE2OiAiXHh7NjYxfVx4ezY2Mn0iCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzQs
Mikgd2lkdGggMjAgUlRMOiAiXHh7NUQwfVx4ezVEMX0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNTQsMikgd2lkdGggMDogIlx4ezIwMkN9IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDUz
LDIpIHdpZHRoIDE6ICJceHsyMDJDfSIKICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDI5
OTQpIHNpemUgNzY5eDI4CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDIpIHNp
emUgNDl4MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIpIHdpZHRoIDUgUlRMOiAiXHh7
MjAyQn0hIgpAQCAtNDQ1LDggKzQ0NSw4IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDcxMDYK
ICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDMxNDApIHNpemUgNzY5eDE5CiAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgMzN4MTgKICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDEpIHdpZHRoIDIwIFJUTDogIlx4ezIwMkF9XHh7NUQwfVx4ezVEMX0iCi0g
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjAsMSkgd2lkdGggMTM6ICIoXiIKLSAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgzMywxKSB3aWR0aCAwOiAiXHh7MjAyQ30iCisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTksMSkgd2lkdGggMTQ6ICIoXiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgz
MiwxKSB3aWR0aCAxOiAiXHh7MjAyQ30iCiAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwz
MTc1KSBzaXplIDc2OXgyOAogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyKSBz
aXplIDI4eDE4CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyKSB3aWR0aCAxNSBSVEw6ICJc
eHsyMDJBfVx4ezYyN31ceHs2Mjh9IgpAQCAtNDYwLDggKzQ2MCw4IEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgNzg1eDcxMDYKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6
ZSA0OXgxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lkdGggMTY6ICIxMiIKICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgxNiwxKSB3aWR0aCAyMCBSVEw6ICJceHsyMDJBfVx4ezVE
MH1ceHs1RDF9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM2LDEpIHdpZHRoIDEzOiAiKF4i
Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDksMSkgd2lkdGggMDogIlx4ezIwMkN9IgorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDM1LDEpIHdpZHRoIDE0OiAiKF4iCisgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoNDgsMSkgd2lkdGggMTogIlx4ezIwMkN9IgogICAgICAgICBSZW5kZXJCbG9j
ayB7UH0gYXQgKDAsMzI4OCkgc2l6ZSA3Njl4MjgKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMikgc2l6ZSA0NHgxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMikgd2lk
dGggMTY6ICIxMiIKQEAgLTQ3OCw4ICs0NzgsOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg3
MTA2CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDIpIHNpemUgNDl4MTgKICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIpIHdpZHRoIDE2OiAiXHh7NjYxfVx4ezY2Mn0iCiAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTYsMikgd2lkdGggMjAgUlRMOiAiXHh7MjAyQX1ceHs1
RDB9XHh7NUQxfSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNiwyKSB3aWR0aCAxMzogIihe
IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ5LDIpIHdpZHRoIDA6ICJceHsyMDJDfSIKKyAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgzNSwyKSB3aWR0aCAxNDogIiheIgorICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDQ4LDIpIHdpZHRoIDE6ICJceHsyMDJDfSIKICAgICAgICAgUmVuZGVyQmxv
Y2sge1B9IGF0ICgwLDM0MjApIHNpemUgNzY5eDI4CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDIpIHNpemUgNDR4MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIpIHdp
ZHRoIDE2OiAiXHh7NjYxfVx4ezY2Mn0iCkBAIC01NTQsNyArNTU0LDcgQEAgbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA3ODV4NzEwNgogICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsNDI2KSBzaXpl
IDc2OXgxOQogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDQzeDE4
CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCAyOCBSVEw6ICIoXlx4ezVEMn1c
eHs1RDN9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI4LDEpIHdpZHRoIDE1OiAiYWIiCisg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjcsMSkgd2lkdGggMTY6ICJhYiIKICAgICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICgwLDQ2MSkgc2l6ZSA3Njl4MTkKICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSA0OHgxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MSkgd2lkdGggNDggUlRMOiAiXHh7NUQwfVx4ezVEMX0oXlx4ezVEMn1ceHs1RDN9IgpAQCAtNTY0
LDM5ICs1NjQsMzkgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NzEwNgogICAgICAgICBSZW5k
ZXJCbG9jayB7UH0gYXQgKDAsNTQwKSBzaXplIDc2OXgxOQogICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwxKSBzaXplIDU5eDE4CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwx
KSB3aWR0aCAyOCBSVEw6ICIoXlx4ezVEMn1ceHs1RDN9IgotICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDI4LDEpIHdpZHRoIDMxOiAiYWIxMiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNywx
KSB3aWR0aCAzMjogImFiMTIiCiAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCw1NzUpIHNp
emUgNzY5eDE5CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgNjR4
MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDI4IFJUTDogIiheXHh7NUQy
fVx4ezVEM30iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjgsMSkgd2lkdGggMTY6ICIxMiIK
LSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0NCwxKSB3aWR0aCAyMCBSVEw6ICJceHs1RDB9XHh7
NUQxfSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNywxKSB3aWR0aCAxNzogIjEyIgorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDQzLDEpIHdpZHRoIDIxIFJUTDogIlx4ezVEMH1ceHs1RDF9
IgogICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsNjEwKSBzaXplIDc2OXgyOAogICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyKSBzaXplIDU5eDE4CiAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwyKSB3aWR0aCAyOCBSVEw6ICIoXlx4ezVEMn1ceHs1RDN9IgotICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDI4LDIpIHdpZHRoIDE2OiAiMTIiCi0gICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNDQsMikgd2lkdGggMTUgUlRMOiAiXHh7NjI3fVx4ezYyOH0iCisgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMjcsMikgd2lkdGggMTc6ICIxMiIKKyAgICAgICAgICAgIHRleHQgcnVu
IGF0ICg0MywyKSB3aWR0aCAxNiBSVEw6ICJceHs2Mjd9XHh7NjI4fSIKICAgICAgICAgUmVuZGVy
QmxvY2sge1B9IGF0ICgwLDY1NCkgc2l6ZSA3Njl4MjgKICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMikgc2l6ZSA1OXgxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMikg
d2lkdGggMjggUlRMOiAiKF5ceHs1RDJ9XHh7NUQzfSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgyOCwyKSB3aWR0aCAzMTogImFiXHh7NjYxfVx4ezY2Mn0iCisgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMjcsMikgd2lkdGggMzI6ICJhYlx4ezY2MX1ceHs2NjJ9IgogICAgICAgICBSZW5kZXJC
bG9jayB7UH0gYXQgKDAsNjk4KSBzaXplIDc2OXgyOAogICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwyKSBzaXplIDY0eDE4CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyKSB3
aWR0aCAyOCBSVEw6ICIoXlx4ezVEMn1ceHs1RDN9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDI4LDIpIHdpZHRoIDE2OiAiXHh7NjYxfVx4ezY2Mn0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNDQsMikgd2lkdGggMjAgUlRMOiAiXHh7NUQwfVx4ezVEMX0iCisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMjcsMikgd2lkdGggMTc6ICJceHs2NjF9XHh7NjYyfSIKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICg0MywyKSB3aWR0aCAyMSBSVEw6ICJceHs1RDB9XHh7NUQxfSIKICAgICAgICAg
UmVuZGVyQmxvY2sge1B9IGF0ICgwLDc0Mikgc2l6ZSA3Njl4MjgKICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMikgc2l6ZSA1OXgxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMikgd2lkdGggMjggUlRMOiAiKF5ceHs1RDJ9XHh7NUQzfSIKLSAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgyOCwyKSB3aWR0aCAxNjogIlx4ezY2MX1ceHs2NjJ9IgotICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDQ0LDIpIHdpZHRoIDE1IFJUTDogIlx4ezYyN31ceHs2Mjh9IgorICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDI3LDIpIHdpZHRoIDE3OiAiXHh7NjYxfVx4ezY2Mn0iCisgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNDMsMikgd2lkdGggMTYgUlRMOiAiXHh7NjI3fVx4ezYyOH0iCiAg
ICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCw3ODYpIHNpemUgNzY5eDE5CiAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgMzV4MTgKICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDEpIHdpZHRoIDI4IFJUTDogIlx4ezIwMkN9KF5ceHs1RDJ9XHh7NUQzfSIKLSAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgyOCwxKSB3aWR0aCA3OiAiXHh7MjAyQX0/IgorICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDI3LDEpIHdpZHRoIDg6ICJceHsyMDJBfT8iCiAgICAgICAgIFJl
bmRlckJsb2NrIHtQfSBhdCAoMCw4MjEpIHNpemUgNzY5eDE5CiAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgMzV4MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDEpIHdpZHRoIDI4IFJUTDogIlx4ezIwMkN9KF5ceHs1RDJ9XHh7NUQzfSIKLSAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgyOCwxKSB3aWR0aCA3IFJUTDogIlx4ezIwMkJ9PyIKKyAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgyNywxKSB3aWR0aCA4IFJUTDogIlx4ezIwMkJ9PyIKICAgICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICgwLDg1Nikgc2l6ZSA3Njl4MjgKICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMikgc2l6ZSA0NXgxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
Mikgd2lkdGggMzAgUlRMOiAiKF5ceHs2MkN9XHh7NjJGfSIKQEAgLTY0NywxNTUgKzY0NywxNTUg
QEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NzEwNgogICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwxKSBzaXplIDYzeDE4CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3
aWR0aCA3OiAieiIKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3LDEpIHdpZHRoIDEyIFJUTDog
Ilx4ezVFOX0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTksMSkgd2lkdGggNDQ6ICJhYihe
MzQiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgsMSkgd2lkdGggNDU6ICJhYiheMzQiCiAg
ICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxMzc1KSBzaXplIDc2OXgxOQotICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDY4eDE4CisgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgNjd4MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDEpIHdpZHRoIDc6ICJ6IgogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDcsMSkgd2lkdGgg
MTIgUlRMOiAiXHh7NUU5fSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOSwxKSB3aWR0aCAx
NjogIjM0IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM1LDEpIHdpZHRoIDMzIFJUTDogIlx4
ezVEMH1ceHs1RDF9KF4iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgsMSkgd2lkdGggMTc6
ICIzNCIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNCwxKSB3aWR0aCAzMyBSVEw6ICJceHs1
RDB9XHh7NUQxfSheIgogICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTQxMCkgc2l6ZSA3
Njl4MjgKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMikgc2l6ZSA2M3gxOAog
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMikgd2lkdGggNzogInoiCiAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoNywyKSB3aWR0aCAxMiBSVEw6ICJceHs1RTl9IgotICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDE5LDIpIHdpZHRoIDE2OiAiMzQiCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MzUsMikgd2lkdGggMjggUlRMOiAiXHh7NjI3fVx4ezYyOH0oXiIKKyAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxOCwyKSB3aWR0aCAxNzogIjM0IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM0
LDIpIHdpZHRoIDI5IFJUTDogIlx4ezYyN31ceHs2Mjh9KF4iCiAgICAgICAgIFJlbmRlckJsb2Nr
IHtQfSBhdCAoMCwxNDU0KSBzaXplIDc2OXgxOQogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwxKSBzaXplIDc5eDE4CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0
aCA3OiAieiIKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3LDEpIHdpZHRoIDEyIFJUTDogIlx4
ezVFOX0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTksMSkgd2lkdGggNjA6ICJhYjEyKF4z
NCIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOCwxKSB3aWR0aCA2MTogImFiMTIoXjM0Igog
ICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTQ4OSkgc2l6ZSA3Njl4MTkKLSAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSA4NHgxOAorICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDgzeDE4CiAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwxKSB3aWR0aCA3OiAieiIKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3LDEpIHdpZHRo
IDEyIFJUTDogIlx4ezVFOX0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTksMSkgd2lkdGgg
MTY6ICIzNCIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNSwxKSB3aWR0aCAxMyBSVEw6ICIo
XiIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0OCwxKSB3aWR0aCAxNjogIjEyIgotICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDY0LDEpIHdpZHRoIDIwIFJUTDogIlx4ezVEMH1ceHs1RDF9Igor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE4LDEpIHdpZHRoIDE3OiAiMzQiCisgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMzQsMSkgd2lkdGggMTQgUlRMOiAiKF4iCisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNDcsMSkgd2lkdGggMTc6ICIxMiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2
MywxKSB3aWR0aCAyMCBSVEw6ICJceHs1RDB9XHh7NUQxfSIKICAgICAgICAgUmVuZGVyQmxvY2sg
e1B9IGF0ICgwLDE1MjQpIHNpemUgNzY5eDI4CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDIpIHNpemUgNzl4MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIpIHdpZHRo
IDc6ICJ6IgogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDcsMikgd2lkdGggMTIgUlRMOiAiXHh7
NUU5fSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOSwyKSB3aWR0aCAxNjogIjM0IgotICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDM1LDIpIHdpZHRoIDEzIFJUTDogIiheIgotICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDQ4LDIpIHdpZHRoIDE2OiAiMTIiCi0gICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoNjQsMikgd2lkdGggMTUgUlRMOiAiXHh7NjI3fVx4ezYyOH0iCisgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTgsMikgd2lkdGggMTc6ICIzNCIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgzNCwyKSB3aWR0aCAxNCBSVEw6ICIoXiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0Nywy
KSB3aWR0aCAxNzogIjEyIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDYzLDIpIHdpZHRoIDE2
IFJUTDogIlx4ezYyN31ceHs2Mjh9IgogICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTU2
OCkgc2l6ZSA3Njl4MjgKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMikgc2l6
ZSA3OXgxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMikgd2lkdGggNzogInoiCiAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNywyKSB3aWR0aCAxMiBSVEw6ICJceHs1RTl9IgotICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDE5LDIpIHdpZHRoIDE2OiAiMzQiCi0gICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMzUsMikgd2lkdGggMTMgUlRMOiAiKF4iCi0gICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNDgsMikgd2lkdGggMzE6ICJhYlx4ezY2MX1ceHs2NjJ9IgorICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDE4LDIpIHdpZHRoIDE3OiAiMzQiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzQs
Mikgd2lkdGggMTQgUlRMOiAiKF4iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDcsMikgd2lk
dGggMzI6ICJhYlx4ezY2MX1ceHs2NjJ9IgogICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAs
MTYxMikgc2l6ZSA3Njl4MjgKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMikg
c2l6ZSA4NHgxOAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyKSBzaXplIDgz
eDE4CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyKSB3aWR0aCA3OiAieiIKICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICg3LDIpIHdpZHRoIDEyIFJUTDogIlx4ezVFOX0iCi0gICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMTksMikgd2lkdGggMTY6ICIzNCIKLSAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgzNSwyKSB3aWR0aCAxMyBSVEw6ICIoXiIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0
OCwyKSB3aWR0aCAxNjogIlx4ezY2MX1ceHs2NjJ9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDY0LDIpIHdpZHRoIDIwIFJUTDogIlx4ezVEMH1ceHs1RDF9IgorICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDE4LDIpIHdpZHRoIDE3OiAiMzQiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzQs
Mikgd2lkdGggMTQgUlRMOiAiKF4iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDcsMikgd2lk
dGggMTc6ICJceHs2NjF9XHh7NjYyfSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2MywyKSB3
aWR0aCAyMCBSVEw6ICJceHs1RDB9XHh7NUQxfSIKICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0
ICgwLDE2NTYpIHNpemUgNzY5eDI4CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDIpIHNpemUgNzl4MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIpIHdpZHRoIDc6ICJ6
IgogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDcsMikgd2lkdGggMTIgUlRMOiAiXHh7NUU5fSIK
LSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOSwyKSB3aWR0aCAxNjogIjM0IgotICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDM1LDIpIHdpZHRoIDEzIFJUTDogIiheIgotICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDQ4LDIpIHdpZHRoIDE2OiAiXHh7NjYxfVx4ezY2Mn0iCi0gICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoNjQsMikgd2lkdGggMTUgUlRMOiAiXHh7NjI3fVx4ezYyOH0iCisgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMTgsMikgd2lkdGggMTc6ICIzNCIKKyAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgzNCwyKSB3aWR0aCAxNCBSVEw6ICIoXiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg0NywyKSB3aWR0aCAxNzogIlx4ezY2MX1ceHs2NjJ9IgorICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDYzLDIpIHdpZHRoIDE2IFJUTDogIlx4ezYyN31ceHs2Mjh9IgogICAgICAgICBSZW5kZXJC
bG9jayB7UH0gYXQgKDAsMTcwMCkgc2l6ZSA3Njl4MTkKICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMSkgc2l6ZSA1NXgxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkg
d2lkdGggNzogInoiCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNywxKSB3aWR0aCAxMiBSVEw6
ICJceHs1RTl9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE5LDEpIHdpZHRoIDc6ICJceHsy
MDJBfT8iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjYsMSkgd2lkdGggMjk6ICJceHsyMDJD
fSheMzQiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgsMSkgd2lkdGggODogIlx4ezIwMkF9
PyIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyNSwxKSB3aWR0aCAzMDogIlx4ezIwMkN9KF4z
NCIKICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDE3MzUpIHNpemUgNzY5eDE5CiAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgNTV4MTgKICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDc6ICJ6IgogICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDcsMSkgd2lkdGggMTIgUlRMOiAiXHh7NUU5fSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgx
OSwxKSB3aWR0aCAxNjogIjM0IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM1LDEpIHdpZHRo
IDEzIFJUTDogIlx4ezIwMkN9KF4iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDgsMSkgd2lk
dGggNyBSVEw6ICJceHsyMDJCfT8iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgsMSkgd2lk
dGggMTc6ICIzNCIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNCwxKSB3aWR0aCAxNCBSVEw6
ICJceHsyMDJDfSheIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ3LDEpIHdpZHRoIDggUlRM
OiAiXHh7MjAyQn0/IgogICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTc3MCkgc2l6ZSA3
Njl4MjgKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMikgc2l6ZSA2M3gxOAog
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMikgd2lkdGggNzogInoiCiAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoNywyKSB3aWR0aCAxMiBSVEw6ICJceHs1RTl9IgotICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDE5LDIpIHdpZHRoIDE2OiAiXHh7NjYzfVx4ezY2NH0iCi0gICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMzUsMikgd2lkdGggMTMgUlRMOiAiKF4iCi0gICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoNDgsMikgd2lkdGggMTU6ICJhYiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOCwy
KSB3aWR0aCAxNzogIlx4ezY2M31ceHs2NjR9IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM0
LDIpIHdpZHRoIDE0IFJUTDogIiheIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ3LDIpIHdp
ZHRoIDE2OiAiYWIiCiAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxODE0KSBzaXplIDc2
OXgyOAotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyKSBzaXplIDY4eDE4Cisg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDIpIHNpemUgNjd4MTgKICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDIpIHdpZHRoIDc6ICJ6IgogICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDcsMikgd2lkdGggMTIgUlRMOiAiXHh7NUU5fSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgxOSwyKSB3aWR0aCAxNjogIlx4ezY2M31ceHs2NjR9IgotICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDM1LDIpIHdpZHRoIDMzIFJUTDogIlx4ezVEMH1ceHs1RDF9KF4iCisgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTgsMikgd2lkdGggMTc6ICJceHs2NjN9XHh7NjY0fSIKKyAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgzNCwyKSB3aWR0aCAzMyBSVEw6ICJceHs1RDB9XHh7NUQxfSheIgogICAg
ICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTg1OCkgc2l6ZSA3Njl4MjgKICAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMikgc2l6ZSA2M3gxOAogICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMikgd2lkdGggNzogInoiCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNywyKSB3
aWR0aCAxMiBSVEw6ICJceHs1RTl9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE5LDIpIHdp
ZHRoIDE2OiAiXHh7NjYzfVx4ezY2NH0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzUsMikg
d2lkdGggMjggUlRMOiAiXHh7NjI3fVx4ezYyOH0oXiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgxOCwyKSB3aWR0aCAxNzogIlx4ezY2M31ceHs2NjR9IgorICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDM0LDIpIHdpZHRoIDI5IFJUTDogIlx4ezYyN31ceHs2Mjh9KF4iCiAgICAgICAgIFJlbmRl
ckJsb2NrIHtQfSBhdCAoMCwxOTAyKSBzaXplIDc2OXgyOAogICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwyKSBzaXplIDc5eDE4CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwy
KSB3aWR0aCA3OiAieiIKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3LDIpIHdpZHRoIDEyIFJU
TDogIlx4ezVFOX0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTksMikgd2lkdGggMTY6ICJc
eHs2NjN9XHh7NjY0fSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNSwyKSB3aWR0aCAxMyBS
VEw6ICIoXiIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0OCwyKSB3aWR0aCAzMTogImFiMTIi
CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgsMikgd2lkdGggMTc6ICJceHs2NjN9XHh7NjY0
fSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNCwyKSB3aWR0aCAxNCBSVEw6ICIoXiIKKyAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg0NywyKSB3aWR0aCAzMjogImFiMTIiCiAgICAgICAgIFJl
bmRlckJsb2NrIHtQfSBhdCAoMCwxOTQ2KSBzaXplIDc2OXgyOAotICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwyKSBzaXplIDg0eDE4CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDIpIHNpemUgODN4MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIpIHdp
ZHRoIDc6ICJ6IgogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDcsMikgd2lkdGggMTIgUlRMOiAi
XHh7NUU5fSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOSwyKSB3aWR0aCAxNjogIlx4ezY2
M31ceHs2NjR9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM1LDIpIHdpZHRoIDEzIFJUTDog
IiheIgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ4LDIpIHdpZHRoIDE2OiAiMTIiCi0gICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNjQsMikgd2lkdGggMjAgUlRMOiAiXHh7NUQwfVx4ezVEMX0i
CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgsMikgd2lkdGggMTc6ICJceHs2NjN9XHh7NjY0
fSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNCwyKSB3aWR0aCAxNCBSVEw6ICIoXiIKKyAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg0NywyKSB3aWR0aCAxNzogIjEyIgorICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDYzLDIpIHdpZHRoIDIwIFJUTDogIlx4ezVEMH1ceHs1RDF9IgogICAgICAg
ICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTk5MCkgc2l6ZSA3Njl4MjgKICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMikgc2l6ZSA3OXgxOAogICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMikgd2lkdGggNzogInoiCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNywyKSB3aWR0
aCAxMiBSVEw6ICJceHs1RTl9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE5LDIpIHdpZHRo
IDE2OiAiXHh7NjYzfVx4ezY2NH0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzUsMikgd2lk
dGggMTMgUlRMOiAiKF4iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDgsMikgd2lkdGggMTY6
ICIxMiIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2NCwyKSB3aWR0aCAxNSBSVEw6ICJceHs2
Mjd9XHh7NjI4fSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOCwyKSB3aWR0aCAxNzogIlx4
ezY2M31ceHs2NjR9IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM0LDIpIHdpZHRoIDE0IFJU
TDogIiheIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ3LDIpIHdpZHRoIDE3OiAiMTIiCisg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjMsMikgd2lkdGggMTYgUlRMOiAiXHh7NjI3fVx4ezYy
OH0iCiAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwyMDM0KSBzaXplIDc2OXgyOAogICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyKSBzaXplIDc5eDE4CiAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwyKSB3aWR0aCA3OiAieiIKICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg3LDIpIHdpZHRoIDEyIFJUTDogIlx4ezVFOX0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MTksMikgd2lkdGggMTY6ICJceHs2NjN9XHh7NjY0fSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgzNSwyKSB3aWR0aCAxMyBSVEw6ICIoXiIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0OCwy
KSB3aWR0aCAzMTogImFiXHh7NjYxfVx4ezY2Mn0iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MTgsMikgd2lkdGggMTc6ICJceHs2NjN9XHh7NjY0fSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgzNCwyKSB3aWR0aCAxNCBSVEw6ICIoXiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0Nywy
KSB3aWR0aCAzMjogImFiXHh7NjYxfVx4ezY2Mn0iCiAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoMCwyMDc4KSBzaXplIDc2OXgyOAotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwyKSBzaXplIDg0eDE4CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDIpIHNp
emUgODN4MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIpIHdpZHRoIDc6ICJ6IgogICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDcsMikgd2lkdGggMTIgUlRMOiAiXHh7NUU5fSIKLSAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgxOSwyKSB3aWR0aCAxNjogIlx4ezY2M31ceHs2NjR9IgotICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDM1LDIpIHdpZHRoIDEzIFJUTDogIiheIgotICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDQ4LDIpIHdpZHRoIDE2OiAiXHh7NjYxfVx4ezY2Mn0iCi0gICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNjQsMikgd2lkdGggMjAgUlRMOiAiXHh7NUQwfVx4ezVEMX0iCisg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgsMikgd2lkdGggMTc6ICJceHs2NjN9XHh7NjY0fSIK
KyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNCwyKSB3aWR0aCAxNCBSVEw6ICIoXiIKKyAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICg0NywyKSB3aWR0aCAxNzogIlx4ezY2MX1ceHs2NjJ9IgorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDYzLDIpIHdpZHRoIDIwIFJUTDogIlx4ezVEMH1ceHs1RDF9
IgogICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMjEyMikgc2l6ZSA3Njl4MjgKICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMikgc2l6ZSA3OXgxOAogICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMikgd2lkdGggNzogInoiCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NywyKSB3aWR0aCAxMiBSVEw6ICJceHs1RTl9IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE5
LDIpIHdpZHRoIDE2OiAiXHh7NjYzfVx4ezY2NH0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MzUsMikgd2lkdGggMTMgUlRMOiAiKF4iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDgsMikg
d2lkdGggMTY6ICJceHs2NjF9XHh7NjYyfSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2NCwy
KSB3aWR0aCAxNSBSVEw6ICJceHs2Mjd9XHh7NjI4fSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgxOCwyKSB3aWR0aCAxNzogIlx4ezY2M31ceHs2NjR9IgorICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDM0LDIpIHdpZHRoIDE0IFJUTDogIiheIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ3
LDIpIHdpZHRoIDE3OiAiXHh7NjYxfVx4ezY2Mn0iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NjMsMikgd2lkdGggMTYgUlRMOiAiXHh7NjI3fVx4ezYyOH0iCiAgICAgICAgIFJlbmRlckJsb2Nr
IHtQfSBhdCAoMCwyMTY2KSBzaXplIDc2OXgyOAogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwyKSBzaXplIDU1eDE4CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyKSB3aWR0
aCA3OiAieiIKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3LDIpIHdpZHRoIDEyIFJUTDogIlx4
ezVFOX0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTksMikgd2lkdGggMTY6ICJceHs2NjN9
XHh7NjY0fSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNSwyKSB3aWR0aCAxMyBSVEw6ICJc
eHsyMDJDfSheIgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ4LDIpIHdpZHRoIDc6ICJceHsy
MDJBfT8iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgsMikgd2lkdGggMTc6ICJceHs2NjN9
XHh7NjY0fSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNCwyKSB3aWR0aCAxNCBSVEw6ICJc
eHsyMDJDfSheIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ3LDIpIHdpZHRoIDg6ICJceHsy
MDJBfT8iCiAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwyMjEwKSBzaXplIDc2OXgyOAog
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyKSBzaXplIDU1eDE4CiAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwyKSB3aWR0aCA3OiAieiIKICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICg3LDIpIHdpZHRoIDEyIFJUTDogIlx4ezVFOX0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMTksMikgd2lkdGggMTY6ICJceHs2NjN9XHh7NjY0fSIKLSAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgzNSwyKSB3aWR0aCAxMyBSVEw6ICJceHsyMDJDfSheIgotICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDQ4LDIpIHdpZHRoIDcgUlRMOiAiXHh7MjAyQn0/IgorICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDE4LDIpIHdpZHRoIDE3OiAiXHh7NjYzfVx4ezY2NH0iCisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMzQsMikgd2lkdGggMTQgUlRMOiAiXHh7MjAyQ30oXiIKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICg0NywyKSB3aWR0aCA4IFJUTDogIlx4ezIwMkJ9PyIKICAgICAgICAgUmVuZGVy
QmxvY2sge1B9IGF0ICgwLDIyNTQpIHNpemUgNzY5eDE4CiAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMzN4MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDAgUlRMOiAiXHh7MjAyQ30iCkBAIC05MzgsNyArOTM4LDcgQEAgbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA3ODV4NzEwNgogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBz
aXplIDMzeDE4CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCAwIFJUTDogIlx4
ezIwMkN9IgogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lkdGggMjAgUlRMOiAiXHh7
MjAyQX1ceHs1RDB9XHh7NUQxfSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMCwxKSB3aWR0
aCAxMzogIiheIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE5LDEpIHdpZHRoIDE0OiAiKF4i
CiAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwzMTc1KSBzaXplIDc2OXgyOAogICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyKSBzaXplIDI4eDE4CiAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwyKSB3aWR0aCAwIFJUTDogIlx4ezIwMkN9IgpAQCAtOTUzLDcgKzk1Myw3
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDcxMDYKICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDEpIHdpZHRoIDAgUlRMOiAiXHh7MjAyQ30iCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwxKSB3aWR0aCAxNjogIjEyIgogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE2LDEpIHdpZHRo
IDIwIFJUTDogIlx4ezIwMkF9XHh7NUQwfVx4ezVEMX0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMzYsMSkgd2lkdGggMTM6ICIoXiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNSwxKSB3
aWR0aCAxNDogIiheIgogICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMzI4OCkgc2l6ZSA3
Njl4MjgKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMikgc2l6ZSA0NHgxOAog
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMikgd2lkdGggMCBSVEw6ICJceHsyMDJDfSIKQEAg
LTk3MSw3ICs5NzEsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDc4NXg3MTA2CiAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwyKSB3aWR0aCAwIFJUTDogIlx4ezIwMkN9IgogICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMikgd2lkdGggMTY6ICJceHs2NjF9XHh7NjYyfSIKICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgxNiwyKSB3aWR0aCAyMCBSVEw6ICJceHsyMDJBfVx4ezVEMH1ceHs1RDF9
IgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM2LDIpIHdpZHRoIDEzOiAiKF4iCisgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMzUsMikgd2lkdGggMTQ6ICIoXiIKICAgICAgICAgUmVuZGVyQmxv
Y2sge1B9IGF0ICgwLDM0MjApIHNpemUgNzY5eDI4CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDIpIHNpemUgNDR4MTgKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIpIHdp
ZHRoIDAgUlRMOiAiXHh7MjAyQ30iCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1vdmVycmlkZS1leHBlY3RlZC5jaGVja3N1bQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9u
YWwvYmlkaS1vdmVycmlkZS1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gNzg0ODQpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1vdmVy
cmlkZS1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAotNzMzNTUw
OGVjZWM1N2FkMmIyZjUyZmJmOTNmOTJlNjgKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCith
NWRlODFjYjUwMzJhNTI2ODI0NDAwMWMwNTk4MWNhYgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25h
bC9iaWRpLW92ZXJyaWRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1vdmVycmlkZS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDc4NDg0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
dGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktb3ZlcnJpZGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC02LDEyNCArNiwxMjQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MzQ0CiAgICAg
ICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzExeDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggMzExOiAiQWxsIHJvd3Mgc2hvdWxkIGJlIGlkZW50aWNhbCB0byB0aGUgcmVmZXJl
bmNlIHJvdy4iCi0gICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDM0KSBzaXplIDU4Mngx
MTMgW2JvcmRlcjogbm9uZV0KLSAgICAgICAgUmVuZGVyVGFibGVTZWN0aW9uIHtUQk9EWX0gYXQg
KDAsMCkgc2l6ZSA1ODF4MTEyCi0gICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCww
KSBzaXplIDU4MXgyOAorICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwzNCkgc2l6ZSA1
Nzh4MTEzIFtib3JkZXI6IG5vbmVdCisgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9
IGF0ICgwLDApIHNpemUgNTc3eDExMgorICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQg
KDAsMCkgc2l6ZSA1Nzd4MjgKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgw
LDApIHNpemUgOTd4MjcgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9MCBjPTAgcnM9
MSBjcz0xXQogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDI5LDUpIHNpemUg
NjR4MTgKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjksNSkgd2lkdGggNjQ6ICJSZWZl
cmVuY2UiCi0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoOTcsMCkgc2l6ZSAy
NDJ4MjggW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9MCBjPTEgcnM9MSBjcz0xXQot
ICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUsNikgc2l6ZSAyMzJ4MTgKLSAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNSw2KSB3aWR0aCA0MjogImFiY2RlZiIKKyAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg5NywwKSBzaXplIDI0MHgyOCBbYm9yZGVy
OiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj0wIGM9MSBycz0xIGNzPTFdCisgICAgICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNSw2KSBzaXplIDIzMXgxOAorICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICg1LDYpIHdpZHRoIDQzOiAiYWJjZGVmIgogICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICg0Nyw2KSB3aWR0aCAyNyBSVEw6ICJceHs1RDB9XHh7NUQxfVx4ezVEMn0iCi0g
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDc0LDYpIHdpZHRoIDQwOiAiZ2hpamtsICIKLSAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTE0LDYpIHdpZHRoIDUwIFJUTDogIlx4ezVENn1c
eHs1RDd9XHh7NUQ4fVx4ezVEOX1ceHs1REJ9XHh7NURDfSIKLSAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTY0LDYpIHdpZHRoIDIyOiAiYWJjIgotICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgxODYsNikgd2lkdGggNTEgUlRMOiAiXHh7NUQwfVx4ezVEMX1ceHs1RDJ9XHh7NUQzfVx4
ezVENH1ceHs1RDV9IgotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDMzOSww
KSBzaXplIDI0MngyOCBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj0wIGM9MiBycz0x
IGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNSw2KSBzaXplIDIz
MngxOAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1LDYpIHdpZHRoIDUwIFJUTDogIlx4
ezVENn1ceHs1RDd9XHh7NUQ4fVx4ezVEOX1ceHs1REJ9XHh7NURDfSIKLSAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoNTUsNikgd2lkdGggMjI6ICJhYmMiCisgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDczLDYpIHdpZHRoIDQxOiAiZ2hpamtsICIKKyAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTEzLDYpIHdpZHRoIDUxIFJUTDogIlx4ezVENn1ceHs1RDd9XHh7NUQ4fVx4ezVE
OX1ceHs1REJ9XHh7NURDfSIKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTYzLDYpIHdp
ZHRoIDIzOiAiYWJjIgorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxODUsNikgd2lkdGgg
NTEgUlRMOiAiXHh7NUQwfVx4ezVEMX1ceHs1RDJ9XHh7NUQzfVx4ezVENH1ceHs1RDV9IgorICAg
ICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDMzNywwKSBzaXplIDI0MHgyOCBbYm9y
ZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj0wIGM9MiBycz0xIGNzPTFdCisgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNSw2KSBzaXplIDIzMXgxOAorICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICg1LDYpIHdpZHRoIDUxIFJUTDogIlx4ezVENn1ceHs1RDd9XHh7NUQ4
fVx4ezVEOX1ceHs1REJ9XHh7NURDfSIKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTUs
Nikgd2lkdGggMjM6ICJhYmMiCiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDc3LDYpIHdp
ZHRoIDUxIFJUTDogIlx4ezVEMH1ceHs1RDF9XHh7NUQyfVx4ezVEM31ceHs1RDR9XHh7NUQ1fSIK
LSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTI4LDYpIHdpZHRoIDQgUlRMOiAiICIKLSAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTMyLDYpIHdpZHRoIDQyOiAiYWJjZGVmIgotICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNzQsNikgd2lkdGggMjcgUlRMOiAiXHh7NUQwfVx4
ezVEMX1ceHs1RDJ9IgotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMDEsNikgd2lkdGgg
MzY6ICJnaGlqa2wiCi0gICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwyOCkgc2l6
ZSA1ODF4MjgKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTI3LDYpIHdpZHRoIDUgUlRM
OiAiICIKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTMxLDYpIHdpZHRoIDQzOiAiYWJj
ZGVmIgorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNzMsNikgd2lkdGggMjcgUlRMOiAi
XHh7NUQwfVx4ezVEMX1ceHs1RDJ9IgorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxOTks
Nikgd2lkdGggMzc6ICJnaGlqa2wiCisgICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAo
MCwyOCkgc2l6ZSA1Nzd4MjgKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgw
LDI4KSBzaXplIDk3eDI3IFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTEgYz0wIHJz
PTEgY3M9MV0KICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg4LDUpIHNpemUg
ODV4MTgKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOCw1KSB3aWR0aCA4NTogIkNTUywg
c2libGluZ3MiCi0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoOTcsMjgpIHNp
emUgMjQyeDI4IFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTEgYz0xIHJzPTEgY3M9
MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1LDYpIHNpemUgMjJ4MTgK
LSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNSw2KSB3aWR0aCAyMjogImFiYyIKKyAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg5NywyOCkgc2l6ZSAyNDB4MjggW2JvcmRl
cjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9MSBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUsNikgc2l6ZSAyM3gxOAorICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICg1LDYpIHdpZHRoIDIzOiAiYWJjIgogICAgICAgICAgICAgICBSZW5kZXJJ
bmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNjd4MTgKICAgICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDI3LDYpIHNpemUgNjd4MTgKICAgICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgyNyw2KSB3aWR0aCA2NyBSVEwgb3ZlcnJpZGU6ICJpaGdceHs1RDB9XHh7NUQxfVx4
ezVEMn1mZWQiCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOTQsNikgc2l6
ZSAxNDR4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTQsNikgd2lkdGggMjA6ICJq
a2wgIgotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMTEsNikgd2lkdGggMjcgUlRMOiAi
XHh7NUQwfVx4ezVEMX1ceHs1RDJ9IgorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDkzLDYpIHNpemUgMTQzeDE4CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDkzLDYp
IHdpZHRoIDIxOiAiamtsICIKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjA5LDYpIHdp
ZHRoIDI3IFJUTDogIlx4ezVEMH1ceHs1RDF9XHh7NUQyfSIKICAgICAgICAgICAgICAgUmVuZGVy
SW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDc0eDE4Ci0gICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgxMzcsNikgc2l6ZSA3NHgxOAotICAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDEzNyw2KSB3aWR0aCA3NCBMVFIgb3ZlcnJpZGU6ICJceHs1RDh9XHh7NUQ3fVx4
ezVENn1hYmNceHs1RDV9XHh7NUQ0fVx4ezVEM30iCi0gICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMTE0LDYpIHNpemUgMjN4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMTE0LDYpIHdpZHRoIDIzIFJUTDogIlx4ezVEOX1ceHs1REJ9XHh7NURDfSIKLSAgICAgICAg
ICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgzMzksMjgpIHNpemUgMjQyeDI4IFtib3JkZXI6
ICgxcHggc29saWQgIzAwODAwMCldIFtyPTEgYz0yIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMzMsNikgc2l6ZSAyMngxOAotICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgxMzMsNikgd2lkdGggMjI6ICJhYmMiCisgICAgICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgxMzYsNikgc2l6ZSA3NHgxOAorICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDEzNiw2KSB3aWR0aCA3NCBMVFIgb3ZlcnJpZGU6ICJceHs1RDh9XHh7NUQ3
fVx4ezVENn1hYmNceHs1RDV9XHh7NUQ0fVx4ezVEM30iCisgICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMTEzLDYpIHNpemUgMjR4MTgKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMTEzLDYpIHdpZHRoIDI0IFJUTDogIlx4ezVEOX1ceHs1REJ9XHh7NURDfSIKKyAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgzMzcsMjgpIHNpemUgMjQweDI4IFtib3Jk
ZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTEgYz0yIHJzPTEgY3M9MV0KKyAgICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMzEsNikgc2l6ZSAyM3gxOAorICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxMzEsNikgd2lkdGggMjM6ICJhYmMiCiAgICAgICAgICAgICAgIFJl
bmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA2N3gxOAotICAgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMTU1LDYpIHNpemUgNjd4MTgKLSAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgxNTUsNikgd2lkdGggNjcgUlRMIG92ZXJyaWRlOiAiaWhnXHh7NUQwfVx4
ezVEMX1ceHs1RDJ9ZmVkIgotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEw
Miw2KSBzaXplIDEzNngxOAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMDIsNikgd2lk
dGggMzEgUlRMOiAiIFx4ezVEMH1ceHs1RDF9XHh7NUQyfSIKLSAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMjIyLDYpIHdpZHRoIDE2OiAiamtsIgotICAgICAgICAgICAgICBSZW5kZXJJbmxp
bmUge1NQQU59IGF0ICgwLDApIHNpemUgNzR4MTgKLSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDI4LDYpIHNpemUgNzR4MTgKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgyOCw2KSB3aWR0aCA3NCBMVFIgb3ZlcnJpZGU6ICJceHs1RDh9XHh7NUQ3fVx4ezVENn1h
YmNceHs1RDV9XHh7NUQ0fVx4ezVEM30iCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxNTMsNikgc2l6ZSA2N3gxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDE1Myw2KSB3aWR0aCA2NyBSVEwgb3ZlcnJpZGU6ICJpaGdceHs1RDB9XHh7NUQxfVx4ezVEMn1m
ZWQiCisgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTAxLDYpIHNpemUgMTM1
eDE4CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwMSw2KSB3aWR0aCAzMSBSVEw6ICIg
XHh7NUQwfVx4ezVEMX1ceHs1RDJ9IgorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMTks
Nikgd2lkdGggMTc6ICJqa2wiCisgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQg
KDAsMCkgc2l6ZSA3NXgxOAorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MjcsNikgc2l6ZSA3NXgxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI3LDYpIHdp
ZHRoIDc1IExUUiBvdmVycmlkZTogIlx4ezVEOH1ceHs1RDd9XHh7NUQ2fWFiY1x4ezVENX1ceHs1
RDR9XHh7NUQzfSIKICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1LDYpIHNp
emUgMjN4MTgKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNSw2KSB3aWR0aCAyMyBSVEw6
ICJceHs1RDl9XHh7NURCfVx4ezVEQ30iCi0gICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBh
dCAoMCw1Nikgc2l6ZSA1ODF4MjgKKyAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgw
LDU2KSBzaXplIDU3N3gyOAogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAs
NTYpIHNpemUgOTd4MjcgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9MiBjPTAgcnM9
MSBjcz0xXQogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUsNSkgc2l6ZSA4
OHgxOAogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1LDUpIHdpZHRoIDg4OiAiQ1NTLCBj
aGlsZHJlbiIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg5Nyw1Nikgc2l6
ZSAyNDJ4MjggW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9MiBjPTEgcnM9MSBjcz0x
XQorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDk3LDU2KSBzaXplIDI0MHgy
OCBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj0yIGM9MSBycz0xIGNzPTFdCiAgICAg
ICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMDV4MTgKLSAgICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUsNikgc2l6ZSAyMngxOAotICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDUsNikgd2lkdGggMjI6ICJhYmMiCisgICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1LDYpIHNpemUgMjN4MTgKKyAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICg1LDYpIHdpZHRoIDIzOiAiYWJjIgogICAgICAgICAgICAgICAg
IFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA2N3gxOAogICAgICAgICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyNyw2KSBzaXplIDY3eDE4CiAgICAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgyNyw2KSB3aWR0aCA2NyBSVEwgb3ZlcnJpZGU6ICJpaGdceHs1
RDB9XHh7NUQxfVx4ezVEMn1mZWQiCi0gICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICg5NCw2KSBzaXplIDE2eDE4Ci0gICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTQs
Nikgd2lkdGggMTY6ICJqa2wiCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MTEwLDYpIHNpemUgNHgxOAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMTAsNikgd2lk
dGggNDogIiAiCi0gICAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6
ZSAxMjR4MTgKLSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIxMSw2KSBz
aXplIDI3eDE4Ci0gICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjExLDYpIHdpZHRoIDI3
IFJUTDogIlx4ezVEMH1ceHs1RDF9XHh7NUQyfSIKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDkzLDYpIHNpemUgMTd4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICg5Myw2KSB3aWR0aCAxNzogImprbCIKKyAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxMDksNikgc2l6ZSA1eDE4CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEw
OSw2KSB3aWR0aCA1OiAiICIKKyAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAo
MCwwKSBzaXplIDEyM3gxOAorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MjA5LDYpIHNpemUgMjd4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMDksNikg
d2lkdGggMjcgUlRMOiAiXHh7NUQwfVx4ezVEMX1ceHs1RDJ9IgogICAgICAgICAgICAgICAgIFJl
bmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA3NHgxOAotICAgICAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMzcsNikgc2l6ZSA3NHgxOAotICAgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMTM3LDYpIHdpZHRoIDc0IExUUiBvdmVycmlkZTogIlx4ezVEOH1c
eHs1RDd9XHh7NUQ2fWFiY1x4ezVENX1ceHs1RDR9XHh7NUQzfSIKLSAgICAgICAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDExNCw2KSBzaXplIDIzeDE4Ci0gICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMTE0LDYpIHdpZHRoIDIzIFJUTDogIlx4ezVEOX1ceHs1REJ9XHh7NURD
fSIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgzMzksNTYpIHNpemUgMjQy
eDI4IFtib3JkZXI6ICgxcHggc29saWQgIzAwODAwMCldIFtyPTIgYz0yIHJzPTEgY3M9MV0KKyAg
ICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTM2LDYpIHNpemUgNzR4MTgK
KyAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzNiw2KSB3aWR0aCA3NCBMVFIgb3Zl
cnJpZGU6ICJceHs1RDh9XHh7NUQ3fVx4ezVENn1hYmNceHs1RDV9XHh7NUQ0fVx4ezVEM30iCisg
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMTMsNikgc2l6ZSAyNHgxOAor
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDExMyw2KSB3aWR0aCAyNCBSVEw6ICJceHs1
RDl9XHh7NURCfVx4ezVEQ30iCisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAo
MzM3LDU2KSBzaXplIDI0MHgyOCBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj0yIGM9
MiBycz0xIGNzPTFdCiAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkg
c2l6ZSAxMDV4MTgKLSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEzMyw2
KSBzaXplIDIyeDE4Ci0gICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTMzLDYpIHdpZHRo
IDIyOiAiYWJjIgorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTMxLDYp
IHNpemUgMjN4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMzEsNikgd2lkdGgg
MjM6ICJhYmMiCiAgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBz
aXplIDY3eDE4Ci0gICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE1NSw2
KSBzaXplIDY3eDE4Ci0gICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNTUsNikgd2lk
dGggNjcgUlRMIG92ZXJyaWRlOiAiaWhnXHh7NUQwfVx4ezVEMX1ceHs1RDJ9ZmVkIgotICAgICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjIyLDYpIHNpemUgMTZ4MTgKLSAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMjIsNikgd2lkdGggMTY6ICJqa2wiCi0gICAgICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTI5LDYpIHNpemUgNHgxOAotICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgxMjksNikgd2lkdGggNCBSVEw6ICIgIgotICAgICAgICAgICAg
ICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTI0eDE4Ci0gICAgICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMDIsNikgc2l6ZSAyN3gxOAotICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDEwMiw2KSB3aWR0aCAyNyBSVEw6ICJceHs1RDB9XHh7NUQxfVx4
ezVEMn0iCi0gICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXpl
IDc0eDE4Ci0gICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDI4LDYpIHNp
emUgNzR4MTgKLSAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI4LDYpIHdpZHRoIDc0
IExUUiBvdmVycmlkZTogIlx4ezVEOH1ceHs1RDd9XHh7NUQ2fWFiY1x4ezVENX1ceHs1RDR9XHh7
NUQzfSIKKyAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTUzLDYpIHNp
emUgNjd4MTgKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE1Myw2KSB3aWR0aCA2
NyBSVEwgb3ZlcnJpZGU6ICJpaGdceHs1RDB9XHh7NUQxfVx4ezVEMn1mZWQiCisgICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyMTksNikgc2l6ZSAxN3gxOAorICAgICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDIxOSw2KSB3aWR0aCAxNzogImprbCIKKyAgICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMjcsNikgc2l6ZSA1eDE4CisgICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDEyNyw2KSB3aWR0aCA1IFJUTDogIiAiCisgICAgICAgICAgICAgIFJl
bmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMjN4MTgKKyAgICAgICAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEwMSw2KSBzaXplIDI3eDE4CisgICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMTAxLDYpIHdpZHRoIDI3IFJUTDogIlx4ezVEMH1ceHs1RDF9XHh7NUQy
fSIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNzV4
MTgKKyAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjcsNikgc2l6ZSA3
NXgxOAorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjcsNikgd2lkdGggNzUgTFRS
IG92ZXJyaWRlOiAiXHh7NUQ4fVx4ezVEN31ceHs1RDZ9YWJjXHh7NUQ1fVx4ezVENH1ceHs1RDN9
IgogICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNSw2KSBzaXplIDIzeDE4
CiAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNSw2KSB3aWR0aCAyMyBSVEw6ICJceHs1
RDl9XHh7NURCfVx4ezVEQ30iCi0gICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCw4
NCkgc2l6ZSA1ODF4MjgKKyAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDg0KSBz
aXplIDU3N3gyOAogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsODQpIHNp
emUgOTd4MjcgW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9MyBjPTAgcnM9MSBjcz0x
XQogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM5LDUpIHNpemUgNTR4MTgK
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzksNSkgd2lkdGggNTQ6ICJVbmljb2RlIgot
ICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDk3LDg0KSBzaXplIDI0MngyOCBb
Ym9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj0zIGM9MSBycz0xIGNzPTFdCi0gICAgICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNSw2KSBzaXplIDIzM3gxOAotICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICg1LDYpIHdpZHRoIDIyOiAiYWJjIgorICAgICAgICAgICAgUmVu
ZGVyVGFibGVDZWxsIHtURH0gYXQgKDk3LDg0KSBzaXplIDI0MHgyOCBbYm9yZGVyOiAoMXB4IHNv
bGlkICMwMDgwMDApXSBbcj0zIGM9MSBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoNSw2KSBzaXplIDIzMXgxOAorICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICg1LDYpIHdpZHRoIDIzOiAiYWJjIgogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgy
Nyw2KSB3aWR0aCA2NyBSVEwgb3ZlcnJpZGU6ICJceHsyMDJFfWloZ1x4ezVEMH1ceHs1RDF9XHh7
NUQyfWZlZCIKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTQsNikgd2lkdGggMjA6ICJc
eHsyMDJDfWprbCAiCi0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDExNCw2KSB3aWR0aCAy
MyBSVEw6ICJceHsyMDJDfVx4ezVEOX1ceHs1REJ9XHh7NURDfSIKLSAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTM3LDYpIHdpZHRoIDc0IExUUiBvdmVycmlkZTogIlx4ezIwMkR9XHh7NUQ4
fVx4ezVEN31ceHs1RDZ9YWJjXHh7NUQ1fVx4ezVENH1ceHs1RDN9IgotICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgyMTEsNikgd2lkdGggMjcgUlRMOiAiXHh7NUQwfVx4ezVEMX1ceHs1RDJ9
IgotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDMzOSw4NCkgc2l6ZSAyNDJ4
MjggW2JvcmRlcjogKDFweCBzb2xpZCAjMDA4MDAwKV0gW3I9MyBjPTIgcnM9MSBjcz0xXQotICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUsNikgc2l6ZSAyMzN4MTgKKyAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTMsNikgd2lkdGggMjE6ICJceHsyMDJDfWprbCAiCisg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDExMyw2KSB3aWR0aCAyNCBSVEw6ICJceHsyMDJD
fVx4ezVEOX1ceHs1REJ9XHh7NURDfSIKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTM2
LDYpIHdpZHRoIDc0IExUUiBvdmVycmlkZTogIlx4ezIwMkR9XHh7NUQ4fVx4ezVEN31ceHs1RDZ9
YWJjXHh7NUQ1fVx4ezVENH1ceHs1RDN9IgorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgy
MDksNikgd2lkdGggMjcgUlRMOiAiXHh7NUQwfVx4ezVEMX1ceHs1RDJ9IgorICAgICAgICAgICAg
UmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDMzNyw4NCkgc2l6ZSAyNDB4MjggW2JvcmRlcjogKDFw
eCBzb2xpZCAjMDA4MDAwKV0gW3I9MyBjPTIgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDUsNikgc2l6ZSAyMzF4MTgKICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNSw2KSB3aWR0aCAyMyBSVEw6ICJceHsyMDJDfVx4ezVEOX1ceHs1REJ9XHh7NURD
fSIKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjgsNikgd2lkdGggNzQgTFRSIG92ZXJy
aWRlOiAiXHh7MjAyRH1ceHs1RDh9XHh7NUQ3fVx4ezVENn1hYmNceHs1RDV9XHh7NUQ0fVx4ezVE
M30iCi0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwMiw2KSB3aWR0aCAyNyBSVEw6ICJc
eHs1RDB9XHh7NUQxfVx4ezVEMn0iCi0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyOSw2
KSB3aWR0aCA0IFJUTDogIiAiCi0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzMyw2KSB3
aWR0aCAyMjogImFiYyIKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTU1LDYpIHdpZHRo
IDY3IFJUTCBvdmVycmlkZTogIlx4ezIwMkV9aWhnXHh7NUQwfVx4ezVEMX1ceHs1RDJ9ZmVkIgot
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMjIsNikgd2lkdGggMTY6ICJceHsyMDJDfWpr
bCIKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjcsNikgd2lkdGggNzUgTFRSIG92ZXJy
aWRlOiAiXHh7MjAyRH1ceHs1RDh9XHh7NUQ3fVx4ezVENn1hYmNceHs1RDV9XHh7NUQ0fVx4ezVE
M30iCisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwMSw2KSB3aWR0aCAyNyBSVEw6ICJc
eHs1RDB9XHh7NUQxfVx4ezVEMn0iCisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyNyw2
KSB3aWR0aCA1IFJUTDogIiAiCisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzMSw2KSB3
aWR0aCAyMzogImFiYyIKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTUzLDYpIHdpZHRo
IDY3IFJUTCBvdmVycmlkZTogIlx4ezIwMkV9aWhnXHh7NUQwfVx4ezVEMX1ceHs1RDJ9ZmVkIgor
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMTksNikgd2lkdGggMTc6ICJceHsyMDJDfWpr
bCIKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxNjMpIHNpemUgNzg0eDE4CiAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDM4N3gxOAogICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDM4NzogIlRoZSBDU1MgY29sdW1uIHNob3VsZCBiZSBpZGVudGlj
YWwgdG8gdGhlIHJlZmVyZW5jZSBjb2x1bW4uIgpAQCAtMTMxLDggKzEzMSw4IEBAIGxheWVyIGF0
ICgwLDApIHNpemUgODAweDM0NAogICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBh
dCAoMCwwKSBzaXplIDI2NHgxMjIKICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgw
LDApIHNpemUgMjY0eDI3CiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMCww
KSBzaXplIDEzMngyNyBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj0wIGM9MCBycz0x
IGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzQsNSkgc2l6ZSA2
NHgxOAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNCw1KSB3aWR0aCA2NDogIlJlZmVy
ZW5jZSIKKyAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzNCw1KSBzaXplIDY1
eDE4CisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM0LDUpIHdpZHRoIDY1OiAiUmVmZXJl
bmNlIgogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDEzMiwwKSBzaXplIDEz
MngyNyBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDgwMDApXSBbcj0wIGM9MSBycz0xIGNzPTFdCiAg
ICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTIsNSkgc2l6ZSAyOXgxOAogICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1Miw1KSB3aWR0aCAyOTogIkNTUyIKQEAgLTE0MCwx
MyArMTQwLDEzIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDM0NAogICAgICAgICAgICAgUmVu
ZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsMjcpIHNpemUgMTMyeDk1IFtib3JkZXI6ICgxcHggc29s
aWQgIzAwODAwMCldIFtyPTEgYz0wIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgUmVuZGVyQmxv
Y2sge1B9IGF0ICg1LDIxKSBzaXplIDEyM3gxOQogICAgICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoOSwxKSBzaXplIDEwNXgxOAotICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDksMSkgd2lkdGggNDI6ICJhYmNkZWYiCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoOSwxKSB3aWR0aCA0MzogImFiY2RlZiIKICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg1MSwxKSB3aWR0aCAyNyBSVEw6ICJceHs1RDB9XHh7NUQxfVx4ezVEMn0iCi0gICAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNzgsMSkgd2lkdGggMzY6ICJnaGlqa2wiCisgICAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNzcsMSkgd2lkdGggMzc6ICJnaGlqa2wiCiAgICAgICAgICAg
ICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoNSw1Nikgc2l6ZSAxMjN4MTkKICAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSAxMjN4MTgKLSAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDUwIFJUTDogIlx4ezVENn1ceHs1RDd9XHh7NUQ4
fVx4ezVEOX1ceHs1REJ9XHh7NURDfSIKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1
MCwxKSB3aWR0aCAyMjogImFiYyIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEp
IHdpZHRoIDUxIFJUTDogIlx4ezVENn1ceHs1RDd9XHh7NUQ4fVx4ezVEOX1ceHs1REJ9XHh7NURD
fSIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1MCwxKSB3aWR0aCAyMzogImFiYyIK
ICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3MiwxKSB3aWR0aCA1MSBSVEw6ICJceHs1
RDB9XHh7NUQxfVx4ezVEMn1ceHs1RDN9XHh7NUQ0fVx4ezVENX0iCiAgICAgICAgICAgICBSZW5k
ZXJUYWJsZUNlbGwge1REfSBhdCAoMTMyLDI3KSBzaXplIDEzMng5NSBbYm9yZGVyOiAoMXB4IHNv
bGlkICMwMDgwMDApXSBbcj0xIGM9MSBycz0xIGNzPTFdCiAgICAgICAgICAgICAgIFJlbmRlckJs
b2NrIHtQfSBhdCAoNSwyMSkgc2l6ZSAxMjN4MTkKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9oZWJyZXctdm93ZWxzLWV4cGVjdGVkLmNoZWNr
c3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50
ZXJuYXRpb25hbC9oZWJyZXctdm93ZWxzLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiA3ODQ4
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9o
ZWJyZXctdm93ZWxzLWV4cGVjdGVkLmNoZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBA
Ci0xYzNiNDEwM2Q4YzUyMGJiODM1Mzc4Nzc0MWE0YTUwYwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKKzM4NzMwM2NmMDc5NDlkYzIxYzJjZWRkOTc2ODY0ODZlClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRl
cm5hdGlvbmFsL2hlYnJldy12b3dlbHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9oZWJyZXctdm93ZWxz
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzg0ODQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvaGVicmV3LXZvd2Vscy1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTExLDggKzExLDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ1OHgxOAogICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ1ODogIlRoZSB2b3dlbCAodHdvIHZlcnRpY2Fs
IGRvdHMpIHNob3VsZCBiZSBjZW50ZXJlZCBiZW5lYXRoIHRoZSBtYWluIGxldHRlci4iCiAgICAg
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw4Nikgc2l6ZSA3ODR4OTcKLSAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICg1OCw1KSBzaXplIDc0eDkyCi0gICAgICAgICAgdGV4dCBydW4gYXQg
KDU4LDUpIHdpZHRoIDc0IFJUTDogIlx4ezVFMX1ceHs1QjB9ICIKKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICg1Nyw1KSBzaXplIDc0eDkyCisgICAgICAgICAgdGV4dCBydW4gYXQgKDU3
LDUpIHdpZHRoIDc0IFJUTDogIlx4ezVFMX1ceHs1QjB9ICIKICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDUpIHNpemUgNTh4OTIKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3
aWR0aCA1OCBSVEw6ICJceHs1RTl9XHh7NUIwfSIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCkBAIC0yMyw3ICsyMyw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMjQzKSBzaXplIDc4NHgxOTQK
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgNTh4OTIKICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCA1OCBSVEw6ICJceHs1RTl9XHh7NUMxfSIKLSAgICAg
ICAgUmVuZGVyQlIge0JSfSBhdCAoNTgsNzcpIHNpemUgMHgwCisgICAgICAgIFJlbmRlckJSIHtC
Un0gYXQgKDU3LDc3KSBzaXplIDF4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MTAyKSBzaXplIDU4eDkyCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTAyKSB3aWR0aCA1OCBS
VEw6ICJceHs1RTl9XHh7NUMyfSIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVy
bmF0aW9uYWwvaGluZGktc3BhY2luZy1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvaGluZGktc3Bh
Y2luZy1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gNzg0ODQpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvaGluZGktc3BhY2luZy1leHBlY3Rl
ZC5jaGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAotZWMwMTNkYjQ4ODJmMWY0Y2Qy
NTNjMjczMzM2YjU0YTIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitjZDlhNTVmM2M5ODRk
ZTQ2ZWVhNDE4NjM1MjI2MDg0MwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9oaW5kaS1zcGFj
aW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvaGluZGktc3BhY2luZy1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDc4NDg0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5h
dGlvbmFsL2hpbmRpLXNwYWNpbmctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC03LDEx
ICs3LDExIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCA3Nzc6ICJUaGlzIHRlc3RzIHRoZSB3aWR0aCBvZiBhIGJyZWFraW5nIHNw
YWNlIGFmdGVyIGEgSGluZGkgY2hhcmFjdGVyIHRvIGVuc3VyZSB0aGF0IGl0J3MgbWVhc3VyZWQg
cHJvcGVybHkgYW5kIGVub3VnaCBzcGFjZSBpcyBsZWZ0IgogICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwxOCkgd2lkdGggNzUyOiAiZm9yIGl0LiBOZWl0aGVyIHRoZSBIaW5kaSBvbiB0aGUgYnV0dG9u
IGJlbG93IG5vciB0aGUgc2FtZSB0ZXh0IG9uIHR3byBsaW5lcyBiZWxvdyB0aGF0IHNob3VsZCBi
ZSB0cnVuY2F0ZWQgYXQgZWl0aGVyIGVuZC4iCiAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICg3NTIs
MzIpIHNpemUgMHgwCi0gICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMiwzOCkgc2l6ZSAx
MDN4MTggW2JnY29sb3I9I0MwQzBDMF0KLSAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDgsMCkgc2l6ZSA4N3gxOQotICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSA4
N3gxMwotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODc6ICJceHs5MTV9XHh7
OTNGfVx4ezkzOH1ceHs5NDB9IFx4ezkyRH1ceHs5NDB9IFx4ezkyNH1ceHs5MzB9XHh7OTM5fSBc
eHs5MDZ9XHh7OTE3fVx4ezk0N30gXHh7OTJDfSIKLSAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDEw
Nyw0OSkgc2l6ZSAweDAKKyAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgyLDM4KSBzaXpl
IDEwNXgxOCBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3Vz
KSBhdCAoOCwwKSBzaXplIDg5eDE5CisgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXpl
IDg5eDEzCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4OTogIlx4ezkxNX1c
eHs5M0Z9XHh7OTM4fVx4ezk0MH0gXHh7OTJEfVx4ezk0MH0gXHh7OTI0fVx4ezkzMH1ceHs5Mzl9
IFx4ezkwNn1ceHs5MTd9XHh7OTQ3fSBceHs5MkN9IgorICAgICAgUmVuZGVyQlIge0JSfSBhdCAo
MTA5LDQ5KSBzaXplIDB4MAogICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXpl
IDEyMngxOAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNTkpIHNpemUgMTIyeDE4
CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNTkpIHdpZHRoIDEyMjogIlx4ezkxNX1ceHs5M0Z9
XHh7OTM4fVx4ezk0MH0gXHh7OTJEfVx4ezk0MH0gXHh7OTI0fVx4ezkzMH1ceHs5Mzl9IFx4ezkw
Nn1ceHs5MTd9XHh7OTQ3fSBceHs5MkN9IgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2tobWVyLXNlbGVjdGlvbi1leHBlY3RlZC5jaGVja3N1
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVy
bmF0aW9uYWwva2htZXItc2VsZWN0aW9uLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiA3ODQ4
NCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9r
aG1lci1zZWxlY3Rpb24tZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEg
QEAKLTI2NTUwMmJkNDc1MDAxY2NhN2U5NGVmM2QzYmFlMGNhClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorNmI2MmE2ZDhhYWRjNGU0NzdlN2NjMTM3ZDRjZDQxMzQKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2lu
dGVybmF0aW9uYWwvcG9wLXVwLWJ1dHRvbi10ZXh0LWFsaWdubWVudC1hbmQtZGlyZWN0aW9uLWV4
cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3RleHQvaW50ZXJuYXRpb25hbC9wb3AtdXAtYnV0dG9uLXRleHQtYWxpZ25tZW50LWFuZC1k
aXJlY3Rpb24tZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDc4NDg0KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3BvcC11cC1idXR0b24tdGV4
dC1hbGlnbm1lbnQtYW5kLWRpcmVjdGlvbi1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5
KQpAQCAtMSArMSBAQAotOTQwZTU1YWFhZGM3ZmYzMDdkNDRhNGRlMjBhYWQxMjkKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCitlZWM1Njc3ZmUyYmFiNTc0MjU4Mzg2ZDUxOTBjMjk5NApcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3RleHQvaW50ZXJuYXRpb25hbC9wb3AtdXAtYnV0dG9uLXRleHQtYWxpZ25tZW50LWFuZC1k
aXJlY3Rpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9wb3AtdXAtYnV0dG9uLXRleHQtYWxpZ25tZW50
LWFuZC1kaXJlY3Rpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3ODQ4NCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9wb3AtdXAtYnV0dG9uLXRl
eHQtYWxpZ25tZW50LWFuZC1kaXJlY3Rpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xMCw5MCArMTAsOTAgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTQ0CiAgICAgICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMCwzNCkgc2l6ZSA3ODR4MjQyCiAgICAgICAgIFJlbmRlck1lbnVM
aXN0IHtTRUxFQ1R9IGF0ICgwLDApIHNpemUgNTAweDIxIFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAg
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA1MDB4MjEKLSAgICAg
ICAgICAgIFJlbmRlclRleHQgYXQgKDgsMikgc2l6ZSAxNjd4MTYKKyAgICAgICAgICAgIFJlbmRl
clRleHQgYXQgKDgsMikgc2l6ZSAxNjN4MTYKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDgs
Mikgd2lkdGggMzI6ICJGaXJzdCAiCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0MCwyKSB3
aWR0aCA0OSBSVEw6ICIpIFx4ezVFOH1ceHs1RDF9XHh7NUQ5fVx4ezVFMn1ceHs1RDl9XHh7NUVB
fSIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDg5LDIpIHdpZHRoIDE3OiAiMDMiCi0gICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgxMDYsMikgd2lkdGggMzggUlRMOiAiXHh7NUU5fVx4ezVF
MH1ceHs1RDl9XHh7NUQ0fSAoIgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTQ0LDIpIHdp
ZHRoIDMxOiAiIGZpZnRoIgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzksMikgd2lkdGgg
NDkgUlRMOiAiKSBceHs1RTh9XHh7NUQxfVx4ezVEOX1ceHs1RTJ9XHh7NUQ5fVx4ezVFQX0iCisg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4NywyKSB3aWR0aCAxNzogIjAzIgorICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMTAzLDIpIHdpZHRoIDM3IFJUTDogIlx4ezVFOX1ceHs1RTB9XHh7
NUQ5fVx4ezVENH0gKCIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzOSwyKSB3aWR0aCAz
MjogIiBmaWZ0aCIKICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMjMpIHNpemUgNDcw
eDM2Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMCwxMCkgc2l6ZSAxNjd4MTYK
KyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEwLDEwKSBzaXplIDE2M3gxNgogICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDEwLDEwKSB3aWR0aCAzMjogIkZpcnN0ICIKLSAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICg0MiwxMCkgd2lkdGggNDkgUlRMOiAiKSBceHs1RTh9XHh7NUQxfVx4
ezVEOX1ceHs1RTJ9XHh7NUQ5fVx4ezVFQX0iCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOTEs
MTApIHdpZHRoIDE3OiAiMDMiCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTA4LDEwKSB3aWR0
aCAzOCBSVEw6ICJceHs1RTl9XHh7NUUwfVx4ezVEOX1ceHs1RDR9ICgiCi0gICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTQ2LDEwKSB3aWR0aCAzMTogIiBmaWZ0aCIKKyAgICAgICAgICAgIHRleHQg
cnVuIGF0ICg0MSwxMCkgd2lkdGggNDkgUlRMOiAiKSBceHs1RTh9XHh7NUQxfVx4ezVEOX1ceHs1
RTJ9XHh7NUQ5fVx4ezVFQX0iCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoODksMTApIHdpZHRo
IDE3OiAiMDMiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTA1LDEwKSB3aWR0aCAzNyBSVEw6
ICJceHs1RTl9XHh7NUUwfVx4ezVEOX1ceHs1RDR9ICgiCisgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMTQxLDEwKSB3aWR0aCAzMjogIiBmaWZ0aCIKICAgICAgICAgUmVuZGVyTWVudUxpc3Qge1NF
TEVDVH0gYXQgKDAsNjEpIHNpemUgNTAweDIxIFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgICAg
UmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA1MDB4MjEKLSAgICAgICAgICAg
IFJlbmRlclRleHQgYXQgKDgsMikgc2l6ZSAxNjd4MTYKKyAgICAgICAgICAgIFJlbmRlclRleHQg
YXQgKDgsMikgc2l6ZSAxNjN4MTYKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDgsMikgd2lk
dGggMjc6ICJmaWZ0aCIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM1LDIpIHdpZHRoIDUz
IFJUTDogIikgXHh7NUU4fVx4ezVEMX1ceHs1RDl9XHh7NUUyfVx4ezVEOX1ceHs1RUF9ICIKLSAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDg4LDIpIHdpZHRoIDE3OiAiMDMiCi0gICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxMDUsMikgd2lkdGggNDIgUlRMOiAiIFx4ezVFOX1ceHs1RTB9XHh7
NUQ5fVx4ezVENH0gKCIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE0NywyKSB3aWR0aCAy
ODogIkZpcnN0IgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzQsMikgd2lkdGggNTIgUlRM
OiAiKSBceHs1RTh9XHh7NUQxfVx4ezVEOX1ceHs1RTJ9XHh7NUQ5fVx4ezVFQX0gIgorICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoODUsMikgd2lkdGggMTg6ICIwMyIKKyAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDEwMiwyKSB3aWR0aCA0MSBSVEw6ICIgXHh7NUU5fVx4ezVFMH1ceHs1RDl9
XHh7NUQ0fSAoIgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTQyLDIpIHdpZHRoIDI5OiAi
Rmlyc3QiCiAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDg0KSBzaXplIDQ3MHgzNgot
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTAsMTApIHNpemUgMTY3eDE2CisgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMCwxMCkgc2l6ZSAxNjN4MTYKICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxMCwxMCkgd2lkdGggMjc6ICJmaWZ0aCIKLSAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgzNywxMCkgd2lkdGggNTMgUlRMOiAiKSBceHs1RTh9XHh7NUQxfVx4ezVEOX1c
eHs1RTJ9XHh7NUQ5fVx4ezVFQX0gIgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDkwLDEwKSB3
aWR0aCAxNzogIjAzIgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwNywxMCkgd2lkdGggNDIg
UlRMOiAiIFx4ezVFOX1ceHs1RTB9XHh7NUQ5fVx4ezVENH0gKCIKLSAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxNDksMTApIHdpZHRoIDI4OiAiRmlyc3QiCisgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMzYsMTApIHdpZHRoIDUyIFJUTDogIikgXHh7NUU4fVx4ezVEMX1ceHs1RDl9XHh7NUUyfVx4
ezVEOX1ceHs1RUF9ICIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4NywxMCkgd2lkdGggMTg6
ICIwMyIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMDQsMTApIHdpZHRoIDQxIFJUTDogIiBc
eHs1RTl9XHh7NUUwfVx4ezVEOX1ceHs1RDR9ICgiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MTQ0LDEwKSB3aWR0aCAyOTogIkZpcnN0IgogICAgICAgICBSZW5kZXJNZW51TGlzdCB7U0VMRUNU
fSBhdCAoMCwxMjIpIHNpemUgNTAweDIxIFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgICAgUmVu
ZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA1MDB4MjEKLSAgICAgICAgICAgIFJl
bmRlclRleHQgYXQgKDgsMikgc2l6ZSAxNjV4MTYKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDgsMikgd2lkdGggMTY1IExUUiBvdmVycmlkZTogIkZpcnN0IFx4ezVFOX1ceHs1RTB9XHh7NUQ5
fVx4ezVENH0gKDAzKSBceHs1RTh9XHh7NUQxfVx4ezVEOX1ceHs1RTJ9XHh7NUQ5fVx4ezVFQX0g
ZmlmdGgiCisgICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICg4LDIpIHNpemUgMTYzeDE2CisgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg4LDIpIHdpZHRoIDE2MyBMVFIgb3ZlcnJpZGU6ICJGaXJz
dCBceHs1RTl9XHh7NUUwfVx4ezVEOX1ceHs1RDR9ICgwMykgXHh7NUU4fVx4ezVEMX1ceHs1RDl9
XHh7NUUyfVx4ezVEOX1ceHs1RUF9IGZpZnRoIgogICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMCwxNDUpIHNpemUgNDcweDM2Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgx
MCwxMCkgc2l6ZSAxNjV4MTYKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMCwxMCkgd2lkdGgg
MTY1IExUUiBvdmVycmlkZTogIkZpcnN0IFx4ezVFOX1ceHs1RTB9XHh7NUQ5fVx4ezVENH0gKDAz
KSBceHs1RTh9XHh7NUQxfVx4ezVEOX1ceHs1RTJ9XHh7NUQ5fVx4ezVFQX0gZmlmdGgiCisgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMCwxMCkgc2l6ZSAxNjN4MTYKKyAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxMCwxMCkgd2lkdGggMTYzIExUUiBvdmVycmlkZTogIkZpcnN0IFx4
ezVFOX1ceHs1RTB9XHh7NUQ5fVx4ezVENH0gKDAzKSBceHs1RTh9XHh7NUQxfVx4ezVEOX1ceHs1
RTJ9XHh7NUQ5fVx4ezVFQX0gZmlmdGgiCiAgICAgICAgIFJlbmRlck1lbnVMaXN0IHtTRUxFQ1R9
IGF0ICgwLDE4Mykgc2l6ZSA1MDB4MjEgW2JnY29sb3I9I0ZGRkZGRl0KICAgICAgICAgICBSZW5k
ZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDUwMHgyMQotICAgICAgICAgICAgUmVu
ZGVyVGV4dCBhdCAoOCwyKSBzaXplIDE2NXgxNgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
OCwyKSB3aWR0aCAxNjUgUlRMIG92ZXJyaWRlOiAiRmlyc3QgXHh7NUU5fVx4ezVFMH1ceHs1RDl9
XHh7NUQ0fSAoMDMpIFx4ezVFOH1ceHs1RDF9XHh7NUQ5fVx4ezVFMn1ceHs1RDl9XHh7NUVBfSBm
aWZ0aCIKKyAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDgsMikgc2l6ZSAxNjN4MTYKKyAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDgsMikgd2lkdGggMTYzIFJUTCBvdmVycmlkZTogIkZpcnN0
IFx4ezVFOX1ceHs1RTB9XHh7NUQ5fVx4ezVENH0gKDAzKSBceHs1RTh9XHh7NUQxfVx4ezVEOX1c
eHs1RTJ9XHh7NUQ5fVx4ezVFQX0gZmlmdGgiCiAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgwLDIwNikgc2l6ZSA0NzB4MzYKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEw
LDEwKSBzaXplIDE2NXgxNgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwLDEwKSB3aWR0aCAx
NjUgUlRMIG92ZXJyaWRlOiAiRmlyc3QgXHh7NUU5fVx4ezVFMH1ceHs1RDl9XHh7NUQ0fSAoMDMp
IFx4ezVFOH1ceHs1RDF9XHh7NUQ5fVx4ezVFMn1ceHs1RDl9XHh7NUVBfSBmaWZ0aCIKKyAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEwLDEwKSBzaXplIDE2M3gxNgorICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDEwLDEwKSB3aWR0aCAxNjMgUlRMIG92ZXJyaWRlOiAiRmlyc3QgXHh7
NUU5fVx4ezVFMH1ceHs1RDl9XHh7NUQ0fSAoMDMpIFx4ezVFOH1ceHs1RDF9XHh7NUQ5fVx4ezVF
Mn1ceHs1RDl9XHh7NUVBfSBmaWZ0aCIKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDI3
OCkgc2l6ZSA3ODR4MjQyCiAgICAgICAgIFJlbmRlck1lbnVMaXN0IHtTRUxFQ1R9IGF0ICgwLDAp
IHNpemUgNTAweDIxIFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDAsMCkgc2l6ZSA1MDB4MjEKLSAgICAgICAgICAgIFJlbmRlclRleHQgYXQg
KDMxMCwyKSBzaXplIDE2N3gxNgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzEwLDIpIHdp
ZHRoIDMyOiAiRmlyc3QgIgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzQyLDIpIHdpZHRo
IDQ5IFJUTDogIikgXHh7NUU4fVx4ezVEMX1ceHs1RDl9XHh7NUUyfVx4ezVEOX1ceHs1RUF9Igot
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzkxLDIpIHdpZHRoIDE3OiAiMDMiCi0gICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICg0MDgsMikgd2lkdGggMzggUlRMOiAiXHh7NUU5fVx4ezVFMH1c
eHs1RDl9XHh7NUQ0fSAoIgorICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMzE0LDIpIHNpemUg
MTYzeDE2CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMTQsMikgd2lkdGggMzM6ICJGaXJz
dCAiCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNDYsMikgd2lkdGggNDggUlRMOiAiKSBc
eHs1RTh9XHh7NUQxfVx4ezVEOX1ceHs1RTJ9XHh7NUQ5fVx4ezVFQX0iCisgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgzOTMsMikgd2lkdGggMTg6ICIwMyIKKyAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDQxMCwyKSB3aWR0aCAzNyBSVEw6ICJceHs1RTl9XHh7NUUwfVx4ezVEOX1ceHs1RDR9
ICgiCiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0NDYsMikgd2lkdGggMzE6ICIgZmlmdGgi
CiAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDIzKSBzaXplIDQ3MHgzNgotICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjkzLDEwKSBzaXplIDE2N3gxNgotICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDI5MywxMCkgd2lkdGggMzI6ICJGaXJzdCAiCi0gICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMzI1LDEwKSB3aWR0aCA0OSBSVEw6ICIpIFx4ezVFOH1ceHs1RDF9XHh7NUQ5
fVx4ezVFMn1ceHs1RDl9XHh7NUVBfSIKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNzQsMTAp
IHdpZHRoIDE3OiAiMDMiCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzkxLDEwKSB3aWR0aCAz
OCBSVEw6ICJceHs1RTl9XHh7NUUwfVx4ezVEOX1ceHs1RDR9ICgiCisgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgyOTcsMTApIHNpemUgMTYzeDE2CisgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMjk3LDEwKSB3aWR0aCAzMzogIkZpcnN0ICIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgzMjksMTApIHdpZHRoIDQ4IFJUTDogIikgXHh7NUU4fVx4ezVEMX1ceHs1RDl9XHh7NUUyfVx4
ezVEOX1ceHs1RUF9IgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM3NiwxMCkgd2lkdGggMTg6
ICIwMyIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzOTMsMTApIHdpZHRoIDM3IFJUTDogIlx4
ezVFOX1ceHs1RTB9XHh7NUQ5fVx4ezVENH0gKCIKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0
MjksMTApIHdpZHRoIDMxOiAiIGZpZnRoIgogICAgICAgICBSZW5kZXJNZW51TGlzdCB7U0VMRUNU
fSBhdCAoMCw2MSkgc2l6ZSA1MDB4MjEgW2JnY29sb3I9I0ZGRkZGRl0KICAgICAgICAgICBSZW5k
ZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDUwMHgyMQotICAgICAgICAgICAgUmVu
ZGVyVGV4dCBhdCAoMzEwLDIpIHNpemUgMTY3eDE2Ci0gICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgzMTAsMikgd2lkdGggMjc6ICJmaWZ0aCIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMz
NywyKSB3aWR0aCA1MyBSVEw6ICIpIFx4ezVFOH1ceHs1RDF9XHh7NUQ5fVx4ezVFMn1ceHs1RDl9
XHh7NUVBfSAiCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzOTAsMikgd2lkdGggMTc6ICIw
MyIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQwNywyKSB3aWR0aCA0MiBSVEw6ICIgXHh7
NUU5fVx4ezVFMH1ceHs1RDl9XHh7NUQ0fSAoIgorICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAo
MzE0LDIpIHNpemUgMTYzeDE2CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMTQsMikgd2lk
dGggMjg6ICJmaWZ0aCIKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM0MSwyKSB3aWR0aCA1
MiBSVEw6ICIpIFx4ezVFOH1ceHs1RDF9XHh7NUQ5fVx4ezVFMn1ceHs1RDl9XHh7NUVBfSAiCisg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzOTIsMikgd2lkdGggMTc6ICIwMyIKKyAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDQwOCwyKSB3aWR0aCA0MiBSVEw6ICIgXHh7NUU5fVx4ezVFMH1c
eHs1RDl9XHh7NUQ0fSAoIgogICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDQ5LDIpIHdpZHRo
IDI4OiAiRmlyc3QiCiAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDg0KSBzaXplIDQ3
MHgzNgotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjkzLDEwKSBzaXplIDE2N3gx
NgotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI5MywxMCkgd2lkdGggMjc6ICJmaWZ0aCIKLSAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgzMjAsMTApIHdpZHRoIDUzIFJUTDogIikgXHh7NUU4fVx4
ezVEMX1ceHs1RDl9XHh7NUUyfVx4ezVEOX1ceHs1RUF9ICIKLSAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgzNzMsMTApIHdpZHRoIDE3OiAiMDMiCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzkw
LDEwKSB3aWR0aCA0MiBSVEw6ICIgXHh7NUU5fVx4ezVFMH1ceHs1RDl9XHh7NUQ0fSAoIgorICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjk3LDEwKSBzaXplIDE2M3gxNgorICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDI5NywxMCkgd2lkdGggMjg6ICJmaWZ0aCIKKyAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgzMjQsMTApIHdpZHRoIDUyIFJUTDogIikgXHh7NUU4fVx4ezVEMX1ceHs1
RDl9XHh7NUUyfVx4ezVEOX1ceHs1RUF9ICIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNzUs
MTApIHdpZHRoIDE3OiAiMDMiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzkxLDEwKSB3aWR0
aCA0MiBSVEw6ICIgXHh7NUU5fVx4ezVFMH1ceHs1RDl9XHh7NUQ0fSAoIgogICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDQzMiwxMCkgd2lkdGggMjg6ICJGaXJzdCIKICAgICAgICAgUmVuZGVyTWVu
dUxpc3Qge1NFTEVDVH0gYXQgKDAsMTIyKSBzaXplIDUwMHgyMSBbYmdjb2xvcj0jRkZGRkZGXQog
ICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNTAweDIxCi0g
ICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgzMTIsMikgc2l6ZSAxNjV4MTYKLSAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDMxMiwyKSB3aWR0aCAxNjUgTFRSIG92ZXJyaWRlOiAiRmlyc3QgXHh7
NUU5fVx4ezVFMH1ceHs1RDl9XHh7NUQ0fSAoMDMpIFx4ezVFOH1ceHs1RDF9XHh7NUQ5fVx4ezVF
Mn1ceHs1RDl9XHh7NUVBfSBmaWZ0aCIKKyAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDMxNCwy
KSBzaXplIDE2M3gxNgorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzE0LDIpIHdpZHRoIDE2
MyBMVFIgb3ZlcnJpZGU6ICJGaXJzdCBceHs1RTl9XHh7NUUwfVx4ezVEOX1ceHs1RDR9ICgwMykg
XHh7NUU4fVx4ezVEMX1ceHs1RDl9XHh7NUUyfVx4ezVEOX1ceHs1RUF9IGZpZnRoIgogICAgICAg
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxNDUpIHNpemUgNDcweDM2Ci0gICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgyOTUsMTApIHNpemUgMTY1eDE2Ci0gICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMjk1LDEwKSB3aWR0aCAxNjUgTFRSIG92ZXJyaWRlOiAiRmlyc3QgXHh7NUU5fVx4
ezVFMH1ceHs1RDl9XHh7NUQ0fSAoMDMpIFx4ezVFOH1ceHs1RDF9XHh7NUQ5fVx4ezVFMn1ceHs1
RDl9XHh7NUVBfSBmaWZ0aCIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDI5Nywx
MCkgc2l6ZSAxNjN4MTYKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyOTcsMTApIHdpZHRoIDE2
MyBMVFIgb3ZlcnJpZGU6ICJGaXJzdCBceHs1RTl9XHh7NUUwfVx4ezVEOX1ceHs1RDR9ICgwMykg
XHh7NUU4fVx4ezVEMX1ceHs1RDl9XHh7NUUyfVx4ezVEOX1ceHs1RUF9IGZpZnRoIgogICAgICAg
ICBSZW5kZXJNZW51TGlzdCB7U0VMRUNUfSBhdCAoMCwxODMpIHNpemUgNTAweDIxIFtiZ2NvbG9y
PSNGRkZGRkZdCiAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6
ZSA1MDB4MjEKLSAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDMxMiwyKSBzaXplIDE2NXgxNgot
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzEyLDIpIHdpZHRoIDE2NSBSVEwgb3ZlcnJpZGU6
ICJGaXJzdCBceHs1RTl9XHh7NUUwfVx4ezVEOX1ceHs1RDR9ICgwMykgXHh7NUU4fVx4ezVEMX1c
eHs1RDl9XHh7NUUyfVx4ezVEOX1ceHs1RUF9IGZpZnRoIgorICAgICAgICAgICAgUmVuZGVyVGV4
dCBhdCAoMzE0LDIpIHNpemUgMTYzeDE2CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMTQs
Mikgd2lkdGggMTYzIFJUTCBvdmVycmlkZTogIkZpcnN0IFx4ezVFOX1ceHs1RTB9XHh7NUQ5fVx4
ezVENH0gKDAzKSBceHs1RTh9XHh7NUQxfVx4ezVEOX1ceHs1RTJ9XHh7NUQ5fVx4ezVFQX0gZmlm
dGgiCiAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDIwNikgc2l6ZSA0NzB4MzYKLSAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDI5NSwxMCkgc2l6ZSAxNjV4MTYKLSAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgyOTUsMTApIHdpZHRoIDE2NSBSVEwgb3ZlcnJpZGU6ICJGaXJz
dCBceHs1RTl9XHh7NUUwfVx4ezVEOX1ceHs1RDR9ICgwMykgXHh7NUU4fVx4ezVEMX1ceHs1RDl9
XHh7NUUyfVx4ezVEOX1ceHs1RUF9IGZpZnRoIgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMjk3LDEwKSBzaXplIDE2M3gxNgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDI5Nywx
MCkgd2lkdGggMTYzIFJUTCBvdmVycmlkZTogIkZpcnN0IFx4ezVFOX1ceHs1RTB9XHh7NUQ5fVx4
ezVENH0gKDAzKSBceHs1RTh9XHh7NUQxfVx4ezVEOX1ceHs1RTJ9XHh7NUQ5fVx4ezVFQX0gZmlm
dGgiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9u
YWwvcnRsLWNhcmV0LWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9ydGwtY2FyZXQtZXhwZWN0ZWQu
Y2hlY2tzdW0JKHJldmlzaW9uIDc4NDg0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvdGV4dC9pbnRlcm5hdGlvbmFsL3J0bC1jYXJldC1leHBlY3RlZC5jaGVja3N1bQkod29ya2lu
ZyBjb3B5KQpAQCAtMSArMSBAQAotODlhOTMxY2NlMGEwY2IyYjFlZjQxNjAzMDc4MTdhYTAKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitmZGU4ZjdkNTlkY2Y4ZDhlNDk2M2RmNDZkZTY0Zjk1
YgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9ydGwtd2hpdGUtc3BhY2UtcHJlLXdyYXAtZXhw
ZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvdGV4dC9pbnRlcm5hdGlvbmFsL3J0bC13aGl0ZS1zcGFjZS1wcmUtd3JhcC1leHBlY3RlZC5j
aGVja3N1bQkocmV2aXNpb24gNzg0ODQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC90ZXh0L2ludGVybmF0aW9uYWwvcnRsLXdoaXRlLXNwYWNlLXByZS13cmFwLWV4cGVjdGVkLmNo
ZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi0yZDgwODQ2MDViNTVkOWUyYmYzMTcy
NWM1OThmMzQyNQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2QyNjk3MjgyZTZkNGFhNDA4
NDQwMzk4YjY2NjA5MThkClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3J0bC13aGl0ZS1zcGFj
ZS1wcmUtd3JhcC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3J0bC13aGl0ZS1zcGFjZS1wcmUtd3JhcC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDc4NDg0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3J0bC13aGl0ZS1zcGFjZS1wcmUtd3JhcC1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIyLDggKzIyLDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDg2KSBzaXplIDc4NHgyIFti
b3JkZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCw5Nikgc2l6ZSAxOTF4NTYgW2JnY29sb3I9I0ZGRkYwMF0KICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMTkxeDU2Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMCBSVEw6ICIgIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE5MSBS
VEw6ICJceHs1RDB9XHh7NURCfVx4ezVEQ31ceHs1RUF9IFx4ezVFNH1ceHs1REN9XHh7NUU0fVx4
ezVEQ30/IFx4ezVFOX1ceHs1RUF9XHh7NUQ0fSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCA0IFJUTDogIiAiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDMsMCkgd2lkdGggMTg4
IFJUTDogIlx4ezVEMH1ceHs1REJ9XHh7NURDfVx4ezVFQX0gXHh7NUU0fVx4ezVEQ31ceHs1RTR9
XHh7NURDfT8gXHh7NUU5fVx4ezVFQX1ceHs1RDR9IgogICAgICAgICAgIHRleHQgcnVuIGF0ICgx
NDcsMjgpIHdpZHRoIDQ0IFJUTDogIlx4ezVERX1ceHs1RDl9XHh7NUU1fSEiCiAgICAgICBSZW5k
ZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNTIpIHNpemUgNzg0eDg4CiAgICAgICAgIFJlbmRl
ckJSIHtCUn0gYXQgKDAsMCkgc2l6ZSAweDE4CkBAIC0zMiwxMyArMzIsMTMgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsMCkgc2l6ZSAw
eDAKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDI0MCkgc2l6ZSAxOTF4NTYgW2JnY29s
b3I9I0ZGRkYwMF0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTkx
eDU2Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMCBSVEw6ICIgIgotICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE5MSBSVEw6ICJceHs1RDB9XHh7NURCfVx4ezVE
Q31ceHs1RUF9IFx4ezVFNH1ceHs1REN9XHh7NUU0fVx4ezVEQ30/IFx4ezVFOX1ceHs1RUF9XHh7
NUQ0fSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0IFJUTDogIiAiCisgICAg
ICAgICAgdGV4dCBydW4gYXQgKDMsMCkgd2lkdGggMTg4IFJUTDogIlx4ezVEMH1ceHs1REJ9XHh7
NURDfVx4ezVFQX0gXHh7NUU0fVx4ezVEQ31ceHs1RTR9XHh7NURDfT8gXHh7NUU5fVx4ezVFQX1c
eHs1RDR9IgogICAgICAgICAgIHRleHQgcnVuIGF0ICgxNDcsMjgpIHdpZHRoIDQ0IFJUTDogIlx4
ezVERX1ceHs1RDl9XHh7NUU1fSEiCiBsYXllciBhdCAoOCwxODApIHNpemUgMTk5eDYyIGNsaXAg
YXQgKDksMTgxKSBzaXplIDE5N3g2MAogICBSZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0
ICgwLDIwKSBzaXplIDE5OXg2MiBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMXB4IHNvbGlk
ICMwMDAwMDApXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgMTkzeDU2CiAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxOTN4NTYKLSAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMiBSVEw6ICIgIgotICAgICAgICB0ZXh0IHJ1biBhdCAoMiww
KSB3aWR0aCAxOTEgUlRMOiAiXHh7NUQwfVx4ezVEQn1ceHs1REN9XHh7NUVBfSBceHs1RTR9XHh7
NURDfVx4ezVFNH1ceHs1REN9PyBceHs1RTl9XHh7NUVBfVx4ezVENH0iCisgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDYgUlRMOiAiICIKKyAgICAgICAgdGV4dCBydW4gYXQgKDUsMCkg
d2lkdGggMTg4IFJUTDogIlx4ezVEMH1ceHs1REJ9XHh7NURDfVx4ezVFQX0gXHh7NUU0fVx4ezVE
Q31ceHs1RTR9XHh7NURDfT8gXHh7NUU5fVx4ezVFQX1ceHs1RDR9IgogICAgICAgICB0ZXh0IHJ1
biBhdCAoMTQ5LDI4KSB3aWR0aCA0NCBSVEw6ICJceHs1REV9XHh7NUQ5fVx4ezVFNX0hIgpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3RleHQt
Y29tYmluZS1pbWFnZS10ZXN0LWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC90ZXh0LWNvbWJpbmUt
aW1hZ2UtdGVzdC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gNzg0ODQpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvdGV4dC1jb21iaW5lLWlt
YWdlLXRlc3QtZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLTNm
NzNlNmRkZGI3ODZiZjM3MGVkOTNkMzE1ZTZiMTBiClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQorNmQ3OTFmMTk1MjRlMDUxY2U3MDc1NDFmZjExMWUyOTQKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0
aW9uYWwvdGV4dC1jb21iaW5lLWltYWdlLXRlc3QtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC90ZXh0LWNv
bWJpbmUtaW1hZ2UtdGVzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDc4NDg0KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3RleHQtY29tYmluZS1p
bWFnZS10ZXN0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNSwxMjQgKzUsMTI0IEBA
IGxheWVyIGF0ICgxNjYsMCkgc2l6ZSA2MzR4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsOCkgc2l6ZSA1OTR4NTg0CiAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDApIHNpemUg
Mng1ODQgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0KICAgICAgIFJlbmRlckJsb2NrIChh
bm9ueW1vdXMpIGF0ICgxMCwwKSBzaXplIDQ4eDU4NAotICAgICAgICBSZW5kZXJJbmxpbmUge1NQ
QU59IGF0ICgwLDApIHNpemUgMzJ4NDc0Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICg4LDApIHNpemUgMzJ4NDc0Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOCwwKSB3aWR0aCA0
NzQ6ICJPRkY9XHh7ODk3Rn1ceHs2NkE2fTIwMTBceHs1RTc0fTFceHs2NzA4fTIwXHh7NjVFNX0z
NjVceHs1NkRFfSIKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDMy
eDQ2OQorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOCwwKSBzaXplIDMyeDQ2OQor
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDgsMCkgd2lkdGggNDY5OiAiT0ZGPVx4ezg5N0Z9XHh7
NjZBNn0yMDEwXHh7NUU3NH0xXHh7NjcwOH0yMFx4ezY1RTV9MzY1XHh7NTZERX0iCiAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgUmVuZGVyQmxvY2sg
e0hSfSBhdCAoNjYsMCkgc2l6ZSAyeDU4NCBbYm9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDApXQog
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDc2LDApIHNpemUgNDh4NTg0Ci0gICAg
ICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzMngzODAKKyAgICAgICAgUmVu
ZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDMyeDM3NgogICAgICAgICAgIFJlbmRlcklu
bGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzMngzMgogICAgICAgICAgICAgUmVuZGVyQ29tYmlu
ZVRleHQgeyN0ZXh0fSBhdCAoOCwwKSBzaXplIDMyeDMyCiAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICg4LDApIHdpZHRoIDMyOiAiXHh7RkZGQ30iCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICg4LDMyKSBzaXplIDMyeDg4Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOCwzMikg
d2lkdGggODg6ICI9XHh7ODk3Rn1ceHs2NkE2fSIKLSAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQ
QU59IGF0ICgwLDApIHNpemUgMzJ4MzIKLSAgICAgICAgICAgIFJlbmRlckNvbWJpbmVUZXh0IHsj
dGV4dH0gYXQgKDgsMTIwKSBzaXplIDMyeDMyCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4
LDEyMCkgd2lkdGggMzI6ICJceHtGRkZDfSIKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDgsMTUyKSBzaXplIDMyeDMzCi0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOCwxNTIpIHdp
ZHRoIDMzOiAiXHh7NUU3NH0iCi0gICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCww
KSBzaXplIDMyeDMyCi0gICAgICAgICAgICBSZW5kZXJDb21iaW5lVGV4dCB7I3RleHR9IGF0ICg4
LDE4NSkgc2l6ZSAzMngzMgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOCwxODUpIHdpZHRo
IDMyOiAiXHh7RkZGQ30iCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg4LDIxNykg
c2l6ZSAzMngzMwotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDgsMjE3KSB3aWR0aCAzMzogIlx4
ezY3MDh9IgotICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzMngz
MgotICAgICAgICAgICAgUmVuZGVyQ29tYmluZVRleHQgeyN0ZXh0fSBhdCAoOCwyNTApIHNpemUg
MzJ4MzIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDgsMjUwKSB3aWR0aCAzMjogIlx4e0ZG
RkN9IgotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOCwyODIpIHNpemUgMzJ4MzMK
LSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4LDI4Mikgd2lkdGggMzM6ICJceHs2NUU1fSIKLSAg
ICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMzJ4MzIKLSAgICAgICAg
ICAgIFJlbmRlckNvbWJpbmVUZXh0IHsjdGV4dH0gYXQgKDgsMzE1KSBzaXplIDMyeDMyCi0gICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg4LDMxNSkgd2lkdGggMzI6ICJceHtGRkZDfSIKLSAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDgsMzQ3KSBzaXplIDMyeDMzCi0gICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoOCwzNDcpIHdpZHRoIDMzOiAiXHh7NTZERX0iCisgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICg4LDMyKSBzaXplIDMyeDg3CisgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoOCwzMikgd2lkdGggODc6ICI9XHh7ODk3Rn1ceHs2NkE2fSIKKyAgICAgICAgICBSZW5k
ZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMzJ4MzMKKyAgICAgICAgICAgIFJlbmRlckNv
bWJpbmVUZXh0IHsjdGV4dH0gYXQgKDgsMTE4KSBzaXplIDMyeDMzCisgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICg4LDExOCkgd2lkdGggMzI6ICJceHtGRkZDfSIKKyAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDgsMTUwKSBzaXplIDMyeDMzCisgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoOCwxNTApIHdpZHRoIDMzOiAiXHh7NUU3NH0iCisgICAgICAgICAgUmVuZGVySW5saW5lIHtT
UEFOfSBhdCAoMCwwKSBzaXplIDMyeDMzCisgICAgICAgICAgICBSZW5kZXJDb21iaW5lVGV4dCB7
I3RleHR9IGF0ICg4LDE4Mikgc2l6ZSAzMngzMworICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
OCwxODIpIHdpZHRoIDMyOiAiXHh7RkZGQ30iCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICg4LDIxNCkgc2l6ZSAzMngzMworICAgICAgICAgICAgdGV4dCBydW4gYXQgKDgsMjE0KSB3
aWR0aCAzMzogIlx4ezY3MDh9IgorICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAs
MCkgc2l6ZSAzMngzMworICAgICAgICAgICAgUmVuZGVyQ29tYmluZVRleHQgeyN0ZXh0fSBhdCAo
OCwyNDYpIHNpemUgMzJ4MzMKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDgsMjQ2KSB3aWR0
aCAzMjogIlx4e0ZGRkN9IgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOCwyNzgp
IHNpemUgMzJ4MzMKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4LDI3OCkgd2lkdGggMzM6ICJc
eHs2NUU1fSIKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMzJ4
MzMKKyAgICAgICAgICAgIFJlbmRlckNvbWJpbmVUZXh0IHsjdGV4dH0gYXQgKDgsMzEwKSBzaXpl
IDMyeDMzCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4LDMxMCkgd2lkdGggMzI6ICJceHtG
RkZDfSIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDgsMzQyKSBzaXplIDMyeDM0
CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOCwzNDIpIHdpZHRoIDMzOiAiXHh7NTZERX0iCiAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgUmVuZGVy
QmxvY2sge0hSfSBhdCAoMTMyLDApIHNpemUgMng1ODQgW2JvcmRlcjogKDFweCBpbnNldCAjMDAw
MDAwKV0KICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgxNDIsMCkgc2l6ZSA0OHg1
ODQKLSAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDM3eDQ3MgorICAg
ICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMzd4NDY4CiAgICAgICAgICAg
UmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDM3eDgwCiAgICAgICAgICAgICBSZW5k
ZXJDb21iaW5lVGV4dCB7I3RleHR9IGF0ICg1LDApIHNpemUgMzd4ODAKICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDUsMCkgd2lkdGggODA6ICJUaW1lcyIKLSAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDUsODApIHNpemUgMzd4ODQKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1
LDgwKSB3aWR0aCA4NDogIj1ceHs4OTdGfVx4ezY2QTZ9IgotICAgICAgICAgIFJlbmRlcklubGlu
ZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzN3g2NAotICAgICAgICAgICAgUmVuZGVyQ29tYmluZVRl
eHQgeyN0ZXh0fSBhdCAoNSwxNjQpIHNpemUgMzd4NjQKLSAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDUsMTY0KSB3aWR0aCA2NDogIjIwMTAiCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICg1LDIyOCkgc2l6ZSAzN3gzMwotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDUsMjI4KSB3
aWR0aCAzMzogIlx4ezVFNzR9IgotICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAs
MCkgc2l6ZSAzN3gzMgotICAgICAgICAgICAgUmVuZGVyQ29tYmluZVRleHQgeyN0ZXh0fSBhdCAo
NSwyNjEpIHNpemUgMzd4MzIKLSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDUsMjYxKSB3aWR0
aCAzMjogIlx4e0ZGRkN9IgotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNSwyOTMp
IHNpemUgMzd4MzMKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1LDI5Mykgd2lkdGggMzM6ICJc
eHs2NzA4fSIKLSAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMzd4
MzIKLSAgICAgICAgICAgIFJlbmRlckNvbWJpbmVUZXh0IHsjdGV4dH0gYXQgKDUsMzI2KSBzaXpl
IDM3eDMyCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1LDMyNikgd2lkdGggMzI6ICJceHtG
RkZDfSIKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUsMzU4KSBzaXplIDM3eDMz
Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNSwzNTgpIHdpZHRoIDMzOiAiXHh7NjVFNX0iCi0g
ICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDM3eDQ4Ci0gICAgICAg
ICAgICBSZW5kZXJDb21iaW5lVGV4dCB7I3RleHR9IGF0ICg1LDM5MSkgc2l6ZSAzN3g0OAotICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNSwzOTEpIHdpZHRoIDQ4OiAiMzY1IgotICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNSw0MzkpIHNpemUgMzd4MzMKLSAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICg1LDQzOSkgd2lkdGggMzM6ICJceHs1NkRFfSIKKyAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDUsODApIHNpemUgMzd4ODMKKyAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg1LDgwKSB3aWR0aCA4MzogIj1ceHs4OTdGfVx4ezY2QTZ9IgorICAgICAgICAgIFJlbmRlcklu
bGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzN3g2NQorICAgICAgICAgICAgUmVuZGVyQ29tYmlu
ZVRleHQgeyN0ZXh0fSBhdCAoNSwxNjIpIHNpemUgMzd4NjUKKyAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDUsMTYyKSB3aWR0aCA2NDogIjIwMTAiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICg1LDIyNikgc2l6ZSAzN3gzMworICAgICAgICAgICAgdGV4dCBydW4gYXQgKDUsMjI2
KSB3aWR0aCAzMzogIlx4ezVFNzR9IgorICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQg
KDAsMCkgc2l6ZSAzN3gzMworICAgICAgICAgICAgUmVuZGVyQ29tYmluZVRleHQgeyN0ZXh0fSBh
dCAoNSwyNTgpIHNpemUgMzd4MzMKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDUsMjU4KSB3
aWR0aCAzMjogIlx4e0ZGRkN9IgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNSwy
OTApIHNpemUgMzd4MzMKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1LDI5MCkgd2lkdGggMzM6
ICJceHs2NzA4fSIKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUg
Mzd4MzMKKyAgICAgICAgICAgIFJlbmRlckNvbWJpbmVUZXh0IHsjdGV4dH0gYXQgKDUsMzIyKSBz
aXplIDM3eDMzCisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1LDMyMikgd2lkdGggMzI6ICJc
eHtGRkZDfSIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUsMzU0KSBzaXplIDM3
eDM0CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNSwzNTQpIHdpZHRoIDMzOiAiXHh7NjVFNX0i
CisgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDM3eDQ5CisgICAg
ICAgICAgICBSZW5kZXJDb21iaW5lVGV4dCB7I3RleHR9IGF0ICg1LDM4Nykgc2l6ZSAzN3g0OQor
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNSwzODcpIHdpZHRoIDQ4OiAiMzY1IgorICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNSw0MzUpIHNpemUgMzd4MzMKKyAgICAgICAgICAg
IHRleHQgcnVuIGF0ICg1LDQzNSkgd2lkdGggMzM6ICJceHs1NkRFfSIKICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0
ICgxOTgsMCkgc2l6ZSAyeDU4NCBbYm9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDApXQogICAgICAg
UmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDIwOCwwKSBzaXplIDk2eDU4NAotICAgICAgICBS
ZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMzJ4MjM2Ci0gICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICg4LDApIHNpemUgMzJ4MjM2Ci0gICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoOCwwKSB3aWR0aCAyMzY6ICJPRkY9XHh7NUI1N31ceHszMDQyfVx4e0ZGMjF9QSUiCi0gICAg
ICAgIFJlbmRlckJSIHtCUn0gYXQgKDE1LDIzNikgc2l6ZSAxOHgwCisgICAgICAgIFJlbmRlcklu
bGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzMngyMzMKKyAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDgsMCkgc2l6ZSAzMngyMzMKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4LDAp
IHdpZHRoIDIzMzogIk9GRj1ceHs1QjU3fVx4ezMwNDJ9XHh7RkYyMX1BJSIKKyAgICAgICAgUmVu
ZGVyQlIge0JSfSBhdCAoMTUsMjMyKSBzaXplIDE4eDEKICAgICAgICAgUmVuZGVySW5saW5lIHtT
UEFOfSBhdCAoMCwwKSBzaXplIDMyeDIxNAogICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0g
YXQgKDAsMCkgc2l6ZSAzMngzMgogICAgICAgICAgICAgUmVuZGVyQ29tYmluZVRleHQgeyN0ZXh0
fSBhdCAoNTYsMCkgc2l6ZSAzMngzMgogICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTYsMCkg
d2lkdGggMzI6ICJceHtGRkZDfSIKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU2
LDMyKSBzaXplIDMyeDIyCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTYsMzIpIHdpZHRoIDIy
OiAiPSIKLSAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMzJ4MzIK
LSAgICAgICAgICAgIFJlbmRlckNvbWJpbmVUZXh0IHsjdGV4dH0gYXQgKDU2LDU0KSBzaXplIDMy
eDMyCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1Niw1NCkgd2lkdGggMzI6ICJceHtGRkZD
fSIKLSAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMzJ4MzIKLSAg
ICAgICAgICAgIFJlbmRlckNvbWJpbmVUZXh0IHsjdGV4dH0gYXQgKDU2LDg2KSBzaXplIDMyeDMy
Ci0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1Niw4Nikgd2lkdGggMzI6ICJceHtGRkZDfSIK
LSAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMzJ4MzIKLSAgICAg
ICAgICAgIFJlbmRlckNvbWJpbmVUZXh0IHsjdGV4dH0gYXQgKDU2LDExOCkgc2l6ZSAzMngzMgot
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTYsMTE4KSB3aWR0aCAzMjogIlx4e0ZGRkN9Igot
ICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzMngzMgotICAgICAg
ICAgICAgUmVuZGVyQ29tYmluZVRleHQgeyN0ZXh0fSBhdCAoNTYsMTUwKSBzaXplIDMyeDMyCi0g
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1NiwxNTApIHdpZHRoIDMyOiAiXHh7RkZGQ30iCi0g
ICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDMyeDMyCi0gICAgICAg
ICAgICBSZW5kZXJDb21iaW5lVGV4dCB7I3RleHR9IGF0ICg1NiwxODIpIHNpemUgMzJ4MzIKLSAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDU2LDE4Mikgd2lkdGggMzI6ICJceHtGRkZDfSIKKyAg
ICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMzJ4MzMKKyAgICAgICAg
ICAgIFJlbmRlckNvbWJpbmVUZXh0IHsjdGV4dH0gYXQgKDU2LDUzKSBzaXplIDMyeDMzCisgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg1Niw1Mykgd2lkdGggMzI6ICJceHtGRkZDfSIKKyAgICAg
ICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMzJ4MzMKKyAgICAgICAgICAg
IFJlbmRlckNvbWJpbmVUZXh0IHsjdGV4dH0gYXQgKDU2LDg1KSBzaXplIDMyeDMzCisgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICg1Niw4NSkgd2lkdGggMzI6ICJceHtGRkZDfSIKKyAgICAgICAg
ICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMzJ4MzMKKyAgICAgICAgICAgIFJl
bmRlckNvbWJpbmVUZXh0IHsjdGV4dH0gYXQgKDU2LDExNykgc2l6ZSAzMngzMworICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNTYsMTE3KSB3aWR0aCAzMjogIlx4e0ZGRkN9IgorICAgICAgICAg
IFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzMngzMworICAgICAgICAgICAgUmVu
ZGVyQ29tYmluZVRleHQgeyN0ZXh0fSBhdCAoNTYsMTQ5KSBzaXplIDMyeDMzCisgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICg1NiwxNDkpIHdpZHRoIDMyOiAiXHh7RkZGQ30iCisgICAgICAgICAg
UmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDMyeDMzCisgICAgICAgICAgICBSZW5k
ZXJDb21iaW5lVGV4dCB7I3RleHR9IGF0ICg1NiwxODEpIHNpemUgMzJ4MzMKKyAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDU2LDE4MSkgd2lkdGggMzI6ICJceHtGRkZDfSIKICAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgIFJlbmRlckJsb2NrIChh
bm9ueW1vdXMpIGF0ICgzMjAsMCkgc2l6ZSAyNzR4NTg0CiAgICAgICAgIFJlbmRlckJsb2NrIHtI
Un0gYXQgKDAsMCkgc2l6ZSAyeDU4NCBbYm9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDApXQogICAg
ICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDM0LDApIHNpemUgMjQweDU4NAotICAgICAgICAgIFJl
bmRlckJsb2NrIChmbG9hdGluZykge1NQQU59IGF0ICgwLDMxNikgc2l6ZSAzOHgyNjggW2JvcmRl
cjogKDFweCBzb2xpZCAjRkYwMDAwKV0KKyAgICAgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcp
IHtTUEFOfSBhdCAoMCwzMTgpIHNpemUgMzh4MjY2IFtib3JkZXI6ICgxcHggc29saWQgI0ZGMDAw
MCldCiAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsMSkgc2l6ZSAyNHgxMTkK
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDcsMSkgd2lkdGggMTE5OiAiZmxvYXQ6cmlnaHQ6
IgotICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDI0eDI0Ci0g
ICAgICAgICAgICAgIFJlbmRlckNvbWJpbmVUZXh0IHsjdGV4dH0gYXQgKDcsMTIwKSBzaXplIDI0
eDI0Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDcsMTIwKSB3aWR0aCAyNDogIlx4e0ZG
RkN9IgotICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3LDE0NCkgc2l6ZSAyNHgy
NQotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNywxNDQpIHdpZHRoIDI1OiAiXHh7NUU3NH0i
Ci0gICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMjR4MjQKLSAg
ICAgICAgICAgICAgUmVuZGVyQ29tYmluZVRleHQgeyN0ZXh0fSBhdCAoNywxNjkpIHNpemUgMjR4
MjQKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNywxNjkpIHdpZHRoIDI0OiAiXHh7RkZG
Q30iCi0gICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsMTkzKSBzaXplIDI0eDI1
Ci0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3LDE5Mykgd2lkdGggMjU6ICJceHs2NzA4fSIK
LSAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAyNHgyNAotICAg
ICAgICAgICAgICBSZW5kZXJDb21iaW5lVGV4dCB7I3RleHR9IGF0ICg3LDIxOCkgc2l6ZSAyNHgy
NAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3LDIxOCkgd2lkdGggMjQ6ICJceHtGRkZD
fSIKLSAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNywyNDIpIHNpemUgMjR4MjUK
LSAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDcsMjQyKSB3aWR0aCAyNTogIlx4ezY1RTV9Igot
ICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAyMDl4NTQ4Ci0gICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE1LDApIHNpemUgMjA5eDU0OAotICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMTUsMCkgd2lkdGggMjkxOiAiXHh7MzA1RH1ceHszMDZFfVx4
ezU5NzN9XHh7MzA0Q31ceHszMDZEfVx4ezMwNEJ9XHh7MzA1N31ceHszMDY0fVx4ezMwNTF9XHh7
MzA2Qn1ceHs2NzY1fVx4ezMwNjZ9XHh7MzA0Rn1ceHszMDhDfVx4ezMwOEJ9XHh7MzA3RX1ceHsz
MDY3fVx4ezMwMDF9IgotICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjMsMCkgd2lkdGggNTQ4
OiAiXHh7MzA4Rn1ceHszMDVGfVx4ezMwNTd9XHh7MzA2Rn1ceHszMDUxfVx4ezMwNjN9XHh7MzA1
N31ceHszMDY2fVx4ezMwNkR9XHh7MzA2OX1ceHszMDUzfVx4ezMwNkJ9XHh7MzA2Rn1ceHszMDZG
fVx4ezMwNDR9XHh7MzA4OX1ceHszMDZBfVx4ezMwNEJ9XHh7MzA2M31ceHszMDVGfVx4ezMwMDJ9
XHh7NTFBQ31ceHszMDZFfVx4ezMwNDJ9XHh7MzA4OX1ceHszMDU3fVx4ezMwNEN9XHh7MzA2MH1c
eHszMDkzfVx4ezMwNTR9XHh7MzA2RX1ceHszMDg4fVx4ezMwNDZ9XHh7MzA2QX0iCi0gICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgxMTEsMCkgd2lkdGggNTQ4OiAiXHh7OTZFQX1ceHszMDkyfVx4
ezMwNzV9XHh7MzA0RH1ceHszMDY0fVx4ezMwNTF9XHh7MzA2Nn1ceHs3QTkzfVx4ezMwQUN9XHh7
MzBFOX1ceHszMEI5fVx4ezMwOTJ9XHh7NzY3RH1ceHszMDRGfVx4ezMwNTl9XHh7MzA4Qn1ceHsz
MDU4fVx4ezMwNzZ9XHh7MzA5M31ceHszMDZCfVx4ezMwNkF9XHh7MzA4Qn1ceHszMDY4fVx4ezMw
MDF9XHh7MzA1M31ceHszMDZFfVx4ezU5NzN9XHh7MzA2RX1ceHs0RUJBfVx4ezMwNkZ9XHh7NEUy
MX1ceHs2MjRCfVx4ezMwNkV9XHh7OTU5M30iCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgx
NTksMCkgd2lkdGggNTQ4OiAiXHh7MzA2Qn1ceHszMDhGfVx4ezMwNUZ9XHh7MzA1N31ceHszMDZF
fVx4ezhEQjN9XHh7MzA5Mn1ceHszMDRBfVx4ezMwNTV9XHh7MzA0OH1ceHszMDY2fVx4ezMwMDF9
XHh7NkI0Q31ceHszMDkyfVx4ezZCNEN9XHh7MzA0NH1ceHszMDZBfVx4ezMwNEN9XHh7MzA4OX1c
eHs2Njk2fVx4ezMwODF9XHh7MzA2Nn1ceHszMDRGfVx4ezMwOEN9XHh7MzA1Rn1ceHszMDAyfVx4
ezMwNUR9XHh7MzA2RX1ceHs2QjRDfVx4ezMwNkV9XHh7N0JDMH1ceHszMDgyfVx4ezY1ODd9XHh7
NTNFNX0iCi0gICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyMDcsMCkgd2lkdGggMTk0OiAiXHh7
MzA4Mn1ceHszMDAxfVx4ezMwNDR9XHh7MzA3RX1ceHszMDZCfVx4ezVGRDh9XHh7MzA4Q31ceHsz
MDVBfVx4ezMwNkJ9XHh7MzA0NH1ceHszMDhCfVx4ezMwMDJ9IgorICAgICAgICAgICAgUmVuZGVy
SW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDI0eDI1CisgICAgICAgICAgICAgIFJlbmRlckNv
bWJpbmVUZXh0IHsjdGV4dH0gYXQgKDcsMTE5KSBzaXplIDI0eDI1CisgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDcsMTE5KSB3aWR0aCAyNDogIlx4e0ZGRkN9IgorICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICg3LDE0Mykgc2l6ZSAyNHgyNQorICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNywxNDMpIHdpZHRoIDI1OiAiXHh7NUU3NH0iCisgICAgICAgICAgICBSZW5kZXJJ
bmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMjR4MjUKKyAgICAgICAgICAgICAgUmVuZGVyQ29t
YmluZVRleHQgeyN0ZXh0fSBhdCAoNywxNjcpIHNpemUgMjR4MjUKKyAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoNywxNjcpIHdpZHRoIDI0OiAiXHh7RkZGQ30iCisgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDcsMTkxKSBzaXplIDI0eDI1CisgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICg3LDE5MSkgd2lkdGggMjU6ICJceHs2NzA4fSIKKyAgICAgICAgICAgIFJlbmRlcklu
bGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAyNHgyNQorICAgICAgICAgICAgICBSZW5kZXJDb21i
aW5lVGV4dCB7I3RleHR9IGF0ICg3LDIxNSkgc2l6ZSAyNHgyNQorICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICg3LDIxNSkgd2lkdGggMjQ6ICJceHtGRkZDfSIKKyAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoNywyMzkpIHNpemUgMjR4MjYKKyAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDcsMjM5KSB3aWR0aCAyNTogIlx4ezY1RTV9IgorICAgICAgICAgIFJlbmRlcklubGlu
ZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAyMDl4NTgxCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDE1LDApIHNpemUgMjA5eDU4MQorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MTUsMCkgd2lkdGggMzA3OiAiXHh7MzA1RH1ceHszMDZFfVx4ezU5NzN9XHh7MzA0Q31ceHszMDZE
fVx4ezMwNEJ9XHh7MzA1N31ceHszMDY0fVx4ezMwNTF9XHh7MzA2Qn1ceHs2NzY1fVx4ezMwNjZ9
XHh7MzA0Rn1ceHszMDhDfVx4ezMwOEJ9XHh7MzA3RX1ceHszMDY3fVx4ezMwMDF9XHh7MzA4Rn0i
CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2MywwKSB3aWR0aCA1ODE6ICJceHszMDVGfVx4
ezMwNTd9XHh7MzA2Rn1ceHszMDUxfVx4ezMwNjN9XHh7MzA1N31ceHszMDY2fVx4ezMwNkR9XHh7
MzA2OX1ceHszMDUzfVx4ezMwNkJ9XHh7MzA2Rn1ceHszMDZGfVx4ezMwNDR9XHh7MzA4OX1ceHsz
MDZBfVx4ezMwNEJ9XHh7MzA2M31ceHszMDVGfVx4ezMwMDJ9XHh7NTFBQ31ceHszMDZFfVx4ezMw
NDJ9XHh7MzA4OX1ceHszMDU3fVx4ezMwNEN9XHh7MzA2MH1ceHszMDkzfVx4ezMwNTR9XHh7MzA2
RX1ceHszMDg4fVx4ezMwNDZ9XHh7MzA2QX1ceHs5NkVBfVx4ezMwOTJ9XHh7MzA3NX0iCisgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgxMTEsMCkgd2lkdGggNTgxOiAiXHh7MzA0RH1ceHszMDY0
fVx4ezMwNTF9XHh7MzA2Nn1ceHs3QTkzfVx4ezMwQUN9XHh7MzBFOX1ceHszMEI5fVx4ezMwOTJ9
XHh7NzY3RH1ceHszMDRGfVx4ezMwNTl9XHh7MzA4Qn1ceHszMDU4fVx4ezMwNzZ9XHh7MzA5M31c
eHszMDZCfVx4ezMwNkF9XHh7MzA4Qn1ceHszMDY4fVx4ezMwMDF9XHh7MzA1M31ceHszMDZFfVx4
ezU5NzN9XHh7MzA2RX1ceHs0RUJBfVx4ezMwNkZ9XHh7NEUyMX1ceHs2MjRCfVx4ezMwNkV9XHh7
OTU5M31ceHszMDZCfVx4ezMwOEZ9XHh7MzA1Rn1ceHszMDU3fVx4ezMwNkV9IgorICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMTU5LDApIHdpZHRoIDU4MTogIlx4ezhEQjN9XHh7MzA5Mn1ceHsz
MDRBfVx4ezMwNTV9XHh7MzA0OH1ceHszMDY2fVx4ezMwMDF9XHh7NkI0Q31ceHszMDkyfVx4ezZC
NEN9XHh7MzA0NH1ceHszMDZBfVx4ezMwNEN9XHh7MzA4OX1ceHs2Njk2fVx4ezMwODF9XHh7MzA2
Nn1ceHszMDRGfVx4ezMwOEN9XHh7MzA1Rn1ceHszMDAyfVx4ezMwNUR9XHh7MzA2RX1ceHs2QjRD
fVx4ezMwNkV9XHh7N0JDMH1ceHszMDgyfVx4ezY1ODd9XHh7NTNFNX1ceHszMDgyfVx4ezMwMDF9
XHh7MzA0NH1ceHszMDdFfVx4ezMwNkJ9XHh7NUZEOH1ceHszMDhDfSIKKyAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDIwNywwKSB3aWR0aCA4MTogIlx4ezMwNUF9XHh7MzA2Qn1ceHszMDQ0fVx4
ezMwOEJ9XHh7MzAwMn0iCiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMHgwCiAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNjI2LDApIHNpemUgMHg1
ODQKICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3ZlcnRpY2Fs
LXRleHQtZ2x5cGgtdGVzdC1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvdmVydGljYWwtdGV4dC1n
bHlwaC10ZXN0LWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiA3ODQ4NCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC92ZXJ0aWNhbC10ZXh0LWds
eXBoLXRlc3QtZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLTA2
NWJjMWI3NmI2OWIzZDI3Y2Y4ZjEwMjBjNWRlMDhhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQorY2FjZjNjMmEzNDFjNWI0ZGExNDJkOWZlMjY2MzliMzAKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0
aW9uYWwvdmVydGljYWwtdGV4dC1nbHlwaC10ZXN0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvdmVydGlj
YWwtdGV4dC1nbHlwaC10ZXN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzg0ODQpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvdmVydGljYWwtdGV4
dC1nbHlwaC10ZXN0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyMSArMSwyMSBA
QAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjM1CitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg2
MzQKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNp
emUgNzg1eDYzNQotICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4NjM1Ci0g
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMjEpIHNpemUgNzY5eDYwNgorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA3ODV4NjM0CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXg2
MzQKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwyMSkgc2l6ZSA3Njl4NjA1CiAgICAgICBS
ZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3Njl4MzIKICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDUpIHNpemUgMTYxeDIxCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkg
d2lkdGggMTYxOiAiU2ltcGxlIHRleHQgcGF0aCIKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICgwLDUzKSBzaXplIDc2OXgyMzUKLSAgICAgICAgUmVuZGVyQmxvY2sge1NQQU59IGF0
ICgwLDApIHNpemUgMzJ4MjI2Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1LDAp
IHNpemUgMjF4MjI2Ci0gICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNSwwKSB3aWR0aCAyMjY6ICJz
dHJpbmdceHszMDBDfVx4ezMwNDJ9XHh7MzAwMX1ceHs1OTA5fVx4ezMwNjN9XHh7RkYwMX1ceHsz
MDBEfVx4ezMwMDJ9IgorICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsNTMpIHNp
emUgNzY5eDIzNAorICAgICAgICBSZW5kZXJCbG9jayB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAzMngy
MjUKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUsMCkgc2l6ZSAyMXgyMjUKKyAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg1LDApIHdpZHRoIDIyNTogInN0cmluZ1x4ezMwMEN9XHh7
MzA0Mn1ceHszMDAxfVx4ezU5MDl9XHh7MzA2M31ceHtGRjAxfVx4ezMwMER9XHh7MzAwMn0iCiAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVy
QmxvY2sge0hSfSBhdCAoMCwyOTgpIHNpemUgNzY5eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAw
MDAwKV0KLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwzMjEpIHNpemUgNzY5eDMyCisgICAg
ICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDI5Nykgc2l6ZSA3Njl4MiBbYm9yZGVyOiAoMXB4IGlu
c2V0ICMwMDAwMDApXQorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDMyMCkgc2l6ZSA3Njl4
MzIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMTgxeDIxCiAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGggMTgxOiAiQ29tcGxleCB0ZXh0IHBhdGgiCi0g
ICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwzNzQpIHNpemUgNzY5eDIzMgorICAg
ICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMzczKSBzaXplIDc2OXgyMzIKICAgICAg
ICAgUmVuZGVyQmxvY2sge1NQQU59IGF0ICgwLDApIHNpemUgMzJ4MjIzCiAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICg1LDApIHNpemUgMjF4MjIzCiAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoNSwwKSB3aWR0aCAyMjM6ICJzdHJpbmdceHszMDBDfVx4ezMwNDJ9XHh7MzAwMX1ceHs1
OTA5fVx4ezMwNjN9XHh7RkYwMX1ceHszMDBEfVx4ezMwMDJ9IgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktQU4tYWZ0ZXItTC1leHBl
Y3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5h
cnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKaVZCT1J3
MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFDN21sRFExQkpRME1nVUhK
dlptbHNaUUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6
Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3WkM5S2hWcEZLTjZyS0dL
aEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54MUtpRVdsc2ZFSnEKL0ln
QWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVh
MlNxdzd4ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5eEZraWZFQTFMYzUv
VGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBrS2E3ek82cllxR2NUdllP
a0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhqMGNHRFgwK0dBVnR4cXAK
K0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1K0xxSEJYMG0x
eE92NG5kV1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3VUVDR1BCb3hO
TEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktDSnhsRU8xQ0pMOFFmNHFy
OGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAxZWZKWFVkcE5YUjVhc2VY
cTgKbXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6
czk0aTdQTHJYV2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZYeC9HZk54R1BpS1RFbWRv
cm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4CjlTOWRQMXQ0dlVaL0RQ
VlJsQm5NMGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2Yk9ESW1icHRVM0h2RUtG
bHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMw
NVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBw
bGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFnCkFFbEVRVlI0QWUz
ZENiQjFZM1kvL3NjOGhJZ2lqVWliRS9NOGt4Z3pJVG9pMFNSRTBLWkdtNm1pTzBFUWhCQ1VxWU9r
YUZwTUNSSkYKWW9paGtFaUhhdG84dGlGTlJBaEJUT2QvMXY3M3VuWHV1ZVBMdS94MDkyZFh2ZFk1
Kyt5ejE5NmZlMVNkNzMzMnMrOHN2ZjdTTEFRSQpFQ0JBZ0FBQkFnUUlFUGdNQkdiOURIcG9RWUFB
QVFJRUNCQWdRSUFBZ1U1QUFQRkJJRUNBQUFFQ0JBZ1FJRURnTXhNUVFENHphbzBJCkVDQkFnQUFC
QWdRSUVCQkFmQVlJRUNCQWdBQUJBZ1FJRVBqTUJBU1F6NHhhSXdJRUNCQWdRSUFBQVFJRUJCQ2ZB
UUlFQ0JBZ1FJQUEKQVFJRVBqTUJBZVF6bzlhSUFBRUNCQWdRSUVDQUFBRUJ4R2VBQUFFQ0JBZ1FJ
RUNBQUlIUFRFQUErY3lvTlNKQWdBQUJBZ1FJRUNCQQpZS1lHa0xmZmZydTk4TUlMTTFYMTFWZGZi
YmZkZGx0Ny9mWFhwOXp2Ly8zZi83Vjc3cmxuWkx2aDV5TXZ6S1FILy9WZi85V2VmUExKCm1iUzMv
L2U3R2ZiNlBKMWZ4V2RyVUh6NDNBZGZpOGNmZmZSUmUreXh4NFpYanp5UDQzdnBwWmRHbnMvTUI5
WG5Qak9QMWI0SUVDQkEKZ0FBQkFsTUpUQmxBZnZNM2Y3TXR1T0NDN1RkKzR6ZmFsNy84NVRiYmJM
TzFwWmRldXYzdTcvNXUrNlZmK3FYdStTV1hYTkl1di96eQp0c2dpaTdSTEw3MTBxcDdUZnYyYjMv
eG11K0tLSzlvZGQ5elJWbDU1NVJaZkVpZGEvdVZmL3FXdHM4NDZiZnZ0dCs4MkdYNCswZnMrCnpm
by8vdU0vYnR0dHQ5Mm4yY1huNXIzamVYMWV6cS9pc3pVSVA5NjVENzUrLy8zM3R6WFdXS1B0dmZm
ZWc2dEhIbDl3d1FWdG9ZVVcKYWxkZGRkWEl1cG4xb1ByY1o5WngyZzhCQWdRSUVDQkFZTG9DVXdh
UUR6NzRvUDM3di85N3UrbW1tOXFWVjE3WjVweHp6cmJaWnB1MQpxNisrdXQxOTk5M3QxRk5QYmUr
OTkxNzcvZC8vL2Jia2trdE90KytVMi8zdi8vNXZPL1RRUTlzQkJ4elFqanZ1dUhiTk5kZTB1ZWFh
CmE4TDNyYi8rK20yMzNYWWJlWDM0K2NnTE0vSEJuL3pKbjdTLys3dS9tNGw3SEwyckNGeTMzMzc3
NkpWRno4YnpxajYvNlo3S3pQNXMKRGZjZDc5d0h0MWwzM1hXN3ovd2NjOHd4dUhyazhUNzc3Tk9G
OUpFVm4vTEI0TSs5K3R3LzVhRjZPd0VDQkFnUUlFQmdoZ1dtRENBUgpBbUxFWTZJbHZuekY2RVFz
OFFWdGxsbG1tV2pUR1ZyLzBFTVB0ZmZmZjcvTk91di9mNGdiYmJUUmxPK1BjRFRZZi9qNWxEdVl3
UTNpCnQ5Ni84QXUvTUlQdmFxM1g2MDM1bmdoK2YvQUhmOUR1dXV1dUtiZWRXUnNNZTMzUzg1dnNl
S1p6N3ZIKzRlMW01bWRydk9NYlB2ZmMKNXVPUFArNGV6ajc3N0NPZnhYeHRzTTZzNHh2djV6Nno5
ajE0dk1PKytkcUhIMzZZRDFVQ0JBZ1FJRUNBUUluQWxBSGsxMy85MXlkdAovRk0vOVZOdDQ0MDNI
dGttdnJERnBUdExMTEZFVzJXVlZkcXp6ejQ3OHRvcnI3elNqV3BzdXVtbWJlMjExMjczM1hmZnlH
dUREeTY4CjhNSjI3TEhIdHZneXRQLysrN2ZERHorOGV6bXVoWThSa2NNT082eTc5T25BQXc5czc3
Nzc3dUJiSjMwODJmdXZ2ZmJhOXJNLys3UHQKdDMvN3Q5c2JiN3pSL3Zxdi83cDcvcXUvK3F2dHFh
ZWU2dlo3K3VtbnQxLys1Vi91Um56KzR6LytvLzNabi8xWjIzREREYnZYWXFSaQpwNTEyNm83MW9v
c3Vhc3N1dTJ4YllZVVZScDMvTysrODB4My84Y2NmMzM3dDEzNnQyLzZVVTA0Wk4yVDh4Vi84UmJ2
Kyt1dTdFWlkvCi9NTS83QzV4bTVIamk0T2E3SHk3ZzU3a1A1L2svQ2I3K2Y3TjMveE5PKys4OHpx
enljTGtaTnROOXRtYTdGeGpuNHN2dm5nNysreXoKdXpPT3kvcVdYMzc1dHUrKyswNG9FRCtyL2Zi
YnI1MXd3Z25kZHYvMmIvODI0YmI1UXJ3blBxdHhLV0o4dmg5OTlORjhxVTFtTTdKUgovOEh3enox
R0FtT1o3TnludSsvWXowUyt0OTU2YTR2UFluekc0Ly9uaHg5K09EYnZQdnRISG5sazkvL3REVGZj
ME5aY2M4M3VVc2Q3Cjc3MjN4UzhKNGxMTXhSWmJyUDNwbi81cHQzMzhaN0xqaWM5K2pDaFpDQkFn
UUlBQWdaOWdnZjV2UW1kb21YdnV1WHY5UzUzR2ZjOXEKcTYzV1czMzExWHUzM0hKTHJ6OFp2ZGYv
QXQ3YmM4ODl1MjM3WWFLMzFWWmI5ZjduZi82bjE1L1EyK3VQblBUNlg2aDcvLzNmL3ozdQp2dnFY
ZS9YNm94K2pYdHRrazAxNi9ma20zYnIrNkVodnZmWFc2L1hucUl4c2M5WlpaL1VXWFhUUkNaOVA5
ZjYxMWxxcnQ4Y2VlNHk4CnYzK3BXVy8zM1hjZmVmNFAvL0FQdmIvNnE3L3FudmNueC9mNlgyQjdD
eSs4Y1BmOEJ6LzRRZThYZi9FWHUzUHVmMUhyUGZmY2M3MysKbDl6ZVhudnROZkwrL2hmZ1hqODhk
Yy83WDk1aUdLVFgvOUxYYlR1eTBjQ0RwWlphcXRmL1lqZXlaa2FPTDk0MDFmbU83UGlIRHdiOQpa
dlQ4SnZ2NTluK3IzK3ZQenhscGQ4Z2hoM1NmZ1pFVlAzd3cyWGFUZmJiaTdWT2RheitBOUU0ODhj
U1JsdjBBMk50aGh4MUduZytlCmU2emNacHR0ZXYyZzByMGVuOWVmKzdtZjYvWEQ2TWoyd3c5Ky91
ZC92dGNmQ2V6MVEyT3ZmOU9FWHZ6c2xsbG1tVjZjMDJRMncvdUoKNThNLzk4bk9mVWIyUFpGdi81
S3ZYdmpFY2NmU0QvKzkzL21kMytrZTk4TjNyeDg2ZXYxUjBGNy9zc3RlUDJSMWJzc3R0MXozMlh6
dAp0ZGQ2eHh4elRLOC84dGpyM3loaXluTTk1NXh6ZXIvMVc3L1Y3ZHQvQ0JBZ1FJQUFnWjlNZ1Ns
SFFHWTBtOFdrOVMyMzNMTDF2NUMxCnpUZmZmT1RPUVRGL3BFL2MvYlkvNXBQRWIwMy84ei8vczkx
NTU1M1RhaEh2aVRrbk1jb1FTMXlXMGc4TDdlLy8vdTliL0RaMnFtVTYKNysrSGpYYnp6VGQzdjIy
Ty9mM0tyL3hLaTkvNjlyL2tkYnZ2QjZ2Vy85TGFQWTdSaUZWWFhYWGtVcUg0clhlTWVzUzZNSWo1
TUZ0cwpzVVY3L1BISHUrM2pQekZCUHk1cmlpVkdoMklmc1V3MmQyYndrcklaT2I3cG5HL1hmSUwv
ek9qNVRmYnpqUkdsQng5OHNOMTQ0NDFkCnQzNG9HM0ViYkQvVmRoTjl0cVp6cnZQTU04K295L1Bt
blhmZVVjOEhqeU5HNXVKWWMvUXZMZ1BjZXV1dEJ6Y1o5L0d1dSs3YXR0MTIKMis1emYvTEpKN2Ru
bm5tbXhXZG1NcHR4ZDlSZk9maHpqMjBtT3ZjWjJmZEV2dkgvVXR5OG9mL0xnKzV3NGpPYW96Znht
WTRKK0hHWgpaVCtVdEhDTUd5ODgvL3p6N2Fpamp1byt6d2NmZkhEMzg0eDFVeDFQakNwVnpwdnFU
c0IvQ0JBZ1FJQUFnYysxd0V3UElJTmZuT0x1CldYRnBUQ3dSRXVLTFRWeHJILy9pTW85LytxZC82
aTVWbVk3UXYvN3J2M1pmMk9QTFVpNzlFWkR1NFFNUFBKQ3JKcXpUZWYvdi9kN3YKZGFFbzUxM0Va
U2h4Q1V4Y25oSVQ3ZU15bUxqa0xKYzQxOEh6SFg0Ky8venpkKy9MN2VQNVlGanFqOWEwbUFBOTJU
SzQveGs1dnVtYwo3MlI5NDdYaDh4bCtQbmgray8xOCs2TkUzUmZjK0hJZWw5VDFmOFBmM1QxdHVQ
OVUydzFhREg2MlpzYTVEaDdMUC8velAzZVh6LzNNCnovek15T3I1NXB0djFNOTY1SVdCQndzc3NN
RElzdzAyMktCN0hMZHBuc3htNUExRER3YlBOVjRhZkQ1NDdqT3k3NGw4WTkvOUVhRHUKMHNPNERD
dnVPdmZXVzIrTkhORmc3MWdaUC9mQjVhZC8rcWU3cC9FTGhSazVuc0Y5ZUV5QUFBRUNCQWo4NUFq
TS9sbWRhdjlTalJZVAplV05VNFpNc2NYMTk3Q01DVFh3WmpDVkdHMktmZVozOFpQdWR6dnNqSU1W
dm1pKzc3TElXWHo3anRyN3gyKytZTS9EbW0yOSs2bHZ1CjlpODk2dTdVRmRmT3h4Mjk0cmZ3TVI5
bXVzdU1ITjkwem5lNmZhZXozVlEvMzdpZGJQOHlwbmJtbVdkMmQxV0xrYWI4NGpxNC8rbHUKTi9p
ZW1YMnVMNzc0WXZkWkcrd1JqNGUvaUErL1B2ZzhSclhpaTNyOG04cG04SDB6K25oRzl6MlJiOXhL
T0VZWUw3NzQ0aFp6c0NMVQpUYlRFL3hPREZvT1BaL1I0SnVwaFBRRUNCQWdRSVBEakt6RFRSMEFt
b2xxNmZ5ZXRHUEdJa1lSYzRwS3MrRzN6ZEphWTBCMS9EQzcrCkprTXU4VWNLNC9Lb0ZWZGNNVmRO
V0tmNy9yaVZiL3c5aDcvOHk3OXMvZmtyTFM1Nyt0dS8vZHZ1VXBvWkNRdmpIVWhjeGhPWEg4VWwK
UXpHcGVUcTMyQjM4Y2hmN25PN3hUZmQ4eHp2T1Q3SnVzcDl2ZjM1TWk1L1ZHV2VjMFoxN0JMQUlk
Y1BMZExjYmZ0OTB6elZHc0thegpSRkNLMytZLzhjUVQwOWw4M0cxZWZ2bmxiaFFoSm0xUFpqUHVt
L3NyaDMvdUUyMDNJL3VleVBlUlJ4N3BKdHlmZHRwcDNhV05FL1dhCnp2b1pPWjdwN004MkJBZ1FJ
RUNBd0krZndBd0ZrUGdDRjdmR25laXZrc2R2b3VOZkxuR0hxcnhMMWM0Nzc5emRIU2R1Mjl1ZmVO
NTkKSVkyL016SFJiV3o3azlXN1M1NXlmekgzSXVhVlJJakpKYjdFeDVmUCtDT0pzY1N4OVNmYTVz
dWpuay9uL2ZIRy9rVDViblFpL3VCaQpYRklUOHpqaU4vVXhaMlg0UzJFY1c1eGZCS2xZb3YvZ2w5
eDRQVUpUTHZIM1RQb1QxVnZjdlN2K3ZrTmNUei9aRXFNdzhkdjRXTUlzCmx1a2UzM1RQdDl2cEQv
OHo3RGNqNXpmWnp6ZitvbnJjZlNtV3VQdFhmeEx5eUNqV0QxdDNaYkx0NGxqaVh5NkRuNjNwbkd1
TWxzVWYKSEl4empIRHc5Tk5QdCtpWHkrQzU3N2pqanQzSTJ2bm5uNTh2ZDNPWjRyZjdnei9Qa1Jk
LytHRHd0ZjZFN203RUxPWlZUR1l6dkk5NApQdnh6bit6Y1oyVGZFL25HZkkvNDNFWVFpWE9JUzdE
aUZ3WHh1WTUvOGYvVTRMbkYzeW1KNS9uL1dzNlJpbjFNZFR4eGVXTUVVUXNCCkFnUUlFQ0R3RXl6
US80SXhyYVUvSDZLN2MxV2ZxdGYvWXQ3Nzh6Ly84MTcvc3FTUjk4WWRjdUt1VlN1dHRGS3ZQeWVq
MS8vamhiMysKeUVTdmY0bFVkMmVnMkxCL0c5WmUvOUtqN280NWNRZXMvc2pDeVBzSEgvUW5BZmY2
dDd2dDdoTFZ2NjFwci85bHNYczU5aG43Ny8veAp3MTUva25DdlB5RzkxLy95MUwzVy8zTFo2OS82
dEh2UHVlZWUyK3RmVGpMcWVkenBaN0wzRC9hUG5uSDNuMXorNkkvK2FOVHpXQi85CityZmc3ZnIx
djFCMWQvN3FmM0hzN3BiVXZ3NisxNTkwM1lzN0JjWDUvdU0vL21PM3EvNWszVzc3TU93SG5GNS80
bnF2UHltM0Y4YzIKM25MMDBVZDNWbkZucnY2dFRVYzJtYzd4eGNiVFBkL1lkankvR1QyL2lYNis4
ZG5wVDJidTlTL3o2VjEzM1hYZE9jY2RtWWFYaWJhYgp6bWRycW5QdHorUHA5UzloNis1TWRjUVJS
M1IzTU92ZkxLRzc4OVB3dWNmUG8zOFpYcTkvK1ZUM0dmN3lsNy9jNjg5ZjZmVnZIOXl0Ckh6N3Vl
QjUzZ3VxSG5GNS84bm52cEpOTzZoMTAwRUhkSGQ5eTI0bHM4dlhCT3Zoejc5L1NlYWI5ZnpXUmIv
OFN4bDUvb25tdmYybGoKZDllM3VOdGIvL0xBM2k2NzdOTHIzeVNpKzB6SFo3VS9ZdGZyMzFhN3Uv
TmNmSWJqblBzVDIzdjlXeFYzbit0dzZnZm1TZjgvNzRmdgo3azUxY2ZjdUN3RUNCQWdRSVBDVEtU
QkxuUFpubWIvaU44MzlXL1IyZDM2SytSc3p1c1RoeHQvbGlPdlE0dzQ5TTdwTTUvM3hHOTdCCnY3
bysvSHhHZStiMi9TK20zZDlOaU44dXh5VGZ1Q3RSM0RXby8wVnZ3cmt4OFZ2M21Edzh1QXdmei9E
endXMm5jNzZEMjMvYXgrUDkKZk9NMzQvSHppdk9ObXdnTVR1UWY3RGZkN1FiZk0vaDRxbk9OWTR2
ZjNNZklVL3oyZnZDR0JvUDd5Y2V4Yll3OGhYLzh6UHEzb002WApKcXh4bVZOc1A5NW5lenliaVhZ
MDNzOTlvbTFqL1hUMlBaVnZqQ3JscU54MGZEN0o4Y1RQS0N5enoyVDc4Qm9CQWdRSUVDRHc0eW53
Cm1RZVFIMC9HcWMvcW05LzhaaGMyNHJhc2cwdE14bzRnMVI4dEdWenRNUUVDQkFnUUlFQ0FBSUVm
U3dFQjVEUDZzY2JFNi9nTDBIRXIKMnZncjJmSGI1dmlMMFhIWHJmaG5JVUNBQUFFQ0JBZ1FJUENU
SUNDQWZJWS81YmlWYi96aHhiaE1KLzVJbzFHUHp4QmZLd0lFQ0JBZwpRSUFBZ2MrRmdBRHl1Zmd4
T0FnQ0JBZ1FJRUNBQUFFQ1B4a0NNM1FiM3A4TUVtZEpnQUFCQWdRSUVDQkFnRUNWZ0FCU0pXdS9C
QWdRCklFQ0FBQUVDQkFpTUVSQkF4cEJZUVlBQUFRSUVDQkFnUUlCQWxZQUFVaVZydndRSUVDQkFn
QUFCQWdRSWpCRVFRTWFRV0VHQUFBRUMKQkFnUUlFQ0FRSldBQUZJbGE3OEVDQkFnUUlBQUFRSUVD
SXdSRUVER2tGaEJnQUFCQWdRSUVDQkFnRUNWZ0FCU0pXdS9CQWdRSUVDQQpBQUVDQkFpTUVSQkF4
cEJZUVlBQUFRSUVDQkFnUUlCQWxZQUFVaVZydndRSUVDQkFnQUFCQWdRSWpCRVFRTWFRV0VHQUFB
RUNCQWdRCklFQ0FRSldBQUZJbGE3OEVDQkFnUUlBQUFRSUVDSXdSRUVER2tGaEJnQUFCQWdRSUVD
QkFnRUNWZ0FCU0pXdS9CQWdRSUVDQUFBRUMKQkFpTUVSQkF4cEJZUVlBQUFRSUVDQkFnUUlCQWxZ
QUFVaVZydndRSUVDQkFnQUFCQWdRSWpCRVFRTWFRV0VHQUFBRUNCQWdRSUVDQQpRSldBQUZJbGE3
OEVDQkFnUUlBQUFRSUVDSXdSRUVER2tGaEJnQUFCQWdRSUVDQkFnRUNWd0tjT0lHKy8vWFo3NmFX
WHFvNXZwdTczCnpUZmYvRVQ3Ky9qamp6L1IrN3lKQUFFQ0JBZ1FJRUNBQUlIUkFwOHFnRnh3d1FW
dG9ZVVdhbGRkZGRYb3ZYNE9uNzM0NG92dFMxLzYKMHJoSDl1R0hIN1o3NzcxMzFHdFBQdmxrdS8v
Kys5djc3Ny9mZHR0dHQ1WWhKT3JGRjEvY2JYdm5uWGVPZW84bkJBZ1FJRUNBQUFFQwpCQWhNTHZD
cEFzZysrK3pURmx4d3djazdUUExxSTQ4ODB2YmZmLy8yN0xQUGp0bnFzTU1PYTN2dHRWZjc2bGUv
Mm80OTl0aDIwMDAzCmpkcm1vNDgrYWtjZmZYUVhFa2E5MEg4U3dlaVVVMDRadGZyYjMvNTJpOEJ3
MTExM2pWb2ZUNjY1NXBxMnd3NDd0UHZ1dTY5RkdMbm4Kbm52YUxydnMwdWFZWTQ1dS81ZGVlbWtY
WHFMdXV1dXUzWEZ0dWVXVzdZVVhYaGl6THlzSUVDQkFnQUFCQWdRSUVKaFlZSlplZjVuNAo1ZEd2
eEpmejJXZWZmZFRLTDM3eGkrM3d3dzl2QngxMDBLajEwM2x5OXRsbnQwTVBQYlROUGZmYzdkWmJi
MjNycmJkZTk3YUhIMzY0CnJicnFxbU4yY2VhWlo3WUREenl3Vy8vcXE2KzJUVGZkdEx2ODY3cnJy
bXViYjc3NXlQWVJEcjd3aFMrMENCMjVQUGZjYzIzNTVaZHYKMjI2N2JidjY2cXR6ZFZlZmV1cXBy
dDk3NzczWG5WK2M1NDQ3N3RpdXVPS0tGanhycmJWV2UvREJCN3R0dDloaWk3YmFhcXUxUng5OQp0
RjEvL2ZWdHpqbm5ITFV2VHdnUUlFQ0FBQUVDQkFnUW1GaGdXaU1nRVE1aVJPSDAwMDl2RzIrOGNZ
dUFNTGk4ODg0N1hRaFpaSkZGCjJ0cHJyOTE5T2MvWDMzMzMzZmIxcjMrOWUzOThxVC90dE5QeXBm
YTFyMzJ0ZmZlNzMyMXp6VFZYTytPTU0wYldyN0xLS3QwWC8vankKSHlNZE1jZGtrMDAyR1hXcFZ3
U01HTkZZYkxIRjJ0WmJiOTN1dU9PT2tmYy8vZlRUYmZYVlZ4OTVIZytXV21xcHR1KysrN1liYnJp
aAp2Zjc2NjZOZVcyNjU1YnBqakpWeGZoZGVlR0c3L1BMTHUyMW1tV1dXZHNJSkozU1BUejMxMUhi
ampUZDJ4eG9qTXNKSHgrSS9CQWdRCklFQ0FBQUVDQktZdE1PVUlTTXlCV0dhWlpWcGNmaFNqRE1j
ZGQxeDc2S0dIUmtZUllnUmtnUVVXYUNlZGRGS2JiNzc1Mmg1NzdORm0KblhYVzl2ampqM2VqQ1Z0
dHRWVTc1cGhqMmdZYmJOQys4NTN2dEhYV1dhZXJNYXFReXlHSEhOS3V2ZmJhOXZ6enorZXFNZlg0
NDQvdgpqdUdKSjU0WWVlMkREejVvU3l5eFJCZFM4dEtwV0xmR0dtdDBsMU90dSs2Nkk5dkdneGcx
V1hiWlpWc0VpUWdqZzB1Y1o0U1dPTDQ0CjErRWxnc2tLSzZ6UUxycm9vdUdYUENkQWdBQUJBZ1FJ
RUNCQVlKb0NVNDZBeER5STdiZmZmbVJFSVNhZHgrVkhnMHZNaTRoTG15S2cKbkh6eXllMlpaNTVw
dDl4eVM3dnR0dHZhQXc4ODBOWmZmLzF1OHhnZE9mLzg4OXVTU3k0NStQYnU5ZTkvLy9zdDdxZzEw
UkxoWnZndQpWakYzWTk1NTUrM21iRVRvaVpHUXVCeHNwNTEyYXNQaEkvWWJveVlISDN6d3VBRWpS
alBPTysrOGR1V1ZWN1pYWG5sbHpHRkU4SXBMCnQzSXkrcGdOckNCQWdBQUJBZ1FJRUNCQVlFcUJL
UU5JWElKMDFsbG50VGZlZUtPN2pDb3VkWHJycmJkRzdUaEdRSEtKa1k1WTRpNVMKY1luVVJodHQx
R0lmdWNURTlRZ3hnMHRjY2hYTDRPakc0T3Z4T0FMRzhIU1ZjODQ1cCsyNTU1NHRMcUdLTUJKM3Vv
cmdNendCZlhCZgoyMjIzWFhmSHErRnppRzAyMjJ5enR2amlpN2ViYjc1NThDM2Q0eGdCaVlBVVBT
d0VDQkFnUUlBQUFRSUVDSHd5Z1NrRFNPdzI3aW9WCmwxSEZoUEdZaEQwWUtJYmJ4dWpHL1BQUDMv
MkxrWVRoK1NMRDI4ZUlRc3k1aUdWNFpHVjQyOEhuTVdIODdydnZIaG5waUFucDU1NTcKYmpkQ0Va
UERKMXJpOHF3WVRZbkx5TVpiWWhUbHNjY2VHL1BTUFBQTTA0M2N4T2lPaFFBQkFnUUlFQ0JBZ0FD
QlR5WXdaUUNKVytYdQp0OTkrM2VUeHVCeHJxdVhsbDEvdVJraldYSFBON2d0N2pJVEVwUEJjWWhR
akxzdUs1YlhYWHVzdTc3cmtra3Zhd2dzdjNFMUl6KzJtCnFuSEpWaXd4OFQyWEdBM1plZWVkMjFG
SEhkWGlPTVpiWnB0dHRyYmhoaHVPR2NYSmJiZlpacHNXZDh3YWIxbHh4Ulc3TzNhTjk1cDEKQkFn
UUlFQ0FBQUVDQkFoTUxUQmxBSWxSaVJpbGlDQVNkNlNLUzdCaTlDR0NSRjRTRmV0emlYa2ZjWmxU
VE9pT3UxN0ZMWFozMzMzMwpiblFqOW5Ya2tVZTJtTGdlZDVOYWVlV1Z1OG5pdDk5K2UzZVhxN3pW
N2JlKzlhM3VEbGx4bDZ6OEY1ZFl4U1ZRTVFvVHg1TVQxaGRkCmRORnMzZFc0VTFlRWpBTU9PR0RV
K3NFbk9WOWxjRjAranN1d2NzNUtyc3NhbDVQRkxYZ3RCQWdRSUVDQUFBRUNCQWg4TW9IUmY5UmoK
bkgzRVhhemlzcVg0SytMeHgvcGl3bm5jeWpacTNCSHFLMS81U2pleFBPWlVSQ0Q1d1E5KzBHSkVJ
NWFsbDE2Nisxc2NlKys5ZDF0cApwWlc2RVpITExydXNHKzJJVyt0R0FJbm5jU3ZkbURSKzRva250
cmlMMVRlKzhZMlJnREY4U04vNzN2ZTYrU0E1QWpJNC95UzJqWW5tCk1RY2tqaTJDVWdTZzRTWG1v
VXcwbWhPWFdzWHI0eTFISEhHRVcrK09CMk1kQVFJRUNCQWdRSUFBZ1drS1RIa2IzdHhQL0QyUCtI
SWUKUzRTRTRTL3dFVHppTXFyaFAxUVkyMGN3aVZ2Z0RsNHVGYmU5alcxamN2bk1YcUpmN0QvK3Zv
aUZBQUVDQkFnUUlFQ0FBSUhQajhDMApBOGpuNTVBZENRRUNCQWdRSUVDQUFBRUNQNm9DTTMvNDRV
ZFZ3bkVUSUVDQUFBRUNCQWdRSUZBdUlJQ1VFMnRBZ0FBQkFnUUlFQ0JBCmdFQUtDQ0Fwb1JJZ1FJ
QUFBUUlFQ0JBZ1VDNGdnSlFUYTBDQUFBRUNCQWdRSUVDQVFBb0lJQ21oRWlCQWdBQUJBZ1FJRUNC
UUxpQ0EKbEJOclFJQUFBUUlFQ0JBZ1FJQkFDZ2dnS2FFU0lFQ0FBQUVDQkFnUUlGQXVJSUNVRTJ0
QWdBQUJBZ1FJRUNCQWdFQUtDQ0Fwb1JJZwpRSUFBQVFJRUNCQWdVQzRnZ0pRVGEwQ0FBQUVDQkFn
UUlFQ0FRQW9JSUNtaEVpQkFnQUFCQWdRSUVDQlFMaUNBbEJOclFJQUFBUUlFCkNCQWdRSUJBQ2dn
Z0thRVNJRUNBQUFFQ0JBZ1FJRkF1SUlDVUUydEFnQUFCQWdRSUVDQkFnRUFLQ0NBcG9SSWdRSUFB
QVFJRUNCQWcKVUM0Z2dKUVRhMENBQUFFQ0JBZ1FJRUNBUUFvSUlDbWhFaUJBZ0FBQkFnUUlFQ0JR
TGlDQWxCTnJRSUFBQVFJRUNCQWdRSUJBQ2dnZwpLYUVTSUVDQUFBRUNCQWdRSUZBdUlJQ1VFMnRB
Z0FBQkFnUUlFQ0JBZ0VBS0NDQXBvUklnUUlBQUFRSUVDQkFnVUM0Z2dKUVRhMENBCkFBRUNCQWdR
SUVDQVFBb0lJQ21oRWlCQWdBQUJBZ1FJRUNCUUxpQ0FsQk5yUUlBQUFRSUVDQkFnUUlCQUNnZ2dL
YUVTSUVDQUFBRUMKQkFnUUlGQXVJSUNVRTJ0QWdBQUJBZ1FJRUNCQWdFQUtDQ0Fwb1JJZ1FJQUFB
UUlFQ0JBZ1VDNGdnSlFUYTBDQUFBRUNCQWdRSUVDQQpRQW9JSUNtaEVpQkFnQUFCQWdRSUVDQlFM
aUNBbEJOclFJQUFBUUlFQ0JBZ1FJQkFDbnpxQVBMMjIyKzNsMTU2S2ZmM3VhNXZ2dm5tCkp6cStq
ei8rK0JPOXo1c0lFQ0JBZ0FBQkFnUUlFQmd0OEtrQ3lBVVhYTkFXV21paGR0VlZWNDNlNitmdzJZ
c3Z2dGkrOUtVdmpYdGsKSDM3NFlidjMzbnRIdmZia2swKzIrKysvdjczLy92dHR0OTEyYXhsQ29s
NTg4Y1hkdG5mZWVlZW85M2hDZ0FBQkFnUUlFQ0JBZ01EawpBcDhxZ095enp6NXR3UVVYbkx6REpL
OCs4c2dqYmYvOTkyL1BQdnZzbUswT08reXd0dGRlZTdXdmZ2V3I3ZGhqajIwMzNYVFRxRzArCit1
aWpkdlRSUjNjaFlkUUwvU2NSakU0NTVaUlJxNy85N1crM0NBeDMzWFhYcVBYeDVKcHJybWs3N0xC
RHUrKysrMXFFa1h2dXVhZnQKc3NzdWJZNDU1dWoyZittbGwzYmhKZXF1dSs3YUhkZVdXMjdaWG5q
aGhUSDdzb0lBQVFJRUNCQWdRSUFBZ1lrRlp1bjFsNGxmSHYxSwpmRG1mZmZiWlI2Mzg0aGUvMkE0
Ly9QQjIwRUVIalZvL25TZG5uMzEyTy9UUVE5dmNjOC9kYnIzMTFyYmVldXQxYjN2NDRZZmJxcXV1
Ck9tWVhaNTU1Wmp2d3dBTzc5YSsrK21yYmROTk51OHUvcnJ2dXVyYjU1cHVQYkIvaDRBdGYrRUtM
MEpITGM4ODkxNVpmZnZtMjdiYmIKdHF1dnZqcFhkL1dwcDU3cStyMzMzbnZkK2NWNTdyampqdTJL
SzY1b3diUFdXbXUxQng5OHNOdDJpeTIyYUt1dHRscDc5TkZIMi9YWApYOS9tbkhQT1VmdnloQUFC
QWdRSUVDQkFnQUNCaVFXbU5RSVM0U0JHRkU0Ly9mUzI4Y1lidHdnSWc4czc3N3pUaFpCRkZsbWty
YjMyCjJ0Mlg4M3o5M1hmZmJWLy8rdGU3OThlWCt0Tk9PeTFmYWwvNzJ0ZmFkNy83M1RiWFhITzFN
ODQ0WTJUOUtxdXMwbjN4ankvL01kSVIKYzB3MjJXU1RVWmQ2UmNDSUVZM0ZGbHVzYmIzMTF1Mk9P
KzRZZWYvVFR6L2RWbDk5OVpIbjhXQ3BwWlpxKys2N2I3dmhoaHZhNjYrLwpQdXExNVpaYnJqdkdX
Qm5uZCtHRkY3YkxMNys4MjJhV1dXWnBKNXh3UXZmNDFGTlBiVGZlZUdOM3JERWlJM3gwTFA1RGdB
QUJBZ1FJCkVDQkFZTm9DVTQ2QXhCeUlaWlpacHNYbFJ6SEtjTnh4eDdXSEhucG9aQlFoUmtBV1dH
Q0JkdEpKSjdYNTVwdXY3YkhISG0zV1dXZHQKanovK2VEZWFzTlZXVzdWampqbW1iYkRCQnUwNzMv
bE9XMmVkZGJvYW93cTVISExJSWUzYWE2OXR6ei8vZks0YVU0OC8vdmp1R0o1NAo0b21SMXo3NDRJ
TzJ4QkpMZENFbEw1MktkV3Vzc1VaM09kVzY2NjQ3c20wOGlGR1RaWmRkdGtXUWlEQXl1TVI1Um1p
SjQ0dHpIVjRpCm1LeXd3Z3J0b29zdUduN0pjd0lFQ0JBZ1FJQUFBUUlFcGlrdzVRaEl6SVBZZnZ2
dFIwWVVZdEo1WEg0MHVNUzhpTGkwS1FMS3lTZWYKM0o1NTVwbDJ5eTIzdE50dXU2MDk4TUFEYmYz
MTErODJqOUdSODg4L3Z5MjU1SktEYis5ZS8vNzN2OS9pamxvVExSRnVodTlpRlhNMwo1cDEzM203
T1JvU2VHQW1KeThGMjJtbW5OaHcrWXI4eGFuTHd3UWVQR3pCaU5PTzg4ODVyVjE1NVpYdmxsVmZH
SEVZRXI3aDBLeWVqCmo5bkFDZ0lFQ0JBZ1FJQUFBUUlFcGhTWU1vREVKVWhublhWV2UrT05ON3JM
cU9KU3A3ZmVlbXZVam1NRUpKY1k2WWdsN2lJVmwwaHQKdE5GR0xmYVJTMHhjanhBenVNUWxWN0VN
am00TXZoNlBJMkFNVDFjNTU1eHoycDU3N3RuaUVxb0lJM0ducXdnK3d4UFFCL2UxM1hiYgpkWGU4
R2o2SDJHYXp6VFpyaXkrK2VMdjU1cHNIMzlJOWpoR1FDRWpSdzBLQUFBRUNCQWdRSUVDQXdDY1Rt
REtBeEc3anJsSnhHVlZNCkdJOUoySU9CWXJodGpHN01QLy84M2I4WVNSaWVMeks4Zll3b3hKeUxX
SVpIVm9hM0hYd2VFOGJ2dnZ2dWtaR09tSkIrN3JubmRpTVUKTVRsOG9pVXV6NHJSbExpTWJMd2xS
bEVlZSt5eE1TL05NODg4M2NoTmpPNVlDQkFnUUlBQUFRSUVDQkQ0WkFKVEJwQzRWZTUrKyszWApU
UjZQeTdHbVdsNSsrZVZ1aEdUTk5kZnN2ckRIU0VoTUNzOGxSakhpc3F4WVhudnR0ZTd5cmtzdXVh
UXR2Q3FlcEdJQUFDQUFTVVJCClZQREMzWVQwM0c2cUdwZHN4UklUMzNPSjBaQ2RkOTY1SFhYVVVT
Mk9ZN3hsdHRsbWF4dHV1T0dZVVp6Y2RwdHR0bWx4eDZ6eGxoVlgKWExHN1k5ZDRyMWxIZ0FBQkFn
UUlFQ0JBZ01EVUFsTUdrQmlWaUZHS0NDSnhSNnE0QkN0R0h5Skk1Q1ZSc1Q2WG1QY1Jsem5GaE82
NAo2MVhjWW5mMzNYZnZSamRpWDBjZWVXU0xpZXR4TjZtVlYxNjVteXgrKysyM2QzZTV5bHZkZnV0
YjMrcnVrQlYzeWNwL2NZbFZYQUlWCm96QnhQRGxoZmRGRkY4M1dYWTA3ZFVYSU9PQ0FBMGF0SDN5
UzgxVUcxK1hqdUF3cjU2emt1cXh4T1ZuY2d0ZENnQUFCQWdRSUVDQkEKZ01BbkV4ajlSejNHMlVm
Y3hTb3VXNHEvSWg1L3JDOG1uTWV0YktQR0hhRys4cFd2ZEJQTFkwNUZCSklmL09BSExVWTBZbGw2
NmFXNwp2OFd4OTk1N3Q1VldXcWtiRWJuc3NzdTYwWTY0dFc0RWtIZ2V0OUtOU2VNbm5uaGlpN3RZ
ZmVNYjN4Z0pHTU9IOUwzdmZhK2JENUlqCklJUHpUMkxibUdnZWMwRGkyQ0lvUlFBYVhtSWV5a1Nq
T1hHcFZidyszbkxFRVVlNDllNTRNTllSSUVDQUFBRUNCQWdRbUtiQWxMZmgKemYzRTMvT0lMK2V4
UkVnWS9nSWZ3U011b3hyK1E0V3hmUVNUdUFYdTRPVlNjZHZiMkRZbWw4L3NKZnJGL3VQdmkxZ0lF
Q0JBZ0FBQgpBZ1FJRVBqOENFdzdnSHgrRHRtUkVDQkFnQUFCQWdRSUVDRHdveW93ODRjZmZsUWxI
RGNCQWdRSUVDQkFnQUFCQXVVQ0FrZzVzUVlFCkNCQWdRSUFBQVFJRUNLU0FBSklTS2dFQ0JBZ1FJ
RUNBQUFFQzVRSUNTRG14QmdRSUVDQkFnQUFCQWdRSXBJQUFraElxQVFJRUNCQWcKUUlBQUFRTGxB
Z0pJT2JFR0JBZ1FJRUNBQUFFQ0JBaWtnQUNTRWlvQkFnUUlFQ0JBZ0FBQkF1VUNBa2c1c1FZRUNC
QWdRSUFBQVFJRQpDS1NBQUpJU0tnRUNCQWdRSUVDQUFBRUM1UUlDU0RteEJnUUlFQ0JBZ0FBQkFn
UUlwSUFBa2hJcUFRSUVDQkFnUUlBQUFRTGxBZ0pJCk9iRUdCQWdRSUVDQUFBRUNCQWlrZ0FDU0Vp
b0JBZ1FJRUNCQWdBQUJBdVVDQWtnNXNRWUVDQkFnUUlBQUFRSUVDS1NBQUpJU0tnRUMKQkFnUUlF
Q0FBQUVDNVFJQ1NEbXhCZ1FJRUNCQWdBQUJBZ1FJcElBQWtoSXFBUUlFQ0JBZ1FJQUFBUUxsQWdK
SU9iRUdCQWdRSUVDQQpBQUVDQkFpa2dBQ1NFaW9CQWdRSUVDQkFnQUFCQXVVQ0FrZzVzUVlFQ0JB
Z1FJQUFBUUlFQ0tTQUFKSVNLZ0VDQkFnUUlFQ0FBQUVDCjVRSUNTRG14QmdRSUVDQkFnQUFCQWdR
SXBJQUFraElxQVFJRUNCQWdRSUFBQVFMbEFnSklPYkVHQkFnUUlFQ0FBQUVDQkFpa2dBQ1MKRWlv
QkFnUUlFQ0JBZ0FBQkF1VUNBa2c1c1FZRUNCQWdRSUFBQVFJRUNLU0FBSklTS2dFQ0JBZ1FJRUNB
QUFFQzVRSUNTRG14QmdRSQpFQ0JBZ0FBQkFnUUlwSUFBa2hJcUFRSUVDQkFnUUlBQUFRTGxBZ0pJ
T2JFR0JBZ1FJRUNBQUFFQ0JBaWtnQUNTRWlvQkFnUUlFQ0JBCmdBQUJBdVVDQWtnNXNRWUVDQkFn
UUlBQUFRSUVDS1NBQUpJU0tnRUNCQWdRSUVDQUFBRUM1UUlDU0RteEJnUUlFQ0JBZ0FBQkFnUUkK
cElBQWtoSXFBUUlFQ0JBZ1FJQUFBUUxsQWdKSU9iRUdCQWdRSUVDQUFBRUNCQWlrZ0FDU0Vpb0JB
Z1FJRUNCQWdBQUJBdVVDQWtnNQpzUVlFQ0JBZ1FJQUFBUUlFQ0tTQUFKSVNLZ0VDQkFnUUlFQ0FB
QUVDNVFJQ1NEbXhCZ1FJRUNCQWdBQUJBZ1FJcElBQWtoSXFBUUlFCkNCQWdRSUFBQVFMbEFnSklP
YkVHQkFnUUlFQ0FBQUVDQkFpa2dBQ1NFaW9CQWdRSUVDQkFnQUFCQXVVQ0FrZzVzUVlFQ0JBZ1FJ
QUEKQVFJRUNLU0FBSklTS2dFQ0JBZ1FJRUNBQUFFQzVRSUNTRG14QmdRSUVDQkFnQUFCQWdRSXBJ
QUFraElxQVFJRUNCQWdRSUFBQVFMbApBZ0pJT2JFR0JBZ1FJRUNBQUFFQ0JBaWtnQUNTRWlvQkFn
UUlFQ0JBZ0FBQkF1VUNBa2c1c1FZRUNCQWdRSUFBQVFJRUNLU0FBSklTCktnRUNCQWdRSUVDQUFB
RUM1UUlDU0RteEJnUUlFQ0JBZ0FBQkFnUUlwSUFBa2hJcUFRSUVDQkFnUUlBQUFRTGxBZ0pJT2JF
R0JBZ1EKSUVDQUFBRUNCQWlrZ0FDU0Vpb0JBZ1FJRUNCQWdBQUJBdVVDQWtnNXNRWUVDQkFnUUlB
QUFRSUVDS1NBQUpJU0tnRUNCQWdRSUVDQQpBQUVDNVFJQ1NEbXhCZ1FJRUNCQWdBQUJBZ1FJcElB
QWtoSXFBUUlFQ0JBZ1FJQUFBUUxsQWdKSU9iRUdCQWdRSUVDQUFBRUNCQWlrCmdBQ1NFaW9CQWdR
SUVDQkFnQUFCQXVVQ0FrZzVzUVlFQ0JBZ1FJQUFBUUlFQ0tTQUFKSVNLZ0VDQkFnUUlFQ0FBQUVD
NVFJQ1NEbXgKQmdRSUVDQkFnQUFCQWdRSXBJQUFraElxQVFJRUNCQWdRSUFBQVFMbEFnSklPYkVH
QkFnUUlFQ0FBQUVDQkFpa2dBQ1NFaW9CQWdRSQpFQ0JBZ0FBQkF1VUNBa2c1c1FZRUNCQWdRSUFB
QVFJRUNLU0FBSklTS2dFQ0JBZ1FJRUNBQUFFQzVRSUNTRG14QmdRSUVDQkFnQUFCCkFnUUlwSUFB
a2hJcUFRSUVDQkFnUUlBQUFRTGxBZ0pJT2JFR0JBZ1FJRUNBQUFFQ0JBaWtnQUNTRWlvQkFnUUlF
Q0JBZ0FBQkF1VUMKQWtnNXNRWUVDQkFnUUlBQUFRSUVDS1NBQUpJU0tnRUNCQWdRSUVDQUFBRUM1
UUlDU0RteEJnUUlFQ0JBZ0FBQkFnUUlwSUFBa2hJcQpBUUlFQ0JBZ1FJQUFBUUxsQWdKSU9iRUdC
QWdRSUVDQUFBRUNCQWlrZ0FDU0Vpb0JBZ1FJRUNCQWdBQUJBdVVDQWtnNXNRWUVDQkFnClFJQUFB
UUlFQ0tTQUFKSVNLZ0VDQkFnUUlFQ0FBQUVDNVFJQ1NEbXhCZ1FJRUNCQWdBQUJBZ1FJcElBQWto
SXFBUUlFQ0JBZ1FJQUEKQVFMbEFnSklPYkVHQkFnUUlFQ0FBQUVDQkFpa2dBQ1NFaW9CQWdRSUVD
QkFnQUFCQXVVQ0FrZzVzUVlFQ0JBZ1FJQUFBUUlFQ0tTQQpBSklTS2dFQ0JBZ1FJRUNBQUFFQzVR
SUNTRG14QmdRSUVDQkFnQUFCQWdRSXBJQUFraElxQVFJRUNCQWdRSUFBQVFMbEFnSklPYkVHCkJB
Z1FJRUNBQUFFQ0JBaWtnQUNTRWlvQkFnUUlFQ0JBZ0FBQkF1VUNBa2c1c1FZRUNCQWdRSUFBQVFJ
RUNLU0FBSklTS2dFQ0JBZ1EKSUVDQUFBRUM1UUlDU0RteEJnUUlFQ0JBZ0FBQkFnUUlwSUFBa2hJ
cUFRSUVDQkFnUUlBQUFRTGxBZ0pJT2JFR0JBZ1FJRUNBQUFFQwpCQWlrZ0FDU0Vpb0JBZ1FJRUNC
QWdBQUJBdVVDQWtnNXNRWUVDQkFnUUlBQUFRSUVDS1NBQUpJU0tnRUNCQWdRSUVDQUFBRUM1UUlD
ClNEbXhCZ1FJRUNCQWdBQUJBZ1FJcElBQWtoSXFBUUlFQ0JBZ1FJQUFBUUxsQWdKSU9iRUdCQWdR
SUVDQUFBRUNCQWlrZ0FDU0Vpb0IKQWdRSUVDQkFnQUFCQXVVQ0FrZzVzUVlFQ0JBZ1FJQUFBUUlF
Q0tTQUFKSVNLZ0VDQkFnUUlFQ0FBQUVDNVFJQ1NEbXhCZ1FJRUNCQQpnQUFCQWdRSXBJQUFraElx
QVFJRUNCQWdRSUFBQVFMbEFnSklPYkVHQkFnUUlFQ0FBQUVDQkFpa2dBQ1NFaW9CQWdRSUVDQkFn
QUFCCkF1VUNBa2c1c1FZRUNCQWdRSUFBQVFJRUNLU0FBSklTS2dFQ0JBZ1FJRUNBQUFFQzVRSUNT
RG14QmdRSUVDQkFnQUFCQWdRSXBJQUEKa2hJcUFRSUVDQkFnUUlBQUFRTGxBZ0pJT2JFR0JBZ1FJ
RUNBQUFFQ0JBaWtnQUNTRWlvQkFnUUlFQ0JBZ0FBQkF1VUNBa2c1c1FZRQpDQkFnUUlBQUFRSUVD
S1NBQUpJU0tnRUNCQWdRSUVDQUFBRUM1UUlDU0RteEJnUUlFQ0JBZ0FBQkFnUUlwSUFBa2hJcUFR
SUVDQkFnClFJQUFBUUxsQWdKSU9iRUdCQWdRSUVDQUFBRUNCQWlrZ0FDU0Vpb0JBZ1FJRUNCQWdB
QUJBdVVDQWtnNXNRWUVDQkFnUUlBQUFRSUUKQ0tTQUFKSVNLZ0VDQkFnUUlFQ0FBQUVDNVFJQ1NE
bXhCZ1FJRUNCQWdBQUJBZ1FJcElBQWtoSXFBUUlFQ0JBZ1FJQUFBUUxsQWdKSQpPYkVHQkFnUUlF
Q0FBQUVDQkFpa2dBQ1NFaW9CQWdRSUVDQkFnQUFCQXVVQ0FrZzVzUVlFQ0JBZ1FJQUFBUUlFQ0tT
QUFKSVNLZ0VDCkJBZ1FJRUNBQUFFQzVRSUNTRG14QmdRSUVDQkFnQUFCQWdRSXBJQUFraElxQVFJ
RUNCQWdRSUFBQVFMbEFnSklPYkVHQkFnUUlFQ0EKQUFFQ0JBaWtnQUNTRWlvQkFnUUlFQ0JBZ0FB
QkF1VUNBa2c1c1FZRUNCQWdRSUFBQVFJRUNLU0FBSklTS2dFQ0JBZ1FJRUNBQUFFQwo1UUlDU0Rt
eEJnUUlFQ0JBZ0FBQkFnUUlwSUFBa2hJcUFRSUVDQkFnUUlBQUFRTGxBZ0pJT2JFR0JBZ1FJRUNB
QUFFQ0JBaWtnQUNTCkVpb0JBZ1FJRUNCQWdBQUJBdVVDQWtnNXNRWUVDQkFnUUlBQUFRSUVDS1NB
QUpJU0tnRUNCQWdRSUVDQUFBRUM1UUlDU0RteEJnUUkKRUNCQWdBQUJBZ1FJcElBQWtoSXFBUUlF
Q0JBZ1FJQUFBUUxsQWdKSU9iRUdCQWdRSUVDQUFBRUNCQWlrZ0FDU0Vpb0JBZ1FJRUNCQQpnQUFC
QXVVQ0FrZzVzUVlFQ0JBZ1FJQUFBUUlFQ0tTQUFKSVNLZ0VDQkFnUUlFQ0FBQUVDNVFJQ1NEbXhC
Z1FJRUNCQWdBQUJBZ1FJCnBJQUFraElxQVFJRUNCQWdRSUFBQVFMbEFnSklPYkVHQkFnUUlFQ0FB
QUVDQkFpa2dBQ1NFaW9CQWdRSUVDQkFnQUFCQXVVQ0FrZzUKc1FZRUNCQWdRSUFBQVFJRUNLU0FB
SklTS2dFQ0JBZ1FJRUNBQUFFQzVRSUNTRG14QmdRSUVDQkFnQUFCQWdRSXBJQUFraElxQVFJRQpD
QkFnUUlBQUFRTGxBZ0pJT2JFR0JBZ1FJRUNBQUFFQ0JBaWtnQUNTRWlvQkFnUUlFQ0JBZ0FBQkF1
VUNBa2c1c1FZRUNCQWdRSUFBCkFRSUVDS1NBQUpJU0tnRUNCQWdRSUVDQUFBRUM1UUlDU0RteEJn
UUlFQ0JBZ0FBQkFnUUlwSUFBa2hJcUFRSUVDQkFnUUlBQUFRTGwKQWdKSU9iRUdCQWdRSUVDQUFB
RUNCQWlrZ0FDU0Vpb0JBZ1FJRUNCQWdBQUJBdVVDQWtnNXNRWUVDQkFnUUlBQUFRSUVDS1NBQUpJ
UwpLZ0VDQkFnUUlFQ0FBQUVDNVFJQ1NEbXhCZ1FJRUNCQWdBQUJBZ1FJcElBQWtoSXFBUUlFQ0JB
Z1FJQUFBUUxsQWdKSU9iRUdCQWdRCklFQ0FBQUVDQkFpa2dBQ1NFaW9CQWdRSUVDQkFnQUFCQXVV
Q0FrZzVzUVlFQ0JBZ1FJQUFBUUlFQ0tTQUFKSVNLZ0VDQkFnUUlFQ0EKQUFFQzVRSUNTRG14QmdR
SUVDQkFnQUFCQWdRSXBJQUFraElxQVFJRUNCQWdRSUFBQVFMbEFnSklPYkVHQkFnUUlFQ0FBQUVD
QkFpawpnQUNTRWlvQkFnUUlFQ0JBZ0FBQkF1VUNBa2c1c1FZRUNCQWdRSUFBQVFJRUNLU0FBSklT
S2dFQ0JBZ1FJRUNBQUFFQzVRSUNTRG14CkJnUUlFQ0JBZ0FBQkFnUUlwSUFBa2hJcUFRSUVDQkFn
UUlBQUFRTGxBZ0pJT2JFR0JBZ1FJRUNBQUFFQ0JBaWtnQUNTRWlvQkFnUUkKRUNCQWdBQUJBdVVD
QWtnNXNRWUVDQkFnUUlBQUFRSUVDS1NBQUpJU0tnRUNCQWdRSUVDQUFBRUM1UUlDU0RteEJnUUlF
Q0JBZ0FBQgpBZ1FJcElBQWtoSXFBUUlFQ0JBZ1FJQUFBUUxsQWdKSU9iRUdCQWdRSUVDQUFBRUNC
QWlrZ0FDU0Vpb0JBZ1FJRUNCQWdBQUJBdVVDCkFrZzVzUVlFQ0JBZ1FJQUFBUUlFQ0tTQUFKSVNL
Z0VDQkFnUUlFQ0FBQUVDNVFJQ1NEbXhCZ1FJRUNCQWdBQUJBZ1FJcElBQWtoSXEKQVFJRUNCQWdR
SUFBQVFMbEFnSklPYkVHQkFnUUlFQ0FBQUVDQkFpa2dBQ1NFaW9CQWdRSUVDQkFnQUFCQXVVQ0Fr
ZzVzUVlFQ0JBZwpRSUFBQVFJRUNLU0FBSklTS2dFQ0JBZ1FJRUNBQUFFQzVRSUNTRG14QmdRSUVD
QkFnQUFCQWdRSXBJQUFraElxQVFJRUNCQWdRSUFBCkFRTGxBZ0pJT2JFR0JBZ1FJRUNBQUFFQ0JB
aWtnQUNTRWlvQkFnUUlFQ0JBZ0FBQkF1VUNBa2c1c1FZRUNCQWdRSUFBQVFJRUNLU0EKQUpJU0tn
RUNCQWdRSUVDQUFBRUM1UUlDU0RteEJnUUlFQ0JBZ0FBQkFnUUlwSUFBa2hJcUFRSUVDQkFnUUlB
QUFRTGxBZ0pJT2JFRwpCQWdRSUVDQUFBRUNCQWlrZ0FDU0Vpb0JBZ1FJRUNCQWdBQUJBdVVDQWtn
NXNRWUVDQkFnUUlBQUFRSUVDS1NBQUpJU0tnRUNCQWdRCklFQ0FBQUVDNVFJQ1NEbXhCZ1FJRUNC
QWdBQUJBZ1FJcElBQWtoSXFBUUlFQ0JBZ1FJQUFBUUxsQWdKSU9iRUdCQWdRSUVDQUFBRUMKQkFp
a2dBQ1NFaW9CQWdRSUVDQkFnQUFCQXVVQ0FrZzVzUVlFQ0JBZ1FJQUFBUUlFQ0tTQUFKSVNLZ0VD
QkFnUUlFQ0FBQUVDNVFJQwpTRG14QmdRSUVDQkFnQUFCQWdRSXBJQUFraElxQVFJRUNCQWdRSUFB
QVFMbEFnSklPYkVHQkFnUUlFQ0FBQUVDQkFpa2dBQ1NFaW9CCkFnUUlFQ0JBZ0FBQkF1VUNBa2c1
c1FZRUNCQWdRSUFBQVFJRUNLU0FBSklTS2dFQ0JBZ1FJRUNBQUFFQzVRSUNTRG14QmdRSUVDQkEK
Z0FBQkFnUUlwSUFBa2hJcUFRSUVDQkFnUUlBQUFRTGxBZ0pJT2JFR0JBZ1FJRUNBQUFFQ0JBaWtn
QUNTRWlvQkFnUUlFQ0JBZ0FBQgpBdVVDQWtnNXNRWUVDQkFnUUlBQUFRSUVDS1NBQUpJU0tnRUNC
QWdRSUVDQUFBRUM1UUlDU0RteEJnUUlFQ0JBZ0FBQkFnUUlwSUFBCmtoSXFBUUlFQ0JBZ1FJQUFB
UUxsQWdKSU9iRUdCQWdRSUVDQUFBRUNCQWlrZ0FDU0Vpb0JBZ1FJRUNCQWdBQUJBdVVDQWtnNXNR
WUUKQ0JBZ1FJQUFBUUlFQ0tTQUFKSVNLZ0VDQkFnUUlFQ0FBQUVDNVFJQ1NEbXhCZ1FJRUNCQWdB
QUJBZ1FJcElBQWtoSXFBUUlFQ0JBZwpRSUFBQVFMbEFnSklPYkVHQkFnUUlFQ0FBQUVDQkFpa2dB
Q1NFaW9CQWdRSUVDQkFnQUFCQXVVQ0FrZzVzUVlFQ0JBZ1FJQUFBUUlFCkNLU0FBSklTS2dFQ0JB
Z1FJRUNBQUFFQzVRSUNTRG14QmdRSUVDQkFnQUFCQWdRSXBJQUFraElxQVFJRUNCQWdRSUFBQVFM
bEFnSkkKT2JFR0JBZ1FJRUNBQUFFQ0JBaWtnQUNTRWlvQkFnUUlFQ0JBZ0FBQkF1VUNBa2c1c1FZ
RUNCQWdRSUFBQVFJRUNLU0FBSklTS2dFQwpCQWdRSUVDQUFBRUM1UUlDU0RteEJnUUlFQ0JBZ0FB
QkFnUUlwSUFBa2hJcUFRSUVDQkFnUUlBQUFRTGxBZ0pJT2JFR0JBZ1FJRUNBCkFBRUNCQWlrZ0FD
U0Vpb0JBZ1FJRUNCQWdBQUJBdVVDQWtnNXNRWUVDQkFnUUlBQUFRSUVDS1NBQUpJU0tnRUNCQWdR
SUVDQUFBRUMKNVFJQ1NEbXhCZ1FJRUNCQWdBQUJBZ1FJcElBQWtoSXFBUUlFQ0JBZ1FJQUFBUUxs
QWdKSU9iRUdCQWdRSUVDQUFBRUNCQWlrZ0FDUwpFaW9CQWdRSUVDQkFnQUFCQXVVQ0FrZzVzUVlF
Q0JBZ1FJQUFBUUlFQ0tTQUFKSVNLZ0VDQkFnUUlFQ0FBQUVDNVFJQ1NEbXhCZ1FJCkVDQkFnQUFC
QWdRSXBJQUFraElxQVFJRUNCQWdRSUFBQVFMbEFnSklPYkVHQkFnUUlFQ0FBQUVDQkFpa2dBQ1NF
aW9CQWdRSUVDQkEKZ0FBQkF1VUNBa2c1c1FZRUNCQWdRSUFBQVFJRUNLU0FBSklTS2dFQ0JBZ1FJ
RUNBQUFFQzVRSUNTRG14QmdRSUVDQkFnQUFCQWdRSQpwSUFBa2hJcUFRSUVDQkFnUUlBQUFRTGxB
Z0pJT2JFR0JBZ1FJRUNBQUFFQ0JBaWtnQUNTRWlvQkFnUUlFQ0JBZ0FBQkF1VUNBa2c1CnNRWUVD
QkFnUUlBQUFRSUVDS1NBQUpJU0tnRUNCQWdRSUVDQUFBRUM1UUlDU0RteEJnUUlFQ0JBZ0FBQkFn
UUlwSUFBa2hJcUFRSUUKQ0JBZ1FJQUFBUUxsQWdKSU9iRUdCQWdRSUVDQUFBRUNCQWlrZ0FDU0Vp
b0JBZ1FJRUNCQWdBQUJBdVVDQWtnNXNRWUVDQkFnUUlBQQpBUUlFQ0tTQUFKSVNLZ0VDQkFnUUlF
Q0FBQUVDNVFJQ1NEbXhCZ1FJRUNCQWdBQUJBZ1FJcElBQWtoSXFBUUlFQ0JBZ1FJQUFBUUxsCkFn
SklPYkVHQkFnUUlFQ0FBQUVDQkFpa2dBQ1NFaW9CQWdRSUVDQkFnQUFCQXVVQ0FrZzVzUVlFQ0JB
Z1FJQUFBUUlFQ0tTQUFKSVMKS2dFQ0JBZ1FJRUNBQUFFQzVRSUNTRG14QmdRSUVDQkFnQUFCQWdR
SXBJQUFraElxQVFJRUNCQWdRSUFBQVFMbEFnSklPYkVHQkFnUQpJRUNBQUFFQ0JBaWtnQUNTRWlv
QkFnUUlFQ0JBZ0FBQkF1VUNBa2c1c1FZRUNCQWdRSUFBQVFJRUNLU0FBSklTS2dFQ0JBZ1FJRUNB
CkFBRUM1UUlDU0RteEJnUUlFQ0JBZ0FBQkFnUUlwSUFBa2hJcUFRSUVDQkFnUUlBQUFRTGxBZ0pJ
T2JFR0JBZ1FJRUNBQUFFQ0JBaWsKZ0FDU0Vpb0JBZ1FJRUNCQWdBQUJBdVVDQWtnNXNRWUVDQkFn
UUlBQUFRSUVDS1NBQUpJU0tnRUNCQWdRSUVDQUFBRUM1UUlDU0RteApCZ1FJRUNCQWdBQUJBZ1FJ
cElBQWtoSXFBUUlFQ0JBZ1FJQUFBUUxsQWdKSU9iRUdCQWdRSUVDQUFBRUNCQWlrZ0FDU0Vpb0JB
Z1FJCkVDQkFnQUFCQXVVQ0FrZzVzUVlFQ0JBZ1FJQUFBUUlFQ0tTQUFKSVNLZ0VDQkFnUUlFQ0FB
QUVDNVFJQ1NEbXhCZ1FJRUNCQWdBQUIKQWdRSXBJQUFraElxQVFJRUNCQWdRSUFBQVFMbEFnSklP
YkVHQkFnUUlFQ0FBQUVDQkFpa2dBQ1NFaW9CQWdRSUVDQkFnQUFCQXVVQwpBa2c1c1FZRUNCQWdR
SUFBQVFJRUNLU0FBSklTS2dFQ0JBZ1FJRUNBQUFFQzVRSUNTRG14QmdRSUVDQkFnQUFCQWdRSXBJ
QUFraElxCkFRSUVDQkFnUUlBQUFRTGxBZ0pJT2JFR0JBZ1FJRUNBQUFFQ0JBaWtnQUNTRWlvQkFn
UUlFQ0JBZ0FBQkF1VUNBa2c1c1FZRUNCQWcKUUlBQUFRSUVDS1NBQUpJU0tnRUNCQWdRSUVDQUFB
RUM1UUlDU0RteEJnUUlFQ0JBZ0FBQkFnUUlwSUFBa2hJcUFRSUVDQkFnUUlBQQpBUUxsQWdKSU9i
RUdCQWdRSUVDQUFBRUNCQWlrZ0FDU0Vpb0JBZ1FJRUNCQWdBQUJBdVVDQWtnNXNRWUVDQkFnUUlB
QUFRSUVDS1NBCkFKSVNLZ0VDQkFnUUlFQ0FBQUVDNVFJQ1NEbXhCZ1FJRUNCQWdBQUJBZ1FJcElB
QWtoSXFBUUlFQ0JBZ1FJQUFBUUxsQWdKSU9iRUcKQkFnUUlFQ0FBQUVDQkFpa2dBQ1NFaW9CQWdR
SUVDQkFnQUFCQXVVQ0FrZzVzUVlFQ0JBZ1FJQUFBUUlFQ0tTQUFKSVNLZ0VDQkFnUQpJRUNBQUFF
QzVRSUNTRG14QmdRSUVDQkFnQUFCQWdRSXBJQUFraElxQVFJRUNCQWdRSUFBQVFMbEFnSklPYkVH
QkFnUUlFQ0FBQUVDCkJBaWtnQUNTRWlvQkFnUUlFQ0JBZ0FBQkF1VUNBa2c1c1FZRUNCQWdRSUFB
QVFJRUNLU0FBSklTS2dFQ0JBZ1FJRUNBQUFFQzVRSUMKU0RteEJnUUlFQ0JBZ0FBQkFnUUlwSUFB
a2hJcUFRSUVDQkFnUUlBQUFRTGxBZ0pJT2JFR0JBZ1FJRUNBQUFFQ0JBaWtnQUNTRWlvQgpBZ1FJ
RUNCQWdBQUJBdVVDQWtnNXNRWUVDQkFnUUlBQUFRSUVDS1NBQUpJU0tnRUNCQWdRSUVDQUFBRUM1
UUlDU0RteEJnUUlFQ0JBCmdBQUJBZ1FJcElBQWtoSXFBUUlFQ0JBZ1FJQUFBUUxsQWdKSU9iRUdC
QWdRSUVDQUFBRUNCQWlrZ0FDU0Vpb0JBZ1FJRUNCQWdBQUIKQXVVQ0FrZzVzUVlFQ0JBZ1FJQUFB
UUlFQ0tTQUFKSVNLZ0VDQkFnUUlFQ0FBQUVDNVFJQ1NEbXhCZ1FJRUNCQWdBQUJBZ1FJcElBQQpr
aElxQVFJRUNCQWdRSUFBQVFMbEFnSklPYkVHQkFnUUlFQ0FBQUVDQkFpa2dBQ1NFaW9CQWdRSUVD
QkFnQUFCQXVVQ0FrZzVzUVlFCkNCQWdRSUFBQVFJRUNLU0FBSklTS2dFQ0JBZ1FJRUNBQUFFQzVR
SUNTRG14QmdRSUVDQkFnQUFCQWdRSXBJQUFraElxQVFJRUNCQWcKUUlBQUFRTGxBZ0pJT2JFR0JB
Z1FJRUNBQUFFQ0JBaWtnQUNTRWlvQkFnUUlFQ0JBZ0FBQkF1VUNBa2c1c1FZRUNCQWdRSUFBQVFJ
RQpDS1NBQUpJU0tnRUNCQWdRSUVDQUFBRUM1UUlDU0RteEJnUUlFQ0JBZ0FBQkFnUUlwSUFBa2hJ
cUFRSUVDQkFnUUlBQUFRTGxBZ0pJCk9iRUdCQWdRSUVDQUFBRUNCQWlrZ0FDU0Vpb0JBZ1FJRUNC
QWdBQUJBdVVDQWtnNXNRWUVDQkFnUUlBQUFRSUVDS1NBQUpJU0tnRUMKQkFnUUlFQ0FBQUVDNVFJ
Q1NEbXhCZ1FJRUNCQWdBQUJBZ1FJcElBQWtoSXFBUUlFQ0JBZ1FJQUFBUUxsQWdKSU9iRUdCQWdR
SUVDQQpBQUVDQkFpa2dBQ1NFaW9CQWdRSUVDQkFnQUFCQXVVQ0FrZzVzUVlFQ0JBZ1FJQUFBUUlF
Q0tTQUFKSVNLZ0VDQkFnUUlFQ0FBQUVDCjVRSUNTRG14QmdRSUVDQkFnQUFCQWdRSXBJQUFraElx
QVFJRUNCQWdRSUFBQVFMbEFnSklPYkVHQkFnUUlFQ0FBQUVDQkFpa2dBQ1MKRWlvQkFnUUlFQ0JB
Z0FBQkF1VUNBa2c1c1FZRUNCQWdRSUFBQVFJRUNLU0FBSklTS2dFQ0JBZ1FJRUNBQUFFQzVRSUNT
RG14QmdRSQpFQ0JBZ0FBQkFnUUlwSUFBa2hJcUFRSUVDQkFnUUlBQUFRTGxBZ0pJT2JFR0JBZ1FJ
RUNBQUFFQ0JBaWtnQUNTRWlvQkFnUUlFQ0JBCmdBQUJBdVVDQWtnNXNRWUVDQkFnUUlBQUFRSUVD
S1NBQUpJU0tnRUNCQWdRSUVDQUFBRUM1UUlDU0RteEJnUUlFQ0JBZ0FBQkFnUUkKcElBQWtoSXFB
UUlFQ0JBZ1FJQUFBUUxsQWdKSU9iRUdCQWdRSUVDQUFBRUNCQWlrZ0FDU0Vpb0JBZ1FJRUNCQWdB
QUJBdVVDQWtnNQpzUVlFQ0JBZ1FJQUFBUUlFQ0tTQUFKSVNLZ0VDQkFnUUlFQ0FBQUVDNVFJQ1NE
bXhCZ1FJRUNCQWdBQUJBZ1FJcElBQWtoSXFBUUlFCkNCQWdRSUFBQVFMbEFnSklPYkVHQkFnUUlF
Q0FBQUVDQkFpa2dBQ1NFaW9CQWdRSUVDQkFnQUFCQXVVQ0FrZzVzUVlFQ0JBZ1FJQUEKQVFJRUNL
U0FBSklTS2dFQ0JBZ1FJRUNBQUFFQzVRSUNTRG14QmdRSUVDQkFnQUFCQWdRSXBJQUFraElxQVFJ
RUNCQWdRSUFBQVFMbApBZ0pJT2JFR0JBZ1FJRUNBQUFFQ0JBaWtnQUNTRWlvQkFnUUlFQ0JBZ0FB
QkF1VUNBa2c1c1FZRUNCQWdRSUFBQVFJRUNLU0FBSklTCktnRUNCQWdRSUVDQUFBRUM1UUlDU0Rt
eEJnUUlFQ0JBZ0FBQkFnUUlwSUFBa2hJcUFRSUVDQkFnUUlBQUFRTGxBZ0pJT2JFR0JBZ1EKSUVD
QUFBRUNCQWlrZ0FDU0Vpb0JBZ1FJRUNCQWdBQUJBdVVDQWtnNXNRWUVDQkFnUUlBQUFRSUVDS1NB
QUpJU0tnRUNCQWdRSUVDQQpBQUVDNVFJQ1NEbXhCZ1FJRUNCQWdBQUJBZ1FJcElBQWtoSXFBUUlF
Q0JBZ1FJQUFBUUxsQWdKSU9iRUdCQWdRSUVDQUFBRUNCQWlrCmdBQ1NFaW9CQWdRSUVDQkFnQUFC
QXVVQ0FrZzVzUVlFQ0JBZ1FJQUFBUUlFQ0tTQUFKSVNLZ0VDQkFnUUlFQ0FBQUVDNVFJQ1NEbXgK
QmdRSUVDQkFnQUFCQWdRSXBJQUFraElxQVFJRUNCQWdRSUFBQVFMbEFnSklPYkVHQkFnUUlFQ0FB
QUVDQkFpa2dBQ1NFaW9CQWdRSQpFQ0JBZ0FBQkF1VUNBa2c1c1FZRUNCQWdRSUFBQVFJRUNLU0FB
SklTS2dFQ0JBZ1FJRUNBQUFFQzVRSUNTRG14QmdRSUVDQkFnQUFCCkFnUUlwSUFBa2hJcUFRSUVD
QkFnUUlBQUFRTGxBZ0pJT2JFR0JBZ1FJRUNBQUFFQ0JBaWtnQUNTRWlvQkFnUUlFQ0JBZ0FBQkF1
VUMKQWtnNXNRWUVDQkFnUUlBQUFRSUVDS1NBQUpJU0tnRUNCQWdRSUVDQUFBRUM1UUlDU0RteEJn
UUlFQ0JBZ0FBQkFnUUlwSUFBa2hJcQpBUUlFQ0JBZ1FJQUFBUUxsQWdKSU9iRUdCQWdRSUVDQUFB
RUNCQWlrZ0FDU0Vpb0JBZ1FJRUNCQWdBQUJBdVVDQWtnNXNRWUVDQkFnClFJQUFBUUlFQ0tTQUFK
SVNLZ0VDQkFnUUlFQ0FBQUVDNVFJQ1NEbXhCZ1FJRUNCQWdBQUJBZ1FJcElBQWtoSXFBUUlFQ0JB
Z1FJQUEKQVFMbEFnSklPYkVHQkFnUUlFQ0FBQUVDQkFpa2dBQ1NFaW9CQWdRSUVDQkFnQUFCQXVV
Q0FrZzVzUVlFQ0JBZ1FJQUFBUUlFQ0tTQQpBSklTS2dFQ0JBZ1FJRUNBQUFFQzVRSUNTRG14QmdR
SUVDQkFnQUFCQWdRSXBJQUFraElxQVFJRUNCQWdRSUFBQVFMbEFnSklPYkVHCkJBZ1FJRUNBQUFF
Q0JBaWtnQUNTRWlvQkFnUUlFQ0JBZ0FBQkF1VUNBa2c1c1FZRUNCQWdRSUFBQVFJRUNLU0FBSklT
S2dFQ0JBZ1EKSUVDQUFBRUM1UUlDU0RteEJnUUlFQ0JBZ0FBQkFnUUlwSUFBa2hJcUFRSUVDQkFn
UUlBQUFRTGxBZ0pJT2JFR0JBZ1FJRUNBQUFFQwpCQWlrZ0FDU0Vpb0JBZ1FJRUNCQWdBQUJBdVVD
QWtnNXNRWUVDQkFnUUlBQUFRSUVDS1NBQUpJUzFaNlMrZ0FBQTlkSlJFRlVLZ0VDCkJBZ1FJRUNB
QUFFQzVRSUNTRG14QmdRSUVDQkFnQUFCQWdRSXBJQUFraElxQVFJRUNCQWdRSUFBQVFMbEFnSklP
YkVHQkFnUUlFQ0EKQUFFQ0JBaWtnQUNTRWlvQkFnUUlFQ0JBZ0FBQkF1VUNBa2c1c1FZRUNCQWdR
SUFBQVFJRUNLU0FBSklTS2dFQ0JBZ1FJRUNBQUFFQwo1UUlDU0RteEJnUUlFQ0JBZ0FBQkFnUUlw
SUFBa2hJcUFRSUVDQkFnUUlBQUFRTGxBZ0pJT2JFR0JBZ1FJRUNBQUFFQ0JBaWtnQUNTCkVpb0JB
Z1FJRUNCQWdBQUJBdVVDQWtnNXNRWUVDQkFnUUlBQUFRSUVDS1NBQUpJU0tnRUNCQWdRSUVDQUFB
RUM1UUlDU0RteEJnUUkKRUNCQWdBQUJBZ1FJcElBQWtoSXFBUUlFQ0JBZ1FJQUFBUUxsQWdKSU9i
RUdCQWdRSUVDQUFBRUNCQWlrZ0FDU0Vpb0JBZ1FJRUNCQQpnQUFCQXVVQ0FrZzVzUVlFQ0JBZ1FJ
QUFBUUlFQ0tTQUFKSVNLZ0VDQkFnUUlFQ0FBQUVDNVFJQ1NEbXhCZ1FJRUNCQWdBQUJBZ1FJCnBJ
QUFraElxQVFJRUNCQWdRSUFBQVFMbEFnSklPYkVHQkFnUUlFQ0FBQUVDQkFpa2dBQ1NFaW9CQWdR
SUVDQkFnQUFCQXVVQ0FrZzUKc1FZRUNCQWdRSUFBQVFJRUNLU0FBSklTS2dFQ0JBZ1FJRUNBQUFF
QzVRSUNTRG14QmdRSUVDQkFnQUFCQWdRSXBJQUFraElxQVFJRQpDQkFnUUlBQUFRTGxBZ0pJT2JF
R0JBZ1FJRUNBQUFFQ0JBaWtnQUNTRWlvQkFnUUlFQ0JBZ0FBQkF1VUNBa2c1c1FZRUNCQWdRSUFB
CkFRSUVDS1NBQUpJU0tnRUNCQWdRSUVDQUFBRUM1UUlDU0RteEJnUUlFQ0JBZ0FBQkFnUUlwSUFB
a2hJcUFRSUVDQkFnUUlBQUFRTGwKQWdKSU9iRUdCQWdRSUVDQUFBRUNCQWlrZ0FDU0Vpb0JBZ1FJ
RUNCQWdBQUJBdVVDQWtnNXNRWUVDQkFnUUlBQUFRSUVDS1NBQUpJUwpLZ0VDQkFnUUlFQ0FBQUVD
NVFJQ1NEbXhCZ1FJRUNCQWdBQUJBZ1FJcElBQWtoSXFBUUlFQ0JBZ1FJQUFBUUxsQWdKSU9iRUdC
QWdRCklFQ0FBQUVDQkFpa2dBQ1NFaW9CQWdRSUVDQkFnQUFCQXVVQ0FrZzVzUVlFQ0JBZ1FJQUFB
UUlFQ0tTQUFKSVNLZ0VDQkFnUUlFQ0EKQUFFQzVRSUNTRG14QmdRSUVDQkFnQUFCQWdRSXBJQUFr
aElxQVFJRUNCQWdRSUFBQVFMbEFnSklPYkVHQkFnUUlFQ0FBQUVDQkFpawpnQUNTRWlvQkFnUUlF
Q0JBZ0FBQkF1VUNBa2c1c1FZRUNCQWdRSUFBQVFJRUNLU0FBSklTS2dFQ0JBZ1FJRUNBQUFFQzVR
SUNTRG14CkJnUUlFQ0JBZ0FBQkFnUUlwSUFBa2hJcUFRSUVDQkFnUUlBQUFRTGxBZ0pJT2JFR0JB
Z1FJRUNBQUFFQ0JBaWtnQUNTRWlvQkFnUUkKRUNCQWdBQUJBdVVDQWtnNXNRWUVDQkFnUUlBQUFR
SUVDS1NBQUpJU0tnRUNCQWdRSUVDQUFBRUM1UUlDU0RteEJnUUlFQ0JBZ0FBQgpBZ1FJcE1EL0J5
anN2Y0J1SlZtc0FBQUFBRWxGVGtTdVFtQ0MKCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1MMi1ydW4tcmVvcmRlcmluZy1leHBlY3Rl
ZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkg
dHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FB
QXlBQUFBSllDQVlBQUFDYWRvSndBQUFDN21sRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgpWTTly
RTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51dnVK
cldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3WkM5S2hWcEZLTjZyS0dLaEZ5M3h6VzVNdHFYcXdNNSs4
OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54MUtpRVdsc2ZFSnEKL0lnQWpxSUpRVFFsVmR2c1RpUUdR
WU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9nOAoz
NkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5eEZraWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNW
SStuTmVMbE5jZEIybHVac2JJCkVMMVBrS2E3ek82cllxR2NUdllPa0wyZDlINU9zOTQrd2lIQ0N4
bXRQMGE0alo3MWpOVS80bUhocE9iRWhqMGNHRFgwK0dBVnR4cXAKK0RYQ0ZGOFFUU2VpVkhIWkxn
M3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5uM3RU
ZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3VUVDR1BCb3hOTEp5UHlPckJodVRlekoxSkdx
N2RHSkVzVUY3TnR3OXQxR2szVHorCktDSnhsRU8xQ0pMOFFmNHFyOGxQNVhuNXkxeXcyRmIzbEsy
Ym1ycnk0RHZGNVptNUdoN1gwOGpqYzAxZWZKWFVkcE5YUjVhc2VYcTgKbXV3YVAreFhsekhtZ2pX
UHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQTHJYV2M2MkppemRX
bTVkbgovV3BJKys2cXZKUG1WZmxQWHZYeC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExxd3Zp
WUczSENKMlZoaW5TYlpINkpOVmdZSnE4CjlTOWRQMXQ0dlVaL0RQVlJsQm5NMGxTSjkzL0NLbVEw
bmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2Yk9ESW1icHRVM0h2RUtGbHBXNXoKcmdJWHY5Rjk4TFp1
YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVzeFEy
ME5TVXRjbAoxMlZMRnJPWlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNV
dGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFnCkFFbEVRVlI0QWUzZEJkamtXSlV3NEF3enVDK3dP
TXpnN2o2NHUrdml6dUxPajQ3Z2k5dmdzTURpTE82RHU4UGlMc3RnZzl2ZzVML24KTGlueVZkZEpW
WFhmL3VicjdqZlAwMTJWM09UazVxMWIrWEtTbTlSZWZSazZBd0VDQkFnUUlFQ0FBQUVDQkRaQjRD
aWJzQTZySUVDQQpBQUVDQkFnUUlFQ0FRQldRZ0dnSUJBZ1FJRUNBQUFFQ0JBaHNtb0FFWk5Pb3JZ
Z0FBUUlFQ0JBZ1FJQUFBUW1JTmtDQUFBRUNCQWdRCklFQ0F3S1lKU0VBMmpkcUtDQkFnUUlBQUFR
SUVDQkNRZ0dnREJBZ1FJRUNBQUFFQ0JBaHNtb0FFWk5Pb3JZZ0FBUUlFQ0JBZ1FJQUEKQVFtSU5r
Q0FBQUVDQkFnUUlFQ0F3S1lKU0VBMmpkcUtDQkFnUUlBQUFRSUVDQkNRZ0dnREJBZ1FJRUNBQUFF
Q0JBaHNtb0FFWk5PbwpyWWdBQVFJRUNCQWdRSUFBQVFtSU5rQ0FBQUVDQkFnUUlFQ0F3S1lKU0VB
MmpkcUtDQkFnUUlBQUFRSUVDQkNRZ0dnREJBZ1FJRUNBCkFBRUNCQWhzbW9BRVpOT29yWWdBQVFJ
RUNCQWdRSUFBQVFtSU5rQ0FBQUVDQkFnUUlFQ0F3S1lKU0VBMmpkcUtDQkFnUUlBQUFRSUUKQ0JC
b21vRDg3bmUvNjc3Ly9lL3ZGTldkR1h0WmhXUGRQL2pCRDViTnRpWExkN2Jibi83MHArNGpIL2xJ
dXUxLys5dmZ1cTkrOWF0cAorYzYwM2RuYm5tN1VGaTdZYWliTDJzZTZsRC8vK2MrN2IzempHK3N1
dGxQblg5ZDhaMzRuMXRuUWRldTlUdXlZZHl2dk85YmRscTA2Ci96TGpyVnJ2VnZYYUt0K2xZWHQy
aDg5amZwKzk3ajUzM2ZrSHU4MTgxVzQyUjN0cEFuTDFxMSs5TytFSlQ5aGQrY3BYN201NHd4dDIK
ZSsrOWQ3ZmZmdnQxMTcvKzlidUxYL3ppZGZ6RkwzNXg5N0tYdmF3NzZVbFAycjNrSlM5cFh2T2RH
WHRaWlovOTdHZDNKenJSaWJwWAp2L3JWeTJiZGN1VTcyKzNqSC85NGQ0RUxYS0M3N25XdnUzRGJQ
L25KVDNibk9jOTV1anZjNFE0THkzZW03YzdlOW9VYmRDUk4zQXJmCjBlM1o5R1h0WTN0aVB1eGhE
K3V1ZmUxcmI4K2lPMldaZGR2aHp2eE9yTE9CNjlaN25kZ3g3MWJlZDd6eWxhL3N6bmpHTTNaNzdi
VlgKZDRsTFhLSzc4WTF2M0YzMXFsZnRybmExcTNYdmZlOTcxOTNVSTIzK1pjWkhXc1VtVnZ6bU43
KzVPOS81emxmdEwzS1JpM1R2ZU1jNwo2dHlISDM1NDk0QUhQS0JPUDhwUmp0STkvT0VQNzM3em05
OU1ST3E2cmZKZEdpcTVLMzRlUTkySDEwWDc3SFgzdWV2T1A2eDc2bFc3Cm1kTFp3bVg5a3VHS1Y3
eGkvKzF2ZjNzMjF6R09jWXorVnJlNjFXejhDVTk0UWwrKzZIWDhyR2M5YS8vSVJ6NXlWcllqYi83
NHh6LzIKNzNuUGUyWWhXc2FlQlYzeFRVbXMraWM5NlVrcnpyMjFadHZaYm85Ly9PUDc4TW1HdTk3
MXJ2MWxMM3ZackxndTI4cDJLN1daZElOMwpRc0dSOVIxdHNTbkwyc2U2Ni9qWnozN1dmLzNyWDE5
M3NaMDYvN3Jmd2EyeXYxbTMzdXNpYnFWOXgzemR5MEZTWC81czk1LzczT2RtClJmZS8vLzM3a3BU
MGIzLzcyMmZUdHZxYlpjYmorcy92UCtmSHgvUHV6UGZQZWM1enFuMUpncmRaellsUGZPTCtiR2M3
MnpiVHN3bGIKNWJzMDFHOVgvRHlHdWcrdjgvdnNkZmU1OC9PM2FtZmF6Zjk5UXZPZTgrUEQ1N2dW
WHBkZUFibjN2ZTlkcjNoa09kUWQ3M2pIN3V4bgpQM3N0UHVwUmoxclBVR1R6cmpyOUwzLzVTM2Z6
bTkrOCsrQUhQemhicEZYc1djQTEzaHlaNng2cVdSckw4SGJ5ZFg2K25WMzNveDN0CmFBcy84Ny8v
L2UrMW52dnNzMDhYWjZ5eW9WWDlOcXZOelBzTzIvWFh2LzUxZUx2cHIwZkdkM1JITjNMVjlySHVl
dUpxWlp5OTNwbkQKdXAvMXVtMTgzZmxiYmV0ODI5N1o5ZGdxKzQ1RmZpYzR3UW5xNVBHKzYzYTN1
MTBYUm05NXkxc1dMZEo4MnJydGJGRUZNdVA1ZWVmMwpuL1BqOC9Pdk16N2ZycFl0TzlnUHIrUDVZ
OXFpNmVONXh1OTNkaHNlcjJ1Vjk3dmk1ekZzVjdiUHp2YTUyZWMrbm4rcW5XWExEL1daCmZ4M2F4
ZkE2THRkdS9ua3NQWFpaNS8yNm44Y3FzZk1qdzM4c2ZhVXJYV2t5enJHUGZleHUvLzMzbjgwVGpU
UXVzWjNtTktmcHpuR08KYzNUZitjNTNabVUvK2NsUHVqaFl1dFNsTHRXZC8vem43ejcyc1kvTnlz
WnZudnprSjNkdmZPTWJ1OWUvL3ZYZExXOTV5Kzczdi85OQpMYzVpZitZem4ra2lFWHJJUXg3U2xT
c3czVWxPY3BMdUU1LzRSRGUxdnFteWNWMkc5MGNjY1VSMzMvdmV0M1l6aTdwLzVTdGZHWXE2CjZD
OVl6Z3AwOTduUGZXcjNqN3ZmL2U3ZEgvN3doMXIrNlU5L3VpdG5xR3VTOXI3M3ZhK0w4WE9mKzl6
ZGkxNzBvdG55VTNXSjdnRFAKZk9ZenUvLzRqLy9vTG5heGk4MldtWDh6TlYvbUZqR202aDR4VDNu
S1UzWlBlOXJUNnVwZThZcFhkR2MrODVtN085M3BUdk9ybjQySAowNTN2Zk9mdUVZOTRSSjN2VTUv
NjFLd3Nlek5sTzJVempyZHVtNGxsVjQwZDgyYSs3MzczdTd2SFB2YXgzUk9mK01UNlBmamlGNzhZ
CnMzZmYvT1kzdTNMR3RMYjNONzNwVGQxNXozdmUybDN0b3gvOWFQZUZMM3loZG1FOCtjbFAzajNx
VVkrcTg4ZC82OVJudGxCNWMyUjgKUjJQOVUyMG4rMDR1YXgrWlFSWnY3UENqSC8yb2ZrOHVldEdM
MXNuUlhTYTZ6OFQzOXZuUGYzNTMrdE9mdmp2TFdjNnlZWjgwWGo3ZQpaK3VQc3V5empyTDR2ai80
d1ErdWJlRkdON3BSVjg1MHh1VFpNUFVkbk0wMGVqUDFuWmh5WDJWL00xcE5mWnUxN1NpY3F2ZFVQ
YmI2CnZpTzY4Rnp3Z2hlY3A1Z2MvOUtYdmxUTEwzLzV5MitZYjhwaGUvWURXVHZibnZhOG9hSmxK
R3ZmOC92UCtIc3ovemM0V3piN2JrNjEKcS9sNjdjaDRWcThoWnZaZHl1cWR4WHZ0YTE5Ymp5MnVj
NTNyZEwvNjFhKzYvL3pQLzZ6alY3akNGZXIrUHRZWGZ3ZWkyMTQ1Nnp5cwpmdkkxVzlkVytqeW05
dG56Kzl6WTJKZy9qb2ZpT3hiSFByRVBqcitSY1VKNWZ2NzU3WXhqUGUxbXNzblV3bDJoM1N6Zmlq
Skh5V3JXCkd1YTdZSTBYUHRlNXp0V1hnK3YrWGU5NlYxOXVSdS9MSC91K25EV3FzNVN6T2YxVnJu
S1Z2dlRiN010TlRIMUpHUHFTS1BTLy9PVXYKeHlGbTcvZmRkOSsrSEp6TnhxZGlsNE82dnR5bjBw
ZjdEZnJYdk9ZMU5YWkpFTkwxclZ1WFU1M3FWSDI1eXRPWEhYTHRGaFoxTzkzcApUdGVYN0wzVzc1
S1h2R1JmN29PcDcvLzg1ei8zRjdyUWhmclNMMzlXOS9BSTZyZTk3VzM5VzkvNjFyN3NwR1psVTNX
SitPVWVpOW04Cjk3clh2YXJkYk1JLzNrek5OK1VXaXkrcmUwbEFOblNyaSs0K043akJEV1pWZU9w
VG45cWY3R1FubTQyWGZ0SjlTVlRxZUh6T3B6akYKS2ZxeWc1NlZ6Nytac3AyeW1ZOFQ0K3UwbVhW
aVo3N2xoc0krZklhdWdnY2VlR0IvdmV0ZHIxYXRISGowSmVub3kvMVN0VTJXblhKMQpPOE1aemxE
YmRWeUdQdUNBQTJxWGpsLzg0aGY5T3ZWWnRPM2phWnYxSFoxcU80dStrOUUxYXFwOVRCbGs4Y2Ji
WGZxSjl5VTU3cU9iClJndy8vdkdQK3pPZDZVeDFQMVNTd1A2NzMvMXVYeExvL3ZhM3YvMTRzZG43
cWZWUGZkWVJvTndqMTBjZFl5aEpkLzIrbDJTZ2ppLzcKRHRhWlJ2OU5mU2RpdGluM0tKL2EzMFQ1
ZU1qYWRzeXpyTjdMNnJHVjl4M1BlTVl6K210ZDYxcGppZzN2WXg4ZCsrelBmLzd6ZlRuWQpyTi9o
K0h0MWpXdGNvMzVYeHpOUE9heTdINWhxWit1MjU2amplUDg4MWI1ajN2bjk1M2g4YXRsRjM4MHZm
L25MSy8zdGl2WE9ENjk2CjFhdXFmWHdHNVNUbGhuL3gzU2duNG1hTFROVXJacHI2TGkycTk5UnhR
OFFyOTZmMHQ3bk5iZUp0SFM1OTZVdjN0NzcxcllmUnZsd2QKNjEvNHdoZk94dWZmN0lxZng5UStl
MzZmRzl0YlRsajI1V1JzM2ZSeXNxMStsaVVCcWZ2ZlJmT1AyOW5VL21qZWNuNWN1L20vWStteApa
eGlOeDZlK0w0dStEenZ5UFo3L2ZCYU5MNzBDc2xJV001b3Bib2k5M09VdTE1VXZmbmVaeTF4bTln
U2swampxNWV2SWdrc2YyaTdPCi92NzBwei90UHZDQkQ0eVczdmcyYmdJY0QxbnN1Rmt0em15V1Bz
dGRPUURzbnZXc1ozV2YvZXhuMC9WdFQxMXVjWXRiZE9XUFQ5Mm0KeHp6bU1WMjVMNllyZitqcnRu
em9ReCtxV1g3VU5TNzVsaDFVRnpkRmxRKzBWajg4NHF6b2d4NzBvSHFUZmx3aEdZYXB1c1JabHRJ
SAp1U3RKUzUyOUhEalZiUnFXSFY2WHpaZTV4ZWV3ck83SFBPWXhOM1N4T3RheGpyVmhmS2hEdk1Z
VnJhanJjRVkrdWkvRXpadkxoc3gyCnlpYUx1V3FiV1NkMjVodWZkZHlBSDFlMFlvaEx5OE9Wc1Rq
YkhqZmdSL2ZFYUpQaEdEZEhmKzk3MytzZStNQUgxbm52ZWM5NzFzOHoKcHExVG4yemJWNTJldFlk
MTZyQ3M3U3o2VHNiVFQ2YmF4OVQ2RjhXYjcyb1ZWejdQZWM1enpyNGpwZjkzdmVvUjAyS2JUM3Zh
MDNibApmcVR1YTEvNzJrS3FxZlZQZmRZbEFhMzdtd3RmK01JMWJsd2hqWDFRckc4WU12T2hmUDQx
KzA0c2M0ODRVL3ViK2ZWa2JYdVlMNnYzCkt2WFl5dnVPdUVvYlY5aVhEZVdrVDcyYUgxZmk0OHBF
WEJXSUI3RU13ektIZGZjRFUrMXMzZlk4MUhGNG5XcmZ3enp6Kzg5aGZHcloKUmQvTitDNnU4cmRy
V08raTErZ3hFQTlER1AvNzdXOS91MkhXcVhvTk0yYmZwVVgxbmpwdWlIZ2wyYWczeHNlVndSamlh
bGhjNFM0SApkblU4amduS0NicjZmdGwvcTlSOThCOWlEZU5UeXk3YXJ1MzlQSmI5VFovZjUwWTk0
MEZFOGJjd2h1Z0ZFL1BFRVB2RFJmTkgyYkJkCnkvWkhNZSt5UWJ2NXArZGdOZmh1VnJzWjFydnN0
WGtDTW14b3JEaWVuaFdYcDJPSWcvRm9sTkVITXY1RnQ2MUREejIwZHNXcU15ejQKYnh3cmlzZmo0
OWhSRm4vc2hvWWU0MVBybXlxTFpSY054ei8rOFdlVDR3c2VRenp1TTdwNnhYcmpEOGN3bENzZzlX
M3N6SVlodW1TVQpNOEIxZThkL3dLYnFVczdrMWdQY1NIenVjcGU3ZENXVDNmREhiNGk5Ykw3TWJk
VzZEK3RaOWhwZi9FZ0V4MzB3ajNPYzQyejQzQmJGCnlHeW5iQmJGaVduamJaMGZIN2VaZFdKbnZy
R3Vja2FyWG82UFM4enZmLy83dS9FZnlQbTZIUGU0eDkxUTdlTWQ3M2gxUEJMeGRlcXoKSWNoMmpJ
enJ0YjBtcTdTZCtlL2tzdmF4ekdBKzNxSk5qMjBiYjkvOGVId0dXZmVJcWZWSG5PeXpqcE1vMFQx
eXZON29FanI4RVk1Ngpqc3ZHNW91MklhWmwzNGxWM0dQNWJIOFRaZU1oYTl2RFBGbTlWNjNIRUdm
WjY3SzJrUzJmT1UxOWxsbXNSZFBMQXpKcU1obGRRMTcrCjhwZHZNOHNxRG1QRENEQzFINGg1czNZ
V3kwYjVPTjVVZTQ3NXg4TXFKdVBZc2V3d3ZtelorZS9tc25ZMXJsZjJQcnI2UHVVcFQ5bncKYi93
M1BwWmJWcStZSjJzalVUWmY3Mlh4Ym5LVG05UVRwOFA5cWRIbE50cEdKS2V4WDRuRUpMcWxyeklz
VzFmRUdQeUhlTVA0c21Ybgp0MnQ3UDQ5VnZwZFJwNkZlVWM5b2sxRy9ZU2c5SkxyaDVFeE1tNTkv
bUJhdjIxdlBXSFlZdEpzanY5ME1uOFd5MTMyV3pkQ3F2SFE1CjZlS0c1UG4rczYzaXo4ZVpXdDlV
Mlh5Y1JlT1J5Y2VYTFA3Rjc0TkV2RWkwNG1BN2hqampHdHM2M0xzUzB5SkJpWjFuOUsyOTdXMXYK
T3p0SVgxYVhPUHRUdWpIVm5YRDBXWTNIRWc0SHJoRjNHRmFkYjVnL1hxT3Y1aXAxSHk4ejlmNnd3
dzZyOGVibkdlK2M1c3ZteDhlMgp5MnptbDExbmZOM1ltVzg4NmpHdUlyM2dCUy9vbnZlODU5V0VO
S3RIWEJFYVc0emZyMXVmYkIwN01uMmRPbXhQMjFuV1B0WlovNDVzClo3YnNzdlZubjNYMHh4M3Uv
Y2xpNzhqMDhYZGlSL2MzaStxUnRlMUY4dzdUdHVmekg1WmQ5THFzYlN4YVpuN2EyR25aWnptLzdO
UjQKSEhUR2xZNjQ4aDFYOWFQUC96QnNqOFBVZmlEaVp1MXNXT2YydnU2SXlmWXN1ejN0YXQxdFc3
ZGU0emF5YUYzTDRzVkpoYmdxK05LWAp2clQrRFkvSDBNZm5HZmRIL3ZyWHYxN3JFZURMMXJXb2Zz
TzA3VmwyZXo2UDdmbGV4bFhEOHFUVWVxL2owWTkrOUM1NlRjUjl2NnNPCjIxUFBWV01QODYzcnA5
MHNQd1lkYk5kNWJYNEZKRnY1ZnVXM1ErS0t4L2pzWStrVDFrV0duUTNqQTdSc25tejYxUHFteXJK
NDQray8KL09FUDY1bnV1TEU0enZqSEQvUEU4N0dISVo1WkhwZGtvMHZZTUR6MG9RK3QzVTlpbStM
OU1FelZwZlQ1N1NKV25JV0xQNEJ4ODNMcwo2T2FIVmVlYlgyN1Z1ZytYbStlWG54K1BSQ25PNXNl
Vm51MGR4clpUTmxuOFZkdk1PckV6MzlJL3N0NXdIMmVieDFmQXNycE5UVituClBsTnhkcVJzblRx
czJuYkc5Vm5XUHRaWi96aHVxL2RUNjUvNnJPT1BVMXdOL2RhM3ZqV3JTdXpieGxkQVp3WGI4V2I4
blZqVlBkdmYKeks4K2E5dno4ODJQcjFxUFhXbmZNYitONC9HblAvM3BYYm52cno2ZE1jeUdZVldI
WWY1bHIxUHRiTm15eThxbjJ2ZXc3UHorY3hoZgpaZGtoUnJ4dWI3c2F4MWpsL2JyMUduK1hGc1Zm
SlY0Y1hNZnZnajMzdWMvdDRzbG8wUzNyZGE5N1hlMlN2YzZCOWlyckd2eUh1ZzdqCnF5dzdMQk92
Mi90NUxOdG5qOWN4dkk5dTE5RmRQSTVaNGlFMDhmQ0VaY093WGR0YnoyWHg1OHZYOWROdXBvOUI1
MzFYSFY4ckFZay8KSnVVbTY2N2NOTHN3ZnB3TmluL0RFRStHR1o0R2RkT2IzclErZ1NPNkpwUWJ6
K3VCOWNFSEg1dytNak82OFVUMkhVUE1QeFU3NW9rRAovbUZkTVQ2MXZxbXlXSGJSRUVuR01FU2Y3
K2pQSDMzL283OW4zTzhTeWRVd3hKY3UvakRGanpmR0VGL0U2SzhlQ1VsMDFZbW5XZzBICkoxTjFp
VDd6OFVTSUdPSnBFdVdteWRsVmxqcnhILzlOelRmbHRrcmQ0MnBPL0lCU2ZPN3hKWXlEckZqZk1N
VDBjdU5ZSFkzN1hPTEsKVC9SL0g0YjRGZlE0MnpEMkc4cUcxM0haMkhiS1psaDIvTHBPbTFrbmR1
WWI5M3ZFZHlJT0dtSWJvZ3RXSk5oeDhCbi93bVc4YmZFcgp1REUrZUEzOWhpUEdzdnJFc3ZIRXJP
RTdNZDd1OGZ2TitvNnUwbmJtdjVQTDJzY3lnL2w0NCswZTNrZDdqLzFBK01jUTdUTk1oaUhLCng1
L0pNRDFlcDlZLzlWbkhEN1NXRy8vcmdVak1GLy9pQ1dpblB2V3BhL2lwNytCNC9lUDM0enFPdnhP
cnVFL3RiOGJyaVBkWjI0NnkKcVhxdlVvK3R2TytJTGpSeFlpY2I0a1JLRFBHM0o0YTQyaDFuWnNN
ckhoRS90S2xWSE5iWkQweTFzMmpUNjdUbnFQZDQvenpWdm1QZQorZjNuZUR6TytzZVZ2dXp2OS94
M2M2cGRSVGZWU0pEaml2NmlZZmc3UHRpUDU0bjk2M2o2c20yS1piUHZVcFROMTN1VmVPVmhPbDJj
CjJZK3UxTkc5Sys0cmkxNEpjVi9yY0NBZHNSY051OXJuc1d5ZkhkczR2ODg5NktDRHV2THdqeTd1
ZGYyM2YvdTMyczF0YkRFLy83aWQKeGIyMTJUR1Bkdk4veDFuTDJ1allNNzRyNC9ITi9CNlBQL1Aw
ZmRtcHJUU1VMZ2IxNlZJbFVGKytkSDM4QUdHNTVEaGJOcDQrVlM1RgoxaDhKS2dmWGZkbTU5UEZE
VnVXQXRENDlLbVlzQjk1OStlTFdKLytVN2toOU9Xc3dXMzcrVGJsaHU4NFhUNXdvajlDY2pGMHVo
L2FsCjMyVmZkZ0I5YWJ5elVGUHJteXFiQmZqSG0zaGFVZmxqMnBkTDhQMmpILzNvL2g3M3VFZDlt
dGN3WDJ4ci9EalM0eDczdVBxVXEvTFkKdWI3OElhbkY1ZUNoUGlWcStFR3JjckRhbHgxWGZUcFNP
YkN2ODJSMUNmTnlFMlA5b2NjM3ZPRU5mYmx4Y3Zia3JXSGQ4WnJOdDhwbgpNbFgzaUYzNnR2Ymxz
bk45NnRmOTduZS8rcFNoY3BOcmZmSlQxTC9jY0J0SGV2MGhoeHpTeHhOYzRyTW9mNnpyWjE4T3pP
cFRZK0twCkpURjkwYkRNTnJOWkZHdWROaFBMcnhvNzh5MWQ3T3FUMTByWHUvb2tsSGdDU3JuYzNO
L3NaamZyeTMwQjlRbGc4VU5ZNVF4UVh4NUgKWForTUZsYXh6ZVZtdTc0OHFyamFoVk5KTENickUr
Mm0vSEhyeStPYkYyMTZuYmJaMzlHcHRwTjlKNWUxait3enllS05NYUk5bGtmdwpWdFA0Y2N0NEds
VForZGJQb2ZSSnJqOHFGMDhoaTMzUU85LzV6dkdpcy9mWitxYys2Mmozc1MrTGZWcDh2dVdLU0Yr
NjVkV1lxM3dIClp5di94NXRsMzRrcDkxWDJOK1AxWlcxN2xYcFAxU1BXc1pYM0hlWGdxTzZYeXdI
b21LTytqNmY0UlR1Snp6S2UramQ4bGxFWVA3UWIKMDY5NXpXdjI4WjJNWWNvaDJsMDVpMXgvY0hX
Vi9VQzVrcGJ1VTladHo0djJ6MW43anUwWTd6OUxzckhOZUxic291OW0xcTVpUFhGOApFTWNLNVRI
SU1icGhLQTl2cWRQRHVOeHJPZnVlRHZXSjZiRWZqSDNuY1B5UjFTc0NUMzJYRnRVN2xwbUtGK1V4
bEVkNzkvR0VzMkVvCkNkV0c4V0g2K0hWWC9EeWkvbFA3N1BsOWJ1d0x5OE5WNm5ja1BxczQxb20v
Z1hIc0VtV0w1aCszdTNJU0x6M20wVzcrZVp3MTFVYkgKbnNQM0pyNHpjU3dkNDlteWk3NFAyL3M5
SHJmN3FmZHhwbkJUaDJpRThjVXRaNFdXcnJlY2hWbzZ6N0lacHRZM1ZiWW9ibm1HZFZydgpja2Fz
L2dMemVLZTBLRVkyYlZGZHlwbWJPbnZKWXZ0eWowbTI2T3pSdk12bXl3SXNxM3ZVclp5MXFJdVhN
emhabU5uMCtLTStmSGJsCmJOWnMrdFNiS2R0Rk5sbXNZYjFaK2Z6MFZXSXYreHdHbTRpOWlzOThI
Y2JqVS9XSlJ4aHV4akJWaC9uMUwyczc4L1BIK0xMMnNjNzYKRjhYZjBXbFQ2NS82ck1PaWRDSFkw
ZFhQbHAvNlRteVAreXp3Nk0yeXRqMmFkZUhiWmZVSXk4RnNsZS9Hc3JheHFCSlRUdGxuR2ZVZQo2
clVvNXJyVGxqbXNHMjljdDFYYzFvbWZtVVNNK2Yzbi9QalVzdU02TEd0WGNRSW1IbHZlYWxoV3I2
azJzcWdPeStLVkt6RWJGcHNmCjMxQzRaR1JxWGZQKzgrTlR5NDVYdTZPZnh6cmZ5L2o1aEhqa2Vq
ekMrc01mL25COU5IRjVpbHhmZW9tTXE3VGgvYkJkTzFyUERVRlgKR0ZubXA5MU1INFB1NlBkNHIv
aU1TcVpxSUVDQUFBRUNCQWpzZElGNGFFYzhMVEllMDJvNDhnVmFmUjdQZWM1ejZpUGw0M0hFNHlF
ZQpuaE9QcEM1WEZzZVQxMzdmcXA1cnI5Z0NDd1YyOVBPUWdDeGtOWkVBQVFJRUNCRFlHUUxSTnow
ZVIyM1lHZ0t0UG85NFVFN3BXbGQvCk15MStEeW51NXluZGZ1cVR3K0wrZ3gwZFd0VnpSK3RoK2Y4
VDJOSFBRd0tpSlJFZ1FJQUFBUUlFQ095d1FEeU9PSDRiS1o1b0ZZK3QKM3RHckhqdGNJUUcycklB
RVpNdCtOQ3BHZ0FBQkFnUUlFQ0JBWVBjVFdPc3h2THZmNXRzaUFnUUlFQ0JBZ0FBQkFnUTJVMkNQ
U2tESwpFdys2ajN6a0k1dnBhMTBFQ0JBZ1FJQUFBUUlFQ0l3RWxpWWc4YU13OFNONjhRTTdsN2pF
SmJyeUd4ZGQvTkxsMWE1MnRaVis0WEswCnJpUDFiWG4rZEhlQkMxeWd1KzUxcjN1azFzUEtDUkFn
UUlBQUFRSUVDT3pKQWtzVGtQZ2x6UGcxeXhpZS92U25kK1ZIbXJxM3Z2V3QKOWZGNTVRZnB1bmk4
MnE0d1hQakNGKzV1ZGF0YnJWelZ1RnBTZmpocU52LzgrS3pBR3dJRUNCQWdRSUFBQVFJRVZoWllt
b0JFcFBncAo5eGpLcjVmVzEvanZkcmU3WGZ5SVlWZCsvWGsyYldlK0tUK0VzOFBoajNhMG85VXJP
Y3NDbFI5SjdHNSs4NXQzSC96Z0IrdXM4K1BMCmxwOHE5N01yVXpyS0NCQWdRSUFBQVFJRWRuZUJm
YlozQTcvMHBTL1ZSUzkvK2N0dkNGRitzYnY3Zi8vdi8zVkhQL3JSdTI5OTYxdmQKYVU1em11Nnhq
MzFzZDh4akhyTXJ2eExleFEvVlJESVJqMmQ3Mk1NZTF1Mjk5OTdkMDU3MnRPNDR4emxPZDlCQkIz
WGxsek83dTkzdApibDM1T2ZrYTk5M3ZmbmYzcVU5OXFpWU9iM2pERzdwblAvdlo5ZXBMWEoySTk2
YzYxYW02czU3MXJGMzU5YzN1cUVjOWF2ZTJ0NzJ0CjIyKy8vVGJVS1J1SjUxTkgzVDc5NlU5M1Vl
OW5QT01aM1VVdWNwSHV5VTkrY3ZmR043NngxamUyNFV4bk90T0c4VU1PT2FUT3YyaloKejN6bU03
VmVKem5KU2VvMlI2eEkwcjd6bmU5MHYvakZMN3JmL09ZM1hXeUhlMUd5VDhWMEFnUUlFQ0JBZ0FD
QjNWb2dmZ2w5MmZERQpKejR4ZmkyOS8vem5QOS9IVDYrLzVqV3Y2Y3NCZG4rTmExeWpMOG5FaHNV
dmVjbEw5aTkrOFl2cnRELy8rYzk5K2JYVHZ2d0FUUjB2CkNVaC8zdk9ldHk4SlFvMXh4QkZIOURl
NHdRMzY4cHpvdmlRUS9jOSs5clArZ0FNTzZNdjlKbjA1V085THQ2ZitsS2M4WmYrZTk3eW4KTG4v
Z2dRZjIxN3ZlOWVyNzhvenB2aVFHL1ZuT2NwYitUVzk2VS8vZDczNjNQL09aejl6Zi92YTNyK1dM
L252cVU1L2FuK3hrSjZ0RgpVZStyWE9VcWZVa0krci85N1cvOUhlOTR4N3BONVlkVmF2bSsrKzVi
NnpURUdZOVBMZnZSajM2MEx6K3cxSi9uUE9lcDJ4aHh2L3psCkwvZmwvcE1oVkgrdmU5MnJybk0y
d1JzQ0JBZ1FJRUNBQUFFQ2U0akFQL3RVclpCbWxRUG5la1hqbHJlOFpSZFhKdUlxUVZ6QkdJYTMK
di8zdDNZYys5S0Y2bzNwTWl5c1N0N25OYmJvM3Yvbk5YVGt3NzA1Lyt0TjM1Y0M4Ty92Wno5NlZS
S0plSWJqMnRhL2RmZTk3MytzZQorTUFIZGljNjBZbTZlOTd6bnJWclYweUw1ZU9tOFhPZis5eDFG
VkgrbGE5OHBiNC82VWxQV3VPZDg1em5yTCt5ZWRyVG5yYTc3R1V2CjIzM3RhMStyNWN2K2U5V3JY
bFhYRTkyc290NG5QL25KdTUvKzlLZjFCM1NHWmVQRysvRXdqRTh0RzFkUVNsSlVyOHJFTmo3cldj
L3EKNG1ySTV6NzN1WHJ2VE1RclNWSmQ5emkyOXdRSUVDQkFnQUFCQWdUMkJJRzFFcEFuUGVsSjlZ
RDY5Ny8vZmZmeWw3OThHNTlQZk9JVAo5V0E3RW9kaEtGZEE2dHZQZnZhejlYVTRpQi9LajN2YzR3
NXY2K3Z4am5lOCtockpRTXhicmxwMDVhcEw3U3IxL3ZlL3YvdnRiMzg3Cm16L0t4L0VpMWgvLytN
ZForZFNiU0lnaW9ZbjdRdUxmL3Z2djN4MTY2S0hkK2M5Ly90bGk0OWd4Y1JoZnRteDBONHVrWXho
T2ZPSVQKMTBTcVhESHE3bktYdTNUNzdydnZoc1J0bU04ckFRSUVDQkFnUUlBQWdkMWRZTzE3UUc1
eWs1dlVLd2FQZWN4ajZuMGNWN2pDRldaRwpwVXRWVjdwUjFmc2o0cDZPR09JS3hUNzc3Tk5GMHJK
b2lCdmJod1A3S0IrL2ovRzR6eU91cXJ6Z0JTL29udmU4NTNXUjVMUVlvcDVSCnIvbDdXRmFKdlQz
THZ1eGxMK3RPY1lwVGRFOTV5bE82dUU4a25oNDJKRnVyck5NOEJBZ1FJRUNBQUFFQ0JIWUhnYld1
Z0F3YkhJL2oKUGQzcFRsZWZGRlh1eFJnbTE2NUg1WDZLN3BPZi9PUnMydUdISDE1dk9vOGJ4ZGNk
eXIwVDNaM3ZmT2Z1OFk5L2ZPMk90ZTd5VS9QSApqZXB4eFdOOHhhUjB1K3ZlOTc3M3pSYWJUNGFH
OFZXV25RVXBiOElvSE9JS1VuVDMrc0lYdmxBZlp6eWV4M3NDQkFnUUlFQ0FBQUVDCmU0TEFTZ2xJ
ZEllS29keWdYVitqcTFPYzBmLzV6MzllazVDLy8vM3ZkWHE1b2J3K2xTb083SWNobm1BVjkwUmMr
Y3BYcnBQaWtiYVIKcEF4RC9MNUdqTWYwR09JSldURkV6TGpmSTE0akVZbDVvZ3RXSkF5UktNUy9j
cE43TGE4TGxQL2lDc3c0OWpCOWVJMzVoL1hjOUtZMwo3ZUlwV09VbThicGRrU0FjZlBEQjlVY1hZ
LzU0OVBCaGh4MVdGNDN0SG8rWG0rb25sNDF0K01NZi9qQ3N0anJGRHpyR2NNVXJYckc3CjFyV3VW
Wi82RmVPeC9mRUVyMkZkTWMxQWdBQUJBZ1FJRUNCQVlMY1ZXSGF6ZmZuaHdmcVVxZ0xRbDRQbnZu
U0htaTN5eUVjK3NqNGQKNjVyWHZHWjkwbE1VbE81Ri9kbk9kcmIrY1k5N1hGOStzTEF2djV6ZWww
U2lMaE5QaUNyZGtQcHlBM2xmSHFQYmwwZlQxaWRrUmV4NAorbFU4WWVzUmozaEVqWG5ERzk2dy84
WTN2bEdmSmxXNmMvVzN2dld0Ky9JNDIvNVl4enBXZjdPYjNheC8xN3ZlMVpla29NYUx1T1VtCjcx
clA4dmpmL3AzdmZPZXNqc09iOGt2b2ZibS9vOFl1ajlHdFQ5aDY1ak9mMmNmODVjcEdmUUxXNjE3
M3VtSDJ2andHdUU0dk45SDMKSlZIWlpqeGI5cVV2ZldsLzdHTWZ1eTgzdGZjbDZhanh2dmpGTC9i
bEJ2eStkQ2ZyeXlONCszSlZweStKVUMyTEoyVEYrbC8wb2hmTgoxdTBOQVFJRUNCQWdRSUFBZ2Qx
VllLL1lzTmJaVllTTTMveUkrenZpeVZjN09zVFZoTGl4TzRhNGdqRyt5YWVlbkFFQUFDQUFTVVJC
ClZIMUhZOGRWa2U5Ly8vdGRQRVVyN2drWkQzR3ZSOXhBUGd6ejQxUExEc3ZFYTF6RkNZdTRtVDdx
WGhLVWNYRjkrdGI0cHZVTmhVWUkKRUNCQWdBQUJBZ1FJN0VZQ095VUIyWTE4YkFvQkFnUUlFQ0JB
Z0FBQkFnMEZWcm9IcE9INmhDSkFnQUFCQWdRSUVDQkFZQThXa0lEcwp3UisrVFNkQWdBQUJBZ1FJ
RUNDdzJRSVNrTTBXdHo0Q0JBZ1FJRUNBQUFFQ2U3Q0FCR1FQL3ZCdE9nRUNCQWdRSUVDQUFJSE5G
cENBCmJMYTQ5UkVnUUlBQUFRSUVDQkRZZ3dVa0lIdndoMi9UQ1JBZ1FJQUFBUUlFQ0d5MmdBUmtz
OFd0andBQkFnUUlFQ0JBZ01BZUxDQUIKMllNL2ZKdE9nQUFCQWdRSUVDQkFZTE1GSkNDYkxXNTlC
QWdRSUVDQUFBRUNCUFpnQVFuSUh2emgyM1FDQkFnUUlFQ0FBQUVDbXkwZwpBZGxzY2VzalFJQUFB
UUlFQ0JBZ3NBY0xTRUQyNEEvZnBoTWdRSUFBQVFJRUNCRFliQUVKeUdhTFd4OEJBZ1FJRUNCQWdB
Q0JQVmhBCkFySUhmL2cyblFBQkFnUUlFQ0JBZ01CbUMwaEFObHZjK2dnUUlFQ0FBQUVDQkFqc3dR
SVNrRDM0dzdmcEJBZ1FJRUNBQUFFQ0JEWmIKUUFLeTJlTFdSNEFBQVFJRUNCQWdRR0FQRnBDQTdN
RWZ2azBuUUlBQUFRSUVDQkFnc05rQyt5eGI0VjRIN2JWc0Z1VjdxRUIvUUw5aAp5N1dWRFJ4Ry9p
R2duV2dLcXdyTXQ1VlZsek1mQVFJRUNPeGFBa3NUa05nY2Z4UjJyUTkxTTJxYkpSdmF5bWJvN3py
cjBFNTJuYy9xCnlLNXAxbGFPN0hwWlB3RUNCQWkwRjlBRnE3MnBpQVFJRUNCQWdBQUJBZ1FJSkFK
TkVwRGYvZTUzM1E5KzhJTmtGYnZPNUQvODRROXAKWlgvMnM1OTF2L2pGTDlMeTJQN2YvLzczYWZs
V0svamIzLzdXZmZXclgxMnJXb2NmZm5qM252ZThaOUpoS3VEdTBrNWlHN1dWcVUrNgo2NGEyMGgw
eFBWOVd1cnUwbFQycG5jUm51U1A3bGUxdEsxa2JNcDBBQVFJRXRxN0FEaWNnejM3MnM3c1RuZWhF
M2F0Zi9lcXR1NVZMCmF2YmpILys0dStjOTc5bGQvZXBYMzJiT1QzM3FVOTBWcm5DRjdtUW5PMW5k
emh2ZDZFYmRILy80eDlsOGNSQi9sYXRjcGJ2U2xhN1UKL2V1Ly9tdDM5N3ZmZlZhMlZkOTg4cE9m
N001em52TjBkN2pESFZhdTRuT2U4NXp1RmE5NFJmZis5NysvTy92Wno5NTFmMTE1MFRyago3dEJP
WWtPMGxlV2YrN2l0ZElkMDNaLys5S2ZsQzQzbTJCM2F5cDdXVHVMajI5SDl5dmEwbFZHejhaWUFB
UUlFZGlHQmxlNEJtZHFlCk85N3hqdDBCQnh3d05jdktaWEdBZStpaGgzYTN2LzN0dTR0YzVDSjF1
Yi8vL2UvZDNlNTJ0KzdQZi83emhqajc3TE5QUGVDLzRBVXYKT0VzY2Z2S1RuM1FQZWNoRE5zdzNI
b215MDU3MnRPTkozVzkvKzl2dTYxLy9ldmMvLy9NLzJ4d29SZGxESC9yUXV2Nlh2T1FsM2RPZQo5
clR1VVk5NlZIZTJzNTJ0Ym5QVUxlcjcwcGUrdFB1WGYvbVhtb1RkOElZM3JQVS81em5QdVdFOXcw
amY5OTJkN25Tbjduclh1MTUzCnhTdGVjWmhjWDZNZWozdmM0K3I3WXgvNzJOM0pUMzd5T3Q4Wnpu
Q0cyWHcvL09FUHUwYzg0aEhkWXgvNzJPNjR4ejN1YkhxOENiY2IKMy9qRzNlVXVkN2tOMCtkSHd1
elNsNzUwOStVdmYzbSthT0Y0WE5tNTk3M3YzZjNtTjcvcGpuS1VvOVJrYS85RDkxODRiemF4WlR1
SgpkZHoxcm5mdGpuLzg0M2YzdXRlOXVoT2YrTVIxdFovNzNPZTZaenpqR2R0VTRWakhPbGExdk01
MXJ0T2QrY3hucnVWdmVjdGJ1dGUvCi92WGJ6QnNUSXQ2akgvM29iY28ydTYzRTV4UGJjOS83M3Jm
YmI3LzlOdFRuWlM5N1dmZmU5NzYzMjJ1dnZXcmJPOTNwVHRmZDdHWTMKNjJKYmgrR3RiMzFyOTVX
dmZLVzd6MzN1TTB5cXI1RlV4MEYrdExVVG5PQUVHOHJtUjNhMHJSeDgyTUhkMFk5KzlQbXdrK010
MjBycwpFeUxSdnVZMXI5bmQ1amEzcVY2eDh1Yzk3M25keHovKzhRMzFDTXNUbnZDRTFUb3NqM09j
NDlUeWd3NDZxRHZzc01NMnpEdU1YUG5LClY2N2YwV0U4WGplN25jUTZuL25NWjlaOVpOZ2Q0eGpI
aUVteklUNy8rTzdHUHZPa0p6MXAzYmRHdlljaHJsckVmaTYrSC9GNWo0ZG8KSjcvNjFhKzZCenpn
QWVQSkM5OGZHVzFsWVVWTUpFQ0FBSUd0TDFBT2lDZUg3c0J1US9sZi92S1hEZU14Y3FwVG5hcC84
cE9mdk0zMApkU2ZjNHg3MzZNc2Z6Mzd2dmZmdXkwRlNYZnlESC94Z1BHcHA4dDlqSHZPWU91OGho
eHlTemxjU2hINVIzWWM2bHFTZ3Y5akZMamFNCjF0ZDN2T01kZmVsYU5adFdFbzcrakdjOFkxOFNo
enJ0MTcvK2RWL083czdLeTRGSFg1S0N2aVFKczJuemI4b0JZWCtTazV5azF2UEEKQXcvY1VQeXdo
ejFzbS9vZjlhaEg3Yi8zdmUvTjVpc0h6bjA1b09zdmNJRUw5S1ZiMkd6NnozLys4N3JzYTEvNzJ0
bTBSVy9Ld1VhZApYSzc0OUplLy9PVVh6YkxOdEk5KzlLTjkxR004ekxlTEtCdFBXMlRkcXAyVXJu
QjErNk5kbElTaWo4OGxocEtvYnVNM2JqdlJycjcyCnRhL1ZlUzl6bWN1azg1WUQxVHBQOXQ5bXRa
V25QdldwZlRsbzdNdUJjRjhPbGpkVTU2eG5QZXMyOWIvNHhTKytZWjV5TUZybktRZVAKRzZZLzYx
blBxbTFvMFdjMG5yRkZXeG0zaVNIMi9MUkY5V2pWVnQ3MHBqZjFwempGS2FyRGd4Lzg0RnFGYUMv
RHRISDdHTDgvMy9uTwpWK2N0Q1V4Zmt1NXRySWQ1My83MnR3K2J0YzNyWnJXVFdQRmxMM3ZaV3Nm
em52ZThHL1pKWC9qQ0Z4YlcvU2xQZWNxc3ZyR05aem5MCldlcStxM1N4bkUwZjRwYVRHaHVtTFJy
WldXMWwwYnBNSTBDQUFJRmRYMkRsTGxqdmZ2ZTc2MW4zSno3eGlkMysrKy9mZmZHTFh5eC8KZy84
NUhISEVFZlZNYlp4aE8vLzV6MS9QdkE2bDBRKzYvUEd2eTBjWHBzYy8vdkZEMFliWGtzVFU1WTU1
ekdOMnIzbk5hMnBaT2FpSwpER2liZjNIVzdrYy8rbEh0SGpWMC8vcjNmLy8zYmVhTHF3Rng1ck1j
b05jemdCdFd1R1FrcmxDVUE1WFpYSEdHTks1K0RHZWpqM2U4CjQzVkhPOXJSWnVYUjlTU3Vrc1NW
aTJ3b2YraTc3MzczdTdYYlZsekZHRi9aaVRPdHc3WkdONjlQZi9yVDlZenQrRXo5VmE5NjFlN04K
YjM1ekxTc0gwVjFKZ3VxcXZ2V3RiOVhYYzUzclhBdFhIWi9QbmU5ODUzcjFKSzdBeEZudzhSQm5p
dU1xeDZVdWRhbjYrWDNzWXgrcgp4WEdtdUNSSzNWLy8rdGZ1TG5lNVMvMk14OHZOdjkrTWRoSm5x
YU83UjBrNHU1SlFkSi85N0dkck5jb0IrOHh2Y0l6WHNJd3JYSEVtCi9uV3ZlMTJkTis1bEdjOHoz
TjlURGlpNzV6Ly8rZk9idFhSOFo3U1Z1UEwzK2M5L3Z0YjdTVTk2MG9ZNnhOV1JvZjdSQmg3NXlF
ZDIKSC9yUWgrcDNZcGl4SkJwZG5CR1BkaFpYVVlZaDJrcDBvNHN6NG91RzNhbXRSTGZLNzN6bk8v
V3EzY3RmL3ZLNnVmRTlqbnUyQnIveAphMXdwZU1JVG50Qjk1ak9mNmI3OTdXL1hxNnl4cnhuUEU2
NXg5VEdtUmRmTGRZYWQwVTVpL2ZHOWUvclRuMTYvQzdGL0dJWnpuT01jCnM3ckhkc1IyWC9LU2w5
elFaVGE2am43Z0F4K28rNjNZdjBRM3kyR0l0bkx1YzU5N0dOM21kYlBheWpZck5vRUFBUUlFZG0y
QjhrZDAKY29pemxYR1cvNVNuUEdVL25CMkxNL2VsQzlGc3VUaGJXUTVvK2plKzhZMTFubjMzM2Jj
dlhVSm1WeHpLNWY0K3pxTEhFRmMyaWxoZgpEcTVueTgrL2liTjV0N3psTGVjbkx4d3YzVWpxRlpp
RmhXVmlTVUQ2WldlMFk5bEZaeXZuWThhWjA5S0ZhNXU2bC83ZXRiNXhwclFrClFSdk9RTTdIR01Z
Ly9PRVBWNGY1TTl0RCtmQmFEaUQ2Qnozb1FjTm9mUzBIRzMzcGZsU3ZTc1QybFNTbWo2c25KVEdh
WFEzWXNFQVoKdWRyVnJ0YVhMbTUxY3B5dGpEUEE1ZDZXT2w2U2k3N2N4OUtYZzY4K3l1TE1lVnls
K2VVdmYxbkxYL1dxVjlXendIWGtILy9ObjhXTwp5ZDFEdWsxdEo4TlZuM0xBTmE1YStyNTBFZWxM
bDYyRjVYRlZKZHJsMUJudFljSE5iaXR4dGVvMHB6bk5zUHFGcjNGbExlcGZ1cUZ0CktJKzZEbGZj
U25KYzIwZDhWKzkzdi90dG1HODgwckt0TEd3blI4SStwWFJSNnN1SmpmRm1wdS9MQ1lKcStaR1Bm
R1RoUEhFRkthNTAKTGhzMnU1MUVmV0kvWGJwY1RWYnQ0SU1QcmxkeXh6UEZQcVRjNTFiYlNrbncr
MmhQSmZtdDMvdFBmT0lUNDFrM3ZOL1piV1hEeW93UQpJRUNBd0c0anNOSVZrTkw5cHJ2dWRhODdP
eE1XTjUxSDMvTHhjSXRiM0tLN3hqV3UwY1ZaK2RJbHFwNDlmTmU3M2xXZm1oUm5xQzk4CjRRdlgy
ZVBxU0p4Qm5MOFhZeHdyK3ZhUG55ajF6VzkrczR1ckc5RVhlWDZJZnRxTHBzL1AxMkw4di8vN3Y3
czRRMWk2WjJ3SUYxZDQKNGtiMDhzZTQ5c1dPTTg3TGhuQ0lNOURMN3NPSTdSdXVjZ3d4NDB4bjlH
dVBLd0J4NXJNa2ExM3BVdEhGV2ZJNHV6cy94TldNdUI5ZwpPRnNiOTNIRWRneERTVERxV2RMUzNh
MkxLd0J4QmVlblAvMXBQU3M2ekxQUzY5N2RwcmVUcU5lNHJienlsYStjM1VjelgrYzRhejF2Ck9U
OVBxL0dXYlNXK08vLzd2Ly9ieFpPaHNtRzRYMkc4ZmZFKzdsMHFKd1pxKzR3SExjUVZrWGhDVlVs
cUY0YmFyTFp5Wk94VDRudGEKOXR5ejdiNy8vZTlmdnorekNmOTRzOGh5ZnA1VzR5M2JTZFFwMnNy
OHZubStyb3YyS1ZHUHVIK29KRjMxUHEvWVA4UlZzN2luYlA2KwprQ0hlWnJXVllYMWVDUkFnUUdE
M0VWZ3BBWW1EMnVqZUVnZjZjWEFkbCtqalJzdnhFRW5ETUF3M2tIL2pHOStvQjdIbDNvb05COFp4
CkVCUkpURGJNSDBSSFY2dElXc1lIbXNPeXBWLy84SGFudnNhMng0SDZmRmVZV0dtNTR0TkYxN0xv
S2hWUHpCcTZqMDFWS0xvRHhjM2wKeXg2Rkc5czNQbWo2L3ZlLzM1Vis3ZldHODl2ZDduYjE2VjNS
dFNTNldsenJXdGRhdU1yM3ZlOTlYWFQ5R3Q5d0hBY2hnM081T2xVLwpqK2hPRnYraWkxM2NYQjlK
MGxwRHlYMDJzNTBzcWx0MFF4cTZXYzJYUitJMXRwd3ZielhldXEzRVp4dERQS1FnRzRidndYajdY
dlNpCkYzWGxucVY2MDNFODRDRnV3SC91YzU5YnUwT08yOEk0NW1hMWxTTjdueExiL09JWHY3aDJj
UnR2Zjd4ZlpEay9UNHZ4MXUwazZoUmQKNjVidFV4WjlEK0poQjdFL2lYMVNKQ054MDMyY1FKbzZt
YkpaYmFXRnRSZ0VDQkFnc0xVRVZrcEFvc3J4TkpSNDJsWGNKMUM2U00wTwpYaGR0VGx6ZGlMUE44
Uy91TFppL1gyVFJNbHQ5V3R6REV2ZS9URDNSSi82d3g1V2k4V042cysyS0t3MlJUQ3c3V3ptL2ZQ
elJqK1FoCkRpeGppUHRwNG9rMjhRU28wbldrVHB2L0x3NG00bmRNNW9jaEFZbXlxSHU1S1gzRHY5
S2RZMzZScGVON2Vqc0pvSlp0cFhUN3EwOXMKaXJqcnRwVTRnTHpRaFM0VWkzWnh2MUpjQ1luRS93
MXZlRU9kdHVnL2JXV1J5czZaMXJLZFJBM2pSRTNjL3hIN2dhbmZINW5mbXRoZgpSZUkrWE9tSSs4
RGk2bXEwdldnejJiQ1piU1dyZytrRUNCQWdzR3NLckpTQVJEZWh1SUU1RG5hajY4U3lJUjRWRzFk
SXloTlphbGVyCnVCSXkzQ1FkeThaWjJ1SEc0V1d4dGtKNWJQZHRiM3ZicnR6ck1xdE9KRmFMaGpp
b0h3NzZGcFhISC9XNGloTGQxZUlHOS9LVW1rV3oKcGRQS0U3SHFiNUlNTThUWjJyZ0NFa2xKZkVh
TGhsaFBkS25LenFESFRmVnh4V09jT01WbkZNbk9Xc1BoM1I3ZFRzS3FaVnVKeERBUwoyamhUSDQ4
R2podlMxeG1pcmNSRElZYmg5S2MvZmZlQ0Y3eWdQcjczaFM5ODRUQjV3K3RtdFJYN2xIYjdsUGdB
NHlwbVhIbU9ibnF4CmovblNsNzYwNFhPZEdvbnVmVEdNMjBwY0RibnBUVy9hUGZDQkQreGlmNzVv
Mkt5MnNtamRwaEVnUUlEQXJpMndVZ0lTWjE3amoxb2MKTk1TVFZLSUxWaHlzeGtIcTBPVWpwZzlE
UEdIbzJ0ZStkcjFuSkxvbXhYUHBiMzNyVzljenVCRXIrbDZmK3RTbkhtYmZFcS94WTJteApqZk5E
ZEdNcE4yUFhwMVZGbitmb0l4M2RGZUlwT2ZFRW1ISXorUWFEdUxMeDhJYy9mRDVNSFk4bjBNVFp4
WGd1Znh5b2xwdEI2OW5LCjZJb1JqdEhuT3A1OE5QNFhUK0tKZXpPaUhqSE1IMVRHdE9oT0UxZG4z
dmEydDlVZkM0eHA0eUUrZzdqZkpMcXhEVU4wMDRnRDNQamMKNGtBakVxcm9HaGZiR3ZjSVJOMkdx
eXp4WktDd2llMmRITXBGbHQyOW5jVDJiMFpiaVh0Mm9qdE50TG40dlk5NGNsRmM1WW9odm9magpO
aEx2NDJ4NkRIRXYwSkNvTEdvcjhYc1k4ZDJNdGhhZjgveXdXVzNGUHFYTlBpVSt2L2dzNDJtQjVk
SE05YmRONHJzK3RKWC8rcS8vCjJxYXRSQmVyU0ZUaWFuWjhYNk9keEJBL3Rqb2VZcDhTSnpqaU4z
Y1dEWnZWVmhhdDJ6UUNCQWdRMk1VRnlvSHY1QkJQc1NuM1h2VGwKbDdQcjd4R1VSS0tQMzZJb055
ejI1Y2U2NmhPZlN0ZXN2dnp3WGgrL3gxRit3SzJQMy9PSUp5b05RK21UUDNzU1R6eEZxbHp1SDRv
Vwp2cGF6dnYzMXIzLzlXVmw1UkdSOUtrMjU1RCtiTnJ3cGo3NnQ5UnJHNTErWFBRV3JKRko5dVZH
M1BoVXFmbCtqL01IdTQ0bElNWlFECnYvcWtxZklSMS9VUHIrWE1YeDlQamlySlFkMnVlT0pYT1ZQ
WWx5c1E5ZWt4ODNVWXhzdEJmbjJhVWJuYVVDZVZtK3RyM05JbHB2N08Kd3hCLzBXdnB1MStYS1Rl
UzkrVWdjZ2k1NFRXZWFsV1NudzNUaHBIeVk0bjF5VDN4K3hIbHh4TDdjZ1dtL3U1SlRJOGhuaElV
MjErdQo0TlJ0aXM4c2huSUEzRi9pRXBlbzlTd0hPbjI1a2xXbkwzeTYwWU82VFcwbjhSbUVWYm54
dk5ZcC9pc0hTLzFGTDNyUjJmajRUZnp1ClNiVGZSY01xVDhIYXpMWVM3VHArcTJUNFRabjRYcFdy
WFBXSlovR1VvMFZ0SkthVmc4LzYrekRsQnZRNlQ3VHQrYUYwL2F0UGpzdWUKd05heXJTeHNKMGZD
UHFWY0phd2U1WUI3eGxITytQZmxJSHMyUHJ5SnA3K0ZaVWtDaDBrYlhwYzlCV3N6MjBsVUxQWUo4
UlM4K0Q3RQpFTDloRXZ2bUdHSi9tN1dWNGZlTXlxTzI2enpqM3pTcUM1Zi9vaDJXRzl2NzBxVnJt
TFRoZFdlM2xRMHJNMEtBQUFFQ3U0M0FYckVsCjVROVVPdXgxMEY1ZGY4RC96Ukw5aXVNM09tSW9Q
eDYyVFhlczhqamEybFVrenNETkQ3R2FPT002dnN3L1A4K3VPaDYvSVJHL2hMN0sKRUZlTzVuK3Bl
SlhsVnBsbldleTQyaEZYT0tJN3o2SjU0emRKNHI2VWN0Q1Mva2JFVUk5eHU1aWZwcDBNSXR1K3J0
cFc0ck9JNzFIYwptN016aGtXZi8zZzlyZHJLVkR1SjlXa3JZL1YvdmwrMW5jUVN5ejdMZjBaZC8x
M3N0Nk10VHQzN3RqUGJ5dm8xdGdRQkFnUUk3QW9DCjIyWUtFN1Vla28rWVpkRzlJUE9YOE1laDR0
NkkzVEg1aUcxY05mbUllWGRXOHJGSzdPaE9FY2xITm04OEFTdnVFOWpSUVR2SkJWZHQKSytNZnVN
eWpiWC9Kc25hb3JXeS9iWXNsVjIwbnNhNWxuK1dPMUNmMjIxUEpSOFRlckxheUk5dGhXUUlFQ0JE
WVdnSTc1L1RxMXRwRwp0U0ZBZ0FBQkFnUUlFQ0JBWUlzSVNFQzJ5QWVoR2dRSUVDQkFnQUFCQWdU
MkJJR1Z1bUJGUDI0RGdWVUV0SlZWbE15am5XZ0RCQWdRCklFQmd6eFZZZWhQNm5rdGp5d2tRSUVD
QUFBRUNCQWdRYUMyZ0MxWnJVZkVJRUNCQWdBQUJBZ1FJRUVnRkpDQXBqUUlDQkFnUUlFQ0EKQUFF
Q0JGb0xTRUJhaTRwSGdBQUJBZ1FJRUNCQWdFQXFJQUZKYVJRUUlFQ0FBQUVDQkFnUUlOQmFRQUxT
V2xROEFnUUlFQ0JBZ0FBQgpBZ1JTQVFsSVNxT0FBQUVDQkFnUUlFQ0FBSUhXQWhLUTFxTGlFU0JB
Z0FBQkFnUUlFQ0NRQ2toQVVob0ZCQWdRSUVDQUFBRUNCQWkwCkZwQ0F0QllWandBQkFnUUlFQ0JB
Z0FDQlZFQUNrdElvSUVDQUFBRUNCQWdRSUVDZ3RZQUVwTFdvZUFRSUVDQkFnQUFCQWdRSXBBSVMK
a0pSR0FRRUNCQWdRSUVDQUFBRUNyUVVrSUsxRnhTTkFnQUFCQWdRSUVDQkFJQldRZ0tRMENnZ1FJ
RUNBQUFFQ0JBZ1FhQzBnQVdrdApLaDRCQWdRSUVDQkFnQUFCQXFtQUJDU2xVVUNBQUFFQ0JBZ1FJ
RUNBUUdzQkNVaHJVZkVJRUNCQWdBQUJBZ1FJRUVnRkpDQXBqUUlDCkJBZ1FJRUNBQUFFQ0JGb0xT
RUJhaTRwSGdBQUJBZ1FJRUNCQWdFQXFJQUZKYVJRUUlFQ0FBQUVDQkFnUUlOQmFRQUxTV2xROEFn
UUkKRUNCQWdBQUJBZ1JTQVFsSVNxT0FBQUVDQkFnUUlFQ0FBSUhXQWhLUTFxTGlFU0JBZ0FBQkFn
UUlFQ0NRQ2toQVVob0ZCQWdRSUVDQQpBQUVDQkFpMEZwQ0F0QllWandBQkFnUUlFQ0JBZ0FDQlZF
QUNrdElvSUVDQUFBRUNCQWdRSUVDZ3RZQUVwTFdvZUFRSUVDQkFnQUFCCkFnUUlwQUlTa0pSR0FR
RUNCQWdRSUVDQUFBRUNyUVVrSUsxRnhTTkFnQUFCQWdRSUVDQkFJQldRZ0tRMENnZ1FJRUNBQUFF
Q0JBZ1EKYUMwZ0FXa3RLaDRCQWdRSUVDQkFnQUFCQXFtQUJDU2xVVUNBQUFFQ0JBZ1FJRUNBUUdz
QkNVaHJVZkVJRUNCQWdBQUJBZ1FJRUVnRgpKQ0FwalFJQ0JBZ1FJRUNBQUFFQ0JGb0xTRUJhaTRw
SGdBQUJBZ1FJRUNCQWdFQXFJQUZKYVJRUUlFQ0FBQUVDQkFnUUlOQmFRQUxTCldsUThBZ1FJRUNC
QWdBQUJBZ1JTQVFsSVNxT0FBQUVDQkFnUUlFQ0FBSUhXQWhLUTFxTGlFU0JBZ0FBQkFnUUlFQ0NR
Q2toQVVob0YKQkFnUUlFQ0FBQUVDQkFpMEZwQ0F0QllWandBQkFnUUlFQ0JBZ0FDQlZFQUNrdElv
SUVDQUFBRUNCQWdRSUVDZ3RZQUVwTFdvZUFRSQpFQ0JBZ0FBQkFnUUlwQUlTa0pSR0FRRUNCQWdR
SUVDQUFBRUNyUVVrSUsxRnhTTkFnQUFCQWdRSUVDQkFJQldRZ0tRMENnZ1FJRUNBCkFBRUNCQWdR
YUMwZ0FXa3RLaDRCQWdRSUVDQkFnQUFCQXFtQUJDU2xVVUNBQUFFQ0JBZ1FJRUNBUUdzQkNVaHJV
ZkVJRUNCQWdBQUIKQWdRSUVFZ0ZKQ0FwalFJQ0JBZ1FJRUNBQUFFQ0JGb0xTRUJhaTRwSGdBQUJB
Z1FJRUNCQWdFQXFJQUZKYVJRUUlFQ0FBQUVDQkFnUQpJTkJhUUFMU1dsUThBZ1FJRUNCQWdBQUJB
Z1JTQVFsSVNxT0FBQUVDQkFnUUlFQ0FBSUhXQWhLUTFxTGlFU0JBZ0FBQkFnUUlFQ0NRCkNraEFV
aG9GQkFnUUlFQ0FBQUVDQkFpMEZwQ0F0QllWandBQkFnUUlFQ0JBZ0FDQlZFQUNrdElvSUVDQUFB
RUNCQWdRSUVDZ3RZQUUKcExXb2VBUUlFQ0JBZ0FBQkFnUUlwQUlTa0pSR0FRRUNCQWdRSUVDQUFB
RUNyUVVrSUsxRnhTTkFnQUFCQWdRSUVDQkFJQldRZ0tRMApDZ2dRSUVDQUFBRUNCQWdRYUMwZ0FX
a3RLaDRCQWdRSUVDQkFnQUFCQXFtQUJDU2xVVUNBQUFFQ0JBZ1FJRUNBUUdzQkNVaHJVZkVJCkVD
QkFnQUFCQWdRSUVFZ0ZKQ0FwalFJQ0JBZ1FJRUNBQUFFQ0JGb0xTRUJhaTRwSGdBQUJBZ1FJRUNC
QWdFQXFJQUZKYVJRUUlFQ0EKQUFFQ0JBZ1FJTkJhUUFMU1dsUThBZ1FJRUNCQWdBQUJBZ1JTQVFs
SVNxT0FBQUVDQkFnUUlFQ0FBSUhXQWhLUTFxTGlFU0JBZ0FBQgpBZ1FJRUNDUUNraEFVaG9GQkFn
UUlFQ0FBQUVDQkFpMEZwQ0F0QllWandBQkFnUUlFQ0JBZ0FDQlZFQUNrdElvSUVDQUFBRUNCQWdR
CklFQ2d0WUFFcExXb2VBUUlFQ0JBZ0FBQkFnUUlwQUlTa0pSR0FRRUNCQWdRSUVDQUFBRUNyUVVr
SUsxRnhTTkFnQUFCQWdRSUVDQkEKSUJXUWdLUTBDZ2dRSUVDQUFBRUNCQWdRYUMwZ0FXa3RLaDRC
QWdRSUVDQkFnQUFCQXFtQUJDU2xVVUNBQUFFQ0JBZ1FJRUNBUUdzQgpDVWhyVWZFSUVDQkFnQUFC
QWdRSUVFZ0ZKQ0FwalFJQ0JBZ1FJRUNBQUFFQ0JGb0xTRUJhaTRwSGdBQUJBZ1FJRUNCQWdFQXFJ
QUZKCmFSUVFJRUNBQUFFQ0JBZ1FJTkJhUUFMU1dsUThBZ1FJRUNCQWdBQUJBZ1JTQVFsSVNxT0FB
QUVDQkFnUUlFQ0FBSUhXQWhLUTFxTGkKRVNCQWdBQUJBZ1FJRUNDUUNraEFVaG9GQkFnUUlFQ0FB
QUVDQkFpMEZwQ0F0QllWandBQkFnUUlFQ0JBZ0FDQlZFQUNrdElvSUVDQQpBQUVDQkFnUUlFQ2d0
WUFFcExXb2VBUUlFQ0JBZ0FBQkFnUUlwQUlTa0pSR0FRRUNCQWdRSUVDQUFBRUNyUVVrSUsxRnhT
TkFnQUFCCkFnUUlFQ0JBSUJXUWdLUTBDZ2dRSUVDQUFBRUNCQWdRYUMwZ0FXa3RLaDRCQWdRSUVD
QkFnQUFCQXFtQUJDU2xVVUNBQUFFQ0JBZ1EKSUVDQVFHc0JDVWhyVWZFSUVDQkFnQUFCQWdRSUVF
Z0ZKQ0FwalFJQ0JBZ1FJRUNBQUFFQ0JGb0xTRUJhaTRwSGdBQUJBZ1FJRUNCQQpnRUFxSUFGSmFS
UVFJRUNBQUFFQ0JBZ1FJTkJhUUFMU1dsUThBZ1FJRUNCQWdBQUJBZ1JTQVFsSVNxT0FBQUVDQkFn
UUlFQ0FBSUhXCkFoS1ExcUxpRVNCQWdBQUJBZ1FJRUNDUUNraEFVaG9GQkFnUUlFQ0FBQUVDQkFp
MEZwQ0F0QllWandBQkFnUUlFQ0JBZ0FDQlZFQUMKa3RJb0lFQ0FBQUVDQkFnUUlFQ2d0WUFFcExX
b2VBUUlFQ0JBZ0FBQkFnUUlwQUlTa0pSR0FRRUNCQWdRSUVDQUFBRUNyUVVrSUsxRgp4U05BZ0FB
QkFnUUlFQ0JBSUJXUWdLUTBDZ2dRSUVDQUFBRUNCQWdRYUMwZ0FXa3RLaDRCQWdRSUVDQkFnQUFC
QXFtQUJDU2xVVUNBCkFBRUNCQWdRSUVDQVFHc0JDVWhyVWZFSUVDQkFnQUFCQWdRSUVFZ0ZKQ0Fw
alFJQ0JBZ1FJRUNBQUFFQ0JGb0xTRUJhaTRwSGdBQUIKQWdRSUVDQkFnRUFxSUFGSmFSUVFJRUNB
QUFFQ0JBZ1FJTkJhUUFMU1dsUThBZ1FJRUNCQWdBQUJBZ1JTQVFsSVNxT0FBQUVDQkFnUQpJRUNB
QUlIV0FoS1ExcUxpRVNCQWdBQUJBZ1FJRUNDUUNraEFVaG9GQkFnUUlFQ0FBQUVDQkFpMEZwQ0F0
QllWandBQkFnUUlFQ0JBCmdBQ0JWRUFDa3RJb0lFQ0FBQUVDQkFnUUlFQ2d0WUFFcExXb2VBUUlF
Q0JBZ0FBQkFnUUlwQUlTa0pSR0FRRUNCQWdRSUVDQUFBRUMKclFVa0lLMUZ4U05BZ0FBQkFnUUlF
Q0JBSUJXUWdLUTBDZ2dRSUVDQUFBRUNCQWdRYUMwZ0FXa3RLaDRCQWdRSUVDQkFnQUFCQXFtQQpC
Q1NsVVVDQUFBRUNCQWdRSUVDQVFHc0JDVWhyVWZFSUVDQkFnQUFCQWdRSUVFZ0ZKQ0FwalFJQ0JB
Z1FJRUNBQUFFQ0JGb0xTRUJhCmk0cEhnQUFCQWdRSUVDQkFnRUFxSUFGSmFSUVFJRUNBQUFFQ0JB
Z1FJTkJhUUFMU1dsUThBZ1FJRUNCQWdBQUJBZ1JTQVFsSVNxT0EKQUFFQ0JBZ1FJRUNBQUlIV0Fo
S1ExcUxpRVNCQWdBQUJBZ1FJRUNDUUNraEFVaG9GQkFnUUlFQ0FBQUVDQkFpMEZwQ0F0QllWandB
QgpBZ1FJRUNCQWdBQ0JWRUFDa3RJb0lFQ0FBQUVDQkFnUUlFQ2d0WUFFcExXb2VBUUlFQ0JBZ0FB
QkFnUUlwQUlTa0pSR0FRRUNCQWdRCklFQ0FBQUVDclFVa0lLMUZ4U05BZ0FBQkFnUUlFQ0JBSUJX
UWdLUTBDZ2dRSUVDQUFBRUNCQWdRYUMwZ0FXa3RLaDRCQWdRSUVDQkEKZ0FBQkFxbUFCQ1NsVVVD
QUFBRUNCQWdRSUVDQVFHc0JDVWhyVWZFSUVDQkFnQUFCQWdRSUVFZ0ZKQ0FwalFJQ0JBZ1FJRUNB
QUFFQwpCRm9MU0VCYWk0cEhnQUFCQWdRSUVDQkFnRUFxSUFGSmFSUVFJRUNBQUFFQ0JBZ1FJTkJh
UUFMU1dsUThBZ1FJRUNCQWdBQUJBZ1JTCkFRbElTcU9BQUFFQ0JBZ1FJRUNBQUlIV0FoS1ExcUxp
RVNCQWdBQUJBZ1FJRUNDUUNraEFVaG9GQkFnUUlFQ0FBQUVDQkFpMEZwQ0EKdEJZVmp3QUJBZ1FJ
RUNCQWdBQ0JWRUFDa3RJb0lFQ0FBQUVDQkFnUUlFQ2d0WUFFcExXb2VBUUlFQ0JBZ0FBQkFnUUlw
QUlTa0pSRwpBUUVDQkFnUUlFQ0FBQUVDclFVa0lLMUZ4U05BZ0FBQkFnUUlFQ0JBSUJXUWdLUTBD
Z2dRSUVDQUFBRUNCQWdRYUMwZ0FXa3RLaDRCCkFnUUlFQ0JBZ0FBQkFxbUFCQ1NsVVVDQUFBRUNC
QWdRSUVDQVFHc0JDVWhyVWZFSUVDQkFnQUFCQWdRSUVFZ0ZKQ0FwalFJQ0JBZ1EKSUVDQUFBRUNC
Rm9MU0VCYWk0cEhnQUFCQWdRSUVDQkFnRUFxSUFGSmFSUVFJRUNBQUFFQ0JBZ1FJTkJhUUFMU1ds
UThBZ1FJRUNCQQpnQUFCQWdSU0FRbElTcU9BQUFFQ0JBZ1FJRUNBQUlIV0FoS1ExcUxpRVNCQWdB
QUJBZ1FJRUNDUTN3RldYQUFBR0hoSlJFRlVDa2hBClVob0ZCQWdRSUVDQUFBRUNCQWkwRnBDQXRC
WVZqd0FCQWdRSUVDQkFnQUNCVkVBQ2t0SW9JRUNBQUFFQ0JBZ1FJRUNndFlBRXBMV28KZUFRSUVD
QkFnQUFCQWdRSXBBSVNrSlJHQVFFQ0JBZ1FJRUNBQUFFQ3JRVWtJSzFGeFNOQWdBQUJBZ1FJRUNC
QUlCV1FnS1EwQ2dnUQpJRUNBQUFFQ0JBZ1FhQzBnQVdrdEtoNEJBZ1FJRUNCQWdBQUJBcW1BQkNT
bFVVQ0FBQUVDQkFnUUlFQ0FRR3NCQ1VoclVmRUlFQ0JBCmdBQUJBZ1FJRUVnRkpDQXBqUUlDQkFn
UUlFQ0FBQUVDQkZvTFNFQmFpNHBIZ0FBQkFnUUlFQ0JBZ0VBcUlBRkphUlFRSUVDQUFBRUMKQkFn
UUlOQmFRQUxTV2xROEFnUUlFQ0JBZ0FBQkFnUlNBUWxJU3FPQUFBRUNCQWdRSUVDQUFJSFdBaEtR
MXFMaUVTQkFnQUFCQWdRSQpFQ0NRQ2toQVVob0ZCQWdRSUVDQUFBRUNCQWkwRnBDQXRCWVZqd0FC
QWdRSUVDQkFnQUNCVkVBQ2t0SW9JRUNBQUFFQ0JBZ1FJRUNnCnRZQUVwTFdvZUFRSUVDQkFnQUFC
QWdRSXBBSVNrSlJHQVFFQ0JBZ1FJRUNBQUFFQ3JRVWtJSzFGeFNOQWdBQUJBZ1FJRUNCQUlCV1EK
Z0tRMENnZ1FJRUNBQUFFQ0JBZ1FhQzBnQVdrdEtoNEJBZ1FJRUNCQWdBQUJBcW1BQkNTbFVVQ0FB
QUVDQkFnUUlFQ0FRR3NCQ1VocgpVZkVJRUNCQWdBQUJBZ1FJRUVnRkpDQXBqUUlDQkFnUUlFQ0FB
QUVDQkZvTFNFQmFpNHBIZ0FBQkFnUUlFQ0JBZ0VBcUlBRkphUlFRCklFQ0FBQUVDQkFnUUlOQmFR
QUxTV2xROEFnUUlFQ0JBZ0FBQkFnUlNBUWxJU3FPQUFBRUNCQWdRSUVDQUFJSFdBaEtRMXFMaUVT
QkEKZ0FBQkFnUUlFQ0NRQ2toQVVob0ZCQWdRSUVDQUFBRUNCQWkwRnBDQXRCWVZqd0FCQWdRSUVD
QkFnQUNCVkVBQ2t0SW9JRUNBQUFFQwpCQWdRSUVDZ3RZQUVwTFdvZUFRSUVDQkFnQUFCQWdRSXBB
SVNrSlJHQVFFQ0JBZ1FJRUNBQUFFQ3JRVWtJSzFGeFNOQWdBQUJBZ1FJCkVDQkFJQldRZ0tRMENn
Z1FJRUNBQUFFQ0JBZ1FhQzBnQVdrdEtoNEJBZ1FJRUNCQWdBQUJBcW1BQkNTbFVVQ0FBQUVDQkFn
UUlFQ0EKUUdzQkNVaHJVZkVJRUNCQWdBQUJBZ1FJRUVnRkpDQXBqUUlDQkFnUUlFQ0FBQUVDQkZv
TFNFQmFpNHBIZ0FBQkFnUUlFQ0JBZ0VBcQpJQUZKYVJRUUlFQ0FBQUVDQkFnUUlOQmFRQUxTV2xR
OEFnUUlFQ0JBZ0FBQkFnUlNBUWxJU3FPQUFBRUNCQWdRSUVDQUFJSFdBaEtRCjFxTGlFU0JBZ0FB
QkFnUUlFQ0NRQ2toQVVob0ZCQWdRSUVDQUFBRUNCQWkwRnBDQXRCWVZqd0FCQWdRSUVDQkFnQUNC
VkVBQ2t0SW8KSUVDQUFBRUNCQWdRSUVDZ3RZQUVwTFdvZUFRSUVDQkFnQUFCQWdRSXBBSVNrSlJH
QVFFQ0JBZ1FJRUNBQUFFQ3JRVWtJSzFGeFNOQQpnQUFCQWdRSUVDQkFJQldRZ0tRMENnZ1FJRUNB
QUFFQ0JBZ1FhQzBnQVdrdEtoNEJBZ1FJRUNCQWdBQUJBcW1BQkNTbFVVQ0FBQUVDCkJBZ1FJRUNB
UUdzQkNVaHJVZkVJRUNCQWdBQUJBZ1FJRUVnRkpDQXBqUUlDQkFnUUlFQ0FBQUVDQkZvTFNFQmFp
NHBIZ0FBQkFnUUkKRUNCQWdFQXFJQUZKYVJRUUlFQ0FBQUVDQkFnUUlOQmFRQUxTV2xROEFnUUlF
Q0JBZ0FBQkFnUlNBUWxJU3FPQUFBRUNCQWdRSUVDQQpBSUhXQWhLUTFxTGlFU0JBZ0FBQkFnUUlF
Q0NRQ2toQVVob0ZCQWdRSUVDQUFBRUNCQWkwRnBDQXRCWVZqd0FCQWdRSUVDQkFnQUNCClZFQUNr
dElvSUVDQUFBRUNCQWdRSUVDZ3RZQUVwTFdvZUFRSUVDQkFnQUFCQWdRSXBBSVNrSlJHQVFFQ0JB
Z1FJRUNBQUFFQ3JRVWsKSUsxRnhTTkFnQUFCQWdRSUVDQkFJQldRZ0tRMENnZ1FJRUNBQUFFQ0JB
Z1FhQzBnQVdrdEtoNEJBZ1FJRUNCQWdBQUJBcW1BQkNTbApVVUNBQUFFQ0JBZ1FJRUNBUUdzQkNV
aHJVZkVJRUNCQWdBQUJBZ1FJRUVnRkpDQXBqUUlDQkFnUUlFQ0FBQUVDQkZvTFNFQmFpNHBICmdB
QUJBZ1FJRUNCQWdFQXFJQUZKYVJRUUlFQ0FBQUVDQkFnUUlOQmFRQUxTV2xROEFnUUlFQ0JBZ0FB
QkFnUlNBUWxJU3FPQUFBRUMKQkFnUUlFQ0FBSUhXQWhLUTFxTGlFU0JBZ0FBQkFnUUlFQ0NRQ2to
QVVob0ZCQWdRSUVDQUFBRUNCQWkwRnBDQXRCWVZqd0FCQWdRSQpFQ0JBZ0FDQlZFQUNrdElvSUVD
QUFBRUNCQWdRSUVDZ3RZQUVwTFdvZUFRSUVDQkFnQUFCQWdRSXBBSVNrSlJHQVFFQ0JBZ1FJRUNB
CkFBRUNyUVVrSUsxRnhTTkFnQUFCQWdRSUVDQkFJQldRZ0tRMENnZ1FJRUNBQUFFQ0JBZ1FhQzBn
QVdrdEtoNEJBZ1FJRUNCQWdBQUIKQXFtQUJDU2xVVUNBQUFFQ0JBZ1FJRUNBUUdzQkNVaHJVZkVJ
RUNCQWdBQUJBZ1FJRUVnRkpDQXBqUUlDQkFnUUlFQ0FBQUVDQkZvTApTRUJhaTRwSGdBQUJBZ1FJ
RUNCQWdFQXFJQUZKYVJRUUlFQ0FBQUVDQkFnUUlOQmFRQUxTV2xROEFnUUlFQ0JBZ0FBQkFnUlNB
UWxJClNxT0FBQUVDQkFnUUlFQ0FBSUhXQWhLUTFxTGlFU0JBZ0FBQkFnUUlFQ0NRQ2toQVVob0ZC
QWdRSUVDQUFBRUNCQWkwRnBDQXRCWVYKandBQkFnUUlFQ0JBZ0FDQlZFQUNrdElvSUVDQUFBRUNC
QWdRSUVDZ3RZQUVwTFdvZUFRSUVDQkFnQUFCQWdRSXBBSVNrSlJHQVFFQwpCQWdRSUVDQUFBRUNy
UVVrSUsxRnhTTkFnQUFCQWdRSUVDQkFJQldRZ0tRMENnZ1FJRUNBQUFFQ0JBZ1FhQzBnQVdrdEto
NEJBZ1FJCkVDQkFnQUFCQXFtQUJDU2xVVUNBQUFFQ0JBZ1FJRUNBUUdzQkNVaHJVZkVJRUNCQWdB
QUJBZ1FJRUVnRkpDQXBqUUlDQkFnUUlFQ0EKQUFFQ0JGb0xTRUJhaTRwSGdBQUJBZ1FJRUNCQWdF
QXFJQUZKYVJRUUlFQ0FBQUVDQkFnUUlOQmFRQUxTV2xROEFnUUlFQ0JBZ0FBQgpBZ1JTQVFsSVNx
T0FBQUVDQkFnUUlFQ0FBSUhXQWhLUTFxTGlFU0JBZ0FBQkFnUUlFQ0NRQ2toQVVob0ZCQWdRSUVD
QUFBRUNCQWkwCkZwQ0F0QllWandBQkFnUUlFQ0JBZ0FDQlZFQUNrdElvSUVDQUFBRUNCQWdRSUVD
Z3RZQUVwTFdvZUFRSUVDQkFnQUFCQWdRSXBBSVMKa0pSR0FRRUNCQWdRSUVDQUFBRUNyUVVrSUsx
RnhTTkFnQUFCQWdRSUVDQkFJQldRZ0tRMENnZ1FJRUNBQUFFQ0JBZ1FhQzBnQVdrdApLaDRCQWdR
SUVDQkFnQUFCQXFtQUJDU2xVVUNBQUFFQ0JBZ1FJRUNBUUdzQkNVaHJVZkVJRUNCQWdBQUJBZ1FJ
RUVnRkpDQXBqUUlDCkJBZ1FJRUNBQUFFQ0JGb0xTRUJhaTRwSGdBQUJBZ1FJRUNCQWdFQXFJQUZK
YVJRUUlFQ0FBQUVDQkFnUUlOQmFRQUxTV2xROEFnUUkKRUNCQWdBQUJBZ1JTQVFsSVNxT0FBQUVD
QkFnUUlFQ0FBSUhXQWhLUTFxTGlFU0JBZ0FBQkFnUUlFQ0NRQ2toQVVob0ZCQWdRSUVDQQpBQUVD
QkFpMEZwQ0F0QllWandBQkFnUUlFQ0JBZ0FDQlZFQUNrdElvSUVDQUFBRUNCQWdRSUVDZ3RZQUVw
TFdvZUFRSUVDQkFnQUFCCkFnUUlwQUlTa0pSR0FRRUNCQWdRSUVDQUFBRUNyUVVrSUsxRnhTTkFn
QUFCQWdRSUVDQkFJQldRZ0tRMENnZ1FJRUNBQUFFQ0JBZ1EKYUMwZ0FXa3RLaDRCQWdRSUVDQkFn
QUFCQXFtQUJDU2xVVUNBQUFFQ0JBZ1FJRUNBUUdzQkNVaHJVZkVJRUNCQWdBQUJBZ1FJRUVnRgpK
Q0FwalFJQ0JBZ1FJRUNBQUFFQ0JGb0xTRUJhaTRwSGdBQUJBZ1FJRUNCQWdFQXFJQUZKYVJRUUlF
Q0FBQUVDQkFnUUlOQmFRQUxTCldsUThBZ1FJRUNCQWdBQUJBZ1JTQVFsSVNxT0FBQUVDQkFnUUlF
Q0FBSUhXQWhLUTFxTGlFU0JBZ0FBQkFnUUlFQ0NRQ2toQVVob0YKQkFnUUlFQ0FBQUVDQkFpMEZw
Q0F0QllWandBQkFnUUlFQ0JBZ0FDQlZFQUNrdElvSUVDQUFBRUNCQWdRSUVDZ3RZQUVwTFdvZUFR
SQpFQ0JBZ0FBQkFnUUlwQUlTa0pSR0FRRUNCQWdRSUVDQUFBRUNyUVVrSUsxRnhTTkFnQUFCQWdR
SUVDQkFJQldRZ0tRMENnZ1FJRUNBCkFBRUNCQWdRYUMwZ0FXa3RLaDRCQWdRSUVDQkFnQUFCQXFt
QUJDU2xVVUNBQUFFQ0JBZ1FJRUNBUUdzQkNVaHJVZkVJRUNCQWdBQUIKQWdRSUVFZ0ZKQ0FwalFJ
Q0JBZ1FJRUNBQUFFQ0JGb0xTRUJhaTRwSGdBQUJBZ1FJRUNCQWdFQXFJQUZKYVJRUUlFQ0FBQUVD
QkFnUQpJTkJhUUFMU1dsUThBZ1FJRUNCQWdBQUJBZ1JTQVFsSVNxT0FBQUVDQkFnUUlFQ0FBSUhX
QWhLUTFxTGlFU0JBZ0FBQkFnUUlFQ0NRCkNraEFVaG9GQkFnUUlFQ0FBQUVDQkFpMEZwQ0F0QllW
andBQkFnUUlFQ0JBZ0FDQlZFQUNrdElvSUVDQUFBRUNCQWdRSUVDZ3RZQUUKcExXb2VBUUlFQ0JB
Z0FBQkFnUUlwQUlTa0pSR0FRRUNCQWdRSUVDQUFBRUNyUVVrSUsxRnhTTkFnQUFCQWdRSUVDQkFJ
QldRZ0tRMApDZ2dRSUVDQUFBRUNCQWdRYUMwZ0FXa3RLaDRCQWdRSUVDQkFnQUFCQXFtQUJDU2xV
VUNBQUFFQ0JBZ1FJRUNBUUdzQkNVaHJVZkVJCkVDQkFnQUFCQWdRSUVFZ0ZKQ0FwalFJQ0JBZ1FJ
RUNBQUFFQ0JGb0xTRUJhaTRwSGdBQUJBZ1FJRUNCQWdFQXFJQUZKYVJRUUlFQ0EKQUFFQ0JBZ1FJ
TkJhUUFMU1dsUThBZ1FJRUNCQWdBQUJBZ1JTQVFsSVNxT0FBQUVDQkFnUUlFQ0FBSUhXQWhLUTFx
TGlFU0JBZ0FBQgpBZ1FJRUNDUUNraEFVaG9GQkFnUUlFQ0FBQUVDQkFpMEZwQ0F0QllWandBQkFn
UUlFQ0JBZ0FDQlZFQUNrdElvSUVDQUFBRUNCQWdRCklFQ2d0WUFFcExXb2VBUUlFQ0JBZ0FBQkFn
UUlwQUlTa0pSR0FRRUNCQWdRSUVDQUFBRUNyUVVrSUsxRnhTTkFnQUFCQWdRSUVDQkEKSUJXUWdL
UTBDZ2dRSUVDQUFBRUNCQWdRYUMwZ0FXa3RLaDRCQWdRSUVDQkFnQUFCQXFtQUJDU2xVVUNBQUFF
Q0JBZ1FJRUNBUUdzQgpDVWhyVWZFSUVDQkFnQUFCQWdRSUVFZ0ZKQ0FwalFJQ0JBZ1FJRUNBQUFF
Q0JGb0xTRUJhaTRwSGdBQUJBZ1FJRUNCQWdFQXFJQUZKCmFSUVFJRUNBQUFFQ0JBZ1FJTkJhUUFM
U1dsUThBZ1FJRUNCQWdBQUJBZ1JTQVFsSVNxT0FBQUVDQkFnUUlFQ0FBSUhXQWhLUTFxTGkKRVNC
QWdBQUJBZ1FJRUNDUUNraEFVaG9GQkFnUUlFQ0FBQUVDQkFpMEZwQ0F0QllWandBQkFnUUlFQ0JB
Z0FDQlZFQUNrdElvSUVDQQpBQUVDQkFnUUlFQ2d0WUFFcExXb2VBUUlFQ0JBZ0FBQkFnUUlwQUlT
a0pSR0FRRUNCQWdRSUVDQUFBRUNyUVVrSUsxRnhTTkFnQUFCCkFnUUlFQ0JBSUJXUWdLUTBDZ2dR
SUVDQUFBRUNCQWdRYUMwZ0FXa3RLaDRCQWdRSUVDQkFnQUFCQXFtQUJDU2xVVUNBQUFFQ0JBZ1EK
SUVDQVFHc0JDVWhyVWZFSUVDQkFnQUFCQWdRSUVFZ0ZKQ0FwalFJQ0JBZ1FJRUNBQUFFQ0JGb0xT
RUJhaTRwSGdBQUJBZ1FJRUNCQQpnRUFxSUFGSmFSUVFJRUNBQUFFQ0JBZ1FJTkJhUUFMU1dsUThB
Z1FJRUNCQWdBQUJBZ1JTQVFsSVNxT0FBQUVDQkFnUUlFQ0FBSUhXCkFoS1ExcUxpRVNCQWdBQUJB
Z1FJRUNDUUNraEFVaG9GQkFnUUlFQ0FBQUVDQkFpMEZwQ0F0QllWandBQkFnUUlFQ0JBZ0FDQlZF
QUMKa3RJb0lFQ0FBQUVDQkFnUUlFQ2d0WUFFcExXb2VBUUlFQ0JBZ0FBQkFnUUlwQUlTa0pSR0FR
RUNCQWdRSUVDQUFBRUNyUVVrSUsxRgp4U05BZ0FBQkFnUUlFQ0JBSUJXUWdLUTBDZ2dRSUVDQUFB
RUNCQWdRYUMwZ0FXa3RLaDRCQWdRSUVDQkFnQUFCQXFtQUJDU2xVVUNBCkFBRUNCQWdRSUVDQVFH
c0JDVWhyVWZFSUVDQkFnQUFCQWdRSUVFZ0ZKQ0FwalFJQ0JBZ1FJRUNBQUFFQ0JGb0xTRUJhaTRw
SGdBQUIKQWdRSUVDQkFnRUFxSUFGSmFSUVFJRUNBQUFFQ0JBZ1FJTkJhUUFMU1dsUThBZ1FJRUNC
QWdBQUJBZ1JTQVFsSVNxT0FBQUVDQkFnUQpJRUNBQUlIV0FoS1ExcUxpRVNCQWdBQUJBZ1FJRUND
UUNraEFVaG9GQkFnUUlFQ0FBQUVDQkFpMEZwQ0F0QllWandBQkFnUUlFQ0JBCmdBQ0JWRUFDa3RJ
b0lFQ0FBQUVDQkFnUUlFQ2d0WUFFcExXb2VBUUlFQ0JBZ0FBQkFnUUlwQUlTa0pSR0FRRUNCQWdR
SUVDQUFBRUMKclFVa0lLMUZ4U05BZ0FBQkFnUUlFQ0JBSUJXUWdLUTBDZ2dRSUVDQUFBRUNCQWdR
YUMwZ0FXa3RLaDRCQWdRSUVDQkFnQUFCQXFtQQpCQ1NsVVVDQUFBRUNCQWdRSUVDQVFHc0JDVWhy
VWZFSUVDQkFnQUFCQWdRSUVFZ0ZKQ0FwalFJQ0JBZ1FJRUNBQUFFQ0JGb0xTRUJhCmk0cEhnQUFC
QWdRSUVDQkFnRUFxSUFGSmFSUVFJRUNBQUFFQ0JBZ1FJTkJhUUFMU1dsUThBZ1FJRUNCQWdBQUJB
Z1JTQVFsSVNxT0EKQUFFQ0JBZ1FJRUNBQUlIV0FoS1ExcUxpRVNCQWdBQUJBZ1FJRUNDUUNraEFV
aG9GQkFnUUlFQ0FBQUVDQkFpMEZwQ0F0QllWandBQgpBZ1FJRUNCQWdBQ0JWRUFDa3RJb0lFQ0FB
QUVDQkFnUUlFQ2d0WUFFcExXb2VBUUlFQ0JBZ0FBQkFnUUlwQUlTa0pSR0FRRUNCQWdRCklFQ0FB
QUVDclFVa0lLMUZ4U05BZ0FBQkFnUUlFQ0JBSUJXUWdLUTBDZ2dRSUVDQUFBRUNCQWdRYUMwZ0FX
a3RLaDRCQWdRSUVDQkEKZ0FBQkFxbUFCQ1NsVVVDQUFBRUNCQWdRSUVDQVFHc0JDVWhyVWZFSUVD
QkFnQUFCQWdRSUVFZ0ZKQ0FwalFJQ0JBZ1FJRUNBQUFFQwpCRm9MU0VCYWk0cEhnQUFCQWdRSUVD
QkFnRUFxSUFGSmFSUVFJRUNBQUFFQ0JBZ1FJTkJhUUFMU1dsUThBZ1FJRUNCQWdBQUJBZ1JTCkFR
bElTcU9BQUFFQ0JBZ1FJRUNBQUlIV0FoS1ExcUxpRVNCQWdBQUJBZ1FJRUNDUUNraEFVaG9GQkFn
UUlFQ0FBQUVDQkFpMEZwQ0EKdEJZVmp3QUJBZ1FJRUNCQWdBQ0JWRUFDa3RJb0lFQ0FBQUVDQkFn
UUlFQ2d0WUFFcExXb2VBUUlFQ0JBZ0FBQkFnUUlwQUlTa0pSRwpBUUVDQkFnUUlFQ0FBQUVDclFV
a0lLMUZ4U05BZ0FBQkFnUUlFQ0JBSUJXUWdLUTBDZ2dRSUVDQUFBRUNCQWdRYUMwZ0FXa3RLaDRC
CkFnUUlFQ0JBZ0FBQkFxbUFCQ1NsVVVDQUFBRUNCQWdRSUVDQVFHc0JDVWhyVWZFSUVDQkFnQUFC
QWdRSUVFZ0ZKQ0FwalFJQ0JBZ1EKSUVDQUFBRUNCRm9MU0VCYWk0cEhnQUFCQWdRSUVDQkFnRUFx
SUFGSmFSUVFJRUNBQUFFQ0JBZ1FJTkJhUUFMU1dsUThBZ1FJRUNCQQpnQUFCQWdSU0FRbElTcU9B
QUFFQ0JBZ1FJRUNBQUlIV0FoS1ExcUxpRVNCQWdBQUJBZ1FJRUNDUUNraEFVaG9GQkFnUUlFQ0FB
QUVDCkJBaTBGcENBdEJZVmp3QUJBZ1FJRUNCQWdBQ0JWRUFDa3RJb0lFQ0FBQUVDQkFnUUlFQ2d0
WUFFcExXb2VBUUlFQ0JBZ0FBQkFnUUkKcEFJU2tKUkdBUUVDQkFnUUlFQ0FBQUVDclFVa0lLMUZ4
U05BZ0FBQkFnUUlFQ0JBSUJXUWdLUTBDZ2dRSUVDQUFBRUNCQWdRYUMwZwpBV2t0S2g0QkFnUUlF
Q0JBZ0FBQkFxbUFCQ1NsVVVDQUFBRUNCQWdRSUVDQVFHc0JDVWhyVWZFSUVDQkFnQUFCQWdRSUVF
Z0ZKQ0FwCmpRSUNCQWdRSUVDQUFBRUNCRm9MU0VCYWk0cEhnQUFCQWdRSUVDQkFnRUFxSUFGSmFS
UVFJRUNBQUFFQ0JBZ1FJTkJhUUFMU1dsUTgKQWdRSUVDQkFnQUFCQWdSU0FRbElTcU9BQUFFQ0JB
Z1FJRUNBQUlIV0FoS1ExcUxpRVNCQWdBQUJBZ1FJRUNDUUNraEFVaG9GQkFnUQpJRUNBQUFFQ0JB
aTBGcENBdEJZVmp3QUJBZ1FJRUNCQWdBQ0JWRUFDa3RJb0lFQ0FBQUVDQkFnUUlFQ2d0WUFFcExX
b2VBUUlFQ0JBCmdBQUJBZ1FJcEFJU2tKUkdBUUVDQkFnUUlFQ0FBQUVDclFVa0lLMUZ4U05BZ0FB
QkFnUUlFQ0JBSUJXUWdLUTBDZ2dRSUVDQUFBRUMKQkFnUWFDMGdBV2t0S2g0QkFnUUlFQ0JBZ0FB
QkFxbUFCQ1NsVVVDQUFBRUNCQWdRSUVDQVFHc0JDVWhyVWZFSUVDQkFnQUFCQWdRSQpFRWdGSkNB
cGpRSUNCQWdRSUVDQUFBRUNCRm9MU0VCYWk0cEhnQUFCQWdRSUVDQkFnRUFxSUFGSmFSUVFJRUNB
QUFFQ0JBZ1FJTkJhClFBTFNXbFE4QWdRSUVDQkFnQUFCQWdSU0FRbElTcU9BQUFFQ0JBZ1FJRUNB
QUlIV0FoS1ExcUxpRVNCQWdBQUJBZ1FJRUNDUUNraEEKVWhvRkJBZ1FJRUNBQUFFQ0JBaTBGcENB
dEJZVmp3QUJBZ1FJRUNCQWdBQ0JWRUFDa3RJb0lFQ0FBQUVDQkFnUUlFQ2d0WUFFcExXbwplQVFJ
RUNCQWdBQUJBZ1FJcEFJU2tKUkdBUUVDQkFnUUlFQ0FBQUVDclFVa0lLMUZ4U05BZ0FBQkFnUUlF
Q0JBSUJXUWdLUTBDZ2dRCklFQ0FBQUVDQkFnUWFDMGdBV2t0S2g0QkFnUUlFQ0JBZ0FBQkFxbUFC
Q1NsVVVDQUFBRUNCQWdRSUVDQVFHc0JDVWhyVWZFSUVDQkEKZ0FBQkFnUUlFRWdGSkNBcGpRSUNC
QWdRSUVDQUFBRUNCRm9MU0VCYWk0cEhnQUFCQWdRSUVDQkFnRUFxSUFGSmFSUVFJRUNBQUFFQwpC
QWdRSU5CYVFBTFNXbFE4QWdRSUVDQkFnQUFCQWdSU0FRbElTcU9BQUFFQ0JBZ1FJRUNBQUlIV0Fo
S1ExcUxpRVNCQWdBQUJBZ1FJCkVDQ1FDa2hBVWhvRkJBZ1FJRUNBQUFFQ0JBaTBGcENBdEJZVmp3
QUJBZ1FJRUNCQWdBQ0JWRUFDa3RJb0lFQ0FBQUVDQkFnUUlFQ2cKdFlBRXBMV29lQVFJRUNCQWdB
QUJBZ1FJcEFJU2tKUkdBUUVDQkFnUUlFQ0FBQUVDclFVa0lLMUZ4U05BZ0FBQkFnUUlFQ0JBSUJX
UQpnS1EwQ2dnUUlFQ0FBQUVDQkFnUWFDMGdBV2t0S2g0QkFnUUlFQ0JBZ0FBQkFxbUFCQ1NsVVVD
QUFBRUNCQWdRSUVDQVFHc0JDVWhyClVmRUlFQ0JBZ0FBQkFnUUlFRWdGSkNBcGpRSUNCQWdRSUVD
QUFBRUNCRm9MU0VCYWk0cEhnQUFCQWdRSUVDQkFnRUFxSUFGSmFSUVEKSUVDQUFBRUNCQWdRSU5C
YVFBTFNXbFE4QWdRSUVDQkFnQUFCQWdSU0FRbElTcU9BQUFFQ0JBZ1FJRUNBQUlIV0FoS1ExcUxp
RVNCQQpnQUFCQWdRSUVDQ1FDa2hBVWhvRkJBZ1FJRUNBQUFFQ0JBaTBGcENBdEJZVmp3QUJBZ1FJ
RUNCQWdBQ0JWRUFDa3RJb0lFQ0FBQUVDCkJBZ1FJRUNndFlBRXBMV29lQVFJRUNCQWdBQUJBZ1FJ
cEFJU2tKUkdBUUVDQkFnUUlFQ0FBQUVDclFVa0lLMUZ4U05BZ0FBQkFnUUkKRUNCQUlCV1FnS1Ew
Q2dnUUlFQ0FBQUVDQkFnUWFDMGdBV2t0S2g0QkFnUUlFQ0JBZ0FBQkFxbkEvd2UwSXVHWHFlY1l4
QUFBQUFCSgpSVTVFcmtKZ2dnPT0KCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1MREItMi1DU1MtZXhwZWN0ZWQucG5nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1l
LXR5cGUgPSBpbWFnZS9wbmcKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFB
Q2Fkb0p3QUFBQzdtbERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0YKVk05ckUwRVUvalp1cWRBaUNG
cHJEcko0a0NKSldhdG9SZFEyL1JGaWF3emJIN1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUy
aApCLytBSG5yd1pDOUtoVnBGS042cktHS2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhM
U05QV0FCT1FOeDFLaUVXbHNmRUpxCi9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0
V3czdjdkN0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5
UE9VNTVlTUcxRHlzOXhGa2lmRUExTGM1L1RiaFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1
WnNiSQpFTDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUv
NG1IaHBPYkVoajBjR0RYMCtHQVZ0eHFwCitEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNR
T01wa1lZQnpXa2hQMTB4dStMcUhCWDBtMXhPdjRuZFdVZUY1anhObjN0VGQKNzBYYUFxOHdEaDBN
R2d5YURVaFFFRVVFWVppd1VFQ0dQQm94TkxKeVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050dzl0
MUdrM1R6KwpLQ0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVH
aDdYMDhqamMwMWVmSlhVZHBOWFI1YXNlWHE4Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1s
eW1NRk1YalZmUHFTNFIxV2pFMzM1OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2
SlBtVmZsUFh2WHgvR2ZOeEdQaUtURW1kb3JuSVltWHhTN3hrdGhMcXd2aVlHM0hDSjJWaGluU2Ja
SDZKTlZnWUpxOAo5UzlkUDF0NHZVWi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYr
VDNpdWVmS0FJdmJPREltYnB0VTNIdkVLRmxwVzV6CnJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZx
MVNOWjhndkFFY2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZy
T1pWV0xwZHRpWjB4MXVIS0U1UXZmRXAwcGxrL3F2OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2YjhD
OC9VWEFlSXVKQUFBZwpBRWxFUVZSNEFleWRCNXhWeGZuM1o1ZGR1Z3FDSFJWUUZPd05WS3lvQ0Nw
RVh5eVlXS0pZVURTMnFMSEVHbXMwWW9rS3htNGtnaWFLCktJS2cyQ3VDaVlxOS9hMGdaVm1XWGJi
Tysvem1PbWZubm52YTNiMTNHNy81ZkhaUG0vUE16SGZtekozeXpETUZXcHlpSXdFU0lBRVMKSUFF
U0lBRVNJQUVTSUlFbUlGRFlCR0V3Q0JJZ0FSSWdBUklnQVJJZ0FSSWdBUkl3Qk5nQllVRWdBUkln
QVJJZ0FSSWdBUklnQVJKbwpNZ0xzZ0RRWmFnWkVBaVJBQWlSQUFpUkFBaVJBQWlUQURnakxBQW1R
QUFtUUFBbVFBQW1RQUFtUVFKTVJZQWVreVZBeklCSWdBUklnCkFSSWdBUklnQVJJZ0FYWkFXQVpJ
Z0FSSWdBUklnQVJJZ0FSSWdBU2FqQUE3SUUyR21nR1JBQW1RQUFtUUFBbVFBQW1RQUFtd0E4SXkK
UUFJa1FBSWtRQUlrUUFJa1FBSWswR1FFMkFGcE10UU1pQVJJZ0FSSWdBUklnQVJJZ0FSSWdCMFFs
Z0VTSUFFU0lBRVNJQUVTSUFFUwpJSUVtSThBT1NKT2haa0FrUUFJa1FBSWtRQUlrUUFJa1FBTHNn
TEFNa0FBSmtBQUprQUFKa0FBSmtBQUpOQmtCZGtDYUREVURJZ0VTCklBRVNJQUVTSUFFU0lBRVNZ
QWVFWllBRVNJQUVTSUFFU0lBRVNJQUVTS0RKQ0xBRDBtU29HUkFKa0FBSmtBQUprQUFKa0FBSmtB
QTcKSUN3REpFQUNKRUFDSkVBQ0pFQUNKRUFDVFVhQUhaQW1RODJBU0lBRVNJQUVTSUFFU0lBRVNJ
QUUyQUZoR1NBQkVpQUJFaUFCRWlBQgpFaUFCRW1neUF1eUFOQmxxQmtRQ0pFQUNKRUFDSkVBQ0pF
QUNKTUFPQ01zQUNaQUFDWkFBQ1pBQUNaQUFDWkJBa3hGZ0I2VEpVRE1nCkVpQUJFaUFCRWlBQkVp
QUJFaUFCZGtCWUJraUFCRWlBQkVpQUJFaUFCRWlBQkpxTUFEc2dUWWFhQVpFQUNaQUFDWkFBQ1pB
QUNaQUEKQ2JBRHdqSkFBaVJBQWlSQUFpUkFBaVJBQWlUUVpBVFlBV2t5MUF5SUJFaUFCRWlBQkVp
QUJFaUFCRWlBSFJDV0FSSWdBUklnQVJJZwpBUklnQVJJZ2dTWWowQ0k2SUpXVmxVMlc0S1lNcThr
U2xTQ2cxVFhkQ2REUUN3bXMxZ1MwMWpsSmYwbEppZnJ1dSs5VWtEemMvL0hICkh4T0ZreXM1aVFL
akp4SWdBUklnZ1dZaFVCUVg2clJwMDlTLy8vM3ZPRytxWGJ0MmFxMjExbExkdW5WVG0yKyt1ZHB6
enozVkpwdHMKRXZuZSsrKy9yODQvLzN6MTZxdXZxbEdqUnFsYmI3MVZyYmZlZXBIdjJJZDMzbm1u
ZXZmZGQrMWwydkd5eXk1VG0yMjJXZHE5eG9TVgpKcWlWWGF3TzZRNHJvd2NjY0lBNjl0aGpFK1hZ
VHovOXBDNisrT0pFZnBONEdqOSt2T3JldlhzU3J5M2FEN21FWjgrVUtWUFVJNDg4Cm92NzN2Lytw
RlN0V3FHMjMzVllkY3NnaDZweHp6bEh0MjdjUGY3RVpuNnhhdFVwTm5UclZ4UG1ERHo0d1IzUU10
dHh5UzdYOTl0dWIKdjBHREJxbTk5dHBMRlJZV21nNEY2dExTMGxMVnNXUEhqSmkvK2VhYjZxcXJy
bElmZnZpaFFzZWhaOCtlYXNtU0phcGZ2MzVxNjYyMwpWZ2NkZEpBYU1HQ0FPdkhFRTlYUlJ4K3RM
cnJvb2d3WnVKRXJPWUhDZVpNRVNJQUVTS0RsRVpEUnFrajN3dzgvNktlZWVrb2ZldWloCkdDYkwr
T3ZSbzRlKzlOSkw5ZDEzMzYxUE91a2tMUjBSejg5T08rMWszZzBMWVBqdzRaNWZ5UDd6bi84YzVq
WGovdGRmZjYyZmVlWVoKdmZ2dXU2ZkpnSnkzM25vcnczOWp3c29RMW9KdXJGeTVVdi95eXkraE1X
cXI2WFlUL00wMzMrampqejgrb3h5Y2VlYVpycmZJOHdVTApGcVM5WDFCUW9LVVJwczg2Nnl3dEhk
cTBaL1k3K010Zi9xTC84SWMvNkQzMjJFUER2NzJQNC8vOTMvOUZodGZVRCtQS1NWaDgyaHFYCmhu
SncrZno4ODg5Ni8vMzNUOHR2TisrMzJHSUxMWTE3OTVVV2NmN1NTeTlweEExeGxRNlNsazZCZnZq
aGh6WHEwamZlZUVQZmVPT04KWG4yNndRWWI2T09PTzA3akNQOFZGUlZwYWFpcnE5UFM4VEQxdlF3
YWFlblVhTnlEazQ2SS9zOS8vcU0zM0hERE5FYlhYMzk5bWd4Ywo1RXBPaG1EZUlBRVNJQUVTYU5F
RU1GMmV5TlhVMU9nK2ZmcWsvYURnaCtuc3M4OU9lLzhmLy9oSGhoODA0UHdPOHJwMDZaTG1WMlpO
Ci9ONWlyNTk0NG9rMEdZaVRqS2FsdlplcnNOS0V0b0NMMnRwYVBXellNSDNHR1djRXhxYXRwanNv
c1V1WExzM29CSVJ4Q1hyL280OCsKOHNwUjM3NTk5ZWVmZis1NVc3eDRzZmNNNWN2K3lXaXk1d2Z2
MjhZYW5uLzc3YmZlcytZK2lTc25VZkZyUzF3YXc4RXlRcDRIRFhyWQpNbUdQTXVxdnk4dkw3V3ZO
ZWtTSDROUlRUL1crRDNTV0gzMzAwY0E0Z2RHRkYxN29sWEdiSG44SDVNRUhIL1Q4ekp3NU0xQVdC
a1pRCnAxc1pRUjJRWE1rSmpBQnZrZ0FKa0FBSnRGZ0NpZGVBUU1WcXUrMjJrOStTZE5lN2QrKzBH
Ny85N1crTk9wWjdVMGFLMWR0dnYrM2UKTW40d0plKzZZNDQ1eHIxTWRBNlZMNytUSDlpMFc0aDdM
c0pLRTlvQ0xxNisrbW9sUC82aE1XbXI2UTVLTU5TZG9BTG9Pbjg1Y0ovNQp6K1VMTmJlazg2Rmtw
TmlvRWZyOVJGMXZ0ZFZXNm9VWFhsRHJyTE9POFdibFJiM1RWTS9peWtsVVBHdzYyZ0tYeG5Dd2pH
Ukd6S2dMClNXZFRIWHp3d1dydzRNR3FjK2ZPOXJGMy9QampqOVVOTjl6Z1hUZlhTVmxabWRwbm4z
M1VQZmZjNDYzTlFIMzh1OS85TGpCS1VMdVMKbVJEMXozLyswNmhnQlhsYXZueTVrazZLZWJUbW1t
dXFvVU9IQm5rejZsaFFVNE5hVnBETGxad2cyYnhIQWlSQUFpVFFzZ2trN29BZwpHY1hGeFJtcDhU
ZnlaRlpEYmJQTk5obisvdld2ZjJYY3d3OGRmZ3p4QXpsaHdnU2pKNXpoS1VjM21qS3NIRVU1VWd3
NkhtQVg1OXBhCnV1UFMyOURub2dwaVhzWDZvWTAzM3JoQllxRHJqZ1lxbkpYWElFRTVmQ2xwT1Fr
TDBxYWp0WE5wTEFmd0VWVS9KU1AycG9IKy9mZmYKcTJlZmZWYTkvdnJyU2xTWTFHNjc3WmFCRU9z
YW10dGhRT2kvLy8ydkY0MnVYYnVhZFhmZWpaQVREQWI5NlU5L0NudzZmZnAwdFdqUgpJdk1NeGkx
c0dRbnlqSTdhSFhmY0VmUkk1VXBPb0hEZUpBRVNJQUVTYU5FRXN1cUFKRTJKclAzSThJb2ZiTCtU
OVNOSzFuMllFZWV4Clk4ZXFEaDA2K0wzazdMb3B3OHBacEVNRVljRW5SakNqZnZqdHEyMHAzVFpO
K1RqYWtmNEREenl3VWVKLzg1dmZtUGV0dkVZSmErVEwKMlpTVHNLQnNPbG96bDF4d0FKKy8vLzN2
U2xST3plZy9aZ3FzVzNmZGRkV1RUejZwT25YcVpHK1pJeFo1TjZlRDhSQlpKNWNXQlZrVApscmll
eGVKeXpPejVIUXhiV0ljT0NOSWU1WTQ4OGtnbDYwRXl2T1JLVG9aZzNpQUJFaUFCRW1qeEJPcC9S
WE1ZVlZub21TRU5WbFp5CjRmQ0RKMnNiY2lFcWF4a0lWM1NrRTcyM2JObXlSUDc4bnFxcnF4VXNE
OW1Hbi8rNTZPUXJXUUNyWk0yRC8xRk9yNkVlSVRyc09aR0oKamhLc0JHWHJ3RnZXWHlUcWFHVXIy
KzhmblY5WU1BcHFLUG45UmwxRFRYSGZmZmNObkMxMDMydG8rWEJsUkozbnFweTBkQzZ3enVTdgpE
OXo2SjFjY3dCb1crdEFvRDNMcnI3KytPdUtJSTlJZXlicUp0T3VtdkVEOWdjRWR2enZzc01QOHQw
S3ZNZU45M1hYWFpUeVh0UjFwCjk4YU1HYU1lZU9DQnRIdnVCVlJCWWYzS2J4VXhWM0xjc0hoT0Fp
UkFBaVRRU2dqSUQxVmlKeit3M29KQ1NaNDVGOU81R2UvdnNzc3UKYWY3a2gwelBuVHZYOHlmNnhj
YUtEQ3pKdUgvWFhIT041OGQvY3Z2dHQydlJ0OWJTSU5LaTY2Ly8zLy83ZjFyTTkrclpzMmVuaFlW
NAp1VmF3a29RRksxOXVQT3k1alkrWTJkUW5uM3l5WG52dHRiV01kb1phNjhMQ1R0R0hOdjVFTDF6
amIvVG8wYkVXY2I3NDRnc3RQK0o2Cmh4MTIwTEttUllNWDBpbWp6dnJGRjEvMFVMenp6anRHdG1W
dmo3MTY5ZkxpLzllLy90WDRUNUp1VC9DdkovUG16ZE5ISFhXVUZyT2IKeGtvT0xPV0lLVTE5d2dr
bmFGRS84WHZYWVdHSXlvWHhpN3lCSlIxWkYySHlDT3hFclVOTFp5UkRscjBoNmlKbXdTelNKR1kv
elh0RgpSVVVhMTdEYWd6d1BjMkJubWVDWWpSV3NNSm00bjJRUmV0VDc5bG5TOG9IRnVyWU1CaDNC
MVZwaThqK1hVV1dkVFRteGNXdklzYW01CjJEZ2lYSlJKYWZTYi9FWTV4YUp2bEE5WTVFUDVoV3Nx
RGpaZTBsaFBLMzhEQnc2MGo1cjhpUHJXL1JicytXZWZmWloxWE1Ta3RKWk8KbnZlZVA1MVdOcXpH
dmZiYWE1Ni91Sk5jeVlrTGg4OUpnQVJJZ0FSYUhvSEVWckFROVNRZEVEUVE3UThTam1nOHdqS1c2
MkN4Q0NZYwpYWDg0bDRYaXJqZHpEdXNyb28rYzVuZU5OZGJ3R3Nub0dQamx1QjJRSkdISktLcSsv
Lzc3UFNzeFZoN2lnd2FkTEhET0NBT2RFdXRnClpVWjByWTBmZEI1ZWZ2bGxZMTVTUmdYTlBYUmN3
c3h5b2xHSzlDRE1jODg5VjhOTXFNeUFtQTRJN3NGaWplVUhpMS9JQTFuNG1SWWYKTkxod0gzK2lK
bUtpbFNUZE52NHlRNkZ2dWVVVzArbEFtTC8vL2UrTmFWL1I4OVppeDkrRWhjWTlUR3U2VGtieDlX
MjMzWllXRjd5UApoajg2SnpMeW1mRU16NFB5R1hKaHlobnBoWFUwTUpUWklOTlo4VGRVYkNmTGpR
dk9XMm9ISk52eWdjNUZrRmxoVWZIUjgrZlAxeklMCmFNb1hPb1d5RU5vd2hublZXYk5tNmFxcUtw
MU5PZkV6ek9hNnNSMlFiTGtnYnZnMmJNZERacHFNeFR0WmFLMWxQWWFwRTFDK050MTAKVTVPTXB1
SmdBcE4vNDhhTlN5dnZOOTk4czMzVTVFY01ub0NGL3cvZmJHTWRPblordWU0MXlpVDh4TGxjeVlr
TGg4OUpnQVJJZ0FSYQpIb0djZEVCZ21oS05JVFJpWVJNZVAwWm9pT09IQ0EzNElJY1JOWDlER3JN
RmZpZHJROUorN0xBZkNVYlEwV2pHU0xCdGpMZy9nRUZtCmVKT0VKZW96YVdGaEpnZWo5NWlaUU9Q
UERlTnZmL3ViRjFYTUd0aG5hRGk2VHF5RW1XY3cwZnJsbDErNmp6Um1kZXg3TUhHTXhxTjEKcnFs
UGhPMmFmSlZGL3Q1N2VEOXNwRDhwWTFuTTdzbkQ3SkpzSkdhallmTFZ4aEZITk9yOFRsUXJ2UGZo
QjQxaDJZeFN5NEpkTFF0MAp6V2kxS3dQbllpVW9UWXpiR0VHSHlqVmhpblM0blVCMFV0eVpJU3Vv
cFhaQUdsSStVQloyM25ubk5LN2c1ayszYkJxbnNkK09xTXhaCkRONHhhVG54WHNqeXBMRWRrSVp3
Y1FkQnhMSmVXb3d4azRqWkVOc0JzUS96emNHR2czeXc1Unl6ZlJnRWFDN25zclZ4d21BUTZzMWMK
T0F3aVdMbGhSK3hCQkRQT1VTNVhjcUxDNERNU0lBRVNJSUdXUjZEUkhSQ29DZ1g5QUdIdmo3Z2ZZ
RFJTM1hmOUkrTm9VT0JIMC9xUgpoWjhaRGRkNzc3M1hlMjc5K1RzZ3dCNFhGdno0TisyRFBObXAz
ZnhvaThVV1R5VUk4YkNxREg0VnNJa1RKMEtVNTBUbjJvdWZMQnozCjdzdnV3OTdNQjhMeGQ3NmdX
bVBUZzZPckFwVk5neW91M1dCc1ZaMFFEanA0ZmdmMUp4c1huR1BFMlhWaUFjaDdEbi9ZbkJKeXJV
UGMKN2Z2MjZKOU5jVHRCOENQV3UrenI1aWdMV2ROa0JPMHQweEk3SUEwdEgwZzBPdS9veUZ0bU9Q
YnYzOS9ybkdHRUhRM2RzRDFIc2lrbgphYkFUWGpTbUE5SVFMdWlJdWdNQmt5ZFB6b2pwQlJkYzBD
d2RFTXhhdVhWVlVFYzlJN0o1dklIWkliZmM0QnlETmJseUdBU3lzNlArCmNOeHIxQzBZckFucitP
UktUcTdTUlRra1FBSWtRQUpOUTZEUmk5Q3Z1T0lLOWQxMzN4bFRqNklyckdUMFduNS9sREVSQ3hP
TU1oS24KR21vTlJ0UUkwaGFZeW9pd2tnYVlrVy8vK2ZjaHdYMi9hV0RydHlISFUwNDV4Y2lUSDFz
bHFsMUtHbjFLT2grcVg3OStSaHpNazdwTwpSbC9keXpRYitOTG9Rb2ZQUEllSlMvbng5Zno2cmMy
TUdESENld1lMUkg2NTNzTkdua2dIUzhuc2lpZkZwc3U3SVNmU2tQVXVZYzBNCnBuMmozSTQ3N3Vp
VkEvaVRUa3ZHM2pEU2FFNFQ0US9YbjRldzV1VTZhWnk3bHkzMnZLSGxBd25hZnZ2dHplSmROM0dm
ZlBLSmtrYTIKRWhVMUJkbVBQLzU0eHVKZTEzOUxQVzhJRittMEszZGh0OHo4cWVlZmZ6NHRpVmg0
ZmRKSko2WGRhNG9MV1h2aTFWVTRQL3p3dzVzaQoyTkF3WUVUQzc0TDJLL0g3U1hvTmM3NVBQLzIw
c1FnbW5lVFExMUMzL1BHUGYxUlkvRzdyUHRkenJ1UzRNbmxPQWlSQUFpVFE4Z2swCnVnT0NIelUw
TUdIOTU1eHp6bEZ6NXN4UkcyMjBrVWs1TEZhaGdZUjlQdDU3Nzcyc2FmanQ2T2ZLa2xiU2lLRFJM
K3BFbm5jMENQRmoKYWp0WmVDQnJRYnpuT01FUEtuNTA3WitNMkhyUFlUdmYydVRIajdmclpMRzNl
MmxZWWtNODBldFhNMmJNU0h1V3l3czBaRjBuNjFYYwpTM09PVGY1Y2g0NVVOZzVXY1B5TkZKUU4x
NDBhTmNyc0E0T09Calo0aTJ0RTV0dUtsQnUzeHB3M3RIellNTkdnOW5kTzc3enpUaVV6ClZVcEds
dFhlZSs5dHZiYXFZME80WUVCRFZLeThkTUtLMHJCaHc4eWZyRDB6OTdFeG5yOXo0NzJRcHhOWmwr
TlpnWkoxSUFvREp3MXgKNkdEQlpIRFluLytiaVFvajZEc082cFJFeVloN0pqTStaakFDOFlVRnVT
aUgrZzZiSVFhNVhNa0prczE3SkVBQ0pFQUNMWk5Bb3pzZwovbVJoRTdkSEhua2s3VFlhaXdjY2NJ
RDZ2Ly83djdUN1VSY1lMUlBWblRRdm9tS1RkcDN2QzMvRDJ4L2VEei84b0Z5VG4zaSs1NTU3Cm12
MEEwUEhBbjM4VEx1eVFqUGY4alFGUnBmR0xOeDAzY1BQUEJtUjRiT0FObVB2MU4rUkZaU0pEbW4v
a2RNR0NCUmwrR25zREhSUXgKQkdETTdtS0ROelNnTU5xTlBRYXc1NGtzYW05c0VFMytma1BMaHh0
Uk5MakJ4ZDEzQXMvUmFCTkxVSzdYVm5QZVVDNUlNMHkrK2gxbQpRZEFSUTJjRWplR21kS0phcFA3
d2h6OFlVOUU0WXErUWhqcHNMTHJ0dHR1Ry9vbGFZMkxSTUJuc2QvNDZ4Lys4b2RjWXBNRitJNis4
Cjhvb3hFUjRtQjd1bml4cGQyR016MkpNTE9hRUI4QUVKa0FBSmtFQ0xJWkR6RGdoU2hsMkIvUTBt
c1hpam5udnV1Y1FKUnlQRlArTG4KemlZa0ZwUkhqMTk5OVZXR2RERkxyTkRKQ1B2RDZENzJKdkE3
ZEFhYTJrR1Z6Tyt3NzRQZitUc2dhTWdzWExqUTd5MW4xMURaazhYOApDcDB5c1hKbVZJekVCSE9h
L0NCMWpqUVBMZUNpb2VYREgvVmRkOTNWeklpNTk4VlFRSk9QOUx2aE4rYThNVnpFQWxyb3JBODZJ
bUw2ClZvbFo3Y1pFTDZ0M0w3Lzhjck1iT3ZhNUVLTVNlUnNzeUNwUzRsa01hR1M4Z3NhL3JOdkp1
Si90amJ2dXVpdE5mZFMrTDJaNEZXWkgKTVFzdXhoSHNiZStJUFZ0UUwxcVhLemxXSG84a1FBSWtR
QUt0aDBCZU9pRG9LUGgxK29FRVAweEpYZEJJR1RicGEwbE9MR1JsUkFjegpDbGluRXZZblZxWlUw
Q3hEMEU3eEdjSnpmQ05vbERTSXUxaGtTZ3Nac3hWQktoNXBuaHB3Z1lZcGRoS0hxaHRtMGREd3hx
elpEVGZjCllEb2pyc2g4elFxNVlUVDJ2S0hsSXloY3FCWDVPNGZvN0lyMXNDRHZMZnBlWTdpSXlX
cXo3Z096QlVFREVsQjl4Q3dKMUpueTdhWk0KbVdJMjZrTmNaTytXd09Dd2NXRlFSei9RY3c1dmpo
dzVNbENhWDYwMTBGUE1UYVRWdjhPNit3bzI0a1E0bDF4eWlYdmJuTHN6VkxtUwpreEVJYjVBQUNa
QUFDYlI0QW5ucGdDRFZRWTFiZjBNMmlnNTJ6WFgxdmVFM1Z6dHpSNFdiemJPK2ZmdG1MSzVPc2pq
YXI5T1BNTEhlCm82bWRXTWpLWUl3R25OLzV1YU56NlYvVDRYOG4yMnVNakdJRWRkcTBhV2F4S2xU
NXBrNmRxbVJQa0d4RnRSai9EUzBmUVFsQUJ3VGYKQk5iVFdGZGJXMnZXeW1UelhkbDNtL1BZV0M3
b2lHRnRqSmkxVnJKM2p2TFAwR0VRUUt5czVUV0o2UGpKeG9kS1RJOEg3amlPd0xIZQpDNTFubE9V
a0RpcGttRWtKKyt2WnMyY1NNY1lQdnUyZzlVRjJyVXhpUVNFZXNiWXZ5bUVHL05wcnJ6VXFxYTQv
ck9OeFhhN2t1REo1ClRnSWtRQUlrMFBJSjVLMERFalNpUDJUSWtNUkU4QU9HaG9ycllHMnJKVGww
a1B6V3FXUnZnalNyVWtIeFJVTkNUR0ttUFJJenYwMHkKYXVzR0NwMTYvK0ozZjJjRC92M3JYR1Mv
QTFkTVRzNzlvOVpvakxYbXpnZWdOTFI4K0lHS3VWa3pJd1FWUmxndGN4MUdsR1dqUnZkVwppejl2
S0JkWUFJTTFPdXZRbUVVSFFQYWFVYklScUwxdGpwOSsrbW5hZFM0djBQR0JsVG94MjYxa2p5QXpl
SUFCQlB4QkRlemYvLzYzCndzekgwS0ZEalFHQm9KbWFvUGpBVWhSbUJjTCtnZ1oxZ3VUWWUyRGpu
eW1ValU4elZGdXQvNkFqMUdCUE8rMjBETFZSR01hQUdtQ2MKd3hvMjZ4QVhXREowWGE3a3VESjVU
Z0lrUUFJazBQSUpaTlVCU2FwM0x6YnhNeGFjWXdGNW1GcEFHQ2JYRkMzOHdOcU1mN1JYOWhySgpl
QjBMUXh2aS9PbnpYd2ZKUktQQmRVZzdUQlA3SFg3SVlaclRtZzA5Nzd6ejByeGdOQnZtTzRNYzFs
dDgvdm5uUVkvTVBkbVh3M3VHCmhhRCt4ZnZldzRBVDZMQzdMdWhkVjJjZk14OWg4WFRsWkhPTzlV
SHZ2dnR1NUN0QnFtR1JMK1R3WWRDc0VNU0gzWGVEYm1qNXNESXcKTTRSMU1QLzR4eitNOVRVMGJQ
MmRSblJBWE5VVys2Ny8ySmh5NHBlRjY3RDBoOTEzWlRTRUM3NGhORmpkZFFTUWliVkNNRkxnbXVU
MgpEd3k0WVRlR0E5WlFvQk1FQzF5WVpjR2dpdnVIanJOc2xxaXV2UEpLNHlkb0xZUWJsM3llbzdI
dnI0dWdtbmIzM1hjbkNoYWNrRTlRCnQvS3JqY0pBeEttbm5ob3J4eDNRZ0VsMnFOQzVMbGR5WEpr
OEp3RVNJQUVTYUFVRXBKR2QyR0hYWlVsUzJwK29DMlM4TDJvUmFYN2sKUjBmN053ZVVCcmVXZFFS
cC9rVC9QMDJXcUZKaytIRTMrcE5HZ0JaMW9EUVppSjhzYmt5VGt5UXN2T0RmVUE4N2ZNYzUrWkhX
MHZCSgppNE9veVpoZDRXVWh2WllmV0MyV25MUll4OUt5bjRkR1hPQ2tJNlVIREJpUTloN2lMcFpp
dE13NEdEL3dDMjdZZkU0YVh1WWUva0dPCm13OElIN3VzaTJsVExiTkdHdUhDSlUyM21ORDA1Q0ZP
N3FaaHN1NUd1NXROWW1OR3Y4UE81MjU4Wk1GNG1oZWtGVXhjUDZKQzQvbVIKQmZocHorQVBtNmJK
K2cvREQza3VzelZwZm1TeHNmYytUcVJ4YW5iQmRzTTQ5dGhqMC93MDlPS05OOTVJQzl1R0lZdmxZ
MFUydEh4QQpzSmh0MXRnVlhqcXVhZUhJU0h0R2ZNQkRPbWxwL3BLV2s3U1hzcmhvYWk3WW1CSHNV
VS9ZNzhpTjdqSEhIR09leSt5cEZ2VW43MUd1Ck9HRFRQRm5jbmNIZWxvZWc0d01QUE9ERm83bE94
RHBYV3B4bEJpcXRQZ21LMTd4NTg3U29pbW94cWE1bE5pbk5pN3N4cVppRVRudm0KWHFEdVEzMEVM
dGljVkFaUzNNYzZWM0xTaFBLQ0JFaUFCRWlnVlJCSXRCTTZHcENQUGZaWVJpTVFQeXhvcFAvclgv
L1MyQWxZUnQvMQo3My8vZSsvSFRxYmN6ZTdpTXJxZEFXUG16Sm1lUC92RExTb0dXa2JEMC95S3lr
QmF1S0tXbzBVbHdPeVVMYU9jV2tZZk0rU2c4WW9kCmtSRnZ1Q1JoWVRkcGZ5TVg4VWVhNHR3TEw3
eVF0cXU1VFEvZUYvMTBFejlSMWREb01MbE9ablEwMG1EOTJ5TWEvTHZ2dnJzV004QWEKamFsSmt5
YTVyMmtaQlE5OEIrK0xHVkRQYjVKMHc3T01pbXAwR216NHlHdnJzSXV4dlkvZDJtM255RDVIUThV
K3QwZFJPVEdOWit0SApWSWN5L0NCOTZEUlk1Ky9FUUJZYVNyS3Zpa2JqMmkxWGVJYTh3cTd0OTkx
M254RWh1dVFaWVlqdWZVYWp4NGFYOUNnemJGcG00akprCkl3N2dJUmJCWWtVMXBIeWcwU2Q3NjVo
d2JScHRRT2dnb294YjN2WW9PdmZXaXprbUxTZHBMeVc4YUE0dXRnT0M5QjUzM0hGcFpVelUKTTcx
dlVQYmlTRXRGTGppZ3JJcEtWUVp6eXo3c0tCYnYwdUxTWEJlaTRwazJXSU52Ni9UVFQ5Y3ljMmEr
UTVRcGRQaGx0c1BiNFJ4MQpBZ1lIL003dE9DRGRvdjZXbGhmd0wrcFpXdmIyTWJ6Z0g5K0EzK1ZL
amw4dXIwbUFCRWlBQkZvK2dkZ09DRWE0OEdNVjlnUHIzc2NvCkZ4cmFvbXFsTVZJdU90dUJCREJE
Z2NhNSs2NDlSNE1kalFuWG9SUGdiM0RKT2dyVENSRjFEQ05IVklPMHJFM1FSeDk5dE9sOGlJVWcK
ODhPYUpDeDBjdndqOURZK09QYnAweWZqQjlhTkg4N3g0eTJxR1JscFFucGtnMFl0YWluK1Y4dzFa
bmt3d3UyR1o4OHhhNElHdnQ5aApaTkhmS0VhajN4Mk5USkp1Vnk1R3p6RXJBWTVnSWVhQ3pVd0xH
dnJvOVBsbmxmQXV3ck54OVI5UlpqQWpjKys5OTRiNkViVThqVkZsCk9JeFlvelByeXBGTjViVHNv
MkpHdTJWTmtVYWUyK2VJbCtqS205a2ErTEgzL1VkUkhja29UeWJBbUg4b3UrZ2N4cFY5UEljL2Q4
UTkKU0hRMjVVTlVxdExTZ3pKa1owSEFOR2pXejZaYk5udnpnazlTVGp6UENVK2Frd3M2SUNpYnNr
bWwzbWFiYlV5NUZNTUZHak96cUUvdwpER1VZczNhdXl3VUhkT3d0NDZSSGxOK2dtUm8zYmsxNWpr
N1VqVGZlcU1VU1gxcGFNTWlCNzhTbUMvV29XUGdLalRzNkR1aDBnQWs2ClpmZ0dJQU16dGFLeXBj
VjZuZWtNNHY3WXNXTkRPK201a3RPVURCa1dDWkFBQ1pCQWJnZ1VRSXo4OExSNGh6VUEyRDBaNjBD
dzZ6cjAKbStWSHoyeWtCNHMwc0tBa0RiVm1Ud2YyTDVrN2Q2N0MyaFRFRWZyNjBqQ0tqUmZXUVVo
bncranliN2poaGlhTjdpN3NmZ0hJTnF3TApRVmhZMUE2Ny83a3dqU3VORklWOU9CQVg2SDFqd2Jt
b1pTVktneitPMlY0amJPejhEZ01Hc0xTRnNOM05JTEVXeHE2aGtSa1VCVXMvCnJjMDF0SHcwTkoz
NUtpY05qVS9ZZTBtNFlOMEYxamhoTFJXY3pGb3FVUU16ZFFES0F1b0ZHYWdJREtLMWNBaU1mSTV2
Z2dYV2VtRXQKRGY1UWo4amdrZm1lVUYvRnJWc1JsVWl6NkIrN3pzUEJTQVhNN2lJUGNRN2pJZmgr
c1NZbnF1N0xsWndjNDZFNEVpQUJFaUNCSmlEUQpham9nVGNDQ1FaQUFDWkFBQ1pBQUNaQUFDWkFB
Q2VTWlFGWldzUEljRjRvbkFSSWdBUklnQVJJZ0FSSWdBUkpvNHdUWUFXbmpHY3prCmtRQUprQUFK
a0FBSmtBQUprRUJMSXNBT1NFdktEY2FGQkVpQUJFaUFCRWlBQkVpQUJObzRBWFpBMm5nR00za2tR
QUlrUUFJa1FBSWsKUUFJazBKSUlzQVBTa25LRGNTRUJFaUFCRWlBQkVpQUJFaUNCTms2QUhaQTJu
c0ZNSGdtUUFBbVFBQW1RQUFtUUFBbTBKQUxzZ0xTawozR0JjU0lBRVNJQUVTSUFFU0lBRVNLQ05F
MkFIcEkxbk1KTkhBaVJBQWlSQUFpUkFBaVJBQWkySkFEc2dMU2szR0JjU0lBRVNJQUVTCklBRVNJ
QUVTYU9NRTJBRnA0eG5NNUpFQUNaQUFDWkFBQ1pBQUNaQkFTeUxBRGtoTHlnM0doUVJJZ0FSSWdB
UklnQVJJZ0FUYU9BRjIKUU5wNEJqTjVKRUFDSkVBQ0pFQUNKRUFDSk5DU0NMQUQwcEp5ZzNFaEFS
SWdBUklnQVJJZ0FSSWdnVFpPZ0IyUU5wN0JUQjRKa0FBSgprQUFKa0FBSmtBQUp0Q1FDN0lDMHBO
eGdYRWlBQkVpQUJFaUFCRWlBQkVpZ2pSTmdCNlNOWnpDVFJ3SWtRQUlrUUFJa1FBSWtRQUl0CmlR
QTdJQzBwTnhnWEVpQUJFaUFCRWlBQkVpQUJFbWpqQk5nQmFlTVp6T1NSQUFtUUFBbVFBQW1RQUFt
UVFFc2l3QTVJUzhvTnhvVUUKU0lBRVNJQUVTSUFFU0lBRTJqZ0Jka0RhZUFZemVTUkFBaVJBQWlS
QUFpUkFBaVRRa2dpd0E5S1Njb054SVFFU0lBRVNJQUVTSUFFUwpJSUUyVG9BZGtEYWV3VXdlQ1pB
QUNaQUFDWkFBQ1pBQUNiUWtBdXlBdEtUY1lGeElnQVJJZ0FSSWdBUklnQVJJb0kwVFlBZWtqV2N3
CmswY0NKRUFDSkVBQ0pFQUNKRUFDTFlrQU95QXRLVGNZRnhJZ0FSSWdBUklnQVJJZ0FSSm80d1RZ
QVduakdjemtrUUFKa0FBSmtBQUoKa0FBSmtFQkxJc0FPU0V2S0RjYUZCRWlBQkVpQUJFaUFCRWlB
Qk5vNEFYWkEybmdHTTNra1FBSWtRQUlrUUFJa1FBSWswSklJc0FQUwprbktEY1NFQkVpQUJFaUFC
RWlBQkVpQ0JOazRncHgyUXNySXk5ZDEzMzRVaVc3SmtpZnI4ODg5RG56Zm5nNGJHRFduKzRZY2Zt
aTNxCnRiVzE2cE5QUG1tMjhILzZxVTdoejdxbFMrdlA3YjNTVXEyKy9iYldYSzVZb2RXcVZkbys4
bzVKL0N4ZVhLZUM1SHRDbXVoa3laSTYKS2NlcDlPUXp5TysvcjFNVkZabXNvc0tNOHI5c1daMnFx
Y2xPWGxSWVNaNWxXejZqeWxOWm1aYjZKYk44SmM1bEJVZ0FBQ0FBU1VSQgpWSWxIYy9uNTRZYzZ0
WEpsN3BndldyUkl2ZmppaS9JZExJMU5VbHg5SENzZ2p4N3krUTNWMW1xcEV4djNmU2Fwai9LQkp4
ZHhkK09WCmEzbXViSjZUQUFtUVFHTUl4SFpBUm93WW9icDM3NjZHRHgrdWpqcnFLTld1WFR2VnAw
OGZkY1FSUjZnOTk5elRYRC84OE1OcTBxUkoKYXIzMTFsT1BQUEpJYUh3dXYveHlkZGhoaDRVK2I4
NEhEWW5ieElrVFZZOGVQZFRqanovZUxGRi85OTEzMVE0NzdLQk9QZlhVSmcwZgpEZGtUVDF5cDl0
NTdoYnJoaGxYcXR0dFdxUU1PV0tIMjIyK0ZHalZxcFJjWE5MNk9PMjZsT3YvOGN2RlRxUVlPTEZX
NzcxNnEzbisvCnZuR1F4TS9jdVRWcTZOQVZhdjMxbHd2djVXcjA2TExBVG93WGNKNVBMcjk4bFpU
anNyeUZndlR1di84SzlkeHoxZXJLS3l2VUNTZXMKVk5YVjBZM1luMyt1VStlY1U2NUdqTWlNRnpw
TFJ4MVZwcDU0b2xyOStjOFY2b29yS3ZJV2QxZHcwdktacER4Tm1sUWw5VXVKMUMrVgpiaEF0OWh3
TjRJTU9XcUdHRFZ1aDFsMjNSSjExVm5tajQzclBQZmVveHg1N1RMMzg4c3RxNjYyM1ZwV1Y0U3lT
MU1kSkkvVFVVMVZxCnA1MUtWVUhCTXJYYmJxWHFtV2VxdkZlUlRwUXRQRHY5OUpVSzVUQ0p5OWMz
OU82N05WSW5sa3FkMkREZVNlcWpKT2xyaUovR3h0MGYKWnE3bCtlWHptZ1JJZ0FRYVJVREh1QU1Q
UEZCLzlkVlhucStPSFR2cUUwNDR3YnYrMjkvK3BxVWhicTRIREJpZ3I3MzJXdStaLzJUeAo0c1g2
czg4Kzg5K092VjRsUStZeTZoZnJMOHBEbkl5R3hrMDZYWHI4K1BGUlFlZjEyWmxubnFuMzIyKy92
SWJoQ2wrd29FWnZ0TkV5CmZmenhaYnF5c3M1N1ZGZFhweSs2cUZ4dnNVV0pkKy9JSTFmb1F3OWQ0
VjFYVmRYcDdiZGZyaDkvdk5LN0YrZW50TFJPRHg5ZXFxZE8KcmRRLy9WU3JMN21rWEZyaVMvV1ZW
NVo3TXZKOXNtcFZuWlMvS2krWXhZdHJwUnpYZU5lNVBDa3BxZFBycmJkTVQ1OWVIOTdCQjVmcQpj
ZU5XaGdZRFJpKy9YS1gzM2JkVTc3Nzc4alIvZUxibGxpWDZxYWZxbVE4ZXZGeSsyVlZwL3ZKMUVW
YytzeWxQQXdhVVNQMlNuM3ozCjUzRmplTlRXMXVuYmI2L1FTNWJVR2pGVHBsU2FNdnUvL3pXOHpN
aHNodTdTcFl1V0dTVWo4L1hYWDgrSW9yK09pNnVQTXdSRTNFQjUKd1hmMzZLUDE1Y2g2cjY2dTB4
dHV1TXhlSmpybTh4czY4OHlWVWllV0pvcUgzMU5jZlFUL3VTd3IvdkFiRTNlL0xGem5XbDVRR0x4
SApBaVJBQWcwaEVEc0RjdDU1NTVrWmo3QmV6dGl4WTgxb0hKNFhGeGZMU0ZoQm1GY3pXOUN2WDcr
TTV4THhqSHYyUm5WMXRZeWlINmRlCmZmVlZleXZSMFpXWlJBWm1NcktOR3lJU2wyWWIyWnFhR251
YWNYVGptdkV3NUlZMCtNMlRvcUlpVlZnWW00MGhVcks3amVuODQ0OWYKS2VFcE5YRmlaOVcrZlgx
ZUk5K3Z2YmFqMm1LTGRwN1FUejZwTXlvemR2Uyt1TGhBUGZCQVoxRWZxYy92T0Q5dnZsbWo3cnV2
aS9yTgpiOXJMREVpaHV1YWFqcEpQaGVxTk44SjUyZ2cwaEt0OTF4NFJkOHppdlBwcWZYZzllaFJL
SE9yVGFmM200amgxYXBYNjVSZXQ5dHFyCnlCTzN6ejdGNnA1N0trTkhsOWRZbzBCbW80cFYvLzZG
OHYxNXI1bVRSeCt0VXRMdlZ5TkhGbnNQVGp5eGc3cjY2Z3FGL0l4eVVXVTIKNmowOFMxSStzeTFQ
S0QvKzlBWEZJMDdOekY4dWd2STRTRzdTZTZLVnFjYU83YURXWGp2MVhSNTBVTEZhWXcybGV2YjBa
VTVTZ2VMdgpndzgrVUZWVlZkNjNQbmp3NExTM2crcTRwSFZUbXFDUWkrN2RVM0czUjlkYlVWR0J6
RHBrOXozazR4dVNNUkFUTGFrU1RSM2x4akhwCmVWeDlGRlZXNHNwZFZCemk0cDZ0N0RoNVVYSGhN
eElnQVJKb0NnTDFyWnlRMElZTkd4YnlKSFZiUnVYVUhudnM0ZmxCd3dQcVRBOCsKK0tCYWM4MDEx
YlJwMDB3SDVxZWZmakxxV1U4KythUjY4ODAzamYvSmt5Y2JYZWJTMGxJMWRlcFVhVlMrNGNteEo3
ZmVlcXQ2K3VtbgoxUmRmZktHKy9QSkxkZGRkZHlub050OTQ0NDNxdmZmZU0rZDMzbm1ucUFic0Zp
b3pTQWJpYlYxRDQyYmZMeTh2RnpXajgwMzZldlhxCnBmNzV6MzhxR1gwMGoxOTQ0UVUxZCs1YzB6
RkRHcUcydGMwMjI1aG5ZZWxmdUhCaGFQcHNXT3V2djc3NjhjY2YxVWNmZmFSa1ZzcEcKSmVNSVZo
ZGRkSkhxMEtHRDRiZkpKcHNZMlowNmRWSno1c3d4OFVHY0VkL3JycnZPZEtpZWUrNjV3RTduODgv
WFNGcHFSWVdubzRTWgoyWmdxTEN4UUR6L2MyWXZEMFVjWHEwc3ZYU1hxVTJWcTh1UXVva0pUcUhi
Y3NjajhXVTl4Zmc0OHNMN2hqSGZRMGRscXEzYlNHY2tNCjM4cWNQTG5LZEhLZ3g0MEcvUnR2ckdr
ZUxWeFlKMmxmSmVXbVZzcU5WbmZlMlZuS1Rlb1R3TnFKYTY1WkpXVzJRTTJiVnlQcVlrV1MKcHgz
VnJiZFdTdm1ybHZKWEoveFF0anVxZi8rN1dqMzVaSldVNDVSY3lMcm9vZ3Bockl5ZlRUWXBsSEE2
cVU2ZENvUnh0VEN1VkwxNgpGUXJqZHNKNGxUQldvbDdWVlJobk50b1dMZExTZUZlcVhDWjZ1blpO
cFhIWFhkdkoyZzJsL3Z2Zld0TUpzK2xNY29RYUZ6cHN5QnZyCmNQM0REMXJObjErcmR0a2xzd29J
SzdOSnlrczI1VFBiOG9UNGc4M2xsMWRJL1ZKcDhtcmF0SHFPTDd4UWJjb25PaW5JOTRrVHU4aTMK
MWs3Tm5sMHRuZGhLdGZubTdZd3EyNE1QVmtubldhbjc3KzhpcW9QRkdYbDgxMTJkVGZrSUtpc29H
OGpQZGRZcGxQeFY1dDFubisycQpCZzJxNTRneTVEcDBIdSs0bzdQYVlJUHdnWUtvNy9UZWUrOFY5
YmtucEF6VXFEUE9PRVBDN2FSdXZ2bG1Od2lKUjJZOUNROWg5VEdlClJkVXplSjZOYzh0WFhKbkhP
cDlISHFsSys0YkN2ai9FSWVyN3duTjhLK2VmWDJIcWhCOS9ySk02c1U3cUp6eEp1YWp2M3ZxeHg3
ajYKeUY4Zm9LeTg5VmFxWHZTWHV6Z09DRE11N21GbE9xd2NvcnhIc2JEcDVKRUVTSUFFbXAyQWpB
Wm01ZndxV083TDIyMjNuYWpZYks5bgp6NTZ0WlRHNjd0Ky92ejc1NUpPTkYxazhxVTg3N1RUZHMy
ZFBjeTBqZG5xWFhYYnhYai8zM0hNOTlRTHY1cThudlh2MzF0STRObGZ5Ckk2d1BPdWdnTFowVzQx
OW1ZUFE2NjZ5amx5MWJwcU5rdWpMODhoc1ROMm04YTlISDF0SkpNbXBpQ0tkdjM3NG1McUtqTGVw
S0czbnEKWTFkZWVhVSsvUEREVGZCaGNZMUtIMTQ4NUpCRHRPaUJHeGxReDlod3d3MzEwS0ZEelhY
UXY3MzMzbHZMR2gzelNFWlE5YUJCZzdTcwo2ekhYUC8vOHM2aE1iV0h5U1RxSytwdHZ2aEYxblMz
MUthZWNFaVJLMzNRVFZrUXYxUTg5bEV4OVovbnlPcU1XaEhkNjlsd21qRExWCk41TDRjU01qRFNx
OTZhWWwrcjMzcXQzYjNqblVRWGJacFY0TjZkeHpWMG81cWRNMU5YVlNia3FsM05TWjY3Rmp5NlRj
TEpOeWsxSnAKZ1pyWG0yK21aTTZkaXdVWFM3MHdldmN1a2ZLWFV2MVp0S2hXeW5HWlNZOE5kTys5
UzRWeGlnblV6QVlOV2k2TVU2cG5QLzljYTlUUwordmN2MGRPbVZRcmpHcU1TZGNvcFpmYjF0T1A4
K2Ftd1o4eW9WOEY2NTUzVVBid2Y1UkF2cUZlNWJ1REE1WHJZc0hSMUZMQkQrcDU4Ck1sTmVWSmxO
VWw2eUtaL1pscWZ0dGx0dVZQaG16NjZTK3FWV3ltMkoxQzhwamxBSGhHcWdWWldEaXQ3aGg2Znk0
T3V2YS9TNjZ5N1QKZmZxVTZGZGZyVGJxYWxBRjNIamplclVoTjQranlncktTUGZ1eS9RT095elhU
enhScVZHT3d0VHhrUGUvLzMyWkxpeGNxbVY5UkpySwpvcHRIT0kvNlR2Rjh5cFFwSXFjUXA2SE9Y
OGRGMWNkeDlZdy9FS3RHNXFvR3VuNXNlY2U5dURJZjlBMUZmWDlSM3hmQ08rU1FGVkluCnBzb3l2
bldvZ3cwZG1pcnpVWG1KZC8wdVNYM2tscFdvY2hmSEFXRkh4VDFLZGxnNWpKTG5UeXV2U1lBRVNL
QTVDWVFQeVRXd2E0UkYKNi92dnY3K00rUFpTUTRZTThTdzBTU2RCYmJ2dHRrb1NheVNYbEpUSVl1
VDMxZlRwMDgyMU5IcTlaMEZCVzlVdStTRTIvcUNTTldQRwpEQmxWM0VCVVZuNVJyN3p5aW9xVGFX
WDQ1VGMyYnNjZmY3eW91SXcwNmIzaGhodVVySm1SVWRmWlpqWmgxS2hSU2pwbEpraW9lWDM4Cjhj
Zm1QQ3l1VWVsNzY2MjNEQzg3S3dYVnE0TVBQdGlmSE84YWZGNTc3VFYxOU5GSG0zdFF5Umd6Wm93
c0luM0d6RUxCYU1CbW0yMW0KOGdYNXR1bW1tOHBDOHYzVXA1OSs2c2x3VDdCQUU2NW56MlRGQmlQ
Qnp6L2ZWVjE4Y1VjbC9VTlp1TDFTWnJCV3VTTE5LSGFjSC9jRgp6RDRjZkhDeExJcXRIM0YybjVl
VWFMUElmZnIwYW5QN2xGTTZTSGxSYXNxVWFuT0VLdFdNR1RWbU5CcXFUcSs4VWlOV2hhck5iQUJt
Ckd1QjIzcmxJVFpqUVdYalVwOU9XSFl4OGI3dHRPeU1MZm1mTXFCYkdOY0pZaHRURlFVMW96SmdP
d3JoYUdOZVlXWi9OTmt1OU0ySkUKZTVIWlRoZ1hDK01VUy9PUzgyK0hIWXBNdUhmZFZXbFVwS0R5
TVdWS2F0RXZabjZ5ZFJoWlJweGNaMVhuUkxzeHc2R01oSlhadVBLUwpiZm5NdGp3aHNpTkdGRXY5
VW14bWxJWU1LWmI2SmNVUnMwcWpScldYYnkzRnFFZVBBdm5XVXNZT2V2ZHVwemJldUZEVStJckZj
RWFSClVWZDc3TEV1b2g2b1BUK1FiZk00cXF4Z3hneXFiZ01HRktyREQyOHY1YVJMcURvZTJFUDk2
cEJEaXRYZGQxZWEyVGVFNDNkeDM2bmYKZjlTMVRZUDFFMVlmUjlVejl0MkdIakhUR1ZYbS9kOVEx
UGNYOTMxaDlnSGYrckJocWZvQU16R29INnlMeWt2cnh6MG1xYlBnMzNLTwpLbmR4SE9MaUhpVTdx
Qnd1V2FJaldianA1RGtKa0FBSk5EZUIraFpXam1KaUsyYUlnL1VzcUJaWWgyZjJ1Y3lFbUlZT0d1
NVFLNURSCk8yTlJ5L3IxSCsxN1VOOUNRNzY5NkZEZ0QrcGZzMmJOa2tianp0SXdqcFpwWmZobDQ3
b3hjVnRycmJVOGtWWVZET2FHSWZQMjIyODMKSFNPb2pNRjZ6WW9WSzR6ZnNMaEdwZStsbDE2U3hr
OS8xYTFiTnkrOHJsMjdla3k5bTcrZXZQUE9PNklxc283cENObG5NZ05pVHVmUApuMitPYnJweFl3
MVJWcGZGck9hWi8xL3YzcW5pWWh1Ty91ZEIxMmo4WG5kZEovWENDMTBsTGdXUzF4VmlOYXplaWc3
ZVNlSUgvbVNCCnRtbU1qeDh2dWk4aERwMmpVYU9LcFVOWUptR1ZTN2txbEhKVllEb0QwRHVINmcz
Kzl0aWpTTXBOVjlQWlFDZGs4T0NpTkk3UTRZZC8KNnlRclBaZGlscnA4NTUwYWt5NjNrVDlvVUtv
UlBIOSthdDBJM25YZngzcUFJRlBFTm9Dbm51b2k2akYxb2pLVXN1YUROVFBRR0xUOApyYjhrUjZ5
Yjhac3V0bVpob1lybGQxRmxGbjZqeWt1MjVkT21KNXZ5NUhMRWVnU281OWg0M1g1N1p5a2oyalQw
WDM2NVJyNjExTFBVCmN5WGx3SGcxLy9yM2J5ZjFVNEZSejdKM3JXeDBITVBLQ3Z4Q3RRNk42RGlI
anMvbzBlMFY4blBvMENKamhTem9uU1RmYWRCN1FmZVEKUDY1enI5MzZPS3FlY2Q5djZEbWk0VWJG
WCtaVDVTZ2xQZXI3aS91K1hucXB4blFJdTNXcnp3K29MdHF3NC9JeUtIMUo2aU1ySCttSQpLM2ZX
TDhKeU9jVEZQVTYydnh6R3lRdEtLKytSQUFtUVFITVJDQjVHYnFMWXdGU2txQkNKaWRiYlJPOStu
cG81YzZaWk54SVZ2RmlyClVsaDRmY0FCQndSNmE0ak1JRUVObFlOWkJEVGk4UWVITlIrWWhiai8v
dnNWZExuUjJMQXVLSXlvOUgzLy9mZXlvSGl4ZmQwN3VvME0KNzZhY1FCOGYvdEVKUkVjRkRyTlE0
TGR5WmIyNVhQTWd3VDg3QXI5Z1FiMFozYkRYdnZtbTFqVGlzRUFhRGd1cC8vT2ZydEx3WDJFNgpJ
RWNlMlY0bDhlUEt4M3FTVzI3cExHc3QwaHRacmgrY1Q1clVSY3BWaFRIOUMxM3BtVFBYRUE1MWt1
NENvL1B2OTQvRy9vY2Z4cWZKCi94NnVvY09OUmQ1b0NOczFHNWdod1VMWUJpQTJRV0FXNUsyM1V1
dExjR1BRb0ZKMTJta2QwdFp4R0k4Si9tSHRDV1pvWEdjYjdXRUwKNmFQS3JDdkhmNTV0K2N5bVBQ
bkRDcnJHMmd5azlmNzdPOHUzVmlEZlduU2V3cGdDeW9UZlJaVVZ2OThrMXhpVngrek0rUEhCSGZ0
YwpmNmRKNGhSVnp3UzlqM1ZOY0dBVDVOek9YZER6cUh0UjMxL2M5NFc5Y3ZEOStaMXQ5R2VUbDlu
V1J6Yk1iTXVkZlM4dTd2Q1hqZXdrCjhtellQSklBQ1pCQWN4T29IelpxNHBpSVBybkNwbHBpd3Rh
b1VzSEtDMnpjaHpuYnlPNGplNUJneHNNZHBZZGFGMFpmNDJSYUdXRmgKMlB0eGNxeS9vQ01XaG1P
V1k4Y2RkMVFMRml4UTQ4YU5Nd3RHb2RyaXVyQXdvdEtIemhyVXpjU1VzU3NxOUJ5ekpkZ0lEdnN4
V0FmbQpXTXhxRjhuYiswbU8rKzlmWkZSY0huaWd5c3hHQkwxanJiVXNYS2pOL2lDdUg4d3lZTlRi
YmlhWHhJOTkvK2FiVjZtVFRtcHZWRy9zClBUUmMvQTc3RUdBaDkvanhuYVZjZFJYclFiVlNycXJN
Z3U5WnM2clRaaDVTNWFiYXFFVjkvamtXbWRjM1dQSE16bUFnRE51ZzhZZUgKa1hSQkxJenJHL2tJ
SDR2R29hYlRXUGZ3dzVXaXJsVnIxTmdhSXV1d3c0cU45U3hZbkxJTzhyYlpwbEJtVlRJYjMxRmwx
cjRmZHN5MgpmR1pUbnNMQ3RQZlJLUjQzcmx5K3RVNFpLbWZXajN2ODdMTmFCWldWblhhcW54YXhl
UXpqQUdGbHhaV1J6VGxrdXd2VjNYZHorWjBtCnJlT2k2aGszYnZZY25XcDBNcXpLbTcyUEl6WVp0
UjBVOTM3U2M2Z2xobjEvY2QvWGhoc1dHS3R4eU04Z2wwMWVabE1mMmJLU2JibHoKNHhnWDkyeGx4
OGx6dytZNUNaQUFDVFEzZ2F4YVNMQ29BbE9RWWJ2d1lpUVBmOVpWVkZUSVRzNzFtNTdoR2E3UnVN
UE80N0FDQlNkNwpqYWhERHozVUc2VzM3OXNqVkk0d3Vnb0huV1pZYjRINVgxbDRiam94VjE5OXRl
aGg5NHVVNmNyQWUzN1gwTGhCRGhyNTFzbCtKV2F6ClJhejd3SG9QTUVPakRuNmdnb1dPRTlLUEVj
aWc5Qjl6ekRHaDZSczllclNadlpnd1lZSU56cXl4Z1N3M0R2YmhrVWNlYWRiaW9NTm0KSFN4eW9j
R0RqU1hoa0orSW8zWGdFQ1FMenpHU2UvdnRuWXdsb1RGanl0TlVYUEQ4NjY5cjFRVVhWRWpqVzZ1
K2ZRdWxFMUFwbmFWNgpOdWdjWUpUTzZtZ244UU81RHoxVWFkYVFTRlNOeFJtWTRMM3p6bFV5YTFZ
dkcvN2cwS2lFRlN3NFdOQTY5TkQyWm1iaW1HUGFDMWN0CjVhWmNaS0dUVWllbWFGY1ovZjNSbzR1
TjFad1RUeXczYXdLd2R1RENDeXZNdWdISTZkYXR3TVFiNTNnWG83TFE3MGMrWWlhblY2OEMKYWJE
V2QwQ3drU0RXQ1F3Zm51cDBJdDRPWW5rZlpRYlNvaDNZWFh2dEt2WG9vMTNTMU1IRXRvR290VlY0
Y2JKU3NDK2RHdzd1WTgzRQp1dXNXbWpVdzF0K2NPVFhTT2F5M1ZtYnY0eGhWWnBIZXFQS1NiZm5N
cGp3aGJ1Q09QK3VRQi9pRFE1NGg3V2kwb2JQMThzdXB6aWJpCmpEODRsQTNyd0FDbWpuZmROVFVK
N09ieGlCRkZvV1VGNzZOemFjTzE4dHdqNHZqNjZ6VmV1SWdQMWpMODVTK09hU2JuaFNUZktTd0YK
NGp0MTYxZEhoRG4xMTNIdzYvcDM2K09vZXNZdkY5ZWRPOFBVTTlUSVlOYTV2cjZBdVZlVTBXT1BG
YjFHeDhXVmVmY2JpdnIrNHI0dgpxTGhodG5IQ2hQcE5HYkU1SW1aRndEM3F1M2VpYTA2VDFrZHVX
Y0hBUTFTNWkrSVFGL2U0TXUwdmgzSHlrRWhzWGdscmgvYjMxTStBCjF5UkFBaVRRWkFUa3h6bVIr
L0RERDhYaXkxajhnbXRaODZDeEFlSHk1ZlVXZDhSTXBMSFNzdFZXVzJsWlg2QkZwVXBqSXl4Ujl6
RVcKb3Q1KysyM1pKRzEzOHo0MjdvTWZXUUJ0TmpFVTg3U3kwZG80WXprcUtES1hYSEtKbHBFOUxR
dW90WFErOU4xMzM2M0ZyS3k1Qnd0WQpZdHJYdklZNGhzbjB5M0REYVV6Y3JyamlDaTFxVFZvV24r
dnJyNzllbjMzMjJjWkNGK1NMbXBOWXk5bEJpL3FUUHZIRUUvV3p6ejZyCk8zZnVySTg5OXRqSTlJ
ZWxEeklmZmZSUkxlcGRocTNzVEs5bERZMVlQaHBzN3VPNTN5RWZrQ2MzM1hTVGJHNDNYY3VDZEMy
TlRPTk4KT2tSYUdpM0drcGJvaEdzeENxQTMzM3h6dy9iNTU1LzNpL0t1WWZWbm4zMUt4ZHBYeWdy
UitlZW5OdjY2K09KeXMwbVg5UWdyUlVPRwpsR3BZb29JVktWZ2VPdlhVTWcxTFVkYkYrWmt6cDBv
WEYyUGprUFEvV0xxQmhSdS8rL0RER2lrREpXYWpQV3hlaUEzOFlCa0w3dTY3ClYwbmFsa3E1V1dv
c1lMbFdvSEFPcTFnSUIxYTJYbnV0M3NvV05qL0VPMlBHbE9ubm5xczBtLzNCMy9qeEZjYXkwYng1
MWNLNHhGZ0oKZzVXZ280OWVJWXhUbTg1aGc4QnUzWllaeXp5d1hQUCsrOVhDdU1URTQvbm42eTFk
dWVtUUVXVjkxVlhsK3FTVHlqUTJiUE03Yk42SAorRmhyWk5nWTdaRkhWcGt3a0w1Ly9uT1ZYcnEw
L3IydnZxb3gxblp1dWFYQ01JRDFxVEFYVldaaDNTNnV2R1JiUGhHUEpPVUpGcWRnClRRcWNZU2tN
ekxFeFlWSFJVbU5kYmVYS09tT1pxbXZYcGZLdGxjbTNWaVhmMmxMNTFsSWJac0l5R2l4WFhYWlp1
V0Y3NElHbHhscVQKNWVEbThjS0Z0YUZsQlJ2eGRlbXlWRyt3d1RJOWVYS21GVEhJQTIrVUpYd2Yr
Q1pRQm0xNXNPSDVqMUhmcVN6dTEzdnR0WmVwTzhYYwp0eFp6NVA3WHpiVmJ4OTEzMzMyUjlURmVp
S3BuZ2dLQUJibVJJMWZvZnYxS3pMZHd4aGtyOVdHSHJkQ3pacVdYNDdneS8vYmIxUm5mClVOVDNG
L1Y5SVo3SWt6WFdXR3JLdzFGSHJUQnhoRFU0dTJsaTFIZnZUMmRjZlFUL2JsbUJoVFdVcTZCeUIy
dHRjZDkrVk55anlqUysKL2FCeUdDVVBjWmZCTVBPNytkQkREK0dTamdSSWdBU2FqVUFCUW02eTNv
NFRFRWJ6WU1VSjFxQ2dudVR1eStGNDgwNHh5bytGMjlaaApKRlpNL1lyNnpLWm1WZ0QzNDJUNlpW
aFovbU9jSEw5L1hFT2xDdkhEK2dxL3c4Z2piUGZEWWNNd3BEY3VqS0QwV2JtWW9jQXNEc0xECmpF
clVQaUI0QjFtTWZWVEFHMWF2Y3VXd2tCcWpkTkNqeDRKbS85NGdXUHlNemRndzJ2bjExM1ZHVGNP
dUNiRnhTT0xIK2sxeXhJZ3MKUnRheFlCMkxTZjFxUm1LSjJLaUF3Y0tWWC84Zm5LQStCZXMxZm9k
UjN5anJYeW5HS05OS0dOZXI5ZmpseEYwamZoZzl4ejRrZGsxSgowRHUvL0ZLWGFDRzAreTVZWStG
MUVqV2RvRExyeW9vNno3WjhXbGx4NWNuNml6cGlaZ0tMYytGZ1Fjd2FCeGc0c05TTTRGOTlkU2RU
CkhvTVdrZnZ6T0txc1JNWEJQck5sMjE3SEhYUHhuU2F0NDJ4Y291b1o2OGQvQk5mUFBxc1RTM0lG
M21hTGZqOE51WTc2L3VLK0w4eDIKd05JZXZsR1VJMzlkbERRdmJaNUYxVmxJbTcrc2hKVzdKQnpp
NHA2dDdEaDVVT09GY1JJNkVpQUJFbWhPQXMzV0FXbk9SRFBzaGhFbwpLTWhVWFd1WUpMN1ZVZ2hv
M2IzWm9ySzZscWZtWk42UXpGNWQ4NmtockZyeU82MnQzTFZrbG93YkNaQkE0d213QTlKNGhwUkFB
aVRRCmdnbGdWbXpqalplYldhV25ua3BaZzJ2QjBXWFVTSUFFU0lBRVNLRE5FMkFIcE0xbk1STklB
cXMzQVJneGdQRUR1TDU5MjZuZi9qWjkKd2ZUcVRZZXBKd0VTSUFFU0lJR21KOEFPU05Nelo0Z2tR
QUlrUUFJa1FBSWtRQUlrc05vU3lGeHR1OXFpWU1KSmdBUklnQVJJZ0FSSQpnQVJJZ0FUeVRZQWRr
SHdUcG53U0lBRVNJQUVTSUFFU0lBRVNJQUdQQURzZ0hncWVrQUFKa0FBSmtBQUprQUFKa0FBSjVK
c0FPeUQ1CkprejVKRUFDSkVBQ0pFQUNKRUFDSkVBQ0hnRjJRRHdVUENFQkVpQUJFaUFCRWlBQkVp
QUJFc2czQVhaQThrMlk4a21BQkVpQUJFaUEKQkVpQUJFaUFCRHdDN0lCNEtIaENBaVJBQWlSQUFp
UkFBaVJBQWlTUWJ3THNnT1NiTU9XVEFBbVFBQW1RQUFtUUFBbVFBQWw0Qk5nQgo4VkR3aEFSSWdB
UklnQVJJZ0FSSWdBUklJTjhFMkFISk4ySEtKd0VTSUFFU0lBRVNJQUVTSUFFUzhBaXdBK0toNEFr
SmtBQUprQUFKCmtBQUprQUFKa0VDK0NiQURrbS9DbEU4Q0pFQUNKRUFDSkVBQ0pFQUNKT0FSWUFm
RVE4RVRFaUFCRWlBQkVpQUJFaUFCRWlDQmZCTmcKQnlUZmhDbWZCRWlBQkVpQUJFaUFCRWlBQkVq
QUk4QU9pSWVDSnlSQUFpUkFBaVJBQWlSQUFpUkFBdmttd0E1SXZnbFRQZ21RQUFtUQpBQW1RQUFt
UUFBbVFnRWVBSFJBUEJVOUlnQVJJZ0FSSWdBUklnQVJJZ0FUeVRTQ3JEa2hwYWFuNjl0dHZUWnhX
ckZpaFZxMWFsZS80CnBjbXZyS3hVYjd6eFJ0cTl0bnl4YUZHZGV2SEZhclYwYVYxZWtsbFdwdFYz
MytWSGRsNGlUS0dCQkpZc3FWT2ZmMTRiK0l3M0cwYWcKdHJaV2ZmTEpKdzE3dVJuZllwM1JqUEJY
ZzZCYlcxMlR6L2pXMW1xcEkzSlQ3L3BsNVRQZS9tTGFsR0ZWVm1wcHc5WDRvNUJ4bmU5NgpMQ1BB
UnR4b1NuNk5pS1o1MVYvT0dpdXZzZThuNm9EODhNTVA2cmpqamxQbm4zKyt1dTIyMjlUQWdRUFY3
cnZ2cnQ1Ly8vM0docC80Ci9iZmZmbHZ0c3NzdWF0U29VWW5mYWMwZTc3bW5VajMyV0pWNitlVWF0
ZlhXcFFvZmJpN2RwRWxWYXIzMVN0UWpqMVRtVWl4bE5RT0IKeXk5ZnBRNDdyS3hCSVQvelRKWGFh
YWRTVlZDd1RPMjJXNm1hT2JQYXlNRVB3Si8rVkc3dUZ4WXVVMy81UzRVcUxkVnF4SWd5MWIxNwpp
Um8rZklVNjZxZ3kxYTdkTXRXbnozSjF4QkZsYXM4OVM4MzF3dzlYcXFlZnJsSjc3SkdTZStxcEsw
UGpObTVjS295dHRscXVIbis4ClNrMlpVcVVHREZodXdoMHlaSVdhUFRzVm4xQUJlWGp3N3J2dnFo
MTIyRUdkZXVxcGVaQ2VQNUdzTS9MSGxwSlRCQnBUMThReGZPcXAKOUxvSWRaTjFhT2lqdmtFOWRm
cnBLOVhQUHljYk9NdFhmTjk5dDBicWlGS3BJOHB0RkJ0OERKS1ZyM2dIUmJLcHducjc3UnBwdzVW
SwpHeTc2dHlyZjlWZ1FnOGJjYXlwK2pZa2ozZzBxWjQyVjJlajNkUUozNUpGSDZrTVBQZFR6V1ZW
VnBiZmZmbnY5K09PUGUvZWE0dVRtCm0yL1c2NjIzWGxNRUZSckdxbFYxK3NVWHEwS2ZKM2tRSjZP
c3JFNTM2YkpVMTliV0dYR3Z2MTZkUkd5c0gzKzRBd2FVNkd1dkxZOTkKang2YWhvQS9mNUtHdW5o
eHJmN3NzNXFrM2pQODNYUFBLdW5kTHRXVEpsVm1QT3ZaYzVuZWFxc1M3LzZCQjVicXI3NnFENnRq
eDZYNgpoQlBLdk9kLysxdUZuamh4bGJsKy9QRktYVkN3Vk1QUEw3L1VlbjdzeWZMbGRYcWpqWmFa
c0crNG9jTGUxdGRkVjI3dXpaelp1Ty9NCkU5aUFrelBQUEZQdnQ5OStEWGd6ODVXRzVxc3JLVTRH
Nnd5WDF1cHpIbGN1Y2syaXNYVk5YSHhRZDZBdWV2VFJ6THFvdXJwT2I3amgKc2pnUmFjL3pHZDh6
ejF3cGRVUnBXbmdOdmZETHltZTgvV1VtbjJINWVkeDhjNFcwNGNMek1GLzFtRDhlMlZ6N2VmbXZt
NUpmTnZFTwo4dXN2WjBGK212SmVvaGtRcUNKODk5MTNxcm82TlJwWlhGeXNIbmpnQVZFTld0cm9E
bENZZ0pxYXpHbTY5dTNieXdoSVFjWXJBaXpqClhrTnVCSVhweXFtdTFqSVR0Rks5K21wbTNGeC8v
bk0zZmtsa2ZQQkJyYXFTd1ovQ3dsUmFCdzh1OG92TStqb28zT0xpQXVHWnRhakkKRjl5MHVoNXJh
bktUUjY3TTFuenU1eFNVUHpaOWZyLzJ2ajMyNkZHbyt2VnJaeSt6UG5icmxpb0U5dWdLd0QzMy9u
bm5kWlFaai9Ddwp4bzd0SUROMnFlZmR1eGVvUXc0cEZsVk5wU1pNeUp4cGUvREJTblhra2UxTmNH
NFkzYnFscXFXMTFtcFk0WXo3anQzMCtjL3I2bElqCnEwVkZSZkw5eFZlUGNXRkY1YXMvYlBmYXpm
TWtNbGhudVBUYTVybGJKcERDcUhMaDk5dFFJbjQ1RGExci9ITEM0b002QTg0ZVhYOUYKUlFVeTZ4
QmU5N2grN1hsRDQydmZEenJXMWFWK3k2U0trRG9peUVmeWUyR3k4aEZ2eENxb3pPUXJyS0RmZkdu
Q1JiWTU4bEdQSmM4TgpwZnh4OXZQeVgwTjJRL2tsL1NheWlYK1kzN0J5RnViZnZaL1BlQ1pxMlI1
OTlOSHEwa3N2VlVPSERsV1RKMDhXMVozMTFJNDc3bWorCmJFUVhMbHlvYnJ6eFJ2WGVlKytwc3JJ
eWRlZWRkNHBLeDI3bWNkUXorNzQ5dnZEQ0MycnUzTG1tb3pGMTZsUTFjZUpFdGMwMjI5akgKYVVm
RUJaMGdyRTJCWDdzK0JPRmZkTkZGcWtPSER1ckxMNzlVbTJ5eWlZbGJwMDZkMHQ2M0YwbkRrZmFm
SWdBQUlBQkpSRUZVdlBWVwpxSlpVcXkrK3FCTzVkZXF1dXpwTFdyWElYaVhwcmpYbmQ5N1pXZEtk
d2pwNWNwWEVUeHZWbGFsVHF5UithNm9nR1YyNjFEZTA3cjIzClVqM3hSSlY4Q0VxZGNVYTVRcFJ2
dmprVnprVVhWVWlhbEFsN2swMEtKZHhPOHJ4QXpadFhJNXdxMVRyckZCci9DT1BaWjd1cVFZUHEK
c3pjb1hLUWY3YTNMTDY5UWFBeXV1V2FCbWphdHE5ZkFYTGl3TGpSdGxwMDlCcVVWejE1NG9Wcnlz
OVpVT21Bd2NXSVh5Yzkyd3JCVwpZYW9WNlJ3eXBFamlzRXJVZDVTNjQ0N09xbXZYQW5YVlZSWHE5
ZGRyMUIvKzBFRmRja2txMzdLSlQwV0ZWdGRjczhxa0NYd0dEaXdTCkZjS09KcnJJc3pDV2MrWlVH
NWE5ZWhXS0tsQTdkZDExcTVUMHQ5Vnp6OVZ6aVpJZEZrZW9FdDEzWDZYYWZQTjI1a2Znd1FlckZD
cmoKKysvdm9nNDRvRGl3WER6ekROYi9wSmNmeTlzZWYvcXBUdFRvcXRTVFQxYXBOOTljVXlXSnYz
MjNJY2Rod3dSR2hFTlozbU9QK25LMwovLzVGc202c1R1cURTblhoaFIwbHphbXlqa29OMzlMbGwz
YzBhWThRbWZoUjJIYzhaODRjVTQvMDZ0Vkw4blNBNU9sMWtxZkZrcWZQClNWbnZZK1NYbDVjYkZk
UDExMTlmL2ZqamorcWpqejVTSFR1bXlrdFFCTUxDOHZzTit1NVlaNlFvc2M1SWxhK21yalBBL2J6
enlxVU8KN0NqMWEwZWo2bnZGRlJXbUhwNHdvWXZKbktDOGFVaGRVeTZUbVJkZVdLSFdYYmRBdmZa
YWpWcDc3UUpwTnhTcHdZUGJxYjMyaXE1TAovTjhTcnUyZ0hNN2o2anAvZlBGT1ZOMGQ5YnVBZDVH
Vzg4K3ZVT3V2WHlCMVJKM1VFWFZTUitCSnlvWGxvMzN1SHFOaytlTWQ5dnUrCjZhWm9Bd1MzUGNM
UzZhK1BVUC8rKzkvVjN1OEg0aGpGSVk0NTNnLzd6Y2V6S0plcnRzK0VDWjBWMUwyeWFWdUV4ZG5Q
YTRzdEN0UGEKZ0g1K1NmaGsrMDJFNVNWWVJ1VVZua2VWTXp5UEtyTkJkUURleWFtVGhrQ3NXNzU4
dWQ1MzMzM1I3ZGM5ZS9iVVR6LzlkTm83TWdxbwpEenJvSUMwZEFWRWJxdFZqeDQ3VjY2eXpqbDYy
YkptT2VwWW1SQzVra2Jtb1pHd2tLazR2bWtkWFhubWxQdnp3d3oxdnQ5OSt1NVlHCmdybVcyUmd0
YTBLOForZWVlNjRKR3pmMjNudHYvZkRERDV0blVCY2JOR2lRSGpGaWhPZlhQWWtMMC9XTDg5NjlT
NHlLQ001cmF1b2sKM2FXUzdqcWpMalYyYkpta2U1bWt1MVpqdW5pWFhaYkRtM0hubnJ2U1U2bHla
ZGpuN25IS2xFcGRXTGpVdlNWcEtwVTBwVlJicXFycQpKRTNMSlUwcmpKODMzNnpXM2JzdjB6dnNz
RncvOFVTbDhDOExWTW54aDd2ZGRzdEZsVzY1bmoyN1NuLzNYYTN1Mzc5RW4zeHlTcDBtCkttMXBF
Wk9Mc0xSV1ZxWlViS3pLMnBWWGxrdCtwdUw4eFJjMWVzY2RsK3MrZlVwTW5Ndkw2L1NSUjY3UW0y
K2U0b3RwelN1dUtEY3EKUEV1WDFrYXk5c2NIMThPSGwycHdnWnM3VjZhdVpGci92ZmRTMTFFc2Yv
NjVWbSt4UllsaE1XMWFwZjdtbXhxOTVaWWwrcFJUNnRXTQp3bVJITWZ2NjZ4cTk3cnJMVEhwZmZi
VmF2L3d5MUJpWDY0MDNycCtPZHZNbmpLbEprUE52MGFKYWZkcHBaZkpkcHVRa2liL3p1amxGCmVR
T2ZXMjZwMEcrOVZaMzIxNnZYTWoxNGNIMDU5ci9yVjhGeW42TmMzWHByaGI3dnZwUmF4WU1QcHNv
di9FQzlDcXBXYjd5Unlwc0oKRStxZjNYVlh5ai9pa3RSRmZjYy8vL3l6NU9rV2txZjk5YlJwMHlS
UHY1RTgzVkx5OUJSUC9DR0hIS0lmZSt3eGM0MDZiTU1OTjlReQo0T0k5ZDAraXduTDkyWE0zWDZQ
S1NGU2V1ektzWFBmSU9xTmNzODRJLzgxeHl3ck9vZnJvcXQ5Q3RSTDFMMXhZT1d4SVhYUEhIUlg2
CmozOWNhZVIrOEFHbXdaZnFHMitzTVBXcXVlbjdaK3VpNmRPRDFTL3RieDVlaTZ2ci9QSEZPMkYx
TjU1Ri9TN2crU0dIckpBNklxVWEKQnZWb3FJTU5IWnBTd1lyNnJ2R3UzMFhKOHNjNzZQZjk0NCty
UTlzZUNDc3FuVzVkNGc4TDcwWnhpR01lOVpzUDJiZmZYaUZ0dVByZgpQTnh6WFM3cU1menVaTk8y
aUl1enl3dHhkYS85L09MNDRQMXN2NG1vdkl6S0s0UVZWYzZpeW14WUhRQ1p1WFNKSmhEWFhITk45
Znp6Cno2dUxMNzVZU2FkQ0Zyd2VKcVAvZDNrZG9TbFRwaWlKbEtnbXZhcG16SmloTnRoZ0EvWExM
NytvVjE1NVJSYVZoai96QlB4NmdsRkoKTERLWDlTWG1UbzhlUGRUSEgzL3M5MmF1UzBwS3pDTDQ2
ZE9ubTJ0cFRKZzRJUHpYWG50TllkWUdEakxIakJtam5ubm1HUmtoZnRQYwpjLzlsRTZaOXo2cUJU
WmxTTFdFcW81STFZMGFOcEx0UTBxMGwzVFdxcEVSTC9HclY5T2twdGJWVFR1bGcvUHBsMk91bzQ0
d1oxV2IwCjZPaWpVK29xVUowYU02YURwS2xhMGxSalpsejY5OGVJZmFFNi9QRDJvdTdTSlZRbHg4
YmRoamRpUkxIYWYvOWloUkgvSVVPS3hhcEgKU2dVbEttMzJYWHNNU3l0bURrYU5haS81bVpvMjc5
R2pRUEl6WlRWa3M4M2FtZWwwcU9zZ3pwakpPZXl3OW1hMC9PS0xPNWxwelhQTwpTVEhEQ0hvMjhZ
SGxzUG56YTlXdXU2YkMzWG5uSW1IU1dXSEVLSTdsZXVzVnFzMDJLMVRiYnR0T0ZseTNsM2ZhcWYz
MksxYWZmcHJpCkVpVTdLbzY5ZTdkVEcyOWNxSDd6bTJKWnJGMms5dDY3V0VZZXU0aHFvL2FZZ0tm
Tm56Q21scms5WXRZTGNiVmFpSEh4dCs4RkhWOTYKcVViQk9JSDdKOGJ1R3UxKzk3djJNanRYa0Ri
VGdkbWdVMCtWNmJ3Y3VhanZHRE8ybTIyMm1YRGFWdkowaE9UcHBwS24rMG1lZm1wQwpmK3V0dCtR
N25hNkdEUnRtcnFGNmRmREJCNGZHTENxc3NKZHN2a2FWa2JnOHR6TEN3bkR2eDVWenpOS3l6cWdu
RnZWZHg3R00rK2FpClpFZVZoM3pWR1VnMTZsdFgvYlp6NS9ycnNITFlrTG9HczdPbzkrRXc4NDE2
QUE3MWFtTmRISGQvZktQeUlTNlAzM3FyeHZ5V0R4dVcKbXQzRlRNekJCOWZQNEVUbG96K2RjYkw4
OFE3NlZ1ZlByd3R0ZTBTbDA4YkYxaVgrc09JNHhER1ArczIzWVdkempJdFBFQnUwWjZDcQpsN1J0
a1NUT2xwZU51NzMyODR2amcvZXorU2FpOGpLT1RWdzVpeXF6WVhXQVRYK3Vqb2s2SUFnTVA3cFFY
WURxZ2N4dWlIclFHV0sxCjVuRVREelRzMFZuQUdnMzg3YkhISG1yV3JGbHE1NTEzTm8zK3NHZitS
Q0JUWlpaREd1OGxNclY0bzFpQWVsbkIzRytRazVrWTAxa1oKT1hLa2lVdnYzcjFGaGFlZGV1ZWRk
MHo4RUYvclpBYkVuTTZmUDkvZThvN1poR2xmc2hVM0d2L1EvNE1xRGY2Z2VqSnJWbGRKZDVIcQoy
Yk5RNGxlc1JvNHNNNnBVdlhzWFN2eFNsUy9rV0JsV1p0VHhuWGRxVE1XTmpvZDFnd2FsS3ZENTgx
UHJVZkNEZ284aHp2bkRkYStoCmQ0c3BQYmlvdFBuRENFdHJpbTFuMHhuRFZERXNlcTFZa1pJUEdX
N1l1RjVqRGZ5dmQxQUpnME9uTHB2NG9BT0lkVE8ya29BTXJFMUEKWGlWaGlYaTVjVU84Vm1GUVhs
eVU3TGc0UWliVXpLenIzNytkMFhWMkxUM1pjTU9ZMm5mZEk5SnAzOE45bkx2WGJ2emQ5L3pucDUz
VwpRYXpjZFU3N3N3MEd2OTlzcmp0MkxGQ1FqUTQ1cHFpLy9ycFdZWDBIOGlOWEx1NDdUakZLbFNl
RXVZWkFzV2JFWDNycEpXbU05NWUxCkx0Mjg2SFR0MmxVWTF2djNIc2hKWEZpdVgzdHVSVVdWa2Jn
OHR6S3N6S2hqa25MT09xT2VZTlIzbllRbDhzYk5IL2ViaTVJZFZSNFEKTzhqTVI1MVJuL0xNczZo
eW1QcU82dCtKU2pkOHJiRkdnZFRkOWFacTExKy8wQnNZcXBmUzhMTzQ4TjM0UnVWRFhCNWpjQVlk
ZHJzKwpEVEdHcXJETjg3aDhkRk1ZSnd0KzNYamoydit0Um9VWGxVN0lnclB4VHAzWHB5T09nMzNY
ZmQ4dDY2bTZNZnczSCs5bjQ1TEV4ODhHCjh0MzQ0UnB4ZEozYnRrZ1NaNzg4OTlxZlYzam1QbmY1
SUE3WmZCTlJlUm5ISnE2Y1JaV2hxRHJBNWRqWTgzcGw3UkJKb3E1Z09oZjQKd1liYlo1OTkxSC8r
OHgvVHlVQUhSQ3hrcWNXTEZ5c3MyanpnZ0FNeXBFUTl5L0FzTjdEbUF6TVk5OTkvdjdyMzNudE5o
eUxJSCs1TgptalJKaWFxRU1RMDhiOTQ4TVNFNlUzVGV5azE4c0E0RWpRZzRqSHdpZml0WEJwc0R6
U1pNSS9EWGY0c1gxNG5jQXFQRDc5NjM1NU1tCmRaSDRWVWo4S3MwNmpaa3oxekJyRXV6enBFZm84
UzFlckUzbkFKVWVIRWE5c1FndUpFbEpSWWY2aTB1Yi84V3d0R0p0Q25SLzc3Ky8KcytSbmdlUm4v
WStSWHdaR2xkd1AxejNQSmo3UWEvend3K0J3R3NzeVNuWTJjYlJweHlKR2xLRWdGOFkweUc5THZ6
ZHVYQWVqcnp4KwpmS1g1SVQvampOek5mdGkwTi9RNy92Nzc3MDJkWWVYWUkzNVl3bHhEdzRvckk3
bks4OGFXODdCMFI5MlBTNXYvM2JDMHNzN3drMHEvCmJvbzZJeXh2MG1NU2YzWHV1UjNWQ1Nlc1ZG
aGNqUFdMblR1akRWRS9PT2lYZ0xXTmNDaExRYzd0akFVOWo3b1hWWGZIZlMvZmYxOW4KZm9QOTht
MFZrVTNaajVQbER5UG9PaXE4cUhRR3lYTHZ4WEZ3L1lhZFovUDloc213OTNNUkg4aUthbHZnZVM3
akRIbFJMcHR2SWlvdgo0OWpFbGJPb01vVDQ1Nm9PaUdJUk93U0pCZVRZKzhOMWd3Y1BWcjE3OXph
V3NYQy9qeXpreEl5SEhWSEVQYWhrWVdReDZobjh1VzdCCmdnVnEzTGh4c3VqNlpqUGo0ajd6bjR0
ZXQxcTBhSkVhUDM2OFVmdjY0SU1QUktYbE1UT1NpVTNFWU12Zk92aUR0Um9zUVBXN2JNSzAKNzlw
S0I5YUFaczJxOWtiSDhUeVY3bXBqcDN6UklpM3g2eXp4NjJvcVlPenJZWjJWWWErampoZ3BseVFa
Tzg3V0gyUmprUlhVcnJKeApTY09OU3BzL1BOaGtEMHJyZ2dXMWtwL2xrcCtkSkQvREczTitlVUhY
MmNRSDAvdWZmdzVEQWZXZEVPUUxab3NheXpKS2RqWnhSQm8vCis2eFdMVm1pWlIrTytta1Jtejlo
VElQWXROUjdNSER3cTFFcFdiaFpxRWFQYm0vVUJqLyt1RTdVOG1MSFBnS1Q5Y01QZGRLWnpiU28K
MVpEdjJBYUFRUXlvakg3MjJXZjJWdVN4SVdIWmZJMHFJM0Y1Ym1WRVJ1N1hoNDB0NTI0WVNjT05T
cHNyRCtkaGFXV2RVZjhiNG1lRwo2MXpXR2ZiYjlJY1RsamQrZjBtdUR6NjRTRUg5R09vaU1FWXla
NDV2S05vbkJBTnI2R1JZVldEMzhiZmYxb3BCbWV4Kzc5ejNvK3J1CnVPOWx3dzBMekV3OCtBZTVi
TXArbkt3ZytmNTdVZUZGcGRQS0NmdW00empZOThPT3VmeCtFVVpqNHhNV1QvZCtramo3ZWZtdlhY
bHgKNTlsOEUxRjVHY2NtcnB4RmxhRmMxZ0ZSUEdLLzVyNTkrNXBHdnZ2ampNWS9SZzJ0bnZReHh4
d2pxK2tYaXByTFdMTkdCQTMrcTYrKwpXdFloOUZOUnovd1J3M29QbU1IRUR6dzZFVkRCUXFjR2pV
Zjh5WUp5enhUd2tpVkxqRVV1eURqd3dBT1Y3Rk5pWmp3d0l3TnJOK2dRCldRZXJXbEN4R0Q1OHVM
M2xIZVBDOUR6K2VnSnpvZWhad28wWVVTVHAxcEx1Y2trM0d1RjFrdTVWWnYwRkdwYXdJZ0IzNElI
RkVyLzIKWnNvVzE2NE12T2QzMlBBTlB3N280Y0xCVkdtdlhnV1NwcFM2RmU3Tm5adWFFaDQrUERX
YWhNNElyQ1ZFT1grNGtHL0R3SHQ0MzhvNAo1cGoyb1duemh4R1dWcXozUURyd2dXTUh6cGRmVG5Y
V2JIN0NxalB1VzRmTkZ0SFJncWs3T0tRSkRqS3lpYy9vMGNYR09zbUpKNWFiCjlSV0lCeXl4WUEx
R0VwWXdnWXd3clpOSk5STXZYRWZKVGhKSHNMSnV6cHdhc1FSVEpDb0pxY2E0bXo5ZmZWVWJXbjdz
Ky9hSVBFUysKZ1N0Y1ZQenRPKzdSNXJuWWpIQnZtM09vbmdYZHgwT1k5a05Zc05RVjVIQWZIVlBy
N0pxZUUwNFFmY1ZmSGI0Wk9EY00rMDI0ZVFBLwpLQi9ZMUhESEhlczdiTGdQRi9jZG8rNndKbmJo
SHpPbHFHUGdSbzhlYldaSUoweVlZSzd4RDZiSE1YdHIvWGdQNUNRdUxOY3Z6dDE4ClpaMlJvc002
STFVZk5WZWRnWWIrMjIvRDNMczJGcDFnMWRIV1RXRjVnNXpMdHE2NTZxcFZDcGFEempxcmc4SmFN
S2pMUkRtc1JkbDcKN3lKakNkS2RCVUZkYysyMXE5U3h4OWJYSFpBVFY5ZTU4WTJxdStOK0Z6QjRB
bzBEMTV3NE5rZUVaZ0ordzVMa28wMTNuQ3o0YytPTgphLy92ZTFSNFVlbUVMTGMrUWwzcmhoWEhB
ZTlITVkvN3pjZTd2KzdtQUZFWkxsZHRuMnphRm5GeDl2UHlYN3Y4a0tBb1BuaWV6VGNSCmxaZHhl
UlZYenFMS1VGUWRJRVpZekhJTTlBRWE3YVRSRXV0Z1BXYklrQ0VhbHFaa0hZalpoRkIyQ2Rhd01H
WGQzWGZmcmNYc3JWZ3QKS2pBV3NKNTg4a243U0VjOTh6ekppYWhJaVNXbkhiU29UdWtUVHp4UlAv
dnNzN3B6NTg3NjJHT1AxYUtXcFdWTkNWb3pXaGJBYTFuUApvV1ZocVd4Nk5sR0xDVjR0TXlkaXZT
TmxOVWZVc1dUenRLMzBUVGZkcEdWeHFaWUY2Vm9hRFc1UTNubFVtTEIyNDNlWFhKS3l6RFJtClRK
bGV1TEJXMHJaSzByM1VXR3VDQmF3bm4weTk4K0dITlJLL0VyTXAyOVNwbFJLL2xjYTZDT1Q1WmJo
aHdQTFBYbnRKRDBTc2haeC8KL2tyOTVaZXBUZC9temFzMkc4TGRkRk9GcEtsSzByUkMwcFI2aGsy
YnNISGhCaHNzMDVNblo4Ylp5bmZEaFdVaVdOckNKblB6NTFkcgp5TWZHaEVWRlM4WEtXVXBHV05x
c1BIc01TK3ZLbFhYR01sZlhya3NsUDhza1A2c2tQNWRLZnBicFYxNnBNbFpFc0NuUm5EbFZHbGFp
CllPRUU2WWIxcTVLU09uM05OZWlCTGRWSEhiVkNmLzk5T0dzYkQvZUlmRUIrNFAxTk55MlI4bE52
VVNtS0pheFRkZXUyek1RTjFrZmUKZjcvYVdPWkNIai8vZktxOFI4bU9ZZ2FyYUxCVWR0bGw1ZnFx
cThvMUxNL0Fhb1oxYnY0Z0htSGx4L3JIOGUyM3EvWHV1eTgzNlJ3Lwp2c0pZTkl1THYvdSs3RGFz
Qnc1TXZiL2Jic3U5TktKc0l6N2doODBFa1JmWU9OQTY1RG1zcmVINVdtc3QwOWlBMEgzK3ozK3VN
bVVMClpSSk1yRVBldy9vRzNBc3ZWT2w5OWttVmRaUTliRnlJUDFoamc5eWRkMTZ1anorK1RJOGV2
VUlQRzFhcWUvUlladkpVT2hKV25IZU0KK281bno1NHRlZHJOV0xhUzlXcVNwKzlMbm01dTZpc3hy
bUZrUFByb28xclVUT1ViR0NEbDdTZ3RhOHZFK3RkZzJSRHRVUzhNZXhJVgpGdXVNNFByUXNyTkgx
aG4xOVZGVDF4bklBM3g3K0o3NjlpM1JGMXl3MGxqUzIzLy9VclBKYmxqZU5LU3VPZWVjbGVaYnh2
ZmNydDFTCnN3a2RmZ3RoZVNqTXdhcmt5SkVyZEw5K0pScS9zMmVjc1ZJZmR0Z0tQV3RXZlhzRDc4
YlYxZjc0SXN5b3VqdnFkd0hoNFhkMmpUV1cKbXQ5Si9DWWhqckFRYURkTmpNcEh2Tys2S0ZuK2VE
LzAwS3JBMy9lbzhLTFM2ZjdPUFBkY1pkcnZCeGhGY1loakh2V2IvOXByVmFaTwpSMW1BcFVOL0dj
aFYyd2UvMjdCUWxyUnQ4Zm5uTmFIdEZNVFI1V1YvRi9HYmlMTHA1d2NMWEhHL3Y5bCtFMUY1R1pW
WEtHOVI1UXpQCnc4cFFXQjJBZDJTQ3dMVHpIM3JvSVZ3MnloWGc3YmhlRFBiYVdIdnR0YzJvNGRk
ZmYyMzIxYkJyUXR4M01jcUlEUXRoWlFackxsd1gKOWN6MWgvT0tpZ29aS1VudC9ZRE5EOTBGNWRZ
dlJqTmhyUVlMMXZHOFM1ZVUvWEw3SE1uNjRvc3ZqQjlZd0lselNjSzBNakF5ZzBVNgoxbUVVNmJ2
djZpVGRoWjQrUDBac29IY29EV21qZnVUdTlZSDMvREtzcktoaktrMUl0eEtyUHBtandGSHYybWZa
aGh1VU5pdkxIdVBTCmloRjJPL0tGMlkzR3FHTWxpWStORjNoaEJCNldLZnl1c1N5alpJZkZjZURB
VWpPNmQvWFZuY3lvVTVEUkFKcy9jVXo5NmVGMWlrQTIKMzdHZkdXWTdZT1VQQmk0dzh4cTFEd2pl
elNZc202ODJ6S0F5RXBmbmZobFdWdFN4c2VVY3NyTU5OeWh0L2pqR3BaVjFSb3BZUHVzTQo1Qk1t
QVZFM3UvVnlYTjc0OHpMcSt2cnJLOVFSUjdTWDcwa1pBeVN3cmpObFNwV1p5Y0QrUjFFT2NmcnNz
enF4TGxrZzdZL01PanpxCjNhaG5VWFYzM1BlQzJRN00xdUwzSDdQRE1MRGh1aVJsMy9xUGsyWDlS
UjJqd290S1o5dzNIY2NoS2s1NGxzdnZGL0lhR3gvSWlITlIKY2ZiejhsL0h5WGFmTitTYmlNckxP
RFp4NVN5b0RNWFZBVkJaaGpHcXhycEVIWkRHQnRKVzNpOG9XTlpXa3NKMGtFQ3JKcUIxOTFZUgpm
OVlaclNLYkdFa1NJQUVTSUlFWUFybiszV1VISkFZNEg1TkFMZ2hnUkdIampaZWJIZG1mZWlwbG5T
MFhjaW1EQkVpZ2JSSm83WFVHCkxGOWhCbWZreUdKam1oNGp6TERxZzcybnNNY1NIUW1zYmdUNFRh
VG5PRHNnNlR4NFJRSjVJZkRRUTVXZThZSytmZHVwMy82V1A4QjUKQVUyaEpOQkdDTFNGT21PNUxD
OTc1UlZZaGRTeTBXMlIybnp6aHFrT3Q1RXNaVEpJUVBHYnFDOEU3SURVcytBWkNaQUFDWkFBQ1pB
QQpDWkFBQ1pCQW5nbmtibVZYbmlOSzhTUkFBaVJBQWlSQUFpUkFBaVJBQXEyZkFEc2dyVDhQbVFJ
U0lBRVNJQUVTSUFFU0lBRVNhRFVFCjJBRnBOVm5GaUpJQUNaQUFDWkFBQ1pBQUNaQkE2eWZBRGtq
cnowT21nQVJJZ0FSSWdBUklnQVJJZ0FSYURRRjJRRnBOVmpHaUpFQUMKSkVBQ0pFQUNKRUFDSk5E
NkNiQUQwdnJ6a0NrZ0FSSWdBUklnQVJJZ0FSSWdnVlpEZ0IyUVZwTlZqQ2dKa0FBSmtBQUprQUFK
a0FBSgp0SDRDN0lDMC9qeGtDa2lBQkVpQUJFaUFCRWlBQkVpZzFSQmdCNlRWWkJValNnSWtRQUlr
UUFJa1FBSWtRQUt0bndBN0lLMC9ENWtDCkVpQUJFaUFCRWlBQkVpQUJFbWcxQk5nQmFUVlp4WWlT
QUFtUUFBbVFBQW1RQUFtUVFPc253QTVJNjg5RHBvQUVTSUFFU0lBRVNJQUUKU0lBRVdnMEJka0Jh
VFZZeG9pUkFBaVJBQWlSQUFpUkFBaVRRK2dtd0E5TDY4NUFwSUFFU0lBRVNJQUVTSUFFU0lJRldR
NEFka0ZhVApWWXdvQ1pBQUNaQUFDWkFBQ1pBQUNiUitBdXlBdFA0OFpBcElnQVJJZ0FSSWdBUkln
QVJJb05VUVlBZWsxV1FWSTBvQ0pFQUNKRUFDCkpFQUNKRUFDclo5QXErNkFsSldWcWUrKyt5NXhM
c0QvRHovOGtOaC9VM3Fzckt4VWI3enhoaGVrLzlwN0VIS1NMWXNRTWVhMlArd2wKUzVhb3p6Ly9Q
T3FWSm51V3kzUUdSZHFmZHIrZjJ0cGE5Y2tubi9odmU5ZjVMR1A1VHJ1WENKNlFBQW1RQUFtUUFB
bVFRQjRKeEhaQQpubnZ1T1hYQUFRZW9nb0lDdGZubW02dTc3NzQ3ajlGSkxuclNwRWxxdmZYV1U0
ODg4a2lpbHlaT25LaDY5T2loSG4vODhVVCttOUxUCjIyKy9yWGJaWlJjMWF0UW9FNnovT2k0dTJi
S0lraGNVOXVXWFg2NE9PK3l3cU5lYTVGa3UweGtVNGFDMHUvN2VmZmRkdGNNT082aFQKVHozVnZl
MmQ1N09NNVR2dFhpSjRRZ0lrUUFJa1FBSWtRQUo1SmhEYkFUbm9vSVBVbi8vOFp4T05ZNDg5VnAx
Kyt1bDVqbEl5OGIvNwozZS9VcHB0dW1zeXorQm83ZHF6cTNyMTdZdjlONlhIWFhYZFZKNXh3Z2hl
ay85cDc0SnhncEg3T25Ebm1UcllzSERFWnAwRmhYMzMxCjFlcXBwNTdLOE52VU4zS1p6cUM0QjZY
ZDlUZHc0RUMxNzc3N3F1TGlZdmUyZDU3ck1wYXZQUFlpekJNU0lBRVNJQUVTSUFFU2FBWUMKc1Iw
UXhNazIzTzB4WC9Hc3FhbkpTalFhZ3BpWlNlcXk5WjlVYnJiK2d0TFp2bjM3dExUNHI5MHdxcXVy
MVhISEhhZGVmZlZWNzNZdQowK1lQR3pOSC9mcjE4OExLeFluV09wRVl2NzljcGpNb0F2NjBXejkx
ZFhYbXRLaW9TQlVXaG44MnVZcGZ2dlBZcHN2UDE5NFBLcVAyCkdZOGtRQUlrUUFJa1FBSWswQmdD
NFMycENLa1llVC82NktQVitlZWZyKzY3N3o2MTJXYWJxZjc5KzZ1dnYvNDY5SzJGQ3hlcTg4NDcK
VCsyenp6NXE1NTEzVm0rOTlaYm45NFVYWGxBMzNuaWp1dVdXVzlRZWUreWhQdnp3USs5WlJVV0Z1
dlRTUzgzejBhTkhxNXR2dnRsNwpoaE0wREtFaXRNa21tNmh0dHRrbU1nN3dYMTVlYnVJTjlTM0U0
K09QUDhadDQ2QmpmK2FaWjZvLy92R1BSdVhvckxQT1VnZ2Y3cjMzCjNsTUhIbmlnMm5ycnJkVkxM
NzFrcnJmZmZudjEwRU1QbWVkSi9rV2xNOG43MXMrdHQ5NnFubjc2YVRNcjhmdmYvMTZ0WExuU1BJ
cGkKRWNYZnlnMDYvdlRUVCtxdmYvMnIybjMzM2MzakpIa2ZGZGJreVpPTkdoOWtEaDQ4T0NoSWN5
L0tYMVE2by9JUU1qZmFhQ04xeHgxMwptREFlZSt3eHRlV1dXNnJUVGpzdE5CNG9MK1BHalZQWFhI
T044VGQzN3R4UXYvWkJWQm1MWW1QZnh6SGZlUnpHTjZ5TWZ2SEZGK3JDCkN5ODAzL0MwYWRQVWpq
dnVhTlFHMzN6elRmWEJCeCtvSTQ0NFFtMnd3UWJxdXV1dTg1S1JOSzNlQ3p3aEFSSWdBUklnQVJK
WVBRakkKQ0dpc2UvLzk5ekZjcmFWUlpQeisvUFBQZW9zdHR0RFM2ZERTR05IZmZQT05sb2FjUHVX
VVV3Smx5V2lxRmxVdVhWcGFxbVVScnhaVgpGYjNPT3V2b1pjdVdhVkV6MGRJbzFDKysrS0o1OThv
cnI5U0hIMzY0SjJmNDhPRmFHam5tV2hwL0poN1NHVERYMjIyM25aWk9nSjQ5CmU3YVd4ZWdtUGll
ZmZMTDNyditrVjY5ZVdqb1FXaHJ2SnJ6ZXZYdnJ2bjM3YWhsdE5sNzMzbnR2L2ZEREQ1dnpxcW9x
UFdqUUlEMWkKeEFoUERNSUJCMWtYbzZkUG42Nmx3K1E5aXp1SlMrZnR0OSt1MTE5L2ZVK00vOXA3
OE9zSjRpNk5QZTkyRklzby9wNEE1OFFOZTlHaQpSVm9hNkxwbno1N0dSMXplUjRVRnpyTFd4UXZw
M0hQUE5lWEJ1L0hyU1pTL3FIVGk5Ymc4UkZtNzl0cHJ2U0NsVTZtUFBQSkk3OXBOCk8yNGVjc2do
V2pvcTVqbks3b1liYnFpSERoM3ErZmVmUkpXeEtEWitPYmpPVng2SDhZMHFvOUlCMGRMcDBIMzY5
TkZQUFBHRWxrNlcKNFNicndrdzVYTHg0c2I3aWlpdTB6RWpxcFV1WDZtelRHcFIrM2lNQkVpQUJF
aUFCRW1pYkJCbzBBNExaQTh4NmJMdnR0a29hNkdZdAp4bjc3N2FjKy9mVFR3RjdibENsVGxPQXpL
a016WnN3d0k2Vy8vUEtMZXVXVlY0dytQUlpmWXpZQkR1bytkbFpDT2lWcS92ejVDcnI1CmNKaXht
REJoUXRyYUQ0Uy8vLzc3SzJuNHFTRkRoa1JhS0lLTTQ0OC9YbzBjT2RMNHZlR0dHOVJYWDMybHBH
T2hFSy9YWG52TnpPekEKSDFScHhvd1pvNTU1NWhtRlVWNDRoSU5abUVzdXVjUXNmc2NNU1ZJSGVX
SHBUQ3JENzgrdmZoYkdJb3EvWDZiL1dqcUtKcCtSZjNCeAplUjhWVmtsSmlaTE9ySkxPbTVFbEhW
WlRMc3lGOHkvT1gxZzZrK1JocDA2ZDBsVGRPbmZ1bkhidFJNUE0waUd1dzRZTk03ZWhlblh3CndR
ZTdYZ0xQdzhwWUZKdEFRWEl6SDNrY3hqZXFqT0o3eHdKOHpBREtBSUVDUnhnbStQYmJiOVhGRjE5
c3Z0dHp6am5INUNmdU5TU3QKWVF4NG53UklnQVJJZ0FSSW9HMFJhRkFIQkFqUU1ISWJSMnVzc1la
YXRXcFZJQjAwNE5HeGdINDkvcUJtTld2V0xOT2hnQXdaZFZabwpGRUVONitXWFgxWXJWcXd3Y3RC
QmdacU9HdzRXK2tLV2RlNHpyRkdCQ2s2VVcydXR0YnpIdSsyMm16bUhpZGwzM25sSG9iR05ScGgx
Ck1nTmlUdEVKc2c0cVlKOTk5cG1KZTd0MjdlenQyR05VT21OZkR2SGdwaDFlM0d1WFJSVC9FTkZw
dHlIWGxlMi9kdk0rS2l5WlJUR2QKTUhRQXp6ampETlc3ZDI4VnhERE9ueHNYTjUxSjh6QXRjUkVY
VUxXRGFtRzNidDA4WDEyN2RrMWo0VDF3VHNMS1dCUWI1L1cwVXpldAplT0JldTJuUFJuWVlYOGdP
K3hiOVllTWErZTY2TmRkYzAxeGljQ0diK0xneWVFNENKRUFDSkVBQ0pORDJDUlExUlJKRlBVTmg4
UzdNCitRWTVtQy9GN01QOTk5K3Y3cjMzWHRNWmdEL29rTHZyUVlMZWJjdzlXTkZDSXdwLzJCOEU4
VVFIQm8xTU9NendJTjUyalFYdW9ZT0MKamdyV01KeDAwa2xwalZNOGozSmg2WXg2SnhmUDR2am5J
Z3dySXk0c21KTVZOU1oxMjIyM3FYbno1cW1aTTJjcTIzQzFNbkJNNnM5OQpCMnN2a3VTaCswN1Ur
ZmZmZjIvaytmMjRuUUQvTS8rMVc4YmkyUGpmemVZNlc5bGhmTE1wbzVnUmNsbTQ1OW5HSjV1MDBp
OEprQUFKCmtBQUprRURySnREZ0daQnNrdDJuVHg4ejQrSE9rRUNsQnlQTUN4WXNNSXQ4TWJQZ3pq
NUFQaHB2bUozNDhzc3Z2ZUR3bmpzajRUMW8Kd01tUFAvNW9abHV3b0JZajNkaGtEbnM5V0Nmckg1
VG9zcXNCQXdiWVcrcXl5eTR6S2tSdEtJWStBQUFnQUVsRVFWUm9iT0U4cVl0SwpaMUlaZm45dWc4
Ly96TDJPNHUvNnk4VjVWRml5ZmtTQjZmang0NDNLR3hZdll5RzQzeVgxNTM4dmFSNWFpMWIrOS8z
WDZDaGhOQjh6ClhnMTFiaG1MWWhNbVB4OTVITVkzbDJXMElXa05ZOEQ3SkVBQ0pFQUNKRUFDYll0
QW9nNklMQ28xcWJaSFhNZ2liV09CeXVMQTZETWEKOEVIdW1HT09NYk1aVUorU2hlZW1FWXE5SldE
YUZlczkwQ0JFNHdmdlF3VUxIUlYwTkk0NjZpalZzV05IZGVLSkp4cC84QXRMUEJ0dgp2TEVKQm1I
aXp6cFlyTEpXcSt3OS85R05JOWFZUUk4ZDYwOWtJYkpaUndMVk1PdGc4UWlOV2xrSWIyNWhqUUhp
akE0SjFNV3dLYVBiCkdZTHFHRG9sR05uM3U2aDBJcTNnS1l1RHZkZjgxOTZEWDArZ0ZvUVJlamd3
aldJUnhmOVhjV2tIZjlpUURhNklKMXhVM2tlRmhSM1YKWVgwSkRoYkZEajMwVUcrMnlkejg5VitV
djZoMEpzbER6R3BodzBHa0FaMERkRzRSbm5WdTJySGVCek5nV0hka0hYWkJ4K2krVzQ3cwpNM3Qw
bjdsbExJcU5mZGM5NWl1UHcvakdsVkdVVHpkdDJLY0UxN2Jjb3JNT2grODVMcTE0RnhhemJCbDIw
ODF6RWlBQkVpQUJFaUNCCk5rNUFHcFdSVGhyZHh1cVBZTkRTK05haW9xR2xrNkNsY1dRc0FvbXV0
NGFWTEZqRDZkQ2hnMzcrK2VjRDVVbGozVHlYRVYxakFldkoKSjU4MC9rUzlTY3ZpVmkxcVQxbzZH
dnJaWjUvVnNqQll5NmFIeGtJVy9NRmlGc0tYR1JFdHFscm1QVmppRVJVUXZkVldXMm5wQkdocAo5
R3ZwR0docE1Cb3JWMEdSZ0pVZWFZQnFXWHl1cjcvK2VuMzIyV2NieTF6V0wyUkEzazAzM1dTc1hJ
bXBZUzJOTXZNWVZycGdwUXBwCmhaTU9rNWIxQzhZcWtEUm96VDNFQTNHU0Rldk10ZnN2S3AxSWt5
eXdOMm04NjY2N1RCcmRhMWduOGp0WkNHOHNEc2xDZVMybWtHTloKaFBIM3kwVmEzTEFSTnpIQmEr
SW1NeGZHNGxoYzNvZUZKZXAwV2hZem16STBkZXBVTGVadFBRdGtianpDL0NYSjg2ZzhSQmhpWmxi
TApHaUpqL2V5Q0N5NHdGcjdFdUlDeGl1WlBPN2cvK3VpaldsVDBUTm1TRHJHVzlTdGExaVdaKzI2
YzdYbGNHUXRqWTk5M2ovbks0ekMrClVXVlUxbU9aNzEyTUVHZ3h4YXpGNUxheEVJZnZFbW1XTlZ4
YVRCV2JjZ0pPMHJIUVVXbkY5NE82UU14WXUwbm1PUW1RQUFtUUFBbVEKd0dwQW9BQnBiS28rRmth
WHhWeXVVYTNDeUxMck1NSU95enB3R0ZGMTFiRVFSYWp1d0FKVExoeFVVTEFRMXg4SHlFWlkyUE1B
K3UydwovSk90Vzc1OHVkbkRRUnBsZ2E5R3BUUHdoWWliR0lsSE9wSzZLUDVKWlNUMUZ4UVdSc2JC
RlFZSGtMOWR1blFKRkpmVVgrRExjak11CkR4RTNqTnlqdlBuTFdwQk0rTVVzRTFoamRnNnpjbkV1
cW93RnNRbVRsNDg4anVPYnl6SWFsVmFvdDJFOUZSMEprQUFKa0FBSmtNRHEKUmFCSk95Q3JBMW9z
cElmMUxHeUtTRWNDSkVBQ0pFQUNKRUFDSkVBQ0pKQk9nQjJRZEI2TnZzSklPY3lqMHBFQUNaQUFD
WkFBQ1pBQQpDWkFBQ1dRU1lBY2trd252a0FBSmtBQUprQUFKa0FBSmtBQUo1SWxBSWl0WWVRcWJZ
a21BQkVpQUJFaUFCRWlBQkVpQUJGWXpBdXlBCnJHWVp6dVNTQUFtUUFBbVFBQW1RQUFtUVFITVNZ
QWVrT2VremJCSWdBUklnQVJJZ0FSSWdBUkpZelFpd0E3S2FaVGlUU3dJa1FBSWsKUUFJa1FBSWtR
QUxOU1lBZGtPYWt6N0JKZ0FSSWdBUklnQVJJZ0FSSVlEVWp3QTdJYXBiaFRDNEprQUFKa0FBSmtB
QUprQUFKTkNjQgpka0Nha3o3REpnRVNJQUVTSUFFU0lBRVNJSUhWakFBN0lLdFpoak81SkVBQ0pF
QUNKRUFDSkVBQ0pOQ2NCTmdCYVU3NkRKc0VTSUFFClNJQUVTSUFFU0lBRVZqTUM3SUNzWmhuTzVK
SUFDWkFBQ1pBQUNaQUFDWkJBY3hKZ0I2UTU2VE5zRWlBQkVpQUJFaUFCRWlBQkVsak4KQ0xBRHNw
cGxPSk5MQWlSQUFpUkFBaVJBQWlSQUFzMUpnQjJRNXFUUHNFbUFCRWlBQkVpQUJFaUFCRWhnTlNQ
QURzaHFsdUZNTGdtUQpBQW1RQUFtUUFBbVFBQWswSndGMlFKcVRQc01tQVJJZ0FSSWdBUklnQVJJ
Z2dkV01BRHNncTFtR003a2tRQUlrUUFJa1FBSWtRQUlrCjBKd0UyQUZwVHZvTW13UklnQVJJZ0FS
SWdBUklnQVJXTXdMc2dLeG1HYzdra2dBSmtBQUprQUFKa0FBSmtFQnpFbUFIcERucE0yd1MKSUFF
U0lBRVNJQUVTSUFFU1dNMElGSzFtNldWeVNZQUVtcEZBd1ZVRnpSZzZneWFCN0Fub0szVDJML0VO
RWlBQkVpQ0JTQUxzZ0VUaQo0VU1TSUlGY0UyQ0RMdGRFS1M5ZkJOaGh6aGRaeWlVQkVsamRDVkFG
YTNVdkFVdy9DWkFBQ1pBQUNaQUFDWkFBQ1RRaEFYWkFtaEEyCmd5SUJFaUFCRWlBQkVpQUJFaUNC
MVoxQVZpcFluSTV1bWNXRktpMHRNMThZS3hJZ0FSSWdBUklnQVJJZ2dVd0NXWFZBOERvYnU1a1EK
bS9NT080WE5TWjloa3dBSmtBQUprQUFKa0FBSlpFdUFLbGpaRXFOL0VpQ0JOazFnMmJKbGVVdmZU
ei85cFBCbjNkS2xTKzBwanlSQQpBaVJBQWlTdzJoREllZ1prdFNIRGhKSUFDYXlXQkg3NzI5K3FX
Mis5VmZYdjN6OGovVE5uemxRMzMzeXptajE3dHRwNjY2M1ZqanZ1CnFOcTFhMmYrdHQ5K2UzWDY2
YWVyNHVMaXRQZlFvVG52dlBQVWwxOSthZngzNnRSSnpaMDdWOVhWMVptL2wxNTZLYzEvYzE4OCsr
eXoKNnZMTEwxZno1czB6OFVVYUVlZUNnZ0sxeFJaYnFKRWpSNnJldlh0NzBad3laWXE2NG9vcjFD
ZWZmS0tHREJtaU50dHNNNlcxVnVYbAo1ZXE5OTk0ekhLZE9uYXJDL0ZWVVZCZ2VmZnYyVmM4OTk1
d25seWNrUUFJa1FBSnRtSUQ4VUNSMjZrcjhydEMxSkFMTWs1YVVHNHhMCkhJR1dYbDQvLy94ekxR
MXRmZWFaWjRZbVpjNmNPZGdZUW84ZlA5N3o4Lzc3NzJ0cHBPdVRUejdadTRlVEJRc1c2STAyMmtn
ZmYvengKdXJLeTBuc21uUTk5MFVVWGFXblFlL2RhMHNrOTk5eGowamh0MmpRdldyLzg4b3NlTjI2
Yzd0R2poMzcxMVZlOSt6aTU3cnJyalA4MwozM3d6N1g1SlNZa2VQWHEwZHkvTW44d0U2VU1QUGRU
ejExSk9XbnA1YlNtY0dBOFNJQUVTeUpaQVVSdnVXekZwSkVBQ3JZQ0FOTkxWCm5YZmVxYzQvLzN6
VnAwK2Z0QmhQbWpSSlNZUGZqTDZ2dmZiYUNxUGt4eDU3ck9yY3VYT2F2K25UcDZ1UFAvNVkvZkdQ
ZjB5N2o1bUcKaVJNbnFwdHV1a2wxNjlZdDdWblF4YjMzM3F0T1BQRkU5ZkRERDZ2cnI3OWVkZTNh
TmNOYjkrN2R6VDNNQ0ZpSDJZK0JBd2NxZHphagp0clpXU2NkREZSWVdtamkwYjkvZWVqZnB1ZmJh
YTlXSEgzN28zWE5QSG52c01UVnIxaXgxeWltbnFOMTIyODE3aEZtVFAvemhENnFxCnFzcTdoNU9p
b2lLMTdycnJtamlNR0RIQ2U0YlpqS2VlZXNxN2RrOTY5dXhwMHVqZXMrZVdGV1ozcklOLzVOT0tG
U3ZVQVFjY1lQSmwKOTkxM040K3RmNWNKSG1EbTVQYmJiN2NpdkR6dysrdlNwWXRoNUhuODlhU21w
a2I5OWE5L1ZUdnR0Sk1hUG55NHVRc3VWMTU1cFpscAp1ZXl5eTFTL2Z2M00vV3paVEo0OFdTMWN1
TkF3Ump6cFNJQUVTSUFFbXBCQU5qMldKS05CR01uS2wvdnh4eDgxL3F4YnNtU0pQVzFSClJ4dFBq
SExDTFY2OE9HL3hTNUluZVF1Y2dra2dTd0pCNVZVYXFGb2EwRm9hKy9ydHQ5OU9remhnd0FBenNp
NVZvbmZjYzg4OTAvemcKWXV6WXNlYjVuLzcwcDdSbkV5Wk0wQjA2ZE5EVjFkVnA5NE11UkJWSVMr
ZERmL3Z0dDFvNkRWb2EyMEhlTkdZN0VCOVIwL0tlbDVXVgo2ZlhXVzA5ZmNza2wzajNwRkJsL29w
N2szZk9maE5XWFo1OTl0dTdZc2FPV0RvQ1dUcFQzR21ZZVhCWkI1emZjY0lQblgxU2lRdjJQCkdU
UEc4K2MvRVhVcDh4N1M0SGV5aHNVOHUrQ0NDN3hIZDkxMWw3bjMxbHR2ZWZkd2duUzRMc2dmNnNs
enp6M1g5ZWFkU3dmRWxBMDMKVFZkZmZiWGVicnZ0VEhpYmJycXA1emRiTmllY2NJS1JJUjAzTFox
TnZYejVjaytXUFFrcXIvWVpqeVJBQWlSQUFnMG5rUE5GNk5DZgpoaTV3a0lQKzlOQ2hRODNvM3pi
YmJLT09PKzQ0SlQ4QzZxU1RUaktqWk5KSXlIZ04rdE1Za2R4Nzc3MlYvQWlwMjI2N3pZeSs3YmZm
CmZtclVxRkhHUDBiNWR0NTVaeU1YSTJXUUp5b1VacVR3amp2dVVOOTg4MDJhWE9naVM4UEcrSWNj
akRLSzZvVDYzZTkrcDdiY2Nrc2wKcWdER2Y1aS9ZNDQ1eHZnNzZLQ0RQTG1pYW1EaU9YandZQ1Zx
QmtwK2FJMnU5RDc3N0tNUWhuWFBQUE9NR2MzRENDQkdOc0VFYnRHaQpSVW9hVHlaT0dESDl5MS8r
b2twTFM0MU9ORVliNFgvenpUZFhkOTk5dHhYRkl3bTBDUUlZMGYvZi8vNm5wS09nUkswcExVMllI
WkhxCnpmeEpBMUZoMXVDMTExNUxXOGlORjZTam9hUVRvbTY4OFVZemsyS0ZZTjBGMW1wZ2hpRE9Z
VVQ4OE1NUFY1dHNzb25DdDQzUi9pZ24KSFJHRmR4QW12dlA5OTk5Zm5YUE9PZDRySDMzMGtUbkhy
RTJZczdNcC91ZFlnNElaSFl6TVAvSEVFOTVqNlh4NVBDd1hIREhiZ3NYdApxRjhmZi94eHovK0xM
NzZZNXQ4dWVwOHhZNGE2Nzc3N1BIL1puS3kvL3ZwSzFMQ1VOUGd6WHNOTTFDT1BQS0llZU9BQlV3
Y0grY0ZMCjF0OC8vdkVQaGZyMCsrKy96NUNGRzVpQjZkV3JsNUpCSGU4NVpqMysrOS8vS2xFUFU5
SlpOR3RWOEJCc1hubmxGZU1QOGl5Zk1EYUkKSStJaHFtWHE0b3N2TmpNcVdJOUNSd0lrUUFJa2tI
OENPZTJBZlBIRkYrcjU1NThQL2VFZU5teVl1dlRTUzAycTBPREhEOVdERHo2bwp6anJyTENYNjBF
cjBpOU5TakIvZ2JiZmQxaXpVeEtKUGREN1FDY0VVL0s2Nzd1bzFRZzQ1NUJCMTJtbW5tWGRsZE16
OHNQNzk3My8zCkZrYnVzc3N1cHRGaWhSOTExRkgvbjczempyYWtxdkwvWVJiNlcrUkJaS0VrbTNF
UVJFR2dzU1hhVGM2eHdTWXFRWm9HWEMxQ2s0TWsKRzVDb0lDQklHa0xERUpvRzF5SWpzUVdHSUVH
aGlTM0pSdkFQaEo0MUk4dzZ2LzNac3F2UFBhL3FodmZ1ZmZlKzkvWmU2OTViZFdwWAoxYWx2MWEx
emRsYlhDTllSRmhnRWNiM0EzZU9KSjU3UVFaOXRWWHpYWG50dEVFMmZUcGpnbzUrcnI3NjY5dk8r
Kys0TENEMElFQWdiCk8rKzhjM2p6elRkaFU4STlna0JWU0xTREFVd2czQ2VZeU9EbWdIREVJTHZv
b292cVJPaTQ0NDVUSGx4UGJGOXQ4QzlIWUpnZ3dET1AKUW1MbXpKbVZWOFQvd1pRT0NPdzVJYVF2
dWVTUzRleXp6dzc4LzVtQU1zRkVNR2lHK0wrYW13L0NETUlQN2w5VmhNSmt6cHc1QVVHRQova2lN
UnhDcmJNSCt6anZ2NkRMLzZmN1FLQW4wSGpObVRQR2VxM2NNbEJZSUJwdHR0cG02RmRYamJjYzJ6
c1g3UGljQzhIRTFRNWprClUwVXBIL3k1UzFhNm4xZzVhZ1FRMjdiVlZsdnArNUx4b0I3Vnd3WVhM
TEZjQlFRMUVnVzRLMVk5SkgyYkkrQUlPQUx0UTZDdEFranEKUHkwdUNhVzlOSTFmT3VEMDEzK2Fq
Q3hHNW9OYzVyUE1RSVVWUVFJa2piM1NGN2xWbjJYejgrWjYwTUxtQXhqYTNSMTIyS0U0THd2VwpW
L3ROTjlLV3R4dG05cHZ5KzdJak1Gd1FRS21Bc0Y3MTd1QTZMU1lEYTBoS3JLUFF1TzIyMjFSb3h4
S0JFSUZnSUc1UktXdnA4alBQClBCUEVWVktWRnhLQUhkNTY2eTJkU0NQSVZCRXhIeWdScGsyYkZs
NSsrV1hkQjJHSHVBVUlBUUl5UVVSWFd2eGFiTEhGd3R5NWMydjIKWXVLUElnS3JhMDdnVTlhZTh3
MWtuZXVqRDFpeGM4SUNJMEhuYWsxR0VNUnlYVWJHUjR3TWxnaXNIRldFUlNwTlhXeDh2SE9KaFVI
bwpiSWJLc0dGTTRENlN2UXNyaUpNajRBZzRBbzdBNENEUU5nSGtmLzduZjNTd0p4MGpFd2lDT0pz
bEJ0aFpzMmFweGNIMndaSkNBS240CktRZnhoYmJtNGhldFZyUG5JSWdSN2VUMDZkT0wvYXNXampq
aUNMVkdWRzJuSGMwcUZoczBaMmhZNlNmV2lWejRzR013d0RvNUFvNUEKZlFSc1FzdGt2b3BNd2NC
L01LV3JycnBLZzVGeGF5U0FHMWRLTEp0WVhIT0JQdDNQbGxFZTRPcUp0WUlQR240VUI2U1BSUmhw
Ukx5agpzSmppS29STEtMVEtLcXZvTDVhVS9sS3FxTEZqTUJtbnY3bGd3bmJEeDNnNzhjdjk0WDJL
MjJzajR0M2JpTGhHTE50VlZHVUJJWUNmCmdQajExbHV2YXRlYTlqSnN1Ri9OUEI4MUIvSVZSOEFS
Y0FRY2dRRWowTmd4dXNsVGxQbFA1eTVWNmFITWY1cjRESHlXMitrL25aNkgKNVVZK3l3eW9hUFhJ
V1o5YVNkTGpJR2pBaDZDRlc0WnBPUzJMRFlOa1RreGMwbXcxU3krOWRJMlFRcXdNbVgxUzR2aE9q
c0JJUTRBTQpSbGhRSVZ3YWllVnFoWERSeEYwSndsVUxTd2dXRlFRSXJCVDFDSXNCc1FSa3kwcUo3
RXJFZ2RGKzZxbW5wcHRLbDAxWXdDb0s4VTdECnVvc0NBc1ZNMlVTWDkwZ3o4U21sSit4Q0k0SWZM
cUc0ak9ZWng4cTZnNnNWRmlEZW1TaHBxaWl2blpMeThXN05MU0RnTm5IaVJCWDYKRURiN1N6eDNk
dC82ZXd6Znp4RndCQndCUjZCMUJOcG1BZWsxLytrY2lrNzVMTnZBeUlDYzArdXZ2Njd1Q0FTUG93
bE1oUkY0SDNqZwpBWTA3SWZiRVBtajBuQnlCa1lRQXJrL0VkbURSeFBwQVFIcXJoQUNCUmRLSVlu
aVhYMzY1VG53YldTQVJmTktFRW5ZTTRzLzRJSUNRCkVNTElBcmxOQ1VFN3djdTRZdUVPTkc3Y09H
WEZTa3NLV21KRnNPVG0vKzAzM25nalNDYXBRcG1oTy9YSWwxV0ROMkdLYnRGZnlWYWwKc1czWFhI
Tk4rUEtYdjF6MDF2anpkeHlXRXVMenpGM1dncnlOdnpoQW5RVUVFQlF6aGp0S0h4SjdnRFZXTGlk
SHdCRndCQnlCb1lkQQpXeXdncWY4MEVEQXdFMWlJL3pTK3RXVmsvdE5vSnhsY0xJc01Fd2swZ3Uz
d243YnowaDk4bGkxbnZiWHppeTh5bWxLSUxGZ01zR1dVCjhoRXNTODBDeUFiV01qOXZyb21KRlpZ
VnJFSDRjNmZFd0p4UGZMQzBPRGtDSXdVQm5uZGNuOUJDb3lVbmlRVFdVUWpYcFR6cm03a2QKa1pD
Q21DaEp4NnE4dVFCQzQzYmJiYWR1VlB4WFNWUlJwaVJBNk1HNmdkQUFmMXFIQkRkUXFua2pJQkdy
UUYrWS9GSlRCQ0xaQkgzRQowc25rbUhmQkxiZmNVbVBWSkFhQzZ5SFRIb2txbURoakNhSEtPTzhk
WEk5NnpRTENQVEZyRUM1c0NCdGtsYUwyQ201bFhETktGU095CmRCRi9BL0dlNHpvaGhBeVNlcGk3
RnRZa0V3WlJ5T0MyQnU2TnlLekwzQU95bW1HSlJuQWpnUWhDbnBNajRBZzRBbzdBMEVPZ0xRS0kK
K1U5YmdDZ3c0RDk5ODgwMzYrQzgzSExMMVVYRy9LZVpLT0EvVFJyY2R2aFAyMGs3NmJPTWhoUWlo
cVdNTEhBOHhhYU16OXNjZ1pHSQpBSUk3YVhMSkxJZEdIY1VFcVhheEdtREJxQW9DSndXcmFiK3hU
aENFbmd2NDRJbVFnT0lCVjg4eUFZUkpMWjh5SXFOVW51bUpQcUtNCmFJVnc1Y0xhaWFJRjl6SUVE
ckxrbGNXMnRYTGNUdkdTdElOUHMwU21QejZOaUJnWlBxMFNRZWhZdDNnbXR0MTJXM1Z0cyt5QnJS
N0wKK1IwQlI4QVJjQVI2QTRFQkN5Qzk3ai9kYVovbERUYllRSU1nQ1lMRno5c0VqdDY0dmQ0TFI2
QzNFZmpCRDM2Z2RYdE1rMDF5Qno3UQpXV2VkcFo5R1YwRE1SeDZVYnZ1UVhlbVZWMTdwaWNrK0Fz
Y2FhNnhoWFd2cUZ5Vk9Ucnh6cXE0WFN3dWZLdUw5VkxWdjFUN2RiZ2MzCjBoMDNRNjFpWXdrRG1q
bTI4emdDam9BajRBaTBENEVCMjY5N3hYL2FmSW9IMjJlWmlSUENCOEdNMURiSi9ieHhQOGlwbmg4
MFdsSzcKRnR2UGZKL3QxOXI5MXhFWTZnamdxbW5DUjZldXBWY3REWjI2WGordUkrQUlPQUtPZ0NQ
UTZ3Z015QUxTSy83VDNmWlpKdUFWMXdycQpEWkNKQjc5bXFoOVQwNEJxeU9URE45OXlORzdtVm9K
N0NJR1V1SFJRcndDL2RueXQ4WWZIRFlVYUltVGxZbitJSU5kbGxsbEdzNy8wCitvUGwvWE1FSEFG
SHdCRndCQndCUjhBUmNBVEtFSmhQelBHMUNmWEx1RDVybSsraytVTDhhZFBzZFk3VStxYlVmeHFm
Nmw3VmFtSUoKSVNDV2JEQUVhcGJsbm0vOTZxdjM2T1k5cWU2VmIzRUV5aEh3NTdVY0YyL3RUUVQ4
ZWUzTisrSzljZ1FjZ2FHUHdJQXNJSU41K2YzeApueDdNL3RtNWNDY3hhNGUxK2E4ajRBZzRBbzZB
SStBSU9BS09nQ1BnQ1B3VGdRSEhnRGlRam9BajRBZzRBbzZBSStBSU9BS09nQ1BnCkNEU0xnQXNn
elNMbGZJNkFJK0FJT0FLT2dDUGdDRGdDam9Bak1HQUVYQUFaTUlSK0FFZkFFUmdPQ09UWjU5cDVU
WC81eTE4Q0h5UFAKYUdkSStLOGo0QWc0QW83QVNFUmd5TVNBak1TYjQ5ZnNDRGdDZzRmQWJydnRG
czQ3Nzd5dzhzb3I5em5wWFhmZHBUVko3cjMzWGkyYwpTRDBQRWt6dytkYTN2aFVPUFBEQThMblBm
YTVtUHdTYVF3ODlWS3QzdzcvQUFndUVKNTk4VWxOMms2eUM0b1RkSnJMeW5YRENDVnFaCm5UNWFQ
OG5FUjJWM0N2K05HaldxNkNiVnpLbDM5TkpMTDRVTk45d3drQUdRUENaVWpIL3FxYWNVdXhrelpv
UXFQbEtRZ3dGWkF1KzQKNDQ3aXVMN2dDRGdDam9Bak1MSVFhTHNBd3FEYnFXSjhwa0drR2pHRUZ2
RUxYL2hDejkweDYrZVh2dlFsVGFuN3Q3LzlMU3l4eEJJOQoxMC92a0NQUUN3ajg2VTkvQ3IvNjFh
L0NsQ2xUK2lSd09PeXd3d0tWenFrZVRqWHN0ZGRlTzJ5eHhSWkZ0Nm43Yy96eHg0Y2RkOXhSCnE2
Z1hHMlRoMTcvK2RhQlE2cEZISHBrMmx5NVQ4Znp1dSsvV2ZwQWVPeWNxYi8rLy8vZi9BZ0lJOVg0
T09lUVFaWG4yMldlMTB2cnoKeno5ZlZHWm5BMm01U2ErOThjWWI2ejdVTzRHWXJKT3UrNVpiYnRI
MS9PdjY2NjhQOTl4emp4WVQ1Rm9oaEJWU2NwTlpMeVV3b2JvNwoxZU8zMldhYll0TkpKNTJrNmJ5
TGhtUUI3TWFQSDErMGJMMzExdUhkZDkvVjFONG5uM3h5Y1p3UFB2aEFCUTJPZGV1dHQ0YjExMTlm
Cjk2R1MrV3V2dmFiWE1IWHFWTDBmZGpDcTBSOXd3QUVOK1Jnajl0bG5IOXV0NXZmMTExOFBISmQ3
Z01BR2dkZk1tVFBEZDcvN1hWMG0KSWNrZi92QUh2VmMxTzh2S2dnc3VHQmdmZUI1V1dta2wzVXdS
UTY3dGlDT09xQkdtOG4xOTNSRndCQndCUjJBUUVTQU5iN01VVG1UOApyRTh5VUVjWmZFdVo3cnp6
enJqSkpwdVF4emQrNHh2ZmlIdnV1V2VVU3NoeDMzMzNqVklESThvQTIyYy9FVExpM252dkhhWENi
Wnc4CmVYS1V5VVNVUVQySzlpMk9IVHRXK1gvNzI5L0dOZGRjVTQ4ckdqdzkzc0VISHh4LzlLTWZ4
Vi8rOHBmeGpUZmVxRG51RFRmY0VFWEwKcWZ3Y1J5WVVjYi85OW91aUFZMmk5WXZiYmJlZDhsZng3
Yjc3N3NvbmczbHhYQmxVdFovcnJMT09udmU0NDQ2TE1yaEhHVFRqYXF1dApWdkRkZnZ2dGtUNkN3
WGUrODUwSUp0Qjc3NzBYWllEVWR0RStSaGt3b3d6b1VXcWM2UFhDTDlyR2VPR0ZGeGJIWXFHWmUx
S3pnNjg0CkFsMUVvT3g1NVQ4cWsrbTQ4TUlMeDhjZmY3em9uVXpxOWYvQXM1OStlRmNZOGIvaHY3
eklJb3ZFKysrLzM1cjFkNk9OTm9xNzdycHIKVFZ2VkN1OFYza05TVlQxS01kRlNOcG4wYWovRVNs
S3puZis0cE53dTJqNzk5Tk80MWxwcnhlV1dXeTZLeHI5b3R3VVJtcUlJRExaYQo4L3ZqSC84NHln
UTdpbVVsaXFWQXR6Mzg4TU0xMTU5aVljdW5uMzY2OG9LSFpPS3I1TGYzVFhwU3NWWW9QKythblBi
YWE2OG9nbGNVCkFhRFl4RHVJOHo3MjJHTkZHd3RTZEZYZlk5WllqMCtFQW1PcitiM3h4aHYxMkNM
a2FEdFk4cDRWUVV2YlJValZkaEhJZE4ydVAvOEYKdjFtelppbXZDRkQ2ZlBHTWZmLzczNjhjbjJv
Njh0bEsyZk5heHVkdGpvQWo0QWc0QXEwaDBGaWlTSTdYNkdYOHlpdXZSQ2JQVFB5cgo2SGUvKzUw
T0hPZWVlMjdCd3NBdTJpNFZCSXBHV1JETmFKVENlenBvTUxnWmlVWXdIblhVVVNvRVdOc2xsMXlp
eDJXQ2IvVCsrKy9ICmd3NDZLSXIxSVRLSXB5UmFOdVdYUW45cGN4U05hWnd3WVVMUlZzV0hZTFQ5
OXRzckgvMzh5bGUrb3YwVVY0UmlYeGFZWFAzcnYvNXIKVFp2MTlicnJycXRwWitXTFgveGlYR1dW
VldyYURUTnhmYWhwWjZYUlBlbXpnemM0QWwxRW9PcDU1VC9FLzdSS1lHRFMvczQ3NzZoQQpMOXI0
bWl1UUlwNzZMbURpTG01TnhUYitrNmVkZGxxeFhyV0FrQ0FhK1NqMWUzVHlMdGFZVXRZeUFlVGpq
eitPWXBtSm9xVXY5bUVpCno0UzQ3UDlxVEx3L3FnaUZDY0lZNzdoNkJDWmliWTFpYVltalI0K3Va
TDM0NG90VlFLdGlxQ2VBY0h5dTVmREREeTkycnhJc0VKNVMKS3VQajNmMlRuL3drWmF0WmZ1S0pK
L1I4K2Z2NmswOCswWHVFRXNhSWNRYUZUMHBTTHlxS1ZTcUtKU1NhVU1aMk1GMTExVlgxMkFobwo2
VGlSN3A4dlZ6MnZPWit2T3dLT2dDUGdDTFNHd1B3eXVMU05mdk9iMzZocG5RcnBNdkFIR1VUN0hO
dmNzL0F4TnNLSEdqZUMxQ2NhCjF3clJWZ1hxYXVCS1lTNE03TU8rVkFwLzRZVVg3QkJCSnZtNmpF
KzJrVXptMVV3dkdzMGdscGNnRTNsMWwyQzc4YWY5b0IyenZ3Z04KTENwVjhTMjAwRUxhTCtzbng1
R0J2bkFic1AxeG5YajY2YWR0dGVhWWR1eDBJMjE1dTJGbXZ5bS9MenNDd3dHQnIzLzk2MEcwN1pX
dQpTYndIbGw1NmFmMGZYMzMxMVRXWHpQOEZOeTJ4Z3FqckRlNDZNbUVOYjczMWxycEExVENYcklp
bFU5MlNsbDkrK2JEbGxsdnFPME1VCkZ5V2MvMnpDL1lkOVpzK2VIVVJqcitjd2x5dzQvdmpIUHlv
amNRNVZWTysvUEVwaUxzYU1HVk1UdEY1MkhEREJ6WE96elRZTFloVXEKWXhsd0c4ZkhmVlFFZ2o3
SEVrRXJ2UHp5eTBHc0ZCci9JY3FjUGp3MEdCL0ZaSGtIdzE5RklqVHFKbk5qTlQ3Y3pmYllZNDl3
eFJWWApCQkVtK3JqcUdSOXVjbUp4MWpnZHNRWlpzNDVGdU5reE51RXVKeGIxWXBzdk9BS09nQ1Bn
Q0F3K0FtM0xnc1hnSXBwSTlSc1dyYUMrCjZKdTluTGx6NXdZeGx3ZjhpNDN3eHlaWVVkd2lTcXVl
TS9neW1EUkRQLy81ejROWVVNTDA2ZE1ic3VNbmpGOTFQUklaTDRoMlVuM1MKR1Z6cHA3aVQ5UkUr
N0JnTW1rNk9nQ05RSHdGeFNReHZ2dmxtNFAxUlJTZzFpRFZJNmVhYmIxYmZmd1FQM2d0YmJiV1Z4
cE9JTmFWUApYRWk2bnkyTEMyY1JWMElNQXpFcFRKU3JDT0dHdUFJRUVkNTV2RnVJOHpJU1M0MHVv
Z0RwTHkyMjJHS0I5NklSazJjQzNZbHB5UWxNCnl0cHp2djZ1STRSdy9wd0l1a2N4eEtTZlR4V2xm
UERuU3A5MFA5NjlLSUdJUzhrSjNLRm00dWtRUnRQbmhIdEZBUHd1dSt3U0dBL0EKMThrUmNBUWNB
VWVnZXdpMHpRTFNhMXJFRk5KT2F2SE1DbU9hdS9TOGFHRFR3RkUwdUJaWUNSK1paUElnZWdRNUow
ZGdKQ0x3elc5KwpVeThicmJyRWRKVkNnSUNCQWlBbEF0Z0pESmM0aklBd1F2QzN1RlBwSitVclcz
N21tV2NDQWRlWFhYYVpia1k3enlUNWdnc3UwQ3hQClpmdGdyUlYzSS8zd2Y1VllOTFdDY0U0MDlW
Z3dJQk5FZEtYRnIzeVNqa1VBQzZ2RWx2V3hrS1pXM3haUDA1QWRQQkEreE5XcER5ODQKSXpSQ0Vo
Y1h4TFdxRHc4TktSOVdMcElOMUNNc1VXVUN5S09QUHFvWnh5Uk9wOTd1dWkxL1RzQ1A0SFUrVG82
QUkrQUlPQUxkUjZCdApGcEJlMUNLbThIWktpMmV1QW1WV0V6SzZTRHlKVG96UXVxWENDSDE3UU5K
d1NoeEl6UWQzTVNkSFlLUWhRS1luWERnaE1rZzFTd2dBCmp6enlTR0hwUUJpUTJBUE5ISFhiYmJj
MVBBeVRlakl5WWEzZ3czdGloeDEyQ0tTU1JZSFFpSmpRWXJsbHdreEtXMGhpdVBRWFM4cFEKSjRS
QkxEd1NZOUx3VW5qSE5TSUVLNG5OcU11R01pY1hRTUR5N0xQUDFveG5kWGV1MklpcnJKTWo0QWc0
QW81QTd5RFFGZ3RJcjJvUgpEZVpPYXZISWxRK1ZhVHVaRE8yMDAwN3FINDFQZVc3Mm56UnBrdnFj
V3ovNXhhWEx5UkVZU1FoZ2djQ0M4ZEJERDZrUThOeHp6Nm0vCmZ6TVk0TElGa2FMWGlHTWgzQjk5
OU5FcVRHQjVMQ1BjbHJCYUVHT1cwb29ycnFoMUxHZy85ZFJUMDAybHkyYXRzRWt1cVhlSmE4UDEK
VWdMUisxZ3NPQWp2Skt3bHZVeFltckM0b0Z3aEhYSWp3dFdLOXlEdWE3aWtWdUxqS1VnQUFDQUFT
VVJCVkZGZUx5WG5Rd0JCZVdOMAo3YlhYYWlwbEJKYzBoYkJ0OTE5SHdCRndCQnlCb1lkQVd5d2d2
YTVGN0tRV1R6S3I2RjBuaHFXTUxOaTBMQ0Mvak4vYkhJR1JoQUFDCnQ2VGtEcExTVlNldTFIckFY
eCs2NXBwcnRQNEZpUnpzZzRzVk1TSVUrTU5xZ2dBQllibEk2Wnh6enRFaWdaSXBLVzJ1V2NiaVF0
QjUKVHZ5bitTQ0FFTnh1Uk4waENPSEJpTGlDYWRPbWhTV1hYREtNR3pkT20zSC9JWkVGTVF2RXNP
VldUWUtvSmF0VXpYSHNlTjM0cFM0SApaQUlVeS9RUmx5b3MyOXdIcTczRU51UFBMYnBZU2xDcW1G
SUdiRkorWFduaUN3R0UraXJVS09HK2NnOHZ2L3p5SUduWW05amJXUndCClI4QVJjQVNHQWdJRFZz
SDF1aGF4MDFvOHNxbXN0OTU2NGFxcnJsSnRwd2tjUStIbWV4OGRnVzRqZ01ZY0FRUXRONU5jNGl2
SWNNZmsKSGUyN0NSaDVQOGsweFVUZkxDQzVkUkd0L1Jsbm5LR3hIYmhwNWI3L0pMREF1b0hRSUhW
L2FySXFrUUNEeXQ1WVpzakVkOUZGRjJuRwp2VFBQUEZPN1FaRThYSUp3MFVJb1ljSk5ZY0UwbnNz
RXFmMzMzeitzdnZycVFXcVNxQ1dFakhqRVRhRE43d1VMQ0FLZ1dZQ09QZlpZCkZUYmVmdnR0RGVy
SGxZenJKTGJHNkthYmJncVdoUXlyTHRjR0laUklDdDNDWFl0SzZKWjhBOWNzOEFmclptaUZGVlpR
TEZIYUlIVGcKNHBiMm9abGpPSThqNEFnNEFvNUFqeU1nRS9TbUtaell0MnlJRE1veEw4eGxCeVR2
dXZoVmEwRTlhNk5ZbUVBU3p6cnJMR3VLMU02ZwpjSmRvRWFOa2t5bmFIM3p3UWMzbkxsVnRvMmdp
aTNZV3hFUWZKZlZsbEltS3Rzc2dxc2ROODd2RFEyNTZNZmxIbVZUVTdDK1RIT1VYCnQ0K2FkcG1z
YUpFd0s0Z21mc2ZLZDhjZGQ5VHdwU3NTcEtrRnpNVGRxazgvcVhmQzljSmpKTUtLdHNta3k1cUsz
MldYWFRaS1N0SmkKblFYRDdJUVRUcWhwWjZYc252Umg4Z1pIb0VjUXlKOVgwWnBIMGJ4M3BIZlVu
T0QvM0cyaXpvZ0lIbEZjeTBvTEUzYTdmMzcrYWdUeQo1N1dhMDdjNEFvNkFJK0FJdElMQS9BT1Jq
M3BGaTlodExaNFV4OUxBV1NsR3B2bjcwZlJSQXdEdExKcGFnaWZSNmtFRXFwSmhCMEtUCml1c0dX
V0pJNTBrdWY3U1ArSlNqQmNidGhOejY3QS9oNmlHRkdjUEVpUk4xM2I4Y2dhR09RRnJmcDkzWHd2
K29YbnJZZHArdjZuaG8KLzlkWVk0MnF6ZDd1Q0RnQ2pvQWo0QWlNT0FUbVExcHA5cXJuTzJrK0tl
L2JOSHV6aDIyS0R6Y0tzdVBndGtDUWFPNVMwZFJCQm9ISgovTkx4ajhadG9KTXBNcm1jYnQ2VFFZ
RFRUekhNRVBEbmRaamQwR0YrT2Y2OER2TWI3SmZuQ0RnQ1hVTmdRQmFRd2V6MVVORWk0cGR1CjFv
N0J4TWZQNVFnNEFvNkFJK0FJT0FLT2dDUGdDQXdGQlA1bEtIVFMrK2dJT0FLT2dDUGdDRGdDam9B
ajRBZzRBc01EQVJkQWhzZDkKOUt0d0JCd0JSOEFSY0FRY0FVZkFFWEFFaGdRQ0xvQU1pZHZrblhR
RUhBRkh3QkZ3QkJ3QlI4QVJjQVNHQndJdWdBeVArK2hYNFFnNApBZ05Fd0Fyc0RmQXdwYnYvNVM5
L0NYeU1yS2locmZ1dkkrQUlPQUtPZ0NNd2toQm9leEE2ZzNpbml2SFpBRzVWZVJuRTArSmZ2WExq
CnJKOVU4U1VWcU5RMkNVc3NzVVN2ZE0vNzRRZzRBaVVJN0xiYmJrRnFHb1dWVjE2NXo5YTc3cm9y
U08yaWNPKzk5MnJoUk5McWt1R08KejdlKzlhMXc0SUVIQnFrM1ZMTWY3MElxdHIvMjJtdWFobmVC
QlJZSVR6NzVwRlp3SjF2ZUF3ODhVTVBmalJYU2drdDlvVUNCUks2SgpELzNrdlVXQnhXMjMzVGFN
R2pXcTZCb0ZCbi82MDUrR2wxNTZLV3k0NFlhQkZPUWtVcVJ3NDFOUFBhWFl6Wmd4STFUeFVSMGRE
RWhUCkxyV1ZpdVA2Z2lQZ0NEZ0Nqc0RJUXFEdEFrZzNCdkZlR0VTcENQK1RuL3drekpvMUs0d2VQ
VnFySGovenpEUGhvNDgrQ214Nzl0bG4KOWNuNjdXOS9xd00rMjZpSWZOSkpKNFhOTjk5YzY0QlE3
NE9xd1F6K3RFc1J4ZkRvbzQ5cUhaRDc3cnRQQi92RERqdE1KenY5ZVV4SgpLZGxMMUsyVXpyMkVn
ZmNsYUxYdFgvM3FWMkhLbENsOU1zanh2RXNSVWsyL3ZkUlNTNFcxMTE0N2JMSEZGZ1ZzVXNRd0hI
Lzg4VUdLCmxXb1Y5V0tETEZEaG0vL2VrVWNlbVRhWExrdWgwRUFGZFBwQmZaNmMrSTlTVXdRQjVJ
Yy8vR0dRSXFqS3d2OTZuWFhXQ2M4Ly8zeTQKOU5KTGk5MUlHVTU5bjQwMzNsajNzWG9uVE5hcEYw
VGw5REs2L3Zycnd6MzMzQk9vb002MVFnZ3IxQVFpdFhkS3BDU240anZWNDdmWgpacHRpRSs4TzZn
bVZFZGlOSHorKzJMVDExbHVIZDk5OVYyc0xuWHp5eWNWeHFBS1BvTUd4YnIzMTFyRCsrdXZyUGxR
bFI2RGlHcVpPCm5WcjBrWTBmZnZoaE9PQ0FBeHJ5SVpqdHM4OCt5cGQvU2ZGWVBTNzNBRUVJNGx3
elo4NE1WSmRubVl5SWYvakRIL1JlNWZzdnVPQ0MKQVFVVno4TktLNjJrbStmTW1STzR0aU9PT0tK
R21NcjM5WFZId0JGd0JCeUJRVVNBT2lETlVpaXBoSjd1KzhvcnIwU1pQTWNmL2VoSAphWFBOOHU5
Kzl6dXRBazZGY0NNWlRLSU1ObEVHZG12UzN6Lzk2VTlSQ3UvRjczLy8rNUdLeVVaVU9EN3FxS09p
YU9pc0tWNXl5U1Y2CjNMUVMrdnZ2dng4UE91aWdLTmFIK1BERER4ZThMTWpncWZ4UzZLK21YU1lz
Y2NLRUNVVmJGWjlZWCtMMjIyK3ZmUFR6SzEvNWl2YVQKcXU0cC9mS1h2NHovK3EvL21qWVZmYjN1
dXV0cTJsbWhjdndxcTZ4UzAyNll5WVNncHAyVlJ2Y2szYUVWM25TL1RpejNVbDg2Y1gxKwp6SElF
eXU0Ny94R1pUTWVGRjE0NFB2NzQ0OFdPTXFuWC82aThEbXQrcFdCbndmUGVlKzlGc1ZqRVJSWlpK
TjUvLy8xRk93c2JiYlJSCjNIWFhYV3ZhcWxaRVNJbjc3cnR2WEhUUlJhTW9EVXJaZUUvUkY3R1Mx
R3lYaVhHVW1qOUYyNmVmZmhyWFdtdXR1Tnh5eTVWV1BxZnkKdXdnTUJYKzZJRXFIS0JQc0tKYVZL
SllDM2NTN0s4Y2dYei85OU5PVkZ6d2tGWGdsLzUxMzNwbWVUcGZGV3FIOFV0QzF6N2E5OXRvcgpp
dUFWUlFBb3RsMTQ0WVhLLzloamp4VnRMUENPNXZ4RzlmaEVLREMybXQ4YmI3eFJqeTFDanJhRHBR
aE5VUVF0YlJjaFZkdEZJTlAxCkhBZGJCejlSQmltdkNGRDZmUEdNTVphSWNGaHp6bm9yWmM5clBY
N2Y1Z2c0QW82QUk5QWNBbTJOQWZuTmIzNmptaTBxcEgvODhjY3kKRnZRbGM4OUN5MitFQ3dOYXZO
UWxBYzJtREJhQnVocG9NazJEeUQ3c1M2VndYQVNNWkpLdmk3aEVHTWxrWHJWa1cyMjFWZGhrazAy
MApxcmh0TS82MEgyeEQ2eVlUSW1OVFN3WXJPZDlDQ3kyay9iSitzdjNpaXk4dXRIWjJBRFNYTyt5
d2c2M3FyNTNiZnRPTnRPWHRocG45CnB2eSs3QWdNZFFUNGp6ejMzSE5xWVJERlJIRTUzL3ptTjlX
OVIxNWxnZi9aTysrOG8xcHdtYVFXUEZnQUhucm9JZFY2OHo5LzhNRUgKaTIxbzZubTNOQ0tLblA3
MXIzOVZqVC92TGQ1ZnpkTGN1WFBWNm9sbHdBaExDbTVHSXRDVUZremxuVloxRGx6QXNKN3dIcnJw
cHB2MAprRmdmd0NEL2dBbnVubGhhREJQd29EM2w1YjBrQXBxMlljbHBoYkRJaW1BUnBrK2YzbkEz
TEF5Y3Z4N1JMMUVlQmF4WlpTU0tIRzNHCktnUHhQc2RWaTN1UDFjVDZ3VHRhRkYxcWZVcXZsWHVK
VlFwcmxmR0tvaWlJY2l4OC9ldGZWOXkvOFkxdkJDelJUbzZBSStBSU9BTGQKUTZCdEFrZ3ZEZUk1
bkowY1JFVnJxSk9OUGZmY3M0L3dZZjI0NG9vcmJORi9IUUZIb0FRQkpvZWliVmRYbTVMTnFvaFll
dW1sVlpFZwpXdllhRmdSMjNMU1laT042UTN3Q0xsRnZ2ZldXdWtEVk1KZXMzSERERGVxV3RQenl5
NGN0dDl5eTFMVW4zUTMzSC9ZNTQ0d3p3dGl4ClkvVWM1cElGM3gvLytFZGxKODZoaXVvcEUwYU5H
aFhHakJsVEU3UmVkaHdFR2VMTU50dHNzNUJqVXNiZm56YU9UL3lhV0dINjdNNjcKNytxcnJ3Njgz
eEFHeW5qWXlmaHdVZHRqanowcTNjUGdOUUhFNHVob2czQTNZMStFeWpmZWVPT2ZqU1hmQ0I2cnJi
YWF4dW1rbUloMQpMZUJtaCtDSFc5OEdHMnhRc3JjM09RS09nQ1BnQ0F3V0F2TzM2MFJsZzdpNFAx
VWUzZ2J4MmJObnEvWU9YK2wyRHVMcGlSc05vaSsvCi9ISVFVNzhHVVlwTFZycHJzY3dnQ2grQ2xy
aEVLVDhiWDNqaEJlV3hnYlBZUVJhWUFLVisyMHlneks4WlBpWktlUkE5eDNkeUJFWWkKQXNSRVlR
SEFDc0dFc1l4b0o5WWdwWnR2dmpuZyswK2dPSEVUV0VKV1hISEZJTzVYZmVKQzB2MXNHVzA0c1Jj
UU1RemJiYmVkL3NjSgpzaTZqVHo3NUpCQlh3RHNNeXdrQ0E0a21sbHh5U1dWSFd3OWhnZTB2TGJi
WVlnSHJpaEdUWjJMRVRqdnR0RDRXVWpBaDFxVlR4UHVUCjgrZEUwRDJXYWF3VVRQeXJ5UGl3Vk1D
UGhhYUtzS0R3ampRTFNNb0g3bEF6Q1QwUVJ0UG5oSHRGQVB3dXUreWlnbTU2WEY5MkJCd0IKUjhB
UkdId0UyaWFBOU9JZ25zTFpxVUhVTkhWbHJnY0VWS0p0SXp2TXhJa1ROY0E4RlVCd09VTUFTNG1n
ZFNkSFlDUWlnTXNWaEtDLwo1cHBybGtLQTFwK0piRW9FamhNWUxuRVlBV0VFbDZRLy8vblAra241
eXBaSkJrSEE5V1dYWGFhYlVVUXdTYjdnZ2dzMHkxUFpQcmlMCmtpQ0NEd29EczRKd1RqVDFDQ1NR
Q1NLNjB1Slg3dkxKZXdaWHF1T09PNjZQQUpLNm5iWjRtb2JzNElId1FhQjlUdUNNMEFqdHZ2dnUK
bW9RajUyRTk1Y1BLUmJLQmVvUWxxa3dBSVNFSExuVVNwMU52ZDkyV1B5ZmdSL0E2SHlkSHdCRndC
QnlCN2lQUUZoZXNkQkNYWUhEVgovTnNnWG5XSk5vaFBtelpOSnh6bUxzR0FCN1ZqRUxkejJ5QnFF
eHhyNTVmQlVZTE9kUUJGdzBpbWxUSXlQdUpTY0RsWWR0bGxsYzNpClVNb21HMHhNZHRwcEorWERH
b1JXTTZWSmt5WUZDYWl0K1pnV05lWHpaVWRndUNOQXBpZGl5Q0JpSUpvbEJJQkhIbm1rc0hUd241
UGcKWjgwY2RkdHR0elU4REpONllndXdWdkJCVVVITUZxbGtlU2MxSWlhMHhIOHdZU1liSHlSSkpQ
UlhrbFBvNzFEK1FoZ2tCb1RNZm8wSQpWOWRHaEdBbEFmTjEyYkFtNXdJSVdQSitKdU5aZjZpZTFh
VS94L045SEFGSHdCRndCQWFHUUZzRWtGNGZ4RHM1aUs2NjZxcDZCMGkvClcwYm02MTNsVWxLMmo3
YzVBaU1KQVN3UUNPcjQ1eU1FRUpEZUxMMzU1cHZLbWdZMVl3MGhYdURvbzQvdU01Rk5qNHZiRWxZ
TGxBcWMKM3o1WUdaaXdrdnlpR1RKcmhVMXljU2RGVTQraW9zbzF5aFF0elJ5L1d6eFltc0FDNnk2
VzNFYUVxeFdLbUd1dXVhWXVhMTR2SldkRwpBREhMTXR1dXZmWmFqWE5CY0VsVENPZjcrYm9qNEFn
NEFvN0EwRUZnd0FKSXJ3L2luUjVFQ1daY2I3MzF3bFZYWFJVNldVbDU2RHhTCjNsTkhvSGtFaUsw
aUs1R2tkTlc0Q3l5UStPdERUR1RKa0pWK2NMRWlSb1FDZjFoTkVDQWdMQmNwblhQT09ScWJRSEIw
RldGeEllZzgKSjVRS2ZCQkFDRzQzc3VybHFmQkFYQUZXWEN5WDQ4YU5VMWJjZjhqU1JNd0NtYkJ5
dDBxQ3FBOC8vUEFpanN5TzM2MWZlMitaQUVVLwo2Q04xalhDdDVUNVk4VmUyR1g4YTMwWTdsaEtz
dW1ZVkJodkkrSFdsaVM4RUVESlpVYU9FKzhvOXZQenl5OFBreVpPYjJOdFpIQUZICndCRndCSVlD
QWdPT0FXbG1FQ2M5by9udHRqcUlNMEZnRUdlQ1QyQ2hFUU1rZy95Wlo1NnBmdGMyeU9XREtDNU9E
S0s0UjdReWlKcXAKdjlFZ3ltU0R2dUd6anViMXlpdXZyT2tuZzNKTzlZNkpTNGxkaSsxbm1ObXZ0
YmZqRjllR3FpSndVcWRFSjRWb2VBbVdKNnNQMmI0SQorRTJKU1NSdU03bVdsRlNrVE9LNFIzbHE0
WFIvWHg2NUNLQXhSd0JCeTgzL0U5ZE1VbXd6ZVVmN2JnSkdqaENacHZqdm1RVWtkMjlFCmEwK1dL
bUk3K0UvbHZ2OVlXMDQ5OWRRd1RvUUdnczVYV0dHRjRoU2swYVd5TjVZWnJDTVhYWFNSSnB2Z09Z
WW9rc2YvQmhjdC9wTk0KdUNrc21DYVVNRUdLZ29LcnI3NTZrSm9rK2grZzRqaHhFMmp6aVJmcE52
SGZOVXZQc2NjZXE4SUdSUXo1aitOS3huVVNXMk5FYW1BeQpYMEc0bFhKdEVPK3NKNTU0b25EWG9o
SzZaZi9ETlF2OHdib1o0bDZBSlZaamhBNWMzTkkrTkhNTTUzRUVIQUZId0JIb2JRVG1Fd3RCCmJV
Um5uZjVTU1R1dFhzMGd6Z0RCd0VMKy9ud1FaNEFpYlNKNTJOTkJuRXEvYUxsd1ZVZ0hjU1lNVXJ5
cnBnZmtiMmNRaHk4ZnhLblUKUy9ZVkJsRUVCZ1ozVWpDUzBqTWRSTkdncFFNWWd5ajhaS0VpTHFS
c0VHVmlnYmIxbEZOTzBja0hHWEZPT09HRXlrRVVuMldxOUVvaApOZVZoc3M3a2lJa1NWWXJKOE1X
RUNVR0k2c0wvOVYvL3BSbDdxTkJMZkFuWmRCQ1dxQzdNaEovem92a2xLeGUrejJCR1poOENPQWxv
Ck44cnZpYldYL1pieE1wbENtOHdFZ1dycnBQODBZZ0tTKytOVGt5QlB0NG5XazBrTUZhZFQvMjdh
Q05SRlk1MVB0c3I2WXVmTmYrRjEKNm0wRTB2ZEN2WjdtOXgwdE9zOEcvNDEyRTY4MmpsOHZRMU83
ejFsMlBBUWcva2RjSi8vaFhCZ3EyOGZiZWdPQi9IbnRqVjU1THh3QgpSOEFSR1BvSURFZ0FHY3pM
SHlxRHVMbUZNUEZCNk9sa2hocndiMldBck9KbGNvUXJHWUlRN2lSbGhDc0ttWUhRa2lKc3BkWWsr
RTBJCndRcHkxbGxuNlNHd2ZDSFVrQVVzcDZxKzVIeXN0OEpidHIrM2RSYUJWdTVQSzd5ZDdiVWYz
UkZvaklBL3I0MHhjZzVId0JGd0JQcUQKUVB2Vmp2M3BSUlA3b0RWY1k0MDExRGU3bHpXSWFIS3hC
SzIwMGtvZEZ6NmFnSzBwbGtaRjREZ0lMblNXMFF0clRVNVliZkNEeDFxRApvSUwyR2NzVVZpNG5S
OEFSY0FRY0FVZkFFWEFFSEFGSHdCQVlNZ0tJZGRoL080TUFmdW00ak9FdVZVV1d5U3N0OEFVdjYv
aUZrL2FVCm1CM2N6U2pvaHFDQ1c1cVRJK0FJT0FLT2dDUGdDRGdDam9BallBaTRBR0pJalBCZnE1
RkN5dUlxTW5leVBHeUlJSHg4MjZsQ1RVVnAKckQrWFhucXB1bXQ1OEhrVm10N3VDRGdDam9BajRB
ZzRBbzdBeUVUQUJaQ1JlZDlycnJxL1JlRHNJUGZlZTI4UnZJNnJGcGFRSlpaWQpRb3U1R1kvL09n
S09nQ1BnQ0RnQ2pvQWo0QWc0QWlEZ0FzZ0lmdzRHVWdUT29DTlZhbG9JN3F0Zi9hcm03Zi9kNzM1
WHBPSTAzdUg2Cm02ZE9idWQxVXBRdExjeldpWFRNN2V5dkg4c1JjQVFjQVVmQUVYQUVISUY2Q0xR
OUVUMFRNYXYrWGUvRS9kbG1rekRMd01SRUxNMjkKMzU5amRtSWY2eWRGdEFqTy90dmYvcVlXZ1U2
Y2F5REhKRWg4bjMzMjBUNGlMSkFTMklyQWtmK2YxTWtwelowN1YxZEpGOHc5SnVVeApsQXNndEZG
YllZY2RkdEMwd1JRVW95N0RjS2JkZHRzdG5IZmVlV0hsbFZmdWM1bDMzWFdYWmdiRFVrVE5DNUlw
NE03R2g0clpCeDU0CllNaXJRL00vSWoweWFhemhYMkNCQlFKMVZiQlc4WG5nZ1FmNm5NY2JCb2FB
djdzR2hwL3Y3UWc0QW82QUkrQUlOSXRBMndXUWJrekUKcUsxQmpRN3FnREJac3drYmszK0toRzI3
N2JaaDFLaFJCU1lVeWFLR0NIVkFxTytCeHA2NEJvcVBrVEtXU2VTTUdUTkNGUitGQkprTQpVdXZq
amp2dTBPTlNFWjdLd2JObXpRcWpSNC9Xb21QUFBQT01Wa0ZtRzVWOUlZb2kwbGUyRWZoTlRaRE5O
OTljQTdiSklFWFJMdnBOCk96VTBIbjMwVWMwc1JUcGIra21hV3lhczdhQjZSZUNvUEV3MnF6SzYv
ZmJiTmNhRGJhVG5KUWc5THdUSE5tcU1yTFBPT21IMjdObkQKV2dCNTlkVlhBOFhyS09qSU5lZkUv
YVVXQlFJSXhTb0owb2Q0SnNEbitlZWZML0NrbmJUSXBFUW1neGo3ZlA3em42ZFpuMUdDK2lsNgo1
OVIrQkxyeDdtci9WYlIyeEY1NGQ3YldZK2QyQkJ3QlI4QVJHQTRJdExVT0NCTXhKdndISDN4dzZV
UU13TkRjTXVtbmNHRStFZHRqCmp6MHFKMklFTlpkTnhKandRMnluUUIrVFl3ci9RYmdYSVdqY2NN
TU40ZFpiYncwVTBUTTY3YlRUTkVNVGhmNElualppTWswR0o0S3AKb1NvK3RLVllEemd1RTBheVA0
MGRPelpjZlBIRnFxMjI0ekVoUmVDQTM4ajZTcVZ4SmowcGtjb1dhd0VGREkwTU02N2x4Qk5QdEdi
OQpiU1ZQZmM3YnlTSncxc215S3RSc3kvdGkvR1cvWmJ5OVZNSDlxS09PQ3UrLy8zNmd3Q1ZDbldV
TFM2OEZZWU9DbDFoSkVDeU5lR2FvCnEwTEJUZWovL3UvLzlIbDg3NzMzQWdrQjhwVFRXRDhvN01s
em5oUFBMQVVyS2R5WlB0UHNRMUZMN25kS0ZNYmpXYVA2dVAxbjJNNmsKbE9lNmpMNzR4Uy9xZnlM
ZFZuWi8wdTNwY2hsdnZYdUp3STJRUzE5eDgrTzZ0dGhpaStLUTRFVlIwUjEzM0ZHdm85Z2dDeFRD
UlBpbgpRR1lqNnVhN0srMWIyVDFzOWY2aHZLQVFheG1CM2ZqeDQyczIyZnVvRysvT21vN0l5dXV2
djY3RldIbHZZdldERUxwbnpwd1pxQzdQCk12OEpMTFVJL0RsUndSMExPYzhEeVRDZ09YUG1xSFdY
dWtTcElpcmZ0Mnk5N0hrdDQ2TU5YaWRId0JGb0RZRm1pOWkyZGxUbkhoSUkKaU9hL2FRb25vb1N0
SmhubzQ3Nzc3aHNsRURsKzlORkhwWXd5Y0ZCNVBjcEVyR2E3REM1UkN2Y1ZiWjkrK21sY2E2MjFv
bFJHajJKeApLTnB0UVNZZVVTWk50aHJGV3FISEZiZWlvczBXOXRwcnJ5Z2E2Q2lEbURYRkN5KzhV
UGtmZSt5eG9vMkYvLzNmLzQweStTdmE2dkhKCndCYXRuekt3UmJHZ0ZQdWxDM3Z2dlhlNldyZXZZ
TER1dXV2VzhGZGhCbE9qZTVJZXFCWGVkTDlPTExmU2x6TGVYLzd5bDFFbXBWRW0KKzFHcXo5ZDBV
ZXFhNkwzbE9iT1BDSjgxUEt5SW9LbmJlVzVURWlGU241ZFBQdmtrYlM1ZDV0a1VRVFNLRzFxVUdq
QlJKa1dsZkdYMwpVRkllUjVsVVI1bFVGZnZ3L05KbkVUYUx0bnhCWEEvekpsMFh3U2JLNUN5S2Ex
Y1VDMTNCSTVYckN4d01qL3hYS3RnWC9LSWdxT1RuCi81MVQyZjNKZVd5OWpMZnFYb3BscUxRZjRn
Sm9oOVAvcWxnczR5S0xMQkx2di8vK29wMkZqVGJhS082NjY2NDFiVlVyM1h4M3BYMHEKdTRldDNE
L2VYVHlIK2YyMTlUdnZ2RE05blM1MzY5M1pweVBTY09PTk4ycmZ4ZlZRTi9OK0ZhRXBpcUNzN1ZP
bVRORjJFYWdycjVGcgo1VDhneWlubEZXRmEzeFc4TDc3Ly9lOUhVUmhwZXpOZlpjOXIxWDZ0OEZZ
ZHc5c2RnWkdFZ1A5blJ0TGQ3bnV0YlF0Q1I5Tk4zUWUwCjlOU1MrSS8vK0E4WkI1b2pZZ3V3Wkh6
dmU5OHJkc0NsQlRjbm1mRDAwUUxEUk1HL1pzK0JXNU1JRm1INjlPbkY4YXNXMEpJMWlsY1EKR0FO
YWJ6U3l4RkhRenozMzNMUFEyT1hIdnVLS0svSW1YeDhnQW1qMG4zdnVPWFZ0d3BxV0VocDE3aEVm
TEZvLys5blB3aU9QUEZJVAp5QTAvMWlxc1hXZWNjWWJHcXRneGlMc2dWZ090ZXlQQ3VvWkdlZm5s
bDFjcldKbFdOajBHbWx2MjRaeFlQM0N6TWtzZ2ZHYjV3cjJ2CmlxcGlyTEN1WUkxRGM0dzF4Z2pM
bitHUi9tSTlJRjRKZHkrWitCbDdrSWw4RGI4RnZjdmtOVngyMldVRlg3c1dxdTRscWFHdHYvUVYK
NnhKYThMU3YvRmNmZXVnaDFYcHZ0ZFZXNGNFSEh5eTZ4WDBreHFZUjlkSzdxK3dldG5ML3dBT3NE
RGQrZWM1RlFOTTIzQUZib1U2KwpPOHY2OFpXdmZFV2JzUXBDeEVuaDVzcTl4K0pzNzNBUldzT1Bm
dlFqZFdGTXI1VjdpYlVSbDBmanhXS0loWkdDcTR3Wi9MZHhoWFZ5CkJCd0JSOEFSNkI0Q2pXZFlU
ZmF0YkNKMjBFRUhWZTV0RXpIaUE1aFF0SE1pbHArVVlIRFN3b29tTWQra0FnU3VMcUpwMC9nUFhM
TEsKQ0VFRFBnWTRBcmJoaDE1NDRRWDl0WUZUVno3N2V1dXR0MnJjWHBaZWV1a2FJWVVZbER5SW51
TTdOWWVBVlhDdkZ4TmhGZHlQUGZaWQpGWkF0Z1lHZElhM2dqbnNHN29QY2F5YXp6UkFUR1hQWFE1
Z2grSjduQXpmRE1oS3JpcnFFOFB3anNITk9raFRnZWdjeDBZSndkZW9QCmNid3hZOGIwRWJiS2pv
VVF6MzlqczgwMkN5UVc2Q1kxdXBmMGxmL1BKcHRzb2tVdjA3NVNhd1kzTFNiWnVON2dyZ1BPL1A5
NHJ6U2kKWG50M05Yc1BCK1ArZGZMZFdYWmY3RDFxaVR5TUIyVUFMcm9vYzk1NDQ0Mnd3Z29yMkth
YVh3UVBrbU1nWk9ER2FJUmJKRzUyQ0NERQpYRzJ3d1FhMnlYOGRBVWZBRVhBRXVvQkEyeXdnVE1U
TU41dUpHRnBvSm1KVmxFL0VzRkF3RVRNYTZFVE1qbU8vREtRTVFEbVJmWWpZCkVnWXVQbFdVOHNI
UHhCV3lnYkxNYW9JLzg0UUpFNEs0Vldsd2VlNkRUMndIY1NEcFIxelhxcnJnN1NVSWRMT0NPNGtF
aURQQ0tuREoKSlpmb2hKZG5veXA0bis0VGIwRU15TFJwMDFTZ3RVbXlDYlJNUGlGNy9uV2x4UzhT
QWxqR010dVZaNS9rQmNSRTVNVGtyS3c5NSt2MAplclAzRXF0V1NqZmZmSFBBOXgvQmcwazV3cU80
NmdSeHYrb1RGNUx1Wjh1OStPN0s3MkUzNzErbjNwMkdmL3JMZXhRTG5sbEEwbTJNCkdSREtwRWFF
TUpvK0p3ajhKQS9aWlpkZDlGMWNsalNqMFRGOXV5UGdDRGdDamtEN0VHaUxCU1NkaU5FMUpsTTJF
YXZTQk50RWpNa1kKV245elJ5R2xLOXF1ZGt6RURDYjZ3d0JPeHFHY2NEOWg0Z1B0dnZ2dW1za3E1
MkU5NVpPWWtzSmxoNkI3cUd6Q3lEWHR0Tk5PYWxuQgpHcFFQZXBNbVRWSzNIVDNBWjE5bzM1MmFS
eUN0NEw3bW1tdVc3b2diQjRTclJrcDVCWGVlRHdKeWNZTnBwb0k3cmkyNGhhUkI1NlFlClprS01Z
Q0h4UytucCtpd1RUSXZiSVpObEFyOXhGVmxsbFZXVUR3Ryt2MlRDY2JvL2dqTDlQZTY0NC9wY20r
R1Q4bmRqdVpsN2lZQ1IKMzBmYzNzZ3VocUFQOXZ4WGVZL3dhVVM5K3U3SzcyRzM3bDhuMzUxVjl3
WjN4aklCaEl5QXVOUmgxV3hFK1hNQ2Z2emYrRGc1QW82QQpJK0FJZEIrQnRsaEFiQ0tHMndnZk5H
Wk14RWhseTBTc0VkbEVqRUdIaVJqVWpvbVluUmZYS1N3c3BNZHRSUGc4TnlJbUJ4SzBxMnlyCnJy
cXEvbG8ycm54Zjg5ZFBKNms1ajYvM0R3R3lBLzNtTjcvUm5ZbDlhSlVHVXNFZGl3RVRYQWxxVlNF
VFFaTVBFM3g4OE1uQTFBeloKUkpOOUlGeUdtR1RoYWxKbGxUQnJTVFBISHlvOC9iMlhLQytJNzBH
aEFTSDBTK0lJclpWeTIyMjNOYno4WG45M05ieUFEak4wOHQxWgoxWFhjc0hJQkJJR2NOT1ZrUE9z
UDJmK3JQL3NPcDMzU2JJenR2aTZFUEQ1R0ZqdG02LzdiR0FIRDBKUXNxVmRJNDcyZHd4RVlXZ2dN
CldBRHA5WWtZZjJRbWhaajJTZW5aaUhDMXdwcHh6VFhYMUdXMXduSDRFcSszM25vQmJYb25YKzUx
T3pNQ04zYTdnanVDRDZtWGMwSWcKNVlNQVFseUNrUTNHcWZDQVN3aXVXTVIvakJzM1RsblIzQkpn
aTdzSkNSaHlseno4M3c4Ly9QQWlCc21PUDVSL0IzSXYzM3p6VGIxMApFa0lZWVEwaFh1RG9vNC91
TTVFMUhuNTcvZDJWOXJVYnk1MStkMVpkRXdKSU9wRzk5dHByTlU0SnBVK2VRcmpxR041ZWpnQnAz
NGs5CkxDTUtwbUk5UkNtQ05SSkx2MlJ3RFB2dHQxL3hUc3IzczNUMEpJZmcvaEJMUnB5V1pLQlRo
VXpPMysxMUZKd29JcmxHTE9aY0c4a00KU0lSQjZ1ZlpFcE9hRXJYQWlFK0RuMnNpeFRudkY3d2xT
UE9NMVJxcTR1TTlCRi9aV0dIbjRUMkVKVjJ5WDJvS2FoUW8xQzVEbWNJNQpqWEFWcGMvMGhYVGsz
QytJV0VKU2pkUE8rSEhLS2FmbzJFUHlCdTRGN1ZpSDg4TENkbHovZFFTNmhvQU1NazFUT0JIdmgx
bzY4OHd6Cis2VFVOUTZaaUVXeGlFVHh4YlVtVFpVcEZ4dlBPdXVzb28zMHRhVGNsWWxZRkltL2FK
ZU1ObEY4dTZNRWxrYVp6Qlh0TEVoOFJaVHMKUVZFbWF0b3VFejc4YTZMa3NpLzQ0Q0d0cFFnTFVi
SnFGZTBzU0dZazVaY01Palh0b2xIVjlMNlcybFcwYnNvbmYrWWF2blJGM0xzMAo5YkJvd1B2MFV6
STA2Zjd3R0ltd29tMHlzRnBUOGJ2c3NzdEdlZUVWNnl5UVhwUnJrM29pTmUyc2xOMlRQa3lmTmJU
Q1czV01kclczCjBwZWNWd1lSVGN0SkNsdng3WTdnTG9IVTJqWEpJaFZsUUtuNWtDWVgvSGlPSkVO
T2NRbmlFaGNsWHFOWXR3V3gza1ZKRGxDVGp0bTIKOGN2OVkxOFpmUFE1VExmSm9CQ2xZS1Nlaisy
aXlkVm5Ud1oyYlpQSkxjTkpHQUFBSUFCSlJFRlVsYWFxWmwwR3dpZ1RnaWlUNlBRUQp1aXlhNXln
RFVKUnNXRkVHdkVqNlVSbU1va3lxSTg5b1BRS1BuWGZldVlhRjV4d01wRDVFVFRzckVyK2k2WXo3
YlBpc2diUy83RnVXCndoV1cvUDVVSGFlTXQ5Njl2UHJxcTJ2dUkvZFZCUDRvTVFKUmluNUcwV29y
dHZSTkJ1R2EwNUtPVnF5UGVzOXJOaVFydmZMdVNycFUKTE9iM2NDRDNUNnc4bXFhNE9IaTIwTTEz
WjlZVlhUMzExRk4xM0pCWUhrMVRMZTZRa2Y5VlRqd1A0amFaTit1NlRMdzBQYlp0Rkl1aQpwcWky
OVdaL0IvSnNOM3VPd2VLVFRHQlJKcVA2bjZvNnA4UnQ2bitkY2N1SWR5ei9PZDVES1lsVktpNnp6
REthMnBqMDlVWml6WXlTCkpUS0tlN0kxOWRRdjd6dmVHZWxjUWVvNFJYR1RqaEpmRkVsN25kTFVx
Vk9WWHhMVXBNMVJCSWNvTVo1Rld4VWY3MC9HZ2pJQ1E4WUUKMGtQbmFmeEpUODZ6bjVMMVhlSkcw
MlpkWnE0bG5pTTE3WFkvNjZWMXI5bGhrRmRhK1g4TmN0ZjhkSU9Bd1B6eVIrdzNrVkZFQmd2Vgoz
cEw5SjgxTVFocGRLb3VqM2NSTkJlbWJqRkV5Nk92NTBEWmdWc2RGQyswd3NSUmtNMHF6UXFGVklY
Z1FyUU5GM05BRzRKdFB4WFBpCk50QzRFQzlDM0lTNXZKRHRDT3NGaGJnSVRNV1ZpL09nQVRBaVJh
bE1iblNWMkF5T0RhSE5lZUtKSndwM0xiUWFsa0lYMXl4Y3hjWjkKcHFuV0hUNzdva0k1TGtBVXlT
SURFVHlrVVVVN1MxcFZYQWNNR3pRd0ZxUU1CbWkvMFRxaHhVQjdSTC9SV0pBNkZxME1XYm5ZSDBK
YgpMaTk4TGJqNDJha0gvQU0yK05BVGgyQjl0SU1PVmhFNE8xK3p2MWlveUhLRFpwU3NWcmpmZ0Jk
V2c4R280TTd6ektlTXlDaEZ2RkZLCjlKRjczQXF0dU9LS2dTUUZ1Qmp4YlBHY285a2FiajdzOWU0
bGxzdXFPQTcrVjJqN3pBS1N4MWRoOFNUVk1Ra0N3RERIclZmZVhhMDgKRTUzZzdmYTdzK3lhZUE4
eER1QzJPbm55WkkyVFN0L2ZaZnYwYWx1OTl5dkpSMGpVd3Z1ZTYyWE1JSjA3NDFaSzNDUGVBYmtG
bi9UdgpqSHVNcWMzRXJHRzFSZFBPczArQjNUSzNZSE1acGs5R3VJVHlqdVY5WklSTEcrOUEvb1Aw
Z1poUEl4dS9MRU9rdGR0dldiRk50clZhCmNKT3h0SldDcVhaK3d5cU5mY04xbkhFUWl6TldBKzZM
eFl3YWY0b0p4eUpaQXRacW95cStoUlphcUppZkdDKy9oaUhIeFJXVTQ2WEUKK005Y0p5VTdoLzNt
Mi9KMnU1LzJtL0t6akVXZXVRMldGVXNpUkRIYkUwODhNVEN2d2VXUnNRaHE5ZjZRWFpCTWRNemY4
bXZUQS9xWApJOUNLa05OTmFaV0NiL0puakZMN29iUXdZU3ZYMFVsZXRMSllYc1RNclVVS08za3Vq
dDNLUFNualJjc2lrOXMrQmYwNlhRU3VyQzlWCldPVzhhTnZBdVpQRTgrYlVIQUw1L2FtM1Y4N2J5
WHVKSnJhUnRhaGVYOXUxYmFpOHU5cDF2Y1BwT1Bueld1L2F5bmlyM3E4Y0IwdTMKekVCcVBsNHd0
UmFQSEI5Uk9oYTNvTldDcWJaanZjS2I0dnFuOTBQY1hJMjlzbWd4M2hVcGxSVXQ1aDJFdGJhTUpF
Wk56eVdLbHJMTgpwVzMxK2k1Q2VrdEZqRG1CQ0NBNi9xZTRubnp5eVZGU1dXdmZzTTRZdFZJUWxY
M0VmVStQSWNxZ0tBSnZqU2VNSGJQc1AyUGIvSGY0CkkvQXZRMFVFUTRPNXhocHJxSDk5cnMzc3BX
dEFJNFFHRDcvUFZNUFNTMzFNKzlMdEluQnBYNXBkUnRzR3pwMmtYbjdHT25uZGczM3MKVHQ1TE5J
djFVbXNQMXJVT2xYZlhZT0V4a3M1VDlYNEZBNndqTXNYUWp4ZE1EYUdWZ3B2ZzE0bUNxWTNxM3VB
NWdWY0VjU05sZGNYbwpGeFlyK01pb1NBd0lYZzFsWkJZaW1lVDMyWXhuQ0lWVTdVTzhZRXJFOFlp
YmVNMEhTMityeEJ4RjNMNXJZdVd3ZWxETVUxelUxQUp0ClZoanVEMFZmSWE3Sm5sMHNPY1JzWWVW
UGk4U0NFMWlJZTV2RzQyRlJ5YStqMWY0Ni8vQkNvTE96dU9HRjFiQzlHaXNDUngyRk1tS3kKYjBY
ZzB1SmU4R0x5VFl2QThXS2swQmN2MEdhS3dKV2R6OXNjQVVmQUVSZ3VDRFI2djNLZFZqQ1ZaZHh4
YzBLWXhsMFhkMXhjZUpuOApNYmxyOWgzYmE3VnVSa205by80VVRNM0hueHluZHF3UFZ0MGJTN1NB
dTJoT2cxbEREQUVvenpwSGY2aW5oR3NhTGxuMWlQa0JtT0YrCm5OOGYxa2tRZ3JCNDZLR0h1aXRX
UFNCSDRMYjVSK0ExK3lXWElFQk1EZlV2UHY3NDQxTGZZSGJCWnpndDdrV2JGWUVqSXdlWk9YaHAK
NFRQYWJCRTRqdUhrQ0RnQ2pzQndScURaOXlzWTVPOVkxdEdva3paYzNHT0NKRjhKNG9xc2dncHho
NDJvVjJ2ZEVMZFZWakFWSVlzWQpsVHllZ2ZHSGpGR2RKR0lpT2xVekxPOTNyOVFRbys0T0FrOU9D
TDBVVDBid2JZYks3Zzh4ck1RUFVRK3VxaVpjTThkMm51R0pnRnRBCmh1ZDliZm1xMGlKd1ZUdWo2
VUR6bGxKZUJBN1RMQU1sQWNCT2pvQWo0QWc0QWtIVDJvSURkVldxeUZ4MjgzZHNYakFWOTE3Y2Uw
aTQKa2svU3k0N2RxN1Z1bU9EbWhGV0EvdWFDQ1h5R1Q3NVBPOWNIcys1TnI5UVFxN0tBNENKR1VE
NWxCcHFoc3Z1RFphV1paN1NaNHp2UAo4RVBBQlpEaGQwOWJ2aUt5Vy9Tbm9COCtwd01wQXRkeVIz
MEhSOEFSY0FTR0dBTDlmYi9hWlhyQlZFT2lzNzhJZnAyc0daYjN2bGRxCmlDR0FtRHVZOVJGTDBN
U0pFelVESFFKdmY0bG52MHpRN08veGZML2hoVURiQlpCT0Z1UGpUNUwrVWF5NFc2L2RFdXVuYWJK
NnVacHAKdDRyQTlkbzk4LzQ0QW82QUk5QnVCQWJ5ZnJXK2tJbzZMYlJKTUMvcHhra1ZhMm5palRm
LzlZS3BPU0wvVExkUEs4SFRSaFI0bFd4VgpnVmdaMHZpVE90M0k1alM0STZVa0dmekNwRW1UdElR
QTdSWmdiZndwYjlreUhnVll0NWlrVTl3d0x6ckw4WE9xZHc0VWd2bTViWTVrCnYvbnhXRWNBWVYv
andmSkJ5UU5jcjdDME9Ua0NuVUtnN1RFZ1ZGb2xsbURsbFZmdTAyZmlCS1FBb2Jyb1VNZUJyRmFZ
N2ZpUWEvekEKQXc4TVZtSGNkdVlQUmZBUzJTRGdKNTgwK2MvNTAvSWhOem41d0tWSW4rYk1oc2Y0
a0x6eHM2U3E2Q2dKZWpPaXZvY1U1dEdLc1BnbAo4a0pIV0tCdXlWTlBQYVY5bnpGamhsWTNMZVBq
SlVBZnlOdE90VkVJMzFSZVlMTm16ZEpLcTVnZDhiM2xwY0kyc2twQXZPRG9LOXZ3CkN6N3BwSlBD
NXB0dnJ2NjgrTDZTazV0KzB5NXAvc0tqano2cWdZZjMzWGVmOXBOYzhPRFVEaUtJa2J6d25JL0JE
UDlpNnE1QXZJVEoKc3BFUzEwQ01DUGVEKzJnMUdnaEFTK21jYzg3UkFFa3loVkRiWlRnVHoyZFZq
dldCWHJjSjJ6WVlNa0NrZFhJR2VuemZ2eFlCdjVlMQplUGphd0JDbzkzNGxBMVplbWRyY2pxZ0h4
VHRGVXFGcUIzSUJoRWJxYmtuQlZLM2Z0UFhXVzRleVFHYXZkZFAzL25GUHVsa3pMTzhSCmM0OXUx
eEJEQUlHbzY4SThDemMwU1VPc1Zka1JrcHdjZ1k0aElCUHZwcWxSenVadVZscTFDcUhkcUc0cWcw
bVVQM0ZYcXBrMnVpZnAKemMxNXdZeGM2bFRyaHNqVkxZRmtVVFE5ZWozeTBHa2U3L3pYcW82TGRr
MjNVOHNoSjQ0dEFsWmx6WmE4TC9uKzZYb3J2T2wrZzdFcwp3bU9VQWFUMFZGUU9weUl6K0luQUhh
WElXUHpCRDM2Z2xkQmxrcUU0NXp1S2tLSDUwNm40TFVYWTRwRkhIaGtsMDQzZUp5cWo5eUsxCmNu
OWE0UjNzYXgySjkxSVVJbEdLa09rektvb2JmVFlQUHZoZ3JaWk5EUXZSRE5mY0Jpa3VGa1c1cFB5
OE82aU92ZDkrKzBWUlBHbmwKYTVrWUszOFYzKzY3NzY1OFV2U3M1cmk5dXRMSzg1cnoxbnUvaWlK
Sk1jemZyYXhUbDBrc0p3cUpCS0FybndTaDk0RklNZzFHU2FFYQpSVkhVWjl0Z040aFNydVU2WFR2
dHRGUGNlZWVkYTdvcWFWNzFlaVdXc0thZEZmQmtmS29pM3AzZ3gzdDNLTkpnMXhBempMaDNZbUdM
CmpPdlVQNm1IWDZ2M1I1TFM2THpJenBYLzV2K1pmTHV2RDI4RTBQdzNUWTBlRmlaTCsrNjdiNVNV
Z2xFMC82WEhGUTI3dmlURVNsS3oKWGFxZVJ3cnBHRkVnWjYyMTFvckxMYmRjNlNTV1ArczIyMnhq
N0xGZWdaNjk5dG9yU2oyQUtHbG1DLzZ5b2tGc1pESXRxZU9hNHBzegpaNDRXOHFHZlltR0pZa0Vw
OWtzWEtNaVRVcjIrdGxwTXFORTlTYytiODNLdDROZ0pFdXRVM1NKd2VWL3E5YUdNVnlwaFI2bGly
MFVmCjgzM0ZRcU1USXpHUFI3RmdSYkZTMWJEd2JCMTk5TkZScXQ3WHRMTWlBWkF4TGNyVWh5RnA2
S2JBblhRalRwczJUZjkza25Ha2FPYSsKZ2c4VHhQUURKbUtCaTZtZ3prNVMrYmFHTDkzbnBwdHVL
bzVidGxCMmY4cjRhQ3ZqOVhzNUQ2MXUzRXNtZGt6YzBtZENjdmZyODdQRQpFa3RFQ3BDbE5IWHFW
T1ZQbnplMmk2VTNUcGd3b1dDdDRtT2l1UDMyMnhkODZZSm9ZRldnU2QrbC9GZkhpdkF0OVFtS3NV
QXN5S1hQCkswSTdpaFFLd1JxSkpUR0sxYmlQTUdYYjYvMldQYTlWL0Rsdko5K3YxZ2NtajA2T3dG
QkZJUC9QRE5YcjhINzNENEcyQ1NDOENNV2QKSjRxNU9JclpMa3AycE5JZWxRa2c0dGFqRXJpa0ZD
ejJFVk9wRG5KTUlLdUlnY3lvM3FTZUFZZ0J0aFBWVGJ0ZHpiU1ZQM0FydklacgpwMzViNlVzWmIx
V0Y0VTVYY0UveDZLYkFuZmFEaXJ4UzdDNktLMk1VMTBEZDFFclZXZ1J1L3JQOFI4bys5VFJpbkt6
cy9xVDlTNWZMCmVQMWV6a09vRy9leTNydXprOHFiZVZjOWIwa0ttZWt6aUNBQ29TekFXa0kxWlo3
TktWT21hTHNVK0N0OVZ1MzU1YjhnN3JES2UrdXQKdDZwVkFjdUN1SmxVV2l5Vk9mc3FlMTR6bG1L
MUZkNWlKMTl3QkVZd0F2NmZHY0UzWHk2OWJRNStZbklQNDhlUEQrU1UzbkxMTFFQcApXZXNSc1Fi
c1E3cFcwVzVwUVNYeW14dUpWbFFYaWJPb29tWjk3enRaM2JRWHFwbFc0VE9jMjZzcURKTk9XSjVy
L1lnVklMenp6anRCCnJHczFGVnJ4bDZhaUs3RVYxQzE1OE1FSEM2andnU1VlcVJFUnRFZkJNR0tF
aUl2QjM3cFp3dGViV0tIdmZlOTd4UzUzMzMyM3hoV0oKQlRHVVZXSEhGN2ZxSE1SYzRVZE1mSlJZ
Sy9TWXJWUVZCZyt3TXR6NEpSWG1Jb3Nzb20zRUtIV1MvRjdPUTdmWDdpVXhhYUxKRDlPbgpUNS9Y
eVlxbEk0NDRvalFXSVdYbjJUcnFxS05xZ3FyVDdlYVBib1hSaUE4a3pvNy9NZkZxMWc4UldyVWE5
VHJyckZQejNQSy9KRlpOCkxONEZyMWhiZ2xnckF3VUIrUThSZjBnc25wTWo0QWc0QW81QTl4Q1l2
MTJuNW9WKy9mWFg2K0VPT09BQURaSWpzTG1xK013bm4zd1MKeElWSmc1Nlp5SWtMVXlCYmxCVzlZ
Y0NCcU1UWkRtcFUzWlNCamtHcmlnaU8vL3puUDYrREhiOU0yQ0FMRkM0TEFxUzREMEhqQkxhVAow
bzdCbkVtaUVRSDBzMmZQdGxYOXpUTmgxR3owbFJvRXJNSndWYUE3azNhcjRFNGhyNVJJRXBCV2NL
Y0tQTTlrc3hYY3l3UnVjWGxLClQxR3piQUkzOTF1MHZHMFh1UG4vTkZOWkdFeXNhaTNCcnIxQ2Zp
L24zWWxldXBlTmxEY0VySkt5azNjY1JjZktpTUJmK0JBT0dCUGcKcnlJVFFPeTlhbnhpdlFoNzdM
R0habjJTdUpTd3dnb3IyS2FhWDk3aEJHOGpaS1JWbVNtU1JvRTVCQkN4a2daU29EbzVBbzZBSStB
SQpkQStCdGxoQTBrcXI0aytza3pnbTZSZGNjRUhsbFZFZGt5eFA0dk9zZzVOTi9HeHdZaENHVEJE
UmxYNStjVXdHSHl1Mmx4NW0wMDAzCkRlSzNIQ1E0VXJOTm9TMHZJK01qVXdTcER5WDRUOW1hcVdZ
S0k1TlRLcittUkFvL0pvSHB4d1N3bE0rWHF4RWdrOWliYjc2cFZvZ3EKTGlZZmVYVmhxK0NPNE1H
a0hFdUl1SGMwWGNFZGdWdGNRL1NVQ054a3RXRnlWVVc1d0kxV09VM1BiTS81UUFUdXZMSXd6enda
MDhxcQpCNE5KV1h0Vi93ZWozZS9sUEpSNzZWNDJVdDR3Nlc5R2VRTVA0MEs5dWdBb2NsRFNtQVZr
SGlKQkZRU3NTMXhLMmx5NmpQVXUvYytqCkFCQTM0YkRMTHJ1b0lpaC9GNWNleEJzZEFVZkFFWEFF
T29aQVd3U1FYcTIwYXFoMXNycHByMVF6dFdzZGFiOG1WSEtQcXdnQkE5ZVAKbEFaU3diMVhCZTU4
WW9jV3VadFZoVk84bTFuMmV6a1BwVjY1bDUxVTNzeTcydG9sM0hqTEJCQlNrdU1lS1VsT2FuY29X
Y3YvOC93WApjRzBzYzI4czJkMmJIQUZId0JGd0JEcU13SUFGRUxTbzVDbkhNaUJwOVlvUEZVVnhV
N0tjMjQydXd3WmNjMjJTMUtNNjJHQnRxTkxVCm1yV2szckdaZUhheXVtbXZWRE90aDhGdzNVWWRt
RzVVY085MWdYc28zbSsvbDcxNTF6cXB2S202WXR5d2NnRUVDeU4xa2lRVFZ0VnUKZGR0dFhLbkw1
QnNkQVVmQUVYQUVCZzJCQVFzZ3ZWSnAxU3FBcGdNTnZzS2RybTZLcHEwWHFwa08yaFBUSXljYVNJ
VmhYTGFndExxdwpwSjFWSDNOSitkbG44cE5lY3E4TDNHbGZoOHF5Mzh2ZXZGT2RWdDVVWFRVQ1NC
b0RjdTIxMXdhcFVSQWtQYlltT3FuYXo5dXJFYkR4CnNacWovMXU0VituOWt1eVUvVC9ZQ05yVGNE
UHJmT3FTTzRKZzhFc2R3UWdNU0FBaG9PL1VVMDlWMzNjbSt5bVIxWWZLNGt3dXNJN3cKWjd2bm5u
dUM1R2hYdHZQUFB6OUlBU3NkV0xBaXJMamlpaHJJbUZaNkpoNEQzMTFlYUt1dnZucllmLy85dFVJ
bjFwRkxMNzFVQnlTQwpFL1BxcHJ2dXVtc2dDeEMrK1JEYU0ySTRqTWdVWkVISnhHWklxa245U0Yy
UklIVkhORVBTNk5HanRSSTZGaGlJQUhLQ3hzdklxcG5pCmQwd2dNSDczWjU1NVppQzdqNlRwVmMy
ZEJVMVN0ZDFpWThBQVRDQUM4WTg5OXRnZ0JaaTBRdnZQZnZZekRaS21lcnhoUnJ3TU1UWWoKbmJq
ZkJKays5dGhqK3V6WmN3SXVWSEFIOS9SRHZJZFZjRWZUWHErQ084a0lxT0JlUmIwaWNGZjFiNmkx
Kzczcy9oMnp5ZWxnSzIrcQpyaHdCaEV4V1ZQZ20vb1QvNCtXWFh4Nmt4a2ZWTHQ3ZUFBRXBGS25q
U2hrYll3empJMTRJdUVFeUh1Njk5OTQ2UHBOdGpQaTFuSGhtCnlFckd1eGZCa0RoR0tib2FOdHBv
SS9XQ3lQbTdzYzVZeXpqT2RVbXhUYjBlbmlYR0JzYmUyWklRSkNWSlI2MlowdURuT3Bodm9KZ2kK
UG5TbGxWWUtaRk9EcXZoSWtnQWZXVUNyQ0FVV3VLMjc3cnBhYVZ6cWtZVnR0OTFXTTRGeVRpTmlE
T2t6ZlZsNzdiVUQ5d2hpbmlEcAozN1VkNWVjcHA1eWk4d1F5eFlFLy9GSkxMRngwMFVWMktQOTFC
SG9YQVpHK202WnU1bXltenNqVFR6OGRuM3Z1dWFJWVZkTWRIMFJHCkdjUzFPQjZGc01SRnJPTm5i
dVdlbFBGMnF3aGNXVitxd01wNUtaeldqUXJ1WXVtS0VyeXFSZFFrdzFsTmQyV0FpQ0tJRW1paTI4
V0YKSklvUUhtVmcxemFaVkdteFFOWmxVTlRLMFdLSnFUa0dLK0x5b2tYWEpQMjBGbHFqN29FTVRG
bzRVYklJOWVGUEcvTEt3cTFXclUyUApKVzVtVVFUcXRLbHlPYjgvbFl5eUllZjFlMW1PMW1EZFM1
bWtGWlhRSlh1VUZoSmNiNzMxOUxtbEpnbkZObE9pVG9kVlFwZkphdHh6Cnp6MzFJOEpDbEFRYVdv
U1c5eDZWME5uTy80SC9xaVJvU0E5VGQxa3NIbG90WGRKVVIxSEU5T21EN1N5VHlTaHBlRzIxNWxj
bVkxcVgKeWhwRmthUzFjbXk5MmQvOGVhMjNYeGx2dDk2dmFUOUhjc0ZVM2k4OGc3MVFaRk1Vb1pG
eGdGbzBhYUZON2hXMWtDUXpZM3JidFBJNwpmYi91dXV0cTJsbVJaQ1Z4bFZWV3FXbm5Qd1ovdmRw
cFE3blFaODNGK3Nxd1FJRGczS2FwN0FYYjlNN08yQkVFV3JrblpiemRLZ0pYCjFwY3FnSExlVGxZ
WWJsVEJ2YXFQN1c0ZktnSTMxNTNmbjNwWTVMeCtMK3VoNWR1NmpVRCt2TmJyVHhsdnQ5NnZhVDlI
Y3NIVVhpbXkKaVZDKzFscHJ4VkdqUnZVUlB1eGVpZFhKRnZXM1h0L0Z5aEhGaWxMREw5NGlLb0JJ
TGFHYTluUmxLQmY2VEsvRGw0Y0hBZ055d1JKcAoyMm1JSTRBNVdxeEtta2J6M0hQUExhNEdVN3c4
NHZyQk5ZTTBzWmpicVdGaDFJNkNmbmFzVm41SjVZbjV1Uk9FQ2J0ZVN0Rk9uTFBzCm1HVHJXV09O
TlFKWjFvWno1aDYvbDJWMzM5dUdDd0xkZnI5NndkVHFKMmt3aTJ6aWF2cmtrMDhHc1JqVzFBSkxl
eWRXdW5TMUk4dGkKZ2RIaldwSUhML1RaRVpqOW9FMGlNSCtUZk00MmpCSG9aaEc0WVF5clg1b2o0
QWc0QWhwWFFGeUZGMHdOUVN3QVBWTXdkVENMYkw3dwp3Z3Y2VHpBQklQMWJVQVB0SC8vNFI5RkU4
ZHkwWUxHNGM0YzBOaFpHQk12K2tKMC9UUnJBY2J6UVozL1E5SDBHaWtCbjFNZ0Q3Wlh2ClArZ0lk
S3NJM0tCZnFKL1FFWEFFSElGQlJxQmI3MWN2bUZyL1JnOVdrVTJiOE9NMWtKUEVFMm94WklMSHNj
cWt3Z2k4SkwrUk9KQ2EKejBjZmZaUWZwcWwxTC9UWkZFek9ORWdJdUFWa2tJRHU5ZFBnY2dXUjk1
L3NHMldVRi9lQ0p5L29SellWc2t4WnBxbXk0M2liSStBSQpPQUlqQ1lGdXZGL1RncWxnVGQwc1hC
N0p3aWlKQVVyaC8vYTN2eDBrK1lCKzBMS1BIVHMya0hXUzl6bGFjaXdZRUM2NS9TWGNYRk5pCmNr
NXRKZXAxU1NCMnVpbmdJdFFwQW85WFgzMDFTQ0tEUHFkZ0hFTm9oTWlDUlRyL01rcjVzSEpKMHBB
eXR2QzFyMzFOMjh0d0EyTnEKcUQzMTFGT0JySnlTNktUbUdKTW1UZXFUV1F1WHJ2NlNGL3JzTDNL
K1g3c1JhTHNGeEZJNnRydWpISThYbFdrU1dPL1ZmT1BXVDJJbwpvRjdQNzkydEluQUtqbjg1QW82
QUl6Q01FZWpXKzlVTHB0Wi9xQWF6eUNheGZOQ3NXYk5LTzdYNDRvdHIrOElMTDF5NnZaMk51R0Za
CkRJZ2Qxd3Q5R2hMK081Z0l0RjBBNlVhKzhWN0k5ejFVODN0M3F3amNZRDdrZmk1SHdCRndCTHFC
UUxmZXIxNHd0ZjdkUmptSXhRV1gKcE1NT082dytzMno5M09jK3AxWWY2a3pWSS9qS2lGcG5rdDVh
aXhaM1VrbGJkdTY4RFFFa1ZlUjZvYzhjSVY4Zk5BUmFTZVpWbG1ZdwozYitiK2NhN21lKzdtL205
RzkyVDlQN2t2TlFBa0Jkd2xJcmdrUlIrMUI2UWlzTzZpeFJxak9UWlR6L3lFbzBTSEJmRkhCMnBk
MEtkCkMzbFFveFJIU2s4VDMzdnZ2U2dhbmJqampqdld0S2NyZVYvU2JmbHlLN3o1dnAxZUZ5dGN4
MDVCTFJFK1JtSkpzOFdlK20zbC9yVEMKTzlnWDZmZHlzQkh2L2ZPMThyem12TjE4djBvaDNGaVZq
bFcwOFZwSDRzTVBQeXh1d1AzMzM2L3Y4clBPT3F0b28xWUZxV09wNzVLKwpleDU4OE1HNDRJSUw2
dnY5NzMvL2U4SFBBdldSRGpua2tDakZDMnZhMDVYQnFuSERPWC85NjEvcmRhVjFRT2dqTlc1RVdO
QXhMTzBiCmRXY1kwNmlobEJJMW1LUlFjWHo4OGNlMStleXp6MVkrS1FDWXN0VmRGbmN2clpQRDll
ZTRTUVpLUFI0OFJ0U2RvaS9VeGNscDJXV1gKalpJOHBxYlo3dUVKSjV4UTA1NnZTUEZvdmY5YmJi
V1ZqdjNVSDZHT1ZVNjlWbWNuNzUrdkQzMEU1bStucEVPVmFLcDhVaUdkNnQxbAo1a1F6TmFaK29O
LzYxcmNDdnFjRVd4bVIrcFVLNnNRZHlFdEVmVmR0Ry90U0tkd3lTOUJ1dnFPcHo2Z1U2OUVZQlFL
MnFCSXFoWG9LCmYwL2pUL3ZCY2NnK1FmVlhveXEraFJaYVNQdGwvZVE0bUx6VDdCVWNnelNNVWtE
UkRxZS9ka3o3VFRmU2xyY2JadmFiOGc5a0dYOVUKS29xakFmbnlsNytzOXdCY3FYeUxkcWdxamtP
S2ErbDlrVUo2ZXZyY1p4V3QwaGxubkJFdXUrd3l6ZFl4bk5QSVl2R1RnVDVJY2JZKwp0NExxdFRL
Z2gzdnZ2VmR4SnEwdXp5Y2ZudmtERHp4UU5XdnBqbWpIRGozMDBDQUZvelFOTDg4VDZSdHg0K0NU
L2tmUy9YeDU0QWlNCnhIdUo5VmdtTFBxTzR2bmt3elBIK3d5L2RhbzBqL3JNN3grRXFRSXRoYzYw
cWpaeEJGSjhVMU4xeTJSVmZkajVIOHlZTWFPU1QrcmIKNlBNc2hUWUQxWnVITTNYci9jcjRLNVBN
TUc3Y3VMRGRkdHVGRlZaWW9ZQlpsRWFCZTRWbGh2R1ZpdG1Nb3lLd0tBOFZ3bkhISVRNVApMczQ4
QTJUdlNyTXdrWTVkRkZaYUtYejExVmZYcXVHTVdZeHp4RTFRR1oxNGtXNFRjUkxNSGFCamp6MDJZ
TDE0KysyM2d3aFBRWXI0CjZYVVMrRzEwMDAwM0JWRzg2U3F4R0Z3YnhEdjVpU2VlQ0ZLelNDdXI4
eCt3bExrRWpUTytnWFVqNHIveTRvc3ZobU9PT1VZemdiRVAKL3dQR1VjWlVFV3FLZThYL2tsZ2Rp
SHNpUXFCV3E2Y1NPbFhudVE2YkJ6SEgrUDN2ZjYvN3d6OXQyclN3ekRMTGhJa1RKN0xhaDNnZQp1
Si9NenlaUG5oeWs0S2RXVCsvRDZBMk9RS2NSYUVXR3lqVTg2YjRVVGhQaEk4cWtOWXJRRUNVNE9k
MWNMSmNWeS9uNDQ0OVZFcGMvClpzRW5MdytWL3V0VjlVdzFsdldLOW9pNVVZOTErT0dIRjhlLzhN
SUx0ZTJ4eHg0cjJsaEFNNUpTR1o5TUJOVUtBTjl0dDkybXg1RUoKZTdwYjNlVjZmVzIxd0ZDOWU1
SjNJdWZ0WmhHNHZDOTVYOVAxTWw2dk1Ed1BJUmx3dE1xNkRFSkZJeFlxR1VTMW12b1BmL2pENGxj
QwpHaU1hc2xRanlFNG5ubmhpd1pQeXN5d0RjM0hjc29XeSsxUEdSMXNacjkvTGVXaDE0MTUyMDNv
ODc4ci91VFNVS3pYbnozWTMzNjg1CnJwMWFIMG9GVXp1RlFYK095L3NaUzR5azJJMFVLUnlwbFA5
blJpb09JL1c2MFY0MVRmVWVsaXV2dkRKS3lqODkxdFpiYngxRncxQjYKWEJOQXFQcDUvZlhYUjlH
V3hOR2pSMGZKTkZIanlvTUpXWVN2aUJteUdhbzNxV2YvSlpaWUlxNjk5dHJGb1V5d1lESW1HcU40
K2VXWAp4NE1QUGpoS0JxaUNoNFdjajhGYU5LVnhsMTEyVWI2cFU2ZHFQeSs5OU5LYS9WZ1J6VWJF
cEdvZlROcVE5ZldjYzg2SkNFRHBCOU5xCkt4Vk82OTBUUFZueTFRcHZzbHRIRmx2cFN4bXZWeGll
ZDFzUW1rVUxGOFd5RXNWYW9oc2VmdmhoZlM3NUQxVjkrTzlCdU15aE5LamkKdS9QT081V3Y2cXZz
L3JUQzYvZHlIbHJkdUpmMlBrTHBrNU5rOW9sU21EUE9uRG16MkdUdnhGeDV3NFNiWjhtb0h0K2NP
WE9NcmVaMwpLRmRxYnVWL1VIUFJ2dUlJakZBRS9EOHpRbS84WjVmOUx6THBhQXYxWXI3eDlNSTZs
ZS9iZ3Jsd084cHBNUE43NStjZTd1dGVZWGplCkhjWUZETk0rcmpPNEVVRHJyNzkrVWNsZS91dkZN
aTZEUExPa2o3U3E5ank3dEtkOHVCTXVzc2dpMnJiNTVwdlBPMWtIbHZ4ZXpnTzEKMSs3bFlGYUxC
Z1VybEdaWmVuQlh4RlVMZHliY2U2ZFBuNjVnNFNZclB1cnFVcHMrdDZTT2ZmYlpaNE1JVFFYdjl0
dHZIeVErVVFzQwo0cDZFMnluamxaTWo0QWc0QW81QTl4Q1l2eDJuN3RWODQzWnRuY3ozM1V2NXZl
MTZSOHB2Tnl1NDMzREREV0g4K1BHQm5PcGJicm1sCnhocmhOMXhGK0V5enorelpzM1hpVDI1OUNk
WXMyUEVCaHZBSnJxSjZNVUQ0Nlk4Wk02WW11MG5aY1lpcFFoaVhaQVBxUzF6RzA0MDIKdjVmelVP
K2xlem1ZMWFKQndBUVFVK3dZS2w2cDJaRHdYMGZBRVhBRWhnY0NiYkdBOUhxKzhVN20rKzZsL043
RDQ1RnM3U3E4d3ZBOAp2RWdHTUhmdTNLSkJYUDgwMEoyVW5Ea1JnRmpXbnZNTjVycmZ5M2xvOTlL
OTdKVDFlTjdWemx2Q0dvY2x6eXdnODdZRVRZN0J1cmpUCnBzMmx5MWp2Sk10VHNRMEZBQUh3NGpx
cjFhYnp4QmtGb3k4NEFvNkFJK0FJREFvQ0F4WkFlajNmT09iNVR1Yjc3cVg4M29QeXhQVFkKU2RJ
S3cxVmRRK3ZQYzVCU1hzR2RyQ0prcXlKN1Z5TktMWDRTRTZRWlk2ekNjTlcrVm1HWURDVUl4R1Na
d1FxQ2RRNnlURU5sbFhLcgpqcG0zNXhuZDBDS2pIRWlGRXRzSDE1WmVJNytYOCs1SXI5eExzeDdi
dlpuWHc2QnVmQk1tVE5CSzBXVHdJVHRTR2VIdUJ4OVpsOGdlCkpIRnVaV3hGbTFkcUxxRHdCVWZB
RVhBRWhpMENBeFpBU0wyTEMwcE9XQWI0a0FaUGNsNFhtMG50QjluRWkyVTBVMHpNU0RWSGFqcUkK
U1NOK3ZxU0UzWGZmZlFPcGRGTjY0NDAzZ21TMUtvNWp4WDN3WlRlQ1IycFdxTDh2S2ZoSU5XdGsv
UC80eHorc1NYOUp0U2VaZ2pUOQpJQTMwRFRKK1hVbSs2S2NFeW11S1ZNa1kxS2VmSEMrbmVzZkVo
emsvbDJGbXYvbnhSdXE2VnhnZVBuZmU3MlZ2M3N0T1dvK3JyaGczCnJOd0M0cFdhcTlEeWRrZkFF
WEFFaGlZQ0E0b0I2WlY4NDkzTzk5MHIrYjJINWlQWXYxNlR4eDZCVHdwR0JlcTlQUGZjYzJHUFBm
Wm8KNm1CV3YwUUtNQmI4SElzYUcwY2ZmWFRZWVljZHd0SkxMMTJRaEZ1ZEFBQWdBRWxFUVZSc1N4
Zk00bWY1NVczYmlpdXVxTFVQYUNjSApmeU15RGJjSnpGaERxQTJDaHBnNkMza3RHSTZIME40TCtm
VWJYVnVyMi8xZXRvclk0UEQzMTNwTXZhVTk5OXl6c3BOVjFhSnRCd1FRCkVuZ1lVYWZveUNPUDFQ
b1N4RjMxTXMxMzBueTkzRDN2bXlQZ0NEZ0NQWVBBZ0FRUVRPcDh5b2dnVjN6UVU4SUNnVG0rRldK
aXg4UVEKeXdDWmZwaUFuWExLS1ZyOHg0NGpGVDBEbjJacDU1MTNEbndhRVFWNitEUkRURmdsRmJG
YVFpamdoMldGSWtlNXE0dWtLQTU4Y3NMMwptU0tBZkZJaUExR25zeENsNXhzS3l3aWNaTVJoRXM5
azUrU1RUOWJDV1BRZFM1ZFVxNjI1RExMaVNLMFpMZkJIWVVBcnNJaHZlMHFTCkZqbHdiTExyVUh5
cmpKcXgrQjF4eEJGaDBVVVgxZDNOYXRXc3hROXJJaFkvckdyNHNSdGh6Y01pU01HdzRTU0UrTDBj
MEN2WUhvOEIKL1pyRjFZUmhEc2J6UnNFenNrVlJGSzBWNi9IeHh4K3YvYWxuNmEzWFlRUVFzbDN4
bm56cXFhZTBBQndKSEJoVGVwbmlUMnZkUEh1NQpyOTQzUjhBUmNBUzZqVUQzUjc4bUVhRGFLRlY2
ZTUxd3lVb3J6L1o2ZjNGdElCNWl5cFFwZmZwOTJHR0hxZnNjRTE2c0JWSkhKV3l4CnhSYkZKVEZo
WWJLeDQ0NDdhaFgxWW9Nc1lBbkFXb0Rtc3Qza0ZZYmJqV2ozanVmM3NudlljK1p1VzQvTHJ0NHJO
WmVoNG0yT2dDUGcKQ0F3dkJPWVRNM3ZUYWh2TXk2N2w2YTBIb0pWN1VzWjcvdm5ucTJVQUFlKysr
KzdUVks1YzRRc3Z2S0F4UFBuVm9oV2RQSG15TnYvMQpyMzhOWThlTzFSejlNMmJNQ0J0dXVHSEJq
a3NSVmgxaWU4cW9yQzlsZkxUbHZGaVhFSW9ROXRwTi9CMDRQblVFdWttcHhROHJJUGVuClZ5bS9Q
L1g2bWZQNnZheUhsbS9yTmdMNTg5cnQvdmo1SFFGSHdCRVlMZ2kwZndZM1hKQVpJZGZSN1NKdy9Z
R1pqRk9kRUQ3b0MyNWQKM1JZKzZJZFovRWprME12Q0IzMGRDUG05SEFoNnZxOGo0QWc0QW82QUl6
QTBFWEFCWkdqZXQ3YjIyb3JBelp3NXMvUzRUUGFKY2RsawprMDNDZSsrOVY4TkRzRFJaem9oWHdC
WHJwWmRlQ3M4Ly8zeVJacmFHMlZjY0FVZkFFWEFFSEFGSHdCRndCRVk4QWk2QWpQaEg0SjhBCmRL
c0luTVB2Q0RnQ2pvQWo0QWc0QW82QUl6Q3lFR2k3QUdJWlZUb0JJNFhWK0JoWmhpRmI3NVZmNjZl
RjEvenRiMy9ybGE1VjlzTUsKalpIM3Y0cXdoTmcxR2M5QUN2clpNZnpYRVhBRUhBRkh3QkZ3QkJ3
QlIyRGtJTkIyQVdTMzNYWlRONXd5Q08rNjZ5NU53NHVmUFJQZQp2ZmJhSyt5OTk5NWh2LzMySzRv
TzV2c2gwSkJ5bFNxN3A1OSt1cWFHeEJWb280MDJDanZ0dEpPeWt5Wnk5T2pSNnIrLzVwcHI2dkZJ
CnBVcDhBMEhXczJmUHJqbnNmLzduZndiY2p1Z0h4OWwvLy8yMXBzVHV1KzhlVmxwcHBiRDk5dHNy
ZnhVZjlTYmdTd3N3a3ZHSmZxNjcKN3JwaDZ0U3A0Y0lMTHd6YmJydXRCbWx6RGlQU1d0Skh6azFX
S1RDQkNPZ21ZeFR0VFBSSk5ZeHIweDEzM0tHdVQ3U1QxdmVpaXk2eQpRN1h0dDF0RjROcDJBWDRn
UjhBUmNBUWNBVWZBRVhBRUhJR2hnNEJvdEp1bWNDSUs4R3A2NVpWWG9reVVvMHorSzVta2JnTlp0
K0s1CjU1NWI4UHpoRDMrSUN5eXdRSlJpY0VVYkM1SWlOaTZ6ekRKUmFvMUVxU2hlYkpNSmN6enFx
S1BpMTc3MnRhTHRra3N1MGVQZWZ2dnQKUmR2Nzc3OGZEenJvb0xqRUVrdkVoeDkrdUdoblFZUUU1
Zi85NzM5ZjB5NkNSSnd3WVVMUlZzVW4xcGNvZ29yeTBVL0pYYS85L08vLwovdTlpWHhha2RrT1VP
SW1hTnV2cmRkZGRWOVBPaWhUVmk2dXNza3BOdTJFbUJlcHEybGxwZEUvU0hjcDR3WWpyV0h6eHhm
WGNVc01pCjNhVm0rYnp6em90U3JiNW9telZybG1Jb1JRQ0xOaFpFUUl0U0J5TktpdFdhOW5TbHJD
L3A5blM1RmQ1MFAxOGVIQVJhdVQrdDhBNU8KNy8wc2prQTFBdjY4Vm1Qald4d0JSOEFSR0FnQzg3
ZFRWS0pJRzFZQUtxU2ZkdHBwWWVHRkYrNXplSm5vYWhzYWZTTXFRSC83MjkvVwpnb1BXUm8wSmlo
eGlEYUNtQk5seWpOaVhnbjJraWpXeXl0RnA0VDhxWk9NaTlORkhINmtWZ2FKMTY2eXpqdTVpL0dr
LzJDQ0NrRnBqCjh1UG1mQXN0dEpEMnkvcko5b3N2dmxqM3QzMzV4UXJ6OU5OUHAwMUZsV3ZyUTdx
UnRyemRNTFBmbEg4Z3k5MHNBdGRxdjBtSDZlUUkKZEJJQnJLM3QvbzlaZjgxMTFBcjY0VDc2aFM5
OHdUYjdyeVBnQ0RnQ2pvQWpNS0lRYUpzQVF0MEMzSWhPUFBGRXJRaU9FQ0xXaDZiQQpuRHQzYmhC
dHVycE8yUTUzMzMxM2VQTEpKNE5vL1V2VGtDS1ljSTVtNk9jLy8zbTQrdXFydGJxdUNTQlYrMUhG
V2pUOVZadTFYU1MrCklCYVlRT1Zzc2Job1A0ODc3cmcrd29jZDVJb3JyckRGbnZydFZoRzRWa0h3
MmpPdEl1YjgvVUVBOTFIKyt5dXZ2SEtmM1hHVlBPdXMKczhLOTk5NGJ2dkdOYjJoUlZKUWRmRkNn
SEhqZ2dlRnpuL3Rjelg0SU5JY2VlbWg0N2JYWGxCL2xCdTgwWEI3NVBQREFBelg4M1ZqQgpmZldF
RTA1UUpRbUZYdm5RVHhRcVltRldOOUpSbzBZVlhjTXRsWGN5MmU2bysvUFZyMzVWNDhMRThxdFZ5
OEdPbWtCVmZGUkhCNE4vCis3ZC9VL2ZTNHNDKzRBZzRBbzZBSXpDaUVHaWJBSExERFRlRThlUEho
K1dYWDE1akk3QTgxQk5BeE8wcXNBL3hHVGZlZUdPZ2NOMGgKaHh4U2dQL0hQLzVSbHhtb3FxaFpi
ZVdYdnZTbElHNVlRZHl3K2h3S0t3Q0IxNTkrK3FrT29PS1MxWWVIQnVORDBNS1NBajlrVmhoeAp3
ZEwxOU91dHQ5N1NvbmJXUmlwYkJuY2pCdkZjQzhyeEI0dCs4SU1mcU5DSE1BY2hWUEdCOHJnWmJj
eStpTjNoVTBiaVRxY1dyRjZvCnFWSFdQMi9ySFFURWhWRXRsVk9tVEFsVXdVN3BzTU1PMDFnb0Nr
OHV0ZFJTR2plMXhSWmJGQ3hZSUk4Ly9uaE5BWTBWTlNVc3A4Um0KRVZ2VmlGNTk5ZFdBMG9QM0Zu
RmpPVzIrK2VaYUh3WUJoR2ZiM2xYUFB2dXNXbFZKUFgzcHBaY1d1NzM0NG9zYTc4WjdqWDNNZ292
eQo0cGhqamdtMzNISkx3WnN1WEgvOTllR2VlKzdSdURSaXhDQ0VGU3lwRkcxTUNVd285c2wxYjdQ
Tk5zV21rMDQ2S2J6OTl0dkZlcm9BCmRyeW5qYmJlZXV2dzdydnZob2tUSjRhVFR6NjVPTTRISDN5
Z2dnYkh1dlhXVzhQNjY2K3Z1M3p2ZTk5VGdZcHJJTmJOK3NqR0R6LzgKTUJ4d3dBRU4rU3l1VHht
enI5ZGZmMTJQeXoyd2R5WG5Ja1U0Y1lBc1V4ZUg4WU43bGRPQ0N5NFlzREtSRXB3NFBXak9uRGw2
YlNpWApVbUVxMzlmWEhRRkh3QkZ3QkFZUGdiWUpJQVJYTTNoQ0RFTGJiYmVkVHRUVDZ0anBaWDN5
eVNjNk1EQ1FZRGxoWUNCYmxNUVlLQnZhCmVRZzNxbllRUWdpVGpKelFXakk1UUpOWmI3SnNmRXdn
NEdmaUE1bHJCUk9CbkJoTW1VQTk5ZFJUT3NCamliRkJGVjQwb1BsRUgzZXgKd1NLYkZIWGlmR2hR
NitIWmlYUDZNWWNtQXZmZGQxK1F1Q2kxYUxJOFpzd1l2UkNFZTZ5TU9mM2lGNzhJa3lkUDFtYmVH
ZE9uVHc4WApYSENCYXQ3VDl3MWErTEwvWlg0ODFydnBQcHIyNTdISEhnc1NHeGF1dXVxcThQampq
MnR5RFNiZkpMV29SeVRvUU5EaVhZb2dnZEJTClJqdnZ2SE9mWm5QNTVCMW9OQmp1cTNhdTlCZDMx
Y3N1dTB3RkRaUlB2R2VmZWVhWmdFRDM0SU1QQml3b1o1NTVacmo4OHN2MW5xWDcKcHN0WXBCRnNz
ZUtBSThJaEh4S05ISDMwMGFWV3JuUi9YM1lFSEFGSHdCSG9MQUwvVkgwUDhCd01FR2pNR0RpWVNL
RDVaM0xMcEtDSwowTnI5K01jL0R0T21UVk1MQlB1Z0xUVExnbW1xVEJDcE9rNHo3UndUNGNOU3ph
YjdiTHJwcGtHQ3puVmdPdnZzczFYTGxtNjNaZU1qCkxnV1hxbVdYWFZZM01jQkJaZjBjTzNac2th
a0xhOUJpaXkybXZQWTFhZElremVyRmhNbytKb0Faai84NkFzTWRBYlQ3a3NoQUJWWkoKVGxGY0x2
OVhCSDQrVEVUNWo2RUZ4MkpxaElEeDBFTVBxZFo3cTYyMjBrbXFiY1AxQ2Zlb1JtVHVvN2dXZmZ6
eHgwMjdkbkpjY3gvRgpNbUJrN3FQNzdydHZ5KzZqdUlBeDJVWlJjZE5OTitraHNUNFlEdWt2bUtB
QTRkMWttSUFIN1NrZnNXa1VDcVVOUzA0cmhOSkVFb0NvCmtOZG9QeXdNalFRKytvQ1ZGV3RXR1pr
bEdhc01oRkJFSmtEdVBmR0ZDSnVRSlBjSVpEckVwVGE5VnU0bFZpbVVIOFpMVmtOSmtLS1oKRDNI
YnhZVU9oWm1USStBSU9BS09RUGNRYUlzRmhBR093U0VOT3Q5aGh4M0N6VGZmck1MSWNzc3RWL2NL
TWFremdPT0NnVTh5QTRaawpndEo5MEdJTmxIQ3hZaEFsVlc4allzQnRSR2ozMFRoQ3E2NjZxdjRT
dzFKRzVpYVdZbFBHNTIyT3dFaEdnTFRZcE9XdWNrM0NUUkFYClJsSndFOCtWRWhwOFVsWXp5Y2Ix
Qm9zQkZsWlRhcVM4WmN1OTVqNks4Z1Vya0ZsWHkvcE1HNWhnMmQxc3M4MVVnVkhGTjVEMlRycXYK
bHZYTEJKRDgybkUzSS8wNXlwODMzbmlqajZ1ZUhRdkJZN1hWVmxNaDQ3MzMzck5tSFp0UVFpR0E0
QzYzd1FZYkZOdDh3UkZ3QkJ3QgpSMkR3RVJpd0JRUWY2ei8vK2MvcTcwOWREdnRnQWtjVGh4OTJN
OFNrSG1JZkNHc0kya3NHSE01UlJtWXRLZHRtYldqSDZBdWFPZHloCkdoR3VWbWpicnJubW1ycXNG
bkRLUUxiZWV1dXB5d1MrelU2T2dDUFFQd1MrODUzdmhEZmZmRk90RUZWSFFKQW4xaUFsRkIzNC9p
TjQKTUNuSEVvSXlZOWRkZDlYNGlKUzNiQmx0dU1XVjRENkswb000cnlySzNVZFJicVRGUnMwYU9o
RDNVYXlsV0ZlTW1Ed1Q2RjcyTGdTVApzbmJiZDZDL2pkeFhtZlRYYzdjMDkxVjRzSXpidTc2c1g3
eW5zZjZZQlNUbEFYZUllTDVHaERDYVBpZTQrdUsrdGNzdXV3U1VUTGsxCnV0SHhmTHNqNEFnNEFv
NUFleEVZc0FDQzczUmFrTSs2aDJXQUR3SUkya2tqcTE2ZUNnOE1ETGhpNFg0MGJ0dzRaV1VpZ1pt
ZFFRZFgKaGp3MkFpM1k0WWNmWHJoczJlVGZCQmdPQXM5UGZ2SVROYmNqVUZnS1RMWVpmeDdZeVdR
QzF5aHpyYUp2S2IrdUpGLzBFMzl0Zks0SgpUczM3eWZGeXFuZE1YQWlzYjdhZllXYS8xdTYvanNC
d1FzQmNKTEZZVmhIL041UUtLUkdNekgrUFFwMElJd1JnRS9oOXhobG5wR3lsCnk3M3FQcHBQMHJF
SVlHbE9oUks3b0RSMnc5cmE5ZHRKOTlXcVBwTElwRXdBZWZUUlIxVXBKVFdHcW5ZdDJ2UG5CUHl3
dFBOeGNnUWMKQVVmQUVlZytBZ055d2NLY2ZlcXBwNFp4SWpRUWRKNW1zTUVQbXRTTXhJWVFOMEVG
YjRKS0NTQ0V5SEtDcGhFM0NTYldUUGh4djBpegpRdUh2amVhS1N1V3JyNzY2VmkzSDNZSkFSYlNs
dUVGaG1pZERsVmxhamozMldMVmVNQWxCSzRvckYrZGhjbUtFYjdXNWNSQ2J3YkVoCkp2NVBQUEZF
NGE1RkVLdWwwRVZyeHVERnRlWkVLa3I4dHNuUWd1c0VQQVJRb3MwbG14ZXhKWVlOTG1ZV0d3TUdD
RjM0Y0JNOFNod0kKL1dieVFaMFRmT1BKeXNYK0VFS2FGR2JVZ1BhOEQ3N3VDQXhsQkJEZ1VXWkEv
SmZXWEhQTnBpNEhnZjJSUng3UmpFM3NRTndWQWR1OApNMjY3N2JhNm1mamc3M1gzVWZyWVRlcWsr
MnJWZGVHR2xRc2d2TU41RDlwN3UycmZxdlpVTVZYRjQrMk9nQ1BnQ0RnQ2c0ZkFnQVFRCkJBcyta
WVJmY3A1MUNnc0VrKzFXYU1VVlY5UnNVVXcwbUpnZ2NKeHl5aWsxbWl4Y0x2ZzBTMlNDS2NzR2sr
OVBYRW9hWEpwdlQ5ZngKVDcveXlpdlZFb0pMR3BZVmhKNWNPMG5hU3o0NTRYcUEwTUVuSllKR1d3
MGNUZmZQbDcyZ1g0NklyM2NiQVpRVVdEQUlKc2R0aVlCMAovUDJiSVlSOEtBMXE1bGdQU0lZNXNo
MFJpOFovczR6TWZkU1VGOGJET3dmbEErMG9XQnFSV1N0c2twdTZqeExZYmxtbTB1TmdXZUJkCjFz
dlVYL2RWM05mMjNIUFB5a3N6OTlVcUJnUVFNZ2dhWFh2dHRacmhDNFZUbWtMWXR2dXZJK0FJT0FL
T3dOQkRvTGRId0FSUHJBOFUKeWVwMXd2UnYxbzVlNjZzWDlPdTFPK0w5d1hwSkFnc204VXhjU1NH
TDFSUENiWklVcWltUjRZaE1WUlQ0b3pBZ3dqNUVuRUpLcE8vbAoyR1JLcWdwc2I4WjlsTXhPNXZK
akxwRE51by9pbW9yN0tDNmF4Q1FZNFJxS2V5blc0RjRRUXN6bDB3UW8ra2tmc2NnU0g0UFZ0aFgz
ClZlcXlRUFZjVFpXaDRnc0JoQXhXS0dwSVlZNGJLNGtDVUdvNU9RS09nQ1BnQ0F3UEJJYU1BREk4
NFBhcmNBUWNnUlFCQXJaSmk0cVcKbTBrdTZibXhBaEw3UmZJSUV6RFNmVmpHdFJGaDN5d2dlVkF4
RmtWaVFFZ05qdlUwOS8zdkZmZlIvTG9HZTczYjdxdGwxNHNDQjFkYwpndXVwOTRJVk9uV2hMZHZI
Mnh3QlI4QVJjQVNHRmdMemlabTlOcUt6VHY5eDMzRXRlaDJBdXJESjcwa1hRUGRUOWh1Qi9IbkZW
UkVyCkFNSkV1NGxYRzhldmw2R3AzZWNzTzE3cVBvcDdWeTRNbGUzamJiMkJRUDY4OWthdnZCZU9n
Q1BnQ0F4OUJOd0NNdlR2b1YrQkl6QmsKRVNBdGE2Y0l0NjV1Q3g5YzIxQnhIKzNVZmZEak9nS09n
Q1BnQ0RnQ09RTHRWenZtWi9CMVI4QVJjQVFjQVVmQUVYQUVIQUZId0JGdwpCRDVEb08wQ2lBVTBk
Z0poY3JtbkZYSXRLTFFUNXhySU1hMmY1dDJXRmlrYnlIRjlYMGZBRVhBRUhBRkh3QkZ3QkJ3QlIy
Q29JOUIyCkY2emRkdHN0bkhmZWVXSGxsVmZ1ZzgxZGQ5MmxtV3NvRWtiZ0tWbXRTRlBMaDZyblZQ
ck5VelFpMEpEeDVyWFhYbE4rcXVRKytlU1QKbXU2VzJnR2syeVJMeXdrbm5LRDFRVGdtSC9od3dh
Qyt5TGJiYmh0R2pScFY5SWNVbTZUSGZPbWxsOEtHRzI0WXFPT0JzRURkRXJLdQowUGNaTTJab0tz
NHlQcks3MEFkcWZkeHh4eDE2WEZKNlV2UncxcXhaWWZUbzBacDZreUpuRkNaa0c5bDdJTExLMEZl
MlVjdmtwSk5PCjBqUzcxQUVoenozMVJ1ZzM3VC8rOFk4RHhiZG92KysrKzdTZlZITUhKeWRId0JG
d0JCd0JSOEFSY0FRY0FVZGdTQ0lnRSsrbUtaekkKUEwyYVhubmxsU2lUNXlpcEx5dVpKTlVtUWUv
eDNIUFBMWGdrN1dZVWdTRksvdjZpalFVcFBoV2w4RjZVV2lOUlVqRVcyMFR3aUVjZApkVlFVNGFK
b3UrU1NTL1M0dDk5K2U5SDIvdnZ2UnlrMEdKZFlZb240OE1NUEYrMHNUSjA2VmZtbDBGOU51d2dM
Y2NLRUNVVmJGWjlZClgrTDIyMit2ZlBSVFVrZHFQMFdJS2ZabFFkSnRScWtEVU5ObWZiM3V1dXRx
MmxtUk9naFJpaWZXdEJ0bUlnelZ0TFBTNko3MDJjRWIKSElFdUl1RFBheGZCOTFPM2pJQS9yeTFE
NWpzNEFvNkFJOUFVQW0xMXdTS3ZQam45U1hGSnJ2NHlXbnp4eGJVWkxiOFIxZy9TYjJMTgpNQ0lu
UFVVT3lZNURRYkEwV0pWOVNkV0pkY1BJaW4ybGhmOG9hdmFyWC8xS2l4UnVzc2ttV2xVODUwLzd3
VFlzSitUb043TGo1bndMCkxiU1E5c3Y2eVhhcUtyTi9TbFF6cHhoYVNuWk0rODIzNWUyR21mMm0v
TDdzQ0RnQ2pvQWo0QWc0QW82QUkrQUlEQ1VFMmlhQWtHb1MKTnlKY2xoQStFRUthcGJsejU2cnJV
bHAxL082NzcxWTNKd3A1bGFXdFJEQnA5aHk0TlZITWl1SldqWWpDWTlRUXFFY2kyZ1d4d0dqMQpa
ZkxvNDQ1RjVkOWMrTEJqWEhIRkZiYm92NDZBSTlDakNIajhXby9lR08rV0krQUlPQUtPd0xCRFlQ
NTJYUkdWYXNlUEh4K1dYMzc1ClFBVmdMQS9pL2xSNWVLb2RzOC9zMmJQRGpUZmVHRGJlZU9Od3lD
R0hGUHdVR29PSXM2aWlaaTBDVkVrV042d2dibGg5RG9VQThmTEwKTHdlcUd4UC9JUzVaZlhob01E
NEVMU28yV3pYa0YxNTRRZm1wM3B2VFcyKzlwWFVJckgzcHBaZXVFVktJUWFIZ1Zrb2MzOGtSY0FR
RwpINEZ1eEs4Ti9sWFduckVYNHVkcWUrUnJqb0FqNEFnNEFpTUJnYllKSUFSWFgzLzk5WXJaQVFj
Y0VMYmJianVkcUJQa1hVWlVPcDR6ClowNUFFTUZ5TWtxQ3hNa1d0ZVNTU3lvN0ZaSWgzS2phUVFn
aHI3NzZhcDlERWZTT2V4ZXVXL1ZxQmhnZjFnLzRjYjJDTEN0WG1kWGsKOWRkZkR3U05JOWhNbkRo
UkE4eFRLd2t1WndoZ0tSRzA3dVFJakNRRUpJWktGUlpUcGt3SlZNRk9pZi9QMy8vK2R5MVd1TlJT
UzRXMQoxMTQ3YkxIRkZnVUwvOFBqano4KzdMampqdXJHV1d5UUJWdzNTUUJ4NUpGSHBzMmx5N3di
c0xxaU9Ebi8vUFA3OEd5KytlYjZmaUNCCmhzU3FGY29Ta2t1c3M4NDY0Zm5ubncrWFhucHBzZCtM
TDc0WU50MTBVMVdzc0krNWtQTCtPT2FZWThJdHQ5eFM4S1lMdkVQdnVlZWUKc1AvKysrdTFzbzFr
RzdoeVVsUXhKUW80OHQ3QmZYV2JiYllwTnBIQTR1MjMzeTdXMHdXd1ExRmt0UFhXVzRkMzMzMVgz
MDhubjN4eQpjWndQUHZoQXJka2M2OVpiYnczcnI3Kys3b0tWbW9RZ1hJUEV4eFY5Wk9PSEgzNFll
UGREOWZpd05PR3FXMGE4TXprdTk4RGVsWnhyCjVzeVo0YnZmL2E2ZUY0czQ0d2IzS3FjRkYxd3dm
UG5MWDlibllhV1ZWdExOakROY0c5WnR4aGtuUjhBUmNBUWNnUjVBb0tsSWtjK1kKcWdMeW5uNzY2
VGh1M0xnb0E3NStaR0NJTXVER25YYmFxYy9oQ1RpWHk0NlNLYXZZSmxtbDRwZ3hZNkpZQ0tJSUp0
ck9kdmdJMkc2RwpKTE9WOG91bG9nODd4eFRoUXZ0b0d5Kzg4RUxsZit5eHg2eEpmOFVLVTdOZXhr
Y1F2R1RtVWo0WktQVTQ4SldSeEtyb2RxN2JxRjVmCi8vM2YvejJ1dSs2NnhxcS9aWmdaUTlVOXNl
Mys2d2owRWdKbHp5dUpHbVF5SFJkZWVPSDQrT09QRjkyVlNiMytkM2dQcEo5Zi9PSVgKQmM5Nzc3
MFhKV3RkWEdTUlJlTDk5OTlmdExPdzBVWWJ4VjEzM2JXbXJXcEZoSlFvN3A1eDBVVVhqYUlFS0dX
citoL0t4RGp5dnpVUwo2MmhjYTYyMTRuTExMUmQ1dCtVa1FsTVVnU0Z2MW5YSmZCZGxnaDFGSVJM
RnRWUGJTS0NSWG4vWjh1bW5uNjY4NENIdXFaWDhkOTU1Clo1L3oxbnNmN2JYWFh2cnVGQUdnMksv
c25jaEdFb1Z3ZnFONmZDSVVHRnZOcjFqRHRlOGk1R2c3V0lyUUZFWFEwbllSVXJWZEJMTEsKYXdR
ZjhKT01oTW9yQXBRK1h6eGpKRFFSNGJEbW5QVld5cDdYZXZ5K3pSRndCQndCUjZBNUJOb1NBMEx3
TlJvdHJCVjhzRFlRZUUwcQpXOXlRR2hFYUxUUm1hT0p3Q1lBa0U1VCtvaDBkS09GaVJRd0k2WEVi
RWZFaWpZaUFjeG53bFczVlZWZlZYOUx2bHBHNWljbmtxbXl6CnR6a0NJeDRCdFB2UFBmZWNXaGdr
TzE2Qnh6ZS8rVTFOankydk1yVTRZaFZGQzQ3THBoRVdnSWNlZWtpMTNsdHR0VlY0OE1FSGJaTnEK
NmtsdzBZaDZLWDZORk9aWVQ5RCszM1RUVGRwMXJBOWdrSCt3L21DQnhkSmltSUFIN1NrdjcyY1Iw
TFFOUzA0cjFNbjR1YkorbUNzcgpZd0dFWlpwVTU5eDd4aGlMNHlOUmlHUmJWT3RUZXEzY1M2eFNX
TE9OVjdJVkJzblFHTDcrOWE5cjNDQXA0TEhZT3prQ2pvQWo0QWgwCkQ0RUJDeUM0T1B6NXozL1dq
RlZpOFFqMk9lNjQ0M1FneEEyaUdiSXNVd3llRURFaFRCNEk0T1ljWldSeEdHWGJySTNCaWI0d01P
UE8KMFlod3RXS3d1K2FhYStxeVdyMlNEVGJZSUt5MzNucmhxcXV1Q3AwTVlxM2JHZC9vQ0F4eEJK
Z2NpclpkWFczS0xvV2tFOFJRa2MxTwp0T3cxTEdTTncwMkxTVGF1V01SVzRSS0Y4b1AzU0NNcWkx
K3J0NDlZUWpSKzdZd3p6Z2hqeDQ1dGUvd2Fia0ppRVM3Y082djZBaVlvCmV6YmJiTE0rbUZUdDAy
cDdvL2k1cTYrK1d0L1JDQU5sTVhhY2ovZzUrSEJSMjJPUFBTcmR3K0ExQWNSY1cybURjRGRqWDl5
LzNuamoKalg4Mmxud2plS3kyMm1wYVp5cDlUbEFBNFdaSDRoTEdBZDdiVG82QUkrQUlPQUxkUTJE
QUFnaXBkd2s2enduTEFCOEVFQ1lIUmxhOQpQQlVlS093M2JkbzBqZjhRVnk1bFpYQkZ5MFdzQ0pt
dzh0Z0lCcUhERHorOENBYTN5YjhKTUJ3RUhvb0RvdTFDb01BMzJNajRjNzlxCkxDV1RKazBxVXZ6
U044ajRiWC83cFo4SUgvaHA0eHVlOTVQajVWVHZtR2p3OG5NWlp2YWJIOC9YSFlIaGdBQ0ZPZDk4
ODgzS0ZONWMKSXhOSllnMVN1dm5tbXdPKy84UUo4SC9FRWtJOGliaGY5WWtMU2ZlelpkNFBGbGRD
REFOV1Z4Sk5WRkVldjhaL25QZzFvM2JFcnkyMgoyR0tCN0lCR1RKNHBRRnFtakFHVHNuYmJkNkMv
amVMbm1QVHpxU0tMbjRPSFdCaFROcFh4b3lqQyttTVdrSlFIM0NFU2lqUWloTkgwCk9VRm81TDI3
eXk2N2FDd2UrRG81QW82QUkrQUlkQStCK1FkeWFyUkpwNTU2YWhnblFnTkI1MmtBS1FHZFZCWW5t
SkY2SGhkZGRGRWcKWTlTWlo1NnBweVRJa0lFZUxTVVRhMnA2RUppWlpvWEMzWUtCZzRETTFWZGZQ
WWhQdDFZWWw1Z1RyU0tPR3hTYU1UUnNabWs1OXRoagpWZGdnQ0pOSkNhNWNuRWQ4dEl0THhiVUJq
UnhFcGk2T0RUSHhmK0tKSndwM0xTcW1Xd3BkWEJGd0ZlTmFjNktTT200VEJFdWl1WVNICjdGMU1w
c2ptUlNWend3WVhzd3N1dUVBUEFRWUUzZU5DUVNDKytMYXJkcEFCbWpvbnVLYVFsWXY5SVlRMEtj
eW9BYVBhNEYrT3dEQkMKQUpjckNKZkpOZGRjcy9US0VEQ3dhcVpFTURMQ1AvOXhoQkgrVDFobCtU
U2laNTU1UnQ5UmwxMTJtYktpR0dHU3pIKzBLb0VHUWQ4UwpxNkVmRkFabUJlRjh2SSt3WUVBbWlP
aEtpMS81SkIyTEFLNVVXSFB6T2tHNEtYV0t3QVBoaDBEN25NQVpvUkhhZmZmZFZkbVQ4N0NlCjht
SGxRamlzUjJSU0xCTkFIbjMwVWJXS1M1eE92ZDExVy82Y2dCL3ZiejVPam9BajRBZzRBdDFIWUVB
Q0NJSUZuekxDTFlDQkt5VXMKRUF4R3JkQ0tLNjRZeUJiRlFNOGtud0grbEZOT3FSbEkwSGp5YVpa
MjNubm53S2NSRVpmQ3B4bkNQZVRLSzY5VVN3Z1RFU3dyVElqeQp5UUZaWi9qa2hPWVBvWU5QU3Zo
c3QrcTNuZTd2eTQ3QVVFQUFDeUxXVklqL2VaVUFrbDhMNzRWSEhubEVNemF4RFdGQWdwOVZhWEhi
CmJiZlZUUVVPdjhXdnBURmF4SzhoeUtBY2tVQnkyQ3JKNHRlWVZLTmNJTjZnbmZGcmxTY2VwQTJk
akorcnVnVGNzSElCQkNVU2loaFQKSEZYdFc5V2VXc2FyZUx6ZEVYQUVIQUZIWVBBUStKZkJPOVhB
enNSQXY4WWFhNmhiVnk5cnNkQzhZZTBnQldRdWZBd01BZC9iRVJpZQpDR0FsSlhZTWl5cEpMQWhJ
YjVhd01rS2s2RFhDR2tLOHdORkhIOTFuSW1zOC9QWjYvRnJhMTI0c2R6cCtydXFhRUVEU0dKQnJy
NzFXCjQxeXdlS2NwaEt2MjkzWkh3QkZ3QkJ5QjNrZGd5QWdndlErbDk5QVJjQVJhUlFEM1NiSVNT
VHBzamJzd3QwdU9ROXdXYm9qcEI4dkUKeHg5L0hDUU5kbUZ0aEpjNGhaVE9PZWNjVlFBUUhGMUZ2
UksvVnRXL3dXcTNtTFBVU2pBWThYTlYxNGNBUWlZckxNWGNWKzdoNVpkZgpIaVpQbmx5MWk3YzdB
bzZBSStBSURERUVCdVNDTmNTdTFidnJDRGdDUFlZQWNSSUlJR2k1Y2RFa3ZnSTNSQUtPaVhlb2l1
TWd0Z3ByCm8xbEE4cUJpWEJySlVrVnNCMjVhdWRXMFYrTFh1bjA3dWgwL1YzYjlXSkNKQmNRdERx
RUROOWcwaHE5c0gyOXpCQndCUjhBUkdGb0kKekNkbTl0cUl6anI5bisraytVTDhhZFBzZFk3a205
cUZnTitUZGlIcHh4a01CUExubFZncDRyb1FKdHBOdk5vNGZyME1UZTArWjlueAowdmcxWXRweVlh
aHNIMi9yRFFUeTU3VTNldVc5Y0FRY0FVZGc2Q1BnRnBDaGZ3LzlDaHlCSVlzQUdhYzZSV1NTNnJi
d3diVlovRnFuCnJ0T1A2d2c0QW82QUkrQUlERFVFMnE1Mk5IL2lUZ0JCWUdJYW5OaXJkVEdzbjJa
Y1Ntc0VkQUlYUDZZajRBZzRBbzZBSStBSU9BS08KZ0NNd1ZCQm91d1ZrdDkxMkMrZWRkMTVZZWVX
VisyQncxMTEzaGJQT09pdmNlKys5NnZkTlZpc3lSZkdoNmptRnRxekN1TzJNUUVQQQpLUlZ3NGFk
STFaTlBQcWtCcUtUdUpFVXY2UzlQT09HRVFIMFFlSXdQRFNqMVJiYmRkdHN3NnJQYy9CeVgraDQv
L2VsUHRXSXl1ZjZwCjQ0R3dRTjJTcDU1NlN2cytZOGFNU2o0S1d0RUhhbjNjY2NjZDJsVXk2bEQw
Y05hc1dXSDA2TkdhcTU4YUF4UW1aQnRCbFJCRnorZ3IKMjhpaGY5SkpKMm1hWGVxQWtHYVNlaVAw
bTNacURZNExHVFlBQUNBQVNVUkJWSkQ3bnZiNzdydFArMGtWWDNCeWNnUWNBVWZBRVhBRQpIQUZI
d0JGd0JJWWtBakx4YnByQ2ljelRxK21WVjE2Sk1ubU9rcldra2trcURCTkVFczg5OTl5Q1I0b05S
aEVzb3FUUExOcFlrTnp2ClVRcnZSYWsxRXFYYWNMRk5CSTk0MUZGSFJSRXVpclpMTHJsRWozdjc3
YmNYYmUrLy8zNlVRb05SS3VmR2h4OSt1R2huWWVyVXFjb3YKaGY1cTJrVllpQk1tVENqYXF2akUr
aElsNTcveTBVL0ozS0w5RkNHbTJKY0ZxZVllcFhCWVRadjE5YnJycnF0cFowWFNrRWFwSTFEVApi
cGlKMEZUVHprcWplOUpuQjI5d0JMcUlnRCt2WFFUZlQ5MHlBdjY4dGd5WjcrQUlPQUtPUUZNSXRO
VUZpN1NXKyt5emorYnpKMVZtCkdTMisrT0xhakpiZkNPc0gyVyt3WmhpUkVwSWlod1NuVXVVODlS
Vm5YekxsWU4wd3N1ckFhZTBOYWdwUUpaa2loWnRzc29sV0ZjLzUKMDM2d0RRdUxDQTNHVmxRZHp2
a1dXbWdoN1pmMWsrMFVOV1AvbEVnaFNtR3psS3l2OXB0dnk5c05NL3ROK1gzWkVYQUVIQUZId0JG
dwpCQndCUjhBUkdFb0l0RTBBSWRNTGJrUzROaUY4a09heVdabzdkNjY2THFWVngrKysrMjUxYzlw
MzMzMUxzOFlnbURSN0R0eWF4SUlTCnBrK2YzckJMUnh4eFJDQ0ZaejBTMFM2SUJVYUxuNUhHRW5l
c1BmZmNzNC93WWNlNDRvb3JiTkYvSFFGSHdCRndCQndCUjhBUmNBUWMKZ1JHTndQenR1dm9iYnJo
QnE5UXV2L3p5WWNzdHQxVExnN2cvVlI1ZTNLNEMrOHllUFR2Y2VPT05ZZU9OTnc2SEhISkl3VStl
ZjRnNAppeXBxMWlKQU1TdHh3d3JpaHRYblVBZ1FMNy84Y3ZqMDAwODEva05jc3ZydzBHQjhDRnJp
RXFYOHRML3d3Z3Y4QklwbjVmVFdXMjlwCkdsQnJYM3JwcFd1RWxKZGVla256M2R0MmZqbStreVBn
Q0F3K0FzU2JOZnRPYWJWM2xqeURXaWNRQ1RTb2RlSGtDRGdDam9BajRBaU0KUkFUYUpvQVFYSDM5
OWRjcmhnY2NjRURZYnJ2dGRLSk9rSGNaVVdoc3pwdzVBVUVFeThrb0NSSW5XOVNTU3k2cDdCUW9n
M0NqYWdjaApoTHo2NnF0OURrWFFPKzVkdUc3VlM5bHBmRmcvNExlcXdUYXhLTE9hdlA3NjY0R2dj
UUxiSjA2Y3FBSG1xWXNXTG1jSVlDa1J0TzdrCkNEZ0NnNDlBTnhKb0RQNVYxcDZ4RnhKNDFQYkkx
eHdCUjhBUmNBUkdBZ0p0RVVESTZQVEJCeDlvMVdGQXc1ckFKUDJDQ3k0SVZRSUkKTVI5a2VlS0Qx
bi9zMkxGcUJhSHlNWVhKRUVnZ0UwUjBwWjlmOUFmaFk1MTExdWx6aEUwMzNWU3pVYkZoOTkxMzEw
eFdmWmlrSWVYYgphNis5d3BRcFU1VE40bERLK3NrMTdiVFRUaXFBWUEzS3F6VlBtalJKclVYcCti
QzBPRGtDSXdrQlNlS2dGbFArVTFUQlRna0IvdTkvCi83dStFNVphYXFtdzl0cHJoeTIyMktKZ1FS
RncvUEhIaHgxMzNGSGp5SW9Oc2tEc0dCbm9qanp5eUxTNWRKbjNBMjZmeEl5ZGYvNzUKZlhnMjMz
eHpWVkNRd1UrU1pSVFdXckxiOFY1NS92bm53NldYWGxyczkrS0xMK283QThzdSsxZ01Hd3FNWTQ0
NUp0eHl5eTBGYjdxQQpFdWVlZSs0SisrKy92MTRyMjhqMlJ5d1pSUlZUNGoySjRvTjM2VGJiYkZO
c0lvUGUyMisvWGF5bkMyQTNmdno0b21ucnJiY083Nzc3CnJpcElUajc1NU9JNHZNOXhwK1ZZdDk1
NmExaC8vZlYxSDl4a3lVaklOVWlDanFLUGJQend3dzhEeWllb0hoK1dKbUlGeXdpbERjZmwKSHBp
eWhuUE5uRGt6ZlBlNzM5WHpVbGNGeFJYM0txY0ZGMXd3WUdYaWVWaHBwWlYwTTRvdXJnMzNXaHRY
OHYxODNSRndCQndCUjJCdwpFV2lMQUVMd05RUEt3Z3N2WFBTZXdPdWJiNzQ1NElhMDNITExGZTFs
Q3d3b0RGaE1RTkRJU1hhcElKbWdsSlhKeVVBSkZ5dGlRRWlQCjI0aUlGMmxFQkp5ZmZ2cnB5cmJx
cXF2cUwrbDN5OGhjT2xKc3l2aTh6UkVZcVFpUVlsb3l3MmxNRjh0anhveFJLSEJ2UE9lY2MvckEK
OG90Zi9DSk1udnovMnpzUCtLaUs3WTlQRXBMUWk0RFlub0tBZ2lCTlFjV0hJaUEyN0FyMnAxaXdL
M1lGQmZ3aml1VmhlUXBZVU93SQpGcXlJQWxLVVl1TTlPNmpZQmFSRElLVE4vL3htblp1N04zdDM3
eWFiWkhmem04OW5zL2ZPblR0MzVqdHpOM05tempsenBZbkhxaWxzCnV6RFpBZGZaN2drUHVOdU90
REpaSmtPSmNEdlF1UFBPTzhOK3kyeDYreTY3SFZLVTE0R0dWZDIwZWR2dlJZc1dLZkdPcHlaUG5x
d1cKTDE1c2ZyTXcrSDdra1Vkc2tvamYrRDJDb0lYVlpBeTJJYlJFQ3FlY2NrcVphT3YwSXBJREQ2
ekl3b0VIMUU3dEJJNU43K2FBVE9OMQo0RkdtSUJJQlYrcFBQUEdFRVRTZ2Znc0JFeE5jRU9qbXpw
MnI0QUw5bm52dVVaTW1UVEp0RmlrUHhBMGZQbHpoZndjbWlNQVJ3aUUrCm1HUzYrZWFiSTdxSjk4
dUw4U1JBQWlSQUFva25VR0VqZE13d1l0VUNIcXN3MjI4LytBZUFmeDZZaFF3UzdEOHpxOXFFbVVQ
OGM0Y0IKTjU0UktXQmxJMWJBakNQS2dvRUlabE5qQmFoYVlUWGoyV2VmalpyVTdsZlNxMWN2ZGZE
QkI1c0JRMlZ1d2hpMU1MeElBaWxNQUxQNwovL3ZmLzh3S2c3am5kbXJTc1dOSHN6OFAzbUg4THVD
OXhDdzRiTVpzd0hzOWI5NDhNK3NOYjNjWXBOcUFtWHI4aHNRS3llUkFBM3NvClliQ053ZnkwYWRO
TTBiSDZBQWJlRDVoQUJSU3JzNVlKZUNEZW5SWVRSQTBhTkRCeFdNbUpKMVNtQTQ5STViQzJkRmlW
UVlCUWhMMlcKMFBhWTVMS09ST0NwVU55OUc2SElYVmUwSlZhbG9FNXIwMkpDUzF6RXEvYnQyeHNo
dDBPSERtWS9wa2pQWnh3SmtBQUprRURWRUtpdwpBSUtaUXhpZGV3TldCdkNCQUFJVkNodnM3dVZ1
NFFHeldpKzg4SUt4LytqZHU3ZEpDaTlYK0NjRFd4RjR3dkxhUnF4WXNVSmRmLzMxCmpqRzRIZnhi
QVFhWklBMDJCNFI5Q2dRS2F3Q0themE5VjYwQkt5VlFqYktxVlNpYk83MDVjZjFCT1RGYmlSbEhx
R1o0eTRuOHZDRmEKbnZnSGFzdG03N1BNN0xlTjV6Y0pwQXNCREE2aDJvalova2dCN3htY09HQTJm
dFdxVldGSk1DT1AzeGdNc3FGNkErY09VSW5DNmlzbQpNbUtGU0E0MG90MWpIV2lNSFR2V1VSMU5w
QU1OcUFsaEZjamFsL21WQlV4ZzI5YS9mLzh5VFB6dWlUYytsZ09QWjU1NXhrd1NRUmlJCjVPUUR6
NE5hS2RKaEJlTE1NOC8wVlE5RFdpdUFlT3NPZFRQY0M2RVN2K3QrQVlKSHAwNmR6RWEzN242Q0ZX
aW8yY0Z6SWlhaU1ISEUKUUFJa1FBSWtVSDBFS3FTQ2hSL3owYU5IcTk0aU5NRG8zSzIvRFgxcTdD
d09YV0tzam93ZlA5NTRqTUx5T1FKMGZMRkVqa0VDQnRZWQo4RU12MnUwWkJyT2QrR2NQZmVndVhi
cW9QbjM2bUgwNXNFeVBYY1NoZG9CL1RQZ0haMWRhaGcwYlpvUU42RUJESHhpcVhIaE9telp0CkhN
cVlXY1EvUkFUWVppQnZCQXo4bHl4WjRxaHJRWVhEdXRERlRDQlV4VkJYYjhCTzZwaTFoSzR5Qmc1
SUEvV0JYMzc1UmNHYkYzWXkKdDJ5Z1lnWjFFUVF3Z05FOVpqQ2hPZ0hWRXBRYnEwSFk1d1F6dy9E
S2hmc1JJS1RKeG94R1g5dEU4QThKcEJFQnZOTllBWUFiYnorVgpSY1REMXNBZG9PcUpkLzNkZDk4
MU5nbFlDV25idHEwNjdiVFR5dGlGdU8reng4bm9RQVAyWW5CUGJnTUd6L2dkZ0hxWVZZR3kxOERF
CmI1WFlwcW5JZDJVNThJaFVKcXpnWVBYSHJvQzQwMkF5Q2dFZURXTUZDS1B1Zm9ML0k1ajRPZlhV
VTQyZ0crdCtYaWNCRWlBQkVxaGMKQWhVU1FDQlk0Qk1wWUZZTy96VGRBU3NRR0d6SEV6Q1FnTGNv
ckF4Z2tBK0I0Ly8rNy8vQzlnYkJnQU9mb0FGNjBKRjBvYjMzd3k0RgpueUFCczdOUFBmV1VXUW1C
U2hwV1ZpRDB1UFdxa1ErTVB2SHhCdnpqaGRDQmp6dEFaU0pldFFuMy9Ud21nVlFoQUpVckJOaHNk
ZXZXCkxXS3hNZXNQbFJ0M2dERXlWaC94dmtFWXdXOE0za0Y4WW9Wa2RhQmhWVkp0K2JFaUFGVXFx
Sk42QlJEdmI0eTlKeEhmbGVuQXc2OTgKY09VZVNRRDU4TU1QalVwZHc0WU4vVzUxNHIzOUJQd3dn
WVFQQXdtUUFBbVFRUFVUeUt6K0lnUXJBZjV4ZE8zYTFhaDFKZk0vRWZ6agp3Mm9IUExCVTVzQWdH
RFdtSW9IVUlBQVZScWh6SW1DaUlXakF4TVNDQlF1Y2xRNTRub1BCTnZKNy9mWFhZMlpqSFdqQTNU
YyttTzJICkF3MFl0R04xTmxiQWJ4RW1LVEJneHVvbVFpSWRhTVI2Zm1WZnIwd0hIbjVsaHhxV1Z3
REJLalpXZ09EeHJEekJyWnBibnZ0NUR3bVEKQUFtUVFHSUpwSXdBa3RocU16Y1NJSUZrSVFBMVRU
aXZnRW9uaEFBWXBBY05VSE5FZ0l0ZUc3QWFBbnNCZUR2eURtUnRHbndudXdNTgpkMW1yNHhnclRa
WHB3TU92VGhCQTNEWWd6ejMzbkxGemdjcXQyNFd3My8yTUp3RVNJQUVTU0g0Q0ZFQ1N2NDFZUWhK
SVd3S3czNEpYCklyaWZoYXRYYS9lRkNzTnhCT3lnM0Irb1dNRkc1SnBycm5IVUhaRVdLeGZ1QVBl
OVdJR0VjYlJmU0JZSEduN2xxNnA0Ni9UQ3ZVcFEKRlE0OC9Pb0hBUVNlcktDcWluWkZHOEx0cm5X
OTdIY2Y0MG1BQkVpQUJGS0hRSVZzUUZLbm1pd3BDWkJBTWhLQWUxVUlJSmpsaG8wWQpOdFdESFJR
TWpqSDc3bWZIQWVjT1VIZTBLeURlVFQ1aFV3VXZWZGhUQW1wYVhyWE5aSEdnVWQxdFV0ME9QQ0xW
SHlxc2NFWUM0M29JCkhWQnhjenNSaVhRUDQwaUFCRWlBQkZLTFFJWXNzNGRiZEVZcGY4YW9ES1ZI
QkU0ZUpTZGVTaFFCdGttaVNES2ZxaURnN2E5dzFnREgKRWhBbUVoM3cwNGI4NFpxMU9vUGJnUWFj
YW5pRm9lb3NHNThkbllDM3YwWlB6YXNrUUFJa1FBSkJDWEFGSkNncHBpTUJFa2c0Z1p5YwpuSVRu
YVRPRUo2bnFGajVRRmdnY2NLREJRQUlrUUFJa1FBSWtFQ0lRdHdDQ0dTRUdFaUFCRWlBQkVpQUJF
aUFCRWlBQkVpZ1BnYmdFCkVLcGZsUWN4N3lFQkVpQUJFaUFCRWlBQkVpQUJFckFFRXE5NGJYUG1O
d21RQUFtUUFBbVFBQW1RQUFtUUFBbDRDRkFBOFFEaEtRbVEKQUFtUUFBbVFBQW1RQUFtUVFPVVJv
QUJTZVd5Wk13bVFBQW1RQUFtUUFBbVFBQW1RZ0lkQVhEWWdubnQ1U2dJa1FBSnhFNkFqaTdpUgo4
UVlTSUFFU0lBRVNTQ3NDY2UwRGtsWTFaMlZJZ0FSSWdBUklnQVJJZ0FSSWdBU3FuQUJWc0tvY09S
OUlBaVJBQWlSQUFpUkFBaVJBCkFqV1hBQVdRbXR2MnJEa0prQUFKa0FBSmtBQUprQUFKVkRrQkNp
QlZqcHdQSkFFU0lBRVNJQUVTSUFFU0lJR2FTNEFDU00xdGU5YWMKQkVpQUJFaUFCRWlBQkVpQUJL
cWNBQVdRS2tmT0I1SUFDWkFBQ1pBQUNaQUFDWkJBelNVUWx4dGV1cytzdVIyRk5TOC9BVDFDQjdx
Wgo3MWNnVEV4RUFtRUVncjVmWVRmeGhBUklnQVJJb0ZvSnhDV0FvS1Q4c2EvVzl1TERVNHhBdkVJ
RjM2OFVhMkFXdDFvSnhQdCtWV3RoCitYQVNJQUVTSUFHSEFGV3dIQlE4SUFFU0lBRVNJQUVTSUFF
U0lBRVNxR3dDRkVBcW16RHpKd0VTSUFFU0lBRVNJQUVTSUFFU2NBaFEKQUhGUThJQUVTSUFFU0lB
RVNJQUVTSUFFU0tDeUNWQUFxV3pDeko4RVNJQUVTSUFFU0lBRVNJQUVTTUFoUUFIRVFaSFlnei8v
L0ZQaApZOE82ZGV2c1lZVysxNjlmWDZIN3EvdG15MFhya0dlb3RXdlhWbmVSK1B3NENGUm0vN045
d3hZblVlK016YThtZkZ1R2ZMOXFRbXV6CmppUkFBaVNRdWdUaTlvTGxydXBMTDcya1Jvd1lvYjc5
OWx0MTJHR0hxZGF0V3l2ODQ5dTJiWnY2NUpOUDFKNTc3cW5PTysrOGlHbTIKYnQycVB2MzBVOVd1
WFRzMWZmcDA5ZFpiYjZuYmJydE5mZmJaWjZwcjE2N21VNmRPSFpXUmthSDIybXN2ZGV5eHg2cVdM
VnU2SDU5MAp4eGljWFhQTk5lcUhIMzV3eWc4T0pTVWw1dlBCQngrb2Q5OTlWOTE3NzczcS9mZmZW
eDA2ZEREcHNyS3lGRDZkTzNkV2wxeHlpY3JPCnp2YXQyK21ubjY3dXYvOSt3ODAzVVpKZDJMQmhn
eG82ZEtqNjdydnYxSDc3N2FjYU4yNnNQdi84YzdWNTgyYUZhLy85NzM5TmlkOTgKODAzVEIzRHRn
QU1PVUtOR2pWSkhISEdFV3IxNnRicnZ2dnZVM1hmZmJmb0Q0cSs2NmlyMTRZY2ZtdmhaczJhWnZu
ZnR0ZGNhZmtsVwovYlFxVHJUK1Y1NitIZVNkOFFMazcwNDRFYjVmNFR4NFJnSWtRQUlra0FJRVJH
QUlITlJJeUJmaFljeVlNWmpLMWdzWExneTdJTE9YCit2ampqemR4Zm1ua0g2Y2VOR2lRYzkramp6
NXE4bnJqalRlY3VMLysra3RmZXVtbHVtblRwbnIrL1BsT2ZMSWRmUDMxMTNyWFhYZlYKNTV4emp0
NitmYnRUUEJFKzlFMDMzYVJGaUhMaTVzeVpZK281YnR3NEoyN3AwcVZhQkM1OXdRVVhPSEhlZytY
TGwyc1J5UFRsbDEvdQp2WlMwNStDeXh4NTdHQzRpZElhVjg4RUhIOVFpaklURjJUN3cvUFBQaDhY
anBGbXpabnFmZmZZSmk3Y3NSUkFPaTArV2swanZqRi9aCjRrbnJsMGRseGdmcGY3WTlndlR0ZU40
WmI3MzhmbE5xNHU4TzN5OXY3K0E1Q1pBQUNaQkFzaE9vMEFvSTVDdk1aaU5ncGNJZDZ0V3IKcHla
T25HaWkvTkpnaFVNR29jNXROaDFXQTJ5UVFhZDYrT0dIeld4NXYzNzlsQXh3MUVFSEhXUXZPOTh2
dnZpaWV1Kzk5OVNGRjE2bwpEanp3UUNjZXF3OVhYSEdGS2lnb2NPSndVS3RXTGJYampqdXE3dDI3
cXdFREJqalhzQkx6Mm11dk9lZnVBNVRsemp2dmRFZVo0K0xpCllpV0NoOHJNekRSMXpzbkpjZEtB
eXgxMzNLRysvUEpMSjY1Smt5Ym0yTTBNcXg4b0MxWkovTUxqano5dVZwU2VmdnBwVTQ3NjlldjcK
SlhYaVpaQm4rRjEzM1hXcVZhdFdUandPWkpCdmVLSWNPK3l3ZzFteE91dXNzMVRkdW5YRDByMzk5
dHZxbTIrK1VWaGhjQWVzN3FDTgo3N25uSHFjZnVLOWJMc2gvd29RSkN1M3REbWdYckhpNWcrMEQ5
dHQ3elJ0dldkcHZkM29jRnhVVm1aV1RidDI2cVNPUFBOSmNSajhaCk9YS2tXVFc1OWRaYlZkdTJi
VTE4dkgxbHlwUXBhdFdxVmFiUGVldG1Na3pBbitwc1AyL3hnL1EvMnc2eCtyYnRHMEhmR1c5WmJE
OXcKUHdkcGF1THZEdDh2YisvZ09RbVFBQW1RUU5JVGlFZENpalJEKzhnamo1alovRVdMRmpsWllk
WmZWRzZjODBocGNGSFVhSncwT0JEVgpDcE9YREhqRDRuRWl1czNtMnZYWFgxL21HaUtRViszYXRi
VUlMMW9HeGs0YXJKcElJMFQ5M0hYWFhVNTZVU1h6VFR0NDhHQW5uZnNBCjVjVXpvczNDWTJiV0Jx
eDJJTDJvVXRrb3ZXWExGdDJpUlF0OXl5MjNPSEh1QTFGcjA2TE9wbi8rK1djdGd6WXRRcG43c3U4
eFZobEUKMk5JaXJPakZpeGVIcFd2ZnZuMlp1djd6bi84TVM0T1RJVU9HbUhRMzNuaGoyRFVSS25S
dWJxNHVMQ3dNaTdjbnI3Lyt1cmx2K1BEaApOaXJtZDdRKzBLWk5HOTJ6Wjgrd1BDS3hkQ2NRQWNU
VTM5M0d0OTkrdSs3VXFaTXBHMmFQYllpM3I1eDc3cmttRHhGa3RRaW1ldVBHCmpUWXI1enZTTytO
YzlCeEVTbHVkN2VjdVh0RCtGNms5SXZYdGVOOFpkMWx3SE9rM3BhYjk3dkQ5RW4zZmtXVlg1YjE5
aGVja1FBSWsKUUFMSlJ5QmhSdWlZSlgvbW1XZlVZNDg5cHM0ODgwejEyMisvbFJHK2JKb25uM3hT
aVJxUmtnRmZtVFIrRVR2dHRKTVNOU3pmZTJBWApnVmw2ekVSUG16Yk55VVlHMU1ZdVJkQ0hmV01H
RmdhYmh4OSt1Sm82ZGFxVGZ2YnMyV0hwckNIc2pCa3oxQk5QUE9Ha2N4OTg5ZFZYCjVoUTJMMzdC
emd5N3I4dGdUV0VXZmV6WXNlclFRdzlWZmZ2MlZWZGZmYlU3aVhPTWRDZWZmTExhZmZmZDFWRkhI
V1ZXTlp5TFVRNncKeXZDLy8vMVBpYUNnUkMwbUxDVm0xeTBYR1R5Ymxab0ZDeGFFR2MvakJxeGVp
QkJpeW9tVkZCdGc2d0k3RnF3bVJRcDIxVWNHK1dVdQovL3JycjhaV0JubmdBN3NoZDRCZGtRaE1Z
Wi84L0h4M2trREhXRTNiYmJmZDFCOS8vT0dreDZvSDdFNUUxVStKUU9lc3dxQ3Z6SnMzCno2UkQv
N1ZzL1BvSytqSDZ0S2dKcXB0dnZ0bXNxSGpyNFR5MG5BZlYyWDd1SXNmYi8yTDE3ZksrTSs0eTRk
aitwdFRFM3gyK1g5N2UKd0hNU0lBRVNJSUZVSVpBd0FRU0cwMUE5d2tBWDMxN1ZDQUJ4cDBHNmVB
T0VrTysvLzk3M3RwWmlwTjZqUjQ4eUEraElOMEQxQS9uMQo3OS9mcU5GRVNoTTA3dmZmZnpkSm9h
SVZUNUNWQTdWeTVVcUZ3Um9NcmNWMlJQbDVoWUtCdGxVaGdqQUE0UUhxYUVHQ3JIU29zODgrClcz
MzAwVWUreVJzMmJLaE9PdWtrY3gxbDhRYTBaL1BtelkzUjkzLys4eDh6T01mZ0QwS1RYNENBaHdC
Vk4yLzQ4Y2NmbGRqL0tGblYKTUNwU1hoVTVxS0pCUmN6OWdkRjZlUUlFSUxjQVl2TTQrdWlqRmRv
TUtsblJRclMrQWhVc1dibFNFRnpoZ0tBeVZMR3FxLzNjVE9MdApmN0g2ZG5uZkdYZVpjT3orVGFs
cHZ6dDh2N3k5Z2Vja1FBSWtRQUtwUWlEeTFIVTVTbytWQkhndVFzQmcxejFUYnJOenB6bmpqRE9N
Clp5UjdMZFkzZFBraGZFU3kvM0RmMjZoUkk1V1hsK2VPTXZmQml4THNONnp1dUUwQU93cDRrYWxJ
Z09DRFlBZFY1aVRBSDloOHdKc1QKUHBqZHQ2c2dtSlYzcnlyQUs5U2FOV3VjRlJpd3dHQUxnZ0M4
andVSmFCdXNFb2s2alBLekhiSHhXQTF4QjV4amRRdWV1MFI5eWF6UwpZRlVGZ29xb2pMbVRoaDNE
ZXhsQ0pDNm9Ld1FlZUVJVEp3TUs3ZVlPRjE5OHNWbnBjY2RCNENsUHdLb1JCQjV2Z0ZBRndRZUNW
WkFRCnFhK0k4d1ZqdTROMkNOb1dRWjdsVFZNZDdXZkxVSjcrRjZ0dmwvZWRzV1d5Mys3ZmxKcjJ1
OFAzeS9ZQ2ZwTUFDWkFBQ2FRYWdZU3QKZ0xncmpvR2Q2Tnk3b3lJZXc2MXEwTEJzMlRLelFnQTNy
dEZDcEpVWHpCUkNqY2dybUNBZnQ4Rjd0SHlqWFJQUFRPWXlWaVhLRzhSKwpSUTBjT05ETTFNTVEz
aDFRZHJnenhtdzlQbGk1T2VHRUU0ejdZcWd5QlFrZE8zWTB5Y0RSTDFnV1VEMXloOG1USnh0RGJS
ajN3OWgvCjc3MzNOcXAydzRZTkt5UFF1ZS9iZDk5OXpTbmM3MFlLVmkzTkNqNlIwaVFpem04RkJD
b3NXRlU1K09DREF6M0c4bkVueHNxS1Y2aDEKWDAvVWNYVzBueTE3UmZ0ZnBMNmRpSGZHbHM5KzE3
VGZIYjVmdHVYNVRRSWtRQUlra0dvRUtrVUFBWVJvZTFsWVNFaUQyZkZubjMzVwpSa1g4eG9CWURK
bU5Lby9YRTFQRUc2bzRFbXBJOEdJRm13Qy8xUlNzV3NRS1ZuaUN6WUVOeUE4ckl2Q3loUlVEK3dF
UHBMT2V4bXo2ClNOL3c3Z1FQUmdpd2s0azNZT1VEcW0wSVVOVVM0MWRqajRQOVc2S0ZYcjE2bWNF
OUJKakszTUF1V2hsd0RRS0lWVmV4YWRFZUYxMTAKa1JINklGQ1ZONEN0YmJmeTVoSHJ2dXBxUDVR
ckVmMFArVmhHdG04bjZwMUIzdTVRazM1MytINjVXNTdISkVBQ0pFQUNxVVNnd2dLSQpOYnFOTnND
MDE3eDYvckI1Z0txTlZTV3c2ZXdnQlNCWHJGaGhWTFdnZ3c1QlplZWRkMDQ2dnJBUmdEdGg2TDJM
cHl3enErNHVKT29nCjNydU1TMWpFVzhOMnQxQUNqaSs4OElKUkIrcmR1N2R6T3dRSEdKMTdBMlkv
OFlFQXNtblRKdTlsNXh5cVd4QmE0TG9YcXlkUW5ZbzMKUUFDQ25ZTU4ySEJ5MHFSSnhnWUZRcGRm
QUJjSUh4aEF5LzRtWmJpZy9iMGhXbitDbXBydEkvWSt5OUorMjNqM053UVEzR3ZUWU9XagpUNTgr
aGpXTWw1TTVWR2Y3Z1V1OC9jOHlqdFczNDMxbnZHMFVyWi9ZdExhdnBQUHZEdDh2MjlyOEpnRVNJ
QUVTU0NVQ0ZiSUJ3WTdFCmRnQUtkU3FvV3JnSHp3QUJqMVN3SDBDQXJuK1hMbDNNTVFZSFM1WXNj
ZFNxb045dlovT2gyZ05oQTU2SXNDY0YxRFdnM2dTRDVXUU4KaHh4eWlERW14ejRrcUNNR3VGRE53
VDRYME4rSFNocnNPbUR3akgwekVCNTY2Q0ZUTDZoUlllQUdRZXlWVjE0eGUzTGdPb1NHMGFOSApH
NmJISFhkYzJENGVNMmZPVk5oTkhnTlVySTZNSHorK2pIQUdwbERkd3V3ekROWmh2d0dEZHdUd3hE
M3VZRlhVSG5qZ0FRWDFLSEZWCmF5NTdCUkJFb2p4UUE0T3R6ekhISEJQUjBCenBJS3hnMVFXMkls
aEZRZitBdDdCZmZ2bEZ3Uk1TYkhQcy9pUlFQWU5kQ3dMWXdEWUQKT3Y2d05VR1owQjlRRit5ckF1
OVFzTC9BL1FnUTNtUWpTTE9xWVNKY2Z5Q0FJSUFUUEc1QkRRMENvV3htWi9adWNTVk5xc1BxYnI5
NAoreDhFdTZCOUc2Q0R2alBlUnVIdlRpa1J2bCtsTEhoRUFpUkFBaVNRUWdSRXZTbHdVQ25nYzEx
bSsvVXBwNXdTVmlkeHJRcWpCaTBECjJMQjRuR0RuYmJGQktCTnZJMFF3TVBlS0cxNGJGZk5iWm1l
MUNCNWFWaHMwanFzcm9HN1kxMFRzRkV3UnNGY0Y2aW96d2xwVTJVeTkKd01YN3diNGhJdGlZZTdD
M0JhNkxFRm1tR2lJNGFYRnhXMlova1RJSi80NlFsUzB0eHVCYVhPeHFtU0gzUzVid2VMUUI5bGdS
ajJjYQorOGhFYTh0NCs0cDQwaks3dlBzVk9wNTN4cHMyMmRyUHI0NkppRStXZDZhOGRVbUczeDIr
WCtWdFBkNUhBaVJBQWlSUTFRUXk4RUFaCllBWUtHYU15WkxlOXdNa0Q1Y2xFbFVjQXFpZFlkWUc2
UzJVRnFEWmg1WXNoTW9GNDNobHZXclpmWkthTUpRRkx3UHZPMkhoK2t3QUoKa0FBSkpEZUJXc2xk
UEphdUlnVGdxcmV5QTRXUHlpUE05cXM4dHN5WkJFaUFCRWlBQkVpZytnaFUzdFI0OWRXSlR5WUJF
aUFCRWlBQgpFaUFCRWlBQkVraFNBaFJBa3JSaFdDd1NJQUVTSUFFU0lBRVNJQUVTU0VjQ0ZFRFNz
VlZaSnhJZ0FSSWdBUklnQVJJZ0FSSklVZ0lVClFKSzBZVmdzRWlBQkVpQUJFaUFCRWlBQkVraEhB
aFJBMHJGVldTY1NJQUVTSUFFU0lBRVNJQUVTU0ZJQ0ZFQVMyREIvL3ZtbndzY0cKdXl1MFBTL3Z0
OTNSdWJ6M1Y5ZDlsb2YxOUx4MjdkcnFLZ3FmVzBFQ2xka0hiVCt4UlV6VWUyUHpTOWR2eTQzdlY3
cTJNT3RGQWlSQQpBdWxMb0VKdWVMRWo4WWdSSTVSc0xLZGt3enV6NnpYK0djcW1ZdXFUVHo0eE8x
NWpKKzVJYWJDTDk2ZWZmcXJhdFd1bnBrK2ZyckFMCjltMjMzV1oyRHUvYXRhdkNwMDZkT21ibmEr
d1FmdXl4eDZxV0xWc21YVXRnWUhiTk5kZVlIYlp0bVZIM2twSVM4L25nZ3cvVXUrKysKcSs2OTkx
NzEvdnZ2cXc0ZE9waTZaV1ZsS1h3NmQrNnNMcm5rRXBXZG5lMWJ0OU5QUDEzZGYvLzlocFZ2b2lT
NXNHSERCalYwNkZEMQozWGZmcWYzMjI4L3NCdi81NTUrcnpaczNLMXo3NzMvL2EwcjY1cHR2bXZi
R05ld1VQMnJVS0hYRUVVZVlYYyt4dS9uZGQ5OXQyaDd4ClYxMTFsZnJ3d3cvTnJ1ZXpaczB5L1V3
MlVqVGNrcVRhYVYrTWFIMndQUDA3eUh2amhjcmZHMlhlSWI1ZjNwN0JjeElnQVJJZ2daUWoKSUFK
RDRPRGRxUmszamhrenh1eVV2WERod3JCOHNJUDQ4Y2NmYitMODBzaUFWQThhTk1pNUR6cy9DMEQ5
eGh0dk9IRi8vZldYdnZUUwpTM1hUcGszMS9QbnpuWGp2d1FzdnZLQUhEeDZzM2VYQXpzQzQ5NElM
TGdqN1hIenh4VnFFbmJEbnJGeTVNaXlOOTU2ZmZ2ckorMGo5CjlkZGY2MTEzM2RYc2hMMTkrM2Ju
dWdnZitxYWJidElpT0RseGMrYk1NWFViTjI2Y0U3ZDA2Vkl0UXBaNXJoUHBPVmkrZkxuT3lNalEK
bDE5K3VlZUsveW1lZjlGRkYya1pHSlpKSklLQlUwOFoyT3U3N3JwTDR4bnU4UHZ2djJzUml2U21U
WnZjMGVZWVhFU1FLaE9QQ1BEWQpZNDg5REE4Uk1NUFNQUGpnZzdweDQ4WmhjYmE5bjMvKytiQjRu
RFJyMWt6dnM4OCtZZkdXb1FpMFlmSHVreDkrK0VHZmYvNzUydjM4Cm0yKytXUjk2NktINjFsdHZk
WGFtRjhISDRlQnU2eXV2dkZKangzanMxbTZEekRRYkhpdFdyTEJSZ2I4anZUTitOMGRLKzlWWFg1
aysKakIza3ZVRUVYMU1IOUdjd2VlZWRkOEtTWUxkNTFIM0praVZoOFRpWk1HR0NhZnN5RnlKRUJP
bUR0bTJDOU85NDNodHZjZngrUzFMdAo5d2IxR2pseVpNUStpUDQ0YmRvMGI5WDVmcFVoSXJOZEkx
V0VXRWFSQUFtUUFBa2tPNEc0ZnIwai9kZy84c2dqWm1DOWFOR2lzTHBpClFJNUJQVUswTkt0V3JY
THVreGxPazlmYmI3L3R4Tm1Eczg4K1crZm01dXFQUHZySVJvVjlZekF0bStKcFdWWFFzZ0pocmtG
Z2dVQVQKN1lNQk9JSXRZNlMwTyt5d2d5NHNMRFRwMzJwSk93QUFJQUJKUkVGVTdCOE03dmJmZjMv
OWozLzh3eG5VMm12NGh2QXpZTUFBSndyQwpCdktXbFF3bkRnZUhISEtJYnRPbVRWaWMrK1RHRzI4
MGdsWERoZzIxckNLNEwva2VmL1BOTjdwNTgrYm1lUmprdUFNRUwyOGRaZlZGCi8venp6MDR5V1kw
eXJGRy9OV3ZXT1BHaVFtWHVmZVdWVjV3NGUyQjV5Q3BWMk9EZlhzZjN1ZWVlNno3VjBkb2JUSHIy
N0JtVzNvK2gKTzlIVXFWTk5HU0dJSUtCY1J4NTVwTjV4eHgxTi9IWFhYV2ZpcjdqaWlqSWMzRnpR
anlDc0liejIybXRhZHBRM24zUE9PVWVEYjlBUQo2WjN4dXpkU1dnaHVlSGI5K3ZYMTRzV0xuVnUv
K09LTGlPVi80SUVIbkRSNHQyU0ZVVGRvMEVEUG5qM2JpY2RCbno1OTlHbW5uUllXCjUzY1NwQS82
dFkyM2Y5dCtFdlM5OFpiSnZxZXAvbnVEdHNuTXpJellodWlITTJiTUNLdTY1Y2IzS3d3TEJaQndI
RHdqQVJJZ2daUWgKVUNrMklGSjdKU3NBcWtXTEZ2Sy8xRC9jY01NTlNnYUcvZ2xjVjZDU0kwS05l
dlhWVjEyeHBZZFFVWktCb1ZIYmt0bERjK0dmLy93bgpCS3d5SHhFT2pLM0c0WWNmcm1UQWF0SkNE
Y3FidG0vZnZrcFdWUlJzRjJRUVdQb3dPWm81YzZaUk04UDFTTHVCeStCQ1BmMzAwMkgzCmVFL3k4
dktNcXRMQWdRTzlsOHg1Zm42K1VVbVMyVzIxWmN1V21QblpUS0RXSmlzMjZxaWpqbEpqeDQ1VkJR
VUY5cEpSZGJMMVJQNVEKZzVNVkZpV0RiQ2ZOMFVjZnJhQWloV3RRcmR1NGNhTzVKb042ODkycFV5
Y25yVDBRb2RId09PdXNzMHdiMkhqMzk1TlBQdWsrclpSagpXWUV4K2Y3eHh4L21HMnB1c2pLZ1pG
VkhRUjNROWg4WjJDdFpWVklISFhSUVdMdURDZFRFUk5oMTBzcEtucEpWQU5XK2ZYdlRCbENqCkE1
K3FDQ0lvcWYvOTczK21QTEs2NER5eVk4ZU9Ucm5SbjFFL0dldzcvUmtKOFc3Tm16ZFA3Ynp6emdw
dE9uZnVYT2QrdENYVS8yS0YKOHZaQjVCdXBmeWZpdmZHV09SVi9iOUEyYURmN0x1SmJWcVdVQ0lz
bUR1cUk3c0QzeTAyRHh5UkFBaVJBQXFsT0lIeFVYWUhhNEIvawpzbVhMRkFZc29vNmhaTWF1VEc0
MkRhNWhjQ3ZxVW1YUytFWHN0Tk5PU3RTd2xLeHErQ1ZSTWp1b2V2VG9FV1lJSGlreGhBUGsxNzkv
CmZ5VXp4cEdTeEl3VDFSaVRaczg5OS9STjI2UkprekxYWktaWVRaa3l4UWdJRUg0ZzVGeDk5ZFZs
MGlFQzZVNCsrV1MxKys2N0cySGkKNFljZlZxSlNGakd0TjdKdTNicHErUERoWnZDTlo0S0xOMkNR
M2ExYk53VWJHNW1SRGJzTVJyTHFZdXg3VUFZTTRqSG9idFdxbGJIdApDVXNzSjE5KythV0pzZ0tB
Ky9xdnYvNGFKZ1R0c3NzdVlVSUtiSWhrbGNsOWkrbEhZUkVCVCt6ellhRHJEaEFnenp6elRBVWhT
RlNwClREM2MxKzB4bUVEQWdwRGhaaUlyRU9yNzc3ODNBb2lzUHFoZXZYclpXeXI5RzRLUHJBQXFX
WG1LK0N5MEZaajI2OWRQUGZQTU0yRnAKUk8xTmlTcWRHZGllZU9LSlNsWVFsYXptS2JRSitsNnNF
Rzhmak5XL3kvdmVlTXRwZjB0cXl1OE4zeTl2RCtBNUNaQUFDWkJBS2hOSQoyQW9JaktoemNuTE1U
QzIrTWF2dURlNDBHT2pGR3lBMFlCQVlMVFJxMU1qTXZObzBTSS9WRFJoQWV3TUdsWkhpdmVraW5X
UEdHVUZzCkZTSmQ5bzNENEU5VTB4UUdhcXRYcnphck9uN2VvVERnRi9VaGs5ZVFJVU9VNk00YjRj
NDNjODhGR0lGajRJMzdvZ1Z3c0tzY050MS8KL3ZNZkpYWWtTbFJlRkF5Ly8vV3ZmeGxoRGJQd2tk
cldEdmdqcldpSi9ZSVNXeDhsYWxYR3VOeTlJb1Bud1ZCZjdFRENQakJhTDAvQQo4K0c4d0s2QXVQ
TUFld1FJc3JFQ1pxTGRUTkJlY0s1dzZxbW5tanFnbjFWbGdLSCtMNy84WWxiQy9KNGJxUjFmZnZs
bEJXRVVnZ2NFCkZheUVpQnFhRXZVcjFiMTdkNytzblBoNCsyQ3MvbDNlOThZcDBOOEg3dCtTbXZC
N3cvZkwyd040VGdJa1FBSWtrTW9FRXJZQ0FuVW0KREpJUU1GdUxRWTQzdU5PY2NjWVp4bHVTTjQz
Zk9WWk5JRXhBWlNaYThBNk84WThicWcxWURjQnNzRHRBUGFlOEFhc3RDSFpBWlU0QwovTUdnRDE2
ZDhNSHNyUmhIbTVsb3NjRUlVL09DZHlpeHYxQlBQUEdFeVJYMXgwQUxnZ0hVb29JRUNIa1k5R09G
SVZvQUI2aUEySURaCmNYRUVZQVNYdG0zYktzeGFROFh0NElNUFZsQkhpaFN3aW9JUWlRZnFlTkpK
SjVsVkw2emdlQWZ2WWtSdFZuamMrV0tHdTd3QkswYVIKQkJCNDBvTGFFVloyWWdVTTF0MU0wSStn
YWhkSjNTNVdYb200RHBVckJLd3lZdFVxVXZDV0dXbXdhaVpHemFZZlFCakJPNGkraGsrcwpVSjQr
R0t0L2wvZTk4WmJWL1Z0U0UzNXYrSDU1ZXdEUFNZQUVTSUFFVXBsQXdsWkEzQkFnQkloeHR6c3E0
akhzT29JR0RMeGdBNEpaCi9XUUk0cUhKRkNQVzZrSzBzbUl3Qy9zUERKYmhodGdkSURUQlpnRXJM
UGhnOWVlRUUwNHdMb3NoSUFRSllzaHFWRzFnR3hOUHdJb0UKWnRNaGZDREFoVEJXWXJBSzhOTlBQ
NWs0NzU5OTk5M1hSTUg5YnFSZzFkR1FiMlVIcUdGNUJSQzBFOXo3aWllc2NqMGUrdnJWRmVEUwor
ZkhISHplUGo2Y3RJZUF1V0xEQVdlbUFJSWdWTGVUMyt1dXZ4NnhPUmZ0Z3BQNmRpUGZHVy9DYThI
dkQ5OHZiNmp3bkFSSWdBUkpJClpRS1ZJb0FBQ0ZRa1lnV2t3WXo1czg4K0d6VXBacUt4Z2dIMUd1
ei9rQXdCK3ZPWVRZZE5nWjhhVnlRN0dHL1o3WXFOZTRDTC9EQkQKTFI2WHpNb0JWZy93QVFPa216
aHhvamVic0hNTU1LRXFoYjFUWUJzQW00VjRBcDROZ2NjR3JKQ0ltMk1qbFBqWm9NQW1BaXNra3lk
UApWcFc1YVowdFU3UnZDQ0JXWlFYcG5udnVPV1B2QTZFWTlpeXBGTEFLaHJhSFF3TUlvakJJRHhx
Z3NvWGdkZ2FCMVJEWXdvaDczakpDCm1qdmZpdlpCbTVlM2Z5ZnF2Ykg1Mis5MC83M2grMlZibXQ4
a1FBSWtRQUxwUUtEQ0FnajA0aEdpRFRydE5hL3VQMVkwb0g1ajFRdHMKT3ZkZ0hBYkQySGdMdXVn
UVZPRFJKeGtDMUYzZ1NRazY3L0NFNWJWWlFMbXZ2LzU2eHhqZjd1N3NGa3JBRGdON2NabXJldmZ1
N1ZRTApzOTN3WU9VTm1BWEZCd0lJRElzakJRaDBtT21Hb0lhVmk5dHZ2OTJzV21CQUNVRU9xbkh3
ck9UK3dFWUR4djBRSGhBZ2dMZ0hyWWlECit0cS8vLzF2WTR6KzRvc3ZJaW9zZ0FmdWgvQ0RRYTZY
QjlyYUc2TDFIY3plMi81Zzc3TU03YmVOOTM1REFJRW5xMk9PT2NZSVV2QjIKTlduU0pDVjdmSGlU
SnZVNTFOQmdEQzh1WjQzdEQ3eGNZUlVLQWUrQ3V3MXhEQlVyZUV2RHhwaG9CNnRtNVJZbWNTL2FF
VUlsdVBpRgplUHVnYlpOWS9UdmU5OFpidm1oOXhxYTEvU2JkZm0vNGZ0a1c1amNKa0FBSmtFQ3FF
NmlRRFFoMkpyYXVWYUZPQlpVTDkwQWFjT0FTCjEzcm13ZXg1bHk1ZERETU1FbVNETkVldENvTXRP
N00vYk5nd004RDY3YmZmakFFdDFEYWdRZ043aG1RS2RrQjQ0WVVYbW5ySjNncG0Kb1A3Wlo1OFpl
eGpNdU1NSS9MMzMzbFAzM0hPUEtmcEREejFrNmdJMUtnemFJSHpCdTVIMUFvV1o3dEdqUnh1T3h4
MTNYSmkzSnJndwp4UTd5bUJYSDZzajQ4ZVBMQ0dTWUNjYk1OOUxDS3hMY3JVTHdnRHRXREVTaGho
UXBZTVhBR21tamJGNDdEZHdEdTUybm5ucksxeEZBCjY5YXRqU3ZrVzI2NXhYamRRbCtBbHpDVUIz
WWtlRGE4YUNGQTVRejJMQWhnQWlFTWV2MHd6SWRuTXJROVpzL3Z1T01PTTlDR3h6UmIKZGdodHNn
R2tNWkkzR1hqKzRCbmdDWFV2Q0IxUWMwdTJ2dU1wY3NSVENKTVFRTENDQThFYjloWGdnWGJDYXBn
Vk1MdzNnelVHK25ZRgp4TnVXV0VtRWUyYllGMEhRODlxMXhOc0g0YUVwYVA5R1dZTytOOTU2MWZU
Zkc3NWYzaDdCY3hJZ0FSSWdnVlFsa0NHRDAxTHI0eGkxCnlCaVZvZlNJd01sajVKWmVsekdRZzM0
K0JBN1lUbmdIZFZWWjIwaUR5a1E5UDJqZWRnWWVzOUFZL0ZmRTREOVJaYStPZk9KNVo3eHAKd1E3
OUNjSkVvZ05lZStSZkhtOTBpU3hMTXIwM2lheFhaZWZGOXl0RTJQdk9WRFozNWs4Q0pFQUNKSkFZ
QWhWYUFVbE1FZElqRndnYwpYYnQyVFlyS1ZLYndFelJ2REpydGFrZFNRRW5CUXNEcldXVUZyQzVW
dC9DQnVpWFRlMU5ackNzalg3NWZsVUdWZVpJQUNaQUFDVlFWCmdjUlByVlpWeWZrY0VpQUJFaUFC
RWlBQkVpQUJFaUNCbENOQUFTVGxtb3dGSmdFU0lBRVNJQUVTSUFFU0lJSFVKVUFCSkhYYmppVW4K
QVJJZ0FSSWdBUklnQVJJZ2daUWpRQUVrNVpxTUJTWUJFaUFCRWlBQkVpQUJFaUNCMUNWQUFTUjEy
NDRsSndFU0lBRVNJQUVTSUFFUwpJSUdVSXhDM0Z5eTRQV1FnQVJLb0hBSjh2eXFISzNNbEFSSWdB
UklnQVJKSUhnSng3UU9TUE1WbVNVaUFCRWlBQkVpQUJFaUFCRWlBCkJGS1JBRld3VXJIVldHWVNJ
QUVTSUFFU0lBRVNJQUVTU0ZFQ0ZFQlN0T0ZZYkJJZ0FSSWdBUklnQVJJZ0FSSklSUUlVUUZLeDFW
aG0KRWlBQkVpQUJFaUFCRWlBQkVraFJBaFJBVXJUaFdHd1NJQUVTSUFFU0lBRVNJQUVTU0VVQ0ZF
QlNzZFZZWmhJZ0FSSWdBUklnQVJJZwpBUkpJVVFJVVFGSzA0VmhzRWlBQkVpQUJFaUFCRWlBQkVr
aEZBaFJBVXJIVldHWVNJQUVTSUFFU0lBRVNJQUVTU0ZFQ0ZFQlN0T0ZZCmJCSWdBUklnQVJJZ0FS
SWdBUkpJUlFJVVFGS3gxVmhtRWlBQkVpQUJFaUFCRWlBQkVraFJBaFJBVXJUaFdHd1NJQUVTSUFF
U0lBRVMKSUFFU1NFVUN0V0lWK3JISEhvdVZoTmRKZ0FSSWdBUklnQVJJZ0FSSWdBUklRSjF5eWlt
cVNaTW1VVW5FRkVCd056SmlJQUVTSUFFUwpJQUVTSUFFU0lBRVNJSUdLRXNqUUVpcWFDZThuQVJJ
Z0FSSWdBUklnQVJJZ0FSSWdnU0FFYUFNU2hCTFRrQUFKa0FBSmtBQUprQUFKCmtBQUpKSVFBQlpD
RVlHUW1KRUFDSkVBQ0pFQUNKRUFDSkVBQ1FRaFFBQWxDaVdsSWdBUklnQVJJZ0FSSWdBUklnQVFT
UW9BQ1NFSXcKTWhNU0lBRVNJQUVTSUFFU0lBRVNJSUVnQkNpQUJLSEVOQ1JBQWlSQUFpUkFBaVJB
QWlSQUFna2hRQUVrSVJpWkNRbVFBQW1RQUFtUQpBQW1RQUFtUVFCQUNGRUNDVUdJYUVpQUJFaUFC
RWlBQkVpQUJFaUNCaEJDZ0FKSVFqTXlFQkVpQUJFaUFCRWlBQkVpQUJFZ2dDQUVLCklFRW9NUTBK
a0FBSmtBQUprQUFKa0FBSmtFQkNDRkFBU1FoR1prSUNKRUFDSkVBQ0pFQUNKRUFDSkJDRUFBV1FJ
SlNZaGdSSWdBUkkKZ0FSSWdBUklnQVJJSUNFRUtJQWtCQ016SVFFU0lBRVNJQUVTSUFFU0lBRVND
RUtBQWtnUVNreERBaVJBQWlSQUFpUkFBaVJBQWlTUQpFQUlVUUJLQ2tabVFBQW1RQUFtUUFBbVFB
QW1RQUFrRUlVQUJKQWdscGlFQkVpQUJFaUFCRWlBQkVpQUJFa2dJQVFvZ0NjSElURWlBCkJFaUFC
RWlBQkVpQUJFaUFCSUlRb0FBU2hCTFRrQUFKa0FBSmtBQUprQUFKa0FBSkpJUkEzQUxJMXExYkUv
TGdJSmxzMjdaTi9mVFQKVDBHU1ZrcWFQLzhzVWZqWXNHNWQ2YkdOMjdSSnE1OS9MamFubXpkcmxa
K3Y3U1huTzBnYUozRVZIcXhkVzZLV0x3K1Z2UW9mRytoUgpxMWVYcU5tekMxVWs1b0V5cU1SRXlj
eXRvdFdPVmJmaVlxMisvVFk1KzB5MHV1Zmw1VVc3ekdza1FBSWtRQUlrUUFKVlNDQkRTd2o2CnZF
V0xGcWxmZi8xVk5XellVTjE3NzczcS9mZmZWeDA2ZEZCZHUzWlZXVmxaNXRPNWMyZDF5U1dYcU96
czdLRFpSa3czWmNvVWRmSEYKRjZ1enp6NWJQZmpnZ3hIVFZFYmsrdlVsNnBwcnRxa2ZmaWlSZW1X
cE9uV1UrdVNUWWxVaXNnYytIM3pRd0R6Mjk5OUwxRTAzYlRQWAo2OWZQVVBQbkY2bHQyN1I2L1BG
NjZzQURhd1ZPNDY3RGdBRmIxSWNmRnFrRERzZ1N4aG5xNVpjTDFlNjdaNnI5OXN0U0sxZVdxSVVM
Cmk5V1RUOVpWNTV5VDY3NnQzTWVYWGJaVjZsT292dnFxVWJuejhMdnhuWGNLMVgzMzVhdFpzNHBV
NjlhWjZ0cHJhMHUvQ0ZidVJ4L2QKYmdTNXRXdTF3dkZQUHpWU3Via1pmbytxOHZqSzVPYXR6RnR2
RmFyYmJ0dW1QdnVzMlBUSFVKL01VQm1DWTYrOU10V3h4MmFybGkyegp2TGVWK3p4YTNUNyt1RWdO
SHB5bm1qVEpWUFBtaGQ0RDk0UGVmYmRRZmhmeTVYZWhTSDRYTXFXOHRlUTNRWmxQNTg1WnB2Mnpz
NnVuCkhiLysrbXYxeFJkZnFFR0RCcm1MekdNU0lBRVNJQUVTSUlIcUlBQUJKRWg0NmFXWDlMaHg0
NXlrYytiTWdlQVNGcmQwNlZKZHAwNGQKZmNFRkZ6anBLbkp3OE1FSDZ5dXV1Q0p3RnZteS9EQjc5
dXpBNmIwSnYvNjZTTys2NjNwOXpqbGI5UGJ0SmM3bGtwSVNmZE5OVy9WZQplMjF3NGs0OWRiTSsv
dmpOem5sQlFZbnUzSG1qbmpwMXV4TVhKSTJUV0E3Njk5K2tmL3l4eUltcVhYdWRQdmZjTGM3NWZm
ZHQweE1uCjVqdm44UjdrNTVjSW53TG50alZyaXZXeVphWFBjeTRrNkdET25BTHBJK3YwaUJGYkEr
ZTRaVXVKcmxkdm5TNHVEdkgvOE1QQ3dQZFcKVnNLcTV1YXR4Nk9QWWxsdG5YN2pqZEsrOWRkZnhm
clNTL04wMDZicjlmejVpV01VcTA5Y2ZubWU3dE5uazdlSXpybHQ4M0hqdGpseApTNWNXeXUvQ092
bGRLTzNMenNVcVBGaTJiSm0rNVpaYnF2Q0pmQlFKa0FBSmtBQUprRUFrQW9GVXNGYXVYS251dXVz
dWRmWFZWenN5ClVwTW1UY3h4QnFaaS93NVkvZWpldmJ2TXFuOWdvOEsraTRxS3dzNWpuZVRtNXNw
TWIybiswZElYRmhhYTFaTDU4K2RIUytaN0Rhb2wKNTV5VHB6S0Z5TVNKZFZWT1R1bHpVWVk3N3Fn
dE04NmxNODNmZmxzaXEwRWxxckF3dElDRW1WMnNUcXhiRnpySGc0S2tjUmZvbW10cQpxMWF0U3Av
aHZvYmpJVU55WldiWi83bzN2VFM0RTRWeW5uMTJubG1wc1pGTm0yYXF0bTJENTJmdmMrZHI0eUo5
TjJrU1ltaS9JNlh4CnhuM3hSYkVxS0ZEU0RxRjdlL1lNclNaNTAxWFdlVkZSS1RNOEk1SGN5bHZt
eG8xRExMS3lTdnRrczJhWjZ1R0g2NnFqajg1Vy9mcHQKbHRXeHN1K1d0eTVCbnUvWEowUUdON2ZY
a3ViQU8rSVhiRnU3WDl2T25Xdko3MEl0K1Ywb1cwYmtVNTV5K2owL1duemJ0bTFWY1hHeApldXV0
dDZJbDR6VVNJQUVTSUFFU0lJRktKaEJvZEhmcnJiZXFrMDQ2S1daUm9HZjkzWGZmcWZQUFB6OHM3
YXhaczBTTjZSTWpURXlmClBsMEcrQk5WeDQ0ZFRSclllWXdlUGRxb2RYMzIyV2RHZ0xudXV1dkM3
c2ZKNTU5L3JpNjY2Q0oxeUNHSEdFR2pTNWN1WVdudXYvOSsKOWZycnI2dnZ2LzllMUtkK1VJODg4
b2pDUVBtbW0yNFM5WjFjRTdmNzdydXJzV1BIaXRxVTZGVjV3c3laUlViVmFzU0kycXAyN2RLQgpu
azJHQWZIVFQ5ZTFwK3EwMDdMVnNHSDU2dkREdDZncFUrcXBGaTFDS2lkUU83RWhTQnFiRnQ5SEhC
RmRiYTFldlF4MThNR2gvRmV0CktwRzY1S3RQUHkxV1c3Wm9NeGkxcWw5VHBoUVlRUWkySjlPbkY2
aVBQbXFvN3I5L3UvQXBGRDRsUnIzc3R0dHFHeFd2VjE4dGtNRnIKUXpWblRxRzB5M2ExMjI2WnFu
MzdMRFZtVEw2bzBTbjF6anYxSGFGbzYxYXRicmhobTlweHh3eTFZRUdSMm1HSERLTm0wN05ubHVy
VgpLM3JaVWI5WXozajg4ZTFxMnJRQ0daQXFCVlVnTk5POTk5WTE5WU82bXpTaktUdlUwc2FPclNQ
WE0wUTFxY2lVdTNuelRKTWU5Wnd3Cm9hNWF2TGpJNUhQWVliVkVoU25mcUFFOTlGQmRCWFc1VWFP
MkdWVzNLNjdJVmJmY0V1b0xzMllWbXZiSHdCbk1KazZzSjMwMEt5WTMKMUF2OC9jb1hxODY0dnlM
aDdydnJxR2VlS1ZCb3g0TU9DdlVOdjdxOCtXYUJ1dUNDcmVvZi84aFVMN3hRVDdWcGs2V1dMQ2xT
cDU2YQpweDU3cks3YWQ5OHNKeS8wQ1FTMCtYWFhiVk03N1pTaC92aWpSTlQxU3VUOWlLL0VlWGxh
ZmhlSzVYY2hYQVhQcjV5UjJ2U3R0K3FyCmZmYkpxakRuMDA4L1haMTExbG5xeUNPUE5DcWo4ZFdF
cVVtQUJFaUFCRWlBQkJKQ0lOS3lpRGV1VWFOR292N3hSbGcwMUsya0FLSWkKZEs1KzhjVVh0YXlR
NlAzMjIwK2ZjY1laZXZYcTFVN2E3ZHUzaTFyVHJvNXExTWlSSS9YSko1L3NYSmVCZ0Y2NGNLRTVG
eUhGNVBucApwNSthOHo1OSt1Z3JyN3pTSEUrWU1FRlBuanpadVMvU1FjdVdMZldZTVdPY1N5S3M2
S2VmZnRxY0Z4UVU2QjQ5ZXVnQkF3WTQxOTBICjk5d2pCaHlpNWpKNWNqQVZwNDBiUzNUdjNqTENs
M3VhTlZ1dlgzKzlWRDNHNWhza2pVMGI2ZHVyZ21YVEZCV1Y2S09PMnFRM2JTb3gKcWtwRGhtelJ6
WnV2MSt2WEYrdkN3aEs5Ly80YmJWSTlkR2llbzg3VXN1VUc0Uk5TaDFxOXVsaGZmUEVXVTNZa1hy
bXkyS2lZdFd1Mwp3YWo2L1BSVGtkNTc3dzM2d2d0TDFXWWVlbWlidnZiYVBKUDNGMTlncVdDZEhq
dDJtMGJhU0FHcU4waHovLzBoZFp3Z3ozanBwZTA2Ck0zTmRXSGFISExKSjJqSFVMbEIxNjlGam83
UmpTUDF0NGNKQzNhVEpldDJseTBZOWJkcDJEUmJ2djErZ3UzYmRxRnUxMm1EaXRtNHQKMFZDSGE5
TW1WSCtvR1VFdExDTmpuVjYzcnRpbzIwSDF6cXFualJ5NVZmcG9xWHBkTkc0b2FMVHlCYWx6V0dV
am5JQUpPTDc5ZHFuNgpuRHNaMUxBT1BERFU1bEFkakZZWHFFRzFiVnVxU29qK2N2cnBvYnA2K3dT
ZWNjd3htK1g5RHZWdHFNWHRzc3Q2ZmZqaC9pcFl0czJoCk9vajc3cnBybS93dWJKVGZoUzN5dTFE
c0ZEdGFPU08xS1ZRRkU4RVp2d05pbjZZWEwxN3NsSVVISkVBQ0pFQUNKRUFDVlVzZ2lqSkYKU0w0
UllVSnQzTGhSWnIxM2pDandRUFVKS2xvaWtDaWtGWUZEclYyNzFra0xZM1NzbmtBOUM2RnAwNmJx
bTIrK01jZGlyMkZXTmc0NAo0QUJ6TGdLTXpGNVBVSHZzc1ljNXQzOFFoL3ZPT2VjY0crWDdiVlcy
WnN5WUliUDBDMlNsNGpTVEZ1VVlQSGl3ZXZQTk4yWEdmMkdaCisyRlVqZ0RWbGlBQlJ1SXpaOVpY
Tjk5Y1c2MWZyOVVKSitUSnFrdCsySzFCMG9UZEVQRGtwWmNLWlhWSEdYV3FHVE9LMU00N1o2cS8K
L3RKaUdGeWtObXpRMGhiRjZ1MjNDMDF1RjE2WWE5TGFyQzBmckJoZ3h0dHFhV0VGQjhiaWlCc3dJ
RWZhSUV2MTZaTXRNOWNoTHJnZgpNKzFObTRaV2g3QTYwTHg1NkJocGc0UWd6L0RtTTJOR29WbHRP
ZTIwSEhNSnFtNkRCK2RLT3hZYXRTT3MrclJyaDFXYlRIWHl5VG5TCmYrcXB2bjJ6VlpjdVdVWmRE
WEZZS1RuaGhCenhWbFlpN1ZWSDZwQXA2b1FoTG9qRFNzOUpKK1ZJSHczVkEzWDg1cHR3VDA5KzNH
S1YKcnp4MTlqS0lkWTdWQ2F4c0ljU3F5K1dYNTRybnN4SUZnM0lFR0l5ZmVtcUlyYmRQTEZwVVpQ
clJFVWVFVmxhd0NnaVZyeUJCZmhhTQo0NFNsUzR2a2Q2RkVmaGUwL0M1SXAvMDdSQ3RucERhRlV3
aXN1dm4xZzZDYzhUc0E5Vkd4QjdGRjRUY0prQUFKa0FBSmtFQVZFNGc1CjJ2N3h4eDlOa1hiWVlZ
ZUlSWVBOeDFWWFhTVXFIUytZZityd2t0VzNiMTlSZndrTmNEQndneGVyRFJzMkdQV251WFBucXMy
Yk41dTgKNXMyYnAzcjI3QmxtNXpGa3lCQWpiTmlIdmYzMjIySi9jWWVvSngxaG82SisyNEhpa2lW
TFpJRGNQTXdibDZ5QW1IdWh6dVVOTFZ1RwpVRmhCeEhzOTBqa0d3MlBHMUJGUFQvWE5ZUHl5eTdh
cHFWUEZnTUVWZ3FSeEpROTBDSDEvREtKelpOeUlEOVN5M251dnZuakxxbVVFCnFKTk95aGJ2U0Z1
TUdoUHE1YllkY092bWcxWDR1UW83YnlDT2p0eHVoUnMweUpCQmYrbkFmS2VkTW8zSHJrQ0YvanNS
bnVkK3B2Y1oKM3J5Z0lnUkJCeHh0Nk5FakpDaDgvbm1vajBIQXdPRFpIZHpQUUR5ZTR3NFFEaEVn
dUlYNmFGMGp2RUd0YmU3Y0l1bWpwWU5scEhQbgo1K1lXcEh6eDFoblBDeHBnUHdIaEF3SWhRcXk2
d0I0RFh0V2VmVGJVVCtHNTZwaGpTb1VLZDkxZ3N3SGhybkhqVXJaUVlYT3o4Q3RuCjkrNVo4cnRR
VzM0WDZzdnZRaU5qTDlXMzcyYkgzaU5XT2IxdG1rak9EYVF6TEYrKzNLL29qQ2NCRWlBQkVpQUJF
cWhrQXFVakM1OEgKWVJDUGdKV05XS0cyS0ljUEhEaFFkTVgvQ0RQMGhNM0hpQkVqeEwzdE5US3Iz
c2NNa3BEWHFsV3IxSmRmZmhrMTIxNjllc2tnT3lmTQpBRDdxRFg5ZnhINGxhOWFzRWYzOExVN3lm
ZmZkVjlVU0s5cElld0pBdnh6aDY2OUxCOWpPalo2RG4zNHFEaHVnSG5wb3RucmxsZm9tCmxSVkFn
cVR4WkJ2NGRNMmFFbU1JM0s4ZkRKQkxQN3Z1R21yTzU1K3ZwNjY4TWxlTkg3OWRlRzlXc0FWSlJC
ZzZ0TFpaZFlDaCtMSmwKeGFxdW1NU2c3cFVaWUlPd1pvMDJkaGIyT1ZpbGdURjBQRnM3WVBiZVBY
QjJIeU5mMkwrTUdKRXZmVFRYclB4Z2dCd2tKS3A4UVo0VgpLYzJ5WlZoZFVFYW9zTmRqMVdYdzRC
ejE0b3NGcGcvRDNzbnRjTUhtZ2UvZmZpc3g3TjF4T0E2SXhya056eGc0TUVkK0Y3VDhMb1JXCjVu
QXhWam1kRE9RZ2taeXhhbHNYblplQkJFaUFCRWlBQkVpZ1dnakVGRUJhdFdvbFJxZTFqUnBXa0JM
YWdSdTh6U0RBLy82bGwxNXEKOWcyQitvTTdRTlVLTTVFd0dyZEJOTkNNV3BZOXgyemxNODg4bzhU
K1E0eW1YN2JSdnQvMitlM2F0VE1lYno3KytHTW5MVlRFc0RMVAp2bjE3Sjg0ZTlPMWJ5NmpnUFBs
a2djeUVsNm9kMmV2NHR0NTZWcTNTNm9FSHd0V3Q0SzBKcXczd2pJVVFKSTFKV0k0LzhKVDEzbnVG
Cllhc1Q0SVk5UGJCZmlKamdxSEhqNnFvWk0rckwzZ2ZGWnJCcEh4UHY0TkhlaCsramo2NmxvTklG
dFNQc2pUSm5qbWRad1owNFFjZnQKMm1WSk95cEhaUWpab241WVlJUGFWU0lDaE01TEw5MHFmYlJP
MkVxTE8yOC9ibFZSUG5jNTNNZG84K0hEUTA0QnNNOEtRcEM2bkhGRwpqaEZLcjdoaXF6cnh4UEIz
MHAzL0xydGttQlVpQ0pzVkRaYmYzejhMZ2NycGZtWWlPV1BpbzJYTGx1N3NlVXdDSkVBQ0pFQUNK
RkNGCkJHS080RExGNTJhblRwM0s2RXl2VzdmT0ZOT3FXdUVFSHEyZ2lvVlZrOTY5ZTV2cnNQZVFm
VFNNSUFLaEJDcFlzbCtIOFZDRjFSSUkKTitlZGQ1NnhDMEhhRzI2NFFiejAvTVBjaTd3eHlJS2FG
cnhad2J2V3Q5OSthNjVGK3RPNGNXT1p0ZjNOWE9yWHI1OTRkTnBOQnVydgpPVW5oaVF1Q0NUemdl
QU5teUI5OHNJNXh1enA0OE5hd0ZRNmtYYkdpV0YxLy9UWWpoT3k1WjZZTThMZWJWUUNiRHdiK21E
RzJPdkpCCjB0aDdJMzNEN1NuYzBicmQrdHAwWjU2Wll3U2NJVU8yaXYwSkJJNFNkZnZ0K2NhbEx2
VHM0UVVMb1gvL2JIWDg4VG5HOHhQTzRjNFYKWlVUQWZaaFZ4dWFKWUl5QTUyR3pSUnV3NmIwZE1D
SnUxS2g4cy9rZFZsY3dpSVdhVExSZ3kyNi9rVGJXTTdCYWd6S2diQWl3VDlodAp0d3hweDVDNkZl
SSsrU1NrR25Ua2thSEJNNFFSMU1NZFlJTUExOG8yd0FZQmRZRmJYUVRjZzRCbndkNEQzeGk4NDU2
NWMwUENIYmpnCkU0MWJrUExGcWpOVUV1RnBEbDdnSWdYWUdDRzQ2NFArT0hUb05tTUw4K3l6OVl3
ZEVOTEVxZ3ZTUUtVS05pL3dGTmFqUjhpK0EvRUkKN2o0eGFGQ09XV21hTUtGMDlSTzdvR05GeWwy
VzBKMmh2N2F0TFYvRW9tMWVlS0hBcU5MMTdoMTZYcXh5ZXRzMEVaeFJGdGluWVFVRQpxcU1NSkVB
Q0pFQUNKRUFDMVVSQUJsZ3hnL2pOMTJMTTdhU2JPWE9tZU1JNUhLTWlMYXNZV295N3pUbThZSW1i
Uy8zTEw3ODRhVVhkClNUd1VkZEgxNjlmWEltaG81Q1hxRDFwY1lZcjNvZTM2MVZkZkZROU96WjI4
eEhEYzNEdDE2bFJ6VCt2V3JmVkhIMzJrWlpYRTNMZnoKemp2ci8vem5QMDcrN2dOc01pWXJJS1k4
TXN1cFpVQ245OWxuSDMzUFBmZUlCNkczVFIxRXlISGZVdVlZM25ZT1BYU1QzblBQRFdiagp0T3V1
QzIyOGR2UE5XelUycExNQjNxSU9PMnlUOFRJRnoxTFloUENpaTdab2VHbXlJVWdhbTliOS9lV1hS
Y2FiRXp3Zk5XcTBYbU1EClFualVjb2Z4NC9OMWJ1NDY0OGtKSHJCZWZUWGtxUWozdG02OXdXeFlP
SDM2ZHJOWkhUd2RJZHh5UzhqejArREJXL1E3NzJ6WEJ4MjAKVWJpdms4MGt0eG5QVVkwYnJ6YzNQ
QzBDQUFBZ0FFbEVRVlJlanVDRkNONk00RFVLejVnNU0rUjk2ZXFyeForcXBNY25LMnVkYnRGaQp2
Y25mdldtakxlT01HUVhHV3hMU3d1c1NObENjTzdkQVIzdkdva1dGdWxldmtHY3hjUC9oaDVCM3Jj
OCtLNVIyM0NEdHVNMTRnanJ0CnRNMzZtMjlDMTU1N2Jydlp1SERubmRmcktWTkNERkIrZUd0Qyti
QXgzb29WUmNackZzb0M3MWV5d3FWSGo0YUVzMDRQSExoWkwxOWUKWkx4bzFhKy9UdnJvRnVtakJk
TFgxa2tmRFcxSUdZMGI2aDZ0ZkxIcURGNWlreVNldnpLMURJb3RQdWNiWmVuV0xkUk9uVHB0MUlN
RwpiZFlISDd6UnNMM3FxanhUZGlleEhPVGxsVVN0aTAwN2ExYUJ2dlBPMHMwQ0ViOTRjV0ZZbjBE
ZHdMZEJnM1c2ZmZzTmh0V3h4MjdXClBYdHVOUEUyTC91TmZnSVBXZUM2eHg0YjVEM2NZczdoQlF1
ZXRuNzVwZFFMVnJSeXdoTWROcU4wdHltZVVWSE95T09wcDU3U0o1eHcKQWc0WlNJQUVTSUFFU0lB
RXFvbEFCcDRiUlBZNTVwaGp4S1pndk5wZDl0SW9UOERxaU4xL0F6T1FiblVzRkFIcVVTMWF0Q2hQ
MW1IMwp3TzZqV2JObVRoenl4dDRnV01rUlljYUpqM1dRTDV0UFk1YTJWcTBNV1ZuSUxMTTN5THAx
SmJJUFJxYVpNVjZ4b2tTNFpJcWhjL2lLClFKQTBzY29SN2JwNEZEVXFYM3Zza1duS2liUllPY0Zx
RHRUSVlMaU52VVBjQWZZalFUMTl1ZS9Ec1F4WTFTbW41TWdLbGpJclJQQzQKOWRKTEJiS3ZRbzZ4
UmZHbVQrUjVxQjFEdGkrdFc0ZnNkUktaUC9MQ1RMMWQxY0ZLaWR2d1BSYTNpcFlQbnVhd2x3MXNw
UklSb3RYRgo1bzlWb2R6YzhQNWhyN20vc2RxQlZSajBHN3dYa2ZiSmNhZVA1emhJT2QzNVZaVHo4
Y2NmTC8zNFR0bFRaQjkzdGp3bUFSSWdBUklnCkFSS29RZ0tCQlpEZmYvL2RiQmc0YnR3NG96WlZo
V1dza2tkbFpLeXZrdWZ3SVNUZ0pxQjFFM002YWRJa1VZZnE0V3pRYWRPd1gxb1MKRmZzRzUrSERo
OHZHb1llTDQ0UkRLNVlaN3lZQkVpQUJFaUFCRXFnUWdjQUNDSjRDSVVUVXI0ek5Sb1dleXB0VGpn
Q00yYnQzM3lUdQpmYk9OdTEvTVhHTTM5Z0VEc3MyK0lTbFhvU1FyOFByMTY4MytGRWxXckxRcERs
eCt3NXZlZ1FjZW1EWjFZa1ZJZ0FSSWdBUklJRlVKCnhDV0FwR29sV2U3RUVOZ29wZ2p6NXNIVGxs
YUhIVlpMdFdsVE9hcFFpU2t0Y3lFQkVpQUJFaUFCRWlBQkVraEdBaFJBa3JGVldDWVMKSUFFU0lB
RVNJQUVTSUFFU1NGTUNNZDN3cG1tOVdTMFNJQUVTSUFFU0lBRVNJQUVTSUlGcUlFQUJwQnFnODVF
a1FBSWtRQUlrUUFJawpRQUlrVUZNSlVBQ3BxUzNQZXBNQUNaQUFDWkFBQ1pBQUNaQkFOUkNnQUZJ
TjBQbElFaUFCRWlBQkVpQUJFaUFCRXFpcEJDaUExTlNXClo3MUpnQVJJZ0FSSWdBUklnQVJJb0Jv
SVVBQ3BCdWg4SkFtUUFBbVFBQW1RQUFtUUFBblVWQUlVUUdwcXk3UGVKRUFDSkVBQ0pFQUMKSkVB
Q0pGQU5CQ2lBVkFOMFBwSUVTSUFFU0lBRVNJQUVTSUFFYWlvQkNpQTF0ZVZaYnhJZ0FSSWdBUkln
QVJJZ0FSS29CZ0lVUUtvQgpPaDlKQWlSQUFpUkFBaVJBQWlSQUFqV1ZBQVdRbXRyeXJEY0prQUFK
a0FBSmtBQUprQUFKVkFNQkNpRFZBSjJQSkFFU0lBRVNJQUVTCklBRVNJSUdhU29BQ1NFMXRlZGFi
QkVpQUJFaUFCRWlBQkVpQUJLcUJBQVdRYW9ET1I1SUFDWkFBQ1pBQUNaQUFDWkJBVFNWQUFhU20K
dGp6clRRSWtRQUlrUUFJa1FBSWtRQUxWUUlBQ1NEVkE1eU5KZ0FSSWdBUklnQVJJZ0FSSW9LWVNv
QUJTVTF1ZTlTWUJFaUFCRWlBQgpFaUFCRWlDQmFpQ1F0Z0pJY2JGVzMzNWI3Q0Rkc2tXcjMzOHZj
YzZUOFVCcnJYNzZxVmd0WDE2c2lvcDA0Q0ttWWwwRFZ5N0JDZGVzCldhUFdyVnZubSt2NjlldUZm
Vkc1citQR2JkdTIrZDRmNlVLc1o5cDdObS9lckJZdFdoUW8vNkI1SXUrZmYvN1pQb0xmSkVBQ0pF
QUMKSkVBQ0pGRHBCR0lLSUMrOVZLRGF0OStvTWpMV3E4TU8yNnplZjc4d1lxSGVlcXRRN2JmZkpw
T3VXN2RONnZ6ejg5VGxsMjlWVjF5eApWVDMwVUw0WldMdHZmUGZkUW5YNDRadE4rbzRkTjZxeno4
NVQ1NTZiWis1NzhNRjhWVmdZZkFEdXpoZkhIMzljcExwMDJhUXV1bWlyCnVUUng0bmJWdE9rR05Y
VnFnVGRwVXB4LzlsbVJPdmJZTFdydzRLM3FtV2NLMUp0dkZxb3JyOXltTHJra1Q2MVlVU3BFUlNw
c3F0VTEKVWgycUl1NlRUejZSL25hNDJtbW5uYVF2TkZXREJnMVMrZm41enFPWEwxK3VCZzRjcUta
Tm02YUdEeCt1Um93WTRWekRRYXpyU0xOeQo1VXAxOWRWWHF3RURCdUEwWmdpU0p6TDUrdXV2MWNr
bm42eWVmUEpKdGZ2dXU2czZkZXI0NWgwa3o3Rmp4OHA3bCtGOGJyenhSdC84CmVJRUVTSUFFU0lB
RVNJQUVFazVBWnQxamhqRmp0b28wc0U2LysyNUIxTFNQUHBwdjByM3h4blluM1Y5L0ZldExMODNU
VFp1dTEvUG4KRnpyeE9KZ3pwOENrSHpkdW14Ty9kR21ocmxObm5iN2dnaTFPWEhrT0xyODhUL2Zw
czhtNXRVV0w5ZHI5SE9kQ05SOWNmMzJlSGpCZwpzLzd4eDZJeUpWbTd0bGlmZi80Vy9jMDNaYSs1
RTZkS1hkMWxyc3JqVFpzMjZTT1BQRkpQbno1ZC8vbm5uL3FXVzI2UmZxZjB5SkVqClRURndmZSs5
OTlhdnZmYWFVNnllUFh2cWlSTW5CcnFPUk1oajd0eTV1bmZ2M3ZxZ2d3NXk4dkU3aVBWTWU5K2pq
ejZxUmVqUVAvencKZzQzeS9RNlM1OWF0VzdVSU0zcldyRm5tTTN2MmJMMXExU3JmUEhtQkJFaUFC
RWlBQkVpQUJCSk5JT1lLQ0NTZXhvMUR5Um8xeW9ncQpBRFZ1SExxZWxWV2FybG16VFBYd3czWFYw
VWRucTM3OU5xdUZDMHZWVzVvMENhV1R5VmduZE81Y1MzWHZYa3Q5OEVGcE91ZGlnSU9TCkVvd3Rs
YXBWUzZsTVYrMnlzNVhNK01iT0lCN1ZwOWk1UlU4eGJseSsrdnp6WXZYcXEvVlVxMVpaY2x5a3hv
elpKdWNGNnFPUGl0U24KbnhhcjhlUHJxdnZ1SzUycGQrZVlTblYxbDdzaXgvSUN4SDM3d29VTDFS
TlBQS0dPTys0NHN3SXlldlJvMWJadFcySDhrY25ydWVlZQpVMUROT3ZiWVk1Mjh6enZ2UEhYNzdi
ZXI0dUppRmVzNmJtclFvSUU2NUpCRFZMdDI3Y3pLZ3BPUnowR1FQQmNzV0tBdXUrd3lOV1hLCkZM
WG5ubnY2NUZRYUhTVFB4eDU3ekt5Z1FFM3NnQU1Pa0ZYTnc5U09PKzVZbWdtUFNJQUVTSUFFU0lB
RVNLQ1NDY2d3dldyQzNYZlgKTWVwRkdGd2ZkSkQvWS9QeXRQcnV1MkpSeGNxTnEyQXlzYXV1dTI2
YkREQXoxQjkvbEtpdnZpcFJ0V3VIWnhGS0UxSnoybTIzVFBYcwpzL1ZFdlN6TEpKbzFxMUI5OGtt
eEVWS21UeTlRRXlmV1V4MDdaaW1vUjBHRnEzbnpUQm00S1hYLy9kdlZXMi9WVi92c2s2VnV1bW1i
CnlwVmkvdkJEaWFqR1pLcXhZK3RJbWd3MVowNmh1UWZQUVA1anh1UXJDRUR2dkZQZkNCcDQ0Rysv
bGNnQU4xLzkrR05ERVpZeTFHT1AKYlZjMzNMQk52ZmRlZlNVVDBrWWw2OXByYzBWdEtGc0dpSmxx
NDBhdHJBQ1lhblVOYndXbFlJL2p4ODZQTjlvQ2ZIYmNNVU10V0ZDawpkdGdoUTNYdFdrdjE3Sm1s
ZXZVU3VGRkMvLzc5dzY1Qy9XaWZmZll4d2dndXZQUE9PMFlneVhSSnJCQlFmdi85ZHhFS1A0OTVm
Zi85Cjl3L0xQOGhKckdjaXo5TlBQMTMxNk5IRDJLUTg5TkJEcWtPSERxcFBuejYrMlFmSjg4VVhY
NVJKZ0lYUzk1ODE2bHpqeDQrWHlZR2oKZmZQa0JSSWdBUklnQVJJZ0FSSklOQUhYR2tHaXN3N1Bi
NmVkTWtYM1BrUE5uMTkyWldQcDBtS1o1UzJRQVh5K092VFF6YXB2MzJ6UgpwWTlQQUJrNE1FL3Vy
YVZ1dTYyT2V1U1J1akt3RHdrVDdsSTg5MXlCU2ZQaWkvWEVFRm1McnY0V1kreGRJSnBnLy9wWG5n
ejJNTWl0CnJmcjN6MVlqUjRZTWlRdkViR1RxMUVJUk9ncGxkanRMZFBHekZWWnVqamxtaTh3Z1o4
bnFSRjI1WGs4dFhsd2tOZ1I1NW5FUVRyQ3kKZ1h0YXRNaFFzMmZYTi9GMzNsbTZrckZrU1pIcTNE
bEw4c28weHZGWFg3MVZEUjJhcS9iZnY1WVpaSWZLRnhwWTE1ZmJ0Mjh2bmZsUAp0YnE2MndESDBk
ajU4WjQwYWJzUktORysvLzUzWGVrdmhVWlloT0FYYjhBcXl0S2xTOFZHNkNKenE2aGxpWERYS0N3
YnJHZ2cvUGJiCmJ5clc5YkFiQTU3RXluUEZpaFhtMmNqdXE2KytVci8rK3FzNjZxaWoxRlZYWGVY
N2hGaDU0a2FzK29nNmx3alM5NnUvL3ZwTG5YamkKaVNMd2YrZWJKeStRQUFtUUFBbVFBQW1RUUtJ
SnhEOTZxMEFKc0RyeC9mZGxQVkVWaWwzN3lwVWxNaWdzVXF0WGw1akI5dHExcFFQdQpXSTljdEto
SXZmMTJvVHJpaU5ES1NtWm1obEg1OHQ1M3pqbTVzcktRSTJvbjJlcXV1K3FJa0ZJaVJ2VkZablhp
cEpOeWpFQ0FleUFvCmZmTk55UGo3d0FOcmllQ0JsWXhNRVQ1eTFJUUo5Y3lLQjJiaFR6c3R4endp
T3p0RERNaHpqZkU0Vk14YXRNaFVyVnRucW4zM3pSSWgKSjBmdHNVZVd6RnhueTBDdnRPNy8vVyt4
NnRRcHRQcnkzbnVGYXF2WXl4OTFWRWpnK1BERElyT1MwNmxUcUQ2clYydXpDb0tIcFdKZApEYVMv
Lzh5WVVXaFdNUHpZUmVMZHRtMldXVDFEdXlCZ05hUjU4OUF4Mk1ZYlhuNzVaVFByMzYxYk4zTXIx
Skd5c1VUbENqazVvYll0CmxNNFo2N3JydHNDSHNmTDg5Tk5QVFY3anhvMVRRNFlNVVhmZmZiY1My
eFZ4NlBDUSt2TExMeU0rSjFhZTlpYW9jMEdRZ1lvWEJDM2sKelVBQ0pFQUNKRUFDSkVBQ1ZVWEFY
eGNxd1NXQWJRV0VqMGpxVjkyN1o4bUFxTFo4bEhnbTBuK3ZnbXdXOTZDTmpIcFNyS0xBWGdSQwpn
clZWUWZyNjllSGxKL3hPcThLRTJBTVBEQTFjNGZMMnlDT3oxWU1QaGxaTkhuc3NYMVN4aXRUbXph
VUNFTlNxb0lKbEExWXZNQUNHCjRHRURWazhRWU1lQk91TFo3dWRqUWgxMXMySFhYVFBGVFhESW94
aG0vV0Uvczk5K29UemdlYXhYTHl0OGxEaURiZHliaW5XMWRjWjMKRUhaZTNyaXZRWU1NVVIwcTlR
aUdGVFdzUU1VYk5tellvRjU2NlNVUmFKNXhib1ZuTEs5cjNyeTgwR29XVkxGaVhYY3k4amxZdG15
Wgp0TnNIenRWOTk5MDNacDVMbGl3eDZkdTBhZVBjZCtxcHA4ckszRWhaYlZ1c0lDREZtNmVUMGQ4
SEVNRGdYY3NLTzk3clBDY0JFaUFCCkVpQUJFaUNCeWlCUU9xcXVqTnhkZVM1YmhwVU41UXl5WFpm
Q0Rtdlh6aEJWcGh5eDQ5QkdoU25zb3M4SjdDbldyQ2tkM050a2JnSEEKeHRsdnpKeERLTURBRmdG
MkhpTkc1S3RycnNrMXF4V3dFL0FMc01IQTgyRExZQU5XTzJENC92ZTQxVWI3ZmtQWWdKb1d3Z2tu
Wk1zcwp1ellyTXBNbmJ6ZGxLcEhGRXRpeXdFN2tzc3RLalZsU3NhNXVDT1ZsTjNSb2JlUEE0SXN2
aXRXeVpjV3FibDBsZ21yNHFvWDdPWDdICnc0WU5FeFd1ZjR2dFRxbUszMjY3N1NZcmI2dkRidG15
WllzNWh3QVM2M3JZalJGT2Z2bmxGM0VzOEtyendRcEdyRHhidFdwbGNvSUsKbUEwUVJyS3lzcVRm
YlZIbHlkUG00Lzd1MWF1WHFsZXZuanVLeHlSQUFpUkFBaVJBQWlSUXFRUmt5Rnl4Z00zOXNLY0hW
SkQ4QW5UdQpodzhQR1JCZmUyM3BZTm92dlIzN2l3T2lRR0dYWFRKRW4xMmJnZWxlZXdXYkZjZmdY
dloxRTBQbUxObG5vVmhkZXVsV0dmQTNDbHZWCjhIczRiRUZRTnV6QkFYVXVCS2hKWWY4NnFHb0ZD
ZnZ0VjhzWXFELzExSGJaL3lSWGRQTWJpSHJOZHJNYU0zVnFmYk4zeXVPUFF5aXEKN1JpZkk5OVVy
S3ViUjNuWkhYMTBMWFhoaGJrS0tseFlQWm96SjJTajRjNDcxdkc5OTk0cnpnM09ONE4vbTFaYzBJ
b0FlSUxaL3dNZQpyekRBUjRCZFJNZU9IYzNnUE5aMW01ZmZkNzkrL2NRRFhMK3d5L0E4aFQxSC9K
NkoxUWtJQmxpZHdJb0pBallpUkhvWTBKY256N0FDCi9IMENXeGdZdWpPUUFBbVFBQW1RQUFtUVFG
VVJDRFJhWHI4K1pMdUFXWGwzZ0dIMFJSZmxtVUU4NHRldkQ2MElZR2R1RzdDUjN0Q2gKMjR4OUJM
eE83Ynh6NlNOaGFJM2czbmdhS3dFdnZGQmcxSTU2OXk2Vmp6RDR1dlhXVzhVcjFXYzJhK2Q3MEtB
Y3Mvb3dZWUlzc2Z3ZApzQXM2VmluY1pYRWZ6NTVkYUZZZTRQWVg5aDZvR3dRUnBKazd0OUNvUzBG
d3dnZmxRN2xzT1BYVUhCbkVab2pIcWxLRGVxaHRRUTBNCjZsd0lVS3R5ODRLTmgxZWdtalNwcmhF
Nk1LanUxcTJXZXVDQnVzWU9wR0hERERWc1dCMTF6ams1WnNCdG40dnZWS3dyK2duY0MyUDEKSmdn
N0wyL1VlOVNvZkxYWFhwbXlRV091T3VPTUhPTnREUEUyUk9zZlNETjU4bVRwbit1bFhRck1idUl3
eG43NDRZZE5mOExHZ1JBSQpvSnBsdzV3NWM2UTlIakNuc2E3YmUvQzlYWmI1U3R3Tjc3N29PbzZW
SnpaTHhLYUdNMmZPZE82QzZoVThZZlh0MjllSmN4L0V5aE9yCktUTm16SERLQjVzUmVNUzYrZWFi
M2Rud21BUklnQVJJZ0FSSWdBUXFsVURwQ04vbk1kT21GUmdEWUZ6R3J1WWRPbVFaSS9FTkc3UngK
V3d2UHBWMjZaQmtqY0tneElRd2JsaTl1UGd2TWdMTnVYYmc4eFNwRFE5V21UZW5xQkF5djc3a241
QlVLTS84WS9QLzZhNG54VG9XQgo1aXV2MUJkWHE2WENDanozakJrelJsWmIzaFU3Z3BCK3ZIbVkv
R25kT2tzR21QWFV4UmZubVFFNzFLRmduNUdicTQyM0pBeFk0ZFozCndvUUNzK29oTW9VeGVuLzY2
WkRxQ1l5L1VZZmpqdHRpQnNnd1ZuL2pqVUlSQUxhS0c5eGFNZ3RkSkR0aFo4Z0F0Y0NvaDlXcmw2
RmUKZjcyK091dXNQT01PRmt3Z05MMzZhbjFqc3pKdlhzaWxMOVNFWURRTzk3MFFNbEEvMUJ1dWRS
R2FOczBVUStBRzZ0NTc4Nlg4MjlYZQplMmZKZmcrWkNnYjRNSkNIeTluTExndGZXVXJGdXFJdXc0
Zm5pOUNXS1V4em83Sjcvdm1DTXJ6QkNtNkl6enR2cS9sZ2thSlpzd3pqCkZHRGN1RHBpRDVGaFBE
djU5US9ZU2x4NDRZVUtCdVZJWThNdXUreGlWSm13NnZIKysrOUwvNzdDN0dhT25jYXhSNFoxZVJ2
ck92S0QKNERGMTZsVFRQOWV1WFd2MkRvRjcyeVpObXRqSGhYMEh5WFBVcUZIaXJ2Z21jUzk5blFq
a3pZMDdZTmtzVWZhM0tYMHYzSm5HeWhNNwp0Y1BtWTlkZGQxV25uSEtLVVR1RExjd09PK3pnem9i
SEpFQUNKRUFDSkVBQ0pGQ3BCREpraHI5MGFyOVNIMVh4ekRkdTNHamNoNDRZCk1TSmlabGk5d0Nv
TU5qK0V3VGZzU2J3QjNyWXdlTVhlRzk2QVZRNFlRQ01VRnVxWTZsaEFCOE42akFjaEdGUTByRjFi
WW9RVXVKWjEKQzErUjhrMjF1djcxRjR6cFN3Zk84Yks3ODg1dE1tak9rWGFGS3BKV0VJQWhFSjUx
Vm82b0k0VUV1bGo5SXhKSGJ4eU0wU0UwK05rQQp4YnJ1elMvSWVhdzg4NlhTTUo2SE1YelE0SmNu
N0VkZzd3SWJGT3ZwSzJpZVRFY0NKRUFDSkVBQ0pFQUNpU0FRVXdESnlGaWZpT2RVCktBK3RRN1BJ
a3laTk12cnEwTTEzaDJRb283czhQSzVhQXJINlI5V1doazhqQVJJZ0FSSWdBUklnQVJLSVJpQ21B
Qkx0NXFxK0JoMSsKUDVXV3FpNExuMWQxQk9ENXFudjNUYktIUzdaNFVhdGw3SEZXclNxUlBWYXl6
VDRydGlUc0g1WUV2MG1BQkVpQUJFaUFCRWdnZVFtawpsQUNTdkJoWnNzb21BQnNRMk5hc1hLbkY4
MWl0TUh1aXluNDI4eWNCRWlBQkVpQUJFaUFCRWtnY0FRb2dpV1BKbkVpQUJFaUFCRWlBCkJFaUFC
RWlBQkdJUUtMVUtqcEdRbDBtQUJFaUFCRWlBQkVpQUJFaUFCRWlnb2dRb2dGU1VJTzhuQVJJZ0FS
SWdBUklnQVJJZ0FSSUkKVElBQ1NHQlVURWdDSkVBQ0pFQUNKRUFDSkVBQ0pGQlJBaFJBS2txUTk1
TUFDWkFBQ1pBQUNaQUFDWkFBQ1FRbVFBRWtNQ29tSkFFUwpJQUVTSUFFU0lBRVNJQUVTcUNnQkNp
QVZKY2o3U1lBRVNJQUVTSUFFU0lBRVNJQUVBaE9nQUJJWUZST1NBQW1RQUFtUUFBbVFBQW1RCkFB
bFVsQUFGa0lvUzVQMGtRQUlrUUFJa1FBSWtRQUlrUUFLQkNWQUFDWXlLQ1VtQUJFaUFCRWlBQkVp
QUJFaUFCQ3BLZ0FKSVJRbnkKZmhJZ0FSSWdBUklnQVJJZ0FSSWdnY0FFS0lBRVJzV0VKRUFDSkVB
Q0pFQUNKRUFDSkVBQ0ZTVkFBYVNpQkhrL0NaQUFDWkFBQ1pBQQpDWkFBQ1pCQVlBSVVRQUtqWWtJ
U0lBRVNJQUVTSUFFU0lBRVNJSUdLRXFBQVVsR0N2SjhFU0lBRVNJQUVTSUFFU0lBRVNDQXdBUW9n
CmdWRXhJUW1RQUFtUUFBbVFBQW1RQUFtUVFFVUpVQUNwS0VIZVR3SWtRQUlrUUFJa1FBSWtRQUlr
RUpnQUJaREFxSmlRQkVpQUJFaUEKQkVpQUJFaUFCRWlnb2dTU1NnQXBMaTVXMzM3N3JWT250V3ZY
cXVYTGx6dm45bUQxNnRWcTl1elphdDI2ZGNvdmpVMGI3ZHY3dkdocApLM3F0S3AvbFY5WkVseUVX
K3kxYnRxaGZmLzNWcnpneDR5dDZmOHdIbEROQlpaWHJ0OTkrSzJlSnF2ZTJXUDBnVnVrcWVuK3Mv
SG1kCkJFaUFCRWlBQkVnZ3VRakVGRUJlZi8xMWRmREJCNnVNakF4MTBVVVgrWmIrMGtzdk5XbjIy
V2NmTlhYcVZOOTBmaGMrL3ZoajFhVkwKbDdCbjNIYmJiZXFFRTA0SXUrWFJSeDlWTDc3NG9wbzdk
NjdxMEtHREdqWnNXSmswWVRmNG5FUjZuay9TQ2tkWDViUDhDbHNaWllqVQpQdmI1enovL3ZHclJv
b1Y2NXBsbmJGUmMzeFc5UDY2SHhaRzRzc3IxK09PUHEzLzg0eC9xM252dmphTTB5WkUwV2o4SVVz
S0szaC9rCkdVeERBaVJBQWlSQUFpU1FQQVF5dElSWXhaazJiWm9hT0hDZ3lzM05OVFBhelpvMUM3
dGwwNlpOQ29MSDc3Ly9ydTY2Nnk1MTQ0MDMKaGwwUGVuTEZGVmVvcjcvK1dzMmFOY3ZjZ3BsUnJI
SzBiZHZXbk9mbDVabEJMWjZYbVptcFB2cm9JN1gzM251SHBRbjZMS1R6UGkrZQplK05OVzVYUDhp
dGJvc3ZnYlovdDI3ZWJOam5zc01OTUVkQW56anJyTEhYTExiZjRGU2tzdnFMM2gyV1d3Sk9xS05l
ZmYvNnBubnp5ClNZWHZoeDU2S0lHbHIveXN2UDBnM2lkVzlQNTRuOGYwSkVBQ0pFQUNKRUFDMVVz
ZzVnb0lpdGVrU1JOMXpESEhxUHo4ZkRWaHdvUXkKSlg3cXFhZlVxYWVlYXVJYk4yNWM1bnFzaUpL
U0VwT2tWcTFhUnJDdzZaczJiZW9JSDRqNzRvc3ZWRUZCZ1pPbVo4K2V5cHZHM2h2dAoyKzk1ZnZj
VUZSWDVYWW9aSCsrelltVVlRRjRzazBXaXkyQWY0R1pmV0Zpb3pqNzdiRFYvL254N1dXVm5aNXRW
TVNjaXlrRkY3NCtTCmRkaWxlTnV5cXNxMTg4NDdteFdRU3k2NUpLeThPSW1uemVOSlcrWkI1WXh3
OXdOM0ZuNWw4Y2I3M2UvT2k4Y2tRQUlrUUFJa1FBTHAKUXlDUUFJTHE5dTNiVisyNzc3N3E0WWNm
TmtLQVJZREJCTlMwVGp6eFJCdmxmRU5YL3ZMTEwxZlhYbnV0VVpPNjhzb3IxYlp0MjV6cgpXN2R1
VlZEZEdqMTZ0THI0NG92Vko1OTg0bHpEVFBEZGQ5K3REanJvSUJNSEZaV1JJMGNxRENBdnUrd3lk
ZDExMTVuWlluY2FKRnkxCmFwVzY1cHByMUtHSEhxcjIyMjgvdFdqUklpZlBhTTl6RXJrT3NCSXpk
dXhZOWU5Ly85dW9vWDM1NVpmbTZwdzVjOVJwcDUxbXl2REUKRTArbzFxMWJxM2J0MnFrVksxWTRk
OGZ6ckNsVHBxaGRkOTNWbWZtR2lobFdkc0RFQnFRWlAzNjhZUUxCeTRaRTFmZVZWMTVSelpzMwpO
KzI0WWNNR0JhRVM1NGNmZnJqNi92dnZ6ZVBBb1ZldlhrWVE5YmJQL2ZmZmIvckJhNis5cHY3MXIz
OHByRlloUVBpQmlzM3V1Kyt1Ck9uYnNHTWJJSlBqN1QzbnVqMVozZDk0NDltdkxXT3pMVTY1by9m
Nnp6ejVUUTRZTVVjT0hEMWQzM0hHSFlieGt5UksxY2VORzAyZXgKYW1TRFg1dmI2L2grLy8zMzFl
bW5uNjV1dmZWV2RkTk5OeWtJTW1DTmVCdjhPRVVxeThzdnY2eHV1T0VHOHc2OThjWWJxbXZYcm1y
LwovZmRYQ3hjdU5CTUFwNXh5aW5uR21ERmpUUGJlZm9CSXYzSkhpbzkwZnpSK1FkNDlXMjkra3dB
SmtBQUprQUFKSkNrQkVTQmlCaG5NCmFCbUlhUmxzUTExTHkrRFV1ZWZkZDkvVk1oalJvZzVscnNr
S2lYUHRrRU1PMFU4Ly9iUTVsNVVMM2FOSER6MWd3QURudXF5cWFCbHMKbTNNeGtOYTc3TEtMbGdH
dk9SZERjeTBEY0MzcVhrNzZsMTU2U1l2cWxYUHVUU1BDaVQ3cXFLTzBxR2hwNUNjRFBTMkRhTDEr
L1hwegpUN1RuT1puK2ZTQnFOMXFFQWkzRzdpWkdoQjk5OHNrbm0rT1ZLMWZxdmZiYVM0dlFvV1dR
cG4vNjZTY3RBb08rOE1JTG5XemllUlp1CndyTmtRT3JjMzc5L2Z5MnJTdVpjWnVHMURBS2RhME9I
RGpYMVMyUjlrWG0zYnQzMDRNR0RuZWYwN3QxYm4zZmVlYzc1VzIrOXBVVk4KeUp4NzJTT3laY3VX
cGkrWUJQS25VNmRPdW5QbnpocjlSNHpSRGE4TExyakFYaTd6SGMvOXNlcnV6anhhV3lKZE5QYTRI
ays1a0Q1YQp2NWVCdkpZVlJTMzJUbHBVRzAwZlhiWnNHVzRMQzM1dEhwWklUa1RvMVR2dXVLTnUx
YXFWbHRVbkxiWlJocm5ZazVpazBUaEZLZ3ZhClNvUU9reC9LSjRLMDZZZHQyclF4YmJ0bXpSbzlZ
c1FJTFRaaFd0UWp0YmNmK0pYYkw5NTdQd29kalYrUWQ4OVVuSDlJZ0FSSWdBUkkKZ0FTU2xrRGdG
UkRJVDJlY2NZYVpzY1dzc0ExWUFZaGtuRDVqeGd5MVlNRUNzMUtBdEZESGtjR3RldlBOTjgxc0ts
WW0zbjc3YlhYRQpFVWVZckdEVGNmVFJSOXRzelhPdzRpTGtuRGp2QVdibzNXbEVRREhwb1FhRTUy
TTIrSysvL2xMejVzMHpLeUhSbnVmTkcrVTk2YVNUCmxBeWd6U1dvaVh6enpUZm1HTWJWV1BYQXMw
V2dVbnZzc1lmcTA2ZVArdTY3Nzh6MVdIWHpQZ3ZuZGVyVUNWTlhxbHUzcm5PT0ZZbWwKUzVjYVhr
Z3JnbzZwWnlMcmkzeEYyRkFpVUpwVkM1ejM2OWRQWVJaY0JyRTROYlBxVnRYT3k5NGtrRDl3VnVB
TzRJUFZzOTEyMjAzQgpOc1R0NWN5ZHpoNEh2VDlhM1cxZTlqdGFXeUpOTlBZMmo2RGxpdFh2RHp6
d1FMTmExcjU5ZXlVQ3JWRnB0RFpPOWxuNDltdHpkeG9jCmkzQmtWTGVPTys0NDljOS8vbFBKNE4w
NGFZRDNNZlRYYUp3aWxRVnRCV2NRY1BDQThvRU5IRUg4L1BQUDZ1YWJiellxajFkZmZiWHAKZjRq
ejlnTy9jdnZGZSsrUHhTL1d1K2ZsdzNNU0lBRVNJQUVTSUlIa0l4Q1hBRks3ZG0yakZvVEJNRlFo
b0hMVXFGRWpNeWp4VmcxcQpKUmhjWVBCbmc2eUFtTVBQUC85Y2ZmREJCMllnNXJZWnFWKy9mdGdB
Rm9NKzc4RFA1bVcvM1dtZ0pnSkJJU2NueDN6Z3ZldTk5OTR6CnFsaEJubWZ6eERmeWZmREJCODFB
RUdwWThMcTFlZk5tSjRuN3VZaHMwS0NCVVUzQ2NielB3ajNSQW96K0lRd2RlK3l4UnYwTWc4NnMK
ckN3anlDV3F2bmcrVkhrZ3NGazdEcWljUVpVSzZrdXcvNEU2VmIxNjlaeWllaG5nQXVMY3dYME9X
eUtvMTBRTDd2Ukk1ejUzM3grdApyYjM1STQ5b2JlbE5IK25jWFE1Y2Q1Kzd5eFdyMytOZURPcnhi
a1FMZm0wZTZSNlVCZjNCQnFnRG9reFF3NHJGS1ZKWjNIVkRudWpiCjd0Q3dZVU56aXI2Q2dQVDJI
cjl5KzhWNzd3L0N6LzA4M085KzkzRE9RQUlrUUFJa1FBSWtrTndFYXNWYlBOaHNZRUErYnR3NEkw
REEKSGlOU2dBMkVxR3VZQVNjRUN3U3NHTURRSElOYTdIbUE2OTVnQnpMZStDRG55QS81WStiZUc4
cnp2SWtUSjVwVm5FbVRKaW5Zb0dCdwpGQ1NVNTFteDhvWDdWMUZSVXc4ODhJQ0M3ajVXS2hKZFh3
Z3pXTEY0N3JubkZBUkQ2UDVqWlFvMktiQlI4THBFamxYbXlyd2VyZTZSCm5sdmV0b3lVVjdTNFdQ
MCsycjNlYTVIYTNBNyt2V205NTJnM3ZBdnhjdkxtZzNQazVYNHYzY2VSMHZ1VjJ5L2VuVWNpK2Ju
ejVURUoKa0FBSmtBQUprRUR5RUFpMEFvS1piK3RKYWFlZGRsS0RCZzB5cWxSUThiQXFTdDRxWVJZ
V0c5OWgvd2tiUk4vYnFQTkEvUVNEYWN5ZwppdjY3dlZ6aDcxYXRXcGtWRDh6VzJ3QVZMcXhJeFBz
OHVBT0dzSVY5R2R5ck9EYmZhTi94UHN2bVpSbmJjL3N0ZXU4SzdDRDBRVVVGCjNzQWdGQ1N5dnZa
WjU1NTdydG5INWJISEhsTmlyMkhVc2w1OTlWVXptdzdEL2xnaDF1QTBVZmRIcTd2M0dVSGEwbys5
elN0b3ZXTDEKZTV0ZnJHKy9ObzkxSHg5SE5Dd0FBQXBuU1VSQlZLN2puWUpyVzdIcGlkcEhndVFW
YnhxL2N2dkZlL05QRkQ5dnZqd25BUklnQVJJZwpBUkpJSGdLQkJCRHN4WUVCc0ExV0J4eURWUnZz
ZFRINE5sR3dGWURlUDFTZ2JJQ1hLd3d3amp6eVNDUEVZSWJXN2RZWDlnR1lzWVhnCmdvRFpVSGpO
c25ZZzJQOERBMFhFMitCT2MrYVpaeG92V1BBeWhIS2dUTGZmZnJ0eDVRdWhLZGJ6Yko3NGhuQ0Za
Mkh3aXZKQUJRdUMKRGNxQ0Q5d0J1d2V0S0ljdGQ3elB3dk93T3JSNDhXS1Q3eDkvL0tGKytPRUhN
NGpFTlF3bTRVRUlRWXpUMWZISEg2K3dxcFRJK3ByTQo1WThZOFp2OVhxRFNBL1U2MkxaZzFoMzJO
TjVCdUpzOTdzZXFpZDNORy94eEhSOGIwSlp1TDJnMjNuN0hjMyswdXR2ODdIZXN0b3pHCkhubkVV
NjVZL1I3NXdhWW1HZ2VrOFd0elhJc1VrTjRHcUVmQ1c5a0JCeHdRdFk4Z2ZhU3lpTUc0MDVlUkJ2
dWdvRzhqSHNIYUJObisKNys0SGZ1WDJpMGQrN3Z1RDhJdjI3aUUvbEJkZXVteGZSQndEQ1pBQUNa
QUFDWkJBRWhHUXdYVFU4T3l6ejJweERhcGxBS3JGRGF5VApWamFZMHpJUU1lZGlJNkJsZHR4NHda
TFZEUzA3b1p0NFVSVXk5OTV6enoxYURNQzF1SzdWTWhoMDhoQlZIeTM2MnhyM3lFYUhXbXdjCnRM
aVkxWWlYd2JnV0Y3d21UNW41Tng1K1pGQmx6c1VGcjVZQmVwazA4SGFFTXNxR2ljWkxqK2paYTVt
OUQvUThKOUhmQjZJbVpqd1YKeVVEZmVJS0NCeWd4RE5lb056d0Z5YURVZU8yQ0p5R3hpZEh3RW9U
bnpwdzUwK1FRclc3ZVorRWNERVVGU3UrNTU1NzYrdXV2Tng3QQp4Q0RZZU9FU1d3d3RSdTlhMUlq
MDlPblR0YXpNYUhnVlFraFVmVTFtZi84QlgzRzk2MFNKaTlld2Mxend0Zy9ZeTRhRGhqczhhY0Zq
Cm1xanVtUFlYbXgrTnZvQjJGaUZRaTl0bUoyLzNRYnozUjZ1N085OW9iWWx5UjJPUGZPSXRWN1Ir
ajM0aGRqVG1mUktoMGwzTXNPTm8KYlI2V1VFN2dJUTFldGRCT28wYU4wdkNnSmlzT1RqSS9UcEhL
Z3Y0c0szaGFqTDIxQ0RMR3l4WTgxOGxQbHZGK0pjYmtXdHhtbTNPOApzL0FDNTM1UDBkYVIrcXBm
ZlNMMW8yajg0T1VyMXJzbmt3YW1IMDZlUE5saHdBTVNJQUVTSUFFU0lJSGtJUkJvSi9TS3lFdFNW
Yk9QCkJQVEk0VG5LR3pDeml0bHlHS2xpaFFHRzdoVU5tQ0dGRnlCNHA4S3FoenZFK3p6TVZNTlFG
d0V6d1BHb1k4WDdMSlFiOStCNTdtZGgKcGhuODRFa0l6M2NiZ3FOY2lhd3Y4c01NTW5hOXQ4Rjdi
dU1qZldNRkMyMVozaER2L2RIcTdpMUR0TGIwWTIvemlMZGNzZnE5emRmdgpPMWFidSsvcjNyMjc4
WDZGMVQ2c0prUXljSStIa3p2dmVJLzl5dTBYNzVkL1JmbEJ2VE1TQjcvbk1aNEVTSUFFU0lBRVNL
RHFDRlM2CkFGSjFWZUdUU0tCbUVyQUN5SDMzM1ZjekFiRFdKRUFDSkVBQ0pFQUNLVVVna0ExSVN0
V0loU1dCR2tRQUt3dldacWdHVlp0VkpRRVMKSUFFU0lBRVNTR0VDWEFGSjRjWmowVWxBN0J3Y1ky
dXhIeko3dVpBS0NaQUFDWkFBQ1pBQUNTUXpBUW9neWR3NkxCc0prQUFKa0FBSgprQUFKa0FBSnBC
a0JxbUNsV1lPeU9pUkFBaVJBQWlSQUFpUkFBaVNRekFRb2dDUno2N0JzSkVBQ0pFQUNKRUFDSkVB
Q0pKQm1CQ2lBCnBGbURzam9rUUFJa1FBSWtRQUlrUUFJa2tNd0VLSUFrYyt1d2JDUkFBaVJBQWlS
QUFpUkFBaVNRWmdRb2dLUlpnN0k2SkVBQ0pFQUMKSkVBQ0pFQUNKSkRNQkNpQUpIUHJzR3drUUFJ
a1FBSWtRQUlrUUFJa2tHWUVLSUNrV1lPeU9pUkFBaVJBQWlSQUFpUkFBaVNRekFRbwpnQ1J6NjdC
c0pFQUNKRUFDSkVBQ0pFQUNKSkJtQkNpQXBGbURzam9rUUFJa1FBSWtRQUlrUUFJa2tNd0VLSUFr
Yyt1d2JDUkFBaVJBCkFpUkFBaVJBQWlTUVpnUW9nS1JaZzdJNkpFQUNKRUFDSkVBQ0pFQUNKSkRN
QkNpQUpIUHJzR3drUUFJa1FBSWtRQUlrUUFJa2tHWUUKS0lDa1dZT3lPaVJBQWlSQUFpUkFBaVJB
QWlTUXpBUW9nQ1J6NjdCc0pFQUNKRUFDSkVBQ0pFQUNKSkJtQkNpQXBGbURzam9rUUFJawpRQUlr
UUFJa1FBSWtrTXdFS0lBa2MrdXdiQ1JBQWlSQUFpUkFBaVJBQWlTUVpnUW9nS1JaZzdJNkpFQUNK
RUFDSkVBQ0pFQUNKSkRNCkJDaUFKSFByc0d3a1FBSWtRQUlrUUFJa1FBSWtrR1lFS0lDa1dZT3lP
aVJBQWlSQUFpUkFBaVJBQWlTUXpBUW9nQ1J6NjdCc0pFQUMKSkVBQ0pFQUNKRUFDSkpCbUJDaUFw
Rm1Ec2pva1FBSWtRQUlrUUFJa1FBSWtrTXdFS0lBa2MrdXdiQ1JBQWlSQUFpUkFBaVJBQWlTUQpa
Z1FvZ0tSWmc3STZKRUFDSkVBQ0pFQUNKRUFDSkpETUJDaUFKSFByc0d3a1FBSWtRQUlrUUFJa1FB
SWtrR1lFS0lDa1dZT3lPaVJBCkFpUkFBaVJBQWlSQUFpU1F6QVFvZ0NSejY3QnNKRUFDSkVBQ0pF
QUNKRUFDSkpCbUJDaUFwRm1Ec2pva1FBSWtRQUlrUUFJa1FBSWsKa013RUtJQWtjK3V3YkNSQUFp
UkFBaVJBQWlSQUFpU1FaZ1FvZ0tSWmc3STZKRUFDSkVBQ0pFQUNKRUFDSkpETUJDaUFKSFByc0d3
awpRQUlrUUFJa1FBSWtRQUlra0dZRUtJQ2tXWU95T2lSQUFpUkFBaVJBQWlSQUFpU1F6QVFvZ0NS
ejY3QnNKRUFDSkVBQ0pFQUNKRUFDCkpKQm1CQ2lBcEZtRHNqb2tRQUlrUUFJa1FBSWtRQUlra013
RUtJQWtjK3V3YkNSQUFpUkFBaVJBQWlSQUFpU1FaZ1FvZ0tSWmc3STYKSkVBQ0pFQUNKRUFDSkVB
Q0pKRE1CQ2lBSkhQcnNHd2tRQUlrUUFJa1FBSWtRQUlra0dZRUtJQ2tXWU95T2lSQUFpUkFBaVJB
QWlSQQpBaVNRekFRb2dDUno2N0JzSkVBQ0pFQUNKRUFDSkVBQ0pKQm1CQ2lBcEZtRHNqb2tRQUlr
UUFJa1FBSWtRQUlra013RUtJQWtjK3V3CmJDUkFBaVJBQWlSQUFpUkFBaVNRWmdRb2dLUlpnN0k2
SkVBQ0pFQUNKRUFDSkVBQ0pKRE1CQ2lBSkhQcnNHd2tRQUlrUUFJa1FBSWsKUUFJa2tHWUVLSUNr
V1lPeU9pUkFBaVJBQWlSQUFpUkFBaVNRekFRb2dDUno2N0JzSkVBQ0pFQUNKRUFDSkVBQ0pKQm1C
Q2lBcEZtRApzam9rUUFJa1FBSWtRQUlrUUFJa2tNd0VLSUFrYyt1d2JDUkFBaVJBQWlSQUFpUkFB
aVNRWmdRb2dLUlpnN0k2SkVBQ0pFQUNKRUFDCkpFQUNKSkRNQkNpQUpIUHJzR3drUUFJa1FBSWtR
QUlrUUFJa2tHWUVLSUNrV1lPeU9pUkFBaVJBQWlSQUFpUkFBaVNRekFRb2dDUnoKNjdCc0pFQUNK
RUFDSkVBQ0pFQUNKSkJtQkNpQXBGbURzam9rUUFJa1FBSWtRQUlrUUFJa2tNd0VLSUFrYyt1d2JD
UkFBaVJBQWlSQQpBaVJBQWlTUVpnUW9nS1JaZzdJNkpFQUNKRUFDSkVBQ0pFQUNKSkRNQkNpQUpI
UHJzR3drUUFJa1FBSWtRQUlrUUFJa2tHWUVLSUNrCldZT3lPaVJBQWlSQUFpUkFBaVJBQWlTUXpB
UW9nQ1J6NjdCc0pFQUNKRUFDSkVBQ0pFQUNKSkJtQkNpQXBGbURzam9rUUFJa1FBSWsKUUFJa1FB
SWtrTXdFS0lBa2MrdXdiQ1JBQWlSQUFpUkFBaVJBQWlTUVpnUW9nS1JaZzdJNkpFQUNKRUFDSkVB
Q0pFQUNKSkRNQkNpQQpKSFByc0d3a1FBSWtRQUlrUUFJa1FBSWtrR1lFS0lDa1dZT3lPaVJBQWlS
QUFpUkFBaVJBQWlTUXpBUW9nQ1J6NjdCc0pFQUNKRUFDCkpFQUNKRUFDSkpCbUJDaUFwRm1Ec2pv
a1FBSWtRQUlrUUFJa1FBSWtrTXdFS0lBa2MrdXdiQ1JBQWlSQUFpUkFBaVJBQWlTUVpnUW8KZ0tS
Wmc3STZKRUFDSkVBQ0pFQUNKRUFDSkpETUJDaUFKSFByc0d3a1FBSWtRQUlrUUFJa1FBSWtrR1lF
S0lDa1dZT3lPaVJBQWlSQQpBaVJBQWlSQUFpU1F6QVFvZ0NSejY3QnNKRUFDSkVBQ0pFQUNKRUFD
SkpCbUJDaUFwRm1Ec2pva1FBSWtRQUlrUUFJa1FBSWtrTXdFCi9oOVJJMmlPelZ4QytRQUFBQUJK
UlU1RXJrSmdnZz09CgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9p
bnRlcm5hdGlvbmFsL2JpZGktTERCLTItSFRNTC1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5u
b3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9
IGltYWdlL3BuZwoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndB
QUFDN21sRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRr
Q0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FI
bnJ3WkM5S2hWcEZLTjZyS0dLaEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBXQUJP
UU54MUtpRVdsc2ZFSnEKL0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3
SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1NWVN
RzFEeXM5eEZraWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJCkVM
MVBrS2E3ek82cllxR2NUdllPa0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUhocE9i
RWhqMGNHRFgwK0dBVnR4cXAKK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlC
eldraFAxMHh1K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVo
UUVFVUVZWml3VUVDR1BCb3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHor
CktDSnhsRU8xQ0pMOFFmNHFyOGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gwOGpq
YzAxZWZKWFVkcE5YUjVhc2VYcTgKbXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhq
VmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1WZmxQ
WHZYeC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZ
SnE4CjlTOWRQMXQ0dlVaL0RQVlJsQm5NMGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZL
QUl2Yk9ESW1icHRVM0h2RUtGbHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2
QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZXTHBk
dGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJ
dUpBQUFnCkFFbEVRVlI0QWV5ZENieFh3Ly8vcHcwdGlLeVJ5bHAyU3ZhbEltM1VYMUsyS0V2RXo1
cWRwSzk5aTN5bGZPMHBaYXVFb3Foa0NaRWwKb1pBdENlMTczWnIvK3pYWG5PYWN6OWsrOTM0Kzk5
NjZyL2ZqY2UvbkxITm1lWjQ1NTh4NzVqM3ZxYUJGRklVRVNJQUVTSUFFU0lBRQpTSUFFU0lBRVNv
QkF4UkpJZzBtUUFBbVFBQW1RQUFtUUFBbVFBQW1RZ0NGQUJZUVZnUVJJZ0FSSWdBUklnQVJJZ0FS
SW9NUUlVQUVwCk1kUk1pQVJJZ0FSSWdBUklnQVJJZ0FSSWdBb0k2d0FKa0FBSmtBQUprQUFKa0FB
SmtFQ0pFYUFDVW1Lb21SQUprQUFKa0FBSmtBQUoKa0FBSmtBQVZFTllCRWlBQkVpQUJFaUFCRWlB
QkVpQ0JFaU5BQmFURVVETWhFaUFCRWlBQkVpQUJFaUFCRWlBQktpQ3NBeVJBQWlSQQpBaVJBQWlS
QUFpUkFBaVZHZ0FwSWlhRm1RaVJBQWlSQUFpUkFBaVJBQWlSQUFsUkFXQWRJZ0FSSWdBUklnQVJJ
Z0FSSWdBUktqQUFWCmtCSkR6WVJJZ0FSSWdBUklnQVJJZ0FSSWdBU29nTEFPa0FBSmtBQUprQUFK
a0FBSmtBQUpsQmdCS2lBbGhwb0prUUFKa0FBSmtBQUoKa0FBSmtBQUpVQUZoSFNBQkVpQUJFaUFC
RWlBQkVpQUJFaWd4QWxSQVNndzFFeUlCRWlBQkVpQUJFaUFCRWlBQkVxQUN3anBBQWlSQQpBaVJB
QWlSQUFpUkFBaVJRWWdTb2dKUVlhaVpFQWlSQUFpUkFBaVJBQWlSQUFpUkFCWVIxZ0FSSWdBUkln
QVJJZ0FSSWdBUklvTVFJClVBRXBNZFJNaUFSSWdBUklnQVJJZ0FSSWdBUklnQW9JNndBSmtBQUpr
QUFKa0FBSmtBQUprRUNKRWFBQ1VtS29tUkFKa0FBSmtBQUoKa0FBSmtBQUprQUFWRU5ZQkVpQUJF
aUFCRWlBQkVpQUJFaUNCRWlOQUJhVEVVRE1oRWlBQkVpQUJFaUFCRWlBQkVpQUJLaUNzQXlSQQpB
aVJBQWlSQUFpUkFBaVJBQWlWR2dBcElpYUZtUWlSQUFpUkFBaVJBQWlSQUFpUkFBbFJBV0FkSWdB
UklnQVJJZ0FSSWdBUklnQVJLCmpFQ1pVRUJXclZwVllnVXV5YlJLckZBcEVpcXY1VTZCaGtGSWdB
UklnQVJJZ0FSSWdBUktrRURscExSR2pScWxYbm5sbGFSZ3FsS2wKU21yTExiZFVOV3ZXVkx2dnZy
czY2cWlqMUM2NzdCSjczUmRmZktGNjl1eXBKazJhcEU0NTVSVDEwRU1QcWUyMzN6NzJHbnZ5MFVj
ZgpWWjkrK3FuZDlmM2Vjc3N0YXJmZGR2TWRLMDVhdm9nMnNKM3lVTzZvT25yODhjZXJzODQ2SzlV
ZG16Tm5qcnJoaGh0U2hVMFRxRy9mCnZtcXJyYlpLRTdSTWh5R1g2TnZ6NG9zdnFrR0RCcW12dnZw
S0xWbXlSTzIzMzM2cVRaczI2b29ycmxDYmJMSko5SVY1UHZQT08rK1kKZktWSjVweHp6bEZObXpa
VmNlL1RZRHg0djFhclZpM256OHY3Nzc4Zis2MDU0SUFEMUpWWFhobk1UdXorL2ZmZnI2Wk5teFla
cG1QSApqbXF6elRaTHpXdlBQZmRVTjk1NFkyUjhQRUVDSkVBQ0pKQ1NnRTZRMmJObjZ4RWpSdWgy
N2RwcGlUTGpyMWF0V3ZxbW0yN1NqejMyCm1EN3Z2UE8wS0NKZW1JTVBQdGhjRzVWRXk1WXR2YkNJ
KythYmI0NEttbkY4MXF4Wit2WFhYOWVISDM2NEx3N0VNM255NUl6d3hVa3IKSTdJeWRHRFpzbVg2
NzcvL2pzelJ4bHB1dDhBLy8veXo3dEtsUzBZOXVQVFNTOTFnc2R2VHAwLzNYVitoUWdWOTlORkg2
OHN1dTB4TApnOHQzemo0SC8vblBmL1QvL2QvLzZTT1BQRklqdkQyTzMxOS8vVFUydlpJK21WUlBv
dkt6c1hFcEtnZVh6NTkvL3FtYk4yL3V1OS91CnZaZEdxdjc2NjYvZFMwcDBHL2w3NmFXWHRDaERr
WGs4OTl4enpmdnpyNy8rTW5uNzdydnY5QXN2dktDUE9PS0l5R3VrOGE5SGp4NnQKbHk1ZHF2TlJM
MzcvL1hjdFNwMFdwU0EwRDV0dXVxbTIrVTBEVkpSbkxZcGdhRnh0MjdiVnc0WU4wL2krelowN1Yw
c25oajc5OU5ORAp3K0xlZ3BkMHhKWHFmVTFUWm9ZaEFSSWdnUTJGZ0VxYjBZS0NBbDIvZnYyTUYv
VGxsMS91aStKLy8vdGZSaGcwNElLQytLcFhyKzRMCks2TW13V0NKK3krLy9MSXZEbndzUHZyb0k5
OTF1VXJMRjJrWjJGbTdkcTArOGNRVDlTV1hYQkthbTQyMTNHR0ZuVDkvZm9ZU0VNVWwKN1BwdnZ2
bkdxMGU3N3Jxcm5qbHpwaGZzbjMvKzhjNjVEYzJWSzFkNllYRDlqanZ1NklYNzVaZGZ2SE9sdlpG
VVQrTHl0ekZ4S1E0SAp5d2ozUEt6VHc2MFgyRzdZc0tGZXZueTV2YXhVZmxldlhxMXIxNjd0MVVt
YlJ5aldVYkpvMFNKZHBVcVZqR3ZPT09NTTN5WDVyaGN5CjJwR1JCK1QvOXR0djkrVWpidWUyMjI0
TGpVTkc1dldhTld0Q0wwV25tZVZrZjR2eVhRcU5uQWRKZ0FSSWdBUThBcW5uZ01ERWF2LzkKOTVk
M3NsL3ExYXZuT3lDOVNNWWN5ejBvUGNYcTQ0OC9kZytaTUowN2QvWWRPL1BNTTMzN2FYWmc4aFVV
NlkzMkhVTGVjNUdXTDlJeQpzTk9uVHgvMTFsdHZSZVprWXkxM1dJRmg3Z1FUUUZlQzljQTlGOXlX
SjhJY0V1VkRUWmd3d1pnUkJzUEU3ZSs5OTk0S3BpL2JicnV0CkNXYmppN3VtcE00bDFaTzRmTmh5
YkF4Y2lzUEJNcElSTVNVZEhFcVVUZFc2ZFdzbEl3YkdITW1ldDcvZmZ2dXR1dnZ1dSsxdXFmeUsK
SXFGRUVjcEkrNkNERHNvNFpnOXNzY1VXQ3ZjNktNRnI4bDB2a0c4d0RzcUFBUU9VZEt3RUQyZnNp
NEtoQmc0Y3FFNDk5ZFNNYzNoVwpLMWNPdHo0KzhNQURNOExEOUl0Q0FpUkFBaVNRV3dLcEZSQWtp
dzlhVUlLTlBCblZVUHZ1dTI4d21KTGgvWXhqOTl4emo0SnljdXl4Cnh5cDhXTHAyN1pvUkpsY0hT
akt0WE9VNUxoNG9IbUNYSkJ0YnVaUEtXOVR6NjlhdE01ZkN2cjFPblRwRmlnYU5KalJRSVRhK0lr
V1UKdzR2UzFwT29KRzA1Tm5RdXhlVUFQbUxxcDU1NTVobUZaMHJNaGRRYmI3eWhQdmpnQXlYbW9P
cXd3dzdMUUFoRnBiUWw3SjJkTkQ4bAo3SnJnc1h6WEN5Z0lqUm8xTXQ4R2x5RzRpMG13ZXloMGUv
anc0UmpkVnpKeWszRSsyRkhoQmdoakU5Yko1VjdEYlJJZ0FSSWdnZXdKClpLV0FwSTFlaHJFemd1
TERFUlNaUDZKazNvZnBjZTdldmJzU0c5OWdrSnp0bDJSYU9jdDBSRVNZVklrUHEyMEVSQVF6aHpl
bWNzZVYKczdqbmJJOXVpeFl0aWhYVnlTZWZiSzYzOFJVcnNtSmVuRTA5aVVyS2xtTkQ1cElMRHVE
ejMvLytWNG5KcWJyMjJtdFZ4WXJyWDUzYgpiYmVkUW9PM2F0V3FQb3d5RDhTM3Z6SHRsRlM5c0Fx
OXkrNlJSeDV4ZDBPM0VlYkNDeThNZFFZUTdEUUxqY0E1bUcxNDUxSnVrZ0FKCmtBQUpSQkJZL3hX
TkNGQ1V3ekxSTStPeXZmYmFLK05ZVVE3QW5XeWFJZmlpeEoxMERkSVZPL0trWU9iOGdnVUxVb1VM
Qm9McEFEd1AKMlE5ODhMellYaXVaQUt0a3prUHdWRTczeFJaY2lRMTdUdUtFb2dRdlFka0tlTXY4
aTFTS1ZyWnhCOE5EK1lVSEk3R1pENTdLYWg5bQppc2NkZDF6b2FLRWJVVkhyaHh0SDNIYXU2a2xa
NTdKNDhlS005NEg3L3NrVkI3Q0doejZaVnhDS2ZZY2Rkc2d3OTFteFlrVm8ySTNoCllFblZDM0Yr
a3VGTjhiMzMzak9leDZJNGZ2bmxsMG9ja1JnRkpDb01qNU1BQ1pBQUNaUXVnWEJEMkdMbTZhZWZm
dkxGZ09GN3VObTEKTW5qd1lQWDAwMC9iWGU4WDdpREZvNWEzNzI2Z1Iydm8wS0hxczg4K00yNFRt
elZycHE2NjZpbzNTT2gybXJSR2poeXB3bnJWYkg3UQprOW12WHovMTZxdXZHdHRoOUt5Rm1UOE5H
VExFbUdnZ2p6SloxZVRucEpOT01xTThZV1pwTnNNLy92aWp1dlBPTzlYbm4zOXV6RHpRCmdFSVBL
MHpUcnIvK2V1TW1FMkhoZGxpOFdtVW9IOGkvZUxFeDBjbWtkSFhOTmRlb05PVzI2ZHZmcVZPbkdy
dDE1UCszMzM0emgvZlkKWXc5MXlDR0hxTjY5ZTZ1NmRldmFvT1kzS28zMjdkc3I4VUJsNWtROCsr
eXphc3lZTVVvOGRTbjBGTVBNRHFOZU5XclU4TVZsZCtEUwpGQzVCMzN6elRhTjhnQ1BNTWREQU8r
R0VFMVMzYnQyTWkyY2JQbGUvVUpERnExcE9vaHMvZm54b1BHbnJCK1lPakJzM0xqUU9ISVM3CllO
U25zRGxURHp6d2dKTEp4Nm5yU1dRaS81NG9TMXhzWHVmTm0yZmNkNk5laWNjbjA4c050OXN3ZzRJ
Q2lmZkVEei84a05Yell1T08KKzhWekZTZkIrUlp3MmJxeFNrblVDN0REUERaeEpxR3V1KzQ2SDBx
OHI4WGhpZStZM2NGSUZkNUJxQXQ0cDFGSWdBUklnQVRLSUFIcAphVTh0TXFFUE0zVjlmN0oyaCs5
NldkUERkMTRhanhxZXNWeUJ4Nkl3RHlVeVVkd05acmFsRjFGTFE4c1g1K2FiYjY2bHdXRmNMSjUv
Ci92bStjOGlmNjRZM1RWclNpNnFmZXVxcERDOUt5SStzbzZGbGduTkdHdEpROXZLNmNPRkN6NFdq
S0Z0NjRzU0pXbnI5dFNoWjVycXQKdDk0NjBuMmpOT0kxeW9OOHc4MGwzSVRDZmFUME1KcGpNdnp2
OFlQSEw5d0RtU2pxeXc5WTREais1T05yOHBXbTNMWUF5T3VERHo3bwp1YXlVdFFHTWExKzR2R3pW
cXBWSlMreWd0U2hnOWhMeks3MzQrdUdISC9ibEJlV0ErOXZubjMvZTU1TFpyVGRoOXhrUndwVXp5
Z3Z2CmFHQUlUelV5Y3FKRk9mT2xjZSs5OS9yeVlYZVFSemVkYk56dzJqakNmdE40d1FxN3poN0x0
bjdBaldxWVcyRXg4ZEhTb05JeUNtanEKbDh4SjBESVIycFFacmwvSGpoMnI0ZmtvbTNwaTgxaVUz
NUxtZ2p6aTJSQmwxSlJaUnBxTXh6dTRoWlg1R09hZGdQc3ZpcklwVGtseApNSW5Kdng0OWV2anFu
NnhCWVUrVjJtL1FEVGY0eU5wTHNma1I1ZFpYRGx3VGZNL0hSVkRjZW9HNFpmMGVEVmU1RUZFNE5l
cSsrMnhqCkg4ZURndmNlemtrbmdEa0ZWKzN1ZGRpT2V2L2dnb3N1dWlnamZEYnU0VTJpL0VjQ0pF
QUNKSkJJSUxVYlhzUVVwWURBTlNVYVEyakUKaXBtQ2VZR2pJWTdHRVJyd1lTTG1OUmtONlU2ZE9t
VUVsYmtodmc4QzFpTkJveFNOWnVrbDlob2o3a2NtekExdnNORWVscGFZei9qUwphdHk0c1JhdlJs
bzhvMlI4QUtXbjJjdnJhYWVkNWwySGhxTXI0aVhNbklPTFZobnBjRTlwR1ZYeHJvT0xZelFlcmJp
dVB2RkJCV01yCndRWkNWRU03TFdNWnpmSHlJUk0wZlI5MjNGZVhMUnAxUVlGYlN6Y01Hc095R0tX
V0NidDZscXpYQWgvNjdubHNpNWNnWHpTZmZQS0oKRndZS2xldkNGT1Z3bFVBb0tlKysrNjd2ZXV5
VVZRV2tLUFVEZFVFbTRYcE1MTDlndVpzMGFhTGhPaFR1VTRPU3RwNEVyMHU3WDl5RwpabEc0dU84
Zzhhem55NnFNZWhnbDJpb2c5bVMrT2RoMFhCZXVNdHFuMFJndWJka1lGQkF3dk9DQ0N6S2VoYkNP
aVB2dXUwK0xseXNQCk94VVFEd1UzU0lBRVNLQk1FU2oySEJBTWpXTWxXYmpqaFVtVUxPb2tiU1Zs
VElla0YxeEZ1VERFMERwTWNsd0pUdmFEYWRLVFR6N3AKQllGWkVzeFRZTDZEc0pnTElYN2h2Zk5S
RzJuU3dyVkIrLzhwVTZZb0dRMHdwbEZZRFI3bGhDQWZNSzJDd1BVcVZrUzJJb3ZTMlUzegphOTA2
WWw0SFBBbFp3YjVyYmlZTlNkKzhBYXcwYkFXMjVEQTF5VmJTbEJ1TTc3ampEaTlxNlZWV01tTGo3
VXRqVHUyODg4N2VQbFo1CmRtM3NjU0xJRFNZeU1JOEJPOVFMbUc4RkJXNUtYWEhkQ1NOUHJra2N5
b0ZWemEzSUU2U2l6SnhzbUxMeVc5VDZBYk5GMUgzOHVpSzkKN01yT0xZQzVsU2lJWmdJMDNLZHVT
RklVTHBoL0JjOVRWbEIyVjJDR2hVbmlwU0Y0NzhGODBFci8vdjBWWEVPWFJZR0o0emJiYkJQNQpG
M3cyeTBJWlpNSFBqR3lBTWVhWFdjRTJqdUVab1pBQUNaQUFDWlJ0QXNWV1FHNjk5Vll6WHdBVC8v
cjI3YXZRQ0lCZ2pnVDh1RXN2CnB5cXFOeGdvRjVpSWJBVnVHUnMwYUdCM3pTOGF1RUVKS2pMQjg5
bnNTOCtiVVhiRUZNbE1iQlN6Q2pWanhneUZ1UkVRVjZuQVBocnMKcnVCRGJ3VjIvV2c4UTZDNHVS
T3o0WnZlRlRFLzhIYmhnU2dZcjNleW1CdGlqdUhOVjBGVXRseHV0TktEN08zQ214bmNrTVlKMWd5
dwo5UURob01CQWlYQkZGdXB6ZHpQU0RkNURlUE55UlViVzNOMHl1MTNVK29FQ1FYbkhIQ0JYTU5j
SGN4SEVSTTNVUFZueE9tT1NyaHUrCnJHNFhoY3NmZi96aEtWOG9GK1ladmYzMjI3NGlZbjdSZWVl
ZDV6dFdFanZvVExEdktteDM2TkNoSkpJdFVocVlxM0wyMldkSC9wVkYKdDdQNzdiZWZOeGZPRmhv
S3FEdHZ5ODRiazFGb0c0Uy9KRUFDSkVBQ1paUkE1ZUxtQ3ozMWFHRGlEeDZBOE9FVjh5RTFlL1pz
Qlk5VgphQ0NoNFMzMjZjYXZlemJwQmYzbzU4cVRWdG84b05IdlRpUkZnekE0b3VQMmVpSmVqTTdZ
Q2VqWUYvTXAvQmlST1JVS2locEdSVjU3CjdUVjcyUHp1czg4K3ZuMk1OS0FoRDY5WUdPbkpsNkFo
NjRvNyttR1BCM3R5Y1QreHFGdGFnZktCbm56WGd4anFoaXR3VW9BSjZ1QnkKNktHSEpqWWk4KzFG
eXMxYmNiYUxXajlzbW1oUVkvUnQrdlRwOXBDWnBJL1JSWXlBSEhQTU1kN3hEV21qS0Z5Z0NHT2RC
a3l5aDhDeApBWnd1UUVFSEoxbmhXMkVrS0tqYzVKc0xKanJMZkMrVERIcmYwNHpLaHVVSkNwYVli
WVdkTXNmUU9RRHZVOFVWT1BBUVU2WElhUEI4Cll4U3pyQWxjOGdaSFBqRlNhbDFmWS9LNXpCMVJN
cWV1ckdXZCtTRUJFaUFCRWdnUUtMWUNFb2pQTE9JMmFOQWdoWStjRlRRV1lVS0QKeHJmTUY3Q0hZ
Mzh4VWhBMHNTanBucmxnd3p1WVlTaFpRWE9rbzQ0Nktoak10dy96QnF5V0RUZTNyZ1ROMFhBT1hy
RHlLVEFEQ3piawpyWm1abTY1ckRvYmpibVBZRFZlY2JTZ280Z2pBRndWTWpXREtCU1YyMUtoUnZu
TWJ3azVSNjRjMTIwTVowZUFHRjZ5NDdacWJ3RFBZCnVlZWV1eUZneU1oamNiakFDeG9XTFhVRm95
RDRneUlDcGN3ZHNYUEQ1V01iOXdUbVFmWlhuRElVT1JtTUdnZkw1a2FHOVV5Q0hSWHUKK1kxOUcy
YXZHUEYydnd0UWx2Qk9SU2NINmtCUlI5czNkbllzSHdtUUFBbVVOUUk1VjBCUVFMakR4RHdKdDhF
a25vRFU2TkdqRlJZYwpUQ04yQk1VTjY0NG11TWRMYXp2b2JoajVFRzh4cGxjMktrOHdTNVBKc3ht
bm9ReVV0TUNVTENoaFBheEJCUVRLRTJ6ZXNTNUNQZ1NOCkNQVFFZbkUzTk1CaEJvY0d1R3R1WTAz
WjhwRitydUlzYXYwSXBvOFJJWXlJaVpNSDd4UjZxTkhURDVQQURVMkt3MFVtSGhzRkdHdEIKQkFY
MUF5NmpYM2poQmVPR05YZytIL3U5ZXZVeXE2SERWTzZ1dSs3S1J4S004MThDVURJd3dvU0ZJRjNC
eUFjVWNvd0dscmFDaG5jcQpSdUhnTnB4Q0FpUkFBaVFRVFNBdkNnZ1VCWmdMZlAvOTk3NlVNWHll
VmdHeDl0UnVCREJIS2t1Q2tZeWdZRVFoT0U4bEdDWnNsQ0ZzCnBmamdkYm5lRDFNZ3dyaGJreGVi
UGtZcndreTE3UG1pL3FKaGlvWTI3THFoWU1EMERHdWNpRnRlWTYvdXhodWNJK0tlS3l2YlJhMGYK
WWZtSHNvSEp3NjdwR3BSZHpMR0NBNE1OU1lyREJlWTFVRFNnb0dMdEhEc2gzNVlmNW84WUpRR1Rv
SE1FR3laWHYzQStnVHhnNUFJbQpZR0dDaFF0UFAvMTBueWxuV0RnZVMwZEEzSzZyM3IxNyt4Wkpo
Yk1HdkErZWUrNjVkSkhrS1JUZWt4anBSMzZvZ09RSk1xTWxBUkxZCmFBamtSUUVCSFRSdWd3cElz
Q0ViUnhHbVdxNjlOOExtYW1YdXVIU3pPYmZycnJ1YW9YOTNia09heWRIQkNlZEljOEtFQ2FrV1Zz
d20KZjBsaHhWVnVCbU4zL29xOVBzZ2R5bVhRTzVNTlc5UmZtRkhnNHcwN2VFaWRPblU4NWFPb2Na
YjJkVVd0SDJINWhnS0Nad0pLbXExdgorTVdFYXl3Y2lXZGxRNUhpY3NFb25aMXNEa1ZrNE1DQnZu
Y0RPZ0d3YUNnbXFlZEx4RzIwbWJPRVVTa296V0VDazFONDdRdjIySWVGCnhUSE1aNGt6TTNVZFdr
VEZzYkVmaDFrczVuazgvdmpqWGxHaGxFUFp4T0tEcFNsUFBQR0VjY2lDdVpBVUVpQUJFaUNCZUFK
NVUwREMKZXZTeHNuaGFnUWtYR2lwMmhXOWNaMWZuVGh0SHZzT2gwWWVKNnE1SkNjeXIwSWdQRytX
dytVRkRBajFrcm10ZGVIQkI0enZmdmJZMgpEL2lGMlFKTUZ0elZnb1BLQnNJRjU3bkllZ2M0bkZO
QnI3VlZQaEF4R21NWStkaVFwYWoxSTFqbVljT0dLY3lyZ3FLQjFaOWRMMlNZCkY0QmVlUFFLYnlo
U1ZDNTRGOGhpbmNhVUUyV0ZPU01VQUpnL1FRbUE2WldWWU9lSFBaNkxYN2lKaHBjNldXUERPSlJB
NTRFVmRMTEEKdXgzdUMwYXMwTm1RMW5RVURlalNia1RiY3BUbFg4eTVjUlVRNUJWbW1ybnVGTW1H
QVViaVlJS0h1WHhoSTh2WnhNV3dKRUFDSkZBZQpDRlRNcHBCcDdlN1JzUDcxMTE5OVVhTm56NjZk
NFRzUnMrTzZva1V3TkpTRG95aGhYbVBjdVNjeDBXZWNDcFl2dUo5eGdSd0lOaGhRCmRyZ21EZ3A2
NmVBaHpNNWp3Sm9wcnFBMzIxMFh4RDJIK1JZelo4NTBEL20yWlNWb2J4KzI4ZTRrVGU5RXhBWnMy
RjBKdTlaVnNQQ1IKajhxbkcwODIyNWdmOU9tbm44WmVFbVlhRm50QkRrK0dqUW9oK3FqamJ0SkZy
UjgyRG93TXdld0VpZ2RjRzhPa0oyam5EZ1VFRGQ0awpLVTQ5Q1lzN3F2eFJ4OTA0aXNJRnp4Q2NF
b0NKSzJqMHdTc1lKaWhiaVhOYlhSd09zdmlpZ2t0dWVPRENLQXM2VmR3L0tNNnlXS0pSCkNCR210
TTNqd3Q1aFljY3NOL3lHblE4NzVsN2pia2ZkLzZqajdyVjJHK2EycnB0eWV4eS9jRExnT2psQlI4
cUZGMTdvQnZHMncvTHQKbWpGNkFmL2RDQXNmREJQY3h6Y0o5eHlkYm5BWFRDRUJFaUFCRWtnbWtK
VUNFallDNGZiaTIrUXdVZFJ0TU1KdUd4UFEzUVlDbElTZwo4aERzZlVkRDE1MXJnTFNlZWVZWm00
eENZeUNzTVJ3MGcwcVRGaUlOZXFZS2VvanlFblkyNEk3V0xSZE93Uk1QMWtSQmp6NCt1aU5HCmpE
RG1SV2o0MkFYMTBHTUxmL3l1b0d4WUg4UnlRTDRuVDU2c3NEaWdxd1FFUjBuUUE0dnptTHdOVjdi
V0hDZE51ZEVRYk5PbWpaY04KbUphNEgySGNSN2ZCaDRYZWduTmNrdTRqR2hQQitUdHVJeENNckZt
UnpRam1nYUMrNFJ4Nk8yVUZkbnZLL0FZYkVXZ0VXRzQySUJTYgpYRWhRbWJaeGhqMFA5cHo5TFdy
OXdQVm93RUpwUjZPMlk4ZU9Ka3FZSDZGbjNSV3d4UWhTa0dIYWV1TEdsYzEyYVhIQmlBZnF0aXNZ
Ck1iV0xnR0liSHJHczVJb0Q2aXlVajdqT0FKdW0vWVVEZ2RJVU9QTUlTbEs5TGNvMWJockZxUmMy
bmc4Ly9OQ1k4THJmRVhzT3YzREoKYXdYdnNPQTl0dWZDbkh0RTVRL1hoTEdKQzQ5M0g1NU5qR0JE
YUg1bE1QQWZDWkFBQ1NRVGtNWm1va2pqVGc4ZE9sUkxUeE5XMGZQOQppVjI2RnRNSExjcUJsdDUz
TGF0ZmUrZGxZcUFXTXdVdHZkc1phY2pLMTE0NEc2Y01YV3RwTlByQ0RoNDgySmV1bU9Yb2l5NjZT
SXNaCmlwWmVUaTI5anhueGlIbVRsc1hhTlBJTlNaT1dMSXpuU3dkNVF2NVJwaVNSVloyMUtGa1or
Y0QxNGtIS0hCZlhxbG9hbEw2b1pFVEgKbE1HVzMvNUtJMVBMV2lwYTdKMjFOS2Iwa0NGRGZOZEpM
M2hHV3JnRzE0dEhHQzlzbW5JanNDaEtXcnhNZVhIaVhsc1JaY283M3FsVApKeTNtV1BhVStmMzg4
OCs5OHpiL1luS2laYzBUTDV3b254bGhVRDVSSXJ3d3N0NUtSaGhScExTc3E2TEZzNUd2WGlFZDFN
VjI3ZHBwCm1mQnA0aEJYdlJuWHl6d1NMYU5IWGhwRjJaQUdocGFSdUl5NGtRZndFS1UxTWRxaTFB
OHhJZExTbURIcDJqTGFoS1R4clZISExXLzcKS3l2YTJ5RG1OMjA5OFYyVWNxYzB1RWpIZ2xkbVdV
alBWOGVrNGVnOWcrSXB5VmVLWEhCQVhUM2hoQk84OUMzenBOOXZ2dm5HbDVlUwoyc0c3VDBhRnpQ
c2ptRWU4cTk1OTkxMHRDcXN2TzZKZ2FlazhDaTBqM3MxaUFxaFI5K0lrRi9WQ1RBNjlQSWpKWGNZ
N0Ira2o3L1hyCjF6Zmh4TGxKUnBad1h1YmdhRm0zeVl2TDVlQys0M0N4S0RyNmpUZmUwSGgzdWVH
d2pYZjQrKysvYjc1Tml4Y3Yxcmlub25Cb0dYWEoKQ0MvcndXVGtoUWRJZ0FSSWdBUXlDYUMzTzFh
a3QxV2pJUmg4S1lmdHkyclZHZzF0NmJYVnNzSzJGcHZ0MExqNzkrOXZHdmRoY2VCbApqOGFFSzFB
Q2dnMHVtVWRobEJEcG5UZDVFOU1nTFhNVGRPZk9uWTN5SVI2Q1RBTTNUVnBRY3NURlkyUVo4YUZ6
RzlSdTN1eTI5SkpwCjZSM05pQVBsa2RFT0xUMzVOcWp2VjBaWnRKaG1aVndITnJLbWlFWURQeWhp
YjV6UktNYUhFL2ZLU3BweTI3RDR4UWRZSnZacWNBU0wKMXExYmErbEZOZzE5S0gySUx5aElMK3dl
NGhqcWpDdzJwMlZpWm1RWU1jdlRZbVpob2tWakFjcXNHNSs0czlTeTBKaHBiSWg1ZzhZOQp0K2Vo
Z0lqTnRXa1FJWXc5SHZ5VnVUZ1o5U2xZanJCOTFOMjZvdUFtMVgyY1J6amtQMDZ5cVI5aVV1VXJE
K29RNmdnRVRNVUpnTys4ClcyWVpMZkt5a2FhZWVJRlRicFFtRnlnZ3FKc3k4VjZMR1k1R3ZaVEZC
N1dZT1puM0NjNmhEc3VJa0s4MHVlQUF4ZDdsbkdZYjlUZlkKeVBkbExFODdNbDhvc2Q0aS82aFg2
RHlDWEh6eHhhSEtTckNjS0ZOWVhjOUZ2VUM5UjZkTE1FMTB3dUM3RWhSeFFhM0ZIREY0V010bwpz
S2VNQnVOeTkxRVdQQzlRMVBDZWNNOFZkWHZLbENrWitlRUJFaUFCRWlDQlRBSVZjRWhldG1WZU1C
U1AxWk14RHdURDNJMGFOVEpyCmpjQk1DbVpEV0FWWlBxaWxYZzZZTDhoSHlKaVhJWSt3MTVlR1VX
SytZQzRreW9heDVZYzVBY3JvcnNJZWpBQzNEYVlnU0F1VDJoczMKYnV3elZ3dUdUN3NQMHlhWWNp
RXZtRWlQQ2Vjd0ZVdFRoclJwUklWRDJtUEhqalcyMVBDMGhiVGR4U0F4RjhiT29aRVJGQVV2WGh1
YQpGTFYrRkxXYythb25SYzFQMUhWcHVNQWtEWE9jTUpjS0lxT1dDcVk2ZUFlZ0x1Q1pnWE9ITU5s
UU9JVGxuY2RJZ0FSSWdBUklZR01qCnNNRW9JQnNiZUphSEJFaUFCRWlBQkVpQUJFaUFCTW9qZ2F3
bW9aZEhRQ3d6Q1pBQUNaQUFDWkFBQ1pBQUNaQkE3Z2hRQWNrZFM4WkUKQWlSQUFpUkFBaVJBQWlS
QUFpU1FRSUFLU0FJZ25pWUJFaUFCRWlBQkVpQUJFaUFCRXNnZEFTb2d1V1BKbUVpQUJFaUFCRWlB
QkVpQQpCRWlBQkJJSVVBRkpBTVRUSkVBQ0pFQUNKRUFDSkVBQ0pFQUN1U05BQlNSM0xCa1RDWkFB
Q1pBQUNaQUFDWkFBQ1pCQUFnRXFJQW1BCmVKb0VTSUFFU0lBRVNJQUVTSUFFU0NCM0JLaUE1STRs
WXlJQkVpQUJFaUFCRWlBQkVpQUJFa2dnUUFVa0FSQlBrd0FKa0FBSmtBQUoKa0FBSmtBQUo1STRB
RlpEY3NXUk1KRUFDSkVBQ0pFQUNKRUFDSkVBQ0NRU29nQ1FBNG1rU0lBRVNJQUVTSUFFU0lBRVNJ
SUhjRWFBQwpranVXaklrRVNJQUVTSUFFU0lBRVNJQUVTQ0NCQUJXUUJFQThUUUlrUUFJa1FBSWtR
QUlrUUFJa2tEc0NWRUJ5eDVJeGtRQUprQUFKCmtBQUprQUFKa0FBSkpCQ2dBcElBaUtkSmdBUkln
QVJJZ0FSSWdBUklnQVJ5UjRBS1NPNVlNaVlTSUFFU0lBRVNJQUVTSUFFU0lJRUUKQWxSQUVnRHhO
QW1RQUFtUUFBbVFBQW1RQUFtUVFPNElVQUhKSFV2R1JBSWtRQUlrUUFJa1FBSWtRQUlra0VDQUNr
Z0NJSjRtQVJJZwpBUklnQVJJZ0FSSWdBUkxJSFFFcUlMbGp5WmhJZ0FSSWdBUklnQVJJZ0FSSWdB
UVNDRkFCU1FERTB5UkFBaVJBQWlSQUFpUkFBaVJBCkFya2pRQVVrZHl3WkV3bVFBQW1RQUFtUUFB
bVFBQW1RUUFJQktpQUpnSGlhQkVpQUJFaUFCRWlBQkVpQUJFZ2dkd1NvZ09TT0pXTWkKQVJJZ0FS
SWdBUklnQVJJZ0FSSklJRUFGSkFFUVQ1TUFDWkFBQ1pBQUNaQUFDWkFBQ2VTT0FCV1EzTEZrVENS
QUFpUkFBaVJBQWlSQQpBaVJBQWdrRXFJQWtBT0pwRWlBQkVpQUJFaUFCRWlBQkVpQ0IzQkdnQXBJ
N2xveUpCRWlBQkVpQUJFaUFCRWlBQkVnZ2dRQVZrQVJBClBFMENKRUFDSkVBQ0pFQUNKRUFDSkpB
N0FqbFZRSll1WGFwKysrMjN5TnpObXpkUHpadzVNL0o4YVo0b2F0NVE1dG16WjVkYTF0ZXUKWGF1
KysrNjdVa3QvenB4MUNuOVc1czlmdjIyUExWNnMxUysvckRXN1M1Wm90WEtsdHFlODN6Umgvdmxu
blFxTDM0dWtoRGJtelZzbgo5Yml3UFBsTTh2ZmYxNmtWS3pKWnhhVVpGMzdCZ25XcW9DQzcrT0xT
U25NdTIvb1pWNStXTHRYeWZzbXNYNyt4OWJNQUFDQUFTVVJCClZHbnlVVnBoWnM5ZXA1WXR5eDN6
di83NlM3Mzc3cnZ5SE14UExGTFMremd4Z2p3R3lPY3p0SGF0bG5kaThaN1BOTytqZk9ESlJkN2QK
Zk9VNlBqZHVicE1BQ1pCQWNRZ2tLaUJ0MjdaVlcyMjFsV3Jac3FVNjdiVFRWS1ZLbFZUOSt2WFZx
YWVlcW80NjZpaXovOXh6ejZraApRNGFvN2JmZlhnMGFOQ2d5UDcxNjlWTHQyN2VQUEYrYUo0cVN0
NEVEQjZwYXRXcXBsMTU2cVZTeS91bW5uNm9ERHp4UVhYamhoU1dhClBocXlYYnN1VThjY3MwVGRm
ZmRLOWZEREs5WHh4eTlSelpvdFVhZWNzc3pMQ3hwZlo1KzlUUFhzdVZ6Q3JGS0hITEpZSFg3NFl2
WEYKRitzYkIybkNUSmxTb0U0NFlZbmFZWWRGd251UjZ0UnBhYWdTNHlXYzU0MWV2VlpLUFY2YXQx
UlEzdWJObDZqUm85ZW8zcjFYcUhQUApYYWJXcklsdnhQNzU1enAxeFJYTFZkdTJtZm1Dc25UYWFV
dlZ5eSt2VVRmZnZFTGRldXVLdk9YZGpUaHQvVXhUbjRZTVdTM3ZsNFh5CmZsbmxKbEZtdDlFQWJ0
VnFpVHJ4eENWcXUrMFdxc3N1VzE3c3ZENysrT05xNk5DaGF1TEVpV3FmZmZaUnExWkZzMGp6UGs2
Ym9SRWoKVnF1REQxNnNLbFJZb0E0N2JMRjYvZlhWM3FVb0orb1d6bDE4OFRLRmVwaEc4dlVNZmZw
cGdid1RGOHM3c1dpODA3eVAwcFN2S0dHSwptL2RnbXJtT0x4Zy85MG1BQkVpZ1dBUjBnclJvMFVM
LzlOTlBYcWpOTnR0TW4zdnV1ZDcrQXc4OG9LVWhidlliTm15bzc3ampEdTljCmNPT2ZmLzdSTTJi
TUNCNU8zRjhwWGViUzY1Y1lMaTVBVWh4Rnpac29YYnB2Mzc1eFNlZjEzS1dYWHFxYk5XdVcxelRj
eUtkUEw5QTcKN2JSQWQrbXlWSzlhdGM0N3RXN2RPbjM5OWN2MW5uc3U5STUxN0xoRXQydTN4TnRm
dlhxZFB1Q0FSZnFsbDFaNXg1TENMRjY4VHJkcwp1VmlQSExsS3o1bXpWdDk0NDNKcGljL1h2WHN2
OStMSTk4YktsZXVrL3EzMmt2bm5uN1ZTand1OC9WeHVMRnk0VG0rLy9RTDk1cHZyCjAydmRlckh1
MFdOWlpESmdOSEhpYW4zY2NZdjE0WWN2OG9YRHViMzJXcWhIakZqUC9JZ2pGc2t6dTlJWExsODdT
ZlV6bS9yVXNPRkMKZWIvazU3NEg3M0Z4ZUt4ZHUwNzM2N2RDejV1MzFrVHo0b3VyVEozOTZxdWkx
eGtaemREVnExZlhNcUprNHZ6Z2d3OHlzaGg4eHlXOQpqek1paURtQStvTG5idkRnOWZYSUJsK3pa
cDJ1WFh1QjNVMzFtODluNk5KTGw4azdjWEdxZkFRREpiMlBFRDZYZFNXWWZuSHlIb3dMCis3bU9M
eXdOSGlNQkVpQ0JvaEJJSEFHNTZxcXJ6SWhIbEpiVHZYdDMweHVIODFXcVZKR2VzQXBSUWMxb3dS
NTc3SkZ4WGpLZWNjd2UKV0xObWpmU2luNjBtVFpwa0Q2WDZkZU5NRXdkR01yTE5HektTVkdhYjJZ
S0NBcnVaOGV2bU5lTmt4QUZwOEpzemxTdFhWaFVySnQ3RwppRml5TzR6aC9DNWRsa2w2U2cwY1dF
MXRzc242ZTQzN2ZzY2RtNms5OTZ6a1JmcmRkK3VNeVl6dHZhOVNwWUo2K3VscVlqNnkvbjRuCmhm
bm9vd0wxNUpQVjFja25ieUlqSUJYVjdiZHZKdmVwb3Zyd3cyaWVOZ05GNFdxdnRiL0lPMFp4Smsx
YW4xNnRXaFVsRCt2TGFjUG0KNG5ma3lOWHE3NysxT3Zyb3lsNTB4eDViUlQzKytLckkzdVhOTjY4
Z28xRlZWSU1HRmVYNTh5NHpHNE1IcjFhaTk2dVRUcXJpbmVqYQpkVlBWcDg4S2hmc1pKM0YxTnU0
Nm5FdFRQN090VDZnL3dmS0Y1U1BKekN4WUw4THVjVmk4YVkrSlZhYnEzbjFUdGZYV2hjOWxxMVpW
CjFPYWJLN1hOTm9HYmt6WkNDZmYxMTErcjFhdFhlOC82RVVjYzRiczY3QjJYOXQza2l5aGlaNnV0
Q3ZOdWY5MWdsU3RYa0ZHSDdKNkgKZkR4RDBnZGlzaVd2UlBPT2N2T1lkanZwZlJSWFY1THFYVndl
a3ZLZWJkeEo4Y1hsaGVkSWdBUklvQ1FJckcvbFJLUjI0b2tuUnB3cApQQ3k5Y3VySUk0LzB3cURo
QVhPbVo1NTVSbTJ4eFJacTFLaFJSb0daTTJlT01jOGFQbnk0K3VpamowejRZY09HR1Z2bXhZc1hx
NUVqClIwcWo4a012SHJ2eDBFTVBxZGRlZTAzOThNTVA2c2NmZjFUOSsvZFhzRzIrNTU1NzFHZWZm
V2EySDMzMFVURU5PQ3d5enJBNGtHOHIKUmMyYnZYNzU4dVZpWnRUVGxHL25uWGRXenovL3ZKTGVS
M1A2blhmZVVWT21UREdLR2NvSXM2MTk5OTNYbklzcS85eTVjeVBMWjlQYQpZWWNkMUI5Ly9LRysr
ZVliSmFOU05pc1p2MkIxL2ZYWHEwMDMzZFR3MjJXWFhVemNWYXRXVmVQSGp6ZjVRWjZSM3p2dnZO
TW9WS05ICmp3NVZPdDkrdTBES3NsWk1lRGFUTkRNYlV4VXJWbERQUFZmTnkwUG56bFhVVFRldEZQ
T3BwV3JZc09waVFsTlJIWFJRWmZObkF5V0YKYWRGaWZjTVoxMERSMlh2dlNxS01aS1p2NHh3MmJM
VlJjbURIalFiOWh4OXVZVTdObmJ0T3lyNVM2czFhcVRkYVBmcG9OYWszaFk4QQo1azdjZnZ0S3Fi
TVYxT2VmRjRpNVdHVzVwNXVwaHg1YUpmVnZqZFMvZGNJUGRYc3o5Y29yYTlUdzRhdWxIaGZHaTdp
dXYzNkZNRlltCnpDNjdWSlIwcXFxcVZTc0k0elhDZUpYYWVlZUt3cmlTTUY0cGpKV1lWOVVReHBt
TnRyLyswdEo0VjJxNURQVFVxRkZZeGtNUHJTUnoKTjVUNjhzdTFSZ216NVV6ekN6TXVLR3k0TjFh
d1AzdTJWbE9ucmxXTkcyZStBcUxxYkpyNmtrMzl6TFkrSWY5ZzA2dlhDbm0vckRMMwphdFNvOVJ6
ZmVXZU5xWjlRVW5EZkJ3NnNMczlhSlRWdTNCcFJZbGVwM1hldlpFelpubmxtdFNqUFNqMzFWSFV4
SGF5U2NZLzc5NjltCjZrZFlYVUhkd1AzY2R0dUtjbitWdWZhTk4ycW9KazNXYzBRZGNnWEs0eU9Q
VkZNNzdoamRVUkQzbkQ3eHhCTmlQdmV5MUlFQ2Rja2wKbDBpNlZkWDk5OS92SmlINXlIeFBJa0RV
K3hqbjR0NHpPSitOdVBVcnFjNWpucytnUWF0OXoxRFU4NGM4eEQxZk9JOW5wV2ZQRmVhZAo4TWNm
NitTZHVFN2VUemhUS0hIUHZRMWpmNVBlUjhIM0Flcks1TW1GNzhWZ3ZVdmlnRFNUOGg1VnA2UHFJ
ZXA3SEF0YlR2NlNBQW1RClFLa1RrTjdBckNSb2d1VmV2UC8rKzR1SnpRRjYzTGh4V2lhajZ3WU5H
dWp6enovZkJKSEprL3FpaXk3UzIyeXpqZG1YSGp2ZHVIRmoKNy9JcnI3elNNeS93RHY2N1VhOWVQ
UzJOWTdNbkgySGRxbFVyTFVxTENTOGpNSHJiYmJmVkN4WXMwSEZ4dW5FRTR5OU8zcVR4cnNVZQpX
NHVTWk16RWtNNnV1KzVxOGlJMjJtS3V0Sk5uUHRhN2QyL2RvVU1IazN4VVh1UEtod3ZidEdtanhR
N2N4QUZ6ak5xMWErc1RUampCCjdJZjlPK2FZWTdUTTBUR25wQWRWTjJuU1JNdThIclAvNTU5L2lz
blVudVkraWFLb2YvNzVaekhYMlV0ZmNNRUZZVkhwKys3RGpPajUKK3RsbjA1bnZMRnEwenBnRjRa
cHR0bGtnakRMTk45S0VjVE1qRFNwZHQrNUMvZGxuYTl6RDNqYk1RUm8zWG0rR2RPV1Z5NlNlck5N
RgpCZXVrM2l5V2VyUE83SGZ2dmxUcXpRS3BONFVtTFREeit1aWp3amluVE1HRWkvbGVHdlhxTFpU
NlYyajY4OWRmYTZVZUx6WGxzWWtlCmM4eGlZVnpJQkdabVRab3NFc2FGcG1kLy9ybldtS1UxYUxC
UWp4cTFTaGdYR0pPb0N5NVlhaS8zL1U2ZFdwajJtREhyVGJBKythVHcKR0s2UEUrUUw1bFd1SEhM
SUluM2lpWDV6RkxCRCtZWVB6NHd2cnM2bXFTL1oxTTlzNjlQKyt5OHlKbnpqeHEyVzk4dGFxYmNM
NWYxUwp5QkhtZ0RBTnRLWnlNTkhyMEtId0hzeWFWYUMzMjI2QnJsOS9vWjQwYVkweFY0TXBZSjA2
NjgyRzNIc2NWMWRRUjdiYWFvRSs4TUJGCit1V1hWMm5Vb3loelBOejdjODVacWl0V25LOWxmb1RQ
Wk5HOVI5aU9lMDV4L3NVWFg1UjRLbUl6VW9MdnVMajNjZEo3SnBpSU5TTnoKVFFQZE1MYSs0MWhT
blE5N2h1S2V2N2puQyttMWFiTkUzb21GZFJuUE9zekJUamloc003SDNVdGNHNVEwN3lPM3JzVFZ1
eVFPU0RzdQo3M0Z4UjlYRHVQaUNaZVUrQ1pBQUNaUW1nZWd1dVNLcVJwaTAzcng1YytueDNWazFi
ZHJVODlBa1NvTGFiNy85bEJUV3hMeHc0VUtaCmpQeUZldlBOTjgyK05IcTljMkZKVzlNdStSQ2Jj
RERKR2pObWpQUXE3aWdtSzMrcjk5NTdUeVhGYWVNSXhsL2N2SFhwMGtWTVhFNHkKNWIzNzdydVZ6
Sm1SWHRkeFpqVGhsRk5PVWFLVW1TUmg1dlh0dDkrYTdhaTh4cFZ2OHVUSmhwY2RsWUxwVmV2V3JZ
UEY4ZmJCNS8zMwozMWVkTzNjMngyQ1MwYTFiTjVsRStyb1poWUxUZ04xMjI4M2NGOXkzdW5Ycnlr
VHladXI3NzcvMzRuQTNNRUVUc3MwMjZhb05lb0xmCmZydUd1dUdHelpUb2h6SnhlNW1NWUsxMG96
UzkyRWxoM0Fzdyt0QzZkUldaRkx1K3g5azl2M0NoTnBQYzMzeHpqVGw4d1FXYlNuMVIKNnNVWDE1
aGZtRktOR1ZOZ2VxTmg2dlRlZXdYaVZXaU5HUTNBU0FPa1VhUEthc0NBYXNKamZUbHQzVUhQOTM3
N1ZUSnhJZXlZTVd1RQpjWUV3bGk1MUVaZ0pkZXUycVRCZUk0d0x6S2pQYnJzVlh0TzI3U1lTWnlW
aFhFVVlGN0kwRnpuL0RqeXdza20zZi85VnhrUUtKaDh2CnZsZzQ2UmNqUDlrS2VwYVJKMWVzNlp4
WU4yWUk2a2hVblUycUw5bld6MnpyRXpMYnRtMFZlYjlVTVNOS1RadFdrZmRMSVVlTUtwMXkKeWli
eXJCVXlxbFdyZ2p4cmhjNE82dFdycE9yVXFTaG1mRlhFY1VabFk2NDJkR2gxTVEvVVhoakViZTl4
WEYzQmlCbE0zUm8ycktnNgpkTmhFNmtuMVNITThzSWY1VlpzMlZkUmpqNjB5bzI5SUp5aEp6Mmt3
Zk55K0xZTU5FL1Uram52UDJHdUwrb3VSenJnNkgzeUc0cDYvCnBPY0xvdzk0MWs4OHNmQjlnSkVZ
dkIrc3hOMUxHOGI5VGZQT1FuakxPYTdlSlhGSXludGMzR0gxY040OEhjdkNMU2UzU1lBRVNLQzAK
Q2F4dlllVW9KL2JGak9qZ1BRdW1CVlp3enA2WGtSRFQwRUhESFdZRjBudG5QR3Jac01GZmV4M010
OUNRMzBSc0tQQUg4Nit4WThkSwpvN0dSTkl6ajQ3UnhCT1BHZm5IeXR1V1dXM3BSV2xNd3VCdEdu
UDM2OVRPS0VVekc0TDFteVpJbEpteFVYdVBLTjJIQ0JHbjhORkExCmE5YjAwcXRSbzRiSDFEdjQ3
OFlubjN3aXBpTGJHa1hJbnBNUkVMTTVkZXBVOCt1V0d3YzJGMk4xbWN4cXpnWC8xYXRYV0Yxc3d6
RjQKUG13ZmpkODc3NnlxM25tbmh1U2xndHpyRmVJMWJMMFhIVnlUSmd6Q3lRUnQweGp2MjFkc1h5
SUV5dEVwcDFRUmhYQ3BwTFZjNmxWRgpxVmNWakRJQXUzT1kzdUR2eUNNclM3MnBZWlFOS0NGSEhG
SFp4eEUyL0FodlJXNmxKNFhNQ25jLythVEFsTXR0NURkcFV0Z0luanExCmNONElybld2eDN5QU1G
ZkVOb0VSSTZxTGVjdzZNUmtxOU9hRE9UT3dHTFQ4YmJnMHY1ZzNFM1JkYk4zQ3doUXJLSEYxRm1I
ajZrdTIKOWRPV0o1djY1SExFZkFTWTU5aDg5ZXRYVGVxSU5nMzlpUk1MNUZrclBGZDRYa2s5TUVI
TnZ3WU5Lc243cVlJeHo3SkhiZHhRSEtQcQpDc0xDdEE2TjZDU0I0dE9wMHlZSzkvT0VFeW9iTDJS
aDE2UjVUc091Q3p1RysrT0t1KysraitQZU0rNzFSZDFHTnR5c0JPdDhZVDBxCmpEM3UrVXQ2dmla
TUtEQUtZYzJhNis4SFRCZHQya24zTXF4OGFkNUhObjZVSTZuZTJiQkl5K1dRbFBla3VJUDFNQ20r
c0xMeUdBbVEKQUFtVUZvSHdidVFTeWcxY1JZb0prYmhvZlZqczdqOVhiNzMxbHBrM0VwZThlS3RT
bUhoOS9QSEhod1lyU3B4aEVSVTFIb3dpb0JHUApQd2ptZkdBVTRxbW5ubEt3NVVaancwcFlHbkhs
Ky8zMzMyVkM4VC8yY3UvWGJXUjRCMlVEOXZnSUR5VVFpZ29FbzFEZ3QyelplbmU1CjVrU0tmN1lI
ZnZyMDlXNTBveTc3K2VlMXBoR0hDZElRVEtSKzlkVWEwdkJmWWhTUWpoMDNVV25DdVBGalBzbURE
MWFUdVJiK1JwWWIKQnR0RGhsU1hlclhDdVA2RnJmUmJiMjB1SE5aSnVTc1ltLzlnZURUMnAwMUxM
bFB3T3V6RGhodVR2TkVRdG5NMk1FS0NpYkJGUUd5Uwp3Q2pJNU1tRjgwdHdvRW1UeGVxaWl6YjF6
ZU13QVZQOHc5d1RqTkM0WWh2dFVSUHA0K3FzRzA5d085djZtVTE5Q3FZVnRvKzVHU2pyClUwOVZr
MmV0Z2p4cjhmY1V6aFJRSjRJU1YxZUNZZFBzbzFjZW96TjkrNFlyOXJsK1R0UGtLZTQ5RTNZOTVq
VkJ3Q1pNWE9VdTdIemMKc2JqbkwrbjV3bG81ZVA2Q1lodjkyZHpMYk45SE5zMXM2NTI5TGludkNK
ZE4zR25pczJuemx3UklnQVJLbThENmJxTVN6b25Za3lzcwpxaVV1YkkwcEZieTh3TWQ5bE5oR2Ru
MVpnd1FqSG00dlBjeTYwUHVhRktlTkl5b05lendwSGhzdTdCY1R3ekhLY2RCQkI2bnAwNmVyCkhq
MTZtQW1qTUcxeEpTcU51UEpCV1lPNW1iZ3lkcU9LM01ab0NSYUN3M29NVnNBY2sxbnRKSGw3UE0x
djgrYVZqWW5MMDArdk5xTVIKWWRkWWJ5MXo1MnF6UG9nYkJxTU02UFcyaThtbENXT3Z2Ly8rbGVx
ODh6WXhwamYyR0JvdVFjRTZCSmpJM2Jkdk5hbFhOY1I3MEZxcApWNnZOaE8reFk5ZjRSaDRLNjgw
YVl4WTFjeVltbWE5dnNPS2NIY0ZBR3JaQkUwd1BQZW1DV0JpdmIrUWpmVXdhaDVsT2NlVzU1MWFK
CnVkWmFZOFpXbExqYXQ2OWl2R2ZCNDVRVnhMZnZ2aFZsVkNXejhSMVhaKzMxVWIvWjFzOXM2bE5V
bXZZNGxPSWVQWmJMczFZMXcrVE0KaG5GL1o4eFlxMkN5Y3ZEQjY0ZEY3RDJHYzRDb3V1TEdrYzAy
NG5ZbnFydlg1dkk1VGZ1T2kzdlB1SG16MjFDcW9XUllremQ3SEw5WQpaTlFxS083eHROc3dTNHg2
L3BLZXI5cTFLeGl2Y2JpZllaTE52Y3ptZldUclNyYjF6czFqVXQ2empUc3BQamR0YnBNQUNaQkFh
UlBJCnFvVUVqeXB3QlJtMUNpOTY4dkJuWmNXS0ZiS1M4L3BGejNBTysyamNZZVZ4ZUlHQ3lGb2px
bDI3ZGw0dnZiM2Uvc0xrQ0wyckVOZzAKdzNzTDNQL0t4SE9qeFBUcDAwZnNzUGVJamRPTkE5Y0Zw
YWg1UXp4bzVGdVI5VXJNWW91WTk0SDVIbUNHUmgzQ3dBUUxpaFBLang3SQpzUEtmZWVhWmtlWHIx
S21UR2IwWU1HQ0FUYzdNc1VGY2JoN3N5WTRkTzVxNU9GRFlyTUFqRnhvOFdGZ1NndnVKUEZvQmg3
QzRjQjQ5CnVmMzZWVFdlaExwMVcrNHpjY0g1V2JQV3FtdXVXU0dOYjYxMjNiV2lLQUdyUkZsYXp3
YktBWHJwckkxMm1qQ0k5OWxuVjVrNUpKSlYKNDNFR0xuZ2ZmWFNsakpxdGp4dmhJR2hVd2dzV0JC
NjAyclhieEl4TW5Ibm1Kc0pWUzcxWkxuRkJTVmtucm1oWEd2djlUcDJxR0s4NQpYYnN1TjNNQ01I
ZmcybXRYbUhrRGlLZG16UW9tMzlqR3RlaVZoWDAvN2lOR2NuYmV1WUkwV05jcklGaElFUE1FV3JZ
c1ZEcVJid2V4ClhJODZnOWppQmV6dXVHT2xHank0dXM4Y1RId2JpRm5iQ2k5UE5oYXNTK2VtZytP
WU03SGRkaFhOSEJnYmJ2ejRBbEVPMTNzcnM4ZngKRzFkblVkNjQrcEp0L2N5bVBpRnY0STQvSzdn
SCtJUGducUhzYUxSQjJabzRzVkRaUko3eEIwSGRzQUlHY0hWODZLR0ZnOER1UFc3Ygp0bkprWGNI
MVVDNXR1alkrOXhkNS9PQ0RBaTlkNUFkekdmN3pIOGMxazNOQm11Y1VuZ0x4bkxydlZ5Y0tzeGw4
eHlHc0c5NTlIOGU5Clo0THhZcjlhTmJoNmhoa1ozRHF2ZjEvQTNTdnE2RmxuaVYyakkwbDEzbjJH
NHA2L3BPY0xKbTRZYlJ3d1lQMmlqRmdjRWFNaTRCNzMKM0R2Wk5adHAzMGR1WFVISFExeTlpK09R
bFBla09oMnNoMG54b1pCWXZCTGVEdTMzTk1pQSt5UkFBaVJRWWdUazQ1eEtwazJiSmg1Zgp1dU1M
cm1YT2c4WUNoSXNXcmZlNEkyNGlqWmVXdmZmZVc4djhBaTBtVlJvTFlZbTVqL0VROWZISEg4c2lh
WWViNjdGd0g4TElCR2l6CmlLRzRwNVdGMW5vWXoxRmhtYm54eGh1MTlPeHBtVUN0UmZuUWp6MzJt
QmEzc3VZWVBHQ0phMTl6R2ZJWUZXY3dEamVkNHVUdDFsdHYKMVdMV3BHWHl1YjdycnJ2MDVaZGZi
angwSVg0eGN4SnZPUWRxTVgvU1hidDIxVys4OFlhdVZxMmFQdXVzczJMTEgxVSt4RGw0OEdBdAo1
bDJHcmF4TXIyVU9qWGcrT3NJY3gvbWc0RDdnbnR4MzMzMnl1TjJiV2lha2EybGttbUNpRUdscHRC
aFBXbUlUcnNVcGdONTk5OTBOCjI3ZmZmanNZbGJjUHJ6L0hIcnRZdkgwVmVpSHEyYk53NGE4YmJs
aHVGdW15QWVHbHFHblR4UnFlcU9CRkNwNkhMcnh3cVlhbktDdEoKWWNhUFg2MnJWTUhDSWY0L2VM
cUJoNXVnVEp0V0lIVmdvVmxvRDRzWFlnRS9lTWFDUFBiWVNpbmJmS2szODQwSExOY0xGTGJoRlF2
cAp3TXZXKysrdjk3S0Z4UTl4VGJkdVMvWG8wYXZNWW44STE3ZnZDdVBaNlBQUDF3ampoY1pMR0x3
RWRlNjhSQmdYTGpxSEJRSnIxbHhnClBQUEFjODBYWDZ3UnhndE5QdDUrZTcybks3Y2MwcU9zYjd0
dHVUN3Z2S1VhQzdZRkJZdjNJVC9XR3hrV1JoczBhS1ZKQStWNy92bVYKZXY3ODlkZjk5Rk9COGJi
ejRJTXJEQU40bjRxU3VEb0w3M1pKOVNYYitvbDhwS2xQOERnRmIxTGdERTloWUk2RkNTdFhubSs4
cXkxYgp0czU0cHFwUlk3NDhhMHZsV1ZzdHo5cDhlZFlLRjh5RVp6UjRycnJsbHVXR2JZc1dpNDIz
SnN2QnZjZHo1NjZOckN0WWlLOTY5Zmw2Cnh4MFg2R0hETXIySUlUN3dSbDNDODRGbkFuWFExZ2Vi
WHZBMzdqbVZ5ZjM2NktPUE51OU9jZmV0eFIxNThIS3o3Nzdqbm56eXlkajMKTVM2SWU4K0VKUUFQ
Y2llZHRFVHZzY2RDOHl4Y2Nza3kzYjc5RWoxMnJMOGVKOVg1ano5ZWsvRU14VDEvY2M4WDhvbDdz
dm5tODAxOQpPTzIwSlNhUDhBWm5GMDJNZSs2RDVVeDZIeUc4VzFmZ1lRMzFLcXpld1Z0YjByTWZs
L2U0T28xblA2d2V4c1dIdkV0bm1QbHVQdnZzCnM5aWxrQUFKa0VDcEVhaUFsRXRNMjNFU1FtOGV2
RGpCR3hUTWs5eDFPWnhnM2laNitURngyd3A2WXNYVnI1alAxRFdqQWppZUZHY3cKRGh0WDhEY3Bu
bUI0N01Pa0N2bkQvSXFnb09jUnZ2c2hXREFNNVUxS0k2eDhObDZNVUdBVUIrbGhSQ1Z1SFJCY2cx
dU1kVlRBRzE2dgpjaVdZU0kxZU90alJZMEp6Y0cwUVRIN0dZbXpvN1p3MWE1MHgwN0J6UW13ZTBv
U3hZZFA4b2tjV1BldVlzSTdKcEVFekkvRkViRXpBCjRPRXFhUDhQVGpDZmd2ZWFvS0RYTjg3N1Z5
RmoxR2tsak5lYjlRVGpTZHBIL3RCN2puVkk3SnlTc0d2Ky9udGRxb25RN3JWZ2pZblgKYWN4MHd1
cXNHMWZjZHJiMTA4YVZWSjlzdUxoZmpFeGdjaTRFSHNTc2M0QkREbGxzZXZENzlLbHE2bVBZSlBM
Z1BZNnJLM0Y1c09kcwozYmI3U2IrNWVFN1R2dU5zWHVMZU16Wk04QmRjWjh4WUo1N2tLbmlMTFFi
REZHVS83dmxMZXI0dzJnRlBlM2hHVVkrQzc2SzA5OUxlCnM3aDNGc29XckN0UjlTNE5oNlM4Wnh0
M1Vud3c0NFZ6RWdvSmtBQUpsQ2FCVWxOQVNyUFFUTHRvQkNwVXlEUmRLMXBNdktxc0VOQjYKcTFM
TFNubXRUNlhKdkNnM3U3emVwNkt3S3N2WGJHajFyaXl6Wk41SWdBU0tUNEFLU1BFWk1nWVNJSUV5
VEFDalluWHFMREtqU2lORwpGSHFESzhQWlpkWklnQVJJZ0FSSVlLTW5RQVZrbzcvRkxDQUpsRzhD
Y0dJQTV3ZVFYWGV0cEU0LzNUOWh1bnpUWWVsSmdBUklnQVJJCm9PUUpVQUVwZWVaTWtRUklnQVJJ
Z0FSSWdBUklnQVRLTFlITTJiYmxGZ1VMVGdJa1FBSWtRQUlrUUFJa1FBSWtrRzhDVkVEeVRaangK
a3dBSmtBQUprQUFKa0FBSmtBQUplQVNvZ0hnb3VFRUNKRUFDSkVBQ0pFQUNKRUFDSkpCdkFsUkE4
azJZOFpNQUNaQUFDWkFBQ1pBQQpDWkFBQ1hnRXFJQjRLTGhCQWlSQUFpUkFBaVJBQWlSQUFpU1Fi
d0pVUVBKTm1QR1RBQW1RQUFtUUFBbVFBQW1RQUFsNEJLaUFlQ2k0ClFRSWtRQUlrUUFJa1FBSWtR
QUlra0c4Q1ZFRHlUWmp4a3dBSmtBQUprQUFKa0FBSmtBQUplQVNvZ0hnb3VFRUNKRUFDSkVBQ0pF
QUMKSkVBQ0pKQnZBbFJBOGsyWThaTUFDWkFBQ1pBQUNaQUFDWkFBQ1hnRXFJQjRLTGhCQWlSQUFp
UkFBaVJBQWlSQUFpU1Fid0pVUVBKTgptUEdUQUFtUUFBbVFBQW1RQUFtUUFBbDRCS2lBZUNpNFFR
SWtRQUlrUUFJa1FBSWtRQUlra0c4Q1ZFRHlUWmp4a3dBSmtBQUprQUFKCmtBQUprQUFKZUFTb2dI
Z291RUVDSkVBQ0pFQUNKRUFDSkVBQ0pKQnZBbFJBOGsyWThaTUFDWkFBQ1pBQUNaQUFDWkFBQ1hn
RXFJQjQKS0xoQkFpUkFBaVJBQWlSQUFpUkFBaVNRYndJYnRBS3lkT2xTOWR0dnY2Vm1oUEN6Wjg5
T0hiNGtBNjVhdFVwOStPR0hYcExCZmU5RQp4RWEyTENLaU1ZZURhYytiTjAvTm5Ea3o3cElTTzVm
TGNvWmxPbGoyWUppMWE5ZXE3Nzc3TG5qWTI4OW5IY3QzMmIxQ2NJTUVTSUFFClNJQUVTSUFFOGtn
Z1VRRVpQWHEwT3Y3NDQxV0ZDaFhVN3J2dnJoNTc3TEU4WmlkOTFFT0dERkhiYjcrOUdqUm9VS3FM
Qmc0Y3FHclYKcXFWZWV1bWxWT0ZMTXRESEgzK3NHamR1ckU0NTVSU1RiSEEvS1MvWnNvaUxMeXp0
WHIxNnFmYnQyOGRkVmlMbmNsbk9zQXlIbGQwTgo5K21ubjZvRER6eFFYWGpoaGU1aGJ6dWZkU3pm
WmZjS3dRMFNJQUVTSUFFU0lBRVN5RE9CUkFXa1ZhdFc2dWFiYnpiWk9PdXNzOVRGCkYxK2M1eXls
aS82TU04NVFkZXZXVFJkWVFuWHYzbDF0dGRWV3FjT1haTUJERHoxVW5YdnV1VjZTd1gzdmhMT0Ju
dnJ4NDhlYkk5bXkKY0tMSjJBeEx1MCtmUG1yRWlCRVpZVXY2UUM3TEdaYjNzTEs3NFE0NTVCQjEz
SEhIcVNwVnFyaUh2ZTFjMTdGODNXTXZ3OXdnQVJJZwpBUklnQVJJZ2dWSWdrS2lBSUUrMjRXNS84
NVhQZ29LQ3JLSkdReEFqTTJrbDIvQnA0ODAyWEZnNU45bGtFMTlaZ3Z0dUdtdldyRkZuCm4zMjJt
alJwa25jNGwyVUxwbzJSb3ozMjJNTkxLeGNiV3V0VTBRVEQ1YktjWVJrSWx0MkdXYmR1bmRtc1hM
bXlxbGd4K3JISlZmN3kKZlk5dHVZSjg3Zkd3T21yUDhaY0VTSUFFU0lBRVNJQUVpa01ndWlVVkV5
dDYzanQzN3F4Njl1eXBubnp5U2JYYmJydXBCZzBhcUZtegpaa1ZlTlhmdVhIWFZWVmVwWTQ4OVZq
VnExRWhObmp6WkMvdk9PKytvZSs2NVJ6MzQ0SVBxeUNPUFZOT21UZlBPclZpeFF0MTAwMDNtCmZL
ZE9uZFQ5OTkvdm5jTUdHb1l3RWRwbGwxM1V2dnZ1RzVzSGhGKytmTG5KTjh5M2tJOXZ2LzBXaDQz
QXh2N1NTeTlWVjE5OXRURTUKdXV5eXl4VFNoM3oyMldlcVJZc1dhcDk5OWxFVEprd3crd2NjY0lC
Njl0bG56ZmswLytMS21lWjZHK2FoaHg1U3I3MzJtaG1WT09lYwpjOVN5WmN2TXFUZ1djZnh0dkdH
L2MrYk1VZmZlZTY4Ni9QRER6ZWswOXo0dXJXSERoaGt6UHNSNXhCRkhoQ1ZwanNXRml5dG4zRDFF
Cm5EdnR0Sk42NUpGSFRCcERodzVWZSsyMWw3cm9vb3NpODRINjBxTkhEM1g3N2JlYmNGT21USWtN
YTAvRTFiRTROdlo2L09iN0hrZngKamFxalAvendnN3IyMm12Tk16eHExQ2gxMEVFSEdiUEJqejc2
U0gzOTlkZnExRk5QVlR2dXVLTzY4ODQ3dldLa0xhdDNBVGRJZ0FSSQpnQVJJZ0FUS0J3SHBBVTJV
TDc3NEF0M1ZXaHBGSnV5ZmYvNnA5OXh6VHkxS2g1YkdpUDc1NTUrMU5PVDBCUmRjRUJxWDlLWnFN
ZVhTCml4Y3YxaktKVjR1cGl0NTIyMjMxZ2dVTHRKaVphR2tVNm5mZmZkZGMyN3QzYjkyaFF3Y3Zu
cFl0VzJwcDVKaDlhZnlaZklneVlQYjMKMzM5L0xVcUFIamR1bkpiSjZDWS81NTkvdm5kdGNHUG5u
WGZXb2tCb2FieWI5T3JWcTZkMzNYVlhMYjNOSnVneHh4eWpuM3Z1T2JPOQpldlZxM2FSSkU5MjJi
VnN2R3FRRERqSXZSci81NXB0YUZDYnZYTkpHVWpuNzlldW5kOWhoQnkrYTRMNTM0dDhONUYwYWU5
N2hPQlp4Ci9MMEluQTAzN2IvKytrdExBMTF2czgwMkprVFN2WTlMQzV4bHJvdVgwcFZYWG1ucWcz
ZmczNDI0Y0hIbHhPVko5eEIxN1k0Nzd2Q1MKRktWU2QrelkwZHQzeTQ2RGJkcTAwYUtvbVBPb3U3
VnIxOVlubkhDQ0Z6NjRFVmZINHRnRTQ4Rit2dTV4Rk4rNE9pb0tpQmFsUTlldgpYMSsvL1BMTFdw
UXN3MDNtaFpsNitNOC8vK2hiYjcxVnk0aWtuajkvdnM2MnJHSGw1ekVTSUFFU1RnMUhYd0FBSUFC
SlJFRlVJQUVTCklJR05rMENSUmtBd2VvQlJqLzMyMjA5SkE5M014V2pXckpuNi92dnZRN1cyRjE5
OFVRaytZekkwWnN3WTAxUDY5OTkvcS9mZWU4L1kKMDJQeU5VWVRJREQzc2FNU29wU29xVk9uS3Rq
bVF6QmlNV0RBQU4vY0Q2VGZ2SGx6SlEwLzFiUnAwMWdQUllpalM1Y3U2cVNUVGpKaAo3Nzc3YnZY
VFR6OHBVU3dVOHZYKysrK2JrUjJFZ3lsTnQyN2QxT3V2djY3UXl3dEJPaGlGdWZIR0c4M2tkNHlR
cEJYRUYxWE90SEVFCnd3WE56NkpZeFBFUHhobmNGMFhSM0dmY1AwalN2WTlMYStIQ2hVcVVXU1hL
bTRsTEZGWlRMOHlPOHk4cFhGUTUwOXpEcWxXcitremQKcWxXcjV0dDNzbUZHNlpEWEUwODgwUnlH
NlZYcjFxM2RJS0hiVVhVc2prMW9SSEl3SC9jNGltOWNIY1h6amduNEdBR1VEZ0lGam5CTQo4TXN2
djZnYmJyakJQTGRYWEhHRnVaODRWcFN5UmpIZ2NSSWdBUklnQVJJZ2dZMkxRSkVVRUNCQXc4aHRI
RzIrK2VacTVjcVZvWFRRCmdJZGlBZnQ2L01ITWF1ellzVWFoUUJ6UzY2elFLSUlaMXNTSkU5V1NK
VXRNUEZCUVlLYmpwb09Kdm9qTGluc09jMVJnZ2hNblcyNjUKcFhmNnNNTU9NOXR3TWZ2Sko1OG9O
TGJSQ0xNaUl5Qm1FMHFRRlppQXpaZ3h3K1M5VXFWSzluRGliMXc1RXkrT0NPQ1dIVUhjZlpkRgpI
UCtJcUgySEVhOGJkM0RmdmZkeGFja29pbEhDb0FCZWNza2xxbDY5ZWlxTVlWSTROeTl1T2RQZVEx
L2hZblpnYWdmVHdwbzFhM3FoCmF0U280V1BoblhBMm91cFlIQnZuY3QrbVcxYWNjUGZkc21jVGR4
UmZ4QjMxTEFiVHhqN3V1eXRiYkxHRjJVWG5RamI1Y2VQZ05nbVEKQUFtUUFBbVF3TVpQb0hKSkZG
SE1NeFFtNzhLZGI1akFmU2xHSDU1NjZpbjF4Qk5QR0dVQTRXQkQ3czRIQ2J1Mk9NZmdSUXVOS1B4
aApmUkRrRXdvTUdwa1FqUEFnMzNhT0JZNUJRWUdpZ2prTTU1MTNucTl4aXZOeEVsWE91R3R5Y1M2
SmZ5N1NzSEVrcFFWM3NtTEdwQjUrCitHSDErZWVmcTdmZWVrdlpocXVOQTc5cHc3blhZTzVGbW52
b1hoTzMvZnZ2djV2NGdtRmNKU0I0THJqdjFyRWtOc0ZyczluUE51NG8KdnRuVVVZd0l1U3pjN1d6
emswMVpHWllFU0lBRVNJQUVTR0RESmxEa0VaQnNpbDIvZm4wejR1R09rTUNrQnozTTA2ZFBONU44
TWJMZwpqajRnZmpUZU1Ecng0NDgvZXNuaE9uZEV3anRSaEkwLy92akRqTFpnUWkxNnVySElITlo2
c0NMekg1VFlzcXVHRFJ2YVErcVdXMjR4CkprUm9iR0U3cmNTVk0yMGN3WEJ1Z3k5NHp0MlA0KytH
eThWMlhGb3lmMFNCYWQrK2ZZM0pHeVl2WXlKNFVOS0dDMTZYOWg1YWoxYkIKNjRQN1VKVFFtNDhS
cjZLS1c4ZmkyRVRGbjQ5N0hNVTNsM1cwS0dXTllzRGpKRUFDSkVBQ0pFQUNHeGVCVkFxSVRDbzFw
YmEvMkpGSgoyc1lEbGNXQjNtYzA0TVBrekRQUE5LTVpNSitTaWVlbUVZcTFKZURhRmZNOTBDQkU0
d2ZYd3dRTGlnb1VqZE5PTzAxdHR0bG1xbXZYCnJpWWN3c0lUVDUwNmRVd3lTQk4vVnVDeHlucXRz
c2VDdjI0ZU1jY0VkdXlZZnlJVGtjMDhFcGlHV1lISEl6UnFaU0s4T1lRNUJzZ3oKRkJLWWkyRlJS
bGNaZ3VrWWxCTDA3QWNscnB3b0szaks1R0R2c3VDK2QrTGZEWmdGb1ljZUFxWnhMT0w0L3h1ZDd5
ZVlOdUlHVitRVApFbmZ2NDlMQ2l1cnd2Z1NCUjdGMjdkcDVvMDNtNEwvLzRzTEZsVFBOUGNTb0Zo
WWNSQm1nSEVDNVJYcFczTEpqdmc5R3dERHZ5QXBXClFVZnZ2bHVQN0RuNzY1NXo2MWdjRzN1dCs1
dXZleHpGTjZtT29uNjZaY002SmRpMzlSYktPZ1RQYzFKWmNTMDhadGs2N0phYjJ5UkEKQWlSQUFp
UkFBaHM1QVdsVXhvbzB1bzNYSDhHZ3BmR3R4VVJEaTVLZ3BYRmtQQUtKcmJlR2x5eDR3OWwwMDAz
MTIyKy9IUnFmTk5iTgplZW5STlI2d2hnOGZic0tKZVpPV3lhMWF6SjYwS0JyNmpUZmUwREl4V011
aWg4WkRGc0xCWXhiU2x4RVJMYVphNWpwNDRoRVRFTDMzCjNudHJVUUswTlBxMUtBWmFHb3pHeTFW
WUp1Q2xSeHFnV2lhZjY3dnV1a3RmZnZubHhqT1hEWXM0RU45OTk5MW52RnlKcTJFdGpUSnoKR2w2
NjRLVUtaWVdJd3FSbC9vTHhDaVFOV25NTStVQ2VaTUU2cysvK2l5c255aVFUN0UwWisvZnZiOHJv
N3NNN1VWQmtJcnp4T0NRVAo1Ylc0UWs1a0VjVS9HQy9LNHFhTnZJa0xYcE0zR2Jrd0hzZVM3bjFV
V21KT3AyVXlzNmxESTBlTzFPTGUxdk5BNXVZaktseWFleDUzCkQ1R0d1Sm5WTW9mSWVEKzc1cHBy
akljdmNTNWd2S0lGeXc3dWd3Y1AxbUtpWitxV0tNUmE1cTlvbVpka2pydDV0dHRKZFN5S2piM2UK
L2MzWFBZN2lHMWRIWlQ2V2VkN0ZDWUVXVjh4YVhHNGJEM0Y0TGxGbW1jT2x4Vld4cVNmZ0pJcUZq
aXNybmgrOEM4U050VnRrYnBNQQpDWkFBQ1pBQUNaUURBaFZReHBMU3NkQzdMTzV5aldrVmVwWmRR
UTg3UE90QTBLUHFtbU1oaXpEZGdRZW1YQWhNVURBUk41Z0h4STIwCnNPWUI3TnZoK1NkYldiUm9r
Vm5EUVJwbG9aZkdsVFAwZ3BpRDZJbEhPZEpLSFArMGNhUU5GNVlXZXNiQkZRNEhjSCtyVjY4ZUds
M2EKY0tFWHk4R2tlNGk4b2VjZTlTMVkxOExpUkZpTU1vRTFSdWN3S3Bja2NYVXNqRTFVZlBtNHgw
bDhjMWxINDhvSzh6Yk1wNktRQUFtUQpBQW1RQUFtVUx3SWxxb0NVQjdTWVNBL3ZXVmdVa1VJQ0pF
QUNKRUFDSkVBQ0pFQUNKT0FuUUFYRXo2UFllK2dwaDN0VUNnbVFBQW1RCkFBbVFBQW1RQUFtUVFD
WUJLaUNaVEhpRUJFaUFCRWlBQkVpQUJFaUFCRWdnVHdSU2VjSEtVOXFNbGdSSWdBUklnQVJJZ0FS
SWdBUkkKb0p3Um9BSlN6bTQ0aTBzQ0pFQUNKRUFDSkVBQ0pFQUNwVW1BQ2tocDBtZmFKRUFDSkVB
Q0pFQUNKRUFDSkZET0NGQUJLV2Mzbk1VbApBUklnQVJJZ0FSSWdBUklnZ2RJa1FBV2tOT2t6YlJJ
Z0FSSWdBUklnQVJJZ0FSSW9ad1NvZ0pTekc4N2lrZ0FKa0FBSmtBQUprQUFKCmtFQnBFcUFDVXBy
MG1UWUprQUFKa0FBSmtBQUprQUFKbERNQ1ZFREsyUTFuY1VtQUJFaUFCRWlBQkVpQUJFaWdOQWxR
QVNsTitreWIKQkVpQUJFaUFCRWlBQkVpQUJNb1pBU29nNWV5R3M3Z2tRQUlrUUFJa1FBSWtRQUlr
VUpvRXFJQ1VKbjJtVFFJa1FBSWtRQUlrUUFJawpRQUxsakFBVmtISjJ3MWxjRWlBQkVpQUJFaUFC
RWlBQkVpaE5BbFJBU3BNKzB5WUJFaUFCRWlBQkVpQUJFaUNCY2thQUNrZzV1K0VzCkxnbVFBQW1R
QUFtUUFBbVFBQW1VSmdFcUlLVkpuMm1UQUFtUUFBbVFBQW1RQUFtUVFEa2pRQVdrbk4xd0ZwY0VT
SUFFU0lBRVNJQUUKU0lBRVNwTUFGWkRTcE0rMFNZQUVTSUFFU0lBRVNJQUVTS0NjRWFBQ1VzNXVP
SXRMQWlSQUFpUkFBaVJBQWlSQUFxVkpnQXBJYWRKbgoyaVJBQWlSQUFpUkFBaVJBQWlSUXpnaFVM
bWZsWlhGSmdBUktrVUNGMnlxVVl1cE1tZ1N5SjZCdjFkbGZ4Q3RJZ0FSSWdBUmlDVkFCCmljWERr
eVJBQXJrbXdBWmRyb2t5dm53Um9NS2NMN0tNbHdSSW9Md1RvQWxXZWE4QkxEOEprQUFKa0FBSmtB
QUprQUFKbENBQktpQWwKQ0p0SmtRQUprQUFKa0FBSmtBQUprRUI1SjVDVkNSYUhvOHRtZGFGSlM5
bThMOHdWQ1pBQUNaQUFDWkFBQ1pCQUpvR3NGQkJjenNadQpKc1RTUEVLbHNEVHBNMjBTSUFFU0lB
RVNJQUVTSUlGc0NkQUVLMXRpREU4Q0pMQlJFMWl3WUVIZXlqZG56aHlGUHl2ejU4KzNtL3dsCkFS
SWdBUklnZ1hKRElPc1JrSEpEaGdVbEFSSW9sd1JPUC8xMDlkQkRENmtHRFJwa2xQK3R0OTVTOTk5
L3Z4bzNicHphWjU5OTFFRUgKSGFRcVZhcGsvZzQ0NEFCMThjVVhxeXBWcXZpdWcwSnoxVlZYcVI5
Ly9OR0VyMXExcXBveVpZcGF0MjZkK1pzd1lZSXZmR252dlBIRwpHNnBYcjE3cTg4OC9OL2xGR1pI
bkNoVXFxRDMzM0ZPZGROSkpxbDY5ZWw0MlgzenhSWFhycmJlcTc3NzdUalZ0MmxUdHR0dHVTbXV0
CmxpOWZyajc3N0RQRGNlVElrU29xM0lvVkt3eVBYWGZkVlkwZVBkcUxseHNrUUFJa1FBSWJNUUg1
VUtRVzFSdmZGVXBaSXNCN1VwYnUKQnZPU1JLQ3MxOWVaTTJkcWFXanJTeSs5TkxJbzQ4ZVB4OElR
dW0vZnZsNllMNzc0UWtzalhaOS8vdm5lTVd4TW56NWQ3N1RUVHJwTApseTU2MWFwVjNqbFJQdlQx
MTErdnBVSHZIU3RMRzQ4Ly9yZ3A0NmhSbzd4cy9mMzMzN3BIang2NlZxMWFldEtrU2Q1eGJOeDU1
NTBtCi9FY2ZmZVE3dm5EaFF0MnBVeWZ2V0ZRNEdRblM3ZHExODhLVmxZMnlYbC9MQ2lmbWd3Ukln
QVN5SlZCNUk5YXRXRFFTSUlFTmdJQTAKMHRXamp6NnFldmJzcWVyWHIrL0w4WkFoUTVRMCtFM3Yr
OVpiYjYzUVMzN1dXV2VwYXRXcStjSzkrZWFiNnR0dnYxVlhYMzIxN3poRwpHZ1lPSEtqdXUrOCtW
Yk5tVGQrNXNKMG5ubmhDZGUzYVZUMzMzSFBxcnJ2dVVqVnExTWdJdHRWV1c1bGpHQkd3Z3RHUFF3
NDVSTG1qCkdXdlhybFdpZUtpS0ZTdWFQR3l5eVNZMnVDblBIWGZjb2FaTm0rWWRjemVHRGgycXhv
NGRxeTY0NEFKMTJHR0hlYWN3YXZKLy8vZC8KYXZYcTFkNHhiRlN1WEZsdHQ5MTJKZzl0MjdiMXpt
RTBZOFNJRWQ2K3U3SE5OdHVZTXJySDdMWmxoZEVkS3dpUCs3Umt5UkoxL1BISAptL3R5K09HSG05
TTJ2TXNFSnpCeTBxOWZQeHVGZHcrQzRhcFhyMjRZZVFILzNTZ29LRkQzM251dk92amdnMVhMbGkz
TlVYRHAzYnUzCkdXbTU1WlpiMUI1NzdHR09aOHRtMkxCaGF1N2N1WVl4OGtraEFSSWdBUklvUVFM
WmFDeHBlb1BRazVVditlT1BQelQrck15Yk44OXUKbHFsZm0wLzBja0wrK2VlZnZPVXZ6VDNKVytL
TW1BU3lKQkJXWDZXQnFxVUJyYVd4cnovKytHTmZqQTBiTmpROTYvSks5SDZQT3VvbwpYeGpzZE8v
ZTNaeS83cnJyZk9jR0RCaWdOOTEwVTcxbXpScmY4YkFkTVFYU29uem9YMzc1Ull2U29LV3hIUlpN
WTdRRCtSRXpMZS84CjBxVkw5ZmJiYjY5dnZQRkc3NWdvUlNhY21DZDV4NEliVWUvTHl5Ky9YRysy
MldaYUZBQXRTcFIzR1VZZVhCWmgyM2ZmZmJjWFhreWkKSXNOMzY5Yk5DeGZjRUhNcGN4M0tFQlNa
dzJMT1hYUE5OZDZwL3YzN20yT1RKMC8yam1FRDVYQWxMQnplazFkZWVhVWJ6TnNXQmNUVQpEYmRN
ZmZyMDBmdnZ2NzlKcjI3ZHVsN1liTm1jZSs2NUpnNVIzTFFvbTNyUm9rVmVYSFlqckw3YWMvd2xB
UklnQVJJb09vR2NUMEtICi9UUnNnY01FOXRNbm5IQ0M2ZjNiZDk5OTFkbG5uNjNrSTZET08rODgw
MHNtallTTXkyQS9qUjdKWTQ0NVJzbEhTRDM4OE1PbTk2MVoKczJicWxGTk9NZUhSeTllb1VTTVRM
M3JLRUorWVVKaWV3a2NlZVVUOS9QUFB2bmhoaXl3Tkd4TWU4YUNYVVV3bjFCbG5uS0gyMm1zdgpK
YVlBSm54VXVEUFBQTk9FYTlXcWxSZXZtQnFZZkI1eHhCRkt6QXlVZkdpTnJmU3h4eDZya0lhVjEx
OS8zZlRtb1FjUVBadGdBdm5yCnI3K1VOSjVNbnRCaitwLy8vRWN0WHJ6WTJFU2p0eEhoZDk5OWQv
WFlZNC9acVBoTEFoc0ZBZlRvZi9YVlYwb1VCU1ZtVGI0eVlYUkUKWG0vbVR4cUlDcU1HNzcvL3Zt
OGlOeTRRUlVPSkVxTHV1ZWNlTTVKaUk4RzhDOHpWd0FoQmtxQkh2RU9IRG1xWFhYWlJlTGJSMng4
bgpvb2dvWElNMDhadzNiOTVjWFhIRkZkNGwzM3p6amRuR3FFMlUyTkdVNEhuTVFjR0lEbnJtWDM3
NVplKzBLRjhlRDhzRnZ4aHR3ZVIyCnZGOWZldWtsTC95Nzc3N3JDMjhudlk4Wk0wWTkrZVNUWHJo
c05uYllZUWNsWmxoS0d2d1psMkVrYXRDZ1FlcnBwNTgyNytDd01MakkKaHZ2Zi8vNm44RDc5L2Zm
Zk0rTENBWXpBN0x6enprbzZkYnp6R1BYNDhzc3ZsWmlIS1ZFV3pWd1ZuQVNiOTk1N3o0UkRmSlpQ
RkJ2awpFZmtRMHpKMXd3MDNtQkVWekVlaGtBQUprQUFKNUo5QVRoV1FIMzc0UWIzOTl0dVJIKzRU
VHp4UjNYVFRUYVpVYVBEalEvWE1NOCtvCnl5NjdUSWs5dEJMN1lsK0o4UUhlYjcvOXpFUk5UUHFF
OGdFbEJFUHdoeDU2cU5jSWFkT21qYnJvb292TXRkSTdaajZzLy8zdmY3MkoKa1kwYk56YU5GaHY1
YWFlZFprd2pzQTlsQVI5Qm1GN0EzT09UVHo0eEgzMmNpd28zZVBCZ0pUMTlwc0dFY01qbmdRY2Vh
UEw1emp2dgpLQ2c5VUNDZ2JKeDY2cW5xMTE5L1JUQWpNSS9BUkZXSTlBNHFNSUhBZkFJTkdaZzVR
RG5DUjNhTExiWXdEYUdiYjc3WmhJSHBpYjNXCkhPQS9FdGhJQ0tET28wUGl3dzgvakN3Um5nZmI2
UUNGUFNoUTByZmRkbHYxd0FNUEtEei9hSUNpZ1FuRklJM2dlYlZtUGxCbW9QekEKL0N0SzBHSHk1
NTkvS2lnaXlJL004VkF5S3VzRm56MTd0dG5HTTEwVXFTY1R2WnMwYWVLOTUrTGlRS2NGRklNV0xW
b1lzNks0c0xrNApoN1R3dmc4S0p1REQxQXpLSlA2aXhBMkg4RUdUTFBjNkdlWHdLU0QyWE92V3Jj
MzdFdCtET0lsakF4TXNHYmxTVU5UZ0tJQ21XSEVrCmVZNEVTSUFFY2tjZ3B3cUlhejh0SmdtaHVi
UTlmdTRIcDZqMjAvRElZc1hhSUlmWkxPTkRoVkVFbVNCcGcwZmFJbWRyczJ6dHZGRWUKOU1JR1Ay
RG8zVzNmdnIyWExqWnNYdTJ2ZXhMSGdzY3RNL3ZyaHVjMkNXd3NCTkNwQUdVOTZ0MkJjdG81R1Jn
TmNRWDc2TkI0N2JYWApqTktPa1Fnb0VWQU14Q3pLRFJxNlBYWHFWQ1dta3FielFpWmdxOTkrKzgw
MHBLSElSQW5tZktBVDRZVVhYbEF6WnN3dzEwRFp3YndGCkNCUUlpRlZFekU2Vy83YmNja3UxYk5r
eTMxVm8rS01qQXFPdVFRR2ZzT1BCY01YWlIvbVFCNHhpQndVak1ETHAzSXdtUXhIRXlIV1kKMkhD
WUk0T1JDSXh5UkFsR3BGelh4VFljM3JtWUN3T2xNNDJFc2NFM0FmY1IzcnN3Q2tJaEFSSWdBUklv
R1FJNVUwQldybHhwUHZadwp4NGdHQkNaeHBoVjhZTC8vL25zejRtQ3Z3VWdLSnBDS25iSVNXMmg3
MlB0RnIxYmFORENKRWIyVHc0Y1A5NjZQMnJqMjJtdk5hRVRVCmVSeEh6eXBHYk5CemhoNVc1Qk9q
RTBIbHc4YUJEeXlGQkVnZ25vQnQwS0l4SHlXMmd3SFBvQ3ZQUHZ1c21Zd01zMFpNNElZcEpVWTIK
TWVJYVZPamQ2K3cyT2c5ZzZvblJDdnloaHg4ZEIzQWZDMlVrU2ZDT3dvZ3BUSVZnRWdyWmUrKzl6
UzlHVW9vcWJrZU5qUU9OY2VRMwpxSmpndk9WancrYmpGL2NINzFPWXZTWUozcjFKZ2pKaVpEdEtv
a1pBTUlFZkUrS1BQUExJcUV0OXg4UFk0SDZscVIrK2lMaERBaVJBCkFpUlFiQUxKaHRFcGt3aXpu
dzZhVkxsUldmdHB6TStBelhJdTdhZmRkTENkWkxPTUR5cDY5ZUN6M2gwbGNlT0Jvb0Z3VUxSZ2xt
RjcKT2EwWEczd2tnNEtHaSt1dHBuYnQyajRsQlhObDRObkhGY1JQSVlIeVJnQWVqRENDQ29GSkkr
WnlaU013MFlTNUVnU21XaGdKd1lnSwpGQWlNVXNRSlJnd3dsd0Rlc2x5QmR5WE1BOFB4MjIrLzNU
MFZ1bTJWQll5S1F2Qk93K2d1T2lEUU1SUFcwTVY3Sk0zOGxOQUVTK0VnCkZEK1loTUprTk9oeExD
dzdNTFhDQ0JEZW1laWtpWkxnMmlsdU9MeGJneU1nNEhiaGhSY2FwUS9LWmxFRjljN2V0NkxHd2V0
SWdBUkkKZ0FTeUo1Q3pFWkN5Wmo4ZFJKRXZtMlg3WWNRSE9TZy8vZlNUTVVmQTVISDBCTHJLQ01K
T21EREJ6RHZCM0JQN2h4NDlDZ21VSndJdwpmY0xjRG94b1l2UUJFOUt6RlNnUUdKRzBnc1h3bm5y
cUtkUHdUUnFCaE9Mak9wU3djV0QrR2Y2Z2dNQWhoQlU3a2R0MlF1QTRKaS9ECkZBdm1RTWNkZDV3
SmlsRmF1S0RGWEJHTTVBYWY3Vm16WmlueEpPVjFacGlMeXNnL3V4cThWYWFRTGVSWHZGV1p1VzNQ
UC8rODJuSEgKSGIzYzJ2REJkeHhHU2pBL3o1ckwya25lTnJ3WFFjd0dGQkIwekZqdTZQU0JZdyt3
eGlnWGhRUklnQVJJWU1NamtKTVJFTmQrR2dqdwpZY2JFUXRoUHc3WTJUS3o5TkhvbjhYR3hYbVRR
a0VDUFlDN3NwMjI2eUE5c2xxM1BlbnNjdjdCRlJrOHBCRjZ3OElFTkV6Y2NKc3RpCnpRS0kvYkNH
MlhtalRHaFlZV1FGbzBHdzUzWUZIK1pnd3djakxSUVNLQzhFVU45aCtvUmVhUFNTdzRrRVJrY2hN
RjBLZW4yelprZHcKU0lFNVVlS08xWVFOS2lBNGVQTEpKeHN6S2p5cmNGUVIxa2tBcFFlakcxQWFF
TjVkaHdSbW9Gak5Hd29TNWlvZ0wyajhZazBSQ0p4TgpJSThZNlVUakdPK0NWMTk5MVRlcWlUa1FL
QTg4N2NGUkJSck9HQW5CS3VONDc4RDBxS3lOZ09DZTJORWdtTEJCMllCWEtheTlBck15CmxCbWRL
bGJncFF2emJ5QjR6NkdjRUNnWmNPcGh6YlV3bW1TVlFYVEl3R3dOM0pQRWppN2pIc0NyR1VhaW9i
akJnUWlVUEFvSmtBQUoKa01DR1J5QW5Db2kxbjdZVFJJRUI5dE92dlBLSytUalhxVk1ubG95MW4w
WkRBZmJUY0lPYkMvdHBtMmcrYlpiUlF3ckJISll3c1JQSApYVFpoNFhpTUJNb2pBU2p1Y0pNTHoz
TG9VVWZIQkZ6dFl0UUFJeGhSazhEaGd0WDJmbU4wQXBQUWd3bytlRUpKUU1jRFREM0RGQkEwCmF2
RVhKdkFvRmZUMGhEeWlNeUliZ1NrWFJqdlIwUUx6TWlnYzhKSVhOcmN0bTNqekZSWk9PL0NYVnVE
cEQzOUpnamt5K010V01Ba2QKbzF1b0V5ZWRkSkl4YmJQZUE3T05pK0ZKZ0FSSWdBVEtCb0ZpS3lC
bDNYNDYzemJMUng5OXRKa0VpVW13c1BPMkNrZlp1TDNNQlFtVQpiUUxubkhPT1diZkg5bVREdVFQ
K0lQZmZmNy81U3lvQjVud0VKNlhiYStCZGFlYk1tV1dpc1ErRjQ2Q0REckpaUy9XTFRweWc0SjBU
ClZWNk10T0F2U3ZCK2lybzI2cHJTUGc1dWNIZWNSckpsWXgwR3BJbWJZVWlBQkVpQUJISkhvTmpq
MTJYRmZ0cmFGSmUwelRJYVRsQSsKTUprUmE1c0U3YnhoZmhDVU9EdG85Skxhc3RqcnJPMnovYlhI
K1VzQ0d6b0JtR3BhNVNOZlpTbXJJdzM1S2kvakpRRVNJQUVTSUlHeQpUcUJZSXlCbHhYNjZ0RzJX
TWVFVnBoVllid0NlZUdEWGpOV1BzYVlCVmtPR1AzeHJXNDRlTjJ0V0F2TVFUS1NFU1FmV0s0QmRP
Mnl0CllROFBNeFNzSVFLdlhMZ2Vna211TysyMGsvSCtVdFlyRnZOSEFpUkFBaVJBQWlSQUFpUkFB
bUVFS3Nod3ZOK2hmbGlvZjQ5VnVLMkMKMHJlbURoNFRVL2FuWFB0cDJGU1gxVjVOaklSZ1FpeTh3
V0NpWnBqditleExIMzFGYWQ2VDZGenhEQW1FRTJCOURlZkNvMldUQU90cgoyYnd2ekJVSmtNQ0dU
NkJZSXlBbFdmeWkyRStYWlA1c1dqQW5zYU1kOWhoL1NZQUVTSUFFU0lBRVNJQUVTSUFFQ2drVWV3
NElRWklBCkNaQUFDWkFBQ1pBQUNaQUFDWkJBV2dKVVFOS1NZamdTSUFFU0lBRVNJQUVTSUFFU0lJ
RmlFNkFDVW15RWpJQUVTR0JqSUJEMFBwZkwKTXMyWk0wZmh6d285MmxrUy9DVUJFaUFCRWlpUEJE
YVlPU0RsOGVhd3pDUkFBaVZINFBUVFQxY1BQZlNRYXRDZ1FVYWliNzMxbGxtVApaTnk0Y1diaFJL
em5BUWNUK0R2Z2dBUFV4UmRmcktwVXFlSzdEZ3JOVlZkZFpWYnZSdmlxVmF1cUtWT21HSmZkY0Zh
QnhRbExXK0NWCnIxZXZYbVpsZHVUUjVoT2UrTEN5T3hiK3ExZXZucGROckdhTzlZNisrKzQ3MWJS
cFV3VVBnUEJqZ2hYalAvdnNNOE51NU1pUktpb2MKWEpDREFid0VqaDQ5Mm91WEd5UkFBaVJBQXVX
TFFNNFZFSHgwODdVWW4rMUJ4R3JFRVBRaWJyMzExbVh1anRsODdyREREc2FsN3J4NQo4MVN0V3JY
S1hENlpJUklvQ3dTbVQ1K3VIbjMwVWRXelo4OE1CdzVYWDMyMXdrcm5XRDBjcTJFZmR0aGhxbVhM
bGw2MnNlN1BMYmZjCm92N2YvL3QvWmhWMTc0UnNEQnc0VUdHaDFPdXV1ODQ5SExxTkZjL2ZmdnR0
a3crNHh3NEtWdDdlZE5OTkZSUVFyUGR6eFJWWG1DQmYKZnZtbFdXbjk2NisvOWxabXh3bTQ1WVo3
N2ViTm01dHJzTjRKQkkxMXVPdCs5ZFZYelg3dzM5Q2hROVhZc1dQTllvSW9Ld1RLQ2x4eQp3N09l
SzJDQzFkMnhlbnpidG0yOVU3ZmRkcHR4NSswZGNEYkFya09IRHQ2Uk5tM2FxRC8rK01PNDl1N1Rw
NDhYenovLy9HTVVEY1ExCllzUUlkZFJSUjVscnNKTDVqei8rYU1wdzU1MTNtdnRoSThOcTlOMjdk
MDhNaDI5RTE2NWQ3V1crMzU5Kytra2hYdHdES0d3UThQcncKd3cvVk1jY2NZN2Joa09TTEw3NHc5
OHAzc2V4VXExWk40ZnVBK3JEWFhudVowMWpFRUdXNzl0cHJmY3BVOEZydWt3QUprQUFKbENBQgp1
T0ZOSzZvM3ZwL3hJaDlxTFIvZjBFQmp4b3pSeHg5L1BQejQ2bjMyMlVlZmRkWlpXbFpDMXQyNmRk
T3lCb2FXRDJ6R2RhSms2SFBQClBWZkxDcmY2c3NzdTA5S1kwUEpSMTlMN3BvODk5bGdUL3ZYWFg5
Y0hIM3l3aVZkNjhFeDhsMXh5aWI3MDBrdDF2Mzc5OUt4WnMzengKRGhzMlRFc3Zwd21QZUtSQm9j
ODc3end0UGFCYWV2MzB5U2VmYk1KSGhUdmpqRE5NT1BtWWUvSEtSOVhrOC9ERER6ZnAzbnp6elZv
Kwo3bG8rbW5yLy9mZjN3bzBhTlVvamoyQnc2S0dIYWpDQnpKMDdWOHNIMGh5WDNrY3RIMHd0SDNR
dGE1eVk4aUs4OURicS92MzdlM0ZoCkk4MDk4VjNBSFJJb1JRSmg5UlhQcURTbWRZMGFOZlRISDMv
czVVNGE5ZVo1UU4xMy8vQ3VzSUxuQnMveTVwdHZydDk5OTExNzJQdzIKYTlaTWQrN2MyWGNzYWdm
dkZieUhaRlYxTFl1SmhnYVRScS9KaDR5UytNN2pHUmVYMjk2eGdvSUMzYmh4WTEyblRoMHRQZjdl
Y2JzaApTcE1XaGNIdStuNHZ2L3h5TFExc0xTTXJXa1lLekxsSmt5YjV5dSt5c050MzMzMjNDUXNl
NG9rdk1yeDkzN2lKeW1pRkNZOTNUVkRPClB2dHNMWXFYRmdYQU80VjNFTktkUEhteWR3d2JzdWlx
ZVkvWmczSGhSQ213d1h5L0w3MzBrb2xibEJ4ekhDenhuaFZGeXh3WEpkVWMKRjRYTTdOdnlCMy9C
Ny92dnZ6ZGhSWUV5OVF0MXJFdVhMcEhmSjE5Ry90MEpxNjloNFhpTUJFaUFCRWdnT3dMSkdvVVRY
OUxMZU9iTQptUnFOWnpUOG8yVDgrUEhtdzlHM2IxOHZDRDdzMHR0bEZBSHZvR3hJejZpV2hmZk1S
d01mTnl2U0k2aXZ2LzU2b3dUWVk0OC8vcmlKCkZ3MThLMy8vL2JmdTBhT0hsdEVIalkrNEs5TExa
c0xMUW4vdVlTMDlwcnBUcDA3ZXNhaHdVSXphdFd0bndpR2ZkZXZXTmZrVVV3VHYKV215Z2NWV3pa
azNmTVp2WElVT0crSTVqWjV0dHR0Rjc3NzIzNzdobEpxWVB2dVBZU2JvbkdSZndBQW1VSW9Hbytv
cG5DTTlwbE1LQQpSdnZzMmJPTlFpKzk4YjRTeUNLZTVsMkFocnVZTlhubjhFemVkZGRkM243VUJw
UUU2WkhYc242UGFiekxhRXhvMERBRlpPblNwVnBHClpyVDAwbnZYb0NHUEJuSFk4Mm9ENGYwUkpl
Z3dnVEtHZDF5Y2dJbU10bW9aYWRHTkdqV0tERHBnd0FDam9FVUZpRk5BRUQvS2NzMDEKMTNpWFJ5
a1dVSjVjQ1F1SGQvZVZWMTdwQnZOdGYvTEpKeWE5NFB0NnpabzE1aDZoRThZS3ZqUG84SEZGMW92
U01pcWxaU1JFVzZVTQo1OEYwdi8zMk0zRkRRWE8vRSs3MXdlMm8raG9NeDMwU0lBRVNJSUhzQ0ZT
V2owdk81SWtubmpCRDYxZ2hYVDc4U2o2aUdYRmI4eXpZCkdGdUJEVFhNQ0Z5YmFKaFdTRytWd3Jv
YU1LV3dKZ3k0QnRkaXBmQnAwNmJaS0pRMDhzMDJiTEt0U0dQZUROTkxqNmFTa1JjbERYbGoKTG9I
ek5yeWJEeHpIc0w4b0RkZzBFaFd1ZXZYcUpsODJuNGhIUHZTZTJZQzlIcVlUbjMvK3VkMzF4V25q
ZGsvaVdQQzRaV1ovM2ZEYwpKb0dOZ1VERGhnMlY5TFpIbWliaFBWQzdkbTN6SEE4YU5NaFhaRHd2
TU5PU1VSQmplZ056SFdtd3F0OSsrODJZUVBrQ2greklTS2N4ClM5cGxsMTFVcTFhdHpEdERPaTVD
UWhZZWd2a1Bydm41NTUrVjlOaWJOS3hKRmtKODg4MDNKaURtT1VSSjNMTmNUK1pjTkduU3hEZHAK
UFN3ZU1JR1paNHNXTFpTTUNvVUZLZll4eEEvelVWRUlNdUlTUlV2Tm1ERkR5U2lGbWY4aG5Ua1pZ
WERBaHNOaXNuZ0hJM3lVaU5KbwpUbGt6VmhzTzVtWm5ubm1tZXZycHA1VW9FeG1tZWpZY3pPUmt4
Tm5NMDVIUklIdllmSXMrM2NuMUFBQWdBRWxFUVZSZ1pvZHZFOHpsClpFVGRPOGNORWlBQkVpQ0Jr
aWVRTXk5WStMaElUNlN4RzVaZVFmT2lUMXVjWmN1V0tSa3VWN0F2dGdKN2JFeFdGTE9JMEZYUDhm
SEYKeHlTTjNIdnZ2VXBHVU5UdzRjTVRnOE5PR0hiVmNTSTZucExlU1dPVGpvOHI4aW5tWkJuS2g0
MERIMDBLQ1pCQVBBRXhTVlMvL3Zxcgp3dnNqU3RDcGdia0dycnp5eWl2RzloK0tCOTRMclZ1M052
TkpaRFFsWTE2SWU1M2RGaE5PYjE0SjVqQmdUZ29heWxFQzVRYnpDcUNJCjRKMkhkd3ZtZVZtUmtS
cXppUTZRb3NxV1cyNnA4RjYwZ3NZekpycGpUa3RRd0NUc2VEQmNVZmVoaENEOW9HRFNQVHFHME9q
SFg1UzQKNFJBKzJPbmpYb2QzTHpxQk1DOGxLT0FPU1RPZkRzcW9XMDl3cnpBQnZtUEhqZ3JmQS9D
bGtBQUprQUFKbEI2Qm5JMkFsTFZlUkJkcApQbnZ4N0NpTTdibHowMFVQckR0eEZEMjRkbUlsd3NH
VFRIQVNQUlE1Q2dtVVJ3TDc3cnV2S1RaNjFXVk9WeWdDS0Jqb0FIQUZFOWd4Ck1Wem1ZU2dvSTVq
OExlWlU1czhORjdZOWRlcFVoUW5YVHo3NXBEbU4zbmswa3YvNzMvOGFMMDloMTJDMFZzeU56Qitl
VjVtTFprWkIKa0NaNjZqR0NBYkdLaU5uSjhsK3drWTRSQVl5d3l0eXlqQkZTZDlRM3kyUVNnNE1I
bEE4eGRjb0lDODVRR2lFeUwwNkphVlZHR0J4dwp3MkdVQzg0RzRnUWpVV0VLeUFjZmZHQThqc2s4
bmJqTHpibGdQUUUvVEY3SEg0VUVTSUFFU0tEMENlUnNCS1FzOWlLNmVQUFZpMmROCkJjSkdUZURS
UmVhVG1JWVJldDFjWlFSNW15QnVPR1VlaU84UDVtSVVFaWh2Qk9EcENTYWNFSGlRU2l0UUFONS8v
MzF2cEFQS2dNdzkKTUo2alhudnR0Y1JvMEtpSFJ5YU1WdUFQNzRuMjdkc3J1SkpGQjBLU29FR0xr
VnMwbU9IU0ZpSnp1TXd2UmxJMmRJRXlpQkVlbVdPUwpXQlM4NDVJRWlwWE16WWdOaHM2Y29BSUNs
Zzg4OElEeGVCWjdjY1JKbU1wU1NJQUVTSUFFeWc2Qm5JeUFsTlZlUklzNW43MTQ4SlVQCkNldnRS
R1BvbEZOT01mYlJzQ2tQRHZ0ZmRORkZ4dWJjNWhPL01PbWlrRUI1SW9BUkNJeGd2UGZlZTBZSitP
cXJyNHk5ZnhvR01ObUMKd0VXdkZjUUY1ZjZHRzI0d3lnUkdIc01FWmtzWXRjQWNNMWYyMkdNUHM0
NEZqdDkrKyszdXFkQnRPMXBoRzdsd3ZZdDViVEM5bElubwpHU01XaUFUdkpJeVdsR1hCU0JOR1hO
QzVBbmZJU1FKVEs3d0hZYjRHazlRb0NhNlhFZ3dIQlFTZE4xWUdEeDVzWENsRGNYRmRDTnZ6Ci9D
VUJFaUFCRXRqd0NPUmtCS1NzOXlMbXN4ZFBQS3VZdTQ0NUxHRmlKNXVHVGNnUEM4OWpKRkNlQ0VE
aEZwZmNTbHk2bW9ZcjFucUEKdlQ3aytlZWZOK3Rmd0pHRC9ZT0pGZWFJWUlFL2pKcEFnWUJnNU1L
VkJ4OTgwQ3dTS0o2UzNNTytiWXk0WU5KNVVQQk00dzhLQ0NhMwpXOEc2UXhBb0QxWXdyK0NGRjE1
UTIyNjdyVHJ1dU9QTVlaai93SkVGNWl4Z0RsdHdWQk9UcU1XcmxDOGVHMTlwL0dKZERvaFZvTENO
ClBNS2tDaVBidUE5MjdTV2NzK0dESTdvWUtVR25pdTJVQVJzM3ZObEo4UThLQ05aWHdSb2x1Sys0
aDA4OTlaUVNOK3dwcm1ZUUVpQUIKRWlDQkRZRkFzYnZneW5vdllyNTc4ZUJONWNnamoxVFBQdnVz
NmUyMENzZUdjUE9aUnhJb2JRTG9NWWNDZ2w1dU5ISXh2d0llN3RCNApSKys3VlRDQytZU25LVFQw
N1FoSWNIUVJ2ZmIzM0hPUG1kc0JNNjJnN1Q4Y1dHQjBBMHFEclB2ajg2b0VCeGhZMlJzak0vREU5
OWhqCmp4bVBlL2ZkZDUvSkJoYkpnMGtRVExTZ2xLREJqWVVGM2ZsY1ZwRzY0SUlMMUlFSEhxaGtU
Ukl6RWdLUGVKZzNnZDc4c2pBQ0FnWFEKamdEZGROTk5SdG40L2ZmZnphUittSktobkpoYlkrWGxs
MTlXMWdzWlJuVlJOZ2lVRW5HaDY1bHJZU1YwNjN3RHBsbmdEOVpwcEg3OQorb1lsT20yZ2RNREV6
YzFEbWpnWWhnUklnQVJJb0l3VGtBWjZhbEc5TTVjTmtZK3lEaTdNWlNPRTMzV3hxellMNnRsaldD
eE1rT2o3Cjc3L2ZIdEpZT3dNTGQwa3ZvaFp2TXQ3eGlSTW5Hbi91c3FxdGxwNUk3emcyWkloZWkr
dExMUTBWYzF3K29pWmUxNzg3d3NBM3ZRejUKYTJsVStLNlhSbzRKTDJZZnZ1UFNXREdMaE5rRjBj
VHUySVFiUFhxMEw1eTdJNU0welFKbVltNlZrVStzZDRMeUlvd1ZVVmJNTVdsMAoyVVBlNzg0Nzc2
ekZKYW0zanczTHJGZXZYcjdqMkFtN0p4bUJlSUFFeWdpQllIMlZYbk10UGU5NXlSM1duTUR6WE5x
Q2RVWkU4ZEJpCldoYTZNR0ZwNTQvcFJ4TUkxdGZva0R4REFpUkFBaVNRRFlIS3hkR1B5a292WW1u
MzRzbmlXR2JpckN4R1p2ejNvNmNQYXdDZ2R4WTkKdFpnOGlWNDlDQ2Fxd3NNT0JEMnBNTjJBbHhp
NDg0UXZmL1Erd3FZY3ZjQXdPNEZ2ZlZ3UGdhbUhMTXlvTHJ6d1FyUFBmeVN3b1JOdwoxL2ZKZFZu
d0hNVzVoODExZWxIeG9mZi9vSU1PaWpyTjR5UkFBaVJBQWlSUTdnaFVnTGFTdHRRVmJxc2d5L3Vt
RHA0MjJsVGhZRVlCCjd6Z3dXOEFrMGFCSlJhcElTaUNRdFV1SGZUVE1CdkxwSWhQRktjMTdVZ0k0
bWNSR1JvRDFkU083b1J0NWNWaGZOL0liek9LUkFBbVUKR29GaWpZQ1VaSzQzbEY1RTJLWGIwWTZT
NU1PMFNJQUVTSUFFU0lBRVNJQUVTR0JESUZCeFE4Z2s4MGdDSkVBQ0pFQUNKRUFDSkVBQwpKTEJ4
RUtBQ3NuSGNSNWFDQkVpQUJFaUFCRWlBQkVpQUJEWUlBbFJBTm9qYnhFeVNBQW1RQUFtUUFBbVFB
QW1Rd01aQmdBckl4bkVmCldRb1NJSUZpRXJBTDdCVXptdERMNTh5Wm8vQm54UzVxYVBmNVN3SWtR
QUlrUUFMbGlVRE9KNkhqSTU2dnhmanNCOXl1eW91UHVMdjQKVjFtNWNUYWZXTVVYcmtCbGJSTlZx
MWF0c3BJOTVvTUVTQ0NFd09tbm42NWtUU1BWb0VHRGpMTnZ2ZldXa3JXTDFMaHg0OHpDaVhDcgpD
dzkzK0R2Z2dBUFV4UmRmckdTOUlkOTFlQmRpeGZZZmYvelJ1T0d0V3JXcW1qSmxpbG5CSGQ3eUpr
eVk0QXRmR2p0d0N5N3JDeWtzCmtJZ3k0US81eEhzTEN5eWVkTkpKcWw2OWVsN1dzTURncmJmZXFy
Nzc3anZWdEdsVEJSZmtjS1NJaFJzLysrd3p3MjdreUpFcUtoeFcKUndjRHVDbVh0Wlc4ZUxsQkFp
UkFBaVJRdmdqa1hBRXBqWTk0V2ZpSVlrWDRLNis4VW4zLy9mZXFVYU5HWnRYanFWT25xaVZMbGlp
YworL0xMTDAzTmV2MzExODBISCtld0l2SnR0OTJtVGp6eFJMTU9DTmI3d0tyQitQamp1Q3lpcUQ3
NDRBT3pEc2c3Nzd4alB2WlhYMzIxCmFld1VwWnJDcFdSWmt0Snk2VnlXR0RBdnlxeTIvZWlqajZx
ZVBYdG1lSkJEZlpkRlNJMzc3ZTIzMzE0ZGR0aGhxbVhMbGg0MldjUlEKM1hMTExVb1dLeldycUhz
blpBTXJmT1BadSs2NjY5ekRvZHV5VUtqQ0N1aklCOWJuQ1FxZVVhd3BBZ1hrL1BQUFY3SUlxZ21D
NS9ydwp3dzlYWDMvOXRmcmYvLzduWFFhWDRWamZwM256NXVZYXU5NEpHdXRZTHdncnA0ZkowS0ZE
MWRpeFl4VldVRWRaSVZCV3NDWVFYSHU3CkFwZmtXUEVkcThlM2JkdldPNFYzQjlZVENoT3c2OUNo
ZzNlcVRaczI2bzgvL2pCckMvWHAwOGVMQjZ2QVE5RkFYQ05HakZCSEhYV1UKdVFhcmtrT2hRaG51
dlBOT0w0ODR1V2pSSXRXOWUvZkVjRkRNdW5idGFzSUYvOG5pc1NaZTNBTW9RaENrOWVHSEh5cXNM
bzl0ZUVUOAo0b3N2ekwwS1hsK3RXaldGRGlyVWg3MzIyc3VjL3ZQUFB4WEtkdTIxMS9xVXFlQzEz
Q2NCRWlBQkVpaEJBbGdISksyb2tKWFEzV3RuCnpweXBwZkdzTDczMFV2ZXdiM3Y4K1BGbUZYQ3NF
RzVGUGlaYVBqWmFQdXoya1BtZFBuMjZsb1gzZEpjdVhUUldUTGFDRlk2dnYvNTYKTFQxMDlwQisv
UEhIVGJ6dVN1aC8vLzIzN3RHamg1YlJCejFwMGlRdkxEYms0Mm5DeTBKL3Z1UFNZTkdkT25YeWpr
V0ZrOUVYM2E1ZApPeE1PK2F4YnQ2N0pKMVoxZDZWZnYzNjZaczJhN2lFdnIwT0dEUEVkeHc1V2p0
OTc3NzE5eHkwemFSRDRqbU1uNlo2NEYyUVQxcjB1Ckg5dGxLUy81S0IvakRDY1FkdC94akVoald0
ZW9VVU4vL1BISDNvWFNxRGZQcUx3T2ZiK3lZS2NYWnU3Y3VWcEdMUFRtbTIrdTMzMzMKWGU4NE5w
bzFhNlk3ZCs3c094YTFJMHFLN3RhdG05NWlpeTIwZEJxRUJzTjdDbm1SVVJMZmVXa1lhMW56eHp0
V1VGQ2dHemR1ck92VQpxUk82OGpsV2ZoZUZ3UXZ2Ymtpbmc1WUd0cGFSRlMwakJlWVUzbDFCQnNI
OXUrKysyNFFGRDNFRkhobCt6Smd4Ym5KbVcwWXJUSGhaCjBEWGozTmxubjYxRjhkS2lBSGpuK3Zm
dmI4SlBuanpaTzRZTnZLT1J2cFc0Y0tJVTJHQyszNWRlZXNuRUxVcU9PUTZXb2pScFViVE0KY1ZG
U3pYRlJ5TXgra0lQZEJ6L3BEREpoUllFeTlRdDFETjhTVVE1OWFjYnRoTlhYdVBBOFJ3SWtRQUlr
a0k1QVR1ZUFQUEhFRTZabgpDeXVrTDEyNlZMNEZtV0xOczlETGJ3VW1ET2pGYzAwUzBMTXBId3VG
ZFRYUWsybDdFSEVOcnNWSzRUQVJzQ0tOZkxNSmt3Z3IwcGczCnZXU3RXN2RXeHg5L3ZGbFYzSjZ6
NGQxODRCeDYzYVJCWklPWmtRenNCTU5WcjE3ZDVNdm1FK2NIREJqZzlkclpDTkJ6MmI1OWU3dHIK
Zm0zYTl0YzlpV1BCNDVhWi9YWERjNXNFTm5RQ2VFYSsrdW9yTThJZ0hSTmVjZmJkZDE5ajNpT3ZN
b1huYlBiczJhWVhYQnFwWGhpTQpBTHozM251bTF4dlArY1NKRTcxejZLbkh1eVZKc01qcFgzLzla
WHI4OGQ3Qyt5dXRMRnUyekl4NlltVEFDa1pTWUdZa0NrM29ncWw0CnAwV2xBUk13ako3Z1BmVHl5
eStiS0RINkFBYkJQekNCdVNkR1dpd1Q4TUJ4Tnl6ZVM2S2dtV01ZeWNsR01DSXJpb1VhUG54NDRt
VVkKWVVENmNZSjhTZWVSd21oV21FaEhqam1NVVJrSTN1Y3cxY0s5eDZpSnpRZmUwZExSWlVhZjNM
TGlYbUpVQ3FOVk5xeDBGQ25wSEZNTgpHelkwM1BmWlp4K0ZrV2dLQ1pBQUNaQkE2UkhJbVFKU2xq
N2lRWno1L0loS3I2RnBiSngxMWxrWnlvZk54OU5QUDIwMytVc0NKQkJDCkFJMUQ2VzAzcGpZaHAw
MUhSTzNhdFUxSGd2U3krNEpBWVllWkZoclpNTDNCL0FTWVJQMzIyMi9HQk1vWE9HUm4yTEJoeGl4
cGwxMTIKVWExYXRRbzE3WEV2Zy9rUHJybm5ubnZVc2NjZWE5S3dKbGtJOTgwMzM1amdtT2NRSlhH
ZENmWHExVk5ObWpUeFRWb1Bpd2VLRE9hWgp0V2pSUWdXWmhJVXZ5akhFai9sck1ncVRjVG5lZllN
R0RWSjR2MEVaQ0F1RGkydzRtS2lkZWVhWmtlWmhDR3NWRUR1UERzY2dNRGZECnRWQXFaODJhVlhn
dzVEOFVqLzMzMzkvTTAzR1p5T2lhZ3BrZEZEK1k5UjE5OU5FaFYvTVFDWkFBQ1pCQVNSR29uS3VF
d2o3aVl2NFUKR2IzOWlQLzg4OCttOXc2MjBybjhpTHNKSjMxRVo4eVlvV1NvMzB5aUZKTXM5MUp2
R3g5UmhJT2lKU1pSSmp4T1RwczJ6WVN4SDA3dgpBdGxBQThpMTIwWUR5dG8xSXh3YVNzRko5SWlm
UWdMbGtRRG1SR0VFQUtNUWFEQ0dDWTVqcm9FcnI3enlpb0x0UHlhS1k5NEVSa0wyCjJHTVBKZVpY
R2ZOQzNPdnNObnJETWZjQ2dqa01KNTk4c25uR01jazZUTmFzV2FNd3J3RHZNSXljUUdHQW80bHR0
OTNXQkVkdlBRUWoKc0VXVkxiZmNVbUYweFFvYXo1Z2pkdGRkZDJXTWtJSUo1cnJrUy9EK1JQcEJ3
YVI3akV4amxBSU4veWl4NFRCU2dmQVlvWWtTaktEZwpIV2xIUU54dzRBNUo0OUFEeXFoYlQzQ3ZN
QUcrWThlT1J0RjE0LzMvN0owSHZCMVZ0ZjgzQ3Zpb2lvaElOU2hJUjBnUXFTYlNRbThCClFsVUVD
UUUxSUlRU1FnbkZBSUlVUVVDUUppVWdOZUNUam5SQ0hrV0tRcWloaUluQWU5TDhLNkR6WDk4bGE3
TFB2ak9uM0h2T1BlZmUKdTlibmM4N003Rm16Wjg5dlQ5bHJyK2Jyam9BajRBZzRBcjJQUU5NRWtF
NzhpTWR3dHVvamFqTjFSYVlIT0ZReTIwWjBtRkdqUnFtRAplU3lBWUhLR0FCWVRUdXRPanNCQVJB
Q1RLd2hCZi9EZ3dZVVFNT3ZQUURZbUhNZHhEQmMvaklBd2drblNLNis4b3IrWXIyaWRZQkE0ClhG
OXd3UVc2bTRrSUJzbG5uWFdXUm5rcU9nWnpVUUpFOEdQQ3dMUWduSk9aZWdRU3lBUVIzV2p3THpY
NTVEMkRLZFVSUnh6UlJRQ0oKelU0YlBFMU5kdkJBK01EUlBpVndSbWlFZHRsbEZ3M0NrZkt3SGZP
aDVTTFlRRFZDRTFVa2dCQ1FBNU02OGRPcGRyanVTKzhUOE1ONQpuWitUSStBSU9BS09RUHNSYUlv
SlZ2d1JGMmR3bmZtM2ozalpKZHBIZk5La1NUcmdNSE1KUG5oUU16N2lkbTc3aU5vQXg4cFo4bkVV
CnAzUDlnRExEU0tTVklqSSsvRkl3T1ZoODhjV1Z6ZnhRaWdZYkRFeTIyMjQ3NVVNYnhLeG1US05I
anc3aVVGdnhzMW5VbU0vWEhZSCsKamdDUm52QWhnL0NCcUpjUUFPNi8vLzVjMDhFeko4N1BHam5x
eGh0dnJGa05nM3A4QzlCVzhHT2lBcDh0UXNueVRxcEZER2p4LzJEQQpURFErU0lKSTZGS0NVK2l5
TC84aERPSURRbVMvV29TcGF5MUNzQktIK2Fwc2FKTlRBUVFzZVQ4VDhhdzdWRTNyMHAzNi9CaEh3
QkZ3CkJCeUJuaUhRRkFHazB6L2lyZnlJcnJ6eXl0b0RoTjh0SXJQMUxqTXBLVHJHeXh5QmdZUUFH
Z2dFZGV6ekVRSndTSytYWG4zMVZXV04KblpyUmh1QXZNRzdjdUM0RDJiaGV6SmJRV2pDcHdQbnRo
NWFCQVN2Qkwrb2gwMWJZSUJkelVtYnFtYWdvTTQyeWlaWjY2bThYRDVvbQpzRUM3aXlhM0ZtRnF4
VVRNWlpkZFZwVTF6WmVTTWlPQW1HYVpmWmRmZnJuNnVTQzR4Q0dFMCtOODJ4RndCQndCUjZEdklO
QmpBYVRUClArS3Qvb2ppekxqT091dUVTeTY1SkxReWszTGZ1YVc4cFk1QS9RamdXMFZVSWducHFu
NFhhQ0N4MTRjWXlCSWhLLzVoWW9XUENBbisKMEpvZ1FFQm9MbUk2OWRSVDFUY0I1K2d5UXVPQzAz
bEtUQ3J3UXdEQnVkM0lzcGZId2dOK0JXaHgwVndPR3paTVdUSC9JVW9UUGd0RQp3a3JOS25HaVB2
amdnM00vTXF1L1hVdDdiNWtBUlR0b0kzbU5NSzJsSHl6NUsvdU1QL1p2b3h4TkNWcGQwd3FERFdU
OHVsSEhId0lJCmtheklVVUsvMG9jWFhuaGhHRE5tVEIxSE80c2o0QWc0QW81QVgwQ2d4ejRnOVh6
RUNjOW9kcnVOZnNRWklQQVJaNENQWTZFUkgwZysKOGllZmZMTGFYZHRITHYySVl1TEVSeFR6aUVZ
K29xYnFyL1VSWmJCQjI3QlpaK2IxNG9zdnJtZ25IK1dVcXRXSlNZbGRpeDFubU5uUwp5cHV4eExT
aExBbWM1Q25SUVNFenZEakxFOVdIYUY4NC9NYkVJQkt6bVhTV2xGQ2tET0xvb3pTMGNIeThydzlj
QkpneFJ3QmhscHZuCkU5Tk1RbXd6ZUdmMjNRU01GQ0VpVGZIc21RWWtOVzlrMXA0b1ZmaDI4RXls
dHY5b1c0NC8vdmd3VElRR25NNlhXbXFwL0JTRTBTV3oKTjVvWnRDUG5uSE9PQnB2Z1BvWklrc2R6
ZzRrV3p5UURiaElMeGdFbFRKQWlvZUNxcTY0YUpDZUpQZ05rSE1kdmd0bDgvRVhhVFR5NwpwdWta
UDM2OENoc2tNZVFaeDVTTTY4UzN4b2pRd0VTK2dqQXI1ZG9nM2xsVHAwN056YlhJaEc3Ui96RE5B
bit3cm9mb0M3QkVhNHpRCmdZbGIzSVo2Nm5BZVI4QVJjQVFjZ2M1R1lEYlJFRlI2ZEZacEw1bTA0
K3pWZk1UNVFQQmhJWDUvK2hIbkEwWFlST0t3eHg5eE12MHkKeTRXcFF2d1JaOEFneWJzcVdrRDhk
ajdpOEtVZmNUTDFFbjJGanlnQ0F4OTNRakFTMGpQK2lES0RGbi9BK0lqQ1R4UXEvRUtLUHFJTQpM
Smh0UGU2NDQzVHdRVVNjbzQ0NnF2UWppczB5V1hvbGtacnlNRmhuY01SQWlTekZSUGhpd0lRZ1JI
YmgvL21mLzlHSVBXVG94YitFCmFEb0lTMlFYWnNEUGVabjVKU29YdHM5Z1JtUWZIRGh4YURkSys4
VEtpNVpGdkF5bW1FMW1nRUMyZGNKL0dqRUFTZTN4eVVtUWh0dGsKMXBOQkRCbW5ZL3R1eW5EVVpj
WTZIV3dWdGNYT215N2hkZXBzQk9MM1FyV1dwdjNPTERyM0JzOUdzNGxYRy9WWGk5RFU3SE1XMVlj
QQp4SFBFZGZJTXA4SlEwVEZlMWhrSXBQZHJaN1RLVytFSU9BS09RTjlIb0VjQ1NHOWVmbC81aUp0
WkNBTWZoSjVXUnFnQi8wWStrR1c4CkRJNHdKVU1Rd3B5a2lEQkZJVElRczZRSVc3RTJDWDRUUXRD
Q25ITEtLVm9GbWkrRUdxS0FwVlRXbHBTUDdVWjRpNDczc3RZaTBFai8KTk1MYjJsWjc3WTVBYlFU
OGZxMk5rWE00QW82QUk5QWRCSm8vN2RpZFZ0UnhETE9HcTYyMm10cG1kL0lNSWpPNWFJS1dYWGJa
bGdzZgpkY0JXRjB1dEpIQlVnZ21kUmZSQ1c1TVNXaHZzNE5IV0lLZ3crNHhtQ2kyWGt5UGdDRGdD
am9BajRBZzRBbzZBSTJBSTlCa0J4QnJzCnk5WWdnRjA2Sm1PWVM1V1JSZktLRTN6Qnl6WjI0WVE5
eFdjSGN6TVN1aUdvWUpibTVBZzRBbzZBSStBSU9BS09nQ1BnQ0JnQ0xvQVkKRWdOOGFUbFNDRmxj
Um1aT2xyb040WVNQYlR0WnFNa29qZmJuL1BQUFYzTXRkejR2UTlQTEhRRkh3QkZ3QkJ3QlI4QVJH
SmdJdUFBeQpNUHU5NHFxN213VE9Lcm5qamp0eTUzVk10ZENFTExqZ2dwck16WGg4NlFnNEFvNkFJ
K0FJT0FLT2dDUGdDSUNBQ3lBRC9EN29TUkk0Cmc0NVFxWEVpdUs5Kzlhc2F0Ly8zdi85OUhvclRl
UHZyTWcyZDNNenJKQ2xibkppdEZlR1ltOWxlcjhzUmNBUWNBVWZBRVhBRUhJRnEKQ0RROUVEMERN
Y3YrWGUzRTNkbG5nekNMd01SQUxJNjkzNTA2VzNHTXRaTWtXamhudi8zMjI2b1JhTVc1ZWxJblR1
TGYrOTczdEkwSQpDNFFFdGlSd3hQOG5kSEpNSDN6d2dXNFNMcGcrSnVReGxBb2dsSkZiWVp0dHR0
R3d3U1FVSXk5RGY2YWRkOTQ1bkg3NjZXRzU1WmJyCmNwbTMzbnFyUmdaRFUwVE9DNElwWU03R2o0
elorKzY3YjBpelEvTWNFUjZaTU5id3p6WFhYSUc4S21pcitOMTk5OTFkenVNRlBVUEEKMzEwOXc4
K1BkZ1FjQVVmQUVYQUU2a1dnNlFKSU93Wmk1TllnUndkNVFCaXMyWUNOd1Q5SndyYmNjc3N3YU5D
Z0hCT1NaSkZEaER3Zwo1UGRneGg2L0JwS1BFVEtXUWVUa3laTkRHUitKQkJrTWt1dmo1cHR2MW5y
SkNFL200R25UcG9VaFE0Wm8wckhISDM5Y3N5Q3pqOHkrCkVFa1JhU3Y3Y1B3bUo4anc0Y1BWWVpz
SVVpVHRvdDJVazBQamdRY2UwTWhTaExPbG5ZUzVaY0RhREtxV0JJN013MFN6S3FLYmJycEoKZlR6
WVIzaGVuTkRUUkhEc0k4ZklXbXV0RmFaUG45NnZCWkFYWG5naGtMeU9oSTVjYzByMEw3a29FRUJJ
Vm9tVFBzUTlBVDVQUGZWVQpqaWZsaEVVbUpESVJ4RGhtempubnBGanZVWno2U1hybjFId0Uydkh1
YXY1Vk5GWmpKN3c3RzJ1eGN6c0Nqb0FqNEFqMEJ3U2FtZ2VFCmdSZ0QvaC84NEFlRkF6RUFZK2FX
UVQrSkM5T0IySzY3N2xvNkVNT3B1V2dneG9BZllqOEoraGdjay9nUHdyd0lRZU9xcTY0S045eHcK
UXlDSm50RUpKNXlnRVpwSTlJZnp0QkdEYVNJNDRVd05sZkV4VzRyMmdIb1pNQkw5YWVqUW9lSGNj
OC9WMldxcmp3RXBBZ2Y4UnRaVwpNbzB6NkltSlVMWm9DMGhnYUdTWWNTMFRKa3l3WWwwMkVxYys1
VzFsRWpoclpGRVdhdmFsYlRIK29tVVJieWRsY0Qvc3NNUENtMisrCkdVaHdpVkJuMGNMaWEwSFlJ
T0VsV2hJRVN5UHVHZktxa0hBVCt0ZS8vcVgzNDh5Wk13TUJBZEtRMDJnL1NPekpmWjRTOXl3Sksw
bmMKR2QvVEhFTlNTL283SmhMamNhK1JmZHllR2ZZektPVytMcUl2Zk9FTCtrekUrNHI2Sjk0ZnJ4
ZnhWdXRMQkc2RVhOcUttUi9YdGNrbQptK1JWZ2hkSlJiZmRkbHU5am55SHJKQUlFK0dmQkptMXFK
M3Zycmh0UlgzWWFQOHhlVUVpMWlJQ3V4RWpSbFRzc3ZkUk85NmRGUTJSCmpaZGVla21Uc2ZMZVJP
c0hJWFEvK09DRGdlenlyUE5Nb0tsRjRFK0pETzVveUxrZkNJWUJ6Wmd4UTdXNzVDV0tKNkxTWTR1
MmkrN1gKSWo3SzRIVnlCQnlCeGhDb040bHRZN1U2ZDU5QVFHYis2Nll3Z1VuWWNwSVBmYmJubm50
bTRvaWN2ZmZlZTRXTTh1RWc4M29tQTdHSwovZkp4eVNSeFgxNzI4Y2NmWjZ1dnZub21tZEV6MFRq
azViWWlBNDlNQmsyMm1ZbTJRdXNWczZLOHpGWjIzMzMzVEdhZ00vbUlXVkYyCjl0bG5LLytVS1ZQ
eU1sYisrYzkvWmpMNHk4dXE4Y21ITGJOMnlvY3RFdzFLZmx5OHNzY2VlOFNiVmRzS0JtdXZ2WFlG
ZnhsbU1OWHEKazdpaVJuamo0MXF4M2toYmluaC8vdk9mWnpJb3pXU3duMG4yK1lvbVNsNFQ3VnZ1
TS91SjhGbkJ3NFlJbXJxZit6WW1FU0wxZnZubwpvNC9pNHNKMTdrMFJSRE14UThza0Iwd21nNkpD
dnFJK2xKREhtUXlxTXhsVTVjZHcvOUptRVRienNuUkZUQS9USXQwV3dTYVR3VmttCnBsMlphT2h5
SHNsY24rTmdlS1JMeVdDZjg4c0VRU2svejNkS1JmMlQ4dGgyRVc5Wlg0cG1xTEFkWWdKbzFlbXpL
aHJMYkw3NTVzdnUKdXV1dXZKeVY5ZGRmUDl0cHA1MHF5c28yMnZudWl0dFUxSWVOOUIvdkx1N0R0
SDl0KzVaYmJvbFBwK3Z0ZW5kMmFZZ1VYSDMxMWRwMgpNVDNVM2J4ZlJXaktSRkRXOHJGangycTVD
TlNsMThpMThnekk1SlR5aWpDdDd3cmVGOS81em5jeW1URFM4bnIraXU3WHN1TWE0UzJyCnc4c2Rn
WUdFZ0Q4ekE2bTN1MTVyMDV6UW1la203d096OU9TUytQV3ZmeTNmZ2ZvSTN3STBHVHZ1dUdOK0FD
WXRtRG5KZ0tmTExEQk0KSlB5cjl4eVlOWWxnRWE2Ly92cTgvcklWWnNscStTc0lqSUZaYjJaazhh
T2duYnZ0dGxzK1k1ZldmZEZGRjZWRnZ0MURCSmpSZi9MSgpKOVcwQ1cxYVRNeW8wMGY4MEdqOTVD
Yy9DZmZmZjMrRkl6ZjhhS3ZRZHAxMDBrbnFxMkoxNEhlQnJ3YXo3clVJN1Jvenlrc3V1YVJxCndZ
cG1aZU02bUxubEdNNko5Z016SzlNRXdtZWFMOHo3eXFqTXh3cnRDdG80Wm83UnhoaWgrVE04NGlY
YUEveVZNUGVTZ1oreEJ4bkkKVi9DYjA3c01Yc01GRjF5UTh6VnJwYXd2Q1ExdDdhV3RhSmVZQlkv
YnlyTjY3NzMzNnF6M1pwdHRGdTY1NTU2OFdmUWpQamExcUpQZQpYVVY5MkVqL2dRZFlHVzRzdWM5
RlFOTXl6QUVib1ZhK080dmE4ZVV2ZjFtTDBRcEMrRWxoNWtyZm8zRzJkN2dJcmVHSFAveWhtakRH
CjEwcGZvbTNFNU5GNDBSaWlZU1RoS3Q4TW5tMU1ZWjBjQVVmQUVYQUUyb2RBN1JGV25XMHJHb2p0
dDk5K3BVZmJRQXovQUFZVXpSeUkKcFNmRkdaeXdzREtUbU81U0FRSlRGNWxwVS84UFRMS0tDRUVE
UGo1d09HekREejM5OU5PNnRBK25ibnp5OTlwcnIxV1l2U3k2NktJVgpRZ28rS0trVFBmVTcxWWVB
WlhDdjVoTmhHZHpIangrdkFySUZNTEF6eEJuY01jL0FmSkMrWmpCYkR6R1FNWE05aEJtYzc3ay9N
RE1zCkl0R3FxRWtJOXo4Q08rY2tTQUdtZHhBRExRaFRwKzRROWEyeHhocGRoSzJpdWhEaWVUWTIz
bmpqUUdDQmRsS3R2cVN0UEQ4YmJyaWgKSnIyTTIwcXVHY3kwR0dSamVvTzVEamp6L1BGZXFVV2Q5
dTZxdHc5N28vOWErZTRzNmhkN2oxb2dEK05oTWdBVFhTWnpYbjc1NWJEVQpVa3Zacm9vbGdnZkJN
UkF5TUdNMHdpd1NNenNFRUh5dTFsdHZQZHZsUzBmQUVYQUVISUUySU5BMERRZ0RNYlBOWmlER0xE
UURzVEpLCkIySm9LQmlJR2ZWMElHYjEySklQS1IrZ2xJZytoRzhKSHk1K1pSVHp3Yy9BRmJJUFpa
SFdCSHZta1NOSEJqR3JVdWZ5MUFZZjN3NzgKUU9LZm1LNlZOY0hMQ3hCb1p3WjNBZ25nWjRSVzRM
enp6dE1CTC9kR21mTSt6Y2ZmQWgrUVNaTW1xVUJyZzJRVGFCbDhRbmIvNjBhRApmd1FFc0lobGRp
ajNQc0VMOElsSWljRlpVWG5LMStydGV2c1NyVlpNMTE1N2JjRDJIOEdEUVRuQ281anFCREcvNnVJ
WEVoOW42NTM0CjdrcjdzSjM5MTZwM3ArRWZMM21Qb3NFekRVaThqMjhHeEdSU0xVSVlqZThUQkg2
Q2greXd3dzc2TGk0S21sR3JUdC92Q0RnQ2pvQWoKMER3RW1xSUJpUWRpTkkzQmxBM0V5bWFDYlNE
R1lJeFpmek5ISWFRcnMxM05HSWdaVExTSER6Z1JoMUxDL0lTQkQ3VExMcnRvSkt1VQpoKzJZVDN4
S2NwTWRuTzZob2dFajE3VGRkdHVwWmdWdFVQclJHejE2dEpydGFPL1N3N3dBQUNBQVNVUkJWQVdm
L0RINzdsUS9BbkVHCjk4R0RCeGNlaUJrSGhLbEdUR2tHZCs0UEhISXhnNmtuZ3p1bUxaaUZ4RTdu
aEI1bVFJeGdJZjVMOGVtNnJPTk1pOWtoZzJVY3Z6RVYKV1dHRkZaUVBBYjY3Wk1KeGZEeUNNdTA5
NG9nanVseWI0UlB6dDJPOW5yNUV3RWo3RWJNM29vc2g2SU05enlydkVYNjFxRlBmWFdrZgp0cXYv
V3ZudUxPc2J6Qm1MQkJBaUFtSlNoMWF6RnFYM0Nmanh2UEZ6Y2dRY0FVZkFFV2cvQWszUmdOaEFE
TE1SZnN5WU1SQWpsQzBECnNWcGtBekUrT2d6RW9HWU14T3k4bUU2aFlTRThiaTNDNXJrV01UZ1Fw
MTFsVzNubGxYVnAwYmpTWTgxZVB4NmtwankrM1QwRWlBNzAKcTEvOVNnL0c5NkZSNmtrR2R6UUdE
SERGcVZXRlRBUk5mZ3p3c2NFbkFsTTlaQU5Oam9Fd0dXS1FoYWxKbVZiQ3RDWDExTjlYZUxyYgps
MHhlNE4vRGhBYUUwQytCSXpSWHlvMDMzbGp6OGp2OTNWWHpBbHJNME1wM1oxblRNY05LQlJBRWNz
S1VFL0dzTzJUUFYzZU83VS9ICnhORVltMzFkQ0huOGpNeDN6TFo5V1JzQnc5QW1XV0tya05wSE80
Y2owTGNRNkxFQTB1a0RNUjVrQm9XbzlnbnBXWXN3dFVLYmNkbGwKbDFWbHRjUngyQkt2czg0Nmdk
bjBWcjdjcXpabUFPNXNkd1ozQkI5Q0w2ZUVRTW9QQVFTL0JDUDdHTWZDQXlZaG1HTGgvekZzMkRC
bApaZVlXQjF2TVRRakFrSnJrWWY5KzhNRUg1ejVJVm45Zlh2YWtMMTk5OVZXOWRBSkNHS0VOd1Y5
ZzNMaHhYUWF5eHNPeTA5OWRjVnZiCnNkN3FkMmZaTlNHQXhBUFp5eSsvWFAyVW1QUkpRd2lYMWVI
bHhRZ1E5aDNmd3lJaVlTcmFReVpGMEVhaTZaY0lqbUd2dmZiSzMwbnAKY1JhT251QVE5QSsrWlBo
cFNRUTZuWkJKK2R1OXpRUW5FNUZjSXhwenJvMWdCZ1RDSVBUemRQRkpqWWxjWVBpbndjODFFZUtj
OXd2VwpFb1I1Um1zTmxmSHhIb0t2NkZ0aDUrRTloQ1pkb2w5cUNHb21VTWhkeG1RSzV6VENWSlEy
MHhiQ2tkTmZFTDZFaEJxbm5PL0hjY2NkCnA5OGVnamZRRjVTakhVNFRDMXU5dm5RRTJvYUFmR1Rx
cGpBQjY0ZEtPdm5razd1RTFEVU9HWWhsb2hISnhCYlhpalJVcGx4c2Rzb3AKcCtSbGhLOGw1SzRN
eERLUitQTnlpV2lUaVcxM0pvNmxtUXptOG5KV3hMOGlrK2hCbVF6VXRGd0dmTmpYWkJMTFB1ZURo
N0NXSWl4awpFbFVyTDJkRklpTXB2MFRRcVNpWEdWVU43MnVoWFdYV1RmbmtZYTdnaXpmRXZFdERE
OHNNZUpkMlNvUW1QUjRlSXhGV3RFdytyRmFVCkx4ZGZmUEZNWG5qNU5pdUVGK1hhSko5SVJUa2JS
WDNTaGVtVGdrWjR5K3BvVm5ramJVbDU1U09pWVRrSllTdTIzUm00aXlPMU5rMmkKU0dYeVFhbjRF
U1lYL0xpUEpFSk9mZ2xpRXBlSnYwYStiU3VpdmNza09FQkZPR2JieDVMKzQxajUrT2g5R08rVGow
SW1DU1AxZk95WAptVnk5OStURHJtVXl1TkpRMVd6TGh6Q1RBVUVtZytpNENsMlhtZWRNUGtDWlJN
UEs1SU9YRVg1VVBrYVpES296N3RGcUJCN2JiNzk5CkJRdjNPUmhJZm9pS2NqYkVmMFhER1hmWjhV
a0JZWDg1dGlpRUt5eHAvNVRWVThSYnJTOHZ2ZlRTaW42a1gwWGd6OFJISUpPa241bk0KYWl1MnRF
MCt3aFduSlJ5dGFCKzF6eXQyUkJ1ZDh1NkttcFN2cG4zWWsvNFRMWStHS2M0clQxYmErZTVNbXFL
Ynh4OS92SDQzeEpkSAp3MVNMT1dUR2M1VVM5NE9ZVGFiRnVpMERMdzJQYlR0Rm82Z2hxbTI3M21W
UDd1MTZ6OUZiZkJJSkxKUEJxRDVUWmVjVXYwMTkxdmx1CkdmR081Wm5qUFJTVGFLV3l4UlpiVEVN
YkU3N2VTTFNabVVTSnpNUTgyWW82YXNuN2puZEdQRmFRUEU2Wm1FbG40bCtVRWZZNnBva1QKSnlx
L0JLaUppek1SSERMeDhjekx5dmg0Zi9JdEtDSXc1SnRBZU9nMGpEL2h5Ym4zWTdLMmk5OW9YS3py
akxYRWNxU2kzUHF6V2xqMwppZ042ZWFPUjU2dVhtK2FuNndVRVpwY0hzZHRFUkJINVdPanNMZEYv
NHNna2hORWxzeml6bTVpcElIMFRNVW8rK25vK1podFFxMk9pCnhld3d2aFJFTTRxalFqR3Jndk1n
c3c0a2NXTTJBTnQ4TXA3anQ4R01DLzRpK0UyWXlRdlJqdEJla0lnTHgxUk11VGdQTXdCR2hDaVYK
d1kxdTRwdEIzUkN6T1ZPblRzM050WmpWc0JDNm1HWmhLamJzazVscVBlQ1RQektVWXdKRWtpd2lF
TUZER0ZWbVp3bXJpdW1BWWNNTQpqRGtwZ3dHejM4dzZNWXZCN0JIdFpzYUMwTEhNeWhDVmkrTWha
c3ZsaGE4SkZ6ODVkWThYWUlNTlBYNEkxa2FydExlU3dObjU2bDJpCm9TTEtEVE9qUkxYQy9BYTgw
QnIwUmdaMzdtZCtSVVJFS2Z5TllxS045SEVqdE13eXl3U0NGR0JpeEwzRmZjN01Wbit6WWEvV2wy
Z3UKeS93NGVLNlk3VE1OU09wZmhjYVRVTWNFQ0FEREZMZE9lWGMxY2srMGdyZmQ3ODZpYStJOXhI
Y0FzOVV4WThhb24xVDgvaTQ2cGxQTApxcjFmQ1Q1Q29CYmU5MXd2M3d6Q3VmUGRpb2srNGgyUWF2
QUovODUzajI5cVBUNXJhRzJaYWVmZUo4RnVrVm13bVF6VEppTk1Rbm5ICjhqNHl3cVNOZHlEUElH
M0E1OVBJdmw4V0lkTEtiVm1VYkpOOWpTYmM1RnZhU01KVU83OWhGZnUrWVRyT2R4Q05NMW9EK3NW
OFJvMC8KeG9TNkNKYUF0dHFvakcrZWVlYkp4eWZHeTlJd3BGNU1RYWt2SnI3L2pIVmlzblBZTXQy
WGxsdC8yakxtWngyTlBHTWJOQ3NXUkloawp0aE1tVEFpTWF6QjU1RnNFTmRvL1JCY2tFaDNqdC9U
YXRFTC9jd1FhRVhMYUthMlM4RTBleGt4eVB4UW1KbXprT2xySnk2d3NtaGRSCmMydVN3bGFlaTdv
YjZaTWlYbVpaWkhEYkphRmZxNVBBRmJXbERLdVVsOWsyY0c0bGNiODUxWWRBMmovVmprcDVXOW1Y
ek1UVzBoWlYKYTJ1ejl2V1ZkMWV6cnJjLzFaUGVyOVd1cllpMzdQMUtQV2k2WlFSUzhmT0VxWlY0
cFBqSXBHUGVCWTBtVExVRHF5WGVGTk0vN1E4eApjelgyMHFURldGZkVWSlMwbUhjUTJ0b2lFaDgx
UFpkTXRCVHRMaXlyMW5ZUjBodEtZc3dKUkFEUjczK002N0hISHB0SktHdHRHOW9aCm8wWVNvbktN
bU85cEhUSVpsSW5BVzJFSlkzVVdQVE8yejVmOUg0RlA5UlVSakJuTTFWWmJUZTNyMDluTVRyb0da
b1NZd2NQdU01NWgKNmFRMnhtMXBkeEs0dUMzMXJqUGJCczZ0cEU2K3gxcDUzYjFkZHl2N2twbkZh
cUcxZSt0YSs4cTdxN2Z3R0VqbktYdS9nZ0hhRVJsaQo2TThUcG9iUVNNSk44R3RGd3RSYWVXK3du
TUFxQXIrUm9yeGl0QXVORlh4RVZNUUhCS3VHSWpJTmtRenl1K3pHTW9SRXF2YkRYekFtCi9IakVU
THppaDZhM1VXS01JbWJmRmI1eWFEMUk1aWttYXFxQk5pME0vVVBTVjRocnNuc1hUUTQrVzJqNTR5
U3g0QVFXWXQ2bS9uaG8KVk5McmFMUzl6dCsvRUdqdEtLNS9ZZFZ2cjhhU3dKRkhvWWdZN0ZzU3VE
aTVGN3lvZk9Na2NMd1lTZlRGQzdTZUpIQkY1L015UjhBUgpjQVQ2Q3dLMTNxOWNweVZNWlIxejNK
UVFwakhYeFJ3WEUxNEdmd3p1Nm4zSGRscXVtMEdTNzZnN0NWUFQ3MCtLVXpPMmV5dnZqUVZhCndG
dzBwZDdNSVlZQWxFYWRvejNrVThJMERaT3Nhc1Q0QU13d1AwNzdoMjBDaENBc0huamdnVzZLVlEz
SUFiaHY5Z0Y0elg3SkJRamcKVTBQK2kvZmZmNy9RTnBoRHNCbU9rM3RSWmtuZ2lNaEJaQTVlV3Rp
TTFwc0VqanFjSEFGSHdCSG96d2pVKzM0RmcvUWR5ell6Nm9RTgpGL09ZSU1GWGdwZ2lxNkNDMzJF
dDZ0UmNOL2h0RlNWTVJjakNSeVgxWitEN1E4U29WaEkrRWEzS0daYTJ1MU55aUpGM0I0RW5KWVJl
CmtpY2orTlpEUmYyRER5ditRK1NESzhzSlYwL2R6dE0vRVhBTlNQL3MxNGF2S2s0Q1YzWXdNeDNN
dk1XVUpvRkROY3VIRWdkZ0owZkEKRVhBRUhJR2dZVzNCZ2J3cVpXUW11K2s3TmsyWWlua3Y1ajBF
WEVrSDZVVjFkMnF1R3dhNEthRVZvTDJwWUFLZjRaTWUwOHp0M3N4NwoweWs1eE1vMElKaUk0WlJQ
bW9GNnFLaC8wS3pVYzQvV1U3L3o5RDhFWEFEcGYzM2E4QlVSM2FJN0NmMndPZTFKRXJpR0crb0hP
QUtPCmdDUFF4eERvN3Z2Vkx0TVRwaG9TclYwaStMVXlaMWphK2s3SklZWUFZdVpnMWtZMFFhTkdq
ZElJZEFpODNTWHUvU0pCczd2MStYSDkKQzRHbUN5Q3RUTWJIUXhJL0tKYmNyZE82eE5wcE0xbWRu
TTIwWFVuZ09xM1B2RDJPZ0NQZ0NEUWJnWjY4WDYwdGhLS09FMjNpekV1NApjVUxGV3BoNDQwMlhu
akExUmVRLzRmWXB4WG5haUFTdkVxMHE0Q3RER0g5Q3B4dlptQVp6cEpna2dsOFlQWHEwcGhDZzNC
eXNqVC9tCkxWckhvZ0R0Rm9OMGtodW1TV2VwUDZWcTUyQkNNRDIzalpGc21kYkhOZ0lJeHhvUG1n
OVNIbUI2aGFiTnlSRm9GUUpOOXdFaDB5cSsKQk1zdHQxeVhOdU1uSUFrSTFVU0hQQTVFdFVKdHg0
OVk0L3Z1dTIrd0RPTjJNQThVemt0RWc0Q2ZlTkxFUCtlaDVVZHNjdUtCUzVJKwpqWmtOai9FaGVX
Tm5TVmJSUWVMMFprUitEMG5Nb3hsaHNVdmtoWTZ3UU42U1J4OTlWTnMrZWZKa3pXNWF4TWRMZ0RZ
UXQ1MXNveEMyCnFiekFwazJicHBsV1VUdGllOHRMaFgxRWxZQjR3ZEZXOW1FWGZNd3h4NFRodzRl
clBTKzJyOFRrcHQyVVM1aS84TUFERDZqajRaMTMKM3FudEpCWThPRFdEY0dJa0xqem40Mk9HZlRG
NVZ5QmV3a1RaaUlscndFZUUvcUFmTFVjRERtZ3huWHJxcWVvZ1NhUVFjcnYwWitMKwpMSXV4M3RQ
ck5tSGJQb1o4SU9JOE9UMnQzNCt2Uk1EN3NoSVAzK29aQXRYZXIwVEFTak5UbTlrUithQjRwMGdv
VkcxQUtvQlFTTjR0ClNaaXErWnMyMzN6elVPVEk3TGx1dXZZZmZkTE9uR0ZwaXhoN3REdUhHQUlJ
UkY0WHhsbVlvVWtZWXMzS2pwRGs1QWkwREFFWmVOZE4KdFdJMnR6UFRxbVVJYlVkMlUvbVlaUElR
dHlXYmFhMCtpVHMzNVFVellxbVRyUnNpVnJjNGttVXkwNlBYSXplZHh2Rk9sNVoxWEdiWApkRCs1
SEZLaWJoR3dTbk8ycEcxSmo0KzNHK0dOait1TmRSRWVNL21BRko2S3pPRmtaQVkvRWJnelNUS1dm
ZmU3MzlWTTZETElVSnpUCkEwWEkwUGpwWlB5V0pHelpvWWNlbWtta0crMG5NcU4zSWpYU1A0M3c5
dmExRHNTK2xBbVJUSktRNlQwcUV6ZDZiLzdnQnovUWJObmsKc0pDWjRZcHVrT1JpbVV3dUtUL3ZE
ckpqNzdYWFhwbE1QR25tYXhrWUszOFozeTY3N0tKOGt2U3NvdDVPM1dqa2ZrMTVxNzFmWlNKSgpN
VXpmcld5VGwwazBKd3FKT0tBcm56aWhkNEZJSWcxbUVrSTFrNG1pTHZ0NnUwQW01UnJPMDdYZGR0
dGwyMisvZlVWVEpjeXJYcS80CkVsYVVzd0dlZkovS2lIY24rUEhlN1l2VTJ6bkVEQ1A2VGpSc0dk
OTE4cDlVdzYvUi9wR2dORG91c25PbHkvU1pTZmY3ZHY5R2dKbi8KdXFuV3pjSmdhYzg5OTh3a3BH
QW1NLytGOWNvTXU3NGtSRXRTc1YreW5tY2swakVpUWM3cXE2K2VMYkhFRW9XRFdCN1dMYmJZd3Rp
egphZ2w2ZHQ5OTkwenlBV1FTWmpibkwwb2F4RTRHMHhJNnJpNitHVE5tYUNJZjJpa2Fsa3cwS1Bs
eDhRb0plV0txMXRaR2t3blY2cFA0CnZDa3Yxd3FPclNEUlRsVk5BcGUycFZvYmluZ2xFM1ltV2V3
MTZXTjZyR2hvZEdBazZ2Rk1ORmlaYUtrcVdMaTN4bzBibDBuVys0cHkKTnNRQk1vdVRNblZoaUFy
YUtYQkh6Y2dtVFpxa3o1MUVITW1MNlZmd1lZQVkvOEJFTkhCWkxLaHprR1MrcmVDTGo3bm1tbXZ5
ZW90VwppdnFuaUkreUlsN3Z5MWxvdGFNdkdkZ3hjSXZ2Q1luZHIvZlBnZ3N1bUpHQUxLYUpFeWNx
ZjN5L3NWODB2ZG5Ja1NOejFqSStCb3BiCmI3MTF6aGV2eUF5c0NqVHh1NVJuZGFnSTM1S2ZJUDhX
aUFhNThINUZhR2NpaFVTd1JxSkp6RVJyM0VXWXN2M1Zsa1gzYXhsL3l0dksKOTZ1MWdjR2preVBR
VnhGSW41bStlaDNlN3U0aDBEUUJoQmVobVBOa29pN09SRzJYU1hTa3doWVZDU0JpMXFNU3VJUVV6
SThSVmFsKwo1QmhBbGhFZk1xTnFnM28rUUh4Z1c1SGR0TjNaVEJ0NWdCdmhOVnhidFd5a0xVVzha
Um1HVzUzQlBjYWpuUUozM0E0eThrcXl1MHhNCkdUTXhEZFJkaldTdFJlRG1tZVVaS2ZwVm14SGpa
RVg5RTdjdlhpL2k5YjZjaFZBNytyTGF1N09Wa3plenJucldtaVF5MDNzUVFRUmkKc2dCdENkbVV1
VGZIamgycjVaTGdyL0JldGZ1WFowSE1ZWlgzaGh0dVVLMENtZ1V4TXluVldDcHo4bGQwdnlZcytX
WWp2UGxCdnVJSQpER0FFL0prWndKMHZsOTQwQXo5UnVZY1JJMFlFWWtwdnV1bW1nZkNzMVFoZkE0
NGhYS3ZNYm1sQ0plS2JHOG1zcUs3aVoxRkc5ZHJlCnR6SzdhU2RrTXkzRHB6K1hsMlVZSnB5dzNO
ZjZFeTFBK1BPZi94eEV1MWFSb1JWN2FUSzY0bHRCM3BKNzdya25od29iV1B5UmFoRk8KZXlRTXcw
Y0l2eGpzcmVzbGJMM3hGZHB4eHgzelEyNjc3VGIxS3hJTllpakt3bzR0YnRrNThMbkNqaGovS05G
V2FKMk5aQlVHRDdBeQozRmdTQ25PKytlYlRNbnlVV2tuZWw3UFE3YlMreENkTlp2TEQ5ZGRmUDZ1
UkpXdUhISEpJb1M5Q3pNNjlkZGhoaDFVNFZjZjd6UjdkCkVxUGhINGlmSGM4eC9tcldEaEZhTlJ2
MVdtdXRWWEhmOGx6aXF5WWE3NXhYdEMxQnRKV0JoSUE4US9nZjRvdm41QWc0QW82QUk5QSsKQkda
djFxbDVvVjk1NVpWYTNUNzc3S05PY2pnMmx5V2YrZWlqajRLWU1LblRNd001TVdFS1JJdXlwRGQ4
Y0NBeWNUYURhbVUzNVVQSApSNnVNY0k2ZmM4NDU5V1BIa2dFYlpJN0NSVTZBSlBmQmFSekhka0xh
OFRGbmtHaUVBLzMwNmROdFU1ZHBKSXlLbmI1UmdZQmxHQzV6CmRHZlFiaG5jU2VRVkUwRUM0Z3p1
WklIbm5xdzNnM3VSd0MwbVQvRXBLdFpONEthL1paYTM2UUkzejA4OW1ZWEJ4TExXNHV6YUtlUjkK
T2Fzbk9xa3ZhMDNlNExCS3lFN2VjU1FkS3lJY2YrRkRPT0NiQUg4Wm1RQmk3MVhqRSsxRjJIWFhY
VFhxay9pbGhLV1dXc3AyVlN4NQpoK084alpBUloyVW1TUm9KNWhCQVJFc2FDSUhxNUFnNEFvNkFJ
OUErQkpxaUFZa3pyWW85c1E3aUdLU2ZkZFpacFZkR2RreWlQSW5OCnMzNmNiT0JuSHljK3dwQUpJ
cnJSelQvcTVPTmp5ZmJpYWpiYWFLTWdkc3RCbkNNMTJoU3o1VVZrZkVTS0lQU2hPUDhwV3ozWlRH
RmsKY0VybTE1Z0k0Y2NnTVA2WkFCYnorWG81QWtRU2UvWFZWMVVMVWNiRjRDUE5MbXdaM0JFOEdK
U2pDUkh6anJvenVDTndpMm1JbmhLQgptNmcyREs3S0tCVzRtVldPd3pQYmZkNFRnVHZOTE13OVQ4
UzBvdXpCWUZKVVh0YiszaWozdnB5RmNpZjFaYTNKR3diOTlVemV3TU4zCm9WcGVBQ1p5bUtReERj
Z3NSSUpPRUxBdGZpbHhjZUU2MnJ2NG1XY0NRTXlFd3c0NzdLQVRRZW03dUxBU0wzUUVIQUZId0JG
b0dRSk4KRVVBNk5kT3FvZGJLN0thZGtzM1VybldnTFUyb3BJL0xDQUVEMDQrWWVwTEJ2Vk1GN25S
Z3h5eHlPN01LeDNqWHMrNTlPUXVsVHVuTApWazdlekxyYXlqWE1lSXNFRUVLU1l4NHBRVTRxRHlq
WVNwOTVuZ1ZNRzR2TUd3c085eUpId0JGd0JCeUJGaVBRWXdHRVdWVGlsS01aCmtMQjYrWStNb3Bn
cFdjenRXdGRoSDF3emJaTFFvL3F4UWR0UU5sTnIycEpxZFRQd2JHVjIwMDdKWmxvTmcvNjZqend3
N2NqZzN1a0MKZDEvc2IrL0x6dXkxVms3ZWxGMHhabGlwQUlLR2tUeEpFZ21yN0xDcTVmWmRxY3Jr
T3gwQlI4QVJjQVI2RFlFZUN5Q2RrbW5WTW9ERwpIeHBzaFZ1ZDNaU1p0azdJWnRwcmQweUhuS2du
R1lZeDJZTGk3TUlTZGxadHpDWGtaNWZCVDN6Sm5TNXd4MjN0Syt2ZWw1M1pVNjJlCnZDbTdhZ1NR
MkFmazhzc3ZENUtqSUVoNGJBMTBVbmFjbDVjallOL0hjbzd1NzZHdjR2NlM2SlRkcjJ3QUhXbTRt
WFkrTnNrZFFERDQKcFE1Z0JIb2tnT0RRZC96eHg2dnRPNFA5bUlqcVEyWnhCaGRvUjNqWWJyLzk5
aUF4MnBYdHpEUFBESkxBU2o4c2FCR1dXV1laZFdTTQpNejNqajRIdExpKzBWVmRkTmV5OTk5NmFv
UlB0eVBubm42OGZKSndUMCt5bU8rMjBVeUFLRUxiNUVMTm4rSEFZRVNuSW5KTHh6WkJRCmsvcVR2
Q0pCOG81b2hLUWhRNFpvSm5RME1CQU81RGlORjVGbE04WHVHRWRnN081UFB2bmtRSFFmQ2RPck0z
Zm1ORW5XZHZPTkFRTXcKZ1hERUh6OStmSkFFVEpxaC9TYy8rWWs2U1pNOTNqRERYd1lmbTRGTzlE
ZE9wbE9tVE5GN3orNFRjQ0dETzdqSFAvdzlMSU03TSszVgpNcmdUaklBTTdtWFVLUUozV2Z2Nldy
bjNaZnQ3ekFhbnZUMTVVM2JsQ0NCRXNpTEROLzRuUEk4WFhuaGhrQndmWllkNGVRMEVKRkdrCmZs
ZUsyUGpHOEgzRUNnRXpTTDZIZSt5eGgzNmZpVGFHLzFwSzNETkVKZVBkaTJDSUg2TWtYUTNycjcr
K1drR2svTzNZNWx2TGQ1enIKa21TYmVqM2NTM3diK1BaT2w0QWdNVWs0YW8yVUJqL1h3WGlEaVNu
OFE1ZGRkdGxBTkRXb2pJOGdDZkFSQmJTTW1NQUN0N1hYWGxzegpqVXMrc3JEbGxsdHFKRkRPYVlT
UElXMm1MV3V1dVdhZ2p5REdDUkwrWGN1Wi9EenV1T04wbkVDa09QQ0hYM0tKaFhQT09jZXE4cVVq
CjBMa0lpUFJkTjdVelpqTjVSaDU3N0xIc3lTZWZ6Sk5SMWQzd1htU1VqN2dteHlNUmxwaUl0ZnpN
amZSSkVXKzdrc0FWdGFVTXJKU1gKeEdudHlPQXVtcTVNbkZjMWlacEVPS3Rvcm53Z01oRkVjVFRS
L1dKQ2tva1Fuc21IWGN0a1VLWEpBdG1XajZKbWpoWk5URVVkYklqSgppeVpkay9EVG1taU52QWZ5
WWRMRWlSSkZxQXQvWEpCbUZtNDBhMjFjbDVpWlpTSlF4MFdsNjJuL2xETEtqcFRYKzdJWXJkN3FT
eG1rCjVablFKWHFVSmhKY1o1MTE5TDRsSnduSk5tTWlUNGRsUXBmQmFyYmJicnZwVDRTRlRBSm9h
QkphM250a1FtYy96d1BQcWdSb2lLdXAKdWk0YUQ4MldMbUdxTTVtSTZkSUdPMWdHazVtRTRiWE5p
cVVNeGpRdmxSWEtSSkxteXJIdGVwZnAvVnJ0dUNMZWRyMWY0M1lPNUlTcAp2Ris0QnpzaHlhWk1o
R1o4QjhoRkV5ZmFwSy9JaFNTUkdlTnUwOHp2dFAyS0s2Nm9LR2REZ3BWa0s2eXdRa1U1enhqODFY
S245ZVZFCm54VVg2eHY5QWdHY2MrdW1vaGRzM1FjN1kwc1FhS1JQaW5qYmxRU3VxQzFsQUtXOHJj
d3dYQ3VEZTFrYm0xM2VWd1J1cmp2dG4ycFkKcEx6ZWw5WFE4bjN0UmlDOVg2dTFwNGkzWGUvWHVK
MERPV0ZxcHlUWlJDaGZmZlhWczBHREJuVVJQcXl2Uk90a3E3cXMxbmJSY21TaQpSYW5nRjJzUkZV
QWtsMUJGZWJ6Umx4Tjl4dGZoNi8wRGdSNlpZSW0wN2RUSEVVQWRMVm9sRGFONTJtbW41VmVES2w1
dWNmMWhta0dZCldOVHQ1TEF3YWtaQ1A2dXJrU1doUEZFL3Q0SlFZVmNMS2RxS2N4YlZTYlNlMVZa
YkxSQmxyVDlIN3ZHK0xPcDlMK3N2Q0xUNy9lb0oKVTh2dnBONU1zb21wNlNPUFBCSkVZMWlSQ3l4
dW5XanA0czJXcklzR1J1dTFJQStlNkxNbE1IdWxkU0l3ZTUxOHp0YVBFV2huRXJoKwpES3RmbWlQ
Z0NEZ0M2bGVBWDRVblRBMUJOQUFka3pDMU41TnNQdjMwMC9va21BQVFQeGJrUVB2d3d3L3pJcExu
eGdtTHhadzd4TDZ4Ck1DSllkb2ZzL0hIUUFPcnhSSi9kUWRPUDZTa0NyWmxHN21tci9QaGVSNkJk
U2VCNi9VTDloSTZBSStBSTlESUM3WHEvZXNMVTZoM2QKVzBrMmJjQ1AxVUJLNGsrb3laQnhIa2Ny
RXdzajhCTDhSdnhBS243dnZmZGVXazFkMjU3b3N5NlluS21YRUhBTlNDOEIzZW1ud2VRSwpJdTQv
MFRlS0tFM3VCVSthMEk5b0trU1pza2hUUmZWNG1TUGdDRGdDQXdtQmRyeGY0NFNwWUUzZUxFd2Vp
Y0lvZ1FFSzRmL0dONzRSCkpQaUEvcGhsSHpwMGFDRHFKTzl6WnNuUllFQ1k1SGFYTUhPTmljRTV1
WlhJMXlXTzJQR3VnSWxRcXdnOFhuamhoU0NCRExxY2d1OFkKUWlORUZDekMrUmRSekllV1M0S0dG
TEdGcjMzdGExcGVoQnNZazBQdDBVY2ZEVVRsbEVBbkZYV01IajI2UzJRdFRMcTZTNTdvczd2SQor
WEhOUnFEcEdoQUw2ZGpzaGxJZkx5cWJTV0M3VStPTld6dnhvWUE2UGI1M3U1TEFLVGorNXdnNEFv
NUFQMGFnWGU5WFQ1aGEvYWJxCnpTU2IrUEpCMDZaTksyelVBZ3Nzb09YenpqdHY0ZjVtRm1LR1pU
NGdWcThuK2pRa2ZObWJDRFJkQUdsSHZQRk9pUGZkVitON3R5c0oKWEcvZTVINHVSOEFSY0FUYWdV
QzczcStlTUxWNmJ6TTVpTVlGazZTRERqcW9PclBzbldPT09WVHJRNTZwYWdSZkVaSHJUTUpiYTlM
aQpWazdTRnAwN0xVTUFpU2R5UGRGbmlwQnY5eG9DalFUektnb3pHQi9mem5qajdZejMzYzc0M3JY
NkpPNmZsSmNjQVBJQ3ppUWplRVlJClAzSVBTTVpoUFVRU05XYkUyWTkvOGhMTnhEa3VFM1YwUnI0
VDhseklqWnBKY3FUNE5Obk1tVE16bWRISnR0MTIyNHJ5ZUNOdFM3d3YKWFcrRU56MjIxZHVpaFd2
WktjZ2x3czlJTkdtMjJsSExSdnFuRWQ3ZXZranZ5OTVHdlBQUDE4ajltdksyOC8wcWlYQ3pzbkNz
TWh1dgplU1RlZWVlZHZBUHV1dXN1ZlplZmNzb3BlUm01S2dnZFMzNlgrTjF6enozM1pIUFBQYmUr
Mzk5OTk5MmNueFh5SXgxd3dBR1pKQytzCktJODNlaXZIRGVmODVTOS9xZGNWNXdHaGplUzRFV0ZC
djJGeDI4Zzd3emVOSEVveGtZTkpFaFZuRHovOHNCYi83R2MvVXo1SkFCaXoKVlYwWGN5L05rOFAx
cDdoSkJFcXREeDRqOGs3UkZ2TGlwTFQ0NG90bkVqeW1vdGo2OEtpampxb29UemNrZWJUMi8yYWJi
YWJmZnZLUAprTWNxcFU3THM1TzJ6N2Y3UGdLek4xUFNJVXMwV1Q3SmtFNzI3aUoxb3FrYVl6dlFy
My85NndIYlU1eXRqQWo5U2daMS9BN2tKYUsyCnE3YVBZOGtVYnBFbEtEZmIwZGhtVkpMMXFJOENE
bHRrQ1pWRVBibTlwL0hIN2FBZW9rK1EvZFdvakcrZWVlYlJkbGs3cVFlVmR4eTkKZ2pvSXd5Z0pG
SzA2WFZxZHRveDNVcGFXRzJhMmpQbDdzbzQ5S2huRm1RRlpaSkZGdEEvQWxjeTN6QTZWK1hGSWNp
M3RGMG1rcDZkUApiVmFaVlRycHBKUENCUmRjb05FNituTVlXVFIrOHFFUGtweXRTMWVRdlZZKzZP
R09PKzVRbkFtcnkvM0pqM3QrMzMzMzFabTErRUJtCnh3NDg4TUFnQ2FNMERDLzNFK0ViTWVQZ0Z6
OGo4WEcrM25NRUJtSmZvajJXQVl1K283Zy8rWEhQOFQ3RGJwMHN6WU0rc2ZzSFliSkEKUzZJenph
cU5INEVrMzlSUTNUSllWUnQybm9QSmt5ZVg4a2wrRzcyZkpkRm1JSHR6ZjZaMnZWLzUvc29nTXd3
Yk5peHN0ZFZXWWFtbApsc3BobGttalFGK2htZUg3U3Nac3ZxTWlzQ2dQR2NJeHh5RXlFeWJPM0FO
RTc0cWpNQkdPWFNhc05GUDRxcXV1cWxuRCtXYnhuY052Cmdzem8rSXUwbS9DVFlPd0FqUjgvUHFD
OWVQMzExNE1JVDBHUytPbDE0dmh0ZE0wMTF3U1plTk5OZkRHNE5vaDM4dFNwVTRQa0xOTE0KNmp3
REZqSVhwM0crYjJCZGkzaFdubm5tbVhENDRZZHJKRENPNFRuZ084bzNWWVNhdks5NEx2SFZnZWdU
RVFJMVd6MlowTWs2ejNYWQpPSWd4eGtNUFBhVEh3ejlwMHFTdzJHS0xoVkdqUnJIWmhiZ2Y2RS9H
WjJQR2pBbVM4Rk96cDNkaDlBSkhvTlVJTkNKRHBUTTg4YkVrClRoUGhJNU5CYXlaQ1F5Yk95Zkh1
Zkwwb1djNzc3Nyt2a3JnOG1EbWZ2RHhVK3ErVzFUT2VzYXlXdEVmVWpWclh3UWNmbk5kLzl0bG4K
YTltVUtWUHlNbGFZR1ltcGlFOEdncW9GZ08vR0cyL1VlbVRBSGg5V2RiMWFXeHROTUZTdFQ5Skdw
THp0VEFLWHRpVnRhN3hkeE9zWgpobWNoSkI4Y3piSXVINkc4RUEyVmZFUTFtL3Izdi8vOWZDa09q
Umt6WlBHTUlBZE5tREFoNTRuNVdaY1BjMTV2MFVwUi94VHhVVmJFCjYzMDVDNjEyOUdVN3RjZXpy
dncvYTMwNVUzTjZiN2Z6L1pyaTJxcnR2cFF3dFZVWWRLZGUzczlvWWlURWJrYVN3b0ZLNlRNelVI
RVkKcU5mTjdGWGRWTzFtdWZqaWl6TUorYWQxYmI3NTVwbk1NQlRXYXdJSVdUK3Z2UExLVEdaTHNp
RkRobVFTYWFMQ2xBY1ZzZ2hmR1dySQplcWphb0o3akYxeHd3V3pOTmRmTXF6TEJnc0dZekJobEYx
NTRZZmFEWFhNQjN3QUFJQUJKUkVGVUgvd2drd2hRT1E4cktSOGZhNWtwCnpYYllZUWZsbXpoeG9y
YnovUFBQcnppT0Rablp5RkNwMmcrVk5tUnRQZlhVVXpNRW9QaUhhcldSREtmVitrUlBGdjAxd2hz
ZDFwTFYKUnRwU3hPc1pobWQxQzBLenpNSmxvbG5KUkZ1aU8rNjc3ejY5TDNtR3luNDhleEFtYzB3
YWxQSGRjc3N0eWxmMlY5US9qZkI2WDg1QwpxeDE5YWU4akpuMVNrc2crbVNUbXpCNTg4TUY4bDcw
VDA4a2JCdHpjUzBiVitHYk1tR0ZzRmN1K25LbTVrZWVnNHFKOXd4RVlvQWo0Ck16TkFPLzZUeS82
VUREcWFRcDBZYnp5K3NGYkYrelpuTHN5T1V1ck4rTjdwdWZ2N3RtY1ludFhEbUlDaDJzZDBCak1D
YU4xMTE4MHoKMmN1em5xOWpNc2c5Uy9oSXkyclB2VXQ1ekljNTRYenp6YWRsdzRjUG4zV3lGcXg1
WDg0Q3RkUDZzamV6UllPQ0pVcXpLRDJZSzJLcQpoVGtUNXIzWFgzKzlnb1dack5pb3EwbHRmTjhT
T3ZhSko1NElJalRsdkZ0dnZYVVEvMFJOQ0loNUVtYW5mSytjSEFGSHdCRndCTnFICndPek5PSFdu
eGh1M2EydGx2TzlPaXU5dDF6dFFsdTNNNEg3VlZWZUZFU05HQkdLcWI3cnBwdXByaE4xd0dXRXp6
VEhUcDAvWGdUK3gKOWNWWk0yZkhCaGpDSnJpTXF2a0FZYWUveGhwclZFUTNLYW9IbnlxRWNRazJv
TGJFUlR6dEtQTytuSVY2Si9WbGIyYUxCZ0VUUUd4aQp4MUR4VE0yR2hDOGRBVWZBRWVnZkNEUkZB
OUxwOGNaYkdlKzdrK0o3OTQ5YnNyR3I4QXpEcy9BaUdNQUhIM3lRRjRqcG56cTZFNUl6CkpSd1Fp
OHBUdnQ3YzlyNmNoWFluOVdXcnRNZXpybmJXR3RvNE5IbW1BWm0xSjJod0RMYkZuRFl1TGx4SGV5
ZFJudko5VEFEZ0FDK20KczVwdE9nMmNrVFA2aWlQZ0NEZ0Nqa0N2SU5CakFhVFQ0NDJqbm05bHZP
OU9pdS9kSzNkTWg1MGt6akJjMWpSbS9ia1BZa296dUJOVgpoR2hWUk8rcVJiSEdUM3lDTkdLTVpS
Z3VPOVl5REJPaEJJR1lLRE5vUWRET1FSWnBxQ2hUYmxtZGFYa2EwWTFaWkNZSFlxSEVqc0cwCnBk
UEkrM0pXajNSS1g1cjIyUHBtVmd1RG12R05IRGxTTTBVVHdZZm9TRVdFdVI5OFJGMGllcEQ0dVJX
eDVXV2VxVG1Id2xjY0FVZkEKRWVpM0NQUllBQ0gwTGlZb0thRVo0RWNZUElsNW5lOG10QjlrQXkv
V21abGlZRWFvT1VMVFFRd2FzZk1sSk95ZWUrNFpDS1ViMDhzdgp2eHdrcWxWZWp5WDN3WmJkQ0I3
SldhSDJ2b1RnSTlTc2tmRi8rT0dIVnFSTFF1MUpwQ0FOUDBnQmJZT01YemVpUDlvcGp2SWFJbFVp
CkJuVnBKL1dsVksxT2JKalRjeGxtdGt6ckc2amJubUc0Ly9TODkyVm45bVVydGNkbFY0d1pWcW9C
OFV6TlpXaDV1U1BnQ0RnQ2ZST0IKSHZtQWRFcTg4WGJIKys2VStONTk4eGJzWHF1Slk0L0FKd21q
QXZsZW5uenl5YkRycnJ2V1ZabmxMNUVFakRrL2RaRmpZOXk0Y1dHYgpiYllKaXk2NmFMNHZYakdO
bjhXWHQzM0xMTE9NNWo2Z25Cajh0Y2htdUUxZ1JodENiaEJtaU1temtPYUNvVDZFOWs2SXIxL3Iy
aHJkCjczM1pLR0s5dzk5ZDdUSDVsbmJiYmJmU1JwWmxpN1lERUVBSTRHRkVucUpERHoxVTgwdmdk
OVhKTk5zeHMzVnk4N3h0am9BajRBaDAKREFJOUVrQlFxZk1ySXB4Y3NVR1BDUTBFNnZoR2lJRWRB
ME0wQTBUNllRQjIzSEhIYWZJZnEwY3llZ1orOWRMMjIyOGYrTlVpRXZUdwpxNGNZc0Vvb1l0V0Vr
TUFQelFwSmpsSlRGd2xSSFBpbGhPMHpTUUQ1eFVRRW9sWkhJWXJQMXhmV0VUaUppTU1nbnNIT3Nj
Y2VxNG14CmFEdWFMc2xXVzNFWlJNV1JYRE9hNEkvRWdKWmdFZHYybUNRc2NxQnVvdXVRZkt1STZ0
SDRIWExJSVdIKytlZlh3MDFyVmEvR0QyMGkKR2orMGF0aXhHNkhOUXlOSXdyRCtKSVI0WC9ib0ZX
eTNSNCtXcG5FMVlaakt1TjlJZUVhMEtKS2lOYUk5UHZMSUk3VTkxVFM5MVJxTQpBRUswSzk2VGp6
NzZxQ2FBSTRBRDM1Uk9wdXpvU2pQUFRtNnJ0ODBSY0FRY2dYWWowUDZ2WDUwSWtHMlVMTDJkVHBo
a3habG5PNzI5Cm1EYmdEekYyN05ndTdUN29vSVBVZkk0Qkw5b0N5YU1TTnRsa2sveVNHTEF3Mk5o
MjIyMDFpM3ErUTFiUUJLQXRZT2F5MmVRWmhwdU4KYVB2cTg3NXNIL2FjdWQzYTQ2S3I5MHpOUmFo
NG1TUGdDRGdDL1F1QjJVVE5YdmUwRGVwbG4rWHByQnVna1Q0cDRqM3p6RE5WTTRDQQpkK2VkZDJv
b1Y2N3c2YWVmVmgrZTlHcVpGUjB6Wm93Vy8vV3ZmdzFEaHc3VkdQMlRKMDhPMy83MnQzTjJUSXJR
NnVEYlUwUkZiU25pCm95emxSYnVFVUlTdzEyemljYUIrOGdpMGsyS05IMXBBK3FkVEtlMmZhdTFN
ZWIwdnE2SGwrOXFOUUhxL3RyczlmbjVId0JGd0JQb0wKQXMwZndmVVhaQWJJZGJRN0NWeDNZQ2Jp
VkN1RUQ5cUNXVmU3aFEvYVlSby9Bamwwc3ZCQlczdEMzcGM5UWMrUGRRUWNBVWZBRVhBRQoraVlD
TG9EMHpYNXJhcXN0Q2R5RER6NVlXQytEZlh4Y050eHd3ekJ6NXN3S0hweWxpWEtHdndLbVdNOCsr
Mng0NnFtbjhqQ3pGY3krCjRRZzRBbzZBSStBSU9BS09nQ013NEJGd0FXVEEzd0wvQWFCZFNlQWNm
a2ZBRVhBRUhBRkh3QkZ3QkJ5QmdZVkEwd1VRaTZqU0NoaEoKck1iUHlDSU0yWGFuTEsyZDVsN3o5
dHR2ZDByVFN0dGhpY2FJKzE5R2FFTHNtb3luSnduOXJBNWZPZ0tPZ0NQZ0NEZ0Nqb0FqNEFnTQpI
QVNhTG9Ec3ZQUE9hb1pUQk9HdHQ5NnFZWGl4czJmQXUvdnV1NGM5OXRnajdMWFhYbm5Td2ZRNEJC
cENycEpsOThRVFQ5VFFrSmdDCnJiLysrbUc3N2JaVGRzSkVEaGt5Uk8zM0J3OGVyUFVSU2hYL0Jw
eXNwMCtmWGxIdGIzN3ptNERaRWUyZ25yMzMzbHR6U3V5eXl5NWgKMldXWERWdHZ2Ylh5bC9HUmJ3
SytPQUVqRVo5bzU5cHJyeDBtVHB3WXpqNzc3TERsbGx1cWt6Ym5NQ0tzSlczazNFU1ZBaE1JaDI0
aQpSbEhPUUo5UXc1ZzIzWHp6eldyNlJEbGhmYzg1NXh5cnFtbkxkaVdCYTlvRmVFV09nQ1BnQ0Rn
Q2pvQWo0QWc0QW4wSEFablJycHZDCkJDYkF5K241NTUvUFpLQ2N5ZUMvbEVueU5oQjFLenZ0dE5O
eW5qLzg0US9aWEhQTmxVa3l1THlNRlFrUm15MjIyR0taNUJySkpLTjQKdms4R3pObGhoeDJXZmUx
clg4dkx6anZ2UEszM3BwdHV5c3ZlZlBQTmJMLzk5c3NXWEhEQjdMNzc3c3ZMV1JFaFFma2ZldWlo
aW5JUgpKTEtSSTBmbVpXVjhvbjNKUkZCUlB0b3BzZXUxblgvLys5L3pZMW1SM0EyWitFbFVsRmxi
cjdqaWlvcHlOaVNwWHJiQ0NpdFVsQnRtCmtxQ3VvcHlOV24wU0gxREVDMFpjeHdJTExLRG5saHdX
OFNFVjY2ZWZmbm9tMmVyenNtblRwaW1Ha2dRd0wyTkZCTFJNOG1Ca0VtSzEKb2p6ZUtHcEx2RDll
YjRRM1BzN1hld2VCUnZxbkVkN2VhYjJmeFJFb1I4RHYxM0pzZkk4ajRBZzRBajFCWVBabWlrb2th
VU1MUUliMApFMDQ0SWN3Nzc3eGRxcGVCcnBZeG8yOUVCdWh2Zk9NYm1uRFF5c2d4UVpKRHRBSGts
Q0JhamhISGtyQ1BVTEZHbGprNlR2eEhobXhNCmhONTc3ejNWSXBDMGJxMjExdEpEakQ5dUJ6dEVF
Rkp0VEZwdnlqZlBQUE5vdTZ5ZDdELzMzSFAxZUR1V0pWcVl4eDU3TEM3S3MxeGIKRytLZGxLWGxo
cGt0WS82ZXJMY3pDVnlqN1NZY3BwTWowRW9FMExZMit4bXo5cHJwcUNYMHczejA4NS8vdk8zMnBT
UGdDRGdDam9BagpNS0FRYUpvQVF0NEN6SWdtVEppZ0djRVJRa1Q3VUJlWUgzendRWkRaZERXZHNn
TnV1KzIyOE1namp3U1o5UzhNUTRwZ3dqbnFvWi8rCjlLZmgwa3N2MWV5NkpvQ1VIVWNXYTVucEw5
dXQ1U0x4QmRIQUJESm5pOFpGMjNuRUVVZDBFVDZza29zdXVzaFdPMnJacmlSd2pZTGcKdVdjYVJj
ejV1NE1BNXFNOCs4c3R0MXlYd3pHVlBPV1VVOElkZDl3UlZseHhSVTJLeW1RSFB5WlE5dDEzM3pE
SEhITlVISWRBYytDQgpCNFlYWDN4UitabmM0SjJHeVNPL3UrKyt1NEsvSFJ1WXJ4NTExRkU2U1VL
aVYzNjBrd2tWMFRDckdlbWdRWVB5cG1HV3lqdVphSGZrCi9mbnFWNytxZm1HaStkV3M1V0JIVHFB
eVByS2pnOEZYdnZJVk5TL05LL1lWUjhBUmNBUWNnUUdGUU5NRWtLdXV1aXFNR0RFaUxMbmsKa3Vv
YmdlYWhtZ0FpWmxlQlkvRFB1UHJxcXdPSjZ3NDQ0SUFjL0QvKzhZKzZ6b2Vxak9xZHJmelNsNzRV
eEF3cmlCbFdsNnJRQXVCNAovZkhISCtzSFZFeXl1dkJRWUh3SVdtaFM0SWRNQ3lNbVdMb2QvNzMy
Mm11YTFNN0tDR1hMeDkySWozZzZDMHI5dlVYZi9lNTNWZWhECm1JTVFxdmhCcWQrTUZpWi8rTzd3
S3lJeHAxTU5WaWZrMUNocW41ZDFEZ0ppd3FpYXlyRmp4d2F5WU1kMDBFRUhxUzhVaVNjWFhuaGgK
OVp2YVpKTk5jaFkwa0VjZWVhU0dnRWFMR2hPYVUzeXo4SzJxUlMrODhFSmcwb1AzRm41aktRMGZQ
bHp6d3lDQWNHL2J1K3FKSjU1UQpyU3FocDg4Ly8vejhzR2VlZVViOTNYaXZjWXhwY0ptOE9Qend3
OE4xMTEyWDg4WXJWMTU1WmJqOTl0dlZMdzBmTVFoaEJVMHFTUnRqCkFoT1NmWExkVzJ5eFJiN3Jt
R09PQ2ErLy9ucStIYStBSGU5cG84MDMzenk4OGNZYllkU29VZUhZWTQvTjYzbnJyYmRVMEtDdUcy
NjQKSWF5NzdycDZ5STQ3N3FnQ0ZkZUFyNXUxa1ozdnZQTk8yR2VmZldyeW1WK2ZNaVovTDczMGt0
WkxIOWk3a25NUklody9RTmJKaThQMwpnNzVLYWU2NTV3NW9tUWdKanA4ZU5HUEdETDAySnBkaVlT
bzkxcmNkQVVmQUVYQUVlZytCcGdrZ09GZno4WVQ0Q0cyMTFWWTZVSSt6Clk4ZVg5ZEZISCttSGdR
OEptaE0rREVTTEVoOERaV04ySHNLTXFobUVFTUlnSXlWbUxSa2NNSk5aYmJCc2ZBd2c0R2ZnQTVs
cEJRT0IKbFBpWU1vQjY5TkZIOVFPUEpzWStxdkF5QTVvTzlERVg2eTJ5UVZFcnpzY01halU4VzNG
T3I3TnZJbkRublhjRzhZdFNqU2JyYTZ5eApobDRJd2oxYXhwVE9PT09NTUdiTUdDM21uWEg5OWRl
SHM4NDZTMmZlNC9jTnMvQkZ6MlZhSDl2dE5CK04yek5seXBRZ3ZtSGhra3N1CkNROC8vTEFHMTJE
d1RWQ0xha1NBRGdRdDNxVUlFZ2d0UmJUOTl0dDNLVGFUVDk2QlJyMWh2bXJuaXBlWXExNXd3UVVx
YURENXhIdjIKOGNjZkR3aDA5OXh6VDBDRGN2TEpKNGNMTDd4USt5dytObDVISTQxZ2l4WUhIQkVP
K1JGb1pOeTRjWVZhcnZoNFgzY0VIQUZId0JGbwpMUUwvbWZydTRUbjRRREJqeG9lRGdRUXovd3h1
R1JTVUViTjIrKysvZjVnMGFaSnFJRGlHMlVMVExOaE1sUWtpWmZYVVUwNmRDQjhXCmFqWStacU9O
TmdyaWRLNGZwcC85N0djNnl4YnZ0M1hqd3k4Rms2ckZGMTljZC9HQmc0cmFPWFRvMER4U0Y5cWd6
MzcyczhwcmY2TkgKajlhb1hneW83R2NDbVBINDBoSG83d2d3dXkrQkRGUmdsZUFVK2VYeXZDTHc4
Mk1neWpQR0xEZ2FVeU1Fakh2dnZWZG52VGZiYkRNZApwTm8rVEo4d2o2cEZaajZLYWRINzc3OWZ0
MmtuOVpyNUtKb0JJek1mM1hQUFBSczJIOFVFak1FMkV4WFhYSE9OVm9uMndYQ0lsMkRDCkJBanZK
c01FUENpUCtmQk5JMUVvWldoeUdpRW1UU1FBaUFwNXRZNUR3MUJMNEtNTmFGblJaaFdSYVpMUnlr
QUlSVVFDcE8veEwwVFkKaENTNFJ5RFNJU2ExOGJYU2wyaWxtUHd3WHFJYVNvQVVqWHlJMlM0bWRF
eVlPVGtDam9BajRBaTBENEdtYUVENHdQRnhpSjNPdDlsbQptM0R0dGRlcU1MTEVFa3RVdlVKVTZu
ekFNY0hBSnBrUGhrU0MwbU9ZeGVvcFlXTEZSNVJRdmJXSUQyNHRZbmFmR1VkbzVaVlgxaVUrCkxF
VmtabUl4TmtWOFh1WUlER1FFQ0l0TldPNHkweVRNQkRGaEpBUTMvbHd4TVlOUHlHb0cyWmplb0RG
QXcycVRHakZ2MFhxbm1ZOHkKK1lJV3lMU3JSVzJtREV6UTdHNjg4Y1k2Z1ZIRzE1UHlWcHF2RnJY
TEJKRDAyakUzSS93NWt6OHZ2L3h5RjFNOXF3dkJZNVZWVmxFaApZK2JNbVZhczN5WW1vUkJBTUpk
YmI3MzE4bjIrNGdnNEFvNkFJOUQ3Q1BSWUE0S045U3V2dktMMi91VGxzQjhxY0diaXNNT3VoeGpV
ClF4d0RvUTFoOXBJUER1Y29JdE9XRk8yek1tYkhhQXN6YzVoRDFTSk1yWmh0dSt5eXk2cXltc01w
SDdKMTFsbEhUU2F3YlhaeUJCeUIKN2lId3pXOStNN3o2NnF1cWhTaXJBVUVlWDRPWW1PakE5aC9C
ZzBFNW1oQW1NM2JhYVNmMWo0aDVpOWFaRFRlL0VzeEhtZlRBejZ1TQpVdk5SSmpmaVpLT21EZTJK
K1NqYVVyUXJSZ3llY1hRdmVoZUNTVkc1SGR2VFpTM3pWUWI5MWN3dHpYd1ZIalRqOXE0dmFoZnZh
YlEvCnBnR0plY0Fkd3ArdkZpR014dmNKcHI2WWIrMnd3dzZCU2FaVUcxMnJQdC92Q0RnQ2pvQWow
RndFZWl5QVlEc2RKK1N6NXFFWjRJY0EKd3V5a2tXVXZqNFVIUGd5WVltRitOR3pZTUdWbElJR2Fu
WThPcGd5cGJ3U3pZQWNmZkhCdXNtV0RmeE5ncUFTZUgvLzR4NnB1UjZDdwpFSmpzTS83VXNaUEJC
S1pSWmxwRjIySiszWWorYUNmMjJ0aGM0NXlhdHBQNlVxcFdKeVlFMWpZN3pqQ3pwWlg3MGhIb1R3
aVlpU1FhCnl6TGllV05TSVNhY2tYbjJTTlNKTUlJRE5vN2ZKNTEwVXN4V3VONnA1cVBwSUIyTkFK
cm1XQ2l4QzRwOU42eXNXY3RXbXErV3RaRkEKSmtVQ3lBTVBQS0NUVXBKanFPelF2RHk5VDhBUFRU
cy9KMGZBRVhBRUhJSDJJOUFqRXl6VTJjY2ZmM3dZSmtJRFR1ZHhCQnZzb0FuTgppRzhJZmhOazhN
YXBGQWRDaUNnbnpEUmlKc0hBbWdFLzVoZHhWQ2pzdlptNUlsUDVxcXV1cWxuTE1iZkFVWkhaVXN5
Z1VNMFRvY28wCkxlUEhqMWZ0QllNUVprVXg1ZUk4REU2TXNLMDJNdzU4TTZnYll1QS9kZXJVM0Z3
TEoxWUxvY3VzR1I4dnJqVWxRbEZpdDAyRUZrd24KNE1HQmt0bGNvbm5oVzJMWVlHSm12akZnZ05D
RkRUZk9vL2lCMEc0R0grUTV3VGFlcUZ3Y0R5R2tTV0pHZFdoUDIrRGJqa0JmUmdBQgpuc2tNaUdk
cDhPREJkVjBPQXZ2OTk5K3ZFWnM0QUw4ckhMWjVaOXg0NDQxVkkvSEIzK25tbzdTeG5kUks4OVd5
NjhJTUt4VkFlSWZ6CkhyVDNkdG14WmVYeHhGUVpqNWM3QW82QUkrQUk5QjRDUFJKQUVDejRGUkYy
eVduVUtUUVFETFlib1dXV1dVYWpSVEhRWUdDQ3dISGMKY2NkVnpHUmhjc0d2WGlJU1RGRTBtUFI0
L0ZKaTU5SjBmN3lOZmZyRkYxK3NtaEJNMHRDc0lQU2tzNU9FdmVTWEVxWUhDQjM4WXNKcAp0RkhI
MGZqNGROMFQrcVdJK0hhN0VXQ1NBZzBHenVTWUxlR1FqcjEvUFlTUUQ4Vk96ZFIxdDBTWUk5b1J2
bWc4bTBWazVxTTJlV0U4CnZIT1lmS0NjQ1paYVpOb0tHK1RHNXFNNHRsdVVxYmdlTkF1OHl6cVp1
bXUraXZuYWJydnRWbnBwWnI1YXhvQUFRZ1JCbzhzdnYxd2oKZkRIaEZJY1F0djIrZEFRY0FVZkFF
ZWg3Q0hUMkZ6RENFKzBEU2JJNm5WRDltN2FqMDlycUNmMDZyVWU4UFdndkNXREJJSjZCS3lGawow
WHBDbUUwU1FqVW1JaHdScVlvRWZ5UUdSTmlIOEZPSWlmQzkxRTJrcERMSDluck1SNG5zWkNZL1pn
SlpyL2tvcHFtWWoyS2lpVStDCkVhYWhtSmVpRGU0RUljUk1QazJBb3AyMEVZMHMvakZvYlJzeFh5
VXZDMVROMUZRWlN2NFFRSWhneFVRTkljd3hZeVZRQUpOYVRvNkEKSStBSU9BTDlBNEUrSTREMEQ3
ajlLaHdCUnlCR0FJZHR3cUl5eTgwZ2wvRGNhQUh4L1NKNGhBa1k4VEdzWTlxSXNHOGFrTlNwR0kw
aQpQaUNFQmtkN210citkNHI1YUhwZHZiM2RidlBWb3V0bEFnZFRYSnpyeWZlQ0ZqbzJvUzA2eHNz
Y0FVZkFFWEFFK2hZQ3M0bWF2ZEtqCnMwcjdNZC94V2ZRcUFMVmhsL2RKRzBEM1UzWWJnZlIreFZR
UkxRRENSTE9KVnh2MVY0dlExT3h6RnRVWG00OWkzcFVLUTBYSGVGbG4KSUpEZXI1M1JLbStGSStB
SU9BSjlId0hYZ1BUOVB2UXJjQVQ2TEFLRVpXMFZZZGJWYnVHRGErc3I1cU90NmdldjF4RndCQndC
UjhBUgpTQkZvL3JSamVnYmZkZ1FjQVVmQUVYQUVIQUZId0JGd0JCd0JSK0FUQkpvdWdKaERZeXNR
SnBaN25DSFhuRUpiY2E2ZTFHbnROT3UyCk9FbFpUK3IxWXgwQlI4QVJjQVFjQVVmQUVYQUVISUcr
amtEVFRiQjIzbm5uY1BycHA0ZmxsbHV1Q3phMzNucXJScTRoU1JpT3AwUzEKSWt3dFA3S2VrK2sz
RGRHSVFFUEVteGRmZkZINXlaTDd5Q09QYUxoYmNnY1FicE1vTFVjZGRaVG1CNkZPZnZCaGdrRitr
UzIzM0RJTQpHalFvYnc4aE5nbVArZXl6ejRadmYvdmJnVHdlQ0F2a0xTSHFDbTJmUEhteWh1SXM0
aU82QzIwZzE4Zk5OOStzOVJMU2s2U0gwNlpOCkMwT0dETkhRbXlRNUl6RWgrNGplQXhGVmhyYXlq
MXdteHh4empJYlpKUThJY2U3Sk4wSzdLZDkvLy8wRHliY292L1BPTzdXZFpITUgKSnlkSHdCRndC
QndCUjhBUmNBUWNBVWVnVHlJZ0ErKzZLVXhnbkY1T3p6Ly9mQ2FENTB4Q1g1WXlTYWhObk42ejAw
NDdMZWVSc0p1WgpDQXlaeE8vUHkxaVI1Rk9aSk43TEpOZElKcUVZODMwaWVHU0hIWFpZSnNKRlhu
YmVlZWRwdlRmZGRGTmU5dWFiYjJhU2FEQmJjTUVGCnMvdnV1eTh2WjJYaXhJbktMNG4rS3NwRldN
aEdqaHlabDVYeGlmWWwyM3JyclpXUGRrcm9TRzJuQ0RINXNheEl1TTFNOGdCVWxGbGIKcjdqaWlv
cHlOaVFQUWliSkV5dktEVE1SaGlySzJhalZKMTBPOEFKSG9JMEkrUDNhUnZEOTFBMGo0UGRydzVE
NUFZNkFJK0FJMUlWQQpVMDJ3aUt0UFRIOUNYQktydjRnV1dHQUJMV2FXM3dqdEIrRTMwV1lZRVpP
ZUpJZEV4eUVoV095c3lyR0U2a1M3WVdUSnZ1TEVmeVExCis4VXZmcUZKQ2pmY2NFUE5LcDd5eCsx
Z0g1b1RZdlFiV2IwcDN6enp6S1B0c25heW42ektIQjhUMmN4SmhoYVQxV25MZEY5YWJwaloKTXVi
M2RVZkFFWEFFSEFGSHdCRndCQndCUjZBdklkQTBBWVJRazVnUlliS0U4SUVRVWk5OThNRUhhcm9V
WngyLzdiYmIxTXlKUkY1RgpZU3NSVE9vOUIyWk5KTE1pdVZVdEl2RVlPUVNxa1loMlFUUXdtbjJa
T1BxWVk1SDVOeFUrckk2TExycklWbjNwQ0RnQ0hZcUErNjkxCmFNZDRzeHdCUjhBUmNBVDZIUUt6
Tit1S3lGUTdZc1NJc09TU1N3WXlBS041RVBPbjB1ckpkc3d4MDZkUEQxZGZmWFhZWUlNTndnRUgK
SEpEemsyZ013cytpak9yVkNKQWxXY3l3Z3BoaGRha0tBZUs1NTU0TFpEZkcvME5Nc3Jyd1VHQjhD
RnBrYkxac3lFOC8vYlR5azcwMwpwZGRlZTAzekVGajVvb3N1V2lHazRJTkN3cTJZcU4vSkVYQUVl
aCtCZHZpdjlmNVZWcDZ4RS96bktsdmtXNDZBSStBSU9BSURBWUdtCkNTQTRWMTk1NVpXSzJUNzc3
Qk8yMm1vckhhamo1RjFFWkRxZU1XTkdRQkJCY3pKSW5NU0pGclhRUWdzcE94bVNJY3lvbWtFSUlT
KzgKOEVLWHFuQjZ4N3dMMDYxcU9RT01EKzBIL0poZVFSYVZxMGhyOHRKTEx3V2N4aEZzUm8wYXBR
N21zWllFa3pNRXNKaHdXbmR5QkFZUwpBdUpEcFJNV1k4ZU9EV1RCam9ubjU5MTMzOVZraFFzdnZI
QlljODAxd3lhYmJKS3o4QndlZWVTUllkdHR0MVV6em55SHJHQzZTUUNJClF3ODlOQzR1WE9mZGdO
YVZpWk16enp5ekM4L3c0Y1AxL1VBQURmRlZ5eWRMQ0M2eDFscHJoYWVlZWlxY2YvNzUrWEhQUFBO
TTJHaWoKalhSaWhXUE1oSlQzeCtHSEh4NnV1KzY2bkRkZTRSMTYrKzIzaDczMzNsdXZsWDBFMjhD
VWs2U0tNWkhBa2ZjTzVxdGJiTEZGdm9zQQpGcSsvL25xK0hhK0FIUk5GUnB0dnZubDQ0NDAzOVAx
MDdMSEg1dlc4OWRaYnFzMm1yaHR1dUNHc3UrNjZlZ2hhYWdLQ2NBM2lINWUzCmtaM3Z2UE5PNE4w
UFZlTkQwNFNwYmhIeHpxUmUrc0RlbFp6cndRY2ZETi82MXJmMHZHakUrVzdRVnluTlBmZmNZWkZG
RnRIN1lkbGwKbDlYZGZHZTROclRiZkdlY0hBRkh3QkZ3QkRvQWdibzhSVDVoS25QSWUreXh4N0po
dzRabDhzSFhuM3dZTXZuZ1p0dHR0MTJYNm5FNApsOHZPSkZKV3ZrK2lTbVZyckxGR0pocUNUQVFU
TFdjL2ZEaHMxME1TMlVyNVJWUFJoWjA2UmJqUU50ck9zODgrVy9tblRKbGlSYm9VCkxVekZkaEVm
VHZBU21VdjU1RU9wOWNCWFJPS3JvdnU1YnFOcWJWMTY2YVd6dGRkZTIxaDFXWVNaTVpUMWllMzNw
U1BRU1FnVTNhOEUKYXBEQmREYnZ2UE5tRHovOGNONWNHZFRyczhON0lQNmRjY1laT2MvTW1UTXpp
VnFYelRmZmZObGRkOTJWbDdPeS92cnJaenZ0dEZORgpXZG1HQ0NtWm1IdG04ODgvZnlhVEFJVnNa
YytoREl3em5sc2owWTVtcTYrK2VyYkVFa3Rrdk50U0VxRXBFNEVoTGRadGlYeVh5UUE3Cmt3bVJU
RXc3dFl3QUd2SDFGNjJmZU9LSnlnc2VZcDVheW4vTExiZDBPVysxOTlIdXUrK3U3MDRSQVBMaml0
Nko3Q1JRQ09jM3FzWW4KUW9HeFZTeEZHNjV0RnlGSHk4RlNoS1pNQkMwdEZ5RlZ5MFVnSzcxRzhB
RS9pVWlvdkNKQTZmM0ZQVVpBRXhFT0s4NVpiYVBvZnEzRwo3L3NjQVVmQUVYQUU2a09nS1Q0Z09G
OHpvNFcyZ2gvYUJoeXZDV1dMR1ZJdFlrYUxHVE5tNGpBSmdDUVNsQzZaSGUwcFlXS0ZEd2poCmNX
c1IvaUsxQ0lkeitlQXIyOG9ycjZ4THd1OFdrWm1KeWVDcWFMZVhPUUlESGdGbTk1OTg4a25WTUVo
MHZCeVBsVlphU2NOank2dE0KTlk1b1Jaa0Z4MlRUQ0EzQXZmZmVxN1BlbTIyMldiam5ubnRzbDg3
VUUrQ2lGbldTL3hvaHpOR2VNUHQvelRYWGFOUFJQb0JCK2tQNwpnd1lXVFl0aEFoNlV4N3k4bjBW
QTB6STBPWTFRSy8zbml0cGhwcXg4Q3lBMDA0UTZwKy81eHBnZkg0RkNKTnFpYXAvaWE2VXYwVXFo
CnpUWmVpVllZSkVKaldINzU1ZFZ2a0JEd2FPeWRIQUZId0JGd0JOcUhRSThGRUV3Y1hubmxGWTFZ
SlJxUFlMOGpqamhDUDRTWVFkUkQKRm1XS2p5ZUVUd2lEQnh5NE9VY1JtUjlHMFQ0cjQrTkVXL2d3
WTg1Uml6QzE0bU4zMldXWFZXVzFmQ1hycmJkZVdHZWRkY0lsbDF3UwpXdW5FV3JVeHZ0TVI2T01J
TURpVTJYWTF0U202RklKTzRFTkZORHVaWmE5Z0lXb2NabG9Nc2pIRndyY0treWdtUDNpUDFLSWkv
N1ZxCng0Z21SUDNYVGpycHBEQjA2TkNtKzY5aEppUWE0ZHk4czZ3dFlNSmt6OFliYjl3Rms3SmpH
aTJ2NVQ5MzZhV1g2anNhWWFESXg0N3oKNFQ4SEh5WnF1KzY2YTZsNUdMd21nSmhwSzJVUTVtWWNp
L25YeXkrLy9KL0NnbjhFajFWV1dVWHpUTVgzQ1JOQW1Oa1J1SVR2QU85dApKMGZBRVhBRUhJSDJJ
ZEJqQVlUUXV6aWRwNFJtZ0I4Q0NJTURJOHRlSGdzUEpQYWJOR21TK24rSUtaZXk4bkZsbGd0ZkVT
SmhwYjRSCmZJUU9QdmpnM0JuY0J2OG13RkFKUENRSFpMWUxnUUxiWUNQalQrMnEwWlNNSGowNkQv
RkwyeURqdCtOdFNUc1JQckRUeGpZOGJTZjEKcFZTdFRtYncwbk1aWnJaTTYvTnRSNkEvSUVCaXps
ZGZmYlUwaERmWHlFQVNYNE9ZcnIzMjJvRHRQMzRDUEk5b1F2QW5FZk9yTG40aAo4WEcyenZ2Qi9F
cndZVURyU3FDSk1rcjkxM2pHOFY4emFvYi8ybWMvKzlsQWRFQWpCczhrSUMyYWpBR1Rvbkk3dHFm
TFd2NXpEUHI1CmxaSDV6OEdETDR4Tk5oWHhNMUdFOXNjMElERVB1RU1FRktsRkNLUHhmWUxReUh0
M2h4MTJVRjg4OEhWeUJCd0JSOEFSYUI4Q3MvZmsKMU13bUhYLzg4V0dZQ0EwNG5jY09wRGgwa2xr
Y1owYnllWnh6emptQmlGRW5uM3l5bmhJblF6NzB6Rkl5c0NhbkI0NlpjVlFvekMzNApjT0NRdWVx
cXF3YXg2ZFlNNCtKem9sbkVNWU5pWm93Wk50TzBqQjgvWG9VTm5EQVpsR0RLeFhuRVJqdS9WRXdi
bUpHRGlOUkYzUkFECi82bFRwK2JtV21STXR4QzZtQ0pnS3NhMXBrUW1kY3dtY0paazVoSWVvbmN4
bUNLYUY1bk1EUnRNek00NjZ5eXRBZ3h3dXNlRUFrZDgKc1czWDJVRSswT1E1d1RTRnFGd2NEeUdr
U1dKR2RSalZBdjl6QlBvUkFwaGNRWmhNRGg0OHVQREtFRERRYXNhRU16TENQODg0d2dqUApFMXBa
ZnJYbzhjY2YxM2ZVQlJkY29LeE1qREJJNWhrdEM2Q1hWa1pKQUFBZ0FFbEVRVlNCMDdmNGF1aVBD
UVBUZ25BKzNrZG9NQ0FUClJIU2p3Yjkwa0k1R0FGTXF0TGxwbmlETWxGcEY0SUh3ZzZOOVN1Q00w
QWp0c3NzdU90bVQ4ckFkODZIbFFqaXNSa1JTTEJKQUhuamcKQWRXS2k1OU90Y04xWDNxZmdCL3Zi
MzVPam9BajRBZzRBdTFIb0VjQ0NJSUZ2eUxDTElBUFYweG9JUGdZTlVMTExMTk1JRm9VSDNvRwor
WHpnanp2dXVJb1BDVE9lL09xbDdiZmZQdkNyUmZpbDhLdUhNQSs1K09LTFZSUENRQVROQ2dPaWRI
QkExQmwrS1RIemg5REJMeVpzCnRodTEyNDZQOTNWSG9DOGdnQVlSYlNyRWMxNG1nS1RYd252aC92
dnYxNGhON0VNWUVPZG5uYlM0OGNZYnE0WUNoOS84MTJJZkxmelgKRUdTWUhCRkhjdGhLeWZ6WEdG
UXp1WUMvUVRQOTEwcFAzRXM3V3VrL1YzWUptR0dsQWdpVFNFekUyTVJSMmJGbDViRm12SXpIeXgw
QgpSOEFSY0FSNkQ0RlA5ZDZwZW5ZbVB2U3JyYmFhbW5WMThpd1dNMjlvT3dnQm1Rb2ZQVVBBajNZ
RStpY0NhRW54SFVPalNoQUxITkxyCkpiU01FQ0Y2amRDRzRDOHdidHk0TGdOWjQySFo2ZjVyY1Z2
YnNkNXEvN215YTBJQWlYMUFMci84Y3ZWelFlTWRoeEF1Tzk3TEhRRkgKd0JGd0JEb2ZnVDRqZ0hR
K2xONUNSOEFSYUJRQnpDZUpTaVRoc05Ydndzd3VxUWUvTGN3UTR4K2FpZmZmZno5SUdPeGMyd2d2
ZmdveApuWHJxcVRvQmdITjBHWFdLLzFwWiszcXIzSHpPWWkxQmIvalBsVjBmQWdpUnJOQVUwNi8w
NFlVWFhoakdqQmxUZG9pWE93S09nQ1BnCkNQUXhCSHBrZ3RYSHJ0V2I2d2c0QWgyR0FINFNDQ0RN
Y21PaWlYOEZab2c0SE9QdlVPYkhnVzhWMmtiVGdLUk94WmcwRXFVSzN3N00KdEZLdGFhZjRyN1c3
TzlydFAxZDAvV2lROFFYRUxBNmhBelBZMklldjZCZ3Zjd1FjQVVmQUVlaGJDTXdtYXZaS2o4NHE3
Wi90bU5sQwpkblRkN0ZWcThsM05Rc0Q3cEZsSWVqMjlnVUI2ditJcmhWOFh3a1N6aVZjYjlWZUww
TlRzY3hiVkYvdXY0ZE9XQ2tORngzaFpaeUNRCjNxK2QwU3B2aFNQZ0NEZ0NmUjhCMTREMC9UNzBL
M0FFK2l3Q1JKeHFGUkZKcXQzQ0I5ZG0vbXV0dWs2djF4RndCQndCUjhBUjZHc0kKTkgzYTBleUpX
d0VFam9teGMyS241c1d3ZHBweUtjNFIwQXBjdkU1SHdCRndCQndCUjhBUmNBUWNBVWVncnlEUWRB
M0l6anZ2SEU0LwovZlN3M0hMTGRjSGcxbHR2RGFlY2NrcTQ0NDQ3MU82YnFGWkVpdUpIMW5NU2JW
bUdjVHNZZ1FhSFV6TGd3aytTcWtjZWVVUWRVQW5kClNZaGV3bDhlZGRSUmdmd2c4QmdmTTZEa0Y5
bHl5eTNEb0U5aTgxTXYrVDJPUHZwb3paaE1ySC95ZUNBc2tMZmswVWNmMWJaUG5qeTUKbEkrRVZy
U0JYQjgzMzN5ek5wV0lPaVE5bkRadFdoZ3laSWpHNmlmSEFJa0oyWWRUSlVUU005cktQbUxvSDNQ
TU1ScG1sendnaEprawozd2p0cHB4Y0E4UytwL3pPTysvVWRwTEZGNXljSEFGSHdCRndCQndCUjhB
UmNBUWNnVDZKZ0F5ODY2WXdnWEY2T1QzLy9QT1pESjR6CmlWcFN5aVFaaG5FaXlVNDc3YlNjUjVJ
TlppSllaQkkrTXk5alJXSy9aNUo0TDVOY0k1bGtHODczaWVDUkhYYllZWmtJRjNuWmVlZWQKcC9Y
ZWROTk5lZG1iYjc2WlNhTEJURExuWnZmZGQxOWV6c3JFaVJPVlh4TDlWWlNMc0pDTkhEa3lMeXZq
RSsxTEpqSC9sWTkyU3VRVwpiYWNJTWZteHJFZzI5MHdTaDFXVVdWdXZ1T0tLaW5JMkpBeHBKbmtF
S3NvTk14R2FLc3JacU5VblhRN3dBa2VnalFqNC9kcEc4UDNVCkRTUGc5MnZEa1BrQmpvQWo0QWpV
aFVCVFRiQUlhL205NzMxUDQva1RLck9JRmxoZ0FTMW1sdDhJN1FmUmI5Qm1HQkVTa2lTSE9LZVMK
NVR5MkZlZFlJdVdnM1RDeTdNQng3ZzF5Q3BBbG1TU0ZHMjY0b1dZVlQvbmpkckFQRFlzSURjYVda
eDFPK2VhWlp4NXRsN1dUL1NRMQo0L2lZQ0NGS1lyT1lySzIyVFBlbDVZYVpMV04rWDNjRUhBRkh3
QkZ3QkJ3QlI4QVJjQVQ2RWdKTkUwQ0k5SUlaRWFaTkNCK0V1YXlYClB2amdBelZkaXJPTzMzYmJi
V3JtdE9lZWV4WkdqVUV3cWZjY21EV0pCaVZjZi8zMU5adDB5Q0dIQkVKNFZpTVI3WUpvWURUNUdX
RXMKTWNmYWJiZmR1Z2dmVnNkRkYxMWtxNzUwQkJ3QlI4QVJjQVFjQVVmQUVYQUVCalFDc3pmcjZx
KzY2aXJOVXJ2a2trdUdUVGZkVkRVUApZdjVVV3IyWVhRV09tVDU5ZXJqNjZxdkRCaHRzRUE0NDRJ
Q2NuemovRUg0V1pWU3ZSb0JrVm1LR0ZjUU1xMHRWQ0JEUFBmZGMrUGpqCmo5WC9RMHl5dXZCUVlI
d0lXbUlTcGZ5VVAvMzAweXdDeWJOU2V1MjExelFNcUpVdnV1aWlGVUxLczg4K3EvSHViVDlMNm5k
eUJCeUIKM2tjQWY3TjYzeW1OdHM2Q1o1RHJCQ0tBQnJrdW5Cd0JSOEFSY0FRY2dZR0lRTk1FRUp5
cnI3enlTc1Z3bjMzMkNWdHR0WlVPMUhIeQpMaUlTamMyWU1TTWdpS0E1R1NSTzRrU0xXbWloaFpT
ZEJHVVFabFROSUlTUUYxNTRvVXRWT0wxajNvWHBWcldRbmNhSDlnTit5eHBzCkE0c2lyY2xMTDcw
VWNCckhzWDNVcUZIcVlCNmJhR0Z5aGdBV0UwN3JUbzZBSTlEN0NMUWpnRWJ2WDJYbEdUc2hnRWRs
aTN6TEVYQUUKSEFGSFlDQWcwQlFCaEloT2I3MzFsbVlkQmpTMENRelN6enJyckZBbWdPRHpRWlFu
ZnN6NkR4MDZWTFVnWkQ0bU1Sa0NDV1NDaUc1MAo4NC8ySUh5c3RkWmFYV3JZYUtPTk5Cb1ZPM2Ja
WlJlTlpOV0ZTUXBpdnQxMzN6Mk1IVHRXMmN3UHBhaWRYTk4yMjIybkFnamFvRFJiCjgralJvMVZi
Rko4UFRZdVRJekNRRUpBZ0Rxb3g1WmtpQzNaTUNQRHZ2dnV1dmhNV1huamhzT2FhYTRaTk50a2ta
MkVpNE1namp3emIKYnJ1dCtwSGxPMlFGM3pFaTBCMTY2S0Z4Y2VFNjd3Zk1QdkVaTy9QTU03dndE
QjgrWENjb2lPQW53VEp5YlMzUjdYaXZQUFhVVStIOAo4OC9QajN2bW1XZjBuWUZtbDJQTWg0MEpq
TU1QUHp4Y2Q5MTFPVys4d2lUTzdiZmZIdmJlZTIrOVZ2WVI3UTlmTXBJcXhzUjdrb2tQCjNxVmJi
TEZGdm9zSWVxKy8vbnErSGErQTNZZ1JJL0tpelRmZlBMenh4aHM2UVhMc3NjZm05ZkEreDV5V3Vt
NjQ0WWF3N3JycjZqR1kKeVJLUmtHdVFBQjE1RzluNXpqdnZCQ2Fmb0dwOGFKcndGU3dpSm0yb2x6
Nnd5UnJPOWVDREQ0WnZmZXRiZWw3eXFqQnhSVitsTlBmYwpjd2UwVE53UHl5NjdyTzVtb290cnc3
eld2aXZwY2I3dENEZ0Nqb0FqMExzSU5FVUF3Zm1hRDhxODg4NmJ0eDdINjJ1dnZUWmdoclRFCkVr
dms1VVVyZkZENFlERUFZVVpPb2tzRmlRU2xyQXhPZWtxWVdPRURRbmpjV29TL1NDM0M0ZnpFRTA5
VXRwVlhYbG1YaE44dElqUHAKaUxFcDR2TXlSMkNnSWtDSWFZa01wejVkcksreHhob0tCZWFOcDU1
NmFoZFl6ampqakRCbXpCZ3RSMnVLYnhlVEhZVE9qaWM4Q0xkZApwSm5zVXFFVXhBRTBUampoaElw
M21mSGJzeHdIcE9odUFBMHozYlM2YlRsbHlwUWcwZkhDSlpkY0VoNSsrR0Y5WnpINFB2dnNzNDJs
CmNNbjdDRUVMYlRLRGJZU1dJdHArKysyN0ZGdlFpNklBSG1oa0NlQ0IyYWxONEJoL2pBT1ZOaHJB
bzB0RHBJQlE2aGRjY0lFS0dwamYKSW1BeXdZVkFkODg5OXdSQ29KOTg4c25od2dzdjFENHJxb095
STQ0NEl2RHRZSUlJSEJFTytUSEpORzdjdU1JdzhXVjFlYmtqNEFnNApBbzVBOHhIb3NSTTZNNHhv
TFloWXhXeS8vZmdBOFBGZ0ZySWVzbytabVRZeGM4akhIUWR1emxGRWFEWnFFVE9PdElXQkNMT3B0
UWhUCks3UVpsMTEyV1ZWV3kxZXkzbnJyaFhYV1dVY0hESzFNd2xpMU1iN1RFZWpEQ0RDNy8rU1RU
NnFHUWNKejUxZXkwa29yYVg0ZW5tSGUKQ3p5WHpJTGpNMmJFYzMzdnZmZnFyRGZSN2hpa0dqRlR6
enVrRm5WU0FBMXlLREhZWmpCL3pUWFhhTlBSUG9CQitnTVRURURSemhvbQo0RUY1ek1zRTBYenp6
YWRsYUhJYW9WWUc4Q2hxaC9uU29aV0JFSXJJdFVUZk04bGxnVVNJVkNqaDNsVW9pcStWdmtRcmhU
bXQ4VEtoCkpTSGl3L0xMTDY5Qzdvb3JycWo1bUlyTzcyV09nQ1BnQ0RnQ3ZZTkFqd1VRWmc1eE9r
OEp6UUEvQkJCTUtJd3NlM2tzUERDck5XblMKSlBYL0dEWnNtTElTNVlxUERMNGlSTUpLZlNOZWZ2
bmxjUERCQitmTzREYjROd0dHU3VBaE9TRCtLUWdVNWdES1B1TlB6UnJRbEdBYQpaYVpWdEMzbTE0
M29qM1l5VzhtTUk2WVphVHVwTDZWcWRmSUJ0YmJaY1lhWkxhM2NsNDVBZjBHQXdTR21qY3oyRnhI
UEdVRWNtSTJmCk9YTm1CUXN6OHJ4akdHUmpla053QjB5aTBMNHlrVkdMaWdKb1ZEdkdBbWljZE5K
SnVlbG9Nd05vWUNhRUZzajh5OHJhQWliNHRtMjgKOGNaZE1DazdwdEh5V2dFOExyMzBVcDBrUWhn
b0N2TEIrVEFyaFE4TnhLNjc3bHBxSGdhdkNTRHB0V051eHJFSWxielh5d2pCWTVWVgpWdEZFdC9G
OWdnWWFNenNpSnpJUnhjU1JreVBnQ0RnQ2prRDdFT2lSQ1JZdjgrT1BQejRNRTZFQnAvUFlmaHQ3
YWpLTFkwdU1kdVNjCmM4N1JpRkdvenlGc2ZGR1JNMGhnWU0yQUg3dm9PRElNczUxODdMR0hYblhW
VmNQNjY2K3ZlVGxRMDVORkhMTURQa3g4NEV6VE1uNzgKZUJVMnNJSEdIaGhUTHM2ejlOSkw1eWd6
czhnSEVjSTNnN29oQnY1VHAwN056YlV3NGJBUXVzd0VZaXJHdGFaRUpuVm1MYkZWWnVBQQpEK1lE
cjc3NmFpQ2FGNW5NRFJ0TXpEQVhnY0FBcDN0bU1ER2R3TFNFZHFNTklzOEpNOE5FNWVKNENDRk5F
ak9xdmJZVytKOGowSThRCjRKbEdBMEFZN3pLVFJjcnhOWWdKVTArZTlWdHZ2VlY5RXRDRUxMUE1N
bUdublhicTRoY1NIMmZyblJoQUEzOHh3cE1iTVhqbVBZQjUKbUpsQTJUNHdLZE1TRzA5UGxxMEs0
RkhVSmpRNGFIOU1BeEx6TUJrRkVkR3dGaUdNeHZjSjN4RW1mbmJZWVFjVmRHc2Q3L3NkQVVmQQpF
WEFFV290QWp3UVFCQXQrUmNTc0hCL05tTkJBTU5odWhCaElFQzBLelFDRGZBU080NDQ3cmlJM0NB
TU9mdlVTZHRCRnR0RHA4ZmlsCjhLdUhtSjI5K09LTFZST0NTUnFhRllTZTJLNmFlbkQ2NUpjU0gx
NkVEbjR4WVRMUnFObEVmTHl2T3dKOUJRRk1yaUI4dGdZUEhselkKYkdiOU1ibUpDV2RrdEk4OGJ3
Z2p2R040QnZuVm9rNE5vR0VtcWRaK05BS1lVbUZPbWdvZzZUdkdqbW5Hc3BVQlBNcmFSeWozSWdI
awpnUWNlVUpPNitlZWZ2K3pRdkR5OVQ4Q1BDU1IrVG82QUkrQUlPQUx0UitCVDdXOUNmUzNndzdI
YWFxdXBXVmNuZjBUNDhLSHRJQUpMCkt3Y0c5YUhtWEk1QTMwQUFFMGJNT1NFbUd1b2xKaWJ1di8v
K1hOTkI1RGtjdHFudnhodHZyRm1OQmRBZzNEYy9adnNKb0lGRE85cloKV3NTN2lFa0tCc3hvTjZG
bUJ0Q29kZjVXNzI5bEFJK3l0bU9HbFFvZ2FMSFJBQkh4ckRzVW0rWjI1M2cveGhGd0JCd0JSNkM1
Q1BRWgpBYVM1bCsyMU9RS09RS2NnZ0prbXdTc3c2VVFJd0NHOVhzTE1FU0pFcnhIYUVQd0ZpSGFV
RG1TTmgyV25COUNJMjlxT2RUUk5yUXpnClVYWk5DQ0N4RDhqbGwxK3VmaTZZM01ZaGhNdU85M0pI
d0JGd0JCeUJ6a2ZBQlpETzd5TnZvU1BRYnhIQWY0dW9SSVNmSmRTcitYMXgKd1FTT3dBOHEvbUZp
aFkvSWdRY2VtSnM3d292bUlpYkM5NktCeERtNmpEb2xnRVpaKzNxcjNJSmV4RnFDM2dqZ1VYWjlD
Q0JFc3NKVQpsWDZsRHdtN2E2R1h5NDd6Y2tmQUVYQUVISUcrZzBDUGZFRDZ6bVY2U3gwQlI2QVRF
U0M4S2dJSXM5ejRpSkZVRHo4b0hJNlpmUy96CjR5QzRBK2FPcGdGSmszemlVMFdVS25KS1lLYVZt
bTEyU2dDTmR2ZEp1d040RkYwL0pxd0VJOEc1SHFFREU3YzRpRWpSTVY3bUNEZ0MKam9BajBMY1Ft
RTNVN0pVZW5WWGFQOXN4czRYczZMclpxOVRrdTVxRmdQZEpzNUQwZW5vRGdmUitKVmdEZ1NVUUpw
cE52TnFvbjlDcwo3YVE0Z0FaQk5WSmhxSjF0ODNOWFJ5QzlYNnR6KzE1SHdCRndCQnlCZWhGd0RV
aTlTRG1mSStBSU5CMkJPZWVjcytsMVdvVkVrbXEzCjhFRmJFRGdJb09Ia0NEZ0Nqb0FqNEFnNEF2
OUJvR0VCaEJraEowZkFFWEFFSEFGSHdCRndCQndCUjhBUmNBUzZnMEJEQW9pYlgzVUgKWWovR0VY
QUVIQUZId0JGd0JCd0JSOEFSY0FRTWdlWWJYbHZOdm5RRUhBRkh3QkZ3QkJ3QlI4QVJjQVFjQVVj
Z1FjQUZrQVFRMzNRRQpIQUZId0JGd0JCd0JSOEFSY0FRY2dkWWg0QUpJNjdEMW1oMEJSOEFSY0FR
Y0FVZkFFWEFFSEFGSElFR2dJUitRNUZqZmRBUWNBVWVnCllRUThrRVhEa1BrQmpvQWo0QWc0QW81
QXYwS2dvVHdnL2VySy9XSWNBVWZBRVhBRUhBRkh3QkZ3QkJ3QlI2RFhFWEFUckY2SDNFL28KQ0Rn
Q2pvQWo0QWc0QW82QUkrQUlERndFWEFBWnVIM3ZWKzRJT0FLT2dDUGdDRGdDam9BajRBajBPZ0l1
Z1BRNjVINUNSOEFSY0FRYwpBVWZBRVhBRUhBRkhZT0FpNEFMSXdPMTd2M0pId0JGd0JCd0JSOEFS
Y0FRY0FVZWcxeEZ3QWFUWElmY1RPZ0tPZ0NQZ0NEZ0Nqb0FqCjRBZzRBZ01YZ1liQzhIcjR6SUY3
by9pVmR4K0I3T2lzcm9QOSthb0xKbWR5QkNvUXFQZjVxampJTnh3QlI4QVJjQVRhaWtCREFnZ3QK
OVpkOVcvdkxUOTdIRUdoVXFQRG5xNDkxc0RlM3JRZzArbnkxdGJGK2NrZkFFWEFFSElFY0FUZkJ5
cUh3RlVmQUVYQUVIQUZId0JGdwpCQndCUjhBUmFEVUNMb0MwR21HdjN4RndCQndCUjhBUmNBUWNB
VWZBRVhBRWNnUmNBTW1oOEJWSHdCRndCQndCUjhBUmNBUWNBVWZBCkVXZzFBaTZBdEJwaHI5OFJj
QVFjQVVmQUVYQUVIQUZId0JGd0JISUVYQURKb1dqdXlsLys4cGZBeitoLy8vZC9iYlZIeS8vN3Yv
L3IKMGZIdFB0aHd5YkwvUklaNisrMjMyOTBrUDM4RENMVHkvck43dzVyVHJHZkc2aHNJUzhQUW42
K0IwTnQralk2QUkrQUk5RjBFR282QwpGVi9xYjM3em0zRDAwVWVIWjU5OU5uejcyOThPWC8zcVZ3
TWZ2di8zLy81ZmVPU1JSOEpYdnZLVjhMM3ZmYStRNSs5Ly8zdDQ5TkZICnczTExMUmNtVDU0Yy92
dS8venNjZGRSUjRiSEhIZ3VycmJhYS91YWFhNjR3MjJ5emhhOTk3V3RoeXkyM0RJTUdEWXBQMzNI
ckRNNE8KUFBEQThPS0xMK2J0QjRkLy8vdmYrcnY3N3J2RHJiZmVHazQ1NVpSd3h4MTNoQlZYWEZI
NVB2M3BUd2QrWC8vNjE4TysrKzRiNXBoagpqdEpyMjNubm5jUHBwNSt1dUpVeWRkaU92LzN0YitI
SFAvNXhtRFp0V2hneVpFajQzT2MrRng1Ly9QSHczbnZ2QmZZOThjUVQydUxmCi92YTNlZyt3NzV2
Zi9HWTQ1cGhqd3ZEaHc4TmYvL3JYOExPZi9Tejg5S2MvMWZ1Qjh2MzMzejg4OE1BRFduN25uWGZx
dlhmUVFRY3AKZmgxMitmMnFPZFh1dis3YzIvVThNeW1BL3Q2cFJNU2ZyMG84Zk1zUmNBUWNBVWVn
RHlBZ0FrUGRGQ1lnWDFUU3hJa1RtY3JPSG5ybwpvWW9kTW51WmJiMzExbHBXeGlNZnptemt5Skg1
Y2VlZGQ1N1dkZE5OTitWbGI3NzVacmJmZnZ0bEN5NjRZSGJmZmZmbDVaMjI4cWMvCi9TbGJiTEhG
c3U5ODV6dlpQLy81ejd4NUlueGtoeDEyV0NaQ1ZGNzIrOS8vWHEvenROTk95OHYrOEljL1pDSnda
ZC8vL3ZmenNuVGwKK2VlZnowUWd5Mzc0d3grbXV6cDJHMXkrL09Vdkt5NGlkRmEwOCtjLy8za213
a2hGbWQwRFYxeHhSVVU1RzEvNHdoZXlGVlpZb2FMYwpzQlJCdUtLOFV6YUtucG15dGpYQ1cxWkhL
OHZydWYrc1ArcTV0eHQ1WnRMcktudW5ETVQzamo5ZjZkM2gyNDZBSStBSU9BS2Rqa0NQCk5DRElW
OHhtUTJncVlwcG5ubm5DTDMvNVN5MHE0MEhESVlQUS9ERGpReHRnSklQTzhJdGYvRUpueXpmY2NN
TWdBNXl3MWxwcjJlNTgKZWVXVlY0YmJiNzg5N0wzMzNtSE5OZGZNeTlFKy9PaEhQd29mZnZoaFhz
Yks3TFBQSHI3NHhTK0diM3pqRzJHTExiYkk5NkdKdWVHRwpHL0x0ZUlXMm5IRENDWEdScnYvclgv
OEtJbmlFVDMzcVUzck5jODQ1Wjg0RExqLzV5VS9DMDA4L25aY3RzTUFDdWg1amh2YUR0cUFsCkth
TmYvZXBYcWxINjlhOS9yZTJZZDk1NXkxanpjaG5rS1g1ang0NE5TeTIxVkY3T2lnenlGVS9hOGZu
UGYxNDFWcnZ0dGx1WWUrNjUKSy9oKzk3dmZoV2VlZVNhZ1lZZ0o3UTU5ZlBMSkorZjNRYnpmY0tI
K2M4ODlOOURmTWRFdmFMeGlzbnZBbHVtK3ROeXd0R1hNei9ySApIMytzbXBQQmd3ZUhUVGJaUkhk
em4weVlNRUcxSmtjZWVXUllacGxsdEx6UmUrV3FxNjRLTTJmTzFIc3V2VGF0c0FsLzdleS90UG4x
CjNIL1dEN1h1YmJzMzZuMW0wcmJZZlJDZkI1NkIrTjd4NXl1OU8zemJFWEFFSEFGSG9PTVJhRVJD
S3BxaFBmdnNzM1UyZjhxVUtYbFYKelBxTHlVMitYY1REVGpHanlYbFlFZE1LclVzR3ZCWGxiSWh0
cys0NytPQ0R1K3lqZ0xyKzY3LytLeFBoSlpPQmNjNkQxa1E2b2Vydgp4Qk5QelBuRmxLeVVkODg5
OTh6NTRoWGF5em1xemNJek0ydUV0Z04rTWFXeW91ejk5OS9QRmw1NDRlend3dy9QeStJVk1Xdkx4
Snd0CmUrV1ZWekladEdVaWxNVzdTOWZSTW9pd2xZbXdrajM4OE1NVmZNc3Z2M3lYYTExMzNYVXJl
TmpZWjU5OWxPL1FRdyt0MkNkQ1JmYVoKejN3bSsraWpqeXJLYmVQR0cyL1U0NDQ0NGdncnFybXNk
ZzhzdmZUUzJkcHJyMTFSUnhHV01ZTUlJSHI5Y1I4ZmUreXgyU3FycktKdApZL2JZcU5GN1pZODk5
dEE2UkpETlJERE4zbm5uSGFzcVh4WTlNL25PWktXSXQ1MzlGemV2M3Z1dnFEK0s3dTFHbjVtNExh
d1h2Vk1HCjJudkhueSt4OTUzUVZTdWYzaXUrN1FnNEFvNkFJOUI1Q0RUTkNaMVo4a3N2dlRTY2Yv
NzVZZGRkZHcydnYvNTZGK0hMZUM2NjZLSWcKWmtSQkJueGRlTW9LdnZTbEx3VXh3eW85QnI4SVp1
bVppYjdtbW12eWFtUkFyWDRwQW4zRmtobFlIRFkzMm1pamNQWFZWK2Y4ZDkxMQpWd1dmT2NMZWNz
c3Q0WUlMTHNqNTRwVS8vdkdQdW9uUFN4blp6SEM4WHdacmdWbjBrMDQ2S1F3ZE9qUnNzTUVHNFlB
RERvaFo4blg0ClJvd1lFWlpjY3NtdzZhYWJxbFlqMzFsbEJTM0RrMDgrR1VSUUNHSVdVOEhKN0xy
aElvTm4xZFRjZi8vOUZjN3pISUQyUW9RUWJTZWEKRkNOOFhmQmpRWnRVUktiMWtVRitsOTJ2dmZh
YStzcFFCei84aG1MQ3IwZ0Vwb3JmUC83eGo1aWxyblcwYVlzdnZuaDQ0NDAzY242MApIdmlkaUts
ZkVJRXUxOEp3cjl4Nzc3M0t4LzFyMkpUZEs5ekgzTk5pSmhqR2pSdW5HcFgwT3ZLVGRuT2xuZjBY
TjduUis2L1d2ZDNkClp5WnVFK3YyVGhtSTd4MS92dEs3d2JjZEFVZkFFWEFFK2dvQ1RSTkFjSnpH
OUlpQkxzdlVOQUpBWWg3NEdpV0VrQmRlZUtIMHNFSGkKcEw3R0dtdDBHVUFYSFlEcEIvVnR2UEhH
YWtaVHhGTnYyWi8vL0dkbHhVU3JFUkxOUVpneFkwWmdzSWFqdGZpT2hMS29VRGhvbXdrUgp3Z0RD
QStabzlaQm9Pc0x1dSs4ZUhuend3VkwyK2VlZlAyeTMzWGE2bjdha1JIOHV0TkJDNnZSOTFsbG42
ZUNjd1I5Q1V4a2g0RUdZCnVxWDAwa3N2QmZIL0NhTFZVQk9wMUVRT1V6Uk14T0lmVHV2ZElRU2dX
QUN4T2piYmJMTkFuMkdTVlkycTNTdVlZSW5tS2lDNEVvQ2cKRmFaWTdlcS9HSk5HNzc5YTkzWjNu
NW00VGF6SDc1U0I5dDd4NXl1OUczemJFWEFFSEFGSG9LOGdVRHgxM1kzV28wa2djaEhFWURlZQpL
YmZxWXA1ZGR0bEZJeVBadmxwTGJQa1JQb3I4UCtKalAvdlp6NFlQUHZnZ0x0TGppS0tFLzRiWmpo
c0RmaFJFa2VrSklmaEFOcWpTCmpUcis4UGtnbWhNL1p2ZE5DOEtzZkt4VklDclVXMis5bFd0Z3dJ
TEJGb0lBMGNmcUlmb0dMWkdZdzRReTN4RXJSeHNTRTl0b3Q0amMKSmVaTHFxVkJxNEtnSWlaak1X
dkZPdEhMb0NKY3VGWUVIaUtoU1pDQlFML0ZOSHIwYU5YMHhHVUlQTjBodEVZSVBDa2hWQ0g0SUZq
VgpRMFgzaWdSZlVOOGQrcUhldnFqblhDbFBPL3JQMnRDZCs2L1d2ZDNkWjhiYVpNdjRuVExRM2p2
K2ZObGQ0RXRId0JGd0JCeUJ2b1pBCjB6UWc4WVV6c0JPYis3aW9jSjJ3cXZYU2M4ODlweG9Dd3Jo
V295TE5Dek9GbUJHbGdnbjF4QTd2MWVxdHRrOGlNK2x1dEJMZEpmRmYKQ1R2dXVLUE8xT01JSHhO
dEo1d3hzL1g4ME54c3M4MDJHcjRZVTZaNmFLV1ZWbEkyY0N3and3TFRvNWd1dWVRU2RkVEd1Ujlu
LzJXWApYVlpON2NhUEg5OUZvSXVQVzNubGxYV1Q4THRGWkdacEp2Z1U4VFNqckV3RGdna0xXcFYx
MWxtbnJ0TVlQakV6bXBWVXFJMzNOMnU5CkhmMW5iZS9wL1ZkMGJ6ZmptYkgyMlhLZ3ZYZjgrYktl
OTZVajRBZzRBbzVBWDBPZ0pRSUlJRlRMWldFZ3djUHMrR1dYWFdaRmhVc0cKeE9MSXJLWThhU1Nt
d2dONnVSQXpKS0pZNFJOUXBrMUJhMUdMVEhqQzU4Q0krdENJRUdVTGpZSDl3QU0raXpSbS9FVkxv
anNSd1FqQwpUNlpSUXZPQmFSdUVxWlk0djZvL0R2bGJxdEY2NjYybmczc0VtRlltc0t2V0J2WWhn
Smk1aXZIU0g2TkdqVktoRDRHcXV3UzIxbS9kCnJhUFdjZTNxUDlyVmpQdVBlZ3dqdTdlYjljeFFk
MHdENmIzanoxZmM4Nzd1Q0RnQ2pvQWowSmNRNkxFQVlrNjMxUWFZdGkrMTg4Zm4KQVZNYk15VXdQ
aHVrQU9UTEw3K3NwbHJZb0NPb0xMTElJaDJITHo0Q2hCUEc3bDBpWmVtc2V0eElya0dpZDJsSVdN
ck5zVDBXU3NCeAowcVJKYWc0MGJOaXcvSEFFQjV6T1UyTDJreDhDeUx2dnZwdnV6cmN4M1VKb0lY
UXYyaE5NcHhvbEJDRDhISXhJT0huaGhSZXFEd3BDClZ4bUJDOElIQTJqSmI5SUZGL28vcFdyM0Uy
WnFkby9ZY1lhbExhMDhYaUtBY0t6eG9QbFlmLzMxRld1Y2x6dVoydGwvNE5Mby9XY1kKMTdxM0cz
MW0wajZxZHA4WXI5MHIvZm05NDgrWDliWXZIUUZId0JGd0JQb1NBajN5QVNFanNRMUFNYWZDMUNJ
ZVBBTUVFYW53SDRDdwo5VjkxMVZWMW5jSEIxS2xUYzdNcTdQdHROaC9USG9RTkloR1Jrd0p6RGN5
YmNGanVWUHJXdDc2bHp1VGtJZUVhR2VCaW1rT2VDK3ozCk1VbkRyd09IWi9KbVFHZWVlYVplRjJa
VUROd1F4SzY3N2pyTnljRitoSWJqano5ZU1kMXFxNjBxOG5qY2R0dHRnV3p5REZEUmpweHoKemps
ZGhETXd4WFNMMldjYzF2SGZ3T0VkQWsrT2ljbE0xTTQ0NDR5QWVaU0VxdFhkcVFCQ0llM0JEQXhm
bjgwMzM3elEwUncraEJXMApMdmlLb0VYaC9pQmEyS3V2dmhxSWhJUnZqdVVud2ZRTXZ4WUliUERO
d01ZZlh4UGF4UDNBdFpCWGhlaFErRjl3UElUd0pva2dWYXVoCkJkRWZBZ2dFVGtUY3dnd05nVkNT
MldudWxvaTFvMWJiM1grTjNuOElkdlhlMndCZDd6T1Rkb3EvZDJZaDRzL1hMQ3g4elJGd0JCd0IK
UjZBUElTRG1UWFZUNkFNeDEyVzJQOXQrKyswcnJrbENxK0xVa01rQXRxS2NEVEp2aXc5Q2wzSXJF
TUZBajVVd3ZGWlVjeW16czVrSQpIcGxvR3pMVzIwVmNHM2xOeEU5Qm0wQ3VDcTVWWm9Rek1XWFQ2
d0tYOUVmZUVCRnM5Qmh5VzdCZmhNZ3VseUdDVXlZaGJydmtGK25DCitFbUJhTFl5Y1FiUEpNUnVK
alBrWld4Tkw2Y1B5TEVpRWM4eThzaFU2OHRHN3hXSnBLVlozc3NhM2NnemsvSjJXditWWFdNenlq
dmwKbWVudXRYVENlOGVmcis3Mm5oL25DRGdDam9BajBOc0l6TVlKWllCWkY4MTJ6R3lTYmE5dTly
cnFkS2JXSVlEcENWb1h6RjFhUlpnMgpvZmx5S2thZ2tXY201ZlgrSzhiVVN4MEJReUI5WnF6Y2w0
NkFJK0FJT0FLZGpjRHNuZDA4YjExUEVDQlViNnZKaFkvV0llejkxenBzCnZXWkh3QkZ3QkJ3QlI4
QVJhQjhDclpzYWI5ODErWmtkQVVmQUVYQUVIQUZId0JGd0JCd0JSNkJERVhBQnBFTTd4cHZsQ0Rn
Q2pvQWoKNEFnNEFvNkFJK0FJOUVjRVhBRHBqNzNxMStRSU9BS09nQ1BnQ0RnQ2pvQWo0QWgwS0FJ
dWdIUm94M2l6SEFGSHdCRndCQndCUjhBUgpjQVFjZ2Y2SWdBc2cvYkZYL1pvY0FVZkFFWEFFSEI2
WjIwc0FBQ0FBU1VSQlZBRkh3QkZ3QkJ5QkRrWEFCWkFtZHN4Zi92S1h3TS9JCnNrTGJkbmVYbHRH
NXU4ZTM2empEd3lJOXYvMzIyKzFxaXArM2h3aTA4aDYwKzhTYTJLem54dXJycjB2RHpaK3YvdHJE
ZmwyT2dDUGcKQ1BSZkJIb1VocGVNeEVjZmZYU1F4SEpCRXQ1cDFtcytocEpVTER6eXlDT2E4WnBN
M0VVOFpQRis5TkZIdzNMTExSY21UNTRjeUlKOQoxRkZIYWVidzFWWmJMZkNiYTY2NU5QTTFHY0sz
M0hMTE1HalFvSTdyQ1FabUJ4NTRvR2JZdGpaejdmLys5Ny8xZC9mZGQ0ZGJiNzAxCm5ITEtLZUdP
Tys0SUs2NjRvbDdicHovOTZjRHY2MS8vZXRoMzMzM0RISFBNVVhwdE8rKzhjemo5OU5NVnExS21E
dG54dDcvOUxmejQKeHo4TzA2Wk5DME9HRE5GczhJOC8vbmg0NzczM0F2dWVlT0lKYmVsdmYvdGI3
Vy8ya1NuK21HT09DY09IRDllczUyUTMvK2xQZjZwOQpUL24rKys4ZkhuamdBYzE2ZnVlZGQrcDlK
b2tVRmJjT3VleCszNHhxOTJCMzd1OTZucHNVVkgvZkJIMkcvUGxLN3d6ZmRnUWNBVWZBCkVlaHpD
SWpBVURlbG1abzVjT0xFaVpvcCs2R0hIcXFvaHd6aVcyKzl0WmFWOGNpQU5CczVjbVIrSEptZkJj
RHNwcHR1eXN2ZWZQUE4KYkwvOTlzc1dYSERCN0w3NzdzdkwwNVZKa3labGUrNjVaeGEzZzh6QUhQ
djk3MysvNGpkNjlPaE1oSjJLODh5WU1hT0NKejFtK3ZUcAo2U216UC8zcFQ5bGlpeTJtbWJELytj
OS81dnRGK01nT08reXdUQVNudk96M3YvKzlYdHRwcDUyV2wvM2hEMy9JUk1qUzgrYUZ5Y3J6Cnp6
K2Z6VGJiYk5rUGYvakRaRS81SnVjZk5XcFVKZ1BETGt3aUdPVFhLUVA3N01RVFQ4dzRSMHgvL3ZP
Zk14R0tzbmZmZlRjdTFuVncKRVVHcVN6a0Y0UEhsTDM5WjhSQUJzNExuNXovL2VmYTV6MzJ1b3N6
Nis0b3JycWdvWitNTFgvaEN0c0lLSzFTVUc0WWkwRmFVeHhzdgp2dmhpdHRkZWUyWHgrY2VORzVj
TkhUbzBPL0xJSS9QTTlDTDQ1RGpFZlQxbXpKaU1qUEZrYXplU21XYkY0K1dYWDdhaXVwZEZ6MHpa
CndVVzhmL3pqSC9VZUpvTjhTaUw0NmpWd1A0UEp6VGZmWE1GQ3RubXVmZXJVcVJYbGJKeDc3cm5h
OTExMkZCVFVjdzlhMzlSemZ6ZnkKM0tUTktYdVg5TFgzRGRjMVljS0V3bnVRKy9HYWE2NUpMOTJm
cnk2SXlHelhoRkJRNmtXT2dDUGdDRGdDblk1QVEyL3ZvcGY5MldlZgpyUVByS1ZPbVZGd3JBM0lH
OVZBMW5wa3paK2JIeVF5bjF2VzczLzB1TDdPVjNYZmZQZnZNWno2VFBmamdnMVpVc1dRd0xVbnhN
dEVxClpLS0IwSDBJTEFnMDFYNE13Q0ZyWXhIdjV6Ly8rZXlqano1U1B2dGpjTGY2NnF0blN5eXhS
RDZvdFgwc0VYNjIyR0tMdkFoaGc3cEYKazVHWHNmS3RiMzByVzNycHBTdks0bzFERHoxVUJhdjU1
NTgvRXkxQ3ZLdDAvWmxubnNrV1dtZ2hQUitEbkpnUXZOSnJGTzFMOXNvcgpyK1Jzb28xU3JMbSt0
OTU2S3k4WEV5bzk5cnJycnN2TGJNWHdFQzFWeGVEZjlyUGNZNDg5NHMyc1duK0R5ZHBycjEzQlg0
Wmh6SFQxCjFWZHJHeEZFSU5xMXlTYWJaRi84NGhlMWZPellzVnIrb3gvOXFBc09NUzdjUndocjBB
MDMzSkJKUm5uOWZlYzczOG5BdDE0cWVtYksKamkzaVJYRGozUFBPTzIvMjhNTVA1NGMrOWRSVGhl
MC80NHd6Y2g2ZUxkRXdadlBOTjE5MjExMTM1ZVdzckwvKyt0bE9PKzFVVVZhMgpVYzg5V05ZMzZm
MXQ5MG05ejAzYUpudE8rL3I3aHI3NTFLYytWZGlIM0llMzNISkx4YVViYnY1OFZjRGlBa2dsSEw3
bENEZ0Nqa0NmClFhQWxQaUJ5OVVFMEFHSGhoUmVXYjJrNUhYTElJVUVHaHVVTTBSNU1ja1NvQ2Rk
ZmYzMVVPbXNWRXlVWkdLclpsc3dlNm81MTExMFgKQWF2TFQ0UUQ5ZFhZYUtPTmdneFlsUmN6cUpS
M2d3MDJDS0pWQ2ZndXlDQncxc2xrN2JiYmJsTXpNL1lYWlFPWHdVWDQ5YTkvWFhGTQp1dkhCQngr
b3FkS09PKzZZN3RMdGYvempIMnFTSkxQYjRmMzMzNjlabjFXQ1dadG9iTUttbTI0YVRqcnBwUERo
aHgvYUxqVjFzdXVrCmZzemdSTU1TWkpDZDgyeTIyV1lCRXluMllWcjN6anZ2NkQ0WjFPdHlsVlZX
eVhsdFJZUkd4V08zM1hiVFByRHllSG5SUlJmRm15MVoKRncyTTF2dkdHMi9vRWpNMzBRd0UwZW9F
ekFIdC9wR0JmUkN0VWxocnJiVXEraDFNTUJNVFlUZm5GVTFlRUMxQVdINzU1YlVQTUtNRApuOTRn
RVpUQ2swOCtxZTBSN1VKK3lwVldXaWx2Ti9jejF5ZUQvZngraHBGbjY5NTc3dzJMTExKSW9FL3Z1
ZWVlL0hqNkV2Ty9XdFRkCmU1QjZpKzd2Wmp3M2Fadjc0dnVHdnFIZjdGbGtLVnFwSU1LaWxtR09H
Sk0vWHpFYXZ1NElPQUtPZ0NQUTF4R29IRlgzNEdyNFFENzMKM0hPQkFZdVlZd1Nac2V0U20vR3dq
OEd0bUV0MTRTa3IrTktYdmhURURDdUlWcU9NSmNqc1lGaGpqVFVxSE1HTG1CRU9xRy9qalRjTwpN
bU5jeEZLelRFeGpsT2NyWC9sS0tlOENDeXpRWlovTUZJZXJycnBLQlFTRUg0U2NBdzQ0b0FzZkJm
Q05HREVpTExua2tpcE0vT0lYCnZ3aGlVbGJJbXhiT1BmZmM0WWdqanREQk4rY0VsNVFZWkE4ZVBE
ajgvL2JPQTh5cTZ2cmJlMlpncUlxSVhhTWlZaTlZc1A1UkZPeTkKbDZpSlJNWFlZbzhkOVZGaXgy
aU1ZcStKaXNiWXNXS0x2WDJQeG9JMWxrUlJHTm93dzdUenJkKytuanZuWG00NXc5d1p6bHplL1R6
RApQV1dYdGQrOTcyV3ZzOWRhUno0MjlrUTI0N1lZMmE2TDkrK1JERnJFYTlFOWNPQkE3OXVUa2Rs
T1B2endRMzhwVkFDaTk3Lzk5dHNNCkpXaTU1WmJMVUZMa1EyUzdUTkVpZmg1bFhJaDVFcll2Qjkx
b2tnTDU2MS8vMmtrSk1sTXEzNC9vL2ZCWVRLUmdTY21JTXJFZENQZjUKNTU5N0JjUjJIOXl3WWNQ
Q0loMytLY1hIZGdDZDdUemxiRXRqSmFZalI0NTBkOTExVjBZZU0zdHpaa3JuRjdaNzdiV1hzeDFF
Wjd0NQpUbU9pdVZjc3RYVU9GcHZmOC91OXlaWXovQzFaV0g1ditINWx6d0RPSVFBQkNFQ2dLeE1v
MlE2SW5LaXJxNnY5azFwOTZxbDZkb3JtCjBVS3ZyVWxLZ3hhQmhWSy9mdjM4azljd2ovSnJkME1P
ME5sSmk4cGMxN1B6NVRyWEUyY2w4MVhJZFR2dk5TMyt6RFROYWFFMlpjb1UKdjZ1VEx6cVVGdnht
UHVUckdqMTZ0RFBiZWEvYzVhMDg2NGFjd0xYd1ZybENTUnpDWFk0dzMxLys4aGRuZmlUT1RGNmNI
TDkvODV2ZgplR1ZOVCtGempXMjQ0TSsxbzJYK0M4NThmWnlaVlhubjh1aU9qTnFUbzc3NWdXVDh5
V2w5ZnBMYVYvQ0NjQWNrV29mWUswbVJMWmIwCkpEcktST09sNEFyNzdiZWY3NFBtV1djbU9lcC84
ODAzZmljc1g3dTV4dkhCQng5MFVrYWxlRWhSMFU2SW1hRTVNNzl5UTRjT3pWZFYKK25wYjUyQ3gr
VDIvMzV1MFFMOGNSSDlMRm9iZkc3NWYyVE9BY3doQUFBSVE2TW9FU3JZREluTW1MWktVOUxSV2k1
enNGTTF6OE1FSAorMmhKMlhueW5XdlhSTXFFVEdZS3BlekZzZjdqbG1tRGRnUDBORGlhWko0enYw
bTdMVXJoZ3NxZnhQaEhpejVGZGRLZm50NmFjN1IvCkVtMCtHQmxtWG9vT1pmNFg3cFpiYnZHMXF2
OWFhRWt4a0ZsVW5DUWxUNHQrN1RBVVN1SWdFNUF3NmVtNEJRTHdpc3Znd1lPZG5sckwKeEczTExi
ZDBNa2ZLbGJTTG9wU0xoL3E0OTk1NysxMHY3ZUJrTDk3TmlkcnY4RVRyMVJQdStVM2FNY3FsZ0Np
U2xzeU90TE5UTEdteApIbVdpZVNSVHUxem1kc1hxS3NWOW1Wd3BhWmRSdTFhNVVyYk15cU5kTTNO
cTl2TkF5b2krZzVwcitpdVc1bWNPRnB2ZjgvdTl5WlkxCitsdXlNUHplOFAzS25nR2NRd0FDRUlC
QVZ5WlFzaDJRS0FRcEFlYmNIYjJVODFoK0hYR1RGbDd5QWRGVC9TUWtpOURreFNpMnUxQkkKVmkx
bTVmK2h4YkxDRUVlVGxDYjVMR2lIUlgvYS9kbHp6ejE5eUdJcENIR1NPYko2VXh2NXhyUWxhVWRD
VDlPbGZDZ3BoTEIyWXJRTAo4UFhYWC90cjJmK3N1KzY2L3BMQzcrWktvVG1hNnUzb0pET3NiQVZF
NDZUd3ZoWUphNzZhbDczK2drb0s2WHp6elRmNzV0c3lsbEp3ClgzbmxsZlJPaHhSQjdXaXB2a2Nl
ZWFSb2Q5bzdCM1BONzFKOGI3SUZYeGgrYi9oK1pZODY1eENBQUFRZzBKVUpkSWdDSWlBeWtTaVcK
bEVkUHpPKysrKzZDV2ZVa1dqc1lNcS9SK3grU2tHUS9yNmZwOGluSVo4YVZ5dzhtVy9ad3h5YTZ3
RlY5ZWtKdEVaZjh6b0YyRC9RbgpCc28zZnZ6NDdHb3l6clhBbEttVTNwMGkzd0Q1TExRbHFXMHBQ
R0hTRG9tRk9mWktTVDRmRlBsRWFJZmtqanZ1Y0IzNTBycFFwa0tmClVrQkNreFhsdStlZWU3eS9q
NVJpK2JOMHBhUmRNSTI5QWhwSUVaVkRldHdra3kybGFEQUk3WWJJRjhiQzg4NmpwRVhyYmU4Y0RP
dksKbnQrbCt0NkU5WWVmNWY1N3cvY3JIR2srSVFBQkNFQ2dIQWkwV3dHUlhieFNvVVZuZUMvYjls
ODdHaksvQ2MwTHduelJ4YmdjaHZYaQpMZG1pUzFGUlJKOGtKSm03S0pLU2JONFZDU3ZiWjBGeW4z
YmFhV2xuL1BEdHpsR2xST3kwc0xlUXVXNzQ4T0hwYnVscHR5SllaU2M5CkJkV2ZGQkE1RnVkS1V1
ajBwRnVLbW5ZdUxyendRcjlyb1FXbEZEbVp4aW15VXZSUFBocHk3cGZ5b0NRRkpMcG8xVFdacjEx
MTFWWGUKR2YzZWUrL1ZwWXdrSGlvdjVVZUwzR3dlR3V2c1ZHanU2T2w5T0IvQ2NpSEQ4RE84bnYw
cEJVU1JySGJaWlJldlNDbmExYTIzM3VycwpIUi9aV1JOOUxqTTBPY05ieUZudis2TW9WOXFGVXRK
M0lUcUdPcGFKbGFLbDZjV1lHb2ZRekNxcVRLcXN4bEZLcGJqa1MyMmRnK0dZCkZKdmZiZjNlWk10
WGFNNkVlY041VTI2L04zeS93aEhtRXdJUWdBQUV1anFCZHZtQTZNM0VZV2hWbVZQSjVDSzZrQllj
aGNRTkkvUG8KNmZtUUlVTThNeTBTN0FWcGFiTXFMYmJDSi90bm4zMjJYMkI5OTkxMzNvRldaaHN5
b1pFL1E1SlN1Q0E4OHNnamZiL3MzUXArb2Y3dQp1Kzk2ZnhnOWNaY1QrRFBQUE9NdXYveHlML3Ex
MTE3cit5SXpLaTNhcEh3cHVsRVlCVXBQdWkrNjZDTFBjZmZkZDgrSTFxUVFwbnFECnZKNkthM2Zr
K3V1dm4wY2gwNU5nUGZsV1hrVkZVcmhWS1I0S3g2cUZxTXlRY2lYdEdJUk8ycEl0MjA5RFplUzNj
L3Z0dCtjTkJEQm8KMENBZkN2bXNzODd5VWJjMEZ4UWxUUExJajBSdEs0cVdra3pPNU0raUpDWlN3
bVRYTDhkOFJTYlQyT3ZwK2NVWFgrd1gyb3FZRnNvdQpwYzFlQU9tZDVIMEZXZitvRGZHVXVaZVVE
cG01SlczdVpJbWM4MVRLcEJRUTdlQkk4WlovaFhob25MUWJGaW9ZMllYRldndjljQWNrCmV5eTFr
Nmp3elBJdmtxS1g3ZGZTMWptb0NFMXg1N2RramZ1OXllN1h3djU3dy9jcmUwWndEZ0VJUUFBQ1ha
VkFoUzFPVzcyUGkvU2kKNG9JS0Y0eUpuYjFJYmVWMVd3czUyZWRMNFpEdlJQYWlyak43bTJ0Uldh
cjI0OVlkUG9IWFUyZ3QvdHZqOEY4cTJSZEVQVzM1em1UbgpGVHZOSnlrVHBVNzYycXYrK1lsR1Yw
cFprdlM5S1dXL09yb3V2bDhwd3RuZm1ZN21UdjBRZ0FBRUlGQWFBdTNhQVNtTkNPVlJpeFNPCkRU
YllJQkdkNlVqbEoyN2RXalNIdXgySmdOSUZoVkRVczQ1SzJsMWEwTXFIK3BhazcwMUhzZTZJZXZs
K2RRUlY2b1FBQkNBQWdjNGkKVVBwSHE1MGxPZTFBQUFJUWdBQUVJQUFCQ0VBQUFsMk9BQXBJbHhz
eUJJWUFCQ0FBQVFoQUFBSVFnRURYSllBQzBuWEhEc2toQUFFSQpRQUFDRUlBQUJDRFE1UWlnZ0hT
NUlVTmdDRUFBQWhDQUFBUWdBQUVJZEYwQ0tDQmRkK3lRSEFJUWdBQUVJQUFCQ0VBQUFsMk9RSnVq
CllDbnNJUWtDRU9nWUFueS9Pb1lydFVJQUFoQ0FBQVFna0J3Q2JYb1BTSExFUmhJSVFBQUNFSUFB
QkNBQUFRaEFvQ3NTd0FTcks0NGEKTWtNQUFoQ0FBQVFnQUFFSVFLQ0xFa0FCNmFJRGg5Z1FnQUFF
SUFBQkNFQUFBaERvaWdSUVFMcmlxQ0V6QkNBQUFRaEFBQUlRZ0FBRQp1aWdCRkpBdU9uQ0lEUUVJ
UUFBQ0VJQUFCQ0FBZ2E1SUFBV2tLNDRhTWtNQUFoQ0FBQVFnQUFFSVFLQ0xFa0FCNmFJRGg5Z1Fn
QUFFCklBQUJDRUFBQWhEb2lnUlFRTHJpcUNFekJDQUFBUWhBQUFJUWdBQUV1aWdCRkpBdU9uQ0lE
UUVJUUFBQ0VJQUFCQ0FBZ2E1SUFBV2sKSzQ0YU1rTUFBaENBQUFRZ0FBRUlRS0NMRWtBQjZhSURo
OWdRZ0FBRUlBQUJDRUFBQWhEb2lnUzZGUlA2cHB0dUtwYUYreENBQUFRZwpBQUVJUUFBQ0VJQUFC
TnkrKys3cit2ZnZYNUJFVVFWRXBWVVJDUUlRZ0FBRUlBQUJDRUFBQWhDQVFIc0pWQVNXMmxzSjVT
RUFBUWhBCkFBSVFnQUFFSUFBQkNNUWhnQTlJSEVya2dRQUVJQUFCQ0VBQUFoQ0FBQVJLUWdBRnBD
UVlxUVFDRUlBQUJDQUFBUWhBQUFJUWlFTUEKQlNRT0pmSkFBQUlRZ0FBRUlBQUJDRUFBQWlVaGdB
SlNFb3hVQWdFSVFBQUNFSUFBQkNBQUFRakVJWUFDRW9jU2VTQUFBUWhBQUFJUQpnQUFFSUFDQmto
QkFBU2tKUmlxQkFBUWdBQUVJUUFBQ0VJQUFCT0lRUUFHSlE0azhFSUFBQkNBQUFRaEFBQUlRZ0VC
SkNLQ0FsQVFqCmxVQUFBaENBQUFRZ0FBRUlRQUFDY1FpZ2dNU2hSQjRJUUFBQ0VJQUFCQ0FBQVFo
QW9DUUVVRUJLZ3BGS0lBQUJDRUFBQWhDQUFBUWcKQUlFNEJGQkE0bEFpRHdRZ0FBRUlRQUFDRUlB
QUJDQlFFZ0lvSUNYQlNDVVFnQUFFSUFBQkNFQUFBaENBUUJ3Q0tDQnhLSkVIQWhDQQpBQVFnQUFF
SVFBQUNFQ2dKQVJTUWttQ2tFZ2hBQUFJUWdBQUVJQUFCQ0VBZ0RnRVVrRGlVeUFNQkNFQUFBaENB
QUFRZ0FBRUlsSVFBCkNraEpNRklKQkNBQUFRaEFBQUlRZ0FBRUlCQ0hBQXBJSEVya2dRQUVJQUFC
Q0VBQUFoQ0FBQVJLUXFETkNzaWNPWE5LMG5DY1N1cnEKNnR6WFgzOGRKMnVINVBuZi8xcWMvc0kw
YlZycmNYaHQ1c3pBL2VjL3pmNTAxcXpBMWRjSDRhMzBaNXc4NmN5ZGVEQjFhb3Y3N0xPVQo3SjNZ
Ykt5bXBreHBjYzgvMytoeU1ZOVZRUWRtU2pLMzluYTdXTithbXdQM3lTZkpuRE9GK2w1Ylcxdm9O
dmNnQUFFSVFBQUNFT2hFCkFoV0JwYmp0dmY3NjYrN2JiNzkxaXk2NnFMdmlpaXZjczg4KzY5WmVl
MjIzd1FZYnVLcXFLdiszL3ZycnU5Ly8vdmV1ZS9mdWNhdk4KbWUrKysrNXpSeDk5dER2MDBFUGRO
ZGRja3pOUFIxeXNxV2x4SjU5YzU3NzRvc1g2VmVWNjlYTHU3YmViWFl2cEh2cDc0WVZGZkxQZgpm
OS9pemppanp0L3YyN2ZDdmZ4eWs2dXJDOXpOTi9keG0yM1dMWGFlYUI5MjNYVzIrOWUvbXR5bW0x
WVo0d3IzNElPTmJzVVZLOTFHCkcxVzVIMzVvY2ErOTF1eHV1NjIzTyt5d0h0Rmk4MzE4N0xGenJE
K043dC8vN2pmZmRlUXIrT1NUamU3S0srdmRjODgxdVVHREt0MHAKcC9TMGVSRlA3aHR2bk9zVnVh
bFRBNmZqcjcvdTUzcjBxTWpYVktkZjcwaHUyWjE1L1BGR2Q5NTVkZTdkZDV2OWZFek55UXBYWVRo
VwpXNjNTN2JaYmQ3Znl5bFhaeGViN3ZGRGYzbnFyeVkwYVZldjY5NjkwTDcyVStoNUVHM3JxcVVi
N1hhaTMzNFVtKzEyb05IbTcyVytDCjgzL3JyMS9seDc5Nzl3VXpqaDk5OUpINzRJTVAzQUVISEJB
Vm1XTUlRQUFDRUlBQUJCWUVBU2tnY2RMOTk5OGZqQnMzTHAxMTBxUkoKVWx3eXJyMy8vdnRCcjE2
OWdpT09PQ0tkcnowSFcyNjVaWEQ4OGNmSHJxTGV0aCtlZi83NTJQbXpNMzcwVVZPdy9QSTF3V0dI
elE3bQp6bTFKMzI1cGFRbk9PR05Pc05wcTA5UFg5dHR2VnJESEhyUFM1dzBOTGNINjY4OElKa3lZ
bTc0V0owODZzeDFzdi8zTTRNc3ZtOUtYCmV2YWNGdnoydDdQVDUxZGVXUmVNSDErZlBtL3JRWDE5
aS9GcFNCZjcrZWZtWVBMazF2YlNOMHAwTUdsU2c4MlJhY0dZTVhOaTF6aDcKZGt2UXA4KzBvTGs1
eGY5Zi8ycU1YYmFqTW5ZMnQreCszSGlqdHRXbUJZOCsyanEzZnZxcE9Uam1tTnBnd0lDYTRPV1hT
OGVvMkp3NAo3cmphWU50dFoyYUxtRDRQeDN6Y3VMcjB0ZmZmYjdUZmhXbjJ1OUE2bDlNM08vRmc4
dVRKd1Zsbm5kV0pMZElVQkNBQUFRaEFBQUs1CkNNUXl3ZnJoaHgvY0paZGM0azQ4OGNTMGp0Uy9m
MzkvWEtGSHNiOGs3WDRNSFRyVW5xcS9FRjdLK0d4cWFzbzRMM2JTbzBjUGU5TGIKV24raC9JMk5q
WDYzNU9XWFh5NlVMZTg5bVpZY2RsaXRxelFpNDhmM2R0WFZyZTFLaG9zdjdtbFBuRnVmTkgveVNZ
dnRCclc0eHNiVQpCcEtlN0dwM1l0cTAxTGthaXBNbkt0REpKL2QwQXdlMnRoRzlwK1BSbzN2WWsr
WDg5N1B6MjRDbkwwbk9Rdyt0OVRzMTRjVUJBeXJkCjRNSHg2d3ZMUmVzTnIrWDY3TjgveFREOHpK
VW4rOW9ISHpTN2hnWm40NUFxdThVV3FkMms3SHdkZGQ3VTFNcE1iWlNTMi96S3ZOaGkKS1JaVlZh
MXpjb2tsS3QxMTEvVjJPKy9jM1kwY09jdDJ4K2I5Ym1YM0pVNzcrZWFFNmVDK2VEY2JEbjFIOHFW
d3JLTmYyL1hYNzJhLwpDOTNzZDJGZUdWWFAvTWlaci8xQzF3Y1BIdXlhbTV2ZDQ0OC9YaWdiOXlB
QUFRaEFBQUlRNkdBQ3NWWjM1NTU3cnR0Nzc3MkxpaUk3CjYwOC8vZFQ5N25lL3k4ajczSFBQbVJu
VDIxNlplUGpoaDIyQlA5NnRzODQ2UG8vOFBDNjY2Q0p2MXZYdXUrOTZCZWJVVTAvTktLK1QKOTk1
N3p4MTExRkZ1cTYyMjhvckdrQ0ZETXZKY2ZmWFY3cEZISG5HZmYvNjVtVTk5NGY3NjE3ODZMWlRQ
T09NTU05L3A0YSt0dU9LSwo3dEpMTHpXektiT3J5a3BQUDkza1RhM0dqT25wZXZac1hlaUYyYlFn
dnZQTzN1R3BPL0RBN3U3c3MrdmRkdHZOZHZmZDE4Y3R2WFRLCjVFUm1KMkdLa3lmTXE4OGRkaWhz
dHRhblQ0WGJjc3RVL1QvKzJHSjlxWGZ2dk5Qc1pzOE8vR0kwTlAyNjc3NEdyd2pKOStUaGh4dmMK
cTY4dTZxNitlcTd4YVRRK0xkNjg3THp6ZW5vVHI0Y2VhckRGNjZKdTBxUkdHNWU1Ym9VVkt0MmFh
MWE1c1dQcnpZek91U2VmN0p0VwppdWJNQ2R6cHA5ZTVwWmFxY0srODB1UVdYN3pDbTlsc3NVV1ZH
emFzc096cVg3RTJicjU1cm52Z2dRWmJrRG9uVXlBTjB4Vlg5UGI5Cms3bWJEYU9YWFdacGwxN2F5
KzVYbUdsU2s1ZDd5U1VyZlg3MTg0WWJlcnMzM21qeTlXeXpUVGN6WWFyM1prRFhYdHZieVZ6dWdn
dnEKdktuYjhjZjNjR2VkbFpvTHp6M1g2TWRmQzJjeEd6KytqODNScXFMYzFDL3h6eWRmc1Q2cmZI
dlNaWmYxY25mZDFlQTBqcHR2bnBvYgorZnJ5MkdNTjdvZ2o1cmhmL2FyUy9mM3ZmZHlxcTFhNU45
OXNjdnZ0Vit0dXVxbTNXM2ZkcW5SZG1oTktHdk5UVDYxenl5eFQ0Zjc3CjN4WXoxMnV4NzBmYkpL
NnREZXgzb2RsK0Z6Sk44UExKbVd0TUgzKzhyMXRycmFwMmN6N29vSVBjSVljYzRuYmNjVWR2TXRx
Mm5wQWIKQWhDQUFBUWdBSUdTRU1pMUxaSjlyVisvZm1iKzhXakdaWmxibVFCbUl2VGI0TjU3N3cx
c2h5VFlhS09OZ29NUFBqaVlNbVZLT3UvYwp1WFBOckduNXRHblUrZWVmSCt5enp6N3ArN1lRQ0Y1
NzdUVi9ia3FLci9PZGQ5N3g1OXR1dTIxd3dna24rT01iYnJnaHVPT09POUxsCmNoMnN2UExLd2Rp
eFk5TzNURmtKN3J6elRuL2UwTkFRYkxMSkpzR3V1KzZhdmg4OXVQeHljK0F3TTVjNzdvaG40alJq
Umtzd2ZMaXQKOEszTUVrdlVCSTg4MG1vZUU5WWJKMCtZTjlkbnRnbFdtS2VwcVNYWWFhZVp3Y3la
TGQ1VWFmVG8yY0dTUzlZRU5UWE5RV05qUzdEeAp4alBDck1GSko5V216WmxXWG5tNjhVbVpRMDJa
MGh3Y2ZmUnNMN3N5Ly9CRHN6Y3hXMk9ONmQ3VTUrdXZtNExWVjU4ZUhIbGtxOW5NCnRkZldCYWVj
VXV2ci91QURiUlZNQ3k2OXRDNVEzbHhKcGpmS2MvWFZLWE9jT0czY2YvL2NvTEp5V2taMVcyMDEw
OFl4TlM0eWRkdGsKa3hrMmppbnp0OWRlYXd6Njk2OEpoZ3laRVR6d3dOeEFMSjU5dGlIWVlJTVp3
Y0NCMC8yMU9YTmFBcG5EcmJwcXF2OHlNNUpaV0VYRgp0R0RhdEdadmJpZlR1OUE4N2Z6ejU5Z2Ni
VFd2SzhSTmdoYVNMMDZmTXpxYjQwUk14UEdKSjFyTjU2TFpaSWExMldhcE1aZnBZS0crCnlBeHE4
T0JXVTBMTmw0TU9TdlUxZTA2b2pWMTJtV1hmNzlUY2xsbmNjc3ZWQk50dGw5OEVLeHh6bVE2cTND
V1gxTm52d2d6N1haaHQKdnd2TmFiRUx5WmxyVEdVcVdBck8raDB3LzdUZ2pUZmVTTXZDQVFRZ0FB
RUlRQUFDblV1Z2dERkZTcjh4WmNMTm1ESERubm92bFZQaAprZW1UVExSTUlYSEthd3FIbXpwMWFq
cXZuTkcxZXlMekxLVUJBd2E0anovKzJCK2J2NGJmMmRoMDAwMzl1U2t3OXZUNkJyZlNTaXY1Cjgv
QWZYVk81d3c0N0xMeVU5ek0wMlpvNGNhSTlwWC9GZGlvTzlIa2x4NmhSbzl4amp6MW1UL3hmbTZl
OG5NcVZaTm9TSjhsSi9PbW4KKzdvenorenBhbW9DdCtlZXRiYnJVcDlSTkU2ZWpBSXhUKzYvdjlG
MmQ1dzNwNW80c2NrdHUyeWwrK21ud0J5RG05ejA2WUdOUmJONwo0b2xHWDl1UlIvYndlY09xUXo3
YU1kQVQ3OUJLU3pzNGNoYlh0VjEzcmJZeHFITGJidHZkbmx5bnVLaThuclFQR0pEYUhkTHV3SkpM
CnBvNlZOMDZLMDBaMlBSTW5OdnJkbGdNUHJQYTNaT28yYWxRUEc4ZEdiM2FrWFo4MTF0Q3VUYVhi
WjU5cW16OTkzSWdSM2QyUUlWWGUKWEUzWHRGT3k1NTdWRnEyc3hjYXJsL1doMHN3SlUxeDBUVHM5
ZSs5ZGJYTTAxUS8xOGVPUE15TTk1ZU5XVEw3NTZYTTJnMkxuMnAzUQp6cFpTc2I0Y2Qxd1BpM3pX
NHVSUXJpU0g4ZjMyUzdITm5oT3Z2OTdrNTlFT082UjJWclFMS0pPdk9NbCtGbnpnaFBmZmI3TGZo
UmI3ClhRanNkOEVtN1MrcGtKeTV4bFJCSWJUcmxtOGV4T1dzM3dHWmo1by9TQ2dLbnhDQUFBUWdB
QUVJZERLQm9xdnRMNy84MG91MCtPS0wKNXhSTlBoOS8rTU1mektUajcvNC9kVVhKR2pGaWhKbS9w
Qlk0V3JncGl0WDA2ZE85K2RPTEw3N29aczJhNWV0NjZhV1gzQlpiYkpIaAo1ekY2OUdpdmJJU05Q
ZkhFRStaL2NiR1pKKzBRWGlyNEdTNFUzM3p6VFZzZ0w1a1JqY3QyUUh4Wm1YTmxwNVZYVHFFSUZa
SHMrN25PCnRSZ2VPN2FYUlhycTZ4Zmp4eDViNXlaTU1BZUdTSXFUSjVJOTFxSHMvYldJcnJaMW8v
NWtsdlhNTTMwdFdsWTNyMER0dlhkM2k0NDAKMjVzeHFWOVIzNEdvYmI1WVpaNjdqUE5GTE5CUk5L
endJb3RVMktLL2RXRyt6REtWUG1KWExLRi95YVQyb20xbXQ1RmRsMHlFcE9pSQpZNWcyMlNTbEtM
ejNYbXFPU2NIUTRqbWFvbTNvdXRxSkppbUhTbExjVW5PMHQxZmVaTmIyNG90Tk5rZGJGOHZLRjYw
dnlpMk9mRzN0CnM5cUxtK1EvSWVWRENxRlNzYjdJSDBOUjFlNitPelZQRmJscWwxMWFsWXBvMytT
ekllVnVzY1ZhMmNxRUxjb2luNXhEaDFiWjcwSlAKKzEzb2E3OEwvYnkvMUlnUnM5TCtIc1hrekI3
VFVuSmV4Q2JEWjU5OWxrOTBya01BQWhDQUFBUWcwTUVFV2xjV2VSclNJbDVKT3h2RgpVazh6RHQ5
Ly8vM05WdnkvR1k2ZTh2a1lNMmFNaGJjOTJaNnFiK3NYU2Fycnh4OS9kQjkrK0dIQmFvY05HMmFM
N09vTUIvaUNCWDY1CnFmZVYvUHp6ejJhZlB6dWRmZDExMTNYZHpJczIxenNCWkYrdTlORkhyUXZz
ZE1Hc2c2Ky9iczVZb0c2OWRYZjNqMy8wOWJsQ0JTUk8KbnF4cVk1LysvSE9MZHdRZU9WSU95SzEv
eXkrZkdzNi8vYTJQTytHRUh1NzY2K2NhNzFsT3ZpQ2xTQ2VkMU5Qdk9zaFJmUExrWnRmYgpYR0xV
OTQ1TThrSDQrZWZBKzFtRTdXaVhSczdRYlhtMWc1N2VSeGZPMFdQVksvK1hNV1BxYlk3MjhEcy9X
aURIU2FXU0wwNWJ1ZkpNCm5xemRCZWVWaXZCK3NiNk1HbFh0N3IyM3djOWgrVHRGQXk2RWRlanp1
KzlhUFB2b05SM0hSSk11cGpiMjM3L2FmaGNDKzExSTdjenAKWmpFNTB4WFlRU2s1YTllMnR5WXZD
UUlRZ0FBRUlBQ0JCVUtncUFJeWNPQkFjenJ0NmMydzRrZ1lMdHdVYlVaSjhmZVBPZVlZLzk0UQpt
VDlFazB5dDlDUlNUdU5oTWdzMGI1WVZCeWVUTmdBQUlBQkpSRUZVbnV0cDVWMTMzZVhNLzhPY3Bo
OE1MK2Y5RE50Zlk0MDFmTVNiCnQ5NTZLNTFYSm1MYW1WbHp6VFhUMThLREVTTzZlUk9jMjI1cnND
ZmhyV1pINFgxOWh0RjZmdnd4Y0gvK2M2YTVsYUkxYWJkQmtiR1UKNHVUeEdlZmpIMFhLZXVhWnhv
emRDWEhUT3ozMHZoQnp3WEhqeHZWMkV5ZjJ0WGNmTlB2Rlp0aE1XeGVQWVRsOTdyeHpOeWVUTHBr
ZAo2ZDBva3labGJTdEVNNWZvZUkwMXFtd2NYZHBrU05XcWY5cGdrOWxWS1pLVXptT09tV056dEZm
R1RrdTA3bnpjT2tPK3FCelJZNDM1Ck9lZWtnZ0xvUFN0S2NmcHk4TUhWWGlrOS92ZzVicSs5TXIr
VDBmcVhXNjdDN3hCSjJXeHZDdm45OHJNUVM4NW9tNlhrckFjZks2KzgKY3JSNmppRUFBUWhBQUFJ
UTZFUUNSVmR3bFJaemM3MzExcHZIWm5yYXRHbGV6TkRVU2llS2FDVlRMTzJhREI4KzNOK1h2NGU5
UjhNcgpJbEpLWklKbDcrdndFYXEwV3lMbDV2REREL2QrSWNwNyt1bW5XNVNlWC9teXFsdUxMSmxw
S1pxVm9tdDk4c2tuL2w2dWZ4WmJiREY3CmF2dWR2elZ5NUVpTDZMU0NMZFNmU1dkVkpDNHBKb3FB
azUzMGhQeWFhM3I1c0t1alJzM0oyT0ZRM3ErK2FuYW5uVmJubFpCVlZxbTAKQmY1Y3Z3c1ExcU9G
djU0WWh6YnljZktFWlhOOUt1eXB3dEZHdy9xRytYNzk2MnF2NEl3ZVBjZjhUNlJ3dExnTEw2ejNJ
WFZsWjY4bwpXRXJiYjkvZDdiRkh0WS84cEhPRmM1V01TaXFucDhwNmVhSVlLNms5dld3eFRIcnBm
YmhnMUxVTExxajNMNy9UN29vV3NUS1RLWlJDCjJjTlA1UzNXaG5ackpJTmtVNUovd2dvclZOZzRw
c3l0ZE8zdHQxT21RVHZ1bUZvOFN4bFJQNkpKUGdnS3JSd20rU0NvTHdxcnE2UXkKU21wTC9oNzYx
T0pkWlY1OE1hWGNpWXYrQ25HTEkxK3hQc3NrVVpIbUZBVXVWNUtQa1ZLMFA1cVBKNTFVNTMxaDdy
NjdqL2NEVXA1aQpmVkVlbVZUSjUwV1J3amJaSk9YZm9ldEswVGx4d0FIVmZxZnBoaHRhZHovMUZu
VHRTRVZsU1pWTS9SdU9kY2hYVnpVMmYvOTdnemVsCkd6NDgxVjR4T2JQSHRCU2NKWXY4MDdRREl0
TlJFZ1FnQUFFSVFBQUNDNGlBTGJDS0pvdWJINWd6ZHpyZjAwOC9iWkZ3dHRPcUtMQmQKak1DY3Uv
MjVvbUJabU12Z20yKytTZWMxY3llTFVEUWs2TnUzYjJDS1JxQzZ6UHdoc0ZDWUZuMW9idkRRUXc5
WkJLY2wwM1daNDdndgpPMkhDQkY5bTBLQkJ3YXV2dmhyWUxva3Z0K3l5eXdaLytjdGYwdlZIRC9T
U01kc0I4ZkxZVTg3QUZuVEJXbXV0RlZ4KytlVVdRZWdKCjN3ZFRjcUpGNWpsV3RKMnR0NTRackxM
S2RQL2l0Rk5QVGIxNDdjd3o1d1I2SVYyWUZDMXFtMjFtK2loVGlpeWxseEFlZGRUc1FGR2EKd2hR
blQ1ZzMrdm5oaDAwK21wTWlIL1hyVnhQb0JZU0txQlZOMTE5ZkgvVG9NYzFIY2xJRXJJY2VTa1Vx
VXRsQmc2YjdGeFkrL1BCYwovN0k2UlRwU091dXNWT1NuVWFObUIwOCtPVGZZZlBNWnhuMmF2VXl5
emtlT1dteXhHaC9sU0ZHSUZNMUlVYVBVeHROUHA2SXZuWGlpCnhWTzEvUHFycXBvV0xMMTBqYTgv
K3RMR1VNYUpFeHQ4dENUbFZkUWx2VUR4eFJjYmdrSnR2UDU2WXpCc1dDcXltTGgvOFVVcXV0YTcK
N3piYU9FNjNjYXp6a2FBT1BIQlc4UEhIcVh2MzNEUFh2N2h3MldWcmd2dnVTekdRL0lyV0pQbjBZ
cnl2dm1yeVViTWtpNkpmMlE1WApjTkZGMG5DbUJmdnZQeXY0N0xNbUgwV3JiOTlwTmtkbjJ4eHRz
TGsyemVabzZvV1VoYmlwNzRYa0s5Wm44VEtmSkl2OFZSbllvampFCmwvNlVMQnR1bUJxbjlkYWJF
Unh3d0t4Z3l5MW5lTFovK0VPdGx6MmQyUTVxYTFzSzlpWE0rOXh6RGNHZi90VDZza0JkZitPTnhv
dzUKb2I2Sjd5S0xUQXZXWEhPNlo3WGJick9DTGJhWTRhK0hkWVdmbWllS2tDV3VLNjAwM2I2SHMv
MjVvbUFwMHRZMzM3Ukd3U29rcHlMUgo2V1dVMFRGVkcrM2xyRHB1di8zMllNODk5OVFoQ1FJUWdB
QUVJQUNCQlVTZ1F1M0cwWDEyMldVWDh5bTQzcTFvNzlLWW42VGRrZkQ5Ckczb0NHVFhIa2dneWox
cDY2YVhucCtxTU12TDdXR0tKSmRMWFZMZmVEYUtkSEZObTB0ZUxIZFRieTZmMWxMWmJ0d3JiV2Fp
YzU5MGcKMDZhMTJIc3dLdjBUNDYrK2FqRXVsZWJvbkxrakVDZFBNVGtLM2JlSW90N2thNldWS3Iy
Y3lxdWRFKzNteUl4TWp0dDZkMGcweVg4awpicVN2YURrZDI0TFY3YnR2dGUxZ09iOURwSWhiOTkv
ZllPOVZxUGErS05uNVMzbWVHc2VVNzh1Z1FTbC9uVkxXcjdyMHBEN2MxZEZPClNkVHh2UmkzOXNx
blNITjZsNDE4cFVxUkN2VWxyRis3UWoxNlpNNlA4RjcwVTdzZDJvWFJ2TkgzSXRkN2NxTDUyM0lj
Ujg1b2ZlM2wKdk1jZWU5ZzgvcE85VTJTdGFMVWNRd0FDRUlBQUJDRFFpUVJpS3lEZmYvKzlmMkhn
dUhIanZObFVKOHJZS1UxVlZOUjBTanMwQW9FbwpnU0RvNzA5dnZmVldNNGZhSlAyQ3pqQVA4eklr
MGI1UGNUN25uSFBzeGFIYldlQ0VyZHRYR2FVaEFBRUlRQUFDRUdnWGdkZ0tpRnFSCkVtTG1WOTVu
bzEydFVyakxFWkF6KzlDaE15MjhiM2NmN2xkUHJ2VTI5bDEzN2U3Zkc5TGxPcFF3Z1d0cWF2ejdL
UkltVnRtSW81RGYKaXFhMzJXYWJsVTJmNkFnRUlBQUJDRUNncXhKb2t3TFNWVHVKM0tVaE1NTmNF
VjU2U1pHMkFyZk5OdDNjcXF0MmpDbFVhYVNsRmdoQQpBQUlRZ0FBRUlBQ0JKQkpBQVVuaXFDQVRC
Q0FBQVFoQUFBSVFnQUFFeXBSQTBUQzhaZHB2dWdVQkNFQUFBaENBQUFRZ0FBRUlMQUFDCktDQUxB
RHBOUWdBQ0VJQUFCQ0FBQVFoQVlHRWxnQUt5c0k0OC9ZWUFCQ0FBQVFoQUFBSVFnTUFDSUlBQ3Nn
Q2cweVFFSUFBQkNFQUEKQWhDQUFBUVdWZ0lvSUF2cnlOTnZDRUFBQWhDQUFBUWdBQUVJTEFBQ0tD
QUxBRHBOUWdBQ0VJQUFCQ0FBQVFoQVlHRWxnQUt5c0k0OAovWVlBQkNBQUFRaEFBQUlRZ01BQ0lJ
QUNzZ0NnMHlRRUlBQUJDRUFBQWhDQUFBUVdWZ0lvSUF2cnlOTnZDRUFBQWhDQUFBUWdBQUVJCkxB
QUNLQ0FMQURwTlFnQUNFSUFBQkNBQUFRaEFZR0VsZ0FLeXNJNDgvWVlBQkNBQUFRaEFBQUlRZ01B
Q0lJQUNzZ0NnMHlRRUlBQUIKQ0VBQUFoQ0FBQVFXVmdJb0lBdnJ5Tk52Q0VBQUFoQ0FBQVFnQUFF
SUxBQUNLQ0FMQURwTlFnQUNFSUFBQkNBQUFRaEFZR0VsZ0FLeQpzSTQ4L1lZQUJDQUFBUWhBQUFJ
UWdNQUNJSUFDc2dDZzB5UUVJQUFCQ0VBQUFoQ0FBQVFXVmdJb0lBdnJ5Tk52Q0VBQUFoQ0FBQVFn
CkFBRUlMQUFDWmF1QU5EY0g3cE5QbXROSVo4OE8zUGZmdDZUUGszZ1FCSUg3K3V0bTk5bG56YTZw
S1lndFlsZnNhK3pPbFRqanp6Ly8KN0taTm01YTMxcHFhR21QZk5OLzNWYkN1cmk1ditWdzNpclVa
bHBrMWE1WjcvZlhYWTlVZnQwN1YvWi8vL0Nkc2drOElRQUFDRUlBQQpCQ0RRNFFTS0tpRDMzOS9n
MWx4emhxdW9xSEhiYkRQTFBmdHNZMDZoSG4rODBXMjAwVXlmYjhNTlo3cmYvYTdXSFhmY0hIZjg4
WFBjCnRkZlcrNFYxdE9CVFR6VzY3YmFiNWZPdnM4NE1kK2lodGU2M3Y2MzE1YTY1cHQ0MU5zWmZn
RWZyMWZGYmJ6VzVJVU5tdXFPT211TnYKalI4LzF3MFlNTjFObU5DUW5UVVI1KysrMitSMjIyMjJH
elZxanJ2cnJnYjMyR09ON29RVDZ0enZmMS9ydnZxcVZZbktKV3hYNjJ1dQpQblRHdGJmZmZ0dm0y
M1p1bVdXV3Nia3d3QjF3d0FHdXZyNCszZlJubjMzbTl0OS9mL2ZBQXcrNGM4NDV4NDBaTXlaOVR3
ZkY3aXZQCkR6Lzg0RTQ4OFVTMzY2Njc2clJvaWxPbkt2bm9vNC9jUHZ2czQyNjc3VGEzNG9vcnVs
NjlldVd0TzA2ZGwxNTZxWDN2S3RKL2YvemoKSC9QV3h3MElRQUFDRUlBQUJDQlFjZ0wyMUwxb0dq
dDJqbWtEMDRLbm5tb29tUGZHRyt0OXZrY2ZuWnZPOTlOUHpjRXh4OVFHQXdiVQpCQysvM0ppK3Jv
TkpreHA4L25IajZ0TFgzMysvTWVqVmExcHd4Qkd6MDlmbTUrQzQ0MnFEYmJlZG1TNjY5TkkxUWJT
ZDlJMEZmSERhCmFiWEJycnZPQ3I3OHNta2VTYVpPYlE1Kzk3dlp3Y2NmejNzdm1ybXI5RFVxYzJj
ZXo1dzVNOWh4eHgyRGh4OStPUGpmLy80WG5IWFcKV1RidlhIRCsrZWQ3TVhSLzlkVlhELzc1ejMr
bXhkcGlpeTJDOGVQSHg3cXZUS3JqeFJkZkRJWVBIeDVzdnZubTZYcnlIUlJyTXl4Mwo0NDAzQnFa
MEJGOTg4VVY0S2U5bm5Ecm56SmtUbURJVFBQZmNjLzd2K2VlZkQzNzg4Y2U4ZFhJREFoQ0FBQVFn
QUFFSWxKcEEwUjBRCmFUeUxMWmJLMXE5ZlJVRUZhTEhGVXZlcnFscnpMYkZFcGJ2dXV0NXU1NTI3
dTVFalo3blhYbXMxYituZlA1WFBIc2FtMC9ycmQzTkQKaDNaekw3elFtaTk5TThaQlM0dldsczUx
NitaY1phUjMzYnM3ZStKYnZJSzJtRDRWcjYxd2puSGo2dDE3N3pXN2h4N3E0d1lPckxMagpKamQy
YkoyZE43aFhYMjF5Nzd6VDdLNi92cmU3OHNyV0ovWFJHcnRTWDZOeXQrZll2Z0J0THY3YWE2KzVX
MjY1eGUyKysrNStCK1NpCml5NXlnd2NQTnNhditycnV1ZWNlSjlPczNYYmJMVjMzNFljZjdpNjg4
RUxYM056c2l0MVhvVVVXV2NSdHRkVldibzAxMXZBN0MrbUsKOGh6RXFmT1ZWMTV4eHg1N3JMdnZ2
dnZjS3F1c2txZW0xc3R4NnJ6cHBwdjhEb3JNeERiZGRGUGIxZHpHTGJYVVVxMlZjQVFCQ0VBQQpB
aENBQUFRNm1JQXQwenNuWFhaWkwyOWVwTVgxNXB2bmI3YTJObkNmZnRwc3BsZzkyaVNZUGRoMXA1
NWFad3ZNQ3ZmZi83YTRmLys3CnhmWHNtVmxGS2svS3pHbUZGU3JkM1hmM01mT3lLcC9wdWVjYTNk
dHZOM3NsNWVHSEc5ejQ4WDNjT3V0VU9abEh5WVJyeVNVcmJlSG0KM05WWHozV1BQOTdYcmJWV2xU
dmpqRHJYdzhUODRvc1dNNDJwZEpkZTJzdnlWTGhKa3hwOUdiV2grc2VPclhkU2dKNThzcTlYTk5U
ZwpkOSsxMkFLMzNuMzU1YUttTEZXNG0yNmE2MDQvdmM0OTgweGZadytrdlVuV0thZjBNTE9oN3Ja
QXJIUXpaZ1F1VkFDN1dsOHpSOEU1CitlUGtZNWVQdDhaQ2ZKWmFxc0s5OGtxVFczenhDcmZCQnQz
Y0ZsdFV1V0hEREc2QnRQMzIyMmZjbGZuUldtdXQ1WlVSM1hqeXlTZTkKUWxJWjBWaWxvSHovL2Zl
bUZMNVg5UDdHRzIrY1VYK2NrMkp0cXM2RERqckliYkxKSnQ0bjVkcHJyM1ZycjcyMjIzYmJiZk5X
SDZmTwplKys5MXg0Q3ZHWnovMjV2em5YOTlkZmJ3NEdkODliSkRRaEFBQUlRZ0FBRUlGQnFBcEU5
Z2xKWG5WbmZNc3RVbXUxOWhYdjU1WGwzCk50NS92OW1lOGpiWUFyN2ViYjMxTERkaVJIZXpwVyti
QXJMLy9yVld0cHM3Nzd4ZTdxOS83VzBMKzVReUVaWGlubnNhZko1NzcrMWoKanNpQjJlclA5czdl
RFdZSjlwdmYxTnBpVDR2Y25tNzc3YnU3ODg5UE9SSTNtTnZJaEFtTnBuUTAydFB0S3JQRjcrNjBj
N1BMTHJQdApDWEtWN1U3MHR2dDkzQnR2TkprUFFhMXZUc3FKZGpaVVp1bWxLOXp6ei9mMTEvLzBw
OWFkakRmZmJITHJyMTlsZFZWNjUvZ1RUNXpqClRqcXBoOXQ0NDI1K2taMlNMN1d3N212RjU4NXRm
ZkxmMWZvYUhRTWRGMktYai9ldHQ4NzFDcVhHOTZxcmV0dDhhZlRLb2hTL3RpYnQKb3J6Ly92dm1J
M1NVTDJwbVdhYmM5Y3VvUmpzYVN0OTk5NTByZGorallNeVRZblYrOWRWWHZtMVY5KzkvLzl0OSsr
MjNicWVkZG5KLworTU1mOHJaUXJFNFYxSzZQbVhPWkluMjErK21ubjl4ZWUrMWxDdituZWV2a0Jn
UWdBQUVJUUFBQ0VDZzFnYmF2M3RvaGdYWW5Qdjk4CjNraFVqZWJYL3NNUExiWW9iSEpUcHJUNHhm
YlVxYTBMN21KTnZ2NTZrM3ZpaVVhM3d3NnBuWlhLeWdwdjhwVmQ3ckREZXRqT1FyV1oKblhSM2wx
elN5NVNVRm5PcWIvSzdFM3Z2WGUwVkFwV1JvdlR4eHlubjc4MDI2MmFLaDNZeUtrMzVxSFkzM05E
SDczam9LZnlCQjFiNwpKcnAzcnpBSDhoN2VlVndtWmtzdlhla0dEYXAwNjY1YlpVcE90VnRwcFNw
N2N0M2RGbnF0ZmY5Ly82L1pyYmRlYXZmbG1XY2EzUnp6Cmw5OXBwNVRDOGE5L05mbWRuUFhXUy9W
bnlwVEE3NEtvc2E3WVZ3L3BsMzhtVG16ME94ajUyT1hpUFhod2xkODkwN2dvYVRka3lTVlQKeDJM
YjF2VGdndy82cC80YmJyaWhMeXB6cE83YW9vcWs2dXJVMkRiYTVDeDJQMUlzOW1HeE90OTU1eDFm
MTdoeDQ5em8wYVBkWlpkZAo1c3gzeFFJNlhPcysvUEREbk8wVXF6TXNKSE11S1RJeThaS2lwYnBK
RUlBQUJDQUFBUWhBb0xNSTVMZUZLckVFOHEyUThwSEwvR3JvCjBDcGJFUFcwUDJlUmlZSmZka0Zt
V1hqUWZ0NDhxWmdvOGhlUmtoRDZxaWgvMzc2SzhwTlpNalJoMHRYTk5rc3RYQlh5ZHNjZHU3dHIK
cmtudG10eDBVNzJaWWpXNVdiTmFGU0NaVmNrRUswemF2ZEFDV0lwSG1MUjdvaVEvRHZWUmJVZmIx
d04xOVMxTXl5OWZhV0dDVXhIRgo5TlJmL2pNYmJaU3FRNUhIaGcwTGxZK1c5R0piWmJ0aVg4TSs2
ek1PdTJ6ZUtyZklJaFZtT3RRYUVVdzdhdHFCYW11YVBuMjZ1Ly8rCiswMmh1U3RkVkpHeHNrUHox
dGFtZHJOa2lsWHNmcnFpUEFlVEowKzJjWHNoZlhmZGRkY3RXdWViYjc3cDg2KzY2cXJwY3Z2dHQ1
L3QKekoxdnUyMXZPQ2xJYmEwelhkRXZCMUxBRkYwclZIYXk3M01PQVFoQUFBSVFnQUFFT29KQTY2
cTZJMnFQMURsNXNuWTJYSHFSSGJtVgpjZGl6WjRXWk1sV2JIMGZnVFpneWJ1WTVrVC9GenorM0x1
N0RiRkVGSUx3V2Z1ckp1WlFDTFd5VjVPY3haa3k5Ty9ua0huNjNRbjRDCitaSjhNTlNlZkJuQ3BO
ME9PYjcvc200TkwrZjlsTEloTXkybFBmZnNiay9aQTc4amM4Y2RjNzFNTGJaWklsOFcrWWtjZTJ5
ck0wdFgKN0dzVXd2eXlPK21rbmo2QXdRY2ZOTHZKazV0ZDc5N09GTlhNWFl0b08vbU96ejc3YkRQ
aHVzcDhkMXBOL0ZaWVlRWGJlWnVTVVdUMgo3Tm4rWEFwSXNmc1pCWE9jZlBQTk54Wlk0S0gwbjNZ
d2l0VTVjT0JBWDVOTXdNSWtaYVNxcXNybTNXdzNQM1dHOVVRL2h3MGI1dnIwCjZSTzl4REVFSUFB
QkNFQUFBaERvVUFLMlpHNWYwc3Y5OUU0UG1TRGxTN0s1UCtlY2xBUHhLYWUwTHFiejVRL1gvaGFB
S0ZaYWJya0sKczJjUC9NSjB0ZFhpUFJYWDR0N2U2MmFPekZYMm5vVm1kOHd4YzJ6QjN5OWpWeU5m
NC9JRmtXeDZCNGZNdVpSa0pxWDMxOGxVSzA3YQphS051M2tIOTl0dm4ydnRQZXBodC9pSm1YalBY
NzhaTW1ORFh2enZsNXB1bEZQVk1PNStyM3E3WTF5aVArV1czODg3ZDNKRkg5bkF5CjRkTHUwYVJK
S1IrTmFOM0ZqcSs0NGdvTGJ2QTd2L2dQODFvSVdsTUE5L1R2LzFERUt5M3dsZVFYc2M0NjYvakZl
Ykg3WVYzNVBrZU8KSEdrUjRFWm0zRmJrS2IxekpGK2IycDJRWXFEZENlMllLT2xGaE1vdkIvcjVx
VE5EZ0Y5TzVBc2pSM2NTQkNBQUFRaEFBQUlRNkN3QwpzVmJMTlRVcDN3VTlsWThtT1VZZmRWU3RY
OFRyZWsxTmFrZEFiK1lPazE2a2Q5SkpkZDQvUWxHbmxsMjJ0VWs1V2l0Rlh6eXRuWUMvCi83M0Jt
eDBOSDk2cUgybnhkZTY1NTFwVXFuZkRxdE9mQnh4UTdYY2ZicmpCdGxoK1NYb0x1bllwb3JKRWo1
OS92dEh2UENqc3IvdzkKMURjcElzcno0b3VOM2x4S2lwUCtKSi9rQ3ROKysxWGJJcmJDSWxhMU90
VExiRXRtWURMblVwSlpWWlNYZkR5eUZhcGJiKzN0bFE0dApxamZjc0p2Nzg1OTdleitRUlJldGNH
ZWYzY3NkZGxpMVgzQ0g3ZXF6Sy9aVjgwVGhoYlY3RTRkZE5tLzErNElMNnQxcXExWGFDeHA3CnVJ
TVBydmJSeG5ROVRJWG1oL0xjY2NjZE5qOXJiRndhL052RTVZeDkzWFhYK2Zta0Z3ZEtJWkJwVnBn
bVRacGs0L0ZuZjFyc2ZsaEcKbjNOdG02OGxPdkRSbTVIalluWHFaWWw2cWVIVFR6K2RMaVhUSzBY
Q0dqRmlSUHBhOUtCWW5kcE5tVGh4WWxvKytZd29JdGFaWjU0WgpyWVpqQ0VBQUFoQ0FBQVFnMEtF
RVdsZjRlWnA1NElFRzd3Q3MyM3FyK2RwclYza244ZW5UQXgrMlZwRkxod3lwOGs3Z01tTlNPdnZz
CmVndnoyZUFYbkwxN0srU3BkaGtXZGF1dTJybzdJY2ZyeXk5UFJZWFNrMzh0L3IvOXRzVkhwOUpD
OHgvLzZHdWhWbHVWRlVYdUdUdDIKck8yMlBHVitCQ243ZU4rWS9UTm9VSlV0TVB1NG80K3U5UXQy
bVVQSlA2TkhqOEJIUzlLQ1ZXRjliN2lod2U5Nm1FN2huZDd2dkRObAplaUxuYi9WaDk5MW4rd1d5
bk5VZmZiVFJGSUE1RmdhM216MkZickkzWVZmWUFyWEJtNGYxNlZQaEhubWtyenZra0ZvZkRsWk1w
RFE5CjlGQmY3N1B5MGt1cGtMNHlFNUxUdU1MM1NzbFEvOVJ2aGRaVkdqQ2cwaHlCRjNGWFhGRnY4
czkxcTY5ZVplOTdxSFJ5d0plRHZFTE8KSG50czVzNVNWK3lyK25MT09mV210RlVhMHg0RjJmM3Ri
dzN6OEJZcmhTRSsvUEE1L2srYkZFc3NVZUdEQW93YjE4djhJU3A4WktkOAo4ME8rRWtjZWVhU1RR
N255aEdtNTVaYnpwa3phOVhqMjJXZHRmaC92MzJhdU40M3JIUmxoeU50aTkxV2ZGSThKRXliNCtU
bDE2bFQvCjdoQ0Z0KzNmdjMvWVhNWm5uRG92dU9BQ0MxZDhob1dYUHRVVThpVjlPR0I3V2FLOTM2
YjFleEd0dEZpZGVsTzdmRDZXWDM1NXQrKysKKzNxek0vbkNMTDc0NHRGcU9JWUFCQ0FBQVFoQUFB
SWRTcURDbnZDM1B0cnYwS2JhWC9tTUdUTjgrTkF4WThia3JFeTdGOXFGMGNzUAo1ZkF0ZjVMc3BH
aGJXcnpxM1J2WlNic2Njb0JXYW13TWlwcGpDWjBjNjdVZWxHTFEzalIxYW90WFVoUmFOcXA4NWFx
M3EvWDFwNS9rClROKzZjRzRydXovOXFjNFd6ZFUycmpKRkNwd1VZQ21FaHh4U2JlWklLWVd1MlB6
SXhUSDdtcHpScFRUazh3RXFkais3dmpqbnhlcXMKdDA3TGVWN084SEZUdmpybFB5Si9GL21naEpH
KzR0WkpQZ2hBQUFJUWdBQUVJRkFLQWtVVmtJcUttbEswMDY0NmdpRDFGUG5XVzIvMQo5dXF5elkr
bUpNZ1lsWWZqemlWUWJINTByalMwQmdFSVFBQUNFSUFBQkNCUWlFQlJCYVJRNGM2K0p4ditmQ1l0
blMwTDdYVWVBVVcrCkdqcDBwcjNEcGJ0RlVldm0vWEYrL0xIRjNySFMzYjluSlpTRStSR1M0Qk1D
RUlBQUJDQUFBUWdrbDBDWFVrQ1NpeEhKT3BxQWZFRGsKVy9QREQ0RkZIdXVXNFUvVTBXMVRQd1Fn
QUFFSVFBQUNFSUJBNlFpZ2dKU09KVFZCQUFJUWdBQUVJQUFCQ0VBQUFrVUl0SG9GRjhuSQpiUWhB
QUFJUWdBQUVJQUFCQ0VBQUF1MGxnQUxTWG9LVWh3QUVJQUFCQ0VBQUFoQ0FBQVJpRTBBQmlZMktq
QkNBQUFRZ0FBRUlRQUFDCkVJQkFld21nZ0xTWElPVWhBQUVJUUFBQ0VJQUFCQ0FBZ2RnRVVFQmlv
eUlqQkNBQUFRaEFBQUlRZ0FBRUlOQmVBaWdnN1NWSWVRaEEKQUFJUWdBQUVJQUFCQ0VBZ05nRVVr
TmlveUFnQkNFQUFBaENBQUFRZ0FBRUl0SmNBQ2toN0NWSWVBaENBQUFRZ0FBRUlRQUFDRUloTgpB
QVVrTmlveVFnQUNFSUFBQkNBQUFRaEFBQUx0SllBQzBsNkNsSWNBQkNBQUFRaEFBQUlRZ0FBRVlo
TkFBWW1OaW93UWdBQUVJQUFCCkNFQUFBaENBUUhzSm9JQzBseURsSVFBQkNFQUFBaENBQUFRZ0FJ
SFlCRkJBWXFNaUl3UWdBQUVJUUFBQ0VJQUFCQ0RRWGdJb0lPMGwKU0hrSVFBQUNFSUFBQkNBQUFR
aEFJRFlCRkpEWXFNZ0lBUWhBQUFJUWdBQUVJQUFCQ0xTWEFBcElld2xTSGdJUWdBQUVJQUFCQ0VB
QQpBaENJVFFBRkpEWXFNa0lBQWhDQUFBUWdBQUVJUUFBQzdTV1FLQVdrdWJuWmZmTEpKK2srVFow
NjFYMzIyV2ZwOC9CZ3lwUXA3dm5uCm4zZlRwazF6K2ZLRWVRdDlacmRYS0c5NzczVm1XL2xrTGJV
TXhkalBuajNiZmZ2dHQvbkVLWHE5dmVXTE5qQ2ZHVHBLcnUrKysyNCsKSlZxd3hZck5nMkxTdGJk
OHNmcTVEd0VJUUFBQ0VJQkFzZ2dVVlVBZWVlUVJ0K1dXVzdxS2lncDMxRkZINVpYK21HT084WG5X
V21zdApOMkhDaEx6NTh0MTQ2NjIzM0pBaFF6TGFPTys4ODl5ZWUrNlpVZVRHRzI5MDk5NTdyM3Z4
eFJmZDJtdXY3YzQrKyt4NThtUVV5SE9TCnE3MDhXZHQ5dVRQYnlpZHNSOGlRYTN6Qzl2LzJ0Nys1
cFpkZTJ0MTExMTNocFRaOXRyZDhteHByUSthT2t1dm1tMjkydi9yVnI5d1YKVjF6UkJtbVNrYlhR
UElnallYdkx4Mm1EUEJDQUFBUWdBQUVJSklkQVJXQ3BtRGdQUFBDQTIzLy8vVjJQSGozOEUrMGxs
bGdpbzhqTQptVE9kRkkvdnYvL2VYWExKSmU2UGYveGp4djI0SjhjZmY3ejc2S09QM0hQUFBlZUw2
TW1vZGprR0R4N3N6MnRyYS8yaVZ1MVZWbGE2ClYxOTkxYTIrK3VvWmVlSzJwWHpaN2JXbGJGdnpk
bVpiK1dRcnRRelo0ek4zN2x3L0p0dHNzNDBYUVhQaWtFTU9jV2VkZFZZK2tUS3UKdDdkOFJtVWxQ
T2tNdWY3M3YvKzUyMjY3emVuejJtdXZMYUgwSFY5VjlqeG9hNHZ0TGQvVzlzZ1BBUWhBQUFJUWdN
Q0NKVkIwQjBUaQo5ZS9mMysyeXl5NnV2cjdlM1hERERmTklmUHZ0dDd2OTl0dlBYMTlzc2NYbXVW
L3NRa3RMaTgvU3JWczNyMWlFK1FjTUdKQldQblR0Cmd3OCtjQTBORGVrOFcyeXhoY3ZPRTVZdDlK
bXZ2WHhsbXBxYTh0MHFlcjJ0YlJXck1JYStPRThWcFpZaGJDREt2ckd4MFIxNjZLSHUKNVpkZkRt
Kzc3dDI3KzEyeDlJVUNCKzB0WDZEcWpGdHRIY3ZPa212WlpaZjFPeUMvLy8zdk0rVFZTVnZHdkMx
NTUybG9QaTlFNTBHMAppbnl5WkYvUFZ6NWFGOGNRZ0FBRUlBQUJDSlFQZ1ZnS2lMbzdZc1FJdCs2
NjY3cnJycnZPS3dFaEFpMG1aS2ExMTE1N2haZlNuN0tWClArNjQ0OXdwcDV6aXphUk9PT0VFVjFk
WGw3NC9aODRjSjlPdGl5NjZ5QjE5OU5IdTdiZmZUdC9UaytETExydk1iYjc1NXY2YVRGVE8KUC85
OHB3WGtzY2NlNjA0OTlWVC90RGlhUnhsLy9QRkhkL0xKSjd1dHQ5N2FiYlRSUnU3MTExOVAxMW1v
dlhTbXlJRjJZaTY5OUZKMwoxVlZYZVRPMER6LzgwTitkTkdtU08vREFBNzBNdDl4eWl4czBhSkJi
WTQwMTNGZGZmWlV1M1phMjdydnZQcmY4OHN1bm4zekx4RXc3Ck8ySVNKdVc1L3ZyclBSTXBYbUVx
VlgvLzhZOS91Q1dYWE5LUDQvVHAwNTJVU3AxdnQ5MTI3dlBQUC9mTmljT3dZY084SXBvOVBsZGYK
ZmJXZkIvLzg1ei9kYjM3ekc2ZmRLaVVwUHpLeFdYSEZGZDA2NjZ5VHdjaG4rT1dmK1NsZnFPL1J1
bldjYnl5THNaOGZ1UXJOKzNmZgpmZGVOSGozYW5YUE9PZTdpaXkvMmpOOTg4MDAzWThZTVAyZTFh
eFNtZkdNZTN0Zm5zODgrNnc0NjZDQjM3cm5udWpQT09NTkprUkZyClhROVRQazY1Wkhud3dRZmQ2
YWVmN3I5RGp6NzZxTnRnZ3czY3hodHY3RjU3N1RYL0FHRGZmZmYxYll3ZE85WlhuejBQZERHZjNM
bXUKNXlwZmlGK2M3MTdZYno0aEFBRUlRQUFDRUVnb0FWTWdpaVpiekFTMkVBdHNzUzF6cmNBV3Ar
a3lUejMxVkdDTGtjRE1vZnc5MnlGSgozOXRxcTYyQ08rKzgwNS9iemtXd3lTYWJCTHZ1dW12NnZ1
MnFCTGJZOXVmbUlCMHN0OXh5Z1MxNC9iazVtZ2UyQUEvTTNDdWQvLzc3Cjd3L005Q3A5bnAzSGxK
TmdwNTEyQ3N4RUsxQjl0dEFMYkJFZDFOVFUrREtGMmt0WCtzdUJtZDBFcGhRRTV1enVyNWp5RSt5
enp6NysKK0ljZmZnaFdXMjIxd0pTT3dCWnB3ZGRmZngyWXdoQWNlZVNSNldyYTBwWUtxUzFia0ti
TGI3Lzk5b0h0S3ZsemV3b2YyQ0l3ZmUrawprMDd5L1N0bGYxWDVoaHR1R0l3YU5TcmR6dkRodzRQ
RER6ODhmZjc0NDQ4SFppYmt6N1BaNitMS0s2L3M1NExQWVArc3Q5NTZ3ZnJyCnJ4OW8vcGd6dXVk
MXhCRkhoTGZuK1d4TCtXSjlqMVplYUN5VnJ4QjczVytMWE1wZmFON2JRajZ3SGNYQS9KMENNMjMw
YzNUeTVNa3EKbHBIeWpYbEdKanN4cFRkWWFxbWxnb0VEQndhMit4U1liNVJuYnY0a1Btc2hUcmxr
MFZpWjB1SHJrM3ltU1B0NXVPcXFxL3F4L2ZubgpuNE14WThZRTVoTVdtSGxra0QyN295amxBQUFS
QzBsRVFWUVA4c21kNzNwMmVRbGRpRitjNzU3dk9QOUFBQUlRZ0FBRUlKQllBckYzClFLUS9IWHp3
d2Y2SnJaNEtoMGs3QUxtYzB5ZE9uT2hlZWVVVnYxT2d2RExIc2NXdGUreXh4L3pUVk8xTVBQSEVF
MjZISFhid1ZjbW4KWStlZGR3NnI5ZTFveDhYSXBhOWxIK2dKZlRTUEtTZyt2OHlBMUw2ZUJ2LzAw
MC91cFpkZThqc2hoZHJMcmx2eTdyMzMzczRXMFA2Vwp6RVErL3ZoamZ5em5hdTE2cUcxVHFOeEtL
NjNrdHQxMlcvZnBwNS82KzhYNmx0Mld6bnYxNnBWaHJ0UzdkKy8wdVhZazNuLy9mYzlMCmVVM1I4
ZjBzWlg5VnJ5a2J6aFJLdjJ1aDg1RWpSem85QmJkRnJFNzlVL1hRMUM2YnZjOWcveWhZUVRTSmoz
YlBWbGhoQlNmZmtHaVUKczJpKzhEaHUrVUo5RCtzS1B3dU5wZklVWWgvV0VWZXVZdk4rczgwMjg3
dGxhNjY1cGpPRjFwczBoajVPWVZ2NnpEZm0wVHc2TnVYSQptMjd0dnZ2dTd2Lys3LytjTGQ1OWtB
WkZIOU44TGNRcGx5d2FLd1dEVUlBSHlTYzJDZ1R4bi8vOHg1MTU1cG5lNVBIRUUwLzA4MC9YCnN1
ZEJQcm56WGM4dVg0eGZzZTllTmgvT0lRQUJDRUFBQWhCSUhvRTJLU0E5ZS9iMFprRmFETXNVUWla
SC9mcjE4NHVTN0s3SnJFU0wKQ3kzK3dtUTdJUDd3dmZmZWN5Kzg4SUpmaUVWOVJ2cjI3WnV4Z05X
aUwzdmhGOVlWZmtienlFeEVpa0oxZGJYL1UvU3VaNTU1eHB0aQp4V2t2ckZPZnF2ZWFhNjd4QzBH
WllTbnExcXhaczlKWm91M3E0aUtMTE9KTmszVGMxclpVcGxDUzA3K1VvZDEyMjgyYm4yblJXVlZW
CjVSVzVVdlZYN2N1VVJ3cGI2TWNoa3pPWlVzbDhTZjQvTXFmcTA2ZFBXdFJzQnJxaGE5RVVQWmN2
a2N4ckNxVm9mdVdMbmtmTEZ4cnIKN1BwVlI2R3h6TTZmNnp3cWgrNUh6Nk55Rlp2M0txdEZ2YjRi
aFZLK01jOVZSckpvUG9SSjVvQ1NTV1pZeFRqbGtpWGFOOVdwdVIxTgppeTY2cUQvVlhGRlMvckJN
UHJuelhjOHVINGRmdEQyVmozNzNkRTZDQUFRZ0FBRUlRQ0RaQkxxMVZUejViR2hCUG03Y09LOUF5
QjhqClY1SVBoSmxyK0FXbkZBc2w3UmpJMFZ5TFdyM3pRUGV6VTdpUXliNGU1MXoxcVg0OXVjOU84
OVBlK1BIai9TN09yYmZlNnVTRG9zVlIKbkRRL2JSV3JWK0ZmelVUTi9mblBmM2F5M2RkT1JhbjdL
MlZHT3hiMzNIT1BrMklvMjMvdFRNa25SVDRLMlNHUmk4bmNrZmNMOVQxWAp1L003bHJucUtuU3Qy
THd2VkRiN1hxNHhEeGYvMlhtenp6VnUraTYwbFZOMlBUcFhYZEh2WmZRNFYvNThjdWU3SHEyamxQ
eWk5WElNCkFRaEFBQUlRZ0VCeUNNVGFBZEdUN3pDUzBqTExMT01PT09BQWIwb2xFNC9RUkNtN1Mz
b0txeGZmNmYwVFlUSjdiMi9PSS9NVExhYjEKQk5YczM4UGI3ZjRjT0hDZzMvSFEwL293eVlSTE94
SnRiVS9oZ0tWczZiME0wVjJjc041Q24yMXRLNndyWkJ5ZWg1OW05KzdFVGtxZgpURlFVRFV4S1FT
bjdHN2IxMjkvKzFyL0g1YWFiYm5MbXIrSE5zaDU2NkNIL05GMk8vY1ZTc2NWcHFjb1g2bnQyRzNI
R01oLzdzSzY0Ci9TbzI3OFA2aW4zbUcvTmk1WFJmM3ltRnRqV2Zub0p6SkU1ZGJjMlRUKzU4MTdQ
ckx4Vy83SG81aHdBRUlBQUJDRUFnT1FSaUtTQjYKRjRjV3dHRUtiY0MxV0ExVGVOOGN2djBsK1Fy
STdsOG1VR0ZTbENzdE1IYmNjVWV2eE9nSmJUU3NyL3dEOU1SV2lvdVNub1lxYWxibwpCNkwzZjJp
aHFPdGhpdWI1OWE5LzdhTmdLY3FRNUpCTUYxNTRvUS9sSzZXcFdIdGhuZnFVY3FXMnRIaVZQRExC
a21JaldmU25jTURSClJhdmtDT1Z1YTF0cVQ3dERiN3p4aHEvM3YvLzlyL3ZpaXkvOElsTDN0SmhV
QkNFbGMwNTNlK3l4aDlPdVVpbjc2eXUzZjh5SjM3L3YKUlNZOU1xK1RiNHVldXN1Zkpuc1JIbVd2
OHRvMUNkL21MZjY2cjc4d2FTeWpVZERDNitGblc4b1g2bnRZWC9oWmJDd0xzVmNkYlpHcgoyTHhY
ZmZLcEtjUkJlZktOdWU3bFNzb2ZKcGxIS2xyWnBwdHVXbkNPS0g4dVdjeGhQRDJYbFVmdlFkSGMx
bldsMENjb25QL1JlWkJQCjduelhWViswZkJ4K2hiNTdxay95S2twWE9CZDFqUVFCQ0VBQUFoQ0FR
SUlJMkdLNllMcjc3cnNEQ3cwYTJBSTBzREN3NmJ6MmdybkEKRmlMKzNId0VBbnM2N3FOZzJlNUdZ
RzlDOTlmTlZNaVh2Znp5eXdOekFBOHNkRzFnaThGMEhXYnFFNWo5ZHFBeTlxTER3SHdjQWdzeApH
K2k2TGNZREM4SHI2N1FuL3o3Q2p5MnEvTG1GNEExc2dUNVBIa1U3a296MndrUWZwY2ZzN0FON2Vo
K3J2WFNtWHc3TVRNeEhLcktGCnZvOEVwUWhRNWhnZXFOK0tGR1NMVWgrMVM1R0V6Q2NtVUpRZ3Rm
djAwMC83R2dyMUxic3RuWXVobVVBRnE2eXlTbkRhYWFmNUNHRG0KRU95amNKa3ZSbUJPNzRHWkVR
VVBQL3h3WURzemdhSUtLWldxdjc2eVgvNFJYd3U5bTc1a0lWNHp6blVqZTN6RTNsNDQ2TGtya3BZ
aQpwcG5wamg5Lzgva0pOQmMwenFZRUJoYTJPVjEzOUtDdDVRdjFQVnB2b2JHVTNJWFlxNTYyeWxW
bzNtdGVtQitOL3o2WlVoa1ZNK080CjBKaG5aTFFUUlVoVFZDMk4wd1VYWEJBb2dwcnRPS1N6NWVP
VVN4Yk5aOXZCQzh6Wk96QkZ4a2ZaVXVRNis4bnkwYS9NbVR5d3NObisKWE45WlJZR0xmazgxMXJu
bWFyNys1SnBIaGZncHlsZXg3NTQ5TlBEejhJNDc3a2d6NEFBQ0VJQUFCQ0FBZ2VRUWlQVW05UGJv
UzlaVgoveDRKMlpFcmNsUjIwcE5WUFMyWGs2cDJHT1RvM3Q2a0o2U0tBcVRvVk5yMWlLYTJ0cWNu
MVhMVVZkSVQ0TGFZWTdXMUxjbXRNbW92CjJwYWVOSXVmSWdtcC9hZ2p1T1FxWlg5Vm41NGc2NjMz
WWNvK0Q2L24rdFFPbHNaeWZsTmJ5eGZxZTdZTWhjWXlIL3V3anJiS1ZXemUKaC9YbSt5dzI1dEZ5
UTRjTzlkR3Z0TnVuM1lSY0R1NXQ0UlN0dTYzSCtlVE9kejFmL2UzbEovUE9YQnp5dGNkMUNFQUFB
aENBQUFRNgpqMENIS3lDZDF4VmFnc0RDU1NCVVFLNjg4c3FGRXdDOWhnQUVJQUFCQ0VDZ1N4R0k1
UVBTcFhxRXNCQllpQWhvWnlIMEdWcUl1azFYCklRQUJDRUFBQWhEb3dnVFlBZW5DZzRmb0VEQS9o
N1N6dGZrUCtYZTVRQVVDRUlBQUJDQUFBUWdrbVFBS1NKSkhCOWtnQUFFSVFBQUMKRUlBQUJDQlFa
Z1F3d1NxekFhVTdFSUFBQkNBQUFRaEFBQUlRU0RJQkZKQWtqdzZ5UVFBQ0VJQUFCQ0FBQVFoQW9N
d0lvSUNVMllEUwpIUWhBQUFJUWdBQUVJQUFCQ0NTWkFBcElra2NIMlNBQUFRaEFBQUlRZ0FBRUlG
Qm1CRkJBeW14QTZRNEVJQUFCQ0VBQUFoQ0FBQVNTClRBQUZKTW1qZzJ3UWdBQUVJQUFCQ0VBQUFo
QW9Nd0lvSUdVMm9IUUhBaENBQUFRZ0FBRUlRQUFDU1NhQUFwTGswVUUyQ0VBQUFoQ0EKQUFRZ0FB
RUlsQmtCRkpBeUcxQzZBd0VJUUFBQ0VJQUFCQ0FBZ1NRVFFBRko4dWdnR3dRZ0FBRUlRQUFDRUlB
QUJNcU1BQXBJbVEwbwozWUVBQkNBQUFRaEFBQUlRZ0VDU0NhQ0FKSGwwa0EwQ0VJQUFCQ0FBQVFo
QUFBSmxSZ0FGcE13R2xPNUFBQUlRZ0FBRUlBQUJDRUFnCnlRUlFRSkk4T3NnR0FRaEFBQUlRZ0FB
RUlBQ0JNaU9BQWxKbUEwcDNJQUFCQ0VBQUFoQ0FBQVFna0dRQ0tDQkpIaDFrZ3dBRUlBQUIKQ0VB
QUFoQ0FRSmtSUUFFcHN3R2xPeENBQUFRZ0FBRUlRQUFDRUVneUFSU1FKSThPc2tFQUFoQ0FBQVFn
QUFFSVFLRE1DS0NBbE5tQQowaDBJUUFBQ0VJQUFCQ0FBQVFna21RQUtTSkpIQjlrZ0FBRUlRQUFD
RUlBQUJDQlFaZ1JRUU1wc1FPa09CQ0FBQVFoQUFBSVFnQUFFCmtrd0FCU1RKbzROc0VJQUFCQ0FB
QVFoQUFBSVFLRE1DS0NCbE5xQjBCd0lRZ0FBRUlBQUJDRUFBQWtrbWdBS1M1TkZCTmdoQUFBSVEK
Z0FBRUlBQUJDSlFaQVJTUU1odFF1Z01CQ0VBQUFoQ0FBQVFnQUlFa0UwQUJTZkxvSUJzRUlBQUJD
RUFBQWhDQUFBVEtqQUFLU0prTgpLTjJCQUFRZ0FBRUlRQUFDRUlCQWtnbWdnQ1I1ZEpBTkFoQ0FB
QVFnQUFFSVFBQUNaVVlBQmFUTUJwVHVRQUFDRUlBQUJDQUFBUWhBCklNa0VVRUNTUERySUJnRUlR
QUFDRUlBQUJDQUFnVElqZ0FKU1pnTktkeUFBQVFoQUFBSVFnQUFFSUpCa0FpZ2dTUjRkWklNQUJD
QUEKQVFoQUFBSVFnRUNaRVVBQktiTUJwVHNRZ0FBRUlBQUJDRUFBQWhCSU1nRVVrQ1NQRHJKQkFB
SVFnQUFFSUFBQkNFQ2d6QWlnZ0pUWgpnTklkQ0VBQUFoQ0FBQVFnQUFFSUpKa0FDa2lTUndmWklB
QUJDRUFBQWhDQUFBUWdVR1lFVUVES2JFRHBEZ1FnQUFFSVFBQUNFSUFBCkJKSk1BQVVreWFPRGJC
Q0FBQVFnQUFFSVFBQUNFQ2d6QWlnZ1pUYWdkQWNDRUlBQUJDQUFBUWhBQUFKSkpvQUNrdVRSUVRZ
SVFBQUMKRUlBQUJDQUFBUWlVR1FFVWtESWJVTG9EQVFoQUFBSVFnQUFFSUFDQkpCTkFBVW55NkNB
YkJDQUFBUWhBQUFJUWdBQUV5b3dBQ2tpWgpEU2pkZ1FBRUlBQUJDRUFBQWhDQVFKSUpvSUFrZVhT
UURRSVFnQUFFSUFBQkNFQUFBbVZHQUFXa3pBYVU3a0FBQWhDQUFBUWdBQUVJClFDREpCRkJBa2p3
NnlBWUJDRUFBQWhDQUFBUWdBSUV5STRBQ1VtWURTbmNnQUFFSVFBQUNFSUFBQkNDUVpBSW9JRWtl
SFdTREFBUWcKQUFFSVFBQUNFSUJBbVJGQUFTbXpBYVU3RUlBQUJDQUFBUWhBQUFJUVNESUJGSkFr
anc2eVFRQUNFSUFBQkNBQUFRaEFvTXdJb0lDVQoyWURTSFFoQUFBSVFnQUFFSUFBQkNDU1pBQXBJ
a2tjSDJTQUFBUWhBQUFJUWdBQUVJRkJtQkZCQXlteEE2UTRFSUFBQkNFQUFBaENBCkFBU1NUQUFG
Sk1tamcyd1FnQUFFSUFBQkNFQUFBaEFvTXdJb0lHVTJvSFFIQWhDQUFBUWdBQUVJUUFBQ1NTYUFB
cExrMFVFMkNFQUEKQWhDQUFBUWdBQUVJbEJrQkZKQXlHMUM2QXdFSVFBQUNFSUFBQkNBQWdTUVRR
QUZKOHVnZ0d3UWdBQUVJUUFBQ0VJQUFCTXFNQUFwSQptUTBvM1lFQUJDQUFBUWhBQUFJUWdFQ1ND
YUNBSkhsMGtBMENFSUFBQkNBQUFRaEFBQUpsUmdBRnBNd0dsTzVBQUFJUWdBQUVJQUFCCkNFQWd5
UVJRUUpJOE9zZ0dBUWhBQUFJUWdBQUVJQUNCTWlPQUFsSm1BMHAzSUFBQkNFQUFBaENBQUFRZ2tH
UUNLQ0JKSGgxa2d3QUUKSUFBQkNFQUFBaENBUUprUlFBRXBzd0dsT3hDQUFBUWdBQUVJUUFBQ0VF
Z3lBUlNRSkk4T3NrRUFBaENBQUFRZ0FBRUlRS0RNQ0tDQQpsTm1BMGgwSVFBQUNFSUFBQkNBQUFR
Z2ttUUFLU0pKSEI5a2dBQUVJUUFBQ0VJQUFCQ0JRWmdSUVFNcHNRT2tPQkNBQUFRaEFBQUlRCmdB
QUVra3dBQlNUSm80TnNFSUFBQkNBQUFRaEFBQUlRS0RNQ0tDQmxOcUIwQndJUWdBQUVJQUFCQ0VB
QUFra21nQUtTNU5GQk5naEEKQUFJUWdBQUVJQUFCQ0pRWkFSU1FNaHRRdWdNQkNFQUFBaENBQUFR
Z0FJRWtFMEFCU2ZMb0lCc0VJQUFCQ0VBQUFoQ0FBQVRLakFBSwpTSmtOS04yQkFBUWdBQUVJUUFB
Q0VJQkFrZ21nZ0NSNWRKQU5BaENBQUFRZ0FBRUlRQUFDWlVZQUJhVE1CcFR1UUFBQ0VJQUFCQ0FB
CkFRaEFJTWtFVUVDU1BEcklCZ0VJUUFBQ0VJQUFCQ0FBZ1RJamdBSlNaZ05LZHlBQUFRaEFBQUlR
Z0FBRUlKQmtBaWdnU1I0ZFpJTUEKQkNBQUFRaEFBQUlRZ0VDWkVVQUJLYk1CcFRzUWdBQUVJQUFC
Q0VBQUFoQklNZ0VVa0NTUERySkJBQUlRZ0FBRUlBQUJDRUNnekFpZwpnSlRaZ05JZENFQUFBaENB
QUFRZ0FBRUlKSmtBQ2tpU1J3ZlpJQUFCQ0VBQUFoQ0FBQVFnVUdZRVVFREtiRURwRGdRZ0FBRUlR
QUFDCkVJQUFCSkpNQUFVa3lhT0RiQkNBQUFRZ0FBRUlRQUFDRUNnekFpZ2daVGFnZEFjQ0VJQUFC
Q0FBQVFoQUFBSkpKb0FDa3VUUlFUWUkKUUFBQ0VJQUFCQ0FBQVFpVUdRRVVrREliVUxvREFRaEFB
QUlRZ0FBRUlBQ0JKQk5BQVVueTZDQWJCQ0FBQVFoQUFBSVFnQUFFeW93QQpDa2laRFNqZGdRQUVJ
QUFCQ0VBQUFoQ0FRSklKb0lBa2VYU1FEUUlRZ0FBRUlBQUJDRUFBQW1WR0FBV2t6QWFVN2tBQUFo
Q0FBQVFnCkFBRUlRQ0RKQkZCQWtqdzZ5QVlCQ0VBQUFoQ0FBQVFnQUlFeUk0QUNVbVlEU25jZ0FB
RUlRQUFDRUlBQUJDQ1FaQUlvSUVrZUhXU0QKQUFRZ0FBRUlRQUFDRUlCQW1SRkFBU216QWFVN0VJ
QUFCQ0FBQVFoQUFBSVFTRElCRkpBa2p3NnlRUUFDRUlBQUJDQUFBUWhBb013SQpvSUNVMllEU0hR
aEFBQUlRZ0FBRUlBQUJDQ1NaQUFwSWtrY0gyU0FBQVFoQUFBSVFnQUFFSUZCbUJGQkF5bXhBNlE0
RUlBQUJDRUFBCkFoQ0FBQVNTVEFBRkpNbWpnMndRZ0FBRUlBQUJDRUFBQWhBb013SW9JR1Uyb0hR
SEFoQ0FBQVFnQUFFSVFBQUNTU2J3L3dFNS9MSEYKZzV6RFZ3QUFBQUJKUlU1RXJrSmdnZz09CgpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2Jp
ZGktTERCLTItZm9ybWF0dGluZy1jaGFyYWN0ZXJzLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNh
bm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBl
ID0gaW1hZ2UvcG5nCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9K
d0FBQUM3bWxEUTFCSlEwTWdVSEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJK
NGtDSkpXYXRvUmRRMi9SRmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8r
QUhucndaQzlLaFZwRktONnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdB
Qk9RTngxS2lFV2xzZkVKcQovSWdBanFJSlFUUWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3
ZDdKM3JaclN0cG9IaFAxQTRFZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1
ZU1HMUR5czl4RmtpZkVBMUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkK
RUwxUGtLYTd6TzZyWXFHY1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhw
T2JFaGowY0dEWDArR0FWdHhxcAorRFhDRkY4UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZ
WUJ6V2toUDEweHUrTHFIQlgwbTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFE
VWhRRUVVRVlaaXdVRUNHUEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNU
eisKS0NKeGxFTzFDSkw4UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4
ampjMDFlZkpYVWRwTlhSNWFzZVhxOAptdXdhUCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZN
WGpWZlBxUzRSMVdqRTMzNTlzZnpzOTRpN1BMclhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZm
bFBYdlh4L0dmTnhHUGlLVEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5W
Z1lKcTgKOVM5ZFAxdDR2VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVl
ZktBSXZiT0RJbWJwdFUzSHZFS0ZscFc1egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4
Z3ZBRWNkb2Q2SHVncG1OT1dsczA1VW9jc241TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldM
cGR0aVoweDF1SEtFNVF2ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhB
ZUl1SkFBQWcKQUVsRVFWUjRBZXlkQjV4VnhmbjNaNWRkdW9vQkc2Sml4OTZ4UzFRUUMwWmZDeEFM
S25ic05XcU1MZFpveElwbzFOZ3dnaHBGRkxGZwpqNktpK0k4ZGUrd05sZ1dXN2ZNK3Y3bk8yYm5u
bm5iN3d2N204OW05NTV6cDM1a3paOG96ejFSb01ZcUdCRWlBQkVpQUJFaUFCRWlBCkJFaUFCRXBB
b0xJRWNUQUtFaUFCRWlBQkVpQUJFaUFCRWlBQkVqQUVPQUJoUlNBQkVpQUJFaUFCRWlBQkVpQUJF
aWdaQVE1QVNvYWEKRVpFQUNaQUFDWkFBQ1pBQUNaQUFDWEFBd2pwQUFpUkFBaVJBQWlSQUFpUkFB
aVJRTWdJY2dKUU1OU01pQVJJZ0FSSWdBUklnQVJJZwpBUkxnQUlSMWdBUklnQVJJZ0FSSWdBUkln
QVJJb0dRRU9BQXBHV3BHUkFJa1FBSWtRQUlrUUFJa1FBSWt3QUVJNndBSmtBQUprQUFKCmtBQUpr
QUFKa0VESkNIQUFVakxVaklnRVNJQUVTSUFFU0lBRVNJQUVTSUFERU5ZQkVpQUJFaUFCRWlBQkVp
QUJFaUNCa2hIZ0FLUmsKcUJrUkNaQUFDWkFBQ1pBQUNaQUFDWkFBQnlDc0F5UkFBaVJBQWlSQUFp
UkFBaVJBQWlVandBRkl5VkF6SWhJZ0FSSWdBUklnQVJJZwpBUklnQVE1QVdBZElnQVJJZ0FSSWdB
UklnQVJJZ0FSS1JvQURrSktoWmtRa1FBSWtRQUlrUUFJa1FBSWtRQUljZ0xBT2tBQUprQUFKCmtB
QUprQUFKa0FBSmxJd0FCeUFsUTgySVNJQUVTSUFFU0lBRVNJQUVTSUFFT0FCaEhTQUJFaUFCRWlB
QkVpQUJFaUFCRWlnWkFRNUEKU29hYUVaRUFDWkFBQ1pBQUNaQUFDWkFBQ1hBQXdqcEFBaVJBQWlS
QUFpUkFBaVJBQWlSUU1nSWNnSlFNTlNNaUFSSWdBUklnQVJJZwpBUklnQVJMZ0FJUjFnQVJJZ0FS
SWdBUklnQVJJZ0FSSW9HUUVPQUFwR1dwR1JBSWtRQUlrUUFJa1FBSWtRQUlrd0FFSTZ3QUprQUFK
CmtBQUprQUFKa0FBSmtFREpDSEFBVWpMVWpJZ0VTSUFFU0lBRVNJQUVTSUFFU0lBREVOWUJFaUFC
RWlBQkVpQUJFaUFCRWlDQmtoRm8KRndPUWhvYUdrbVc0bEhHVkxGTUpJdXFvK1U2QWhrNUlnQVJJ
WUxFZzBKSGFjYTMxWWxFbVRDUUprRUJ1QktyaXZFMlpNa1U5L1BERApjYzVVcDA2ZDFETExMS042
OWVxbDFscHJMYlhERGp1b1ZWZGROZExmTysrOG84NDg4MHoxOHNzdnEvMzIyMDlkZDkxMWFvVVZW
b2owCll5MXZ2dmxtOWVhYmI5cmJ0TisvL09VdmFzMDExMHg3bGs5Y2FRRXRaamNkSWQ5aGRYVHc0
TUhxa0VNT1NWUmkzMy8vdlRyMzNITVQKdVUzaWFPellzV3JaWlpkTjRyUmR1eUdYOE9LWk5HbVN1
dmZlZTlWLy8vdGZOWC8rZkxYUlJodXB2ZmJhUzUxNjZxbXFjK2ZPNFI2TApiQlAyUG1RYjdkWmJi
NjJPUC83NGJMM1JmUkVJTE9udGVIMTl2Wm84ZWJKNWw5NTk5MTN6KzkxMzM2bDExMTFYYmJMSkp1
WnY0TUNCCmFzY2RkMVNWbFpYcTY2Ky9OdC80MnRwYTFiVnJWeFZXNXpmZGRGUHpQaGFoU0Jna0Na
QkF2Z1JrbGlIU2ZQdnR0L3JSUngvVisreXoKRDZZak12NTY5KzZ0Ly96blArdGJicmxGSDNua2tW
b0dJcDZielRmZjNQZ05pMkQzM1hmMzNDTHM4ODgvUDh4cHh2TXZ2dmhDUC83NAo0M3JiYmJkTkN3
UGh6Smd4SThOOVBuRmxCTmFPSGl4Y3VGRC8vUFBQb1NsYVV2UHRadmpMTDcvVW8wYU55cWdISjU1
NG91c3M4dnFECkR6NUk4MTlSVWFIbFk2ZFBQdmxrTFFQYU5EdjdIdnoxcjMvVko1MTBrdDUrKysw
MTNOdm4rUDNmLy80WEdWK3BMZVBxU1ZoNmxqUXUKdVhKdytmend3dzk2MTExM1RTdHZ0K3pYV1dj
ZExaMG8xMHRKcjIyYnZmLysrd2VtVVRwcytvUVRUdENYWDM2NVB1ZWNjL1RoaHgrdQpodzRkcXJ0
Mzc1N21mdVRJa1NWTjk1SVdXVFoxTGM3dGt0eU92L0RDQ3hydkRONGhHYmpySTQ0NFF0OXp6ejBh
My9oWFgzMVZYM1hWClZkNTNmcVdWVnRLSEhucW94aS9jTDFxMHlGU2JyNzc2U3A5eHhobHA5UmYy
dzRZTlc5S3FWZEh6RTFjWGk1NEFSdEJoQ0tpa09XMXUKYnRhcnI3NTZ4Z3QreWltbnBBWHhqMy84
SThNTk9uQitnL0I2OU9pUjVsWldUZnpPWXU4ZmV1aWh0RERRNkx6MjJtdHAvZ29WVjFxZwo3ZUNt
cGFYRmRCelFtUWd5UzJxK2cvSTZaODZjakVGQUdKY2cvKysvLzc1WGo5WllZdzM5eVNlZmVNNSsr
ZVVYenc3MXkvN0pySjNuCkJ2N3RSeEgyK0NDMkZ4TlhUNkxTdVNSeHlZZURaWVF5RDVyMHNIWEMv
cTYzM25xNnJxN09laXZMTC9JN1lNQUFyNzdhdEIxNDRJR0IKNmZuMTExODFCdFYyRW1uRWlCR0I3
dmd3bmtBMmRTM083WkxhanRmVTFPaGpqam5HYTdjeGlUTmh3b1JBdUdCMDl0bG5aOVJsT3dDeApu
a1NDSXMyTnJFaGFLLzRtSUJCWEZ4TUVRU2Nra0poQTRqMGdFTEhhZU9PTjVSdVdidnIzNzUvMjRJ
OS8vS01SeDNJZnlrZE52Zjc2CjYrNGo0MFptMk5LZUhYend3V24zU1c0Zzh1VTMwcENsUFVMYUN4
RlhXcUR0NE9hU1N5NVJUejMxVkdoS2x0UjhCMlVZNGs0UUFYU04Kdng2NGR2NXJlV1BNSXhsOEtK
bVJNMktFZmpkUjkrdXZ2NzZhUG4yNldtNjU1WXd6RzE2VW4xTFp4ZFdUcUhUWWZDd0pYUExoWUJu
SgppcGlTQ1E0bGcwMjE1NTU3cXUyMjIwN0p5b0cxOW40Ly9QQkRkZVdWVjNyMzViaUFxQXJFVi94
R1pwdjlqOHo5NzM3M095V3IwT1l2CjBBRWZKaWFRVFYyTGM3c2t0dU1MRml4UWd3WU5VcmZkZGhz
bVFRMVg5Qk1PT3VpZ1FNYW95N0lTb3U2Nzd6NGpnaFhvU0I3S0pHbWEKVlRiZmdEU1BIZlFtcmk1
MlVDek1kcEVJSkI2QUlQN3E2dXFNWlBoZmNGblZVQnR1dUdHR3UzLzk2MThaejlDZ29ORkJRelIr
L0hnbApTNjhaYmdyMW9KUnhGU3JOVWVGZzRBRjJjV1pKeTNkY2ZuTzFiMjF0TlY2eGYyaVZWVmJK
S1JpWjlWYm9vTUxZOEhJS3FJQ2VrdGFUCnNDaHRQaFozTHZseUFCOFI5Vk4zM1hXWDZRaDk4ODAz
Nm9rbm5sRC8rYzkvbElpS3FHMjIyU1lESVFZcTVUWkoybXgvR2xIVy9qMTAKZmplOER5ZVFUVjFM
Nm5aSmE4Y3hVZmwvLy9kL0hzU2VQWHVhL2FEZWc1QUxURkwrNlU5L0NySGw0M3dJSksyTCtjUkJ2
eVRnRXNocQpBT0o2akxxV3ZSOFoxdmhnKzQzc0h6R3piWmh4UHZiWVkxV1hMbDM4VGdwMlg4cTRD
cGJva0lEZWUrODlNMU5rTzRjaHpzempKU25mClVmbk0xODdPd3UyMjIyNTVCZldIUC96QitMZmg1
UlZZbnA2enFTZGhVZGw4TE01Y0NzRUJmRzY2NlNZbElxZEtSRUhTWm1HWFgzNTUKOWNnamo2aHUz
YnFsWWNSbTJzWEZZQ0Fsb29ZbXVaaHhoMUlRbXV3SlpGUFhzbkc3SkxYalVHb2oremZUNE1vZWw4
VGYvNHN2dmxoaAp4Wm1tY0FTeXFZdUZpNVVoZFhRQ1JSbUF5Q2FtREs3UVpsRUlBeldFSWhOYmlL
Q3lEZ1B4aW94a0luOXo1ODVONU03dnFLbXBTVUh6CmtPMzQrZTFGSmwvSkJsZ2xleDc4VmdXOW56
ZHZuaElaOW9LRWlZRVN0QVJsYThBYm5hSWtBNjFzdy9hN3grQVhHb3o2OXUzcnQ4cnEKSG1LS3Yv
Lzk3d05YQzkyQWNxMGZiaGhSMTRXcUorMmRDN1RnK05zRHQvMHBGQWV3aG9ZK2RINkN6SW9ycnFn
T09PQ0FOQ3VSVDArNwpiODgzeHgxM25QcjAwMCs5SkNJdlNWWUNDOWxPWk5PK2VnbVZDL2lUL1FU
dW80enJ4c1pHQmJHZmJFMDJiVkEyZFMwYnQ5bW1PY3g5CnJ1MHd2a1ZvaC8zdldWZzhVYzhSRnNU
OC9HYmZmZmYxUHdxOXg2cWVLRkFJdFkreVFQeG9NN0kxMmRTREpHRWp2Q1I5aVVMRVc0bysKUlNH
K1owbVl4TFgzU2RqVFRUc2lJQzlrWWlNZnBiUU5YcElOTGFwek0veHZ1ZVdXYWU2a3dkQXpaODcw
M0lrY3A5RWlBMDB5N3QrbApsMTdxdWZGZjNIREREVnJrcmJWMGlMVEkrdXYvOS8vK254YjF2ZnJa
WjU5Tml3dHBjclZnSllrTFdyN2NkTmhybXg1UnM2bVBPdW9vCkxUTFNXbVk3UTdWMVlRUGRrQ0ZE
akR0b2xNRWZObkxHYWNTUkQ3OGVQWHEwRnBXQld2YTBhUEJDUG1YV1dULzMzSE1laWpmZWVNT0UK
alR5NmYvMzY5ZlBTLzdlLy9jMjRUNUp2TCtEZkx0NSsrMjA5ZlBod0xlSVhSaHNKTkpKc3NNRUdS
a3VPaUovNG5ldXdPRzY4OFViagpGbVVEalNXeUw4S2tGK3hrK1Z6TFlDUWpMUHRBbHVYTnhrVGtD
ZHA2a00rcXFpcU5lMmhIUVptSEdiQnp1V1NqQlNzc1REeFBzZ2s5CnlyKzFTMW8vcnJqaUNxODhi
VjEwZjhIVmFtSnluK05hMUhYcWJPcUpUVnN1djZYbVl0T0llS0c1U1RyOXByeFJUN0hwRy9VREd2
bFEKZjJGS3hjR21DMXFsM1BxMzFWWmJXYXV5L1lvYTZyUTBJWDErYllQUW1vWG5mdVVkWVluT3Rw
M0l0WDJOYTE5a3o1WFJRSWYyRXVuSApkd0h2dkhTR3ZLUS8rZVNUV3NUanpNWjZFUmZXVURCeCsr
MjNhMnkyRFRPNXRFSFoxTFZzM0lZeHNOOG01Q0hNVFQ3dHNLakFOUnIrCm9NUUE3VERlTWRtSG9V
VzF2ajc2NktPMXFCbFAreE8xdUdFNDA1NmpIK0MrSS9aNjl1elphZTZTM0NBTjBtbE5jNHF5dG1I
aTEyckIKZXVXVlZ6UzB1dUViaE9kb08yUy9nNmRGS3kyUTMyNXlxUWU1MW5VMy9semlkZjNqdWho
OUNuOGNTYjluK1RKSjJ0NzcwOGY3OWs4ZwpzUllzWkNYSkFBUWRSTGNCUU9jUm1yRmNBNDFGTXBP
WTVnNStndFErUXN1RnlIMm11VjFxcWFXOFRqSUdCbTU4dUhZSElFbmlrbEcxCnZ2UE9PejF0SERZ
OHBBY2RPdG5nbkJFSEJpWFdRSnVIeUxRYU4vZ1l2dmppaTFwbW0vUS8vL2xQOHd3RGw3QkJDRjVp
NUFkeG5uYmEKYVJvcThHUUZ4QXhBOEF3ZlRjc1BHcjlRQmtzdnZYUmFldERod25QOGlaaUlTVmFT
Zk52MEk2M1hYbnV0K2NnZ3pzTU9POHlvOXYzcApwNS8wSG52c1llSkM1LzdmLy82MzlXSis4YUcv
L3ZycjA5SUMvK2dFNEtNb29od1pkckFQS21jRUNGWE95QyswbzRHaHpOeVl3WXEvClkyY0hXV21K
a1p2Mk9nREp0bjVnY0JHa1ZsaEVmUFNzV2JPMHJBS2Erb1ZCb1d5RU5veWh4dktaWjU3Uk10T3Jz
NmtuZm9iWjNPYzcKQU1tV0M5S0dkOE1PUEdTbHlYU2FaV1pieTM0TTB5YWdmcTIyMm1vbUc2WGlZ
Q0tUZjJQR2pFbXI3OWRjYzQyMUt0dHZrZ0hJNmFlZgpidElkTndESnRaM0l0WDFGK3pKdTNMZzBw
clo5Q1hvT08veWhIWVRCNUpoOTV2K1YvWE9CWlpKckc1Uk5YY3ZHYlpKMnZORHRNTDVKCmFHdkFE
Tjh6RE9Jd1lKczJiWnIzWGZMemZQNzU1d041K2g5aTRPVDNpM3QzME9qM2s4MTkwQUJrNHNTSm9l
bkdZQ3JJNUZvUGNxM3IKTmcyNXhtdjk0N2RZZlFvYlI3YnRkajVNc21udmJmcjR1L2dRS01nQUJL
b3AwUmxDSjlhcXdVUERoYzRST3ZCQkJqTVgvbzUwa05wSAoyUnVTMW1EaFBCTE1vT05qaUpsZzJ4
bHhHelgvaHpScFhDSStreFlYVm5Jd2U0K1ZDZHNnMjNqKy92ZS9lOW5DcW9GOWpvNmphMFJMCm1M
R0RpdGJQUHZ2TXRkSlkxYkgrb09JWW5VZHJYRldmaU50VitTcWIvRDEvOEI4MjA1ODAzL2dZMjNS
Z0ZoSHFPSzFCdVZvNy9PTGoKNlRlWUZYUGRvRE1zaDFGcTJiQ3J2eEJkN3BpdGR1MXhMVnFDMG9M
QnJLQjFnd0dWcThJVStYQUhnUmlrdUN0RE5xRDJPZ0RKcFg2ZwpMbXl4eFJZZUU4dkduMjg1bkV2
anZCMFJoYkVZdk4razljVHprT1ZGdmdPUVhMaWdjMmxaaUdhOXRCUmoxZzh6dFhZQVlpMkx6Y0hH
CmczS3dhY05NS3pxUDVUWlJBeEMwb1ZnTndHb3IwdTF2Ti8xcHo3ZWR5TFY5WFh2dHRUMnVTQ2Zh
RmhIcDFiSnAxclFqUVhuY2UrKzkKdFJ3TWFjNlRrQU5yemNxMExSdjg0dnVFZ2I1ckN0RUdaVlBY
a3JwTjJvNFhvaDNHTzJYckF6alpGUVRMU1VTbHZMSkFIY2ZnQkJNZgpTZXU2Kzg3YjhzQWtKZXBp
SVl4L0FJTEpQM3hiNWVCaS9mbm5uMmQ4aS9BdDhhKytGS0llNUZMWEN4RnZzZnNVS0NPM0RMUHA3
K1RDCkpKZjJ2aEQxaUdHVWhrRGVBeEMzc2JJTkNuNXg5a2RjbzRRUGlldkhQek9PRGdVYUorc0dT
OEQramlzK29OYmUvZ1o5U09QaUFtNy8KWVU4SVQwNXFONDNqMUtsVFBaRWdwTU0yV240UnNGdHZ2
VFd0NU53R1cxUU1lblpZNHJZckg0akhQL2lDT0kzTkQzNWRFYWlrSHk1RQpGcGR2TUxhaVRvZ0hB
enkvZ2ZpVFRRdXVNZVBzR24rakx4c216Ukt3ZGVNZnhDQXMvMnFLMjdtQnZXaDlzZDdOTDg0dXNH
bkFMK3FYCjM3VEhBVWl1OVFONXcrQWRIU1UzM3hDSnNJTXp6TENqRXhCMjVrZzI5Y1RQTXNsOVBn
T1FYTGlnSStaT0JHQm0wMi9PT3V1c3NneEEKMEpsMTI2cWdnYm8vcmFXNEQrcWNRNndTN1l1ZEhM
SDFLNmpkdEdrc1JEdVJTL3VLK0xIU1pkT0lYOW1ib3JFNmF3MitNNjQ5cmpGNQpaTjhUdUVQZS9H
N1FjWFpOSWRxZ2JONjViTnpHdGVQSVJ5SGFZWHlIWEU0WFhIQ0JpMGhmZHRsbGFmYWlhanJOUHU3
R1g1YUlDNU9JCmhUSitCcGo0Ky9ISEg3M2dTL1V0eXFXdTUxdi9TdEdueUtYZHR2Q3paWkpyZTIv
ajQyLzdKNUQzSnZRTEw3eFFpZnluVWFrbk1wbWUKK2taNW1ZeXVmQmt0cTF5MXdjaHliZHJHTjVr
UlZ0SUJremFyemZqUElZR056R3EwT2NqelNwWm9UWGdpaXFSRXRFdEpwMC9KNEVQSgpySndKR1Nv
clhTT3pyKzZ0NnRPbmozY3ZMeThHZk9ZZXFnVGRqZGwrclI0eTgrVDVnd1lpZjdpZVpaNFhNc0JT
c3JyaWhXTHo1VDJRCkMvbFFlcmZRWmdhVmtGRm1zODAyOCtvQjNNbWdKZU5zR09rMHB3WGhqOWRm
aHRBQzR4cnBuTHUzN2ZZNjEvcUJET0VNQnptcE9pMXYKSDMzMGtaSk90aElSTllXd0gzendRU1V6
bjJsdUZvZWJYTGpJQjFhNUc3dGw1VTg5L2ZUVGFkbkZCdGNqanp3eTdWa3BibVR2aWRkVwo0VnBP
SVM5RnREbkZJUU4xVTJkd2xvbHIvTytjYTFlTWRnTGh4N1d2Ymhyc05kNExlOTRPbnVFTUlIOWV0
dDU2NnpTdFpMSWFZcjE3CnY3STY2MTNqWWtscmczSnBoL0dOY3czWXVzWi8vOWhqajduV3NkZFFX
dUEzUWVmbytOM2tlaStEYlNXVE5KNzNvRytSREVvOGUxd1UKcXg3RTFmVjg0eTFGbnlLWGRqc05y
dThtaWtsN2J1OTkyZUJ0amdUeUhvQ2c4Y0JMTGN0cjZ0UlRUMVVpQzZwV1hubGxreHhvckVJSApD
ZWQ4dlBYV1cxa25VV2F0MHZ3VVNwTldXcUFSTitqMHU0ZDI0Y04zeGhsbnBIV3VaUzlJV2dqUVo0
NE92ZjJUR1Z2UFhtYnRQTjNuCi9vWWJEYVZyd0JMcWlXV1dUb25zcld0VjBHdDBaRjJEdzhqOHh2
L1J3VUFxR3dPMW5qS1RuK1lGZGNNMVVQdUpjMkF3ME1BQmIzR2QKU0pFWmRyMjMyK3RjNjRmTkVE
clUvc0dwaUJNb1dhbFNJZ2FvZHRwcEordDBzZnJOaFFzNm1TSmk1ZVh6NTU5L1ZrT0hEalYvc3Zm
TQpQQmV4VGpNdzh4eVY0RUwyNVNqWjcyVmlrbjBnQ2hNbnVSaDhjS0VPTSt6UC84N2tFZ2Y4N0x6
enprcjJ2S2xYWDMzVnFFTzFCM2phCnlaR2djSXZSVGlScFg0UFNFdlFNNTArNXhqK1k4dHZEcllq
OXVGNk02dUVsc1EyeW1VelNEbHUzOWhkK1hJTURBVjNqbjBoeTdZS3UKZzc0dlFZT1NJTCtGZUJi
RUFCclNYRk9NYjFHU3VwNXZ2S1hvVStUU2JydHMzZXM0SnUyMXZYZnp3T3Y4Q0ZUbDV6M1ROMVEz
M252dgp2V3FYWFhieExORlpIRHg0c09sOEo1MnR4Y2ZRUHpPQm1idFNHbi9IMngrM2FJOVJyc3BQ
Mk8rd3d3NStaMm4zT0NFWnMzZitSdGVkCnBiRWVNSEFycG9HNlgzOUhYc1N4TXFMMHoxQjk4TUVI
R1c3eWZZQUJDanBGcnNGc053WmZHTVJPbVRMRnRWb3Nybk90SDdMbnlNc2YKT3R6Z2doTzMzUTZU
aVBzbzJWdmp1VnVjTHZMaEl0cml6S0dsYm42eENvSS9yQlJpVU9hdTJMbnVpbkdOTWpucHBKTk0y
ZUJYbERMawpIQTFXalhFZ2E1akJ3TVEvVVJIbU51bHpxSjdHS3R1NTU1NGI2cVZZN1VSYyt4cWFv
Q0paTElsdFVMYW9JR1hnRGlyODN5bi85eUx1CmUrZVBINnFzL2NZZmg5KysxUGZGcUFkSjZubys4
YUpOOVhNc2RKOGluM1k3cUF6am1PQWIxOTdhKzZCODhGbnVCTktuTTNJUEo4Mm4KeUdHbUhkUUZT
OUdjb0dURFdwcTdxQnRVZHYrTW43dWFFT1czVkhheXFTMGpLdEc4b2pESUNQdkQ3RDUwd1BzTlB2
S2xOaEFsOHh2WgowK04vcFB3REVEUjBJbGViNGE1UUR5Q3lKNXZiek5LNWFEa3o0aUxvZ0xzbWFy
YldkVmZPNjF6cmh6L05FQ2ZCaXBoclJGRkF5V2Y2CjNmanp1YzZIaTJoQUMxMzF3U0JFVk44cVVm
dVlUL0t5OGlzeTh1WTBkSFRpWlFOb1FjVS9zMHBJSG80aHlvYVBmWmhwcisxRVdIb0wKOFh4SmFZ
T3laWUg2N0s1NmlFcll0Q0N3MnVjYWlDWm5ZMlJ2VG9aemtmWDNEc0hNc0N6emczTFZnMnpqTFVX
ZklwOTJPOWRpYkcvdApmYTc1b0w5Z0FrVVpnR0NnNEpkblJQUVF6MHBxMENqNURRN1VhVS9HbFVP
MjZjSU1FZmFwaFAxQjNDRm9sU0hvcEhnYlpyRitnMmFqCmdyajdsNmd4VXhPMGxKNXZPdEhBNFNS
eGlMcGhGUTBkNy8vOTczOUtOanFteWZFaUhyK0lSYjV4RjhOL3J2VWpLQzJRdmZVUERqSFkKRmMw
cFFjN2I5Yk44dUlqaUJyUGFnZFdDb0FrSmlENWkxZ3ppVE1VMmt5Wk5NZ2VpSVMxeWRrdGdkRGk0
TUtnREgraTRUQThoTmdvUgoyakRUM3RxSnNIUVc0dm1TMWdabHl3UnRMOFFaUlhPVThmcklJNCtZ
QVRadUlINGo2cTdOYzdTL1dEVVRGZm5tUHVrLzBVNFc2TlF2CmJoM29xSVFQeTFVUGNvMjNGSDJL
Zk5ydFhJdXVQYlgzdWVhQi9zSUpGR1VBZ3VpQ1BscitqbXg0c3BTWjlYYmx2ZUcyVUNkelI4V2IK
alowY2FwVTJXd1MvU1RaSCsyWDY0US83UFVwdFJMTktta3c5NG5jM3BOdjArTGxqY0lsQlNDRU5W
b3gyM0hGSEkycUYxUTJJOGsyZQpQRmtGeVc0WE10NWlocFZyL1FoS0V3WWdFRjkwWnlkeGtpNzJ5
bVR6WGdXRlhlcG4rWExCUUF4N1kwU3R0Wkt6Y3pKVzZEQUpJRnJXCmlwb3REUHl3WDBCVWp3ZWU3
SXpJTVh1TXdYT1NFOFhoSHZ0WnNKSVM5dWNxdElEN1Fob01vaUNUSFdUYVV6c1JsTDVDUFZzUzI2
QmMKMklnS2VQTWRrOE4relduZEVMTkMyNFBucUF1aUtjdE1BdUEwOHFpVnM2QzQ0VDlvMzVyZHd4
WGtwOVRQeWxVUDhvbTNGSDJLZk52dApYTXV4UGJUM3VhYWQvcUlKRkcwQUVqU2pqODJQU1EwMnU2
SEN1d2JhdHRxVHdRREovOUVXUGVxQm5YZzMzZWhJaU9wQjk1RVNOYjhsCm1iVjFJOFhId3k5VDdo
OXN3TDEvbjR1Y2QrQUdVNUJyLzZ3MU9tT0w4K0FEVUhLdEgzNmdvbTdXckFoQmhCSGFpRnlEZlFI
b0NDeE8KSmxjdTBBRG1pbnhna3lJR0FOQm1KQWVCcGlINCtPT1AwKzRMZVlPQkQ3VFVpVnBKaGYw
Nm1EeXdmeEFEZS9qaGh4VldQb1lNR1dJVQpDQVN0MUFTbFIxUjJtNVVVcktZRS9RVk42Z1NGazhz
emlJYjZOVW5aY05wVE8ySFRWSXpmSmJFTnlvVVRKb0F3K1lOdkdjVHo4TjVoCmdBQ3RqWmhnZStD
QkI4eWV6bHpDaGgrOHMvNFZiRGs4TDBQa09pcDhpR2NmZDl4eGdlTE1VZjZTMkpXckh1UVRieW42
RkxtMjIwbVkKQjdscEwrMTlVTnI0ckRBRXNocUFKSlc3RjUzNFJuVEdUU0kya0ljdHY3cnUzR3RY
RlMyZVEvN1VQOXNyT3VCZEwrYmEzYXliWVJueAp3SjgvLzMyUVYzUWFYSU84UXpXeDM2REJoR3BP
ZEZCZzVQVGhOQ2VZelliNnppQ0QvUmFmZlBKSmtKVjVKdWR5ZUhZdnZmUlN4dVo5Cnp6TGdBaksv
cnZGdi9JY2Rsb1d0d2NwSFdEcXRtMngvc1Q5SURndUw5QllrR2hicG9ZQ1dRYXRDQ0Q3c3VSdDFy
dlhEaG9GWk1leUQKK2NjLy9tRzByNkZqNng4MFlnQ0NnVWljeWFlZUJJVWRsdit3NTI0WXVYREJP
d1NsQkdEaUdteTJ2TysrKzVTcmt0cy9NZUM2ejRlRApuSDFpQmtIUXdJVlZGa3lxdUg4WU9NdmhX
ZXFpaXk1U2NDTUhSYnBSbC93NnFBMExlaGFYc0VLMEUvNTQvZmR4YVNpbWZiSGFvR3pxCldqWnVp
OFVDNzY2Y0VXUDI0R0VTRUVvVm9IMFM3NU5mQTFhdWFjQkdkLzgzRWlLVGNncDRvaURCQ2UzSDQ0
OC9IaWpPbkNpUUVFZUYKcWdmK3V1Mi85MGRmaUhoTDBhZklwZDIyZWZVejhOOWJkL2EzVU8yOURZ
Ky83WkNBVklMRUJxY3VTeGJTL2tSY0lNTy9pRVdrdWNHQgplLzVEcnFURHJYRktxUnVleVArbmhT
V2lGQmx1M0lQKzVBT3ZSUndvTFF5RU4yN2N1TFJ3a3NRRkQvNURqR1RaT1MyY29CdHBERE1PCjlC
SXhHWE1xdkd5azE2TEpTWXNjclpabGJDMWFlalRTQWlNREtiM2VldXRscFAzc3M4L1dzdUpnM01B
dHVPSHdPZWw0bVdmNGgzQmMKYnRMeE1xZXNpNHl1bGxVampYaGhrdVpiTk9GNDRTRk5Nb0F6L3ZG
UDl0MmtuWXlMZ3huOUJpZWZ1K21SRGVOcFRwQlhNSEhkaUFpTgo1MFkyNEtmWndSME9wNUw5SDRZ
ZnlseG1ZZFBjeUdaanp6OHVwTEV5cDJDN2NlQVF0a0lZVVZlYUZyZU5RellLeGdhZmEvMUF3RGhz
CkRhZkN5OEExTFI2WmJjOUlEM2pJSUMzTlhkSjZrdVlwaTV0U2M4SEJqR0NQZHNLK1IyNXlSUjdk
MkV0SFNZdjRrMmRWS0E0eUEyd08KdUxQbG4rUlgxUE42NlNqSFJkREJiekxUbWxOUzhtMG5jbWxm
a1ZBUkwwbXI3NkpoTVNQOXNucVQ1c2FmUjdTcC92SzY4Y1lidlhBSwowUVloc0d6cVdsSzNTZHZ4
Zk50aHBGL09rdkE0eVdTVEZnMThHaWQwNDMwUzdZZGFWaGExZEpiaE5HOGpXdU84dUZBMk1zT2U5
cDBMCml1RHR0OTgyOVVGVS9adTArTjNrd2dCNXRxWlE5U0RidWw2SWVFdlJwOGpuZTVZdGsxemJl
MXVXL0czL0JCS2RoSTZLTGN1dUdaMUEKTkJyb3BQL3JYLy9TT0FsWVp0LzFZWWNkNWpVcXNzeHFU
aGVYMmUwTUVrODk5WlRuem40WVJNUWdvM0dUcGRtMGVFVXNSOHZTcXprcApXMlpsdE13K1pvU0R6
aXRPUkVhNllaTEVoZE9rL1oxY3BCOTVpalBUcDA5UE85WGM1Z2YrUllPVVNaK0lhbWdNbUZ3akt6
b2FlYkR1CjdhL0lQR3FSdDlXaXBrNmpNM1gvL2ZlNzNyVE1nZ2Y2Z2YrYmJyckpjNXNrMzNBc3Mw
OGFnd1liUDhyYUdsRnI2ajNIS2JsMmNHVHQKOFVHdy91eXZpSnlrblZRc29rTVpicEEvREJxczhY
ODRFQlkrU0xKQlZxTno3ZFlyMktHc2NHcjdIWGZjWVlJUVZiMFpjZURFWlBjVQpYQnRYTnI4NFpW
bFc0akxDUmhyQVF6U0N4UWFYUy8zQWgxNDJCcHQ0YlI1dFJCZ2dvbzViM3ZZWHB4UzdKbWs5Y2Yw
a3ZTNEhGL3RCClFuNFBQZlRRdERvbTRwbmVPeWhuY2FSbG94QWNVRmRGcENxRHVXVWY5aXZhYWRM
U1Vxb2JwRmRXYURJRzVVaW5pR3Zvb0RZNUxtMzUKdEJPNXRxOW9JLzFzWlRWZG8vNVpnNGtYdnh1
WnRkZm9MRmtERm40M29ta3ZiZENlYnh1RXVMS3BhMG5kSm1uSEM5VU9EeG8wS0lPVApueHZ1MGJh
S09LUis3cm5uTE9LY2ZrWDBPRzBTRVczKzhjY2ZyMlZGMTN3ZjBOWmhJa3BXTzB4OGlCdmZLblRZ
L1NaWEJ2ZzJ1KzE0CnZ2VWcxN3FlYjd6Z1VldytCZUxJNVh1V0M1TmMyM3Vra1dieElCQTdBSkZE
endJL1lrR05raHdpcC9FeWk2aVZ4a3k1eVBBRlVzQUsKQlRyblFXR2d3NDdPaEdzd0NQQjN1UEFS
bFJPNXRZaGptSEF3V3lON0UvVElrU1BONEVNMEJKa0dMRWxjR09UNForamR0SWxHa0xUTwpqcHMy
ZTQxR0VnMnk2dy9YeUkrb1VOV3l0RzJkcHYxaWxRY3ozSDUvdU1lcUNScFZ2OEdxaXI5VGpFNC95
c3FhSlBtMmJ2R0wyWE9zClNvQWpXSWhNdUpuTlEwY2ZnejcvcWhMOElMNmdkT01aUGlUb0dOeCsr
KzJoYnRDUndLd3lER2JZTUpoMXc1TkQ1VFJtS1RFREtIdUsKVE1mSjJpTmRJaWR2Vm12Z3hqNzMv
NHAya0l6NlpDS00rWWU2aThFaDh1RVAwNzJIUGR5NU0rNUJRV2RUUDBTa0tpMU8xQ0c3Q2dLbQpR
YXQrTmsyMzNYYWJGMzJTZXVJNVRuaFJUaTc0SUtGdXlzWjdMV2Q5bUhvcGlnczBWbWJSbnNBT2RS
aXJkcTRwQkFjTTdDM2pwTCtvCnYwRXJOVzdhaW5HTjl4THZjVnc2UlhUTnJNSzZFd0Z4NmNtbG5j
aTFmUldSSERNQkU1UVB2TmVmZnZxcFJpTTZhUmtBQUNBQVNVUkIKVk5pWXBBbHlBLzVvWDJTRGZh
QTkvT0E3WXZPZlR4dGt1V1ZUMTVLNFRkS09GN0lkdnVhYWEwSlpCVEhHT3pkMjdGaWIvWngrd1Iv
ZgpjdEVRbVJZM3loWGxiT1BGOTEwMHp3VytVL2t5d0VSWEliNUZ1ZFoxZ0N0RS9VTTR4ZXBUSUd4
cnN2bWU1Y29rMS9iZXBwRy83WjlBCkJaSW9MM2k3TjlnRElKMHZzdzhFS2lNaFJ5b05sRGxJRHhw
cG9FRkpPbXBsendmT0w1azVjNmJDM2hTa0VmTDYwa2pIcGdzeW9ETFkKTUxMOGZmdjJOV294WlVZ
azFCK0tEZnRDRUJjMm9FRy9laUZVNDhySFFFRUhPZElDMVg3WWNDNWlXWW55RUpyWWhCYUlHeWUv
UTRFQgpORzBoYnZld0l1eUZzWHRvckVhV2hFRzNHMmU1MW85Y00xQ3NlcEpyZXNMOEplR0NQUlhZ
NDRTOVZEQXlxMlpPODRiV0syalhRYnNnCkV4V0JVU3d1SEFJVDN3NGZsck9kS0NhT1FyUkIyZFMx
Yk53V005ODJiSHlIWkhYUjdLK3d6K0orc2I4VGU2T1NmT2Vpd2dJTDdFSEUKSGkvODRmc21rNXJt
M2NaM3RKVDdxUXBSRDZMeUdtWlh5SGhMMGFkSTBtNkg1VFh1ZVQ3dGZWell0RzhmQkJhYkFVajd3
TVZVa0FBSgprQUFKa01DU1NRQmFFRVhrVTRrNHA1SVZKTE1CM2MwcEJnblFpaWlyVDJhaXlOck5t
REhEbk50azcvbExBaVJBQW5FRXdvKy9qZk5KCmV4SWdBUklnQVJJZ2dTV0dBRFJQUGk4SEJzc21i
N082amtGSWtNRkFaUGp3NGVxaGh4NHkxa2xWVFFlRnhXY2tRQUlkazBCV2FuZzcKSmlMbW1nUkln
QVJJZ0FTV2JBSVFlY0xnQTJidzRNRm1CU1FzeDdMblNva1NFR010ZStDTW1HNllXejRuQVJJZ2dT
QUNISUFFVWVFegpFaUFCRWlBQkV1aEFCSENPRGxZK1lMQVh6ejMveVk4Qis2OXdSZ2oyQ1k0ZlAx
NkowZ08vRTk2VEFBbVFRQ1FCN2dHSnhFTkxFaUFCCkVpQUJFdWdZQkxDWDQ5eHp6MVZ5MXBDQ1dK
Vm9kalRLSGFEZ1JGVFZLbEYvYXphS1F4a0lEdURFWGhGUms5NHg0RENYSkVBQ0JTWEEKQVVoQmNU
SXdFaUFCRWlBQkVsaThDVUFUNHV6WnM4MUdjMUdMYjdRNnlvSENDaHF2UkFXMmdoYkNmdjM2TGQ2
WlpPcEpnQVRLU29BRAprTExpWitRa1FBSWtRQUlrUUFJa1FBSWswTEVJY0E5SXh5cHY1cFlFU0lB
RVNJQUVTSUFFU0lBRXlrcUFBNUN5NG1ma0pFQUNKRUFDCkpFQUNKRUFDSk5DeENIQUEwckhLbTdr
bEFSSWdBUklnQVJJZ0FSSWdnYklTNEFDa3JQZ1pPUW1RQUFtUUFBbVFBQW1RQUFsMExBSWMKZ0hT
czhtWnVTWUFFU0lBRVNJQUVTSUFFU0tDc0JEZ0FLU3QrUms0Q0pFQUNKRUFDSkVBQ0pFQUNIWXNB
QnlBZHE3eVpXeElnQVJJZwpBUklnQVJJZ0FSSW9Ld0VPUU1xS241R1RBQW1RQUFtUUFBbVFBQW1R
UU1jaXdBRkl4eXB2NXBZRVNJQUVTSUFFU0lBRVNJQUV5a3FBCkE1Q3k0bWZrSkVBQ0pFQUNKRUFD
SkVBQ0pOQ3hDSEFBMHJIS203a2xBUklnQVJJZ0FSSWdBUklnZ2JJUzRBQ2tyUGdaT1FtUUFBbVEK
QUFtUUFBbVFBQWwwTEFJY2dIU3M4bVp1U1lBRVNJQUVTSUFFU0lBRVNLQ3NCRGdBS1N0K1JrNENK
RUFDSkVBQ0pFQUNKRUFDSFlzQQpCeUFkcTd5Wld4SWdBUklnQVJJZ0FSSWdBUklvS3dFT1FNcUtu
NUdUQUFtUUFBbVFBQW1RQUFtUVFNY2l3QUZJeHlwdjVwWUVTSUFFClNJQUVTSUFFU0lBRXlrcUFB
NUN5NG1ma0pFQUNKRUFDSkVBQ0pFQUNKTkN4Q0hBQTBySEttN2tsQVJJZ0FSSWdBUklnQVJJZ2di
SVMKNEFDa3JQZ1pPUW1RQUFtUUFBbVFBQW1RQUFsMExBSWNnSFNzOG1adVNZQUVTSUFFU0lBRVNJ
QUVTS0NzQkRnQUtTdCtSazRDSkVBQwpKRUFDSkVBQ0pFQUNIWXNBQnlBZHE3eVpXeElnQVJJZ0FS
SWdBUklnQVJJb0s0R0NEa0FXTEZpZ3Z2NzY2OUFNL2ZycnIrcVRUejRKCnRTK25SYTVwUTU2Ly9m
YmJzaVc5cGFWRmZmVFJSMldMLy92dld4WCtySmt6cCszYVBxdXQxZXFycjFyTTdmejVXdFhYYTJ2
bC9TWngKODhzdnJTb29mQytRRWwzOCttdXIxT05VZm9vWjVUZmZ0S3BGaXpKWlJjVVo1WDd1M0Zi
VjNKeGRlRkZ4SmJITHRuNUcxYWNGQzdTMApMNW4xSzBrNnl1WG0yMjliMWNLRmhXUCswMDgvcWVl
ZWUwN2Vnem14V1lwcmoyTURLS0tEWXI1RExTMWEyc1Q4M3M4azdWRXg4QlFpCjdXNjZDaDJlR3ph
dlNZQUVTQ0FmQXJFRGtHSERocWxsbDExVzdiNzc3bXI0OE9HcVU2ZE9hdlhWVjFjSEhIQ0EybUdI
SGN6OVBmZmMKbys2Ly8zNjF3Z29ycUh2dnZUYzBQUmRjY0lIYWQ5OTlRKzNMYVpGTDJtNjk5VmJW
dTNkdjllQ0RENVlsNlcrKythYmFkTk5OMVRISApIRlBTK05HUlBlS0loV3FubmVhcks2K3NWOWRm
WDY4R0Q1NnZkdGxsdnRwdnY0VmVXdEQ1T3ZUUWhlck1NK3ZFVFlQYWFxdGF0ZTIyCnRlcWRkOW82
QjBuY3pKelpySVlNbWE5V1hIR2U4SjZuUm94WUVEaUk4U0l1OHNVRkY5UkxQVjVRdEZpUTMxMTNu
YStlZkxKSlhYVFIKSW5YNDRRdFZVMU4wSi9hSEgxclZxYWZXcVdIRE10T0Z3ZEx3NFF2VVF3ODFx
ZlBQWDZRdXZIQlIwZEx1QnB5MGZpYXBUL2ZmM3lqdApTNDIwTHcxdUZPMzJHaDNnUGZhWXI0WU9u
YStXWDc1R25YeHlYZDVwdmUyMjI5UUREenlnWG56eFJiWEJCaHVvaG9ad0ZrbmE0NlFKCmV2VFJS
clg1NXJXcW9tS3UybWFiV3ZYNDQ0MmVWK1FUZFF0Mnh4Ky9VS0VlSmpIRmVvZmVmTE5aMnNSYWFS
Tno0NTJrUFVxU3YxemMKNUp0MmY1eUZEczhmUHU5SmdBUklJQzhDT3Nic3R0dHUrdlBQUC9kY2Rl
M2FWUjkrK09IZS9kLy8vbmN0SFhGenY5NTY2K25MTHJ2TQpzL05mL1BMTEwzcjI3Tm4reDdIMzlU
SmxMck4rc2U2aUhNU0ZrV3ZhWk5DbHg0NGRHeFYxVWUxT1BQRkV2Y3N1dXhRMURqZndEejVvCjFp
dXZQRmVQR3JWQU56UzBlbGF0cmEzNm5IUHE5RHJyMUhqUERqeHd2dDVubi9uZWZXTmpxOTVrazNu
NndRY2J2R2R4Ym1wclcvWHUKdTlmcXlaTWI5UGZmdCtqenpxdVRudmdjZmRGRmRWNFl4YjZvcjIr
Vit0Zm9SZlBMTHkxU2o1dTkrMEplMU5TMDZoVldtS3VuVG0yTApiODg5YS9XWU1RdERvd0dqRjE5
czFMLy9mYTNlZHR0NWFlNWd0KzY2TmZyUlI5dVliN2ZkUEhsbjY5UGNGZXNtcm41bVU1L1dXNjlH
CjJwZmlsTHUvalBQaDBkTFNxbSs0WVpIKzlkY1dFOHlrU1EybXp2NzN2N25YR1ZuTjBEMTY5TkN5
b21UQy9NOS8vcE9SUkg4YkY5Y2UKWndRUThRRDFCZS9kaEFsdDljZzZiMnBxMVgzN3pyVzNpWDZM
K1E2ZGVPSkNhUk5yRTZYRDd5aXVQWUw3UXRZVmYvejVwTjBmRnU0TApIVjVRSEh4R0FpUkFBcmtR
aUYwQk9mMzAwODJLUjlnbzU5aGpqeld6Y2JDdnJxNldtYkNLTUtkbXRXRHR0ZGZPc0plRVp6eXpE
NXFhCm1tUVcvVkQxOHNzdjIwZUpmdDB3azRTQmxZeHMwNGFFeE9YWkpyYTV1ZGxlWnZ5NmFjMndE
SGtnSFg1alUxVlZwU29yWTRzeEpKVHMKSG1NNWY5U29oUktmVXJmZTJsMTE3dHhXMWlqM3l5N3Jx
dFpacDVNWDZFY2Z0UnFSR1R0N1gxMWRvZjc1eis0aVB0SlczbkZ1WG51dApXZDF4UncvMWh6OTBs
aFdRU25YcHBWMmxuQ3JWcTYrRzg3UUp5SVdyOVd0L2tYYXM0cno4Y2x0OHZYdFhTaHJhOG1uZEZ1
SjM4dVJHCjlmUFBXdTI0WTVVWDNLQkIxZXEyMnhwQ1o1ZVhXcXBDVnFPcTFZQUJsZkwrZWQ3TXhZ
UUpqVXJHL1dydnZhczlpeU9PNktJdXVXU1IKUW5sR21hZzZHK1VQZGtucVo3YjFDZlhIbjcrZ2RN
U0ptZm5yUlZBWkI0V2I5SmxJWmFwamorMmlmdmU3MUh1NXh4N1ZhcW1sbE9yVAp4MWM0U1FNVWQr
KysrNjVxYkd6MDN2WHR0dHN1elhkUUc1ZTBiVW9MS09SbTJXVlRhYmUvcnJPcXFncFpkY2p1ZlNq
R095UnpJQ1paCjBpU2FOc3BOWTlMcnVQWW9xcTdFMWJ1b05NU2xQZHV3NDhLTFNndnRTSUFFU0tB
VUJOcDZPU0d4RFIwNk5NUW05VmhtNWRUMjIyL3YKdVVISEErSk1kOTExbDFwNjZhWFZsQ2xUekFE
bSsrKy9OK0paanp6eWlIcnR0ZGVNKzRrVEp4cFo1dHJhV2pWNThtVHBWTDdxaFdNdgpycnZ1T3ZY
WVk0K3BUei85VkgzMjJXZHEzTGh4Q3JMTlYxMTFsWHJycmJmTTljMDMzeXlpQWR1RWhoa1VCdEp0
VGE1cHMvN3I2dXBFCnpPaE1rNzkrL2ZxcCsrNjdUOG5zbzdHZVBuMjZtamx6cGhtWUlZOFEyOXB3
d3cyTlhWaitmL3p4eDlEODJiaFdYSEZGOWQxMzM2bjMKMzM5ZnlhcVVUVXJHTDFpZGM4NDVxa3VY
TG9iZnFxdXVhc0x1MXEyYmV2NzU1MDE2a0dhazkvTExMemNEcWllZmZESncwUG4wMDgyUwpseFlS
NGVrcWNXWjJwaW9ySzlROTkzVDMwakJ5WkxYNjg1L3JSWHhxZ1pvNHNZZUkwRlNxelRhck1uL1dV
WnliM1hacjZ6akREd1k2CjY2L2ZTUVlqbWZIYk1DZE9iRFNESE1oeG8wUC82cXRMRzZzZmYyeVZ2
TmRMdldtUmVxUFZ6VGQzbDNxVGVnV3dkK0xTUyt1bHpsYW8KdDk5dUZuR3hLaW5UcnVxNjZ4cWsv
alZKL1dzVmZxamJYZFhERHplcFJ4NXBsSHFjQ2hkaG5YUE9JbUdzakp0VlY2MlVlTHFwYnQwcQpo
SEdUTUc1US9mcFZDdU5Pd3JoZUdDc1JyK29wakRNN2JULzlwS1h6cmxTZExQVDA3Sm5LNDlaYmQ1
SzlHMHI5My8rMW1FR1l6V2VTClg0aHhZY0NHc3JFRzk5OStxOVdzV1MxcXl5MHptNEN3T3B1a3Zt
UlRQN090VDBnLzJGeHd3U0pwWHhwTVdVMlowc1p4K3ZRbVV6OHgKU0VHNTMzcHJEM25YT3Fsbm4y
MlNRV3lEV211dFRrYVU3YTY3R21Yd3JOU2RkL1lRMGNIcWpESWVONjY3cVI5QmRRVjFBK1c1M0hL
VgpVcjdLK0gzaWlaNXE0TUEyanFoRHJzSGc4Y1lidTZ1VlZncWZLSWg2VDIrLy9YWVJuM3RJNmtD
ek91R0VFeVRlYnVxYWE2NXhvNUIwClpMYVRjQkRXSHNNdXFwMkJmVGJHclY5eGRSNzdmTzY5dHpI
dEhRcDcvNUNHcVBjTDluaFh6anh6a1drVHZ2dXVWZHJFVm1tZllKTXkKVWUrOWRXTi80OW9qZjN1
QXVqSmpScXBkOU5lN09BNklNeTd0WVhVNnJCNml2a2V4c1Bua0x3bVFBQW1VbllETUJtWmwvQ0pZ
cnVlTgpOOTVZUkd3MjBjOCsrNnlXemVoNndJQUIrcWlqampKT1pQT2tQdTY0NDNTZlBuM012Y3pZ
NlMyMzNOTHpmdHBwcDNuaUJkN0QzeTc2CjkrK3ZwWE5zN3VRanJQZllZdzh0Z3hialhsWmc5SExM
TGFmbnpwMnJvOEowdy9DSG4wL2FwUE91UlI1Ynl5REppSWtobmpYV1dNT2sKUldTMFJWeHBaVTk4
N0tLTEx0TDc3NysvaVQ0c3JWSDVnOGU5OXRwTGl4eTRDUVBpR0gzNzl0VkRoZ3d4OTBIL2R0cHBK
eTE3ZEl5Vgp6S0RxZ1FNSGF0blhZKzUvK09FSEVabGF4NVNUREJUMWwxOStLZUk2Nitxamp6NDZL
Q2g5OWRYWUVUMUgzMzEzTXZHZGVmTmFqVmdRCi9QVHBNMWNZWllwdkpISGpKa1k2VkhxMTFXcjBX
MjgxdVkrOWE0aURiTGxsbXhqU2FhY3RsSHJTcXB1Ylc2WGUxRXE5YVRYM3h4NjcKUU9yTlhLazNL
WkVXaUhtOTlsb3F6Smt6c2VGaWpoZEgvLzQxVXY5U29qOC8vZFFpOVhpQnlZK05kS2VkYW9WeGln
bkV6QVlPbkNlTQpVNkpuUC96UVlzVFNCZ3lvMFZPbU5BampaaU1TZGZUUkM2ejN0TjlaczFKeFQ1
dldKb0wxeGh1cFovQWZaWkF1aUZlNVpxdXQ1dW1oClE5UEZVY0FPK1h2a2tjendvdXBza3ZxU1Rm
M010ajV0dlBFOEk4TDM3TE9OMHI2MFNMMnRrZllseFJIaWdCQU50S0p5RU5IYmYvOVUKR1h6eFJi
TmVmdm01ZXZYVmEvVExMemNaY1RXSUFxNnlTcHZZa0Z2R1VYVUZkV1RaWmVmcVRUZWRweDk2cUVH
akhvV0o0NkhzRHp0cwpnYTZzbktObGYwU2F5S0piUnJpT2VrOWhQMm5TSkFtbkVwZWh4dC9HUmJY
SGNlMk1QeElyUnVhS0JycHViSDNIczdnNkgvUU9SYjEvClVlOFg0dHRyci9uU0pxYnFNdDUxaUlN
TkdaS3E4MUZsQ2I5K2s2UTljdXRLVkwyTDQ0QzRvOUllRlhaWVBZd0t6NTlYM3BNQUNaQkEKT1Ft
RVQ4bmxPRFRDcHZWZGQ5MVZabno3cVoxMzN0blQwQ1NEQkxYUlJoc3B5YXdKdWFhbVJqWWp2Nk9t
VHAxcTdxWFQ2OWtGUlcxRgp1K1JEYk54QkpHdmF0R2t5cTdpU2lLejhyRjU2NlNVVkY2WU53eDkr
dm1rYk5XcVVpTGpzYmZKNzVaVlhLdGt6STdPdXo1clZoUDMyCjIwL0pvTXhFQ1RHdkR6LzgwRnlI
cFRVcWZ6Tm16REM4N0tvVVJLLzIzSE5QZjNhOGUvQjU1WlZYMU1pUkk4MHppR1NNSGoxYU5wRSsK
YmxhaG9EUmd6VFhYTk9XQ2NsdHR0ZFZrSS9rdTZ1T1BQL2JDY0Mrd1FST21UNTlrMVFZendVOC8z
Vk9kZTI1WEplTkQyYmk5VUZhdwo2dDBnelN4Mm5CdlhBMVlmOXR5eldqYkZ0czA0dS9ZMU5kcHNj
cDg2dGNrOFB2cm9MbEpmbEpvMHFjbjhRcFJxMnJSbU14c05VYWVYClhtb1dyVUpOWmpVQUt3MHdX
MnhScGNhUDd5NDgydkpwNnc1bXZqZmFxSk1KQzI2blRXc1N4czNDV0tiVXhVQk1hUFRvTHNLNFNS
ZzMKbTFXZk5kZE0rUmsyckxPRTJVa1lWd3ZqRkV2anlmbTM2YVpWSnQ1eDR4cU1pQlJFUGlaTlNt
MzZ4Y3BQdGdZenkwaVRhNnpvbkVnMwpaaGpVa2JBNkcxZGZzcTJmMmRZbkpIYllzR3BwWDZyTml0
TE9PMWRMKzVMaWlGV2wvZmJyTE85YWlsSHYzaFh5cnFXVUhmVHYzMG10CnNrcWxpUEZWaStLTUtp
T3U5c0FEUFVROFVIdHVFTFl0NDZpNmdoVXppTHF0dDE2bDJuLy96bEpQZW9TSzQ0RTl4Sy8yMnF0
YTNYSkwKZzFsOVF6eCtFL2VlK3QxSDNkczhXRGRoN1hGVU8yUDk1dnFMbGM2b091OS9oNkxldjdq
M0M2c1BlTmVIRGsyMUIxaUpRZnRnVFZSWgpXamZ1YjVJMkMrNHQ1Nmg2RjhjaEx1MVJZUWZWdzE5
LzFaRXMzSHp5bWdSSWdBVEtUYUN0aDFXZ2xOaUdHY0ZCZXhaRUM2eUJuYldYCmxSRFQwVUhISFdJ
Rk1udG5OR3BadC81ZjZ3L2lXK2pJZHhZWkN2eEIvT3VaWjU2UlR1TVcwakdPRHRPRzRROGI5L21r
YlpsbGx2R0MKdEtKZ1VEZU1NRys0NFFZek1JTElHTFRYeko4LzM3Z05TMnRVL2w1NDRRWHAvQXhR
dlhyMTh1THIyYk9ueDlSNytOdkZHMis4SWFJaQp5NW1Ca0xXVEZSQnpPV3ZXTFBQcjVoc1BsaEpo
ZGRuTWF1ejgvL3IzVDFVWDIzSDAyd2Zkby9ONytlWGQxUFRwUFNVdEZWTFdpMFJyCldKc1dIZmhK
NGdidVpJTzI2WXlQSFN1eUx5RUdnNlA5OXF1V0FlRUNpYXRPNmxXbDFLc0tNeGlBM0RsRWIvQzMv
ZlpWVW05Nm1zRUcKQmlIYmJWZVZ4aEV5L0hCdmpSU2xaMUxNVXJkdnZORnM4dVYyOGdjT1RIV0Na
ODFLN1J1Qlg5Yy85Z01FcVNLMkVUejZhQThSajJrVgprYUdVTmgvc21ZSEVvT1Z2M1NYNXhiNFp2
K3BpcXhZV29saCtFMVZuNFRhcXZtUmJQMjErc3FsUExrZnNSNEI0amszWERUZDBsenFpClRVZi94
UmViNVYxTDJhWHNsZFFENDlUOEd6Q2drN1JQRlVZOHl6NjFZV1BnR0ZaWDRCYWlkZWhFeHhrTWZF
YU02S3hRbmtPR1ZCa3QKWkVGK2tyeW5RZjZDbnFGOFhPUGV1KzF4VkR2aitzLzFHc2x3aytLdjg2
bDZsQW85NnYyTGU3OWVlS0haREFoNzlXb3JENGd1MnJqagp5aklvZjBuYUl4cys4aEZYNzZ4YnhP
VnlpRXQ3WE5qK2VoZ1hYbEJlK1l3RVNJQUV5a1VnZUJxNVJLbUJxa2dSSVJJVnJkZUwzUDNiCjZx
bW5uakw3UnFLaUYyMVZDaHV2Qnc4ZUhPZ3NsekNEQXNvMUhLd2lvQk9QUHhqcytjQXF4SjEzM3Fr
Z3k0M09oalZCY1VUbDc1dHYKdnBFTnhiOVk3OTZ2Mjhud0hzb0Y1UEhoSG9OQURGUmdzQW9GZmdz
WHRxbkxOUllKL3RrWitBOCthRk9qRytidHl5OWJUQ2NPRzZSaApzSkg2My8vdUtSMy8rV1lBY3VD
Qm5WVVNOMjc0MkU5eTdiWGRaYTlGZWlmTGRZUHIrKy92SWZWcWtWSDlDMW5wcDU1YVNqaTBTcjRy
CmpNeS8zejA2KysrOUY1OG52ei9jUTRZYm03elJFYlo3TnJCQ2dvMndPU0EyVVdBVlpNYU0xUDRT
UEJnNHNGWWRkMXlYdEgwY3htR0MKZjloN2doVWExOWhPZTloRytxZzY2NGJqdjg2MmZtWlRuL3h4
QmQxamJ3YnlldWVkM2VWZHE1QjNMYnBNb1V3QmRjSnZvdXFLMzIyUwplOHpLWTNWbTdOamdnWDJo
MzlNa2FZcHFaNEw4WTE4VEROZ0VHWGR3RjJRZjlTenEvWXQ3djNCV0R0NC92N0dkL216S010djJ5
TWFaCmJiMnovdUxTRG5mWmhKMGtQQnMzZjBtQUJFaWczQVRhcG8xS25CS1JKMWM0VkV0VTJCcFJL
bWg1Z1k3N01HTTcyYXZMR1NSWThYQm4KNlNIV2hkblh1REJ0R0dGeDJPZHg0VmgzUWIvWUdJNVZq
czAyMjB4OThNRUhhc3lZTVdiREtFUmJYQk1XUjFUK01GaUR1Sm1vTW5hRApDcjNHYWdrT2dzTjVE
TmFBT1RhejJrM3k5bm1TMzExM3JUSWlMdi84WjZOWmpRanlZN1cxL1Bpak51ZUR1RzZ3eW9CWmIz
dVlYQkkzCjF2ODExOVNySTQvc2JFUnY3RE4wWFB3RzV4QmdJL2ZZc2QybFh2VVU3VUV0VXE4YXpZ
YnZaNTVwU2x0NVNOV2JKaU1XOWNrbjJHVGUKMW1HRm5WM0JRQnkyUStPUER6UHBnbGdZdDNYeUVU
ODJqVU5NSjE5enp6ME5JcTdWWXNUWWNnbHIzMzJyamZZc2FKeXlCdUZ0dUdHbApyS3BrZHI2ajZx
ejFIL2FiYmYzTXBqNkZ4V21mWTFBOFpreWR2R3ZkTWtUT3JCdjNkL2JzRmdXUmxjMDNiMXNXc1dV
TTVRQmhkY1VOCkk1dHJoTzF1VkhmOUZ2STlUZHJHUmJVemJ0cnNOUWJWR0dSWWtUZjdITDg0Wk5R
T1VOem5TYThobGhqMi9zVzlYMzM3VmhpdGNTalAKSUpOTldXYlRIdG02a20yOWM5TVlsL1pzdzQ0
THo0MmIxeVJBQWlSUWJnSlo5WkNnVVFXcUlNTk80Y1ZNSHY2c1diUm9rWnprM0hibwpHZXh3ajg0
ZFRoNkhGaWdZT1d0RTdiUFBQdDRzdmZWdmZ5RnloTmxWR01nMFEzc0wxUC9LeG5NemlMbmtra3RF
RG52dHlERGRNT0RQCmIzSk5HOEpCSjk4YU9hL0VITGFJZlIvWTd3Rm02TlRCRFVTd01IQkMvakVE
R1pUL2d3OCtPRFIvSTBhTU1Lc1g0OGVQdDlHWlBUWUkKeTAyRHRUend3QVBOWGh3TTJLeUJSaTUw
ZUhDd0pBektFMm0wQmh5Q3dvSTlabkp2dUtHYjBTUTBlblJkbW9nTDdMLzRva1dkZGRZaQo2WHhy
dGNZYWxUSUlhSkRCVWhzYkRBNHdTMmRsdEpPNFFiaDMzOTFnOXBCSVVvM0dHYWpndmZubWVsazFh
d3NiN21EUXFZUVdMQmhvCjBOcG5uODVtWmVMZ2d6c0xWeTMxcGs3Q3dpQ2xWVlRSMWh2NS9SRWpx
bzNXbkNPT3FETjdBckIzNE95ekY1bDlBd2luVjY4S2syNWMKd3k5bVpTSGZqM0xFU2s2L2ZoWFNZ
VzBiZ09BZ1Fld1QySDMzMUtBVDZYWVFpMy9VR1lRV2JjRHVzc3ZxMVlRSlBkTEV3VVMzZ1lpMQpM
ZkxTWkVQQnVYUnVQSGlPUFJQTEwxOXA5c0JZZDg4LzN5eUR3elp0WmZZNWZxUHFMUEliVlYreXJa
L1oxQ2VrRGR6eFp3M0tBSDh3CktEUGtIWjAyRExaZWZERTEyRVNhOFFlRHVtRU5HRURWOGRaYnB4
YUIzVEllTnF3cXRLN0FQd2FYTmw0Ym52dUxOUDduUDgxZXZFZ1AKOWpMODlhK09haWJIUTVMM0ZK
b0M4WjY2N2FzVGhMbjB0M0Z3NjdwMzIrT29kc1lmTHU2N2Q0ZXFaNGlSUWExelczc0JkYStvbzRj
YwpJbktOam9tcjgrNDdGUFgreGIxZkVISERhdVA0OFcySE11SndSS3lLZ0h2VWUrOGsxMXdtYlkv
Y3VvS0poNmg2RjhVaEx1MXhkZHBmCkQrUENReVp4ZUNXMEhkcnZxWjhCNzBtQUJFaWdaQVRrNDV6
SXZQZmVlNkx4NVZoOHdiWHNlZEE0Z0hEZXZEYU5PNkltMG1ocFdYLzkKOWJYc0w5QWlVcVZ4RUph
SSt4Z05VYSsvL3JvY2tyYXQ4WStEKytCR05rQ2JRd3hGUGEwY3REYkdhSTRLU3N4NTU1Mm5aV1pQ
eXdacQpMWU1QZmNzdHQyaFJLMnVlUVFPV3FQWTEzcERHc0REOVliang1Sk8yQ3krOFVJdFlrNWJO
NS9xS0s2N1FwNXh5aXRIUWhmQkZ6RW0wCjVXeXFSZnhKSDNIRUVmcUpKNTdRM2J0MzE0Y2Nja2hr
L3NQeWh6QW5USmlnUmJ6THNKV1Q2Ylhzb1JITlI5dVo1N0QzRzVRRHl1VHEKcTYrV3crMm1hdG1R
cnFXVGFaekpnRWhMcDhWbzBoS1pjQzFLQWZSYWE2MWwyRDc5OU5QK29MeDdhUDBaTktoV3RIMmx0
QkNkZVdicQo0Szl6ejYwemgzUlpoOUJTdFBQT3RScWFxS0JGQ3BxSGpqbG1nWWFtS0d2aTNEei9m
S091cnNiQkllbC8wSFFERFRkKzg5NTd6VklICmFzeEJlemk4RUFmNFFUTVd6QzIzMUV2ZTVraTlt
V00wWUxsYW9IQU5yVmlJQjFxMlhubWxUY3NXRGorRW45R2pGK2dubjJ3d2gvM0IKM2RpeGk0eG1v
N2ZmYmhMR05VWkxHTFFFalJ3NVh4aW5EcDNEQVlHOWVzMDFtbm1ndWVhZGQ1cUVjWTFKeDlOUHQy
bTZjdk1oTThyNgo0b3ZyOUpGSEx0QTRzTTF2Y0hnZjBtTzFrZUZndEh2dnJUZHhJSC8zM1ZldjU4
eHA4L2Y1NTgxRzI4NjExeTR5REtCOUtzeEUxVmxvCnQ0dXJMOW5XVDZRalNYMkN4aWxva3dKbmFB
b0RjeHhNV0ZVMXgyaFhXN2l3MVdpbTZ0bHpqcnhyQytSZGE1UjNiWTY4YTZrRE02RVoKRFpxci92
S1hPc04ydDkxcWpiWW15OEV0NHg5L2JBbXRLemlJcjBlUE9YcWxsZWJxaVJNenRZZ2hQUEJHWGNM
N2dYY0NkZERXQnh1ZgovemZxUFpYTi9YckhIWGMwYmFlbys5YWlqdHp2M2R5N2Jkd2RkOXdSMlI3
RFExUTdFeFFCTk1qdHZmZDh2ZmJhTmVaZE9PR0VoWHJmCmZlZnJaNTVKcjhkeGRmNzExNXN5M3FH
bzl5L3EvVUk2VVNaTExUWEgxSWZodytlYk5FSWJuRDAwTWVxOTkrY3pyajJDZTdldVFNTWEKNmxW
UXZZTzJ0cmgzUHlydFVYVWE3MzVRUFl3S0QybVh5VER6M2J6NzdydHhTME1DSkVBQ1pTTlFnWmhM
TnRweElzSnNIclE0UVJzVQp4SlBjY3prY1o5NGxadm14Y2RzYXpNU0txbDhSbjFuTnJBcmdlVnlZ
L2pCc1dQN2Z1SEQ4N25FUGtTcWtEL3NyL0FZemo5RGRENE1ECnc1RGZ1RGlDOG1mRHhRb0ZWbkVR
SDFaVW9zNEJnUjhVTWM1UkFXOW92U3FVd1VacXpOSkJqaDRibXYxbmcyRHpNdzVqdzJ6bkYxKzAK
R2pFTnV5ZkVwaUdKRytzMnlTOW1aREd6amczcjJFenFGek1TVGNSR0JBd2Fydnp5LytBRThTbG9y
L0VielBwR2FmOUtNVWFkVnNLNApUYXpISDA3Y1BkS0gyWE9jUTJMM2xBVDUrZm5uMWtRYm9WMi9Z
STJOMTBuRWRJTHFyQnRXMUhXMjlkT0dGVmVmckx1b1g2eE1ZSE11CkREU0lXZVVBVzIxVmEyYndM
N21rbTZtUFFadkkvV1VjVlZlaTBtRHRiTjIyOTNHL2hYaFBrN1p4TmkxUjdZeDE0LzhGMTltelcw
V1QKWElWMzJLTGZUUzczVWU5ZjNQdUYxUTVvMnNNN2lucmtiNHVTbHFVdHM2ZzJDM256MTVXd2Vw
ZUVRMXphc3cwN0xqeUk4VUk1Q1EwSgprQUFKbEpOQTJRWWc1Y3cwNDg2TlFFVkZwdWhhYmlIUlYz
c2hvUFd5WlV0S1I2MVA1V1NlUzJGMzFITEtoVlY3OXJPNDFidjJ6SkpwCkl3RVN5SjhBQnlENU0y
UUlKRUFDN1pnQVZzVldXV1dlV1ZWNjlOR1VOcmgybkZ3bWpRUklnQVJJZ0FTV2VBSWNnQ3p4UmN3
TWtrREgKSmdBbEJsQitBTFBHR3AzVUgvK1l2bUc2WTlOaDdrbUFCRWlBQkVpZzlBUTRBQ2s5Yzha
SUFpUkFBaVJBQWlSQUFpUkFBaDJXUU9adQoydzZMZ2hrbkFSSWdBUklnQVJJZ0FSSWdBUklvTmdF
T1FJcE5tT0dUQUFtUUFBbVFBQW1RQUFtUUFBbDRCRGdBOFZEd2dnUklnQVJJCmdBUklnQVJJZ0FS
SW9OZ0VPQUFwTm1HR1R3SWtRQUlrUUFJa1FBSWtRQUlrNEJIZ0FNUkR3UXNTSUFFU0lBRVNJQUVT
SUFFU0lJRmkKRStBQXBOaUVHVDRKa0FBSmtBQUprQUFKa0FBSmtJQkhnQU1RRHdVdlNJQUVTSUFF
U0lBRVNJQUVTSUFFaWsyQUE1QmlFMmI0SkVBQwpKRUFDSkVBQ0pFQUNKRUFDSGdFT1FEd1V2Q0FC
RWlBQkVpQUJFaUFCRWlBQkVpZzJBUTVBaWsyWTRaTUFDWkFBQ1pBQUNaQUFDWkFBCkNYZ0VPQUR4
VVBDQ0JFaUFCRWlBQkVpQUJFaUFCRWlnMkFRNEFDazJZWVpQQWlSQUFpUkFBaVJBUjNwR3Z3QUFJ
QUJKUkVGVUFpUkEKQWlUZ0VlQUF4RVBCQ3hJZ0FSSWdBUklnQVJJZ0FSSWdnV0lUNEFDazJJUVpQ
Z21RQUFtUUFBbVFBQW1RQUFtUWdFZUFBeEFQQlM5SQpnQVJJZ0FSSWdBUklnQVJJZ0FTS1RZQURr
R0lUWnZna1FBSWtRQUlrUUFJa1FBSWtRQUllQVE1QVBCUzhJQUVTSUFFU0lBRVNJQUVTCklBRVNL
RGFCeFg0QXNtREJBdlgxMTE4WG0xTkJ3di8xMTFiMXlTY3RCUW5MSDBoTGkxWWZmWlJiMk1WTWx6
K2RpL3Q5UHB5RDhyNWcKZ1piNjJ4cGt0Vmc5VzdSSXF5Ky96SzMrTFZZWlpXTGJOWUhGNlh2UXJr
RkdKRzd1M0xrUnR2bGJGYnNNR3hvYTFLdXZ2aHFhMEphVwpGdm1XZmhScS8rdXZ2OHAzL0pOUSsv
WnVVV3krK2VTL1BhY3RuM3pSYnpDQjJBSEk0NDgvcnRaYmJ6MVZXVm1wSG4zMDBiUlFQdnp3ClEz
WG9vWWVxaW9vS2RmVFJSNnR2dnZrbXpiN1lOL2ZmZjc5YVlZVVYxTDMzM2x2d3FCNTl0RkZ0dm5t
dDVHMnUybWFiV3ZYNDQ0MWUKSE9qb0R4Kyt3TmdkZi94QzljTVB5VHFRRjF4UXIvYmRkNEVYVHFF
dTNueXpXVzI2YWEwNjVwaTZuSUxNSjEzUFB0dWtmdi83K1laRgpaZVZjTlc1Y3ZhcXQxU1lkTTJZ
MHE4MDJxMVY5K3RTb0cyNm9WK2lrUHZaWW85cCsreFRYWTQ1WkdKcmVNV1BxVEpqcnJ6OVBQZmhn
Cm81bzBxVkhxNFR6emJPZWQ1eXZFVzJxVEwyZC9ldSsvdjFIcWI0M1Uzd2EvVlVIdWMyV2RiZVFU
SnphcXZuM25xV3V2TFU0Ky9PbHAKRDNYQm55YmVsNTlBTWI4SCtBNXV2dm5tMHY1VXlQZGdHL1hV
VTArWkRQLzAwMC9xVDMvNmszbU9iK1JmLy9wWGFmOXExYkJodzlTeQp5eTZyZHQ5OWQvbFdERmVk
T25WU3E2Kyt1anJnZ0FQVURqdnNZTzd2dWVjZWFROGZrL1p3ZStQL21HT09DWVU0WnN3WTQyYjk5
ZGVYCjl2QkJhUThubWU4eTByUHp6anRMZS9oc3FGL1hBdDl3TngvSWx6WG9kQ090Q1BQNDQ0K1g3
OW9QMWlydDk0OS8vR05rQnozTmNaWTMKeFN4REpPWDExMTlYVzI2NXBkcHZ2LzBDVS9ibW0yL0t0
M1JUK1phR2w4VUZGMXdnMy9GOUEvMjM5NGZGNXB0UC90dHoydkxKRi8xRwpFTkFKekxScDA5Q2ox
TXNzczR5V2tYK2FqNmFtSnIzY2NzdnAxdGJXdE9kUk4vWDE5ZnE1NTU2TGNoSnE1L2NyZ3lOOTJX
V1hoYnFQCnN2Q0g1WGQ3NjYzMWt1ODVlc0tFQnIrVmJtcHExWDM3enMxNEh2WGdsMTlhOU96WnpW
Rk9jclk3OGNTRmVwZGRhblB5bjIrNm1wdGIKOWJCaDh3MnJWMTl0OHRKUVc5dXFkOXl4VnIvL2Zu
cWVIM3l3UVZkVXpORmR1ODdSUC8vYzRybTNGL1BtdGVxVlY1NXJ3cnZ5eWtYMgpzYjc4OGpyejdL
bW5HcjFucGI3SWh6UFNXbC9mS25XL0xmM3JyVmNqOWJldWFObklsWFcyQ2RwKyszbjZwSk1XWnVz
dFovZnRvUzdrCm5IaDZ6Q0FRMXhabmVQanRnZDlmTWI4SHQ5MTJtN1EvU2t0SEtTTTVmZnIwMFRJ
NDhKN3Z0dHR1K3ZQUFAvZnV1M2J0cWc4Ly9IRHYKL3U5Ly83dSs5ZFpiemIwTUtLUTlySkQyc0t1
MGh6OTdidXpGdkhuenBEMWMyY1I5NVpWWDJzZlNIbDV1bnNsZ3lIdVc1QUx4SWg4VApKa3pJY0k3
dmVkKytmVE9lMndmNC9pT3RKNTU0b24xVThOOTh5akJKWXE2NTVob3RFNWVoVHBHM1hYYlpKZFQr
bDE5K2tlLzQ3RkQ3CjltWlJ5SGVrMkhrcmR0a25UYitmV1ZKL2RKY2RnZGdWRUl4ZHFxcXExSkZI
SHFta2NWTDc3NysvekdRdndtTmpZSWNaQmN5YUpERUkKQTZzbUw3LzhjaExuYVc2Qy9GWlhWeWVL
dTdtNU9UYXNOQWR5cyt5eXFUelpYOWUrcXFwQ1prbzZ1WTlpcjN2M3JsUnJyNTJkbjdoQQpaZHhu
bkVneHlDcFZuT3RnKzN6VDFhbFRoWm93b1lma3JWS05HclZRelpleFNIT3pWb2NmdmxDTkhkdE5y
YjkrZXA3QmM2KzlxbFY5CnZWTGp4MmZPbXQ5MVY0TTY4TURPSnJHOWVyWFZxMTY5VWhsY1pwbTJa
OEU1Q242S05PVnFDc0ZadnUxUzl4ZEszVytyaTlYVkZWSi8KYzAxVnZMOWNXZHVRa3pMcjBxVncr
WkFtekVZZitwdHRYVWlhajZBSWs2UW55Sjk5RmhWM1BtRW45WnZVblUydi9ZM3pGMmR2d3duNgpk
ZjBHdGV2V2ordk9Qck8vUWY2SytUM28xYXVYaWRyKzJuVGdGOC9jNTZlZmZycFo4WERkdU5mSEhu
dXMybUNERGN3anJKVHN0ZGRlCjBoN1dTM3M0M25WbXJ1KzY2eTVwRHc4MDEyNGM5bG9tQmpQOFJE
MUFmREQyMTNXTDd6bFdBTUxNN2JmZnJvNDQ0Z2lGMVJ1SXkwU1oKcUxKei9mbmRKUzFETjR4c3Jq
dDM3aHpZWjVCSlZCTU1HR0ExSzh6MDd0MWJ2blZyWjFqNzg1SGhvQXdQOG5sSG9wSmJyTHdtTFh0
LwpmeTRxcmJETHhuMFFzN2p3dyt5THhTa3N2c1h0dVhSYms1bU5OdHBJN2JUVFR1cXd3dzR6eTdO
b0ZLM0I4ckpyMERDZGM4NDVxa3VYCkx1cXp6ejVUcTY2NnFycnFxcXRVdDI3ZDFIWFhYV2VXblQv
OTlGTmpOMjdjT05PUXdmNnR0OTR5MXpmZmZMTlo1bmJEeEhXUVh6eEgKdzRGbFVhUnA2YVdYVmxP
bVRQRWEvK25UcDZ1Wk0yZWFCbWZ5NU1sS1puL1VoaHR1R0JoV2p4NDlFRnhpVTFuWjFuTjgvdmtt
Q2J0Qgo5ZXRYS1V2am5kVGxsOWVyNm1xbG5ueXlwNlNsay9yKysxWVJ0V2xVanp6U3FGNTdiV2tU
QjBTU0xyMjBYdEpjb2Q1K3UxbHR0VldWCk92UE1yc1lPZXdQT09XZVJNRlRDcVZVWVZnckRic0l3
RldlZExBYWNlZVlpdGVLS0ZlcTc3MXJWKysrM3FxNHByOGIvanorMml2dDYKWWRvaVRMVzYrZWJ1
d2pTenVQM3Bpc3RIR0J6azRZNDd1cXRCZ3hhbzQ0NnJVMHN0cGRTSUVaM1ZGbHRreG9rd2R0MjFT
bjMxVmF1awpxMEdkZlhaWDFibHpLbDk0WVI5N3JFbktzNnVVVWViZ0pDeitxT2ZUcHpkSkhXZ3hI
ZjNKa3h1bG5IcElIZWlra3VRMWpyTS8zcWh5ClEzNlF0MDgvYlRWbE9tNWNkK01kMzcwTExsZ2s5
YmZCMUlVcFUxSjFCcFpoNVlqNmd2cTIzSEtWVWlmd2JqU29KNTdvcVFZT3pPU2QKQytzd1ptSHh1
aHhteldvMjRvQTc3VlFsQTY3TzZ1T1BXOVhwcDlkSmZlNnFUanFwcTNyZ2dVWjE0WVdMUkhTa1Nq
cGNQWXc0M1IxMwpOS2kxMXVva2t4eGFPRFJLZlZEcXpqdDdxTUdENVNYS3c0VGxJMm5abjMzMkly
WDg4aFhxbFZlYTFlOStWeUVpaFZWcXUrMDZ5VHVuCkkvT0VKSWZGRFR2VXE3Q3dkOXl4T3JUYzRS
Y2liM1BtYUNQcWlQcjg2cXVwOWdSMnJwazRjYUs0bTJORWd0RDJRZTRkejlBNVJ2dDgKMGtrblNW
azhJR1Z4b1JIanNaM2Z1cm82U2R2Wmt1L2xKZCt2U0w1L0ovbmVUUEs5bmRweHh4MGw3ZEgyUC83
NG8ybnZnOXJ6b0RRRgp0ZXNRRGZLbjNjMGJyb1A4NFhtNXZnZUkyNXFoUTRmYXk4QmZmR3NnZW1Y
TnJydnVLdTNoVjlJZTNtellvNU1NazJvUEh6UGZOK1MzCkZDYXM4NDBCRWtUT0xycm9JbmxIN3pL
REVJaUcrVTFRR2Z2ZDREN0tYVlFaUnZVdmt0UnZmMXBRbjg4ODgwejVscTRvNy9WMzhpMTkKWDc2
bHpzZlU4ZkQ5OTk4YmtlOUhIbmxFdnVPdkdadW85d0VkWC9RNSt2WHJaMFRtWk5WSytnWFYwaTk0
MHV1alJPWG43YmZmTnY1Rgp5c1RyUHozeHhCTnF0ZFZXQzMzSG5PVG05STVrKy80aXZpZy9ibnB3
alFuc1N5KzkxUFRWa0wrdHR0cks4TGZ1b3NvK3JEOFh4bW4rCi9QbUIvYitvZEFTMUt5aWpvRDVx
V0x4ZmZQRkZiUHRsODl1aGY2V0JpelVpWDZxbFVJdzcyZXRobG0vbFkrWDVFM2xYN3hvWE1sRFIK
TWtOaW5qVTJOdXFCQXdlS2lFNmJtLzc5KzV2bFl6aVFGMVR2c2NjZVd1Um10V3orMGpJelpFUzZa
S09iOGUvLzUvcUYzY1liYjZ3MwoyV1FUalRUS1puUTlZTUFBZmRSUlJ4bHZzdG5NTEYxYmNTOXBP
TFdzNEhoQitzUHlMSDY3bURTcFFmSTZSMCtkMmlZeTQ3cUIySkUxClAvelFvdGRacDBiaXI5RlRw
alRvTDc5czF1dXVXNk9QUG5xQmNmTFRUeTM2dU9NVzZENTkydksxKys2MStyWFhVaUpMTTJkS3ow
dmkKZXV1dDFQMU9POVVLdzNyanQ3R3hWUmpPTTJKT05yNjk5cHF2SDNnZ0pSclcwcElTQnhzeUpD
V0NCWkdvUGZhb0ZhYXR3clJWbUM0UQpwblAxM0xtWjRrNytkTVhsdzhZZjlpdDdZa3cramp3eWxl
OGdkODgrMnlqMWFaRys0NDZVaU50ZGQ2WHlDYmNRcjRKNERVUzV3R1A4CitEWTcyVjlpbnMyWTBT
Ym1GUlMrKzZ5aElTWE9aY1dlTHJxb1R1cEFxdHlTNURXS3N4dVB2WTRydC83OWEweityUHVOTjU0
bjlYZWUKMU45R3FiOHRwdjRjZFZTS1hWUTVvdDRzdSt4Y3ZlbW04L1JERHpXWU1nNFM3OHVGZFJT
enNIZ2gvbmZ5eVNrUkxKVFozWGUzbFJ2eQpDcEU2VjlSc3Q5MXE5WUVIcHNyaGl5K2E5ZkxMejlX
cnIxNmpYMzY1U2IvNFlxTmhzc29xYmUrSzVXVi9rOVNGcUh3a0tmc2JiMXlrCnp6Z2psYWQzMzhY
eTJSeDkxVldMekxzZGw2ZW91T0UzS3V5b2NvZm81NVpienJNWTlHbW5MVFR2dVBmZ3R3dVp4Uk4z
VzNxUFR6dnQKTk5PKzRnSEVlVnl4VllnTHlReTc1L2JHRzIrVWZKOWg3dDk5OTEzSnQ1SjhYeVg1
L3RJOGk3S1BhcytqMHVTMnhWSHV2RVQrZHVINgp3NlBpZmc4bUdSYlhYbnV0bmpGalJ0cWZkREMx
RE5EOHlmUHUvU0pZbm9WYzJPL3JIWGZjWWNLWHpyMW5EZkVxaUZySjROSFl1ZDlkCm1id3p6NUNX
Ykl6c0h6SCtwazZkR3VqTi9WYTdEcEF1R1JpYVI3SmlreVp5WnQwbExic29kMUZsaUhqaStoZHg5
ZnVHRzI3UU10aXcKU2RiSWl3ekV6VDM2SUJCQkd6SmtpR2Z2WHNnQVRMN2p4OGwzdkkvM09PcDlr
SDAwMGk5WXgvUkxaR0xVdkVQcnJydXU5QXVPOXZ4SAo1VWNHT2RMT0x5dnQvS2JTemo5aytrZXk5
N1pvZmFaYzN0OG9QMTRtblF2WkZ5WDludGZNRTVrY05uVlJKaXZNZlZUWlIvWG5namk5Cjk5NTdr
ZjIvcUhTNDdVcFUvb0xpL2VDREQwTGJYZ2NETDRWQStEcGp5TEJNWGw0ekczYktLYWVZa2FYZm1l
d1hNYk5tSTBlT05GWVkKN1k4ZVBWbzJjVC91elJqQXdvcHNZVE9kcE1PSVpNSHZTaXV0cEVRT1Zy
MzAwa3Yrb0wxNzY5Yyt3SVkvekNCaGxnRWI4cXdHQzhTTgp6V1l5UURGT3NYU0tqZk91OFlmbDJt
Vnp2Y0lLbFdyTk5TdlZSaHQxa2cySW5XV0dvcFBhWlpkcU0vdUxjREJURFRzclhmTGNjMDFxCjFx
d1d0ZlhXcWRVanJCU01IOTlkL0ZXcWFkT2F6SXpyeUpHcFdUQ0k2WXdlM1VVWU5nbkRab1hOM1ZP
bk5xbWhRMU96M1ZpSjJYUFAKdHBuaVNaT2FURHdROVprMnJWbVlWZ3BUTFV6YlJIOXMzdnpwaXN1
SDlSZjJlOFFScVRRamZTSzZIT2JNUEQvb29NN0NwU0p0cFFNego0Y2NjSThzK0JUSlNCYVFPZEpZ
NmtPTGN1M2VGMUlHVXRxYTR2TVp4OWljeHJ0eXNlMytkR3phc1d1cHZ0Vms5MjNubmFxbS9LVkdB
CnFITEVhdGFBQVZodHF4U3h5TTVtSlNGS3ZDOGIxbEhNNHVLRlNCMFlqeHFWWG9aWXVhdG9XekJV
M2J1MzNmZnYzMG10c2txbCtzTWYKcW1XRGJwV3N0RmJMekh3UDBRNm12Ykt5N0xMNWpjcEhYTmtq
SHF4WUlpOHdXREZEWFlYQnV3MFRsYWVvdU9FM0t1eW9jcStwMGVxZApkMXJNKzQ5d2pqNjZpOWVt
NE42YW1wb2FjZmVPdUp0cUhrRkpDTnBaR0t4RXUzV3dlL2Z1YWZkUTZvRzJFZ2FyeFpoOWhjR3NL
MHlVCmZWUjdIcFVtaEd2VEZPY09ibDFqL2RsbnhmNGV2UERDQ3dvYlp0MC96TFRtYXc0NjZDREQy
bDNwa0VGSjVJYm9mT1BNeGorKzRkaFUKRHdNUk11bG95U3J5ODJsQkpDMjdPSGRoWlppa2Z4Rlh2
OTBFeStETnZDTjJ4UXFyUDN2dXVhZnJKTzBhN3dLa1FleTdCTXVvOXdGSwpjdFpjYzAzakIzbkNP
eVQ3UzZSZjhMRUpOeTQvVUhnZ2s2cG05UVRpNzFpbG5EVnJsb2tmWXV5RjdqUGw4djVHK1VtREp6
Y3lHV3pTCnYvWFdXeHVyTGJiWXd1VEp0aTE0R0ZiMlVmMjVJRTVRMkJEVy8wdVNEdHV1Uk9VdktG
N1VrYkMyMTJTYS96d0NXUTlBc0RRcEkzSHoKRVlOR0R5eVR1K2FOTjk0d2pTZ3Fpeld5QW1JdThl
SllZd3RYUnBEbVk0Y2xaL3hoV2ZxWlo1NFIwWjB0ck5PTVgrdlhXcmoza0d2RgpjaGtNbm1QQWhN
WU95MmN2dnZpaTdFOUkvMUM0Zm0xNHVmNmlnK1Yyc2lDR1ZJOUorOThNNHJMMkdBeHN0MTJWOTlH
RmsyT1A3U0lzCkt0VWJielNiemc0R0h0WU1ISmpxOUVDODVZVVhtazNuMDhyQncwM1BubTFoWTVD
Q2NBU24rZHQrK3lwaDJqTlVITXBORjhLS3l3ZmMKQkJsWmNCS05NSXZNdm8vdnY5ZnF2UFBhOWdv
RnVlL2F0VUxFdGJxWURoVkVZcjc0b2tWaGZ3ZlNYaWlUcWdQZHBRNW9xUVAxVWdlYQp6UjRWRzM1
VVh1TTQyekRzYjF5NVdYZTJEZ1RkWTg4R3hMaGc0c29SSFdBTUlKT1liRmpITVF1TEY0UE95eTVi
SkFQanRuYy9TZHJnCkJreGNTYzRCQXpxWlBWajVhRHVMeTBkVTJTTk5TeTFWSVdYUXBscDR4UlVy
dlFrRDJFZVp1TGlqd280cTl6NTlLdVdqV3EzMjNudUIKT3VHRU90Vy9mNlZ3YTJzbmJKcGtodFo4
ZlBmZWUyOXhkNEs0NjI4MEwxbjdxTitscE9GQ3Uyd05SRk5zaHdIUG91eWoydk80TklFWgpUSnc3
NDhqNVovM1pSKzU5TWI0SE1nT3Vyci8rK3JRL08waXphY2psRjk5V2hJM09DenIyRU9QQS9nNDdH
TXdsekVMNXdiZGJObCtMCm1PMGRTamJqRzlYMytGN2ZkTk5OYVZFa0xiczRkMkZsbUxSL2taYW9p
SnNYWkRDSkRyN2RUd09uUFh2MlRQc3UrNzBqYlc3Nm90NEgKK0ExeUQzRTJtQ1Q1d1lES3JWOVI3
NWdKTk9DZm0xNVl1L2Z1T3hJVmRsaVpSZm54SndVVHl4RGxkT1BIWU5hdDQ2NmRtelk4aityUAor
VGxGdWM4bUhYSDU4OGNieHNuUGd2ZXl2endYQ0d1c3NZYTY2NjY3akNxNmd3OCtPRzNERnVRaDBW
QmhFSUFYR1FZekJ0all0WEJoCnB0cFZ1SVhkNE1HRGMwbEtyQi9JWDBLTytjNDc3MVRZUUljWFBx
bkJ2Z3VZWDM0SlZyUHJkcGlTaG1uZFFiYi92ZmZhT2pmMk9YNGgKSHk2S05reEhGQU1MR0t5ZUND
WmhxRVRkY2F1eE54Yk92OSsrM3lhOTJDU2ZyL3k4RTNTaVM4aTBZMEF4ZkhobnM0cUQyWERzQVFq
YQplMklESERPbWl4a1lqQjNiWUFaVko1eVFQbk51M2VYemk3MFNrT0cvODg3dVVnY3FwQTRFYy9m
SEVjZlo3ejZ1M1B6dTQrNVI3d3BaCmp0bXd6b1haamp0V21RSGVxYWZXU1VjbHUvMVVRU3l3RHhU
NXo4ZmtrZzhiMzJtbmRUV0tGTjU5dDhYc3haS0ZBdG5qbEh4d0ZSVjMKVk5oeDVYNy8vVDFFN2ZF
aTZRQTNtTDFqVHoyMWxOazdaTk50ZnpGREwrSWtwcU1NV1dXb2pzVWV1VGdqNGxxUzc4T1ZpRita
Zlh4WQpJUmswYUpEbkxjbytyajFQbXFhazdyeEVKYnpJNTN1UU1JcThuR0ZQQlNiTHhvNGRhenJH
R0R3VzJxd3FlekpoVUZaQnhyK25FMjR3Cjg0N041L2Fiam1kUVJmdnd3dytid2NncXE2eUNSOFlr
TGJ1azdteTQrTTIyZitINkRickcwUUZCSE54T2NKQS85MW5VKytDNkM3ck8KSlQ5eDcxaFFQRW1m
eFlVZFZHWnhmdHk0c1ZkRVJLUGNSMWxkWi92K2hyblBKaDNaNU05bUpvaFRrcmJYK3U4b3Y0bW1U
N0VwQ0grdQoyV2VmZmRSWlo1MWxsZ0FoTW1VTlpoTndrQS8wYVZ1RGpXc2lSMmVXRWUweis0S3ZM
cnJSc2VKaFp3UmdqK1ZOekV5RUdlczN6TjQrCnh4SXhHblJSdTJjMmZ0bm43bTlVV09qMFk1QmhS
V0pjZjE5OTFXSTJocnZQc3JtR0dNY25uMkF6Y2x0bkdQbkdDZ2RtZndXaE1Hd1QKbVJMUlUyR29q
TWhOMzc0VlJxUnE5dXcydjI3YzJQVCt6RE5OYWFzdkthYkZPenNENTZSQTVBcURENWdiYit4dUJr
ekhIbHRuTkdLNQo2VU5Wc3RVSnM4cllyQTd4c2c4L2JCVlJxWnpHeE9yYmIxdGxnSkc1YWYyREQx
cWtEdFJKSGVnbWRTQzd6bXdjWnpkUHVJNHJOK3ZlCkRoVHRmZGh2SWNveEY5YTVNc09zL3IzMzls
QjMzOTBvSFpPMmMzTnMvbXlaMi91b1g5VHRYMy9WY21aQmF1VXZ5cTNmenRhRlhQTmgKdzl0enp5
b2o0Z1RST2lneGVQNTVXZEwwbWJBOHhjVWRGWFpVdWVQTUliUUZZOGQybDdhM3B3d1NXc3ltZmwr
eXpCa09hSGZSa1lXWQpCZ1lUMkhCdWpiODl0OC94Q3hFVWlHekJIeFI0K01Wc291eWoybk9jS3hH
Vkp0c1d4N2x6MDRwcjY4Ly8zSCtmNy9mQUgxNmg3dDN2CksxYWJSb3dZWVVTV0lTNXN4WWV6amV2
YmI3ODFrMjVCL2pBaGlFR0dGVlYyM1dBanZCMmcyT2VRSU1EelVhTkdtVlUxaUxYZzcvenoKenpm
ZmVuVHlyRWxhZGtuZDJYRHRiOUwrUlZUOXRtSGhGd04wOUY5RXJhNzdPS3ZycVBjaExxQ2srWEhE
aVhySFhIZnVkZEozSkNycwpzREtMOHVPbUFkY1F0Y0loamxCT1pFMnEzOU1tSFdPZiszK1R2TCt1
bnlqM1NkSmhtV1dUUDhRZnhzbE5HNjlUQkJJTlFDQm1oUStICjMwQ2pBN1NpdUFicUFyRVhBNE1L
YS9BUnc0dG01VWV4M0drUExZUzhIMGFqV0liRENhdUk1NUpMTGdsVWM0ZndYTDl3anhrRS9Ga0QK
RFF0V1RUQWFjRFJFcUlnWUZFRUVDd01kVkhqOCtjT3lZZGhmeUtsRGs4OUREeldhVlFYN0hDcFpM
N3VzWGgxeVNLcXpiWjgzU3AvTAo3WkFnV1JoSVdJTVpjbWkrUXR3alJsUWJyVlZISEZGbjVOeXhM
d0VyQ0pDRmh3cmFmdjBxaEdIYkFHVG16SlRZMWU2N1Y1c09PMVpEClhCVzJPQndScXlheWgwNGRm
SEJuWWFxRmFaMHdSWWVsVlpqV2g2b0FkdE9GdE1ibHcrYkgvbjc2YVNydE45d2dVOFMvR2V4SHdH
ckkKZi8vYllqU0MyZWY0aFFZZmRLS3NPZlhVbEJ6NzRZZTM4VVNhWVVRWGdYVm04b0libHpIdUlm
cUZRdzAzMnl5enN3cXVjSThPSWRpOAorR0pxWUdiclFGUmVNVENLNG95NFhSTlhibkFMdGNKWVdZ
RkIyWUE5L3F4Qi9jQWZURnc1WWtCcTNWci8vdDljV01jeEM0b1h6NlJhCkc3RkNhTHM2OHNnNjZl
QzBWWDRNNWw5L3ZVWHFsalphMjZEWkRRTU0xN2ozenovZkxHMUxsWWorQkE5SXdRNG1xaTdFNVNP
cTdCSDIKeFJmWHEzWFdxVlFubjl4RllROE5STTljRTVXbnVMaWp3bzRxZHpDQ0ZpeVkzWGFyVnZ2
czA5bUlYN3Jwd2pWT2E0WkdJQmpaWkM3dQo5dkZtcjlFQnhZRnNvaURFYVAxQlp3RHVyYm40NG9z
bDMrdEl2aytXZkI5a3hHMnRIWDZqN0xFaUh0YWVSNlhKYll2bC9JelF0THZwCndMWHJyOWpmQS90
ZFFUeCtnKzlLMEhPNHd6Y0lyUDNpeWpZTS8vZjExRk5QTmQ4SXJFSlpZNysvYmh6MjJ0L1p4a25m
T0VnUG1zdUMKREZhMG9ORVNvdFNZM2JVRzRZaHlBdm11SFdJZm1WOUlEb2lpbUxSbnVFRTl3aDhH
SURoOEVTYXFqSTJEMy81RnVZdjZwaWZwWDhUVgpiNVNGYklJM0tjRmdEeElZV09HeEJnTXpjRUdm
SWNnZ2ZhZ0wrSWJBUkwwUHNFZDhiaG5CdncwN1NYNHdlV3ZySHNLTGVzZGc3emZaCnZDTlJZWWVW
V1pRZmYxckFHNktHV0UxRC93eC8wTGhuVjlDaXlqNnVQK2ZuRk9VZUIyNUdwY05sRnRkSDljY2J4
Z2tzOEc2aTMyejcKdjM0K0hlNWVYcUpJYzk5OTl4bHRGN0k1WE45eXl5MFpibVdtUll1Y2NkcHpX
ZTQzZnE2KyttclJJRFZWeTRaMExaWEJjM1BlZWVlWgp3NHhrYzdxV2o1VUpWMVQybW1jaTY2aEZ4
WjNuMW4vaCtvWFdFTmswWnVJU0dWV05lSEdRalRRb1drNlkxU0x5WmJSSHlMS3hsZ3F2ClJYMmRs
c1pYU3dPcm9WSEJEUXZwQ0RMUUpMWDMzdlAxMm12WDZOR2pGK2dUVGxpbzk5MTN2bjdtbVhUTldO
RGMwNnZYWEhNNElUUUYKdmZOT2sxNXJyUnJkcGNzYy9mVFRqZnIxMTV2MHR0dGlWL1ljUFhic0lv
bS9WZkxaWUxSVDRkbHFxOVhvVjE1cDArNzA5dHROa3E4YQpmZlhWaTR3V3JwRWo1d3ZEdGdQOWNE
amlVa3ZOa2Z6VzZPSEQ1NXMwYnJmZFBPL1F4RnR1cVRkeDQ4QS9hTUJDWEVIR255NW9UWXJLCmh6
OE1hT3BDMm5FbzQ3Ly8zUllIRGg4ODdEQnNacGdqNVRySGFCT0N4cTM3N3FzMytWcHBwYmxTN20y
YWtnNDVaSUZvUkVzZFpqbDkKZXFNZU5BakhxYWZ5aDhQMDhBY05ZM2kyeFJiejlLaFJDL1NJRWZQ
MTBLRzF1bmZ2dVNhUDBzajdreWQxb05Wb2l1clpjNDdVZ1FWUwpCeHFsRHN5Uk9yREFhSjZLeTJz
Y1ozK0VjZVYyM25sMWhnZnFFclNBVlZiT01UeG16V3FTK3R0a3lyT3FhbzdVM3hUTHNISkV1bnIw
Cm1LUEJjZUxFTnU1dWVuSmxIY1VNMnEzODhhSnN3SGZOTld1TTlyTFBQbXMyakpHMm0yNUtIU1NK
TWtVNXJiRkdqVDdycklWR0k5eXUKdTlaNmh6SkNzeE0wZXYzbEwzWDY0b3ZyTkxSa1FWTlZrRWxh
RjZMeWthU2VuM3BxU3FNYjZseW5UblBrOExLNWVzeVloZWJkUmJxaQo4aFFWTjk3OXVMRER5djI5
OTVvTlp4eVNPbmx5ZzBrUE5HUDVEVFRBeU9aWGM5aWRxT0FWZDJQazhOUlUreUtxTEtVc2VrdFpy
Q0ZsCmNaYlI2aU5LUEx6RFlhVURMTytaTW44eVUyNE9iWU4vdEprd2NmYjRUZ1MxNTFGcGN0dGlt
U2dLVGJzL242Ni9ZbjRQb1AxSjFJVWEKSnJMeFZOcjBwMDFTOE4xQUdzQkxaa3kxcUJmVk9EalFH
dVFabWgxaGo0TjhjUUNoYXgvMmZjVTNTam8ySmhpVTE2QkJnMHdZK0w3aAo0RUw4eWFTZWVTYjdK
YVU5SENYdDRRaHBENGVhc3NWM05LZzl0T21DMWtsOHQrVThDL211alpidjJnbnlYZHRYdm12UFdD
Zm05KzY3Cjd6YnBsZ0ZzMnNHS3NJU0dMdFF4NUEzMm9zSldSNVd4RzNDWU8yaDZpdnFtSTR5NC9r
VlUvWmFCdDN3L3RqQnBoaFl4MUdrY3lDajcKT0V6ZlFUcW1oZ3MwbWdVZDFBai8yMjY3cmZFdnE0
dkdmOVQ3Z0xvc25WbWpXVXYyRWtpLzRCM3BGNnhsM2c5Ymg2THlnelNJeW1acAo1MWVTZG42aWh6
RHNIZk1jT0JmWnZDUHdGaFoyV0psRitYR1M0VjJpZjRmNmlYcXoybXFyU2IvbkZXTVhWL1pSL1Ru
VVV6K25LUGNvCjk3QjBJREV1czZnK2FsRDVSSEdTeVhEVFRpQzlORnBYQUlKVWhMd01sbWd4WW5R
TmdzVlpIOUFxQVMwUWZvTVpCbXpXc1FhekJLSkcKMXl6UllVWWl5dmo5UnJtRkhXWVBzRkVJQmpN
ZjdnYjVwR0hoZklMWnMxdEZvMVNGNk1WUHRIQms0b3Y3QjA1WURZQldIcjlKTVd3MQpCd3l1dVdi
bTdENW05TEZDZ0kycDliTFpIUnVOWFlQWjVxKy9iaFdtbFhuTDBydmhMbzdYV0Ntd005Z295MnpF
c2VJNCszbkVsUnRrCi9GRm1TVTI1eWpFZlprRjVRejR3cVloeThKZkJWbHZWbXRYR1N5N3BabGFF
a202dUQ0ckgveXpYZkZ4eHhTSjF3QUdkNWQxU1JuRUIKRkJsTW10Um9Wajd0L3Fxb1BDRWRZWEVu
RGR2Ly9tTDFGVnJ2YW1wYVRSM3UwU1A5bmJkNXg0d3IybDYweldqdi9HY2NvYjNGTEN6YQpSWCti
ZU1VVlYwaStEekNyeFZEYWdUQ2dDUVl6NDlpckYyZVBOQVMxNTNGcHNtMXhuRHViUi90ci9kbjd1
TjlDZkEvaTRsaGM3RkgyCkVEK0M5a21jOTVLdlNWcDJTZDJGcFNldWZ4RlZ2NFBDeEx1QUZTWDBT
YkNhaGRueHBDYkoreEFYVmx4K2d2d0h2V05CN3ZBczIzY2sKS095NE1ndnlFNVllNUJlcmV0QVNs
cTJKZW4rRHdvcHlINVVPUDdPaytZdmpCSkUvVjZsQVVKbzd5ck9DREVDV1JGZ1ZGWm5MN0V0aQpQ
cGtuRWlDQnhaK0ExcW5UcmZQTkNUUWNZYkFoWjFPa0JZVU43SmhJZ3ZyS0tIdVozVTN6eHhzU1dK
SUp4TDB2ZkIrVzVOSm4zdklsCndBRkl2Z1RwbndSSUlDOENtTlZmWlpWNWNpSnVsWHIwMFpUbXZM
d0NMSUJuYk83R3FzemVlMWNiOWRWWXlZRG1PcHpaZ25OKzhqSEYKRER1ZmRNRXZOcXZqWkdLbzc0
VXFkTXdlaWdpQzBjMFBXZWc0KzN6anAzOFNXSndJOEgxWW5FcUxhVzF2QkRnQWFXOGx3dlNRUUFj
agpjUGZkRGQ3Ry9EWFc2S1QrK01mOE92aUZ3Z2V0YmkrOTFDUmFUYlFjY0ZxbDFsb3JVd3d5MTdp
S0dYYXVhYkwrWkkrQ09RZ1cybHh3CnNLdC9GamZPM29iRFh4TG9DQVQ0UG5TRVVtWWVpMEdBQTVC
aVVHV1lKRUFDSkVBQ0pFQWRrM2d6QUFBZ0FFbEVRVlFDSkVBQ0pFQUMKZ1FTUzc0UU45TTZISkVB
Q0pFQUNKRUFDSkVBQ0pFQUNKSkNjQUFjZ3lWblJKUW1RQUFtUUFBbVFBQW1RQUFtUVFKNEVPQURK
RXlDOQprd0FKa0FBSmtBQUprQUFKa0FBSkpDZkFBVWh5Vm5SSkFpUkFBaVJBQWlSQUFpUkFBaVNR
SndFT1FQSUVTTzhrUUFJa1FBSWtRQUlrClFBSWtRQUxKQ1hBQWtwd1ZYWklBQ1pBQUNaQUFDWkFB
Q1pBQUNlUkpnQU9RUEFIU093bVFBQW1RQUFtUUFBbVFBQW1RUUhJQ0hJQWsKWjBXWEpFQUNKRUFD
SkVBQ0pFQUNKRUFDZVJMZ0FDUlBnUFJPQWlSQUFpUkFBaVJBQWlSQUFpU1FuQUFISU1sWjBTVUpr
QUFKa0FBSgprQUFKa0FBSmtFQ2VCRGdBeVJNZ3ZaTUFDWkFBQ1pBQUNaQUFDWkFBQ1NRbndBRklj
bFowU1FJa1FBSWtRQUlrUUFJa1FBSWtrQ2NCCkRrRHlCRWp2SkVBQ0pFQUNKRUFDSkVBQ0pFQUN5
UWx3QUpLY0ZWMlNBQW1RQUFtUUFBbVFBQW1RQUFua1NZQURrRHdCMGpzSmtBQUoKa0FBSmtBQUpr
QUFKa0VCeUFoeUFKR2RGbHlSQUFpUkFBaVJBQWlSQUFpUkFBbmtTNEFBa1Q0RDBUZ0lrUUFJa1FB
SWtRQUlrUUFJawprSnpBWWowQVdiQmdnZnI2NjY4VDV4YnV2LzMyMjhUdVMrbXdvYUZCdmZycXEx
NlUvbnZQSXVRaVd4WWh3WmpIL3JoLy9mVlg5Y2tuCm4wUjVLWmxkSWZNWmxHaC8zdjF1V2xwYTFF
Y2ZmZVIvN04wWHM0NFZPKzllSm5oQkFpUkFBaVJBQWlSQUFrVWtFRHNBZWZMSko5WGcKd1lOVlJV
V0ZXbXV0dGRRdHQ5eFN4T1FrRC9yKysrOVhLNnl3Z3JyMzNuc1RlYnIxMWx0Vjc5NjkxWU1QUHBq
SWZTa2R2Zjc2NjJyTApMYmRVKysyM240bldmeCtYbG14WlJJVVhGUGNGRjF5Zzl0MTMzeWh2SmJF
clpENkRFaHlVZDlmZG0yKytxVGJkZEZOMXpESEh1SSs5CjYyTFdzV0xuM2NzRUwwaUFCRWlBQkVp
QUJFaWd5QVJpQnlCNzdMR0hPdi84ODAweURqbmtFSFg4OGNjWE9Vbkpnai9vb0lQVWFxdXQKbHN5
eHVEcjIyR1BWc3NzdW05aDlLUjF1dmZYVzZ2REREL2VpOU45N0ZzNEZadXFmZi81NTh5UmJGazR3
R1pkQmNWOXl5U1hxMFVjZgp6WEJiNmdlRnpHZFEyb1B5N3JyYmFxdXQxTzkvLzN0VlhWM3RQdmF1
QzEzSGlsWEdYb0o1UVFJa1FBSWtRQUlrUUFKbElCQTdBRUdhCmJNZmQvaFlybmMzTnpWa0ZqWTRn
Vm1hU21temRKdzAzVzNkQitlemN1WE5hWHZ6M2JoeE5UVTNxMEVNUFZTKy8vTEwzdUpCNTg4ZU4K
bGFPMTExN2JpNnNRRjFyclJNSDQzUlV5bjBFSjhPZmR1bWx0YlRXWFZWVlZxckl5L0xVcFZQcUtY
Y1kyWDM2KzlubFFIYlYyL0NVQgpFaUFCRWlBQkVpQ0JmQWlFOTZRaVFzWE0rOGlSSTlXWlo1NnA3
cmpqRHJYbW1tdXFBUU1HcUMrKytDTFUxNDgvL3FoT1AvMTBOV2pRCklMWEZGbHVvR1RObWVHNm5U
NSt1cnJycUtuWHR0ZGVxN2JmZlhyMzMzbnVlM2FKRmk5U2YvL3huWXo5aXhBaDF6VFhYZUhhNFFN
Y1EKSWtLcnJycXEybkRERFNQVEFQZDFkWFVtM1JEZlFqbysvUEJEUERZR012WW5ubmlpT3VPTU00
ekkwY2tubjZ3UVA4eGJiNzJsZHR0dApON1hCQmh1b0YxNTR3ZHh2c3NrbTZ1Njc3emIyU2Y1RjVU
T0pmK3ZtdXV1dVU0ODk5cGhabFRqc3NNUFV3b1VMalZVVWl5aitOdHlnCjMrKy8vMTc5N1c5L1U5
dHV1NjJ4VGxMMlVYRk5uRGpSaVBFaHpPMjIyeTRvU3ZNc3lsMVVQcVBLRUdHdXZQTEs2c1liYnpS
eFBQREEKQTJyZGRkZFZ4eDEzWEdnNlVGL0dqQm1qTHIzMFV1TnU1c3lab1c2dFJWUWRpMkpqL2VP
MzJHVWN4amVzam43NjZhZnE3TFBQTnUvdwpsQ2xUMUdhYmJXYkVCbDk3N1RYMTdydnZxZ01PT0VD
dHROSks2dkxMTC9leWtUU3ZuZ2Rla0FBSmtBQUprQUFKZEF3Q01nTWFhOTU1CjV4MU1WMnZwRkJt
M1AvendnMTVublhXMEREcTBkRWIwbDE5K3FhVWpwNDgrK3VqQXNHUTJWWXNvbDY2dHJkV3lpVmVM
cUlwZWJybmwKOU55NWM3V0ltV2pwRk9ybm5udk8rTDNvb292MC92dnY3NFd6Kys2N2ErbmttSHZw
L0psMHlHREEzRys4OGNaYUJnSDYyV2VmMWJJWgozYVRucUtPTzh2ejZML3IxNjZkbEFLR2w4Mjdp
NjkrL3YxNWpqVFcwekRZYnB6dnR0Sk8rNTU1N3pIVmpZNk1lT0hDZ0hqWnNtQmNNCjRnRUgyUmVq
cDA2ZHFtWEE1Tm5GWGNUbDg0WWJidEFycnJpaUY0ei8zclA0N1FKcGw4NmU5emlLUlJSL0x3RG53
bzM3cDU5KzB0SkIKMTMzNjlERXU0c28rS2k1d2xyMHVYa3lublhhYXFRL2VnOTh1b3R4RjVSUGU0
OG9RZGUyeXl5N3pvcFJCcFQ3d3dBTzllemZ2ZUxqWApYbnRwR2FnWWU5VGR2bjM3NmlGRGhuanUv
UmRSZFN5S2pUOGMzQmVyak1QNFJ0VlJHWUJvR1hUbzFWZGZYVC8wMEVOYUJsbUdtK3dMCk0vWHds
MTkrMFJkZWVLR1dGVWs5Wjg0Y25XMWVnL0xQWnlSQUFpUkFBaVJBQWtzbWdaeFdRTEI2Z0ZXUGpU
YmFTRWtIM2V6RjJHV1gKWGRUSEgzOGNPR3FiTkdtU0VueEdaR2phdEdsbXB2VG5uMzlXTDczMGtw
R254K1pyckNiQVFOekhya3JJb0VUTm1qVkxRVFlmQmlzVwo0OGVQVDl2N2dmaDMzWFZYSlIwL3Rm
UE9PMGRxS0VJWW8wYU5VbnZ2dmJkeGUrV1ZWNnJQUC85Y3ljQkNJVjJ2dlBLS1dkbUJPNGpTCmpC
NDlXajMrK09NS3M3d3dpQWVyTU9lZGQ1N1ovSTRWa3FRRzRZWGxNMmtZZm5kKzhiTXdGbEg4L1dI
NjcyV2dhTW9aNVFjVFYvWlIKY2RYVTFDZ1p6Q29adkptd1pNQnE2b1c1Y2Y3RnVRdkxaNUl5N05h
dFc1cW9XL2Z1M2RQdW5XU1lWVHFrZGVqUW9lWXhSSy8yM0hOUAoxMG5nZFZnZGkySVRHSkE4TEVZ
WmgvR05xcU40MzdFQkh5dUFNa0dnd0JHS0NiNzY2aXQxN3Jubm12ZjIxRk5QTmVXSlo3bmtOWXdC
Cm41TUFDWkFBQ1pBQUNTeFpCSElhZ0FBQk9rWnU1MmlwcFpaUzlmWDFnWFRRZ2NmQUF2TDErSU9Z
MVRQUFBHTUdGQWhEWnAwVk9rVVEKdzNyeHhSZlYvUG56VFRnWW9FQk14NDBIRzMwUmxqV3VIZmFv
UUFRbnlpeXp6REtlOVRiYmJHT3VvV0wyalRmZVVPaHNveE5tamF5QQptRXNNZ3F5QkNOanMyYk5O
Mmp0MTZtUWZ4LzVHNVRQV2M0Z0ROKzl3NHQ2N0xLTDRod1NkOWhqaHVtSDc3OTJ5ajRwTFZsSE1J
QXdECndCTk9PRUgxNzk5ZkJUR01jK2VteGMxbjBqSk15MXpFRFVUdElGcllxMWN2ejFYUG5qM1RX
SGdXemtWWUhZdGk0M2hQdTNUekNndjMKM3MxN05tR0g4VVhZWWUraVAyN2NvOXhkcy9UU1M1dGJU
QzVra3g0M0RGNlRBQW1RQUFtUUFBa3MrUVNxU3BGRkVjOVEyTHdMZGI1QgpCdXBMc2ZwdzU1MTNx
dHR2djkwTUJ1QU9NdVR1ZnBBZ3YvazhneFl0ZEtMd2gvTkJrRTRNWU5ESmhNRUtEOUp0OTFqZ0dR
WW9HS2hnCkQ4T1JSeDZaMWptRmZaUUp5MmVVbjBMWXhmRXZSQncyakxpNG9FNVd4SmpVOWRkZnI5
NSsrMjMxMUZOUEtkdHh0V0hnTjZrNzF3LzIKWGlRcFE5ZFAxUFUzMzN4and2TzdjUWNCZmp2L3ZW
dkg0dGo0L1daem4yM1lZWHl6cWFOWUVYSlp1TmZacGllYnZOSXRDWkFBQ1pBQQpDWkRBNGswZzV4
V1FiTEs5K3Vxcm14VVBkNFVFSWoyWVlmN2dndy9NSmwrc0xMaXJEd2dmblRlc1RuejIyV2RlZFBE
bnJraDRGamxjCmZQZmRkMmExQlJ0cU1kT05RK1p3MW9NMXN2OUJpU3k3V20rOTlld2o5WmUvL01X
SUVLR3poZXVrSmlxZlNjUHd1M003Zkg0Nzl6NksKdit1dUVOZFJjY24rRVFXbVk4ZU9OU0p2Mkx5
TWplQitrOVNkMzEvU01yUWFyZnorL2ZjWUtHRTJIeXRldVJxM2prV3hDUXUvR0dVYwp4cmVRZFRT
WHZJWXg0SE1TSUFFU0lBRVNJSUVsaTBDaUFZaHNLalc1dHIrNGtVM2FSZ09WeFlIWlozVGdnOHpC
Qng5c1ZqTWdQaVViCnowMG5GR2RMUUxVcjludWdRNGpPRC94REJBc0RGUXcwaGc4ZnJycDI3YXFP
T09JSTR3NXVvWWxubFZWV01kRWdUdnhaQTQxVlZtdVYKZmViL2RkT0lQU2FRWThmK0U5bUliUGFS
UURUTUdtZzhRcWRXTnNLYlI5aGpnRFJqUUFKeE1Seks2QTZHSURxR1FRbG05djBtS3AvSQpLM2pL
NW1EUG0vL2VzL2p0QW1KQm1LR0hBZE1vRmxIOGZ3c3U3Y2NmTjhJR1Y2UVRKcXJzbytMQ2llclF2
Z1FEaldMNzdMT1B0OXBrCkh2NzJMOHBkVkQ2VGxDRld0WERnSVBLQXdRRUd0NGpQR2pmdjJPK0RG
VERzTzdJR3A2QmpkdCt0UjliTy9ycDJiaDJMWW1QOXVyL0YKS3VNd3ZuRjFGUFhUelJ2T0tjRzly
YmNZck1QZ2ZZN0xLL3hDWTVhdHcyNitlVTBDSkVBQ0pFQUNKTENFRTVCT1phU1JUcmZSK2lNWQp0
SFMrdFlob2FCa2thT2tjR1kxQUl1dXRvU1VMMm5DNmRPbWluMzc2NmNEd3BMTnU3R1ZHMTJqQWV1
U1JSNHc3RVcvU3NybFZpOWlUCmxvR0dmdUtKSjdSc0ROWnk2S0hSa0FWMzBKaUYrR1ZGUkl1b2x2
RUhUVHdpQXFMWFgzOTlMWU1BTFoxK0xRTURMUjFHbytVcUtCSFEKMGlNZFVDMmJ6L1VWVjF5aFR6
bmxGS09aeTdwRkdBanY2cXV2TmxxdVJOV3dsazZac1lhV0xtaXBRbDVoWk1Da1pmK0MwUW9rSFZy
egpET2xBbXVUQU9uUHYvb3ZLSi9Ja0creE5Ic2VORzJmeTZONURPNUhmeUVaNG8zRklOc3ByVVlV
Y3l5S012ejljNU1XTkcya1RGYndtCmJiSnlZVFNPeFpWOVdGd2lUcWRsTTdPcFE1TW5UOWFpM3Ri
VFFPYW1JOHhka2pLUEtrUEVJV3BtdGV3aE10clB6anJyTEtQaFM1UUwKR0sxby9yeUQrNFFKRTdT
STZKbTZKUU5pTGZ0WHRPeExNcy9kTk52cnVEb1d4c2I2ZDMrTFZjWmhmS1BxcU96SE11KzdLQ0hR
b29wWgppOHB0b3lFTzd5WHlMSHU0dEtncU52VUVuR1Jnb2FQeWl2Y0hiWUdvc1hhenpHc1NJQUVT
SUFFU0lJRU9RS0FDZVN6VkdBdXp5Nkl1CjE0aFdZV2JaTlpoaGgyWWRHTXlvdXVKWVNDSkVkNkNC
cVJBR0lpallpT3RQQThKR1hEanpBUEx0MFB5VHJaazNiNTQ1dzBFNlpZRmUKby9JWjZDSGlJV2Jp
a1kra0pvcC8wakNTdWd1S0N6UGo0QXFGQXlqZkhqMTZCQWFYMUYyZ1oza1lWNFpJRzJidVVkLzhk
UzBvVExqRgpLaE5ZWTNVT3EzSnhKcXFPQmJFSkM2OFlaUnpIdDVCMU5DcXZFRy9EZmlvYUVpQUJF
aUFCRWlDQmprV2dwQU9Ram9BV0crbWhQUXVICkl0S1FBQW1RQUFtUUFBbVFBQW1RQUFta0UrQUFK
SjFIM25lWUtZZDZWQm9TSUFFU0lBRVNJQUVTSUFFU0lJRk1BaHlBWkRMaEV4SWcKQVJJZ0FSSWdB
UklnQVJJZ2dTSVJTS1FGcTBoeE0xZ1NJQUVTSUFFU0lBRVNJQUVTSUlFT1JvQURrQTVXNE13dUNa
QUFDWkFBQ1pBQQpDWkFBQ1pTVEFBY2c1YVRQdUVtQUJFaUFCRWlBQkVpQUJFaWdneEhnQUtTREZU
aXpTd0lrUUFJa1FBSWtRQUlrUUFMbEpNQUJTRG5wCk0yNFNJQUVTSUFFU0lBRVNJQUVTNkdBRU9B
RHBZQVhPN0pJQUNaQUFDWkFBQ1pBQUNaQkFPUWx3QUZKTytveWJCRWlBQkVpQUJFaUEKQkVpQUJE
b1lBUTVBT2xpQk03c2tRQUlrUUFJa1FBSWtRQUlrVUU0Q0hJQ1VrejdqSmdFU0lBRVNJQUVTSUFF
U0lJRU9Sb0FEa0E1Vwo0TXd1Q1pBQUNaQUFDWkFBQ1pBQUNaU1RBQWNnNWFUUHVFbUFCRWlBQkVp
QUJFaUFCRWlnZ3hIZ0FLU0RGVGl6U3dJa1FBSWtRQUlrClFBSWtRQUxsSk1BQlNEbnBNMjRTSUFF
U0lBRVNJQUVTSUFFUzZHQUVPQURwWUFYTzdKSUFDWkFBQ1pBQUNaQUFDWkJBT1Fsd0FGSk8KK295
YkJFaUFCRWlBQkVpQUJFaUFCRG9ZQVE1QU9saUJNN3NrUUFJa1FBSWtRQUlrUUFJa1VFNENISUNV
a3o3akpnRVNJQUVTSUFFUwpJQUVTSUlFT1JvQURrQTVXNE13dUNaQUFDWkFBQ1pBQUNaQUFDWlNU
QUFjZzVhVFB1RW1BQkVpQUJFaUFCRWlBQkVpZ2d4R282bUQ1ClpYWkpnQVRLU0tEaTRvb3l4czZv
U1NCN0F2cENuYjBuK2lBQkVpQUJFb2drd0FGSUpCNWFrZ0FKRkpvQU8zU0ZKc3J3aWtXQUErWmkK
a1dXNEpFQUNIWjBBUmJBNmVnMWcva21BQkVpQUJFaUFCRWlBQkVpZ2hBUTRBQ2toYkVaRkFpUkFB
aVJBQWlSQUFpUkFBaDJkUUZZaQpXRnlPYnAvVmhTSXQ3Yk5jbUNvU0lBRVNJQUVTSUFFU0lJRk1B
bGtOUU9DZG5kMU1pT1Y4d2tGaE9la3piaElnQVJJZ0FSSWdBUklnCmdXd0pVQVFyVzJKMFR3SWtz
RVFUbUR0Mzd2OW43enlnNUtpdXZQL3dncjFrWTVuRkpncmJNamtLWTZJbGNvNENSRGJCZ0FoTEZG
R0EKQlJJQ1REVFpaRXdRbUNqd0xqa0hDNVljRENLS2FHUmd6MkxBdXpiNGU5LzlYWE5McjJ1cU9z
eDBUL2ZNM0h0T2QxZTl1bFgxNmwvVgo5ZDdOTGJ1K1AvM3BUNEdQMFgvLzkzL2Jvdjg2QW82QUkr
QUlPQUlEQm9HR0xTQURCaG0vVUVmQUVSaVFDR3kzM1hiaHpEUFBESXN1CnVtaVg2Ny96emp2RHFh
ZWVHdTY1NTU2d3hCSkxoT1dXV3k3OHk3LzhpMzZXV1dhWnNQZmVlNGVaWnBxcFlqOEVtb01QUGpp
ODhjWWIKeWovenpET0hKNTk4TXZ5Ly8vZi85UFBBQXc5VThMZDc1VC8rNHovQ3NjY2VHNTUrK21u
dEw5ZEluMmVZWVlidzR4Ly9PR3l5eVNaaAo4T0RCV1RkLzk3dmZoVi8rOHBmaGxWZGVDV3Vzc1Vi
NDRROS9HR0tNNGE5Ly9XdDQ2cW1uRk1kSmt5YUZNcjcvL2QvL1ZUeCs4SU1mCmhOdHZ2ejA3cmk4
NEFvNkFJK0FJOUdNRVpLQ29tOEpZeGhXblRrTEE3MGtuM1EzdlN5MEVPdjE1ZmUyMTE2Sk10T04r
KysxWGVpbjMKMzM4L2hTSGlHV2Vja2ZFOCsreXpVU2JwOFJlLytFWFd4c0lmLy9qSE9OOTg4OFdk
ZDk0NS91MXZmOHUyaWZBUmp6amlpQ2dUK3F5dApreFl1dlBCQ3ZjYmJicnN0NjlaSEgzMFU5OWxu
bnpobzBLRDQ4TU1QWiswc1RKZ3dRZm4vOEljL1ZMVC96Ly84VHh3NWNtVFdWc1luCmxxQzQyV2Fi
Wlh5ZHN0RHB6MnVuNE9UOWNBUWNBVWVnVVFSbTdNZXlsVithSStBSTlBRUVaSkllemozMzNEQjY5
T2l3OE1JTFYvVDQKbW11dUNUTGhWKzM3ZDc3em5ZQ1dmTWNkZHd5enpESkxCZDkvL3VkL2hwZGZm
amtjY3NnaEZlMVlHbjd6bTkrRVUwNDVKWHo3MjkrdQoyRmEwY3ZIRkY0ZGRkOTAxL1BhM3Z3MG5u
bmhpbUcyMjJicXd6VFhYWE5xR1JjQUk2OGRQZnZLVGtGb3ovdkdQZndRUlBNSTN2dkVOCjdjTTN2
L2xOWTlmck9lR0VFOEtMTDc2WXRhVUwxMTU3YmJqNzdydkRIbnZzRVZaYWFhVnNFMWFUZi8vM2Z3
OS8vL3Zmc3pZV1pweHgKeHZCdi8vWnYyb2VOTjk0NDI0WTE0NVpiYnNuVzA0WHZmdmU3ZW8xcG15
MGJWbGgzak9EblBuMzIyV2RoN2JYWDF2dXk4c29yNjJiagpUekZoQTVhVHM4NDZ5dzZSM1lNODM2
eXp6cW9ZWll4ZkwzejExVmZoVjcvNlZWaCsrZVhEK3V1dnI2M2dNbmJzV0xXMEhIUE1NV0hJCmtD
SGEzaWcyMTExM1haZzJiWnBpVEQrZEhBRkh3QkZ3QkhvUmdVWWtsbnEwUVdpeVdrVWZmUEJCNUdQ
MHlTZWYyR0pIL1ZvLzBYSkMKSDMvOGNjdjZWODg5YWRuSi9jQ09RSU1JRkQydk1rR05Nb0dPTXRt
UGp6LytlTVVSRjF0c01kV3N5eXN4KzExdHRkVXFlRmpaYTYrOQpkUHZoaHg5ZXNlMkNDeTZJMy9y
V3QrS1hYMzVaMFY2MElxNUFVWVNQK1BiYmIwY1JHcUpNdG92WUl0WU8raU51V3RuMnp6Ly9QTTR6
Cnp6enhxS09PeXRwRUtGSStjVS9LMnZJTFplL0xBdzQ0SVA3cnYvNXJGQUVnaWhDVjdZYmxJY1dp
YVBta2swN0srTVVscXBSL3Q5MTIKeS9qeUMrSXVwZnR4RFhtU0dCYmRkdWloaDJhYnpqdnZQRzJi
UEhseTFzWUMxNUZTRVIvdnlZTU9PaWhseTVaRkFORm5JNzJtNDQ4LwpQaTY5OU5KNnZvVVdXaWpq
YlJTYlhYYlpSWThoZ2xzVVlUTisrdW1uMmJGc29laDV0VzMrNndnNEFvNkFJOUI5QkpvZWhJNy9O
TDdBClJZVC85RHJycktQYXZ5V1hYRExzdE5OT1FRYUJzUHZ1dTZ1V1RDWUpYWGJEZnhxTjVNOSs5
ck1nZzFENDlhOS9yZHEzTmRkY00yeTUKNVpiS2o1WnY2TkNoZWx3MFpSeFBYQ2hVVTNqMjJXZUhx
Vk9uVmh3WFgyU1oyQ2cveDBITEtLNFRZZnZ0dHcrTExMSklFRmNBNVMvagoyMkdISFpSdmd3MDJ5
STRycmdiYXoxVldXU1dJbTBHUWdWWjlwWWNOR3hZNGg5SHZmLzk3MWVhaEFVU3pDU2JRbi8vODV5
Q1RKKzBUCkd0Tng0OGFGdi96bEwrb1RqYllSL2gvOTZFZmgvUFBQdDBQNXJ5UFFMeEJBby8vODg4
OEhFUlNDdURWVlhCUFdFWG05NlVjbWlBR3IKd1NPUFBGSVJ5TTBPSW1nRUVVTEN5U2VmckpZVU93
aHhGOFJxWUNHb1JXakVSNHdZRVJaY2NNSEFmeHR0ZnpVU1FTU3dEK2ZrZjc3VwpXbXVGQXc4OE1O
dmxwWmRlMG1Xc05tVmsxcFQ4ZG1KUXNPaWdtYi9oaGh1eXpTSjhaWGdZTHZ4aWJTRzRuZmZyOWRk
Zm4vSGZkOTk5CkZmd1c5SDdISFhlRVN5NjVKT05yWk9GNzMvdGVFRGVzSUJQK0xydGhpYnJ5eWl2
RFpaZGRwdS9nSWg1Mk1yNkxMcm9vOEQ1OTc3MzMKdWh5TEJpd3c4ODgvZnhDbFRyWWRxOGR6enow
WHhEMHNpTENvc1Nwc0JKdUhIbnBJK1RpZTRWT0dEWDJrSCtKYUZvNDg4a2kxcUJDUAo0dVFJT0FL
T2dDUFFlZ1NhS29DOC92cnI0YTY3N2lvZHVOZGJiNzB3WnN3WXZTb20vQXhVbDE5K2VkaC8vLzJE
K0VNSDhTK3V1R0lHCjRLV1dXa29ETlFuNlJQaEFDTUVFLzlPZi9qU2JoR3kwMFVaaDFLaFJ1cTlv
eDNSZ1BlZWNjN0xBeUJWV1dFRW5MWGJ3YmJiWlJsMGoKV0VkWVlCREU5UUozanllZWVFSUhmYmFW
OFYxOTlkVkJOSDA2WVlLUGZpNjc3TExhejN2dnZUY2c5Q0JBSUd4c3RkVlc0WjEzM29GTgpDZmNJ
QWxVaDBRNEdNSUZ3bjJBaWc1c0R3aEdEN0J4enpLRVRvYU9QUGxwNWNEMnhmYlhCdnh5QmZvSUF6
endLaWNjZWU2ejBpdmcvCm1OSUJnVDFQQ09senp6MTNPTzIwMHdML2Z5YWdUREFSRE9vaC9xL201
b013Zy9DRCsxY1pvVEQ1OE1NUEE0SUkvWkVZanlCVzJZejkKL2ZmZjEyWCswOTJod1JMb3ZlS0tL
MmJ2dVdySFFHbUJZTER1dXV1cVcxRTEzbVpzNDF5ODcvTkVBRDZ1WmdpVGZNb281WU0vNzVLVgo3
aWRXamdvQnhMWnR1T0dHK3I1a1BLaEcxYkRCQlVzc1Z3RkJqVVFCN29wVkRVbmY1Z2c0QW81QTh4
Qm9xZ0NTK2srTFMwSmhMMDNqCmx3NDQzZldmSmlPTGtma2dGL2tzTTFCaFJaQUFTV012OVVWdTFH
ZlovTHk1SHJTdytRRU03ZTdtbTIrZW5aY0Y2NnY5cGh0cHk3Y2IKWnZhYjh2dXlJOUJmRUVDcGdM
QmU5dTdnT2kwbUEydElTcXlqMExqMTFsdFZhTWNTZ1JDQllDQnVVU2xyNGZJenp6d1R4RlZTbFJj
UwpnQjNlZmZkZG5VZ2p5SlFSTVI4b0VTWk9uQmhlZmZWVjNRZGhoN2dGQ0FFQ01rRkVWeHI4bW5Q
T09jTVhYM3hSc1JjVGZ4UVJXRjN6CkJENUY3WG0rbnF4emZmUUJLM2Flc01CSTBMbGFreEVFc1Z3
WGtmRVJJNE1sQWl0SEdXR1JTbE1YR3gvdlhHSmhFRHJyb1NKc0dCTzQKajJUdndncmk1QWc0QW82
QUk5QTdDRFJOQVBtLy8vcy9IZXhKeDhnRWdpRE9lb2tCZHNxVUtXcHhzSDJ3cEJCQUtuN0tRWHlo
clRuNwpSYXRWN3prSVlrUTdlZlBOTjJmN2x5MGNkdGhoYW8wbzIwNDdtbFVzTm1qTzBMRFNUNndU
ZWVIRGpzRUE2K1FJT0FMVkViQUpMWlA1Ck1qSUZBLy9CbEs2NDRnb05Sc2F0a1FCdVhDbXhiR0p4
elF2MDZYNjJqUElBVjArc0ZYelE4S000SUgwc3drZ3Q0aDJGeFJSWElWeEMKb2NVWFgxeC9zYVIw
bDFKRmpSMkR5VGo5elFzbWJEZDhqTGNWdjl3ZjNxZTR2ZFlpM3IyMWlHdkVzbDFHWlJZUUF2Z0pp
RjkxMVZYTApkcTFvTDhLRysxWFA4MUZ4SUY5eEJCd0JSOEFSNkRFQ3RSMmo2enhGa2Y5MDNxVXFQ
WlQ1VHhPZmdjOXlNLzJuMC9Pd1hNdG5tUUVWCnJSNDU2MU1yU1hvY0JBMzRFTFJ3eXpBdHAyV3hZ
WkRNRXhPWE5Gdk52UFBPV3lHa0VDdERacCtVT0w2VEl6RFFFQ0NERVJaVUNKZEcKWXJrYUlWdzBj
VmVDY05YQ0VvSkZCUUVDSzBVMXdtSkFMQUhac2xJaXV4SnhZTFNQSHo4KzNWUzRiTUlDVmxHSWR4
cldYUlFRS0dhSwpKcnE4UitxSlR5azhZUnNhRWZ4d0NjVmxOSjl4cktnN3VGcGhBZUtkaVpLbWpQ
SzFVMUkrM3ExNUN3aTQ3Ym5ubmlyMElXeDJsM2p1CjdMNTE5eGkrbnlQZ0NEZ0Nqa0RqQ0RUTkF0
SnAvdE41S0ZybHMyd0RJd055bnQ1ODgwMTFSeUI0SEUxZ0tvekErOEFERDJqY0NiRW4KOWtHajUr
UUlEQ1FFY0gwaXRnT0xKdFlIQXRJYkpRUUlMSkpHRk1PNzlOSkxkZUpieXdLSjRKTW1sTEJqRUgv
R0J3R0VoQkJHRnNodApTZ2phQ1Y3R0ZRdDNvT0hEaHlzclZscFMwQklyZ2lVMy85OSs2NjIzZ21T
U3lwUVp1bE9IZkZrMWVCT202QmI5bFd4Vkd0dDIxVlZYCmhlOS8vL3RaYjQwLy80N0RVa0o4bnJu
TFdwQzM4V2NIcUxLQUFJSml4bkJINlVOaUQ3REd5dVhrQ0RnQ2pvQWowUGNRYUlvRkpQV2YKQmdJ
R1pnSUw4Wi9HdDdhSXpIOGE3U1NEaTJXUllTS0JSckFaL3ROMlh2cUR6N0xsckxkMmZ2RkZSbE1L
a1FXTEFiYUlVajZDWmFsWgpBTm5BV3VUbnpUVXhzY0t5Z2pVSWYrNlVHSmp6RXg4c0xVNk93RUJC
Z09jZDF5ZTAwR2pKU1NLQmRSVENkU21mOWMzY2praElRVXlVCnBHTlYzcndBUXVPbW0yNnFibFQ4
VjBsVVVhUWtRT2pCdW9IUUFIOWFod1EzVUtwNUl5QVJxMEJmbVB4U1V3UWkyUVI5eE5MSjVKaDMK
d1UwMzNWUmgxU1FHZ3VzaDB4NkpLcGc0WXdtaHlqanZIVnlQT3MwQ3dqMHhheEF1YkFnYlpKV2k5
Z3B1WlZ3elNoVWpzblFSZndQeApudU02SVlRTWtucVl1eGJXSkJNR1Vjamd0Z2J1dGNpc3k5d0Rz
cHBoaVVad0k0RUlRcDZUSStBSU9BS09RTjlEb0NrQ2lQbFBXNEFvCk1PQS9mZU9OTityZ3ZNQUND
MVJGeHZ5bm1TamdQMDBhM0diNFQ5dEpXK216aklZVUlvYWxpQ3h3UE1XbWlNL2JISUdCaUFDQ08y
bHkKeVN5SFJoM0ZCS2wyc1JwZ3dTZ0xBaWNGcTJtL3NVNFFoSjRYOE1FVElRSEZBNjZlUlFJSWsx
bytSVVJHcVh5bUovcUlNcUlSd3BVTApheWVLRnR6TEVEaklrbGNVMjliSWNWdkZTOUlPUHZVU21m
NzQxQ0ppWlBnMFNnU2hZOTNpbWRoa2swM1V0YzJ5QnpaNkxPZDNCQndCClI4QVI2QXdFZWl5QWRM
ci9kS3Q5bGxkZmZYVU5naVFJRmo5dkV6ZzY0L1o2THh5QnprYmc1ei8vdWRidE1VMDJ5UjM0UUtl
ZWVxcCsKYWwwQk1SLzVvSFRiaCt4S3I3MzJXa2RNOWhFNGxsdHVPZXRhWGI4b2NmTEVPNmZzZXJH
MDhDa2ozazlsKzVidDArNTJjQ1BkY1QzVQpLRGFXTUtDZVl6dVBJK0FJT0FLT1FQTVE2TEg5dWxQ
OHA4Mm51TGQ5bHBrNElYd1F6RWh0azd5Zk4rNEhlYXJtQjQyVzFLN0Y5alBmClovdTFkdjkxQlBv
NkFyaHFtdkRScW12cFZFdERxNjdYaitzSU9BS09nQ1BnQ0hRNkFqMnlnSFNLLzNTN2ZaWUplTVcx
Z25vRFpPTEIKcjVucXg5UTBvQm95K2ZETnR4eU5tN21WNEI1Q0lDVXVIZFFyd0s4ZFgydjg0WEZE
b1lZSVdibllIeUxJZGI3NTV0UHNMNTMrWUhuLwpIQUZId0JGd0JCd0JSOEFSY0FRY2dTSUVaaEJ6
ZkdWQy9TS3VyOXRtT0c2R0VIOVpOM3VWSXpXK0tmV2Z4cWU2VTdXYVdFSUlpQ1ViCkRJR2FSYm5u
RzcvNjhqM2FlVS9LZStWYkhJRmlCUHg1TGNiRld6c1RBWDllTy9PK2VLOGNBVWVnN3lQUUl3dEli
MTUrZC95bmU3Ti8KZGk3Y1NjemFZVzMrNndnNEFvNkFJK0FJT0FLT2dDUGdDRGdDLzBTZ3h6RWdE
cVFqNEFnNEFvNkFJK0FJT0FLT2dDUGdDRGdDOVNMZwpBa2k5U0RtZkkrQUlPQUtPZ0NQZ0NEZ0Nq
b0FqNEFqMEdBRVhRSG9Nb1IvQUVYQUUrZ01DK2V4enpieW1QLzNwVDRHUGtXZTBNeVQ4CjF4RndC
QndCUjJBZ0l0Qm5Za0FHNHMzeGEzWUVISUhlUTJDNzdiWUxaNTU1WnErMWkvc0FBQ0FBU1VSQlZG
aDAwVVc3blBUT08rL1UKbWlUMzNIT1BGazZrbmdjSkp2Z3NzOHd5WWUrOTl3NHp6VFJUeFg0SU5B
Y2ZmTEJXNzRaLzVwbG5EazgrK2FTbTdDWlpCY1VKMjAxawo1VHYyMkdPMU1qdDl0SDZTaVkvSzdo
VCtHeng0Y05aTnFwbFQ3K2lWVjE0SmE2eXhSaUFESUhsTXFCai8xRk5QS1hhVEprMEtaWHlrCklB
Y0RzZ1RlZnZ2dDJYRjl3UkZ3QkJ3QlIyQmdJZEIwQVlSQnQxWEYrRXlEU0RWaUNDM2lkNzd6blk2
N1k5YlA3MzN2ZTVwUzk1TlAKUGdtREJnM3F1SDU2aHh5QlRrRGdqMy84WXpqMzNIUEQ2TkdqdXlS
d09PU1FRd0tWenFrZVRqWHNsVlphS2F5Ly92cFp0Nm43Yzh3eAp4NFF0dHRoQ3E2aG5HMlRoTjcv
NVRhQlE2dUdISDU0MkZ5NVQ4Znl1dSs3U2ZwQWVPMDlVM3Y3V3Q3NFZFRUNvOTNQZ2dRY3F5M1BQ
ClBhZVYxbDk0NFlXc01qc2JTTXROZXUyMTFscEw5NkhlQ2NSa25YVGROOTEwazY3bnY2Njk5dHB3
OTkxM2F6RkJyaFZDV0NFbE41bjEKVWdJVHFydFRQWDdqalRmT05oMTMzSEdhemp0clNCYkFic1NJ
RVZuTFJodHRGRDc0NEFOTjdYMzg4Y2RueC9uNDQ0OVYwT0JZdDl4eQpTMWh0dGRWMEh5cVp2L0hH
RzNvTkV5Wk0wUHRoQjZNYS9WNTc3VldUanpGaTExMTN0ZDBxZnQ5ODg4M0FjYmtIQ0d3UWVEMzIy
R1BoClp6LzdtUzZUa09UWlo1L1ZlMVd4czZ6TU1zc3NnZkdCNTJHUlJSYlJ6UlF4NU5vT08reXdD
bUVxdjYrdk93S09nQ1BnQ1BRaUFxVGgKclpmQ1dNYlA2aVFEZFpUQnQ1RHBqanZ1aUd1dnZUWjVm
T01TU3l3UmQ5eHh4eWlWa09OdXUrMFdwUVpHbEFHMnkzNGlaTVJkZHRrbApTb1hidVAvKyswZVpU
RVFaMUtObzMrS3dZY09VLy9lLy8zMWNmdm5sOWJpaXdkUGo3YnZ2dm5HLy9mYUxaNTExVm56cnJi
Y3FqbnZkCmRkZEYwWElxUDhlUkNVWGNmZmZkbzJoQW8yajk0cWFiYnFyOFpYemJiNys5OHNsZ25o
MVhCbFh0NThvcnI2em5QZnJvbzZNTTdsRUcKemJqMDBrdG5mTGZkZGx1a2oyRHcwNS8rTklJSk5H
M2F0Q2dEcExhTDlqSEtnQmxsUUk5UzQwU3ZGMzdSTnNienpqc3ZPeFlMOWR5VAppaDE4eFJGb0l3
SkZ6eXYvVVpsTXg5bG1teTArL3ZqaldlOWtVcS8vQjU3OTlNTzd3b2ovRGYvbDJXZWZQZDUzMzMz
V3JMOXJycmxtCjNIYmJiU3ZheWxaNHIvQWVrcXJxVVlxSkZyTEpwRmY3SVZhU2l1Mzh4eVhsZHRi
MjFWZGZ4UlZXV0NFdXNNQUNVVFQrV2JzdGlOQVUKUldDdzFZcmZBdzQ0SU1vRU80cGxKWXFsUUxj
OS9QRERGZGVmWW1ITEo1MTBrdktDaDJUaUsrVzM5MDE2VXJGV0tEL3Ztanp0dE5OTwpVUVN2S0FK
QXRvbDNFT2VkUEhseTFzYUNGRjNWOTVnMVZ1TVRvY0RZS242dnYvNTZQYllJT2RvT2xyeG5SZERT
ZGhGU3RWMEVNbDIzCjY4Ly9ndCtVS1ZPVVZ3UW9mYjU0eG5iZWVlZlM4YW1pSTErdkZEMnZSWHpl
NWdnNEFvNkFJOUFZQXJVbGl1UjR0VjdHcjczMldtVHkKek1TL2pPNi8vMzRkT000NDQ0eU1oWUZk
dEYwcUNHU05zaUNhMFNpRjkzVFFZSEF6RW8xZ1BPS0lJMVFJc0xZTEw3eFFqOHNFMytpagpqejZL
Kyt5elR4VHJRMlFRVDBtMGJNb3ZoZjdTNWlnYTB6aHk1TWlzcll3UHdXaXp6VFpUUHZxNTBFSUxh
VC9GRlNIYmx3VW1WOS8rCjlyY3IycXl2MTF4elRVVTdLOS85N25majRvc3ZYdEZ1bUluclEwVTdL
N1h1U1pjZHZNRVJhQ01DWmM4ci95SCtwMlVDQTVQMjk5OS8KWHdWNjBjWlhYSUVVOGRSM0FSTjNj
V3ZLdHZHZlBQSEVFN1Axc2dXRUJOSElSNm5mbzVOM3NjWVVzaFlKSUo5Ly9ua1V5MHdVTFgyMgpE
eE41SnNSRi8xZGo0djFSUmloTUVNWjR4MVVqTUJGcmF4UkxTeHc2ZEdncDZ3VVhYS0FDV2hsRE5R
R0U0M010aHg1NmFMWjdtV0NCCjhKUlNFUi92N29NT09paGxxMWgrNG9rbjlIejU5L1dYWDM2cDl3
Z2xqQkhqREFxZmxLUmVWQlNyVkJSTFNEU2hqTzFndXRSU1MrbXgKRWREU2NTTGRQNzljOXJ6bStY
emRFWEFFSEFGSG9ERUVacFRCcFdsMDhjVVhxMm1kQ3VreThBY1pSTHNjMjl5ejhERTJ3b2NhTjRM
VQpKeHJYQ3RGV0JlcHE0RXBoTGd6c3c3NVVDbi94eFJmdEVFRW0rYnFNVDdhUlRPYlZUQzhhelND
V2x5QVRlWFdYWUx2eHAvMmdIYk8vCkNBMHNLcFh4elRycnJOb3Y2eWZIa1lFK2N4dXcvWEdkZVBy
cHAyMjE0cGgyN0hRamJmbDJ3OHgrVTM1ZmRnVDZBd0tMTGJaWUVHMTcKcVdzUzc0RjU1NTFYLzhk
WFhubGx4U1h6ZjhGTlM2d2c2bnFEdTQ1TVdNTzc3NzZyTGxBVnpBVXJZdWxVdDZRRkYxd3diTERC
QnZyTwpFTVZGQWVjL20zRC9ZWitwVTZjRzBkanJPY3dsQzQ2WFhucEpHWWx6S0tOcS8rWEJFbk94
NG9vclZnU3RGeDBIVEhEelhIZmRkWU5ZCmhZcFlldHpHOFhFZkZZR2d5N0ZFMEFxdnZ2cHFFQ3VG
eG4rSU1xY0xEdzNHUnpGWjNzSHdsNUVJamJySjNGaU5EM2V6SFhiWUlWeDIKMldWQmhJa3VybnJH
aDV1Y1dKdzFUa2VzUWRhc1l4RnVkb3hOdU11SlJUM2I1Z3VPZ0NQZ0NEZ0N2WTlBMDdKZ01iaUlK
bEw5aGtVcgpxQy82ZWkvbml5KytDR0l1RC9nWEcrR1BUYkNpdUVVVVZqMW44R1V3cVlkKzlhdGZC
YkdnaEp0dnZya21PMzdDK0ZWWEk1SHhnbWduCjFTZWR3WlYraWp0WkYrSERqc0dnNmVRSU9BTFZF
UkNYeFBET08rOEUzaDlsaEZLRFdJT1Vicnp4UnZYOVIvRGd2YkRoaGh0cVBJbFkKVTdyRWhhVDcy
Yks0Y0daeEpjUXdFSlBDUkxtTUVHNklLMEFRNFozSHU0VTRMeU94MU9naUNwRHUwcHh6emhsNEx4
b3hlU2JRblppVwpQSUZKVVh1ZXI3dnJDQ0djUDA4RTNhTVlZdExQcDR4U1B2anpTcDkwUDk2OUtJ
R0lTOGtUdUVQMXhOTWhqS2JQQ2ZlS0FQaXR0OTQ2Ck1CNkFyNU1qNEFnNEFvNUEreEJvbWdXazA3
U0lLYVN0MU9LWkZjWTBkK2w1MGNDbWdhTm9jQzJ3RWo0eXllU0Q2QkhrbkJ5QmdZakEKa2tzdXFa
ZU5WbDFpdWdvaFFNQkFBWkFTQWV3RWhrc2NSa0FZSWZoYjNLbjBrL0lWTFQvenpET0JnT3RMTHJs
RU42T2RaNUo4empubgphSmFub24ydzFvcTdrWDc0djBvc21scEJPQ2VhZWl3WWtBa2l1dExnVjM2
U2prVUFDNnZFbG5XeGtLWlczd1pQVTVNZFBCQSt4TldwCkN5ODRJelJDRWhjWHhMV3FDdzhOS1I5
V0xwSU5WQ01zVVVVQ3lLT1BQcW9aeHlST3A5cnV1aTMvbklBZndldDhuQndCUjhBUmNBVGEKajBE
VExDQ2RxRVZNNFcyVkZzOWNCWXFzSm1SMGtYZ1NuUmloZFV1RkVmcjJnS1RobERpUWlnL3VZazZP
d0VCRGdFeFB1SEJDWkpDcQpseEFBSG5ua2tjelNnVEFnc1FlYU9lcldXMit0ZVJnbTlXUmt3bHJC
aC9mRTVwdHZIa2dsaXdLaEZqR2h4WExMaEptVXRwREVjT2t2CmxwUytUZ2lEV0hna3hxVG1wZkNP
cTBVSVZoS2JVWlVOWlU1ZUFBSEwwMDQ3VFRPZVZkMjVaQ091c2s2T2dDUGdDRGdDbllOQVV5d2cK
bmFwRk5KaGJxY1VqVno1VXBPMWtNclRsbGx1cWZ6USs1WG16LzZoUm85VG4zUHJKTHk1ZFRvN0FR
RUlBQ3dRV2pJY2Vla2lGZ09lZgpmMTc5L2V2QkFKY3RpQlM5Umh3TDRmN0lJNDlVWVFMTFl4SGh0
b1RWZ2hpemxJWU1HYUoxTEdnZlAzNTh1cWx3MmF3Vk5za2w5UzV4CmJiaGVTaUI2RjRzRkIrR2Ro
TFdra3dsTEV4WVhsQ3VrUTY1RnVGcnhIc1I5RFpmVU1zclhTOG56SVlDZ3ZERzYrdXFyTlpVeWdr
dWEKUXRpMis2OGo0QWc0QW81QTMwT2dLUmFRVHRjaXRsS0xKNWxWOUs0VHcxSkVGbXhhRkpCZnhP
OXRqc0JBUWdDQlcxSnlCMG5wcWhOWAphajNncnc5ZGRkVlZXditDUkE3MndjV0tHQkVLL0dFMVFZ
Q0FzRnlrZFBycHAydVJRTW1VbERaWExHTnhJZWc4VC95bitTQ0FFTnh1ClJOMGhDT0hCaUxpQ2lS
TW5ocm5ubmpzTUh6NWNtM0gvSVpFRk1RdkVzT1d0bWdSUlMxYXBpdVBZOGRyeFMxME95QVFvbHVr
akxsVlkKdHJrUFZudUpiY2FmdCtoaUtVR3BZa29ac0VuNWRhV09Md1FRNnF0UW80VDd5ajI4OU5K
TGc2UmhyMk52WjNFRUhBRkh3QkhvQ3dqMApXQVhYNlZyRVZtdnh5S2F5NnFxcmhpdXV1RUsxblNa
dzlJV2I3MzEwQk5xTkFCcHpCQkMwM0V4eWlhOGd3eDJUZDdUdkptRGsrMG1tCktTYjZaZ0hKV3hm
UjJwOTg4c2thMjRHYlZ0NzNud1FXV0RjUUdxVHVUMFZXSlJKZ1VOa2J5d3laK000Ly8zek51SGZL
S2Fkb055aVMKaDBzUUxsb0lKVXk0S1N5WXhuT1pJTFhISG51RVpaZGROa2hORXJXRWtCR1B1QW0w
K1oxZ0FVRUFOQXZRbURGalZOaDQ3NzMzTktnZgpWekt1azlnYW94dHV1Q0ZZRmpLc3Vsd2JoRkFp
S1hRemR5MHFvVnZ5RFZ5endCK3M2NkdGRjE1WXNVUnBnOUNCaTF2YWgzcU80VHlPCmdDUGdDRGdD
SFk2QVRORHJwakMyYTlrUUdaUmp2akNYSFpDODYrSlhyUVgxckkxaVlRSkpQUFhVVTYwcFVqdUR3
bDJpUll5U1RTWnIKZi9EQkJ6V2Z1MVMxamFLSnpOcFpFQk45bE5TWFVTWXEyaTZEcUI0M3plOE9E
N25weGVRZlpWSlJzYjlNY3BSZjNENHEybVd5b2tYQwpyQ0NhK0IwcjMrMjMzMTdCbDY1SWtLWVdN
Qk4zcXk3OXBONEoxd3VQa1FncjJpYVRMbXZLZnVlZmYvNG9LVW16ZFJZTXMyT1BQYmFpCm5aV2ll
OUtGeVJzY2dRNUJJUCs4aXRZOGl1YTlKYjJqNWdULzUzWVRkVVpFOElqaVdsWlltTERkL2ZQemx5
T1FmMTdMT1gyTEkrQUkKT0FLT1FDTUl6TmdUK2FoVHRJanQxdUpKY1N3Tm5KVmlaSnEvSDAwZk5R
RFF6cUtwSlhnU3JSNUVvQ29aZGlBMHFiaHVrQ1dHZEo3awo4a2Y3aUU4NVdtRGNUc2l0ei80UXJo
NVNtREhzdWVlZXV1NWZqa0JmUnlDdDc5UHNhK0YvVkMwOWJMUFBWM1k4dFAvTExiZGMyV1p2CmR3
UWNBVWZBRVhBRUJod0NNeUN0MUh2Vk14dzNnNVQzclp1OTNzUFd4WWNiQmRseGNGc2dTRFR2VWxI
WFFYcUJ5ZnpTOFkvR2JhQ1YKS1RLNW5IYmVrMTZBMDAvUnp4RHc1N1dmM2RCK2Zqbit2UGJ6Ryt5
WDV3ZzRBbTFEb0VjV2tON3NkVi9SSXVLWGJ0YU8zc1RIeitVSQpPQUtPZ0NQZ0NEZ0Nqb0FqNEFq
MEJRUyswUmM2NlgxMEJCd0JSOEFSY0FRY0FVZkFFWEFFSElIK2dZQUxJUDNqUHZwVk9BS09nQ1Bn
CkNEZ0Nqb0FqNEFnNEFuMENBUmRBK3NSdDhrNDZBbzZBSStBSU9BS09nQ1BnQ0RnQy9RTUJGMEQ2
eDMzMHEzQUVISUVlSW1BRjlucDQKbU1MZC8vU25Qd1UrUmxiVTBOYjkxeEZ3QkJ3QlI4QVJHRWdJ
TkQwSW5VRzhWY1g0YkFDM3Fyd000bW54cjA2NWNkWlBxdmlTQ2xScQptNFJCZ3daMVN2ZThINDZB
STFDQXdIYmJiUmVrcGxGWWRORkZ1Mnk5ODg0N2c5UXVDdmZjYzQ4V1RpU3RMaG51K0N5enpESmg3
NzMzCkRsSnZxR0kvM29WVWJIL2pqVGMwRGUvTU04OGNubnp5U2EzZ1RyYThCeDU0b0lLL0hTdWtC
WmY2UW9FQ2lWd1RIL3JKZTRzQ2k1dHMKc2trWVBIaHcxalVLRFA3eWw3OE1yN3p5U2xoampUVUNL
Y2hKcEVqaHhxZWVla3F4bXpScFVpampvem82R0pDbVhHb3JaY2YxQlVmQQpFWEFFSElHQmhVRFRC
WkIyRE9LZE1JaFNFZjZnZ3c0S1U2Wk1DVU9IRHRXcXg4ODg4MHo0N0xQUEF0dWVlKzQ1ZmJKKy8v
dmY2NERQCk5pb2lIM2ZjY1dHOTlkYlRPaURVKzZCcU1JTS83VkpFTVR6NjZLTmFCK1RlZSsvVndm
NlFRdzdSeVU1M0hsTlNTbllTdFN1bGN5ZGgKNEgwSldtMzczSFBQRGFOSGorNlNRWTduWFlxUWF2
cnRlZWFaSjZ5MDBrcGgvZlhYejJDVElvYmhtR09PQ1ZLc1ZLdW9aeHRrZ1FyZgovUGNPUC96d3RM
bHdXUXFGQmlxZzB3L3E4K1NKL3lnMVJSQkFmdkdMWHdRcGdxb3MvSzlYWG5ubDhNSUxMNFNMTHJv
bzI0MlU0ZFQzCldXdXR0WFFmcTNmQ1pKMTZRVlJPTDZKcnI3MDIzSDMzM1lFSzZsd3JoTEJDVFNC
U2U2ZEVTbklxdmxNOWZ1T05OODQyOGU2Z25sQVIKZ2QySUVTT3lUUnR0dEZINDRJTVB0TGJROGNj
Zm54MkhLdkFJR2h6cmxsdHVDYXV0dHBydVExVnlCQ3F1WWNLRUNWa2YyZmpwcDUrRwp2ZmJhcXlZ
Zmd0bXV1KzZxZlBrdktSNnJ4K1VlSUFoQm5PdXh4eDRMVkpkbm1ZeUl6ejc3ck42ci9QNnp6REpM
UUVIRjg3RElJb3ZvCjVnOC8vREJ3YlljZGRsaUZNSlhmMTljZEFVZkFFWEFFZWhFQjZvRFVTNkdn
RW5xNjcydXZ2UlpsOGh6MzIyKy90TGxpK2Y3Nzc5Y3EKNEZRSU41TEJKTXBnRTJWZ3R5YjkvZU1m
L3hpbDhGN2NlZWVkSXhXVGphaHdmTVFSUjBUUjBGbFR2UERDQy9XNGFTWDBqejc2S082egp6ejVS
ckEveDRZY2Z6bmhaa01GVCthWFFYMFc3VEZqaXlKRWpzN1l5UHJHK3hNMDIyMHo1Nk9kQ0N5Mmsv
YVNxZTBwbm5YVlcvUGEzCnY1MDJaWDI5NXBwckt0cFpvWEw4NG9zdlh0RnVtTW1Fb0tLZGxWcjNK
TjJoRWQ1MHYxWXNkMUpmV25GOWZzeGlCSXJ1Ty84Um1VekgKMldhYkxUNysrT1BaampLcDEvK292
QTRyZnFWZ1o4WXpiZHEwS0JhTE9QdnNzOGY3N3JzdmEyZGh6VFhYak50dXUyMUZXOW1LQ0NseAp0
OTEyaTNQTU1VY1VwVUVoRys4cCtpSldrb3J0TWpHT1V2TW5hL3ZxcTYvaUNpdXNFQmRZWUlIQ3l1
ZFVmaGVCSWVOUEYwVHBFR1dDCkhjV3lFc1ZTb0p0NGQrVXh5SytmZE5KSnlnc2VrZ3E4bFArT08r
NUlUNmZMWXExUWZpbm8ybVhiVGp2dEZFWHdpaUlBWk52T08rODgKNVo4OGVYTFd4Z0x2YU01dlZJ
MVBoQUpqcS9pOS92cnI5ZGdpNUdnN1dJclFGRVhRMG5ZUlVyVmRCREpkeitOZzYrQW55aURsRlFG
SwpueStlTWNZU0VRNHJ6bGx0cGVoNXJjYnYyeHdCUjhBUmNBVHFRNkNwTVNBWFgzeXhhcmFva1A3
NTU1L0xXTkNWekQwTExiOFJMZ3hvCjhWS1hCRFNiTWxnRTZtcWd5VFFOSXZ1d0w1WENjUkV3a2tt
K0x1SVNZU1NUZWRXU2JiamhobUh0dGRmV3F1SzJ6ZmpUZnJBTnJadE0KaUl4TkxSbXM1UGxtblhW
VzdaZjFrKzBYWEhCQnByV3pBNkM1M0h6enpXMVZmKzNjOXB0dXBDM2ZicGpaYjhydnk0NUFYMGVB
Lzhqegp6eit2RmdaUlRHU1hzK1NTUzZwN2o3ektBdit6OTk5L1g3WGdNa25OZUxBQVBQVFFRNnIx
NW4vKzRJTVBadHZRMVBOdXFVVVVPZjN6Cm4vK3NHbi9lVzd5LzZxVXZ2dmhDclo1WUJveXdwT0Jt
SkFKTlljRlUzbWxsNThBRkRPc0o3NkViYnJoQkQ0bjFBUXp5SHpEQjNSTkwKaTJFQ0hyU252THlY
UkVEVE5pdzVqUkFXV1JFc3dzMDMzMXh6Tnl3TW5MOGEwUzlSSGdXc1dVVWtpaHh0eGlvRDhUN0hW
WXQ3ajlYRQorc0U3V2hSZGFuMUtyNVY3aVZVS2E1WHhpcUlvaUhJc0xMYllZb3I3RWtzc0ViQkVP
emtDam9BajRBaTBENEdtQ1NDZE5Jam40V3psCklDcGFRNTFzN0xqampsMkVEK3ZIWlpkZFpvdis2
d2c0QWdVSU1Ea1ViYnU2MmhSc1ZrWEV2UFBPcTRvRTBiSlhzQ0N3NDZiRkpCdlgKRytJVGNJbDY5
OTEzMVFXcWdybGc1YnJycmxPM3BBVVhYREJzc01FR2hhNDk2VzY0LzdEUHlTZWZISVlORzZibk1K
Y3MrRjU2NlNWbApKODZoaktvcEV3WVBIaHhXWEhIRmlxRDFvdU1neUJCbnR1NjY2NFk4SmtYODNX
bmorTVN2aVJXbXkrNjgrNjY4OHNyQSt3MWhvSWlICm5Zd1BGN1VkZHRpaDFEME1YaE5BTEk2T05n
aDNNL1pGcUh6cnJiZisyVmp3amVDeDlOSkxhNXhPaW9sWTF3SnVkZ2grdVBXdHZ2cnEKQlh0N2t5
UGdDRGdDamtCdklUQmpzMDVVTklpTCsxUHA0VzBRbnpwMXFtcnY4SlZ1NWlDZW5yaldJUHJxcTY4
R01mVnJFS1c0WktXNwpac3NNb3ZBaGFJbExsUEt6OGNVWFgxUWVHeml6SFdTQkNWRHF0ODBFeXZ5
YTRXT2lsQStpNS9oT2pzQkFSSUNZS0N3QVdDR1lNQllSCjdjUWFwSFRqalRjR2ZQOEpGQ2R1QWt2
SWtDRkRncmhmZFlrTFNmZXpaYlRoeEY1QXhEQnN1dW1tK2g4bnlMcUl2dnp5eTBCY0FlOHcKTENj
SURDU2FtSHZ1dVpVZGJUMkVCYmE3Tk9lY2N3YXNLMFpNbm9rUk8vSEVFN3RZU01HRVdKZFdFZTlQ
enA4bmd1NnhUR09sWU9KZgpSc2FIcFFKK0xEUmxoQVdGZDZSWlFGSStjSWZxU2VpQk1KbytKOXdy
QXVDMzNucHJGWFRUNC9xeUkrQUlPQUtPUU84ajBEUUJwQk1ICjhSVE9WZzJpcHFrcmNqMGdvQkp0
RzlsaDl0eHpUdzB3VHdVUVhNNFF3RklpYU4zSkVSaUlDT0J5QlNIb0w3Lzg4b1VRb1BWbklwc1MK
Z2VNRWhrc2NSa0FZd1NYcDdiZmYxay9LVjdSTU1nZ0NyaSs1NUJMZGpDS0NTZkk1NTV5aldaNks5
c0ZkbEFRUmZGQVltQldFYzZLcApSeUNCVEJEUmxRYS84aTZmdkdkd3BUcjY2S083Q0NDcDIybURw
Nm5KRGg0SUh3VGE1d21jRVJxaDdiZmZYcE53NUhsWVQvbXdjcEZzCm9CcGhpU29TUUVqSWdVdWR4
T2xVMjEyMzVaOFQ4Q040blkrVEkrQUlPQUtPUVBzUmFJb0xWanFJU3pDNGF2NXRFQys3UkJ2RUow
NmMKcUJNT2M1ZGd3SU9hTVlqYnVXMFF0UW1PdGZQTDRDaEI1enFBb21FazAwb1JHUjl4S2JnY3pE
Ly8vTXBtY1NoRmt3MG1KbHR1dWFYeQpZUTFDcTVuU3FGR2pnZ1RVVm54TWk1cnkrYklqME44UklO
TVRNV1FRTVJEMUVnTEFJNDg4a2xrNitNOUo4TE5tanJyMTFsdHJIb1pKClBiRUZXQ3Y0b0tnZ1pv
dFVzcnlUYWhFVFd1SS9tRENUalErU0pCTDZLOGtwOUxjdmZ5RU1FZ05DWnI5YWhLdHJMVUt3a29E
NXFteFkKay9NQ0NGanlmaWJqV1hlb210V2xPOGZ6ZlJ3QlI4QVJjQVI2aGtCVEJKQk9IOFJiT1ln
dXRkUlNlZ2RJdjF0RTV1dGQ1bEpTdEkrMwpPUUlEQ1FFc0VBanErT2NqQkJDUVhpKzk4ODQ3eXBv
R05XTU5JVjdneUNPUDdES1JUWStMMnhKV0M1UUtuTjgrV0JtWXNKTDhvaDR5CmE0Vk5jbkVuUlZP
UG9xTE1OY29VTGZVY3YxMDhXSnJBQXVzdWx0eGFoS3NWaXBpcnJycXFLbXUrWGtxZUdRSEVMTXRz
dS9ycXF6WE8KQmNFbFRTR2MzOC9YSFFGSHdCRndCUG9PQWowV1FEcDlFRy8xSUVvdzQ2cXJyaHF1
dU9LSzBNcEt5bjNua2ZLZU9nTDFJMEJzRlZtSgpKS1dyeGwxZ2djUmZIMklpUzRhczlJT0xGVEVp
RlBqRGFvSUFBV0c1U09uMDAwL1gyQVNDbzhzSWl3dEI1M2xDcWNBSEFZVGdkaU9yClhwNEtEOFFW
WU1YRmNqbDgrSEJseGYySExFM0VMSkFKSys5V1NSRDFvWWNlbXNXUjJmSGI5V3Z2TFJPZzZBZDlw
SzRScnJYY0J5disKeWpialQrUGJhTWRTZ2xYWHJNSmdBeG0vcnRUeGhRQkNKaXRxbEhCZnVZZVhY
bnBwMkgvLy9ldlkyMWtjQVVmQUVYQUUrZ0lDUFk0QgpxV2NRSnoyaitlMDJPb2d6UVdBUVo0SlBZ
S0VSQXlTRC9DbW5uS0orMXpiSTVRZFJYSndZUkhHUGFHUVFOVk4vclVHVXlRWjl3MmNkCnpldmxs
MTllMFU4RzVUeFZPeVl1SlhZdHRwOWhaci9XM294ZlhCdktpc0JKblJLZEZLTGhKVmllckQ1ayt5
TGdOeVVta2JqTjVMV2sKcENKbEVzYzl5cWNXVHZmMzVZR0xBQnB6QkJDMDNQdy9jYzBreFRhVGQ3
VHZKbURrRVNMVEZQODlzNERrM1J2UjJwT2xpdGdPL2xONQozMytzTGVQSGp3L0RSV2dnNkh6aGhS
Zk9Ua0VhWFNwN1k1bkJPbkwrK2VkcnNnbWVZNGdpZWZ4dmNOSGlQOG1FbThLQ2FVSUpFNlFvCktM
anNzc3NHcVVtaS93RXFqaE0zZ1RhZmVKRjJFLzlkcy9TTUdUTkdoUTJLR1BJZng1V002eVMyeG9q
VXdHUytnbkFyNWRvZzNsbFAKUFBGRTVxNUZKWFRML29kckZ2aURkVDNFdlFCTHJNWUlIYmk0cFgy
bzV4ak80d2c0QW82QUk5RFpDTXdnRm9MS2lNNHEvYVdTZGxxOQpta0djQVlLQmhmejkrVUdjQVlx
MGllUmhUd2R4S3YyaTVjSlZJUjNFbVRCSThhNktIcEMvblVFY3Z2d2dUcVZlc3E4d2lDSXdNTGlU
CmdwR1VudWtnaWdZdEhjQVlST0VuQ3hWeElVV0RLQk1MdEszanhvM1R5UWNaY1k0OTl0alNRUlNm
WmFyMFNpRTE1V0d5enVTSWlSSlYKaXNud3hZUUpRWWpxd3YvMVgvK2xHWHVvMEV0OENkbDBFSmFv
THN5RW4vT2krU1VyRjc3UFlFWm1Id0k0Q1dnM3l0OFRheS82TGVKbApNb1UybVFrQzFkWkovMm5F
QkNUdmowOU5nbnk2VGJTZVRHS29PSjM2ZDlOR29DNGE2L3hrcTZndmR0NzhMN3hPblkxQStsNm8x
dFA4CmZVZUx6clBCZjZQWnhLdU40MWZMME5Uc2N4WWREd0dJL3hIWHlYODRMd3dWN2VOdG5ZRkEv
bm50akY1NUx4d0JSOEFSNlBzSTlFZ0EKNmMzTDd5dUR1TG1GTVBGQjZHbGxoaHJ3YjJTQUxPTmxj
b1FyR1lJUTdpUkZoQ3NLbVlIUWtpSnNwZFlrK0UwSXdRcHk2cW1uNmlHdwpmQ0hVa0FVc1QyVjl5
Zk94M2dodjBmN2UxbG9FR3JrL2pmQzJ0dGQrZEVlZ05nTCt2TmJHeURrY0FVZkFFZWdPQXMxWE8z
YW5GM1hzCmc5Wnd1ZVdXVTkvc1R0WWdvc25GRXJUSUlvdTBYUGlvQTdhNldHb1ZnZU1ndU5CWlJp
K3NOWG5DYW9NZlBOWWFCQlcwejFpbXNISTUKT1FLT2dDUGdDRGdDam9BajRBZzRBb1pBbnhGQXJN
UCsyeG9FOEV2SFpReDNxVEt5VEY1cGdTOTRXY2N2bkxTbnhPemdia1pCTndRVgozTktjSEFGSHdC
RndCQndCUjhBUmNBUWNBVVBBQlJCRFlvRC9XbzBVVWhhWGtibVQ1Y09HQ01MSHQ1MHExRlNVeHZw
ejBVVVhxYnVXCkI1K1hvZW50am9BajRBZzRBbzZBSStBSURFd0VYQUFabVBlOTRxcTdXd1RPRG5M
UFBmZGt3ZXU0YW1FSkdUUm9rQlp6TXg3L2RRUWMKQVVmQUVYQUVIQUZId0JGd0JFREFCWkFCL2h6
MHBBaWNRVWVxMUxRUTNBOS8rRVBOMjMvLy9mZG5xVGlOdDcvKzVsTW5OL002S2NxVwpGbVpyUlRy
bVp2YlhqK1VJT0FLT2dDUGdDRGdDamtBMUJKcWVpSjZKbUZYL3JuYmk3bXl6U1pobFlHSWlsdWJl
Nzg0eFc3R1A5Wk1pCldnUm5mL0xKSjJvUmFNVzVlbkpNZ3NSMzNYVlg3U1BDQWltQnJRZ2MrZjlK
blp6U0YxOThvYXVrQytZZWsvSVl5Z3NndEZGYllmUE4KTjllMHdSUVVveTVEZjZidHR0c3VuSG5t
bVdIUlJSZnRjcGwzM25tblpnYkRVa1ROQzVJcDRNN0doNHJaZSsrOWQ4aFhoK1ovUkhwawowbGpE
UC9QTU13ZnFxbUN0NHZQQUF3OTBPWTgzOUF3QmYzZjFERC9mMnhGd0JCd0JSOEFScUJlQnBnc2c3
WmlJVVZ1REdoM1VBV0d5ClpoTTJKdjhVQ2R0a2swM0M0TUdETTB3b2trVU5FZXFBVU44RGpUMXhE
UlFmSTJVc2s4aEpreWFGTWo0S0NUSVpwTmJIN2JmZnJzZWwKSWp5Vmc2ZE1tUktHRGgycVJjZWVl
ZVlacllMTU5pcjdRaFJGcEs5c0kvQ2JtaURycmJlZUJteVRRWXFpWGZTYmRtcG9QUHJvbzVwWgpp
blMyOUpNMHQweFltMEhWaXNCUmVaaHNWa1YwMjIyM2FZd0gyMGpQU3hCNnZoQWMyNmd4c3ZMS0s0
ZXBVNmYyYXdIazlkZGZEeFN2Cm82QWoxNXduN2krMUtCQkFLRlpKa0Q3RU13RStMN3p3UW9Zbjdh
UkZKaVV5R2NUWTU1dmYvQ2JOK293UzFFL1JPNmZtSTlDT2QxZnoKcjZLeEkzYkN1N094SGp1M0kr
QUlPQUtPUUg5QW9LbDFRSmlJTWVIZmQ5OTlDeWRpQUlibWxray9oUXZ6RTdFZGR0aWhkQ0pHVUhQ
UgpSSXdKUDhSMkN2UXhPYWJ3SDRSN0VZTEdkZGRkRjI2NTVaWkFFVDJqRTA4OFVUTTBVZWlQNEdr
akp0TmtjQ0tZR2lyalExdUs5WURqCk1tRWsrOU93WWNQQ0JSZGNvTnBxT3g0VFVnUU8rSTJzcjFR
YVo5S1RFcWxzc1JaUXdORElNT05heG80ZGE4MzYyMGllK2p4dks0dkEKV1NlTHFsQ3pMZDhYNHkv
NkxlTHRwQXJ1Unh4eFJQam9vNDhDQlM0UjZpeGJXSG90Q0JzVXZNUktnbUJweERORFhSVUtia0wv
K01jLwo5SG1jTm0xYUlDRkFQdVUwMWc4S2UvS2M1NGxubG9LVkZPNU1uMm4yb2FnbDl6c2xDdVB4
ckZGOTNQNHpiR2RTeW5OZFJOLzk3bmYxClA1RnVLN28vNmZaMHVZaTMycjFFNEViSXBhKzQrWEZk
NjYrL2ZuWklua09UTmdBQUlBQkpSRUZVOEtLbzZCWmJiS0hYa1cyUUJRcGgKSXZ4VElMTVd0ZlBk
bGZhdDZCNDJldjlRWGxDSXRZakFic1NJRVJXYjdIM1VqbmRuUlVkazVjMDMzOVJpckx3M3NmcEJD
TjJQUGZaWQpvTG84eS93bnNOUWk4T2VKQ3U1WXlIa2VTSVlCZmZqaGgycmRwUzVScW9qSzcxdTBY
dlM4RnZIUkJxK1RJK0FJTklaQXZVVnNHenVxCmMvY0pCRVR6WHplRnNTaGh5MGtHK3JqYmJydEZD
VVNPbjMzMldTR2pEQnhVWG84eUVhdllMb05MbE1KOVdkdFhYMzBWVjFoaGhTaVYKMGFOWUhMSjJX
NUNKUjVSSms2MUdzVmJvY2NXdEtHdXpoWjEyMmltS0JqcktJR1pOOGJ6enpsUCt5Wk1uWjIwcy9P
MXZmNHN5K2N2YQpxdkhKd0JhdG56S3dSYkdnWlB1bEM3dnNza3U2V3JXdllMREtLcXRVOEpkaEJs
T3RlNUllcUJIZWRMOVdMRGZTbHlMZXM4NDZLOHFrCk5NcGtQMHIxK1lvdVNsMFR2YmM4Wi9ZUjRi
T0NoeFVSTkhVN3oyMUtJa1RxOC9MbGwxK216WVhMUEpzaWlFWnhRNHRTQXliS3BLaVEKcitnZVNz
cmpLSlBxS0pPcWJCK2VYL29zd21iV2xsOFExOE44azY2TFlCTmxjaGJGdFN1S2hTN2prY3IxR1E2
R1IvNVhLdGhuL0tJZwpLT1huLzUybm92dVQ1N0gxSXQ2eWV5bVdvY0oraUF1Z0hVNy9xMkt4akxQ
UFBudTg3Nzc3c25ZVzFseHp6Ymp0dHR0V3RKV3R0UFBkCmxmYXA2QjQyY3Y5NGQvRWM1dSt2cmQ5
eHh4M3A2WFM1WGUvT0xoMlJodXV2djE3N0xxNkh1cG4zcXdoTlVRUmxiUjg5ZXJTMmkwQmQKZW8x
Y0svOEJVVTRwcndqVCtxN2dmYkh6emp0SFVSaHBlejFmUmM5cjJYNk44SllkdzlzZGdZR0VnUDlu
QnRMZDducXRUUXRDUjlOTgozUWUwOU5TUytPMXZmeXZqUUgxRWJBR1dqRzIyMlNiYkFaY1czSnhr
d3RORkN3d1RCZi9xUFFkdVRTSlloSnR2dmprN2Z0a0NXckphCjhRb0NZMERyalVhV09BcjZ1ZU9P
TzJZYXUveXhMN3Zzc255VHIvY1FBVFQ2enovL3ZMbzJZVTFMQ1kwNjk0Z1BGcTBUVGpnaFBQTEkK
SXhXQjNQQmpyY0xhZGZMSkoydXNpaDJEdUF0aU5kQzYxeUtzYTJpVUYxeHdRYldDRldsbDAyT2d1
V1Vmem9uMUF6Y3Jzd1RDWjVZdgozUHZLcUN6R0N1c0sxamcweDFoampMRDhHUjdwTDlZRDRwVnc5
NUtKbjdFSG1jaFg4RnZRdTB4ZXd5V1hYSkx4Tld1aDdGNlNHdHI2ClMxK3hMcUVGVC92S2YvV2ho
eDVTcmZlR0cyNFlIbnp3d2F4YjNFZGliR3BSSjcyN2l1NWhJL2NQUE1ES2NPT1g1MXdFTkczREhi
QVIKYXVXN3M2Z2ZDeTIwa0RaakZZU0lrOExObFh1UHhkbmU0U0swaHYzMjIwOWRHTk5yNVY1aWJj
VGwwWGl4R0dKaHBPQXFZd2IvYlZ4aApuUndCUjhBUmNBVGFoMER0R1ZhZGZTdWFpTzJ6eno2bGU5
dEVqUGdBSmhUTm5JamxUMG93T0dsaFJaT1kzNlFDQks0dW9tblQrQTljCnNvb0lRUU0rQmpnQ3R1
R0hYbnp4UmYyMWdWTlh2djU2OTkxM0s5eGU1cDEzM2dvaGhSaVVmQkE5eDNlcUR3R3I0RjR0SnNJ
cXVJOFoKTTBZRlpFdGdZR2RJSzdqam5vSDdJUGVheVd3OXhFVEczUFVRWmdpKzUvbkF6YkNJeEtx
aUxpRTgvd2pzbkpNa0JiamVRVXkwSUZ5ZAp1a01jYjhVVlYrd2liQlVkQ3lHZS84YTY2NjRiU0N6
UVRxcDFMK2tyLzUrMTExNWJpMTZtZmFYV0RHNWFUTEp4dmNGZEI1ejUvL0ZlCnFVV2Q5dTZxOXg3
Mnh2MXI1YnV6Nkw3WWU5UVNlUmdQeWdCY2RGSG12UFhXVzJIaGhSZTJUUlcvQ0I0a3gwREl3STNS
Q0xkSTNPd1EKUUlpNVduMzExVzJUL3pvQ2pvQWo0QWkwQVlHbVdVQ1lpSmx2TmhNeHROQk14TW9v
UHhIRFFzRkV6S2luRXpFN2p2MHlrRElBNVlucwpROFNXTUhEeEthT1VEMzRtcnBBTmxFVldFL3la
UjQ0Y0djU3RTb1BMOHo3NHhIWVFCNUoreEhXdHJBdmVYb0JBT3l1NGswaUFPQ09zCkFoZGVlS0ZP
ZUhrMnlvTDM2VDd4RnNTQVRKdzRVUVZhbXlTYlFNdmtFN0xuWDFjYS9DSWhnR1VzczExNTlrbGVR
RXhFbnBpY0ZiWG4KK1ZxOVh1Kzl4S3FWMG8wMzNoancvVWZ3WUZLTzhDaXVPa0hjcjdyRWhhVDcy
WEludnJ2eTk3Q2Q5NjlWNzA3RFAvM2xQWW9Genl3Zwo2VGJHREFobFVpMUNHRTJmRXdSK2tvZHN2
ZlhXK2k0dVNwcFI2NWkrM1JGd0JCd0JSNkI1Q0RURkFwSk94T2dha3ltYmlKVnBnbTBpCnhtUU1y
Yis1bzVEU0ZXMVhNeVppQmhQOVlRQW40MUNlY0Q5aDRnTnR2LzMybXNrcXo4TjZ5aWN4SlpuTERr
SDNVTkdFa1d2YWNzc3QKMWJLQ05TZy82STBhTlVyZGR2UUFYMytoZlhlcUg0RzBndnZ5eXk5ZnVD
TnVIQkN1R2lubEs3anpmQkNRaXh0TVBSWGNjVzNCTFNRTgpPaWYxTUJOaUJBdUpYMHBQMTJXWllG
cmNEcGtzRS9pTnE4amlpeSt1ZkFqdzNTVVRqdFA5RVpUcDc5RkhIOTNsMmd5ZmxMOGR5L1hjClN3
U00vSDNFN1kzc1lnajZZTTkvbGZjSW4xclVxZSt1L0QxczEvMXI1YnV6N043Z3psZ2tnSkFSRUpj
NnJKcTFLUCtjZ0IvL056NU8Kam9BajRBZzRBdTFIb0NrV0VKdUk0VGJDQjQwWkV6RlMyVElScTBV
MkVXUFFZU0lHTldNaVp1ZkZkUW9MQytseGF4RSt6N1dJeVlFRQo3U3JiVWtzdHBiK1dqU3Uvci9u
cnA1UFVQSSt2ZHc4QnNnTmRmUEhGdWpPeEQ0MVNUeXE0WXpGZ2dpdEJyU3BrSW1qeVlZS1BEejRa
Cm1Pb2htMml5RDRUTEVKTXNYRTNLckJKbUxhbm4rSDJGcDd2M0V1VUY4VDBvTkNDRWZra2NvYlZT
YnIzMTFwcVgzK252cnBvWDBHS0cKVnI0N3k3cU9HMVplQUVFZ0owMDVHYys2US9iLzZzNisvV21m
TkJ0anM2OExJWStQa2NXTzJici8xa2JBTURRbFMrb1ZVbnR2NTNBRQoraFlDUFJaQU9uMGl4aCta
U1NHbWZWSjYxaUpjcmJCbVhIWFZWVlZaclhBY3ZzU3JycnBxUUp2ZXlwZDcxYzRNd0kzdHJ1Q080
RVBxCjVUd2hrUEpCQUNFdXdjZ0c0MVI0d0NVRVZ5emlQNFlQSDY2c2FHNEpzTVhkaEFRTWVaYzgv
TjhQUGZUUUxBYkpqdCtYZjN0eUw5OTUKNXgyOWRCSkNHR0VOSVY3Z3lDT1A3REtSTlI1K08vM2Rs
ZmExSGN1dGZuZVdYUk1DU0RxUnZmcnFxelZPQ2FWUFBvVncyVEc4dlJnQgowcjRUZTFoRUZFekZl
b2hTQkdza2xuN0o0QmgyMzMzMzdKMlUzOC9TMFpNY2d2dERMQmx4V3BLQlRoVXllZjUycjZQZ1JC
SEpOV0l4CjU5cElaa0FpREZJL1Q1V1kxSlNvQlVaOEd2eGNFeW5PZWIvZ0xVR2FaNnpXVUJrZjd5
SDRpc1lLT3cvdklTenBrdjFTVTFDalFLRjIKR2NvVXptbUVxeWg5cGkra0krZCtRY1FTa21xY2Rz
YVBjZVBHNmRoRDhnYnVCZTFZaC9PRmhlMjQvdXNJdEEwQkdXVHFwakFXNzRkSwpPdVdVVTdxazFE
VU9tWWhGc1loRThjVzFKazJWS1JjYlR6MzExS3lOOUxXazNKV0pXQlNKUDJ1WGpEWlJmTHVqQkpa
R21jeGw3U3hJCmZFV1U3RUZSSm1yYUxoTSsvR3VpNUxMUCtPQWhyYVVJQzFHeWFtWHRMRWhtSk9X
WEREb1Y3YUpSMWZTK2x0cFZ0RzdLSjMvbUNyNTAKUmR5N05QV3dhTUM3OUZNeU5Pbis4QmlKc0tK
dE1yQmFVL1k3Ly96elIzbmhaZXNza0Y2VWE1TjZJaFh0ckJUZGt5NU1YemMwd2x0MgpqR2ExTjlL
WFBLOE1JcHFXa3hTMjR0c2R3VjBDcWJWcmtrVXF5b0JTOFNGTkx2anhIRW1Hbk93U3hDVXVTcnhH
dG00TFlyMkxraHlnCkloMnpiZU9YKzhlK012am9jNWh1azBFaFNzRklQUi9iUlpPcno1NE03Tm9t
a3l0TlZjMjZESVJSSmdSUkp0SHBJWFJaTk05UkJxQW8KMmJDaURIaVI5S015R0VXWlZFZWUwV29F
SGx0dHRWVUZDODg1R0VoOWlJcDJWaVIrUmRNWmQ5bndkUU5wZjltM0tJVXJMUG43VTNhYwpJdDVx
OS9MS0s2K3N1SS9jVnhING84UUlSQ242R1VXcnJkalNOeG1FSzA1TE9scXhQdW85cjlpUXJIVEt1
eXZwVXJhWXY0Yzl1WDlpCjVkRTB4ZG5CY3d2dGZIZm11cUtyNDhlUDEzRkRZbmswVGJXNFEwYitW
M25pZVJDM3lYeXpyc3ZFUzlOajIwYXhLR3FLYWx1djk3Y24KejNhOTUrZ3RQc2tFRm1VeXF2K3Bz
bk5LM0tiKzF4bTNqSGpIOHAvalBaU1NXS1hpZlBQTnA2bU5TVjl2Sk5iTUtGa2lvN2duVzFOSAov
ZksrNDUyUnpoV2tqbE1VTitrbzhVV1J0TmNwVFpnd1Fma2xRVTNhSEVWd2lCTGptYldWOGZIK1pD
d29JakJrVENBOWRENk5QK25KCmVmWlRzcjVMM0dqYXJNdk10Y1J6cEtMZDdtZTF0TzRWTy9UeVNp
UC9yMTd1bXArdUZ4Q1lVZjZJM1NZeWlzaGdvZHBic3Yra21VbEkKbzB0bGNiU2J1S2tnZlpNeFNn
WjlQUi9hQnN6cXVHaWhIU2FXZ214R2FWWW90Q29FRDZKMW9JZ2IyZ0I4ODZsNFR0d0dHaGZpUllp
YgpNSmNYc2gxaHZhQVFGNEdwdUhKeEhqUUFScVFvbGNtTnJoS2J3YkVodERsUFBQRkU1cTZGVnNO
UzZPS2FoYXZZOEs4MTFickQxMTlVCktNY0ZpQ0paWkNDQ2h6U3FhR2RKcTRycmdHR0RCc2FDbE1F
QTdUZGFKN1FZYUkvb054b0xVc2VpbFNFckYvdERhTXZsaGE4RkY3OCsKZFk5L3dBWWZldUlRckk5
MjBONHFBbWZucS9jWEN4VlpidENNa3RVSzl4dnd3bXJRR3hYY2VaNzVGQkVacFlnM1Nvaytjbzhi
b1NGRApoZ1NTRk9CaXhMUEZjNDVtcTcvNXNGZTdsMWd1eStJNCtGK2g3VE1MU0Q2K0Nvc25xWTVK
RUFDR2VkdzY1ZDNWeURQUkN0NTJ2enVMCnJvbjNFT01BYnF2Nzc3Ky94a21sNysraWZUcTFyZHI3
bGVRakpHcmhmYy8xTW1hUXpwMXhLeVh1RWUrQXZBV2Y5TytNZTR5cDljU3MKWWJWRjA4NnpUNEhk
SXJkZ2N4bW1UMGE0aFBLTzVYMWtoRXNiNzBEK2cvU0JtRThqRzc4c1E2UzEyMjlSc1UyMk5WcHdr
N0cwa1lLcApkbjdES28xOXczV2NjUkNMTTFZRDdvdkZqQnAvaWduSElsa0MxbXFqTXI1Wlo1MDFt
NThZTDcrR0ljZkZGWlRqcGNUNHoxd25KVHVICi9lYTM1ZHZ0ZnRwdnlzOHlGbm5tTmxoV0xJa1F4
V3pIamgwYm1OZmc4c2hZQkRWNmY4Z3VTQ1k2NW0vNWE5TUQrcGNqMElpUTAwNXAKbFlKdjhtZU1V
dnVoc0RCaEk5ZlJTbDYwc2xoZXhNeXRSUXBiZVM2TzNjZzlLZUpGeXlLVDJ5NEYvVnBkQks2b0wy
Vlk1WG5SdG9GegpLNG5uemFrK0JQTDNwOXBlZWQ1VzNrczBzYldzUmRYNjJxeHRmZVhkMWF6cjdV
L0h5VCt2MWE2dGlMZnMvY3B4c0hUTERLVGk0d1ZUCksvSEk0eU5LeCt3V05Gb3cxWGFzVm5oVFhQ
LzBmb2licTdHWEZpM0d1eUtsb3FMRnZJT3cxaGFSeEtqcHVVVFJVclM1c0sxYTMwVkkKYjZpSU1T
Y1FBVVRIL3hUWDQ0OC9Qa29xYSswYjFobWpSZ3Fpc28rNDcra3hSQmtVUmVDdDhJU3hZeGI5WjJ5
Yi8vWi9CTDdSVjBRdwpOSmpMTGJlYyt0Zm50Wm1kZEExb2hORGc0ZmVaYWxnNnFZOXBYOXBkQkM3
dFM3M0xhTnZBdVpYVXljOVlLNis3dDQvZHludUpackZhCmF1M2V1dGErOHU3cUxUd0cwbm5LM3E5
Z2dIVkVwaGo2OFlLcElUUlNjQlA4V2xFd3RWYmRHenduOElvZ2JxU29yaGo5d21JRkh4a1YKaVFI
QnE2R0l6RUlray93dW0vRU1vWkNxZllnWFRJazRIbkVUci9oZzZXMlVtS09JMjNkRnJCeFdENHA1
aW91YVdxRE5Dc1A5b2Vncgp4RFhaczRzbGg1Z3RyUHhwa1Zod0FndHhiOU40UEN3cStldG90TC9P
Mzc4UWFPMHNybjloMVcrdnhvckFVVWVoaUpqc1d4RzR0TGdYCnZKaDgweUp3dkJncDlNVUx0SjRp
Y0VYbjh6Wkh3QkZ3QlBvTEFyWGVyMXluRlV4bEdYZmNQQ0ZNNDY2TE95NHV2RXorbU56Vis0N3QK
dEZvM2c2WGVVWGNLcHViSG56eE96Vmp2cmJvM2xtZ0JkOUU4OVdZTk1RU2dmTlk1K2tNOUpWelRj
TW1xUnN3UHdBejM0L3o5WVowRQpJUWlMQng5OHNMdGlWUU55QUc2YmNRQmVzMTl5QVFMRTFGRC80
dlBQUHkvMERXWVhmSWJUNGw2MFdSRTRNbktRbVlPWEZqNmo5UmFCCjR4aE9qb0FqNEFqMFp3VHFm
YitDUWY0ZHl6b2FkZEtHaTN0TWtPUXJRVnlSVlZBaDdyQVdkV3F0RytLMmlncW1JbVFSbzVLUFoy
RDgKSVdOVUs0bVlpRmJWRE12M3UxTnFpRkYzQjRFblR3aTlGRTlHOEsySGl1NFBNYXpFRDFFUHJx
d21YRDNIZHA3K2lZQmJRUHJuZlczNApxdElpY0dVN28rbEE4NVpTdmdnY3Bsa0dTZ0tBblJ3QlI4
QVJjQVNDcHJVRkIrcXFsSkc1N09iZnNmbUNxYmozNHQ1RHdwWDhKTDNvCjJKMWE2NFlKYnA2d0N0
RGZ2R0FDbitHVDM2ZVo2NzFaOTZaVGFvaVZXVUJ3RVNNb256SUQ5VkRSL2NHeVVzOHpXcy94bmFm
L0llQUMKU1ArN3B3MWZFZGt0dWxQUUQ1L1RuaFNCYTdpanZvTWo0QWc0QW4wTWdlNitYKzB5dldD
cUlkSGFYd1MvVnRZTXkvZStVMnFJSVlDWQpPNWoxRVV2UW5udnVxUm5vRUhpN1N6ejdSWUptZDQv
bisvVXZCSm91Z0xTeUdCOS9rdlNQWXNYZE91MldXRDlOazlYSjFVemJWUVN1CjArNlo5OGNSY0FR
Y2dXWWowSlAzcS9XRlZOUnBvVTJDZVVrM1RxcFlTeE52dlBsZkw1aWFSK1NmNmZacEpYamFpQUt2
a3EwcUVDdEQKR245U3B4dlpuQVozcEpRa2cxOFlOV3FVbGhDZzNRS3NqVC9sTFZyR293RHJGcE4w
aWh2bWk4NXkvRHhWT3djS3dmeTViWTVrdi9uagpzWTRBd3I3R2crV0RrZ2U0WG1GcGMzSUVXb1ZB
MDJOQXFMUktMTUdpaXk3YXBjL0VDVWdCUW5YUm9ZNERXYTB3Mi9FaDEvamVlKzhkCnJNSzQ3Y3dm
aXVBbHNrSEFUejVwOHAvenArVkRibkx5Z1V1UlBzMlpEWS94SVhualowbFYwY0VTOUdaRWZROHB6
S01WWWZGTDVJV08Kc0VEZGtxZWVla3I3UG1uU0pLMXVXc1RIUzRBK2tMZWRhcU1RdnFtOHdLWk1t
YUtWVmpFNzRudkxTNFZ0WkpXQWVNSFJWN2JoRjN6YwpjY2VGOWRaYlQvMTU4WDBsSnpmOXBsM1Mv
SVZISDMxVUF3L3Z2ZmRlN1NlNTRNR3BHVVFRSTNuaE9SK0RHZjdGMUYyQmVBbVRaU01sCnJvRVlF
ZTRIOTlGcU5CQ0FsdExwcDUrdUFaSmtDcUcyUzM4bW5zK3lIT3M5dlc0VHRtMHdaSUJJNitUMDlQ
aStmeVVDZmk4cjhmQzEKbmlGUTdmMUtCcXg4Wldwek82SWVGTzhVU1lXcUhjZ0xJRFJTZDBzS3Bt
cjlwbzAyMmlnVUJUSjdyWnV1OTQ5NzBzNmFZZmtlTWZkbwpkdzB4QkJDSXVpN01zM0JEa3pURVdw
VWRJY25KRVdnWkFqTHhycHRxNVd4dVo2VlZxeERhanVxbU1waEUrUk8zcFpwcHJYdVMzdHc4Ckw1
aVJTNTFxM1JDNXVpV1FMSXFtUjY5SEhqck40NTMvdGFyam9sM1Q3ZFJ5eUJQSEZnR3J0R1pMdmkv
NS9kUDFSbmpUL1hwaldZVEgKS0FOSTRhbW9IRTVGWnZBVGdUdEtrYkg0ODUvL1hDdWh5eVJEY2M3
dktFS0c1aytuNHJjVVlZdUhIMzU0bEV3M2VwK29qTjZKMU1qOQphWVMzdDY5MUlONUxVWWhFS1VL
bXo2Z29idlRaM0hmZmZiVmFOalVzUkROY2NSdWt1RmdVNVpMeTgrNmdPdmJ1dSs4ZVJmR2tsYTls
CllxejhaWHpiYjcrOThrblJzNHJqZHVwS0k4OXJucmZhKzFVVVNZcGgvdDNLT25XWnhIS2lrRWdB
dXZKSkVIb1hpQ1RUWUpRVXFsRVUKUlYyMjlYYURLT1VhcnRPMTVaWmJ4cTIyMnFxaXE1TG1WYTlY
WWdrcjJsa0JUOGFuTXVMZENYNjhkL3NpOVhZTk1jT0lleWNXdHNpNApUdjJUYXZnMWVuOGtLWTNP
aSt4YytkLzhmeWEvM2RmN053Sm8vdXVtV2c4TGs2WGRkdHN0U2tyQktKci93dU9LaGwxZkVtSWxx
ZGd1ClZjOGpoWFNNS0pDendnb3J4QVVXV0tCd0VzdWZkZU9OTnpiMldLMUF6MDQ3N1JTbEhrQ1VO
TE1aZjFIUklEWXltWmJVY1hYeGZmamgKaDFySWgzNktoU1dLQlNYYkwxMmdJRTlLMWZyYWFER2hX
dmNrUFcrZWwyc0Z4MWFRV0tlcUZvSEw5NlZhSDRwNHBSSjJsQ3IyV3ZReAp2NjlZYUhSaUpPYnhL
QmFzS0ZhcUNoYWVyU09QUERKSzFmdUtkbFlrQURLbVJabTZNQ1FON1JTNGsyN0VpUk1uNnY5T01v
NWt6ZHhYCjhHR0NtSDdBUkN4d01SWFUyVWtxMzFid3BmdmNjTU1OMlhHTEZvcnVUeEVmYlVXOGZp
K25vOVdPZThuRWpvbGIra3hJN241OWZnWU4KR2hRcFFKYlNoQWtUbEQ5OTN0Z3VsdDQ0Y3VUSWpM
V01qNG5pWnB0dGx2R2xDNktCVllFbWZaZnlYeDBtd3JmVUo4akdBckVnRno2dgpDTzBvVWlnRWF5
U1d4Q2hXNHk3Q2xHMnY5bHYwdkpieDUzbGIrWDYxUGpCNWRISUUraW9DK2Y5TVg3ME83M2YzRUdp
YUFNS0xVTng1Cm9waUxvNWp0b21SSEt1eFJrUUFpYmowcWdVdEt3V3dmTVpYcUlNY0Vzb3dZeUl5
cVRlb1pnQmhnVzFIZHROM1ZUQnY1QXpmQ2E3aTIKNnJlUnZoVHhsbFVZYm5VRjl4U1BkZ3JjYVQr
b3lDdkY3cUs0TWtaeERkUk5qVlN0UmVEbVA4dC9wT2hUVFNQR3lZcnVUOXEvZExtSQoxKy9sZElU
YWNTK3J2VHRicWJ5WmZ0WFRsNlNRbVQ2RENDSVF5Z0tzSlZSVDV0a2NQWHEwdGt1QnY4Sm4xWjVm
L2d2aURxdTh0OXh5Cmkxb1ZzQ3lJbTBtcHhWS1pjMTlGejJ1T0pWdHRoRGZieVJjY2dRR01nUDlu
QnZETmwwdHZtb09mbU56RGlCRWpBam1sTjloZ2cwQjYKMW1wRXJBSDdrSzVWdEZ0YVVJbjg1a2Fp
RmRWRjRpektxRjdmKzFaV04rMkVhcVpsK1BUbjlySUt3NlFUbHVkYVAySUZDTysvLzM0UQo2MXBG
aFZiOHBhbm9TbXdGZFVzZWZQREJEQ3A4WUlsSHFrVUU3VkV3akJnaDRtTHd0NjZYOFBVbVZtaWJi
YmJKZHJucnJyczBya2dzCmlLR29DanUrdUdYbklPWUtQMkxpbzhSYW9jZHNwS293ZUlDVjRjWXZx
VEJubjMxMmJTTkdxWlhrOTNJNnVwMTJMNGxKRTAxK3VQbm0KbTZkM3NtVHBzTU1PSzR4RlNObDV0
bzQ0NG9pS29PcDB1L21qVzJFMDRnT0pzK04vVEx5YTlVT0VWcTFHdmZMS0sxYzh0L3d2aVZVVApp
M2ZHSzlhV0lOYktRRUZBL2tQRUh4S0w1K1FJT0FLT2dDUFFQZ1JtYk5hcGVhRmZlKzIxZXJpOTl0
cExnK1FJYkM0clB2UGxsMThHCmNXSFNvR2NtY3VMQ0ZNZ1daVVZ2R0hBZ0tuRTJnMnBWTjJXZ1k5
QXFJNExqdi9uTmIrcGd4eThUTnNnQ2hZdUNBQ251UTlBNGdlMmsKdEdNd1o1Sm9SQUQ5MUtsVGJW
Vi84NWt3S2piNlNnVUNWbUc0TE5DZFNidFZjS2VRVjBva0NVZ3J1Rk1Gbm1leTNncnVSUUszdUR5
bApwNmhZTm9HYit5MWEzcVlMM1B4LzZxa3NEQ1pXdFpaZzEwNGh2NWZUNzBRbjNjdGF5aHNDVmtu
WnlUdU9vbU5GUk9BdmZBZ0hqQW53Cmw1RUpJUFplTlQ2eFhvUWRkdGhCc3o1SlhFcFllT0dGYlZQ
RkwrOXdncmNSTXRLcXpCUkpvOEFjQW9oWVNRTXBVSjBjQVVmQUVYQUUKMm9kQVV5d2dhYVZWOFNm
V1NSeVQ5SFBPT2FmMHlxaU9TWlluOFhuV3dja21malk0TVFoREpvam9TamUvT0NhRGp4WGJTdyt6
empycgpCUEZiRGhJY3FkbW0wSllYa2ZHUktZTFVoeEw4cDJ6MVZET0ZrY2twbFY5VElvVWZrOEQw
WXdKWXl1Zkw1UWlRU2V5ZGQ5NVJLMFFaCkY1T1BmSFZocStDTzRNR2tIRXVJdUhmVVhjRWRnVnRj
US9TVUNOeGt0V0Z5VlVaNWdSdXRjcHFlMlo3em5namMrY3JDUFBOa1RDdXEKSGd3bVJlMWwvZStO
ZHIrWDAxSHVwSHRaUzNuRHBMOGU1UTA4akF2VjZnS2d5RUZKWXhhUTZZZ0VWUkN3TG5FcGFYUGhN
dGE3OUQrUApBa0RjaE1QV1cyK3RpcUQ4dTdqd0lON29DRGdDam9BajBESUVtaUtBZEdxbFZVT3Rs
ZFZOTzZXYXFWM3JRUHMxb1pKN1hFWUlHTGgrCnBOU1RDdTZkS25EbkozWm9rZHRaVlRqRnU1NWx2
NWZUVWVxVWU5bEs1YzMwcTYxY3dvMjNTQUFoSlRudWtaTGtwSEtIZ3JYOGY1Ny8KQXE2TlJlNk5C
YnQ3a3lQZ0NEZ0Nqa0NMRWVpeEFJSVdsVHpsV0FZa3JWNzJvYUlvYmtxV2M3dldkZGlBYTY1Tmtu
cFVCeHVzRFdXYQpXck9XVkRzMkU4OVdWamZ0bEdxbTFURG9yOXVvQTlPT0N1NmRMbkQzeGZ2dDk3
SXo3MW9ybFRkbFY0d2JWbDRBd2NKSW5TVEpoRlcyClc5VjJHMWVxTXZsR1I4QVJjQVFjZ1Y1RG9N
Y0NTS2RVV3JVS29PbEFnNjl3cTZ1Ym9tbnJoR3FtdmZiRWRNaUplbEpoR0pjdEtLMHUKTEdsbjFj
ZGNVbjUybWZ5a2w5enBBbmZhMTc2eTdQZXlNKzlVcTVVM1pWZU5BSkxHZ0Z4OTlkVkJhaFFFU1kr
dGlVN0s5dlAyY2dScwpmQ3puNlA0VzdsVjZ2eVE3WmZjUE5vRDJOTnpNT3ArNjVBNGdHUHhTQnpB
Q1BSSkFDT2diUDM2OCtyNHoyVStKckQ1VUZtZHlnWFdFClA5dmRkOThkSkVlN3NwMTk5dGxCQ2xq
cHdJSVZZY2lRSVJySW1GWjZKaDREMzExZWFNc3V1MnpZWTQ4OXRFSW4xcEdMTHJwSUJ5U0MKRS9Q
VlRiZmRkdHRBRmlCODh5RzBaOFJ3R0pFcHlJS1NpYzJRVkpQNmtib2lRZXFPYUlha29VT0hhaVYw
TERBUUFlUUVqUmVSVlRQRgo3NWhBWVB6dVR6bmxsRUIySDBuVHE1bzdDNXFrYXJ2RnhvQUJtRUFF
NG84Wk15WklBU2F0MEg3Q0NTZG9rRFRWNHcwejRtV0lzUm5vCnhQMG15SFR5NU1uNjdObHpBaTVV
Y0FmMzlFTzhoMVZ3UjlOZXJZSTd5UWlvNEY1R25TSndsL1d2cjdYN3ZXei9IYlBKYVc4cmI4cXUK
SEFHRVRGWlUrQ2IraFAvanBaZGVHcVRHUjlrdTNsNERBU2tVcWVOS0VSdGpET01qWGdpNFFUSWU3
ckxMTGpvK2syMk0rTFU4OGN5UQpsWXgzTDRJaGNZeFNkRFdzdWVhYTZnV1I1Mi9IT21NdDR6alhK
Y1UyOVhwNGxoZ2JHSHVuU2tLUWxDUWR0V1pLZzUvcllMNkJZb3I0CjBFVVdXU1NRVFEwcTR5TkpB
bnhrQVMwakZGamd0c29xcTJpbGNhbEhGamJaWkJQTkJNbzVqWWd4cE0vMFphV1ZWZ3JjSTRoNWdx
Ui8KMTNhVW4rUEdqZE41QXBuaXdCOStxU1VXemovL2ZEdVUvem9Dbll1QVNOOTFVenR6TmxObjVP
bW5uNDdQUC85OFZveXE3bzczSXFNTQo0bG9jajBKWTRpTFc4ak0zY2srS2VOdFZCSzZvTDJWZzVY
a3BuTmFPQ3U1aTZZb1N2S3BGMUNURFdVVjNaWUNJSW9nU2FLTGJ4WVVrCmloQWVaV0RYTnBsVWFi
RkExbVZRMU1yUllvbXBPQVlyNHZLaVJkY2svYlFXV3FQdWdReE1XamhSc2doMTRVOGI4cFdGRzYx
YW14NUwKM015aUNOUnBVK2x5L3Y2VU1zcUdQSy9meTJLMGV1dGV5aVF0cTRRdTJhTzBrT0NxcTY2
cXp5MDFTU2kybVJKMU9xd1N1a3hXNDQ0Nwo3cWdmRVJhaUpORFFJclM4OTZpRXpuYitEL3hYSlVG
RGVwaXF5Mkx4MEdycGtxWTZpaUttU3g5c1o1bE1Sa25EYTZzVnZ6SVowN3BVCjFpaUtKSzJWWSt2
MS91YWYxMnI3RmZHMjYvMmE5bk1nRjB6bC9jSXoyQWxGTmtVUkdoa0hxRVdURnRya1hsRUxTVEl6
cHJkTks3L1QKOTJ1dXVhYWluUlZKVmhJWFgzenhpbmIrWS9CWHE1M1dsd3Q5Vmx5c3IvUUxCQWpP
clp1S1hyQjE3K3lNTFVHZ2tYdFN4TnV1SW5CRgpmU2tES00vYnlnckR0U3E0bC9XeDJlMTlSZURt
dXZQM3B4b1dlVjYvbDlYUThtM3RSaUQvdkZiclR4RnZ1OTZ2YVQ4SGNzSFVUaW15CmlWQyt3Z29y
eE1HREIzY1JQdXhlaWRYSkZ2VzNXdC9GeWhIRmlsTEJMOTRpS29CSUxhR0s5blNsTHhmNlRLL0Rs
L3NIQWoxeXdSSnAKMjZtUEk0QTVXcXhLbWtiempEUE95SzRHVTd3ODR2ckJOWU0wc1pqYnFXRmgx
SXlDZm5hc1JuNUo1WW41dVJXRUNidGFTdEZXbkxQbwptR1RyV1c2NTVRSloxdnB6NWg2L2wwVjMz
OXY2Q3dMdGZyOTZ3ZFR5SjZrM2kyemlhdnJrazA4R3NSaFcxQUpMZXlkV3VuUzFKY3RpCmdkSGpX
cElITC9UWkVwajlvSFVpTUdPZGZNN1dqeEZvWnhHNGZneXJYNW9qNEFnNEFocFhRRnlGRjB3TlFT
d0FIVk13dFRlTGJMNzQKNG92NlR6QUJJUDFiVUFQdDczLy9lOVpFOGR5MFlMRzRjNGMwTmhaR0JN
dnVrSjAvVFJyQWNielFaM2ZROUgxNmlrQnIxTWc5N1pYdgozK3NJdEtzSVhLOWZxSi9RRVhBRUhJ
RmVScUJkNzFjdm1GcjlSdmRXa1UyYjhPTTFrQ2VKSjlSaXlBU1BZNVZKaFJGNFNYNGpjU0FWCm44
OCsreXgvbUxyV3ZkQm5YVEE1VXk4aDRCYVFYZ0s2MDAvenQzUWRBQUFnQUVsRVFWU0R5eFZFM24r
eWJ4UlJ2cmdYUFBtQ2ZtUlQKSWN1VVpab3FPbzYzT1FLT2dDTXdrQkJveC9zMUxaZ0sxdFROd3VX
UkxJeVNHS0FRL3AvODVDZEJrZy9vQnkzN3NHSERBbGtuZVoragpKY2VDQWVHUzIxM0N6VFVsSnVm
VVZxSmVsd1JpcDVzQ0xrS3RJdkI0L2ZYWGd5UXk2SElLeGpHRVJvZ3NXS1R6TDZLVUR5dVhKQTBw
Cllncy8vdkdQdGIwSU56Q21odHBUVHowVnlNb3BpVTRxampGcTFLZ3VtYlZ3NmVvdWVhSFA3aUxu
K3pVYmdhWmJRQ3lsWTdNN3l2RjQKVVprbWdmVk96VGR1L1NTR0F1cjAvTjd0S2dLbjRQaVhJK0FJ
T0FMOUdJRjJ2Vis5WUdyMWg2bzNpMndTeXdkTm1US2xzRk56elRXWAp0czgyMjJ5RjI1dlppQnVX
eFlEWWNiM1FweUhodjcySlFOTUZrSGJrRysrRWZOOTlOYjkzdTRyQTllWkQ3dWR5QkJ3QlI2QWRD
TFRyCi9lb0ZVNnZmYlpTRFdGeHdTVHJra0VPcU04dldtV2FhU2EwKzFKbXFSdkFWRWJYT0pMMjFG
aTF1cFpLMjZOejVOZ1NRVkpIcmhUN3oKQ1BsNnJ5SFFTREt2b2pTRDZmN3R6RGZlem56ZjdjenZY
ZXVlcFBjbnowc05BSGtCUjZrSUhrbmhSKzBCcVRpc3UwaWh4a2llL2ZRagpMOUVvd1hGUnpOR1Jl
aWZVdVpBSE5VcHhwUFEwY2RxMGFWRTBPbkdMTGJhb2FFOVg4bjFKdCtXWEcrSE43OXZxZGJIQ3Rl
d1UxQkxoCll5U1dORnZzcU45RzdrOGp2TDE5a1g0dmV4dnh6ajlmSTg5cm5yZWQ3MWNwaEJ2TDBy
R0tObDdyU0h6NjZhZlpEYmp2dnZ2MFhYN3EKcWFkbWJkU3FJSFVzOVYzU2Q4K0REejRZWjVsbEZu
Mi8vK1V2ZjhuNFdhQSswb0VISGhpbGVHRkZlN3JTV3pWdU9PZHZmdk1idmE2MApEZ2g5cE1hTkNB
czZocVY5bys0TVl4bzFsRktpQnBNVUtvNlBQLzY0TnA5MjJtbktKd1VBVTdhcXkrTHVwWFZ5dVA0
OGJwS0JVbzhICmp4RjFwK2dMZFhIeU5QLzg4MGRKSGxQUmJQZncyR09QcldqUHIwanhhTDMvRzI2
NG9ZNzkxQitoamxXZU9xM09UcjUvdnQ3M0VaaXgKbVpJT1ZhS3A4a21GZEtwM0Y1a1R6ZFNZK29F
dXM4d3lBZDlUZ3EyTVNQMUtCWFhpRHVRbG9yNnJ0bzE5cVJSdW1TVm9OOS9SMUdkVQppdlZvakFJ
QlcxUUpsVUk5bWIrbjhhZjk0RGhrbjZENnExRVozNnl6enFyOXNuNXlIRXplYWZZS2prRWFSaW1n
YUlmVFh6dW0vYVliCmFjdTNHMmIybS9MM1pCbC9WQ3FLb3dINS92ZS9yL2NBWEtsOGkzYW9MSTVE
aW12cGZaRkNlbnI2dk04cVdxV1RUejQ1WEhMSkpacXQKb3orbmtjWGlKd045a09Kc1hXNEYxV3Rs
UUEvMzNIT1A0a3hhWFo1UFBqenplKys5dDJyVzBoM1JqaDE4OE1GQkNrWnBHbDZlSjlJMwo0c2JC
Si8yUHBQdjVjczhSR0lqM0V1dXhURmowSGNYenlZZG5qdmNaZnV0VWFSNzh0ZDgvQ0ZNRldncWRh
VlZ0NGdpaytLYW02cGJKCnF2cXc4eitZTkdsU0taL1V0OUhuV1FwdEJxbzM5MmRxMS91VjhWY21t
V0g0OE9GaDAwMDNEUXN2dkhBR3N5aU5BdmNLeXd6akt4V3oKR1VkRllGRWVLb1RqamtObUpseWNl
UWJJM3BWbVlTSWR1eWlzdEZMNHNzc3VxMVhER2JNWTU0aWJvREk2OFNMdEp1SWttRHRBWThhTQpD
Vmd2M252dnZTRENVNUFpZm5xZEJINGIzWERERFVFVWI3cEtMQWJYQnZGT2Z1S0pKNExVTE5MSzZ2
d0hMR1V1UWVPTWIyQmRpL2l2CnZQenl5K0dvbzQ3U1RHRHN3LytBY1pReFZZU2E3Rjd4dnlSV0Ir
S2VpQkNvMWVxcGhFN1ZlYTdENWtITU1mN3doei9vL3ZCUG5EZ3gKekRmZmZHSFBQZmRrdFF2eFBI
QS9tWi90di8vK1FRcCthdlgwTG96ZTRBaTBHb0ZHWktpOGhpZmRsOEpwSW54RW1iUkdFUnFpQkNl
bgptN1Bsb21JNW4zLyt1VXJpOHNmTStPVGxvZEovdGFxZXFjYXlXdEVlTVRmcXNRNDk5TkRzK09l
ZGQ1NjJUWjQ4T1d0akFjMUlTa1Y4Ck1oRlVLd0I4dDk1NnF4NUhKdXpwYmxXWHEvVzEwUUpEMWU1
SnZoTjUzbllXZ2N2M0pkL1hkTDJJMXlzTVQwZElCaHl0c2k2RFVOYUkKaFVvR1VhMm0vb3RmL0NM
N2xZREdpSVlzMVFpeTA5aXhZek9lbEo5bEdaaXo0eFl0Rk4yZklqN2Fpbmo5WGs1SHF4MzNzcDNX
NCtsWAovcytsdmx5cE9mOXN0L1A5bXNlMVZldDlxV0JxcXpEb3puRjVQMk9Ka1JTN2tTS0ZBNVh5
LzVtQmlzTkF2VzYwVjNWVHRZZmw4c3N2Cmo1THlUNCsxMFVZYlJkRXdGQjdYQkJDcWZsNTc3YlZS
dENWeDZOQ2hVVEpOVkxqeVlFSVc0U3RpaHF5SHFrM3EyWC9Rb0VGeHBaVlcKeWc1bGdnV1RNZEVZ
eFVzdnZUVHV1KysrVVRKQVpUd3M1UGtZckVWVEdyZmVlbXZsbXpCaGd2Ynpvb3N1cXRpUEZkRnNS
RXlxOXNHawpEVmxmVHovOTlJZ0FsSDR3clRaUzRiVGFQZEdUSlYrTjhDYTd0V1N4a2I0VThYcUY0
ZW0zQmFGWnRIQlJMQ3RSckNXNjRlR0hIOWJuCmt2OVEyWWYvSG9UTEhFcURNcjQ3N3JoRCtjcStp
dTVQSTd4K0w2ZWoxWTU3YWU4amxENTVrc3crVVFwenhzY2VleXpiWk8vRXZQS0cKQ1RmUGtsRTF2
ZzgvL05EWUtuNzdjcVhtUnY0SEZSZnRLNDdBQUVYQS96TUQ5TVovZmRuZmtFbEhVNmdUODQybkY5
YXFmTjhXeklYYgpVWjU2TTc5My90ejlmZDByREUrL3c3aUFZZHJIZFFZM0FtaTExVmJMS3RuTGZ6
MWJ4bVdRWjViMGtWYlZubWVYOXBRUGQ4TFpaNTlkCjI5WmJiNzNwSjJ2Qmt0L0w2YUIyMnIzc3pX
clJvR0NGMGl4TEQrNkt1R3Joem9SNzc4MDMzNnhnNFNZclB1cnFVcHMrdDZTT2ZlNjUKNTRJSVRS
bnZacHR0RmlRK1VRc0M0cDZFMnluamxaTWo0QWc0QW81QSt4Q1lzUm1uN3RSODQzWnRyY3ozM1Vu
NXZlMTZCOHB2T3l1NApYM2ZkZFdIRWlCR0JuT29iYkxDQnhocmhOMXhHK0V5eno5U3BVM1hpVDI1
OUNkYk0yUEVCaHZBSkxxTnFNVUQ0NmErNDRvb1YyVTJLCmprTk1GY0s0SkJ0UVgrSWlubmEwK2Iy
Y2pub24zY3ZlckJZTkFpYUFtR0xIVVBGS3pZYUUvem9Dam9BajBEOFFhSW9GcE5QempiY3kKMzNj
bjVmZnVINDlrWTFmaEZZYW40MFV5Z0MrKytDSnJFTmMvRFhRbkpXZWVDRUFzYXMvejllYTYzOHZw
YUhmU3ZXeVY5WGo2MVU1Zgp3aHFISmM4c0lOTzNCRTJPd2JxNDA2Yk5oY3RZN3lUTFU3WU5CUUFC
OE9JNnE5V204NGt6TWtaZmNBUWNBVWZBRWVnVkJIb3NnSFI2CnZuSE04NjNNOTkxSitiMTc1WW5w
c0pPa0ZZYkx1b2JXbitjZ3BYd0ZkN0tLa0sySzdGMjFLTFg0U1V5UVpveXhDc05sKzFxRllUS1UK
SUJDVFpRWXJDTlk1eURJTkZWWEtMVHRtdmoyZjBRMHRNc3FCVkNpeGZYQnQ2VFR5ZXpuOWpuVEt2
VFRyc2QyYjZUME02c1kzY3VSSQpyUlJOQmgreUl4VVI3bjd3a1hXSjdFRVM1MWJFbHJWNXBlWU1D
bDl3QkJ3QlI2RGZJdEJqQVlUVXU3aWc1QW5MQUIvUzRFbk82Mnd6CnFmMGdtM2l4akdhS2lSbXA1
a2hOQnpGcHhNK1hsTEM3N2JaYklKVnVTbSs5OVZhUXJGYlpjYXk0RDc3c1J2Qkl6UXIxOXlVRkg2
bG0Kall6LzczLy91elhwTDZuMkpGT1FwaCtrZ2I1QnhxOHJ5UmY5bEVCNVRaRXFHWU82OUpQajVh
bmFNZkZoenAvTE1MUGYvUEVHNnJwWApHTzQvZDk3dlpXZmV5MVphajh1dUdEZXN2QVhFS3pXWG9l
WHRqb0FqNEFqMFRRUjZGQVBTS2ZuRzI1M3Z1MVB5ZS9mTlI3Qjd2U2FQClBRS2ZGSXdLMUh0NS92
bm53dzQ3N0ZEWHdheCtpUlJnelBnNUZqVTJqanp5eUxENTVwdUhlZWVkTjl1V0xwakZ6L0xMMjdZ
aFE0Wm8KN1FQYXljRmZpMHpEYlFJejFoQnFnNkFocHM1Q3ZoWU14ME5vNzRUOCtyV3VyZEh0Zmk4
YlJheDMrTHRyUGFiZTBvNDc3bGpheWJKcQowYllEQWdnSlBJeW9VM1Q0NFlkcmZRbmlyanFaWmpo
dWhrN3VudmZORVhBRUhJR09RYUJIQWdnbWRUNUZSSkFyUHVncFlZSEFITjhJCk1iRmpZb2hsZ0V3
L1RNREdqUnVueFgvc09GTFJNL0NwbDdiYWFxdkFweFpSb0lkUFBjU0VWVklScXlXRUFuNVlWaWh5
bEhkMWtSVEYKZ1UrZThIMm1DQ0NmbE1oQTFPb3NST241K3NJeUFpY1pjWmpFTTlrNS92amp0VEFX
ZmNmU0pkVnFLeTZEckRoU2EwWUwvRkVZMEFvcwo0dHVla3FSRkRoeWI3RG9VM3lxaWVpeCtoeDEy
V0poampqbDBkN05hMVd2eHc1cUl4UStyR243c1JsanpzQWhTTUt3L0NTRitMM3YwCkNyYkhvMGUv
Wm5FMVlaaUQ4YnhSOEl4c1VSUkZhOFI2Zk13eHgyaC9xbGw2cTNVWUFZUnNWN3dubjNycUtTMEFS
d0lIeHBST3B2akwKU2pmUFR1NnI5ODBSY0FRY2dYWWowUDdScjA0RXFEWktsZDVPSjF5eTBzcXpu
ZDVmWEJ1SWh4ZzllblNYZmg5eXlDSHFQc2VFRjJ1QgoxRkVKNjYrL2ZuWkpURmlZYkd5eHhSWmFS
VDNiSUF0WUFyQVdvTGxzTm5tRjRXWWoycjdqK2Ixc0gvYWN1ZDNXNDZLcjkwck5SYWg0Cm15UGdD
RGdDL1F1QkdjVE1YcmZhQnZPeWEzazY2d0ZvNUo0VThaNTk5dGxxR1VEQXUvZmVleldWSzFmNDRv
c3ZhZ3hQL21yUml1Ni8KLy83YS9PYy8vemtNR3paTWMvUlBtalFwckxIR0doazdMa1ZZZFlqdEth
S2l2aFR4MFpibnhicUVVSVN3MTJ6aTc4RHhxU1BRVGtvdApmbGdCdVQrZFN2bjdVNjJmZVY2L2w5
WFE4bTN0UmlEL3ZMYTdQMzUrUjhBUmNBVDZDd0xObjhIMUYyUUd5SFcwdXdoY2QyQW00MVFyCmhB
LzZnbHRYdTRVUCttRVdQeEk1ZExMd1FWOTdRbjR2ZTRLZTcrc0lPQUtPZ0NQZ0NQUk5CRndBNlp2
M3JhbTl0aUp3anozMldPRngKbWV3VDQ3TDIybXVIYWRPbVZmQVFMRTJXTStJVmNNVjY1WlZYd2dz
dnZKQ2xtYTFnOWhWSHdCRndCQndCUjhBUmNBUWNnUUdQZ0FzZwpBLzRSK0NjQTdTb0M1L0E3QW82
QUkrQUlPQUtPZ0NQZ0NBd3NCSm91Z0ZoR2xWYkFTR0UxUGthV1ljaldPK1hYK21uaE5aOTg4a21u
CmRLMjBIMVpvakx6L1pZUWx4SzdKZUhwUzBNK080YitPZ0NQZ0NEZ0Nqb0FqNEFnNEFnTUhnYVlM
SU50dHQ1MjY0UlJCZU9lZGQyb2EKWHZ6c21mRHV0Tk5PWVpkZGRnbTc3NzU3Vm5Rd3Z4OENEU2xY
cWJKNzBra25hV3BJWElIV1hIUE5zT1dXV3lvN2FTS0hEaDJxL3Z2TApMNys4SG85VXFzUTNFR1E5
ZGVyVWlzUCs3bmUvQzdnZDBRK09zOGNlZTJoTmllMjMzejRzc3NnaVliUE5ObFArTWo3cVRjQ1hG
bUFrCjR4UDlYR1dWVmNLRUNSUENlZWVkRnpiWlpCTU4wdVljUnFTMXBJK2NtNnhTWUFJUjBFM0dL
TnFaNkpOcUdOZW0yMisvWFYyZmFDZXQKNy9ubm4yK0hhdHB2dTRyQU5lMEMvRUNPZ0NQZ0NEZ0Nq
b0FqNEFnNEFuMEhBZEZvMTAxaExBcndjbnJ0dGRlaVRKU2pUUDVMbWFSdQpBMW0zNGhsbm5KSHhQ
UHZzczNIbW1XZU9VZ3d1YTJOQlVzVEcrZWFiTDBxdGtTZ1Z4Yk50TW1HT1J4eHhSUHp4ajMrY3RW
MTQ0WVY2CjNOdHV1eTFyKytpamorSSsrK3dUQncwYUZCOSsrT0dzblFVUkVwVC9EMy80UTBXN0NC
Sng1TWlSV1ZzWm4xaGZvZ2dxeWtjL0pYZTkKOXZPdmYvMXJ0aThMVXJzaFNweEVSWnYxOVpwcnJx
bG9aMFdLNnNYRkYxKzhvdDB3a3dKMUZlMnMxTG9uNlE1RnZHREVkY3cxMTF4NgpicWxoa2U1U3NY
em1tV2RHcVZhZnRVMlpNa1V4bENLQVdSc0xJcUJGcVlNUkpjVnFSWHU2VXRTWGRIdTYzQWh2dXA4
djl3NENqZHlmClJuaDdwL2QrRmtlZ0hBRi9Yc3V4OFMyT2dDUGdDUFFFZ1JtYktTcFJwQTByQUJY
U1R6enh4RERiYkxOMU9ieE1kTFVOamI0UkZhQi8KOHBPZmFNRkJhNlBHQkVVT3NRWlFVNEpzT1Vi
c1M4RStVc1VhV2VYb3RQQWZGYkp4RWZyc3M4L1Vpa0RSdXBWWFhsbDNNZjYwSDJ3UQpRVWl0TWZu
ajV2bG1uWFZXN1pmMWsrMFhYSENCN20vNzhvc1Y1dW1ubjA2YnNpclgxb2QwSTIzNWRzUE1mbFAr
bml5M3N3aGNvLzBtCkhhYVRJOUJLQkxDMk52cy9adjAxMTFFcjZJZjc2SGUrOHgzYjdMK09nQ1Bn
Q0RnQ2pzQ0FRcUJwQWdoMUMzQWpHanQyckZZRVJ3Z1IKNjBOZFlIN3h4UmRCdE9ucU9tVTczSFhY
WGVISko1OE1vdlV2VEVPS1lNSTU2cUZmL2VwWDRjb3JyOVRxdWlhQWxPMUhGV3ZSOUpkdAoxbmFS
K0lKWVlBS1ZzOFhpb3YwOCt1aWp1d2dmZHBETExydk1GanZxdDExRjRCb0Z3V3ZQTklxWTgzY0hB
ZHhIK2U4dnV1aWlYWGJIClZmTFVVMDhOOTl4elQxaGlpU1cwS0NyS0RqNG9VUGJlZSs4dzAwd3pW
ZXlIUUhQd3dRZUhOOTU0US9sUmJ2Qk93K1dSendNUFBGREIKMzQ0VjNGZVBQZlpZVlpKUTZKVVAv
VVNoSWhabWRTTWRQSGh3MWpYY1Vua25rKzJPdWo4Ly9PRVBOUzVNTEw5YXRSenNxQWxVeGtkMQpk
REQ0d1E5K29PNmwyWUY5d1JGd0JCd0JSMkJBSWRBMEFlUzY2NjRMSTBhTUNBc3V1S0RHUm1CNXFD
YUFpTnRWWUIvaU02Ni8vdnBBCjRib0REend3QS8rbGwxN1NaUWFxTXFwWFcvbTk3MzB2aUJ0V0VE
ZXNMb2ZDQ2tEZzlWZGZmYVVEcUxoa2RlR2h3ZmdRdExDa3dBK1oKRlVaY3NIUTkvWHIzM1hlMXFK
MjFrY3FXd2QySVFUeXZCZVg0dlVVLy8vblBWZWhEbUlNUXF2aEErYmdaYmN4OUVidkRwNGpFblU0
dApXSjFRVTZPb2Y5N1dPUWlJQzZOYUtrZVBIaDJvZ3AzU0lZY2NvckZRRko2Y1o1NTVORzVxL2ZY
WHoxaXdRQjV6ekRHYUFob3Jha3BZClRvbk5JcmFxRnIzKyt1c0JwUWZ2TGVMRzhyVGVldXRwZlJn
RUVKNXRlMWM5OTl4emFsVWw5ZlJGRjEyVTdmYnl5eTlydkJ2dk5mWXgKQ3k3S2k2T09PaXJjZE5O
TkdXKzZjTzIxMTRhNzc3NWI0OUtJRVlNUVZyQ2tVclF4SlRDaDJDZlh2ZkhHRzJlYmpqdnV1UERl
ZSs5bAo2K2tDMlBHZU50cG9vNDNDQng5OEVQYmNjODl3L1BISFo4ZjUrT09QVmREZ1dMZmNja3RZ
YmJYVmRKZHR0dGxHQlNxdWdWZzM2eU1iClAvMzAwN0RYWG52VjVMTzRQbVhNZmIzNTVwdDZYTzZC
dlNzNUZ5bkNpUU5rbWJvNGpCL2NxenpOTXNzc0FTc1RLY0dKMDRNKy9QQkQKdlRhVVM2a3dsZC9Y
MXgwQlI4QVJjQVI2RDRHbUNTQUVWek40UWd4Q20yNjZxVTdVMCtyWTZXVjkrZVdYT2pBd2tHQTVZ
V0FnVzVURQpHQ2diMm5rSU42cG1FRUlJazR3OG9iVmtjb0FtczlwazJmaVlRTURQeEFjeTF3b21B
bmxpTUdVQzlkUlRUK2tBanlYR0JsVjQwWURtCkovcTRpL1VXMmFTb0ZlZERnMW9OejFhYzA0L1pO
eEc0OTk1N2c4UkZxVVdUNVJWWFhGRXZCT0VlSzJPZWZ2M3JYNGY5OTk5Zm0zbG4KM0h6enplR2Nj
ODVSelh2NnZrRUxYL1MvekIrUDlYYTZqNmI5bVR4NWNwRFlzSERGRlZlRXh4OS9YSk5yTVBrbXFV
VTFJa0VIZ2hidgpVZ1FKaEpZaTJtcXJyYm8wbThzbjcwQ2ozbkJmdFhPbHY3aXJYbkxKSlNwb29I
emlQZnZNTTg4RUJMb0hIM3d3WUVFNTVaUlR3cVdYClhxcjNMTjAzWGNZaWpXQ0xGUWNjRVE3NWtH
amt5Q09QTExSeXBmdjdzaVBnQ0RnQ2prQnJFZmluNnJ1SDUyQ0FRR1BHd01GRUFzMC8KazFzbUJX
V0UxdTZBQXc0SUV5ZE9WQXNFKzZBdE5NdUNhYXBNRUNrN1RqM3RIQlBodzFMTnB2dXNzODQ2UVlM
T2RXQTY3YlRUVk11VwpicmRsNHlNdUJaZXErZWVmWHpjeHdFRkYvUncyYkZpV3FRdHIwSnh6enFt
ODlqVnExQ2pONnNXRXlqNG1nQm1QL3pvQy9SMEJ0UHVTCnlFQUZWa2xPa1YwdS8xY0VmajVNUlBt
UG9RWEhZbXFFZ1BIUVF3K3AxbnZERFRmVVNhcHR3L1VKOTZoYVpPNmp1Qlo5L3ZubmRidDIKY2x4
ekg4VXlZR1R1bzd2dHRsdkQ3cU80Z0RIWlJsRnh3dzAzNkNHeFBoZ082UytZb0FEaDNXU1lnQWZ0
S1IreGFSUUtwUTFMVGlPRQowa1FTZ0tpUVYycy9MQXkxQkQ3NmdKVVZhMVlSbVNVWnF3eUVVRVFt
UU80OThZVUltNUFrOXdoa09zU2xOcjFXN2lWV0taUWZ4a3RXClEwbVFvcGtQY2R2RmhRNkZtWk1q
NEFnNEFvNUEreEJvaWdXRUFZN0JJUTA2MzN6enpjT05OOTZvd3NnQ0N5eFE5UW94cVRPQTQ0S0IK
VHpJRGhtU0MwbjNRWXZXVWNMRmlFQ1ZWYnkxaXdLMUZhUGZST0VKTExiV1UvaExEVWtUbUpwWmlV
OFRuYlk3QVFFYUF0TmlrNVM1egpUY0pORUJkR1VuQVR6NVVTR254U1ZqUEp4dlVHaXdFV1ZsTnFw
THhGeTUzbVBvcnlCU3VRV1ZlTCtrd2JtR0RaWFhmZGRWV0JVY2JYCmsvWld1cThXOWNzRWtQeTE0
MjVHK25PVVAyKzk5VllYVnowN0ZvTEgwa3N2clVMR3RHblRyRm5ISnBSUUNDQzR5NjIrK3VyWk5s
OXcKQkJ3QlI4QVI2SDBFZW13QndjZjY3YmZmVm45LzZuTFlCeE00bWpqOHNPc2hKdlVRKzBCWVE5
QmVNdUJ3amlJeWEwblJObXRETzBaZgowTXpoRGxXTGNMVkMyM2JWVlZkVlpiV0FVd2F5VlZkZFZW
MG04RzEyY2dRY2dlNGg4Tk9mL2pTODg4NDdhb1VvT3dLQ1BMRUdLYUhvCndQY2Z3WU5KT1pZUWxC
bmJicnV0eGtla3ZFWExhTU10cmdUM1VaUWV4SG1WVWQ1OUZPVkdXbXpVcktFOWNSL0ZXb3AxeFlq
Sk00SHUKUmU5Q01DbHF0MzE3K2x2TGZaVkpmelYzUzNOZmhRZkx1TDNyaS9yRmV4cnJqMWxBVWg1
d2g0am5xMFVJbytsemdxc3Y3bHRiYjcxMQpRTW1VdDBiWE9wNXZkd1FjQVVmQUVXZ3VBajBXUVBD
ZFRndnlXZmV3RFBCQkFFRTdhV1RWeTFQaGdZRUJWeXpjajRZUEg2NnNUQ1F3CnN6UG80TXFRajQx
QUMzYm9vWWRtTGxzMitUY0Job1BBYzlCQkI2bTVIWUhDVW1DeXpmanpnWjFNSm5DTk10Y3ErcGJ5
NjByeVJUL3gKMThibm11RFVmRDg1WHA2cUhSTVhBdXViN1dlWTJhKzErNjhqMEo4UU1CZEpMSlps
eFA4TnBVSktCQ1B6MzZOUUo4SUlBZGdFZnA5OAo4c2twVytGeXA3cVA1aWZwV0FTd05LZENpVjFR
R3J0aGJjMzZiYVg3YWxrZlNXUlNKSUE4K3VpanFwU1NHa05sdTJidCtlY0UvTEMwCjgzRnlCQndC
UjhBUmFEOENQWExCd3B3OWZ2ejRNRnlFQm9MTzB3dzIrRUdUbXBIWUVPSW1xT0JOVUNrQmhCQlpU
dEEwNGliQnhKb0oKUCs0WGFWWW8vTDNSWEZHcGZObGxsOVdxNWJoYkVLaUl0aFEzS0V6elpLZ3lT
OHVZTVdQVWVzRWtCSzBvcmx5Y2g4bUpFYjdWNXNaQgpiQWJIaHBqNFAvSEVFNW03RmtHc2xrSVhy
Um1ERjllYUoxSlI0cmROaGhaY0orQWhnQkp0THRtOGlDMHhiSEF4czlnWU1FRG93b2ViCjRGSGlR
T2cza3cvcW5PQWJUMVl1OW9jUTBxUXdvd2EwNS92ZzY0NUFYMFlBQVI1bEJzUi9hZm5sbDYvcmNo
RFlIM25rRWMzWXhBN0UKWFJHd3pUdmoxbHR2clpxSkQvNU9keCtsaisya1ZycXZsbDBYYmxoNUFZ
UjNPTzlCZTIrWDdWdlduaXFteW5pODNSRndCQndCUjZEMwpFT2lSQUlKZ3dhZUk4RXZPWjUzQ0Fz
Rmt1eEVhTW1TSVpvdGlvc0hFQklGajNMaHhGWm9zWEM3NDFFdGtnaW5LQnBQZm43aVVOTGcwCnZ6
MWR4ei85OHNzdlYwc0lMbWxZVmhCNjh0cEowbDd5eVJPdUJ3Z2RmRklpYUxUUndORjAvL3l5Ri9U
TEkrTHI3VVlBSlFVV0RJTEoKY1ZzaUlCMS8vM29JSVI5S2c1bzUxZ09TWVk1c1I4U2k4ZDhzSW5N
Zk5lV0Y4ZkRPUWZsQU93cVdXbVRXQ3B2a3B1NmpCTFpibHFuMApPRmdXZUpkMU1uWFhmUlgzdFIx
MzNMSDAwc3g5dFl3QkFZUU1na1pYWDMyMVp2aEM0WlNtRUxidC91c0lPQUtPZ0NQUTl4RG83QkV3
CndSUHJBMFd5T3Awdy9adTFvOVA2NmdYOU91Mk9lSCt3WHBMQWdrazhFMWRTeUdMMWhIQ2JKSVZx
U21RNElsTVZCZjRvRElpd0R4R24Ka0JMcGV6azJtWkxLQXR2cmNSOGxzNU81L0pnTFpMM3VvN2lt
NGo2S2l5WXhDVWE0aHVKZWlqVzRFNFFRYy9rMEFZcCswa2Nzc3NUSApZTFZ0eEgyVnVpeFFOVmRU
WlNqNVFnQWhneFdLR2xLWTQ4WktvZ0NVV2s2T2dDUGdDRGdDL1FPQlBpT0E5QSs0L1NvY0FVY2dS
WUNBCmJkS2lvdVZta2t0NmJxeUF4SDZSUE1JRWpIUWZsbkZ0Uk5nM0MwZytxQmlMSWpFZ3BBYkhl
cHIzL2U4VTk5SDhkZlgyZXJ2ZFY0dXUKRndVT3JyZ0UxMVB2QlN0MDZrSmJ0SSszT1FLT2dDUGdD
UFF0QkdZUU0zdGxSR2VWL3VPKzQxcjBLZ0MxWVpQZmt6YUE3cWZzTmdMNQo1eFZYUmF3QUNCUE5K
bDV0SEw5YWhxWm1uN1BvZUtuN0tPNWRlV0dvYUI5djZ3d0U4czlyWi9US2UrRUlPQUtPUU45SHdD
MGdmZjhlCitoVTRBbjBXQWRLeXRvcHc2MnEzOE1HMTlSWDMwVmJkQnordUkrQUlPQUtPZ0NPUVI2
RDVhc2Y4R1h6ZEVYQUVIQUZId0JGd0JCd0IKUjhBUmNBUWNnYThSYUxvQVlnR05yVUNZWE81cGhW
d0xDbTNGdVhweVRPdW5lYmVsUmNwNmNsemYxeEZ3QkJ3QlI4QVJjQVFjQVVmQQpFZWpyQ0RUZEJX
dTc3YllMWjU1NVpsaDAwVVc3WUhQbm5YZHE1aHFLaEJGNFNsWXIwdFR5b2VvNWxYN3pLUm9SYU1o
NDg4WWJieWcvClZYS2ZmUEpKVFhkTDdRRFNiWktsNWRoamo5WDZJQnlURDN5NFlGQmZaSk5OTmdt
REJ3L08ra09LVGRKanZ2TEtLMkdOTmRZSTFQRkEKV0tCdUNWbFg2UHVrU1pNMEZXY1JIOWxkNkFP
MVBtNi8vWFk5TGlrOUtYbzRaY3FVTUhUb1VFMjlTWkV6Q2hPeWpldzlFRmxsNkN2YgpxR1Z5M0hI
SGFacGQ2b0NRNTU1NkkvU2I5Z01PT0NCUWZJdjJlKys5Vi90Sk5YZHdjbklFSEFGSHdCRndCQndC
UjhBUmNBVDZKQUl5CjhhNmJ3bGptNmVYMDJtdXZSWms4UjBsOVdjb2txVFlKZW85bm5IRkd4aU5w
TjZNSURGSHk5MmR0TEVqeHFTaUY5NkxVR29tU2lqSGIKSm9KSFBPS0lJNklJRjFuYmhSZGVxTWU5
N2JiYnNyYVBQdm9vU3FIQk9HalFvUGp3d3c5bjdTeE1tREJCK2FYUVgwVzdDQXR4NU1pUgpXVnNa
bjFoZjRtYWJiYVo4OUZOU1Iyby9SWWpKOW1WQjBtMUdxUU5RMFdaOXZlYWFheXJhV1pFNkNGR0tK
MWEwRzJZaURGVzBzMUxyCm5uVFp3UnNjZ1RZaTRNOXJHOEgzVXplTWdEK3ZEVVBtT3pnQ2pvQWpV
QmNDVFhYQklxOCtPZjFKY1VtdS9pS2FhNjY1dEJrdHZ4SFcKRDlKdllzMHdJaWM5UlE3SmprTkJz
RFJZbFgxSjFZbDF3OGlLZmFXRi95aHFkdTY1NTJxUndyWFhYbHVyaXVmNTAzNndEY3NKT2ZxTgo3
TGg1dmxsbm5WWDdaZjFrTzFXVjJUOGxxcGxUREMwbE82Yjk1cmZsMncweiswMzVmZGtSY0FRY0FV
ZkFFWEFFSEFGSHdCSG9Td2cwClRRQWgxU1J1Ukxnc0lYd2doTlJMWDN6eGhib3VwVlhINzdyckxu
VnpvcEJYVWRwS0JKTjZ6NEZiRThXc0tHNVZpeWc4UmcyQmFpU2kKWFJBTGpGWmZKbzgrN2xoVS9z
MExIM2FNeXk2N3pCYjkxeEZ3QkRvVUFZOWY2OUFiNDkxeUJCd0JSOEFSNkhjSXpOaXNLNkpTN1ln
UgpJOEtDQ3k0WXFBQ001VUhjbjBvUFQ3Vmo5cGs2ZFdxNC92cnJ3MXByclJVT1BQREFqSjlDWXhC
eEZtVlVyMFdBS3NuaWhoWEVEYXZMCm9SQWdYbjMxMVVCMVkrSS94Q1dyQ3c4TnhvZWdSY1ZtcTRi
ODRvc3ZLai9WZS9QMDdydnZhaDBDYTU5MzNua3JoQlJpVUNpNGxSTEgKZDNJRUhJSGVSNkFkOFd1
OWY1V1ZaK3lFK0xuS0h2bWFJK0FJT0FLT3dFQkFvR2tDQ01IVjExNTdyV0syMTE1N2hVMDMzVlFu
NmdSNQpGeEdWamovODhNT0FJSUxsWkxBRWlaTXRhdTY1NTFaMktpUkR1RkUxZ3hCQ1huLzk5UzZI
SXVnZDl5NWN0NnJWRERBK3JCL3c0M29GCldWYXVJcXZKbTIrK0dRZ2FSN0RaYzg4OU5jQTh0Wkxn
Y29ZQWxoSkI2MDZPd0VCQ1FHS29WR0V4ZXZUb1FCWHNsUGovL09VdmY5RmkKaGZQTU0wOVlhYVdW
d3ZycnI1K3g4RDg4NXBoandoWmJiS0Z1bk5rR1djQjFrd1FRaHg5K2VOcGN1TXk3QWFzcmlwT3p6
ejY3Qzg5Ngo2NjJuN3djU2FFaXNXcVlzSWJuRXlpdXZIRjU0NFlWdzBVVVhaZnU5L1BMTFlaMTEx
bEhGQ3Z1WUN5bnZqNk9PT2lyY2ROTk5HVys2CndEdjA3cnZ2RG52c3NZZGVLOXRJdG9FckowVVZV
eGYrZ0EwQUFDQUFTVVJCVktLQUkrOGQzRmMzM25qamJCTUpMTjU3Nzcxc1BWMEEKT3hSRlJodHR0
Rkg0NElNUDlQMTAvUEhIWjhmNStPT1AxWnJOc1c2NTVaYXcybXFyNlM1WXFVa0l3alZJZkZ6V1J6
WisrdW1uZ1hjLwpWSTBQU3hPdXVrWEVPNVBqY2cvc1hjbTVIbnZzc2ZDem4vMU16NHRGbkhHRGU1
V25XV2FaSlh6Lys5L1g1MkdSUlJiUnpZd3pYQnZXCmJjWVpKMGZBRVhBRUhJRU9RS0N1U0pHdm1j
b0M4cDUrK3VrNGZQandLQU8rZm1SZ2lETGd4aTIzM0xMTDRRazRsOHVPa2lrcjJ5WloKcGVLS0s2
NFl4VUlRUlREUmRyYkRSOEIyUFNTWnJaUmZMQlZkMkRtbUNCZmFSOXQ0M25ubktmL2t5Wk90U1gv
RkNsT3hYc1JIRUx4awo1bEkrR1NqMU9QQVZrY1NxNkhhdTI2aGFYMy8wb3gvRlZWWlp4VmoxdHdn
ell5aTdKN2JkZngyQlRrS2c2SGtsVVlOTXB1TnNzODBXCkgzLzg4YXk3TXFuWC93N3ZnZlR6NjEv
L091T1pObTFhbEt4MWNmYlpaNC8zM1hkZjFzN0NtbXV1R2JmZGR0dUt0cklWRVZLaXVIdkcKT2Vh
WUk0b1NvSkN0N0g4b0UrUEkvOVpJcktOeGhSVldpQXNzc0VEazNaWW5FWnFpQ0F6NVpsMlh6SGRS
SnRoUkZDSlJYRHUxalFRYQo2ZlVYTFo5MDBrbktDeDdpbmxyS2Y4Y2RkM1E1YjdYMzBVNDc3YVR2
VGhFQXN2Mkszb2xzSkZFSTV6ZXF4aWRDZ2JGVi9JbzFYUHN1ClFvNjJnNlVJVFZFRUxXMFhJVlhi
UlNBcnZVYndBVC9KU0tpOElrRHA4OFV6UmtJVEVRNHJ6bGx0cGVoNXJjYnYyeHdCUjhBUmNBVHEK
UTZBcE1TQUVYNlBSd2xyQkIyc0RnZGVrc3NVTnFSYWgwVUpqaGlZT2x3QklNa0hwTDlyUm5oSXVW
c1NBa0I2M0ZoRXZVb3NJT0pjQgpYOW1XV21vcC9TWDliaEdabTVoTXJvbzJlNXNqTU9BUlFMdi8v
UFBQcTRWQnN1TmxlQ3k1NUpLYUhsdGVaV3B4eENxS0ZoeVhUU01zCkFBODk5SkJxdlRmY2NNUHc0
SU1QMmliVjFKUGdvaFoxVXZ3YUtjeXhucUQ5ditHR0c3VHJXQi9BSVAvQitvTUZGa3VMWVFJZXRL
ZTgKdko5RlFOTTJMRG1OVUN2ajU0cjZZYTZzakFVUWxtbFNuWFB2R1dNc2pvOUVJWkp0VWExUDZi
VnlMN0ZLWWMwMlhzbFdHQ1JEWTFocwpzY1UwYnBBVThGanNuUndCUjhBUmNBVGFoMENQQlJCY0hO
NSsrMjNOV0NVV2oyQ2ZvNDgrV2dkQzNDRHFJY3N5eGVBSkVSUEM1SUVBCmJzNVJSQmFIVWJUTjJo
aWM2QXNETSs0Y3RRaFhLd2E3cTY2NnFpcXIxU3RaZmZYVnc2cXJyaHF1dU9LSzBNb2cxcXFkOFky
T1FCOUgKZ01taGFOdlYxYWJvVWtnNlFRd1YyZXhFeTE3QlF0WTQzTFNZWk9PS1JXd1ZMbEVvUDNp
UDFLS2krTFZxKzRnbFJPUFhUajc1NURCcwoyTENteDYvaEppUVc0Y3k5czZ3dllJS3laOTExMSsy
Q1NkaytqYmJYaXArNzhzb3I5UjJOTUZBVVk4ZjVpSitERHhlMUhYYllvZFE5CkRGNFRRTXkxbFRZ
SWR6UDJ4ZjNycmJmZSttZGp3VGVDeDlKTEw2MTFwdExuQkFVUWJuWWtMbUVjNEwzdDVBZzRBbzZB
STlBK0JIb3MKZ0pCNmw2RHpQR0VaNElNQXd1VEF5S3FYcDhJRGhmMG1UcHlvOFIvaXlxV3NESzVv
dVlnVklSTldQamFDUWVqUVF3L05nc0Z0OG04QwpEQWVCaCtLQWFMc1FLUEFOTmpMK3ZGODFscEpS
bzBabEtYN3BHMlQ4dHIvOTBrK0VEL3kwOFEzUDk1UGo1YW5hTWRIZzVjOWxtTmx2Ci9uaSs3Z2ow
QndRb3pQbk9PKytVcHZEbUdwbElFbXVRMG8wMzNoancvU2RPZ1A4amxoRGlTY1Q5cWt0Y1NMcWZM
Zk4rc0xnU1loaXcKdXBKb29venk4V3Y4eDRsZk0ycEcvTnFjYzg0WnlBNW94T1NaQXFSRnloZ3dL
V3EzZlh2Nld5dCtqa2svbnpLeStEbDRpSVV4WlZNUgpQNG9pckQ5bUFVbDV3QjBpb1VndFFoaE5u
eE9FUnQ2N1cyKzl0Y2JpZ2ErVEkrQUlPQUtPUVBzUW1MRW5wMGFiTkg3OCtEQmNoQWFDCnp0TUFV
Z0k2cVN4T01DUDFQTTQvLy94QXhxaFRUamxGVDBtUUlRTTlXa29tMXRUMElEQXp6UXFGdXdVREJ3
R1p5eTY3YkJDZmJxMHcKTGpFbldrVWNOeWcwWTJqWXpOSXlac3dZRlRZSXdtUlNnaXNYNXhFZjdl
eFNjVzFBSXdlUnFZdGpRMHo4bjNqaWljeGRpNHJwbGtJWApWd1JjeGJqV1BGRkpIYmNKZ2lYUlhN
SkQ5aTRtVTJUem9wSzVZWU9MMlRubm5LT0hBQU9DN25HaElCQmZmTnRWTzhnQVRaMFRYRlBJCnlz
WCtFRUthRkdiVWdGRnQ4QzlIb0I4aGdNc1ZoTXZrOHNzdlgzaGxDQmhZTlZNaUdCbmhuLzg0d2dq
L0o2eXlmR3JSTTg4OG8rK28KU3k2NVJGbFJqREJKNWo5YWxrQ0RvRytKMWRBUENnT3pnbkErM2tk
WU1DQVRSSFNsd2EvOEpCMkxBSzVVV0hQemRZSndVMm9WZ1FmQwpENEgyZVFKbmhFWm8rKzIzVjJW
UG5vZjFsQThyRjhKaE5TS1RZcEVBOHVpamo2cFZYT0owcXUydTIvTFBDZmp4L3ViajVBZzRBbzZB
Ckk5QitCSG9rZ0NCWThDa2kzQUlZdUZMQ0FzRmcxQWdOR1RJa2tDMktnWjVKUGdQOHVISGpLZ1lT
Tko1ODZxV3R0dG9xOEtsRnhLWHcKcVlkd0Q3bjg4c3ZWRXNKRUJNc0tFNkw4NUlDc00zenloT1lQ
b1lOUFN2aHNOK3EzbmU3dnk0NUFYMEFBQ3lMV1ZJai9lWmtBa3I4VwozZ3VQUFBLSVpteGlHOEtB
QkQrcjB1TFdXMit0bWdvY2ZvdGZTMk8waUY5RGtFRTVJb0hrc0pXU3hhOHhxVWE1UUx4Qk0rUFhT
ay9jClN4dGFHVDlYZGdtNFllVUZFSlJJS0dKTWNWUzJiMWw3YWhrdjQvRjJSOEFSY0FRY2dkNUQ0
QnU5ZDZxZW5ZbUJmcm5sbGxPM3JrN1cKWXFGNXc5cEJDc2k4OE5FekJQNC9lK2NCSmtXeHRlR3p1
K1NnSUNCbVVVRVJEQ2lLaXFJSUdNR3NZTDZLQ29vNUs2S0l2NktZUURHQQpBUU1HRUF3WUVRVkVG
REJ6VFNpb2NBV1ZuQmVXVGYyZnI4YnE3ZW1kbWU3Wm5kMmRZYjk2bnRucHJxNnVybnFyZXJaTzFU
bW5lRGNKCmJKNEVzRW9LMnpHc3FNS0pCUXpTd3dhc01pTEFSYThOV0EyQnZjQ3R0OTVhYWlCcjAr
QTczZTNYdkdXdGl1T0t0cCtMVnljSUlGNGIKa0pkZmZ0bll1V0RGMit0Q09ONzlqQ2NCRWlBQkVr
aC9BaGtqZ0tRL1NwYVFCRWdnV1FKUW40UlhJbldIYmV3dXJOb2w4b0hkRnRRUQp2UitzVEt4ZnYx
N1VEYmE3Mm9pMHNGUHdob2NmZnRoTUFNQTRPbDVJRi91MWVPV3JySGhyYytaZEphZ00rN2w0OVlN
QUFrOVdXQ2xHCnU2SU5SNDBhSlZkZGRWVzhXeGhQQWlSQUFpU1FZUVRLcFlLVllYVmxjVW1BQk5L
TUFPd2tJSUJnbGhzcW1yQ3ZnQm9pREk1aDd4RFAKamdPMlZWaHR0Q3NnZnFOaXFEVENTeFZzTzZD
bTVWODFUUmY3dGFwdWpxcTJuNHRWZjZ3Z3d4WVFhbkVRT3FBRzY3WGhpM1VQNDBpQQpCRWlBQkRL
TFFKWXVzMGRiZENZb2Y5YWdMSEVHaGs2ZUlDZGVTaFVCdGttcVNES2Z5aURnNzYrd2xZSmRGNFNK
VkFmOHRDSC9SQjZhClV2M01XUGw1N2RkZzArWVhobUxkdzdqMElPRHZyK2xSS3BhQ0JFaUFCREtm
QUZkQU1yOE5XUU1TeUZnQzhEaFZVUUdlcEtwYStFRGQKclAxYVJkV1QrWklBQ1pBQUNaQkFwaEZJ
K2JTajFTZXVDQkF3VFBRYUo2YnJ2aGkybkhaeHlidEhRRVZ3WVo0a1FBSWtRQUlrUUFJawpRQUlr
a0NrRVVyNENjdFpaWjhtd1ljT2tkZXZXcFJoOCtPR0g4dUNERDhySEgzOXM5TDdoMVFxZW92REJy
dWZZYU12dU1HNXZoa0FECmcxUHNnSXYwMktUcTY2Ky9OZ2FvY04wSkY3MXdmM25ISFhjSTlnZEJH
cHNPTTZEWVgrU0VFMDZRRnYvNjVrZSsyTjlqNE1DQlpzZGsKK1BySFBoNFFGckJ2eVRmZmZHUEtQ
bUhDaExqcHNLRVZ5b0M5UGo3NDRBTlRWSGpVd2FhSHYvNzZxN1J2Mzk3NDZzY2VBOWlZRU5kZwpW
SW1BVGM5UVZseURELzFCZ3dZWk43dllCd1J1SnJIZkNNcU5lT3cxQU4vM2lKODhlYklwSjNieEJT
Y0dFaUFCRWlBQkVpQUJFaUFCCkVzaElBanJ3RGgza1RvelQ0NGQ1OCtZNU9uaDIxR3RKM0VTNnd6
Q01TSnloUTRlNmFYU3pRVWNGQzBmZFo3cHhPRkRmNzQ1dXZPZm8KWGlPTzdqYnNYbFBCdzdubGxs
c2NGUzdjdUtlZWVzcmsrODQ3NzdoeHk1WXRjM1NqUVVkM3puV21UNS91eHVOZzhPREJKcjF1OUJj
VgpyOEtDMDZ0WEx6Y3VYanBkZlhIVTU3OUpoM0txNXhaVFRoVmkzSHR4b0x1NU83cHhXRlNjTGVz
cnI3d1NGWThUZFVQcTZENENVZkdXCm1RcE5VZkU0Q1dxVFVqY3dnZ1Nxa0FEN2F4WEM1Nk9USnNE
K21qUXkza0FDSkVBQ29RaWtWQVVMYmkwdnZQQkM0ODhmcmpKamhjYU4KRzV0b3pQTGJnTlVQZUwv
QmFvWU5jQW1KVFE1aG5JcGR6cjI2NHJnWG5uS3d1bUdEM1IzWXUvY0c5aFRBTHNuWXBMQmJ0MjVt
VjNGLwplbTg1Y0EwckxDbzAyR1R1cnNQK2RQWHIxemZsc3VYRWRXeHFodnU5QVM1RXNiR1pOOWl5
Mm0vL05YKzhaV2EvdmVsNVRBSWtRQUlrClFBSWtRQUlrUUFLWlJDQmxBZ2c4dlVDTkNLcE5FRDdn
NWpKc3lNM05OYXBMM2wzSEowMmFaTlNjZXZmdUhkTnJEQVNUc00rQVdwT3UKb01pYmI3NFpXS1Ni
YnJwSjRNSXpVVkRSVG5RRnhteCtCamVXVU1jNjk5eHpTd2tmTm8vbm5udk9IdktiQkVpQUJFaUFC
RWlBQkVpQQpCS28xZ1JxcHF2M1lzV1BOTHJVNzdiU1RISGZjY1dibFFkV2Y0bWF2YWxlQ2V4WXNX
Q0RqeG8yVHJsMjd5alhYWE9PbWg1OS9CTmhaCnhBdGhWd1N3bVpXcVlZbXFZWlhLQ2dMRTNMbHpw
YkN3ME5oL3FFcFdxVFNJc09rZ2FLbEtsRW1QK0I5Ly9CRmZnczJ6L0dIaHdvWEcKRGFpTjMyNjc3
YUtFbEY5KytjWDR1N2ZYOFkzOEdVaUFCQ3FmQU96Tnd2Nm1KRnM2Nnp3RGU1MGd3SUVHOXJwZ0lB
RVNJQUVTSUlIcQpTQ0JsQWdpTXE4ZU1HV01ZOXUzYlYwNDg4VVF6VUllUmQ2eUFqY1lXTDE0c0VF
U3djdEpDamNUaExhcFpzMlltT1RZb1E0QWFWU29DCmhKRGZmdnV0VkZZd2VvZDZGMVMzRXJuc3RP
bXcrb0gwZHRkZ083Q0l0V3J5eHg5L0NJekdZZGplcDA4ZlkyRHVWZEdDeWhrRU1HK0EKMFRvRENa
QkE1Uk9vQ2djYWxWL0w2Q2VtZ3dPUDZCTHhqQVJJZ0FSSW9Eb1FTSWtBQW85T3k1Y3ZON3NPQXhw
V0V6QklmK3l4eHlTZQpBQUtiRDNoNXdnZXova2NjY1lSWkJjSE94OWlZREFJSmdoVkV6RWtaLzZB
OEVENE9PZVNRVWprY2RkUlJ4aHNWTHB4OTl0bkdrMVdwClJCcmhUWGZlZWVmSkRUZmNZSkpaTzVS
WTVVU2RUajMxVkNPQVlEWEl2MXZ6cFpkZWFsYUx2TS9EU2dzRENWUW5BdXJFd2F5WTRwM0MKTHRq
ZUFBRis3ZHExNWplaGVmUG1jdkRCQjh1eHh4N3JKc0ZFd08yMzN5Nm5uSEtLc1NOekwrZ0JiTWZn
Z2U3bW0yLzJSc2M4eHU4RAoxRDVoTXpaOCtQQlNhWTQ1NWhnelFRRVBmdW9zdzEydGhYYzcvSzc4
OE1NUDh2VFRUN3YzelprengveG1ZR1VYOTFnYk5reGc5Ty9mClg5NTQ0dzAzcmZjQWt6Z2ZmZlNS
WEhMSkphYXV1QVp2ZjdBbHc2YUszb0RmU1V4ODRMZTBSNDhlN2lWNDBGdTBhSkY3N2owQXU5Tk8K
TzgyTjZ0Njl1L3o5OTk5bWd1U3V1KzV5ODhIdk9kUnBrZGRiYjcwbGh4MTJtTGtIYXJMd1NJZzZx
SU1PdDR5NHVHYk5Hc0hrRTBLaQpkRmhwZ3ExZ3JJQkpHK1NMTnJDVE5YaldqQmt6NVBERER6ZlB4
YjRxbUxoQ1cvbER2WHIxQkt0TTZBOTc3TEdIdVl5Skx0UU42clgyCi80ci9QcDZUQUFtUUFBbFVM
b0dVQ0NBd3ZzWS9sQVlOR3JpbGgrSDE2NisvTGxCRDJuSEhIZDM0V0FmNGg0Si9XQmlBWUVaT3ZV
dUoKZW9JeVNURTRLVytBaWhWc1FPQWVOeWpBWGlRb3dPRDh2dnZ1TThuMjNudHY4dzMzdTdHQ1Zl
bndzb21Wam5Fa1VGMEp3TVcwZW9ZegpObDA0N3RDaGcwRUI5Y2FISDM2NEZKWkhIbmxFcnJycUto
T1BWVlBZZG1HeUE2Nnp2Uk1lY0xjZGEyV3lWSVlhNFhXZ2NlKzk5MGI5Cmx0bjA5bDMyT3FRb3F3
TU5xN3BwODdiZnMyYk5FdldPSnkrODhJSjg4Y1VYNWpjTGcrOG5ubmpDSm9uNWpkOGpDRnBZVGNa
Z0cwSkwKckhENjZhZVhpclpPTDJJNThNQ0tMQng0UU8zVVR1RFk5RjRPeURSWkJ4NmxDcUlSY0tY
KzdMUFBHa0VENnJjUU1ESEJCWUZ1MnJScApBaGZvRHp6d2dJd2FOY3EwV2F3OEVEZGd3QURCL3c1
TUVJRWpoRU44TU1sMDY2MjN4blFUSHk4dnhwTUFDWkFBQ2FTZVFMbU4wREhECmlGVUxlS3pDYkwv
OTRCOEEvbmxnRmpKTXNQL01yR29UWmc3eHp4MEczSGhHcklDVmphQ0FHVWVVQlFNUnpLWUdCYWhh
WVRYanBaZGUKU3BqVTdsZlNxVk1uT2ZUUVE4MkFvU0kzWVV4WUdGNGtnUXdtZ05uOTc3Ly8zcXd3
cUh0dXR5Wjc3YldYMlo4SDd6QitGL0JlWWhZYwpObU0yNEwzKzlOTlB6YXczdk4xaGtHb0RadXJ4
R3hJVTBzbUJCdlpRd21BYmcvbng0OGVib21QMUFRejhIekNCQ2loV1p5MFQ4RUM4Ck55MG1pQm8y
YkdqaXNKS1RUS2hJQng2eHltRnQ2YkFxZ3dDaENIc3RvZTB4eVdVZGljQlRvYnA3TjBLUnQ2NW9T
NnhLUVozV3BzV0UKbHJxSWx6MzMzTk1JdVczYnRqWDdNY1Y2UHVOSWdBUklnQVFxaDBDNUJSRE1I
TUxvM0Ird01vQVBCQkNvVU5oZ2R5LzNDZytZMVhyMQoxVmVOL1VmbnpwMU5Vbmk1d2o4WjJJckFF
NWJmTm1MKy9QbHk0NDAzdXNiZ2R2QnZCUmhrZ2pUWUhCRDJLUkFvckFFb3J0bjBmclVHCnJKUkFO
Y3FxVnFGczN2VG14UE1INWNSc0pXWWNvWnJoTHlmeTg0ZEVlZUlmcUMyYnZjOHlzOTgybnQ4a3NM
a1F3T0FRcW8yWTdZOFYKOEo3QmlRTm00NWNzV1JLVkJEUHkrSTNCSUJ1cU4zRHVBSlVvckw1aUlp
TW94SEtna2VnZTYwQmp5SkFocnVwb0toMW9RRTBJcTBEVwp2aXhlV2NBRXRtMUhIMzEwS1NieDdr
azJQc2lCeCtqUm84MGtFWVNCV0U0KzhEeW9sU0lkVmlET09lZWN1T3BoU0dzRkVIL2RvVzZHCmV5
RlU0bmM5WG9EZ3NjOCsrNWlOYnIzOUJDdlFVTE9ENTBSTVJHSGlpSUVFU0lBRVNLRHFDSlJMQlFz
LzVuZmZmYmQwVnFFQlJ1ZGUKL1czb1UyTm5jZWdTWTNYa3lTZWZOQjZqc0h5T0FCMWZMSkZqa0lD
Qk5RYjgwSXYyZW9iQmJDZisyVU1mdWwyN2R0S2xTeGV6THdlVwo2YkdMT05RTzhJOEovK0RzU3N0
dHQ5MW1oQTNvUUVNZkdLcGNlRTdMbGkxZHlwaFp4RDlFQk5obUlHOEVEUHkvL1BKTFYxMExLaHpX
CmhTNW1BcUVxaHJyNkEzWlN4NndsZEpVeGNFQWFxQS84K2VlZkFtOWUyTW5jc29HS0dkUkZFTUFB
UnZlWXdZVHFCRlJMVUc2c0JtR2YKRTh3TXd5c1g3a2VBa0tZYk14cDliUlBCUHlTd0dSSEFPNDBW
QUxqeGpxZXlpSGpZR25nRFZEM3hybi80NFlmR0pnRXJJYTFhdFpJegp6enl6bEYySTl6NTduSTRP
TkdBdkJ2ZmtObUR3ak44QnFJZFpGU2g3RFV6aXJSTGJOT1g1cmlnSEhySEtoQlVjclA3WUZSQnZH
a3hHCkljQ2pZVkNBTU9ydEovZy9nb21mTTg0NHd3aTZRZmZ6T2dtUUFBbVFRTVVTS0pjQUFzRUNu
MWdCczNMNHAra05XSUhBWUR1WmdJRUUKdkVWaFpRQ0RmQWdjLy9kLy94ZTFOd2dHSFBpRURkQ0Rq
cVVMN2I4ZmRpbjRoQW1ZblgzKytlZk5TZ2hVMHJDeUFxSEhxMWVOZkdEMAppWTgvNEI4dmhBNTh2
QUVxRThtcVRYanY1ekVKWkFvQnFGd2h3R1pyLy8zM2oxbHN6UHBENWNZYllJeU0xVWU4YnhCRzhC
dURkeENmCm9KQ3VEalNzU3FvdFAxWUVvRW9GZFZLL0FPTC9qYkgzcE9LN0loMTR4Q3NmWExuSEVr
QSsvL3h6bzFLM3hSWmJ4THZWamZmM0UvREQKQkJJK0RDUkFBaVJBQWxWUElMdnFpeEN1QlBqSHNk
OSsreG0xcm5UK0o0Si9mRmp0Z0FlV2lod1loS1BHVkNTUUdRU2d3Z2gxVGdSTQpOSVFObUpqNDdM
UFAzSlVPZUo2RHdUYnllL3Z0dHdPenNRNDA0TzRiSDh6Mnc0RUdETnF4T2hzVThGdUVTUW9NbUxH
NmlaQktCeHBCCno2L282eFhwd0NOZTJhR0c1UmRBc0lxTkZTQjRQQ3RMOEtybWx1Visza01DSkVB
Q0pKQmFBaGtqZ0tTMjJzeU5CRWdnWFFoQVRSUE8KSzZEU0NTRUFCdWxoQTlRY0VlQ2kxd2FzaHNC
ZUFONk8vQU5abXdiZjZlNUF3MXZXcWpqR1NsTkZPdkNJVnljSUlGNGJrSmRmZnRuWQp1VURsMXV0
Q09ONzlqQ2NCRWlBQkVraC9BaFJBMHIrTldFSVMyR3dKd0g0TFhvbmdmaGF1WHEzZEZ5b014eEd3
Zy9KK29HSUZHNUhyCnJydk9WWGRFV3F4Y2VBUGM5MklGRXNiUjhVSzZPTkNJVjc3S2lyZE9MN3ly
QkpYaHdDTmUvU0NBd0pNVlZGWFJybWhEdU4yMXJwZmoKM2NkNEVpQUJFaUNCekNGUUxodVF6S2tt
UzBvQ0pKQ09CT0JlRlFJSVpybGhJNFpOOVdBSEJZTmp6TDdIcytPQWN3ZW9POW9WRVA4bQpuN0Nw
Z3BjcTdDa0JOUzIvMm1hNk9OQ282amFwYWdjZXNlb1BGVlk0STRGeFBZUU9xTGg1bllqRXVvZHhK
RUFDSkVBQ21VVWdTNWZaCm95MDZFNVEvYTFDV09BTkRKMCtRRXkrbGlnRGJKRlVrbVU5bEVQRDNW
emhyZ0dNSkNCT3BEdmhwUS81d3pWcVZ3ZXRBQTA0MS9NSlEKVlphTnowNU13TjlmRTZmbVZSSWdB
UklnZ2JBRXVBSVNsaFRUa1FBSnBKeEFyVnExVXA2bnpSQ2VwS3BhK0VCWklIREFnUVlEQ1pBQQpD
WkFBQ1pCQWhFRFNBZ2htaEJoSWdBUklnQVJJZ0FSSWdBUklnQVJJb0N3RWtoSkFxSDVWRnNTOGh3
UklnQVJJZ0FSSWdBUklnQVJJCndCSkl2ZUsxelpuZkpFQUNKRUFDSkVBQ0pFQUNKRUFDSk9BalFB
SEVCNFNuSkVBQ0pFQUNKRUFDSkVBQ0pFQUNGVWVBQWtqRnNXWE8KSkVBQ0pFQUNKRUFDSkVBQ0pF
QUNQZ0pKMllENDd1VXBDWkFBQ1NSTmdJNHNra2JHRzBpQUJFaUFCRWhnc3lLUTFENGdtMVhOV1Jr
UwpJQUVTSUFFU0lBRVNJQUVTSUlGS0owQVZyRXBIemdlU0FBbVFBQW1RQUFtUUFBbVFRUFVsUUFH
aytyWTlhMDRDSkVBQ0pFQUNKRUFDCkpFQUNsVTZBQWtpbEkrY0RTWUFFU0lBRVNJQUVTSUFFU0tE
NkVxQUFVbjNibmpVbkFSSWdBUklnQVJJZ0FSSWdnVW9uUUFHazBwSHoKZ1NSQUFpUkFBaVJBQWlS
QUFpUlFmUWtrNVlhWDdqT3JiMGRoemN0T3dCbm9oTHFaNzFjb1RFeEVBbEVFd3I1ZlVUZnhoQVJJ
Z0FSSQpvRW9KSkNXQW9LVDhzYS9TOXVMRE00eEFza0lGMzY4TWEyQVd0MG9KSlB0K1ZXbGgrWEFT
SUFFU0lBR1hBRld3WEJROElBRVNJQUVTCklBRVNJQUVTSUFFU3FHZ0NGRUFxbWpEekp3RVNJQUVT
SUFFU0lBRVNJQUVTY0FsUUFIRlI4SUFFU0lBRVNJQUVTSUFFU0lBRVNLQ2kKQ1ZBQXFXakN6SjhF
U0lBRVNJQUVTSUFFU0lBRVNNQWxRQUhFUlpIYWczLysrVWZ3c1dIbHlwWDJzRnpmcTFhdEt0ZjlW
WDJ6NWVJNApFYzlRSzFhc3FPb2k4ZmxKRUtqSS9tZjdoaTFPcXQ0Wm0xOTErTFlNK1g1Vmg5Wm1I
VW1BQkVnZ2N3a2s3UVhMVzlYWFhudE5CZzRjCktMLzg4b3NjZWVTUnN0dHV1d24rOFczY3VGRysv
dnByMlhYWFhlWENDeStNbVdiRGhnM3l6VGZmU092V3JXWENoQW55M252dnlSMTMKM0NIZmZ2dXQ3
TGZmZnVaVHQyNWR5Y3JLa3QxMzMxMU9PT0VFYWRHaWhmZnhhWGVNd2RsMTExMG52Ly8rdTF0K2ND
Z3VMamFmVHo3NQpSRDc4OEVONThNRUg1ZU9QUDVhMmJkdWFkRGs1T1lMUHZ2dnVLNWRkZHBuVXJG
a3pidDNPT3Vzc0dUWnNtT0VXTjFHYVhWaTllclZjCmUrMjE4dXV2djByNzl1MmxVYU5HOHQxMzM4
bTZkZXNFMS83NzMvK2FFci83N3J1bUQrRGFRUWNkSklNR0RaSmpqamxHbGk1ZEtnODkKOUpEY2Yv
LzlwajhnL3VxcnI1YlBQLy9jeEUrZVBObjB2ZXV2djk3d1M3UHFiMWJGU2RUL3l0SzN3N3d6Zm9E
ODNZa213dmNybWdmUApTSUFFU0lBRU1vQ0FDZ3loZzl3SitTSTZEQjQ4R0ZQWnpzeVpNNk11Nk95
bGM5SkpKNW00ZUduMEg2ZlRxMWN2OTc2bm5ucks1UFhPCk8rKzRjY3VXTFhQNjlldm5OR25TeEpr
K2Zib2JuMjRIUC8vOHM3UDk5dHM3NTU5L3ZyTnAweWEzZUNwOE9MZmNjb3VqUXBRYk4zWHEKVkZQ
UG9VT0h1bkd6Wjg5MlZPQnlMcjc0WWpmT2Z6QnYzanhIQlRMbmlpdXU4RjlLMjNOdzJYbm5uUTBY
RlRxanl2bm9vNDg2S294RQp4ZGsrOE1vcnIwVEY0NlJwMDZaT216WnRvdUl0U3hXRW8rTFQ1U1RX
T3hPdmJNbWtqWmRIUmNhSDZYKzJQY0wwN1dUZUdYKzk0djJtClZNZmZIYjVmL3Q3QmN4SWdBUkln
Z1hRblVLNFZFTWhYbU0xR3dFcUZOOVN2WDE5R2poeHBvdUtsd1FxSERrTGQyMnc2ckFiWW9JTk8K
ZWZ6eHg4MXNlYmR1M1VRSE9ITElJWWZZeSs3M21ERmo1S09QUHBKTExybEVEajc0WURjZXF3OVhY
bm1sNU9mbnUzRTRxRkdqaG15OQo5ZFp5NElFSFNvOGVQZHhyV0lsNTY2MjMzSFB2QWNweTc3MzNl
cVBNY1ZGUmthamdJZG5aMmFiT3RXclZjdE9BeXozMzNDTS8vdmlqCkc5ZTRjV056N0dXRzFRK1VC
YXNrOGNJenp6eGpWcFJlZlBGRlU0NEdEUnJFUytyRzZ5RFA4THZoaGh0a2wxMTJjZU54b0lOOHd4
UGwKMkdxcnJjeUsxYm5ubml2MTZ0V0xTdmYrKysvTG5EbHpCQ3NNM29EVkhiVHhBdzg4NFBZRDcz
WExCZm1QR0RGQzBON2VnSGJCaXBjMwoyRDVndi8zWC9QR1dwZjMycHNkeFlXR2hXVG5aZi8vOTVk
aGpqeldYMFUvdXZQTk9zMnB5KysyM1M2dFdyVXg4c24xbDdOaXhzbVRKCkV0UG4vSFV6R2FiZ1Qx
VzJuNy80WWZxZmJZZWd2bTM3UnRoM3hsOFcydys4ejBHYTZ2aTd3L2ZMM3p0NFRnSWtRQUlra1BZ
RWtwR1EKWXMzUVB2SEVFMlkyZjlhc1dXNVdtUFZYbFJ2M1BGWWFYRlExR2pjTkRsUzF3dVNsQTk2
b2VKeW9ick81ZHVPTk41YTZoZ2prVmFkTwpIVWVGRjBjSHhtNGFySnBvSXlUODNIZmZmVzU2VlNX
TG03WjM3OTV1T3U4QnlvdG5KSnFGeDh5c0RWanRRSHBWcGJKUnp2cjE2NTNtCnpaczcvZnYzZCtP
OEI2clc1cWc2bS9PLy8vM1AwVUdibzBLWjkzTGNZNnd5cUxEbHFMRGlmUEhGRjFIcDl0eHp6MUox
UGV5d3c2TFMKNEtSdjM3NG0zYzAzM3h4MVRZVUtwM2J0Mms1QlFVRlV2RDE1KysyM3pYMERCZ3l3
VVlIZmlmcEF5NVl0blk0ZE8wYmxFWXVsTjRFSwpJS2IrM2phKzY2NjduSDMyMmNlVURiUEhOaVRi
Vnk2NDRBS1Rod3F5amdxbXpwbzFhMnhXN25lc2Q4YTk2RHVJbGJZcTI4OWJ2TEQ5CkwxWjd4T3Ji
eWI0ejNyTGdPTlp2U25YNzNlSDdwZnErZDVaZWxmZjNGWjZUQUFtUUFBbWtINEdVR2FGamxuejA2
Tkh5OU5OUHl6bm4KbkNPTEZpMHFKWHpaTk04OTk1eW9HcEhvZ0s5VW1uZ1IyMnl6amFnYVZ0eDdZ
QmVCV1hyTVJJOGZQOTdOUmdmVXhpNUYwVWQ5WXdZVwpCcHRISFhXVWpCczN6azAvWmNxVXFIVFdF
SGJpeElueTdMUFB1dW04QnovOTlKTTVoYzFMdkdCbmhyM1hkYkFtbUVVZk1tU0lISEhFCkVkSzFh
MWU1NXBwcnZFbmNZNlE3N2JUVFpLZWRkcExqamp2T3JHcTRGeE1jWUpYaCsrKy9GeFVVUk5WaW9s
SmlkdDF5MGNHeldhbjUKN0xQUG9vem5jUU5XTDFRSU1lWEVTb29Oc0hXQkhRdFdrMklGdStxamcv
eFNseGN1WEdoc1paQUhQckFiOGdiWUZhbkFGUFhKeTh2egpKZ2wxak5XMEhYYllRZjcrKzI4M1BW
WTlZSGVpcW42aUFwMjdDb08rOHVtbm41cDA2TCtXVGJ5K2duNk1QcTFxZ25McnJiZWFGUlYvClBk
eUhsdkdnS3R2UFcrUmsrMTlRM3k3ck8rTXRFNDd0YjBwMS9OM2grK1h2RFR3bkFSSWdBUkxJRkFJ
cEUwQmdPQTNWSXd4MDhlMVgKalFBUWJ4cWtTelpBQ1BudHQ5L2kzdFpDamRRN2RPaFFhZ0FkNndh
b2ZpQy9vNDgrMnFqUnhFb1ROdTZ2di80eVNhR2lsVXpRbFFOWgp2SGl4WUxBR1EydTFIWkY0WHFG
Z29HMVZpQ0FNUUhpQU9scVlvQ3NkY3Q1NTU4bU1HVFBpSnQ5aWl5M2sxRk5QTmRkUkZuOUFlelpy
CjFzd1lmVC8yMkdObWNJN0JINFNtZUFFQ29Ed3ZaZ0FBSUFCSlJFRlVIZ0pVM2Z6aGp6LytFTFgv
RVYzVk1DcFNmaFU1cUtKQlJjejcKZ2RGNldRSUVJSzhBWXZNNC92ampCVzBHbGF4RUlWRmZnUXFX
cmx3SkJGYzRJS2dJVmF5cWFqOHZrMlQ3WDFEZkx1czc0eTBUanIyLwpLZFh0ZDRmdmw3ODM4SndF
U0lBRVNDQlRDTVNldWk1RDZiR1NBTTlGQ0Jqc2VtZktiWGJlTkdlZmZiYnhqR1N2QlgxRGx4L0NS
eXo3CkQrKzlXMjY1cGVUbTVucWp6SDN3b2dUN0RhczdiaFBBamdKZVpNb1RJUGdnMkVHVk9RbnhC
ellmOE9hRUQyYjM3U29JWnVXOXF3cncKQ3JWOCtYSjNCUVlzTU5pQ0lBRHZZMkVDMmdhclJLb09J
L0ZzUjJ3OFZrTzhBZWRZM1lMbkxsVmZNcXMwV0ZXQm9LSXFZOTZrVWNmdwpYb1lRaXd2cUNvRUhu
dERVeVlDZzNiemgwa3N2TlNzOTNqZ0lQR1VKV0RXQ3dPTVBFS29nK0VDd0NoTmk5UlYxdm1Cc2Q5
QU9ZZHNpCnpMUDhhYXFpL1d3Wnl0TC9ndnAyV2Q4Wld5Yjc3ZjFOcVc2L08zeS9iQy9nTndtUUFB
bVFRS1lSU05rS2lMZmlHTmlwenIwM0t1WXgKM0txR0RYUG56alVyQkhEam1pakVXbm5CVENIVWlQ
eUNDZkx4R3J3bnlqZlJOZlhNWkM1alZhS3NRZTFYcEdmUG5tYW1Ib2J3M29DeQp3NTB4WnV2eHdj
ck55U2VmYk53WFE1VXBUTmhycjcxTU1uQ01GeXdMcUI1NXd3c3Z2R0FNdFdIY0QyUC9QZmJZdzZq
YTNYYmJiYVVFCk91OTllKys5dHptRis5MVl3YXFsV2NFblZwcFV4TVZiQVlFS0MxWlZEajMwMEZD
UHNYeThpYkd5NGhkcXZkZFRkVndWN1dmTFh0NysKRjZ0dnArS2RzZVd6MzlYdGQ0ZnZsMjE1ZnBN
QUNaQUFDV1FhZ1FvUlFBQWgwVjRXRmhMU1lIYjhwWmRlc2xFeHZ6RWdWa05tbzhyago5OFFVODRa
S2pvUWFFcnhZd1NZZzNtb0tWaTJDZ2hXZVlITmdBL0xEaWdpOGJHSEZ3SDdBQSttc3B6R2JQdFkz
dkR2Qmd4RUM3R1NTCkRWajVnR29iQWxTMTFQalYyT05nLzVaRW9WT25UbVp3RHdHbUlqZXdTMVFH
WElNQVl0VlZiRnEwUjU4K2ZZelFCNEdxckFGc2JidVYKTlkrZys2cXEvVkN1VlBRLzVHTVoyYjZk
cW5jR2VYdERkZnJkNGZ2bGJYa2Vrd0FKa0FBSlpCS0JjZ3NnMXVnMjBRRFRYdlByK2NQbQpBYW8y
VnBYQXByT0RGSUNjUDMrK1VkV0NEam9FbFcyMzNUYnQrTUpHQU82RW9mZXVuckxNckxxM2tLaURl
dTh5TG1FUmJ3M2J2VUlKCk9MNzY2cXRHSGFoejU4N3U3UkFjWUhUdUQ1ajl4QWNDeU5xMWEvMlgz
WE9vYmtGb2dldGVySjVBZFNyWkFBRUlkZzQyWU1QSlVhTkcKR1JzVUNGM3hBcmhBK01BQVd2YzNL
Y1VGN2U4UGlmb1QxTlJzSDdIM1daYjIyOFo3dnlHQTRGNmJCaXNmWGJwME1heGh2SnpPb1NyYgpE
MXlTN1grV2NWRGZUdmFkOGJkUm9uNWkwOXErc2puLzd2RDlzcTNOYnhJZ0FSSWdnVXdpVUM0YkVP
eEliQWVnVUtlQ3FvVjM4QXdRCjhFZ0Yrd0VFNlBxM2E5Zk9IR053OE9XWFg3cHFWZER2dDdQNVVP
MkJzQUZQUk5pVEF1b2FVRytDd1hLNmhzTVBQOXdZazJNZkV0UVIKQTF5bzVtQ2ZDK2p2UXlVTmRo
MHdlTWErR1FqRGh3ODM5WUlhRlFadUVNVGVlT01Oc3ljSHJrTm91UHZ1dXczVEUwODhNV29majBt
VApKZ2wyazhjQUZhc2pUejc1WkNuaERFeWh1b1haWnhpc3czNERCdThJNElsN3ZNR3FxRDN5eUNN
QzlTaDFWV3N1K3dVUVJLSThVQU9ECnJVLzM3dDFqR3BvakhZUVZyTHJBVmdTcktPZ2Y4QmIyNTU5
L0Nqd2h3VGJIN2s4QzFUUFl0U0NBRFd3em9PTVBXeE9VQ2YwQmRjRysKS3ZBT0Jmc0wzSThBNFUw
M2dqU3JHaWJDOHdjQ0NBSTR3ZU1XMU5BZ0VPcG1kbWJ2RmsvU3REcXM2dlpMdHY5QnNBdmJ0d0U2
N0R2agpieFQrN3BRUTRmdFZ3b0pISkVBQ0pFQUNHVVJBMVp0Q0I4a0FuK3M2MisrY2Z2cnBVWFZT
MTZvd2FuQjBBQnNWanhQc3ZLMDJDS1hpCmJZUUtCdVplZGNOcm93Sy9kWGJXVWNIRDBkVUdCOGRW
RlZBMzdHdWlkZ3FtQ05pckFuWFZHV0ZIVmRsTXZjREYvOEcrSVNyWW1IdXcKdHdXdXF4QlpxaG9x
T0RucTRyYlUvaUtsRXY0Ym9TdGJqaHFETytwaTE5RVo4bmpKVWg2UE5zQWVLK3J4ek1FK01vbmFN
dG0rb3A2MAp6Qzd2OFFxZHpEdmpUNXR1N1JldmpxbUlUNWQzcHF4MVNZZmZIYjVmWlcwOTNrY0NK
RUFDSkZEWkJMTHdRQjFnaGdwWmc3SjB0NzNRCnlVUGx5VVFWUndDcUoxaDFnYnBMUlFXb05tSGxp
eUUyZ1dUZUdYOWF0bDlzcG93bEFVdkEvODdZZUg2VEFBbVFBQW1rTjRFYTZWMDgKbHE0OEJPQ3F0
NklEaFkrS0k4ejJxemkyekprRVNJQUVTSUFFU0tEcUNGVGMxSGpWMVlsUEpnRVNJQUVTSUFFU0lB
RVNJQUVTU0ZNQwpGRURTdEdGWUxCSWdBUklnQVJJZ0FSSWdBUkxZSEFsUUFOa2NXNVYxSWdFU0lB
RVNJQUVTSUFFU0lJRTBKVUFCSkUwYmhzVWlBUklnCkFSSWdBUklnQVJJZ2djMlJBQVdRemJGVldT
Y1NJQUVTSUFFU0lBRVNJQUVTU0ZNQ0ZFQlMyREQvL1BPUDRHT0QzUlhhbnBmMTIrN28KWE5iN3Er
byt5OE42ZWw2eFlrVlZGWVhQTFNlQml1eUR0cC9ZSXFicXZiSDViYTdmbGh2ZnI4MjFoVmt2RWlB
QkV0aDhDWlRMRFM5MgpKQjQ0Y0tEb3huS2lHOTZaWGEveHoxQTNGWk92di83YTdIaU5uYmhqcGNF
dTN0OTg4NDIwYnQxYUpreVlJTmdGKzQ0NzdqQTdoKyszCjMzNkNUOTI2ZGMzTzE5Z2gvSVFUVHBB
V0xWcWtYVXRnWUhiZGRkZVpIYlp0bVZIMzR1Smk4L25razAva3d3OC9sQWNmZkZBKy92aGoKYWR1
MnJhbGJUazZPNExQdnZ2dktaWmRkSmpWcjFveGJ0N1BPT2t1R0RSdG1XTVZObENZWFZxOWVMZGRl
ZTYzOCt1dXYwcjU5ZTdNYgovSGZmZlNmcjFxMFRYUHZ2Zi85clN2cnV1KythOXNZMTdCUS9hTkFn
T2VhWVk4eXU1OWpkL1A3Nzd6ZHRqL2lycjc1YVB2LzhjN1ByCitlVEprMDAvMDQwVURiYzBxZlpt
WDR4RWZiQXMvVHZNZStPSHl0OGJNZThRM3k5L3orQTVDWkFBQ1pCQXhoRlFnU0YwOE8vVWpCc0gK
RHg1c2RzcWVPWE5tVkQ3WVFmeWtrMDR5Y2ZIUzZJRFU2ZFdybDNzZmRuNVdnTTQ3Nzd6anhpMWJ0
c3pwMTYrZjA2UkpFMmY2OU9sdQp2UC9nMVZkZmRYcjM3dTE0eTRHZGdYSHZ4UmRmSFBXNTlOSkxI
UlYyb3A2emVQSGlxRFQrZXhZc1dPQi9wUFB6eno4NzIyKy92ZGtKCmU5T21UZTUxRlQ2Y1cyNjV4
VkhCeVkyYk9uV3FxZHZRb1VQZHVObXpaenNxWkpubnVwRytnM256NWpsWldWbk9GVmRjNGJzUy94
VFAKNzlPbmo2TUR3MUtKVkRCdzY2a0RlK2UrKys1ejhBeHYrT3V2dnh3VmlweTFhOWQ2bzgweHVL
Z2dWU29lRWVDeDg4NDdHeDRxWUVhbAplZlRSUjUxR2pScEZ4ZG4yZnVXVlY2TGljZEswYVZPblRa
czJVZkdXb1FxMFVmSGVrOTkvLzkyNTZLS0xITy96YjczMVZ1ZUlJNDV3CmJyLzlkbmRuZWhWOFhB
N2V0cjdxcXFzYzdCaVAzZHB0MEpsbXcyUCsvUGsyS3ZSM3JIY20zczJ4MHY3MDAwK21EMk1IZVg5
UXdkZlUKQWYwWlRENzQ0SU9vSk5odEhuWC84c3N2bytKeE1tTEVDTlAycFM3RWlBalRCMjNiaE9u
ZnlidzMvdUxFK3kzSnROOGIxT3ZPTysrTQoyUWZSSDhlUEgrK3ZPdCt2VWtSMHR1dE9pUkhMS0JJ
Z0FSSWdnWFFua05TdmQ2d2YreWVlZU1JTXJHZk5taFZWVnd6SU1haEhTSlJtCnlaSWw3bjA2dzJu
eWV2Lzk5OTA0ZTNEZWVlYzV0V3ZYZG1iTW1HR2pvcjR4bU5aTjhSeGRWWEIwQmNKY2c4QUNnU2JS
QndOd0JGdkcKV0dtMzJtb3JwNkNnd0tTemZ6QzRPK0NBQTV3ZGQ5elJIZFRhYS9pRzhOT2pSdzgz
Q3NJRzh0YVZERGNPQjRjZmZyalRzbVhMcURqdgp5YzAzMzJ3RXF5MjIyTUxSVlFUdnBiakhjK2JN
Y1pvMWEyYWVoMEdPTjBEdzh0ZFJWMStjLy8zdmYyNHlYWTB5ckZHLzVjdVh1L0dxClFtWHVmZU9O
Tjl3NGUyQjU2Q3BWMU9EZlhzZjNCUmRjNEQxMUVyVTNtSFRzMkRFcWZUeUcza1RqeG8welpZUWdn
b0J5SFh2c3NjN1cKVzI5dDRtKzQ0UVlUZitXVlY1Ymk0T1dDZmdSaERlR3R0OTV5ZEVkNTh6bi8v
UE1kOEEwYllyMHo4ZTZObFJhQ0c1N2RvRUVENTRzdgp2bkJ2L2VHSEgyS1cvNUZISG5IVDROM1NG
VWFuWWNPR3pwUXBVOXg0SEhUcDBzVTU4OHd6bytMaW5ZVHBnL0hheHQrL2JUOEorOTc0CnkyVGYw
MHovdlVIYlpHZG54MnhEOU1PSkV5ZEdWZDF5NC9zVmhZVUNTRFFPbnBFQUNaQkF4aENvRUJzUXJi
M29Db0EwYjk1Yy81ZkcKRHpmZGRKUG93REIrQXM4VnFPU29VQ052dnZtbUo3YmtFQ3BLT2pBMGFs
czZlMmd1SEhiWVlSQ3dTbjFVT0RDMkdrY2RkWlRvZ05XawpoUnFVUDIzWHJsMUZWMVVFdGdzNkND
eDVtQjVObWpUSnFKbmhlcXpkd0hWd0lTKysrR0xVUGY2VDNOeGNvNnJVczJkUC95VnpucGVYClox
U1NkSFpiMXE5Zkg1aWZ6UVJxYmJwaUk4Y2RkNXdNR1RKRTh2UHo3U1dqNm1UcmlmeWhCcWNyTEtL
RGJEZk44Y2NmTDFDUndqV28KMXExWnM4WmMwMEc5K2Q1bm4zM2N0UFpBaFViRDQ5eHp6elZ0WU9P
OTM4ODk5NXozdEVLT2RRWEc1UHYzMzMrYmI2aTU2Y3FBNktxTwpRQjNROWg4ZDJJdXVLc2toaHh3
UzFlNWdBalV4RlhiZHRMcVNKN29LSUh2dXVhZHBBNmpSZ1U5bEJCV1U1UHZ2dnpmbDBkVUY5NUY3
CjdiV1hXMjcwWjlSUEIvdHVmMFpDdkZ1ZmZ2cXBiTHZ0dG9JMm5UWnRtbnMvMmhMcWYwR2hySDBR
K2NicTM2bDRiL3hsenNUZkc3UU4KMnMyK2kvaldWU2xSWWRIRVFSM1JHL2grZVdud21BUklnQVJJ
SU5NSlJJK3F5MUViL0lPY08zZXVZTUNpNmhpaU0zYWxjck5wY0EyRApXMVdYS3BVbVhzUTIyMndq
cW9ZbHVxb1JMNG5vN0tCMDZOQWh5aEE4Vm1JSUI4anY2S09QRnAweGpwVWtNRTVWWTB5YVhYZmRO
VzdhCnhvMGJsN3FtTThVeWR1eFlJeUJBK0lHUWM4MDExNVJLaHdpa08rMjAwMlNublhZeXdzVGpq
ejh1cWxJV002MC9zbDY5ZWpKZ3dBQXoKK01ZendjVWZNTWplZi8vOUJUWTJPaU1iZFJtTWROWEYy
UGVnREJqRVk5Qzl5eTY3R051ZXFNUjY4dU9QUDVvb0t3QjRyeTljdURCSwpDTnB1dSsyaWhCVFlF
T2txay9jVzA0K2lJa0tlMk9mRFFOY2JJRUNlYzg0NUFpRklWYWxNUGJ6WDdUR1lRTUNDa09GbG9p
c1E4dHR2CnZ4a0JSRmNmcEZPblR2YVdDditHNEtNcmdLSXJUekdmaGJZQzAyN2R1c25vMGFPajBx
amFtNmdxblJuWW5uTEtLYUlyaUtLcmVZSTIKUWQ4TENzbjJ3YUQrWGRiM3hsOU8rMXRTWFg1ditI
NzVld0RQU1lBRVNJQUVNcGxBeWxaQVlFUmRxMVl0TTFPTGI4eXErNE0zRFFaNgp5UVlJRFJnRUpn
cGJicm1sbVhtMWFaQWVxeHN3Z1BZSERDcGp4ZnZUeFRySGpET0MyaXJFdWh3M0RvTS9WVTBURE5T
V0xsMXFWblhpCmVZZkNnRi9WaDB4ZWZmdjJGZFdkTjhKZDNNeDlGMkFFam9FMzdrc1V3TUd1Y3Ro
MGp6MzJtS2dkaWFqS2k4RHcrei8vK1k4UjFqQUwKSDZ0dDdZQS8xb3FXMmkrSTJ2cUlxbFVaNDNM
dmlneWVCME45dFFPSitzQm92U3dCejRmekFyc0M0czBEN0JFZ3lBWUZ6RVI3bWFDOQo0RnpoakRQ
T01IVkFQNnZNQUVQOVAvLzgwNnlFeFh0dXJIWjgvZlhYQmNJb0JBOElLbGdKVVRVMFVmVXJPZkRB
QStObDVjWW4yd2VECituZFozeHUzUVA4ZWVIOUxxc1B2RGQ4dmZ3L2dPUW1RQUFtUVFDWVRTTmtL
Q05TWk1FaEN3R3d0QmpuKzRFMXo5dGxuRzI5Si9qVHgKenJGcUFtRUNLak9KZ245d2pIL2NVRzNB
YWdCbWc3MEI2amxsRFZodFFiQURLbk1TNGc4R2ZmRHFoQTltYjlVNDJzeEVxdzFHbEpvWAp2RU9w
L1lVOCsreXpKbGZVSHdNdENBWlFpd29USU9SaDBJOFZoa1FCSEtBQ1lnTm14OVVSZ0JGY1dyVnFK
WmkxaG9yYm9ZY2VLbEJICmloV3dpb0lRaXdmcWVPcXBwNXBWTDZ6ZytBZnZha1J0Vm5pOCtXS0d1
NndCSzBheEJCQjQwb0xhRVZaMmdnSUc2MTRtNkVkUXRZdWwKYmhlVVZ5cXVRK1VLQWF1TVdMV0tG
ZnhsUmhxc21xbFJzK2tIRUVid0RxS3Y0Uk1VeXRJSGcvcDNXZDhiZjFtOXZ5WFY0ZmVHNzVlLwpC
L0NjQkVpQUJFZ2drd21rYkFYRUN3RkNnQnAzZTZOaUhzT3VJMnpBd0FzMklKalZUNGVnSHBwTU1Z
SldGeEtWRllOWjJIOWdzQXczCnhONEFvUWsyQzFoaHdRZXJQeWVmZkxKeFdRd0JJVXhRUTFhamFn
UGJtR1FDVmlRd213N2hBd0V1aExFU2cxV0FCUXNXbURqL243MzMKM3R0RXdmMXVyR0RWMFpCdlJR
ZW9ZZmtGRUxRVDNQdXFKNnd5UFI3NitsVVY0Tkw1bVdlZU1ZOVBwaTBoNEg3MjJXZnVTZ2NFUWF4
bwpJYiszMzM0N3NEcmw3WU94K25jcTNodC93YXZEN3czZkwzK3I4NXdFU0lBRVNDQ1RDVlNJQUFJ
Z1VKRUlDa2lER2ZPWFhub3BZVkxNClJHTUZBK28xMlA4aEhRTDA1ekdiRHB1Q2VHcGNzZXhnL0dX
M0t6YmVBUzd5d3d5MWVsd3lLd2RZUGNBSERKQnU1TWlSL215aXpqSEEKaEtvVTlrNkJiUUJzRnBJ
SmVEWUVIaHV3UXFKdWpvMVFFczhHQlRZUldDRjU0WVVYcENJM3JiTmxTdlFOQWNTcXJDRGR5eSsv
Yk94OQpJQlREbmlXVEFsYkIwUFp3YUFCQkZBYnBZUU5VdGhDOHppQ3dHZ0piR0hYUFcwcEk4K1pi
M2o1bzgvTDM3MVM5TnpaLys3MjUvOTd3Ci9iSXR6VzhTSUFFU0lJSE5nVUM1QlJEb3hTTWtHblRh
YTM3ZGY2eG9RUDNHcWhmWWRON0JPQXlHc2ZFV2RORWhxTUNqVHpvRXFMdkEKa3hKMDN1RUp5Mit6
Z0hMZmVPT05yakcrM2QzWks1U0FIUWIyNmpKWE9uZnU3RllMczkzd1lPVVBtQVhGQndJSURJdGpC
UWgwbU9tRwpvSWFWaTd2dXVzdXNXbUJBQ1VFT3FuSHdyT1Q5d0VZRHh2MFFIaEFnZ0hnSHJZaUQr
dHJERHo5c2pOSEhqQm1EcUtnQUhyZ2Z3ZzhHCnVYNGVhR3QvU05SM01IdHYrNE85enpLMDN6YmUv
dzBCQko2c3VuZnZiZ1FwZUxzYU5XcVU2QjRmL3FScGZRNDFOQmpEcTh0Wlkvc0QKTDFkWWhVTEF1
K0J0UXh4RHhRcmUwckF4SnRyQnFsbDVoVW5jaTNhRVVBa3U4VUt5ZmRDMlNWRC9UdmE5OFpjdlVa
K3hhVzIvMmR4KwpiL2grMlJibU53bVFBQW1RUUtZVEtKY05DSFltdHE1Vm9VNEZsUXZ2UUJwdzRC
TFhldWJCN0htN2R1ME1Nd3dTZElNMFY2MEtneTA3CnMzL2JiYmVaQWRhaVJZdU1BUzNVTnFCQ0Ez
dUdkQXAyUUhqSkpaZVlldW5lQ21hZy91MjMzeHA3R015NHd3ajhvNDgra2djZWVNQVUKZmZqdzRh
WXVVS1BDb0EzQ0Y3d2JXUzlRbU9tKysrNjdEY2NUVHp3eHlsc1RYSmhpQjNuTWltTjE1TWtubnl3
bGtHRW1HRFBmU0F1dgpTSEMzQ3NFRDdsZ3hFSVVhVXF5QUZRTnJwSTJ5K2UwMGNBL3NkcDUvL3Zt
NGpnQjIyMjAzNHdxNWYvLyt4dXNXK2dLOGhLRThzQ1BCCnMrRkZDd0VxWjdCblFRQVRDR0hRNjRk
aFBqeVRvZTB4ZTM3UFBmZVlnVFk4cHRteVEyalREU0NOa2J6SndQY0h6d0JQcUh0QjZJQ2EKVzdy
MUhWK1JZNTVDbUlRQWdoVWNDTjZ3cndBUHRCTld3NnlBNGI4WnJESFF0eXNnL3JiRVNpTGNNOE8r
Q0lLZTM2NGwyVDRJRDAxaAoremZLR3ZhOThkZXJ1di9lOFAzeTl3aWVrd0FKa0FBSlpDcUJMQjJj
bGxnZkI5UWlhMUNXT0FOREp3L0liZk82aklFYzlQTWhjTUIyCndqK29xOHpheGhwVXB1cjVZZk8y
TS9DWWhjYmd2endHLzZrcWUxWGtrOHc3NDA4TGR1aFBFQ1pTSGZEYUkvK3llS05MWlZuUzZiMUoK
WmIwcU9pKytYeEhDL25lbW9ya3pmeElnQVJJZ2dkUVFLTmNLU0dxS3NIbmtBb0Zqdi8zMlM0dktW
S1R3RXpadkRKcnRha2RhUU1uQQpRc0RyV1VVRnJDNVZ0ZkNCdXFYVGUxTlJyQ3NpWDc1ZkZVR1Zl
WklBQ1pBQUNWUVdnZFJQclZaV3lma2NFaUFCRWlBQkVpQUJFaUFCCkVpQ0JqQ05BQVNUam1vd0ZK
Z0VTSUFFU0lBRVNJQUVTSUlITUpVQUJKSFBiamlVbkFSSWdBUklnQVJJZ0FSSWdnWXdqUUFFazQ1
cU0KQlNZQkVpQUJFaUFCRWlBQkVpQ0J6Q1ZBQVNSejI0NGxKd0VTSUFFU0lBRVNJQUVTSUlHTUk1
QzBGeXk0UFdRZ0FSS29HQUo4dnlxRwpLM01sQVJJZ0FSSWdBUkpJSHdKSjdRT1NQc1ZtU1VpQUJF
aUFCRWlBQkVpQUJFaUFCREtSQUZXd01ySFZXR1lTSUFFU0lBRVNJQUVTCklBRVN5RkFDRkVBeXRP
RlliQklnQVJJZ0FSSWdBUklnQVJMSVJBSVVRREt4MVZobUVpQUJFaUFCRWlBQkVpQUJFc2hRQWhS
QU1yVGgKV0d3U0lBRVNJQUVTSUFFU0lBRVN5RVFDRkVBeXNkVllaaElnQVJJZ0FSSWdBUklnQVJM
SVVBSVVRREswNFZoc0VpQUJFaUFCRWlBQgpFaUFCRXNoRUFoUkFNckhWV0dZU0lBRVNJQUVTSUFF
U0lBRVN5RkFDRkVBeXRPRlliQklnQVJJZ0FSSWdBUklnQVJMSVJBSVVRREt4CjFWaG1FaUFCRWlB
QkVpQUJFaUFCRXNoUUFoUkFNclRoV0d3U0lBRVNJQUVTSUFFU0lBRVN5RVFDRkVBeXNkVllaaEln
QVJJZ0FSSWcKQVJJZ0FSTElVQUlVUURLMDRWaHNFaUFCRWlBQkVpQUJFaUFCRXNoRUFoUkFNckhW
V0dZU0lBRVNJQUVTSUFFU0lBRVN5RkFDRkVBeQp0T0ZZYkJJZ0FSSWdBUklnQVJJZ0FSTElSQUlV
UURLeDFWaG1FaUFCRWlBQkVpQUJFaUFCRXNoUUFoUkFNclRoV0d3U0lBRVNJQUVTCklBRVNJQUVT
eUVRQ0ZFQXlzZFZZWmhJZ0FSSWdBUklnQVJJZ0FSTElVQUlVUURLMDRWaHNFaUFCRWlBQkVpQUJF
aUFCRXNoRUFoUkEKTXJIVldHWVNJQUVTSUFFU0lBRVNJQUVTeUZBQ0ZFQXl0T0ZZYkJJZ0FSSWdB
UklnQVJJZ0FSTElSQUxWUmdCWnYzNjlMRnk0TUc0YgpyVml4UXViTm14ZjNlanBkS0NvcWtsOSsr
U1dkaXNTeWtFQlNCUEErL3ZYWFgwbmRrMHppZEh1ZmczNS9rcWtiMDVJQUNaQUFDWkJBCnBoTUlG
RURlZmZkZDJYUFBQU1U3TzF2ZWV1dXRxUHJPbVROSHpqdnZQTW5LeXBKTExybEVGaTFhRkhXOW9r
OTY5T2doalJzM2xtT1AKUFZaNjl1d3BPVGs1c3NzdXU4anBwNTh1aHgxMm1EbC84Y1VYNVpWWFhw
SG16WnZMNk5HajR4YnBqanZ1a0pOUFBqbnU5WFM1OE5WWApYMG03ZHUya1Q1OCs2VktrakNqSDJM
RmpwVldyVnFhdmR1clVTYzQ4ODB3NS92ampwWHYzN2pKMTZ0U29PcnoyMm11bXo2TmZIM25rCmtm
THh4eDlIWGJjbmI3Lzl0aHg2NktFbXowVHQwYTlmUDVPbVRaczJNbTdjT0h0N1NyL0RsamtaRGhW
VnY1RWpSMHFUSmswcWpBWEEKcHRQN0hPYjNKNldkZ1ptUkFBbVFBQW1RUUxvVGNFS0VpUk1uT2xv
UFo4c3R0M1IwbFNEcWpvS0NBcWRaczJaT2NYRnhWSHlpazd5OApQR2ZLbENtSmtvUzZkdlRSUnp0
Ly9QR0htN1pPblRyT0JSZGM0SjQvOU5CRGpnNTJ6TGtLVWM0OTk5empYdk1mTEYrKzNKazdkNjQv
Ck92QThGWFZKTm84cnJyakM2ZEtsUzJEWjBpbEJVQjJEcm9lcFMxQWVPaWcxL1hqMjdObHVkamZk
ZEpPamdvYURQdTROZ3djUE5tay8KL1BCRGIzU3BZeFVvelAzb2U4dVdMU3QxZmMyYU5jNzIyMjl2
OHJydnZ2dEtYVTlsUk5neUo4T2hvdXFuRXdMTzBLRkR5MXo5b0xiMgp2ODlCNmN0Y2tKQTNCdjMr
QkpVdjZIcklZakFaQ1pBQUNaQUFDYVFGZ2NBVkVBaFFOV3JVa0lzdXVraFUySkRUVGp0Tk5tN2M2
TXBWCnVIYkFBUWVZR1Y0M01zRUI4c0NxeWZUcDB4T2tDbmZwdXV1dU15c2U4VkwzN2R0WDJyWnRh
eTdYckZrellSa3hJNHNaY24vUVZ2SkgKdWVkbHJZczN6MlR5VUNIUFBCdk1zU0tWeXVBdFV5cnpS
VjVCZFF5NkhxODgzaktIeWFOUm8wWW1LeSs3aXkrK1dKRFBlKys5Ri9VWQptMWFGN3FoNC93bFc0
TENLb2dORUdURmloUCt5UFAvODgzTEdHV2VZZUp0bnFVUXBpckQ1QjVYWnBndkRvYUxxRi9RK0pr
SVNwcTI5CjczT1k5SW1lbDh3MWI1LzAzcGVvdmtIbEM3cnVmUTZQU1lBRVNJQUVTQ0FUQ0lRZXhl
Njk5OTd5NUpOUHl2ZmZmeStYWFhaWlZOMmcKK3VRTjBIZldXWHE1L3ZycmpWclRWVmRkNVFvdHc0
WU5FNmgyUUozclAvLzVqK1RtNXNxU0pVc0V3c1FSUnh3aDdkdTNsMW16WnJuWgovZC8vL1o4Y2VP
Q0I3cm4zNEpoamp2R2VsanF1WDcrK1VaR3hGekNBaDJyR1RqdnRKSHZ0dFpmTW56L2ZYUHJubjMv
ay92dnZsME1PCk9jUW1GYWlxb0w2STc5aXhveHZ2UFVpMkxySHlqSldIOXhrNDNyQmhnMENONSs2
Nzc1WkxMNzFVdnY3NjY2Z2tpWGdqWVNLK3Njb1UKbGJtZVFFVUpLa3MzM0hDRFBQdnNzN0xiYnJ0
SjY5YXRYWDVJbjZnTVFYV01kVDNaTXNmS3cxK1BXT2MvL2ZTVGllN1dyVnVzeTZIaQp1bmJ0S25n
L0huLzhjY25QejNmdndXQVVmZjJVVTA1eDQrSWRKT0wzN2JmZkNvVHBBUU1HaUs3aWlhNDR5cGRm
ZmhrdnF6TEZKK0tRCml2ckZLaFQ2TmZvVTFDUHgza09sRXdGOVVsZU5aUGp3NGVaOHpKZ3hzc2Nl
ZTVpK2o0aWd0dmEvejBIcGtXY2kva0hsd2Yyb0MzN3oKOEh1bEs3UG1mUmt5WkVqVVJFdTgzNStn
OHNXNm5xaThLQThEQ1pBQUNaQUFDYVExQVIwa0JRYlZnWGYwbjZCSnA3WWVScDFFWjN2ZAorOVFX
d3ozR3dlR0hIKzZvN1lXSjB3R1owNkZEQjhlYnBrV0xGZzdVUlJBS0N3dWQ0NDQ3emxtN2RxMmp4
dFdPRHJTTVN0ZXFWYXZNCmRSM1VPU2VkZEpJNUR2cmpWOEh5cHQ5bm4zMmNmZmZkMTBGZDFCamQw
UUcwbzdQZkpzblNwVXNkSGRnN1RaczJOZWM2NCtqb3FvNTcKKzdYWFhtdks1a1o0RHNMV0pWR2Uz
anc4V2J1SE9zUHU2Q0RNbklQUmR0dHQ1eHgxMUZIdTlVUzhFL0ZOVkNZM2N6MVl2SGl4cy92dQp1
eHRtNzd6empyTmd3UUpIQjRRTytvSU5pY3FBTkVGMTlGNHZhNW05ZWRoeWViOGZmdmhoMDNkVmlI
WldyMTd0akI4LzN2UzFFMDQ0CndmUkRiOW9ubm5qQ3BGVmgyQnRkNnRpK0d5cVltZlM2NHVHbWdm
b1crdm1NR1ROS3ZUTnVvbjhQRXZHYk9YT21veXNSanRyK21ETGoKSFltbExoaTJ6TWx3U0ZYOS9Q
WGRZWWNkSEYyZGRGUkFNK3FZYUx0ZGQ5M1ZRWjlFZ05xYVYyVVM2cGE2a3VSbWs2aXQvZTh6Ymtx
VQpIdGNUOGNmMW9QS29zT1RvaEF1U09qLzg4SU5wYnhWQXpMdUN1RVMvUDdnZVZENy85YUR5SWs4
R0VpQUJFaUFCRWtoWEFxRlhRS3dVCjllaWpqOHArKyswblYxOTlkYW1aZUtSUlhYcjU3TFBQekF3
Z3pxRjYwTHQzYjRFeHV3NmtFR1VDREh3UllEeXJjTXhNSWU3ZGR0dHQKUlhYcDVkTlBQelhYTWZQ
dk4zNDNGOHJ3QjBicm1NM1Z3WTh4THJhZXBEQ2pqQmxzbEFOQkI2ZWlkZ0x5L3Z2dm0zTVkyTnRy
SnNMMwpKMHhkZ3ZLMGVmaXlOcXRCS0lkZDdZSGFESXluYlFqaW5ZaHZVSm5zTXpCRGpWVVBNQUxE
blhmZVdkUUdSWDc5OVZlVEpLZ01OcDk0CmRmUmZMMCtaZzU2Qlo2bEFhVmJCc0FJM2VmSmtzMHJo
WDhXelpRcjdmZmJaWjV1VkNjeFcyNERWb2tURzZUWmRFTCtERHo3WXJEakIKR1FSVUlLSHFGVXRk
ME9ZWDlqc1pEdVdwWDd6eW5ILysrYUxDbjNrWDFUNUcxSjdMTmZpdlc3ZHVsTXBrdlhyMW9zNlJa
N3kyOXIvUAo5dm54MGdmeHgvMUI1WUdEQzZoOUlXQjFGV1ZBd0x0aVE3emZIM3M5WHZuODE4T1Ux
OTdEYnhJZ0FSSWdBUkpJUndKSkN5QzZ5aUE2CmMyeitJY1BiMU1xVks2UHFCZFVRL1BPRjRHR0Ry
b0NZdysrKys4NUd1WU1IQ0NYNHgxMnJWaTN6Z1ZlaGp6NzZ5S2hrdUlsVGRPRDkKQncvZGRxZ3gy
SUJyOXJxdWhNaXBwNTVxQmtlWFgzNjU2T3lqOGFobDAvcS83WDJKNmhLVXA4M0RuL2NubjN4aUJw
OVdieC9YR3pSbwo0SlkxaUhkNXl1UXRpNWNQNGhzMmJHanNIbkFjVkFha1FZaFh4OGpWa3V2bEtY
UFFNL0FzTlg0MmczaW8vNzM2NnF2MjhlWDZ4bnNCCjlUZ0lybEJaZzNvZmJESHNvRFJ0aDVGakFB
QWdBRWxFUVZSUjVtSDRZUUJzQjdXSjhrcm1XakljeWxPL2VHWHkycXBBeUVKSXhoVjIKb3JiMjkx
ZmtIUzk5R1A2NFAxSEErNEIrYThNMjIyd2pCeDEwa0QwMTM5N24rMzkva01CN1BlckdmMC9zOVZT
VU4xYitqQ01CRWlBQgpFaUNCeWlKUW95d1BVbFVKVVZVVFk5OXh6am5uUkJsRVF4ZGFQZENZd1Qw
R3lnaVlPWWZoTkFaOC9vQzB1RlllSFh4L25xazRoK3RNClZYV1NSeDU1UktDRHIrbzBzc1VXV3lU
TU9xZ3VaY2tUcm8yUnJ6L1l3VWdRNzRvb2s3OHNRV1h3cHc4NnI0d3luM1hXV1dhMURqUHYKY0xX
ckttMUJ4UXE4anRVNjZQMWpZQThiR1FpdllVS3ErWVY1cGsyVERJZXkxczgrSzlFM1Znb3dpTWVu
c2tNcStHTTFTVDN3aWFwZgpTZTNhdFFVck5yQnBxNGlRaXZKV1JMbVlKd21RQUFtUUFBbUVKUkJx
QlFUR2s5WURrODFZN1RMa3hodHZOSU00cUV6WmdJRVhOc3JECmZoVTJxRTYycUY2LzJWdkJ4dGtC
OUM2NmJ3ZFdQT0JGeUFhb08ySG12NnFDMmp3SXlveUJKTlFkTUtpQUlXeThFS1l1UVhuYVBQelAK
Z0JBRXZxcno3Nzlrem9ONEorSWJWS2FZRDR3UkdWUUdlMHU4T3Zxdmw2Zk1RYyt3ejhMM1k0ODlK
aENtNFpVTkxNSUdiS0EzYXRRbwprOXo3Ym1EV3UxZXZYa2JkRUFiVmFuTVVLc3V3L0VKbEZpZVJ0
OHorSklrNHBLSisvdWZGT3YvNzc3OWwzYnAxUnIzVFh2Zi81dGg0Cis1MU1XK09lZU9uRDhrOVVI
cWhGUWxVVHZ4ZHdFb0ZWc0dSRHZQTFpmT3oxc09XMTkvR2JCRWlBQkVpQUJOS05RQ2dCQkdwV0dK
RDcKZ3hyWUNqWjE4d2E0SElXTkJZUUtHL0FQR2Y4MHNXRWdBdFNKN0thRjBJdUd4eU40K1ZIRGMv
T2N1KzY2eTlWeGg3dGVDQUpCQVlNRAplQ0R5cTRUWit6QnJpSThOY0NYc2RTZU1hemlIOElOZGxP
SDVCZ0VlYlNCczJkVWNlNy85RGx1WFJIbDY4d0FEYjhDQUZpdEVYaGV2CnNGM0JLZ0VFdlNEZVdL
R0t4emRSbWJ4bHdESFllZ2RnNElYbkl3U1ZBV2tTMWRGL1BWR2ZTRlRtb0dkWVFka3l4bXc3VnFX
UUo0UVEKYi8xc0dtOGN5cmxwMHlaajF3RTdLQVQvdTNITk5kZVlQb1RaY0J2c3UyUHp0UEgyT3d3
L0NQRGUvbXJ2OVg3Yi9JUEtuQXlIc3RZUAp3c1R0dDk5dVZnKzlaZlFlMi82RE9OMFh5S3lvV3FF
TnE2WmZmUEdGNlhjUVRuNy8vWGZUVHZiK29MYjJ2cys0SjFINk1QeUR5ak5vCjBDQlJSdzBDajMr
d2w0SEtuRGVnUFBqWTRQLzlTVlErM09POWp0WGlvTjlZOUZQOFB0dmZXZnRjZnBNQUNaQUFDWkJB
V2hEUUFYZkMKOE5KTEx6bTZnN09qeHVHT3VxVXRsVlpuVmgxNEVmSUdWVmt5OXp6d3dBT09HbEE3
NnNMVjBSbGhOMG4vL3YzTjVtMXFuTzdvNE5qawpxMm9MSms3MTNKMDMzM3pUVGF2LzBCMmRXUzds
cGNoTm9BYy8vdmlqOFo2bFFNMW1pZGlBRUJ2QTJRQnZSMnE4YmNxa2RpZ095b2VOCndYUmdiN3p3
NkVESFVSZThzRUEzbTZNaGpScGRtMDBNSjB5WTRLanFpZXVkeCtacHY4UFdCV1dNbDZjL0Q1dTMv
WDc1NVpjZEhTeWIKTXV1Tzc0YTN1Z1oyRUk4UXhCdnRGb3R2b2pMWlorTjcyclJwamc2QWpQY3Qx
WE4zc0pGZnk1WXRUWjZUSmsweVNZUEtFRlJILy9XeQpsTm1maDdjTzhDS0dNcU9ONFZGSkhTVzRs
K0Z0Q2ZFbm5uaWk4L1BQUHp2WWZFOEZaaE9uN21FZE5aWjJWQkIwMUJHQW96WWQ3c2FiCjhkNk5j
ODg5MSsydmF1VHVxQ3FPeVF0OURubkhDb240b1ozVnBiUjVCMVV3am5WNzZESW53NkU4OWNNN2hI
ZE9YV2pITE8vQWdRTWQKSGRRNzJKengzbnZ2ZGRTcGhmR0VaeE9ERzFqRE01YXV0Qm92ZGVwQXd0
M0FORkZiKzk5bkhZdzdpZExqbVluNDQzcFFlVlR3TkcyTQpmcVFPRFJ4c3RJamZEVHc3NlBjSCtR
ZVZ6Mzg5cUx6b3g3cGk0cnp3d2d2SW5vRUVTSUFFU0lBRTBvcEFGa3FqL3pUTEZlQk5DVE4wCjNv
QnNmL3Z0TjJNZkFnOUsvb0FaZkJobTI0QVpkbldQYTd6R1lNYmZCdVFEOVN6L2pLSzlYaEhmbUVH
R3R5blVDOGIwMkU4a1VRaFQKbDZBOC9YbjRuNGZaWXN4d2d4bDR3Q2pZRzRKNHgrSWJWQ1p2L21H
T2c4b1FWRWYvOWJLVTJaOUhtSEtuUzVvZ2Z1bFN6ckRsMEVrQQpzMmVIQ2h0eGI0SHFHL3EwOTUy
M2lkSCs2UGQ0OTlVOWI1UmpDNlJKdHEyRDBnZnhUMVFlRmFJRVRqbndibUwxQjc4ZDhPYW13bWhv
Cis3YWc4dm12QjVVWEsxMnBkbHhnMjRiZkpFQUNKRUFDSkZBZUFpa1JRTXBUQU41TEFpU3dlUktB
blF3ODRNRXQ3ZVljbm5ycUtTTnMKNko0cFVkV0U0d3BNdnVqS1cxUThUMGlBQkVpQUJFaWd1aE9n
QUZMZGV3RHJUd0lWUkFBcmRuQTN1N2tIT0tsUVZUUGp0aHM3dXNPKwpBM1pYc0dYQ2g0RUVTSUFF
U0lBRVNDQ2FBQVdRYUI0OEl3RVNJSUdrQ1VEZERKdW5RcVVNYnAyNTZwRTBRdDVBQWlSQUFpUlFq
UWhRCkFLbEdqYzJxa2dBSmtBQUprQUFKa0FBSmtFQlZFd2psaHJlcUM4bm5rd0FKa0FBSmtBQUpr
QUFKa0FBSmJCNEVLSUJzSHUzSVdwQUEKQ1pBQUNaQUFDWkFBQ1pCQVJoQ2dBSklSemNSQ2tnQUpr
QUFKa0FBSmtBQUprTURtUVlBQ3lPYlJqcXdGQ1pBQUNaQUFDWkFBQ1pBQQpDV1FFQVFvZ0dkRk1M
Q1FKa0FBSmtBQUprQUFKa0FBSmJCNEVLSUJzSHUzSVdwQUFDWkFBQ1pBQUNaQUFDWkJBUmhDZ0FK
SVJ6Y1JDCmtnQUprQUFKa0FBSmtBQUprTURtUVlBQ3lPYlJqcXdGQ1pBQUNaQUFDWkFBQ1pBQUNX
UUVBUW9nR2RGTUxDUUprQUFKa0FBSmtBQUoKa0FBSmJCNEVLSUJzSHUzSVdwQUFDWkFBQ1pBQUNa
QUFDWkJBUmhDZ0FKSVJ6Y1JDa2dBSmtBQUprQUFKa0FBSmtNRG1RWUFDeU9iUgpqcXdGQ1pBQUNa
QUFDWkFBQ1pBQUNXUUVBUW9nR2RGTUxDUUprQUFKa0FBSmtBQUprQUFKYkI0RUtJQnNIdTNJV3BB
QUNaQUFDWkFBCkNaQUFDWkJBUmhDZ0FKSVJ6Y1JDa2dBSmtBQUprQUFKa0FBSmtNRG1RYUJHVURX
ZWZ2cnBvQ1M4VGdJa1FBSWtRQUlrUUFJa1FBSWsKUUFKeSt1bW5TK1BHalJPU0NCUkFjRGN5WWlB
QkVpQUJFaUFCRWlBQkVpQUJFaUNCOGhMSWNqU1VOeFBlVHdJa1FBSWtRQUlrUUFJawpRQUlrUUFK
aENOQUdKQXdscGlFQkVpQUJFaUFCRWlBQkVpQUJFa2dKQVFvZ0tjSElURWlBQkVpQUJFaUFCRWlB
QkVpQUJNSVFvQUFTCmhoTFRrQUFKa0FBSmtBQUprQUFKa0FBSnBJUUFCWkNVWUdRbUpFQUNKRUFD
SkVBQ0pFQUNKRUFDWVFoUUFBbERpV2xJZ0FSSWdBUkkKZ0FSSWdBUklnQVJTUW9BQ1NFb3dNaE1T
SUFFU0lBRVNJQUVTSUFFU0lJRXdCQ2lBaEtIRU5DUkFBaVJBQWlSQUFpUkFBaVJBQWlraApRQUVr
SlJpWkNRbVFBQW1RQUFtUUFBbVFBQW1RUUJnQ0ZFRENVR0lhRWlBQkVpQUJFaUFCRWlBQkVpQ0Js
QkNnQUpJU2pNeUVCRWlBCkJFaUFCRWlBQkVpQUJFZ2dEQUVLSUdFb01RMEprQUFKa0FBSmtBQUpr
QUFKa0VCS0NGQUFTUWxHWmtJQ0pFQUNKRUFDSkVBQ0pFQUMKSkJDR0FBV1FNSlNZaGdSSWdBUkln
QVJJZ0FSSWdBUklJQ1VFS0lDa0JDTXpJUUVTSUFFU0lBRVNJQUVTSUFFU0NFT0FBa2dZU2t4RApB
aVJBQWlSQUFpUkFBaVJBQWlTUUVnSVVRRktDa1ptUUFBbVFBQW1RQUFtUUFBbVFBQW1FSVVBQkpB
d2xwaUVCRWlBQkVpQUJFaUFCCkVpQUJFa2dKZ2FRRmtBMGJOcVRrd1dFeTJiaHhveXhZc0NCTTBn
cEo4ODgveFlLUERTdFhsaHpidUxWckhmbmYvNHJNNmJwMWp1VGwKT2ZhUyt4MG1qWnU0RWc5V3JD
aVdlZk1pWmEvRXg0WjYxTktseFRKbFNvSEVZaDRxZ3dwTWxNN2N5bHZ0b0xvVkZUbnl5eS9wMldj
UwoxVDAzTnpmUlpWNGpBUklnQVJJZ0FSS29SQUpaam9hd3o1czFhNVlzWExoUXR0aGlDM253d1Fm
bDQ0OC9sclp0MjhwKysrMG5PVGs1CjVyUHZ2dnZLWlpkZEpqVnIxZ3liYmN4MFk4ZU9sVXN2dlZU
T08rODhlZlRSUjJPbXFZaklWYXVLNWJyck5zcnZ2eGRydlhLa2JsMlIKcjc4dWttS1ZQZkQ1NUpP
RzVyRi8vVlVzdDl5eTBWeHYwQ0JMcGs4dmxJMGJIWG5tbWZweThNRTFRcWZ4MXFGSGovWHkrZWVG
Y3RCQgpPY280UzE1L3ZVQjIyaWxiMnJmUGtjV0xpMlhtekNKNTdybDZjdjc1dGIyM2xmbjQ4c3Mz
YUgwSzVLZWZ0aXh6SHZGdS9PQ0RBbm5vCm9UeVpQTGxRZHRzdFc2Ni92bzcyaTNEbGZ1cXBUVWFR
VzdIQ0VSd3ZXTENsMUs2ZEZlOVJsUjVma2R6OGxYbnZ2UUs1NDQ2Tjh1MjMKUmFZL1J2cGtsbVFw
anQxM3o1WVRUcWdwTFZyaytHOHI4M21pdW4zMVZhSDA3cDByalJ0bnk2ZWZSdDRENzRNKy9MQkFm
eGZ5OUhlaApVSDhYc3JXOE5mUTNRY3huMzMxelRQdlhyRmsxN2Zqenp6L0xEei84SUwxNjlmSVdt
Y2NrUUFJa1FBSWtRQUpWUVFBQ1NKancybXV2Ck9VT0hEbldUVHAwNkZZSkxWTnpzMmJPZHVuWHJP
aGRmZkxHYnJqd0hoeDU2cUhQbGxWZUd6aUpQbHgrbVRKa1NPcjAvNGM4L0Z6cmIKYjcvS09mLzg5
YzZtVGNYdTVlTGlZdWVXV3pZNHUrKysybzA3NDR4MXpra25yWFBQOC9PTG5YMzNYZU9NRzdmSmpR
dVR4azJzQjBjZgp2ZGI1NDQ5Q042cE9uWlhPQlJlc2Q4OGZlbWlqTTNKa25udWU3RUZlWHJIeXlY
ZHZXNzY4eUprN3QrUjU3b1VVSFV5ZG1xOTlaS1V6CmNPQ0cwRG11WDEvczFLKy8waWtxaXZELy9Q
T0MwUGRXVk1MSzV1YXZ4MU5QWVZsdHBmUE9PeVY5YTlteUlxZGZ2MXluU1pOVnp2VHAKcVdNVTFD
ZXV1Q0xYNmRKbHJiK0k3cmx0ODZGRE43cHhzMmNYNk8vQ1N2MWRLT25MN3NWS1BKZzdkNjdUdjMv
L1Nud2lIMFVDSkVBQwpKRUFDSkJDTFFDZ1ZyTVdMRjh0OTk5MG4xMXh6alNzak5XN2MyQnhuWVNy
MjM0RFZqd01QUEZCbjFUK3hVVkhmaFlXRlVlZEJKN1ZyCjE5YVozcEw4RTZVdktDZ3dxeVhUcDA5
UGxDenVOYWlXbkg5K3JtUXJrWkVqNjBtdFdpWFBSUm51dWFlT3pqaVh6RFQvOGt1eHJnWVYKUzBG
QlpBRUpNN3RZblZpNU1uS09CNFZKNHkzUWRkZlZrVjEyS1htRzl4cU8rL2F0clRQTDhhLzcwMnVE
dTFFbzUzbm41WnFWR2h2WgpwRW0ydEdvVlBqOTduemRmR3hmcnUzSGpDRVA3SFN1TlArNkhING9r
UDErMEhTTDNkdXdZV1UzeXA2dW84OExDRW1aNFJpcTVsYlhNCmpScEZXT1RrbFBUSnBrMno1ZkhI
NjhueHg5ZVVidDNXNmVwWTZYZkxYNWN3ejQvWEoxUUdON2ZYME9iQU94SXYyTGIydnJiNzdsdEQK
ZnhkcTZPOUM2VElpbjdLVU05N3pFOFczYXRWS2lvcUs1TDMzM2t1VWpOZElnQVJJZ0FSSWdBUXFt
RUNvMGQzdHQ5OHVwNTU2YW1CUgpvR2Y5NjYrL3lrVVhYUlNWZHZMa3lhckc5TFVSSmlaTW1LQUQv
Skd5MTE1N21UU3c4N2o3N3J1Tld0ZTMzMzVyQkpnYmJyZ2g2bjZjCmZQZmRkOUtuVHg4NS9QRERq
YURScmwyN3FEVERoZzJUdDk5K1czNzc3VGRWbi9wZG5uamlDY0ZBK1paYmJsSDFuZG9tYnFlZGRw
SWgKUTRhbzJwVHFWZm5DcEVtRlJ0VnE0TUE2VXFkT3lVRFBKc09BK01VWDY5bFRPZlBNbW5MYmJY
bHkxRkhyWmV6WSt0SzhlVVRsQkdvbgpOb1JKWTlQaSs1aGpFcXV0MWErZkpZY2VHc2wveVpKaXJV
dWVmUE5Oa2F4Zjc1akJxRlg5R2pzMjN3aENzRDJaTUNGZlpzellRb1lOCjI2UjhDcFJQc1ZFdnUr
T09Pa2JGNjgwMzgzWHd1b1ZNblZxZzdiSkpkdGdoVy9iY00wY0dEODVUTlRxUkR6NW80QXBGR3pZ
NGN0Tk4KRzJYcnJiUGtzODhLWmF1dHNveWFUY2VPT2RLcFUrS3lvMzVCejNqbW1VMHlmbnkrRGto
Rm9BcUVabnJ3d1hxbWZsQjMwMlkwWllkYQoycEFoZGZWNmxxb21GWnB5TjJ1V2JkS2puaU5HMUpN
dnZpZzArUng1WkExVlljb3pha0REaDljVHFNc05HclRScUxwZGVXVnQ2ZDgvCjBoY21UeTR3N1kr
Qk01aU5IRmxmKzJoT0lEZlVDL3pqbFMrb3pyaS9QT0grKyt2SzZOSDVnblk4NUpCSTM0aFhsM2Zm
elplTEw5NGcKTys2WUxhKytXbDlhdHN5Ukw3OHNsRFBPeUpXbm42NG5lKytkNCthRlBvR0FOci9o
aG8yeXpUWlo4dmZmeGFxdVY2enZSM0lsenMxMQo5SGVoU0g4WG9sWHc0cFV6VnB1KzkxNERhZE1t
cDl5Y3p6cnJMRG4zM0hQbDJHT1BOU3FqeWRXRXFVbUFCRWlBQkVpQUJGSkNJTmF5CmlEOXV5eTIz
VlBXUGQ2S2lvVzZsQlZBVm9RdWNNV1BHT0xwQzRyUnYzOTQ1Kyt5em5hVkxsN3BwTjIzYXBHcE4y
N3VxVVhmZWVhZHoKMm1tbnVkZDFJT0RNbkRuVG5LdVFZdkw4NXB0dnpIbVhMbDJjcTY2NnloeVBH
REhDZWVHRkY5ejdZaDIwYU5IQ0dUeDRzSHRKaFJYbgp4UmRmTk9mNStmbE9odzRkbkI0OWVyalh2
UWNQUEtBR0hLcm04c0lMNFZTYzFxd3BkanAzMWhHKzN0TzA2U3JuN2JkTDFHTnN2bUhTCjJMU3h2
djBxV0RaTllXR3hjOXh4YTUyMWE0dU5xbExmdnV1ZFpzMVdPYXRXRlRrRkJjWE9BUWVzc1VtZGE2
L05kZFdaV3JSWXJYd2kKNmxCTGx4WTVsMTY2M3BRZGlSY3ZMaklxWnExYnJ6YXFQZ3NXRkRwNzdM
SGF1ZVNTRXJXWjRjTTNPdGRmbjJ2eS91RUhMQldzZElZTQoyZWdnYmF3QTFSdWtHVFlzb280VDVo
bXZ2YmJKeWM1ZUdaWGQ0WWV2MVhhTXRBdFUzVHAwV0tQdEdGRi9tem16d0duY2VKWFRydDBhClov
ejRUUTVZZlB4eHZyUGZmbXVjWFhaWmJlSTJiQ2gyb0E3WHNtV2svbEF6Z2xwWVZ0WktaK1hLSXFO
dUI5VTdxNTUyNTUwYnRJK1cKcU5jbDRvYUNKaXBmbURwSFZUYkdDWmlBNC92dmw2alBlWk5CRGV2
Z2d5TnREdFhCUkhXQkdsU3JWaVdxaE9ndlo1MFZxYXUvVCtBWgozYnV2MC9jNzByZWhGcmZkZHF1
Y280NktyNEpsMnh5cWc3anZ2dnMyNnUvQ0d2MWRXSysvQzBWdXNST1ZNMWFiUWxVd0ZaenhPNkQy
CmFjNFhYM3pobG9VSEpFQUNKRUFDSkVBQ2xVc2dnVEpGUkw1UllVTFdyRm1qczk1Ynh4UjRvUG9F
RlMwVlNBUnBWZUNRRlN0V3VHbGgKakk3VkU2aG5JVFJwMGtUbXpKbGpqdFZldzZ4c0hIVFFRZVpj
QlJpZHZSNGhPKys4c3ptM2Z4Q0grODQvLzN3YkZmZmJxbXhObkRoUgpaK2svMDVXS00wMWFsS04z
Nzk3eTdydnY2b3ovekZMM3c2Z2NBYW90WVFLTXhDZE5haUMzM2xwSFZxMXk1T1NUYzNYVkpTL3Ex
akJwCm9tNEllZkxhYXdXNnVpTkduV3JpeEVMWmR0dHNXYmJNVWNQZ1FsbTkydEcyS0pMMzN5OHd1
VjF5U1cyVDFtWnQrV0RGQURQZVZrc0wKS3pnd0ZrZGNqeDYxdEExeXBFdVhtanB6SGVHQyt6SFQz
cVJKWkhVSXF3UE5ta1dPa1RaTUNQTU1mejRUSnhhWTFaWXp6NnhsTGtIVgpyWGZ2MnRxT0JVYnRD
S3MrclZ0ajFTWmJUanV0bHZhZit0SzFhMDFwMXk3SHFLc2hEaXNsSjU5Y1M3MlZGV3Q3MWRVNlpL
czZZWVFMCjRyRFNjK3FwdGJTUFJ1cUJPczZaRSszcEtSNjNvUEtWcGM1K0JrSG5XSjNBeWhaQ1VG
MnV1S0syZWo0ckZoaVVJOEJnL0l3ekltejkKZldMV3JFTFRqNDQ1SnJLeWdsVkFxSHlGQ2ZxellC
d256SjVkcUw4THhmcTc0T2p2Z25iYWYwT2ljc1pxVXppRndLcGJ2SDRRbGpOKwpCNkErcXZZZ3Rp
ajhKZ0VTSUFFU0lBRVNxR1FDZ2FQdFAvNzR3eFJwcTYyMmlsazAySHhjZmZYVnF0THhxdm1uRGk5
WlhidDJWZldYCnlBQUhBemQ0c1ZxOWVyVlJmNW8yYlpxc1c3Zk81UFhwcDU5S3g0NGRvK3c4K3Zi
dGE0UU4rN0QzMzM5ZjdTL3VVZldrWTJ4VXdtODcKVVB6eXl5OTFnTndzeWh1WHJvQ1llNkhPNVE4
dFdrUlFXRUhFZnozV09RYkRnd2ZYVlU5UERjeGcvUExMTjhxNGNXckE0QWxoMG5pUwpoenFFdmo4
RzBiVjAzSWdQMUxJKytxaUJlc3VxWVFTb1UwK3RxZDZSMWhzMUp0VExhenZnMWMwSHEraHppVHB2
cUk2T3ZHNkZHemJNCjBrRi95Y0I4bTIyeWpjZXVVSVgrTnhHZTUzMm0veG4rdktBaUJFRUhIRzNv
MENFaUtIejNYYVNQUWNEQTROa2J2TTlBUEo3akRSQU8KRVNDNFJmcG9QU084UWExdDJyUkM3YU1s
ZzJXazgrYm41UmFtZk1uV0djOExHMkEvQWVFREFpRkNVRjFnandHdmFpKzlGT21uOEZ6Vgp2WHVK
VU9HdEcydzJJTncxYWxUQ0ZpcHNYaGJ4eW5uZ2dUbjZ1MUJIZnhjYTZPL0Nsc1plcW12WGRhNjlS
MUE1L1cyYVNzNE50VFBNCm16Y3ZYdEVaVHdJa1FBSWtRQUlrVU1FRVNrWVdjUjZFUVR3Q1ZqYUNR
aDFWRHUvWnM2ZnFpdjhkWmVnSm00K0JBd2VxZTl2cmRGYTkKaXhra0lhOGxTNWJJanovK21ERGJU
cDA2NlNDN1ZwUUJmTUliL3IySS9VcVdMMSt1K3ZucjNlUjc3NzIzMUZBcjJsaDdBa0MvSE9Ibgpu
MHNHMk82TnZvTUZDNHFpQnFoSEhGRlQzbmlqZ1VsbEJaQXdhWHpaaGo1ZHZyellHQUozNndZRDVK
TFA5dHRIbXZPVlYrckxWVmZWCmxpZWYzS1M4MXdsc1FWSVJycjIyamxsMWdLSDQzTGxGVWs5Tlls
RDNpZ3l3UVZpKzNERjJGdlk1V0tXQk1YUXlXenRnOXQ0N2NQWWUKSTEvWXZ3d2NtS2Q5dExaWitj
RUFPVXhJVmZuQ1BDdFdtcmx6c2JvZ1JxaXcxNFBxMHJ0M0xSa3pKdC8wWWRnN2VSMHUyRHp3dldo
UgpzV0h2amNOeFNEVHViWGhHejU2MTlIZkIwZCtGeU1vY0xnYVYwODFBRDFMSkdhdTI5ZEI1R1Vp
QUJFaUFCRWlBQktxRVFLQUFzc3N1CnU2alJhUjJqaGhXbWhIYmdCbTh6Q1BDLzM2OWZQN052Q05R
ZnZBR3FWcGlKaE5HNERhcUJadFN5N0RsbUswZVBIaTFxLzZGRzA2L2IKNkxqZjl2bXRXN2MySG0r
Kyt1b3JOeTFVeExBeXMrZWVlN3B4OXFCcjF4cEdCZWU1NS9KMUpyeEU3Y2hleDdmMTFyTmtpU09Q
UEJLdApiZ1Z2VFZodGdHY3NoREJwVE1JeS9JR25ySTgrS29oYW5RQTM3T21CL1VMVUJFZUdEcTBu
RXljMjBMMFBpc3hnMHo0bTJjR2p2US9mCnh4OWZRNkRTQmJVajdJMHlkYXB2V2NHYk9FWEhyVnZu
YUR1S3F6S0ViRkUvTExCQjdTb1ZBVUpudjM0YnRJL1dqVnBwOGVZZGoxdGwKbE05YkR1OHgybnpB
Z0loVEFPeXpnaENtTG1lZlhjc0lwVmRldVVGT09TWDZuZlRtdjkxMldXYUZDTUptZVlQbDkrL1BR
cWh5ZXArWgpTczZZK0dqUm9vVTNleDZUQUFtUUFBbVFBQWxVSW9IQUVWeTIrdHpjWjU5OVN1bE1y
MXk1MGhUVHFscmhCQjZ0b0lxRlZaUE9uVHViCjY3RDMwSDAwakNBQ29RUXFXTHBmaC9GUWhkVVND
RGNYWG5paHNRdEIycHR1dWttOTlPeG83a1hlR0dSQlRRdmVyT0JkNjVkZmZqSFgKWXYxcDFLaVJ6
dG91TXBlNmRldW1IcDEyMElINlIyNVNlT0tDWUFJUE9QNkFHZkpISDYxcjNLNzI3cjBoYW9VRGFl
ZlBMNUliYjl4bwpoSkJkZDgzV0FmNG1zd3BnODhIQUh6UEdWa2MrVEJwN2I2eHZ1RDJGTzFxdlcx
K2I3cHh6YWhrQnAyL2ZEV3AvQW9HaldPNjZLOCs0CjFJV2VQYnhnSVJ4OWRFMDU2YVJheHZNVHp1
SE9GV1ZFd0gyWVZjYm1pV0NNZ09kaHMwVWJzT205SFRBaWJ0Q2dQTFA1SFZaWE1JaUYKbWt5aVlN
dHV2NUUyNkJsWXJVRVpVRFlFMkNmc3NFT1d0bU5FM1FweFgzOGRVUTA2OXRqSTRCbkNDT3JoRGJC
QmdHdGxHMkNEZ0xyQQpyUzRDN2tIQXMyRHZnVzhNM25IUHRHa1I0UTVjOEVuRUxVejVndW9NbFVS
NG1vTVh1RmdCTmtZSTN2cWdQMTU3N1VaakMvUFNTL1dOCkhSRFNCTlVGYWFCU0Jac1hlQXJyMENG
aTM0RjRCRytmNk5XcmxsbHBHakdpWlBVVHU2QmpSY3BibHNpZGtiKzJyUzFmeEtKdFhuMDEKMzZq
U2RlNGNlVjVRT2YxdG1nck9LQXZzMDdBQ0F0VlJCaElnQVJJZ0FSSWdnU29pb0FPc3dLQis4eDAx
NW5iVFRabzBTVDNoSElWUgprYU9yR0k0YWQ1dHplTUZTTjVmT24zLys2YVpWZFNmMVVOVE9hZENn
Z2FPQ2hvTzhWUDNCVVZlWTZuMW9rL1BtbTIrcUI2ZG1ibDVxCk9HN3VIVGR1bkxsbnQ5MTJjMmJN
bU9Ib0tvbTViOXR0dDNVZWUrd3hOMy92QVRZWjB4VVFVeDZkNVhSMFFPZTBhZFBHZWVDQkI5U0QK
MFB1bURpcmtlRzhwZFF4dk8wY2NzZGJaZGRmVlp1TzBHMjZJYkx4MjY2MGJIR3hJWndPOFJSMTU1
RnJqWlFxZXBiQUpZWjgrNngxNAphYkloVEJxYjF2djk0NCtGeHBzVFBCOXR1ZVVxQnhzUXdxT1dO
eno1Wko1VHUvWks0OGtKSHJEZWZEUGlxUWozN3JiYmFyTmg0WVFKCm04eG1kZkIwaE5DL2Y4VHpV
Ky9lNjUwUFB0amtISExJR3VXK1VqZVQzR2c4UnpWcXRNcDRPWUlYSW5nemd0Y29QR1BTcElqM3BX
dXUKVVgrcW1oNmZuSnlWVHZQbXEweiszazBiYlJrblRzdzMzcEtRRmw2WHNJSGl0R241VHFKbnpK
cFY0SFRxRlBFc0J1Ni8veDd4cnZYdAp0d1hhanF1MUhUY2FUMUJubnJuT21UTW5jdTNsbHplWmpR
dTMzWGFWTTNac2hBSEtEMjlOS0I4Mnhwcy92OUI0elVKWjRQMUtWN2ljCnUrK0doTFBTNmRsem5U
TnZYcUh4b3RXZ3dVcnRvK3UxaitaclgxdXBmVFN5SVdVaWJxaDdvdklGMVJtODFDWkpQWDlsT3pv
b3R2amMKYjVSbC8vMGo3YlRQUG11Y1hyM1dPWWNldXNhd3ZmcnFYRk4yTjdFZTVPWVdKNnlMVFR0
NWNyNXo3NzBsbXdVaS9vc3ZDcUw2Qk9vRwp2ZzBicm5UMjNITzFZWFhDQ2V1Y2poM1htSGlibC8x
R1A0R0hMSERkZWVmVitoNnVOK2Z3Z2dWUFczLytXZUlGSzFFNTRZa09tMUY2CjJ4VFBLQzluNVBI
ODg4ODdKNTk4TWc0WlNJQUVTSUFFU0lBRXFvaEFGcDRiUnZicDNyMjcyaFE4S1R2cFhocGxDVmdk
c2Z0dllBYlMKcTQ2RklrQTlxbm56NW1YSk91b2UySDAwYmRyVWpVUGUyQnNFS3prcXpManhRUWQ1
dXZrMFptbHIxTWpTbFlYc1VudURyRnhaclB0ZwpaSnNaNC9uemk1Vkx0aG82UjY4SWhFa1RWSTVF
MTlXanFGSDUybm5uYkZOT3BNWEtDVlp6b0VZR3cyM3NIZUlOc0I4SjYrbkxleCtPCmRjQXFwNTll
UzFld3hLd1F3ZVBXYTYvbDY3NEt0WXd0aWo5OUtzOGo3Uml4ZmRsdHQ0aTlUaXJ6UjE2WXFiZXJP
bGdwOFJxK0IzRXIKYi9uZ2FRNTcyY0JXS2hVaFVWMXMvbGdWcWwwN3VuL1lhOTV2ckhaZ0ZRYjlC
dTlGckgxeXZPbVRPUTVUVG05KzVlVjgwa2tuYVQrKwpWL2NVYWVQTmxzY2tRQUlrUUFJa1FBS1ZT
Q0MwQVBMWFgzK1pEUU9IRGgxcTFLWXFzWXlWOHFpc3JGV1Y4aHcraEFTOEJCeW5zVGtkCk5XcVVx
a04xY0Rmb3RHbllMeTJKOG4yRDg0QUJBM1RqMEtQVWNjSVI1Y3VNZDVNQUNaQUFDWkFBQ1pTTFFH
Z0JCRStCRUtMcVY4Wm0KbzF4UDVjMFpSd0RHN0FjZXVGYmQrOVkwN240eGM0M2QySHYwcUduMkRj
bTRDcVZaZ1ZldFdtWDJwMGl6WW0wMnhZSExiM2pUTy9qZwpnemViT3JFaUpFQUNKRUFDSkpDcEJK
SVNRREsxa2l4M2FnaXNVVk9FVHorRnB5MUhqanl5aHJSc1dUR3FVS2twTFhNaEFSSWdBUklnCkFS
SWdBUkpJUndJVVFOS3hWVmdtRWlBQkVpQUJFaUFCRWlBQkV0aE1DUVM2NGQxTTY4MXFrUUFKa0FB
SmtBQUprQUFKa0FBSlZBRUIKQ2lCVkFKMlBKQUVTSUFFU0lBRVNJQUVTSUlIcVNvQUNTSFZ0ZWRh
YkJFaUFCRWlBQkVpQUJFaUFCS3FBQUFXUUtvRE9SNUlBQ1pBQQpDWkFBQ1pBQUNaQkFkU1ZBQWFT
NnRqenJUUUlrUUFJa1FBSWtRQUlrUUFKVlFJQUNTQlZBNXlOSmdBUklnQVJJZ0FSSWdBUklvTG9T
Cm9BQlNYVnVlOVNZQkVpQUJFaUFCRWlBQkVpQ0JLaUJBQWFRS29QT1JKRUFDSkVBQ0pFQUNKRUFD
SkZCZENWQUFxYTR0ejNxVEFBbVEKQUFtUUFBbVFBQW1RUUJVUW9BQlNCZEQ1U0JJZ0FSSWdBUkln
QVJJZ0FSS29yZ1FvZ0ZUWGxtZTlTWUFFU0lBRVNJQUVTSUFFU0tBSwpDRkFBcVFMb2ZDUUprQUFK
a0FBSmtBQUprQUFKVkZjQ0ZFQ3FhOHV6M2lSQUFpUkFBaVJBQWlSQUFpUlFCUVFvZ0ZRQmRENlNC
RWlBCkJFaUFCRWlBQkVpQUJFbGNNOTBBQUNBQVNVUkJWS29yQVFvZzFiWGxXVzhTSUFFU0lBRVNJ
QUVTSUFFU3FBSUNGRUNxQURvZlNRSWsKUUFJa1FBSWtRQUlrUUFMVmxRQUZrT3JhOHF3M0NaQUFD
WkFBQ1pBQUNaQUFDVlFCZ2MxV0FDa3FjdVNYWDRwY3BPdlhPL0xYWDhYdQplVG9lT0k0akN4WVV5
Yng1UlZKWTZJUXVZaWJXTlhUbFVweHcrZkxsc25MbHlyaTVybHExU3RrWGx2azZidHk0Y1dQYysy
TmRDSHFtCnZXZmR1blV5YTlhc1VQbUh6Uk41Lys5Ly83T1A0RGNKa0FBSmtBQUprQUFKVkRpQlFB
SGt0ZGZ5WmM4OTEwaFcxaW81OHNoMTh2SEgKQlRFTDlkNTdCZEsrL1ZxVGJ2LzkxOHBGRitYS0ZW
ZHNrQ3V2M0NERGgrZVpnYlgzeGc4L0xKQ2pqbHBuMHUrMTF4bzU3N3hjdWVDQwpYSFBmbzQvbVNV
RkIrQUc0TjE4Y2YvVlZvYlJydDFiNjlObGdMbzBjdVVtYU5Ga3Q0OGJsKzVPbXhmbTMzeGJLQ1Nl
c2w5NjlOOGpvCjBmbnk3cnNGY3RWVkcrV3l5M0psL3Z3U0lTcFdZVE90cnJIcVVCbHhYMy85dGZh
M28yU2JiYmJSdnRCRWV2WHFKWGw1ZWU2ajU4MmIKSnoxNzlwVHg0OGZMZ0FFRFpPREFnZTQxSEFS
ZFI1ckZpeGZMTmRkY0l6MTY5TUJwWUFpVEp6TDUrZWVmNWJUVFRwUG5ubnRPZHRwcApKNmxidDI3
Y3ZNUGtPV1RJRUgzdnN0elB6VGZmSERjL1hpQUJFaUFCRWlBQkVpQ0JsQlBRV2ZmQU1IandCcFVH
VmpvZmZwaWZNTzFUClQrV1pkTys4czhsTnQyeFprZE92WDY3VHBNa3FaL3IwQWpjZUIxT241cHYw
UTRkdWRPTm56eTV3NnRaZDZWeDg4WG8zcml3SFYxeVIKNjNUcHN0YTl0WG56Vlk3M09lNkZLajY0
OGNaY3AwZVBkYzRmZnhTV0tzbUtGVVhPUlJldGQrYk1LWDNObXpoVDZ1b3RjMlVlcjEyNwoxam4y
MkdPZENSTW1PUC84ODQvVHYzOS83WGZpM0hubm5hWVl1TDdISG5zNGI3MzFsbHVzamgwN09pTkhq
Z3gxSFltUXg3UnAwNXpPCm5UczdoeHh5aUp0UHZJT2daOXI3bm5ycUtVZUZEdWYzMzMrM1VYRy93
K1M1WWNNR1I0VVpaL0xreWVZelpjb1VaOG1TSlhIejVBVVMKSUFFU0lBRVNJQUVTU0RXQndCVVFT
RHlOR2tXU2JibGxWa0lCcUZHanlQV2NuSkowVFp0bXkrT1AxNVBqajY4cDNicXRrNWt6UzlSYgpH
amVPcE5QSldEZnN1MjhOT2ZEQUd2TEpKeVhwM0lzaERvcUxNYllVcVZGREpOdFR1NW8xUldkOGd6
TklSdlVwT0xmRUtZWU96WlB2CnZpdVNOOStzTDd2c2txUEhoVEo0OEVZOXo1Y1pNd3JsbTIrSzVN
a242OGxERDVYTTFIdHp6S1M2ZXN0ZG5tTjlBWksrZmViTW1mTHMKczgvS2lTZWVhRlpBN3I3N2Jt
blZxcFV5bm1IeWV2bmxsd1dxV1NlY2NJS2I5NFVYWGloMzNYV1hGQlVWU2RCMTNOU3dZVU01L1BE
RApwWFhyMW1abHdjMG96a0dZUEQvNzdETzUvUExMWmV6WXNiTHJycnZHeWFra09reWVUei85dEZs
QmdacllRUWNkcEt1YVI4cldXMjlkCmtnbVBTSUFFU0lBRVNJQUVTS0NDQ2Vnd3ZYTEMvZmZYTmVw
RkdGd2Zja2o4eCtibU92THJyMFdxaWxVN3FZTHB4SzdjY01OR0hXQm0KeWQ5L0Y4dFBQeFZMblRy
UldVVFNSTlNjZHRnaFcxNTZxYjZxbCtXWVJKTW5GOGpYWHhjWklXWENoSHdaT2JLKzdMVlhqa0E5
Q2lwYwp6WnBsNjhCTlpOaXdUZkxlZXcya1Rac2N1ZVdXalZKYmkvbjc3OFdxR3BNdFE0YlUxVFJa
TW5WcWdia0h6MEQrZ3dmbkNRU2dEejVvCllBUU5QSERSb21JZDRPYkpIMzlzb2NKU2xqejk5Q2E1
NmFhTjh0RkhEVVFucEkxSzF2WFgxMWExb1pvNlFNeVdOV3Njc1FKZ3B0VTEKdWhWRVlJOFRqMTA4
M21nTDhObDY2eXo1N0xOQzJXcXJMTmx2dnhyU3NXT09kT3FrY0JPRW80OCtPdW9xMUkvYXRHbGpo
QkZjK09DRApENHhBa3UyUldDR2cvUFhYWHlvVWZoZDQvWUFERG9qS1A4eEowRE9SNTFsbm5TVWRP
blF3TmluRGh3K1h0bTNiU3BjdVhlSm1IeWJQCk1XUEc2Q1RBVE8zN0x4bDFyaWVmZkZJbkI0NlBt
eWN2a0FBSmtBQUprQUFKa0VDcUNYaldDRktkZFhSKzIyeVRyYnIzV1RKOWV1bVYKamRtemkzU1dO
MThIOEhseXhCSHJwR3ZYbXFwTG41d0Ewck5ucnQ1YlErNjRvNjQ4OFVROUhkaEhoQWx2S1Y1K09k
K2tHVE9tdmhvaQpPNnFydjk0WWUrZXJKdGgvL3BPcmd6ME1jdXZJMFVmWGxEdnZqQmdTNTZ2WnlM
aHhCU3AwRk9qc2RvN3E0dGNVck54MDc3NWVaNUJ6CmRIV2lubDZ2TDE5OFVhZzJCTG5tY1JCT3NM
S0JlNW8zejVJcFV4cVkrSHZ2TFZuSitQTExRdGwzM3h6Tks5c1l4MTl6elFhNTl0cmEKY3NBQk5j
d2dPMUsreU1DNmdkNithVlBKekgrbTFkWGJCamhPeEM0ZTcxR2pOaG1CRXUzNzhNUDF0TDhVR0dF
UmdsK3lBYXNvczJmUApWaHVoUHVaV1ZjdFM0VzdMcUd5d29vR3dhTkVpQ2JvZWRXUElrNkE4NTgr
ZmI1Nk43SDc2NlNkWnVIQ2hISGZjY1hMMTFWZkhmVUpRCm5yZ1JxejZxenFXQzlEQlp0bXlabkhM
S0tTcncveG8zVDE0Z0FSSWdBUklnQVJJZ2dWUVRTSDcwVm80U1lIWGl0OTlLZTZJcVVMdjIKeFl1
TGRWQllLRXVYRnB2Qjlvb1ZKUVB1b0VmT21sVW83NzlmSU1jY0UxbFp5YzdPTWlwZi92dk9QNysy
cml6VVVyV1RtbkxmZlhWVgpTQ2xXby9wQ3N6cHg2cW0xakVDQWV5QW96WmtUTWY0KytPQWFLbmhn
SlNOYmhZOWFNbUpFZmJQaWdWbjRNOCtzWlI1UnMyYVdHcERYCk5zYmpVREZyM2p4YmR0c3RXL2Jl
TzBlRm5GcXk4ODQ1T25OZFV3ZDZKWFgvNzMrTFpKOTlJcXN2SDMxVUlCdlVYdjY0NHlJQ3grZWYK
RjVxVm5IMzJpZFJuNlZMSHJJTGdZWmxZVndQcDN6OFRKeGFZRll4NDdHTHhidFVxeDZ5ZW9WMFFz
QnJTckZua0dHeVREYSsvL3JxWgo5ZDkvLy8zTnJWQkhxb2tsS2srb1ZTdlN0Z1hhT1lPdWUyNExm
UmlVNXpmZmZHUHlHanAwcVBUdDIxZnV2LzkrVWRzVmRlZ3dYSDc4CjhjZVl6d25LMDk0RWRTNElN
bER4Z3FDRnZCbElnQVJJZ0FSSWdBUklvTElJeE5lRlNuRUpZRnNCNFNPVyt0V0JCK2JvZ0tpT2Zr
UTkKRXpuL3JvS3NVL2VnV3hyMXBLQ2l3RjRFUW9LMVZVSDZCZzNnNVNmNlRxdkNoTmlERDQ0TVhP
SHk5dGhqYThxamowWldUWjUrT2s5VgpzUXBsM2JvU0FRaHFWVkRCc2dHckZ4Z0FRL0N3QWFzbkNM
RGpRQjN4Yk8vek1hR091dG13L2ZiWjZpWTQ0bEVNcy82d24ybmZQcElIClBJOTE2bVNGajJKM3NJ
MTdNN0d1dHM3NERzUE96eHYzTld5WXBhcERKUjdCc0tLR0ZhaGt3K3JWcStXMTExNVRnV2EwZXlz
OFkvbGQKOCtibVJsYXpvSW9WZE4zTktNN0IzTGx6dGQwK2NhL3V2ZmZlZ1hsKytlV1hKbjNMbGkz
ZCs4NDQ0d3hkbWJ0VFY5dStFQWhJeWVicApadlR2QVFRd2VOZXl3bzcvT3M5SmdBUklnQVJJZ0FS
SW9DSUlsSXlxS3lKM1Q1NXo1MkpsUTl4QnR1ZFMxR0dkT2xtcXlsUkw3VGdjCm84SVVkVEhPQ2V3
cGxpOHZHZHpiWkY0QndNYlpiOHljUXlqQXdCWUJkaDREQitiSmRkZlZOcXNWc0JPSUYyQ0RnZWZC
bHNFR3JIYkEKOFAzZmNhdU5qdnNOWVFOcVdnZ25uMXhUWjlrZHN5THp3Z3ViVEptS2RiRUV0aXl3
RTduODhoSmpsa3lzcXhkQ1dkbGRlMjBkNDhEZwpoeCtLWk83Y0lxbFhUMVJRalY2MThENG4zdkZ0
dDkybUtsd1BxKzFPaVlyZkRqdnNvQ3R2UzZOdVdiOSt2VG1IQUJKMFBlckdHQ2QvCi92bW5PaFo0
MC8xZ0JTTW96MTEyMmNYa0JCVXdHeUNNNU9Ua2FMOWJMMlhKMCtiai9lN1VxWlBVcjEvZkc4VmpF
aUFCRWlBQkVpQUIKRXFoUUFqcGtMbC9BNW43WTB3TXFTUEVDZE80SERJZ1lFRjkvZmNsZ09sNTZP
L1pYQjBTaHduYmJaYWsrdTJNR3BydnZIbTVXSElONwozZGRORFpsemRKK0ZJdW5YYjRNTytMZU1X
dFdJOTNEWWdxQnMySU1ENmx3SVVKUEMvblZRMVFvVDJyZXZZUXpVbjM5K2srNS9VbHQxCjh4dXFl
czBtc3hvemJsd0RzM2ZLTTg5QUtLcmpHcDhqMzB5c3E1ZEhXZGtkZjN3TnVlU1MyZ0lWTHF3ZVRa
MGFzZEh3NWgxMC9PQ0QKRDZwemc0dk00TittVlJlMEtnQ2ViUGIvZ01jckRQQVJZQmV4MTE1N21j
RjUwSFdiVjd6dmJ0MjZxUWU0YmxHWDRYa0tlNDdFZXlaVwpKeUFZWUhVQ0t5WUkySWdRNldGQVg1
WThvd3J3N3dsc1lXRG96a0FDSkVBQ0pFQUNKRUFDbFVVZzFHaDUxYXFJN1FKbTViMEJodEY5Cit1
U2FRVHppVjYyS3JBaGdaMjRic0pIZXRkZHVOUFlSOERxMTdiWWxqNFNoTllKMzQybXNCTHo2YXI1
Uk8rcmN1VVErd3VEcjl0dHYKVjY5VTM5cXMzZTlldldxWjFZY1JJM1NKNWQrQVhkQ3hTdUV0aS9k
NHlwUUNzL0lBdDcrdzkwRGRJSWdnemJScEJVWmRDb0lUUGlnZgp5bVhER1dmVTBrRnNsbnFzS2pH
b2g5b1cxTUNnem9VQXRTb3ZMOWg0K0FXcVVhUHFHYUVEZytyOTk2OGhqenhTejlpQmJMRkZsdHgy
ClcxMDUvL3hhWnNCdG40dnZUS3dyK2duY0MyUDFKZ3c3UDIvVWU5Q2dQTmw5OTJ6ZG9MRzJuSDEy
TGVOdERQRTJKT29mU1BQQ0N5OW8KLzF5bDdaSnZkaE9ITWZiamp6OXUraE0yRG9SQUFOVXNHNlpP
bmFydDhZZzVEYnB1NzhIM0psM21LL1kydlBlaTV6Z29UMnlXaUUwTgpKMDJhNU40RjFTdDR3dXJh
dGFzYjV6MEl5aE9yS1JNblRuVExCNXNSZU1TNjlkWmJ2ZG53bUFSSWdBUklnQVJJZ0FRcWxFREpD
RC9PClk4YVB6emNHd0xpTVhjM2J0czB4UnVLclZ6dkdiUzA4bDdacmwyT013S0hHaEhEYmJYbnE1
alBmRERqcjFZUExVNnd5YkNFdFc1YXMKVHNEdytvRUhJbDZoTVBPUHdmL0NoY1hHT3hVR21tKzgw
VUJkclpZSUsvRGNNM2p3WUYxdCtWRHRDQ0w2OGVaaCttZTMzWEowZ0ZsZgpMcjAwMXd6WW9RNEYr
NHphdFIzakxRa0RWcmoxSFRFaTM2eDZxRXhoak41ZmZER2llZ0xqYjlUaHhCUFhtd0V5ak5YZmVh
ZEFCWUFOCjZnYTNoczVDRitwTzJGazZRTTAzNm1IMTYyZkoyMjgza0hQUHpUWHVZTUVFUXRPYmJ6
WXdOaXVmZmhweDZRczFJUmlOdzMwdmhBelUKRC9XR2ExMkVKazJ5MVJDNG9UejRZSjZXZjVQc3NV
ZU83dmVRTFREQWg0RThYTTVlZm5uMHlsSW0xaFYxR1RBZ1Q0VzJiR1ZhT3lHNwpWMTdKTDhVYnJP
Q0crTUlMTjVnUEZpbWFOczB5VGdHR0RxMnI5aEJaeHJOVHZQNEJXNGxMTHJsRVlGQ09ORFpzdDkx
MlJwVUpxeDRmCmYveXg5dThyelc3bTJHa2NlMlJZbDdkQjE1RWZCSTl4NDhhWi9ybGl4UXF6ZHdq
YzJ6WnUzTmcrTHVvN1RKNkRCZzFTZDhXM3FIdnAKRzFRZ2IyYmNBZXRtaWJxL1RjbDc0YzAwS0Uv
czFBNmJqKzIzMzE1T1AvMTBvM1lHVzVpdHR0ckttdzJQU1lBRVNJQUVTSUFFU0tCQwpDV1RwREgv
SjFINkZQcXI4bWE5WnM4YTREeDA0Y0dETXpMQjZnVlVZYkg0SWcyL1lrL2dEdkcxaDhJcTlOL3dC
cXh3d2dFWW9LSEFDCjFiR0FEb2IxR0E5Q01DaHZXTEdpMkFncGNDM3JGYjVpNVp0cGRWMjJETWIw
SlFQblpObmRlKzlHSFRUWDBuYUZLcElqRUlBaEVKNTcKYmkxVlI0b0lkRUg5SXhaSGZ4eU0wU0Uw
eExNQkNycnV6eS9NZVZDZWVWcHBHTS9ER0Q1c2lKY243RWRnN3dJYkZPdnBLMnllVEVjQwpKRUFD
SkVBQ0pFQUNxU0FRS0lCa1phMUt4WFBLbFlmalJHYVJSNDBhWmZUVm9adnZEZWxRUm05NWVGeTVC
SUw2UitXV2hrOGpBUklnCkFSSWdBUklnQVJKSVJDQlFBRWwwYzJWZmd3NS9QSldXeWk0TG4xZDVC
T0Q1NnNBRDErb2VMalhWaTFvTlk0K3paRW14N3JGUzAreXoKWWt2Qy9tRko4SnNFU0lBRVNJQUVT
SUFFMHBkQVJna2c2WXVSSmF0b0FyQUJnVzNONHNXT2VoNnJFV1ZQVk5IUFp2NGtRQUlrUUFJawpR
QUlrUUFLcEkwQUJKSFVzbVJNSmtBQUprQUFKa0FBSmtBQUprRUFBZ1JLcjRJQ0V2RXdDSkVBQ0pF
QUNKRUFDSkVBQ0pFQUM1U1ZBCkFhUzhCSGsvQ1pBQUNaQUFDWkFBQ1pBQUNaQkFhQUlVUUVLallr
SVNJQUVTSUFFU0lBRVNJQUVTSUlIeUVxQUFVbDZDdko4RVNJQUUKU0lBRVNJQUVTSUFFU0NBMEFR
b2dvVkV4SVFtUUFBbVFBQW1RQUFtUUFBbVFRSGtKVUFBcEwwSGVUd0lrUUFJa1FBSWtRQUlrUUFJ
awpFSm9BQlpEUXFKaVFCRWlBQkVpQUJFaUFCRWlBQkVpZ3ZBUW9nSlNYSU84bkFSSWdBUklnQVJJ
Z0FSSWdBUklJVFlBQ1NHaFVURWdDCkpFQUNKRUFDSkVBQ0pFQUNKRkJlQWhSQXlrdVE5NU1BQ1pB
QUNaQUFDWkFBQ1pBQUNZUW1RQUVrTkNvbUpBRVNJQUVTSUFFU0lBRVMKSUFFU0tDOEJDaURsSmNq
N1NZQUVTSUFFU0lBRVNJQUVTSUFFUWhPZ0FCSWFGUk9TQUFtUUFBbVFBQW1RQUFtUUFBbVVsd0FG
a1BJUwo1UDBrUUFJa1FBSWtRQUlrUUFJa1FBS2hDVkFBQ1kyS0NVbUFCRWlBQkVpQUJFaUFCRWlB
Qk1wTGdBSkllUW55ZmhJZ0FSSWdBUklnCkFSSWdBUklnZ2RBRUtJQ0VSc1dFSkVBQ0pFQUNKRUFD
SkVBQ0pFQUM1U1dRVmdKSVVWR1IvUExMTDI2ZFZxeFlJZlBtelhQUDdjSFMKcFV0bHlwUXBzbkxs
U29tWHhxWk45TzEvWHFLMDViMVdtYytLVjlaVWx5R0kvZnIxNjJYaHdvWHhpaE1ZWDk3N0F4OVF4
Z1FWVmE1RgppeGFWc1VSVmUxdFFQd2dxWFhudkQ4cWYxMG1BQkVpQUJFaUFCTktMUUtBQTh2YmJi
OHVoaHg0cVdWbFowcWRQbjdpbDc5ZXZuMG5UCnBrMGJHVGR1WE54MDhTNTg5ZFZYMHE1ZHU2aG4z
SEhISFhMeXlTZEgzZkxVVTAvSm1ERmpaTnEwYWRLMmJWdTU3YmJiU3FXSnVpSE8KU2F6bnhVbGE3
dWpLZkZhOHdsWkVHV0sxajMzK0s2KzhJczJiTjVmUm8wZmJxS1MreTN0L1VnOUxJbkZGbGV1Wlo1
NlJIWGZjVVI1OAo4TUVrU3BNZVNSUDFnekFsTE8vOVlaN0JOQ1JBQWlSQUFpUkFBdWxESU12UkVG
U2M4ZVBIUzgrZVBhVjI3ZHBtUnJ0cDA2WlJ0NnhkCnUxWWdlUHoxMTE5eTMzMzN5YzAzM3h4MVBl
ekpsVmRlS1QvLy9MTk1uanpaM0lLWlVheHl0R3JWeXB6bjV1YWFRUzJlbDUyZExUTm0KekpBOTl0
Z2pLazNZWnlHZC8zbkozSnRzMnNwOFZyeXlwYm9NL3ZiWnRHbVRhWk1qanp6U0ZBRjk0dHh6ejVY
Ky9mdkhLMUpVZkhudgpqOG9zaFNlVlVhNS8vdmxIbm52dU9jSDM4T0hEVTFqNmlzL0szdytTZldK
NTcwLzJlVXhQQWlSQUFpUkFBaVJRdFFRQ1YwQlF2TWFOCkcwdjM3dDBsNy8vYk8vdlF2Nlk0anA4
eThqQVBwY2xNR0JLMVRSN21LVTk1Sml3YmJXaDVpTFkxTGM5UjVDRVU4bGhDSXNRZmxDRVAKR1lx
MmxVMmExWlNJOEkrSVFnb2h4K2Y5YWVkMmZuZmZlKy8zL3ZhbHU3dlhxZjN1dmVlZWg4OTVuZk5k
NTNQTzUzenVIMytFeHg1NwpiQU9KbjM3NjZYRGVlZWQ1L0U0NzdiVEIrNmFJZi83NXg1Tk1tRERC
Rll1VWZ1ZWRkeTZVRDhXdFc3Y3UvUG5ubjBXYW80NDZLcFRUCnBMeDExNnI2cXZMOC9mZmZWYThh
NDl2VzFWVGdFUHJpQmtXTVdvWlVRYzcrcjcvK0N2UG56dzhyVnF4SXI4T1dXMjdwdTJKRlJNM04K
eHVhdktYck1xN1o5K1gvSk5YbnlaTjhCV2JSbzBSaDU5ZENtejl1azNhQ2ljVWJrNHlBdm9rcVdj
bnhWL3J3czdpRUFBUWhBQUFJUQo2QStCb1JRUU5mZkVFMDhNMDZkUEQ0ODg4b2dyQVFtQkpoTXkw
enJubkhOU1ZIR1ZyZndWVjF3UnJybm1HamVUV3JKa1Nmajk5OStMCjk3Lzk5bHVRNmRZZGQ5d1JG
aTVjR0Q3NjZLUGluVmFDNzdubm5uRGtrVWQ2bkV4VWJyMzExcUFKNU9MRmk4TzExMTdycThWNUdp
WDgKL3Z2dnc5VlhYeDJPTys2NGNNZ2hoNFJWcTFZVlpkYlZWeVRLYnJRVGMvZmRkNGY3NzcvZnpk
QSsrZVFUZi92ZWUrK0ZlZlBtdVF4UApQdmxrMkdlZmZjTCsrKzhmdnZycXF5SjNtN3BlZU9HRk1H
WEtsR0xsV3labTJ0a1JreFNVNXRGSEgzVW1VcnhTR0ZWN2x5NWRHaVpOCm11VDkrUFBQUHdjcGxY
bysrZVNUd3hkZmZPSFZpY014eHh6amltaTVmeDU4OEVFZkI2Kzg4a3E0NktLTGduYXJGS1Q4eU1S
bWp6MzIKQ05PbVRSdkR5Qk9zL3pPZS9IVnR6OHZXZlZWZk5yRWZqMXgxNDM3Tm1qVmh3WUlGNGFh
YmJncDMzbm1uTS83d3d3L0RMNy84NG1OVwp1MFlwVlBWNWVxL3J1KysrRzg0Ly8veHc4ODAzaHh0
dXVDRklrUkZyeGFkUXhXbVFMQys5OUZLNC92cnIvVGYwMm11dmhZTU9PaWdjCmV1aWg0WU1QUHZB
RmdIUFBQZGZydU91dXU3ejQ4amhRWkpYY2crSUg1YS9qTjh4dkw3V2JLd1FnQUFFSVFBQUNIU1Zn
Q2tSanNNbE0KdElsWXRNbTJ6TFdpVFU2TFBNdVdMWXMyR1lsbUR1WHZiSWVrZUhmc3NjZkdaNTk5
MXA5dDV5SWVkdGhoOGN3enp5emUyNjVLdE1tMgpQOXNCNmJqYmJydEZtL0Q2c3gwMGp6WUJqMmJ1
VmFSLzhjVVhvNWxlRmMvbE5LYWN4Tk5QUHoyYWlWWlVlVGJSaXphSmpqLzk5SlBuCnFhdXZLSFQ5
alpuZFJGTUtvaDEyOXhoVGZ1S2NPWFA4L3J2dnZvdjc3YmRmTktVajJpUXRmdjMxMTlFVWhuajU1
WmNYeGJTcFM1bFUKbDAxSWkveW5uSEpLdEYwbGY3WlYrR2lUd09MZFZWZGQ1ZTBiWlh0VitNRUhI
eHd2dmZUU29wN2pqejgrWG5MSkpjWHpHMis4RWMxTQp5Si9MN0JXNTExNTcrVmp3QlBabnhvd1o4
Y0FERDR3YVAzWVkzWGxkZHRsbDZmVUcxemI1bTlxZUYxN1hsMHBYeDE3djI4aWw5SFhqCjNpYnkw
WFlVbzUxM2ltYmE2R1AwODg4L1Y3WXhvYXJQeHlTeUIxTjY0eTY3N0JLblRwMGFiZmNwMnRrb1oy
N25TVHhwSGFkQnNxaXYKVE9udzhpU2ZLZEkrRHZmZGQxL3YyeDkvL0RIZWNzc3QwYzZFUlRPUGpP
VnhVQ1YzVlh3NXY0U3U0emZNYjg4YnpoOElRQUFDRUlBQQpCRHBMWU9nZEVPbFBGMXh3Z2EvWWFs
VTRCZTBBRERxYy90WmJiNFdWSzFmNlRvSFN5aHpISnJmaDlkZGY5OVZVN1V5OCtlYWI0ZFJUClQv
V2lkS2JqakRQT1NNVjZQZHB4TVhKRlhQbEdLL1I1R2xOUVBMM01nRlMvVm9OLytPR0hzSHo1Y3Q4
SnFhdXZYTGJrblQxN2RyQUoKdEwrU21jaW5uMzdxOXpwY3JWMFAxVzBLVmRoenp6M0RDU2VjRUQ3
NzdETi8zOVMyY2wxNjNtYWJiY2FZSzIyNzdiYkZzM1lrMXE1ZAo2N3lVMWhRZGIrY28yNnR5VGRr
SXBsRDZyb1dlVHpycHBLQlZjSnZFNnRGWDFaT3BYWm05SjdBL2NsYVFCL0hSN3RudXUrOGVkRFlr
CjkzS1dwMHYzdythdmEzc3FLMTNyK2xKcDZ0aW5Nb2FWcTJuY0gzSEVFYjViZHNBQkJ3UlRhTjJr
TVoxeFNuWHBXdFhuZVJyZG0zTGsKcGx0bm4zMTJPUHJvbzROTjN0MUpnN3lQYWJ6V2NSb2tpL3BL
emlEazRFSHlpWTBjUVh6enpUZmh4aHR2ZEpQSEs2Kzgwc2VmNHNyagpvRXJ1cXZoeS9pWitUYis5
TWgrZUlRQUJDRUFBQWhEb0hvRldDc2pXVzIvdFprR2FETXNVUWlaSE8rNjRvMDlLeWsyVFdZa21G
NXI4CnBXQTdJSDc3OGNjZmgvZmZmOThuWXZtWmtZa1RKNDZad0dyU1Y1NzRwYkxTTlU4ak14RXBD
bHR0dFpYL2svZXVkOTU1eDAyeGhxa3YKbGFtcnluMzQ0WWQ5SWlnekxIbmQrdlhYWDRza2ViMksz
SDc3N2QwMFNmZHQ2MUtldXFCRC8xS0d6anJyTERjLzA2UnppeTIyY0VWdQpWTzFWL1RMbGtjS1d6
bkhJNUV5bVZESmYwdmtmbVZOdHQ5MTJoYWhsQm5xaHVEemt6enBMSlBPYXVwQ25WN3I4T2M5ZjE5
Zmw4bFZHClhWK1cwdzk2enVYUSsvdzVsNnRwM0N1dkp2WDZiZFNGcWo0ZmxFZXlhRHlrSUhOQXlT
UXpyQ1pPZzJUSjI2WXlOYmJ6c01NT08vaWoKeG9xQzBxYzhWWEpYeFpmekQ4TXZyMC81ODkrZW5n
a1FnQUFFSUFBQkNIU2J3SVMyNHVuTWhpYmtEenp3Z0NzUU9vOHhLT2dNaEpscgorSVJUaW9XQ2Rn
eDAwRnlUV24zelFPL0xJVTFreXZIRFBLczhsYStWKzNJWVQzMlBQLzY0NytJODlkUlRRV2RRTkRr
YUpveW5ycVp5CjVmN1ZUTlRDUXc4OUZHUzdyNTJLVWJkWHlveDJMSjUvL3ZrZ3hWQzIvOXFaMHBr
VW5WRW91MFJ1a3ZtL2ZGL1g5a0gxanJjdkI1VlYKRjljMDd1dnlsdDhONnZNMCtTK25MVCtyMy9S
YmFNdXBYSTZlVlZiK3U4enZCNld2a3JzcVBpOWpsUHp5Y3JtSEFBUWdBQUVJUUtBNwpCSWJhQWRI
S2QvS2t0T3V1dTRhNWMrZTZLWlZNUEpLSlVybEpXb1hWaCsvMC9Za1V6Tjdielhsa2ZxTEp0RlpR
emY0OXZkN282OVNwClUzM0hRNnYxS2NpRVN6c1NiZXVUTzJBcFcvb3VRNzZMazhxdHU3YXRLNVdW
R0tmbmREVzc5eUIyVXZwa29pSnZZRklLUnRuZVZOZkYKRjEvczMzRjU0b2tuZ3AzWGNMT3NsMTkr
MlZmVGRiQy9LVFJOVGtlVnY2N3Q1VHFHNmNzcTlxbXNZZHZWTk81VGVVM1hxajV2eXFmMworazNK
dGEyZDZha2RJOE9VMVRaTmxkeFY4ZVh5UjhXdlhDN1BFSUFBQkNBQUFRaDBoOEJRQ29pK3hhRUpj
QXJKQmx5VDFSVFNlenZ3CjdWRTZLeUM3ZjVsQXBTQXZWNXBnbkhiYWFhN0VhSVUyZCt1cjh3RmFz
Wlhpb3FEVlVIbk5TdWRBOVAwUFRSUVZuMEtlNXNJTEwzUXYKV1BJeUpEa2swKzIzMys2dWZLVTBO
ZFdYeXRSVnlwWHEwdVJWOHNnRVM0cU5aTkUvdVFQT0o2MlNJOG5kdGk3VnA5MmgxYXRYZTduZgpm
dnR0K1BMTEwzMFNxWGVhVE1xRGtJSWRUZyt6WnMwSzJsVWFaWHU5Y1B0amgvajlleTh5NlpGNW5j
NjJhTlZkNTJuS2svQ2N2ZkpyCjF5Ujl6VnY4OVY3L1VsQmY1bDdRVW55NnRzbGYxL1pVWHJvMjlX
VWRlNVhSUnE2bWNhL3lkS2Ftam9QU1ZQVzUzZzBLU3ArQ3pDUGwKcmV6d3d3K3ZIU05LUDBnV096
QmVqR1dsMFhkUU5MWVZyNURPQktYeG40K0RLcm1yNGxWZW5uOFlmblcvUFpVbmVlV2xLNDFGeFJF
ZwpBQUVJUUFBQ0VPZ1FBWnRNMTRibm5uc3VtbXZRYUJQUWFHNWdpN1QyZ2Jsb0V4Ri90ak1DMFZi
SDNRdVc3VzVFK3hLNng1dXBrT2U5Cjk5NTdveDBBaithNk50cGtzQ2pEVEgyaTJXOUg1YkVQSFVZ
NzR4RE54V3hVdkUzR283bmc5VEp0NWQ4OS9OaWt5cC9OQlcrMENmb0cKYWVUdFNETGFCeFBkUzQv
WjJVZGJ2UitxdmlMUitoc3pFM05QUlRiUmQwOVE4Z0JsQjhPajJpMVBRVFlwZGE5ZDhpUmtaMktp
dkFTcAozcmZmZnR0THFHdGJ1UzQ5aTZHWlFNVzk5OTQ3WG5mZGRlNEJ6QTRFdXhjdU80c1I3ZEI3
TkRPaStPcXJyMGJibVlueUtxUXdxdlo2Cllldi9pSys1M2kyaXpNWHJtR2U5S1BlUDJOc0hCNTI3
UEduSlk1cVo3bmovMjVtZnFMR2dmallsTUpyYjVxTHMvS1p0L3JxMjUrWFcKOWFYa3JtT3ZjdHJL
VlRmdU5TN3NISTMvbmt5cHpNVWNjMS9YNTJNUzJvTThwTW1ybHZycHR0dHVpL0tnWmpzT1JiSXFU
b05rMFhpMgpIYnhvaDcyaktUTHVaVXVlNit5L0xQZCtaWWZKbzduTjltZjladVVGTHYrZHFxOEhq
ZFdxOWd3YVIzWDg1T1dyNmJkbml3WStEcDk1CjVwbUNBVGNRZ0FBRUlBQUJDSFNId0ZCZlF0OFlm
Y21hNnQrUmtCMjVQRWVWZzFaV3RWcXVRNnJhWWRCQjk0ME5XaUdWRnlCNXA5S3UKUng3YTFxZVZh
aDNVVmRBS2NCdHpyTFoxU1c3bFVYMTVYVnBwRmo5NUVsTDkrVUZ3eVRYSzlxbzhyU0RycS9jcGxK
OVQvS0NyZHJEVQpsK01OYmZQWHRiMHNRMTFmVnJGUFpiU1ZxMm5jcDNLcnJrMTludWViT1hPbWU3
L1NicDkyRXdZZGNHL0RLUys3N1gyVjNGWHhWZVZ2CkxEK1pkdzdpVUZVZjhSQ0FBQVFnQUFFSS9I
OEUvbk1GNVA5ckNqVkJZUE1ra0JTUSsrNjdiL01FUUtzaEFBRUlRQUFDRU5pa0NBeDEKQm1TVGFo
SENRbUF6SXFDZGhYUm1hRE5xTmsyRkFBUWdBQUVJUUdBVEpzQU95Q2JjZVlnT0FUdm5VQnkydHZO
RC9pMFhxRUFBQWhDQQpBQVFnQUlFdUUwQUI2WEx2SUJzRUlBQUJDRUFBQWhDQUFBUjZSZ0FUcko1
MUtNMkJBQVFnQUFFSVFBQUNFSUJBbHdtZ2dIUzVkNUFOCkFoQ0FBQVFnYlpOV0FnQUFBaU5KUkVG
VUFBRUlRQUFDUFNPQUF0S3pEcVU1RUlBQUJDQUFBUWhBQUFJUTZESUJGSkF1OXc2eVFRQUMKRUlB
QUJDQUFBUWhBb0djRVVFQjYxcUUwQndJUWdBQUVJQUFCQ0VBQUFsMG1nQUxTNWQ1Qk5naEFBQUlR
Z0FBRUlBQUJDUFNNQUFwSQp6enFVNWtBQUFoQ0FBQVFnQUFFSVFLRExCRkJBdXR3N3lBWUJDRUFB
QWhDQUFBUWdBSUdlRVVBQjZWbUgwaHdJUUFBQ0VJQUFCQ0FBCkFRaDBtUUFLU0pkN0I5a2dBQUVJ
UUFBQ0VJQUFCQ0RRTXdJb0lEM3JVSm9EQVFoQUFBSVFnQUFFSUFDQkxoTkFBZWx5N3lBYkJDQUEK
QVFoQUFBSVFnQUFFZWtZQUJhUm5IVXB6SUFBQkNFQUFBaENBQUFRZzBHVUNLQ0JkN2gxa2d3QUVJ
QUFCQ0VBQUFoQ0FRTThJb0lEMApyRU5wRGdRZ0FBRUlRQUFDRUlBQUJMcE1BQVdreTcyRGJCQ0FB
QVFnQUFFSVFBQUNFT2daQVJTUW5uVW96WUVBQkNBQUFRaEFBQUlRCmdFQ1hDYUNBZExsM2tBMENF
SUFBQkNBQUFRaEFBQUk5STRBQzByTU9wVGtRZ0FBRUlBQUJDRUFBQWhEb01nRVVrQzczRHJKQkFB
SVEKZ0FBRUlBQUJDRUNnWndSUVFIcldvVFFIQWhDQUFBUWdBQUVJUUFBQ1hTYUFBdExsM2tFMkNF
QUFBaENBQUFRZ0FBRUk5SXdBQ2tqUApPcFRtUUFBQ0VJQUFCQ0FBQVFoQW9Nc0VVRUM2M0R2SUJn
RUlRQUFDRUlBQUJDQUFnWjRSUUFIcFdZZlNIQWhBQUFJUWdBQUVJQUFCCkNIU1pBQXBJbDNzSDJT
QUFBUWhBQUFJUWdBQUVJTkF6QWlnZ1BldFFtZ01CQ0VBQUFoQ0FBQVFnQUlFdUUvZ1hpK0pTamdD
MlJ0Y0EKQUFBQVNVVk9SSzVDWUlJPQoKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLWNvbnRyb2wtY2hhcnMtdHJlYXRlZC1hcy1aV1Mt
ZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEg
YmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKCmlWQk9SdzBLR2dvQUFBQU5T
VWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBQzdtbERRMUJKUTBNZ1VISnZabWxzWlFBQWVB
R0YKVk05ckUwRVUvalp1cWRBaUNGcHJEcko0a0NKSldhdG9SZFEyL1JGaWF3emJIN1pGa0dRelNk
WnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApCLytBSG5yd1pDOUtoVnBGS042cktHS2hGeTN4elc1TXRx
WHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FCT1FOeDFLaUVXbHNmRUpxCi9JZ0FqcUlKUVRRbFZk
dnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdkN0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4Q2xr
U0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9VNTVlTUcxRHlzOXhGa2lmRUExTGM1L1RiaFR6U1hUUUlO
SU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNiSQpFTDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVPczk0
K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBPYkVoajBjR0RYMCtHQVZ0eHFwCitEWENGRjhRVFNl
aVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZQnpXa2hQMTB4dStMcUhCWDBtMXhPdjRuZFdVZUY1
anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5YURVaFFFRVVFWVppd1VFQ0dQQm94TkxKeVB5T3JCaHVU
ZXpKMUpHcTdkR0pFc1VGN050dzl0MUdrM1R6KwpLQ0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5MXl3
MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhqamMwMWVmSlhVZHBOWFI1YXNlWHE4Cm11d2FQK3hY
bHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1YalZmUHFTNFIxV2pFMzM1OXNmenM5NGk3UExyWFdj
NjJKaXpkV201ZG4KL1dwSSsrNnF2SlBtVmZsUFh2WHgvR2ZOeEdQaUtURW1kb3JuSVltWHhTN3hr
dGhMcXd2aVlHM0hDSjJWaGluU2JaSDZKTlZnWUpxOAo5UzlkUDF0NHZVWi9EUFZSbEJuTTBsU0o5
My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVmS0FJdmJPREltYnB0VTNIdkVLRmxwVzV6CnJnSVh2
OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhndkFFY2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVPNjZj
cGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pWV0xwZHRpWjB4MXVIS0U1UXZmRXAwcGxrL3F2OFJHdy9i
QlMrZm1zVXRsK1RocldnWmY2YjhDOC9VWEFlSXVKQUFBZwpBRWxFUVZSNEFlM2RDOVF0ZFYwLy9p
OWVLRlFVUWdXbGZtaGdrUmg0aWJLc3lES0NTakVsdTFDYUZwaWFSbW9aclRKeHBhVlpocWx4CjhV
SlpoaWFSWmlxaUppb1FpT1phRWdZVTZzSk1CQlFWNDZLdy8vT1pQL09zWWZQWmUvYnpQT2R6UEFk
ZWU2MXo5dDZmbWYyWm1kZk0KdnJ6M3pKNW5oMWwzYVM0RUNCQWdRSUFBQVFJRUNCRFlDZ0ozMkFy
VE1Ba0NCQWdRSUVDQUFBRUNCQWowQWdLSURZRUFBUUlFQ0JBZwpRSUFBZ2EwbUlJQnNOV29USWtD
QUFBRUNCQWdRSUVCQUFMRU5FQ0JBZ0FBQkFnUUlFQ0N3MVFRRWtLMUdiVUlFQ0JBZ1FJQUFBUUlF
CkNBZ2d0Z0VDQkFnUUlFQ0FBQUVDQkxhYWdBQ3kxYWhOaUFBQkFnUUlFQ0JBZ0FBQkFjUTJRSUFB
QVFJRUNCQWdRSURBVmhNUVFMWWEKdFFrUklFQ0FBQUVDQkFnUUlMQkZBOGcxMTF6VExydnNzb1dx
VjExMVZidmtra3NXRHQ4ZUJrd3Q0N2EwREpYZU45NTRZL3ZQLy96UApEUzF1R1A3UC8velB3c2RP
emZmOHRLZkdYemloYldUQTlkZGYzODQrKyt3TnpjMzJ0RDF1YUFFOWFHV0IrZWZGeWcvY3dJamIw
clE4CkI5YS9BcWRlTTZmVzc5WXkzMXJUV2IvZ3R2MkkrZmVVcWZXOU5aZW1lcDNPTC92OHNrMXQy
MU9Qbis4M2RmL2FhNjl0bi9yVXA2WkcKV3ppODJtdmhoTGZDZ01rQTh0TS8vZE50MTExM2JZY2Nj
a2g3d2hPZTBPNTR4enUyKzkvLy91M3d3dzl2UC9pRFA5amYvNXUvK1p2Mgp4amUrc2UyKysrN3RE
Vzk0dzhMWmZ2N3puOThlKzlqSExoeStyUTlZWlJrM3Vnei85RS8vMUI3NjBJZTJIWGJZb1QzODRR
OXZiMy83CjI5ZGF4UWY5c0k5aFQzdmEwOXJuUHZlNXRXSExibFI1Zi9qREgyNFBmdkNEMjFGSEhi
VnM4dW13RTA0NG9lMjIyMjd0SC83aEg5TGgKVVZ3MjM5bTBsNDIvY0NMYnlJQnp6ejIzZmMvM2ZF
OTczT01ldCs0NXF0d2UxejB6SHZBTkZjaWVGMVV6dEMxTnkzTmdZMnQ1Mld2bQoxUHJkclBtVy9F
eXhzYVcvYlQ4cWUwOVp0cjYzcHNabXQ1MnBlYzJXZmZ5WXFXMTc2dkhqWHF2Y2Z0T2IzdFR1ZTkv
N3RqLy84ejlmClpmUmJqVlB0ZGFzSmJ1WENaQUQ1MnRlKzFqNzYwWSsyZDczclhlM05iMzV6MjNI
SEhkdVAvTWlQdExlODVTM3RReC82VVB2VFAvM1QKZHQxMTE3VmYvTVZmYkh2dHRkZlMyWC9oQzEv
WTRvUDJlaStSU1AvMVgvOTF2USs3eGZnYjdURiszQ3JMZUl1Snp0MFo5NW9iMUFlegpYLy8xWCsv
THozcldzMXE4U0ErWGZmZmR0dzk0c1NILzFWLzlWZHRqanoyR1FVdXZOK3E5dEdrMzhNQUREK3kz
Z1R2ZitjNVRvOTVxCitGT2YrdFErME41cXdLaXdiTDZ6YVM4YmY5UzI1T2F5ZGJyS0JML3YrNzZ2
L2Nxdi9Nb3FvOTVxbk0xdWo3ZHF1SW5DWmgwMk1lbHQKNXFIZlNJUHNlVkVGc3kxTmExdDZEbFI1
Vi9SZDlwcVpyZC94dHIxWjh5MzVtYUxDWmlNOXh6N1o0NmVHWjQvWmFDMTdUMW0ydmpjNgpuWTA4
YnJQYnp0UTBzMlVmUHliYnRzZkRweDQvSG5lVjJ6LzNjei9YOXR0dnYxVkdYUnRudksxVWU2MU45
QnQwWXpLQVBQdlp6KzczCmVDeWF2L2hBT1FESEI5TDRsbjdSSmI3NWZzQURIbkNyd2JQWjdGYTFv
UkF2VnIvOHk3L2NQdmpCRHc2bGxhN0hQWmYxR0k4MzN6aDcKM05ReURqMisvdld2RHpmNzY2elhM
VWJvN3NTZXByZ00xLzJkbS8rNzA1M3UxTzkxR05lbWJpL3lubnJjc3VFMzNYUlRQemptNXc1Mwpt
Tng4MGxaVGhvdm1lOUcwRjQyZlRud0xGbGRacDZ0TUxrTDlzdWZOc2g1VGxzTmo1N2ZIb2I3b2Vq
M2pieW1IbUpkbHo4Znh2SzVuCi9zYVBxN3E5SlEzV080K0xuaGZyN2JQSytPdWQxbWJXMDZyVHFu
b09yT0t4dlk2ejZEVXpNOCsyN1ZYTk01OHQrWmtpNjcrMWE1blAKZUI2bWhvL0gzVkszNTk5VEZx
M3Z6VXh2MWRmcStmRTJzKzJzTXIvenl6NDhKdHUyaDJIajYwV1BINCt6bnR2ZjlFM2Z0UEw3ZTdh
dApWSHV0WjFtMjlMaDNtbXI0RXoveEUwdEh1ZXRkNzlvZThZaEhySTBUS3psMjk1MTg4c250N25l
L2Uvdm5mLzduUHNEODcvLytiMzk0CjFtbW5uZGJPT2VlY2Z2ellQZldGTDN5aGZmbkxYMjV2ZmV0
YjArUGcvK0l2L3FLOTdXMXZhLy8xWC8vVi92dS8vN3U5K3RXdmJuRk0KM0V0ZThwTDJrWTk4cEwv
OXFsZTlxajlzS1pwbVBiTWVjWWpUUnFZZDAxaTBqREhzdmU5OWJ6di8vUFA3RFM2V0tRNDVldENE
SHRTeQplUWk3OVZ6R0gvaGpqMUQwL3Radi9kYjJYZC8xWGUzRkwzNXhpdzMxbmU5ODUwTHZPQmJ4
ai83b2ovcjFFbnUxNHR1QTV6NzN1ZjBzCmhPbnYvdTd2dG5peWhQUC8rMy8vcnpmZWFhZWQrdUgv
OTMvLzE0OGJlMTgrKzluUHR2LzRqLzlvMy96TjM3dzIrNWRmZnZuQ2RiSTIKMHVqRzBDOE8yWXRs
K051Ly9kdCtPYkx0WkJnM20zWTIvbWd5L2MyTkx2ZVU4Znc2alVQUzRuREVlOTNyWGkzY1l2aS8v
TXUvdEFjKwo4SUZMYmVmbmQvNytzdm1QY1RleVBjYjZqKzFuZmw2LzhwV3ZwTnR2VEdmUmZNdzdM
SHVPTHBydUp6LzV5Y25uWTh6RG91ZlhvcjZ4ClYzYlJhMFgwR3k1VDZ6ckdXL1ljeVF6R3orLzF6
dDhxODdQc2VSSHp1K2c1dWQ1NWlWNVQwNHB4eHBkRjYybExMTmQ0T3NQdGpUd0gKNGozZzEzN3Qx
OXEzZmR1M3RiLy8rNzl2Kyt5elR6dnZ2UFBhei83c3o3YVRUanFwSFh6d3dRc05oK2tPMS9HYUdI
dXR2Ly83djcvdAp2UFBPL1RIZkgvLzR4L3RETCtJOWRMM3JZajJ2R2YvNGovL1k0b3ZBT0NUNjlh
OS9mWCtVd1cvLzltLzNYMWpGSHZOWXJqZ0VKTjU3Cnp6ampqUGJGTDM3eFZ1L0Z5OVp2dG0zSGNp
OHpIMXl5NnkzMW1TSjZMM0tkbis0cTI5MmlYdkU1NDVoamp1bC90eGlmTldMOVB1VXAKVDJrUnBK
NzBwQ2ROdnJmUCs4WHkvK1p2L3ViSzZ5dmVaNWU5OXN3djYvejkrZmZJelZoRTcrd3oxdncwcDha
YnR1MHNXOWFZZHJqSApaNVZuUHZPWjdaUlRUbWwvK0lkLzJCNzV5RWUyNDQ4L1BwdU5kYjkyelRk
Wk5qOHg3dFR3Y2I5Ly8vZC83dzlkLytFZi91SCtpL1U0CmxIMThtZDlXNHIwMExzdThGbTIzNDc3
YjdPMHVuYTdyMGowWlp0MGhJK2xqOXQ5Ly85a0JCeHd3ZTg5NzNqUHJmb3crNnc0ZG1uVXYKOFAy
NG4vLzg1MmZkSVVhemU5N3pudjM5THVuTnVtUGYxL3I4MW0vOTFxejdjZERhL2ZHTis5M3ZmclB1
QTNaZjZyNVJteDE2NktHegpMclQwNDNjdnZMUHVROVNzZTFHZExlczU3ckZzdlBGMDQvYjRjWEYv
MlRKMnU4NW1lKzY1NSt4OTczdGZqRHA3d1F0ZU1Idjg0eC9mCjM0Ny81bnV0RGJqNVJuZUlXK3dL
bXIzakhlK1lIOVRmNzk3ZzF1cmQ3MEJtMy9FZDM5RWJkeUZ2MXYzSWFmYWQzL21kc3lPUFBMSWYK
Wjk0N2l0M3ZlR1pkK091SGR5R3BuMWIzNHRyZjc1NFFzKzdEYzMvN2hodHVtSDN2OTM3dmJEeTlu
L3FwbjVwMVQvWitlS3luN25DdwoyWS8vK0kvMzk1ZXRrMzZFdWYrNndESHI5cHJOdW1EWlc0WEx0
My83dC9mckw1dnZaZFBPeHArYjNJYVhlOG80cGpOZXAySGI3YjJhCmRTOHFzKzRReFZsc214ZGZm
UEZzeXZZVnIzakZyQXRYODdPOWRuL1pldHZvOXBqTjZ3VVhYTEIwKzEwMkgyT0haZHRETnQwTEw3
eHcKcGRlQ1pjK3ZyTzhuUHZHSmhhOFZhN2czMzFobFhVK3R4N0hCZlAvMXp0OHE4N1BzZWJIZWRU
Qmx0V3hhODh1NmJEMXRkcm5tcHhYMwpOL29jaU1mRysxTzNWejV1OXBkNGIvaUZYL2lGL3ZZeXc1
dEhYN3ZxdmlDYmRjZHI5L2ZqOVRIZTI3ckRPZnIzcUdWOXN1MWlsZGVNCnRRbmZmS1A3L2VDcysx
QzhWdTRPazU0OStjbFBYcnZmZlJFeTY4Skpmejk3elp4YXYvUGI5akx6dFltdWVHT2pueW1XdWM1
UGVtcTcKbStvVm4ybml2Ym43Z3E5L2YrNEMzUzBtTWU5emk0SGRuZm5oNjFsZjBXdnF0V2QrZXVQ
M2xQbjF2Um1MVlQ4N0xSdHZhdHVaV3RiNApqUFdpRjcxb2JaRzdMd3BtM1pjR2EvZkh5eDdGcVcx
NzdZRTMzNWgvL05UOFRBMy8wUi85MFZsM1dIM2Z2UXRKczcvKzY3K2VuK1F0CjdzOXZLOHU4cHJi
Yld6VGVCdTlzN0JpYUpYRXF2Z1g2c1IvN3NmNWI3VWlsdzVtUzRwdlc3Lzd1NzE0N3hPTHFxNjl1
SC92WXgxcjMKWWJ2djFuMXdYaHVXdFI4T1VZbmZvWFNPL1NGWjhidVUrOXpuUHUyS0s2NW9IL2pB
QjlwVXo2SEgxSGp6MHg4ZU45UVhMV1BzZ1lnZgpFM2NockI4MWRudDJiK3pEdy9ycitWNjNHTGlP
Ty9HRC83MzMzcnMzamZtSmIzcTdEYjFkZE5GRmZaZDU3eTRVdFVqZmNZeGpYQjcyCnNJZjEzeGpF
NDhJeGZzL3o4ei8vOC8yd1dJNzRoaWUrSWV6ZUlOdS8vZHUvOWV0cCtPWXE5c1Q4NUUvK1pEOXUv
TGRzbmF5Tk5IZmoKaVU5OFludjBveC9kZjNQeEozL3lKKzNTU3k5dDNZdDgvNDM4ZUR1Wm12Yjhj
czVOcG0xbXVhZU1oMmtONnpST0hoQy8xNGs5VWwzdwo3SDFqYjlJeTI2SEhvdXRsOHo4OFppUGJZ
emF2OGEzcm91MTNsZmtZSEpadEQ5bDBZeDJ1OGxxdzdQbVY5WTN0ZmRGcnhXQTNYRSt0CjY2bm55
TkJuTUJqdUQ5ZnJuYitwK1psNlhxeDNIU3l6bXByV3NJekQ5YkwxdE5ubEdxWXhmNzJSNTBEMCtJ
M2YrSTMrekl6eDQ5UzQKeEd0UTdBR0p5ekxEZm9UUmYvRSs5SmpIUEthdnZPWTFyK2wvTnhuZlhz
WnI1YkkrMlhheGtkZU1MbXkwMDA4L3ZmK21OR2JpVVk5NgpWSC8wUWZjQnBaK244WExOdjJhdXVu
N250KzFGNXYwRXQrQi9pNmF6ekhWKzhsUGIzVlN2K0V3VHgvUC8zdS85WHIvM0tINm5PWCtaCjkx
azJmRDNyYTlYWG52bnBEZmZuMS9kbUxGYjk3RFExM3FKMXVzcXl4dEVGWSt1NzNPVXV0N2cvTEhk
Y3I3cHRqeDh6dmowMVAxUEQKeDcxaUQwMThKb3pQUGxPWDhmTEZ1SXU4cHJiYnFlbDhvNGR2OFFB
eWhvdmZNc1R1cWVFU3c0YmgzWjZRL3NOT2ZBaDl4ak9lMGJyVQoxNTlSYXhoMy9ucDRYSHdnanBV
WXgrbkZ2emo4SzNZcnh3ZnFxWjVEajZueEZrMTdxQTk5NHY1NEdhUGVwZWMrQ01WaEgyZWVlV2FM
ClExckdsL0ZqeC9XTjNJNWU0MzZ4YXpoT0NEQmN4c01qb1AzQUQvekFMY2FQM2ZaaEdZY2R4SXRV
ZkhBWUx0MGVrUDVtZkRCNS8vdmYKMzMrdzNtV1hYWWJCN1c1M3U5dGFyMlhyWk8wQmN6ZnVjWTk3
ckZYaVRUZ3V3eW1heC9NOU5lMTQzSGo4dUQrK2JHYTVvODk4NzNuagpZWnhobXZIaUdKYkRaY3Ay
R0cvUjliTDVIeDRUOHpoYzFyTTl6czlyOUZtMC9hNW5QcWEyaC9ucHJ2cDhYRFovc2Z6emZhZm1Z
ekFiCnJwZXQ2MVhYNDNoZERIMkg2L1hPMzdMNW1YcGVUQzM3ZXVabGFsckQ4ZzNYVSt0cE04czFU
R1ArZXV5K251ZEFmRmtVN3gxeENHaGMKNGtOODk0MXBmM3ZLc0IvcDV2L2lRMUFjY2hlbk80M0Rk
WjcrOUtmM1p6V013Vk45NXRmRnF0dmFlUHJkWHB2K2k3amh0NUxkM3N6MgoxYTkrdFQ5a01kNFQ0
aENPOFNHQjQzV3c2dm9kRzhlMHgvZkg1dVA1MmhLM0YwMW55blYrMnVObGptSGoxL0pWZXIzc1pT
OXIzZDZwCmZudUpzNEhPWDhiek9UOHM3bytIcjJkOWJXUjdtSi8rL0xMUDMxL1ZZdFhYNnFueHho
YmpiV2RMTE90NDJWZmR0c2VQR2QrZW1wK3AKNFVPditLSzkyMnZUaGk5eGgvcWk2N0ZQakRPK1Av
WmFaYnRkTkkxdG9UNzVHNURLbVl4VGpNV1puWTQ3N3JqK0c2TjQ4WS9malN5NwpYSG5sbFMxK0FC
M2Y4R1NYVlh1dU9sNDJqV1cxT0s0K3Z2RiszZXRlMStLYnNOaEFWNzNFN3k3aUVzdVlYYklYdld5
OHJCYkhDY2FiClVuYUo0MzlqbWhFV0kxakVKZlpDaEhPOGlYM21NNTlKNTJsNFVreXRrMnlhNDFy
c2hZa1h3UGczZjVtYTl2ejQ4L2Mzczl6enZUWnkKZjhwMnF1ZXkrWjk2YkF4ZjcvYTRhUHoxek1k
R3RvZFZuNCtMNWkrejJNaDhaSDJpdHRuMW1QWGR6UHhOUFMvVzIzdlorRlBUeXBadApQZXRwL1Bp
TlRHdjgrT3oyMUx6RTN0NWpqejIyLzMxY0hHOGZYMnpGWlpsSk5wMm94VGZrOFVWTy9OWnV1S3kz
ejBhMnRmZ2lLYjRsCi9idS8rN3NXWHhURnFiMWo3MHNjSS8rbEwzMXA2ZW52Szh5SFphKzhYcS9y
c25sWnBWZXMxL2h5NmFVdmZXbjcxVi85MWQ1NVdjOWwKdzlhenZqYXlQU3liOXRTd0tZdFZYNnRY
SFc4OFAxdDZXVGU3YlUvTno5VHdZZGwrNklkK3FQOUMrdWlqajI2dmZlMXJoL0ttcjZmVwoxYVlu
VU54Z2krOEJXWFYrdStNUVczZHNZbnY1eTEvZUh3SVVQOWlMRjh0RmwrSEQ3djI3djBFU2V6ekcz
L1RIWVJhUmRLZDZEajJtCnhwdWZoK0Z4OC9YNSs5Mng3UDAzWC9GTnlYaHZ3bmk4WmIzaVEzK0Vq
T0d3dGZIalB2M3BUL2MvREIvWDFuTTdQdVRISG9iWXZUOWMKd2kzMmNNUmhRL0hIZVliREVHSjRy
SnZZZlIrSEUwVklqTVBjNHR1ZjdMSnNuV1RqejlmaUI1eXhwK2doRDNuSS9LREphZC9xQVhPRgp6
U3ozWEt1RmQ1ZXQweW5iaFUxdkhyQnMvcWNldThyMk9PNnhiUHhWNW1Od1dPLzJzT3J6Y2RuOGpa
ZGp1TDNlK1JnZWwxMnZ1aDRICmc2ekhmRzB6ODdlbG41UEw1bVZxV3ZQTHRkNzFOSDc4ZXFjMWZt
eDJlNVY1aVZOZHhvbFE0a2V0UC9NelA3UFdacG5KMmtpakcvSDYKR1Y4Nnhldi9zSWMzUGlDc3Q4
K3EyOXBvMHYzTk9KMTMvSDJsK0FGOS9MZytEdk9KSDU3SDRWY0hIWFRRL09ocjkxYzFYOCsydmRh
OAo4TVo2WFpmTnlpcTkvdUFQL3FBL0ZEa2M0dmI4WmNwbmZ2aXE2MnVqMjhQOC9LMTZmNW5GcXEv
VnE0NDNQMCtyTG12czBWdmxzdXEyCnZhalgxUHhNRFIvNnhwZXJjY0tkN3ZjZjdkUlRUeDNLQzYv
bnQ1VkZJeTViVjRzZXN5M1YxeFZBWXFWM1AxRHV6MWFUTFVTa3dmZzMKWE9Lc09mRnZ1TVN3dUI4
ZmZHTlhkWnpSSUM1eHRwSEREanRzN2R2M1lmemhPcjdSaVNRYmwvaVdKNzZOamNPSDRtd2U4VUU1
em5FZApwL2RkMW5QY0kzNXZzSkZweC9TV0xXUDgzaU9NNGswdlB0REhJVmdSbEdKNTQ5OTRIcUxY
L0NWMjQzYy9hT3IveGtxOGNRMlg2Qm03CjczN3BsMzVwS1BYWHNTN0dUOFNZdDVqdWNCbDd4L0dy
OGUxZXZDbkZmTWEvMy9tZDMrblBBQlBIUE1lWnFDTFlEWmM0azFjOHVlSVAKVU1aalkyL0krQ3dU
RVpKaUhtTjZSeHh4eE1KMU12U2J2eDdQWi95K0lQNUE1ZkRibWZuNVhqYnQ2RHNlZjM0Nm0xbnU2
RFZsUEw5TwpJN1NOdC9rcDIyRWEzWS8yNW1lOXY3OXMvbU9FV1BiNE4xekd6N21wN1hGK1hwZU5I
MzhJYzlIMkU5TWVPeXg3anNhNDg5TmQ5cnlOCjhZZkxzdm1MNTlkODMvVnVsOHZXOVNycmNXeVFQ
Yi9YTzMvTDVtZXp6OG4xek12VXRJYjFNMXhQcmFmTkxOY3dqZkgxWnA0RDBTZlcKVy96MktmNEky
WERvYWRUWHMvM0U2M0FjU2h6ZmRBNnYwN0ZOeGdlT3FUN3o2MktWYlMzbWIvN1NuWnlsUDR0aGZJ
a1ZBU2grRXhoSApGTVR2VStZLzBJeGZNMWRadi9QYjlqTHptSy80V3daeFpzYmhmWHQrWG9mNzRS
YmJRNXlSTXJzc204NlU2M3kvWmR2ZFZLODQxajgrClk4UVhjbkY0ZFp4ZExMNjhHeTd6UGtOOXVN
NkdyN3ErTnJJOXhMS08zMVBHNnp2bWFhTVdxNzVXTHh0djJUcGRaVm5qaTlwNHJzWXkKeEplWDhh
VnFURys0akpkOWxXMTdlTnh3UFg3ODFQeE1EWStlOGZ5TzE0STRCRDdPM2hWN3o3SXZtWWZwejI4
cnk3eW10dHVoNXpaNwozY0dzZElrejVNUlpmYm9GbVhVdmJyTS8rN00vbTNXN2R0Y2VHMmY5Nlhi
NXpyb2ZzczY2Sithc085WGpySHV5enJvUGovM1pqcm9OClp0YWRvckIvZkxmWG94K24reEgxck5z
OVB1dE9WenZyanBudHo0SzAxbkIwbzl1dFBldGVRUHV6ZkhUaFk5WTkrV2ZkNldMN1dyZEwKZE5a
OXk5T1BIZk80cU9lNFJ4Y01GbzQzbW14L2MveTRidGZaMG1Yc0RsZnF6NERVSGNiVW40RWt6anpT
aFlwWjk0WTBpelBEakh2RgpjbVNYT0x0WDk3dVkvc3dzY1ZhVDdrMXQxbjA0bjNYaDRCYWp4ekow
RzJwL05xcnVPTUJaOXlQZVdYZTZ4ZDdsM2U5KzkyemVPNllmClR1RVY2N0Q3Um52V0hTcTIxalBX
VjZ5NzdnOUw5bWY1Nkg2UVB1cytTS3dONzNidHo3b1UzNi9UN3NOb1A0L2RFMm9XOWJnc1dpZHIK
RFVZM3V0UG16Ym9Ya1ZuMzQvUFpILy94SDgrNlV4TDJaeldMVWJMNVhqYnRiUHpScFBxYkcxM3VL
ZU5vUGw2bjNZOU9aOTF4MXJQdQpEWC9XQmR5MTJWaG1HL1BmSFlQZXI1TjRmS3luK2N1aStaOTZ6
aTNiSHVOTUhQUHp1bXo4cWUxbjdMRHNPUnJyY242Nnk1NjNZNHRsCjg1Y3RUengyMWUxeWxYVzli
RDNHdE9ZTm9qWmNzdVdPWVl2bWI1WDVXZmE4V05aN3ZmTVN2YWFtRmVNTWwyWHJxZnMyZnVuclZ2
UlkKejdRMjh4d1lQOWU2MHdiM3IwWERNZ3pYaTliUE1IeTQ3dlk2OU0vaDdnUEJyRHVjYTlaOVF6
N3J2bFRycjJPY1JYMFdyWXVwYlcyWQo3dngxZDFyMVdaeVJhN2pFZkl6dlJ6MTd6Wnd5SDIvYlUr
K0RNWTN1UzdqKy9UbWVsNHN1bS8xTUVYMFh1YzVQYzVYbjA2SmUzUmRrCi9Wa0s0ejAyTHJGc1hj
aWJkZDgrOTVaUkcvdGs3KzJMaHEreXZxTC9lcmFIK2ZlVWVKOGZmL1phNVRtNHlHTFYxK3BGNDAw
OVgxZFoKMW5pdWRvZXc5V2ZPN0U0MzNaOWR0VHRKUUg5R3pmbGxqK2Y0MUxZZDB4d3UyZU9uN0pj
TjcvWkl6dUx6WUh3dVBmdnNzMmRkV09vLwpFOFpuaEZlKzhwWERaRzl4UGQ1V1ZubXVMVnBYdDJp
NmpkN1pJZWJyRzVHTzRwdVBPRVkxenBZUWh5dU5meUNYelU5ODJ4NC9iQm91CmtWSzdVLzMyWjMr
S2I4ampNdFZ6NkRFMTNqQ040WHA0M0hCLzZqcStoWTRmRnNZbHZvVVlINDYxYXE5NFhCenlGTjll
ZmN1M2ZNdlUKSkZjZUhxczc5aHJGbVREbUx6RXMvdDVLckpjNHc5YjhKZlpheERlN3NSNWl6MDU4
SXo2K1pPdGtQSHorZHV5bWpWN0QrcHNmUHI0LwpOZTN4dU5udHpTeDMxbTljVzJXZFR0bU8rMlcz
bDgxL052NjR0bXg3SEk4MzNGNDIvckw1bUhkWWRYdFk3L054MmZ3Tnl6QytYblUrCnhvOVpkSHRx
UGM0YkxPb3pybTltL3FhZUYrdnR2V3o4cVdtTmx5bHVyM2M5alIrLzNtbU5INXZkWG1WZXVnOHIv
UjZFK2Njdk01a2YKZDluOTlmYVoydGF5YWMwdncvejk3REZEYmNwOHZkdDJITFk3UGlISE1KMHRm
YjFlMTJYVDMweXZLWjlzK1B6Nm1iOC9udGVOYkEvagp4Ni8zZG1heDZtdjFxdU10bXFlcFpZMTVp
KzAxUG1mTmY4YktlazV0MjlsanhyV3ArWmthUHU2MXl1MXNXMW4ydUd4ZExSdC9XeG4yCkRRc2cy
d3FBK1NCQWdBQUJBZ1FJRUNCQVlPc0pyT3MzSUZ0dnRreUpBQUVDQkFnUUlFQ0FBSUhib29BQWNs
dGNxNWFKQUFFQ0JBZ1EKSUVDQXdEWXFJSUJzb3l2R2JCRWdRSUFBQVFJRUNCQzRMUW9JSUxmRnRX
cVpDQkFnUUlBQUFRSUVDR3lqQWdMSU5ycGl6QllCQWdRSQpFQ0JBZ0FDQjI2S0FBSEpiWEt1V2lR
QUJBZ1FJRUNCQWdNQTJLaUNBYktNcnhtd1JJRUNBQUFFQ0JBZ1F1QzBLckN1QXhCOWJ5Uzd4CnAr
WmRDQkFnUUlBQUFRSUVDQkFnTUNYdy8vOEo4WW14M3ZTbU43VXZmT0VMN2N0Zi9uSjc2MXZmMnJv
L0tkOC80cjN2Zlc4Ny8venoKMnc0NzdORFhUempoaFBhZ0J6Mm8vMnZhSjU1NFlvdGc4c2hIUHJJ
OS8vblBiM2U4NHgzYlgvN2xYN2J1ejlLM1k0ODl0cDExMWxudAptYzk4WnV2KzdIemY2L0xMTDI4
dmVjbEwya2MrOHBGMnpUWFh0RmU5NmxYdDRROS8rTVNjR1V5QUFBRUNCQWdRSUVDQXdQWWtNQmxB
CklrUzg3R1V2YXgvKzhJZjc1WXFnY05OTk4vWGg0a2xQZWxKN3d4dmUwSWVNYTYrOXRyM2dCUzlv
YjNuTFcvcEE4cDczdktkZGZmWFYKN1JHUGVFUWZXR0xjSno3eGllMHBUM2xLaTZBU1llVDNmLy8z
MjlPZTlyUjI5N3ZmdlQzNXlVOXVFWFR1ZXRlN3RxYy8vZW50TVk5NQpUTHY0NG92YkxydnNzajE1
bWxjQ0JBZ1FJRUNBQUFFQ0JKWUlUQjZDRlNIaVl4LzdXSHZITzk3UnR6bnl5Q05iSElwMTV6dmZ1
VDN1CmNZOXJCeHh3UUYvZmJiZmQyaWMrOFluKzl0NTc3OTBlL09BSHQvMzIyNjg5L3ZHUGJ6dnR0
Rk43N0dNZjJ6Nzk2VSszWTQ0NXBzVzQKUng5OWROOG5hbTkrODV2NzJ4Lzg0QWZidTk3MXJuYWYr
OXluWFhIRkZlMERIL2pBa2xrM2lBQUJBZ1FJRUNCQWdBQ0I3VTFnTW9EYwo4NTczN0lQR294Lzk2
UGFNWnp5ajNlOSs5K3NQcDRyRHJsN3hpbGYwZXpuaTBLa3p6enl6ZmVVclgxbGIvaGcrdnV5ODg4
N2p1LzFlCmp5aEUwRGpubkhQNlVMTGpqanUyK0JkN1RjNDQ0NHoyc0ljOTdCYVBjWWNBQVFJRUNC
QWdRSUFBZ2UxYllQSVFyRmk4Tjc3eGplMisKOTcxdk8rNjQ0OXBIUC9yUmR2cnBwL2NCSWc2bCt0
Q0hQdFJlOTdyWHRkZTg1alh0dlBQT1c2aHhoenZjb1Q4MGF4aGhIRkN1dlBMSwpkcWM3M2FrOTZs
R1BHZ2E3SmtDQUFBRUNCQWdRSUVEZ05pZ3d1UWZrYzUvN1hQdjg1ei9mWHY3eWwvZUhSMzM4NHg5
dnA1eHlTcnZ3CndndjczMnJFNzBQaWNLek5YTzUvLy92M2V6eXV1KzY2dFRaeG1OZjczLy8rdGZ0
dUVDQkFnQUFCQWdRSUVDQ3cvUXRNQnBDcnJycXEKLzNGNExPckJCeC9jRGp2c3NQNU1WdkY3ai9n
eGVnU1JHMis4c1Q4RUt3SkVCSWY0OTdXdmZhMnZEMFRYWDM5OWZ6L3FjUmxPM1JzOQpqamppaUJZ
L2JuL3FVNS9hdnZqRkwvYUI1NFV2ZkdGN3dBTWUwSThiajMzeGkxL2NQdk9aei9UMy9VZUFBQUVD
QkFnUUlFQ0F3UFlwCk1CbEFZckZlK2NwWHRqaXQ3dHZlOXJiK3JGUlBlTUlUMnFHSEh0ci8wRHpP
VmhVL1RJOHpYTVhwYytNNkRzdUtVL1RHNFZxeEYrTlQKbi9wVWUvM3JYOThIa0JlOTZFWHRTMS82
VW52cFMxL2FpOFhoVy9lNHh6M2FxMS85Nmo3b3hBL1U0MVMrOGVQMlBmZmNzeC9uMGtzdgo3YytZ
OWI3M3ZhKy83ejhDQkFnUUlFQ0FBQUVDQkxaUGdSMjZ2Ulg1WHhlOGVYbGlEMFg4ZmlQT2hoV0hX
c1ZwY3NlWE9QMXVuT1VxCkxyRjNZek9IWTkxd3d3M3Rzc3N1YTN2dHRWZi9tNUR4ZE9MSDZ2ZTYx
NzNHSmJjSkVDQkFnQUFCQWdRSUVOak9CQ1lEeUhhMlBHYVgKQUFFQ0JBZ1FJRUNBQUlGdFdHQ2xR
N0MyNGZrM2F3UUlFQ0JBZ0FBQkFnUUliRWNDQXNoMnRMTE1LZ0VDQkFnUUlFQ0FBSUh0WFVBQQoy
ZDdYb1BrblFJQUFBUUlFQ0JBZ3NCMEpDQ0RiMGNveXF3UUlFQ0JBZ0FBQkFnUzJkNEd5QUJKL0g4
U0ZBQUVDQkFnUUlFQ0FBQUVDClk0R1NBQkovNStPZ2d3NXF4eDU3N0hoYWJoTWdRSUFBQVFJRUNC
QWdjRHNYS0FrZzhZY0ZZdy9JWnovNzJmYTg1ejN2ZGs1czhRa1EKSUVDQUFBRUNCQWdRR0FUSy93
N0lCUmRjME81OTczdjMvNGFKdWlaQWdBQUJBZ1FJRUNCQTRQWXBzRklBT2ZQTU05dnBwNS9lcnJ6
eQp5bmJKSlplMDQ0NDdydTIvLy82OVdQd2w5R09PT2FiL1Mrbm5uWGRlTy9yb285dFJSeDExKzlT
MDFBUUlFQ0JBZ0FBQkFnUUlMQldZCkRDQTMzSEJEMjJlZmZkcXBwNTdhRGp6d3dIYjQ0WWUzcjM3
MXErMmQ3M3huMy9pSUk0NW96M25PYzlwREgvclE5dmEzdjcwZGR0aGgKL2FGWHUrKysrOUlKRzBp
QUFBRUNCQWdRSUVDQXdPMVBZUEkzSUYvLyt0ZmJmdnZ0MXg3NHdBZjJPZ2NjY0VBZk1PTE9Kei81
eVhiVwpXV2YxZTBiZS9lNTN0NXR1dXFuL2Q5cHBwOTMrSkMweEFRSUVDQkFnUUlBQUFRS1RBbmVh
R3VNdWQ3bEx2N2Zqb29zdWFpZWZmSEk3Ci8venoyL1hYWDk4L0xIN2ZzZU9PTzdhZGQ5NjV2eC9Y
WjU5OXR0OTdUS0VhVG9BQUFRSUVDQkFnUU9CMktqQVpRTUxsK09PUDc0UEYKQ1NlYzBOOCs4Y1FU
ZTY2cnI3NjZYWHJwcFczZmZmZHR1KzY2NisyVTBHSVRJRUNBQUFFQ0JBZ1FJTENxd0V5d1JIa0FB
Q0FBU1VSQgpWT1FoV09lZWUyNTc5ck9mM1NKMDdMVFRUbjNmMld6V1grKzExMTd0eGh0dmJHZWNj
Y2JhOU9KKy9CYkVoUUFCQWdRSUVDQkFnQUFCCkF2TUNrM3RBTHJ2c3N2NlFxeXV1dUtMZDdXNTNh
K2VjYzA2NzdycnIydVdYWDk0ZThwQ0h0TDMzM3JzOTk3blBiZkczUCtMMlNTZWQKMUo3MXJHZk5U
OGQ5QWdRSUVDQkFnQUFCQWdRSXRNazlJSWNlZW1qL0kvUTQ3ZTZSUng3WkRqNzQ0QmFoNUxXdmZX
My8yNDlUVGptbAo3YkRERHUyUVF3N3BEOFhhWTQ4OTJwNTc3b21XQUFFQ0JBZ1FJRUNBQUFFQ3R4
S1lQQTN2OElpcnJycXE3YmJiYnYzZGE2NjVwdDhiCk1neUxzMTlkZlBIRkxjTEhMcnZzTXBSZEV5
QkFnQUFCQWdRSUVDQkE0QllDS3dlUVd6ektIUUlFQ0JBZ1FJQUFBUUlFQ0d4QVlQSVEKckEzMDlC
QUNCQWdRSUVDQUFBRUNCQWlrQWdKSXlxSklnQUFCQWdRSUVDQkFnRUNGZ0FCU29hb25BUUlFQ0JB
Z1FJQUFBUUtwZ0FDUwpzaWdTSUVDQUFBRUNCQWdRSUZBaFVCWkFMcnp3d29yNTFaTUFBUUlFQ0JB
Z1FJQUFnZTFZb0NTQWZPbExYMm9ISFhSUU8vYllZN2RqCkdyTk9nQUFCQWdRSUVDQkFnTUNXRmln
SklQRlgwV01QeUdjLys5bjJ2T2M5YjB2UHMzNEVDQkFnUUlBQUFRSUVDR3luQXVWL0IrU0MKQ3k1
bzk3NzN2ZnQvMjZtUjJTWkFnQUFCQWdRSUVDQkFZQXNKckJSQXpqenp6SGI2NmFlM0s2KzhzbDF5
eVNYdHVPT09hL3Z2djM4LwpDOWRlZTIwNzVwaGoydFZYWDkzT08rKzhkdlRSUjdlampqcHFDODJl
TmdRSUVDQkFnQUFCQWdRSTNKWUVKZ1BJRFRmYzBQYlpaNTkyCjZxbW50Z01QUExBZGZ2amg3YXRm
L1dwNzV6dmYyVHNjY2NRUjdUblBlVTU3NkVNZjJ0Nys5cmUzd3c0N3JELzBhdmZkZDc4dE9Wa1cK
QWdRSUVDQkFnQUFCQWdTMmdNRGtiMEMrL3ZXdnQvMzIyNjg5OElFUDdDZDN3QUVIOUFFajduenlr
NTlzWjUxMVZyOW41TjN2Zm5lNwo2YWFiK24rbm5YYmFGcGcxTFFnUUlFQ0FBQUVDQkFnUXVLMEoz
R2xxZ2U1eWw3djBlenN1dXVpaWR2TEpKN2Z6enorL1hYLzk5ZjNECjR2Y2RPKzY0WTl0NTU1Mzcr
M0Y5OXRsbis3M0hGS3JoQkFnUUlFQ0FBQUVDQkc2bkFwTUJKRnlPUC83NFBsaWNjTUlKL2UwVFR6
eXgKNTRyZmZWeDY2YVZ0MzMzM2JidnV1dXZ0bE5CaUV5QkFnQUFCQWdRSUVDQ3dxc0RrSVZqbm5u
dHVlL2F6bjkwaWRPeTAwMDU5MzlscwoxbC92dGRkZTdjWWJiMnhubkhIRzJ2VGlmdndXeElVQUFR
SUVDQkFnUUlBQUFRTHpBcE43UUM2NzdMTCtrS3NycnJpaTNlMXVkMnZuCm5ITk91KzY2NjlybGwx
L2VIdktRaDdTOTk5NjdQZmU1ejIzeHR6L2k5a2tubmRTZTlheG56VS9IZlFJRUNCQWdRSUFBQVFJ
RUNMVEoKUFNDSEhucG8veVAwT08zdWtVY2UyUTQrK09BV29lUzFyMzF0Lzl1UFUwNDVwZTJ3d3c3
dGtFTU82US9GMm1PUFBkcWVlKzZKbGdBQgpBZ1FJRUNCQWdBQUJBcmNTbUR3TjcvQ0lxNjY2cXUy
MjIyNzkzV3V1dWFiZkd6SU1pN05mWFh6eHhTM0N4eTY3N0RLVVhSTWdRSUFBCkFRSUVDQkFnUU9B
V0Fpc0hrRnM4eWgwQ0JBZ1FJRUNBQUFFQ0JBaHNRR0R5RUt3TjlQUVFBZ1FJRUNCQWdBQUJBZ1FJ
cEFJQ1NNcWkKU0lBQUFRSUVDQkFnUUlCQWhZQUFVcUdxSndFQ0JBZ1FJRUNBQUFFQ3FZQUFrcklv
RWlCQWdBQUJBZ1FJRUNCUUlTQ0FWS2pxU1lBQQpBUUlFQ0JBZ1FJQkFLaUNBcEN5S0JBZ1FJRUNB
QUFFQ0JBaFVDQWdnRmFwNkVpQkFnQUFCQWdRSUVDQ1FDZ2dnS1lzaUFRSUVDQkFnClFJQUFBUUlW
QWdKSWhhcWVCQWdRSUVDQUFBRUNCQWlrQWdKSXlxSklnQUFCQWdRSUVDQkFnRUNGZ0FCU29hb25B
UUlFQ0JBZ1FJQUEKQVFLcGdBQ1NzaWdTSUVDQUFBRUNCQWdRSUZBaElJQlVxT3BKZ0FBQkFnUUlF
Q0JBZ0VBcUlJQ2tMSW9FQ0JBZ1FJQUFBUUlFQ0ZRSQpDQ0FWcW5vU0lFQ0FBQUVDQkFnUUlKQUtD
Q0FwaXlJQkFnUUlFQ0JBZ0FBQkFoVUNBa2lGcXA0RUNCQWdRSUFBQVFJRUNLUUNBa2pLCm9raUFB
QUVDQkFnUUlFQ0FRSVdBQUZLaHFpY0JBZ1FJRUNCQWdBQUJBcW1BQUpLeUtCSWdRSUFBQVFJRUNC
QWdVQ0VnZ0ZTbzZrbUEKQUFFQ0JBZ1FJRUNBUUNvZ2dLUXNpZ1FJRUNCQWdBQUJBZ1FJVkFnSUlC
V3FlaElnUUlBQUFRSUVDQkFna0FvSUlDbUxJZ0VDQkFnUQpJRUNBQUFFQ0ZRSUNTSVdxbmdRSUVD
QkFnQUFCQWdRSXBBSUNTTXFpU0lBQUFRSUVDQkFnUUlCQWhZQUFVcUdxSndFQ0JBZ1FJRUNBCkFB
RUNxWUFBa3JJb0VpQkFnQUFCQWdRSUVDQlFJU0NBVktqcVNZQUFBUUlFQ0JBZ1FJQkFLaUNBcEN5
S0JBZ1FJRUNBQUFFQ0JBaFUKQ0FnZ0ZhcDZFaUJBZ0FBQkFnUUlFQ0NRQ2dnZ0tZc2lBUUlFQ0JB
Z1FJQUFBUUlWQWdKSWhhcWVCQWdRSUVDQUFBRUNCQWlrQWdKSQp5cUpJZ0FBQkFnUUlFQ0JBZ0VD
RmdBQlNvYW9uQVFJRUNCQWdRSUFBQVFLcGdBQ1NzaWdTSUVDQUFBRUNCQWdRSUZBaElJQlVxT3BK
CmdBQUJBZ1FJRUNCQWdFQXFJSUNrTElvRUNCQWdRSUFBQVFJRUNGUUlDQ0FWcW5vU0lFQ0FBQUVD
QkFnUUlKQUtDQ0FwaXlJQkFnUUkKRUNCQWdBQUJBaFVDQWtpRnFwNEVDQkFnUUlBQUFRSUVDS1FD
QWtqS29raUFBQUVDQkFnUUlFQ0FRSVdBQUZLaHFpY0JBZ1FJRUNCQQpnQUFCQXFtQUFKS3lLQkln
UUlBQUFRSUVDQkFnVUNFZ2dGU282a21BQUFFQ0JBZ1FJRUNBUUNvZ2dLUXNpZ1FJRUNCQWdBQUJB
Z1FJClZBZ0lJQldxZWhJZ1FJQUFBUUlFQ0JBZ2tBb0lJQ21MSWdFQ0JBZ1FJRUNBQUFFQ0ZRSUNT
SVdxbmdRSUVDQkFnQUFCQWdRSXBBSUMKU01xaVNJQUFBUUlFQ0JBZ1FJQkFoWUFBVXFHcUp3RUNC
QWdRSUVDQUFBRUNxWUFBa3JJb0VpQkFnQUFCQWdRSUVDQlFJU0NBVktqcQpTWUFBQVFJRUNCQWdR
SUJBS2lDQXBDeUtCQWdRSUVDQUFBRUNCQWhVQ0FnZ0ZhcDZFaUJBZ0FBQkFnUUlFQ0NRQ2dnZ0tZ
c2lBUUlFCkNCQWdRSUFBQVFJVkFnSkloYXFlQkFnUUlFQ0FBQUVDQkFpa0FnSkl5cUpJZ0FBQkFn
UUlFQ0JBZ0VDRmdBQlNvYW9uQVFJRUNCQWcKUUlBQUFRS3BnQUNTc2lnU0lFQ0FBQUVDQkFnUUlG
QWhJSUJVcU9wSmdBQUJBZ1FJRUNCQWdFQXFJSUNrTElvRUNCQWdRSUFBQVFJRQpDRlFJQ0NBVnFu
b1NJRUNBQUFFQ0JBZ1FJSkFLQ0NBcGl5SUJBZ1FJRUNCQWdBQUJBaFVDQWtpRnFwNEVDQkFnUUlB
QUFRSUVDS1FDCkFraktva2lBQUFFQ0JBZ1FJRUNBUUlXQUFGS2hxaWNCQWdRSUVDQkFnQUFCQXFt
QUFKS3lLQklnUUlBQUFRSUVDQkFnVUNFZ2dGU28KNmttQUFBRUNCQWdRSUVDQVFDb2dnS1FzaWdR
SUVDQkFnQUFCQWdRSVZBZ0lJQldxZWhJZ1FJQUFBUUlFQ0JBZ2tBb0lJQ21MSWdFQwpCQWdRSUVD
QUFBRUNGUUlDU0lXcW5nUUlFQ0JBZ0FBQkFnUUlwQUlDU01xaVNJQUFBUUlFQ0JBZ1FJQkFoWUFB
VXFHcUp3RUNCQWdRCklFQ0FBQUVDcVlBQWtySW9FaUJBZ0FBQkFnUUlFQ0JRSVNDQVZLanFTWUFB
QVFJRUNCQWdRSUJBS2lDQXBDeUtCQWdRSUVDQUFBRUMKQkFoVUNBZ2dGYXA2RWlCQWdBQUJBZ1FJ
RUNDUUNnZ2dLWXNpQVFJRUNCQWdRSUFBQVFJVkFnSkloYXFlQkFnUUlFQ0FBQUVDQkFpawpBZ0pJ
eXFKSWdBQUJBZ1FJRUNCQWdFQ0ZnQUJTb2FvbkFRSUVDQkFnUUlBQUFRS3BnQUNTc2lnU0lFQ0FB
QUVDQkFnUUlGQWhJSUJVCnFPcEpnQUFCQWdRSUVDQkFnRUFxSUlDa0xJb0VDQkFnUUlBQUFRSUVD
RlFJQ0NBVnFub1NJRUNBQUFFQ0JBZ1FJSkFLQ0NBcGl5SUIKQWdRSUVDQkFnQUFCQWhVQ0FraUZx
cDRFQ0JBZ1FJQUFBUUlFQ0tRQ0Fraktva2lBQUFFQ0JBZ1FJRUNBUUlXQUFGS2hxaWNCQWdRSQpF
Q0JBZ0FBQkFxbUFBSkt5S0JJZ1FJQUFBUUlFQ0JBZ1VDRWdnRlNvNmttQUFBRUNCQWdRSUVDQVFD
b2dnS1FzaWdRSUVDQkFnQUFCCkFnUUlWQWdJSUJXcWVoSWdRSUFBQVFJRUNCQWdrQW9JSUNtTEln
RUNCQWdRSUVDQUFBRUNGUUlDU0lXcW5nUUlFQ0JBZ0FBQkFnUUkKcEFJQ1NNcWlTSUFBQVFJRUNC
QWdRSUJBaFlBQVVxR3FKd0VDQkFnUUlFQ0FBQUVDcVlBQWtySW9FaUJBZ0FBQkFnUUlFQ0JRSVND
QQpWS2pxU1lBQUFRSUVDQkFnUUlCQUtpQ0FwQ3lLQkFnUUlFQ0FBQUVDQkFoVUNBZ2dGYXA2RWlC
QWdBQUJBZ1FJRUNDUUNnZ2dLWXNpCkFRSUVDQkFnUUlBQUFRSVZBZ0pJaGFxZUJBZ1FJRUNBQUFF
Q0JBaWtBZ0pJeXFKSWdBQUJBZ1FJRUNCQWdFQ0ZnQUJTb2FvbkFRSUUKQ0JBZ1FJQUFBUUtwZ0FD
U3NpZ1NJRUNBQUFFQ0JBZ1FJRkFoSUlCVXFPcEpnQUFCQWdRSUVDQkFnRUFxSUlDa0xJb0VDQkFn
UUlBQQpBUUlFQ0ZRSUNDQVZxbm9TSUVDQUFBRUNCQWdRSUpBS0NDQXBpeUlCQWdRSUVDQkFnQUFC
QWhVQ0FraUZxcDRFQ0JBZ1FJQUFBUUlFCkNLUUNBa2pLb2tpQUFBRUNCQWdRSUVDQVFJV0FBRkto
cWljQkFnUUlFQ0JBZ0FBQkFxbUFBSkt5S0JJZ1FJQUFBUUlFQ0JBZ1VDRWcKZ0ZTbzZrbUFBQUVD
QkFnUUlFQ0FRQ29nZ0tRc2lnUUlFQ0JBZ0FBQkFnUUlWQWdJSUJXcWVoSWdRSUFBQVFJRUNCQWdr
QW9JSUNtTApJZ0VDQkFnUUlFQ0FBQUVDRlFJQ1NJV3FuZ1FJRUNCQWdBQUJBZ1FJcEFJQ1NNcWlT
SUFBQVFJRUNCQWdRSUJBaFlBQVVxR3FKd0VDCkJBZ1FJRUNBQUFFQ3FZQUFrcklvRWlCQWdBQUJB
Z1FJRUNCUUlTQ0FWS2pxU1lBQUFRSUVDQkFnUUlCQUtpQ0FwQ3lLQkFnUUlFQ0EKQUFFQ0JBaFVD
QWdnRmFwNkVpQkFnQUFCQWdRSUVDQ1FDZ2dnS1lzaUFRSUVDQkFnUUlBQUFRSVZBZ0pJaGFxZUJB
Z1FJRUNBQUFFQwpCQWlrQWdKSXlxSklnQUFCQWdRSUVDQkFnRUNGZ0FCU29hb25BUUlFQ0JBZ1FJ
QUFBUUtwZ0FDU3NpZ1NJRUNBQUFFQ0JBZ1FJRkFoCklJQlVxT3BKZ0FBQkFnUUlFQ0JBZ0VBcUlJ
Q2tMSW9FQ0JBZ1FJQUFBUUlFQ0ZRSUNDQVZxbm9TSUVDQUFBRUNCQWdRSUpBS0NDQXAKaXlJQkFn
UUlFQ0JBZ0FBQkFoVUNBa2lGcXA0RUNCQWdRSUFBQVFJRUNLUUNBa2pLb2tpQUFBRUNCQWdRSUVD
QVFJV0FBRktocWljQgpBZ1FJRUNCQWdBQUJBcW1BQUpLeUtCSWdRSUFBQVFJRUNCQWdVQ0VnZ0ZT
bzZrbUFBQUVDQkFnUUlFQ0FRQ29nZ0tRc2lnUUlFQ0JBCmdBQUJBZ1FJVkFnSUlCV3FlaElnUUlB
QUFRSUVDQkFna0FvSUlDbUxJZ0VDQkFnUUlFQ0FBQUVDRlFJQ1NJV3FuZ1FJRUNCQWdBQUIKQWdR
SXBBSUNTTXFpU0lBQUFRSUVDQkFnUUlCQWhZQUFVcUdxSndFQ0JBZ1FJRUNBQUFFQ3FZQUFrcklv
RWlCQWdBQUJBZ1FJRUNCUQpJU0NBVktqcVNZQUFBUUlFQ0JBZ1FJQkFLaUNBcEN5S0JBZ1FJRUNB
QUFFQ0JBaFVDQWdnRmFwNkVpQkFnQUFCQWdRSUVDQ1FDZ2dnCktZc2lBUUlFQ0JBZ1FJQUFBUUlW
QWdKSWhhcWVCQWdRSUVDQUFBRUNCQWlrQWdKSXlxSklnQUFCQWdRSUVDQkFnRUNGZ0FCU29hb24K
QVFJRUNCQWdRSUFBQVFLcGdBQ1NzaWdTSUVDQUFBRUNCQWdRSUZBaElJQlVxT3BKZ0FBQkFnUUlF
Q0JBZ0VBcUlJQ2tMSW9FQ0JBZwpRSUFBQVFJRUNGUUlDQ0FWcW5vU0lFQ0FBQUVDQkFnUUlKQUtD
Q0FwaXlJQkFnUUlFQ0JBZ0FBQkFoVUNBa2lGcXA0RUNCQWdRSUFBCkFRSUVDS1FDQWtqS29raUFB
QUVDQkFnUUlFQ0FRSVdBQUZLaHFpY0JBZ1FJRUNCQWdBQUJBcW1BQUpLeUtCSWdRSUFBQVFJRUNC
QWcKVUNFZ2dGU282a21BQUFFQ0JBZ1FJRUNBUUNvZ2dLUXNpZ1FJRUNCQWdBQUJBZ1FJVkFnSUlC
V3FlaElnUUlBQUFRSUVDQkFna0FvSQpJQ21MSWdFQ0JBZ1FJRUNBQUFFQ0ZRSUNTSVdxbmdRSUVD
QkFnQUFCQWdRSXBBSUNTTXFpU0lBQUFRSUVDQkFnUUlCQWhZQUFVcUdxCkp3RUNCQWdRSUVDQUFB
RUNxWUFBa3JJb0VpQkFnQUFCQWdRSUVDQlFJU0NBVktqcVNZQUFBUUlFQ0JBZ1FJQkFLaUNBcEN5
S0JBZ1EKSUVDQUFBRUNCQWhVQ0FnZ0ZhcDZFaUJBZ0FBQkFnUUlFQ0NRQ2dnZ0tZc2lBUUlFQ0JB
Z1FJQUFBUUlWQWdKSWhhcWVCQWdRSUVDQQpBQUVDQkFpa0FnSkl5cUpJZ0FBQkFnUUlFQ0JBZ0VD
RmdBQlNvYW9uQVFJRUNCQWdRSUFBQVFLcGdBQ1NzaWdTSUVDQUFBRUNCQWdRCklGQWhJSUJVcU9w
SmdBQUJBZ1FJRUNCQWdFQXFJSUNrTElvRUNCQWdRSUFBQVFJRUNGUUlDQ0FWcW5vU0lFQ0FBQUVD
QkFnUUlKQUsKQ0NBcGl5SUJBZ1FJRUNCQWdBQUJBaFVDQWtpRnFwNEVDQkFnUUlBQUFRSUVDS1FD
QWtqS29raUFBQUVDQkFnUUlFQ0FRSVdBQUZLaApxaWNCQWdRSUVDQkFnQUFCQXFtQUFKS3lLQkln
UUlBQUFRSUVDQkFnVUNFZ2dGU282a21BQUFFQ0JBZ1FJRUNBUUNvZ2dLUXNpZ1FJCkVDQkFnQUFC
QWdRSVZBZ0lJQldxZWhJZ1FJQUFBUUlFQ0JBZ2tBb0lJQ21MSWdFQ0JBZ1FJRUNBQUFFQ0ZRSUNT
SVdxbmdRSUVDQkEKZ0FBQkFnUUlwQUlDU01xaVNJQUFBUUlFQ0JBZ1FJQkFoWUFBVXFHcUp3RUNC
QWdRSUVDQUFBRUNxWUFBa3JJb0VpQkFnQUFCQWdRSQpFQ0JRSVNDQVZLanFTWUFBQVFJRUNCQWdR
SUJBS2lDQXBDeUtCQWdRSUVDQUFBRUNCQWhVQ0FnZ0ZhcDZFaUJBZ0FBQkFnUUlFQ0NRCkNnZ2dL
WXNpQVFJRUNCQWdRSUFBQVFJVkFnSkloYXFlQkFnUUlFQ0FBQUVDQkFpa0FnSkl5cUpJZ0FBQkFn
UUlFQ0JBZ0VDRmdBQlMKb2FvbkFRSUVDQkFnUUlBQUFRS3BnQUNTc2lnU0lFQ0FBQUVDQkFnUUlG
QWhJSUJVcU9wSmdBQUJBZ1FJRUNCQWdFQXFJSUNrTElvRQpDQkFnUUlBQUFRSUVDRlFJQ0NBVnFu
b1NJRUNBQUFFQ0JBZ1FJSkFLQ0NBcGl5SUJBZ1FJRUNCQWdBQUJBaFVDQWtpRnFwNEVDQkFnClFJ
QUFBUUlFQ0tRQ0Fraktva2lBQUFFQ0JBZ1FJRUNBUUlXQUFGS2hxaWNCQWdRSUVDQkFnQUFCQXFt
QUFKS3lLQklnUUlBQUFRSUUKQ0JBZ1VDRWdnRlNvNmttQUFBRUNCQWdRSUVDQVFDb2dnS1FzaWdR
SUVDQkFnQUFCQWdRSVZBZ0lJQldxZWhJZ1FJQUFBUUlFQ0JBZwprQW9JSUNtTElnRUNCQWdRSUVD
QUFBRUNGUUlDU0lXcW5nUUlFQ0JBZ0FBQkFnUUlwQUlDU01xaVNJQUFBUUlFQ0JBZ1FJQkFoWUFB
ClVxR3FKd0VDQkFnUUlFQ0FBQUVDcVlBQWtySW9FaUJBZ0FBQkFnUUlFQ0JRSVNDQVZLanFTWUFB
QVFJRUNCQWdRSUJBS2lDQXBDeUsKQkFnUUlFQ0FBQUVDQkFoVUNBZ2dGYXA2RWlCQWdBQUJBZ1FJ
RUNDUUNnZ2dLWXNpQVFJRUNCQWdRSUFBQVFJVkFnSkloYXFlQkFnUQpJRUNBQUFFQ0JBaWtBZ0pJ
eXFKSWdBQUJBZ1FJRUNCQWdFQ0ZnQUJTb2FvbkFRSUVDQkFnUUlBQUFRS3BnQUNTc2lnU0lFQ0FB
QUVDCkJBZ1FJRkFoSUlCVXFPcEpnQUFCQWdRSUVDQkFnRUFxSUlDa0xJb0VDQkFnUUlBQUFRSUVD
RlFJQ0NBVnFub1NJRUNBQUFFQ0JBZ1EKSUpBS0NDQXBpeUlCQWdRSUVDQkFnQUFCQWhVQ0FraUZx
cDRFQ0JBZ1FJQUFBUUlFQ0tRQ0Fraktva2lBQUFFQ0JBZ1FJRUNBUUlXQQpBRktocWljQkFnUUlF
Q0JBZ0FBQkFxbUFBSkt5S0JJZ1FJQUFBUUlFQ0JBZ1VDRWdnRlNvNmttQUFBRUNCQWdRSUVDQVFD
b2dnS1FzCmlnUUlFQ0JBZ0FBQkFnUUlWQWdJSUJXcWVoSWdRSUFBQVFJRUNCQWdrQW9JSUNtTEln
RUNCQWdRSUVDQUFBRUNGUUlDU0lXcW5nUUkKRUNCQWdBQUJBZ1FJcEFJQ1NNcWlTSUFBQVFJRUNC
QWdRSUJBaFlBQVVxR3FKd0VDQkFnUUlFQ0FBQUVDcVlBQWtySW9FaUJBZ0FBQgpBZ1FJRUNCUUlT
Q0FWS2pxU1lBQUFRSUVDQkFnUUlCQUtpQ0FwQ3lLQkFnUUlFQ0FBQUVDQkFoVUNBZ2dGYXA2RWlC
QWdBQUJBZ1FJCkVDQ1FDZ2dnS1lzaUFRSUVDQkFnUUlBQUFRSVZBZ0pJaGFxZUJBZ1FJRUNBQUFF
Q0JBaWtBZ0pJeXFKSWdBQUJBZ1FJRUNCQWdFQ0YKZ0FCU29hb25BUUlFQ0JBZ1FJQUFBUUtwZ0FD
U3NpZ1NJRUNBQUFFQ0JBZ1FJRkFoSUlCVXFPcEpnQUFCQWdRSUVDQkFnRUFxSUlDawpMSW9FQ0JB
Z1FJQUFBUUlFQ0ZRSUNDQVZxbm9TSUVDQUFBRUNCQWdRSUpBS0NDQXBpeUlCQWdRSUVDQkFnQUFC
QWhVQ0FraUZxcDRFCkNCQWdRSUFBQVFJRUNLUUNBa2pLb2tpQUFBRUNCQWdRSUVDQVFJV0FBRkto
cWljQkFnUUlFQ0JBZ0FBQkFxbUFBSkt5S0JJZ1FJQUEKQVFJRUNCQWdVQ0VnZ0ZTbzZrbUFBQUVD
QkFnUUlFQ0FRQ29nZ0tRc2lnUUlFQ0JBZ0FBQkFnUUlWQWdJSUJXcWVoSWdRSUFBQVFJRQpDQkFn
a0FvSUlDbUxJZ0VDQkFnUUlFQ0FBQUVDRlFJQ1NJV3FuZ1FJRUNCQWdBQUJBZ1FJcEFJQ1NNcWlT
SUFBQVFJRUNCQWdRSUJBCmhZQUFVcUdxSndFQ0JBZ1FJRUNBQUFFQ3FZQUFrcklvRWlCQWdBQUJB
Z1FJRUNCUUlTQ0FWS2pxU1lBQUFRSUVDQkFnUUlCQUtpQ0EKcEN5S0JBZ1FJRUNBQUFFQ0JBaFVD
QWdnRmFwNkVpQkFnQUFCQWdRSUVDQ1FDZ2dnS1lzaUFRSUVDQkFnUUlBQUFRSVZBZ0pJaGFxZQpC
QWdRSUVDQUFBRUNCQWlrQWdKSXlxSklnQUFCQWdRSUVDQkFnRUNGZ0FCU29hb25BUUlFQ0JBZ1FJ
QUFBUUtwZ0FDU3NpZ1NJRUNBCkFBRUNCQWdRSUZBaElJQlVxT3BKZ0FBQkFnUUlFQ0JBZ0VBcUlJ
Q2tMSW9FQ0JBZ1FJQUFBUUlFQ0ZRSUNDQVZxbm9TSUVDQUFBRUMKQkFnUUlKQUtDQ0FwaXlJQkFn
UUlFQ0JBZ0FBQkFoVUNBa2lGcXA0RUNCQWdRSUFBQVFJRUNLUUNBa2pLb2tpQUFBRUNCQWdRSUVD
QQpRSVdBQUZLaHFpY0JBZ1FJRUNCQWdBQUJBcW1BQUpLeUtCSWdRSUFBQVFJRUNCQWdVQ0VnZ0ZT
bzZrbUFBQUVDQkFnUUlFQ0FRQ29nCmdLUXNpZ1FJRUNCQWdBQUJBZ1FJVkFnSUlCV3FlaElnUUlB
QUFRSUVDQkFna0FvSUlDbUxJZ0VDQkFnUUlFQ0FBQUVDRlFJQ1NJV3EKbmdRSUVDQkFnQUFCQWdR
SXBBSUNTTXFpU0lBQUFRSUVDQkFnUUlCQWhZQUFVcUdxSndFQ0JBZ1FJRUNBQUFFQ3FZQUFrcklv
RWlCQQpnQUFCQWdRSUVDQlFJU0NBVktqcVNZQUFBUUlFQ0JBZ1FJQkFLaUNBcEN5S0JBZ1FJRUNB
QUFFQ0JBaFVDQWdnRmFwNkVpQkFnQUFCCkFnUUlFQ0NRQ2dnZ0tZc2lBUUlFQ0JBZ1FJQUFBUUlW
QWdKSWhhcWVCQWdRSUVDQUFBRUNCQWlrQWdKSXlxSklnQUFCQWdRSUVDQkEKZ0VDRmdBQlNvYW9u
QVFJRUNCQWdRSUFBQVFLcGdBQ1NzaWdTSUVDQUFBRUNCQWdRSUZBaElJQlVxT3BKZ0FBQkFnUUlF
Q0JBZ0VBcQpJSUNrTElvRUNCQWdRSUFBQVFJRUNGUUlDQ0FWcW5vU0lFQ0FBQUVDQkFnUUlKQUtD
Q0FwaXlJQkFnUUlFQ0JBZ0FBQkFoVUNBa2lGCnFwNEVDQkFnUUlBQUFRSUVDS1FDQWtqS29raUFB
QUVDQkFnUUlFQ0FRSVdBQUZLaHFpY0JBZ1FJRUNCQWdBQUJBcW1BQUpLeUtCSWcKUUlBQUFRSUVD
QkFnVUNFZ2dGU282a21BQUFFQ0JBZ1FJRUNBUUNvZ2dLUXNpZ1FJRUNCQWdBQUJBZ1FJVkFnSUlC
V3FlaElnUUlBQQpBUUlFQ0JBZ2tBb0lJQ21MSWdFQ0JBZ1FJRUNBQUFFQ0ZRSUNTSVdxbmdRSUVD
QkFnQUFCQWdRSXBBSUNTTXFpU0lBQUFRSUVDQkFnClFJQkFoWUFBVXFHcUp3RUNCQWdRSUVDQUFB
RUNxWUFBa3JJb0VpQkFnQUFCQWdRSUVDQlFJU0NBVktqcVNZQUFBUUlFQ0JBZ1FJQkEKS2lDQXBD
eUtCQWdRSUVDQUFBRUNCQWhVQ0FnZ0ZhcDZFaUJBZ0FBQkFnUUlFQ0NRQ2dnZ0tZc2lBUUlFQ0JB
Z1FJQUFBUUlWQWdKSQpoYXFlQkFnUUlFQ0FBQUVDQkFpa0FnSkl5cUpJZ0FBQkFnUUlFQ0JBZ0VD
RmdBQlNvYW9uQVFJRUNCQWdRSUFBQVFLcGdBQ1NzaWdTCklFQ0FBQUVDQkFnUUlGQWhJSUJVcU9w
SmdBQUJBZ1FJRUNCQWdFQXFJSUNrTElvRUNCQWdRSUFBQVFJRUNGUUlDQ0FWcW5vU0lFQ0EKQUFF
Q0JBZ1FJSkFLQ0NBcGl5SUJBZ1FJRUNCQWdBQUJBaFVDQWtpRnFwNEVDQkFnUUlBQUFRSUVDS1FD
QWtqS29raUFBQUVDQkFnUQpJRUNBUUlXQUFGS2hxaWNCQWdRSUVDQkFnQUFCQXFtQUFKS3lLQkln
UUlBQUFRSUVDQkFnVUNFZ2dGU282a21BQUFFQ0JBZ1FJRUNBClFDb2dnS1FzaWdRSUVDQkFnQUFC
QWdRSVZBZ0lJQldxZWhJZ1FJQUFBUUlFQ0JBZ2tBb0lJQ21MSWdFQ0JBZ1FJRUNBQUFFQ0ZRSUMK
U0lXcW5nUUlFQ0JBZ0FBQkFnUUlwQUlDU01xaVNJQUFBUUlFQ0JBZ1FJQkFoWUFBVXFHcUp3RUNC
QWdRSUVDQUFBRUNxWUFBa3JJbwpFaUJBZ0FBQkFnUUlFQ0JRSVNDQVZLanFTWUFBQVFJRUNCQWdR
SUJBS2lDQXBDeUtCQWdRSUVDQUFBRUNCQWhVQ0FnZ0ZhcDZFaUJBCmdBQUJBZ1FJRUNDUUNnZ2dL
WXNpQVFJRUNCQWdRSUFBQVFJVkFnSkloYXFlQkFnUUlFQ0FBQUVDQkFpa0FnSkl5cUpJZ0FBQkFn
UUkKRUNCQWdFQ0ZnQUJTb2FvbkFRSUVDQkFnUUlBQUFRS3BnQUNTc2lnU0lFQ0FBQUVDQkFnUUlG
QWhJSUJVcU9wSmdBQUJBZ1FJRUNCQQpnRUFxSUlDa0xJb0VDQkFnUUlBQUFRSUVDRlFJQ0NBVnFu
b1NJRUNBQUFFQ0JBZ1FJSkFLQ0NBcGl5SUJBZ1FJRUNCQWdBQUJBaFVDCkFraUZxcDRFQ0JBZ1FJ
QUFBUUlFQ0tRQ0Fraktva2lBQUFFQ0JBZ1FJRUNBUUlXQUFGS2hxaWNCQWdRSUVDQkFnQUFCQXFt
QUFKS3kKS0JJZ1FJQUFBUUlFQ0JBZ1VDRWdnRlNvNmttQUFBRUNCQWdRSUVDQVFDb2dnS1FzaWdR
SUVDQkFnQUFCQWdRSVZBZ0lJQldxZWhJZwpRSUFBQVFJRUNCQWdrQW9JSUNtTElnRUNCQWdRSUVD
QUFBRUNGUUlDU0lXcW5nUUlFQ0JBZ0FBQkFnUUlwQUlDU01xaVNJQUFBUUlFCkNCQWdRSUJBaFlB
QVVxR3FKd0VDQkFnUUlFQ0FBQUVDcVlBQWtySW9FaUJBZ0FBQkFnUUlFQ0JRSVNDQVZLanFTWUFB
QVFJRUNCQWcKUUlCQUtpQ0FwQ3lLQkFnUUlFQ0FBQUVDQkFoVUNBZ2dGYXA2RWlCQWdBQUJBZ1FJ
RUNDUUNnZ2dLWXNpQVFJRUNCQWdRSUFBQVFJVgpBZ0pJaGFxZUJBZ1FJRUNBQUFFQ0JBaWtBZ0pJ
eXFKSWdBQUJBZ1FJRUNCQWdFQ0ZnQUJTb2FvbkFRSUVDQkFnUUlBQUFRS3BnQUNTCnNpZ1NJRUNB
QUFFQ0JBZ1FJRkFoSUlCVXFPcEpnQUFCQWdRSUVDQkFnRUFxSUlDa0xJb0VDQkFnUUlBQUFRSUVD
RlFJQ0NBVnFub1MKSUVDQUFBRUNCQWdRSUpBS0NDQXBpeUlCQWdRSUVDQkFnQUFCQWhVQ0FraUZx
cDRFQ0JBZ1FJQUFBUUlFQ0tRQ0Fraktva2lBQUFFQwpCQWdRSUVDQVFJV0FBRktocWljQkFnUUlF
Q0JBZ0FBQkFxbUFBSkt5S0JJZ1FJQUFBUUlFQ0JBZ1VDRWdnRlNvNmttQUFBRUNCQWdRCklFQ0FR
Q29nZ0tRc2lnUUlFQ0JBZ0FBQkFnUUlWQWdJSUJXcWVoSWdRSUFBQVFJRUNCQWdrQW9JSUNtTEln
RUNCQWdRSUVDQUFBRUMKRlFJQ1NJV3FuZ1FJRUNCQWdBQUJBZ1FJcEFJQ1NNcWlTSUFBQVFJRUNC
QWdRSUJBaFlBQVVxR3FKd0VDQkFnUUlFQ0FBQUVDcVlBQQprcklvRWlCQWdBQUJBZ1FJRUNCUUlT
Q0FWS2pxU1lBQUFRSUVDQkFnUUlCQUtpQ0FwQ3lLQkFnUUlFQ0FBQUVDQkFoVUNBZ2dGYXA2CkVp
QkFnQUFCQWdRSUVDQ1FDZ2dnS1lzaUFRSUVDQkFnUUlBQUFRSVZBZ0pJaGFxZUJBZ1FJRUNBQUFF
Q0JBaWtBZ0pJeXFKSWdBQUIKQWdRSUVDQkFnRUNGZ0FCU29hb25BUUlFQ0JBZ1FJQUFBUUtwZ0FD
U3NpZ1NJRUNBQUFFQ0JBZ1FTS3U5R0FBQUNOWkpSRUZVSUZBaApJSUJVcU9wSmdBQUJBZ1FJRUNC
QWdFQXFJSUNrTElvRUNCQWdRSUFBQVFJRUNGUUlDQ0FWcW5vU0lFQ0FBQUVDQkFnUUlKQUtDQ0Fw
Cml5SUJBZ1FJRUNCQWdBQUJBaFVDQWtpRnFwNEVDQkFnUUlBQUFRSUVDS1FDQWtqS29raUFBQUVD
QkFnUUlFQ0FRSVdBQUZLaHFpY0IKQWdRSUVDQkFnQUFCQXFtQUFKS3lLQklnUUlBQUFRSUVDQkFn
VUNFZ2dGU282a21BQUFFQ0JBZ1FJRUNBUUNvZ2dLUXNpZ1FJRUNCQQpnQUFCQWdRSVZBZ0lJQldx
ZWhJZ1FJQUFBUUlFQ0JBZ2tBb0lJQ21MSWdFQ0JBZ1FJRUNBQUFFQ0ZRSUNTSVdxbmdRSUVDQkFn
QUFCCkFnUUlwQUlDU01xaVNJQUFBUUlFQ0JBZ1FJQkFoWUFBVXFHcUp3RUNCQWdRSUVDQUFBRUNx
WUFBa3JJb0VpQkFnQUFCQWdRSUVDQlEKSVNDQVZLanFTWUFBQVFJRUNCQWdRSUJBS2lDQXBDeUtC
QWdRSUVDQUFBRUNCQWhVQ0FnZ0ZhcDZFaUJBZ0FBQkFnUUlFQ0NRQ2dnZwpLWXNpQVFJRUNCQWdR
SUFBQVFJVkFnSkloYXFlQkFnUUlFQ0FBQUVDQkFpa0FnSkl5cUpJZ0FBQkFnUUlFQ0JBZ0VDRmdB
QlNvYW9uCkFRSUVDQkFnUUlBQUFRS3BnQUNTc2lnU0lFQ0FBQUVDQkFnUUlGQWhJSUJVcU9wSmdB
QUJBZ1FJRUNCQWdFQXFJSUNrTElvRUNCQWcKUUlBQUFRSUVDRlFJQ0NBVnFub1NJRUNBQUFFQ0JB
Z1FJSkFLQ0NBcGl5SUJBZ1FJRUNCQWdBQUJBaFVDQWtpRnFwNEVDQkFnUUlBQQpBUUlFQ0tRQ0Fr
aktva2lBQUFFQ0JBZ1FJRUNBUUlXQUFGS2hxaWNCQWdRSUVDQkFnQUFCQXFtQUFKS3lLQklnUUlB
QUFRSUVDQkFnClVDRWdnRlNvNmttQUFBRUNCQWdRSUVDQVFDb2dnS1FzaWdRSUVDQkFnQUFCQWdR
SVZBZ0lJQldxZWhJZ1FJQUFBUUlFQ0JBZ2tBb0kKSUNtTElnRUNCQWdRSUVDQUFBRUNGUUlDU0lX
cW5nUUlFQ0JBZ0FBQkFnUUlwQUlDU01xaVNJQUFBUUlFQ0JBZ1FJQkFoWUFBVXFHcQpKd0VDQkFn
UUlFQ0FBQUVDcVlBQWtySW9FaUJBZ0FBQkFnUUlFQ0JRSVNDQVZLanFTWUFBQVFJRUNCQWdRSUJB
S2lDQXBDeUtCQWdRCklFQ0FBQUVDQkFoVUNBZ2dGYXA2RWlCQWdBQUJBZ1FJRUNDUUNnZ2dLWXNp
QVFJRUNCQWdRSUFBQVFJVkFnSkloYXFlQkFnUUlFQ0EKQUFFQ0JBaWtBZ0pJeXFKSWdBQUJBZ1FJ
RUNCQWdFQ0ZnQUJTb2FvbkFRSUVDQkFnUUlBQUFRS3BnQUNTc2lnU0lFQ0FBQUVDQkFnUQpJRkFo
SUlCVXFPcEpnQUFCQWdRSUVDQkFnRUFxSUlDa0xJb0VDQkFnUUlBQUFRSUVDRlFJQ0NBVnFub1NJ
RUNBQUFFQ0JBZ1FJSkFLCkNDQXBpeUlCQWdRSUVDQkFnQUFCQWhVQ0FraUZxcDRFQ0JBZ1FJQUFB
UUlFQ0tRQ0Fraktva2lBQUFFQ0JBZ1FJRUNBUUlXQUFGS2gKcWljQkFnUUlFQ0JBZ0FBQkFxbUFB
Skt5S0JJZ1FJQUFBUUlFQ0JBZ1VDRWdnRlNvNmttQUFBRUNCQWdRSUVDQVFDb2dnS1FzaWdRSQpF
Q0JBZ0FBQkFnUUlWQWdJSUJXcWVoSWdRSUFBQVFJRUNCQWdrQW9JSUNtTElnRUNCQWdRSUVDQUFB
RUNGUUlDU0lXcW5nUUlFQ0JBCmdBQUJBZ1FJcEFJQ1NNcWlTSUFBQVFJRUNCQWdRSUJBaFlBQVVx
R3FKd0VDQkFnUUlFQ0FBQUVDcVlBQWtySW9FaUJBZ0FBQkFnUUkKRUNCUUlTQ0FWS2pxU1lBQUFR
SUVDQkFnUUlCQUtpQ0FwQ3lLQkFnUUlFQ0FBQUVDQkFoVUNBZ2dGYXA2RWlCQWdBQUJBZ1FJRUND
UQpDZ2dnS1lzaUFRSUVDQkFnUUlBQUFRSVZBZ0pJaGFxZUJBZ1FJRUNBQUFFQ0JBaWtBZ0pJeXFK
SWdBQUJBZ1FJRUNCQWdFQ0ZnQUJTCm9hb25BUUlFQ0JBZ1FJQUFBUUtwZ0FDU3NpZ1NJRUNBQUFF
Q0JBZ1FJRkFoSUlCVXFPcEpnQUFCQWdRSUVDQkFnRUFxSUlDa0xJb0UKQ0JBZ1FJQUFBUUlFQ0ZR
SUNDQVZxbm9TSUVDQUFBRUNCQWdRSUpBS0NDQXBpeUlCQWdRSUVDQkFnQUFCQWhVQ0FraUZxcDRF
Q0JBZwpRSUFBQVFJRUNLUUNBa2pLb2tpQUFBRUNCQWdRSUVDQVFJV0FBRktocWljQkFnUUlFQ0JB
Z0FBQkFxbUFBSkt5S0JJZ1FJQUFBUUlFCkNCQWdVQ0VnZ0ZTbzZrbUFBQUVDQkFnUUlFQ0FRQ29n
Z0tRc2lnUUlFQ0JBZ0FBQkFnUUlWQWdJSUJXcWVoSWdRSUFBQVFJRUNCQWcKa0FvSUlDbUxJZ0VD
QkFnUUlFQ0FBQUVDRlFJQ1NJV3FuZ1FJRUNCQWdBQUJBZ1FJcEFJQ1NNcWlTSUFBQVFJRUNCQWdR
SUJBaFlBQQpVcUdxSndFQ0JBZ1FJRUNBQUFFQ3FZQUFrcklvRWlCQWdBQUJBZ1FJRUNCUUlTQ0FW
S2pxU1lBQUFRSUVDQkFnUUlCQUtpQ0FwQ3lLCkJBZ1FJRUNBQUFFQ0JBaFVDQWdnRmFwNkVpQkFn
QUFCQWdRSUVDQ1FDZ2dnS1lzaUFRSUVDQkFnUUlBQUFRSVZBZ0pJaGFxZUJBZ1EKSUVDQUFBRUNC
QWlrQWdKSXlxSklnQUFCQWdRSUVDQkFnRUNGZ0FCU29hb25BUUlFQ0JBZ1FJQUFBUUtwZ0FDU3Np
Z1NJRUNBQUFFQwpCQWdRSUZBaElJQlVxT3BKZ0FBQkFnUUlFQ0JBZ0VBcUlJQ2tMSW9FQ0JBZ1FJ
QUFBUUlFQ0ZRSUNDQVZxbm9TSUVDQUFBRUNCQWdRCklKQUtDQ0FwaXlJQkFnUUlFQ0JBZ0FBQkFo
VUNBa2lGcXA0RUNCQWdRSUFBQVFJRUNLUUNBa2pLb2tpQUFBRUNCQWdRSUVDQVFJV0EKQUZLaHFp
Y0JBZ1FJRUNCQWdBQUJBcW1BQUpLeUtCSWdRSUFBQVFJRUNCQWdVQ0VnZ0ZTbzZrbUFBQUVDQkFn
UUlFQ0FRQ29nZ0tRcwppZ1FJRUNCQWdBQUJBZ1FJVkFnSUlCV3FlaElnUUlBQUFRSUVDQkFna0Fv
SUlDbUxJZ0VDQkFnUUlFQ0FBQUVDRlFJQ1NJV3FuZ1FJCkVDQkFnQUFCQWdRSXBBSUNTTXFpU0lB
QUFRSUVDQkFnUUlCQWhZQUFVcUdxSndFQ0JBZ1FJRUNBQUFFQ3FZQUFrcklvRWlCQWdBQUIKQWdR
SUVDQlFJU0NBVktqcVNZQUFBUUlFQ0JBZ1FJQkFLaUNBcEN5S0JBZ1FJRUNBQUFFQ0JBaFVDQWdn
RmFwNkVpQkFnQUFCQWdRSQpFQ0NRQ2dnZ0tZc2lBUUlFQ0JBZ1FJQUFBUUlWQWdKSWhhcWVCQWdR
SUVDQUFBRUNCQWlrQWdKSXlxSklnQUFCQWdRSUVDQkFnRUNGCmdBQlNvYW9uQVFJRUNCQWdRSUFB
QVFLcGdBQ1NzaWdTSUVDQUFBRUNCQWdRSUZBaElJQlVxT3BKZ0FBQkFnUUlFQ0JBZ0VBcUlJQ2sK
TElvRUNCQWdRSUFBQVFJRUNGUUlDQ0FWcW5vU0lFQ0FBQUVDQkFnUUlKQUtDQ0FwaXlJQkFnUUlF
Q0JBZ0FBQkFoVUNBa2lGcXA0RQpDQkFnUUlBQUFRSUVDS1FDQWtqS29raUFBQUVDQkFnUUlFQ0FR
SVhBL3djRlYrK1BIOEQ0Z2dBQUFBQkpSVTVFcmtKZ2dnPT0KCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1ldXJvcGVhbi10ZXJtaW5h
dG9ycy1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQg
YXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwoKaVZCT1J3MEtHZ29B
QUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFDN21sRFExQkpRME1nVUhKdlptbHNa
UUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZr
R1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3WkM5S2hWcEZLTjZyS0dLaEZ5M3h6
VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54MUtpRVdsc2ZFSnEKL0lnQWpxSUpR
VFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4
ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5eEZraWZFQTFMYzUvVGJoVHpT
WFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBrS2E3ek82cllxR2NUdllPa0wyZDlI
NU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhqMGNHRFgwK0dBVnR4cXAKK0RYQ0ZG
OFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1K0xxSEJYMG0xeE92NG5k
V1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3VUVDR1BCb3hOTEp5UHlP
ckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktDSnhsRU8xQ0pMOFFmNHFyOGxQNVhu
NXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAxZWZKWFVkcE5YUjVhc2VYcTgKbXV3
YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQ
THJYV2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZYeC9HZk54R1BpS1RFbWRvcm5JWW1Y
eFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4CjlTOWRQMXQ0dlVaL0RQVlJsQm5N
MGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2Yk9ESW1icHRVM0h2RUtGbHBXNXoK
cmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3Nu
NU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4
Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFnCkFFbEVRVlI0QWV5ZEJiaGx0
ZFdHTTdqRDROS2l4U251RktkSWNSaGFXcXlVNG9WaUJYNW84ZUx1TUdncGxPTHVVclM0RmlrMk9C
U0sKRjVmOXJ6ZVFUVzVtMjduM1hKazVYNTduM3JNbE8vSW1PenNyYXlVWmxKbHpjaUlnQWlJZ0Fp
SWdBaUlnQWlJZ0FpTFFCd1JHNllNNApGSVVJaUlBSWlJQUlpSUFJaUlBSWlJQUllQUlTUUZRUlJF
QUVSRUFFUkVBRVJFQUVSRUFFK295QUJKQStRNjJJUkVBRVJFQUVSRUFFClJFQUVSRUFFSklDb0Rv
aUFDSWlBQ0lpQUNJaUFDSWlBQ1BRWkFRa2dmWVphRVltQUNJaUFDSWlBQ0lpQUNJaUFDRWdBVVIw
UUFSRVEKQVJFUUFSRVFBUkVRQVJIb013SVNRUG9NdFNJU0FSRVFBUkVRQVJFUUFSRVFBUkdRQUtJ
NklBSWlJQUlpSUFJaUlBSWlJQUlpMEdjRQpKSUQwR1dwRkpBSWlJQUlpSUFJaUlBSWlJQUlpMEZZ
QjVILy8rNTk3NVpWWFNxbSs4ODQ3N3Rsbm55MjlQNUJ2dlBYV1crNldXMjV4Cjc3Nzc3a0JPcHRJ
bUFpSWdBaUlnQWlJZ0FpSWdBZ09hUUswQXN0cHFxN25CZ3dlN2xWZGUyZjM4NXo5M280NDZxcHRo
aGhuY2tDRkQKM0U5KzhoTi8vcGUvL01XZGQ5NTVib29wcG5Ebm5ITk9hWWIzMm1zdnQ5WmFhNVhl
SDZnM1RqMzFWSGYrK2VlNzIyNjd6YzA1NTV6dQo4ODgvNzNGU3YvNzZhL2ZNTTgrNGl5KysyTDM4
OHNzOURxK1ZBTElzY3g5KytHSCtTRGovNUpOUHZKQjE3TEhIdXBkZWVpbS8zMWNICjMzenpqWStL
OUF3Yk5zeGRkZFZWN3RGSEgzWHBlVitscHpmaUlZL2s2YTkvL2F0Ny9QSEhleU9LMGpBRDMxSVAv
WFFqMUwreTZQdnoKWFVuVDFOL3ZTSnFlSnVkRjVjNUFFVnlMWEpGLy9MVzc3djduUC85eDExeHpq
ZU0zZHJ6N3RJdi8vZTkvNDh2NThWZGZmZVVlZWVRUgoveDdsRndzT2VQN09PKzhzdU5QNnBWYVps
UG12aTdtdjI3cXlkUGJuTzFlV3BqcDJ1bDlOb0xmcUZ1VlY5VTNyclhqajNMWWpqaWVlCmVNSmRl
T0dGSFRQSTNBNW1jUmwwNTdoV0FQbnl5eS9kUXc4OTVLNjc3anAzd1FVWHVESEdHTU10czh3eTdx
S0xMdktOKzJHSEhlWSsKKyt3ejk2dGYvY3BOTjkxMGxXblliNy85M0dXWFhWYnBwK2dtSGY1YmI3
MjE2RmJqYTkwTjQrT1BQM1k3N2JTVCs5M3ZmdWYyM1hkZgovMkVjYzh3eEc4ZGI1dkhUVHo5MU45
eHdnMXR2dmZYYzJHT1BYZWF0VjY1ZmVlV1Y3b1FUVHNqRER1ZWpqREtLZS9IRkY5MHV1K3ppCkpw
NTQ0dngrWHh4UXg0anpqVGZlY05TNUJ4OTgwSzIrK3VydWl5KytHTzY4TDlMVFczSFFXTC82NnF0
dW80MDI4c0o3YjhXVGhodnoKVGUvMTkzbW9mMlhwNk05M0pVMVRmNzRqYVZxYW5LZmxUcWQ4aXky
MmNLKy8vcnJiWTQ4OTNPbW5uOTRsbU5SL2ZMTmRkWmRCS2dhMApicnJwSnZmVG4vN1VEMXdSRDRM
RnhodHY3QWV4NXBoakR2OU5TUWRDRU5yLzcvLyt6ODAzMzN6dXFhZWVpcFBYNVJpaFp0bGxsM1ZQ
ClB2bGtsK3Z4eWVXWFgrNSs4SU1mdUVHREJ2bjJuVGFlWjRZT0hScDc4OSsvMERaMXVXRW5SVXlx
R0tiUHArZHAyNWZlYitkNVZUcjcKNjUyclNsTTc4OTZKWWZWVzNTcDZCMksrdlJWdk8rTTQ4OHd6
L1lBbjdlTjIyMjBYQnozU0h2ZEZ1ZFRDTXltbzBwbmcwZVgrV0dPTgpsZjM2MTcvT3I1blpWV2Fq
VFA1ODdybm56ZzQ4OE1EOFh0TURxOENsWHEwRG1sa25QYlBPZjZtZm9odHhtRlZoeFA2S3d2bm5Q
LytaCmpUNzY2RVczZW56TlBzVFpBZ3NzVUJtT2RWYTczRS9QdTl4c2VMTDIybXRuMWdISmZjZm54
eDkvZkdZQ1puNnZydzdzeGM5MjIyMjMKekFSRkg2VnBtekw3NkdjMkVsZDQzbGZwNm8xNExybmtr
bXphYWFmdGphQkx3MHo1bG5yc2h4dHgvU3VMdnNtN1V2WnN1Ni8zMXp2UwpuWHlrNVg3VVVVZGx2
L25OYjN4UTk5OS9mMlphNjh3Ni9ublFxZi84eG5jSFBhbTcxcW5OTnR0c3Myenh4UmZQaUNkMUpu
eGsrK3l6ClQzNFp6cHR2dm5sK0hnNXV2LzMyekRUeG1abjBoa3RkZm1uYmJQQWlzNDlmVnRkZUxy
TElJaG5mcmVDT1B2cG8vOXk5OTk0Ykx2bTAKeG0xVGZ1TzdnNVJKSGNQMCtmUThiZnZTKyswNkww
cG56S3MvM3JtaU5MVXJ2LzBaVHN5MVA5UFJXM1VyZlFmU1BQWld2SEU4M1kzRAp6T3V6NmFlZjNy
ZURaaG1TbVhZNERuYkFIcmVqVG5XWFdidWdqRllub2F5MDBrcVZYc1lkZDF5M3hCSkw1SDZRaGpH
MU91dXNzOXdFCkUwemdHTjNFWkl1UmJVYStMcjMwVW1lZGV1Ly83My8vdTFkM1lRN0VhTlRkZDkr
ZGh4TU83SVBncnJqaUN2ZmNjOCs1NTU5LzNwMTQKNG9tT3VTYUhISEtJSHlYbm1OSDhSUmRkdERU
TW9qQXc3MkUrUjFYY3A1MTJtdGYwTURLMzdiYmJlazNGNFljZjd1UGZmZmZkSFpvUQowbVNkU1o4
ZU5CbU00Snh5eWlsdXNza204LzZKKytxcnIzWUxMN3h3eUZMK2UvMzExN3Nxdm1pWk1FWDQyOS8r
NXA5SnovT0FXamhnCjVCTTMxVlJUK2QvMC9OcHJyL1dqay81bUgvNmJaSkpKM01FSEg1ekhTRHBX
V0dFRng0Z3pMajNQUFk2QUI3d0RxNnl5U3ArbVBPWGIKcDVGWFJKYld2ekt2ZGU5SzJYTzljYjIv
M3BIdTVDVXQ5eTIzM05KaFJvYWpYVVVEZ0ZsdGNLbi9jRDM4ZHJmdW9zbGNhcW1sdkFZZApiZnI0
NDQ4Zmd2Uy9hTWJoU25zYTNJUVRUbGo0VGNCc3l3U0hRaTJ0ZlpRZG1uYmFEbzZubVdhYUVOeHd2
N1QvRHp6d2dOdHp6ejN6CmUxTlBQYlUvNW5zVlhLdE02dnlIY010Kys2cXRTOU9aZmwvNjQ1MUww
MVRHYUVTNm5uTHR6N1QzVnQycWF4ZDZLOTZZWlhmanNJRU8KMzE3UUR0SXVwVzFUSE1kQU9XNVhu
ZW91czdaeGFGV1NTVFVnOGZPTUpNMHp6enlacWRhOUZEbmJiTE5sdi8zdGI3MFhwTXl0dHRvcQpt
M1RTU2YyNXFYK3lCUmRjTUg5OHh4MTN6RWU3ODR2ZkhTQ2RCczBLbzNYV2VjdVFWQmtkdHc5cVpw
Mzk3TDMzM3N1cXdvekRxUEtYCnhtMW1aNWwxZ3J0Y3RnOXBadk5lL0RXMEt5WmNaRFpYeHArak1i
RTVNOW04ODg2YldTWHg2Yk81SGwyZTV3VE5DNk9Qak9ZeDJtWWYKVE0rT3RQRUhqOUZHRzgzbmxi
amljMU1YWmtjY2NVUTIwMHd6WlRhWElETXp1R3orK2VmUGZ2R0xYMlNNTWdZSEt4Z2ZldWloNFZM
Mgo1ei8vT2JPT1IrRzVtZEpsNDR3elRuYlhYWGRsUng1NXBBL3psNy84WmZiQkJ4LzROQkhuTExQ
TWtwbEE1WjhuRDhzdnYzeDI0NDAzCjV1R1pBSmFaSUpIWm5KbU1aNGtQSmpqQ05HRTEvN001UlQ1
Y1J0ck1wQ0l6d1RVUEIzNG1BSmFla3lick9HUW1mSG9XeXkyM1hHWkMKYk80L1BhQysvUEdQZjh4
TU1NNzIzbnZ2N0tDRER2SmU0TldFSlhrbExqTlp5ZFpmZjMyZlordklaVFpmSm1NVTFZVHB6T3pT
ZlRrdQp0TkJDWGVveVdzSS8vZWxQM2kvK3FSL1c0Y3FUV0pZWHdqZUJPL3ZoRDMrWVdhY3JPK0NB
QTN5ZE1ZRTBJdzRUd3ZNdy92M3ZmMmZICkhIT01QMGVMUk4yaUxIQXgzNlpwOWc5Ry84cjRsYVV4
MVBtcStrRHdhWDJrVEdHMHlTYWJaR2FtNWxOUTlhNkVKSmFsRCsxc0s2eEMKZUdXL3ZmMk9GTVZy
SFdWZjlyenIrKysvZjVmM3Q0cHZYTzVwdU5hNXpHYWZmZmJNNXAvbHQ0cjgxOVhkL09HYUF6UWJa
dXJreXhTTgpOdTNsUC83eEQvOFU1Y3Qzd3daMXVvUkMvVGF6M2k3WE9KbHJycms4aC9TR21ZOW1X
Mis5ZFVhZC9OblBmdWJmOTlSUGZIN3V1ZWQ2CmJZZVplL3JMc0NBZHRFdEJFOXNxa3lML2Nad2Ns
NzN2d1YvYTlsV1ZNYytVMWYycWR6Tk9aL3E5Z1V2Vk80ZVdncmFhNy8xOTk5M24KdjJFMkFKaHJx
L2hlbVFtZGY3ZERudmd0K2g3RjkrTTBOVzJucXQ2TlZyazg5dGhqaGUxdGFNdUt2Z0VoL1VYcEtP
SWEvUE5iVlQ3YwpyNHF2cUoza21iSThjdzhYNmhaNTVkdE5PeHNjV2o3K2dxdUt2OVYySWNSYkZY
WlAwNVRHVWNZb3BNRUdIekl6UTgxTTRNaldYWGRkCjMxN1F2cGN4ckN1dkVHN1R1bHZFbHpwVDFj
OUs2eFI5d2FJK1FxaXpyYlkxZGN4Q0h0djE2MW9OcUU0QUlRUEI4VEd3aWVyaDFIZmcKYklURG43
Lzk5dHUrZ3gwNnMyYXIyOFVVSUgvSURoQWVRb2ZSSnJ0blpqL3NPOEU4eTRmTnBESGYrYXdLTXc2
anlsOGNMOGVwQUdJUwpveGRJRUR5Q08vbmtrMzBhVElQakx5MjIyR0srOHgzdUYvMCsvUEREbVdt
SXNudnV1Y2QzMXNrLytjQjhBUGZtbTIvNkQ3YlpRQmVlClU4SHdUNmVVajZYWlBQdDB4UjFiSHNU
a2dUemdxUEJMTHJsa3pqazlwMU5DeDlXMFBENStoRHJUY0dXbTBmSFBZN0tCNlFPVkdrY0gKZ2s0
RndpWE9Wamp6L2hGQWNhRmpIL0pnYzBzeUdORlJKOTB3d1BIQ0U2N044L0huTnZyb3d3MmRvL1Fj
Um5RcWc1a0VBaE5DSXVrdApjc1J2aXdka3RvcFpmcHQ2U0g1d2RTeHBsRERwNEdYSElWUUhvWTdP
QVlJaUhWMDRjMDY1OEpIR3dZYVA4eDEzM09IUEVjeHNIbFgyCjBVY2YrZk82dk1DQThGRng4N0cz
MFYzL0xKMjFkZFpaeDRkQk9acnRldmI3My8vZW4vTVAxamFwenArbmZPdlNuQWZ5M1VFZHY3STAK
MXRXSHRQNVJEcVpGOVBXWndRWHlnS3Q3VityUzF3cXI3N0pjK3RQYjcwZ2FNUXlwNi96aU1FVzEr
WGIrdUk1dld1NytJZnYzMm11dgorUTl1YXNLVStxK3J1N3puQ05ObGY3YmdpSStTdG9rNnYvMzIy
NGNrK01HRjhjWWJMK1BkcGozZ25ibjU1cHZ6K3h6UWR0RkppaDFDCkJuNkQwQkR1bVliY2gwOWJT
UHRFZkxTdFZRNk9kRDUyMkdFSGJ3cHJHaGMvZUJZLzB5cVQxSDhjRnNkMTczdmExdFdWY1YzZEwz
czMKMDNTbTM1dTZkNDcyQ0JOWkdHT216VGVDd1M0R2dXaG50OWxtRzEvSDB2ekgzNlAwWHBxbXVu
YXE2dDNvTHBjeVhsWGZnS3AwcEZ6VApQSGNudnJKMnNpN1BhZDJpTDhVZ1JIQzhVeHRzc0lFL3Jj
cHZYYnNRd2d1L2FieFZZWGMzVFdrY1pZeENtc0x2MDA4Lzdkc1Ruc2ZWCk1Td3JyeEJlK0sycnUx
VU02dnBaYVowcVMxT3JiVTFUWmlHUDdmaHR1d0RDS0hOd1NKZElwY0VocVFVTkNOY1lhYUxqU0dP
RjFGam0KRUI0WVZjZlpCQ0gva2pEcUh2OEZlN2l5TU9Nd0NLZk1IL2RpbHdvZ2RBRG9wTWN1ZERv
WkljY3hHaDkvYkdPLzRaajhvRWxoMUFkbgpLMjFsTTg4OGM3anROUnV6empwcjZUbisrUUNFemo4
Q0VSM1ZrMDQ2S1g4bVBlRERZQk00ODh2cE9SOWlPdWE4aE1HWitaelhYSENPCkJvUE9kSEJycnJu
bWNPWEw4NHgwNFJoVk1CT3o0RDBmVlVSd2lMVW1DRTBJWTBHb1EwdUI5aXk0OUp3d0VXQ0NnMkdz
VFF2WCthVWoKQzJmcVRleUlMN0NxWTBuSEhxR1hzQmlGUm9zVE9tL1kxS01CQ2VWb0UxajlDRzJJ
QzhFRjdVZHdqT29pTEFSWGx4Y0VGclJPTk15eApJNzVndTQ1R2hQeWhBUXN1Q095Y3AzenIwaHpD
NExjSnY3STA4cjVYMVllMC9pRkFvb0VMbXJEMzMzL2ZKNlhxWFdtU3ZsWll4WGt2Ck91N3RkeVNP
azlFdXRLdEJzeFhmNDdpT2IxcnU0WG5hTUQ2QXFVdjkxOVhkOVBteWN6UEQ5UU1LNFozQlh4QWt6
SFREQys2MFhiSDIKRmo5bVBqWGNlOHU4a0Ntbm5OSVBwdUFIaC9ZUFlSVmVPTjdSeVNlZnZJc1cw
dCtJL3RGRzBYNEdEVDIzZHQxMTF3eWhpTkhzNEZwbAprdm9QNFlUZnV2YzliZXVxeXJoSjNTOTdO
OU4wd2l6KzNsUzljK1NGOW9idkhGcCtIQjNYTmRaWXcydlBPZi94ajMrYzBjNjA0dEkwClZiVlRW
ZTlHVDdpVThTcjdCbFNsZzd5blhGTWVyY2JIODBYdFpKTThwM1dMOTRiM0xtajdHRkFJQTJWbCtT
WCtWdHVGTk42cXNMdWIKcGpTT0lrYWtQWFZvNjJhY2NVWi91UW5Ec3ZKS3c2MnF1L2l0WWxEWHow
cnJWRm1hV20xcm1qSkw4OXFUODM0VlFQZ0k4RUZuRkoyTwpiUmhaVHpNVUN3K1k5UVRUak5RZjUy
Vmh4bUZVK1V2RFRBVVFWSlNNMW9jUmJQelRDUEVpaDFIeEpnSUluVkRNcmhnRnhpRVF4VUlMCkV6
SnRWUlovajMvcE9aM04yRDhqVm93TU1wcFk1dmhJTUZJWVhIck9CNGdSOXVBWUtTWE1vQ21nNFFr
Q0pxTWxDR0o4dElNakRRZ3MKTkdqRGhnM0x6SjQ2L3lBRlAxeW53eHc3Qk5Bd21zOTFUSng0UVlP
THoyMU9qTzhrOExJRWgwbGVyRG9PMS9uRmRJazh2UERDQy9sbApKSDJ1b1ZIQVZiRU1JeVJNM0tW
amJIT0hja0dKWjNuSk1YOEx3aE5wM1hubm5ibmx0UlowcUlNMmhHdG94NExwVkpPOGJMcnBwbDR3
CkRlRVRCdTVXMHhZaHpDTjQwNGllYWRxWnBaZGUydDlqUk5LV1JmVEgvRXY1VnFVNWYraTdneWI4
eXRKWVZ4L1Mra2VVYU0xNGwxQ1AKQjFmMXJqUkpYeXVzUXB4bHYzM3hqb1M0S1VmcWFWbTdXTWMz
TFhmQ1pmUU1zODhpRi90bmhMdXE3aFk5WDNhTitrNjdFRHM2bStRTgpJUlNOYTdvb0ErWFBkeUZv
OGNLenZPdnhJaWhjWndBQURTY0NPWCtZNUtLNTVUZ2VUQWxoOEl2R2t2aERCNXByUVJOREJ5QzRW
cG5FCi9rTVk0YmZKK3g2M2RUeFhWY1pONm43WnU1bW1NLzIrVkwxenBJdEJFYjV6T0w1aGZBc3dF
OGFoOFNvcU8zK3o0bCthcHFwMnF1cmQKNkFtWElsNVYzNENxZEpEVmxHdWEvVmJqQzgrbjdXU1RQ
S2QxaTBFSTNnSHloMGtWQTNHNHF2eDJwMTJJNDYwS203aTdreWFlaStQZwpISmN5K3ZacTEvODJ0
emZ2VHpaaFdGUmVYVVA4OXF5cTd0WXhxT3RucFhXcUtFM2RhV3RJZVJObVJmbnQ3clYrRTBCUWVh
RWl3bUhXCkVKdjZwSmxCZUFpZE5yUXFqSURGbzJVMGdIUXlxc0tNdzZqeWw4YWRDaUIwOU1LSE0v
Z05IWFZHK25CMUFnZ3ZPeVlDd2VTQTlETlMKVEdNV25FMFM3ektuSVQ3SFB4L1oyTDh0cmVsWEN3
dlBwNytNNnZIeERpNDlwNE9PWUVVSEpUam03R3k0NFliK0ZNRU9Fd1U0QjF0SQp5aXpXWk9BUlFZ
RFJkOHFVZk1hT2psVFFPc1RYbWN1QzVnREhLQVFqazhFMEx6MW5WWnp3NGNNL0pnQm8wV0lXWEE5
dTc3MzN6bUFYCk85SVlXTlN4cEZFbTMyRjBOUTRIRHBna0J1MEVZVEh5YXNzcmUyK2tOUWdGWElB
ZGRTY0lpVTN5Z2hESEhKL1VZUy9MUng2aENFYVkKQnRJNXRrbThmdFF0OWgvenJVdHovQnpIZGZ6
d1U1Wkc3cFhWaDdUKzhRN2h5QXVySk5ueXJQNjg3bDFwa3I1V1dQbElTLzcxeFRzUwpSODE3bEdw
YjQvc2NsL0hsWGx6dW5PT0NWdW5iczY3L1kvOTFkWmU2anBiU0pyRVgvakZ2S1F3UzBNNmxwbFFN
cnRDR01aRERTaXdJCjhiRkRlMnA3VGNXWE1sc1MzYjl2ekxlS0hlYXJDQ3I4L2V0Zi8vSnRLZThN
QXlla3M4aWhDYWE5QzJuRUR4cHMzczk0RUtZVkpvUVIKKytjOGRuWHZlOXJXaFdmTHlyaEozUzk3
TjlOMHh0K1h1bmR1bUEwaXdZazJIa2Q3UmhzY1ZnOWlSSlo2MGFxTDAxVFhUbFc5R3ozaApVc1Ny
Nmh0UWxRN3lIM010NHRGcWZHWHRaRjJleStvVzMxb0dKSmhiRnJTaVZmbXRheGZTUEtieFZvVWRu
bTAxVFdrY1pZeEMrUEV2CjVxMlkwT1BxR09LbnFMeTRIcnU2dWx2Rm9Fay9LNjFUUldscXRhMXBo
Vm1jMTU0ZXR5U0FVTkEwTktoYWk5eVBmdlNqelBiTXlHOHgKSWhLcmRSbnBvdFBLUjRFUFJheWl4
UjZYeVc5RkRqT3VZRUxESEFJNlhraUJkR0lZYldFZUNDUEJWV0hHWVRCbm9HbmNUSVNtc2VYagpo
Nk54cG5HTlRabXdlK1ZqSERxcG1QeFFBY29jbytpTVhzTVRoemFCaml4elUxQ0IwbUZpRkJqYlBr
WUMwM05HdDFrYU9LU0p1UmhNCm5veE5IREFMWXpKdmNCekhmTk56UHI2eFBTZ2pnNHpXQjAwUDZT
Q05DSDRJZzNTeU9ZZDdtR1NPQ2hmVEpsU0U2WWc5THhabVUvekcKTG56TU1NbGdOSlI0RU00UVZo
RG8wbk1FSWtZWGNBaExkTUREeDQ4ODQyaEltZHpNQjVFUkcwYnJncU9PWUI0UWhOODZsZ2hDc0E3
KwowZTVRZmpoR1RNaHZhTGdKQ3lhWXhaRVhSbVdDb0VOYUdibWxRMGtuRU8xTFhWNG9kL0lXN0ZO
REh2aWxibkF2YUtmb0JHRFBIclJ3CndXL0t0eTdOUE5jS3Y2bzBWdFdIdFA0eHNFRDl4MUVYZytC
Vzk2N1VsUy9oTldXRjN5clgyKzhJY2Nmc3FVTzBkWUVMN3c1TWc2dmkKbTVZN3o5QmVZSTRXNm1z
SWg5L1VmMTNkNVJuYXdySy8wRGJoajNZUkFTTUlBN1RaZkVTRDJTTDNNVDhOYlFQdENSUE5nM2tw
WWVCbwpaMU9oNGRzNzMvOUhDSUZaK3V6M1ByNGRzYWV0aTVkQUp4OThJekQ3Q2gzcFZwbWsvdU00
T2E1NzM5TzJqbWVxeXJpdTdwZTltMms2CjArOUwzVHRIaDQwQnZlQVE5akJMRFk1dkg2T3lmTXY0
UnVQUzcxSHdHMzdUTk5XMVUxWHZSbmU1bFBHcStnWlVwU1BsR3ZJYWZyc1QKWDFrN1daZm5vcnBG
T2pBL3d2cUE3Mjl3VmZsdDBpNkVjUGhONDYwS096elhhcHJTT01vWWhmRERMKzBnZlEzNkJMZzZo
bVhsRmNJTAp2M1YxdDRvQmVhbnFaNlYxcWl4TnJiWTFUWm1GUExicnQ3RUFRaUd4NGhTZGNVYUVV
ZFhFcGdGMFdPa1FzZm9GYW1NYUhCcDVPdEtzCnVvVGRQeDFhbnFmemp4OUdQSmk4eG9jRjlXdm93
S2VaQXc0ZkZjeGcrSGd4aW01TDRQcHJqS0poUjR3ampXVmh4bUV3NGxibUw0NmIKMFhVbWJaTm1i
SXdaWGNhUk4vSkp3MHRsNDZXMFRiSDhQVHI1Q0ZsOFlOT1JPdS9CL2lGTVlYNFNIT21IS2ZuaUky
MjdjZnI4SVNuagowblBZMDlsRThJQWY0VEdCTDNha2wzU0V6Z1o3ZThSYW8vU2NVU3VFR0VZcktS
OFdFNGlGQ0Y0TXlnRHpOenJFbEJrbUdyR1F3d3ZNCnlDVWpHTk5OTjUxbkU5S0VXUkljYWV3WUlh
QlRSYjNBSkl4T0JhT09wSlhPQitHeUhuL1JPWGttZkZhNVFhQ2w0MDBqZ3ExMGNJeUkKa2xic1Fo
RVlVR2xpT3c1SEJNZndVY1IvSFVzNlJaZ2pJRnhUL3hHKzZLemdNSUdqN0lPNzFUUWMySkNURnNx
UkVVSUVGUEtNSFQvdgpDSnF1TTg0NHd6OVNsNWYwd3g3aTRaYzh4Q1o2dkJkb0R1SXl4bC9LdHk3
TlBOTUt2Nm8wVnRXSHRQN3hQakFJd1FBRGd3dVl5T0RxCjNwVzY4aVdNcHF6d1crVjYreDBoN3Bn
OUF4U1lCOUp1VW44UWdPSTJ0NHB2V3U2RVRXZVdkekNZSG5JdHVOUi9YZDBOenpYOXBWMmsKRGFE
elNwNHdFWWdkWm9TWTQxS2ZtS2hNZlE0T2daMjJsTzhKYlFQUHhoeUNQMzVwdTJqSHloeUNFUm9G
T1BCdElrN2VJelJ1L0FiaApnK2RiWlpMNlQ5TlE5NzZuYlIvUFY1VnhYZDB2ZXpmVGRLYmZsN3Az
am4xN2dwa3BhVnh4eFJXN2FJMjR6N1d3U0FoKzB1OFIxMktYCnBxbXVuYXA2TjdyTHBZeFgxVGVn
S2gwcDF6aS9ISGNudnJKMnNpN1BSWFdMTkdBR25pN1dVSlhmVnR1Rk5ONnFzRWtQcnRVMHBYR1UK
TWZvMjlPLy84MXc4NkZySHNLeTh2Zy94MjZPNnVsdkZvSzZmbGRhcHNqUzEydFkwWlpibXRhZm5q
UVdRbmthVVBoOUcvMUdCaHc1ZAo2aWMrRDZPQTRScVZoVVlyRmxycXdneGgxUGtMY1ZUOTBzRmtM
Z0ZwYUllTE84V0VGODhiU00vcGZEUHl6K29iUWNCSTAwQWVnMFlFClJnaDh3YVhuNFRyUEREUDFl
aGlwRE5mRGI1am9IODdqVHNLWlo1NlpMNXRMSnhnN2FnU2dJQmpSaVdBa210RXhPcHE4SUhUb2Nh
bFoKU0NpbkVFOTZUcGdoYi9oSjJYRXRIUUhGVHhHckppd0pqN1RIbzdwY0szSnh1cmhQV29OUVFN
T1RsbXVUdkJURlF4bUZjTVA5OUR4YwpUL21HNitFM1RUUFhtL0lMWWFTL1ZmV2hxUDZSQnRMSkpN
UTZWMVRlWmVWTFdLMndxb3U3TjkrUkVIZktuanBEZXhlN0tyN0JYMUc1CnArOXc4TXR2NnIrdTdz
YlBOam1tSEFpenpQRit4SU1lWmY3NjhucXJURkwvYVZycjN2ZTRyV3RTeG9SZlZmZlQrTU41bXM2
MFhRcisKd20vUk94ZnVwYjhJaDJrNXh0K2oxSDg0VDlNVXJvZmZvbmFxNk4wSS9ydkRKVHhiOUZ2
MURTaExSeDNYb25qQ3RhTDQ2dHJKcWp6SApkU3ZFa2JZcjRUcS9SZkZ6dmRWMm9TamVzckFKdnp0
cGl1T29ZMFFjT0FZZmcybi90MWUrL1YvRk1QYlh5bkZSM1MxamtMYlJjVCtMCk9KdldxVmJhbXFi
TVdzbHpFNytEOEdTalFYSWpDQUhydlBrTnVHd1UwTmtvMDRCSnRabk1PQnV0Y3piQzc5TmtuUTFu
ZHVET1RDTGMKUkJOTjFDV2Q5dUk1ZTZtY3JWemxURlBSNVY1Zm5neFVsbjNKb0xmaWFxVSs5Rllh
V2cyM2FMUFFPQXpUSE1TbkxSKzNrMGs3dzJvNQpJM3FnVHdpb2pQc0VzeUxwSUFJMkNPbE15K25N
NU5OdnVHeldDTTdtVUhRUWdZR1ZWUWtnQTZzOGFsUERydWltUVhDMmtvS3orVFcxCi92dktBenVo
bXNyZDJjUjFaeVB4enN4Vm5Oa0pPN01GN3Fza3RCelBRR1haY2tZRzRBTWpZbjNvYll6dFpOTE9z
SG83M3dxL2V3UlUKeHQzanBxZEVvSXlBV1Y2NFAvemhEODVNekoxcDI1MlpZNVo1MWZVK0lDQUJw
QThndHlzS1UxRTdtMER2ZzdQNU5zN3NscDNaTWJjcgorQjZIWTJwM3h5aXh6ZWx3dGl5bXMva1BQ
UTZ6dHdJWTZDeDdLOTk5R2U2SVZCLzZpa3M3bWJRenJMN0t2K0pwallES3VEVmU4aTBDCmRRUnNu
b1d6dVpyT0ZnNnE4NnI3dlV4QUFrZ3ZBMWJ3SWlBQ0lpQUNJaUFDSWlBQ0lpQUMzeE1ZNWZ0REhZ
bUFDSWlBQ0lpQUNJaUEKQ0lpQUNJaEE3eEtRQU5LN2ZCVzZDSWlBQ0lpQUNJaUFDSWlBQ0loQVJL
Q1JBR0w3TmpqYmNNZlpuZy91cFpkZWloN1hZVHNKc0hLVQpiV2JuYkNNLzkvampqN2N6Nkc2Rmhm
Mng3Vy9pV0RsQ1RnUkVRQVJFUUFSRVFBUkVRQVRhUWFDUkFNS0VaOXNwMDlsbVFuNEoySFpFClBO
RENzRTN4Zk42WTFHMDd1RHZidGRxeERLSnRvTlZuU1VVQXNUV2duVzMyNXlkeUYwVnNtNGs1Mjhu
YkwxODdaTWdRWnh2citmU3kKSkM5cHQ3MHFuRzNrNVZlZ0loeFdvV0twVzl2TXpLOVFaYnVDTzlz
a2tmMWZpb0wzMTVoSWJydmRlLysyNGFCYmFLR0ZmQnkyUG5mKwpERUlwQXFudEV1NXMxODM4T2dl
MklhU3ozZUNkN1dqcWJHUERMdmZDeVdXWFhlWnNSM21mdHQvKzlyZnVoUmRlQ0xmMEt3SWlJQUlp
CklBSWlJQUlpTURJVGFMSlpDSDdZU1pyZGk3dnIwczFWdWh0T2J6N0hidGZMTGJkY0hvVUpJbjdI
WEhhbjdDdkh6cmZUVGp0dFpYVHMKTmo3cHBKTm1iTndWSEp0OG1iRGhUOWxwT0d5YVowczUranhj
ZmZYVi9oNmJQZGxTdWVHeDRYN1piWmxkekUzZ3pPOFJ0Z2tUMmRaYgpiNTFmNDRENFNZY0pJZGxy
cjczVzVSNDdxYlBUZVpWYlpKRkYvSTd5Y1Q2cS9PdWVDSWlBQ0lpQUNJaUFDSWpBaUUrZ2tRWUVB
ZXphCmE2LzFHN2QwUnhpNzZLS0x2UGFrTzgvMjFUUERoZzF6dHF1NVczdnR0Zk1vNTVsbkhuLzg1
cHR2NXRkNis0QzEzMWRaWlpYU2FLeXoKN3JVS3E2KytlcTRsc1IwdnZTYmhvSU1PY21ncDBFeU1N
ODQ0UG94cnJybkdqVDMyMkc3WlpaZjE1eE5PT0tIYmRkZGRDOE1mT25TbwpMeWMyT1RRaEpQZURC
b1g0VGpubEZQZlJSeC9sMSsrNTV4NnZZVUVMWWdKcWZwMkRoeDU2cURJZnR0dW9Zem04ZGRaWko4
OUhsd0IwCklnSWlJQUlpSUFJaUlBSWlNRklTYUNTQTBLbTk5ZFpiM1pKTEx1bU9PdW9vdDhBQ0Mv
ak44T2o0Qm1leW1Ednh4Qk1kTzB2KzhwZS8KZEpnSzBWbmVhYWVkL1BrSEgzemc5dDU3YjhkdXc0
Y2VlbWg0ekQzenpETyt3OHdGNWh4TU9lV1U3dUdISDg3dkY0VWJiaGJkWXhPOAo0NDQ3emkyNjZL
THVnZ3N1OEhNcTJDK0RlREZ4S25PbUlmQzMxbHByTGYvTDNJZkREanZNN3phK3dnb3JsRDNtWVBE
SFAvN1I1LzNJCkk0OTB5eSsvdk1PY3EyazZNSm5hYTYrOWZKcEo5MVZYWFZYWmNiLzc3cnNkZTFn
RVFRbXVvZk0veFJSVHVESEhITk5OUHZua2VYb1IKSEVrVFFraHdNOHd3UXpqTWY4bnZEanZzNERi
WlpCTmZ2dm1ON3c2WUJ3Sy9kOTU1Sjc4Rk04cWFaMDQ5OVZTZloyNisvZmJiempRagpsWHVVWEhm
ZGRlN3JyNzkycTY2NmFoNmVEa1JBQkVSQUJFUkFCRVJBQkVaK0FvMEVrTnR1dTgyTlAvNzQ3cEZT
MWk0QUFDQUFTVVJCClZKLy8vS2NYUExEcnA1UE5idGM0QkpRMTExelRqN3IvNWplLzhadThJRVF3
SjRHZEp1bG9ubnp5eVc3ZmZmZjFuV0Yyek1ZaFFMQnoKZHJEL0gyT01NZno4QnpyUnVMSndxKzdS
MGY3SlQzN2lIbnp3UVRmTk5OTjRBUWVCNS83NzczZnZ2ZmVlRDdmb0h4MS9PczEvK3RPZgozQTkv
K0VNdk9QRWNuZXlRbnZTNU45NTR3eUdjTUY5aW0yMjI4VUlQTzIweS82RkpPdWlvOHp6ek43YmJi
anN2T0NDUUlEQ1VPZEtECnhnSEJnbmpSVk13KysreUYzaDk3N0RFL3A2UkpKLytBQXc1d3pPc2dI
MFVPQVdXaWlTYnFvaG1COGJ6enp1dTIzMzU3aDBiakwzLzUKaTM4VTRlSm5QL3RaVVRENU5mSXgy
V1NUZWNFd3Y2Z0RFUkFCRVJBQkVSQUJFUkNCa1o1QUl3R0V6aTdhalBYV1c4OHh5azVIbEZGMgpP
c3M0aEl3dnYvelNiYnp4eG43U05wMVZKa0xqMElRdzhkbm1OZmh6ZHNqRzFBbjM5Ny8vM2MwMTEx
d3VObkdhWkpKSjNCeHp6T0h2ClY0VmJkUStCQ1MwTlpsV2ttWTR5OFJCMmtTTWZDQTUwdm84Kytt
Zy95azhhNkVSWDdUVE9CRzhFTDdRck9BU3ArZWVmMy9QaHZDNGQKTUVJN2c4Q0VZNFd4SlpaWXdn
dHcva0xCUHpydUNDaG9teEFDMFQ0Z3dCUTV6Szl3VFFRUWhFSW1oVFBCUFhXdnZQS0szNEY5d1FV
WAo5S1plM09jYWs5a3h6MkpIMFpWWFh0a2RjOHd4WHFpODhjWWJLODMxRUVnUlVqQTFZNEVET1JF
UUFSRVFBUkVRQVJFUWdjNGgwS2ozCmh3RHkrOS8vUGhjaVhuLzlkZCs1eHlUcjMvLyt0Kzk0VGoz
MTFGN0RnWENDdWRiRUUwL3NLZDV3d3cyK2t4MlEwc25sZVp1MDdJVVcKT3V4QkFMbisrdXZ6a2ZP
cWNLdnVFUStkV3dRaW00enRvMFZqczlKS0s0VWtEUGZMZmJRdCtHR09CUE1TV0FxWE1NcWNUUmIz
bmZKdAp0OTAyOTNMZWVlZDEwVjVVcFlPNUhzUUwxK0JZR1lxT2ZKbERRSG5paVNlNitMR0o0Vzdj
Y2NjdGZBUUJaTzY1NS9ZYW5VSVAzMTNFCnZPcjU1NTkzTTg4OGM2RTM1b2FnclVLREZSeUNVSnhX
OG9IZ3lYVUVPdXBCbVdQdUNCcVQxVlpicmN5THJvdUFDSWlBQ0lpQUNJaUEKQ0l5c0JLeGpXZWxz
VkQ4YmRkUlJNeE1TY24rc29tUkxyL3B6cy8zUHJOT2VXV2M5dng4ZjJDaDVaa3U1NXBmTUxDaXpV
ZlBNNWoxawpOaEtlbVhDVHpUcnJySmwxZ0RQcjlPZitxc0t0dW1kbVJObFlZNDJWbVREZ3cySUZK
OVBXWkNZSTVXR25CMXRzc1VWbUhlWjhWU25iCjg4U3ZITVVLVW1WdTg4MDM3N0ppbG5XcU14dk56
MHpvOEkvVXBZUG5iWm5mUEhnVDJueWNqenp5U0g0dFBXQ0ZLcXVIMmROUFA1M2UKeXE2ODhrclBN
OXl3RHI0dnR6MzIyQ05jcXZ3MWM2akNWYzVzUDVMTXpNbXlQL3poRDEyZXQwbnBtYzBIeWEvQjJV
ekJNaE13czhNUApQenkvWG5SZ1N3ZjdsYk5Za1N0MXBrVkpMK2xjQkVSQUJFUkFCRVJBQkVSZ0pD
SlFxd0ZCKzRFSkZhWlhPRlpJWXJPOGswNDZ5Wjh6Cno0SzVBOHhud0RHUm5GRndISnZwY1gyKytl
YnpabEJjWTJROHJLcUUrUTFtUEdoRUNIZUREVGJBaTNkVjRWYmR3NVNLdVNSb01YQ2sKZ1luaXpG
VkFNNU02dEJ6TS8wQ2JZNEtXdjIzTERUc21hclBxVTVsamtqbHpNWEQvK2M5L1hEQjN3c1NNK1M5
MTZXQTFxYkJTRmMrZgpmZmJabnZIMDAwL3Y1NnNVeFl2V2hMeWJ3TmJsTnRlWmNCK2JNNkZOd2RT
cGFnSjlIQWg3ZWR4MTExMmVWYmordi8vOXo3SFhDSHVpCk1FY2tPQ2JCLy9lLy84MjFYRnluVE5H
Q3NJOUpsV2JEM2gxSDJqRG5RdHNVdTlOT095MmZwNE5HNnNBREQvVGh4WDUwTEFJaUlBSWkKSUFJ
aUlBSWlNSUlUcUJPbWJLSjVac3ZSWm1ZdWxOa0tXQm43TzVpUWtUL0dIZzYyeEd2R0hocGJicmxs
ZHNnaGgyVFdjZlgzTDd6dwp3c3dtY0dkb0xJSmpaUDUzdi90ZE9NMnM4NTB0dnZqaW1YWG84MnNj
VklWYmRjOG1SR2Zycjc5K0hoYWFoZkhHR3krek9STVpvL1N4CnMwbnBtYzM3OEZvRlJ1K3RBNTdm
M20rLy9mejFmZmJacDFDN1l3SkdabVptbWMwVDhTUCthQzVNOFBIeEVFaGRPc3pjTEp0Z2dna3kK
RTVReVJ2MXRxZUxNNXFoa3RvcFlub1p3Z0tiSVZ1VHk2WUduVFZqUGJPVXRuM1l6WWZQWGcrWUZ2
eWJNK1AwNXJHcG10ckpWWmhzRApocUJLZjlIWTJIeVN6T2JPWkxaZ2dOZDRzQ2VLQ1RaZG5ubjU1
WmN6bTNQaU5VWW1kSFc1WjZaWG1Ra1dYYTdGSjl5M3VUcyt2WlNKCkNUYSt6aEFQV2lyU2k0WU05
K1NUVDNwTkdYbVJFd0VSRUFFUkVBRVJFQUVSR0hrSURDSXJkVElVeTY5YXg5T3ZnTVJJZDVGalVq
S1QKdk1Pb2Z2RERzcTN4NUcraVkzVGJ6S1NDRjhjY2hQZzh2MkVIWmVIaXArcGVIQWJ6RGNLY2xQ
aDZUNC9SWXFCQkNXR3p5dGJnd1lOTApnMDNUd2ZOb1VjZzcyZ28wQ3pHcjBvQjY4Y1piYjczbDU0
T2daUW41YWlVNnRGbk1CMnFIUTN2R1NsbHlJaUFDSWlBQ0lpQUNJaUFDCkl3K0JSZ0xJeUpOZDVV
UUVSRUFFUkVBRVJFQUVSRUFFUktBL0NkVE9BZW5QeENsdUVSQUJFUkFCRVJBQkVSQUJFUkNCa1l1
QUJKQ1IKcXp5Vkd4RVFBUkVRQVJFUUFSRVFBUkVZMEFRa2dBem80bEhpUkVBRVJFQUVSRUFFUkVB
RVJHRGtJaUFCWk9RcVQrVkdCRVJBQkVSQQpCRVJBQkVSQUJBWTBBUWtnQTdwNGxEZ1JFQUVSRUFF
UkVBRVJFQUVSR0xrSVNBQVp1Y3BUdVJFQkVSQUJFUkFCRVJBQkVSQ0JBVTFBCkFzaUFMaDRsVGdS
RVFBUkVRQVJFUUFSRVFBUkdMZ0lTUUVhdThsUnVSRUFFUkVBRVJFQUVSRUFFUkdCQUU1QUFNcUNM
UjRrVEFSRVEKQVJFUUFSRVFBUkVRZ1pHTGdBU1FrYXM4bFJzUkVBRVJFQUVSRUFFUkVBRVJHTkFF
SklBTTZPSlI0a1JBQkVSQUJFUkFCRVJBQkVSZwo1Q0lnQVdUa0trL2xSZ1JFUUFSRVFBUkVRQVJF
UUFRR05BRUpJQU82ZUpRNEVSQUJFUkFCRVJBQkVSQUJFUmk1Q0VnQUdibktVN2tSCkFSRVFBUkVR
QVJFUUFSRVFnUUZOUUFMSWdDNGVKVTRFUkVBRVJFQUVSRUFFUkVBRVJpNENFa0JHcnZKVWJrUkFC
RVJBQkVSQUJFUkEKQkVSZ1FCT1FBREtnaTBlSkV3RVJFQUVSRUFFUkVBRVJFSUdSaTRBRWtKR3JQ
SlViRVJBQkVSQUJFUkFCRVJBQkVSalFCQ1NBRE9qaQpVZUpFUUFSRVFBUkVRQVJFUUFSRVlPUWlJ
QUZrNUNwUDVVWUVSRUFFUkVBRVJFQUVSRUFFQmpRQkNTQUR1bmlVT0JFUUFSRVFBUkVRCkFSRVFB
UkVZdVFpMFZRRDUzLy8rNTE1NTVaVmVKOVJYOGZSNlJrYWdDTDcrK212MzlOTlBqMEFwYnBiVXQ5
NTZ5OTF5eXkzdTNYZmYKYmZiQUNPenIxVmRmN2ZQVWQ2ZmVaRm5tWG56eFJmZnNzOCs2cjc3NnFz
L1QzSk1JUjRUNjlPV1hYN29ubjN6Uy9mZS8vKzFKVnJ2MQo3Q1dYWE9MdXVlZWViajNiM1llNlV3
Zmp1RjU0NFlVUm9oNk9DSFV2NWpvUWp0OTU1eDNmenZSV1dqcXBURDc5OU5OYWpPSmRpNmlqClBO
UUtJS3V0dHBvYlBIaXdXM25sbGQzUGYvNXpOK3FvbzdvWlpwakJEUmt5eFAza0p6L3g1My81eTEv
Y2VlZWQ1NmFZWWdwM3pqbm4KOUNyQXZvcW5Wek14Z2dWKy8vMzN1M25ubmRkdHNjVVdJMWpLcTVO
NzZxbW51dlBQUDkvZGR0dHRiczQ1NTNTZmYvNTU5UU45ZFBmdgpmLys3bTNubW1kMmdRWVBja2tz
dTZkWmZmMzMzczUvOXpLMjY2cXJ1MWx0djdYWXFlR2R2dU9HR2JqL2Y2b090MXB1SEhucklyYjc2
CjZ1NDN2L21OYjBldXV1b3F0LzMyMjd1dHQ5N2FEUnMyck5Ybys5ei9RSzFQQWNSTEw3M2srVzY4
OGNhK0hoMTU1SkZ1b1lVV2N1ZWUKZTI3dzRuL2hQdnZzczd0UlJobkZYWGJaWlYzdVBmWFVVMjZq
alRieWRYUHp6VGQzVFlYYTU1NTd6dTIzMzM0T0FlVGtrMDkyYTYyMQpscnY4OHN1N2hOMGJKMDNy
NENPUFBPTFdYbnR0dDhzdXU3Z3R0OXpTY2M2NzlxYy8vY21manpiYWFMMlJ2TGFGT1ZEcjNnVVhY
T0RyCkVtM1pjc3N0NTZnenYvM3RiOTJ2ZnZVck4rdXNzN28xMTF6VE0yamF6Mmdic084QzJtdXZ2
WHhkYkhlNGhEY2lsTW15eXk3cmJycnAKcGg1bC84MDMzM1E3N0xDRG93enJYS2Z6cm5vSDJ0M3VY
bnZ0dFc2RkZWYndiZldQZnZRamQ5SkpKOVVWVDkvZnQ5SEdTcmZpaWl0bQpOZ0tVK3hscnJMR3lY
Ly82MS9uNUVVY2NrWjF5eWluKzNENWEyWi8vL09mOFhtOGQ5RlU4ZGVuLzdMUFBNaHM5ci9QVzQv
dFhYMzExCmR2amhodzhYam4xY00ydk1zL2ZlZTIrNGUrMis4THZmL1M2emw2YzBXT3ZFK0xUWUJ5
YmJiYmZkZkozNCtPT1BTLzMzOXczVG9tWGoKamp0dVpxT2pQaWwzM1hYWGNFbnFxL0lkTG1LN1lB
MTFacTFCWmgyaC9QYXV1KzZhMlljOHUrNjY2L0pyVFEvKytjOS9aai84NFEregpWVlpacGVramJm
RlhWMjlDSkgvNHd4OHkrNEIxYVd2Q1BSczF5emJiYkxQTU9yL2gwb0Q3SGVqMTZWLy8rbGMyM25q
alpjY2RkMXdYCmRxYXh6cWFmZnZwc3h4MTM3SEtkT2tiOW0zRENDVFBUUkhXNVp4cVViTExKSnN1
KytlYWJMdGVyVGhaWlpKSHNqanZ1eUt4RG1wa0cKSkRPTlk1L1Z4Ym82K05oamovbDg4bzdnTHJ6
d3dvdzJsM1Rhb0l2L3JjcGJmOThiNkhYdndBTVA5SFVwOEEyODNuLy8vZXdYdi9pRgpQMjJsbnhH
ZWI4ZXZhUUd6WjU1NXBoMUJkUWxqUkNtVDY2Ky92a3U2V3ozNThNTVBNeHZBeTVaWlpwbHNzY1VX
cTMyODAzbFh2UVBBCmEzZTdhNE1vL3QzYmUrKzlhOHVtUHp6VWFrQjIybWtuci9Fb0U0MFlMV0ww
R0RmNjZLTjdhYXZNYjd1dU40Mm5WZk9OVnZ4anhzQkkKb0gxVWU1d3RLL2pLTUs2NDRnby9NcmY3
N3J0MzhmZmdndy82a1dMcldIUzVucDYwa3EvMFdldGsrRXVNQURJaVd1WU9PT0FBZDlwcApwN21o
UTRlNlF3NDV4SThhcnJUU1NtWGV1MXp2U2ZxNkJOVEN5ZU9QUCs2KytPS0xQRStMTDc1NGw2ZDdX
cjUxWmRvbHNvS1RpU2FhCnlGK05tVE55U0xqV09TcDRvdnJTVVVjZDVSanhmdU9OTnhxYjB2V2tY
SnJXRzFKTjJoNSsrR0YzNmFXWCtyYUdZK3UwK1BPNzc3N2IKVWM4WnZiSEJqdXBNZm5lM0orbHVG
RUdCcDRGY242am5HMnl3Z1p0dHR0bWNkY2E3cFA0SFAvaUJzMEVqWHdiV0djbnY4YjZiME9kNApE
OVpkZDEwWG0xZHdiOEVGRjJ6YzFyLysrdXZ1M252dmRaaWpCSWRXbmZwWTUzcFNsazNySUZvMk5F
R0xMcnFvVDg2amp6N3FSK3NuCm5YUlNaeDBzWjhKVFhUTHorejFKYng1SWl3Y0R1ZTZSbGRDV29R
V0ozZGhqaisyT1BmWllmNm1WZmtZY1J0VnhrN0tZWkpKSnZMWTUKRGFlbjdmZUlVaVkyd0pCbXZh
WHo4Y2NmM3kyMTFGSytiVW5MdHlpZ1R1ZWRNb3JmQVhpMXM5MGxQTnJaK05lZkRLQi90WHJsdWs2
awpqU0s3SlpaWUlzOFNqVDVxdHJQT09zdE5NTUVFN3NvcnI4d0ZtUC84NXorK2MwcUh3a1lJM0Fr
bm5KQTMrbmtBM3gzd3dhTlRTeGlZClp2Q0JRRDBlWEZVOE45OThzM3ZnZ1FmOEJ4STF2MmxvM0Z4
enplWEQ0ZGhHN3h3RmYvVFJSL3ZPM0VjZmZWVG9uN2pLMHNHekNBYVkKRmp6Ly9QUHV4Qk5QOUht
aTg1M21qL1FYeFl0WkNYTVArTWlSVGpwYlJRNlRCUnhoMDZpYU5zU2ZFeS9DSDVXMnlKVnh3TFNB
OU5ENQp3TlNDemg1Q0hTbzd6T3R3bjN6eWllYzk1WlJUT2pvUVR6enhoRFB0VjFFMC9obzI1Y0dS
bitPUFA5N3R1ZWVldnNNNzFWUlRoVnRkCmZzdlNWOFpydXVtbWExeC9xRjhJYkdPT09hWXZuMm1u
bmRZL1M3a2pLRjEwMFVXZTViYmJidXZyUW1BYUVwaVc3OUpMTCswN3dEWmEKN0gvcHpQR1J3U3dO
ZnRpWm4zNzY2UTVWSjUwMjZ2OFlZNHpoempqakRLOEdKZHhXNm45SVIveExHZUJRcThhTzkraVlZ
NDV4TnNydAo0NHp2Y2N5OExEcUFtTnBnZzR2ZktuVnNXYm4wUnIzQmhBZlRIT3pzcWNjSXNLYnBj
VGZlZUtQbmhVbld6anZ2N0g3NjA1KzZ5U2VmCjNIM3d3UWV1N0tOWmx1NU9yMCswUjNTcWFVK0xI
SXh4MU5XNHZmL3hqMy9zT3hlYmJMS0pONE9qVGdlSEtXN3NxdXJnMUZOUDdjTmgKc0FwendnMDMz
TkEveWp0VTVzcktzamZxSUdaYXNYQkwrMFZidCsrKys3cDk5dG1uTElsZHJwZWx0OVByWGhkSXlR
bnZPZTBzTHE1MwppVGQvR3ZjenF1b2Fuc3ZLSWcyWHdSaE14aG40c0pGcGZ4dnoxeWJmNUpIeCs1
THk0YnlPZGRFelpkZkVlM2d5OFRzUTdyYlM3b1puCm12NDJhVCtiaHRVV2Z5YnB0K1JTRTZ6NDRi
bm5uanViWjU1NU1yTXB6RkR0MndmR20rWGd4enJPWHVWdWpiczNlN0dQa1Zmamw1a1AKMlp5VExL
aXJUSmp3YWlUN2tQcm9xdUl4Ty81c21tbW15VTJqN0FPUzJRaWVmNDd3VENMTWJENURaaDNRakRS
Z21sRG1uNGVxMG9IcApBdXBsWEZYK2l1SzFEbnRtbzRqK1dmNWhBaEhNZ2ZLTDBjRldXMjNsZVZt
aGV6TUtFOEF5RXo0eVRGZUtYQlVIczluTVpwbGxGbDgrCkppQm1OdUUzTTN2Y0RQT3A0R3krUVdi
ekkvd3A2YkpPUkdhZHdIQzc5aGR6R2RJYW14REZEMVdscjRnWDRXRSsxTFQrMktoTVpuT1QKZkpR
MkFwd3R2UERDM3NRbnBBRlRFTk11aE5QQzM3aDg4VUNZMXZuUC9WTG1vVzZaTUpsWkJ6a3pBYzZi
bXFDVzVsM0E3QWxYVlQveQpBS01ER3gzMi9EQVB3VlNCK29yWmkzVVdmVmlSMTh3RUgxK1hUUENK
TCtmSG1HNVpKOStmWXhwZ0FtR0dXVk9ScXlxWDNxZzNGMTk4CmNXYkNuVStLQ1NQWk9PT01rMW5I
ejUvZmQ5OTlub0YxbnYwNTc1b0pjZjQ0L1ZlVjdrNnZUeWJVZVk0bVFLVFk4bk1iNlBIdFNiaEEK
RzI2ZFEzOUt1OEM3YkFNaDRYYVhkNG1MZFhXUXVzTTdTRGdtaEdTWVlwUzVxckxzalRwSXV4Wk1V
V2d6K002WUZpNmp6Y1haM0pucwpyMy85cS84dFNuTlZlanU5N3NITEJ1ZDh1V05XQ2w4VGRETWIr
TW5tbjMvK0lweitXbFUvbzZxdVZaVkZHcGxwNUh3Wm02YkwzNkw5CmJQcE5IdEcvTDZGTU1ET3Nj
bFdzNCtkNFY4eUtJTDQwM0xGNE8yOWFYZlVPdE5ydURnYzV1VUQvaXpZM3RPVk4yczhraUY0OUxi
ZXAKc1ZSM3h6RVJhZm5sbC9lajYweHdDaXNuTVJuTmN1Sk5sc3pPelRFcS92YmJiN3ZiYjc5OXVH
aFlsUWd6aktENlhtQ0JCZnpFUlViQQpneXVMaDVIOGRkWlp4MW5uejN0RjVjZkVTUndxZGtiZEdQ
WEhyQUROd2h4enpGSHF2MGs2Z2txdEtuOUY4YUtGWWFMak5kZGM0OVBHCjVEejRGRGxHZlJtcFFl
TmluWEEvNFl2UlJFd2E5dGhqajZKSHZFYWpqQU9MQmN3MDAwd09TUnVPY0dWeTFMLy8vVzhmRnF2
VWtLNHcKS29VWkVKT2dXM0hCTEl5MEY3bFd5NG42MExUK1VML3V2UE5PUDlwSzNNVEZ4R1ltZVZt
SG9DZzVwZGRDK2VMQmhFUS91b2JtQ2tjYwpsQWNPellnSkcyNk5OZGJ3aXpPZ2xtYUNPOW9INmw5
Vi9mQUJsUHdqVHJRM2pFSXpza2NkU0VlZnlSdWp1RVdhTUp1SDQ4NCsrMncvCitaTW9HRW1rN3FO
cEtISlY1ZEliOVlhUmVSdFE4RWxCNjRIbUxUQzFlVGtPRFZ5NFQzMUhDMUxrcXRKZDlQNTFVbjJD
R3c1dGNwbmoKSHUxeGtjTk1acjc1NW5PLy8vM3Z2YWE0eUU5VkhjUS9kWWYzQlkwaDcwWFFTQmVG
VlZXV3ZWRUgwZFF5RW84WkVHWlgxakYyKysrLwp2OWZrTTJtZWRwRHJhQTV0WHRod1NhNUtiNmZY
dlJnV25OQUtvNVhtcjd1dXFxNVZsVVVhSDk5Z3ZvSGh1MnNEUFkyK3lTUFQ5eVZsCmtwNVhzVTc5
MXAyTDk3ZDlrYWJ2UUpOMnQ0NTVlcit1L1V6OTkvWjUyd1dRdU1PRy9SbXFTaHdkUDRRQjRQT0gy
UllkRG9TTDFDR1UKWUpNZmgwV0htK2VEaSsvRjhYQ2RncU14d1dTSkZZNHdzUW9PRXh4ZWhPQ3Ev
TGVTanJyOHBmSHlRVU5Bd1B3Qk15QTZzR25ITXFTUgpEaVNySXZFeDQrUE42aUYwSVBsd0J2dmE0
RGY4VnVVTFA5em5MemhzT2NQSDlSLy8rSWNYMU9Ld0VTaGkvK0c1c3QrUWw5QzRwLzdxCjBwZnlx
dU1iaDI4ajU3Nk0rUmdGWjZPdi9wQ09aeXN1empObGhaREI2aVk0QkJvNjg4SGhOK1NiYXdpNzFF
MVdHV2tsL1NFOGZwa2YKZ2FDTUlQRzN2LzB0dnRYbzJEUW9maVVwT3ZMQmJiZmRkcVdkemJweTRY
N01wS2YxeHJTUDN0U0t0REZYZ1RvWDJnU0VObFlCdzlHSgpqdDliZnpINlY1ZnVUcTVQbUFYaWJQ
UXJJdmI5SWU4bzVvRzBNVVVPY3lSTUZtSElTbXJkWGJLYTk1SFZGT25JODU0dzZGTGs2c3F5CjNY
VVE4MG9HWEppVGd2Q0xtUUx2cm8ybSs3a3pwQmNoaEc5UTBZQlpYWG83dWU3RjVZc1pwVTA2OXl0
Z1lmTEdJRTI3WFYxWnBQSEYKZGFucE4zbGsrcjZrUEhyN3ZOTjV0L0lPdEt2ZFRjczBMZ1B1eGQv
dzFHOXZuNC9XMnhHRThGbHpuaEhhMUg0OTNJOS8rUmhpejk1ZAp4L3dHUnR1d2FjYmVud2FqeXBY
NWJ5VWRyZVF2cElVbGhiR1A1Z09IclRDVFFJdEdLZW5BaGc0MDl4a0ZSenZFdkJGR0pjdGNXYjdL
Ci9JZnIyT1dUbjlSUmNkdnBXa2xmSzN3WlJjYy93bS9ReEREU1JmMmpJOTlkUjZlSkpXRVpMY1Ur
blBsQnNaQldGQzdhSStKdEpmMXAKT0wvODVTOGRvMjRISDN5d1E2dElJOWJVMmNva2pyL1ltZmxk
UG84b3ZoNk9XeW1YOEF5LzNhazNDQnRoL2cxTHN6SWhtUGtnYUQ5bwpHSm5yeFJ3azV0a3dXYnJL
dFpMdVZzcGpSSzlQWVpFUXRIRkZEdUdPZVV0b2c4dmNqRFBPNk00NjZ5eS9aQ2tUMnVQRkVjcWVD
ZGNSCmNPSzJnN2FMT1hNc3djclN3TEZtT3p6VFNsbUdaL2p0VGgyTW4rZVkra2piekJLOHpEZXlG
WnE4RnpTWmRGS0xYQ3ZwN2FTNlY4UXEKWER2MDBFUERZVnQvV3ltTE5PSW0zK1FSdlQxSTg5eWY1
NTNPdSs0ZDZFbTcyNS9sMmpUdXRtdEF5aUptY2pNYWp6REtqajgrVEl5MgpwNDRQRXB1UU1jazZP
UHcyR2IxbU12UTIyMnpqUHlMeENIZ0lKLzJ0OHQ4a0hlSEQya3IrU0FPamtYejRHZUdtYzhtRVpy
UWJSWTZQCk5LcXo0RENmUXJoaXBPN01NODhNbDd2OFZ1V3JpOGVDRTRRaXpERnNlY0tDdSsyNTFH
cjZXdUhMNkNXVHdqRkxDZzdXTmcvRG05K0YKYTAxK1Eva0d2NnhFaFhZTjA3Y3dPaC91cGIvd1k5
STNKaDJ0cEQ4TmgzTW05ZE1Zc2ZKYTJVaDIwWE90WG11MVhPTHd1MU52RUVBdwppYVJ6aTNrVkN6
SFlVckgrMkpaRDlhWS9EQ0xZTW9LbGs4OUpRNnZwYnFVOFJ2VDZoQURDeUQ0YUpRUzYxREh4bHJZ
UzRTODQvS1YrCkVSaHN6cGx2cjhyTXRjTHo4Uy9hQlJicmlKMHQyK21Ga2lLaHFOV3lqTVB0VGgy
TW44ZmtDaE5pQkE5TVpEa09qb1VjZ25ZdVhPTzMKMWZSMlV0MkxPYVhIMUxuWFhudk4yZnlhOUZh
M3oxc3RpemlpcHQva0ViMDlpUE5jZEV5WjBML29iU2ZlMzVwa3hlOUFPOXZkM2k2Lwpkb1Rma2dB
Q0hNd2t5bFR3akF6d0Z4d2p4UHpoR0RWRG80QWEyeWFlKzg0M3E5OFVxZjFSMDZKKzJuVFRUYjM5
UENOUHJCYUErUXV1CktoNzhrazRhSWpxaG1HQWg5Q0RBOEVjbk5LU0pzS3I4cy9GaVZUb1kvV2JF
RGNkY2lxcjhwZkhTTWVYRGoyT0VqWTk3R0szM0Y2Ti8KcVFEQ0xlWWFNR0xNeW1CMHJsTlhsUzg0
VUk1eEJ3T204TUxCbjFIN3NQb1cxNWpMdzhoZDhNTzE0R0NOV1UvOGgza1lEdTBPWmtDcApxMHRm
eXF1VityUGVldXY1T1VnSXZNR3hLaG9mRGt4QWNLeDBRLzdqK2hyOGh0KzRmS216T0VaQVdja0hN
Nnl3ZWxEd3p5L2xHaHdDCklrSUtJNzZ0cEovblF3Y3Z4SXMyZ05FaXdrY0lpY3VPdktHUktadHZF
OUxUNUxldVhOcFpiMEo2K05naGRDQ0lJNnhSWitnd28rMmoKSHJGeEh2ZXFYRjI2TzcwK01kREIr
OHVxTnJHai9jTDB5UGJ1OGZNeXdqM2ErS0oyQlUxVWtlQmRWd2VKUDNiVVpRU2pvTm1ONzlXVgpa
Vy9VUWVLbmJlTzl4aVFXeCthcnpGWEIwUVlqT1BBOVNGMWRlanU5N29VMmpIS0xIU1p1Tm5uWm9a
R05IVzBiZnN2NkdWVjFyYTRzCjRuZzRwdjJuUDhBM3NlazNlV1Q0dm9ReWliOGo4S0JNbUtmRm5D
OWNGV3Z2NGJ0L1BKZUdGZDhQeDUzT3UrNGRhTFhkaFR0dGN1aUgKQnM3aE43eEQ0WmZyVmUxbmVL
N1BmdTNGYStSWUxjcUVCMlpKKzAyYjJJRFFPano1czZ6U3c2cENwc2IzSzRpWVNWSEdob0hXa2Mz
TQpaTWo3czZVL001dDg1amRUTTN2dXpKYS95NTlQRDdpSEgrSXpUVVJtSmxYZVMxMDhiSDdIS2xm
V21jOU1nUEViU3JHeWppMzltTmxjCkNyLzVIS3NBV2VmZmgxZmwzd3JYcDdFb0hUeHNvK0ErTHpa
Unk2L09VNVkvVy81MHVIamhhWm9NdjJHZm1WSmxwclhKaWxZeGdqRU0KYkJLNlQyLzhqNVhHYkNu
ZHpFYm00c3YrdUNwZnJMUmduV3Uvc3BYTlRmQXJWWm1kdUM4YjJ5bmJQMCthcmRQcnk5QUVNYi82
RXF0YwpjRDExdGt5cVR5UHBUUDhvZit2NHBJOWtWZWtyS2ljQ0tPTTdYT0IyZ2ZwSFhUenNzTU15
RzRIMUsrL1l4OGw3WmVVUDYwVDV0Sm9BCmw1bW1yU2lJNGNvM2VHS0ZLOXZKTjV6bXY2eWdRdDB6
MHcyL2toT2JhOWtvVDM2L2FmcE5FNVpSSHJBa2pGRDNDWWlOUHJsdUFtaG0KZ3A4UG00MGZ1V2Fk
dkR5dTdoNVVsVXU3NjAyY1J2c3crWlc2V0NISnRCMytYV1VsTURhUll3VXY2eHpFM29jN3JrcDNw
OWVuQU92bApsMS9PYkRHSnpFejZNdE9vWmYvM2YvK1gyWWkrWCtFcCtPR1hGWjk0ZDJnbnFiT3Bz
eEU3M3g3RTE2dnFJTzgvYllRTlVHUW1UR2EwCmw2eXNaVnFST0lqOHVLb3NlN01Pc2xvWWRTVTQy
bWhXdWVPZFk5V2dNbGVWM2s2dmUyenFhQU0vdm4weVljNS9oL2tXczhvaTMxVWIKWk9peXFsOWRQ
NE15cUtwclZXWEI5engyZkRmWlBDKzBuV1poMGVpYlRCZ2o4dmNsTGhQZWY5NUpOb1MwZVU2Wnpi
UDE1V0xDaEVkVgp4Um9QTnJqcit5YW1lZlQ5QjlvTzYrejZaOU4vNHUyeXFuZWdPKzB1ZlFDejB1
alNiZ1h1Tm1qblZ5NmxmdHRBdis5cjBuZXA2L3VGCjUvdmlGOG0vVHgyTkFCK2VvczUybWhCZWdy
Z0RsOTZ2T3FkREU1eEpmT0d3OUxmS2YxVTZiS1M2UzVoTjgyZWpiZjQ1RzRuSVdCcTEKdTg1R2J5
b2ZyY3BYNVlOMjAwYnVzcEMvdW5qcXdpcTczMnI2bXZJbFBzcU5YVzdMT2pwbGFZcXZoL3pIMTh6
R09GKzJNNzZPQUdJcgo2Zmp5dE5IaitGWiszRXI2ODRjYUhOQ3dWQW4wRFlMbzRxWFZjb2tmN21t
OW9jTktaNkJPNklqakRNZXRwcnVWOGhoWjZoTjVwcU5uCkd0dUFyZVZmMnEzVU5hbURadUxVZUdm
eFZzc3lUazkzNmlBZjg5QXV4MkUxUFc0MXZaMVk5NXF5clBOWFY5ZGFMUXZpQzJYZjlKczgKc3JR
SFBXVmQ5M3paZmZFdUkxTit2YWpkTGV0cmxJY3ljTzcwdVFBeWNMS3VsSWhBYXdUWWc0Uk9nNjBF
NUlXYjlPa2dnS1RYZS91YwpqcnF0K05aSXFPL3R0Q2o4NWdRR2FuMXFub1B2ZlRhdGc3YkFRTGNI
bGI2UFRVYzlKVEFpMTcybWRhMm5qUHI2K1lGWUppTXJhOHAyCklQTHU2enJYMy9HMU5BZkVWRGx5
SXRDUkJGaTFoNG1wTEFEQThxSHA1SFFiRGZPck5jVUxKL1FWS0ZiblluSXc4M2JrUmd3Q0E3aysK
ZFlkZzB6cklQSXA0UVkzdXhLVm5la1pnUks5N1RldGF6eWoxN2RNRHRVeEdSdGFVN0VEbDNiZTFy
djlqRzRRRTFQL0pVQXBFWUdBVApZQklYaXdhd1dBQXI3YVRPYkwzemlXQ3NWc1hTdVhJaVVFWkE5
YW1Naks3M05nSFZ2ZDRtM0hyNEtwUFdtZlhrQ2ZIdUNiMzJQU3NCCnBIMHNGWklJaUlBSWlJQUlp
SUFJaUlBSWlFQU5BWmxnMVFEU2JSRVFBUkVRQVJFUUFSRVFBUkVRZ2ZZUjZEY0JoRjJxaXphaDZt
blcKV0x2K2xsdHVLVjFEUEE2L045TFFTdncyb2RsdnZCYlNsSjZINiszNnRRbGxmb1BIZG9YWHpu
RDZNbTI5VWU3dFpGRVZWbHBIK3BKYgpWYnE0MTl0YzA3eW42YkZWVmZ4K05lbjFjRTc2MlBTcEhh
Nk9lMTFhZXBLR3VyaWJobDNIczJrNG84NGNQQUFBSUFCSlJFRlVmZW12CnQrdFliNGZmbDZ3VWx3
aUlnQWdNWkFMOUlvQ3dDUlVURVcxdmk3YXlZUk1wZGhPM0pmcjhKbGQ4WU10Y2I2U2hsZmpaVmRk
V1RYTHIKckxPT1QySjZYcGJ1bmx6ZmE2KzkvT2FGUFFtanQ1N3RxN1QxUnJuM0ZwTTAzS0k2MGxm
YzByU2s1NzNOdFNqdmNSclk5WjZONDloRQpxOGpaMHNuTzFyaDM3SzdlRGxmRnZTNHRQWTIvS3U2
bVlkZnhiQnBPWC9ycjdUclcyK0gzSlN2RkpRSWlJQUlEbmtCL0xjUEZKb1ZzCjhOUXVaeU5YZnJP
L3NMYjBYWGZkTlZ6UWJKcGoycEg4ZWp2VDBDVCtQT0x2RGc0Ly9QRE1CTEg4Y25xZTMyalRBZnNy
c0MvR1FIUzkKbWJiZUxQYzA3TjVtbTlhUjN1VFdhbDdhK1Q0VnhaM21QZlhEcG9YTExiZGNlamsv
NTExcngyYU5CRmpIdlM0dGVhSWFIS1IxckM3dQpCa0Y2TDNVODAzaWJodHViL3RwZHg5STh0anY4
M21TaHNFVkFCRVJnUkNiUU5nMkliZnpVa3JBMSt1aWpEN2VVYVVzQkpKNGZmL3h4CnY4Vzg3Y2J1
NzlpdTNWMTgyTWFIYnFPTk5uSjMzSEZIZnIyZGFhaUxQNDgwT2hoampERzZNRWpQSTY5dE9XUUUy
SGJFYkRrc3ErQnQKZmFhb3JyU1N0bGJTMDV2bFhoUjJ5NkJhZkNDdEk2MXdheHBWVTc2cHYzYStU
MFZwVGZNZS9MQUVNbzVsaU1QN0grN0Z2KzFNWHhuMwpwbW1KMDFWMVhGVEh5dUt1Q3Fmb25TdmpT
VGhGOFZhRjM5MTdSZW1xQ3F1ZFpWaVV4M2FHWDVVUDNSTUJFUkNCVGlmUVNBQ3hIWE9kCjdmRHNs
bDU2YWJmQUFndTRlKzY1SitkMjg4MDNPOXNFelIxNTVKRnVpU1dXY0xiRGJuN1BkczkyZSs2NXA3
Ly9pMS84d3RtSVczNlAKQXo3V21CTk1PKzIwenJhb2Q4T0dEZXR5UHo3Qk50ZEdGZDNPTysvc3pZ
aTIzMzU3Ui9pNDAwNDd6ZTJ6eno2T2o5bTIyMjdyZHRsbApsL2hSZjN6MDBVZTdLNjY0d2wxMjJX
VnVrMDAyY1I5Ly9MRy9YcFdHcW56SEVaVEZYNVhtK1BteTQ2cm5iVWRoTjlsa2s3bTExMTdiCnZm
LysrKzZzczg3eTV6Lzk2VStkN2Z6dGc2Uk1sbHh5U1dlamZPNk5OOTV3aHg1NnFGdHNzY1g4dlZ0
dnZkV3R2Lzc2bnRYcHA1L3UKOTdlWWJiYlp1cFNCN1Nicm1lKy8vLzV1eFJWWDlQNHA2MWlJQzJt
LzZhYWIvTkt6Zi9yVG45enV1Ky91cHBwcUtsK3VYQSt1cks2awphWHZvb1lmY2xsdHU2Zjc0eHo4
NjA1TDVmTjEzMzMxK0dkeVRUanJKNXlNVk1FTWM2Vzl2bG5zYU5pWWNyWlFKYWEwcTR6UXY2WG5L
CnJVbVpWdFZwbGhsdXdyZktYOVg3VkpWWHdweG1tbW5jY2NjZDU3T0pLZVdzczg3cXR0cHFxelRi
K1RuMWM1dHR0bkVISEhDQTkvZkEKQXcvazk4b09lSWIyQVJOUTJyS25ubm9xOTFyRkp2ZGtCeWwz
N3RXbHBTenN1akpMNnhqN3pNVHZNWEZYdGJObDd4elBWYmswWHRyTApxdklyQ3Fzc3ovaXRTbGRW
Zm5pMnFvNXhQM1pWYVM3S0k4OVdoVitXcDdJMkswNkxqa1ZBQkVSQUJDSUNOb3BaNmF4VG42Mnl5
aXArCjEwak1tNnhqbUZrbksyTkxlSnRqa1ZtbklUZHJNaUVnVzNmZGRmUHdWbDU1NWV5Zi8veW5Q
N2ZPQWNQbzJZTVBQdWpQNTU1NzdteWUKZWViSnJJT2EyV1QwekRxLzJXOS8rOXY4MmZSZ3FhV1d5
djd5bDcvNHkxOTg4VVcyOE1JTFo2dXR0bHJ1N1lJTExzaHM5RE0vTHpxWQpmdnJwc3dNUFBEQy9W
WldHcW56bkFVUUhSZkhYcGZuWVk0L05wcHh5eWp5VTlMenUrZm5ubnovN3pXOStreisvekRMTFpK
dHV1bWwrCmZ2WFZWMmRubm5tbVA3Zko4WmwxNXJKSko1M1VuNy81NXB2WkxMUE00cmxmZWVXVjJZ
c3Z2cGhaaHkrelRmYnk1NjB6bUpuQTU4OU4KdytQTGp4MjM4WnM2RXg2enlTZWZQTE9OeGpJVFVE
S2JoK1BMOTRjLy9LSDNXbFZYMHJSUlp3WVBIcHlaVFg5MjBVVVgrVHIzNUpOUApadXcwSHR5T08r
NllCWE83Y0szc3R6ZkxQUTI3bFRJaHZYVmxuT1lwcmlNcHQ3b3lyYXJUTmhyY2lHK1Z2NnIzcVVs
ZWFVdGlzMHdUCmVyUDExbHN2UnhEbm5ZdXJycnBxWm9LS3YwOWRzUDFaTWhQQWMvL3B3UTkrOElO
c3pqbm56R3dnd3JkWmxKM3QyZUoza0s5aWs0YVQKY3VkK1ZWcXF3cTRyTThLTzYxaFIzR1h0Yk5V
N1I3Z3BUNjdGTG82WDY2M1UxYW84MTZXckxEK2tvYTZPNFNkMmRXbE84MWdWZmxXZQppdHFzZ1dy
dUd2UFJzUWlJZ0FqMEY0RmFEWWgxckowbHpvOTZYM2ZkZFg1aysrMjMzM2EzMzM2N1ExM05KR29U
Skx4SWcybEFHRkZrCkphcUhIMzdZTGJMSUl2NGVvNDBubjN5eW0yNjY2WEx4eHdRSXQvenl5enZy
R0xobGwxMjJkQVViNHIzenpqdjlDRHdQRTY5MXZOMVYKVjEzbHJPSFB3MnR5a081Z1haYUdxbncz
aWFlbmFXN3l2QWtiN3ZycnIvY2pkcVJwaFJWV2NDWk1lRTBRNTJnZnJBUEhvUitaLy9HUApmK3pM
a25OR2dOblZtMnN3b0Z6TWZ0NzkrOS8vNXJaM0xCSkFtZUxRVURHNmo0dkwwRit3Zi9ZaGR5WnN1
RFhXV01QOTVDYy9jZmJoCjl3c0NzTklaZGFLcXJoQnVuTFpGRjEzVW9ZMHhlMnhuQXEydk4vaDU1
SkZIM0RYWFhPT2paRGR5Nm1WVDE1dmxIb2ZkU3BrMEtlT3EKL0tYYzZzcTBxazZqUld2Q3Q4NWYy
ZnZVSks5amp6MTJGNVBFY2NZWnA4dDV6QUl0TEhWaHBaVlc4cGN4dmZyWnozNFdleWs4M25qagpq
ZDNxcTYvdTI1dUREejdZdmZEQ0MvNDlxV0tUQnBSeXIwdExWZGgxWlJiaURuVXNqYnVxbmExNjUw
SzRkYjhoM2libEY0ZFZsZWVxCmRGWGxKNFJmVnNmQy9mRGJOTTBoaitHNXN2Q3I4bFRVWm5YSDNE
V2tRYjhpSUFJaU1MSVRxQlZBNk9EVENjVmVtRC9Nckc2ODhVWnYKdmtERGJhTm8zZ1FJMHh4V24v
cm9vNDg4TXdRVXpHVGl4aDJ6bXRDaHhWTjh6MGE4dllxL0NEam1OM3g0K1hBRlp4b1FmNGlRMDRx
TAo0K1M1K0R4T1ExVyttOFRYMHpRM2VaN2R0aEVHZzBrVTVtK1lTbURlZ05rVnBnVGpqanR1bmx6
eUd1YzNQUjkvL1BIOWMrRUJ6bU1CCno3UTF1VUFaL01TL2hEZnFxS1BtbHhBaVlJb2d4TDJ5dXNJ
RGFWcm9qRkxtd1pubXhndTdkQjR4czV2ZUJKNDRydUN2N0pmd1l4ZWYKOTdUYzQ3QmFLWk1tWlJ5
bnVlZzQ1WmFleDJWYVZhZWI4cTN6RjdPSXViWWpyM0grLy9HUGYzZ2hkYUtKSnNvdmp6ZmVlRjNx
ZDM0agpPcGh3d2duek16cU51R2VmZmRiWDg3SjJMbjhnT29nNTE2V2xpanRCeG1GeEhwY1o1N2lZ
YSt5L3FwM0ZYOVU3OTIzSTFmOUR2SzJXClgxV2VxOUpWbForUTBwQW16dU02RnU2SDM2WnBqc1Bq
MmZnOERyOHFUenlYdGxsY2t4TUJFUkFCRVNnbU1Gcng1ZSt2Mm9vcmZuSW4Kbyt0Rmp1VXQwVTZj
Y2NZWmZpNEdqVDRPVzlsNFBralJzMDJ2WVY5Tk9yRG5wWk9CWThTY1NhZGhMa2ZUc0pyNnE4dDNY
VGc5VFhPVAo1K2t3TVZwMzdybm5PanBpTE92TFNERDI4eDk4OEVHUGw5dzFNeWYzNjEvLzJqSEJm
c3d4eDNTTVNETVBxQlZIZWlnblhGbGRhUm9lCmN5ek16TVlkYzh3eERwdHJ0RDhUVERCQjA4Y2Ir
ZXRwdWJkU0prM0t1RkdpRzNxcXkxdFR2azM5eGNscWQxNWZmZlZWM3liRWNYQWMKZHg3VGUrazVt
anc2Ky96VnNVbWZqYy9yMHRLVHNPTjRpbzdyMnRtZXZuTWh6bGJMcnk3UFplbXF5MDlJVDVQZlZ0
TmNGMlpkbnVxZQoxMzBSRUFFUkVJSHZDZFJxUUdhWVlRYXY4V0JFUFRoTVh4ajFNN3Q4UHdtVXll
V3hkZ0ovZk53WldXVFNaSEE4MTZyR2dtY1pTVGNiCmI4ZjYrc0daTGJRM05jSk1weFhYdElOU2xl
OG04ZlUwelUyZlIwQmdiNE9oUTRjNm0wUGpNQUc2OU5KTHZkYWhWV0VoelJjbUxaZzYKWWNyQUJG
OG16TGJpekFiYXNXbWF6WXVvckN0TndqUmJlVWVaMnpLcVBqMElSUWhhVFYxdmxuc2FkdE15YVZy
R1RmTlk1NitxVGpmbAoyOVJmbXBhbWVVVnIxOFFoaUtMOW80NTExNzMrK3V0ZVl6dmZmUE81S2pa
MTRkZWxwU2RoaDdqVE9oYXVWN1d6VmUxemVMN3VOOFRiCnRQeENlRlY1cmtwWFZYNUMyRTEvbTZZ
NTVMRXUzS284MVQycit5SWdBaUlnQWwwSjFBb2dHMnl3Z2RkbVlENWxFODk5SjNDLy9mYnoKeTds
aTIwK0hnUThLQWdJbVdBZ3FDQm8vLy9uUDNWaGpqZVU3eFBqamI5ZGRkL1h6QkVnQ28xUDhCY2ZL
SjJGVnEzQXQvREtQZ1hraQptSDRGUjRlWUQ0eE5XUFNYUHZ6d1E1K1dPTXpnTi95aUpXQzBFa2Rl
cXRKUWxlOFFYdnlieHQ4a3pUYVozaTkzR2NLSno1czh6M08yClFJRFhUbUNPaEhrSjh6alFDckFL
VmZwaEpiOHdEbk1uaUMvdThIR2ZjZ3h1MzMzM2RUWlIzYkhpMks5KzlTdHZZaER1bGYwaWNBU0gK
d01JcVhNd0RxcW9ycENkTm0wMzQ3RklmQ0plVmtuQ3N5TFhtbW12bTJqRE0vbGg5QzYxSWtldk5j
ay9ESnY2bVpkSzBqT004eFhXRQo2eW0zcWpLdHF0TlZmT1A0cS95UkZ2NkNpOS9wSm5sRnE4a0dl
ZVFCNFlEQmk3Zyt4WGxuVlQwMGE4d3JDKzdwcDUvMm1veTREb2Q3CjRUZSt4M3lEdGRaYXk4OWhx
MklUbm8xL1krNTFhYWtMdTZyTWlET3RZMm5jWmUxczNUc1g4NHp6Rm83amVOR0ExN1hCNFRsK3Ev
SmMKbGE2Ky9tN0VlZXpwTnlGdHMrQmdFKzZkTFh5U2YzZTRKaWNDSWlBQ0ltQUVyUE5YNjJ4cHpz
eE1jRExyMFBvVnNHeUUzVDlqNWs5KwpwU0l6aS9Lckw3SHFrcG5wWkJ0dXVLRmZJUXQvWnNmUFRP
SE1Scll5TTlYeXo3R3lFU3RXelRISEhKbHBSRExyT0dac0FHVWRDcjlDClRWR0M4SVAvd3c0N0xM
UEpwNWt0SVp2Wmg4eDd0VW1nbVhWMGZUeTJ4R1ptSFplaUlMSTk5dGpENTRHVm8yenAyZG8wbE9V
N0Rid3MKL3FvMFcwY3JzNG41UHMwbm5uaWlaeE9mczFKTTFmTnhHc2l6TGIyYlg3TE9lSmR6YmhD
ZkxjSHI0Mk16TmxZZnM0K3ZYem5JYkpzegptNENjL2VoSFAvTGxmTU1OTi9pd2R0aGhCKytmOGpN
QngyK2FhTXVlK3JMTkk0c09XS1dLbGF1STM0U1hqRldNV09VSFYxVlhxQmR4CjJzNCsrMnkvcWFR
SlVaa0pIZjU1TStmTGJOSjhacVliMmVXWFg1NlJEbFprd2xHSHFFOExMYlNRUDAvLzlWYTVFMDhj
dHBtUDVGRTMKS1JNOE55MWovQmJWbVpoYmt6SXRxOU5WZklrN3VESi9UZDdwdXJ6YTNLWE1UTmo4
eWxSLytNTWYvS3B0dGtpRlg3RXF6VHZ2aDVrZQpabVkrNWRzTzY3aG1OajhvczNsbi9ucEliL3k3
OTk1N1p5YmtaRGI1UER2b29JT3kzLy8rOTM1MXYrQ25qRTI0SDM3VGQ2bEpXc3JDClpyVzR1dmN3
cm1QWFhudHRsM2VGdU12YTJicDNMbTF2UXY3Q2J4d3ZkYnV1L01KejRiY3N6MVhwcXNwUGt6b1c0
ZzYvZFdtTzg5aVQKYndKMTBlYmJaWEdiUlJwc2NNNS9jMmpUNUVSQUJFUkFCTDRuTUlqREpwSVlv
MldzYUlTS1BOajBoK2NZNldRQ0hvN05uV0p6TElMSApkSWJWWG5ycUNJczlMcGhYd0FwTzNYSFk4
VEtSdHFtcnluZVRNSHFhNWliUDIwZmJhMEZDZXRMemNMM1ZYK3VrdVNGRGhuaXRGbG9HClZrQmlK
UmdUTVAyS1cybDRKZ0Q0MWEvUWtERktHMDhpRDM2cjZrcndVL1NMcG9aeUp3M1VyM2h5UGY2Wjg4
SzYvdGJKTEhyY2o0ejMKVnJrWDFhbTBETkx6T0pGTnlqajIzOVBqb2pwZHh6ZkUyZFJmOEovKzF1
V1Z0S0dsb0QxSjI1STBMTTd4eThnMVpZdjJGVzFBbmNPTQpEUDlwTzhaelJXenF3Z3YzNjlMU2s3
Q0w2bGlJbDErNGxyV3ozWDNuQ0RlTnQ2NzhlQ1oyVlhtdVNsZFZmdUx3bXh6WHBUbk5ZMTJZClZY
a3FlaFpUd2FLMnNNaXZyb21BQ0loQXB4Qm9MSUIwQ2hEbDgxc0NwNTU2cWhjMldNRXFka3o4UnZn
emJVbDgyUjhIQWVTSUk0NFkKN2w1dlgyQVJCRlpHWTdsZ09SRVFBUkVRQVJFUUFSRVFnWUZMNE52
bGlRWnUrcFN5ZmlMQWp1bk0vY0IybnoxY0dLMWtoUnBXM1NvUwpQaGdaRDNiNy9aRmtkb1JueVV3
NUVSQUJFUkFCRVJBQkVSQ0JnVTFBR3BDQlhUNzltanJNbWxpWEg1TVZOb29zRWp4Q0FzM0dPWjlv
CmFidExPL2JEa0JNQkVSQUJFUkFCRVJBQkVSQ0JsSUFFa0pTSXprVkFCRVJBQkVSQUJFUkFCRVJB
QkhxTlFPMHl2TDBXc3dJV0FSRVEKQVJFUUFSRVFBUkVRQVJIb09BSVNRRHF1eUpWaEVSQUJFUkFC
RVJBQkVSQUJFZWcvQWhKQStvKzlZaFlCRVJBQkVSQUJFUkFCRVJDQgpqaU1nQWFUamlsd1pGZ0VS
RUFFUkVBRVJFQUVSRUlIK0l5QUJwUC9ZSzJZUkVBRVJFQUVSRUFFUkVBRVI2RGdDRWtBNnJzaVZZ
UkVRCkFSRVFBUkVRQVJFUUFSSG9Qd0lTUVBxUHZXSVdBUkVRQVJFUUFSRVFBUkVRZ1k0aklBR2s0
NHBjR1JZQkVSQUJFUkFCRVJBQkVSQ0IKL2lNZ0FhVC8yQ3RtRVJBQkVSQUJFUkFCRVJBQkVlZzRB
aEpBT3E3SWxXRVJFQUVSRUFFUkVBRVJFQUVSNkQ4Q0VrRDZqNzFpRmdFUgpFQUVSRUFFUkVBRVJF
SUdPSXlBQnBPT0tYQmtXQVJFUUFSRVFBUkVRQVJFUWdmNGpJQUdrLzlnclpoRVFBUkVRQVJFUUFS
RVFBUkhvCk9BSVNRRHF1eUpWaEVSQUJFUkFCRVJBQkVSQUJFZWcvQWhKQStvKzlZaFlCRVJBQkVS
QUJFUkFCRVJDQmppTXdXbDJPaHc0ZFd1ZEYKOTBWQUJFUkFCRVJBQkVSQUJFUkFCRVRBRFJreXhB
MGVQTGlTUkswQXd0TUVKQ2NDSWlBQ0lpQUNJaUFDSWlBQ0lpQUNQU1V3S0RQWAowMEQwdkFpSWdB
aUlnQWlJZ0FpSWdBaUlnQWcwSWFBNUlFMG95WThJaUlBSWlJQUlpSUFJaUlBSWlFQmJDRWdBYVF0
R0JTSUNJaUFDCklpQUNJaUFDSWlBQ0l0Q0VnQVNRSnBUa1J3UkVRQVJFUUFSRVFBUkVRQVJFb0Mw
RUpJQzBCYU1DRVFFUkVBRVJFQUVSRUFFUkVBRVIKYUVKQUFrZ1RTdklqQWlJZ0FpSWdBaUlnQWlJ
Z0FpTFFGZ0lTUU5xQ1VZR0lnQWlJZ0FpSWdBaUlnQWlJZ0FnMElTQUJwQWtsK1JFQgpFUkFCRVJB
QkVSQUJFUkFCRVdnTEFRa2diY0dvUUVSQUJFUkFCRVJBQkVSQUJFUkFCSm9Ra0FEU2hKTDhpSUFJ
aUlBSWlJQUlpSUFJCmlJQUl0SVdBQkpDMllGUWdJaUFDSWlBQ0lpQUNJaUFDSWlBQ1RRaElBR2xD
U1g1RVFBUkVRQVJFUUFSRVFBUkVRQVRhUWtBQ1NGc3cKS2hBUkVBRVJFQUVSRUFFUkVBRVJFSUVt
QkNTQU5LRWtQeUlnQWlJZ0FpSWdBaUlnQWlJZ0FtMGhJQUdrTFJnVmlBaUlnQWlJZ0FpSQpnQWlJ
Z0FpSVFCTUNFa0NhVUpJZkVSQUJFUkFCRVJBQkVSQUJFUkNCdGhDUUFOSVdqQXBFQkVSQUJFUkFC
RVJBQkVSQUJFU2dDUUVKCklFMG95WThJaUlBSWlJQUlpSUFJaUlBSWlFQmJDRWdBYVF0R0JTSUNJ
aUFDSWlBQ0lpQUNJaUFDSXRDRVFKOElJSysrK21xVHRCVDYKeWJMTXZmamlpKzdaWjU5MVgzMzFW
YUdmcW91WFhIS0p1K2VlZTZxOEZONTc0WVVYdWhWZllXQzZLQUlpSUFJaUlBSWlJQUlpSUFJaQo0
QWtNc2c1KzF0c3NGbDEwVWJmZmZ2dTVGVmRjc1hGVUR6MzBrTnQ3NzczZHBKTk82bWFjY1VZMzNu
amplU0dFNU82NjY2NXVoaGxtCnFBenJ1ZWVlYytlZGQ1NTc1cGxuM0dpamplYmVmLzk5dCttbW03
bzExMXd6Zis2UlJ4NXgrKzY3cjV0cHBwbmNSeDk5NUxiZWVtdjMKM252dnVWdHV1Y1VMTFRmZWVH
UHVWd2NpSUFJaUlBSWlJQUlpSUFJaUlBSTlKekJha3lDdXVlWWE5OVJUVDdtZGQ5NjVpL2NISG5q
QQpuWExLS2U2d3d3NXpFMDAwVVpkNzRRVHR3K3V2dis2T1B2cm94Z0lJQWdieEhYdnNzY01KR3Ur
Kys2NFhRSGJaWlJjMzIyeXpoV2lHCis5MXd3dzNkNFljZjdtYWZmWFkzN2JUVHVsbG1tY1Z0c01F
R3VRRHkrT09QdTJXV1djWmRkOTExRGdIcG9vc3U4dW1jWkpKSjNGdHYKdmVVT09PQ0E0Y0xVQlJF
UUFSRVFBUkVRQVJFUUFSRVFnWjRSYUdTQ2RjVVZWemc2L0x2dnZudVgyQjU4OEVGM3pqbm5lTzFF
bHh2Ugp5VkZISGVXT1BQSkk5OFliYjdpbm4zNDZ1bE44aVArSEgzN1lYWHJwcFY3NDRQakFBdy8w
NTNmZmZiY2p6cE5PT3NrZGNjUVJ4UUhZClZRU2VlKys5MXdzU3dkUGd3WU45T3NMNTl0dHY3eFph
YUNFdmZIRHQwVWNmZGNzdHQ1elh1SHo0NFlkdWtVVVdDVjVyZjd0akdsWWIKcUR5SWdBaUlnQWlJ
Z0FpSWdBaUl3RWhJb0pFQWN2TEpKN3N0dDl6U0hYTElJVjRRQ1J5ZWYvNTVOK2VjYzNvVHAzQXQv
bjNsbFZlOApJTERXV211NXJiYmF5aDF6ekRIeDdlR09tU3VDcWRZRkYxemd3eHc2ZEtnWENqRGRH
bU9NTWR6cXE2L3U3ci8vZmpmNjZLTzd5U2VmCjNIM3d3UWZEaGNHRnFhZWUyaTIxMUZJK3piZmZm
bnZ1SjlhWUVNNlFJVVB5ZXdnZFk0MDFsamZKMm1lZmZmTHJWUWMzMzN5elo0S0EKdGNRU1M3aC8v
ZXRmVmQ1MVR3UkVRQVJFUUFSRVFBUkVRQVE2bmtBakFRUktnd1lOY3BOTk5wblhQQngvL1BHT3VS
aVlaaTIvL1BLbApFUEczMldhYmVXRUNrNmpMTDcvY1lVSlY1dTY3N3o0M3p6enpPTFFWcjczMm10
dGhoeDNjamp2dTZCWmNjRUV2Y1BEc2FxdXQ1aDluClRzam5uMzllRnBRWFlwZzdRaG93LzNybm5Y
ZTYrRjE4OGNWejh5NjBPSnRzc29salRzaTQ0NDdyWnAxMVZ2Znl5eSs3Yzg4OTEvOTIKZWZDN2t5
KysrTUkvcy9EQ0MzdVRNSVNrcG9KTFVYaTZKZ0lpSUFJaUlBSWlJQUlpSUFLZFFLQ1JBSUttZ1U0
NnBsaXJyTEtLRnd6UQppREJYWW84OTlpams5UEhISDd1enp6N2JiYjc1NXY0K0hmdDExMTNYb2RV
b2M1aEJ6VDMzM1A0MkU4QS8rZVFUSHg4WDdycnJMamZsCmxGUG05NGtiTFVpWm0yS0tLZHlkZDk3
cHR0aGlDM2YrK2VlN3VlYWF5ekd4UGJnOTk5elRDeVk3N2JTVE43dWFmLzc1M2Y3NzcrLzIKMm1z
dng4cFpLNjIwa3IrTzF1YXp6ejRMaitXL2FHSFdXV2NkTHpCeGtia2p6RnVSRXdFUkVBRVJFQUVS
RUFFUkVBRVJLQ2ZRYUJJNgpnc1RNTTgvczUwdlFtVjlzc2NXOElJRm1vV3p5K1dPUFBlYVlaNEhR
RU54MjIyM25UajMxMUhBNjNPODAwMHlUenhOQncwRFlDeXl3CmdQZUhXZGFTU3k3cGp4RSswTWJV
T1lTRWxWZGUyWnVKSFhyb29WNFlZZzRKYnVtbGwvWi9JWXhiYjczVlQycEhxOEprZGJRMWFEVlkK
YlFzenJuUUZMelJDVEpKbnVWNkVLaWJrczVLV25BaUlnQWlJZ0FpSWdBaUlnQWlJUURtQlJocVFt
MjY2eVdGcWhKdGdnZ204Sm9RUgpmenJwWlE0aEpkV09zQklWSzFPVk9ZUU5KcDNqbURmeTZhZWYr
ZzQrQXRENDQ0L3Z2dm5tR3ovQm5Ia2kyMjY3YlZrdzNqd3N2c21FCjhoTlBQTkZyUUY1NjZhWDRW
bjVNdWxoOWkva2NFMDQ0WVM1d29OVkFlMVBrV0FHTXBZTFJvakNCSGFGRVRnUkVRQVJFUUFSRVFB
UkUKUUFSRW9KeEFJd0dFVGpzbVRjR3hiOFlaWjV6aDBCcWNlZWFaNFhLUGZ4RkFXRGIzckxQTzh1
WlZySHAxM0hISCtlTUxMN3pRelRmZgpmTzYwMDA3em5YNkVoRExIM0JUMkFZa2RTKzRpSURBeFBu
V1lYREdYaFRDWkJ4TFBhMkUxcmFDRmlaOTc4c2tuM1RiYmJPTUZLalF0CmNpSWdBaUlnQWlJZ0Fp
SWdBaUlnQXZVRUdwbGdwUUlJd2E2eHhocGVTOEh5dkt1dXVtcmxmSXo2Wkh6dkE4RUdjeWRNdHpD
ZlltNUcKY016YllGZDA5dTdZYUtPTnd1WENYNWJ6UGVHRUUvSjdiRXJJaWwxQmt4TnVmUDMxMTk0
c0xHaHo1cDEzWGpmVlZGUDUyK1FiRXl4Vwp4MG9kbWhFME1nZ2liSlo0MjIyMytia2lZVjlIYVVO
U1lqb1hBUkVRQVJFUUFSRVFBUkVRQVZ2Y3lqck1sVHVoc3p3dG1nRW1vYk9TClZleFlOaGRUcTRz
dnZuaTRqbjNzcjlWalRLOHdpYUp6ejRwVXJHYkZLbGJNdDJEaU9lWlhFMDg4Y1dtdytEM29vSU1j
ODBpWVFNOU8KNktPT09xcmJiYmZkL0s3bjhZTm9WRmppZCtPTk4vYVhuM2ppQ2E5aFFmQmhOUzUy
Unk5eVRKQm42VjAwTGV1dHQ1NWYwcGRmSnFhZgpmdnJwUHN5aTUzUk5CRVJBQkVSQUJFUkFCRVJB
QkRxWlFLMEFVZ2VIRmFLS05BUjF6elc5anpDQjJSUzdtVmNKSFdYaHNhRWgrNEtVCmJTeUlKZ01o
WjVSUkdsbWpEUmNOd3RMWVk0L3RyMy81NVpkK2o1TGhQT21DQ0lpQUNJaUFDSWlBQ0lpQUNJaUFK
OUJqQVdTZ2N4dzIKYkpnYlo1eHh1c3hoR2VocFZ2cEVRQVJFUUFSRVFBUkVRQVJFWUdRbE1OSUxJ
Q05yd1NsZklpQUNJaUFDSWlBQ0lpQUNJakFpRXVpZQozZEdJbUZPbFdRUkVRQVJFUUFSRVFBUkVR
QVJFb044SlNBRHA5eUpRQWtSQUJFUkFCRVJBQkVSQUJFU2djd2hJQU9tY3NsWk9SVUFFClJFQUVS
RUFFUkVBRVJLRGZDVWdBNmZjaVVBSkVRQVJFUUFSRVFBUkVRQVJFb0hNSVNBRHBuTEpXVGtWQUJF
UkFCRVJBQkVSQUJFU2cKM3dsSUFPbjNJbEFDUkVBRVJFQUVSRUFFUkVBRVJLQnpDRWdBNlp5eVZr
NUZRQVJFUUFSRVFBUkVRQVJFb044SlNBRHA5eUpRQWtSQQpCRVJBQkVSQUJFUkFCRVNnY3doSUFP
bWNzbFpPUlVBRVJFQUVSRUFFUkVBRVJLRGZDVWdBNmZjaVVBSkVRQVJFUUFSRVFBUkVRQVJFCm9I
TUlTQURwbkxKV1RrVkFCRVJBQkVSQUJFUkFCRVNnM3dsSUFPbjNJbEFDUkVBRVJFQUVSRUFFUkVB
RVJLQnpDRWdBNlp5eVZrNUYKUUFSRVFBUkVRQVJFUUFSRW9OOEpTQURwOXlKUUFrUkFCRVJBQkVS
QUJFUkFCRVNnY3doSUFPbWNzbFpPUlVBRVJFQUVSRUFFUkVBRQpSS0RmQ1VnQTZmY2lVQUpFUUFS
RVFBUkVRQVJFUUFSRW9ITUlTQURwbkxKV1RrVkFCRVJBQkVSQUJFUkFCRVNnM3dsSUFPbjNJbEFD
ClJFQUVSRUFFUkVBRVJFQUVSS0J6Q0VnQTZaeXlWazVGUUFSRVFBUkVRQVJFUUFSRW9OOEpTQURw
OXlKUUFrUkFCRVJBQkVSQUJFUkEKQkVTZ2N3ajBpUUR5NnF1dmRwdG9sbVh1eFJkZmRNOCsrNno3
NnF1dldnN25ra3N1Y2ZmY2MwL0x6NzN3d2d2ZGlxL2xpUFNBQ0lpQQpDSWlBQ0lpQUNJaUFDSFFR
Z1VIV3djOTZPNytMTHJxbzIyKy8vZHlLSzY3WU9LcUhIbnJJN2IzMzNtN1NTU2QxTTg0NG94dHZ2
UEc4CkVFSnlkOTExVnpmRERETlVodlhjYzgrNTg4NDd6ejN6ekROdXRORkdjKysvLzc3YmROTk4z
WnBycnBrLzk4Z2pqN2g5OTkzWHpUVFQKVE82amp6NXlXMis5dFh2dnZmZmNMYmZjNG9XV0cyKzhN
ZmVyQXhFUUFSRVFBUkVRQVJFUUFSRVFnWjRUR0sxSkVOZGNjNDE3NnFtbgozTTQ3Nzl6Rit3TVBQ
T0JPT2VVVWQ5aGhoN21KSnBxb3k3MXdndmJoOWRkZmQwY2ZmWFJqQVFRQmcvaU9QZmJZNFFTTmQ5
OTkxd3NnCnUreXlpNXR0dHRsQ05NUDlicmpoaHU3d3d3OTNzODgrdTV0MjJtbmRMTFBNNGpiWVlJ
TmNBSG44OGNmZE1zc3M0NjY3N2pxSGdIVFIKUlJmNWRFNHl5U1R1cmJmZWNnY2NjTUJ3WWVxQ0NJ
aUFDSWlBQ0lpQUNJaUFDSWhBendnME1zRzY0b29ySEIzKzNYZmZ2VXRzRHo3NApvRHZubkhPOGRx
TExqZWprcUtPT2NrY2VlYVI3NDQwMzNOTlBQeDNkS1Q3RS84TVBQK3d1dmZSU0wzeHdmT0NCQi9y
enUrKysyeEhuClNTZWQ1STQ0NG9qaUFPd3FBcys5OTk3ckJZbmdhZkRnd1Q0ZDRYejc3YmQzQ3ky
MGtCYyt1UGJvbzQrNjVaWmJ6bXRjUHZ6d1E3ZkkKSW9zRXI3Vy8zVEVOcXcxVUhrUkFCRVJBQkVS
QUJFUkFCRVJnSkNUUVNBQTUrZVNUM1paYmJ1a09PZVFRTDRnRURzOC8vN3liYzg0NQp2WWxUdUJi
L3Z2TEtLMTRRV0d1dHRkeFdXMjNsampubW1QajJjTWZNRmNGVTY0SUxMdkJoRGgwNjFBc0ZtRzZO
TWNZWWJ2WFZWM2YzCjMzKy9HMzMwMGQza2swL3VQdmpnZytIQzRNTFVVMC90bGxwcUtaL20yMisv
UGZjVGEwd0laOGlRSWZrOWhJNnh4aHJMbTJUdHM4OCsKK2ZXcWc1dHZ2dGt6UWNCYVlva2wzTC8r
OWE4cTc3b25BaUlnQWlJZ0FpSWdBaUlnQWgxUG9KRUFBcVZCZ3dhNXlTYWJ6R3NlamovKwplTWRj
REV5emxsOSsrVktJK050c3M4MjhNSUZKMU9XWFgrNHdvU3B6OTkxM241dG5ubms1R3FuaEFBQWdB
RWxFUVZRYzJvclhYbnZOCjdiREREbTdISFhkMEN5NjRvQmM0ZUhhMTFWYnpqek1uNVBQUFB5OEx5
Z3N4ekIwaERaaC92ZlBPTzEzOExyNzQ0cmw1RjFxY1RUYloKeERFblpOeHh4M1d6empxcmUvbmxs
OTI1NTU3cmY3czgrTjNKRjE5ODRaOVplT0dGdlVrWVFsSlR3YVVvUEYwVEFSRVFBUkVRQVJFUQpB
UkVRZ1U0ZzBFZ0FRZE5BSngxVHJGVldXY1VMQm1oRW1DdXh4eDU3RkhMNitPT1AzZGxubiswMjMz
eHpmNStPL2JycnJ1dlFhcFE1CnpLRG1ubnR1ZjVzSjRKOTg4b21Qand0MzNYV1htM0xLS2ZQN3hJ
MFdwTXhOTWNVVTdzNDc3M1JiYkxHRk8vLzg4OTFjYzgzbG1OZ2UKM0o1Nzd1a0ZrNTEyMnNtYlhj
MC8vL3h1Ly8zM2QzdnR0WmRqNWF5VlZsckpYMGRyODlsbm40WEg4bCswTU91c3M0NFhtTGpJM0JI
bQpyY2lKZ0FpSWdBaUlnQWlJZ0FpSWdBaVVFMmcwQ1IxQll1YVpaL2J6SmVqTUw3YllZbDZRUUxO
UU52bjhzY2NlYzh5elFHZ0licnZ0CnRuT25ubnBxT0IzdWQ1cHBwc25uaWFCaElPd0ZGbGpBKzhN
c2E4a2xsL1RIQ0I5b1krb2NRc0xLSzYvc3pjUU9QZlJRTHd3eGh3UzMKOU5KTCs3OFF4cTIzM3Vv
bnRhTlZZYkk2MmhxMEdxeTJoUmxYdW9JWEdpRW15Yk5jTDBJVkUvSlpTVXRPQkVSQUJFUkFCRVJB
QkVSQQpCRVNnbkVBakRjaE5OOTNrTURYQ1RUREJCRjRUd29nL25mUXloNUNTYWtkWWlZcVZxY29j
d2dhVHpuSE1HL24wMDA5OUJ4OEJhUHp4CngzZmZmUE9ObjJET1BKRnR0OTIyTEJodkhoYmZaRUw1
aVNlZTZEVWdMNzMwVW53clB5WmRyTDdGZkk0Sko1d3dGempRYXFDOUtYS3MKQU1aU3dXaFJtTUNP
VUNJbkFpSWdBaUlnQWlJZ0FpSWdBaUpRVHFDUkFFS25IWk9tNE5nMzQ0d3p6bkJvRGM0ODg4eHd1
Y2UvQ0NBcwptM3ZXV1dkNTh5cFd2VHJ1dU9QODhZVVhYdWptbTI4K2Q5cHBwL2xPUDBKQ21XTnVD
dnVBeEk0bGR4RVFtQmlmT2t5dW1NdENtTXdECmllZTFzSnBXME1MRXp6MzU1Sk51bTIyMjhRSVZt
aFk1RVJBQkVSQUJFUkFCRVJBQkVSQ0JlZ0tOVExCU0FZUmcxMWhqRGErbFlIbmUKVlZkZHRYSStS
bjB5dnZlQllJTzVFNlpibUU4eE55TTQ1bTJ3S3pwN2QyeTAwVWJoY3VFdnkvbWVjTUlKK1QwMkpX
VEZycURKQ1RlKwovdnByYnhZV3REbnp6anV2bTJxcXFmeHQ4bzBKRnF0anBRN05DQm9aQkJFMlM3
enR0dHY4WEpHd3I2TzBJU2t4bll1QUNJaUFDSWlBCkNJaUFDSWlBTFc1bEhlYktuZEJabmhiTkFK
UFFXY2txZGl5Ymk2blZ4UmRmUEZ6SFB2Ylg2akdtVjVoRTBibG5SU3BXczJJVksrWmIKTVBFYzg2
dUpKNTY0TkZqOEhuVFFRWTU1SkV5Z1p5ZjBVVWNkMWUyMjIyNSsxL1A0UVRRcUxQRzc4Y1liKzh0
UFBQR0UxN0FnK0xBYQpGN3VqRnprbXlMUDBMcHFXOWRaYnp5L3B5eThUMDA4Ly9YUWZadEZ6dWlZ
Q0lpQUNJaUFDSWlBQ0lpQUNuVXlnVmdDcGc4TUtVVVVhCmdycm5tdDVIbU1Cc2l0M01xNFNPc3ZE
WTBKQjlRY28yRmtTVGdaQXp5aWlOck5HR2l3WmhhZXl4eC9iWHYvenlTNzlIeVhDZWRFRUUKUkVB
RVJFQUVSRUFFUkVBRVJNQVQ2TEVBTXRBNURoczJ6STB6empoZDVyQU05RFFyZlNJZ0FpSWdBaUln
QWlJZ0FpSXdzaElZNlFXUQprYlhnbEM4UkVBRVJFQUVSRUFFUkVBRVJHQkVKZE0vdWFFVE1xZElz
QWlJZ0FpSWdBaUlnQWlJZ0FpTFE3d1FrZ1BSN0VTZ0JJaUFDCklpQUNJaUFDSWlBQ0l0QTVCQ1NB
ZEU1Wks2Y2lJQUlpSUFJaUlBSWlJQUlpME84RUpJRDBleEVvQVNJZ0FpSWdBaUlnQWlJZ0FpTFEK
T1FRa2dIUk9XU3VuSWlBQ0lpQUNJaUFDSWlBQ0l0RHZCQ1NBOUhzUktBRWlJQUlpSUFJaUlBSWlJ
QUlpMERrRUpJQjBUbGtycHlJZwpBaUlnQWlJZ0FpSWdBaUxRN3dRa2dQUjdFU2dCSWlBQ0lpQUNJ
aUFDSWlBQ0l0QTVCQ1NBZEU1Wks2Y2lJQUlpSUFJaUlBSWlJQUlpCjBPOEVScXRMd2RDaFErdTg2
TDRJaUlBSWlJQUlpSUFJaUlBSWlJQUl1Q0ZEaHJqQmd3ZFhrcWdWUUhpYWdPUkVRQVJFUUFSRVFB
UkUKUUFSRVFBUkVvS2NFQm1YbWVocUluaGNCRVJBQkVSQUJFUkFCRVJBQkVSQ0JKZ1EwQjZRSkpm
a1JBUkVRQVJFUUFSRVFBUkVRQVJGbwpDd0VKSUczQnFFQkVRQVJFUUFSRVFBUkVRQVJFUUFTYUVK
QUEwb1NTL0lpQUNJaUFDSWlBQ0lpQUNJaUFDTFNGZ0FTUXRtQlVJQ0lnCkFpSWdBaUlnQWlJZ0Fp
SWdBazBJU0FCcFFrbCtSRUFFUkVBRVJFQUVSRUFFUkVBRTJrSkFBa2hiTUNvUUVSQUJFUkFCRVJB
QkVSQUIKRVJDQkpnUWtnRFNoSkQ4aUlBSWlJQUlpSUFJaUlBSWlJQUp0SVNBQnBDMFlGWWdJaUlB
SWlJQUlpSUFJaUlBSWlFQVRBaEpBbWxDUwpIeEVRQVJFUUFSRVFBUkVRQVJFUWdiWVFrQURTRm93
S1JBUkVRQVJFUUFSRVFBUkVRQVJFb0FrQkNTQk5LTW1QQ0lpQUNJaUFDSWlBCkNJaUFDSWhBV3do
SUFHa0xSZ1VpQWlJZ0FpSWdBaUlnQWlJZ0FpTFFoSUFFa0NhVTVFY0VSRUFFUkVBRVJFQUVSRUFF
UktBdEJDU0EKdEFXakFoRUJFUkFCRVJBQkVSQUJFUkFCRVdoQ1FBSklFMHJ5SXdJaUlBSWlJQUlp
SUFJaUlBSWkwQllDRWtEYWdsR0JpSUFJaUlBSQppSUFJaUlBSWlJQUlOQ0VnQWFRSkpma1JBUkVR
QVJFUUFSRVFBUkVRQVJGb0N3RUpJRzNCcUVCRVFBUkVRQVJFUUFSRVFBUkVRQVNhCkVPZzNBZVNG
RjE1d1gzMzFWV0VhTDdua0VuZlBQZmNVM3F1N21HV1plL0hGRjkyenp6NWJHbjVWR0srKyttclZi
ZDBUQVJFUUFSRVEKQVJFUUFSRVFBUkhvQVlGQjFtSFBldkI4NWFPUFBQS0kyM2ZmZmQxTU04M2tQ
dnJvSTdmMTFsdTc5OTU3ejkxeXl5MWV3TGp4eGh1NwpQUC9jYzgrNTg4NDd6ejN6ekROdXRORkdj
KysvLzc3YmROTk4zWnBycnRuRlg5SEpRdzg5NVBiZWUyODM2YVNUdWhsbm5OR05OOTU0ClhnZ2hl
N3Z1dXF1YllZWVppaDRiN3RxaWl5N3E5dHR2UDdmaWlpc09kMDhYUkVBRVJFQUVSRUFFUkVBRVJF
QUVla1pndENhUEl4VGMKZXV1dGJ0Q2dRVzdpaVNmMkhmd05OOXpRalRQT09LV1BQLzc0NDI2Wlpa
WngxMTEzbmFOVGY5RkZGN25YWDMvZFRUTEpKTzZ0dDk1eQpCeHh3d0hEUEV1YmhoeC91WnA5OWRq
ZnR0Tk82V1dhWnhXMnd3UWExQWdnQ3hsTlBQZVdPUGZiWTRRU05kOTk5MXdzZ3UreXlpNXR0CnR0
bUdpek8rZ05hRk5CNTk5TkcxQXNnMTExemo0OXg1NTUzaklOd0REenpnVGpubEZIZllZWWU1aVNh
YXFNczluWWlBQ0lpQUNJaUEKQ0lpQUNJaEFweE5vSklBZ0xOREJqOTA1NTV6ajdyampqdmhTbCtQ
dHQ5L2VMYlRRUWw3NDRNYWpqejdxOXR4elQvZmFhNis1RHovOAowQzJ5eUNKZC9OUHh2L2ZlZTcx
d0VtNE1IanpZSFhua2tlRzA4UGVvbzQ1eUR6LzhzTHYyMm11OTFpUWNJOFJNTWNVVTd1T1BQM1lu
Cm5YU1MyMmFiYmR6UW9VTUx3d2dYQ1l2NC92em5QN3VubjM2NlVtQzU0b29ydktEeDl0dHZ1NE1Q
UGpnRTRSNTg4RUVIRytLVUV3RVIKRUFFUkVBRVJFQUVSRUFFUjZFcWcwUnlRSjU5ODBtSEt4TjhI
SDN6Z08raDMzbm1uZStPTk43cUdGcDNkZi8vOWJzaVFJZmtWaEk2eAp4aHJMbTJUdHM4OCsrZlZ3
TVBYVVU3dWxsbHJLYmJubGx1NzIyMjhQbHl1RkFPWnJZQzUxd1FVWGVPRURBV081NVpiejJvc3h4
aGpECnJiNzY2bzUwakQ3NjZHN3l5U2YzYWM4RFRnNWVlZVVWTHdDdHRkWmFicXV0dG5MSEhITk00
cVByNmNrbm4relRlc2doaHppMEs4RTkKLy96emJzNDU1L1RwQ2RmMEt3SWlJQUlpSUFJaUlBSWlJ
QUlpOEMyQlJnSklER3VDQ1NadzY2eXpqcitFS1ZXWlczenh4WE56S0RRQwptMnl5aVdOT3lMampq
dXRtblhWVzkvTExMN3R6enozWC80WXdFQ1NZdjNIODhjZDdNNmgzM25rbjNDcjh2ZSsrKzl3ODg4
emowSlNnCldkbGhoeDNjamp2dTZCWmNjRUV2Y0dCK3RkcHFxL2xubVJQeStlZWZGNGJEUmVMY2JM
UE52T0NBS2RqbGwxL3VlTDdLWVpJMjJXU1QKdVNPT09NSS9qNENHYWRieXl5OWY5Wmp1aVlBSWlJ
QUlpSUFJaUlBSWlFREhFbWhaQUlFVW5Ya2MycEF5aDdrVmN5bDIybWtuUHpGOAovdm5uZC92dnY3
L2JhNis5SEt0Y3JiVFNTdjQ2bW9iUFB2dk1CNFBKRkpxVkxiYll3cDEvL3ZsdXJybm1ja3d1TDNP
WWRjMDk5OXorCk5oUGFQL25rRTdmS0txdjQ4N3Z1dXN0Tk9lV1UrWDJFSmJRZ1JRNHpyYlBQUHR0
dHZ2bm0valpDMHJycnJsdHBza1hlRWF3d3hTSk8KaEIrME44U3p4eDU3RkVXamF5SWdBaUlnQWlJ
Z0FpSWdBaUxROFFRYXpRRkpLWTA2NnFqK0VpUCtaVzdwcFpkMi9BWEhKSFltZ2FPRgpZR0k1R2da
V21tSjFLa3l1d3FwVG1FdXR2UExLM296cDBFTVA5VUlCOHlxSzNEVFRUT1BuYW5Edml5Kys4Sk8r
RjFoZ0FlOFZiY3FTClN5N3BqeEVLMEZTVXVjY2VlOHd4WndXQkpianR0dHZPblhycXFlRjB1RjhF
bHBsbm50blBjVUZZV215eHhiekFndENseWVmRDRkSUYKRVJBQkVSQUJFUkFCRVJBQkVmQUV1cVVC
NlE0N1ZyZGl0U29tZVU4NDRZUzV3TUhrZGpRT3FURERKUFVUVHp6UmEwQmVldW1sd2lnUgpOcGgw
am1QdXhxZWZmdXJZWHdUaFlQenh4M2ZmZlBPTlg5V0tlU0xiYnJ0dFlSaGNSSGhJdFJhc3dFV2F5
OXhOTjkza0ZsNTRZWDhiCnN6UTBJYXp3aFdBbEp3SWlJQUlpSUFJaUlBSWlJQUlpVUV5Z1R3UVFU
SzZZRjRIZ3dUeVFlSTRFSzE4aFNEQjNnbjFBWXNjeXZzeXoKWUlKNGtlTTVWcnM2NjZ5enZIblYz
WGZmN1k0NzdqaC9mT0dGRjdyNTVwdlBuWGJhYVg1L0VPSnVwME1vd21Rc09QWTZPZU9NTS94eQp4
V2VlZVdhNHJGOFJFQUVSRUFFUkVBRVJFQUVSRUlHSVFLMEpGaXRncFV2S01tY0N4L3dOSm9DSGVS
aFJ1UG5oMTE5LzdVMlpnbVpnCjNubm5kVk5OTlpXL1R5Y2VFeXhXeDhLeERPNEpKNXpnai9uSC9p
T3NLQlUwRGZtTjZJQk9QK1pibUU5aHVzVmNrK0NZaDhLdTZPeEYKc3RGR0c0WExiZmxOQlJBQ1hX
T05OYndtaGxXeFZsMTExZEk1SjIxSmdBSVJBUkVRQVJFUUFSRVFBUkVRZ1JHUVFPMU82SFNtV2VX
cAp5TEZiK1p0dnZ1bE5qNHJ1Y3cwTkJFdmlicnp4eHQ3TEUwODg0VFVTQ0FvSUwreU9qbVBGcTRN
T09zalA1V0NDTjJFejEyUzMzWGJ6Ck82bDdUeVgvTUwzQ1hBcGhpUlcyV0VtTDhEREhZdUk1NWxk
c29OZ3V4NUxDYUZTWWhNNktXYkZqYVdCTXVpNisrT0pLd1NsK1JzY2kKSUFJaUlBSWlJQUlpSUFJ
aTBDa0VhZ1dRbm9KZ2pnZEN3U2lqTkxmMnV2VFNTeDM3Z3FTYkZUWkpDNElISmx2c3BONU9vYU5K
M01FUApxM29GclU2NHBsOFJFQUVSRUFFUkVBRVJFQUVSRUFIbmVsMEE2UTdrWWNPR3VYSEdHYWZM
SEl2dWhLTm5SRUFFUkVBRVJFQUVSRUFFClJFQUVCaGFCQVNtQURDeEVTbzBJaUlBSWlJQUlpSUFJ
aUlBSWlFQzdDRFMzaTJwWGpBcEhCRVJBQkVSQUJFUkFCRVJBQkVTZ1l3bEkKQU9uWW9sZkdSVUFF
UkVBRVJFQUVSRUFFUktEdkNVZ0E2WHZtaWxFRVJFQUVSRUFFUkVBRVJFQUVPcGFBQkpDT0xYcGxY
QVJFUUFSRQpRQVJFUUFSRVFBVDZub0FFa0w1bnJoaEZRQVJFUUFSRVFBUkVRQVJFb0dNSlNBRHAy
S0pYeGtWQUJFUkFCRVJBQkVSQUJFU2c3d2xJCkFPbDc1b3BSQkVSQUJFUkFCRVJBQkVSQUJEcVdn
QVNRamkxNlpWd0VSRUFFUkVBRVJFQUVSRUFFK3A2QUJKQytaNjRZUlVBRVJFQUUKUkVBRVJFQUVS
S0JqQ1VnQTZkaWlWOFpGUUFSRVFBUkVRQVJFUUFSRW9POEpTQURwZSthS1VRUkVRQVJFUUFSRVFB
UkVRQVE2bG9BRQprSTR0ZW1WY0JFUkFCRVJBQkVSQUJFUkFCUHFlZ0FTUXZtZXVHRVZBQkVSQUJF
UkFCRVJBQkVTZ1l3bElBT25Zb2xmR1JVQUVSRUFFClJFQUVSRUFFUktEdkNVZ0E2WHZtaWxFRVJF
QUVSRUFFUkVBRVJFQUVPcGFBQkpDT0xYcGxYQVJFUUFSRVFBUkVRQVJFUUFUNm5vQUUKa0w1bnJo
aEZRQVJFUUFSRVFBUkVRQVJFb0dNSlNBRHAyS0pYeGtYZy85dTd6eEFwcy9UOTQzZVByYmptTmdj
UVZFd281cndZVURDTQprYkgzbFFrUjA0aGlRa1hCUE9hY3RSMERvb2dSZmVFSU9zbzZLdWE0QnN4
WmNUQmpYTFgvWG1mK1QvMnF1aXUxMXRiMjJ0OERZMVU5CjRUeFZuK29YZGMwNTkza1FRQUFCQkJC
QUFBRUU0aTlBQUltL09WZEVBQUVFRUVBQUFRUVFRQ0RMQ2hCQXN1eFh6d2RIQUFFRUVFQUEKQVFR
UVFDRCtBdisxQUhManhnMzcrUEZqMEUrOGJkczJPM0xrU05COWtUYW1wcWJhclZ1MzdPclZxeUg3
RDlmSHZYdjN3dTFtSHdJSQpJSUFBQWdnZ2dBQUNDSHlEUU1LWEgreXAzM0IrMkZQUG5EbGpFeVpN
c0hMbHl0bXJWNitzZi8vKzl1elpNOXUzYjU4TEdIdjI3QWs0Ci85cTFhN1pod3dhN2N1V0tKU1lt
MnZQbno2MW56NTdXc1dQSGdPT0N2VGgxNnBTTkd6Zk9DaGN1YkdYTGxyVThlZks0RUtLUE4yTEUK
Q0N0VHBreXcwOUp0YTlDZ2dVMmNPTkZhdG15WmJoOGJFRUFBQVFRUVFBQUJCQkJBNE5zRUVxTTVY
YUZnLy83OWxwQ1FZQVVMRm5RLwo4THQyN1dxNWN1VUtlZnI1OCtldFdiTm10bnYzYnRPUCtpMWJ0
dGlEQncrc1VLRkM5dmp4WTVzOGVYSzZjOVhuckZtenJITGx5bGE2CmRHbXJVS0dDZGVuU0pXSUFV
Y0M0ZE9tU0xWaXdJRjNRZVByMHFRc2d3NGNQdDBxVktxVzdwdjhHamJyb1BjNmJOeTlpQU5tMWE1
ZTcKNXJCaHcveTdzQk1uVHRqeTVjdHQ1c3laVnFCQWdZQjl2RUFBQVFRUVFBQUJCQkJBSUtzTFJC
VkFGQmIwQTkrL3JWdTN6djc0NHcvLwpUUUhQQncwYVpIWHIxblhoUXp2T25qMXJZOGFNc2Z2Mzc5
dkxseSt0ZnYzNkFjZnJoLy9SbzBkZE9QRjJKQ1VsMlp3NWM3eVhRUi9uCnpwMXJwMCtmdHQ5Kys4
Mk5tbmpQRldLS0ZTdG1yMSsvdHFWTGw5clBQLzlzS1NrcFFmdndOcW92WGUrWFgzNnh5NWN2aHcw
c08zZnUKZEVIanp6Ly90R25UcG5sZDJNbVRKMDAydWlZTkFRUVFRQUFCQkJCQUFBRUVBZ1dpcWdH
NWVQR2lhU3FUL252eDRvWDdnWDd3NEVGNworUEJoWUc5K3I0NGZQMjdKeWNtK0xRb2RPWFBtZEZP
eXhvOGY3OXZ1UFNsWnNxUTFhZExFK3ZidGF3Y09IUEEyaHcwQnF0ZlFkS2xOCm16YTU4S0dBMGJ4
NWN6ZDZrU05IRG12ZnZyM3BmV1RQbnQyS0ZpM3EzcnV2NHpSUDd0Njk2d0pRcDA2ZHJGKy9malov
L3Z3MFJ3UysKWExac21YdXYwNmRQTjQydWVPMzY5ZXRXcFVvVjkzNjhiVHdpZ0FBQ0NDQ0FBQUlJ
SUlEQVh3SlJCUkIvckh6NTh0bFBQLzNrTm1rcQpWYWpXcUZFajMzUW9qUWowNk5IRFZCT1NPM2R1
cTFpeG90MjVjOGZXcjEvdkhyMCtGQ1JVdjdGbzBTSTNEZXJKa3lmZXJxQ1B4NDRkCnMrclZxNXRH
U2pTeU1uandZQnN5WklqVnFWUEhCUTVOdjJyWHJwMDdWelVoNzkrL0Q5cVBOdXFhdlhyMWNzRkJV
OEYyN05oaE9qOWMKMDVTMElrV0syT3paczkzNUNtaWFtdFdpUll0d3A3RVBBUVFRUUFBQkJCQkFB
SUVzSzVEaEFDSXAvWmhYMDJoSXFLYnBWcXFsR0RwMApxQ3NNcjFXcmxrMmFOTW5Hamgxcld1V3FW
YXRXYnJ0R0d0NjllK2U2MFpRcGphejA2ZFBITm03Y2FGV3JWalVWbDRkcW10WlZyVm8xCnQxc0Y3
Vy9ldkxFMmJkcTQxNGNPSGJMaXhZdjc5aXNzYVJRa1dOTTByYlZyMTFydjNyM2Rib1drenAwN2g1
MnlwYyt1WUtXcFdMcW0Kd285R2IzU2QwYU5IQjdzTTJ4QkFBQUVFRUVBQUFRUVF5UElDVWRXQXBG
WEtsaTJiMjZULzR4K3FOVzNhMVBTZjExVEVyaUp3alVLbwpzRndqREZwcFNxdFRhY3FWdCtxVXBr
dTFidDNhVFdPYU1XT0dDd1dxcXdqV1NwVXE1V28xdE8vRGh3K3U2THQyN2RydVVJMm1ORzdjCjJE
MVhLTkJJUmFoMjd0dzVVODJLQW92WEJnNGNhQ3RXclBCZXBudFVZQ2xmdnJ5cmNWRllhdGl3b1Fz
c0NsMFVuNmZqWWdNQ0NDQ0EKQUFJSUlJQUFBazdncTBaQXZzWk9xMXRwdFNvVmVlZlBuOThYT0ZU
Y3JoR0h0R0ZHUmVwTGxpeHhJeUMzYjk4T2VrbUZEUldkcTZsMgo0KzNidDZiN2l5Z2M1TTJiMXo1
Ly91eFd0VktkeUlBQkE0TDJvWTBLRDJsSExiUUNsOTV6cUxaMzcxNnJWNitlMjYxcGFSb0owUXBm
CkNsWTBCQkJBQUFFRUVFQUFBUVFRQ0M0UWx3Q2lLVmVxaTFEd1VCMklmNDJFVnI1U2tGRHRoTzRE
NHQrMGpLL3FMRlFnSHF6cFBLMTIKdFdiTkdqZTk2dkRodzdadzRVTDNmUFBtelZhelprMWJ1WEts
dXorSXJoM0xwbENrS1dOZTA3MU9WcTFhNVpZclhyMTZ0YmVaUndRUQpRQUFCQkJCQUFBRUVFUEFU
aURnRlN5dGdwVjFTVmpVVGFxcmZVQUc0VjRmaDE2L3Y2YWRQbjl4VUptOWtvRWFOR2xhaVJBbTNY
ei9pCk5RVkxxMk9wYVJuY3hZc1h1K2Y2Ui9jZjBZcFMza2lEYjRmZkUvM28xL1F0VFovUzFDM1Zt
bmhOZFNpNks3cnVSZEt0V3pkdmMwd2UKMHdZUWRkcWhRd2MzRXFOVnNkcTJiUnV5NWlRbWI0Qk9F
RUFBQVFRUVFBQUJCQkQ0SHhTSWVDZDAvWmpXS2svQm11NVcvdWpSSXpmMQpLTmgrYmRNSWhKYkU3
ZDY5dXp2a3dvVUxia1JDUVVIaFJYZEhWOU9LVjFPblRuVzFIQ3J3VnQrcU5SazVjcVM3azdvN0tN
US9tbnFsCjZWSUtTMXBoU3l0cHFUOU54MUxodWFaZjZRYUtzV3BhVWxnaktpcEMxNHBaL2sxTEEy
dEsxOWF0VzhNR0ovOXplSTRBQWdnZ2dBQUMKQ0NDQVFGWVJpQmhBdmhWQ05SNEtCVC84RVAxc3Ir
M2J0NXZ1QzVMMlpvWFJ2QmNGRDAzWjBwM1VZeGs2b3JtMmQ0eFc5ZkpHZGJ4dApQQ0tBQUFJSUlJ
QUFBZ2dnZ0lEWmZ6eUFmQTN5elpzM0xWZXVYQUUxRmwvVEQrY2dnQUFDQ0NDQUFBSUlJSUJBNWhM
SWxBRWtjeEh4CmJoQkFBQUVFRUVBQUFRUVFRQ0JXQXRIUGk0clZGZWtIQVFRUVFBQUJCQkJBQUFF
RXNxd0FBU1RMZnZWOGNBUVFRQUFCQkJCQUFBRUUKNGk5QUFJbS9PVmRFQUFFRUVFQUFBUVFRUUNE
TENoQkFzdXhYendkSEFBRUVFRUFBQVFRUVFDRCtBZ1NRK0p0elJRUVFRQUFCQkJCQQpBQUVFc3F3
QUFTVExmdlY4Y0FRUVFBQUJCQkJBQUFFRTRpOUFBSW0vT1ZkRUFBRUVFRUFBQVFRUVFDRExDaEJB
c3V4WHp3ZEhBQUVFCkVFQUFBUVFRUUNEK0FnU1ErSnR6UlFRUVFBQUJCQkJBQUFFRXNxeEFZcVJQ
bnBLU0V1a1E5aU9BQUFJSUlJQUFBZ2dnZ0FBQ2xweWMKYkVsSlNXRWxJZ1lRbmEyT2FBZ2dnQUFD
Q0NDQUFBSUlJSURBdHdva3BINXAzOW9KNXlPQUFBSUlJSUFBQWdnZ2dBQUMwUWhRQXhLTgpFc2Nn
Z0FBQ0NDQ0FBQUlJSUlCQVRBUUlJREZocEJNRUVFQUFBUVFRUUFBQkJCQ0lSb0FBRW8wU3h5Q0FB
QUlJSUlBQUFnZ2dnRUJNCkJBZ2dNV0drRXdRUVFBQUJCQkJBQUFFRUVJaEdnQUFTalJMSElJQUFB
Z2dnZ0FBQ0NDQ0FRRXdFQ0NBeFlhUVRCQkJBQUFFRUVFQUEKQVFRUWlFYUFBQktORXNjZ2dBQUND
Q0NBQUFJSUlJQkFUQVFJSURGaHBCTUVFRUFBQVFRUVFBQUJCQkNJUm9BQUVvMFN4eUNBQUFJSQpJ
SUFBQWdnZ2dFQk1CQWdnTVdHa0V3UVFRQUFCQkJCQUFBRUVFSWhHZ0FBU2pSTEhJSUFBQWdnZ2dB
QUNDQ0NBUUV3RUNDQXhZYVFUCkJCQkFBQUVFRUVBQUFRUVFpRWFBQUJLTkVzY2dnQUFDQ0NDQUFB
SUlJSUJBVEFRSUlERmhwQk1FRUVBQUFRUVFRQUFCQkJDSVJvQUEKRW8wU3h5Q0FBQUlJSUlBQUFn
Z2dnRUJNQkFnZ01XR2tFd1FRUUFBQkJCQkFBQUVFRUloR2dBQVNqUkxISUlBQUFnZ2dnQUFDQ0ND
QQpRRXdFQ0NBeFlhUVRCQkJBQUFFRUVFQUFBUVFRaUVZZ1F3RmsyN1p0ZHVUSWtXajZEVGpteG8w
Yjl2SGp4NEJ0L2kvZXZuM3IvekxxCjU2bXBxWGJyMWkyN2V2VnEyUDVEZFhqdjNyMVF1OWlPQUFJ
SUlJQUFBZ2dnZ0FBQy93R0JoQzgvNGxNajlYdnQyalhic0dHRFhibHkKeFJJVEUrMzU4K2ZXczJk
UDY5aXhvKy9VTTJmTzJJUUpFNnhjdVhMMjZ0VXI2OSsvdnoxNzlzejI3ZHZuUXN1ZVBYdDh4M3BQ
SGoxNgpaTk9tVGJQejU4L2I3Ny8vN20yTytIanExQ2tiTjI2Y0ZTNWMyTXFXTFd0NTh1UnhJVVFm
WmNTSUVWYW1USm1JZmVpQUJnMGEyTVNKCkU2MWx5NVpSSGM5QkNDQ0FBQUlJSUlBQUFnZ2c4RzBD
aWRHYzNyVnJWNXMxYTVaVnJselpTcGN1YlJVcVZMQXVYYnI0QW9nQ1JMTm0Keld6Mzd0M3VSLzJX
TFZ2c3dZTUhWcWhRSVh2OCtMRk5uanc1M1dVVVVoUm96cDQ5YSsvZnYwKzNQOVFHQll4TGx5N1pn
Z1VMMGdXTgpwMCtmdWdBeWZQaHdxMVNwVXFndTNIYU41T2c5enBzM0wySUEyYlZybDd2bXNHSERB
dm84Y2VLRUxWKyszR2JPbkdrRkNoUUkyTWNMCkJCQkFBQUVFRUVBQUFRUVFTQzhRY1FxV2ZxUWZQ
WHJVQlFudjlLU2tKSnN6WjQ3MzBnWU5HbVIxNjlaMTRVTWJGU3FhTjIvdVJpaGUKdm54cDlldlg5
eDNyUGNtYk42ODFhZExFQllXRWhBUnZjOWpIdVhQbjJ1blRwMjM3OXUwdWZPajVsQ2xUM092RGh3
L2J5Wk1uYmVuUwpwVFo3OXV5dy9XaW4rdEpuZVBqd29WMitmRG5zOFR0MzdqU0ZtbEdqUmdVY3Ar
dXRXN2ZPamNBRTdPQUZBZ2dnZ0FBQ0NDQ0FBQUlJCkJCV0lHRUJLbGl6cGdrTGZ2bjN0d0lFRHZr
NzhSeGlPSHo5dXljbkp2bjBLSFRsejVuUlRzc2FQSCsvYi9pMVBWSytoNlZLYk5tMXkKMDhCU1Vs
SmN5TkgwcVJ3NWNsajc5dTFON3lONzl1eFd0R2hSZS9IaVJjakwzYjE3MTRXcVRwMDZXYjkrL1d6
Ky9Qa2hqOVdPWmN1VwptVDcvOU9uVFhSRHhEcjUrL2JwVnFWTEZ2Ujl2RzQ4SUlJQUFBZ2dnZ0FB
Q0NDQVFXaUJpQU5HcCt0R3ZXb3RGaXhhNUtVdFBuandKCjZMRlJvMGErNlZBYUVlalJvNGVwSmlS
Mzd0eFdzV0pGdTNQbmpxMWZ2OTQ5QnB5WWdSZkhqaDJ6NnRXcm0wWmY3dCsvYjRNSEQ3WWgKUTRa
WW5UcDFYT0RROUt0MjdkcTVIbFVURW01YWx6NUhyMTY5WEhEUTlMSWRPM2FZemcvWE5FcFRwRWdS
TjdxaTgxVnZvcWxaTFZxMApDSGNhK3hCQUFBRUVFRUFBQVFRUVFNQlBJS29BVXF4WU1UdDQ4S0Qx
NmRQSE5tN2NhRldyVmpVVmdudHR6Smd4THBnTUhUclVUYnVxClZhdVdUWm8weWNhT0hXdGFPYXRW
cTFadXUwWWEzcjE3NTUyV29VZE42NnBXclpvN1J3WHRiOTY4c1RadDJyalhodzRkc3VMRmkvdjIK
cSs1RW95REIydXZYcjIzdDJyWFd1M2R2dDFzaHFYUG56cVlSbFZCTm95a0tWcHFLcFdzcS9HaEVS
TmNaUFhwMHFOUFlqZ0FDQ0NDQQpBQUlJSUlBQUFta0VvaXBDMXptYTJ0UzZkV3MzNVdqR2pCbnVC
N3hxSU5TYU5tM3Evbk12dnZ5emYvOStWOXVoVVFnVnEydUVRVk9sCnREcVZwbkY5emFwVHBVcVY4
dFZxZlBqd3dSVjkxNjVkMjExU0l6U05HemQyenhVS05GSVJxcDA3ZDg3VnJDaXdlRzNnd0lHMllz
VUsKNzJXNlJ3V1c4dVhMdXhvWEJiQ0dEUnU2d0tJQ2RvclAwM0d4QVFFRUVFQUFBUVFRUUFDQmtB
SVJSMERTcnRLcmd2SWxTNWE0RVpEYgp0MjhIN1ZnclptbTFLaFY1NTgrZjN4YzR0SHFWUmh5K3Bp
bHNxT2hjVGJVYnVuZUk3aStpY0tDQzlzK2ZQN3RWclZRbk1tREFnSkNYClVIaElPMnFoVmIzMG5r
TzF2WHYzV3IxNjlkenVmUG55dVpFUXJmQ2xZRVZEQUFFRUVFQUFBUVFRUUFDQjZBVWlCaERWT2Vn
K0lQNU4KUys2cUprTEYzR21icGx5cExrTEJRM1VnL2pVU1drM0xHN1ZJZTE2azF6cFB5d0N2V2JQ
R1RhL1NxbGNMRnk1MHp6ZHYzbXcxYTlhMApsU3RYdXZ1RDZOcXhiQXBhbW9ibU5kM3JaTldxVlc2
a1ovWHExZDVtSGhGQUFLajNjTE1BQUNBQVNVUkJWQUVFRUVBQUFRUVFRQ0NDClFGUlRzTFJrN2VM
RmkzMWQ2YWFFV3YzSkd4WHdkbno2OU1sTlpmSkdCbXJVcUdFbFNwUnd1L1VqWGxPd3REcVdmOU0w
TFkxZVJOUDAKbzEvVHR6UjlTdFBCVkd2aU5kV2g2SzdvdWhkSnQyN2R2TTB4ZVV3YlFOUnBodzRk
M0VpTWx1ZHQyN1p0eUpxVG1Md0JPa0VBQVFRUQpRQUFCQkJCQTREc1JpSGduZEsxNE5YWHFWRlBk
aFlxeGRTZjBiTm15MmNpUkk5MWR6LzBkTkFLaEpYRzdkKy91TmwrNGNNR05TQ2dvCmFQVXEzUjNk
YXdvZUdybFFQN3JHcjcvK2FqLysrS003empzbTJLT21YbW02MU1XTEY5MEtXMXFkUytkck9wWUt6
elg5cW1EQmdzRk8KL2FwdFdsSllJeW9xUXRlS1dmNU5Td05yU3RmV3JWdlRoVEgvNDNpT0FBSUlJ
SUFBQWdnZ2dBQUNmd2xFRENEK1VMb0JvTzRMRXV6RwpnanBPTlI1YWR2ZUhIeUxPN1BMdjlxdWZL
M2hvR3BqdXpoN0wwSkdSTjZSVnZkS082bVRrZkk1RkFBRUVFRUFBQVFRUVFDQXJDV1FvCmdOeThl
ZE55NWNvVlVBK1JsYkQ0ckFnZ2dBQUNDQ0NBQUFJSUlQQnRBaGtLSU45MktjNUdBQUVFRUVBQUFR
UVFRQUNCckM0UW43bFMKV1YyWno0OEFBZ2dnZ0FBQ0NDQ0FBQUpPZ0FEQ0h3SUNDQ0NBQUFJSUlJ
QUFBZ2pFVFlBQUVqZHFMb1FBQWdnZ2dBQUNDQ0NBQUFJRQpFUDRHRUVBQUFRUVFRQUFCQkJCQUlH
NENCSkM0VVhNaEJCQkFBQUVFRUVBQUFRUVFJSUR3TjRBQUFnZ2dnQUFDQ0NDQUFBSnhFeUNBCnhJ
MmFDeUdBQUFJSUlJQUFBZ2dnZ0FBQmhMOEJCQkJBQUFFRUVFQUFBUVFRaUpzQUFTUnUxRndJQVFR
UVFBQUJCQkJBQUFFRUNDRDgKRFNDQUFBSUlJSUFBQWdnZ2dFRGNCQWdnY2FQbVFnZ2dnQUFDQ0ND
QUFBSUlJRUFBNFc4QUFRUVFRQUFCQkJCQUFBRUU0aVpBQUlrYgpOUmRDQUFFRUVFQUFBUVFRUUFB
QkFnaC9Bd2dnZ0FBQ0NDQ0FBQUlJSUJBM0FRSkkzS2k1RUFJSUlJQUFBZ2dnZ0FBQ0NCQkErQnRB
CkFBRUVFRUFBQVFRUVFBQ0J1QWtRUU9KR3pZVVFRQUFCQkJCQUFBRUVFRUNBQU1MZkFBSUlJSUFB
QWdnZ2dBQUNDTVJOZ0FBU04yb3UKaEFBQ0NDQ0FBQUlJSUlBQUFnUVEvZ1lRUUFBQkJCQkFBQUVF
RUVBZ2JnSVpDaURidG0yekkwZU9aUGpOM2JoeHd6NSsvQmp5dkxkdgozNGJjRjI1SGFtcXEzYnAx
eTY1ZXZScTIvMUI5M0x0M0w5UXV0aU9BQUFJSUlJQUFBZ2dnZ01CL1FDRGh5NC80MUVqOVhydDJ6
VFpzCjJHQlhybHl4eE1SRWUvNzh1ZlhzMmRNNmR1em9PL1hNbVRNMlljSUVLMWV1bkwxNjljcjY5
Kzl2ejU0OXMzMzc5cm5Rc21mUEh0K3gKM3BOSGp4N1p0R25UN1B6NTgvYjc3Nzk3bXlNK25qcDF5
c2FORzJlRkN4ZTJzbVhMV3A0OGVWd0kwVWNaTVdLRWxTbFRKbUlmT3FCQgpnd1kyY2VKRWE5bXla
VlRIY3hBQ0NDQ0FBQUlJSUlBQUFnaDhtMEJpTktkMzdkclZaczJhWlpVclY3YlNwVXRiaFFvVnJF
dVhMcjRBCm9nRFJyRmt6MjcxN3QvdFJ2MlhMRm52dzRJRVZLbFRJSGo5K2JKTW5UMDUzR1lVVUJa
cXpaOC9hKy9mdjArMFB0VUVCNDlLbFM3WmcKd1lKMFFlUHAwNmN1Z0F3ZlB0d3FWYW9VcWd1M1hT
TTVlby96NXMyTEdFQjI3ZHJscmpsczJMQ0FQaytjT0dITGx5KzNtVE5uV29FQwpCUUwyOFFJQkJC
QkFBQUVFRUVBQUFRVFNDMFNjZ3FVZjZVZVBIblZCd2pzOUtTbko1c3laNDcyMFFZTUdXZDI2ZFYz
NDBFYUZpdWJOCm03c1JpcGN2WDFyOSt2Vjl4M3BQOHViTmEwMmFOSEZCSVNFaHdkc2M5bkh1M0xs
Mit2UnAyNzU5dXdzZmVqNWx5aFQzK3ZEaHczYnkKNUVsYnVuU3B6WjQ5TzJ3LzJxbSs5QmtlUG54
b2x5OWZEbnY4enAwN1RhRm0xS2hSQWNmcGV1dldyWE1qTUFFN2VJRUFBZ2dnZ0FBQwpDQ0NBQUFK
QkJTSUdrSklsUzdxZzBMZHZYenR3NElDdkUvOFJodVBIajF0eWNySnZuMEpIenB3NTNaU3M4ZVBI
KzdaL3l4UFZhMmk2CjFLWk5tOXcwc0pTVUZCZHlOSDBxUjQ0YzFyNTllOVA3eUo0OXV4VXRXdFJl
dkhnUjhuSjM3OTUxb2FwVHAwN1dyMTgvbXo5L2ZzaGoKdFdQWnNtV216ejk5K25RWFJMeURyMSsv
YmxXcVZISHZ4OXZHSXdJSUlJQUFBZ2dnZ0FBQ0NJUVdpQmhBZEtwKzlLdldZdEdpUlc3SwowcE1u
VHdKNmJOU29rVzg2bEVZRWV2VG9ZYW9KeVowN3QxV3NXTkh1M0xsajY5ZXZkNDhCSjJiZ3hiRmp4
Nng2OWVxbTBaZjc5Ky9iCjRNR0RiY2lRSVZhblRoMFhPRFQ5cWwyN2RxNUgxWVNFbTlhbHo5R3JW
eThYSERTOWJNZU9IYWJ6d3pXTjBoUXBVc1NOcnVoODFadG8KYWxhTEZpM0NuY1krQkJCQUFBRUVF
RUFBQVFRUThCT0lLb0FVSzFiTURoNDhhSDM2OUxHTkd6ZGExYXBWVFlYZ1hoc3pab3dMSmtPSApE
blhUcm1yVnFtV1RKazJ5c1dQSG1sYk9hdFdxbGR1dWtZWjM3OTU1cDJYb1VkTzZxbFdyNXM1UlFm
dWJOMitzVFpzMjd2V2hRNGVzCmVQSGl2djJxTzlFb1NMRDIrdlZyVzd0MnJmWHUzZHZ0VmtqcTNM
bXphVVFsVk5Ob2lvS1ZwbUxwbWdvL0doSFJkVWFQSGgzcU5MWWoKZ0FBQ0NDQ0FBQUlJSUlCQUdv
R29pdEIxanFZMnRXN2QyazA1bWpGamh2c0JyeG9JdGFaTm03ci8zSXN2Lyt6ZnY5L1ZkbWdVUXNY
cQpHbUhRVkNtdFRxVnBYRit6NmxTcFVxVjh0Um9mUG54d1JkKzFhOWQybDlRSVRlUEdqZDF6aFFL
TlZJUnE1ODZkY3pVckNpeGVHemh3Cm9LMVlzY0o3bWU1UmdhVjgrZkt1eGtVQnJHSERoaTZ3cUlD
ZDR2TjBYR3hBQUFFRUVFQUFBUVFRUUNDa1FNUVJrTFNyOUtxZ2ZNbVMKSlc0RTVQYnQyMEU3MW9w
WldxMUtSZDc1OCtmM0JRNnRYcVVSaDY5cENoc3FPbGRUN1lidUhhTDdpeWdjcUtEOTgrZlBibFVy
MVlrTQpHREFnNUNVVUh0S09XbWhWTDczblVHM3YzcjFXcjE0OXR6dGZ2bnh1SkVRcmZDbFkwUkJB
QUFFRUVFQUFBUVFRUUNCNmdZZ0JSSFVPCnVnK0lmOU9TdTZxSlVERjMycVlwVjZxTFVQQlFIWWgv
allSVzAvSkdMZEtlRittMXp0TXl3R3ZXckhIVHE3VHExY0tGQzkzenpaczMKVzgyYU5XM2x5cFh1
L2lDNmRpeWJncGFtb1hsTjl6cFp0V3FWRytsWnZYcTF0NWxIQkJCQUFBRUVFRUFBQVFRUWlDQVEx
UlFzTFZtNwplUEZpWDFlNkthRldmL0pHQmJ3ZG56NTljbE9adkpHQkdqVnFXSWtTSmR4dS9ZalhG
Q3l0anVYZk5FMUxveGZSTlAzbzEvUXRUWi9TCmRERFZtbmhOZFNpNks3cnVSZEt0V3pkdmMwd2Uw
d1lRZGRxaFF3YzNFcVBsZWR1MmJSdXk1aVFtYjRCT0VFQUFBUVFRUUFBQkJCRDQKVGdRaTNnbGRL
MTVOblRyVlZIZWhZbXpkQ1QxYnRtdzJjdVJJZDlkemZ3ZU5RR2hKM083ZHU3dk5GeTVjY0NNU0Nn
cGF2VXAzUi9lYQpnb2RHTHRTUHJ2SHJyNy9hanovKzZJN3pqZ24ycUtsWG1pNTE4ZUpGdDhLV1Z1
ZlMrWnFPcGNKelRiOHFXTEJnc0ZPL2FwdVdGTmFJCmlvclF0V0tXZjlQU3dKclN0WFhyMW5SaHpQ
ODRuaU9BQUFJSUlJQUFBZ2dnZ01CZkFoRURpRCtVYmdDbys0SUV1N0dnamxPTmg1YmQKL2VHSGlE
TzcvTHY5NnVjS0hwb0dwcnV6eHpKMFpPUU5hVld2dEtNNkdUbWZZeEZBQUFFRUVFQUFBUVFReUVv
Q0dRb2dOMi9ldEZ5NQpjZ1hVUTJRbExENHJBZ2dnZ0FBQ0NDQ0FBQUlJZkp0QWhnTEl0MTJLc3hG
QUFBRUVFRUFBQVFRUVFDQ3JDOFJucmxSV1YrYnpJNEFBCkFnZ2dnQUFDQ0NDQWdCTWdnUENIZ0FB
Q0NDQ0FBQUlJSUlBQUFuRVRJSURFalpvTElZQUFBZ2dnZ0FBQ0NDQ0FBQUdFdndFRUVFQUEKQVFR
UVFBQUJCQkNJbXdBQkpHN1VYQWdCQkJCQUFBRUVFRUFBQVFRSUlQd05JSUFBQWdnZ2dBQUNDQ0NB
UU53RUNDQnhvK1pDQ0NDQQpBQUlJSUlBQUFnZ2dRQURoYndBQkJCQkFBQUVFRUVBQUFRVGlKa0FB
aVJzMUYwSUFBUVFRUUFBQkJCQkFBSUhFU0FRcEtTbVJEbUUvCkFnZ2dnQUFDQ0NDQUFBSUlJR0RK
eWNtV2xKUVVWaUppQU5IWjZvaUdBQUlJSUlBQUFnZ2dnQUFDQ0h5clFFTHFsL2F0blhBK0FnZ2cK
Z0FBQ0NDQ0FBQUlJSUJDTkFEVWcwU2h4REFJSUlJQUFBZ2dnZ0FBQ0NNUkVnQUFTRTBZNlFRQUJC
QkJBQUFFRUVFQUFnV2dFQ0NEUgpLSEVNQWdnZ2dBQUNDQ0NBQUFJSXhFU0FBQklUUmpwQkFBRUVF
RUFBQVFRUVFBQ0JhQVFJSU5Fb2NRd0NDQ0NBQUFJSUlJQUFBZ2pFClJJQUFFaE5HT2tFQUFRUVFR
QUFCQkJCQUFJRm9CQWdnMFNoeERBSUlJSUFBQWdnZ2dBQUNDTVJFZ0FBU0UwWTZRUUFCQkJCQUFB
RUUKRUVBQWdXZ0VDQ0RSS0hFTUFnZ2dnQUFDQ0NDQUFBSUl4RVNBQUJJVFJqcEJBQUVFRUVBQUFR
UVFRQUNCYUFRSUlORW9jUXdDQ0NDQQpBQUlJSUlBQUFnakVSSUFBRWhOR09rRUFBUVFRUUFBQkJC
QkFBSUZvQkFnZzBTaHhEQUlJSUlBQUFnZ2dnQUFDQ01SRWdBQVNFMFk2ClFRQUJCQkJBQUFFRUVF
QUFnV2dFQ0NEUktIRU1BZ2dnZ0FBQ0NDQ0FBQUlJeEVTQUFCSVRSanBCQUFFRUVFQUFBUVFRUUFD
QmFBUUkKSU5Fb2NRd0NDQ0NBQUFJSUlJQUFBZ2pFUklBQUVoTkdPa0VBQVFRUVFBQUJCQkJBQUlG
b0JPSWVRRzdjdUdFZlAzNE0rdDYyYmR0bQpSNDRjQ2JvdjBzYlUxRlM3ZGV1V1hiMTZOV1QvNGZx
NGQrOWV1TjNzUXdBQkJCQkFBQUVFRUVBQWdSZ0lKSHo1NFo0YWczNEN1amh6CjVveE5tRERCeXBV
clo2OWV2YkwrL2Z2YnMyZlBiTisrZlM1ZzdObXpKK0Q0YTlldTJZWU5HK3pLbFN1V21KaG96NTgv
dDU0OWUxckgKamgwRGpndjI0dFNwVXpadTNEZ3JYTGl3bFMxYjF2TGt5ZU5DaUQ3V2lCRWpyRXla
TXNGT1M3ZXRRWU1HTm5IaVJHdlpzbVc2Zld4QQpBQUVFRUVBQUFRUVFRQUNCMkFna3hxYWIvK3Zs
L1BuejFxeFpNOXU5ZTdmcFIvMldMVnZzd1lNSFZxaFFJWHY4K0xGTm5qejUvdzcrCi84KzZkdTFx
czJiTnNzcVZLMXZwMHFXdFFvVUsxcVZMbDRnQlJBSGowcVZMdG1EQmduUkI0K25UcHk2QURCOCsz
Q3BWcXBUdW12NGIKTk9xaTl6aHYzcnlJQVdUWHJsM3Vtc09HRGZQdndrNmNPR0hMbHkrM21UTm5X
b0VDQlFMMjhRSUJCQkJBQUFFRUVFQUFBUVQrRXNqUQpGS3hRVTZmOE1RY05HbVIxNjlaMTRVUGJ6
NTQ5YTgyYk4zY2pGQzlmdnJUNjlldjdIKzUrK0I4OWV0U0ZFMjlIVWxLU3paa3p4M3NaCjlISHUz
TGwyK3ZScDI3NTl1d3NmZWo1bHloVDMrdkRodzNieTVFbGJ1blNwelo0OU8rajUvaHZWbDY3MzhP
RkR1M3o1c3YrdWRNOTMKN3R4cENqV2pSbzBLMktmcnJWdTN6bzNBQk96Z0JRSUlJSUFBQWdnZ2dB
QUNDUGdFb2dvZ3YvLyt1MDJmUHQzOVNQLzczLzl1Ly9yWAp2M3dkcEgxeS9QaHhTMDVPOW0xVzZN
aVpNNmVia2pWKy9IamZkdTlKeVpJbHJVbVRKdGEzYjE4N2NPQ0F0em5zcUlYcU5UUmRhdE9tClRX
N0tWa3BLaWdzNW1qNlZJMGNPYTkrK3ZlbDlaTStlM1lvV0xXb3ZYcnp3OVp2MnlkMjdkMDBCcUZP
blR0YXZYeitiUDM5KzJrTUMKWGk5YnRzeTlWM2tvaUhqdCt2WHJWcVZLRmZkK3ZHMDhJb0FBQWdn
Z2dBQUNDQ0NBUUtCQXhBRHk0Y01INjlHamg5V3JWODlOYWRLUAovR0JCd3V1MlVhTkd2dWxRR2hI
UXVhb0p5WjA3dDFXc1dOSHUzTGxqNjlldmQ0L2VPUW9TcXQ5WXRHaVJtd2IxNU1rVGIxZlF4MlBI
CmpsbjE2dFZOSXlYMzc5KzN3WU1IMjVBaFE2eE9uVG91Y0dqNlZidDI3ZHk1cWdsNS8vNTkwSDYw
VWRmczFhdVhDdzZhQ3Jaanh3N1QKK2VGYVFrS0NGU2xTeEkydTZIelZtMmhxVm9zV0xjS2R4ajRF
RUVBQUFRUVFRQUFCQkxLOFFNUUFvbEdFbjM3NnlmM2dsNVpxT1ZSMwpFYXFOR1RQR2hZaWhRNGU2
YVZlMWF0V3lTWk1tMmRpeFkwMnJYTFZxMWNwdDEwakR1M2Z2WERmRmloV3pnd2NQV3A4K2ZXemp4
bzFXCnRXcFZVM0Y1cUtacFhkV3FWWE83VmREKzVzMGJhOU9talh0OTZOQWhLMTY4dUcrLzZrNDBD
aEtzdlg3OTJ0YXVYV3U5ZS9kMnV4V1MKT25mdWJCcFJDZFUwbXFKZ3BhbFl1cWJDajBadmRKM1Jv
MGVIT28zdENDQ0FBQUlJSUlBQUFnZ2c4RVVnWWhHNi9tKy9pcnkxZks1KwptS3ZZV2l0YmhXcE5t
elkxL2VlMS9mdjN1K2xVR29WUVlibEdHRFNLb3RXcE5PWEtXM1ZLUWFkMTY5WnVHdE9NR1ROY0tG
QmRSYkJXCnFsUXBYNjJHUm1oVTlGMjdkbTEzcUVaVEdqZHU3SjRyRkdpa0lsUTdkKzZjcVdaRmdj
VnJBd2NPdEJVclZuZ3YwejBxc0pRdlg5N1YKdUNnc05XelkwTG1vZ0ozaTgzUmNiRUFBQVFRUVFB
QUJCQkJBSUVBZzRnaUlqdGJxVGxycVZxTWFLaWhYS0ltMmFYVXJyVmFsSXUvOAorZlA3QW9kR1VU
VGlrSFlWWUJXcEwxbXl4STJBM0w1OU8raGxGRFpVZEs2bTJvMjNiOSs2Z0tSd2tEZHZYdnY4K2JN
cmJsZWR5SUFCCkE0TDJvWTBLRDJsSExiUUNsOTV6cUxaMzcxNDNIVTM3OCtYTDUwWkNOQ3FrWUVW
REFBRUVFRUFBQVFRUVFBQ0I4QUlSQThqRml4ZnQKNTU5L2RqL0tOVXFSa2FZcFY2cUxVUEJRSFlo
L2pZUUt2eFVrVkR1aCs0RDROeTNqcTVDakF2RmdUZWRweWQ0MWE5YTQ2VlZhOVdyaAp3b1h1K2Vi
Tm02MW16WnEyY3VWS0Y1cDA3VmcyaFNKTkdmT2E3bld5YXRVcTAwalA2dFdydmMwOElvQUFBZ2dn
Z0FBQ0NDQ0FRQkNCCmlGT3dORktoRVFVRkVkM3M3NS8vL0tlcjNmQkdMa0tOaG56NjlNbE5aZkpH
Qm1yVXFHRWxTcFJ3YjBFLzRqVUZTNnRqcVdrWjNNV0wKRjd2bitrYzNKZFNLVWlwOEQ5WDBvMS9U
dHpSOVNsTzNWR3ZpTmRXaDZLN291aGRKdDI3ZHZNMHhlVXdiUU5ScGh3NGQzRWlNVnNWcQoyN1p0
eUpxVG1Md0JPa0VBQVFRUVFBQUJCQkJBNEg5WUlPS2QwRlhncmFWM05VcnhqMy84d3kyeHEwY1Zw
di82NjY5dTJkdGduMThqCkVGb1N0M3YzN203M2hRc1gzSWlFZ29KV3I5TGQwZFcwNHRYVXFWTk50
UndxOE5hZDBMTmx5MllqUjQ1MGQxSjNCNFg0UjFPdk5GMUsKNFVncmJHa2xMZlduZWhVVm5tdjZW
Y0dDQlVPY25mSE5XbEpZSXlvcVF0ZUtXZjVOU3dOclN0ZldyVnZEQmlmL2MzaU9BQUlJSUlBQQpB
Z2dnZ0VCV0U0Z1lRRHdRL2RqLzI5Lys1bDcrKzkvL2R2Zlk4UFlGZTlUSWlVTEJEejlFbk9YbE8x
MDNGZFI5UWRMZXJOQjNRSmduCkNoNmFzcVU3cWNjeWRJUzVaTHBkV3RYTEc5Vkp0NU1OQ0NDQUFB
SUlJSUFBQWdnZ1lGRUhrSGhZM2J4NTAzTGx5aFZRWXhHUDYzSU4KQkJCQUFBRUVFRUFBQVFRUWlJ
OUFwZ29nOGZuSVhBVUJCQkJBQUFFRUVFQUFBUVQrV3dMUno0LzZiNzFEcm9zQUFnZ2dnQUFDQ0ND
QQpBQUxmalFBQjVMdjVLdmtnQ0NDQUFBSUlJSUFBQWdoa2ZnRUNTT2Ivam5pSENDQ0FBQUlJSUlB
QUFnaDhOd0lFa08vbXErU0RJSUFBCkFnZ2dnQUFDQ0NDUStRVUlJSm4vTytJZElvQUFBZ2dnZ0FB
Q0NDRHczUWdRUUw2YnI1SVBnZ0FDQ0NDQUFBSUlJSUJBNWhjZ2dHVCsKNzRoM2lBQUNDQ0NBQUFJ
SUlJREFkeU5BQVBsdXZrbytDQUlJSUlBQUFnZ2dnQUFDbVYrQUFKTDV2eVBlSVFJSUlJQUFBZ2dn
Z0FBQwozNDBBQWVTNytTcjVJQWdnZ0FBQ0NDQ0FBQUlJWkg0QkFram0vNDU0aHdnZ2dBQUNDQ0NB
QUFJSWZEY0NCSkR2NXF2a2d5Q0FBQUlJCklJQUFBZ2dna1BrRkNDQ1ovenZpSFNLQUFBSUlJSUFB
QWdnZzhOMElFRUMrbTYrU0Q0SUFBZ2dnZ0FBQ0NDQ0FRT1lYSUlCay91K0kKZDRnQUFnZ2dnQUFD
Q0NDQXdIY2pRQUQ1YnI1S1BnZ0NDQ0NBQUFJSUlJQUFBcGxmZ0FDUytiOGozaUVDQ0NDQUFBSUlJ
SUFBQXQrTgpBQUhrdS9rcStTQUlJSUFBQWdnZ2dBQUNDR1IrQVFKSTV2K09lSWNJSUlBQUFnZ2dn
QUFDQ0h3M0FnU1E3K2FyNUlNZ2dBQUNDQ0NBCkFBSUlJSkQ1QmVJZVFHN2N1R0VmUDM0TUtyTnQy
elk3Y3VSSTBIMlJOcWFtcHRxdFc3ZnM2dFdySWZzUDE4ZTllL2ZDN1dZZkFnZ2cKZ0FBQ0NDQ0FB
QUlJeEVBZzRjc1A5OVFZOUJQUXhaa3paMnpDaEFsV3JsdzVlL1hxbGZYdjM5K2VQWHRtKy9idGN3
Rmp6NTQ5QWNkZgp1M2JOTm16WVlGZXVYTEhFeEVSNy92eTU5ZXpaMHpwMjdCaHdYTEFYcDA2ZHNu
SGp4bG5od29XdGJObXlsaWRQSGhkQzlMRkdqQmhoClpjcVVDWFphdW0wTkdqU3dpUk1uV3N1V0xk
UHRZd01DQ0NDQUFBSUlJSUFBQWdqRVJpQXhOdDM4WHkvbno1KzNaczJhMmU3ZHUwMC8KNnJkczJX
SVBIanl3UW9VSzJlUEhqMjN5NU1uL2QvRC9mOWExYTFlYk5XdVdWYTVjMlVxWExtMFZLbFN3TGwy
NlJBd2dDaGlYTGwyeQpCUXNXcEFzYVQ1OCtkUUZrK1BEaFZxbFNwWFRYOU4rZ1VSZTl4M256NWtV
TUlMdDI3WExYSERac21IOFhkdUxFQ1Z1K2ZMbk5uRG5UCkNoUW9FTENQRndnZ2dBQUNDQ0NBQUFJ
SUlQQ1hRSWFtWUlXYU91V1BPV2pRSUt0YnQ2NExIOXArOXV4WmE5Njh1UnVoZVBueXBkV3YKWDkv
L2NQZkQvK2pSb3k2Y2VEdVNrcEpzenB3NTNzdWdqM1BuenJYVHAwL2I5dTNiWGZqUTh5bFRwcmpY
aHc4ZnRwTW5UOXJTcFV0dAo5dXpaUWMvMzM2aStkTDJIRHgvYTVjdVgvWGVsZTc1ejUwNVRxQmsx
YWxUQVBsMXYzYnAxYmdRbVlBY3ZFRUFBQVFRUVFBQUJCQkJBCndDY1FWUUQ1L2ZmZmJmcjA2ZTVI
K3QvLy9uZjcxNy8rNWVzZzdaUGp4NDliY25LeWI3TkNSODZjT2QyVXJQSGp4L3UyZTA5S2xpeHAK
VFpvMHNiNTkrOXFCQXdlOHpXRkhMVlN2b2VsU216WnRjbE8yVWxKU1hNalI5S2tjT1hKWSsvYnRU
ZThqZS9ic1ZyUm9VWHZ4NG9XdgozN1JQN3Q2OWF3cEFuVHAxc243OSt0bjgrZlBUSGhMd2V0bXla
ZTY5eWtOQnhHdlhyMSszS2xXcXVQZmpiZU1SQVFRUVFBQUJCQkJBCkFBRUVBZ1VpQnBBUEh6NVlq
eDQ5ckY2OWVtNUtrMzdrQndzU1hyZU5Halh5VFlmU2lJRE9WVTFJN3R5NXJXTEZpbmJuemgxYnYz
NjkKZS9UT1VaQlEvY2FpUll2Y05LZ25UNTU0dTRJK0hqdDJ6S3BYcjI0YUtibC8vNzROSGp6WWhn
d1pZblhxMUhHQlE5T3YyclZyNTg1VgpUY2o3OSsrRDlxT051bWF2WHIxY2NOQlVzQjA3ZHBqT0Q5
Y1NFaEtzU0pFaWJuUkY1NnZlUkZPeldyUm9FZTQwOWlHQUFBSUlJSUFBCkFnZ2drT1VGSWdZUWpT
TDg5Tk5QN2dlL3RGVExvYnFMVUczTW1ERXVSQXdkT3RSTnU2cFZxNVpObWpUSnhvNGRhMXJscWxX
clZtNjcKUmhyZXZYdm51aWxXckpnZFBIalErdlRwWXhzM2JyU3FWYXVhaXN0RE5VM3JxbGF0bXR1
dGd2WTNiOTVZbXpadDNPdERodzVaOGVMRgpmZnRWZDZKUmtHRHQ5ZXZYdG5idFd1dmR1N2ZiclpE
VXVYTm4wNGhLcUtiUkZBVXJUY1hTTlJWK05IcWo2NHdlUFRyVWFXeEhBQUVFCkVFQUFBUVFRUUFD
Qkx3SVJpOUQxZi90VjVLM2xjL1hEWE1YV1d0a3FWR3ZhdEtucFA2L3QzNy9mVGFmU0tJUUt5elhD
b0ZFVXJVNmwKS1ZmZXFsTUtPcTFidDNiVG1HYk1tT0ZDZ2VvcWdyVlNwVXI1YWpVMFFxT2k3OXEx
YTd0RE5aclN1SEZqOTF5aFFDTVZvZHE1YytkTQpOU3NLTEY0Yk9IQ2dyVml4d251WjdsR0JwWHo1
OHE3R1JXR3BZY09HemtVRjdCU2ZwK05pQXdJSUlJQUFBZ2dnZ0FBQ0FRSVJSMEIwCnRGWjMwbEsz
R3RWUVFibENTYlJOcTF0cHRTb1ZlZWZQbjk4WE9EU0tvaEdIdEtzQXEwaDl5WklsYmdUazl1M2JR
Uytqc0tHaWN6WFYKYnJ4OSs5WUZKSVdEdkhuejJ1ZlBuMTF4dStwRUJnd1lFTFFQYlZSNFNEdHFv
Ulc0OUo1RHRiMTc5N3JwYU5xZkwxOCtOeEtpVVNFRgpLeG9DQ0NDQUFBSUlJSUFBQWdpRUY0Z1lR
QzVldkdnLy8veXorMUd1VVlxTU5FMjVVbDJFZ29mcVFQeHJKRlQ0clNDaDJnbmRCOFMvCmFSbGZo
UndWaUFkck9rOUw5cTVaczhaTnI5S3FWd3NYTG5UUE4yL2ViRFZyMXJTVksxZTYwS1JyeDdJcEZH
bkttTmQwcjVOVnExYVoKUm5wV3IxN3RiZVlSQVFRUVFBQUJCQkJBQUFFRWdnaEVuSUtsa1FxTktD
aUk2R1ovLy96blAxM3RoamR5RVdvMDVOT25UMjRxa3pjeQpVS05HRFN0Um9vUjdDL29ScnlsWVdo
MUxUY3ZnTGw2ODJEM1hQN29wb1ZhVVV1RjdxS1lmL1pxK3BlbFRtcnFsV2hPdnFRNUZkMFhYCnZV
aTZkZXZtYlk3Slk5b0FvazQ3ZE9qZ1JtSzBLbGJidG0xRDFwekU1QTNRQ1FJSUlJQUFBZ2dnZ0FB
Qy84TUNFZStFcmdKdkxiMnIKVVlwLy9PTWZib2xkUGFvdy9kZGZmM1hMM2diNy9CcUIwSks0M2J0
M2Q3c3ZYTGpnUmlRVUZMUjZsZTZPcnFZVnI2Wk9uV3FxNVZDQgp0KzZFbmkxYk5oczVjcVM3azdv
N0tNUS9tbnFsNlZJS1IxcGhTeXRwcVQvVnE2andYTk92Q2hZc0dPTHNqRy9Xa3NJYVVWRVJ1bGJN
CjhtOWFHbGhUdXJadTNSbzJPUG1mdzNNRUVFQUFBUVFRUUFBQkJMS2FRTVFBNG9Ib3gvN2Yvdlkz
OS9MZi8vNjN1OGVHdHkvWW8wWk8KRkFwKytDSGlMQy9mNmJxcG9PNExrdlptaGI0RHdqeFI4TkNV
TGQxSlBaYWhJOHdsMCszU3FsN2VxRTY2bld4QUFBRUVFRUFBQVFRUQpRQUFCaXpxQXhNUHE1czJi
bGl0WHJvQWFpM2hjbDJzZ2dBQUNDQ0NBQUFJSUlJQkFmQVF5VlFDSnowZm1LZ2dnZ0FBQ0NDQ0FB
QUlJCklQRGZFb2grZnRSLzZ4MXlYUVFRUUFBQkJCQkFBQUVFRVBodUJBZ2czODFYeVFkQkFBRUVF
RUFBQVFRUVFDRHpDeEJBTXY5M3hEdEUKQUFFRUVFQUFBUVFRUU9DN0VTQ0FmRGRmSlI4RUFRUVFR
QUFCQkJCQUFJSE1MMEFBeWZ6ZkVlOFFBUVFRUUFBQkJCQkFBSUh2Um9BQQo4dDE4bFh3UUJCQkFB
QUVFRUVBQUFRUXl2d0FCSlBOL1I3eERCQkJBQUFFRUVFQUFBUVMrR3dFQ3lIZnpWZkpCRUVBQUFR
UVFRQUFCCkJCREkvQUlFa016L0hmRU9FVUFBQVFRUVFBQUJCQkQ0YmdRU0kzMlNsSlNVU0lld0h3
RUVFRUFBQVFRUVFBQUJCQkN3NU9Sa1MwcEsKQ2lzUk1ZRG9iSFZFUXdBQkJCQkFBQUVFRUVBQUFR
UytWU0FoOVV2NzFrNDRId0VFRUVBQUFRUVFRQUFCQkJDSVJvQWFrR2lVT0FZQgpCQkJBQUFFRUVF
QUFBUVJpSWtBQWlRa2puU0NBQUFJSUlJQUFBZ2dnZ0VBMEFnU1FhSlE0QmdFRUVFQUFBUVFRUUFB
QkJHSWlRQUNKCkNTT2RJSUFBQWdnZ2dBQUNDQ0NBUURRQ0JKQm9sRGdHQVFRUVFBQUJCQkJBQUFF
RVlpSkFBSWtKSTUwZ2dBQUNDQ0NBQUFJSUlJQkEKTkFJRWtHaVVPQVlCQkJCQUFBRUVFRUFBQVFS
aUlrQUFpUWtqblNDQUFBSUlJSUFBQWdnZ2dFQTBBZ1NRYUpRNEJnRUVFRUFBQVFRUQpRQUFCQkdJ
aVFBQ0pDU09kSUlBQUFnZ2dnQUFDQ0NDQVFEUUNCSkJvbERnR0FRUVFRQUFCQkJCQUFBRUVZaUpB
QUlrSkk1MGdnQUFDCkNDQ0FBQUlJSUlCQU5BSUVrR2lVT0FZQkJCQkFBQUVFRUVBQUFRUmlJa0FB
aVFram5TQ0FBQUlJSUlBQUFnZ2dnRUEwQWdTUWFKUTQKQmdFRUVFQUFBUVFRUUFBQkJHSWlRQUNK
Q1NPZElJQUFBZ2dnZ0FBQ0NDQ0FRRFFDQkpCb2xEZ0dBUVFRUUFBQkJCQkFBQUVFWWlKQQpBSWtK
STUwZ2dBQUNDQ0NBQUFJSUlJQkFOQUwvdFFCeTQ4WU4rL2p4WTlEM3VHM2JOanR5NUVqUWZaRTJw
cWFtMnExYnQrenExYXNoCit3L1h4NzE3OThMdFpoOENDQ0NBQUFJSUlJQUFBZ2g4ZzBEQ2x4L3Nx
ZDl3ZnRoVHo1dzVZeE1tVExCeTVjclpxMWV2ckgvLy92YnMKMlRQYnQyK2ZDeGg3OXV3Sk9QL2F0
V3UyWWNNR3UzTGxpaVVtSnRyejU4K3RaOCtlMXJGang0RGpncjA0ZGVxVWpSczN6Z29YTG14bAp5
NWExUEhueXVCQ2lqemRpeEFnclU2Wk1zTlBTYld2UW9JRk5uRGpSRmZTbjdnQUFJQUJKUkVGVVdy
WnNtVzRmR3hCQUFBRUVFRUFBCkFRUVFRT0RiQkJLak9WMmhZUC8rL1phUWtHQUZDeFowUC9DN2R1
MXF1WExsQ25uNitmUG5yVm16WnJaNzkyN1RqL290VzdiWWd3Y1AKckZDaFF2YjQ4V09iUEhseXVu
UFY1NnhaczZ4eTVjcFd1blJwcTFDaGduWHAwaVZpQUZIQXVIVHBraTFZc0NCZDBIajY5S2tMSU1P
SApEN2RLbFNxbHU2Yi9CbzI2NkQzT216Y3ZZZ0RadFd1WHUrYXdZY1A4dTdBVEowN1k4dVhMYmVi
TW1WYWdRSUdBZmJ4QUFBRUVFRUFBCkFRUVFRQ0NyQzBRVlFCUVc5QVBmdjYxYnQ4NysrT01QLzAw
Qnp3Y05HbVIxNjlaMTRVTTd6cDQ5YTJQR2pMSDc5Ky9ieTVjdnJYNzkKK2dISDY0Zi8wYU5IWFRq
eGRpUWxKZG1jT1hPOGwwRWY1ODZkYTZkUG43YmZmdnZOalpwNHp4VmlpaFVyWnE5ZnY3YWxTNWZh
enovLwpiQ2twS1VINzhEYXFMMTN2bDE5K3NjdVhMNGNOTER0MzduUkI0ODgvLzdScDA2WjVYZGpK
a3lkTk5yb21EUUVFRUVBQUFRUVFRQUFCCkJBSUZvcW9CdVhqeG9ta3FrLzU3OGVLRis0Ris4T0JC
ZS9qd1lXQnZmcStPSHo5dXljbkp2aTBLSFRsejVuUlRzc2FQSCsvYjdqMHAKV2JLa05XblN4UHIy
N1dzSERoendOb2NOQWFyWDBIU3BUWnMydWZDaGdORzhlWE0zZXBFalJ3NXIzNzY5Nlgxa3o1N2Rp
aFl0NnQ2NwpyK00wVCs3ZXZlc0NVS2RPbmF4ZnYzNDJmLzc4TkVjRXZseTJiSmw3cjlPblR6ZU5y
bmp0K3ZYclZxVktGZmQrdkcwOElvQUFBZ2dnCmdBQUNDQ0NBd0Y4Q1VRVVFmNng4K2ZMWlR6Lzk1
RFpwS2xXbzFxaFJJOTkwS0kwSTlPalJ3MVFUa2p0M2JxdFlzYUxkdVhQSDFxOWYKN3g2OVBoUWtW
TCt4YU5FaU53M3F5Wk1uM3E2Z2o4ZU9IYlBxMWF1YlJrbzBzako0OEdBYk1tU0kxYWxUeHdVT1Ri
OXExNjZkTzFjMQpJZS9mdncvYWp6YnFtcjE2OVhMQlFWUEJkdXpZWVRvL1hOT1V0Q0pGaXRqczJi
UGQrUXBvbXByVm9rV0xjS2V4RHdFRUVFQUFBUVFRClFBQ0JMQ3VRNFFBaUtmMllWOU5vU0tpbTZW
YXFwUmc2ZEtnckRLOVZxNVpObWpUSnhvNGRhMXJscWxXclZtNjdSaHJldlh2bnV0R1UKS1kyczlP
blR4elp1M0doVnExWTFGWmVIYXByV1ZhMWFOYmRiQmUxdjNyeXhObTNhdU5lSERoMnk0c1dMKy9Z
ckxHa1VKRmpUTksyMQphOWRhNzk2OTNXNkZwTTZkTzRlZHNxWFBybUNscVZpNnBzS1BSbTkwbmRH
alJ3ZTdETnNRUUFBQkJCQkFBQUVFRU1qeUFsSFZnS1JWCnlwWXRtOXVrLytNZnFqVnQydFQwbjlk
VXhLNGljSTFDcUxCY0l3eGFhVXFyVTJuS2xiZnFsS1pMdFc3ZDJrMWptakZqaGdzRnFxc0kKMWtx
Vkt1VnFOYlR2dzRjUHJ1aTdkdTNhN2xDTnBqUnUzTmc5VnlqUVNFV29kdTdjT1ZQTmlnS0wxd1lP
SEdnclZxendYcVo3VkdBcApYNzY4cTNGUldHcllzS0VMTEFwZEZKK240MklEQWdnZ2dBQUNDQ0NB
QUFKTzRLdEdRTDdHVHF0YmFiVXFGWG5uejUvZkZ6aFUzSzRSCmg3UmhSa1hxUzVZc2NTTWd0Mi9m
RG5wSmhRMFZuYXVwZHVQdDI3ZW0rNHNvSE9UTm05YytmLzdzVnJWU25jaUFBUU9DOXFHTkNnOXAK
UnkyMEFwZmVjNmkyZCs5ZXExZXZudHV0YVdrYUNkRUtYd3BXTkFRUVFBQUJCQkJBQUFFRUVBZ3VF
SmNBb2lsWHFvdFE4RkFkaUgrTgpoRmErVXBCUTdZVHVBK0xmdEl5djZpeFVJQjZzNlR5dGRyVm16
Um8zdmVydzRjTzJjT0ZDOTN6ejVzMVdzMlpOVzdseXBicy9pSzRkCnk2WlFwQ2xqWHRPOVRsYXRX
dVdXSzE2OWVyVzNtVWNFRUVBQUFRUVFRQUFCQkJEd0U0ZzRCVXNyWUtWZFVsWTFFMnFxMzFBQnVG
ZUgKNGRldjcrbW5UNS9jVkNadlpLQkdqUnBXb2tRSnQxOC80alVGUzZ0anFXa1ozTVdMRjd2bitr
ZjNIOUdLVXQ1SWcyK0gzeFA5Nk5mMApMVTJmMHRRdDFacDRUWFVvdWl1NjdrWFNyVnMzYjNOTUh0
TUdFSFhhb1VNSE54S2pWYkhhdG0wYnN1WWtKbStBVGhCQUFBRUVFRUFBCkFRUVErQjhVaUhnbmRQ
MlkxaXBQd1pydVZ2N28wU00zOVNqWWZtM1RDSVNXeE8zZXZiczc1TUtGQzI1RVFrRkI0VVYzUjFm
VGlsZFQKcDA1MXRSd3E4RmJmcWpVWk9YS2t1NU82T3lqRVA1cDZwZWxTQ2t0YVlVc3JhYWsvVGNk
UzRibW1YK2tHaXJGcVdsSllJeW9xUXRlSwpXZjVOU3dOclN0ZldyVnZEQmlmL2MzaU9BQUlJSUlB
QUFnZ2dnRUJXRVlnWVFMNFZRalVlQ2dVLy9CRDliSy90MjdlYjdndVM5bWFGCjBid1hCUTlOMmRL
ZDFHTVpPcUs1dG5lTVZ2WHlSblc4YlR3aWdBQUNDQ0NBQUFJSUlJQ0EyWDg4Z0h3TjhzMmJOeTFY
cmx3Qk5SWmYKMHcvbklJQUFBZ2dnZ0FBQ0NDQ0FRT1lTeUpRQkpITVI4VzRRUUFBQkJCQkFBQUVF
RUVBZ1ZnTFJ6NHVLMVJYcEJ3RUVFRUFBQVFRUQpRQUFCQkxLc0FBRWt5MzcxZkhBRUVFQUFBUVFR
UUFBQkJPSXZRQUNKdnpsWFJBQUJCQkJBQUFFRUVFQWd5d29RUUxMc1Y4OEhSd0FCCkJCQkFBQUVF
RUVBZy9nSUVrUGliYzBVRUVFQUFBUVFRUUFBQkJMS3NBQUVreTM3MWZIQUVFRUFBQVFRUVFBQUJC
T0l2UUFDSnZ6bFgKUkFBQkJCQkFBQUVFRUVBZ3l3b1FRTExzVjg4SFJ3QUJCQkJBQUFFRUVFQWcv
Z0lFa1BpYmMwVUVFRUFBQVFRUVFBQUJCTEtzQUFFawp5MzcxZkhBRUVFQUFBUVFRUUFBQkJPSXZR
QUNKdnpsWFJBQUJCQkJBQUFFRUVFQWd5d29RUUxMc1Y4OEhSd0FCQkJCQUFBRUVFRUFnCi9nSUVr
UGliYzBVRUVFQUFBUVFRUUFBQkJMS3NBQUVreTM3MWZIQUVFRUFBQVFRUVFBQUJCT0l2UUFDSnZ6
bFhSQUFCQkJCQUFBRUUKRUVBZ3l3b1FRTExzVjg4SFJ3QUJCQkJBQUFFRUVFQWcvZ0lFa1BpYmMw
VUVFRUFBQVFRUVFBQUJCTEtzQUFFa3kzNzFmSEFFRUVBQQpBUVFRUUFBQkJPSXZRQUNKdnpsWFJB
QUJCQkJBQUFFRUVFQWd5d29RUUxMc1Y4OEhSd0FCQkJCQUFBRUVFRUFnL2dML3RRQnk0OFlOCisv
anhZOUJQdkczYk5qdHk1RWpRZlpFMnBxYW0ycTFidCt6cTFhc2grdy9YeDcxNzk4THRaaDhDQ0ND
QUFBSUlJSUFBQWdoOGcwREMKbHgvc3FkOXdmdGhUejV3NVl4TW1UTEJ5NWNyWnExZXZySC8vL3Zi
czJUUGJ0MitmQ3hoNzl1d0pPUC9hdFd1MlljTUd1M0xsaWlVbQpKdHJ6NTgrdFo4K2UxckZqeDRE
amdyMDRkZXFValJzM3pnb1hMbXhseTVhMVBIbnl1QkNpanpkaXhBZ3JVNlpNc05QU2JXdlFvSUZO
Cm5EalJXclpzbVc0Zkd4QkFBQUVFRUVBQUFRUVFRT0RiQkJLak9WMmhZUC8rL1phUWtHQUZDeFow
UC9DN2R1MXF1WExsQ25uNitmUG4KclZtelpyWjc5MjdUai9vdFc3Yllnd2NQckZDaFF2YjQ4V09i
UEhseXVuUFY1NnhaczZ4eTVjcFd1blJwcTFDaGduWHAwaVZpQUZIQQp1SFRwa2kxWXNDQmQwSGo2
OUtrTElNT0hEN2RLbFNxbHU2Yi9CbzI2NkQzT216Y3ZZZ0RadFd1WHUrYXdZY1A4dTdBVEowN1k4
dVhMCmJlYk1tVmFnUUlHQWZieEFBQUVFRUVBQUFRUVFRQ0NyQzBRVlFCUVc5QVBmdjYxYnQ4Nysr
T01QLzAwQnp3Y05HbVIxNjlaMTRVTTcKenA0OWEyUEdqTEg3OSsvYnk1Y3ZyWDc5K2dISDY0Zi8w
YU5IWFRqeGRpUWxKZG1jT1hPOGwwRWY1ODZkYTZkUG43YmZmdnZOalpwNAp6eFZpaWhVclpxOWZ2
N2FsUzVmYXp6Ly9iQ2twS1VINzhEYXFMMTN2bDE5K3NjdVhMNGNOTER0MzduUkI0ODgvLzdScDA2
WjVYZGpKCmt5ZE5Ocm9tRFFFRUVFQUFBUVFRUUFBQkJBSUZvcW9CdVhqeG9ta3FrLzU3OGVLRis0
Ris4T0JCZS9qd1lXQnZmcStPSHo5dXljbkoKdmkwS0hUbHo1blJUc3NhUEgrL2I3ajBwV2JLa05X
blN4UHIyN1dzSERoendOb2NOQWFyWDBIU3BUWnMydWZDaGdORzhlWE0zZXBFagpSdzVyMzc2OTZY
MWt6NTdkaWhZdDZ0NjdyK00wVCs3ZXZlc0NVS2RPbmF4ZnYzNDJmLzc4TkVjRXZseTJiSmw3cjlP
blR6ZU5ybmp0Cit2WHJWcVZLRmZkK3ZHMDhJb0FBQWdnZ2dBQUNDQ0NBd0Y4Q1VRVVFmNng4K2ZM
WlR6Lzk1RFpwS2xXbzFxaFJJOTkwS0kwSTlPalIKdzFRVGtqdDNicXRZc2FMZHVYUEgxcTlmN3g2
OVBoUWtWTCt4YU5FaU53M3F5Wk1uM3E2Z2o4ZU9IYlBxMWF1YlJrbzBzako0OEdBYgpNbVNJMWFs
VHh3VU9UYjlxMTY2ZE8xYzFJZS9mdncvYWp6YnFtcjE2OVhMQlFWUEJkdXpZWVRvL1hOT1V0Q0pG
aXRqczJiUGQrUXBvCm1wclZva1dMY0tleER3RUVFRUFBQVFRUVFBQ0JMQ3VRNFFBaUtmMllWOU5v
U0tpbTZWYXFwUmc2ZEtnckRLOVZxNVpObWpUSnhvNGQKYTFybHFsV3JWbTY3UmhyZXZYdm51dEdV
S1kyczlPblR4elp1M0doVnExWTFGWmVIYXByV1ZhMWFOYmRiQmUxdjNyeXhObTNhdU5lSApEaDJ5
NHNXTCsvWXJMR2tVSkZqVE5LMjFhOWRhNzk2OTNXNkZwTTZkTzRlZHNxWFBybUNscVZpNnBzS1BS
bTkwbmRHalJ3ZTdETnNRClFBQUJCQkJBQUFFRUVNanlBbEhWZ0tSVnlwWXRtOXVrLytNZnFqVnQy
dFQwbjlkVXhLNGljSTFDcUxCY0l3eGFhVXFyVTJuS2xiZnEKbEtaTHRXN2QyazFqbWpGamhnc0Zx
cXNJMWtxVkt1VnFOYlR2dzRjUHJ1aTdkdTNhN2xDTnBqUnUzTmc5VnlqUVNFV29kdTdjT1ZQTgpp
Z0tMMXdZT0hHZ3JWcXp3WHFaN1ZHQXBYNzY4cTNGUldHcllzS0VMTEFwZEZKK240MklEQWdnZ2dB
QUNDQ0NBQUFKTzRLdEdRTDdHClRxdGJhYlVxRlhubno1L2ZGemhVM0s0Umg3UmhSa1hxUzVZc2NT
TWd0Mi9mRG5wSmhRMFZuYXVwZHVQdDI3ZW0rNHNvSE9UTm05YysKZi83c1ZyVlNuY2lBQVFPQzlx
R05DZzlwUnkyMEFwZmVjNmkyZCs5ZXExZXZudHV0YVdrYUNkRUtYd3BXTkFRUVFBQUJCQkJBQUFF
RQpFQWd1RUpjQW9pbFhxb3RROEZBZGlIK05oRmErVXBCUTdZVHVBK0xmdEl5djZpeFVJQjZzNlR5
dGRyVm16Um8zdmVydzRjTzJjT0ZDCjkzeno1czFXczJaTlc3bHlwYnMvaUs0ZHk2WlFwQ2xqWHRP
OVRsYXRXdVdXSzE2OWVyVzNtVWNFRUVBQUFRUVFRQUFCQkJEd0U0ZzQKQlVzcllLVmRVbFkxRTJx
cTMxQUJ1RmVINGRldjcrbW5UNS9jVkNadlpLQkdqUnBXb2tRSnQxOC80alVGUzZ0anFXa1ozTVdM
Rjd2bgora2YzSDlHS1V0NUlnMitIM3hQOTZOZjBMVTJmMHRRdDFacDRUWFVvdWl1NjdrWFNyVnMz
YjNOTUh0TUdFSFhhb1VNSE54S2pWYkhhCnRtMGJzdVlrSm0rQVRoQkFBQUVFRUVBQUFRUVErQjhV
aUhnbmRQMlkxaXBQd1pydVZ2N28wU00zOVNqWWZtM1RDSVNXeE8zZXZiczcKNU1LRkMyNUVRa0ZC
NFVWM1IxZlRpbGRUcDA1MXRSd3E4RmJmcWpVWk9YS2t1NU82T3lqRVA1cDZwZWxTQ2t0YVlVc3Jh
YWsvVGNkUwo0Ym1tWCtrR2lyRnFXbEpZSXlvcVF0ZUtXZjVOU3dOclN0ZldyVnZEQmlmL2MzaU9B
QUlJSUlBQUFnZ2dnRUJXRVlnWVFMNFZRalVlCkNnVS8vQkQ5YksvdDI3ZWI3Z3VTOW1hRjBid1hC
UTlOMmRLZDFHTVpPcUs1dG5lTVZ2WHlSblc4YlR3aWdBQUNDQ0NBQUFJSUlJQ0EKMlg4OGdId044
czJiTnkxWHJsd0JOUlpmMHcvbklJQUFBZ2dnZ0FBQ0NDQ0FRT1lTeUpRQkpITVI4VzRRUUFBQkJC
QkFBQUVFRUVBZwpWZ0xSejR1SzFSWHBCd0VFRUVBQUFRUVFRQUFCQkxLc0FBRWt5MzcxZkhBRUVF
QUFBUVFRUUFBQkJPSXZRQUNKdnpsWFJBQUJCQkJBCkFBRUVFRUFneXdvUVFMTHNWODhIUndBQkJC
QkFBQUVFRUVBZy9nSUVrUGliYzBVRUVFQUFBUVFRUUFBQkJMS3NBQUVreTM3MWZIQUUKRUVBQUFR
UVFRQUFCQk9JdlFBQ0p2emxYUkFBQkJCQkFBQUVFRUVBZ3l3b1FRTExzVjg4SFJ3QUJCQkJBQUFF
RUVFQWcvZ0lFa1BpYgpjMFVFRUVBQUFRUVFRQUFCQkxLc1FHS2tUNTZTa2hMcEVQWWpnQUFDQ0ND
QUFBSUlJSUFBQXBhY25HeEpTVWxoSlNJR0VKMnRqbWdJCklJQUFBZ2dnZ0FBQ0NDQ0F3TGNLSktS
K2FkL2FDZWNqZ0FBQ0NDQ0FBQUlJSUlBQUF0RUlVQU1TalJMSElJQUFBZ2dnZ0FBQ0NDQ0EKUUV3
RUNDQXhZYVFUQkJCQUFBRUVFRUFBQVFRUWlFYUFBQktORXNjZ2dBQUNDQ0NBQUFJSUlJQkFUQVFJ
SURGaHBCTUVFRUFBQVFRUQpRQUFCQkJDSVJvQUFFbzBTeHlDQUFBSUlJSUFBQWdnZ2dFQk1CQWdn
TVdHa0V3UVFRQUFCQkJCQUFBRUVFSWhHZ0FBU2pSTEhJSUFBCkFnZ2dnQUFDQ0NDQVFFd0VDQ0F4
WWFRVEJCQkFBQUVFRUVBQUFRUVFpRWFBQUJLTkVzY2dnQUFDQ0NDQUFBSUlJSUJBVEFRSUlERmgK
cEJNRUVFQUFBUVFRUUFBQkJCQ0lSb0FBRW8wU3h5Q0FBQUlJSUlBQUFnZ2dnRUJNQkFnZ01XR2tF
d1FRUUFBQkJCQkFBQUVFRUloRwpnQUFTalJMSElJQUFBZ2dnZ0FBQ0NDQ0FRRXdFQ0NBeFlhUVRC
QkJBQUFFRUVFQUFBUVFRaUVhQUFCS05Fc2NnZ0FBQ0NDQ0FBQUlJCklJQkFUQVFJSURGaHBCTUVF
RUFBQVFRUVFBQUJCQkNJUm9BQUVvMFN4eUNBQUFJSUlJQUFBZ2dnZ0VCTUJBZ2dNV0drRXdRUVFB
QUIKQkJCQUFBRUVFSWhHSUVNQlpOdTJiWGJreUpGbytnMDQ1c2FORy9ieDQ4ZUFiZjR2M3I1OTYv
OHk2dWVwcWFsMjY5WXR1M3IxYXRqKwpRM1Y0Nzk2OVVMdllqZ0FDQ0NDQUFBSUlJSUFBQXY4QmdZ
UXZQK0pUSS9WNzdkbzEyN0JoZzEyNWNzVVNFeFB0K2ZQbjFyTm5UK3ZZCnNhUHYxRE5uenRpRUNS
T3NYTGx5OXVyVksrdmZ2Nzg5ZS9iTTl1M2I1MExMbmoxN2ZNZDZUeDQ5ZW1UVHBrMno4K2ZQMisr
Ly8rNXQKanZoNDZ0UXBHemR1bkJVdVhOaktsaTFyZWZMa2NTRkVIMlhFaUJGV3BreVppSDNvZ0FZ
Tkd0akVpUk90WmN1V1VSM1BRUWdnZ0FBQwpDQ0NBQUFJSUlQQnRBb25Sbk42MWExZWJOV3VXVmE1
YzJVcVhMbTBWS2xTd0xsMjYrQUtJQWtTelpzMXM5KzdkN2tmOWxpMWI3TUdECkIxYW9VQ0Y3L1Bp
eFRaNDhPZDFsRkZJVWFNNmVQV3Z2Mzc5UHR6L1VCZ1dNUzVjdTJZSUZDOUlGamFkUG43b0FNbno0
Y0t0VXFWS28KTHR4MmplVG9QYzZiTnk5aUFObTFhNWU3NXJCaHd3TDZQSEhpaEMxZnZ0eG16cHhw
QlFvVUNOakhDd1FRUUFBQkJCQkFBQUVFRUVndgpFSEVLbG42a0h6MTYxQVVKNy9Ta3BDU2JNMmVP
OTlJR0RScGtkZXZXZGVGREd4VXFtamR2N2tZb1hyNThhZlhyMS9jZDZ6M0ptemV2Ck5XblN4QVdG
aElRRWIzUFl4N2x6NTlycDA2ZHQrL2J0TG56bytaUXBVOXpydzRjUDI4bVRKMjNwMHFVMmUvYnNz
UDFvcC9yU1ozajQKOEtGZHZudzU3UEU3ZCs0MGhacFJvMFlGSEtmcnJWdTN6bzNBQk96Z0JRSUlJ
SUFBQWdnZ2dBQUNDQVFWaUJoQVNwWXM2WUpDMzc1OQo3Y0NCQTc1Ty9FY1lqaDgvYnNuSnliNTlD
aDA1YytaMFU3TEdqeC92Mi80dFQxU3ZvZWxTbXpadGN0UEFVbEpTWE1qUjlLa2NPWEpZCisvYnRU
ZThqZS9ic1ZyUm9VWHZ4NGtYSXk5MjllOWVGcWs2ZE9sbS9mdjFzL3Z6NUlZL1ZqbVhMbHBrKy8v
VHAwMTBROFE2K2Z2MjYKVmFsU3hiMGZieHVQQ0NDQUFBSUlJSUFBQWdnZ0VGb2dZZ0RScWZyUnIx
cUxSWXNXdVNsTFQ1NDhDZWl4VWFOR3Z1bFFHaEhvMGFPSApxU1lrZCs3Y1ZyRmlSYnR6NTQ2dFg3
L2VQUWFjbUlFWHg0NGRzK3JWcTV0R1grN2Z2MitEQncrMklVT0dXSjA2ZFZ6ZzBQU3JkdTNhCnVS
NVZFeEp1V3BjK1I2OWV2Vnh3MFBTeUhUdDJtTTRQMXpSS1U2UklFVGU2b3ZOVmI2S3BXUzFhdEFo
M0d2c1FRQUFCQkJCQUFBRUUKRUVEQVR5Q3FBRktzV0RFN2VQQ2c5ZW5UeHpadTNHaFZxMVkxRllK
N2JjeVlNUzZZREIwNjFFMjdxbFdybGsyYU5NbkdqaDFyV2ptcgpWYXRXYnJ0R0d0NjllK2VkbHFG
SFRldXFWcTJhTzBjRjdXL2V2TEUyYmRxNDE0Y09IYkxpeFl2NzlxdnVSS01nd2RycjE2OXQ3ZHEx
CjFydDNiN2RiSWFsejU4Nm1FWlZRVGFNcENsYWFpcVZyS3Z4b1JFVFhHVDE2ZEtqVDJJNEFBZ2dn
Z0FBQ0NDQ0FBQUpwQktJcVF0YzUKbXRyVXVuVnJOK1ZveG93WjdnZThhaURVbWpadDZ2NXpMNzc4
czMvL2ZsZmJvVkVJRmF0cmhFRlRwYlE2bGFaeGZjMnFVNlZLbGZMVgphbno0OE1FVmZkZXVYZHRk
VWlNMGpSczNkczhWQ2pSU0VhcWRPM2ZPMWF3b3NIaHQ0TUNCdG1MRkN1OWx1a2NGbHZMbHk3c2FG
d1d3CmhnMGJ1c0NpQW5hS3o5TnhzUUVCQkJCQUFBRUVFRUFBZ1pBQ0VVZEEwcTdTcTRMeUpVdVd1
QkdRMjdkdkIrMVlLMlpwdFNvVmVlZlAKbjk4WE9MUjZsVVljdnFZcGJLam9YRTIxRzdwM2lPNHZv
bkNnZ3ZiUG56KzdWYTFVSnpKZ3dJQ1FsMUI0U0R0cW9WVzk5SjVEdGIxNwo5MXE5ZXZYYzduejU4
cm1SRUszd3BXQkZRd0FCQkJCQUFBRUVFRUFBZ2VnRklnWVExVG5vUGlEK1RVdnVxaVpDeGR4cG02
WmNxUzVDCndVTjFJUDQxRWxwTnl4dTFTSHRlcE5jNlQ4c0FyMW16eGsydjBxcFhDeGN1ZE04M2I5
NXNOV3ZXdEpVclY3cjdnK2phc1d3S1dwcUcKNWpYZDYyVFZxbFZ1cEdmMTZ0WGVaaDRSUUFBQkJC
QkFBQUVFRUVBZ2drQlVVN0MwWk8zaXhZdDlYZW1taEZyOXlSc1Y4SFo4K3ZUSgpUV1h5UmdacTFL
aGhKVXFVY0x2MUkxNVRzTFE2bG4vVE5DMk5Ya1RUOUtOZjA3YzBmVXJUd1ZScjRqWFZvZWl1Nkxv
WFNiZHUzYnpOCk1YbE1HMERVYVljT0hkeElqSmJuYmR1MmJjaWFrNWk4QVRwQkFBRUVFRUFBQVFR
UVFPQTdFWWg0SjNTdGVEVjE2bFJUM1lXS3NYVW4KOUd6WnN0bklrU1BkWGMvOUhUUUNvU1Z4dTNm
djdqWmZ1SERCalVnb0tHajFLdDBkM1dzS0hocTVVRCs2eHErLy9tby8vdmlqTzg0NwpKdGlqcGw1
cHV0VEZpeGZkQ2x0YW5Vdm5henFXQ3M4MS9hcGd3WUxCVHYycWJWcFNXQ01xS2tMWGlsbitUVXNE
YTByWDFxMWIwNFV4Ci8rTjRqZ0FDQ0NDQUFBSUlJSUFBQW44SlJBd2cvbEM2QWFEdUN4THN4b0k2
VGpVZVduYjNoeDhpenV6eTcvYXJueXQ0YUJxWTdzNGUKeTlDUmtUZWtWYjNTanVwazVIeU9SUUFC
QkJCQUFBRUVFRUFnS3dsa0tJRGN2SG5UY3VYS0ZWQVBrWld3K0t3SUlJQUFBZ2dnZ0FBQwpDQ0R3
YlFJWkNpRGZkaW5PUmdBQkJCQkFBQUVFRUVBQWdhd3VFSis1VWxsZG1jK1BBQUlJSUlBQUFnZ2dn
QUFDVG9BQXdoOENBZ2dnCmdBQUNDQ0NBQUFJSXhFMkFBQkkzYWk2RUFBSUlJSUFBQWdnZ2dBQUNC
QkQrQmhCQUFBRUVFRUFBQVFRUVFDQnVBZ1NRdUZGeklRUVEKUUFBQkJCQkFBQUVFRUNDQThEZUFB
QUlJSUlBQUFnZ2dnQUFDY1JNZ2dNU05tZ3NoZ0FBQ0NDQ0FBQUlJSUlBQUFZUy9BUVFRUUFBQgpC
QkJBQUFFRUVJaWJBQUVrYnRSY0NBRUVFRUFBQVFRUVFBQUJCQWdnL0EwZ2dBQUNDQ0NBQUFJSUlJ
QkEzQVFJSUhHajVrSUlJSUFBCkFnZ2dnQUFDQ0NCQUFPRnZBQUVFRUVBQUFRUVFRQUFCQk9JbVFB
Q0pHelVYUWdBQkJCQkFBQUVFRUVBQUFRSUlmd01JSUlBQUFnZ2cKZ0FBQ0NDQVFOd0VDU055b3VS
QUNDQ0NBQUFJSUlJQUFBZ2dRUVBnYlFBQUJCQkJBQUFFRUVFQUFnYmdKRUVEaVJzMkZFRUFBQVFR
UQpRQUFCQkJCQWdBREMzd0FDQ0NDQUFBSUlJSUFBQWdqRVRZQUFFamRxTG9RQUFnZ2dnQUFDQ0ND
QUFBSUVFUDRHRUVBQUFRUVFRQUFCCkJCQkFJRzRDR1FvZzI3WnRzeU5Iam1UNHpkMjRjY00rZnZ3
WThyeTNiOStHM0JkdVIycHFxdDI2ZGN1dVhyMGF0djlRZmR5N2R5L1UKTHJZamdBQUNDQ0NBQUFJ
SUlJREFmMEFnNGN1UCtOUkkvVjY3ZHMwMmJOaGdWNjVjc2NURVJIdisvTG4xN05uVE9uYnM2RHYx
ekpregpObUhDQkN0WHJweTlldlhLK3ZmdmI4K2VQYk45Ky9hNTBMSm56eDdmc2Q2VFI0OGUyYlJw
MCt6OCtmUDIrKysvZTVzalBwNDZkY3JHCmpSdG5oUXNYdHJKbHkxcWVQSGxjQ05GSEdURmloSlVw
VXlaaUh6cWdRWU1HTm5IaVJHdlpzbVZVeDNNUUFnZ2dnQUFDQ0NDQUFBSUkKZkp0QVlqU25kKzNh
MVdiTm1tV1ZLMWUyMHFWTFc0VUtGYXhMbHk2K0FLSUEwYXhaTTl1OWU3ZjdVYjlseXhaNzhPQ0JG
U3BVeUI0LwpmbXlUSjA5T2R4bUZGQVdhczJmUDJ2djM3OVB0RDdWQkFlUFNwVXUyWU1HQ2RFSGo2
ZE9uTG9BTUh6N2NLbFdxRktvTHQxMGpPWHFQCjgrYk5peGhBZHUzYTVhNDViTml3Z0Q1UG5EaGh5
NWN2dDVreloxcUJBZ1VDOXZFQ0FRUVFRQUFCQkJCQUFBRUUwZ3RFbklLbEgrbEgKang1MVFjSTdQ
U2tweWViTW1lTzl0RUdEQmxuZHVuVmQrTkJHaFlybXpadTdFWXFYTDE5YS9mcjFmY2Q2VC9MbXpX
dE5talJ4UVNFaApJY0hiSFBaeDd0eTVkdnIwYWR1K2Zic0xIM28rWmNvVTkvcnc0Y04yOHVSSlc3
cDBxYzJlUFR0c1A5cXB2dlFaSGo1OGFKY3ZYdzU3Ci9NNmRPMDJoWnRTb1VRSEg2WHJyMXExekl6
QUJPM2lCQUFJSUlJQUFBZ2dnZ0FBQ1FRVWlCcENTSlV1Nm9OQzNiMTg3Y09DQXJ4UC8KRVliang0
OWJjbkt5YjU5Q1I4NmNPZDJVclBIangvdTJmOHNUMVd0b3V0U21UWnZjTkxDVWxCUVhjalI5S2tl
T0hOYStmWHZUKzhpZQpQYnNWTFZyVVhyeDRFZkp5ZCsvZWRhR3FVNmRPMXE5ZlA1cy9mMzdJWTdW
ajJiSmxwczgvZmZwMEYwUzhnNjlmdjI1VnFsUng3OGZiCnhpTUNDQ0NBQUFJSUlJQUFBZ2lFRm9n
WVFIU3FmdlNyMW1MUm9rVnV5dEtUSjA4Q2VtelVxSkZ2T3BSR0JIcjA2R0dxQ2NtZE83ZFYKckZq
Ujd0eTVZK3ZYcjNlUEFTZG00TVd4WThlc2V2WHFwdEdYKy9mdjIrREJnMjNJa0NGV3AwNGRGemcw
L2FwZHUzYXVSOVdFaEp2VwpwYy9ScTFjdkZ4dzB2V3pIamgybTg4TTFqZElVS1ZMRWphN29mTldi
YUdwV2l4WXR3cDNHUGdRUVFBQUJCQkJBQUFFRUVQQVRpQ3FBCkZDdFd6QTRlUEdoOSt2U3hqUnMz
V3RXcVZVMkY0RjRiTTJhTUN5WkRodzUxMDY1cTFhcGxreVpOc3JGang1cFd6bXJWcXBYYnJwR0cK
ZCsvZWVhZGw2RkhUdXFwVnErYk9VVUg3bXpkdnJFMmJOdTcxb1VPSHJIang0cjc5cWp2UktFaXc5
dnIxYTF1N2RxMzE3dDNiN1ZaSQo2dHk1czJsRUpWVFRhSXFDbGFaaTZab0tQeG9SMFhWR2p4NGQ2
alMySTRBQUFnZ2dnQUFDQ0NDQVFCcUJxSXJRZFk2bU5yVnUzZHBOCk9ab3hZNGI3QWE4YUNMV21U
WnU2Lzl5TEwvL3MzNy9mMVhab0ZFTEY2aHBoMEZRcHJVNmxhVnhmcytwVXFWS2xmTFVhSHo1OGNF
WGYKdFd2WGRwZlVDRTNqeG8zZGM0VUNqVlNFYXVmT25YTTFLd29zWGhzNGNLQ3RXTEhDZTVudVVZ
R2xmUG55cnNaRkFheGh3NFl1c0tpQQpuZUx6ZEZ4c1FBQUJCQkJBQUFFRUVFQWdwRURFRVpDMHEv
U3FvSHpKa2lWdUJPVDI3ZHRCTzlhS1dWcXRTa1hlK2ZQbjl3VU9yVjZsCkVZZXZhUW9iS2pwWFUr
Mkc3aDJpKzRzb0hLaWcvZlBuejI1Vks5V0pEQmd3SU9RbEZCN1NqbHBvVlMrOTUxQnQ3OTY5VnE5
ZVBiYzcKWDc1OGJpUkVLM3dwV05FUVFBQUJCQkJBQUFFRUVFQWdlb0dJQVVSMURyb1BpSC9Ua3J1
cWlWQXhkOXFtS1ZlcWkxRHdVQjJJZjQyRQpWdFB5UmkzU25oZnB0YzdUTXNCcjFxeHgwNnUwNnRY
Q2hRdmQ4ODJiTjF2Tm1qVnQ1Y3FWN3Y0Z3VuWXNtNEtXcHFGNVRmYzZXYlZxCmxSdnBXYjE2dGJl
WlJ3UVFRQUFCQkJCQUFBRUVFSWdnRU5VVUxDMVp1M2p4WWw5WHVpbWhWbi95UmdXOEhaOCtmWEpU
bWJ5UmdSbzEKYWxpSkVpWGNidjJJMXhRc3JZN2wzelJOUzZNWDBUVDk2TmYwTFUyZjBuUXcxWnA0
VFhVb3VpdTY3a1hTclZzM2IzTk1IdE1HRUhYYQpvVU1ITnhLajVYbmJ0bTBic3VZa0ptK0FUaEJB
QUFFRUVFQTQ3U25YQUFBQ1RFbEVRVlFBQVFRUStFNEVJdDRKWFN0ZVRaMDYxVlIzCm9XSnMzUWs5
Vzdac05uTGtTSGZYYzM4SGpVQm9TZHp1M2J1N3pSY3VYSEFqRWdvS1dyMUtkMGYzbW9LSFJpN1Vq
Njd4NjYrLzJvOC8KL3VpTzg0NEo5cWlwVjVvdWRmSGlSYmZDbGxibjB2bWFqcVhDYzAyL0tsaXdZ
TEJUdjJxYmxoVFdpSXFLMExWaWxuL1Qwc0NhMHJWMQo2OVowWWN6L09KNGpnQUFDQ0NDQUFBSUlJ
SURBWHdJUkE0Zy9sRzRBcVB1Q0JMdXhvSTVUalllVzNmM2hoNGd6dS95Ny9lcm5DaDZhCkJxYTdz
OGN5ZEdUa0RXbFZyN1NqT2hrNW4yTVJRQUFCQkJCQUFBRUVFTWhLQWhrS0lEZHYzclJjdVhJRjFF
TmtKU3crS3dJSUlJQUEKQWdnZ2dBQUNDSHliUUlZQ3lMZGRpck1SUUFBQkJCQkFBQUVFRUVBZ3F3
dkVaNjVVVmxmbTh5T0FBQUlJSUlBQUFnZ2dnSUFUSUlEdwpoNEFBQWdnZ2dBQUNDQ0NBQUFKeEV5
Q0F4STJhQ3lHQUFBSUlJSUFBQWdnZ2dBQUJoTDhCQkJCQUFBRUVFRUFBQVFRUWlKc0FBU1J1CjFG
d0lBUVFRUUFBQkJCQkFBQUVFQ0NEOERTQ0FBQUlJSUlBQUFnZ2dnRURjQkFnZ2NhUG1RZ2dnZ0FB
Q0NDQ0FBQUlJSUVBQTRXOEEKQVFRUVFBQUJCQkJBQUFFRTRpWkFBSWtiTlJkQ0FBRUVFRUFBQVFR
UVFBQUJBZ2gvQXdnZ2dBQUNDQ0NBQUFJSUlCQTNBUUpJM0tpNQpFQUlJSUlBQUFnZ2dnQUFDQ0JC
QStCdEFBQUVFRUVBQUFRUVFRQUNCdUFrUVFPSkd6WVVRUUFBQkJCQkFBQUVFRUVDQUFNTGZBQUlJ
CklJQUFBZ2dnZ0FBQ0NNUk5nQUFTTjJvdWhBQUNDQ0NBQUFJSUlJQUFBZ1FRL2dZUVFBQUJCQkJB
QUFFRUVFQWdiZ0wvRHg2SnFHekQKQ3dtUUFBQUFBRWxGVGtTdVFtQ0MKCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1leHBsaWNpdC1l
bWJlZGRpbmctZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFy
a2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKCmlWQk9SdzBL
R2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBQzdtbERRMUJKUTBNZ1VISnZa
bWxzWlFBQWVBR0YKVk05ckUwRVUvalp1cWRBaUNGcHJEcko0a0NKSldhdG9SZFEyL1JGaWF3emJI
N1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApCLytBSG5yd1pDOUtoVnBGS042cktHS2hG
eTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FCT1FOeDFLaUVXbHNmRUpxCi9JZ0Fq
cUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdkN0ozclpyU3Rwb0hoUDFBNEVlYTJT
cXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9VNTVlTUcxRHlzOXhGa2lmRUExTGM1L1Ri
aFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNiSQpFTDFQa0thN3pPNnJZcUdjVHZZT2tM
MmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBPYkVoajBjR0RYMCtHQVZ0eHFwCitE
WENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZQnpXa2hQMTB4dStMcUhCWDBtMXhP
djRuZFdVZUY1anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5YURVaFFFRVVFWVppd1VFQ0dQQm94TkxK
eVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050dzl0MUdrM1R6KwpLQ0p4bEVPMUNKTDhRZjRxcjhs
UDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhqamMwMWVmSlhVZHBOWFI1YXNlWHE4
Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1YalZmUHFTNFIxV2pFMzM1OXNmenM5
NGk3UExyWFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2SlBtVmZsUFh2WHgvR2ZOeEdQaUtURW1kb3Ju
SVltWHhTN3hrdGhMcXd2aVlHM0hDSjJWaGluU2JaSDZKTlZnWUpxOAo5UzlkUDF0NHZVWi9EUFZS
bEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVmS0FJdmJPREltYnB0VTNIdkVLRmxw
VzV6CnJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhndkFFY2RvZDZIdWdwbU5PV2xzMDVV
b2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pWV0xwZHRpWjB4MXVIS0U1UXZmRXAwcGxr
L3F2OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2YjhDOC9VWEFlSXVKQUFBZwpBRWxFUVZSNEFleWRC
Ymd0dGZXM0ExemNLUlF0N3JkQWNiZml6c1doRkM3Rmk3dHpjYjE0S2RaQ0tWYmNYWXE3VTl6ZHRV
aUJ3bnpyCnpiK1piL2Fja1d3NWRzOHZ6M1BPeko1Sk1zbWJUQ1lyV1ZrWktUSG41RVJBQkVSQUJF
UkFCRVJBQkVSQUJFU2dCd2lNM0FQUDBDTkUKUUFSRVFBUkVRQVJFUUFSRVFBUkV3Qk9RQUtLS0lB
SWlJQUlpSUFJaUlBSWlJQUlpMEdNRUpJRDBHR285U0FSRVFBUkVRQVJFUUFSRQpRQVJFUUFLSTZv
QUlpSUFJaUlBSWlJQUlpSUFJaUVDUEVaQUEwbU9vOVNBUkVBRVJFQUVSRUFFUkVBRVJFQUVKSUtv
RElpQUNJaUFDCklpQUNJaUFDSWlBQ1BVWkFBa2lQb2RhRFJFQUVSRUFFUkVBRVJFQUVSRUFFSklD
b0RvaUFDSWlBQ0lpQUNJaUFDSWlBQ1BRWUFRa2cKUFlaYUR4SUJFUkFCRVJBQkVSQUJFUkFCRVpB
QW9qb2dBaUlnQWlJZ0FpSWdBaUlnQWlMUVl3UWtnUFFZYWoxSUJFUkFCRVJBQkVSQQpCRVJBQkVS
QUFvanFnQWlJZ0FpSWdBaUlnQWlJZ0FpSVFJOFJrQURTWTZqMUlCRVFBUkVRQVJFUUFSRVFBUkVR
QVFrZ3FnTWlJQUlpCklBSWlJQUlpSUFJaUlBSTlSa0FDU0kraDFvTkVRQVJFUUFSRVFBUkVRQVJF
UUFRa2dLZ09pSUFJaUlBSWlJQUlpSUFJaUlBSTlCZ0IKQ1NBOWhsb1BFZ0VSRUFFUkVBRVJFQUVS
RUFFUkdHRUZrQTgvL05DdHNNSUs3cnJycm11NmxOc0oyL1REK2tHQW4zLysyYk04Kyt5egorMFJx
Nzc3N2JyZnBwcHU2bVdhYXlTMjc3TEx1cDU5KzZoUHB5aVppaHgxMmNIdnV1V2YyVXRUNTk5OS83
K0M4MUZKTHVWLy8rdGZ1CjBFTVBqUXJYM3p6MTlqdlczYy92N3ZoankvdlNTeS8xNys1WFgzMFZH
NlRiL2ZVV20xZ1dkOTU1cDJmMnlpdXZkRHVML3ZDQVdHNngKZVhuNzdiZmRzR0hEM09EQmc5MUND
eTNrYU0vN211dXRPdHJYT01Ta3A5VnZYVXpjZmRIUFFNdHZkNVpCbEFCeXdBRUh1SkZHR3NtOQor
ZWFiM1ptV2pzYjkzWGZmdVZ0dXVjWFIyRFhyaXNJZWUreXhuc0dubjM3YWJIVDkzbitTSko3bHl5
Ky9uT2FsdDNoODg4MDN2bk13CjFsaGp1Yi84NVM5dW5YWFc4ZVdTSnF5UG5EejQ0SVB1MFVjZmJU
bzFWMTU1cGR0MjIyM2RILzd3QjNmY2NjZTUzL3ptTjAzSDBaTUIKNXA5L2Z2ZmIzLzYyNlVjV3ZX
Tk5SOUpHZ081K2ZuZkhINXYxTjk1NHc3KzdQLzc0WTJ5UWJ2ZlhXMnhpV2J6Ly92dWVXVjhTMnJx
OQpVQ29lRU11dElvcUdXenZ2dkxNZkdEeisrT01kNXhOUFBISEQvYjd3bzdmcWFGL0llN05wYVBW
YjEreHo4Ti9xOTZicVdmdnV1Ni92ClE5REhyZnJqMjR6cnlmeFdwWHRFdURkb1JNaEVUK1JoN3Ju
bmRuLzg0eC9kR0dPTTBST1A2L1BQNkMwZXQ5NTZxL3ZQZi83alp4ZW0KbTI0NnQrU1NTL1o1VnMw
azhOcHJyM1Z6ekRHSDIyU1RUZEpnUC96d2d4ZEdGbHh3d2RyT2ZqTiswd2UwY2JMdXV1dTYwVWNm
dlkwWQpxb08ybTU5MncxZW5idURjL2RlLy91VVlDV2Ywcnk5MkdBZE9TZlR2bkRMRHk4RGcvdnZ2
N3dlU2VqczNhaC9pUytDeXl5NXpDT2UwCkFiM2x1dU43czhVV1c3amxsbHN1elJLQ3hpbW5uT0pP
UGZWVU45dHNzNlhYK1M3TGRaWkExQXhJWngvWlAyTkQxWWNLT2ZiWVkvZlAKREhRNDFiM0Y0OGtu
bi9RNW1YVFNTVHVjbzc0Ukhmbkw1KzNiYjc5MWpOSTg5TkJEdFlsc3htOXRaQkVlVURQYmFhZWRJ
bnkyNXFYZAovTFFidnJWVWozaWhIbmpnQVhmSUlZZTRMNy84Y3NUTG5ITFVZd1JRYS92NjY2Kzd0
SEU5bG9EY2c5USs1SUJVL0R6ampEUGNPZWVjClUrR2orMjkxeC9kbSt1bW5kMHN2dlhUNk4vUE1N
L3VNekR2dnZPazE3bXZncGZQbDI1SUE4dDU3NzdsNTVwbkhJUkV6SW8wS3hoUlQKVE9GSHBXTStV
SjkvL3JuNzNlOSs1Mzc1eTErNnFhZWUyaDE0NElHT2RRYkJvV1p6K09HSHUxVldXY1VYK3FLTEx1
cE9PdW1rY0RzOQowcER0c3NzdWJ2YlpaM2VvNU13d3d3eGV0elQxOEwrVFZ0S1lqK1B2Zi8rN3ov
TVhYM3lSM3ZyOTczL3Z0dDU2YTRlK0tQbVpiTExKCjNGcHJyZVdlZU9LSjFFODRHVDU4dUp0MTFs
bmQrT09QNzFaZmZYVWZKdHhyNWhpZVNVZDErZVdYOStzZ1F2ajc3Ny9md1dxY2NjYngKcWp2a08r
dWVmdnBwdCt1dXUzcTkyMS84NGhkdXZmWFdjK2c3NXgwNnVZc3Nzb2hQSy9FeDVaaDM3ZkJBcGV2
SUk0OTBzOHd5aXkvZgpqVGZlMlAzakgvL3dmRjk0NFlYOG85TGZkSFJwQkhHa2p6cUlla0MyUHA1
NTVwbCs3Y1R1dSsrZWhpUGZLNjY0b24vV1ZGTk41VGJZCllBUDM3cnZ2cHZjNUNWemZldXN0cjlZ
MXlTU1QrREN2di82NjR5TzE1WlpiK3ZKbHBPU3V1KzVxQ0J2N282cmVNNnREZmw1NzdUVjMKNzcz
MytuUEtoN3lGV1o0Ly9lbFAvanBsV09UcS9QNzczLy8yczNnenpqaWpMOXZGRmx2TWowWVd4Wlc5
RnNyNmd3OCs4Qng0YjBPZApDTnl5L2ovNTVCUFBHSCtzMHpuaGhCUGNicnZ0NXV0OTFsODRMM3Mv
Ni9JVHdwY2RZOE9YUFQvRVcxVnV3VS9WOGJ6enpuTUxMTENBCm0yaWlpZHlhYTY3WjhPNlR4dENX
NXV0dTdQdEsvT2pTMDdiUUJpMjg4TUpWeVhGNzdiV1hYenVWYmN1cThrajVIM2JZWVQ1TzJpN1MK
ZThNTk4xUSs0OFliYjNScnI3MjJUOU92ZnZXcjByVk1kZXhqNml5cVBQRE5PdG9GMG5uTk5kZGtM
eGVlSDNYVVViNHQ0cDJuTGNweQpLUXp3djRzWFgzeXhuNm5rZldJMmxtOFJJOFJaRjk2UDU1OS8z
dGYvQ1NlYzBOR3h1ZTIyMjdMZTB2YW56aCtCNnI0bHphU3I2RHZTCmtMRE1EMllMZHR4eFJ6Zk5O
Tk80YWFlZDFoMTAwRUdPdGp6cnF1b1JzN3VNWU9NSVMvbWNkZFpaYWZCbTJ1bWlkRmM5TzMxSTVx
UTMKMjRmc2UxL1ZQc1QwaGFyYVo3SmJWMTlDSGEzcXgrQ0hBVEMrejVRYmYzbTF6cXJ3cENPbWZP
cmFqWkJXNHNQUmIrVDlwYzJqMzBPZgpJbnliL3M5SDkvM3ZSSDY3TDNYOUpHWnJRR3FkVFpmU3lp
VFdxSHUvMWluenYrMERrOWdITHpIVnBHUzc3YmJ6MS83ODV6OVh4bWVWCk5ySEZaOG1jYzg2WlhI
REJCUWx4anpubW1JbTlKR2s0bm1PTmRHSUwxUktya0lsOUZIemNWdmxUUDhRejExeHpKYU9NTWtx
eXp6NzcKSkRmZGRGTnkybW1uSlNhaGV6L3RwREdFemVibG1HT084V213emxXYWh2bm1tOCtud1JZ
TEo2dXV1bXBpSTRTSmpWNG50b0E0OWNQSgpmdnZ0bDFqbklMRUZ4Y201NTU2YldLY3NzUTltZzUv
WUh6elRwZ0lUZTlFU1U5TkpRaG9mZnZqaFpMVFJSa3MyMm1pajVLcXJya3JXCldHT05aTkNnUVlt
Tk9LVlJXd2MyV1cyMTFaTFRUejg5dWZ6eXkzMDVFRmZXMmJxRnhGUnFFc3JXcHNxOVh4c2g4SG5m
ZSsrOVU2L3QKOE5oamp6MFMwN1ZNVFBCTTdFUHN5M25jY2NmMXozanNzY2ZTWitSUHFBdHdwaTdh
RkdsaUhiYkVHclVrbE5kS0s2MlUySWZSMXdmUwpqbnY4OGNkOWZrd0FTYXpUNVBOTnZiSE9Sdkx4
eHgrbmo0QXJkWks2YWNKR1lnSlNZck5kaVFrY3ljb3JyK3ovcktPVDJNYzNNZld6Ck5GelpDZkha
cUVsNnU2N2VjNS84OEQ1Um56ZzNsWmZFOU5DVEUwODgwZWQ1eUpBaC92ck5OOStjeHBzOXFmSWIz
aGNiS0Vqc2c1VlkKeHkvWmZQUE5mVGxjY3NrbDJXaTZuSWV5dGdHQlpJa2xsa2lzd1U5TVVQUCs4
dmswRll2RVJwQ1N5U2VmM0wvZjF1bElTRGQxazNvVQpYQ2l6cWpha0tqOGhucXBqVmZpWTV4TjNY
Ym1WUFQvRVQzMjFEbXBpTTFocDNjM1duK0N2cU83R3ZLL1drZk4xd3d4dUpLWTZrRngwCjBVV0pD
Umhwc2tMWmhYYUw5NFoyNGZiYmIwLzkxT1h4cWFlZVN0dGdFMFI4SGJUMVlHbjQvSWwxbWhMcmFD
ZG1LTUsvMzMvOTYxOFQKNnhTbjNrS2VxOG9lejdGMTFnUnluNmYwQVhiQ3Q0SjJ3Z3c2cEpmekxM
aEJHd1FQNmpUdkJHMFQ3ejFocTlvaXdwb3dtV3kxMVZhKwp2VDM1NUpOOVBId0RzaTYwS3paSWx0
aTZyb1MwMm1DWjkvdmNjOCtsWG1QOXhYeExZdE5WOUIxSkU1UTVDZHo0cHRoZ1kzTHd3UWY3Ck9n
MmpJNDQ0SXZWWlY0OWVmUEZGMzlZVGJ1alFvYjRlQmNiTnROTkY2YTU3ZHBySXpFbC9hQjlpK2tL
aGZJcmE1NWo2UXQzam0xalYKajZGdE1YV2t4QVlUZkxueGZUTGpMNTVtVFBpWThxbHJOM2dZejhw
K1YyMkFJUmw1NUpGOTM0LzMxOVpOSnM4KysyeW1sSnMvcFkyawpqcG9nVXhpNFUva3RqSHlBWFdR
RW85YVZDU0RqalRkZVlxUDlhWGdiQlVwTU5TZjlYWFJDeGFWd1RacE9iOXVvbXU4NHBoZHlKM3c4
CjZiRFNLUXdPWVlONGJOUXBYR280aG85Y0sya01ZVVBubm9qRFN4NCs1RnlqSXBJR1BsN0I4Zkhu
aFFqK2JFUXNzWFVqaVkwQUJ5K0oKalhqNGNBZ056VHFlQ1FzRWlLeWpvMHpuT0RpYkhmSWZPVDZv
WlE1QmhQUm5oUlErTWxOT09XWHkzLy8rTncxR1J4MS9WUjBiUE1mdwpzSmtITHhEWVRGRWFQeWVo
UE1NSHFlRm01Z2NkQnRKQ1l4VmNLQytiM1VqZ25YVndvVE5zbzNmcFpkSXc2cWlqTnRRZDBvNHdh
ek14CnFUOCs1RHdyeTlCbTV2dzE0cWh5eEpkdEtHUHJQWTA4QWsvV0lXU1JqdXpIUG5zL2UxN21O
enovamp2dXlIcFBiSGJGMTV0c2VUZDQKc0IraDdtKzQ0WWI1VzEwK0NMd3pwSldPY05iUmNTa1NR
T3JlejdMOFpPT3VPaThMSCtwTTNmTUR0MmJhSzlJVDRsOTg4Y1c5a0J6UwpTQWNVUGtFQUNQNks2
bTRJRTQ3NTl6VzhTemFMbkhZR2d0OXdER1ZIZTRUZ1NoM1B0bXY0aThsajhKTnRLOEl6OGtlelBP
anpXTmErCmhUekhzcStyczYwS0lHWlFKTEZSMDhSMDJodXlFT3B3WFZ2VUVNaCtMTFBNTW9tTkRE
ZGNwaDJZWUlJSkVwdWRUcStiT3B2bnM4MDIKMjZUWFl2eTEraTBwUzFmUmR5Uk5VT1lrMUtHc2NF
V0hrdSs5cWFVa05ncnRmWWM2VXZXdTJGb2luL2UvL2Uxdm1TY2tmcUFudHAwdQpTbmZNc3hzZStM
OGZmYjE5eUtlNXFDOFV5aWZmUHNmV0Yrb2ViVkpWUDRaMDBMZkxEcDZFdE1XRWp5bWZ1bmFENS9H
czdIZVZRVmdHCkhUdnBZZ1NRT2w0eCtlMWttdnRyWEcwdFFzYzZWdFpLRHlwUTlvSlkyWlE3Vkg1
UWwwTFZ4RDVFM2lPTFdFM1M5NHVMczR1OERhckQKNmhTcUgvYmhiRkJkdU9lZWUzeFlHOUV2ZjVq
ZGFTV05sUkhtYmpMMWowcERjT2dUTWkxb0RadER6WW5wUU5ScmJBVFlNVFdPKytpagpqL3lSNlV5
c09qVHJVSjFCMVNzNG5oZlVwc0l6dUljNkJzL0lPK3RzZXFaWStzQ1JIc29PaDBvRXFqL3dEZzYx
QVp3MS9PRlM2YkdPCkI5TzRMRVRFekd6V29UN1Nya00vbER3SFIvMmhucUJ5WlFKSHVPelZCWmxD
enF0U1dXZlJyYi8rK3FrLzRxS3VXZ09mWGd2ck0yejAKek1lVDNxZzVhYWJlMTBUVjBtM3l5aFMx
TmQ0TjRYbC9VRmZqL1F0MW9NRkQ1Z2VxTG5VdW1OU01MZC91ZmovcjBsdjMvSGJMelRvRgp6anFn
YVRKNGQrSDR6RFBQTkJnVXlOZmROSUNkbEwydmp6enlpSCtYVEdCMU51aVJEZExsM0ViYi9YdHRu
VjV2WlMzcm9kMDhadVBpCkhMVk4yblRVYmJDV1p6TWRoZW1yWTkrSk9wdFBXL1kzYlROcXZEYjds
TDNjVUY0Tk4wcCtvQ2FEU2cxdFBHb1plWWZCanF4YW5IV2kKbk0zNit6cVE5VnZucjlsdlNWMjY4
dCtSYkZxS3pqSENFcHpOR25tMVB4dG84TjhTRXg1Y3EvV28yWGE2S04ydFBqdmtwK3hZVjBmYgpm
VzVzKzFEVkZ3cHB6N2ZQemRTWHV1OTJlRWJac1M1OERLZllkaU9iQnRhaW9vSm1NODNPQnVpY2FU
RmtiM2ZiZVNmeTIyMko2MGNSCnR5V0E1QmRreDNSUTBiRm4zd2FzWUdRZG5aL1BQdnNzN2RRZGZm
VFIzaElCK3JnSU9mbTlIakN2U3llWlNsdmxXa2xqVlh6NWUzWHgKQnpQQXBtN21UTlVsRFU1KzBh
bHR4ZEg0WngwQ0JKMTZVNVZ3TnVXYTNxSVRrTzE0ODNHMDBYeHZ6UVo5ZEFRa0hJMGJ6bVk2L0hv
SApkS0ZiZGJFOEVBQTY3ZkpjeUMvQ1h4QWFzczlqZlFKclpyS3VxUDRXWGN1R2lUMlByZmV4OFRY
ckR4UGFSZVVLQnh6cHF4TkFzbldwCjdQbnZ2UE9Pb3pPU0ZRVEwvSEs5cnI1VWhlM0V2YnJuZDdy
Y1RIM0VKNXNCaXF6TDExM3UxYjJ2cEEwWDFnajVIeVgvV0lORFozdjcKN2JmdjRxUFRlVVRnWWgw
VDYrSVl6S0NOTmpVc3I1K2RmWGdkKzA3VTJleno4dWNJM2JpaTk4TGZxUGxuTXpOK2dJdU9IbnYy
VUY1Rgo1WmlQQmovb3F1ZnJRSjIvMkc5SmJMcGkwcHBQVS9ZM2RSa0JoTzgyNzN5cjlhalpkcm9v
M2EwK081dWZvdk82T3RycDV4YTFEM1Y5Cm9aRHVmUHNjVzE4SVg1ZlA4SXl5WTEzNEdFNng3VVky
RGF3SllUQ1FmZzBDUE90RVdhL0d3R0YzdWs3a3R6dlQxMS9pYnV6SjlrQ3EKV1FScytwNyt6NmJn
QzUvSUMyZnJEWnhOMHpwYjArQTcwWXd1WloycENYbWhoSVZyakNqMVZVZCtjVGE5NlJqdDZBN0hC
eFErZEVTdQp1T0tLMGtjd1VtcHFHMTVRd2RMRDFWZGY3UmZGaGs0MkFndU8yYW51Y3FIRHk0aHNu
ZkRZYmhvUXNCQlNpeGFWOHZFdkVremFmV1paCitKaDZYeGEyRTlmSks4enpMblNDT3NXQzhyM3Z2
dnQ4NXlyTW5PV2YyWjkrZDdyY1dGU05DKzFDRll1Njk1VTJFRWQ3eWl4ZmxUTzEKSXNkc0Z5T0ZX
TFRLZHJvN25VZlNRWnVNNlY0VzJOSTVZS1NTVGtob2E2clNHdTYxVTJmRG9FcUlxK2dZdmltMGQ4
MStRMHpQM0J0SgpNWlZWdjZjRmRSMkJLeityV3ZSY3JsRVA2Z1Qrdkw5UVo2cStKZTJtcXl5OVJk
ZERYY2JJQUs3VmV0U0pkcnJWWnhmbHE1bHJuWDV1CllCcktPcVl2VkpiZUVFZFZmU2tMMitucnNa
eGFhVGRzL2JFM0hJT1ZQbHN2NlRWUU9QYW1pODF2YjZheEx6eTdldDYrRzFLSTlTS3MKQ21IMXFN
elpJbW92emJMYmRWYXF6MzVVaUFjWFkrV2s3RGs5Y1owWGlqd3dBdGhkams0MmUwU3c2M3RRNzhv
L2k5RVFPaXFNRUFRegpjOEVQS2x3NEJFSk16Wm51ZHJqbGozUW9PK1ZRT1VOZEJDczZxSmJnR0RY
SDZsbW5IZHdaVWNyUGRORElNMXZFaUVsUHVaaDZYNVlXCjhnR3pJQ3lVK2VONm1WOW1uQmlwekt2
a01WSnRCZ0NpT2tOVnp3MzNxSWU4cDFpOENRNUIxNHhFTk5YNURHSEw4aFB1MXgzYkRkOU8KdVpH
MmJKdkZienIvdURyVnk1ajNsVGpJWDB3YmlKV202NisvM28vU0k0VFFCZ2NYazhjd09FRWRpbldr
alEwMXNYakhPODQ3MTR5TApyYk9vTTlHV0JQVmYyak1zSytMeS9MUFB4M29WTHQvZTVkdUxiSmh3
YnV0cC9Pd3E3VlpXMEE1dGFmREhNWjhHVklxWmZjblhnVHAvCk1kK1NadEtWVFdQTWVUNXYxR1cr
SldFZ01hWWVGVDJIZXRKdU85M09zMlBiMXFLMHQvcmNFRmUrelBQdFEweGZLTVNWUDhiVWwzeVkK
cXQrb3h6ZnovbWZqYW9aVEsrMEdneFZzazJEcm5Xb3Q5R1hUMVYzbnplUzN1OUxRSCtMdGNRRUVz
N1ZNUHg5MDBFRmV0eDdkV1VabQoyZFVhblZVY0h4NUdjdWpFWUc1djZOQ2g2V3hIYUFUTitvaGp2
UVVtUHY5bU15Vk0xOU1CRDJaYSt3cDhSb2N3ejhpME9EdGNvN2ZOCmxET2IzWVNkc21IQVM5ZE9o
eGhUZTZpcG9XK05xaGVqL3F4L1lQTXdIRlBrL1BGY21HTHVidGl3WWY1ZXRtT0F1Vms2UDVnTDVX
Tm0KbHJ1ODZWNDg1aHRMSDdqSmY0ejYwU21oWWNWRXExbEk4aXAyWmwzSnh4UkdKWnVNdHRTN1dX
enh1dGJVTjB4RTI4SThiMHFXOVM5NQpOY0RTU0Rwd0k2YmVsejJHNlY3MG51bG9zaHU5TFFBdDgr
cW4wb3Y4b25yRHFEZnZEU08rdkd1WXdHVEd6S3pJZFd3elFlbzRvejhNCkh2QXhZSllMUFdxT3Ja
UnRXZDVqMzVteThLVUFjemZhS1RlaTRoMWpzQVgxSjk1MzlKUXhDVzFXWjNKUGF2d1o4NzdTdGxD
dVpsM0kKbTFkR3VLUXp6WWhua1RsMDJsVk1wNGNaazZEV0dwTkh6RS9UVWJQRmxWN2xJUXdlTkti
Ni8zN1JicE5QMXJuUTJlWTNLaEZtSktQSQplK20xMkRvYjFuQXdXa3liUlJ2NDZxdXZsc1liYnRE
bTBJRzJ4ZjIrTFdCUWhIVXI2S3ZYT1V6cDRqQ05EWC9NeEFjQmovWTk2NWdWCllSYUlPc3NBRVdz
cEVPanlHN3JWK1l2NWxqU1RybXdhWTg1cHEyMWh2aGRlWVVaNnMrc2ZZK3BSMlhQYWJhZGJmWFpm
Yng5aStrSmwKVEdQcVMxbllvdXRtYWMvM3MraERvUExkaklzcG4xYmFEV1k5NlAveFhnWE5Hclk3
Q0M3Mk94SDhkK29Zazk5T1BhdGZ4Mk9keWxwWApaZ1VyYjAwRmkwTzJYcU0yUHZzb0pWaStzcEY3
Rmg5NGEwMllQelhwMm9mRlhKOHQ4dkgzTU0rS0dkSmdpaFRUamNGWlI5bGJSTEJwCmZlL1hHcE5r
czgwMjg3ZURwWlZXMGxnVU5saWF3QXBGY0RiQzBHQ1JnZXZCK2tIV1RLVjlyQk9zSjJGeGhmenla
NTIweERvRFBpcXMKMlhBTk03QjFydWlaSWN3Ly8vbFBiK0kzUEFNck01aVVEYzVlVkc4Uml2djJr
bm96YzlaWjlWYTFMcnp3UXU4TjYxbjJFZmJYOEdkQwpVV0lkVnArK0dETzhXUXNWUkZqRXd6bysz
dXl5N1dPU1dFZlZtNzhNbG1kZ1grV3FyR0RseXpyRWc5bFptK1pQMldNV05XOVpwNGdyClZtcW9V
MWxuZ3JLUHgrejFaeTkzT1MrS3I2N2VFMG1SRlN5dVcrY21MVnRUdCtGU3FTdnppM2xDMGhYcUIz
bWpYbEkvcTF4UjNRLysKaS9LSjlSVk1jMU1YYkhGMVlvTUQzalMxamZpR1lFblJPOGJOb2pha0tE
L052RE5GNFp0NWZreTVwUm43MzBtSUg3NjBpVENubmFMTwpoM1lPcjhGZlVkMk5lVit4Um9SMU9p
enQ4UXphVkV4MFkrRUpWMVIybUNySHIzMGt2Ui8reGVTUnNxUk5JV3plQ2w4YWtaM1FybG5uCkow
MFBwcHNwZytESzhseFU5akYxMWdhbEVsTi84dGIxckdQdlRRYmJvSXAvZnAwWlhsUGhUVTNLRXRa
MlJVN09QLzk4SDdiT0NoWVcKZUFoamdsbGlhMTBTRzF6eUp1Vk4yUExtczhrdjc0Y3RRUGZ4aHU4
ZGJiL05QQVljL2hqcnIrNWJRbVN4NmNxMzFRMEp5dnlnRHRuZwpRVUo5eEp3ODVVOTl3Nng4M3RY
Vm96SXJXTVRUYWpzZDBsRDM3T0F2Zit6TjltSG5uWGV1YkI5aStrSkY3M2pJWTB4OUtXckRpNzdi
CkpsaDdTMi9VZDF1SEV4N1J4VElWTjRyQzE1VlBYYnRCdlBtMFlnWTd0RWtjc1FSR3Z6QzQ4SjNB
eEhDc2k3R0NsWDkzV3NsdmJIcEcKWkgrTWF2ZWFzMUhvaEJlTXZRT0tIQldKRDJ4dy9MWkZ4ZUZu
ZXJUUi9zUkd2RXBOVWFZZWUvbUVEeVhwekhaQVFwSXdROHQrSjUxdwpOaHJnOTJ6aGVYbEhnMlM2
Mk9sbGhJSFhyZE9mOTJ2cVBsMU0ycWFCdXVFRTA3UHNCNU0xbDl2cHg1amFRd0tiM25aMTliNHFm
ZFFmCndzZTRNci9VdjU1OFg2aExOc1BuUHc0eDZTN3prODlQcys5TVBuelpjOHF1TjFOdXZHZDhj
RU45NWtOWTlONlhQU3RjajMxZmFTZGYKZXVtbDZMb1I0czhmNi9Kb3FsdSt2YURkcUhNTTFuVHFm
WXVwc3doZERLQzA0aENTeVZ1empyck45eWM0enZQN0M0WE9pcWwrZW5iQgpiL2FZN1ZoVitRdGhx
cjRsK0tsTFY0Z241Z2pUVUk2VU82YVl5NzdaSWI2NmVoVDhGUjNiYmFkYmZYWlB0Zzk4Y3hIa3dz
QUQ3VU1ZCk5DaGlFdHNYS2dyTHRicjZVaGF1NkRvRFRObUIyQ0kvVmRmcXlxZlpkb084d2JPdVRs
YWxxVHZ2MWVXM081L2QxK01laVFUYWl5RFgKaXdTc1VYY3Nac1NpUTlZTWJDOG1xVnNmalpvRTZq
anMzb3lWS3RSQ1VFZEFmUWVWT3JuK1RZRDFUcXdGc1ZsTnYrWUU4NUNvV0xLVwpDTjNZVHJpQjlz
NTBncG5pNkhrQ3JQTmdqUlVxdUZVdTFsOVZITHJYZndpd0JvaDFXU2FBZERHTDNYOXlvWlNLUUhz
RWV0d0tWbnZKCkhURkRtNFRzRjJIWDZZV1BLTG5IZENQV2NWZzhqMVVjekJGajdTd3NIQjFSOGpr
UTg0RkF5Wm9TVERxejd3aHJIemlpSTk4cDRRT3UKQSsyZEdZaDFTWGtXQVJFUUFSRVljUWxvQm1U
RUxkcytuVE02cXFZeTRtZEFXSXlldFNUVHB4T3V4RVVSWUFOUnlwY05KakU4d0tKYgpPUkVZYUFS
TUZjb1BzbVEzb3l4aUVPdXZLS3l1OVQ4Q3BqYmtOMWxtZGl5NytYTC95NGxTTEFLdEU1QUEwam83
aFJRQkVSQUJFUkFCCkVSQUJFUkFCRVdpU1FKUVpYa3k1WW9LTkhTZDd5Mkhha0RSZ2FyY3Z1ZDVp
dzVvSnMwcFRpd0l6ZFpneHJuSjlsVzA3NmJKRmU5NEUKS3VzUVdHdHk5OTEzVnlIb2NpK1diNWVB
SGJ6UVR2NDdtSXlPUjRXWlU5NWxXOHphVXR4OW9XeGFTbmdQQitxdHRxazdzOWxiZVlxcApjNHhx
VTYvTjhsWWxnaEgxdlM3SzlFREthMUgrNjY3RjFLdTZPSFMvTlFMdHRDWHRoRzB0dFNObXFDZ0Jo
QVZUdDl4eVMrWCtBOTJOCkI1MXYwa0RIc2krNTNtTHo0SU1QcHZ1SVZQRmd6dy8yQTZseWZaVnRP
K2t5ODRaZVdHVUJOT2Rzc05pTWkrWGJUSnpOK20wbi84MCsKcXlmOXN4Y0w3M0tyQXhwOW9XeDZr
bGVyeitySnR1bllZNC8xcWthbzNuV242OGs4WmZNUlUrZXc1MEs5WnErZUt0Y2YzMnNXeWYvMgp0
Nyt0eWxiaHZmNlkxOEtNZE5QRm1IclZxVWUzV29ZeHoyZHZOOXM2SWNacm4vSFRUbHRTRkxZNytm
WVphQjFPeUlCY2hJN1ZKVHBCCmpEN0lqWGdFMkNTSmpnQWJEVElpR2R4QUx2ZittUGYrbU9aUTEz
cnlhSHNyK0ExSGFjK2FGYlE3bFU0MlVXV0RQZW16ZDRwbzM0cUgKRFJxN2N4MFhoa2lPTys0NGJ6
MnZGVUduYjlIcW1wcSswSloxZHhsMnpmWEF1aUsrelpkMzFBeEk4OUgyN1JEc2xtNmJjZlh0UkNw
MQpMUk5BdFFmclM1Tk9PbWxESEFPNTNQdGozdnRqbWhzcVhBLzllT0NCQnh5cWxrVzduL2RRRXR5
eXl5N3JUajMxVk1mTzBuSWpIZ0hVCmZYZmFhYWR1eTVqdHdlTDIzWGRmOTlCREQzWGJNM296NHI3
UWxuVjNHZlltMzc3d2JQRnR2aFNhRWtBWXBkaHh4eDNkTk5OTTQ2YWQKZGxwMzBFRUhzWkZoK2xU
YnlkVE5NODg4empiZ2NyWUR0L3ZsTDMvcG1HTDg1cHR2dkpuWlZWWlp4WS9RTGJyb290NHNaeHJ3
ZnlkMApHbmZaWlJjMysreXpPOXROMWx2UEdUWnNXTjViK3Z1MjIyN3p6N3Y5OXR2VGE1emNmLy85
am1kZy90TjJJWGEzM25wcmVwKzlObWprClhuamhCUitXOU5vbVh1bjkvQWxUYll3c2ttZmJUYnZV
bENnY0RqdnNNSjkyek9uYXJySDVxSnp0dXV0V1hIRkZ6OEIydzNXMm83V3oKRFlnYS9ObUdmTDRo
emw1a0R3WFNTU05kNVd5ekxoL25KSk5NNHBnU1pVK05iUGxVaFEzM01JL0xWT3BFRTAzazFseHpU
WWNPYjlaaApyY1YySGZabE8vWFVVM3ZUdWVnK1Y3blk4cStLSTN1dnFueXZ2ZlpheDBnRWp2b0p0
N1BPT3N2dnNkSk11WWZuMlk3bmJ2WFZWL2RXCnV1YWRkMTVIbmN1NnZsTG5odzhmN214M2UyOTFp
dlJteTYzWk9uL3h4UmM3MjAzWjJZN3gzbFk5N3lRemhsbEhuTGFUdG44TzlXR3kKeVNaemE2MjFs
bnZpaVNleTN2ejVVVWNkNWVzajlkSTIyM1MyV1ZzWFAva0xNV2ttajNYUHJ1S1NmMmI0SGZKV1Yv
WjFuTjU3N3oxZgoveGo5dEoxeW5lM0c2M2JmZmZmd21NcDJDaytoYnZIT2xiVXQrT0Vlam5LbnZ0
OXd3dzMrZC9nWDB6YlZjYXByQjBOYXMyVjc0NDAzCnVyWFhYdHZYU2RzWjNkbk8yU0ZKcGNlNjU0
U0FNWG1pM2JRTi92dytITEJIU0xPTkhVTVUvdGhPZTh1Nk1reExZK21ON3czZnVtWmQKWDJwdnEr
cHJlQ2V5K2JNTjQvejNodTg4bGd6NTN1eTIyMjYrSG1iOWhYTyt3OHh1VERIRkZINzlZaENZZWU2
U1N5N3B2ZjNwVDMveQpkWGpYWFhjTndib2NzK21zNGhmejNjbkdWZlNPMXIwWGdVdFZXOVJUYlZu
ZCt4YlNtZ1ZhRnlicnQ1bnowQjVVdFYxVjhWVjk0d2xIClg0bzZ3dnBPK21YcnJiZWVZMjFoM2oz
NzdMTnV0ZFZXYzFOT09hV3puZExkbkhQTzZlNjY2NjRHYnpGdFNVT0FraDk1dnRtNlZWYjMKUTFT
dDlLdEMySDU5TlBpMTdwaGpqa0hLU0d5enZNUWFrT1RnZ3c5T3JIUGlyeDF4eEJGcCtPRFBCSTFr
aVROZmczMEFBQ0FBU1VSQgpWQ1dXU0t6ajRYZmR0bzlLWXAyM3hJU0p4Q3E4My9HYitFd0lTTU95
azY5MTNCUGJHeUt4ZlFTU20yNjZLV0duWTV1cDhIN1k2Wkl3ClllZFF3cHBwdzJUNzdiZFA0K0Rr
NFljZlRteVR1OFQybFVpdXV1b3FuK1pCZ3diNTNWdTVmK1dWVnlhenpUWmJZaC9FeEJvYy8xZTEK
cTY5VnFzUVdNaWRYWDMxMWNzVVZWeVQyRVNXYTFJVTg4endUbkR5YnhSWmJMQmw1NUpIOVRzakI0
K09QUDU3WUZIWmlBa2hpSFlUawo4c3N2OS9tMVRsbkR6cmttbUhUWk1kbytuRDd2N0pBYlhIYm5Y
SzZ4WTdKOVpCTVREQk5iSU9YenVmenl5M3NXMDA4L2ZRaFdlQXhzClYxMTFWVit1TmhLVmNBNXZV
NjFJdzFCR3NMQ1hPTG5nZ2dzU1UzSHl1NWRiSTUzNktUcUpLZitpY0NGZG9jenhVMWUrTDc3NG9x
OW4KcE4wVzMvdnlmZXl4eDVvdWQvaVNUOHIwRDMvNFEyS05YV0pDY1VKZGV1NjU1OUxraHZMdnpU
cS8zMzc3SmRZSjhuWHozSFBQVGF3egprSmdRbWFheDJUcHZnbWV5MVZaYitmZm41Sk5QOW5tbURt
WWRmSGhmcVhQVUZlN2JqRk95MUZKTFpiMGx0cmVMRDA5YllJMXdzc2NlCmV5UTJTdTdyRnVWUzVx
clNIUHZzT2k1bHo0NHQrenBPb2Y2dXROSksvcjJrWFRQVlFQL1l1bnFNcDFDM3F0cVdwNTU2S20x
UFRSRHgKOWQzV0lQaG54SVRIWXd5bjJIWXc3SkJzbmIvRVRHc25tMjY2YVdKQ2UyS2JVeVltc1Bs
MFZmMkxmVTRWRStLM3dRZmZCdE5HMlNhQQppZTFENCt1ZGJmVGE4UGhXMjl0SEgzM1V0K2NtWVBr
eVBmMzAweFBhV2RxZHZmZmV1K0VaK1IraFh2VFY5cmFvdnZKT2hCM2R5USs3ClRzODg4OHpKNUpO
UDdyOEZOdkNUREJreXBNdjNKdVFWVGpaSWtaaWFYckxkZHR0NVRxRmR0N1ZneVlrbm51aXZFUWZm
WmR1c05vOHQKL1IzaXJPTVg4OTBKY1JYbE9lYTlpR21MZXFJdGkzbmY4bVVZRXlhRlhuTkNYYkEx
RUttdjJMWW5EWkE1aVdrYlRWQk5UTEJJZU8vbwpTOUV2bVdPT09US3hKRW5vYzVuQW05aGdSSEw5
OWRjblJ4NTVaTUs3aTJzbmpTRnNhTytJTDg4MzFLMnF1ays0VnZ0VmhPM3ZqaEh5CldoZGdaenNo
UUxPZFBCUFRPVTVzQk56SEVmeHR1T0dHbFhGU2FMWUJuYThNd1NQQ0JvMjNqYmFHU3czSFVKZzBX
cmJRMFhlVWwxdHUKT2QveHpucmttczFXcEpkc1ZzVjNnT2o0QkdmcUFnMGQ2M0E5ZjBRd29iTmtv
NWI1VytudmtHY2JBVXRzd1oyL1RnVW5MelNrd1pFdQpHbXViUlFxWEVwdjlTRVlkZGRTR1BMZjZR
VHovL1BQOU0yMVVMbzJmY3VHakVTdUFMTDc0NG9sSjRtbDRPdDNrdzJhWS9EWHl3MitiClNVajky
S2lyNzF5bEZ5Sk9pc3EvS0ZpMnpNUDltUEkxblhpZlRwdUZDc0g4TWJiYzhVeGpnb0JySXpGcEhL
YnE0dVBkWnB0dDBtdWgKL0h1cnp0dk1SR0o2OTRtTlBLWnBzbEZCbjA0YTh1Q2F5WHNJRTQ3TExM
Tk1ZaVByNGFjL3dvZTZnR0FSM0Y1NzdlVTdmYUZSNWoyMQpXY2pFWmhDREYzL2tIU1pzbFFDQ3g3
STB4enc3bGt0RHd2NzNJN2JzODJIem5FTDk1WjBtUFZrWFU0OUQzYXByVzhKN2FhcUgyVWVrCkg5
aXE4REdjbW1rSFE5bWJ0Y0l1ZGJBaGNRVS9tbmxPVEo2MjNYYmJocWVZaXBoUFUvYWRiclc5WlRE
T1JsVWJ2aisyK2FhUG4vZWcKeW9WNjBWZmIyNkw2eWp1UkZVRENPMnlieWpaa2xRSEs3UGNtNU5W
R254T2JIVTM5MG5mZy9RNk83dzV0UW5aQU05ekxIME9jZGZ6eQo0WXErT3lHdWZKNWozZ3ZpajJt
TDhOZmRiVm5NKzVZdnc1Z3dwRDNHbFFrZ1ZlOXBXYnd4YldNK0xJSUk5U2ZiQmxJWHVaWjkzN1Bo
Cll0dlhiSmh3SHNLRzlvN3JlYjZoYnRYVi9kQit0OXV2Q21uclQ4ZW1WTEJZWkJpY2pRVDc2Uzhy
QUs5eUZhNXp4UEpRa1RNd0R2LzIKY3Z0ZHNMTnFJc0ZTRTlObFZjNEVIeit0enk3YWwxeHlpWThu
K0VjVmlHbHhhd0FkNmhIOFliWVg5UkJVcnBwMU5vdmhyTkYxTmdycwpWWTJZSml0ekYxNTRZYm9B
azQzWGNPUVZSNzdKSHd1aVRlRHcxL2pIVkRRcUUva3B3ZFJERXlkTThhRnlabzF5R29wZHh1czJ3
RW85CjI0bDFvaHY4MjB5T3YvM01NOC80STFPY3FNYTk5dHByS1Y4V0p0cElrOTlRTUJ0WDBYbFYr
UmY1ejEvcmRQbm00OC8vWm1IdHdnc3YKbkY2MkJzYU5PZWFZTHZCSWI5aEpiOVY1MUQ3WTFORm0v
ZEl5K2VpamozelNXcW56MlR5aHdvQkZIK0xPdnF2QkQ2cDYxdGtLUC8xNwpSeG1GOTRTMG9WWnBv
NHVwSDA2YXFaTU5BVE0vWXA3ZERwZG15cjZPRTdyQnRFSEJOVnVQcTlxV0VHZlZzU3A4VFAxcHBo
ME02YkNPCmgxKzBqRG9rSml2SmM1MXI1amxWZVRMQjI3OFQrVytKalpqN0pIU3F2YldPVXNQM0oy
eW1TcnNiNC9wcWU1dXZyMFY1Q1diTmJjYXoKNFRicWFFWHVnQU1POE9yUTRSN2Z5UEI5RE5lYVBk
YnhDL0hGZkhmeWVZNTVMMEw4ZFcxUjhGZDJyQXNmazVaVzNyZFd3cFRsb2V4NgoxWHRhRktiWnRo
R1Z5bmZlZWNkaGJRMFh2bjNFYzk5OTl6blVmaGRjY01HaVI2WFhtazFqR2pEeXBLN3V0OXV2aWt4
R24vVFdsaFVzCm0vSnlOZ0xpV0h0Z28vdHBCck9kN0hEeDZLT1BkcWVjY29yWC8yWmRobzEyaFZ2
K2lIbGRoQXBlaWlwbkkvM3VrVWNlOFd0SzhoMFoKS2g4V2tFd3R3ZG4wYVJvTm5lU2lOS1VlS2s3
UU1iV1JOSysvYkZLMlEwY1ZmY084eXk2K3pIK0E2THpSR2NvdmlpWU85R2ZSZDJ6WAp2Zm5tbXgy
M2dFUDU0a0tIOHEyMzN2TGxobldwck9OalFoMUFvQ3B6ZGVWZkZpNTd2VHZLTnh0LzNUbENOMnRy
QW8rcy82TDZWWmZuClR0VDVZSmJhVk9LOFFCN1NSSm13WnFzVlp5b3Jqa2FURHgrNjg5UmY4cDUz
MlRyUHZYeTlSekRGOFJIb3RLdDdkcWU1RkpWOUxLYzgKdTJicmNUYXZlY1l4WEt2Q3gzS0tiUWRE
ZW1pYjc3MzNYcjlHaC9hU2R0M1VzUHo3RS93VUhXT2ZVNVVuMmtJY2JXdldoZC9oZnZaZQpNK2My
MCtIWDQzVzZYdmVWOWpaZlg0dlkwT25qbTU4VnJJdjhoV3ZaOHVKYUsvVTR4RlYyelBQRFgxMGJI
T0xLNXpuMnZTQjh1M21yCkN4K1RsbGJldDFiQ0JGNnh4MnplWXNvOHRtM2ttMlJhTFg1d2cvV3Fy
QVBCSVd6aVFqd015REt3VWVXYVRXTlZYRVgzc3ZGelA4K2gKblg1VjBmUDYwN1d1dllvbVVtOXJF
cnh2RmhoV09Sb0IwNHYxQzdOTmQ5Y0xBNHlxWmgyTGhCQktXRnpFU0hPWlkzRXNmazIzM0xIWQpt
NFh0d2ZGQklGNFd0Tmw2alhDNXJTTXZLVUlXQzNGWmpHNDZ4TTZtYTBzWG94YzlqSmNENFNxN1FE
UDRvek5iSkppRSt4ekRTNVc5CmxqOG4zeXg2UWdEcmxMbkVVTDdrRjhmUjlDcjlId3U2WWwxTStj
ZkUxUjNsRy9QY3JCK1loQm11N1BYOGVVeWVPMUhuUTltdzBKc1IKd1hZZGkvWjRwMHpGeE04ZU1x
ckxRdTlXUm8zRE84Nk1XZFU3M1c2YWk4SjNtZ3ZQeUpaOU81ejZRajBPekdJNXRkSU9VdWFZQ0Vh
bwpvTE5nYWlpT2oyMytBeHpTd3JHVjUyVERjeDdhMDN4N0czN1hkWnJyMnR2UXZsS3ZPK242V250
YmxUZUVPVWFZK1g2Rm1aOHEvejF4Ckw4OHZwZzB1UzFmc2UxRVd2cFBYWTlQU3l2dldTcGhPNWkw
ZlYyemJpUEVJRFBndzJHenFYODdXNkhxak9hRnRDZkhRWCtucmp2SnQKcFYvVjEvTVZrNzVxMFRB
WFEzNGFIZk9QRkg1ZFo5UVdnenRVR214QllzTk1STGFoeDVvSTdwcHJyc2s5dGZFbkhYbW16Smky
UkJpdwo5UmFwQis0eDNZYmFGUkp3bWNOV1BTUDJ6VGllaDhVSUtyZ3RabW9tcU04em96UDVtUTRh
VEY0ZzJBU0hpaE5XeElKajlNTjBCTVBQCjBpTVdpeGp4WnVQQjRNaGpNMm80MmZJZ0Rzb1h4d1k3
T01vSVMxei8rTWMvL08vWWZ6SGxIeE5YYlBtV3hkVnN1ZWQ1VUM2TTZnY2UKWmMvaGVreWVPMUhu
K1lBdys4TG9jcFdMemJzdC92U3pkWWNmZm5oRHh5TC83bGM5Szl5alR1SlFpY202L0h1UXZaYzlq
MDF6Tmt3NApqK1VTL09lUGRXWGZEcWQyNjNFK3JhRkQzR3liUmp6TmNtcTJIYVJ1bWhFSFo0cy92
YW9FN1YyTWEvWTUyVGlaWWFlZHp0ZXpvT2JMCi9lQmFhVy81M3JIZlNyNWUweUZ2eHVYcldGOXJi
NnZ5d25lVzlHTjFNRGc2Z1dZOHBsTEFESDd6UitvSkk5VkZzOHQ1ditGM0hiK1kKTmpqRWxUODIr
MTdrdytkLzkxUmIxc3I3MWtxWWZQNDY5VHVtYmFSUFJJY2RzOUQwUDdNdWZLZENQSHl2aTFTbXMy
RjYrN3pWZmxWdgpwN3NUejI5S0FERUxGYzRXanZwT0tPcElqSXBtZGNETEVzUTZCMFlNYWF6b0lB
OGRPalNkN1FnVnhxenVlQjF5VFBuOXpVellNazJPCklJSDk3THhERDUrNEdFRm10RFk3RW9YWlBH
WlNNUC9JR2hGR3ZmandvSWNjSEdzeGlOK3NVL2daZzNBOWYwUkhsVmtQT2h2czJvejYKRjQyZVdk
SEtlNjM5YlpiRC9JdGcxbG04dlg3V3dXQ3FHTjNGckVvVCt2S29tREdEdzE0bDZCa0gxWUdxaDJ5
eHhSYitOcWJnVU1lQgpJU1lQV1RNVDY0YVp5V09FQy9UMkVleHNRYUEzRzh4TUV3NnpxNmdna1Fk
YmhPVm5YTXdpbE1QY0pYcndaUzZtL012QzVxL0hsRzgrClRQZ2RXKzdCUC9XYmtWdG1saEJvV1FO
Rlo0ODZVZWRpOHR5Sk9zL3NJN056cUFPaEtramRZWHFhdXAwVnptUHpqcWxoSEtxR1psSE0KbTh0
RzRDWk8vcHB4WmduUGZ5Qm9LNmpqbUlkbFRjQ2R0cFlveHNXbXVTaXVXQzVGWWJsV1YvYnRjbXFu
SHVmVFRCdEI1NDJCQ3RxcAp2S25adlAvczd4aE9yYlNEdE0rMEgzejhFZHo1VFdjZmMrWmxycFhu
Rk1WRnA0U1pkcjRsYkVqS3JERENBdDhxM2t2TUZRZlhhbnRMCjIwMUhDRlBsZkI4d01SeE14K1k3
eHVGWitXTi9hRy96YVE2L2FXc1l1V1ZRMFl3dmVCVTcxRFpSdFFzem44RnZ6QkUxRmRZY01nREoK
dXJPWTcxWWR2NWcydUN4dE1lOUZXZGlpNjkzZGxyWHl2dFdGNGJ1SGNKSWRJQzNLVzZldjFiV05x
UDd4eHplTy9pUUR3OVFGWEhhQQpnMEVQQmlMUW1rRWRsUDNCemo3N2JMOU91Tk5wYmllK21INVZi
NVZGTy9tS0NtdU5aYTFqeGI4MUtvbDFhcjI1VDR2WVc5NHBNMGxyCkg1S0dPREdOYWlOYTNpTEJ1
T09PNjAzdUJiTjdtQ2dMemhwMGIybkRLbzMzYTQxU3N0bG1tL25id2FKQU1OM0hSUk04dk9sUCsr
QTAKbUxMOTV6Ly82VTJSa2s3K3NFSmdINHp3bU1RNlVna1dhK3lqN1Mxa3BUZHlKK1FEVTZ5bUgr
cmpNZFViYjFiVWhLYlVaNUUxQkJONgp2UCs4UlErempaMllPcGEvUjdvd1pZeUp5S3d6UVMxbFpk
T0kzbnhsakJsZTRzQVNoSTIwK1BoTmFFbE1tUENtRWJOV1NiTFBDdWVCCnJZMTZKelk2Nk1OVEJw
anh0VkhWNE0wZnJUT1JZUG5LUmhpOFA5aGdBaS92THhzb3R2eXpZVGdQNmNxV09kZnJ5cmZNQ2xa
c3VmTU0KR3dIeitUVEJMczJyZlhBVGE4aTRuYnFpOHVkbWJKNDdVZWN4d1V6WllYRXExSG5TYXZ0
UHBPbHNKdS9XWUhzVG83d2ZwcitmbUZEagp6UzFiQnpMQlpDWU9QbG1yT0Z3TDFqeUNHVml1bVVw
bGFyTGJoTGNFbnNGaVc1MFZyTEkweHo0N2hndHB6RHZpTitNRFBxMmhuaGVWCmZSMm5zdm9ibmxk
WGo0dnFWbG5iWW90b2ZUdEgrV09XRWhjYnZvNVRLKzBnZGM4NmNiNCt3aEN6N0pqQnJIS3RQSWY0
aXBoZ1lwUTIKM3pwUVBnM1VaY3gyWXQwbzYxcHRiN0d1YU1LMHQrWUljK3VrK2U4UjU3Rm1lUHRM
ZXd1dm9uY09scGpWcFIyZy90bWduamZEblRYSApXdllPWU9tSWIwM1dVVDh3SVE1RDJ5TXJlNnZo
UE1TNTg4NDdWMzZ2WXRyZ0VGZitHOE1ENjk0TC9CUnhLV29IdTdzdGkzbmY4bW10CkM0T1ZUc29D
VSt0MWpqNVl0dHhqMjU2eWVPdmFSdnFpSm9UNDlObitWNG10VjB6WS9vQitpMm5JcE5HeTVRRm1l
TWtIZjZaK21kakEKdEwvZlRocUx3dWI1bHRXdG9ycGYxNjhLWlVGL2RFUnlqT2pYT2hwYkd3SDIv
akNWaUtrejdJQTM2K2hzWWI0M09IN2I0dXp3TXozeQpRWG4xMVZjVG50V09JODAyQlplYUNjN0hS
UU9hRjVieWZ2aE5HcWxNblhLa0tmQXNpOU1XK1pXbXV5d00xekh6Qzd1c2tGVGxuM3MwCnRMd0F3
VVF3bGIxS29DQU1Kb2RwNEp1cEI3SGxUL3d4cnE1OHkrS0lLWGRNeUliT3Rxbkt0Vnorc1hudVJK
Mm56Q243cXJLTHlUdmMKVEJYQ2Qrd0NROUtIbWRGV0haMFRVOTlyS1hoc21zc2lqK0dTRFp2OWtO
U1ZmU2M0dFZxUHMybm1ITDYwVTYyMm0zV2NXbWtIYVYvcgoycnA4UGxwNVRqNk84SnYyaVhhcXJ1
NjEydDVTL3RUUFpseC9iVy9yOGdnTEJENWJpMWJudGZJK2JWZ3dhVi9ra1RwT1p6SUlEWHl2CmFL
L0xYR3diWEJhKzdyMG9DMWQwdmJ2YnNsYmV0MWJDRk9XdE82NVZ0WTI4UjdhbUxIMHM3UjUxZy9M
S083NC83WHkvOHZGMTErK3EKZmhWYlZkaEd2dDMxNkY2SmR5U2VhaSt6bkFpSWdBaUlnQkZnalkv
TjFIcTFOZ0VSQVJFb0pzQzZNOWFDMkF5NFgydUlLWExVY1ZrTApFOWEzRllkczd5cDYvYmFQaURN
QnhLdWR0aGViUW90QTN5ZGd3cFUzRElPS1BXdWZSeFEzYUVUSmlQSWhBaUlnQWlJZ0FpTFEvUVJz
CmxzcnRzODgrRHBQRTdEL0Z1a0dPdHVOOHR3b2YzWjh6UFVFRStoNEIxZ3BqR0Nhc3grMTdLV3d0
UlpvQmFZMmJRb21BQ0l5Z0JFeVYKeEM5ZXhDU3NuQWlJUURrQlUzMXlMNzMwa21NRFFzeVRCNHRz
NVNIYXYyTXFObzduTWt1SmRTazVFUkNCL2tsQUFrai9MRGVsV2dSRQpRQVJFUUFSRVFBUkVRQVQ2
SllHbXpQRDJ5eHgyT05HWVlEV0xIeDJPVmRHMVF3Q3pycGc1eE14ZXM2NmRzTTArcTd2OW02VVZ6
d0h6CjFUM3BNSEVOZjB6QVZybFkxbnJIcWlqcVhxc0VZdXRmcS9HSGNKajl4ZHpuVWtzdDVjeUNr
RGZSRys3MWxXTTdiWVV0NnZabVQxbjcKc2RCQ0MvVTVzNmFkWWh6YnJuWHFlWXBIQkFZYWdTZ0JC
QnZMMkZNT2Y5aFpaKzhCOWh3WWFNN012VFhzcnpEUTh0OFg4MnVXUmJ5OQovN29PY0ZIYWk4S3lD
Sms5VkpwMUxJN2tIVEZyRmMwRzdZaC85RVRaOTRBT1FrODY4czF6NjJ6M0Y3RXVTbWQzdjJPdGxt
OVJXbnU3CnpJdlMxTWxybldUVnlYUzFFbGRzL1dzbDdtd1k5aWRnbnd3MllEenV1T05jZHVQRHJM
L2VQRytuclREenQzNlBMaGFkYzg2bWpIM1YKdGZOK3hyWnJmVFh2U3BjSTlIVUNUUzFDRHp0Z3M3
SGZXV2VkNVhkZlpxZHRzN1BjMS9NNTROSm5lMkg0elJjWlRlN0xINGkrV0RCcwpsdGVLTGpNNnlX
eFd5S2huY0NxSFFLTHZIRnN0MzZJY0ZKVjVrYi8rZXEyVHJQb3JnMmJUelFadmM4d3hoOThBcmRt
d2ZkMC9zenNNCk5yQ3hLTE9ld1RYVHpqWGpOOFRmNnJFbjNzK2V6RStySEJST0JQb2lnYWdaa0pC
d1RPdGhBb3hka3JmWlpodG5Odkw5anNIaHZvNTkKaDhBRER6emdiQU5Edit0NjMwbFYvMGdKS25Z
NzdiUlQwNG0xVFNiZHFhZWU2aFpmZlBFMHJNb2hSZEZuVGxvdDM2SU1GSlY1a2IvKwplcTJUclBv
cmcyYlR6ZTdNazA0NmFiUEIrb1YvMUZ5eGVKWFBYelB0WEROKzI0WFNFKzluVCthblhSNEtMd0o5
aVVCVEFrZzI0YmE3CnR2ODUwVVFUWlM4NzIvbllyYmppaW43VTNYWVBkcmFqcWJPTmdocjhZTXVZ
N2VkdEV4bTN6anJyT052eDI0ZXhUV1NjYlJqbGJBZGIKWnp0V090c3hzb3VBYy9IRkYvdVJKZHRG
M05zQ1J4V01xZldzQy9HajUvcTczLzNPeDdYV1dtdTVKNTU0SXV1dDlQeTg4ODd6dXExWQo5aUFk
dGl0eUY3OTFjVGVUVGo1WXR1dTRzMTFnL1hOZ3VPdXV1L28wMElEYWJ0UU8vZVc4czExOG5lM3U2
NmFjY2twbnU3MDcyeVhUCjg3SWQxOTFoaHgzbXZkdXU1VzZlZWVaeHRpTm9HdnorKys5M2l5NjZx
RGViaUhyQXJiZmVtdDdqaFBDRXNjMEpmVm5ZcnVvT3RSZ2MKMDlMTXFrd3p6VFNPdE1YWWUyK0dS
UjFYMG5EVVVVZTVXV2FaeGRjYjI1akgyU1o1WEk1eU1XRkQvY2xHYUpzMStib01DOHJwaEJOTwpj
THZ0dHB1RGIzRHZ2ZmVlNTJZN3pQcExWZVdBSlJmU1F0M0NmQ1g1Q1l4RGZQbGpNMkVvVTlUSW1K
MmtFL25sbDE4MlJNZmdBYk0xCnZFZlVjOXRGMW85c1pqMmhZckhBQWd0a0wvbnlwMjVjYzgwMURk
ZUxmc1N3TGdvWHJqMy8vUE9lNzRRVFR1am1uWGRlZDl0dHQ0VmIKNlhINDhPSE9kc0wxZWFBc3FE
OTFMbCsrMlhLcjQ1YVBPeHMyM0F2dkQ5YTBlQTlubjMxMmJ6N1JkdThOWHRKajJUdU1oeEJQMFh2
SQovYnE4eDd4M045NTRvMXQ3N2JVOVA5dTV2TXQ2aFhaWXhid3o1S1BJeGRUUE9qNng5YStPWTJD
UWI2Zno2Y1kwTGUvR2E2Kzk1dTY5CjkxNS9UdHVOcTBzcisyZllCcGplc2hNenFBd2UyVVpyNlNP
eTllenFxNi8yN3l2ZkpnWksyTXJyc2NjZTh6TVNmRXY1dHNhOEIybmsKbVpPcWJ3TXpPOHlJNFE0
NjZDQ2ZQelFoeUZ2Vjl5WVRmYTNmbVA1RE5yNXdYbFpHV1c3Qkw4ZTc3NzdiZjd0bysvaUdrVy9L
N3BSVApUc2w2OCtmd0xYdVBtOGw3bDRoMVFRUUdPZ0UySXF4ekJ4NTRvTjk1Tkx2cnBOa2pUc1lj
Yzh5R0hVc2ZmL3p4eEZSWEVoTkFFdXZ3CkpwZGZmbm1DUDJzVUczYWhaS2RodHBTM1JXeUpDUnZK
a1VjZW1Zdzk5dGdKVzlTdnZQTEsvczg2UDRsMWNwTzU1NTY3SVhscnJybG0Kc3RWV1d5VlhYWFZW
Y3ZMSkp5ZURCZzFLckxGdThFUDhQTmNhOG1UVlZWZjE5MjNFSnJGRmdRMytpbjVZdytyemF0UExp
ZW55SmhkZApkRkd5MTE1N3BWNWo0NDVOcDAzVko5YjVURGJaWkpOMFoxZWJZVXBNc0VoT1AvMTB6
eEJPK011NndObzZtSWw5dkpMcnI3L2VjM3owCjBVZVRwNTU2eXUrWWFYVTdzWVl6T2ZQTU01T1hY
MzdaQjMvNDRZZVQwVVliTGRsb280MDh3elhXV01NelpIZjc0STQ1NWhqUFlKVlYKVmttV1dHS0p4
RDdrNlk2ajF0RDdjck9QWUhMRkZWY2toeDU2YUFoV2VveGxFVk5tMUVYS25EUlpaekhaWTQ4OWZO
MGhyL1lSTGswRApOMkxEVXNaTEw3MTBHaGU3S2R1NnAyVHl5U2RQTHJqZ2dzUSt4TW1RSVVNOFJ4
UEVVMy9zd2tvNndnNjlWZVZnSGZoazVKRkhUdGpkCmxIeVlybmhpbmRFMHJxS1R1akRoK2RhaFRL
eHprcGlBa1d5MzNYWU5hU0plVzZ2aDN3L3FqbjFBL2ZNMzMzenp4TmF2SkpkY2NrbjYKYUJPQ1Bl
djBncDJZeXFXUHp4YlpwcGREZldGSDNlQmlXUWYvMldOb0g2empucGdlZlVJNnhocHJMSitXNTU1
N0x2VzYzMzc3SmRhQgo4SFh3M0hQUFRVd3dURXhnU3UrWG5lVExONVpiVVh3aGJDaHovQVFldkdQ
azRlQ0REMDVNd1BQbGJjSkVHazNWTzV5TnArZzlqTWw3CjNYdjN6VGZmSkNiY0padHV1bWxpd2wx
aUc4c2xKclNrNmVPa1ZWYXg3MHpEdy83M0k3WitCczVGZkdMclh3eEhHQlMxMC9tMGsyN2EKV3Q0
OXZqMmMyMEptNzYwcXJYeHphQXRNclNtNTQ0NDdFdHRMdzdkcHBtMlFQaUxVTThyVU51SHpkWjYy
bVBiRzl1UHcxM2JjY2NmawpnQU1POE84eDM5UXFGK0xMMXR1NmJ3TTd5dHQ2VVAvTW9VT0grdnpS
NWxhMWMvazBWUGtONzBOZC95RWZKNy9MeXFnb255WnMrQjNiCmVjNU5OOTJVbkhQT09jbHNzODNt
ODdYMzNudW4wWWN5cTNxUHEvS1RScVFURVJDQlFnS01udFE2R25NYXVoTlBQREd4MFcvZllUWWIK
K1FtZDBLeERnS0NUOXNNUFA2U1hiZmJEdit3MlU1RmVvN0VZWlpSUkVsdFRrbDZqWWVVWmRDaURz
NDFYL0RYaUtIUExMTE5NWWlNWApEYmVKbjdqb3BBYUhFRUVqbiswa2hYdmh5SE1Rb0thZWV1ckVk
cDRNbHh1T3JjWmRsazQ2ZlFocVZRNUJoUHhraFFRYjNmYlhhRXlMCkhCKy9mQmo4VVVZSWRzSFpk
THJ2MkdXNWg0WjN3dzAzRE43OEVTWUlpcnZ2dm52RDlXWi9sTEdvS3pPei9aN1liSUd2Zzlsbjho
RWwKYkpVQTBreFl5amdyZ0lUNEVVYXpqaktvRWtEd1cxWU9DSnpUVGp0dE5ycmE4N293NFdOcnMy
R0p6ZmFsOGRGaFdYYlpaZFBmSVUxMApkckp1eVNXWDlIWERSbDc5NVZZRmtHWllaNThmenVGUCs1
S3QyNmJtNE12WVZEKzlONXYxVEd3UGdNUm1vVUt3eEdZdXZSODZVbFV1Clg3NngzSXJpREdHekhi
bncvdGdzWXpwQXc4QUFkUlQyd2RXOXd5R2UvSHZZYXQ3ejc1MVpTNnZsMVNxcjJIY21zTWdlWSt0
bkdaL1kKK2hmTEVRWXg3WFRJQTUxWkJ0S3lyaXl0SVEyMmFEM3JQVEZWVGw4MjRSMEk5WXkyKzgw
MzMvUitFU0JISFhWVUw1emJESGthbm9FYwo2bDZWQy9GbDYyM010OEhXTy9oMDJXeGVRL1NoekxM
ZnFBWVBtUjlsZm1QN0Q1bW8wdE95TWlyS0oyMDdnM0NtYlpHR3A4N3dmbVlICkcwT1oxYjNIWmZs
Skk5ZUpDSWhBSVlHbVZMQk1FUEhtQlcwa3hCK3o2aWNXdTJOeE9ndlRyRkcwZC9uL0hDb2dURzNl
ZGRkZDRaSS8Kb2llZjNWS2U2V1FiNVhUMjBxZitncDVwa1hVamEzeWRqZW83YTBnS3A1dFJIYkhH
SkkwTGxURlVXRkNMS0hOWTlXS1JuWDA4bkFrcgpaZDY4V2twczNIWHBSUFVGOWJBaXh4VDhPKys4
NDdCWWd2dm9vNC84a1h6Y2Q5OTlYZ1Zwd1FVWDlOZGkvaEdPcVdkWW9KN0JIeVpiCllZOHhnYnhE
QlNmcllHS050N09aSjBkZHFHS1pEUmZPNjFqVWxSa3FTdWdmcjdUU1NpRktmNHpaTUs2ZHNEREQy
UXlhUDRaL1ROKzMKNmt3ZzhPcE1Oa1BuMVJaajRva05ZNk9nRFpaMzJDQU1kWmpnZUJkUis2SXNz
dzUxUHV2YytIUmxyemQ3M2c3cjhDeWIrV3hRZmJRTwpock1aVi9mTU04OTRMendEbFJmZS8xQ1h3
L3RSVkpkRHZGWEhPbTVWWVl2dVhYamhoZWxHYVpRQkxwUkRNKzl3L2oxc051OWw3eDFxCm1CaGJR
SzBHazZPa0tkYlZzV3JubldtMmZoYnhpV2tubXVGWTFVN0hNc05mUHEwbUxQdDZ6THVYZGJRTHVQ
eDNFM1ZLR3lEejkvaGUKb25wTCtkbmdnYi9HUDlyenZNcGxlclBrcE5sdlEwazBMVjl1dHY5UTlL
Q1lNZ3J2SGQ5TjJwUGdRbHVPRmNPOHEzcVA4MzcxV3dSRQpJSjVBVTFhd3NQWmdJK0RPUm5oOEI1
U09lckFXaE00cEhZSWdOR1NUZ042OGplUmtMM2x6cFEwWDdFZlJ5NS8zWTZPMmpvOGZIdzkwClpY
bXVxZVRrdmZsMFppL0d4TTJhRkZ5Mk1jL0dFYzVoa0hWRmNjZW1zeWp0NU1sbUpIeW5nRFUyckxY
QTBVamo2R2doS0NIRVZRbEsKM25QbVh3aG4wOGJPVkEvU081UmhWbWdNTjRxdXNUNEdFNU9tZXVW
c1pzWWJKQWg2emlGYy9oakxvbzdyRzdiK0JJZWVjN091bmJBSQpnVGF6NXovc3pUNjN6RDg2eXdq
V2xET2RiWFM1MFRPbVUxSG1Zc1BVY1VUSUtHTEllNHJqUFFnZDVySzBWRjF2aDNWWnZMd25ySk1K
ClFtOHdOV3dxY2M3VXh0SmdwTnRtWU5QZnpaelVjV3NtTHZ4bTQ4dTNFZUZkakhtSDgrOWhiTjdy
M2pzRWQ5WXFzRTZPZHhpQnhOU3cKUE9lNnZHYnpodDk4L3RwNVo1cXRuM2src2ZVdmxpUDVLMnFu
dWQ2c3k2ZVZ2T0xDdXhmaUM3L0QvWEE5ejVuclJkZUMvOWhqcUkreAozNGJZZUdQOU5kdC9LSW8z
cG94NER1MERiVzZzeTliMVRyQ09mYTc4aWNDSVRxQjhtTDhrNTNTSXNZS0ZNSUlwdnVEb0pKdGFW
ZUdDCllEb05SWUpKQ0J0N1pNR202ZnM2RmtzeWtraGphV29Gc2NGci9iR1lHMmU2cUxWK3F6eTBt
MDRFTzB3ZGtqOFc4TlBaeDRYR2o4NGoKSTcvTnBqT0VROERDbWtuMno5VEFxcktVM3FQVFlxcEk3
cUdISHZKR0FKakZ5Z3VYcVdjN2FaZEZOaTd5akdPUlo3T3VuYkIwQmxnSQpIRHEvelQ2N3pMK3R6
M0NtSXVBdHlwbDZvOXQzMzMzTHZLYlhXd21UQnY3ZkNlOWkwUWhweUYvVnV4cUU0SHljMmQvdHNN
N0drejluCllUS0dMWERoeUVMamJEM20zTmF6NUlQMnVkL2hYV3oySFk3TmUreDd4OHdTYlRtQ0I0
dittV1dMS2VNNm9PMjhNKzNVVDlJVlcvLzYKUWgwSzcxcmVrRWI0eld4R1Q3aFFIOXY1TnJTVHpw
N29QNUErVE5JemFFZGR6N3BPMVBsc2ZEb1hnMVZDc2dBQUlBQkpSRUZVQVJHbwpKOUMwQUVLVVRQ
bmFtZzAvbll6YUZZNlJIV3lmNXp1amRCcm9TRGN6NHVBakxQaDM4ODAzKzFrV1d4dmlzSXdUWERP
cUF5Rk0wWkZOCnQ4aEhqSVdmb3ZEaFdqdnBaRlNPVGdrajRtejRtSFVobndoNlRDRXowaGRVVXJM
K09BOHpVNTk5OWxsNks0UkQ3WW9ScjNZYzZsSlkKMEVFb3NnWHdwVkcxd3lJZktSYWJjS2d0WkYy
K3ptWHZoZk4yd3NLYUR4UldZSUxERW8wdFlFeUZ3bkE5Znl3cWg2d2ZPaUNZN2tXUQp6bG9xeS9y
Sm43Y1NKaHNIS3BIVWk3eXFFcVBoMk0wUHN4K29LS0FHbUZVYlF2VU9WL1hCYm9kMVNHYytmZ1JB
Nmp2dktJNk9NKzhxCkhlZis2TUs3V1BVT2wrVXJKdS9Odkhkd1pOTThXN2pzVlQ1cHI5dDE3Ynd6
c2ZXekxJMng5UytHWTlrek9uVWRLNFMwb2ZrMkxIeFgKZTJvVHcxQWZXLzAyMUxWeldWNUZmbnVp
LzBBYWVBNzFpd0UwWmtOd3RyYlJiYi85OXY2OGxYOUYrV2tsSG9VUmdZRkdvQ1VCQkVpMgplTTNy
bjVvRkZiOGZDTmZNMm92dkVKdFZEei9DYWd2c3ZCbFgxakJrWjB2dzI0ckRGQ2VPR1JqV29aaTFF
Ti81cFNFSmpVa3I4WVl3CnpLelFFQkUzSmtycG9OSFpaWlMxYU1RNGhNc2YyMGtucWo3OHNac3Va
aC9wNUp2bEVmK0liTWVBemdJZkxsdVk3TlVvR1BrMXkwUisKalFlZWJVR2ZIK214QlhKZTFTZVlk
TVRrSkEwdXBqZFJYV0dralk4ZE91QjFqbzRvSm5qcDNLQStkUDc1NS91T0tDcDVaYTRkRnZrNAp6
U0tYRjhwUS9hSSswV0ZIR0w2endFUnhKOE9pY3Nab0tYVWRRUUZWRmRRQU9ZYlIxdnp6d3UreWNz
RE01dC9NTEN1Q0lBSW5mNWlUCnJYS3RoQ21LanpyT2lLZFprL096U2F3UndKeW1XVFZ6WmxFbkZW
N0RXcHVqano3YWx6bDE1dFZYWHkyS3N1RmFPK1VVSWtMM0hmVTAKekdqQ2lQZVJEejMxRDhlN2ln
bHUxSXdvSDladjBRYnczdGlDN3hCTm56N1d2Y05saVkvSmU4eDdoMEI5eEJGSCtEWWJBWS9mcUFE
YQpRdWV5UjBkZmIrZWRpYTJmWlltSnJYOHhITXVlMGFuckRES1psU1Z2MXB0WmIxUnIrZWF3eHBD
T2NuYWRaYWVlV1JaUE85K0dzbmF1CjZGbGxmcnU3L3hEU1FqdEttemZkZE5QNTd3ZG0xYzJnaGI5
ZDE1NkhPTExIc3Z5d1ZoS0Jod0ZUT1JFUWdhNEVXaFpBNkNUVFlLRkMKd3A0Vk9CcEw3R0lqSUtD
cXd3SjA3SlBUc05aMXJyb21yZXNWcG9mcGNKdnBVbTlibjFFajlnYWdZOExDYW1aYjJuVXNncWZ4
TjlOOApmcTBMTnNMcEtOSnBqM1h0cEJNOTFqQVN5YXdSYk04NDR3eHY5NTBQTStwUE9EcS96RHpR
T1VPUG5FYVVkUjFCRUtOOHpGcVZGekpZCllCZG1kWmk1dVAzMjI3MC8xS2VZU1dMQkkvc2YxRGtF
SGhhWDRwODR3MkowZE1qTFhEc3M4bkV5ZGM0ZUcrU05ScDNGKzlRek01MlkKOTlybGR6dGhtUldn
ZzBzbm1KRjVGanN5VW9oUXgyTHVLbGRXRHFqV01jdkZiQWFMd1RIZWdGQmY1Vm9KVXhRZkMxY1Iy
aGdZWUxhRApQTkNaNThQTUl0ZmdxUHVVTGJieHpWeXo5OGQ3Z2FNdWxMbDJXSWM0V1pTTGNNeUNX
eGpCbjNhRTgrRG9QTE51QmtHWWVvMjZpcGtpCjlRdnBnNSsrZkt4N2g2dlNYcGYzbVBjT1hYaUVl
ZllQUXNCbVVJR0JpT3pzY2xVYXF1NjE4ODdFMXMreTV6ZFQvK280bGoyams5Y1oKSkdJL0xOcFZP
c0xzRGNUNlJ0cjNxdmVzazJrZ3JuYStEV1h0WEZFYXkveDJkLzhocElXQkZRYlJhR1BZZDR4Mm1J
RVhYRjE3SHVMSQpIc3Z5dzdlQ2IwVFFYTWlHMGJrSWlJRDFJK3dsK2IrVnpSMm13ZUk1UnRNWWFl
MjBvMk5Dd3h3c1Z6QTdZVGJZdlg1bnA1NUZ3NEZ3CnhTaFpHQjFwTnU1MjBvbkF3K2d2ejhmUmlM
RTRtTkhKL0VlSjY3Qkd2elh2NkdRaWxOQ1I0OE9jZFI5Ly9MRnZnTG1YanpQckwzL08KS0Iyelc5
Tk9PMjMrVnVudmRsZ1VSVXFlcVZ0WlN5WkYvb3F1dFJNMnhFZCswSE9uNDRDVmxEcFhWQTY4ZXJ3
bkNPcXhJMit0aEtsSwpHK3MrK0tNczgvVWpoRU5kQ3lFL3V4Z3ozS3M3dHNLYTV6RnlTQ2NXYTBi
TXZGWFZOWmp3cnRKeDdrVG51UzVQM1hHLzZoMnVlbDVkCjNtUGVPek5CNnR1WDdtaXJzMmx2OXAw
aGJFejl6RDRqZng1Yi8rbzQ1dVB0anQ4SWhHK1ltaUZ0Zml2dFdpZlQxT3Ezb2FpZEswdFgKbGQv
dTdEOFVwY2YyRVhLMnQ0bWZCYlk5bm9xODFGNnJ5azl0WUhrUWdRRklvTnNFa0FISVVsa2VnUW13
MWdDOWR0c1UwcXZtWVU2VAozWXN4aHh5ekcvd0lqRVpaRTRGQ0FucG5DckhvWWk4VFFJMFVsVmMw
QnhDNjBhSmdGaDBCK2FXWFh2S0RINzJjUkQxZUJBWUVnYTcyCmF3ZEV0cFZKRVlnbmdIbHBwdWda
RldTS25sRjVqcXhCa3ZBUnoxRStCdzRCdlRNRHA2ejdXMDVaUzhsNlBtWXNtTlZsUGNqc3M4L3UK
OXhOaTVsVk9CRVNnWndob0JxUm5PT3NwSXdBQlZGVVlJVVAxajdVVHdmckpDSkExWlVFRXVvV0Ez
cGx1d2FwSTJ5UVFWRm5acndhMQpadFpBTmFPRzNPYmpGVndFUk1BSVNBQlJOUkFCRVJBQkVSQUJF
UkFCRVJBQkVlZ3hBbzJya252c3NYcVFDSWlBQ0lpQUNJaUFDSWlBCkNJakFRQ1FnQVdRZ2xycnlM
QUlpSUFJaUlBSWlJQUlpSUFLOVJFQUNTQytCMTJORlFBUkVRQVJFUUFSRVFBUkVZQ0FTa0FBeUVF
dGQKZVJZQkVSQUJFUkFCRVJBQkVSQ0JYaUlnQWFTWHdPdXhJaUFDSWlBQ0lpQUNJaUFDSWpBUUNV
Z0FHWWlscmp5TGdBaUlnQWlJZ0FpSQpnQWlJUUM4UmtBRFNTK0QxV0JFUUFSRVFBUkVRQVJFUUFS
RVlpQVFrZ0F6RVVsZWVSVUFFUkVBRVJFQUVSRUFFUktDWENFZ0E2U1h3CmVxd0lpSUFJaUlBSWlJ
QUlpSUFJREVRQ0VrQUdZcWtyenlJZ0FpSWdBaUlnQWlJZ0FpTFFTd1FrZ1BRU2VEMVdCRVJBQkVS
QUJFUkEKQkVSQUJBWWlBUWtnQTdIVWxXY1JFQUVSRUFFUkVBRVJFQUVSNkNVQ0VrQjZDYndlS3dJ
aUlBSWlJQUlpSUFJaUlBSURrWUFFa0lGWQo2c3F6Q0lpQUNJaUFDSWlBQ0lpQUNQUVNBUWtndlFS
ZWp4VUJFUkFCRVJBQkVSQUJFUkNCZ1VoQUFzaEFMSFhsV1FSRVFBUkVRQVJFClFBUkVRQVI2aVVD
L0ZFQisvdmxudDhJS0s3aXp6ejY3YVd4dnYvMjJHelpzbUJzOGVMQmJhS0dGM04xMzMxMFl4NldY
WHVxZndYT0cKRHg5ZTZLZTdMbjc1NVpmdTNudnZiVG42RHovODBLZjl1dXV1cTR4amh4MTJjSHZ1
dVdlbEg5MFVBUkVRQVJFUUFSRVFBUkVRZ1U0Uwo2SmNDU0pJazdwWmJibkV2di94eTB5eDIzbmxu
UjhmOCtPT1BkNXhQUFBIRWhYRzg4Y1liN3BGSEhuRWJiTENCVzNEQkJRdjlkTmZGCjBVY2YzVzI4
OGNidWhodHVpSHJFYnJ2dDVrWWUrZjhYNVhmZmZlZjVJR3hWdVFjZmZOQTkrdWlqVlY1MFR3UkVR
QVJFUUFSRVFBUkUKUUFRNlNtQlFSMlByNDVGOS8vMzN2bU8rLy83Nyt4bUN1dVNPUGZiWWJyUE5O
cXZ6MXZIN1k0d3hocCtsR1RwMHFIdisrZWZkTDM3eAppOHBuTExyb29vNjh5WW1BQ0lpQUNJaUFD
SWlBQ0loQVh5Y1FKWUE4OTl4ejd0UlRUM1c3Nzc2N20yNjY2UnJ5eE9qN1YxOTk1UVlOCkd1UW1u
WFJTcjlhMDRvb3JwbjUrK3VrbmQ4QUJCN2doUTRhNCtlZWZQNzNPeVJsbm5PRysrT0lMdDlkZWV6
VmM3NjRmcjd6eWl2djYKNjY5OU9sdDV4dlhYWCsrZWVPSUpod0NEKy9iYmI5MHFxNnppeGhsbkhM
ZnBwcHU2ZGRaWngxLy95MS8rNGg1NjZDRi9IdjZOTk5KSQpic0lKSi9UOG1OMGdETzdpaXk5MnFF
eHR1ZVdXYnN3eHh3emVIY0xIYWFlZDVnNDg4RURQUHIxUmNMTFdXbXM1L3VSRVFBUkVRQVJFClFB
UkVRQVJFb004VE1IV21XbmZ5eVNjbkptQWsxbWxPckdPZCtuL21tV2NTeTJDWHY1Tk9PaW4xWTUz
clpOWlpaMDNHSFhmYzVJNDcKN2tpdmMvTGIzLzQyTVJXbmhtdEZQKzY2NjY1azRZVVhUc1liYjd4
a2tVVVdTV3g5aEgvbTNudnYzZUQ5dnZ2dTgvZHQ1aUtaYTY2NQpFbFBUU3U5ZmM4MDF5V3l6emVi
RFRUUE5OTW5jYzgrZG5Ibm1tZW45L01reHh4eVRURFhWVkEyWDExdHZ2V1NlZWVaSnI5MXp6ejNK
Cllvc3Rsb3cyMm1nK1h0alkrcFJraWltbTZNSWt5eWtiaHdrYTN1OHZmL25MNU1namoweHMvVWNh
dndsb3lRUVRUSkRZN0VaNnJlakUKMU1rYTB2WDY2Ni83T1AvODV6K24zbSs5OVZhZjU5dHV1eTI5
TnQ5ODh5VkxMNzEwK2xzbklpQUNJaUFDSWlBQ0lpQUNJdERkQlA3Lwp3b0VLVVluRnlrOC8vYlJq
YmNJSko1eVErdnoxcjMvdExJSCtqNW1PZDk5OTF5Mnh4QktPQmR6QldjZmFML1NlZlBMSjNjb3Jy
K3hNCm1BaTMzS3V2dnVwTVVFaC9GNTA4OXRoamJ2bmxsM2ZXcVhlWFhYYVoyMlNUVGZ4ZjNpL3JO
YXd6N2FhZGRscDN3UVVYK0NQUDR4bTQKV1dhWnhaa0E0Yy94dCsyMjI3cDU1NTNYLzQ3OVo0S0xl
Ly85OTFQdkpudzRFMEw4TmRKMzVaVlhPbVk2NE1Cc0VPdE1BaCtPekJRZApkOXh4N3ZISEgzZXZ2
ZmFhaitlY2M4N3hhejArL3ZoanQ4OCsrN2daWnBqQnNZWUROLzMwMC9zWm90dHZ2OTMvTHZ2M3pq
dnYrSm1aCnN2c3Z2dmlpVzNmZGRSMnFXc3NzczB5Wk4xMFhBUkVRQVJFUUFSRVFBUkVRZ1c0bkVD
V0FrQXFiUFhDLy8vM3YzZjMzMzErWUtCWkIKMHdsZmR0bGx2VXBSMXBPTjR2dk90ODJDZUZXc0Yx
NTR3ZG5zaVdPUmRGMkgrTkJERC9VTHhWRlZXbTY1NWR6V1cyK2RxamZScVE5dQp2LzMyY3dnNUNC
OXJyTEdHUDNJUE5TL2N6RFBQN0R2aG5DKzExRkplNWNsbUl2Z1o3UkJBUHZyb0k0ZXdsWFVUVFRT
UlcyMjExWnpOCk1tUXZkemtuLzJ1dnZiYS9qdHBWY0p3anNOZ01rZHQxMTExVFZTd0VFRndyaSsx
RDNKOTk5cGxiZGRWVnZmcmJpU2VlR0M3cktBSWkKSUFJaUlBSWlJQUlpSUFLOVFpQnFEVWhJR2Rh
ZzZNU3lqaUtzWVFqM3dwSHJtSkhOdXNzdnY5eU5OZFpZN3VhYmIvWnJSSmlabUdtbQptYnlGcWZ5
NmtHdzR6dW5VTTNNeHlpaWpwTGRZUzRGanRnR0hXVjdNNlpwNmxsOVQ0Uy9hdjhrbW04d2g3SFRL
SVlBZ2ZDQXdJR3hsCjNZOC8vbGhxVVN2ckwzRExNbnJnZ1FlOGdNRE1ESC9CVFQzMTFONjZGVE1x
clRqU2hNQUR1MHN1dWFTQllTdnhLWXdJaUlBSWlJQUkKaUlBSWlJQUl0RXVnS1FFRWxTdmNTeSs5
NU1wbUQ1Z0p5YzVNNEo4RjdGdHNzWVdiY2NZWkhjSUlNeGx2dnZtbS8rTittVU10aVlYZQprMHd5
U1prWGY1MVpDYXhBUGZYVVU0NlprT0JRR1J0MTFGSER6N2FQQ0NBNDFMQ3lBZ2o1UlloZ2NYbWRD
NEpVbHRGNzc3M25GNmpuCnc1SjNoQ3VFdDFiYytlZWY3MDBKSDM3NDRZNVpLRGtSRUFFUkVBRVJF
QUVSRUFFUjZHMEMwU3BZZElTeDdvVEROR3lzKzg5Ly91TTMKMVFzekhVc3V1YVN6eGRHK1kyMEx3
eXVqUVlEQWhmVVNaWjRSVUd3aHVDTnVMRjFsL3hCNE91V1lrY0FoTUdUZHNjY2U2ejc0NEFPMwoz
WGJiWlM5SG44TTJ6T1prQTlsaWN2L1RGc05uTDBlZnMxNW16VFhYOUphMHNPQWxKd0lpSUFJaUlB
SWlJQUlpSUFLOVRTQktBUG5rCmswKzhtZGUvLy8zdlhzMklCZW14N3EyMzN2SmVXZU1RSExNaHYv
dmQ3L3lpNjN4blB2amhhRmF2L1BNZWZ2amg3R1ZuMXE0YWZqT3IKZ0hvWUd3d3lHOUpkYnZ6eHgz
ZjhoVFQvKzkvL2RydnNzb3MzbDJ2V3BmeTlUajQ3Q0Y2dGJvUUlsd3N2dk5BdHNNQUNidjMxMTll
bQpnNTBzSE1VbEFpSWdBaUlnQWlJZ0FpTFFFb0ZhQVlUZHVBY1BIdXpZTmZ1Zi8veW50M0wxNUpO
UCtvZWg0b09Gck93Zk13NnNFV0V4Ck5TUDdxRnJoV0krUmRWaUlvb084L2ZiYlp5OTNPV2QvREJh
ck01TFBHaElXcFJNM0xxdkdOSHo0Y0w4K2d6VVBySGRnZnhFc1ZHVXQKY25XSnZJVUxxR0daK1Y2
LzNvUTh3UVgxcXpLVnRCWWVrUVpCcFF5MXQ2RDZsdDVvNG9TOVJhNjk5bG8zNVpSVCtqMUxnbERU
UkJUeQpLZ0lpSUFJaUlBSWlJQUlpSUFJZEkxQzdCb1FGMEFnZ1dKZkN5aFNxVkt3cFlJRXpHL0lG
QVNPZm9tZWZmZFl2b0E0eklNd2NaQjNtCmVZOCsrbWozMTcvKzFhR214ZTdmUlk0MUhhaFVZWUwz
NnF1dmRyWi9oMTlIZ29Xb3JOb1NvL3lZcTkxcXE2MzhhRDl4TVlQQ3lEOG0KYUR2bHNBYUdhaFJD
QVNwTzdKUWVWTVU2OVF6aVFhVUxrOGUyQjB2YjBiS1QrazAzM2VSc0x4VzMwa29yK1Jta2lTZWV1
TzE0RllFSQppSUFJaUlBSWlJQUlpSUFJTkV0Z0pKdEYrUCsyYkF0Qy8vREREMzZYY3hhWGQ5cnhh
T0tQNmNBem80R2drcDlKS1VwVFdMek9tbzJzCmtGTGt0K3dhNnpyby9EUDcwaHNPazhma0E4R2h6
ckgyQkZXcnp6Ly92TTZyN291QUNJaUFDSWlBQ0lpQUNJaEFyeEtvbFNwWTNOMGQKd2dlNVJqaUlF
VDd3aXhXbkdPRUR2eXhLUjFXcVZlR0RPSERNUXRndTduNnR5djlkNlpuLzdOMkI0UE9QZi95ajlJ
RnNzSWhRaHREQgpKb3gxR3pxV1JxUWJJaUFDSWlBQ0lpQUNJaUFDSXRDREJHcFZzSG93TFgzcVVV
T0dEUEdiRjVLb1lQMnFweExJWGlHc2Q2a1N6akFJCmdDcmNvRUdEL0o0c3JQT1FFd0VSRUFFUkVB
RVJFQUVSRUlHK1RxQldCYXV2WjJBZ3ArK2RkOTV4WVkxTzJPQndJUE5RM2tWQUJFUkEKQkVSQUJF
UkFCUG8rQVFrZ2ZiK01sRUlSRUFFUkVBRVJFQUVSRUFFUkdHRUkxSzRCR1dGeXFveUlnQWlJZ0Fp
SWdBaUlnQWlJZ0FqMApPZ0VKSUwxZUJFcUFDSWlBQ0lpQUNJaUFDSWlBQ0F3Y0FoSkFCazVaSzZj
aUlBSWlJQUlpSUFJaUlBSWkwT3NFSklEMGVoRW9BU0lnCkFpSWdBaUlnQWlJZ0FpSXdjQWhJQUJr
NFphMmNpb0FJaUlBSWlJQUlpSUFJaUVDdkU1QUEwdXRGb0FTSWdBaUlnQWlJZ0FpSWdBaUkKd01B
aElBRms0SlMxY2lvQ0lpQUNJaUFDSWlBQ0lpQUN2VTVBQWtpdkY0RVNJQUlpSUFJaUlBSWlJQUlp
SUFJRGg0QUVrSUZUMXNxcApDSWlBQ0lpQUNJaUFDSWlBQ1BRNkFRa2d2VjRFU29BSWlJQUlpSUFJ
aUlBSWlJQUlEQndDRWtBR1Rsa3JweUlnQWlJZ0FpSWdBaUlnCkFpTFE2d1FrZ1BSNkVTZ0JJaUFD
SWlBQ0lpQUNJaUFDSWpCd0NFZ0FHVGhsclp5S2dBaUlnQWlJZ0FpSWdBaUlRSzhUa0FEUzYwV2cK
QklpQUNJaUFDSWlBQ0lpQUNJakF3Q0VnQVdUZ2xMVnlLZ0lpSUFJaUlBSWlJQUlpSUFLOVRrQUNT
SzhYZ1JJZ0FpSWdBaUlnQWlJZwpBaUlnQWdPSFFMOFVRSDcrK1dlM3dnb3J1TFBQUHJ2cGtucjc3
YmZkc0dIRDNPREJnOTFDQ3kzazdyNzc3c0k0THIzMFV2OE1uak44CitQQkNQMlVYUC96d1F4LzJ1
dXV1Sy9OU2VQMzY2Njh2dkI1N01hVDVxNisrS2czU2F0cEtJOVFORVJBQkVSQUJFUkFCRVJBQkVX
aUMKUUw4VVFKSWtjYmZjY290NytlV1htOGpxLzNuZGVlZWRIWUxCOGNjZjd6aWZlT0tKQytONDQ0
MDMzQ09QUE9JMjJHQUR0K0NDQ3hiNgpLYnY0M1hmZitmUWg3RlM1WTQ4OTFvMDAwa2p1MDA4Lzlk
NnV1dW9xdCsyMjIxWUZTZTg5OU5CRFB1emxsMStlWGlQTmNQbnh4eC9UCmEvbVQyTFRsdyttM0NJ
aUFDSWlBQ0lpQUNJaUFDSFNDd0tCT1JOSmY0dmorKys5OUIzMy8vZmYzTXhSMTZSNTc3TEhkWnB0
dFZ1ZXQKNWZ0enp6MjMrK01mLytqR0dHTU1IOGNoaHh6aVpwbGxGcmZzc3N1NnRkZGV1ekxlU1Nl
ZDFJZWRmdnJwSy8zcHBnaUlnQWlJZ0FpSQpnQWlJZ0FqMEpRSlJBc2h6enozblRqMzFWTGY3N3J1
NzZhYWJyaUg5dSsyMm0wUGxaOUNnUVk1T01XcE5LNjY0WXVybnA1OStjZ2NjCmNJQWJNbVNJbTMv
KytkUHJuSnh4eGhudWl5KytjSHZ0dFZmRDllNzY4Y29ycjdpdnYvN2FwN083bnRGTXZBZ2EvQVUz
K2VTVE80U2oKSFhmYzBhMisrdXB1MUZGSERiZTZIS2VkZGxwZkpsMXU2SUlJaUlBSWlJQUlpSUFJ
aUlBSTlHRUNVU3BZdDk5K3V6dnp6RFBkbkhQTwo2UjUrK09FME8vLzYxNys4S3ROZi92SVhkL3Jw
cDd1RER6N1lyYlRTU3U3a2swOU8vYUJlZE9XVlY3cGxsbG5HL2ZPZi8weXZjM0xKCkpaZTRKNTk4
c3VGYTBRL1dhU3l5eUNKdS9QSEhkNHN1dXFoNzhNRUhpN3k1KysrLzM5OGZaNXh4M0c5Kzh4dDM2
NjIzcHY2dXZmWmEKdCs2NjYvcmZCeDEwa0p0bm5ubmNXV2VkbGQ2UFBmbmtrMCs4V3RZdmYvbExO
OU5NTTdrVFRqakJJWVFoTUJRNTB2RGIzLzdXVFRIRgpGRzdQUGZkMFgzNzVaZXJ0NzMvL3UwOEhR
bGh3VzI2NXBYdnZ2ZmY4VEUyNFZuUjg1cGxuZkZqS3Bzb2gzQ0hrWko5UjVWLzNSRUFFClJFQUVS
RUFFUkVBRVJLQTdDVVFKSUR2c3NJTjcrdW1uM2VpamorNDczQ0ZCdi83MXJ4M3JNZmhqcHVQZGQ5
OTFTeXl4aEdNeGRIQjAKMUJFZ0dOMWZlZVdWM1YxMzNSVnV1VmRmZmRYTk5kZGM2ZStpazhjZWU4
d3R2L3p5dmdOLzJXV1h1VTAyMmNULzVmMnlYbVBwcFpkMgp6QXhjY01FRi9zanplQVlPMWFiMTFs
dlBuK09QdFJienpqdXYveDM3NzRjZmZ2QUNEdms1OGNRVFBZdDc3cm5IL2VsUGYzTFBQdnRzCmwy
Z1FEa2p2YkxQTjV0WmFheTNIbW84TEw3d3c5Y2VDOENlZWVNS3pDeGNubkhCQ3gxOTJiVWU0bHox
KysrMjNQbXlWWUVHNldPdXkKNzc3N3Vna21tQ0FiWE9jaUlBSWlJQUlpSUFJaUlBSWkwQ3NFb2xT
d1NCbWQ2Ti8vL3ZmdWlpdXVLRXpveUNPUDdJVUVSdHZQTysrOApCajkwZmxIVEduZmNjYjBxRmpN
VkxKUm1rVFl6STFYdTBFTVA5UXZGTDc3NFlqZktLS040cjZ5UG1HU1NTYnpnRThMdXQ5OStYc2hC
CitNQ1JEcDZMbXRjeHh4empacDU1Wmo4RHdpek5Va3N0NVRiZGROTVFOUHI0MTcvKzFiMzAwa3Z1
b29zdThyTWdCRngxMVZWOUhsZ0EKbm5mTWZpQndNUnVEdStHR0d6eS91b1htcUxueG5IWWNpOUZa
WkgvS0thZjRHWmgyNGxKWUVSQUJFUkFCRVJBQkVSQUJFZWdVZ1dnQgpoQWRpRFlxUmY5WlJvT1pV
NUxpZVZUUENENlA1WTQwMWxydjU1cHY5R2hGbUpsQmZ3c0pVZmwxSVBrNDY4Y3hjQk9HRCs4d1E0
TEFnCmhjTXNiMURUUWxBSmJyTEpKbk12dlBCQytObjJrV2ZnRUdDeUR0V3dJc2ZhbHlCOGNIK0dH
V1p3cUhEVk9RUVFabjVhZGF6WmdkazIKMjJ3VGJWV3IxV2NwbkFpSWdBaUlnQWlJZ0FpSWdBZzBR
NkFwQVFTVkt4eWo4NnloS0hMTWhLQ1NsWFVzWU45aWl5M2NqRFBPNklXUgo1WlpienIzNTVwditM
K3N2Zi83eHh4ODdWSTJZN2FoeUgzMzBrY1BDMVZOUFBlV1lDUWtPbGJHcWhkekJYK3p4blhmZThi
TXNDRFl4CkRpdGFXUmNFcHV5MW9uTUVQQVMyVmgxclVvaGorKzIzYnpVS2hSTUJFUkFCRVJBQkVS
QUJFUkNCYmlFUXRRYUVKelBMd0dKejNQUFAKUCsrUE1mLys4NS8vdUh2dnZUZWQ2Vmh5eVNYZG4v
LzhaeC9mTmRkY1V4a0ZBZ1R1dGRkZXEvU0hnRExhYUtNNTRzYlNWZmF2YmkxRgpaY1M1bTZ4bitl
Q0REOXpubjMrZXU5UFpuK1IzcXFtbWFqbFMrTUlFOVRDRU9Ea1JFQUVSRUFFUkVBRVJFQUVSNkNz
RW9nUVExSVpZClJJM1ZKamJ1WTBGNnJIdnJyYmU4VjB6MEJzZHN5TzkrOXp1M3p6NzdlSXRQNFhy
K09ONTQ0L25uWlMxdjRlZSsrKzVyOElwNkZ1cGgKYkRESWJFaDNPWjdCN0E0V3RZSzcrdXFyM1Uw
MzNaU3FnNFhyclI0UjlKZ2RhbmJ6dyt6elVPRmlWM1VXdVNPRU1Jc2tKd0lpSUFJaQpJQUlpSUFJ
aUlBSjlnVUN0QU1MQzZjR0RCM3ZUdDVqUnhjcFZNSjE3L3Zubk95eGtaZitZY1VEOVo5ZGRkL1d6
SEhTbWNYbTFKYXd6CklUalVxUWxobHBiRjZtdXV1YVpmUThLaWRPTEdaVlc5aGc4ZjdxMUpzVUFk
ODc1WWg4SkNWZFlpbHcvVXhqOFdqek16d1FKMkZzOWoKRXBoMUhoeVpnZW1FWTgwSzFyWTIybWlq
dHFKRFJRNnJZWTgvL3JoZmE0T1ZNamtSRUFFUkVBRVJFQUVSRUFFUjZHMEN0UUlJcG5VUgpRREFY
aThsY0ZvMEhLMVpzbW9lcDErd2ZuZjd2dnZ2T202VmxQVWlZQWNrdjFFYWQ2ZWlqai9ZeklLaHBs
VG5XZExCL0IrcGFiSERJCm5pSkJxTWl1cVZoZ2dRVWNabThaOVY5Ly9mWDlRblZHLzdON2daUTlJ
L1k2VnJ3dzk4dnU1UWcvaXkyMm1KOTErZTkvLzF1NktEODIKN3VDUGZUdFlwRC9yckxPR1N5MGZW
MWhoQmIvWENUTTIyMjIzWGN2eEtLQUlpSUFJaUlBSWlJQUlpSUFJZElyQVNOYVJibHd4bm91Wgow
WGgyT1VlWTZMVGowY1FmMW5wVXhjK01Cb0pLZmlhbEtFeFl2RDcxMUZPM3JCckZuaDFzcU1qc1M1
VWpYUWhUNjZ5elRzTWVIMVZoCnl1NGhLR3k4OGNaZWVLdGJBM0xublhmNmZVOFFzTEs3cVpmRnJl
c2lJQUlpSUFJaUlBSWlJQUlpMEJjSTFFb1ZxQloxaC9CQjVwbkIKaUJFKzhNdWVIakhDQjM1WmdE
M05OTk8wTEh3UUI0NEY1OHhFc0ZZbE9QWUNZUWQ0aENjVzQrK3h4eDUrVDVNNlZiSVF2dXFJU2h2
cgpTY3FFRDh3YnM4QWVkU3BtZXhBTVo1OTk5cW9vZFU4RVJFQUVSRUFFUkVBRVJFQUUraFNCcHN6
dzlxbVVkM05paGd3WjRqY3Y1REhNCnBPQ1lnVUVZWVlhRi9VN0NmaWdublhTU1cyU1JSYnlmZHY1
aFpRdzFyekxIZWhyV2RpQzBvZVoyeUNHSCtNMGZ5L3pydWdpSWdBaUkKZ0FpSWdBaUlnQWowTlFL
MUtsaDlMY0Y5SVQyZmZ2cXAzd3VGZFMxc0xoZzdpOU9KdENQME1BUHpxMS85eWswNTVaU2RpRkp4
aUlBSQppSUFJaUlBSWlJQUlpRUNQRVpBQTBtT285U0FSRUFFUkVBRVJFQUVSRUFFUkVJSGFOU0JD
SkFJaUlBSWlJQUlpSUFJaUlBSWlJQUtkCklpQUJwRk1rRlk4SWlJQUlpSUFJaUlBSWlJQUlpRUF0
QVFrZ3RZamtRUVJFUUFSRVFBUkVRQVJFUUFSRW9GTUVKSUIwaXFUaUVRRVIKRUFFUkVBRVJFQUVS
RUFFUnFDVWdBYVFXa1R5SWdBaUlnQWlJZ0FpSWdBaUlnQWgwaW9BRWtFNlJWRHdpSUFJaUlBSWlJ
QUlpSUFJaQpJQUsxQkNTQTFDS1NCeEVRQVJFUUFSRVFBUkVRQVJFUWdVNFJrQURTS1pLS1J3UkVR
QVJFUUFSRVFBUkVRQVJFb0phQUJKQmFSUElnCkFpSWdBaUlnQWlJZ0FpSWdBaUxRS1FJU1FEcEZV
dkdJZ0FpSWdBaUlnQWlJZ0FpSWdBalVFcEFBVW90SUhrUkFCRVJBQkVSQUJFUkEKQkVSQUJEcEZR
QUpJcDBncUhoRVFBUkVRQVJFUUFSRVFBUkVRZ1ZvQ0VrQnFFY21EQ0lpQUNJaUFDSWlBQ0lpQUNJ
aEFwd2hJQU9rVQpTY1VqQWlJZ0FpSWdBaUlnQWlJZ0FpSlFTMEFDU0MwaWVSQUJFUkFCRVJBQkVS
QUJFUkFCRWVnVUFRa2duU0twZUVSQUJFUkFCRVJBCkJFUkFCRVJBQkdvSmRFd0EyV0dISGR5ZWUr
NVorOEJXUEZ4NjZhVnVoUlZXOEgvRGh3L3ZFc1dMTDc3b0huLzhjZmZOTjk5MHVSY3UKZlBubGwr
NmhoeDV5VHo3NXBQdjY2Ni9ENVI0OVhuLzk5VTA5NysyMzMzYkRoZzF6Z3djUGRnc3R0SkM3Kys2
N284TUhabDk5OVZWMApHSGtVQVJFUUFSRVFBUkVRQVJFUWdlNG0wREVCNU1FSEgzU1BQdnBvdDZU
M2pUZmVjSTg4OG9qYllJTU4zSUlMTHVpZjhmMzMzN3MxCjExelRUVExKSkc2QkJSWnc4ODQ3cjV0
ODhzbmRxYWVlMmlVTjg4MDNuNXRnZ2duY2Nzc3Q1K2FlZTI3djc1UlRUdW5pcis3Q3h4OS8KN0Nh
YmJETC9yTHpmSjU1NHdvMDAwa2hkL2toemNGZGRkWlhiZHR0dHc4L2E0ODQ3Nyt5dXUrNDZkL3p4
eHp2T0o1NTQ0dG93d1FQTQpicm5sRnZmamp6K0dTenFLZ0FpSWdBaUlnQWlJZ0FpSVFLOFRHTlRy
S1loTXdOaGpqKzAyMjJ5ejFQZFBQLzNrQlluNzdydlB6VHp6CnpPNlZWMTV4Tys2NG8yTW1acDU1
NW5FTEw3eHc2cGRPUHdMS1hIUE41ZDU4ODAwM2RPaFEzNkZmZmZYVjNUVFRUSlA2cXp2WmZQUE4K
M1ljZmZ1aW1uSExLVXErSEgzNjRUMWZ3TVAzMDA0ZFRkOGdoaDdoWlpwbkZMYnZzc202OEpiMGtB
QUFnQUVsRVFWVHR0ZGRPcnhlZApJR0FoUU95Ly8vNSs1cWZJajY2SmdBaUlnQWlJZ0FpSWdBaUlR
SDhqMEc4RWtEellzY1lheTUxMjJtbnA1Umxubk5IdHUrKys3c1liCmIzUTMzWFJUZ3dDQzRCRGN0
Tk5PNi83NHh6KzZ1KzY2eTczKyt1dlJBc2laWjU3cHc2eXp6anJ1dGRkZUM5RjFPYTYxMWxwdTFs
bG4KN1hLZEM4elFJRkFnS0NIOGpEcnFxSVgrdUloQWhhcllwSk5PV3VwSE4wUkFCRVJBQkVSQUJF
UkFCRVNndnhHSVVzRjYrdW1uM2E2Nwo3dXJYSWZ6aUY3OXc2NjIzbnJ2enpqc0w4L3I4ODgvN3p2
V0VFMDdvWngxdXUrMjJMdjdPTys4OEg5ZjQ0NC92VlpxeXN4VmRQRGR4CkFYVXMzQmhqakZFWmlu
VVI0NDQ3cms5RHBjZi8zWHo1NVpkOS9sSHZtbTY2NldLQ2xQclpjc3N0M1h2dnZlZG5OOG84WFh2
dHRXN2QKZGRmMXR3ODY2Q0EvbzNQV1dXZWwzbGtMc3NnaWl6ajRjYnovL3Z1OW55SzFzaVJKM0dH
SEhlWm1uMzEyUHdQMHQ3LzlMWTFISnlJZwpBaUlnQWlJZ0FpSWdBaUxRMHdTaUJKQjc3cm5Iajhp
akFrVkgrTG5ubnZPaitQbkVmdnJwcDQ0WkFnU0JQL3poRCs2RkYxNXdLNjIwCmtrTW9DZTdnZ3c5
Mm0yeXlpVitUY2U2NTU3b1RUenpSTGJua2t1RjJXMGM2N3JobGxsbW1NSjcvL3ZlLzdvWWJibkNv
U1IxMzNIRzEKZ2dxUkVHYmpqVGYyUWhYSE9uZjU1WmU3Tys2NHcvMzczLzh1OUlwZ3hoLyt5aHhx
V2doNXVLV1hYdHF2RzBHRkRQZkFBdzk0RlM2RQpqMHN1dWNSdHRkVldib3N0dG5Dc1FVR3d5YnVk
ZHRySlhYVFJSWDc5ekhqamplZUNHbG5lbjM2TGdBaUlnQWlJZ0FpSWdBaUlRSThRCnNCSHlwdDNw
cDUrZVdPSVNVeE5LdzlwQzc4UVdlaWMyR3A5ZXM4Nnk5N2ZOTnR2NGErKysrMjR5K3VpakoxTlBQ
WFZpYXpoU2YzVW4KeHh4elRETFZWRk5WZXJNT2VHSnFXWW5OSEJUNnMzVWJ5Y2dqajV6WVF2SGtz
c3N1Sy9SVGRQSEFBdy8wNmYzODg4Lzk3VDMyMkNPeApOU1pkdkpwUWx2em1ONzlKYkUxSk1zb29v
eVEyVTVTWTJsWVhmMXdnL0tLTExscDRMMXo4MTcvKzVkblpqRVc0NUk4bWtDU2pqVFphCjh1MjMz
NmJYVGZEemZ2ZmFhNi8wR3N3b0k1N3ozWGZmK2V0bUpNQmZLMHRYR2xnbklpQUNJaUFDSWlBQ0lp
QUNJdEJOQktKbVFJSWsKeEd6QU8rKzg0NnhENnk5OTlORkg0WlkvWW1FcXEwNkY5YWt4eHh6VFBm
UE1NLzQrbHF4WVhMM3l5aXM3RXdZYXdyYnpBeFVwMWxRdwpXNEI2VjVGajVvTzFJUWNjY0lCRERX
clRUVGV0dFJERmJNTlJSeDNsNDhTS1ZwV2JiYmJaL0N3RTFxZmVldXN0dDlSU1M3bXR0OTdhClB6
TWZEalV1RThieWwydC8vL3p6ejQ1RjkxZ0NnMnR3ekliZ3NNS1ZkeGRlZUdFNjB6UERERFA0MjU5
ODhrbmVtMzZMZ0FpSWdBaUkKZ0FpSWdBaUlRSThRaUZxRWp1VW5HL2wzN0MweDBVUVRPZGFCNEV3
b3FremtvRUdEdk5Vbm16M3cvdWlZNHpxbGNrVmNkUGpwN0MrMgoyR0x1L1BQUEwxM1lQZWVjYytM
ZG0rTEZiTytxcTY3cTFaeFdXV1VWZjczb0g2WnZ4eGxuSEc4R0YxTzR1R2VmZmRaaGpoY1R3THZ0
CnRwdGJmUEhGdXdTZFlvb3BmRm93Mlh2R0dXZTRGVmRjc2NFUGk4dFpSTitzb3h4KytPRUhiMG80
Tml6V3c0SXJFbERDUFIxRlFBUkUKUUFSRVFBUkVRQVJFb0NjSVJFMURNR09CU2Rpbm5ucktqOXdm
ZXVpaFBtMHhIVnJXUXBqNmxQY2Z6TmV5YVdBbkhETXc3TzB4eHh4egpWQW9mK1djUmhobVlLNis4
TW4rcjRUZm1jdGRZWXcwdmRDRjQ4Y2NzQklJVjU2WUsxZUEvKzRPRjhLWnE1dGdrTWUrd29oV1k1
TzlWCi9XWWZFTktkWFZPRC96cEJzQ3BPM1JNQkVSQUJFUkFCRVJBQkVSQ0JuaVJRT3dQQ2J0d0lE
RWNjY1lUZmJ5T2JPRHJqV1pmdkNIL3cKd1FkK2hpSnN4amYvL1BQN0dZcHJycm5HMlJxRmJOQ1d6
akduKy83Nzc3dUhIMzY0ZE9haktPSjc3NzNYQ3hJc3lxNXlMRmJQT3hhaQpJd0NjZmZiWitWc052
MWtRem16Sjhzc3YzM0FkWnV4RkVwZzAzS3o1Z2RsZTlqaGhSM2RtUXpEUnkzNG8yMisvZlUxSTNS
WUJFUkFCCkVSQUJFUkFCRVJDQnZrR2dkZ2FFdlN2NFk3Ymd5U2VmOVB0c0RCczJ6S2VlR1pHc1ky
OE5WTFhvZkRNN2dZQmdpODc5NW9ENCs5V3YKZnVVN3k4d0tjQThyV1FnUHJMUDQ4c3N2czFIVm5y
TStBMHRTZ3djUGR1d3dmczQ1NTZSL3JEVUpqcDNBTVovTHMzQ1lyR1VkQ0RNSgp3ZFJ0OE52T0Vh
RUN3UVFoalB6dHZ2dnVYc2pKYnA1SS9LUUROYXFOTnRxb3BjZXhtZUUzMzN6anpRR1QvcGxtbWls
ZDQxRTFJOVBTCnd4UklCRVJBQkVSQUJFUkFCRVJBQkRwTW9IWUdCSFdqSTQ4ODB1Mnp6ejUrN1FH
YjdMR1hCQjFzUnQ0eEtidmhoaHY2WksyMjJtcnUKaXkrKzhLcEhqTXlqWm9UcVZuWXpQV1krNkNp
ZmROSkpmaU5Cc3hqbDJFUVFjN0xOT0dabWNBZ3cvR1VkYVdPMkJjZkMrVjEyMmNVdgpPR2M5Qitz
dk1CUE1ERVoyd1h3MmZDdm43SGVDT1Z6MkYwSHREQlV0VEF3SGM3b2hUck5VNVJmaGwyMVdHUHlW
SFRGcmZQUE5OenMyClJpUXZtTmxsTmdXZTVFOU9CRVJBQkVSQUJFUkFCRVJBQlBveWdaRnN4TDU2
SmZuL1VvOUF3Y3dHc3hnNFZJbFlWRzVtWjczMXBjOCsKKzh5clFkRUJwMk9NcFNWMkhTOXpDQWJz
UkU1OGRSc0hIbnZzc2U3a2swOTJRZWdvaTdQc09ta25MQXZXV1VmQnJBRXpNNTEwekdxUQpIeGdo
Y0UwLy9mUmQ4c1UrSmFod29aclZ5aHFRc3ZTeW44clFvVVBkRlZkYzRZWU1HVkxtVGRkRlFBUkVR
QVJFUUFSRVFBUkVvTmNKClJBc2d2WmxTQkpCOTk5M1hZVWFXRGpZek12M1JyYi8rK2c3TFd1M012
THo2NnF0K1RRN1d0NWpKWWVabDc3MzM5ak5QTDczMFVsTnIKWWZvalE2VlpCRVJBQkVSQUJFUkFC
RVNnZnhPb1ZjSHFDOWxENkpoNTVwbDlVckFzMVYvZFgvN3lGNitpMVU3NldYZkRIaWJzeFlLSgpY
ZGFEekQ3NzdPN2lpeStXOE5FT1dJVVZBUkVRQVJFUUFSRVFBUkhvRVFMOVlnYWtSMGowbzRlZ05j
ZWlkemFGUkFVT2RhNFlrOGo5CktJdEtxZ2lJZ0FpSWdBaUlnQWlJd0FoS1FBTElDRnF3eXBZSWlJ
QUlpSUFJaUlBSWlJQUk5RVVDdFdaNCsyS2lsU1lSRUFFUkVBRVIKRUFFUkVBRVJFSUgrU1VBQ1NQ
OHNONlZhQkVSQUJFUkFCRVJBQkVSQUJQb2xBUWtnL2JMWWxHZ1JFQUVSRUFFUkVBRVJFQUVSNko4
RQpKSUQwejNKVHFrVkFCRVJBQkVSQUJFUkFCRVNnWHhLUUFOSXZpMDJKRmdFUkVBRVJFQUVSRUFF
UkVJSCtTVUFDU1A4c042VmFCRVJBCkJFUkFCRVJBQkVSQUJQb2xBUWtnL2JMWWxHZ1JFQUVSRUFF
UkVBRVJFQUVSNko4RUpJRDB6M0pUcWtWQUJFUkFCRVJBQkVSQUJFU2cKWHhLUUFOSXZpMDJKRmdF
UkVBRVJFQUVSRUFFUkVJSCtTVUFDU1A4c042VmFCRVJBQkVSQUJFUkFCRVJBQlBvbEFRa2cvYkxZ
bEdnUgpFQUVSRUFFUkVBRVJFQUVSNko4RUpJRDB6M0pUcWtWQUJFUkFCRVJBQkVSQUJFU2dYeEtR
QU5JdmkwMkpGZ0VSRUFFUkVBRVJFQUVSCkVJSCtTVUFDU1A4c042VmFCRVJBQkVSQUJFUkFCRVJB
QlBvbEFRa2cvYkxZbEdnUkVBRVJFQUVSRUFFUkVBRVI2SjhFSklEMHozSlQKcWtWQUJFUkFCRVJB
QkVSQUJFU2dYeExvbUFDeXd3NDd1RDMzM0xOYklGeDY2YVZ1aFJWVzhIL0Rody92OG93WFgzelJQ
Zjc0NCs2YgpiNzdwY2k5YytQTExMOTFERHoza25uenlTZmYxMTErSHl6MTZ2UDc2NjV0NjN0dHZ2
KzJHRFJ2bUJnOGU3QlphYUNGMzk5MTNSNGNQCnpMNzY2cXZvTVBJb0FpSWdBaUlnQWlJZ0FpSWdB
dDFOb0dNQ3lJTVBQdWdlZmZUUmJrbnZHMis4NFI1NTVCRzN3UVlidUFVWFhOQS8KNC92dnYzZHJy
cm1tbTJTU1Nkd0NDeXpnNXAxM1hqZjU1Sk83VTA4OXRVc2E1cHR2UGpmQkJCTzQ1WlpienMwOTk5
emUzeW1ubk5MRgpYOTJGanovKzJFMDIyV1QrV1htL1R6enhoQnRwcEpHNi9KSG00SzY2NmlxMzdi
YmJocCsxeDUxMzN0bGRkOTExN3ZqamozZWNUenp4CnhMVmhnZ2VZM1hMTExlN0hIMzhNbDNRVUFS
RVFBUkVRQVJFUUFSRVFnVjRuTUtqWFV4Q1pnTEhISHR0dHR0bG1xZStmZnZySkN4TDMKM1hlZm0z
bm1tZDBycjd6aWR0eHhSOGRNekR6enpPTVdYbmpoMUMrZGZnU1V1ZWFheTczNTVwdHU2TkNodmtP
Lyt1cXJ1Mm1tbVNiMQpWM2V5K2VhYnV3OC8vTkJOT2VXVXBWNFBQL3h3bjY3Z1lmcnBwdytuN3BC
RERuR3p6REtMVzNiWlpkM2FhNitkWGk4NlFjQkNnTmgvCi8vMzl6RStSSDEwVEFSRVFBUkVRQVJF
UUFSRVFnZjVHb044SUlIbXdZNDAxbGp2dHROUFN5elBPT0tQYmQ5OTkzWTAzM3VodXV1bW0KQmdF
RXdTRzRhYWVkMXYzeGozOTBkOTExbDN2OTlkZWpCWkF6enp6VGgxbG5uWFhjYTYrOUZxTHJjbHhy
cmJYY3JMUE8ydVU2RjVpaApRYUJBVUVMNEdYWFVVUXY5Y1JHQkNsV3hTU2VkdE5TUGJvaUFDSWlB
Q0lpQUNJaUFDSWhBZnlNUXBZTDE5Tk5QdTExMzNkV3ZRL2pGCkwzN2gxbHR2UFhmbm5YY1c1dlg1
NTUvM25lc0pKNXpRenpyY2R0dHRYZnlkZDk1NVBxN3h4eC9mcXpSbFp5dTZlRzdpQXVwWXVESEcK
R0tNeUZPc2l4aDEzWEorR1NvLy91L255eXkvNy9LUGVOZDEwMDhVRUtmV3o1WlpidXZmZWU4L1Bi
cFI1dXZiYWE5MjY2NjdyYng5MAowRUYrUnVlc3M4NUt2Yk1XWkpGRkZuSHc0M2ovL2ZkN1AwVnFa
VW1TdU1NT084ek5QdnZzZmdib2IzLzdXeHFQVGtSQUJFUkFCRVJBCkJFUkFCRVNncHdsRUNTRDMz
SE9QSDVGSEJZcU84SFBQUGVkSDhmT0ovZlRUVHgwekJBZ0NmL2pESDl3TEw3emdWbHBwSllkUUV0
ekIKQngvc050bGtFNzhtNDl4enozVW5ubmlpVzNMSkpjUHR0bzUwM0hITExMTk1ZVHovL2U5LzNR
MDMzT0JRa3pydXVPTnFCUlVpSWN6RwpHMi9zaFNxT2RlN3l5eTkzZDl4eGgvdjN2LzlkNkJYQmpE
LzhsVG5VdEJEeWNFc3Z2YlJmTjRJS0dlNkJCeDd3S2x3SUg1ZGNjb25iCmFxdXQzQlpiYk9GWWc0
SmdrM2M3N2JTVHUraWlpL3o2bWZIR0c4OEZOYks4UC8wV0FSRVFBUkVRQVJFUUFSRVFnUjRoWUNQ
a1RidlQKVHo4OXNjUWxwaWFVaHJXRjNva3Q5RTVzTkQ2OVpwMWw3MitiYmJieDE5NTk5OTFrOU5G
SFQ2YWVldXJFMW5Day91cE9qam5tbUdTcQpxYWFxOUdZZDhNVFVzaEtiT1NqMForczJrcEZISGpt
eGhlTEpaWmRkVnVpbjZPS0JCeDdvMC92NTU1LzcyM3Zzc1VkaWEweTZlRFdoCkxQbk5iMzZUMkpx
U1pKUlJSa2xzcGlneHRhMHUvcmhBK0VVWFhiVHdYcmo0cjMvOXk3T3pHWXR3eVI5TklFbEdHMjIw
NU50dnYwMnYKbStEbi9lNjExMTdwTlpoUlJqem51KysrODlmTlNJQy9WcGF1TkxCT1JFQUVSRUFF
UkVBRVJFQUVSS0NiQ0VUTmdBUkppTm1BZDk1NQp4MW1IMWwvNjZLT1B3aTEveE1KVVZwMEs2MU5q
amptbWUrYVpaL3g5TEZteHVIcmxsVmQySmd3MGhHM25CeXBTcktsZ3RnRDFyaUxICnpBZHJRdzQ0
NEFDSEd0U21tMjVhYXlHSzJZYWpqanJLeDRrVnJTbzMyMnl6K1ZrSXJFKzk5ZFpiYnFtbGxuSmJi
NzIxZjJZK0hHcGMKSm96bEw5Zisvdm5ubngyTDdyRUVCdGZnbUEzQllZVXI3eTY4OE1KMHBtZUdH
V2J3dHovNTVKTzhOLzBXQVJFUUFSRVFBUkVRQVJFUQpnUjRoRUxVSUhjdFBOdkx2MkZ0aW9va21j
cXdEd1psUVZKbklRWU1HZWF0UE5udmcvZEV4eDNWSzVZcTQ2UERUMlY5c3NjWGMrZWVmClg3cXdl
ODQ1NThTN044V0wyZDVWVjEzVnF6bXRzc29xL25yUlAwemZqalBPT040TUxxWndjYzgrKzZ6REhD
OG1nSGZiYlRlMytPS0wKZHdrNnhSUlQrTFJnc3ZlTU04NXdLNjY0WW9NZkZwZXppTDVaUnpuODhN
TVAzcFJ3YkZpc2h3VlhKS0NFZXpxS2dBaUlnQWlJZ0FpSQpnQWlJUUU4UWlKcUdZTVlDazdCUFBm
V1VIN2svOU5CRGZkcGlPclNzaFREMUtlOC9tSzlsMDhCT09HWmcyTnRqampubXFCUSs4czhpCkRE
TXdWMTU1WmY1V3cyL001YTZ4eGhwZTZFTHc0bzlaQ0FRcnprMFZxc0YvOWdjTDRVM1Z6TEZKWXQ1
aFJTc3d5ZCtyK3MwK0lLUTcKdTZZRy8zV0NZRldjdWljQ0lpQUNJaUFDSWlBQ0lpQUNQVW1nZGdh
RTNiZ1JHSTQ0NGdpLzMwWTJjWFRHc3k3ZkVmN2dndy84REVYWQpqRy8rK2VmM014VFhYSE9Oc3pV
SzJhQXRuV05POS8zMzMzY1BQL3h3NmN4SFVjVDMzbnV2RnlSWWxGM2xXS3llZHl4RVJ3QTQrK3l6
Cjg3Y2Fmck1nbk5tUzVaZGZ2dUU2ek5pTEpEQnB1Rm56QTdPOTdISENqdTdNaG1DaWwvMVF0dDkr
KzVxUXVpMENJaUFDSWlBQ0lpQUMKSWlBQ2ZZTkE3UXdJZTFmd3gyekJrMDgrNmZmWkdEWnNtRTg5
TXlKWng5NGFxR3JSK1daMkFnSEJGcDM3elFIeDk2dGYvY3AzbHBrVgo0QjVXc2hBZVdHZng1WmRm
WnFPcVBXZDlCcGFrQmc4ZTdOaGgvSnh6emtuL1dHc1NIRHVCWXo2WForRXdXY3M2RUdZU2dxbmI0
TGVkCkkwSUZnZ2xDR1BuYmZmZmR2WkNUM1R5UitFa0hhbFFiYmJSUlM0OWpNOE52dnZuR213TW0v
VFBOTkZPNnhxTnFScWFsaHltUUNJaUEKQ0lpQUNJaUFDSWlBQ0hTWVFPME1DT3BHUng1NXBOdG5u
MzM4MmdNMjJXTXZDVHJZakx4alVuYkREVGYweVZwdHRkWGNGMTk4NFZXUApHSmxIelFqVnJleG1l
c3g4MEZFKzZhU1QvRWFDWmpIS3NZa2c1bVNiY2N6TTRCQmcrTXM2MHNac0M0NkY4N3Zzc290ZmNN
NTZEdFpmCllDYVlHWXpzZ3ZscytGYk8yZThFYzdqc0w0TGFHU3BhbUJnTzVuUkRuR2FweWkvQ0w5
dXNNUGdyTzJMVytPYWJiM1pzakVoZU1MUEwKYkFvOHlaK2NDSWlBQ0lpQUNJaUFDSWlBQ1BSbEFp
UFppSDMxU3ZML3BSNkJncGtOWmpGd3FCS3hxTnpNem5yclM1OTk5cGxYZzZJRApUc2NZUzB2c09s
N21FQXpZaVp6NDZqWU9QUGJZWTkzSko1L3NndEJSRm1mWmRkSk9XQmFzczQ2Q1dRTm1aanJwbU5V
Z1B6QkM0SnArCit1bTc1SXQ5U2xEaFFqV3JsVFVnWmVsbFA1V2hRNGU2SzY2NHdnMFpNcVRNbTY2
TGdBaUlnQWlJZ0FpSWdBaUlRSzhUaUJaQWVqT2wKQ0NENzdydXZ3NHdzSFd4bVpQcWpXMy85OVIy
V3RkcVplWG4xMVZmOW1oeXNiekdUdzh6TDNudnY3V2VlWG5ycHBhYld3dnkvOXU0OApTcXJxVHVE
NHI5bERDNkpzc2plTGdBU1lRY2FBQWdFaFJ3NG9qcGdKQnlJZ3lJNElDZW9vaHJBemdEUmlNQXFD
UVFURElwa1FjQVJFCmlleG9XR1JmUmpiWlpKTzlBZGxxM3UrZWVUVlYzVlhkcjZxN3NPK2I3ejJu
NktyNzduMTE3K2YrVXovdThtdzBwTTBJSUlBQUFnZ2cKZ0FBQ2RndGt1UVFyTjNSUGc0N3ExYXVi
cHVqSlVyYW05OTU3enl6UnlrNzdkZCtOUHNORW44V2lSK3pxZnBCYXRXckp2SG56Q0Q2eQpBMHRk
QkJCQUFBRUVFRUFBZ1RzaVlNVU15QjJSc09oTGROV2NibnJYaDBMcUVqaGR6dVhsU0dTTHVraFRF
VUFBQVFRUVFBQUJCSHdxClFBRGkwNEdsV3dnZ2dBQUNDQ0NBQUFJSTVFYUJMSS9oelkyTnBrMElJ
SUFBQWdnZ2dBQUNDQ0JncHdBQmlKM2pScXNSUUFBQkJCQkEKQUFFRUVMQlNnQURFeW1HajBRZ2dn
QUFDQ0NDQUFBSUkyQ2xBQUdMbnVORnFCQkJBQUFFRUVFQUFBUVNzRkNBQXNYTFlhRFFDQ0NDQQpB
QUlJSUlBQUFuWUtFSURZT1c2MEdnRUVFRUFBQVFRUVFBQUJLd1VJUUt3Y05ocU5BQUlJSUlBQUFn
Z2dnSUNkQWdRZ2RvNGJyVVlBCkFRUVFRQUFCQkJCQXdFb0JBaEFyaDQxR0k0QUFBZ2dnZ0FBQ0ND
Qmdwd0FCaUozalJxc1JRQUFCQkJCQUFBRUVFTEJTZ0FERXltR2oKMFFnZ2dBQUNDQ0NBQUFJSTJD
bEFBR0xudU5GcUJCQkFBQUVFRUVBQUFRU3NGQ0FBc1hMWWFEUUNDQ0NBQUFJSUlJQUFBbllLRUlE
WQpPVzYwR2dFRUVFQUFBUVFRUUFBQkt3VUlRS3djTmhxTkFBSUlJSUFBQWdnZ2dJQ2RBZ1FnZG80
YnJVWUFBUVFRUUFBQkJCQkF3RXFCCkhBdEFYbmpoQmZuM2YvLzNoQ0RNbno5ZldyWnNhVjZwcWFt
WmZzZUlFU09rUzVjdW1aYnhldkdISDM2UTZkT25TN05temFSMjdkb3kKY3VSSVQxWFhyVnNuNTg2
ZDgxVDI1TW1UcGwvLzlWLy81YWs4aFJCQUFBRUVFRUFBQVFRUXNGa2d4d0tRTDcvOFVqWnUzSmdR
aTBPSApEc21HRFJ1a2ZmdjIwcUJCZzB5L1k4dVdMYko2OWVwTXkzaTl1R0RCQXVuVHA0ODg5OXh6
TW1IQ0JQbm5mLzVuVDFVdlg3NHNqUm8xCmtsT25UbVZaL3VyVnE3SnMyVEk1Y3VSSXBtWFZJQ2tw
U1NaUG5od3M5OVZYWDVtOC8velAvd3ptOFFZQkJCQkFBQUVFRUVBQWdkd3MKa0M4M055NjBiY25K
eWRLMWE5ZlFySVMvLy9qamo2Vk9uVHJTdVhQbm1MN3JzY2NlazVTVUZPbmZ2Ny9NblRzM3ByclJD
aGNwVWtUNgo5dTFyWm1MY01xVkxselo1VmFwVWNiUDRpd0FDQ0NDQUFBSUlJSUJBcmhhd0pnRDVN
UlIxTmtVRGlYalN4SWtUVGZDeVlzVUtzNFFyCm5udUUxaWxldkxpOC9mYmJvVm1tYmVuendncndB
UUVFRUVBQUFRUVFRQUNCWENiZ2FRbld0bTNiWk9EQWdkS3dZVVBSSDhMdDJyVVQKL1dFZEtlM2V2
VnVlZlBKSnVlZWVlNlIrL2ZyeStlZWZaeWcyYTlZc2M2Kzc3NzViN3J2dlBubjQ0WWN6bFBHU2Nm
YnNXYk1zcTJUSgprbEtqUmczUkgvMkJRQ0JEVmQyUDhjd3p6MGlwVXFXa1lzV0tNbVRJRUxsOSsz
YUdjbTdHdFd2WDVNRUhINVFEQnc3SW1qVnJ6SHZ0CnM1dFdyVm9sanp6eWlHajc5YS91K2REeWI3
MzFsbHZFdEtkcDA2WXlZOGFNWUY1V2J6Nzc3RE5wM3J5NWxDMWIxdXludVhEaFFyREsKOGVQSHpY
Zjg1UzkvQ2VadDM3N2Q1QzFmdmp5WXh4c0VFRUFBQVFRUVFBQUJCSEt6Z0tjQVJQZFU3TnUzenl5
Qm1qWnRtdXphdGNzcwpMMHJmc2UrLy8xNys3ZC8rVFRRZzBIMFRlL2Jza1ZhdFdva0dKVzRhUG55
NFdkSlVyRmd4K2VDREQrVE5OOThVL2FFZWE3cDE2NWFwCnAvc2dkRi9FdUhIalpPblNwYko0OGVL
d1c5MjhlVk9hTkdraU8zYnNNTi8xN0xQUGltNWsxMkFsV3NxWEw1L1orNkZ0MUlCRjk0RzQKQWNq
NjlldmxGNy80aFFrK1B2cm9JK25aczZkMDc5NWR2djc2YTlFZ0lUVHAwaWpkUjVKWnNPT1cxeUJD
bDNvOThNQUQ4dlRUVDh2NAo4ZU5sOXV6WjdtVzVmdjI2K1k3VHAwOEg4NjVjdVdMeXpwOC9IOHpq
RFFJSUlJQUFBZ2dnZ0FBQ3VWckFtVEdJT1UyWk1rV25HUUpPClVCS3MreS8vOGk4QjV3ZDd3SmtO
Q09ZNVA5Wk51ZDY5ZTV1OFk4ZU9CUW9XTEJod2Z0UUhuQUFpV0M2ck42Ky8vbnFnZlBueVljVSsK
L1BCRGMyOW5OaUtZNy96UUR6ejY2S01CNTRkL01HL3ExS21tbkJPb0JQT2NHWnFBczdRcStEbmFH
eWNZQ0xSdTNUcnNzdDYvUUlFQwpBZWZIZnpEZkNiek1kN3p5eWl2QlBIMHpac3dZays4RUptSDVv
UjhPSGp4b3loUXRXalRnQkRIQlM1VXJWdzQ0Z1U3d3MxdnVuWGZlCkNlWTVHLzlOWFdkV0pKakhH
d1FRUUFBQkJCQkFBQUVFY3JOQVRIdEFkRGJoeElrVG9pYzNhZEpUbnFwV3JXcmU2ei8xNnRVTFcw
N2wKQkNYeWs1LzhSSFNwa0NZOXlVcVB0blYrMUV1ZVBKNG1YMHk5U1Avb2NxVzc3cnJMekc2NDEv
V1VLSjIxK1BiYmI5MHNzMVNzY09IQwpaam1WOHlQZTVEdEJrT2lwVXJyVXFsQ2hRc0d5V2IzUm1Z
eTFhOWVhazdpMFgyN1NwVmlhOVB0RGt4TkVtSTlPNENWbHlwUUp2WlRoCi9lOS8vL3V3VTdiVTlj
eVpNeG5La1lFQUFnZ2dnQUFDQ0NDQWdNMENuZ0lRZlZiRnl5Ky9MUG84am52dnZkZnNBOUZPTzVG
VnBuM1gKcFV5Nk44TjlKc2JodzRkTitYaVdYS1gvSWcweVNwUW9rVDQ3dzJmOVRsMnVOWGp3NExC
citnTmY5NURvZmd1dlNSMTBLWlFHV2w2UwpIc2VyU1FPZ3JKS2U4aFdhMGdjem9kZDRqd0FDQ0ND
QUFBSUlJSUNBclFLZUFoQ2RzZEQveGQrNmRhdFVyMTVkRmk1Y0tFODk5VlNHCi8vR1BoSERwMHFY
Z0xFbTVjdVZNa2MyYk41dk40NUhLZTgxemxrR1pQUmM2bzZJekd0R1NzM1JMOVB2MDVTeHppbGJN
VTc0R1BEcHoKRTdxblJTdEdDOFRjR1JkdEF3a0JCQkJBQUFFRUVFQUFBUVJFc2x3SHBRL0kweC92
QXdZTU1NRkhLRnI2emRYcGY0anJjaTFkNnZUUQpRdytaYXZvM2YvNzhzbWpSb3REYnhQVytXclZx
WmpaQ2o4cDFrODVvNk1iMzBLU25WT2xtN1p4NEhvZTJYVSs3MG8zdk9odWlTV2RYCit2WHJGL3FW
d2ZkNmlsYk5tald6SGZnRWI4Z2JCQkJBQUFFRUVFQUFBUVFzRjhneUFORzlDL3JTMDV6MHgvNlNK
VXRrNk5DaHB0czYKSXhLYVZxNWNhWlpxNldsUXVqOUVINXluc3hNdnZQQ0NLVmFoUWdYelkzM3Yz
cjNtbWdZTC8vakhQMlRzMkxFU2V1UnM2RDJqdmRlVApwelIxNnRSSi92em5QOHNNNTdoYlBjTDJ4
bzBiWVZWNjllcGxsb0VOR3paTW5NM3NadFpFVC9GNjc3MzNKQzB0TGF5c2x3OGpSb3d3CjlYUi94
NjkrOVN1NS8vNzdnL3RJZEZiR1RScU02ZkhGSFRwMGNMUDRpd0FDQ0NDQUFBSUlJSURBLzN1QkxB
TVEzY2Zobk9Za1I0OGUKTlhzZjlIa2c3Nzc3cmpSdTNOZ0VFM1BtekFraXRtblRSdlJJV0QyNlZw
L1NyWnZPbHkxYlp0NjdoVFFJY0U2TGt2ZmZmOThjT2FzegpGQm84NkV4Q0xFbjNZVGluY1luTzBI
VHMyTkhjYzlDZ1FlYmhmNkgzMGFCQUF5T2RmWG50dGRkRWw0SDkwei85a3ptU1YvZHp4SnIwCldP
RlBQLzFVdEs4NnM2SXpRL3E5bW5SVHZKdjBXU2RxMXFOSER6ZUx2d2dnZ0FBQ0NDQ0FBQUlJL0w4
WFNITCtwejd6bmVUL1M2UUIKZ3M1czZDeUdKbDErcFJ1OEsxV3FaUGFDNlBJblhhSlVwRWdSMGMz
WGVvS1RjOVN0S1J2cEh6MVJTL2RJNlAyeU9vbEtuNGt4YWRJawpFMnlrdjVmT2VHZ1Fvak1TV1cz
YzFsT3Z0TTNhcnREWml2VDNqUFd6UHMra1M1Y3U4dGUvL2xYYXRtMXJabk4wOC8zbzBhT2xXN2R1
CnNkN09jL2tWenNNZ25XT0JSVThFMDJlVGtCQkFBQUVFRUVBQUFRUVF5TzBDV2M2QXVCM0ltemR2
TVBqUVBOMk1yVC9rM1IvOWVqcVcKQmgrYWRDWkFyMldXZEdZbGRQbFNabVgxbXU0bjBmMFU3bXlE
VzE2REhuM2duOXNPTnovU1h3MTBkQk45ZG9LUC9mdjNtOVBBdEQwYQpsT2xzaUQ1TVVmdjd4Qk5Q
bUsrZE4yK2VtUjFLUlBDaFM5WDBvWkQ2M2Zyd1FuV3NWYXRXcE82U2h3QUNDQ0NBQUFJSUlJQkFy
aFB3CmRBcldqOTFxblZYUXdFR1RMdS82TVpQdWU5R25xZXV6VVBUb1hOMUhvZ0dBQmgwYURHbHEz
NzU5d2phZTYvSER1aEZlOTlab0czUlAKU2l4SENmK1lkbnczQWdnZ2dBQUNDQ0NBQUFLZWwyQkI5
WDhDdW1wTkF3SGQ0NkZMMFBTWVhTOHpNUDkzaCt5OTB5VnVPM2JzTUROUwo3dEhHMmJzanRSRkFB
QUVFRUVBQUFRUVF1RE1DQkNCM3hwbHZRUUFCQkJCQUFBRUVFRUFBQVVmQTh4NFF0QkJBQUFFRUVF
QUFBUVFRClFBQ0I3QW9RZ0dSWGtQb0lJSUFBQWdnZ2dBQUNDQ0RnV1lBQXhETVZCUkZBQUFFRUVF
QUFBUVFRUUNDN0FnUWcyUldrUGdJSUlJQUEKQWdnZ2dBQUNDSGdXSUFEeFRFVkJCQkJBQUFFRUVF
QUFBUVFReUs0QUFVaDJCYW1QQUFJSUlJQUFBZ2dnZ0FBQ25nVUlRRHhUVVJBQgpCQkJBQUFFRUVF
QUFBUVN5SzBBQWtsMUI2aU9BQUFJSUlJQUFBZ2dnZ0lCbkFRSVF6MVFVUkFBQkJCQkFBQUVFRUVB
QWdld0tFSUJrClY1RDZDQ0NBQUFJSUlJQUFBZ2dnNEZtQUFNUXpGUVVSUUFBQkJCQkFBQUVFRUVB
Z3V3SUVJTmtWcEQ0Q0NDQ0FBQUlJSUlBQUFnaDQKRmlBQThVeEZRUVFRUUFBQkJCQkFBQUVFRU1p
dUFBRklkZ1dwandBQ0NDQ0FBSERqUUp3QUFDQUFTVVJCVkFJSUlJQUFBcDRGQ0VBOApVMUVRQVFR
UVFBQUJCQkJBQUFFRXNpdEFBSkpkUWVvamdBQUNDQ0NBQUFJSUlJQ0FaNEc0QXBCVHAwN0orZlBu
TTN6Si9QbnpwV1hMCmx1YVZtcHFhNFhxMERMZmV4WXNYb3hYSjhmd1JJMFpJbHk1ZHpIMHZYTGdn
YTlhc3lmSHY0SVlJSUlBQUFnZ2dnQUFDQ0NBUUx1QTUKQU5FZjZIMzY5SkZhdFdwSjZkS2xaZVBH
amVGM2NqNGRPblJJTm16WUlPM2J0NWNHRFJwa3VCNHRRK3N0VzdaTWJ0eTRFYTFJanVkdgoyYkpG
VnE5ZWJlNWJzR0JCNmRpeG95eGV2RGpIdjRjYklvQUFBZ2dnZ0FBQ0NDQ0F3UDhKZUE1QWxpOWZM
bWxwYWRLaVJRdFRPeWtwCjZmL3VFdkl1T1RsWnVuYnRLazJhTkFuSnpkMXZDeFVxSkVPSERqVXpJ
dDkvLzMzdWJpeXRRd0FCQkJCQUFBRUVFRURBWWdIUEFZaisKUUo4NWM2WTg4Y1FURm5jM2V0TjFP
VlpLU29vTUdUSWtlaUd1SUlBQUFnZ2dnQUFDQ0NDQVFMWUVQQWNnOFg3THRtM2JaT0RBZ2RLdwpZ
VU1wWHJ5NHRHdlhUbGFzV0JIeGR0ZXZYNWYrL2Z0THBVcVZUREF3Yk5nd0NRUUNFY3VHWnU3Y3VW
UGF0R2tqNWNxVms2SkZpMHJkCnVuVmw1Y3FWd1NKbno1NDF5OEpLbGl3cE5XclVrSWtUSjJhNHI4
N29kTy9lWFdiUG5pM2FEaElDQ0NDQUFBSUlJSUFBQWdqa3ZFQysKbkw5bCtCMTFuOFcrZmZ2TXNp
d05BSFNHUVlNTURVelNKOTFqY3VuU0plbldyWnZNbWpWTGhnOGZMcm8vWTlDZ1FlbUxCajkvL2ZY
WAo4dkRERDV2Z1JqZVdseWxUeHR6N3JydnVNbVZ1M2JvbFRaczJsY3VYTDh2a3laTWxYNzU4NXE4
R1FlWExsdy9lUjk5VXFWTEZiSzdYCjVXYXRXclVLdThZSEJCQkFBQUVFRUVBQUFRUVF5TDVBd2dP
UTU1OS9YdlRscHRPblQwdnYzcjFsLy83OVVyVnFWVGZiL0sxZnY3NzgKL3ZlL04rOWZlKzAxcVY2
OXVyenh4aHZ5NnF1dlNyUTlKeSs5OUpMODhNTVA4cGUvL01VRUlscTVkZXZXNWg3Nno5eTVjMlhI
amgyeQphdFdxNEw2VWYvM1hmelY3V2I3OTl0dGdPWDJqQVlpbWI3NzVoZ0RFU1BBUEFnZ2dnQUFD
Q0NDQUFBSTVLNUR3SlZodWMyL2V2Q2xICmp4NlZxMWV2bWl3OXlqZDk2dHUzYnpCTFp5cDAyZGFa
TTJma3hJa1R3ZnpRTjdkdjM1YTFhOWVLenF4RU8zWHJzODgrRTUwTkNkMFUKcjhGTXNXTEZRbTls
M2xlc1dGSHk1TWtqeDQ0ZHkzQ05EQVFRUUFBQkJCQkFBQUVFRU1pK1FNSURrSk1uVDBybnpwMmxT
SkVpSmtpWQpQbjI2YWJXWHZSMTE2dFF4WlhVUFI2U2tRWXpPZm1od29ZRkRwS1N6SENWS2xJaDBL
VVBlbFN0WFJJT2F3b1VMWjdoR0JnSUlJSUFBCkFnZ2dnQUFDQ0dSZklQS3Y5dXpmTjNnSFhRNmx6
L2pZdW5Xcm1Wa1lPWEtrdVJadFNWV3dvdk5HOTROb3FsQ2hndm1iL2grZCtTaFEKb0lCczNydzUv
YVhnWjcxKy9QaHhFNmdFTTZPOE9YandvTG1TZm05SWxPSmtJNEFBQWdnZ2dBQUNDQ0NBUUl3Q0NR
MUFqaHc1WW9LRApBUU1HbVAwY29XM1RtWWIwS1gzZSt2WHJUVDA5MlNwU3lwczNyNWxWMFFjWmJ0
KytQVklScVZhdG1qblZTaDg4NkNhZFVkbXpaNC83Ck1majN3SUVENW4yMDVWekJncnhCQUFFRUVF
QUFBUVFRUUFDQnVBUThCeUM2TDBKLzVMdXpCUHBqWFQvcjdFSzBwQ2RTNld2QmdnV2kKQWNDU0pV
dk1BLyswdk02SXBFOXQyN2FWVFpzMmlTNkZtakpsaWpsSzk1VlhYa2xmTE96em1ERmp6QVoxWGVh
bFQydlhFN2QwbVpkdQpPdGVrUit0cTZ0U3BrL3o1ejMrV0dUTm1TUFBtelNNK2RWM2JWTHQyYmZN
eWxmZ0hBUVFRUUFBQkJCQkFBQUVFY2xiQTJZdmhLVGtuClYra0RPVEs4K3ZYckY2ei8rdXV2QjV6
bFM4SFArc2I1d1I5d2doQlRyMmJObW9FdnYvd3kwTGh4NDRDekJDdmdQSFBEbE5WNnpsSXAKVS9i
dXUrODJaWjJua3dlYzVWcGg5NHIyWWZIaXhZR3laY3NHMjNiZmZmY0ZQdnJvbzJCeEo1Z0o2UDIw
L2FWS2xRbzRKMk1GbkdBbgo0Sng2RlN6ejNYZmZCWnlaRnRPR1lDWnZFRUFBQVFRUVFBQUJCQkJB
SUVjRmt2UnVPUlhTakI4L1hpWk5taVM2OUNvMDZiTTRkS2JFCjNjdWhTNjBPSHo1c0hqaW9lMEhT
MHRMTXJJZnU2ZEJyT3N1aVpYWC9SaXhKNzZrYnlDTnRPcjl4NDRacFYrWEtsU01lNmFzekpIcEUK
OE5LbFMyUDVTc29pZ0FBQ0NDQ0FBQUlJSUlCQURBS2VsMkI1dmFjZW1ldk1kSVE5UEZEM2FyakJo
OTVIVDZ4S1NVa0pCZ0xKeWNubQpLRjMzbWo0ZkpOYmdRK3ZxTWJxUmdnKzlsajkvZnZPY2owaWIz
M1ZQaUFaTitzd1FFZ0lJSUlBQUFnZ2dnQUFDQ0NST0lFZG5RSFQvCnhjNmRPMDFyTlJpb1Y2OWU0
bHFlZzNlK2Z2MjY2RVNRUG5XZGhBQUNDQ0NBQUFJSUlJQUFBb2tUeU5FQUpISE41TTRJSUlBQUFn
Z2cKZ0FBQ0NDRGdCNEVjWDRMbEJ4VDZnQUFDQ0NDQUFBSUlJSUFBQW9rUklBQkpqQ3QzUlFBQkJC
QkFBQUVFRUVBQWdRZ0NCQ0FSVU1oQwpBQUVFRUVBQUFRUVFRQUNCeEFnUWdDVEdsYnNpZ0FBQ0ND
Q0FBQUlJSUlCQUJBRUNrQWdvWkNHQUFBSUlJSUFBQWdnZ2dFQmlCQWhBCkV1UEtYUkZBQUFFRUVF
QUFBUVFRUUNDQ0FBRklCQlN5RUVBQUFRUVFRQUFCQkJCQUlERUNCQ0NKY2VXdUNDQ0FBQUlJSUlB
QUFnZ2cKRUVHQUFDUUNDbGtJSUlBQUFnZ2dnQUFDQ0NDUUdBRUNrTVM0Y2xjRUVFQUFBUVFRUUFB
QkJCQ0lJRUFBRWdHRkxBUVFRQUFCQkJCQQpBQUVFRUVpTUFBRklZbHk1S3dJSUlJQUFBZ2dnZ0FB
Q0NFUVFJQUNKZ0VJV0FnZ2dnQUFDQ0NDQUFBSUlKRWFBQUNReHJ0d1ZBUVFRClFBQUJCQkJBQUFF
RUlnZ1FnRVJBSVFzQkJCQkFBQUVFRUVBQUFRUVNJMEFBa2hoWDdvb0FBZ2dnZ0FBQ0NDQ0FBQUlS
QkFoQUlxQ1EKaFFBQ0NDQ0FBQUlJSUlBQUFva1JpQ3NBT1hYcWxKdy9mejVEaStiUG55OHRXN1kw
cjlUVTFBelg3MVNHMjQ2TEZ5OUcvY3AxNjliSgp1WFBub2w3bkFnSUlJSUFBQWdnZ2dBQUNDT1M4
Z09jQVpNMmFOZEtuVHgrcFZhdVdsQzVkV2padTNKaWhOWWNPSFpJTkd6WkkrL2J0CnBVR0RCaG11
MzZrTWJjZXlaY3ZreG8wYlViL3k4dVhMMHFoUkk5Rmdpb1FBQWdnZ2dBQUNDQ0NBQUFKM1JzQnpB
TEo4K1hKSlMwdVQKRmkxYW1KWWxKU1ZGYkdGeWNySjA3ZHBWbWpScEV2RjZic2w4N0xISEpDVWxS
ZnIzNzU5Ym1rUTdFRUFBQVFRUVFBQUJCQkR3dlVBKwpyejBjT25Tb0tmcnBwNS9LSC8vNFIwL1ZQ
dm5rRS9uYjMvNFdzV3lKRWlWa3pKZ3hFZ2dFcEhmdjN2TExYLzVTTkNpNGsybml4SWxTCnAwNGRX
YkZpaFRScjF1eE9malhmaFFBQ0NDQ0FBQUlJSUlEQS8wc0J6d0ZJUERvVEpreVFMNzc0SW1MVjU1
NTd6dVR2M2J0WEZpeFkKSUZPblRwVmh3NGFKRytoRXJPUmtidHUyVFdiTW1DRzZoK09iYjc0eE16
SjkrL2FOR0VCY3YzN2R6SEFzWExoUWRNYW1TNWN1NXY3dQo3RTJOR2pXa2FkT201bjRFSU5IRXlV
Y0FBUVFRUUFBQkJCQkFJT2NFUEMvQml1Y3IvLzczdjVzWkRwM2wwTmZaczJmTmJaWXVYU3AvCit0
T2Z6UHVhTld1Szd0bG8xYXFWakJzM1RqUm95Q3l0WHIxYTl1M2JaNVo1VFpzMlRYYnQyaFYxR1pY
dVdkbTVjNmQwNjlaTjh1ZlAKTDhPSEQ1ZXhZOGVHM2I1S2xTb21BTHA5KzNaWVBoOFFRQUFCQkJC
QUFBRUVFRUFnNXdVU0dvQjRiVzdod29WbDhPREJjdlhxVmRteQpaVXVtMVo1Ly9ubFp0R2lSOU9y
VlM1NSsrbWw1NFlVWFpQdjI3YkovLy80TTllclhyeSs2ZDJYSWtDR3llL2R1cVZ5NXNyenh4aHNt
CkdISUxhNTZlbG5YeTVFazNpNzhJSUlBQUFnZ2dnQUFDQ0NDUUlJRmNFWUJvM3pSWXlKY3ZuNW5S
OE5MWG16ZHZ5dEdqUjAzUW91VWoKbldhbFM3UGNwUGR1MkxDaG5EbHpSazZjT09GbW02QkVQeHc3
ZGl5WXh4c0VFRUFBQVFRUVFBQUJCQkJJakVDdUNVQUtGaXdvMWFwVgprejE3OW1UYVU1MnA2Tnk1
c3hRcFVzUWM5VHQ5K25SVFhwZDRaWlYwdzdrbWR5bVl2dGZqZURYcExBd0pBUVFRUUFBQkJCQkFB
QUVFCkVpdVFhd0lRM1JkeTVNZ1JzMVFxc3k2M2J0M2FQT05qNjlhdFp0Wmk1TWlScHJpN3NUeXp1
cGN1WFRLWEsxU29FQ3gyOE9CQjg3NTgKK2ZMQlBONGdnQUFDQ0NDQUFBSUlJSUJBWWdSKzlBQkVO
My9yY2JodDJyU1JzbVhMbXYwYzBicXFBY3Jtelp0bHdJQUJVcjE2OWJCaQprVGFScDg5YnYzNjlx
VmUwYU5GZzNRTUhEb2h1aEEvTkMxN2tEUUlJSUlBQUFnZ2dnQUFDQ09Tb2dPY0FSUGRJNkdadmQ4
WkFmN2pyCjUrUEhqOGZkSUwybkhvUDc0b3N2U21wcXFvd1lNY0tjaUhYKy9QbUk5eXhUcG96b1M0
L3QxYzNxUzVZc0NSN2Jxek1pNlZQYnRtMWwKMDZaTmN1WEtGWmt5Wllxc1hMbFNYbm5sbFdBeFhi
YWx4L3AyNk5BaG1NY2JCQkJBQUFFRUVFQUFBUVFRU0p5QTV3QmsxS2hSVXJkdQpYZEdqYlRYMTdO
blRmTmFIQ2NhYjlHamN3NGNQbXlWVk9xdngwRU1QbVJPcVZxMWFGZkdXdXBGY3YwODNuOWVyVjA4
R0Rod283Nzc3CnJqUnUzRmo2OWVzbmMrYk1DZFlyVUtDQTlPalJ3enduUkovTy90dmYvdFlFT083
elI3VGdyRm16ekwyMEhBa0JCQkJBQUFFRUVFQUEKQVFRU0w1RGt6QUprdlh2Yll6dkdqeDh2a3la
Tk1uczVQRmFSYTlldVNhRkNoYndXTitWdTNicGxabDdjdlJ5NjFFb0RtVXFWS3BrSApEcWFscFps
Wmo1SWxTNHBlMDFrYkxhdEJpWnN1WExnZytpREMwYU5IbStlRXVQbjhSUUFCQkJCQUFBRUVFRUFB
Z2NRSmVKNEI4ZG9FClBlSlc5MVFNR2pUSVU1Vllndys5YWQ2OGVVMUE0WDVCbmp4NUpDVWx4UVFm
bXFjekhocDhhTkpyVmF0V0RRcytOSC9ldkhsbTFrUWYKVWtoQ0FBRUVFRUFBQVFRUVFBQ0JPeU9R
b3pNZytvUnlmZks0cG9vVks1cGxVbmVtRzdGL2l6NThrSTNuc2J0UkF3RUVFRUFBQVFRUQpRQUNC
N0Fqa2FBQ1NuWVpRRndFRUVFQUFBUVFRUUFBQkJQd3ZrT05Mc1B4UFJnOFJRQUFCQkJCQUFBRUVF
RUFnWGdFQ2tIamxxSWNBCkFnZ2dnQUFDQ0NDQUFBSXhDeENBeEV4R0JRUVFRQUFCQkJCQUFBRUVF
SWhYZ0FBa1hqbnFJWUFBQWdnZ2dBQUNDQ0NBUU13Q0JDQXgKazFFQkFRUVFRQUFCQkJCQUFBRUU0
aFVnQUlsWGpub0lJSUFBQWdnZ2dBQUNDQ0FRc3dBQlNNeGtWRUFBQVFRUVFBQUJCQkJBQUlGNApC
UWhBNHBXakhnSUlJSUFBQWdnZ2dBQUNDTVFzUUFBU014a1ZFRUFBQVFRUVFBQUJCQkJBSUY0QkFw
QjQ1YWlIQUFJSUlJQUFBZ2dnCmdBQUNNUXNRZ01STVJnVUVFRUFBQVFRUVFBQUJCQkNJVjRBQUpG
NDU2aUdBQUFJSUlJQUFBZ2dnZ0VETUFnUWdNWk5SQVFFRUVFQUEKQVFRUVFBQUJCT0lWSUFDSlY0
NTZDQ0NBQUFJSUlJQUFBZ2dnRUxNQUFVak1aRlJBQUFFRUVFQUFBUVFRUUFDQmVBVUlRT0tWb3g0
QwpDQ0NBQUFJSUlJQUFBZ2pFTEVBQUVqTVpGUkJBQUFFRUVFQUFBUVFRUUNCZWdiZ0NrRk9uVHNu
NTgrY3pmT2Y4K2ZPbFpjdVc1cFdhCm1ocDIvWWNmZnBBTkd6YklmLy8zZjh1dFc3ZkNybDI0Y0VI
V3JGa1Rsc2NIQkJCQUFBRUVFRUFBQVFRUThKK0E1d0JFQTRRK2ZmcEkKclZxMXBIVHAwckp4NDhZ
TUdvY09IVEpCUnZ2MjdhVkJnd2JtK3RxMWE2Vng0OFpTckZneCtjVXZmaUUxYXRTUU9uWHF5T2JO
bTRQMQpDeFlzS0IwN2RwVEZpeGNIODNpREFBSUlJSUFBQWdnZ2dBQUMvaFB3SElBc1g3NWMwdExT
cEVXTEZrWWhLU2twb2taeWNySjA3ZHBWCm1qUnBZcTdyN0VhN2R1M2t1KysrazNQbnpvbmU1L1Rw
MC9LclgvMUtidDY4YWNvVUtsUkloZzRkS2wyNmRKSHZ2LzgrNG4zSlJBQUIKQkJCQUFBRUVFRUFB
QWZzRlBBY2dHaURNbkRsVG5uamlpWmg2M2JwMWErbmZ2NytaQWNtVEo0ODBiOTVjT25Ub0lBY09I
SkE5ZS9ZRQo3NlhCUjBwS2lnd1pNaVNZeHhzRUVFQUFBUVFRUUFBQkJCRHdsNERuQUNRbnUxMnFW
Q2x6dTUvODVDZkIyK3FNU3ZmdTNXWDI3Tmx5Ci9mcjFZRDV2RUVBQUFRUVFRQUFCQkJCQXdEOENk
endBQ1FRQzh2SEhIMHZGaWhXbGF0V3FZWkpWcWxReG05dDFtUllKQVFRUVFBQUIKQkJCQUFBRUUv
Q2R3eHdPUS8vaVAvNUIvL09NZk1uNzgrQXlhR29Cbyt1YWJiekpjSXdNQkJCQkFBQUVFRUVBQUFR
VHNGN2lqQVlqdQpJZEc5SkpNblR6WWIwOVB6NmF5STdoTTVkdXhZK2t0OFJnQUJCQkJBQUFFRUVF
QUFBUjhJNUx0VGZaZzFhNVk4OTl4ek1tUEdESFBrCmJxVHZ2WExsaXR5K2ZWc0tGeTRjNlRKNUND
Q0FBQUlJSUlBQUFnZ2dZTG5BSFprQitlU1RUMHp3OGRaYmIwVU5QdFR4NE1HRGhyTjgKK2ZLV3M5
SjhCQkJBQUFFRUVFQUFBUVFRaUNTUThBQkVuK3ZSdVhObmVmenh4ODJERENNMXdzM1RvM2sxdVE4
eGRQUDVpd0FDQ0NDQQpBQUlJSUlBQUF2NFE4THdFUy9kbG5EMTdOamhMb2NHQ0hxZGJ2SGh4S1Z1
MmJGU04wYU5IbTNybHlwV1Q5OTkvUDZ4Y216WnRwRVNKCkVzRzhyVnUzU3UzYXRjMHJtTWtiQkJC
QUFBRUVFRUFBQVFRUThJMkE1d0JrMUtoUk1tWEtsR0RIZS9ic2FkNzM2OWRQZEdsVnRIVGsKeUJG
ejZaMTMzc2xRUkUvRGNnT1FFeWRPeU1TSkUyWFNwRWtaeXBHQkFBSUlJSUFBQWdnZ2dBQUMvaEJJ
Y3A3TEVjaXBydWpSdWhwQQp1RUZITFBmdDFLbVRuRDU5V3BZdVhScExOY29pZ0FBQ0NDQ0FBQUlJ
SUlDQVJRSTV2Z2RFWnpKcTFxd3Bnd1lOOHN5Z1M3czBhSms3CmQ2N25PaFJFQUFFRUVFQUFBUVFR
UUFBQit3UnlkQVprMzc1OXNuUG5UcU9nei9Tb1Y2K2VKNUhyMTYrTFRzUVVMRmpRVTNrS0lZQUEK
QWdnZ2dBQUNDQ0NBZ0owQ09ScUEyRWxBcXhGQUFBRUVFRUFBQVFRUVFPQk9DZVQ0RXF3NzFYQytC
d0VFRUVBQUFRUVFRQUFCQk93VApJQUN4Yjh4b01RSUlJSUFBQWdnZ2dBQUMxZ29RZ0ZnN2REUWNB
UVFRUUFBQkJCQkFBQUg3QkFoQTdCc3pXb3dBQWdnZ2dBQUNDQ0NBCmdMVUNCQ0RXRGgwTlJ3QUJC
QkJBQUFFRUVFREFQZ0VDRVB2R2pCWWpnQUFDQ0NDQUFBSUlJR0N0QUFHSXRVTkh3eEZBQUFFRUVF
QUEKQVFRUXNFK0FBTVMrTWFQRkNDQ0FBQUlJSUlBQUFnaFlLMEFBWXUzUTBYQUVFRUFBQVFRUVFB
QUJCT3dUSUFDeGI4eG9NUUlJSUlBQQpBZ2dnZ0FBQzFnb1FnRmc3ZERRY0FRUVFRQUFCQkJCQUFB
SDdCQWhBN0Jzeldvd0FBZ2dnZ0FBQ0NDQ0FnTFVDQkNEV0RoME5Sd0FCCkJCQkFBQUVFRUVEQVBn
RUNFUHZHakJZamdBQUNDQ0NBQUFJSUlHQ3RBQUdJdFVOSHd4RkFBQUVFRUVBQUFRUVFzRStBQU1T
K01hUEYKQ0NDQUFBSUlJSUFBQWdoWUswQUFZdTNRMFhBRUVFQUFBUVFRUUFBQkJPd1RpQ3NBT1hY
cWxKdy9mejVEYitmUG55OHRXN1kwcjlUVQoxQXpYSTJXc1c3ZE96cDA3RitrU2VRZ2dnQUFDQ0ND
QUFBSUlJT0F6QWM4QnlKbzFhNlJQbno1U3ExWXRLVjI2dEd6Y3VERUR4YUZECmgyVERoZzNTdm4x
N2FkQ2dRWWJya1RJdVg3NHNqUm8xRWcxcVNBZ2dnQUFDQ0NDQUFBSUlJT0J2QWM4QnlQTGx5eVV0
TFUxYXRHaGgKUkpLU2tpTEtKQ2NuUzlldVhhVkpreVlScjZmUGZPeXh4eVFsSlVYNjkrK2YvaEtm
RVVBQUFRUVFRQUFCQkJCQXdHY0NuZ09Rb1VPSAp5c3laTStXSko1N0ljWUtKRXlmS1gvLzZWMW14
WWtXTzM1c2JJb0FBQWdnZ2dBQUNDQ0NBUU80UjhCeUF4TnZrYmR1MnljQ0JBNlZoCnc0WlN2SGh4
YWRldVhZWkFvMGFOR3RLMGFWT1pNV05HdkY5RFBRUVFRQUFCQkJCQUFBRUVFTEJBSU9FQnlPclZx
Mlhmdm4xbVdkYTAKYWROazE2NWRFWmRiVmFsU1JSWXNXQ0MzYjkrMmdJMG1Jb0FBQWdnZ2dBQUND
Q0NBUUR3QytlS3BGRXVkNTU5L1h2VGxwdE9uVDB2dgozcjFsLy83OVVyVnFWVGRiS2xldUxCY3ZY
cFNUSjA5S21USmxndm04UVFBQkJCQkFBQUVFRUVBQUFmOElKSHdHeEtXNmVmT21IRDE2ClZLNWV2
V3F5MHA5NnBRR0lwbVBIanBtLy9JTUFBZ2dnZ0FBQ0NDQ0FBQUwrRTBqNERJak9hTHo4OHN1aXp3
aTU5OTU3elQ0UVpRd0UKQW1HYWVoeXZwc0tGQzRmbDh3RUJCQkJBQUFFRUVFQUFBUVQ4STVEd0da
RFdyVnZMc21YTFpPdldyV1oyWStUSWtVWXYvVEcrQnc4ZQpOUG5seTVmM2p5NDlRUUFCQkJCQUFB
RUVFRUFBZ1RDQmhBWWdSNDRja2MyYk44dUFBUU9rZXZYcVlWK2NmclA1Z1FNSHBHYk5tbEswCmFO
R3djbnhBQUFFRUVFQUFBUVFRUUFBQi93aDREa0IwYjhiMjdkdkZuYW5RZ0VFL0h6OStQS3FHYmli
WGw1NXV0V1hMRmxteVpJbm8KODBRMDZZeUltM1E1bGg3WDI2RkRCemVMdndnZ2dBQUNDQ0NBQUFJ
SUlPQkRBYzhCeUtoUm82UnUzYnJTcDA4Znc5Q3paMC96ZWN5WQpNVkZaOHVYTEozcGRONS9YcTFm
UFBBL2szWGZmbGNhTkcwdS9mdjFrenB3NXB1NnNXYk5NbVI0OWVrUzlGeGNRUUFBQkJCQkFBQUVF
CkVFREFmb0VrWi9ZaGZEZDROdm8wZnZ4NG1UUnBrdWpTcTlCMDY5WXRNMU5Tb1VJRms2M0xydzRm
UGl5VktsVXlSKy9xZ3doSGp4NHQKM2JwMUM2M0dld1FRUUFBQkJCQkFBQUVFRVBDWmdPY1pFSy85
UG5IaWhObkxNV2pRb0dDVnZIbnppaHQ4YUdhZVBIa2tKU1ZGZENQNgp2SG56ekd3SXdVZVFpemNJ
SUlBQUFnZ2dnQUFDQ1BoV0lFZG5RUFNKNXp0MzdqUllGU3RXTk11dXNwTFRodyt5OFR3ckphNGpn
QUFDCkNDQ0FBQUlJSU9BUGdSd05RUHhCUWk4UVFBQUJCQkJBQUFFRUVFQWdVUUk1dmdRclVRM2x2
Z2dnZ0FBQ0NDQ0FBQUlJSUdDL0FBR0kKL1dOSUR4QkFBQUVFRUVBQUFRUVFzRWFBQU1TYW9hS2hD
Q0NBQUFJSUlJQUFBZ2pZTDBBQVl2OFkwZ01FRUVBQUFRUVFRQUFCQkt3UgpJQUN4WnFob0tBSUlJ
SUFBQWdnZ2dBQUM5Z3NRZ05nL2h2UUFBUVFRUUFBQkJCQkFBQUZyQkFoQXJCa3FHb29BQWdnZ2dB
QUNDQ0NBCmdQMENCQ0QyanlFOVFBQUJCQkJBQUFFRUVFREFHZ0VDRUd1R2lvWWlnQUFDQ0NDQUFB
SUlJR0MvQUFHSS9XTklEeEJBQUFFRUVFQUEKQVFRUXNFYUFBTVNhb2FLaENDQ0FBQUlJSUlBQUFn
allMMEFBWXY4WTBnTUVFRUFBQVFRUVFBQUJCS3dSSUFDeFpxaG9LQUlJSUlBQQpBZ2dnZ0FBQzln
c1FnTmcvaHZRQUFRUVFRQUFCQkJCQUFBRnJCQWhBckJrcUdvb0FBZ2dnZ0FBQ0NDQ0FnUDBDQkNE
Mmp5RTlRQUFCCkJCQkFBQUVFRUVEQUdnRUNFR3VHaW9ZaWdBQUNDQ0NBQUFJSUlHQy9RRndCeUts
VHArVDgrZk1aZWo5Ly9ueHAyYktsZWFXbXBtYTQKZnFjeTNIWmN2SGd4NmxldVc3ZE96cDA3Ri9V
NkZ4QkFBQUVFRUVBQUFRUVFRQ0RuQlR3SElHdldySkUrZmZwSXJWcTFwSFRwMHJKeAo0OFlNclRs
MDZKQnMyTEJCMnJkdkx3MGFOTWh3L1U1bGFEdVdMVnNtTjI3Y2lQcVZseTlmbGthTkdva0dVeVFF
RUVBQUFRUVFRQUFCCkJCQzRNd0tlQTVEbHk1ZExXbHFhdEdqUndyUXNLU2twWWd1VGs1T2xhOWV1
MHFSSms0alhjMHZtWTQ4OUppa3BLZEsvZi8vYzBpVGEKZ1FBQ0NDQ0FBQUlJSUlDQTd3WHllZTNo
MEtGRFRkRlBQLzFVL3ZqSFAzcXE5c2tubjhqZi92YTNpR1ZMbENnaFk4YU1rVUFnSUwxNwo5NVpm
L3ZLWG9rSEJuVXdUSjA2VU9uWHF5SW9WSzZSWnMyWjM4cXY1TGdRUVFBQUJCQkJBQUFFRS9sOEtl
QTVBNHRHWk1HR0NmUEhGCkZ4R3JQdmZjY3laLzc5NjlzbURCQXBrNmRhb01HelpNM0VBbllpVW5j
OXUyYlRKanhnelJQUnpmZlBPTm1aSHAyN2R2eEFEaSt2WHIKWm9aajRjS0Zvak0yWGJwME1mZDNa
MjlxMUtnaFRaczJOZmNqQUlrbVRqNENDQ0NBQUFJSUlJQUFBamtuNEhrSlZqeGYrZmUvLzkzTQpj
T2dzaDc3T25qMXJick4wNlZMNTA1LytaTjdYckZsVGRNOUdxMWF0Wk55NGNhSkJRMlpwOWVyVnNt
L2ZQclBNYTlxMGFiSnIxNjZvCnk2aDB6OHJPblR1bFc3ZHVrajkvZmhrK2ZMaU1IVHMyN1BaVnFs
UXhBZER0MjdmRDh2bUFBQUlJSUlBQUFnZ2dnQUFDT1MrUTBBREUKYTNNTEZ5NHNnd2NQbHF0WHI4
cVdMVnN5cmZiODg4L0xva1dMcEZldlh2TDAwMC9MQ3krOElOdTNiNWY5Ky9kbnFGZS9mbjNSdlN0
RApoZ3lSM2J0M1MrWEtsZVdOTjk0d3daQmJXUFAwdEt5VEowKzZXZnhGQUFFRUVFQUFBUVFRUUFD
QkJBbmtpZ0JFKzZiQlFyNTgrY3lNCmhwZSszcng1VTQ0ZVBXcUNGaTBmNlRRclhacmxKcjEzdzRZ
TjVjeVpNM0xpeEFrMzJ3UWwrdUhZc1dQQlBONGdnQUFDQ0NDQUFBSUkKSUlCQVlnUnlUUUJTc0dC
QnFWYXRtdXpac3lmVG51cE1SZWZPbmFWSWtTTG1xTi9wMDZlYjhyckVLNnVrRzg0MXVVdkI5TDBl
eDZ0SgpaMkZJQ0NDQUFBSUlJSUFBQWdnZ2tGaUJYQk9BNkw2UUkwZU9tS1ZTbVhXNWRldlc1aGtm
VzdkdU5iTVdJMGVPTk1YZGplV1oxYjEwCjZaSzVYS0ZDaFdDeGd3Y1BtdmZseTVjUDV2RUdBUVFR
UUFBQkJCQkFBQUVFRWlQd293Y2d1dmxiajhOdDA2YU5sQzFiMXV6bmlOWlYKRFZBMmI5NHNBd1lN
a09yVnE0Y1ZpN1NKUEgzZSt2WHJUYjJpUllzRzZ4NDRjRUIwSTN4b1h2QWlieEJBQUFFRUVFQUFB
UVFRUUNCSApCVHdISUxwSFFqZDd1ek1HK3NOZFB4OC9manp1QnVrOTlSamNGMTk4VVZKVFUyWEVp
QkhtUkt6ejU4OUh2R2VaTW1WRVgzcHNyMjVXClg3SmtTZkRZWHAwUlNaL2F0bTBybXpadGtpdFhy
c2lVS1ZOazVjcVY4c29ycndTTDZiSXRQZGEzUTRjT3dUemVJSUFBQWdnZ2dBQUMKQ0NDQVFPSUVQ
QWNnbzBhTmtycDE2NG9lYmF1cFo4K2U1ck0rVEREZXBFZmpIajU4MkN5cDBsbU5oeDU2eUp4UXRX
clZxb2kzMUkzaworbjI2K2J4ZXZYb3ljT0JBZWZmZGQ2Vng0OGJTcjE4L21UTm5UckJlZ1FJRnBF
ZVBIdVk1SWZwMDl0Lys5cmNtd0hHZlA2SUZaODJhClplNmw1VWdJSUlBQUFnZ2dnQUFDQ0NDUWVJ
RWtaeFlnNjkzYkh0c3hmdng0bVRScGt0bkw0YkdLWEx0MlRRb1ZLdVMxdUNsMzY5WXQKTS9QaTd1
WFFwVllheUZTcVZNazhjREF0TGMzTWVwUXNXVkwwbXM3YWFGa05TdHgwNGNJRjBRY1JqaDQ5Mmp3
bnhNM25Md0lJSUlBQQpBZ2dnZ0FBQ0NDUk93UE1NaU5jbTZCRzN1cWRpMEtCQm5xckVHbnpvVGZQ
bXpXc0NDdmNMOHVUSkl5a3BLU2I0MER5ZDhkRGdRNU5lCnExcTFhbGp3b2ZuejVzMHpzeWI2a0VJ
U0FnZ2dnQUFDQ0NDQUFBSUkzQm1CSEowQjBTZVU2NVBITlZXc1dORXNrN296M1lqOVcvVGgKZzJ3
OGo5Mk5HZ2dnZ0FBQ0NDQ0FBQUlJWkVjZ1J3T1E3RFNFdWdnZ2dBQUNDQ0NBQUFJSUlPQi9nUnhm
Z3VWL01ucUlBQUlJSUlBQQpBZ2dnZ0FBQzhRb1FnTVFyUnowRUVFQUFBUVFRUUFBQkJCQ0lXWUFB
SkdZeUtpQ0FBQUlJSUlBQUFnZ2dnRUM4QWdRZzhjcFJEd0VFCkVFQUFBUVFRUUFBQkJHSVdJQUNK
bVl3S0NDQ0FBQUlJSUlBQUFnZ2dFSzhBQVVpOGN0UkRBQUVFRUVBQUFRUVFRQUNCbUFVSVFHSW0K
b3dJQ0NDQ0FBQUlJSUlBQUFnakVLMEFBRXE4YzlSQkFBQUVFRUVBQUFRUVFRQ0JtQVFLUW1NbW9n
QUFDQ0NDQUFBSUlJSUFBQXZFSwpFSURFSzBjOUJCQkFBQUVFRUVBQUFRUVFpRm1BQUNSbU1pb2dn
QUFDQ0NDQUFBSUlJSUJBdkFJRUlQSEtVUThCQkJCQUFBRUVFRUFBCkFRUmlGaUFBaVptTUNnZ2dn
QUFDQ0NDQUFBSUlJQkN2QUFGSXZITFVRd0FCQkJCQUFBRUVFRUFBZ1pnRkNFQmlKcU1DQWdnZ2dB
QUMKQ0NDQUFBSUl4Q3RBQUJLdkhQVVFRQUFCQkJCQUFBRUVFRUFnWmdFQ0hXcjh6UUFBSE01SlJF
RlVrSmpKcUlBQUFnZ2dnQUFDQ0NDQQpBQUx4Q25nS1FPYlBueTh0VzdZMHI5VFVWTS9mNWRhN2VQ
R2k1em8yRnh3eFlvUjA2ZElsNWk3ODhNTVBNbjM2ZEduV3JKblVybDFiCmZ2ZTczOG1hTld0aXZn
OFZFRUFBQVFRUVFBQUJCQkRJN1FMNXZEVHcwS0ZEc21IREJwa3dZWUpVcTFiTlN4VlRSdXN0Vzda
TWJ0eTQKNGJtT3pRVzNiTmtpVzdkdWpia0xDeFlza0Q1OStzaTBhZE9rZE9uU2N2bnlaZW5Zc2FP
ODg4NDcwcnAxNjVqdlJ3VUVFRUFBQVFRUQpRQUFCQkhLcmdLY0FSQnVmbkp3c1hidDJ6YTM5c0xw
ZEgzLzhzZFNwVTBjNmQrNGM3SWZPR3Vsc3l1N2R1NlY0OGVMQmZONGdnQUFDCkNDQ0FBQUlJSUdD
emdLY2xXTG14ZzRGQVFIcjE2bVZtV05LM2IvYnMyZEtqUncvcDJiT252UHJxcXpKMTZsUzVjdVZL
V0xIRml4ZWIKR1oyd1RPZkR4bzBiVGQzejU4K252NVN3enpwem9qTWZvVW1EajVTVUZCa3laRWhv
TnU4UlFBQUJCQkJBQUFFRUVMQmFJTzRBWk51MgpiVEp3NEVCcDJMQ2grUi82ZHUzYXlZb1ZLeUpp
WEw5K1hmcjM3eStWS2xVeVA2cUhEUnNtR2tDRXBwMDdkMHFiTm0ya1hMbHlVclJvClVhbGJ0NjZz
WExreXRFalkrNzE3OTRvdVhkSzlLY09IRHcrN05tclVLSG52dmZmTWtxWng0OGFaUUVYTGhhWkZp
eGJKU3krOVpBS1UKMFB4Tm16YkpyRm16NUs2Nzdnck56dkQrN05tejByNTlleWxac3FUVXFGRkRK
azZjbUtGUFd1bmN1WFB5ekRQUFNLbFNwYVJpeFlvbQpvTGg5KzdhNTM3VnIxK1RCQngrVUF3Y09t
RDBmK2w0ZE5TVWxKVW4zN3QxRmd5bjFJeUdBQUFJSUlJQUFBZ2dnNEFlQnVBT1ExYXRYCnk3NTkr
OHl5TE4yN3NHdlhMaE5rUkVMUi9RMGFZSFRyMWszeTU4OXZBb2F4WThjR2kzNzk5ZGRTdjM1OTJi
eDVzK2hHN3JsejU4cXYKZi8zclRJT0FtalZyaXU0eGFkV3FsV2lRRWZvalhkdWlBWTYrTGx5NElL
TkhqelkvOEwvNzdydmdkMDZaTXNVRUpscFhBeEUzN2QrLwpYMzc2MDU5S3ZuelJWNmZkdW5WTG1q
WnRLbDk5OVpWTW5qelpmUC9TcFV0RloxVkMwODJiTjZWSmt5YXlZOGNPZWZQTk4rWFpaNThWCjNj
U3Z3WW9tL1E2MUtWYXNtQWxPOUwwYmdPajFLbFdxaU03RUxGKytYRCtTRUVBQUFRUVFRQUFCQkJD
d1g4RDVrWjVsZXYzMTF3UGwKeTVmUHRKenpnMTZuTkFKT1VCSXNwL1UwendrcWdubk9odlJBNWNx
VkF5VktsQWc0TXdFbXYzbno1cWJjdW5Ycmd1Vzh2bG03ZHEycAo2d1FEVWFzNCt5aE1HV2VwVTFp
WjNyMTdCNXdaREhQdHJiZmVNdTF4Z28vQXl5Ky9IRll1L1ljUFAvelExRm0xYWxYd2t2YmwwVWNm
CkRUaEJRekRQV2ZxVm9XMVBQdmxrd0ZsYUZTeWpieDU0NElHQXM5azhMRTgvT01HUXFmK0hQL3do
d3pVeUVFQUFBUVFRUUFBQkJCQ3cKVVNEdUdSQTM5TkwvNVQ5NjlLaGN2WHJWWkowNmRjcTlGUHpi
dDIvZjRIdjlYMzlkdG5YbXpCazVjZUtFNkhJa0o0Z3dTNWthTkdnUQpMT2YxamM2YzZEMTExaU5h
Y3BkVDZXeUltL1M5THJYU3BWZzZpL0tiMy96R3pJaG8rMTk3N1RXM1dNUy9uMzMybVptZDBka05O
K21TCktaM0pDRTI2SksxdzRjSm1pZFc4ZWZORVh3VUxGalF6TjdyOEtxdWtTN2J5NU1rang0NGR5
Nm9vMXhGQUFBRUVFRUFBQVFRUXNFSWcKK2pxakxKcC84dVJKY1dZS1JKLzFjZSs5OXdaUGFuS2lz
Q3hxaWpueGFjNmNPYUw3S1BTSHV6NEhRMy9NNjQvdFdKUCtvTmVqZ2ZmcwoyUk8xYXQ2OGVjMjEw
TFo5OE1FSGN2Lzk5NXRnU0pkOFBmend3MmJQaUM2VlNoOUlwTC94dDk5K0s4NE1UdnJzREo4UEh6
NHN1bHhyCjhPREJZZGVxVnExcStsNjJiTm13L1BRZmRPTzhCbWdheEpBUVFBQUJCQkJBQUFFRUVQ
Q0RRT3kvK1ArMzEvcDhDbjNHaHo3M1F2K0gKZnVUSWtlYUtCaFJacFV1WExwa2lGU3BVTURNZkJR
b1VNUHMvc3FvWDZicnV2VGh5NUlnNXJqYlM5V2g1bjMvK3VmenNaejh6bDNYVAp1ODZFNkhHM0N4
Y3VqRllsbUsvdFBYNzh1QW1jZ3BrUjNqakwxa1NESDkzYm92dGxRbDlaQlI5NnU0TUhENXE3Nm4x
SUNDQ0FBQUlJCklJQUFBZ2o0UVNDdUFFUi84T3VQNmdFREJrajE2dFhESFBSLzdOT245SG5yMTY4
MzlmU0h2LzVBMTZWWGg1d041ZHUzYjA5Zk5lcG4KdmFkdTV0YVRzL1RIZkN4MTlhWTZpeEY2OUsz
T1N1alR5TC80NGd0NS8vMzNvMzZ2WHRBWkY5MzByc2ZudWtsbmM5TFB3anp5eUNQbQorRitkWVlr
bjZlbFltdUpabWhiUDkxRUhBUVFRUUFBQkJCQkFBSUZFQzhTMUJLdE1tVEtpTHowR1YvZFA2T2xT
UTRjT05XM1ZHWkZHCmpScUZ0YnR0MjdiaWJLUVdaN08xekp3NTB4eXZxOGZrdW1uTW1ERm1DWlkr
aU0vWkRDNzMzWGVmT0J1OHpRLzluLy84NTI2eDRGK2QKY2RFamNIWHZpQVloR2tqb3FWbDZZcFRP
VE9qSlZLRXBMUzNOZk5RMjNIUFBQZWFJMy9RQmlCWndOb2pMVTA4OVpVN0Zldnp4eDgzUgp1YUgz
Y2QvcjhiajZsUEpPblRxWmZ1dVQzblhwVnZvbnZ1dHpTdDUrKzIwWjVodzdyRzNUcDV2clgyZXp2
WFRvME1FODNORzlaNlMvCmFsbTdkbTN6aW5TZFBBUVFRQUFCQkJCQUFBRUVyQlB3c25NKzBpbFlN
MmJNQ0RoQmlHNzRDRGhINGdhKy9QTExRT1BHalFQT0VxeUEKOCt3S2MxdXQ1eXhYQ21qWnUrKysy
NVF0VktoUXdGbXVsZUZyblNOc0E4NU1oaW1qOTNTQ2tNQkhIMzJVb1p4bU9QdFBBczRHN1lDegpH
ZHhjMTVPM3RJNnpmQ3J3NG9zdkJ1K2hlYUV2WjdONndObjhIbkEyb0p0OFp4TjZodnM3c3p2bXhL
L01UdFhTU25ycWwvWkY3Kzg4CjR5UGd6SElFbkVBcjdCUXNMZWRzdEEvb3lWZk9USThwcTIzUWs3
YWNHUk85YkZLa1U3Q2NvQzdnekJBWk83Y2NmeEZBQUFFRUVFQUEKQVFRUXNGMGdTVHZnL0lqT05J
MGZQMTRtVFpwazlscUVGdFFOMWpyam9IczVOT215S04xNHJROGMxTDBnT3ZPZ0c2bjFZWDE2VGZj
MAphRm5kUXhFdGFYM2RkSjNWSm04OVJjb0pBS0xkSmx2NVh1K3RNeDY2SE0wNVZ0ajBON012MVh0
cTMxS2NwNXRuMW4vM0hqcTdjdnIwCmFkRTlMaVFFRUVBQUFRUVFRQUFCQlB3aTRIa1BpQjZacXcv
L0d6Um9VTER2dW4vRERUNDBVMCt4MGgvWTdrYjA1T1JrRTN5NDEzU2YKUlZZL3Z2WG8yYXlDRDcx
Zm9vS1BXTzZ0RDFYVWh3VzYvZFc2MFpLMlYvZkxaTlYvcmEvN1NUU3dpWGZ2U0xRMmtJOEFBZ2dn
Z0FBQwpDQ0NBd0k4dDRHa0dSRTl2MGllWmE5SUFvVjY5ZWo5MnUzMzkvYnJCWFNlbTlJaGhFZ0lJ
SUlBQUFnZ2dnQUFDZmhMd0ZJRDRxY1AwCkJRRUVFRUFBQVFRUVFBQUJCSDQ4QWM5THNINjhKdkxO
Q0NDQUFBSUlJSUFBQWdnZzRCY0JBaEMvakNUOVFBQUJCQkJBQUFFRUVFREEKQWdFQ0VBc0dpU1lp
Z0FBQ0NDQ0FBQUlJSU9BWEFRSVF2NHdrL1VBQUFRUVFRQUFCQkJCQXdBSUJBaEFMQm9rbUlvQUFB
Z2dnZ0FBQwpDQ0RnRndFQ0VMK01KUDFBQUFFRUVFQUFBUVFRUU1BQ0FRSVFDd2FKSmlLQUFBSUlJ
SUFBQWdnZzRCY0JBaEMvakNUOVFBQUJCQkJBCkFBRUVFRURBQWdFQ0VBc0dpU1lpZ0FBQ0NDQ0FB
QUlJSU9BWEFRSVF2NHdrL1VBQUFRUVFRQUFCQkJCQXdBSUJBaEFMQm9rbUlvQUEKQWdnZ2dBQUND
Q0RnRndFQ0VMK01KUDFBQUFFRUVFQUFBUVFRUU1BQ0FRSVFDd2FKSmlLQUFBSUlJSUFBQWdnZzRC
Y0JBaEMvakNUOQpRQUFCQkJCQUFBRUVFRURBQWdFQ0VBc0dpU1lpZ0FBQ0NDQ0FBQUlJSU9BWEFR
SVF2NHdrL1VBQUFRUVFRQUFCQkJCQXdBSUJBaEFMCkJva21Jb0FBQWdnZ2dBQUNDQ0RnRndGUEFj
ajgrZk9sWmN1VzVwV2FtdXE1NzI2OWl4Y3ZlcTVqYzhFUkkwWklseTVkWXU3Q0R6LzgKSU5PblQ1
ZG16WnBKN2RxMTVYZS8rNTJzV2JNbTV2dFFBUUVFRUVBQUFRUVFRQUNCM0M2UXowc0REeDA2SkJz
MmJKQUpFeVpJdFdyVgp2RlF4WmJUZXNtWEw1TWFORzU3cjJGeHd5NVl0c25YcjFwaTdzR0RCQXVu
VHA0OU1telpOU3BjdUxaY3ZYNWFPSFR2S08rKzhJNjFiCnQ0NzVmbFJBQUFFRUVFQUFBUVFRUUND
M0NuZ0tRTFR4eWNuSjByVnIxOXphRDZ2YjlmSEhIMHVkT25Xa2MrZk93WDdvckpIT3B1emUKdlZ1
S0Z5OGV6T2NOQWdnZ2dBQUNDQ0NBQUFJMkMzaGFncFViT3hnSUJLUlhyMTVtaGlWOSsyYlBuaTA5
ZXZTUW5qMTd5cXV2dmlwVApwMDZWSzFldWhCVmJ2SGl4bWRFSnkzUStiTnk0MGRROWYvNTgra3NK
KzZ3ekp6cnpFWm8wK0VoSlNaRWhRNGFFWnZNZUFRUVFRQUFCCkJCQkFBQUdyQmVJT1FMWnQyeVlE
Qnc2VWhnMGJtditoYjlldW5heFlzU0lpeHZYcjE2Vi8vLzVTcVZJbDg2TjYyTEJob2dGRWFOcTUK
YzZlMGFkTkd5cFVySjBXTEZwVzZkZXZLeXBVclE0dUV2ZCs3ZDYvbzBpWGRteko4K1BDd2E2Tkdq
WkwzM252UExHa2FOMjZjQ1ZTMApYR2hhdEdpUnZQVFNTeVpBQ2MzZnRHbVR6Sm8xUys2NjY2N1E3
QXp2ejU0OUsrM2J0NWVTSlV0S2pSbzFaT0xFaVJuNnBKWE9uVHNuCnp6enpqSlFxVlVvcVZxeG9B
b3JidDIrYisxMjdkazBlZlBCQk9YRGdnTm56b2UvVlVWTlNVcEowNzk1ZE5KaFNQeElDQ0NDQUFB
SUkKSUlBQUFuNFFpRHNBV2IxNnRlemJ0ODhzeTlLOUM3dDI3VEpCUmlRVTNkK2dBVWEzYnQwa2Yv
NzhKbUFZTzNac3NPalhYMzh0OWV2WApsODJiTjR0dTVKNDdkNjc4K3RlL3pqUUlxRm16cHVnZWsx
YXRXb2tHR2FFLzByVXRHdURvNjhLRkN6SjY5R2p6QS8rNzc3NExmdWVVCktWTk1ZS0oxTlJCeDAv
NzkrK1duUC8ycDVNc1hmWFhhclZ1M3BHblRwdkxWVjEvSjVNbVR6ZmN2WGJwVWRGWWxOTjI4ZVZP
YU5Ha2kKTzNic2tEZmZmRk9lZmZaWjBVMzhHcXhvMHU5UW0yTEZpcG5nUk4rN0FZaGVyMUtsaXVo
TXpQTGx5L1VqQ1FFRUVFQUFBUVFRUUFBQgord1djSCtsWnB0ZGZmejFRdm56NVRNczVQK2gxU2lQ
Z0JDWEJjbHBQODV5Z0lwam5iRWdQVks1Y09WQ2lSSW1BTXhOZzhwczNiMjdLCnJWdTNMbGpPNjV1
MWE5ZWF1azR3RUxXS3M0L0NsSEdXT29XVjZkMjdkOENad1REWDNucnJMZE1lSi9nSXZQenl5Mkhs
MG4vNDhNTVAKVFoxVnExWUZMMmxmSG4zMDBZQVROQVR6bktWZkdkcjI1Sk5QQnB5bFZjRXkrdWFC
Qng0SU9Kdk53L0wwZ3hNTW1mcC8rTU1mTWx3agpBd0VFRUVBQUFRUVFRQUFCR3dYaW5nRnhReS85
WC82alI0L0sxYXRYVGRhcFU2ZmNTOEcvZmZ2MkRiN1gvL1hYWlZ0bnpweVJFeWRPCmlDNUhjb0lJ
czVTcFFZTUd3WEplMytqTWlkNVRaejJpSlhjNWxjNkd1RW5mNjFJclhZcWxzeWkvK2MxdnpJeUl0
disxMTE1emkwWDgKKzlsbm41blpHWjNkY0pNdW1kS1pqTkNrUzlJS0Z5NXNsbGpObXpkUDlGV3dZ
RUV6YzZQTHI3Skt1bVFyVDU0OGN1ellzYXlLY2gwQgpCQkJBQUFFRUVFQUFBU3NFb3E4enlxTDVK
MCtlRkdlbVFQUlpIL2ZlZTIvd3BDWW5Dc3VpcHBnVG4rYk1tU082ajBKL3VPdHpNUFRICnZQN1lq
alhwRDNvOUdualBuajFScStiTm05ZGNDMjNiQng5OElQZmZmNzhKaG5USjE4TVBQMnoyak9oU3Fm
U0JSUG9iZi92dHQrTE0KNEtUUHp2RDU4T0hEb3N1MUJnOGVISGF0YXRXcXB1OWx5NVlOeTAvL1FU
Zk9hNENtUVF3SkFRUVFRQUFCQkJCQUFBRS9DTVQraS85LwplNjNQcDlCbmZPaHpML1IvNkVlT0hH
bXVhRUNSVmJwMDZaSXBVcUZDQlRQelVhQkFBYlAvSTZ0NmthN3Izb3NqUjQ2WTQyb2pYWStXCjkv
bm5uOHZQZnZZemMxazN2ZXRNaUI1M3UzRGh3bWhWZ3ZuYTN1UEhqNXZBS1pnWjRZMnpiRTAwK05H
OUxicGZKdlNWVmZDaHR6dDQKOEtDNXE5NkhoQUFDQ0NDQUFBSUlJSUNBSHdUaUNrRDBCNy8rcUI0
d1lJQlVyMTQ5ekVIL3h6NTlTcCszZnYxNlUwOS8rT3NQZEYxNgpkY2paVUw1OSsvYjBWYU4rMW52
cVptNDlPVXQvek1kU1YyK3FzeGloUjkvcXJJUStqZnlMTDc2UTk5OS9QK3IzNmdXZGNkRk43M3A4
CnJwdDBOaWY5TE13amp6eGlqdi9WR1paNGtwNk9wU21lcFdueGZCOTFFRUFBQVFRUVFBQUJCQkJJ
dEVCY1M3REtsQ2tqK3RKamNIWC8KaEo0dU5YVG9VTk5XblJGcDFLaFJXTHZidG0wcnprWnFjVFpi
eTh5Wk04M3h1bnBNcnB2R2pCbGpsbURwZy9pY3plQnkzMzMzaWJQQgoyL3pRLy9uUGYrNFdDLzdW
R1JjOUFsZjNqbWdRb29HRW5wcWxKMGJweklTZVRCV2EwdExTekVkdHd6MzMzR09PK0UwZmdHZ0Ja
NE80ClBQWFVVK1pVck1jZmY5d2NuUnQ2SC9lOUhvK3JUeW52MUttVDZiYys2VjJYYnFWLzRycytw
K1R0dDkrV1ljNnh3OW8yZmJxNS9uVTIKMjB1SERoM013eDNkZTBiNnE1YTFhOWMycjBqWHlVTUFB
UVFRUUFBQkJCQkF3RG9CTHp2bkk1MkNOV1BHaklBVGhPaUdqNEJ6Skc3Zwp5eSsvRERSdTNEamdM
TUVLT00rdU1MZlZlczV5cFlDV3ZmdnV1MDNaUW9VS0JaemxXaG0rMWpuQ051RE1aSmd5ZWs4bkNB
bDg5TkZICkdjcHBoclAvSk9CczBBNDRtOEhOZFQxNVMrczR5NmNDTDc3NFl2QWVtaGY2Y2phckI1
ek43d0ZuQTdySmR6YWhaN2kvTTd0alR2eksKN0ZRdHJhU25mbWxmOVA3T016NEN6aXhId0FtMHdr
N0IwbkxPUnZ1QW5uemx6UFNZc3RvR1BXbkxtVEhSeXlaRk9nWExDZW9Demd5UgpzWFBMOFJjQkJC
QkFBQUVFRUVBQUFkc0ZrclFEem8vb1ROUDQ4ZU5sMHFSSlpxOUZhRUhkWUswekRycVhRNU11aTlL
TjEvckFRZDBMCm9qTVB1cEZhSDlhbjEzUlBnNWJWUFJUUmt0YlhUZGRaYmZMV1U2U2NBQ0RhYmJL
VjcvWGVPdU9oeTlHY1k0Vk5melA3VXIybjlpM0YKZWJwNVp2MTM3Nkd6SzZkUG54YmQ0MEpDQUFF
RUVFQUFBUVFRUU1BdkFwNzNnT2lSdWZyd3YwR0RCZ1g3cnZzMzNPQkRNL1VVSy8yQgo3VzVFVDA1
T05zR0hlMDMzV1dUMTQxdVBuczBxK05EN0pTcjRpT1hlK2xCRmZWaWcyMSt0R3kxcGUzVy9URmI5
MS9xNm4wUURtM2ozCmprUnJBL2tJSUlBQUFnZ2dnQUFDQ1B6WUFwNW1RUFQwSm4yU3VTWU5FT3JW
cS9kanQ5dlgzNjhiM0hWaVNvOFlKaUdBQUFJSUlJQUEKQWdnZzRDY0JUd0dJbnpwTVh4QkFBQUVF
RUVBQUFRUVFRT0RIRS9DOEJPdkhheUxmakFBQ0NDQ0FBQUlJSUlBQUFuNFJJQUR4eTBqUwpEd1FR
UUFBQkJCQkFBQUVFTEJBZ0FMRmdrR2dpQWdnZ2dBQUNDQ0NBQUFKK0VTQUE4Y3RJMGc4RUVFQUFB
UVFRUUFBQkJDd1FJQUN4CllKQm9JZ0lJSUlBQUFnZ2dnQUFDZmhFZ0FQSExTTklQQkJCQUFBRUVF
RUFBQVFRc0VDQUFzV0NRYUNJQ0NDQ0FBQUlJSUlBQUFuNFIKSUFEeHkwalNEd1FRUUFBQkJCQkFB
QUVFTEJBZ0FMRmdrR2dpQWdnZ2dBQUNDQ0NBQUFKK0VTQUE4Y3RJMGc4RUVFQUFBUVFRUUFBQgpC
Q3dRSUFDeFlKQm9JZ0lJSUlBQUFnZ2dnQUFDZmhFZ0FQSExTTklQQkJCQUFBRUVFRUFBQVFRc0VD
QUFzV0NRYUNJQ0NDQ0FBQUlJCklJQUFBbjRSSUFEeHkwalNEd1FRUUFBQkJCQkFBQUVFTEJBZ0FM
RmdrR2dpQWdnZ2dBQUNDQ0NBQUFKK0VTQUE4Y3RJMGc4RUVFQUEKQVFRUVFBQUJCQ3dRSUFDeFlK
Qm9JZ0lJSUlBQUFnZ2dnQUFDZmhFZ0FQSExTTklQQkJCQUFBRUVFRUFBQVFRc0VDQUFzV0NRYUNJ
QwpDQ0NBQUFJSUlJQUFBbjRSSUFEeHkwalNEd1FRUUFBQkJCQkFBQUVFTEJBZ0FMRmdrR2dpQWdn
Z2dBQUNDQ0NBQUFKK0VTQUE4Y3RJCjBnOEVFRUFBQVFRUVFBQUJCQ3dRSUFDeFlKQm9JZ0lJSUlB
QUFnZ2dnQUFDZmhFZ0FQSExTTklQQkJCQUFBRUVFRUFBQVFRc0VDQUEKc1dDUWFDSUNDQ0NBQUFJ
SUlJQUFBbjRSSUFEeHkwalNEd1FRUUFBQkJCQkFBQUVFTEJBZ0FMRmdrR2dpQWdnZ2dBQUNDQ0NB
QUFKKwpFU0FBOGN0STBnOEVFRUFBQVFRUVFBQUJCQ3dRSUFDeFlKQm9JZ0lJSUlBQUFnZ2dnQUFD
ZmhFZ0FQSExTTklQQkJCQUFBRUVFRUFBCkFRUXNFQ0FBc1dDUWFDSUNDQ0NBQUFJSUlJQUFBbjRS
SUFEeHkwalNEd1FRUUFBQkJCQkFBQUVFTEJBZ0FMRmdrR2dpQWdnZ2dBQUMKQ0NDQUFBSitFU0FB
OGN0STBnOEVFRUFBQVFRUVFBQUJCQ3dRSUFDeFlKQm9JZ0lJSUlBQUFnZ2dnQUFDZmhFZ0FQSExT
TklQQkJCQQpBQUVFRUVBQUFRUXNFQ0FBc1dDUWFDSUNDQ0NBQUFJSUlJQUFBbjRSSUFEeHkwalNE
d1FRUUFBQkJCQkFBQUVFTEJBZ0FMRmdrR2dpCkFnZ2dnQUFDQ0NDQUFBSitFU0FBOGN0STBnOEVF
RUFBQVFRUVFBQUJCQ3dRSUFDeFlKQm9JZ0lJSUlBQUFnZ2dnQUFDZmhFZ0FQSEwKU05JUEJCQkFB
QUVFRUVBQUFRUXNFQ0FBc1dDUWFDSUNDQ0NBQUFJSUlJQUFBbjRSSUFEeHkwalNEd1FRUUFBQkJC
QkFBQUVFTEJBZwpBTEZna0dnaUFnZ2dnQUFDQ0NDQUFBSitFU0FBOGN0STBnOEVFRUFBQVFRUVFB
QUJCQ3dRSUFDeFlKQm9JZ0lJSUlBQUFnZ2dnQUFDCmZoRWdBUEhMU05JUEJCQkFBQUVFRUVBQUFR
UXNFQ0FBc1dDUWFDSUNDQ0NBQUFJSUlJQUFBbjRSSUFEeHkwalNEd1FRUUFBQkJCQkEKQUFFRUxC
QWdBTEZna0dnaUFnZ2dnQUFDQ0NDQUFBSitFU0FBOGN0STBnOEVFRUFBQVFRUVFBQUJCQ3dRSUFD
eFlKQm9JZ0lJSUlBQQpBZ2dnZ0FBQ2ZoRWdBUEhMU05JUEJCQkFBQUVFRUVBQUFRUXNFQ0FBc1dD
UWFDSUNDQ0NBQUFJSUlJQUFBbjRSSUFEeHkwalNEd1FRClFBQUJCQkJBQUFFRUxCQWdBTEZna0dn
aUFnZ2dnQUFDQ0NDQUFBSitFU0FBOGN0STBnOEVFRUFBQVFRUVFBQUJCQ3dRSUFDeFlKQm8KSWdJ
SUlJQUFBZ2dnZ0FBQ2ZoRWdBUEhMU05JUEJCQkFBQUVFRUVBQUFRUXNFQ0FBc1dDUWFDSUNDQ0NB
QUFJSUlJQUFBbjRSSUFEeAp5MGpTRHdRUVFBQUJCQkJBQUFFRUxCQWdBTEZna0dnaUFnZ2dnQUFD
Q0NDQUFBSitFU0FBOGN0STBnOEVFRUFBQVFRUVFBQUJCQ3dRCklBQ3hZSkJvSWdJSUlJQUFBZ2dn
Z0FBQ2ZoRWdBUEhMU05JUEJCQkFBQUVFRUVBQUFRUXNFQ0FBc1dDUWFDSUNDQ0NBQUFJSUlJQUEK
QW40UklBRHh5MGpTRHdRUVFBQUJCQkJBQUFFRUxCQWdBTEZna0dnaUFnZ2dnQUFDQ0NDQUFBSitF
U0FBOGN0STBnOEVFRUFBQVFRUQpRQUFCQkN3UUlBQ3hZSkJvSWdJSUlJQUFBZ2dnZ0FBQ2ZoRWdB
UEhMU05JUEJCQkFBQUVFRUVBQUFRUXNFQ0FBc1dDUWFDSUNDQ0NBCkFBSUlJSUFBQW40UklBRHh5
MGpTRHdRUVFBQUJCQkJBQUFFRUxCQWdBTEZna0dnaUFnZ2dnQUFDQ0NDQUFBSitFU0FBOGN0STBn
OEUKRUVBQUFRUVFRQUFCQkN3UUlBQ3hZSkJvSWdJSUlJQUFBZ2dnZ0FBQ2ZoRWdBUEhMU05JUEJC
QkFBQUVFRUVBQUFRUXNFQ0FBc1dDUQphQ0lDQ0NDQUFBSUlJSUFBQW40UklBRHh5MGpTRHdRUVFB
QUJCQkJBQUFFRUxCQWdBTEZna0dnaUFnZ2dnQUFDQ0NDQUFBSitFU0FBCjhjdEkwZzhFRUVBQUFR
UVFRQUFCQkN3UUlBQ3hZSkJvSWdJSUlJQUFBZ2dnZ0FBQ2ZoRWdBUEhMU05JUEJCQkFBQUVFRUVB
QUFRUXMKRUNBQXNXQ1FhQ0lDQ0NDQUFBSUlJSUFBQW40UklBRHh5MGpTRHdRUVFBQUJCQkJBQUFF
RUxCQWdBTEZna0dnaUFnZ2dnQUFDQ0NDQQpBQUorRVNBQThjdEkwZzhFRUVBQUFRUVFRQUFCQkN3
UUlBQ3hZSkJvSWdJSUlJQUFBZ2dnZ0FBQ2ZoRWdBUEhMU05JUEJCQkFBQUVFCkVFQUFBUVFzRUNB
QXNXQ1FhQ0lDQ0NDQUFBSUlJSUFBQW40UklBRHh5MGpTRHdRUVFBQUJCQkJBQUFFRUxCQWdBTEZn
a0dnaUFnZ2cKZ0FBQ0NDQ0FBQUorRVNBQThjdEkwZzhFRUVBQUFRUVFRQUFCQkN3UUlBQ3hZSkJv
SWdJSUlJQUFBZ2dnZ0FBQ2ZoRWdBUEhMU05JUApCQkJBQUFFRUVFQUFBUVFzRUNBQXNXQ1FhQ0lD
Q0NDQUFBSUlJSUFBQW40UklBRHh5MGpTRHdRUVFBQUJCQkJBQUFFRUxCQWdBTEZnCmtHZ2lBZ2dn
Z0FBQ0NDQ0FBQUorRVNBQThjdEkwZzhFRUVBQUFRUVFRQUFCQkN3UUlBQ3hZSkJvSWdJSUlJQUFB
Z2dnZ0FBQ2ZoRWcKQVBITFNOSVBCQkJBQUFFRUVFQUFBUVFzRUNBQXNXQ1FhQ0lDQ0NDQUFBSUlJ
SUFBQW40UklBRHh5MGpTRHdRUVFBQUJCQkJBQUFFRQpMQkFnQUxGZ2tHZ2lBZ2dnZ0FBQ0NDQ0FB
QUorRVNBQThjdEkwZzhFRUVBQUFRUVFRQUFCQkN3UUlBQ3hZSkJvSWdJSUlJQUFBZ2dnCmdBQUNm
aEVnQVBITFNOSVBCQkJBQUFFRUVFQUFBUVFzRUNBQXNXQ1FhQ0lDQ0NDQUFBSUlJSUFBQW40UklB
RHh5MGpTRHdRUVFBQUIKQkJCQUFBRUVMQkFnQUxGZ2tHZ2lBZ2dnZ0FBQ0NDQ0FBQUorRVNBQThj
dEkwZzhFRUVBQUFRUVFRQUFCQkN3UUlBQ3hZSkJvSWdJSQpJSUFBQWdnZ2dBQUNmaEVnQVBITFNO
SVBCQkJBQUFFRUVFQUFBUVFzRUNBQXNXQ1FhQ0lDQ0NDQUFBSUlJSUFBQW40UklBRHh5MGpTCkR3
UVFRQUFCQkJCQUFBRUVMQkFnQUxGZ2tHZ2lBZ2dnZ0FBQ0NDQ0FBQUorRVNBQThjdEkwZzhFRUVB
QUFRUVFRQUFCQkN3UUlBQ3gKWUpCb0lnSUlJSUFBQWdnZ2dBQUNmaEVnQVBITFNOSVBCQkJBQUFF
RUVFQUFBUVFzRUNBQXNXQ1FhQ0lDQ0NDQUFBSUlJSUFBQW40UgorQjlCYUxoZGs0dTBnZ0FBQUFC
SlJVNUVya0pnZ2c9PQoKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQv
aW50ZXJuYXRpb25hbC9iaWRpLWZhbGxiYWNrLWZvbnQtd2VpZ2h0LWV4cGVjdGVkLnBuZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46
bWltZS10eXBlID0gaW1hZ2UvcG5nCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNB
WUFBQUNhZG9Kd0FBQUM3bWxEUTFCSlEwTWdVSEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVVL2padXFk
QWlDRnByRHJKNGtDSkpXYXRvUmRRMi9SRmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNy
ZVJlMmgKQi8rQUhucndaQzlLaFZwRktONnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4
QURYTFNOUFdBQk9RTngxS2lFV2xzZkVKcQovSWdBanFJSlFUUWxWZHZzVGlRR1FZTnorWHZuMkhv
UGdWdFd3M3Y3ZDdKM3JaclN0cG9IaFAxQTRFZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQ
WTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVBMUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNk
QjJsdVpzYkkKRUwxUGtLYTd6TzZyWXFHY1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcx
ak5VLzRtSGhwT2JFaGowY0dEWDArR0FWdHhxcAorRFhDRkY4UVRTZWlWSEhaTGczeG1LNzlWdkpL
Z25DUU9NcGtZWUJ6V2toUDEweHUrTHFIQlgwbTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3
RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNHUEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdO
dHc5dDFHazNUeisKS0NKeGxFTzFDSkw4UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1
Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhSNWFzZVhxOAptdXdhUCt4WGx6SG1naldQeEhPdysvRXRY
NVhNbHltTUZNWGpWZlBxUzRSMVdqRTMzNTlzZnpzOTRpN1BMclhXYzYySml6ZFdtNWRuCi9XcEkr
KzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlLVEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhp
blNiWkg2Sk5WZ1lKcTgKOVM5ZFAxdDR2VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4
ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUzSHZFS0ZscFc1egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdE
eXJGcTFTTlo4Z3ZBRWNkb2Q2SHVncG1OT1dsczA1VW9jc241TzY2Y3BpVXN4UTIwTlNVdGNsCjEy
VkxGck9aVldMcGR0aVoweDF1SEtFNVF2ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pm
NmI4QzgvVVhBZUl1SkFBQWcKQUVsRVFWUjRBZXpkQ2RoMTFkZzQ4QldWU2lVVWxhU2lDWlhLMElE
U29FUkVWTDVRK2xMOVVhTFFnSHhFZkVSQ1FwR1NNVXJSbDNtbwpyNUpVbjZHSUZHVXNKRU1aOTMv
ZDY3TFB0Wi96bnZGOW51ZjFydnoyZGIzdk9YdSs5MitkNTV4OTc3M1cya3MwZVVnR0FnUUlFQ0JB
CmdBQUJBZ1FJTEFLQnV5eUNmZGdGQVFJRUNCQWdRSUFBQVFJRWlvQUV4QWVCQUFFQ0JBZ1FJRUNB
QUlGRkppQUJXV1RVZGtTQUFBRUMKQkFnUUlFQ0FnQVRFWjRBQUFRSUVDQkFnUUlBQWdVVW1JQUZa
Wk5SMlJJQUFBUUlFQ0JBZ1FJQ0FCTVJuZ0FBQkFnUUlFQ0JBZ0FDQgpSU1lnQVZsazFIWkVnQUFC
QWdRSUVDQkFnSUFFeEdlQUFBRUNCQWdRSUVDQUFJRkZKaUFCV1dUVWRrU0FBQUVDQkFnUUlFQ0Fn
QVRFClo0QUFBUUlFQ0JBZ1FJQUFnVVVtSUFGWlpOUjJSSUFBQVFJRUNCQWdRSUNBQk1SbmdBQUJB
Z1FJRUNCQWdBQ0JSU1lnQVZsazFIWkUKZ0FBQkFnUUlFQ0JBZ0lBRXhHZUFBQUVDQkFnUUlFQ0FB
SUZGSmlBQldXVFVka1NBQUFFQ0JBZ1FJRUNBZ0FURVo0QUFBUUlFQ0JBZwpRSUFBZ1VVbUlBRlpa
TlIyUklBQUFRSUVDQkFnUUlDQUJNUm5nQUFCQWdRSUVDQkFnQUNCUlNaUWRRTHloei84SWQxNDQ0
MXpqdldyClgvMHFmZWxMWDBxLytjMXZ4bTU3UG1LWVp2OS8vdk9mMDhVWFg5eUxzMys4TjJPTzN2
ejYxNzlPUC9qQkQrWm9hd3R1cGovKytkN2YKZ2hHTW56SWZaVDUrcitPWGlMaCsrdE9mamw5d0VT
M1JYNWFMYUxkM2l0M005ZWQrY2YzTS92M3ZmMC9mKzk3M3BpNnorVDZlY1ovZApjWEhQNWQvaWJE
OExzNDFsWVMybStSMmIrZ013Wm9VLy9lbFBZNWI0OTU0OTdqTTEyNyt2MmE2L09KZk91TCtIeFNI
MmNlVzdPTVFZCk1ZeE5RUDduZi80bjdiREREbW1KSlpaSUQzclFnOUs3M3ZXdXhTTDJEMzNvUStt
Kzk3MXZPdU9NTStZMG52ZTg1ejNwSXgvNVNQcnEKVjcrYUh2S1FoNlQ0c0EwYjVpT0dhZmIvOWE5
L1BUMzg0UTlQVDN2YTAwcUkvZVBENHA3TjlGZTk2bFZwdDkxMm04MG1ocTQ3S1A3NQozTi9RUUVi
TW1Nc3kvL1NuUDUwMjIyeXo4cmUxeFJaYnBNOSs5ck5sei9IRC9mS1h2N3hNdjh0ZDdwSmUrOXJY
cHR0dXUyMUVWQ205Cis5M3ZUdmUrOTczVHh6Lys4WkhMTGFxWmc4cHlVZTM3enJDZnVmemN6K1Zu
ZGk1dHYvR05iNlNIUGV4aDZZQUREcGhxcy9OOVBPTSsKdStQaW51dS94ZGw4Rm1ZYnk4SmFUUE03
TmxYaFQ3RHdwWmRlbWo3em1jOU1zT1MvN3lLalBsT3ovZnVhN2ZxTGM2bU0rM3RZWEdJZgpWYjZM
UzR3bGptYUM0Y3RmL25LVEYyNk9PZWFZQ1paZWRJdHN1T0dHemV0ZTk3bzUyMkhPMnB1NzMvM3VU
YjY2VmJiNXYvLzd2d3RzCis0NDc3bWp5M1pIZTlMbU1ZWkw5OTNiOHp6ZHZmdk9ibTV5STlTYjNq
L2Rtek5HYlcyNjVwYm4yMm12bmFHc0xicVkvL3ZuZTM0SVIKTERobFBzczgvMUNYdjYzOHBiM0Fq
bGRlZWVYbXdROSs4QUxUaDAySXo4RmIzL3JXWWJNWCtmVCtzaHdWUUw5eC8vaW9kUmQyWGs0QQpt
LzMzMzMvZ3Z5T09PS0pzOXJ2Zi9XN3ovT2Mvdi9uUmozNjB3RzVlOHBLWGxIVVBPdWlnOHQyWUw5
Yk1XT1p2Zi90YmMrU1JSemFYClhYYlpqT2t4Y3ZMSkp6ZHZlTU1iRnBqZVRwanQ1NzdmYnk2L3A5
b1k1K0wxaFM5OFliUGRkdHROdmFuNVBwNXhuOTF4Y2MvbDMrSnMKUHd1empXVmFpNFg1SFp2NkF6
QmtoWTk5N0dPTDFYZmdrREQvNVpQN1AxT3ovYjZZN2ZyL2NwQXBBaGozOTlEZFZMOUwvM2gzMmJs
OAozMSsrYzdudHVkeldrcE5rUS9lODV6M0xZdTNySk9zc3pETDVCenN0dWVSRUlaWE5MN1hVVXVV
cThjTHNhOUE2My83MnQ5TmYvdktYCkZGZWRZOWhxcTYxbUxQYlh2LzQxUGZ2WnowNFBmZWhEMCtN
ZTk3Z3lieTVqR0xmL0djSDhjMlRwcFplZVlkQS9QbWlkMlV5THErengKYjlvaGYyaG54RGxzL2Y3
NEYzWi93N1lmMHllTkpaYWQ3ekpmYWFXVllqZXBmUzBqLy93dnBnMmEzbDJtKzM0dVA0dmQ3Uzdz
Ky82eQpITGFkZnVQKzhXSHJUVEo5VkZrZmYvenhLVjljR2JpWi9mYmJyMHovNGhlL21PSnE3dW1u
bjU3aS9TTWYrY2d5L1R2ZitVNTZ5MXZlCnNzQzZiM3ZiMjlJaGh4eFNwc2R0OExQUFBqdTk0eDN2
U0ovNjFLZDYzeGt4TTU4b3BmdmM1ejRMck45T21NM25mcERmNHZiWitNYy8KL2xHK1orUDd2djIr
Ylk5OTBHdC9PYzczOFF6NzdFNGE5MXpHTjV2UFFsak9OcFpwTFViOWprMzdHei9vc3pCczJpOSs4
WXVVay9yMAp6VzkrYzlnaWkyeDYvK2UxdStQNU5PanVaOVQ3N21kcXR0OFhzMTEvVkp6ZGVjTk1G
N1huc0wrSGJxenh2dCtsZjd4LytXbkdoMW0wCjIraVdienR0Y1h3ZFd3VnJVTkR4bzczWFhudWx3
dzgvUEoxNjZxbnBnUTk4WU5wZ2d3M1M5ZGRmUDJqeE11Mlh2L3hseWxjTTB6YmIKYkpNMjMzenpG
TGRKMnlGKzJOLzR4amVXSC9TdHQ5NDZ4WTk3Tzl4KysrM3A2S09QTHZQMzNIUFBsTFBQZGxaNWpS
K0V1TjIwNXBwcgpsc1JnVkF4Ukx6RmZ1VXFISFhaWXFVWVVKd3F4L1JoT09lV1U5T3BYdnpyRmgv
a0ZMM2hCT2JZeW8vUGZDU2Vja000OTk5eDB6am5uCnBIMzIyU2Y5OFk5L0xITkh4VERxdUR1Ykhy
ci9VVEYzMXgvMmZ0VDZuL3prSjlNcXE2eVNudnJVcDZaYmI3MDFuWGJhYVdWOHh4MTMKVEQvODRR
L0xKdU1rNnpHUGVVekttWHY2K2M5L252Nzd2Lzg3YmJubGxtWGVKSitEcUlzYjVsR042UEdQZjN6
NTNFUlpYM2poaGNOQwo3azFmbVAyTjh2N29SejlhcWhER01mUW5sNzJkOXIyWnp6THYyOVZFbzZP
T0x6WVEzdkYzbWE5NmxyK3phNjY1cG16M2lpdXVTQWNlCmVHQjZ4U3Rla2ZKZHcxTE8rY3A4R3Jh
OWFUOGJrd1EvYkYvOXhsRSsvWDludzlZZGRseVRsSFcwODRvdjh2WmYyK2JyZ2dzdUtOOXIKY1V3
SEgzeHcrdGEzdnBYdWRyZTdwWHgzcVhlWWNSR2lYUy9hQTBUYm04Yys5ckV6cXNCRmd2RzFyMzB0
cmJiYWFtbVhYWFlwMVRyYgpEVngzM1hWcGswMDJhVWRudkM3TTU3NjdnWDdQdWZ5ZWl2ME1LNHRK
dncveUhhVjA3TEhIcG56bktGMSsrZVhkMEJkNFA2b2NSMzN2Cmp2cmVpMjNlNzM3M1MyOS8rOXZM
L3FMSzdmcnJyMS9pV1NDQWYwNkl2NnRwNG83Vmh2MHR4cnhoaGpHdk84ejJzOUJ1YTFRc282emEK
OWJ1dm95eUcvWTR1N0cvOHBFNFIzeXRmK2NwZWRlUTIzbEhuRDZPT08zNy9YdmF5bDVWemx2UE9P
eTl0dXVtbXBicnpKWmRja2lMQgpldnJUbjE3K3JsLy8rdGVYWFgzaEMxOUl6M3ptTTBzTStlNXBt
UmZuSkRHOUhZWVpEUHNPbS9UWXAvMnU3djlNTGN6M1JYdE04Ym93CjYwOTZiTEg5WWQ4Qnd6eW5M
YnZZeHpUeHhQTGRZZGk2L1M2TDZuZXR2M3duK1Y3dUhzOGlmWjkvUk1jT1YxMTFWYWtta2tITHN2
bEsKUTdQZWV1czFPZWxvOGg5bmM4TU5OelQ1Qzd4NTN2T2VOM0JiK2FTK2VjSVRudERrZXV5bGVs
TStFV3J5aVcvejI5Lyt0c2x0TEpyOApZOUNyMXBTVGdHYjMzWGZ2Yldmbm5YZHU4aDk5R2M4L1Zp
V09mSVdqakcrODhjWk4vaEZ2OGg5NWt4dWpsM2lpU3NXd0laOGdOUGxLClpwbWQ3M1EwK1dwbTg2
UW5QYW0zZU55K3pWZmpldU9EM3F5MTFscE4vdExwelJvVnc2amo3bTJnODJiUS9zZkZmT0tKSnph
cnJycHEKYnl2OTQrUFd6MjBRbW55MXQ3Zit0dHR1Mnp6M3VjL3RqZWU2dE0zNzMvLytNcDdiSmpS
UjNTU3FCc1V3eWVjZy84ZzNPZUVyeStjdgo3bEorT1FFcG41a3lzZSsvYnZ6VDdtK1VkNzc2ME9U
Mk1yMjl2ZmpGTCs1VnRldE5IUEptdnNzOC84RTNPZEZyY2xJKzQ5OGFhNnpSCjVFU3BGOVdvNDR1
Rll2bmNicW5KSisvbDd5bmlYbWVkZFpvNDl2Z2J5bmN3bTF6bnZqbnJyTE9hK0J2TXljblF2OHZZ
M2pTZmpWaSsKZitpVzVialkrNDI3NDZQV0hYUmNWMTk5OVVLVmRVNUF5dWN6SnlEOWg5SWNldWlo
VFQ2aFdHQjZkOEpyWHZPYVp0MTExKzFPYXVKNwpKdjQrNC9zdS9NTThKelRsZTJaUTFheFllZHJQ
L1l3ZC9uT2s2eGVUNXVwN2FsUlpUUEo5OE1RblBySEpKL3dseXFqcXV2cnFxemY1CmdzYy9vNTc1
TXVwdmR0VHh4RmJHZmUvRmIwNjMrbTYrT05JODR4blA2QVhRL2V6R3hHbmlqdVZIL1MyT01veDF1
OE5jZkJaR3hSTDcKR21jMXJVWC83OWpDL3NaUDR4VEhjWTk3M0tPY2o4VDdkaGgxL2pEcXVQTkpi
Sk9Uam1idHRkY3UzNWM1NlNxZmo5d090dnorUnhXWApZM0tWOU53MnRvbnZqWHpoczhrWEhNcnkr
ZUphazl1UWxuT1QrOS8vL2lXVVVRYUR2c1BHZlRlM3g5ZStUdk5kM2YrWmltMU04MzNSCjdyUDdP
czM2MDVUcnNPK0FVWjdUbHQwMDhjUXhkLzhleHEzYjc5SWRIN1h1b00vRXBMOXIvZVU3eWZkeXR5
d1g1ZnVGdWdNU1YxZmoKcnNkR0cyMlU4Z2w4ZXNBREhwQnlQZDcwL2U5L2YyRHlGTlVOOGtHVnE5
NXhkVEd1Q041ODg4M2w2bURjSG81RzFPM1Z3TGgxMUY2MQpqU3VVVjE1NVpYclVveDVWdGh0M1Ru
TGQ2YksvZGtleC8rMjMzejdsTDlsU3hXRllqeXF4MzRzdXVxaGNnWTkxWTc5UnpTSWFBdWZDCmJq
YzMwV3MweU84T3cySVlkZHpkOVllOW4yM01rNnlmazQzUytEbXVKc1lRSFE3RUZaLzh4MUhHNHdw
Ty9tRXU3K051U1pSNWxHVU0KazN3T29wT0FLTk1ZNHFweGJDT0crTXlNRzZiZDN5anZ1TU9URSts
MC92bm5sOTNtWkxsM0hPUGlpUG56WGVaZitjcFhValRlNi83NwovZTkvUHlPMFVjZlhMdmljNXp3
bjdicnJydVZ2SWFvajVMWUw1U3BjTkhLUHU1UzU3bnpLQ1g3NU80cS9yV0YvbDdHOWFUNGI3ZjZI
CnZVNFNlNzl4T3o1cTNVSEhGWitiMlpUMW9HT0k3NkNmL09RbkthNmFEaHVXWDM3NTlMdmYvVzdH
N0U5ODRoTnB1ZVdXS3ozVlJWV2oKdUJNU2Q2amlEdklqSHZHSUdjdTJJOU4rN3R2MStsOWJ2M2I2
WEh4UGpTcUxjZDhIY2RjNy92NTIybW1uRWxMcjBjYlgvenJ1YjNiWQo4VXp5dmJmc3Nzdk8rSnVP
TXVyM2F1T1pOdTUydldGL2k2TU0yM1hiMTduNkxBeUxaUktyTnBaNFhSaUxoZjJObjhZcG4zU1Z2
NzF1CnRjWlI1dy9qamp2T2I2S0RoT2lJSnI0djQvTVNuYS84K01jL1RybGRWL2xOeXhjbHl2ZG5U
TXNubGlrbkcrbkpUMzV5ZXZTakgxM3UKaHNhZHRlaWxNODVuUmhrTStnNGI5OTNjTFpONFA4MTNk
ZjlucXQxVy8rZC8yTjlYdTN6LzY2VHJUMU91dzc0RFJubE9XM2JUeE5OLwp6Sk9zMisvU2pvOWFk
OUJuWXRMZnRmN3lIZmU5M0g5TWkzSjhvUktRQ0RBUVc4Z1lYMkdGRlVvMW5YamZQOFFKZnB5RVJ0
MjUrQmZWCnJENy8rYytYS2lLeGpaeFJsaXBBVVRVbmVwOXFUN3lpK2tKVWxlbnVKNnFSdENlMHNa
L3V2R2lqTXV3RUlhcWJSTUhFQjdjZDJ2cmMKOGNjK3pkRGRaNnpYSGUvR01PcTRKOW5mYkdPZVpQ
MjRiUnpKWUZzbEtxcS9SWldOdUwwWjFhNGlNY2tOODN2aHhyRjJqN2QvdlA5egpFT1BkQkM5ZkRl
NGxsTDJOam5qVHYvMys4ZTcrUm5ubnV6WWwwWTJUODZoaXQxYit3YmpyWGU4NllzOHpaM1dQT2Va
MHgrZWl6S002ClNyUWY2UDZMejJ0M0dIVjg3WEw1S21EN05zV1hXQXh0dDhueEk5cmQ1cmp0VGZ2
WjZPMTR3SnR4KzRwVnVxYmQ4WEhyOWgvWGJNdDYKUVBnbGVZN3B1UU9HUWJQTHREaWhicFB6ZHFG
M3Z2T2RLZCtWTFQwSVJqSnkwMDAzbFlRd3Z1dEdEZjJmOC83eDd1ZCsySGFHZWNieQpDL3VaSFZj
V28rS01KRHVTNEc2N3BramErdU5zajJkY09YYlg2eDdQSk45NzdUNG1lWjAyN25hYncvNFd4eG0y
Njdldi9hYjk0NU44CkZvYkZNcTNWd2xoRXZBdnpHeitOVTF4b2llRmU5N3BYeTFZdWNBNDdmNWpr
dUx1ZnI5aG9PSGVIRlZkY3NZekc3MmNNc1h6M055VSsKNi9HNWpJdDRvd3hpM2Y3dnNHbU9QZGFm
OXJzNjR1ay92bEhqM2IrdjJOK2dZZEwxcHptMllkOEJzYTlobjZtSXJUK1dVV1UzVFR6OQp4ejNK
dXYyeHRPUGoxdTMvVEF5ejZJK3BQZjUyUDRQR0ovbk9HTFRkdVo0MmVZdnZXZXc1MzY0c2pjdmo2
dnFnSWJvS2pMc1Q3M3ZmCiswcGJpUGh5aUNIcTFuWGJnd3hhZDlKcFVXODE0b2dFSlg3MFlvaXIr
ZEVJc3EwalBlbTJKbDF1M0hHUDI4NXNZNTVrL1VqbTRrckgKbVdlZVdVNE1vbHZmT0pHS3F6ZHhO
WGUyWGU3bXFrNXAzMzMzTGZWbW94NTlYR21NZGtEek1ZenpqcnNMdWNwSE9jbVBlcmZSN1czNwpJ
ekpYOFl5TFlUYjdtWGJiY1pjcHZtajZ2M3piR01adGJ5NC9HK1AyMWNZMDZIVmgxcDNMc280a1BP
cTJ4eEJYTTZQcjVFbUdTT0RqCmV5MVgxU2lMeCtmK3BKTk9TbkgzTGRxNFJKdUN4V0dZeG5lYVpm
dVBMWkt2V0w5LzZQNVE5czlibUhLYzVIdXZmeitqeGhjbTd2N3QKZGY4V1oyUFl2OTJGR2UvR0Vt
MlhJcDVKZnhjWDFtSmhmdU9uY1dvdnJPU3FPVDJTVWVjUEMvTVppZC9GN21lMSs3NjMwNzQzc1U3
YgpzYzR3Zzc1Vnl1ZzB4eDRyek9WMzlhQjQ1bkxhdE1jMjdEdGdHczlSWlRkdFBGMkxSYjN1TUl0
dVREVzlYK2c3SU5NYzVOcHJyMTN1CmVNUVBjanZFbGNLNG1wTHJ0WlVmNG1oYzNyMDdFY3ZGRjJW
Y3ZZMEdtKzBRNjAxN3h5TFdqYXNSMFZnMCtuQnZoN2h0RzFXTm9scksKTk1Na1h6eXh2VkhIUGNu
K1podnpwT3RIZ2hEUGozanZlOTlicnRiRzdkem92U2V1M013MldZZ3FKM0hDRmJlOG84RnBOSWlh
cjJHVQpkNjRIbWFLOG95Rnh4QklOQ1NQSm1uUllWR1UrS3A1Unh6ZG92Wi85N0dmbGJtSTBvQncw
VExLOXVmcHNUTEt2ZnVOMmZKSjF1OGMzCjI3THViaXQrWUtLS2FQU0NGVmVnb2tINnBFTlUyWW9o
Ym9HM1E5d04yWHZ2dlVzMWppaWYrUnhhdjNIN21NWjNtbVg3OXh2SmYxd3QKSG5VWHFidk93cGJq
cE45N2JiWFQ3ajRIdlo4MjdrSGI2UDR0enNadzBMYW5uZGFOWlZLcmRoOExZN0d3di9IVE9NV3l5
eXl6ekl3cQprS1BPSDZZOTd2YjRwM21OejNuMGhCY1hMRVlaRE5ybU5NZmVyai9iNytwSnZ5L2Ev
ZlcvVHJyK05NYzI3RHRnV3MvK1dMdmowOFRUClhTL2VUN0p1djBzN1BzbTYzZjBOcytndVU5djdp
UktRdG5lWTlqVU9NcnFyN1g2Qnh4V0ZPTUVmTk1RUGJseU5pT3BUdWVGNU9SSE0KRFRaVGJyQlpy
aWpHZHVJREZldEhGYXhJVkNMUjJHT1BQY3FYU3B3UXg1WEgrQmM5VTBSZHl4aGluL0d2SGFMSGk3
WlhxM1phK3hydApHS0tkU0ZUOWFvYzRJWTR2b3R4UXJVeUtoNzFGTE4xdHRzdTJyMUY5SUs0Q3hS
REhNaXFHVWNmZGJxLzcyci8vU1dLT2NzZ050WHFiCjZZNVBzbjZzbURzSUtMMzh4TzNqdUZVZjdY
bml6a0MwMVduL1dOb2R4UEdHY1Z2VlpOem40TC8rNjc5UzdyQ2dkRTM2SC8veEgrVlcKYzd1dFFh
L2QrR1ArTlBzYjVSMC9CTkdiUmd6Ukc5ZFRudktVM3Ayd3FQSVhQYWpFWFpGQnczeVdlZnQ1amM5
Uy94Qi9COTNwbzQ2dgpYYmY3TnhoMW9PTU9WdHUrS3BMdGRuK3gvQ1RibSthejBjYlF2bmJMY3R5
KytvMjc0M0dIYnRqM1IreXIvN2hHbFhVYjJ5U3YwVjRoCjZvQkh2ZmRJbkhPajFkSzJKTmI5NEFj
L1dIcklpbDZ5Mm45UnhTcXVKRWR2Zi9FOUVuWERZNGhxaDkwaGVwYUx2N1hvSFc3WU1NM24KZnRB
MnVuNXorVDAxcmh4SGZSOUVMNFp4TlRqYThiVkR0Tm1MSksvN3VXM25qU3JIVWQrN2szenZ4ZDN2
ZUtoWXhCc241SEdSSy9iWApEdDNQN3JSeHQ5dm9IbFAzYjNHY1lidCsrenJiejBKc1oxZ3NrMWhO
YTlIL094YS8yd3Z6R3orTlUxemh6aDBUekVodW85d2lLUmwwCi9qREpjY2Z2YXRjdDdxN0VlUHQ3
MjdhVGpHTnJoKzVuS0w0em9nZkphRDgyeWlCK1MvdS93Nlk1OW5iZjAzeFg5MyttcHZtK2FQZlgK
ZloxbS9XbU9iZGgzd0RqUGFjcHVtbmppbUx0L0QrUFc3WGZwanMvbjcxcC8rVWJNM2M5cHpPOSt0
cnRsdVVqZjV3Ly95Q0ZmTFM2OQpsT1NnU2c4ditiWlg2ZUVoUTVZZVRISTl0aVo2eVlyZUlYSVZt
K1p6bi92Y3dPM2xKNmlYK2ZtRXR2UUlrNit3bCtWeTlhZlNNMCt1CkZsVjZYNHBlbDNJMW5lWlp6
M3BXNlNFcmxzdTNWNXZZZjc2aTBlUXFEV1c5Nk1rbmYrbVVCN1hsT3lKTlBubHM0dUZVK1FldTlB
STAKS0loWUpoN3M5cVkzdmFuSkp4ZE5iZ2hhZXFXSlpmTkpScE8vTE1wK2NpUFJKdjhnRGRwRWM5
UlJSNVdlTDZMbnFOd0Y4ZGdZaGgxMwovOGFIN1g5VXpQa0h0TWtOODB2TXVXcEhzZW1PUjA4Um85
YnZ4aERISEwxSHRFTStJWjh4SHROamY3a0wzcksvZU9CZDlENDI3bk1RCnZRZEYyY1cvZk5KVkhw
b1lEM2FMMlBxSFFjY3o3ZjZHZWVlcWZFMXVuTmJFNXpjL2s2RThYQzUvU1pVUTR2TVRuNlhjS0xn
L3BESSsKWDJVZUQ4S0xmWVpOYnEvUis5dkpKOXZsY3hiVDQrOGxkMW5hNU9wd0paWmh4eGN6bzFl
V2ZHSlZIbkIzM0hISE5TOTYwWXRLejNNeApMMWV4S3cvWnpFbGxreE94bUZTR1VkdHJsNW5rczlF
dTI3NzJsMldVOTZoOWRZM2I0NDlqajcrekdCKzI3cURqR2xYV2JYeURYdnQ3CndZcUhST2JuL1RU
NUJMVXNIcWJ4UFpXL3pNdDNVZnU1N24rTkhwVml5TlcyU3RrTytxekh0dk9KU1pNVHdySnM5NytG
K1R2cnJoL3YKdTU1eitUMFYyeDVXRnRIeno3anZneWl2WENXd2ZGZm5DMHhOYnBOVmVucUw2ZjNE
c0hLYzVMdC8zUGRlYnVQVzVHb3JwWmU0bDc3MApwYVYzdjl5WlNlazlidEJuZDVxNDR6aEcvUzNH
L0dHR01hODd6TVZuWVZ3c282eW10UmowTzdhd3YvSGhNS2xUTEJ2bkR2R2IzaDJHCm5UL0VNcU9P
Tzg1cjh0MmU4bnVWRTRuU3kxVStZU3gveitHWkcwZVg3K1g0MjQvUGNiNG9XWHJlaTE0RzQ3Y3pY
M2hyNG5zZ1g3VXUKNFl3eStNQUhQckRRMzgzZFk0MzNrM3hYOTMrbTR2dHAydStML3YxT3UvNms1
VHJzTzJDVVoyNDdQSFhaVFJyUG9MK0hVZXQyWFJiVgo3MXAvK1U1eW50WmZub3RxUEs1a0w3SWhQ
dWh4a3R1ZStIVjNuRE95M21qOHdIZUhuTG4xL3BDNzB4Zm1mV3dybnVUZFBkbWVkanU1CkdzRlVx
NHc2N2trMk5OdVlKMWsvWDIyZkVVci8rSXlaVTR4RWw4WGhIVjJQeHBQbDQwZGluMzMyYWZLZHFD
bTJNdDJpZzd4enRsODIKa3E4R04va3E5UUliakIrVTZBSjYyTENveTN4WUhERjkwUEYxbDgvOWdB
LzhHK3N1MDMwL2JudjluNFgrOGU2MnhyMGZ0YTkrNC83eApVZXQyOXp1dXJMdkxqbm9mKzJ1M05X
cTVoWmtYZjVPemNaeGtuLzErNDlhWjFEZTJNODJ5L2Z2TlYzdWJOclpCQ1ZpN2ZHcy83RysyClhX
N1k2N2p2dlRpRzluZW4vemRuMERZbmpidTc3cWkveGRrWWR2Y3g2ZnRSc1l5ejZ0L0h3bGkwMXJH
dGZ1L1lmM3V5M3IrdmFaeHkKbGQ4bTMzbWNzWWxSMjU3MnVHZHN1RzhrdW5uUGR6L0w3MHQwaFRw
b0dHVXdhUGxwamozVzcvOU82UjhmdEk5Mld2czMyWTVQK3pydAorcE1jMjdqdmdHazlSeDNUSlBF
TVczL1V1djB1L2VPajF1M3ViNXhGZDlsYTNpOFJnZVlzM2tCZ3pnWGlDZExSMVZ5MEpla08wZmc3
CnVzckxkODI2ay8rbDc2TURoT2dWTGJvS05oQWdRSUJBZlFMUnFENGVjaGx0L2FMNjFhSWNvbHZ0
cUtaNS9QSEhMOHJkMmhlQmFnVWsKSU5VVzNlSWZlRFQwamkvbDZQbzJudUVTN1EveWJjalM2MWJV
ZjF5Y2hxZ25IMTBOR2dnUUlFQ2dYb0ZJUW5KVjhOTDJZMUVkUmI2VApVdHFteHUvZE9lZWNzNmgy
YXo4RXFoYVFnRlJkZkl0LzhOR1ZienpQSlhwd3lQWHBGNnU3SG91L25nZ0pFQ0JBWUhFWHlPMDRl
cDNUCnJMUE9PdVc1SEl0N3pPSWo4SzhXa0lEOHEwdkEvZ2tRSUVDQUFBRUNCQWo4R3dsTTFBM3Z2
NUdIUXlWQWdBQUJBZ1FJRUNCQVlCNEYKRmlvQmliN3ViN3p4eG5rTWEvaW1vMS9vZURqaHNDSDNG
SkNpYi9saFEvLzgzQU5CdXZqaWk0Y3RQaWZUNHdGNDBROTg5emtxd3pZOApsN2I5eHpiT2JsaE0v
ZE56RjNqOWs0d1RJRUNBQUFFQ0JBZ1FtRWhnNmdRa0hnVWZUL1k5NDR3ekp0ckJYQy8wcWxlOXFq
eGNiZEIyCjR5bm51Ui91ZE1BQkJ3eWFYWjZDM3AyZiswdE91ZXU4OHFUamdTdk13Y1RvQ1NxZXVC
MFBXSXlIbWtWU01HeVlTOXRCeHpiS2JsaE0KZzZiSEE5YmFoL29ObW04YUFRSUVDQkFnUUlBQWdX
RUNFeVVnY2RJY1QvV01JWjVtblI4SU9HeDc4ejQ5bnFBK3JKZUo2SUZpMjIyMwpUVXN0dGRUQU9Q
cm54eE5LOTkxMzM0SEx6c1hFdUZNUVQwV09KeDdIRThIalNjbjVZWTB6TmoxZnRvT09iWlRkaktE
R2pPU0hPYWJOCk50c3NIWDMwMFdPV05Kc0FBUUlFQ0JBZ1FJREFUSUd4Q1VnODB2N1p6MzUydXZE
Q0MzdHJ4Z2wrZmtweGIzeFJ2c2xQcjAzcnJydnUKQXJ1TWJ2Qml5RTlDVC9tcDFoUFBYM3JwcGVm
dFdLSWIydnpBcFY0OFcyMjExWXk0NXR1Mi85aUcyYzBJYXNLUktJT296cFlmTERqaApHaFlqUUlB
QUFRSUVDQkFna05LQ1orcDlLaWVjY0VJNjk5eHp5MTJIL0FUcjFOYi9qeFArcU5LejVwcHJsb2Uz
WFgvOTliMDE0MWtQCmNlVi9tMjIyS2M5L3VQVFNTM3Z6dW0veTA4alR5MTcyc3JMc2VlZWRsemJk
ZE5OU0plcVNTeTVKY2ZMKzlLYy9QYTIyMm1vcFAwMjcKckphZjVKcisrNy8vTzIyNTVaYTl6ZVFu
WWFiblAvLzU1ZUZEQngxMFVMcjg4c3Q3OCtMTnVQa3pGczRqazhZZTYwVjdqYmk3Y2RoaApoNVZx
WVljY2NraDUxa1hNTytXVVUxSitzbmJLVDR4TkwzakJDOUxoaHg4ZWsyY004Mms3WTBkNXBOOHU3
bWp0dGRkZUphNVRUejIxClBCaHdndzAyU05PVTR6T2YrY3gweEJGSGxFU2tmMy9HQ1JBZ1FJQUFB
UUlFQ0F3VW1PU1I3V3V0dFZhVGs0RGVvaHR2dkhHenlTYWIKTlBrSjEwMXVqTjdrRTlkbS8vMzNM
L1B6Q1hmemhDYzhvYm50dHR1YWVIVDhnUWNlMkt5eXlpcE5mdEJiYi8zMlRVNUFtcHgwTkd1dgp2
WFp6MWxsbk5UbFphSjd4akdjMCtRblpaWCszM0hKTGM4d3h4elQ1Ymt1VEczQTN1VEYzazVPTVp1
V1ZWMjQzMFR6eGlVOXNjaHVMCk1oNzdXMzMxMVpzZGQ5eHg0dmtubm5oaXMrcXFxNWJscDRrOVZz
aFBQVzFPUC8zMHNtNiswOUhrSjJrMytRRjdaVHoreTA4QmIvTGQKbU43NG9EZnpaUnY3Nmg1YnYx
MStMa2V6M25ycmxiTEx5Vjl6d3cwM05PdXZ2Mzd6dk9jOXI0UTVpVVVjYzc0YjF1VDJKb01PelRR
QwpCQWdRSUVDQUFBRUNDd2lNdlFQU1ppMzlWYTdpU2RiYmI3OTlXbU9OTmNvRDV0cWVwL0pKZDhw
N0tWVzJMcmpnZ25JSDQrYWJieTRQCm8ydTMxYjQrOElFUExJM0dvM0gyN3J2dm5wWmRkdGx5SnlF
YU9SOTU1SkVwcWd3ZGV1aWhaWHN4TFNjeWFhT05OaXJqc1kyNHMzTCsKK2Vlbm5YYmFxV3d5cWw3
dHNzc3U3ZWJIenU4dCtNODMwOFFleDNiUlJSZVZ1d2l4ZWxSTDIyKy8vZEtuUC8zcEZIZHdwaG5t
dzdaLwovLzEyMFpGQStJZG5sR1cwNjlsdXUrM1M5Ny8vL2JMcUpCWnh6UEgwOEd1dnZiWi9kOFlK
RUNCQWdBQUJBZ1FJREJSWWN1RFVBUlA3ClQ1Szc0M0VTR3RXUllvaVQ3MGdjb3YxQkRGdHZ2WFg2
L09jL256YmNjTU15M3Y5ZmR6c3hiNFVWVnBpeHlJb3JybGpHSTRtSklaWnYKMS9uS1Y3NlNvdHJR
U2l1dFZPYkZmOHN2di96RTgzc3IvZlBOTkxGZmR0bGxKU0dLay9CMnlIZEF5dHNycjd4eVJqV3hk
djZ3MS9aNAoydm5kOGRuWXR0dHJYN3QyTWExL1BPenZ1T09Pc3Zpa0ZySE9xRzZSMjMxN0pVQ0FB
QUVDQkFnUUlCQUNFeWNnazNMbGFsT2xJZmdPCk8rd3c2U296bG91N0dOMFQ4Tzc3R1F2bWtadHV1
aW5GL3ZxSGRwMXg4L3ZYbXliMmFGc1N5MGZpRlVsUERBczJZaGNBQUNBQVNVUkIKVkhFM0lSckJ0
KzFrK3JjLzIvRnA0bHRVKzRxRzlNc3R0OXhzZDJkOUFnUUlFQ0JBZ0FDQmZ4T0JoYTZDTmN3bnQr
Y29kenphSytteApYRlRKaXJzVmN6M2s5aDRwN293TXF3STBibjUvUE5QRUhuZGVvaGVvZVBaSU84
UURCNlBSK2JDN1BlMXkvYTl0d3RRL3ZYOThtdmo2CjE1MTJmTko5UmFQOTNJNWwyczFibmdBQkFn
UUlFQ0JBNE45VVlLSUVKS280eGQyRUdISmo4dEt6Vk53QmFJZmJiNys5MS92VDNudnYKWFhxU3lv
M1B5N0p4VWg3UG54alVkVzZzSDFmUTQwUytIZUs1R0RFZTAyT0lFL29ZMm01Mlk3K3h2MGhxOXR4
enozTEg0ZVNUVHk3TAp4SC9SRmlYdUZNUTJ4czJQNWFPYjNIWmYwOFNlRzh1WDlpOVJ2YXdkb2dl
dVNFeDIzbm5uTWlrM3hDOXhkNjNhWmR2WCtiVHRIbHZzCnIyc1g0ekcvZFczbnQyVXhpVVU4V1Qz
czR2a3FNVVRaUlk5bDdXZWxUUFFmQVFJRUNCQWdRSUFBZ2E3QUFzM1NCMHc0NnFpalNrOVUKdVpG
MWs3dHNMVDA3NVlmUk5ibXRRM1BGRlZjMCtZcC9rNnNlTmJtNzNyTDJ1OTcxcmlZL2NLK3NFejFn
blgzMjJRTzIyalM1blVIcAp0U28zaUc1eXQ3Qk43Z0syOUNLVjR5dTlYOTE2NjYzTnNjY2UyOFQ0
SG52czBVUnZUYmtMM2pMKzFyZSt0Y2tudk0yWlo1N1o1SFlJCkpZWlladGRkZDIzeTh6Yks5Tmpw
cVBuUmU5UG1tMjlldG5mU1NTZVY3VTBhZTJ3N2pqMGMzdlNtTnpXNU1YeVR1N1Z0cnJubW1walYK
NUFieXpXTWU4NWl5N2R3RmIzUGRkZGVWNmYzL3paZHQvN0hsQnZNejdLSUhzNXo4RlA4b2g2dXV1
cXIwUGhibDlyblBmYTZFT2M3aQp0Tk5PYTNiYmJiZmVJVjE5OWRXbHpEL3dnUS8wcG5sRGdBQUJB
Z1FJRUNCQW9DdXdSSXgwRTVKaDcrT3VRdTcrZHRqc0JhYkgxZlhjClJXL3BYU25hUmN6bkVGZnQ0
ODVNeEJkVnY1WlpacGtadXhzM2Y4YkNlV1NhMklNdm5tY1NiVmVpVjZtRkdSWm4yMUVXVDNuS1U5
SngKeHgyWDRzbm83UkJWNHFMSExRTUJBZ1FJRUNCQWdBQ0JRUUlUSnlDRFZqYnQzMWZnRmE5NFJj
clBXeWtQbS96M1ZYRGtCQWdRSUVDQQpBQUVDMHdwSVFLWVZzM3g1cGt0MHM3ekZGbHZRSUVDQUFB
RUNCQWdRSURDVmdBUmtLaTRMRXlCQWdBQUJBZ1FJRUNBd0c0R0plc0dhCnpRNnNTNEFBQVFJRUNC
QWdRSUFBZ1ZaQUF0SktlQ1ZBZ0FBQkFnUUlFQ0JBWU40RkpDRHpUbXdIQkFnUUlFQ0FBQUVDQkFp
MEFoS1EKVnNJckFRSUVDQkFnUUlBQUFRTHpMaUFCbVhkaU95QkFnQUFCQWdRSUVDQkFvQldRZ0xR
U1hna1FJRUNBQUFFQ0JBZ1FtSGNCQ2NpOApFOXNCQVFJRUNCQWdRSUFBQVFLdGdBU2tsZkJLZ0FB
QkFnUUlFQ0JBZ01DOEMwaEE1cDNZRGdnUUlFQ0FBQUVDQkFnUWFBVWtJSzJFClZ3SUVDQkFnUUlB
QUFRSUU1bDFBQWpMdnhIWkFnQUFCQWdRSUVDQkFnRUFySUFGcEpid1NJRUNBQUFFQ0JBZ1FJRER2
QWhLUWVTZTIKQXdJRUNCQWdRSUFBQVFJRVdnRUpTQ3ZobFFBQkFnUUlFQ0JBZ0FDQmVSZVFnTXc3
c1IwUUlFQ0FBQUVDQkFnUUlOQUtTRUJhQ2E4RQpDQkFnUUlBQUFRSUVDTXk3Z0FSazNvbnRnQUFC
QWdRSUVDQkFnQUNCVmtBQzBrcDRKVUNBQUFFQ0JBZ1FJRUJnM2dYbUxBRTUrT0NECjA4dGU5cko1
Q2ZnZi8vaEgybW1ubmRMNzN2ZStlZG4rNHJUUnZmZmV1eHpydWVlZU95OWgzWGpqaldYNzRmbVRu
L3hrWHZaaG93UUkKRUNCQWdBQUJBZ1NHQ1N3NWJNYTAweSs5OU5LMHdnb3JUTHZhUk1zM1RaTSs5
N25QcGMwMjIyeWk1V3RlNkd0ZisxcTY2YWFiMHE2Nwo3am92aC9HblAvMnBXTWJHLy9qSFA4N0xQ
bXlVQUFFQ0JBZ1FJRUNBd0RDQk9ic0RNbXdIcGhNZ1FJQUFBUUlFQ0JBZ1FLQVZtTE03CklPMEcv
MVd2bi9uTVo5STU1NXd6Y1BjcnI3eHlPdTY0NDlMVlYxK2Qzdm5PZDZiRER6ODhyYjMyMmpPVy9k
Q0hQcFMrL09VdnB5V1cKV0NMZDYxNzNTdXVzczA1NjFyT2VsWlpiYnJuZWN1ZWZmMzY2NXBwcjBt
R0hIZGFiRm04dXYvenk5TzUzdnp1OTZVMXZTaXV0dE5LTQplYldPZlBDREgweWYvZXhuaDRiL2pH
YzhJejM1eVU5TzU1MTNYdnJpRjcrWURqbmtrR0xXWFNIdVdwMXh4aGxsMHJMTExwdFdYWFhWCnRN
MDIyNlR0dDkrK3UxajY1amUvV2Z4T1BQSEV0TXd5eS9UbTdidnZ2dW52Zi85N2V2M3JYNS91Zi8v
Nzk2WjdRNEFBQVFJRUNCQWcKVUxGQXJ0NDBkdmkvLy91LzVzVXZmbkh6cUVjOXFza241MDArK1d6
eXlmcU05UjcrOEljM2ozdmM0NXA4a3QvazZrTk5QaEZ2Y3BXcAo1dk9mLy95TTVXTGs5Tk5QTDl0
YWNjVVZtL3ZlOTc3TkZsdHNNV09acjM3MXE4MldXMjdaeFB5dHR0cXF1ZWlpaTVwTTNCeHh4QkV6
Cmx1dU94TDVqbVVILzl0dHZ2N0pvUHNGdGxseHl5V2I1NVpkdnZ2NzFyM2RYYnpiY2NNTUYxbjMw
b3g4OVk1a0REenl3TFBQeWw3OTgKeHZTVFR6NjV1ZHZkN3RiODlhOS9uVEc5TzVMYld6UXZmZWxM
bTN6eTNkenpudmRzN24zdmV6Yzc3N3h6ODYxdmZhdTdXTFBHR211VQpmYno5N1c5dlRqdnR0Q1pj
WS9uZGR0dXQrZVV2ZnpsajJkdHV1NjE1eVV0ZTBteTAwVVpOVHBTYXRkWmFxOWxoaHgyYVAvLzV6
NzNsClB2S1JqNVJ5Q012dHR0dXUrZGpIUHRZN3ppaXJZY05ESHZLUTNuS0RUSE9WdTdMcXd4NzJz
TEpjSEg5dW96TmpjemxCR2JpTlY3emkKRmIzbHJyamlpbUlYKzRqNGZ2LzczNWQ1ZDl4eFIyL2RY
Ly82MTczbHZTRkFnQUFCQWdRSUVLaGJJRTBTL2p2ZThZNlNWTVNKOWljKwo4WWttVGs3anBMYzd4
SW55eGh0djNEejR3UTl1NG9RL1RvempwRGhPK0xzbnVxOSs5YXZMaVdWdUJOMmNmZmJaelljLy9P
R21lMEtmCjd5YVVFOUxkZDkrOXlWZlFtOWhudmh0UjFobVZnSFJqaWZlLytjMXZ5am9YWEhEQmpG
a1JTNXo4NzdYWFhqT21kMGQrOTd2Zk5hOTcKM2V2SytqLzcyYys2czVvMkNjbDNRWHJUSTdHSVpH
dlVrTzhtTkVzdnZYUkpRSEpqL2VJWEo5MzV5bjd6dDcvOXJiZHFtNEE4OFlsUApiTzV5bDdzMGQ3
LzczVXNjc1d5YzdPY0crV1haU0Q3eVhad3lMNUs5UGZiWW95U0FrV2prZGg1bG1XNnk4ZmpIUDc3
WmM4ODlleWY3CnNiMXV1ZlFDeUc4aTBZbGtzL3N2NG94MThsMk1KcmJWeHBIdlhwU2tKK1pGRXBM
YnI1Uk5SVEsyN2JiYjlyWVJuNWw4ZDZOc0k3Y1YKNnU2dWVjTWIzdERrTzA5bDNvNDc3dGo4NVM5
L2FhNi8vdm95dnZycXE4OVkxZ2dCQWdRSUVDQkFnRURkQWhNbElQMkhHRWxCbkhEKwo4SWMvN00y
S0JDUk9oQysrK09MZXRFc3V1YVFzZDlCQkI1VnBQLzNwVDh0SjZwcHJydG5rcWpXOTVicHZudktV
cHpUM3U5LzlacHlVCjMzenp6V1U3M1VTbHU4Nmc5OE1Ta0ZqMjBFTVBiU0tHVVVPdWFsWDJlZFZW
VjgxWUxJNWxsVlZXS2ZQaUxrV2NpTWZKZFNRaG80WkkKYXRxcis3SGN0ZGRlVzdZUmp0Ly8vdmQ3
cTdZSlNOeHBDci9iYjcrOTNIMks1ZUpmZTBjcEVyd1lqeVNsdTM2YkdNVHJCaHRzVUphSgpaSzhk
Y2pXMTNuNi8rOTN2dHBQSHZ1WnFVR1c5YnVMVnJoUjNYS0xzSTU1SUtJY05ZZGtlUnh4WGQzanNZ
eC9ibS9mc1p6Kzd5VlhtCnluanVGYXk3bVBjRUNCQWdRSUFBQVFLVkMwelZDRDFmcVM4OU5PV1R4
M3dlbWRLdmZ2V3I4dHIrdCttbW02WmNkYW9kVFRrcFNWSDMKLzl2Zi9uYVo5bzF2ZkNQbGs5VzB5
eTY3cEh6aTNGdXUreWFmWUtkOEZUemQ5YTUzN1UzT1ZaREsrMmlmTVJkRHZySmZ1cUQ5d3gvKwpN
SFJ6dVpwV21aY1RoOTR5OFQ3YU5FUVh1VTk0d2hOU1RtUlN2aU5TSEk0NjZxamVjb1BlNURzVEti
WjV3dzAzcEM5ODRRc3BlZzFyCmg1eVl0Rzk3cjBjZmZYVEtWZE5LbTRnWHZ2Q0Z2ZW10Wld3amhq
aVc5ZFpicnplL05mcjV6MytldnZlOTc1WHArWTVGYjM1T1NucnYKMjJWN0V4YnlUYjZ6VThvMFZz
OUp6ZEN0UFBTaEQrM055M2RJZXUvam1DNjg4TUswMm1xcmxXbGgvS3BYdmFwNDVic2p2ZVc4SVVD
QQpBQUVDQkFnUXFGOWdjQmJRZDF5NVNrNTZ6bk9lVTdyWmpSUGU5bmtjT2ZucVczTG1hSzUrbGRa
ZmYvMzAyOS8rdHN4b256c1JEWkVICkRmbE9SNHB1WXZNZGhrR3o1MnhhZXlLYzcwSU0zV2FiQUhX
UDhRTWYrRUJhZDkxMVMyS1EyMWFVWTN2dmU5K2JJbG5JZHdDR2JpdG0KUkxJV2lWVTBmby9YOEJ3
MXhFbDlPMFNEK0Vqa1lzanRJY3JyZGRkZFYxN3puWVB5MnYvZmozLzg0OTZrelRmZnZQZCt2dDQ4
NkVFUApLcHZPZDJPRzdpSk1jeld0TXIvcmV1eXh4OGFkdUhUQ0NTZWszTmFvekk4RUpWZmxTL21P
ME5EdG1VR0FBQUVDQkFnUUlGQ2Z3RVFKClNOeXhpQjZOY21QMGxLdFJwZGUrOXJYbFNDZTVnaDVY
OTl1VHlGeTFxcXlYR3g0UGxHcFBUbi8wb3g4Tm5EOFhFM1BWcEhUS0thZVUKVFVXUFZ0TU1jZGZo
a1k5OFpGa2w3bWpFblpEY25pUjk2bE9mR3J1WmZmYlpwOXo1eUkzRVU5d0pHblgzcFg5amtiaTFk
NTFheS9adQpRV3hyME5EdFRhcE4vQVl0Tjl0cGJTOVY3WjJLVVVsZDdLdjl6TFN2OFN5U3M4NDZx
eVFtMGF2V205Lzg1cFNyNFpXd29pZXVYL3ppCkY3TU4wZm9FQ0JBZ1FJQUFBUUtMa2NEWUJDU2Vu
QjBKdzR0ZTlLSVpWWDNpR09Ka3ZqdDByMnJIOURoNWpDcEhqM2pFSThwaThiclUKVWt1VkUvZnVl
dTM3T0ttUExuTXZ1K3l5ZGxKNS9kLy8vZDhaNHdzN2Nzc3R0NlNuUGUxcEtmZkNWZmFUZTZDYWFs
TnhWeUgzMnRWYgo1NEVQZkdDNUd4VGQ5NzcvL2UvdlRSLzBKcW9ZeFJEZDFVYlZ0TzRRSi9IOVE3
ZGFWdTRGckRlN3ZadlJKa0x4NE1JNHJ2NGg3clMwCjFkeWlPOTBvcXlpZk5sSG9YMzVoeGlQWjJI
cnJyY3Nkb1BhT1Rkd0JhWThudXVnOTg4d3paL3hyNTMzMG94OHRkNFhDTkdLTExub2oKYVlxWVk1
Mm9LcGJiOGFUYzVtWmhRck1PQVFJRUNCQWdRSURBNGlxUVQwcEhEdEdiVWI3YTN1VGtvYm55eWl1
Yi9DeU1acE5OTmlrTgpoUE16TlhyclJpUDBmRlc3eWMvWWFLS3hlZlNrOU5TblByWDBoSlVUa2Q1
eTBaMXZ0bWorMy8vN2YwMDA5STd1Y0tQQjhhMjMzbHFXCk9mTElJOHY4YUl3ZVBWaTk1ald2YWZK
SmQ1azJtMGJvK1RraHpYM3VjNS9TN1c4MGhzNkpTT25OS1hZYWpiRnpPNHNaLzU3NzNPZVcKZmNZ
eFJEZkVNZHpqSHZkb29rZXcvaUc2eUkxRzQvM2Q1SGFYeTIxR3l2YWl0Nnc0M2x3TnJJeUh4UUVI
SE5CRXIxWXh0STNRYzZKVwplZ2Q3MTd2ZVZYcWVpdVdpbTlwMnlIZUptbHd0cTJ3anR3RnBqai8r
K05LYlZNU1NxM3VWeGFMWHExZ3Yva1UzdzdGY3QzdmQyVFpDCno5WFJ5cmJqbUhLVnNGNlBYYm50
U1lraFY3bnE3YitObzMyTkhyT2lZWDU4bm1KYWZMNjZRMDQ2U3dQN21EZXFZWHQzSGU4SkVDQkEK
Z0FBQkFnUVdmNEdKZXNHSzUxRkVFaEluZzlHelVqd0RJcDZSRVFsSGZvQmZPY3BJUU9LNUQvdnZ2
My9Ubm5qR3lYUTh3Nk03UkVJVAppVVRiSldzc205dUpOTzJ6SG5MVnBQS2NrZGgyN0M4M2JHL2la
RHZlejZZYjN2ZTg1ejJsbTlxMlc5MUlBdUo1SU5IbGEvVHNGTnNmCjlDKzZFYzUzR01ySmNzelBE
YVM3aDFQZTU3dEVKWEhvZjdaSWQ4RndpRzZLWXh2UkRlMUpKNTFVRXA1Mm4yMXZXMjBDOHJhM3Zh
M1gKaTFWWVJQZTBFVWQzaUdkbzVEc2h2UzVzWTF0UlRtMGlGSWxJZElVYjA2TzNySGdmTWJiN0hO
WU5iM2NmN2Z0QnZXQkZsOHE1YWxucApxU3VXeTNkRHlyWlBQZlhVSnJ6Yi9ReDZmZEtUbmxRMm5S
L2dXSmFMNTVmMER3Y2ZmSEJKRXR2ajZaOXZuQUFCQWdRSUVDQkFvRDZCCkpTTGtmSUk0ZG9pcU0v
bmt2ZmRFNnFnMkUyMExIdkNBQjVSNi9WRmRKcXBYNVpQcjByNGhxZ1hsQitNTjNXNzBxSldmOVZD
MjEyMnYKMEs2UTc0aWsvREM2VWpXbm5UYWIxNXhvcEdnVTMxWkxtczIyQnEwYnNRNDZqdjVsd3l3
LzI2TEVFdlBhTmc1UkJXblFFRlhnb3Zlcwp0aWV3UWN0RU80cFlMcDRXbnA4YnNzQWkwYmcvamp2
YXE4emxNT2t4TCt3K284ZTBxTnFWRTdDRjNZVDFDQkFnUUlBQUFRSUVGak9CCmlST1F4U3h1NFJB
Z1FJQUFBUUlFQ0JBZ1VLSEEyRWJvRlI2VGtBa1FJRUNBQUFFQ0JBZ1FXRXdGSkNDTGFjRUlpd0FC
QWdRSUVDQkEKZ01DZFVVQUNjbWNzVmNkRWdBQUJBZ1FJRUNCQVlERVZrSUFzcGdVakxBSUVDQkFn
UUlBQUFRSjNSZ0VKeUoyeFZCMFRBUUlFQ0JBZwpRSUFBZ2NWVVFBS3ltQmFNc0FnUUlFQ0FBQUVD
QkFqY0dRVWtJSGZHVW5WTUJBZ1FJRUNBQUFFQ0JCWlRBUW5JWWxvd3dpSkFnQUFCCkFnUUlFQ0J3
WnhTUWdOd1pTOVV4RVNCQWdBQUJBZ1FJRUZoTUJTUWdpMm5CQ0lzQUFRSUVDQkFnUUlEQW5WRkFB
bkpuTEZYSFJJQUEKQVFJRUNCQWdRR0F4RlpDQUxLWUZJeXdDQkFnUUlFQ0FBQUVDZDBZQkNjaWRz
VlFkRXdFQ0JBZ1FJRUNBQUlIRlZFQUNzcGdXakxBSQpFQ0JBZ0FBQkFnUUkzQmtGSkNCM3hsSjFU
QVFJRUNCQWdBQUJBZ1FXVXdFSnlHSmFNTUlpUUlBQUFRSUVDQkFnY0djVWtJRGNHVXZWCk1SRWdR
SUFBQVFJRUNCQllUQVVrSUl0cHdRaUxBQUVDQkFnUUlFQ0F3SjFSUUFKeVp5eFZ4MFNBQUFFQ0JB
Z1FJRUJnTVJXUWdDeW0KQlNNc0FnUUlFQ0JBZ0FBQkFuZEdBUW5JbmJGVUhSTUJBZ1FJRUNCQWdB
Q0J4VlJnemhLUTg4NDdMNjI5OXRycFAvN2pQK2J0VU04NAo0NHl5andjKzhJSHBWNy82MWJ6dHA2
WU5uM1BPT1dtOTlkWkxhNjIxVmpyLy9QUG5QUFRYdnZhMXhmd0JEM2hBQ3ZkYmJybGx6dmRoCmd3
UUlFQ0JBZ0FBQkF2OCtBa3ZPMWFFKzRRbFBTTTk3M3ZQU3VlZWVPMWViWEdBN2UrNjVaOXBvbzQz
U3BwdHVtdjcwcHo4dE1IL1UKaE05ODVqTXBUdFlIRFN1dnZISTY3cmpqMHRWWFg1M2UrYzUzcHNN
UFA3eWNkSGVYUGV5d3c5SnR0OTJXbGx4eXlYVGYrOTQzYmJIRgpGbW5ublhmdUxmTDN2Lzg5dmZL
VnIweFBmZXBUMHlNZThZamU5SGp6N25lL085MTY2NjNwNVM5LytZenBjekZ5cjN2ZEsvM2xMMzlK
ClAvN3hqOVBQZnZhenVkamtqRzJzdXVxcTZYNzN1MS82em5lK2szNzN1OStsUC96aER5bThKaDJ1
dmZiYUZFbk1zQ0VTbTJPUFBiYlkKL3VkLy9tZjVERDMrOFkrZnNYanM5NFV2ZkdHWmR0ZTczalhk
NXo3M1NSdHNzRUY2NWpPZm1aWmRkdG5lc3JIY1MxN3lraFJsOWVBSApQN2czL2FTVFRrcVhYSEpK
Mm0yMzNkTHV1Ky9lbSs0TkFRSUVDQkFnUUlEQXYwQ2dtY1BoUGU5NVQ1TlB6T2R3aXd0dUtpY0JU
V1pxCmJyamhoZ1ZuanBqeXVNYzlycXdYNi9iLzIyKy8vY3FhSjU1NFlwTVRqR2I1NVpkdnZ2NzFy
L2UyOXUxdmYzdUJkV0liYjN2YjIzckwKL1BLWHYyenlTWEd6d2dvck5GLzYwcGQ2MCtQTmR0dHQx
K3kxMTE0enBrMDc4bzkvL0dQb0tqbGhLdkdkY3NvcFE1ZVo3WXljRkpSOQpUT3YrNmxlL2VxQmRX
d1k1V1NpaHZlNTFyK3N0OS9TblA3MzUyOS8rMWd2NWd4LzhZRzlldTE2OFB2U2hEMjF5OGxXVysr
dGYvOW84CjdHRVBLOHZsQkttNS9QTExlK3MvK2NsUEx0TlBQdm5rM2pSdkNCQWdRSUFBQVFJRS9q
VUNFMWZCaXF2WWozclVvOUk5N25HUHRNa20KbTZUamp6OCs1Wk8rZkI2NDRQQ05iM3dqN2J2dnZt
bWJiYlpKaHh4eVNQckZMMzZ4d0VLZi8vem55MTJFNVpaYnJseGhQL2pnZzlPVApudlNrbEUvMlp5
d2JWNjczM252dnROVldXNlVYdk9BRktaL296NWcvNlVoT0NsSW03djM3elc5K1UxYTk0SUlMMHFt
bm5scmVSd3pmCit0YTMwdDN1ZHJmMDFyZSt0YmZwZktMYld5L3VkUHowcHo5TmozM3NZOVBIUC83
eDNqSnhWZjVyWC90YVdtMjExZEl1dSt5U3Z2clYKci9ibVhYZmRkY1dzTjJIQ04zR3NjVmNnN3Zq
Yy9lNTNMLzkyMkdHSEZOc2JOUHpnQno5SSsreXpUNGt0amlYaTdCKysrTVV2cHEyMwozanJsUktu
Y3lZaHlDdHVjS014WU5PNFc3YkhISG1uYmJiZE5yMy85NjlQdHQ5OCtZLzZrSXpmZWVHUDUzTVJu
Si83Rlp5ZUdwWmRlCnVvekhYYTBZRGpqZ2dIVEVFVWVrdU1OeDFsbG5wWnpNbHVueFh4eFh1MzVP
TW5wM1lPS3VUQnhQREhGbkt1NDByYkxLS3FXYVdOeEYKK2Q3M3ZsZm10WGVHNHU2WmdRQUJBZ1FJ
RUNCQTRGOHNNRW5lazA4K200Yy8vT0ZOUGtGc1B2dlp6elk1K1NoWCtqLzN1Yy9OV0QzdQpnT1Fx
UWMweXl5elR4QjJIbkRBMEs2NjRZcE9yTERVLytjbFBlc3QrNGhPZmFKWllZb2x5eCtCTmIzcFQ4
MS8vOVY5TlhMWE9GTTBuClAvbkozbkpubjMxMnVTT1IyeDQwY1pWL25YWFdhWEtWb0xMY3RGZmll
eHY5NTV1Y2dKVHQ1QVNrZjFaejZLR0hObXV1dWVZQzA3c1QKWHZPYTF6VHJycnR1ZDFLNUdoL3g1
WlBnNXA3M3ZHZHp6VFhYTkRtaGFlNXlsN3MwbDExMjJZeGxKeG5KMWNKS2pQZS8vLzJiZ3c0Ngpx
TmxzczgzS2VFNXdacXplM2dFSnYrNi9pT05IUC9wUmI5a1BmZWhEeFQyV2lUczE5Nzczdlh2TDc3
cnJycjNsM3ZqR04vYW1kN2NYCjc2Ky8vdnJlY2d2ejVvYy8vR0haOWpEZjV6em5PV1grMDU3MnRL
R2JqN3NkdVlwVldlNzAwMCtmc2R6YjMvNzJYdXk1WFV4ejRZVVgKbG1PT3orWHZmLy83R2NzYUlV
Q0FBQUVDQkFnUVdQUUNjV1YvcXVHUGYveGpjOGNkZHpTNS9uM3ovT2MvZjhhNmtZREVTZXI3My8v
KwozdlE0NlZ0ampUV2EzRGk5VE10M0VKclZWMSs5aVNvOTNlSGlpeTl1OGxYeEpsOTVMNVAvL09j
L043bnRRZGxQckJORHZPWXI1bVVmCnN6MFJIcFdBZlBqREh5NzdHSFhDK3BhM3ZLWEpkejFLWE8x
L3NWNGtTZm1LZlRtNXo0M3l5M0cyeDk0dU4rbHJWRGVMcW1CdDlhdWIKYjc2NUpET1JXSFNITmdH
SjZaRzA1VHRRdldRbHZHS0lKTEpOT0tMY1l0c3h0Q2ZzdVgxRUdjOTNMRW9DR2VWNDVKRkhOdmx1
U3lubgpOaEdacmZ1NEJDVGlqMzJ0di83NkpaNWgvK1cyTm1XNWJyV3pjSXJFSkQ1SGtYREVkcFph
YXFueW11K09ETnVVNlFRSUVDQkFnQUFCCkFvdFFZS0lxV05Id09Cb0tQL3JSank1VnNLTGFWUFM0
MUZaeHlTZDZ2U0dxOXJUVmFtSmliazlSR2d0SEZhZ1k4Z2xzYVN6OTNPYysKdDR5My8yMjU1WmFs
T2syK2MxSW14YmFqQ2xHK0lwN3lIWVF5TFY1emU0MTJsWGw3alNwWE1VUUQ2bUZEeEpMTGFjYnNh
TUMrLy83Nwpwd2M5NkVFcDMrVkpOOTEwVS9yQ0Y3NlE4aDJGR2N0Tk9wS1R2WlN2NEpmRzdqbDVL
RlhXb29yU2IzLzcyNEdiQ1Bkb2FKM3ZWcFhxClRMRlFXMFVwR3RqLyt0ZS9McGF2ZU1VclNoV3Nt
QitOdTNQYmw1U1RraGhOT1JGTU9jRXNEZTJqekhOQ2xkNzg1amVYNmw5bGdYbisKTCt4aWlHcG11
UjNJMEwxRmxiVCtJY3pqT1BQZG5KVHZwSlZxWGxGTk1DZThwVno2bHpkT2dBQUJBZ1FJRUNDdzZB
VW1Ta0J5bGFTVQpyNVNYOWh6UjIxSytFcDl5bytvRlRzQWovRGhSN3ZaTUZOUHlIWkRTZzFLOGoy
UW1oamdwN0I4aXdjbFZ0c3JrdHB2ZDlvUzBYVGEyCk5aOUR2b3FlOGxYMXNvdGNoV3JpWGNWSisw
VVhYZFRyQVN2YXYwVHZTN0c5aGUwWmJLZWRkaW85Y3NXMmp6NzY2SFRnZ1FlbWZFVi8Kb0hzRUdz
bENPN1R2bzYxTG5NaTM3cmw2WEVraTIrWGlOZHFMN0xqamptVlNsRzBNMFR0Vm0vaEZlVWJibHZr
ZXZ2emxMNWQyUUxHZgppRG1TMVdGRHJzSzN3S3pUVGp1dFRJdTJLK0gvM3ZlK3Q0eEhHNUJjL1d5
QjVVMGdRSUFBQVFJRUNCQlk5QUlUSlNCeEZmK2xMMzFwCmFaUWNpVU4wL1JxTmZnZWRCT2EyR2Vu
U1N5K2RjU1FmL2VoSFUzdFhJYnBQalFiSXViclNqR1ZpNU1vcnIrd2xLcmtLVHBrZjYzYUgKL3ZI
dXZObStqMmRjNUxZSEtiY3JLQTJkbzBINnBFTnU0MUlXalM1NjJ5SHVoa1FEK2x5VmFlb3VjbU43
c2Y5SUFxSkJlSFF2RzJVUQpWLzRIdWNjK0k5RnA3OHJrcWt3bGpIZzJTNVJWK01lMm92dmlidVA1
YUZRZkorZlJHRCtHMWozM0l0VnJ4QjZOdlhQVnFUSi9QdjZMCkJ1NHZldEdMMHZiYmI1L2l1TnU3
RzkvOTduZkw3c0xoekRQUG5QR3ZUVTdpc3hheHh0Qk9pMmVpeEJCM3o2SkwzaGhpKzRNNlF5Z3oK
L1VlQUFBRUNCQWdRSUxEb0JDYXA3aFZ0R0tKUmVkVGZ6eWQ4ell0Zi9PTFNGaUgzbnRSclN4RDE3
M05WblZMZlB0KzFhUExWL3liMwpDdFhrRS9EU0NEaWZIUGQybForWFVScEI1MlNpeVNmRVRiNnIw
dVNxUUFzMDFvN3VVNk11ZnpUNGpxNXdZNzNjQzFmWnh4VlhYTkhiCjNzSzg2VzhEa3A4VFV0cDBS
SVA1cTY2NnFvbEcwRzA3bGZ3QXhCSmZ4TmorZTh4akh0UGtPd1BGSXRxbVJJUDhYR3BOdm5Nekk1
em8KbmpjYXBFZWJoV21HMkdZMDFJNXRSbnViWEIycXlUMUJsZkdZRmczbFk4aDNYWHJMeGZTTk45
NjR5YzhuNlMzM2puZThvN2Zibk1TVQo2ZEVCUUQ3WmI2TEJkOXY0djIzUEU5M2Z4alppV3l1dHRG
SXB2NXdROUxiM2xLYzhwZGNtcGJmaEtkNE1hZ055MUZGSGxlMUhod1hSCkJxUnRpSjU3WGl0Ymps
Z2pubUgvb254aWlPNlRZNWx1QndYUjlpVTZDNGpwb3hxMmx3MzRqd0FCQWdRSUVDQkFZTjRGNG9y
NTJDRk8KOWpmZmZQTnlFcGZiSURSeEVob056dU5FTmhvK1IvS1JyNnFYK2RId09uZnAydVIySW1V
OFR1aHoxWmdaKzRobk43enFWYThxSi9CeApZaGduOHJrS1VQT3BUMzFxeG5KeDhoNDlQclVubm5G
Q0h0dUsvVWJqNHR4R1pNYnkwNHowSnlCeFBKRms1ZW82WlRQUkExV2MwRWFzCnVUcFNMNFkybHZh
MVRWS2lNWFJNaThiei9VTnNPNUtIT0JtZVpvZ2VucUlucDlodUhIT3VrdFhrdGpNbFVjdHRac3Ft
OHAyQjB1ZzYKbmw4U1NVbVVUeXdmUFpGRjRoYUpURHRFNXdISEhITk03MFE5bG91VDgraGhLejhv
c1Yyc0pKcTVxOTdlTVQva0lROXBudldzWjVYeApzQmgwakwyVng3d1psSURrT3gzTmhodHUyT1Iy
UDJYdEUwNDRvZXdyampjYTNyZkhGUEgyLzRzRzV4RjdXNTR4UDdlUm1SRkY3aEs1CmRHandsYTk4
WmNaMEl3UUlFQ0JBZ0FBQkFvdGVZSW5ZWlQ1cG0yaUlSdFZSL1NvYW9ZOGJvbXBQTkhxTzUyTU1H
MktacURhVEU0dFMKTFd2WWN0SG9PdG93NU81b2h5MHk2K254TlBHb3F0UzJlNWoxQmpzYkNPTFlm
anhmWkdHRzNKVnVhUlRlVmswYXRZMm9ZaFdOOTl1cQpWNE9XalhpaUxVOTBHQkJ0ZG9ZTlVTVXRx
a2ZOcDN1Nzcyam5FdTFUNW11STQraHZtelJmKzdKZEFnUUlFQ0JBZ0FDQjRRSlRKU0RECk4yTU9B
UUlFQ0JBZ1FJQUFBUUlFeGd0TTFBaDkvR1lzUVlBQUFRSUVDQkFnUUlBQWdmRUNFcER4UnBZZ1FJ
QUFBUUlFQ0JBZ1FHQ08KQkNRZ2N3UnBNd1FJRUNCQWdBQUJBZ1FJakJlUWdJdzNzZ1FCQWdRSUVD
QkFnQUFCQW5Na0lBR1pJMGliSVVDQUFBRUNCQWdRSUVCZwp2SUFFWkx5UkpRZ1FJRUNBQUFFQ0JB
Z1FtQ01CQ2NnY1Fkb01BUUlFQ0JBZ1FJQUFBUUxqQlNRZzQ0MHNRWUFBQVFJRUNCQWdRSURBCkhB
bElRT1lJMG1ZSUVDQkFnQUFCQWdRSUVCZ3ZJQUVaYjJRSkFnUUlFQ0JBZ0FBQkFnVG1TRUFDTWtl
UU5rT0FBQUVDQkFnUUlFQ0EKd0hnQkNjaDRJMHNRSUVDQUFBRUNCQWdRSURCSEFoS1FPWUswR1FJ
RUNCQWdRSUFBQVFJRXhndElRTVliV1lJQUFRSUVDQkFnUUlBQQpnVGtTa0lETUVhVE5FQ0JBZ0FB
QkFnUUlFQ0F3WGtBQ010N0lFZ1FJRUNCQWdBQUJBZ1FJekpHQUJHU09JRzJHQUFFQ0JBZ1FJRUNB
CkFJSHhBaEtROFVhV0lFQ0FBQUVDQkFnUUlFQmdqZ1FrSUhNRWFUTUVDQkFnUUlBQUFRSUVDSXdY
eWdoWVFRQUFJQUJKUkVGVWtJQ00KTjdJRUFRSUVDQkFnUUlBQUFRSnpKQ0FCbVNOSW15RkFnQUFC
QWdRSUVDQkFZTHpBckJPUVAvemhEK21uUC8zcCtEMU5zTVRmLy83Mwo5TDN2ZlcrQ0pTMUNnQUFC
QWdRSUVDQkFnRUNOQXJOS1FONzk3bmVuZTkvNzN1bmpILy80ckkvOUc5LzRSbnJZd3g2V0Rqamdn
Rmx2CmEzSGF3UHZlOTc2MHhCSkxsSDlubkhIR3JFTTc5ZFJUMDMzdmU5K3l2ZWM5NzNtejNwNE5F
Q0JBZ0FBQkFnUUlFRmlVQWt2T1ptY0gKSG5oZ091YVlZMmF6aWQ2NmozakVJOUsyMjI2YnJyNzY2
dDYwN3B2UGZPWXo2Wnh6enVsTzZyMWZlZVdWMDNISEhWZldmZWM3MzVrTwpQL3p3dFBiYWEvZm14
NXZERGpzczNYYmJiV25KSlpjc0ovQmJiTEZGMm5ubm5Ydkx4TjJYVjc3eWxlbXBUMzFxaWxpNlF5
UmF0OTU2CmEzcjV5MS9lblR6UisvMzIyNjhZM1hUVFRhbHBtb25XR2JYUWYvN25mNll2ZmVsTDZV
TWYrdERRN1YxNzdiWHB0YTk5N2RETlBPQUIKRDBqSEhudHM4WWp0UlNMeitNYy9mc2J5di92ZDc5
SUxYL2pDTXUydWQ3MXJ1czk5N3BNMjJHQ0Q5TXhuUGpNdHUreXl2V1ZqdVplOAo1Q1hGOThFUGZu
QnYra2tublpRdXVlU1N0TnR1dTZYZGQ5KzlOOTBiQWdRSUVDQkFnQUNCZjIrQnFSS1F2LzN0YitV
RXZrdTIxRkpMCmxhdngzV25UdnYvSFAvNlI3bktYdTVSdHgrdWc0ZmpqajA5Zi92S1hCODFLY1pJ
Znd4ZS8rTVgwbnZlOEo1MSsrdW5sL1NNZitjZ3kKL1R2ZitVNTZ5MXZlVXQ1My8zdmIyOTZXRGpu
a2tETHAxNy8rZFRyNzdMUFRPOTd4anZTcFQzMHFQZTV4aitzdCtyR1BmYXljZ1BjbQpUUGtta3A0
WTRrN0lYQXpqdHZmaEQzODRmZkNESHh5NnEwakdZb2hqUGV1c3M4cS9wei85NmVrakgvbElpbVFq
aGs5Lyt0TUR0L0hXCnQ3NDFYWEhGRlNuS1BUNFBrVFJlZGRWVjZkeHp6MDBYWEhCQjJuenp6Y3Y2
bi8zc1o4dTBSei82MFdYY2Z3UUlFQ0JBZ0FBQkFnUkMKWVBEWmZwOU5uTmkvOFkxdkxDZnhXMis5
ZFlvVCt1N3dwei85cWR4MWlLcEJjUUo2elRYWDlHYmZmdnZ0NmVpamp5N3I3N25ubnVuTgpiMzV6
YjE2czkvem5QNzljalQvb29JUFM1WmRmM3B2WC95YXUrc2NkaFBiZmIzN3ptN0pJblBSR3RhUVlE
ajc0NFBTdGIzMHIzZTF1CmQwdHhvdHdPRDMzb1EzdnJ4WjJPYUxQeTJNYytka2JWc2JqQy83V3Zm
UzJ0dHRwcWFaZGRka2xmL2VwWDI5WFRkZGRkbHpiWlpKUGUKZVArYk9Oays2cWlqU2pLend3NDdw
SmU5N0dYbGprbi9jbGRlZVdYYWZ2dnRTekt6OTk1N3AyZy8wdzdoRlBISEhZa25QdkdKWlZzUgph
d3cvLy9uUHk3VHczWGZmZmRNZi8vakhkcldCcnpmZWVHTjYxS01lMWZ2WHhyNzAwa3VYYVZFT01V
UjF0eU9PT0tJa0haR0lSUExXCkRqLzR3UTk2NjBmVnVMakxGRU9VZlh3ZVlvaEVLTzRPcmJMS0t1
bVdXMjRwZDFIYU5qdy8rOW5QeWpJYmJiUlJlZlVmQVFJRUNCQWcKUUlBQWdTS1FUK2hIRG4vKzg1
K2IrOTN2ZmsxT0FNcHlyMzcxcTV0Y3BhYTN6aHByck5FODVDRVBhZklWOExMTVdtdXQxYXl6empy
TgpYLy82MTdKTXJ1YlU1S280NVgxT01LSU9VdlBOYjM2empPY1Q3U1pmZFMvdjg4bDJzL3JxcXpj
NzdyaGpHUi8zWDA1QXlyWnlBckxBCm9vY2VlbWl6NXBwckxqQzlPK0UxcjNsTnMrNjY2M1luTlgv
NXkxK2FWVmRkdGNrbjFNMDk3M25QSmlkU1RVNW9tbnhYcHJuc3NzdG0KTE51T1hILzk5VTArRVc5
eUFsSW01VHMxSmE1OTl0bW5YYVFKa3pqdWZPTGYvUGEzdjIxeWtsSEc4MTJIM2pMNWprdlpiM2kv
OTczdgpMZlBqTmQ4ZGF2SkpmQm4vd0FjKzBQemYvLzFmRStheHZmMzMzNyszL3FnM1AvemhEOHZ5
dzB5ZTg1em5sUGxQZTlyVGhtNG15ak5YCnNTckw1VHRNTTVaNys5dmZYcVpIVEhHc0YxNTRZWlB2
OWpUM3V0ZTltdC8vL3ZjemxqVkNnQUFCQWdRSUVDRHc3eTB3OWc1SVZMWEoKSjZhOU93RFI2THg3
aHlPZmRLWjhBcHQyM1hYWFVtM3BEVzk0US9yUmozNlV2dkNGTDVTMkNuSFZQNjdHeHhCM1IwNCsr
ZVFVYlJBdQp2ZlRTZFA3NTU2ZWRkdHFwekl1cVYzSG5ZUzZHMk45UGZ2S1RHWGNZK3JlNy9QTExw
MmkvMEIwKzhZbFBwT1dXV3k1ZGZQSEZwVXBZCnhCUHRTZmJhYTY4RjJvVzA2OTF4eHgybEtsTGNl
WWxodmZYV0s2OWYvL3JYeTJ2M3Y3aXpzZEpLSzZWblAvdlpaWExzTDlxR25IZmUKZWFWNldkeXBp
YnNVT1FsTE9la3JkeGJDNk52Zi9uYTVBeEhPRzIrOGNhOTZXUDdvZGplLzBPK2ozVXNNMy8zdWQ0
ZHVJKzUyckwvKworbVYrVHRSNnkwVU03M3JYdTByY09lRklOOXh3UTlwdXUrM0tIYWRvbHhQT0Jn
SUVDQkFnUUlBQUFRS3R3TmcySU5GdTRjUVRUeXhKClJiNGlYNnBKNWF2YTdmcmw5UjczdUVkdlBC
cDN4eEJWZUtKZHhWWmJiVFdqN1VNMFhJOGh0aFdObXVPRXZCM2laSFV1MmtuRWlYd00KMFJoN3M4
MDJhemMvNHpVU252NFQrR2pBbnU4cXBBYzk2RUVwa29OSUJINzg0eCtYZnpOVzdvekVNVVMxcEh6
bnBDUVIwZXRWREZHOQpiTmpRTnBDUC9VZVZwYWo2RlVOVXNZb2hFclJJVEdKNDNldGVWMTZqYWxn
N3RFYnRhenQ5WVYvamVHT0lxbWFEMnZtMDI3MzczZS9lCnZ1MjlobE4wSEJBTnphTUtXVFJtandR
bDM4MHFscjBGdlNGQWdBQUJBZ1FJRUNDUUJjYmVBUW1scU9jZnZWMUZiMGR4ZFh2VWlXK2MKUEsr
d3dncmwzeTkvK2NzRjJvdTA2bkdDSGUwRytvZFIyKzVmZHRCNE5HZy81WlJUeXF6K096V0RsbStu
eFoyTWl5NjZxSGVuWTV0dAp0a25SazFOc0x4cFlqeHJpams4MHRvN0c2MDkrOHBOSExWcm14VjJr
ZG9nN1REZmZmSE1aemRXcjJzbTkxOVlvMnJYTXh4QU4rNS8wCnBDZVZUVWZ5a2F1VURkM05vTEk1
N2JUVHl2Sjc3TEZIQ3JOSUxHT0lOaURSVTVlQkFBRUNCQWdRSUVDQVFGZGdiQUlTVjdlam9YZzAK
SG8rVDVYRkRuSGpHSFpKTk45MjBYTW1QT3lGeFpiMGQ0cXAvVk11S0srUng0aDEzS2VacWlKUDFx
QzRXdldCRm8rbTJXdFFrMjQ4cQpXekcwZHlIaWZkd05pY2JpUng1NVpEbWhqbW45UXpUSWpxNW00
K1Q5aEJOT1NOMjdRZjNMdHVQUkhYQTdSSld0M0JhbGpNYmRrT2p1CnR6dmMvLzczTDZOeE4ya3Vo
MmowL3FJWHZhZzBpbzlqYis5dXROV3d3dTdNTTgrYzhhOU5UcUw2WE50aFFEc3R0LzBvNFVVMXNi
YVgKcmRqK0wzN3hpN2tNMjdZSUVDQkFnQUFCQWdRcUZ4aWJnTVJkaExnTEVJbEk5TW9VdlVQRjNZ
SklKTm9xVEcxdlRXRVJ2VlhGQ1huMAp2QlM5TFMyenpETHB1Yzk5Ym1rM0V0dUtIcUxpcERybVJi
dUNhQlBTRG5FQ0hrbEVkM3Z0dkhHdjBWWWlONFl2YlV2aXFuNzBjaFhkCnc4WVFYZEpHOWFEdXY2
ZzZGTDFReFYyZE9MNm9haFZEVktYcUR0RjliM1JOMno0VG96c3Yzb2RIckIvVmp1S2tQcEtyR0dK
YS85QlcKeTJxWENZT29XaFU5VzBVQ0VKN3hmSTVZTjVLVTlvNUtKSDV4eHloNjc4cU4xSHZIMVY4
VnJuOS9vOFpqUDFHMUx1NVdmZktUbit3OQpxNlB0NFN4Y252V3NaODM0RjNlSVlvZzdURzF2VjRN
U3Q5aDJKRlhSVTlrTFh2Q0NVV0dZUjRBQUFRSUVDQkFnOE84bWtFOTZSdzY1Cnk5Y21kOFBhNVBZ
WlRVNGttdnhBd0NZMzFHN3l5V2tUUFRibHFsbWxsNmJjK0x6SmpZNmJmTlc3eVNmUHZXM21aMnVV
M3AyeWE1T3IKWnpYNUpMWTNMMTloYi9JSmNMUGhoaHMydVFwUGt4dXlON25OU0JQVHh3Mzl2V0Rs
TG1TYjZFa3EzNEVwcTBZc0VYUDBiQlg3amYwUAorcGZiTEpUbDgwbDFtUi9IMUQvRXRuUEQ5aVlu
R1Ayem1weVlsZjNFdHFPM3F0d2xjUEdKbnJOaW16RkU3MUg1SVljbHZ0aFdia2plCjVJYmZUVTYy
ZXR2N24vLzVuNTVUYmhmVDVJY0ROam5SSy9Pak42emNPTDMwZnBXNytXMGk1bkRiY3NzdGU3MlQ5
VFkwNE0yZ1hyRHkKblk3aW5oT0pza2ErZTFPT1AzY0swT1E3VTAxT3VnWjZ4WEZHTFBsT1RkT1dR
VXlMM3IyNlEwN01TdTlwWC9uS1Y3cVR2U2RBZ0FBQgpBZ1FJRVBnM0YxZ2lqaitmUUk0ZDR1cCsr
d1RzM0NYckF0V3hvcXBOVkh1S3V4cjlRK3ppVjcvNjFZenFUZTB5Y2Jjam43eVdkZVBPClN0d3hX
WmdoN2tERXZxTngrVndQRVg5c2YxZzdqTENKcWtoUm5TcGlpTjYxNHBqYWFrbHg3UEdja1RqVzcz
Ly8rK1V1Uy9RWTFUOUUKTmE2NHM3RGlpaXVtM0dYdWpObHh0eU9lQnhMN2lPMUZPNUwyb1lFekZw
eGlaRGJlayt5bSs1bVpaSG5MRUNCQWdBQUJBZ1FJM1BrRgpKazVBN3Z3VWpwQUFBUUlFQ0JBZ1FJ
QUFnZmtXbVB2YkJmTWRzZTBUSUVDQUFBRUNCQWdRSUZDdGdBU2sycUlUT0FFQ0JBZ1FJRUNBCkFJ
SDZCQ1FnOVpXWmlBa1FJRUNBQUFFQ0JBaFVLeUFCcWJib0JFNkFBQUVDQkFnUUlFQ2dQZ0VKU0gx
bEptSUNCQWdRSUVDQUFBRUMKMVFwSVFLb3RPb0VUSUVDQUFBRUNCQWdRcUU5QUFsSmZtWW1ZQUFF
Q0JBZ1FJRUNBUUxVQ0VwQnFpMDdnQkFnUUlFQ0FBQUVDQk9vVAprSURVVjJZaUprQ0FBQUVDQkFn
UUlGQ3RnQVNrMnFJVE9BRUNCQWdRSUVDQUFJSDZCQ1FnOVpXWmlBa1FJRUNBQUFFQ0JBaFVLeUFC
CnFiYm9CRTZBQUFFQ0JBZ1FJRUNnUGdFSlNIMWxKbUlDQkFnUUlFQ0FBQUVDMVFwSVFLb3RPb0VU
SUVDQUFBRUNCQWdRcUU5QUFsSmYKbVltWUFBRUNCQWdRSUVDQVFMVUNFcEJxaTA3Z0JBZ1FJRUNB
QUFFQ0JPb1RrSURVVjJZaUprQ0FBQUVDQkFnUUlGQ3RnQVNrMnFJVApPQUVDQkFnUUlFQ0FBSUg2
QkNRZzlaV1ppQWtRSUVDQUFBRUNCQWhVS3lBQnFiYm9CRTZBQUFFQ0JBZ1FJRUNnUGdFSlNIMWxK
bUlDCkJBZ1FJRUNBQUFFQzFRcElRS290T29FVElFQ0FBQUVDQkFnUXFFOUFBbEpmbVltWUFBRUNC
QWdRSUVDQVFMVUNFcEJxaTA3Z0JBZ1EKSUVDQUFBRUNCT29Ua0lEVVYyWWlKa0NBQUFFQ0JBZ1FJ
RkN0Z0FTazJxSVRPQUVDQkFnUUlFQ0FBSUg2QkNRZzlaV1ppQWtRSUVDQQpBQUVDQkFoVUt5QUJx
YmJvQkU2QUFBRUNCQWdRSUVDZ1BnRUpTSDFsSm1JQ0JBZ1FJRUNBQUFFQzFRcElRS290T29FVElF
Q0FBQUVDCkJBZ1FxRTlBQWxKZm1ZbVlBQUVDQkFnUUlFQ0FRTFVDRXBCcWkwN2dCQWdRSUVDQUFB
RUNCT29Ua0lEVVYyWWlKa0NBQUFFQ0JBZ1EKSUZDdGdBU2sycUlUT0FFQ0JBZ1FJRUNBQUlINkJD
UWc5WldaaUFrUUlFQ0FBQUVDQkFoVUt5QUJxYmJvQkU2QUFBRUNCQWdRSUVDZwpQZ0VKU0gxbEpt
SUNCQWdRSUVDQUFBRUMxUXBJUUtvdE9vRVRJRUNBQUFFQ0JBZ1FxRTlBQWxKZm1ZbVlBQUVDQkFn
UUlFQ0FRTFVDCkVwQnFpMDdnQkFnUUlFQ0FBQUVDQk9vVGtJRFVWMllpSmtDQUFBRUNCQWdRSUZD
dGdBU2sycUlUT0FFQ0JBZ1FJRUNBQUlINkJDUWcKOVpXWmlBa1FJRUNBQUFFQ0JBaFVLeUFCcWJi
b0JFNkFBQUVDQkFnUUlFQ2dQZ0VKU0gxbEptSUNCQWdRSUVDQUFBRUMxUXBJUUtvdApPb0VUSUVD
QUFBRUNCQWdRcUU5QUFsSmZtWW1ZQUFFQ0JBZ1FJRUNBUUxVQ0VwQnFpMDdnQkFnUUlFQ0FBQUVD
Qk9vVGtJRFVWMllpCkprQ0FBQUVDQkFnUUlGQ3RnQVNrMnFJVE9BRUNCQWdRSUVDQUFJSDZCQ1Fn
OVpXWmlBa1FJRUNBQUFFQ0JBaFVLeUFCcWJib0JFNkEKQUFFQ0JBZ1FJRUNnUGdFSlNIMWxKbUlD
QkFnUUlFQ0FBQUVDMVFwSVFLb3RPb0VUSUVDQUFBRUNCQWdRcUU5QUFsSmZtWW1ZQUFFQwpCQWdR
SUVDQVFMVUNFcEJxaTA3Z0JBZ1FJRUNBQUFFQ0JPb1RrSURVVjJZaUprQ0FBQUVDQkFnUUlGQ3Rn
QVNrMnFJVE9BRUNCQWdRCklFQ0FBSUg2QkNRZzlaV1ppQWtRSUVDQUFBRUNCQWhVS3lBQnFiYm9C
RTZBQUFFQ0JBZ1FJRUNnUGdFSlNIMWxKbUlDQkFnUUlFQ0EKQUFFQzFRcElRS290T29FVElFQ0FB
QUVDQkFnUXFFOUFBbEpmbVltWUFBRUNCQWdRSUVDQVFMVUNFcEJxaTA3Z0JBZ1FJRUNBQUFFQwpC
T29Ua0lEVVYyWWlKa0NBQUFFQ0JBZ1FJRkN0Z0FTazJxSVRPQUVDQkFnUUlFQ0FBSUg2QkNRZzla
V1ppQWtRSUVDQUFBRUNCQWhVCkt5QUJxYmJvQkU2QUFBRUNCQWdRSUVDZ1BnRUpTSDFsSm1JQ0JB
Z1FJRUNBQUFFQzFRcElRS290T29FVElFQ0FBQUVDQkFnUXFFOUEKQWxKZm1ZbVlBQUVDQkFnUUlF
Q0FRTFVDRXBCcWkwN2dCQWdRSUVDQUFBRUNCT29Ua0lEVVYyWWlKa0NBQUFFQ0JBZ1FJRkN0Z0FT
awoycUlUT0FFQ0JBZ1FJRUNBQUlINkJDUWc5WldaaUFrUUlFQ0FBQUVDQkFoVUt5QUJxYmJvQkU2
QUFBRUNCQWdRSUVDZ1BnRUpTSDFsCkptSUNCQWdRSUVDQUFBRUMxUXBJUUtvdE9vRVRJRUNBQUFF
Q0JBZ1FxRTlBQWxKZm1ZbVlBQUVDQkFnUUlFQ0FRTFVDRXBCcWkwN2cKQkFnUUlFQ0FBQUVDQk9v
VGtJRFVWMllpSmtDQUFBRUNCQWdRSUZDdGdBU2sycUlUT0FFQ0JBZ1FJRUNBQUlINkJDUWc5Wlda
aUFrUQpJRUNBQUFFQ0JBaFVLeUFCcWJib0JFNkFBQUVDQkFnUUlFQ2dQZ0VKU0gxbEptSUNCQWdR
SUVDQUFBRUMxUXBJUUtvdE9vRVRJRUNBCkFBRUNCQWdRcUU5QUFsSmZtWW1ZQUFFQ0JBZ1FJRUNB
UUxVQ0VwQnFpMDdnQkFnUUlFQ0FBQUVDQk9vVGtJRFVWMllpSmtDQUFBRUMKQkFnUUlGQ3RnQVNr
MnFJVE9BRUNCQWdRSUVDQUFJSDZCQ1FnOVpXWmlBa1FJRUNBQUFFQ0JBaFVLeUFCcWJib0JFNkFB
QUVDQkFnUQpJRUNnUGdFSlNIMWxKbUlDQkFnUUlFQ0FBQUVDMVFwSVFLb3RPb0VUSUVDQUFBRUNC
QWdRcUU5QUFsSmZtWW1ZQUFFQ0JBZ1FJRUNBClFMVUNFcEJxaTA3Z0JBZ1FJRUNBQUFFQ0JPb1Rr
SURVVjJZaUprQ0FBQUVDQkFnUUlGQ3RnQVNrMnFJVE9BRUNCQWdRSUVDQUFJSDYKQkNRZzlaV1pp
QWtRSUVDQUFBRUNCQWhVS3lBQnFiYm9CRTZBQUFFQ0JBZ1FJRUNnUGdFSlNIMWxKbUlDQkFnUUlF
Q0FBQUVDMVFwSQpRS290T29FVElFQ0FBQUVDQkFnUXFFOUFBbEpmbVltWUFBRUNCQWdRSUVDQVFM
VUNFcEJxaTA3Z0JBZ1FJRUNBQUFFQ0JPb1RrSURVClYyWWlKa0NBQUFFQ0JBZ1FJRkN0Z0FTazJx
SVRPQUVDQkFnUUlFQ0FBSUg2QkNRZzlaV1ppQWtRSUVDQUFBRUNCQWhVS3lBQnFiYm8KQkU2QUFB
RUNCQWdRSUVDZ1BnRUpTSDFsSm1JQ0JBZ1FJRUNBQUFFQzFRcElRS290T29FVElFQ0FBQUVDQkFn
UXFFOUFBbEpmbVltWQpBQUVDQkFnUUlFQ0FRTFVDRXBCcWkwN2dCQWdRSUVDQUFBRUNCT29Ua0lE
VVYyWWlKa0NBQUFFQ0JBZ1FJRkN0Z0FTazJxSVRPQUVDCkJBZ1FJRUNBQUlINkJDUWc5WldaaUFr
UUlFQ0FBQUVDQkFoVUt5QUJxYmJvQkU2QUFBRUNCQWdRSUVDZ1BnRUpTSDFsSm1JQ0JBZ1EKSUVD
QUFBRUMxUXBJUUtvdE9vRVRJRUNBQUFFQ0JBZ1FxRTlBQWxKZm1ZbVlBQUVDQkFnUUlFQ0FRTFVD
RXBCcWkwN2dCQWdRSUVDQQpBQUVDQk9vVGtJRFVWMllpSmtDQUFBRUNCQWdRSUZDdGdBU2sycUlU
T0FFQ0JBZ1FJRUNBQUlINkJDUWc5WldaaUFrUUlFQ0FBQUVDCkJBaFVLeUFCcWJib0JFNkFBQUVD
QkFnUUlFQ2dQZ0VKU0gxbEptSUNCQWdRSUVDQUFBRUMxUXBJUUtvdE9vRVRJRUNBQUFFQ0JBZ1EK
cUU5QUFsSmZtWW1ZQUFFQ0JBZ1FJRUNBUUxVQ0VwQnFpMDdnQkFnUUlFQ0FBQUVDQk9vVGtJRFVW
MllpSmtDQUFBRUNCQWdRSUZDdApnQVNrMnFJVE9BRUNCQWdRSUVDQUFJSDZCQ1FnOVpXWmlBa1FJ
RUNBQUFFQ0JBaFVLeUFCcWJib0JFNkFBQUVDQkFnUUlFQ2dQZ0VKClNIMWxKbUlDQkFnUUlFQ0FB
QUVDMVFwSVFLb3RPb0VUSUVDQUFBRUNCQWdRcUU5QUFsSmZtWW1ZQUFFQ0JBZ1FJRUNBUUxVQ0Vw
QnEKaTA3Z0JBZ1FJRUNBQUFFQ0JPb1RrSURVVjJZaUprQ0FBQUVDQkFnUUlGQ3RnQVNrMnFJVE9B
RUNCQWdRSUVDQUFJSDZCQ1FnOVpXWgppQWtRSUVDQUFBRUNCQWhVS3lBQnFiYm9CRTZBQUFFQ0JB
Z1FJRUNnUGdFSlNIMWxKbUlDQkFnUUlFQ0FBQUVDMVFwSVFLb3RPb0VUCklFQ0FBQUVDQkFnUXFF
OUFBbEpmbVltWUFBRUNCQWdRSUVDQVFMVUNFcEJxaTA3Z0JBZ1FJRUNBQUFFQ0JPb1RrSURVVjJZ
aUprQ0EKQUFFQ0JBZ1FJRkN0Z0FTazJxSVRPQUVDQkFnUUlFQ0FBSUg2QkNRZzlaV1ppQWtRSUVD
QUFBRUNCQWhVS3lBQnFiYm9CRTZBQUFFQwpCQWdRSUVDZ1BnRUpTSDFsSm1JQ0JBZ1FJRUNBQUFF
QzFRcElRS290T29FVElFQ0FBQUVDQkFnUXFFOUFBbEpmbVltWUFBRUNCQWdRCklFQ0FRTFVDRXBC
cWkwN2dCQWdRSUVDQUFBRUNCT29Ua0lEVVYyWWlKa0NBQUFFQ0JBZ1FJRkN0Z0FTazJxSVRPQUVD
QkFnUUlFQ0EKQUlINkJDUWc5WldaaUFrUUlFQ0FBQUVDQkFoVUt5QUJxYmJvQkU2QUFBRUNCQWdR
SUVDZ1BnRUpTSDFsSm1JQ0JBZ1FJRUNBQUFFQwoxUXBJUUtvdE9vRVRJRUNBQUFFQ0JBZ1FxRTlB
QWxKZm1ZbVlBQUVDQkFnUUlFQ0FRTFVDRXBCcWkwN2dCQWdRSUVDQUFBRUNCT29UCmtJRFVWMllp
SmtDQUFBRUNCQWdRSUZDdGdBU2sycUlUT0FFQ0JBZ1FJRUNBQUlINkJDUWc5WldaaUFrUUlFQ0FB
QUVDQkFoVUt5QUIKcWJib0JFNkFBQUVDQkFnUUlFQ2dQZ0VKU0gxbEptSUNCQWdRSUVDQUFBRUMx
UXBJUUtvdE9vRVRJRUNBQUFFQ0JBZ1FxRTlBQWxKZgptWW1ZQUFFQ0JBZ1FJRUNBUUxVQ0VwQnFp
MDdnQkFnUUlFQ0FBQUVDQk9vVGtJRFVWMllpSmtDQUFBRUNCQWdRSUZDdGdBU2sycUlUCk9BRUNC
QWdRSUVDQUFJSDZCQ1FnOVpXWmlBa1FJRUNBQUFFQ0JBaFVLeUFCcWJib0JFNkFBQUVDQkFnUUlF
Q2dQZ0VKU0gxbEptSUMKQkFnUUlFQ0FBQUVDMVFwSVFLb3RPb0VUSUVDQUFBRUNCQWdRcUU5QUFs
SmZtWW1ZQUFFQ0JBZ1FJRUNBUUxVQ0VwQnFpMDdnQkFnUQpJRUNBQUFFQ0JPb1RrSURVVjJZaUpr
Q0FBQUVDQkFnUUlGQ3RnQVNrMnFJVE9BRUNCQWdRSUVDQUFJSDZCQ1FnOVpXWmlBa1FJRUNBCkFB
RUNCQWhVS3lBQnFiYm9CRTZBQUFFQ0JBZ1FJRUNnUGdFSlNIMWxKbUlDQkFnUUlFQ0FBQUVDMVFw
SVFLb3RPb0VUSUVDQUFBRUMKQkFnUXFFOUFBbEpmbVltWUFBRUNCQWdRSUVDQVFMVUNFcEJxaTA3
Z0JBZ1FJRUNBQUFFQ0JPb1RrSURVVjJZaUprQ0FBQUVDQkFnUQpJRkN0Z0FTazJxSVRPQUVDQkFn
UUlFQ0FBSUg2QkNRZzlaV1ppQWtRSUVDQUFBRUNCQWhVS3lBQnFiYm9CRTZBQUFFQ0JBZ1FJRUNn
ClBnRUpTSDFsSm1JQ0JBZ1FJRUNBQUFFQzFRcElRS290T29FVElFQ0FBQUVDQkFnUXFFOUFBbEpm
bVltWUFBRUNCQWdRSUVDQVFMVUMKRXBCcWkwN2dCQWdRSUVDQUFBRUNCT29Ua0lEVVYyWWlKa0NB
QUFFQ0JBZ1FJRkN0Z0FTazJxSVRPQUVDQkFnUUlFQ0FBSUg2QkNRZwo5WldaaUFrUUlFQ0FBQUVD
QkFoVUt5QUJxYmJvQkU2QUFBRUNCQWdRSUVDZ1BnRUpTSDFsSm1JQ0JBZ1FJRUNBQUFFQzFRcElR
S290Ck9vRVRJRUNBQUFFQ0JBZ1FxRTlBQWxKZm1ZbVlBQUVDQkFnUUlFQ0FRTFVDRXBCcWkwN2dC
QWdRSUVDQUFBRUNCT29Ua0lEVVYyWWkKSmtDQUFBRUNCQWdRSUZDdGdBU2sycUlUT0FFQ0JBZ1FJ
RUNBQUlINkJDUWc5WldaaUFrUUlFQ0FBQUVDQkFoVUt5QUJxYmJvQkU2QQpBQUVDQkFnUUlFQ2dQ
Z0VKU0gxbEptSUNCQWdRSUVDQUFBRUMxUXBJUUtvdE9vRVRJRUNBQUFFQ0JBZ1FxRTlBQWxKZm1Z
bVlBQUVDCkJBZ1FJRUNBUUxVQ0VwQnFpMDdnQkFnUUlFQ0FBQUVDQk9vVGtJRFVWMllpSmtDQUFB
RUNCQWdRSUZDdGdBU2sycUlUT0FFQ0JBZ1EKSUVDQUFJSDZCQ1FnOVpXWmlBa1FJRUNBQUFFQ0JB
aFVLeUFCcWJib0JFNkFBQUVDQkFnUUlFQ2dQZ0VKU0gxbEptSUNCQWdRSUVDQQpBQUVDMVFwSVFL
b3RPb0VUSUVDQUFBRUNCQWdRcUU5QUFsSmZtWW1ZQUFFQ0JBZ1FJRUNBUUxVQ0VwQnFpMDdnQkFn
UUlFQ0FBQUVDCkJPb1RrSURVVjJZaUprQ0FBQUVDQkFnUUlGQ3RnQVNrMnFJVE9BRUNCQWdRSUVD
QUFJSDZCQ1FnOVpXWmlBa1FJRUNBQUFFQ0JBaFUKS3lBQnFiYm9CRTZBQUFFQ0JBZ1FJRUNnUGdF
SlNIMWxKbUlDQkFnUUlFQ0FBQUVDMVFwSVFLb3RPb0VUSUVDQUFBRUNCQWdRcUU5QQpBbEpmbVlt
WUFBRUNCQWdRSUVDQVFMVUNFcEJxaTA3Z0JBZ1FJRUNBQUFFQ0JPb1RrSURVVjJZaUprQ0FBQUVD
QkFnUUlGQ3RnQVNrCjJxSVRPQUVDQkFnUUlFQ0FBSUg2QkNRZzlaV1ppQWtRSUVDQUFBRUNCQWhV
S3lBQnFiYm9CRTZBQUFFQ0JBZ1FJRUNnUGdFSlNIMWwKSm1JQ0JBZ1FJRUNBQUFFQzFRcElRS290
T29FVElFQ0FBQUVDQkFnUXFFOUFBbEpmbVltWUFBRUNCQWdRSUVDQVFMVUNFcEJxaTA3ZwpCQWdR
SUVDQUFBRUNCT29Ua0lEVVYyWWlKa0NBQUFFQ0JBZ1FJRkN0Z0FTazJxSVRPQUVDQkFnUUlFQ0FB
SUg2QkNRZzlaV1ppQWtRCklFQ0FBQUVDQkFoVUt5QUJxYmJvQkU2QUFBRUNCQWdRSUVDZ1BnRUpT
SDFsSm1JQ0JBZ1FJRUNBQUFFQzFRcElRS290T29FVElFQ0EKQUFFQ0JBZ1FxRTlBQWxKZm1ZbVlB
QUVDQkFnUUlFQ0FRTFVDRXBCcWkwN2dCQWdRSUVDQUFBRUNCT29Ua0lEVVYyWWlKa0NBQUFFQwpC
QWdRSUZDdGdBU2sycUlUT0FFQ0JBZ1FJRUNBQUlINkJDUWc5WldaaUFrUUlFQ0FBQUVDQkFoVUt5
QUJxYmJvQkU2QUFBRUNCQWdRCklFQ2dQZ0VKU0gxbEptSUNCQWdRSUVDQUFBRUMxUXBJUUtvdE9v
RVRJRUNBQUFFQ0JBZ1FxRTlBQWxKZm1ZbVlBQUVDQkFnUUlFQ0EKUUxVQ0VwQnFpMDdnQkFnUUlF
Q0FBQUVDQk9vVGtJRFVWMllpSmtDQUFBRUNCQWdRSUZDdGdBU2sycUlUT0FFQ0JBZ1FJRUNBQUlI
NgpCQ1FnOVpXWmlBa1FJRUNBQUFFQ0JBaFVLeUFCcWJib0JFNkFBQUVDQkFnUUlFQ2dQZ0VKU0gx
bEptSUNCQWdRSUVDQUFBRUMxUXBJClFLb3RPb0VUSUVDQUFBRUNCQWdRcUU5QUFsSmZtWW1ZQUFF
Q0JBZ1FJRUNBUUxVQ0VwQnFpMDdnQkFnUUlFQ0FBQUVDQk9vVGtJRFUKVjJZaUprQ0FBQUVDQkFn
UUlGQ3RnQVNrMnFJVE9BRUNCQWdRSUVDQUFJSDZCQ1FnOVpXWmlBa1FJRUNBQUFFQ0JBaFVLeUFC
cWJibwpCRTZBQUFFQ0JBZ1FJRUNnUGdFSlNIMWxKbUlDQkFnUUlFQ0FBQUVDMVFwSVFLb3RPb0VU
SUVDQUFBRUNCQWdRcUU5QUFsSmZtWW1ZCkFBRUNCQWdRSUVDQVFMVUNFcEJxaTA3Z0JBZ1FJRUNB
QUFFQ0JPb1RrSURVVjJZaUprQ0FBQUVDQkFnUUlGQ3RnQVNrMnFJVE9BRUMKQkFnUUlFQ0FBSUg2
QkNRZzlaV1ppQWtRSUVDQUFBRUNCQWhVS3lBQnFiYm9CRTZBQUFFQ0JBZ1FJRUNnUGdFSlNIMWxK
bUlDQkFnUQpJRUNBQUFFQzFRcElRS290T29FVElFQ0FBQUVDQkFnUXFFOUFBbEpmbVltWUFBRUNC
QWdRSUVDQVFMVUNFcEJxaTA3Z0JBZ1FJRUNBCkFBRUNCT29Ua0lEVVYyWWlKa0NBQUFFQ0JBZ1FJ
RkN0Z0FTazJxSVRPQUVDQkFnUUlFQ0FBSUg2QkNRZzlaV1ppQWtRSUVDQUFBRUMKQkFoVUt5QUJx
YmJvQkU2QUFBRUNCQWdRSUVDZ1BnRUpTSDFsSm1JQ0JBZ1FJRUNBQUFFQzFRcElRS290T29FVElF
Q0FBQUVDQkFnUQpxRTlBQWxKZm1ZbVlBQUVDQkFnUUlFQ0FRTFVDRXBCcWkwN2dCQWdRSUVDQUFB
RUNCT29Ua0lEVVYyWWlKa0NBQUFFQ0JBZ1FJRkN0CmdBU2sycUlUT0FFQ0JBZ1FJRUNBQUlINkJD
UWc5WldaaUFrUUlFQ0FBQUVDQkFoVUt5QU9ORkR5QUFBTG0wbEVRVlFCcWJib0JFNkEKQUFFQ0JB
Z1FJRUNnUGdFSlNIMWxKbUlDQkFnUUlFQ0FBQUVDMVFwSVFLb3RPb0VUSUVDQUFBRUNCQWdRcUU5
QUFsSmZtWW1ZQUFFQwpCQWdRSUVDQVFMVUNFcEJxaTA3Z0JBZ1FJRUNBQUFFQ0JPb1RrSURVVjJZ
aUprQ0FBQUVDQkFnUUlGQ3RnQVNrMnFJVE9BRUNCQWdRCklFQ0FBSUg2QkNRZzlaV1ppQWtRSUVD
QUFBRUNCQWhVS3lBQnFiYm9CRTZBQUFFQ0JBZ1FJRUNnUGdFSlNIMWxKbUlDQkFnUUlFQ0EKQUFF
QzFRcElRS290T29FVElFQ0FBQUVDQkFnUXFFOUFBbEpmbVltWUFBRUNCQWdRSUVDQVFMVUNFcEJx
aTA3Z0JBZ1FJRUNBQUFFQwpCT29Ua0lEVVYyWWlKa0NBQUFFQ0JBZ1FJRkN0Z0FTazJxSVRPQUVD
QkFnUUlFQ0FBSUg2QkNRZzlaV1ppQWtRSUVDQUFBRUNCQWhVCkt5QUJxYmJvQkU2QUFBRUNCQWdR
SUVDZ1BnRUpTSDFsSm1JQ0JBZ1FJRUNBQUFFQzFRcElRS290T29FVElFQ0FBQUVDQkFnUXFFOUEK
QWxKZm1ZbVlBQUVDQkFnUUlFQ0FRTFVDRXBCcWkwN2dCQWdRSUVDQUFBRUNCT29Ua0lEVVYyWWlK
a0NBQUFFQ0JBZ1FJRkN0Z0FTawoycUlUT0FFQ0JBZ1FJRUNBQUlINkJDUWc5WldaaUFrUUlFQ0FB
QUVDQkFoVUt5QUJxYmJvQkU2QUFBRUNCQWdRSUVDZ1BnRUpTSDFsCkptSUNCQWdRSUVDQUFBRUMx
UXBJUUtvdE9vRVRJRUNBQUFFQ0JBZ1FxRTlBQWxKZm1ZbVlBQUVDQkFnUUlFQ0FRTFVDRXBCcWkw
N2cKQkFnUUlFQ0FBQUVDQk9vVGtJRFVWMllpSmtDQUFBRUNCQWdRSUZDdGdBU2sycUlUT0FFQ0JB
Z1FJRUNBQUlINkJDUWc5WldaaUFrUQpJRUNBQUFFQ0JBaFVLeUFCcWJib0JFNkFBQUVDQkFnUUlF
Q2dQZ0VKU0gxbEptSUNCQWdRSUVDQUFBRUMxUXBJUUtvdE9vRVRJRUNBCkFBRUNCQWdRcUU5QUFs
SmZtWW1ZQUFFQ0JBZ1FJRUNBUUxVQ0VwQnFpMDdnQkFnUUlFQ0FBQUVDQk9vVGtJRFVWMllpSmtD
QUFBRUMKQkFnUUlGQ3RnQVNrMnFJVE9BRUNCQWdRSUVDQUFJSDZCQ1FnOVpXWmlBa1FJRUNBQUFF
Q0JBaFVLeUFCcWJib0JFNkFBQUVDQkFnUQpJRUNnUGdFSlNIMWxKbUlDQkFnUUlFQ0FBQUVDMVFw
SVFLb3RPb0VUSUVDQUFBRUNCQWdRcUU5QUFsSmZtWW1ZQUFFQ0JBZ1FJRUNBClFMVUNFcEJxaTA3
Z0JBZ1FJRUNBQUFFQ0JPb1RrSURVVjJZaUprQ0FBQUVDQkFnUUlGQ3RnQVNrMnFJVE9BRUNCQWdR
SUVDQUFJSDYKQkNRZzlaV1ppQWtRSUVDQUFBRUNCQWhVS3lBQnFiYm9CRTZBQUFFQ0JBZ1FJRUNn
UGdFSlNIMWxKbUlDQkFnUUlFQ0FBQUVDMVFwSQpRS290T29FVElFQ0FBQUVDQkFnUXFFOUFBbEpm
bVltWUFBRUNCQWdRSUVDQVFMVUNFcEJxaTA3Z0JBZ1FJRUNBQUFFQ0JPb1RrSURVClYyWWlKa0NB
QUFFQ0JBZ1FJRkN0Z0FTazJxSVRPQUVDQkFnUUlFQ0FBSUg2QkNRZzlaV1ppQWtRSUVDQUFBRUNC
QWhVS3lBQnFiYm8KQkU2QUFBRUNCQWdRSUVDZ1BnRUpTSDFsSm1JQ0JBZ1FJRUNBQUFFQzFRcElR
S290T29FVElFQ0FBQUVDQkFnUXFFOUFBbEpmbVltWQpBQUVDQkFnUUlFQ0FRTFVDRXBCcWkwN2dC
QWdRSUVDQUFBRUNCT29Ua0lEVVYyWWlKa0NBQUFFQ0JBZ1FJRkN0Z0FTazJxSVRPQUVDCkJBZ1FJ
RUNBQUlINkJDUWc5WldaaUFrUUlFQ0FBQUVDQkFoVUt5QUJxYmJvQkU2QUFBRUNCQWdRSUVDZ1Bn
RUpTSDFsSm1JQ0JBZ1EKSUVDQUFBRUMxUXBJUUtvdE9vRVRJRUNBQUFFQ0JBZ1FxRTlBQWxKZm1Z
bVlBQUVDQkFnUUlFQ0FRTFVDRXBCcWkwN2dCQWdRSUVDQQpBQUVDQk9vVGtJRFVWMllpSmtDQUFB
RUNCQWdRSUZDdGdBU2sycUlUT0FFQ0JBZ1FJRUNBQUlINkJDUWc5WldaaUFrUUlFQ0FBQUVDCkJB
aFVLeUFCcWJib0JFNkFBQUVDQkFnUUlFQ2dQZ0VKU0gxbEptSUNCQWdRSUVDQUFBRUMxUXBJUUtv
dE9vRVRJRUNBQUFFQ0JBZ1EKcUU5QUFsSmZtWW1ZQUFFQ0JBZ1FJRUNBUUxVQ0VwQnFpMDdnQkFn
UUlFQ0FBQUVDQk9vVGtJRFVWMllpSmtDQUFBRUNCQWdRSUZDdApnQVNrMnFJVE9BRUNCQWdRSUVD
QUFJSDZCQ1FnOVpXWmlBa1FJRUNBQUFFQ0JBaFVLeUFCcWJib0JFNkFBQUVDQkFnUUlFQ2dQZ0VK
ClNIMWxKbUlDQkFnUUlFQ0FBQUVDMVFwSVFLb3RPb0VUSUVDQUFBRUNCQWdRcUU5QUFsSmZtWW1Z
QUFFQ0JBZ1FJRUNBUUxVQ0VwQnEKaTA3Z0JBZ1FJRUNBQUFFQ0JPb1RrSURVVjJZaUprQ0FBQUVD
QkFnUUlGQ3RnQVNrMnFJVE9BRUNCQWdRSUVDQUFJSDZCQ1FnOVpXWgppQWtRSUVDQUFBRUNCQWhV
S3lBQnFiYm9CRTZBQUFFQ0JBZ1FJRUNnUGdFSlNIMWxKbUlDQkFnUUlFQ0FBQUVDMVFwSVFLb3RP
b0VUCklFQ0FBQUVDQkFnUXFFOUFBbEpmbVltWUFBRUNCQWdRSUVDQVFMVUNFcEJxaTA3Z0JBZ1FJ
RUNBQUFFQ0JPb1RrSURVVjJZaUprQ0EKQUFFQ0JBZ1FJRkN0Z0FTazJxSVRPQUVDQkFnUUlFQ0FB
SUg2QkNRZzlaV1ppQWtRSUVDQUFBRUNCQWhVS3lBQnFiYm9CRTZBQUFFQwpCQWdRSUVDZ1BnRUpT
SDFsSm1JQ0JBZ1FJRUNBQUFFQzFRcElRS290T29FVElFQ0FBQUVDQkFnUXFFOUFBbEpmbVltWUFB
RUNCQWdRCklFQ0FRTFVDRXBCcWkwN2dCQWdRSUVDQUFBRUNCT29Ua0lEVVYyWWlKa0NBQUFFQ0JB
Z1FJRkN0Z0FTazJxSVRPQUVDQkFnUUlFQ0EKQUlINkJDUWc5WldaaUFrUUlFQ0FBQUVDQkFoVUt5
QUJxYmJvQkU2QUFBRUNCQWdRSUVDZ1BnRUpTSDFsSm1JQ0JBZ1FJRUNBQUFFQwoxUXBJUUtvdE9v
RVRJRUNBQUFFQ0JBZ1FxRTlBQWxKZm1ZbVlBQUVDQkFnUUlFQ0FRTFVDRXBCcWkwN2dCQWdRSUVD
QUFBRUNCT29UCmtJRFVWMllpSmtDQUFBRUNCQWdRSUZDdGdBU2sycUlUT0FFQ0JBZ1FJRUNBQUlI
NkJDUWc5WldaaUFrUUlFQ0FBQUVDQkFoVUt5QUIKcWJib0JFNkFBQUVDQkFnUUlFQ2dQZ0VKU0gx
bEptSUNCQWdRSUVDQUFBRUMxUXBJUUtvdE9vRVRJRUNBQUFFQ0JBZ1FxRTlBQWxKZgptWW1ZQUFF
Q0JBZ1FJRUNBUUxVQ0VwQnFpMDdnQkFnUUlFQ0FBQUVDQk9vVGtJRFVWMllpSmtDQUFBRUNCQWdR
SUZDdGdBU2sycUlUCk9BRUNCQWdRSUVDQUFJSDZCQ1FnOVpXWmlBa1FJRUNBQUFFQ0JBaFVLeUFC
cWJib0JFNkFBQUVDQkFnUUlFQ2dQZ0VKU0gxbEptSUMKQkFnUUlFQ0FBQUVDMVFwSVFLb3RPb0VU
SUVDQUFBRUNCQWdRcUU5QUFsSmZtWW1ZQUFFQ0JBZ1FJRUNBUUxVQ0VwQnFpMDdnQkFnUQpJRUNB
QUFFQ0JPb1RrSURVVjJZaUprQ0FBQUVDQkFnUUlGQ3RnQVNrMnFJVE9BRUNCQWdRSUVDQUFJSDZC
Q1FnOVpXWmlBa1FJRUNBCkFBRUNCQWhVS3lBQnFiYm9CRTZBQUFFQ0JBZ1FJRUNnUGdFSlNIMWxK
bUlDQkFnUUlFQ0FBQUVDMVFwSVFLb3RPb0VUSUVDQUFBRUMKQkFnUXFFOUFBbEpmbVltWUFBRUNC
QWdRSUVDQVFMVUNFcEJxaTA3Z0JBZ1FJRUNBQUFFQ0JPb1RrSURVVjJZaUprQ0FBQUVDQkFnUQpJ
RkN0Z0FTazJxSVRPQUVDQkFnUUlFQ0FBSUg2QkNRZzlaV1ppQWtRSUVDQUFBRUNCQWhVS3lBQnFi
Ym9CRTZBQUFFQ0JBZ1FJRUNnClBnRUpTSDFsSm1JQ0JBZ1FJRUNBQUFFQzFRcElRS290T29FVElF
Q0FBQUVDQkFnUXFFOUFBbEpmbVltWUFBRUNCQWdRSUVDQVFMVUMKRXBCcWkwN2dCQWdRSUVDQUFB
RUNCT29Ua0lEOC8vYnJtQVFBQUlCaG1IL1gxVkdJZzVKZCsyMm1tQUFCQWdRSUVDQkFnTUJXd0FI
WgpUaWVjQUFFQ0JBZ1FJRUNBd0UvQUFmbHRwcGdBQVFJRUNCQWdRSURBVnNBQjJVNG5uQUFCQWdR
SUVDQkFnTUJQd0FINWJhYVlBQUVDCkJBZ1FJRUNBd0ZiQUFkbE9KNXdBQVFJRUNCQWdRSURBVDhB
QitXMm1tQUFCQWdRSUVDQkFnTUJXd0FIWlRpZWNBQUVDQkFnUUlFQ0EKd0UvQUFmbHRwcGdBQVFJ
RUNCQWdRSURBVnNBQjJVNG5uQUFCQWdRSUVDQkFnTUJQd0FINWJhYVlBQUVDQkFnUUlFQ0F3RmJB
QWRsTwpKNXdBQVFJRUNCQWdRSURBVDhBQitXMm1tQUFCQWdRSUVDQkFnTUJXd0FIWlRpZWNBQUVD
QkFnUUlFQ0F3RS9BQWZsdHBwZ0FBUUlFCkNCQWdRSURBVnNBQjJVNG5uQUFCQWdRSUVDQkFnTUJQ
d0FINWJhYVlBQUVDQkFnUUlFQ0F3RmJBQWRsT0o1d0FBUUlFQ0JBZ1FJREEKVDhBQitXMm1tQUFC
QWdRSUVDQkFnTUJXd0FIWlRpZWNBQUVDQkFnUUlFQ0F3RS9BQWZsdHBwZ0FBUUlFQ0JBZ1FJREFW
aUNCM0VnSgpFVmw2VUFBQUFBQkpSVTVFcmtKZ2dnPT0KCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1pZ25vcmVkLWZvci1maXJzdC1j
aGlsZC1pbmxpbmUtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUg
bWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKCmlWQk9S
dzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBQzdtbERRMUJKUTBNZ1VI
SnZabWxzWlFBQWVBR0YKVk05ckUwRVUvalp1cWRBaUNGcHJEcko0a0NKSldhdG9SZFEyL1JGaWF3
emJIN1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApCLytBSG5yd1pDOUtoVnBGS042cktH
S2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FCT1FOeDFLaUVXbHNmRUpxCi9J
Z0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdkN0ozclpyU3Rwb0hoUDFBNEVl
YTJTcXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9VNTVlTUcxRHlzOXhGa2lmRUExTGM1
L1RiaFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNiSQpFTDFQa0thN3pPNnJZcUdjVHZZ
T2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBPYkVoajBjR0RYMCtHQVZ0eHFw
CitEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZQnpXa2hQMTB4dStMcUhCWDBt
MXhPdjRuZFdVZUY1anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5YURVaFFFRVVFWVppd1VFQ0dQQm94
TkxKeVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050dzl0MUdrM1R6KwpLQ0p4bEVPMUNKTDhRZjRx
cjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhqamMwMWVmSlhVZHBOWFI1YXNl
WHE4Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1YalZmUHFTNFIxV2pFMzM1OXNm
enM5NGk3UExyWFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2SlBtVmZsUFh2WHgvR2ZOeEdQaUtURW1k
b3JuSVltWHhTN3hrdGhMcXd2aVlHM0hDSjJWaGluU2JaSDZKTlZnWUpxOAo5UzlkUDF0NHZVWi9E
UFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVmS0FJdmJPREltYnB0VTNIdkVL
RmxwVzV6CnJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhndkFFY2RvZDZIdWdwbU5PV2xz
MDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pWV0xwZHRpWjB4MXVIS0U1UXZmRXAw
cGxrL3F2OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2YjhDOC9VWEFlSXVKQUFBZwpBRWxFUVZSNEFl
eWRDZndWVmZuL0h4Umtzd1JFRkNqWnlTUURJeVFpMlFtaEJBT0RJcVFnVUNRTVpURlRnaWdoQWtr
RmlVV0pSQUpCCmc0Z3RUTVFpbzB3RmY4a3VJQ0JJN0xFSmlwNy8rVHg1NWo5M3ZqTjM1c0w5WHI1
eVArZjF1dmZPbkRucmU1Wjdudk04ejVsaXhnWmgKSUFFU0lBRVNJQUVTSUFFU0lBRVNJSUVjRUxn
b0IzV3dDaElnQVJJZ0FSSWdBUklnQVJJZ0FSSlFBaFJBZUNHUUFBbVFBQW1RQUFtUQpBQW1RQUFu
a2pBQUZrSnloWmtVa1FBSWtRQUlrUUFJa1FBSWtRQUlVUUhnTmtBQUprQUFKa0FBSmtBQUprQUFK
NUl3QUJaQ2NvV1pGCkpFQUNKRUFDSkVBQ0pFQUNKRUFDRkVCNERaQUFDWkFBQ1pBQUNaQUFDWkFB
Q2VTTUFBV1FuS0ZtUlNSQUFpUkFBaVJBQWlSQUFpUkEKQWhSQWVBMlFBQW1RQUFtUUFBbVFBQW1R
QUFua2pBQUZrSnloWmtVa1FBSWtRQUlrUUFJa1FBSWtRQUpaRlVDT0h6OHV1M2J0aXFSNgo4T0JC
MmJKbFMrVHhxQU5ubXkrcXZQTWR2Mi9mUG5uaGhSZmswS0ZENTdzcHJKOEVTSUFFU0lBRVNJQUVT
SUFFY2tvZ1ZnRDUrdGUvCkx1WExsNWViYnJwSnVuYnRLaGRmZkxIVXFGRkRicjMxVnZuS1Y3Nmkr
ek5uenBUWnMyZkxsVmRlS1U4OTlWUmtCNFlQSHk2MzNISkwKNVBHb0EyZWJMNnE4OHhrL2JkbzBl
ZnJwcCtVdmYvbUwxS3RYVDA2ZlBuM096Zm5nZ3c5azgrYk44dnZmLzE1Mjd0eDV6dVZsVW9BeApS
bzRlUGVwbGNmc25UNTVVSVd2Q2hBbXlZOGNPNzNpdU5qNzg4RU90Q3UzWnZuMjdMRjY4V0Y1Ly9Y
VUo3dWVxUFlWUkQvcUlQczJhCk5VdisvZTkvRjBZVmtXVTZ2cEVKenRNQmQvMUZWWDgrNzVWZ204
NzNQUkpzVDVMOXNQT09TU2R3RFF0aDZaRXVHOWN1Sm5EKzlyZS8KZVo4MWE5YWtOT0hZc1dPeWZQ
bHllZTY1NXdTc3c4SnJyNzBtSzFldWpHdy9uaDE0cmg0NGNDQXMrMW5GWmNva0t2MVpWVjdFTXAy
dgp2cTFidDA2ZWVlYVpuRXdDSnUxajFIOVQwdnhGN05SbTNKeWkycytpOUo4QnFQNXJ0Nmd5UzNy
eVl3V1E5OTkvWC9DUS90T2YvaVR6CjVzMlRTeTY1UkZxMGFDSFBQdnVzUHZqSGpSc25wMDZka3U3
ZHUwdTFhdFhTMXZ1em4vMU0vdkNIUDZSTkUzYndiUE9GbFJVVkIwRUEKZjBUbkV1TEtPSEhpaEF3
YU5FZ0dEQmdnSTBlTzFEKzJraVZMbmt1Vm12ZmRkOS9WUDlsdmZ2T2JVcnAwNlhNdUw1TUNGaTFh
SkpNbQpUZkt5dVAyTExycEkzbnJyTFJreVpJaFVxRkRCTzU2TERWeXZxUE9kZDk0UlhMK3Z2dnFx
M0h6enpmTGVlKzhWMk05RmV3cXJEang4CjNuNzdiYm50dHR0MElxQ3c2Z21XNitjYlBIYSs5OTMx
RjlXTzgzbXZCTnQwUHUrUllGdVM3QWZQT3dibHQ5OSt1K3paczBmdXYvOSsKbVQ1OWVrb3h3ZlQr
ZzltNGRvY09IYW9UV3BqVXd1YzN2L21OVjhXTEw3NG9uVHAxMHNtektsV3F5SGUrOHgyQkp0MkZU
WnMyU2F0VwpyZVRJa1NOU3JsdzV6WS8vT0JmT25Ea2pQWHYyMUFtMWE2KzlWdi9mMGsya0xGeTRV
RDcxcVU5SnNXTEY5UG1PWjN6TGxpM2w4Y2NmCmQwWHFiNlpNMHFWUEtmaGp1SE8rK2paanhneWRr
TUwxZTlkZGR4VXF1VXo2R1B5dlFzTXl5VitvSFNua3dvdHlQNHZTZjRiLzJzVXoKelkxekN2bjBG
Rjd4VnVwT0creERPZVY0cVZLbHpQZSs5ejB2enBwZEdUc0xwZnVmLy96bnplalJvNzFqU1Rmc24x
SFNwQ25wa3VhegpOM1pLdnVDT0haZ2FPM2czVmlnSUhrcTc3NjgvU1JtclY2ODJKVXFVU0Z2bTJS
NjBtaWZUc0dIRHRObnRZRFhsZUhBLzVXRENuVzk4CjR4dkdEa0M4MVA3OXh4NTd6RmhoMVR1V3F3
Mzd4MkorOUtNZkdTc1FhcFZXMjJUc2pXcnNURWJvZnE3YVZSajF6SjgvMzF4OTlkV0YKVVhSa21V
RytrUW5Qd3dILzlSZFZmWko3SlNwdnR1UFAxejF5TnYwSW52ZUhIMzdZOU83ZFc0djYxNy8rWmF3
RzNOaUJ1MWQwTUwxMwo0S09OYzdsMjdTeWdHVFpzV0xCSTNiZkNoYkVUTWNacWhiM2pkcUxNMklr
U2I5OEtMR2Jnd0lIZXZwMVFNNDBhTmZMMnJmQmhmdnJUCm4zcjdPRTk5Ky9iMTlzTTJHamR1YlBB
ZjZNSWpqenhpN0QrMytlYy8vK21pVEtaTTR0SjdCWDlNTnZ6L09lZWpiOWI4MlZTdlhsMnYKVTZ1
NU4xWjdWNmprTXUxajhMOHEwL3lGMnBrTUMvZWY2N2lzUmIyZlJlRS9JM2p0L3QvLy9WL0tPQ2VP
Y2RqeFRNNVJXUDV6alNzZQpKOXEwYTljdWJaS3laY3RLMDZaTnZUU1kyWUxKMUc5LysxdjU1Q2Mv
S1ppUmhNa1dacU5obnJWZ3dRS3hBM0ZOUDNmdVhGV0J3b1FICk0waC8vL3ZmdlhMY3h0bm1RLzRW
SzFiSUs2Kzhvck5TS0gvcTFLbnl1Yzk5emhYdC9kby9Ddm5qSC84b2I3NzVwbXpkdWxWKy9ldGYK
Qy94WmZ2bkxYK3JzT2JZeHkvK2xMMzFKODRTMU82d01zSEhoaVNlZVVLMFJadForOElNZnFLYmlv
WWNlMG5ydXUrOCtnU1lFZGR2QgpwTllMVFFabUJkRG1LNjY0UXRPamppVkxsc2dOTjl6Z2l2VitZ
V3FRN2x4Qll3VlRnamx6NW1pZTRMNVhVQVlibVBsRXFGeTVzdjRHCjk1Y3RXNmFtZTNvd2gxK1hY
MzY1akJrenhxc1I3V2pUcG8xZ3hoa2h1TzhsL0JodTRINXEzNzU5VGxzZTVKdlR5dE5VRnJ6K29w
TEcKM1N0UitRb2ovbnpkSTJmVGwrQjV2K09PT3p6VEpqdy9vUUdBaWE0THdmUXUzdjJleTdWcmhR
OTlkdUtaQmpOaHZ5WVoveisxYTllVwpPblhxdUtya3Nzc3UwMmRmLy83OU5RNWFEL3cvUUd1TnZD
Ky8vTEkwYU5CQWowRkxqL09DNTdFTHlCLzIvK1NPd3h3TS96VVBQUENBCml4Sm9YaER3SCtaQ3Br
emkwcnR5UHc2L3dmK2M4OUUzSzBqcWZ3R3UwMDk4NGhQNktVeDJtZll4K04rVWFmN0M3RXNtWlFm
UGRWemUKb3Q3UG92Q2ZFYngycjd2dXVwUnhUaHpqNFBGTXoxRXdmMWIyTTVWZ2dob1FmMzdNL3RT
dlg5ODgvL3p6T3JOd3pUWFhtRDU5K21nUwpTRy85K3ZVekZTdFcxSDFvSmI3NHhTOTYyZSs1NXg1
dmh0cUx0QnRubXcrejMxV3JWalhXMlZ1THcyeFdseTVkL0VXbmJHTld4R2x2Ck1JdG5CM1VHTXlT
WU5iZC90TVlLQWVidzRjTW1YYnY5WmFRVS90R09OV0V6ZGhDY2NxaFpzMmJHK3RCb0hMUW9Wcmd3
OWc5Vjk2RXgKc2Y0M3h2NHhHbnV4YUR2OHMzcXVJR2hpTVB2NDE3LytWV2ZiN0dCYnp3UGFpZy9Z
Rmk5ZVhQdUV1dno3VnFWbnhvOGZiMnJWcW1XcwpMNEhCVE9FWHZ2QUYwNjFiTjJOVmo2NEtuVEhD
K1JvN2Rxd1hOMnJVS0dNSEhxSDcxaXpQbENsVHhyejAwa3ZtVjcvNmxaYjU3VzkvCjIvejN2Ly9W
TnFIT3VuWHJHaXRRYVg3MG9YWHIxdWJQZi82elY1NFZ3SXdWSkl6MW1USElpL3JBQkFGbFdzSFgr
MWovSkMwWE14WFgKWDMrOXNZTVFyeHp3c3dKZzVEN2FaQWNPT2tPS2RsblRER01GVmk5OWNBUFhC
V1pmclpCdFJvd1lZWDd4aTE5b0V2Qkt3aEo5eFd5cwpOVmt4My9yV3Q3VFAxa2JkV0g4WmcxbFVL
K0NhdFd2WEdweEh6TW82elEwcWdjYnhKei81aWFaRmVsd2Zkc0RrTlRHcUx5amZDdGJtCjA1Lyt0
Rm02ZEtsNThNRUg5WnF4QXFuV1lZVnRyd3pNSUQvNjZLTzZqL3NJMXhiT0JZS2ZiOUkyYTBiZlZ4
Uy9xRGE2YXo3ZDlZRGkKZzljanppa1lmZmU3M3pYV1RFMWJrTzVlY1UyTWFoODB2VGdmU1ZtNThx
SitDL3NlQ2F2WERwVDEzT05lLy9uUGY1NXkvNmJqNnovdgp3WEx0bjdQNTdHYy9hNnovbVhjb0xI
M2N0ZXRsVHJDQm1XSnI5bVVxVmFxa0gvOU0zbWMrOHhsalRhQlNTckdtTnFadDI3WmVuRFduCk1u
YlFvL2NZN2wvY2ozanU0L3JBZjVpZEZQTFNZZ1BuM0pvWXA4VDVkMzczdTkrcHRzT2FlMm8wV0tB
Y1BKZWNKalpUSm1IcFhaMXgKejVxNGV5bnFHbzhyMTlVZjlRd0xlOGFzWDc4KzVUOEhyTUw2Rmxh
bXF5L3NYbmJIL0w5Ui9iTENvVjR2VnVqUWNRQ2UzN2ovZ2lIZAo4elBKODlsZm5yK1BTWitWL3Yr
cXM4bWZqcUcvYmRoTzl5eUk0aGpYaitCNEErY2FJWW9yam1Xcm4zSFhQT3BDeVBRNURxWlI0NnYv
CmxXaDByQmcySm5ESG82N2ZKT2NyN05xMTVxYmVPQ2V1MzhHNm84NlJhMnN1ZitHVW0xR0lFMERR
V1JmdXZQTk9ZeDNWM2E0KzVQSFEKUjlpL2Y3OE9pdDBBRkE4cHYvcmV5MlEzOE9lUWFUNmNXUHpw
V0x0ZkxXcml4SW5HMnZMNmkwM1podkRnQnBMV29kNVlwM3NkSEtOOQpFRjZzdEtlRDBuVHQ5cGVS
VXZoSE8wRUJ4TTUycUVBQ3djT0ZLVk9tYUYxMnRrMmptalJwb29OdmR6enMxenBmR3F0dE12LzR4
ejkwCnNBNldhSzh6amRxN2Q2K3h0c2tHZjdvSXdYME04SkFlZzFMOFdmN25QLy9SZHZrSHRzajMv
ZTkvMzZBUENPQjc0NDAzZXVjc3VJOUIKQ1c1YXErWFIraUM4V1kyUXNSb2R6UStURFRzTHBROG1S
RmliYlcwakJFNEV1MXFhcG9jd2krQUc5cTRQMXJmRWdCRUc2bWczR0NEZwp3WWx5clQrUDd0dlpS
eTNYRFk2QysyQ0VRYVV6azREQUJDRVI3UTBMcU44dUh1QUp0a2lEYXhQOVFZaGppVDg5NjQ5aUlQ
Z2hRRUIzClFoMEdnQkFVOFlBRVoremp2RUE5alFBMlZndG5WcTFhcGZzUXpLeFBsckhPdHJvZjF4
Y3dRUGt3ZmJFenZzYjZWbWxlRExZNmQrNnMKWmVBOFd0djFGUE1Vc0liSkMwS1FiMXliTlpQdks0
NWZWQnZqcm9mZzlZZnpBRE1jWE04UTROQUhoTGg3SmE1OW1iRHlkVHQwczdEdgprV0NsWUlockhi
OElNRG0xdm51NkhjYzNlTjQxay8zYXZYdTNEdWpjYzliRkI5UEhYYnU0enlGTVIzMWdNaFVXckor
WnNab0dZMzNyCnZNT1l5TUE5NWdJR1dsWTdrMkt5OWNZYmIraUVEcDZibUd6Q256SUNuaWU0NTZ4
MnhHWFhYeno3VUc1VUFFY01idSsrKzI0MWhiVWEKRTUySTg2ZlBsRWt3dmI4c2JNYzlhNkx1cGJo
clBLN2NkTSt3cURxRC96bkJ2cVVyTStwZUR2S0k2OWZHalJ2MTNPSS9JQ3pFUFQ4egpmZFlGK3hp
WFAvamZsR24rZEF5RC9VMzNMSWpqR05lUDRMbU80NXJOZmtaZGY4SCtaL0ljUDlmL2pLanJONVB6
RmJ4Mmc4eWkraDFWCmQvQWNCZm5rYWovV0NkMCtqRE1LY01KendmNlpxSnJjN2VPWU8yNDFJV0lI
UGVvY0RKTWtPM2hQVWQrN1BQZzltM3pJWTJjczFNa1EKcGxSWWRRcXJvcVFMcm0wd0ViT0RTblc0
aDlNOVRNenN6THhZSHd1SmE3Y3JJMTA5N2hqVS9qQ3ZzbjRoTHNvenI3SVh2Y2JCRkF0cAowZ1dv
QjJFK1lCOHFZalVYdWpnQXpBK2NhWlQ5Y3hlcmJWRHpMcFFUM0lmREpweVo0RkNLL3VLOHdWekpQ
aEJUcW9VWkdSemRFWkRICnJZSVd0ZzlWTXN6TmtONEtJdXJvYVdjckJZNzRDSFlRTFhZd3BHWjYy
TGYyNUdKbkRMMitncmNWZHNYNmtPQ3dtai9BckFJbWFnaDIKdGx1c2NLWW1GRlpyNEpsUFlIbGp2
MWtnMk5nWlViRXovNW92dU4rclZ5OTFWblZtYmR1MmJST3JBZEwyYWdiZmx4M2txc00zbkZmaApZ
T3FDSGJ5bytRWDJ3U1VkUyt1Ym9vN3djSEMxczBPeVljTUdzWU1iTFFyWEtLNng3WGJsSFhDRDh6
eE1CbkV0SWlDZG5jVlY3dGkzCmZ4UjZiVjU2NmFYWWxiaSt3SVNrWnMyYXVtZ0UyRnROaWlBdlZt
T0QrU0VDekF0UnAzMUE2VDYrVUQ4Y2NSR0NmT1BhckprKytrckMKTDZxTmNkZEQ4SHJFUFlON0Vk
Y0pybVdZN0NDa3UxZVN0QzhUVmg5MU8vS25zTzhSZjhXNEYrRzAyS05IRHpWUHdqR1lLdUVhUklq
agpHenp2bXNsKzRabUFNbkROKzBNd2ZkeTFhd2YzYW80TFU2YXdEOHkxd29MVlNvalZJdW9xZ080
NHpyVVY0dVhlZSs4VnE4a1RxejNWCnhScHc3eURnT013UFlGYUxkaUl0N2tzRSs0Y3RWa2lYTDMv
NXk3cnZ2dUNnN3U0QkYrZCtyWUNyaTdUZzJZdm5HRXl4WUo0R3gzZzcKa2VHU0ZiaDM0cGdFR1hv
RmZiUVI5NndKdTVlc1ZycFFuMkZoZGVJWkUvelBDZll0M1hNeDZsNzI4MGh5NytML0ZzKy9xNjY2
eXAvVgoyNDU3Zm1ieXJFT2h3VDdHNVEvK04yV2FQeDFEcjVOMkk5MnpJQW5IdUg0RXozVWMxMnoy
TStyNjgvY2YyNWs4eDgvMVB5UHErazE2CnZ0RGU0TFViWkJiVjc2aTZnK2NJZFp5WGtLbWtFNmNC
Z1JyS0JhaklvVkowQWVwWlo0S0ZPR2c4TUdOa0J3bzZzd3MxWFZnNDIzelEKSnRnL1hBTU5BOHBJ
NTZ4ckJTQTE5MEg5TVBkeEpodGg3WWxxdDcrTXNIeEJEWWk5QUhXMjNzMWdJdzltNGpCTDdXYkZZ
UTcwd3gvKwpNS3c0THc0ejFqRFhzUThQallQYTM1OEhEcFYrazRUZ1BzeXQvT2toOGR1TFVXY0R2
VW9DRzNZd1kreWcxWXNON3NNTUFqUHNMbUNtCkZHVTZUUUZtS04yMUFyTUZhRXZzZ01FbDE1bHE2
enVrTTloMlFLNnpuTkJPK0FQaVlVTGtEOWJHMjV2TlJ6eE1uUHpPcHY1OWF6OXUKN0o5amlyWURz
NkU0TDJFQnBrdm9neFZTdk1PWVlVQWNOQW9JNlZpNldRdzQ3c0pFekM0TnJOZW1LOHo2OEtpcG10
T0lvYTJEQncvVwp3OUJhd0tUTmFVTVFDZTJZTXdkSzBoZjdSMkNzWUpwU0o4cUJ0Z2ozSmN4WVlL
SUg3VXp6NXMxeHlHQVJDcnZVcjI3aks4ZzNYWnU5ClRCOXRKT0VYMVVaY2srbXVoK0QxaHlxaE5j
TzlCQlcyQytudWxTVHR5NFNWcXpQcU54ZjNpS3NiNXhIWGFkUXpObzV2OEx5alhNeWkKd2V3ekxQ
alR4MTI3WWZremlZT1pwdjhlUjE0NzBXR3MwS0xQTUpoazJra3VMZElPbnZSWjR6UWVpTFFyVlJu
ckU2TFBYbWhzZy84VAp1SDd3SCtXMGdGcVE3d3NhUzdDRm1hd0xUcE1DVTFFWE1tWGlUKy9LOFAr
bWU5WWdYZGk5bE9RYVQxZHUzRE1zckU2MEpmaWY0KzliClhKbklIM1l2STk2RkpQM0NOUkQxdjU3
aytabkpzdzd0OHZjUiszSDUvZjlObWVaUHdoQmxJcVI3RmlUaEdOY1AvN2xPd2pVVFRuSDkKakxy
Ky90ZnovLytkeVhQOFhQOHpVR3Z3K28zcngvOXY2ZisyZ3RkdWtGbTZmZ2ZyUm9uK2N4U3NLNWY3
V1RmQmNvTktkQ0tkQUFKMQpJMVJ6Q0ZiQ1RESFAwVWpmbDE4QVNab1BmeFl3cGNHZkpFSVNBY1FO
NXRCdU8wdVM0Z09Cd1QwdTJuVDFRd0J4WmZpYTcyMEdCUkFNCjlQREhaYVZaTDQwYnFGdm5mWTJM
RTBCZ1Z3MHpIR2N5Z0hiQ0pBZ1BHUmVzSmlURnA4Ry9qL1JXU2s1SmJ6VWh1aXFZeXgvOGhVa0QK
QnVvdUJQY3hRSWNabEdPUGRQRC9nVENJQUFFT0pncmc2ZXdYWVo1bFoySDF1UHVDSUFDek9Gd2Y2
S2MvWUNBMWVmSmtmNVJ1dzVjRgpBd29FbU41ZzlTdG41aGZjeDZvMjRPc0NUTmh3emZqWnVXUDRo
YjhIMlBrRDJ1aFl4TEcwNzREUmZ2c0hQNjRzY0lCd0QvTS9CSlFGCiszYjdEZ1BkUjF1ZFVJQUlz
TU8xZzRFT1FwSyt3RlFGUGo3QmdOVTBNTUNDVUFSR01BM0U0Tmc2NGFwZmtEKzluMjljbS8zNXNC
M0gKRDJtaTJvaGpVZGREOFByRFBZU0F2dGlaYk0vMlArNWVTZEsrVEZocEl5SytjbkdQK0t2R2ZR
UWhQMTJJNG9zOC92UHV5ckJMMkxyTgpBci8rOUhIWExxNTErQXZDVENyc0E3K2xLSk5JVkF6ekxE
c0RXS0FOaU1BZk0zd3huRDhiQkF5c2VPZ1BHQXpnK2tkL0lLREFCODRmCjREdG8zM3ZsajByWi92
R1BmNnpQTzM4YllUYU0rOU0vQ1pNSkUxVGdUNTlTb2QySmU5WWdmZGk5RkhlTng1V2I3aGtXVlNm
aS9mODUKMlBmM0xWMlpVZmN5eXZDSHVINGhMY3dQTVNrWkZ1S2VuNWsrNjFDSHY0OXgrWVAvVFpu
bVQ4Y3cyTjkwejRJNGpuSDlRRjMrY3gzSApOZHY5REx2bWcvM0hmdExuK0xuK1owUmR2NW1jTDdR
M2VPMzZyeTBjRCt0M1ZOMUk3ejlIMkQ5ZklTTUJCRGNKQm1nZE8zWU1iYTgxCmtVbXh4WVd6TXdZ
eUx1RGhqNEVtSG5Ld3djVXlqaTdBaHRZNUxMazQ5M3MyK1RBYjVRYjNHUEJpVmdjRE90U05UekJB
VXdPZkVRVDgKbWVFUENWSWlCamZ3aVlBZkNHYUkwN1hiWHdieUJZTTFWOUEyWVhZT0FSYzMvbkR4
QitZQ25KL3haK3dHcVhCU3gwMGNGVENManRscgpuQnNFYUJNd2tJV3ZDbndGY0tOaEZoZzJncGpK
Qys1amRodExBN3MyV2JXKy9tSDdiYnBoOHdrSFBCZXc3VDlYd1gzOCtjSXAxUVdjCkM4eldPMDBQ
Mm9FMllsQUFnUTJEYk95RHIzTXl0eXBDOVd1QnM2elRDTGp5Y0Q3aDk0RmZmOWh1TlNJNDU3QUxo
MUNIZWlDY1FWaUIKUUJmY2gwQ0UyUndFQ0VzWWdPUDZ4dEtNNkRNQzdEVGgzSXc0ek9UQ2NkNEZY
QXQySlFwUGtJNWpDVUVJckozZ0RmOEVuRDhFekR6QgpIaDMxSWFBc01JSHRQUHFDMlRFbjZLQ3RX
QW9iQTBvTW1xQjlpZXNMemp2NkJnRTZHSEJ0NEpqVFRrR29nVDI3MDhLNTlFRytjVzFHCnZrejRw
V3RqdXVzaGVQMWhBZ0hYUHdLdVJTZTR4ZDByY2VjWDVTVmxoYlRwUW1IZkk2amJ6eDdYRUo1cGpn
dnVIVEIxSVIzZjRIbEgKSGp3djREenFybGRYRG42RDZlT3VYZVRCc3pEcTQ1NU5TSWRuR256Y1hJ
QWZsSCtRNytKeHowTm93QUlFZnEwUHRLandNL0czRzR1UApPQjhUUEhlaEpYVFBGanlQckVtaTNv
ZXViUDh2L2t2d3JQTXZnWTUrNEw4QWk2QzRaVjR6WlJKTTc2OFQyM0hQbXFoN0tlNGFqeXMzCjNU
TXNxazdFKy8rRGduMUxWMmJVdlJ6a0VkY3ZuRy84RitDWkhSYmlucDlKbm5YK2NvTjlqTXNmL0cv
S05IODZodjUyWVR2ZHN5Q08KWTF3L2d1YzZqbXMyK3hsMS9RWDdqLzJrei9Gei9jK0l1bjR6T1Yv
QmF6ZklMS3JmVVhVSHoxRVluMXpGSlJaQWNPTmlOU2dNOERCNwpEYldPLzhHT1FTWUdNWEQwaGpv
ZkF6ZzhtUEhnd1VwSmNQTEZJQlQ1SVhnZ0RhUTRPQ1ZqMEEyVmtodDArenQvdHZud3A0VS9BWmpZ
CllCWU1KeHdtTExnaDNLb2svbnB3c3ZBSERmTVlDQnlZWGJmTE0yb2NOQVJRNXlPQVExUzdnMlg0
eThmc09weTIwWDg0eEdKMkdRR2MKd0F3ejA3aTU4V2R0L1FMMEdBYjVFTmdncldKbHBMQUFvUW5t
Snk2Z25UZy9hRC8rSE8zYlhyVWZrTGdSZ3ZzNGp4aHNRdkRBdVVCNQpjSER5QjdRWDdYQi8ydFl2
dzV0UlJMcmdQZ1lGbUhXRVZnYm5HZ3NUK0lVSVBHekJHdXB3REloeC9uRnUvRUlPSG9TWWVZUUdv
MXExCmFzckd0UWxtU2VBSXgybk15R0JRaFdzTUptSFF2R0JBZ3JaaThJQnlzUjUvMkQ3NmpQSTdk
T2lnenZJWWVPTlBDdG95RnpEWVFWdXgKNGhXdUc1aU80WjBBNEFqQjBTOW94ckhFb0FicVhBanF1
SmNnZkdHd2dnQVRPSng3RjFaYURRZXVYYlFGNXhGYUlBZ282RE5XcU1MOQpCazBYVnNOQWlPc0xy
aStzR2hZVzBBZS9pUjZ1ZjJnTzNLeXh5eFBrRzlkbTVNdUVYN28ycHJzZWd0Y2Y3Z2RNYUdBaUFa
TUlNSkZCCmlMdFg0czR2eWtqS0NtblRoY0srUjFDM256MG1LREFKZzJjd3JoOElRUDduZHpxK3dm
T09zaUd3NEI1MHBvZUljeUdZUHU3YWRmbVMKL0dMMkZ2Y2o3a09ZYlBwWDRVTitUSnpnbm9ER0ZY
MEtDMkNQY2lCQVlkSUI1bHQrN1FYTUVHRWFqT3ZSK21uby8wRllPZmlQZ2RZSQpIUEEvaHp5NGo3
RGFGbjZkOElHOG1USUpwZy9XSC9lc2licVg0cTd4dUhMVFBjT2k2Z3orNXdUN2xxN01xSHM1eUNP
dVgvZ3Y4RStLCkJmUEhQVCtUUE92OFpRYjdHSmMvK0YrVmFmNTBEUDN0d25hNlowRWN4N2grQk05
MUhOZHM5alBxK2d2MkgvdEpuK1BuK3A4UmRmMW0KY3I2QzEyNlFXVlMvbytvT25xTXdQcm1LU3l5
QVpMdEJic1llRDM0M0NFdFNSNmI1TUVCMXdUOElkbkgrWHpjNzZPSndNK0prK3dXagp1UHFEWmJp
eTB2MWlnQWxmQXRTVmplQWZGS004djk5QWNCK0RiL3dKWTFVTUoyQUUyNEErTzQwSVdFQjRkQ0c0
NytLUlo3dlZTS0J2ClljRy9iQ2FPWTlEcndvd1pNN3hsY3pFSWhoMDFCQ0FuR0dIV0h6TVkwQXho
b0ltSEhBYjBDRUd6a09ENUNPNmpUTmMzNUEreVE1eGIKbVF2YkNFZ1R4aW9KUytSSDIvMnp1b2dM
Qy81MjRUamE2b1FDUE1DQzV6VkpYOExxd1RseTVicmp3WDBYSCtUcjR0MXZzTTJJVDhyUApsUkg4
VFhjOWhGMS9hQVBhaWVXRTQwTFkrWTQ2dnlnckUxWnhkUmZtUGVMcURyTEhOWVBubWorazQrdlNo
WjMzNEQzczB1STNtRDd1CjJ2WG5qZHRHbi96UGRYOTZUT3hFWGJ2K2ROaUdSaGIzVVZoQWZOei9S
VmkrZEhHWk1nbW05NWVkOUZuanorUGZqcnJHazVhYjlCbm0KNmd3K3E4TDZGbFptSnZjeTZvcnFG
d1NyZE9iUnlKdnA4elBzV1lkeVhBanJvenVHMzJEKzRIOVRwdmxSWmhoRHhJZUZzR2VCU3hmRgow
UjMzL3diN0VUelhjVndMdTUvK3RycnRjM21PZzAwd1JQR0t1MzZUbksrd2F6ZU9HZHFYcnU3Z09R
cjJKMWY3eFZDUm5jRmh5RU1DCmR2Q21xOWRZUnpINTZsZS9XbVFJV0pNWnNiT1gzdXBQOW1HaHEx
aFp2NTRDcTFQWkcxaXM4Q0wySFNYZUNtdm5veU5GbGVYNVlKSHQKT2pPNUhySmQ5OW1XNTFaVmk4
cVBWVTNPSldTVFNUYkxPcGMrTVc4eUFvWDFyQ21zY3BQMUt2dXA3Q1NSV0MyVXZwRFNMcXN2VmpQ
bQp2Und5KzdXeFJCTElIb0Y4dVhaajM0U2VQYVFzcWFnUnNHWTh1a3l5TlhFcVVrMnpwZ3hpMVlw
aXpTakV6bWFLTlprUTYvTlJRUGhBCm83RXNyMXVhOTN4Mm9xaXlQSjlNc2xWM0p0ZER0dW84MTNM
T1ZjQ0lxeitiVExKWlZseTdlZnpjQ1JUV3M2YXd5ajMzSHA5ZENkYnMKV1lZT0hhcHZwN2VtcnhR
K3pnNGpjNTBIQXZseTdWSURjaDR1cnFKUXBWWGhpWFhJMUtaWTN4MTl2NFMxWXk0S1RkTTJXUE1I
WGZ2YQorblRvbXQzVy82SEl0QzNZa0tMT010amVqK1AreCtsNnlCWGZiRExKWmxtNTZuOCsxbE5Z
ejVyQ0t2ZDhueVByYjZqdk9ySUx1NXp2CnByQitFc2lJUUQ1Y3V4UkFNcm9rbUpnRVNJQUVTSUFF
U0lBRVNJQUVTT0JjQ0dUOVRlam4waGptSlFFU0lBRVNJQUVTSUFFU0lBRVMKdUxBSlVBQzVzTTh2
ZTBjQ0pFQUNKRUFDSkVBQ0pFQUNSWXJBeGZZRmV6ODlseGJacFNURkxoOHJkaWxVdGJXMDc2QUlM
UTRyR2RuMQoyN0hzcjlnWHhhbi9BUnlNN1J2SFU5SWpuWDFSaXRoMTVqVzlmZGxheW5HMzQ4cHor
K2ZyTjJrN292cWROUC81NmwrMjZyMVErL2x4CjZoZmFtdVRleXRZNVp6a2tRQUlrUUFJa1FBSWtF
RWJnbkRVZ0VDTHNtNnpsbTkvOHBwUXVYVHFzRHJFdjI5UGxYdTFMNXdSTC9kbTMKZFl0OWtaVEE4
VEVZTUVpeTY4dUxmVW1kd0FFNUxQakxDenVlcTdoTTJoSFc3MHp5NTZwUGhWSFBoZHJQajF1L2t0
eGJoWEgrV1NZSgprQUFKa0FBSmtBQUorQW1jc3dCaTM5YXN5Nk4rNFF0ZkVQdkdjSC9aM2phV2Vj
V1NxdmJOeldMZk5DMlZLbFZTZ2FSaHc0WmVHcmVCCmxaZ2dtR0JwVmZ1R2NCZWQ4dXN2TCtWQWpu
Y3lhVWRZdnpQSm4rT3V4VmEzZS9mdTJEUXV3Y2U1bjY0UFliOGZ0MzRsdWJmQytzazQKRWlBQkVp
QUJFaUFCRXNnbWdheXNnZ1Z0QlFTR1VhTkdKV3JiajMvOFk5bTJiWnZNblRzM05IM1BuajJsVEpr
eU1tWEtsTkRqSDlmSQp1SDUvWFBxRjllTHg4c0k1YytaOFhKck1kbjVFNEVLOXQzaUNTWUFFU0lB
RVNJQUVQajRFRW10QURoOCtyQUxHNzM3M08zMHAzS0pGCmk3U1g4RzM0ODUvL0xIalRLRjYrMWJa
dFcyblFvSUdjT1hOR2o4K2FOVXVnSFJreFlvUkg1VTkvK2xQS203ZFBuRGdodzRjUGw0a1QKSitw
bjhlTEYwcjU5ZXkrOWZ5T3N2R0hEaG1tKzczM3ZlNElCVmxRNGV2U29JTzJ2Zi8xcitkV3ZmaVd0
VzdlV1AvN3hqL3F5TzlUOQpwUzk5U2ViTm15ZXZ2LzY2OWdOdk00YlpTbGp3dHdObWFFbnkrL3Q5
TnZuQkdtM0hHMTIvL2UxdnE1OU1XTnNRRjNXK2NPellzV1B5Cms1LzhSSjU4OGttQkM5Q1lNV01R
SGNzQjUzVFFvRUZhOTMvLysxK1pQWHUyNW92aWlvUFo2aWNZVDU0OFdRWGRaY3VXNmJVSS82RXQK
Vzdab0c0SmZVVzJLS3ljcFkzKy9YTjFyMXF5UlgvN3lseXBZZCsvZVhVYVBIaTE0b1ZEUzZ5UGRl
VW5YOXkzWjljRUFBQ0FBU1VSQgpWSFJ0enVUZWN2M2dMd21RQUFtUUFBbVFBQWtVS2dFN2VJa05k
cEJuR2pWcVpQQ0xNSExrU0dNSFdMcHRCMTNHdmlUTzJJR1dzVytzCk51dlhyemUyd1diUG5qMTYz
QTRFamZYbE1DdFhydFI5NndkaXJETzYyYmx6cCs3djI3ZlAySUcvV2JWcWxlNmpER3V1Wk94Z1RQ
ZUQKWDhIeU5tL2ViS3p2aVRsOStyU3hEdkZteUpBaHdTeTZqL2FnRC8vODV6OTEzNzZFejlnWDhC
azdVTmQ5YTg5dnJJbUsrZHZmL21hcwpFR0t3ajM0Y09IQWd0THhnTytMeUIvdWRhZjVUcDA0WjZ6
ZGpac3lZb2UzcDA2ZVBHVHQyYkdqYjBwMnZIVHQybUhyMTZwa1hYbmpCCnkydE40OHkvL3ZVdjNZ
L3J4OTY5ZS9YOG9SeUVPSzdaN0NldUdaeWorZlBuR3l2c21wLzk3R2VoMTBsY202TEt5WVJ4c0Y5
Z1hyWnMKV1dNWFQxQXU0OGVQTjdWcTFUS09VeHpYdVBOeU5tM085TjdTaHZPTEJFaUFCRWlBQkVp
QUJBcVpRS3dHQkxQZTMvbk9kNlJIang1Uwp1M1p0RllhZ3JZQW1CR0g1OHVXcThiQURNT25Xclp2
WUFielVxVk5IS2xldXJNZnRRRmZzd0V5YU5tM3FwZi9NWno0am4vNzBwM1gvCis5Ly92bW9idnZL
VnIraStIWWhwV3ZpV2hJVmdlZkE3d2VwYU1QL0NHNzJoNFFnTHZYcjFrazZkT2dtMEdnZ3dBWU5t
cGx5NWNyci8KbDcvOFJlQ1RzbjM3ZG5Xb2g2UDg1ejczT2ZWYjBRU0JyMkE3NHZLRGs3L2ZtZWIv
MFk5K3BBNzgwUENBL1lZTkd3VHNnaUhkK1lJMgpCK1p5clZxMWtwWXRXM3BaNFNDUHQyNGl4UFVE
cTVQVnJWdFhOUkZJSDhjMW0vMzgrOS8vTGpWcjFoUXJLSWdWSmxXTEUzYWR4TFVwCnFweWtqTkh2
WUwrZ0JTeFZxcFMwYU5FQ2h3VjE0SDZCYVNKQ09xNUp6c3ZadERuVGUwc2J5aThTSUFFU0lBRVNJ
QUVTS0d3Q2NRS08KTlJ0U1RZQTF1UWxOYWdleXBrMmJOc1lPb3ZSNDE2NWR6UTkvK0VNdmJmLysv
VTNuenAyOS9XOTk2MXRtNE1DQnVvK1piT3Zya2FKbAphTktraWJGbUxGNzY0RWF3UEJ6SGJETm14
dTBnT3BoYzk2Mi9nckVEVlUvYmdVaHI0bVhzZ05OTDM2NWRPMk1GRW1NZDREVU83Unc4CmVMQjNQ
TGdSYkVkY2ZuKy9VVlltK1RkdTNLam5vSGZ2M3NZS2Y4YWFxSG50RExZcjNmbGF1blNwbG1PRkx5
OGJORWoyR2xPTkFpTGoKK21FRklETmd3QURObjRSck52dHBCUXRqaGR2SXZxTlJTZG9VVms0bWpG
RlBzRi9RQk5hb1VVTTFjVmFJTlZXcVZESFFzcm1Ram11Uwo4NUpwbTgvbTNuSnQ1UzhKa0FBSmtB
QUprQUFKRkNZQnZKY2piZmpGTDM1aDdMczRRdE1jUDM1Y3phVldyRmloeHlHRXdKd0hnMkFYCllJ
YnkrT09QNnk1TXBDcFVxR0NXTEZtaSszMzc5alhObXpkM1NkVk1DNFBodFd2WGVuSEJEWDk1ZGlV
bVBZeHl2L3psTHh2cmZ4Sk0KcnZ1b3g4NzZlOGRnTGdieks5Zk9reWRQR2p0N2JheFBnNlpCUCt4
S1hjWXVMK3psQ1c3NDJ4R1hQOWh2bEpWSi9tblRwaG43ZmhWagpOUlhCWmhUWVQzZStyQitPc1px
cGxEd1F3aUNNSWNUMUEybVFmK0hDaGRnMGNWeVJKcHY5eEtCKzNMaHhLRFl5SkdsVFdEbVpNRWJs
Ci9uNjV4b0FsK0Z0dGw4Rzk0VUljMTdqemduSXliZlBaM0Z1dXZmd2xBUklnQVJJZ0FSSWdnY0lr
RUd1QzFiaHhZN0cyNUdKOUlWUVoKWXdmVFlnVU8zY2JMQjYzL2gyZDJBaWRjT0wzQ2xBbW1XSGpo
NE5hdFc5WEVhdVhLbFlMamRtQW1NTGVDb3ptY2JySGFGY0ovL3ZNZgpkWXJHaXdlclY2OHUxaWRC
NC8xZndmSW1UWnFrN1lMcEZjekV3dDRyZ3Z4d0FpNVJvb1FXaFhyc2pMTnVXMThJYlJQNmdXVnly
YVpHCjQvLzk3MytMdGZGWDB6SzBPeGlDN1lqTEgreDNwdm1yVnEwcWRoQXIrL2Z2MTZhZ24xYUlD
elpMOTlPZHIvcjE2OHNuUHZFSkw5KzYKZGV1VXhmVHAwelV1cmgvZ2dqWmNmLzMxK2k2WE9LN1o3
Q2ZxdHY0bmFncm9kU0JrSTY1TlVlVmt3ampZTHpRRDl3UWN4V0ZhQ1BNMgptQjI2RU1jMTdyeWNU
WnVUM0Z2V2Iwb2Q1ZkhlSFFZU0lBRVNJQUVTSUFFU3lCV0JXQUhFYWlqRW1sVkp4NDRkWmNLRUNU
SjE2bFMxCnYwY0Q0ZGRnVFV2VTl3TDcxbEZXU3BZc0tWaW1GVDRmRUZid01zR1pNMmVLMVZDb0R3
UGVSV0FkcVZVb2dhMitOVk9STGwyNjZNcEIKWC8vNjEzWDFMR3MrNHRXQmNsMElsZ2QvRVd2T0ph
dFhyeGJyWEs1K0lDNnQvOWM2Ykt0QTg3V3ZmVTFYWllLZ2dYWmdKUzhNcHEwbQpSRHAwNktCdFI3
NURodzdwY2ZURDJmVDd5d3UySXk0L2ZDejgvYzQwUHhoRGFHdldySm0rVCtXUlJ4NEpiUmZhbU81
OG9mL3dRNEhnCmhyN0Jsd1MrQ2M1Zko2NGZtelp0MHZPSmRCQXk0N2htczUrNDFxeDVubURscTNR
aHJrMVI1V1RDT05ndnRBY0NLMWFBcythSDZnT0YKbGJwY2lPTWFkMTdPcHMxSjdpMzRRY0ZuQ3Y0
c0RDUkFBaVJBQWlSQUFpU1FLd0tKM3dOeThPQkJuVDJIcGlCZHdQS3Y1Y3VYOTVKZwp1VlpyUHVU
dFE1TlNzV0pGYng4enRkQk93SUVYQTdzalI0NUVPbjRqazc4OENBb1FjS0RWZ0dOMHVvQjZJQWhZ
RXpCTkZteG5NQy9LCmRtbUR4N0R2YjBmWThXRCtZTDh6elk4NmR1M2FwV3ljMWlpc1hoZVg3bnlo
N3lnRHdtSmNDUFlENWVLRmtpN0VjUzNzZnJwMitIL2oKMnVSUEc5eE95dGpmcjkvKzlyZDY3Y0xw
R3c3eTBJUmdtV083OGxtS3hzbGZWNUFyam1WeVh2eGxSYlU1eWIwRmpWYlVDMFQ5ZFhDYgpCRWlB
QkVpQUJFaUFCTEpGSUxFQWtxMEtXUTRKWEdnRW9IV0MxczRKWmxqVkNxWllNSEZ6cTZ4ZGFIMW1m
MGlBQkVpQUJFaUFCRWpnCmJBbFFBRGxiY3N4SEFoOFJXTEJnZ1pvQTl1dlhULzJON0x0czFJOEpa
bEFNSkVBQ0pFQUNKRUFDSkVBQ3FRUW9nS1R5NEI0Sm5CVUIKTEF4Z1g0Nm9Kb0ZZM0FDTE16Q1FB
QW1RQUFtUUFBbVFBQWtVSkVBQnBDQVR4cEFBQ1pBQUNaQUFDWkFBQ1pBQUNSUVNnZGhWc0FxcApY
aFpMQWlSQUFpUkFBaVJBQWlSQUFpU1Fod1FvZ09UaFNXZVhTWUFFU0lBRVNJQUVTSUFFU09COEVh
QUFjcjdJczE0U0lBRVNJQUVTCklBRVNJQUVTeUVNQ0ZFRHk4S1N6eXlSQUFpUkFBaVJBQWlSQUFp
Und2Z2hRQURsZjVGa3ZDWkFBQ1pBQUNaQUFDWkFBQ2VRaEFRb2cKZVhqUzJXVVNJQUVTSUFFU0lB
RVNJQUVTT0Y4RUtJQ2NML0tzbHdSSWdBUklnQVJJZ0FSSWdBVHlrQUFGa0R3ODZld3lDWkFBQ1pB
QQpDWkFBQ1pBQUNad3ZBaFJBemhkNTFrc0NKRUFDSkVBQ0pFQUNKRUFDZVVpQUFrZ2VublIybVFS
SWdBUklnQVJJZ0FSSWdBVE9Gd0VLCklPZUxQT3NsQVJJZ0FSSWdBUklnQVJJZ2dUd2tRQUVrRDA4
NnUwd0NKRUFDSkVBQ0pFQUNKRUFDNTRzQUJaRHpSWjcxa2dBSmtBQUoKa0FBSmtBQUprRUFlRXFB
QWtvY25uVjBtQVJJZ0FSSWdBUklnQVJJZ2dmTkZnQUxJK1NMUGVrbUFCRWlBQkVpQUJFaUFCRWdn
RHdrVQpqK3Z6NDQ4L0hwZUV4MG1BQkVpQUJFaUFCRWlBQkVpQUJFaEFicjMxVmlsZnZueGFFckVD
Q0hLaklBWVNJQUVTSUFFU0lBRVNJQUVTCklBRVNPRmNDeFl3TjUxb0k4NU1BQ1pBQUNaQUFDWkFB
Q1pBQUNaQkFFZ0wwQVVsQ2lXbElnQVJJZ0FSSWdBUklnQVJJZ0FTeVFvQUMKU0ZZd3NoQVNJQUVT
SUFFU0lBRVNJQUVTSUlFa0JDaUFKS0hFTkNSQUFpUkFBaVJBQWlSQUFpUkFBbGtoUUFFa0t4aFpD
QW1RQUFtUQpBQW1RQUFtUUFBbVFRQklDRkVDU1VHSWFFaUFCRWlBQkVpQUJFaUFCRWlDQnJCQ2dB
SklWakN5RUJFaUFCRWlBQkVpQUJFaUFCRWdnCkNRRUtJRWtvTVEwSmtBQUprQUFKa0FBSmtBQUpr
RUJXQ0ZBQXlRcEdGa0lDSkVBQ0pFQUNKRUFDSkVBQ0pKQ0VBQVdRSkpTWWhnUkkKZ0FSSWdBUkln
QVJJZ0FSSUlDc0VLSUJrQlNNTElRRVNJQUVTSUFFU0lBRVNJQUVTU0VLQUFrZ1NTa3hEQWlSQUFp
UkFBaVJBQWlSQQpBaVNRRlFJVVFMS0NrWVdRQUFtUUFBbVFBQW1RQUFtUUFBa2tJVUFCSkFrbHBp
RUJFaUFCRWlBQkVpQUJFaUFCRXNnS0FRb2dXY0hJClFraUFCRWlBQkVpQUJFaUFCRWlBQkpJUW9B
Q1NoQkxUa0FBSmtBQUprQUFKa0FBSmtBQUpaSVVBQlpDc1lHUWhKRUFDSkVBQ0pFQUMKSkVBQ0pF
QUNTUWhRQUVsQ2lXbElnQVJJZ0FSSWdBUklnQVJJZ0FTeVFpQ3JBc2p4NDhkbDE2NWRXV21ZSzJU
ZnZuM3l3Z3N2eUtGRApoMXhVNU8vcDA2Zmw3My8vdTNjOHVPOGR5TkxHd1lNSFpjdVdMVmtxcldB
eHdmWVhkbjBGV3hBZFV4am4ybDlic08vK1k5ais0SU1QClpPUEdqY0hvbk93bnFmdlVxVk5lVy96
Ylh1UkhHNGNQSHc1R1pXMy9uWGZlRVh4Y1NISVB1YlM1L0hYdE5NWm90YmpPc3gzOHp5V2MKai8z
NzkyZTdDcFpIQWlSQUFpUkFBaVNRa0VDc0FQTDFyMzlkeXBjdkx6ZmRkSk4wN2RwVkxyNzRZcWxS
bzRiY2V1dXQ4cFd2ZkVYMwpaODZjS2JObno1WXJyN3hTbm5ycXFZUlZ4eWViTm0yYVBQMzAwL0tY
di94RjZ0V3JKeGlVUm9WLy92T2Y4c1V2ZmxFNmQrNnNTWUw3ClVmbk9KWDc0OE9GeXl5MjNuRXNS
a1huRDJsK1k5VVUySk9SQVlaeHJmelZoZmZjZi85ZS8vaVVOR2pTUTIyKy8zUitkaysyNHVqLzgK
OEVPWk5HbVNPTUhpcmJmZUV0d2ZibkFkYk9TM3YvM3RTRUZxK2ZMbDByWnRXeWxXckpoODduT2Zr
OXR1dTAyKzk3M3Z5ZmUvLzMyWgpNR0dDdlAvKys4SGl0TjVldlhwSnMyYk5aTXlZTWZMb280OUtt
elp0cEZXclZ0NjlzV1RKRW1uWXNLR1crNFV2ZkVITEd6QmdnTngxCjExMHljZUpFUVp2OVlkNjhl
ZkxaejM1VzA2T2N2bjM3U3A4K2ZhUjc5Kzd5bWM5OFJqcDE2cVRKbzlKOTV6dmYwWFR0MjdmM2lq
MXkKNUlpZ25WLys4cGRsOU9qUjh1dGYvMXB1dnZsbWFkNjh1YmJWSlZ5OGVMR2dqV0R3cFM5OVNj
QUVBUk1UUC9yUmp6VCtvb3N1a3AvLwovT2R5OU9oUldiWnNtZllYNld2WHJpMlRKMCtXMy8vKzkz
TDExVmNMN2grRW5qMTd5cWMrOVNsWnUzYXQ3dk9MQkVpQUJFaUFCRWdnCnh3VHN3Q2h0K09wWHYy
cTJiZHZtcFNsVnFwU3hneUJ2Zi96NDhXYnExS202YndjcFp0U29VZDZ4Yzltd00reW1iTm15eHM0
MmF6RXYKdmZSU2JIRVBQZlNRc1VLUWx5NjQ3eDNJMHNhQkF3Zk01czJiczFSYXdXS0M3Uy9zK2dx
MklEb21tK2M2ckpaZzM0TnA3SURaMk1GdwpNRG9uKytucVhyaHdvWG4rK2VlOWRvd1lNY0xZZ2JH
Mzc5K3cyak5qQjhvRzVVV0ZsU3RYUWkxZ0huNzRZUytKSFRpYjBxVkxHeXNFCmVISFlXTDkrdmFs
YXRhcXhBMnhqaFhYdm1CV0t6SDMzM1dmcTFxM3J4Vm5oWHN0ZHRHaVJGMmUxQXFaLy8vN204c3N2
TjZ0V3JmTGkKc1dHRkJFMi9ldlhxbEhnclNKaHUzYnA1Y1ZIcHJQYkZXRUZGMDZHZDFhcFYwM2Fl
UEhuU3k0c05LMWlaY3VYS3BjUzV0bHJCTnlVZQpPeFVyVmpUWFhudHRTcnhqQnZZSXFCdnRzZ0ty
N3FNUDJINzIyV2QxbjE4a1FBSWtRQUlrUUFLNUpSQ3JBUmswYUpCcVBLTGtvanZ1CnVFTzFFemhl
b2tRSm5aR01TcHRKL0wvLy9XOTU3NzMzQkxPYkNKZ3BqUXVYWEhKSlN2M0IvYmo4bVI2M0F6V3BV
NmRPcHRraVo4T0QKQlFYYmY3YjFCY3YxNzl2THpiOGJ1UjFNbDgxekhWWnBzTzh1RFRRTUNNV0xG
L2V1RFhjc0c3OW56cHlKTENaSjNYdjI3TkVaZU16TwpJMEI3ZDlsbGx3bTBPc0h3eEJOUHFCWUFH
aEtZdElVRmFCOFJNS1B2UXYzNjlhVlJvMGJ5NG9zdnVpZzFTY1BNUHU0WE95RWc0T2NDCjh0cUpB
YkVDaUlzU084alhiV2cwWGJDRGVkWGVkT2pRUWZ0Z0IrcnVrSmZlM3c0Y3RJS1FhbU5jUWxkdU1K
MmRUTkIyd1h3TjdjVHgKS1ZPbWFINlhGNy9Rd2dTMWlxNU05K3RQajdoZ3ZHUG0vMFhmbmNZTTJx
UXFWYXBJeDQ0ZC9VVnhtd1JJZ0FSSWdBUklJRWNFWWdXUQpkdTNhcFcwS0JoWk5temIxMG1DUUJs
TUhtRHpnajM3Nzl1M2VzZi84NXo4Q2dRWm1GakFCK2NjLy91RWQ4MjlnWVBiVG4vNVVNQmo4CndR
OStJRU9HRE5IREdLVEJWR1R3NE1FNlNQbmhEMzhvNzc3N3JqOXIydTEwK2VmUG55OVhYSEdGZk9N
YjN4Q1loL3oydDcvVmZaakEKdlBubW0xcnVyMzcxSzdueHhoc0ZOdVN3V3g4N2RxdzBhZEpFajls
WlYvbld0NzZsYlowK2ZiclVxbFZMcnJubW1wVCsyOWxlYlQvTQpSYXhtU2RQLzhwZS9GRHZibkxi
ZE9IZzI5YVhqUFhmdVhEVlBRUi9TQ1hmcDBxVTcxK2xZbzB3N1U2L21QdWdiek94Z3l0T3ZYei9z
CmhnYXdzN1B6OHVDREQycTZWMTU1SlRRZElsOTc3VFdCWUR4czJEQWRlT084dnZ6eXk1S094NG9W
S3dUbkF1Y1kxL01iYjd6aGxaOUoKM1RCTmdva2E2a2VBV2RLTUdUUFVaTXdyMEc3Z0dvSVprWjJs
VitFRFFralNjT0xFQ2RtMGFaT2FSTG84enozM25JQko3OTY5eFdvcApYYlQzQzhFa2FSMjRKbUR1
dUdEQkFpOS8xTWE5OTk0cmxTcFZpanFzOFJCZXJRWkdUVFNYTGwycTdlelJvMGNCNGNNVkFsN1pE
R0FOCm9RM1BIQVFJaVdnUGhHZ0UzSThRNkJoSWdBUklnQVJJZ0FSeVE2QjR0cXQ1NXBsbnhKcGw2
V3dqQnUrdzczNzg4Y2QxaGhZMjN4aDgKUW1qQllCSXprTmFFcWNBTUpnWnhtRFgrODUvL3JET3ly
bzFmKzlyWDFQWWN0dkN3ZjRjUEN2eFNyQm1KUzVMMk4xMSsrSTVnbHJoQwpoUXJhSHRqYVAvbmtr
L0xwVDM5YWJjbFJNQVFLMk45amdJY1plQWhYVGppeFppQ3laczBhZWYzMTE2VkZpeGJxT0EvaDdS
ZS8rSVhBCmx3WGhONy81amVhRmdJWUI3blhYWGFmMjdSRFc0a0ttOVdHbU9ZcjNwWmRlS3RiRVNl
RFBnSUNCT1lRSnAyMXliWUVBbUM1ZDFMbEcKL25Tc3JjbU9DcEhIamgzVHFpQzRZZENaemtrYTV4
bm5IWG5SVnB3WCtBV0ZCV2pPMERacjVxTkNTSmN1WGVTVG4veGtKSTh5WmNySQpkNy83WGZWZmF0
bXlwUXExRUlDdGlZNFduMG5kT0UvdzYzQUJ3Zy9LRGdiY0IyZ1h6ajE4SStBM2duc2lLc0JmQVhu
Z240Ryt0VzdkCld1NisrMjR2K2JwMTYzUzdaczJhWGx4d3cya0VndkhCL2F1dXVrcWdiUXNUakNG
QTRKN0Z0ZkhxcTYrS1gwdmlMOGVsdytBZndyblQKTERuQkR1Y21HT0Fvam5QbkFyUVUwTEM0Z0VV
SGNILzZBOHFQQzdoZjRRL2lnbDhUaERqMEZRSXhBd21RQUFtUUFBbVFRRzRJeEdwQQpNbTBHbk5Z
eE9JS1RKd1p6YnFVaXpBUmpKaFNEbWovOTZVOVN1WEpsWFlubXIzLzlhNklxa09kdmYvdWJhZzJR
QWJPWG1PMkZrMnJVCklNaGZjSkw4R0xERHlSVURYQVE0NzBLNGNZTW5hOXN2My96bU4vVVlCcFlR
SUp4cEVoendvZlZBSEJoZ2dBV0hYY3hVdXdBSGZReDIKRUtBZFFoa0lZWU14UGVEN3lyUytkTHlo
NGNHQUZvTkVCRGdWdTM3NHFsUk5VTHAwVWVjNkNXc01MUDFtT2hBQy9Qditka0JUaHJZNgpiUndF
SlpnSlJRVTRLME5ZaE9NMEJ2a3c5WUZ3R0hYOTRWcUNBSXBaY2dTY293MGJOdWgycG5WcnBnUmZ1
RzZ4c0FNQ3RDWFdMMElICjZsRlpJWER2M2J0WHp4czBKOUJRK0ZlTDJyMTd0MmFGR1ZVMkFvUVFK
MXo3eXdNcm1IZVZMRmxTUC81ai9tMS9Pcjg1blZ1VksweHIKWW4zTlZNQ0VzQUF0akY4WVFka3dP
WU4yeWY5eFFxeS83a3kzSWZqOTRROS95RFFiMDVNQUNaQUFDWkFBQ1p3bGdhd0xJUDVCSkdaYwpu
VzA3aEFRTTdEQVl3UWRtTHRCd09MT0l1UGJEaEFhRGNBeHNYTGpoaGh0MEU0UEx1SkFrUDJhdXNU
eW5tL25GYkMzTVhXQ2VnNWxXCkNDYlEzcmlBdnZyN0c5ei94Q2Mrb2ZsY2V1ejdoU1VNOGhvM2J1
d094LzRHeXcvdSsrdEx4eHVEVkF5NHNlb1FUTnlxVjYrdXE1a0YKR3hDWHp0OTMvN2xPd2pwWVY3
cDlERHdoVVBodC9hSEY4ZGNmekE4Qnh3bDRPSmFPQjhyQnFsSVF6R0NHQmI4Tk43QTltN3FEYlFu
dQo0M3ExQ3dvSVRQV2dIY1BNUCs2Snh4NTdMSmpVMjRlSjBNQ0JBMlhPbkRtcWdVQWVDUHBPT01Z
NVJIQ0NpTzZjNVJmS2hQQUJJVGtZCm9OV0VGZ29yWUVIVGlkVzJ3b0pMQjM4UGFMY3dJWUhndEE5
aDdZUnBwbHZGRGtJQnRLRCtBQk05ck9ybC8valBzVDh0dDBtQUJFaUEKQkVpQUJJb3VnYXliWUVW
MUZRTXVtS2RBcTNBMkFYYjRLQU1DRFFhZkNOQTJvRXdJQ1hFaFNYNElTSmpWLzkzdmZxZURYU3py
aTlsMgorQ2o4OTcvL0xlQWNHMWRuOFBnOTk5d2pNTzJDZ3oxbWtESHJqMEZYWVlRNDNwaEZob2tM
Qm5Qd21ZRG1CMlpLd1pBMG5UOWZFdGIrCjlISGJiNy85dHA3N1lMcDBBa2d3YlJ3UE9HNUR3d1l6
T2ZnZ1FZaEN5RWJkd2JaQUl3TnRtN3VPY1J5TzExZ3VGb0lGek12U0JaZ1UKd1N3TXZsRllVaGZM
NE1JRUVBR2FsSE1OTUxHQ2hpWEo1QUEwRlhFQjV3bExBaVBnbmtYd2F3WTE0cU12WnlibVorTS96
bTBTSUFFUwpJQUVTSUlHUFA0R3NhMENpa09EZElkQjQrRzIyWVJLREdlWWtBVFBnOEd0d2ZndklB
MU1Vek5iQzFDWXVKTTBQQVFFMjl2QmJnUzhLCkJvcHd4b1g1MWJrS0N6QWJncmtUVEpUZ01BemIr
TUlLNlhqRGxBZnM3Tkt1MmhZSVJCQ3lnaUZwdW1DK3BLeWRxVnN3ZjNBZmdoSTAKVXhnWW4yMUl4
d09EZHN5NHc5L0ZyMkZEWGRtbzI5OW1hRmwyN05paEswRmh0dDk5NERDUDZ4dUNVSkxnaEMva1FZ
QTJCQ1prMERhZwpqckRndENWaHgxd2M3a20wQlNaU1dPd2hMb0FYdEJtelpzMUttOVJ4eFNJTzBI
N0N2OHE5S3lWdFJoNGtBUklnQVJJZ0FSSzQ0QWhrCkpJQmd3QWk3N0NoblljeDg0K01DVnFoeXEx
VGhaV1J3ZG9hOU93WWVHQUQvN0djL2kxekdGaThWUTMydVBQaGV3SXdEUW93TEdNUmoKc090czZk
RTIvOHZaL1B0SjhxTmNPQVJETzRIbFNXRUNBajhPYUFiZ3MrSUdmYTUrdEEzOWMvNFRxTTgvcU1a
eE4wQkVucEVqUjZvSgpDbGJ2Z2dtTDM4SFdsZW4vOWJjZjhablVsNDQzZkFmZzBJeUExYmd3Z3g0
MjQ1d3VIZHFDand2K2M1MkVOV2JDc1RRdCtvaFZpYlp1CjNacmkwK0R2TzB4K29PbUM1c0FGK0Ja
QnErSG42NDdoRjROdGQrMWhQeDBQK0h2Z3ZFRVFRWGt3d1lLZ2pQTUtUVU9tZGFPK3FBRHQKaXYr
RmZDNGRlT0FEQVFUWHZndnVYdk1MRCtnWFRMRmdmb1FGRHhDZ3FYTXZKNFJ2bERNaDA0UDJDd3Nt
REIwNjFEUFpjb04vUHorawpnWllPL2lrUUtIRE51K0RTNDd6NEF6UWxNSTF5cGxXT3VVdnZUNHR0
dEJQQ0IzaER3QSsyRStVRlE3b3ljWjZDZFRsbTdqZFlYbkFmCkpwY1F4aGxJZ0FSSWdBUklnQVJ5
Uk1BT3NoSUY2dzloclBCZ2JMT01IWmdidklEUW1pVjVlZkZTTHp1NDBKZUNXUnQzWTgxNkRGNVcK
WndkdjVvOS8vS09tczI4bE5uWndyeTlmczRNbll6VUxYbjcvaG5YOE5YYW1WT3V5WmliR0RrNzFN
TXJFUzhmR2pSdG5yRk95c2FzbgpHVHQ0MUdOMk1HdXN5WWptc1c5Vk50YWNKbVhmRG15MFRWSDUv
ZldqVG1zRDcwWDk1Q2MvU2RuSEFkUm5sK0RWK3ZDU09MeDh6dm9vCkdEdGpicXkvZ2NITDRxd3py
ZmJYTHBHcVpkbFZpelE5R0ZvQlIxK2FhR2ZlVTE0YTV5b042MCttOVVYeHhybTBEdlA2QWttOE9B
OXQKc0lLYnE5cjdqVXFYNUZ5bk8xZW93UHJWNkF2djdLcE54ZzZNalIzRUdqdUxiMTU0NFFWbDZ6
K1hPSGZXTE01WUh4ZTlwcXhRWUt6LwppckhMQjJ1ODErQ1BOcERXK3VvWU80QTJWdER5RGtmeHND
Wjh4cjVaM1ZnaHpGaU5sN0ZtVGNhYXh4bTdWS3llbTB6cTlpb0wyYkFECmI3MTM4RUkrLzhzOWtk
U2F3T2s1d2JXQjQxWW9NN2h1ckMrRlhqTjJvUUpqQlF2ZEJ4dnJyMlIyN3R4Wm9CYXJKVEpXVTJm
QTFRN3cKRGE1bEswU2JILy80eDhZTzFqVTkrbWZmTHE3bGZ2N3puOWNYQ1ZxdGhKWnQvVXdNWHBE
b0QxWWphS3lncittdFg0aHlBUnU3MHBuQgpmV3dGZEdNRkpHV040K2lEWFlEQ1dBMmZ2NWlVYmFz
MU1YWjFNQzBYNTk2YWN1a0xHWkVQenhZckdHbDZLd3daNi8raVpkckZCWlFKCkR0akpESFAvL2Zk
cnZKMFlNSFo1Wm4wZVdlMml4OHkrbzhkN1NXcEs1WUVkT3lGZ3JEK1c5aUZ3aUxza1FBSWtRQUlr
UUFLRlFLQVkKeXJRRGhwd0Z6S0RDemgwclAyRm1PZE9BNXNKQkZqT3BXSFVxMDVBa1AyWmhvUVZ4
SWJqdjRqUDl4Wks4dDk1NnE4NnVZK1lYcGpKWQpyUXJ2UkRoYjM1aTROb1R4eHV3eitLRittTWI0
SGV2OTVTVk41OC9qMzQ1ampiWmhCaDZhSUdpdW5KbU92d3ovTnRKaXRodk84Wmo1CkRudmZoVDk5
MkhZWUQ1Y09NKzFPS3hWc1R6YnFkdlhrNGhkOG9ObkJQWWFYWlo0TnExeTBFOWNZVE5Kd1hyRDZs
Zi9GaUxtb0gzWGcKT2dVdmQrNXpWUy9ySVFFU0lBRVNJSUY4SlpCekFTUmZRV08xSXdnYjhDWHhC
emgvUTVEQzRJdUJCRWlBQkVpQUJFaUFCRWlBQkM1MApBaFJBY25TRzRlaU5wVlN4OUMxV0Y4SnNP
M3hpc09vV1Bnd2tRQUlrUUFJa1FBSWtRQUlra0E4RUtJRGs4Q3hqS1YrOGVCR3JTK0VsCmpkUjY1
QkErcXlJQkVpQUJFaUFCRWlBQkVpZ1NCQ2lBRkluVHdFYVFBQW1RQUFtUUFBbVFBQW1RUUg0UXlH
Z1ozdnhBd2w2U0FBbVEKQUFtUUFBbVFBQW1RQUFrVUZnRUtJSVZGbHVXU0FBbVFBQW1RQUFtUUFB
bVFBQWtVSUVBQnBBQVNScEFBQ1pBQUNaQUFDWkFBQ1pBQQpDUlFXQVFvZ2hVV1c1WklBQ1pBQUNa
QUFDWkFBQ1pBQUNSUWdRQUdrQUJKR2tBQUprQUFKa0FBSmtBQUprQUFKRkJZQkNpQ0ZSWmJsCmtn
QUprQUFKa0FBSmtBQUprQUFKRkNCQUFhUUFFa2FRQUFtUUFBbVFBQW1RQUFtUUFBa1VGZ0VLSUlW
Rmx1V1NBQW1RQUFtUUFBbVEKQUFtUUFBa1VJRUFCcEFBU1JwQUFDWkFBQ1pBQUNaQUFDWkFBQ1JR
V0FRb2doVVdXNVpJQUNaQUFDWkFBQ1pBQUNaQUFDUlFnUUFHawpBQkpHa0FBSmtBQUprQUFKa0FB
SmtBQUpGQllCQ2lDRlJaYmxrZ0FKa0FBSmtBQUprQUFKa0FBSkZDQkFBYVFBRWthUUFBbVFBQW1R
CkFBbVFBQW1RQUFrVUZnRUtJSVZGbHVXU0FBbVFBQW1RQUFtUUFBbVFBQWtVSUVBQnBBQVNScEFB
Q1pBQUNaQUFDWkFBQ1pBQUNSUVcKQVFvZ2hVV1c1WklBQ1pBQUNaQUFDWkFBQ1pBQUNSUWdRQUdr
QUJKR2tBQUprQUFKa0FBSmtBQUprQUFKRkJhQnN4SkFEaDgrWEZqdAprWGZlZVVjL3JvSkRodzY1
elNMMTY5cHBqTkYySFR4NHNFaTFqNDBoQVJJZ0FSSWdBUklnQVJJZ2dhSklvSmdkUVA5dkJKMUI2
MjY2CjZTWjU1SkZINUpwcnJpbVFhL255NWZMUVF3L0o4ODgvTC9YcTFaUHJyNzllTHI3NFl2M1Vy
MTlmN3J6elRpbFJva1JLUGdnMGd3WU4Ka3ExYnQycjYwcVZMeXl1dnZDSWZmdmloZmw1ODhVVlpz
bVNKREI4K1hGNTc3VFZOZzNLUnJsaXhZbEszYmwyNStlYWJwWHIxNmw2NQo4K2JOa3hFalJzakdq
UnVsWmN1V1VxdFdMVUZYVDU0OEthKysrcXEyZmVIQ2hSS1Y3dDEzMzlVMjFLeFpVNVl0VzZibEhq
bHlSTzY1CjV4N1p0R21UTkd6WVVNcVZLeWRyMXF5Ulk4ZU9DWTY5L3Zycm1tN3g0c1hhVmh4cjNM
aXhqQnc1VXRxMWF5Zjc5dTJUOGVQSHk5aXgKWTdYZGlCODRjS0M4OU5KTEdyOWl4UXB0NStEQmc1
V1QxeGx1a0FBSmtBQUprQUFKa0FBSmtNQ0ZRZ0FDU0NaaHk1WXR4Zzc2ellBQgpBeUt6clZ5NUVr
S05lZmpoaDcwMGE5ZXVOVlpnTUgzNjlQSGlzTEYrL1hwVHRXcFYwN05uVDNQNjlHbnZtQlUrekgz
MzNXZXNjT0hGClRaczJUY3RkdEdpUkY3ZC8vMzdUdjM5L2MvbmxsNXRWcTFaNThkZ1lQWHEwcGwr
OWVuVkt2QlVXVExkdTNieTRxSFJXKzJJNmRlcWsKNmRET2F0V3FhVHV0RU9QbHhjYUVDUk9NRlVa
UzRseGJaOCtlblJLUG5Zb1ZLNXBycjcwMkpkNHhvSWdtVlFBQUlBQkpSRUZVczBKVApTangzU0lB
RVNJQUVTSUFFU0lBRVNPQkNJcEN4Q2RZVFR6d2h2WHIxa3Brelo4cng0OGRENWJEeTVjdHJQTFFU
TGtENzBhaFJJNEUyCnc0VVBQdmhBck9BaEYxMTBrVXlkT2xVdXVlUVNkMGcxQktOR2pWTHRob3VF
eGdFQkdoVVg3R0JlSmsyYUpCMDZkSkEyYmRxSUZUYmMKSWRWUVlNZmZEdXhEYzJLRkJteHFjT1VH
MDVVdFcxYmI1ZHFKNDFPbVROSDhMaTkrNzdyckxybmxsbHY4VVY3ZHJtei9RY1FGNHgwego5K3RQ
ejIwU0lBRVNJQUVTSUFFU0lBRVN1RkFJWkNTQW5EcDFTczJJWU5vRTRRTkNTTkp3NHNRSk5WM3Ey
cldybCtXNTU1NVRNNmZlCnZYdExxVktsdkhpM0FjRWthUjB3YTdJYUZGbXdZSUhMSHZsNzc3MzNT
cVZLbFNLUDQ0Q1ZNc1ZxWU9US0s2K1VwVXVYYWp0NzlPaFIKUVBod2hjeVlNY050OHBjRVNJQUVT
SUFFU0lBRVNJQUVTQ0NDUVBHSStORG91WFBuU3BjdVhlVHFxNitXOXUzYnErYkJtaitGcGtXawpO
YnNTNUhucnJiZmttV2Vla2RhdFc4dmRkOS90cFYrM2JwMXV3ODhpS2lUVkNGeDExVlZpemJERW1t
RVZLQW9DeE9iTm0rWE1tVFBxCi8rSFhrdmdUdTNRUXRLeEpsS2JIOFRmZWVFT1RXUk1zZjNMZDNy
VnJsN3ozM250ZWZKVXFWVktFRlBpZ1ZLaFF3VHVPRFpUUFFBSWsKUUFJa1FBSWtRQUlrUUFMNVND
QWpBUVRPMVU4Ly9iUnl1dU9PTzZSang0NDZVSWVUZDFoNC8vMzNaZS9ldlNxSXdBRWJUdUpZTGVx
SwpLNjdRNUx0Mzc5WmZtRkZsSTBBSWVmUE5Od3NVQmFkM21IZkJkS3RreVpJRmpyc0lsdzdhRDZT
SDZSVUNWcnhDQ05PYWJOdTJUZUEwCkRzZjIyMisvWFIzTVllTGxBa3pPSUlENUE1eldHVWlBQkVp
QUJFaUFCRWlBQkVnZ0h3a2tGa0N3b3RPQkF3ZGsrdlRweWduYUJBelMKSDN2c01WMWxLZ3dlZkQ2
d3loTSttUFZ2M3J5NWFrRjI3TmdoeFlzWFY0RUUrWndnRWxaRzBqaTBCOEpIa3laTkNtUnAyN2F0
cmthRgpBOTI3ZDllVnJBb2tzaEgrZExmZGRwc01HVEpFazJHVkxZU3dkcUpQblR0M1ZnRUUycURM
THJ0TTA3cXZmdjM2cWJiSTdlTVhtaFlHCkVpQUJFaUFCRWlBQkVpQUJFc2hIQW9sOVFPQjhEZWR6
YUN2d2diWUJqdGRZeWhabVNIRUJQaDd3Lzlpelo0OHVxWXYwZGlVb3pXWlgKbUlyTEhuc2NKbGJ3
QWNIeXVIRUIvaUp4QVE3blk4YU0wV1RYWFhlZC9tTDUzYkRnek1RdXZmVFNzTU9NSXdFU0lBRVNJ
QUVTSUFFUwpJQUVTK0loQUlnRUU3N2lBMWdJclZtRzIzMzJHRFJ1bVprcFl3U3BKY0t0TU9kTW0r
SVJnZFN3NGNLT09zQUROUmx5QXlSVGFBaE1wCm1FUEZCWmhhUVpzeGE5YXN0RW5kKzBwdXZQRkdh
ZHEwcVR6NTVKTlNtQzloVE5zWUhpUUJFaUFCRWlBQkVpQUJFaUNCQzRCQUlnRUUKUysvQzZUd1lv
Qm5BQndMSTBhTkh2Y1B1N2VWKzRRRXY5cHN6WjQ3NmY3Um8wVUxUWXBVckxJY0xYeEdzaEJYMGpk
aStmYnNNSFRyVQpjd1ozZzM4bndLQVFwTUhMQWVHZkFvR2ljdVhLV2phK1hIcS9remppb1NtQmFa
UXpyVUxiRUZ4NjNmRjlvWjBRUHZCaVJQc2Vrd0x0ClJIbkJrSzVNbUtNRjYzTE0zRyt3UE82VEFB
bVFBQW1RQUFtUUFBbVF3SVZBSU5ZSEJNdmdQdmpnZ3dLaEFVN25OV3JVOFBxTlpYVHgKWm5INGhr
QTdNbm55WkYweGF0eTRjWnBtNHNTSkF2TXFtR2hoWUkwQi8vejU4MU5XaFdyV3JKazZxZmZ0MjFj
YU5HZ2dyVnExMG5kawo0STNuZUlzNHpLRGdMd0svQ2FkcGVlQ0JCMVRZZVB2dHQ2Vk1tVEpxeW9W
NmF0ZXU3Ylh0MldlZmxhZWVla3IzNFp1QnNoRXc4SC81CjVaYzljeTI4Q2QwdG9RdlRMSmlLb2Ev
QmdEZXBiOWl3UWU2Ly8zNjU0WVliTkExVzc5cTVjNmRnTlMrODRkeXh3VnZiNFJ1REFBWncKdW9k
L0NSenhIMzMwVVVHN29RM0NlMDd3RGhHc3lvWDhDQkRTN0lzWjFhRmRJL2hGQWlSQUFpUkFBaVJB
QWlSQUFoY1FnV0o0cTJKUgo2UTgwQXhqa1ErQ29VNmRPNkx0QmlrSmJvUW1CU1JvMEt4QjYvQzlH
TEFydFl4dElnQVJJZ0FSSWdBUklnQVJJb0tnU0tGSUNTRkdGCnhIYVJBQW1RQUFtUUFBbVFBQW1R
QUFsa2gwQWlINURzVk1WU1NJQUVTSUFFU0lBRVNJQUVTSUFFOHAwQUJaQjh2d0xZZnhJZ0FSSWcK
QVJJZ0FSSWdBUkxJSVFFS0lEbUV6YXBJZ0FSSWdBUklnQVJJZ0FSSUlOOEpVQURKOXl1QS9TY0JF
aUFCRWlBQkVpQUJFaUNCSEJLZwpBSkpEMkt5S0JFaUFCRWlBQkVpQUJFaUFCUEtkQUFXUWZMOEMy
SDhTSUFFU0lBRVNJQUVTSUFFU3lDRUJDaUE1aE0ycVNJQUVTSUFFClNJQUVTSUFFU0NEZkNWQUF5
ZmNyZ1AwbkFSSWdBUklnQVJJZ0FSSWdnUndTb0FDU1E5aXNpZ1JJZ0FSSWdBUklnQVJJZ0FUeW5R
QUYKa0h5L0F0aC9FaUFCRWlBQkVpQUJFaUFCRXNnaEFRb2dPWVROcWtpQUJFaUFCRWlBQkVpQUJF
Z2czd2xRQU1uM0s0RDlKd0VTSUFFUwpJQUVTSUFFU0lJRWNFcUFBa2tQWXJJb0VTSUFFU0lBRVNJ
QUVTSUFFOHAwQUJaQjh2d0xZZnhJZ0FSSWdBUklnQVJJZ0FSTElJUUVLCklEbUV6YXBJZ0FSSWdB
UklnQVJJZ0FSSUlOOEpVQURKOXl1QS9TY0JFaUFCRWlBQkVpQUJFaUNCSEJLZ0FKSkQyS3lLQkVp
QUJFaUEKQkVpQUJFaUFCUEtkQUFXUWZMOEMySDhTSUFFU0lBRVNJQUVTSUFFU3lDRUJDaUE1aE0y
cVNJQUVTSUFFU0lBRVNJQUVTQ0RmQ1ZBQQp5ZmNyZ1AwbkFSSWdBUklnQVJJZ0FSSWdnUndTT0Nz
QjVQRGh3NFhXeEhmZWVVZndjZUhRb1VOdXMwajl1bllhWTdSZEJ3OGVMRkx0ClkyTklnQVJJZ0FS
SWdBUklnQVJJb0NnU0tHWUgwUDhiUVdmUXVwdHV1a2tlZWVRUnVlYWFhd3JrV3I1OHVUejAwRVB5
L1BQUFM3MTYKOWVUNjY2K1hpeSsrV0QvMTY5ZVhPKys4VTBxVUtKR1NEd0xOb0VHRFpPdldyWnEr
ZE9uUzhzb3JyOGlISDM2b254ZGZmRkdXTEZraQp3NGNQbDlkZWUwM1RvRnlrSzFhc21OU3RXMWR1
dnZsbXFWNjl1bGZ1dkhuelpNU0lFYkp4NDBacDJiS2wxS3BWUzlEVmt5ZFB5cXV2CnZxcHRYN2h3
b1VTbGUvZmRkN1VOTld2V2xHWExsbW01UjQ0Y2tYdnV1VWMyYmRva0RSczJsSExseXNtYU5Xdmsy
TEZqZ21PdnYvNjYKcGx1OGVMRzJGY2NhTjI0c0kwZU9sSGJ0MnNtK2ZmdGsvUGp4TW5ic1dHMDM0
Z2NPSENndnZmU1N4cTlZc1VMYk9YandZT1hrZFlZYgpKRUFDSkVBQ0pFQUNKRUFDSkhDaEVJQUFr
a25Zc21XTHNZTitNMkRBZ01oc0sxZXVoRkJqSG43NFlTL04yclZyalJVWVRKOCtmYnc0CmJLeGZ2
OTVVclZyVjlPelowNXcrZmRvN1pvVVBjOTk5OXhrclhIaHgwNlpOMDNJWExWcmt4ZTNmdjkvMDc5
L2ZYSDc1NVdiVnFsVmUKUERaR2p4NnQ2VmV2WHAwU2I0VUYwNjFiTnk4dUtwM1Z2cGhPblRwcE9y
U3pXclZxMms0cnhIaDVzVEZod2dSamhaR1VPTmZXMmJObgpwOFJqcDJMRml1YmFhNjlOaVhmTXJO
Q1VFczhkRWlBQkVpQUJFaUFCRWlBQkVyaVFDR1JzZ3ZYRUUwOUlyMTY5Wk9iTW1YTDgrUEZRCk9h
eDgrZklhRCsyRUM5QitOR3JVU0tETmNPR0REejRRSzNqSVJSZGRKRk9uVHBWTExybkVIVklOd2Fo
Um8xUzc0U0toY1VDQVJzVUYKTzVpWFNaTW1TWWNPSGFSTm16WmloUTEzU0RVVTJQRzNBL3ZRbkZp
aEFac2FYTG5CZEdYTGx0VjJ1WGJpK0pRcFV6Uy95NHZmdSs2NgpTMjY1NVJaL2xGZTNLOXQvRUhI
QmVNZk0vZnJUYzVzRVNJQUVTSUFFU0lBRVNJQUVMaFFDR1FrZ3AwNmRVak1pbURaQitJQVFralNj
Ck9IRkNUWmU2ZHUzcVpYbnV1ZWZVektsMzc5NVNxbFFwTDk1dFFEQkpXZ2ZNbXF3R1JSWXNXT0N5
Ui83ZWUrKzlVcWxTcGNqak9HQ2wKVExFYUdMbnl5aXRsNmRLbDJzNGVQWG9VRUQ1Y0lUTm16SENi
L0NVQkVpQUJFaUFCRWlBQkVpQUJFb2dnVUR3aVBqUjY3dHk1MHFWTApGN242NnF1bGZmdjJxbm13
NWsraGFSRnB6YTRFZWQ1NjZ5MTU1cGxucEhYcjFuTDMzWGQ3NmRldFc2ZmI4TE9JQ2trMUFsZGRk
WlZZCk15eXhabGdGaW9JQXNYbnpaamx6NW96NmYvaTFKUDdFTGgwRUxXc1NwZWx4L0kwMzN0Qmsx
Z1RMbjF5M2QrM2FKZSs5OTU0WFg2VksKbFJRaEJUNG9GU3BVOEk1akErVXprQUFKa0FBSmtBQUpr
QUFKa0VBK0VzaElBSUZ6OWROUFA2MmM3cmpqRHVuWXNhTU8xT0hrSFJiZQpmLzk5MmJ0M3J3b2lj
TUNHa3poV2k3cmlpaXMwK2U3ZHUvVVhabFRaQ0JCQzNuenp6UUpGd2VrZDVsMHczU3Bac21TQjR5
N0NwWVAyCkErbGhlb1hnVnVVSzA1cHMyN1pONERRT3gvYmJiNzlkSGN4aDR1VUNUTTRnZ1BrRG5O
WVpTSUFFU0lBRVNJQUVTSUFFU0NBZkNTUVcKUUxDaTA0RURCMlQ2OU9uS0Nkb0VETklmZSt3eFhX
VXFEQjU4UHJES0V6Nlk5Vy9ldkxscVFYYnMyQ0hGaXhkWGdRVDVuQ0FTVmtiUwpPTFFId2tlVEpr
MEtaR25idHEydVJvVUQzYnQzMTVXc0NpU3lFZjUwdDkxMm13d1pNa1NUWVpVdGhMQjJvaytkTzNk
V0FRVGFvTXN1CnUwelR1cTkrL2ZxcHRzanQ0eGVhRmdZU0lBRVNJQUVTSUFFU0lBRVN5RWNDaVgx
QTRId041M05vSy9DQnRnR08xMWpLRm1aSWNRRSsKSHZELzJMTm5qeTZwaS9SMkpTak5abGVZaXNz
ZWV4d21WdkFCd2ZLNGNRSCtJbkVCRHVkanhvelJaTmRkZDUzK1l2bmRzT0RNeEM2OQo5Tkt3dzR3
akFSSWdBUklnQVJJZ0FSSWdBUkw0aUVBaUFRVHZ1SURXQWl0V1liYmZmWVlORzZabVNsakJLa2x3
cTB3NTB5YjRoR0IxCkxEaHdvNDZ3QU0xR1hJREpGTm9DRXltWVE4VUZtRnBCbXpGcjFxeTBTZDM3
U202ODhVWnAyclNwUFBua2sxS1lMMkZNMnhnZUpBRVMKSUFFU0lBRVNJQUVTSUlFTGdFQWlBUVJM
NzhMcFBCaWdHY0FIQXNqUm8wZTl3Kzd0NVg3aEFTLzJtek5uanZwL3RHalJRdE5pbFNzcwpod3Rm
RWF5RUZmU04yTDU5dXd3ZE90UnpCbmVEZnlmQW9CQ2t3Y3NCNFo4Q2dhSnk1Y3BhTnI1Y2VyK1RP
T0toS1lGcGxET3RRdHNRClhIcmQ4WDJoblJBKzhHSkUreDZUQXUxRWVjR1Fya3lZb3dYcmNzemNi
N0E4N3BNQUNaQUFDWkFBQ1pBQUNaREFoVUFnMWdjRXkrQSsKK09DREFxRUJUdWMxYXRUdytvMWxk
UEZtY2ZpR1FEc3llZkprWFRGcTNMaHhtbWJpeElrQzh5cVlhR0ZnalFILy9QbnpVMWFGYXRhcwpt
VHFwOSszYlZ4bzBhQ0N0V3JYU2QyVGdqZWQ0aXpqTW9PQXZBcjhKcDJsNTRJRUhWTmg0KysyM3BV
eVpNbXJLaFhwcTE2N3R0ZTNaClo1K1ZwNTU2U3ZmaG00R3lFVER3Zi9ubGx6MXpMYndKM1MyaEM5
TXNtSXFocjhHQU42bHYyTEJCN3IvL2ZybmhoaHMwRFZidjJybHoKcDJBMUw3emgzTEhCVzl2aEc0
TUFCbkM2aDM4SkhQRWZmZlJSUWJ1aERjSjdUdkFPRWF6S2hmd0lFTkxzaXhuVm9WMGorRVVDSkVB
QwpKRUFDSkVBQ0pFQUNGeENCWW5pcllsSHBEelFER09SRDRLaFRwMDdvdTBHS1FsdWhDWUZKR2pR
ckVIcjhMMFlzQ3UxakcwaUFCRWlBCkJFaUFCRWlBQkVpZ3FCSW9VZ0pJVVlYRWRwRUFDWkFBQ1pB
QUNaQUFDWkFBQ1dTSFFDSWZrT3hVeFZKSWdBUklnQVJJZ0FSSWdBUkkKZ0FUeW5RQUZrSHkvQXRo
L0VpQUJFaUFCRWlBQkVpQUJFc2doQVFvZ09ZVE5xa2lBQkVpQUJFaUFCRWlBQkVnZzN3bFFBTW4z
SzREOQpKd0VTSUFFU0lBRVNJQUVTSUlFY0VxQUFra1BZcklvRVNJQUVTSUFFU0lBRVNJQUU4cDBB
QlpCOHZ3TFlmeElnQVJJZ0FSSWdBUklnCkFSTElJUUVLSURtRXphcElnQVJJZ0FSSWdBUklnQVJJ
SU44SlVBREo5eXVBL1NjQkVpQUJFaUFCRWlBQkVpQ0JIQktnQUpKRDJLeUsKQkVpQUJFaUFCRWlB
QkVpQUJQS2RBQVdRZkw4QzJIOFNJQUVTSUFFU0lBRVNJQUVTeUNFQkNpQTVoTTJxU0lBRVNJQUVT
SUFFU0lBRQpTQ0RmQ1ZBQXlmY3JnUDBuQVJJZ0FSSWdBUklnQVJJZ2dSd1NvQUNTUTlpc2lnUkln
QVJJZ0FSSWdBUklnQVR5blFBRmtIeS9BdGgvCkVpQUJFaUFCRWlBQkVpQUJFc2doQVFvZ09ZVE5x
a2lBQkVpQUJFaUFCRWlBQkVnZzN3bFFBTW4zSzREOUp3RVNJQUVTSUFFU0lBRVMKSUlFY0VxQUFr
a1BZcklvRVNJQUVTSUFFU0lBRVNJQUU4cDBBQlpCOHZ3TFlmeElnQVJJZ0FSSWdBUklnQVJMSUlR
RUtJRG1FemFwSQpnQVJJZ0FSSWdBUklnQVJJSU44SlVBREo5eXVBL1NjQkVpQUJFaUFCRWlBQkVp
Q0JIQkk0S3dIazhPSERoZGJFZDk1NVIvQng0ZENoClEyNnpTUDI2ZGhwanRGMEhEeDRzVXUxalkw
aUFCRWlBQkVpQUJFaUFCRWlnS0JJb1pnZlEveHRCWjlDNm0yNjZTUjU1NUJHNTVwcHIKQ3VSYXZu
eTVQUFRRUS9MODg4OUx2WHIxNVBycnI1ZUxMNzVZUC9YcjE1Yzc3N3hUU3BRb2taSVBBczJnUVlO
azY5YXRtcjUwNmRMeQp5aXV2eUljZmZxaWZGMTk4VVpZc1dTTERodytYMTE1N1RkT2dYS1FyVnF5
WTFLMWJWMjYrK1dhcFhyMjZWKzY4ZWZOa3hJZ1JzbkhqClJtblpzcVhVcWxWTDBOV1RKMC9LcTYr
K3FtMWZ1SENoUktWNzk5MTN0UTAxYTlhVVpjdVdhYmxIamh5UmUrNjVSelp0MmlRTkd6YVUKY3VY
S3labzFhK1RZc1dPQ1k2Ky8vcnFtVzd4NHNiWVZ4eG8zYml3alI0NlVkdTNheWI1OSsyVDgrUEV5
ZHV4WWJUZmlCdzRjS0MrOQo5SkxHcjFpeFF0czVlUEJnNWVSMWhoc2tRQUlrUUFJa1FBSWtRQUlr
Y0tFUWdBQ1NTZGl5Wll1eGczNHpZTUNBeUd3clY2NkVVR01lCmZ2aGhMODNhdFd1TkZSaE1uejU5
dkRoc3JGKy8zbFN0V3RYMDdOblRuRDU5Mmp0bWhROXozMzMzR1N0Y2VISFRwazNUY2hjdFd1VEYK
N2QrLzMvVHYzOTljZnZubFp0V3FWVjQ4TmthUEhxM3BWNjllblJKdmhRWFRyVnMzTHk0cW5kVytt
RTZkT21rNnRMTmF0V3JhVGl2RQplSG14TVdIQ0JHT0ZrWlE0MTliWnMyZW54R09uWXNXSzV0cHJy
MDJKZDh5czBKUVN6eDBTSUFFU0lBRVNJQUVTSUFFU3VKQUlaR3lDCjljUVRUMGl2WHIxazVzeVpj
dno0OFZBNXJIejU4aG9QN1lRTDBINDBhdFJJb00xdzRZTVBQaEFyZU1oRkYxMGtVNmRPbFVzdXVj
UWQKVWczQnFGR2pWTHZoSXFGeFFJQkd4UVU3bUpkSmt5WkpodzRkcEUyYk5tS0ZEWGRJTlJUWThi
Y0QrOUNjV0tFQm14cGN1Y0YwWmN1VwoxWGE1ZHVMNGxDbFROTC9MaTkrNzdycExicm5sRm4rVVY3
Y3IyMzhRY2NGNHg4ejkrdE56bXdSSWdBUklnQVJJZ0FSSWdBUXVGQUlaCkNTQ25UcDFTTXlLWU5r
SDRnQkNTTkp3NGNVSk5sN3AyN2VwbGVlNjU1OVRNcVhmdjNsS3FWQ2t2M20xQU1FbGFCOHlhckFa
RkZpeFkKNExKSC90NTc3NzFTcVZLbHlPTTRZS1ZNc1JvWXVmTEtLMlhwMHFYYXpoNDllaFFRUGx3
aE0yYk1jSnY4SlFFU0lBRVNJQUVTSUFFUwpJQUVTaUNCUVBDSStOSHJ1M0xuU3BVc1h1ZnJxcTZW
OSsvYXFlYkRtVDZGcEVXbk5yZ1I1M25yckxYbm1tV2VrZGV2V2N2ZmRkM3ZwCjE2MWJwOXZ3czRn
S1NUVUNWMTExbFZnekxMRm1XQVdLZ2dDeGVmTm1PWFBtalBwLytMVWsvc1F1SFFRdGF4S2w2WEg4
alRmZTBHVFcKQk11ZlhMZDM3ZG9sNzczM25oZGZwVXFWRkNFRlBpZ1ZLbFR3am1NRDVUT1FBQW1R
QUFtUUFBbVFBQW1RUUQ0U3lFZ0FnWFAxMDA4LwpyWnp1dU9NTzZkaXhvdzdVNGVRZEZ0NS8vMzNa
dTNldkNpSnd3SWFUT0ZhTHV1S0tLelQ1N3QyNzlSZG1WTmtJRUVMZWZQUE5Ba1hCCjZSM21YVERk
S2xteVpJSGpMc0tsZy9ZRDZXRjZoZUJXNVFyVG1temJ0azNnTkE3SDl0dHZ2MTBkekdIaTVRSk16
aUNBK1FPYzFobEkKZ0FSSWdBUklnQVJJZ0FSSUlCOEpKQlpBc0tMVGdRTUhaUHIwNmNvSjJnUU0w
aDk3N0RGZFpTb01Ibncrc01vVFBwajFiOTY4dVdwQgpkdXpZSWNXTEYxZUJCUG1jSUJKV1J0STR0
QWZDUjVNbVRRcGthZHUycmE1R2hRUGR1M2ZYbGF3S0pMSVIvblMzM1hhYkRCa3lSSk5oCmxTMkVz
SGFpVDUwN2QxWUJCTnFneXk2N1ROTzZyMzc5K3FtMnlPM2pGNW9XQmhJZ0FSSWdBUklnQVJJZ0FS
TElSd0tKZlVEZ2ZBM24KYzJncjhJRzJBWTdYV01vV1praHhBVDRlOFAvWXMyZVBMcW1MOUhZbEtN
MW1WNWlLeXg1N0hDWlc4QUhCOHJoeEFmNGljUUVPNTJQRwpqTkZrMTExM25mNWkrZDJ3NE16RUxy
MzAwckREakNNQkVpQUJFaUFCRWlBQkVpQUJFdmlJUUNJQkJPKzRnTllDSzFaaHR0OTloZzBiCnBt
WktXTUVxU1hDclREblRKdmlFWUhVc09IQ2pqckFBelVaY2dNa1UyZ0lUS1poRHhRV1lXa0diTVd2
V3JMUkozZnRLYnJ6eFJtbmEKdEtrOCtlU1RVcGd2WVV6YkdCNGtBUklnQVJJZ0FSSWdBUklnZ1F1
QVFDSUJCRXZ2d3VrOEdLQVp3QWNDeU5HalI3M0Q3dTNsZnVFQgpML2FiTTJlTytuKzBhTkZDMDJL
Vkt5eUhDMThScklRVjlJM1l2bjI3REIwNjFITUdkNE4vSjhDZ0VLVEJ5d0hobndLQm9uTGx5bG8y
CnZseDZ2NU00NHFFcGdXbVVNNjFDMnhCY2V0M3hmYUdkRUQ3d1lrVDdIcE1DN1VSNXdaQ3VUSmlq
QmV0eXpOeHZzRHp1a3dBSmtBQUoKa0FBSmtBQUprTUNGUUNEV0J3VEw0RDc0NElNQ29RRk81elZx
MVBENmpXVjA4V1p4K0laQU96SjU4bVJkTVdyY3VIR2FadUxFaVFMegpLcGhvWVdDTkFmLzgrZk5U
Vm9WcTFxeVpPcW4zN2R0WEdqUm9JSzFhdGRKM1pPQ041M2lMT015ZzRDOEN2d21uYVhuZ2dRZFUy
SGo3CjdiZWxUSmt5YXNxRmVtclhydTIxN2Rsbm41V25ubnBLOStHYmdiSVJNUEIvK2VXWFBYTXR2
QW5kTGFFTDB5eVlpcUd2d1lBM3FXL1kKc0VIdXYvOSt1ZUdHR3pRTlZ1L2F1WE9uWURVdnZPSGNz
Y0ZiMitFYmd3QUdjTHFIZndrYzhSOTk5RkZCdTZFTndudE84QTRSck1xRgovQWdRMHV5TEdkV2hY
U1A0UlFJa1FBSWtRQUlrUUFJa1FBSVhFSUZpZUt0aVVla1BOQU1ZNUVQZ3FGT25UdWk3UVlwQ1c2
RUpnVWthCk5Dc1Fldnd2Uml3SzdXTWJTSUFFU0lBRVNJQUVTSUFFU0tDb0VpaFNBa2hSaGNSMmtR
QUprQUFKa0FBSmtBQUprQUFKWklkQUloK1EKN0ZURlVraUFCRWlBQkVpQUJFaUFCRWlBQlBLZEFB
V1FmTDhDMkg4U0lBRVNJQUVTSUFFU0lBRVN5Q0VCQ2lBNWhNMnFTSUFFU0lBRQpTSUFFU0lBRVND
RGZDVkFBeWZjcmdQMG5BUklnQVJJZ0FSSWdBUklnZ1J3U29BQ1NROWlzaWdSSWdBUklnQVJJZ0FS
SWdBVHluUUFGCmtIeS9BdGgvRWlBQkVpQUJFaUFCRWlBQkVzZ2hBUW9nT1lUTnFraUFCRWlBQkVp
QUJFaUFCRWdnM3dsUUFNbjNLNEQ5SndFU0lBRVMKSUFFU0lBRVNJSUVjRXFBQWtrUFlySW9FU0lB
RVNJQUVTSUFFU0lBRThwMEFCWkI4dndMWWZ4SWdBUklnQVJJZ0FSSWdBUkxJSVFFSwpJRG1FemFw
SWdBUklnQVJJZ0FSSWdBUklJTjhKVUFESjl5dUEvU2NCRWlBQkVpQUJFaUFCRWlDQkhCS2dBSkpE
Mkt5S0JFaUFCRWlBCkJFaUFCRWlBQlBLZEFBV1FmTDhDMkg4U0lBRVNJQUVTSUFFU0lBRVN5Q0VC
Q2lBNWhNMnFTSUFFU0lBRVNJQUVTSUFFU0NEZkNWQUEKeWZjcmdQMG5BUklnQVJJZ0FSSWdBUkln
Z1J3U29BQ1NROWlzaWdSSWdBUklnQVJJZ0FSSWdBVHluUUFGa0h5L0F0aC9FaUFCRWlBQgpFaUFC
RWlBQkVzZ2hBUW9nT1lUTnFraUFCRWlBQkVpQUJFaUFCRWdnM3dsUUFNbjNLNEQ5SndFU0lBRVNJ
QUVTSUFFU0lJRWNFamdyCkFlVHc0Y09GMXNSMzNubEg4SEhoMEtGRGJyTkkvYnAyR21PMFhRY1BI
aXhTN1dOalNJQUVTSUFFU0lBRVNJQUVTS0FvRWlobUI5RC8KRzBGbjBMcWJicnBKSG5ua0Vibm1t
bXNLNUZxK2ZMazg5TkJEOHZ6enowdTlldlhrK3V1dmw0c3Z2bGcvOWV2WGx6dnZ2Rk5LbENpUgpr
ZzhDemFCQmcyVHIxcTJhdm5UcDB2TEtLNi9JaHg5K3FKOFhYM3hSbGl4WklzT0hENWZYWG50TjA2
QmNwQ3RXckpqVXJWdFhicjc1ClpxbGV2YnBYN3J4NTgyVEVpQkd5Y2VOR2FkbXlwZFNxVlV2UTFa
TW5UOHFycjc2cWJWKzRjS0ZFcFh2MzNYZTFEVFZyMXBSbHk1WnAKdVVlT0hKRjc3cmxITm0zYUpB
MGJOcFJ5NWNySm1qVnI1Tml4WTRKanI3Lyt1cVpidkhpeHRoWEhHamR1TENOSGpwUjI3ZHJKdm4z
NwpaUHo0OFRKMjdGaHROK0lIRGh3b0w3MzBrc2F2V0xGQzJ6bDQ4R0RsNUhXR0d5UkFBaVJBQWlS
QUFpUkFBaVJ3b1JDQUFKSkoyTEpsCmk3R0Rmak5nd0lESWJDdFhyb1JRWXg1KytHRXZ6ZHExYTQw
VkdFeWZQbjI4T0d5c1g3L2VWSzFhMWZUczJkT2NQbjNhTzJhRkQzUGYKZmZjWksxeDRjZE9tVGRO
eUZ5MWE1TVh0MzcvZjlPL2YzMXgrK2VWbTFhcFZYancyUm84ZXJlbFhyMTZkRW0rRkJkT3RXemN2
TGlxZAoxYjZZVHAwNmFUcTBzMXExYXRwT0s4UjRlYkV4WWNJRVk0V1JsRGpYMXRtelo2ZkVZNmRp
eFlybTJtdXZUWWwzekt6UWxCTFBIUklnCkFSSWdBUklnQVJJZ0FSSzRrQWhrYklMMXhCTlBTSzll
dldUbXpKbHkvUGp4VURtc2ZQbnlHZy90aEF2UWZqUnExRWlnelhEaGd3OCsKRUN0NHlFVVhYU1JU
cDA2VlN5NjV4QjFTRGNHb1VhTlV1K0Vpb1hGQWdFYkZCVHVZbDBtVEprbUhEaDJrVFpzMllvVU5k
MGcxRk5qeAp0d1A3MEp4WW9RR2JHbHk1d1hSbHk1YlZkcmwyNHZpVUtWTTB2OHVMMzd2dXVrdHV1
ZVVXZjVSWHR5dmJmeEJ4d1hqSHpQMzYwM09iCkJFaUFCRWlBQkVpQUJFaUFCQzRVQWhrSklLZE9u
Vkl6SXBnMlFmaUFFSkkwbkRoeFFrMlh1bmJ0Nm1WNTdybm4xTXlwZCsvZVVxcFUKS1MvZWJVQXdT
Vm9Iekpxc0JrVVdMRmpnc2tmKzNudnZ2VktwVXFYSTR6aGdwVXl4R2hpNThzb3JaZW5TcGRyT0hq
MTZGQkErWENFegpac3h3bS93bEFSSWdBUklnQVJJZ0FSSWdBUktJSUZBOElqNDBldTdjdWRLbFN4
ZTUrdXFycFgzNzlxcDVzT1pQb1drUmFjMnVCSG5lCmV1c3RlZWFaWjZSMTY5Wnk5OTEzZStuWHJW
dW4yL0N6aUFwSk5RSlhYWFdWV0RNc3NXWllCWXFDQUxGNTgyWTVjK2FNK24vNHRTVCsKeEM0ZEJD
MXJFcVhwY2Z5Tk45N1FaTllFeTU5Y3QzZnQyaVh2dmZlZUYxK2xTcFVVSVFVK0tCVXFWUENPWXdQ
bE01QUFDWkFBQ1pBQQpDWkFBQ1pCQVBoTElTQUNCYy9YVFR6K3RuTzY0NHc3cDJMR2pEdFRoNUIw
VzNuLy9mZG03ZDY4S0luREFocE00Vm91NjRvb3JOUG51CjNidjFGMlpVMlFnUVF0NTg4ODBDUmNI
cEhlWmRNTjBxV2JKa2dlTXV3cVdEOWdQcFlYcUY0RmJsQ3RPYWJOdTJUZUEwRHNmMjIyKy8KWFIz
TVllTGxBa3pPSUlENUE1eldHVWlBQkVpQUJFaUFCRWlBQkVnZ0h3a2tGa0N3b3RPQkF3ZGsrdlRw
eWduYUJBelNIM3ZzTVYxbApLZ3dlZkQ2d3loTSttUFZ2M3J5NWFrRjI3TmdoeFlzWFY0RUUrWndn
RWxaRzBqaTBCOEpIa3laTkNtUnAyN2F0cmthRkE5MjdkOWVWCnJBb2tzaEgrZExmZGRwc01HVEpF
azJHVkxZU3dkcUpQblR0M1ZnRUUycURMTHJ0TTA3cXZmdjM2cWJiSTdlTVhtaFlHRWlBQkVpQUIK
RWlBQkVpQUJFc2hIQW9sOVFPQjhEZWR6YUN2d2diWUJqdGRZeWhabVNIRUJQaDd3Lzlpelo0OHVx
WXYwZGlVb3pXWlhtSXJMSG5zYwpKbGJ3QWNIeXVIRUIvaUp4QVE3blk4YU0wV1RYWFhlZC9tTDUz
YkRnek1RdXZmVFNzTU9NSXdFU0lBRVNJQUVTSUFFU0lBRVMrSWhBCklnRUU3N2lBMWdJclZtRzIz
MzJHRFJ1bVprcFl3U3BKY0t0TU9kTW0rSVJnZFN3NGNLT09zQUROUmx5QXlSVGFBaE1wbUVQRkJa
aGEKUVpzeGE5YXN0RW5kKzBwdXZQRkdhZHEwcVR6NTVKTlNtQzloVE5zWUhpUUJFaUFCRWlBOXNT
MElBQUFnQUVsRVFWUUJFaUFCRWlDQgpDNEJBSWdFRVMrL0M2VHdZb0JuQUJ3TEkwYU5IdmNQdTdl
Vis0UUV2OXBzelo0NzZmN1JvMFVMVFlwVXJMSWNMWHhHc2hCWDBqZGkrCmZic01IVHJVY3daM2cz
OG53S0FRcE1ITEFlR2ZBb0dpY3VYS1dqYStYSHEva3pqaW9TbUJhWlF6clVMYkVGeDYzZkY5b1ow
UVB2QmkKUlBzZWt3THRSSG5Ca0s1TW1LTUY2M0xNM0crd1BPNlRBQW1RQUFtUUFBbVFBQW1Rd0lW
QUlOWUhCTXZnUHZqZ2d3S2hBVTduTldyVQo4UHFOWlhUeFpuSDRoa0E3TW5ueVpGMHhhdHk0Y1pw
bTRzU0pBdk1xbUdoaFlJMEIvL3o1ODFOV2hXcldySms2cWZmdDIxY2FOR2dnCnJWcTEwbmRrNEkz
bmVJczR6S0RnTHdLL0NhZHBlZUNCQjFUWWVQdnR0NlZNbVRKcXlvVjZhdGV1N2JYdDJXZWZsYWVl
ZWtyMzRadUIKc2hFdzhILzU1WmM5Y3kyOENkMHRvUXZUTEppS29hL0JnRGVwYjlpd1FlNi8vMzY1
NFlZYk5BMVc3OXE1YzZkZ05TKzg0ZHl4d1Z2Ygo0UnVEQUFad3VvZC9DUnp4SDMzMFVVRzdvUTND
ZTA3d0RoR3N5b1g4Q0JEUzdJc1oxYUZkSS9oRkFpUkFBaVJBQWlSQUFpUkFBaGNRCmdXSjRxMkpS
NlE4MEF4amtRK0NvVTZkTzZMdEJpa0pib1FtQlNSbzBLeEI2L0M5R0xBcnRZeHRJZ0FSSWdBUkln
QVJJZ0FSSW9LZ1MKS0ZJQ1NGR0Z4SGFSQUFtUUFBbVFBQW1RQUFtUUFBbGtoMEFpSDVEc1ZNVlNT
SUFFU0lBRVNJQUVTSUFFU0lBRThwMEFCWkI4dndMWQpmeElnQVJJZ0FSSWdBUklnQVJMSUlRRUtJ
RG1FemFwSWdBUklnQVJJZ0FSSWdBUklJTjhKVUFESjl5dUEvU2NCRWlBQkVpQUJFaUFCCkVpQ0JI
QktnQUpKRDJLeUtCRWlBQkVpQUJFaUFCRWlBQlBLZEFBV1FmTDhDMkg4U0lBRVNJQUVTSUFFU0lB
RVN5Q0VCQ2lBNWhNMnEKU0lBRVNJQUVTSUFFU0lBRVNDRGZDVkFBeWZjcmdQMG5BUklnQVJJZ0FS
SWdBUklnZ1J3U29BQ1NROWlzaWdSSWdBUklnQVJJZ0FSSQpnQVR5blFBRmtIeS9BdGgvRWlBQkVp
QUJFaUFCRWlBQkVzZ2hBUW9nT1lUTnFraUFCRWlBQkVpQUJFaUFCRWdnM3dsUUFNbjNLNEQ5Ckp3
RVNJQUVTSUFFU0lBRVNJSUVjRXFBQWtrUFlySW9FU0lBRVNJQUVTSUFFU0lBRThwMEFCWkI4dndM
WWZ4SWdBUklnQVJJZ0FSSWcKQVJMSUlRRUtJRG1FemFwSWdBUklnQVJJZ0FSSWdBUklJTjhKVUFE
Sjl5dUEvU2NCRWlBQkVpQUJFaUFCRWlDQkhCS2dBSkpEMkt5SwpCRWlBQkVpQUJFaUFCRWlBQlBL
ZEFBV1FmTDhDMkg4U0lBRVNJQUVTSUFFU0lBRVN5Q0VCQ2lBNWhNMnFTSUFFU0lBRVNJQUVTSUFF
ClNDRGZDVkFBeWZjcmdQMG5BUklnQVJJZ0FSSWdBUklnZ1J3U09Dc0I1UERodzRYV3hIZmVlVWZ3
Y2VIUW9VTnVzMGo5dW5ZYVk3UmQKQnc4ZUxGTHRZMk5JZ0FSSWdBUklnQVJJZ0FSSW9DZ1NLR1lI
MFA4YlFXZlF1cHR1dWtrZWVlUVJ1ZWFhYXdya1dyNTh1VHowMEVQeQovUFBQUzcxNjllVDY2NitY
aXkrK1dELzE2OWVYTysrOFUwcVVLSkdTRHdMTm9FR0RaT3ZXclpxK2RPblM4c29ycjhpSEgzNm9u
eGRmCmZGR1dMRmtpdzRjUGw5ZGVlMDNUb0Z5a0sxYXNtTlN0VzFkdXZ2bG1xVjY5dWxmdXZIbnpa
TVNJRWJKeDQwWnAyYktsMUtwVlM5RFYKa3lkUHlxdXZ2cXB0WDdod29VU2xlL2ZkZDdVTk5Xdlds
R1hMbG1tNVI0NGNrWHZ1dVVjMmJkb2tEUnMybEhMbHlzbWFOV3ZrMkxGagpnbU92di82NnBsdThl
TEcyRmNjYU4yNHNJMGVPbEhidDJzbStmZnRrL1BqeE1uYnNXRzAzNGdjT0hDZ3Z2ZlNTeHE5WXNV
TGJPWGp3CllPWGtkWVliSkVBQ0pFQUNKRUFDSkVBQ0pIQ2hFSUFBa2tuWXNtV0xzWU4rTTJEQWdN
aHNLMWV1aEZCakhuNzRZUy9OMnJWcmpSVVkKVEo4K2ZidzRiS3hmdjk1VXJWclY5T3paMDV3K2Zk
bzdab1VQYzk5OTl4a3JYSGh4MDZaTjAzSVhMVnJreGUzZnY5LzA3OS9mWEg3NQo1V2JWcWxWZVBE
WkdqeDZ0NlZldlhwMFNiNFVGMDYxYk55OHVLcDNWdnBoT25UcHBPclN6V3JWcTJrNHJ4SGg1c1RG
aHdnUmpoWkdVCk9OZlcyYk5ucDhSanAyTEZpdWJhYTY5TmlYZk1yTkNVRXM4ZEVpQUJFaUFCRWlB
QkVpQUJFcmlRQ0dSc2d2WEVFMDlJcjE2OVpPYk0KbVhMOCtQRlFPYXg4K2ZJYUQrMkVDOUIrTkdy
VVNLRE5jT0dERHo0UUszaklSUmRkSkZPblRwVkxMcm5FSFZJTndhaFJvMVM3NFNLaApjVUNBUnNV
Rk81aVhTWk1tU1ljT0hhUk5telppaFExM1NEVVUyUEczQS92UW5GaWhBWnNhWExuQmRHWExsdFYy
dVhiaStKUXBVelMvCnk0dmZ1KzY2UzI2NTVSWi9sRmUzSzl0L0VISEJlTWZNL2ZyVGM1c0VTSUFF
U0lBRVNJQUVTSUFFTGhRQ0dRa2dwMDZkVWpNaW1EWkIKK0lBUWtqU2NPSEZDVFplNmR1M3FaWG51
dWVmVXpLbDM3OTVTcWxRcEw5NXRRREJKV2dmTW1xd0dSUllzV09DeVIvN2VlKys5VXFsUwpwY2pq
T0dDbFRMRWFHTG55eWl0bDZkS2wyczRlUFhvVUVENWNJVE5tekhDYi9DVUJFaUFCRWlBQkVpQUJF
aUFCRW9nZ1VEd2lQalI2Cjd0eTUwcVZMRjduNjZxdWxmZnYycW5tdzVrK2hhUkZwemE0RWVkNTY2
eTE1NXBsbnBIWHIxbkwzM1hkNzZkZXRXNmZiOExPSUNrazEKQWxkZGRaVllNeXl4WmxnRmlvSUFz
WG56WmpsejVvejZmL2kxSlA3RUxoMEVMV3NTcGVseC9JMDMzdEJrMWdUTG4xeTNkKzNhSmUrOQo5
NTRYWDZWS2xSUWhCVDRvRlNwVThJNWpBK1V6a0FBSmtBQUprQUFKa0FBSmtFQStFc2hJQUlGejlk
TlBQNjJjN3JqakR1bllzYU1PCjFPSGtIUmJlZi85OTJidDNyd29pY01DR2t6aFdpN3JpaWlzMCtl
N2R1L1VYWmxUWkNCQkMzbnp6elFKRndla2Q1bDB3M1NwWnNtU0IKNHk3Q3BZUDJBK2xoZW9YZ1Z1
VUswNXBzMjdaTjREUU94L2JiYjc5ZEhjeGg0dVVDVE00Z2dQa0RuTllaU0lBRVNJQUVTSUFFU0lB
RQpTQ0FmQ1NRV1FMQ2kwNEVEQjJUNjlPbktDZG9FRE5JZmUrd3hYV1VxREI1OFByREtFejZZOVcv
ZXZMbHFRWGJzMkNIRml4ZFhnUVQ1Cm5DQVNWa2JTT0xRSHdrZVRKazBLWkduYnRxMnVSb1VEM2J0
MzE1V3NDaVN5RWY1MHQ5MTJtd3daTWtTVFlaVXRoTEIyb2srZE8zZFcKQVFUYW9Nc3V1MHpUdXE5
Ky9mcXB0c2p0NHhlYUZnWVNJQUVTSUFFU0lBRVNJQUVTeUVjQ2lYMUE0SHdONTNOb0svQ0J0Z0dP
MTFqSwpGbVpJY1FFK0h2RC8yTE5uank2cGkvUjJKU2pOWmxlWWlzc2VleHdtVnZBQndmSzRjUUgr
SW5FQkR1ZGp4b3pSWk5kZGQ1MytZdm5kCnNPRE14QzY5OU5Ld3c0d2pBUklnQVJJZ0FSSWdBUkln
QVJMNGlFQWlBUVR2dUlEV0FpdFdZYmJmZllZTkc2Wm1TbGpCS2tsd3EwdzUKMHliNGhHQjFMRGh3
bzQ2d0FNMUdYSURKRk5vQ0V5bVlROFVGbUZwQm16RnIxcXkwU2QzN1NtNjg4VVpwMnJTcFBQbmtr
MUtZTDJGTQoyeGdlSkFFU0lBRVNJQUVTSUFFU0lJRUxnRUFpQVFSTDc4THBQQmlnR2NBSEFzalJv
MGU5dys3dDVYN2hBUy8ybXpObmp2cC90R2pSClF0TmlsU3NzaHd0ZkVheUVGZlNOMkw1OXV3d2RP
dFJ6Qm5lRGZ5ZkFvQkNrd2NzQjRaOENnYUp5NWNwYU5yNWNlcitUT09LaEtZRnAKbERPdFF0c1FY
SHJkOFgyaG5SQSs4R0pFK3g2VEF1MUVlY0dRcmt5WW93WHJjc3pjYjdBODdwTUFDWkFBQ1pBQUNa
QUFDWkRBaFVBZwoxZ2NFeStBKytPQ0RBcUVCVHVjMWF0VHcrbzFsZFBGbWNmaUdRRHN5ZWZKa1hU
RnEzTGh4bW1iaXhJa0M4eXFZYUdGZ2pRSC8vUG56ClUxYUZhdGFzbVRxcDkrM2JWeG8wYUNDdFdy
WFNkMlRnamVkNGl6ak1vT0F2QXI4SnAybDU0SUVIVk5oNCsrMjNwVXlaTW1yS2hYcHEKMTY3dHRl
M1paNStWcDU1NlN2ZmhtNEd5RVREd2YvbmxsejF6TGJ3SjNTMmhDOU1zbUlxaHI4R0FONmx2MkxC
QjdyLy9mcm5oaGhzMApEVmJ2MnJsenAyQTFMN3poM0xIQlc5dmhHNE1BQm5DNmgzOEpIUEVmZmZS
UlFidWhEY0o3VHZBT0VhektoZndJRU5Mc2l4blZvVjBqCitFVUNKRUFDSkVBQ0pFQUNKRUFDRnhD
QlluaXJZbEhwRHpRREdPUkQ0S2hUcDA3b3UwR0tRbHVoQ1lGSkdqUXJFSHI4TDBZc0N1MWoKRzBp
QUJFaUFCRWlBQkVpQUJFaWdxQklvVWdKSVVZWEVkcEVBQ1pBQUNaQUFDWkFBQ1pBQUNXU0hRQ0lm
a094VXhWSklnQVJJZ0FSSQpnQVJJZ0FSSTRQKzFkeWZRVWhUckFjZS95eUw3SXNwcXdpWVFvaEdV
VFFSY2tFWFdCd0dqQkZTV0l3aEVBaTU0M2xIV0JBVmtWK1FpClR3UElpNkFRaEFDS0lKRkFpSVNB
OGc2eWlJQXNBcklwb094Q3A3N0s2MzR6YzJmamVXZTgzZk92YzRhWjZhN3VydnJWY0U1L3Q1WkcK
SU5NRkNFQXkvUmRBL1JGQUFBRUVFRUFBQVFRUVNLTUFBVWdhc2JrVUFnZ2dnQUFDQ0NDQUFBS1pM
a0FBa3VtL0FPcVBBQUlJSUlBQQpBZ2dnZ0VBYUJRaEEwb2pOcFJCQUFBRUVFRUFBQVFRUXlIUUJB
cEJNL3dWUWZ3UVFRQUFCQkJCQUFBRUUwaWhBQUpKR2JDNkZBQUlJCklJQUFBZ2dnZ0VDbUN4Q0Fa
UG92Z1BvamdBQUNDQ0NBQUFJSUlKQkdBUUtRTkdKektRUVFRQUFCQkJCQUFBRUVNbDJBQUNUVGZ3
SFUKSHdFRUVFQUFBUVFRUUFDQk5Bb1FnS1FSbTBzaGdBQUNDQ0NBQUFJSUlKRHBBZ1FnbWY0TG9Q
NElJSUFBQWdnZ2dBQUNDS1JSZ0FBawpqZGhjQ2dFRUVFQUFBUVFRUUFDQlRCY2dBTW4wWHdEMVJ3
QUJCQkJBQUFFRUVFQWdqUUlFSUduRTVsSUlJSUFBQWdnZ2dBQUNDR1M2CkFBRklwdjhDcUQ4Q0ND
Q0FBQUlJSUlBQUFta1VJQUJKSXphWFFnQUJCQkJBQUFFRUVFQWcwd1VJUURMOUYwRDlFVUFBQVFR
UVFBQUIKQkJCSW93QUJTQnF4dVJRQ0NDQ0FBQUlJSUlBQUFwa3VRQUNTNmI4QTZvOEFBZ2dnZ0FB
Q0NDQ0FRQm9GL3F3QTVJY2Zma2haRVk4ZQpQU3I2Y3RQMzMzL3Zmc3hUNzI0NUhjZXg1VHAxNmxT
ZUtoK0ZRUUFCQkJCQUFBRUVFRUFnTHdwa21Sdm8vNytEdm83U3RXblRScVpPCm5TcTFhOWZPY2RU
SEgzOHNFeWRPbEU4KytVUnV2LzEydWV1dXV5Ui8vdnoyVmJkdVhSa3dZSUFVTEZndzdEZ05hSjU5
OWxuWnUzZXYKelYra1NCSFp2SG16WEx0MnpiN1dybDBySzFhc2tCRWpSc2pubjM5dTgraDVOVjlX
VnBiVXFsVkxPbmJzS0ZXclZ2WE8rLzc3Nzh2SQprU05sMTY1ZDByeDVjN24xMWx0RnEzcisvSG5a
c21XTExmdlNwVXNsVnI0TEZ5N1lNbFN2WGwwKyt1Z2plOTdUcDAvTE04ODhJMTk5CjlaWFVyMTlm
U3BjdUxWOTg4WVg4K09PUG92dis4SWMvMkh6TGx5KzNaZFY5ZDk5OXQ0d2VQVm9lZXVnaE9YNzh1
RXlhTkVsZWZmVlYKVzI3ZFBuandZTm13WVlQZHZtYk5HbHZPNTU1N3pqcDVsZUVEQWdnZ2dBQUND
Q0NBQUFKQkVkQUE1SHJTMTE5LzdaaWJmdWZwcDUrTwplZGlubjM2cVFZMHpaY29VTDgvV3JWc2RF
ekE0VHo3NXBMZE5QK3pZc2NPNTVaWmJuQ2VlZU1LNWRPbVN0ODhFSDg1dmYvdGJ4d1FYCjNyWlpz
MmJaOHk1YnRzemJkdUxFQ1dmZ3dJSE9UVGZkNUt4ZnY5N2JyaDllZWVVVm0vK3p6ejRMMjI2Q0Jl
ZlJSeC8xdHNYS1ozcGYKbkU2ZE90bDhXczRxVmFyWWNwb2d4anRXUDd6MjJtdU9DVWJDdHJsbGZm
ZmRkOE8yNjVlYmI3N1p1ZTIyMjhLMnUyWW1hQXJiemhjRQpFRUFBQVFRUVFBQUJCSUlrY04xRHNO
NTY2eTNwM2J1M3ZQUE9PL0xUVHo5RmpjTnV2UEZHdTExN0o5eWt2UjhOR3pZVTdjMXcwOVdyClY4
VUVIcEl2WHo1NTg4MDM1WVliYm5CMzJSNkNsMTkrMmZadXVCdTF4MEdUOXFpNHlkek15eHR2dkNI
dDJyV1RsaTFiaWdrMjNGMjIKaDBLL2hKWkR2MnZQaVFrYTlLTk43bmtqOHhVclZzeVd5eTJuN3A4
NWM2WTkzajFXM3djTkdpU2RPM2NPM2VSZDJ6MTM2RTdkRnJuZApOWFBmUS9QekdRRUVFRUFBQVFR
UVFBQ0JvQWhjVndCeThlSkZPNHhJaHpacDhLRkJTTExwM0xsemR1alNJNDg4NGgyeWF0VXFPOHlw
ClQ1OCtVcmh3WVcrNyswRURrMlN2b2NPYVRBK0tmUERCQis3aE1kOWZlT0VGS1ZldVhNejl1c05F
bVdKNllLUjgrZkx5NFljZjJuSSsKOXRoak9ZSVA5eVN6Wjg5MlAvS09BQUlJSUlBQUFnZ2dnQUFD
TVFRS3hOZ2VkZk43NzcwblhidDJsY3FWSzB2YnRtMXR6NE1aL2hRMQpyMjQwdzY1RWo5bS9mNzhz
WExoUVdyUm9JVU9HRFBIeWI5KyszWDdXZVJheFVySTlBaFVxVkJBekRFdk1NS3djcDlJQVl2ZnUz
Zkx6Cnp6L2IrUitodlNTaG1kMThHbWlaSVZFMnYrNy84c3N2YlRZekJDczB1LzE4Nk5BaHVYejVz
cmU5VXFWS1lVR0t6a0VwVTZhTXQxOC8KNlBsSkNDQ0FBQUlJSUlBQUFnaGtvc0IxQlNBNnVYckJn
Z1hXNmFtbm5wTGYvT1kzOWtaZEozbEhTMWV1WEpIdnZ2dk9CaUk2QVZzbgppZXRxVVdYTGxyWFpE
eDgrYk45MUdGVnVKQTFDOXV6WmsrTlVPdWxkaDNmcDBLMUNoUXJsMk85dWNQTnA3NGZtMTZGWG10
eFZ1YUwxCm11emJ0MDkwMHJoT2JPL1hyNStkWUs1RHZOeWtRODQwQUF0Tk9tbWRoQUFDQ0NDQUFB
SUlJSUJBSmdva0hZRG9pazRuVDU2VXQ5OSsKMnpwcGI0TGVwRStmUHQydU1oVU5UK2Q4NkNwUCt0
Sy8rdDkvLy8yMkYrVEFnUU5Tb0VBQkc1RG9jVzRnRXUwY3lXN1Q4bWp3Y2M4OQo5K1E0cEZXclZu
WTFLdDNSdlh0M3U1SlZqa3htUTJpK3h4OS9YSjUvL25tYlRWZlowaFN0bkZxbkxsMjYyQUJFZTRO
S2xTcGw4N3IvCjlPL2YzL1lXdWQvMVhYdGFTQWdnZ0FBQ0NDQ0FBQUlJWktKQTBuTkFkUEsxVGo3
WDNncDlhVytEVHJ6V3BXeDFHRktpcEhNOGRQN0gKa1NOSDdKSzZtdCtzQkdVUE15dE1KVG84NFg0
ZFlxVnpRSFI1M0VSSjU0c2tTanJoZk55NGNUYmJIWGZjWWQ5MStkMW95UjBtVnJ4NAo4V2k3MllZ
QUFnZ2dnQUFDQ0NDQUFBSi9GRWdxQU5GblhHaXZoYTVZcFgvdGQxL0RoZzJ6dzVSMEJhdGtrcnZL
bER1MFNlZUU2T3BZCk9vRmJyeEV0YWM5R29xUkRwclFzT2tSS2gwTWxTanJVU25zemZ2LzczOGZO
Nmo2djVONTc3NVdtVFp2SzNMbHpKWlVQWVl4YkdIWWkKZ0FBQ0NDQ0FBQUlJSUJBQWdhUUNFRjE2
VnllZFJ5YnRHZENYQmlCbno1NzFkcnRQTHc4Tkh2VEJmdlBuejdmelB4NTQ0QUdiVjFlNQowdVZ3
ZGE2SXJvUVZPVGZpbTIrK2thRkRoM3FUd2QyYmZ6ZUEwWk5vSG4wNG9NNVAwWUNpWXNXSzl0ejZq
NXMvZEpLNGJ0ZWVFaDBhCjVRNnQwckpwY3ZQYkx5SC9hRGsxK05BSEk1cm5tT1FvcDU0dk1zVTdw
dzVIaTd5V2ErYStSNTZQN3dnZ2dBQUNDQ0NBQUFJSUJFRWcKNFJ3UVhRWjN6Smd4b2tHRFRqcXZW
cTJhVjI5ZFJsZWZMSzV6UTdSM0pEczcyNjRZTldIQ0JKdm45ZGRmRngxZXBVTzA5TVphYi9nWApM
MTRjdGlyVWZmZmRaeWVwOSszYlYrNjg4MDU1OE1FSDdUTXk5SW5uK2hSeEhRYWw4MFYwM29UYjAv
TFNTeS9aWU9QYmI3K1Zva1dMCjJxRmNlcDBhTldwNFpWdTBhSkhNbXpmUGZ0ZTVHWHB1VFhyanYy
blRKbSs0bGo0SjNWMUNWNGRtNlZBeHJXdGswaWVwNzl5NVUxNTgKOFVWcDFLaVJ6YU9yZHgwOGVG
QjBOUzk5d3Jscm8wOXQxN2t4bXRSQUo5M3IvQktkaUQ5dDJqVFJjbXR2a0Q3blJKOGhvcXR5NmZH
YQpORWd6RDJhMEU5cnRCdjVCQUFFRUVFQUFBUVFRUUNCQUFsbjZWTVc4VWgvdEdkQ2JmQTA0YXRh
c0dmWFpJSG1ock5vVG9rUFN0R2RGCmc1N1FCeVBtaGZKUkJnUVFRQUFCQkJCQUFBRUU4cXBBbmdw
QThpb1M1VUlBQVFRUVFBQUJCQkJBQUlIY0VVaHFEa2p1WElxeklJQUEKQWdnZ2dBQUNDQ0NBUUtZ
TEVJQmsraStBK2lPQUFBSUlJSUFBQWdnZ2tFWUJBcEEwWW5NcEJCQkFBQUVFRUVBQUFRUXlYWUFB
Sk5OLwpBZFFmQVFRUVFBQUJCQkJBQUlFMENoQ0FwQkdiU3lHQUFBSUlJSUFBQWdnZ2tPa0NCQ0Na
L2d1Zy9nZ2dnQUFDQ0NDQUFBSUlwRkdBCkFDU04yRndLQVFRUVFBQUJCQkJBQUlGTUZ5QUF5ZlJm
QVBWSEFBRUVFRUFBQVFRUVFDQ05BZ1FnYWNUbVVnZ2dnQUFDQ0NDQUFBSUkKWkxvQUFVaW0vd0tv
UHdJSUlJQUFBZ2dnZ0FBQ2FSUWdBRWtqTnBkQ0FBRUVFRUFBQVFRUVFDRFRCUWhBTXYwWFFQMFJR
QUFCQkJCQQpBQUVFRUVpakFBRklHckc1RkFJSUlJQUFBZ2dnZ0FBQ21TNUFBSkxwdndEcWp3QUND
Q0NBQUFJSUlJQkFHZ1VJUU5LSXphVVFRQUFCCkJCQkFBQUVFRU1oMEFRS1FUUDhGVUg4RUVFQUFB
UVFRUUFBQkJOSW9RQUNTUm13dWhRQUNDQ0NBQUFJSUlJQkFwZ3NRZ0dUNkw0RDYKSTRBQUFnZ2dn
QUFDQ0NDUVJnRUNrRFJpY3lrRUVFQUFBUVFRUUFBQkJESmRnQUFrMDM4QjFCOEJCQkJBQUFFRUVF
QUFnVFFLL0ZrQgp5QTgvL0pDeUloNDllbFQwNWFidnYvL2UvWmluM3QxeU9vNWp5M1hxMUtrOFZU
NEtnd0FDQ0NDQUFBSUlJSUJBWGhUSU1qZlEvMzhICmZSMmxhOU9talV5ZE9sVnExNjZkNDZpUFAv
NVlKazZjS0o5ODhvbmNmdnZ0Y3RkZGQwbisvUG50cTI3ZHVqSmd3QUFwV0xCZzJIRWEKMER6NzdM
T3lkKzllbTc5SWtTS3llZk5tdVhidG1uMnRYYnRXVnF4WUlTTkdqSkRQUC8vYzV0SHphcjZzckN5
cFZhdVdkT3pZVWFwVwpyZXFkOS8zMzM1ZVJJMGZLcmwyN3BIbno1bkxycmJlS1Z2WDgrZk95WmNz
V1cvYWxTNWRLckh3WExseXdaYWhldmJwODlORkg5cnluClQ1K1daNTU1UnI3NjZpdXBYNysrbEM1
ZFdyNzQ0Z3Y1OGNjZlJmZjk0UTkvc1BtV0wxOXV5NnI3N3I3N2JoazllclE4OU5CRGN2ejQKY1pr
MGFaSzgrdXFydHR5NmZmRGd3Ykpod3dhN2ZjMmFOYmFjenozM25IWHlLc01IQkJCQUFBRUVFRUFB
QVFTQ0lxQUJ5UFdrcjcvKwoyakUzL2M3VFR6OGQ4N0JQUC8xVWd4cG55cFFwWHA2dFc3YzZKbUJ3
bm56eVNXK2JmdGl4WTRkenl5MjNPRTg4OFlSejZkSWxiNThKClBwemYvdmEzamdrdXZHMnpaczJ5
NTEyMmJKbTM3Y1NKRTg3QWdRT2RtMjY2eVZtL2ZyMjNYVCs4OHNvck52OW5uMzBXdHQwRUM4NmoK
ano3cWJZdVZ6L1MrT0owNmRiTDV0SnhWcWxTeDVUUkJqSGVzZm5qdHRkY2NFNHlFYlhQTCt1Njc3
NFp0MXk4MzMzeXpjOXR0dDRWdApkODFNMEJTMm5TOElJSUFBQWdnZ2dBQUNDQVJKNExxSFlMMzEx
bHZTdTNkdmVlZWRkK1NubjM2S0dvZmRlT09OZHJ2MlRyaEplejhhCk5td28ycHZocHF0WHI0b0pQ
Q1Jmdm56eTVwdHZ5ZzAzM09EdXNqMEVMNy84c3UzZGNEZHFqNE1tN1ZGeGs3bVpsemZlZUVQYXRX
c24KTFZ1MkZCTnN1THRzRDRWK0NTMkhmdGVlRXhNMDZFZWIzUE5HNWl0V3JKZ3RsMXRPM1Q5ejVr
eDd2SHVzdmc4YU5FZzZkKzRjdXNtNwp0bnZ1MEoyNkxYSzdhK2EraCtibk13SUlJSUFBQWdnZ2dB
QUNRUkc0cmdEazRzV0xkaGlSRG0zUzRFT0RrR1RUdVhQbjdOQ2xSeDU1CnhEdGsxYXBWZHBoVG56
NTlwSERod3Q1Mjk0TUdKc2xlUTRjMW1SNFUrZUNERDl6RFk3Ni84TUlMVXE1Y3VaajdkWWVKTXNY
MHdFajUKOHVYbHd3OC90T1Y4N0xISGNnUWY3a2xtejU3dGZ1UWRBUVFRUUFBQkJCQkFBQUVFWWdn
VWlMRTk2dWIzM250UHVuYnRLcFVyVjVhMgpiZHZhbmdjei9DbHFYdDFvaGwySkhyTi8vMzVadUhD
aHRHalJRb1lNR2VMbDM3NTl1LzJzOHl4aXBXUjdCQ3BVcUNCbUdKYVlZVmc1ClRxVUJ4TzdkdStY
bm4zKzI4ejlDZTBsQ003djVOTkF5UTZKc2Z0My81WmRmMm14bUNGWm9kdnY1MEtGRGN2bnlaVzk3
cFVxVndvSVUKbllOU3Brd1piNzkrMFBPVEVFQUFBUVFRUUFBQkJCRElSSUhyQ2tCMGN2V0NCUXVz
MDFOUFBTVy8rYzF2N0kyNlR2S09scTVjdVNMZgpmZmVkRFVSMEFyWk9FdGZWb3NxV0xXdXpIejU4
Mkw3ck1LcmNTQnFFN05teko4ZXBkTks3RHUvU29WdUZDaFhLc2QvZDRPYlQzZy9OCnIwT3ZOTG1y
Y2tYck5kbTNiNS9vcEhHZDJONnZYejg3d1Z5SGVMbEpoNXhwQUJhYWROSTZDUUVFRUVBQUFRUVFR
QUNCVEJSSU9nRFIKRloxT25qd3BiNy85dG5YUzNnUzlTWjgrZmJwZFpTb2Fuczc1MEZXZTlLVi85
Yi8vL3Z0dEw4aUJBd2VrUUlFQ05pRFI0OXhBSk5vNQprdDJtNWRIZzQ1NTc3c2x4U0t0V3JleHFW
THFqZS9mdWRpV3JISm5NaHRCOGp6Lyt1RHovL1BNMm02NnlwU2xhT2JWT1hicDBzUUdJCjlnYVZL
bFhLNW5YLzZkKy92KzB0Y3IvcnUvYTBrQkJBQUFFRUVFQUFBUVFReUVTQnBPZUE2T1Jyblh5dXZS
WDYwdDRHblhpdFM5bnEKTUtSRVNlZDQ2UHlQSTBlTzJDVjFOYjlaQ2NvZVpsYVlTblI0d3YwNnhF
cm5nT2p5dUltU3poZEpsSFRDK2JoeDQyeTJPKzY0dzc3cgo4cnZSa2p0TXJIang0dEYyc3cwQkJC
QkFBQUVFRUVBQUFRVCtLSkJVQUtMUHVOQmVDMTJ4U3YvYTc3NkdEUnRtaHlucENsYkpKSGVWCktY
ZG9rODRKMGRXeGRBSzNYaU5hMHA2TlJFbUhUR2xaZElpVURvZEtsSFNvbGZabS9QNzN2NCtiMVgx
ZXliMzMzaXRObXphVnVYUG4KU2lvZndoaTNNT3hFQUFFRUVFQUFBUVFRUUNBQUFra0ZJTHIwcms0
NmowemFNNkF2RFVET25qM3I3WGFmWGg0YVBPaUQvZWJQbjIvbgpmenp3d0FNMnI2NXlwY3ZoNmx3
UlhRa3JjbTdFTjk5OEkwT0hEdlVtZzdzMy8yNEFveWZSUFBwd1FKMmZvZ0ZGeFlvVjdibjFIemQv
CjZDUngzYTQ5SlRvMHloMWFwV1hUNU9hM1gwTCswWEpxOEtFUFJqVFBNY2xSVGoxZlpJcDNUaDJP
Rm5rdDE4eDlqendmM3hGQUFBRUUKRUVBQUFRUVFDSUpBd2prZ3VnenVtREZqUklNR25YUmVyVm8x
cjk2NmpLNCtXVnpuaG1qdlNIWjJ0bDB4YXNLRUNUYlA2NisvTGpxOApTb2RvNlkyMTN2QXZYcnc0
YkZXbysrNjd6MDVTNzl1M3I5eDU1NTN5NElNUDJtZGs2QlBQOVNuaU9neEs1NHZvdkFtM3ArV2xs
MTZ5CndjYTMzMzRyUllzV3RVTzU5RG8xYXRUd3lyWm8wU0taTjIrZS9hNXpNL1RjbXZUR2Y5T21U
ZDV3TFgwU3VydUVyZzdOMHFGaVd0ZkkKcEU5UzM3bHpwN3o0NG92U3FGRWptMGRYN3pwNDhLRG9h
bDc2aEhQWFJwL2Fybk5qTkttQlRyclgrU1U2RVgvYXRHbWk1ZGJlSUgzTwppVDVEUkZmbDB1TTFh
WkJtSHN4b0o3VGJEZnlEQUFJSUlJQUFBZ2dnZ0VDQUJMTDBxWXA1cFQ3YU02QTMrUnB3MUt4Wk0r
cXpRZkpDCldiVW5SSWVrYWMrS0JqMmhEMGJNQytXakRBZ2dnQUFDQ0NDQUFBSUk1RldCUEJXQTVG
VWt5b1VBQWdnZ2dBQUNDQ0NBQUFLNUk1RFUKSEpEY3VSUm5RUUFCQkJCQUFBRUVFRUFBZ1V3WElB
REo5RjhBOVVjQUFRUVFRQUFCQkJCQUlJMENCQ0JweE9aU0NDQ0FBQUlJSUlBQQpBZ2hrdWdBQlNL
Yi9BcWcvQWdnZ2dBQUNDQ0NBQUFKcEZDQUFTU00ybDBJQUFRUVFRQUFCQkJCQUlOTUZDRUF5L1Jk
QS9SRkFBQUVFCkVFQUFBUVFRU0tNQUFVZ2FzYmtVQWdnZ2dBQUNDQ0NBQUFLWkxrQUFrdW0vQU9x
UEFBSUlJSUFBQWdnZ2dFQWFCUWhBMG9qTnBSQkEKQUFFRUVFQUFBUVFReUhRQkFwQk0vd1ZRZndR
UVFBQUJCQkJBQUFFRTBpaEFBSkpHYkM2RkFBSUlJSUFBQWdnZ2dFQ21DeENBWlBvdgpnUG9qZ0FB
Q0NDQ0FBQUlJSUpCR0FRS1FOR0p6S1FRUVFBQUJCQkJBQUFFRU1sMkFBQ1RUZndIVUh3RUVFRUFB
QVFRUVFBQ0JOQW9RCmdLUVJtMHNoZ0FBQ0NDQ0FBQUlJSUpEcEFnUWdtZjRMb1A0SUlJQUFBZ2dn
Z0FBQ0NLUlJnQUFramRoY0NnRUVFRUFBQVFRUVFBQ0IKVEJjZ0FNbjBYd0QxUndBQkJCQkFBQUVF
RUVBZ2pRSUZFbDNyZDcvN1hhSXM3R3N3RnZVQUFDQUFTVVJCVkVjQUFRUVFRQUFCQkJCQQpBQUVF
NU9HSEg1WWJiN3d4cmtUQ0FFU1AxaE9SRUVBQUFRUVFRQUFCQkJCQUFJRmZLcERsbVBSTFQ4THhD
Q0NBQUFJSUlJQUFBZ2dnCmdFQXlBc3dCU1VhSlBBZ2dnQUFDQ0NDQUFBSUlJSkFyQWdRZ3VjTElT
UkJBQUFFRUVFQUFBUVFRUUNBWkFRS1FaSlRJZ3dBQ0NDQ0EKQUFJSUlJQUFBcmtpUUFDU0s0eWNC
QUVFRUVBQUFRUVFRQUFCQkpJUklBQkpSb2s4Q0NDQUFBSUlJSUFBQWdnZ2tDc0NCQ0M1d3NoSgpF
RUFBQVFRUVFBQUJCQkJBSUJrQkFwQmtsTWlEQUFJSUlJQUFBZ2dnZ0FBQ3VTSkFBSklyakp3RUFR
UVFRQUFCQkJCQUFBRUVraEVnCkFFbEdpVHdJSUlBQUFnZ2dnQUFDQ0NDUUt3SzVHb0Q4OU5OUGN1
alFvVndwbUh1UzQ4ZVB5My84eDMvSTk5OS83MjZLK1g3cDBpWDUKNy8vK2IyOS81SGR2Unk1OU9I
WHFsSHo5OWRlNWRMYWNwNGtzZjZxdmw3TUVzYmVrb3ExRHJ4Wlo5OUI5K3ZucTFhdXlhOWV1eU0z
ZQpkeTNmNGNPSHZlKy81RU1pOTBSbFNlVzFrejEzSXM5a3owTStCQkJBQUFFRUVFRGdsd29rREVB
NmRPZ2dOOTU0bzdScDAwWWVlZVFSCnlaOC92MVNyVmswZWZ2aGhhZGFzbWYzK3pqdnZ5THZ2dml2
bHk1ZVhlZlBtL2RJeWVjZlBtalZMRml4WUlQLzVuLzhwdDk5K3UraE4KVkt6MFAvL3pQOUtnUVFQ
cDBxV0x6Ukw1UGRaeHYyVDdpQkVqcEhQbnpyL2tGREdQalZiK1ZGNHZaa0dpN0VoRlc0ZGVKbHJk
US9mLwo3Ly8rcjl4NTU1M1NyMSsvME0zZTV6ZmZmRk51dXVrbVdiaHdvYmZ0bDN5STU1Nm9MTC9r
dW5wc3ZHc25lKzVFbnNtZWgzd0lJSUFBCkFnZ2dnRUJ1Q0NRTVFLNWN1U0tmZi82NXJGeTVVdDUv
LzMyNTRZWWI1SUVISHBCRml4YkpmLzNYZjhtRUNSUGs0c1dMMHIxN2Q2bFMKcFVwdWxNbWU0OXk1
Yy9Mc3M4L0swMDgvTGFOSGo1Wi8rN2QvazBLRkNzVTgvOTEzM3kyOWV2WHk5a2QrOTNiazRvZC8r
cWQva2lWTApsdVRpR2Y5MHFtamxUK1gxL25UbHhKOXl1NjBqcnhpdDdxRjVHalpzYUgrREJRc1dE
TjNzZlg3cXFhZHMwT3h0K0lVZjRya25Lc3YxClhscUQ3RTgvL2RRN0xONjF2VXdKUGlUeVRIQTR1
eEZBQUFFRUVFQUFnVndWS0pEb2JCb0VhSTlIcktRM2UxdTNiclc3OVlZd0t5c3IKVnRicjJyNXQy
emE1ZlBteTVNdjMvekZTa3laTkVoNnZ3VkhvOVNPL0p6ekJkV2JRdjdMcjYzcVQ0emhoNVl4MWZH
VDUvOXpyeFRxLwpiaysyTEpINWNyT3RvNVV2c3U1dW5tdlhydG5mUklFQ0JiemZocnN2OUQwM3l4
ZkxQZG15aEpZcjNtY045aDkvL0hINW03LzVHMm5lCnZMbk5HdXZhOGM3ejg4OC9pL3FFcGxpZW9Y
bjRqQUFDQ0NDQUFBSUlwRU1nWVEvSVF3ODlGTGNjeFlvVms2Wk5tM3A1OUtaTWg0MVUKcmx6WjNr
aDk4ODAzM3I1ang0N1pYbzM3Nzc5ZjZ0ZXZMeHMzYnZUMmhYNTQ2NjIzWk5Tb1VhSTNVdi93RC84
Z3p6Ly92TjJ0NC9xMQpSK1M1NTU2elE1Lys4Ui8vVVM1Y3VCQjZhTnpQOFk1ZnZIaXhsQzFiVnY3
MmIvOVdUcDgrTFhQbXpMSGZXN1ZxSlh2MjdMSG5uVHg1CnN0eDc3NzIyeCtmbzBhUHk2cXV2eWoz
MzNHUDM2Vit0dTNYclpzdjY5dHR2eTYyMzNpcTFhOWVXMFBxZlAzL2VsditmLy9tZnBYWHIKMWpi
LytQSGpaZjM2OVhITHJUdi9uT3ZGODM3dnZmY2tPenZiMWlGZWNCY3ZYN3kyam1ldDU3emxsbHZr
OWRkZnQvWFdZWFovOVZkLwpKZjM3OTQvcG9IWURCdzZVTVdQRzJIeWJOMitPbWRmZG9jZm9iMGVI
QnVydmJlZk9uZTR1aVdmalpUSWZJdDExWDZLeXhEcDNvdC9JCjFLbFQ1ZC8vL2Q5dHIxclBuajFs
Nzk2OVliOHh2YmIrM2w5NjZTWFIzODJqano0cUV5ZE8xTTAyclZtenhtN1gzNm4rbi96eXl5L2QK
WFRuZTlUZW92VGNrQkJCQUFBRUVFRUFnN1FMbUw5dlhsUW9YTHV5WW9VNVJqNmxUcDQ1VHQyNWQ1
NU5QUG5ITVpIVEgzSUE3VHo3NQpwTTFyZ2dtbmJkdTJ6dG16WngwemFkY3hQU2VPdWVGM2Z2amho
NmpuTXNPOUhOUDdFYmJ2dnZ2dWM4eDhFN3ZOOUk0NGpSbzFjc3djCkZTL1BhNis5NWxTb1VDSG05
MFRIMTZ0WHorblRwNDkzdkJscTV2VHUzZHY3dm1MRkNtZjI3Tm4ydTVrYzc1Z2JadWZtbTIrMjM3
LzcKN2p1blZxMWF0czdMbGkxejl1L2Y3NWliYXFkdjM3N2U4ZWFHMnpIQmsvMXVlbmdjMDlpT3Va
RzBlYjFNSVI5QzYzTzkxNHZuYmY3Uwo3cGo1TXQ2Vm5ubm1HZHNtM29ZL2ZvaVhMMTViNitHSnJF
MEE0cno4OHN2ZUpVMUE1dnpkMy8yZDl6MjA3cnF4ZmZ2MmpnbFU3SDc5Ci9WU3FWTWt4d2FHWFAv
TERYL3pGWHpobTNwQmpidWdkczRpQlU3VnFWYWQ2OWVxTzFpbWVUZVI1SXQxMWY3eXl4RHQzTXI4
UkxlY3IKcjd4aWl4SHQybVl1bHZQWlo1L1ovU1lJczcraExWdTJPR2JvbHFPbVdsZE5Kb0IzdW5i
dGFqL3JQNUdlYjd6eGh0T3BVeWR2UHg4UQpRQUFCQkJCQUFJRjBDU1RzQWJuZWlFZ25yYmRvMFVM
TURhQWRSdUt1VktUelIweWw3Ri83ZFQ1SnhZb1Y1Y1NKRTdKdTNicWtMcUhICjZKd1Q3V1hRcEVO
c1RMQWd5NWN2RjNORGx2QWN5Unh2Z2czNStPT1BSZit5cjZsbHk1WmlnZ25iRTZQZlRXQWw1aVpa
UDlyZWtUdnUKdU1QV1NiL3JYOW0xMTBPM3FZSE9oM253d1FmbHE2KyswdDAyNlFSOWQ4aVdEclBS
SGhkTnljeWQwYnpYYzcxNDN0ckRvOFBtUHZ6dwpRM3Q5RXlSNTliQWIvdmhQb255eDJqb1o2eUpG
aW9RTlF5dGF0R2pZOTlCeWFFK1psdFh0amROaGVlM2F0UXZORXZYekUwODhJUjA3CmRyUy93M0hq
eHNtK2ZmdHNHOGF6aVR4UnBIdWlzc1E3ZHpLL0ViMitPNHd3OHRxNkd0d1hYM3doT3FkRGsvYnF6
Snc1MC81KzlQK0QKTHNCZy9nQmc5K252TExUSHgyNE0rVWQ3azFJMWZ5bmtNbnhFQUFFRUVFQUFB
UVJ5Q09SNkFPTGVQT21WZFBVc0hZcWpTWU1FdlNuUwpzZWo2MGlFaXExZXZ0amRSTmtPQ2Z6WnQy
bVJ2MlBWR3kwMm1COFIrMUp1eVJDbVo0Ly8rNy8vZUJrWHVrQ2dkd3FLVDRYVm9pMDYwCjE4QkVo
NXk1U2VzYVd0L0k3eVZLbExESHVmbjFlMml3WkhwcnZKdEpOMCs4OThqelIzNFB2VjQ4YjlOclky
OVc5ZVpjaDdpWnY3cmIKMWN3aXI1MG9YMmpkUTlzNkdldklhOFg3dm5idFdqdWNyWFRwMGw2MjRz
V0xoOWw3TzBJK2xDcFZ5dnZXdUhGaisxbVhUWTVuNHgwUQo4aUhVT1ZGWkVwMDc5Rng2aWRBMmN5
OFo2aHFhWDROMUhTNFh1bC9uWU9uL0s5MW1lam5zOEVFZG5xVXJ4LzM0NDQvdUtYbEhBQUVFCkVF
QUFBUVR5akVENFROVVVGdXZreVpOMllxejJLdnc1U2NmZDZ6azBvTkdiVDAzYUk2Q1RiVFZJU0pT
U09WNXY1UFN2K3YvNnIvOHEKZXJPcnkvcnFYOXQxanNLWk0yZCs4Wks3WnFpVFhhbExKOWpyaWw3
NlYzK2RENU9LbE1oYmw5STF3NWhrMnJScGRwVXo3ZmtwV2JKawpqcUlrbXkvMHdHU3NRL01uK3Z6
dHQ5L2F0by9NRjNvakhya3Y4cnYyTXVuTnZyNFMyVVFlRy9vOVVWbCt5YmxEcnhQdHM4NHRpVGV2
ClE1Y2YxbDdDZi9tWGZ4R2RSNldCSUFrQkJCQkFBQUVFRU1ockFybmVBeEtyZ3JxU2x2WjRhRStD
bTNSSWx2NUZPWm1rRTdyMWdXLzYKM0FVM21USHlkbmpVWC8vMVg3dWJZcjRuZTd3dTVhdlBqL2pk
NzM0blp2Nks2TENzRHo3NHdBN2QrYVhCZ2c0YjB1Rk9Pa1JKSjFIcgpwT1JVcFhqZVppNkNxTjJV
S1ZOc1dUUWcwaUFyTWlXYkwvSzRaSzNkb1c2UngwZCsxMEJKaCt2dDNyMDdjbGZTMzQ4Y09XSjdC
TzY2CjZ5NjdxdHVmKzF0TVZKWjQ3c2tXTmxaZ3BVR1U5dURvNUhRMzZmOGg3UUhjc1dPSG5hU3Zr
OUpEZXduZGZMd2pnQUFDQ0NDQUFBSjUKUmVDNkFoQzlZZFNsY1dNOWxWei84cTB2TittS1BlNHFW
VDE2OUxBckQrbVFFVFB4M040QTZ6TU9hdGFzNldZUGV6ZVQxZTJRSi9kOApPdmRDNTVYb2phT2I5
Q1plYjNiMUlZbWF0R3k2bEttYlFyOG5jN3dlWnliSzI5NEpmZUNpRHVIUmVSemFNNkJ6VmlKdkRM
VnNXais5CkNkU2sxd3U5cWRiOUdqUzVTWjluWWlhcWk2N2VwYy9TMEhrUThWSm8rVFhmOVZ3dm5y
YysyVnRYb3RLa3EzR1p5Y2hlcjVMZCtNZC8KNHVYVHN1akxUYUZ0bll5MTlsN3BBL0swamhvYzZF
MjFYczlOb1hYWDFaNjBwMHZuTzdoSjV4WnBiME9vcjd2UGZRL2RwL01uOUtHUgpPa2Npbm8xN2JP
aDdxSHVpc2lRNmQ2TGZpUGE4YVMrTEp2MS9Fbmx0c3dpRURZcDFmb2UrWG5qaEJmbkx2L3hMKzFs
L2V4cUlhTDExCkNKWUcrL3JiMUZlb3A1NWJoeGxxQUVwQ0FBRUVFRUFBQVFUU0xtQnVUcEpLWnVp
SFhibktGTkF4TitiT3BFbVRIRE1zeVR2V1BKalEKcmxwMTIyMjNPZVl2c281NWVLRmplaVljYytO
b1Z5TFNqR2JaVjhjTVBYTE1qYnhkQWN2MExIakhoMzR3RTMwZHM5eXRYZUhITEtQcQptSnRUdTF2
UHFlYzNEejkwektSa3gweElkOHhObU4xbmJtWWRNeW5YSGpOanhnekhERVVKKzY2ckJNVTdQdlQ2
ZWsyejlLNjNhZmp3CjRXSGZkWWRlenl6QmE2OW5idVRzeWwvbTV0R3V6bVRtQVRobWtyZFRvMFlO
Vzk5VnExYlpjdzBaTXNUbVYwTVQ0RGhtVXJKakpnUGIKRll5OGkvM3hRN1Q2WE8vMVlubHJXNW9K
ODQ0WnN1TXNYYnJVbGtGWGg0cE1zZklsMDlhSnJNMjhHc2NNZWJNclV3MGRPdFN1S0dZVwpMN0Ny
T0VYV1hkdk9ESXR6elBBcCs1dDY1SkZISEROL3hUSHpJZXoyeUhMcjk1RWpSem9teUhITTVITm43
Tml4enVEQmcrMEtiRzdlCldEYnVmdmM5c3AyVEtVdXNjNXVnd0VuMEczbnh4UmZ0L3c5ZGplMmpq
ejRLKzQzcHRmWC9qSm1jYm45SHBrZkUvczYxckdZWW9tT2UKRHUrWTRZbDI1VFpkc2MwTThYTWVl
K3l4cVA4WFRCQnNWNHpUVmJ0SUNDQ0FBQUlJSUlCQU9nV3k5R0xwakhyMEw3Rm1pVjY3Y2svawp3
OUtTS1ljV1Y1L0xvWE16ZE5XcDYwM0pIRzl1OUd3dmlIdnV5Ty91OXV0OU56ZkM4dkRERDl1L1RP
c0VZVjFsU2xkTk1qZUpkc1d0CjZ6MWZNdm1qZWV0Znl0VlByNi9EZFVJbjFvZWVNOWw4b2NlRWZr
NWtyV1hUdjlaclQ1RDJYQ1VhT3FSNXRWZEFKOGZyWC9lMU55QlIKMG1Ga21qL2FieTJhVGFMenVm
c1RsZVdYbkZ0N2RyVE1zWks2NmhBNlhWVXJNbWxQbE51ekZzOVV6NkdHYnQ3STgvQWRBUVFRUUFB
QgpCQkJJbFVEYUE1QlVWU1N2bjNmV3JGazIyTkNsZkVPVFR2N1dRTXIwbG9SdTVqTUNDQ0NBQUFJ
SUlJQUFBb0VVSUFCSlU3UHFSRzk5CjhyUXVmYXZQYjlDL1ZPdXFScnJxbHI1SUNDQ0FBQUlJSUlB
QUFnaGtnZ0FCU0JwYldaZnkxV2M1NkxDZzVzMmIwK3VSUm5zdWhRQUMKQ0NDQUFBSUlJSkEzQkFo
QThrWTdVQW9FRUVBQUFRUVFRQUFCQkRKQzRMcVc0YzBJRVNxSkFBSUlJSUFBQWdnZ2dBQUNLUk1n
QUVrWgpMU2RHQUFFRUVFQUFBUVFRUUFDQlNBRUNrRWdSdmlPQUFBSUlJSUFBQWdnZ2dFREtCQWhB
VWtiTGlSRkFBQUVFRUVBQUFRUVFRQ0JTCmdBQWtVb1R2Q0NDQUFBSUlJSUFBQWdnZ2tESUJBcENV
MFhKaUJCQkFBQUVFRUVBQUFRUVFpQlFnQUlrVTRUc0NDQ0NBQUFJSUlJQUEKQWdpa1RJQUFKR1cw
bkJnQkJCQkFBQUVFRUVBQUFRUWlCUWhBSWtYNGpnQUNDQ0NBQUFJSUlJQUFBaWtUSUFCSkdTMG5S
Z0FCQkJCQQpBQUVFRUVBQWdVZ0JBcEJJRWI0amdBQUNDQ0NBQUFJSUlJQkF5Z1FJUUZKR3k0a1JR
QUFCQkJCQUFBRUVFRUFnVW9BQUpGS0U3d2dnCmdBQUNDQ0NBQUFJSUlKQXlBUUtRbE5GeVlnUVFR
QUFCQkJCQUFBRUVFSWdVSUFDSkZPRTdBZ2dnZ0FBQ0NDQ0FBQUlJcEV5QUFDUmwKdEp3WUFRUVFR
QUFCQkJCQUFBRUVJZ1VJUUNKRitJNEFBZ2dnZ0FBQ0NDQ0FBQUlwRXlBQVNSa3RKMFlBQVFRUVFB
QUJCQkJBQUlGSQpnVHdYZ0p3L2Z6NnlqSHhIQUFFRUVFQUFBUVFRUUFDQmdBamtxUUJrNDhhTnNt
TEZDa3M3WU1BQXFWS2xpbVJuWjN2YkFtSk9OUkJBCkFBRUVFRUFBQVFRUXlGaUJBb2xxdm1EQkFs
bTllclgwN2R0WEdqZHViTE5mdTNaTkJnMGFKSmN2WHc0N3ZFQ0JBbEt1WERscDJMQ2gKZE9qUXdl
NDdkdXlZREJzMkxDeGY2QmZkcDRIR3dvVUw1ZkRod3pKa3lCQnZkL1BtelVVREVUYzVqaVA5Ky9l
WHJsMjdTdXZXcmQzTgo5bjMzN3QweVljSUUrN2xZc1dKU3NXSkZtNjlHalJwZXZpTkhqc2lZTVdO
ay9QanhVcUpFQ1crN2Z0RDZkZXZXVFZxMGFCRzJuUzhJCklJQUFBZ2dnZ0FBQ0NDQ1Fpd0xtcGo1
dUdqeDRzRk80Y0dFbmYvNzh6dWJObTIzZTlldlhPNllJY1YvanhvMnplV2ZNbUJFelg1a3kKWlp3
clY2NDRSNDhlZGVyVnF4ZFdEaE5vT0wxNjlRcmJ0blBuVHFkczJiTDJmS05HalFyYk4yTEVpQnpY
S1Zpd29IUGd3QUV2bitsZApjUW9WS3VRMGFOREFPWG55cExmOTFLbFQ5dGpGaXhkNzIvaUFBQUlJ
SUlBQUFnZ2dnQUFDdVMrUWNBalcxS2xUeGR6NFM1RWlSV1RSCm9rVTI5R25XckptWW91UjRYYjE2
VlV3d0lhMWF0Ykk5R3BwWmV6QWk4Mm92UTU4K2ZjVGMrSXYybWd3ZlBseTZkT2xpengzdm45cTEK
YTh2Ky9mdWxiZHUydGhjanRBZG05T2pSM25VdVhyd29XN1pza2F5c0xGbXlaSWwzeW5idDJzbnk1
Y3Z0UHUxZE9YUG1qTjIzZCs5ZQorMTZuVGgwdkx4OFFRQUFCQkJCQUFBRUVFRUFnOXdVU0JpQjZ5
YXBWcTBxalJvMXNjQkd2Q1BueTVaTUtGU3JZNFZFNjlDclpwTU92CjZ0YXRtMVQyb2tXTDJpRmRG
eTVja0sxYnQwWTl4dlJ5aU9sUmtWcTFha2xrT2JTTUpVdVdsRjI3ZHRraFdxWUh4Z1lsMWFwVmsr
clYKcTBjOUh4c1JRQUFCQkJCQUFBRUVFRUFnZHdTU0NrRDBVcVZLbFpKejU4NTVWOTJ6WjQvdDNU
aDkrclMzemYxUXZIaHhpYmJkM1IvNgpmdno0Y2RzVG9YTkhrazMxNjllM1BTYzdkdXlJZTRpV3cr
M2xjRE5Pbno1ZCt2WHJKMlpvbUt4WnMwWjY5dXdwMDZaTmt5bFRwdGdlCkV6Y2Y3d2dnZ0FBQ0ND
Q0FBQUlJSUpEN0Fna25vYnVYMU9GTW9VbUhXczJjT2RQMlJwUXVYVHAwbDVqNUltSGY0MzNadDIr
ZjNXM20KZzhUTEZyWlBlemgwY3JuMllzUkxXZzRkL3VXbVE0Y095YkpseTBRRGw1bzFhOHIyN2R0
Rmg1ZzFiZHBVT25YcTVHYmpIUUVFRUVBQQpBUVFRUUFBQkJGSWtrSFFQU0lxdUwyWlN1VDMxcFV1
WGtyN0V5cFVyUllNSm5adHlQV250MnJXaXZTSWFmR2lhT0hHaXRHblR4ZzdsCjBya2xKQVFRUUFB
QkJCQkFBQUVFRUVpdHdLOGVnT2pjQzdQS1ZvNmhVdEdxcmN2LzZsQ3BqaDA3U3FWS2xXVGJ0bTNS
c3NYY1psYkUKc25OVTNBemFRekovL253YmxBd2NPTkRkekRzQ0NDQ0FBQUlJSUlBQUFnaWtTQ0Rw
SVZncHVyN29wSEJkZlVxZjQ5R2tTWk9ZbDlGbgpoT2h6T2paczJHQ0RrUExseTB2Mzd0M3RYQk9k
bnpKMDZGQ0o3RVhSNFYxbno1NlZ1WFBuMnJrZUdvRG9jYUZKaDQ5Tm5qeFpldlRvCklmck1FNzBH
Q1FFRUVFQUFBUVFRUUFBQkJGSWo4S3NISUZxdGtTTkh5cng1ODZSWHIxNHhhMm1lNlNFSER4NlVW
YXRXU2N1V0xVV1gKenRYNUhldldyYk85R3BNbVRZcDZyTTVWMFpXdU5PbXdMUTFXSXBNR01uUG16
QkdkV0U5Q0FBRUVFRUFBQVFRUVFBQ0IxQWxrbVp2NApQODNTVHQxMUVwNjVmZnYya3AyZExaVXJW
N1o1OWZraCtqeVAyYk5uZThmcWR4MnVsWXFVeW5Pbm9yeWNFd0VFRUVBQUFRUVFRQUFCClB3cjg2
bk5BWExSWnMyYkoyTEZqYmREaGJqdHg0a1RZS2xhcENqNzBlcWs4dDFzZjNoRkFBQUVFRUVBQUFR
UVF5SFNCUE5NRG9nMmgKOHp4MGlGWHYzcjFsNmRLbHNtblRKcnRLbGo0SXNYUG56cG5lVnRRZkFR
UVFRQUFCQkJCQUFBSGZDK1NwQU1UM21sUUFBUVFRUUFBQgpCQkJBQUFFRTRncmttU0ZZY1V2SlRn
UVFRQUFCQkJCQUFBRUVFQWlFQUFGSUlKcVJTaUNBQUFJSUlJQUFBZ2dnNEE4QkFoQi90Qk9sClJB
QUJCQkJBQUFFRUVFQWdFQUlFSUlGb1JpcUJBQUlJSUlBQUFnZ2dnSUEvQkFoQS9ORk9sQklCQkJC
QUFBRUVFRUFBZ1VBSUVJQUUKb2htcEJBSUlJSUFBQWdnZ2dBQUMvaEFnQVBGSE8xRktCQkJBQUFF
RUVFQUFBUVFDSVVBQUVvaG1wQklJSUlBQUFnZ2dnQUFDQ1BoRApnQURFSCsxRUtSRkFBQUVFRUVB
QUFRUVFDSVFBQVVnZ21wRktJSUFBQWdnZ2dBQUNDQ0RnRHdFQ0VIKzBFNlZFQUFFRUVFQUFBUVFR
ClFDQVFBZ1FnZ1doR0tvRUFBZ2dnZ0FBQ0NDQ0FnRDhFQ0VEODBVNlVFZ0VFRUVBQUFRUVFRQUNC
UUFnUWdBU2lHYWtFQWdnZ2dBQUMKQ0NDQUFBTCtFQ0FBOFVjN1VVb0VFRUFBQVFRUVFBQUJCQUlo
UUFBU2lHYWtFZ2dnZ0FBQ0NDQ0FBQUlJK0VPQUFNUWY3VVFwRVVBQQpBUVFRUUFBQkJCQUloQUFC
U0NDYWtVb2dnQUFDQ0NDQUFBSUlJT0FQQVFJUWY3UVRwVVFBQVFRUVFBQUJCQkJBSUJBQ2VTNEFP
WC8rCmZDQmdxUVFDQ0NDQUFBSUlJSUFBQWdqa0ZNaFRBY2pHalJ0bHhZb1Z0cFFEQmd5UUtsV3FT
SFoydHJjdFovSFpnZ0FDQ0NDQUFBSUkKSUlBQUFuNFNLSkNvc0FzV0xKRFZxMWRMMzc1OXBYSGp4
amI3dFd2WFpOQ2dRWEw1OHVXd3d3c1VLQ0RseXBXVGhnMGJTb2NPSGV5KwpZOGVPeWJCaHc4THlo
WDdSZlJwb0xGeTRVQTRmUGl4RGhnenhkamR2M2x3MEVIR1Q0empTdjM5LzZkcTFxN1J1M2RyZGJO
OTM3OTR0CkV5Wk1zSitMRlNzbUZTdFd0UGxxMUtqaDVUdHk1SWlNR1ROR3hvOGZMeVZLbFBDMjZ3
ZXRYN2R1M2FSRml4WmgyL21DQUFJSUlJQUEKQWdnZ2dBQUN1U2hnYnVyanBzR0RCenVGQ3hkMjh1
ZlA3Mnpldk5ubVhiOSt2V09LRVBjMWJ0dzRtM2ZHakJreDg1VXBVOGE1Y3VXSwpjL1RvVWFkZXZY
cGg1VENCaHRPclY2K3diVHQzN25US2xpMXJ6emRxMUtpd2ZTTkdqTWh4bllJRkN6b0hEaHp3OHBu
ZUZhZFFvVUpPCmd3WU5uSk1uVDNyYlQ1MDZaWTlkdkhpeHQ0MFBDQ0NBQUFJSUlJQUFBZ2dna1Bz
Q0NZZGdUWjA2VmN5TnZ4UXBVa1FXTFZwa1E1OW0KelpxSktVcU8xOVdyVjhVRUU5S3FWU3ZibzZH
WnRRY2pNcS8yTXZUcDAwZk1qYjlvcjhudzRjT2xTNWN1OXR6eC9xbGR1N2JzMzc5Zgoyclp0YTNz
eFFudGdSbzhlN1YzbjRzV0xzbVhMRnNuS3lwSWxTNVo0cDJ6WHJwMHNYNzdjN3RQZWxUTm56dGg5
ZS9mdXRlOTE2dFR4Cjh2SUJBUVFRUUFBQkJCQkFBQUVFY2w4Z1lRQ2lsNnhhdGFvMGF0VElCaGZ4
aXBBdlh6NnBVS0dDSFI2bFE2K1NUVHI4cW03ZHVrbGwKTDFxMHFCM1NkZUhDQmRtNmRXdlVZMHd2
aDVnZUZhbFZxNVpFbGtQTFdMSmtTZG0xYTVjZG9tVjZZR3hRVXExYU5hbGV2WHJVODdFUgpBUVFR
UUFBQkJCQkFBQUVFY2tjZ3FRQkVMMVdxVkNrNWQrNmNkOVU5ZS9iWTNvM1RwMDk3Mjl3UHhZc1hs
MmpiM2YyaDc4ZVBIN2M5CkVUcDNKTmxVdjM1OTIzT3lZOGVPdUlkb09keGVEamZqOU9uVHBWKy9m
bUtHaHNtYU5XdWtaOCtlTW0zYU5Ka3laWXJ0TVhIejhZNEEKQWdnZ2dBQUNDQ0NBQUFLNUw1QndF
cnA3U1IzT0ZKcDBxTlhNbVROdGIwVHAwcVZEZDRtWkx4TDJQZDZYZmZ2MjJkMW1Qa2k4YkdINwp0
SWRESjVkckwwYThwT1hRNFY5dU9uVG9rQ3hidGt3MGNLbFpzNlpzMzc1ZGRJaFowNlpOcFZPblRt
NDIzaEZBQUFFRUVFQUFBUVFRClFDQkZBa24zZ0tUbyttSW1sZHRUWDdwMEtlbExyRnk1VWpTWTBM
a3AxNVBXcmwwcjJpdWl3WWVtaVJNblNwczJiZXhRTHAxYlFrSUEKQVFRUVFBQUJCQkJBQUlIVUN2
enFBWWpPdlRDcmJPVVlLaFd0MnJyOHJ3NlY2dGl4bzFTcVZFbTJiZHNXTFZ2TWJXWkZMRHRIeGMy
ZwpQU1R6NTgrM1FjbkFnUVBkemJ3amdBQUNDQ0NBQUFJSUlJQkFpZ1NTSG9LVm91dUxUZ3JYMWFm
ME9SNU5talNKZVJsOVJvZytwMlBECmhnMDJDQ2xmdnJ4MDc5N2R6alhSK1NsRGh3NlZ5RjRVSGQ1
MTl1eFptVHQzcnAzcm9RR0lIaGVhZFBqWTVNbVRwVWVQSHFMUFBORnIKa0JCQUFBRUVFRUFBQVFR
UVFDQTFBcjk2QUtMVkdqbHlwTXliTjA5Njllb1ZzNWJtbVI1eThPQkJXYlZxbGJSczJWSjA2Vnlk
MzdGdQozVHJicXpGcDBxU294K3BjRlYzcFNwTU8yOUpnSlRKcElETm56aHpSaWZVa0JCQkFBQUVF
RUVBQUFRUVFTSjFBbHJtSi85TXM3ZFJkCkorR1oyN2R2TDluWjJWSzVjbVdiVjU4Zm9zL3ptRDE3
dG5lc2Z0ZmhXcWxJcVR4M0tzckxPUkZBQUFFRUVFQUFBUVFROEtQQXJ6NEgKeEVXYk5XdVdqQjA3
MWdZZDdyWVRKMDZFcldLVnF1QkRyNWZLYzd2MTRSMEJCQkJBQUFFRUVFQUFnVXdYeURNOUlOb1FP
czlEaDFqMQo3dDFibGk1ZEtwczJiYktyWk9tREVEdDM3cHpwYlVYOUVVQUFBUVFRUUFBQkJCRHd2
VUNlQ2tCOHIwa0ZFRUFBQVFRUVFBQUJCQkJBCklLNUFuaG1DRmJlVTdFUUFBUVFRUUFBQkJCQkFB
SUZBQ0JDQUJLSVpxUVFDQ0NDQUFBSUlJSUFBQXY0UUlBRHhSenRSU2dRUVFBQUIKQkJCQUFBRUVB
aUZBQUJLSVpxUVNDQ0NBQUFJSUlJQUFBZ2o0UTRBQXhCL3RSQ2tSUUFBQkJCQkFBQUVFRUFpRUFB
RklJSnFSU2lDQQpBQUlJSUlBQUFnZ2c0QThCQWhCL3RCT2xSQUFCQkJCQUFBRUVFRUFnRUFJRUlJ
Rm9SaXFCQUFJSUlJQUFBZ2dnZ0lBL0JBaEEvTkZPCmxCSUJCQkJBQUFFRUVFQUFnVUFJRUlBRW9o
bXBCQUlJSUlBQUFnZ2dnQUFDL2hBZ0FQRkhPMUZLQkJCQUFBRUVFRUFBQVFRQ0lVQUEKRW9obXBC
SUlJSUFBQWdnZ2dBQUNDUGhEZ0FERUgrMUVLUkZBQUFFRUVFQUFBUVFRQ0lRQUFVZ2dtcEZLSUlB
QUFnZ2dnQUFDQ0NEZwpEd0VDRUgrMEU2VkVBQUVFRUVBQUFRUVFRQ0FRQWdRZ2dXaEdLb0VBQWdn
Z2dBQUNDQ0NBZ0Q4RUNFRDgwVTZVRWdFRUVFQUFBUVFRClFBQ0JRQWdRZ0FTaUdha0VBZ2dnZ0FB
Q0NDQ0FBQUwrRUNBQThVYzdVVW9FRUVBQUFRUVFRQUFCQkFJaGtPY0NrUFBuendjQ2xrb2cKZ0FB
Q0NDQ0FBQUlJSUlCQVRvRThGWUJzM0xoUlZxeFlZVXM1WU1BQXFWS2xpbVJuWjN2YmNoYWZMUWdn
Z0FBQ0NDQ0FBQUlJSU9BbgpnUUtKQ3J0Z3dRSlp2WHExOU8zYlZ4bzNibXl6WDd0MlRRWU5HaVNY
TDE4T083eEFnUUpTcmx3NWFkaXdvWFRvME1IdU8zYnNtQXdiCk5pd3NYK2dYM2FlQnhzS0ZDK1h3
NGNNeVpNZ1FiM2Z6NXMxRkF4RTNPWTRqL2Z2M2w2NWR1MHJyMXEzZHpmWjk5KzdkTW1IQ0JQdTUK
V0xGaVVyRmlSWnV2Um8wYVhyNGpSNDdJbURGalpQejQ4VktpUkFsdnUzN1ErblhyMWsxYXRHZ1J0
cDB2Q0NDQUFBSUlJSUFBQWdnZwprSXNDNXFZK2JobzhlTEJUdUhCaEozLysvTTdtelp0dDN2WHIx
enVtQ0hGZjQ4YU5zM2xuekpnUk0xK1pNbVdjSzFldU9FZVBIblhxCjFhc1hWZzRUYURpOWV2VUsy
N1p6NTA2bmJObXk5bnlqUm8wSzJ6ZGl4SWdjMXlsWXNLQno0TUFCTDUvcFhYRUtGU3JrTkdqUXdE
bDUKOHFTMy9kU3BVL2JZeFlzWGU5djRnQUFDQ0NDQUFBSUlJSUFBQXJrdmtIQUkxdFNwVThYYytF
dVJJa1ZrMGFKRk52UnAxcXlabUtMawplRjI5ZWxWTU1DR3RXcld5UFJxYVdYc3dJdk5xTDBPZlBu
M0UzUGlMOXBvTUh6NWN1blRwWXM4ZDc1L2F0V3ZML3YzN3BXM2J0cllYCkk3UUhadlRvMGQ1MUxs
NjhLRnUyYkpHc3JDeFpzbVNKZDhwMjdkcko4dVhMN1Q3dFhUbHo1b3pkdDNmdlh2dGVwMDRkTHk4
ZkVFQUEKQVFRUVFBQUJCQkJBSVBjRkVnWWdlc21xVmF0S28wYU5iSEFScndqNXprNVdQd0FBRUpK
SlJFRlU4dVdUQ2hVcTJPRlJPdlFxMmFURApyK3JXclp0VTlxSkZpOW9oWFJjdVhKQ3RXN2RHUGNi
MGNvanBVWkZhdFdwSlpEbTBqQ1ZMbHBSZHUzYlpJVnFtQjhZR0pkV3FWWlBxCjFhdEhQUjhiRVVB
QUFRUVFRQUFCQkJCQUlIY0VrZ3BBOUZLbFNwV1NjK2ZPZVZmZHMyZVA3ZDA0ZmZxMHQ4MzlVTHg0
Y1ltMjNkMGYKK243OCtISGJFNkZ6UjVKTjlldlh0ejBuTzNic2lIdUlsc1B0NVhBelRwOCtYZnIx
NnlkbWFKaXNXYk5HZXZic0tkT21UWk1wVTZiWQpIaE0zSCs4SUlJQUFBZ2dnZ0FBQ0NDQ1Erd0lK
SjZHN2w5VGhUS0ZKaDFyTm5EblQ5a2FVTGwwNmRKZVkrU0poMytOOTJiZHZuOTF0CjVvUEV5eGEy
VDNzNGRISzU5bUxFUzFvT0hmN2xwa09IRHNteVpjdEVBNWVhTld2Szl1M2JSWWVZTlczYVZEcDE2
dVJtNHgwQkJCQkEKQUFFRUVFQUFBUVJTSkpCMEQwaUtyaTltVXJrOTlhVkxsNUsreE1xVkswV0RD
WjJiY2oxcDdkcTFvcjBpR254b21qaHhvclJwMDhZTwo1ZEs1SlNRRUVFQUFBUVFRUUFBQkJCQkly
Y0N2SG9EbzNBdXp5bGFPb1ZMUnFxM0wvK3BRcVk0ZE8wcWxTcFZrMjdadDBiTEYzR1pXCnhMSnpW
TndNMmtNeWYvNThHNVFNSERqUTNjdzdBZ2dnZ0FBQ0NDQ0FBQUlJcEVnZzZTRllLYnErNktSd1hY
MUtuK1BScEVtVG1KZlIKWjRUb2N6bzJiTmhnZzVEeTVjdEw5KzdkN1Z3VG5aOHlkT2hRaWV4RjBl
RmRaOCtlbGJsejU5cTVIaHFBNkhHaFNZZVBUWjQ4V1hyMAo2Q0g2ekJPOUJna0JCQkJBQUFFRUVF
QUFBUVJTSS9DckJ5QmFyWkVqUjhxOGVmT2tWNjllTVd0cG51a2hCdzhlbEZXclZrbkxsaTFGCmw4
N1YrUjNyMXEyenZScVRKazJLZXF6T1ZkR1ZyalRwc0MwTlZpS1RCakp6NXN3Um5WaFBRZ0FCQkJC
QUFBRUVFRUFBZ2RRSlpKbWIKK0QvTjBrN2RkUktldVgzNzlwS2RuUzJWSzFlMmVmWDVJZm84ajlt
elozdkg2bmNkcnBXS2xNcHpwNks4bkJNQkJCQkFBQUVFRUVBQQpBVDhLL09welFGeTBXYk5teWRp
eFkyM1E0VzQ3Y2VKRTJDcFdxUW8rOUhxcFBMZGJIOTRSUUFBQkJCQkFBQUVFRU1oMGdUelRBNklO
Cm9mTThkSWhWNzk2OVplblNwYkpwMHlhN1NwWStDTEZ6NTg2WjNsYlVId0VFRUVBQUFRUVFRQUFC
M3d2a3FRREU5NXBVQUFFRUVFQUEKQVFRUVFBQUJCT0lLNUpraFdIRkx5VTRFRUVBQUFRUVFRQUFC
QkJBSWhBQUJTQ0Nha1VvZ2dBQUNDQ0NBQUFJSUlPQVBBUUlRZjdRVApwVVFBQVFRUVFBQUJCQkJB
SUJBQ0JDQ0JhRVlxZ1FBQ0NDQ0FBQUlJSUlDQVB3UUlRUHpSVHBRU0FRUVFRQUFCQkJCQUFJRkFD
QkNBCkJLSVpxUVFDQ0NDQUFBSUlJSUFBQXY0UUlBRHhSenRSU2dRUVFBQUJCQkJBQUFFRUFpRkFB
QktJWnFRU0NDQ0FBQUlJSUlBQUFnajQKUTRBQXhCL3RSQ2tSUUFBQkJCQkFBQUVFRUFpRUFBRklJ
SnFSU2lDQUFBSUlJSUFBQWdnZzRBOEJBaEIvdEJPbFJBQUJCQkJBQUFFRQpFRUFnRUFJRUlJRm9S
aXFCQUFJSUlJQUFBZ2dnZ0lBL0JBaEEvTkZPbEJJQkJCQkFBQUVFRUVBQWdVQUlFSUFFb2htcEJB
SUlJSUFBCkFnZ2dnQUFDL2hBZ0FQRkhPMUZLQkJCQUFBRUVFRUFBQVFRQ0lVQUFFb2htcEJJSUlJ
QUFBZ2dnZ0FBQ0NQaERnQURFSCsxRUtSRkEKQUFFRUVFQUFBUVFRQ0lRQUFVZ2dtcEZLSUlBQUFn
Z2dnQUFDQ0NEZ0R3RUNFSCswRTZWRUFBRUVFRUFBQVFRUVFDQVFBbmt1QURsLwovbndnWUtrRUFn
Z2dnQUFDQ0NDQUFBSUk1QlRJVXdISXhvMGJaY1dLRmJhVUF3WU1rQ3BWcWtoMmRyYTNMV2Z4MllJ
QUFnZ2dnQUFDCkNDQ0FBQUorRWlpUXFMQUxGaXlRMWF0WFM5KytmYVZ4NDhZMis3VnIxMlRRb0VG
eStmTGxzTU1MRkNnZzVjcVZrNFlORzBxSERoM3MKdm1QSGpzbXdZY1BDOG9WKzBYMGFhQ3hjdUZB
T0h6NHNRNFlNOFhZM2I5NWNOQkJ4aytNNDByOS9mK25hdGF1MGJ0M2EzV3pmZCsvZQpMUk1tVExD
Zml4VXJKaFVyVnJUNWF0U280ZVU3Y3VTSWpCa3pSc2FQSHk4bFNwVHd0dXNIclYrM2J0MmtSWXNX
WWR2NWdnQUNDQ0NBCkFBSUlJSUFBQXJrb1lHN3E0NmJCZ3djN2hRc1hkdkxueis5czNyelo1bDIv
ZnIxamloRDNOVzdjT0p0M3hvd1pNZk9WS1ZQR3VYTGwKaW5QMDZGR25YcjE2WWVVd2dZYlRxMWV2
c0cwN2QrNTB5cFl0YTg4M2F0U29zSDBqUm96SWNaMkNCUXM2Qnc0YzhQS1ozaFduVUtGQwpUb01H
RFp5VEowOTYyMCtkT21XUFhieDRzYmVORHdnZ2dBQUNDQ0NBQUFJSUlKRDdBZ21IWUUyZE9sWE1q
YjhVS1ZKRUZpMWFaRU9mClpzMmFpU2xLanRmVnExZkZCQlBTcWxVcjI2T2htYlVISXpLdjlqTDA2
ZE5IekkyL2FLL0o4T0hEcFV1WEx2YmM4ZjZwWGJ1MjdOKy8KWDlxMmJXdDdNVUo3WUVhUEh1MWQ1
K0xGaTdKbHl4Ykp5c3FTSlV1V2VLZHMxNjZkTEYrKzNPN1QzcFV6Wjg3WWZYdjM3clh2ZGVyVQo4
Zkx5QVFFRUVFQUFBUVFRUUFBQkJISmZJR0VBb3Blc1dyV3FOR3JVeUFZWDhZcVFMMTgrcVZDaGdo
MGVwVU92a2swNi9LcHUzYnBKClpTOWF0S2dkMG5YaHdnWFp1blZyMUdOTUw0ZVlIaFdwVmF1V1JK
WkR5MWl5WkVuWnRXdVhIYUpsZW1Cc1VGS3RXaldwWHIxNjFQT3gKRVFFRUVFQUFBUVFRUUFBQkJI
SkhJS2tBUkM5VnFsUXBPWGZ1bkhmVlBYdjIyTjZOMDZkUGU5dmNEOFdMRjVkbzI5MzlvZS9Iangr
MwpQUkU2ZHlUWlZMOStmZHR6c21QSGpyaUhhRG5jWGc0MzQvVHAwNlZmdjM1aWhvYkptalZycEdm
UG5qSnQyalNaTW1XSzdURng4L0dPCkFBSUlJSUFBQWdnZ2dBQUN1UytRY0JLNmUwa2R6aFNhZEtq
VnpKa3piVzlFNmRLbFEzZUptUzhTOWozZWwzMzc5dG5kWmo1SXZHeGgKKzdTSFF5ZVhheTlHdktU
bDBPRmZianAwNkpBc1c3Wk1OSENwV2JPbWJOKytYWFNJV2RPbVRhVlRwMDV1TnQ0UlFBQUJCQkJB
QUFFRQpFRUFnUlFKSjk0Q2s2UHBpSnBYYlUxKzZkQ25wUzZ4Y3VWSTBtTkM1S2RlVDFxNWRLOW9y
b3NHSHBva1RKMHFiTm0zc1VDNmRXMEpDCkFBRUVFRUFBQVFRUVFBQ0IxQXI4NmdHSXpyMHdxMnps
R0NvVnJkcTYvSzhPbGVyWXNhTlVxbFJKdG0zYkZpMWJ6RzFtUlN3N1I4WE4Kb0QwazgrZlB0MEhK
d0lFRDNjMjhJNEFBQWdnZ2dBQUNDQ0NBUUlvRWtoNkNsYUxyaTA0SzE5V245RGtlVFpvMGlYa1pm
VWFJUHFkagp3NFlOTmdncFg3NjhkTy9lM2M0MTBma3BRNGNPbGNoZUZCM2VkZmJzV1prN2Q2NmQ2
NkVCaUI0WG1uVDQyT1RKazZWSGp4Nml6enpSCmE1QVFRQUFCQkJCQUFBRUVFRUFnTlFLL2VnQ2kx
Um81Y3FUTW16ZFBldlhxRmJPVzVwa2VjdkRnUVZtMWFwVzBiTmxTZE9sY25kK3gKYnQwNjI2c3hh
ZEtrcU1mcVhCVmQ2VXFURHR2U1lDVXlhU0F6Wjg0YzBZbjFKQVFRUUFBQkJCQkFBQUVFRUVpZFFK
YTVpZi9UTE8zVQpYU2ZobWR1M2J5L1oyZGxTdVhKbG0xZWZINkxQODVnOWU3WjNySDdYNFZxcFNL
azhkeXJLeXprUlFBQUJCQkJBQUFFRUVQQ2p3SzgrCkI4UkZtelZybG93ZE85WUdIZTYyRXlkT2hL
MWlsYXJnUTYrWHluTzc5ZUVkQVFRUVFBQUJCQkJBQUlGTUY4Z3pQU0RhRURyUFE0ZFkKOWU3ZFc1
WXVYU3FiTm0yeXEyVHBneEE3ZCs2YzZXMUYvUkZBQUFFRUVFQUFBUVFROEwxQW5ncEFmSzlKQlJC
QUFBRUVFRUFBQVFRUQpRQ0N1UUo0WmdoVzNsT3hFQUFFRUVFQUFBUVFRUUFDQlFBZ1FnQVNpR2Fr
RUFnZ2dnQUFDQ0NDQUFBTCtFQ0FBOFVjN1VVb0VFRUFBCkFRUVFRQUFCQkFJaFFBQVNpR2FrRWdn
Z2dBQUNDQ0NBQUFJSStFT0FBTVFmN1VRcEVVQUFBUVFRUUFBQkJCQUloQUFCU0NDYWtVb2cKZ0FB
Q0NDQ0FBQUlJSU9BUEFRSVFmN1FUcFVRQUFRUVFRQUFCQkJCQUlCQUNCQ0NCYUVZcWdRQUNDQ0NB
QUFJSUlJQ0FQd1FJUVB6UgpUcFFTQVFRUVFBQUJCQkJBQUlGQUNCQ0FCS0lacVFRQ0NDQ0FBQUlJ
SUlBQUF2NFFJQUR4Unp0UlNnUVFRQUFCQkJCQUFBRUVBaUZBCkFCS0lacVFTQ0NDQUFBSUlJSUFB
QWdqNFE0QUF4Qi90UkNrUlFBQUJCQkJBQUFFRUVBaUVBQUZJSUpxUlNpQ0FBQUlJSUlBQUFnZ2cK
NEE4QkFoQi90Qk9sUkFBQkJCQkFBQUVFRUVBZ0VBSUVJSUZvUmlxQkFBSUlJSUFBQWdnZ2dJQS9C
QWhBL05GT2xCSUJCQkJBQUFFRQpFRUFBZ1VBSUVJQUVvaG1wQkFJSUlJQUFBZ2dnZ0FBQy9oQWdB
UEZITzFGS0JCQkFBQUVFRUVBQUFRUUNJVUFBRW9obXBCSUlJSUFBCkFnZ2dnQUFDQ1BoRGdBREVI
KzFFS1JGQUFBRUVFRUFBQVFRUUNJUUFBVWdnbXBGS0lJQUFBZ2dnZ0FBQ0NDRGdEd0VDRUgrMEU2
VkUKQUFFRUVFQUFBUVFRUUNBUUFnUWdnV2hHS29FQUFnZ2dnQUFDQ0NDQWdEOEVDRUQ4MFU2VUVn
RUVFRUFBQVFRUVFBQ0JRQWdRZ0FTaQpHYWtFQWdnZ2dBQUNDQ0NBQUFMK0VDQUE4VWM3VVVvRUVF
QUFBUVFRUUFBQkJBSWhRQUFTaUdha0VnZ2dnQUFDQ0NDQUFBSUkrRU9BCkFNUWY3VVFwRVVBQUFR
UVFRQUFCQkJBSWhBQUJTQ0Nha1VvZ2dBQUNDQ0NBQUFJSUlPQVBBUUlRZjdRVHBVUUFBUVFRUUFB
QkJCQkEKSUJBQ0JDQ0JhRVlxZ1FBQ0NDQ0FBQUlJSUlDQVB3UUlRUHpSVHBRU0FRUVFRQUFCQkJC
QUFJRkFDQkNBQktJWnFRUUNDQ0NBQUFJSQpJSUFBQXY0UUlBRHhSenRSU2dRUVFBQUJCQkJBQUFF
RUFpRkFBQktJWnFRU0NDQ0FBQUlJSUlBQUFnajRRNEFBeEIvdFJDa1JRQUFCCkJCQkFBQUVFRUFp
RUFBRklJSnFSU2lDQUFBSUlJSUFBQWdnZzRBOEJBaEIvdEJPbFJBQUJCQkJBQUFFRUVFQWdFQUlF
SUlGb1JpcUIKQUFJSUlJQUFBZ2dnZ0lBL0JBaEEvTkZPbEJJQkJCQkFBQUVFRUVBQWdVQUlFSUFF
b2htcEJBSUlJSUFBQWdnZ2dBQUMvaEFnQVBGSApPMUZLQkJCQUFBRUVFRUFBQVFRQ0lVQUFFb2ht
cEJJSUlJQUFBZ2dnZ0FBQ0NQaERnQURFSCsxRUtSRkFBQUVFRUVBQUFRUVFDSVFBCkFVZ2dtcEZL
SUlBQUFnZ2dnQUFDQ0NEZ0R3RUNFSCswRTZWRUFBRUVFRUFBQVFRUVFDQVFBZ1FnZ1doR0tvRUFB
Z2dnZ0FBQ0NDQ0EKZ0Q4RUNFRDgwVTZVRWdFRUVFQUFBUVFRUUFDQlFBZ1FnQVNpR2FrRUFnZ2dn
QUFDQ0NDQUFBTCtFQ0FBOFVjN1VVb0VFRUFBQVFRUQpRQUFCQkFJaFFBQVNpR2FrRWdnZ2dBQUND
Q0NBQUFJSStFT0FBTVFmN1VRcEVVQUFBUVFRUUFBQkJCQUloQUFCU0NDYWtVb2dnQUFDCkNDQ0FB
QUlJSU9BUEFRSVFmN1FUcFVRQUFRUVFRQUFCQkJCQUlCQUNCQ0NCYUVZcWdRQUNDQ0NBQUFJSUlJ
Q0FQd1FJUVB6UlRwUVMKQVFRUVFBQUJCQkJBQUlGQUNCQ0FCS0lacVFRQ0NDQ0FBQUlJSUlBQUF2
NFFJQUR4Unp0UlNnUVFRQUFCQkJCQUFBRUVBaUZBQUJLSQpacVFTQ0NDQUFBSUlJSUFBQWdqNFE0
QUF4Qi90UkNrUlFBQUJCQkJBQUFFRUVBaUVBQUZJSUpxUlNpQ0FBQUlJSUlBQUFnZ2c0QThCCkFo
Qi90Qk9sUkFBQkJCQkFBQUVFRUVBZ0VBSUVJSUZvUmlxQkFBSUlJSUFBQWdnZ2dJQS9CQWhBL05G
T2xCSUJCQkJBQUFFRUVFQUEKZ1VBSUVJQUVvaG1wQkFJSUlJQUFBZ2dnZ0FBQy9oQWdBUEZITzFG
S0JCQkFBQUVFRUVBQUFRUUNJVUFBRW9obXBCSUlJSUFBQWdnZwpnQUFDQ1BoRGdBREVIKzFFS1JG
QUFBRUVFRUFBQVFRUUNJUUFBVWdnbXBGS0lJQUFBZ2dnZ0FBQ0NDRGdEd0VDRUgrMEU2VkVBQUVF
CkVFQUFBUVFRUUNBUUFnUWdnV2hHS29FQUFnZ2dnQUFDQ0NDQWdEOEVDRUQ4MFU2VUVnRUVFRUFB
QVFRUVFBQ0JRQWdRZ0FTaUdha0UKQWdnZ2dBQUNDQ0NBQUFMK0VDQUE4VWM3VVVvRUVFQUFBUVFR
UUFBQkJBSWhRQUFTaUdha0VnZ2dnQUFDQ0NDQUFBSUkrRU9BQU1RZgo3VVFwRVVBQUFRUVFRQUFC
QkJBSWhBQUJTQ0Nha1VvZ2dBQUNDQ0NBQUFJSUlPQVBBUUlRZjdRVHBVUUFBUVFRUUFBQkJCQkFJ
QkFDCkJDQ0JhRVlxZ1FBQ0NDQ0FBQUlJSUlDQVB3UUlRUHpSVHBRU0FRUVFRQUFCQkJCQUFJRkFD
QkNBQktJWnFRUUNDQ0NBQUFJSUlJQUEKQXY0UStEK2N1eEcrb0l1Vk13QUFBQUJKUlU1RXJrSmdn
Zz09CgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlv
bmFsL2JpZGktaW5uZXJ0ZXh0LWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5
OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5n
CgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQUM3bWxEUTFC
SlEwTWdVSEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRR
Mi9SRmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZw
RktONnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xz
ZkVKcQovSWdBanFJSlFUUWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9I
aFAxQTRFZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4Rmtp
ZkVBMUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZy
WXFHY1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDAr
R0FWdHhxcAorRFhDRkY4UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUr
THFIQlgwbTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdV
RUNHUEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFD
Skw4UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRw
TlhSNWFzZVhxOAptdXdhUCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdq
RTMzNTlzZnpzOTRpN1BMclhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhH
UGlLVEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAx
dDR2VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJw
dFUzSHZFS0ZscFc1egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVn
cG1OT1dsczA1VW9jc241TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtF
NVF2ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQWcKQUVs
RVFWUjRBZXlkQ2J4WDAvci9uMHdaU3JvMHUxY1NLcEx4aWd5UnlwaWhVbVRJbEptUW1kelFvSXVR
cXlKVFJPUmVHZW9YSlpHcgprTGhtaWZnalZHUU1pZlYvUG11M3ZtZDlkM3Y2RHAxTytxelg2NXp2
M210NDF0cnZ2Yy8zckdldjUzbFdOYU5KbUVpQUJFaUFCRWlBCkJFaUFCRWlBQkVpZ0VnaXNVUWw5
c0FzU0lBRVNJQUVTSUFFU0lBRVNJQUVTc0FTb2dQQkJJQUVTSUFFU0lBRVNJQUVTSUFFU3FEUUMK
VkVBcURUVTdJZ0VTSUFFU0lBRVNJQUVTSUFFU29BTENaNEFFU0lBRVNJQUVTSUFFU0lBRVNLRFND
RkFCcVRUVTdJZ0VTSUFFU0lBRQpTSUFFU0lBRVNJQUtDSjhCRWlBQkVpQUJFaUFCRWlBQkVpQ0JT
aU5BQmFUU1VMTWpFaUFCRWlBQkVpQUJFaUFCRWlBQktpQjhCa2lBCkJFaUFCRWlBQkVpQUJFaUFC
Q3FOQUJXUVNrUE5qa2lBQkVpQUJFaUFCRWlBQkVpQUJNcXFnUHo0NDQveTZhZWZscFhxL1Buelpj
cVUKS2ZMTk45K2t5djMxMTEvbHhSZGZ6TlVMbitjS3luVHc5ZGRmeXdjZmZGQW1hYXV2bUpYSmNX
WDJ2ZnJlOFZYcnl2Rzk5dm5ubjVkbAowTC8vL3J1ODk5NTdzYkxTeW1NYmFrRXBiYVBrcHYxdHJJ
anYrNmh4TUk4RS9zd0VzdjdkRmpJWEtvU1hMemZ0Yno1TmJ0WnJTWk5UClNubDQzaGMrVDVLOW9y
N1Rmdjc1Wi9uNDQ0K1R1cTYwc3Fwd2o5ekZwaW9nQng5OHNOU3VYVnYyMzM5L09mTElJMlhOTmRl
VXpUZmYKWExwMDZTSjc3TEdIUFI4MWFwUTg4TUFEVXE5ZVBibnZ2dnVjN0pJL2I3LzlkaGt6Wm93
ODk5eHpzczAyMndnZXBMajAwa3N2eWM0Nwo3eXhISEhHRXJSSStqMnRYU243ZnZuM2xzTU1PSzBV
RTJ5cUJsY2x4WmZhOW9tLytRdzg5SkZ0dXVhVlVxMVpOOXR4elQrbmV2YnNjCmVPQ0JjdEJCQjht
enp6NmIxMzNXdi9PSEgzNVltamR2Ym1YdXM4OCtNbm55NUR3NWY3YVRFU05HeU1ZYmJ5eGp4NDR0
K2RKZWVlVVYKMlg3NzdhVlhyMTZSc3RMS0l4c3R5eXlsYlp6Y3BMK05Rci92c3o0M1daL0RRcDd0
dU90YkdmbFpyNitjWS91Ly8vcy8yVysvL2V6ZgpiTk9tVFdYWXNHSGxGRTlaSlJESStuZGJ5Rnlv
a09HRTVWNSsrZVZGejJteVhrc2g0eXUwYm5qZUZ6NVBrbGZvZDFxU0xMOE0zMVVOCkd6YVVHMis4
MGM5ZUtjZFY0UjdsWGJoSlNSMDZkREFmZmZSUnJ0YTY2NjVyZXZic21UdS80WVlialA2VHR1YzZN
VEg5Ky9mUGxaVnkKb0pxbzJXQ0REWXhxYTFiTWYvLzczMVJ4MTE5L3ZWRWxLRmN2Zko0cktOUEJ3
b1VMemV6WnM4c2tiWGt4di96eWk5SFZuK1VMQ3NncApWa2F4N2FLR2xpWXJ6REd0ZmxRZldmUENz
c045WjVXenF0VFRTYVRSUDNqeit1dXY1NFo4MFVVWEdWVkt6TVNKRTNONWhmeWREeGd3CndNcDg2
cW1uY3UyekhJVFpaMmtUVjZlY3N1TDZjUG40VGhreVpJZzdMZW56ckxQT012dnV1MitzakxUeTJJ
WmFVRXJiS0xuaHY0MHcKODBLLzc3TThONFU4aDFtZjdhaHJDMTlMVkoyc2VZWElLdVQ2c3ZZZlZT
ODhKbjNoWVA5bXI3cnFxbHoxY0oxY1FSa09WcVRzTWd5dgpTb2xJKzdzdFppNlU1UUtqNUliLzVy
UEk4ZXVrWFl0ZmQwVWRoK2Q5NGZPa2ZndjlUa3VTNVplMWFkUEduSDMyMlg3V1NqdXVDdmZJClhY
enFDc2o1NTU5dlZ6enl0QmJ2NU5SVFQ3V3JFOGhhZSsyMTdWc1dyN2pvd3pmZmZGT1dMRmtpYTZ3
UkRISDMzWGRQbGJYT091dmsKOVI4K1R4VlFZQVc4R2NVYjVrS1R3azl0OHR0dnY4bXh4eDRyMDZa
TlM2M3JWL0JsSjhudzYvbnRjWnpVTGx3MzdUeUxMSjlqbHZwcApmYnJ5cFV1WHVrUDdHU1hiN3p1
djhwL2taS09OTnJKWDR2Nk9jSEx5eVNjTDd2LzQ4ZU56VjFuSTM3bVRXYXRXclZ6N3RJTW85bWx0
CjRzckxLU3V1RHorL0hOOXJmL3p4aHhXNTFscHI1YjdUL0Q3U3l2MjY0ZU5TMm9abCtlZiszMFlV
ODBLNVpIbHVpbmtPMDU1dC81cHcKSEhVdDRUcFp6d3VWVmNqMVpSMUR1RjdVbUdERmdPUStvK3FF
NVdROXovSTltMVZXVkwyay8xVisvZkE0L0xJVmZaeDFqUDQ0c3Y3ZApGak1YOHZ1Sk80NlM2Ly9O
eDdXTHlzOTZMVkZ0a1pmRUw2a3NTbDU0M2hjK2oycmo4Z3I5VG5QdDBqNnJWNitlTnpkTnF4OVhY
c296Clh1bzlpaHRUS2ZtcENrakhqaDBUNWVzcWhhaDJsNnVEaThUUy9kLys5amZaZHR0dFplN2N1
Ym15cjc3NlN2QUZ2UGZlZTh0T08rMGsKTTJiTXlKWDVCeU5IanBSLy9PTWZBdGhubm5tbTlPblR4
eGJEUGsrMU43bmdnZ3ZzTXVFNTU1d2pzSzNMbXBMYS8rYy8vNUU2ZGVySQo0WWNmTHQ5Kys2M2Nj
ODg5OXJ4OSsvWXlaODRjMndXVzBHREtvbTkzNUlzdnZwREJnd2ZMYnJ2dFpzdGcwZ0lURjR6MXpq
dnZsQzIyCjJFS2FOV3VXZC8yTEZ5KzI0Ny9tbW10RTM0VFordGRkZDEya2tuSFRUVGZKNDQ4L0x1
UEdqWlBqano5ZWZ2cnBKMG5paDJVK0xLMWoKVEU1Wmk1SVJWUy9NTDZwZFhOK3Z2dnFxdlJhWXlF
MmRPbFZ3M3FwVks3bjMzbnV0MkNoWmZuOWhqbEgxNC9xZU5XdVdRQUcrNG9vcgpSRmZlN1AxNitl
V1g1WmxubmhGd3hmM0NzL25XVzI5Rmp1WEREei9NdTRlb2xQU01aTG5IL3JXbHlYdnl5U2VsZnYz
NnNzc3V1K1NlCk1ZeC9zODAyazZlZmZ0cUtLdlRhdy8xSG5iLzk5dHMyRzJZWkxoWDZkKzdhWmYw
czVMNlcra3hoVEhIYzhMZXNLMEQyZStpSko1NlEKSFhiWXdacHVUcDgrWGZBUEdhYWxEUm8wRUgx
Ym4zZHArTnZGM3piTVRQSGQ5ZTY3NytiSzQvcENCYlE3NDR3ejVOcHJyNVhUVGp0TgpaczZjbVd1
WHBid1UyWDVIcFg2L1JkMC95RS82dnZmN3ozcGM2bk1ZOVd5SCs0NjZsampPNVhnVy9mNEx1YjRW
T2FaQ0dKVDZQWXYvClhVbmZxM0h5cy95dkF0dTQ3L3M0dVhGYy9mdUVZL1RmcUZFakdUcDBxQzJD
T2ZqV1cyOXQvNDVkM2JneEp2V1I5cDNnWk9Pem1MbFEKM0hXbnlRMy9MODd5LzY2UWEvSDdkOGRS
L0dEV2U5UlJSOG1WVjE0cGwxeHlpZjAreG56U04vZE40dXRreDMxaXpnaFRNOHdSdW5YcgpKcnBD
a2xjMTZUc3RxZDgwdWE2VDExNTd6ZjdQeHp4V0xSTmNkdUpuM0ROZUdmY29jV0NsRnFwMldWQUtt
MkQ1amJmYmJqdWprMCtqCkQ0cFJaM1NqRTNDamIxdHRGVlVtekFFSEhHQysvLzU3YTFhbEUwZWpF
MzZ6YU5FaVgwVHVXRzJHamI3WnlwM2pZSys5OWpMcWIyTHoKZEhYRS9QM3ZmemRxVTV1cmM4c3R0
eGlkME1XZXA3WGZjY2Nkellrbm5waHIzN1p0VzNQQ0NTZmt6dldOc2JuNzdydnR1VHB1R1oxUQpt
RTAyMmNTZWYvbmxsMmFycmJheTE2d1RHNk1PUjBhL3JNd3BwNXlTYTY5ZlpFWWZPbnV1a3gyN0pL
NS9CTFp1cnBKMzBMaHhZd096CkJhUWtmdm8yeTZqL1M2N2xlZWVkbHpOZDgyVWsxY3MxWG5iZ3Qw
dnFHOVZ4di9VNU5HcHJiQ1pNbUdCMDRwOG56cGVWVjZBbllZNG8KOStzbjlhMlRScU52OUl6YTFa
dEhIbm5FNEpsU1pjUG9QNDJjNlpvcXNxWno1ODY1Ym4zWlVYMG5QU05aN25HdW8yVUhTZkpRQlg4
Zgp1b3FXYTRaN3BGKys5cnpRYTQ4eUI4Uzl3TDE1NDQwM2pDcldsaFArN2c0NTVCRDdUT1U2RGgw
ay9aM2ZkdHR0VnFhK1FBaTFTajcxCjJTZGRHNlNVOGt3bHlWWUZ4S2pTWWRTUHpiTFFmNkNtYTll
dVJtM2o3ZDhhVEJCZ3BnSVROUTE4WVM5bzAwMDNOYXBnRzMwaFlKOHIKWEVlVEprME03bFZTWDJp
cy9qWkdKeTVXRHN4SjFSYlk2RXNOZTU1V1hxcnNYQ2ZMRGtyNWZvTUkvLzdoUE9uN0h1WGhWTXh6
ay9RYwpGdnRzWTF6K3RhUnhMdVZaRERNSW44ZGRYN25IQkJOTWZBK280cEViUWxZR3BYN1Bvc09r
NzhFbytlKzg4MDdzLzdUY0JlaUIrb1hHCmZ0OUh5ZFVYQndYTlEvQy94RGNyaHdrZHZpK1E0djZm
cHQyN3RPOEVLOXo3VmVoY0tPcTZvLzQzaE9XRy94OW0rWDlYNkxWNGx4WEwKVDE5YW03cDE2OXJ2
YUxVQU1lb0RiT2VWZi8zclgyM3pOTDVwODBEMVp6WmdoS1F2aE96ZmhiNW9zT2RKMzJscC9TYkpo
ZG10dmpDMwpmUXdmUHR6b0MxcDduT1ZYMGpPK291OVJsdkdWVWlkMUJhUlFCUWRPZHUzYXRSUDlw
eTF3VW5VUlgrQ0VxQU8xYi92Vjl0eHF0UXNXCkxKRG5uMzgrVXhkbzg4SUxMOWhWQXpUQVVwa3FD
NEszeVBvd3BjckkwbDZWRFZHN2R2dFdEd0x4aGhodlNmWEJzL0wxSDVIb2w0ODkKeG1wSnk1WXRj
MHVIZURPS1ZRL2tnUUhlWXV0REorKy8vNzZ0ajE5dzBNY1NKeEpXaHlBRENYWGpFaHlJa1pMNFlj
VUdtclJPL20xZApWWHB5NDBLR2s1Rld6emIyZnJsMlNYMmpPdTQzM2lSY2R0bGw5aHF4TWhWT1Rs
WTRQOHpSbGJ2NlNYMjNidDNhcmpMQktWcVZETkUvCmJHblJvb1VOUklCVkdDVHc5dDlXSTgvSkR2
ZWQ5b3hrdWNlUTcxS2FQTlREaWg0aXFjRTVETWwveGdxOTlpUnpRRlZLN2Fva1Z0UHcKTmdXcmF3
Z29VZG5Kc1UrNk5veXBsR2NxU1RiK1J1RUlqaFU3UERQcnJiZWVYVTM5NUpOUDVOSkxMN1hQUysv
ZXZlM2ZEL0pjT3U2NAo0MFNWTnZ1ZE5talFJRkcvT0h1dmt2ckNDaS8rSnQxYmI1Z0tJUWlBUzJu
bHBjaDJmZmlmcFh5L09UbnUvcm56dU85N1YxNFpuOFUrCjIrNWFramhqL0tVOGk4VmVmMldOS1F1
RFVyOW4wNzRIbytUanV6bnBmNXJqaW5rQUFzOUVmZDlIeWNYYjUwTG1JZmgrY0l6UTUvcnIKcjU4
N2ovdC9tblR2MHY3bTNYVWxmUmJETStsL2crc3IvUDh3N2Y5ZHFkY1N4MDhWWTFGbFF6cDE2bVFE
SGFueWFvTVJJY0lxL3Bjbgo4WFhYRXZlSmlLcDRCbmJkZFZkYkJhdlptRGY0YzdDNDc3U2tmclBJ
Ullmb0MzTVMvRC9KbXBLZThSVjlqN0tPc2RoNlpWZEEvRDlXCjJKdGk2UlVKU2dMQXd4NFBQekNO
bVRScGtqVm55REo0bUtiZ0R3UTN3eVZkQWJHSGVLRFNVcGIyV1BhRFV1VDhMbUM2ZytWalROaGcK
ZG9XbE9aaWN1WVJyOWE4M2ZGNnpaazNienRYSHVhOHN3ZnpHL1NHNE91RlBKeitKbjY3QzJDOWhU
SkJnc29ZL1lIOXk2V1NrMVN1bQpiOWNHeTVqNmxzWGVUNzl2Vis3RzRNNzl6ekEzbExuNlNkZU5l
dmdIZ2VmQ0piVFROeURXakE1THJJaWc5c01QUDdoaSsrbGs0OFR2Ck84c3o0dGRIKy9BOVJwNUxX
ZVRoSHllK0JPKy8vMzdiREFvd29sUWhGWHJ0dGxITUwzV2l0bDkrZUo0ZmZQREJtRm9yUHR1eFQ3
czIKaktUWVp5cE50aHVEdTFyY1F6OXR1T0dHOWhUZkJTNzUvaTZZMkNCQmNVenFDeWFKTU1OMHZn
OW9VNk5HamR5em5WWmVpbXowRlU2bApmcjlCWHBpZGYrNS8zNGY3WHBIbnhUN2JidXhKbk4yNGkz
MFdYZnRDUHl0clRGa1psUEk5bStWN01Ddy82LzhxakQvcCt6NHNOd3ZYCnJQY3Fib3hKZmFUOXpX
ZnB1eGllV2VTaURuaTZaeUxxM1A5L1YrcTF4UEZ6L2ZyekNIeVA0dnNGTCtpUytLSnRVc0lMYjVp
bys5Y0kKTTI3M1loaHQvVEwvT3kycDN5eHk4VElLcHVMdWhWVFNPUDB5akNmcEdVZTVQK1p5M2lO
L0hDdmllSzBWSVRSS3BwbzJDQnd3ZmJ2egpxSHB4ZWJBMWhBd29OUGduam9UVkJzakVwQ290Wldt
UGh4RGE3K2pSbysya0FXRjk4ZFlTdHAvZmZmZGQwZUhwM05qd3BrNGppRmxiCmN6Z2w0VzBLL0dH
eXBEUitDQ0dIVUc4MzMzeXp3QVlVRTFrM2tmTGxaNjNudDBuckczV2hHRUlSZ0EvS1NTZWRsRGZw
OG1VVmVweWwKNzdCTWhFN0ZhdGxkZDkxbGJXanhoWjBsWlhsR3NzaHhkYkxLdzBwZXYzNzlySitB
bW1SWUJSMHlpcmwyMTNmVUp5YWdlSHVHTi9oWQpuWVIvMDhwS1dhNnQyR2NxaTJ6L3V2RTM3bitC
KzhkK1BYZU10Mlg0a3NkUFVsK2ZmZmFaTFhmdDNLZVRuMVplaW16WGwvKzVvci9mCi9MNHErN2lV
Wnp1SnM3dU9ZcDlGMTc3UXo4b2VVNWIrd3RlUTlYczI2L2RnV0g3Vy8xVlp4d0g1eFZ4bmVGeitl
ZFFZay9wSSs1djMKWmNjZEY4c3pUbDZ4K2VXNGxpaCtVZk1XakJIZjA1anZKZkZOdXhiNGNEaWYw
TFM2NGZLa2ZyUEloZjh3WG9oaWhSMSt3b1drUXA1eApYMjQ1N3BFdnI5ekhaVjhCaVJ2ZzVycDND
Rlk4c0pMZ0VwWkNvVVZuU2RDQXNZR0tNMVZCRzdWWnRPWlJNTUZKUzFuYlEwRkF6UDg3CjdyakRS
Z3VDMmNLamp6NXFOZStzeWtMY1dHQitBZk1vVEFMaGpBb0hvclRrSml0Si9OUU8wTExBbTBESWhq
TXRsQ2FYbkl5MGVxNisKKzNUdGt2cDJkZUV3QmcwZmJYQWNUazVXT0QvdTNOWFAwcmN2UTIySHJk
TXYzbGo2cTJWK0hTZmJ6OE54MW1jazNDN3VQS3U4bzQ4KwpXdFEzU2pSTW53MkM0T1FWZXUydVhk
TG5yYmZlS3VxL1lDT3M0WGtvZDhLR2ZWRDg0cEpqbitYYWluMm1zc2lPRzErVy9Ibno1dGxWCk5U
aXdKL1dGRndKWVJjSEtZRlJLS3k5RmRsUi95Q3YxKzgzZHZ6ajV4ZWFuUFRkWjVCYjZiTHRyU2VM
cytpMzJXWFR0Qy8yc3JERVYKd3NDL2hrSytaN04rRC9yeXMvNnZ5aklPWDI0V3JuNTlITVB5SVNy
RmpUR3BqN1MvK2FoK3dubkY4QXpMS01kNXFkY1N4eTlxYlBnTwp4U2FKNnNlVytKMGIxZGJQdzhz
anJGd2pBSTFMbUlkbXNhSkp1cTlaNU9LRkZjendFYURuMy8vK3Qrcys5YlBRWjl3WFdPbzk4bVd0
CmlPT0NGQkQ4SVNJMGJ0eXU1TkRNOGVNU29nSzRLRlU5ZXZTd2tXbXczS1dPNTNiQ2ZQWFZWOGVH
c2NXRURQMDVlZkM5Z0Y4SmxCaVgKTUluSEh5TTJTVVRDMk5ReHpCWG5uV2RwajRicUtDOVluY0R5
SDh3dTRNY0JqUnlSY2R5WHRlc0FZOFAxNFFGR1F2LytseFhLb1RTNQpoTGZjNnFndThKSEFwQlBM
dzBrSnBodlFZSkd3TWdNdE80b2YvakFSVFFJSjBiVU9QZlRRM0NxUkx3TjI2M0gxYkdQdmw5OHVx
VzgwCmdkSURHMU1vZ2pCN1FqUXUvdy9hbDRWN0gwNWhqbjc5dEw3aG4rT2VNY2lGalNqdUFmNW93
UjV2SEtEMDRoN2h4NWVOc2ZoOVozbEcKMHU2eGYyMVo1S0UreGdRN1pteWE1TXdLa1ovMk54Tytk
clFKSjJkRzVMampTeEJ2bmZETUlNeXovN3k2dHNoTCtqdDNzc0p0c1ZFbwpOdG5EeER3cStlelQ3
bXNwejFRYU4zeEgrSCtYR0RmTzNYZUg4L255cjgrdkQzdGZiRUFLODdta3Z1QVhoVGQyc1B0MUNU
NXhlSk1HCmVXbmxwY2gyL1lVL1MvbCs4KytmKzl2QjM0OUwvdmU5eS9NL0MzMXUwcDdEWXA1dE54
Ny9Xc3I5TE9KNVFoUTE5OTN0K2d4L0psMWYKMHIySG5FTC9QdHovYlBjSkdZVXdDSC9YRlBJOUM2
dUh0UC9kWWZsSi85TXdkcGZTeGhHV204YlZ5WFdmc0xMQTl6SytEL0hpQVJOWApqQTBwYm94SmZh
VDl6YnQrL2M5aTVrTGg2L2JsdWVPd1hPVDcvdzl4bnZUL0xzdTF3UHdaeWp1c01zSXBqcCtyNXpq
akhDOXJzWUlBCmsvVWt2cWlMTWJ2djh2QTV4Z3dyQTd4WXhyT0RIMFJGaE04SkVxNC83anN0cWQ4
MHViZ2ZtSC9BL0F1UnZXQWw0dnlqMFc4U3A3Um4Kdk5SN2hQNVhXbElvbVJLaUN5SEtrQTdVNk1U
Y1lBTkNOVXZLdFVVVUlsMGlNK29FYkhUeWFmU0JNOWpVUmY4QjIrZ3hxS2dUVTZPVApleHRoUnMx
MWpLNHM1TnI3QityY1pQUmhzMzFwNkV1amYvUzJHREloLzUvLy9LZU50cVJoYjQzZUhGdW1YeEpH
YmVsdEcwUmJVUk9jCnZITkVFa2hxNy9lUFBoRXR4eVg5QThvN1J6NzYweEM4dGo5c1VvWklLZnFG
YnFQY3FLMmczZmdOa1hWd3ZScFMxWXJTcFRkYkh3eFYKd2JHYkptcUlUaHZKdy9YbGY2cFR0MldG
eUZ5cWZNVHl3NzFSNTFxN0llUmpqejFtSUZQL0FLMG9Yd2FpU2NUVjgvdkZzZDh1cVc5cwpsSWpJ
WTRpeWdxUVRmM3R0K3JiQU1rSmVXQmJ5WEFwenhIMEsxNDk3YnRSVXptNVdxY3FoVWNYS2lsUnpQ
QnNWUzgzMGJBUXpSQzVUClV6ZHp6REhIV002K2JFVHQ4dTloMmpNQ2ZtbjMyRjJYKzh6NnpLbWZr
Ums0Y0tCcmx2c3M1TnB6alpZZElQb1Nua0U4YjRqZWdyOEoKbHhEWkJmbnE2R2Z2bWN0UCt6dlgx
VUViNlExdDhmZW16blJHdjN5TjJyVWFOZkd4a2UxMFl1WEU1WDM2N0Zma000Vk80N2poYjFQZgpD
dG0vUGYyblpoQnhSU2VnbGdXaVg2bGpwTkdRdWZiOHlDT1BORHFKTk1qWGlZaFIwelY3ajg0OTkx
d2J6YzlkWEZ4ZktNY3pxa3FmCi9TNkVQRVFmMDM5Q05qOUxlU215M2ZqQ244Vjh2NFgvTHRXRUlQ
WDczdSszME9jbTdUa3M1dG4yeDdNaW4wVjhCK3JMcXNSSU4yblgKaDdIRzNmdEN2M1BCQ3BIWDhE
ZUxpSHRxem1GUlpHVlE2dmNzL3RhVHZnZWo1Q2Y5VC9Qdlk5TDNQU0lOWVROai8vOURFbGRmcmp2
Rwo5eksrMXhEMTdzSUxMN1NSTHpVb2dZMkdselRHdUhzSHVXbmZDYTV2ZkJZekY0cmk2Y3VNa3h2
K1g1eGxUcE4yTFpnTFlsNm9vZWJEClE3QVJLK1BtSTRqcWllaVdtSHZwaTF2Ny8wdFhUSEl5NHZo
bW1RZGkzb241Si80ZWRPVWk5Myt4MURsc25GeDg5MkUrZ210OThjVVgKN1h3V2N4SThsN3BxYTY4
cGlWUFNNMTZPZTVTRHVoSU9vSlZWYXNJL01renUzUVM1ME00eHVVRklPVjlCS0VSR2x2YjZ4anhQ
WlBnOApyN0NBRTRUVXhkZ1JFaFU3dTJOeXJGR0pqSzdxeEVyUnQzeDVaVkg4OUcycXJhTnZHSTM2
eU9UVng0bVRrVll2M05DMWMvbFJmYnV5CnRNK3dyRUxyRjlxM3ZzWElkYUZ2Q0hMSE9FZ2JTNVpu
SkU5Z3lrbFdlWEhQV2FIWG5qS2NsVm9jWmwvS3RZVmxoUytzRk5saFdUalgKT1BteDMxdEpmZW5i
cjl3enA2c0V5NGxPS3k5RjluS2RhVWI0T1F1ZlI3VnhlV25NWGIxVjRUTjhMVW1jMDY0bkxBc2hU
Y3VSeWptbQpxUEdFeDExb2Y0Vjh6MmI5SHNRNEMvMWZsVFNPcU9zdTVEcFIxOG4zLzVla2pUR3Bq
N1MvK2FneGgvTUs0Umx1Vzg3enRHdkJTNTEvCmFEajhjRXJpQndWRTk0eXo4NW00djZVa3Z1Ryt3
dWRnNXlzMDRmS2s4NlIrUzVFYng4bU54VDJET1BlZlExZWU5SmwyajVMYXJzaXkKYWhDdW1pRFRD
aVp3KysyMzIvQnhpT0xnSnppTHEyWXMrcWJheitZeENaQUFDWkFBQ1pBQUNhelNCT0FUQ05OaWJE
MlFOV0Z6WG9UZgpWVXVickUxVytYckZjRnJWTDVvS1NDWGRRVGlHNDQ4S29YSVJkaFgyMHJvMGJY
MDdZSVBNUkFJa1FBSWtRQUlrUUFKL0pnTHcvVUk0CjI2eEpWeEdzVHdibVMrUEdqY3ZhYkpXdlZ5
aW5WZjZDOVFLb2dGVGlYVVFvWDhTTFJ2UUhoRUhscWtjbHdtZFhKRUFDSkVBQ0pFQUMKVlpvQW9r
UzVBQTZJMklnUTIweC9UZ0pVUVA2Yzk1VlhSUUlrUUFJa1FBSWtRQUlrUUFKVmtrQkJZWGlyNUJW
d1VDUkFBaVJBQWlSQQpBaVJBQWlSQUFxc01nYUlVRU1SbnhtWXVUQ1JBQWlSQUFpUkFBaVJBQWlS
QUFpUlFDSUdpRkpDK2ZmdmFqYmdLNmFoY2RlR3dEWWNtCmJENm9jZlh0aG9IWW9iSkxseTZ5eHg1
NzJQTlJvMGFWcXp2S0lRRVNJQUVTSUFFU0lBRVNJQUVTS0NPQnRZcVJoUjNNL1IxVmk1RlIKYkJ2
c2NLbWJHZ21VRGlUc0p0NjJiVnU1Kys2NzdmbU5OOTVvZDc2Mkp5WDgwbGpQb3B2R1dHZnhFc1N3
S1FtUUFBbVFBQW1RQUFtUQpBQW1RZ0VlZ3FCVVEzUmxVZEVkVlQwemxIZXJtTkRubEk2cFgzYTFk
dHRsbW02aWl6SGxRY280OTlsaVpObTFhNWphc1NBSWtRQUlrClFBSWtRQUlrUUFJa2tFNmdZQVZF
ZHdPV3dZTUh5MjY3N1dhbFAvdnNzOUs5ZTNmcDA2ZVAzSG5ublhaVHZXYk5tc25jdVhNemxhTVMK
OXNPQVlySDMzbnZiUFRKbXpKaGgyMktsQXdyRkZWZGNJZjM3OTVjNmRlcWt4cFBlWUlNTnBFMmJO
clo5bk54WFgzMVZPblRvWUJXVgpxVk9uQ3M1YnRXb2xDUCtHZE5OTk44bmpqejl1WTFEclR1WHkw
MDgvMlh6K0lnRVNJQUVTSUFFU0lBRVNJQUVTS0kxQXdRcklXbXV0ClpaV0xPWFBtMko1YnRHZ2hy
NzMybW93ZlAxN3ExYXNuVTZaTXNma0RCdzdNVlA3Nzc3L0xDU2VjSVAzNjlSTW9NOWg4cGxPblRx
TGIKMG90dU55OWp4NDYxc3FIVWRPN2NPVlVCY1RpUzVHSWp3SXN2dmxqZWVlY2RhNjQxZi81ODZk
bXpwMERaUUxyd3dndWxRWU1HMHJWcgpWNnVVUUtsaElnRVNJQUVTSUFFU0lBRVNJQUVTS0oxQXdU
NGdXSVZvMmJLbFZRelFQWlNPTGJiWVFtclVxR0YzOVViZXZ2dnVLMisvCi9UWU9VOHNmZnZoaE1j
Ymt6SjB3OFYrd1lJSGRzQStLQ0JTUHhvMGJXK1VEQ2tqV2xDYTNYYnQyMHExYk43bnNzc3RzSC9m
ZGQ5OXkKb3F0VnE3WmNIak5JZ0FSSWdBUklnQVJJZ0FSSWdBU0tKMUR3Q2dpNndzVGNuNXlIejJ2
V3JKbm5DSjVVUG4zNmRJRlB5VHJyckdOLwpZRDQxYWRJa2E0cUZ2dUJrRHFXbjBKUW1GL0t1di81
Nm1UMTd0dTFyelRYWFhLNEwveHFYSzJRR0NaQUFDWkFBQ1pBQUNaQUFDWkJBCndRUUtYZ0VwdUll
VUJnc1hMaFNZZGUyMzMzNHBOUXNyemlKMzdiWFh0c29OZkZwT091a2syV2lqalFycmhMVkpnQVJJ
Z0FSSWdBUkkKZ0FSSWdBUUtJbERVQ2toQlBhUlVSamhkckhqODhzc3Z1Wm93eVlKemVDa3BpOXdy
cjd4U0preVlZRmR6Y0J4T1hBRUpFK0U1Q1pBQQpDWkFBQ1pBQUNaQUFDWlJHSUpNQ2dqMHhCZ3dZ
SUo5OTlwbnRiZkhpeGZMenp6OWIzdzFrd0ZuOGp6Lyt5STBFNVhBQ2R5bXB2RWVQCkhqWUtGcUpk
TFZxMFNPQVFqbjFHWEpqZnBVdVgycjZjTFA4VGZVSjIxSjRrYVhJblRweG8rMmpldkxsY2Q5MTFN
bXpZTU90TTcrUmoKTmNSZEw4YkZSQUlrUUFJa1FBSWtRQUlrUUFJa1VBWUN1dHFRbWpSYWxOSFZB
S05oYXMxTEw3MWtOQVN2MGE3TmtDRkR6T1RKazQxTwoxazNEaGcyTitsMlkxMTkvM1RSdDJ0UlVy
MTdkUFAzMDArYTU1NTVMTEVmbk92bTM5ZEdIK251WVJ4OTkxSTVwOU9qUlJpTlFHWFZNCk53ODk5
RkRlT045NjZ5MmpTb3NkUjYxYXRjd05OOXhndnZ2dXU3dzZjWEkxVXBlcFg3KytIU3NhNFByVUI4
VG9xb205UHVTcGM3cTkKNWhOUFBORm9PRjlrTVpFQUNaQUFDWkFBQ1pBQUNaQUFDWlJJb0JyYVo5
RmpFSm1xR0dmd0xMSlJCeXNabjM3NnFXeTIyV2JXSnlScgp1N1I2cGNpRkg4a21tMnlTMWdYTFNZ
QUVTSUFFU0lBRVNJQUVTSUFFTWhMSXJJQmtsTWRxSkVBQ0pFQUNKRUFDSkVBQ0pFQUNKQkJMCklK
TVBTR3hyRnBBQUNaQUFDWkFBQ1pBQUNaQUFDWkJBQVFTb2dCUUFpMVZKZ0FSSWdBUklnQVJJZ0FS
SWdBUktJMEFGcERSK2JFMEMKSkVBQ0pFQUNKRUFDSkVBQ0pGQUFBU29nQmNCaVZSSWdBUklnQVJJ
Z0FSSWdBUklnZ2RJSVVBRXBqUjlia3dBSmtBQUprQUFKa0FBSgprQUFKRkVDQUNrZ0JzRmlWQkVp
QUJFaUFCRWlBQkVpQUJFaWdOQUpVUUVyang5WWtRQUlrUUFJa1FBSWtRQUlrUUFJRkVLQUNVZ0Fz
ClZpVUJFaUFCRWlBQkVpQUJFaUFCRWlpTkFCV1Ewdml4TlFtUUFBbVFBQW1RQUFtUUFBbVFRQUVF
cUlBVUFJdFZTWUFFU0lBRVNJQUUKU0lBRVNJQUVTaU93Vmxyek8rNjRJNjBLeTBtQUJFaUFCRWlB
QkVpQUJFaUFCRWhBdW5UcElyVnIxMDRra2FxQW9EVUVNWkVBQ1pBQQpDWkFBQ1pBQUNaQUFDWkJB
cVFTcUdVMmxDbUY3RWlBQkVpQUJFaUFCRWlBQkVpQUJFc2hDZ0Q0Z1dTaXhEZ21RQUFtUUFBbVFB
QW1RCkFBbVFRRmtJVUFFcEMwWUtJUUVTSUFFU0lBRVNJQUVTSUFFU3lFS0FDa2dXU3F4REFpUkFB
aVJBQWlSQUFpUkFBaVJRRmdKVVFNcUMKa1VKSWdBUklnQVJJZ0FSSWdBUklnQVN5RUtBQ2tvVVM2
NUFBQ1pBQUNaQUFDWkFBQ1pBQUNaU0ZBQldRc21Da0VCSWdBUklnQVJJZwpBUklnQVJJZ2dTd0Vx
SUJrb2NRNkpFQUNKRUFDSkVBQ0pFQUNKRUFDWlNGQUJhUXNHQ21FQkVpQUJFaUFCRWlBQkVpQUJF
Z2dDd0VxCklGa29zUTRKa0FBSmtBQUprQUFKa0FBSmtFQlpDS3hVQmVUSEgzK1V6ei8vdkN3WDh2
dnZ2OHQ3NzcwWEt4Rm5NQlVBQUNBQVNVUkIKVkN1dFBMYWhGcFRTTmtsdXVjckt5YkZjWTZJY0Vp
QUJFaUFCRWlBQkVpQUJFb2dpa0txQVBQend3OUs4ZVhPcFZxMmE3THZ2dm5MSwpLYWZJeVNlZkxF
Y2ZmYlJzdmZYV2N1aWhoMGJKVGMwYk1XS0ViTHp4eGpKMjdOalV1bWtWWG5ubEZkbCsrKzJsVjY5
ZWtWWFR5aU1iCkxjdE1hL3ZrazA5YVBtdXNzWWFNR3pjdVQ5Uzc3NzRyeHg1N3JHVUhicDk5OWxs
ZWVUbE95c214SE9PaERCSWdBUklnQVJJZ0FSSWcKQVJKSUlwQ3FnQng1NUpGeTNISEhXUmtEQmd5
UU8rNjRRMGFPSENrUFBQQ0F2UHp5eTdMZWV1c2x5WTh0Ty9YVVU2VjI3ZHF4NVlVVQo3TExMTHRL
MmJWdFplKzIxSTV1bGxVYzJXcGFaMXZiZ2d3K1dtMjY2U1l3eDByTm5UNWt6WjA1T0hCUzN1Kysr
VytyVXFTTzMzMzY3CmJMcnBwcm15Y2gyVWsyTzV4a1E1SkVBQ0pFQUNKRUFDSkVBQ0pCQkhJRlVC
UWNPTk50ckl0c2NxaUorZ2ZOeHl5eTErVmtISFVCakMKTWdzU29KWC8rT01QMjJTdHRkWVNyRUtF
VTFwNXVMNS9uclV0K2o3cHBKUGt0OTkrazg2ZE84dlBQLytjRTRPeW5YZmV1ZVRyekFtTQpPQ2dI
eHdpeFZxbUt5bWNlQ1pBQUNaQUFDWkFBQ1pBQUNSUkxZUGtaZXdHU0xycm9JcWxidDY1dGdUZi9P
RC8vL1BQbGlTZWVrQjEyCjJNRk92S2RQbnk1dnZ2bW1kT25TUlJvMGFDQllSZkhUNHNXTHBVK2ZQ
bEt2WGozWmFhZWRCR1pMTG4zMTFWZFczdDU3NzIzTFpzeVkKNFlvRTdjNDQ0d3k1OXRwcjViVFRU
cE9aTTJmbXluQ1FWbDZLN0x5T2xwMjBiTmxTaGcwYkptKzg4WWFjZnZycGVWWFdYSFBOM1BsRApE
ejBralJvMWtxRkRoOXE4TVdQR1dGTTJYQU5TWlhLY05XdVdZQVhsaWl1dWtQNzkrOXVWR3F4cVlZ
eTRsc0dEQjh2dXUrOXV4NFZmCjExeHpqV0JGaUlrRVNJQUVTSUFFU0lBRVNJQUVpaWFncGtPcDZi
YmJialBhZ2VuYnQ2OFpOV3FVdWV1dXU4eVpaNTVwZHR4eHgxeGIKblRnYlZUck01cHR2Ymg1NTVC
R2pDb0RwMnJXcmFkcTBxVkdsd3l4Y3VOQmNkZFZWUmxjOHpEZmZmR1BicVVtUzJXYWJiY3pqano5
dQpwa3laWWhvM2JteWFOR2xpZENYQkxGMjYxQnh3d0FIbSsrKy9OK29FYm5TaWJOU1V5U3hhdE1p
MlBlaWdnNHhPM3UweHloczJiR2phCnQyK2ZHMDlTZWFteWM1MHNPNWc4ZWJKUk15eDdwcjRlbHRY
dzRjTnoxZFJNSzNlTUExVkFqRTc0YzNrZE9uU3dySkJSbVJ4Vk9UUnEKQm1mVWY4YmVNekIrNTUx
M2pLN1k1TVoyM25ubldmN0krTmUvL21YVTV5ZFh4Z01TSUFFU0lBRVNJQUVTSUFFU0tKUkFRU3Nn
TVBWWgpaNTExcEhyMTZ2YkgxM3EyMkdJTDZ3aXVDb1UxUTRKNTFtR0hIU2FmZlBLSlhIcnBwZGJo
dkhmdjN0YXNCM2t1d2Iva2tFTU9rWDMyCjJVY0dEUm9rSDMzMGtlaUVYdUQ4cmhjajA2Wk5rNGtU
SjlyVmt3VUxGc2p6eno4dldBbVpNR0dDZE96WTBZcUI2ZFdCQng3b1JLYVcKbHlJNzEwbk1BVXpT
c1Bwejdybm5McmNxNDVxQWpXOTZ0djc2NitmT0s1Tmo2OWF0cFZtelp0YUpIcVpqcWpUWlZaRFhY
My9kOHNWNAo0VHlQKzRDRUZhZXdvNzB0NEM4U0lBRVNJQUVTSUFFU0lBRVN5RWlnSUFWRVZ4aWtX
N2R1TmdMV0RUZmNJSHZ0dFZkZU4vNmtHZ1UxCmE5Yk1LOTl3d3czdE9SUUpsMnJWcXVVT0JSTmlw
QTgrK0VCZ3VvVW9XVkI0OE5PbVRSdVpOR21TTmNXYU9uV3FuVGc3M3hTMHFWR2oKUm00U24xWmVp
bXowbFpUV1hYZGQwUlVnNjV3UHN6TmQ3VW1xSGxsV1dSelJPWlFoT01tN3RNa21tOGdSUnh4aGxV
SmQ1UkpkbFJMZgpoTXpWNHljSmtBQUprQUFKa0FBSmtBQUpGRU5ncldJYXVUYndFVWhLV0pud0o5
UCtjVlM3elRiYnpDb3RVRnpVWkV2Z3dMM2ZmdnN0ClZ4WGhiRkVlVGs1K1dua3Bzc045UnAyckda
bmNjODg5ZGdXb1I0OGVrYzd4VWUzaThsWVV4N2orRU9GTVRkcms1cHR2RnZpSlBQWFUKVStLVXg3
ZzJ6Q2NCRWlBQkVpQUJFaUFCRWlDQkxBUUtXZ0VKQzRSSkZqWVN2UC8rKzhORlJaM1BtemRQZnZq
aEIydkNwTDRrZHNYagpsMTkreWNtQ0tSQldOekE1eGlySzdObXpjMlgrUVZwNUtiTDlmdHd4b21X
NWlGa3VEL3VqWEhqaGhkWjh6Ri94Y2VYaCtpNi9ISjlaCk9VYjE5ZVdYWDhyOCtmTmx5SkFoZHV3
SUlBQkhlU1lTSUFFU0lBRVNJQUVTSUFFU0tBZUJUQXFJT243YnZwWXNXWkxYNTYrLy9tb2oKVUcy
MTFWWTJIMkZvc1d1NFN5akhPZktSMVBuYmZ2cVRiNysrT3FMYlZZTldyVm9KVmc0UXFRcFJtdEEv
SnNWWFgzMjFiTG5sbHRZTQpES3NqOEZsd0NidWdZMlVEOG1BbWxsUmVpbXpYbi84Sk15dU1MNXdR
OFd2UFBmY01ad3NpWnIzMDBrc0NubEFXUHZ6d1EvbjY2Njl6CjlTcUxJenJFUGZIREJtTWNpSUtG
cE03eGRxTkptTGNod1I4SGlna1RDWkFBQ1pBQUNaQUFDWkFBQ1JSTklNMXJYWGNxTitxb2JDTTcK
YmJ2dHR1YVlZNDZ4UDRneWhhaFVhcHBqSTFZaG9oSWlVV2s0WGZQc3M4K2F1WFBuR2tSLzBvSFo2
RmZmZnZ1dDBaQzU5bHczTnpScQpKbVh6ZFRKdTFQbmNEQnc0MEtqanRvMTY1Y2Frb1dDTk9yemJ5
Rm5vNjlGSEgzVkZadlRvMFVaTnRZeHU5bWNnVHgzWmpZYU10Zm1vCmxGWmVpdXpjSVBSQVYzOU1p
eFl0aklZWU5wQVpUcnBDWk1mbTV6L3p6RE5HL1Z0c3hDOWRKVEVhZ3RlMGE5Zk9SZ0tyVEk1Z3RN
RUcKRzlpeHE5SmhoL2pXVzI4WmRZUTN1c082ZWV5eHg0dzZudHVvWkNnODU1eHpUUDM2OWUzOTlx
K0h4eVJBQWlSQUFpUkFBaVJBQWlTUQpsVUExVkN4YWV5bFRRNWo5d1BrWnF4YmhoRldDVHovOVZP
QWZFaTdIYWdkV1I5QVdwbHB3QVBkVFdua3BzdjErMG81VitjcHQ1dWpxCm9tK01EMDdnV1BHQU9W
dXBxVmlPZnI5WW5ZTFBDY2FNTWFtQ2tpdkdvd0xPR0RNVENaQUFDWkFBQ1pBQUNaQUFDUlJEb0Vv
b0lNVU0KbkcxSWdBUklnQVJJZ0FSSWdBUklnQVJXUFFLWmZFQld2Y3ZpaUVtQUJFaUFCRWlBQkVp
QUJFaUFCS29pQVNvZ1ZmR3VjRXdrUUFJawpRQUlrUUFJa1FBSWs4Q2NsUUFYa1QzcGplVmtrUUFJ
a1FBSWtRQUlrUUFJa1VCVUpVQUdwaW5lRll5SUJFaUFCRWlBQkVpQUJFaUNCClB5a0JLaUIvMGh2
THl5SUJFaUFCRWlBQkVpQUJFaUNCcWtpZ3lpa2cySS92Z3c4cUI5WGl4ZVh0UnplRmw1OStLcS9N
Y2ttcnF1TXEKMS9WUkRnbVFBQW1RQUFtUUFBbVF3S3BCSUZVQk9maGdrZHExUmZiZlgrVElJMFhX
WEZOazg4MUZ1blFSMldPUDRIelVxUEpkYk4rKwpvcnVobDA5ZW5LUVpNMFRHajQ4ckxTeGZOMkdY
QXc0UTZkaFJwRzVka1hQT0theDlaZFQrNUJQUkhjNHJveWYyUVFJa1FBSWtRQUlrClFBSWtRQUx4
QkpiZitTOVVWL2ZJazFtekFxVURSZGlEcm0xYmtidnZEaXJlZUtQbzVuVEJjVEcvZi8xVjVNVVhS
ZmJaSjJoOTlkVWkKMzN4VGpLVHNiY2FPRmNGcVJlL2VJaDk5SkRKa1NQQ0RmUkF4VWIvckxwRnAw
MFMyMjA0RTQ5bHd3MEQyd3crTHpKOHYwcXVYeURycgpCSG02YjU5TW1pUXllclRJWC80aUF0bFEx
RTQ1UmFSbHk2RE9oQWtpNzc0cmNzRUYrV09jT1ZOa3hBaVJmLzVUQkJ5dXVDSy8zRDg3CjlWU1Jh
NjRSNmRSSjVNUVRSYXBWQzBwSGpoUjU2U1cvWmxBR3BSR0s0akhIaU5Tb0lkS2loZWpHZ2lLWFh5
N1N2MzkrZlo2UkFBbVEKQUFtUUFBbVFBQW1RUUdVUlNGVkF6aisvUXZtSUdoUW14cSsvSGxVU25Z
ZDkxOTNrR2NyTnNjZUtiTHR0aFFLeThjWWkrQ2swK1hLVAoydXFtNnpKb2tNaXJyd2ExdnZwSzVQ
YmJSWGY4RGhRRUtGZFFNdFpmWCtUWlp3UGw2L25uZzdxUFB4NG9Hc09IaS96M3Z5SzFhb244CitL
TUlHRGlGQkNzaE5XdUs3czVlTVFxMGc2S3hZRUhRdHl2QkdPNjdUMlRZTUpFSEh4U0JNaEdWb05o
Z0pRb0tDMlROblN0eTdiVWkKdU9hcnJoS1pOeStxVlpCM3h4MFYxN3JsbHFLN3J3Y3JQd2NkRk4r
R0pTUkFBaVJBQWlSQUFpUkFBaVN3b2dpc2tTWVlaa1ZKQ1JQMwpObTJDR3BqTVEySFplMitSblhZ
U2dabVRTekQvd1VSNzhHQ1IzWGNQY20rNktaaFFqeHNuY3Z6eEloOStHSlR2dGx0UURnV2dlM2VS
ClBuMUU3cnhUWklzdFJKbzFDeWJnVGk3OE9NNDZLMWdkNk5BaHFIL2RkY0VLaHF2amYxNTVwY2dS
UjFUa29DK3NRR0JjR0hmejVpSUwKRndZcklaQ0xsUkFvRzBqMzN5L3k3MytMdlAyMnlBTVBCSGxZ
SFhIS0IzS2d6QXdkS3RLZ1FWQ08zMUJZb0tSZ1hMZ1dsM0M5MjJ3agpncFdYMDA4UEZBb29GZTZu
WGJ0Z3RRTitNWWNlR2x3MzdnZVVGU1FvY2xqSnFWZFBCQ3RScmgwK3YvOWU1SVliQWdVS3F6d3VI
WFdVCnlDV1hCSXFJeStNbkNaQUFDWkFBQ1pBQUNaQUFDVlFXZ1ZRRkpPdEE4R2I5aEJORSt2VUxW
ZzUyMlNVd0YvcjJXNUdsUzBXdXZ6NlkKWkY5OHNVanIxaUl3WGJyd3dtQ2kzcldyeUwzM0JxWk9l
THMvWjA3UUs4eUdYbnN0ZUdPUFNmYVVLVUgrd0lFVm80SzUxTHJyaXNCMwpCSk53S0RxWW1QL3Ri
eFYxL0NPWVNMVnE1ZWVJbkhSU1lGcUdpVHBXSVdCbWhoVVFtQ3Nod1VUTUpTZ3ZVQzdDcXc1UXZu
cjJESzRKCkpsRkxscmdXd1NmR1ZLZE9vQlRjZW11Z0xNQTBDMHBHMWdSRkIvNHhYM3lSM2dLck1K
MDdCL1V3TnBmQTlQMzNLMVpGWEQ0L1NZQUUKU0lBRVNJQUVTSUFFU0tBeUNKUk5BWUYvQk42OFk4
Vmc0c1Jna2c2VEk1Z3ZRUW1CbVJZbTNFandqMEJkbDV4SkZpYm84SnR3WlZBNgpzT3FCUEpnZ2Ji
YVp5TDc3QmhObzF4WW1UTTVrQzZaY2tJR0V1dUVFMDZydnZnc2N4ZjB5S0JzWUF4enJHemFzS0ts
ZlArZ2JUdVorCmdnTHk4ODkrVG5BTzh5dVlObUdsQjZzZExxRlBqQlBtVTZnRDN4T3NpR0E4bDEz
bWFtWDdoTmtYK25hTWtsckI5d01KL2JzRVB4RDQKaDh5ZTdYTDRTUUlrUUFJa1FBSWtRQUlrUUFL
VlI2QnNDc2owNllFaWdMZjArSUZaRnB5ellZb0Zmd2lzSEJ4eWlNaVpaNG8wYmh4RQp6M0tYNlJR
UW5PTTQ2Unh2OW4ybmQ1eWpiNWVnTk95NnF6dkwvM1NtU1BDcDhCUHlFYVkyS3ZyVzFsc0hpb0pm
SDhmK0dIR09hK3JXClRRVG1aTzNiaXp6eUNIS0RoTlVkK0Y5ZzVXZk1HQkhJaEc4R1ZsZzIyc2pW
eXZZWjdqZXBGU0tXSVlXVkZUQ3JyRkRId1FqNG13UkkKZ0FSSWdBUklnQVJJZ0FRQ0FtVlRRT0Ez
c1laSzIyKy8vSjlHallLTzRET0I4TFJZSGNBcUJud1V5cEhPT3k5UVFONThNM2lyajlVTQorSEpF
SmJjNmdvaFRmcG82TmZERGlQSjN3ZXBLSVZHNXdBREtscThrVFo0czh2ZS9CejNDWndRcklaRDcy
R1ArS0NydkdNNy80TVJFCkFpUkFBaVJBQWlSQUFpUkFBcFZOb0d3S0NFSytZc1hEbjNqanpUc205
NGc4QlhNamhMdUZlUmFVQmF3RXVGVElXMzNYeG4wZWVHQmcKMGdXNWlCSUZ4L1c0aERIQ1g4UTNT
VUpkK0piQVp3VXJBK0VFUlFGTzRJVWtYSTlUT05BT29YMWhUdVlTek1yZ3U0S3h1bkRHcnF3eQpQ
dUVUMHJoeFpmVEVQa2lBQkVpQUJFaUFCRWlBQkVnZ24wQkJDZ2djeCtGY0hiVWkwS09IQ0NhMjhH
MVl0Q2hRT0xDSEJreVBNSUYzCm0rQWhVaFVpT2puL0JKZ2dmZlpaTUNpMFExUXIzOGNCL2FGZmwx
QU9oM2VYNFBTKzFWYkI2c3JSUndjTzVLNHMvSW5WQ2V6dEVmWi8KZ0NLQVZSbVhFQ1hxN0xPREg1
VDUvYnM2N2hQalFaUXNaK2FFc1VFWndwNGRMb1VWRU9SalB3K1lmQ0VxRnBTenlrcTRGMWdCZ2NM
RgpSQUlrUUFJa1FBSWtRQUlrUUFLVlRVQUR3R1pMQ0QyTDhMS1lqRC8zWEJCeDZ1U1RLemJwUTNT
bDIyNExIS3poY0EyL0Q0U2toUWtXCm5OQVIrUWxtUC9EUmdOS0J6ZnFRc0lLQnFGYnd3VUEwTElT
NXhmSE5Od2NPNEZqVlFEdUU5RVYwS2t6dVAvMDBXRzJCcndWV014QjkKQ3ovd2VVQy9pUDZFMVJi
NG9vUVQ5czNBK0hyMkRFcXdRU0NpU2prRjVJMDM4aDNJVVF0TzQzRUpTdGZoaHdlckovQUJ3WGh3
UFkwYgpCeTFnYW9ZOE9JK0hFM2dpRFBESEh5L3ZHQit1VzY3eko1OE1sSjhtVGNvbGtYSklnQVJJ
Z0FSSWdBUklnQVJJSUR1QmFrWlQ5dXJwCk5iRmlBUVVCVWFpd3Z3VVNsQmFzUGtBUlFSUW03QjNp
Si9pUCtCdjMrV1ZweDVqc0kzb1ZUTDkrK0NIb0F4RzVzQU00L0ZHaWtvdFUKRlJlcU42cU5ud2ZI
ZWlnczJEL0VKYXdLaFozYlhWblNKOFlOczdES1NsaDlBak1vakV3a1FBSWtRQUlrUUFJa1FBSWtV
TmtFTXErQQpaQjBZVmgzZzQrQW5LQjlJY1JHZmlsVStzTUx5ekRNaWwxNGF5SGUvc1JMaVZpQmNu
ditKZHRoSkhLc2s1WnI4RjZOOFlFemw2dCsvCnZyampLNjRJTm9xazhoRkhpUGtrUUFJa1FBSWtR
QUlrUUFJcm1rRFpWMEJXOUlCOStYQm1oeThEd3Z0aVZRSytJekNKd3A0aCtFbEsKMkVIODZhY0Qw
NjJrZWxGbFU2Y0crNDFnRi9OVkpXRS9GaWlIQ0FYTVJBSWtRQUlrUUFJa1FBSWtRQUlyaThBcXJZ
QUFHdndyTUxsRwpwSzE5OWhGcDJuUmxvV1MvSkVBQ0pFQUNKRUFDSkVBQ0pFQUNhUVJXZVFVazdR
SlpUZ0lrUUFJa1FBSWtRQUlrUUFJa1VIVUlMUFBPCnFEb0Q0a2hJZ0FSSWdBUklnQVJJZ0FSSWdB
VCt2QVJXcWdMeTQ0OC95dWR3eGloRCtsMDM0SGp2dmZkaUphV1Z4emJVZ2xMYUpzbGwKR1FtUUFB
bVFBQW1RQUFtUUFBbXNiZ1JTRlpDSE5hWnQ4K2JOcFpwdTc3MnZ4cDQ5NVpSVDVHVGRBT1JvM2ZW
djY2MjMxazBGTmE1cgpFV25FaUJHeXNXNHpQbmJzMkNKYTV6ZDU1WlZYWlB2dHQ1ZGV2WHJsRnl3
N1N5dVBiSlN4cmM5bkgzVkNtVHg1Y3FTNGc5VXJ2bmJ0CjJyTC8vdnZySGloSDZwNGxhOHJtdWpW
N0Y0MGh2TWNlZTlqelVhTkc2WWFORCtubWpWdGEzbnZ1dWFkMDc5NWQ5MG81VUE3UzJNSFAKSm0z
ekh0a3JNMG1BQkVpQUJFaUFCRWlBQkVpZ2FoRklWVUF3V1Q3dXVPUHNxQWNNR0NCMzNIR0hqQnc1
VWg1NDRBRjUrZVdYZFhOQQozUjJ3aUhTcWJwbU9DWGs1MGk0YUNxdHQyN2E2eDRodU1oS1Iwc29q
bXVTeTB0cjZmQzdWZU1EN3hXdys4cHR1UHo1cjFpemRTSEdpClFHbFpSME5TWWN5UFBQS0l2UERD
QzdxbnlEOTFMNU5mcEp2dVpnamxEdWxXM2IxeHpKZ3hNbUhDQk5sMjIyMmxYYnQyOHRSVFQrWEcK
eGdNU0lBRVNJQUVTSUFFU0lBRVNXTlVJcENvZ3VLQ05sbTNnZ1ZVUVAwSDV1T1dXVy95c2dvNmhN
SVJsRmlSQUsvK0JYUTQxcmFXNwpIcTZ4eHZLWGsxWnVHOGY4eXRyVzhha1Z0ZDM1TXRubm4zKytY
ZkdJNlVxZ2tHMnpMSzZ2aytkZkQxYWRzR2ZrK1BIajQwUXdud1JJCmdBUklnQVJJZ0FSSWdBU3FQ
SUhsWit3RkRQbWlpeTZTdW5YcjJoWno1c3dSbkdPaS9jUVRUOGdPTyt3Z08rKzhzMHlmUGwzZTFB
MDcKWUdyVW9FRUR3U3FLbnhZdlhpeDkrdlNSZXZYcTZWNGVPOG03Nzc2YksvNUtOL1dBdkwzMzN0
dVd6Wmd4STFlR2RtZWNjWVp1S0hpdApuSGJhYVRKejVzeGNHUTdTeWt1Um5kZFJ4cE9PSFRzbTF0
eEF0NGR2MDZaTmJKMjMzMzdibG9WWFdLNjU1aHJkQzBVM1EyRWlBUklnCkFSSWdBUklnQVJJZ2dW
V0FRRUU3b2NNVWFQYnMyYkowNlZKNTlkVlhyWExocmhFckdmQi8rUGJiYisxRStzVVhYNVRqanov
ZW1tK2QKZU9LSkFwK1BvVU9IeWhXNkhmZnBwNStlTTc4YVBYcTBEQnc0MFBvNG9CNThKZDUvLzMy
N01uTENDU2RZbndoTXpxRnNkT3JVeWZhUApGUUtZUGgxNzdMSFdaQWtyRlgvOTYxOXpLd2dZVTFJ
NW5NcExrZTJ1dVRJK3Y5T05Uc0FWekE3UkhSZmhDK0luK05FMGF0VEl6K0l4CkNaQUFDWkFBQ1pB
QUNaQUFDVlJaQWdVcElEQ1pndThDSEtpclY2K2VkMUZiYkxHRmRRUmZzR0NCZE83YzJaWWRkdGho
TW03Y09JRnYKQkZMdjNyMmxYNzkrOHNrbm4rUVVFUGlYWUdLTk5HalFJT3QwalFuM29rV0xyTW5S
dEduVGJCbFdUeUQ3ZWQxMUVLc3VVSWJ1di85KwpXd1pUSlRocVF5NFNWa3FTeXVHREFYT21ZbVRi
RGlycDEzbm5uU2R3b0lmQ2hKV2tsaTFiTHRjekZEUDhNSkVBQ1pBQUNaQUFDWkFBCkNaREFxa0Nn
SUFXa2ZmdjJzdXV1dTlycmdxTTBKc2grQ3Z0ejFLeFoweStXRFRmYzBKNURrWERKOTV0bzNicTF6
ZjdnZ3c4RVAzaTcKRDRVSENlWkpreVpOc2hHNTdydnZQbW5XckZuT053WGxOV3JVeVBtVFRKMDZO
YkVjay9saVphT3Z5a3BEaGd5UnQ5NTZ5enFsUC9qZwpnNUVLU0dXTmhmMlFBQW1RQUFtUUFBbVFB
QW1RUURrSUZLU0FoRHNjUEhod09DdnZIQ3NUdmxMaUgrZFZYSGF5MldhYkNaUVcvQ3hjCnVOQTZs
b2Q5SGxEMXM4OCtzK1ZoR1U1K1dua3Bzc045cnVqem80NDZ5a2JPd3VvUXd2eENDV1FpQVJJZ0FS
SWdBUklnQVJJZ2dWV1YKUUVsTzZEREp3a2FDemhTcVZBano1czJUSDM3NHdUcXdZNDhNckhnZ05L
MUxNSnZDNmtiRGhnMnRPUmI4VWFKU1dua3BzcVA2UzhvRApuN3Z1dWl1cFNtb1p3dkUyYWRMRSty
eDgrZVdYcWZWWmdRUklnQVJJZ0FSSWdBUklnQVNxS29GTUNnajhNWkNXTEZtU2R4Mi8vdnFyCmpV
QzExVlpiMlh6c2RRRi9CWmRRam5Qa0k4RjVIY21GdDhXeFgzL0tsQ2tDdjVGV3JWcEpqeDQ5QkpH
cUVKNFcvYytmUDErdXZ2cHEKdTBrZjlzcEEyTjNodzRkRGhFM1lCUjByRzVDWFZsNktiTmVmLytu
NCtOZUZjbHcvTmtkRVJEQS9vUjVZZnZQTk4zNTI3dGlacURtNQpXQkhDdml0ZmYvMjFWVUw4ZnVE
SEFsTXRKaElnQVJJZ0FSSWdBUklnQVJKWUpRam9xa0ppMHAzS2pmcGJHTDBZbzV2aG1XT09PY2Ir
CmFEUW1VNmRPSGFOK0hVWVZDNk4rRlVaWEhveUcwelc2WTdlWk8zZXUwWWhXdHQxVlYxMWxORHFX
MFpDNTlsd2pWQmsxa3pMSVY4ZHEKbytaRlJpTmhtWFBQUGRkOC8vMzN1ZkVNR3piTXFMTzdVZE1x
Mjllamp6NmFLOVBvV1VZbjVrWjNhVGVRcDQ3c1p2ZmRkemZJUjBvcgpMMFYyYmhCNjRQUFJNTUpH
bmVxTktrQkd3KzRhOVRPeDQxYUZJZGRFZlRxTUtsV1dnL3EvbUJ0dXVNRm9wS3RjdVc0OGFKbzJi
V3JMCk8zVG9ZSFNUd2x4Wi8vNzliYjVHQXpQdnZQT096VC9ubkhOTS9mcjE3VDNJVmVRQkNaQUFD
WkFBQ1pBQUNaQUFDVlJSQXRVd3JwV3QKS2NHc2FKTk5OckdyR3VHeFlLWGcwMDgvRmZpSFlOWERU
MWp0d0NvQjJzSlVhOTExMS9XTDdXcElVbmtwc3ZNNldva251SDI0OW1KMwpwRitKUTJmWEpFQUNK
RUFDSkVBQ0pFQUNxeUdCS3FHQXJJYmNlY2trUUFJa1FBSWtRQUlrUUFJa3NGb1N5T1FEc2xxUzRV
V1RBQW1RCkFBbVFBQW1RQUFtUUFBbVVuUUFWa0xJanBVQVNJQUVTSUFFU0lBRVNJQUVTSUlFNEFs
UkE0c2d3bndSSWdBUklnQVJJZ0FSSWdBUkkKb093RXFJQ1VIU2tGa2dBSmtBQUprQUFKa0FBSmtB
QUp4QkdnQWhKSGh2a2tRQUlrUUFJa1FBSWtRQUlrUUFKbEoxRGxGQkRkYTA4KworS0RzMXhrcGNQ
SGl5T3lWbHZuamo2SWhoNHZyWHZjOGxCZGZyR2diUHE4b0tmL1JUeitWWHlZbGtnQUprQUFKa0FB
SmtBQUovRGtKCnBDb2dCeDhzVXJ1MnlQNzdpeHg1cE1pYWE0cHN2cmxJbHk0aWUrd1JuSThhVlQ0
NGZmdUs3b1plUG5seGttYk1FQmsvUHE2MDh2TjEKbzNPcFYwL2t2dnNLNy91bGwwUjIzbG5raUNP
Q3R1SHp3aVVXMXVLVFQwUWVlcWl3TnF4TkFpUkFBaVJBQWlSQUFpU3dlaExJMzlrdgpnc0Z2djRu
TW1oVW9IU2hlYnoyUnRtMUY3cjQ3cUh6amphSWI0UVhIeGZ4MmIrcjMyU2RvZmZYVkl0OThVNHlr
N0czR2poWDUvSE9SCjNyMkROaE1taUx6N3JzZ0ZGK1RMbURsVFpNUUlrWC8rVStTLy94VVpOeTYv
M0ozcFBvaFdWcTllSXAwNmlaeDRva2kxYWtIcHlKRWkKVUFqOGhESW9kVkRrampsR3BFWU5rYU9Q
RnJuMldyOVc5dU5kZHhYcDJUTVlKMXFGejdOSXdyWE5teWR5eGhsQjdTbFRSS0FVWVVXbQpjMmNS
WEp0TEYxOHNjc0FCd1hPQXZCWXRSTlplVytUeXkwWDY5M2UxK0VrQ0pFQUNKRUFDSkVBQ0pFQUN5
eE5JVlVET1A3OUMrVmkrCnVjaXBwNHE4L25wVVNYUWU5bDEzazNNb044Y2VLN0x0dGlKT0FkbDRZ
eEg4RkpwOHVVbHRkZE4xR1RSSTVOVlhLMm85L25pZ2FDeFkKRUpTNUV0VEJpc1N3WVNJMzNDRHk3
TE91SlA4VENzY3JyNGhBWVlHc3VYTURaUUpqdXVxcVlHS2YzNkxpN0k0N0tzYUNTYnhqVTFFagoy
OUU2NitTM0RaK25TWUdTZFAzMUlqdnVLTEp3b2NpaGh3WXJNamgrK21rUktJcG5ueDBvaDFqeEdq
dzRVTHFHREFra2I3bWw2TTd6CndhclNRUWVsOWNaeUVpQUJFaUFCRWlBQkVpQ0IxWlhBR21rWDNy
RmpjbzBOTmhCcDB5YW84OVZYSWxCWTl0NWJaS2VkUkdEbTVCSk0KZERDUng4UjE5OTJEM0p0dUNp
YnNlUHQrL1BFaUgzNFlsTysyVzFDT0NYLzM3aUo5K29qY2VhZklGbHVJTkdzV1RQQ2RYUGh4bkhX
Vwp5RFhYaUhUb0VOUy83anFSYWROY2pmelBLNitzTUZWeUpjT0hCNG9VMnFFdmx6Q2ViYllSV1V2
Vk5Ld0lRS0Z3UDI2Vlp1TEVZR3d3ClZZUGlBVjRQUGhoSWdES0JsUmFZVm1HbHlMWEY1L2ZmQjBv
TlZwYysrc2oxS1BMSEh5SXdRL3ZiM3dMRkRESmRTdUxyNnNSOXdyOEUKbkxES0F4TzNjODRSK2Zu
bml0cFl1Y0I5Z1prZFZtTnV1U1ZRbk41NVIyU0hIUUxGRE9QK3kxK0M2enpoQkJIY1B5Z29MaDEx
bE1nbApsd1NLaU12akp3bVFBQW1RQUFtUUFBbVFBQW40QkZJVkVMOXkwakhlZm1OUzJxOWZzRkt3
eXk2Qk9kSzMzNG9zWFJxOFhULzlkQkdZCjc3UnVIVXkwTDd4UXBFRURrYTVkUmU2OVYyVEREWVBK
N1p3NVFVOHc3WG50dGVDdE9pYnhVQUtRQmc0TVB2SDdycnRFMWwwM21MUmoKa2c5RkJ4Ti9UT0Nq
RXN5dldyVmF2Z1J0NnRRSmxJSmJidzJVQlpobXRXdTNmTjI0SEt3NllITC94UmR4TlNyeWE5WU1U
SnVRQThYQwpKWXdQQ2h3Y3lzRjB3SUNnSkltdmE1djBpVlVKbUdaaEpRZDlZTVVEeW9aTGEraVRj
T2FaZ2NrVjdoMk9rWm8yRFV6S1lKNzEvLzVmCmtBZmVXUFZCUXI1THVGL3Z2MSt4b3VQeStVa0NK
RUFDSkVBQ0pFQUNKRUFDamtEWkZKQ0hIdzRtN1ZoNXdLb0FGQXVZTkQzL3ZBaVUKRUpocFlVS1Bk
TW9wUWQzZ3JNSjBDQXBBeTVZVlpWQTZzT3FCUEt3d2JMYVp5TDc3QnBOYzF4WW1VczVrQzZaY2tJ
R0V1dUUwZjc3SQpkOStKMUsyYlg0STh5SUg1Rkh3YjRCc0MwekxVdit5eS9McHBaN1ZxQlNzTFdD
MUlTL0Q5UUVML0x1RTZvZlJzdW1sZ2x2YmVlMEZKCkVsL1hOdTRUOStPRkY0TFZJZFNCcVJjVWlD
ZWZGSmsrdmFJVlZyT1F6ajAzK0hTLzk5c3ZPSUtmakV1NHYwaSsvdy9rd3JkbDl1eWcKakw5SmdB
UklnQVJJZ0FSSWdBUklJRXlnYkFvSUpySlFCTEFLZ0IrWVpVMmFGSmhpd1VrYkVab09PU1I0czk2
NGNSQTl5dzNHOTN2QQpjZEk1Vmc3OFNTL08vVWwwL2ZyQm0zNG4yLzkwcGs0d0kvSVRWbC9ndzRD
Vm1URmpSTGJlV2dTK0dYQ3EzbWdqdjJiNnNULzJ0TnFJCktJYmtLeXQrZTB6bVlUcUZsTVEzcUJI
LysrV1hBOFVNQ29KTGYvOTdjSVFWSnBmZWZETUlNdEMrdmNzSlByZmFTZ1FySkZBbzB4THUKUjJX
RlVVNGJDOHRKZ0FSSWdBUklnQVJJZ0FTcUhnSDFiaWhQZ2k4QWZDWGMyL0t3VkVSVWF0aFE1T2Fi
ZzZoYVR6MFZtRnlGNnhWNgpmdDU1UVFRb1RKNnJWeGRaZi8zQWhDbEtqbHNkZ1VPMW55WlBGbkVU
Y3BpQllTVUU1a3FQUGJiOGFvRGZyaktQMC9nbWpRVitNbWdQClpjYXR1bUJWQ2ZmTDM4TURQamRZ
ZlVHa016OUIrWUFpaGoxYTBoSUNDK0FlTUpFQUNaQUFDWkFBTTVTNWZBQUFJQUJKUkVGVUNaQUEK
Q1pCQUZJR3lyWUFncEN4V1BQelZDYnpabnpwVkJKR25ZTTZFaUVrd0I0S3lnSlVHbC95My9pNHY2
K2VCQndZbVhaQ0xLRlJ4a2FvZwpEMk9FLzRKdjhvUjg3R01CY3krWFlQWUYzeExJY3VHR1hkbksr
a3ppbXpZbU9PN0Rod1NSdWx6Qy9ZQnZUdlBtUVE0VUI1aHB4Zm04CllIVXJpd0lDZjViR2pWMHYv
Q1FCRWlBQkVpQUJFaUFCRWlDQmZBSUZLU0NJMExSa1NmUStIVDE2Qk03VThKMVl0Q2hRT0xDbkIw
eWIKTUhGMUc5VWhVaFZDdkxvMzhYaXovdGxud2FEUURtL3JFWjNKbVNXaFAvVHJFc294bVhZSlR1
OHdFVUpVSjBSdkNyKzlkL1h3aVRmNQoyMjIzdkk5Q1dBRkJYZXpuQVlkeVJNWENaTDB5RXE0TlB5
NkJnNHRVbGNRWDljRUpTb1JML2ptYy9PRlRBZ1hSSlNoclVFeXd3U1FTCm5OTFJ0d3VIRERNcWhO
MTFQL0RqY2Zja2FMSDhiOXhuakFGTzdFd2tRQUlrUUFJa1FBSWtRQUlrRUVVZ3N3THk5dHZCSm5W
UUJwNTcKTGdncmkxQ3lMaUVDMG0yM0JZb0czcGJESVJ6UnBobzFDbW9nc3RUdHR3Zm1UVkE2WEFR
bXJHQ2c3S1NUZ2tud3YvOGRtQVhCVk91WgpaNEpWRFVTRVFramYvLzB2V0VGNTY2Mkt5VFJXTXhC
OUN5c2JNQ21DRHdnaU9HRUNIcFd3THdmTXYxekNOVUFHbk1mRGFlalF3SnpvCjQ0L0RKZVUveDNY
RFJ3VXJPWERZaDI4R2poRUsrSWtuZ3MzKzR2akN4d09oZjZFQUlOUXhOazMweitIN0FiTXltSlJo
cjQvLys3K2cKL05GSEEyYTRHa1FZZzY4T0ZEUWs3UFdCKytKKzRQK0JlNVdVNE5RT3hhMUprNlJh
TENNQkVpQUJFaUFCRWlBQkVsaWRDVlF6bXNvSgpBQk4vN0o2TktGUlFDSkNndEdEMUFXL1JNUmwy
MFphQzBzQS9BWlBmWWhKQzhuYnBFcGgrL2ZCRDBBY2lSbUdIOFRoL0ZJU2t4VVE5CkxsU3ZQdzZZ
bEVHNXFTb3BpbS9Xc2VGT0k4UXg3Z1hNekVwSlVJd1FvaGNySjg1L0JpdGJ1QjlRUnBsSWdBUkln
QVJJZ0FSSWdBUkkKSUlwQTJSV1FxRTVXVkI1V1ZLQnN3SW5jVDFqaHdBUWJFK1NvaE0wQnI3MDI4
RW1wU3NwRjFGaXJhbDVZQWJuaUNoRkV6OEllSmt3awpRQUlrUUFJa1FBSWtRQUlrRUVkZ2xWWkE0
TXdPZndPRTk4WE82L0NYZ0JNMDl0TEFUMUtDRXZMMDA0SDVWbEk5bGtVVFFQUXNLSDU3CjdSVUVG
VURvWllReFppSUJFaUFCRWlBQkVpQUJFaUNCSkFLcnRBS0NDNFAvQmpZN1JLUXRPRkRIclhva1FX
QVpDWkFBQ1pBQUNaQUEKQ1pBQUNaQkE1UkJZNVJXUXlzSEVYa2lBQkVpQUJFaUFCRWlBQkVpQUJN
cEJRTjJSbVVpQUJFaUFCRWlBQkVpQUJFaUFCRWlnY2dpcwpWQVhrUjkyYSszTTRZNVFoL2E2Ymc3
ejMzbnV4a3RMS1l4dHFRU2x0aytTV3E2eWNITXMxcGtMbFZIWEdoVjRQNjVNQUNaQUFDWkFBCkNa
QUFDVVFUU0ZWQUh0WXdVODExdSt4cXVsMzV2dnZ1SzZlY2NvcWNmUExKdXVuZjBiTDExbHZycG9J
YWU3V0lOR0xFQ05sWU53d1oKTzNac0VhM3ptN3lpVzN4dnYvMzIwcXRYci95Q1pXZHA1WkdOTXJa
OVVqZS9BSjgxTkxidHVISGo4a1M5Kys2N2N1eXh4MXAyNFBhWgoyM0V4cjFacEorWGtXTnBJaW0r
ZGRuLzhaM0FmZGZTWkhBNTd0cXpyZ3pYeVFPM2F0WFZ6eGYxMW41a2paYzAxMTVUTmRRdjVMaHFu
CmVZODk5ckRubzNTRGs0ZDBWOHd0ZFlkTVBOTjc3cm1uZE8vZVhmYzRPVkFPMHZqTXp6NzdiUEVY
d3BZa1FBSWtRQUlrUUFJa1FBTHAKQkxBUFNGb2FNR0NBN2lBaFp2cjA2WGxWdi8zMlc5T3RXN2U4
dkVKTzZ0V3JaNFlNR1ZKSWs5aTZaNTExbGxFRnFlankySVpha0NaNwo0c1NKbGsrdFdyWE1CeDk4
a0NmcXQ5OStNM1hxMURGLy9QRkhYbjQ1VDhySnNaempLa1JXR21QM0RENzExRk94WWp0MDZHQSsr
dWlqClhQbTY2NjVyZXZic21UdS80WVliakNwczlyeHYzNzcybnIzKyt1dTU4b3N1dXNpb1VtSndQ
NWxJZ0FSSWdBUklnQVJJZ0FSV0RJSFUKRlJDb01CdGg2M0pOZUdQc3AvWFdXMDl1dWVVV1A2dWc0
N1YxVjhLd3pJSUVhR1dkMk5zbWErbXVoMWlGQ0tlMDhuQjkvenhyVy9SOQprbTdscnNxR2RPN2NX
Y01CYXp6Z1pRbGxPKys4YzhuWDZlUkZmWmFEWTVSY2ZlU2lzcGZMVzdwMDZYSjVXVE95TW5iUG9D
cDVzYUxQClAvOTh1K0lSVitIVVUwK1ZiYmJaeGhZN2VmNHpnNVU5WFBQNDhlUGpSRENmQkVpQUJF
aUFCRWlBQkVpZ1JBTEx6OWdMRUtodmpLVnUKM2JxMnhSemRZaHZubUFRKzhjUVRzc01PTzlpSnQ2
NmF5SnU2WVFmTVlCbzBhQ0Q2Smp1dmg4V0xGMHVmUG4xRTMrTHJYaDQ3Q2N5VwpYUHBLTi9XQXZM
MTFkenVVelpneHd4VUoycDF4eGhtNm9lQzFjdHBwcDhuTW1UTnpaVGhJS3k5RmRsNUh5MDVhdG15
cHU2c1BremZlCmVFTk9QLzMwdkNvd0JYSUo1aitOR2pXU29VT0gycXd4WThaWVV6WmNBMUpsY3B3
MWE1WmdVbjZGN2lMWXYzOS8wWlVhZWZubGw2MkoKRXE1bDhPREJzdnZ1dTl0eFJmMTY1cGxuNUxy
cnJwTWJiN3hSMnJScEkyKzk5WmF0QmpNbW1EWGh2dDU1NTUyNktlUVcwcXhaTTVrNwpkMjVPVE5y
OXlWVXM0S0JqeDQ2SnRUZllZQU03enJoS2I3Lzl0aTNhYjcvOTRxb3dud1JJZ0FSSWdBUklnQVJJ
b0ZRQ1dSWldicnZ0Ck5tdXVBck1WdGFFM2Q5MTFsem56ekRQTmpqdnVtR3V1RTJlalNvZFJtM3Z6
eUNPUEdKMWdtcTVkdTVxbVRac2FtTThzWExqUVhIWFYKVmRiRTVadHZ2ckh0TnQxMFU2TnZwTTNq
ano5dXBreVpZaG8zYm15YU5HbGlZTGFrYjlYTkFRY2NZTDcvL251akRzcEdKOHJXbEduUgpva1cy
cmRyckc1MjgyMk9VTjJ6WTBMUnYzejQzbnFUeVVtWG5PbGwyb0Q0SjVxYWJickpuNnV0aFdRMGZQ
anhYVFgwVGNzYzRVQVhFCjZJUS9sd2ZUSWJCQ3FreU9NS2xUbndtai9qUDJub0h4TysrOFkzVEZK
amUyODg0N3ovTFBaU3c3K1BYWFgrMTE0TDRoL2VNZi96QzYKK21PUHYvenlTN1BWVmxzWlZUcU1L
cVBtNDQ4L051b3ZaTURHcGFUNzQrcjRuKzRaVkNYVXowNDhEcHRnK1pWVmFiTDNTUlZHQTFOQwpQ
TE13bFR2a2tFUHNzK2ZYNVRFSmtBQUprQUFKa0FBSmtFRDVDS3hWaUFJRFU1OTFkTXRydk5Hdlhy
MTZYbE84NVlZaitJSUZDNndaCkVnb1BPK3d3NjVoOTZhV1gycnE5ZS9lV2Z2MzZ5U2VmZkdLZGha
RjUzSEhINlU3bXVwVzVwa0dEQnRrMzUzQXlWa1hEbXNOTW16Yk4KbG1IMUJMS2YxMTBIc2VveVlj
SUV1Zi8rKzIwWnpHamdSQXk1U0ZncFNTcUhVN01pbEdKazJ3NFNmc0VrRGFzeDU1NTdybDIxZ2Zs
VgpPTUYwelRjOVczLzk5WFBubGNteFU2ZE9kbVZDRlQ5N3oyQStwb3FpcUYrRTVRZW1jSjRIcTNE
Q3MzREVFVWRJcTFhdGJCRUNDcmpWCks2eG00VHBxMUtpaE85SUhXOUlqZ0lGYllVaTdQK0crVnVT
NUtsZ0NKM2hFNGNKcUhWYXltRWlBQkVpQUJFaUFCRWlBQkZZY2dZSk0Kc0hTRlFkVHAzRWJBVW9k
ZTJXdXZ2ZkpHNWsrcVVWQ3paczI4OGcwMzNOQ2VRNUZ3eWJmcGI5MjZ0YzFXUjI0N0djU2tGZ29Q
Zm1EaQpNMm5TSkR1cG56cDFxcDA0T3p0K05NSmsxL1dmVm82SlpyR3kzYmpqUHZXdHUramJkSUdT
QWJNelhlMkpxeHFiNzY3RFZWaFJIQ0VmCjQ0VHBsVXViYkxLSlZTeWdGT29xbDBBNThVM0lYRDJN
RWNxV3JoNVlNNnpubm50T2Z2amhCMWRzNzRWL0hiaUdYMzc1eFphbjNaK2MKa0VvNDBDQUlvcXRW
OHROUFA4bUREejVZQ1QyeUN4SWdBUklnQVJJZ0FSSll2UWtVdEFJU1JnVWZnYVNFbFFsL0V1b2ZS
N1hiYkxQTgpyTktDeVNyZXhNT0JPOG9lSCtGc1VSNU9UbjVhZVNteXczMUduYXNabWR4enp6MTJC
YWhIang2Unp2RlI3ZUx5VmhUSHVQNGVlT0FCClVaTTJ1Zm5tbXdWK0locDVTcHp5NkxkQkNPQVhY
bmhCMUNSUFJvNGNhZjFIL1BLNDQ3VDdFOWR1UmVVZmRkUlJvcEd2N0FvY3d2eEMKMFdZaUFSSWdB
UklnQVJJZ0FSSllNUVFLV2dFSkR3Rm1PTmhJMEpsQ2hjc0xQWjgzYjU1OWl3NEhkdXpmZ0JVUDk5
WWNzbUFLaExmbgptQnhqRldYMjdObVJYYVNWbHlJN3FrTkVjbkxSbkZ3NTlrZTU4TUlMN2NUV1gv
Rng1ZUg2THI4Y24xazVSdldsL2hzeWYvNTh3Y29BCkp1VUlJQUJIK1hCU1h4RWJCT0Q2NjY4WFBB
ZUZwTFQ3VTRnczFNVXpDQ1dvbEhUcnJiY0tGRWZzMndJR1RDUkFBaVJBQWlSQUFpUkEKQWl1R1FD
WUZCUDRZU0V1V0xNa2JoVG9pMndoVTZuQnM4eEdHRnJiMExxRWM1OGhIY3VGYS9jbTNYMThkbXUy
cUFmd0tzSEtBU0ZXSQowb1QrTVNtKyt1cXI3UVp5TUFQRDZnaE1aMXpDTHVoWTJZQzh0UEpTWkx2
Ky9FK1lXV0Y4NFlTSVg5am9McHpnWi9EU1N5OVpubEFXClB2endRL242NjY5ejFTcUxJenJFUGZI
REJtTWNpTlNGcE03eGRxTkptTGVGRS93OWNCK2hpSUE1VExDZ0xFSkp4QStlRmY4K0krcVYKdTlk
cDl5ZmNGODdkTStqTFJENmVNV3hBQ2FYVlQ2aUhNY1Nad0RtbDBNbkZxaHRXZm5EOVVFTEMvZml5
ZVV3Q0pFQUNKRUFDSkVBQwpKRkFDQVowc0ppYmRxZHhHTTlJdXpMYmJibXVPT2VZWSs0TW9Sb2dh
cEtZNU5tb1FJaXJwbTIyRFRmRTBES3ZSa0tzRzBaL1FEdEd2CkVHbElRK2JhYzkybDJxZ1pqczNY
eWJoUjUzTXpjT0JBbzQ3Yk51cVZHNUNHZ2pYcTdHNGpaNkd2Ung5OTFCV1owYU5IRzUwMEd0MkYK
M0VBZW9oZHB5RmliajBwcDVhWEl6ZzFDRDNUMXg3Um8wY0tvazd5QnpIRFN0L04yYkg2K2hxODE2
b05pSTM3cEtvblJFTHltWGJ0MgpOaEpZWlhJRUl3MU5hOGV1U29jZG9vYlNOZXBBYmpmc2UreXh4
NHlHT3JaUnlmeng0MWg5Sm16MExGVk96QWtubkdCMDd3eWp6dlQyCjJVQlVNUFhQc2M4RHJnZWIv
U0VhR3U3bDAwOC9iVVdsM1IrL1AvOFoxSERNUmdNWDJBMHdOZXl1NVloblF4V0dYQk5jQXlKNjRk
bkQKNXBEWWdQQzc3NzdMbFNONkdzYURja1FnVXpPeVhCbWlreUZmSGZSdFJMQmNBUTlJZ0FSSWdB
UklnQVJJZ0FUS1FxQWFwT2lFYTZVbQptTHpBK1Jtckd1R0V0OWlmZnZxcHdEOGtYSTQzNm5pRGpi
WjQrdzRIY0QrbGxaY2kyKzhuN1JpTzJyN0RQT3FqYjR3UFR1Qlk4U2pVCmpDbXF6Mkk1K3JMdzVo
OCtKeGd6eG9TOU01SVNWazl3RFVpRlhrZmEvVW5xbDJVa1FBSWtRQUlrUUFJa1FBS3JKb0Vxb1lD
c211ZzQKYWhJZ0FSSWdBUklnQVJJZ0FSSWdnVUlKWlBJQktWUW82NU1BQ1pBQUNaQUFDWkFBQ1pB
QUNaQkFGQUVxSUZGVW1FY0NKRUFDSkVBQwpKRUFDSkVBQ0pMQkNDRkFCV1NGWUtaUUVTSUFFU0lB
RVNJQUVTSUFFU0NDS0FCV1FLQ3JNSXdFU0lBRVNJQUVTSUFFU0lBRVNXQ0VFCnFJQ3NFS3lsQ3oz
L2ZOSE45VXFYUXdra1FBSWtRQUlrUUFJa1FBSWtVSlVJVkRrRkJQdnhmZkJCNVNEU3ZmRldldEpO
dk9Xbm41WWYKeHNNUGkyNkt0M3oreXNqNThVZlJVTWpSUFVlTlBib21jMG1BQkVpQUJFaUFCRWlB
QkVoQUpGVUJPZmhna2RxMVJmYmZYK1RJSTBYVwpYRk5rODgxRnVuUVIyV09QNEh6VXFQS2g3TnRY
ZERmMDhzbUxrelJqaHNqNDhYR2xLejVmTjI2WEF3NFE2ZGhScEc1ZGtYUE9XZkY5CkZ0T0RiZzR1
OWVxSjNIZGZkT3RQUGhIZE9UMjZqTGtrUUFJa1FBSWtRQUlrUUFJa0VDYXcvTTUvb1JxNlI1N01t
aFVvSFNqQ25uTnQKMjRyY2ZYZFE4Y1liUlRjQkRJNkwrZjNycnlJdnZpaXl6ejVCNjZ1dkZ2bm1t
MklrWlc4emRxd0lWaDU2OXhhWlAxL2s4c3VEdHRqSApzSDU5a1FNUEZObGhoeUJ2NlZLUnM4OFd3
YWVmd0tGT25VQ0oySG5ub0dUbVRKRVJJL3hhSXRXcWlkU3FKYnFSb2tqWHJzRmtYdmY2CmswbVRS
RWFQRnZuTFgwUXdIaWgzcDV3aTBySmxSZnRISGhHWlBWdTFSRlVUZGE5RjJYUFBRR0dCVEd3ZmlY
R0JuNStxVncrdVliLzkKUkZxM0Rrb0t1WWJodzBWZWUwM2t6RE5GdHR0TzVPaWpSYTY5MXU4aC83
aEZDOUVOQ3dPRy9mdm5sL0dNQkVpQUJFaUFCRWlBQkVpQQpCTUlFVWpjaWZPcXBZTkxyR21MaTNi
MTdoUUlDRTV6WFh4ZHAwOGJWU1A3RXhCa1RhQ1FvTnoxNmlHeTdyUWhXUGtwSnZ0d2tPYnJwCnVo
eDBrTWlycndhMWJyOWQ1TlJUODF0Z2ZOT21CZGMwWllwSXUzYjU1ZjRaNnFJT2xMTFRUbHRlQWZI
clFnbDU5OTNndXFIc3JMTk8KVUFvVHA0WU5SZDUvWDZSQmd5QnYwMDBESmNsdmoyUGNqdzRkQXFV
dGpmbUVDWUdDVk1nMTRIN0EvQXViMG4veGhlZ083aUt0V2dYMwovTkpMdzZPcE9ML2tra0JCQWxz
bUVpQUJFaUFCRWlBQkVpQUJFb2dqb08vV2t4Tk1oSkxTQmh0VUtCOWZmU1VDNSttOTl4YlphU2NS
Cm1EbTVCRE9kWWNORUJnOFcyWDMzSVBlbW0wUWVmMXhrM0RpUjQ0OFgrZkREb0h5MzNZTHlaNThO
SnI1OStvamNlYWZJRmx1SU5Hc20KTW5ldWt5b0NQNDZ6emhLNTVwcGdZZzdsNkxyckFnV2lvbGJG
MFpWWGloeHhSTVY1cjE3QmFnSVVtQ1ZMUkdBYWhWV1FmLzg3cUxQdgp2aFhscUlNZnJHRGdXbSs1
SlRpSFVvQ0UxUU5YeDMzKy9ydklPKytJSEg2NENNeVZvSUJzdUdHRjhvRjJVSUtHRHExUVBwRDMy
V2NWCmZYMy92Y2pUVHdkS3dUMzNvRFJnK01JTHdmSC8rMzhWL1VLcEEwZXd3Z29LVWlIWGdGV1pa
NTRKVnJYKzg1K2dQWDdqbXFFay91MXYKZ2NMbzN3T1VIM1dVQ0pRUVhDOFRDWkFBQ1pBQUNaQUFD
WkFBQ2NRUlNGVkE0aHFHOHpIeFBPRUVrWDc5UktBNDdMS0xTS2RPSXQ5KwpHNWd2WFgrOXlPbW5p
MXg4Y1dBYWhBbnRoUmNHazI2WUp0MTdiekF4eDhSMnpweEFPc3g3WUE0RVh3MzRJZUJOUHRMQWdj
RW5maU5TCkZGWVRNRG1HT1JnVUhheEtZS0ljbFdEdWhEZjZVUW1tUkZ0dkxRS1RLaWdZY1FueTRi
Y0JFeWlZWWFIL3VBVHpxZWJOSzN3OC9Mcm8KbzJmUGdNTkxMd1VLVUZnTytxcFpVNlI5KzhCTUxj
MXhIaXNYVFpvRWpHRmVGcGVTcm1HdnZRS3pNZDhKSHR5Z1dNSmNEdmQ2d0lCOAp5YmhYV01GeEsw
djVwVHdqQVJJZ0FSSWdBUklnQVJJZ2dZQkEyUlFRbU8zZ3JUOU1seVpPREJTTEJRdEVubjgrVUVK
Z3BnV1RJQ1Q0Ck9xQ3VTNWdNSTJFeUR4OElWd2FsQTIveWtRZG5lSmd3NFcwK0pyb3V3VGw2NDQy
RE01aHlRUVlTNm9ZVEp1VGZmUmNvRCtFeS83eEcKamFDZXk0TkNkTUVGSWpDVjhoT1VnWVVMUmJi
WnBpSVhLeWUzM1ZaeDdvNFFSUW9LenBaYnVoeVJuMzhPVEtSZ3RvVFZJYXpjSktXMwozdzc4TXBM
cXVMSlNyZ0hqd3FyTFZsczVhUUYvbUtMQk5BeitPbGdwOGhPdURjRUs0TFBDUkFJa1FBSWtRQUlr
UUFJa1FBSnhCTXFtCmdFeWZIaWdDOEd2QUQvd1Q0R2dOVXl3NFVNUHM2WkJEQXVmbXhvMkQ2Rmx1
VUU0QndUbU9rODZ4R3VBN3ZlTWNmYnNFODZsZGQzVm4KK1o4ZmZSU2N3L0U3S1NIU2wxT0NVQS9L
QTFaWE1ESDNFMHlVNEJNRDUzQ1hKazhPZkNqY3VmdUVPUlFtOEppb3V3UU8zYm9GSm1oWQo0WEFt
VTY3Yy8zempEWkY1ODBUZ1hKNGxsWElONkF2WEQzTTNsL3g3QWtVanJJeWhIdTVGWllWUWR1UGlK
d21RQUFtUUFBbVFBQW1RCndLcEZRQTEyeXBPd0VnRHpuN2dKTXNLNXd0SDY1cHVEcUZyd200QXZS
S25wdlBNQ002WTMzeFJCQktqMTF3OU1oYUxrdXRXUmNPU28KcUxwcGVWZ2hnTmtYVmthd1VwT1VZ
RHIyNUpQQmRVZlZnNWtXRkxRaFE2SktBLzhMT0xqRFZBM21VZVZLY2Rmdzk3OEhqdks0bjRVawor
SitBUHhNSmtBQUprQUFKa0FBSmtBQUp4QkVvMndvSTlnYkJpb2UvT29HMzZGT25paUR5Rk15Zk1N
R0dlUmFVaFRGaktvYmt2MTJ2CnlNMTJoSkM1TU9tQ1hJVEJoZjlKWE1JWTRZTUJNNnhTRXRxalg1
aCtYWFJSc2lRNDRrTzVRS2pmT044VFNBQURUUHpEQ1R6UE9FUGsKNDQrRFZaaHdlYkhuU2RlQXNS
U3FmR0FjOEdscDNMallFYkVkQ1pBQUNaQUFDWkFBQ1pEQTZrQ2dJQVVFanVPSUZCVzFUd2ZDdDJJ
QwppcEMyaXhZRkNnZjI5SURQQTV5WjNXWjFDQ0Y3NktFaThGRkFRcGhYUkh4Q1FqdjRWY0RVeVps
QW9ULzA2eExLL1VoTGNIcUhyd0kyCjhzT2VGVENKaWt0WWFjRGVGcVg0S2NCWkhvb01USnl3c3VH
dUk2cFBNSUVwR3BRVXNIQUoxL0RmLzFaY0k2NEhDaFFpZWJtRXZUdXcKNmdGK3I3d2k4dkxMZ2Yr
RksvYy9FZGtMRHZIK0QzeHY0bGFZQ3JrRzlJUHg0c2NsM0ord09ScnVNVlpBRUh5QWlRUklnQVJJ
Z0FSSQpnQVJJZ0FUaUNHUTJzb0VETkVMRlFobDQ3cm5nYmZ6SkoxZE1jaEVGQ2M3WDJOd1BqdUh3
KzBCNDJVYU5BaWYwVzI4TnpIUGdvd0dsCkF4dnZJV0VsQVZHdHNKOElUSXpneEkxam1HckIrUnly
R2pEcndVb0NsQXRNMU9HVGdkVVcrRTNnVFQ2aWIrRUhTZ0g2N2R3NVdHMXgKKzJ3RVBRVy9yN29x
R0YvUG5uNXV0bU1vUmRqMWZkQ2d3T3dyU3I2VGhHaFFXUFVCSyt3WTd5Y29hZ2pMQzU4SitJRGdH
c0NnY2VPSwpXbGc1Z3BKeTdybkJDa2lTYVJNVWlxaUVsWk53S3VRYTBCYjNBNzR6NEg3c3NZSFNo
R09FK24zaWljQ3ZCL1ZnWW9hb1o0akF4VVFDCkpFQUNKRUFDSkVBQ0pFQUNjUVJTTnlLTWF4aVhq
eFVMS0FpSVF1WE1lS0MwWVBVQklYbmhoSTI5US93RS94RW9Ec1VrVE55N2RBbE0KdjM3NEllZ0RF
Ym1PT1NiZUg4VkZuWW9MMVJzZUI4eTZFSDBMRy9QQjdNcDNKQS9YUmFoaDdQVUJIeGY0cENRbHJD
VEZPY1JEQ1F0egpTcEtWVmxiSU5hVEppaXJIcWhidUJSUlJKaElnQVJJZ0FSSWdBUklnQVJLSUk1
QjVCU1JPUURnZnF3SUluZXNuS0I5SVdQbUlTc1VxCkgxaGh3YVo1NFIyNnNSTGlyeWFFKzBTN2E2
OE5Wa244ZlRuQzljTG5rSnVrZlBqMTA1UVAxSTFUUGxCV1R1VUQ4bHdxNUJwY203VFAKSzY0SU5x
Q2s4cEZHaXVVa1FBSWtRQUlrUUFJa1FBSmxYd0dwVEtSd1pvZlBBY0w3SXR3di9CSmczb1E5US9D
VGxENy9QTmhkSEtaYgphUWtyTkRDSE91Q0EvQjNNbzlyOTczOGlXSWtKbTExRjFhM012RUt1b1pC
eHdkY0VTbWZyMW9XMFlsMFNJQUVTSUFFU0lBRVNJSUhWCmxjQXFyWURncHNGL0FwTmdSTnJDQm5s
Tm02NnV0NUxYVFFJa1FBSWtRQUlrUUFJa1FBSlZuOEFxcjRCVWZjUWNJUW1RQUFtUUFBbVEKQUFt
UUFBbVFnQ093ekR2RG5mS1RCRWlBQkVpQUJFaUFCRWlBQkVpQUJGWWNnWldxZ1B6NDQ0L3lPWnd4
eXBCKzE4MDAzbnZ2dlZoSgphZVd4RGJXZ2xMWkpjc3RWVms2TzVScFRsSnl2ZGJPUUR6NzRJS3JJ
NXVFNlBrVUl0U3FhMHNaZlJZZk5ZWkVBQ1pBQUNaQUFDWkJBCmxTS1Fxb0E4ckRGdG16ZHZyanQx
VjlOUXRQdnFydU9ueU1tNkFjalJ1dXZmMWx0dnJac0thdnpWSXRLSUVTTTBwTzNHTW5iczJDSmEK
NXpkNVJYZnEyMzc3N2FWWHIxNzVCY3ZPMHNvakcyVnMrNlJ1Z0FFK2EyaW9yM0hqeHVXSmVsZmo4
UjZybTJlQUhiaDk1blpjekt0Vgoya2s1T1pZMmt2VFdmZnYybGNNT095eXk0Z01QUENEMTZ0WFRQ
V1R1aXl5dkNwbEo0NjhLNCtNWVNJQUVTSUFFU0lBRVNHQlZJSkNxCmdCeXBPd1llZDl4eDlsb0dE
QmdnZDl4eGg0d2NPVkl3WVh4WnQrZGVMMm5yOFFRQ3ArcVc2YlZyMTA2b2tiMW9GdzJGMWJadFd3
MlIKcTV1TVJLUzA4b2dtdWF5MHRnZHJ1SzJiYnJwSmQyNDMwck5uVDVrelowNnVMUlNUdSsrK1cr
clVxYU9iTXQ0dW0yNjZhYTZzWEFmbAo1Rml1TWNYSnVWcTNnL2VWdEY5Ly9WV2V4UVlsbXFEUWJv
Yk5ZNnB3Q28rL0NnK1ZReU1CRWlBQkVpQUJFaUNCS2tzZ1ZRSEJ5RGRhCnRvRUgzdVQ3Q2NySExi
ZmM0bWNWZEF5RklTeXpJQUZhK1Evc2NxaHBMZDMxRUtzUTRaUldIcTd2bjJkdGk3NVBPdWtrK2Uy
MzMzUVgKOXM0YURsampBUzlMS050NTU1MUx2azRuTCtxekhCeWo1RUtwS21mQ2l0ZVdXMjVwUllJ
VlZvZW1UWnVXNjZMWTYwZ2FaMUxaMHFWTApjMzFuT2ZESG42VytxNU0wQmxlSG55UkFBaVJBQWlS
QUFpU3d1aEJZZnNaZXdKVmZkTkZGVXJkdVhkc0NiLzV4ZnY3NTU4c1RUendoCk8reXdnNTE0VDU4
K1hkN1VEVHU2NkhibERSbzBFS3lpK0dueDRzWFNwMDhmYTM2emsyN21BYk1sbDc3U1RUMGdiKys5
OTlaOVBuYVMKR1RObXVDSkJ1elBPT0VNM0ZMeFdUanZ0TkprNWMyYXVEQWRwNWFYSXp1dG8yVW5M
bGkxbDJMQmg4c1liYjhqcDJBN2RTMnRpOTc5bAo2YUdISHBKR2pSckowS0ZEYmM2WU1XT3NLUnV1
QWFreU9jNmFOVXV3Z25LRjdpVFl2MzkvdTFLRFZTMk1FZGN5ZVBCZzJYMzMzZTI0CndyLys4NS8v
MlBxSEgzNjQ3bkQvcmR4enp6MzJ2SDM3OXJsVm9CdHZ2RkgyM0hOUCtlV1hYM1FYK1Mrc3ZOMTIy
ODJLd3FyUjQ0OC8KYmxkRWpqLytlUGtKVzc5cmd0SUhVNmUvNlRiMTIyNjdyY3lkTzlmbVIvMktH
dWZreVpQbHFLT09raXV2dkZJdXVlUVMrOHhCRnZKZApla1ozcjd6dXV1c0U0MnZUcG8yODlkWmJy
c2dxajVkZmZya3Q3OWF0bTF4Ly9mVzJMRHgrck54MDc5N2RQcnQzM25tbmJyNjVoVFJyCjFpeHZ2
SGdHenpyckxMbm1tbXVrUTRjT3RqNzZkVW9YOHJIQ3hrUUNKRUFDSkVBQ0pFQUNxeFVCZlR1Ym1t
Njc3VGE4Q2pjNk1UU2oKUm8weWQ5MTFsem56ekRQTmpqdnVtR3VyRTJlalNvZlpmUFBOelNPUFBH
SjA4bVc2ZHUxcW1qWnRhbFRwTUFzWExqUlhYWFdWMFJVUAo4ODAzMzloMmFwSmt0dGxtRzZNVFVU
Tmx5aFRUdUhGajA2UkpFNk52eDQyK25UWUhISENBK2Y3Nzc0MDZnUnVkS0JzMVpUS0xGaTJ5CmJR
ODY2Q0NqazNkN2pQS0dEUnNhbmZ6bXhwTlVYcXJzWENmTERuUnlhM1JDYmMvVTE4T3lHajU4ZUs2
YW1tbmxqbkdnQ29qUkNYOHUKVHllbmxoVXlLcE9qS29kR3plQ00rcy9ZZXdiRzc3enpqdEVWbTl6
WXpqdnZQTXMvbCtFZDRQNmZlT0tKdVJ3MWd6TW5uSEJDN256OAorUEZHVGREcytmejU4NDBxV1dh
VFRUYkpsZU4rNDlsd2FidnR0ak90V3JVeTRLbk82RVluOUViOWpWeHgzaWVla2FoeHFzSmlWQ20y
Cno2Rk85TTF6enoxblpmNzFyMysxN2RYc3kvTEg4NGIwajMvOHcraXFsVDNHci8zMzM5K0FDNUlx
dGZaZXZ2cnFxeVk4L2krLy9OSnMKdGRWV2RveXFjSnVQUC83WXFFK1V3ZjEzU1pWTWM4RUZGOWhU
VmNLdExGVkFiRjFrL3V0Zi96THFRK1dxODVNRVNJQUVTSUFFU0lBRQpWZ3NDQmEyQXdFUm1IZDMy
dW5yMTZ2YkgxOVR3QmhpTzRLcFFXRE1rbUdmQjRmaVRUejZSU3krOTFEcWM5KzdkMi9wS0lNOGwr
SmNjCm9sdVo3Nk83Q0E0YU5FZysrdWdqKzdZYXp1OTZCK3piNG9rVEo5bzMyUXNXTE5CTkI1KzNL
eUVUSmt5UWpoMDdXakV3dlRyd3dBT2QKeU5UeVVtVG5Pb2s1Z0VrYVZuL09QZmZjNVZabFhCT3c4
VTNQMWw5Ly9keDVaWEpzcmR1WDQ2MDlmRlZnT3FaS2sxM0ZlUDMxMXdWOAprZUE4ai9zUWxWVFpr
S2VlZWlwbkJyZmZmdnZaMVM5bjJvUlZCMVZDYlZQNHdXQ1ZLQ3pMNTRDSzhLbHAxNjZkOVpmQk14
RVgyUXlyCkxsSGpWS1ZHVk5tUVRwMDY2VzcwZThoZWUrMGxXR1ZDZEMyc3J1RVpQdUtJSTBRVkhU
c3VtRlc1VlRkVlN1UzExMTZUWFhmZDFaWmgKMVExTTRKc1NIajhjNW5HdmNFMFlNK29nU01QNzc3
OXYyK0lYSE9vaEh3bXJPWkNCNUh4ZHNJTG4rOFRZUXY0aUFSSWdBUklnQVJJZwpnVDg1Z1lJVUVK
alh3Q3dGRHNNMzNIQ0RuZHo1Zk1LVHlabzFhL3JGc3VHR0c5cHpLQkl1MWFwVnl4MEtKc1JJQ05V
SzB5MU0zcUR3CjRBZW1NcE1tVGJLbVdGT25UclVUWitlYmdqWTFhdFRJVGVMVHlrdVJqYjZTMHJy
cnJpdjFCNzhyQUFBZ0FFbEVRVlM2QW1TZDgyRjIKcHFzOVNkVWp5eXFMSXpxSE11UW14ampYRlFv
N1FZZFNxS3RjZ2dtOWIwS0dPaTdCMUFuMzBwa1V3WlFKcGxRd2NZTFpGY3lwTnRoZwpBMWZkM3Av
d3RTV2RJMGdCUXZOR3BhUnhRcVkvWmloWmtBV0ZDR1ZRRXFIQXdCeEtWMGpraHg5K3NGMUF1WVhK
bVQ4bW1LZzVKUUw1CmZsbjRITTg3cnRzbG5PTlpjNmwrL2ZvNTVjYmw4Wk1FU0lBRVNJQUVTSUFF
VmpjQ2E1Vnl3ZkFSU0VwWW1RaFAySkxxNDgwd0ptMzQKVVpNdDYxaU90K3JoaEhDMktBOG4xMWRh
ZVNteXczMUduYXNabWZXSndBcFFqeDQ5SXAzam85ckY1YTBvam5IOUljS1ptclRKelRmZgpMUEFU
d1NxSFV4NzlOcGlZNCszLzZOR2piYUFDT050anJGaHgrTzY3NzJKRDd2b3lTam5PT2s3MGdYRWhJ
QUFTUWhlLzhNSUxvcWFFCk5xSWIvRjZRNEJmays0UFl6QkorcWZtYWpZd0dIeWlzR21LbEMvNU1U
Q1JBQWlSQUFpUkFBaVN3T2hNb2FBVWtEQXJtTE5oSThQNzcKN3c4WEZYVStiOTQ4K3pZYUprenFT
MkpYUFB3M3lqRGZ3ZW9HSnNkNDh6NTc5dXpJZnRMS1M1RWQxU0hlOUx1SVdhNGMrNk5jZU9HRgpB
dk14ZjhYSGxZZnJ1L3h5ZkdibEdOV1gramFJK2p2SWtDRkQ3Tmd4ZVlaQ0VaY1FlaGg3dVNBOE0v
YUhnVm5XbzQ4K2FsY2Jza3kyCm5kSVlKejh1djVCeDRqbkJKb0xxc3lMcTQyS0RGOEM1SE0rdm42
QUFZL1h0d3c4L3pHWGptWU5aVmpFSlpvRXdZY016Z0NBSkx1UncKTWJMWWhnUklnQVJJZ0FSSWdB
VCtMQVF5S1NEcStHMnZkOG1TSlhuWGpYMGNFTDFKblhGdFBrS3JZdGR3bDFDT2MrUWpPZDhBZi9M
dAoxNGNOUGxZTllKK1BsUU84a1lZSkRQckhwQmo3TUNDTUs4ekE4RFliOXZrdXdWY0FLeHVRbDFa
ZWltelhuLzhKTXl1TUw1d1E4UXRSCm9NSUpmZ012dmZTU2dDZVVCVXg0TVVGMnFiSTRvai9jRXo5
c01NYUI2RkpJaU53RVJRcm1iWEZKQXdYWXQvc3dlWUk1SGZ3Z3NGcUMKaUdkaDVRSlJvZENYOHdP
QkNaM2JuQkgzR09YNGNRbDEvYkc1Zkh5bWpkUG5pWWsvN2dOOE8rRHZnZWNQaWdpZUZaaGdRY25G
bUxEbgpEVXpvb0VTaEhuNFEyUTArSlVqaDhlUCsrYzh5eXYzbnVWKy9mdlp2NDV4enpyRm1pekIz
OHhOTTE2RG9NWkVBQ1pBQUNaQUFDWkRBCmFrVkFKMTZKU2Q5dTIwZy9Dc1dvSTYwNTVwaGo3QStp
VEtudmdOSEpwbzFZaGNoQmlFU2x6cmxHSjN3RzBZZ1EvUW50RVAxS2JlNk4KaHN5MTV6clJNenJ4
dFBrNkdUZnFmRzRHRGh4bzFISGJScjF5QTlKUXNFWk5WMnprTFBTbGI5WmRrVkd6SDZPbVdrWWRx
QTNrcWMrQwpVZnQ5bTQ5S2FlV2x5TTROUWc5MDljZTBhTkhDNklUYlFHWTQ2UXFSSFp1ZnJ6NFNS
czJYYk1RdlhTV3gwYUhVOGRwR0FxdE1qbUNrClBocDI3S3AwMkNHcUNaSlI1MnFqWmtybXNjY2VN
K29vYmFPUytlTVBIMnNZWlJ1OXkrVnJDTnk4YytTcndtVTBCSys5L3pycE5vaEcKZGRsbGw5bDdp
MGhhR3NyV3FKbVVaYWtyRGtaTnYreTlWVVhUUmtsenN0MW4wamdSSFF1UnZUQU9WUUlNb293aGFo
V1MrcWpZTWxXcQpiTVF1Uk9wUzB5ajdUR05NZU1id3JPRzUxUlVSbzZaYXRsMTQvSWpVcFFxVWZl
Wnh6OVFoM2taOHcvUDY5Tk5QMnpZYWRNSEtnU3hWCjBPemZCbmlpSHlSVlRJejZoZGkvSDV2Qlh5
UkFBaVJBQWlSQUFpU3dHaENvaG12VUNkSktUVENuZ1ZPeHM5SDNCNE8zekloZ0JQT1kKY0RuZU51
UE5PZHJpTFRiZVh2c3ByYndVMlg0L2FjZHdlUFlkNWxFZmZXTjhlQ3VPRlkrd09WQ2F6S2p5WWpu
NnN2QkdILzRTR0RQRwo1RHVSKy9YOFk2eDB3Y2ZCcGZDNXk0LzZ4S29WN2wraEtXbWMyRnNEMGEr
d1lvWlZDZC9KM3ZXRGxSVzNJaEhtano4SnJHZ2gwbFVwClNaVnF1LzhObmswNHVvTXBJckNwRWkv
d2JVSS9LSFBqS0tVdnRpVUJFaUFCRWlBQkVpQ0JWWVZBbFZCQVZoVllIT2VxUWNBcElJalUKdHJM
UzdiZmZicFVOUk43eUV4ejZFYjVYOThmeHMzbE1BaVJBQWlSQUFpUkFBcXNOZ1NBczBHcHp1YnpR
UHpzQnJJdzR2NXFWZWEzWQo4UjIrSDlnSEJmdUpZTVVGUGsySUdrYmxZMlhlR2ZaTkFpUkFBaVJB
QWlTd3NnbHdCV1JsM3dIMlgxWUM5OTU3Yjg2eEhlR1FzVmZKCnlrb0lSWXk5UldBYWgwMFZxWGlz
ckR2QmZrbUFCRWlBQkVpQUJLb1NBU29nVmVsdWNDd2tRQUlrUUFJa1FBSWtRQUlrOENjbmtDa00K
NzUrY0FTK1BCRWlBQkVpQUJFaUFCRWlBQkVpZ2tnaFFBYWtrME95R0JFaUFCRWlBQkVpQUJFaUFC
RWhBcE1vcElOaVBUemVqcnBUawo3WGxYS2YwVjI0bHVOaTgvL1JUZkd2dEU2bjZDc1NtdFBMYmhu
NkFnaloyN3hNOCtjMGY1bjJuc05JcXc2RDZVc1Nsci83RUNxa0JCCjByTlhCWWJISVpBQUNaQUFD
WkFBQ2F4aUJGSVZFQTNhSTdWcmkreS92K2hPMFNLNjRiVnN2cm5vL2dZaWUrd1JuSThhVmI2cjd0
dFgKZERmMDhzbUxrelJqaHNqNDhYR2xWU05mTjNjWDNXaGNPbllVcVZ0WE5LcFMvcmlncU9HZVBQ
S0l5QlZYaUZ4MVZXSGwrYlgvWEdkcAo3UHlyblRSSlpNY2QvWnhBQ1U1aU8zT21TUHYySXZYcmky
eThzVWkzYnFKN2VsVElLS1QvaWxaVjgraVRUMFFlZXFocWpvMmpJZ0VTCklBRVNJQUVTV1BVSXBJ
YmgxVDN5Wk5hc1FPbkE1ZW0rZWRLMnJjamRkd2NYZStPTitST3ZJRGY3YjkzRFRsNThVVFJLVU5C
Rzk0NUwKZktPY1hYSjh6YkZqUmZCbXVuZnZvTTZFQ1NMdnZpdHl3UVg1YlRESkhERkM1Si8vRlBu
dmYwWEdqY3N2ZDJmWVJ3K3lldlVTNmRSSgo1TVFUUmFwVkMwcEhqaFI1NlNWWE0vaEVHWlE2S0hL
Nko1M1VxSkZmampPTkppdVlHSThlTGZLWHY0aGd6SmdRbjNLS1NNdVdvaHZiCmlSeHlpTWgxMTRr
Y2VtalF2azBia1VhTmduR2tsUy9mWTNCOTgrYUpuSEZHVURwbGlzZ0RENGh1QkNuU3VYTWcxN1c3
K09KQU9jS3oKNEpMdXF5aFhYaWx5K09FaXVoZGdYZ0pIM1lkUDBBNktYeExMVnEyQ2E4ZTF0bTVk
SVNZcnl6UjJGUkpGTjdJVXVleXlnTGZMVDJPSApjbHpuMldlTDNIZWZ5TkNoSWdNR2lMUm9FU2lC
V2ZyLzMvOUVicjNWOVZqeHVlR0dJcHR1S25MMDBhSWJJUWI1dzRlTHZQcHFSUjEzCjFLNmRTUGZ1
d2VvWHhoSzFDbmJSUlNKYmJpbmlubVhYRnA5NERtdlZFdDNrVXpSY2NFVi94eDBuR3JGTDVOeHpn
M0pjbCs1SktaZGYKTHRLL3Z5K0J4eVJBQWlSQUFpUkFBaVJRQkFIc2hKNlVKazdNTDExM1hXTjY5
cXpJKy9GSFkxNTRvZUk4N2VpUFB5cHFMRmxpVE5ldQp4dlRyVjVGWDdKRXZOMG5HRjE4WXMrT08r
VFZPUFJXN3dSdHo4Y1g1K2NPSEcxTzl1akcvL1diTVB2c0VkVkF2L0hQaWljWTg4WVF4CkRSc0da
WmRmSHNqQm1GeGV1STA3RDQvRmplQzc3NHo1OVZkM1pzd1BQeGhUczZZeDgrWUZlY09HR2JQeHhz
YjgvbnRGblR2dU1LWlIKSTJPV0xqVW1yYnlpVmNYUkpaY1lzOVpheGt5ZkhselBHbXNZMDZDQk1X
dXZIVnpYTGJjRWRiLysycGo2OVlPODNyMHIybi8xbFRITgptZ1hqbkRLbEloOUgrKzVyVFBmdVFW
NGF5M1BQTlFiUDJacHJHak56WnRDbUVKWnA3QUtKd2U4K2ZZd1pNY0tZVFRhcHlFMWo5OVJUCnhu
eitlVVY5akczTExZM3AwQ0hJeTlJL3J0RTlBMUdmZGVvWTgvUFB3YjNFY1ZTZHM4OE8rcHM4T2Jv
Y2JaNS9QcWpqbnZFb09jamIKYkROakZpODJadTVjWTVvM0QrUWRja2pRMXYzRzM4ZVRUN296ZnBJ
QUNaQUFDWkFBQ1pCQWNRUjA2bEZZQ2lzZ2Z1c3Z2elRtdlBPTQoyV3V2WUpLUGlheExZOFlZYzl0
dHhnd2FaTXh1dXdXNWd3Y0hFL3dkZGpEbXVPT01tVFBIbU91dU02WjE2NkFjazlodTNZeTU0QUpq
ClJvNDBwa2tUWS80L2UvY0Jia1Z4LzMvOGl4VUpXS0lJb2xGc0lIWWpkaU4yN0wyQ0JUV1dpRkd4
eFJKN0FSWEIzaEtOTlNwb3hLNG8KQ2tMRURva1ZDK2pQRHY3QldCTmozUDk4ZHBoejVwNjdwOXh6
NytJRjMvTTgzTHRuZDNaMnordGNubWUvWitZNzA3MTdra3llSEZwTgprbSsrU1pMKy9YMFFzOVZX
dnI2dUVSNjhpalg5MW05L215VG5uVmU2TjBuQ0E1cXVGY3FKSnpZT1ZzS3g2ZFA5UTFvY29DbGc2
TjNiCjMyZW9wOStkT2lYSmtDSHhuaVQ1OHNza3VlUVMzOGE3N3pZOGx2VktkVys2cVhoa3A1MktU
bUh2Nk5HK3ZSZGVTSkpxeDhNNThXOEYKTS9yc2Z2VXJIMFJjZWFVLyt2YmJTYUxQU01HVUhyWlY5
SEI4MEVIK2V0T20rWDM2T1hWcWtuVHI1Z01JM1U4b2VzQWRPREM4YXZnNwp5M0xLbENScDN6NUpG
QlRGcFI3TFVydlEzaDEzSk1uSWtVa3liRmpEQUtRZXU1MTM5bjlEb2UzNGQ3bnJIMzEwa3F5M1hs
elQvejJQCkdOSDRiNnRoTGYvWmh3Q2s5SmhlZi9DQmI2UGMvd1BWMGVmOSt1dEpzdXV1dnU1TEwy
bXZMMGNkNVFOUEJadWhUSnlZSkt1dTZvT2kKc0kvZkNDQ0FBQUlJSUlCQVV3WG1xcVBUSlBNVURi
ODU2Q0N6czg4MmUrb3BQd1JIdzVFMDdFWkRRd1lQTnZ2ZDcvd1FIQTJyMFRDVgpFMDgwVzJJSlAv
ekRyUjluR240eVpZclpPKy80UzJqb3g0UUpmc2lPaHFOb1NKREt3SUgrdDM3ZWVLTloyN1pteWgz
UmNEQ05WZGZRCmtxV1hMdGFKdHpTVVNVTjhTb3ZPNmRqUjdKSkwvTkFZUFpKcGFKYUd1ZFJhNXB2
UDU2OTg4a24xTXpwMDhNT2FWTk10a0YyMjZGaS8KZnQ1S1E3bSsvOTVYMVRVMGZDWXVhbE5GQ2RY
Vmp2dWFEWC9PNWY0YSt2ZjNRNjQwaEVyYktocU9vMkZsR3A3MWYvL245OGxjKzFTMApQNVNGRnpi
Nzhrc3ozWXVHWWlrWDRwVlhmSnROc2V6YTFXemRkZjM3Q0cyWCsxM09zcHlkMnBIUmE2LzVQSTdT
ZHB0cXA3K1ZpUk1iCkRsRlRtNVd1WDNyTjhMcGRPeitrVG45TGxmNHVRdjNtL05ibjNhTkhNYmRJ
bjJrb0d0Nm40WmY2TEVQUi84ZEprN0tIZzRVNi9FWUEKQVFRUVFBQUJCS29KdUVlUWxpbkRodm5C
SFdQSG1qMzZxQThzcGswenR4SzBEMEwwZ0tZSGVoV043ZGREV3loNitGZFJBS0Q4aG5CTQpRY2Z5
eS90OVNvYlhXUFhOTi9jUFFmNE1Qd1pmU2NBcXE2N3EyOUMyNnBhV3FWUE4zT0xVYVVKM2ZFejdO
SmIvL3Z0OVhvUHlPUTQvCjNFejFsUi9RbEtLZzRMdnZpdStoMHJraDkwUFhMMWZVbGhMUnQ5L2U3
SnByZk02SDZtcS94dVhIUlErdEtucHdySGJjMTJ6ODh4ZS8KOFBzMC9qOHVXMjdwWHlsWEpoUUZq
eXB4OHZVOTk1anBJVnA1UFhyQTNXNDdzeE5POExrS3BYa2gvdXp5UDJWWjZ3eE1XWmJsN1BUMwpw
WnlOVTA3SnZuWlQ3ZlNlOVQ1TEU5bkxYVC83cWczMzZ2MVUrcnRvV0x1MlY3clBxNjl1WEZjNVB2
cGJVcTVJS0FwKzVwKy9ZU0N2Ck9zcGRldXV0VUl2ZkNDQ0FBQUlJSUlCQTB3VmFMQUFaUDk3UEJx
U0hZUDFUUXJTU3FOZGUyMHhKMnJ2dDVwT205YTI2dnQzV2JGcWgKaEFCRXI3VmQ2YlcrN1k0ZmVQ
VmExdzVGc3hLdHQxNTQxZkQzNU1uK3RaSzY0NkxlRnoxOHFXZm16anZOdW5jMys5T2ZmTkt0dnRG
dgpTb252dmRwNXdTQUVYRm4xWmFVWmxwUzByVm1YTk9PVml0NW42ZlN2NFdGZDc2WGFjZDlLNDUv
cXJkQkVBN3BXWExwMTh3R0Znc3BLCjVhcXJ6SDc3Vzk5cm9nZGU5VFE4OFVReGNLcDBidW14NWxx
V3M5TTlLdEZhZ1ZKV2FZcWRldmdVZkE4ZDJyaWxjdGR2WExQeEhnVnYKbGY0dUdwOVJmWTgrQjkx
cmFkSGZsSHFuNG9CV1NmTGhNNC9yNi8vYnJKb21PNzR1MndnZ2dBQUNDQ0F3NXdpMFdBQ2k5UkQw
MEtSdgp5dU4vbXBWSlJiTXBhUnBaZll1dlhveDRhSWV2VWQvUEFRTjhBS0lIWjMwenE0ZktYcjJ5
MjFJUGk0cG0zb3FMSHN3MDNFZEZ3OERVCkU2SmVsZnZ1OC90YXcwL1pLb2dMd1pkbVNsSVBUVnkr
L3RxL1VnQlM3WGg4WHJ5dDRYTjZHRlVRRWhkZFg4R1kxbWtwVjNSdjQ4WVYKWjhEUzU2QnYzRFhj
VHFZL1ZTbTF1K0VHczYyMzlwKzFQbThGSTNwZjJsYVBWMVBzTkRPVWh2NnB0NkJjS2IxK3VYby94
WDROYTN6dwpRYk5CZ3hwZS9hS0wvUERIaG50OTcxcTV3SzIwTHE4UlFBQUJCQkJBQUlFc0FmZFky
VEpGVThxcXh5TThJS3RWZllNN2VyVFpwNS82CmgyVjlTNnpoV1FvVzFOTVFTbE8rNlE3bmhOOGEr
cUloWFdwWFU0M3FBYnBjMFQxcW5IdnAwQmF0Y3hDbVBOVzVHdmFsM0JLMUZhWWIKTHRmbXJOd3Zw
eEFvYWEwVXVTcjNKaFNOejljd05BMmpxblk4bkJQLzF0QXRCUkRsY2pVVWxGVUtRRUorU0d5cDNw
QytmZjF3cHpoWApKTDd1ck5pTzdUVGNUa0ZuK0hmV1dUNzQwT3NqanFqZFRubE5oeHppQTVid0hz
cmxiY1RYRDNWLzZ0OWFDMGRCcllLbzByd29CVTJoCmh5NitUNzIvcmwzalBXd2pnQUFDQ0NDQUFB
Sk5FNWluS2RYMVRiYVNvRXVIL3FnTlBXUXFPVnk1RTVkZTZyOHBWVytISGtEMTBLcmcKUkxrVit1
Wlo2MWFFTWZ2NlZqMnNRcTAxR2JRNnVjYk9LM2pSUTV1dXArdUdvdVB4UTdlUzNqVlVaTjk5SzM4
THJmUDFVTFg2NnI2bgpaTU1OUTR0bXBRR0lqaWlCWGcveHlsOVEvb1VXQXB5VlJlOVRDZmk2VHpu
b1BTdklDa045bEJPamU5S1FHcjEzRlFWTWwxM210NnNkCjk3VWEvbFNTdTY0YjFtVFJVSnZMTHkv
VzBYQ2pTc09DNUtpaUlVeHhVUStCOG4rT09zcnNiMytMaitTelhjMU9RVnBjdENhTWhoK0YKNEU2
OWRwVnNkYTZHN2VudlZYK2ZlcERYMzZnK3IrV1c4ejF3bFQ2NytOcnZ2ZWZYRTRuM2FWdTlXZXFS
eWF2by82dStCRGozM05yegpuUFQvV0VGcVUzTjU4bm9QdElzQUFnZ2dnQUFDczZkQXpRR0laZ3pT
Z210NjBCb3p4Zzg3VVhBUkhwSTBRNDZHMnlqSTBEZk15dnU0Ci9ucS9NSjRlWExYb21vWnU2T0ZV
UVljVzFWTlJENFlDRitVdmFERTA1UTFvV3cvU1NraFhyNGJPMDBPZWhnWHBJVnhKc3dwb2xLZWcK
M2d6TnZxVi8rc1pXMTlXaWVYcFFEMG5aL2tyK3AxWUwxLzMxNitkZmF5aVkyaWlkVVVwSDlYNDMy
TUJNRDRtek9nRFJOODJhUlVwago3cFVEb251VVU5ZXV1alAvWHZXTnZSYWdVMCtJYkpUN291RnR0
UnozdFJyKzFIQWMrU2xJVTlFSzk2V0w1ZW56S2xkQ0QwaXBwZXkwCllLS0dQcW1ITEo1dHFWeGJ6
ZGxmemE1YTIvbzdxbVNyWGozMXV1bGhYTW5zb1hUcDRtY0prME9senk3VTEyL2RhNm14OWl0WTF1
UUQKZVJRdGFxamhlL3AvdlBIR3RWOUJRN1VVbUN2SW9pQ0FBQUlJSUlBQUF2VUt0Tkc4dmZXZW5I
V2V2aEZXZ0tCWnFPYVpHZDRvYU5FRApsUUlSZmRNY1psb0s1eXQvUkErKzlSUTlsTyt4aDMrdzFR
clZJU2xZSzR5SG1adEsydzB6U3BXYnFqZXVQeXNlbU9QcmxXNnJ0NmswCmFUNnJqbVluVWs5SlZs
RWJsWTVublZQTHZuZmY5Y25tNmprSnZRZmx6dE5mbWY0Mkt1VktsRHUzM3YyMTJGVnJ1emwyTFhI
OWN2ZW4Kd0ZnOUVYRVBWVnhYdllxLytwV2ZoZTQzdi9GSE5BMjJaakY3N0xINlBnZjFYT3IvbTc1
c29DQ0FBQUlJSUlBQUF2VUsxTndEVXVzRgoxT3VnSElxNEtQaFFLVGVqVkwzQmgzcFlSbzFxUEoy
cXZzRU9QUVgreWcxLzZyenp6dk85Sk5XK2phOTJ2R0hMTGYrcVd2Q2hLMWFyClUrMTR5OTkxNHhZ
VkhNM0s0S01XbDhaMzJYaFBjK3lhYzI3ak8ybTVQZlY4RG4vOG85bHh4eEY4dE55blFFc0lJSUFB
QWdqOGZBVmEKdkFka1ZsSXFtVjNmQW12Uk5FMzNxOXdSRFdsUi9vUCtWU29hOXo5eXBCKzZWYWtl
eDhvTGFLaWNoaXB0c29udllTbGZreU10TGFEMQpkZFNycFdHS1dVVTlkK3JwMEJDcnNFNk9wdFpW
TDJGVGhsMnBiVjFMWHl4b21tb0tBZ2dnZ0FBQ0NDRFFYSUhaT2dEUm0xZHVoQjZRCmxBZWg1R210
MmsxQkFBRUVFRUFBQVFRUVFBQ0IxaWt3MndjZ3JaT1Z1MElBQVFRUVFBQUJCQkJBQUlFc2dablpH
Vm1IMkljQUFnZ2cKZ0FBQ0NDQ0FBQUlJdEt4QWl3VWcvM0hMaXovenpETTEzZDMvY3dzS3ZLMUZK
aWdJSUlBQUFnZ2dnQUFDQ0NEd3N4S29Hb0E4OE1BRApMdEYxTlRmRmF4dTN4c1RtYnNyYlBXeWpq
VFp5Nnh6czZ0Ym1jSXR6dVBLY200ZTFaOCtlYmxWbHQ2eHlEZVdNTTg1d2kvenRVa1BOCnhsV0d1
WlgzZXZUb2tkN1BaaTdwNHdsbFFXZVVIVndXK2lJdVMzZWJiYlp4YTQ3czVkWUltZHVXZFV1aDYv
NDNkbG00ZW4yTFcramkKcnJ2dXNoVlhYREZ0N3pkdXZ0Sjk5dG5IclUyeW5WdDhjSHUzc045VEdT
MnpDd0VFRUVBQUFRUVFRQUFCQk9vVnFCcUE3T2ltbVBxdApWaHgwNVFLMzZ0cmRkOS90a3I2ZmR1
dDJMR2E5ZXZXeWNlUEd1UVh3MXJOKy9mcWxkV3I1Y2M0NTU5aUlFU05xcWRxb2pvS0pBdzQ0CklO
MS95aW1udUxVK3RteFVSenYrNjFhSmUvbmxsOTNDaFkrNjFjS0h1Vmw4NXJOTk45MDB2WC9kODhV
WFgrd1d4ZnUzVytSdmIrdlQKcDAvYXhwVnVSYmc3M2ZMUUQ3dGx1MWQxeTJWdnNjVVdiaVloTjVV
UUJRRUVFRUFBQVFRUVFBQUJCRnBFb0dvQW9xc3NQSE1CRC9XQwpxS2ozNFBqamozY0x5MzF2dDk5
K2U3cFBEL2poZUxwajVvOGZmdmdoZnBsdUwrcm1CVld2UTcwbDNNOUNwVXR1UncwZTV4WXRVSTlI
CnVYTDQ0WWZiS3F1c2toNE83YzBWRml4eGV4VjBhWTNHaHg1NnFGd1Q3RWNBQVFRUVFBQUJCQkJB
QUlFbUN0UVVnR1MxT1czYXRIUjMKNTg2ZHN3NjdCUUpIMllVWFhtaERoZ3hKaDJ5OSt1cXJhYjFQ
UHZuRUxycm9JdHRBU3ptN29tRk9Hdlowd2drbjJBMDMzT0FXTVZ6ZQpWbHBwSlpzeVpVcDZ2TjRm
dlh2M3JuanFMOXh5N0JwS1ZxNjg5dHByNmFIU0hwWnp6ejNYclQzaUZoK2hJSUFBQWdnZ2dBQUND
Q0NBClFKTUY2Z3BBbEhDdUIvRmZ1cVdlKy9idDIraWk2aGs1OE1BRGJkMTExN1dUVGpySnR0NTZh
enZyckxQU2V2UE1NMDhhWEx6enpqdnAKNjVWWFh0a21USmlROWpSMDZ0VEpubnp5eVhUL3dJRUQw
OSt6K3NlLzNNSWk5OXh6angxMjJHRnVnY01kMDF5UStCN1VlN1Bra2t2Rwp1OWhHQUFFRUVFQUFB
UVFRUUFDQkdnWG1xYkZlV2szQmhJWXBmZnp4eDI3bDhiVnQ3Tml4YnVHL0ZSbzFNZSs4ODZZSjZX
dXNzVVo2ClRBL3RiN3p4UnJyZHNXUEhOS2w5K1BEaDZXc0ZIZXIxYU4rK3ZWdTkzQzlmcm1UMzBB
UFJxUEVjZHd3WU1NQmVlT0VGKzkvLy9tZmoKeDQ5UDc3UDBja2NlZWFUcEh3VUJCQkJBQUFFRUVF
QUFBUVNhTHRDa0FFUzlFdXJWVUM5R3BhSmNrTXN2djl3bVQ1NXNmL3JUbit6RgpGMSswcjc3NnFu
Q0tqc2Y1SXFXdk8zVG9rQ2FJRjA2WVJSdERodzQxRFJWVFV2b2RkOXlSR1lETW9sdmhNZ2dnZ0FB
Q0NDQ0FBQUlJCnpKRUNUUnFDcGVUemFzRkhVTHJ1dXV2c3pEUFBOQ1dEcTBjakRqaENuZGI0ZTk5
OTkwMW4yUm8wYUpBOS92ampyZkVXdVNjRUVFQUEKQVFRUVFBQUJCR1piZ1NZRklMVyt5OWRmZnow
ZHBqUjQ4R0RUY0t4WldUNzY2Q083OGNZYm0zVkpUY2U3M0hMTDJmNzc3MitmZnZwcApzOXJpWkFR
UVFBQUJCQkJBQUFFRUVDZ0sxQlNBaEJtdnBrK2ZYanl6WkV1SjUxcDdRMFg1SGovKytLTXBFRkUr
eFpneFk5SWhWWnJXClZ2KysvZlpiKys2Nzc5SnQxZGU1cWgrS2p1dThjbVhHakJucG9mZ2M3VkJ5
dkpMSDExcHJyUWFucXA2dVVlNyt3L3NMN1dvSTJGLy8KK2xmVGl1MEtRdUxyS085RlE3VW9DQ0NB
QUFJSUlJQUFBZ2dnVUllQUN3Z3FsdnZ2dno5eGkvSWxydW5FclR5ZXVJWDlHdFYzSzZFbgpMaWs5
clhQMTFWY243a0UrV1hQTk5ST1hXSjRjZE5CQmlWdExJMm5YcmwyeTMzNzdKVzRSd01STndadldk
US95aVZ2SlBISHJjQ1JkCnVuUkpYT0ozTW5IaXhNUWx0aWZ6eno5L01uTGt5RWJYY3NucmladW1O
ejFmMTNTTEVpWnVNY0hFVGJ1YnVHVDN4Q1c1Snk1Z0tKem4KY2pvU3QrWkhXdCt0RzVKY2Nza2xp
WnZwcW5EY0xUeVlYay92ejgzV2xkNWZPSGorK2VlbjUrMjAwMDZKQzZiUzNVY2ZmWFRpcGg1Twoz
UG9tb1JxL0VVQUFBUVFRUUFBQkJCQkFvRWFCTnFwWFI5eFMweW5xNVZoZ2dRWFN1dW9kbWRYRHNX
cTZ5U1pXRXBkV1VBL3ZxNG1uClV4MEJCQkJBQUFFRUVFQUFnWisxUUs0QnlNOWFsamVQQUFJSUlJ
QUFBZ2dnZ0FBQ2pRUnF5Z0ZwZEJZN0VFQUFBUVFRUUFBQkJCQkEKQUlFNkJBaEE2a0RqRkFRUVFB
QUJCQkJBQUFFRUVLaFBnQUNrUGpmT1FnQUJCQkJBQUFFRUVFQUFnVG9FQ0VEcVFPTVVCQkJBQUFF
RQpFRUFBQVFRUXFFK2cxUVVnYnVrTmUvdnQrdDVNVTg5eXk0Mms1ZXV2elQ3NG9LbG4rL3B1NlJG
NzVwbml1YVd2aTBjYWIzM3pUZU45CjdFRUFBUVFRUUFBQkJCQkFZRTRXcUJxQTdMQ0QyU0tMbUcy
empkbGVlNW5OUGJmWnNzdWE3YkdIMmNZYis5ZTMzTkp5UkdlY1liYkwKTGkzWFhybVdubjNXN0tH
SHpDMDRhTmFwazltdHQ1YXJXWDcvYzgrWjlleHB0dHR1dms3cDYvSm4raVB2djI5MjExM1ZhbkVj
QVFRUQpRQUFCQkJCQUFJRTVSNkJxQUtMRnpWOSsyZXpSUjgyR0RUT2JiejZ6VFRjMXUvdHVzM0hq
ekM2KzJOeTZHUFdEcU1mZ3FhZUs1NTl6Cmp0bUlFY1hYZVd3TkgyNm1BR1RQUGMzNjlERmJacG42
cnJMZWVtYjkraFhQTFgxZFBKSzl0ZkxLWnIvK3RkbHBwMlVmWnk4Q0NDQ0EKQUFJSUlJQUFBbk9h
UU5VQTVMampmSTlIdVRkKytPRm1xNnhTN21qai9mR3lod3B1OXQvZmJPellZcjFGRnpWYmNjWGk2
MXEzNG5ZcgpuZlBwcDJhREJwa2RlMnl4MXJ6em1yVnBVM3pkbEMwRlpQRzVwYStydGFYMytyLy8r
ZDZZYW5VNWpnQUNDQ0NBQUFJSUlJREE3QzR3ClQ3VTMwTHQzNVJxLytJWFpSaHY1T3A5OVpuYmho
V1l2dldTbXZJcXJyakpiZjMxL1RFT05wazgzKy9KTHMvdnU4M2tUbDE1cWR2LzkKWnUrOFkvYnV1
MllhZm5YUFBXYjMzbXMyZnJ6dkdibnVPck9sbGpMcjBjUHNnZ3ZNcmFadTlzZ2p4YUJJZVJ3bm5X
UzIrT0srUithWAp2elJiYXkyekRUYzArODF2R3QvNzZhY1hoMHpGUjMvODBWLy9wcHZNRmx6UTdJ
RUhpdGVvOUw3aU5ySzI1WER5eVdienorL2Y0OUpMCmU2T1pDOFNucCt5N3I5bCsrL2xoYmhyaVJr
RUFBUVFRUUFBQkJCQkFZRTRWcU5vRFV1c2IxN2Y0Qngxa2R2YlpQbkJZWngyem5YWXkKKytJTHN4
OStNQnM4Mk94M3Z6UDd3eDk4VUtJSC9oTlBORnRpQ1Q4VTZ1YWIvWVAvbENrK0lORjFOVVJwd2dU
Zk82QThqU2VmOUhjegpjR0R4cm02ODBheHRXeDg4REJuaWN5clVJNkVIL2F5aTRWZHJyTkg0aVBi
MzZ1VURJNzBYQlRzcWxkNlhyMUg1NS9iYm0ybG8xaVdYCm1Pa2F5aE5STGsxYzlENG5UZktCVzd5
ZmJRUVFRQUFCQkJCQUFBRUU1alNCRmd0QWxCK2lZVkFhVHFWOEVRVVcwNmFaUGYyMEQwSW0KVGpS
NytHSFBkK2lodm03QURFT1lPblkwVzIyMTRqRUZIY3N2Ny9jcEdWNjVHcHR2N2gvV3c3bEtIdGV3
TFpWVlZ6VlRHeXBaZVIxVApwNXI5NjErK3Q4VFhLdjVVKzF0czRYdGJOdHZNN00wMy9iRks3NnQ0
ZHZhV0hKUW5zODgrL3JoNmJ3NCsyT3pCQjMwUFR6aEwrNVhvCi85WmJZUSsvRVVBQUFRUVFRQUFC
QkJDWU13VmFMQURSa0NrRkFzcUIwRDhOeTNyOGNiTzExelpiYkRFLzdHbkhIYzM2OXpmcjJ0WFAK
bmhWSVF3Q2kxOXF1OUxwRGg0Wko3M3F0YTRmU3ViUHZjUWl2NDkrVEovdFhHcVpWV3VKcktoalEw
Q21WU3UvTDF5ai84L25uZlVDawpBQ09VZGRmMVcrclppWXZleDZ5YWZqaStMdHNJSUlBQUFnZ2dn
QUFDQ014S2dhbzVJTFhlek9lZm04M2pXdHR5eSt3ek5OMXRseTVtCmwxM21aOVY2N0RFLzVDcTdk
dTE3Qnd6d00xRzk4b3JQczJqWHpnK2x5bW9oOUpiMFhOOEFBQ0FBU1VSQlZJNW81cTFhUzdYM1Zh
a2QKNWFmb2ZBVXo3ZHY3bXVyaGtWUHBHaUJLeU5lOVV4QkFBQUVFRUVBQUFRUVFtSk1GV3F3SFJH
dURxTWNqbnBKWFE3SkdqemJUekZNYQovalIwcUIrZXBXRGh6anVMckhIdlEzRnZiVnZiYldlbUlW
MGE3dlRpaXcybjlDMXRRZmVvZkJFTnc2cTFWSHBmMWRwWWFTV2ZRL0xDCkM4V2FjbEJPakpMcTQ2
SkVkL1VNVVJCQUFBRUVFRUFBQVFRUW1KTUZtaFNBS0hIOCsrLzliRmFsS0gzN211a2hXdFB5enBq
aEF3NnQKNmFGcFpyVzZlVmh3Yit1dHpYYmV1ZGdqc1BEQ1poOSs2RnZUZWVvMStPNjdZaDZJcnFm
cmhxTGpTZ3dQUlVudjNicVpIWDIwWDlNagpubDBxMUFtLzUzTHZkdlhWRytkYXFFMzlDMFhYMXor
VlN1OUx4M1YvNnIwSUpYNnRkVVkwZzVjQ3MxQVVKQ2t3MGNLT29jaEhiU2h4Cm40SUFBZ2dnZ0FB
Q0NDQ0F3SndzVUhNQTh0cHJaa2NlNllPQk1XUE1OT09VcHRRTlJUTTVYWDIxRHpTVUM2S0VjTTAy
dGVTU3ZzYVYKVjVwZGY3MmZkbGRCUjVnSlNqMFlPbmJJSVg2R0tFM0RxK0ZKR3FvMWFwVHYxWGpt
R2I5dzRELys0WHM2WG4yMStGQ3YzZ3pOdnFXZQpEUTF0VWc2SThrd1VDR1NWTTg4MDAvQ3ZVSFE5
NVlhb0IwV0o4c3JOMExhbUJkWlV2SlhlbDNJODdyakRCMWpYWEdQMjk3ODNmSzNjCkQwMHpyR21I
TlF1WXBnOVdmVTB6ckhzTlJVbnBtakZzdWVYQ0huNGpnQUFDQ0NDQUFBSUlJREJuQ3JSSlhHbkp0
NllIL3c4KzhMTlEKaFlkczlXQ285MEZUOHVxaFhHdUh4RVY1RWtwVXI2ZG9TdDQ5OXZCRHY3NzZ5
bDlETTFkcFhZMXkrU2lhR2xjQlE3bXBlclB1SSt0OQpaZFhMMmlkaHJYVWlBODNxVlZyVUk2VDNv
V0NIZ2dBQ0NDQ0FBQUlJSUlEQW5DelE0Z0hJck1SU2o0cUNqU2VlYUhoVjlYRG9RWCtGCkZScnVE
NjgrK3Nqc3ZQTjhUb3A2VG43SzhzYy9tbTIxVmZuRStaL3kzcmcyQWdnZ2dBQUNDQ0NBQUFJdExU
QmJCeUJLWmxmZWhLYjMKMVhTL3l0dFFIb3JXOU5DL1NrVkJ5TWlSZnZoV3BYcDVIdE1hS1pxeU9L
d1duK2UxYUJzQkJCQkFBQUVFRUVBQWdkWWdNRnNISUFKVQpEb2dlNURYVGxoWVFMTmZyMFJxd3VR
Y0VFRUFBQVFRUVFBQUJCSDd1QXJOOUFQSnovd0I1L3dnZ2dBQUNDQ0NBQUFJSXpFNENMaTJhCmdn
QUNDQ0NBQUFJSUlJQUFBZ2pNR29HZk5BRDUyaTBSL3BHU01WcWcvTTh0RHZMbW0yK1diYW5hOGJJ
bnVnUE5PYmRTdTYzaDJQOXoKaTVDOC9mYmJaVzlGbjlFSG10YXNsWlpxOTk5S2I1dmJRZ0FCQkJC
QUFBRUVmcllDVlFPUVlXNmFxUjV1MmU0MmJybnl6VGZmM0swNgpmcWo5OXJlL3RUNTkrbGozN3Qz
ZG9vSnVEdGs2eW5YWFhXZUx1Z1ZEaGc4ZlhzZlpEVTk1d1MwMXZ1YWFhOXBoaHgzVzhNRE1WOVdP
Clo1NVU0N214ejJZdUNlV0owaW01WnJhemc4dUtYMlNSUmR3Q2hOdTROVkQyc3Jubm50dVdkY3Vz
NytIbUVONTQ0NDNUMTdmY2NvdGIKc1BFdXQzamppcW4zYjM3ekc5dG5uMzFzTzdkWXl2WnU3dUNu
bm5xcTBxM1dkZXlNTTg2d1hYYlpKZlBjdi83MXI5YXBVeWU3OWRaYgpNNCszaHAyVjdyODEzQi8z
Z0FBQ0NDQ0FBQUlJSU5CUW9Hb0Fvb2ZsQXc0NElEM3JnZ3N1c0QvOTZVLzI1ei8vMmZSdytyeGJp
VytCClNrdVBON3hXZzFlSHV5WFQ5VURlRW1VZE54WFdwcHR1NnRZWW1UZXp1V3JITTArYXViUGF1
YkhQS2FlYzR0WWUyVEt6dWYrNnBjNWYKZnZsbHQ4amhvMjdxNEdGdTlxdjUwbnUrKys2N2JkeTRj
WGJ4eFJmYnYvLzliOXQ3NzczVDRFNk5YT2xXYUx6enpqdnQ0WWNmZGdzNwpybXBiYkxHRlcwUXhX
a1V4ODBwTjIzbU9XNjUreElnUmhaUCs4NS8vRkFJZEJabkxMTE5NNFZocjNDaTkvOVo0ajl3VEFn
Z2dnQUFDCkNDQ0FRRkdnYWdDaXFndHI2WEpYMUFzU0Z3VWZsMTkrZWJ5clNkc0tHRXJiYkZJRHJ2
S1BXdVhRbFhuY3FvZHphYVcva2xMdGVFbjEKQmk5clBUZjRMTFRRUWczT2oxOGNkOXh4YVk5SHZD
L2VWa0MyeWlxcnBMdENlL0g3VWErVDFveDg2S0dINHRPYXZhMWVLUFc0cUNoSQoybi8vL1czczJM
R0ZkdXY5akNxdGIxbnAyQTgvL0ZDNGRpMGI4ZjNYVWovVXFYUVBvUTYvRVVBQUFRUVFRQUFCQkZw
ZW9QRVRleE91CmNkSkpKOW5paXkrZW52R09XK3Bici9XZy9jQUREOWhhYTYxbFBYdjJ0UEhqeDlz
cmJzRU9EVFZhWW9rbFRMMG9jZm4yMjIvdGhCTk8KU0lmNnJPMFc4M2pqalRjS2h6OXppM3FvdlY2
OWVybDFQdGEyWjU5OXRuQk01eDE1NUpGdVFjSHo3SWdqanJBWFgzeXhjRXdiMVk0MwpwKzBHRjZy
eFJlL2V2U3ZXL0lWYkhuNmpqVFlxVytlMTExNUxqNVhyWWRIQnYvM3RiOWF4WTBmYmRkZGQzYXJ6
WDloTk45MlV2dDdLCnJYU296MGRseUpBaHBxRmQ2bTM1NUpOUDdLS0xMcklOTnRnZ1BYYnBwWmZh
L2ZmZm4vYUlISGpnZ2ZiTk45K2sreFdJYWFqVDBtN3AKZVBYRVRKa3lKZDJmOVVORHlLNXh5OHly
M1EwMzNEQ3RvbUZwKys2N3I1MSsrdWwyOHNrbnAzOEhhaXNlcmpacTFDaTc4TUlMMC91VAp3NnV2
dmxwby9qdTN3TXRwcDUyV0hsY1AwZURCZzlOanBmZXZJV29hc3FhL3B4dHV1TUV0UnJtOHJiVFNT
ZzN1VjM4WFJ4MTFsSjE3CjdybTI5ZFpicC9WMTNSQjBhYjk2dlNnSUlJQUFBZ2dnZ0FBQ09RbTRi
NEtybHF1dnZqcHhsMC9jUTJqaThoU1NHMis4TWVuZnYzL3kKNjEvL3VuQ3VlOEJOWE5DUnVMeUd4
QTByU3R5RFhyTG5ubnNtSzZ5d1F1S0NqdVR6eno5UHpqenp6TVQxZUNUVHAwOVB6MXRxcWFVUwo5
NjEvNGg1Nmt5ZWZmRExwMnJWcnN0eHl5eVh1bS9qRWZST2ViTHZ0dHNtWFgzNlp1Q1R3eFBVUUpP
N2hPcGt4WTBaNnJzdUpTTnp3CnBIUmJ4N3QwNlpLNEIrM0MvVlE2M3R5MkN4ZVp1UkY4WElCVWVx
anM2N1p0MnliOSt2WExQTzZDaE5UN24vLzhaK0lDaWRSVDczM0gKSFhkTVhUSlBtcmxUbjhuQkJ4
OWNxT0tHcGlVSEhYUlE0YlhyUVVuKzhwZS9wSytuVHAyYXVPQXRXV3l4eFFySDlSbm84d3BsOWRW
WApUOVpZWTQzRUJRdUpTMFpQM0FOOTRucGp3dUVHdi9XNXVhQ3pzRy9BZ0FIcForY0Nsc1FGcXVu
ZmhudlFUOGFNR1pPMithdGYvU3F0CjY0WjlKVXN1dVdUNk42QWRaNTExVnJMNzdyc1gybkY1TTRr
TFpOUFhMdEJNYlY1NjZhV2s5UDQvL2ZUVHBGdTNidWs5dWlBNGVlKzkKOXhLWHA1UzR2S1ZDVzFk
Y2NVVnkvUEhIcDY5ZFlKeTI1UUtRdEs1MlhuWFZWWW5MYXlyVVp3TUJCQkJBQUFFRUVFQ2daUVdh
MUFPaQo0VGpLWFpoLy92blRmM0ZNcEcrYmxRaXVZVVR1NFRITkRWRnk4L3Z2djIvS2pkQlFtV09Q
UFRZZFJxUjlvU2kveEQxWXUwVUVON05CCmd3Ylo1TW1UMDIvR2xTZmgzbXI2emJUeUp0UjdNbTNh
TkxmbzROTnBUNGp5SWtLdmdvWXFLVkU3RlBXVVZEcmVuTGJETldiRmIvY0EKbi9ZNnFEZENQUVRx
blZEeWVxWGlnbzAwVHlRTUgxT1BpWHFrd3RBbTlUcTR3REJ0UXIwbHE2MjJXdW9jdDFrNkxFNEo5
TW8vY1FGagoram1WbTIxTXZTNFRKMDVNN2RXZUppelFaK2lDR25QQmh1MjAwMDVwd3YwbW0yeVM1
clpvZGkzMWVPbnZhcmZkZGpNWDZLUzNvYitWCjBCUG1BbE9iTUdHQ3JiZmVldWt4OVlSZGUrMjFh
VzVLNmYwcllWNS9oM3BQdW1mbHIyamloRW1USnFYbjZvY1M2dFcraW5wejFJWksKeUhWUnIxcWNF
NU1lNUFjQ0NDQ0FBQUlJSUlCQWl3azBLUURSVUo2UUpIM0pKWmVZSGlUalV2cmcycUZEaC9pd0xi
amdndWxyQlJLaAp4SGtUNjYrL2ZycGIwOEpxNkpZZUZCWHc2SitHNVR6KytPUHBVS3pSbzBlblEy
dENyb1JPYXQrK2ZTR2ZwTnJ4NXJRZDdudFcvQjQ2CmRHajZzSzJoVUhmY2NVZE5sOVJRSi9tR0lV
VWF5cVR6RmNCbzJKVUNFdzMzQ2tXZldlbm5WdW0xSmc3UTFMeFp4ZldrcElHRUFrclgKUTVZR0hp
RmdVcHRoVytkcWFKVGFVa0NrWThvbFVnQ2o0VkN1aDhTKyt1cXI5QklLT0RXVUs3NG41Y3VFSUVM
NzQyT2xyL1UzcVBjZAppbDdyOHcrbGMrZk9oZUFtN09NM0FnZ2dnQUFDQ0NDQVFINEM4elNuYVkz
enIxVFVNMUg2Y0ZpcHZyNkYxZ09pL3JraFcybGllVmJPCnc0Y2ZmcGdlTDIwclhLdmE4ZWEwWFhy
TnZGOHJvRkFQa0hxSDFFdWtJTEJTMFlPNXZ2Mi8vZmJiMDhrRGxJZWp6MEd6YWYzclgvOHEKTytW
dXBUYWJja3l6bzduaGNIYlpaWmVsczM1cDFxNFFlSmEyby92UzVBRXFtcFpaczRHNTRYM3BMR3Vh
WVUxRnVUcHhQa2k2c3hrLwoxS3ZraHI2bGVVbnF5V3ZYcmwyYVk5U01KamtWQVFRUVFBQUJCQkJB
b0FrQ1Rlb0JLVzFYUTJlMGtPQnR0OTFXZXFpdTF4OS8vSEg2CnpiY1MyTFZHaG5vODRtK3ZOWnhI
dlJ0NndOVzMvRys5OVZibWRhb2RiMDdibVJlc3NGTStlcWh1VHRGMHZDNDNKcDJoeXVVNVZHMUsK
RDloYVgwVlRKbXYyTEEzTHV2ZmVlOVBlQmlYMFZ5c2hrS3RXci9TNDdzM2xaWmg2YmhRMGFmSUJC
VDVaUlorZEZoRjBPU3YyK3V1dgpweE1LS0xsY2YxTnhVVkNxSHJGMzMzMjNzRnQvQnhxV1ZVL1JV
RDBORGRQOWFlS0NQTlpXcWVlK09BY0JCQkJBQUFFRUVQaTVDTlFVCmdMakU3OVRqKysrL2IrQ2lO
U00wQTVWTC9FMzNheHBYclJvZWlvN3J0ZmFyaER5RWtKK2dmWEY5amZkWDNvaHlBZnIyN1p0Kys2
M2gKTnJxK0hteTE1b09tak5Vd01IMXpybHlBVUpTWG9KNE50VmZ0ZUhQYUR0ZUxmd2VmK0gzcHVO
Ni9Ga2RVUUJVWDFaT2xTOGFQZHhlMgp3eEMxMEs1NmhOU3pvQWQyVFpOYmVwM0NpVE0zWFBKK21x
T2pJVThhNHFZOENQVkNLSSttTkxqUXJGQ2FaVW9QOVNvYTFxWWVKQlZkClg4ZjFMeFRWMWIrc292
dlRMRmdxbW1GS2kxUnFhRndvT2g2S0h2dzFHNWR5TzVUdm9mZWtRRVNmbjRaZ0tmRFVQV21kRlpl
d253WlIKcXFkL21tMU5PU1VxcGZjdjE5aEh4K08vc2JQUFBqdjllejM2NktQVDlWWksxN0hSMERV
RlVCUUVFRUFBQVFRUVFBQ0JuQVRjUTE3Rgo0cjVKVDJjVmNwZFBYTkp1c3Q5Kys2WC9OTXVVWm1a
eUQ3YnB6RXlhcFVnelVibEU0TVE5WENhYStjZ05CVXBuR2RMc1Y1ck55VTJaCm03NTJENVdKZTho
TnROOGxEQ2R1ZUZFeWNPREE1SmhqamtsbnZRbzM1S1p6VGR3d21YVG1MRjNMZllzZkRpVnVpRkhp
SHN3VHQwcDcKb3ZZMFE1VExGVWozcTFLMTQ4MXB1M0FUYmlQMmNRblNpVXVxVDF3QWxMZ0UrY1FO
aDBxTjNBTng0UlEzbkNpZDBVdWVMamhJWEM1Tgo0b1pHRlk1clppL05IS2JqN2lFK2NjT1NDc2ZP
UC8vOGRMOUw1azdjdzNwaGY5YUdtNG8yMGN4a29iZ3BjQnU4MXY3bm5uc3VjVlB3CnBtMjZoKzVF
czFHZGV1cXBxYmRtMG5KVDJTWnVtRlN5OHNvcko2N0hJWEVMS2FiZUx2aExaeTRMYllmZmVtOHVD
VHh4dzZtUysrNjcKTDNFSjNlbU1aanF1MmJIY0pBV0o3c01GQWVsNzA2eFZLaTVISlQzbWdwVjB4
aTdOMU9XR1JxVi9aN29uZmU3Ni9HWGlla1FLSnFYMwpyNW02WEFDVi9oM3E3OUVseEtlVytoc2FP
WEprZWkwM0VVTGFqdHB5QVZyNjk2cjcxSFZVWEdDU3VMeVFxck9OcFpYNWdRQUNDQ0NBCkFBSUlJ
TkJrZ1RZNnd6Mk0vYVJGUTNlVXdCenlBZUtiMFRmYW1pMUpRM0ZLait1YmJYMUxyM1AxamJtK0tZ
OUx0ZVBOYVR1K1RtdmMKVnUrTGNoeENLWDBkOW1mOVZrK1NUSnRhMVBPZ3ZBNGxrMnNvVlp6c3Jy
VTFOR21CZXJIVUt4Rm1uNHF2b1o2VjBDT2hYck40T0piKwpUTlVMcHBtdW1sTmNvSnV1U2FPL0Z5
VzY2MTQxSzVvTHJOTlY3SFVkSFF2MzBaeHJjUzRDQ0NDQUFBSUlJSUJBWTRGV0VZQTB2aTMyCnpH
a0NJUURSN0drL1ZibisrdXZUWUVNemI4VkZpZkthdnRmMVBNVzcyVVlBQVFRUVFBQUJCQkRJUWNC
UFFaUkR3elNKUUJCUXo0Z20KR0lnVHljT3hXZmxiSzc0cjkwUHJvR2c5RWZXNGFKWXR6UnBHOERF
clB3bXVoUUFDQ0NDQUFBSS9ad0Y2UUg3T24vNHNldTgzMzN4egpJYkZkczNscGF1R2ZxbWdxWXEw
dG9tRi9tdGFZd09PbitpUzRMZ0lJSUlBQUFnajhYQVVJUUg2dW56enZHd0VFRUVBQUFRUVFRQUNC
Cm4wQ2dwbWw0ZjRMNzRwSUlJSUFBQWdnZ2dBQUNDQ0F3QndvUWdNeUJIeXB2Q1FFRUVFQUFBUVFR
UUFDQjFpclE2Z0lRclZYbkZyNmUKSlNWYVgyK1dYRzkydmNqWFg1dWJDcm0rdTNlekFkc3p6eFRQ
TFgxZFBQTFRiSDN6elU5elhhNktBQUlJSUlBQUFnajhYQVdxQmlCdQpnaUJiWkJHemJiWXh0eXEx
bVZ0YzI1WmQxdHhhQ21ZYmIreGYzM0pMeS9HZGNZYTUxZEJicnIxeUxUMzdyTmxERDVVN3l2NGc0
QlpnCmQydHZtTjE2YTloVCsrL25ualByMmROc3Q5MzhPYVd2YTI4cHY1cnZ2Mjl1OWZiODJxZGxC
QkJBQUFFRUVFQUFnWVlDVmFmaGRldkIKMmNzdis2QkRweTZ3Z05tbW01cjk1Uysrb1NGRHpDM2M1
cmZyK1JtK0VYY1RFcVhGclZObjA2ZlgwMUx0NXd3ZmJ2YlJSMmJISHV1Vwp3M2JMTVA3KzkyYTZq
N2hvRGIvT25jMHRUbWUyL3ZyK3lJc3ZtbDEzWFZ6TGJ5KzBrTm5nd1dZLy9PRGIwdS9TY3RKSlpp
dXVXTDZPClhEdDJOTnQyVy8vUXJ2T3Z2ZFpzd2dTei92M05WbC9kdDNqMjJlWm1sQ3B0M2I5V2tQ
alVVMmE2bndFRHpDMG02UGRQbkdoMjFWV04KejJuWHpteUpKY3gyM2RXc2UvZkd4N1duVHgrejg4
N0xQbFp0NzNycm1mWHJaM2J4eGI1bTZldHE1MmNkUCtBQWN6TlhtUjF6akgrZgordHpPT3N2Y1Fv
Sm1xNnhpNXRhdHRKdHVNcnYvZm5NTElacWRlR0xSMDgyNGEvSTc5VlN6cFpieXJhKzhzcmtGRDgx
T084M3MvUE96CnJzZytCQkJBQUFFRUVFQUFnUllWMEVyb2xjcWpqelk4MnJadGt2VHJWOXozOWRk
Sk1tNWM4WFcxclI5L0xOYjQvdnNrMlhQUEpEbjcKN09LK2VyZmlkaXUxOGNrblNmTHJYeGRyL1Az
dkNrRXEvM3Y0WVYvLzhNT3o2M1hxNUk4LzhVVDJjYlgvOU5PK3pxaFI1ZXVvWGhzMwpMOWxUVC9t
NmZmb2t5VHp6SkluTVo4eElrczgrUzVLNTVpcC8vdkRoU2RLenB6L2V2WHVTQkpQZi83NzhPYnJt
M0hNbnlhUkovcHBaClAxZGZQVWt1dUNEclNQVjlsMStlSkowN0YrdVZ2aTRlcWI0MVpVcVM5T2po
Mzh1T08vcjYrdnRiYmJVa1dXV1ZKUG4yVy8rM0thT2wKbHZMMTJyVkxrbmZmOVhYbE0rKzgzbE9m
UTF6KzhJY2tlZkRCZUEvYkNDQ0FBQUlJSUlBQUFua0lWQjJDMWJ0MzVYaEgzekp2dEpHdgpvMitZ
anp2T3JGY3Zjd3U5bVdtWVV5Z2E1bkxOTldZWFhXUzI0WVorNzZXWCttK3FSNHd3Ty9CQWN3dlYr
ZU51dmJpMDZOdjhmZll4Ck8rRUVzeHR1TUxkYXRkbEtLNWxObVJKYU5WTWV4MUZIbVoxN3J0bldX
L3Y2RjE1b05uWnNzVTY4ZGZycHhTRkIycTk3R1RmTzEvaS8KL3l1R0l1cjUwZjNvbW5mZjdZK3JS
NkwwVVY0OVFHM2ErT05iYk5INGVHbnV4T2FiTjY3ajF1bHpDK0taWFg2NVArWVc1azdMN2JlYgpq
UnJsZTVqKzlqZXp4UmMzKzkvL0dwNnZlK3JRd2UvVHNMZ1hYakM3K21xelNaTjg3NGthVXJzeWtt
dDgvK3E1K3NjL3pOVGJjKys5Ci9wcmxmdW9lTlR4dTZhWE5WbDIxNFdkUTZYTXYxMTdZci93UzNk
dnh4L3VoZDI2ZFFMZEFZRGphOEhmWHJtYXZ2KzdyUC9xbzd5blQKMzUvK2ZpWlBObHRuSGJPSEgv
YnZTZTczM1dlbXoxSHZYMFUrY2xIdlIybXZqcFltT2ZsazcrdHI4eE1CQkJCQUFBRUVFRUFnRDRH
cQpBVWl0RjlXRDhVRUgrU0V1Q2h6ME1MalRUbVpmZk9HSEhXbUkwdTkrWi9hSFAvZ2hUWHFnMWZB
WURRRnlDMU9iVzZ2T0ZselFQOWkrCjg0Ni9xb2JIYUFpU2NqV1VoL0RrazM3L3dJSEZ1N3J4UnJP
MmJmM0RzWUlCQlRvS0NQU2duRlUwL0dxTk5iS09OTnczenp4bWJzMjgKZFBqVjFLa05qN1gwSzky
dmdnc05CZE13TEwyZlVEYlp4QTgxVW5KK3JXWHZ2WDNOVHo2cGZJWUNEdzN0MHRBbEJSR1ZpdHdV
V0NxaApYSi8xQlJmNDJwVSs5MHJ0aFdQYmIyK21vVm1YWEdLbWF5aFBSTGxHbGNxT08vckE0c3N2
ZlMxOVRtcm50ZGY4MzU4Q0pCWDkvU25vCmlwUGdsYiswM1hibVZtYjNkY0pQL2EwcE9IbnBwYkNI
M3dnZ2dBQUNDQ0NBQUFKNUNMUllBREpzbVA5MlhUMFArblphZ2NXMGFlWlcKbmZaQmlQSVE5TzIw
eXFHSCtycitWYkVIUVEvZnE2MVdQS2FnUXowUTJxZGsrR1dXTVZNUGdoNFVRMUZ5OUtLTCtsZDY4
RlFiS3FwYgpXaFJJdUlXdzA0ZjkwbVBsWHJkdjc4OHBkN3llL1FxdzlJMi92djJQaTNwelB2L2NC
d1JodjNvRDlLRGRyVnZZVS8yM2NrQlVhcDNoClNUMG9jcWxVNUs4ZUh2VWVLRi9uelRkOTdVcWZl
NlgyZEV4L0orcDlVaStYaW5JeERqN1k3TUVIemNhUDkvdXlmaXBZVXZBVUI1bnEKQ2RIN1VCQWNG
K1h3aEhzTisvVzNXZHJMb210cnNvVzMzZ3ExK0kwQUFnZ2dnQUFDQ0NDUWgwQ0xCU0I2WUZRZ01O
OTgvcCtHWlQzKwp1QitLcFdSb3pZU2tiNjZWVU4yMXE1ODlLN3loTUlSSnI3VmQ2YlVlTXVPa2Q3
Mk9IMWFWT0s1djFMT0todW1vL1BLWC9uY3RQelhyCmw0WXR0V1RSOENEMTFwUStCR3VZbFpMUmYv
T2I0dFgrK1U5L2ZRMDl5NnZNNWY0S3FyM0grRFBSZzNvSW5pcDk3dFh1OS9ubmZjQ28KaC85UTFs
M1hiNm5ucTF6UnNERUZaTHJ2VUY1NXhjL1Vwc0FrTG5MNzZxdUdmelB4OFhoYmYwdXphZ3JvK0xw
c0k0QUFBZ2dnZ0FBQwpQeWNCTjlDb1pZcSt1ZGV3Slgzam5GVTBuV3VYTG1hWFhlWm4xVktlZzRa
Y05iZG90cWQrL2N6MEFLcUhUODNzcEtGQ1dTWDBqcFRPCmVKVlZkMWJ2VXkrSGNpelVNNktlbjFE
MFFLNDhCdG0yeGxMdGM2OTB6NkhIUjhHTWVwcFUxTnVsOTFxcDkwWjVSTXJ6Q1dYR0REUDEKc0ds
bXJOSVNlc2MwaEczSkpVdVBObnd0Wi8zOVVCQkFBQUVFRUVBQUFRVHlFNGkrUTI3ZVJUUzJYajBl
Y2UrRXZsVWZQZHJzMDAvTgpOUHhwNkZBLzdFYkJ3cDEzRnE4WGY3dGUzRnZibHNiemEwaVhodk5v
bWx6bG41UXJ1a2ZsVjFRYmJsVHUvTHoyNjM3MFB2U3dyT2w2CjR5S2IxaHA4NkQ0cmZlN3grOGph
VnUrRWNraVVPQitLL2s0MGpYR1BIbUZQNDkvcStWRFBWQ2hqeHBncHAwaER4RXBMNk8ycVpXcG4K
RGUzcTJyVzBCVjRqZ0FBQ0NDQ0FBQUlJdEtSQWt3SVFQZVJwbllXc2g3bStmWDBpOCtHSG0ra2Jh
VDFJYWswUHJYMmhiNS9EWW0rYQpxV3Jubll2ZmVDKzhjSEZkQzUybmI4VTFOQ2tNQ2RMMWROMVFk
RndQcmFGb1hRY054OUhzU1ZxelFrT1l5aFU5dUNycHV0dzRmODJRCnBVVHcrSjl5V0ZxaXA2YmNQ
U241WGcveGVxQldrbjNvQ1NoWC82ZllMM1A5QzBXZlR4ZytWdWx6VjMxOWZ1cFpDQ1YrcmNrSGxG
T2kKd0RVVUJaRUtUTFNtU2ExRmJ2b2JDRDBjK2xzTG42R0d1cW5FZjBOK1Q4T2YraHZWZldyeUJB
b0NDQ0NBQUFJSUlJQkFmZ0kxRCt6UgpERU5YWE9FZjVQU05zeDdzZnZ2YjRzTzVaaEhTOUs5YTNF
K0o0Y3I3dVA1Ni8xQ29tYkN1dk5JUGIxR09ob0tPTU5PUnZ2blhyRllhCmNxTUgwbnZ1OGRzYXFx
WGhPSG9nMWJBWVRlbXI0RUk5SGNxaDBFUHJWbHY1M2d3bEh1dWZIdUoxM2QxMzk3MHR5a2NwTFdl
ZTZlK3YKWDcvU0kzNG1yc1o3elk0OE1tdHY4L2NweU5JcThvTUcrV0ZrV2ZmYi9LczByd1Y5SHNx
ZGtmdisrL3ZBVU51YW92aUJCM3hlVDduUApYVGtlZDl6aEExQk53YXpnTDM1OXlDRitHbVl0SXFp
ZUNzM0dwZU9hRXJncHZUN3E5UW9MV2VyZDZqT09KeXBRa0JNV2NpeW5vY1IzCnpacWxHYlVvQ0ND
QUFBSUlJSUFBQXZrSnVHWHZRbDlEeTF4RTMzQXJRTkFzVk9FaFV0OCtxL2RCZ1lnU2pqVmpVVnlV
UnhCVzdZNzMKMTdLdDRFWHJPMmpvbDVLTmRRM056S1NIMm5MNUtKcXlWUS9FOFN4S3RWd3JxNDZH
bFNrbm9keVV0MXExL0ZlLzhyT0JoZVJ5UFRCcgpOaStkbzJGWGNSSjIxalZtaDMxWm4zdXQ5NjIv
UU0wTXByOFJ6WHFXZDFIQXA4Ly8vZmVMVjFLdm5QNldGRWhURUVBQUFRUVFRQUFCCkJQSVRxTGtI
cE5aYjBMZjRwUStSZXJCVVVjOUhWcWszK0ZBUGl4YnFPK1dVaHEycUo2UnIxNGI3NGxjNlR3dlJL
WGlJMTl5STY4eUsKYmQzbm5CQjh5Q3JyYzYvVlVIa3VHcXIzVTVVLy90RXZvRW53OFZOOUFsd1hB
UVFRUUFBQkJINU9BaTNlQXpJcjhaVE1yakg3bXQ1WApLNjhyTDBHSnhGcXpRdjhxbFk4K01oczVz
dkc2RVpYT3lUcW1vVWlhdXJWY3pvSjZaalRqMThZYkY5Y3JVWS9QMy85dXR1MjIvc0U5CnExMzI1
U2VnejJ2S0ZEUGxJeW5IUjhIVCt1dm5kejFhUmdBQkJCQkFBQUVFRUNnS3pOWUJpTjZHWnBEU1E2
Um0ybElld0FvckZOOGMKV3dnZ2dBQUNDQ0NBQUFJSUlOQzZCR2I3QUtSMWNYSTNDQ0NBQUFJSUlJ
QUFBZ2dnVUVsZ1puWkdwU29jUXdBQkJCQkFBQUVFRUVBQQpBUVJhUmlEWEFPVC91Y1VWM3RhQSt4
eksvOXhpSUcrKytXYlpscjkyeTJ0L3BFUVBpcldrUlRYM2FzY3JmUnpOT2JkU3V4eERBQUVFCkVF
QUFBUVFRYUQwQ1ZRT1ErKysvM3piYWFDTnI0NllxT3V5d3c4cmUrWkZ1c1F6VldkbE5KVFI4K1BD
MDNobG5uR0c3N0xKTDJYUHEKUGZDQ1d6cDd6VFhYTEhzLzExMTNuWnZlZHRIQ2ZkUjduVG5odkph
MHFPWmU3WGdseithY1c2bGRqaUdBQUFJSUlJQUFBZ2kwTG9HcQpBY2hPYm5XMkFRTUdwTUhGclc2
RndjODFoVk5KK2ZMTEwwMkJpc3FCQng3b0ZoUjBLd3E2Y281YkNuM0VpQkhwZGt2K1dNZE5mYlhw
CnBwdTZLV3pueld6MmNMY2MreUtMTEpKNXJOYWQvL25QZit3cExkaVJVOG03L1hEYkxXRVIycXJt
WHUxNGFDZnJkM1BPeldxUGZRZ2cKZ0FBQ0NDQ0FBQUt0VTZCcUFLTGIxc1A4OW03MXZuKzdPV1d2
dmZiYVJ1L2twcHR1S2dRZEMwZUxmYWdYWXNVV1h1RGhSNjFxNk1vOApicFhEdWNJQ0k0M3VTT3Ry
ekpzR1RSbUhxdTc2NzMvLzYxYjkzdC9HamgxYnRXNDlGZkp1di9TZW1tTVIycXJtWHUxNGFDZnJk
M1BPCnpXcVBmUWdnZ0FBQ0NDQ0FBQUt0VjZDbUFFUzN2OFVXVzlocXE2MW1WMTExbFgydlphOW5G
aTJrcnQ2UFhYZmROZXhLZjMvaWx2bSsKeUMwUnZzRUdHNlN2WDNycEpiZnV3dGEyeWlxcjJPalJv
MDJ2MTFoakRidjU1cHNMNTMzbUZ2RTQ3cmpqckZldlhtNWRqN1h0MldlZgpMUno3OXR0dlRjTzh6
bk1yQ0I1eHhCSDI0b3N2Rm82VjI5QTVKNXh3Z25YcTFDbHQ3NDAzM2tpcjNuWFhYYmJra2t2YUZW
ZGNrYjYrCjg4NDdyWHYzN21tNzJuSHBwWmVtNzBtOU4rclIrZWFiYjlKNjRZZDZSdmJaWjUrMDdS
dHV1TUV0dkxpOHJiVFNTbTV0Q2JlNHhNeWkKdkl1ampqcktqai8rK0hRWTJ0RkhIKzNXS1hFTGxi
aFNyWDNWS1dmeGpsc3kvS1NUVGtxZEhuamdBVnRycmJXc1o4K2VObjc4ZUh2RgpMWXl5aDFzV2Zv
a2xsckFMTHJoQXpSUktPUXRWS0hjdEhhdm1YdTE0YzlvKzk5eHozVG92YnFFWENnSUlJSUFBQWdn
Z2dNQ2NJK0FDCmlLcmxpU2VlU054RGMrSWV0aFAzemhQWDQxRTQ1N0hISGt2Y3cyN3l6RFBQcE1k
Y0QwbDZiT3JVcVlrTEZKTEZGbHVzVUZmdDZQeEgKSG5ra2VmamhoNU1oUTRZVWp2M3d3dy9KdHR0
dW03amhYSWxMUms3YzBLR2tZOGVPeVl3Wk05STZyZ2NtY1lGQ3VxM2pYYnAwU2JiYQphcXZDK2FV
YlN5MjFWT0tDbmNRRlI4bVRUejZaZE8zYU5WbHV1ZVVTMS91UVZuVUJTSEwrK2VjWFRuUEJVZUtH
amhWZXE3N2VWMWI1CjlOTlBrMjdkdWlVdTZFaGNFSkM4OTk1N2lRdGdra01QUGJSUWZaTk4vU2py
SHdBQUlBQkpSRUZVTmtsdXVlV1c5TFVMMkpKMTExMDMKMldHSEhRckhLN1ZmeWNJRklJa0xPcEps
bDEwMnVmdnV1eE1YQUtUM3ZjSUtLNlQzNjRiSUpXZWVlV2JpOG5HUzZkT25wOWVyWkZIcApXanE1
bW51bDQ4MXQyd1c3eWM0Nzcxd3dZd01CQkJCQUFBRUVFRUJnOWhlb3VRZEVJVmVmUG4zTUJRWHBO
L2g2cmFJZWdLemtkTlZUCmo0a2o4aFhkVC9XaTdMMzMzbmJxcWFlYThrblVLeERLc0dIRDByb2E5
dlRvbzQrbTMrSlBtemJOTFRMNGROb1Q0Z0lXNjkyN2QxcGQKUTYrMjIyNjdjR3JaM3djY2NJQmJK
WDFIdDBEaFpqWm8wQ0NiUEhteXVTQW9yYi9BQWdzMEdLTFZybDI3QnE5VlNVbjFXVVU5S3VyMQow
UHR6UVlVdHM4d3l0dm5tbTl1a1NaUFM2cnIvY2VQR3BiMGsycUVoVUFjZmZMQTkrT0NEYVU5RmFM
TmMrNVVzZEYwbDRLc25hZmZkCmR6ZTlEeVg2di8vKyszYktLYWVreWZmSEhudHNhcWw5b1pTenFI
UXQ5VUJWY3E5MnZEbHQ2NzdWNDVWSERsRXc0VGNDQ0NDQUFBSUkKSUlEQXJCZG9VZ0RTdG0zYmRK
alN4SWtUMHdSdERUbGFhS0dGMG9mZXJGdlhBM2JwUS9iZ3dZUHRyYmZlU29kRXpUMzMzSVhUTklS
SQpPU1B6elRkZitrOHpiejMrK09OcFBRM1owaENuT0wra2ZmdjJqZG91TkRaelEvY1d5dnJycjU5
dU5tVmE0Tko3RDIzcGQrbDc2OUNoClE1b2pvMlBQUC85OEdxakZTZkt1QjBTSGJNS0VDZWx2L1Nq
WGZpV0xyUE4wN2Jnc3VPQ0M2VXNGY0tHVXM2aDByV3J1MVk0M3ArMXcKMy94R0FBRUVFRUFBQVFR
UW1MTUU1bW5xMjlHMzBoZGVlS0VOSFRvMERRcjY5Ky9mcENiMFVLN2VFZVdISEhMSUlZV2dRck5y
S2JGOAp5eTIzYk5UZWh4OSttRG43VnJrSCtFWU51QjNxcGRDRGV1bkRlbGJkNXU1VFhvVGVqL0pB
RkNpcHFMZEU3NjgwbnlUcldwVXNzdXFyClJ5aTJpTGV6NnNjV2xhNVZ6YjNhOGVhMG5YWGY3RU1B
QVFRUVFBQUJCQkNZL1FWcTZnSFJMRVZocHFMT25UdW53NmcwbkVoSjNVb2sKYjBvNS9mVFQwMkU5
ZWtqV2RpZ3VweUh0OGRCTVc2Rm8rSmErWlhmNUhxWnY4OVZ6VW0vNStPT1A3YXV2dmtxVHRrTWI0
VDJGMTZXLwpxejNJbDlZUHI5VmJvMFgxdExaRktDNG54bHhPaFBYbzBTUHNhaEEwRkhhNmpVb1dj
YjE2dDJPTFN0ZXE1bDd0ZUhQYXJ2ZTljUjRDCkNDQ0FBQUlJSUlCQTZ4YW9LUUJ4eWN5bUIraFFR
bzVCdjM3OXdxN0NjWmMwWHRpbm5nRE4vQlR5UUpRYm9XbDU5UkN1WHBScnJybW0KTUNTcGI5Kys2
V3hNV3JkQ2JlaDZXa2RFOVpVM290NkRlQXBncllLdWI5ajFvRit1eE1kY0lucWFLeEVDSnZWSVBQ
ZmNjK21NWG5vZwpmL2ZkZDAwcnQ0ZWk0Vjc2aGw4bGZrL2h1R1lDaXdNWXZkZHdQYTJENGhLLzA0
QXExTmVzWFFwTXR0bG1tM1JYcGZZcldlaGtUZU1iCnJxWFhXbE5FcjdWZlJZR09TbngvY2YzWW90
SzFxcmxYTzk2Y3RuWC95Z2RTVHhzRkFRUVFRQUFCQkJCQVlBNFNxSlpIZjl0dHR5VnUKZGZQRVRl
MmF1SUNoVUgyLy9mWkxOTXVSeXFoUm94STNkVzQ2dzVVTExoSzNFbnJpSHU0VE53VnZ1czg5UkNh
YUxjdjFuaVF1ZnlROQo1L1hYWDA5Y0RrZzZtNVBxcXFqOStlZWZQNTNCU1ROZzNYdnZ2ZWwrL2Jq
OTl0c1ROM3dxVWZ0NzdiVlg0cExMa3cwMzNERGRYNmdVCmJXZ21LQmRrSkM3NVBCazRjR0J5ekRI
SHBETnNoU3E2WjVkemtzNk1kZUtKSjZZemRya2srWFRHTE5WeGlmTHBmYmprOGNSTkpSdE8KUzMr
UEdUTW1jUUZFT2hPWHkzTkkzNU5tb2RLOWp4dzVNcTN6OHNzdnAyNFhYM3h4T3VPWG03WTNjVDFH
aFhZcXRhOUs1U3gwUGMwQQo1aExoRXpjZGNPTHljTkxadGR5ZlpEcjcxUmRmZkpHNHFZcFRkem01
SUNyZFg4bWkzTFYwSDlYY3F4MXZUdHR1a29MMGJ5YjhuZWwrCktBZ2dnQUFDQ0NDQUFBS3p0MEFi
M1g1cmlxZlVzL0RCQngra09SdnE5WWlMdnNWWGI0U2IyamROK0ZaU2ZMWGlwc3hONjVlMnBmTjAK
TGJXcG1hVFVleEFuamV1NGVsaDByWHFMYUxWdWgzSTBOSHRWYWFuV2ZpV0wwclpxZVYzTm9sNzNh
cDlMcGZkUjZWejVhVWllUGg4SwpBZ2dnZ0FBQ0NDQ0F3SndoME9vQ2tEbURsWGVCQUFJSUlJQUFB
Z2dnZ0FBQ1dRSTE1WUJrbmNnK0JCQkFBQUVFRUVBQUFRUVFRS0NwCkFnUWdUUldqUGdJSUlJQUFB
Z2dnZ0FBQ0NOUXRRQUJTTngwbklvQUFBZ2dnZ0FBQ0NDQ0FRRk1GQ0VDYUtrWjlCQkJBQUFFRUVF
QUEKQVFRUXFGdUFBS1J1T2s1RUFBRUVFRUFBQVFRUVFBQ0JwZ3EwdWdCRWF3RysvWFpUMzBaOTlk
M2FnV241K210elUvL1cxNFpiQTlDZQplYVo0YnVucjRwSFpiK3ViYjJhL2UrYU9FVUFBQVFRUVFB
QUJCRnEzUU5VQVpJY2R6QlpaeE53SzNtWjc3V1UyOTl4bXl5NXJ0c2NlClpodHY3Ri9mY2t2THZj
a3p6akMzWW5uTHRWZXVwV2VmTlh2b0liTy8vdFdzVXllelcyOHRWN1A4ZnJlUXV2WHNhYmJiYnI1
TzZldnkKWjg0ZVI5NS8zK3l1dTJhUGUrVXVFVUFBQVFRUVFBQUJCR1lQZ1lZci9XWGNzMXVmejE1
KzJRY2RPcXcxNFRiZDFPd3ZmL0dWaHd3eAp0MWljMzY3blorZ3gyR3d6Zi9ZNTU1aE5uMTVQUzdX
Zk0zeTQyVWNmbVIxN3JEL252UE5xUHpldXVkNTZadjM2bVYxOHNkOWIranF1Cm03VTllYkxaMEtI
K245WmMxQVAvalRlYWpSMXJ0dnJxWnJKWWNFRi81ckJoWmxPbm1oMTJtTmw4OC9sOUNxQkdqTWhx
MmR3Q2ltWnIKckdIMitPTm1oeDVxdHY3NnZ0NlBQNXI5L3ZkYWhMSGhlYnIrNG91YnJiT09tWUpP
bFpWWE5yYzRvOWxwcDVtZGY3N2Z4MDhFRUVBQQpBUVFRUUFBQkJKb2pVRFVBT2U2NFl2Q1JkYUhE
RHplYk9ESHJTUFkrcmJ2ZXBvMC9wdUJtLy8zTlZsM1ZMQVFnaXk1cXBuOU5MWEc3CmxjNTFDNlBi
b0VGbUw3MVVyS1dIN0hCUHhiMjFiU2tZaU04dGZWMnBsYzgrTTd2K2VyTmYvTUxzK09OOVlLY2dv
MTA3czZlZThvSGYKMDAvN0Z1Ni8zK3oyMjgydXZkYnM3MzgzVzJnaHMwc3U4Zld5cm5Id3dXYnE1
VkVQejgwM202bDNadTIxL1hDeHE2L09PcU80VHo1LworSU4vdmVLSzVsYUw5NzFGMjI5ZnJNTVdB
Z2dnZ0FBQ0NDQ0FBQUwxQ014VjdhVGV2U3ZYME1QelJodjVPbnFnVnNEU3E1ZC8yTlVECmNDZ2F5
blBOTldZWFhXUzI0WVorNzZXWG11bkJXdC9pSDNpZzJidnYrdU1iYk9DUDZ5RjhuMzNNVGpqQjdJ
WWJ6SlpmM215bGxjeW0KVEFtdG1pbVA0Nmlqek00OTEyenJyWDM5Q3kvMHZRakZXc1d0MDA4dkRw
a3E3alZUejRDR2Z5Mjl0QStJNG10VWVsOXhHMW5ieWkvUgovU25BME5DeW80ODIrKzQ3WDFQdlU3
MG5NcEZaang1bW4zL3VlMEowam5wQ0ZHeW8zSGFiMlQzM21MMzJtZzhxdE8vSko4MFVlSVYvCm9l
Zm8wVWU5bDN6ZmVNUDNXdDE5dDg3d3crWkNVUFBoaDhWekZXUjg4b25aVmx1WnFZY29MdnZ1YTNi
eXlUNFFpZmV6alFBQ0NDQ0EKQUFJSUlJQkFVd1dxQmlDMU5xZ0gySU1PTWp2N2JQK3R2SWJ5N0xT
VDJSZGZtUDN3ZzluZ3dXYS8rNTMvWmwzRGdmVEFmK0tKWmtzcwpZYmJubnY1YmVnMDMwb1AvTysv
NHEyb0kwSVFKL3R0MzVXbm9nVnRsNEVEL1d6ODFaS2x0V3g4OGFEaVlBaDMxU0NpUXlDcDZ1TmJR
CnBOS2kvUW9DbEZDdTkzTEJCYjVHcGZkVjJrYldhL1VhYUdpV2VpdDBEZlZFS0pjbWxFTU84UUdD
aG1QOStjOStXejBnR3Zha0VpZTQKSzlkRVhoOS83SS9WOHJOclY3TjExL1hCUmFYNmM3bS9oTTZk
ZlJDbmdDc3UraHdtVFdyWWF4UWZaeHNCQkJCQUFBRUVFRUFBZ1ZvRgpXaXdBVVk2Q3Zvblh0L2I2
Qmw0UHl0T21tZW5iZGdVaEdxYjE4TVArdHBTVG9McWhoQ0ZNSFR1YXJiWmE4WmlDRHZWNmFKL3lF
cFpaCnhtenp6ZjNEY0RoWHllTmh5SmFHY3FrTkZkVXRMUnJlOUs5LytWeUgwbU5xZjRzdHpKWmF5
ZzhIZS9OTlg2UFMreXB0by9TMUhNYU4KODcweU9xYWhYaG9hOWVDRFp1UEgrOW9LTnZUK2xkVGZw
VXV4QlFVRGV0L2hQc0lSdVlZZWxMQ3YybThOMTZwMVJxdjI3ZjNuRmJlcAorOVpFQkcrOUZlOWxH
d0VFRUVBQUFRUVFRQUNCcGd1MFdBQ2lCMm9GQXNxQjBEOE55MUlDdFBJT2xCQ3RiKzkzM05Hc2Yz
OHpmU3V2CjJiUkNDUUdJWG11NzB1c09IUm9tdmV0MWVKalgrWHB3VjQ5RFZsRXZnOG92ZitsL3h6
L2phK3BoVzBPblZDcTlMMStqL00vbm4vY0IKa1I3Z1ExRnZoSXA2ZGxSMFR3b09zbWIrNnQ3ZEo1
Nzdtc1dmOGIwVzk1YmZha3I5K0hPSlc1VHpySm9lT2I0dTJ3Z2dnQUFDQ0NDQQpBQUp6bGtEVkpQ
UmEzNjV5RnpTVDBwWmJacCtoWkdoOXczL1paVDY1K3JISGlqTThaWjlSMjk0QkEveE1WSys4WWpi
Ly9ENkJXME9wCnNrcm9IZEhNVzdXV2F1K3JVanZLVDlINUNtYlVzNkNpWGcwNWhSNkowYVA5NjZ4
Y0d3VjBlbCt0b1dqQ0FQWFdVQkJBQUFFRUVFQUEKQVFRUWFJNUFpL1dBYUcwUTlYakVVL0pxbUpV
ZXNEWHpsSVkvYWNwWkRVdlNRL1dkZHhadnV5bmYwQmZQOGx2YmJlZW5tVlc3TDc1WQpmbFlvMWRZ
OUtsOUV3N0JxTFpYZVY3VTJsREN2SEpJWFhpaldsSU55WXBSd3JxSzhGdVhMcUllaHRDZ0EwY0tN
cmFFb0wwUTlWeFFFCkVFQUFBUVFRUUFBQkJKb2owS1FBUklualdqOGl6TFlVWDdodlh6TTlwR3Bh
M2hremZNQ2hkU3cwamFzZW9zT0NkcHFwYXVlZGl6MEMKQ3k5c3B0bVlWSFNlZWcyVTR4QnlSSFE5
WFRjVUhkZERmU2hLZXUvV3pjOHUxYWVQVCtJT3gwcC9LOUZhNjJ1VTVqS29UZjBMUmRjUAplUmFW
M3BmcTYvN1VPeEJLL0ZySjljb3BVV0FXaW9Ja0JTWmEyRkZGTTMwcHJ5VVV6VGFsZFRyMFQ4Zmk5
eDdxek9yZit2ejBIaFVvClVSQkFBQUVFRUVBQUFRUVFhSTVBelFHSXBuODk4a2ovUUR4bWpKbG1u
UHJ5eStLbE5WT1MxcGRRb0tGdjdwVVFydG1tbGx6UzE3bnkKU3IvbWhhYmRWZEFSWm9KU0Q0YU9h
VFlvelJDbHFXWTFQRWxEdFVhTjhyMGFtZ2xLVS9yKzR4KytCK1hWVjRzUDllck4wT3hiNnRuUQow
Q2JsZ0NqUFJJRkFWam56VERNTi93cEYxMU1laG5wUWxDaXYzQXh0YTByZ0J4N3dpL0dWZTEvSzhi
ampEaDlnYVlwaFRaa2J2MWJ1Cmg5N3ZmZmY1V2NBZWVjUWZ2L2RlZjYrYUlsZFQzNFlBNUovL05O
TVV3dkxRUCtXZnRJYTFONVEwcnhuTmxsc3VxUEViQVFRUVFBQUIKQkJCQUFJSDZCTm9rcnRSM2F2
WlpldkQvNEFNL0M1VUNBaFY5aTYvZUI4MkdwWWR5clIwU0YrVkpLRkc5bnFJcGVUV0RsSVorZmZX
Vgp2NFptcnRwdnYvTDVLSHFvVjhCUWJxcmVyUHZJZWw5WjliTDJTVmhUQzh0QXMzbzFweWlwWHdG
TFdIMjlPVzNWZXE1NnJPU3NJSk9DCkFBSUlJSUFBQWdnZ2dFQnpCR2FHQ00xcG91RzVtZ0dyOUNG
YkQ5NHE2dm5JS3ZVR0gxcEZYTDBrcDV6U3NGWE41RlFwWDBIbm5YZWUKejBsUnowa3RKZXQ5MVhL
ZTZpakhSVVBSWnNmeXh6LzZ4U1VKUG1iSFQ0OTdSZ0FCQkJCQUFBRUVXcDlBaS9lQXpNcTNxR1Iy
NVNWbwplbC8xRENodlEza29XdE5EL3lxVmp6NHlHem5TRDkrcVZLKzFIUnM5MmsvdHU4b3ErZCta
MW5CUjRLV0ZJeWtJSUlBQUFnZ2dnQUFDCkNMU0V3R3dkZ0FoQU9TQjZVTlpNVzV0dFpyYkNDaTNC
UWhzSUlJQUFBZ2dnZ0FBQ0NDQ1FoOEJzSDREa2dVS2JDQ0NBQUFJSUlJQUEKQWdnZ2tJL0F6T3lN
ZkJxblZRUVFRQUFCQkJCQUFBRUVFRUFnRnNnMUFQbC9iZ0dKdDk5K083NWVpMjMvenkwRzh1YWJi
NVp0NzJ1MwovUGhIU3ZTZ3VKWFlXODZpbW51MTQ1VStqdWFjVzZsZGppR0FBQUlJSUlBQUFnaTBI
b0dxQWNqOWJpR0xqVGJheU0zazFNWU9PK3l3CnNuZCtwRnNrUkhWV2R0TWxEUjgrUEsxM3hobG4y
QzY3N0ZMMm5Ib1B2T0NXRmw5enpUWEwzczkxMTEzbjFpSlp0SEFmOVY1blRqaXYKSlMycXVWYzdY
c216T2VkV2FwZGpDQ0NBQUFJSUlJQUFBcTFMb0dvQXNwTmJnVzdBZ0FGcGNISHJyYmZhNTFxMG82
Ujg2VllrVktDaQpjdUNCQjlxZVdnTGNsWFBjVXVnalJveEl0MXZ5eHpwdTZxdE5OOTNVclNuaUZo
WEpLSWU3NWRnWFdXU1JqQ08xNy9yUGYvN2pWaUozClM1SG5WUEp1UDl4MlMxaUV0cXE1VnpzZTJz
bjYzWnh6czlwakh3SUlJSUFBQWdnZ2dFRHJGS2dhZ09pMjlUQy92VnU5Nzk5dXRiOXIKcjcyMjBU
dTU2YWFiQ2tISHd0RmlIK3FGV0xHRkY4RDRVYXNhdWpLUFcrVndyckRBU0tNNzBvS0g4NlpCVThh
aHFydisrOS8vMnY3Nwo3MjlqeDQ2dFdyZWVDbm0zWDNwUHpiRUliVlZ6cjNZOHRKUDF1em5uWnJY
SFBnUVFRQUFCQkJCQUFJSFdLMUJUQUtMYjMyS0xMV3kxCjFWYXpxNjY2eXI3WHN1QXppeFpTVisv
SHJydnVHbmFsdnovNTVCTzc2S0tMYklNTk5raGZ2L1RTUzdiMTFsdmJLbTRCaTlGdU1RdTkKWG1P
Tk5lem1tMjh1blBlWlc4VGp1T09PczE2OWVybDFQZGEyWjU5OXRuRHMyMisvTlEzek9zK3RJSGpF
RVVmWWl5KytXRGhXYmtQbgpuSERDQ2RhcFU2ZTB2VGZlZUNPdGV0ZGRkOW1TU3k1cFYxeHhSZnI2
emp2dnRPN2R1NmZ0YXNlbGwxNmF2aWYxM3FoSDU1dHZ2a25yCmhSL3FHZGxubjMzU3RtKzQ0UWEz
OE9MeXR0SktLOW1VS1ZOQ2xUVHY0cWlqanJMamp6OCtIWVoyOU5GSHUzVkszRUlscmxSclgzWEsK
V2J6amxsUS82YVNUVXFjSEhuakExbHByTGV2WnM2ZU5Iei9lWG5FTG8remhsb1ZmWW9rbDdJSUxM
bEF6aFZMT1FoWEtYVXZIcXJsWApPOTZjdHM4OTkxeTN6b3RiNklXQ0FBSUlJSUFBQWdnZ01PY0l1
QUNpYW5uaWlTY1M5OUNjdUlmdHhMM3p4UFY0Rk01NTdMSEhFdmV3Cm16enp6RFBwTWRkRGtoNmJP
blZxNGdLRlpMSEZGaXZVVlRzNi81RkhIa2tlZnZqaFpNaVFJWVZqUC96d1E3THR0dHNtYmpoWDRw
S1IKRXpkMEtPbllzV015WThhTXRJN3JnVWxjb0pCdTYzaVhMbDJTcmJiYXFuQis2Y1pTU3kyVnVH
QW5jY0ZSOHVTVFR5WmR1M1pObGx0dQp1Y1QxUHFSVlhRQ1NuSC8rK1lYVFhIQ1V1S0ZqaGRlcXIv
ZVZWVDc5OU5Pa1c3ZHVpUXM2RWhjRUpPKzk5MTdpQXBqazBFTVBMVlRmClpKTk5rbHR1dVNWOTdR
SzJaTjExMTAxMjJHR0h3dkZLN1ZleWNBRkk0b0tPWk5sbGwwM3V2dnZ1eEFVQTZYMnZzTUlLNmYy
NklYTEoKbVdlZW1iaDhuR1Q2OU9ucDlTcFpWTHFXVHE3bVh1bDRjOXQyd1c2eTg4NDdGOHpZUUFB
QkJCQkFBQUVFRUpqOUJXcnVBVkhJMWFkUApIM05CUWZvTnZsNnJxQWNnS3psZDlkUmo0b2g4UmZk
VHZTaDc3NzIzblhycXFhWjhFdlVLaERKczJMQzByb1k5UGZyb28rbTMrTk9tClRYT0xERDZkOW9T
NGdNVjY5KzZkVnRmUXErMjIyeTZjV3ZiM0FRY2M0RlpKMzlFdFVMaVpEUm8weUNaUG5td3VDRXJy
TDdEQUFnMkcKYUxWcjE2N0JhMVZTVW4xV1VZK0tlajMwL2x4UVljc3NzNHh0dnZubU5tblNwTFM2
N24vY3VIRnBMNGwyYUFqVXdRY2ZiQTgrK0dEYQpVeEhhTE5kK0pRdGRWd240NmtuYWZmZmRUZTlE
aWY3dnYvKytuWExLS1dueS9iSEhIcHRhYWw4bzVTd3FYVXM5VUpYY3F4MXZUdHU2CmIvVjQ1WkZE
RkV6NGpRQUNDQ0NBQUFJSUlERHJCWm9VZ0xSdDJ6WWRwalJ4NHNRMFFWdERqaFphYUtIMG9UZnIx
dldBWGZxUVBYancKWUh2cnJiZlNJVkZ6enoxMzRUUU5JVkxPeUh6enpaZiswOHhianovK2VGcFBR
N1kweENuT0wybmZ2bjJqdGd1TnpkelF2WVd5L3ZycgpwNXRObVJhNDlONURXL3BkK3Q0NmRPaVE1
c2pvMlBQUFA1OEdhbkdTdk9zQjBTR2JNR0ZDK2xzL3lyVmZ5U0xyUEYwN0xnc3V1R0Q2ClVnRmNL
T1VzS2wycm1udTE0ODFwTzl3M3Z4RkFBQUVFRUVBQUFRVG1MSUY1bXZwMjlLMzBoUmRlYUVPSERr
MkRndjc5K3plcENUMlUKcTNkRStTR0hISEpJSWFqUTdGcEtMTjl5eXkwYnRmZmhoeDltenI1Vjdn
RytVUU51aDNvcDlLQmUrckNlVmJlNSs1UVhvZmVqOVRjVQpLS21vdDBUdnJ6U2ZKT3RhbFN5eTZx
dEhLTGFJdDdQcXh4YVZybFhOdmRyeDVyU2RkZC9zUXdBQkJCQkFBQUVFRUpqOUJXcnFBZEVzClJX
R21vczZkTzZmRHFEU2NTRW5kU2lSdlNqbjk5TlBUWVQxNlNOWjJLQzZuSWUzeDBFeGJvV2o0bHI1
bGQva2VwbS96MVhOU2IvbjQKNDQvdHE2KytTcE8yUXh2aFBZWFhwYityUGNpWDFnK3YxVnVqUmZX
MHRrVW9MaWZHWEU2RTllalJJK3hxRURRVWRycU5TaFp4dlhxMwpZNHRLMTZybVh1MTRjOXF1OTcx
eEhnSUlJSUFBQWdnZ2dFRHJGcWdwQUhISnpLWUg2RkJDamtHL2Z2M0Nyc0p4bHpSZTJLZWVBTTM4
CkZQSkFsQnVoYVhuMUVLNWVsR3V1dWFZd0pLbHYzNzdwYkV4YXQwSnQ2SHBhUjBUMWxUZWkzb040
Q21DdGdxNXYyUFdnWDY3RXgxd2kKZXBvckVRSW05VWc4OTl4ejZZeGVlaUIvOTkxM1RTdTNoNkxo
WHZxR1h5VitUK0c0WmdLTEF4aTkxM0E5cllQaUVyL1RnQ3JVMTZ4ZApDa3kyMldhYmRGZWw5aXRa
NkdSTjR4dXVwZGRhVTBTdnRWOUZnWTVLZkg5eC9kaWkwcldxdVZjNzNweTJkZi9LQjFKUEd3VUJC
QkJBCkFBRUVFRUJnRGhLb2xrZC8yMjIzSlc1MTg4Uk43WnE0Z0tGUWZiLzk5a3MweTVIS3FGR2pF
amQxYmpyRGxRc3VFcmNTZXVJZTdoTTMKQlcrNnp6MUVKcG90eS9XZUpDNS9KRDNuOWRkZlQxd09T
RHFiaytxcXFQMzU1NTgvbmNGSk0yRGRlKys5Nlg3OXVQMzIyeE0zZkNwUgorM3Z0dFZmaWtzdVRE
VGZjTU4xZnFCUnRhQ1lvRjJRa0x2azhHVGh3WUhMTU1jZWtNMnlGS3JwbmwzT1N6b3gxNG9rbnBq
TjJ1U1Q1CmRNWXMxWEdKOHVsOXVPVHh4RTBsRzA1TGY0OFpNeVp4QVVRNkU1ZkxjMGpmazJhaDBy
MlBIRGt5cmZQeXl5K25iaGRmZkhFNjQ1ZWIKdGpkeFBVYUZkaXExcjBybExIUTl6UURtRXVFVE54
MXc0dkp3MHRtMTNKOWtPdnZWRjE5OGtiaXBpbE4zT2JrZ0t0MWZ5YUxjdFhRZgoxZHlySFc5TzIy
NlNndlJ2SnZ5ZDZYNG9DQ0NBQUFJSUlJQUFBck8zUUJ2ZGZtdUtwOVN6OE1FSEg2UTVHK3IxaUl1
K3hWZHZoSnZhCk4wMzRWbEo4dGVLbXpFM3JsN2FsODNRdHRhbVpwTlI3RUNlTjY3aDZXSFN0ZW90
b3RXNkhjalEwZTFWcHFkWitKWXZTdG1wNVhjMmkKWHZkcW4wdWw5MUhwWFBscFNKNCtId29DQ0ND
QUFBSUlJSURBbkNIUTZnS1FPWU9WZDRFQUFnZ2dnQUFDQ0NDQUFBSlpBalhsZ0dTZAp5RDRFRUVB
QUFRUVFRQUFCQkJCQW9La0NCQ0JORmFNK0FnZ2dnQUFDQ0NDQUFBSUkxQzFBQUZJM0hTY2lnQUFD
Q0NDQUFBSUlJSUJBClV3VUlRSm9xUm4wRUVFQUFBUVFRUUFBQkJCQ29XNEFBcEc0NlRrUUFBUVFR
UUFBQkJCQkFBSUdtQ3JTNkFFUnJBYjc5ZGxQZlJuMzEKM2RxQnMwWDUrbXR6VXhQWGQ2dHVqVUo3
NXBuaXVhV3ZpMGNhYjMzelRlTjk3RUVBQVFRUVFBQUJCQkJBb0RrQ1ZRT1FIWFl3VzJRUgpjeXQ0
bSsyMWw5bmNjNXN0dTZ6WkhudVliYnl4ZjMzTExjMjVoWWJubm5HR3VSWExHKzdMNDlXeno1bzk5
RkFlTGJkc20zLzlxMW1uClRtYTMzdHIwZHQxQzc5YXpwOWx1dS9selMxOVhhL0g5OTgzdXVxdGFM
WTRqZ0FBQ0NDQ0FBQUlJSUZDN1FNT1YvakxPYyt2ejJjc3YKKzZCRGg3VW0zS2FibXYzbEw3N3lr
Q0htRm92ejIvWDhETi9JYjdhWlAvdWNjOHltVDYrbnBkclBHVDdjN0tPUHpJNDkxbXp5WkxPaApR
LzAvclh1b2grNGJielFiTzlaczlkWE5kRDhMTHVqYkhqYk1iT3BVczhNT001dHZQcjlQUWN5SUVk
blgxaHFHYTZ4aDl2ampab2NlCmFyYisrcjdlanorYS9mNzNXZ2l4NFhtNi91S0xtNjJ6anBrQ1A1
VStmY3pPTzg5dk4vWG5ldXVaOWV0bmR2SEYvc3pTMTlYYVczbGwKYzRzem1wMTJtdG41NTFlcnpY
RUVFRUFBQVFRUVFBQUJCS29MVkExQWpqdXVHSHhrTlhmNDRXWVRKMllkeWQ2bmRkZmJ0UEhIRk56
cwp2Ny9acXF1YWhRQmswVVhOOUsrcEpXNjMwcmx1WVhRYk5NanNwWmQ4cmM4K003ditlck5mL01M
cytPTjljS1VnbzEwN3M2ZWU4c0hYCjAwLzd1dmZmYjNiNzdXYlhYbXYyOTcrYkxiU1EyU1dYK0hw
WjF6ejRZRFAxdEtnWDQrYWJ6ZFFEc2ZiYWZralUxVmRublZIY3AzdjgKd3gvOGF3VUJ3YXhZbzdZ
dEJVcnh1YVd2cTdXeTRvcm1Wb3YzdlVYYmIxK3ROc2NSUUFBQkJCQkFBQUVFRUtnc01GZmx3MmE5
ZTFldQpvUWYzalRieWRmUXdyNENsVnkvL29LMkg3MUEwbE9lYWE4d3V1c2hzd3czOTNrc3ZOZE5E
dlhvUURqelE3TjEzL2ZFTk52REhGUURzCnM0L1pDU2VZM1hDRDJmTExtNjIwa3RtVUthRlZNK1Z4
SEhXVTJibm5tbTI5dGE5LzRZVytCNk5ZcTdoMSt1bkZJVW5hcTJ1cGgwRDMKcGZ2dTBjUHM4ODk5
VDRqYVZVK0lnZzJWMjI0enUrY2VzOWRlODBHRjlqMzVwSm1Dbi9BdjlONDgrcWkvWjczSE45N3dQ
VWQzMzYwegovTkMxRU5SOCtHSHhYRDNvZi9LSjJWWmJtYW1YSmk3cU5kSHd0S1dYOWdGYmJGREpQ
VzRqYTF2NUpYcWZDcjQwOU8zb284MisrNjVoCnpYMzNOVHY1WkIrSU5EekNLd1FRUUFBQkJCQkFB
QUVFbWlaUU5RQ3B0VGs5UEI5MGtOblpaL3NlQVEwajJta25zeSsrTVB2aEI3UEIKZzgxKzl6di9y
YjZHSXVtQitzUVR6WlpZd216UFBYMFBnWVk2NmNINm5YZjhWVFVFYU1JRS8rMjc4aUQwc0s4eWNL
RC9yWjhhTHRXMgpyWDg0MTNBd0JUcjZ4bDhQNmxsRkQvWWFGaFdYUXc3eEFZS0dZLzM1ejM1YlBT
QWFlcVFTSjNFcm4wTDMvUEhIL2xndFA3dDJOVnQzClhSOWNWS28vbC9zME9uZjJnWlNDaXJqb3Zo
VWc2VjVrZmNFRi9tZ2w5L2o4Y3R2cTFkRFFMUFhrNkJycXBWR3VUMXowT1V5YVZPdzEKaW8reGpR
QUNDQ0NBQUFJSUlJQkFVd1JhTEFCUmZvUjZBZFJqb0cvLzlaQStiWnFadnVsWEVLSmhXZzgvN0c5
TitSQ3FHMG9ZSXRTeApvOWxxcXhXUEtlaFFyNGYyS1NkaW1XWE1OdC9jUHd5SGM1V2NIWVpzYVNp
WDJsQlIzZEtpb1ZYLytwZlBzNGlQS2RqUVBTaXh2a3VYCjRoRUZBN3IybTI4VzkybEw3NjIwbDZC
aGpjYXZORnlyMWxtbDJyZjNabkVyZXY5YmJHRzIxRkordUZxNHAwcnU4ZmxaMi9xY3hvM3oKdlVZ
NnJxRmVHamIyNElObTQ4Y1h6OUIrVFVUdzFsdkZmV3doZ0FBQ0NDQ0FBQUlJSUZDUFFJc0ZJSHBn
VlNDZ0hBUDkwN0FzSlY4cgo1MEhKMk9vNTJIRkhzLzc5emRRam9ObTBRZ2tCaUY1cnU5THJEaDBh
SnIzcmRmeXdyS0JCMytobkZmVndxUHp5bC81MytLbjlDZzZ5Clp0L3EzdDBubm9lNjRYZDhqMkZm
cGQ5TnFSL2JoRGJqOHhVTWFPaVVTaVYzWDZQOHorZWY5d0diQW94UTFGT2pvcDZudU1oNVZrMlAK
SEYrWGJRUVFRQUFCQkJCQUFJRTVTNkJxRW5xdGIxZDVFNXJGYWNzdHM4OVFJclo2Rnk2N3pDZDJQ
L1pZY1hhcDdETnEyenRnZ0ovcAo2WlZYek9hZjN5ZVBhNmhTVmdtOUk1cDVLeTZqUi90N3o4cDNV
VkNsdGx0cnFlWmU2YjZWUDZQekZjeW8xMFZGUFQ3NkhFdDdhelJoCmdIcUtLQWdnZ0FBQ0NDQ0FB
QUlJTkVlZ3hYcEF0RGFJZWp6aUtYazF6RW9QOTVwNVNzT2ZOTjJ0aHYzb2dmN09PNHUzSFgrN1g5
eGIKMjlaMjIva3BidFh1aXkrV241RktyZWtlbFMraVlWaHhVVzZKY2xiMExYOXBVUUNpeFJGYmE2
bmtYdTJlbGRDdkhKSVhYaWpXMU9lawpuQjBsNDhkRk9TbnF1YUlnZ0FBQ0NDQ0FBQUlJSU5BY2dT
WUZJRW9jMTlvVllhYW4rTUo5KzVycElWWFQ4czZZNFFNT3JhR2hhVnoxCkFCOFd0Tk5NVlR2dlhQ
ekdmZUdGelRRVGxJck8wN2Z5eXE4Z2tCcHVBQUFWSkVsRVFWUUlPU0s2bnE0YmlvN3JvVGtVSmIx
MzYrWm4KYjlLYUdWcW5wRnhSa3JmVzlpak5aZEJzVzhvdENVVXpQbW1kRHYzVHNmajZvYzZzL0sz
M3JIK2h5Q2Zrb0ZSeVYzMzVxZmNpbFBpMQprditWVTZMQU1SUUZjUXBNdFBCa0tQcjgxSWFDTkFv
Q0NDQ0FBQUlJSUlBQUFzMFJxRGtBMGRTelJ4N3BIOGJIakRIVGpGTmZmbG04CnRHWkswdG9XQ2pU
VWE2Q0VjTTAydGVTU3ZzNlZWL3IxTmpUdHJvS09NTk9TZWpCMFRETlJhUVltVFhPcjRUOGFxalZx
bE8vVjBNeFAKbXRMM0gvL3dQU2l2dmxwOGFGWnZobWJmVXMrR2hnNHBCMFI1Sm5yUXppcG5ubW1t
NFYraGFJcGNUWDBiQXBCLy90Tk0wL2pxbnZSUApPUlkvNWZvWDhsQ09pbnA0bE1pdjNBeHRhOHJp
Qng0d3ErU3VISTg3N3ZBQm9LWkExblRDOFd2bGZ1anp1TzgrUDB2Wkk0LzQ0L2ZlCjZ5MkRrWkxT
TmFQWmNzdUZQZnhHQUFFRUVFQUFBUVFRUUtBK2dUYUpLL1dkbW4yV0h2dy8rTURQUXFXQVFFVTlD
T3A5MEd4WWV1alYKMmlGeFVSNkNFdFhyS1pxU1Y3TlhhZWpYVjEvNWEyaG1xUDMySzUrUG9vQkNE
K1RscHVxdGRoOUtyRmZBRWxZWXIxWi9WaHpQY3EvMQp1dm9MME5USCtvdzA2MWhwVVkrVm5CWHNV
QkJBQUFFRUVFQUFBUVFRYUk3QXpCQ2hPVTAwUEZjellKVSt4T3JCVmtVOUgxbWwzdUJECks1aXJs
K1NVVXhxMnFsbWtLdVVyNkx6enp2TTVLZW81bVJOS2xudXQ3MHM1T0JvcWwxWCsrRWUvdUNUQlI1
WU8reEJBQUFFRUVFQUEKQVFTYUt0RGlQU0JOdllIbTFGY3l1L0lTTkwydmVpV1VGNkU4RksyWm9Y
K1Z5a2NmbVkwYzZZZHZWYXFYZFd6MGFEOTk3U3FyWkIyZApjL1pwRFJjRk5sbzRrb0lBQWdnZ2dB
QUNDQ0NBUUVzSXpOWUJpQUNVQTZJSFpjMjB0ZGxtWml1czBCSXN0SUVBQWdnZ2dBQUNDQ0NBCkFB
SjVDTXoyQVVnZUtMU0pBQUlJSUlBQUFnZ2dnQUFDK1FqTXpNN0lwM0ZhUlFBQkJCQkFBQUVFRUVB
QUFRUmlBUUtRV0lOdEJCQkEKQUFFRUVFQUFBUVFReUZXQUFDUlhYaHBIQUFFRUVFQUFBUVFRUUFD
QldJQUFKTlpnR3dFRUVFQUFBUVFRUUFBQkJISVZJQURKbFpmRwpFVUFBQVFRUVFBQUJCQkJBSUJZ
Z0FJazEyRVlBQVFRUVFBQUJCQkJBQUlGY0JRaEFjdVdsY1FRUVFBQUJCQkJBQUFFRUVJZ0ZDRUJp
CkRiWVJRQUFCQkJCQUFBRUVFRUFnVndFQ2tGeDVhUndCQkJCQUFBRUVFRUFBQVFSaUFRS1FXSU50
QkJCQUFBRUVFRUFBQVFRUXlGV0EKQUNSWFhocEhBQUVFRUVBQUFRUVFRQUNCV0lBQUpOWmdHd0VF
RUVBQUFRUVFRQUFCQkhJVklBREpsWmZHRVVBQUFRUVFRQUFCQkJCQQpJQllnQUlrMTJFWUFBUVFR
UUFBQkJCQkFBSUZjQlFoQWN1V2xjUVFRUUFBQkJCQkFBQUVFRUlnRkNFQmlEYllSUUFBQkJCQkFB
QUVFCkVFQWdWd0VDa0Z4NWFSd0JCQkJBQUFFRUVFQUFBUVJpQVFLUVdJTnRCQkJBQUFFRUVFQUFB
UVFReUZXQUFDUlhYaHBIQUFFRUVFQUEKQVFRUVFBQ0JXSUFBSk5aZ0d3RUVFRUFBQVFRUVFBQUJC
SElWSUFESmxaZkdFVUFBQVFRUVFBQUJCQkJBSUJZZ0FJazEyRVlBQVFRUQpRQUFCQkJCQUFJRmNC
UWhBY3VXbGNRUVFRQUFCQkJCQUFBRUVFSWdGQ0VCaURiWVJRQUFCQkJCQUFBRUVFRUFnVndFQ2tG
eDVhUndCCkJCQkFBQUVFRUVBQUFRUmlBUUtRV0lOdEJCQkFBQUVFRUVBQUFRUVF5RldBQUNSWFho
cEhBQUVFRUVBQUFRUVFRQUNCV0lBQUpOWmcKR3dFRUVFQUFBUVFRUUFBQkJISVZJQURKbFpmR0VV
QUFBUVFRUUFBQkJCQkFJQllnQUlrMTJFWUFBUVFRUUFBQkJCQkFBSUZjQlFoQQpjdVdsY1FRUVFB
QUJCQkJBQUFFRUVJZ0ZDRUJpRGJZUlFBQUJCQkJBQUFFRUVFQWdWd0VDa0Z4NWFSd0JCQkJBQUFF
RUVFQUFBUVJpCkFRS1FXSU50QkJCQUFBRUVFRUFBQVFRUXlGV0FBQ1JYWGhwSEFBRUVFRUFBQVFR
UVFBQ0JXSUFBSk5aZ0d3RUVFRUFBQVFRUVFBQUIKQkhJVklBREpsWmZHRVVBQUFRUVFRQUFCQkJC
QUlCWWdBSWsxMkVZQUFRUVFRQUFCQkJCQUFJRmNCUWhBY3VXbGNRUVFRQUFCQkJCQQpBQUVFRUln
RkNFQmlEYllSUUFBQkJCQkFBQUVFRUVBZ1Z3RUNrRng1YVJ3QkJCQkFBQUVFRUVBQUFRUmlBUUtR
V0lOdEJCQkFBQUVFCkVFQUFBUVFReUZXQUFDUlhYaHBIQUFFRUVFQUFBUVFRUUFDQldJQUFKTlpn
R3dFRUVFQUFBUVFRUUFBQkJISVZJQURKbFpmR0VVQUEKQVFRUVFBQUJCQkJBSUJZZ0FJazEyRVlB
QVFRUVFBQUJCQkJBQUlGY0JRaEFjdVdsY1FRUVFBQUJCQkJBQUFFRUVJZ0ZDRUJpRGJZUgpRQUFC
QkJCQUFBRUVFRUFnVndFQ2tGeDVhUndCQkJCQUFBRUVFRUFBQVFSaUFRS1FXSU50QkJCQUFBRUVF
RUFBQVFRUXlGV0FBQ1JYClhocEhBQUVFRUVBQUFRUVFRQUNCV0lBQUpOWmdHd0VFRUVBQUFRUVFR
QUFCQkhJVklBREpsWmZHRVVBQUFRUVFRQUFCQkJCQUlCWWcKQUlrMTJFWUFBUVFRUUFBQkJCQkFB
SUZjQlFoQWN1V2xjUVFRUUFBQkJCQkFBQUVFRUlnRkNFQmlEYllSUUFBQkJCQkFBQUVFRUVBZwpW
d0VDa0Z4NWFSd0JCQkJBQUFFRUVFQUFBUVJpQVFLUVdJTnRCQkJBQUFFRUVFQUFBUVFReUZXQUFD
UlhYaHBIQUFFRUVFQUFBUVFRClFBQ0JXSUFBSk5aZ0d3RUVFRUFBQVFRUVFBQUJCSElWSUFESmxa
ZkdFVUFBQVFRUVFBQUJCQkJBSUJZZ0FJazEyRVlBQVFRUVFBQUIKQkJCQUFJRmNCUWhBY3VXbGNR
UVFRQUFCQkJCQUFBRUVFSWdGQ0VCaURiWVJRQUFCQkJCQUFBRUVFRUFnVndFQ2tGeDVhUndCQkJC
QQpBQUVFRUVBQUFRUmlBUUtRV0lOdEJCQkFBQUVFRUVBQUFRUVF5RldBQUNSWFhocEhBQUVFRUVB
QUFRUVFRQUNCV0lBQUpOWmdHd0VFCkVFQUFBUVFRUUFBQkJISVZJQURKbFpmR0VVQUFBUVFRUUFB
QkJCQkFJQllnQUlrMTJFWUFBUVFRUUFBQkJCQkFBSUZjQlFoQWN1V2wKY1FRUVFBQUJCQkJBQUFF
RUVJZ0ZDRUJpRGJZUlFBQUJCQkJBQUFFRUVFQWdWd0VDa0Z4NWFSd0JCQkJBQUFFRUVFQUFBUVJp
QVFLUQpXSU50QkJCQUFBRUVFRUFBQVFRUXlGV0FBQ1JYWGhwSEFBRUVFRUFBQVFRUVFBQ0JXSUFB
Sk5aZ0d3RUVFRUFBQVFRUVFBQUJCSElWCklBREpsWmZHRVVBQUFRUVFRQUFCQkJCQUlCWWdBSWsx
MkVZQUFRUVFRQUFCQkJCQUFJRmNCUWhBY3VXbGNRUVFRQUFCQkJCQUFBRUUKRUlnRkNFQmlEYllS
UUFBQkJCQkFBQUVFRUVBZ1Z3RUNrRng1YVJ3QkJCQkFBQUVFRUVBQUFRUmlBUUtRV0lOdEJCQkFB
QUVFRUVBQQpBUVFReUZXQUFDUlhYaHBIQUFFRUVFQUFBUVFRUUFDQldJQUFKTlpnR3dFRUVFQUFB
UVFRUUFBQkJISVZJQURKbFpmR0VVQUFBUVFRClFBQUJCQkJBSUJZZ0FJazEyRVlBQVFRUVFBQUJC
QkJBQUlGY0JRaEFjdVdsY1FRUVFBQUJCQkJBQUFFRUVJZ0ZDRUJpRGJZUlFBQUIKQkJCQUFBRUVF
RUFnVndFQ2tGeDVhUndCQkJCQUFBRUVFRUFBQVFSaUFRS1FXSU50QkJCQUFBRUVFRUFBQVFRUXlG
V0FBQ1JYWGhwSApBQUVFRUVBQUFRUVFRQUNCV0lBQUpOWmdHd0VFRUVBQUFRUVFRQUFCQkhJVklB
REpsWmZHRVVBQUFRUVFRQUFCQkJCQUlCWWdBSWsxCjJFWUFBUVFRUUFBQkJCQkFBSUZjQlFoQWN1
V2xjUVFRUUFBQkJCQkFBQUVFRUlnRkNFQmlEYllSUUFBQkJCQkFBQUVFRUVBZ1Z3RUMKa0Z4NWFS
d0JCQkJBQUFFRUVFQUFBUVJpQVFLUVdJTnRCQkJBQUFFRUVFQUFBUVFReUZXQUFDUlhYaHBIQUFF
RUVFQUFBUVFRUUFDQgpXSUFBSk5aZ0d3RUVFRUFBQVFRUVFBQUJCSElWSUFESmxaZkdFVUFBQVFR
UVFBQUJCQkJBSUJZZ0FJazEyRVlBQVFRUVFBQUJCQkJBCkFJRmNCUWhBY3VXbGNRUVFRQUFCQkJC
QUFBRUVFSWdGQ0VCaURiWVJRQUFCQkJCQUFBRUVFRUFnVndFQ2tGeDVhUndCQkJCQUFBRUUKRUVB
QUFRUmlBUUtRV0lOdEJCQkFBQUVFRUVBQUFRUVF5RldBQUNSWFhocEhBQUVFRUVBQUFRUVFRQUNC
V0lBQUpOWmdHd0VFRUVBQQpBUVFRUUFBQkJISVZJQURKbFpmR0VVQUFBUVFRUUFBQkJCQkFJQlln
QUlrMTJFWUFBUVFRUUFBQkJCQkFBSUZjQlFoQWN1V2xjUVFRClFBQUJCQkJBQUFFRUVJZ0ZDRUJp
RGJZUlFBQUJCQkJBQUFFRUVFQWdWd0VDa0Z4NWFSd0JCQkJBQUFFRUVFQUFBUVJpQVFLUVdJTnQK
QkJCQUFBRUVFRUFBQVFRUXlGV0FBQ1JYWGhwSEFBRUVFRUFBQVFRUVFBQ0JXSUFBSk5aZ0d3RUVF
RUFBQVFRUVFBQUJCSElWSUFESgpsWmZHRVVBQUFRUVFRQUFCQkJCQUlCWWdBSWsxMkVZQUFRUVFR
QUFCQkJCQUFJRmNCUWhBY3VXbGNRUVFRQUFCQkJCQUFBRUVFSWdGCkNFQmlEYllSUUFBQkJCQkFB
QUVFRUVBZ1Z3RUNrRng1YVJ3QkJCQkFBQUVFRUVBQUFRUmlBUUtRV0lOdEJCQkFBQUVFRUVBQUFR
UVEKeUZXQUFDUlhYaHBIQUFFRUVFQUFBUVFRUUFDQldJQUFKTlpnR3dFRUVFQUFBUVFRUUFBQkJI
SVZJQURKbFpmR0VVQUFBUVFRUUFBQgpCQkJBSUJZZ0FJazEyRVlBQVFRUVFBQUJCQkJBQUlGY0JR
aEFjdVdsY1FRUVFBQUJCQkJBQUFFRUVJZ0ZDRUJpRGJZUlFBQUJCQkJBCkFBRUVFRUFnVndFQ2tG
eDVhUndCQkJCQUFBRUVFRUFBQVFSaUFRS1FXSU50QkJCQUFBRUVFRUFBQVFRUXlGV0FBQ1JYWGhw
SEFBRUUKRUVBQUFRUVFRQUNCV0lBQUpOWmdHd0VFRUVBQUFRUVFRQUFCQkhJVklBREpsWmZHRVVB
QUFRUVFRQUFCQkJCQUlCWWdBSWsxMkVZQQpBUVFRUUFBQkJCQkFBSUZjQlFoQWN1V2xjUVFRUUFB
QkJCQkFBQUVFRUlnRkNFQmlEYllSUUFBQkJCQkFBQUVFRUVBZ1Z3RUNrRng1CmFSd0JCQkJBQUFF
RUVFQUFBUVJpQVFLUVdJTnRCQkJBQUFFRUVFQUFBUVFReUZXQUFDUlhYaHBIQUFFRUVFQUFBUVFR
UUFDQldJQUEKSk5aZ0d3RUVFRUFBQVFRUVFBQUJCSElWSUFESmxaZkdFVUFBQVFRUVFBQUJCQkJB
SUJZZ0FJazEyRVlBQVFRUVFBQUJCQkJBQUlGYwpCUWhBY3VXbGNRUVFRQUFCQkJCQUFBRUVFSWdG
Q0VCaURiWVJRQUFCQkJCQUFBRUVFRUFnVndFQ2tGeDVhUndCQkJCQUFBRUVFRUFBCkFRUmlBUUtR
V0lOdEJCQkFBQUVFRUVBQUFRUVF5RldBQUNSWFhocEhBQUVFRUVBQUFRUVFRQUNCV0lBQUpOWmdH
d0VFRUVBQUFRUVEKUUFBQkJISVZJQURKbFpmR0VVQUFBUVFRUUFBQkJCQkFJQllnQUlrMTJFWUFB
UVFRUUFBQkJCQkFBSUZjQlFoQWN1V2xjUVFRUUFBQgpCQkJBQUFFRUVJZ0ZDRUJpRGJZUlFBQUJC
QkJBQUFFRUVFQWdWd0VDa0Z4NWFSd0JCQkJBQUFFRUVFQUFBUVJpQVFLUVdJTnRCQkJBCkFBRUVF
RUFBQVFRUXlGV0FBQ1JYWGhwSEFBRUVFRUFBQVFRUVFBQ0JXSUFBSk5aZ0d3RUVFRUFBQVFRUVFB
QUJCSElWSUFESmxaZkcKRVVBQUFRUVFRQUFCQkJCQUlCWWdBSWsxMkVZQUFRUVFRQUFCQkJCQUFJ
RmNCUWhBY3VXbGNRUVFRQUFCQkJCQUFBRUVFSWdGQ0VCaQpEYllSUUFBQkJCQkFBQUVFRUVBZ1Z3
RUNrRng1YVJ3QkJCQkFBQUVFRUVBQUFRUmlBUUtRV0lOdEJCQkFBQUVFRUVBQUFRUVF5RldBCkFD
UlhYaHBIQUFFRUVFQUFBUVFRUUFDQldJQUFKTlpnR3dFRUVFQUFBUVFRUUFBQkJISVZJQURKbFpm
R0VVQUFBUVFRUUFBQkJCQkEKSUJZZ0FJazEyRVlBQVFRUVFBQUJCQkJBQUlGY0JRaEFjdVdsY1FR
UVFBQUJCQkJBQUFFRUVJZ0ZDRUJpRGJZUlFBQUJCQkJBQUFFRQpFRUFnVndFQ2tGeDVhUndCQkJC
QUFBRUVFRUFBQVFSaUFRS1FXSU50QkJCQUFBRUVFRUFBQVFRUXlGV0FBQ1JYWGhwSEFBRUVFRUFB
CkFRUVFRQUNCV0lBQUpOWmdHd0VFRUVBQUFRUVFRQUFCQkhJVklBREpsWmZHRVVBQUFRUVFRQUFC
QkJCQUlCWWdBSWsxMkVZQUFRUVEKUUFBQkJCQkFBSUZjQlFoQWN1V2xjUVFRUUFBQkJCQkFBQUVF
RUlnRkNFQmlEYllSUUFBQkJCQkFBQUVFRUVBZ1Z3RUNrRng1YVJ3QgpCQkJBQUFFRUVFQUFBUVJp
QVFLUVdJTnRCQkJBQUFFRUVFQUFBUVFReUZXQUFDUlhYaHBIQUFFRUVFQUFBUVFRUUFDQldJQUFK
TlpnCkd3RUVFRUFBQVFRUVFBQUJCSElWSUFESmxaZkdFVUFBQVFRUVFBQUJCQkJBSUJZZ0FJazEy
RVlBQVFRUVFBQUJCQkJBQUlGY0JRaEEKY3VXbGNRUVFRQUFCQkJCQUFBRUVFSWdGQ0VCaURiWVJR
QUFCQkJCQUFBRUVFRUFnVndFQ2tGeDVhUndCQkJCQUFBRUVFRUFBQVFSaQpBUUtRV0lOdEJCQkFB
QUVFRUVBQUFRUVF5RldBQUNSWFhocEhBQUVFRUVBQUFRUVFRQUNCV0lBQUpOWmdHd0VFRUVBQUFR
UVFRQUFCCkJISVZJQURKbFpmR0VVQUFBUVFRUUFBQkJCQkFJQllnQUlrMTJFWUFBUVFRUUFBQkJC
QkFBSUZjQlFoQWN1V2xjUVFRUUFBQkJCQkEKQUFFRUVJZ0ZDRUJpRGJZUlFBQUJCQkJBQUFFRUVF
QWdWd0VDa0Z4NWFSd0JCQkJBQUFFRUVFQUFBUVJpQVFLUVdJTnRCQkJBQUFFRQpFRUFBQVFRUXlG
V0FBQ1JYWGhwSEFBRUVFRUFBQVFRUVFBQ0JXSUFBSk5aZ0d3RUVFRUFBQVFRUVFBQUJCSElWSUFE
SmxaZkdFVUFBCkFRUVFRQUFCQkJCQUlCWWdBSWsxMkVZQUFRUVFRQUFCQkJCQUFJRmNCUWhBY3VX
bGNRUVFRQUFCQkJCQUFBRUVFSWdGQ0VCaURiWVIKUUFBQkJCQkFBQUVFRUVBZ1Z3RUNrRng1YVJ3
QkJCQkFBQUVFRUVBQUFRUmlBUUtRV0lOdEJCQkFBQUVFRUVBQUFRUVF5RldBQUNSWApYaHBIQUFF
RUVFQUFBUVFRUUFDQldJQUFKTlpnR3dFRUVFQUFBUVFRUUFBQkJISVZJQURKbFpmR0VVQUFBUVFR
UUFBQkJCQkFJQllnCkFJazEyRVlBQVFRUVFBQUJCQkJBQUlGY0JRaEFjdVdsY1FRUVFBQUJCQkJB
QUFFRUVJZ0ZDRUJpRGJZUitQL3QxeUVCQUFBQXdyRCsKcmJFVXVKdERJZVpPZ0FBQkFnUUlFQ0JB
SUJVUUlDbXZjd0lFQ0JBZ1FJQUFBUUlFWGtDQXZJWk5nQUFCQWdRSUVDQkFnRUFxSUVCUwpYdWNF
Q0JBZ1FJQUFBUUlFQ0x5QUFIa05td0FCQWdRSUVDQkFnQUNCVkVDQXBMek9DUkFnUUlBQUFRSUVD
QkI0QVFIeUdqWUJBZ1FJCkVDQkFnQUFCQXFtQUFFbDVuUk1nUUlBQUFRSUVDQkFnOEFJQzVEVnNB
Z1FJRUNCQWdBQUJBZ1JTQVFHUzhqb25RSUFBQVFJRUNCQWcKUU9BRkJNaHIyQVFJRUNCQWdBQUJB
Z1FJcEFJQ0pPVjFUb0FBQVFJRUNCQWdRSURBQ3dpUTE3QUpFQ0JBZ0FBQkFnUUlFRWdGQkVqSwo2
NXdBQVFJRUNCQWdRSUFBZ1JjUUlLOWhFeUJBZ0FBQkFnUUlFQ0NRQ2dpUWxOYzVBUUlFQ0JBZ1FJ
QUFBUUl2SUVCZXd5WkFnQUFCCkFnUUlFQ0JBSUJVUUlDbXZjd0lFQ0JBZ1FJQUFBUUlFWGtDQXZJ
Wk5nQUFCQWdRSUVDQkFnRUFxSUVCU1h1Y0VDQkFnUUlBQUFRSUUKQ0x5QUFIa05td0FCQWdRSUVD
QkFnQUNCVkVDQXBMek9DUkFnUUlBQUFRSUVDQkI0QVFIeUdqWUJBZ1FJRUNCQWdBQUJBcW1BQUVs
NQpuUk1nUUlBQUFRSUVDQkFnOEFJQzVEVnNBZ1FJRUNCQWdBQUJBZ1JTQVFHUzhqb25RSUFBQVFJ
RUNCQWdRT0FGQk1ocjJBUUlFQ0JBCmdBQUJBZ1FJcEFJQ0pPVjFUb0FBQVFJRUNCQWdRSURBQ3dp
UTE3QUpFQ0JBZ0FBQkFnUUlFRWdGQkVqSzY1d0FBUUlFQ0JBZ1FJQUEKZ1JjUUlLOWhFeUJBZ0FB
QkFnUUlFQ0NRQ2dpUWxOYzVBUUlFQ0JBZ1FJQUFBUUl2SUVCZXd5WkFnQUFCQWdRSUVDQkFJQlVR
SUNtdgpjd0lFQ0JBZ1FJQUFBUUlFWGtDQXZJWk5nQUFCQWdRSUVDQkFnRUFxTUtYaDRhRmloSmFq
QUFBQUFFbEZUa1N1UW1DQwoKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Rl
eHQvaW50ZXJuYXRpb25hbC9iaWRpLWxheW91dC1hY3Jvc3MtbGluZWJyZWFrLWV4cGVjdGVkLnBu
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBl
Lgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFB
QUFKWUNBWUFBQUNhZG9Kd0FBQUM3bWxEUTFCSlEwTWdVSEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVV
L2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9SRmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xp
T1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZwRktONnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3
MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVKcQovSWdBanFJSlFUUWxWZHZzVGlRR1FZTnor
WHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9IaFAxQTRFZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4
M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVBMUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25O
ZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZyWXFHY1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAw
YTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FWdHhxcAorRFhDRkY4UVRTZWlWSEhaTGczeG1L
NzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUrTHFIQlgwbTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcw
WGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNHUEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdK
RXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFDSkw4UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJy
eTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhSNWFzZVhxOAptdXdhUCt4WGx6SG1naldQeEhP
dysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdqRTMzNTlzZnpzOTRpN1BMclhXYzYySml6ZFdtNWRu
Ci9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlLVEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNI
Q0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAxdDR2VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtP
Yi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUzSHZFS0ZscFc1egpyZ0lYdjlGOThMWnVhNk4r
T1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVncG1OT1dsczA1VW9jc241TzY2Y3BpVXN4UTIwTlNV
dGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtU
aHJXZ1pmNmI4QzgvVVhBZUl1SkFBQWcKQUVsRVFWUjRBZXpkQ1p3VTFibjM4YWRoV0dRWkJFUWlr
WFVFRVlJeEVoR1ZKQ2FqY2VjQ1VkUzRSUFRGZ0ZIY01IQ2pjUUFoa1JzZwpRWWhpVUZ5NEVyd2s4
WXFDZ1VDQWdHSVVYRkJBVkJoUUVSd1FHQkJRdG5yck9iazk2VzU2cWVycDVkVDByejZmWWJxclRw
MzZuKzlwCmV2cDBiU0hIbllRSkFRUVFRQUFCQkJCQUFBRUVFTWlCUUswY2JJTk5JSUFBQWdnZ2dB
QUNDQ0NBQUFKR2dBRUlMd1FFRUVBQUFRUVEKUUFBQkJCREltUUFEa0p4UnN5RUVFRUFBQVFRUVFB
QUJCQkJnQU1KckFBRUVFRUFBQVFRUVFBQUJCSEltd0FBa1o5UnNDQUVFRUVBQQpBUVFRUUFBQkJC
aUE4QnBBQUFFRUVFQUFBUVFRUUFDQm5Ba3dBTWtaTlJ0Q0FBRUVFRUFBQVFRUVFBQUJCaUM4QmhC
QUFBRUVFRUFBCkFRUVFRQ0JuQWd4QWNrYk5oaEJBQUFFRUVFQUFBUVFRUUlBQkNLOEJCQkJBQUFF
RUVFQUFBUVFReUprQUE1Q2NVYk1oQkJCQUFBRUUKRUVBQUFRUVFZQURDYXdBQkJCQkFBQUVFRUVB
QUFRUnlKc0FBSkdmVWJBZ0JCQkJBQUFFRUVFQUFBUVFZZ1BBYVFBQUJCQkJBQUFFRQpFRUFBZ1p3
Sk1BREpHVFViUWdBQkJCQkFBQUVFRUVBQUFRWWd2QVlRUUFBQkJCQkFBQUVFRUVBZ1p3SU1RSEpH
ellZUVFBQUJCQkJBCkFBRUVFRUFnb3dPUUw3NzRRajcrK09QQXFuNzExVmZ5eWl1dldKOC8yODZw
SEE0ZlBpenZ2ZmVlZFU3VmRhbnUramFBcE9vN0d6SjYKeVZBVCtrTGJXVlA2dzB1ZlpiT012aDQy
Yjk2YzFpYTJidDBxTzNic1NHdmRUSzFVVVZFaGYvLzczL09lSS9iMStQbm5uOHNISDN5UQpxV1pH
MVZPZFBvdXF5TU9UL2Z2M3k4YU5HejJVcEFnQ0NOZ2lrSElBY3VtbGwwclRwazNsd2dzdmxQNzkr
MHZ0MnJXbGZmdjJjdm5sCmwwdXZYcjNNODZlZmZscG16SmdoTFZ1MmxPblRwMWU3YlY2M1dlME5S
VlR3ejMvK1U3Nzk3VzlMdjM3OUl1YmE5ekNUenZGYWw4cmgKOWRkZmw5Tk9PMDF1dnZubWVLdm5i
VjUxWGFxN2ZtVERuMzMyV2VuWXNhT0VRaUg1em5lK0kxZGRkWlZjZlBIRmNza2xsOGlpUllzaQpp
MmIwY2FxK3krakcwcWpNNi8vclRQYkZpeSsrS0tlZmZycnBpNTQ5ZThxOGVmTk1jdjFBT0d6WU1E
Ty9WcTFhOHNBREQ4anUzYnZUCmFGWGlWV3p2ajhUSjdWcnk2S09QU3ZQbXpXWFdyRmxwQmZ2NXoz
OHUra0U3WDlNZi92QUhtVGx6cGl4WnNrUzZkdTFxQnFYNXlCTHYKOVhqLy9mZExuejU5TWg2bnVu
M21KNUMrMzdacTFVb21USmpnWnpYS0lvQkF2Z1djRk5NUGYvaERaOE9HRFZXbDZ0ZXY3OXh3d3cx
Vgp6OGVQSCsrNGJ6Ym0rU21ubk9LTUdUT21hbG02RC94c005MXR4RnR2M0xoeGpqdUlpcmZJcW5t
WmNrN1VxRlFPdDk1NnEvT0RIL3dnCjBlb1puZi9sbDE4NjdqZUhudXIwNnhKYnQ5LzFrNFZ5LzdB
Nzd2OXQ1NjIzM3FvcTVuNFFjdHhCaWZQWHYvNjFhbDZtSDZUcXUweHYKejA5OWZ2NWZaN0l2M0Er
QXBpL2NnYzFSY1k4NzdqaW5TNWN1UjgzUDFBeWIreU5UYmN4RlBmcSsvTnZmL3RiM3BnNGVQT2lj
Yzg0NQp2dGNMcnhEN0hoR2U3L1czdXhmQWFkaXdvZVB1TlRhcnZQenl5MTVYelVxNTJOZmo5dTNi
bmZmZmZ6OHIyMHEzejlJSm8zMTgyMjIzCnBiTXE2eUNBUUo0RVV1NEJ1ZXV1dTh3ZWowUURwWi8r
OUtmbVd4MWRYcWRPSGZPTllxS3lYdWY3MmFiWE9yMlVxMXUzYmtieWU5bVcKbnpMdWF5T3FlS2Fj
b3lxTmVKTEk0Y2lSSTZaVVVWR1I2TGZHbVo0T0hUb1VWYVg3NFVHdXUrNDZXYnAwYWRUOFJFLzh1
TVNyMjgvNgppVEtFNXg5NzdMSG1ZYVRULy90Ly8wKzBMK2ZNbVJNdWx2SGZpZm91NHh0S28wSS8v
Nit6MFJmaFBvbU1ydlBpelk4c1U1M0h0dlJICjdIdEl1bTFLcDU1MDF0RjhLMWFza1AvNW4vOHhV
ZE45UGVoN2grNkZIRHQyckh6MDBVZSttaDN2UGNKWEJXN2hkOTU1Unc0Y09GRDEKZm5uMjJXZjdy
U0tqNVdOZmo3cG5TZmZXWm1OS3Q4OVNaWW45TzZIbDY5V3I1K2x2ZDdxdnhWU1pXSTRBQXY0RlVu
Nkt2T0NDQzVMVwo2bjY3SSs2M0QxVmw5RU9xN3RadDA2YU5mT01iMzVEeTh2S3FaWjk5OXBub2g1
RHZmZTk3MHIxN2QzbjExVmVybGtVKzhMdk55SFgxCldOQjc3NzNYL01HNThzb3J4ZjNHcDJxeEhw
UHFmbnN2ZDk5OXQ5bnRQR1RJRU5IeThTYmRyZnYxcjM5ZEprMmFaQmJyTHZTVFR6NVoKQmcwYVpK
NS8rT0dIb3J2MnRUMHZ2UENDZk90YjN6S0hjQzFmdnR6ODBkRkQxRTQ0NFFUNTFhOStaY3Jyb1Rk
NktNN1FvVVBsOGNjZgpsNUtTRXVuY3VYT1VUMndPemZESUk0L0lmLzNYZjBuc0g2NWt6c25hbWFw
ZHNSbjArYjU5KytTV1cyNlIwYU5IbS9ickI0TkVrMThYCnJXZmh3b1dtdjNRWHVyNlczbjMzWFZQ
OTczNzNPNWs5ZTdiODcvLytyL3prSnorUnZYdjNtdjVLMUwrNlVqSVhVK24vL1JPdjdsVHIKZTMz
OVJtNG44dkhxMWF2TjAvUE9PeTl5OWxHUGE5SnJPTEp4ZnY5Zkordkw2dlpGWks1VWo0UGNIOG5l
UThMdDl2S2VrS2llWlAyUQphSjN3ZGhQOTFnL3RmZnYybFIvOTZFZm04Tjl3T1gwZjB2ZFBQZFJY
LzM2c1hidldMSHJqalRkRXZ3aTc3Nzc3eE4wREx5MWF0SkRYClhudk5MSHYrK2VmbFAvN2pQOHpB
WHcvRnUrbW1tenlmOHhEdlBTTFplMnM0Wi9qM1k0ODlKaU5HakJEOXdQeXpuLzNNWk5kbHllcEkK
MUpaa3I4RmtmUkRPRXUvM2xpMWJ6TitXczg0Nnl5ejI4amZLNzdiODlsbXkraFA5bllodDI1dHZ2
aWxubkhHRytUdnY3b0UyaTlOOQpMY2JXelhNRUVNaWdnUHVOZ0s4cDloQ3N5SlZQUGZWVTU1dmYv
S2F6WU1FQ3h6MFozWEUvWUR2dXQ3Nm1pUHNtN0Z4MDBVV09lNXkxCjJSM3Qvc0Z3M0Q4VXpzNmRP
eU9yaVBzNDJUWmpWM0RQVlhIY1FZQ1o3WDVRTm9kZXJGeTUwanovN25lLzY3am5xNWpIN3JkU1Rv
OGUKUFJ6M3VQU3FLaDU2NkNIbmExLzdXdFZ6ZHdBU2RVaVpIa0p5eFJWWG1PWHVCMjNISFhRNDd2
a3d6cC8rOUNmSGZhTTF5MDQ2NlNUSApIWFE0dW11N3JLek1ISExqbmdEcHVDZENPcDA2ZFRJbTdv
REZjVStZYzl3QmpUTnc0TUNxN1VVKzBFTUgzSE5TcW1iZGVlZWRWYnZ4Cmt6bnJDcW5hbWF4ZHVu
NnNnM3Z1Z3VNT3dIU1J5ZUFlYit1Y2YvNzU1bm5zUDM1ZDNKTWlIYzBUUHN6Sy9ZUHR1Qjg4cXFw
dDE2NmQKOFF6UFNOYS9xVnpDZFlSL3g5YWRiSDIvcjE5M01HVmVlNnRXclhKMjdkcGxYaVA2ZXIv
c3Nzc2NyU3ZabEt5TnFmbzJ0dStTOWJYZgp2dkw3R2s3V1JsMlc3UDkxSnZ2Qy9SYmQ5SVgyaWZ1
bFI5VFBpU2VlNkxpRCs2UlJnOW9meWQ1RFlodWM3SFdTcUo1ay95Y1NyUk83CjNjam5laWpRMVZk
ZjdiaDdwTXovZWZkRGQ5Vmk3U2YzL0FuSC9VTEN2RmZvLzkwT0hUbzR1aDE5djNmUFUzVGNjOVBN
L3pQOTJ4SSsKck1nOTc4ZHhCN0ttSHZjOEVNZjk4c0xVNzM0NTViejk5dHRWOVNkNkVQc2VrZXIv
WDJ3OSt0cHo5NEpHelU1V1I2SzJKSG9OSnV1RApxSTMrMzVQSTl3ZjNQQ2pIL1VMTjBjTVFkVXIx
Lzl2dnR2ejJtVHVnVFBnWklkWGZDVDBrMlAxQzBiUmp5cFFwemxOUFBXVWU2ei9wCnZCYXJWdVlC
QWdoa1RTRGxIaEMvWXgwOTBiUzB0RlRjTngvNS92ZS9YM1cxSk4yVjdyYkNIRTdqSGdOdjlnNXMy
N1pOL3ZHUGYvamQKUk1MeWVwVVIvZmJqekRQUE5HWDBXekwzelVqYXRtMHJ1czFseTVhWnZSQzZV
SGNQMzNqamphSW5xZXBlaTNqVE1jY2NFN1ZidDBHRApCbFhQZFErR25veXRKeFhxTjNWYVZrL20y
N1Jway96bmYvNm5PV255amp2dU1HM1dlZnF0bmE3VHJWczNVU1BONUw1cHlycDE2K0p0Cld0d1By
YUxmM3N5ZE85Y3Nkd2NxcHE1dzRVVE9YdHFackYzaCtzTy9kUytWWmdoL2U2MkhGT2tKMVlrbXZ5
N2FEM3Jpdnp0d05WWHEKSVFIaGJ6YkQyOUNUdVhWSzFyL2hzb2xjd3N0amY0ZnJEczlQdEg2NnIx
OTM0R2oyQnVvZUhQMEdUL2ZvNklVY0VrM0oydWlsYjJQcgpUZGJYZnZ2SzcyczROb3ZmNTVudWk4
V0xGNXVMWmVoSjd1R2ZQWHYySkkwVjVQNUk5UjRTMmZCa3I1TkU5U1Q3UDVGb25jaHRoaC9yCis2
UHVtWEFIbmVad09IZndZTjVEM1FGcXVJajVmZjMxMTRzN2dEZC9WeDU4OEVGeHowMFU5OHN1MFlz
TDZONWs5N3doODE2czcvbDYKV0pFN3dERHZ0K0gvNDgyYU5UTjdjZGV2WHkvdTRNVWNtdFc3ZDIv
Ums3T1RUZUgxMC9uL0YxdHZxanJpdFVXdkxKbm83MXF5UG9qZApkdXh6M1ZPa2Y0LzA3N0pPcWY1
L3A3TXRQMzJtYlV6MEdjSEwzd2x0Zy9hOS9nM1I3WVluUDYvRjhEcjhSZ0NCN0F0a2ZBQVNmclBX
CjZIcjFMTjNkckpOK3lOYzNCajBHVlgvMFVKdS8vZTF2WmxlNktaQ0JmM1F3bzRjcVJXYlFYZk82
WGQwbHIyKzQra1lXbnR3OUlPYWgKdnZHbE0wVnVSOWR2M0xoeFZEWEZ4Y1htdVE2MGROTHlrZXRv
ZWZja1I3TXM5aC8zV3luendWei80T3J1ZS9lYnVLZ1BycEgxUkRwbgp1cDM2b1UzL3VFY2VKOStv
VWFPb2RzUm1qOHlteTVLNWFGbjNXemt6NE5ManRQVktNYkVmQ3NQMUpldmZjSVp3V1gwZTZSSmVI
dnM3CnNyd3VpM3dldVg2NnIxLzN4Rm56UjFFUEgvdmpILzhZdS9tam5pZHJZNmI3TnJhOStqeFpY
NFhMUnhvbGV3MXIrZXBNa2R2SlJGL28KNFpNVEowNk0rdEgzaEdSVGtQc2oxWHRJc25aSExrdFVU
N0wvRTRuV2lheFhILy8zZi8rM3VIdUd6UmRFZW1qbnd3OC9iTjZuWTh2cAo4eVpObWxUTjFnL3FP
b1V2SWFzRHFOaSsxTU92ZElBUk8rbEFSQStOMVFHTSs2MitHY0Q4K01jL2ppMVc5VHo4T3N6RS96
OHZkY1MyCkpkbHJNRmtmVkRVZ3lRTnRXN2g5V2l6MmVlVC83M1MyNWFmUGt0V3Z1Vkw5bmRBdnl2
UVF2UENYWmVGbWUzMHRoc3Z6R3dFRWNpTlEKbEp2TmlMaUhKSW1ldkp6cStQZnE1TkhqUjhQbkQ4
VFdvOGVpYWdZZEVPa0hhSjMwMngvTnBCOE9NekhwM29IWU4vUHExS3ZmMHVybApCZlZEa3g0YnJK
Y1FEUTlxRXRXYjZYWis4c2tueGkxMmU1SHRqRjBXK3p5VmkxNnlVZmRPVFpzMlRmUzRhZjBqSFc5
SzFyL3h5bWR5ClhuVmV2KzVoSmVZRGxuNXJxM3NGM2NQWEVrWkwxc1pNOTIyOEVLbjZLdDQ2dVo1
WG5iN3dtelhvL1pIT2UwZzhvM2oxcE9xSGVPdkUKdm4vcHVYSjZTZVJmLy9yWG9vTUFQZDh0OWdO
a3ZEeTZCMWsvSE1jT21DUEw2dDRSUFU4djNxUjdka2VPSEduMndPdTVnSW5LUmE2YgppZjkvNmRT
UjdEV1lxZzhpODFmM2NYVzNsYXJQVXRXZjZ1K0VYbXhBdjhEU0l3LzBQTXZJeWN0ck1iSThqeEZB
SVBzQ0dkOERraWl5CmU2NkUyZU1SK1kyLzdtN1ZiOWd6TmVrYm5INGpwcnZZdzVOdVEvZHc2TGY0
ZWdNOXZZOUZlTkkvZlBvTm1PNjZUelRwaWJENW1QVG0KV1pwUHYwSFgzZlo2WXFhZUNKOXE4dHBP
ciszU0FaRHV3ZEhESXJJeHJWbXp4cHpncmhjTGlOdzdGYm10OEdBbldmOUdsdmZ6T0Z4Mwpxbldx
Ky9xZFBIbXlPZXhEcitxbGZadG9TdFpHcjMwYlc3Zlh2bzVkejlibjFlMExQKzBLY24vNGZROUo5
RHBKVkUreWZraTBUcXk5CkhtYWxGL0xRdlJFNkdORjdUZWtBUFh6eWNHejU4UE5QUC8zVTdDblZp
My9FbS9Td0pkMGpFbnNZbDk1bzFqMmZRdHp6K2N3aFgzcVIKRlAyQ3h6MEhKbDQxWmw3NFBTTGQv
MytSRmFkVFI3TFhZTEkraU54dUpoNVhkMXVwK2l4Wi9WNytUdWhnVk85RDVwNy9JWC8rODUrcgpt
dXoxdFZpMUFnOFFRQ0FuQXI0R0lQb0hTaThwbU9pdXN2cnRqdjZFSjcxeWgvN29kTTAxMTRoK2s2
T0hSTGtubnBzUDE2TkdqVXA1CkNjQlUyd3h2UzMvclZhLzBEODZBQVFQTWVRUjZMb0YrczlXNmRX
dHhUeDQzNTZYb1lWL2hTWGY1Nng4RS9ZT2trN2JOUFdFdHZOanMKSWRIamczVyt2bm5xd0NieWhs
WmFWZ2MxNFVudk1xdlB3M1hvNEVhbjhCOTJyU2Y4V09lclZlVDZPaTg4NlhiMHloMDY2UjlMdlpK
TAplTTlOTW1jdjdkUTlQOG5hRmVtZ3BycVhTSSt0RFU5NkYzVDl0aXBSZGo4dTJrZHFvbjlndEQ3
OUJrc0hxVHB3MUI4OTlFdjN3dWlrCi9aU29mM1Y1TWhkZEhqdEYxcTJ2eVdUciszMzloZys3MDNw
MTBqK08raTJjOXFzT1FpSmZCNUc1Z3Y0YTF2OERlbmhMdU04aTJ4YjUKV051dnI3TmN2SmVFMzRQ
Q2ZSR1pRMTlyOGVhSHl3UzVQNUs5aDRUYkYvNmQ3RDBoVVQzSi9rOGtXaWU4dmRqZit2L2psNy84
cGJrcQpvRjZ0U3IvTjF1UDRkU0FSbmlMZmIvVGNIRDNuTG56dW1MN1hodnRaeThjZWZxVUREMzBm
MWZPSzlCeEJ2V3UySHZKNS9QSEhoNnVQCit6dnlQVUwzM3V1NWpjbitoc1JXb2plMzFOZTZ2cmZv
NU9YOU9iWXR5VjZEeWZvZ05vcytqM3h2MStlYVM5MzB2VmFuWkgrai9HNUwKNi9QVFo4bnFUL1Yz
UXMyMERYb0k5dkRodzgwNVJmcDNTcWRrcjBXdjcxZW1JdjVCQUlITUNyai9hVDFON3FGTmpsNWR4
TjI2NHg3WAo2ZWdOQ0Nzcks2dlcxU3RCdVlkdm1KdDZ1WHNjSFBlUUlVZHZKdVorZURWWEx0R0M3
aVZsSGZkNjNlYktVTzYzVTg1enp6MVh0WDY4CkI2bTJHVzhkclZQcjFwenVOMGVPZTJoUFZUSE5w
RGNkKzgxdmZ1TzR4NHM2N21WeEhmZU56U3gzUDVBNzdrbnJaajMzT0dSSHI3cmgKbmpUc3VPZVBt
S3V0M0hQUFBlYUtJZTRKOXVZcUxPN3hxbzVlRGNvOWNjOXhMMS9vdU4ra21TdHE2WGIxNmxmdWlX
K09lOWxhVTUvNwpyWjY1T292N3g4eXNvK3ZxRGVyMGlsbnFNWC8rL0txTTRRZmFkdmNrWVhPVFIv
ZVBxZU5lQnRkY3pjT0xjN0oyYXYzSjJoWFA0WmxuCm5uSGNEd2ltUDdVdGVpVW52WEtRem8rZC9M
cTRlNnpNMVd2Y3daWGpEaHdkOXg0WmpudXl2M1B0dGRlYVB2akZMMzVoWGkvdUJRTWMKZHdCclhq
UHgrdGVMUzJ6V3lMcmRYZllaZS8zcUZjTzBiL1cxb0ZkT2kzd042bzA2ZGI1N2JMcmpEcnBpSTVu
blFYNE5hNXZjYjR5agpya0lUMjhoVS82Kzk5S1hYOXhMM0loT09lMGxPWTY1WFJBci9YOVBYa3Zh
LzlvWG0xZitya2U5bmtabUQyaCtKM2tNaTJ4WituT3c5CklWazlpZm9oMlRyaGJTYjc3WDdoNDdq
bnZqbnVoMGxUVE45VDNVR1M0eDdHNkxpSGF6bTMzMzY3dWFLaUx0VDNJYjNabjN2WmM4ZjkKMHNh
VTE2dEd1VitTbU1mNmozdXBXWE5sclVSOVhGVXc1a0hrZTRTK1psSzl0MGF1cmxkY2N3ZFM1alht
WGo3WWNiL0FNb3VUMVJHdgpMYnBTc3RkZ29qNkl6S0tQWTkvYjlYMUpYZlQvZ043a1VhOWVtZXB2
bE5kdDZmYjg5cG11azZoKzl6RHBoSDhuM0M5MkhQMzdvWDh2CjNZR21jZGEvSWZwNmNQYzhPOGxl
aTE3ZXJ6UVhFd0lJWkY0Z3BGVzZiMEE1bS9RYkZ2MVdTM2NyNnpmcjJaaTBTWHI0a2w3VkkzYlMK
WlhxdkNqM1dYYThDbEdyU3ZQb3RqcDRZcU4vc0p6cE1LRlU5ZnBmcnQyYWFVYS9nb2R2VSs2MzRt
VksxMDIrNzFFQy9LZFlUK3ZSYgo0OWhERy94a2kxZFd2NFZUWTUxaW5YVnZpMjQzUENYcjMzQVpy
NzlqNjA2MVhpNWV2NW9oV1J0VDlXMXNHL3oyZGV6NmZwL3IzaDg5Ci9DWGJVNjc2UXRzUnhQN3cr
eDZTNkhXU3FwNTQvWkJxSGErdkRmMW1PL0x2aEI1T28rOEZrZlBpMWFYbmtZVXZNcUxMWSt1SnQw
NmkKZWJIdkVYNy8vOFdyTjUwNmtyMEc0L1ZCdk8xbVlwN2ZiWG50czNDMlpQVW4renNSWGovMmQ2
clhZcTdlcjJKejhSeUJRaGZJK1FDawowTUZwUHdJSUlJQUFBZ2dnZ0FBQ2hTemc2eHlRUW9haTdR
Z2dnQUFDQ0NDQUFBSUlJRkI5QVFZZzFUZWtCZ1FRUUFBQkJCQkFBQUVFCkVQQW93QURFSXhURkVF
QUFBUVFRUUFBQkJCQkFvUG9DREVDcWIwZ05DQ0NBQUFJSUlJQUFBZ2dnNEZHQUFZaEhLSW9oZ0FB
Q0NDQ0EKQUFJSUlJQkE5UVVZZ0ZUZmtCb1FRQUFCQkJCQUFBRUVFRURBb3dBREVJOVFGRU1BQVFR
UVFBQUJCQkJBQUlIcUN6QUFxYjRoTlNDQQpBQUlJSUlBQUFnZ2dnSUJIQVFZZ0hxRW9oZ0FDQ0ND
QUFBSUlJSUFBQXRVWFlBQlNmVU5xUUFBQkJCQkFBQUVFRUVBQUFZOENERUE4ClFsRU1BUVFRUUFB
QkJCQkFBQUVFcWkvQUFLVDZodFNBQUFJSUlJQUFBZ2dnZ0FBQ0hnVVlnSGlFb2hnQ0NDQ0FBQUlJ
SUlBQUFnaFUKWDRBQlNQVU5xUUVCQkJCQUFBRUVFRUFBQVFROENqQUE4UWhGTVFRUVFBQUJCQkJB
QUFFRUVLaStBQU9RNmh0U0F3SUlJSUFBQWdnZwpnQUFDQ0hnVVlBRGlFWXBpQ0NDQUFBSUlJSUFB
QWdnZ1VIMEJCaURWTjZRR0JCQkFBQUVFRUVBQUFRUVE4Q2hRNUxGY29JdUZSb1lDCm5aL3cvZ1Nj
TXNmZkNwUkdBQUVFRUVBQUFRUVF5SmxBUVF4QVZETm9IMHAxMEpUdnpEWms4UHMvZ2NHbVh6SEtJ
NEFBQWdnZ2dBQUMKdVJYZ0VLemNlck0xQkJCQUFBRUVFRUFBQVFRS1dvQUJTRUYzUDQxSEFBRUVF
RUFBQVFRUVFDQzNBZ3hBY3V2TjFoQkFBQUVFRUVBQQpBUVFRS0dnQkJpQUYzZjAwSGdFRUVFQUFB
UVFRUUFDQjNBb1U1QUNrckt4TVFxR1FsSmVYSDZVOWZmcDBzK3h2Zi92YlVjdnlOYU5qCng0NG1r
MlpPOUZPblRwMnN4d3U3aFROMDZ0Uko3cnp6VG5uOTlkZXp2bTAyZ0FBQ0NDQ0FBQUlJSUZBekJB
cm1LbGhCN2k0ZEZPM2YKdjcrcUNYZmNjWWRzM2JwVlpzNmNXVFZQQndXNW1zTGJYYnAwcVV5ZE9s
VWVmL3h4ZWUrOTk2UlZxMWE1aXNCMkVFQUFBUVFRUUFBQgpCQUlxd0FBa0FCM1hzMmZQcUpUSEhu
dXM3TnExUzc3Ly9lOUh6Yy9WazdQUFBsdGF0MjR0VjE1NXBkU3ZYMS9Hang4dlM1WXNrYXV2CnZq
cFhFZGdPQWdnZ2dBQUNDQ0NBUUVBRkN2SVFySUQybFpXeE8zVG9ZSEkxYTliTXlueUVRZ0FCQkJC
QUFBRUVFTEJMZ0FHSVhmMFIKdURSLytNTWY1SmhqanBIdmZlOTdnY3RPWUFRUVFBQUJCQkJBQUlI
Y0N4VDBJVmlublhhYTFLb1ZQUVk3Y09CQTduc2hZRnY4eTEvKwpJdXZYcjVmNTgrZkxaNTk5WnM1
RjBVT3htQkJBQUFFRUVFQUFBUVFRU0NWUTBBT1EwYU5IeS9ISEh4OWw5STkvL0VNZWZ2amhxSGs4
CmlSYTQvLzc3NWZEaHc3SjM3MTdSd1VqdjNyMmpDL0FNQVFRUVFBQUJCQkJBQUlFRUFnVTlBTG4w
MGt1bGZmdjJVVFM2QjRRQlNCVEoKVVUvZWZmZGRhZGl3b1p4eXlpbWlnNUdMTDc1WTZ0V3JkMVE1
WmlDQUFBSUlJSUFBQWdnZ0VDc1FmZnhSN0ZLZUk1QkFRRTg2bnp4NQpzdWhnNUw3NzdrdFFpdGtJ
SUlBQUFnZ2dnQUFDQ0VRTE1BQ0o5dUNaRDRFcnJyaEMrdlRwSXhNbVRCQzlKd2dUQWdnZ2dBQUND
Q0NBCkFBS3BCQmlBcEJKaWVWSUJQVnl0dUxoWWZ2S1RuOGllUFh1U2xtVWhBZ2dnZ0FBQ0NDQ0FB
QUlNUUhnTlZFdmdoQk5Pa0hIanhrbDUKZWJuY2RkZGQxYXFMbFJGQUFBRUVFRUFBQVFScXZrRElj
YWVhM3N6UXlKQTRaY0ZxcGcyWmJjamc5N1VaeE14KzIwaDVCQkJBQUFFRQpFRUFneUFMc0FRbHk3
NUVkQVFRUVFBQUJCQkJBQUlHQUNUQUFDVmlIRVJjQkJCQkFBQUVFRUVBQWdTQUxNQUFKY3UrUkhR
RUVFRUFBCkFRUVFRQUNCZ0Frd0FBbFloeEVYQVFRUVFBQUJCQkJBQUlFZ0M2UThDVjFQNm1WQ0lF
Z0NRYnZnUUpCc3lZb0FBZ2dnZ0FBQ0NGUlgKb01oTEJVSC9RQmZFS3lQWmtObUdERjVlbjVGbEdE
QkhhdkFZQVFRUVFBQUJCQkN3VDRCRHNPenJFeEloZ0FBQ0NDQ0FBQUlJSUZCagpCUmlBMU5pdXBX
RUlJSUFBQWdnZ2dBQUNDTmdud0FERXZqNGhFUUlJSUlBQUFnZ2dnQUFDTlZhQUFVaU43Vm9haGdB
Q0NDQ0FBQUlJCklJQ0FmUUlNUU96ckV4SWhnQUFDQ0NDQUFBSUlJRkJqQlJpQTFOaXVwV0VJSUlB
QUFnZ2dnQUFDQ05nblVKQURrTGx6NThyNDhlT1AKNm8wVksxYkl3SUVEWmRldVhVY3R5L2NNR3pM
YmtDSGYvY0QyRVVBQUFRUVFRQUFCQktvblVKQURrTm16Wjh2UW9VTmwrUERoVVhvcgpWNjZVNmRP
blM2TkdqYUxtMi9ERWhzdzJaTENoTDhpQUFBSUlJSUFBQWdnZ2tMNkFweHNScGwrOW5XdE9tVExG
QkJzN2Rxd2NPblJJCnhvMGJaNTZ2WDc5ZXVuYnRLa1ZGOXJIWWtObUdESGErb2tpRkFBSUlJSUFB
QWdnZzRGV2dJUGVBS0U0b0ZKSVdMVnFZUTdFbVQ1NHMKanVPSUhtSlVXbHJxMVM3bjVXekliRU9H
bk1PelFRUVFRQUFCQkJCQUFJR01DZGozVlgvR21wYTRvc3JLU25PbzFZSUZDMlRVcUZGeQp4eDEz
eUtwVnE2U2lva0orOFl0ZkpGNHhqMHRzeUd4RGhqeDJBWnRHQUFFRUVFQUFBUVFReUlCQVFlNEJl
ZXFwcDZSang0N1NzMmRQCm1UbHpwcHg4OHNreWRlcFV1ZmZlZStYWVk0L05BR3ZtcTdBaHN3MFpN
aTlMalFnZ2dBQUNDQ0NBQUFLNUZLajJBRVQzR3RoNDFhaGsKaUxybm8wZVBIcVpJY1hHeDZNblZ6
WnMzbCtlZmZ6N1phbmxkWmtObUd6TGt0UlBZT0FJSUlJQUFBZ2dnZ0VDMUJkSWFnQ3hidGt3RwpE
eDRzWGJwMGtaWXRXNHBldmpaSTA2Wk5tMHp1Y09hU2toS1pObTJhTEZxMFNKNTQ0b253Ykt0KzI1
RFpoZ3hXZFFwaEVFQUFBUVFRClFBQUJCSHdMcERVQVdiaHdvZXpkdTdmcWhHMDlNVGxJVSt3SGFj
M2V1M2R2NmRPbmo3azhyKzdWMGVtaGh4NlNPblhxeUpneFk4enoKZlA1alEyWWJNdVN6RDlnMkFn
Z2dnQUFDQ0NDQVFQVUYwaHFBbEpXVnlkTlBQeTJYWG5wcDlSUGt1SWJkdTNlTG5remRwRW1UbzdZ
OAphZElrYWRDZ2dXemN1TkVzMHl0ajZXVjZqeHc1Y2xUWlhNNndJYk1OR1hKcHpyWVFRQUFCQkJC
QUFBRUVzaU1RY2o5a084bXFEbzBNCmlWTVd2OGk4ZWZQa3dnc3ZGRDAzd09yTDF5WnBRMnpidi96
eVM2bGZ2MzdzN0p3L1QrWWVHeVpibVczSUVOdldWTS85WkU1VkY4c1IKUUFBQkJCQkFBQUVFTWkr
UTFoNlF6TWV3cDBZYkJoOStOV3pJYkVNR3YyNlVSd0FCQkJCQUFBRUVFTWk5QUFPUTNKdXpSUVFR
UUFBQgpCQkJBQUFFRUNsYUFBVWpCZGowTlJ3QUJCQkJBQUFFRUVFQWc5d0lNUUhKdnpoWVJRQUFC
QkJCQUFBRUVFQ2hZZ1lJY2dNeWFOVXN1CnVPQUMwU3M3QldXeUliTU5HWUxTWCtSRUFBRUVFRUFB
QVFRUWlDOVFrQU1RdmN6dS9Qbno1ZURCZy9GVkxKeHJRMlliTWxqWU5VUkMKQUFFRUVFQUFBUVFR
OENGUTVLTnNWZEhObXpmTGpoMDdwTHk4M016YnNHR0RISC84OGRLOGVYTnAxYXBWVlRrZUlJQUFB
Z2dnZ0FBQwpDQ0NBQUFLUkFtbnRBUms5ZXJTY2V1cXBNbmp3WUZQWHpUZmZiSjcvK3RlL2pxeWJ4
d2dnZ0FBQ0NDQ0FBQUlJSUlCQWxFQmFBNUJICkhubEU5UDZGc1Q5NkovRWdUUWNPSEpBaFE0Wkky
N1p0cFYyN2RqSml4QWpUSnB2YllFTm1HekxZM0Vka1F3QUJCQkJBQUFFRUVFZ3MKa05ZQUpIRjF3
VnFpZTNCV3IxNHROOTEwazlTcFUwZEdqaHdwRHo3NG9OV05zQ0d6RFJtczdpVENJWUFBQWdnZ2dB
QUNDQ1FVS09nQgpTUGZ1M1dYaHdvVnkvLzMzeTlxMWE2VjkrL1l5WWNJRXEvZUMySkRaaGd3Slg5
RXNRQUFCQkJCQUFBRUVFTEJhb0tBSElMZmNja3RWCjV4UVZGVW5QbmoxbCsvYnRzblhyMXFyNXRq
MndJYk1OR1d6ckYvSWdnQUFDQ0NDQUFBSUllQk1vNkFGSUxGRzNidDNNTEwzQ1YxQW0KR3pMYmtD
RW8vVVZPQkJCQUFBRUVFRUNnMEFVWWdFUzhBdmJzMldPZXRXN2RPbUt1M1E5dHlHeERCcnQ3aVhR
SUlJQUFBZ2dnZ0FBQwpZWUdDSG9BY09YSWs3R0IrTDErK1hEcDE2aVRGeGNWUjgyMTZZa05tR3pM
WTFDZGtRUUFCQkJCQUFBRUVFUEF1VU5BRGtMNTkrOHJLCmxTdGwzNzU5TW1YS0ZGbXlaSWtNR3pi
TXUxNGVTdHFRMllZTWVhQm5rd2dnZ0FBQ0NDQ0FBQUlaRUVqclRwa0VSY3dBQUNBQVNVUkIKVk9n
WjJHN2VxNmhidDY0TUhEaFFTa3RMcGJLeVV1clhyeStqUm8yU0cyKzhNZS9aRWdXd0liTU5HUkw1
TUI4QkJCQkFBQUVFRUVEQQpmb0dRZXpOQkoxbk0wTWlRT0dWSml5UmIzWXBsc1czWXUzZXYyZXZS
b2tVTDBjT0p5c3ZMUmMvNzBBL1h0a3cyWkxZaGc5LytpTTNzCmQzM0tJNEFBQWdnZ2dBQUNDR1JY
b0NEM2dEUnMyRkQwUjZkYXRXcEpTVWxKZHBVelVMc05tVzNJa0FGS3FrQUFBUVFRUUFBQkJCREkK
bzBCQm53T1NSM2MyalFBQ0NDQ0FBQUlJSUlCQVFRb3dBQ25JYnFmUkNDQ0FBQUlJSUlBQUFnamtS
NEFCU0g3YzJTb0NDQ0NBQUFJSQpJSUFBQWdVcDRPa2s5SUtVb2RHQkZRajZSUk1DQzA5d0JCQkFB
QUVFRUVEQWc0Q25rOUNEL29FdWlGZEdzaUd6RFJrOHZJYWppbWhtCkpnUVFRQUFCQkJCQUFBRjdC
VGdFeTk2K0lSa0NDQ0NBQUFJSUlJQUFBalZPZ0FGSWpldFNHb1FBQWdnZ2dBQUNDQ0NBZ0wwQ0RF
RHMKN1J1U0lZQUFBZ2dnZ0FBQ0NDQlE0d1FZZ05TNExxVkJDQ0NBQUFJSUlJQUFBZ2pZSzhBQXhO
NitJUmtDQ0NDQUFBSUlJSUFBQWpWTwpnQUZJamV0U0dvUUFBZ2dnZ0FBQ0NDQ0FnTDBDQlRrQW1U
dDNyb3dmUC82b1hsbXhZb1VNSERoUWR1M2FkZFF5RzJmWTBBNGJNdGpZCk4yUkNBQUVFRUVBQUFR
UVFpQzlRa0FPUTJiTm55OUNoUTJYNDhPRlJLaXRYcnBUcDA2ZExvMGFOb3ViYitzU0dkdGlRd2Ri
K0lSY0MKQ0NDQUFBSUlJSURBMFFLZWJrUjQ5R3JCbmpObHloVFRnTEZqeDhxaFE0ZGszTGh4NXZu
NjlldWxhOWV1VWxRVURCWWIybUZEaG1DLwpHa21QQUFJSUlJQUFBZ2dVbGtCQjdnSFJMZzZGUXRL
aVJRdHpLTmJreVpQRmNSelJ3NGxLUzBzRDlRcXdvUjAyWkFoVXB4RVdBUVFRClFBQUJCQkFvWUlG
Z2ZOV2Y0UTZxckt3MGgxb3RXTEJBUm8wYUpYZmNjWWVzV3JWS0tpb3E1QmUvK0VXR3Q1YTk2bXhv
aHcwWnNpZE0KelFnZ2dBQUNDQ0NBQUFLWkZpaklQU0JQUGZXVWRPellVWHIyN0Nrelo4NlVrMDgr
V2FaT25TcjMzbnV2SEh2c3NaazJ6bHA5TnJURApoZ3haQTZaaUJCQkFBQUVFRUVBQWdZd0xwRDBB
K2VxcnIrVDExMStYOTk5L1h3NGZQcHp4WU5tc1VQZDg5T2pSdzJ5aXVMaFk5RVRxCjVzMmJ5L1BQ
UDUvTnpXYThiaHZhWVVPR2pNTlNJUUlJSUlBQUFnZ2dnRURXQkh3UFFGNSsrV1hwMWF1WDJWTncz
bm5ubWIwSDNicDEKa3pmZWVDTnJJVE5kOGFaTm02Umx5NVpWMVphVWxNaTBhZE5rMGFKRjhzUVRU
MVROdC8yQkRlMndJWVB0L1VRK0JCQkFBQUVFRUVBQQpnWDhMK0I2QTZESC8vZnYzbHkxYnRzak9u
VHRsNGNLRnNtM2JOcm5paWl2TUZhWCtYYlc5ajJJL05HdlMzcjE3UzU4K2ZjemxlZlZjCkVKMGVl
dWdocVZPbmpvd1pNOFk4eitjLzhiSjRiVWVtY3R1UUlWTnRvUjRFRUVBQUFRUVFRQUNCL0FqNEhv
QmNmUEhGTW1USUVMTUgKcEZhdFd2S0RIL3hBcnI3NmF0bXdZWU84OTk1NytXbUZqNjN1M3IxYmRC
RFZwRW1UbzlhYU5HbVNOR2pRUURadTNHaVc2Wld4OURLOQpSNDRjT2Fwc3JtZkVadkhUamt4bHRT
RkRwdHBDUFFnZ2dBQUNDQ0NBQUFMNUVRaTVIeXFkWkpzT2pReUpVNWEwaUl3ZVBWcCsrY3RmCnlv
Y2ZmaWg2T0pOdGs1YzJoRE4vK2VXWFVyOSsvZkRUdlAzMmt6bGV5RXkwdzRZTThkcVdiRjUxTXll
cm0yVUlJSUFBQWdnZ2dBQUMKMVJmd3ZRY2tkcE02Zm5uaGhSZWtUWnMyVmc0K1l2T21lbTdENENO
VlJpL0xiV2lIRFJtOFdGRUdBUVFRUUFBQkJCQkFJSGNDMWI0UAp5SzkrOVN0NTdiWFg1Tmxubjgx
ZGFyYUVBQUlJSUlBQUFnZ2dnQUFDZ1JTbzFoNlFwNTkrV3NyS3l1U1JSeDR4SjZZSFVvRFFDQ0NB
CkFBSUlJSUFBQWdnZ2tET0J0UGVBVEo4K1hXNjg4VVo1OHNrbjVkcHJyODFaWURhRUFBSUlJSUFB
QWdnZ2dBQUN3UlZJYXcvSW5EbHoKek9CRHJ4ckY0Q080blU5eUJCQkFBQUVFRUVBQUFRUnlMZUI3
QVBMNTU1L0w5ZGRmTDVkY2Nva01Ianc0MTNuWkhnSUlJSUFBQWdnZwpnQUFDQ0FSWXdQY2hXSHBU
dmgwN2Rzalh2Lzcxbys0YWZ0bGxsOGx4eHgwWFlBNmlJNEFBQWdnZ2dBQUNDQ0NBUURZRmZBOUFQ
djc0Clk1UG40WWNmUGlxWFhnMHJDQU9RR1RObXlLSkZpeVFVQ2ttelpzMmtRNGNPNWxBeXZRbWhy
Wk1ObVczSVlHdi9rQXNCQkJCQUFBRUUKRUVEQW00RHZBY2lzV2JPODFXeHhLYjF4NHRxMWE2TVM2
a24xUzVjdWpacG4weE1iTXR1UXdhWStJUXNDQ0NDQUFBSUlJSUNBZndIZgo1NEQ0MzRSOWE2eFpz
MGIwQm9yNlUxbFpLWHBZMmJKbHkyVExsaTMyaGYyL1JEWmt0aUdEdFIxRU1BUVFRQUFCQkJCQUFB
RlBBZ1U1CkFJbVVLUzR1bG43OStwbFpGUlVWa1l1c2ZXeERaaHN5V050QkJFTUFBUVFRUUFBQkJC
QklLRkR3QXhDVmFkU29rUUhTdlNGQm1XekkKYkVPR29QUVhPUkZBQUFFRUVFQUFBUVQrSmNBQXhI
V29YYnUyMGRCRHNvSXkyWkRaaGd4QjZTOXlJb0FBQWdnZ2dBQUNDUHhMZ0FFSQpyd1FFRUVBQUFR
UVFRQUFCQkJESW1RQURrSnhSc3lFRUVFQUFBUVFRUUFBQkJCRHdmUm5lb0pQcGxad2VlZVNScUdi
czNidlhQSjg0CmNhSTBiZHBVVGozMTFLamwrWDVpUTJZYk11UzdIOWcrQWdnZ2dBQUNDQ0NBUVBV
RkNtNEFNbTNhTkprOGVYSmN1UmRlZUVHbVRwMGEKZDFrK1o5cVEyWVlNK2V3RHRvMEFBZ2dnZ0FB
Q0NDQ1FHWUdRZStKMTBqT3ZReU5ENHBRbExaS1pKRm1zSllodHNDR3pEUm44dml5QwptTmx2R3lt
UEFBSUlJSUFBQWdnRVdZQnpRSUxjZTJSSEFBRUVFRUFBQVFRUVFDQmdBZ3hBQXRaaHhFVUFBUVFR
UUFBQkJCQkFJTWdDCkRFQ0MzSHRrUndBQkJCQkFBQUVFRUVBZ1lBSU1RQUxXWWNSRkFBRUVFRUFB
QVFRUVFDRElBcDVPUWc5eUE4bGVlQUpCdjJoQzRmVVkKTFVZQUFRUVFRQUNCUWhMd2RCbmVvSCtn
QytLVmtXekliRU1Hdi84Wk5UTVRBZ2dnZ0FBQ0NDQ0FnTDBDSElKbGI5K1FEQUVFRUVBQQpBUVFR
UUFDQkdpZkFBS1RHZFNrTlFnQUJCQkJBQUFFRUVFREFYZ0VHSVBiMkRja1FRQUFCQkJCQUFBRUVF
S2h4QWd4QWFseVgwaUFFCkVFQUFBUVFRUUFBQkJPd1ZZQUJpYjkrUURBRUVFRUFBQVFRUVFBQ0JH
aWZBQUtUR2RTa05RZ0FCQkJCQUFBRUVFRURBWG9HQ0hJRE0KblR0WHhvOGZmMVN2ckZpeFFnWU9I
Q2k3ZHUweXk3eVdPNnFpTE16d21zVnJ1WFFpZXEzYmE3bDBNckFPQWdnZ2dBQUNDQ0NBUUxBRgpD
bklBTW52MmJCazZkS2dNSHo0OHF2ZFdybHdwMDZkUGwwYU5HcG41WHN0RlZaS2xKMTZ6ZUMyWFRr
eXZkWHN0bDA0RzFrRUFBUVFRClFBQUJCQkFJdG9Dbkd4RUd1NGxIcDU4eVpZcVpPWGJzV0RsMDZK
Q01HemZPUEYrL2ZyMTA3ZHBWaW9yK3hlSzEzTkZieVB3Y3IxbTgKbGtzbm9kZTZ2WlpMSndQcklJ
QUFBZ2dnZ0FBQ0NBUmJvQ0QzZ0dpWGhVSWhhZEdpaFRrVWEvTGt5ZUk0anVpaFE2V2xwVkU5NnJW
YwoxRXBaZXVJMWk5ZHk2Y1QwV3JmWGN1bGtZQjBFRUVBQUFRUVFRQUNCQUF1NEg3eVRUakpDUDVz
SGU0cHRnM3VPaDlPd1lVTm4rZkxsCnprVVhYZVRVcmwzYmNjLzljTndCaWJOejU4NnF4bm90VjdW
Q0JoL1lrTm1HREg1Sll6UDdYWi95Q0NDQUFBSUlJSUFBQXRrVlNEbTYKcUFrZjZHTGJNSEhpUk9l
MDAwNHpzcFdWbFU2WExsMGNkd3pwL081M3Y0dlM5bG91YXFVTVBiRWhzdzBaL0hMR1p2YTdQdVVS
UUFBQgpCQkJBQUFFRXNpdVE5aUZZSDMvOHNTeGJ0a3pXclZzblI0NGNDZFErb0FVTEZraVBIajFN
NXVMaVl0R1RwcHMzYnk3UFAvOThWRHU4CmxvdGFLVXRQdkdieFdpNmRtRjdyOWxvdW5ReXNnd0FD
Q0NDQUFBSUlJQkJzQWQ4RGtMZmZmbHVhTkdraWJkcTBFZmZ3SmVuY3ViUDUKZWZQTk53TWpzV25U
Sm1uWnNtVlYzcEtTRXBrMmJab3NXclJJbm5qaWlhcjVYc3RWclpERkIxNnplQzJYVGxTdmRYc3Rs
MDRHMWtFQQpBUVFRUUFBQkJCQUl0b0R2QVVpelpzMWswcVJKc25uelpuRVBYeko3UVhSdnlPREJn
d01qRWZzQldZUDM3dDFiK3ZUcFl5N1BXMUZSCllkcml0Vnd1R3U0MWk5ZHk2V1QyV3JmWGN1bGtZ
QjBFRUVBQUFRUVFRQUNCWUF2NEhvQzBidDFhcnIvK2VtblZxcFhVcWxWTHpqbm4KSExua2trdGt3
NFlOZ1pEWXZYdTNHVGpwWHB6WVNRZFdEUm8wa0kwYk40clhjckYxWk9PNTF5eGV5NldUMFd2ZFhz
dWxrNEYxRUVBQQpBUVFRUUFBQkJJSXZVSlNKSnVpSHp2UFBQejhUVldXOURqM253ejJ0SnU1MlRq
enhSUG5nZ3cra2Z2MzZacm5YY25FcnkrQk1HekxiCmtDR0RwRlNGQUFJSUlJQUFBZ2dna0NlQmFn
MUEzTXZVbXNPeFB2cm9JM00valR5MUlhT2JEUTgrVWxYcXRWeXFlakt4M0dzV3IrWFMKeWVTMWJx
L2wwc25BT2dnZ2dBQUNDQ0NBQUFMMkM2UTFBSmsvZjc3MDc5L2ZITXFrZXcxZWUrMDFPZUdFRSt4
dkxRa1JRQUFCQkJCQQpBQUVFRUVBZ3J3Syt6d0hSdEdlZGRaYm9wVmFmZSs0NWN3N0lONzd4RFhN
VnFieTJoSTBqZ0FBQ0NDQ0FBQUlJSUlDQTlRSnBEVUFhCk4yNHMzLzcydDgxVm8yYk9uQ21YWFhh
WjNIMzMzWExnd0FIckcweEFCQkJBQUFFRUVFQUFBUVFReUo5QVdnT1EyTGdYWG5paDZQa2cKaXhj
dmpsMWs1Zk5aczJiSkJSZGNZSzUwVmQyQWVzbGViWHUySnhzeTI1QWgyODdVandBQ0NDQ0FBQUlJ
SUpCZGdZd01RTUlERDkwegpFb1JKTDdPcjU3RWNQSGd3cmJoNkIzaTk3MG1YTGwzTURRMVhyRmlS
VmoxK1ZySWhzdzBaL0poUkZnRUVFRUFBQVFRUVFNQStBZDhECkVMM2p1WDRUL3Zubm44disvZnZs
ajMvOG84eVlNVU02ZGVva3A1OSt1bjB0ekVLaWhRc1h5dDY5ZTZXMHROVFVIZ3FGc3JDVnpGWnAK
UTJZYk1tUldsZG9RUUFBQkJCQkFBQUVFL0FyNHZnclcyclZyNWRwcnJ6WGJPZWFZWTJUZnZuMXk1
cGxueXVPUFB5NzE2dFh6dS8xQQpsaThyS3pPNTU4MmJKNU1uVHc1RUcyekliRU9HUUhRV0lSRkFB
QUVFRUVBQWdSb3M0SHNQeUk5Ly9HUDU0b3N2Wk5XcVZUSjM3bHdwCkx5K1hWMTk5VmJwMjdSbzRK
ajFwZnNpUUlkSzJiVnRwMTY2ZGpCZ3hJdUZOQ20xcG5BMlpiY2hnUzMrUUF3RUVFRUFBQVFRUVFN
Q2YKZ084QmlGYmZvRUVEMFV2dmZ1OTczek1mM1AxdDBwN1NlaDdINnRXcjVhYWJicEk2ZGVySXlK
RWo1Y0VISDdRbllKd2tObVMySVVNYwpHbVloZ0FBQ0NDQ0FBQUlJQkVBZ3JRRklBTnJsS1dMMzd0
MUZ6MHU0Ly83N1JROHRhOSsrdlV5WU1NSHF2U0EyWkxZaGc2Y09waEFDCkNDQ0FBQUlJSUlDQWRR
SUZQUUM1NVpaYnFqcWtxS2hJZXZic0tkdTNiNWV0VzdkV3piZnRnUTJaYmNoZ1c3K1FCd0VFRUVB
QUFRUVEKUU1DYlFFRVBRR0tKdW5YclptYnQyTEVqZHBHMXoyM0liRU1HYXp1SVlBZ2dnQUFDQ0ND
QUFBSlJBZ3hBSWpqMjdObGpuclZ1M1RwaQpydDBQYmNoc1F3YTdlNGwwQ0NDQUFBSUlJSUFBQW1H
QmdoNkFIRGx5Sk94Z2ZpOWZ2dHpjejZTNHVEaHF2azFQYk1oc1F3YWIrb1FzCkNDQ0FBQUlJSUlB
QUF0NEZDbm9BMHJkdlgxbTVjcVc1bDhtVUtWTmt5WklsTW16WXNKUjZtemR2bG5mZWVjZGNnbGdM
Yjlpd3dUei8KOU5OUFU2NWIzUUkyWkxZaFEzVWRXUjhCQkJCQUFBRUVFRUFnUHdLK2IwU1luNWla
MzJyZHVuVmw0TUNCNW03bWxaV1ZVcjkrZlJrMQphcFRjZU9PTktUYzJldlJvMFFGTGVMcjU1cHZO
dzF0dnZWVW1UWm9VbnAzeDN6Wmt0aUZEeG1HcEVBRUVFRUFBQVFRUVFDQm5BaUhICm5aSnRMVFF5
SkU1WjBpTEpWcmRpV1d3Yjl1N2RhL1o2dEdqUlF2UndJcjJab3A3M29SK3ViWmxzeUd4REJyLzlF
WnZaNy9xVVJ3QUIKQkJCQUFBRUVFTWl1UUVIdUFXbllzS0hvajA2MWF0V1NrcEtTN0Nwbm9IWWJN
dHVRSVFPVVZJRUFBZ2dnZ0FBQ0NDQ1FSNEdDUGdjawpqKzVzR2dFRUVFQUFBUVFRUUFDQmdoUmdB
RktRM1U2akVVQUFBUVFRUUFBQkJCRElqd0FEa1B5NHMxVUVFRUFBQVFRUVFBQUJCQXBTCndOTko2
QVVwUTZNREt4RDBpeVlFRnA3Z0NDQ0FBQUlJSUlDQUJ3RlBKNkVIL1FOZEVLK01aRU5tR3pKNGVB
MUhGZEhNVEFnZ2dBQUMKQ0NDQUFBTDJDbkFJbHIxOVF6SUVFRUFBQVFRUVFBQUJCR3FjQUFPUUd0
ZWxOQWdCQkJCQUFBRUVFRUFBQVhzRkdJRFkyemNrUXdBQgpCQkJBQUFFRUVFQ2d4Z2t3QUtseFhV
cURFRUFBQVFRUVFBQUJCQkN3VjRBQmlMMTlReklFRUVBQUFRUVFRQUFCQkdxY0FBT1FHdGVsCk5B
Z0JCQkJBQUFFRUVFQUFBWHNGR0lEWTJ6Y2tRd0FCQkJCQUFBRUVFRUNneGdrVTVBQmsxYXBWY3Rk
ZGQwblBuajJsZWZQbTByOS8KZjFtOGVIRlU1ejc3N0xOeS9mWFh5MGtublNUdDI3ZVhPKys4VTda
czJSSlZKcGRQYk1oc1E0WmNtck10QkJCQUFBRUVFRUFBZ2N3TApGT1FBWk9uU3BmTGhoeC9LZ0FF
RFpPclVxYkptelJvWk1tUklsTzdNbVRQbG1HT09rZkhqeDV2Qnl1VEprK1d4eHg2TEtwUExKelpr
CnRpRkRMczNaRmdJSUlJQUFBZ2dnZ0VEbUJVS09PeVdyTm9oM3c0NXRUNm8yUFByb296Sm8wQ0F6
S0NrcEtZbGQzVHcvNzd6elpPZk8KbmJKeTVjcTR5ek05MDRiTU5tVHc2NW9xczkvNktJOEFBZ2dn
Z0FBQ0NDQ1FXWUdDM0FNU0pqeDA2SkI4OHNrbnNuLy9mak9yb3FJaQp2S2pxOTk2OWUrV0REejZR
dW5YcnltZWZmVlkxUDE4UGJNaHNRNFo4K2JOZEJCQkFBQUVFRUVBQWdlb0pGT1FBUkFjU2VuNUg0
OGFOCjVjd3p6NVJwMDZZWnhjaWRRWC8vKzkvbG5IUE9rZUxpWXJuODhzdmxqVGZlcUo1ME5kZTJJ
Yk1OR2FySnlPb0lJSUFBQWdnZ2dBQUMKZVJZb3lBSEl4UmRmTFBQbno1ZTMzMzViTm0vZUxBODg4
SURwaGxBb1pINnZYcjFhTHJua0VtbmR1clZzMzc3ZGxDc3RMYzFyVjltUQoyWVlNZWUwRU5vNEFB
Z2dnZ0FBQ0NDQlFiWUZxRDBEKzlLYy9pWDV3Zi9EQkI2c2RKaGNWZlB6eHgyWnZ4dTIzM3k2ZE9u
V0sydVNSCkkwZk04M256NXNtWFgzNHBZOGFNa2FaTm0xYVZDUyt2bXBHakJ6Wmt0aUZEanJqWkRB
SUlJSUFBQWdnZ2dFQVdCYW8xQVBuMDAwL2wKcHovOWFSYmpaYjdxRTA0NFFmVG51ZWVlazdmZWVr
dGVldWtsS1Nzck14dlNQU0k2ZGUvZTNmeldLMSt0VzdkT0prNmNLSFBtekRIbgpnT1RqUEJBYk10
dVF3WFFLL3lDQUFBSUlJSUFBQWdnRVcwQ3ZncFZza2hFU2Q3RzdOOEE1Ly96ekhmZnFVRTZiTm0w
Y2R3OUkzSEkyCnpJeHR3NU5QUHVtNEg2ajE2bDlPNTg2ZG5WZGZmZFhwMWF1WDQrN0pjV2JNbUdF
aXUrZUlPUFhxMVhOcTFhcmx1UGNKY1Y1Ly9YWEgKdlN5djA2QkJBMmYzN3QxWmI1WU5tVzNJNEJj
Nk5yUGY5U21QQUFJSUlJQUFBZ2dna0YyQnRDL0RxM3NGOU53SnZUbWRucXl0bDdFZApObXlZbGFP
eGVKZG1QWHo0c09nZUhEM1BReWM5dk9xamp6NlN0bTNibWtQS2RONnVYYnZNNHlaTm11aFRxYXlz
bElNSEQ4cHh4eDFuCm5tZnpIeHN5MjVEQnIzRzh6SDdyb0R3Q0NDQ0FBQUlJSUlCQTlnU0swcWxh
VDlJZVBueTR1SHNMcEZXclZ1bFVrZmQxYXRldVhUWDQKMEREdW5nNXAxNjVkVks1amp6MDI2bmw0
SUJJMU00ZFBiTWhzUTRZY2tyTXBCQkJBQUFFRUVFQUFnUXdMK0Q0SDVNQ0JBM0xOTmRlWQpuNzU5
KzJZNER0VWhnQUFDQ0NDQUFBSUlJSUJBVFJid1BRQzU3Nzc3Wk4rK2ZlYkU3Sm9NUTlzUVFBQUJC
QkJBQUFFRUVFQWc4d0srCkRzRXFMeStYY2VQR1NkZXVYYzBla0hBY3ZUTFUwMDgvTGN1WEw1ZS8v
T1V2NW5DbThESitJNEFBQWdnZ2dBQUNDQ0NBQUFKaEFWOTcKUU9yVXFTTTMzSENEbkhIR0dkS3NX
Yk9xbjYrKytrcmNxME9aNStHS2JmNDlhOVlzdWVDQ0M4UzltbFcxWTFaVVZKaVQxYXRka2M4Swov
R3czaysyTmpHbERoc2c4UEVZQUFRUVFRQUFCQkJDd1g4RFhBT1RFRTArVWFkT21IZlZUVkZRa2wx
OSt1Wm12SjNQYlBtM2N1TkhjCkNWMnZhSlhPdEd6Wk1oazhlTEIwNmRKRldyWnNLU3RXckVpbkd0
L3JwTHZkNnJZM01xZ05HU0x6OEJnQkJCQkFBQUVFRUVBZ1dBTDIKanhZczlGeTRjS0hzM2J0WFNr
dExUVHE5RTN3dXBueHRON0p0Tm1TSXpNTmpCQkJBQUFFRUVFQUFnV0FKTUFCSm83LzB6dWw2enN1
bApsMTZheHRycHI1S3Y3VVltdGlGRFpCNGVJNEFBQWdnZ2dBQUNDQVJMSUNNREVEMEh4TmFiRUNi
ckRyMms4SkFoUTh6TkIvVWVJQ05HCm1OdStKMXNsME10c2FLOE5HUUxkaVlSSEFBRUVFRUFBQVFR
Q0xwQ1JBVWhRRGZROERyMnA0azAzM1NSNmd2M0lrU1Bsd1FjZkRHcHoKVXVhMm9iMDJaRWdKUlFF
RUVFQUFBUVFRUUFDQnJBa1U5QUNrZS9mdW91YzAzSC8vL2JKMjdWcHAzNzY5VEpnd1FSekh5UnA0
UGl1MgpvYjAyWk1obkg3QnRCQkJBQUFFRUVFQ2cwQVVLZWdCeXl5MjNWUFcvWHNtclo4K2VzbjM3
ZHRtNmRXdlYvSnIwd0liMjJwQ2hKdlVwCmJVRUFBUVFRUUFBQkJJSW1VTkFEa05qTzZ0YXRtNW0x
WThlTzJFVTE4cmtON2JVaFE0M3NYQnFGQUFJSUlJQUFBZ2hZS3NBQUpLSmoKOXV6Wlk1NjFidDA2
WW03TmZXaERlMjNJVUhON21KWWhnQUFDQ0NDQUFBTDJDUlQwQU9USWtTTlJQYko4K1hMcDFLbVRG
QmNYUjgydgpLVTlzYUs4TkdXcEtmOUlPQkJCQUFBRUVFRUFnaUFJRlBRRHAyN2V2ckZ5NVV2YnQy
eWRUcGt5UkpVdVdlTHFjOE9iTm0rV2RkOTZSCjh2SnkwK2NiTm13d3p6Lzk5Tk9zdmdhcXU5MTAy
eHZaS0JzeVJPYmhNUUlJSUlBQUFnZ2dnRUN3QklxQ0ZUZHphZXZXclNzREJ3NDAKZHpPdnJLeVUr
dlhyeTZoUm8rVEdHMjlNdVpIUm8wZWJBVXU0NE0wMzMyd2UzbnJyclRKcDBxVHc3SXovcnM1MnE5
UGV5SWJZa0NFeQpENDhSUUFBQkJCQkFBQUVFZ2lVUWNpODVtL1NhczZHUklYSEtraGF4dnNXeGJk
aTdkNi9aNjlHaVJRdlJRNEowVDRhZTk2RWYwbTJaCllqTlhKMWU2N2JVaGc5OTJaekt6MzIxVEhn
RUVFRUFBQVFRUVFDQzFRRUh1QVduWXNLSG9qMDYxYXRXU2twS1MxRklCTG1GRGUyM0kKRU9BdUpE
b0NDQ0NBQUFJSUlGQmpCQXI2SEpBYTA0czBCQUVFRUVBQUFRUVFRQUNCZ0Fnd0FBbElSeEVUQVFR
UVFBQUJCQkJBQUlHYQpJTUFBcENiMEltMUFBQUVFRUVBQUFRUVFRQ0FnQXA1T1FnOUlXNGlKZ0JF
SStrVVQ2RVlFRUVBQUFRUVFRS0FtQzNnNkNUM29IK2lDCmVHVWtHekxia01IdmZ6N056SVFBQWdn
Z2dBQUNDQ0JncndDSFlObmJOeVJEQUFFRUVFQUFBUVFRUUtER0NUQUFxWEZkU29NUVFBQUIKQkJC
QUFBRUVFTEJYZ0FHSXZYMURNZ1FRUUFBQkJCQkFBQUVFYXB3QUE1QWExNlUwQ0FFRUVFQUFBUVFR
UUFBQmV3VVlnTmpiTnlSRApBQUVFRUVBQUFRUVFRS0RHQ1RBQXFYRmRTb01RUUFBQkJCQkFBQUVF
RUxCWG9DQUhJSFBuenBYeDQ4Y2YxU3NyVnF5UWdRTUh5cTVkCnU4d3lyK1dPcWlnTE03eG04Vm91
blloZTYvWmFMcDBNcklNQUFnZ2dnQUFDQ0NBUWJJR0NISURNbmoxYmhnNGRLc09IRDQvcXZaVXIK
VjhyMDZkT2xVYU5HWnI3WGNsR1ZaT21KMXl4ZXk2VVQwMnZkWHN1bGs0RjFFRUFBQVFRUVFBQUJC
SUl0NE9sR2hNRnU0dEhwcDB5WgpZbWFPSFR0V0RoMDZKT1BHalRQUDE2OWZMMTI3ZHBXaW9uK3hl
QzEzOUJZeVA4ZHJGcS9sMGtub3RXNnY1ZExKd0RvSUlJQUFBZ2dnCmdBQUN3UllveUQwZzJtV2hV
RWhhdEdoaERzV2FQSG15T0k0amV1aFFhV2xwVkk5NkxSZTFVcGFlZU0zaXRWdzZNYjNXN2JWY09o
bFkKQndFRUVFQUFBUVFRUUNEQUF1NEg3NlNUak5EUDVzR2VZdHZnbnVQaE5HelkwRm0rZkxsejBV
VVhPYlZyMTNiY2N6OGNkMERpN055NQpzNnF4WHN0VnJaREJCelprdGlHRFg5TFl6SDdYcHp3Q0ND
Q0FBQUlJSUlCQWRnVlNqaTVxd2dlNjJEWk1uRGpST2UyMDA0eHNaV1dsCjA2VkxGOGNkUXpxLys5
M3ZvclM5bG90YUtVTlBiTWhzUXdhL25MR1ovYTVQZVFRUVFBQUJCQkJBQUlIc0NoVGtJVmdMRml5
UUhqMTYKbVAxV3hjWEZvaWROTjIvZVhKNS8vdm1vZlZsZXkwV3RsS1VuWHJONExaZE9USzkxZXky
WFRnYldRUUFCQkJCQUFBRUVFQWkyUUZvRAprSTRkTzVwektQUTQvL0NQZXhoVFlDUTJiZG9rTFZ1
MnJNcGJVbElpMDZaTmswV0xGc2tUVHp4Uk5kOXJ1YW9Wc3ZqQWF4YXY1ZEtKCjZyVnVyK1hTeWNB
NkNDQ0FBQUlJSUlBQUFzRVdTR3NBb2szdTA2ZVArZEN1SDl6MTUvSEhIdytNUk93SFpBM2V1M2R2
MHlhOVBHOUYKUllWcGk5ZHl1V2k0MXl4ZXk2V1QyV3ZkWHN1bGs0RjFFRUFBQVFRUVFBQUJCSUl0
a1BZQTVQVFRUNWNCQXdaVS9keHd3dzJCa05pOQplN2U0NTMxSWt5Wk5qc283YWRJa2FkQ2dnV3pj
dUZHOGxqdXFraXpNOEpyRmE3bDBJbnF0MjJ1NWRES3dEZ0lJSUlBQUFnZ2dnRUR3CkJZcUMzd1Iv
TGRCelB0elRhdUt1ZE9LSko4b0hIM3dnOWV2WE44dTlsb3RiV1FabjJwRFpoZ3daSktVcUJCQkFB
QUVFRUVBQWdUd0oKcEwwSDVQWFhYNWNYWG5qQjdDM0lVL2FzYkRZOCtFaFZ1ZGR5cWVySnhIS3ZX
YnlXU3llVDE3cTlsa3NuQStzZ2dBQUNDQ0NBQUFJSQoyQytRMWdDa2MrZk9aay9CMVZkZkxYb0N0
eDZLdFcvZlB2dGJTMElFRUVBQUFRUVFRQUFCQkJESXEwQmFoMkRwbmcrZERodzRJSC80Cnd4OWt5
SkFob2xmQmV1eXh4L0xhR0RhT0FBSUlJSUFBQWdnZ2dBQUNkZ3VrdFFjazNLUzZkZXZLcmJmZUt0
ZGNjNDA4K2VTVDh1V1gKWDRZWDhSc0JCQkJBQUFFRUVFQUFBUVFRT0VxZ1dnT1FjRzBubjN5eUhE
NThXTmF2WHgrZVZSQy85WEs5dTNidENsUmJiY2hzUTRaQQpkUnBoRVVBQUFRUVFRQUNCR2lTUWtR
SEl2SG56ekEwSlc3ZHVYWU5vNGpkbDJiSmxNbmp3WU9uU3BZdTVtZUdLRlN2aUY3Um9yZzJaCmJj
aGdVWmNRQlFFRUVFQUFBUVFRS0ZnQjN3T1FRNGNPaVg2WTNMOS92N21meHU5Ly8zdDUrZVdYcFYr
L2ZxS1hhcTNwMDhLRkMyWHYKM3IxU1dscHFtcXAzZ3JkOXNpR3pEUmxzN3lmeUlZQUFBZ2dnZ0FB
Q2hTRGcreVIwSFhoODV6dmZrVHAxNnBnVHovVkVkRDBINUtHSApIZ3FNMTR3Wk0yVFJva1ZtcjAy
elpzMmtRNGNPY3UyMTE1cWJFS1pxUkZsWm1TbWllMzBtVDU2Y3FuakdsdHVRMllZTUdRT2xJZ1FR
ClFBQUJCQkJBQUlHOENQZ2VnRFJ1M0ZnKyt1Z2oyYlJwaytoSjZDZWRkSkxvaC9nZ1RhTkhqNWEx
YTlkR1JaNCtmYm9zWGJvMGFwNU4KVDJ6SWJFTUdtL3FFTEFnZ2dBQUNDQ0NBQUFMK0JYd2ZncVdi
MEhNOWV2WHFKVDE2OUFqYzRFUHpyMW16eHR3TlhlOTBYbGxaS1dQRwpqREdIbFczWnNrVVhXem5a
a05tR0RGWjJEcUVRUUFBQkJCQkFBQUVFUEF1a05RRHhYSHNBQ3VwNUszcitpazU2ZGFZZ1REWmt0
aUZECkVQcUtqQWdnZ0FBQ0NDQ0FBQUxSQWdVL0FGR09SbzBhR1JYZEd4S1V5WWJNTm1RSVNuK1JF
d0VFRUVBQUFRUVFRT0JmQWd4QVhBZTkKaTd0T2VraFdVQ1liTXR1UUlTajlSVTRFRUVBQUFRUVFR
QUNCZndrd0FPR1ZnQUFDQ0NDQUFBSUlJSUFBQWprVFlBQ1NNMm8yaEFBQwpDQ0NBQUFJSUlJQUFB
cjR2d3h0ME1yMlMweU9QUEJMVkRMMnhvRTRUSjA2VXBrMmJ5cW1ubmhxMVBQTEo1czJiWmNlT0hW
SmVYbTVtCmI5aXdRWTQvL25ocDNyeTV0R3JWS3JKb3hoN2JrTm1HREJrRHBTSUVFRUFBQVFRUVFB
Q0IvQW00M3pjT2dnQUFJQUJKUkVGVTV6MGsKbldTRW5ob1I3Q215RFhmZmZiZWU2QkgzcDZpb3lO
bStmWHZTeGc0YU5DanV1cmZlZW12Uzlmd3V0Q0d6RFJtcTQrWjNYY29qZ0FBQwpDQ0NBQUFJSVpG
OGdwSnRJTnZ3SmpReUpVNWEwU0xMVnJWZ1d4RGJZa05tR0RINWZRRUhNN0xlTmxFY0FBUVFRUUFB
QkJJSXN3RGtnClFlNDlzaU9BQUFJSUlJQUFBZ2dnRURBQkJpQUI2ekRpSW9BQUFnZ2dnQUFDQ0NB
UVpBRUdJRUh1UGJJamdBQUNDQ0NBQUFJSUlCQXcKQVFZZ0Flc3c0aUtBQUFJSUlJQUFBZ2dnRUdR
QlR5ZWhCN21CWkM4OGdhQmZOS0h3ZW93V0k0QUFBZ2dnZ0VBaENSUjVhV3pRUDlBRgo4Y3BJTm1T
MklZT1gxMmRrR2MzTWhBQUNDQ0NBQUFJSUlHQ3ZBSWRnMmRzM0pFTUFBUVFRUUFBQkJCQkFvTVlK
TUFDcGNWMUtneEJBCkFBRUVFRUFBQVFRUXNGZUFBWWk5ZlVNeUJCQkFBQUVFRUVBQUFRUnFuQUFE
a0JyWHBUUUlBUVFRUUFBQkJCQkFBQUY3QlJpQTJOczMKSkVNQUFRUVFRQUFCQkJCQW9NWUpNQUNw
Y1YxS2d4QkFBQUVFRUVBQUFRUVFzRmVBQVlpOWZVTXlCQkJBQUFFRUVFQUFBUVJxbkVCQgpEa0JX
clZvbGQ5MTFsL1RzMlZPYU4yOHUvZnYzbDhXTEYwZDE3clBQUGl2WFgzKzluSFRTU2RLK2ZYdTU4
ODQ3WmN1V0xWRmxjdm5FCmhzdzJaTWlsT2R0Q0FBRUVFRUFBQVFRUXlMeEFRUTVBbGk1ZEtoOSsr
S0VNR0RCQXBrNmRLbXZXckpFaFE0WkU2YzZjT1ZPT09lWVkKR1Q5K3ZCbXNUSjQ4V1I1NzdMR29N
cmw4WWtObUd6TGswcHh0SVlBQUFnZ2dnQUFDQ0dSZUlPUzRVN0pxZzNnMzdOajJwR3JEbzQ4KwpL
b01HRFRLRGtwS1NrdGpWemZQenpqdFBkdTdjS1N0WHJveTdQTk16YmNoc1F3YS9ycWt5KzYyUDhn
Z2dnQUFDQ0NDQUFBS1pGU2pJClBTQmh3a09IRHNrbm4zd2krL2Z2TjdNcUtpckNpNnArNzkyN1Z6
NzQ0QU9wVzdldWZQYlpaMVh6OC9YQWhzdzJaTWlYUDl0RkFBRUUKRUVBQUFRUVFxSjVBUVE1QWRD
Q2g1M2MwYnR4WXpqenpUSmsyYlpwUmpOd1o5UGUvLzEzT09lY2NLUzR1bHNzdnYxemVlT09ONmts
WApjMjBiTXR1UW9acU1ySTRBQWdnZ2dBQUNDQ0NRWjRGcURVQysrdW9yZWYzMTEyWHQyclZ5OE9E
QlBEZkYrK1l2dnZoaW1UOS92cno5Cjl0dXllZk5tZWVDQkI4ektvVkRJL0Y2OWVyVmNjc2tsMHJw
MWE5bStmYnNwVjFwYTZuMERXU2hwUTJZYk1tU0JsaW9SUUFBQkJCQkEKQUFFRWNpaVExZ0JFRDhF
WlBIaXcyVHR3L3ZublM5ZXVYYVZodzRZeWE5YXNIRVpQYjFNZmYveXgyWnR4KysyM1M2ZE9uYUlx
T1hMawppSGsrYjk0OCtmTExMMlhNbURIU3RHblRxakxoNVZVemN2VEFoc3cyWk1nUk41dEJBQUVF
RUVBQUFRUVF5S0pBV2dPUXE2NjZTdjc4CjV6L0xraVZMWk5ldVhXWXZnUTQrVGo3NTVDeEd6VXpW
SjV4d2d1alBjODg5SjIrOTlaYTg5TkpMVWxaV1ppclhQU0k2ZGUvZTNmelcKSzErdFc3ZE9KazZj
S0hQbXpESG5nT1RqUEJBYk10dVF3WFFLL3lDQUFBSUlJSUFBQWdnRVcwQ3ZncFZza2hFU3Rkajlr
SzVYelhMKworTWMvUnMyMytVbHNHNTU4OGtuSC9VQnQydEc1YzJmbjFWZGZkWHIxNnVXNGgyQTVN
MmJNTUUxeHp4Rng2dFdyNTlTcVZjdHg3eFBpCnVJZWFPZTVsZVowR0RSbzR1M2Z2em5wemJjaHNR
d2EvMExHWi9hNVBlUVFRUUFBQkJCQkFBSUhzQ3ZpK0RPK3R0OTVxVHRyKy9QUFAKelgweWdqRDhp
bmRwMXNPSEQ4dW5uMzVxenZQUU51amhWUjk5OUpHMGJkdFd3dWVDNk40ZGZkeWtTUlBUek1yS1Nu
T3V5M0hISFpmMQpadHVRMllZTWZxSGpaZlpiQitVUlFBQUJCQkJBQUFFRXNpZFE1TGRxUFNTcFZh
dFdjdURBQVhuNDRZZmx6VGZmbEE0ZE9zZ3R0OXdpClgvdmExL3hXbDdmeXRXdlhyaHA4YUFoM1Q0
ZTBhOWN1S3MreHh4NGI5VHc4RUltYW1jTW5ObVMySVVNT3lka1VBZ2dnZ0FBQ0NDQ0EKUUlZRmZK
OERvdmZOMEwwQzMvM3VkODM1RTNwL2pMRmp4OHFwcDU0cTVlWGxHWTVIZFFnZ2dBQUNDQ0NBQUFJ
SUlGQ1RCSHdQUU56egpIOHdkdysrNDR3NVpzR0NCT1J6cm5YZmVrVzNidHNsLy91ZC8xaVFiMm9J
QUFnZ2dnQUFDQ0NDQUFBSVpGdkI5Q0paZURVbnYvM0hOCk5kZFVSZEhMMlhicjFrMWVlZVdWcW5r
OFFBQUJCQkJBQUFFRUVFQUFBUVJpQlh6dkFkR2I4MzN4eFJlaTl3S0puUFJlSVBtNlQwWmsKamx3
K3JxaW9NSmNoenVVMnE3c3RHekxia0tHNmpxeVBBQUlJSUlBQUFnZ2drSjZBN3dGSTM3NTl6UjRR
dlFkSWVISXYxQ1dMRnkrVwpiM3pqRytGWk5mYjNzbVhMekUwWXUzVHBJaTFidHBRVksxWlkzMVli
TXR1UXdmcU9JaUFDQ0NDQUFBSUlJRkFBQXI0SElGZGVlYVY4Ci9ldGZOM2NKMzc1OXUrZzVJU05I
anBTdFc3Zks4T0hEYXp6WndvVUxaZS9ldlZKYVdtcmFHcjVrcjgwTnR5R3pEUmxzN2lPeUlZQUEK
QWdnZ2dBQUNoU0xnK3h3UTkrWjg1ZzdvbDF4eWlka0RvTS8xRXJhUFBmYVluSHZ1dVlGd2MyODJL
SXNXTFRKWDgycldySm01alBDMQoxMTRyN2swR1UrWVAzelY5M3J4NW9uZEt6OVZrUTJZYk11VEtt
KzBnZ0FBQ0NDQ0FBQUlJWkVmQTl3QkVZNVNVbE1oNzc3MW5yb2FsCk55VFVFOUM5ZkhqUFRoUDgx
enA2OUdoWnUzWnQxSXJUcDArWHBVdVhSczJ6NllrTm1XM0lZRk9ma0FVQkJCQkFBQUVFRUVEQXY0
RHYKUTdBaU4zSFNTU2ZKbVdlZUdhakJoK1pmczJhTjZIa3IrcU4zTng4elpvem9PUXBidG15SmJK
NVZqMjNJYkVNR3F6cUZNQWdnZ0FBQwpDQ0NBQUFLK0JhbzFBUEc5TlF0WEtDNHVsbjc5K3Bsa2Vu
V21JRXcyWkxZaFF4RDZpb3dJSUlBQUFnZ2dnQUFDMFFJRlB3QlJqa2FOCkdoa1YzUnNTbE1tR3pE
WmtDRXAva1JNQkJCQkFBQUVFRUVEZ1h3SU1RRnlIMnJWckd3MDlKQ3Nva3cyWmJjZ1FsUDRpSndJ
SUlJQUEKQWdnZ2dNQy9CQmlBOEVwQUFBRUVFRUFBQVFRUVFBQ0JuQWt3QU1rWk5SdENBQUVFRUVB
QUFRUVFRQUNCdEM3REcyUTJ2WkxUSTQ4OApFdFVFdmJHZ1RoTW5UcFNtVFp2S3FhZWVHclU4OHNu
bXpadGx4NDRkVWw1ZWJtWnYyTEJCamovK2VHbmV2TG0wYXRVcXNtakdIdHVRCjJZWU1HUU9sSWdR
UVFBQUJCQkJBQUlIOENiam5QU1NkWklSZXJUYllVMlFiN3I3N2JqM1JJKzVQVVZHUjQ5N2RQV2xq
QncwYUZIZmQKVzIrOU5lbDZmaGZha05tR0ROVng4N3N1NVJGQUFBRUVFRUFBQVFTeUx4RFNUU1Fi
L29SR2hzUXBTMW9rMmVwV0xBdGlHMnpJYkVNRwp2eStnSUdiMjIwYktJNEFBQWdnZ2dBQUNRUmJn
SEpBZzl4N1pFVUFBQVFRUVFBQUJCQkFJbUFBRGtJQjFHSEVSUUFBQkJCQkFBQUVFCkVBaXlBQU9R
SVBjZTJSRkFBQUVFRUVBQUFRUVFDSmdBQTVDQWRSaHhFVUFBQVFRUVFBQUJCQkFJc29Dbms5Q0Qz
RUN5RjU1QTBDK2EKVUhnOVJvc1JRQUFCQkJCQW9KQUVpcncwTnVnZjZJSjRaU1FiTXR1UXdjdnJN
N0tNWm1aQ0FBRUVFRUFBQVFRUXNGZUFRN0RzN1J1UwpJWUFBQWdnZ2dBQUNDQ0JRNHdRWWdOUzRM
cVZCQ0NDQUFBSUlJSUFBQWdqWUs4QUF4TjYrSVJrQ0NDQ0FBQUlJSUlBQUFqVk9nQUZJCkdsMjZh
ZE1tZWZmZGQ5TllNMytyMkpEWmhnejU2d0cyakFBQ0NDQ0FBQUlJSUtBQ0RFQjh2ZzdXclZzbnZY
cjFrcUlpVCtmdis2dzkKTzhWdHlHeERodXpvVWlzQ0NDQ0FBQUlJSUlDQUh3RUdJRDYwamh3NUlq
ZmNjSVAwN3QxYk9uZnU3R1BOL0JXMUliTU5HZkxYQTJ3WgpBUVFRUUFBQkJCQkFJRklnT0YvalI2
Yk8wK09ubm5wSzNuLy9mWmt6WjA2ZUV2amZyQTJaYmNqZ1g0NDFFRUFBQVFRUVFBQUJCTEloClVK
QjdRRmF0V2lWMzNYV1g5T3paVTVvM2J5NzkrL2VYeFlzWHAvUjk4c2tuNVVjLytwRTBhOVlzWmRs
TUY3QWhzdzBaTXUxS2ZRZ2cKZ0FBQ0NDQ0FBQUs1RlNqSUFjalNwVXZsd3c4L2xBRURCc2pVcVZO
bHpabzFNbVRJa0tUeUZSVVZvdXQxNk5BaGFibHNMYlFoc3cwWgpzdVZMdlFnZ2dBQUNDQ0NBQUFL
NUVTaklRN0IrOXJPZmlmNkVwMjNidHNtZ1FZTmsvZnIxVWxKU0VwNGQ5VnNITEk3ajVHMEFZa05t
Ckd6SkVkUXBQRUVBQUFRUVFRQUFCQkFJblVKQjdRTUs5ZE9qUUlmbmtrMDlrLy83OVpwYnU1VWcw
YmQ2ODJTeHExNjVkb2lJNW1XOUQKWmhzeTVBU2JqU0NBQUFJSUlJQUFBZ2hrWEtBZzk0Qjg5dGxu
Y3M4OTk4aXNXYlBNK1J4NkhvaE91b2NqMGRTZ1FRT3o2SXN2dmtoVQpKS3Z6YmNoc1E0YXNJbE01
QWdnZ2dBQUNDQ0NBUU5ZRkNuSVB5TVVYWHl6ejU4K1h0OTkrVzNUUHhnTVBQR0NnUTZGUVF2QVRU
enpSCkxDc3ZMMDlZSnBzTGJNaHNRNFpzR2xNM0FnZ2dnQUFDQ0NDQVFQWUZmQTlBRmk1Y0tQcEJQ
ZEdQM25ETzV1bmpqeitXTjk1NFEyNi8KL1hicDFLbFRWRlM5WDBXaVNlLzdVVnhjTEJzMmJFaFVK
R3Z6YmNoc1E0YXNBVk14QWdnZ2dBQUNDQ0NBUU00RWZCK0NwVmVCQ3U4eAppRXlwVjBoYXRHaVJO
R25TSkhLMmRZOVBPT0VFMFovbm5udE9McnJvSXRteVpZdVVsWldabkxwSDVKeHp6b21idVY2OWV0
S3ZYeit6CjF5UnVnU3pPdENHekRSbXlTRXpWQ0NDQUFBSUlJSUFBQXJrU2NNOTdTRHJKQ0QwMUl2
bTBiOTgrcDIzYnRzNndZY09TRjh6VDB0ZzIKdVBmemNOd1AxSHJDaCtQdTJYQmVmZlZWcDFldlhv
NjdWOGVaTVdOR3dwUnZ2dm1tVTZkT0hXZkpraVVKeTJScWdRMlpiY2pnMXpNMgpzOS8xS1k4QUFn
Z2dnQUFDQ0NDUVhZR1FWcDlzc0JNYUdSS25MR2tSK2VVdmZ5blRwMDgzOTlNSW42eWRyTTVjTDR2
WGhzT0hEOHVuCm4zNHFyVnUzTm5IMDhLdVBQdnBJM0lHVU9id3NVY2I3N3J0UFpzK2ViUTdqS2lv
cVNsU3Mydk50eUd4REJyK1E4VEw3cllQeUNDQ0EKQUFJSUlJQUFBdGtUOEgwT1NHd1V2WGZHYjM3
ekczbm9vWWZFeHNGSGJON3c4OXExYTFjTlBuUmVyVnExcEoxN2lkMWtKNkpydVpFagpSOHBaWjUx
bERqZlQ1N21jYk1oc1E0WmNtck10QkJCQUFBRUVFRUFBZ2N3S1ZQc3JmRDJadTBlUEh0SzdkKy9N
SnJPME52MEEvdWlqCmo4cWVQWHNzVFhoMExCc3kyNURoYUJubUlJQUFBZ2dnZ0FBQ0NPUmFvRm9E
a0JkZmZGSG16SmtqeTVZdHkzWHV2Ryt2Y2VQR2VjL2cKTjRBTm1XM0k0TmVOOGdnZ2dBQUNDQ0NB
QUFLWkUwajdFQ3c5WitMblAvKzVYSGpoaFFtdkhKVzVtTlNFQUFJSUlJQUFBZ2dnZ0FBQwpOVUVn
N1FHSW5uUytkdTFhdWUyMjJ3TGxvQ2VRWDNEQkJlWm56Smd4U2JQcm5kSzE3TzdkdTVPV3kvWkNH
ekxia0NIYnp0U1BBQUlJCklJQUFBZ2dna0gyQnRBWWdldUdzRVNOR1NQdjI3YzBla096SHpOd1dP
bmJzS0ZkZGRaVnMyN1l0NVQwOU5tN2NhTzZZZnZEZ3djd0YKU0tNbUd6TGJrQ0VOT2xaQkFBRUVF
RUFBQVFRUXNFd2dyUUhJVzIrOUpmcmh2RStmUHVicVVaYTFLV21jVTA0NVJRWU1HQ0J0MnJSSgpX
czZtaFRaa3RpR0RUWDFDRmdRUVFBQUJCQkJBQUlIMEJOSWFnQ3hZc01CczdkeHp6MDF2cTZ5RkFB
SUlJSUFBQWdnZ2dBQUNCU21RCjFnRGtubnZ1MGR1akY4eWxkdzhjT0NCRGhnd3hOeW5VZTRYbzRX
Y3A3dCtZOXhlVERabHR5SkQzamlBQUFnZ2dnQUFDQ0NDQVFKUkEKV2dPUXFCb0s0TW5nd1lObDll
clZjdE5OTjBtZE9uWE16UWdmZlBCQnExdHVRMlliTWxqZFNZUkRBQUVFRUVBQUFRUUtVSUFCaUlk
Two3OTY5dXl4Y3VGRHV2LzkrYytVdlBmbCt3b1FKVnU4RnNTR3pEUms4ZEM5RkVFQUFBUVFRUUFB
QkJISW93QURFQS9ZdHQ5eFNWYXFvCnFFaDY5dXdwMjdkdmw2MWJ0MWJOdCsyQkRabHR5R0JidjVB
SEFRUVFRQUFCQkJBb2RBRUdJR204QXJwMTYyYlcyckZqUnhwcjUyY1YKR3pMYmtDRS8rbXdWQVFR
UVFBQUJCQkJBSUN6QUFDUXM0ZVAzbmoxN1RPbldyVnY3V0N1L1JXM0liRU9HL1BZQ1cwY0FBUVFR
UUFBQgpCQkJnQU9MaE5YRGt5SkdvVXN1WEw1ZE9uVHBKY1hGeDFIeWJudGlRMllZTU52VUpXUkJB
QUFFRUVFQUFBUVJFR0lCNGVCWDA3ZHRYClZxNWNLZnYyN1pNcFU2YklraVZMWk5pd1lSN1d6RjhS
R3pMYmtDRi9QY0NXRVVBQUFRUVFRQUFCQk9JSkZNV2J5YngvQzlTdFcxY0cKRGh3b3BhV2xVbGxa
S2ZYcjE1ZFJvMGJKalRmZStPOUNsajJ5SWJNTkdTenJGdUlnZ0FBQ0NDQ0FBQUlJdUFJTVFKSzhE
UFFxVGpmYwpjSU8wYU5GQ3JydnVPaWt2THhjOTcwTS9YTnM2MlpEWmhneTI5Zys1RUVBQUFRUVFR
QUNCUWhjb3VFT3dubm5tR2VuY3ViTzVyMGVxCnptL1lzS0VaZkdpNVdyVnFTVWxKU1Y0R0h6Wmt0
aUZEcXY1aU9RSUlJSUFBQWdnZ2dJRDlBZ1czQitUc3M4K1dzV1BIbXA1cDFhcVYKL1Qza0pyUWhz
dzBaQXRGWmhFUUFBUVFRUUFBQkJCQklLbEJ3QXhDOWk3bitCR215SWJNTkdZTFVaMlJGQUFFRUVF
QUFBUVFRaUM5UQpjSWRneFdkZ0xnSUlJSUFBQWdnZ2dBQUNDT1JDSU9TNFU3SU5oVWFHa2kxbUdR
TFdDVGhsU1YvUzF1VWxFQUlJSUlBQUFnZ2dVRWdDCm5nN0JDdm9IT2gxRUJhME5ObVMySVlQZi80
d01tUDJLVVI0QkJCQkFBQUVFRU1pdEFJZGc1ZGFiclNHQUFBSUlJSUFBQWdnZ1VOQUMKREVBS3V2
dHBQQUlJSUlBQUFnZ2dnQUFDdVJWZ0FKSmJiN2FHQUFJSUlJQUFBZ2dnZ0VCQkN6QUFxVWIzdi9q
aWk5VllPeityMnBEWgpoZ3o1MFdlckNDQ0FBQUlJSUlBQUFneEEwbndOVEowNlZjckt5dEpjT3or
cjJaRFpoZ3o1MFdlckNDQ0FBQUlJSUlBQUFpcmc2U3BZClVFVUxyRnUzVG9ZTUdTSXZ2ZlJTOUFL
TG45bVEyWVlNRm5jUjBSQkFBQUVFRUVBQWdZSVFLTWc5SUhQbnpwWHg0OGNmMWNFclZxeVEKZ1FN
SHlxNWR1NDVhRmpuanpqdnZsTXN1dTB6T1BmZmN5TmxaZld4RFpoc3laQldaeWhGQUFBRUVFRUFB
QVFTeUxsQ1FBNURaczJmTAowS0ZEWmZqdzRWSEFLMWV1bE9uVHAwdWpSbzJpNWtjKzJiSmxpOHli
TjA5dXZ2bm15TmxaZjJ4RFpoc3laQjJhRFNDQUFBSUlJSUFBCkFnaGtWYUFnRDhHYU1tV0tRUjA3
ZHF3Y09uUkl4bzBiWjU2dlg3OWV1bmJ0S2tWRmlWbWVlKzQ1T1hMa2lIVG8wQ0dySFJOYnVRMloK
YmNnUTY4SnpCQkJBQUFFRUVFQUFnV0FKRk9RZUVPMmlVQ2drTFZxME1JZGlUWjQ4V1J6SEVUM0Vx
TFMwTkdrUHZ2LysrMUs3ZG0xcAowNlpOMG5MWldHaERaaHN5Wk1PV09oRkFBQUVFRUVBQUFRUnlJ
NUQ0cS83Y2JEOHZXNm1zckRTSFdpMVlzRUJHalJvbGQ5eHhoNnhhCnRVb3FLaXJrRjcvNFJkSk1t
emR2bGhOUFBESHBYcEtrRmFTNTBJYk1ObVJJazQvVkVFQUFBUVFRUUFBQkJDd1JLTWc5SUU4OTla
UjAKN05oUmV2YnNLVE5uenBTVFR6NVo5UEt3OTk1N3J4eDc3TEZKdTZaQmd3Ynl4UmRmSkMyVGpZ
VTJaTFloUXpac3FSTUJCQkJBQUFFRQpFRUFnZHdMVkdvQjgrT0dIOHVxcnI4cUJBd2R5bHpnRFc5
STlIejE2OURBMUZSY1hpNTVjM2J4NWMzbisrZWRUMXE1N1B6Ny8vSFBaCnZYdDN5cktaTEdCRFpo
c3laTktVdWhCQUFBRUVFRUFBQVFSeUw1RFdBT1NUVHo2UnM4OCsyK3hGT08rODgrUzQ0NDZUcTYr
K1d2YnQKMjVmN0ZxU3h4VTJiTmtuTGxpMnIxaXdwS1pGcDA2Ykpva1dMNUlrbm5xaWFIKy9CbVdl
ZWFXYVhsNWZIVzV5MWVUWmt0aUZEMW9DcApHQUVFRUVBQUFRUVFRQ0FuQW1rTlFBWU5HbVQyQU9o
Vm8vU2VHZnJoWFE5bG1qaHhZazVDVjNjanNSK2t0Yjdldlh0TG56NTl6T1Y1CjlWeVFSTk9GRjE0
b1RaczJsYmZmZmp0Umthek10eUd6RFJteWdrdWxDQ0NBQUFJSUlJQUFBamtUU0dzQXNtVEpFcm55
eWl2TnBXajEKa3JXWFgzNjVuSExLS2ZMWlo1L2xMSGk2RzlKRHAvUms2aVpObWh4VnhhUkprMFRQ
OGRpNGNlTlJ5OEl6NnRhdEs3ZmRkcHVNR0RGQwo5dS9mSDU2ZDFkODJaTFloUTFhUnFSd0JCQkJB
QUFFRUVFQWdKd0loOS9LelRySXRoVWFHeENtTExuTEdHV2ZJd1lNSDVaLy8vS2ZVCnExZFB0bTNi
SnExYXRaSy8vdld2S1M5am0yeGIyVm9XcncySnR2WGxsMTlLL2ZyMUV5MDI4L1djbCs3ZHUwdS9m
djFrNU1pUlNjdW0KdTlDR3pEWms4T3ZuSjdQZnVpbVBBQUlJSUlBQUFnZ2dVSDJCdFBhQTZLVnIx
NjVkSytlZWU2Njg4c29yY3RGRkY4bmRkOTl0NWVERApMMUdxd1lmV3AzdEI5SjRoZWxLMkRaTU5t
VzNJWUVOZmtBRUJCQkJBQUFFRUVFQWd1VUJhQXhBZGNBd2NPTkJjQWV1Y2M4NHhOK1liCk0yWk04
aTNWc0tXdFc3YzJlM3lDMUN3Yk10dVFJVWg5UmxZRUVFQUFBUVFRUUtDbUNhUTFBTkU3aHovenpE
TXlhOVlzczlmanRkZGUKa3dzdXVNQWNpbFhUZ0pLMXAzSGp4c2tXVzduTWhzdzJaTEN5Y3dpRkFB
SUlJSUFBQWdnVWdJRHZBWWdlZXFVbllULzk5TlBtNVBPLwovZTF2OHNBREQ1aEwyT3BoV0V3SUlJ
QUFBZ2dnZ0FBQ0NDQ0FRQ0lCM3dPUU9YUG1TSjA2ZGVTSFAveWhxVE1VQ3NsOTk5MG5sMTEyCm1i
bVIzMWRmZlpWb1cxYk0xNXNPNnQ0YS9VbDEySmp1NGRGeXViN3BZQ3lVRFpsdHlCRHJ3bk1FRUVB
QUFRUVFRQUNCNEFuNEhvRG8KWGNEMUNsanZ2ZmRlVkd2MXNyWjZCU2tka05nOGRlellVYTY2Nmlw
enVGaXFlM25vNVhqbno1OXYycHZQTnRtUTJZWU0rZXdEdG8wQQpBZ2dnZ0FBQ0NDQ1FHUUhmQTVC
TExybEVhdFdxSmZmZWU2KzVFcFpla3ZhRkYxNHdOeUxzMjdldnVVSlVacUpscHhhOVg4bUFBUU9r
ClRaczIyZGxBRm1xMUliTU5HYkpBUzVVSUlJQUFBZ2dnZ0FBQ09SWW84cnU5WHIxNnlaUXBVMlRZ
c0dIU3BVc1hjK00rdlNGZi8vNzkKNWRGSEgvVmJIZVVSUUFBQkJCQkFBQUVFRUVDZ2dBUjg3d0ZS
RzcwRTd5ZWZmQ0p2dlBHR3VSVHRsaTFiekI2UWVIY1hyd21XdXBkbgp5SkFoMHJadFcyblhycDI1
QzNxSyt6Zm12ZGsyWkxZaFE5NDdnZ0FJSUlBQUFnZ2dnQUFDVVFKcERVQzBoZ1lOR3NpM3Z2VXQr
YzUzCnZpTXRXN2FNcXJTbVBSazhlTENzWHIxYWJycnBKbk1DdnQ3OS9NRUhIN1M2bVRaa3RpR0Qx
WjFFT0FRUVFBQUJCQkJBb0FBRjBoNkEKRkpKVjkrN2RaZUhDaFhMLy9mZWI4MTdhdDI4dkV5Wk1F
SnYzZ3RpUTJZWU1oZlE2cGEwSUlJQUFBZ2dnZ0VBUUJCaUFlT2lsVzI2NQpwYXBVVVZHUjlPelpV
N1p2M3k1YnQyNnRtbS9iQXhzeTI1REJ0bjRoRHdJSUlJQUFBZ2dnVU9nQ0RFRFNlQVYwNjliTnJM
Vmp4NDQwCjFzN1BLalprdGlGRGZ2VFpLZ0lJSUlBQUFnZ2dnRUJZZ0FGSVdNTEg3ejE3OXBqU3JW
dTM5ckZXZm92YWtObUdEUG50QmJhT0FBSUkKSUlBQUFnZ2d3QURFdzJ2Z3lKRWpVYVdXTDE4dW5U
cDFrdUxpNHFqNU5qMnhJYk1OR1d6cUU3SWdnQUFDQ0NDQUFBSUlpREFBOGZBcQowQnNzcmx5NVV2
YnQyMmZ1Z2JKa3lSSnpIeFFQcSthdGlBMlpiY2lRdHc1Z3d3Z2dnQUFDQ0NDQUFBSnhCWHpmaURC
dUxUVjRadDI2CmRjMTlUMHBMUzZXeXNsTHExNjh2bzBhTmtodHZ2TkhhVnR1UTJZWU0xbllRd1JC
QUFBRUVFRUFBZ1FJV1lBQ1NwUFAxS2s0MzNIQ0QKdEdqUlFxNjc3am9wTHk4WFBlOURQMXpiT3Rt
UTJZWU10dllQdVJCQUFBRUVFRUFBZ1VJWEtMaERzSjU1NWhucDNMbXp1YTlIcXM1dgoyTENoR1h4
b3VWcTFha2xKU1VsZUJoODJaTFloUTZyK1lqa0NDQ0NBQUFJSUlJQ0EvUUlGdHdmazdMUFBsckZq
eDVxZWFkV3FsZjA5CjVDYTBJYk1OR1FMUldZUkVBQUVFRUVBQUFRUVFTQ3BRY0FNUXZZdTUvZ1Jw
c2lHekRSbUMxR2RrUlFBQkJCQkFBQUVFRUlndlVIQ0gKWU1WbllDNENDQ0NBQUFJSUlJQUFBZ2pr
UWlEa3VGT3lEWVZHaHBJdFpoa0MxZ2s0WlVsZjB0YmxKUkFDQ0NDQUFBSUlJRkJJQXA0Twp3UXI2
QnpvZFJBV3REVFprdGlHRDMvK01ESmo5aWxFZUFRUVFRQUFCQkJESXJRQ0hZT1hXbTYwaGdBQUND
Q0NBQUFJSUlGRFFBZ3hBCkNycjdhVHdDQ0NDQUFBSUlJSUFBQXJrVllBQ1NXMisyaGdBQ0NDQ0FB
QUlJSUlCQVFRc3dBRW1qK3pkdDJpVHZ2dnR1R212bWJ4VWIKTXR1UUlYODl3SllSUUFBQkJCQkFB
QUVFVklBQmlNL1h3YnAxNjZSWHIxNVNWT1RwL0gyZnRXZW51QTJaYmNpUUhWMXFSUUFCQkJCQQpB
QUVFRVBBandBREVoOWFSSTBma2hodHVrTjY5ZTB2bnpwMTlySm0vb2paa3RpRkQvbnFBTFNPQUFB
SUlJSUFBQWdoRUNnVG5hL3pJCjFIbDYvTlJUVDhuNzc3OHZjK2JNeVZNQy81dTFJYk1OR2Z6THNR
WUNDQ0NBQUFJSUlJQkFOZ1FLY2cvSXFsV3I1SzY3N3BLZVBYdEsKOCtiTnBYLy8vcko0OGVLVXZr
OCsrYVQ4NkVjL2ttYk5tcVVzbStrQ05tUzJJVU9tWGFrUEFRUVFRQUFCQkJCQUlMY0NCVGtBV2Jw
MApxWHo0NFljeVlNQUFtVHAxcXF4WnMwYUdEQm1TVkw2aW9rSjB2UTRkT2lRdGw2MkZObVMySVVP
MmZLa1hBUVFRUUFBQkJCQkFJRGNDCkJYa0kxczkrOWpQUm4vQzBiZHMyR1RSb2tLeGZ2MTVLU2ty
Q3M2Tis2NERGY1p5OERVQnN5R3hEaHFoTzRRa0NDQ0NBQUFJSUlJQkEKNEFRS2NnOUl1SmNPSFRv
a24zenlpZXpmdjkvTTByMGNpYWJObXplYlJlM2F0VXRVSkNmemJjaHNRNGFjWUxNUkJCQkFBQUVF
RUVBQQpnWXdMRk9RZWtNOCsrMHp1dWVjZW1UVnJsam1mUTg4RDBVbjNjQ1NhR2pSb1lCWjk4Y1VY
aVlwa2RiNE5tVzNJa0ZWa0trY0FBUVFRClFBQUJCQkRJdWtEYWUwQU9IejRzcTFldmxyVnIxeWI5
NEo3MUZxU3hnWXN2dmxqbXo1OHZiNy85dHVpZWpRY2VlTURVRWdxRkV0WjIKNG9rbm1tWGw1ZVVK
eTJSemdRMlpiY2lRVFdQcVJnQUJCQkJBQUFFRUVNaStRRm9ERUwxaVZOdTJiZVgwMDArWDAwNDdU
VnExYWlYTApseS9QZnRvTWJPSGpqeitXTjk1NFEyNi8vWGJwMUtsVFZJMTZ2NHBFazk3M283aTRX
RFpzMkpDb1NOYm0yNURaaGd4WkE2WmlCQkJBCkFBRUVFRUFBZ1p3SitCNkFmUHJwcDNMWlpaZkpl
ZWVkSjdvM1lOZXVYWEx1dWVkS2FXbXA2SWRVMjZjVFRqaEI5T2U1NTU2VHQ5NTYKUzE1NjZTVXBL
eXN6c1hXUFNLS3BYcjE2MHE5ZlA3UFhKRkdaYk0yM0liTU5HYkxsUzcwSUlJQUFBZ2dnZ0FBQ09S
Und6M3RJT3NrSQpQY0xxMzlQdzRjTWQ5MUFsWit2V3JWVXozYXRINmNrVHpyQmh3NnJtMmZRZ3Rn
M3UvVHdjOXdPMXllenUyWEJlZmZWVnAxZXZYcVpkCk0yYk1TQmo5elRmZmRPclVxZU1zV2JJa1la
bE1MYkFoc3cwWi9IckdadmE3UHVVUlFBQUJCQkJBQUFFRXNpc1EwdXFUalhkQ0kwUGkKbFAyN3lL
V1hYbXIyZk9qNUg1R1RYcjdXL1hBdTc3MzNYdVJzS3g3SHRrRkQ2VGtzdWplbmRldldKcU1lZnZY
UlJ4K1pROHVTblF0eQozMzMzeWV6WnM4MWhYRVZGUlZscm53MlpiY2pnRnpoZVpyOTFVQjRCQkJC
QUFBRUVFRUFnZXdLK0Q4SFNEOTBiTjI2VXI3NzZLaXFWCm5nY1NoRU93d3FGcjE2NWROZmpRZWJW
cTFSSzl4RzZ5d1llV0d6bHlwSngxMWxteWFORWlmWnJUeVliTU5tVElLVG9iUXdBQkJCQkEKQUFF
RUVNaW9nTzhCaUh1b2t1emJ0OC9jRlR5YzVQMzMzNWVYWDM3WnpNL1haV3JEV2JMOVd6K0FQL3Jv
bzlLelo4OXNieXBqOWR1UQoyWVlNR1FPbElnUVFRQUFCQkJCQUFJRzBCWHdmUTNUYmJiZkowMDgv
TGRkZGQ1ME1IVHJVSE1iMC9QUFBTNWN1WGN3Vm9obzFhcFIyCm1DQ3QyTGh4NHlERk5WbHR5R3hE
aHNCMUhJRVJRQUFCQkJCQUFJRWFKT0I3RDRoZURlbys4Zmw2QUFBV0lrbEVRVlNWVjE2UkFRTUcK
eUlzdnZpaDc5dXlSRjE1NFFZNC8vdmlvUTVwcWtCRk5RUUFCQkJCQUFBRUVFRUFBZ1F3SitONERv
dHZWdlJ5Lyt0V3ZxaUxvQ2R4Ngo4dmwzdi92ZHFubTJQdEFUeUgvLys5K2JlSnIzM252dnRUVnFW
UzRiTXR1UW9RcUVCd2dnZ0FBQ0NDQ0FBQUtCRmZDOUJ5UmVTK2ZNCm1TTmJ0bXlSTysrOE05NWlx
K1oxN05oUnJycnFLdG0yYlZ0ZTd1bVJEb1lObVczSWtJNGQ2eUNBQUFJSUlJQUFBZ2pZSmVCN0FM
SnoKNTA1WnVIQ2g3TjY5VzI4UVlnN0h1dW1tbStTS0s2NlFNODg4MDY3V3hVbHp5aW1ubU1QSDJy
UnBFMmVwbmJOc3lHeERCanQ3aDFRSQpJSUFBQWdnZ2dBQUNmZ1I4SDRLbDk4NDQvL3p6elRiMGhH
SzlITzlQZi9wVG1UQmhncC90QnFLc2UxTkNjN2xkdlRSdnMyYk5wRU9ICkRuTHR0ZGRLZ3dZTnJN
MXZRMlliTWxqYlFRUkRBQUVFRUVBQUFRUUtYTUQzQUtScjE2NmlsOXI5NElNUDVNQ0JBL0xOYjM1
VDZ0YXQKV3lNWlI0OGVMV3ZYcm8xcTIvVHAwNk11UVJ5MTBJSW5ObVMySVlNRlhVRUVCQkJBQUFF
RUVFQUFnVGdDdmcvQjBqcDBENEFPUE00NAo0NHdhTy9qUWRxNVpzOFljWnFhSG1sVldWc3FZTVdO
azJiSmw1bndYWFc3alpFTm1HekxZMkRka1FnQUJCQkJBQUFFRUVIQnZBQTZDCk40SGk0bUxwMTYr
ZktWeFJVZUZ0cFR5WHNpR3pEUm55M0Exc0hnRUVFRUFBQVFRUVFDQkNnQUZJQkVhcWgrR2JMT3Jl
a0tCTU5tUzIKSVVOUStvdWNDQ0NBQUFJSUlJQkFUUmRnQU9LamgydlhybTFLNnlGWlFabHN5R3hE
aHFEMEZ6a1JRQUFCQkJCQUFJR2FMc0FBcEtiMwpNTzFEQUFFRUVFQUFBUVFRUU1BaUFRWWdGblVH
VVJCQUFBRUVFRUFBQVFRUXFPa0N2aS9EVzlOQnd1M1RLems5OHNnajRhZm05OTY5CmU4M3ZpUk1u
U3RPbVRlWFVVMCtOV3A3dkp6Wmt0aUZEdnZ1QjdTT0FBQUlJSUlBQUFnZ2tGbUFBa3NCbTJyUnBN
bm55NUxoTFgzamgKQlprNmRXcmNaZm1jYVVObUd6TGtzdy9ZTmdJSUlJQUFBZ2dnZ0VCeUFRN0JT
dUF6YnR5NHFudUE2RW5ua1Q4SER4NlU1czJiSjFnegpmN050eUd4RGh2ejFBRnRHQUFFRUVFQUFB
UVFRU0NWUWNBT1FaNTU1UmpwMzdpd0xGeTVNWldQTmNoc3kyNURCbWc0aENBSUlJSUFBCkFnZ2dn
RURhQWdWM0NOYlpaNTh0WThlT05XQ3RXclZLR3k2WEs5cVEyWVlNdVRSbld3Z2dnQUFDQ0NDQUFB
TFpFU2k0QVVqNzl1MUYKZjRJMDJaRFpoZ3hCNmpPeUlvQUFBZ2dnZ0FBQ0NNUVhLTGhEc09Jek1C
Y0JCQkJBQUFFRUVFQUFBUVJ5SVJCeVQ2NU9lbHZ2ME1oUQpMbkt3RFFReUp1Q1VKWDFKWjJ3N1ZJ
UUFBZ2dnZ0FBQ0NDRGdYOERUSVZoQi8wQ25nNmlndGNHR3pEWms4UHVTWnNEc1Y0enlDQ0NBCkFB
SUlJSUJBYmdVNEJDdTMzbXdOQVFRUVFBQUJCQkJBQUlHQ0ZtQUFVdERkVCtNUlFBQUJCQkJBQUFF
RUVNaXRBQU9RM0hxek5RUVEKUUFBQkJCQkFBQUVFQ2xxQUFVZzF1di9GRjErc3h0cmVWMzNsbFZk
azU4NmQzbGZJUWtrYk1tU2hXVlNKQUFJSUlJQUFBZ2dna0dNQgpCaUJwZ2srZE9sWEt5c3JTWE52
ZmFsOTg4WVdjYzg0NVVsRlI0Vy9GREphMklVTUdtME5WQ0NDQUFBSUlJSUFBQW5rU1lBQ1NCdnk2
CmRldGt5SkFoTW43OCtEVFc5ci9LRDMvNFEyblhycDNacHYrMU03T0dEUmt5MHhKcVFRQUJCQkJB
QUFFRUVNaW5RRUVPUU9iT25SdDMKOExCaXhRb1pPSENnN05xMUsybWYzSG5ublhMWlpaZkp1ZWVl
bTdSY0poZis5cmUvbGIvODVTK3llUEhpcE5WV3QyM0pLcmNoUTdKOApMRU1BQVFRUVFBQUJCQkN3
WDZBZ0J5Q3paOCtXb1VPSHl2RGh3Nk42YU9YS2xUSjkrblJwMUtoUjFQeklKMXYrZjN0M0VpSlgy
ZjBCCitNMkFpTE0yY1FnYWpCcU5FVVJjT0dRajZFSUZGWFdsSUlJSUNhS0N1QkRVUlF3b0dPaU5H
RFFneEFFVXhVVUliaFFNRWN4Q2NLV0MKU3NRUlF4eFFVUWt1RE1ubmUvbDNueUtwcWs1MzlibDEr
OS9QaFNiSFc5WG5QZmZwYjFHL3IrNndmMzk1NzczM3lvWU5HM3AzcDllWApYSEpKdWU2NjY4b3Jy
N3d5ZEsxUmptMW80LzllN01JTU04M29kUUlFQ0JBZ1FJQUFnVzRMSE5PRENMdDlDTE9mYnR1MmJj
MHZiZG15CnBSdzhlTEJNVGs0Mi8vMzExMStYeXk2N3JDeGZQcGhseDQ0ZDVkQ2hRK1dDQ3k2WS9j
SWova1pkODgwMzN5emJ0Mjh2UzVmMno0NmoKSE51eGpOZUZHWTVsVHU4aFFJQUFBUUlFQ0JEb3Br
RC9UN0hkbkhWZXAxcXlaRWxac1dKRmN5clcxcTFieStIRGgwczlmZW1HRzI0WQp1czdldlh2THNt
WEx5cXBWcTRhK0wrUEYxYXRYbDcvKytxdjgvUFBQUTl2UDlkaUdOdjIvRjdzd3c3SE02VDBFQ0JB
Z1FJQUFBUUxkCkZGaVVBZVRQUC85c1RyV3FweXZkZlBQTjVaRkhIaWtiTjI1czdqTDF4Qk5QRFAx
TDdkdTNyNXg3N3JsRHZ5VVoybUNFRit1SC83clYKR1FadG94emJvSjY5Kzdzd1ErODhhZ0lFQ0JB
Z1FJQUFnWVVsc0NnRHlLdXZ2bHJXckZsVHJybm1tdWFVcG5wdFE3MnQ3cE5QUGxsTwpPKzIwb1gv
QkUwNDRvZFJiMG81am0xcTN6akJvRytYWUJ2WHMzZCtGR1hyblVSTWdRSUFBQVFJRUNDd3NnWkVE
U0gwMnhVeDNqZnJ1CnUrL0tsMTkrMlJtWjk5OS92MXgxMVZYTlBLZWNja3FwMzRSTVRFeVVuVHQz
empoai9mYmp0OTkrYTA2Rm12SE44L3lHYjcvOXR1bFkKWnhpMGpYSnNnM3IyN3UvQ0RMM3pxQWtR
SUVDQUFBRUNCQmFXd0p3Q3lKNDllOG9ERHp4UTFxMWJWODQ2NjZ4U2IxL2JiNnQzakxyeQp5aXVi
Ynh1dXVPS0s1c0x0TDc3NG90OWJXOTMzL2ZmZk4zTlBMWHJoaFJjMkYzYnYzcjI3dlB6eXkxTzcr
LzU3OWRWWE4vdW5Qb2ozCmZWUFN6bSsrK2Fhc1hidTIxTkEwYUJ2bDJBYjE3TjNmaFJsNjUxRVRJ
RUNBQUFFQ0JBZ3NMSUU1QlpCZHUzYVZBd2NPVEYrd1hTOTYKUG5LcmQ1ZTYvdnJyeThrbm45eGNX
MUcvTmJqMjJtdWJaMmY4OGNjZlI3NjkxZjgrOGtONlhmeTIyMjRydDk5K2UzTjczbUZQSEwvcApw
cHZLNmFlZlhqNzU1Sk5XWjY0WHlYLzY2YWZsN3J2dkhycnVLTWMydFBGL0wzWmhocGxtOURvQkFn
UUlFQ0JBZ0VDM0JlWVVRRFp0CjJsUmVlKzIxY3NzdHR3dzh1bnBhVXozdDZvVVhYbWcrc0o5NDRv
bmx4UmRmYkU3WG11bGJob0ZONStHRmVoZXBlcUgycWFlZWVsUzMKNTU5L3Z0VHJLK29wWTRPMjQ0
NDdyano4OE1QbHFhZWVLdi84ODgrZ3Q4MzcvdnA4a2g5Ly9MRjVVT0tnNXFNZTI2QytVL3U3TU1Q
VQpMUDRsUUlBQUFRSUVDQkJZbUFLREgzZ3g0dkhVRDZ2bm5YZGU4MXlOcVZiMTFLSDE2OWMzZDZC
NjlORkhwM2EzK20rZG9mNC8rZjIyCmVtM0ZWMTk5Vlk0Ly92aCtMMC92cXhlcjE2ZVNQL3ZzczJY
ejVzM1QrN09LR3BnZWUreXg1cGJCNTV4enpzQmw1dVBZQmpYdndneUQKWnJPZkFBRUNCQWdRSUVC
ZzRRak02UnVRWXptOCtsQy9xVnUyOXI3Ly9QUFBML1cxcm00emhZODZkLzBXcEQ0enBGN3czY2Iy
MWx0dgpsWWNlZXFqY2YvLzlJeTEzTE1jMmFJRXV6REJvTnZzSkVDQkFnQUFCQWdRV2prRGFOeUQx
ZEtGK1R3cy80NHd6eXQ5Ly85M2NSV3JZCnhkUmRKNnpmN3J6NzdydXRqSG5YWFhjTnZmQzhqU0c2
TUVNYngya05BZ1FJRUNCQWdBQ0JYSUcwYjBBR2pYM28wS0htcFg0WHJnLzYKbmE3dXJ4Zll0N0Yx
SWFoMVlZWTJySzFCZ0FBQkFnUUlFQ0NRSzVBV1FPcjFGUDN1ZGxYMzFRL3ViWDE0eitYVG5RQUJB
Z1FJRUNCQQpnQUNCMlFpa0JaRDZiSTErZDVPcTEzL1UxOGExMWJ0ejNYampqYzNQTTg4OE02NHhX
bHYzN2JmZm5qN2V5Y25KMXRidFhhZ0xNL1RPCm95WkFnQUFCQWdRSUVCaWZRRm9BdWZmZWU4c1BQ
L3hRZWg4OFdMLzkrT2lqajhvOTk5d3p0aU5lczJaTnFkY3ovUHJycjYwL3kyTWMKQjExRDRNY2Zm
OXdjODlSREZOdWVvd3N6dEgzTTFpTkFnQUFCQWdRSUVPZ3ZNS2VMMFBmdDIxZCsvLzMzTXZVMDhQ
cDA3RFBQUExOTQpURXlVbFN0WE5pdmRldXV0elZPN0gzend3YkpqeDQ2eWJObXlzbkhqeHVhWklQ
ZmRkMS8vYVZyWWUrbWxsNWI2czNQbnpoWlc2OFlTCjlSa3M0elN2Q2wyWW9SdC9EVk1RSUVDQUFB
RUNCQmEzd0p3Q3lOTlBQMTIyYmRzMkxiZGh3NGFtcnJlS3JRL3pxOXZ5NWN0TGZXSjYKUGQxcHhZ
b1ZaZW5TcGVYc3M4OHVIM3p3UWFsM3dsb0kyeHR2dkZGMjc5NWQ2Z1h6ZGVaNlY2LzY3VTE5V0dI
Yld4ZG02Y0lNYmJ0Ygpqd0FCQWdRSUVDQkFZSDRGNWhSQTZoUE42ODlNVy8wMjVMUFBQaXQ3OSs0
dEJ3OGVMT3ZXclp2cFZ6cjFlZzFhdmFlUTFlSHFBeFkvCi9QREQxdWZzd2l4ZG1LRjFlQXNTSUVD
QUFBRUNCQWpNcTBEYU5TQzlVMTU4OGNVTExuelUrVC8vL1BQbXFlbjF5ZW4xU2VEMW92VTkKZS9h
VS9mdjM5eDVlSzNVWFp1bkNESzFnVzRRQUFRSUVDQkFnUUNCTm9KVUFralo5aTQzcmN6RHV2UFBP
WnNWZmZ2bWx4WldQWHFvTApzM1JoaHFObDdDRkFnQUFCQWdRSUVPaTZnQUF5aTcvUVNTZWQxTHk3
ZmhzeTdxMExzM1JoaG5IL0hheFBnQUFCQWdRSUVDQXdPd0VCClpCWmU5VTVlZGF1blpJMTc2OElz
WFpoaDNIOEg2eE1nUUlBQUFRSUVDTXhPUUFDWm5aZDNFeUJBZ0FBQkFnUUlFQ0F3Z29BQU1nS2UK
WHlWQWdBQUJBZ1FJRUNCQVlIWUNjN29ONyt5V1dKanZybmQ4T3ZKV3d3Y09IR2dPNXJubm5tc2Vx
SGo1NVplM2NuQmRtS1VMTTdTQwpiUkVDQkFnUUlFQ0FBSUZVQVFGa0FPLzI3ZHZMMXExYis3NzZ6
anZ2bEpkZWVxbnZheGs3dXpCTEYyYklzTldUQUFFQ0JBZ1FJRUNnClhRR25ZQTN3bnB5Y25INEdT
TDNvdlBmbjMzLy9MUk1URXdOK2MvNTNkMkdXTHN3dy83STZFaUJBZ0FBQkFnUUl0QzJ3NkFMSTY2
Ky8KWHRhdVhWdDI3ZHJWdHZYWTF2dnBwNSthWTM3ODhjY1g5UXhqTzNnTEV5QkFnQUFCQWdRSVRB
c3N1bE93MXE5Zlg3WnMyZElBckZ5NQpjaHJpLzJ0eHh4MTNsUG9rK3JxdFdyVnFMSWZaaFJuR2N1
QVdKVUNBQUFFQ0JBZ1FPRXBnMFFXUTFhdFhsL3F6V0xhTExycW8xSjl4CmJsMllZWnpIYjIwQ0JB
Z1FJRUNBQUlFUVdIU25ZTVdocXdnUUlFQ0FBQUVDQkFnUWFGdGd5WDhYVnc5OXJQZVN6VXZhbnNs
NkJFWVMKT0x4cDZQK2tSK3J0bHdrUUlFQ0FBQUVDQkVZVG1ER0FqTmJlYnhNZ1FJQUFBUUlFQ0JB
Z1FDQUVuSUlWRmlvQ0JBZ1FJRUNBQUFFQwpCSklGQkpCa1lPMEpFQ0JBZ0FBQkFnUUlFQWdCQVNR
c1ZBUUlFQ0JBZ0FBQkFnUUlKQXNJSU1uQTJoTWdRSUFBQVFJRUNCQWdFQUlDClNGaW9DQkFnUUlB
QUFRSUVDQkJJRmhCQWtvRzFKMENBQUFFQ0JBZ1FJRUFnQkFTUXNGQVJJRUNBQUFFQ0JBZ1FJSkFz
SUlBa0EydFAKZ0FBQkFnUUlFQ0JBZ0VBSUNDQmhvU0pBZ0FBQkFnUUlFQ0JBSUZsQUFFa0cxcDRB
QVFJRUNCQWdRSUFBZ1JBUVFNSkNSWUFBQVFJRQpDQkFnUUlCQXNvQUFrZ3lzUFFFQ0JBZ1FJRUNB
QUFFQ0lTQ0FoSVdLQUFFQ0JBZ1FJRUNBQUlGa0FRRWtHVmg3QWdRSUVDQkFnQUFCCkFnUkNRQUFK
Q3hVQkFnUUlFQ0JBZ0FBQkFza0NBa2d5c1BZRUNCQWdRSUFBQVFJRUNJU0FBQklXS2dJRUNCQWdR
SUFBQVFJRWtnVUUKa0dSZzdRa1FJRUNBQUFFQ0JBZ1FDQUVCSkN4VUJBZ1FJRUNBQUFFQ0JBZ2tD
d2dneWNEYUV5QkFnQUFCQWdRSUVDQVFBZ0pJV0tnSQpFQ0JBZ0FBQkFnUUlFRWdXRUVDU2diVW5R
SUFBQVFJRUNCQWdRQ0FFQkpDd1VCRWdRSUFBQVFJRUNCQWdrQ3dnZ0NRRGEwK0FBQUVDCkJBZ1FJ
RUNBUUFnSUlHR2hJa0NBQUFFQ0JBZ1FJRUFnV1VBQVNRYlduZ0FCQWdRSUVDQkFnQUNCRUJCQXdr
SkZnQUFCQWdRSUVDQkEKZ0VDeWdBQ1NES3c5QVFJRUNCQWdRSUFBQVFJaElJQ0VoWW9BQVFJRUNC
QWdRSUFBZ1dRQkFTUVpXSHNDQkFnUUlFQ0FBQUVDQkVKQQpBQWtMRlFFQ0JBZ1FJRUNBQUFFQ3lR
SUNTREt3OWdRSUVDQkFnQUFCQWdRSWhJQUFFaFlxQWdRSUVDQkFnQUFCQWdTU0JRU1FaR0R0CkNS
QWdRSUFBQVFJRUNCQUlBUUVrTEZRRUNCQWdRSUFBQVFJRUNDUUxDQ0RKd05vVElFQ0FBQUVDQkFn
UUlCQUNBa2hZcUFnUUlFQ0EKQUFFQ0JBZ1FTQllRUUpLQnRTZEFnQUFCQWdRSUVDQkFJQVFFa0xC
UUVTQkFnQUFCQWdRSUVDQ1FMQ0NBSkFOclQ0QUFBUUlFQ0JBZwpRSUJBQ0FnZ1lhRWlRSUFBQVFJ
RUNCQWdRQ0JaUUFCSkJ0YWVBQUVDQkFnUUlFQ0FBSUVRRUVEQ1FrV0FBQUVDQkFnUUlFQ0FRTEtB
CkFKSU1yRDBCQWdRSUVDQkFnQUFCQWlFZ2dJU0ZpZ0FCQWdRSUVDQkFnQUNCWkFFQkpCbFlld0lF
Q0JBZ1FJQUFBUUlFUWtBQUNRc1YKQVFJRUNCQWdRSUFBQVFMSkFnSklNckQyQkFnUUlFQ0FBQUVD
QkFpRWdBQVNGaW9DQkFnUUlFQ0FBQUVDQkpJRkJKQmtZTzBKRUNCQQpnQUFCQWdRSUVBZ0JBU1Fz
VkFRSUVDQkFnQUFCQWdRSUpBc0lJTW5BMmhNZ1FJQUFBUUlFQ0JBZ0VBSUNTRmlvQ0JBZ1FJQUFB
UUlFCkNCQklGaEJBa29HMUowQ0FBQUVDQkFnUUlFQWdCQVNRc0ZBUklFQ0FBQUVDQkFnUUlKQXNJ
SUFrQTJ0UGdBQUJBZ1FJRUNCQWdFQUkKQ0NCaG9TSkFnQUFCQWdRSUVDQkFJRmxBQUVrRzFwNEFB
UUlFQ0JBZ1FJQUFnUkFRUU1KQ1JZQUFBUUlFQ0JBZ1FJQkFzb0FBa2d5cwpQUUVDQkFnUUlFQ0FB
QUVDSVNDQWhJV0tBQUVDQkFnUUlFQ0FBSUZrQVFFa0dWaDdBZ1FJRUNCQWdBQUJBZ1JDUUFBSkN4
VUJBZ1FJCkVDQkFnQUFCQXNrQ0FrZ3lzUFlFQ0JBZ1FJQUFBUUlFQ0lTQUFCSVdLZ0lFQ0JBZ1FJ
QUFBUUlFa2dVRWtHUmc3UWtRSUVDQUFBRUMKQkFnUUNBRUJKQ3hVQkFnUUlFQ0FBQUVDQkFna0N3
Z2d5Y0RhRXlCQWdBQUJBZ1FJRUNBUUFnSklXS2dJRUNCQWdBQUJBZ1FJRUVnVwpFRUNTZ2JVblFJ
QUFBUUlFQ0JBZ1FDQUVCSkN3VUJFZ1FJQUFBUUlFQ0JBZ2tDd2dnQ1FEYTArQUFBRUNCQWdRSUVD
QVFBZ0lJR0doCklrQ0FBQUVDQkFnUUlFQWdXVUFBU1FiV25nQUJBZ1FJRUNCQWdBQ0JFQkJBd2tK
RmdBQUJBZ1FJRUNCQWdFQ3lnQUNTREt3OUFRSUUKQ0JBZ1FJQUFBUUloSUlDRWhZb0FBUUlFQ0JB
Z1FJQUFnV1FCQVNRWldIc0NCQWdRSUVDQUFBRUNCRUpBQUFrTEZRRUNCQWdRSUVDQQpBQUVDeVFJ
Q1NES3c5Z1FJRUNCQWdBQUJBZ1FJaElBQUVoWXFBZ1FJRUNCQWdBQUJBZ1NTQlFTUVpHRHRDUkFn
UUlBQUFRSUVDQkFJCkFRRWtMRlFFQ0JBZ1FJQUFBUUlFQ0NRTENDREp3Tm9USUVDQUFBRUNCQWdR
SUJBQ0FraFlxQWdRSUVDQUFBRUNCQWdRU0JZUVFKS0IKdFNkQWdBQUJBZ1FJRUNCQUlBUUVrTEJR
RVNCQWdBQUJBZ1FJRUNDUUxDQ0FKQU5yVDRBQUFRSUVDQkFnUUlCQUNBZ2dZYUVpUUlBQQpBUUlF
Q0JBZ1FDQlpRQUJKQnRhZUFBRUNCQWdRSUVDQUFJRVFFRURDUWtXQUFBRUNCQWdRSUVDQVFMS0FB
SklNckQwQkFnUUlFQ0JBCmdBQUJBaUVnZ0lTRmlnQUJBZ1FJRUNCQWdBQ0JaQUVCSkJsWWV3SUVD
QkFnUUlBQUFRSUVRa0FBQ1FzVkFRSUVDQkFnUUlBQUFRTEoKQWdKSU1yRDJCQWdRSUVDQUFBRUNC
QWlFZ0FBU0Zpb0NCQWdRSUVDQUFBRUNCSklGQkpCa1lPMEpFQ0JBZ0FBQkFnUUlFQWdCQVNRcwpW
QVFJRUNCQWdBQUJBZ1FJSkFzSUlNbkEyaE1nUUlBQUFRSUVDQkFnRUFJQ1NGaW9DQkFnUUlBQUFR
SUVDQkJJRmhCQWtvRzFKMENBCkFBRUNCQWdRSUVBZ0JBU1FzRkFSSUVDQUFBRUNCQWdRSUpBc0lJ
QWtBMnRQZ0FBQkFnUUlFQ0JBZ0VBSUNDQmhvU0pBZ0FBQkFnUUkKRUNCQUlGbEFBRWtHMXA0QUFR
SUVDQkFnUUlBQWdSQVFRTUpDUllBQUFRSUVDQkFnUUlCQXNvQUFrZ3lzUFFFQ0JBZ1FJRUNBQUFF
QwpJU0NBaElXS0FBRUNCQWdRSUVDQUFJRmtBUUVrR1ZoN0FnUUlFQ0JBZ0FBQkFnUkNRQUFKQ3hV
QkFnUUlFQ0JBZ0FBQkFza0NBa2d5CnNQWUVDQkFnUUlBQUFRSUVDSVNBQUJJV0tnSUVDQkFnUUlB
QUFRSUVrZ1VFa0dSZzdRa1FJRUNBQUFFQ0JBZ1FDQUVCSkN4VUJBZ1EKSUVDQUFBRUNCQWdrQy93
UFZJL0o3RGg0VHZRQUFBQUFTVVZPUks1Q1lJST0KCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1saW5lYnJlYWstMDAxLWV4cGVjdGVk
LnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0
eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgppVkJPUncwS0dn
b0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQUM3bWxEUTFCSlEwTWdVSEp2Wm1s
c1pRQUFlQUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9SRmlhd3piSDda
RmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZwRktONnJLR0toRnkz
eHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVKcQovSWdBanFJ
SlFUUWxWZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9IaFAxQTRFZWEyU3F3
N3hkeENsa1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVBMUxjNS9UYmhU
elNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZyWXFHY1R2WU9rTDJk
OUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FWdHhxcAorRFhD
RkY4UVRTZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUrTHFIQlgwbTF4T3Y0
bmRXVWVGNWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNHUEJveE5MSnlQ
eU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFDSkw4UWY0cXI4bFA1
WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhSNWFzZVhxOApt
dXdhUCt4WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdqRTMzNTlzZnpzOTRp
N1BMclhXYzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlLVEVtZG9ybklZ
bVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAxdDR2VVovRFBWUmxC
bk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUzSHZFS0ZscFc1
egpyZ0lYdjlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVncG1OT1dsczA1VW9j
c241TzY2Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2ZkVwMHBsay9x
djhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQWcKQUVsRVFWUjRBZTNkQ2R3
MVZWMDQ4TU1pdU9BT0NHNGdhYUxtTG1TS1dhSW9hYWlCVzJvS2Jwa2JacWxCaEF1U1cyNFZrSldo
bHZ1VwplMm1LU21rS2FCOUpjMEZjQ0ZsY0VITkRZUDduZC83TWRaNzczanYzM09jNTcvTytEM3pu
ODNtZWUyZm16Ry9PZkdmdTNQbk5uSm03ClRaZTdwQ05BZ0FBQkFnUUlFQ0JBZ01BNkNHeTdEdk13
Q3dJRUNCQWdRSUFBQVFJRUNCUUJDWWdOZ1FBQkFnUUlFQ0JBZ0FDQmRST1EKZ0t3YnRSa1JJRUNB
QUFFQ0JBZ1FJQ0FCc1EwUUlFQ0FBQUVDQkFnUUlMQnVBaEtRZGFNMkl3SUVDQkFnUUlBQUFRSUVK
Q0MyQVFJRQpDQkFnUUlBQUFRSUUxazFBQXJKdTFHWkVnQUFCQWdRSUVDQkFnSUFFeERaQWdBQUJB
Z1FJRUNCQWdNQzZDVWhBMW8zYWpBZ1FJRUNBCkFBRUNCQWdRa0lEWUJnZ1FJRUNBQUFFQ0JBZ1FX
RGNCQ2NpNlVac1JBUUlFQ0JBZ1FJQUFBUUlTRU5zQUFRSUVDQkFnUUlBQUFRTHIKSmlBQldUZHFN
eUpBZ0FBQkFnUUlFQ0JBUUFKaUd5QkFnQUFCQWdRSUVDQkFZTjBFSkNEclJtMUdCQWdRSUVDQUFB
RUNCQWhJUUd3RApCQWdRSUVDQUFBRUNCQWlzbTRBRVpOMm96WWdBQVFJRUNCQWdRSUFBZ2FZSnlQ
LzkzLytsYjMzclczTlZ2L3ZkNzZhdmZPVXJjOGNiCnNma0U1dG1mZDk1NTZTTWYrVWo2M3ZlK3Qz
RG1pOWJ2d2dDREFtZWRkZGFnYjdtM2krb3h2YXcvKzluUDBuLzh4MzhzTjVPdHRQUmEKM0xiU1Ji
cGNWYXZWdHJab0cxOEdMV0w5Ny8vKzd6S1RUTXEyck1jazZGYjBabXovTjcwdXAvY3JyUmRqTGV0
cDJicjg1Q2MvU1YvLwordGVYbld4bStjdjdOakp6b1M4YitPTWYvM2hzZEpOeDMvLys5OVBGRjE4
OE45WmF4L2VCSTg2VzZpNjU1SkwwUC8velAxdGs5bXYxCld6Ujl6VUw5NkVjL3FpbVdOdmMrcUtv
U0RRc3RURUR1ZDcvN3BXdGYrOXJwUHZlNVQzcndneCtjdHR0dXUzU1RtOXdrSFhMSUlXbS8KL2ZZ
ci9hOTczZXZTRzk3d2huUzk2MTB2dmY3MXI1OWJ2VC83c3o5TEQzakFBK2FPbnpYaXZlOTliN3JE
SGU2UXR0bG1tM1RuTzk4NQovY3UvL0VzcEZsOGN6M3JXczhyd2JiZmROajMvK2M5UEYxNTRZYXF0
Nzd2Zi9lNTAxN3ZldFV6LytNYy9mdGFzeTdBLytJTS9LR1Z1CmVjdGJwcmUrOWEzcExXOTVTN3JG
TFc1Umh2M21iLzVtK3ZDSFB6eDMycTFweEN6N1Y3LzYxZWxOYjNwVCt0akhQcFp1ZGF0YnBmakMK
bmRmVnJOOTUwMDRQLytJWHY1aCs1VmQrWlhwd1ZYOU5QWWJMK3AvLytaL3BUbmU2VS9xZDMvbWRx
dmhiYzZHMXVHM055M1Y1cVZ1cgpiYTFtRzY4MSs1dS8rWnQwM2V0ZXQreTdhcWZweTdXc1J4OXph
M29kMi8vTldwZkQvVXJyNVZqTGVscTJMbTkrODV2VDlhOS8vZlN5Cmw3MXMyVWszS1g5NTMwWTJX
ZURCZ0U5OTZsUHBmZTk3WDNyWHU5NjE0aGdsamxuNkxnNnE0N2dwamwrZStNUW5wblBPT2FjZnRm
QTEKVHRiR3RHOTcyOXZTbi83cG42YWpqejU2eFRSckhiOGlXTzU1Mk1NZXRrV1NnTTk4NWpQcGRy
ZTdYWnAzSExZUmZXTzd1T01kNzFqVwpleHkvUHVZeGowbFBmdktUMDFPZThwVDBsMy81bDVzay85
LzR4amRTZkM0WGRadHpIN1JvM3B0bGZMZWdPK0NBQTdxdmZlMXJrMUpYCnZ2S1Z1MGMvK3RHVC9y
LzRpNy9vOHM2ejlPY0Q4KzRGTDNqQlpOejBtKzk4NXp2ZGw3Lzg1ZW5CQy92ekYwV1hGNzdMTzd0
Tnl1NjgKODg1ZFRnNG13NWVwYjA0b3VyeGo2R0taemovLy9FbU0vczBQZnZDRDdnWTN1RUdaOXd0
ZitNSitjSGZzc2NlV1lUa1ptZ3lyZWZQVApuLzYweTFjYmFvck9MYlBhR05QMitheFZkN1dyWGEz
TFp4N0t2UDc5My85OWszbE96MnZSK3Qwa3dKd0JlU2ZjN2Jubm5uUEdMaDY4CnFCN1R5L3JTbDc2
MHk4bng0c0JiZVltMXVtME5pemU5VFcwTmRlcnIwS0p1cTkzV3B1ZTlhQnZ2NjF6ekd0dit5MS8r
OHBxaW01UnAKV1k5TmdtL0JBVFg3ditsMU9iMWZhVjM5dGF5blpldVNUNzUxK1dCbzJjbG1sdDlh
dHBIcHo5RE15allhbUU5RXJ2aE14VEZRSEtQOAowei85MHlaeitQblBmOTdsaEcrVDRXTUQ4c25V
N3VZM3YzbVhENzRueGU1eWw3dE1qclhXT240UzlMSTNPWmtweDBMNUlIbDYxTHIwCngzenZjWTk3
ekozWFJ2VHRqMXZmODU3M1RKWXJqalB6U2UwdW54VHFQdkdKVDB5R3g1czROajdpaUNOV0RKdnUy
ZHo3b09uNWJlNysKaFZkQS92QVAvN0JjOFppWC9UemhDVThvWjg5ai9KV3VkS1dTOGMwckcyZmli
bmF6bTIweU9pL2tKc09HQTY1MXJXdVYzdjUxZXR4dworREwxalNzNzk3M3ZmVlBlY2FVVFRqaGhH
TGE4UC9IRUU5T0RIdlNnVGViZHorK2ExN3ptSnRQTUc1QjNRdW1SajN4a3lodmR2Q0l6Cmh3OXR4
bUlNeTgwS05HMy8rYzkvUGwxMDBVVXByaDVGbDNkdUt5YWJOYTlGNjNkRmdKR2V1RksyOTk1N2o1
UVlIN1dvSHRQTHVzTU8KTzR4dWwrTnorOFhZTWVPeGNXT1h6MzhSZmZHN1pkekc2ck40VHJOTHJE
WG1yRzFxOXB6V2YyaXJ1czNiMXNic1pzMTcwVGErak5CYQpZdFZPMjJvYnIxMnVNYythR0l2MmZ4
RmplbDFPNzFkcTVyTk1tVnJyWldKRzJWbnJac2NkZDJ5eVQ0ejR0ZldlVlkrWWZsNjNUUGxaCm42
RjVjUmNOWDdSdHhWV01mRUl5SFg3NDRaTlFjU3dSWGY4NkdaSGZiTC85OXVVTS8zQlkvejZhSHNW
eHdYUVRuSnpJcEh5d21YNzcKdDMrN0w1b09QZlRROUx6blBTL0ZOR3NkUHdsNjJadS8rN3UvSy9H
ak5VczBxVnVtVzJZOVRjZTk5TkpMeTZBdzZvOUZwc3RFZisvYQp2dzdMYksyKy9YRml0QnJxdTN6
Q1BQMzFYLzkxK3EzZitxMTB6M3ZlTTMzeWs1L3NSNVZqNDFpM2NmVmtYdGRxSDdTV2RUYXZicXNa
CnZqQUJ1ZmU5N3owYU41OUZMMDJaK2tLeFFjVmxvaHZmK01hbG1jMlpaNTVaUm4zNzI5OU9MMzd4
aTlPdi9kcXY5VVhMSmFmamp6KysKREo4K0FKNFVXdkxOc3ZYZGYvLzkwNjF2ZmV1eVVjUUJlZC9G
VGlpYWFUM3dnUS9zQjYzcDlSV3ZlRVdKRjVjVEgvV29SNVVkenJubgpucHNpWWJyNzNlOWVMdGZG
SmQyK2k4dHgwemF6WXN3cTE4Zm9YNmZ0WTJmem5PYzhwM3d4UGVsSlQwcC85RWQvMUJlZHZNNmFW
NHljCnQzNWozTmp5eFBoaEY4c2MzVHZlOFk2MHl5NjdGT2NMTHJnZ1JkSVgvZmU2MTczU1Y3LzYx
VkltbWdyYzdXNTNLNGxpR1pEL3phdkgKOUxMMjVZZXZ5OVF6cHB0bEhFM3Y0cEwxVVVjZGxaNzk3
R2VuM1hmZnZXenp3eVo1Ly9adi81WmU5S0lYbGFZTzBkenY5Tk5QbjFRagoybUFmZWVTUlpmeERI
dktRbE0rMlRzYU4xYTkzbXhTKzdNMmkrcHgyMm1rcFRoYkVwZng4bGJJWWYvclRueTVmTm5GcCtC
blBlRVpwCkh2blVwejQxUmQyaVd4UXp5c3lyNjZ6NXhiWWVuNm4rTS9DYTE3eW1uTHlJa3dCOSs5
ODRNSXg5eEVjLyt0RUl2MGszNWhaZm5QT1cKSmVJOTlLRVBMZHY2My8vOTM2ZGYrcVZmS2tsd3Yz
K2EzdDd6RmNHbHZUYXBiQjR3YTl1WkxqYzk3LzVnWk40Mkh0UFBjNStPM2ZkSApXL1g0bkVjU0cw
MERvamxmM3kyS05WYVBlZHQ0TkVQWmJiZmQwajc3N0RQNUhNZjJ0c2NlZTZSLy9kZC9MYk1lVzEr
enRwK1l2c1l6CmdvL0ZydG4vOVRiOTYvUitaZEgyRk5NdGN1MWpEMS9ucmFkNUhtUHptTGR1aHZP
TDk1Lzk3R2ZMZW9wOXdPYys5N25wMGFWLzdITVgKQlZhempjeGJwckY2ejZ2SHJNL1FQSnQ1ODYz
ZHRtS2Z2MnlUM25rSDErSDJqLy80aitWazRCRCtBeC80UURrZ0hVNFhKMi9qWHE1WQpYMnNkUDV4
WG5JQ05KdTNSeENzK041R0UxSFR6MWxQTlp5TzI4MmplZnN3eHg2VGYvLzNmVDZlY2Nrck5MT2VX
R1RvTkMyME52c1A2CjlPL2pXRGlhdkwvem5lL3NCNVhYT0thSTQ0bElSS2E3MWV5RHBtUE1XMmZU
NWRhdFB4OW9MOVZOTjhFYVRueWIyOXltdSsxdGI5dmwKQTVjdTM0emU1YlBjM1dNZis5aFNKRy9n
WGQ3UXVtZ3lGVjArWTlIbHR2bmxmZng3K3RPZlBta09OQmw0Mlp1NDNKbEJ1bndnMnVXRAo5QlYv
Tjd6aERidTRORG12RzZ0djFEUHZ1THA4UUZMaTU0UGZTWmhvWGhWTnJmTE55MlZjdmtJeUdYZmNj
Y2VWWVZHWFpicG9kaFF4Cm84c1phSGZnZ1FkMmNTazFiMnhkUGpqczhvRjNsMjlvR3JVWnhxZzFu
TGFQK1lkcC90REcyN25kY0Y1UmFHejlqaTNQckJrTW03emwKTnBMZFlZY2ROaW4yRzcveEcxMCsy
elBwejJjRXVuLzRoMytZOUkvVlk5YXl2dXBWcityeXdWQ1pmdGw2empQT0I2N2RycnZ1MnVYNwpv
Y3FsMUh3ZlRkbjJiM1NqRzVYNTVKMUxhYjdYTjduTENWOTM4TUVIVDVZaDMxUFY1Yk1mcFQvdmZN
djJkT3FwcDQ1dUYxRjQ2RFlKCmx0OHNxay9NSzU4OTZuSmIyeTYzS1M3YlcxenkvZlZmLy9VdWYr
R1VVRGtCNy9iZGQ5OHUzMGRWK2hmRkhMT2NONy9wYlNybW44OEUKVFJZbFlnNmRKaU11ZXpQUExV
YVBMVXMwWC92bFgvN2xzaytLUytMNUJ0elN4T0Z4ajN2Y1pCYkR1czJyLzlnOEl0QndXNXUzN1V4
bQpPSGd6bkhjTUh0dkd4OXdISVNkdll4K1o3L0hxY3ZKWG1vREd2UGJhYTYreW4xa1VhNndlaTdi
eDJQZm5nNlpKUGNJamY4Rk8rc2NzClovbC80UXRmcVA3T0dJc2RGYWpaL3czWDVmUitaZEgydE1o
MWdqQjRNN2FlWm5ua0pITHVkOGlpZFJQTlhmTEpoakwzK0c1NzdXdGYKTzZqSnBtL0hQbmVyM1Va
bUxWTStTYk9xL1diVWVQZ1pHdk9mTmQ5bHRxM2M4cUViTnF1SmVmZkhLTzkvLy91amQ1T3UzNmRP
ajRoOQpiaHpiNUlmQXJCaVZFL2N1bjB4ZE1TeStINkpzUG1qdDFqcCtHRGlPZS9JSmd6SW9ud3hh
MGFSOVdHNzRmbXo3V3ZUWmlEZ3huM3ovCmFRa1p4ei9SUkMyZmRCek9Zc1g3amVpN3FNNzVha2FY
NzJ0ZXNaeXhQZVFyaWwyK0IyM0Y4T2haZGg4MEhXQnNuVTJYWGEvK2hWZEEKbHMyRTRpYnd1S3FR
ZDZZcGJ0THV6MnpHV2UyNDBwQVhySVNNczkxeHRpVi9ZRXQvUGhDWWpKczN6NU5PT3FuYzdCNDN2
dlYvUC96aApEK2NWcng3K3U3Lzd1K1dNY0p4RjZiczRTenJ2cHFpK3pHcGU0MmEwNlBMR1daWTNt
bVI5OElNZkxHZlE4OEZsK3ZqSFA1NFcyZlF4CkZwWHI2emR0M3crdmVlM24xWmVkdDM3SGxxZWZk
dmdhbHlMN0xpNHR4OE1GNG14RmRIRnBNdS9nSjAwSDRreDgzeFN1bjJaZVBSWXQKNjdMMW5HZWN2
K3hTVGpiU1FRY2RWQjdHa0E5NHlnMzk4UlM0T0xzY3pSTGlMRmxPeUV1VjQ5SnBmOVk1bmpvV1o3
Ris5VmQvdFl5TApNOUxSQkRET0RpK3EzOUN0dDRqWFJmV0pCemhFczdmY1hqdmxBL3d5dnpQT09D
T2RmUExKNWNwQXhJZzY1MFF3eGRuci9DVzlNT1pZClhXZk5yMjkrT2R5bThvbUhGR2RsY3JJVFZT
ajF5WWw1ZVQvOWI4d3RQa05qeXhKbi91T3FSK3lEWXRzSjYzd1FscjcwcFMrdG1FMWYKdDFuMVgr
UzFJbER1bWJmdFRKZnIrL3Q1OS8zenR2RXg5MzdhNmRmZis3M2ZLODA1WXA4Y3pVZnlmWDNsQ2xk
TnJIbjFHTnZHWS81eApOU3B1bEkyYlRLTWJmbzRYcmE5Wi92SFpydm5PV0JTN1ZHYkpmOVA3bFVY
YlU0M3JyQ3JNVzArelBHSWZFdCtuczc1REZxMmJmdDZ4CjM0bDlVOHgzWGpmMnVldW5XYzAyTW11
WjRtRXZxOWx2OXZYb1AwTmovclBtVzd0dDVZUEFsTzhOVGZua1V6L0x6ZklhVjNwaUhRNjcKYUJJ
WVhVN2t5MVhxdFl3ZnhvMzlmVHhrS0xxNFNwNlRzYmxYb1B2cHhyYXZSWitOYU9rUngzMTlhNVc0
ZWhGTmt0YXpXMC9mZWNzVgpWNGo3Vmg1OW1YQ05abWI1NUdBL2FQSzY3RDVvTXVGbGI4YlcyWFRa
OWVwdm5vRDBPNEJZZ0lDTVMzcDlGK1A2OFhFZ0ZUdWFhT01ZCnpZRGlBR3JZVnE2Zlp2Z2FsK3Bl
K2NwWHJ2aUxsYkxXTGw4bEtaY0I0OHN0TGgvR3dWRGMzeEU3NXRaZHYveHhnQmZ4WTZjU2Y5RkUK
NTBNZitsQnBIckhJcG8reHFOeXc3a1A3NGZCRjcvdDU5ZVdHL2NQMU83WTgvYlR6WHVPeVl5UmYv
ZjB4MFZRcG1xSEVnV2xjSG83RQpKSnI2RGJ0NTlZZ3lZOHM2VnMvNDBNZVRjZnEvS0R0bUhQTVpi
ck54Z0I4bWNhQVY0L0laMUhJUUdzMnc0a2xqZmJJY1NXWTBPUnd1ClErejRZM3NZcTk5dytXZTlI
NnRQbEwvS1ZhNVNFdTErMm1qU0VwK2Y0UmRadmdKU1JzZkJUWFJqTVJmVmRYcCtKZUJsTWZ2Mzhm
bVAKUkM3TW80c3Z3MGlRWm5WamJyWExNalMvK3RXdnZxSlpYOHh6T0g2Ni9qWHpHTlo3Yk5zWmx1
dmZEK2NkdzRiOWEvMnNEZTlYaXdPdwo2Q0k1V0xRT285eThlc1R3ZWR0NFRCZkpkeVRYMGNRa3Vq
akpFTTN0b3F1eG5QYXY5YXlKWFNxeDVMOVkzcUhGZFA5d2V4cHpuYldmCjZhc3liejNGK0dtUHNY
a3NXamNSTHc0Q296bG1meUFZdzJaMVk1Kzd2dnpRWmJpdExxckg5REtObFYrbUhtTTJVZWZwK2Ra
dVc1RzQKUjNlZDYxeW52SzdtWHp5eE00emlyMDlrYnBLZkxOb1BpMmF5Y1hBNi9Xajh2bWxtbk1o
WjYvaSszckdmajN0TjRvUnI3SVBqQkZvYwpqL3pWWC8xVlgyVG02OWg2aWdsaWZQejEzZkN6Y1ZJ
K2tSemZsZjA5RWxGbXA1MTJXbEcrbjI0MXIxdVQ3N3o2NXl0MEpmbVk5VFRRCnNJcDk4Nnh1Mm5X
NmYrZzhQWDJVSGR0ZlQ1ZGZqLzd0MTJNbTgrWVJWekhpY1lDUlZFUzd6UGlDdXNZMXJqR3YrR1lk
SHUwUjQwQXgKUHkybWZEZ2lLZHFjWFh6bzQrYXBPTnMvcTZ1MXFTMDNheDR0aHkxYW5yRjV4WUYz
bkVHTEcrdGlweFNQelkyekl2R0k0RGpidE95agptOGZtTlZiUFNCeUdiVExqQXh2M0l5eGpIUFdP
OVJwZFBGb3p6c3JIdlE3Ujdqd09qS0tMdHNuRCswSEt3TXYramRWdldLNzIvYkErCjA5TkVPOXlZ
WDV3a2lDK0E2T0lLUWRTLy83S2JuaWI2KzVndDZob0pYRHllTXE0K1B2ZTV6eTFuOW9aZlRNUDVq
N210ZGxtRzhSZTkKWDgwOGx0bDJGczIvSDc5Vzk3ajZFMTlVOGJmV1dQTzI4YjZ1Y1VVdDFtdTA5
WTRUUGYxWjNOVllSc3dhejlYRzd1dmM0blhNZGQ1KwpabnErdy9VMFBTNzZ4K1lSNHhldG03aXZM
azZNeE0zVWNRQTZyeHY3M00yYlpqaDhVVDJHWmVQOXZQTEwxR09SemZROG83OW0yK3BQCmVPYm1M
Q3RDeEQydjBjVjhaM1hERTFWeHoxOTh4MFVYQjZKeEZUME8vdVB6R0Ywa0kzR3ZSM3gzREx2K1pH
NGtJTkhDWkMzais3aHgKQlN4YUlQVDcveGdlMzdkdmYvdmJTeklTSjRmbWRmUFcwN3p5L2ZENExh
dFpUdkY5TzYvYnFMN3psaWRPUXNRMkZDZG9wcnU0d25YVgpxMTUxZW5DVC90V3VzeVl6bnhHaytS
V1FHZk9ZT1NpZUpCR1hNK09BUHk2Wng4Mm5jY0M1bmwyY1dlK2IvY1FaaGRneHhCbllhQ3JUCk41
MVp0ajZ4NDRnRHpubGQveUdMblV4YzhZZ3ovSDBYbDlQajdNQWltejdHb25KOTNMVzg5dk5hRkdO
c2VSWk5HK1B6bzUzTGJ4WDgKN2QvK2JjcHR4OHRPTVpLQitMS2VkK04xVGR6cE1tUDFqR1F3YnU3
ci82Slo0RExHc1ZPSkh3cUs1MzdIWmV4SWF1UG04dUVWaHFoUApIRmpFR1k1bzB0TjNzZTdqYk5S
WS9mcXl0YS9EK3N5YUpzNUN4YzF1ZlJPWktCT2Z5ZmhTaktaYXM3cGh6TlhXZFhxYml2VWR6Wlh5
Ckl3akx3d1ptelRlR2pibXRabGxteldlNmJzTXl5ODVqbVcwbjVqTTI3MkU5VnV2ZXh6ajc3TFBM
MWJqYjMvNzJhOXJleHJieGZsN1IKdkRWK255bWVmejk4b01leWxoR3Yxbk0xc2Z2NnRub2RXMGV6
OWpPejVqdGNUN1BHajgyalp0M0VBVy84YmxlKy82TWNjTTZhUnd3YgorOXpObTZZZlhsT1B2bXk4
anBXdnFVZi9HUnF6R2M2dmYxKzdiVVhjU0tUanhOaXdpeE0za1dUMFRjNkg0K0kzSHZvRDZCaWU3
MFZMCjBjdzAvdnFtVC9IUWxYNVliTCtSQkVTZGhqY2pSM1BST0dNZXJRSFdPajdxRWZ2Y3FGczB2
NHZXS1AxZlhJR0orY2JCNnJ4dWJEM04KbTZZZkhpZWRvOFZEZkpmVWRodlJkOTZ5eFhkOUdNZlZy
M2p3dzNRWGlmYWV1VVZRNjI0dDY2eDFYZnA0U3lVZ2NiQWVUNHFhdmpUWQpCNHN6VC9IWGQ5SE9M
djc2THNaRmY2eUFPRkNMcDA1RWwzKzdJOTMvL3ZkZmtZWDMwOFJySDJQV0wzWEdBZnlzNFRIZG92
ckdjc1FCClY5L0ZtYUNvV3h3TTkxMC9mamlQL24yZnZQUmxJNk9OKzBiaWkzMVdGMmQyKzEreWpq
UCtzYUZGMDV1SUYvT0pSK3pGMlkweG0yR00KdUJ4Y2F6aTBqN3JGUVVIVWY3aStwdXM4bkZmVU1j
b095dy9YNzhNZi92QzV5ek1kZDFaLzdIemowWkN4RTQ5bUNORStQNjZHeGRPbAoraStWZnJxeGVr
U1pHTjl2WjlFZjIyeWNWWWh1MlhxT3JZdUlGK1A3THBydnhWbkZ1TGNqa3Rqd2pROTk3TXpqVEdO
c3E3Rjl4WTlMCnhaZFluSG1LY3ZIM3pHYytzelJGV3JaKy9iejcxM24xaWZHUldQU2ZwZWlQKzJy
aVRGb2t3bjBYVHlPSkw4RCtpekdHejR1NXFLN1QKODR0WTA5dFVESXZtRC9HRXFqZ0xPSHpzWkl3
YmRuR0NZSjViemJMRWRqRDh6TVoyTXZ5Q242N2JkUDFyNTlGdmE0dTJuZUd5VGM5NwpiQnRmNUQ2
TTI3OGZMbWUwNlk4RG1EakpzaWpXV0QzR3R2SFl6cU9MNVlvRG0vaGh2NzU1WHd5dnNaejJyL1dz
aVYyei94dnVONkxPCnMvWXI4N2FuUmE0UmIxWTNiejFGMldtUHNYa3NXamNSSzlaUk5BV05wKzdF
RDZYTk9uaU8rWTU5N21MOFdyYVI2V1VhcS9mWWZqUHEKTWZ3TWpYMi9SdG5wK2RadVczSDFOOTkw
djhuQmM1eXhqdnNBNDBjRGgyZjNZL3VJWm02UGVNUWpZcmJWWGRRL0RsRGpYcGEraSsrWAphQzBT
M1ZySFI0eTRLaC9mdTlOZEhPekhYeVFnOFRtWjFZMnRwOWl1eHZhMXNUM0ZWZmE0K3RKM3NlMkYy
M0Q3NzhmRjYwYjA3WThUCmg4c1V6ZnZqdnNjNDBSMU5VK1A0WnRqRmRoamZIL0gwd0ZuZE12dWc2
ZWtYcmJQcDh1dlNuemVXcWk2ZVRoRlBhc3FWNnZJQlloYy8KUUJnLzFOZDM4V1NkL09Fc1QxREla
M0s3M0tTcWl4OG95aHRhZWZwSzNOV2ZtN09VNmVOSHNhSk12aW0wL0xET1AvL3pQNWNmWjhudwpm
YmpKYTE1UjVZa1BNZC9jZHJuTGozQXM0L0xCZS9uUmxoaWVEMUM3ZklsL1JYMFcxVGV2L0ZMWHZB
RjArWEczay9ubEhVVjVFbEVNCnlQY2dkUG5zZTZsekxFdjhjR0g4NVFPME1peGZQdXZ5MllNdWY2
REtFeXR5VTZMeUpLdTgwNW5FRzc2Skg1bUp1c1lUbjZMK01kOTgKMEYyRzVVdTc1ZWtXVVQ3cVBz
OW1HQ09ldkRTdjNIQyswL2I1WG9zdUh5aVhaY2lQNXV6eW1maGg4Y243NGJ6aVNXRmo2emNtbXJj
OAprNEFMM2tSZDhrMVprMUw1Y1ljcittUEVzdHRadmt6ZHhYcUs3U1NlWGhaUGdsaW1ubVBySXA3
aUZrK1ZpbnJtWmlaZC9BaG1QbXRWCjZwK2JNSlZ4K2RKMmVhSlhQTWtyNzBTNzJMNmlEdkVrazFq
blVhOThacStMZXZiZE12WHJwNG5Yc2ZyazVtM2xoeWRqZTg5SjYyU3kKK0p6R0QzbSs1Q1V2NmVJ
Skxqa1I2UEtPYWpKK0xHWVVtbGZYZWZNYmJsUHhHZWk3MkpiejJmSytkKzdybU52WXNrVDhmSUJT
bnJhUwoyNGQzK1g2djdxWTN2V241L1BYN2xHSGRZbHVKSCtwY3hpcytaOE50clhZZkZ3czduSGZy
ejFwK3ZHYVhEeWk2K0RIVlAvL3pQKytlCjlyU25sYWZ2OWNqejF1R2l6OXFpYmJ5UEgvdlJtTzkw
TjdhK1ptMC9ZNS9GWldMSDB3c1g3ZittMTJWOFBvZmZYL25LN01MdGFaN3IKZEYzNy9ySDFOTXNq
cHBzM2o3RjFrNXNhZGJGZml1K09lTXBqN1A5ajN4VGJlbTc3MzFkbnhldTh6OTFhdHBGNDh0YjBa
MnlzM292MgptOFBQME5qMzZ5ekxaYmF0MkpmSGZuSzZ5d2ZyWFQ2QlVwNzhGdC94dVJsM2x4UDlM
cC9nbVM0NjZjOEg2dVU3WVBvcFdGRWdmZ0E2Cm5oWVZULytNOVJ6NzZHRzNsdkZoSDhkeCtjVHZp
aCthanZqeEJORFlOdUs3S2NibkszSEQyWmIzWSt1cDVyTVI2eUJmZ1N2SGlEbXgKTEc3eE5OTVlQ
cS9iU0w2eGpjVFRQY013bmhJWHg0ang0NS94cEsvWS8rWVdFRE1YODhUOFJMTFlabVoxMDhkeE5j
N0RPR1ByTEQ1YgpXNktMc3lCYnBNdFpZWmx2emhLNzNMWnhpOVJoUzh4MCtqR3FzZUxqb0h1WWZD
Mnk2V01zS3RkaStmcDUxY2FhdFR5MTArWXJCQ3VLClR2ZXZHTG5HbnRwNmpobkh3WG4rYll1eS9l
WXJXRE5ybE05WVRJYkhsODJ3aTBTMVQxaUd3K045YmYyRzA5WFVaMWkrZngvMXlKZkQKTjBuMllu
eE56R1hyT211YnltZmJ5aGRmWDZleDF6RzNzV1VaaTltUG0xVzNmbHovV2p1UHNXMm5qelY4clpu
M3NQeXk3dms1OGl2MgpNMnVKTlp4MmJCdnZ5ODM3TE5kYVJweGxQWmVKM2RlejlldXk2eWptUDdh
ZVp0VnZiQjQxNjJaV3pGbkR3blBlL21wVytlR3daZXN4ClZuNnNIdE9mb1RHYllmMlczYmJ5VTV1
NjNIeHBHR0x5UHZiemtkRGtzOW1UWVd0NUUzRmltZWQxYXgwL0wyN044TEgxdEdqNmZCVnEKOGxq
NWZHVitVZkhKK011emI3NGZxUHZ2Ly83dnliSnVqamRyV1dldDY3Tk5CTXhabW80QWdTVUY0akpw
WEhiUFZ3T1huSEx6Rk44Ywo5ZGtjTVlkTEgwOEdpNlozMFp3a21odE1ON2NibHZXZUFBRUNXNE5B
M09zWkQxYUllMWlqV2FpT3dGb0Y0cjZRdUJmbzdwZjlTUE5hCjQyMkU2WmU2QjJRakxKQTZFbGdQ
Z1h4R0tzVk5vc01ieWRkanZ2UG1zVG5xc3psaUR1dWZtem1WKzMzeTVmNFVOL3hMUG9ZNjNoTWcK
c0xVSzNPQUdOeWczRXIveGpXL2NXcXVvWGh0SUlCNHhIZmYxWEpHU2oxZzlyb0Jzb0kxVVZiY2Vn
WGh5VFA5QWdmeXIwaWwreTJSTApkcHVqUHBzajV0QW9IZ0lSRDFHSUIxREVrMUYwQkFnUUlFQ0F3
QlZEUUFKeXhWalBscElBQVFJRUNCQWdRSURBVmlHZ0NkWldzUnBVCmdnQUJBZ1FJRUNCQWdNQVZR
MkRESlNENXFSWXBQenJ3aXJGMkxDVUJBZ1FJRUNCQWdBQ0J5NW5BaGtwQThuT1FVMzRzYVBsaHE4
dloKZXJBNEJBZ1FJRUNBQUFFQ0JLNFFBaHNxQVlsZm1CNytTbm5yTlJSWFYrTFhSbHQwTFdPMXFJ
OFlCQWdRSUVDQUFBRUNCTFlHZ2EwNgpBWm4xRXlVNzdMRERabmxjWi80aHdQVElSejR5NVY4Slgv
TjZhUmxyelpVUmdBQUJBZ1FJRUNCQWdNQldKRkNWZ09SZnFVeEhIbmxrCmV0R0xYcFR5VDhxbmw3
NzBwWk5GeUw5aW5wNzg1Q2VuWnp6akdTbi9oSHg2NmxPZm1xSjhkUGtYdnRNem4vbk1sSDh0T3Iz
blBlOUoKdDcvOTdVc1RxazkrOHBQcDg1Ly9mRHJra0VQUzdydnZubzQ5OXRoU1B2KzBmSG1jNlZG
SEhaV2UvZXhubDNFM3Z2R05Vd3lmMTUxNwo3cmtsZmp3LytZNTN2R1A2MUtjK1ZZcWVldXFwNllB
RERraTN1dFd0MGtrbm5aU2kvN2EzdlcyS1I0dk82bDd4aWxla2Q3LzczZWxkCjczcFhldFNqSHBY
eXo5YW4xY2FlRld2V1BBMGpRSUFBQVFJRUNCQWdjSVVUcVBscDlmdmM1ejVkVGhwSzBWTk9PU1Yr
T2IzTEIvU2wKUC84U2RQZTYxNzJ1dkwvb29vdTZmZmZkdDhzL3FGTDZjd0xTNWFTanU4bE5idEs5
N1cxdjYrSW40Qi8wb0FkMU43M3BUYnVjZEhUZgorYzUzdXFPUFByckxQMERXNWQ4RTZNNDg4OHh1
MTExM0xlWHpsWWp1WXgvN1dKZVRodTVHTjdwUmlSZi9YdldxVjNXNzdiWmI2Yi80CjRvdTdBdzg4
c0x2d3dndTdTeTY1cEh2Q0U1N1E3YkxMTHQzM3YvLzlNajRuTHFXdUgvakFCN3Izdi8vOTNjdGU5
ckl5Zk42L1BmZmMKczlRcnhxODE5akRXdlBrWlRvQUFBUUlFQ0JBZ1FPQ0tKckR3Q3NoSFB2S1I5
Tm5QZmpiRi9SZlJ4VldHRTA0NEllMnh4eDdwZ3gvOApZRHI1NUpQVFF4LzYwREx1U2xlNlVqcnNz
TVBTZTkvNzNoUlhPZUlYam05M3U5dVZxeEFISDN4d3VzcFZybEt1a256akc5OUlmL0luCmY1S3Vl
OTNycHNNUFB6eGw5QlREOGtGN3lzbEdPdWlnZzlKKysrMlhjbktUM3ZTbU42VnZmZXRiNll0Zi9J
VU85YXNBQUNBQVNVUkIKVkdLWngvRGZXOTd5bGpKdE5KdUt1c1RWbFBQUFB6L0ZyMHBHdC8vKys1
Y3JOa2NjY1VSNi9ldGZYNjdPREtlZjliNy9OZVlXc2Z0WQpzK1pqR0FFQ0JBZ1FJRUNBQUlFcm9z
RENCQ1FPNXU5eWw3dXN1TzhpWDJrb3ljT25QLzNwbEs4NHBFZzgraTVmQVNsdkkybUpidm9nCi9P
cFh2M29aM3YrN3hqV3VVZDVHNGhCZGxOOXV1KzNLKy9pMzk5NTdwMnRmKzlvem0yRkZraE5KVE53
WEVuOTN2ZXRkMDRjKzlLR1MKSlBVQm9ybllsNy84NVRKc0dMY2ZQLzNhMTdkRjdEN1c5RHowRXlC
QWdBQUJBZ1FJRUxpaUNteS9hTUhqUG9qVFR6OTlackhjcENybApabFFwN2dQWmFhZWRTcGxiMy9y
V2FmdnR0eS8zVU15YWFOdHR0MTJSbE5RY3BNYzBFWE82aTNuSDhIdmU4NTdUb3liOWtSeEZrdlRp
CkY3ODRQZVl4ajBuWHV0YTFKdVBHM216TzJHUHpOWTRBQVFJRUNCQWdRSURBNVZsZzRSV1FhR3Ix
bGE5OEpaMXh4aGtUaDJneUZWYzQKNHVwRXZ2Y2lmZVl6bjVtTU8rKzg4MUsrZnlMZDRoYTNtQXhi
eTV1NGV2SGQ3MzQzM2VFT2Q5Z2tUTDYzcEZ6eCtPbFBmem9aRjNXTAptODc3TG01b3ovZC9sS1Fu
M2kvcStvU29SZXcrMXFKNUdrK0FBQUVDQkFnUUlFRGdpaUt3TUFHSnAxNWQrY3BYVG9jZWVtaTVE
eVB1CnhZZ25XOFc5R3ZtRzhuVERHOTZ3SkFFOVdMNUp2U1FtK2NiMU1pZ2VTUnRKU3QvRjcyTkVm
d3lQTHBLVjZDNjk5Tkx5R3Y4aTRlaTcKK0YyT3U5M3RicE43VVBLTjdwTnBILzd3aDVjblZVV1Rz
SHpqZVlyazUzblBlMTY2MmMxdVZpYVArMExpZlNSRDhRU3Y0NDgvdmlSTwpmZXpwMTdnNmN0Wlpa
NVhCK1ViNk5jVWV4b3E2eFhMSDA3NzYrTlB6MWsrQUFBRUNCQWdRSUVEZ0NpRlFjOWY5TzkvNXp2
SjBxUXpTCjVTc2lYYjd4ZkRMWmFhZWQxdDN5bHJmc1h2S1NsNVFuVGVVYjBydWNwSlR4OGVTczYx
Ly8rdDMxcm5lOUxpY1M1U2xYOFlTc2lCTlAKdjdyZ2dndTZZNDQ1cHZRLytNRVA3dkxCZVpkLzZi
ekxONjUzK1dwRjk5em5QcmZMajlMdHpqbm5uQkl2L3hKNmwyK0NMK1dQTys2NApMaC9VZHptcDZI
YmNjY2Z5SksxNEFsYlVOYnA4ODN4NVd0Ym5QdmU1MHYrRkwzeWh5L2VBbENkc1JaeFpYYjVadmNU
Sk45SjN1ZW5aCm1tSlB4NHI1NXlzaVhYNE04S3haRzBhQUFBRUNCQWdRSUVEZ0NpR3dUU3hsVGFZ
VnhlSUtRMDRtTmlrZTQrSTNQK0plalhqeTFWcTYKZmZiWnB6ejlLcTVreEQwbWNmL0dvaTZ1aXNT
VHNxSzUyS3g3UlJaTlB4d2Y5MzdzdlBQT2swRnJpVDBkSzI2MHIxbWV5Y3k5SVVDQQpBQUVDQkFn
UUlIQTVFOWowenU0NUN4ajNNOHhLUHFKNGpPdWJQYzJaZk9uQlY3dmExVkw4MVhUeEJLeTFKajc5
ZkliSlJ3eGJTK3pwCldKS1BYdGtyQVFJRUNCQWdRSURBRlZWZzRUMGc2d2tUOTRHY2ZmYlpLMjU0
WDgvNW14Y0JBZ1FJRUNCQWdBQUJBcHRYb0xvSjF1YXQKeHYrUG51K1BtTnlrdmRkZWU2V0hQZXho
NnpGYjh5QkFnQUFCQWdRSUVDQkFZSjBFdHFvRVpKMlcyV3dJRUNCQWdBQUJBZ1FJRU5oQwpBbHRW
RTZ3dFpHQzJCQWdRSUVDQUFBRUNCQWlzazRBRVpKMmd6WVlBQVFJRUNCQWdRSUFBZ1pRa0lMWUNB
Z1FJRUNCQWdBQUJBZ1RXClRVQUNzbTdVWmtTQUFBRUNCQWdRSUVDQWdBVEVOa0NBQUFFQ0JBZ1FJ
RUNBd0xvSlNFRFdqZHFNQ0JBZ1FJQUFBUUlFQ0JDUWdOZ0cKQ0JBZ1FJQUFBUUlFQ0JCWU53RUp5
THBSbXhFQkFnUUlFQ0JBZ0FBQkFoSVEyd0FCQWdRSUVDQkFnQUFCQXVzbUlBRlpOMm96SWtDQQpB
QUVDQkFnUUlFQkFBbUliSUVDQUFBRUNCQWdRSUVCZzNRUWtJT3RHYlVZRUNCQWdRSUFBQVFJRUNF
aEFiQU1FQ0JBZ1FJQUFBUUlFCkNLeWJnQVJrM2FqTmlBQUJBZ1FJRUNCQWdBQUJDWWh0Z0FBQkFn
UUlFQ0JBZ0FDQmRST1FnS3didFJrUklFQ0FBQUVDQkFnUUlDQUIKc1EwUUlFQ0FBQUVDQkFnUUlM
QnVBaEtRZGFNMkl3SUVDQkFnUUlBQUFRSUUxcHlBbkhmZWVla2pIL2xJK3Q3M3ZyZFE4Ly8rNy8v
Uwp0NzcxcmJubHZ2dmQ3NmF2Zk9VcmM4Y2JzYnpBSlpkY2t2N25mLzVuK1FsTnNWa0VGbjBHTnN0
TXQyRFExVzUvUC83eGoxUHNENkliCjIyZHN3VVdiekhvajFYVlM2WFY0czlwMVA2OXFpNzRmbHYx
cy9leG5QMHYvOFIvL01abmRvdmlUZ3F0OEUvWDczLy85MzFWT3ZkeGsKUC9uSlQ5TFh2LzcxNVNa
U21nQUJBdXNvc0RBQitjQUhQcER1ZWM5N3BtMjIyU2JkOUtZM1RjY2ZmL3lrZXE5KzlhdlRtOTcw
cHZTeApqMzBzM2VwV3QwcXhRNS9YdmVFTmIwalh1OTcxMHV0Zi8vcDVSZEtmL2RtZnBRYzg0QUZ6
eHh1eG5NQm5Qdk9aZEx2YjNTNDkvdkdQClgyNUNwVGVMUU0xbllMUE1lQXNGWGN2Mjk3S1h2U3c5
NFFsUEtNbnpubnZ1bVg3Kzg1OXZvYVZZUE51TlZOZkZTOU9teEZyVy9id2EKakgwL0xQdlorcy8v
L005MHB6dmRLZjNPNy96T1pIWmo4U2VGVnZubWIvN21iOUoxcjN2ZDlOYTN2bldWRWVvbmUvT2Iz
NXl1Zi8zcgpwOWd1ZFFRSUVOaGFCUlltSUFjZWVHRDYwei85MDFML1J6emlFZW1KVDN4aWVmK2pI
LzBvL2VFZi9tRjY4cE9mbko3NzNPZW10Ny85CjdXbkhIWGRjc1p5UmtIejBveDh0dzM3M2QzODM3
YkhISGl2R1QvYzg3M25QUys5NjE3dW1CeS9zSDg1blllRTVCVnJFbUJONml3M2UKWjU5OTBtLzh4
bStrSzEzcFNsdXNEbGYwR1ErM3E1clB3T1hKYXkzYjN6V3ZlYzEwOWF0ZlBWM2pHdGRJVjduS1ZT
YmI4S1dYWHBxZQo5S1FucGNjOTduRXIvbUsvZFBUUlI2ZjN2dmU5S3dpZi8vem5sM0svLy91L240
NDY2cWh5QUJneG9qdjMzSFBUL2U5Ly8vVDNmLy8zCnFldTZ5WFR2ZTkvNzBySEhIanZwUC9IRUU4
cytyaDhRKzdTWWY1emhqMjVlWGZ2eUcvbDF1UDB1c3h4cldmZno1alA5L1RDczI3S2YKclYvOTFW
OU5qMzcwbzFmTWFqcitpcEZyN0lsayt0clh2dllhbzlSTi9wQ0hQS1NjRUt3cnJSUUJBZ1Myak1E
Mk5iUHRkNXo5YTB6egorYzkvUGwxMDBVVnAyMjMvZnc1emw3dmNaVVdvT0dQNXlFYytNdjNLci94
SytzM2YvTTB5TGc2RTQwckt2QzdPRU1YZmRCY0hCL09tCm16V2Y2ZWxuOVE5akxoTmpPTjJzdUZ2
THNEaklpbld6L2ZiYlQ5YlJzRzRiWlRtR2RaNStmL0hGRjVmbG14NittdjdONFRGcnUxcjAKR1Zo
TjNiZkdhZGE2L2UyMTExNmxDZGJ1dSsrZWJuN3ptMDhXTVpyTUhIZmNjWlArV1c5ZStNSVhwbWM5
NjFucE85LzVUa2tjK2tTaApMM3Y0NFllbmw3Lzg1U25PMHA5eXlpbnAzZTkrZHpyenpEUFRNY2Nj
VTRxODduV3ZTOS84NWpmVEVVY2NVZnJqQ3U5cHA1MVdFcHdZCjhMblBmUzVGVWhKbnRhT2JWOWN5
c3ZMZmFyZS9zZW1XL1h4TWw1KzEvZFlzenFKMVh4TmpWcG5oOThPc3VpMzcyZHBoaHgxV2ZLOE0K
NDgrYS8xcUhMVnUvMnZsTnI3ZVlMazRHenZ2T3JJMnJIQUVDQkRhbndNSXJJTE5tL25kLzkzZnBP
Yzk1VG9vZFg1eU4vS00vK3FOTgppcjNpRmE4b1greHhSZU5SajNwVWlpc20wY1dYVTF6cXZ2R05i
MXlTay9qaWorN2IzLzUyZXZHTFg1eCs3ZGQrcmZUSHY3aVVIRTIrCll2aDBndE1YbWpXZk9MTVpW
MmZ1ZnZlN3B6dmU4WTdwVTUvNlZGOThac3haTVNZVFhQWm1WbDFpMkExdWNJUDBsMy81bDZWVU5F
ZUwKZzZVNDI5cDMwUmIzeUNPUFRDOTYwWXRTbkpsNjZVdGYybzlLWStQR2xtRnNYTFJILzRNLytJ
TnlNQlgxaUFPc1lUZHJPWWJqWjcyUAo1ZzNSeE82Kzk3M3Y1SDZTU0VCalhmVlh1S0o5YzF3TmU4
WXpubEdhMFQzMXFVOHR5eGZ4YXB5bTV6dG04Mi8vOW0vRk01b1kzUFd1CmQwMm5uMzU2bVR6cTh0
Q0hQclJzajNGVys1ZCs2WmZTM252dlhRNHVwK1AzL2ZNOHhvekh4dlZ4NDNYZWRqWHZNeEFIdVhH
bU5LNDQKdnVBRkwwaTc3TEpMK3ZTblAxM08xTS9ibm12cjhvNTN2S1BFZStBREg1Z3V1T0NDY2dB
ZDhlOTFyM3VscjM3MXE2WGE0WG0zdTkwdAovZlNuUHkzOVkrdDBYbDFiYlg5eFVCOVhUT01nS2o3
SGZiZmZmdnVWcXhWeDREMzhpeVFqOWlHeFBIMHpsNTEzM3Juc282SmNtSjkvCi92bmxNOWlQdjkv
OTdsZTJqWHZmKzk3cGpXOThZeitMTXQ5enpqbG4wbi9oaFJlbWlOVjNaNTExVmluVG4zeVpWOWUr
L05qcnN0dmYKaHovODRmU3doejJzWE0xNTlyT2ZuU0pCaTMxcERPKzdlWitQZWV0c1h2bFoyKy9Z
OXJabzNmZjFpOWRsdDhmcDc0ZFpkWXU0OHo1YgpNVzZzbTQ1ZnN5OFpzNWczcnpDSzc4dG9qaHpm
VFYvODRoZEwwWG5yWm13ZTg5YmI5THcvKzluUHByZ2lGZnZtU0o1MUJBZ1EyQ29FCjhwZnp3aTd2
dEtKOVFwZDMrcE95YjNuTFc3cjhCVHpwbi9VbXQ5M3VjbE9HeWFqYjNPWTIzVzF2ZTlzdWYxbDIr
Y2JTTGg4Y2RvOTkKN0dQTCtId3plNWNQbUx2OFJWLzY4eG11THJmUm5Vejc5S2MvdmNzSEdaUCs0
WnZoZkhKUzFPVm1ZMTArYUNqbDh3RmRsdyswdXU5LwovL3ZkV014aGpHSHNlRDgyWFU1QXVueXdP
Sm5rZ0FNTzZCNzBvQWROK3U5em4vdDBuL3prSjB0L1RnYUs0Nm1ubmxyNjU0MGJXNGF4CmNSRTBK
d2xkVG9SSy9QREtiWUc3ZkZCVytzZVdveFFZK2ZmcnYvN3JYYjRYYUZJaTZuSHd3UWRQK21OOFBu
TmMrdk9Wc1c3ZmZmZnQKOGdIZVpQd2lwMG5CeTk3TXM4bk5McnFJbFI5OFVFcm1SSGhTajN6UTJQ
M3lMLzl5MmE3ZTg1NzNkUGttekM0bmhGMXVMak1kdnZUUAo4eGd6SGhzM2F5YlQyOVhZWnlDMmsz
eVZzY3YzN1hSdmU5dmJ1dGgyOHdISzNPMTUyYnJjNFE1MzZBNDc3TEJKTlhQenZPN1FRdytkCjlP
ZW1SOTAvL01NL1RQckgxdW1zdW43NXkxOXV0djNGTnBRVGhsS1hmT1B1cEU2TDNyemtKUy9wYm5q
REc4NHRGdHRvUGhPOVludysKeWRIbFpsNlRZWC8xVjMrMW9qKzI1WWMvL09HVDhmbStnY2xuS2dh
dXRxNnIyZjd5Q1p0dTExMTM3VzV5azV0MG4vakVKN3A4ZGFicwpVMjkwb3h1VitvMTlQbWF0czV5
OHovMDhSY0RoOXJ0b2V4dmI5NVRLVGYxYlpudWMvbjZZcmx2MGozMjJwbVpkZWwvMXFsZDF1KzIy
Clczay9IWC9Sdm1TUnhhejV4WGFaVCtSMCtZcGIyWCtGYlU1ZXkvZkxySFV6OXRrZlc4OHg3M3Zj
NHg1ZFBnbFVxbkhDQ1NkMHIzM3QKYTJkVnlUQUNCQWhzTVlGVlhRRlpKbk9hdmd3Y1p4MzMzMy8v
bEhmR3BXbFcvNFNtT0J0NzYxdmZldElXTzg3U3h0bWE5Ny8vL1dWMgowZVk2SzgyZGRUK2ZuQmlW
Y3ZuTE9YM3dneDhzWndqanpPZkhQLzd4Y3VaM0xHWWZZM29tWTNXSjl1bkQ2YTU2MWF0Tyt1UHBZ
SEgyCktkb2JSeGRudlBLWFFUbDdPalp1YkJuR3hzV1ZudkNLTTdyUnhSbmEzL3F0M3lydjQ5L1lj
a3dLelhtVEU4QVVaOXo2SzFZbm4zeHkKaXZ1RG9ndm42SStyRDlGRlU0TjhvRnZhNCtjdjFqSnN6
S2tVR1B3YnM0blljZU5vVG1UTEZORnNvaitMR0djVjQ2cEhiRWV4bmNVWgo5UHhGbkw3MHBTOE5v
di9pN1R5UE1lT3hjYitJdlBMZGNQdUlNZk0rQTNlKzg1M0xGWnRiM09JV0tTZDNaVnVKN1NlMisx
bmI4N0oxCnljbEcrcGQvK1pkeWxqanFFUStYeUlsYXVVb1EvWEVXUFNmUDhYYmhPcDFWMTNpS1VL
dnRMOVp6ZjlVaGJxZ2RkbkhGSnU3NWlQVTMKM2UyMDAwNHpoL2ZsWW53KzhFOXhKcnJ2NGg2T3VP
SVdUYkR5eVlHeTNVVC9EMy80dzVTVDJISVZNZFpaMzhVVnQyR3pzTEc2OXRQTQplbDNOOXBjUFds
Tk9OdEpCQngyVTRtcFFUaExMZzBEaVNXSHhPUmo3Zk14YVo3ZTg1UzNuZnA3Nk92ZmI3OWoydG1q
ZjA4Y2F2aTZ6ClBVNS9QL1J4K3JyMS9mTStXLzM0ZWEvVDhSZnRTOFlzNXMwamh2L2U3LzFlK3Uz
Zi91M3kzUmROQmIvMnRhK1Z6OTJzZFRQMjJSOWIKejhQNXgvZE43Q05qdmpvQ0JBaHNUUUxybm9B
TXZ6RGlucEpvNXRGM01hNGZId2NmY2FBWk8rdG81aFZmdk50dHQxMWZkSlBYZnJvNAo0STBkYnJU
dmpiOW9vdk9oRDMyb0hQd3ZpdG5IbUE2K2FMcnA4bjEvSkQzUmRHd1lONXJZUlAzR3hvMHR3OWk0
azA0NnFSekFYdXRhCjErcXJrT0tBcTUvL2FwY2pnc1Y2aUFPZmVQSlpkSEd6Ynh3a1J4Zk5oT0lM
UEw0VSt5NmZOUzV2NDB0MDJXN01KcFlsbjdrc0I1blIKckMzYTU4ZUJZdC9GK0g1NVkxamN5Tncz
S2VyTDlLL3pQTWFNeDhiMWNhZGZoL1dKY2NQKzZjOUFKR3BoMlhkajh4c2IxMDgvZkkybQpPNUdN
UnpJVFhSeElSOVBJU0N6REtKcXZYTzFxVnl2amF0YnBkRjAzNS9aWEtuWFp2Mmd1RXdkV2ZiUE80
Yml4ZlVTVTY4Y1BUMmIwCjZ5T2YxUzRHL2NNeW92bG5KTm14TFVmVHRlamlZUnRubkhGRzJTZVZB
V3Y0dDVydEwyWVg5ZTJYSS9xam1XRnNSNUZBeHJpeHo4ZjAKT2x0VXZwOWZ2STV0YjR2V2ZVdy8z
UzJ6UGNhMFVkZjRHM1pqL2RPZnJlRjBzOTVQeDUvdUgrNUx4aXp5bGNDeW40eDlaZnhGMmI2TApa
TGZ2SXVtSXJuLzAvUFM2R1p0SDFHMXNQVWZjT0JrUVRUbjdFMUl4VEVlQUFJR3RSYURxSnZRdFZk
bTQ5eURPZnI3eWxhOHNONEhHCjJkdDRLczVZRnplZXhvM1hjWFozVnJlYW1CRm5OZE5GKzkzKy9v
VHB1b3lORzF1R3NYSFJOajNHVDNmREwrblZMRWZFaXdPZU9Pc2MKYmEvanFXZHhocmhQZE9Kc2Nz
dzNrc2xJZUtLTHF4Q3hIbVlkSkpZQ0kvL0diR0t5dVBrM3JyaTg1ald2U1hFL1Vod3NyN2FiNVRG
bQpQRFp1dFhVWW0yNXNmbVBqWnNXTXhEZk9FUC9UUC8xVFdYZnhHTks0U2hiM0x2M2dCejlZOFFq
czFhelR6Ym45elZxZTFzUGlLVnJ4CldRbUw2Q0xKaVNmL3hRM3RjVk52M0FzU1Q5S0tweWZGUVgr
TGJ0bnRiOTQ4WXozRzV5MjZaVDhmdGVYSHRyZWFkVDlkOTJXMngrbHAKdDNUL21FVWtndTk4NXpz
blZZeHRhbmh2WXo4aUV0MUlhdUp2VmpjMmp5aS9hTDNGL1Z4eGdpWWV1aEQzeE9rSUVDQ3dOUW1z
K3hXUQoyb1dQbTBEalJ3N2phVFhSeENkdWVvNERwWGxkZjVDZDIwYVhLeDdEczk1eHRqUE8wQzJL
MmNlWW5zZWk2ZUxNOGF3dXZtRGk3RmFjCk1lMjdxRXRjRlJnYk43WU1ZK01pV1lzejNIRUdibGEz
YURsbVRUTWNsdS9YS1ZjZTR1bEE4ZVhXZDNFd0ZqY0J4MU9GK2k3V1haeFIKanVaRWZUZlBxUi9m
djQ3WmZPRUxYeWczMmNmTi9NTXJMdjIweTd6Tzh4Z3pIaHMzYjk3enRxdDU1WWZEeCtZM05tNFlZ
L2crRHA3agpKdXkvL2R1L1RiRStveGxNSEN6RlFkUHdadS9hZFRxTXZibTN2K0c4TnVmN09Fc2Rm
NUZzeEtOWjQ2cFEzSlNjN3pGSTE3bk9kVlk4Cm9uY3Q5VmpOOWpkcmZ2RjVqK1p2K1o2S3RPem5v
Nlo4di8yT2JXK0wxdjJzZXNldzJ1MXgzdlI5M2VhTjMxekR4eXppNUZmOGZsYi8KRjgySFozVm5u
MzEydVhwNys5dmZmdGJvTkRhUG12VVdpVTM4N2xhKy82TmN1WnM1RXdNSkVDQ3doUVNxRXBEK1Y4
NzcxNmhybkEyTQpBOHBoVytycFpZZ3o1SEZtTExwOEUzZ3BPeXdmWjlIanIrOWlYUFRIUVhwOG9j
WVRZcUxMTjNhWDUvWDNaOWY3OHYzcmNENXhoamZPCm9FZFRwNWhuSEFqSFFjVE5ibmF6MFpqREdE
SGRzQnVyUzV6cGp4KzFpa2NTeHhkS0pCdFJQcnA0NnRXVnIzemxjcEFYN2JQajc1blAKZkdacHlq
UTJMdC93T25jWnhzWkZ6RGdMR21kdSt5N3VzWWt6YVpFZ2pDMUhOR09LQTY1NEdzdThMcHFNeEgw
ZTBhd2dtbVQxWGR3MwpFUGYwUkZPM3ZvdW5iOFZCYkw2WnZBd2FjK3FuNlYvSGJNSXd0cnY0QW81
bGlqTjhrV3pHTmhOL3NSNkdpVTVzVTFGdVZqZlBZOHg0CmJOeXNlVXh2VjFHZnNjOUFKRzNEejhU
WS9NYkd6YXBMRElzbVJYRTJQNjVveFVGMjNDTVRWeFhqYVVyRGc3bWFkVHBkMTdWc2YvUHEKdTZX
R1J4SWNqL3VOKzlYQ0psNFBPZVNRY2lJajN3UmVYYTJ4ejlWcXRyOSt4djArSnZvak9Zb1RBbkd2
MmFMUHgvUTZXMVIrdVAyTwo3VnNYcmZ1KzN0T3Z0ZHRqVERmOGZvaitZZDFxdmw5aW1tRVgrNHE0
SDZqdnB1T1A3VXRXODltTCtRejNSWEd2Vy96d2JuOC8yL1M2CkdadkhvdlVXc1dKL0dFMkE0Mmxw
ajNuTVl5WlBNSXg2eEcrb3hHL2Q5Ti9QTVV4SGdBQ0JkUlhJTzZuUkxsOTlLRTk4eVpYcThrRjgK
bHkvN2R2bUd3eTUvNFpVbk91VkhDbmI1b0h0bWpIeW12TXNITmVYSk8va1NjSGxxVnI3cHNjdFhB
THA4b052bHMrTmRQbUF1VHdYSgpCL0Zkdmt4ZFl1YXJIcVZNdnFHNHpPK2YvL21mdS94bzJmSzBr
Rmt6R3M0bkp4OWRQTlVtSDJTVmVlZjI5RjArdzFzbWl5ZSt6SXM1CkhXTTRuN0hwY3Z2NUxqY2xL
RTh6K2VNLy91UHlKSzk4c0RKNVNsUE1PK29RZnZtZ3BzdE5oeWFoeDhiTlc0YVllR3hjYmw3VDVU
TmYKeGZiQkQzNXdseE9GTG44SmRURjhiRGxpbmNSVHpmTGpHaWYxbS9VbW5ycVRmL1JyazFHeFBt
UGR4bE9JY3R2akxpY3E1UWxPZmNGRgpUbjI1L25XZVRXN1NWWjRTbFpQUjhnU25lSEpUdnZHL3kw
MWx5dFBWOGtGSmVmSlhiai9keGRQYmJuclRtNVp0NFYvLzlWLzcwSlBYCk1ZOHg0N0Z4aytDWHZS
bHVWNHMrQTdHTzh0bjJMaC93ZGpuNW5vUWFtOS9ZdUVtQXFUZnhtYzAzY2srRzVzUnpSWDgvWW15
ZHpxdnIKYXJlL2ZwNDFyL2tlb2ZKNXlnZFBteFRQeVhFWDI4YThMdllsOFZuTXpRVW5SZklqZU11
d25MaE9odVVEdzdJZDVZUDY3bWxQZTFwNQo0dFJrNUJKdnhqNVhxOTMrNHVtQThhUzBXRys1T1dR
WFQ5N0xWMU5LcmNZK0gvRWtwT250YTZ4OFBHbHB1UDJPN1Z0ajVtUHJmb3lzClpudWMvbjZZcnR1
aXo5YjAvQ05lZmloSVdlODUwU3o3NWVIM1Q3NGkyQzNhbHl6NzJjdE4vTHA4SXFiTE41OTNmLzdu
ZjE2MnEzaGEKWTNUelBrL3o1akcyM25LenZ2SVppTys2L0xzNTVmczU5cEd4WDRrbnZFV1hUK0NV
NzBkUHh5b2MvaEVnc0FVRXRvbDViczZNSjg2Kwp4NW56WmJzNGl4M3RtdU5KTWRIVXByODVkbDZj
NmZuRTJhdDRNa3ljeWV6YlJpK0tPUjJqbjllaTZXSmVjV1lyYmlLTU0yclRUWU9DCk9LN0V4Sk5W
cHJ1eGNiT1dvWjkrYkZ6VUpjNElobnRjSFlpck1ORXRXbzVvK3g3M2VFUmIrSGxkWFAzWU16OFFJ
SzVLVFhleExQR0UKb2xodjhUU3E2VzZSMDNUNU1adTRTaERlMGMweW40NDFxMytSeDVqeDJManBl
YzNicnFiTGpmV1B6VzlzM0t5WWNmWXpyb0wwM1hSLwpQenhlRjYzVFlkbisvV3EzdjM3Nnk5dnJ2
TS9WYXJlLytFMkhlUHBWWE5tTnMvYkRoeGIwZHN0K1BzYktUMisvWTl2YnZIWGYxMnZXCjYvVDJO
OTAvYTVwKzJIVGQrdUhyOVRwbU1hOE8wZlF1OXMzOTk5SzhjdjN3c1htTXJiZCsrbm12MFZ4MzFy
WXpyN3poQkFnUWFDbXcKMlJPUWxwVVZhL01LeEUzZDhjU2YrUFg2NlM2YWtzUkJhelFMaUVkUURw
dnJUSmZWVDREQUx3VEdQbGUvS0ZYL3JrOUEvdUl2L3FKKwpJaVVKRUNCQWdNQldKRkIxRDhoV1ZG
OVYyWXdDOGFqUldjbEh0SVdQK3dYaXFrYmNVQ241Mkl3clFlakxuY0M4ejlWcUZqU3VtdlQzCm1x
MW1ldE1RSUVDQUFJR3RRY0FWa0sxaExXemxkWWlIRDhRREFlNS8vL3VYeHlKdjVkVlZQUUtYVzRG
NG9sRi80M0QrRmUwVXY2V2gKSTBDQUFBRUNHMDFBQXJMUjFwajZFaUJBZ0FBQkFnUUlFTmpBQXBw
Z2JlQ1ZwK29FQ0JBZ1FJQUFBUUlFTnBxQUJHU2pyVEgxSlVDQQpBQUVDQkFnUUlMQ0JCU1FnRzNq
bHFUb0JBZ1FJRUNCQWdBQ0JqU1lnQWRsb2EweDlDUkFnUUlBQUFRSUVDR3hnQVFuSUJsNTVxazZB
CkFBRUNCQWdRSUVCZ293bElRRGJhR2xOZkFnUUlFQ0JBZ0FBQkFodFlRQUt5Z1ZlZXFoTWdRSUFB
QVFJRUNCRFlhQUlTa0kyMnh0U1gKQUFFQ0JBZ1FJRUNBd0FZV2tJQnM0SlduNmdRSUVDQkFnQUFC
QWdRMm1vQUVaS090TWZVbFFJQUFBUUlFQ0JBZ3NJRUZKQ0FiZU9XcApPZ0VDQkFnUUlFQ0FBSUdO
SmlBQjJXaHJUSDBKRUNCQWdBQUJBZ1FJYkdBQkNjZ0dYbm1xVG9BQUFRSUVDQkFnUUdDakNVaEFO
dG9hClUxOENCQWdRSUVDQUFBRUNHMWhBQXJLQlY1NnFFeUJBZ0FBQkFnUUlFTmhvQWhLUWpiYkcx
SmNBQVFJRUNCQWdRSURBQmhhUWdHemcKbGFmcUJBZ1FJRUNBQUFFQ0JEYWFnQVJrbzYweDlTVkFn
QUFCQWdRSUVDQ3dnUVVrSUJ0NDVhazZBUUlFQ0JBZ1FJQUFnWTBtSUFIWgphR3RNZlFrUUlFQ0FB
QUVDQkFoc1lJSHRGOVg5MGtzdlRVOTV5bFBTUlJkZHRLTG85dHR2bjNiZGRkZTB6ejc3cFB2ZDcz
NlRjYzkvCi92UFRONy81emJUZGR0dWxYWGJaSmQzbU5yZEpCeDk4Y05wMjIyM1R1ZWVlbXg3LytN
ZW5ndzQ2S0IxMjJHRnBtMjIyS2RPOTczM3YKUy8vMVgvK1ZqamppaU5KLzRva25wbTk4NHh2cDZL
T1BMdjBmL2VoSDB4dmU4SVowd2drbmxMaVRtWGxEZ0FBQkFnUUlFQ0JBZ01DRwpFdGlteTkxWWpV
OCsrZVIwdDd2ZGJheElldUVMWDVpZTlheG5wZTk4NXp0cHQ5MTJTNWRjY3NtSzhvY2Zmbmg2K2N0
Zm50NzczdmVtCkp6emhDZW5zczg5T1J4NTVaRHJtbUdOS3VZYzg1Q0VsYWZua0p6OVorZzg5OU5C
MDJtbW5sYVFrQnNTMHozem1NOVBQZnZhemtzaVUKUXY0UklFQ0FBQUVDQkFnUUlMRGhCQlkyd2Rw
dnYvMVM1Q2pUZjVGa2ZQdmIzMDczdXRlOTBsdmYrdGF5NER2dnZITzYrT0tMUzltNApjbkwrK2Vl
blNDNzY4WEdsNU13enowejN2dmU5MHh2ZitNWUoxaDU3N0pIT09lZWNTZitGRjE2WUlsYmZuWFhX
V1NuS3hGVVVIUUVDCkJBZ1FJRUNBQUFFQ0cxZGcxVWYwa1F6RTFZNEREamlnTksyYUpvam1WWkZF
M1BlKzkwM25uWGZlWlBRT08reVFIdkNBQjVUa3BSOFkKeVVVMHorcTdTRGgyMzMzM3ZqZDkvZXRm
VDN2dHRkZWszeHNDQkFnUUlFQ0FBQUVDQkRhbVFGVUM4dFd2ZmpVOThZbFBUQmRjY01FbQpTN25U
VGp2TkhONFhqUEUvLy9uUDA0OS8vT04rVUxybU5hK1pmdktUbjVRbVdLZWVlbXE1dWhIOVAvemhE
MHV5Y2NvcHA2eTRyK1QwCjAwOVBONy81elNmVGUwT0FBQUVDQkFnUUlFQ0F3TVlVcUVwQW9xbFYz
QUQrb3gvOWFKT2xqSnZOeDdwKy9QQldrLzdtODJpdUZVMjEKNGdwSWRNY2ZmM3c2OE1BRDA3Nzc3
cHNlK01BSGxtRnZmL3ZiMHhsbm5KR2U5S1FubFg3L0NCQWdRSUFBQVFJRUNCRFl1QUlMbjRLMQpP
UmN0bm5JVnljZ1BmdkNETXB0SWNoN3hpRWVVRzlwMzNISEhGUGVDSEhYVVVlblJqMzUwMm52dnZU
ZG5WY1FtUUlBQUFRSUVDQkFnClFHQWRCS3F1Z0d6dWVrU1RyUGlMWk9ONXozdGV1dHJWcnBiaTBi
dnhDTi9yWE9jNjZkaGpqOTNjVlJDZkFBRUNCQWdRSUVDQUFJRjEKRU5ncUVwQll6bWlHZGR4eHg2
WDk5OSsvM0lBZXI0Y2Nja2c2NmFTVHl1K05ySU9GV1JBZ1FJQUFBUUlFQ0JBZ3NKa0Z0bWdUck9H
eQp4Vk91UHYzcFQ1Y2ZHb3hIOTBieUVZOEExaEVnUUlBQUFRSUVDQkFnY1BrUldQaERoSmVmUmJV
a0JBZ1FJRUNBQUFFQ0JBaHNhWUd0CnBnbldsb1l3ZndJRUNCQWdRSUFBQVFJRU5yK0FCR1R6RzVz
REFRSUVDQkFnUUlBQUFRS1hDVWhBYkFvRUNCQWdRSUFBQVFJRUNLeWIKZ0FSazNhak5pQUFCQWdR
SUVDQkFnQUFCQ1lodGdBQUJBZ1FJRUNCQWdBQ0JkUk9RZ0t3YnRSa1JJRUNBQUFFQ0JBZ1FJQ0FC
c1EwUQpJRUNBQUFFQ0JBZ1FJTEJ1QWhLUWRhTTJJd0lFQ0JBZ1FJQUFBUUlFRnY0UytxV1hYcHFl
OHBTbnBJc3V1bWlGMXZiYmI1OTIzWFhYCnRNOCsrNlQ3M2U5K2szSFBmLzd6MHplLytjM3lpK2E3
N0xKTHVzMXRicE1PUHZqZ3RPMjIyNlp6akJWT3hBQUFJQUJKUkVGVXp6MDMKUGY3eGowOEhIWFJR
T3V5d3c5STIyMnhUcG52Zis5NlgvdXUvL2lzZGNjUVJwZi9FRTA5TTMvakdOOUxSUng5ZCtqLzYw
WSttTjd6aApEZW1FRTA0bzA3U3FUd1IvOHBPZm5LNTV6V3VtcHovOTZXbm5uWGN1OC92YTE3Nldq
ajMyMkhUY2NjZWxIWGJZSVoxKyt1bnBsYTk4ClpZcGwyMjIzM2RLRkYxNlludkdNWjZUSFBlNXhh
ZDk5OXkzVCtFZUFBQUVDQkFnUUlFQ0FRSVZBdDZEN3hDYyswZVV3bzM4dmZPRUwKUzVUenp6Ky8y
MjY3N1RZcGUvamhoNWZ4NzNuUGU3cnJYLy82WmZ5UlJ4NDVtZk9ESC96ZzdzNTN2dk9rLzlHUGZu
U1hFNWRKLzh0ZQo5ckl1Snp6ZEpaZGMwcldzei9lKzk3M3VUbmU2VTZuUHpXOSs4eTRuVzJXZWIz
M3JXOHV3bkVpVi9wd2dsZjR2ZmVsTHBmK3NzODRxCi9XOS8rOXNuZGZTR0FBRUNCQWdRSUVDQUFJ
SEZBZ3ViWU8yMzMzNHBoOW5rTHljRDZkdmYvbmE2MTczdWxmSUJlMGwxNGdyQ3hSZGYKWE1yR2xa
T2NrS1NIUE9RaGsvRnhwZVRNTTg5TTk3NzN2ZE1iMy9qR1NYcTB4eDU3cEhQT09XZlNIMWNZK3Fz
Uk1UQWY4S2NvRTFkUgpXdGJuMnRlK2R2ck1aejVUcm5UazVDSjk5ck9mTFhXSWVVVVhWMnlpaS9w
RWQ5M3JYcmU4ZnV0YjN5cXZlKzY1WjNuMWp3QUJBZ1FJCkVDQkFnQUNCT29HRkNjaThNSkVNUkhP
a0F3NDRZSEtnUGl3Ynphc2lpYmp2ZmUrYnpqdnZ2TW1vYU5MMGdBYzhvQ1F2L2NBNDRPOFAKOW1O
WUpCeTc3NzU3UHpwOS9ldGZUM3Z0dGRla2Y5YWIxZFluWWtXU0ZGMGtWTkZOSnlCUm54MTMzREZk
NXpyWEtlT2pQdEV0cWxNcAo1QjhCQWdRSUVDQkFnQUFCQWhPQnFnVGtxMS85YW5yaUU1K1lMcmpn
Z3NtRS9adWRkdHBwNXZEaCtKLy8vT2ZweHovK2NUK28zSFB4Cms1LzhKQjF6ekRIcDFGTlBMUWY4
MGYvREgvNndKQnVubkhMS2l2dEs0aDZNM0VScU12M21xRThFUC9ua2s5T3JYLzNxY20vTFZhNXkK
bFhKVkpxNyt2T01kN3lpSlZIL1BTdFFuN24rNTFyV3VOYW1UTndRSUVDQkFnQUFCQWdRSUxCYW9T
a0RpeWtEY0FQNmpILzFvazRqNQpubzlOaGcwSDlPUGpRTDd2K2dQNWFLNFZUYlg2S3c3SEgzOThP
dkRBQTh1TjNROTg0QU5MOFh5ZlJUcmpqRFBTazU3MHBIN3ljcVdpClpYMzZ3RkhIYUZvVzNZMXZm
T04wMGtrbnBZYys5S0hwdi8vN3Z5YzN5UC9nQno4b1RiYnlmUzM5WkY0SkVDQkFnQUFCQWdRSUVL
Z1UKcUVwQUttTXRYU3llY2hWUDBZcUQvZWdpcVhqUWd4NlVQdnpoRDVjbVQzSHZ4VkZISFpYeVRl
bHA3NzMzWGpyK3NoUGM0UTUzS0ZkNgpZcnBJaXQ3NXpuZW1LMS81eXVYS3lCM3ZlTWNTN2puUGVV
NnAyOU9lOXJSbHd5dFBnQUFCQWdRSUVDQkE0QW92c1BBeHZPc2hGSS9CCmpiOUlOZzQ5OU5BeXkz
ajBicnkvNFExdldCNkp1eDcxR000akVwQzRldlBhMTc2MkRJNmI1Qi83Mk1lbVQzM3FVK25OYjM1
enV1cFYKcnpvczdqMEJBZ1FJRUNCQWdBQUJBaFVDVy9RS3lMQitjY0Fmdjd1eC8vNzdseHZRNC9X
UVF3NHB6YURpZm92MTdxSSs4WVNzYUFvVwo5NTlFSXZUZDczNDNuWGJhYWFXTzYxMGY4eU5BZ0FB
QkFnUUlFQ0J3ZVJEWWFoS1FlS0xVMldlZlhlNHppYWRTZmZ6akgwOHZmZWxMClUvemc0WmJvSWdH
SmUxVGkvcE5vbXZXYTE3eW0xS2x2THJZbDZtU2VCQWdRSUVDQUFBRUNCRGE2d0RiNXh1dGYzQjIr
MFpkRy9Ra1EKSUVDQUFBRUNCQWdRMktvRnRwb3JJRnUxa3NvUklFQ0FBQUVDQkFnUUlOQkVRQUxT
aEZFUUFnUUlFQ0JBZ0FBQkFnUnFCQ1FnTlVySwpFQ0JBZ0FBQkFnUUlFQ0RRUkVBQzBvUlJFQUlF
Q0JBZ1FJQUFBUUlFYWdRa0lEVkt5aEFnUUlBQUFRSUVDQkFnMEVSQUF0S0VVUkFDCkJBZ1FJRUNB
QUFFQ0JHb0VKQ0ExU3NvUUlFQ0FBQUVDQkFnUUlOQkVRQUxTaEZFUUFnUUlFQ0JBZ0FBQkFnUnFC
Q1FnTlVyS0VDQkEKZ0FBQkFnUUlFQ0RRUkVBQzBvUlJFQUlFQ0JBZ1FJQUFBUUlFYWdRa0lEVkt5
aEFnUUlBQUFRSUVDQkFnMEVSQUF0S0VVUkFDQkFnUQpJRUNBQUFFQ0JHb0VKQ0ExU3NvUUlFQ0FB
QUVDQkFnUUlOQkVRQUxTaEZFUUFnUUlFQ0JBZ0FBQkFnUnFCQ1FnTlVyS0VDQkFnQUFCCkFnUUlF
Q0RRUkVBQzBvUlJFQUlFQ0JBZ1FJQUFBUUlFYWdRa0lEVkt5aEFnUUlBQUFRSUVDQkFnMEVSQUF0
S0VVUkFDQkFnUUlFQ0EKQUFFQ0JHb0VKQ0ExU3NvUUlFQ0FBQUVDQkFnUUlOQkVRQUxTaEZFUUFn
UUlFQ0JBZ0FBQkFnUnFCQ1FnTlVyS0VDQkFnQUFCQWdRSQpFQ0RRUkVBQzBvUlJFQUlFQ0JBZ1FJ
QUFBUUlFYWdRa0lEVkt5aEFnUUlBQUFRSUVDQkFnMEVSQUF0S0VVUkFDQkFnUUlFQ0FBQUVDCkJH
b0VKQ0ExU3NvUUlFQ0FBQUVDQkFnUUlOQkVRQUxTaEZFUUFnUUlFQ0JBZ0FBQkFnUnFCQ1FnTlVy
S0VDQkFnQUFCQWdRSUVDRFEKUkVBQzBvUlJFQUlFQ0JBZ1FJQUFBUUlFYWdRa0lEVkt5aEFnUUlB
QUFRSUVDQkFnMEVSQUF0S0VVUkFDQkFnUUlFQ0FBQUVDQkdvRQpKQ0ExU3NvUUlFQ0FBQUVDQkFn
UUlOQkVRQUxTaEZFUUFnUUlFQ0JBZ0FBQkFnUnFCQ1FnTlVyS0VDQkFnQUFCQWdRSUVDRFFSRUFD
CjBvUlJFQUlFQ0JBZ1FJQUFBUUlFYWdRa0lEVkt5aEFnUUlBQUFRSUVDQkFnMEVSQUF0S0VVUkFD
QkFnUUlFQ0FBQUVDQkdvRUpDQTEKU3NvUUlFQ0FBQUVDQkFnUUlOQkVRQUxTaEZFUUFnUUlFQ0JB
Z0FBQkFnUnFCQ1FnTlVyS0VDQkFnQUFCQWdRSUVDRFFSRUFDMG9SUgpFQUlFQ0JBZ1FJQUFBUUlF
YWdRa0lEVkt5aEFnUUlBQUFRSUVDQkFnMEVSQUF0S0VVUkFDQkFnUUlFQ0FBQUVDQkdvRUpDQTFT
c29RCklFQ0FBQUVDQkFnUUlOQkVRQUxTaEZFUUFnUUlFQ0JBZ0FBQkFnUnFCQ1FnTlVyS0VDQkFn
QUFCQWdRSUVDRFFSRUFDMG9SUkVBSUUKQ0JBZ1FJQUFBUUlFYWdRa0lEVkt5aEFnUUlBQUFRSUVD
QkFnMEVSQUF0S0VVUkFDQkFnUUlFQ0FBQUVDQkdvRUpDQTFTc29RSUVDQQpBQUVDQkFnUUlOQkVR
QUxTaEZFUUFnUUlFQ0JBZ0FBQkFnUnFCQ1FnTlVyS0VDQkFnQUFCQWdRSUVDRFFSRUFDMG9SUkVB
SUVDQkFnClFJQUFBUUlFYWdRa0lEVkt5aEFnUUlBQUFRSUVDQkFnMEVSQUF0S0VVUkFDQkFnUUlF
Q0FBQUVDQkdvRUpDQTFTc29RSUVDQUFBRUMKQkFnUUlOQkVRQUxTaEZFUUFnUUlFQ0JBZ0FBQkFn
UnFCQ1FnTlVyS0VDQkFnQUFCQWdRSUVDRFFSRUFDMG9SUkVBSUVDQkFnUUlBQQpBUUlFYWdRa0lE
Vkt5aEFnUUlBQUFRSUVDQkFnMEVSQUF0S0VVUkFDQkFnUUlFQ0FBQUVDQkdvRUpDQTFTc29RSUVD
QUFBRUNCQWdRCklOQkVRQUxTaEZFUUFnUUlFQ0JBZ0FBQkFnUnFCQ1FnTlVyS0VDQkFnQUFCQWdR
SUVDRFFSRUFDMG9SUkVBSUVDQkFnUUlBQUFRSUUKYWdRa0lEVkt5aEFnUUlBQUFRSUVDQkFnMEVS
QUF0S0VVUkFDQkFnUUlFQ0FBQUVDQkdvRUpDQTFTc29RSUVDQUFBRUNCQWdRSU5CRQpRQUxTaEZF
UUFnUUlFQ0JBZ0FBQkFnUnFCQ1FnTlVyS0VDQkFnQUFCQWdRSUVDRFFSRUFDMG9SUkVBSUVDQkFn
UUlBQUFRSUVhZ1FrCklEVkt5aEFnUUlBQUFRSUVDQkFnMEVSQUF0S0VVUkFDQkFnUUlFQ0FBQUVD
QkdvRUpDQTFTc29RSUVDQUFBRUNCQWdRSU5CRVFBTFMKaEZFUUFnUUlFQ0JBZ0FBQkFnUnFCQ1Fn
TlVyS0VDQkFnQUFCQWdRSUVDRFFSRUFDMG9SUkVBSUVDQkFnUUlBQUFRSUVhZ1FrSURWSwp5aEFn
UUlBQUFRSUVDQkFnMEVSQUF0S0VVUkFDQkFnUUlFQ0FBQUVDQkdvRUpDQTFTc29RSUVDQUFBRUNC
QWdRSU5CRVFBTFNoRkVRCkFnUUlFQ0JBZ0FBQkFnUnFCQ1FnTlVyS0VDQkFnQUFCQWdRSUVDRFFS
RUFDMG9SUkVBSUVDQkFnUUlBQUFRSUVhZ1FrSURWS3loQWcKUUlBQUFRSUVDQkFnMEVSQUF0S0VV
UkFDQkFnUUlFQ0FBQUVDQkdvRUpDQTFTc29RSUVDQUFBRUNCQWdRSU5CRVFBTFNoRkVRQWdRSQpF
Q0JBZ0FBQkFnUnFCQ1FnTlVyS0VDQkFnQUFCQWdRSUVDRFFSRUFDMG9SUkVBSUVDQkFnUUlBQUFR
SUVhZ1FrSURWS3loQWdRSUFBCkFRSUVDQkFnMEVSQUF0S0VVUkFDQkFnUUlFQ0FBQUVDQkdvRUpD
QTFTc29RSUVDQUFBRUNCQWdRSU5CRVFBTFNoRkVRQWdRSUVDQkEKZ0FBQkFnUnFCQ1FnTlVyS0VD
QkFnQUFCQWdRSUVDRFFSRUFDMG9SUkVBSUVDQkFnUUlBQUFRSUVhZ1FrSURWS3loQWdRSUFBQVFJ
RQpDQkFnMEVSQUF0S0VVUkFDQkFnUUlFQ0FBQUVDQkdvRUpDQTFTc29RSUVDQUFBRUNCQWdRSU5C
RVFBTFNoRkVRQWdRSUVDQkFnQUFCCkFnUnFCQ1FnTlVyS0VDQkFnQUFCQWdRSUVDRFFSRUFDMG9S
UkVBSUVDQkFnUUlBQUFRSUVhZ1FrSURWS3loQWdRSUFBQVFJRUNCQWcKMEVSQUF0S0VVUkFDQkFn
UUlFQ0FBQUVDQkdvRUpDQTFTc29RSUVDQUFBRUNCQWdRSU5CRVFBTFNoRkVRQWdRSUVDQkFnQUFC
QWdScQpCQ1FnTlVyS0VDQkFnQUFCQWdRSUVDRFFSRUFDMG9SUkVBSUVDQkFnUUlBQUFRSUVhZ1Fr
SURWS3loQWdRSUFBQVFJRUNCQWcwRVJBCkF0S0VVUkFDQkFnUUlFQ0FBQUVDQkdvRUpDQTFTc29R
SUVDQUFBRUNCQWdRSU5CRVFBTFNoRkVRQWdRSUVDQkFnQUFCQWdScUJDUWcKTlVyS0VDQkFnQUFC
QWdRSUVDRFFSRUFDMG9SUkVBSUVDQkFnUUlBQUFRSUVhZ1FrSURWS3loQWdRSUFBQVFJRUNCQWcw
RVJBQXRLRQpVUkFDQkFnUUlFQ0FBQUVDQkdvRUpDQTFTc29RSUVDQUFBRUNCQWdRSU5CRVFBTFNo
RkVRQWdRSUVDQkFnQUFCQWdScUJDUWdOVXJLCkVDQkFnQUFCQWdRSUVDRFFSRUFDMG9SUkVBSUVD
QkFnUUlBQUFRSUVhZ1FrSURWS3loQWdRSUFBQVFJRUNCQWcwRVJBQXRLRVVSQUMKQkFnUUlFQ0FB
QUVDQkdvRUpDQTFTc29RSUVDQUFBRUNCQWdRSU5CRVFBTFNoRkVRQWdRSUVDQkFnQUFCQWdScUJD
UWdOVXJLRUNCQQpnQUFCQWdRSUVDRFFSRUFDMG9SUkVBSUVDQkFnUUlBQUFRSUVhZ1FrSURWS3lo
QWdRSUFBQVFJRUNCQWcwRVJBQXRLRVVSQUNCQWdRCklFQ0FBQUVDQkdvRUpDQTFTc29RSUVDQUFB
RUNCQWdRSU5CRVFBTFNoRkVRQWdRSUVDQkFnQUFCQWdScUJDUWdOVXJLRUNCQWdBQUIKQWdRSUVD
RFFSRUFDMG9SUkVBSUVDQkFnUUlBQUFRSUVhZ1FrSURWS3loQWdRSUFBQVFJRUNCQWcwRVJBQXRL
RVVSQUNCQWdRSUVDQQpBQUVDQkdvRUpDQTFTc29RSUVDQUFBRUNCQWdRSU5CRVFBTFNoRkVRQWdR
SUVDQkFnQUFCQWdScUJDUWdOVXJLRUNCQWdBQUJBZ1FJCkVDRFFSRUFDMG9SUkVBSUVDQkFnUUlB
QUFRSUVhZ1FrSURWS3loQWdRSUFBQVFJRUNCQWcwRVJBQXRLRVVSQUNCQWdRSUVDQUFBRUMKQkdv
RUpDQTFTc29RSUVDQUFBRUNCQWdRSU5CRVFBTFNoRkVRQWdRSUVDQkFnQUFCQWdScUJDUWdOVXJL
RUNCQWdBQUJBZ1FJRUNEUQpSRUFDMG9SUkVBSUVDQkFnUUlBQUFRSUVhZ1FrSURWS3loQWdRSUFB
QVFJRUNCQWcwRVJBQXRLRVVSQUNCQWdRSUVDQUFBRUNCR29FCkpDQTFTc29RSUVDQUFBRUNCQWdR
SU5CRVFBTFNoRkVRQWdRSUVDQkFnQUFCQWdScUJDUWdOVXJLRUNCQWdBQUJBZ1FJRUNEUVJFQUMK
MG9SUkVBSUVDQkFnUUlBQUFRSUVhZ1FrSURWS3loQWdRSUFBQVFJRUNCQWcwRVJBQXRLRVVSQUNC
QWdRSUVDQUFBRUNCR29FSkNBMQpTc29RSUVDQUFBRUNCQWdRSU5CRVFBTFNoRkVRQWdRSUVDQkFn
QUFCQWdScUJDUWdOVXJLRUNCQWdBQUJBZ1FJRUNEUVJFQUMwb1JSCkVBSUVDQkFnUUlBQUFRSUVh
Z1FrSURWS3loQWdRSUFBQVFJRUNCQWcwRVJBQXRLRVVSQUNCQWdRSUVDQUFBRUNCR29FSkNBMVNz
b1EKSUVDQUFBRUNCQWdRSU5CRVFBTFNoRkVRQWdRSUVDQkFnQUFCQWdScUJDUWdOVXJLRUNCQWdB
QUJBZ1FJRUNEUVJFQUMwb1JSRUFJRQpDQkFnUUlBQUFRSUVhZ1FrSURWS3loQWdRSUFBQVFJRUNC
QWcwRVJBQXRLRVVSQUNCQWdRSUVDQUFBRUNCR29FSkNBMVNzb1FJRUNBCkFBRUNCQWdRSU5CRVFB
TFNoRkVRQWdRSUVDQkFnQUFCQWdScUJDUWdOVXJLRUNCQWdBQUJBZ1FJRUNEUVJFQUMwb1JSRUFJ
RUNCQWcKUUlBQUFRSUVhZ1FrSURWS3loQWdRSUFBQVFJRUNCQWcwRVJBQXRLRVVSQUNCQWdRSUVD
QUFBRUNCR29FSkNBMVNzb1FJRUNBQUFFQwpCQWdRSU5CRVFBTFNoRkVRQWdRSUVDQkFnQUFCQWdS
cUJDUWdOVXJLRUNCQWdBQUJBZ1FJRUNEUVJFQUMwb1JSRUFJRUNCQWdRSUFBCkFRSUVhZ1FrSURW
S3loQWdRSUFBQVFJRUNCQWcwRVJBQXRLRVVSQUNCQWdRSUVDQUFBRUNCR29FSkNBMVNzb1FJRUNB
QUFFQ0JBZ1EKSU5CRVFBTFNoRkVRQWdRSUVDQkFnQUFCQWdScUJDUWdOVXJLRUNCQWdBQUJBZ1FJ
RUNEUVJFQUMwb1JSRUFJRUNCQWdRSUFBQVFJRQphZ1FrSURWS3loQWdRSUFBQVFJRUNCQWcwRVJB
QXRLRVVSQUNCQWdRSUVDQUFBRUNCR29FSkNBMVNzb1FJRUNBQUFFQ0JBZ1FJTkJFClFBTFNoRkVR
QWdRSUVDQkFnQUFCQWdScUJDUWdOVXJLRUNCQWdBQUJBZ1FJRUNEUVJFQUMwb1JSRUFJRUNCQWdR
SUFBQVFJRWFnUWsKSURWS3loQWdRSUFBQVFJRUNCQWcwRVJBQXRLRVVSQUNCQWdRSUVDQUFBRUNC
R29FSkNBMVNzb1FJRUNBQUFFQ0JBZ1FJTkJFUUFMUwpoRkVRQWdRSUVDQkFnQUFCQWdScUJDUWdO
VXJLRUNCQWdBQUJBZ1FJRUNEUVJFQUMwb1JSRUFJRUNCQWdRSUFBQVFJRWFnUWtJRFZLCnloQWdR
SUFBQVFJRUNCQWcwRVJBQXRLRVVSQUNCQWdRSUVDQUFBRUNCR29FSkNBMVNzb1FJRUNBQUFFQ0JB
Z1FJTkJFUUFMU2hGRVEKQWdRSUVDQkFnQUFCQWdScUJDUWdOVXJLRUNCQWdBQUJBZ1FJRUNEUVJF
QUMwb1JSRUFJRUNCQWdRSUFBQVFJRWFnUWtJRFZLeWhBZwpRSUFBQVFJRUNCQWcwRVJBQXRLRVVS
QUNCQWdRSUVDQUFBRUNCR29FSkNBMVNzb1FJRUNBQUFFQ0JBZ1FJTkJFUUFMU2hGRVFBZ1FJCkVD
QkFnQUFCQWdScUJDUWdOVXJLRUNCQWdBQUJBZ1FJRUNEUVJFQUMwb1JSRUFJRUNCQWdRSUFBQVFJ
RWFnUWtJRFZLeWhBZ1FJQUEKQVFJRUNCQWcwRVJBQXRLRVVSQUNCQWdRSUVDQUFBRUNCR29FSkNB
MVNzb1FJRUNBQUFFQ0JBZ1FJTkJFUUFMU2hGRVFBZ1FJRUNCQQpnQUFCQWdScUJDUWdOVXJLRUNC
QWdBQUJBZ1FJRUNEUVJFQUMwb1JSRUFJRUNCQWdRSUFBQVFJRWFnUWtJRFZLeWhBZ1FJQUFBUUlF
CkNCQWcwRVJBQXRLRVVSQUNCQWdRSUVDQUFBRUNCR29FSkNBMVNzb1FJRUNBQUFFQ0JBZ1FJTkJF
UUFMU2hGRVFBZ1FJRUNCQWdBQUIKQWdScUJDUWdOVXJLRUNCQWdBQUJBZ1FJRUNEUVJFQUMwb1JS
RUFJRUNCQWdRSUFBQVFJRWFnUWtJRFZLeWhBZ1FJQUFBUUlFQ0JBZwowRVJBQXRLRVVSQUNCQWdR
SUVDQUFBRUNCR29FSkNBMVNzb1FJRUNBQUFFQ0JBZ1FJTkJFUUFMU2hGRVFBZ1FJRUNCQWdBQUJB
Z1JxCkJDUWdOVXJLRUNCQWdBQUJBZ1FJRUNEUVJFQUMwb1JSRUFJRUNCQWdRSUFBQVFJRWFnUWtJ
RFZLeWhBZ1FJQUFBUUlFQ0JBZzBFUkEKQXRLRVVSQUNCQWdRSUVDQUFBRUNCR29FSkNBMVNzb1FJ
RUNBQUFFQ0JBZ1FJTkJFUUFMU2hGRVFBZ1FJRUNCQWdBQUJBZ1JxQkNRZwpOVXJLRUNCQWdBQUJB
Z1FJRUNEUVJFQUMwb1JSRUFJRUNCQWdRSUFBQVFJRWFnUWtJRFZLeWhBZ1FJQUFBUUlFQ0JBZzBF
UkFBdEtFClVSQUNCQWdRSUVDQUFBRUNCR29FSkNBMVNzb1FJRUNBQUFFQ0JBZ1FJTkJFUUFMU2hG
RVFBZ1FJRUNCQWdBQUJBZ1JxQkNRZ05VcksKRUNCQWdBQUJBZ1FJRUNEUVJFQUMwb1JSRUFJRUNC
QWdRSUFBQVFJRWFnUWtJRFZLeWhBZ1FJQUFBUUlFQ0JBZzBFUkFBdEtFVVJBQwpCQWdRSUVDQUFB
RUNCR29FSkNBMVNzb1FJRUNBQUFFQ0JBZ1FJTkJFUUFMU2hGRVFBZ1FJRUNCQWdBQUJBZ1JxQkNR
Z05VcktFQ0JBCmdBQUJBZ1FJRUNEUVJFQUMwb1JSRUFJRUNCQWdRSUFBQVFJRWFnUWtJRFZLeWhB
Z1FJQUFBUUlFQ0JBZzBFUkFBdEtFVVJBQ0JBZ1EKSUVDQUFBRUNCR29FSkNBMVNzb1FJRUNBQUFF
Q0JBZ1FJTkJFUUFMU2hGRVFBZ1FJRUNCQWdBQUJBZ1JxQkNRZ05VcktFQ0JBZ0FBQgpBZ1FJRUNE
UVJFQUMwb1JSRUFJRUNCQWdRSUFBQVFJRWFnUWtJRFZLeWhBZ1FJQUFBUUlFQ0JBZzBFUkFBdEtF
VVJBQ0JBZ1FJRUNBCkFBRUNCR29FSkNBMVNzb1FJRUNBQUFFQ0JBZ1FJTkJFUUFMU2hGRVFBZ1FJ
RUNCQWdBQUJBZ1JxQkNRZ05VcktFQ0JBZ0FBQkFnUUkKRUNEUVJFQUMwb1JSRUFJRUNCQWdRSUFB
QVFJRWFnUWtJRFZLeWhBZ1FJQUFBUUlFQ0JBZzBFUkFBdEtFVVJBQ0JBZ1FJRUNBQUFFQwpCR29F
SkNBMVNzb1FJRUNBQUFFQ0JBZ1FJTkJFUUFMU2hGRVFBZ1FJRUNCQWdBQUJBZ1JxQkNRZ05VcktF
Q0JBZ0FBQkFnUUlFQ0RRClJFQUMwb1JSRUFJRUNCQWdRSUFBQVFJRWFnUWtJRFZLeWhBZ1FJQUFB
UUlFQ0JBZzBFUkFBdEtFVVJBQ0JBZ1FJRUNBQUFFQ0JHb0UKSkNBMVNzb1FJRUNBQUFFQ0JBZ1FJ
TkJFUUFMU2hGRVFBZ1FJRUNCQWdBQUJBZ1JxQkNRZ05VcktFQ0JBZ0FBQkFnUUlFQ0RRUkVBQwow
b1JSRUFJRUNCQWdRSUFBQVFJRWFnUWtJRFZLeWhBZ1FJQUFBUUlFQ0JBZzBFUkFBdEtFVVJBQ0JB
Z1FJRUNBQUFFQ0JHb0VKQ0ExClNzb1FJRUNBQUFFQ0JBZ1FJTkJFUUFMU2hGRVFBZ1FJRUNCQWdB
QUJBZ1JxQkNRZ05VcktFQ0JBZ0FBQkFnUUlFQ0RRUkVBQzBvUlIKRUFJRUNCQWdRSUFBQVFJRWFn
UWtJRFZLeWhBZ1FJQUFBUUlFQ0JBZzBFUkFBdEtFVVJBQ0JBZ1FJRUNBQUFFQ0JHb0VKQ0ExU3Nv
UQpJRUNBQUFFQ0JBZ1FJTkJFUUFMU2hGRVFBZ1FJRUNCQWdBQUJBZ1JxQkNRZ05VcktFQ0JBZ0FB
QkFnUUlFQ0RRUkVBQzBvUlJFQUlFCkNCQWdRSUFBQVFJRWFnUWtJRFZLeWhBZ1FJQUFBUUlFQ0JB
ZzBFUkFBdEtFVVJBQ0JBZ1FJRUNBQUFFQ0JHb0VKQ0ExU3NvUUlFQ0EKQUFFQ0JBZ1FJTkJFUUFM
U2hGRVFBZ1FJRUNCQWdBQUJBZ1JxQkNRZ05VcktFQ0JBZ0FBQkFnUUlFQ0RRUkVBQzBvUlJFQUlF
Q0JBZwpRSUFBQVFJRWFnUWtJRFZLeWhBZ1FJQUFBUUlFQ0JBZzBFUkFBdEtFVVJBQ0JBZ1FJRUNB
QUFFQ0JHb0VKQ0ExU3NvUUlFQ0FBQUVDCkJBZ1FJTkJFUUFMU2hGRVFBZ1FJRUNCQWdBQUJBZ1Jx
QkNRZ05VcktFQ0JBZ0FBQkFnUUlFQ0RRUkVBQzBvUlJFQUlFQ0JBZ1FJQUEKQVFJRWFnUWtJRFZL
eWhBZ1FJQUFBUUlFQ0JBZzBFUkFBdEtFVVJBQ0JBZ1FJRUNBQUFFQ0JHb0VKQ0ExU3NvUUlFQ0FB
QUVDQkFnUQpJTkJFUUFMU2hGRVFBZ1FJRUNCQWdBQUJBZ1JxQkNRZ05VcktFQ0JBZ0FBQkFnUUlF
Q0RRUkVBQzBvUlJFQUlFQ0JBZ1FJQUFBUUlFCmFnUWtJRFZLeWhBZ1FJQUFBUUlFQ0JBZzBFUkFB
dEtFVVJBQ0JBZ1FJRUNBQUFFQ0JHb0VKQ0ExU3NvUUlFQ0FBQUVDQkFnUUlOQkUKUUFMU2hGRVFB
Z1FJRUNCQWdBQUJBZ1JxQkNRZ05VcktFQ0JBZ0FBQkFnUUlFQ0RRUkVBQzBvUlJFQUlFQ0JBZ1FJ
QUFBUUlFYWdRawpJRFZLeWhBZ1FJQUFBUUlFQ0JBZzBFUkFBdEtFVVJBQ0JBZ1FJRUNBQUFFQ0JH
b0VKQ0ExU3NvUUlFQ0FBQUVDQkFnUUlOQkVRQUxTCmhGRVFBZ1FJRUNCQWdBQUJBZ1JxQkNRZ05V
cktFQ0JBZ0FBQkFnUUlFQ0RRUkVBQzBvUlJFQUlFQ0JBZ1FJQUFBUUlFYWdRa0lEVksKeWhBZ1FJ
QUFBUUlFQ0JBZzBFUkFBdEtFVVJBQ0JBZ1FJRUNBQUFFQ0JHb0VKQ0ExU3NvUUlFQ0FBQUVDQkFn
UUlOQkVRQUxTaEZFUQpBZ1FJRUNCQWdBQUJBZ1JxQkNRZ05VcktFQ0JBZ0FBQkFnUUlFQ0RRUkVB
QzBvUlJFQUlFQ0JBZ1FJQUFBUUlFYWdRa0lEVkt5aEFnClFJQUFBUUlFQ0JBZzBFUkFBdEtFVVJB
Q0JBZ1FJRUNBQUFFQ0JHb0VKQ0ExU3NvUUlFQ0FBQUVDQkFnUUlOQkVRQUxTaEZFUUFnUUkKRUNC
QWdBQUJBZ1JxQkNRZ05VcktFQ0JBZ0FBQkFnUUlFQ0RRUkVBQzBvUlJFQUlFQ0JBZ1FJQUFBUUlF
YWdRa0lEVkt5aEFnUUlBQQpBUUlFQ0JBZzBFUkFBdEtFVVJBQ0JBZ1FJRUNBQUFFQ0JHb0VKQ0Ex
U3NvUUlFQ0FBQUVDQkFnUUlOQkVRQUxTaEZFUUFnUUlFQ0JBCmdBQUJBZ1JxQkNRZ05VcktFQ0JB
Z0FBQkFnUUlFQ0RRUkVBQzBvUlJFQUlFQ0JBZ1FJQUFBUUlFYWdRa0lEVkt5aEFnUUlBQUFRSUUK
Q0JBZzBFUkFBdEtFVVJBQ0JBZ1FJRUNBQUFFQ0JHb0VKQ0ExU3NvUUlFQ0FBQUVDQkFnUUlOQkVR
QUxTaEZFUUFnUUlFQ0JBZ0FBQgpBZ1JxQkNRZ05VcktFQ0JBZ0FBQkFnUUlFQ0RRUkVBQzBvUlJF
QUlFQ0JBZ1FJQUFBUUlFYWdRa0lEVkt5aEFnUUlBQUFRSUVDQkFnCjBFUkFBdEtFVVJBQ0JBZ1FJ
RUNBQUFFQ0JHb0VKQ0ExU3NvUUlFQ0FBQUVDQkFnUUlOQkVRQUxTaEZFUUFnUUlFQ0JBZ0FBQkFn
UnEKQkNRZ05VcktFQ0JBZ0FBQkFnUUlFQ0RRUkVBQzBvUlJFQUlFQ0JBZ1FJQUFBUUlFYWdRa0lE
Vkt5aEFnUUlBQUFRSUVDQkFnMEVSQQpBdEtFVVJBQ0JBZ1FJRUNBQUFFQ0JHb0VKQ0ExU3NvUUlF
Q0FBQUVDQkFnUUlOQkVRQUxTaEZFUUFnUUlFQ0JBZ0FBQkFnUnFCQ1FnCk5VcktFQ0JBZ0FBQkFn
UUlFQ0RRUkVBQzBvUlJFQUlFQ0JBZ1FJQUFBUUlFYWdRa0lEVkt5aEFnUUlBQUFRSUVDQkFnMEVS
QUF0S0UKVVJBQ0JBZ1FJRUNBQUFFQ0JHb0VKQ0ExU3NvUUlFQ0FBQUVDQkFnUUlOQkVRQUxTaEZF
UUFnUUlFQ0JBZ0FBQkFnUnFCQ1FnTlVySwpFQ0JBZ0FBQkFnUUlFQ0RRUkVBQzBvUlJFQUlFQ0JB
Z1FJQUFBUUlFYWdRa0lEVkt5aEFnUUlBQUFRSUVDQkFnMEVSQUF0S0VVUkFDCkJBZ1FJRUNBQUFF
Q0JHb0VKQ0ExU3NvUUlFQ0FBQUVDQkFnUUlOQkVRQUxTaEZFUUFnUUlFQ0JBZ0FBQkFnUnFCQ1Fn
TlVyS0VDQkEKZ0FBQkFnUUlFQ0RRUkVBQzBvUlJFQUlFQ0JBZ1FJQUFBUUlFYWdRa0lEVkt5aEFn
UUlBQUFRSUVDQkFnMEVSQUF0S0VVUkFDQkFnUQpJRUNBQUFFQ0JHb0VKQ0ExU3NvUUlFQ0FBQUVD
QkFnUUlOQkVRQUxTaEZFUUFnUUlFQ0JBZ0FBQkFnUnFCQ1FnTlVyS0VDQkFnQUFCCkFnUUlFQ0RR
UkVBQzBvUlJFQUlFQ0JBZ1FJQUFBUUlFYWdRa0lEVkt5aEFnUUlBQUFRSUVDQkFnMEVSQUF0S0VV
UkFDQkFnUUlFQ0EKQUFFQ0JHb0VKQ0ExU3NvUUlFQ0FBQUVDQkFnUUlOQkVRQUxTaEZFUUFnUUlF
Q0JBZ0FBQkFnUnFCQ1FnTlVyS0VDQkFnQUFCQWdRSQpFQ0RRUkVBQzBvUlJFQUlFQ0JBZ1FJQUFB
UUlFYWdRa0lEVkt5aEFnUUlBQUFRSUVDQkFnMEVSQUF0S0VVUkFDQkFnUUlFQ0FBQUVDCkJHb0VK
Q0ExU3NvUUlFQ0FBQUVDQkFnUUlOQkVRQUxTaEZFUUFnUUlFQ0JBZ0FBQkFnUnFCQ1FnTlVyS0VD
QkFnQUFCQWdRSUVDRFEKUkVBQzBvUlJFQUlFQ0JBZ1FJQUFBUUlFYWdRa0lEVkt5aEFnUUlBQUFR
SUVDQkFnMEVSQUF0S0VVUkFDQkFnUUlFQ0FBQUVDQkdvRQpKQ0ExU3NvUUlFQ0FBQUVDQkFnUUlO
QkVRQUxTaEZFUUFnUUlFQ0JBZ0FBQkFnUnFCQ1FnTlVyS0VDQkFnQUFCQWdRSUVDRFFSRUFDCjBv
UlJFQUlFQ0JBZ1FJQUFBUUlFYWdRa0lEVkt5aEFnUUlBQUFRSUVDQkFnMEVSQUF0SlRFTk82QUFB
R0tFbEVRVlNFVVJBQ0JBZ1EKSUVDQUFBRUNCR29FSkNBMVNzb1FJRUNBQUFFQ0JBZ1FJTkJFUUFM
U2hGRVFBZ1FJRUNCQWdBQUJBZ1JxQkNRZ05VcktFQ0JBZ0FBQgpBZ1FJRUNEUVJFQUMwb1JSRUFJ
RUNCQWdRSUFBQVFJRWFnUWtJRFZLeWhBZ1FJQUFBUUlFQ0JBZzBFUkFBdEtFVVJBQ0JBZ1FJRUNB
CkFBRUNCR29FSkNBMVNzb1FJRUNBQUFFQ0JBZ1FJTkJFUUFMU2hGRVFBZ1FJRUNCQWdBQUJBZ1Jx
QkNRZ05VcktFQ0JBZ0FBQkFnUUkKRUNEUVJFQUMwb1JSRUFJRUNCQWdRSUFBQVFJRWFnUWtJRFZL
eWhBZ1FJQUFBUUlFQ0JBZzBFUkFBdEtFVVJBQ0JBZ1FJRUNBQUFFQwpCR29FSkNBMVNzb1FJRUNB
QUFFQ0JBZ1FJTkJFUUFMU2hGRVFBZ1FJRUNCQWdBQUJBZ1JxQkNRZ05VcktFQ0JBZ0FBQkFnUUlF
Q0RRClJFQUMwb1JSRUFJRUNCQWdRSUFBQVFJRWFnUWtJRFZLeWhBZ1FJQUFBUUlFQ0JBZzBFUkFB
dEtFVVJBQ0JBZ1FJRUNBQUFFQ0JHb0UKSkNBMVNzb1FJRUNBQUFFQ0JBZ1FJTkJFUUFMU2hGRVFB
Z1FJRUNCQWdBQUJBZ1JxQkNRZ05VcktFQ0JBZ0FBQkFnUUlFQ0RRUkVBQwowb1JSRUFJRUNCQWdR
SUFBQVFJRWFnUWtJRFZLeWhBZ1FJQUFBUUlFQ0JBZzBFUkFBdEtFVVJBQ0JBZ1FJRUNBQUFFQ0JH
b0VKQ0ExClNzb1FJRUNBQUFFQ0JBZ1FJTkJFUUFMU2hGRVFBZ1FJRUNCQWdBQUJBZ1JxQkNRZ05V
cktFQ0JBZ0FBQkFnUUlFQ0RRUkVBQzBvUlIKRUFJRUNCQWdRSUFBQVFJRWFnUWtJRFZLeWhBZ1FJ
QUFBUUlFQ0JBZzBFUkFBdEtFVVJBQ0JBZ1FJRUNBQUFFQ0JHb0VKQ0ExU3NvUQpJRUNBQUFFQ0JB
Z1FJTkJFUUFMU2hGRVFBZ1FJRUNCQWdBQUJBZ1JxQkNRZ05VcktFQ0JBZ0FBQkFnUUlFQ0RRUkVB
QzBvUlJFQUlFCkNCQWdRSUFBQVFJRWFnUWtJRFZLeWhBZ1FJQUFBUUlFQ0JBZzBFUkFBdEtFVVJB
Q0JBZ1FJRUNBQUFFQ0JHb0VKQ0ExU3NvUUlFQ0EKQUFFQ0JBZ1FJTkJFUUFMU2hGRVFBZ1FJRUNC
QWdBQUJBZ1JxQkNRZ05VcktFQ0JBZ0FBQkFnUUlFQ0RRUkVBQzBvUlJFQUlFQ0JBZwpRSUFBQVFJ
RWFnUWtJRFZLeWhBZ1FJQUFBUUlFQ0JBZzBFUkFBdEtFVVJBQ0JBZ1FJRUNBQUFFQ0JHb0VKQ0Ex
U3NvUUlFQ0FBQUVDCkJBZ1FJTkJFUUFMU2hGRVFBZ1FJRUNCQWdBQUJBZ1JxQkNRZ05VcktFQ0JB
Z0FBQkFnUUlFQ0RRUkVBQzBvUlJFQUlFQ0JBZ1FJQUEKQVFJRWFnUWtJRFZLeWhBZ1FJQUFBUUlF
Q0JBZzBFUkFBdEtFVVJBQ0JBZ1FJRUNBQUFFQ0JHb0VKQ0ExU3NvUUlFQ0FBQUVDQkFnUQpJTkJF
UUFMU2hGRVFBZ1FJRUNCQWdBQUJBZ1JxQkNRZ05VcktFQ0JBZ0FBQkFnUUlFQ0RRUkVBQzBvUlJF
QUlFQ0JBZ1FJQUFBUUlFCmFnUWtJRFZLeWhBZ1FJQUFBUUlFQ0JBZzBFUkFBdEtFVVJBQ0JBZ1FJ
RUNBQUFFQ0JHb0VKQ0ExU3NvUUlFQ0FBQUVDQkFnUUlOQkUKUUFMU2hGRVFBZ1FJRUNCQWdBQUJB
Z1JxQkNRZ05VcktFQ0JBZ0FBQkFnUUlFQ0RRUkVBQzBvUlJFQUlFQ0JBZ1FJQUFBUUlFYWdRawpJ
RFZLeWhBZ1FJQUFBUUlFQ0JBZzBFUkFBdEtFVVJBQ0JBZ1FJRUNBQUFFQ0JHb0VKQ0ExU3NvUUlF
Q0FBQUVDQkFnUUlOQkVRQUxTCmhGRVFBZ1FJRUNCQWdBQUJBZ1JxQkNRZ05VcktFQ0JBZ0FBQkFn
UUlFQ0RRUkVBQzBvUlJFQUlFQ0JBZ1FJQUFBUUlFYWdRa0lEVksKeWhBZ1FJQUFBUUlFQ0JBZzBF
UkFBdEtFVVJBQ0JBZ1FJRUNBQUFFQ0JHb0VKQ0ExU3NvUUlFQ0FBQUVDQkFnUUlOQkVRQUxTaEZF
UQpBZ1FJRUNCQWdBQUJBZ1JxQkNRZ05VcktFQ0JBZ0FBQkFnUUlFQ0RRUkVBQzBvUlJFQUlFQ0JB
Z1FJQUFBUUlFYWdRa0lEVkt5aEFnClFJQUFBUUlFQ0JBZzBFUkFBdEtFVVJBQ0JBZ1FJRUNBQUFF
Q0JHb0VKQ0ExU3NvUUlFQ0FBQUVDQkFnUUlOQkVRQUxTaEZFUUFnUUkKRUNCQWdBQUJBZ1JxQkNR
Z05VcktFQ0JBZ0FBQkFnUUlFQ0RRUkVBQzBvUlJFQUlFQ0JBZ1FJQUFBUUlFYWdRa0lEVkt5aEFn
UUlBQQpBUUlFQ0JBZzBFUkFBdEtFVVJBQ0JBZ1FJRUNBQUFFQ0JHb0VKQ0ExU3NvUUlFQ0FBQUVD
QkFnUUlOQkVRQUxTaEZFUUFnUUlFQ0JBCmdBQUJBZ1JxQkNRZ05VcktFQ0JBZ0FBQkFnUUlFQ0RR
UkVBQzBvUlJFQUlFQ0JBZ1FJQUFBUUlFYWdRa0lEVkt5aEFnUUlBQUFRSUUKQ0JBZzBFUkFBdEtF
VVJBQ0JBZ1FJRUNBQUFFQ0JHb0UvaDltSVA1Skt5ZGtyQUFBQUFCSlJVNUVya0pnZ2c9PQoKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRp
LWxpbmVicmVhay0wMDItZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZp
bGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9v
Y3RldC1zdHJlYW0KCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3
QUFBQzdtbERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0YKVk05ckUwRVUvalp1cWRBaUNGcHJEcko0
a0NKSldhdG9SZFEyL1JGaWF3emJIN1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApCLytB
SG5yd1pDOUtoVnBGS042cktHS2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FC
T1FOeDFLaUVXbHNmRUpxCi9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdk
N0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9VNTVl
TUcxRHlzOXhGa2lmRUExTGM1L1RiaFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNiSQpF
TDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBP
YkVoajBjR0RYMCtHQVZ0eHFwCitEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZ
QnpXa2hQMTB4dStMcUhCWDBtMXhPdjRuZFdVZUY1anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5YURV
aFFFRVVFWVppd1VFQ0dQQm94TkxKeVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050dzl0MUdrM1R6
KwpLQ0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhq
amMwMWVmSlhVZHBOWFI1YXNlWHE4Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1Y
alZmUHFTNFIxV2pFMzM1OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2SlBtVmZs
UFh2WHgvR2ZOeEdQaUtURW1kb3JuSVltWHhTN3hrdGhMcXd2aVlHM0hDSjJWaGluU2JaSDZKTlZn
WUpxOAo5UzlkUDF0NHZVWi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVm
S0FJdmJPREltYnB0VTNIdkVLRmxwVzV6CnJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhn
dkFFY2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pWV0xw
ZHRpWjB4MXVIS0U1UXZmRXAwcGxrL3F2OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2YjhDOC9VWEFl
SXVKQUFBZwpBRWxFUVZSNEFlM2RCOWpzVkxVNDdsQlVVRlJRUUVHa2liMkRZTU5yUVZFc2lGTEVk
dTBkRmNXci9rQ3N5TFVnMWd2WTI3VVhWT3dWCnkxV1Vwby9ZUmNTQ0ZMRlhCUExmYS8vSm1ETm5K
ak5mT1IvN2JONDh6L2ZOVEpKSjFuNVhKcE9WTnV1MHFXdDBCQWdRSUVDQUFBRUMKQkFnUVdBR0Jk
VmRnSG1aQmdBQUJBZ1FJRUNCQWdBQ0JMS0FBc1NBUUlFQ0FBQUVDQkFnUUlMQmlBZ3FRRmFNMkl3
SUVDQkFnUUlBQQpBUUlFRkNDV0FRSUVDQkFnUUlBQUFRSUVWa3hBQWJKaTFHWkVnQUFCQWdRSUVD
QkFnSUFDeERKQWdBQUJBZ1FJRUNCQWdNQ0tDU2hBClZvemFqQWdRSUVDQUFBRUNCQWdRVUlCWUJn
Z1FJRUNBQUFFQ0JBZ1FXREVCQmNpS1Vac1JBUUlFQ0JBZ1FJQUFBUUlLRU1zQUFRSUUKQ0JBZ1FJ
QUFBUUlySnFBQVdURnFNeUpBZ0FBQkFnUUlFQ0JBUUFGaUdTQkFnQUFCQWdRSUVDQkFZTVVFRkNB
clJtMUdCQWdRSUVDQQpBQUVDQkFnb1FDd0RCQWdRSUVDQUFBRUNCQWlzbUlBQ1pNV296WWdBQVFJ
RUNCQWdRSUFBQVFXSVpZQUFBUUlFQ0JBZ1FJQUFnUlVUClVJQ3NHTFVaRVNCQWdBQUJBZ1FJRUND
d3JBWElYLzd5bCthWHYvemxWTlh6enorLytjbFBmakoxdUFGclRtQ2EvYm5ubnR0ODhZdGYKYkg3
M3U5L05uUG1zL002Y1FHK0VYLzNxVjcxWEMzczZLNDd4dHY3em4vOXN2djcxcnk5c0pvV092UlMz
UXB0VVZWakx0YXpOV3NZWApnaGJUK3ZXdmY3MlF0NHpHWGM0NFJoTXQ2TW5RK204OGwrUHJsZVZ1
eGxMeXROQlkvdjczdnpjLy8vblBGL3EyaWVQWHZveE1iUFFsClBmLzJ0NzhORFY2V1liLy8vZSti
Q3krOGNPcTBsanE4bTNCTTU5THFMcnJvb3VhSFAvemhwVEw3cGZyTmV2ODhqZnJyWC84Nnoyak4K
bWw0SHpSWEVNbzQwc3dDNTk3M3YzV3l5eVNiTlBlNXhqMmEvL2ZacjFsdHZ2V2E3N2Jacjl0bG5u
MmJYWFhmTnI5L3hqbmMwNzM3Mwp1NXRyWE9NYXpUdmYrYzZwNFQzM3VjOXQ5dHBycjZuREp3MzQr
TWMvM3V5NDQ0N05PdXVzMDl6bU5yZHBQdk9aeitUUjRvdmpXYzk2ClZ1Ni83cnJyTmk5NjBZdWFQ
LzNwVDgyODhYN3NZeDlyYm4vNzIrZjNQL2F4ajUwMDY5enZpVTk4WWg3blJqZTZVZk9CRDN5Z2Vm
LzcKMzkvYzhJWTN6UDN1Zk9jN041Ly8vT2VudnJla0FaUHMzL0NHTnpUdmZlOTdteTkvK2N2TmpX
OTg0eWErY0tkMTgrUjMybnZIKy8vZwpCejlvYm5LVG00ejNudXYxUEhIMDIvck5iMzZ6dWRXdGJ0
WGMvLzczbjJ2NkpZKzBGTGVTMjFWTGJNdTFyTTJ6ak05cjl2clh2NzY1Cit0V3ZudGRkODc2bkcy
ODU0K2ltV2RMajBQcHZVaTc3NjVYbGJzZFM4clRRV043M3Z2YzFXMjY1WlhQa2tVY3U5SzJyalYv
N01ySmEKZzNzOVRqamhoT1lUbi9oRTg1R1BmR1NWYlpUWVp1bTYyS2lPN2FiWWZubkNFNTdRbkgz
MjJkMmdtWSt4c3piZSs4RVBmckI1em5PZQowenp2ZWM5YjVUMUxIYjdLeE5LTEJ6N3dnWmRLRVhE
aWlTYzJ0N2pGTFpwcDIyRnJvMjhzRnp2dHRGUE9lMnkvUHVwUmoyb09PT0NBCjVzbFBmbkx6MnRl
K2RyWGkvOHd6ejJ6aWN6bXJXNVByb0ZuelhpUEQyeG5kN3J2djN2N3NaejhiamJYQkJodTBEMy80
dzBldlgvR0sKVjdScDVabGZwdzN6OXNVdmZ2Rm8yUGlUMy83MnQrMlBmL3pqOGQ0elg2Y3Zpalkx
dmswcnU5WEczWFRUVGR0VUhJejZMeVRlVkZDMAphY1hRUnB2T08rKzgwVFM2SjMvODR4L2JhMTNy
V25uZUwzbkpTN3JlN2VHSEg1NzdwV0pvMUcrZUovLzR4ei9hZExSaG5sR25qclBZCmFZemJwNzFX
N1pXdWRLVTI3WG5JOC9xLy8vdS8xZVk1UHE5WitWMXRBbE42cEpWd3UrMjIyMDRaT3J2M3JEakcy
M3JFRVVlMHFUaWUKUGVIQ3gxaXFXd25ORzErbVNvaXBpMkU1WWx2c3NqWSs3MW5MZUJmelBJK3g3
TC95bGErY1o5VFZ4bG5PT0ZhYitLWFlZNTcxMzNndQp4OWNyeXgzK1V2SzAwRmpTenJjMmJRd3Q5
RzBUeHk5bEdSbi9ERTBNZHBsNnBoMlJxM3ltWWhzb3RsSGU5YTUzclRhSGYvM3JYMjBxCitGYnJQ
OVFqN1V4dHIzLzk2N2RwNDNzMDJ1MXVkN3ZSdHRaU2g0OG1lc21UVk16a2JhRzBrVHcrYUVWZXgz
enZjcGU3VEozWDJ1amIKYmJjZWQ5eHhvM2JGZG1iYXFkMm1uVUx0VjcvNjFWSC9lQkxieGdjZmZQ
QXEvY1pmck9sMTBQajgxdlRybVVkQW52NzBwK2NqSHRPcQpuOGM5N25GNTcza012OXpsTHBjcnZt
bmp4cDY0NjE3M3Vxc05UbzFjclYrL3g4WWJiNXhmZG8vancvcjlGeEp2SE5tNTE3M3UxYVFWClYz
UE1NY2YwSjV1ZnYrMXRiMnYyM1hmZjFlYmR6ZStxVjczcWF1K1oxaU90aEpxSFB2U2hUVnJvcG8w
eXNYL2ZabWdhL2ZFbVRXamMKL3J2Zi9XNXp3UVVYTkhIMEtMcTBjbHZsYlpQbU5TdS9xMHhnNEVV
Y0tidkJEVzR3TU1id29GbHhqTGYxOHBlLy9PQnlPVHkzZnc4ZApNaDRhTm5UNC9OOVRuLzFzSVc1
RDhjeWUwK1F4bGpyTlNjdlU1RG10Zk4vbGltM2FzalprTjJuZXM1YnhoUWd0WlZyenZuZTVsdkY1
CjJ6WGtPYzgwWnEzL1locmp1Unhmcjh3em40V01NNi8xUXFZWjQwN0t6Uld1Y0lWbFdTZkc5T2VO
ZTFJYzhmNXAzVUxHbi9RWm1qYmQKV2YxbkxWdHhGQ1B0a0d3T1BQREEwYVJpV3lLNjduRTBJRDFa
Zi8zMTh4Nytmci91ZVp4NkZOc0Y0NmZncEVLbVNSdWJ6WDN1YzU5dQoxT1lSajNoRTg4SVh2ckNK
OXl4MStHaWlseng1MDV2ZWxLY2ZaN1BFS1hVTDZSYVNwL0hwWG56eHhibFhHSFhiSXVQanhPdk90
WHZzCmoxT3FiN2VkR0djTmRWM2FZZDc4ei8vOFQzUFBlOTZ6dWV0ZDc5cDg0eHZmNkFibGJlUEli
Unc5bWRZdDF6cG9LVG1iRnR0aStzOHMKUU81Kzk3c1BUamZ0UmMrbk1uVWp4UUlWaDRtMjNucnJm
SnJOR1dlY2tRZjk1amUvYVY3MnNwYzF0NzN0YmJ0Ujh5R25vNDgrT3ZjZgozd0FlamJUQUp3dU5k
N2ZkZG10dWV0T2I1b1VpTnNpN0xsWkNjWnJXL2U1M3Y2N1hraDVmOWFwWDVlbkY0Y1NIUGV4aGVZ
Vnp6am5uCk5GRXczZkdPZDh5SDYrS1FidGZGNGJoeG0wblRtRFJlTjQzdWNkdytWamJQZi83ejh4
ZlRrNTcwcE9ZWnozaEdOK3JvY2RLOFl1QzAKL01hd29mYkU4SDRYYlk3dXd4LytjTFBaWnB0bDV6
Lzg0UTlORkgzeCttNTN1MXZ6MDUvK05JOFRwd3JjNFE1M3lJVmk3cEgrVFl0agp2SzNkK1AzSGhj
UVo3NXRrSEtmZXhTSHJRdzg5dEhuMnM1L2RiTEhGRm5tWjc1K1M5NFV2ZktGNTZVdGZtazkxaU5Q
OVRqdnR0RkVZCmNRNzJJWWNja29jLzRBRVBhTkxlMXRHd29mZzZ0OUhJbHp5WkZjOHBwNXpTeE02
Q09KU2ZqbEptNDI5OTYxdjV5eVlPRFI5MDBFSDUKOU1pblBPVXBUY1FXM2F4cHhqalRZcDAwdjFq
VzR6UFZmUWJlOHBhMzVKMFhzUk9nTy84M05neGpIZkdsTDMwcEpyOWFOK1FXWDV6VAoyaExUMjMv
Ly9mT3kvdVkzdjdtNXpuV3VrNHZnYnYwMHZyeW5JNElMOWxvdDJOUmowckl6UHQ3NHZMdU5rV25M
ZUx4L212djR0THZYCmNhNTZmTTZqaUkxVEErSjB2cTZiTmEyaE9LWXQ0M0VheWpXdmVjMW01NTEz
SG4yT1kzbmJacHR0bXM5KzlyTjUxa1A1bXJUOHhQdm4KOFl5SkQwMTdudlZmWjlNOWpxOVhaaTFQ
OGI1WnJ0MjArNC9UOGpUTlkyZ2UwM0xUbjE4OFAvWFVVM09lWWgzdzdXOS9lM3h3ZmozMAp1WXNS
RnJPTVRHdlRVTnpUNHBqMEdacG1NMjIrOHk1YnNjNWY2Q205MHphdXcrMS8vL2QvODg3QVB2eW5Q
dldwdkVIYWYxL3N2STFyCnVTSmZTeDNlbjFmc2dJMVQydU1Vci9qY1JCRXlUemN0VC9OOE5tSTVq
OVBiRHp2c3NPYnhqMzk4YzlKSko4MHp5Nm5qOUozNkk1WGcKMjQrbmV4N2J3bkhLKzdISEh0djF5
byt4VFJIYkUxR0lqSGVMV1FlTlQyTmF6c2JIVzdIWGFVTjdRZDM0S1ZqOU45L3NaamRyYjM3egpt
N2RwdzZWTkY2TzNhUzkzKytoSFB6cVBraGJ3Tmkxb2Jad3lGVjNhWTlHbWMvUHo4L2ozdEtjOWJY
UTYwS2puSlUvaWNHY0NhZE9HCmFKczIwbGY1MjJxcnJkbzRORG10RzRvMzRrd3Jyalp0a09UcHA0
M2YwV1RpOUtvNDFTcGR2SnlIcFNNa28yRkhIWFZVN2hleExLU0wKMDQ1aW10R2xDclRkWTQ4OTJq
aVVtaGEyTm0wY3RtbkR1MDBYTkEzYTlLY3hyK0c0ZmN3L1ROT0hOcDVPN2ZyemlwR0c4anZVbmtr
ego2Si95bHM2UmJCLzV5RWVPUnJ2VG5lN1VwcjA5bzlkcGowRDcxcmUrZGZSNktJNUpiWDNOYTE3
VHBvMmgvUDZGeGpuTk9HMjR0cHR2CnZubWJyb2ZLaDFMVGRUUjUyYi8ydGErZDU1TldMdm4wdmU2
VXUxVHd0WHZ2dmZlb0RlbWFxamJ0L2NpdjA4bzNMMDhubjN6eTRISVIKSS9mZFJoTkxUMmJGRS9O
S2U0L2FkSzV0bTg0cHpzdGJIUEw5ai8vNGp6Wjk0ZVJKcFFLODNXV1hYZHAwSFZWK1BXdWFRNWJU
NWplKwpUTVg4MDU2Z1VWTmltbjJuMFlCTG5reHppOEZEYlluVDE2NTN2ZXZsZFZJY0VrOFg0T1pU
SEI3em1NZU1adEdQYlZyOFEvT0lDZldYCnRXbkx6bWlHdlNmOWVVZnZvV1Y4eUwwM3lkSFRXRWVt
YTd6YVZQemxVMEJqWHR0dnYzMWV6OHlhMWxBY3M1YnhXUGVuamFaUkhPR1IKdm1CSHI0Y3NKL2wv
Ly92Zm4vczdZMmphRWNBODY3OStMc2ZYSzdPV3AxbXVJNFRlazZFOFRmSklSZVRVNzVCWnVZblRY
ZExPaGp6MworRzU3Kzl2ZjNvdGs5YWREbjd2RkxpT1QycFIyMGl4cXZSa1I5ejlEUS82VDVydVFa
U3VkK2REMlQ2dUplWGZiS0ovODVDZmo1V3BkCnQwNGRIeERyM05pMlNUZUJXV1ZRS3R6YnRETjFs
WDd4L1JEanBvM1dkcW5EK3hPTzdaNjB3eUQzU2p1RFZqbWx2VDllLy9uUThqWHIKc3hIVGlmbWs2
MC96SkdQN0owNVJTenNkKzdOWTVmbmE2RHNyNW5RMG8wM1hOYS9TemxnZTBoSEZObDJEdGtyL2VM
SFFkZEQ0QklaeQpOajd1U3IyZWVRUmtvWlZRWEFRZVJ4WFN5clNKaTdTN1BadXhWenVPTktTRzVV
bkczdTdZMjVJK3NQbDEyaEFZRFpzMnorT1BQejVmCjdCNFh2blYvZi83em42ZU5QbmYvQnozb1FY
bVBjT3hGNmJyWVN6cnRvcWh1bk1VOHhzVm8wYVdGTTdjM1RzbjY5S2MvbmZlZ3A0M0wKNWl0ZitV
b3p5NmFieHF6eHV2akc3YnYrOHp4MjgrckduWmJmb2ZaMDcrMC94cUhJcm90RHkzRnpnZGhiRVYw
Y21rd3IrTkdwQTdFbgp2anNWcm52UHREaG10WFdoY1U0elRsOTJUU28ybWozMzNEUGZqQ0Z0OE9R
TCt1TXVjTEYzT1U1TGlMMWtxU0RQSWNlaDAyNnZjOXgxCkxQWmkzZnJXdDg3RFlvOTBuQUlZZTRk
bnhkZDM2eXppY1ZZOGNRT0hPTzB0bmEvZHBBMzhQTC9UVHorOStkclh2cGFQRE1RMEl1WlUKQ0Rh
eDl6cDlTYytjNWxDc2srYlhuWDdaWDZiU2pvY205c3FrWWlkQ3lQR2t3ancvSC84MzVCYWZvYUcy
eEo3L09Pb1I2NkJZZHNJNgpiWVExUC9yUmoxYVpUUmZicFBobmVhMHlvZlJpMnJJelBsNzN1cHQz
OTNyYU1qN2szcjEzL1BFLy8vTS84K2tjc1U2TzAwZlNkWDM1CkNOYzgwNW9XeDlBeUh2T1BvMUZ4
b1d4Y1pCcGQvM004SzErVC9PT3pQYzkzeHF4cDUyQVcrRzk4dlRKcmVackhkVklJMC9JMHlTUFcK
SWZGOU91azdaRlp1dW5uSGVpZldUVEhmYWQzUTU2NTd6MktXa1VsdGlwdTlMR2E5MmNYUmZZYUcv
Q2ZOZDk1bEsyMEVOdW5hMENidApmT3BtdVVZZTQwaFA1TERmeFNtQjBhVkNQaCtsWHNydy9uUmpm
UjgzR1lvdWpwS25ZbXpxRWVqdWZVUEwxNnpQUnB6cEVkdDkzZGtxCmNmUWlUa2xheVc0bGZhZTFL
NDRRZDJkNWRPT0VhNXhtbG5ZT2RyMUdqd3RkQjQzZWVNbVRvWnlOajd0U3I1ZTlBT2xXQU5HQWdJ
eEQKZWwwWHc3cmhzU0VWSzVvNHh6Rk9BNG9OcVA2NWN0MTcrbzl4cU83VnIzNzFLbitSbEtWMjZT
aEpQZ3dZWDI1eCtEQTJodUw2amxneApMM2ZYdFQ4MjhHTDZzVktKdnpoRjUzT2YrMXcrUFdLV1RU
ZU5XZVAxWSsvYjkvdlBldDdOcXh1di83cWYzNkgyZE8rZDloaUhIYVA0CjZxNlBpVk9WNGpTVTJE
Q053OE5SbU1TcGZ2MXVXaHd4emxCYmgrS01EMzNjR2FmN2kzR0hqR00rL1dVMk52RERKRGEwWWxq
YWc1bzMKUXVNMHJMalRXRmNzUjVFWnB4ejIyeEFyL2xnZWh1THJ0My9TODZGNFl2d05OOXd3Rjly
ZGUrT1Vsdmo4OUwvSTBoR1FQRGcyYnFJYgptdWFzV01mbmx5ZDR5VFM3NS9INWowSXV6S09MTDhN
b2tDWjFRMjd6dHFWdmZ1VXJYM21WMC9waW52M2g0L0hQTTQ5KzNFUExUbis4CjdubC8zdEd2LzNx
cG43WCs5V3F4QVJaZEZBZXpjaGpqVFlzaitrOWJ4dU45VVh4SGNSMm5tRVFYT3huaWRMdm81ckVj
OTUvWGM1NXAKNXlBVytDL2EyN2NZZjkxZm5vWmNKNjFudWxDbTVTbUdqM3NNeldOV2JtSjZzUkVZ
cDJOMkc0TFJiMUkzOUxucnh1Kzc5SmZWV1hHTQp0MmxvL0lYRU1XUVRNWS9QZDk1bEt3cjM2SzUy
dGF2bHg4WDhpenQyaGxIOGRZWE1kdW5Pb2wyL09FMDJOazdIYjQzZm5ab1pPM0tXCk9yeUxPOWJ6
Y2ExSjdIQ05kWERzUUl2dGtkZTk3blhkS0JNZmgvSVViNGpoOGRkMS9jL0c4V2xIY254WGR0ZEl4
RGdiYmJUUkt1TjMKNzF2TVkwbSswK0pQUitoeThUSHBicUJoRmV2bVNkMjQ2L2pydnZQNCsyUGNv
ZlgxK1BncjhYcjlsWmpKdEhuRVVZeTRIV0FVRlhGZQpabnhCWGVVcVY1azIraHJ0SCtjanhvWml1
bHRNL25CRVViUW11L2pReDhWVHNiZC9VamV2emJ6alRackhjdmFiMVo2aGVjV0dkK3hCCml3dnJZ
cVVVdDgyTnZTSnhpK0RZMjdUUVd6Y1B6V3NvemlnYyt1ZGt4Z2MycmtkWWlISEVIWG1OTG02dEdY
dmw0MXFIT084OE5veWkKaTNPVCs5ZUQ1SjZYL0J1S3J6L2V2TS83OFl5L0o4N0RqZm5GVG9MNEFv
Z3VqaEJFL04yWDNmaDc0blUzemVXSU5RcTR1RDFsSEgxOAp3UXRla1BmczliK1krdk1mY2x0c1cv
clRuL1Y4TWZOWXlMSXphLzdkOEtXNng5R2YrS0tLdjZWT2E5b3kzc1VhUjlRaXIzR3VkK3pvCjZm
YmlMc1l5cGptUDUyS24zY1c4SEk5RHJ0UFdNK1B6N2VkcGZGaThIcHBIREorVm03aXVMbmFNeE1Y
VXNRRTZyUnY2M0UxN1Q3Ly8KckRqNjQ4YnphZU12Skk1Wk51UHpqTmZ6TEZ2ZERzOTBPc3NxazRo
clhxT0wrVTdxK2p1cTRwcS8rSTZMTGpaRTR5aDZiUHpINXpHNgpLRWJpV28vNDd1aDMzYzdjS0VE
aURKT2xETyttRzBmQTRneUVidjBmL2VQNzlrTWYrbEF1Um1MbjBMUnVXcDZtamQvMWo5K3ltdVFV
CjM3ZlR1clhWZDFwN1lpZEVMRU94ZzJhOGl5TmNWN3ppRmNkN0w4dnJ4ZVpzV1dZK1lTTExmZ1Jr
d2p3bTlvbzdTY1Roek5qZ2owUG0KY2ZGcGJIQ3VaQmQ3MXJ2VGZtS1BRcXdZWWc5c25DclRuVHF6
MEhoaXhSRWJuTk82N2tNV0s1azQ0aEY3K0xzdURxZkgzb0ZaTnQwMApabzNYVFhjcGo5MjhaazFq
cUQyejNodkQwNjJkODI4VnZQR05iMnpTdWVONXBSakZRSHhaVDd2d2VwN3Bqbzh6RkdjVWczRnhY
L2NYCnB3VXV4RGhXS3ZGRFFYSGY3emlNSFVWdFhGemVQOElROGNTR1JlemhpRk42dWk1eUgzdWpo
dUxyeHAzM3NSL1BwUGZFWHFpNDJLMDcKUlNiR2ljOWtmQ25HcVZxVHV2NDBGeHZyK0RJVitZN1Rs
ZEl0Q1BQTkJpYk5OL29OdVMybUxaUG1NeDViZjV5RnptTWh5MDdNWjJqZQovVGdXNjk1TjQ2eXp6
c3BINDI1NXkxc3VhWGtiV3NhN2VjWHByZkg3VEhILysvNE5QUlpxR2RPYjEzTXgwKzdpWGE3SG9S
eE5XczlNCm1tOC9UNU9HRDgxam50ekVCbS84YmxlNi9pTnZjRTZhUi9RYit0eE5lMC9YZjU0NHVu
SGpjV2o4ZWVMb1BrTkROdjM1ZGMvblhiWmkKdWxGSXg0NnhmaGM3YnFMSTZFNDU3dytMMzNqb05x
Q2pmN29XclluVFRPT3ZPL1VwYnJyUzlZdmxONHFBaUtsL01YS2NMaHA3ek9OcwpnS1VPanpoaW5S
dXh4ZWwzY1RaSzl4ZEhZR0src2JFNnJSdkswN1QzZFAxanAzT2M4UkRmSmZOMmE2UHZ0TGJGZDMw
WXg5R3Z1UEhECmVCZUY5cmJwaktEbDdwYVNzK1dPcFp2ZWdncVEyRmlQTzBXTkh4cnNKaFo3bnVL
djYrSTh1L2pydWhnV3J5TUJzYUVXZDUySUx2MTIKUjNQZis5NTNsU3E4ZTA4OGR0T1k5RXVkc1FF
L3FYKzhiMWE4MFk3WTRPcTYyQk1Vc2NYR2NOZDF3L3Z6Nko1M3hVczNibFMwY2QxSQpmTEZQNm1M
UGJ2ZEwxckhIUHhhME9QVW1waGZ6aVZ2c3hkNk5JWnYrTk9KdzhMeUdmZnVJTFRZS0l2NSt2c1pq
N3M4cllveHgrK1AzCjgvdmdCejk0YW52R3B6dnBkYXg4NDlhUXNSS1AweERpL1B3NEdoWjNsK3Er
VkxyM0RjVVI0OFR3YmptTDE3SE14bDZGNkJZYTUxQXUKWW5veHZPdmk5TDNZcXhqWGRrUVJHNzd4
b1krVmVleHBqR1UxbHEvNGNhbjRFb3M5VHpGZS9EM3ptYy9NcHlJdE5MNXUzdDNqdEhoaQplQlFX
M1djcFhzZDFOYkVuTFFyaHJvdTdrY1FYWVBmRkdQMm5UWE5Xck9QemkybU5MMVBSTDA1L2lEdFV4
VjdBL20wblkxaS9peDBFCjA5em1hVXNzQi8zUGJDd24vUy80OGRqRzQ1OTNIdDJ5Tm12WjZiZHRm
TjVEeS9nczkvNTB1K2Y5ZHNZNS9iRUJFenRaWmsxcktJNmgKWlR5VzgraWlYYkZoRXovczE1M2VG
LzNuc1J6M245ZHpubW5Qcy83cnJ6Y2k1a25ybFduTDB5elhtTjZrYmxxZVl0eHhqNkY1ek1wTgpU
Q3R5RktlQ3hsMTM0b2ZTSm0wOHgzeUhQbmN4ZkNuTHlIaWJodUllV205R0hQM1AwTkQzYTR3N1B0
OTVsNjA0K3BzdXVsOXQ0em4yCldNZDFnUEdqZ2YyOSs3Rjh4R2x1RDNuSVEySzJjM2NSZjJ5Z3hy
VXNYUmZmTDNHMlNIUkxIUjdUaUtQeThiMDczc1hHZnZ4RkFSS2YKazBuZFVKNWl1UnBhMThieUZF
Zlo0K2hMMThXeUYyNzk1YjhiRm85cm8yKzNuZGh2VTV6ZUg5Yzl4bzd1T0RVMXRtLzZYU3lIOGYw
UgpkdytjMUMxa0hUVCsvbGs1R3g5L1JWNm5oV1d1THU1T0VYZHFTa0cxYVFPeGpSOGdqQi9xNjdx
NHMwNzZjT1k3S0tROXVXMDZwYXFOCkh5aEtDMXErKzBwYzFaOU9aOG52angvRmluSFNSYUg1aDNV
Kyt0R1A1aDluU2ZEZDVFYVBLVkg1amc4eDMzVHVjcHR1NFppSHBZMzMKL0tNdDBUOXRvTGJwRVA4
cThjeUtOeVUveDVvV2dEYmQ3blkwdjdTaXlIY2lpaDdwR29RMjdYM1BNVWRiNG9jTDR5OXRvT1Yr
NmZCWgptL1lldE9rRGxlOVlrVTRseW5leVNpdWQwZlQ2VCtKSFppTFd1T05UeEIvelRSdmR1Vjg2
dEp2dmJoSGpSK3pUYlByVGlEc3ZUUnV2ClA5OXgrM1N0UlpzMmxITWIwcTA1MjdRbnZqLzY2SGwv
WG5HbnNLSDh4cHVtdFdjMHdSbFBJcFowVWRab3JIUzd3MVZleDRDRkxtZnAKTUhVYmVZcmxKTzVl
Rm5lQ1dFaWNRN21JdTdqRlhhVWl6blNhU1JzL2dwbjJXdVg0MHlsTWVWZzZ0SjN2NkJWMzhrb3Iw
VGFXcjRnaAo3bVFTT1krNDBwNjlOdUxzdW9YRTE3MG5Ib2ZpU2FlMzVSK2VqT1U5RmEyanQ4WG5O
SDdJOCtVdmYza2JkM0JKaFVDYlZsU2o0VVBUCmpKR214VHB0ZnYxbEtqNERYUmZMY3RwYjNyMmMr
amprTnRTV21IN2FRTWwzVzBubmg3ZnBlcTkyaHgxMnlKKy9icDNTankyV2xmaWgKem9WNHhlZXN2
NnpOdTQ2THh2Ym52ZHlmdFhSN3pUWnRVTFR4WTZyLy9kLy8zVDcxcVUvTmQ5L3JrS2ZsY05abmJk
WXkzazAvMXFNeAozL0Z1S0YrVGxwK2h6K0pDcGgxM0w1eTEvaHZQWlh3Kys5OWY2Y2pzek9WcG11
dDRyTjNyb1R4TjhvajNUWnZIVUc3U3FVWnRySmZpCnV5UHU4aGpyLzFnM3hiS2V6djN2d2xubGNk
cm5iaW5MU054NWEvd3pOaFQzclBWbS96TTA5UDA2eVhJaHkxYXN5Mk05T2Q2bGpmVTIKN1VESmQz
Nkw3L2gwR25lYkN2MDI3ZUFaSDNYME9tMm81KytBOGJ0Z3hRanhBOUJ4dDZpNCsyZmtPZGJSL1c0
cHc4TSt0dVBTanQ5VgpmbWc2cGg5M0FJMWxJNzZiWW5nNkV0ZWZiWDQrbEtkNVBodVJnM1FFTG04
anBzSXl1OFhkVEtQL3RHNXQ4bzFsSk83dUdZWnhsN2pZClJvd2YvNHc3ZmNYNk41MEJNYkdaYjB0
M0pJdGxabEkzdmgwM2ozTi9Pa001aTgvV3BkSEZYcEJMcFV0VllaNXZxaExiZEc3anBSTEQKcFRI
VDhkdW9SdUpqbzd0ZmZNMnk2YVl4YTd6bGFGODNyM21uTmFrOTg3NDNIU0ZZWmRUeDE2c01YT0tM
ZWVNY01vNk44L1RiRm5uNQpUVWV3SmthVTlsaU0rc2VYVGIrTFFyVXJXUHI5NC9tODhmWGZOMDg4
L2ZHNzV4RkhPaHkrV3JFWHcrZVo1a0pqbmJSTXBiMXQrWXV2Cmkybm9jY2h0cUMxRDAreUdUWXF0
RzlZOXpqdVBvV1dubTFiL2NaNTU5OGRmcUh1Nmovd3E2NW1sVEt2LzNxRmx2QnR2Mm1kNVhzdVkK
emtJOUZ6THRMczdsZmx4b2ptTCtRM21hRk4vUVBPYkp6YVJwVHVvWG50UFdWNVBHNy9kYmFCeEQ0
dy9GTWY0WkdyTHB4N2ZRWlN2ZAp0YWxOcHkvMUp6RjZIdXY1S0dqUzN1eFJ2NlU4aWVsRW02ZDFT
eDArYmJyejlCL0swNnozcDZOUW85dktweVB6czBZZkRhL1pOMTBQCjFIN3ZlOThidFhWTlBGbEt6
cFk3bm5WaWdxbEsweEVnc0VDQk9Fd2FoOTNUMGNBRnZuUE5qTDRtNGxrVDAreTNQdTRNRnFmZXhl
a2sKY2JyQitPbDIvWEU5SjBDQVFBa0NjYTFuM0ZnaHJtR04wMEoxQkpZcUVOZUZ4TFZBZDd6a1I1
cVhPcjIxNGYwTHVnWmtiV2lRR0FtcwpoRURhSTlYRVJhTDlDOGxYWXI3VDVyRW00bGtUMCt6SG4w
NXp5dGY3cE1QOVRWendyL2pvNjNoT2dFQ3BBdGU2MXJYeWhjVHZlYzk3ClNnMVJYR3VSUU54aU9x
N3J1U3dWSDVFZVIwRFdvb1ZVcU9VSXhKMWp1aHNLcEYrVmJ1SzNUQzdOYmszRXN5YW0yVGVLbTBE
RVRSVGkKQmhSeFp4UWRBUUlFQ0JBZ2NOa1FVSUJjTnZLc2xRUUlFQ0JBZ0FBQkFnU0tFSEFLVmhG
cEVBUUJBZ1FJRUNCQWdBQ0J5NGJBV2xlQQpwTHRhTk9uV2daZU43R2dsQVFJRUNCQWdRSUFBZ2Nv
RTFxb0NKTjBIdVVtM0JjMC9iRlZaSGpTSEFBRUNCQWdRSUVDQXdHVkNZSzBxClFPSVhwdnUvVXI3
Y0dZcWpLL0Zybzh2UkxlZTBsaU1lMHlCQWdBQUJBZ1FJRUNCUWdrRFJCY2lrbnlpNS9PVXZ2MFp1
MTVsK0NMQjUKNkVNZjJxUmZDVjl5WHBaeldrc094Z1FJRUNCQWdBQUJBZ1FJRkNRd1Z3R1NmcVd5
T2VTUVE1cVh2dlNsVGZwSitlYUlJNDRZTlNIOQppbmx6d0FFSE5BY2RkRkNUZmtLK2VjcFRudExF
K05HbFgvaHVudm5NWnpicDE2S2I0NDQ3cnJubExXK1pUNkg2eGplKzBYejN1OTl0Cjl0bG5uMmFM
TGJab0RqLzg4RHgrK21uNWZEdlRRdzg5dEhuMnM1K2RoMjI5OWRaTjlKL1duWFBPT1huNmNmL2tu
WGJhcVRuaGhCUHkKcUNlZmZIS3orKzY3TnplKzhZMmI0NDgvdm9uWE43LzV6WnU0dGVpazdsV3Zl
bFh6c1k5OXJQbklSejdTUE94aEQydlN6OVkzaTUzMgpwR2xObXFkK0JBZ1FJRUNBQUFFQ0JDNXpB
dlA4dFBvOTduR1BOaFVOZWRTVFRqb3Bmam05VFJ2MCtYWDZKZWoySGU5NFIzNSt3UVVYCnRMdnNz
a3ViZmxBbHYwNEZTSnVLam5hNzdiWnJQL2pCRDdieEUvRDc3cnR2dThNT083U3A2R2gvKzl2ZnRz
OTczdlBhOUFOa2JmcE4KZ1BhTU04NW9OOTk4OHp4K09oTFJmdm5MWDI1VDBkQmUrOXJYenRPTGY2
OTV6V3ZhYTE3em12bjFoUmRlMk82eHh4N3RuLzcwcC9haQppeTVxSC9lNHg3V2JiYlpaKy92Zi96
NFBUNFZManZWVG4vcFUrOGxQZnJJOThzZ2pjLzlwLzdiZGR0c2NWd3hmNnJUNzA1bzJQLzBKCkVD
QkFnQUFCQWdRSVhOWUVaaDRCK2VJWHY5aWNldXFwVFZ4L0VWMGNaVGptbUdPYWJiYlpwdm4wcHov
ZGZPMXJYMnYyMzMvL1BPeHkKbDd0Yzg4aEhQckw1K01jLzNzUlJqdmlGNDF2YzRoYjVLTVRlZSsv
ZGJMamhodmtveVpsbm50bjh2Ly8zLzQ1SEg0RUFBQ0FBU1VSQgpWSnFyWC8zcXpZRUhIdGdrOUNi
NnBZMzJKaFVielo1Nzd0bnN1dXV1VFNwdW12ZSs5NzNOTDMvNXkrWUhQL2hCbmtmLzMvdmYvLzc4
CjNqaHRLbUtKb3lubm5YZGVFNzhxR2QxdXUrMldqOWdjZlBEQnpUdmYrYzU4ZEtiLy9rblB1MTlq
WG81cGQ5T2FOQi85Q0JBZ1FJQUEKQVFJRUNGd1dCV1lXSUxFeGY3dmIzVzZWNnk3U2tZWmNQSHpy
Vzk5cTBoR0hKZ3FQcmt0SFFQTFRLRnFpRzk4SXYvS1ZyNXo3ZC8rdQpjcFdyNUtkUk9FUVg0Nisz
M25yNWVmeTd3UTF1MEd5eXlTWVRUOE9LSWllS21MZ3VKUDV1Zi92Yk41LzczT2R5a2RSTklFNFgr
L0dQCmY1ejc5YWZiRFI5LzdPSmRqbWwzMHhxZmg5Y0VDQkFnUUlBQUFRSUVMcXNDNjg5cWVGd0hj
ZHBwcDAwY0xaMVMxYVRUcUpxNERtU2oKalRiSzQ5ejBwamR0MWw5Ly9Yd054YVEzcmJ2dXVxc1VK
Zk5zcE1kN1lwcmpYY3c3K3QvMXJuY2RIelI2SGNWUkZFa3ZlOW5MbWtjOQo2bEhOeGh0dlBCbzI5
R1JOVG50b3ZvWVJJRUNBQUFFQ0JBZ1FxRmxnNWhHUU9OWHFKei81U1hQNjZhZVBIT0tVcVRqQ0VV
Y24wclVYCnpZa25uamdhZHU2NTV6YnArb25taGplODRhamZVcDdFMFl2enp6Ky8yWEhISFZlYlRM
cTJKQi94K01jLy9qRWFGckhGUmVkZEZ4ZTAKcCtzL2N0RVR6MmQxWFVHMEhOUHVwalZybm9ZVElF
Q0FBQUVDQkFnUXVLd0l6Q3hBNHE1WEcyeXdRZk9JUnp3aVg0Y1IxMkxFbmEzaQpXbzEwUVhtejFW
WmI1U0tnQTBzWHFlZkNKRjI0bm52RkxXbWpTT202K0gyTWVCMzlvNHRpSmJxTEw3NDRQOGEvS0Rp
NkxuNlg0dzUzCnVNUG9HcFIwb2Z2b3ZROSs4SVB6bmFyaWxMQjA0WGtUeGM4TFgvakM1cnJYdlc1
K2Uxd1hFcytqR0lvN2VCMTk5Tkc1Y09xbVBmNFkKUjBkKzlhdGY1ZDdwUXZvbFRicy9yWWd0Mmgx
MysrcW1QejV2cndrUUlFQ0FBQUVDQkFoY0pnVG11ZXIrMkdPUHpYZVhTaUJ0T2lMUwpwZ3ZQUjI4
NzVaUlQyaHZkNkVidHkxLys4bnlucVhSQmVwdUtsRHc4N3B5MTVaWmJ0dGU0eGpYYVZFamt1MXpG
SGJKaU9uSDNxei84CjRRL3RZWWNkbGwvdnQ5OStiZG80YjlNdm5iZnB3dlUySGExb1gvQ0NGN1Rw
VnJydDJXZWZuYWVYZmdtOVRSZkI1L0dQT3Vxb05tM1UKdDZtb2FLOXdoU3ZrTzJuRkhiQWkxdWpT
eGZQNWJsbmYvdmEzOCt2dmYvLzdiYm9HSk45aEs2WXpxVXNYcStmcHBBdnAyM1RxMlpLbQpQVDZ0
bUg4Nkl0S20yd0JQbXJWK0JBZ1FJRUNBQUFFQ0JDNFRBdXRFSytlcHRHSzBPTUtRaW9uVlJvOWg4
WnNmY2ExRzNQbHFLZDNPCk8rK2M3MzRWUnpMaUdwTzRmbU5XRjBkRjRrNVpjYnJZcEd0RlpyMi9Q
enl1L2RoMDAwMUh2Wll5N2ZGcHhZWDI4N1JuTkhOUENCQWcKUUlBQUFRSUVDRlFtc1BxVjNWTWFH
TmN6VENvK1l2UVkxcDMyTk9YdEMrNTlwU3RkcVltL2VicTRBOVpTQzU5dVB2M2lJL290WmRyagow
MUo4ZE1vZUNSQWdRSUFBQVFJRUxxc0NNNjhCV1VtWXVBN2tyTFBPV3VXQzk1V2N2M2tSSUVDQUFB
RUNCQWdRSUxCbUJlWStCV3ZOCmh2SC9UejFkSHpHNlNIdjc3YmR2SHZqQUI2N0ViTTJEQUFFQ0JB
Z1FJRUNBQUlFVkVpaXFBRm1oTnBzTkFRSUVDQkFnUUlBQUFRS1gKa2tCUnAyQmRTZ1ptUzRBQUFR
SUVDQkFnUUlEQUNna29RRllJMm13SUVDQkFnQUFCQWdRSUVHZ2FCWWlsZ0FBQkFnUUlFQ0JBZ0FD
QgpGUk5RZ0t3WXRSa1JJRUNBQUFFQ0JBZ1FJS0FBc1F3UUlFQ0FBQUVDQkFnUUlMQmlBZ3FRRmFN
Mkl3SUVDQkFnUUlBQUFRSUVGQ0NXCkFRSUVDQkFnUUlBQUFRSUVWa3hBQWJKaTFHWkVnQUFCQWdR
SUVDQkFnSUFDeERKQWdBQUJBZ1FJRUNCQWdNQ0tDU2hBVm96YWpBZ1EKSUVDQUFBRUNCQWdRVUlC
WUJnZ1FJRUNBQUFFQ0JBZ1FXREVCQmNpS1Vac1JBUUlFQ0JBZ1FJQUFBUUlLRU1zQUFRSUVDQkFn
UUlBQQpBUUlySnFBQVdURnFNeUpBZ0FBQkFnUUlFQ0JBUUFGaUdTQkFnQUFCQWdRSUVDQkFZTVVF
RkNBclJtMUdCQWdRSUVDQUFBRUNCQWdvClFDd0RCQWdRSUVDQUFBRUNCQWlzbUlBQ1pNV296WWdB
QVFJRUNCQWdRSUFBZ1NVWElPZWVlMjd6eFM5K3NmbmQ3MzQzVS9NdmYvbEwKODh0Zi9uTHFlT2Vm
ZjM3ems1LzhaT3B3QXhZdWNORkZGelUvL09FUEYvNUc3MWdqQXJNK0EydGtwcGZpUkJlNy9QM3Ri
MzlyWW4wUQozZEE2NDFKczJtaldhMU9zbzZCWDRNbGljejh0dEZuZkQ1ZTF6OVkwSi8wSkVDQ3dO
Z2pNTEVBKzlhbFBOWGU5NjEyYmRkWlpwOWxoCmh4MmFvNDgrZXRTdU43emhEYzE3My92ZTVzdGYv
bkp6NHh2ZnVQbm5QLzg1R2piKzVOM3ZmbmR6ald0Y28zbm5POTg1UG1qMCtyblAKZlc2ejExNTdq
VjU3c2pTQkUwODhzYm5GTFc3UlBQYXhqMTNhaEx4N1dRVG0rUXdzeTR3S21jaFNscjhqanp5eWVk
empIcGVMNTIyMwozYmI1MTcvK1ZVaXJWZzlqYllwMTllalhUSitsNUg1YVJFUGZENWUxejlZMEkv
MEpFQ0N3dGdpc1B5dlFQZmJZbzlsd3d3MmJMM3poCkM4MURIdktRNWdsUGVFSit5MS8vK3RmbTZV
OS9ldk9uUC8ycFdYZmRkWnU3My8zdXpSV3VjSVZWSmhjRnlkZS8vdlhtem5lK2MvT2cKQnoyb09l
eXd3MVlaUHY3aWhTOTg0VnhIVXNiZjE1L1ArTEI1WHkvSE5PYWQxMHFOdC9QT096ZDN1dE9kbXU5
Ly8vc3JOVXZ6R1JQbwpMMWZ6ZkFiRzNyNVd2MXpLOG5mVnExNjF1ZktWcjl4YzVTcFh5ZXVmeTEz
dWN0bmk0b3N2YnA3ODVDYzNGMXh3d1NvMjY2Ky9mclA1CjVwczNNYzk3My92ZW8yRXZldEdMbWwv
ODRoZk5ldXV0MTJ5MjJXYk56VzUyczJidnZmZk82Nnh6emprbkYrZDc3cmxuODhoSFBqTHYKWklr
M2Z1SVRuMmkrODUzdk5BY2ZmSENlenR2ZTlyYm16RFBQYko3M3ZPZmwxMS82MHBlYTJPQTk1cGhq
OG5TbnhacEhYc3YvOVpmZgpoVFJsS2JtZk5wL3g3NGQrYkplMXo5WTBJLzBKRUNDd3Rnak1MRUNp
SVp0c3NrbHVUL2NZTDc3NzNlL21qWUFvUHFLNzNlMXVseCs3CmY3SEg4cUVQZldoems1dmNKQmNn
MFQ4Mkl1Skl5clR1NmxlL2VoTi80MTNidGxQZk4yays0KytmOUxvL3pZVk1vLysrU2RNdHBWOXMK
cUVWdVlzT3N5MUUvdHJXbEhmMll4NTlmZU9HRnVYM2ovUmZ6ZWsxNFRGcXVabjBHRmhON2llOVo2
dkszL2ZiYjUxT3d0dGhpaStiNgoxNy8rcUlteFErT29vNDRhdlo3MDVDVXZlVW56ckdjOXEvbnRi
My9idk9BRkwyamlWS0IrZCtDQkJ6YXZmT1VybTloTGY5SkpKelVmCis5akhtalBPT0dPMGcrUWQ3
M2hITGxxNkFpU084SjV5eWltakF1VGIzLzUyRTBYSjYxLy8ranpaYWJIMjV6bnIrV0tYdjZIM0xm
VHoKTVQ3K3BPVjNWanRpK0t6Y3p6T05TZVAwdng4bXhiYll6OWFRNGRDd2NhOUpNZXRIZ0FBQkFw
TUZacDZDTmVsdGIzclRtNXJuUC8vNQpUYXlBbi9Ta0p6WFBlTVl6Vmh2dFZhOTZWZjVpLzhoSFB0
STg3R0VQYStLSVNYVHg1UlNIMHJmZWV1dGNuTVFYZjNTLytjMXZtcGU5CjdHWE5iVzk3Mi93Ni9y
M3ZmZS9McDN4Ri8vRUNweHRwMG54aXoyWWNuYm5qSGUvWTdMVFRUczBKSjV6UWpUNXhtcE9tTVhy
REpVOG0KeFJMOXJuV3Rheld2ZmUxcjgxaHhPbHBzTEQzKzhZOGZ2ZjN2Zi85N2M4Z2hoelF2ZmVs
TG13Yzg0QUhORVVjY01kZXdvVFlNRFl2egowWi80eENmbWphbUlJemF3K3Qya2R2U0hUM29lZTN2
akZMdDczZXRlbyt0Sm9nQ05YTVhlNE9qaS9Pc0REamlnT2VpZ2cvSnBkRTk1CnlsT2FhSHQwOHpq
bEVYdi9odHppYUZ4NHhxa3Z0Ny85N1p2VFRqc3R2ek5pMlgvLy9mUHkrT1kzdjdtNXpuV3UwOXpn
QmpmSUc1ZTkKU2EveWRKckhrUEhRc1A3RXB5MVgwejREc1pFYnB4MDk1em5QYVY3ODRoZm5QZmJm
K3RhM21xSDVEUTNyeC9MaEQzODRUKzkrOTd0Zgo4NGMvL0NGdlFNY1JnYnZkN1c3TlQzLzYwenhx
ZU43aERuZG8vdkdQZitUWFF6bWRGdXR5TFgreFViL05OdHZrSFEveE9lNjZYWGZkCnRZbU53dkcv
S0RKaUhSTHQrY0FIUHBCSDMzVFRUZk02S3NZTjgvUE9PeTkvQnJ2aGNhUWsxajl4OVBZOTczbFBO
NHM4MzdQUFBudjAKT283eXhyUzY3bGUvK2xVZXB5dnNwOFhhalQvMHVORGw3L09mLzN6endBYytz
RG4wMEVPYlp6LzcyVTBVYUxFdWpmNWROKzN6TVMxbgowOGFmdFB3T0xXK3pjdC9GRjQ4TFhSN0h2
eDhteFJiVG5mYlppbUhqM1NUN3Bmakc5SWZXVzBOMjQ3RjVUWUFBZ2VvRjBwZnp6Qzd0CjhXc1RS
SnRXK3FOeDMvLys5N2ZwQzNqMGV0S1RkTzUyZS9qaGg0OEdwZE1mMnB2Zi9PWnRXc20zNmNMU05t
MGN0bzkrOUtQejhIUXgKZTVzMm1OdjBSWjlmcHoxYzdhMXVkYXZSZTUvMnRLZTFhU05qOUxyL3BE
K2ZWQlMxNmJTeE5tMDA1UEhUQmwyYk5yVGEzLy8rOSszUQpOUHZUNkU4N25nKzlMeFVnYmRwWUhM
MWw5OTEzYi9mZGQ5L1I2M3ZjNHg3dE43N3hqZnc2RlFQWjhlU1RUODZ2cHcwYmFzUFFzSmhvCkto
TGFWQWpsNllmWGxsdHUyYWFOc3Z4NnFCMTVoSUYvLy9FZi85R21hNEZHWTBRYzZWU1cwZXNZbnZZ
YzU5ZnA5SmgybDExMmFkTUcKM21qNExLZlJpSmM4bVdhVFRydG9ZMXJweGdkNXpGUUlqK0pJRzQz
dDlhNTN2YnhjSFhmY2NlM1BmLzd6TmhXRTdXTWU4NWp4eWVmWAowenlHakllR1RackorSEkxOUJt
STVTUWRaV3pUZFR2dEJ6LzR3VGFXM1IvODRBZFRsK2VGeHJMampqdTI2VlNqVVpqcDlMejJFWTk0
CnhPaDFPdldvZmV0YjN6cDZQWlRUU2JIKytNYy9YcmJsTDVhaFZERGtXSDc5NjErUFlwcjE1T1V2
ZjNtNzFWWmJUUjB0bHRHMHAzeVYKNGVtNnRqYWRaanJxOTdyWHZXNlYxN0VzUC9qQkR4NE52Ly85
N3ovNlRFWFB4Y2E2bU9VdkZVeHRPdFdzM1c2NzdkcXZmdldyYlRvNgprOWVwMTc3MnRYTjhRNStQ
U1RsTHhmdlV6MU5Nc0wvOHpscmVodFk5T2JpeGZ3dFpIc2UvSDhaamk5ZERuNjJ4V1U5ZHB5L0ZO
K1l4CmJiMDF5MjQ4UHE4SkVDQlF1OENpam9Bc3BDb2JQK1VxOWpydXR0dHVUZHBJeUtkbWRYZG9p
cjJ4TjczcFRmT2V6WmgrN0tXTlV4MCsKK2NsUDV0bWxqY2pSc0VuejcrYVRDcU04WHZweWJqNzk2
VS9uUFlTeDUvTXJYL25LekdsMjB4aWYvbEFzY1gxTS8zMVh2T0lWUjYvago3bUNubm5wcWMrdGIz
enBQTW83R3hIbmpzV2QzYU5oUUc0YUd4WkdlOElvOXV0SEZIdHA3M3ZPZStYbjhHMnJIYUtRcFQx
SUJtSzhECjZvNVlmZTFyWDJ2aStxRG93amxleDlHSDZPSlVpRGluL3VNZi8zaVRObnB5dnlHblBF
THYzNUJOVER0dEFEYXBrTTN2aU5NeTBrWjYKZmg0M09ZaWpIckVjeFhJV3puZTV5MTJhSC8zb1I3
MnAvL3ZwTkk4aDQ2RmgvNTd5cXMvNnkwY01tZlladU0xdGJwT1AyTnp3aGpmTQoxeW5Fc2hMTFQx
b0pOWk9XNTRYR2tvcU41ak9mK1V6ZVN4eHh4TTBsVXFHV2p4TEU2OWo3bTRybmVEb3pwNU5pamJz
VUxkZnlGM251CmpqcWtJanJIMVAyTEl6WnhMVnJrYjd6YmFLT05KdmJ2eG92aGFjTy9pYjMxWFJm
WGNNU2U2N2hHTGUwY3lNdE52UDd6bi8vY3BDSTIKSDBXTW5IVmRISEhybnhZMkZHdjNua21QaTFu
K1VrSFFwR0tqaWV0VzRtaFFLaEx6alVEaVRtSHhPUmo2ZkV6SzJZMXVkS09wbjZjdQo1bTc1SFZy
ZVpxMTd1bW4xSHhleVBJNS9QM1RUNldMclhrLzdiSFhEdThkcDlrdnhIVnB2RGRsMU1Ya2tRSURB
WlVsZ3hRdVEvaGRHClhGTVNwM2wwWFF6cmhzZkdSMnhvM3VjKzk4bW5lY1VYUTF4SU9xM3IzaGNi
dkxGUmV2bkxYejcveFNrNm4vdmM1L0twV0xPbTJVMWoKZkI2ejNqYytmdmM2aXA0NGRhdy8zVGpG
SnVJYkdqYlVocUZoeHg5L2ZONkEzWGpqamJzUW10amc2dWEvMkhiRXhDSVBzZUVUZHo2TApMb3FM
dUpnM3VqaE5LRFlRWXVPbjY5SmU0L3cwTnFBWDJnM1pSRnRlODVyWDVJM01PQTByenMrUERjV3Vp
K0ZkZTZOZlhNamNuVkxVCmpkTTlUdk1ZTWg0YTFrMTMvTEVmVHd6cnZ4Ny9ERVNoRnBaZE56Uy9v
V0hkKy91UGNlcE9GT05SekVRWEc5SnhhbVNjZ2hOR2NmcksKbGE1MHBUeHNucHlPeDdvbWw3OGMx
Q1gvNG5TY0tNNjYwenI3dzRiV0VURmVOenlLdXE3cjhwSDJVbWVES0Z5aml6ditSWkVkeTNLYwp1
aGJkaHo3MG9lYjAwMC9QNjZUY1l3bi9GclA4eGV3aTNxNGQ4VHBPTTR6bEtBcklHRGIwK1JqUDJh
enh1L25GNDlEeU5pdjM4Zjd4CmJpSExZN3czWW8yL2ZqZjBldnl6MVgvZk5Qc1lKNmE1R04raDlk
YVFYVDh1endrUUlIQlpFWmpySXZSTEN5T3VQWWk5bjY5KzlhdnoKUmFDeDl6YnVpalBVeFlXbmNl
RjE3TjJkMUMxbW1qR2R4Ynd2enZudHJrOFlqMlZvMkZBYmhvYkZ1ZWt4Zkx6cmYwa3ZwaDB4dmZo
QwpqcjNPY2U1MVhOZ2JlNGk3UWlmMkpzZDhvNWlNZ2llNk9Bb1JlWmkwa1poSEdQZzNaQk52aTR0
LzQ0akxXOTd5bGlhdVI0cU41Y1YyCmt6eUdqSWVHTFRhR29mY056VzlvMktScFJ1RWJlNGpmOWE1
MzVkeWxVeHp6VWJLNGR1bVBmL3pqS3JmQVhreE8xK1R5TjZrOXk5MHYKN25JVm41V3dpQzZLbkxq
elgxelFIbmY0aTJ0QjR0cUxoei84NFhtamZ6bm12OURsYjlvODQyaG5mTjZpVytqblk5N3hoNWEz
ZVhJLwpIdnRDbHNmeDl5N0g2MG4yMDc1ZjV2RWRXbThOMlMxSFcweURBQUVDYTV2QWloOEJtUmNv
TGdLTkh6bU11OVhFS1Q1eDBYTnNLRTNyCnVvM3M3YmJiTGgveDZPLzFqcjJkc1lkdTFqUzdhWXpQ
WTliN1lzL3hwQzcycE1ZUEs4WWUwNjZMV09Lb3dOQ3dvVFlNRFl0aUxmWncKcDNQeHU5bXQ4amly
SGF1TVBPRkZ1bDRuSDNtSXV3UEZ4Y3BkRjN0ZzR5TGd1S3RRMTBYdVlvOXluRTdVZGRPY3V1SGQ0
NUJOM0ZJNApMcktQaS9uN1IxeTY5eTdrY1pySGtQSFFzR256bnJaY1RSdS8zMzlvZmtQRCt0UG9Q
NCtONTdnSSs0MXZmR01UK1l6VFlJNDk5dGk4Cjk3eC9zZmU4T2UxUGUwMHZmLzE1cmNubmNVcFcv
RVd4RWJkK2phTkNjWU9EdUlYdjFhNTJ0U1pkMTdZc3MxL004amRweHZGNWo5UGYKMGpVVitaYmJD
L2w4elBONTZwYmZvZVZ0VnU0bnhSMzk1bDBlcDcyL2kyM2E4R245cDlsUEduOWUzNkgxMXBEZHBI
bnFSNEFBZ2RvRgo1aXBBdWw4NTd4NERKZllHeGdabC8xenFjYXpZUXg1N3hxSkxGNEhuY2Z2angx
NzArT3U2R0Jhdll5TTl2bERqTGlYUnBRdTdtL3ZlCjk3Nmp2ZXZkK04xamZ6NnhoemYyUk1XcFRq
SFAyQkNPallqclh2ZTZnOVBzVHlQZTErK0dZb2s5L2QvODVqZnpMWW5QT3V1c1hHekUKK05IRlhh
ODIyR0NEdkpFWDUyZkgzek9mK2N4OEt0UFFzSFRCNjlRMkRBMkxhY1plME5oejIzVnhqVTNzZllz
Q1lhZ2RjUnBUYkhERgpuWEttZFhIYVFsem5FYWRoeFNsWlhSZlhEY1ExUFhHcVc5ZkYzYmRpSXpa
ZGxKbDdEVGwxNytrZWgyekNNSmE3MkhDS05zVXBXRkZzCnhqSVRmL0g3RVAxQ0o1YXBHRzlTTjgx
anlIaG8yS1I1akM5WEVjL1FaeUNLdHY1blltaCtROE1teFJMOTRwU2kySnNmUjdSaUl6dXUKa1lt
OXZuRTNwZjdHM0R3NUhZOTFLY3ZmdEhndnJmNnhNUm0zKzQzcjFjSW1IdmZaWjUrOEl5TitiMlRl
YnVoenRaamxyNXR2dDQ2SgoxMUVjeFE2QnVOWnMxdWRqUEdlenh1OHZ2MFByMWxtNTcrSWVmNXgz
ZVl6MzliOGY0blUvdG5tK1grSTlYVGZOdmorOGV6NnY3Mzc3CjdUZDFmVC9yc3hxL2FSS0ZiZmQ5
MmMzYkl3RUNCS29WU0J0dGcxMDYrcER2K0pJQTJyUVIzNmJEOVcyNjRMQk5YM2o1ams3cEZyeHQK
MnNNL2NScHBUM21iTm1yeW5YZlNiVkh6WGJQU1JZOXRPZ0xRcGczZE51MGRiOU1HYzV2dXc5K21q
ZmcyM2RZMVR6TWQ5Y2pqcEF1Swo4L3crK3RHUHRtbXZYcjV6eWFRWjllZVRpbzgyN21xVE5yTHl2
TlA1OUczYXc1dmZGbmQ4bVRiTjhXbjA1elAwdm5UK2ZKdE9KV2pUCnJUamIvL3F2LzhwMzhrb2JL
Nk83Tk1XOEk0YndTeHMxYlRwMWFEVHBvV0hUMmhCdkhocVdUcTlwMDNVUDJUWjlJYmFwVUdqVGRT
aHQKOUI5cVIrUWs3bXFXZmtCc0ZOK2tKM0hYbmZTalg2c05pbnhHYnVNdVJPbEM1RFlWS3ZrT1R0
MklzNXk2OGJySGFUYnBsSzU4bDZoMApxbGUrZzFQY3VTbGQrTittVTJYeTNkWFNSa20rODFjNjU3
cU51N2Z0c01NT2VWbjQ3R2MvMjAxNjlEamtNV1E4Tkd3MDhVdWU5SmVyCldaK0J5RkhhMjk2bURk
NDJGZCtqU1EzTmIyallhQUpqVCtJem15N2tIdlZOaGVjcXI3c0JRem1kRnV0aWw3OXVudk04cG5Q
dDgrY3AKYmF5dE5ub3FqdHRZTnFaMXNTNkp6Mkk2WFhBMFNyb0ZiKzZYQ3RkUnY3MzIyaXN2UjJt
anZuM3FVNSthN3pnMUdyaUFKME9mcThVdQpmM0Yzd0xoVFd1UXRuUTdaeHAzMzBoNzlITlhRNStQ
dGIzLzdhc3ZYMFBoeFI2Mys4anUwYm8yWkQrVitpR3llNVhIOCsyRTh0bG1mCnJmSDVEOWt2MWpk
aW1yYmVpdmtQZlZiVERwWDhmUlU1MGhFZ1FPQ3lJQkI3amRkbzE5MUtjNkV6U1h1dDgxdlNucTFW
TmhhbVRXZDgKUHZGbEVCdFpjYXZMcnBzMXpmRnB6UHUrbUZmYU81ZEhqMXR5am5leFlkTnRJQ3hr
MktRMmRPOGZHcGIyY281dVlacjJwbmR2R2QzRwplSnBwdWpOTSsveDBXOXVoTGdyUWRDM094Rkdp
blhFcjF2N0diWC9FV1U3OWNlUDVrRnZuSGVOTk1vLytzN3BaeThPUThkQ3c4ZmxPClc2N0d4eHQ2
UFRTL29XR1RwcG1PR0szU2UveDFmK0NzblBiSDdaNHZkdm5yM2wvYjQ3VFAxV0tYdjloQVRyOXps
TmVMY1h2YVNkMUMKUHg5RDQ0OHZ2MFBMMjdUY1Q0cXg2emUrL0kyLzdzYWI5RGdlMjZSeEp2VWJz
bCtxNzlCNmE4aHVXaTRueGE4ZkFRSUUxbmFCZGFJQgoxUjdlMGJBRkNjUkYzWEhIbi9qMSt2RXVU
aVdKVTNmaVZJSzRwV1QvZEozeGNiMG1RT0RmQWtPZnEzK1BOZit6ZEpReTMzNzNGYTk0CnhmeHZN
dWJjQW56bnBqSWlBUUlFRmkwdzF6VWdpNTY2TjY1VkFuR3IwVW5GUjV3TEg5Y0x4RzlzeE8reEtE
N1dxclFLOWxJV21QYTUKV2t4WWFlOTYwMTFydHBqM2U4K3dBTjloSDBNSkVDQ3dYQUtPZ0N5WFpN
WFRpWnNQeEEwQjRrWUFjYmNiSFFFQ2w0NUF1a1pnZEtGeQp1dTZzaWQvUzBDMmZBTi9sc3pRbEFn
UUlEQWtvUUlaMERDTkFnQUFCQWdRSUVDQkFZRmtGbklLMXJKd21Sb0FBQVFJRUNCQWdRSURBCmtJ
QUNaRWpITUFJRUNCQWdRSUFBQVFJRWxsVkFBYktzbkNaR2dBQUJBZ1FJRUNCQWdNQ1FnQUprU01j
d0FnUUlFQ0JBZ0FBQkFnU1cKVlVBQnNxeWNKa2FBQUFFQ0JBZ1FJRUNBd0pDQUFtUkl4ekFDQkFn
UUlFQ0FBQUVDQkpaVlFBR3lySndtUm9BQUFRSUVDQkFnUUlEQQprSUFDWkVqSE1BSUVDQkFnUUlB
QUFRSUVsbFZBQWJLc25DWkdnQUFCQWdRSUVDQkFnTUNRZ0FKa1NNY3dBZ1FJRUNCQWdBQUJBZ1NX
ClZVQUJzcXljSmthQUFBRUNCQWdRSUVDQXdKQ0FBbVJJeHpBQ0JBZ1FJRUNBQUFFQ0JKWlZRQUd5
ckp3bVJvQUFBUUlFQ0JBZ1FJREEKa0lBQ1pFakhNQUlFQ0JBZ1FJQUFBUUlFbGxWQUFiS3NuQ1pH
Z0FBQkFnUUlFQ0JBZ01DUWdBSmtTTWN3QWdRSUVDQkFnQUFCQWdTVwpWVUFCc3F5Y0prYUFBQUVD
QkFnUUlFQ0F3SkNBQW1SSXh6QUNCQWdRSUVDQUFBRUNCSlpWUUFHeXJKd21Sb0FBQVFJRUNCQWdR
SURBCmtJQUNaRWpITUFJRUNCQWdRSUFBQVFJRWxsVmcvVmxUdS9qaWk1c25QL25KelFVWFhMREtx
T3V2djM2eitlYWJOenZ2dkhOejczdmYKZXpUc1JTOTZVZk9MWC95aVdXKzk5WnJOTnR1c3Vkbk5i
dGJzdmZmZXpicnJydHVjYzg0NXpXTWYrOWhtenozM2JCNzV5RWMyNjZ5egpUbjdmSno3eGllWTcz
L2xPYy9EQkIrZlhiM3ZiMjVvenp6eXplZDd6bnBkZmYrbExYMnJlL2U1M044Y2NjMHgrejNMRkV4
TS80SUFECm1xdGU5YXJOMDU3MnRHYlRUVGZOOC92WnozN1dISDc0NGMxUlJ4M1ZYUDd5bDI5T08r
MjA1dFd2Zm5VVGJidm1OYS9aL09sUGYyb08KT3VpZzVqR1BlVXl6eXk2NzVQZDAvNWJUSzZhNTNQ
RjFjWG9rUUlBQUFRSUVDQkFnY0trSXRETzZyMzcxcTIwS2JQRHZKUzk1U1o3SwplZWVkMTZiQ1k3
VnhEenp3d0R6OHVPT09hN2ZjY3NzOC9KQkREaG5OZWIvOTltdHZjNXZiakY0Ly9PRVBiMVBoTW5w
OTVKRkh0cW5nCmFTKzY2S0oyT2VQNTNlOSsxOTdxVnJmSzhWei8rdGR2VS9HUTUvbUJEM3dnOTB1
RlZINmRDcVQ4K2tjLytsRisvYXRmL1NxLy90Q0gKUGpTS3NYdFNlbnhkbkI0SkVDQkFnQUFCQWdR
SVhCb0NNMC9CMm5YWFhac1UyR3AvcVJob2Z2T2IzelIzdTl2ZG1yVEJub3VuT0lKdwo0WVVYNW5I
alNFQXFTSm9IUE9BQm8rRnhwT1NNTTg1bzduNzN1emZ2ZWM5N1JnWFhOdHRzMDV4OTl0bWoxM0dF
b1RzYUVUM1RCbjhUCjQ4UlJsT1dNWjVOTk5tbE9QUEhFZktRakZSZk5xYWVlbW1PSWVVVVhSMnlp
aTNpaXUvclZyNTRmZi9uTFgrYkhiYmZkTmovMi81VWUKWHo5V3p3a1FJRUNBQUFFQ0JBaXN0TURN
QW1SYVFGRU14T2xJdSsrKysyaER2VDl1bkY0VlJjUzk3bld2NXR4enp4ME5pbE9hOXRwcgpyMXk4
ZEQxamc3L2IySTkrVVhCc3NjVVczZURtNXovL2ViUDk5dHVQWGs5NnN0aDRZbHBSSkVVWEJWVjA0
d1ZJeEhPRksxeWh1ZHJWCnJwYUhSenpSellvcGozVEp2OUxqNjhmcU9RRUNCQWdRSUVDQUFJRTFK
VEJYQWZMVG4vNjBlY0lUbnREODRROS9XQzJPalRiYWFHTC8KYnNRWS9xOS8vYXY1MjkvKzF2WEsx
MXo4L2U5L2J3NDc3TERtNUpOUHpodjg4ZnJQZi81ekxqWk9PdW1rVmE0cmlXc3cwaWxTby9ldgpp
WGhpNGwvNzJ0ZWFON3poRGZuYWxnMDMzREFmbFltalB4Lys4SWR6SWRWZHN4THh4UFV2RzIrODhT
aW0vcFBTNCt2SDZqa0JBZ1FJCkVDQkFnQUNCbFJTWXF3Q0pJd054QWZoZi8vclgxV0tMaTgySHVt
NTRiTWgzWGJjaEg2ZHJ4YWxhM1JHSG80OCt1dGxqanozeWhkMzMKdTkvOTh1anBPb3ZtOU5OUGI1
NzBwQ2QxYjg5SEtwWXpubTdDRVdPY1doYmQxbHR2M1J4Ly9QSE4vdnZ2MzN6dmU5OGJYU0QveHov
KwpNWit5bGE1cjZkNjIydU55ZTNVeldLNzR1dWw1SkVDQUFBRUNCQWdRSUxEU0FuTVZJR3NxcUxq
TFZkeEZLemIybzR1aVl0OTk5MjArCi8vblA1MU9lNHRxTFF3ODl0RWtYcFRjM3VNRU4xbFFZbytu
dXVPT08rVWhQOUlpaTZOaGpqMjAyMkdDRGZHUmtwNTEyeXVNOS8vblAKejdFOTlhbFBIYjF2cFo2
VUh0OUtPWmdQQVFJRUNCQWdRSURBMmlzdzh6YThLOUcwdUExdS9FV3g4WWhIUENMUE1tNjlHOCsz
Mm1xcgpmRXZjbFlpalA0OG9RT0xvemR2Zi92YmNPeTZTZi9Takg5MmNjTUlKemZ2ZTk3N21pbGU4
WW4vMEZYOWVlbndyRG1LR0JBZ1FJRUNBCkFBRUNhNFhBcFhvRXBDOFVHOVR4dXh1NzdiWmJ2Z0E5
SHZmWlo1OThHbFJjYjdIU1hjUVRkOGlLVThIaStwTW9oTTQvLy96bWxGTk8KeVRHdWREemo4eXM5
dnZGNHZTWkFnQUFCQWdRSUVDQVFBc1VVSUhGSHFiUE9PaXRmWnhKM3BmcktWNzdTSEhIRUVVMzg0
T0dsMGNVRwpmbHlqRXRlZnhLbFBiM25MVzNKTTNlbGlsMFpNL1htV0hsOC9WczhKRUNCQWdBQUJB
Z1FJZEFMcnBBdWIvMzExZU5mWEl3RUNCQWdRCklFQ0FBQUVDQk5hQVFERkhRTlpBMjB5U0FBRUNC
QWdRSUVDQUFJSENCQlFnaFNWRU9BUUlFQ0JBZ0FBQkFnUnFGbENBMUp4ZGJTTkEKZ0FBQkFnUUlF
Q0JRbUlBQ3BMQ0VDSWNBQVFJRUNCQWdRSUJBelFJS2tKcXpxMjBFQ0JBZ1FJQUEwL2dHUlFBQUlB
QkpSRUZVQVFJRQpDaE5RZ0JTV0VPRVFJRUNBQUFFQ0JBZ1FxRmxBQVZKemRyV05BQUVDQkFnUUlF
Q0FRR0VDQ3BEQ0VpSWNBZ1FJRUNCQWdBQUJBalVMCktFQnF6cTYyRVNCQWdBQUJBZ1FJRUNoTVFB
RlNXRUtFUTRBQUFRSUVDQkFnUUtCbUFRVkl6ZG5WTmdJRUNCQWdRSUFBQVFLRkNTaEEKQ2t1SWNB
Z1FJRUNBQUFFQ0JBalVMS0FBcVRtNzJrYUFBQUVDQkFnUUlFQ2dNQUVGU0dFSkVRNEJBZ1FJRUNC
QWdBQ0JtZ1VVSURWbgpWOXNJRUNCQWdBQUJBZ1FJRkNhZ0FDa3NJY0loUUlBQUFRSUVDQkFnVUxP
QUFxVG03R29iQVFJRUNCQWdRSUFBZ2NJRUZDQ0ZKVVE0CkJBZ1FJRUNBQUFFQ0JHb1dVSURVbkYx
dEkwQ0FBQUVDQkFnUUlGQ1lnQUtrc0lRSWh3QUJBZ1FJRUNCQWdFRE5BZ3FRbXJPcmJRUUkKRUNC
QWdBQUJBZ1FLRTFDQUZKWVE0UkFnUUlBQUFRSUVDQkNvV1VBQlVuTjJ0WTBBQVFJRUNCQWdRSUJB
WVFJS2tNSVNJaHdDQkFnUQpJRUNBQUFFQ05Rc29RR3JPcnJZUklFQ0FBQUVDQkFnUUtFeEFBVkpZ
UW9SRGdBQUJBZ1FJRUNCQW9HWUJCVWpOMmRVMkFnUUlFQ0JBCmdBQUJBb1VKS0VBS1M0aHdDQkFn
UUlBQUFRSUVDTlFzb0FDcE9idmFSb0FBQVFJRUNCQWdRS0F3QVFWSVlRa1JEZ0VDQkFnUUlFQ0EK
QUlHYUJSUWdOV2RYMndnUUlFQ0FBQUVDQkFnVUpxQUFLU3dod2lGQWdBQUJBZ1FJRUNCUXM0QUNw
T2JzYWhzQkFnUUlFQ0JBZ0FDQgp3Z1FVSUlVbFJEZ0VDQkFnUUlBQUFRSUVhaFpRZ05TY1hXMGpR
SUFBQVFJRUNCQWdVSmlBQXFTd2hBaUhBQUVDQkFnUUlFQ0FRTTBDCkNwQ2FzNnR0QkFnUUlFQ0FB
QUVDQkFvVFVJQVVsaERoRUNCQWdBQUJBZ1FJRUtoWlFBRlNjM2ExalFBQkFnUUlFQ0JBZ0VCaEFn
cVEKd2hJaUhBSUVDQkFnUUlBQUFRSTFDeWhBYXM2dXRoRWdRSUFBQVFJRUNCQW9URUFCVWxoQ2hF
T0FBQUVDQkFnUUlFQ2daZ0VGU00zWgoxVFlDQkFnUUlFQ0FBQUVDaFFrb1FBcExpSEFJRUNCQWdB
QUJBZ1FJMUN5Z0FLazV1OXBHZ0FBQkFnUUlFQ0JBb0RBQkJVaGhDUkVPCkFRSUVDQkFnUUlBQWda
b0ZGQ0ExWjFmYkNCQWdRSUFBQVFJRUNCUW1vQUFwTENIQ0lVQ0FBQUVDQkFnUUlGQ3pnQUtrNXV4
cUd3RUMKQkFnUUlFQ0FBSUhDQkJRZ2hTVkVPQVFJRUNCQWdBQUJBZ1JxRmxDQTFKeGRiU05BZ0FB
QkFnUUlFQ0JRbUlBQ3BMQ0VDSWNBQVFJRQpDQkFnUUlCQXpRSUtrSnF6cTIwRUNCQWdRSUFBQVFJ
RUNoTlFnQlNXRU9FUUlFQ0FBQUVDQkFnUXFGbEFBVkp6ZHJXTkFBRUNCQWdRCklFQ0FRR0VDQ3BE
Q0VpSWNBZ1FJRUNCQWdBQUJBalVMS0VCcXpxNjJFU0JBZ0FBQkFnUUlFQ2hNUUFGU1dFS0VRNEFB
QVFJRUNCQWcKUUtCbUFRVkl6ZG5WTmdJRUNCQWdRSUFBQVFLRkNTaEFDa3VJY0FnUUlFQ0FBQUVD
QkFqVUxLQUFxVG03MmthQUFBRUNCQWdRSUVDZwpNQUVGU0dFSkVRNEJBZ1FJRUNCQWdBQ0JtZ1VV
SURWblY5c0lFQ0JBZ0FBQkFnUUlGQ2FnQUNrc0ljSWhRSUFBQVFJRUNCQWdVTE9BCkFxVG03R29i
QVFJRUNCQWdRSUFBZ2NJRUZDQ0ZKVVE0QkFnUUlFQ0FBQUVDQkdvV1VJRFVuRjF0STBDQUFBRUNC
QWdRSUZDWWdBS2sKc0lRSWh3QUJBZ1FJRUNCQWdFRE5BZ3FRbXJPcmJRUUlFQ0JBZ0FBQkFnUUtF
MUNBRkpZUTRSQWdRSUFBQVFJRUNCQ29XVUFCVW5OMgp0WTBBQVFJRUNCQWdRSUJBWVFJS2tNSVNJ
aHdDQkFnUUlFQ0FBQUVDTlFzb1FHck9ycllSSUVDQUFBRUNCQWdRS0V4QUFWSllRb1JECmdBQUJB
Z1FJRUNCQW9HWUJCVWpOMmRVMkFnUUlFQ0JBZ0FBQkFvVUpLRUFLUzRod0NCQWdRSUFBQVFJRUNO
UXNvQUNwT2J2YVJvQUEKQVFJRUNCQWdRS0F3QVFWSVlRa1JEZ0VDQkFnUUlFQ0FBSUdhQlJRZ05X
ZFgyd2dRSUVDQUFBRUNCQWdVSnFBQUtTd2h3aUZBZ0FBQgpBZ1FJRUNCUXM0QUNwT2JzYWhzQkFn
UUlFQ0JBZ0FDQndnUVVJSVVsUkRnRUNCQWdRSUFBQVFJRWFoWlFnTlNjWFcwalFJQUFBUUlFCkNC
QWdVSmlBQXFTd2hBaUhBQUVDQkFnUUlFQ0FRTTBDQ3BDYXM2dHRCQWdRSUVDQUFBRUNCQW9UVUlB
VWxoRGhFQ0JBZ0FBQkFnUUkKRUtoWlFBRlNjM2ExalFBQkFnUUlFQ0JBZ0VCaEFncVF3aElpSEFJ
RUNCQWdRSUFBQVFJMUN5aEFhczZ1dGhFZ1FJQUFBUUlFQ0JBbwpURUFCVWxoQ2hFT0FBQUVDQkFn
UUlFQ2daZ0VGU00zWjFUWUNCQWdRSUVDQUFBRUNoUWtvUUFwTGlIQUlFQ0JBZ0FBQkFnUUkxQ3ln
CkFLazV1OXBHZ0FBQkFnUUlFQ0JBb0RBQkJVaGhDUkVPQVFJRUNCQWdRSUFBZ1pvRkZDQTFaMWZi
Q0JBZ1FJQUFBUUlFQ0JRbW9BQXAKTENIQ0lVQ0FBQUVDQkFnUUlGQ3pnQUtrNXV4cUd3RUNCQWdR
SUVDQUFJSENCQlFnaFNWRU9BUUlFQ0JBZ0FBQkFnUnFGbENBMUp4ZApiU05BZ0FBQkFnUUlFQ0JR
bUlBQ3BMQ0VDSWNBQVFJRUNCQWdRSUJBelFJS2tKcXpxMjBFQ0JBZ1FJQUFBUUlFQ2hOUWdCU1dF
T0VRCklFQ0FBQUVDQkFnUXFGbEFBVkp6ZHJXTkFBRUNCQWdRSUVDQVFHRUNDcERDRWlJY0FnUUlF
Q0JBZ0FBQkFqVUxLRUJxenE2MkVTQkEKZ0FBQkFnUUlFQ2hNUUFGU1dFS0VRNEFBQVFJRUNCQWdR
S0JtQVFWSXpkblZOZ0lFQ0JBZ1FJQUFBUUtGQ1NoQUNrdUljQWdRSUVDQQpBQUVDQkFqVUxLQUFx
VG03MmthQUFBRUNCQWdRSUVDZ01BRUZTR0VKRVE0QkFnUUlFQ0JBZ0FDQm1nVVVJRFZuVjlzSUVD
QkFnQUFCCkFnUUlGQ2FnQUNrc0ljSWhRSUFBQVFJRUNCQWdVTE9BQXFUbTdHb2JBUUlFQ0JBZ1FJ
QUFnY0lFRkNDRkpVUTRCQWdRSUVDQUFBRUMKQkdvV1VJRFVuRjF0STBDQUFBRUNCQWdRSUZDWWdB
S2tzSVFJaHdBQkFnUUlFQ0JBZ0VETkFncVFtck9yYlFRSUVDQkFnQUFCQWdRSwpFMUNBRkpZUTRS
QWdRSUFBQVFJRUNCQ29XVUFCVW5OMnRZMEFBUUlFQ0JBZ1FJQkFZUUlLa01JU0lod0NCQWdRSUVD
QUFBRUNOUXNvClFHck9ycllSSUVDQUFBRUNCQWdRS0V4QUFWSllRb1JEZ0FBQkFnUUlFQ0JBb0dZ
QkJVak4yZFUyQWdRSUVDQkFnQUFCQW9VSktFQUsKUzRod0NCQWdRSUFBQVFJRUNOUXNvQUNwT2J2
YVJvQUFBUUlFQ0JBZ1FLQXdBUVZJWVFrUkRnRUNCQWdRSUVDQUFJR2FCUlFnTldkWAoyd2dRSUVD
QUFBRUNCQWdVSnFBQUtTd2h3aUZBZ0FBQkFnUUlFQ0JRczRBQ3BPYnNhaHNCQWdRSUVDQkFnQUNC
d2dRVUlJVWxSRGdFCkNCQWdRSUFBQVFJRWFoWlFnTlNjWFcwalFJQUFBUUlFQ0JBZ1VKaUFBcVN3
aEFpSEFBRUNCQWdRSUVDQVFNMENDcENhczZ0dEJBZ1EKSUVDQUFBRUNCQW9UVUlBVWxoRGhFQ0JB
Z0FBQkFnUUlFS2haUUFGU2MzYTFqUUFCQWdRSUVDQkFnRUJoQWdxUXdoSWlIQUlFQ0JBZwpRSUFB
QVFJMUN5aEFhczZ1dGhFZ1FJQUFBUUlFQ0JBb1RFQUJVbGhDaEVPQUFBRUNCQWdRSUVDZ1pnRUZT
TTNaMVRZQ0JBZ1FJRUNBCkFBRUNoUWtvUUFwTGlIQUlFQ0JBZ0FBQkFnUUkxQ3lnQUtrNXU5cEdn
QUFCQWdRSUVDQkFvREFCQlVoaENSRU9BUUlFQ0JBZ1FJQUEKZ1pvRkZDQTFaMWZiQ0JBZ1FJQUFB
UUlFQ0JRbW9BQXBMQ0hDSVVDQUFBRUNCQWdRSUZDemdBS2s1dXhxR3dFQ0JBZ1FJRUNBQUlIQwpC
QlFnaFNWRU9BUUlFQ0JBZ0FBQkFnUnFGbENBMUp4ZGJTTkFnQUFCQWdRSUVDQlFtSUFDcExDRUNJ
Y0FBUUlFQ0JBZ1FJQkF6UUlLCmtKcXpxMjBFQ0JBZ1FJQUFBUUlFQ2hOUWdCU1dFT0VRSUVDQUFB
RUNCQWdRcUZsQUFWSnpkcldOQUFFQ0JBZ1FJRUNBUUdFQ0NwREMKRWlJY0FnUUlFQ0JBZ0FBQkFq
VUxLRUJxenE2MkVTQkFnQUFCQWdRSUVDaE1RQUZTV0VLRVE0QUFBUUlFQ0JBZ1FLQm1BUVZJemRu
VgpOZ0lFQ0JBZ1FJQUFBUUtGQ1NoQUNrdUljQWdRSUVDQUFBRUNCQWpVTEtBQXFUbTcya2FBQUFF
Q0JBZ1FJRUNnTUFFRlNHRUpFUTRCCkFnUUlFQ0JBZ0FDQm1nVVVJRFZuVjlzSUVDQkFnQUFCQWdR
SUZDYWdBQ2tzSWNJaFFJQUFBUUlFQ0JBZ1VMT0FBcVRtN0dvYkFRSUUKQ0JBZ1FJQUFnY0lFRkND
RkpVUTRCQWdRSUVDQUFBRUNCR29XVUlEVW5GMXRJMENBQUFFQ0JBZ1FJRkNZZ0FLa3NJUUlod0FC
QWdRSQpFQ0JBZ0VETkFncVFtck9yYlFRSUVDQkFnQUFCQWdRS0UxQ0FGSllRNFJBZ1FJQUFBUUlF
Q0JDb1dVQUJVbk4ydFkwQUFRSUVDQkFnClFJQkFZUUlLa01JU0lod0NCQWdRSUVDQUFBRUNOUXNv
UUdyT3JyWVJJRUNBQUFFQ0JBZ1FLRXhBQVZKWVFvUkRnQUFCQWdRSUVDQkEKb0dZQkJVak4yZFUy
QWdRSUVDQkFnQUFCQW9VSktFQUtTNGh3Q0JBZ1FJQUFBUUlFQ05Rc29BQ3BPYnZhUm9BQUFRSUVD
QkFnUUtBdwpBUVZJWVFrUkRnRUNCQWdRSUVDQUFJR2FCUlFnTldkWDJ3Z1FJRUNBQUFFQ0JBZ1VK
cUFBS1N3aHdpRkFnQUFCQWdRSUVDQlFzNEFDCnBPYnNhaHNCQWdRSUVDQkFnQUNCd2dRVUlJVWxS
RGdFQ0JBZ1FJQUFBUUlFYWhaUWdOU2NYVzBqUUlBQUFRSUVDQkFnVUppQUFxU3cKaEFpSEFBRUNC
QWdRSUVDQVFNMENDcENhczZ0dEJBZ1FJRUNBQUFFQ0JBb1RVSUFVbGhEaEVDQkFnQUFCQWdRSUVL
aFpRQUZTYzNhMQpqUUFCQWdRSUVDQkFnRUJoQWdxUXdoSWlIQUlFQ0JBZ1FJQUFBUUkxQ3loQWFz
NnV0aEVnUUlBQUFRSUVDQkFvVEVBQlVsaENoRU9BCkFBRUNCQWdRSUVDZ1pnRUZTTTNaMVRZQ0JB
Z1FJRUNBQUFFQ2hRa29RQXBMaUhBSUVDQkFnQUFCQWdRSTFDeWdBS2s1dTlwR2dBQUIKQWdRSUVD
QkFvREFCQlVoaENSRU9BUUlFQ0JBZ1FJQUFnWm9GRkNBMVoxZmJDQkFnUUlBQUFRSUVDQlFtb0FB
cExDSENJVUNBQUFFQwpCQWdRSUZDemdBS2s1dXhxR3dFQ0JBZ1FJRUNBQUlIQ0JCUWdoU1ZFT0FR
SUVDQkFnQUFCQWdScUZsQ0ExSnhkYlNOQWdBQUJBZ1FJCkVDQlFtSUFDcExDRUNJY0FBUUlFQ0JB
Z1FJQkF6UUlLa0pxenEyMEVDQkFnUUlBQUFRSUVDaE5RZ0JTV0VPRVFJRUNBQUFFQ0JBZ1EKcUZs
QUFWSnpkcldOQUFFQ0JBZ1FJRUNBUUdFQ0NwRENFaUljQWdRSUVDQkFnQUFCQWpVTEtFQnF6cTYy
RVNCQWdBQUJBZ1FJRUNoTQpRQUZTV0VLRVE0QUFBUUlFQ0JBZ1FLQm1BUVZJemRuVk5nSUVDQkFn
UUlBQUFRS0ZDU2hBQ2t1SWNBZ1FJRUNBQUFFQ0JBalVMS0FBCnFUbTcya2FBQUFFQ0JBZ1FJRUNn
TUFFRlNHRUpFUTRCQWdRSUVDQkFnQUNCbWdVVUlEVm5WOXNJRUNCQWdBQUJBZ1FJRkNhZ0FDa3MK
SWNJaFFJQUFBUUlFQ0JBZ1VMT0FBcVRtN0dvYkFRSUVDQkFnUUlBQWdjSUVGQ0NGSlVRNEJBZ1FJ
RUNBQUFFQ0JHb1dVSURVbkYxdApJMENBQUFFQ0JBZ1FJRkNZZ0FLa3NJUUlod0FCQWdRSUVDQkFn
RUROQWdxUW1yT3JiUVFJRUNCQWdBQUJBZ1FLRTFDQUZKWVE0UkFnClFJQUFBUUlFQ0JDb1dVQUJV
bk4ydFkwQUFRSUVDQkFnUUlCQVlRSUtrTUlTSWh3Q0JBZ1FJRUNBQUFFQ05Rc29RR3JPcnJZUklF
Q0EKQUFFQ0JBZ1FLRXhBQVZKWVFvUkRnQUFCQWdRSUVDQkFvR1lCQlVqTjJkVTJBZ1FJRUNCQWdB
QUJBb1VKS0VBS1M0aHdDQkFnUUlBQQpBUUlFQ05Rc29BQ3BPYnZhUm9BQUFRSUVDQkFnUUtBd0FR
VklZUWtSRGdFQ0JBZ1FJRUNBQUlHYUJSUWdOV2RYMndnUUlFQ0FBQUVDCkJBZ1VKcUFBS1N3aHdp
RkFnQUFCQWdRSUVDQlFzNEFDcE9ic2Foc0JBZ1FJRUNCQWdBQ0J3Z1FVSUlVbFJEZ0VDQkFnUUlB
QUFRSUUKYWhaUWdOU2NYVzBqUUlBQUFRSUVDQkFnVUppQUFxU3doQWlIQUFFQ0JBZ1FJRUNBUU0w
Q0NwQ2FzNnR0QkFnUUlFQ0FBQUVDQkFvVApVSUFVbGhEaEVDQkFnQUFCQWdRSUVLaFpRQUZTYzNh
MWpRQUJBZ1FJRUNCQWdFQmhBZ3FRd2hJaUhBSUVDQkFnUUlBQUFRSTFDeWhBCmFzNnV0aEVnUUlB
QUFRSUVDQkFvVEVBQlVsaENoRU9BQUFFQ0JBZ1FJRUNnWmdFRlNNM1oxVFlDQkFnUUlFQ0FBQUVD
aFFrb1FBcEwKaUhBSUVDQkFnQUFCQWdRSTFDeWdBS2s1dTlwR2dBQUJBZ1FJRUNCQW9EQUJCVWho
Q1JFT0FRSUVDQkFnUUlBQWdab0ZGQ0ExWjFmYgpDQkFnUUlBQUFRSUVDQlFtb0FBcExDSENJVUNB
QUFFQ0JBZ1FJRkN6Z0FLazV1eHFHd0VDQkFnUUlFQ0FBSUhDQkJRZ2hTVkVPQVFJCkVDQkFnQUFC
QWdScUZsQ0ExSnhkYlNOQWdBQUJBZ1FJRUNCUW1JQUNwTENFQ0ljQUFRSUVDQkFnUUlCQXpRSUtr
SnF6cTIwRUNCQWcKUUlBQUFRSUVDaE5RZ0JTV0VPRVFJRUNBQUFFQ0JBZ1FxRmxBQVZKemRyV05B
QUVDQkFnUUlFQ0FRR0VDQ3BEQ0VpSWNBZ1FJRUNCQQpnQUFCQWpVTEtFQnF6cTYyRVNCQWdBQUJB
Z1FJRUNoTVFBRlNXRUtFUTRBQUFRSUVDQkFnUUtCbUFRVkl6ZG5WTmdJRUNCQWdRSUFBCkFRS0ZD
U2hBQ2t1SWNBZ1FJRUNBQUFFQ0JBalVMS0FBcVRtNzJrYUFBQUVDQkFnUUlFQ2dNQUVGU0dFSkVR
NEJBZ1FJRUNCQWdBQ0IKbWdVVUlEVm5WOXNJRUNCQWdBQUJBZ1FJRkNhZ0FDa3NJY0loUUlBQUFR
SUVDQkFnVUxPQUFxVG03R29iQVFJRUNCQWdRSUFBZ2NJRQpGQ0NGSlVRNEJBZ1FJRUNBQUFFQ0JH
b1dVSURVbkYxdEkwQ0FBQUVDQkFnUUlGQ1lnQUtrc0lRSWh3QUJBZ1FJRUNCQWdFRE5BZ3FRCm1y
T3JiUVFJRUNCQWdBQUJBZ1FLRTFDQUZKWVE0UkFnUUlBQUFRSUVDQkNvV1VBQlVuTjJ0WTBBQVFJ
RUNCQWdRSUJBWVFJS2tNSVMKSWh3Q0JBZ1FJRUNBQUFFQ05Rc29RR3JPcnJZUklFQ0FBQUVDQkFn
UUtFeEFBVkpZUW9SRGdBQUJBZ1FJRUNCQW9HWUJCVWpOMmRVMgpBZ1FJRUNCQWdBQUJBb1VKS0VB
S1M0aHdDQkFnUUlBQUFRSUVDTlFzb0FDcE9idmFSb0FBQVFJRUNCQWdRS0F3QVFWSVlRa1JEZ0VD
CkJBZ1FJRUNBQUlHYUJSUWdOV2RYMndnUUlFQ0FBQUVDQkFnVUpxQUFLU3dod2lGQWdBQUJBZ1FJ
RUNCUXM0QUNwT2JzYWhzQkFnUUkKRUNCQWdBQ0J3Z1FVSUlVbFJEZ0VDQkFnUUlBQUFRSUVhaFpR
Z05TY1hXMGpRSUFBQVFJRUNCQWdVSmlBQXFTd2hBaUhBQUVDQkFnUQpJRUNBUU0wQ0NwQ2FzNnR0
QkFnUUlFQ0FBQUVDQkFvVFVJQVVsaERoRUNCQWdBQUJBZ1FJRUtoWlFBRlNjM2ExalFBQkFnUUlF
Q0JBCmdFQmhBZ3FRd2hJaUhBSUVDQkFnUUlBQUFRSTFDeWhBYXM2dXRoRWdRSUFBQVFJRUNCQW9U
RUFCVWxoQ2hFT0FBQUVDQkFnUUlFQ2cKWmdFRlNNM1oxVFlDQkFnUUlFQ0FBQUVDaFFrb1FBcExp
SEFJRUNCQWdBQUJBZ1FJMUN5Z0FLazV1OXBHZ0FBQkFnUUlFQ0JBb0RBQgpCVWhoQ1JFT0FRSUVD
QkFnUUlBQWdab0ZGQ0ExWjFmYkNCQWdRSUFBQVFJRUNCUW1vQUFwTENIQ0lVQ0FBQUVDQkFnUUlG
Q3pnQUtrCjV1eHFHd0VDQkFnUUlFQ0FBSUhDQkJRZ2hTVkVPQVFJRUNCQWdBQUJBZ1JxRmxDQTFK
eGRiU05BZ0FBQkFnUUlFQ0JRbUlBQ3BMQ0UKQ0ljQUFRSUVDQkFnUUlCQXpRSUtrSnF6cTIwRUNC
QWdRSUFBQVFJRUNoTlFnQlNXRU9FUUlFQ0FBQUVDQkFnUXFGbEFBVkp6ZHJXTgpBQUVDQkFnUUlF
Q0FRR0VDQ3BEQ0VpSWNBZ1FJRUNCQWdBQUJBalVMS0VCcXpxNjJFU0JBZ0FBQkFnUUlFQ2hNUUFG
U1dFS0VRNEFBCkFRSUVDQkFnUUtCbUFRVkl6ZG5WTmdJRUNCQWdRSUFBQVFLRkNTaEFDa3VJY0Fn
UUlFQ0FBQUVDQkFqVUxLQUFxVG03MmthQUFBRUMKQkFnUUlFQ2dNQUVGU0dFSkVRNEJBZ1FJRUNC
QWdBQ0JtZ1VVSURWblY5c0lFQ0JBZ0FBQkFnUUlGQ2FnQUNrc0ljSWhRSUFBQVFJRQpDQkFnVUxP
QUFxVG03R29iQVFJRUNCQWdRSUFBZ2NJRUZDQ0ZKVVE0QkFnUUlFQ0FBQUVDQkdvV1VJRFVuRjF0
STBDQUFBRUNCQWdRCklGQ1lnQUtrc0lRSWh3QUJBZ1FJRUNCQWdFRE5BZ3FRbXJPcmJRUUlFQ0JB
Z0FBQkFnUUtFMUNBRkpZUTRSQWdRSUFBQVFJRUNCQ28KV1VBQlVuTjJ0WTBBQVFJRUNCQWdRSUJB
WVFJS2tNSVNJaHdDQkFnUUlFQ0FBQUVDTlFzb1FHck9ycllSSUVDQUFBRUNCQWdRS0V4QQpBVkpZ
UW9SRGdBQUJBZ1FJRUNCQW9HWUJCVWpOMmRVMkFnUUlFQ0JBZ0FBQkFvVUpLRUFLUzRod0NCQWdR
SUFBQVFJRUNOUXNvQUNwCk9idmFSb0FBQVFJRUNCQWdRS0F3QVFWSVlRa1JEZ0VDQkFnUUlFQ0FB
SUdhQlJRZ05XZFgyd2dRSUVDQUFBRUNCQWdVSnFBQUtTd2gKd2lGQWdBQUJBZ1FJRUNCUXM0QUNw
T2JzYWhzQkFnUUlFQ0JBZ0FDQndnUVVJSVVsUkRnRUNCQWdRSUFBQVFJRWFoWlFnTlNjWFcwagpR
SUFBQVFJRUNCQWdVSmlBQXFTd2hBaUhBQUVDQkFnUUlFQ0FRTTBDQ3BDYXM2dHRCQWdRSUVDQUFB
RUNCQW9UVUlBVWxoRGhFQ0JBCmdBQUJBZ1FJRUtoWlFBRlNjM2ExalFBQkFnUUlFQ0JBZ0VCaEFn
cVF3aElpSEFJRUNCQWdRSUFBQVFJMUN5aEFhczZ1dGhFZ1FJQUEKQVFJRUNCQW9URUFCVWxoQ2hF
T0FBQUVDQkFnUUlFQ2daZ0VGU00zWjFUWUNCQWdRSUVDQUFBRUNoUWtvUUFwTGlIQUlFQ0JBZ0FB
QgpBZ1FJMUN5Z0FLazV1OXBHZ0FBQkFnUUlFQ0JBb0RBQkJVaGhDUkVPQVFJRUNCQWdRSUFBZ1pv
RkZDQTFaMWZiQ0JBZ1FJQUFBUUlFCkNCUW1vQUFwTENIQ0lVQ0FBQUVDQkFnUUlGQ3pnQUtrNXV4
cUd3RUNCQWdRSUVDQUFJSENCQlFnaFNWRU9BUUlFQ0JBZ0FBQkFnUnEKRmxDQTFKeGRiU05BZ0FB
QkFnUUlFQ0JRbUlBQ3BMQ0VDSWNBQVFJRUNCQWdRSUJBelFJS2tKcXpxMjBFQ0JBZ1FJQUFBUUlF
Q2hOUQpnQlNXRU9FUUlFQ0FBQUVDQkFnUXFGbEFBVkp6ZHJXTkFBRUNCQWdRSUVDQVFHRUNDcERD
RWlJY0FnUUlFQ0JBZ0FBQkFqVUxLRUJxCnpxNjJFU0JBZ0FBQkFnUUlFQ2hNUUFGU1dFS0VRNEFB
QVFJRUNCQWdRS0JtQVFWSXpkblZOZ0lFQ0JBZ1FJQUFBUUtGQ1NoQUNrdUkKY0FnUUlFQ0FBQUVD
QkFqVUxLQUFxVG03MmthQUFBRUNCQWdRSUVDZ01BRUZTR0VKRVE0QkFnUUlFQ0JBZ0FDQm1nVVVJ
RFZuVjlzSQpFQ0JBZ0FBQkFnUUlGQ2FnQUNrc0ljSWhRSUFBQVFJRUNCQWdVTE9BQXFUbTdHb2JB
UUlFQ0JBZ1FJQUFnY0lFRkNDRkpVUTRCQWdRCklFQ0FBQUVDQkdvV1VJRFVuRjF0STBDQUFBRUNC
QWdRSUZDWWdBS2tzSVFJaHdBQkFnUUlFQ0JBZ0VETkFncVFtck9yYlFRSUVDQkEKZ0FBQkFnUUtF
MUNBRkpZUTRSQWdRSUFBQVFJRUNCQ29XVUFCVW5OMnRZMEFBUUlFQ0JBZ1FJQkFZUUlLa01JU0lo
d0NCQWdRSUVDQQpBQUVDTlFzb1FHck9ycllSSUVDQUFBRUNCQWdRS0V4QUFWSllRb1JEZ0FBQkFn
UUlFQ0JBb0dZQkJVak4yZFUyQWdRSUVDQkFnQUFCCkFvVUpLRUFLUzRod0NCQWdRSUFBQVFJRUNO
UXNvQUNwT2J2YVJvQUFBUUlFQ0JBZ1FLQXdBUVZJWVFrUkRnRUNCQWdRSUVDQUFJR2EKQlJRZ05X
ZFgyd2dRSUVDQUFBRUNCQWdVSnFBQUtTd2h3aUZBZ0FBQkFnUUlFQ0JRczRBQ3BPYnNhaHNCQWdR
SUVDQkFnQUNCd2dRVQpJSVVsUkRnRUNCQWdRSUFBQVFJRWFoWlFnTlNjWFcwalFJQUFBUUlFQ0JB
Z1VKaUFBcVN3aEFpSEFBRUNCQWdRSUVDQVFNMENDcENhCnM2dHRCQWdRSUVDQUFBRUNCQW9UVUlB
VWxoRGhFQ0JBZ0FBQkFnUUlFS2haUUFGU2MzYTFqUUFCQWdRSUVDQkFnRUJoQWdxUXdoSWkKSEFJ
RUNCQWdRSUFBQVFJMUN5aEFhczZ1dGhFZ1FJQUFBUUlFQ0JBb1RFQUJVbGhDaEVPQUFBRUNCQWdR
SUVDZ1pnRUZTTTNaMVRZQwpCQWdRSUVDQUFBRUNoUWtvUUFwTGlIQUlFQ0JBZ0FBQkFnUUkxQ3ln
QUtrNXU5cEdnQUFCQWdRSUVDQkFvREFCQlVoaENSRU9BUUlFCkNCQWdRSUFBZ1pvRkZDQTFaMWZi
Q0JBZ1FJQUFBUUlFQ0JRbW9BQXBMQ0hDSVVDQUFBRUNCQWdRSUZDemdBS2s1dXhxR3dFQ0JBZ1EK
SUVDQUFJSENCQlFnaFNWRU9BUUlFQ0JBZ0FBQkFnUnFGbENBMUp4ZGJTTkFnQUFCQWdRSUVDQlFt
SUFDcExDRUNJY0FBUUlFQ0JBZwpRSUJBelFJS2tKcXpxMjBFQ0JBZ1FJQUFBUUlFQ2hOUWdCU1dF
T0VRSUVDQUFBRUNCQWdRcUZsQUFWSnpkcldOQUFFQ0JBZ1FJRUNBClFHRUNDcERDRWlJY0FnUUlF
Q0JBZ0FBQkFqVUxLRUJxenE2MkVTQkFnQUFCQWdRSUVDaE1RQUZTV0VLRVE0QUFBUUlFQ0JBZ1FL
Qm0KQVFWSXpkblZOZ0lFQ0JBZ1FJQUFBUUtGQ1NoQUNrdUljQWdRSUVDQUFBRUNCQWpVTEtBQXFU
bTcya2FBQUFFQ0JBZ1FJRUNnTUFFRgpTR0VKRVE0QkFnUUlFQ0JBZ0FDQm1nVVVJRFZuVjlzSUVD
QkFnQUFCQWdRSUZDYWdBQ2tzSWNJaFFJQUFBUUlFQ0JBZ1VMT0FBcVRtCjdHb2JBUUlFQ0JBZ1FJ
QUFnY0lFRkNDRkpVUTRCQWdRSUVDQUFBRUNCR29XVUlEVW5GMXRJMENBQUFFQ0JBZ1FJRkNZZ0FL
a3NJUUkKaHdBQkFnUUlFQ0JBZ0VETkFncVFtck9yYlFRSUVDQkFnQUFCQWdRS0UxQ0FGSllRNFJB
Z1FJQUFBUUlFQ0JDb1dVQUJVbk4ydFkwQQpBUUlFQ0JBZ1FJQkFZUUlLa01JU0lod0NCQWdRSUVD
QUFBRUNOUXNvUUdyT3JyWVJJRUNBQUFFQ0JBZ1FLRXhBQVZKWVFvUkRnQUFCCkFnUUlFQ0JBb0dZ
QkJVak4yZFUyQWdRSUVDQkFnQUFCQW9VSktFQUtTNGh3Q0JBZ1FJQUFBUUlFQ05Rc29BQ3BPYnZh
Um9BQUFRSUUKQ0JBZ1FLQXdBUVZJWVFrUkRnRUNCQWdRSUVDQUFJR2FCUlFnTldkWDJ3Z1FJRUNB
QUFFQ0JBZ1VKcUFBS1N3aHdpRkFnQUFCQWdRSQpFQ0JRczRBQ3BPYnNhaHNCQWdRSUVDQkFnQUNC
d2dRVUlJVWxSRGdFQ0JBZ1FJQUFBUUlFYWhaUWdOU2NYVzBqUUlBQUFRSUVDQkFnClVKaUFBcVN3
aEFpSEFBRUNCQWdRSUVDQVFNMENDcENhczZ0dEJBZ1FJRUNBQUFFQ0JBb1RVSUFVbGhEaEVDQkFn
QUFCQWdRSUVLaFoKUUFGU2MzYTFqUUFCQWdRSUVDQkFnRUJoQWdxUXdoSWlIQUlFQ0JBZ1FJQUFB
UUkxQ3loQWFzNnV0aEVnUUlBQUFRSUVDQkFvVEVBQgpVbGhDaEVPQUFBRUNCQWdRSUVDZ1pnRUZT
TTNaMVRZQ0JBZ1FJRUNBQUFFQ2hRa29RQXBMaUhBSUVDQkFnQUFCQWdRSTFDeWdBS2s1CnU5cEdn
QUFCQWdRSUVDQkFvREFCQlVoaENSRU9BUUlFQ0JBZ1FJQUFnWm9GRkNBMVoxZmJDQkFnUUlBQUFR
SUVDQlFtb0FBcExDSEMKSVVDQUFBRUNCQWdRSUZDemdBS2s1dXhxR3dFQ0JBZ1FJRUNBQUlIQ0JC
UWdoU1ZFT0FRSUVDQkFnQUFCQWdScUZsQ0ExSnhkYlNOQQpnQUFCQWdRSUVDQlFtSUFDcExDRUNJ
Y0FBUUlFQ0JBZ1FJQkF6UUlLa0pxenEyMEVDQkFnUUlBQUFRSUVDaE5RZ0JTV0VPRVFJRUNBCkFB
RUNCQWdRcUZsQUFWSnpkcldOQUFFQ0JBZ1FJRUNBUUdFQ0NwRENFaUljQWdRSUVDQkFnQUFCQWpV
TEtFQnF6cTYyRVNCQWdBQUIKQWdRSUVDaE1RQUZTV0VLRVE0QUFBUUlFQ0JBZ1FLQm1BUVZJemRu
Vk5nSUVDQkFnUUlBQUFRS0ZDU2hBQ2t1SWNBZ1FJRUNBQUFFQwpCQWpVTEtBQXFUbTcya2FBQUFF
Q0JBZ1FJRUNnTUFFRlNHRUpFUTRCQWdRSUVDQkFnQUNCbWdVVUlEVm5WOXNJRUNCQWdBQUJBZ1FJ
CkZDYWdBQ2tzSWNJaFFJQUFBUUlFQ0JBZ1VMT0FBcVRtN0dvYkFRSUVDQkFnUUlBQWdjSUVGQ0NG
SlVRNEJBZ1FJRUNBQUFFQ0JHb1cKVUlEVW5GMXRJMENBQUFFQ0JBZ1FJRkNZZ0FLa3NJUUlod0FC
QWdRSUVDQkFnRUROQWdyb2NicHhBQUFDR0VsRVFWU1Ftck9yYlFRSQpFQ0JBZ0FBQkFnUUtFMUNB
RkpZUTRSQWdRSUFBQVFJRUNCQ29XVUFCVW5OMnRZMEFBUUlFQ0JBZ1FJQkFZUUlLa01JU0lod0NC
QWdRCklFQ0FBQUVDTlFzb1FHck9ycllSSUVDQUFBRUNCQWdRS0V4QUFWSllRb1JEZ0FBQkFnUUlF
Q0JBb0dZQkJVak4yZFUyQWdRSUVDQkEKZ0FBQkFvVUpLRUFLUzRod0NCQWdRSUFBQVFJRUNOUXNv
QUNwT2J2YVJvQUFBUUlFQ0JBZ1FLQXdBUVZJWVFrUkRnRUNCQWdRSUVDQQpBSUdhQlJRZ05XZFgy
d2dRSUVDQUFBRUNCQWdVSnFBQUtTd2h3aUZBZ0FBQkFnUUlFQ0JRczRBQ3BPYnNhaHNCQWdRSUVD
QkFnQUNCCndnUVVJSVVsUkRnRUNCQWdRSUFBQVFJRWFoWlFnTlNjWFcwalFJQUFBUUlFQ0JBZ1VK
aUFBcVN3aEFpSEFBRUNCQWdRSUVDQVFNMEMKQ3BDYXM2dHRCQWdRSUVDQUFBRUNCQW9UVUlBVWxo
RGhFQ0JBZ0FBQkFnUUlFS2haUUFGU2MzYTFqUUFCQWdRSUVDQkFnRUJoQWdxUQp3aElpSEFJRUNC
QWdRSUFBQVFJMUN5aEFhczZ1dGhFZ1FJQUFBUUlFQ0JBb1RFQUJVbGhDaEVPQUFBRUNCQWdRSUVD
Z1pnRUZTTTNaCjFUWUNCQWdRSUVDQUFBRUNoUWtvUUFwTGlIQUlFQ0JBZ0FBQkFnUUkxQ3lnQUtr
NXU5cEdnQUFCQWdRSUVDQkFvREFCQlVoaENSRU8KQVFJRUNCQWdRSUFBZ1pvRkZDQTFaMWZiQ0JB
Z1FJQUFBUUlFQ0JRbW9BQXBMQ0hDSVVDQUFBRUNCQWdRSUZDemdBS2s1dXhxR3dFQwpCQWdRSUVD
QUFJSENCUDQvSFZTM211YjFZSXdBQUFBQVNVVk9SSzVDWUlJPQoKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLWxpbmVicmVhay0wMDMt
ZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEg
YmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCmlW
Qk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBQzdtbERRMUJKUTBN
Z1VISnZabWxzWlFBQWVBR0YKVk05ckUwRVUvalp1cWRBaUNGcHJEcko0a0NKSldhdG9SZFEyL1JG
aWF3emJIN1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApCLytBSG5yd1pDOUtoVnBGS042
cktHS2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FCT1FOeDFLaUVXbHNmRUpx
Ci9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdkN0ozclpyU3Rwb0hoUDFB
NEVlYTJTcXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9VNTVlTUcxRHlzOXhGa2lmRUEx
TGM1L1RiaFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNiSQpFTDFQa0thN3pPNnJZcUdj
VHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBPYkVoajBjR0RYMCtHQVZ0
eHFwCitEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZQnpXa2hQMTB4dStMcUhC
WDBtMXhPdjRuZFdVZUY1anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5YURVaFFFRVVFWVppd1VFQ0dQ
Qm94TkxKeVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050dzl0MUdrM1R6KwpLQ0p4bEVPMUNKTDhR
ZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhqamMwMWVmSlhVZHBOWFI1
YXNlWHE4Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1YalZmUHFTNFIxV2pFMzM1
OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2SlBtVmZsUFh2WHgvR2ZOeEdQaUtU
RW1kb3JuSVltWHhTN3hrdGhMcXd2aVlHM0hDSjJWaGluU2JaSDZKTlZnWUpxOAo5UzlkUDF0NHZV
Wi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVmS0FJdmJPREltYnB0VTNI
dkVLRmxwVzV6CnJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhndkFFY2RvZDZIdWdwbU5P
V2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pWV0xwZHRpWjB4MXVIS0U1UXZm
RXAwcGxrL3F2OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2YjhDOC9VWEFlSXVKQUFBZwpBRWxFUVZS
NEFlM2RCOWpzVkxVNDdsQlVVRlJRUUVHa2liMkRZTU5yUVZFc2lGTEVkdTBkRmNXci9rQ3N5TFVn
MWd2WTI3VVhWT3dWCnkxV1Vwby9ZUmNTQ0ZMRlhCUExmYS8vSm1ETm5Kak5mT1IvN2JONDh6L2ZO
VEpKSjFuNVhKcE9WTnV1MHFXdDBCQWdRSUVDQUFBRUMKQkFnUVdBR0JkVmRnSG1aQmdBQUJBZ1FJ
RUNCQWdBQ0JMS0FBc1NBUUlFQ0FBQUVDQkFnUUlMQmlBZ3FRRmFNMkl3SUVDQkFnUUlBQQpBUUlF
RkNDV0FRSUVDQkFnUUlBQUFRSUVWa3hBQWJKaTFHWkVnQUFCQWdRSUVDQkFnSUFDeERKQWdBQUJB
Z1FJRUNCQWdNQ0tDU2hBClZvemFqQWdRSUVDQUFBRUNCQWdRVUlCWUJnZ1FJRUNBQUFFQ0JBZ1FX
REVCQmNpS1Vac1JBUUlFQ0JBZ1FJQUFBUUlLRU1zQUFRSUUKQ0JBZ1FJQUFBUUlySnFBQVdURnFN
eUpBZ0FBQkFnUUlFQ0JBUUFGaUdTQkFnQUFCQWdRSUVDQkFZTVVFRkNBclJtMUdCQWdRSUVDQQpB
QUVDQkFnb1FDd0RCQWdRSUVDQUFBRUNCQWlzbUlBQ1pNV296WWdBQVFJRUNCQWdRSUFBQVFXSVpZ
QUFBUUlFQ0JBZ1FJQUFnUlVUClVJQ3NHTFVaRVNCQWdBQUJBZ1FJRUNDd3JBWElYLzd5bCthWHYv
emxWTlh6enorLytjbFBmakoxdUFGclRtQ2EvYm5ubnR0ODhZdGYKYkg3M3U5L05uUG1zL002Y1FH
K0VYLzNxVjcxWEMzczZLNDd4dHY3em4vOXN2djcxcnk5c0pvV092UlMzUXB0VVZWakx0YXpOV3NZ
WApnaGJUK3ZXdmY3MlF0NHpHWGM0NFJoTXQ2TW5RK204OGwrUHJsZVZ1eGxMeXROQlkvdjczdnpj
Ly8vblBGL3EyaWVQWHZveE1iUFFsClBmLzJ0NzhORFY2V1liLy8vZStiQ3krOGNPcTBsanE4bTNC
TTU5THFMcnJvb3VhSFAvemhwVEw3cGZyTmV2ODhqZnJyWC84Nnoyak4KbWw0SHpSWEVNbzQwc3dD
NTk3M3YzV3l5eVNiTlBlNXhqMmEvL2ZacjFsdHZ2V2E3N2Jacjl0bG5uMmJYWFhmTnI5L3hqbmMw
NzM3Mwp1NXRyWE9NYXpUdmYrYzZwNFQzM3VjOXQ5dHBycjZuREp3MzQrTWMvM3V5NDQ0N05PdXVz
MDl6bU5yZHBQdk9aeitUUjRvdmpXYzk2ClZ1Ni83cnJyTmk5NjBZdWFQLzNwVDgyODhYN3NZeDly
Ym4vNzIrZjNQL2F4ajUwMDY5enZpVTk4WWg3blJqZTZVZk9CRDN5Z2VmLzcKMzkvYzhJWTN6UDN1
Zk9jN041Ly8vT2VudnJla0FaUHMzL0NHTnpUdmZlOTdteTkvK2N2TmpXOTg0eWErY0tkMTgrUjMy
bnZIKy8vZwpCejlvYm5LVG00ejNudXYxUEhIMDIvck5iMzZ6dWRXdGJ0WGMvLzczbjJ2NkpZKzBG
TGVTMjFWTGJNdTFyTTJ6ak05cjl2clh2NzY1Cit0V3ZudGRkODc2bkcyODU0K2ltV2RMajBQcHZV
aTc3NjVYbGJzZFM4clRRV043M3Z2YzFXMjY1WlhQa2tVY3U5SzJyalYvN01ySmEKZzNzOVRqamho
T1lUbi9oRTg1R1BmR1NWYlpUWVp1bTYyS2lPN2FiWWZubkNFNTdRbkgzMjJkMmdtWSt4c3piZSs4
RVBmckI1em5PZQowenp2ZWM5YjVUMUxIYjdLeE5LTEJ6N3dnWmRLRVhEaWlTYzJ0N2pGTFpwcDIy
RnJvMjhzRnp2dHRGUE9lMnkvUHVwUmoyb09PT0NBCjVzbFBmbkx6MnRlK2RyWGkvOHd6ejJ6aWN6
bXJXNVByb0ZuelhpUEQyeG5kN3J2djN2N3NaejhiamJYQkJodTBEMy80dzBldlgvR0sKVjdScDVa
bGZwdzN6OXNVdmZ2Rm8yUGlUMy83MnQrMlBmL3pqOGQ0elg2Y3ZpalkxdmswcnU5WEczWFRUVGR0
VUhJejZMeVRlVkZDMAphY1hRUnB2T08rKzgwVFM2SjMvODR4L2JhMTNyV25uZUwzbkpTN3JlN2VH
SEg1NzdwV0pvMUcrZUovLzR4ei9hZExSaG5sR25qclBZCmFZemJwNzFXN1pXdWRLVTI3WG5JOC9x
Ly8vdS8xZVk1UHE5WitWMXRBbE42cEpWd3UrMjIyMDRaT3J2M3JEakcyM3JFRVVlMHFUaWUKUGVI
Q3gxaXFXd25ORzErbVNvaXBpMkU1WWx2c3NqWSs3MW5MZUJmelBJK3g3TC95bGErY1o5VFZ4bG5P
T0ZhYitLWFlZNTcxMzNndQp4OWNyeXgzK1V2SzAwRmpTenJjMmJRd3Q5RzBUeHk5bEdSbi9ERTBN
ZHBsNnBoMlJxM3ltWWhzb3RsSGU5YTUzclRhSGYvM3JYMjBxCitGYnJQOVFqN1V4dHIzLzk2N2Rw
NDNzMDJ1MXVkN3ZSdHRaU2g0OG1lc21UVk16a2JhRzBrVHcrYUVWZXgzenZjcGU3VEozWDJ1amIK
YmJjZWQ5eHhvM2JGZG1iYXFkMm1uVUx0VjcvNjFWSC9lQkxieGdjZmZQQXEvY1pmck9sMTBQajgx
dlRybVVkQW52NzBwK2NqSHRPcQpuOGM5N25GNTcza012OXpsTHBjcnZtbmp4cDY0NjE3M3Vxc05U
bzFjclYrL3g4WWJiNXhmZG8vancvcjlGeEp2SE5tNTE3M3UxYVFWClYzUE1NY2YwSjV1ZnYrMXRi
MnYyM1hmZjFlYmR6ZStxVjczcWF1K1oxaU90aEpxSFB2U2hUVnJvcG8weXNYL2ZabWdhL2ZFbVRX
amMKL3J2Zi9XNXp3UVVYTkhIMEtMcTBjbHZsYlpQbU5TdS9xMHhnNEVVY0tidkJEVzR3TU1id29G
bHhqTGYxOHBlLy9PQnlPVHkzZnc4ZApNaDRhTm5UNC9OOVRuLzFzSVc1RDhjeWUwK1F4bGpyTlNj
dlU1RG10Zk4vbGltM2FzalprTjJuZXM1YnhoUWd0WlZyenZuZTVsdkY1CjJ6WGtPYzgwWnEzL1lo
cmp1Unhmcjh3em40V01NNi8xUXFZWjQwN0t6Uld1Y0lWbFdTZkc5T2VOZTFJYzhmNXAzVUxHbi9R
Wm1qYmQKV2YxbkxWdHhGQ1B0a0d3T1BQREEwYVJpV3lLNjduRTBJRDFaZi8zMTh4Nytmci91ZVp4
NkZOc0Y0NmZncEVLbVNSdWJ6WDN1YzU5dQoxT1lSajNoRTg4SVh2ckNKOXl4MStHaWlseng1MDV2
ZWxLY2ZaN1BFS1hVTDZSYVNwL0hwWG56eHhibFhHSFhiSXVQanhPdk90WHZzCmoxT3FiN2VkR0dj
TmRWM2FZZDc4ei8vOFQzUFBlOTZ6dWV0ZDc5cDg0eHZmNkFibGJlUEliUnc5bWRZdDF6cG9LVG1i
RnR0aStzOHMKUU81Kzk3c1BUamZ0UmMrbk1uVWp4UUlWaDRtMjNucnJmSnJOR1dlY2tRZjk1amUv
YVY3MnNwYzF0NzN0YmJ0Ujh5R25vNDgrT3ZjZgozd0FlamJUQUp3dU5kN2ZkZG10dWV0T2I1b1Vp
TnNpN0xsWkNjWnJXL2U1M3Y2N1hraDVmOWFwWDVlbkY0Y1NIUGV4aGVZVnp6am5uCk5GRXczZkdP
ZDh5SDYrS1FidGZGNGJoeG0wblRtRFJlTjQzdWNkdytWamJQZi83ejh4ZlRrNTcwcE9ZWnozaEdO
K3JvY2RLOFl1QzAKL01hd29mYkU4SDRYYlk3dXd4LytjTFBaWnB0bDV6Lzg0UTlORkgzeCttNTN1
MXZ6MDUvK05JOFRwd3JjNFE1M3lJVmk3cEgrVFl0agp2SzNkK1AzSGhjUVo3NXRrSEtmZXhTSHJR
dzg5dEhuMnM1L2RiTEhGRm5tWjc1K1M5NFV2ZktGNTZVdGZtazkxaU5QOVRqdnR0RkVZCmNRNzJJ
WWNja29jLzRBRVBhTkxlMXRHd29mZzZ0OUhJbHp5WkZjOHBwNXpTeE02Q09KU2ZqbEptNDI5OTYx
djV5eVlPRFI5MDBFSDUKOU1pblBPVXBUY1FXM2F4cHhqalRZcDAwdjFqVzR6UFZmUWJlOHBhMzVK
MFhzUk9nTy84M05neGpIZkdsTDMwcEpyOWFOK1FXWDV6VAoyaExUMjMvLy9mT3kvdVkzdjdtNXpu
V3VrNHZnYnYwMHZyeW5JNElMOWxvdDJOUmowckl6UHQ3NHZMdU5rV25MZUx4L212djR0THZYCmNh
NTZmTTZqaUkxVEErSjB2cTZiTmEyaE9LWXQ0M0VheWpXdmVjMW01NTEzSG4yT1kzbmJacHR0bXM5
KzlyTjUxa1A1bXJUOHhQdm4KOFl5SkQwMTdudlZmWjlNOWpxOVhaaTFQOGI1WnJ0MjArNC9UOGpU
TlkyZ2UwM0xUbjE4OFAvWFVVM09lWWgzdzdXOS9lM3h3ZmozMAp1WXNSRnJPTVRHdlRVTnpUNHBq
MEdacG1NMjIrOHk1YnNjNWY2Q205MHphdXcrMS8vL2QvODg3QVB2eW5QdldwdkVIYWYxL3N2STFy
CnVTSmZTeDNlbjFmc2dJMVQydU1Vci9qY1JCRXlUemN0VC9OOE5tSTVqOVBiRHp2c3NPYnhqMzk4
YzlKSko4MHp5Nm5qOUozNkk1WGcKMjQrbmV4N2J3bkhLKzdISEh0djF5byt4VFJIYkUxR0lqSGVM
V1FlTlQyTmF6c2JIVzdIWGFVTjdRZDM0S1ZqOU45L3NaamRyYjM3egptN2RwdzZWTkY2TzNhUzkz
KytoSFB6cVBraGJ3Tmkxb2Jad3lGVjNhWTlHbWMvUHo4L2ozdEtjOWJYUTYwS2puSlUvaWNHY0Nh
ZE9HCmFKczIwbGY1MjJxcnJkbzRORG10RzRvMzRrd3Jyalp0a09UcHA0M2YwV1RpOUtvNDFTcGR2
SnlIcFNNa28yRkhIWFZVN2hleExLU0wKMDQ1aW10R2xDclRkWTQ4OTJqaVVtaGEyTm0wY3RtbkR1
MDBYTkEzYTlLY3hyK0c0ZmN3L1ROT0hOcDVPN2ZyemlwR0c4anZVbmtrego2Si95bHM2UmJCLzV5
RWVPUnJ2VG5lN1VwcjA5bzlkcGowRDcxcmUrZGZSNktJNUpiWDNOYTE3VHBvMmgvUDZGeGpuTk9H
MjR0cHR2CnZubWJyb2ZLaDFMVGRUUjUyYi8ydGErZDU1TldMdm4wdmU2VXUxVHd0WHZ2dmZlb0Rl
bWFxamJ0L2NpdjA4bzNMMDhubjN6eTRISVIKSS9mZFJoTkxUMmJGRS9OS2U0L2FkSzV0bTg0cHpz
dGJIUEw5ai8vNGp6Wjk0ZVJKcFFLODNXV1hYZHAwSFZWK1BXdWFRNWJUNWplKwpUTVg4MDU2Z1VW
TmltbjJuMFlCTG5reHppOEZEYlluVDE2NTN2ZXZsZFZJY0VrOFg0T1pUSEI3em1NZU1adEdQYlZy
OFEvT0lDZldYCnRXbkx6bWlHdlNmOWVVZnZvV1Y4eUwwM3lkSFRXRWVtYTd6YVZQemxVMEJqWHR0
dnYzMWV6OHlhMWxBY3M1YnhXUGVuamFaUkhPR1IKdm1CSHI0Y3NKL2wvLy92Zm4vczdZMmphRWNB
ODY3OStMc2ZYSzdPV3AxbXVJNFRlazZFOFRmSklSZVRVNzVCWnVZblRYZExPaGp6MworRzU3Kzl2
ZjNvdGs5YWREbjd2RkxpT1QycFIyMGl4cXZSa1I5ejlEUS82VDVydVFaU3VkK2REMlQ2dUplWGZi
S0ovODVDZmo1V3BkCnQwNGRIeERyM05pMlNUZUJXV1ZRS3R6YnRETjFsWDd4L1JEanBvM1dkcW5E
K3hPTzdaNjB3eUQzU2p1RFZqbWx2VDllLy9uUThqWHIKc3hIVGlmbWs2MC96SkdQN0owNVJTenNk
KzdOWTVmbmE2RHNyNW5RMG8wM1hOYS9TemxnZTBoSEZObDJEdGtyL2VMSFFkZEQ0QklaeQpOajd1
U3IyZWVRUmtvWlZRWEFRZVJ4WFN5clNKaTdTN1BadXhWenVPTktTRzVVbkczdTdZMjVJK3NQbDEy
aEFZRFpzMnorT1BQejVmCjdCNFh2blYvZi83em42ZU5QbmYvQnozb1FYbVBjT3hGNmJyWVN6cnRv
cWh1bk1VOHhzVm8wYVdGTTdjM1RzbjY5S2MvbmZlZ3A0M0wKNWl0ZitVb3p5NmFieHF6eHV2akc3
YnYrOHp4MjgrckduWmJmb2ZaMDcrMC94cUhJcm90RHkzRnpnZGhiRVYwY21rd3IrTkdwQTdFbgp2
anNWcm52UHREaG10WFdoY1U0elRsOTJUU28ybWozMzNEUGZqQ0Z0OE9RTCt1TXVjTEYzT1U1TGlM
MWtxU0RQSWNlaDAyNnZjOXgxCkxQWmkzZnJXdDg3RFlvOTBuQUlZZTRkbnhkZDM2eXppY1ZZOGNR
T0hPTzB0bmEvZHBBMzhQTC9UVHorOStkclh2cGFQRE1RMEl1WlUKQ0RheDl6cDlTYytjNWxDc2sr
YlhuWDdaWDZiU2pvY205c3FrWWlkQ3lQR2t3ancvSC84MzVCYWZvYUcyeEo3L09Pb1I2NkJZZHNJ
NgpiWVExUC9yUmoxYVpUUmZicFBobmVhMHlvZlJpMnJJelBsNzN1cHQzOTNyYU1qN2szcjEzL1BF
Ly8vTS84K2tjc1U2TzAwZlNkWDM1CkNOYzgwNW9XeDlBeUh2T1BvMUZ4b1d4Y1pCcGQvM004SzEr
VC9PT3pQYzkzeHF4cDUyQVcrRzk4dlRKcmVackhkVklJMC9JMHlTUFcKSWZGOU91azdaRlp1dW5u
SGVpZldUVEhmYWQzUTU2NTd6MktXa1VsdGlwdTlMR2E5MmNYUmZZYUcvQ2ZOZDk1bEsyMEVOdW5h
MENidApmT3BtdVVZZTQwaFA1TERmeFNtQjBhVkNQaCtsWHNydy9uUmpmUjgzR1lvdWpwS25ZbXpx
RWVqdWZVUEwxNnpQUnB6cEVkdDkzZGtxCmNmUWlUa2xheVc0bGZhZTFLNDRRZDJkNWRPT0VhNXht
bG5ZT2RyMUdqd3RkQjQzZWVNbVRvWnlOajd0U3I1ZTlBT2xXQU5HQWdJeEQKZWwwWHc3cmhzU0VW
SzVvNHh6Rk9BNG9OcVA2NWN0MTcrbzl4cU83VnIzNzFLbitSbEtWMjZTaEpQZ3dZWDI1eCtEQTJo
dUw2amxneApMM2ZYdFQ4MjhHTDZzVktKdnpoRjUzT2YrMXcrUFdLV1RUZU5XZVAxWSsvYjkvdlBl
dDdOcXh1di83cWYzNkgyZE8rZDloaUhIYVA0CjZxNlBpVk9WNGpTVTJEQ053OE5SbU1TcGZ2MXVX
aHd4emxCYmgrS01EMzNjR2FmN2kzR0hqR00rL1dVMk52RERKRGEwWWxqYWc1bzMKUXVNMHJMalRX
RmNzUjVFWnB4ejIyeEFyL2xnZWh1THJ0My9TODZGNFl2d05OOXd3RjlyZGUrT1Vsdmo4OUwvSTBo
R1FQRGcyYnFJYgptdWFzV01mbmx5ZDR5VFM3NS9INWowSXV6S09MTDhNb2tDWjFRMjd6dHFWdmZ1
VXJYM21WMC9waW52M2g0L0hQTTQ5KzNFUExUbis4CjdubC8zdEd2LzNxcG43WCs5V3F4QVJaZEZB
ZXpjaGpqVFlzaitrOWJ4dU45VVh4SGNSMm5tRVFYT3huaWRMdm81ckVjOTUvWGM1NXAKNXlBVytD
L2EyN2NZZjkxZm5vWmNKNjFudWxDbTVTbUdqM3NNeldOV2JtSjZzUkVZcDJOMkc0TFJiMUkzOUxu
cnh1Kzc5SmZWV1hHTQp0MmxvL0lYRU1XUVRNWS9QZDk1bEt3cjM2SzUydGF2bHg4WDhpenQyaGxI
OGRZWE1kdW5Pb2wyL09FMDJOazdIYjQzZm5ab1pPM0tXCk9yeUxPOWJ6Y2ExSjdIQ05kWERzUUl2
dGtkZTk3blhkS0JNZmgvSVViNGpoOGRkMS9jL0c4V2xIY254WGR0ZEl4RGdiYmJUUkt1TjMKNzF2
TVkwbSswK0pQUitoeThUSHBicUJoRmV2bVNkMjQ2L2pydnZQNCsyUGNvZlgxK1BncjhYcjlsWmpK
dEhuRVVZeTRIV0FVRlhGZQpabnhCWGVVcVY1azIraHJ0SCtjanhvWml1bHRNL25CRVViUW11L2pR
eDhWVHNiZC9VamV2emJ6alRackhjdmFiMVo2aGVjV0dkK3hCCml3dnJZcVVVdDgyTnZTSnhpK0RZ
MjdUUVd6Y1B6V3NvemlnYyt1ZGt4Z2MycmtkWWlISEVIWG1OTG02dEdYdmw0MXFIT084OE5veWkK
aTNPVCs5ZUQ1SjZYL0J1S3J6L2V2TS83OFl5L0o4N0RqZm5GVG9MNEFvZ3VqaEJFL04yWDNmaDc0
blUzemVXSU5RcTR1RDFsSEgxOAp3UXRla1BmczliK1krdk1mY2x0c1cvclRuL1Y4TWZOWXlMSXph
LzdkOEtXNng5R2YrS0tLdjZWT2E5b3kzc1VhUjlRaXIzR3VkK3pvCjZmYmlMc1l5cGptUDUyS24z
Y1c4SEk5RHJ0UFdNK1B6N2VkcGZGaThIcHBIREorVm03aXVMbmFNeE1YVXNRRTZyUnY2M0UxN1Q3
Ly8KckRqNjQ4YnphZU12Skk1Wk51UHpqTmZ6TEZ2ZERzOTBPc3NxazRoclhxT0wrVTdxK2p1cTRw
cS8rSTZMTGpaRTR5aDZiUHpINXpHNgpLRWJpV28vNDd1aDMzYzdjS0VEaURKT2xETyttRzBmQTRn
eUVidjBmL2VQNzlrTWYrbEF1Um1MbjBMUnVXcDZtamQvMWo5K3ltdVFVCjM3ZlR1clhWZDFwN1lp
ZEVMRU94ZzJhOGl5TmNWN3ppRmNkN0w4dnJ4ZVpzV1dZK1lTTExmZ1Jrd2p3bTlvbzdTY1Roek5q
Z2owUG0KY2ZGcGJIQ3VaQmQ3MXJ2VGZtS1BRcXdZWWc5c25DclRuVHF6MEhoaXhSRWJuTk82N2tN
V0s1azQ0aEY3K0xzdURxZkgzb0ZaTnQwMApabzNYVFhjcGo5MjhaazFqcUQyejNodkQwNjJkODI4
VnZQR05iMnpTdWVONXBSakZRSHhaVDd2d2VwN3Bqbzh6RkdjVWczRnhYL2NYCnB3VXV4RGhXS3ZG
RFFYSGY3emlNSFVWdFhGemVQOElROGNTR1JlemhpRk42dWk1eUgzdWpodUxyeHAzM3NSL1BwUGZF
WHFpNDJLMDcKUlNiR2ljOWtmQ25HcVZxVHV2NDBGeHZyK0RJVitZN1RsZEl0Q1BQTkJpYk5OL29O
dVMybUxaUG1NeDViZjV5RnptTWh5MDdNWjJqZQovVGdXNjk1TjQ2eXp6c3BINDI1NXkxc3VhWGti
V3NhN2VjWHByZkg3VEhILysvNE5QUlpxR2RPYjEzTXgwKzdpWGE3SG9SeE5XczlNCm1tOC9UNU9H
RDgxam50ekVCbS84YmxlNi9pTnZjRTZhUi9RYit0eE5lMC9YZjU0NHVuSGpjV2o4ZWVMb1BrTkRO
djM1ZGMvblhiWmkKdWxGSXg0NnhmaGM3YnFMSTZFNDU3dytMMzNqb05xQ2pmN29XclluVFRPT3ZP
L1VwYnJyUzlZdmxONHFBaUtsL01YS2NMaHA3ek9OcwpnS1VPanpoaW5SdXh4ZWwzY1RaSzl4ZEhZ
R0src2JFNnJSdkswN1QzZFAxanAzT2M4UkRmSmZOMmE2UHZ0TGJGZDMwWXg5R3Z1UEhECmVCZUY5
cmJwaktEbDdwYVNzK1dPcFp2ZWdncVEyRmlQTzBXTkh4cnNKaFo3bnVLdjYrSTh1L2pydWhnV3J5
TUJzYUVXZDUySUx2MTIKUjNQZis5NTNsU3E4ZTA4OGR0T1k5RXVkc1FFL3FYKzhiMWE4MFk3WTRP
cTYyQk1Vc2NYR2NOZDF3L3Z6Nko1M3hVczNibFMwY2QxSQpmTEZQNm1MUGJ2ZEwxckhIUHhhME9Q
VW1waGZ6aVZ2c3hkNk5JWnYrTk9KdzhMeUdmZnVJTFRZS0l2NSt2c1pqN3M4cllveHgrK1AzCjgv
dmdCejk0YW52R3B6dnBkYXg4NDlhUXNSS1AweERpL1B3NEdoWjNsK3ErVkxyM0RjVVI0OFR3Ympt
TDE3SE14bDZGNkJZYTUxQXUKWW5veHZPdmk5TDNZcXhqWGRrUVJHNzd4b1krVmVleHBqR1UxbHEv
NGNhbjRFb3M5VHpGZS9EM3ptYy9NcHlJdE5MNXUzdDNqdEhoaQplQlFXM1djcFhzZDFOYkVuTFFy
aHJvdTdrY1FYWVBmRkdQMm5UWE5Xck9QemkybU5MMVBSTDA1L2lEdFV4VjdBL20wblkxaS9peDBF
CjA5em1hVXNzQi8zUGJDd24vUy80OGRqRzQ1OTNIdDJ5Tm12WjZiZHRmTjVEeS9nczkvNTB1K2Y5
ZHNZNS9iRUJFenRaWmsxcktJNmgKWlR5VzgraWlYYkZoRXovczE1M2VGLzNuc1J6M245ZHpubW5Q
cy83cnJ6Y2k1a25ybFduTDB5elhtTjZrYmxxZVl0eHhqNkY1ek1wTgpUQ3R5RktlQ3hsMTM0b2ZT
Sm0wOHgzeUhQbmN4ZkNuTHlIaWJodUllV205R0hQM1AwTkQzYTR3N1B0OTVsNjA0K3BzdXVsOXQ0
em4yCldNZDFnUEdqZ2YyOSs3Rjh4R2x1RDNuSVEySzJjM2NSZjJ5Z3hyVXNYUmZmTDNHMlNIUkxI
UjdUaUtQeThiMDczc1hHZnZ4RkFSS2YKazBuZFVKNWl1UnBhMThieUZFZlo0K2hMMThXeUYyNzk1
YjhiRm85cm8yKzNuZGh2VTV6ZUg5Yzl4bzd1T0RVMXRtLzZYU3lIOGYwUgpkdytjMUMxa0hUVCsv
bGs1R3g5L1JWNm5oV1d1THU1T0VYZHFTa0cxYVFPeGpSOGdqQi9xNjdxNHMwNzZjT1k3S0tROXVX
MDZwYXFOCkh5aEtDMXErKzBwYzFaOU9aOG52angvRmluSFNSYUg1aDNVKyt0R1A1aDluU2ZEZDVF
YVBLVkg1amc4eDMzVHVjcHR1NFppSHBZMzMKL0tNdDBUOXRvTGJwRVA4cThjeUtOeVUveDVvV2dE
YmQ3blkwdjdTaXlIY2lpaDdwR29RMjdYM1BNVWRiNG9jTDR5OXRvT1YrNmZCWgptL1lldE9rRGxl
OVlrVTRseW5leVNpdWQwZlQ2VCtKSFppTFd1T05UeEIvelRSdmR1Vjg2dEp2dmJoSGpSK3pUYlBy
VGlEc3ZUUnV2ClA5OXgrM1N0UlpzMmxITWIwcTA1MjdRbnZqLzY2SGwvWG5HbnNLSDh4cHVtdFdj
MHdSbFBJcFowVWRab3JIUzd3MVZleDRDRkxtZnAKTUhVYmVZcmxKTzVlRm5lQ1dFaWNRN21JdTdq
RlhhVWl6blNhU1JzL2dwbjJXdVg0MHlsTWVWZzZ0SjN2NkJWMzhrb3IwVGFXcjRnaAo3bVFTT1kr
NDBwNjlOdUxzdW9YRTE3MG5Ib2ZpU2FlMzVSK2VqT1U5RmEyanQ4WG5OSDdJOCtVdmYza2JkM0JK
aFVDYlZsU2o0VVBUCmpKR214VHB0ZnYxbEtqNERYUmZMY3RwYjNyMmMramprTnRTV21IN2FRTWwz
VzBubmg3ZnBlcTkyaHgxMnlKKy9icDNTankyV2xmaWgKem9WNHhlZXN2NnpOdTQ2THh2Ym52ZHlm
dFhSN3pUWnRVTFR4WTZyLy9kLy8zVDcxcVUvTmQ5L3JrS2ZsY05abmJkWXkzazAvMXFNeAozL0Z1
S0YrVGxwK2h6K0pDcGgxM0w1eTEvaHZQWlh3Kys5OWY2Y2pzek9WcG11dDRyTjNyb1R4TjhvajNU
WnZIVUc3U3FVWnRySmZpCnV5UHU4aGpyLzFnM3hiS2V6djN2d2xubGNkcm5iaW5MU054NWEvd3pO
aFQzclBWbS96TTA5UDA2eVhJaHkxYXN5Mk05T2Q2bGpmVTIKN1VESmQzNkw3L2gwR25lYkN2MDI3
ZUFaSDNYME9tMm81KytBOGJ0Z3hRanhBOUJ4dDZpNCsyZmtPZGJSL1c0cHc4TSt0dVBTanQ5Vgpm
bWc2cGg5M0FJMWxJNzZiWW5nNkV0ZWZiWDQrbEtkNVBodVJnM1FFTG04anBzSXl1OFhkVEtQL3RH
NXQ4bzFsSk83dUdZWnhsN2pZClJvd2YvNHc3ZmNYNk41MEJNYkdaYjB0M0pJdGxabEkzdmgwM2oz
Ti9Pa001aTgvV3BkSEZYcEJMcFV0VllaNXZxaExiZEc3anBSTEQKcFRIVDhkdW9SdUpqbzd0ZmZN
Mnk2YVl4YTd6bGFGODNyM21uTmFrOTg3NDNIU0ZZWmRUeDE2c01YT0tMZWVNY01vNk44L1RiRm5u
NQpUVWV3SmthVTlsaU0rc2VYVGIrTFFyVXJXUHI5NC9tODhmWGZOMDg4L2ZHNzV4RkhPaHkrV3JF
WHcrZVo1a0pqbmJSTXBiMXQrWXV2Cmkybm9jY2h0cUMxRDAreUdUWXF0RzlZOXpqdVBvV1dubTFi
L2NaNTU5OGRmcUh1Nmovd3E2NW1sVEt2LzNxRmx2QnR2Mm1kNVhzdVkKemtJOUZ6THRMczdsZmx4
b2ptTCtRM21hRk4vUVBPYkp6YVJwVHVvWG50UFdWNVBHNy9kYmFCeEQ0dy9GTWY0WkdyTHB4N2ZR
WlN2ZAp0YWxOcHkvMUp6RjZIdXY1S0dqUzN1eFJ2NlU4aWVsRW02ZDFTeDArYmJyejlCL0swNnoz
cDZOUW85dktweVB6czBZZkRhL1pOMTBQCjFIN3ZlOThidFhWTlBGbEt6cFk3bm5WaWdxbEsweEVn
c0VDQk9Fd2FoOTNUMGNBRnZuUE5qTDRtNGxrVDAreTNQdTRNRnFmZXhla2sKY2JyQitPbDIvWEU5
SjBDQVFBa0NjYTFuM0ZnaHJtR04wMEoxQkpZcUVOZUZ4TFZBZDd6a1I1cVhPcjIxNGYwTHVnWmti
V2lRR0FtcwpoRURhSTlYRVJhTDlDOGxYWXI3VDVyRW00bGtUMCt6SG4wNXp5dGY3cE1QOVRWendy
L2pvNjNoT2dFQ3BBdGU2MXJYeWhjVHZlYzk3ClNnMVJYR3VSUU54aU9xN3J1U3dWSDVFZVIwRFdv
b1ZVcU9VSXhKMWp1aHNLcEYrVmJ1SzNUQzdOYmszRXN5YW0yVGVLbTBERVRSVGkKQmhSeFp4UWRB
UUlFQ0JBZ2NOa1FVSUJjTnZLc2xRUUlFQ0JBZ0FBQkFnU0tFSEFLVmhGcEVBUUJBZ1FJRUNCQWdB
Q0J5NGJBV2xlQQpwTHRhTk9uV2daZU43R2dsQVFJRUNCQWdRSUFBZ2NvRTFxb0NKTjBIdVVtM0Jj
MC9iRlZaSGpTSEFBRUNCQWdRSUVDQXdHVkNZSzBxClFPSVhwdnUvVXI3Y0dZcWpLL0Zybzh2Ukxl
ZTBsaU1lMHlCQWdBQUJBZ1FJRUNCUWdrRFJCY2lrbnlpNS9PVXZ2MFp1MTVsK0NMQjUKNkVNZjJx
UmZDVjl5WHBaeldrc094Z1FJRUNCQWdBQUJBZ1FJRkNRd1Z3R1NmcVd5T2VTUVE1cVh2dlNsVGZw
SitlYUlJNDRZTlNIOQppbmx6d0FFSE5BY2RkRkNUZmtLK2VjcFRudExFK05HbFgvaHVudm5NWnpi
cDE2S2I0NDQ3cnJubExXK1pUNkg2eGplKzBYejN1OTl0Cjl0bG5uMmFMTGJab0RqLzg4RHgrK21u
NWZEdlRRdzg5dEhuMnM1K2RoMjI5OWRaTjlKL1duWFBPT1huNmNmL2tuWGJhcVRuaGhCUHkKcUNl
ZmZIS3orKzY3TnplKzhZMmI0NDgvdm9uWE43LzV6WnU0dGVpazdsV3ZlbFh6c1k5OXJQbklSejdT
UE94aEQydlN6OVkzaTUzMgpwR2xObXFkK0JBZ1FJRUNBQUFFQ0JDNXpBdlA4dFBvOTduR1BOaFVO
ZWRTVFRqb3Bmam05VFJ2MCtYWDZKZWoySGU5NFIzNSt3UVVYCnRMdnNza3ViZmxBbHYwNEZTSnVL
am5hNzdiWnJQL2pCRDdieEUvRDc3cnR2dThNT083U3A2R2gvKzl2ZnRzOTczdlBhOUFOa2JmcE4K
Z1BhTU04NW9OOTk4OHp4K09oTFJmdm5MWDI1VDBkQmUrOXJYenRPTGY2OTV6V3ZhYTE3em12bjFo
UmRlMk82eHh4N3RuLzcwcC9haQppeTVxSC9lNHg3V2JiYlpaKy92Zi96NFBUNFZManZWVG4vcFUr
OGxQZnJJOThzZ2pjLzlwLzdiZGR0c2NWd3hmNnJUNzA1bzJQLzBKCkVDQkFnQUFCQWdRSVhOWUVa
aDRCK2VJWHY5aWNldXFwVFZ4L0VWMGNaVGptbUdPYWJiYlpwdm4wcHovZGZPMXJYMnYyMzMvL1BP
eHkKbDd0Yzg4aEhQckw1K01jLzNzUlJqdmlGNDF2YzRoYjVLTVRlZSsvZGJMamhodmtveVpsbm50
bjh2Ly8zLzQ1SEg0RUFBQ0FBU1VSQgpWSnFyWC8zcXpZRUhIdGdrOUNiNnBZMzJKaFVielo1Nzd0
bnN1dXV1VFNwdW12ZSs5NzNOTDMvNXkrWUhQL2hCbmtmLzMvdmYvLzc4CjNqaHRLbUtKb3lubm5Y
ZGVFNzhxR2QxdXUrMldqOWdjZlBEQnpUdmYrYzU4ZEtiLy9rblB1MTlqWG81cGQ5T2FOQi85Q0JB
Z1FJQUEKQVFJRUNGd1dCV1lXSUxFeGY3dmIzVzZWNnk3U2tZWmNQSHpyVzk5cTBoR0hKZ3FQcmt0
SFFQTFRLRnFpRzk4SXYvS1ZyNXo3ZC8rdQpjcFdyNUtkUk9FUVg0NiszM25yNWVmeTd3UTF1MEd5
eXlTWVRUOE9LSWllS21MZ3VKUDV1Zi92Yk41LzczT2R5a2RSTklFNFgrL0dQCmY1ejc5YWZiRFI5
LzdPSmRqbWwzMHhxZmg5Y0VDQkFnUUlBQUFRSUVMcXNDNjg5cWVGd0hjZHBwcDAwY0xaMVMxYVRU
cUpxNERtU2oKalRiSzQ5ejBwamR0MWw5Ly9Yd054YVEzcmJ2dXVxc1VKZk5zcE1kN1lwcmpYY3c3
K3QvMXJuY2RIelI2SGNWUkZFa3ZlOW5MbWtjOQo2bEhOeGh0dlBCbzI5R1JOVG50b3ZvWVJJRUNB
QUFFQ0JBZ1FxRmxnNWhHUU9OWHFKei81U1hQNjZhZVBIT0tVcVRqQ0VVY24wclVYCnpZa25uamdh
ZHU2NTV6YnArb25taGplODRhamZVcDdFMFl2enp6Ky8yWEhISFZlYlRMcTJKQi94K01jLy9qRWFG
ckhGUmVkZEZ4ZTAKcCtzL2N0RVR6MmQxWFVHMEhOUHVwalZybm9ZVElFQ0FBQUVDQkFnUXVLd0l6
Q3hBNHE1WEcyeXdRZk9JUnp3aVg0Y1IxMkxFbmEzaQpXbzEwUVhtejFWWmI1U0tnQTBzWHFlZkNK
RjI0bm52RkxXbWpTT202K0gyTWVCMzlvNHRpSmJxTEw3NDRQOGEvS0RpNkxuNlg0dzUzCnVNUG9H
cFIwb2Z2b3ZROSs4SVB6bmFyaWxMQjA0WGtUeGM4TFgvakM1cnJYdlc1K2Uxd1hFcytqR0lvN2VC
MTk5Tkc1Y09xbVBmNFkKUjBkKzlhdGY1ZDdwUXZvbFRicy9yWWd0MmgxMysrcW1QejV2cndrUUlF
Q0FBQUVDQkFoY0pnVG11ZXIrMkdPUHpYZVhTaUJ0T2lMUwpwZ3ZQUjI4NzVaUlQyaHZkNkVidHkx
Lys4bnlucVhSQmVwdUtsRHc4N3B5MTVaWmJ0dGU0eGpYYVZFamt1MXpGSGJKaU9uSDNxei84CjRR
L3RZWWNkbGwvdnQ5OStiZG80YjlNdm5iZnB3dlUySGExb1gvQ0NGN1RwVnJydDJXZWZuYWVYZmdt
OVRSZkI1L0dQT3Vxb05tM1UKdDZtb2FLOXdoU3ZrTzJuRkhiQWkxdWpTeGZQNWJsbmYvdmEzOCt2
dmYvLzdiYm9HSk45aEs2WXpxVXNYcStmcHBBdnAyM1RxMlpLbQpQVDZ0bUg4Nkl0S20yd0JQbXJW
K0JBZ1FJRUNBQUFFQ0JDNFRBdXRFSytlcHRHSzBPTUtRaW9uVlJvOWg4WnNmY2ExRzNQbHFLZDNP
Ck8rK2M3MzRWUnpMaUdwTzRmbU5XRjBkRjRrNVpjYnJZcEd0RlpyMi9Qenl1L2RoMDAwMUh2Wll5
N2ZGcHhZWDI4N1JuTkhOUENCQWcKUUlBQUFRSUVDRlFtc1BxVjNWTWFHTmN6VENvK1l2UVkxcDMy
Tk9YdEMrNTlwU3RkcVltL2VicTRBOVpTQzU5dVB2M2lJL290WmRyagowMUo4ZE1vZUNSQWdRSUFB
QVFJRUxxc0NNNjhCV1VtWXVBN2tyTFBPV3VXQzk1V2N2M2tSSUVDQUFBRUNCQWdRSUxCbUJlWStC
V3ZOCmh2SC9UejFkSHpHNlNIdjc3YmR2SHZqQUI2N0ViTTJEQUFFQ0JBZ1FJRUNBQUlFVkVpaXFB
Rm1oTnBzTkFRSUVDQkFnUUlBQUFRS1gKa2tCUnAyQmRTZ1ptUzRBQUFRSUVDQkFnUUlEQUNna29R
RllJMm13SUVDQkFnQUFCQWdRSUVHZ2FCWWlsZ0FBQkFnUUlFQ0JBZ0FDQgpGUk5RZ0t3WXRSa1JJ
RUNBQUFFQ0JBZ1FJS0FBc1F3UUlFQ0FBQUVDQkFnUUlMQmlBZ3FRRmFNMkl3SUVDQkFnUUlBQUFR
SUVGQ0NXCkFRSUVDQkFnUUlBQUFRSUVWa3hBQWJKaTFHWkVnQUFCQWdRSUVDQkFnSUFDeERKQWdB
QUJBZ1FJRUNCQWdNQ0tDU2hBVm96YWpBZ1EKSUVDQUFBRUNCQWdRVUlCWUJnZ1FJRUNBQUFFQ0JB
Z1FXREVCQmNpS1Vac1JBUUlFQ0JBZ1FJQUFBUUlLRU1zQUFRSUVDQkFnUUlBQQpBUUlySnFBQVdU
RnFNeUpBZ0FBQkFnUUlFQ0JBUUFGaUdTQkFnQUFCQWdRSUVDQkFZTVVFRkNBclJtMUdCQWdRSUVD
QUFBRUNCQWdvClFDd0RCQWdRSUVDQUFBRUNCQWlzbUlBQ1pNV296WWdBQVFJRUNCQWdRSUFBZ1NV
WElPZWVlMjd6eFM5K3NmbmQ3MzQzVS9NdmYvbEwKODh0Zi9uTHFlT2VmZjM3ems1LzhaT3B3QXhZ
dWNORkZGelUvL09FUEYvNUc3MWdqQXJNK0EydGtwcGZpUkJlNy9QM3RiMzlyWW4wUQozZEE2NDFK
czJtaldhMU9zbzZCWDRNbGljejh0dEZuZkQ1ZTF6OVkwSi8wSkVDQ3dOZ2pNTEVBKzlhbFBOWGU5
NjEyYmRkWlpwOWxoCmh4MmFvNDgrZXRTdU43emhEYzE3My92ZTVzdGYvbkp6NHh2ZnVQbm5QLzg1
R2piKzVOM3ZmbmR6ald0Y28zbm5POTg1UG1qMCtyblAKZlc2ejExNTdqVjU3c2pTQkUwODhzYm5G
TFc3UlBQYXhqMTNhaEx4N1dRVG0rUXdzeTR3S21jaFNscjhqanp5eWVkempIcGVMNTIyMwozYmI1
MTcvK1ZVaXJWZzlqYllwMTllalhUSitsNUg1YVJFUGZENWUxejlZMEkvMEpFQ0N3dGdpc1B5dlFQ
ZmJZbzlsd3d3MmJMM3poCkM4MURIdktRNWdsUGVFSit5MS8vK3RmbTZVOS9ldk9uUC8ycFdYZmRk
WnU3My8zdXpSV3VjSVZWSmhjRnlkZS8vdlhtem5lK2MvT2cKQnoyb09leXd3MVlaUHY3aWhTOTg0
VnhIVXNiZjE1L1ArTEI1WHkvSE5PYWQxMHFOdC9QT096ZDN1dE9kbXU5Ly8vc3JOVXZ6R1JQbwpM
MWZ6ZkFiRzNyNVd2MXpLOG5mVnExNjF1ZktWcjl4YzVTcFh5ZXVmeTEzdWN0bmk0b3N2YnA3ODVD
YzNGMXh3d1NvMjY2Ky9mclA1CjVwczNNYzk3My92ZW8yRXZldEdMbWwvODRoZk5ldXV0MTJ5MjJX
Yk56VzUyczJidnZmZk82Nnh6emprbkYrZDc3cmxuODhoSFBqTHYKWklrM2Z1SVRuMmkrODUzdk5B
Y2ZmSENlenR2ZTlyYm16RFBQYko3M3ZPZmwxMS82MHBlYTJPQTk1cGhqOG5TbnhacEhYc3YvOVpm
ZgpoVFJsS2JtZk5wL3g3NGQrYkplMXo5WTBJLzBKRUNDd3Rnak1MRUNpSVp0c3NrbHVUL2NZTDc3
NzNlL21qWUFvUHFLNzNlMXVseCs3CmY3SEg4cUVQZldoems1dmNKQmNnMFQ4Mkl1Skl5clR1Nmxl
L2VoTi80MTNidGxQZk4yays0KytmOUxvL3pZVk1vLysrU2RNdHBWOXMKcUVWdVlzT3N5MUUvdHJX
bEhmMll4NTlmZU9HRnVYM2ovUmZ6ZWsxNFRGcXVabjBHRmhON2llOVo2dkszL2ZiYjUxT3d0dGhp
aStiNgoxNy8rcUlteFErT29vNDRhdlo3MDVDVXZlVW56ckdjOXEvbnRiMy9idk9BRkwyamlWS0Ir
ZCtDQkJ6YXZmT1VybTloTGY5SkpKelVmCis5akhtalBPT0dPMGcrUWQ3M2hITGxxNkFpU084SjV5
eWltakF1VGIzLzUyRTBYSjYxLy8ranpaYWJIMjV6bnIrV0tYdjZIM0xmVHoKTVQ3K3BPVjNWanRp
K0t6Y3p6T05TZVAwdng4bXhiYll6OWFRNGRDd2NhOUpNZXRIZ0FBQkFwTUZacDZDTmVsdGIzclRt
NXJuUC8vNQpUYXlBbi9Ta0p6WFBlTVl6Vmh2dFZhOTZWZjVpLzhoSFB0STg3R0VQYStLSVNYVHg1
UlNIMHJmZWV1dGNuTVFYZjNTLytjMXZtcGU5CjdHWE5iVzk3Mi93Ni9yM3ZmZS9McDN4Ri8vRUNw
eHRwMG54aXoyWWNuYm5qSGUvWTdMVFRUczBKSjV6UWpUNXhtcE9tTVhyREpVOG0KeFJMOXJuV3Rh
eld2ZmUxcjgxaHhPbHBzTEQzKzhZOGZ2ZjN2Zi85N2M4Z2hoelF2ZmVsTG13Yzg0QUhORVVjY01k
ZXdvVFlNRFl2egowWi80eENmbWphbUlJemF3K3Qya2R2U0hUM29lZTN2akZMdDczZXRlbyt0Sm9n
Q05YTVhlNE9qaS9Pc0REamlnT2VpZ2cvSnBkRTk1CnlsT2FhSHQwOHpqbEVYdi9odHppYUZ4NHhx
a3Z0Ny85N1p2VFRqc3R2ek5pMlgvLy9mUHkrT1kzdjdtNXpuV3UwOXpnQmpmSUc1ZTkKU2EveWRK
ckhrUEhRc1A3RXB5MVgwejREc1pFYnB4MDk1em5QYVY3ODRoZm5QZmJmK3RhM21xSDVEUTNyeC9M
aEQzODRUKzkrOTd0Zgo4NGMvL0NGdlFNY1JnYnZkN1c3TlQzLzYwenhxZU43aERuZG8vdkdQZitU
WFF6bWRGdXR5TFgreFViL05OdHZrSFEveE9lNjZYWGZkCnRZbU53dkcvS0RKaUhSTHQrY0FIUHBC
SDMzVFRUZk02S3NZTjgvUE9PeTkvQnJ2aGNhUWsxajl4OVBZOTczbFBONHM4MzdQUFBudjAKT283
eXhyUzY3bGUvK2xVZXB5dnNwOFhhalQvMHVORGw3L09mLzN6endBYytzRG4wMEVPYlp6LzcyVTBV
YUxFdWpmNWROKzN6TVMxbgowOGFmdFB3T0xXK3pjdC9GRjQ4TFhSN0h2eDhteFJiVG5mYlppbUhq
M1NUN3Bmakc5SWZXVzBOMjQ3RjVUWUFBZ2VvRjBwZnp6Qzd0CjhXc1RSSnRXK3FOeDMvLys5N2Zw
QzNqMGV0S1RkTzUyZS9qaGg0OEdwZE1mMnB2Zi9PWnRXc20zNmNMU05tMGN0bzkrOUtQejhIUXgK
ZTVzMm1OdjBSWjlmcHoxYzdhMXVkYXZSZTUvMnRLZTFhU05qOUxyL3BEK2ZWQlMxNmJTeE5tMDA1
UEhUQmwyYk5yVGEzLy8rOSszUQpOUHZUNkU4N25nKzlMeFVnYmRwWUhMMWw5OTEzYi9mZGQ5L1I2
M3ZjNHg3dE43N3hqZnc2RlFQWjhlU1RUODZ2cHcwYmFzUFFzSmhvCktoTGFWQWpsNllmWGxsdHUy
YWFOc3Z4NnFCMTVoSUYvLy9FZi85R21hNEZHWTBRYzZWU1cwZXNZbnZZYzU5ZnA5SmgybDExMmFk
TUcKM21qNExLZlJpSmM4bVdhVFRydG9ZMXJweGdkNXpGUUlqK0pJRzQzdDlhNTN2YnhjSFhmY2Nl
M1BmLzd6TmhXRTdXTWU4NWp4eWVmWAowenlHakllR1RackorSEkxOUJtSTVTUWRaV3pUZFR2dEJ6
LzR3VGFXM1IvODRBZFRsK2VGeHJMampqdTI2VlNqVVpqcDlMejJFWTk0CnhPaDFPdldvZmV0YjN6
cDZQWlRUU2JIKytNYy9YcmJsTDVhaFZERGtXSDc5NjErUFlwcjE1T1V2ZjNtNzFWWmJUUjB0bHRH
MHAzeVYKNGVtNnRqYWRaanJxOTdyWHZXNlYxN0VzUC9qQkR4NE52Ly85N3ovNlRFWFB4Y2E2bU9V
dkZVeHRPdFdzM1c2NzdkcXZmdldyYlRvNgprOWVwMTc3MnRYTjhRNStQU1RsTHhmdlV6MU5Nc0wv
OHpscmVodFk5T2JpeGZ3dFpIc2UvSDhaamk5ZERuNjJ4V1U5ZHB5L0ZOK1l4CmJiMDF5MjQ4UHE4
SkVDQlF1OENpam9Bc3BDb2JQK1VxOWpydXR0dHVUZHBJeUtkbWRYZG9pcjJ4TjczcFRmT2V6Wmgr
N0tXTlV4MCsKK2NsUDV0bWxqY2pSc0VuejcrYVRDcU04WHZweWJqNzk2VS9uUFlTeDUvTXJYL25L
ekdsMjB4aWYvbEFzY1gxTS8zMVh2T0lWUjYvago3bUNubm5wcWMrdGIzenBQTW83R3hIbmpzV2Qz
YU5oUUc0YUd4WkdlOElvOXV0SEZIdHA3M3ZPZStYbjhHMnJIYUtRcFQxSUJtSzhECjZvNVlmZTFy
WDJ2aStxRG93amxleDlHSDZPSlVpRGluL3VNZi8zaVRObnB5dnlHblBFTHYzNUJOVER0dEFEYXBr
TTN2aU5NeTBrWjYKZmg0M09ZaWpIckVjeFhJV3puZTV5MTJhSC8zb1I3MnAvL3ZwTkk4aDQ2Rmgv
NTd5cXMvNnkwY01tZlladU0xdGJwT1AyTnp3aGpmTQoxeW5Fc2hMTFQxb0pOWk9XNTRYR2tvcU41
ak9mK1V6ZVN4eHh4TTBsVXFHV2p4TEU2OWo3bTRybmVEb3pwNU5pamJzVUxkZnlGM251CmpqcWtJ
anJIMVAyTEl6WnhMVnJrYjd6YmFLT05KdmJ2eG92aGFjTy9pYjMxWFJmWGNNU2U2N2hHTGUwY3lN
dE52UDd6bi8vY3BDSTIKSDBXTW5IVmRISEhybnhZMkZHdjNua21QaTFuK1VrSFFwR0tqaWV0VzRt
aFFLaEx6alVEaVRtSHhPUmo2ZkV6SzJZMXVkS09wbjZjdQo1bTc1SFZyZVpxMTd1bW4xSHhleVBJ
NS9QM1RUNldMclhrLzdiSFhEdThkcDlrdnhIVnB2RGRsMU1Ya2tRSURBWlVsZ3hRdVEvaGRHClhG
TVNwM2wwWFF6cmhzZkdSMnhvM3VjKzk4bW5lY1VYUTF4SU9xM3IzaGNidkxGUmV2bkxYejcveFNr
Nm4vdmM1L0twV0xPbTJVMWoKZkI2ejNqYytmdmM2aXA0NGRhdy8zVGpGSnVJYkdqYlVocUZoeHg5
L2ZONkEzWGpqamJzUW10amc2dWEvMkhiRXhDSVBzZUVUZHo2TApMb3FMdUpnM3VqaE5LRFlRWXVP
bjY5SmU0L3cwTnFBWDJnM1pSRnRlODVyWDVJM01PQTByenMrUERjV3VpK0ZkZTZOZlhNamNuVkxV
CmpkTTlUdk1ZTWg0YTFrMTMvTEVmVHd6cnZ4Ny9ERVNoRnBaZE56Uy9vV0hkKy91UGNlcE9GT05S
ekVRWEc5SnhhbVNjZ2hOR2NmcksKbGE1MHBUeHNucHlPeDdvbWw3OGMxQ1gvNG5TY0tNNjYwenI3
dzRiV0VURmVOenlLdXE3cjhwSDJVbWVES0Z5aml6ditSWkVkeTNLYwp1aGJkaHo3MG9lYjAwMC9Q
NjZUY1l3bi9GclA4eGV3aTNxNGQ4VHBPTTR6bEtBcklHRGIwK1JqUDJhenh1L25GNDlEeU5pdjM4
Zjd4CmJpSExZN3czWW8yL2ZqZjBldnl6MVgvZk5Qc1lKNmE1R04raDlkYVFYVDh1endrUUlIQlpF
WmpySXZSTEN5T3VQWWk5bjY5KzlhdnoKUmFDeDl6YnVpalBVeFlXbmNlRjE3TjJkMUMxbW1qR2R4
Ynd2enZudHJrOFlqMlZvMkZBYmhvYkZ1ZWt4Zkx6cmYwa3ZwaDB4dmZoQwpqcjNPY2U1MVhOZ2Jl
NGk3UWlmMkpzZDhvNWlNZ2llNk9Bb1JlWmkwa1poSEdQZzNaQk52aTR0LzQ0akxXOTd5bGlhdVI0
cU41Y1YyCmt6eUdqSWVHTFRhR29mY056VzlvMktScFJ1RWJlNGpmOWE1MzVkeWxVeHp6VWJLNGR1
bVBmL3pqS3JmQVhreE8xK1R5TjZrOXk5MHYKN25JVm41V3dpQzZLbkxqelgxelFIbmY0aTJ0QjR0
cUxoei84NFhtamZ6bm12OURsYjlvODQyaG5mTjZpVytqblk5N3hoNWEzZVhJLwpIdnRDbHNmeDl5
N0g2MG4yMDc1ZjV2RWRXbThOMlMxSFcweURBQUVDYTV2QWloOEJtUmNvTGdLTkh6bU11OVhFS1Q1
eDBYTnNLRTNyCnVvM3M3YmJiTGgveDZPLzFqcjJkc1lkdTFqUzdhWXpQWTliN1lzL3hwQzcycE1Z
UEs4WWUwNjZMV09Lb3dOQ3dvVFlNRFl0aUxmWncKcDNQeHU5bXQ4amlySGF1TVBPRkZ1bDRuSDNt
SXV3UEZ4Y3BkRjN0ZzR5TGd1S3RRMTBYdVlvOXluRTdVZGRPY3V1SGQ0NUJOM0ZJNApMcktQaS9u
N1IxeTY5eTdrY1pySGtQSFFzR256bnJaY1RSdS8zMzlvZmtQRCt0UG9QNCtONTdnSSs0MXZmR01U
K1l6VFlJNDk5dGk4Cjk3eC9zZmU4T2UxUGUwMHZmLzE1cmNubmNVcFcvRVd4RWJkK2phTkNjWU9E
dUlYdjFhNTJ0U1pkMTdZc3MxL004amRweHZGNWo5UGYKMGpVVitaYmJDL2w4elBONTZwYmZvZVZ0
VnU0bnhSMzk1bDBlcDcyL2kyM2E4R245cDlsUEduOWUzNkgxMXBEZHBIbnFSNEFBZ2RvRgo1aXBB
dWw4NTd4NERKZllHeGdabC8xenFjYXpZUXg1N3hxSkxGNEhuY2Z2angxNzArT3U2R0Jhdll5TTl2
bERqTGlYUnBRdTdtL3ZlCjk3Nmp2ZXZkK04xamZ6NnhoemYyUk1XcFRqSFAyQkNPallqclh2ZTZn
OVBzVHlQZTErK0dZb2s5L2QvODVqZnpMWW5QT3V1c1hHekUKK05IRlhhODIyR0NEdkpFWDUyZkgz
ek9mK2N4OEt0UFFzSFRCNjlRMkRBMkxhY1plME5oejIzVnhqVTNzZllzQ1lhZ2RjUnBUYkhERgpu
WEttZFhIYVFsem5FYWRoeFNsWlhSZlhEY1ExUFhHcVc5ZkYzYmRpSXpaZGxKbDdEVGwxNytrZWgy
ekNNSmE3MkhDS05zVXBXRkZzCnhqSVRmL0g3RVAxQ0o1YXBHRzlTTjgxanlIaG8yS1I1akM5WEVj
L1FaeUNLdHY1blltaCtROE1teFJMOTRwU2kySnNmUjdSaUl6dXUKa1ltOXZuRTNwZjdHM0R3NUhZ
OTFLY3ZmdEhndnJmNnhNUm0zKzQzcjFjSW1IdmZaWjUrOEl5TitiMlRlYnVoenRaamxyNXR2dDQ2
SgoxMUVjeFE2QnVOWnMxdWRqUEdlenh1OHZ2MFByMWxtNTcrSWVmNXgzZVl6MzliOGY0blUvdG5t
K1grSTlYVGZOdmorOGV6NnY3Mzc3CjdUZDFmVC9yc3hxL2FSS0ZiZmQ5MmMzYkl3RUNCS29WU0J0
dGcxMDYrcER2K0pJQTJyUVIzNmJEOVcyNjRMQk5YM2o1ams3cEZyeHQKMnNNL2NScHBUM21iTm1y
eW5YZlNiVkh6WGJQU1JZOXRPZ0xRcGczZE51MGRiOU1HYzV2dXc5K21qZmcyM2RZMVR6TWQ5Y2pq
cEF1Swo4L3crK3RHUHRtbXZYcjV6eWFRWjllZVRpbzgyN21xVE5yTHl2TlA1OUczYXc1dmZGbmQ4
bVRiTjhXbjA1elAwdm5UK2ZKdE9KV2pUCnJUamIvL3F2LzhwMzhrb2JLNk83Tk1XOEk0YndTeHMx
YlRwMWFEVHBvV0hUMmhCdkhocVdUcTlwMDNVUDJUWjlJYmFwVUdqVGRTaHQKOUI5cVIrUWs3bXFX
ZmtCc0ZOK2tKM0hYbmZTalg2c05pbnhHYnVNdVJPbEM1RFlWS3ZrT1R0MklzNXk2OGJySGFUYnBs
SzU4bDZoMApxbGUrZzFQY3VTbGQrTittVTJYeTNkWFNSa20rODFjNjU3cU51N2Z0c01NT2VWbjQ3
R2MvMjAxNjlEamtNV1E4Tkd3MDhVdWU5SmVyCldaK0J5RkhhMjk2bURkNDJGZCtqU1EzTmIyallh
QUpqVCtJem15N2tIdlZOaGVjcXI3c0JRem1kRnV0aWw3OXVudk04cG5QdDgrY3AKYmF5dE5ub3Fq
dHRZTnFaMXNTNkp6Mkk2WFhBMFNyb0ZiKzZYQ3RkUnY3MzIyaXN2UjJtanZuM3FVNSthN3pnMUdy
aUFKME9mcThVdQpmM0Yzd0xoVFd1UXRuUTdaeHAzMzBoNzlITlhRNStQdGIzLzdhc3ZYMFBoeFI2
Mys4anUwYm8yWkQrVitpR3llNVhIOCsyRTh0bG1mCnJmSDVEOWt2MWpkaW1yYmVpdmtQZlZiVERw
WDhmUlU1MGhFZ1FPQ3lJQkI3amRkbzE5MUtjNkV6U1h1dDgxdlNucTFWTmhhbVRXZDgKUHZGbEVC
dFpjYXZMcnBzMXpmRnB6UHUrbUZmYU81ZEhqMXR5am5leFlkTnRJQ3hrMktRMmRPOGZHcGIyY281
dVlacjJwbmR2R2QzRwplSnBwdWpOTSsveDBXOXVoTGdyUWRDM094RkdpblhFcjF2N0diWC9FV1U3
OWNlUDVrRnZuSGVOTk1vLytzN3BaeThPUThkQ3c4ZmxPClc2N0d4eHQ2UFRTL29XR1RwcG1PR0sz
U2UveDFmK0NzblBiSDdaNHZkdm5yM2wvYjQ3VFAxV0tYdjloQVRyOXpsTmVMY1h2YVNkMUMKUHg5
RDQ0OHZ2MFBMMjdUY1Q0cXg2emUrL0kyLzdzYWI5RGdlMjZSeEp2VWJzbCtxNzlCNmE4aHVXaTRu
eGE4ZkFRSUUxbmFCZGFJQgoxUjdlMGJBRkNjUkYzWEhIbi9qMSt2RXVUaVdKVTNmaVZJSzRwV1Qv
ZEozeGNiMG1RT0RmQWtPZnEzK1BOZit6ZEpReTMzNzNGYTk0CnhmeHZNdWJjQW56bnBqSWlBUUlF
RmkwdzF6VWdpNTY2TjY1VkFuR3IwVW5GUjV3TEg5Y0x4RzlzeE8reEtEN1dxclFLOWxJV21QYTUK
V2t4WWFlOTYwMTFydHBqM2U4K3dBTjloSDBNSkVDQ3dYQUtPZ0N5WFpNWFRpWnNQeEEwQjRrWUFj
YmNiSFFFQ2w0NUF1a1pnZEtGeQp1dTZzaWQvUzBDMmZBTi9sc3pRbEFnUUlEQWtvUUlaMERDTkFn
QUFCQWdRSUVDQkFZRmtGbklLMXJKd21Sb0FBQVFJRUNCQWdRSURBCmtJQUNaRWpITUFJRUNCQWdR
SUFBQVFJRWxsVkFBYktzbkNaR2dBQUJBZ1FJRUNCQWdNQ1FnQUprU01jd0FnUUlFQ0JBZ0FBQkFn
U1cKVlVBQnNxeWNKa2FBQUFFQ0JBZ1FJRUNBd0pDQUFtUkl4ekFDQkFnUUlFQ0FBQUVDQkpaVlFB
R3lySndtUm9BQUFRSUVDQkFnUUlEQQprSUFDWkVqSE1BSUVDQkFnUUlBQUFRSUVsbFZBQWJLc25D
WkdnQUFCQWdRSUVDQkFnTUNRZ0FKa1NNY3dBZ1FJRUNCQWdBQUJBZ1NXClZVQUJzcXljSmthQUFB
RUNCQWdRSUVDQXdKQ0FBbVJJeHpBQ0JBZ1FJRUNBQUFFQ0JKWlZRQUd5ckp3bVJvQUFBUUlFQ0JB
Z1FJREEKa0lBQ1pFakhNQUlFQ0JBZ1FJQUFBUUlFbGxWQUFiS3NuQ1pHZ0FBQkFnUUlFQ0JBZ01D
UWdBSmtTTWN3QWdRSUVDQkFnQUFCQWdTVwpWVUFCc3F5Y0prYUFBQUVDQkFnUUlFQ0F3SkNBQW1S
SXh6QUNCQWdRSUVDQUFBRUNCSlpWUUFHeXJKd21Sb0FBQVFJRUNCQWdRSURBCmtJQUNaRWpITUFJ
RUNCQWdRSUFBQVFJRWxsVmcvVmxUdS9qaWk1c25QL25KelFVWFhMREtxT3V2djM2eitlYWJOenZ2
dkhOejczdmYKZXpUc1JTOTZVZk9MWC95aVdXKzk5WnJOTnR1c3Vkbk5idGJzdmZmZXpicnJydHVj
Yzg0NXpXTWYrOWhtenozM2JCNzV5RWMyNjZ5egpUbjdmSno3eGllWTczL2xPYy9EQkIrZlhiM3Zi
MjVvenp6eXplZDd6bnBkZmYrbExYMnJlL2U1M044Y2NjMHgrejNMRkV4TS80SUFECm1xdGU5YXJO
MDU3MnRHYlRUVGZOOC92WnozN1dISDc0NGMxUlJ4M1ZYUDd5bDI5T08rMjA1dFd2Zm5VVGJidm1O
YS9aL09sUGYyb08KT3VpZzVqR1BlVXl6eXk2NzVQZDAvNWJUSzZhNTNQRjFjWG9rUUlBQUFRSUVD
QkFnY0trSXRETzZyMzcxcTIwS2JQRHZKUzk1U1o3SwplZWVkMTZiQ1k3VnhEenp3d0R6OHVPT09h
N2ZjY3NzOC9KQkREaG5OZWIvOTltdHZjNXZiakY0Ly9PRVBiMVBoTW5wOTVKRkh0cW5nCmFTKzY2
S0oyT2VQNTNlOSsxOTdxVnJmSzhWei8rdGR2VS9HUTUvbUJEM3dnOTB1RlZINmRDcVQ4K2tjLyts
RisvYXRmL1NxLy90Q0gKUGpTS3NYdFNlbnhkbkI0SkVDQkFnQUFCQWdRSVhCb0NNMC9CMm5YWFha
c1UyR3AvcVJob2Z2T2IzelIzdTl2ZG1yVEJub3VuT0lKdwo0WVVYNW5IalNFQXFTSm9IUE9BQm8r
RnhwT1NNTTg1bzduNzN1emZ2ZWM5N1JnWFhOdHRzMDV4OTl0bWoxM0dFb1RzYUVUM1RCbjhUCjQ4
UlJsT1dNWjVOTk5tbE9QUEhFZktRakZSZk5xYWVlbW1PSWVVVVhSMnlpaTNpaXUvclZyNTRmZi9u
TFgrYkhiYmZkTmovMi81VWUKWHo5V3p3a1FJRUNBQUFFQ0JBaXN0TURNQW1SYVFGRU14T2xJdSsr
KysyaER2VDl1bkY0VlJjUzk3bld2NXR4enp4ME5pbE9hOXRwcgpyMXk4ZEQxamc3L2IySTkrVVhC
c3NjVVczZURtNXovL2ViUDk5dHVQWGs5NnN0aDRZbHBSSkVVWEJWVjA0d1ZJeEhPRksxeWh1ZHJW
CnJwYUhSenpSellvcGozVEp2OUxqNjhmcU9RRUNCQWdRSUVDQUFJRTFKVEJYQWZMVG4vNjBlY0lU
bnREODRROS9XQzJPalRiYWFHTC8KYnNRWS9xOS8vYXY1MjkvKzF2WEsxMXo4L2U5L2J3NDc3TERt
NUpOUHpodjg4ZnJQZi81ekxqWk9PdW1rVmE0cmlXc3cwaWxTby9ldgppWGhpNGwvNzJ0ZWFON3po
RGZuYWxnMDMzREFmbFltalB4Lys4SWR6SWRWZHN4THh4UFV2RzIrODhTaW0vcFBTNCt2SDZqa0JB
Z1FJCkVDQkFnQUNCbFJTWXF3Q0pJd054QWZoZi8vclgxV0tMaTgySHVtNTRiTWgzWGJjaEg2ZHJ4
YWxhM1JHSG80OCt1dGxqanozeWhkMzMKdTkvOTh1anBPb3ZtOU5OUGI1NzBwQ2QxYjg5SEtwWXpu
bTdDRVdPY1doYmQxbHR2M1J4Ly9QSE4vdnZ2MzN6dmU5OGJYU0QveHovKwpNWit5bGE1cjZkNjIy
dU55ZTNVeldLNzR1dWw1SkVDQUFBRUNCQWdRSUxEU0FuTVZJR3NxcUxqTFZkeEZLemIybzR1aVl0
OTk5MjArCi8vblA1MU9lNHRxTFF3ODl0RWtYcFRjM3VNRU4xbFFZbytudXVPT08rVWhQOUlpaTZO
aGpqMjAyMkdDRGZHUmtwNTEyeXVNOS8vblAKejdFOTlhbFBIYjF2cFo2VUh0OUtPWmdQQVFJRUNC
QWdRSURBMmlzdzh6YThLOUcwdUExdS9FV3g4WWhIUENMUE1tNjlHOCszMm1xcgpmRXZjbFlpalA0
OG9RT0xvemR2Zi92YmNPeTZTZi9Takg5MmNjTUlKemZ2ZTk3N21pbGU4WW4vMEZYOWVlbndyRG1L
R0JBZ1FJRUNBCkFBRUNhNFhBcFhvRXBDOFVHOVR4dXh1NzdiWmJ2Z0E5SHZmWlo1OThHbFJjYjdI
U1hjUVRkOGlLVThIaStwTW9oTTQvLy96bWxGTk8KeVRHdWREemo4eXM5dnZGNHZTWkFnQUFCQWdR
SUVDQVFBc1VVSUhGSHFiUE9PaXRmWnhKM3BmcktWNzdTSEhIRUVVMzg0T0dsMGNVRwpmbHlqRXRl
ZnhLbFBiM25MVzNKTTNlbGlsMFpNL1htV0hsOC9WczhKRUNCQWdBQUJBZ1FJZEFMcnBBdWIvMzEx
ZU5mWEl3RUNCQWdRCklFQ0FBQUVDQk5hQVFERkhRTlpBMjB5U0FBRUNCQWdRSUVDQUFJSENCQlFn
aFNWRU9BUUlFQ0JBZ0FBQkFnUnFGbENBMUp4ZGJTTkEKZ0FBQkFnUUlFQ0JRbUlBQ3BMQ0VDSWNB
QVFJRUNCQWdRSUJBelFJS2tKcXpxMjBFQ0JBZ1FJQUEwL2dHUlFBQUlBQkpSRUZVQVFJRQpDaE5R
Z0JTV0VPRVFJRUNBQUFFQ0JBZ1FxRmxBQVZKemRyV05BQUVDQkFnUUlFQ0FRR0VDQ3BEQ0VpSWNB
Z1FJRUNCQWdBQUJBalVMCktFQnF6cTYyRVNCQWdBQUJBZ1FJRUNoTVFBRlNXRUtFUTRBQUFRSUVD
QkFnUUtCbUFRVkl6ZG5WTmdJRUNCQWdRSUFBQVFLRkNTaEEKQ2t1SWNBZ1FJRUNBQUFFQ0JBalVM
S0FBcVRtNzJrYUFBQUVDQkFnUUlFQ2dNQUVGU0dFSkVRNEJBZ1FJRUNCQWdBQ0JtZ1VVSURWbgpW
OXNJRUNCQWdBQUJBZ1FJRkNhZ0FDa3NJY0loUUlBQUFRSUVDQkFnVUxPQUFxVG03R29iQVFJRUNC
QWdRSUFBZ2NJRUZDQ0ZKVVE0CkJBZ1FJRUNBQUFFQ0JHb1dVSURVbkYxdEkwQ0FBQUVDQkFnUUlG
Q1lnQUtrc0lRSWh3QUJBZ1FJRUNCQWdFRE5BZ3FRbXJPcmJRUUkKRUNCQWdBQUJBZ1FLRTFDQUZK
WVE0UkFnUUlBQUFRSUVDQkNvV1VBQlVuTjJ0WTBBQVFJRUNCQWdRSUJBWVFJS2tNSVNJaHdDQkFn
UQpJRUNBQUFFQ05Rc29RR3JPcnJZUklFQ0FBQUVDQkFnUUtFeEFBVkpZUW9SRGdBQUJBZ1FJRUNC
QW9HWUJCVWpOMmRVMkFnUUlFQ0JBCmdBQUJBb1VKS0VBS1M0aHdDQkFnUUlBQUFRSUVDTlFzb0FD
cE9idmFSb0FBQVFJRUNCQWdRS0F3QVFWSVlRa1JEZ0VDQkFnUUlFQ0EKQUlHYUJSUWdOV2RYMndn
UUlFQ0FBQUVDQkFnVUpxQUFLU3dod2lGQWdBQUJBZ1FJRUNCUXM0QUNwT2JzYWhzQkFnUUlFQ0JB
Z0FDQgp3Z1FVSUlVbFJEZ0VDQkFnUUlBQUFRSUVhaFpRZ05TY1hXMGpRSUFBQVFJRUNCQWdVSmlB
QXFTd2hBaUhBQUVDQkFnUUlFQ0FRTTBDCkNwQ2FzNnR0QkFnUUlFQ0FBQUVDQkFvVFVJQVVsaERo
RUNCQWdBQUJBZ1FJRUtoWlFBRlNjM2ExalFBQkFnUUlFQ0JBZ0VCaEFncVEKd2hJaUhBSUVDQkFn
UUlBQUFRSTFDeWhBYXM2dXRoRWdRSUFBQVFJRUNCQW9URUFCVWxoQ2hFT0FBQUVDQkFnUUlFQ2da
Z0VGU00zWgoxVFlDQkFnUUlFQ0FBQUVDaFFrb1FBcExpSEFJRUNCQWdBQUJBZ1FJMUN5Z0FLazV1
OXBHZ0FBQkFnUUlFQ0JBb0RBQkJVaGhDUkVPCkFRSUVDQkFnUUlBQWdab0ZGQ0ExWjFmYkNCQWdR
SUFBQVFJRUNCUW1vQUFwTENIQ0lVQ0FBQUVDQkFnUUlGQ3pnQUtrNXV4cUd3RUMKQkFnUUlFQ0FB
SUhDQkJRZ2hTVkVPQVFJRUNCQWdBQUJBZ1JxRmxDQTFKeGRiU05BZ0FBQkFnUUlFQ0JRbUlBQ3BM
Q0VDSWNBQVFJRQpDQkFnUUlCQXpRSUtrSnF6cTIwRUNCQWdRSUFBQVFJRUNoTlFnQlNXRU9FUUlF
Q0FBQUVDQkFnUXFGbEFBVkp6ZHJXTkFBRUNCQWdRCklFQ0FRR0VDQ3BEQ0VpSWNBZ1FJRUNCQWdB
QUJBalVMS0VCcXpxNjJFU0JBZ0FBQkFnUUlFQ2hNUUFGU1dFS0VRNEFBQVFJRUNCQWcKUUtCbUFR
Vkl6ZG5WTmdJRUNCQWdRSUFBQVFLRkNTaEFDa3VJY0FnUUlFQ0FBQUVDQkFqVUxLQUFxVG03Mmth
QUFBRUNCQWdRSUVDZwpNQUVGU0dFSkVRNEJBZ1FJRUNCQWdBQ0JtZ1VVSURWblY5c0lFQ0JBZ0FB
QkFnUUlGQ2FnQUNrc0ljSWhRSUFBQVFJRUNCQWdVTE9BCkFxVG03R29iQVFJRUNCQWdRSUFBZ2NJ
RUZDQ0ZKVVE0QkFnUUlFQ0FBQUVDQkdvV1VJRFVuRjF0STBDQUFBRUNCQWdRSUZDWWdBS2sKc0lR
SWh3QUJBZ1FJRUNCQWdFRE5BZ3FRbXJPcmJRUUlFQ0JBZ0FBQkFnUUtFMUNBRkpZUTRSQWdRSUFB
QVFJRUNCQ29XVUFCVW5OMgp0WTBBQVFJRUNCQWdRSUJBWVFJS2tNSVNJaHdDQkFnUUlFQ0FBQUVD
TlFzb1FHck9ycllSSUVDQUFBRUNCQWdRS0V4QUFWSllRb1JECmdBQUJBZ1FJRUNCQW9HWUJCVWpO
MmRVMkFnUUlFQ0JBZ0FBQkFvVUpLRUFLUzRod0NCQWdRSUFBQVFJRUNOUXNvQUNwT2J2YVJvQUEK
QVFJRUNCQWdRS0F3QVFWSVlRa1JEZ0VDQkFnUUlFQ0FBSUdhQlJRZ05XZFgyd2dRSUVDQUFBRUNC
QWdVSnFBQUtTd2h3aUZBZ0FBQgpBZ1FJRUNCUXM0QUNwT2JzYWhzQkFnUUlFQ0JBZ0FDQndnUVVJ
SVVsUkRnRUNCQWdRSUFBQVFJRWFoWlFnTlNjWFcwalFJQUFBUUlFCkNCQWdVSmlBQXFTd2hBaUhB
QUVDQkFnUUlFQ0FRTTBDQ3BDYXM2dHRCQWdRSUVDQUFBRUNCQW9UVUlBVWxoRGhFQ0JBZ0FBQkFn
UUkKRUtoWlFBRlNjM2ExalFBQkFnUUlFQ0JBZ0VCaEFncVF3aElpSEFJRUNCQWdRSUFBQVFJMUN5
aEFhczZ1dGhFZ1FJQUFBUUlFQ0JBbwpURUFCVWxoQ2hFT0FBQUVDQkFnUUlFQ2daZ0VGU00zWjFU
WUNCQWdRSUVDQUFBRUNoUWtvUUFwTGlIQUlFQ0JBZ0FBQkFnUUkxQ3lnCkFLazV1OXBHZ0FBQkFn
UUlFQ0JBb0RBQkJVaGhDUkVPQVFJRUNCQWdRSUFBZ1pvRkZDQTFaMWZiQ0JBZ1FJQUFBUUlFQ0JR
bW9BQXAKTENIQ0lVQ0FBQUVDQkFnUUlGQ3pnQUtrNXV4cUd3RUNCQWdRSUVDQUFJSENCQlFnaFNW
RU9BUUlFQ0JBZ0FBQkFnUnFGbENBMUp4ZApiU05BZ0FBQkFnUUlFQ0JRbUlBQ3BMQ0VDSWNBQVFJ
RUNCQWdRSUJBelFJS2tKcXpxMjBFQ0JBZ1FJQUFBUUlFQ2hOUWdCU1dFT0VRCklFQ0FBQUVDQkFn
UXFGbEFBVkp6ZHJXTkFBRUNCQWdRSUVDQVFHRUNDcERDRWlJY0FnUUlFQ0JBZ0FBQkFqVUxLRUJx
enE2MkVTQkEKZ0FBQkFnUUlFQ2hNUUFGU1dFS0VRNEFBQVFJRUNCQWdRS0JtQVFWSXpkblZOZ0lF
Q0JBZ1FJQUFBUUtGQ1NoQUNrdUljQWdRSUVDQQpBQUVDQkFqVUxLQUFxVG03MmthQUFBRUNCQWdR
SUVDZ01BRUZTR0VKRVE0QkFnUUlFQ0JBZ0FDQm1nVVVJRFZuVjlzSUVDQkFnQUFCCkFnUUlGQ2Fn
QUNrc0ljSWhRSUFBQVFJRUNCQWdVTE9BQXFUbTdHb2JBUUlFQ0JBZ1FJQUFnY0lFRkNDRkpVUTRC
QWdRSUVDQUFBRUMKQkdvV1VJRFVuRjF0STBDQUFBRUNCQWdRSUZDWWdBS2tzSVFJaHdBQkFnUUlF
Q0JBZ0VETkFncVFtck9yYlFRSUVDQkFnQUFCQWdRSwpFMUNBRkpZUTRSQWdRSUFBQVFJRUNCQ29X
VUFCVW5OMnRZMEFBUUlFQ0JBZ1FJQkFZUUlLa01JU0lod0NCQWdRSUVDQUFBRUNOUXNvClFHck9y
cllSSUVDQUFBRUNCQWdRS0V4QUFWSllRb1JEZ0FBQkFnUUlFQ0JBb0dZQkJVak4yZFUyQWdRSUVD
QkFnQUFCQW9VSktFQUsKUzRod0NCQWdRSUFBQVFJRUNOUXNvQUNwT2J2YVJvQUFBUUlFQ0JBZ1FL
QXdBUVZJWVFrUkRnRUNCQWdRSUVDQUFJR2FCUlFnTldkWAoyd2dRSUVDQUFBRUNCQWdVSnFBQUtT
d2h3aUZBZ0FBQkFnUUlFQ0JRczRBQ3BPYnNhaHNCQWdRSUVDQkFnQUNCd2dRVUlJVWxSRGdFCkNC
QWdRSUFBQVFJRWFoWlFnTlNjWFcwalFJQUFBUUlFQ0JBZ1VKaUFBcVN3aEFpSEFBRUNCQWdRSUVD
QVFNMENDcENhczZ0dEJBZ1EKSUVDQUFBRUNCQW9UVUlBVWxoRGhFQ0JBZ0FBQkFnUUlFS2haUUFG
U2MzYTFqUUFCQWdRSUVDQkFnRUJoQWdxUXdoSWlIQUlFQ0JBZwpRSUFBQVFJMUN5aEFhczZ1dGhF
Z1FJQUFBUUlFQ0JBb1RFQUJVbGhDaEVPQUFBRUNCQWdRSUVDZ1pnRUZTTTNaMVRZQ0JBZ1FJRUNB
CkFBRUNoUWtvUUFwTGlIQUlFQ0JBZ0FBQkFnUUkxQ3lnQUtrNXU5cEdnQUFCQWdRSUVDQkFvREFC
QlVoaENSRU9BUUlFQ0JBZ1FJQUEKZ1pvRkZDQTFaMWZiQ0JBZ1FJQUFBUUlFQ0JRbW9BQXBMQ0hD
SVVDQUFBRUNCQWdRSUZDemdBS2s1dXhxR3dFQ0JBZ1FJRUNBQUlIQwpCQlFnaFNWRU9BUUlFQ0JB
Z0FBQkFnUnFGbENBMUp4ZGJTTkFnQUFCQWdRSUVDQlFtSUFDcExDRUNJY0FBUUlFQ0JBZ1FJQkF6
UUlLCmtKcXpxMjBFQ0JBZ1FJQUFBUUlFQ2hOUWdCU1dFT0VRSUVDQUFBRUNCQWdRcUZsQUFWSnpk
cldOQUFFQ0JBZ1FJRUNBUUdFQ0NwREMKRWlJY0FnUUlFQ0JBZ0FBQkFqVUxLRUJxenE2MkVTQkFn
QUFCQWdRSUVDaE1RQUZTV0VLRVE0QUFBUUlFQ0JBZ1FLQm1BUVZJemRuVgpOZ0lFQ0JBZ1FJQUFB
UUtGQ1NoQUNrdUljQWdRSUVDQUFBRUNCQWpVTEtBQXFUbTcya2FBQUFFQ0JBZ1FJRUNnTUFFRlNH
RUpFUTRCCkFnUUlFQ0JBZ0FDQm1nVVVJRFZuVjlzSUVDQkFnQUFCQWdRSUZDYWdBQ2tzSWNJaFFJ
QUFBUUlFQ0JBZ1VMT0FBcVRtN0dvYkFRSUUKQ0JBZ1FJQUFnY0lFRkNDRkpVUTRCQWdRSUVDQUFB
RUNCR29XVUlEVW5GMXRJMENBQUFFQ0JBZ1FJRkNZZ0FLa3NJUUlod0FCQWdRSQpFQ0JBZ0VETkFn
cVFtck9yYlFRSUVDQkFnQUFCQWdRS0UxQ0FGSllRNFJBZ1FJQUFBUUlFQ0JDb1dVQUJVbk4ydFkw
QUFRSUVDQkFnClFJQkFZUUlLa01JU0lod0NCQWdRSUVDQUFBRUNOUXNvUUdyT3JyWVJJRUNBQUFF
Q0JBZ1FLRXhBQVZKWVFvUkRnQUFCQWdRSUVDQkEKb0dZQkJVak4yZFUyQWdRSUVDQkFnQUFCQW9V
SktFQUtTNGh3Q0JBZ1FJQUFBUUlFQ05Rc29BQ3BPYnZhUm9BQUFRSUVDQkFnUUtBdwpBUVZJWVFr
UkRnRUNCQWdRSUVDQUFJR2FCUlFnTldkWDJ3Z1FJRUNBQUFFQ0JBZ1VKcUFBS1N3aHdpRkFnQUFC
QWdRSUVDQlFzNEFDCnBPYnNhaHNCQWdRSUVDQkFnQUNCd2dRVUlJVWxSRGdFQ0JBZ1FJQUFBUUlF
YWhaUWdOU2NYVzBqUUlBQUFRSUVDQkFnVUppQUFxU3cKaEFpSEFBRUNCQWdRSUVDQVFNMENDcENh
czZ0dEJBZ1FJRUNBQUFFQ0JBb1RVSUFVbGhEaEVDQkFnQUFCQWdRSUVLaFpRQUZTYzNhMQpqUUFC
QWdRSUVDQkFnRUJoQWdxUXdoSWlIQUlFQ0JBZ1FJQUFBUUkxQ3loQWFzNnV0aEVnUUlBQUFRSUVD
QkFvVEVBQlVsaENoRU9BCkFBRUNCQWdRSUVDZ1pnRUZTTTNaMVRZQ0JBZ1FJRUNBQUFFQ2hRa29R
QXBMaUhBSUVDQkFnQUFCQWdRSTFDeWdBS2s1dTlwR2dBQUIKQWdRSUVDQkFvREFCQlVoaENSRU9B
UUlFQ0JBZ1FJQUFnWm9GRkNBMVoxZmJDQkFnUUlBQUFRSUVDQlFtb0FBcExDSENJVUNBQUFFQwpC
QWdRSUZDemdBS2s1dXhxR3dFQ0JBZ1FJRUNBQUlIQ0JCUWdoU1ZFT0FRSUVDQkFnQUFCQWdScUZs
Q0ExSnhkYlNOQWdBQUJBZ1FJCkVDQlFtSUFDcExDRUNJY0FBUUlFQ0JBZ1FJQkF6UUlLa0pxenEy
MEVDQkFnUUlBQUFRSUVDaE5RZ0JTV0VPRVFJRUNBQUFFQ0JBZ1EKcUZsQUFWSnpkcldOQUFFQ0JB
Z1FJRUNBUUdFQ0NwRENFaUljQWdRSUVDQkFnQUFCQWpVTEtFQnF6cTYyRVNCQWdBQUJBZ1FJRUNo
TQpRQUZTV0VLRVE0QUFBUUlFQ0JBZ1FLQm1BUVZJemRuVk5nSUVDQkFnUUlBQUFRS0ZDU2hBQ2t1
SWNBZ1FJRUNBQUFFQ0JBalVMS0FBCnFUbTcya2FBQUFFQ0JBZ1FJRUNnTUFFRlNHRUpFUTRCQWdR
SUVDQkFnQUNCbWdVVUlEVm5WOXNJRUNCQWdBQUJBZ1FJRkNhZ0FDa3MKSWNJaFFJQUFBUUlFQ0JB
Z1VMT0FBcVRtN0dvYkFRSUVDQkFnUUlBQWdjSUVGQ0NGSlVRNEJBZ1FJRUNBQUFFQ0JHb1dVSURV
bkYxdApJMENBQUFFQ0JBZ1FJRkNZZ0FLa3NJUUlod0FCQWdRSUVDQkFnRUROQWdxUW1yT3JiUVFJ
RUNCQWdBQUJBZ1FLRTFDQUZKWVE0UkFnClFJQUFBUUlFQ0JDb1dVQUJVbk4ydFkwQUFRSUVDQkFn
UUlCQVlRSUtrTUlTSWh3Q0JBZ1FJRUNBQUFFQ05Rc29RR3JPcnJZUklFQ0EKQUFFQ0JBZ1FLRXhB
QVZKWVFvUkRnQUFCQWdRSUVDQkFvR1lCQlVqTjJkVTJBZ1FJRUNCQWdBQUJBb1VKS0VBS1M0aHdD
QkFnUUlBQQpBUUlFQ05Rc29BQ3BPYnZhUm9BQUFRSUVDQkFnUUtBd0FRVklZUWtSRGdFQ0JBZ1FJ
RUNBQUlHYUJSUWdOV2RYMndnUUlFQ0FBQUVDCkJBZ1VKcUFBS1N3aHdpRkFnQUFCQWdRSUVDQlFz
NEFDcE9ic2Foc0JBZ1FJRUNCQWdBQ0J3Z1FVSUlVbFJEZ0VDQkFnUUlBQUFRSUUKYWhaUWdOU2NY
VzBqUUlBQUFRSUVDQkFnVUppQUFxU3doQWlIQUFFQ0JBZ1FJRUNBUU0wQ0NwQ2FzNnR0QkFnUUlF
Q0FBQUVDQkFvVApVSUFVbGhEaEVDQkFnQUFCQWdRSUVLaFpRQUZTYzNhMWpRQUJBZ1FJRUNCQWdF
QmhBZ3FRd2hJaUhBSUVDQkFnUUlBQUFRSTFDeWhBCmFzNnV0aEVnUUlBQUFRSUVDQkFvVEVBQlVs
aENoRU9BQUFFQ0JBZ1FJRUNnWmdFRlNNM1oxVFlDQkFnUUlFQ0FBQUVDaFFrb1FBcEwKaUhBSUVD
QkFnQUFCQWdRSTFDeWdBS2s1dTlwR2dBQUJBZ1FJRUNCQW9EQUJCVWhoQ1JFT0FRSUVDQkFnUUlB
QWdab0ZGQ0ExWjFmYgpDQkFnUUlBQUFRSUVDQlFtb0FBcExDSENJVUNBQUFFQ0JBZ1FJRkN6Z0FL
azV1eHFHd0VDQkFnUUlFQ0FBSUhDQkJRZ2hTVkVPQVFJCkVDQkFnQUFCQWdScUZsQ0ExSnhkYlNO
QWdBQUJBZ1FJRUNCUW1JQUNwTENFQ0ljQUFRSUVDQkFnUUlCQXpRSUtrSnF6cTIwRUNCQWcKUUlB
QUFRSUVDaE5RZ0JTV0VPRVFJRUNBQUFFQ0JBZ1FxRmxBQVZKemRyV05BQUVDQkFnUUlFQ0FRR0VD
Q3BEQ0VpSWNBZ1FJRUNCQQpnQUFCQWpVTEtFQnF6cTYyRVNCQWdBQUJBZ1FJRUNoTVFBRlNXRUtF
UTRBQUFRSUVDQkFnUUtCbUFRVkl6ZG5WTmdJRUNCQWdRSUFBCkFRS0ZDU2hBQ2t1SWNBZ1FJRUNB
QUFFQ0JBalVMS0FBcVRtNzJrYUFBQUVDQkFnUUlFQ2dNQUVGU0dFSkVRNEJBZ1FJRUNCQWdBQ0IK
bWdVVUlEVm5WOXNJRUNCQWdBQUJBZ1FJRkNhZ0FDa3NJY0loUUlBQUFRSUVDQkFnVUxPQUFxVG03
R29iQVFJRUNCQWdRSUFBZ2NJRQpGQ0NGSlVRNEJBZ1FJRUNBQUFFQ0JHb1dVSURVbkYxdEkwQ0FB
QUVDQkFnUUlGQ1lnQUtrc0lRSWh3QUJBZ1FJRUNCQWdFRE5BZ3FRCm1yT3JiUVFJRUNCQWdBQUJB
Z1FLRTFDQUZKWVE0UkFnUUlBQUFRSUVDQkNvV1VBQlVuTjJ0WTBBQVFJRUNCQWdRSUJBWVFJS2tN
SVMKSWh3Q0JBZ1FJRUNBQUFFQ05Rc29RR3JPcnJZUklFQ0FBQUVDQkFnUUtFeEFBVkpZUW9SRGdB
QUJBZ1FJRUNCQW9HWUJCVWpOMmRVMgpBZ1FJRUNCQWdBQUJBb1VKS0VBS1M0aHdDQkFnUUlBQUFR
SUVDTlFzb0FDcE9idmFSb0FBQVFJRUNCQWdRS0F3QVFWSVlRa1JEZ0VDCkJBZ1FJRUNBQUlHYUJS
UWdOV2RYMndnUUlFQ0FBQUVDQkFnVUpxQUFLU3dod2lGQWdBQUJBZ1FJRUNCUXM0QUNwT2JzYWhz
QkFnUUkKRUNCQWdBQ0J3Z1FVSUlVbFJEZ0VDQkFnUUlBQUFRSUVhaFpRZ05TY1hXMGpRSUFBQVFJ
RUNCQWdVSmlBQXFTd2hBaUhBQUVDQkFnUQpJRUNBUU0wQ0NwQ2FzNnR0QkFnUUlFQ0FBQUVDQkFv
VFVJQVVsaERoRUNCQWdBQUJBZ1FJRUtoWlFBRlNjM2ExalFBQkFnUUlFQ0JBCmdFQmhBZ3FRd2hJ
aUhBSUVDQkFnUUlBQUFRSTFDeWhBYXM2dXRoRWdRSUFBQVFJRUNCQW9URUFCVWxoQ2hFT0FBQUVD
QkFnUUlFQ2cKWmdFRlNNM1oxVFlDQkFnUUlFQ0FBQUVDaFFrb1FBcExpSEFJRUNCQWdBQUJBZ1FJ
MUN5Z0FLazV1OXBHZ0FBQkFnUUlFQ0JBb0RBQgpCVWhoQ1JFT0FRSUVDQkFnUUlBQWdab0ZGQ0Ex
WjFmYkNCQWdRSUFBQVFJRUNCUW1vQUFwTENIQ0lVQ0FBQUVDQkFnUUlGQ3pnQUtrCjV1eHFHd0VD
QkFnUUlFQ0FBSUhDQkJRZ2hTVkVPQVFJRUNCQWdBQUJBZ1JxRmxDQTFKeGRiU05BZ0FBQkFnUUlF
Q0JRbUlBQ3BMQ0UKQ0ljQUFRSUVDQkFnUUlCQXpRSUtrSnF6cTIwRUNCQWdRSUFBQVFJRUNoTlFn
QlNXRU9FUUlFQ0FBQUVDQkFnUXFGbEFBVkp6ZHJXTgpBQUVDQkFnUUlFQ0FRR0VDQ3BEQ0VpSWNB
Z1FJRUNCQWdBQUJBalVMS0VCcXpxNjJFU0JBZ0FBQkFnUUlFQ2hNUUFGU1dFS0VRNEFBCkFRSUVD
QkFnUUtCbUFRVkl6ZG5WTmdJRUNCQWdRSUFBQVFLRkNTaEFDa3VJY0FnUUlFQ0FBQUVDQkFqVUxL
QUFxVG03MmthQUFBRUMKQkFnUUlFQ2dNQUVGU0dFSkVRNEJBZ1FJRUNCQWdBQ0JtZ1VVSURWblY5
c0lFQ0JBZ0FBQkFnUUlGQ2FnQUNrc0ljSWhRSUFBQVFJRQpDQkFnVUxPQUFxVG03R29iQVFJRUNC
QWdRSUFBZ2NJRUZDQ0ZKVVE0QkFnUUlFQ0FBQUVDQkdvV1VJRFVuRjF0STBDQUFBRUNCQWdRCklG
Q1lnQUtrc0lRSWh3QUJBZ1FJRUNCQWdFRE5BZ3FRbXJPcmJRUUlFQ0JBZ0FBQkFnUUtFMUNBRkpZ
UTRSQWdRSUFBQVFJRUNCQ28KV1VBQlVuTjJ0WTBBQVFJRUNCQWdRSUJBWVFJS2tNSVNJaHdDQkFn
UUlFQ0FBQUVDTlFzb1FHck9ycllSSUVDQUFBRUNCQWdRS0V4QQpBVkpZUW9SRGdBQUJBZ1FJRUNC
QW9HWUJCVWpOMmRVMkFnUUlFQ0JBZ0FBQkFvVUpLRUFLUzRod0NCQWdRSUFBQVFJRUNOUXNvQUNw
Ck9idmFSb0FBQVFJRUNCQWdRS0F3QVFWSVlRa1JEZ0VDQkFnUUlFQ0FBSUdhQlJRZ05XZFgyd2dR
SUVDQUFBRUNCQWdVSnFBQUtTd2gKd2lGQWdBQUJBZ1FJRUNCUXM0QUNwT2JzYWhzQkFnUUlFQ0JB
Z0FDQndnUVVJSVVsUkRnRUNCQWdRSUFBQVFJRWFoWlFnTlNjWFcwagpRSUFBQVFJRUNCQWdVSmlB
QXFTd2hBaUhBQUVDQkFnUUlFQ0FRTTBDQ3BDYXM2dHRCQWdRSUVDQUFBRUNCQW9UVUlBVWxoRGhF
Q0JBCmdBQUJBZ1FJRUtoWlFBRlNjM2ExalFBQkFnUUlFQ0JBZ0VCaEFncVF3aElpSEFJRUNCQWdR
SUFBQVFJMUN5aEFhczZ1dGhFZ1FJQUEKQVFJRUNCQW9URUFCVWxoQ2hFT0FBQUVDQkFnUUlFQ2da
Z0VGU00zWjFUWUNCQWdRSUVDQUFBRUNoUWtvUUFwTGlIQUlFQ0JBZ0FBQgpBZ1FJMUN5Z0FLazV1
OXBHZ0FBQkFnUUlFQ0JBb0RBQkJVaGhDUkVPQVFJRUNCQWdRSUFBZ1pvRkZDQTFaMWZiQ0JBZ1FJ
QUFBUUlFCkNCUW1vQUFwTENIQ0lVQ0FBQUVDQkFnUUlGQ3pnQUtrNXV4cUd3RUNCQWdRSUVDQUFJ
SENCQlFnaFNWRU9BUUlFQ0JBZ0FBQkFnUnEKRmxDQTFKeGRiU05BZ0FBQkFnUUlFQ0JRbUlBQ3BM
Q0VDSWNBQVFJRUNCQWdRSUJBelFJS2tKcXpxMjBFQ0JBZ1FJQUFBUUlFQ2hOUQpnQlNXRU9FUUlF
Q0FBQUVDQkFnUXFGbEFBVkp6ZHJXTkFBRUNCQWdRSUVDQVFHRUNDcERDRWlJY0FnUUlFQ0JBZ0FB
QkFqVUxLRUJxCnpxNjJFU0JBZ0FBQkFnUUlFQ2hNUUFGU1dFS0VRNEFBQVFJRUNCQWdRS0JtQVFW
SXpkblZOZ0lFQ0JBZ1FJQUFBUUtGQ1NoQUNrdUkKY0FnUUlFQ0FBQUVDQkFqVUxLQUFxVG03Mmth
QUFBRUNCQWdRSUVDZ01BRUZTR0VKRVE0QkFnUUlFQ0JBZ0FDQm1nVVVJRFZuVjlzSQpFQ0JBZ0FB
QkFnUUlGQ2FnQUNrc0ljSWhRSUFBQVFJRUNCQWdVTE9BQXFUbTdHb2JBUUlFQ0JBZ1FJQUFnY0lF
RkNDRkpVUTRCQWdRCklFQ0FBQUVDQkdvV1VJRFVuRjF0STBDQUFBRUNCQWdRSUZDWWdBS2tzSVFJ
aHdBQkFnUUlFQ0JBZ0VETkFncVFtck9yYlFRSUVDQkEKZ0FBQkFnUUtFMUNBRkpZUTRSQWdRSUFB
QVFJRUNCQ29XVUFCVW5OMnRZMEFBUUlFQ0JBZ1FJQkFZUUlLa01JU0lod0NCQWdRSUVDQQpBQUVD
TlFzb1FHck9ycllSSUVDQUFBRUNCQWdRS0V4QUFWSllRb1JEZ0FBQkFnUUlFQ0JBb0dZQkJVak4y
ZFUyQWdRSUVDQkFnQUFCCkFvVUpLRUFLUzRod0NCQWdRSUFBQVFJRUNOUXNvQUNwT2J2YVJvQUFB
UUlFQ0JBZ1FLQXdBUVZJWVFrUkRnRUNCQWdRSUVDQUFJR2EKQlJRZ05XZFgyd2dRSUVDQUFBRUNC
QWdVSnFBQUtTd2h3aUZBZ0FBQkFnUUlFQ0JRczRBQ3BPYnNhaHNCQWdRSUVDQkFnQUNCd2dRVQpJ
SVVsUkRnRUNCQWdRSUFBQVFJRWFoWlFnTlNjWFcwalFJQUFBUUlFQ0JBZ1VKaUFBcVN3aEFpSEFB
RUNCQWdRSUVDQVFNMENDcENhCnM2dHRCQWdRSUVDQUFBRUNCQW9UVUlBVWxoRGhFQ0JBZ0FBQkFn
UUlFS2haUUFGU2MzYTFqUUFCQWdRSUVDQkFnRUJoQWdxUXdoSWkKSEFJRUNCQWdRSUFBQVFJMUN5
aEFhczZ1dGhFZ1FJQUFBUUlFQ0JBb1RFQUJVbGhDaEVPQUFBRUNCQWdRSUVDZ1pnRUZTTTNaMVRZ
QwpCQWdRSUVDQUFBRUNoUWtvUUFwTGlIQUlFQ0JBZ0FBQkFnUUkxQ3lnQUtrNXU5cEdnQUFCQWdR
SUVDQkFvREFCQlVoaENSRU9BUUlFCkNCQWdRSUFBZ1pvRkZDQTFaMWZiQ0JBZ1FJQUFBUUlFQ0JR
bW9BQXBMQ0hDSVVDQUFBRUNCQWdRSUZDemdBS2s1dXhxR3dFQ0JBZ1EKSUVDQUFJSENCQlFnaFNW
RU9BUUlFQ0JBZ0FBQkFnUnFGbENBMUp4ZGJTTkFnQUFCQWdRSUVDQlFtSUFDcExDRUNJY0FBUUlF
Q0JBZwpRSUJBelFJS2tKcXpxMjBFQ0JBZ1FJQUFBUUlFQ2hOUWdCU1dFT0VRSUVDQUFBRUNCQWdR
cUZsQUFWSnpkcldOQUFFQ0JBZ1FJRUNBClFHRUNDcERDRWlJY0FnUUlFQ0JBZ0FBQkFqVUxLRUJx
enE2MkVTQkFnQUFCQWdRSUVDaE1RQUZTV0VLRVE0QUFBUUlFQ0JBZ1FLQm0KQVFWSXpkblZOZ0lF
Q0JBZ1FJQUFBUUtGQ1NoQUNrdUljQWdRSUVDQUFBRUNCQWpVTEtBQXFUbTcya2FBQUFFQ0JBZ1FJ
RUNnTUFFRgpTR0VKRVE0QkFnUUlFQ0JBZ0FDQm1nVVVJRFZuVjlzSUVDQkFnQUFCQWdRSUZDYWdB
Q2tzSWNJaFFJQUFBUUlFQ0JBZ1VMT0FBcVRtCjdHb2JBUUlFQ0JBZ1FJQUFnY0lFRkNDRkpVUTRC
QWdRSUVDQUFBRUNCR29XVUlEVW5GMXRJMENBQUFFQ0JBZ1FJRkNZZ0FLa3NJUUkKaHdBQkFnUUlF
Q0JBZ0VETkFncVFtck9yYlFRSUVDQkFnQUFCQWdRS0UxQ0FGSllRNFJBZ1FJQUFBUUlFQ0JDb1dV
QUJVbk4ydFkwQQpBUUlFQ0JBZ1FJQkFZUUlLa01JU0lod0NCQWdRSUVDQUFBRUNOUXNvUUdyT3Jy
WVJJRUNBQUFFQ0JBZ1FLRXhBQVZKWVFvUkRnQUFCCkFnUUlFQ0JBb0dZQkJVak4yZFUyQWdRSUVD
QkFnQUFCQW9VSktFQUtTNGh3Q0JBZ1FJQUFBUUlFQ05Rc29BQ3BPYnZhUm9BQUFRSUUKQ0JBZ1FL
QXdBUVZJWVFrUkRnRUNCQWdRSUVDQUFJR2FCUlFnTldkWDJ3Z1FJRUNBQUFFQ0JBZ1VKcUFBS1N3
aHdpRkFnQUFCQWdRSQpFQ0JRczRBQ3BPYnNhaHNCQWdRSUVDQkFnQUNCd2dRVUlJVWxSRGdFQ0JB
Z1FJQUFBUUlFYWhaUWdOU2NYVzBqUUlBQUFRSUVDQkFnClVKaUFBcVN3aEFpSEFBRUNCQWdRSUVD
QVFNMENDcENhczZ0dEJBZ1FJRUNBQUFFQ0JBb1RVSUFVbGhEaEVDQkFnQUFCQWdRSUVLaFoKUUFG
U2MzYTFqUUFCQWdRSUVDQkFnRUJoQWdxUXdoSWlIQUlFQ0JBZ1FJQUFBUUkxQ3loQWFzNnV0aEVn
UUlBQUFRSUVDQkFvVEVBQgpVbGhDaEVPQUFBRUNCQWdRSUVDZ1pnRUZTTTNaMVRZQ0JBZ1FJRUNB
QUFFQ2hRa29RQXBMaUhBSUVDQkFnQUFCQWdRSTFDeWdBS2s1CnU5cEdnQUFCQWdRSUVDQkFvREFC
QlVoaENSRU9BUUlFQ0JBZ1FJQUFnWm9GRkNBMVoxZmJDQkFnUUlBQUFRSUVDQlFtb0FBcExDSEMK
SVVDQUFBRUNCQWdRSUZDemdBS2s1dXhxR3dFQ0JBZ1FJRUNBQUlIQ0JCUWdoU1ZFT0FRSUVDQkFn
QUFCQWdScUZsQ0ExSnhkYlNOQQpnQUFCQWdRSUVDQlFtSUFDcExDRUNJY0FBUUlFQ0JBZ1FJQkF6
UUlLa0pxenEyMEVDQkFnUUlBQUFRSUVDaE5RZ0JTV0VPRVFJRUNBCkFBRUNCQWdRcUZsQUFWSnpk
cldOQUFFQ0JBZ1FJRUNBUUdFQ0NwRENFaUljQWdRSUVDQkFnQUFCQWpVTEtFQnF6cTYyRVNCQWdB
QUIKQWdRSUVDaE1RQUZTV0VLRVE0QUFBUUlFQ0JBZ1FLQm1BUVZJemRuVk5nSUVDQkFnUUlBQUFR
S0ZDU2hBQ2t1SWNBZ1FJRUNBQUFFQwpCQWpVTEtBQXFUbTcya2FBQUFFQ0JBZ1FJRUNnTUFFRlNH
RUpFUTRCQWdRSUVDQkFnQUNCbWdVVUlEVm5WOXNJRUNCQWdBQUJBZ1FJCkZDYWdBQ2tzSWNJaFFJ
QUFBUUlFQ0JBZ1VMT0FBcVRtN0dvYkFRSUVDQkFnUUlBQWdjSUVGQ0NGSlVRNEJBZ1FJRUNBQUFF
Q0JHb1cKVUlEVW5GMXRJMENBQUFFQ0JBZ1FJRkNZZ0FLa3NJUUlod0FCQWdRSUVDQkFnRUROQWdy
b2NicHhBQUFDR0VsRVFWU1Ftck9yYlFRSQpFQ0JBZ0FBQkFnUUtFMUNBRkpZUTRSQWdRSUFBQVFJ
RUNCQ29XVUFCVW5OMnRZMEFBUUlFQ0JBZ1FJQkFZUUlLa01JU0lod0NCQWdRCklFQ0FBQUVDTlFz
b1FHck9ycllSSUVDQUFBRUNCQWdRS0V4QUFWSllRb1JEZ0FBQkFnUUlFQ0JBb0dZQkJVak4yZFUy
QWdRSUVDQkEKZ0FBQkFvVUpLRUFLUzRod0NCQWdRSUFBQVFJRUNOUXNvQUNwT2J2YVJvQUFBUUlF
Q0JBZ1FLQXdBUVZJWVFrUkRnRUNCQWdRSUVDQQpBSUdhQlJRZ05XZFgyd2dRSUVDQUFBRUNCQWdV
SnFBQUtTd2h3aUZBZ0FBQkFnUUlFQ0JRczRBQ3BPYnNhaHNCQWdRSUVDQkFnQUNCCndnUVVJSVVs
UkRnRUNCQWdRSUFBQVFJRWFoWlFnTlNjWFcwalFJQUFBUUlFQ0JBZ1VKaUFBcVN3aEFpSEFBRUNC
QWdRSUVDQVFNMEMKQ3BDYXM2dHRCQWdRSUVDQUFBRUNCQW9UVUlBVWxoRGhFQ0JBZ0FBQkFnUUlF
S2haUUFGU2MzYTFqUUFCQWdRSUVDQkFnRUJoQWdxUQp3aElpSEFJRUNCQWdRSUFBQVFJMUN5aEFh
czZ1dGhFZ1FJQUFBUUlFQ0JBb1RFQUJVbGhDaEVPQUFBRUNCQWdRSUVDZ1pnRUZTTTNaCjFUWUNC
QWdRSUVDQUFBRUNoUWtvUUFwTGlIQUlFQ0JBZ0FBQkFnUUkxQ3lnQUtrNXU5cEdnQUFCQWdRSUVD
QkFvREFCQlVoaENSRU8KQVFJRUNCQWdRSUFBZ1pvRkZDQTFaMWZiQ0JBZ1FJQUFBUUlFQ0JRbW9B
QXBMQ0hDSVVDQUFBRUNCQWdRSUZDemdBS2s1dXhxR3dFQwpCQWdRSUVDQUFJSENCUDQvSFZTM211
YjFZSXdBQUFBQVNVVk9SSzVDWUlJPQoKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLWxpc3Rib3gtYXRzdWktZXhwZWN0ZWQucG5nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2
bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZ
Q0FZQUFBQ2Fkb0p3QUFBQzdtbERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0YKVk05ckUwRVUvalp1
cWRBaUNGcHJEcko0a0NKSldhdG9SZFEyL1JGaWF3emJIN1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkw
U3JlUmUyaApCLytBSG5yd1pDOUtoVnBGS042cktHS2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZk
dDhBRFhMU05QV0FCT1FOeDFLaUVXbHNmRUpxCi9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4y
SG9QZ1Z0V3czdjdkN0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkz
K1BZOHV5UE9VNTVlTUcxRHlzOXhGa2lmRUExTGM1L1RiaFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxO
Y2RCMmx1WnNiSQpFTDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpa
NzFqTlUvNG1IaHBPYkVoajBjR0RYMCtHQVZ0eHFwCitEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2
SktnbkNRT01wa1lZQnpXa2hQMTB4dStMcUhCWDBtMXhPdjRuZFdVZUY1anhObjN0VGQKNzBYYUFx
OHdEaDBNR2d5YURVaFFFRVVFWVppd1VFQ0dQQm94TkxKeVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VG
N050dzl0MUdrM1R6KwpLQ0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2
RjVabTVHaDdYMDhqamMwMWVmSlhVZHBOWFI1YXNlWHE4Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9F
dFg1WE1seW1NRk1YalZmUHFTNFIxV2pFMzM1OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4KL1dw
SSsrNnF2SlBtVmZsUFh2WHgvR2ZOeEdQaUtURW1kb3JuSVltWHhTN3hrdGhMcXd2aVlHM0hDSjJW
aGluU2JaSDZKTlZnWUpxOAo5UzlkUDF0NHZVWi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQ
MjhmOEYrVDNpdWVmS0FJdmJPREltYnB0VTNIdkVLRmxwVzV6CnJnSVh2OUY5OExadWE2TitPUHdF
V0R5ckZxMVNOWjhndkFFY2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wK
MTJWTEZyT1pWV0xwZHRpWjB4MXVIS0U1UXZmRXAwcGxrL3F2OFJHdy9iQlMrZm1zVXRsK1Rocldn
WmY2YjhDOC9VWEFlSXVKQUFBZwpBRWxFUVZSNEFleWRCNWdVeGRhR0Q0b0txQVFWQTRxQU9VZUNP
VWNVd2F6WGlBRzk2bS9HZ0RsSEZCUG1MT1ljTUdldkVjTTFZOFljClVGRU1xR2ovOWRXMTJwNW1w
bnRtZDNaM2R2ZXQ1OW50VkhXcTZ1MmU3ajU5enFscUU3bGtKQWhBQUFJUWdBQUVJQUFCQ0VBQUFv
MUEKWUtwR3FJTXFJQUFCQ0VBQUFoQ0FBQVFnQUFFSWVBSW9JRndJRUlBQUJDQUFBUWhBQUFJUWdF
Q2pFVUFCYVRUVVZBUUJDRUFBQWhDQQpBQVFnQUFFSW9JQndEVUFBQWhDQUFBUWdBQUVJUUFBQ2pV
WUFCYVRSVUZNUkJDQUFBUWhBQUFJUWdBQUVJSUFDd2pVQUFRaEFBQUlRCmdBQUVJQUFCQ0RRYUFS
U1FSa05OUlJDQUFBUWdBQUVJUUFBQ0VJQUFDZ2pYQUFRZ0FBRUlRQUFDRUlBQUJDRFFhQVJRUUJv
Tk5SVkIKQUFJUWdBQUVJQUFCQ0VBQUFsVlZRSDc2NlNmNzVKTlBTbEw5OXR0djdkMTMzeTE1dkRr
Y3lPdGpmZm9nMlo5OTlsbEpFWG44L3Z6egpUM3Y3N2JmajhubjU0NHhWV0duTXVuNzc3VGQ3K3Vt
bnE5RHErb3Rvekg3WHY3VjFrMUJMdkl2MUlIM2RGOHRUclgzVnJxc2g3eWZWCjZuTmpYK1BmZi85
OXRacnU1Zno0NDQ4MmJ0dzR2ejV4NGtTYk5HbFNWZVduaGRXWFYvcjNWbDk1b1gxNXo1ZVFyN1Vz
MDV4YlM3L3AKSndScWhVQ3VBckxoaGh0YWx5NWRiTDMxMXJNdHR0akNwcDU2YXV2VnE1ZHR0dGxt
dHRKS0svbnRxNjY2eXE2OTlscWJiYmJaN09xcgpyeTdadHlPUFBOSUdEUnBVOG5pdEh5aW5qM1h0
dzRVWFhtZ3p6enl6M1hUVFRTVkZaUEY3NFlVWGJLbWxsckloUTRiRTViUHl4NW1xCnROSllkVDMz
M0hQV3UzZHYyMlNUVGFyVTh2cUphYXgrMTYrVmRTOWRhN3pUUFNsMjNhZnpWR3U3Mm5VMTVQMmtX
bjJXbk1hK3hyZmUKZXV1Q0R5bkp2cFQ3UEZJWmZjelpicnZ0N01BREQ3U3p6anJMK3ZUcFk4c3Z2
N3k5OHNvclh1VHR0OTl1eXl5empMVnAwOGFXVzI0NQp1L3Z1dStPcTlDRkh6enNkKy9lLy8yMWZm
dm1sM1h2dnZiYldXbXY1ZmZQTk41K2RmLzc1Y2Y3a1NuMTRGZnU5MVVkZWFGYzV6NWVRCnR6VXNp
M0Z1RGYybWp4Q29LUUpSVGxwbm5YV2lEejc0SU03VnJsMjdhTWNkZDR5M2h3OGZIcm1ibTk5ZWVP
R0ZveE5PT0NFK2xsNFoKUDM1ODlNNDc3NlIzNTI2N0wxYlJJNDg4a3BzdkswTmRaYVRMNWZXeFBt
MXdDbHgwNXBsbmxoU1J4Mit2dmZhSzFsaGpqYmg4WHY0NApZeDFXMGx3YXNxNTA4MDQvL2ZSSXJF
cWxkTnRLNVN0bmY1NnN4dXgzT2UydFJwNTBuL040VjZQTytzaElYL2Yxa1pWWHR0cDExZWQrCmt0
ZldhaDF2ekd2Y1djZ2o5OUlmaVhPeFZNbnphUFBOTjQ4R0Rod1lpL245OTkrakpaZGNNbklmZWVK
OWVuYTVCM0kwYXRTb2VGOVkKK2VPUFA2SnUzYnFGVGI5ODlORkhmZjZqampxcVlIOXlvNzY4MHIr
M2N1V2xmN2ZKTm1rOTcvbVN6bC9MMjNsOUxhZnRhYzdsbENFUApCQ0JRUFFLNUZwRDk5OS9mV3p4
S2FVMjc3YmFiTGJyb292N3dOTk5NNDc4T2xjcXJML3p6enovL0ZJZGRkNmJZRjNhNGg0RC9pdlhr
CmswK0dYV1V0a3pLelpDVHpwUVVYSzVmWHh5Qmo4dVRKWWRVdmk4a3F5T0EyOG1TWDR2ZlhYMzk1
VVczYnRyV3BwdnJubEpiS242NjMKMHUxaWZXbW91dEljMWRacHA1MjI1SFZXckcyVjlpL2tMMGRX
cVg1blhWZEJmaTB1aS9VNWkzZFQ5cUhVZGQ4UWJXcW91dkorOHczUgpsenlaNld1MzFEVmVxWnk4
L0RwK3lTV1gyT0RCZzAxV2Ria01wVk1senlOWk1lUVNyR3RhU2F3dnYveHkrKzY3NzJLeHN1NHJo
V1Y4CndLM29maXFyY2pLRmZHR1pQQmJXNjhvcmxFLy8za3JKUzU2bllyL2JJQzhzYS9GYUMyMnJa
RmxPWDh1UmwrWWN5aVM1aG4wc0lRQ0IKNmhQNDUyMjFoT3gxMTEyM3hKSC83WjUrK3VsdHhSVlhq
UFBvUVMyVDhkeHp6MjJMTGJhWWZmamhoLzdZRjE5OFlhZWVlcW8zZ1lmTQpOOXh3Z3pkamEvOEtL
NndRZGhjc1I0d1lZWGZlZWFmSlhMN0REanZZenovL2JGOTk5WlhwUWJUcXFxdmFzc3N1YTg4Kysy
eGNwcGpNCllqS0s1WXVGL0wxU3JKd09sZXFqamozODhNTjJ5aW1uMkJsbm5PRzV2UDc2NjlwdHBX
VDVnNGwvdi96eWkzY1prRHViK3ZiV1cyLzUKbzhYNEtlOGVlK3hoeHg5L3ZPMisrKzQyWnN5WVdG
STYvMHN2dldSU0ZnOC8vSEJ6VmlycjJyV3JQZi84ODVrc2YvMzFWenZzc01OOApmN2JjY2t0elg0
eTgvSFJmM24vLy9Tbk9yVjRlM0ZkTU8rQ0FBN3piM2Q1NzcyMlNwK1MrSXRwV1cyM2wrM25wcFpm
YXZQUE9hd3N0CnRGQjhyU2hQS1k0NmxwWFNiY3U2WGw1ODhVVnpYMVM5QXYzWVk0K1p0dDBYVXJ2
eXlpdDlGY1ZrSmV0T005YXhjcTRyNVN2RlZzZXkKMkJVN2ozcFphNmh6SzM3SkpMY2hmWERZWUlN
TllqZVoxMTU3emYrdWRWN1RxVmg3czY2N2NxNk5yT3RlOVplNlAxVGFGc25LcTB0NQpRcnIxMWx2
OTcycmpqVGUyQ1JNbTJCVlhYT0czMTE1N2JYdnZ2ZmQ4TnQwWFZsNTU1WUk0aEt6N1NhbStsTU1w
dEV0TFhaZHp6am1uCm5YUE9PWDczOWRkZmJ3c3V1S0MvYjRSOHhhN2Q5RFZlVHIxaXB0LytjY2Nk
NTM5ZitxM3JucGozRWNsOTFiYXZ2LzdhbkhYQi93WjAKWGFkVEpjOGoxYXR6THY3aXFMVDAwa3NY
dUttbTVhZTNreDkwMHNlS2JkZUZWekU1WVY5YW52WVhPMDk1OTZvZ1QrZEdMbW5wNTR1TwpaOTEz
OHU2VlFYNXlXZGQ3WE40MWx1N3JmLzd6bjZMM3Y2eitKTnNaMW90eERjZFlRZ0FDRFVEQWFmc1Zw
YlFMVnJMd0Vrc3M0VTNjCkR6MzBVT1MrUEVYdXBUTGFaWmRkZkJiM1lJbmNTM0kweXl5eitHMzNG
U055dnZ4eDhmMzIyeTl5QVo3eGRuS2xaOCtlMFlrbm51aDMKdVMvaTBmcnJyeCs1d0VLZjM3MTRS
ZTVsT25LQmkxR1d6S1NNckh6SmVyV2VMS2Z0ckQ2Nm9MYklQZVJqZDdHamp6NDYyblRUVFZYTQpw
N1Nzc0Q4czU1cHJyc2k5M0VWTzRmSXlsSCtlZWVieC9VcnpVeG4zRWhpNUZ3bGZYT3prTHVBZXRu
NDduZitaWjU2SjNGZTd5SDNSCmkyNisrZVpJM0p4eVU1S2xoTGk0bjBqbGxKeHk0MTBQM0lQSWJ5
ZjdrcTVMR1ZaWlpaWEl2VUQ0dkhKOTZOdTNiK1Q4dC8yMjg2ZU8KRmxoZ0FYOTkzSFhYWGRGSEgz
MFV1WmVoYU5kZGQvWEg4emllZmZiWjBleXp6Kzd6RnZ1WGJGdlc5YUt5dWxiZHp5cHkvdDNSNk5H
agpJL2VDV0NBeUthdmdnTnRJOTd1UzZ5cUxiUmE3WXVmeHhodHZiTEJ6cXo2bmVhdDl6aGMreGlI
R3llczhQdUJXaXJVMzY3ckx1ellrCk8rdTZ6enJmbGJZbHJ5NGRUeWNYVXhEdHROTk84ZTdWVmxz
dGNsLzA0KzE3N3JrbmNsL2g0KzJzKzBsV1g4cmhGRmZ5OTRydVRVa1gKV2JrenlVMUpxZFMxbTc3
R3k2blhLVG1SKy9EZzVUcmwxUCsrbkFMaWYrZCtaNGwvVG1HTFhCeUdQNnB6dk1naWk1VEkrYy91
ck9mUgpEei84RUltL2Z0OTY3dWkrbWs3NjdlaTRmdnZGVXJobmhXTXVmc1RuZHkvQllWZkJzaTY4
Q2dTNGplVHZMUzJ2MUhtU2pLeDdsWTVuClBWOTBQT3UrbytONTkwcmxTYWE2M3VQS3VjYVNmUzMy
dTVhcmQxNS9rcHl6dUNiN3hEb0VJRkE5QXJrV2tFcDFIZ1VKcnJubW11WnUKZHJiNjZxdkhYMG4x
eFgzeHhSYzMxM1F2VWw4SUZRem9idngrMjcxOHhzZUsxYWxnUUNYM3dQRDU5RFh0dnZ2dXN6bm1t
TU8rK2VZYgplK0tKSi94WHh5eVpRVVpkNnc3dEt0VkhtYmdWSEsydjZFb3luUWNMUmlnYjJoQzIw
OHZ0dDkvZUJnd1k0Tm1kZlBMSjV1SnZ6TjM0Ci9aZlVKRDlaZmNRdWZCSFVsN3IrL2Z2SDR0SzhG
V1FwSzRQek9UZjNzbWdYWEhDQnZmenl5eVZadXBnYmY3eGZ2MzVlcHF3eEt0T2oKUjQrNGp0Q1hk
RjA2TDA4OTlaUzNjaWl6dUxpWE1oL2s2UjRXL3V1YnJCN3FqMWhLcG90ZHNiRmp4M3JaNVhDTUcx
RmlKYlF0NjNwUgpVVjJyc3U0TUd6Yk1ENkFnUzAwNkJWbnAvZWwrbDN0ZFpiSE5ZMWZzUExxWHlB
WTd0K2srYTl0OUxQQVdxbURkMUxsMkh3V0taZlhCCnZaVmNkL295bTNWdDVGMzNXZWU3R0x1czMw
QmVYY1U2TFBlaCsrKy8zMXRKZFZ4QnkwN0pOcWRNK096NkxldDhKVk9wKzBsV1gvSTQKSmVXSDlm
YnQyeGU0TG5ibzBDSGVMblh0cHEveGN1clZRQ1M2OXluSkNpNFpTc2w3aDkrUitxY2djQTEyb2lT
TDNwdHZ2dW10cGFscwpaVzkyN05qUkhuamdBVHYwMEVOTkkydHBBSlNSSTBlV1hiNHVHZXZDSzZ1
ZXRMeFM1eW5JS0hXdkNzZExQVi95N2pzcVg4NjlNdFJUCm4zdGNPZGVZNmdsOUxmYTdsbFUrNnhr
VTJobVdlVnhEUHBZUWdFRDFDRlJkQVFrM0JUVlJmckl5ZzRha1krRzQreUxsWDliMXNyM24Kbm51
YSs2TGhSOVFLZWRQTFVFNHZzSHE0eVg5VGYzTC9ldkRCQjcyN1VwN01JQ012WDZtNncvNGdSOXZK
UG1xLys2cmlGU0c1SER6KworT09tWVIrVEtWazJ1VCtzZCtyVUthejZsemR0aEtHTFZUYVVsOHVR
WHV3NmQrNGM1NTloaGhuaTQ5cVp6Szl0dllDRWx3RnRaN0dVClFpZTN1RkNmOHV1bElMeFlhRHQ1
TEZtWFhHeFVqeFNKa0p3RnhLL3FoVThwbVYvYk04NDRZK3lXb21ONUhGVW1LNFcyWmZVeGxKZHIK
bWZ0aTVxOGhqZktXVGtGV2VyKzJrLzBvOTdyS1lsc091L1I1VkR2Uys3TDZuVlcvWkNsbDlWbS8y
ZTdkdTl0RkYxM2s4K3JGVVVwdApxVlJKMnlRanlWVGJ5V3NqNzdyUDZyZGtWZEtXdkxva0w1MDBn
cE0raUFSM0k3bGd5bzFOTG9WeU1aSzdsZHhXa3luSk9uay95ZXRMCkZxZWsvSExXczY3ZGREM3A3
ZVQ1VVYzYVZ0dERjdFpLQ3g4eXdyNzBVdmNGRjJ4dGNzblVkYVhZRGQzZnp6MzMzSFRXaXJaMUQz
TFcKYzg5Zjl5UTlhN0pHR3F4SWVJbk1hVDdwN1RTdkVtTGkzY255V2VkSkJaUTNLNVY2dnBSejM1
SGN2SHRscUR2ckhsTk9YY2srUzJZeApac20rcG4vWDVkUVIycXBsSHRka1h0WWhBSUhxRUdoYkhU
RjFreUovY3VjMjVJZElsSyt1dmh6cXExVlcwa05Ld1lINnNsZ3NsU3V6CjNIekY2c2phcCtFTzll
WGxzc3N1OHdHVnVoSFdOZW1Mb1c2OCtrdW5Uei85MUQrdzAvdVROK1gwc2ZSMkZrdjVUSWY0bFhT
NXZHMzUKR1V1MmxFOHBSVXF5ZHVpOHBXTUtTc21xRnNlc1BvYTY5WktpbHhQRkl1Mjg4ODRGU2wz
SVUrNnluT3NxaTIwMTJLbXRXZjNPcXIrYwpma3BKMDlDazhzVSs1cGhqZkR4TFVoSE9rNUhWdHJ5
eWVkZDlwYkt6OHVmVlZheXRVdEJsMFhDakt2bnJTRU5HeXpxcG1Bdm5FbFRSCk1PUlpiU3RXZDMz
M2xYUHRsbE9ITEdSdXBFUlRiTkIwMDAxbnNyUW9YaThyeWJvcTYxRzRYeWl2TEJhMzNIS0xWMGFr
OEZhU25GdW4KLzFnUzdwMnFYekU2K21BbEJTUllvUlNycUNUV3hWS3hEeExGOGpYbXZtcWRwK1R6
UlVNV2kwSGVQYnZjZTJYV1BhWmE5N2dzNW5XcApvMXBjczlyRk1RaEE0QjhDVmJlQS9DTTZlODM1
ZWZxQVF6ZnNySGVsMHNOS0QrbFNLYnhZOTNKemtNamlvYStKSWNtdFMxOHI4MlFHCkdYbjVndHl3
RE9YQ2RxbWxYQVlVRks2dlJNbXYvOG44NWNwU21jOC8vOXhiVUJRNG1VNVMzUFNsVlYvdTY1cXlX
T3JoSk11TFROa2gKaVhPd1lHaGZxYjdJTXFNSjJ6UnZRa2pPbDltN29jZ0ZMQytWd3pGUFJtaGJW
aCtEakNPT09NSzdzNm1NMXRNcHlFcnZUMitYZTExbApzYTB2dTlDbXJINW4xUi9LNS9YWnhYWjVT
NTljMXhSVVhVbkthbHVlbkx6cnZsTFpXZm56NmlyVlZyMTg2eVgzNG9zdk5uSFNpL1Z0CnQ5M21Y
U256WHNTVE1yUGFsc3hYeWJvc01NVlN1ZGR1c2JMcGZYSUZsVXV0M0hvME1JYUNpck9TM0Y4MFVh
RGNnK1RDR3Y0MFlJYnUKSS9vWVVXblNDN0RtL2tnbVdYUjdPa3Q3Y3JKY2ZSaVJrcEdjd0RXVVVa
dUNnaEwyTmZVeTd6emwvVzZUN1U4K1g4cTk3K1RkSzRQOApySHRNdVhVRldhV1dXWDJ0dEk0OHJx
WGF3SDRJUUtEdUJDcFNRUFR3Y2dIRkJjTVlKcXZXVndmOWhhUlJNTUxJUjlxblk5cldpNnhtCmQ5
V29FMG9haWNpTjExN3c5Y3NmK1B1ZnZxN3FhNlNTdmk3cTRTSjNJUG4xNnNYMjJHT1A5Y1A3WnNs
TXlsQmNSVjNxVm4xWmZWUzgKaHhqcEJWb1BUcmxnU1ZGU2YvV1hiSU5rRlVzcUY1TDhhUFVWTU1T
VUpQa3Bia0VXQlgwNURFa1BVWDNGQ2pLUytaVkhmdWpKODdITgpOdHVVWkNuNUxzRFR2enlwWC9v
NzZLQ0R2T3VOWktYN2txeExYeGNWQXlSRk1TUzlpT2loRUh5OGRSMGxYNFpVUHJRN2o2UEt1cURC
CklIcUtaYkp0V2RlTEN1b2xTVU5EU3pHUzI1d21GMHNxV1VsWnhjNVpzdDlaMTEreWtWbHN5MkdY
UG8rU25kNVh6WE5iakxkY0ZqVEsKa054bDVKS1ZsU3BwbStSa1hSdDUxMzFXdnlXN2tyYmsxU1Y1
eFpMaVlmVGxYeSsyY25sUmZKTXN1NHBYUzc4MDZmclJYMGpKZTJaZQpYN0k0QlhuSnBWNjJOUUdi
eXVubFV4OFhkTTBxWlYyN3lXdGNlZlBxbFZYTURUSmhpcWY2MTcvKzVkM2VWSzVVMHRDN3hXS0kx
Rjc5ClNRSFJiT2JwbFBVOGNvTjNtRDV1SlQvUTZDVlR6NUZrckp5c015NVkyZHpBSEFWV0VNbldh
SUhiYnJ0dFFiVmhDTit3TERqNDkwYWwKdk5JeXhEZDVmMHZLeXpwUGVmY3ExUlB1c1ZwUFBsL0t1
ZS9rM1NzbE02VDYzdVB5cnJGMFg5Ty82M0w2aytTY3hWVXpwc3VOTDd5RApoRDZ5aEFBRTZrbkF2
UmlYbFp3N2poODV5VlVYdVlkcXBBa0lOY3BJU0JwWnlia2ErSkZMM0F0YzVGeXFJazJ5NVY2Uy9l
Z2o3c0VYCnVWbG9GWUh1Sjl0VEhoZHM2aWN4dk9PT095Sm5PZkFqc1FSNXlhWDd5dW9ucDlMb01r
NzVpTnhMWXVRZThINmZjNTJKM05kRm4xMXQKTENVektjTXBCaVh6SmV2VmVyS2M4MC9PN0tOekwv
S2pURGszQWoveWpVYThjUSs0eUQzRUlvM3NsSlNsZnFTVEpyZHlEOXpJQlo5SApKNTEwVXJUUFB2
djQwYjZVTDgxUDhweWJSK1JjRER4bk4ydHY1RjRFSS9lVnorOVA1M2REeTBiTzl6eHlMMEdSVTc3
aXFrdXhWQVp4CkZWK2RNL2RGSzNLdVpYRzVaRjgwZ2xUeTNLcHRPdjhheGVhMDAwN3pJOHk0bDFV
LzZwWUVpTDk3Z1BoUnU1eXZlS1NSWmR6TXd2NmMKdXFEUktJdWoydUFDNG4yYlhFQ3A1eG8zNnUr
VlpOdXlyaGYzQVBhamFhbCtKYWM0UnU2bE1YSmZuajF2N1V2TDByNlEwb3dydWFhegoyR2F4MHps
UG44ZGkrOVRHYXAzYlVyeDFIdDBMWnNCUmRGbHAyL0t1RFZXU2RkM3JlS2wrVjlxV2N1cFNubUxK
RFhVYXVhRjM0MFB1CnkzSEJ0ZzdrM1RPVnAxUmZ5dUdrOHNuazRsQWk1eUxtUjlZYk9uU29INVhR
QlJiN0VmZEszVHZUMTdoR1FzcjY3YXErZmZmZDEvOCsKZGQvUTc4a0ZGZnY3dSs0TDZhVDdrcDRu
bWpBd09lR3Q4am1YWEgrZmxod2RkMHBUWER6dmVhU003b05INUFaQ2lUVENva1pSMUNTRQpRNFlN
aWR5TFp5eEhLeHBSVWZkTzl5SENqMkRtNGtRaTkrRW5jaDlRQ3ZLNUYzQS95cURhbzd4T01TbzRy
bzI2OEVvS1Vmbms3MDMzCnUrUzlOZXNlazNXdlVoMVp6eGNkejdydmxIT3ZsSXhrcXVzOXJweHJP
OWxYUFFmUzkwUzFJNnMvYWM1WlhQVmNjQjhPSWwyckpBaEEKb0hvRTJraVV1NkUyZXRJWEp2bEd5
L3d1ZDZWMFlHYTZRZnF5cjYrdUllbnJoVXpwTXZYS0VxQ1VKelBJeU1zWDZnakxVQzVzNXkzMQpG
Vk5CY1VyNmtwVjB4eXBIbHI3VXFhK2hYMW4xNll1V3Zzd3J2Nnd0c2xwVW1vcXhEREowZWNqS3BK
RkowaW12THlxcitROTBuald5ClVhVXBpMk9lckhUYnN2cFlxYXhTK1N1OXJyTFkxcGRkYUdOV3Y3
UHFUL01MOHBKTFdUL2swaUlMWmwxU1Z0dnk1T1ZkOTVYS3pzcWYKVjFleHRycVhiVzhGQ2NmUzIy
Ri9PY3VzdHBWVFBwbEhzdFFmM1orUzk2WktyOTJrelBTNiszaGltMjIybWI4ZmFSQU8zZU0xb3Bl
cwpDYVZpOTlJeXFyRXRLOFZNTTgza0xVd2FzVTN1VkNFbXBKaDg4WkRGUkpZcWxhdkZsSGVleXZu
ZFpqMWZxblhmQ2V5eTdqSDFyYXVjCnZwWmJSeDVYdVRzclRwQUVBUWhVajBDVEtTRFY2d0tTSUFD
QnhpU2dsMHE1R01sRlNDK1dhYmVpeG13TGRkVVdBU21sdWlZMDNIQXkKYVlBUmZZUndsczdrYnRZ
aEFBRUlRS0NWRXZpZjZhQ1ZkcDV1UXdBQ2xSSFFQQXFhNVZxemFtdklWSlNQeXZpMTlOek9YY2pI
ZnNnSApYM01IeVlxcG1EM0ZZcUY4dFBTelQvOGdBQUVJbEU4QUMwajVyTWdKZ1ZaUFFHNHRHc0JC
ZzBab2xDZ1NCTklFTk55dzVvR1FxNDhtCm8wWHhTQk5pR3dJUWdBQUVVRUM0QmlBQUFRaEFBQUlR
Z0FBRUlBQ0JSaU5RMFRDOGpkWXFLb0lBQkNBQUFRaEFBQUlRZ0FBRVdpU0IKcWlvZ21rVTFPY2xU
VXhQVGFDL0ZKcGhxNkhacDFDaU5zWjQxVm54b1E2MHhDKzNLVzZyZG1qMjNMa2tqQWozOTlOTjFL
Vm96WlNvOQpiK2srYTl4NVRmUlkzMVNmODFEZnVwUGxLK1dSTEZ2T2VwcGZ1a3hUL2RiVDdVaHYx
NWRMZmN1bjIxUGY3YWJpM0p6dXFYblhhbDNQClFTM01RMUd0KzFaZEdWQU9BaEJvT1FSeUZSQUZE
M2JwMHNWUElPZm1tdkNUYTJtR1hnMnp1TkpLSy9udHE2NjZ5cTY5OWxvL1ZPdlYKVjE5ZEUzUTBD
L2RTU3kxbGJ0ejNSbTJQUm9IUmpPNXVMSE5iZE5GRlRRK2pVcW5XbUpWcVozcS9KZ1p6OHduNDJa
N1R4L0syM2ZqcgoxcnQzYnovYmNWN2VXajFlNlhrcjF1Y2pqenpTVHpKWm56N1c1enpVcDk1MDJV
cDVwTXZuYlJmamx5elRWTC8xWkJ1S3JkZVhTMzNMCkYydFRmZlkxRmVmbWRFL051MWJyeWwrVHN5
NjIyR0oxTFY2MWN0VzRiMVd0TVFpQ0FBU2FOWUZjQlVSam83c0pmZnlNMFJwZWNkcHAKcDdYVlZs
dk56eHpySmtreU45R2NIKzlkTTk1cVRvNWFTWDM2OVBIdFRNN0IwZEJ0Y3hQbzJmNzc3KzlIQ2RK
c3dMZmNja3ZCWEFDcQpYd3JKbzQ4KzZwdFNiV1pKMmZYdGE1WXN6VUl2cGJRdXFWKy9mcmJqamp2
V3BXak5sS24wdkJYcjg3SEhIbXUzMzM1N2JwOGE2anprClZseEJoa3A1VkNEYVp5M0dMeW1qc1gv
cldlY2syYTY2Y0VuS3JrdjVaUDNWWG05c3ptcC9VOTlUSzJXWWQ2MVdJaTk1TFdoZWtycmUKY3l1
cE01MDMyUVlkSy9lK2xaWlQ3bmE2dm5MTEZjdFhUVm5GNUxNUEFoQ29INEZjQlVRdjFMSjRsRXA2
R2RXWGZpVzk3TmZDc0p5YQpWRWhKRS9scEVyekdTcSs5OXBwcG9xOVFwNXVWdktCcUtYUGJiYmVk
UGZua2svSCthakVySmp1dXBNS1ZjbVRWcDkxU1ltdmhPa2xpCm1UeDVjbkl6ZDczUy9xZjdMQXVT
bTAxNWlubzBjVlpJRFgwZVFqMTFXU2JicWZLVjhxaTB6alMvVUw2aGYrdnA2NktjY3hMYXBtVWwK
WElySnJxUjhzdDVxcnpjMDUxTHRiY3A3YXJKTjZlczllU3k5WHVwYVRlZkwyazVmQzVvSTFzM3NQ
a1dSU3RvMVJlSFVqclNzZEJ1VQp2ZFI5S3lXcVRwdkY2cXVUSUZlb21yTHEyZ2JLUVFBQzJRUnkz
ODdYWFhmZFRBbWF3WHpGRlZlTTgraEJKVE90WnAyVnlWZ3owSWFrCjhlQ2wwS3k2NnFwK2pQaG5u
MzAySEpwaUtkOW56VGR3d0FFSGVGZVZ2ZmZlMjQ4cHI0eXl5RWp4T2Z6d3crMkVFMDd3TTVRKy8v
enoKZnNiYlBmYll3NDQvL25qYmZmZmRiY3lZTVFWeVM5VmZTbDVCWWJlUjFhWkxMcm5Famo3NmFO
TUx5NTU3N21rSEhuaGd1cmlOR0RIQwo3cnp6VHYvbGU0Y2RkdkJmOTVTcEdzeUt5UzdWM3hkZmZO
SFBYaTNGOGJISEhqTnRMN25ra25ibGxWZjZOaGVUTlVWbjNJNWZmdm5GCjkxTVBSNDM1THplQmtF
clZIWTRubDFsY2I3MzFWbjkrTjk1NFl6K2o4aFZYWE9HMzExNTdiVC9MdXVTY2NjWVp0dkxLSzN0
TFhGSnUKV005cXk4TVBQMnlubkhLS2w2SHIrUFhYWHcvRi9QVjIyR0dIK2VOYmJybWxuWDc2NmZF
eHJXU2R0NEtNcVkwdnZ2akNUajMxVk5PYwpDU0ZwYU52enp6L2Y3dytLYXpYT1F4YmJ2T3NndEMy
NUxOYk9jRHlMUjFZN0pGUHppcHh6empsZWxGd1lGMXh3UWY4YkRyTFRTMTE3CldiLzFaUDczM252
UERqcm9JSC92dWV1dXUyenBwWmYyYm9EUFBQT002UVZYN3FTYS9mckVFMCtNaTVXNkxvcWRFODEx
VVkzcnBKaHMKTlNpTGE5YTFIWGZtNzVXc2MxRHFIcGpIdVZUOXBlUlYwcWFtdnFlcXJhV3U5MUw5
VHZkUDIxbDVTMTA3eGE0RlBUZERLdFd1Y0R3cwpzODY1Sm92Y2V1dXQ3WWdqanJCRERqbkUvd2Iw
M0E2VFNLYmI4UDc3NzA5eDM4cVNMMHYvVmx0dDVaOFJtak5JRTFGS2lVcStFNFIyCmFwbXVUOWF2
VXV6eTdsM0ZaQ1hyWWgwQ0VLZ0JBdTZyUjBXcFhidDJrWE9oS1ZwbWlTV1dpTnlMYk9SdVlKRUxS
by9jelNiYVpaZGQKZkY3M1loNnR2Lzc2MFk4Ly9oaTVRTWJJS1JCUjE2NWRvKysvLzc2b3JGVldX
U1Z5c1NYK21MTXFSSDM3OW8xY1BJcmZkaThPa1ROSApSeTdHSTdyNTVwdTlySGZlZVNmYVlJTU5J
dmZ5NHZPb0RqZFBRZVJlVlAxMlZ2Mmw1UG1DaVg5WmJWSTI1NklXT2V0SG9zU1VxejE3CjlvemNp
MDU4b0pyTWtyS3orcXZLZFk3YzVSZmRlKys5MGVqUm95UDNFaCszU1N0SldRVUgvdDZZYTY2NUlx
ZkFSRTZoaWx6QXZjOC8Kenp6elJPN0xVNVJYOTlsbm54M05QdnZzc2RnOHJzc3NzMHkwMDA0N3hm
bWRDMkEwZVBEZ2VQdWVlKzZKTHIvODhuZzd1WkxWRm1laQpqOXlMcjIrL3lqZ0ZNdHAwMDAzajR1
dXR0MTZrYTBQSktiT2VsM3Z3K2UyczgrWXpwUDRsKyt3Q2FpT25JRWV6ekRLTHp5Vm1MaTRtCkxy
SGZmdnY1MzRoMjFPYzhxSHdlMjd6clFESkN5bXBuSG8rOGR1Zzh1SThKb2Fwb25YWFdpZHhrZHZG
MmtwOTJadjNXNDBKL3J6Z0YKSkhKS1IrUXN1ZjUrNFY2cXZXdzNQNFgvTFk0ZlB6NDY2cWlqSW1l
Vmk5ekFFVkhlZFpFK0o5VzhUdEt5czdobVhkdHBCdHJPT2dlbAo3b0ZabkxQcUx5VXYzYTZzTmls
dlU5NVRTMTN2V2YxV201UFhhbDdlckdzbmZTMTg4ODAzRXUvdnNhWHVGejVENGw4V1g2Y0lSTFBP
Ck9xdi9YVGlyZk9UaUZ2M3p1M3YzN3JHRVpCdlM5eTFseXBMdjVvR0pGbGhnQWY4ZTRCVC82S09Q
UG9yY2g0Vm8xMTEzamVXblY1TDEKNWJITHUzY2xaYVhyWVJzQ0VHaDZBcmtXa0VwMUpBV3RyN25t
bXVaZVVQMGtWR0VVS3NXUHVPNTY5NlA3N3J2UGYyMXhOMVEvWVZXNgpEaDFYZkltK25pakpEY0c5
Z05yZGQ5OXQ3c0ZteXkyM25QK1NzdkRDQzV0N1liUUxMcmpBTkRxSGU1RzJZTEdSRzFULy92MWow
Vm4xCkY1T1hkby9KYTFOY1VSa3JhZmVqYWpBTDFRYlpXZjFWWHAwamZkVWZObXlZYWVBQVdaalNL
Y2hLN3cvYjIyKy92UTBZTU1DZjU1TlAKUHRrKytPQUQvL1Vzcis1UVhzdHl1RHBsdys2Ly8zNy9K
VmhsMWxwckxkT1hiUGVBMHFhdlV6TXZGMHRaYmRGMXRja21tM2pyajhySwp2U0JZY1RTSzJjc3Z2
Mnp5NlZhU2hVZlhXVExPcWRSNTh3VXkvam5GMnhaZmZISC9lMUMyQ1JNbTJDdXZ2T0t2WDIyN0Iz
UjhUTnQxClBRL2xzQzNuT2xBYmxQTGFXWXBIT2UxbzM3NTlRVDg3ZE9oUXNQMi9Gdnp2dnl5bldi
LzFaRjZ0Njh1ckJxU1F4VS8zQzlVMWFOQWcKR3pkdW5CMTY2S0grdk8rNzc3NmV1ZlpsWFJkQmRq
Z25EWEdkQk5taHJsSmNzNjd0VURZczg4NUJzWHRnYTcrbmxycmVLK0dlbGJlYwpheWQ1TGJnUEZ2
NTBsbXBYT05kaG1YZk8zUXU2T1dYRE50cG9JeitnakZNbS9BQXFHc2t5M0FjbEs3UWhmZC9La3kv
THVINTd1dGZwCkd0YTljNDAxMXJDeFk4ZUdKaFpkaHZxeTJLbGdPZmV1SUt0b1JleUVBQVNhbEVE
VkZaRGtEMTVCY3pMUktrbHgwQXVlL0dQMUozZVgKQng5ODBML1lwUW5JblVvM083MEloT1FzSUg1
Vkw0Vktlb2xRbnBEa1NpVHpidWZPbmNNdW0yR0dHZUtiWjBRcWJPY0FBQ0FBU1VSQgpWRjc5YVht
eGtMOVh5bWxUdWt5cDdTUWo1VWx1MTVWWnFDdkl5dXV2OHN1bHlGbU8vRG1ZZXVxcGc0aDRHV1RG
TzFJcm5UcDFpdmZvCkJVWkpROHVXVTNjb1dBNVh1UWxJV1EyeE0zS1RrbmxlYmpLVEprM3lpb2xj
QVl1bHJMYW9mKzVycFgreGxodVdSaTZiT0hHaUY2T1oKbk9VS2xXUWd0ejlkd3lFbGp5WFBXemll
dFZUWlVGNHZGbEtFcE16SmZVOHZCc256RWZLVmtsZnFQSlREVmpMenJvTlFieVh0VFBJbwp0eDJo
bnJ4bDNtKzlXUGswd3hsbm5MRWdXOGVPSGYyMnJqUGxMWFZkaEVKQlhrTmNKMEYydWk1dEo3bG1Y
ZHVoYkZpV2N3N1M5OEE4CnpubjFwK1dGdG9SbE9XMEtlZk9XRGNHczFQV2UxKzlrVzdQeVZucnRC
TG1sMmhXT2gyVTVmTVV0ZWEvUk0xVFhtTE11QkRIeGZVbzcKbEQrd0xsZCt5Sy95K3QzcG5wMlZR
djRzZHFGODNyMHJ5QXI1V1VJQUFyVkRvRzFqTmNXNU9maWdjSDI5emt2eU8xWitLUzlTSXBUMApG
VVZCNVhyeExKWTBScnJLcEZPNEFWVlNmMXFHdHV2U3BtSnlLdGxYbnphWFUxWUtucFE0eFNQc3ZQ
UE9CY3BiSmUxVVhuM2Qwc05GCmYrWFVIZVNYdzFVdi9mcUNObXJVS045R0RlTXJDNWRpQlg3NDRZ
Zk00V3p6MnFLaGJHVnR1K3l5eTB3KzUzcW9Lc24zT0JrUEV0cmIKVUVzTnVlcGNCdTJzczg3eU1V
NnkrSVNYNGtycVRKNEh6ZE9pL3VmOWppcTVEdXJTem5MT2NTVjl6UHV0bHlOTDEwKzROeWgvY2wz
YgpwYTRMSFV1bXhyNU9rblhuWGR2SnZIVTVCM21jSzZrLzJaYXdYcGMyaGJKMVhWYmE1bUxYZXlV
eXN2TFc1OW9wMXE3MC9hS3VmUFhiCjBMTTJMOVZWZnA3Y2NEeUxYY2hUeWIwcmxHRUpBUWpVQm9H
cVcwQktkYXVYRzBsTEZvL2sxdys1Wk9rcld6cnBLNHdtdk5LNDh5RnAKSWlxNTNNanRxbGpTeTV1
K1h1cUxmckZVU2YzRnl0ZWxUY1hrYUYvNlphZFV2cnEwT2NndXA2eUNEK1hLb2pKYVQ2Y2dLNzIv
MlBibgpuMy91clFjSzhDMm43aUNqWEs0YXV2ZW1tMjZ5aXkrKzJGeGNrY2t0NjdiYmJ2TmY2cExC
bVVGdVdHYTE1YzAzMy9TQnpQcUtsclMyCnFheGU1R1hOVWVCbFNMcGVnd1V1N0t2RzB2bEttNjd2
TTg4ODA3dWtLVEJheWxWSWRUMFA1YkxOdXc1Q08vTGFHZktsbCtXMlE4SFcKNWFTODMzbzVNckx5
WkYwWG9WdzRKdzF4blFUWm9hNVN5NnhyTzEybTNIT1FMSmZIdVpMNmszTERlbDNhRk1xbWx3M0Jy
TlQxWGttLwpzL0tXYyswVTYxZXBkcVdaMUlXdm5wOXl2WE54ZDdHNFltM1F3YnJJajRWbXJJVDZz
dGlGNG5uM3JpQXI1R2NKQVFqVURvR0tGQkM5CklHaVkyVkl6Zk91TGlQNUMwZ2dmK2xQYVpwdHQv
RmRsdWJHNHdIUC93cVV4eGRPeEZzb3JmMzdGa0VoaENVa2pXdW1HNTRMMi9DNHAKSTBHMmRpaWVR
Vjl0NUtjZmt1SlA5QlZGeWt4ZS9XbDVRVVpZbHRNbUYyRHYzWUdTREVMNXNKU0xXSmpSVmh5cXhV
enlrN0psTWRBWAp0bEs4NWI4cjlsTG81SDZrRVppU0w5ZEpXV3Buc1NTdUljbWZXWDcxR2swcmo3
V3VJUmZnNll1V3cxVVozUUFHZms0VnVRdkk1VWkrCnhQcmlwOUdMc2g0eVdXMlJuN091YWIxd3Fp
OXl3WktDTEVWRGsyNjZBUmU4b3FOOCt0TklTdktaVnNvNmJ6NUQ2bCt5ejZHOHJsL1YKcFFlK1Jy
VlJjc0hYTm5EZ3dOanlWNS96VUE3YnZPdkFOK3J2ZjFudHpPSlJUanRrNGRRa2J1SWtaVmFLbitv
TEtja3Y3N2NleWlTWAp1dDZTMTZ2bUNOQjJ1QTVEUEpHdWg2enJRdWNyZVU1MFA2cm1kWktVWGMz
N1F6bm5JSDBQek9PYzlkc1MrN1M4NVBuUWVqbHRhc3A3CmFxbnJQYS9meVdzMUs2LzRabDA3Nldz
aDhDdlZybkE4TE12aHE3ekozNWxHcnRLSWdpSDJMZDBHL2M3RGZhc2MrV0tSL0xDZzhzbmYKWVdo
cldDYnJxL1l6VEw5NWpYUVhucitoVHBZUWdFQVRFWEFQMUxLU2MwZnhvMDI1WmtidUJUQWFQbng0
NU54ZjRySWFqY3FaYnFORgpGbGtrY2kreWtSdUdNWEl2dDVGVEN2eElTY3JvWG5LajZhYWJ6bzgy
NDF4L0l2Y0ZPeTZmWGxGNXlYSVRIZnBSbWx4QWV1UmVESHcyCjU0b1RPWi8veUwxOFJ1N0ZMUzZx
L2M0RnlOZnJYaUFqNTFNZk9ULytTUHVWU3RWZlNsNHMrTytWckRhNXdOakkzYmo5U0VsdUNON0kK
dlVDbGkvdHRGL1R0KzY5Um5kelFoRlZsbHBUdGxJK1MvWFhLZ2grRnlnVSsremE1Ri9ESXZkajcw
VkRjUytBVTdaU3NkTktvUWU2bApNWExCNTlGSko1MFU3YlBQUG42RXM1Q3ZGR3ZKZHdIZG50UElr
U1A5aUVOWlhJTThMY1ZWSXhxRjVMNStGV3lIL2VsbHFiWTRkejQvCmtwcHo4L09qYW1rMExSZjhI
RzI3N2JhK1hibytkWjNxbW5kZkt5UG5xdVZGbDNPdEo5dVE3clBrdUNGNHZWeG45ZkMvRnhlc0dU
bTMKbitpT08rNkkzUEN5ZnFRYnlVaWYwNlJjcmVlZGh5eTI1VndIeWZwMER5ald6bko0WkxWRGRi
aDRuc2k1MmtVYVNXM28wS0YrbERBWApaT3BIS0V2ejB5aFZlYi8xWkx1ZEw3a2ZFYzhGeFVidUJT
dlM2RC91NWNiekZ6OFgxQnU1b2J2OXR1NGJ6dktWZVYya3owbTFyaE8xCk9TbTcydmVIckhOUTZo
Nll4N25VYjZ1VXZPUjUwWHBXbTVyNm5scnFlbGU3Uy9XNzJMVmFLcS9rbExwMmRDeDVMU1R2d1Zu
dFVybGsKeXVLcmZCcE5TNk5KNmw3cUpzLzFvODg1QzBzc0l0a0dqWmlZdkcvcGQ1Z2xYNk5xT1lY
Qy8vYjBHOVR6UmlQUDZSM2dnUWNlaU90SQpyaVRycS9ZelRNODU5N0VxY3NQTko2dGtIUUlRYUNJ
Q2JWUnZZK28rK2lLaVVUWmtmczd6TTFYVE5JYS9mRkkxbWtZNVNWOVg5T1ZRCmdYcjZtcTB2VE1s
VVNmM0pjbUc5TG0wS1pjTlNWaG0xcjl4VVNadlRzaXNwbTI1UFdsYjZ1TGJsRHFDK0ZEdVhsZFJk
RGxkOXdYSVAKcjdnWjZlMzRRSkdWckxib2k1NENacFgwUlR6cGpxVjJ5VDFLSTdvMFZOSVhRbDNq
R3QxR2RhY0Q2dXQ3SHNwaFcwN2Y4dHFaSnlPdgpIVHBIK3YzcVhLVFBRekhaZWIvMVltVXEyWmQx
WGFUUFNUV3ZrN1RzdkRablhkdnBzbm5uSUoxZjIzbWNLNm0vbVB5NnRDa3RweUdZCjVWM3ZsZlE3
SzIvV3RWT3NYM250U3JQSjRxdlo3VFg2bGJ3UlpKMUlEdXdTNUJSclF6aW1aWmI4Wkw1eTE5UDFa
YkhMazVtV0pUZnQKWW4zTWs4TnhDRUNnK2dRYVhRR3BmaGVRQ0FFSVFBQUNFSUJBcFFTQ0F1SThH
aW90U240SVFBQUM5U0pRVVF4SXZXcWlNQVFnQUFFSQpRQUFDTlVGQWxwUVFiMVVURGFJUkVJQkFx
eUtBQmFSVm5XNDZDd0VJUUFBQ0VEQnpzUkJ4UUxhTHZUTE50MFNDQUFRZzBGZ0VVRUFhCml6VDFR
QUFDRUlBQUJDQUFBUWhBQUFLR0N4WVhBUVFnQUFFSVFBQUNFSUFBQkNEUWFBUlFRQm9OTlJWQkFB
SVFnQUFFSUFBQkNFQUEKQWlnZ1hBTVFnQUFFSUFBQkNFQUFBaENBUUtNUlFBRnBOTlJVQkFFSVFB
QUNFSUFBQkNBQUFRaWdnSEFOUUFBQ0VJQUFCQ0FBQVFoQQpBQUtOUmdBRnBORlFVeEVFSUFBQkNF
QUFBaENBQUFRZ2dBTENOUUFCQ0VBQUFoQ0FBQVFnQUFFSU5Cb0JGSkJHUTAxRkVJQUFCQ0FBCkFR
aEFBQUlRZ0FBS0NOY0FCQ0FBQVFoQUFBSVFnQUFFSU5Cb0JGQkFHZzAxRlVFQUFoQ0FBQVFnQUFF
SVFBQUNLQ0JjQXhDQUFBUWcKQUFFSVFBQUNFSUJBb3hGQUFXazAxRlFFQVFoQUFBSVFnQUFFSUFB
QkNLQ0FjQTFBQUFJUWdBQUVJQUFCQ0VBQUFvMUdBQVdrMFZCVApFUVFnQUFFSVFBQUNFSUFBQkND
QUFzSTFBQUVJUUFBQ0VJQUFCQ0FBQVFnMEdnRVVrRVpEVFVVUWdBQUVJQUFCQ0VBQUFoQ0FBQW9J
CjF3QUVJQUFCQ0VBQUFoQ0FBQVFnMEdnRUtsWkFmdjMxMTRMRy9menp6d1hiNVc3OCtlZWY5dmJi
YjhmWnYvMzJXM3YzM1hmajdZWmMKYWN5Nnl1M0hiNy85Wms4Ly9YUzUyY2tIQVFoQUFBSVFnQUFF
SUFDQlprbWdiQVhreXkrL3RIMzMzZGMyM0hERGdvNk9HemZPYnJqaApob0o5ZVJzdnZQQ0NMYlhV
VWpaa3lKQTQ2NUZISG1tREJnMkt0eHR5cFRIcktxY2Z6ejMzblBYdTNkczIyV1NUY3JLVEJ3SVFn
QUFFCklBQUJDRUFBQXMyV1FGa0t5TVNKRSsyZGQ5NngvLzczdjVhMmdDeXl5Q0syekRMTDJHR0hI
VlkyaEQ1OSt0aHFxNjFtMDB3elRWem0KMkdPUHRkdHZ2ejNlcnVhS3JBdVBQdnBvTExJaDY0b3J5
VmxKdHFsZnYzNjI0NDQ3NXBUZ01BUWdBQUVJUUFBQ0VJQUFCSm8vZ2JJVQprQmxubk5GV1dXVVZX
MmloaGF4Tm16WlQ5SHIrK2VjM3VWVGRjODg5VXh4TDcvanJyNy84cnJadDI5cFVVLzFUL2N3enoy
eVNVKzMwCnh4OS8ySGJiYldkUFB2bGtMTHFoNm9vcnlGa3AxcVpwcDUyMktOc2NVUnlHQUFRZ0FB
RUlRQUFDRUlCQXN5TFF0bHF0M1hycnJXM2IKYmJlMTlkWmJ6NmFlZXVvcHhQN3l5eTkyNElFSDJ1
eXp6MjZmZi82NXZmSEdHOWF1WFR1Zjc0c3Z2ckNycjc3YWJydnRObnZtbVdmcwpwWmRlc2dzdnZO
QzZkdTFxN2R1M3R4RWpSbmpscGtlUEhuYktLYWZZaXkrK2FELzk5Sk9kZDk1NXR0eHl5M2tac3N3
Y2YvengxckZqClIxOWVWaGJWcDdKMzNubW52ZmZlZS9iKysrK2IzSzl1dWVXV3VDNFZscXhERGpu
RXBwdHVPcDluN3Jubjl2V29ibGxPMUphNTVwckwKRmw1NFlUdnh4Qk85NWViZWUrKzFYcjE2K2Jx
UE8rNDRYNGRjeTlLcFdGKzIybXFyZ2phTkhEa3lYY3ozN2F5enpyTFhYMy9kcEp5UQpJQUFCQ0VB
QUFoQ0FBQVFnMEJJSS9HT0NxR2R2NUlvMWR1eFlyeHdVRTdYRkZsdllxcXV1NmhVQXZYQi84TUVI
OFJkL1dVTSsvUEJECnJ5U283TysvLzI0MzNYU1RWenBrZGRsMDAwMjlZakY0OEdBNzVwaGp2Rkln
QldPampUYXlDUk1tK09vVVB6Rmd3QUE3K09DRDdhQ0QKRHJLaFE0ZDZSVVRMT2VhWXd6YmZmSE83
OHNvcnZaeGtYU3E4d1FZYm1OeWdoZzhmN3V0VlRJYmFxNlIrdmZ6eXk3NHRzODAybXozeQp5Q04r
LzBrbm5lU1graWVMeXB4enpobHZKMWVLOVdYdnZmY3VhTlAwMDArZkxPTFhwZngwNnRTcHdFbzBS
U1oyUUFBQ0VJQUFCQ0FBCkFRaEFvSmtScUpvQ29uaU9MbDI2K0ZpUk5JTm5uMzNXUm84ZWJldXV1
NjQvSk5lci92Mzd4OWxrNlZoODhjVXRpaUsvVDFZTktSNnkKT0VqNXVPQ0NDN3dTb09OeXBicnZ2
dnY4Qy93MzMzeGpUenp4aEZjS3BDUklpVkJhZHRsbGZSbFpURUlLcm1QcHVpVHJxYWVlTWxrbAps
TlNQblhiYXllNisrMjV2alpIU01lKzg4L3IyS1FCZk10ZFlZdzJ2YkFYWmUreXhSOG40bFdKOUNh
NW1vVTFCVG5LcE5zaWlJdVdNCkJBRUlRQUFDRUlBQUJDQUFnWlpDb0dvS2lJQW9WcVRZVUxxUFBm
YVlWeWc2ZCs0Y2M1dGhoaGxpQzRoMjZtVTgrVUl1QzRDVWhaRGsKbWlWTGc5eVI5TGZpaWl2YWd3
OCs2SlVOS1NFcnJMQkNRZm5kZHR2TjV3L2xrN0tUZFQzLy9QTytubVJBZk4rK2ZYMHhLVFZLeWZ6
YQpWajhuVFpxazFiSlN1aStoVUxKTllSOUxDRUFBQWhDQUFBUWdBQUVJdEdRQ1ZmMjhydURxRGgw
NlRNSHIwMDgvdGZIangwK3h2NUlYCmNKV1hOV0N0dGRhYVFzNVhYMzNsWXlXbU9GREdEc1dtU0xi
aVFLUVVLY2thbzdycU9zZEpHZFdTQlFJUWdBQUVJQUFCQ0VBQUFxMlMKUUZVdElGSUVldmJzT1FY
SWJ0MjZtZHlsTkpSdlhaTUN2bVh4U0ZvZTVKSWw2NHJjb21SNVVaQjVTRG9XTEJqYVYwclprYXVY
UnZCSwpCcEIvL2ZYWE5ubnlaTzhDRnVRMXhMSlVteHFpTG1SQ0FBSVFnQUFFSUFBQkNFQ2dGZ2hV
cElCbzdvb3dqRzY2OFpwZFhCWVFCWWVuCjA1WmJidWt0Q29ybENFbXpvTXZ5b0pkL0pWa2lOSkpW
aUFPUkFwQ2NjMlNiYmJZeEtUaHlyZnIrKys5TlNvTG04MUE4aGVSclJDMEYKcWIvMTFsditUNEhv
M2J0Mzk3TGwraVVyakpMS0p1dFNjTHBHdUpKeUU5S1lNV084eTVoRzlGSlNJSG15M3lvZjJxM2pp
a3M1ODh3egp0Vm8wcGZ1aVRPazJxUTd4QzBsdFVNRDlEei84RUhheGhBQUVJQUFCQ0VBQUFoQ0FR
UE1uNEY3NGM1T3pPa1J1bU56SVdUSWlOMVJ0CmRNMDExMFRmZmZkZFFia3JycmdpY2pPWkYreExi
b3dhTlNweXNST1JDeXlQM0FoVGtSdXhLbkp4RzVIMnUxR25vdVdYWDE0UjZKRjcKa1kvY2FGV1JH
eGtxY3FOWFJXNlc5VmpNK2VlZjcrdDNsb1BJeFlkRWJ0amUrSmpXdFU4eW5FVWtjb0hsOGJGaHc0
WkZLdU1DdXlNMwpmRzVCWFU2cGl0eFF1WkViN1NvNjdiVFRJaGNzSDdtQTlNZ3BNcjc4NDQ4L0hq
bGx3ZmZkeGFGRXI3enlTalRmZlBQNWRqend3QU0rCmp4dlZLbkxEQzBkTzBZanJEQ3ZxWDdHK3BO
dmtBdWQ5MjkwSVlaSGE1RWJ6aW5rRVdTd2hBQUVJUUFBQ0VJQUFCQ0RRM0FtMFVRZXEKb1VZTkhE
alFORFN0aHEwdGxXUTFrQVZpbGxsbThhNVVZUjZRVXZtTDdaZWw0Sk5QUHZGdVYra1JvdFFWV1VZ
MGNsVTZ5ZHFpZWtzbApsZFZjSVJxaFM2TmVWWkpVVnE1aENqYXZKT1cxU2NIMVR0RXpwOWhWSXBh
OEVJQUFCQ0FBQVFoQUFBSVFxRmtDVlZGQURqLzhjRnQ3CjdiWDlQQjgxMjlObTFqQXBIcGRjY29u
dHYvLytETVhiek00ZHpZVUFCQ0FBQVFoQUFBSVFLRTJnM2dxSXZ0SnJXTnd3STNucHFqaFMKQ1FI
RmZtaFdkd0xWSzZGR1hnaEFBQUlRZ0FBRUlBQ0JXaWRRYndXazFqdEkreUFBQVFoQUFBSVFnQUFF
SUFDQjJpRlEwU2hZdGROcwpXZ0lCQ0VBQUFoQ0FBQVFnQUFFSU5FY0NLQ0ROOGF6UlpnaEFBQUlR
Z0FBRUlBQUJDRFJUQW1YUGhIN2dnUWMyMHk0MlhiTlBQLzMwCnBxdWNtaUVBQVFoQUFBSVFnQUFF
SUZDREJNcFdRQlpZWUFFYk1tUklEWGFoOFpyMHlDT1BtSnZUdzl4OEpuN1pvVU1IYy9PaStDQjgK
RFFtc2dIRU5OYXdKRzYrNzdyckdheGcxUVFBQ0VJQUFCQ0FBQVFoQW9Ka1F3QVdybVp3b21na0JD
RUFBQWhDQUFBUWdBSUdXUUtCRgpLeURYWG51dFhYVFJSUVhuNllzdnZqQmNvd3FRc0FFQkNFQUFB
aENBQUFRZ0FJRkdJOUNpRlpETk45L2NIbnp3UWROY0pTRjkrZVdYCmR2NzU1NGRObGhDQUFBUWdB
QUVJUUFBQ0VJQkFJeElvT3dZazJTYTkxQys1NUpJMjY2eXoyaXV2dkdMdnZQT09iYmJaWmpiVlZG
UFoKUGZmY1kydXNzWVpOTTgwMGRzY2RkOWpFaVJQdFgvLzZsNCtUK1Bubm4yM1VxRkd4S01WTWRP
N2MyVlpaWlJXYmJiYlo3T0dISDdiMwozMy9meDFqMDZkUEg1cHR2UHAvM3VlZWVNeWtPcTYyMm1u
WHExQ2t1UDM3OGVIdnJyYmRzNVpWWGp2ZHA5dkNkZDk3WngyT29EVGZjCmNJTk5talFwUHM0S0JD
QUFBUWhBQUFJUWdBQUVJTkIwQk9wa0FibnZ2dnRzd1FVWHRMRmp4OW9ISDN4Z0J4OThzQjE5OU5H
K0Z3ODkKOUpEdHVlZWV0dnZ1dTl2eHh4L3ZYYUNrWUNpOSsrNjdkdHBwcDlsbGwxMW15aWNGWmRp
d1lUWmd3QUIvWE1xTDlsOXp6VFcyOU5KTAoyOGNmZit6M24zTEtLWGJjY2NkWjE2NWRiYXV0dHZM
S2lBNTgrdW1udHUyMjI5b0REenpnODBsNU9lcW9vN3p5b1dQOSsvYzNLVEpyCnJybW1qUmt6eHVj
Si84NDQ0d3pyM3IyN2JiTEpKdmJtbTIrRzNYYldXV2RacjE2OWJLR0ZGdkpLVlh5QUZRaEFBQUlR
Z0FBRUlBQUIKQ0VDZzNnVHFaQUVaUG55NC9mTExML2I0NDQvN2tiRTBFdFNJRVNOOFk2UmdkT3ZX
emIvMHYvVFNTMTRabUgvKytiMHlzZFJTUzNtRgpvVXVYTHJiMzNudjcvTEtLeVByeCsrKy9tNVND
a0xiZmZudHZYWmw3N3JsTmNsNTQ0UVZ2eVJnOGVMQmRmLzMxdHUrKys1cmtiYkhGCkZyYjExbHQ3
UzhkLy8vdGZXMkdGRmJ5SWpoMDdlbGVySGoxNmVLVkhzU0M5ZS9mMngyUk5VUnVrRUVseE92end3
KzNXVzIrMWp6NzYKeUE0OTlGQjc3TEhIckcvZnZqWjU4dVRRSEpZUWdBQUVJQUFCQ0VBQUFoQ0FR
QlVJMU1rQ29ucWxaRWdKVVpwMzNubE5pb1NTaHFQVgo4TFJEaHc3MXlvZjJ5UUtobDNvbEtRVGp4
bzN6Ni9yMzJXZWZlV3ZIdE5OT0crL1RpaFNFSDMvODBlOWJmdm5sdlFWRUZvdE5OOTNVClB2bmtF
Ny8vMTE5LzlYSkhqeDd0TFNOeXY1TFZSVWtLeUV3enplVGR1bDUvL2ZXNGpJN05QdnZzSmtXbVhi
dDJ0dU9PTzNxcmk1UU4KS1RhcnI3NjZWejZVVDMwaFFRQUNFSUFBQkNBQUFRaEFBQUxWSTFCbkJT
VFpCTVZ5aFBUNTU1OWJGRVcyekRMTGhGM2UxZW5ycjcvMgoyMmtGNU5SVFQ3VnR0dGttemh0V0pG
TnlsRFNueHBsbm51blgyN2R2NzVmNkoxZXdsVlpheWZyMTYyZFNQcjcvL25zZmw2SmpkOTExCmwz
ZS8rdmJiYjIySkpaYlFycUpKZFdoZUR5a2JmL3p4aDFkS2ltWmtKd1FnQUFFSVFBQUNFSUFBQkNC
UWJ3SlZVVUNTclZBZytkcHIKcisxM3lTb3lZY0lFazlLZ2dIRWxLU0NLRzVGRlpKZGRkdkV2L0lv
WEtaWCsrdXN2TDBQQjdKSWxxMHRRZU41Nzd6MXZpVkhaUVlNRwptZHkyOXR0dlB5L3F0dHR1OCs1
ZWN0R1NERTBPR0pKa2hmZ1NCZFFyVmtSSnJsejMzMysvRDRUWE5pNVlva0NDQUFRZ0FBRUlRQUFD
CkVJQkE5UWhVM2NkSVFlVHJyYmVlYitHaWl5NGF1MXRkZnZubGZwL2NxSDc0NFFjZnM2SGc4eENB
WHFwTENsUlhvSGd5WFhYVlZYNVQKcmx6TExydHNmT2lZWTQ2eDVaWmJ6cjc2Nml1dmpNaXlvbEd3
Vk1kcnI3MW1OOTEwa3g5WlN5NWl4eDU3ckwzOTl0cytrRjNCNzBvYQpkV3VmZmZheHhSWmJ6Qlpa
WkJFL1FwY1VLaElFSUFBQkNFQUFBaENBQUFRZ1VCMENiWndMMHYvOG5ITGtLWWg3eUpBaGNTNk5T
aVhYCkpRV0QxMUtTMVNMRWJpaXdYZFlQeFhyODlOTlBmaW5yaVdKSFpwaGhCaDlqb2o0RWkwcm9o
NGJ0bGNVa09lU3ZqajN5eUNNMi9mVFQKKzM1cktVVkdBZmlLWDFHZGt2UG5uMy82c25JYlMvSUtz
bGxDQUFJUWdBQUVJQUFCQ0VDZ05ST29zd1ZFbGdlOTJOZGFDc3FIMnBVTQpiSmZDRVZKWVY2QjZz
YVIrMVdMZmlyV1ZmUkNBQUFRZ0FBRUlRQUFDRUdoT0JPcXNnSVM0aWViVVdkb0tBUWhBQUFJUWdB
QUVJQUFCCkNEUXRnYW9Ib1RkdGQ2Z2RBaENBQUFRZ0FBRUlRQUFDRUtobEFpZ2d0WHgyYUJzRUlB
QUJDRUFBQWhDQUFBUmFHQUVVa0JaMlF1a08KQkNBQUFRaEFBQUlRZ0FBRWFwa0FDa2d0bngzYUJn
RUlRQUFDRUlBQUJDQUFnUlpHQUFXa2haMVF1Z01CQ0VBQUFoQ0FBQVFnQUlGYQpKb0FDVXN0bmg3
WkJBQUlRZ0FBRUlBQUJDRUNnaFJGQUFXbGhKNVR1UUFBQ0VJQUFCQ0FBQVFoQW9KWUpvSURVOHRt
aGJSQ0FBQVFnCkFBRUlRQUFDRUdoaEJGQkFXdGdKcFRzUWdBQUVJQUFCQ0VBQUFoQ29aUUlvSUxW
OGRtZ2JCQ0FBQVFoQUFBSVFnQUFFV2hnQkZKQVcKZGtMcERnUWdBQUVJUUFBQ0VJQUFCR3FaQUFw
SUxaOGQyZ1lCQ0VBQUFoQ0FBQVFnQUlFV1JnQUZwSVdkVUxvREFRaEFBQUlRZ0FBRQpJQUNCV2lh
QUFsTExaNGUyUVFBQ0VJQUFCQ0FBQVFoQW9JVVJRQUZwWVNlVTdrQUFBaENBQUFRZ0FBRUlRS0NX
Q2FDQTFQTFpvVzBRCmdBQUVJQUFCQ0VBQUFoQm9ZUVJRUUZyWUNhVTdFSUFBQkNBQUFRaEFBQUlR
cUdVQ0tDQzFmSFpvR3dRZ0FBRUlRQUFDRUlBQUJGb1kKQVJTUUZuWkM2UTRFSUFBQkNFQUFBaENB
QUFScW1RQUtTQzJmSGRvR0FRaEFBQUlRZ0FBRUlBQ0JGa1lBQmFTRm5WQzZBd0VJUUFBQwpFSUFB
QkNBQWdWb21nQUpTeTJlSHRrRUFBaENBQUFRZ0FBRUlRS0NGRVVBQmFXRW5sTzVBQUFJUWdBQUVJ
QUFCQ0VDZ2xnbWdnTlR5CjJhRnRFSUFBQkNBQUFRaEFBQUlRYUdFRVVFQmEyQW1sT3hDQUFBUWdB
QUVJUUFBQ0VLaGxBaWdndFh4MmFCc0VJQUFCQ0VBQUFoQ0EKQUFSYUdBRVVrQloyUXVrT0JDQUFB
UWhBQUFJUWdBQUVhcGtBQ2tndG54M2FCZ0VJUUFBQ0VJQUFCQ0FBZ1JaR0FBV2toWjFRdWdNQgpD
RUFBQWhDQUFBUWdBSUZhSm9BQ1VzdG5oN1pCQUFJUWdBQUVJQUFCQ0VDZ2hSRkFBV2xoSjVUdVFB
QUNFSUFBQkNBQUFRaEFvSllKCm9JRFU4dG1oYlJDQUFBUWdBQUVJUUFBQ0VHaGhCRkJBV3RnSnBU
c1FnQUFFSUFBQkNFQUFBaENvWlFJb0lMVjhkbWdiQkNBQUFRaEEKQUFJUWdBQUVXaGdCRkpBV2Rr
THBEZ1FnQUFFSVFBQUNFSUFBQkdxWkFBcElMWjhkMmdZQkNFQUFBaENBQUFRZ0FJRVdSZ0FGcElX
ZApVTG9EQVFoQUFBSVFnQUFFSUFDQldpYUFBbExMWjRlMlFRQUNFSUFBQkNBQUFRaEFvSVVSUUFG
cFlTZVU3a0FBQWhDQUFBUWdBQUVJClFLQ1dDYUNBMVBMWm9XMFFnQUFFSUFBQkNFQUFBaEJvWVFS
UVFGcllDYVU3RUlBQUJDQUFBUWhBQUFJUXFHVUNiU3RwM0VVWFhWUkoKZHZKQ0FBSVFnQUFFSUFB
QkNFQUFBaEFvSU5BbWNxbGdEeHNRZ0FBRUlBQUJDRUFBQWhDQUFBUWFpQUF1V0EwRUZyRVFnQUFF
SUFBQgpDRUFBQWhDQXdKUUVVRUNtWk1JZUNFQUFBaENBQUFRZ0FBRUlRS0NCQ0tDQU5CQll4RUlB
QWhDQUFBUWdBQUVJUUFBQ1V4SkFBWm1TCkNYc2dBQUVJUUFBQ0VJQUFCQ0FBZ1FZaWdBTFNRR0Fs
OXJYWFhyUHZ2LysrYUEwLy9mU1RmZmJaWjBXUHNSTUNFSUFBQkNBQUFRaEEKQUFJdGxRQUtTQU9l
MmF1dXVzcjY5ZXRubjN6eVNVRXRGMTU0b2MwODg4eDIwMDAzRmV4bkF3SVFnQUFFSUFBQkNFQUFB
aTJkUUtNTgp3L3ZWVjEvWk1jY2NZOE9HRGJPNTVwckxjOVcrSVVPRzJFWWJiV1E3N2JTVHRXblR4
bjc3N1RjNyt1aWpiZHR0dDdWRkYxM1Vmdi85CmQ3dmlpaXZzemp2dnRPbW5uOTZHRGgxcXZYdjNq
cy9McWFlZWF1KysrMjY4clJYSjZkU3BrL1hvMGNNMjIyd3ptMzMyMmYzeDQ0NDcKemo3KytHT2Jl
dXFwcld2WHJyYkVFa3ZZcHB0dWFsTk45WThldHQ5KysvbXk2NjY3cnZYdDI5Zm5UUXIvODg4LzdZ
Z2pqckNOTjk3WQordlRwa3p4a1Vpd21USmhnQng5OGNMei83cnZ2dHJQT09zc3V1T0FDbTNmZWVl
UDlhdE1oaHh4aSsrNjdiN3lQRlFoQUFBSVFnQUFFCklBQUJDTFI0QXBvSHBER1MrOW9mVFRQTk5G
RzdkdTJpaHg5KzJGZDUxMTEzUmQyNmRkTThKTkZoaHgzbTl6blhwR2p4eFJlUG5QSVIKL2ZMTEw5
R09PKzRZT1FVaGNrcUx6OWVoUTRmby9mZmY5M2wvL1BISGFMcnBwdlA3SmFQWVg4K2VQYU5Ka3la
RjMzenpUZVFVanlueQpPQVVnN3Y2MzMzNGJ0VzNiTnM3VHBVdVh5Q2xJMFJkZmZCSG5jVXBUdE5C
Q0MwVXp6amhqOU1namo4VDd0YkxHR210RVcyMjFWY0UrCmJmejg4OC9ScTYrK1dyQmYvUmt4WWtU
QlBqWWdBQUVJUUFBQ0VJQUFCQ0RRMGduODgrbS9nVlV0V1NMR2poM3JyUi9ISDMrOHIyM0QKRFRl
MER6LzgwR1J0dU82NjYvdytXVGx1di8xMisrQ0REN3lGWWZUbzBmYmYvLzdYdXpIZGNjY2Q5c2Nm
ZjlqWlo1L3Q4em9sd0p4eQpZVTRwc1VzdXVjVGN5Zkovc3FKOCt1bW5ObkRnUVB2b280OTh2YlBN
TW90Tm5qelpILy9ycjcvTUtTUzI1WlpiRnJoQjNYdnZ2ZVlVCkZudjc3YmR0K1BEaE52Lzg4NXRt
Zjk5dHQ5MWlPclBPT3FzOThjUVROc2NjYzFqLy92M3Q4Y2NmajQ4NXhjaVdYSExKZU5zcFduYksK
S2FmWXVlZWVhN3Z2dnJ1OS92cnI4VEd0T0FYTERqendRSnR0dHRsczJXV1h0YmZlZWlzKy91dXZ2
NXBUeW54NXRmUDAwMCtQajdFQwpBUWhBQUFJUWdBQUVJQUNCNWtxZzBSUVFBZXJWcTVkL2FmLzg4
ODlqWHROT082ME5HalRJbkpVaDNqZlBQUFBZQmh0c1lHKzg4WVozCjIxcHNzY1g4TWJscUxiLzg4
dmIwMDAvSGViWFN2WHQzNzFvVmRrcm1uSFBPR1NzT1NSY3I1WkdMbGhRUzFmSDExMStIWXZieXl5
OTcKOTZzRkYxelE5dDkvZjN2dXVlZHNuMzMyc1NlZmZOSXJMaUZqNTg2ZHpWbGZUQXFRWExHa3ND
amd2OHAxSkFBQUlBQkpSRUZVWExFZQphNjY1cHM4bTE3RWRkdGpCdTNFZGROQkJ0czQ2NjNqWHNp
QkR5MUdqUnRtcXE2NXExMTkvdlgzMzNYY21oVXhLa3RJbW0yeGlBd1lNCjhPNWNLaS9YczVkZWVz
a2Y0eDhFSUFBQkNFQUFBaENBQUFTYUs0RkdWVUFFU1pZRGZkMVBKc1ZyYUo4c0dDSEpFcUlYL01H
REI0ZGQKZnJuV1dtdjVGLzdrenJubm5ydEFBUW5IOU1MdTNMNjg0aFAySlpjenpEQ0R0NmpJRXFH
MDBrb3IyWXN2dnVoZi9rTytGVlpZd1k5awpGZkpvL3kyMzNPS3RMbEtFcE56SUVpSkxobk8vaXVO
Q1ZLK1VpR0FSVWRCNTBzSWhPZHR2djcxWE1sWmZmWFU3K2VTVHZkWG5vWWNlCk11ZmE1WlVoQmJB
cnlUcWlHQkxGdEpBZ0FBRUlRQUFDRUlBQUJDRFFuQW0wcllYR3l5S1JUcklvckxmZWV1WmlQQW9P
dWZnTG16aHgKb25lOWN2RWsvcGdVRUxseXBkUDk5OS92clFwU1pvb2xCYU1yQmNWSEZoWUZqVXQr
U0tHT3NLM2xlZWVkWjd2c3Nvdk5OOTk4WGhsWgplKzIxYmR5NGNmNHY1Rk9mNUNvbVY3S0xMNzdZ
eG93WlV5QlgrYVI0aGJUY2NzdjVWUVhVdTFnVWsrS1Q1SkowQXd0bFdFSUFBaENBCkFBUWdBQUVJ
UUtDNUVXaDBDMGc1Z0RSM3hpdXZ2T0tWaDNSK1dSS1U5SkllVWpFTGlDd0dzb0FjZGRSUklWdnVV
dFlNdVdYSmtsRXEKS2Via3FhZWVpaTBkY3FFYU9YS2tLYTVFSTNVbGswYkZVdjF5NTNJQjZnVUtS
VEtmMW1YZGtNVkhmeG9kTEIwdmtzN1BOZ1FnQUFFSQpRQUFDRUlBQUJKb2pnWnBVUUJUWXJSZjZF
RStSQkR2VFREUDVUY1ZNaENRRlJFSG5zbVRJVmVycXE2ODJEYWVyMklyZ0FoWHkxbmVwCllYeVZG
RGdla3F3aDIyeXpqUjE2NktFVzRsdmVmUE5OMjJPUFBYend1Tnl4OHBMS3lmS3k5TkpMZTJWRWxo
QUZ0WWVrdmlsR2hRUUIKQ0VBQUFoQ0FBQVFnQUlIbVRLQW1YTERTQUJVRHNjQUNDL2hBY2gyNzRZ
WWJ2TlZCNnovODhJTVdYa0h4Sys2ZkZCQlpKalNhbGdMRwpOVmVINXQ1UVVIY2xTZk9VakI4L3Zx
Q0lYS2praHFYQWRpVzVXaW1GdVVYOGh2dDN4aGxubUViczJtdXZ2ZXpXVzIvMThSNVNvcVNJCktP
QmRTcFhhR055OVZFN3RERWw5VmpDK0ZLYU9IVHY2NEh2RnY4aUtvblRaWlpjVnpDOFN5ckdFQUFR
Z0FBRUlRQUFDRUlCQWN5SlEKa3dySW80OCthZ3JNRGtsdVRCckNOeVJOWktoSkJFT1NBcUxoY2ZX
Qy8zLy85My8rVHlOalZaS2tXR2dDeEdKSnNTSEJpaEVzSU1uNApEWlZSL1JweTk5SkxML1h0V0gv
OTlXMnBwWmJ5a3l4dXZ2bm1QdURjelh2aWw4cXo4ODQ3KzhCeVdUMmtsSHo1NVplbW1kT1ZORnFZ
CmhpWFdKSTJMTExLSXQ0aG94Q3dwTWlRSVFBQUNFSUFBQkNBQUFRZzBad0tOTmhONmdLVFJuczQv
Ly96WWtoRDJ0NFNsRkFrTnY1c00Kbk5mb1h1M2J0L2ZkMHh3bVFaRUovWlhpSWNYQ1RZQVlkc1ZM
eWRNd3dVbDNyL2dnS3hDQUFBUWdBQUVJUUFBQ0VHaUdCS1o4NjIyRwpuYWlWSm12VXFxVHlvWFlG
NVVQcmFlVkQrOUt1WE5vWGt1U2hmQVFhTENFQUFRaEFBQUlRZ0FBRVdnS0JSbGRBTnQxMFUxdG1t
V1ZhCkFqdjZBQUVJUUFBQ0VJQUFCQ0FBQVFoVVNLRFJYYkFxYkIvWklRQUJDRUFBQWhDQUFBUWdB
SUVXUktBbWgrRnRRWHpwQ2dRZ0FBRUkKUUFBQ0VJQUFCQ0NRSUlBQ2tvREJLZ1FnQUFFSVFBQUNF
SUFBQkNEUXNBUlFRQnFXTDlJaEFBRUlRQUFDRUlBQUJDQUFnUVFCRkpBRQpERlloQUFFSVFBQUNF
SUFBQkNBQWdZWWxnQUxTc0h5UkRnRUlRQUFDRUlBQUJDQUFBUWdrQ0tDQUpHQ3dDZ0VJUUFBQ0VJ
QUFCQ0FBCkFRZzBMQUVVa0libGkzUUlRQUFDRUlBQUJDQUFBUWhBSUVFQUJTUUJnMVVJUUFBQ0VJ
QUFCQ0FBQVFoQW9HRUpvSUEwTEYra1F3QUMKRUlBQUJDQUFBUWhBQUFJSkFpZ2dDUmlzUWdBQ0VJ
QUFCQ0FBQVFoQUFBSU5Td0FGcEdINUloMENFSUFBQkNBQUFRaEFBQUlRU0JCQQpBVW5BWUJVQ0VJ
QUFCQ0FBQVFoQUFBSVFhRmdDS0NBTnl4ZnBFSUFBQkNBQUFRaEFBQUlRZ0VDQ0FBcElBZ2FyRUlB
QUJDQUFBUWhBCkFBSVFnRURERWtBQmFWaStTSWNBQkNBQUFRaEFBQUlRZ0FBRUVnUlFRQkl3V0lV
QUJDQUFBUWhBQUFJUWdBQUVHcFlBQ2tqRDhrVTYKQkNBQUFRaEFBQUlRZ0FBRUlKQWdnQUtTZ01F
cUJDQUFBUWhBQUFJUWdBQUVJTkN3QkZCQUdwWXYwaUVBQVFoQUFBSVFnQUFFSUFDQgpCQUVVa0FR
TVZpRUFBUWhBQUFJUWdBQUVJQUNCaGlWUWtRSXlmdng0Kys2Nzd3cGE5UFBQUHhkc2w3dng1NTkv
MnR0dnZ4MW4vL2JiCmIrM2RkOStOdHh0eXBUSHJVajkrKyswM2UvcnBweHV5UzhpR0FBUWdBQUVJ
UUFBQ0VJQkFzeUJRbGdJeVpzd1lXM3Z0dFczMjJXZTMKbVdlZTJiYmNja3ViTkdtUzcrQzRjZVBz
aGh0dXFLaXpMN3p3Z2kyMTFGSTJaTWlRdU55UlJ4NXBnd1lOaXJjYmNxVXg2M3J1dWVlcwpkKy9l
dHNrbW16UmtsNUFOQVFoQUFBSVFnQUFFSUFDQlprRWdWd0daT0hHaUhYSEVFZlovLy9kLzl1bW5u
OXF3WWNQc3hodHZ0Rk5PCk9jVjNjSkZGRnJGbGxsbkdEanZzc0xJNzNLZFBIMXR0dGRWc21tbW1p
Y3NjZSt5eGR2dnR0OGZiMVZ5UkJlTFJSeCtOUlRaa1hYRWwKZjYvMDY5ZlBkdHh4eDRMZDZmWVVI
R1FEQWhDQUFBUWdBQUVJUUFBQ0xaaEFyZ0x5ekRQUDJLV1hYbW9iYmJTUnQ0QWNmL3p4TnYvOAo4
eGU0RkdsYkxsWDMzSE5QTHFxLy92ckw1Mm5idHExTk5kVS8xY3V5SWpuVlRuLzg4WWR0dDkxMjl1
U1RUOGFpRzZxdXVJTFV5clRUClRtdHQyclR4ZTR1MUo1V2RUUWhBQUFJUWdBQUVJQUFCQ0xSWUFt
M3plcmJPT3VzVVpOR0x0S3dlY3NkS3BxMjMzdHEyM1haYlcyKzkKOVd6cXFhZE9Idkxydi96eWl4
MTQ0SUcrM09lZmYyNXZ2UEdHdFd2WHpoLzc0b3N2N09xcnI3YmJicnZOcFBDODlOSkxkdUdGRjFy
WApybDJ0ZmZ2Mk5tTEVDSy9jOU9qUncxdGVYbnp4UmZ2cHA1L3N2UFBPcytXV1c4N0wrUFhYWDAz
S1VjZU9IWDE1V1ZsVW44cmVlZWVkCjl0NTc3OW43Nzc5dmNyKzY1WlpiNHJwVVdMSU9PZVFRbTI2
NjZYeWV1ZWVlMjllanVtVTVVVnZtbW1zdVczamhoZTNFRTAvMGxwdDcKNzczWGV2WHE1ZXMrN3Jq
amZCMXlMY3RMNmZiSURlMnFxNjZhb3ErU2RkWlpaOW5ycjc5dVVtQklFSUFBQkNBQUFRaEFBQUlR
YUFrRQovakZCbE5tYktJcnNsVmRlS1lqZlVGRXBKV1BIampVcEI4WFNGbHRzWWF1dXVxcFhBRWFP
SEdrZmZQQkJiQldRTmVURER6LzBTb0xLCi92Nzc3M2JUVFRkNXBXT2hoUmF5VFRmZDFDc1dnd2NQ
dG1PT09jWXJCVkl3WkpXWk1HR0NyMDR4RmdNR0RMQ0REejdZRGpyb0lCczYKZEtoWFJMU2NZNDQ1
YlBQTk43Y3JyN3pTeTBuV3BjSWJiTENCeVZWcStQRGh2bDdGYmFpOVN1clh5eSsvN05zeTIyeXoy
U09QUE9MMwpuM1RTU1g2cGY3S296RG5ublBGMjFrcTZQVkxXMG4zdDBxV0xWN3c2ZGVwVVlDWEtr
c3N4Q0VBQUFoQ0FBQVFnQUFFSU5BY0NGU3NnCnNoNzA3OS9meDMwa082aDREcjA0di9QT084bmRm
djNaWjUrMTBhTkgyN3JycnV1MzVYb2xHU0hKMHJINDRvdWJsQnNsV1RXa2VNamkKSU9Yamdnc3U4
RXFBanN1VjZyNzc3dk5LeFRmZmZHTlBQUEdFVndxa0pFaUpVRnAyMldWOUdWbE1RZ291VU9tNkpP
dXBwNTZ5cmJiYQp5bWRWUDNiYWFTZTcrKzY3dlRWR1NzZTg4ODdyMjdmaGhodWFaSzZ4eGhwZTJR
cXk5OWhqajRyalYwSjdpdlZWcm1ocWc2d2dVczVJCkVJQUFCQ0FBQVFoQUFBSVFhQ2tFS2xKQVpH
MVFBUHFaWjU1WnRQOHp6amhqMGFGMEgzdnNNYTlRZE83Y09TNDN3d3d6eEJZUTdkUUwKZVhncDE3
YmNuNlFzaENUWExGa2E1STZrdnhWWFhORWVmUEJCcjJ4SUNWbGhoUlVLeXUrMjIyNCtmeWlmbEoy
czYvbm5uL2YxSkFQaQorL2J0NjR0SnFWRks1dGUyK2hsR0FkTjJYVkt5UGVtKzFrVWVaU0FBQVFo
QUFBSVFnQUFFSU5BY0NGVDBlVjBqWFoxeHhoaytWcUpZCjV4UmczYUZEaHlrT2FmUXN6U0dTVHNt
WDhQU3g5TGJLeXhxdzFscHJwUS9aVjE5OTVXTWxwamhReGc3RnBraTI0a0NrRkNuSkdxTzYKNmpy
SFNSblZrZ1VDRUlBQUJDQUFBUWhBQUFLdGtrRFpGcERUVHovZGR0NTVaeCtNSFVqcHhUK1p0TjJ6
Wjgva0xyL2VyVnMzazd0VQpNZmVzS1RLWDJLR0FiMWs4a3BZSHVXVEp1aUszS0UxaXFDRHprSFFz
V0RDMHI1U3lJMWN2amVDVkRDRC8rdXV2YmZMa3lkNEZMTWlyCjlySlVlNnBkRC9JZ0FBRUlRQUFD
RUlBQUJDQlFTd1RLVWtBVXZQMzk5OS83NEhERmMyaFdiNDFBcGRHcVF0THM0cktBS0RnOG5UUngK
b1N3S2l1VUlTYk9neS9LZ2wzOGxXU0kwa2xXSUE1RUNvTzJRdHRsbUcyL3BrR3VWMmlJbFFmTjVL
RjVDOGpXaWxvTFUzM3JyTGYrbgpRUFR1M2J2NzRuTDlraFZHU1dXVGRTazRYU05jU2JrSlNSTXZT
akhSaUY1S0Nvb1B3d2RyVytWRHU3V3R1SlJTYm1rNnJ2SmlFMUs2ClBlbStLcC9hb0lEN0gzNzRJ
UlJqQ1FFSVFBQUNFSUFBQkNBQWdlWlB3TDN3WnlZM0RHM2s0aU1VSFY3dzU2d2FrWHR4anN0ZWNj
VVYKa1p2SlBONU9yNHdhTlNweXNST1JDeXlQM0FoVGtSdXhLbkp4RzVIMnUxR25vdVdYWDk3TGR5
L3lrVk40b3Vtbm56NXlvMWRGYnBiMQpXTlQ1NTU4ZnVhRnlJMmM5aUZ4OFNPU0c3WTJQYVYzNzFF
NW5FWWxjWUhsOHpFMmU2TXU0d083SURaOWJVSmViRkRCeWlsVGtScnVLClRqdnR0TWdGeTBjdUlE
MXlpb3d2Ly9qamowZE9ZWWpVWHhlSEVya1J3S0w1NXB2UHQrT0JCeDd3ZWZiZWUrL0lEVXRjd0NO
VXJyNjUKb0hqZkxqZjZWNlQ2a3UzUnZtSjlkYU41eFR5Q0xKWVFnQUFFSUFBQkNFQUFBaEJvN2dU
YXFBUFZVS01HRGh4b0dwcFd3OWFXU3JJYQp5QUl4eXl5emVGZXFNQTlJcWZ6RjlzdWE4TWtubjNp
M3EvUUlVZXFLTENNYXVTcWRaRzFSdmFXU3ltcXVFSTNRcFZHdktra3FLOWN3CkJaT1htL0xhSXpr
S3J2L3V1Ky9NS1hibGlpVWZCQ0FBQVFoQUFBSVFnQUFFYXBwQVZSU1F3dzgvM05aZWUyMC96MGRO
OTdZWk5VNksKeHlXWFhHTDc3NzgvUS9FMm8vTkdVeUVBQVFoQUFBSVFnQUFFc2duVVd3SFJWM29O
aXh0bUpNK3VqcVBsRWxEc2gyWjFKMWk5WEdMawpnd0FFSUFBQkNFQUFBaEJvRGdUcXJZQTBoMDdT
UmdoQUFBSVFnQUFFSUFBQkNFQ2dOZ2lVTlFwV2JUU1ZWa0FBQWhDQUFBUWdBQUVJClFBQUN6WjBB
Q2toelA0TzBId0lRZ0FBRUlBQUJDRUFBQXMySVFOa3pvUjk0NElITnFGdTEwVlJOM2tpQ0FBUWdB
QUVJUUFBQ0VJQUEKQlA0aFVMWUNzc0FDQzlpUUlVUCtLZGtLMXg1NTVCRnpjM2FZbTgvRUx6dDA2
R0J1WGhJZmhLOGhnUlV3cnFHRzNWd2ZkdDExMTdWQwpRblFaQWhDQUFBUWdBQUVJUUFBQzJRUnd3
Y3JtdzFFSVFBQUNFSUFBQkNBQUFRaEFvSW9FNnF5QXVCbkIvUndWNlhrTWp6MzJXTk1RCnNpUUlR
QUFDRUlBQUJDQUFBUWhBQUFKcEFuVldRSlphYWlucjFxMmJuLzA4S1hUNDhPSDI0NDgvSm5leERn
RUlRQUFDRUlBQUJDQUEKQVFoQXdCTW9Pd2FrR0M4RnB2LzAwMC9GRHBXMVQ1YVNwNTU2eWpiWVlB
T2YvKzY3NzdiT25UdmJTaXV0WkgvODhZZU5IajNhQmc0YwphSm9WL09hYmI3YWVQWHZhT3V1czQv
TnFBc1MzMzM0N3JrZXhHTDE2OWJLVlYxN1pXMkJ1dlBGR20zcnFxYjJTdE5aYWE5azAwMHpqCjg5
NTY2NjAyeXl5eitJa1ROWUZpU0twcnpUWFg5REVkMnZmeXl5LzdlSTdldlh1SExDd2hBQUVJUUFB
Q0VJQUFCQ0FBZ1hvU3FMTUYKWk1jZGQvUXY4Y3N2djd4ZGVlV1ZCYzE0K09HSGJkRkZGN1UrZmZy
WVBmZmNFeDg3NjZ5enZKS3cwRUlMMldhYmJXWWZmL3l4N2IzMwozbkZ3KzVneFk3d3lvdkovL2ZX
WG5Yenl5WGJlZWVkNXhlQ09PKzZ3WFhmZDFRNDU1QkF2Nzg0Nzc3UUREampBSG5yb0lYdmdnUWZz
Cmtrc3VzZlhYWDkvdXZmZGVlK3V0dC94K3JVdEoybXV2dlh3WnVZdXAvRTQ3N2VTVkVLMEhGN0xi
YjcvZE50NTRZeDlBcnN4bm5IR0cKVjBKOFFmNUJBQUlRZ0FBRUlBQUJDRUFBQXRVaDRGN0F5MG9Y
WG5oaFFiN1hYbnN0Y2twQzlQenp6MGZ6eno5L2ZLeGp4NDdSL3Z2dgpIMDJjT0RGeVNrTGtyQTJS
R3hrcSt2RERENlAyN2R0SHp6MzNuTS9yTEJ4KytlV1hYMFp6ekRGSFhONHBETkh4eHgvdnQxMmNT
ZVI2CkdZMGNPZEp2Zi9MSko5RTg4OHpqMXlkUG5oeDE3ZG8xTHFlVlljT0dSVWNkZFZUQnZ2ZmZm
ejlhZXVtbC9UNjFlWVVWVm9oVVZ1MlkKYTY2NUltZnA4TWVjbFNYcTFLbFQxTDkvLzhoWmRhS1pa
cG9wVXY1a2NvcFI5T3l6ejBadnZQRkc5TkZISDBWZmYvMTE1S3c0MGErLwovaHFwUDVMclJzQ0tu
QXRhbE9hVmxNTTZCQ0FBQVFoQUFBSVFnQUFFV2l1Qk9sdEFGbHh3UVpQRlFrUFRPc1dnUUJ2YWQ5
OTliWVlaClpyQUJBd1o0TnlqbHUvNzY2MjMxMVZlM3ZuMzcrcndhdGxacHR0bG1pNjBPMnA1MzNu
bnQ1NTkvMXFvNWhjQ2NJdUF0SDlwMkNvTjMKcFpMbFJPNVZHZ2JYS1RvNjVKTlRjcndMVnRqV3Nr
dVhMbkZNU284ZVBXejgrUEVtYTRmYTRaU1J1TzJ5b0NoK1JVUHM5dXZYenpiYwpjRU5iYkxIRmtx
Sllod0FFSUFBQkNFQUFBaENBQUFUcVNhQk9Dc2k0Y2VQTVdTSzhBbEpPaklUaU9oVFQwYTVkdTl6
bWFpNk5rSjU1CjVobnZraFdVRmUzdjNyMjdPY3VEenlLRlFtMVJldlBOTiszMTExKzNGVmRjMFcr
SGY1TG50RXUvS2VWaTdOaXhObWpRSUwvdExESWgKbTExenpUWGVMZXlLSzY0d1o4VXhaOVdKajdF
Q0FRaEFBQUlRZ0FBRUlBQUJDRlNIUUowVWtNY2ZmOXhrQWZuM3YvL3RYOWFkNjVFUAoyQTVOY2k1
S2Z2WFZWMS8xRmdWTllyajExbHZiL2ZmZmI4NGx5aDlUbWJ5aytJNFFkSzZBOVFrVEpuaDVzbUlv
U1FHUmtuTFJSUmZaCmR0dHRad284ejFKeWZ2LzlkeTlEVmhQSjBuWlFlTDc0NGd0dmNWSDVXMjY1
eGM0OTk5eUNJUGU4dG5JY0FoQ0FBQVFnQUFFSVFBQUMKRU1nblVDY0ZSS05XeWUxS0xrb2pSb3l3
SlpaWXdnNDY2S0M0TmdXRlMzRlliYlhWN0lRVFR2RDc1NXR2UHR0bm4zMThtV1dYWGRiVwpYWGZk
T0grcEZRV2phMlNxRHo3NHdJK09KWGVxMjI2N3pTcy9LaVBGUmtxSEZBcU5rcVhnOXF3MGRPaFE3
NUlsT2ZxVFc1amFMb1VtCmFRMXhNU21tK1V3dXZmVFNMSEVjZ3dBRUlBQUJDRUFBQWhDQUFBUXFK
TkJHd1MvbGxKR1ZZY2lRSVFWWk5kK0gzSlhrWGlWcnd2VFQKVCsrSHdGWHNoZ3ZNTnJsT2hlRnZR
OEZKa3liNW1BL2xDV25tbVdlMmI3LzlObXpXeEZKWTlEZlZWUC9vYUlwM1VSL2x5cVdsWWxBMAov
SytHODFWZlpVMXhBZmUrZjlkZGQ5MFV2R3FpWXpRQ0FoQ0FBQVFnQUFFSVFBQUNUVWlnWHZPQVNQ
bFFrcElSRkkyZ1dDUXRDc24rCnljVXA3U1kxZVBEZ1pKYWFXSmN5RWR5emFxSkJOQUlDRUlBQUJD
QUFBUWhBQUFJdGdNQS9uL2Vic0RPbm4zNTZFOVpPMVJDQUFBUWcKQUFFSVFBQUNFSUJBWXhHb0NR
V2tzVHBMUFJDQUFBUWdBQUVJUUFBQ0VJQkEweEpBQVdsYS90UU9BUWhBQUFJUWdBQUVJQUNCVmtV
QQpCYVJWblc0NkN3RUlRQUFDRUlBQUJDQUFnYVlsZ0FMU3RQeXBIUUlRZ0FBRUlBQUJDRUFBQXEy
S0FBcElxenJkZEJZQ0VJQUFCQ0FBCkFRaEFBQUpOU3dBRnBHbjVVenNFSUFBQkNFQUFBaENBQUFS
YUZRRVVrRloxdXVrc0JDQUFBUWhBQUFJUWdBQUVtcFlBQ2tqVDhxZDIKQ0VBQUFoQ0FBQVFnQUFF
SXRDb0NLQ0N0Nm5UVFdRaEFBQUlRZ0FBRUlBQUJDRFF0QVJTUXB1VlA3UkNBQUFRZ0FBRUlRQUFD
RUdoVgpCRkJBV3RYcHByTVFnQUFFSUFBQkNFQUFBaEJvV2dJb0lFM0xuOW9oQUFFSVFBQUNFSUFB
QkNEUXFnaWdnTFNxMDAxbklRQUJDRUFBCkFoQ0FBQVFnMExRRVVFQ2FsaisxUXdBQ0VJQUFCQ0FB
QVFoQW9GVVJRQUZwVmFlYnprSUFBaENBQUFRZ0FBRUlRS0JwQ2FDQU5DMS8KYW9jQUJDQUFBUWhB
QUFJUWdFQ3JJb0FDMHFwT041MkZBQVFnQUFFSVFBQUNFSUJBMHhKQUFXbGEvdFFPQVFoQUFBSVFn
QUFFSUFDQgpWa1VBQmFSVm5XNDZDd0VJUUFBQ0VJQUFCQ0FBZ2FZbGdBTFN0UHlwSFFJUWdBQUVJ
QUFCQ0VBQUFxMktBQXBJcXpyZGRCWUNFSUFBCkJDQUFBUWhBQUFKTlN3QUZwR241VXpzRUlBQUJD
RUFBQWhDQUFBUmFGUUVVa0ZaMXV1a3NCQ0FBQVFoQUFBSVFnQUFFbXBZQUNralQKOHFkMkNFQUFB
aENBQUFRZ0FBRUl0Q29DS0NDdDZuVFRXUWhBQUFJUWdBQUVJQUFCQ0RRdEFSU1FwdVZQN1JDQUFB
UWdBQUVJUUFBQwpFR2hWQkZCQVd0WHBwck1RZ0FBRUlBQUJDRUFBQWhCb1dnSW9JRTNMbjlvaEFB
RUlRQUFDRUlBQUJDRFFxZ2lnZ0xTcTAwMW5JUUFCCkNFQUFBaENBQUFRZzBMUUVVRUNhbGorMVF3
QUNFSUFBQkNBQUFRaEFvRlVSUUFGcFZhZWJ6a0lBQWhDQUFBUWdBQUVJUUtCcENhQ0EKTkMxL2Fv
Y0FCQ0FBQVFoQUFBSVFnRUNySW9BQzBxcE9ONTJGQUFRZ0FBRUlRQUFDRUlCQTB4SkFBV2xhL3RR
T0FRaEFBQUlRZ0FBRQpJQUNCVmtVQUJhUlZuVzQ2Q3dFSVFBQUNFSUFBQkNBQWdhWWxnQUxTdFB5
cEhRSVFnQUFFSUFBQkNFQUFBcTJLQUFwSXF6cmRkQllDCkVJQUFCQ0FBQVFoQUFBSk5Td0FGcEdu
NVV6c0VJQUFCQ0VBQUFoQ0FBQVJhRlFFVWtGWjF1dWtzQkNBQUFRaEFBQUlRZ0FBRW1wWUEKQ2tq
VDhxZDJDRUFBQWhDQUFBUWdBQUVJdENvQ0tDQ3Q2blRUV1FoQUFBSVFnQUFFSUFBQkNEUXRnYmFW
VkgvUlJSZFZrcDI4RUlBQQpCQ0FBQVFoQUFBSVFnQUFFQ2dpMGlWd3EyTU1HQkNBQUFRaEFBQUlR
Z0FBRUlBQ0JCaUtBQzFZRGdVVXNCQ0FBQVFoQUFBSVFnQUFFCklEQWxBUlNRS1ptd0J3SVFnQUFF
SUFBQkNFQUFBaEJvSUFJb0lBMEVGckVRZ0FBRUlBQUJDRUFBQWhDQXdKUUVVRUNtWk1JZUNFQUEK
QWhDQUFBUWdBQUVJUUtDQkNKU2xnTHoyMm12Mi9mZmZGMjNDVHovOVpKOTk5bG5SWSt5RUFBUWdB
QUVJUUFBQ0VJQUFCQ0NRSkZDVwpBbkxWVlZkWnYzNzk3Sk5QUGttV3RRc3Z2TkJtbm5sbXUrbW1t
d3Iyc3dFQkNFQUFBaENBQUFRZ0FBRUlRS0FZZ2JLSDRiMzc3cnZ0CnJMUE9zZ3N1dU1EbW5YZmVX
TmJzczg5dWh4eHlpTzI3Nzc3eHZuSldicnp4UnZ2NjY2OXR5SkFoTnUyMDAvb2llKzIxbDNYcTFN
bjIKMjI4L20yV1dXZnkrRHo3NHdNNDg4MHovMTdadFd4czNicHhkZHRsbDl1U1RUOW9TU3l4aHh4
NTdySFhzMk5IbmZmamhoKzM2NjYrZgpvdm9PSFRwWTE2NWRiYjMxMXJQZXZYdjc0Nk5IajdiYmJy
dk4yclJwNCt2czNyMjdiYnZ0dGpiVFREUEY1VysrK1dhVHpIWFhYZGZXCldHT051SjQ0ZzF1Um5M
ZmVlc3NPT09DQTVHNGJNMmFNVjlCT08rMDA2OXk1YzhFeE5pQUFBUWhBQUFJUWdBQUVJTkJxQ1dn
ZWtITFQKenovL0hMMzY2cXNGMmVlYWE2NW94SWdSQmZ2SzJkaG1tMjAwLzBpMDZLS0xSaE1tVElp
KysrNjd5Q2tIZnQrQ0N5NFkvZlhYWDE3TQowMDgvSFRrRkpUcjQ0SU1qcDdCRVBYdjJqSnhDRVRr
RnhlZGRlZVdWNCtvR0Roem85MGx1c1QrbmJFU1BQLzY0ejcvbW1tdE9rV2Z1CnVlZU9KaytlSE10
Ylo1MTE0anhPK1ltMC9laWpqOGJIdGJMYmJydjVQR3BmTWpsRkxacHV1dW1pUC83NEk3bWJkUWhB
QUFJUWdBQUUKSUFBQkNMUnFBbVc1WU1rS2NNb3BwOWk1NTU1cnUrKyt1NzMrK3VzRkN0c3Z2L3hp
Qng1NG9NMDIyMnkyN0xMTGVvdEF5UERycjcvYQpZWWNkNXN0dnVlV1dkdnJwcC90RDExeHpqZDF5
eXkzMnhodHYyTFhYWG10ZHVuU3hGMTU0d1VhT0hHbGp4NDYxbDE5KzJlZGJmdm5sClRWYUVVMDg5
MVZaZGRWVmJlT0dGYmZ6NDhkNFNJb3VKTENILytjOS9mTjdiYjcvZHR0OStlMit4Y0dmVjlQZm5u
My82K0JYSjFmYUQKRHo3bzh6NzAwRU4rVy9zVXh5STNzNDgvL3RpZWYvNTVmMXo3SG52c01XOEJV
ZnMyM25oamM4cUxPU1hFNS9lWjNEOVpoSndTNHZzbgpCaUc5Ly83NzVwUXJrOVdHQkFFSVFBQUNF
SUFBQkNBQUFRajhqMEN1QXZMNzc3L2JEanZzWUgzNzlyV0REanJJdjRBZmZmVFJCZnhHCmpScmxs
UU81UHpsTGhtMjQ0WWJtTEFrK3p5YWJiR0lEQmd3d1p5SHc1WWNPSFdvdnZmUlNmR3lPT2Vhd3p6
Ly9QSlluSlVYcGl5KysKaVBmdHZQUE8xcjU5ZTVNNzFpV1hYT0xYNVZZbHhVYkpXVW5pdk02SzRS
V0pzR09xcWFieUxsQlNuR2FjY1ViVGRqcE5QLzMwdHZubQptL3ZkWDMzMWxWOUtNVkxmbmNYRnR0
NTZhNVBMbUJReFo5RW9xRStaNWNZbEY2L2h3NGQ3SlUxS2pWeXpuSlhGeStJZkJDQUFBUWhBCkFB
SVFnQUFFSVBBL0FybWY1NmVaWmhxVEVySGtra3Y2RWdvNlY4eERNc25xSUNWRDZlU1RUN2F0dHRy
S1pHRlFiSWNzR1FwZ1Y1SjEKUkJhREhqMTYrRzM5a3dJaUswbElpZ0ZSY3U1ZVlaZEoyZEJML21h
YmJXYmR1bldMOXl2K1pQSEZGN2UzMzM0NzNwZFdRTUtCZDk5OQoxeVpPbkdnTExMQkEyRld3Yk5l
dW5iZFcvUERERDM2LzVLb3RLNnl3Z3IzNDRvczI1NXh6bXF3eGFrZFNZVkwrcTYrKzJ2ZFg4U2lL
CmhYRnVhajYrWmRpd1lRVjFzQUVCQ0VBQUFoQ0FBQVFnQUlIV1RpQlhBZEVMOTlsbm4rMnREeGRm
ZkxFUHJ0YUxmRElGcFVIN2xsdHUKT1g5SUwvemZmdnV0ZjRHWGpKRGtycFJPeWVQcFk5cVc1VU1L
eWFCQmc2WTQ3T0pGL010K09DQUZSSGxsaVVrR2xEL3d3QU5la1FtSwpVc2lmWE1vNkl1dUZrcFFl
V1ZadXZmVldyM3hvbjQ1TElVdW1LNis4MHVhZmYzN2ZiMW1BcEtTSWs0dUxJZmc4Q1lwMUNFQUFB
aENBCkFBUWdBQUVJT0FKVCtpTVZ3YUxoZG84NjZpamJmLy85L1doUVdRcURyQnR5ZGRLZjNKblM4
U0pGeE9mdVVpeUdZaWswR2xVNnlTSWoKWlNNa0tTQktpdWNJNmIzMzNyTWpqenpTRGovODhLSWpX
WVY4NmVVaWl5eml5NlQzSjdkbDZaRjdtcEpHNDdyenpqdjkwTVIzM0hGSApNaHZyRUlBQUJDQUFB
UWhBQUFJUWdJQWprS3VBdlBubW03YkhIbnY0NFBIMDEvOWlCT1dlSkF2SjBrc3Y3VjJ0WkFsUlFI
WklzakNFCkFQT3dMMi81eUNPUFdKOCtmYnhTazg0ckJVU1dscENTQ29qcTBuQzRzbnJJZW5Mb29Z
ZUdiRlZiYWxoZ0JkK0hwQ0dLTlV5d0d5M0wKTHIvODhyQ2JKUVFnQUFFSVFBQUNFSUFBQkNEZ0NP
UzZZQ25ld3cySmExSkVORGVIUm9LYU5HbFM3S29raWhwcEtpUXBDM3JaVjh5SQpMQUxISEhPTURS
NDgyTStKb1R4Nk9WZEFlaVZKTC9NNzdiUlRYRVR6am9RWUVjVm5xSDBoS2FCY3JsZkhIWGVjSDdG
THdld2JiTEJCClhIL0lsN2VVSlNPTW1KWE1xK0Q2TU8rSTlxY1ZFTzNiYUtPTlBBT05pcVc2WjUx
MVZ1MG1RUUFDRUlBQUJDQUFBUWhBb05VVHlGVkEKMWw5L2ZWdHFxYVg4UzdWR2lsTEErVjEzM2VX
WGwxNTZxV21FS2dXV3krb2hpOE9YWDM3cGg3UVYyVjY5ZXRsMTExM25KeHVVTzVQYwpzelJpVnBo
a3NCejZVb0NrUkdnaVFDVUZlR3RJNEdSS1Q0S29vWHFsb0tqTXJydnU2a2ZvU3VZdlovMkVFMDZJ
aCtSTjVuZHplOWhhCmE2M2xkLzM0NDQrbUlQUmtERXpJZTg0NTUvaDRrSTgrK2dnRkpFQmhDUUVJ
UUFBQ0VJQUFCQ0RRNmdtVVBSTzZScXJTVUxoS0dvbzIKN1k0bHhVT0tSYkY1TDZTWWFOYnpwS3RT
SUsrUnNhUW9hSzZQbHBaa0tkTG9XaVFJUUFENFcvSVRBQUFnQUVsRVFWUUNFSUFBQkNBQQpBUWhB
NEg4RWNpMGdBVlJRUHJTZFZqNjBUMFBpbGtvS1dpK21mSlRLMzFMMm8zeTBsRE5KUHlBQUFRaEFB
QUlRZ0FBRXFrV2diQXRJCnRTcE15OUVJVjVyRVQ3T0dreUFBQVFoQUFBSVFnQUFFSUFDQmxrMmd5
UldRbG8yWDNrRUFBaENBQUFRZ0FBRUlRQUFDU1FLNXcvQW0KTTdNT0FRaEFBQUlRZ0FBRUlBQUJD
RUNnUGdSUVFPcERqN0lRZ0FBRUlBQUJDRUFBQWhDQVFFVUVVRUFxd2tWbUNFQUFBaENBQUFRZwpB
QUVJUUtBK0JGQkE2a09Qc2hDQUFBUWdBQUVJUUFBQ0VJQkFSUVJRUUNyQ1JXWUlRQUFDRUlBQUJD
QUFBUWhBb0Q0RVVFRHFRNCt5CkVJQUFCQ0FBQVFoQUFBSVFnRUJGQkZCQUtzSkZaZ2hBQUFJUWdB
QUVJQUFCQ0VDZ1BnUlFRT3BEajdJUWdBQUVJQUFCQ0VBQUFoQ0EKUUVVRVVFQXF3a1ZtQ0VBQUFo
Q0FBQVFnQUFFSVFLQStCRkJBNmtPUHNoQ0FBQVFnQUFFSVFBQUNFSUJBUlFSUVFDckNSV1lJUUFB
QwpFSUFBQkNBQUFRaEFvRDRFVUVEcVE0K3lFSUFBQkNBQUFRaEFBQUlRZ0VCRkJGQkFLc0pGWmdo
QUFBSVFnQUFFSUFBQkNFQ2dQZ1JRClFPcERqN0lRZ0FBRUlBQUJDRUFBQWhDQVFFVUVVRUFxd2tW
bUNFQUFBaENBQUFRZ0FBRUlRS0ErQkZCQTZrT1BzaENBQUFRZ0FBRUkKUUFBQ0VJQkFSUVJRUUNy
Q1JXWUlRQUFDRUlBQUJDQUFBUWhBb0Q0RVVFRHFRNCt5RUlBQUJDQUFBUWhBQUFJUWdFQkZCRkJB
S3NKRgpaZ2hBQUFJUWdBQUVJQUFCQ0VDZ1BnUlFRT3BEajdJUWdBQUVJQUFCQ0VBQUFoQ0FRRVVF
S2xKQVB2dnNNL3Y1NTU4TEtraHZGeHhzCmhodS8vZmFiUGYzMDA4Mnc1VFFaQWhDQUFBUWdBQUVJ
UUFBQ3RVK2dMQVhrN2JmZnR2WFhYOS9XWFhkZG0zWFdXVzN2dmZlT2V6WnUKM0RpNzRZWWI0dTFp
SzNmZmZiY3R2UERDTnRWVVU5bnR0OTlla09XdHQ5Nnk3YmJienRxMGFXTzc3cnFyZmZycHB3WEhH
M1BqdWVlZQpzOTY5ZTlzbW0yelNtTlZTRndRZ0FBRUlRQUFDRUlBQUJGb05nVGFSUzFtOS9ldXZ2
K3k4ODg2emJiYlp4bWFhYVNhNzZhYWJiSXN0CnRyQlhYMzNWRmw5OGNWLzAzWGZmdFN1dXVNSk9P
T0dFa3FMdXYvOStXMis5OWF4VHAwNDJac3dZbTIrKytlSzhreWRQdG03ZHV0bFgKWDMzbEZaSDRR
QlZXZ2tWajlkVlhMMHZhOE9IRDdiVFRUck12di95eXJQeGtnZ0FFSUFBQkNFQUFBaENBQUFUS0o1
QnJBZm5wcDU5cwp0OTEyODhxSHhNb1NNdU9NTTlvc3M4d1MxekwvL1BQYm4zLythZmZjYzArOEw3
M1N0bTFiMjNubm5lMlBQLzZ3VFRmZDFINzk5ZGM0Cmk0N0o4aUFyU0gxVFVwOVNYYkt1UFBua2sy
V0xuWGJhYWF2U2pySXJKQ01FSUFBQkNFQUFBaENBQUFSYUVZRmNCYVJqeDQ2bWwvS1EKTHJyb0lq
dm5uSE5zampubUNMdjhjdXV0dDdaRERqbkVLeUlGQnhJYnNwaWNmLzc1M25yeTczLy9PM0hFYk9x
cHB5N1lsdUt6MTE1NwoyUUVISEdDREJnM3libDlKcGFVZ3M5dVFHNWhrbjNycXFiYkNDaXY0d3lO
R2pMQTc3N3pUdTMzdHNNTU9kdGxsbDltaWl5NXFHMnl3CmdjbXRUT20xMTE2ejVaZGYzaDU5OUZH
L25mNG5xOHorKys5dnE2NjZxaTI3N0xMMjdMUFBwck93RFFFSVFBQUNFSUFBQkNBQUFRaVUKU1NC
WEFRbHk5Q0srNDQ0NzJ0Q2hRMDJ4RXIvLy9uczQ1SmVMTExLSWpSMDcxbDU4OGNXQy9lbU43YmZm
M3NkNlhIbmxsWGJoaFJlbQpEOGZiVWhMNjlldG5jb21TMjVmcWxPdFhzU1FYcnROUFA5MmsxQng4
OE1HMjNITExtVnpIMUZZcFNwdHZ2cm1wdnAxMjJzbGJidFQyCmhSWmF5SXRTdStlY2MwNHI1cUls
cTg3Z3dZUHRtR09POFFwS256NTliS09OTnJJSkV5WVVhd2I3SUFBQkNFQUFBaENBQUFRZ0FJRWMK
QW1VcklMSSt5UDFLaW9Fc0RhZWNja3FCNkdtbW1jYTZkT2xpNzd6elRzSCtZaHRubjMyMkxiMzAw
cmJQUHZ2NGVKQjBudnZ1dTgrZQpldW9wMjJxcnJmd2h5WmJ5b0dEMlo1NTVKcDNkS3dTdnZQS0tq
UjQ5Mmg5VE1IdlNGU3ZwMnJYZmZ2dlp3dzgvYkI5KytLSFBxM3JVCnIyTHB4aHR2OUhMa3dxVTJT
Wm41NXB0djdJa25uaWlXblgwUWdBQUVJQUFCQ0VBQUFoQ0FRQTZCc2hXUW5qMTcycFpiYnVuZG1k
WmUKZTIyNytlYWJweEN0MkJBRnBPZWxkdTNhK2ZMdDI3ZTN6VGJiekw3NzdydUNJczgvLzd4MTdk
clZwSGlFMUxkdlg3LzY4c3N2aDEzeApVdkVvR3JscXdJQUJ0dWVlZTVyYW1uVHBTaW9neXRPOWUz
ZVRLNW1TbEJyRnBCUkxVblptbm5sbTc0SW1ON1FWVjF6UkhuendRZStLClZTdy8reUFBQVFoQUFB
SVFnQUFFSUFDQmJBSmxLeUJCakliUzFjditwRW1Ud3E1NHFhRHZEaDA2eE50WksvUE1NNDlkNFVi
TzBqQysKR21GTExsTWgvZkxMTHpaKy9IaFRIRWhJaWg5UnNIcXBlVWV1dmZaYUh5Y2k2OHdhYTZ4
aFAvNzRZeWhhc0pSaUlsZXR5eSsvM0x1Ugp5YkxUdVhQbmdqeGhRMjFRZjlkYWE2MkNQN2xza1NB
QUFRaEFBQUlRZ0FBRUlBQ0J5Z2xVcklDb0Nsa1Vna1VpV2FYaVJHUjlLSmFrCllDU1ZET1VaT0hD
Z2o5T1FlNU5jbTBKU2ZJYmlMMTU0NFlXd3k3NysrbXRUcklmbUUwa25EWm1yNDJlZWVhWjNsVkpn
K2ZYWFh4OW4KUzFwQXRIT1hYWGJ4Ymx2RGhnMnpsVmRlT2M2WFh1blZxNWUzZUNTVkxibDJQZmJZ
WSttc2JFTUFBaENBQUFRZ0FBRUlRQUFDWlJESQpWVUJramZqUGYvNFR4MVJJTVpEQ2NOeHh4eFdJ
Ly9iYmIvMFF1d3JVTHBia1ppVWxJWjFPUFBIRUtaUUFCWTNQTmRkYy91VS81TmZjCklWSk1OSmRJ
T3FudU1CbmlPdXVzNHhXYkdXYVl3V2VUZFNOTWJ2ajk5OS83ZlhMWlVueUozTERra3BWTUNsQ1hK
VWRKbGhrcFZScUcKV0dYVi9tT1BQZFkwN0RBSkFoQ0FBQVFnQUFFSVFBQUNFS2ljUU51OElub0Iz
M2pqamYzY0g0b0IrZUdISCt5a2swNmF3dEtoV0FxTgpFQ1hYcW5RYU5XcVVTZEhRUzN5UEhqMXM5
OTEzajdQSXJVcldpdVMrNmFlZjNnK2Z1KzIyMi9yNVJ6UjA3blhYWFdlMzNYYWJkOE9LCkN5ZFd6
ajMzWE8vK05mdnNzM3VYcWpCaVZ2LysvWDE3NWJxbGRvZWtvUGEweTVoaVQxU1BGQnE1Y21uZWtw
RWpSOXErKys1clYxOTkKdFI5QlMwb0xMbGlCSWtzSVFBQUNFSUFBQkNBQUFRaFVSaUIzSnZRZ1Ro
WU16WVJlS3NtZFNpLzRHdGEyTGtsRDI2WmpNZVR1OU41Nwo3L2s0akhubm5iZWtXTGwyS1ZaRE1o
UzRMZ1VtbVJUTGtadzRVY2VrU01oZFRCYVR2Q1NyeUNlZmZPS1ZKeWxNSkFoQUFBSVFnQUFFCklB
QUJDRUNnYmdUS1ZrQ3l4QjkrK09HbWtiRTBXVit0cDRrVEo5cDAwMDNuM2FzMHpHNDZQcVRXMjAv
N0lBQUJDRUFBQWhDQUFBUWcKMEp3SjVNYUE1SFZPYzJKc3VPR0d6VUw1a0R0VnAwNmRUTllVelJX
QzhwRjNkamtPQVFoQUFBSVFnQUFFSUFDQjZoS29pZ1drdWsxcQpPR2x5STFPd3V0ekZ1blhyOXYv
dDNYdlFiWFA5Qi9BdklaZmNTWXFRVUNreDdzcDBZVWdvR2syWnJqU2RMbU5LYmtsTlNwbFJIVVhK
ClJGUktNZVdlTkFsbHVrdHAzRTJSeXhRWnlqVkMxbTk5dm1idjMzNmVjL0k4WHgvSHhuNnRtZWZz
dmRmK2ZOYmE2N1gvMmUvelhkKzEKRnR5T2JKa0FBUUlFQ0JBZ1FJQUFnZmtLVEZRQW1hK0FsUVFJ
RUNCQWdBQUJBZ1FJUEdFQzZWT3duckJQYWtjRUNCQWdRSUFBQVFJRQpDRHpsQldaOVNhZjk5dHZ2
S1grd1QvUUJ6SjA3OTRuZXBmMFJJRUNBQUFFQ0JBZ1FlRklMekRxQXJMdnV1bVhPbkRsUDZvTlow
Qi91Cmdnc3VxSmY0WFhycHBldmpra3N1V2Erb3RkaGlpOVg3azhTazlyaFI0My8rODU5NlA1RUYv
WGxzbndBQkFnUUlFQ0JBZ01CVFRjQXAKV0UrMWI4em5KVUNBQUFFQ0JBZ1FJUEFVRm5qTUFlUlBm
L3BUMldlZmZVcmNMSEIwT2VTUVErcmQwa2ZYZVU2QUFBRUNCQWdRSUVDQQpBSUVRZU13QlpNTU5O
NnlYc28yN240OHVoeDkrZUxucnJydEdWM2xPZ0FBQkFnUUlFQ0JBZ0FDQktqRHJPU0R6ODRxSjZm
ZmNjOC84CjNwclZ1anZ2dkxQODhwZS9MRHZ1dUdPdFAvdnNzOHR5eXkxWFh2bktWNVlISDN5d25I
UE9PZldlSFhIL2psTk9PYVdzdWVhYVpidnQKdHF1MWNRUEVxNisrZXJpZnVMdjVXbXV0VmJiZWV1
czZBaE4zT1gvR001NVJROUsyMjI1YkZsMTAwVnA3Mm1tbmxaVldXcWxzc2NVVwpKZVp1REpiWTF6
YmJiRlBuZE1TNlN5NjVwTTduMkdTVFRRWWxIZ2tRSUVDQUFBRUNCQWdRU0FvODVoR1FkNy83M2ZW
SC9KWmJibGxPCk9PR0VLUi9qL1BQUEwrdXZ2MzdaZE5OTnk0OSs5S1BoZTBjZWVXUU5DUzk2MFl2
S2JydnRWbTY4OGNieW9ROTlhRGk1L2VLTEw2NWgKSlBvZmZ2amhjdGhoaDVXdmZ2V3JOUmljZWVh
WjllN2xCeDU0WU4zZVdXZWRWZmJkZDk5eTNubm5sWFBQUGJjY2Q5eHhaWWNkZGlnLwovdkdQeTFW
WFhWWFh4L01JU1h2dHRWZnRpZFBGb24vUFBmZXNJU1NlRDA0aE8rT01NOHF1dSs1YUo1Qkg4UmUv
K01VYVFtcWpmd2dRCklFQ0FBQUVDQkFnUWVId0UraC9nczFxT09lYVlLWFdYWFhaWjE0ZUU3cUtM
THVyV1dXZWQ0WHZMTExOTTE4OE42ZTYrKys2dUR3bGQKUDlyUTlWZUc2djc2MTc5MlN5eXhSUGU3
My8ydTF2WWpIUFh4bGx0dTZWWmRkZFZoZng4WXVzOSs5clAxZFQvUEpDYVlkRWNmZlhSOQpmZE5O
TjNVdmVNRUw2dk9ISG5xb1czbmxsWWQ5OGVTZ2d3N3FEajc0NENucnJyMzIybTZqalRhcTYrSXpi
N1hWVmwzMHh1ZFliYlhWCnVuNmtvNzdYajdKMHl5NjdiUGY2MTcrKzYwZDF1aFZXV0tHTCt0R2xE
MGJkYjMvNzIrNktLNjdvcnIvKyt1N1dXMi90K2xHYzdyNzcKN3V2aWVHSzcvUld3dXY0VXRHNjYx
K2gyUENkQWdBQUJBZ1FJRUNBd3FRS1BlUVJrdmZYV0t6RmlFWmVtN1lQQmxEUzA5OTU3bDJjOQo2
MWxsNTUxM3JxZEJSZDNKSjU5Y1h2T2ExNVROTnR1czFpNnl5Q05uZjYyeXlpckRVWWQ0WSsyMTF5
NzMzbnR2cmVrRFFlbURRQjM1CmlCVjlZS2luVXNYSVNaeGVGWmZCN1lOT3JZMS8rcEJUVDhFYXJ1
aWZMTC84OHNNNUtXdXNzVWE1N2JiYlNveDJ4T2Zvdzhqd3M4Y0kKU3N4ZmlVdnNicjc1NW1Xbm5Y
WXFMMzNwUzBjMzVUa0JBZ1FJRUNCQWdBQUJBa21CeHhSQWJyamhodEtQUk5RQU1wczVFakd2SSta
MApMTDc0NGpOKzNMaVh4bUQ1elc5K1UwL0pHb1NWV0wvNjZxdVhmdVNobGtTZ2lNOFN5NVZYWGxr
dXYvenk4b3BYdktLK0h2d1QyK3ZUClpYMFo0ZUthYTY0cHUreXlTMzNkajhnTXlzcUpKNTVZVHd2
NzFyZStWZnBSbk5LUDZnemY4NFFBQVFJRUNCQWdRSUFBZ2NkSDRERUYKa0FzdnZMREVDTWdIUHZD
QittTzlQL1dvVHRnZWZLVCtGS1g2OU5KTEw2MGpDbkVUdzkxMzM3Mzg1Q2MvS2YwcFVmVzk2Smxw
aWZrZApnMG5uTVdIOWpqdnVxTnVMVVl4WUlvQkVTRG4yMkdQTE85N3hqaElUeng4dDVEend3QU4x
R3pGcUV0dUsxNFBBYy9QTk41Y1ljWW4rClUwODl0UngxMUZGVEpyblA5Rm05VDRBQUFRSUVDQkFn
UUlEQXpBS1BLWURFVmF2aXRLczRSZW1JSTQ0b0cyeXdRVG5nZ0FPR2U0dEoKNFJFY1h2M3FWNWRE
RHoyMHJuL2hDMTlZUHZ6aEQ5ZWVqVGZldUd5Ly9mYkQrdi8xSkNhang1V3BycnZ1dW5wMXJEaWQ2
dlRUVDYvaApKM29pMkVUb2lFQVJWOG1LeWUyUHR1eS8vLzcxbEt6WVR2ekZhV0h4MlNQUWpJNkc5
SE5TU3R6UDVQampqMyswelhtUEFBRUNCQWdRCklFQ0FBSUZHZ1lWaThzdHNlbUtVWWM2Y09WTks0
MzRmY2JwU25GNFZvd2xMTGJWVXZRUnVqQ1QwRTdOTG5EbzF1UHp0b1BIKysrK3YKY3o2aVpyQ3N1
T0tLNWZiYmJ4KzhmRkk4Qmt2OExiencvMmUwbU84U3h4aW5jc1ZqekVHSnkvL0c1WHpqV0dNMHBa
OXdYNC92cEpOTwptc2ZyU1hGZ1BnUUJBZ1FJRUNCQWdBQ0JNUXFrN2dNUzRTT1dDQm1Eb0RFSUZx
TWpDcVBIRjZjNFRUOU5hbzg5OWhndGVWSThqekF4Ck9EM3JTZkdCZkFnQ0JBZ1FJRUNBQUFFQ1R3
T0IvLy92L1RFZXpOeTVjOGU0ZDdzbVFJQUFBUUlFQ0JBZ1FPQ0pFbmhTQkpBbjZtRHQKaHdBQkFn
UUlFQ0JBZ0FDQjhRb0lJT1AxdDNjQ0JBZ1FJRUNBQUFFQ0V5VWdnRXpVMSsxZ0NSQWdRSUFBQVFJ
RUNJeFhRQUFacjcrOQpFeUJBZ0FBQkFnUUlFSmdvQVFGa29yNXVCMHVBQUFFQ0JBZ1FJRUJndkFJ
Q3lIajk3WjBBQVFJRUNCQWdRSURBUkFrSUlCUDFkVHRZCkFnUUlFQ0JBZ0FBQkF1TVZFRURHNjIv
dkJBZ1FJRUNBQUFFQ0JDWktRQUNacUsvYndSSWdRSUFBQVFJRUNCQVlyNEFBTWw1L2V5ZEEKZ0FB
QkFnUUlFQ0F3VVFJQ3lFUjkzUTZXQUFFQ0JBZ1FJRUNBd0hnRkJKRHgrdHM3QVFJRUNCQWdRSUFB
Z1lrU0VFQW02dXQyc0FRSQpFQ0JBZ0FBQkFnVEdLeUNBak5mZjNna1FJRUNBQUFFQ0JBaE1sSUFB
TWxGZnQ0TWxRSUFBQVFJRUNCQWdNRjRCQVdTOC92Wk9nQUFCCkFnUUlFQ0JBWUtJRUJKQ0orcm9k
TEFFQ0JBZ1FJRUNBQUlIeENnZ2c0L1czZHdJRUNCQWdRSUFBQVFJVEpTQ0FUTlRYN1dBSkVDQkEK
Z0FBQkFnUUlqRmRBQUJtdnY3MFRJRUNBQUFFQ0JBZ1FtQ2dCQVdTaXZtNEhTNEFBQVFJRUNCQWdR
R0M4QWdMSWVQM3RuUUFCQWdRSQpFQ0JBZ01CRUNRZ2dFL1YxTzFnQ0JBZ1FJRUNBQUFFQzR4VVFR
TWJyYis4RUNCQWdRSUFBQVFJRUprcEFBSm1vcjl2QkVpQkFnQUFCCkFnUUlFQml2Z0FBeVhuOTdK
MENBQUFFQ0JBZ1FJREJSQWdMSVJIM2REcFlBQVFJRUNCQWdRSURBZUFVRWtQSDYyenNCQWdRSUVD
QkEKZ0FDQmlSSVFRQ2JxNjNhd0JBZ1FJRUNBQUFFQ0JNWXJJSUNNMTkvZUNSQWdRSUFBQVFJRUNF
eVVnQUF5VVYrM2d5VkFnQUFCQWdRSQpFQ0F3WGdFQlpMeis5azZBQUFFQ0JBZ1FJRUJnb2dRRWtJ
bjZ1aDBzQVFJRUNCQWdRSUFBZ2ZFS0NDRGo5YmQzQWdRSUVDQkFnQUFCCkFoTWxJSUJNMU5mdFlB
a1FJRUNBQUFFQ0JBaU1WMEFBR2ErL3ZSTWdRSUFBQVFJRUNCQ1lLQUVCWktLK2JnZExnQUFCQWdR
SUVDQkEKWUx3Q0FzaDQvZTJkQUFFQ0JBZ1FJRUNBd0VRSkNDQVQ5WFU3V0FJRUNCQWdRSUFBQVFM
akZSQkF4dXR2N3dRSUVDQkFnQUFCQWdRbQpTa0FBbWFpdjI4RVNJRUNBQUFFQ0JBZ1FHSy9BSWky
N1AvYllZMXZLMVJJZ1FJQUFBUUlFQ0JBZ1FHQ0t3RUpkdjB4WjR3VUJBZ1FJCkVDQkFnQUFCQWdR
V2tJQlRzQllRck0wU0lFQ0FBQUVDQkFnUUlEQ3ZnQUF5cjRrMUJBZ1FJRUNBQUFFQ0JBZ3NJQUVC
WkFIQjJpd0IKQWdRSUVDQkFnQUFCQXZNS0NDRHptbGhEZ0FBQkFnUUlFQ0JBZ01BQ0VwaFZBTG5z
c3N2S3YvNzFyL2wraEh2dXVhZjg3VzkvbSs5NwpWaElnUUlBQUFRSUVDQkFnUUdCVVlGWUI1TnZm
L25iWmZQUE55MDAzM1RUYVc0NDU1cGl5NG9vcmxoLzg0QWRUMW50QmdBQUJBZ1FJCkVDQkFnQUNC
K1FuTStqSzhaNTk5ZGpueXlDUEwxNzcydGJMMjJtc1B0L1djNXp5bkhIamdnV1h2dmZjZXJwdk5r
KzkvLy92bDFsdHYKTFhQbXpDbUxMYlpZYmRscnI3M0tzc3N1V3o3eWtZK1VsVlphcWE2NzdycnJ5
cGUrOUtYNnQ4Z2lpNVFiYnJpaGZPTWIzeWkvK01Vdgp5Z1liYkZBT09lU1Fzc3d5eTlUYTg4OC92
NXg4OHNuejdIN0pKWmNzSzYrOGNubmQ2MTVYTnRsa2svcitPZWVjVTA0Ly9mU3kwRUlMCjFYMnV2
dnJxNWUxdmYzdFpZWVVWaHYybm5ISktpVzF1di8zMjViV3ZmZTF3UDhPQy9rbHM1NnFycmlyNzdy
dnY2T3B5OGNVWDE0RDIKaFM5OG9TeTMzSEpUM3ZPQ0FBRUNCQWdRSUVDQXdNUUt4SDFBWnJ2Y2Ur
KzkzYVdYWGpxbGZMWFZWdXVPT09LSUtldG04K0p0YjN0YgozSCtrVzMvOTliczc3cmlqKytjLy85
bjE0YUN1VzIrOTlicUhIMzY0YnViWHYvNTExd2VVN3FNZi9XalhCNVp1elRYWDdQcEEwZlVCCnBk
WnV2ZlhXdzkyOThZMXZyT3RpdS9QNzY4TkdkK0dGRjliNmJiYlpacDZhNXovLytkMUREejAwM041
MjIyMDNyT25EVHhldmYvYXoKbnczZmp5ZnZlOS83YWsxOHZ0R2xEMnJkTTUvNXpPN0JCeDhjWGUw
NUFRSUVDQkFnUUlBQWdZa1dtTlVwV0RFSzhMblBmYTRjZGRSUgo1ZjN2ZjMrNS9QTExwd1MyZi8v
NzMyVy8vZllycTZ5eVN0bDQ0NDNyaU1DZzRMNzc3aXNmLy9qSGEvOWIzdktXTW5mdTNQcldpU2Vl
CldFNDk5ZFJ5eFJWWGxPOTk3M3RsK2VXWEw3Ly8vZS9MMFVjZlhhNjU1cHB5eVNXWDFMb3R0OXl5
eENqQzV6Ly8rZktxVjcycXZQakYKTHk2MzNYWmJIUW1KRVpNWUNmblZyMzVWYTg4NDQ0enl6bmUr
czQ1WTlOOXFpYi8vL3ZlL2RmNUtiRGRlLy9TblA2MjE1NTEzWG4wZAo2MkllUzV4bWR1T05ONWFM
THJxb3ZoL3Jmdjd6bjljUmtQaDh1KzY2YStuRFMrbERTSzJ2UmYwL01TTFVoNUI2ZkdFd1dLNjk5
dHJTCmg2c1NvellXQWdRSUVDQkFnQUFCQWdRZUVaZ3hnRHp3d0FQbFhlOTZWOWxzczgzS0FRY2NV
SCtBZitwVG41cmk5OTN2ZnJlR2d6ajkKcVIvSktEdnR0RlBwUnhKcXpadmU5S2F5ODg0N2wzNkVv
UGJ2di8vKzVZOS8vT1B3dlZWWFhiWDgvZTkvSDI0dlFrb3NOOTk4ODNEZAplOTd6bnJMRUVrdVVP
QjNydU9PT3E4L2p0S29JTnJIMG95VEQybjRVb3dhSndZcUZGMTY0bmdJVndXbnBwWmN1OFhyNnN0
UlNTNVUzCnYvbk5kZlUvL3ZHUCtoakJLSTY5SDNFcHUrKytlNGxUeGlLSTlTTWFVL1lYeFhFYVY1
emlkZmpoaDllUUZxRW1UczNxUjFucXR2eEQKZ0FBQkFnUUlFQ0JBZ01BakFqUCs5L3lpaXk1YUlr
UzgvT1V2cngweDZUem1QSXd1TWVvUUlTT1d3dzQ3ckx6MXJXOHRNY0lRY3p0aQpKQ01tc01jU295
TXhZckRHR212VTEvRlBCSkFZSlJrc01RY2tsdjUwcjhHcUVtRWpmdVR2dHR0dTViblBmZTV3ZmN3
L2VkbkxYbGF1CnZ2cnE0YnJwQVdUd3hwLy8vT2R5OTkxM2wzWFhYWGV3YXNyajRvc3ZYa2NyN3J6
enpybyt0aHVmWmF1dHRpcC8rTU1meXZPZTk3d1MKb3pIeE9VWURVOVIvNXp2ZnFjY2I4MUZpTGt4
L21scWQzM0xRUVFkTjJZY1hCQWdRSUVDQUFBRUNCQ1pkWU1ZQUVqKzR2L3psTDlmUgpoNjkvL2V0
MWNuWDhrQjlkQnFFaDFtMnh4UmIxcmZqQmYvdnR0OWNmOExHTndSS25LMDFmUnQrZi9sNjhqcEdQ
Q0NTNzdMTExQRy8zCjgwWHFqLzNCR3hGQW9qWkdZa1lubEo5NzdyazF5QXlDMHFCKzlERkdSMkww
SXBZSVBUR3ljdHBwcDlYd0VldmkvUWhrbzhzSko1eFEKMWxsbm5YcmNNUUlVSVNXYytua3hKcCtQ
UW5sT2dBQUJBZ1FJRUNCQW9CZVk5M3lrK2JERTVYWVBQdmpnc3M4Kys5U3JRVDFhWUlqUgpqVGpW
S2Y3aWRLYnA4MFhtcy9rWlY4VmNqSmhMRVZlam1yN0VpRXlFamNFU0FTU1dtTTh4V1A3eWw3K1VU
Mzd5aytVVG4vakVmSzlrCk5haWIvdmlTbDd5azlreGZQL282Um5yaTlMUlk0bXBjWjUxMVZyMDA4
WmxubmpsYTVqa0JBZ1FJRUNCQWdBQUJBcjNBakFIa3lpdXYKTEIvODRBZnI1UEhwLy9zL1A4RTRQ
U2xHU0RiYWFLTjZxbFdNaE1TRTdNRVNJd3lEQ2VhRGRUTTlYbkRCQldYVFRUZXRvV1o2YlFTUQpH
R2taTEtNQkpQWVZsOE9OVVk4WVBmbll4ejQyS0h2Y0h1T3l3REg1ZnJERUpZcmpNc0g5MWJMS043
LzV6Y0ZxandRSUVDQkFnQUFCCkFnUUk5QUl6bm9JVjh6MzZTK0tXQ0NKeGI0NjRFdFQ5OTk4L1BG
VXBGT05LVTRNbHdrTDgySTg1SXpFaThPbFBmN3Jzc2NjZTlaNFkKVVJNL3ptTkNlc3NTUCtiMzNI
UFBZVXZjZDJRd1J5VG1aOFRuR3l3eG9UeE92ZnJNWno1VHI5Z1ZrOWwzM0hISDRmNEhkVE05eGtq
Rwo0SXBabzdVeHVYNXczNUZZUHoyQXhMbzN2T0VOMVNDdWloWDdmdmF6bngyckxRUUlFQ0JBZ0FB
QkFnUW1YbURHQUxMRERqdVVEVGZjCnNQNm9qaXRGeFlUekgvN3doL1h4K09PUEwzR0ZxcGhZSHFN
ZU1lSnd5eTIzMUV2YWh1eGFhNjFWVGpycHBIcXp3VGlkS1U3UGlpdG0KRFc0eU9CdjlDRUFSSXVK
R2dMSEVCTys0SlBEb012MG1pSEdwM2dnbzBmUGU5NzYzWHFGcnRINDJ6dzg5OU5EaEpYbEg2L3Q3
ZTVSdAp0OTIycnJycnJydEtURUlmblFNenFQM0tWNzVTNTROY2YvMzFBc2dBeFNNQkFnUUlFQ0JB
Z01ERUM4ejZUdWh4cGFxNEZHNHNjU25hCjZhZGpSZkNJWURHLysxNUVNSW03bm8rZXFqU1FqeXRq
UlZDSWUzMDgzWllZS1lxcmExa0lFQ0JBZ0FBQkFnUUlFSGhFWU1ZUmtBSFUKSUh6RTYrbmhJOWJG
SlhILzF4S1QxdWNYUHY1WC9kTmx2ZkR4ZFBrbUhRY0JBZ1FJRUNCQWdNRGpKVERyRVpESGE0ZlR0
eE5YdUlxYgorTVZkd3kwRUNCQWdRSUFBQVFJRUNEeTlCY1llUUo3ZXZJNk9BQUVDQkFnUUlFQ0FB
SUZSZ1Jrdnd6dGE3RGtCQWdRSUVDQkFnQUFCCkFnUXlBZ0pJUms4dkFRSUVDQkFnUUlBQUFRSk5B
Z0pJRTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJUms4dkFRSUVDQkFnUUlBQUFRSk4KQWdKSUU1ZGlB
Z1FJRUNCQWdBQUJBZ1F5QWdKSVJrOHZBUUlFQ0JBZ1FJQUFBUUpOQWdKSUU1ZGlBZ1FJRUNCQWdB
QUJBZ1F5QWdKSQpSazh2QVFJRUNCQWdRSUFBQVFKTkFnSklFNWRpQWdRSUVDQkFnQUFCQWdReUFn
SklSazh2QVFJRUNCQWdRSUFBQVFKTkFnSklFNWRpCkFnUUlFQ0JBZ0FBQkFnUXlBZ0pJUms4dkFR
SUVDQkFnUUlBQUFRSk5BZ0pJRTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJUms4dkFRSUUKQ0JBZ1FJ
QUFBUUpOQWdKSUU1ZGlBZ1FJRUNCQWdBQUJBZ1F5QWdKSVJrOHZBUUlFQ0JBZ1FJQUFBUUpOQWdK
SUU1ZGlBZ1FJRUNCQQpnQUFCQWdReUFnSklSazh2QVFJRUNCQWdRSUFBQVFKTkFnSklFNWRpQWdR
SUVDQkFnQUFCQWdReUFnSklSazh2QVFJRUNCQWdRSUFBCkFRSk5BZ0pJRTVkaUFnUUlFQ0JBZ0FB
QkFnUXlBZ0pJUms4dkFRSUVDQkFnUUlBQUFRSk5BZ0pJRTVkaUFnUUlFQ0JBZ0FBQkFnUXkKQWdK
SVJrOHZBUUlFQ0JBZ1FJQUFBUUpOQWdKSUU1ZGlBZ1FJRUNCQWdBQUJBZ1F5QWdKSVJrOHZBUUlF
Q0JBZ1FJQUFBUUpOQWdKSQpFNWRpQWdRSUVDQkFnQUFCQWdReUFnSklSazh2QVFJRUNCQWdRSUFB
QVFKTkFnSklFNWRpQWdRSUVDQkFnQUFCQWdReUFnSklSazh2CkFRSUVDQkFnUUlBQUFRSk5BZ0pJ
RTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJUms4dkFRSUVDQkFnUUlBQUFRSk5BZ0pJRTVkaUFnUUkK
RUNCQWdBQUJBZ1F5QWdKSVJrOHZBUUlFQ0JBZ1FJQUFBUUpOQWdKSUU1ZGlBZ1FJRUNCQWdBQUJB
Z1F5QWdKSVJrOHZBUUlFQ0JBZwpRSUFBQVFKTkFnSklFNWRpQWdRSUVDQkFnQUFCQWdReUFnSklS
azh2QVFJRUNCQWdRSUFBQVFKTkFnSklFNWRpQWdRSUVDQkFnQUFCCkFnUXlBZ0pJUms4dkFRSUVD
QkFnUUlBQUFRSk5BZ0pJRTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJUms4dkFRSUVDQkFnUUlBQUFR
Sk4KQWdKSUU1ZGlBZ1FJRUNCQWdBQUJBZ1F5QWdKSVJrOHZBUUlFQ0JBZ1FJQUFBUUpOQWdKSUU1
ZGlBZ1FJRUNCQWdBQUJBZ1F5QWdKSQpSazh2QVFJRUNCQWdRSUFBQVFKTkFnSklFNWRpQWdRSUVD
QkFnQUFCQWdReUFnSklSazh2QVFJRUNCQWdRSUFBQVFKTkFnSklFNWRpCkFnUUlFQ0JBZ0FBQkFn
UXlBZ0pJUms4dkFRSUVDQkFnUUlBQUFRSk5BZ0pJRTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJUms4
dkFRSUUKQ0JBZ1FJQUFBUUpOQWdKSUU1ZGlBZ1FJRUNCQWdBQUJBZ1F5QWdKSVJrOHZBZHAwN01N
QUFBc0tTVVJCVkFJRUNCQWdRSUFBQVFKTgpBZ0pJRTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJUms4
dkFRSUVDQkFnUUlBQUFRSk5BZ0pJRTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJClJrOHZBUUlFQ0JB
Z1FJQUFBUUpOQWdKSUU1ZGlBZ1FJRUNCQWdBQUJBZ1F5QWdKSVJrOHZBUUlFQ0JBZ1FJQUFBUUpO
QWdKSUU1ZGkKQWdRSUVDQkFnQUFCQWdReUFnSklSazh2QVFJRUNCQWdRSUFBQVFKTkFnSklFNWRp
QWdRSUVDQkFnQUFCQWdReUFnSklSazh2QVFJRQpDQkFnUUlBQUFRSk5BZ0pJRTVkaUFnUUlFQ0JB
Z0FBQkFnUXlBZ0pJUms4dkFRSUVDQkFnUUlBQUFRSk5BZ0pJRTVkaUFnUUlFQ0JBCmdBQUJBZ1F5
QWdKSVJrOHZBUUlFQ0JBZ1FJQUFBUUpOQWdKSUU1ZGlBZ1FJRUNCQWdBQUJBZ1F5QWdKSVJrOHZB
UUlFQ0JBZ1FJQUEKQVFKTkFnSklFNWRpQWdRSUVDQkFnQUFCQWdReUFnSklSazh2QVFJRUNCQWdR
SUFBQVFKTkFnSklFNWRpQWdRSUVDQkFnQUFCQWdReQpBZ0pJUms4dkFRSUVDQkFnUUlBQUFRSk5B
Z0pJRTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJUms4dkFRSUVDQkFnUUlBQUFRSk5BZ0pJCkU1ZGlB
Z1FJRUNCQWdBQUJBZ1F5QWdKSVJrOHZBUUlFQ0JBZ1FJQUFBUUpOQWdKSUU1ZGlBZ1FJRUNCQWdB
QUJBZ1F5QWdKSVJrOHYKQVFJRUNCQWdRSUFBQVFKTkFnSklFNWRpQWdRSUVDQkFnQUFCQWdReUFn
SklSazh2QVFJRUNCQWdRSUFBQVFKTkFnSklFNWRpQWdRSQpFQ0JBZ0FBQkFnUXlBZ0pJUms4dkFR
SUVDQkFnUUlBQUFRSk5BZ0pJRTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJUms4dkFRSUVDQkFnClFJ
QUFBUUpOQWdKSUU1ZGlBZ1FJRUNCQWdBQUJBZ1F5QWdKSVJrOHZBUUlFQ0JBZ1FJQUFBUUpOQWdK
SUU1ZGlBZ1FJRUNCQWdBQUIKQWdReUFnSklSazh2QVFJRUNCQWdRSUFBQVFKTkFnSklFNWRpQWdR
SUVDQkFnQUFCQWdReUFnSklSazh2QVFJRUNCQWdRSUFBQVFKTgpBZ0pJRTVkaUFnUUlFQ0JBZ0FB
QkFnUXlBZ0pJUms4dkFRSUVDQkFnUUlBQUFRSk5BZ0pJRTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJ
ClJrOHZBUUlFQ0JBZ1FJQUFBUUpOQWdKSUU1ZGlBZ1FJRUNCQWdBQUJBZ1F5QWdKSVJrOHZBUUlF
Q0JBZ1FJQUFBUUpOQWdKSUU1ZGkKQWdRSUVDQkFnQUFCQWdReUFnSklSazh2QVFJRUNCQWdRSUFB
QVFKTkFnSklFNWRpQWdRSUVDQkFnQUFCQWdReUFnSklSazh2QVFJRQpDQkFnUUlBQUFRSk5BZ0pJ
RTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJUms4dkFRSUVDQkFnUUlBQUFRSk5BZ0pJRTVkaUFnUUlF
Q0JBCmdBQUJBZ1F5QWdKSVJrOHZBUUlFQ0JBZ1FJQUFBUUpOQWdKSUU1ZGlBZ1FJRUNCQWdBQUJB
Z1F5QWdKSVJrOHZBUUlFQ0JBZ1FJQUEKQVFKTkFnSklFNWRpQWdRSUVDQkFnQUFCQWdReUFnSklS
azh2QVFJRUNCQWdRSUFBQVFKTkFnSklFNWRpQWdRSUVDQkFnQUFCQWdReQpBZ0pJUms4dkFRSUVD
QkFnUUlBQUFRSk5BZ0pJRTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJUms4dkFRSUVDQkFnUUlBQUFR
Sk5BZ0pJCkU1ZGlBZ1FJRUNCQWdBQUJBZ1F5QWdKSVJrOHZBUUlFQ0JBZ1FJQUFBUUpOQWdKSUU1
ZGlBZ1FJRUNCQWdBQUJBZ1F5QWdKSVJrOHYKQVFJRUNCQWdRSUFBQVFKTkFnSklFNWRpQWdRSUVD
QkFnQUFCQWdReUFnSklSazh2QVFJRUNCQWdRSUFBQVFKTkFnSklFNWRpQWdRSQpFQ0JBZ0FBQkFn
UXlBZ0pJUms4dkFRSUVDQkFnUUlBQUFRSk5BZ0pJRTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJUms4
dkFRSUVDQkFnClFJQUFBUUpOQWdKSUU1ZGlBZ1FJRUNCQWdBQUJBZ1F5QWdKSVJrOHZBUUlFQ0JB
Z1FJQUFBUUpOQWdKSUU1ZGlBZ1FJRUNCQWdBQUIKQWdReUFnSklSazh2QVFJRUNCQWdRSUFBQVFK
TkFnSklFNWRpQWdRSUVDQkFnQUFCQWdReUFnSklSazh2QVFJRUNCQWdRSUFBQVFKTgpBZ0pJRTVk
aUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJUms4dkFRSUVDQkFnUUlBQUFRSk5BZ0pJRTVkaUFnUUlFQ0JB
Z0FBQkFnUXlBZ0pJClJrOHZBUUlFQ0JBZ1FJQUFBUUpOQWdKSUU1ZGlBZ1FJRUNCQWdBQUJBZ1F5
QWdKSVJrOHZBUUlFQ0JBZ1FJQUFBUUpOQWdKSUU1ZGkKQWdRSUVDQkFnQUFCQWdReUFnSklSazh2
QVFJRUNCQWdRSUFBQVFKTkFnSklFNWRpQWdRSUVDQkFnQUFCQWdReUFnSklSazh2QVFJRQpDQkFn
UUlBQUFRSk5BZ0pJRTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJUms4dkFRSUVDQkFnUUlBQUFRSk5B
Z0pJRTVkaUFnUUlFQ0JBCmdBQUJBZ1F5QWdKSVJrOHZBUUlFQ0JBZ1FJQUFBUUpOQWdKSUU1ZGlB
Z1FJRUNCQWdBQUJBZ1F5QWdKSVJrOHZBUUlFQ0JBZ1FJQUEKQVFKTkFnSklFNWRpQWdRSUVDQkFn
QUFCQWdReUFnSklSazh2QVFJRUNCQWdRSUFBQVFKTkFnSklFNWRpQWdRSUVDQkFnQUFCQWdReQpB
Z0pJUms4dkFRSUVDQkFnUUlBQUFRSk5BZ0pJRTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJUms4dkFR
SUVDQkFnUUlBQUFRSk5BZ0pJCkU1ZGlBZ1FJRUNCQWdBQUJBZ1F5QWdKSVJrOHZBUUlFQ0JBZ1FJ
QUFBUUpOQWdKSUU1ZGlBZ1FJRUNCQWdBQUJBZ1F5QWdKSVJrOHYKQVFJRUNCQWdRSUFBQVFKTkFn
SklFNWRpQWdRSUVDQkFnQUFCQWdReUFnSklSazh2QVFJRUNCQWdRSUFBQVFKTkFnSklFNWRpQWdR
SQpFQ0JBZ0FBQkFnUXlBZ0pJUms4dkFRSUVDQkFnUUlBQUFRSk5BZ0pJRTVkaUFnUUlFQ0JBZ0FB
QkFnUXlBZ0pJUms4dkFRSUVDQkFnClFJQUFBUUpOQWdKSUU1ZGlBZ1FJRUNCQWdBQUJBZ1F5QWdK
SVJrOHZBUUlFQ0JBZ1FJQUFBUUpOQWdKSUU1ZGlBZ1FJRUNCQWdBQUIKQWdReUFnSklSazh2QVFJ
RUNCQWdRSUFBQVFKTkFnSklFNWRpQWdRSUVDQkFnQUFCQWdReUFnSklSazh2QVFJRUNCQWdRSUFB
QVFKTgpBZ0pJRTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJUms4dkFRSUVDQkFnUUlBQUFRSk5BZ0pJ
RTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJClJrOHZBUUlFQ0JBZ1FJQUFBUUpOQWdKSUU1ZGlBZ1FJ
RUNCQWdBQUJBZ1F5QWdKSVJrOHZBUUlFQ0JBZ1FJQUFBUUpOQWdKSUU1ZGkKQWdRSUVDQkFnQUFC
QWdReUFnSklSazh2QVFJRUNCQWdRSUFBQVFKTkFnSklFNWRpQWdRSUVDQkFnQUFCQWdReUFnSklS
azh2QVFJRQpDQkFnUUlBQUFRSk5BZ0pJRTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJUms4dkFRSUVD
QkFnUUlBQUFRSk5BZ0pJRTVkaUFnUUlFQ0JBCmdBQUJBZ1F5QWdKSVJrOHZBUUlFQ0JBZ1FJQUFB
UUpOQWdKSUU1ZGlBZ1FJRUNCQWdBQUJBZ1F5QWdKSVJrOHZBUUlFQ0JBZ1FJQUEKQVFKTkFnSklF
NWRpQWdRSUVDQkFnQUFCQWdReUFnSklSazh2QVFJRUNCQWdRSUFBQVFKTkFnSklFNWRpQWdRSUVD
QkFnQUFCQWdReQpBZ0pJUms4dkFRSUVDQkFnUUlBQUFRSk5BZ0pJRTVkaUFnUUlFQ0JBZ0FBQkFn
UXlBZ0pJUms4dkFRSUVDQkFnUUlBQUFRSk5BZ0pJCkU1ZGlBZ1FJRUNCQWdBQUJBZ1F5QWdKSVJr
OHZBUUlFQ0JBZ1FJQUFBUUpOQWdKSUU1ZGlBZ1FJRUNCQWdBQUJBZ1F5QWdKSVJrOHYKQVFJRUNC
QWdRSUFBQVFKTkFnSklFNWRpQWdRSUVDQkFnQUFCQWdReUFnSklSazh2QVFJRUNCQWdRSUFBQVFK
TkFnSklFNWRpQWdRSQpFQ0JBZ0FBQkFnUXlBZ0pJUms4dkFRSUVDQkFnUUlBQUFRSk5BZ0pJRTVk
aUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJUms4dkFRSUVDQkFnClFJQUFBUUpOQWdKSUU1ZGlBZ1FJRUNC
QWdBQUJBZ1F5QWdKSVJrOHZBUUlFQ0JBZ1FJQUFBUUpOQWdKSUU1ZGlBZ1FJRUNCQWdBQUIKQWdR
eUFnSklSazh2QVFJRUNCQWdRSUFBQVFKTkFnSklFNWRpQWdRSUVDQkFnQUFCQWdReUFnSklSazh2
QVFJRUNCQWdRSUFBQVFKTgpBZ0pJRTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJUms4dkFRSUVDQkFn
UUlBQUFRSk5BZ0pJRTVkaUFnUUlFQ0JBZ0FBQkFnUXlBZ0pJClJrOHZBUUlFQ0JBZ1FJQUFBUUpO
QXY4SEJrNktUM0hrai93QUFBQUFTVVZPUks1Q1lJST0KCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1saXN0Ym94LWV4cGVjdGVkLnBu
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBl
Lgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFB
QUFKWUNBWUFBQUNhZG9Kd0FBQUM3bWxEUTFCSlEwTWdVSEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVV
L2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9SRmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xp
T1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZwRktONnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3
MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVKcQovSWdBanFJSlFUUWxWZHZzVGlRR1FZTnor
WHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9IaFAxQTRFZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4
M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVBMUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25O
ZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZyWXFHY1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAw
YTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FWdHhxcAorRFhDRkY4UVRTZWlWSEhaTGczeG1L
NzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUrTHFIQlgwbTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcw
WGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNHUEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdK
RXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFDSkw4UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJy
eTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhSNWFzZVhxOAptdXdhUCt4WGx6SG1naldQeEhP
dysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdqRTMzNTlzZnpzOTRpN1BMclhXYzYySml6ZFdtNWRu
Ci9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlLVEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNI
Q0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAxdDR2VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtP
Yi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUzSHZFS0ZscFc1egpyZ0lYdjlGOThMWnVhNk4r
T1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVncG1OT1dsczA1VW9jc241TzY2Y3BpVXN4UTIwTlNV
dGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtU
aHJXZ1pmNmI4QzgvVVhBZUl1SkFBQWcKQUVsRVFWUjRBZXpkQjV3VVJkckg4UWNGQkZTQ2dncUNn
SXBpd0VRVTlVeVlRQlN6dmlaQUR6M1AxNENZMEROZ1ZsRDBUZ3lubnZITQppcWlZTVo0UmhUc0Rv
R0lPaUtnZ0tDaEl2L1d2OTJyc2JXWjZaamJPN3Y3cTg0R1o3cTZ1cnY1MjcrNDhVNkViUkM0WkNR
RUVFRUFBCkFRUVFRQUFCQkJDb0JvSGxxdUVZSEFJQkJCQkFBQUVFRUVBQUFRUVE4QUlFSU53SUND
Q0FBQUlJSUlBQUFnZ2dVRzBDQkNEVlJzMkIKRUVBQUFRUVFRQUFCQkJCQWdBQ0Vld0FCQkJCQUFB
RUVFRUFBQVFTcVRZQUFwTnFvT1JBQ0NDQ0FBQUlJSUlBQUFnZ1FnSEFQSUlBQQpBZ2dnZ0FBQ0ND
Q0FRTFVKRUlCVUd6VUhRZ0FCQkJCQUFBRUVFRUFBQVFJUTdnRUVFRUFBQVFRUVFBQUJCQkNvTmdF
Q2tHcWo1a0FJCklJQUFBZ2dnZ0FBQ0NDQlFxUUhJZ2dVTDdQUFBQOCtwK3QxMzM5a0hIM3lRYzN0
dDJKRHZIQ3R5RGlyN3l5Ky96RmxFUHIvZmZ2dk4KcGsrZm50ay9YLzVNeGtwNFU1M0grdVdYWCt6
bGwxK3VoRnBYdklqcVBPK0sxN1o4SlpTU2Q3WXpTTjczMmZKVTFycDh4NnJvL1pDMApybWg1NGJ6
ei9XNEorZXJMYTlLNXZwdzM1NGtBQWdpVWlrRGVBR1QzM1hlM1ZxMWEyYTY3N21yNzc3Ky9MYi84
OHRhNWMyZmJkOTk5CmJldXR0L2JMdDk1NnEvM3puLyswMVZkZjNXNjc3YmFjNTNiV1dXZlpvRUdE
Y200djlRMkZuR041eitHNjY2NnpWVmRkMWU2OTk5NmMKUmFUNXZmSEdHN2JaWnB2WnNHSERNdnVu
NWM5a3FxUTMxWFdzMTE1N3pYcjA2R0Y3NzcxM0pkVzhZc1ZVMTNsWHJKYmwzN3ZVdkpObgprdTIr
VCthcHJPVkNqbFdSK3lHYmRVWEtDK2RkeU8rV2tMYyt2R1p6cmcvbnpUa2lnQUFDcFNTUU53Qlp2
SGl4dmZYV1cvYjQ0NC9iClBmZmNZNDBiTjdidHR0dk83cnZ2UG52cHBaZnNzc3N1czBXTEZ0bi8v
TS8vV01lT0hWUFBiZFNvVVRaKy9QalVQTmsyNnR1cVo1OTkKTnR1bWd0ZVZ0NHo0Zm9XY1kxcUY0
bVVsOHgxMTFGRSswRXV1ankrbitmWHMyZE5mbDBhTkdtVjJTY3VmeVZUT044bHpxY3BqeGF2WQp1
M2R2R3p4NGNIelZNdStUZFZzbVF4RXI4cFZWWGVkZFJKVXJuRFYrem9WNFYvaUFGU2dnMjMxZmdl
SlNkeTNrV0JXNUg3SlpGMXBlCi9Kb2xUNktRM3kzSmZVcDVPZTFjQzZsM051ZEM5aU1QQWdnZ2dF
RGxDZVFOUUlZUEgrNWJQSElkVW4vY050cG9JNzlaSDM0Yk5HaVEKSzZ2L2hyOUxseTdMYkkraWFK
bDFZWVVDb0VNUFBkUmVmUEhGc0txZzEzaVphV1hFOHlVTHpyWmZ2bk1NWlN4WnNpUzg5YS9aeWlx
VAp3UzNrSzFzdEpObjhsaTVkNm90cTJMQ2hMYmZjNzVjMFYvN2tjWXRkem5ZdVZYV3NwS1BxcWlB
NDEzMldyVzdGbmwvSVgwaFp1YzQ3CjdiNEs1WmZpYTdaelR2T3V5WFBJZGQ5WFJaMEtQVmF1KzZI
UU9pV3RjNVVYdjcreVhiUGs4Zkw5YmtubUw5WGxRczYxa0xvbm5jTSsKY2Rld2psY0VFRUFBZ2Nv
WGFKaXZ5RjEyMlNVMXk0b3JybWhiYmJWVkpvLytVS3Zid00wMzMyek5temUzaHg5KzJBY3dYMy85
dGUrZQo5ZUNERDlvcnI3emk4OTk5OTkzMi9mZmYyNDgvL21nUFBmUlExbjc5WThlT3RRa1RKdGlI
SDM1b00yZk90SEhqeHBuNk0xOXl5U1gyCjVwdHYrdmRYWDMyMTllblRKMmVaMmNwNDVKRkh5blZz
SFNUWE9XcmJNODg4WTVNblQvWWZrSFZPNnY2dzhjWWJXN1k2eUM2WmZ2NzUKWnhzeFlvUzNhdCsr
dmQxKysrMjJ3UVliV0RhL2tIZU5OZGF3cjc3Nnl0NTk5MTFyMHFTSkx6S1pYNjFZcWt1Yk5tMnNh
ZE9tdmo2UApQdnFvYjdYS1pibHc0VUk3Ly96ei9YWFUvdm9HV0hWTG5vdXU5LzMzMzIveGE2dHJk
TnBwcDlrS0s2emdyOXRhYTYzbHI1bU9yZFlzCjFVWG5wM083OE1JTGZmRDEyR09QWllMZFhJNUpy
K1J5c201cDk0dnVuOU5QUDkyUHU5RTl0UExLSzl2UW9VTk5RZmZoaHgrK3pIbXEKclBnMVN4cXJM
b1hjMDhxWHkxYmIwdXl5WGNjeFk4Yll2LzcxcnlxNXRqcm5lRkkzeEFzdXVNQTZkZXBrT203WHJs
M3Q3YmZmOWwzLwpkQjIzMzM3N2VIYmZlbHJNZlZmSXZaRjIzK3ZnMzN6elRkYmZEOW5zOHYwTTVE
dFcvR1NUOTBNaDV4TGZQL2srV1o2Mlo3dS9zdDN6CjhmczBsQnZPUmQxazQ3OWJ0RDN0bnN2M2N4
TEtqNytXOS83T1o1WThWM1U1VlJmZzVPKzFEVGZjTU9mdm4zZzl3L3Rzcm1FYnJ3Z2cKZ0FBQ1ZT
RGd2dkVwS3JrUHVKSHJBcE4xbjAwMjJTVGFkTk5ObzZlZmZqcHlnOUVqOStFa092TElJMzNlMmJO
blIwY2ZmWFRVdW5Wcgp2K3kreVlwY1gvNU1PU2VlZUdMa0JuaG1sdU52M0llZHlIMjQ4YXZjTitM
UmJydnRGcm1neGVkM0xUQ1IrK01UL2ZEREQxRmFtZkV5CjB2TEZqNnYzOGYyMG5IYU9ybXRBdE9h
YWEwYVRKazFTMXVpY2M4Nko5dGxuSC85ZS95WEx5bXo0N3h2M29TQnlyVW1SQzdoOEdjcS8KOXRw
cisvTksrbW1YQVFNR1JIZmRkWmZmVzNidDJyV0xkdHBwSjcrY3pPK0N2c2lONVluY09KSElkWitM
NURadDJyU2NsaXJFamZ1Sgp0SitTQzZyVVRCVzVEeU4rT1g0dXlXTXB3eC8rOElmSWZURHdlWC85
OWRlb1Y2OWVrUnRQNUpkbnpab1ZyYmZlZXY3K2NBRnE5TWtuCm4wVHJyNzkrOU1jLy90RnZ6K2Q0
MVZWWFJTN284bm16L1Jldlc5cjlvbjExcitxOFhQQVRUWnc0TWJyODhzdkxGQmt2cTh3R3Q1QTgK
NzJMdXF6VGJOTHRzMTlGMWpheXlhNnR6VG5xcmZ2MzY5Y3R3eURoK24yYzJ1RGZaNnB0MjMrVzdO
MVIyMm4yZmRyMkxyVXUrWTJsNwpQQ1h2aDBMT0piNi8zc2V0aytXbDNWOXA5Nm5LVGZ2ZG91MXA5
NXkyNS9zNVVaNTRLdS85WFloWi9GeXpYZFAzMzM4LzcvbkVuZE5jCjQrZkVld1FRUUFDQnloUDR2
YjlPSlFVM0dyUys0NDQ3K20vWTlHMW9tSlZKMzFCMTY5Yk5YTlg5a2ViT25XdFRwMDQxOTZIUEw3
c1AKbjVsdDJhb1N1dHhvSElyS1VKY3NqVXRwMjdhdGZmdnR0L2JDQ3k5WXZqSkRHZm55Slk4Zjln
dnJjNTJqdWpsb2NMUUx3bnhXZFo5dwpIN2JDYnY0MVdWYVpqVzdoc01NT3M0RURCL3B2a2krKytH
TDc2S09QelAzeDk5L3d4ZjFlZmZWVmJ4ZGFxTlQxcW4vLy9wbmlrdDVxCklkSzMxV3B4Y0I4Vzdk
cHJyN1VwVTZia3RIUkJsTit1L3RKSzNidDM5L3ZFeC9tRWMwa2VTOWRGNDRNT1BQQkF2NjljMUxL
Z1ZpZjMKZ2NGUFZyRE9PdXY0KzBHV0tuT0hIWGF3R1RObVpQTG5jL1FaVS80TGRVdTdYN1M3N3RV
RERqakFSbzRjNlZ1ZGpqdnV1R1ZLRFdVbApOeVRQdTlEN0tzMDJuMTIyNjdqZmZ2dFYyYlZObnJP
VzNaY0Z2cVh2NDQ4LzlwdDFyZDJYQXRteStwYkpZdTQ3VFdTUmRtL2t1Ky9UCnJuYzJ1N1NmZ1h6
SFNwNXc4bjdJZHk3Si9aUEx5Zkx5M1YrNTd0TlFicTdmTGZudU9lMWZ5TTlKT0U1Rjd1OUN6Y0s1
WnJ1bWFpbFAKKy8wVDZobGU4N21HZkx3aWdBQUNDRlNlUUtVSElPRVBnNnFvMmJQVXRCK1N0b1h0
cmlYRWYxalhoKzAvLy9uUDVyN1Y4ak5xaGJ6SgoxN0NmUHNEcWc3MzY4T3FmdW44OTlkUlQvZ055
dmpKREdmbnk1VHAyV0IvSzBYTDhITFhlZmJQbUF5RjFhM3IrK2VkdC92ejVZVGYvCkd0KzN6SWIv
THJSbzBTS3pXbjljbGNMVXhkbzM3UC9jYzgvNUQ1MHRXN2JNNUY5cHBaVXkyN1V5bmwvTDZ2NmtE
elVocFZrcW9PdmIKdDIrWjhqVGVSL1loaGJwb09YNnMxMTkvM1I5SGdVZElyZ1hFdjlVSFBxVjRm
aTJyKzVNbU0xRFN0bnlPUG1QS2Y2RnVhZWNZZGg4OQplclM1YjAzOVBhUlozcElwbEpWY3IrWDRl
UlI2WDZYWkZtS1h2STZxUjNKZDJubW5IVjlsS2FXZHMzNW1PM1RvWU5kZmY3M1BxOEJTClFXMnVW
RXpkVkViY1ZNdnhleVBmZlo5MjNpcXJtTHJrTzViS1M2WmszWlBMOFhOSjdwdHRPYjUvdnZ0TGVk
TlNydDh0aGR4ektqZmYKejBrNGR0cjlWY2l4NHVlc01yT1p4YzgxZVUwTE9VYW9xMTd6dWNiejho
NEJCQkJBb0hJRThvNEJxWnpEWkM5Ri9jbGR0eUc3OHNvcgpmVi94SjU1NHdvODN5Sjc3LzlmT21U
UEhOTmphZFFISm1xM1FNZ3ZObC9VZ0tTdlYzMTNmdnQxMDAwMTJ3dzAzbVA0WWxqZXBaVUIvCmZQ
VXZtYjc0NGd1VFJUTEYvekFudHlXWDB5elZqLzZkZDk1SjdsTFFzdnFhcTJ3Rm53cUtsTlI2byt2
MjAwOC9GVlJHWlRtbW5XT28KaUFJbEJXYVhYbnFwSFhIRUVSWVA2a0tlUWw4THVhL1NiQ3ZEVG5W
Tk8rKzA0eGR5bmdyUy92U25QL2t4TXVlZWU2NGZ6MUtNV1ZyZAo4aDAvMzMxZmJObHArZk1kSzE5
ZHEySjdJZmRYSWNlTi8yN1JzNGZra08vbnRkQ2ZrN1Q3cTdMdTc3UnpMTTh4S3NzMXJWNXNRd0FC
CkJCRDRYYURTVzBCK0x6cjluZXZyYTY2UHMxMXh4UlcrSzVVR3NycnhERGwzQ2grc083dG5rS2pG
STN4YnJoM1VKVXZmVnVZck01U1IKTDEreUVtRy81UHJrOG52dnZXZkhISE9NLzZZdy91MS9QRito
WldrZkRTeFhDOHJtbTI4ZUw4Sy9WK0Ntcm1mNjVyNjhLYzFTSDFEVQo4cUx1RENISk9iUmdhRjJ1
YzFHWEd6MndUYzlOQ0VuWDJ2WFA5MTNBd3JwY3I0VTQ1dG8zckE5MVN6dkhrUGN2Zi9tTDc4Nm1m
ZlErCm1VSlp5ZlhKNVVMdnF6VGJpdHFGT3FXZGQ5cnh3Lzc1enRtTjdmSXRmZXE2dHMwMjI0VGRD
bnBOcTF1K0F2TGQ5OFdXblpZLzM3SHkKMWJXeXQrZTd2L0pkczNoOTRyOWJDcjNuOHYyY2hQTFQ3
cTlDanhYS3l2V2FkcTdGSGlPZmE2NDZzQjRCQkJCQW9Qd0NSUVVnbXYzSgpEU2oyczBkbE82Uytl
ZEsva0RRVGl2NkZwRzFhMWdkWlBlRlhNNDhvN2J6enpyYm5ubnRtdmkwUCtjT3J2bDNWdDVGS0dq
T2diOWpVCkhjZ05QUGRCak9iSzEvUzBhV1hHeTlDNGl2SWNXOGRMTzBlTjk1Q1JQa0RyQTdpNllD
bFEwdm5xWDd3T0tpdGIwbjRocVMrMUh0d1kKeHBURS9UUnVRUzBLR3NzUmtzYmI2SnZNVUVZOHYv
SW9BSWhmajRNUFBqaW5wY3JYakZwRGhneng0MWgwYnFlY2NvcnZlcU95a3VjUwpQNWJHSkdpV0hR
V0tJV2xtTUgwdzBBTXRsWFFmeVNvazdSL3FuYzlSKzdxQm8ySFhaVjdqZFV1N1g3U2orci9yM3RI
WUdIV2J1K2FhCmE4b0VXZkd5c2wyeitIbW4zWC94U3FiWkZtS1h2STRxTzdtdU1xOXRObTkxVzlF
WUgzWERVcGVzdEZSTTNWUk8ycjJSNzc1UE8yK1YKWFV4ZDhoMUw1U1ZUL0g3UXRyUnpTZTRiOHNm
djdYaDVhZmRYdnZ0VVpZZWZMNzJQLzI0cDVKN0w5M09pTWtPcTZQMmR6eXg1cnNscgpXc2o1eE8v
cE5GYzljMFN6dTRXL1ArRWNlVVVBQVFRUXFLQ0ErMkJjVUhMZGNmek1TZTV3a2V0TEhMa3BPS041
OCtabDl0WE1TbTRnCmRPU21QNHpjdCtTUm0vSXljaC9xSXZjaDJjL3E1SjQrRzIyNTVaWit4aUhY
NnVIenVNR21rZXRxRTducGFpUFhjdUJuZThvVUdIdmoKdm1XTjNEZGVrUnZJSExuZ0kzSWZFaU0z
dmF0ZjU3ck9SRzc2VjU5YmRjeFZacndNRnhqa3pCYzdySDhiMysvR0cyOU1QVWZYdmNqUApNdVc2
SFVYdWczdmtwdmlNbWpWckZoMXl5Q0dSWm5hS2w2WHpTS2F6eno0N2NsMlZJamY0UExyb29vdWk0
NDgvM3MvMnBYeEpQNVYzCnh4MTNSSzU3bG5kMlQ2bVAzQWZCeUkzYjhPdVQrVys1NVpiSVRjMFp1
VUg3a1F1K01vZk9aYWtNY3BXdnJybjdWak55WGNzeSs4WFAKUlROSXhhK3Q2cWJycjN2QlBhalN6
eTdsUHF6NldiZFVnUHpkaHdnL2E1ZnJzeCs1eVFpaWRkZGQxMS9USjU5OE1rcHpWQjNjZ0hoZgpK
emRGckhmTlZPcS9iK0oxUzd0ZjNJY3dQNXVXanEva0FzZklkUytLM0xmaTNsdnJrbVZwWFVoSlk5
MzN1ZTYvc0U5NFRiTk5zOU0xClQxN0hiT3Qwbk1xNnRybThkUjNkd3puREtXVjlMYlp1K2U0TkhT
VHR2dGYyWE9kZGJGMEtPWmJ5aEpTOEh6UnpWTnA5SHZZTHI5by8KYnExN1BmNXpsWFovcGQybktq
L3RkNHUycDkxemhmeWNxSXg0S3UvOVhjajFqNStyZmdja2Z4NVVqN1R6U1RxbnVlcDNndjcyNlBj
bgpDUUVFRUVDZzhnUWFxS2dLeGpEbDJsM2ZmbXZtSnMxQW91NUsyZWF0anhlc2IvYjFyV3RJK2di
TFRmWHJaMUJTUzRCU3ZqSkRHZm55CmhXT0UxN0JmV003M3FsWUdEWXhVMHJlWjhlNVloWlNsTGdF
NjEzQmVhY2ZUdDVyNlpsNzUxZG9TbmdPU3RrOXlXemJMa0VlM2g3cFAKYVhhYVpNcDNMdHBYejIv
UmRkYk1Sc1dtTk1kOFpTWHJsbmFPeFphVkszK3g5MVdhYlVYdFFoM1R6anZ0K0VtL1VGNzhWYTBm
bmR6awpFV3JCTEU5S3ExdSs4dkxkOThXV25aWS8zN0h5MWJXeXR1ZTd2d3E1Wm1tL1d5cnJuZ3Zu
bTNaL1ZmUlloWnhyb2NmSTU2cXVydkhKCk84TDU4WW9BQWdnZ1VINkJHZ3RBeWw5bDlrUUFnWm9V
MExna1BXQlMzWjAwN1cxYWYveWFyQ2ZIUmdBQkJCQkFBSUhTRkNocURFaHAKbmdLMVFnQ0I2aExR
azlFMW5hdGF0UFRzSG9LUDZwTG5PQWdnZ0FBQ0NOUWRnUnFkaHJmdU1ISW1DTlFQQVEwOFY5Q2hT
U00wU3hRSgpBUVFRUUFBQkJCQW9Wb0F1V01XS2tSOEJCQkJBQUFFRUVFQUFBUVRLTFVBWHJITFRz
U01DQ0NDQUFBSUlJSUFBQWdnVUsxQ3BBWWllCnBLdVpxVW9sYWZZYVBSdWp1cE5tamRJOCs5OS8v
MzNlUTVlYVdkNEsvemVENnEwbktKY25hVzc5bDE5K3VUeTdsc3creFY2MzVEbnIKMlFONjBHTkZV
MFd1UTBXUEhkKy9XSS80dm9XOFQvb2w5Nm1wbi9Wa1BaTExGWFdwNlA3SitsUjB1YWFjYTlQdjFI
ejNhbm12UVNrOAppNlN5Zm0rVjE0RDlFRUNnN2dqa0RVRDBJTGRXclZyNUI4aTVaMDJZZTA2QzZl
bkIrKzY3cjIyOTlkWisrZFpiYjdWLy92T2ZmcXJXCjIyNjdyU1IwOUJUdXpUYmJ6SVlORzFhdDlk
SFVwSHFpdTV2UDNqYmFhQ1BUSDZOY3FkVE1jdFV6dWQ0OXU4VldYWFZWdS9mZWU1T2IKOGk2N09m
aXRSNDhldHZmZWUrZk5XNm9aaXIxdTJjNzVyTFBPOGcrWnJNZzVWdVE2Vk9TNHlYMkw5VWp1bjI4
NW0xOThuNXI2V1kvWApJZHY3aXJwVWRQOXNkYXJJdXBweXJrMi9VL1BkcStYMTE4TlpOOTU0NC9M
dVhtbjdWY2J2clVxckRBVWhnRUN0RnNnYmdPZzVGdTZoClR2NkowWnB5czNIanhyYmRkdHVaZS9D
Z3VRZGxtWHZRbkgvK2hIc2dtWDhtUjZsbzlPelowOWN6L2d5T3FxNmJlNENlRFI4KzNJNDkKOWxn
Nzk5eHo3Zjc3Ny9mVGxjYVBxNERrMldlZjlhc3EyeXhlZHZ5WTVYbWZWcGFlUXErZ3REeXBkKy9l
Tm5qdzRQTHNXakw3Rkh2ZApzcDN6cUZHamJQejQ4WG5QcWFxdVE5NERGNUdoV0k4aWl2WlpzL25G
eTZqdW4vVzBheEt2VjNsYzRtV1haLy80OFN2N2ZYVTdxLzQxCi9UdTFXTU44OTJveDVjWHZoVlZX
V2FYY3YzT0xPV1l5Yjd3TzJsYm83NjFrT1lVdUo0OVg2SDdaOGxWbVdkbktaeDBDQ0ZSTUlHOEEK
b2cvVWF2SElsZlJoVk4vMEsrbkRmaWxNeTZrSFN5bnBRWDU2Q0Y1MXBiZmZmdHYwUUxOd1RQZFU4
aktIVmpCMzZLR0gyb3N2dnBoWgpYMWxtMmNyT0hLVElONFdVVlpGNks0Z3RoZnNrenJKa3laTDRZ
dDczeFo1LzhwelZndFNsUzVkbGpxT0hwNFZVMWRjaEhLYzhyL0Y2CmF2OWlQWW85WnRJdjdGL1ZQ
K3ZKKzZLUWF4THFwdGRpWExLVlhjeis4ZU5XOXZ1cWRzNVYzNXI4blJxdlUvSitqMjlMdnM5MXJ5
YnoKcFMwbjd3VTlDTFpyMTY3TDdGSk12WmJaT2JFaVdWYXlEc3FlNi9kV29xaHlMV1k3WHJrS2Nq
dFZabG5sclFQN0lZQkF1a0RlVCtlNwo3TEpMYWdsNmd2bFdXMjJWeWFNL1ZHcW1YV3V0dFh5VDhj
Y2ZmNXpaOXMwMzMvZ1dnbTIzM2RhNmQrOXVyNzc2YW1aYjhvMzZQcXNsCjRhU1RUdkpkVlk0Nzdq
alRrN0dWMUNLandPZk1NOCswQ3k2NHdEK2w5dlhYWDdlZmYvN1pqam5tR0R2Ly9QUHQ2S09QdHNt
VEo1Y3AKTnRmeGM1VlhabWUza0ZhbkcyNjR3YzQ1NXh6VEI1WS8vL25QTm1MRWlPVHVObmJzV0pz
d1lZTC81dnZ3d3cvMzMrNHBVMldZWlNzNwoxL20rK2VhYi91blZDaHlmZSs0NTAvS21tMjVxdDl4
eWk2OXp0cktXT1JtM1F0NDZULzF4MVBWVU40R1FjaDA3YkkrL3Byays4TUFECi92cnV0ZGRlTm5m
dVhMdjU1cHY5OGs0NzdlU2ZzcTV5THIvOGN0dG1tMjE4UzF5ODNQQStyUzdQUFBPTVhYTEpKYjRN
M2NmdnZQTk8KMk0zZmIyZWNjWWJmZnNBQkI5am8wYU16Mi9RbTdicVZ5WmhZK1BycnIrM1NTeSsx
TGJmY01yUGw3cnZ2dG11dXVjYXZENEZyWlZ5SApOTnQ4OTBHbWNyRTMyZW9aTnFkNXBOVkRaYTY1
NXByMjE3LysxUmVsTG96cnI3KysveGtPWlNkZjgvMnN4L04vK09HSGRzb3BwL2pmClBROC8vTEJ0
dnZubXZodmdLNis4WXZxQXErNmtiZHUydFFzdnZEQ3pXNjc3SXRzMTBlK2x5cmhQc3BXdENxVzVw
dDNibVpQNTc1dTAKYTVEcmQyQSs1MXpIejFWZU1YV3E2ZCtwcW11dSt6M1hlU2ZQVDh0cGVYUGRP
OW51QmYzZERDbFh2Y0wyOEpwMnpaOSsrbWs3NktDRAo3QzkvK1l1ZGR0cHAvbWRBZjdlMVhpbFpo
NWt6Wnk3emV5dXRmTFgwYTlwdS9ZMjQ4Y1liL2JPREZFVEZQeE9FZW1ZN25scS9jdG5sCis5MlZy
THZLSWlHQVFJa0p1Rzg5aWtwTm1qU0pYQmVhclB0c3Nza21rZnNnRzdsZllKRWJqQjY1WHpiUmtV
Y2U2Zk82RCtiUmJydnQKRnYzNDQ0K1JHOGdZdVFBaWF0T21UZlRERHo5a0xlc1BmL2hENU1hVytH
MnVWU0hxMWF0WDVNYWorR1gzd1NGeVhZQWlOOFlqY2wzQgpmRm52di85K05HREFnTWg5ZVBGNWRB
ejNuSUxJZlZEMXkybkh6MVdlM3pIMlgxcWRsTTExVVl0YzYwZHNqMlhmZHVyVUtYSWZkREliCkt0
TXNYbmJhK2VyZ3VrYnVWb3dlZSt5eGFPTEVpWkg3RUorcGs5N0V5eXF6NGI4TDdkdTNqMXdBRTdt
QUtuSUQ3bjMrdGRkZU8zTGYKUEVYNWpuM1ZWVmRGYTZ5eFJxYllmSzViYkxGRk5IVG8wRXgrMXdV
d0dqSmtTR2I1MFVjZmpmN3hqMzlrbHVOdjB1cmltdWdqOThIWAoxMS83dUFBeTJtZWZmVEs3Nzdy
cnJwSHVEU1VYekhvdjk0ZlBMNmRkTjU4aDhWLzhuTjJBMnNnRnlGSHIxcTE5THBtNWNUR1pQVTQ4
CjhVVC9NNklWRmJrTzJqK2ZiYjc3UUdXRWxGYlBmQjc1NnFIcjRMNU1DSWVLZHQ1NTUyaS8vZmJM
TE1mOXRETHRaejJ6MDMvZnVBQWsKY2tGSDVGcHkvZThMOTZIYWw3M3V1dXY2bjhVNWMrWkVaNTk5
ZHVSYTVTSTNjVVNVNzc1SVhwUEt2RStTWmFlNXB0M2JTUU10cDEyRApYTDhEMDV6VGpwK3J2R1M5
MHVxa3ZEWDVPelhYL1o1MjNxcHovRjdObHpmdDNrbmVDOTkrKzYySzk3OWpjLzIrOEJsaS82WDV1
a0FnCldtMjExZnpQaFd1Vmo5eTRSZi8zdTBPSERwa1M0blZJL3Q1U3ByVHlaODJhRmEyMzNucitj
NEFML0tOUFB2a2tjbDhzUk80QnBwbnkKazIvaXg4dG5sKzkzVjd5czVIRllSZ0NCbWhmSTJ3SlNi
THlrUWVzNzdyaWp1UStvdHYzMjIyZG1vZEw0RVhlNnZ2dlI0NDgvN3I5dApjYjlRN1lVWFhsam1F
TnF1OFNYNjlrUkozUkRjQjFCNzVKRkh6UDFoc3o1OSt2am02QTAyMk1EY0IwYTc5dHByVGJOenVB
L1NGbHBzCjFBMnFmLy8rbWJMVGpwK3R2R1QzbUh4MXloeW9nRGZKN2tlVllSWU9HOHBPTzEvbDFU
WFN0L29qUjQ0MFRSeWdGcVprQ21VbDE0ZmwKd3c0N3pBWU9IT2l2ODhVWFgyd2ZmZlNSLy9ZczM3
SEQvbm90eE5VRkcvYkVFMC80YjRLMVQ3OSsvVXpmWkxzL1VGcjB4M1FmVnYzNwo1SDlwZGRGOXBj
SHdhdjFSVXZlQzBJcWpXY3ltVEpsaTZ0T3RwQlllM1djZE8zYjB5L292MTNYTFpNanh4Z1hlMXEx
Yk4vL3pvQ3hxCjJaazZkYXEvZjdXc0o0enJaeVdrOGw2SFFtd0x1UTlDUGZMVk01ZEhJZlZvMnJS
cG1XNTV6Wm8xSzdNYzZxQlh0WnltL2F6SDgrcTkKbnRxdUNTblU0cWZmRnpyV29FR0Q3Tk5QUDdY
VFR6L2RYL2NUVGpqQm0ydGQybjBSeWc3WHBDcnVrMUIyT0ZZdTE3UjdPK3diWHZOZApnMnkvQSt2
Nzc5UmM5M3N4N21sNUM3bDM0dmVDKzhMQ1g4NWM5UXJYT3J6bXUrYnVBN3E1WU1QMjJHTVBQNkdN
Q3liOEJDcWF5VEw4CkhsUlpvUTdKMzF2NXlsZkx1SDcyOUx0Tzk3QitkKzZ3d3c0Mlk4YU1VTVdz
citGNGFYYmFzWkRmWGFHc3JBZGlKUUlJMUtoQXBRY2cKOFI5NERWUldFNjJTQWdkOXdGUC9XUDFU
ZDVlbm5ucktmN0JMQ3FnN2xYN1o2WU5BU0s0RnhML1ZoMElsZlloUW5wRFVsVWpOdXkxYgp0Z3ly
YktXVlZzcjg4c3gzL0dSNW1VTCsrNmFRT2lYM3liVWNOMUtlK0hKNXpjS3hRbG41emxmNTFhWEl0
Uno1YTZEWnpaSXBsSlZjCkg1WmJ0R2dSM3ZxZ1VBdWFXcmFRWTRjZEMzRlZOd0VGcTJIc2pMcEpx
VWxkM1dRV0xWcmtBeE4xQmN5VzB1cWk4M1BmVnZvQVFOMncKTkhQWi9QbnpmVEVLak5VVkttNmdi
bis2aDBPS2I0dGZ0N0E5N1ZYN2h2MzF3VUtCa0lJNWRkL1RCNFA0OVFqNWNwV1g2em9VWXFzeQo4
OTBINGJqRjFEUHVVV2c5d25IeXZlYjdXYysyZjlKdzVaVlhMcE90ZWZQbWZsbjNtZkxtdWkvQ1Rx
RzhxcmhQUXRuSlkyazU3cHAyCmI0ZDl3MnNoMXlENU96Q2ZjNzdqSjhzTGRRbXZoZFFwNU0zM1do
Vm11ZTczZk9jZHIydGEzbUx2blZCdXJucUY3ZUcxRUYrNXhYL1gKNkcrbzdqSFh1aENLeWZ5ZTBn
cmxEOWFGbGgveWEzLzkzT2wzZGxvSytkUHN3djc1Zm5lRnNrSitYaEZBb0hRRUdsWlhWVnczQno4
bwpYTjllNTB2cWQ2ejhDbDRVUkNqcFd4UU5Lcy9WbDFOenBHdWZaQXEvZ0lvNWZySU1MWmVuVHRu
S0tXWmRSZXBjeUw0SzhCVEVhVHpDCkVVY2NVU1o0SzZhZXlxdHZ0L1RIUmY4S09YWW92eEJYZmVq
WE4yaDMzSEdIcjZPbThWVUxsOFlLekpzM0wzVTYyM3gxMFZTMmFtMjcKNmFhYlRIM085VWRWU1gy
UDQrTkJRbjJyNmxWVHJyb3VnM2JsbFZmNk1VNXE4UWtmaW9zNVp2dzY2RGt0T3Y5OFAwZkYzQWZs
cVdjaAoxN2lZYzh6M3MxNUlXYnAvd3U4RzVZKy8xM0t1KzBMYjRxbTY3NVA0c2ZQZDIvRzg1YmtH
K1p5TE9YNjhMdUY5ZWVvVTlpM3ZhN0YxCnpuYS9GMU5HV3Q2SzNEdlo2cFg4ZlZGZVgvMXM2Rzl0
dmxUZTh2T1ZHN2FuMllVOHhmenVDdnZ3aWdBQ3BTRlE2UzBndVU2cnM1dEoKU3kwZThXOC8xTTFF
MzdJbGs3NkYwUU92Tk85OFNIb1FsYnJjcU50VnRxUVBiL3IyVXQvb1owdkZIRC9iL3VXcFU3Wnl0
Qzc1WVNkWAp2dkxVT1pSZHlMNGFmS2l1TE5wSDc1TXBsSlZjbjIzNXE2Kys4cTBIR3VCYnlMRkRH
WVc2YXVwZVBYZms3My8vdTdseFJhWnVXUTgrCitLRC9waTQrT0RPVUcxN1Q2dkxlZSsvNVNRdjBM
VnE4dFUzNzZvTzhXbk0wOERJazNhK2hCUzZzcTR4WDExZmFkSDlmY2NVVnZrdWEKQmtZcnVBcXB2
TmVoVU50ODkwR29SNzU2aG56SjEwTHJvY0hXaGFSOFArdUZsSkdXSisyK0NQdUZhMUlWOTBrb094
d3IxMnZhdlozYwpwOUJyRU44dm4zTXh4NCtYRzk2WHAwNWgzK1JyVlpqbHV0K0xPZSswdklYY085
bk9LMWU5a2libDhkWGZUM1c5YytQdU1zVmxxNE0yCmxxZjhUS0VwYjhMeDB1ekM3dmwrZDRXeVFu
NWVFVUNnZEFTS0NrRDBBVUhUek9aNndyZStFZEcva0RURFI1aTU2dUNERC9iZktxc2IKaXh0NDdq
OXdhVTd4NUZnTDdhdisvQnBEb29BbEpNMW9wVjk0YnRDZVg2VmdKSlN0RlJyUG9HOXQxRTgvSkQw
RlhkK2lLSmpKZC94awplYUdNOEZwSW5kd0FlOThkS0c0UTlnK3Y2aUlXbm1ncmg4b3lVL254c3RW
aW9HL1ljbm1yLzY3c0ZkQ3ArNUZtWUlwL3VJNlhwWHBtClMzSU5TZjJaMWE5ZTR5bnlXZXNlY2dN
OC9hNkZ1Q3FqbThEQVAxTkYzUVhVNVVoOWlmV05uMll2U3Zzamt6N1FiU1VBQUNBQVNVUkIKVkZZ
WDlYUFdQYTBQbkRvWGRjRlNnS3hBUXcvZGRCTXUrRUJIK2ZSUE15bXB6N1JTMm5YekdSTC94Yzg1
N0svN1Y4ZlNIM3pOYXFQawpCbC9ibm52dW1XbjVxOGgxS01RMjMzM2dLL1hmLzlMcW1lWlJTRDNV
d3FtSHVNbEp3YXdDUHgwdnBMaGZ2cC8xc0UvOFZmZGIvSDdWCk13SzBITzdETUo1STkwUGFmYUhy
RmI4bStuMVVtZmRKdk96Sy9QMVF5RFZJL2c3TTU1ejJzeVg3WkhueDY2SDNoZFNwSm4rbjVycmYK
ODUxMy9GNU55eXZmdEhzbmVTOEV2MXoxQ3R2RGF5Ryt5aHYvT2RQTVZacFJNSXg5UzlaQlArZmg5
MVloNWNzaS9zV0M5by8vSElhNgpodGY0OFNyN2I1aCs1alhUWGZqN0c0N0pLd0lJMUpDQSs0TmFV
SExkVWZ4c1U2NmFrZnNBR0kwWk15WnkzVjh5KzJvMkt0ZDBHMjI0CjRZYVIreUFidVdrWUkvZmhO
bkpCZ1o4cFNSbmRoOXhvaFJWVzhMUE51SzQva2ZzR083Ti84bzMyVjFudVFZZCtsaVkzSUQxeUh3
eDgKTnRjVkozSjkvaVAzNFROeUg5d3l1MnE5NndMa2orcytRRWF1VDMzayt2RkhXcStVNi9pNXlz
c1UvTjgzYVhWeUEyTWo5NHZiejVUawpwaDJNM0FlbzVPNSsyUTM2OXVldldaM2MxSVNWYWhZdjJ3
VWZPYy9YQlF0K0ZpbzM4Tm5YeVgwQWo5d0hlejhiaXZzUXVFdzlWVll5CmFkWWc5NkV4Y29QUG80
c3V1aWc2L3Zqai9ReG5JVjh1YTVYdkJuUjdwM0hqeHZrWmg5SmNRM2w2bGF0bU5BckpmZnRWWmpt
c1Q3N20KcW92cnp1ZG5VblBkL1B5c1dwcE55dzEramc0NTVCQmZMOTJmdWs5MXo3dHZLeVBYVmNz
WFhjaTlIcTlEOHB4VmpwdUMxNWZyV2ozOAp6NHNickJtNWJqL1JRdzg5RkxtcHBQMU1OeW9qZVUz
ajVlcDl2dXVRWmx2SWZSQS9ubjRIWkt0bklSNXA5ZEF4M0hpZXlIVzFpelNUCjJza25uK3huQ1hP
RFRQME1aVWsvelZLVjcyYzlYbS9YbDl6UGlPY0d4VWJ1QTFhazJYL2NoeHZ2THo4M3FEZHlVM2Y3
WmYzZWNDMWYKcWZkRjhwcFUxbjJpT3NmTHJ1emZEMm5YSU5mdndIek91WDYyY3BVWHZ5NTZuMWFu
bXY2ZG11dCtWNzF6blhlMmV6VlhYcFdUNjk3Ugp0dmk5RVA4ZG5GWXY3UmRQYWI3S3A5bTBOSnVr
ZnBlNmgrZjYyZWRjQzB1bWlIZ2ROR05pL1BlV2ZnN1R5dGVzV2k2ZzhEOTcraG5VCjN4dk5QS2ZQ
QUU4KytXVG1HUEUzOGVOVjl0OHcvWjF6WDFaRmJycjUrQ0Y1andBQ05TVFFRTWV0enRoSDM0aG9s
ZzAxUCtmclo2cXEKYVE1LzlVblZiQnFGSkgyN29tOE9OVkJQMzJickc2WjRLdWI0OGYzQysvTFVL
ZXdiWHRVcW8vb1Ztb3FwYzdMc1l2Wk4xaWRaVm5LNwpsdFVkUU9lUzdWb1djK3hDWFBVTmx2dmps
YWxHY2ptekljdWJ0THJvR3owTm1GWFNOK0x4N2xpcWw3cEhhVWFYcWtyNmhsRDN1R2EzCjBiR1RB
K29yZWgwS3NTM2szUExWTTE4WitlcWhhNlNmWDEyTDVIWElWbmErbi9Wcyt4U3pMdTIrU0Y2VHly
eFBrbVhucTNQYXZaM2MKTjk4MVNPYlhjajduWW82ZnJmenkxQ2xaVGxXWTVidmZpem52dEx4cDkw
NjI4OHBYcjZSTm1xK2VicS9acjlRYlFhMFQ4WWxkUWpuWgo2aEMyNlRXdC9IaStRdDhuajVkbWw2
L01aRm5xcHAzdEhQT1Z3M1lFRUtoOGdXb1BRQ3IvRkNnUkFRUVFRQUFCQklvVkNBR0k2OUZRCjdL
N2tSd0FCQkNva1VOUVlrQW9kaVowUlFBQUJCQkJBb0NRRTFKSVN4bHVWUklXb0JBSUkxQ3NCV2tE
cTFlWG1aQkZBQUFFRUVEQnoKWXlFeUE3TGQyQ3ZUODVaSUNDQ0FRSFVKRUlCVWx6VEhRUUFCQkJC
QUFBRUVFRUFBQWFNTEZqY0JBZ2dnZ0FBQ0NDQ0FBQUlJVkpzQQpBVWkxVVhNZ0JCQkFBQUVFRUVB
QUFRUVFJQURoSGtBQUFRUVFRQUFCQkJCQUFJRnFFeUFBcVRacURvUUFBZ2dnZ0FBQ0NDQ0FBQUlF
CklOd0RDQ0NBQUFJSUlJQUFBZ2dnVUcwQ0JDRFZSczJCRUVBQUFRUVFRQUFCQkJCQWdBQ0Vld0FC
QkJCQUFBRUVFRUFBQVFTcVRZQUEKcE5xb09SQUNDQ0NBQUFJSUlJQUFBZ2dRZ0hBUElJQUFBZ2dn
Z0FBQ0NDQ0FRTFVKRUlCVUd6VUhRZ0FCQkJCQUFBRUVFRUFBQVFJUQo3Z0VFRUVBQUFRUVFRQUFC
QkJDb05nRUNrR3FqNWtBSUlJQUFBZ2dnZ0FBQ0NDQkFBTUk5Z0FBQ0NDQ0FBQUlJSUlBQUF0VW1R
QUJTCmJkUWNDQUVFRUVBQUFRUVFRQUFCQkFoQXVBY1FRQUFCQkJCQUFBRUVFRUNnMmdRSVFLcU5t
Z01oZ0FBQ0NDQ0FBQUlJSUlBQUFRajMKQUFJSUlJQUFBZ2dnZ0FBQ0NGU2JRTkVCeU1LRkM4dFU3
cWVmZmlxelhPakNiNy85WnRPblQ4OWsvKzY3Nyt5RER6N0lMRmZsbStvOApWcUhuOGNzdnY5akxM
NzljYUhieUlZQUFBZ2dnZ0FBQ0NDQlFLd1VLRGtCbXpacGxKNXh3Z3UyKysrNWxUdlRUVHorMXUr
Kyt1OHk2CmZBdHZ2UEdHYmJiWlpqWnMyTEJNMXJQT09zc0dEUnFVV2E3S045VjVyRUxPNDdYWFhy
TWVQWHJZM252dlhVaDI4aUNBQUFJSUlJQUEKQWdnZ1VHc0ZDZ3BBNXMrZmIrKy8vNzc5KzkvL3Rt
UUx5SVliYm1oYmJMR0ZuWEhHR1FVajlPelowN2JiYmp0cjFLaFJacDlSbzBiWgorUEhqTTh1VitV
YXRDODgrKzJ5bXlLbzhWdVlnZWQ3RTY5UzdkMjhiUEhod25qM1lqQUFDQ0NDQUFBSUlJSUJBN1Jj
b0tBQlplZVdWCjdROS8rSU4xN2RyVkdqUm9zTXhaZCtuU3hkU2w2dEZISDExbVczTEYwcVZML2Fx
R0RSdmFjc3Y5ZnZoVlYxM1ZWRTVscDhXTEY5dWgKaHg1cUw3NzRZcWJvcWpwVzVnQjUzbVNyVStQ
R2piUGE1aW1LelFnZ2dBQUNDQ0NBQUFJSTFDcUJocFZWMjRNT09zZ09PZVFRMjNYWApYVzM1NVpk
ZnB0aWZmLzdaUm93WVlXdXNzWVo5OWRWWDl1Njc3MXFUSmsxOHZxKy8vdHB1dSswMmUvREJCKzJW
VjE2eHQ5NTZ5NjY3CjdqcHIwNmFOTlczYTFNYU9IZXVEbTQ0ZE85b2xsMXhpYjc3NXBpMVlzTUN1
dnZwcTY5T25qeTlETFRQbm4zKytOVy9lM08rdlZoWWQKVC90T21EREJQdnp3UTVzNWM2YXArOVg5
OTkrZk9aWjJWbG1ublhhYXJiRENDajdQV211dDVZK2pZNnZsUkhWcDM3NjliYkRCQm5iaApoUmY2
bHB2SEhudk1PbmZ1N0k5OTNubm4rV09vYTFreVpUdVhBdzg4c0V5ZHhvMGJsOXpObjl1VlYxNXA3
N3p6amlrNElTR0FBQUlJCklJQUFBZ2dnVUJjRWZtK0NxT0RacUN2V2pCa3pmSENRcmFqOTk5L2Z0
dDEyV3g4QTZBUDNSeDk5bFBuR1g2MGhIMy84c1E4U3RPK3YKdi81cTk5NTdydzg2MU9xeXp6Nzcr
TUJpeUpBaGR1NjU1L3FnUUFIR0hudnNZWFBuenZXSDAvaUpnUU1IMnFtbm5tcW5uSEtLblh6eQp5
VDRRMFd2YnRtMXR2LzMyczF0dXVjV1hFeitXZGg0d1lJQ3BHOVNZTVdQOGNUVW1RL1ZWMG5sTm1U
TEYxMlgxMVZlM1NaTW0rZlVYClhYU1JmOVYvYWxGWmM4MDFNOHZ4TjluTzViampqaXRUcHhWWFhE
RytpMyt2NEtkRml4WmxXb21XeWNRS0JCQkFBQUVFRUVBQUFRUnEKbVVDbEJTQWF6OUdxVlNzL1Zp
UnA4T3FycjlyRWlSTnRsMTEyOFp2VTlhcC8vLzZaYkdycDZOYXRtMFZSNU5lcFZVT0JoMW9jRkh4
YwplKzIxUGdqUWRuV2xldnp4eC8wSCtHKy8vZFplZU9FRkh4UW9TRkFRb2RTOWUzZS9qMXBNUWdw
ZHg1TEhVbGt2dmZTU3FWVkNTZWN4CmRPaFFlK1NSUjN4cmpJS09kZFpaeDlkUEEvQlY1ZzQ3N09D
RHJWRDJNY2NjazNQOFNyWnpDVjNOUXAxQ09mRlgxVUV0S2dyT1NBZ2cKZ0FBQ0NDQ0FBQUlJMUJX
QlNndEFCS0t4SXRtbTBuM3V1ZWQ4UU5HeVpjdU0yMG9yclpScEFkRktmUmlQZnlCWEM0Q0NoWkRV
TlVzdApEZXFPcEg5YmJiV1ZQZlhVVXo3WVVCRFN0Mi9mTXZzZmRkUlJQbi9ZUDE1Mi9GaXZ2LzY2
UDA1OFFIeXZYcjM4YmdwcWxPTDV0YXp6ClhMUm9rZDRXbEpMbkVuYUsxeW1zNHhVQkJCQkFBQUVF
RUVBQWdib3NVS2xmcjJ0d2RiTm16WmJ4K3VLTEwyek9uRG5MckMvbUE3ajIKVjJ0QXYzNzlsaW5u
bTIrKzhXTWxsdGxRd0FxTlRWSFpHZ2Vpb0VoSnJURTZWbm1mY1ZMQVljbUNBQUlJSUlBQUFnZ2dn
RUM5RktqVQpGaEFGQXAwNmRWb0dzbDI3ZHFidVVwckt0N3hKQTc3VjRoRnZlVkNYTExXdXFGdVVX
bDQweUR3a2JRc3RHRnFYSzloUlZ5L040QlVmClFENTc5bXhic21TSjd3SVd5cXVLMTF4MXFvcGpV
U1lDQ0NDQUFBSUlJSUFBQXFVZ1VGUUFvbWRYaEdsMGs1WFgwOFhWQXFMQjRjbDAKd0FFSCtCWUZq
ZVVJU1U5QlY4dURQdndycVNWQ00xbUZjU0FLQU9MUEhEbjQ0SU5OQVk2NlZ2M3d3dyttSUVIUDg5
QjRDcFd2R2JVMApTSDNhdEduK253YWlkK2pRd1pldHJsOXFoVkhTdnZGamFYQzZacmhTY0JQUzVN
bVRmWmN4emVpbHBJSGs4ZlBXL3FIZTJxNXhLVmRjCmNZWGVaazNKYzFHbVpKMTBEUG1GcERwb3dQ
MjhlZlBDS2w0UlFBQUJCQkJBQUFFRUVLajlBdTREZjk3a1doMGlOMDF1NUZveUlqZFYKYlhUNzdi
ZEgzMy8vZlpuOWJyNzU1c2c5eWJ6TXV2akNIWGZjRWJteEU1RWJXQjY1R2FZaU4yTlY1TVp0UkZy
dlpwMkt0dHh5UzQxQQpqOXdIK2NqTlZoVzVtYUVpTjN0VjVKNnluaW5tbW11dThjZDNMUWVSR3g4
U3VXbDdNOXYwWHV0VWhtc1JpZHpBOHN5MmtTTkhSdHJICkRleU8zUFM1Wlk3bGdxcklUWlVidWRt
dW9zc3V1eXh5ZytVak55QTljb0dNMy8vNTU1K1BYTERnejkyTlE0bW1UcDBhcmJ2dXVyNGUKVHo3
NXBNL2pacldLM1BUQ2tRczBNc2NNYjNSKzJjNGxXU2MzY043WDNjMFFGcWxPYmphdmpFY29pMWNF
RUVBQUFRUVFRQUFCQkdxNwpRQU9kUUdXRVVYdnV1YWRwYWxwTlc1c3JxZFZBTFJDdFc3ZjJYYW5D
YzBCeTVjKzJYaTBGbjMvK3VlOTJsWndoU3FlaWxoSE5YSlZNCmFtM1JjWE1sN2F0bmhXaUdMczE2
VlV6U3Z1b2Fwc0hteGFSOGRkTGdlaGZvbVF2c2lpbVd2QWdnZ0FBQ0NDQ0FBQUlJbEt4QXBRUWcK
WjU1NXB1MjAwMDcrT1I4bGU2YTFyR0lLUEc2NDRRWWJQbnc0VS9IV3NtdEhkUkZBQUFFRUVFQUFB
UVJ5QzFRNEFORzM5Sm9XTnp5UgpQUGVoMkZLTWdNWis2S251REZRdlJvMjhDQ0NBQUFJSUlJQUFB
cVV1VU9FQXBOUlBrUG9oZ0FBQ0NDQ0FBQUlJSUlCQTZRZ1VOUXRXCjZWU2JtaUNBQUFJSUlJQUFB
Z2dnZ0VCdEZDQUFxWTFYalRvamdBQUNDQ0NBQUFJSUlGQkxCUXArRXZxSUVTTnE2U25XWExWSGp4
NWQKY3dmbnlBZ2dnQUFDQ0NDQUFBSUlsS0JBd1FISWV1dXRaOE9HRFN2QlU2aStLazJhTk1uY016
M01QYy9FdnpacjFzemNjMUg4SUh4TgpDYXdCNDVwcVdBOXN2UFBPTzZ1dllod0pBUVFRUUFBQkJC
QkFBSUZhSWtBWHJGcHlvYWdtQWdnZ2dBQUNDQ0NBQUFKMVFhRGVCU0JmCmYvMjEwVFdxTHR5Nm5B
TUNDQ0NBQUFJSUlJQkFiUlNvZHdISXJGbXo3SnBycnFtTjE0bzZJNEFBQWdnZ2dBQUNDQ0JRNndV
S0hnTVMKUDlPbm5ucktOdDEwVTF0dHRkVnM2dFNwOXY3Nzc5dSsrKzVyeXkyM25EMzY2S08yd3c0
N1dLTkdqZXloaHg2eStmUG4yLy84ei8vNApjUkkvL2ZTVDNYSEhIWm1pTkdhaVpjdVc5b2MvL01G
V1gzMTFlK2FaWjJ6bXpKbCtqRVhQbmoxdDNYWFg5WGxmZSswMVUrQ3czWGJiCldZc1dMVEw3ejVr
eng2Wk5tMmJiYkxOTlpwMmVIbjdFRVVmd0FMK01DRzhRUUFBQkJCQkFBQUVFRUNnZGdYSzFnRHor
K09PMi92cnIKMjR3Wk0reWpqejZ5VTA4OTFjNDU1eHgvVms4Ly9iVDkrYzkvdHFPUFB0ck9QLzk4
dS83NjYzMkFvWTBmZlBDQlhYYlpaWGJUVFRlWgo4aWxBR1RseXBBMGNPTkR2cStCRjYyKy8vWGJi
ZlBQTjdiUFBQdlByTDdua0VqdnZ2UE9zVFpzMmR1Q0JCL3BnUkJ1KytPSUxPK1NRClErekpKNS8w
K1JTOG5IMzIyVDc0MExiKy9mdGI5KzdkYmNzdHQ3VEpreWY3UE9HL3l5Ky8zRHAwNkdCNzc3MjN2
ZmZlZTJHMVhYbmwKbGRhNWMyZnIycldyRDZveUczaURBQUlJSUlBQUFnZ2dnQUFDRlJZb1Z3dklt
REZqN09lZmY3Ym5uMy9lejR5bG1hREdqaDNySzZNQQpvMTI3ZHJiampqdmFXMis5NVlPQkxsMjYr
R0JpczgwMjh3RkRxMWF0N0xqamp2UDUxU3FpMW85ZmYvM1ZGQlNFZE5oaGgvbldsYlhXCldzdVg4
OFliYjlpaVJZdHN5SkFoZHRkZGQ5a0pKNXhnS20vLy9mZTNndzQ2eU82KysyNzc5Ny8vYlgzNzl2
VkZORy9lM0hlMTZ0aXgKb3c5NkZBajE2TkhEYjFOcml1cWdnRWlCMDVsbm5ta1BQUENBZmZMSkoz
YjY2YWZiYzg4OVo3MTY5YklsUzVhRTZ2Q0tBQUlJSUlBQQpBZ2dnZ0FBQ2xTQlFyaFlRSFZkQmhv
SVFwWFhXV2NjVVNDaHBPbHBOVDN2eXlTZG51a0VwR05HSGVpVUZCSjkrK3FsL3IvKysvUEpMCjM5
clJ1SEhqekRxOVVZRHc0NDgvK25WcXdWQUxpRm9zOXRsbkgvdjg4OC85K29VTEYvcHlKMDZjNkZ0
RzFQMUtyUzVLQ2tCV1dXVVYKMzYzcm5YZmV5ZXlqYld1c3NZWVBaSm8wYVdLREJ3LzJyUzRLTmhU
WWJMLzk5ajc0VUQ2ZEN3a0JCQkJBQUFFRUVFQUFBUVFxVDZEYwpBVWk4Q2hyTEVkSlhYMzFsVVJU
WkZsdHNFVmI1d0dIMjdObCtPUm1BWEhycHBYYnd3UWRuOG9ZM0tsUGxLT21aR2xkY2NZVi8zN1Jw
ClUvK3EvOVFWYk91dHQ3YmV2WHViZ284ZmZ2akJqMHZSdG9jZmZ0ZzBqdVM3Nzc2elRUYlpSS3V5
SmgxRHovVlFzTEY0OFdKVFVFSkMKQUFFRUVFQUFBUVFRUUFDQnFoR29sQUFrWGpVTkpOOXBwNTM4
S3JXS3pKMDcxeFEwYU1DNGtnSVFqUnRSaThpUlJ4N3BQL0JydkVpdQp0SFRwVWwrR0JyT3JMTFc2
aElEbnd3OC85QzB4Mm5mUW9FR21ibHNubm5paUwrckJCeC8wM2IzVVJVdGw2T0dBSWFtc01MNUVB
K28xClZrUkpYYm1lZU9JSlB4QmV5M1RCa2dJSkFRUVFRQUFCQkJCQUFJSEtFNmowUGtZYVJMN3Jy
cnY2R202MDBVYVo3bGIvK01jLy9EcDEKbzVvM2I1NGZzNkhCNTJFQWVxNVQwa0IxRFJTUHAxdHZ2
ZFV2cWl1WEJwbUhkTzY1NTFxZlBuM3NtMisrOGNHSVdsWTBOa1RIZVB2dAp0KzNlZSsvMU0ydXBp
OWlvVWFOcyt2VHBmaUM3QnI4cmFkYXQ0NDgvM2piZWVHUGJjTU1OL1F4ZENxaElDQ0NBQUFJSUlJ
QUFBZ2dnClVEa0NEVndYcFAvdjU1U25QQTNpSGpac1dDYVh4bVNvNjVJR2c1ZFNVcXRGR0x1aGdl
MXEvVkMzcWdVTEZ2aFh0WjVvN01oS0s2M2sKeDVqb0hFS0xTamdQRFhaWGkwbDh5bDl0bXpScGtx
MjQ0b3IrdlBXcVFFWUQ4RFYrUmNkVU9iLzk5cHZmVjkzRzRsNmhiRjRSUUFBQgpCQkJBQUFFRUVL
alBBdVZ1QVZITFF5bU9sd2pCaHk1cWZHQzdBbzZRd25zTlZNK1dkRjZsZUc3WjZzbzZCQkJBQUFF
RUVFQUFBUVJxCmswQzVBNUF3YnFJMm5TeDFSUUFCQkJCQUFBRUVFRUFBZ1pvVnFQUkI2RFY3T2h3
ZEFRUVFRQUFCQkJCQUFBRUVTbG1BQUtTVXJ3NTEKUXdBQkJCQkFBQUVFRUVDZ2pna1FnTlN4Qzhy
cElJQUFBZ2dnZ0FBQ0NDQlF5Z0lFSUtWOGRhZ2JBZ2dnZ0FBQ0NDQ0FBQUoxVElBQQpwSTVkVUU0
SEFRUVFRQUFCQkJCQUFJRlNGaUFBS2VXclE5MFFRQUFCQkJCQUFBRUVFS2hqQWdRZ2RleUNjam9J
SUlBQUFnZ2dnQUFDCkNKU3lBQUZJS1Y4ZDZvWUFBZ2dnZ0FBQ0NDQ0FRQjBUSUFDcFl4ZVUwMEVB
QVFRUVFBQUJCQkJBb0pRRkNFQksrZXBRTndRUVFBQUIKQkJCQUFBRUU2cGdBQVVnZHU2Q2NEZ0lJ
SUlBQUFnZ2dnQUFDcFN4QUFGTEtWNGU2SVlBQUFnZ2dnQUFDQ0NCUXh3UUlRT3JZQmVWMApFRUFB
QVFRUVFBQUJCQkFvWlFFQ2tGSytPdFFOQVFRUVFBQUJCQkJBQUlFNkprQUFVc2N1S0tlREFBSUlJ
SUFBQWdnZ2dFQXBDeENBCmxQTFZvVzRJSUlBQUFnZ2dnQUFDQ05ReEFRS1FPblpCT1IwRUVFQUFB
UVFRUUFBQkJFcFpnQUNrbEs4T2RVTUFBUVFRUUFBQkJCQkEKb0k0SkVJRFVzUXZLNlNDQUFBSUlJ
SUFBQWdnZ1VNb0NCQ0NsZkhXb0d3SUlJSUFBQWdnZ2dBQUNkVXlBQUtTT1hWQk9Cd0VFRUVBQQpB
UVFRUUFDQlVoWWdBQ25scTBQZEVFQUFBUVFRUUFBQkJCQ29Zd0lFSUhYc2duSTZDQ0NBQUFJSUlJ
QUFBZ2lVc2dBQlNDbGZIZXFHCkFBSUlJSUFBQWdnZ2dFQWRFeUFBcVdNWGxOTkJBQUVFRUVBQUFR
UVFRS0NVQlFoQVN2bnFVRGNFRUVBQUFRUVFRQUFCQk9xWUFBRkkKSGJ1Z25BNENDQ0NBQUFJSUlJ
QUFBcVVzUUFCU3lsZUh1aUdBQUFJSUlJQUFBZ2dnVU1jRUNFRHEyQVhsZEJCQUFBRUVFRUFBQVFR
UQpLR1VCQXBCU3ZqclVEUUVFRUVBQUFRUVFRQUNCT2laQUFGTEhMaWluZ3dBQ0NDQ0FBQUlJSUlC
QUtRc1FnSlR5MWFGdUNDQ0FBQUlJCklJQUFBZ2pVTVFFQ2tEcDJRVGtkQkJCQUFBRUVFRUFBQVFS
S1dZQUFwSlN2RG5WREFBRUVFRUFBQVFRUVFLQ09DUkNBMUxFTHl1a2cKZ0FBQ0NDQ0FBQUlJSUZE
S0FnUWdwWHgxcUJzQ0NDQ0FBQUlJSUlBQUFuVk1nQUNramwxUVRnY0JCQkJBQUFFRUVFQUFnVklX
SUFBcAo1YXREM1JCQUFBRUVFRUFBQVFRUXFHTUNCQ0IxN0lKeU9nZ2dnQUFDQ0NDQUFBSUlsTElB
QVVncFh4M3FoZ0FDQ0NDQUFBSUlJSUJBCkhSTWdBS2xqRjVUVFFRQUJCQkJBQUFFRUVFQ2dsQVVh
RmxPNTY2Ky92cGpzNUVVQUFRUVFRQUFCQkJCQUFBRUV5Z2cwaUZ3cXM0WUYKQkJCQUFBRUVFRUFB
QVFRUVFLQ0tCT2lDVlVXd0ZJc0FBZ2dnZ0FBQ0NDQ0FBQUxMQ2hDQUxHdkNHZ1FRUUFBQkJCQkFB
QUVFRUtnaQpBUUtRS29LbFdBUVFRQUFCQkJCQUFBRUVFRmhXZ0FCa1dSUFdJSUFBQWdnZ2dBQUND
Q0NBUUJVSkVJQlVFV3krWWhjc1dHQmZmdmxsCnZteHNSd0FCQkJCQUFBRUVFRUNnVGdrUWdOVEE1
Ynp1dXV0czFWVlh0WHZ2dmJjR2pzNGhFVUFBQVFRUVFBQUJCQkNvT1lHaW5nTlMKa1dwKzg4MDNk
dTY1NTlySWtTT3RmZnYydmlpdEd6WnNtTzJ4eHg0MmRPaFFhOUNnZ2YzeXl5OTJ6am5uMkNHSEhH
SWJiYlNSL2ZycgpyM2J6elRmYmhBa1RiTVVWVjdTVFR6N1pldlRva2FuS3BaZGVhaDk4OEVGbVdX
OVVUb3NXTGF4ang0NjI3Nzc3MmhwcnJPRzNuM2ZlCmVmYlpaNS9aOHNzdmIyM2F0TEZOTnRuRTl0
bG5IMXR1dWQvanNCTlBQTkh2dThzdXUxaXZYcjE4M25qaHYvMzJtLzNsTDMreHZmYmEKeTNyMjdC
bmZaQW9zNXM2ZGE2ZWVlbXFaOWNtRm80NDZ5czQrKyt6a2FwWVJRQUFCQkJCQUFBRUVFS2o3QW5v
T1NIVWs5MjEvMUtoUgpvNmhKa3liUk04ODg0dy81OE1NUFIrM2F0ZE56U0tJenpqakRyM05kazZK
dTNicEZMdmlJZnY3NTUyanc0TUdSQ3hBaUY3VDRmTTJhCk5ZdG16cHpwOC83NDQ0L1JDaXVzNE5l
cmpHei9PblhxRkMxYXRDajY5dHR2SXhkNExKUG5oQk5PeUp6K2Q5OTlGelZzMkRDVHAxV3IKVnBF
TGtLS3Z2LzQ2azhjRlRWSFhybDJqbFZkZU9abzBhVkptdmQ3c3NNTU8wWUVISGxobW5SWVdMMTY4
ekRxZHo5aXhZNWRaendvRQpFRUFBQVFRUVFBQUJCT3F5d085Zi9WZHhyS1dXaUJrelp2aldqL1BQ
UDk4ZmJmZmRkN2VQUC83WTFOcHc1NTEzK25WcTVSZy9mcng5CjlORkh2b1ZoNHNTSjl1OS8vOXMr
Ly94emUraWhoOHg5bUxlcnJycks1M1ZCZ0xuZ3dseFFZamZjY0lPNUMrWC9xUlhsaXkrK3NEMzMK
M05NKytlUVRmOXpXclZ2YmtpVkwvUGFsUzVlYUMwanNnQU1PS05NTjZySEhIak1Yc05qMDZkTnR6
Smd4MXFWTEY5UFQzOVZpRWRKcQpxNjFtTDd6d2dyVnQyOWI2OSs5dnp6Ly9mTmhrTGpDeVRUZmRO
TFBzQWkyNzVKSkw3UExMTDdldHR0ckszbm5ubmN3MnZYRUJsbzBZCk1jSldYMzExNjk2OXUwMmJO
aTJ6ZmVIQ2hlYUNNcisvNmpsNjlPak1OdDRnZ0FBQ0NDQ0FBQUlJSUZCYkJhb3RBQkZRNTg2ZC9Z
ZjIKcjc3Nkt1UFZ1SEZqR3pSb2tMbFdoc3k2dGRkZTJ3WU1HR0R2dnZ1dTc3YTE4Y1liKzIzcXFy
WGxsbHZheXkrL25NbXJOeDA2ZFBCZApxOEpLbGJubW1tdG1Bb2Q0Rnl2bFVSY3RCU1E2eHV6WnM4
TnVObVhLRk4vOWF2MzExN2ZodzRmYmE2Kzlac2NmZjd5OStPS0xQbkFKCkdWdTJiR211OWNVVUFL
a3JsZ0tXdDk5KzJ3ZEpPKzY0bzgrbXJtT0hIMzY0NzhaMXlpbW4yTTQ3Nyt5N2xvVXk5SHJISFhm
WXR0dHUKYTNmZGRaZDkvLzMzcG9CTVFaTFMzbnZ2YlFNSER2VGR1YlMvdXA2OTlkWmJmaHYvSVlB
QUFnZ2dnQUFDQ0NCUVd3V3FOUUFSa2xvTwo5TzErUEdtOGh0YXBCU01rdFlUb0EvNlFJVVBDS3Yv
YXIxOC8vNEUvdm5LdHRkWXFFNENFYmZyQTdycDkrY0Fuckl1L3JyVFNTcjVGClJTMFJTbHR2dmJX
OStlYWIvc04veU5lM2IxLzc0WWNmZkd0RldIZi8vZmY3VmhjRlFncHUxQktpbGd6WC9Tb3pMa1RI
VlJBUldrUTAKNkR6ZXdxR3lEanZzTUI5a2JMLzk5bmJ4eFJmN1ZwK25uMzdhWE5jdUh3ejE3dDNi
SDFLdEk5ZGVlNjBmMHhMcXdDc0NDQ0NBQUFJSQpJSUFBQXJWUm9Ob0dvYWZocUVVaW1kU2lzT3V1
dTVvYjQxRm1reHQvWWZQbnovZGRyOXg0RXI5TkFZaTZjaVhURTA4ODRWc1ZGTXhrClN4cU1yaFFD
SDdXd1BQTElJNzc4a0Q4Y0l5enI5ZXFycjdZamp6elMxbDEzWFZNd3N0Tk9POW1ubjM3cS80VjhP
aWQxRlZOWHNyLy8KL2U4MmVmTGtNdVVxbndLdmtQcjA2ZVBmYWtDOUc0dGlDbnppTHZGdVlHRWZY
aEZBQUFFRUVFQUFBUVFRcUcwQzFkNENVZ2lRV2h5bQpUcDNxZzRka2ZyVWtLT2xEZWtqWldrRFVZ
cUFXa0dKbW0xSnJocnBscVNValY5S1lrNWRlZWluVDBxRXVWT1BHalRPTks5Rk1YZkdrCldiRjBm
SFhuY2dQVXl3UVU4WHg2cnhtNzFPS2pmNW9kTERsZUpKbWZaUVFRUUFBQkJCQkFBQUVFYXFOQVNR
WWdHdGl0RC9SaFBFVWMKZHBWVlZ2R0xHak1Sa2dJUURUcFhTNGE2VTkxMjIyMm02WFExdGlKMGdR
cDVLL3FxYVh5Vk5IQThKTFdHSEh6d3dYYjY2YWRiR04veQozbnZ2MlRISEhPTUhqNnM3VnI2ay9k
U3lzL25tbS90Z1JDMGhHdFFla3M1TlkxUklDQ0NBQUFJSUlJQUFBZ2pVWm9HUzZJS1ZCTlFZCmlQ
WFdXODhQSk5lMnUrKysyN2M2NlAyOGVmUDA0Z01VLzhiOXB3QkVMUk9hVFVzRHh2V3NqaXV2dkRK
ckMwcllKOXVybmxNeVo4NmMKTXB2VWhVcmRzRFN3WFVsZHJaVENzMFg4Z3Z0UE0xMXB4cTVqanoz
V0huamdBVC9lUTBHVUFoRU5lRmRRcFRxRzdsN2FUL1VNU2Vlcwp3ZmdLbUpvM2IrNEgzMnY4aTFw
UmxHNjY2YWE4enhjSlpmR0tBQUlJSUlBQUFnZ2dnRUNwQ3BSa0FQTHNzOCthQm1hSHBHNU1tc0kz
CkpEM0lVQThSREVrQmlLYkgxUWY4Ly8zZi8vWC9ORE5XTVVtQmhSNkFtQzFwYkVob3hRZ3RJUEh4
RzlwSHg5ZVV1emZlZUtPdngyNjcKN1dhYmJiYVpmOGppZnZ2dDV3ZWN1K2VlK0ZmbE9lS0lJL3pB
Y3JWNktDaVpOV3VXM1hycnJmN3dtaTFNMHhMcklZMGJicmloYnhIUgpqRmtLWkVnSUlJQUFBZ2dn
Z0FBQ0NOUm1nUWJ1dysvdlUwOVZ3NWxvdHFkcnJya20wNUpRRFllc3RrT0lVdFB2eGdmT2EzYXZw
azJiCitqcm9HU1loa0FtVlV1Q2h3TUk5QURHc3lyeXFQRTBUSE8vdWxkbklHd1FRUUFBQkJCQkFB
QUVFYXFIQXNwOTZhK0ZKbEVxVk5XdFYKUFBoUXZVTHdvZmZKNEVQcmtsMjV0QzRrbFVmd0VUUjRS
UUFCQkJCQUFBRUVFS2dMQXRVZWdPeXp6ejYyeFJaYjFBVTd6Z0VCQkJCQQpBQUVFRUVBQUFRU0tG
S2oyTGxoRjFvL3NDQ0NBQUFJSUlJQUFBZ2dnVUljRVNuSWEzanJreTZrZ2dBQUNDQ0NBQUFJSUlJ
QkFUSUFBCkpJYkJXd1FRUUFBQkJCQkFBQUVFRUtoYUFRS1FxdldsZEFRUVFBQUJCQkJBQUFFRUVJ
Z0pFSURFVUt0QVpBQUFJQUJKUkVGVU1IaUwKQUFJSUlJQUFBZ2dnZ0FBQ1ZTdEFBRksxdnBTT0FB
SUlJSUFBQWdnZ2dBQUNNUUVDa0JnR2J4RkFBQUVFRUVBQUFRUVFRS0JxQlFoQQpxdGFYMGhGQUFB
RUVFRUFBQVFRUVFDQW1RQUFTdytBdEFnZ2dnQUFDQ0NDQUFBSUlWSzBBQVVqVitsSTZBZ2dnZ0FB
Q0NDQ0FBQUlJCnhBUUlRR0lZdkVVQUFRUVFRQUFCQkJCQUFJR3FGU0FBcVZwZlNrY0FBUVFRUUFB
QkJCQkFBSUdZQUFGSURJTzNDQ0NBQUFJSUlJQUEKQWdnZ1VMVUNCQ0JWNjB2cENDQ0FBQUlJSUlB
QUFnZ2dFQk1nQUlsaDhCWUJCQkJBQUFFRUVFQUFBUVNxVm9BQXBHcDlLUjBCQkJCQQpBQUVFRUVB
QUFRUmlBZ1FnTVF6ZUlvQUFBZ2dnZ0FBQ0NDQ0FRTlVLRUlCVXJTK2xJNEFBQWdnZ2dBQUNDQ0NB
UUV5QUFDU0d3VnNFCkVFQUFBUVFRUUFBQkJCQ29XZ0VDa0tyMXBYUUVFRUFBQVFRUVFBQUJCQkNJ
Q1JDQXhEQjRpd0FDQ0NDQUFBSUlJSUFBQWxVclVGUUEKTW1mT0hQdisrKy9MMU9pbm4zNHFzMXpv
d20rLy9XYlRwMC9QWlAvdXUrL3NndzgreUN4WDVadnFQSmJPNDVkZmZyR1hYMzY1S2srSgpzaEZB
QUFFRUVFQUFBUVFRcUJVQ0JRVWdreWRQdHAxMjJzbldXR01OVzNYVlZlMkFBdzZ3UllzVytSUDg5
Tk5QN2U2Nzd5N3FaTjk0CjR3M2JiTFBOYk5pd1labjl6anJyTEJzMGFGQm11U3JmVk9leFhudnRO
ZXZSbzRmdHZmZmVWWGxLbEkwQUFnZ2dnQUFDQ0NDQVFLMFEKeUJ1QXpKOC8zLzd5bDcvWS8vN3Yv
OW9YWDN4aEkwZU90SHZ1dWNjdXVlUVNmNEliYnJpaGJiSEZGbmJHR1djVWZNSTllL2EwN2JiYgp6
aG8xYXBUWlo5U29VVForL1BqTWNtVytVUXZFczg4K215bXlLbytWT2NoLzMvVHUzZHNHRHg1Y1pu
V3lQbVUyc29BQUFnZ2dnQUFDCkNDQ0FRQjBXeUJ1QXZQTEtLM2JqalRmYUhudnM0VnRBemovL2ZP
dlNwVXVaTGtWYVZwZXFSeDk5TkMvVjBxVkxmWjZHRFJ2YWNzdjkKZm5pMXJLaWN5azZMRnkrMlF3
ODkxRjU4OGNWTTBWVjFyTXdCRW04YU4yNXNEUm8wOEd1ejFTZVJuVVVFRUVBQUFRUVFRQUFCQk9x
cwpRTU44WjdienpqdVh5YUlQMG1yMVVIZXNlRHJvb0lQc2tFTU9zVjEzM2RXV1gzNzUrQ2IvL3Vl
ZmY3WVJJMGI0L2I3NjZpdDc5OTEzCnJVbVRKbjdiMTE5L2JiZmRkcHM5K09DRHBvRG5yYmZlc3V1
dXU4N2F0R2xqVFpzMnRiRmp4L3JncG1QSGpyN2w1YzAzMzdRRkN4YlkKMVZkZmJYMzY5UEZsTEZ5
NDBCUWNOVy9lM08rdlZoWWRUL3RPbUREQlB2endRNXM1YzZhcCs5WDk5OStmT1paMlZsbW5uWGFh
cmJEQwpDajdQV211dDVZK2pZNnZsUkhWcDM3NjliYkRCQm5iaGhSZjZscHZISG52TU9uZnU3STk5
M25ubitXT29hMW0rbEt5UHVxSGRldXV0Cnk1eXJ5cnJ5eWl2dG5YZmVNUVV3SkFRUVFBQUJCQkJB
QUFFRTZvTEE3MDBRQlo1TkZFVTJkZXJVTXVNM3RLdUNraGt6WnBpQ2cyeHAKLy8zM3QyMjMzZFlI
QU9QR2piT1BQdm9vMHlxZzFwQ1BQLzdZQnduYTk5ZGZmN1Y3NzczWEJ4MWR1M2ExZmZiWnh3Y1dR
NFlNc1hQUApQZGNIQlFvdzFDb3pkKzVjZnppTnNSZzRjS0NkZXVxcGRzb3BwOWpKSjUvc0F4Rzl0
bTNiMXZiYmJ6Kzc1WlpiZkRueFkybm5BUU1HCm1McEtqUmt6eGg5WDR6WlVYeVdkMTVRcFUzeGRW
bDk5ZFpzMGFaSmZmOUZGRi9sWC9hY1dsVFhYWERPem5QWW1XUjhGYThsemJkV3EKbFErOFdyUm9V
YWFWS0sxY3RpR0FBQUlJSUlBQUFnZ2dVQnNFaWc1QTFIclF2MzkvUCs0amZvSWF6NkVQenUrLy8z
NTh0WC8vNnF1dgoyc1NKRTIyWFhYYnh5K3A2cFRKQ1VrdEh0MjdkVE1HTmtsbzFGSGlveFVIQng3
WFhYdXVEQUcxWFY2ckhIMy9jQnhYZmZ2dXR2ZkRDCkN6NG9VSkNnSUVLcGUvZnVmaCsxbUlRVXVr
QWxqNld5WG5ycEpUdnd3QU45VnAzSDBLRkQ3WkZISHZHdE1RbzYxbGxuSFYrLzNYZmYKM1ZUbURq
dnM0SU90VVBZeHh4eFQ5UGlWVUo5czU2cXVhS3FEV2tFVW5KRVFRQUFCQkJCQUFBRUVFS2dyQWtV
RklHcHQwQUQwSzY2NApJdXY1cjd6eXlsbW4wbjN1dWVkOFFOR3laY3ZNZml1dHRGS21CVVFyOVlF
OGZDalhzcm8vS1ZnSVNWMnoxTktnN2tqNnQ5VldXOWxUClR6M2xndzBGSVgzNzlpMnovMUZISGVY
emgvM2paY2VQOWZycnIvdmp4QWZFOStyVnkrK21vRVlwbmwvTE9zOHdDNWlXeTVQaTlVbWUKYTNu
S1l4OEVFRUFBQVFRUVFBQUJCR3FEUUZGZnIydW1xOHN2djl5UGxjaDJjaHBnM2F4WnMyVTJhZllz
UFVNa21lSWZ3cFBia3N2YQpYNjBCL2ZyMVMyNnliNzc1eG8rVldHWkRBU3MwTmtWbGF4eUlnaUls
dGNib1dPVjl4a2tCaHlVTEFnZ2dnQUFDQ0NDQUFBTDFVcURnCkZwRFJvMGZiRVVjYzRRZGpCeWw5
OEk4bkxYZnExQ20reXI5djE2NmRxYnRVdHU1WnkyVE9zVUlEdnRYaUVXOTVVSmNzdGE2b1c1UWUK
WXFoQjVpRnBXMmpCMExwY3dZNjZlbWtHci9nQTh0bXpaOXVTSlV0OEY3QlFYbVcvNXFwUFpSK0g4
aEJBQUFFRUVFQUFBUVFRS0NXQgpnZ0lRRGQ3KzRZY2YvT0J3amVmUVU3MDFBNVZtcXdwSlR4ZFhD
NGdHaHllVEhseW9GZ1dONVFoSlQwRlh5NE0rL0N1cEpVSXpXWVZ4CklBb0F0QnpTd1FjZjdGczYx
TFZLZFZHUW9PZDVhTHlFeXRlTVdocWtQbTNhTlA5UEE5RTdkT2pnZDFmWEw3WENLR25mK0xFME9G
MHoKWENtNENVa1BYbFJnb2htOWxEUW9Qa3dmckdYdEgrcXRaWTFMeWRVdFRkdTF2MnhDU3RZbmVh
N0twenBvd1AyOGVmUENicndpZ0FBQwpDQ0NBQUFJSUlGRDdCZHdIL3RUa3BxR04zUGdJalE0djg4
KzFha1R1ZzNObTM1dHZ2amx5VHpMUExDZmYzSEhISFpFYk94RzVnZVdSCm0yRXFjak5XUlc3Y1Jx
VDFidGFwYU1zdHQvVGx1dy95a1F0NG9oVlhYREZ5czFkRjdpbnJtYUt1dWVhYXlFMlZHN25XZzhp
TkQ0bmMKdEwyWmJYcXZkYXFuYXhHSjNNRHl6RGIzOEVTL2p4dllIYm5wYzhzY3l6MFVNSEtCVk9S
bXU0b3V1K3l5eUEyV2o5eUE5TWdGTW43Lwo1NTkvUG5JQlE2VHpkZU5RSWpjRFdMVHV1dXY2ZWp6
NTVKTSt6M0hISFJlNWFZbkxlSVNENjl6Y29IaGZMemY3VjZUanhldWpkZG5PCjFjM21sZkVJWmZH
S0FBSUlJSUFBQWdnZ2dFQnRGMmlnRTZpTU1HclBQZmMwVFUycmFXdHpKYlVhcUFXaWRldld2aXRW
ZUE1SXJ2eloKMXFzMTRmUFBQL2ZkcnBJelJPbFUxREtpbWF1U1NhMHRPbTZ1cEgzMXJCRE4wS1Za
cjRwSjJsZGR3elNZdk5DVXJ6NHFSNFBydi8vKwplM09CWGFIRmtnOEJCQkJBQUFFRUVFQUFnWklX
cUpRQTVNd3p6N1NkZHRySlArZWpwTSsyRmxWT2djY05OOXhndzRjUFp5cmVXblRkCnFDb0NDQ0NB
QUFJSUlJQkF1a0NGQXhCOVM2OXBjY01UeWRNUHg5WkNCVFQyUTA5MVo3QjZvV0xrUXdBQkJCQkFB
QUVFRUtnTkFoVU8KUUdyRFNWSkhCQkJBQUFFRUVFQUFBUVFRS0EyQmdtYkJLbzJxVWdzRUVFQUFB
UVFRUUFBQkJCQ283UUlFSUxYOUNsSi9CQkJBQUFFRQpFRUFBQVFScWtVREJUMElmTVdKRUxUcXQw
cWlxSHQ1SVFnQUJCQkJBQUFFRUVFQUFnZDhGQ2c1QTFsdHZQUnMyYk5qdmU5YkRkNU1tClRUTDN6
QTV6enpQeHI4MmFOVFAzWEJJL0NGOVRBbXZBdUtZYWRzLzZzRHZ2dkxNZUNuSEtDQ0NBQUFJSUlJ
QUFBZ2lrQzlBRks5MkgKclFnZ2dBQUNDQ0NBQUFJSUlGQ0pBcFVlZ0l3YU5jbzBoU3dKQVFRUVFB
QUJCQkJBQUFFRUVFZ0tWSG9BTW1iTUdQdnh4eCtUeDJFWgpBUVFRUUFBQkJCQkFBQUVFRUxDQ3g0
QlVoWlZhU2w1NjZTVWJNR0NBTC82UlJ4NnhsaTFiMnRaYmIyMkxGeSsyaVJNbjJwNTc3bWw2Ckt2
aDk5OTFublRwMXNwMTMzdG5uMVFNUXAwK2ZucW1XeG1KMDd0elp0dGxtRzk4Q2M4ODk5OWp5eXk5
djdkcTFzMzc5K2xtalJvMTgKM2djZWVNQmF0Mjd0SDV5b0J5aUdwR1B0dU9PT2ZreUgxazJaTXNX
UDUralJvMGZJd2lzQ0NDQ0FBQUlJSUlBQUFnaFVVS0RjTFNDRApCdy8ySCtLN2RldG10OXh5UzVs
cVBQUE1NN2JSUmh0Wno1NDk3ZEZISDgxc3UvTEtLMzJRMExWclY5dDMzMzN0czg4K3MrT09PeTR6
CnVIM3k1TWsrR05IK1M1Y3V0WXN2dnRpdXZ2cHFIeGc4OU5CRDlzYy8vdEZPTyswMFg5NkVDUlBz
cEpOT3NxZWZmdHFlZlBKSnUrR0cKRzJ5MzNYYXp4eDU3ektaTm0rYlg2NzFtN3pyMjJHUDlQbEVV
K2YySERoM3FneENWcFhWSzQ4ZVB0NzMyMnNzUElOZnk1WmRmN29NUQp2U2NoZ0FBQ0NDQ0FBQUlJ
SUlCQUpRbTREK0FGcGV1dXU2NU12cmZmZmp0eVFVTDArdXV2UjEyNmRNbHNhOTY4ZVRSOCtQQm8v
dno1CmtRc1NJdGZhRUxtWm9hS1BQLzQ0YXRxMGFmVGFhNi81dks2Rnc3L09talVyYXR1MmJXWi9G
ekJFNTU5L3ZsK2VPbldxb29ObzNMaHgKZnZuenp6K1AxbDU3YmY5K3laSWxVWnMyYlRMNzZjM0lr
U09qczg4K3U4eTZtVE5uUnB0dnZybGZwenIzN2RzMzByNnFSL3YyN1NQWAowdUczdVZhV3FFV0xG
bEgvL3YyakJRc1dSS3Vzc2txay9QSGtBcVBvMVZkZmpkNTk5OTNvazA4K2lXYlBuaDI1VnB4bzRj
S0ZrYzVICjVib1pzQ0xYQlMxS2VzWEw0VDBDQ0NDQUFBSUlJSUFBQXZWVm9Od3RJT3V2djc2cHhV
SlQwN3JBb0V3NGRNSUpKOWhLSzYxa0F3Y08KOU4yZ2xPK3V1KzZ5N2JmZjNucjE2dVh6YXRwYXBk
VlhYejNUNnFEbGRkWlp4Mzc2NlNlOU5SY1FtQXNFZk11SGxsM0E0THRTcWVWRQozYXMwRGE0TGRM
VEpKeGZrK0M1WVlWbXZyVnExeW94SjZkaXhvODJaTThlM2RxZ2VMaGpKMUYwdEtCcS9vaWwyZS9m
dWJidnZ2cnR0CnZQSEc4YUo0andBQ0NDQ0FBQUlJSUlBQUFoVVVLRmNBOHVtbm41cHJpZkFCU0NG
akpEU3VRMk02bWpScGtyZTZlcFpHU0srODhvcnYKa2hXQ0ZhM3YwS0dEdVpZSG4wVUJoZXFpOU41
Nzc5azc3N3hqVzIyMWxWOE8vNms4RjEzNlJRVVhNMmJNc0VHREJ2bGwxeUlUc3RudAp0OS91dTRY
ZGZQUE41bHB4ekxYcVpMYnhCZ0VFRUVBQUFRUVFRQUFCQkNwSG9Gd0J5UFBQUDI5cUFmblRuLzdr
UDZ5N3JrZCt3SGFvCmt1dWk1Ti8rNXovLzhTMEtlb2poUVFjZFpFODg4WVM1TGxGK20vYkpselMr
SXd3NjE0RDF1WFBuK3ZMVWlxR2tBRVJCeXZYWFgyK0gKSG5xb2FlQjVXcER6NjYrLytqTFVhcUt5
dEJ3Q25xKy8vdHEzdUdqLysrKy8zLzcydDcrVkdlU2VyNjVzUndBQkJCQkFBQUVFRUVBQQpnZndD
NVFwQU5HdVZ1bDJwaTlMWXNXTnRrMDAyc1ZOT09TVnpOQTBLVitDdzNYYmIyUVVYWE9EWHI3dnV1
bmI4OGNmN2ZicDM3MjY3CjdMSkxKbit1TnhxTXJwbXBQdnJvSXo4N2xycFRQZmpnZ3o3NDBUNEti
QlIwS0tEUUxGa2EzSjZXVGo3NVpOOGxTK1hvbjdxRnFlNEsKYU9LdElXNU1pdWw1SmpmZWVHTmFj
V3hEQUFFRUVFQUFBUVFRUUFDQklnVWFhUEJMSWZ1b2xXSFlzR0Zsc3VwNUgrcXVwTzVWYWsxWQpj
Y1VWL1JTNEdydmhCbWFidWs2RjZXL0Rqb3NXTGZKalBwUW5wRlZYWGRXKysrNjdzRmdTcjJMUnYr
V1crejFHMDNnWG5hTzZjdWxWClkxQTAvYSttODlXNXFqWEZEYmozNTNmbm5YY3U0MVVTSjBZbEVF
QUFBUVFRUUFBQkJCQ29RWUVLUFFkRXdZZVNnb3dRYUlUQUl0NmkKRUQ4L2RYRktkcE1hTW1SSVBF
dEp2RmN3RWJwbmxVU0ZxQVFDQ0NDQUFBSUlJSUFBQW5WQTRQZXY5MnZ3WkVhUEhsMkRSK2ZRQ0ND
QQpBQUlJSUlBQUFnZ2dVRjBDSlJHQVZOZkpjaHdFRUVBQUFRUVFRQUFCQkJDb1dRRUNrSnIxNStn
SUlJQUFBZ2dnZ0FBQ0NOUXJBUUtRCmVuVzVPVmtFRUVBQUFRUVFRQUFCQkdwV2dBQ2tadjA1T2dJ
SUlJQUFBZ2dnZ0FBQzlVcUFBS1JlWFc1T0ZnRUVFRUFBQVFRUVFBQ0IKbWhVZ0FLbFpmNDZPQUFJ
SUlJQUFBZ2dnZ0VDOUVpQUFxVmVYbTVORkFBRUVFRUFBQVFRUVFLQm1CUWhBYXRhZm95T0FBQUlJ
SUlBQQpBZ2dnVUs4RUNFRHExZVhtWkJGQUFBRUVFRUFBQVFRUXFGa0JBcENhOWVmb0NDQ0FBQUlJ
SUlBQUFnalVLd0VDa0hwMXVUbFpCQkJBCkFBRUVFRUFBQVFScVZvQUFwR2I5T1RvQ0NDQ0FBQUlJ
SUlBQUF2VktnQUNrWGwxdVRoWUJCQkJBQUFFRUVFQUFnWm9WSUFDcFdYK08KamdBQ0NDQ0FBQUlJ
SUlCQXZSSWdBS2xYbDV1VFJRQUJCQkJBQUFFRUVFQ2daZ1VJUUdyV242TWpnQUFDQ0NDQUFBSUlJ
RkN2QkFoQQo2dFhsNW1RUlFBQUJCQkJBQUFFRUVLaFpBUUtRbXZYbjZBZ2dnQUFDQ0NDQUFBSUkx
Q3NCQXBCNmRiazVXUVFRUUFBQkJCQkFBQUVFCmFsYUFBS1JtL1RrNkFnZ2dnQUFDQ0NDQUFBTDFT
b0FBcEY1ZGJrNFdBUVFRUUFBQkJCQkFBSUdhRlNBQXFWbC9qbzRBQWdnZ2dBQUMKQ0NDQVFMMFNJ
QUNwVjVlYmswVUFBUVFRUUFBQkJCQkFvR1lGQ0VCcTFwK2pJNEFBQWdnZ2dBQUNDQ0JRcndRSVFP
clY1ZVprRVVBQQpBUVFRUUFBQkJCQ29XUUVDa0pyMTUrZ0lJSUFBQWdnZ2dBQUNDTlFyQVFLUWVu
VzVPVmtFRUVBQUFRUVFRQUFCQkdwV2dBQ2tadjA1Ck9nSUlJSUFBQWdnZ2dBQUM5VXFBQUtSZVhX
NU9GZ0VFRUVBQUFRUVFRQUNCbWhVZ0FLbFpmNDZPQUFJSUlJQUFBZ2dnZ0VDOUVpQUEKcVZlWG01
TkZBQUVFRUVBQUFRUVFRS0JtQlFoQWF0YWZveU9BQUFJSUlJQUFBZ2dnVUs4RUNFRHExZVhtWkJG
QUFBRUVFRUFBQVFRUQpxRmtCQXBDYTllZm9DQ0NBQUFJSUlJQUFBZ2pVS3dFQ2tIcDF1VGxaQkJC
QUFBRUVFRUFBQVFScVZvQUFwR2I5T1RvQ0NDQ0FBQUlJCklJQUFBdlZLZ0FDa1hsMXVUaFlCQkJC
QUFBRUVFRUFBZ1pvVklBQ3BXWCtPamdBQ0NDQ0FBQUlJSUlCQXZSSWdBS2xYbDV1VFJRQUIKQkJC
QUFBRUVFRUNnWmdVSVFHclduNk1qZ0FBQ0NDQ0FBQUlJSUZDdkJBaEE2dFhsNW1RUlFBQUJCQkJB
QUFFRUVLaFpnWWJGSFA3Ngo2Njh2Smp0NUVVQUFBUVFRUUFBQkJCQkFBSUV5QWcwaWw4cXNZUUVC
QkJCQUFBRUVFRUFBQVFRUXFDSUJ1bUJWRVN6RklvQUFBZ2dnCmdBQUNDQ0NBd0xJQ0JDRExtckFH
QVFRUVFBQUJCQkJBQUFFRXFraUFBS1NLWUNrV0FRUVFRQUFCQkJCQUFBRUVsaFVnQUZuV2hEVUkK
SUlBQUFnZ2dnQUFDQ0NCUVJRSVZEa0FXTEZoZ1gzNzVaUlZWajJJUlFBQUJCQkJBQUFFRUVFQ2dM
Z2xVS0FDNTdycnJiTlZWVjdWNwo3NzIzTHBsd0xnZ2dnQUFDQ0NDQUFBSUlJRkJGQWtVOUJ5Ulpo
Nk9PT3NyT1B2dnM1T3FDbHUrNTV4NmJQWHUyRFJzMnpCbzNidXozCk9mYllZNjFGaXhaMjRva25X
dXZXcmYyNmp6NzZ5SzY0NGdyL3IySERodmJwcDUvYVRUZmRaQysrK0tKdHNza21ObXJVS0d2ZXZM
blAKKzh3eno5aGRkOTIxelBHYk5XdG1iZHEwc1YxMzNkVjY5T2podDArY09ORWVmUEJCYTlDZ2dU
OW1odzRkN0pCRERyRlZWbGtscy85OQo5OTFuS25PWFhYYXhIWGJZSVhPY1RBYjNSdVZNbXpiTlRq
cnBwUGhxbXp4NXNpbEF1K3l5eTZ4bHk1Wmx0ckdBQUFJSUlJQUFBZ2dnCmdFQzlGZEJ6UUFwTml4
Y3ZYaVpyKy9idG83Rmp4eTZ6UHQrS2d3OCtXTThmaVRiYWFLTm83dHk1MGZmZmZ4KzU0TUN2VzMv
OTlhT2wKUzVmNklsNSsrZVhJQlNqUnFhZWVHcm1BSmVyVXFWUGtBb3JJQlNnKzd6YmJiSk01MUo1
Nzd1blhxZHhzLzF5d0VUMy8vUE0rLzQ0Nwo3cmhNbnJYV1dpdGFzbVJKcHJ5ZGQ5NDVrOGNGUDVH
V24zMzIyY3gydlhGQm1NK2orc1hUdGRkZUc2Mnd3Z3BSTnJONFB0NGpnQUFDCkNDQ0FBQUlJSUZD
ZkJBcnFncVZXZ0VzdXVjUXV2L3h5MjJxcnJleWRkOTRwRTdEOS9QUFBObUxFQ0Z0OTlkV3RlL2Z1
dmtVZ1pGaTQKY0tHZGNjWVpmdjhERGpqQVJvOGU3VGZkZnZ2dGR2Lzk5OXU3Nzc1ci8vem5QNjFW
cTFiMnhodHYyTGh4NDJ6R2pCazJaY29VbjIvTApMYmYwclFpWFhucXBiYnZ0dHJiQkJodlluRGx6
ZkV1SVdrelVFdkt2Zi8zTDV4MC9mcndkZHRoaHZzWENYVVRUdjk5Kys4MSsrT0VIClg2NlduM3Jx
S1ovMzZhZWY5dHUxVHVOWWJyMzFWdnZzczgvczlkZGY5OXUxN3Jubm52TXRJS3JmWG52dFpTNTRN
UmVFK1B3K2svdlAKQlJxbWxpRDV5Q0NrbVRObm1ndXVUSzAySkFRUVFBQUJCQkJBQUFFRUVQaC9n
YndCeUsrLy9tcUhIMzY0OWVyVnkwNDU1UlQvQWZ5YwpjODRwNDNmSEhYZjQ0RURkbjF4TGh1Misr
KzdtV2hKOG5yMzMzdHNHRGh4b3JvWEE3My95eVNmYlcyKzlsZG5XdG0xYisrcXJyekxsCktVaFIr
dnJycnpQcmpqamlDR3ZhdEttcE85WU5OOXpnMzZ0YmxRSWJKZGRLa3NucldqRjhJQkZXTExmY2Ny
NEwxTkZISDIwcnI3eXkKYVRtWlZseHhSZHR2di8zODZtKysrY2EvS2pEU3Vic1dGenZvb0lOTVhj
WVVpTGtXalRMSFUyWjE0MUlYcnpGanh0amYvdlkzSDlpbwphNVpyWmZGbDhSOENDQ0NBQUFJSUlJ
QUFBZ2o4djBEZXIrY2JOV3BrQ2lJMjNYUlR2NGNHbld2TVF6eXAxVUZCaHRMRkYxOXNCeDU0Cm9L
bUZRV003MUpMUnUzZHZ2MDJ0STJveDZOaXhvMS9XZndwQTFFb1Nrc2FBS1AzMDAwOWhsU25ZMElm
OGZmZmQxOXExYTVkWnY4WWEKYTFpM2J0MXMrdlRwbVhYSkFDUnMrT0NERDJ6Ky9QbTIzbnJyaFZW
bFhwczBhZUpiSytiTm0rZlhxMXpWcFcvZnZ2Ym1tMi9hbW11dQphV3FOVVQzaUFaUHkzM2JiYmY1
OE5SN2xoQk5Pc1AvODV6OStmTXZJa1NQTEhJTUZCQkJBQUFFRUVFQUFBUVRxdTBEZUFFUWZ1Sys2
CjZpcmYrdkQzdi8vZEQ2N1dCL2w0Q2tHRDF2WHAwOGR2MGdmKzc3Nzd6bitBVnhraHFidFNNc1cz
SjdkcFdTMGZDa2dHRFJxMHpHWTMKWHNSLzJBOGJGSUFvcjFwaTRnUEtuM3p5U1IvSWhFQXA1SSsv
cW5WRVhiS1VGUFNvWmVXQkJ4N3d3WWZXYWJzQ3NuaTY1WlpickV1WApMdjY4MVFLa0lFVk9ibHdN
ZzgvalVMeEhBQUVFRUVBQUFRUVFRTUFKTE5zZktRdUxablBTYkZmRGh3LzNzMEdsQlF4cTNWQlhK
LzFUCmQ2YmtlSkVzeGVkZHBiRVlHa3VoMmFpU1NTMHlDalpDVWdDaXBQRWNJWDM0NFlkMjFsbG4y
WmxubnBsMUpxdVFML202NFlZYituMlMKNitQTGF1bFI5elFsemNZMVljSUVQelh4UXc4OUZNL0dl
d1FRUUFBQkJCQkFBQUVFRUhBQ2VRT1E5OTU3ejQ0NTVoZy9lRHo1N1g4MgpRWFZQVWd2SjVwdHY3
cnRhcVNWRUE3SkRVZ3RER0dBZTF1VjduVFJwa3ZYczJkTUhOY204Q2tEVTBoSlNQQURSc1RRZHJs
bzkxSHB5Cit1bW5oMnlWOXFwcGdUWDRQcVIxMWxuSFR4UHNac3V5Zi96akgyRTFyd2dnZ0FBQ0ND
Q0FBQUlJSU9BRThuYkIwbmdQTnlXdUtSRFIKc3prMEU5U2lSWXN5WFpXa3FKbW1RbEt3b0EvN0dq
T2lGb0Z6enozWGhnd1o0cCtKb1R4NmhvY0dwQmVUOUdGKzZOQ2htVjFPTysyMAp6QmdSamM5US9V
TFNnSEoxdlRydnZQTk1BODgxbUgzQWdBR1o0NGQ4K1Y3VmtoRm16SXJuMWVENjhOd1JyVThHSUZx
M3h4NTdlQVBOCmlxVmpyN2JhYWxwTlFnQUJCQkJBQUFFRUVFQ2czZ3ZrRFVCMjIyMDMyMnl6emZ5
SGFzMFVwUUhuRHovOHNIKzk4Y1liVFROVWFXQzUKV2ozVTRqQnIxaXcvcGExa08zZnViSGZlZWFk
LzJLQzZNNmw3bG1iTUNnOFpMRVJmQVpDQ0NEMElVRWtEdkRYbGJUeHA0SGM4YWFwZQpqUVBSUG4v
ODR4LzlERjN4N1lXOHYrQ0NDekpUOHNienUyZDdXTDkrL2Z5cUgzLzgwVFFJUFQ0R0p1VDk2MS8v
NnNlRGZQTEpKd1FnCkFZVlhCQkJBQUFFRUVFQUFnWG92ME1BRkRmOC82am9QaFdhcTBsUzRTcHFL
TnRrZFM0R0hBb3RzejczUUlmVFU4M2hYcFhBNHpZeWwKUUVGUERLOXJTUzFGbWwyTGhBQUNDQ0NB
QUFJSUlJQUFBdjh2a0xjRkpFQ0Y0RVBMeWVCRDZ6UWxicTZrUWV2WmdvOWMrZXZLZW9LUAp1bkls
T1E4RUVFQUFBUVFRUUFDQnloSW91QVdrc2c2WUxFY3pYT2toZm5wcU9Ba0JCQkJBQUFFRUVFQUFB
UVRxdGtDTkJ5QjFtNWV6ClF3QUJCQkJBQUFFRUVFQUFnYmhBM21sNDQ1bDVqd0FDQ0NDQUFBSUlJ
SUFBQWdoVVJJQUFwQ0o2N0lzQUFnZ2dnQUFDQ0NDQUFBSkYKQ1JDQUZNVkZaZ1FRUUFBQkJCQkFB
QUVFRUtpSUFBRklSZlRZRndFRUVFQUFBUVFRUUFBQkJJb1NJQUFwaW92TUNDQ0FBQUlJSUlBQQpB
Z2dnVUJFQkFwQ0s2TEV2QWdnZ2dBQUNDQ0NBQUFJSUZDVkFBRklVRjVrUlFBQUJCQkJBQUFFRUVF
Q2dJZ0lFSUJYUlkxOEVFRUFBCkFRUVFRQUFCQkJBb1NvQUFwQ2d1TWlPQUFBSUlJSUFBQWdnZ2dF
QkZCQWhBS3FMSHZnZ2dnQUFDQ0NDQUFBSUlJRkNVQUFGSVVWeGsKUmdBQkJCQkFBQUVFRUVBQWdZ
b0lFSUJVUkk5OUVVQUFBUVFRUUFBQkJCQkFvQ2dCQXBDaXVNaU1BQUlJSUlBQUFnZ2dnQUFDRlJF
ZwpBS21JSHZzaWdBQUNDQ0NBQUFJSUlJQkFVUUlFSUVWeGtSa0JCQkJBQUFFRUVFQUFBUVFxSWtB
QVVoRTk5a1VBQVFRUVFBQUJCQkJBCkFJR2lCQWhBaXVJaU13SUlJSUFBQWdnZ2dBQUNDRlJFZ0FD
a0lucnNpd0FDQ0NDQUFBSUlJSUFBQWtVSkVJQVV4VVZtQkJCQUFBRUUKRUVBQUFRUVFxSWdBQVVo
RjlOZ1hBUVFRUUFBQkJCQkFBQUVFaWhJb0tnRDU4c3N2N2FlZmZpcHpnT1J5bVkyMWNPR1hYMzZ4
bDE5Kwp1UmJXbkNvamdBQUNDQ0NBQUFJSUlGRDZBZ1VGSU5PblQ3ZmRkdHZOZHRsbEYxdHR0ZFhz
dU9PT3k1elpwNTkrYW5mZmZYZG1PZHViClJ4NTV4RGJZWUFOYmJybmxiUHo0OFdXeVRKczJ6UTQ5
OUZCcjBLQ0IvZkdQZjdRdnZ2aWl6UGJxWEhqdHRkZXNSNDhldHZmZWUxZm4KWVRrV0FnZ2dnQUFD
Q0NDQUFBTDFScUJCNUZMYTJTNWR1dFN1dnZwcU8vamdnMjJWVlZheGUrKzkxL2JmZjMvN3ozLytZ
OTI2ZGZPNwpmdkRCQjNienpUZmJCUmRja0xPb0o1NTR3bmJkZFZkcjBhS0ZUWjQ4MmRaZGQ5MU0z
aVZMbGxpN2R1M3NtMisrOFlGSVprTWx2QWt0Ckd0dHZ2MzFCcFkwWk04WXV1K3d5bXpWclZrSDV5
WVFBQWdnZ2dBQUNDQ0NBQUFLRkMrUnRBVm13WUlFZGRkUlJQdmhRc1dvSldYbmwKbGExMTY5YVpv
M1RwMHNWKysrMDNlL1RSUnpQcmttOGFObXhvUnh4eGhDMWV2TmoyMldjZlc3aHdZU2FMdHFubFFh
MGdGVTN4ZUVySApVdXZLaXkrK1dIQ3hqUnMzcnBSNkZIeEFNaUtBQUFJSUlJQUFBZ2dnVUk4RThn
WWd6WnMzTjMwb0QrbjY2Niszdi83MXI5YTJiZHV3CnlyOGVkTkJCZHRwcHAvbEFwTXlHMklKYVRL
NjU1aHJmZXZLblAvMHB0c1ZzK2VXWEw3T3N3T2ZZWTQrMWswNDZ5UVlOR3VTN2ZjV0QKbGpLWjNZ
SzZnYW5zU3krOTFQcjI3ZXMzangwNzFpWk1tT0M3ZlIxKytPRjIwMDAzMlVZYmJXUURCZ3d3ZFN0
VGV2dnR0MjNMTGJlMApaNTk5MWk4bi8xT3J6UERodzIzYmJiZTE3dDI3MjZ1dnZwck13aklDQ0ND
QUFBSUlJSUFBQWdnVUtKQTNBQW5sNklQNDRNR0Q3ZVNUClR6YU5sZmoxMTEvREp2KzY0WVliMm93
Wk0rek5OOThzc3o2NWNOaGhoL214SHJmY2NvdGRkOTExeWMyWlpRVUp2WHYzTm5XSlVyY3YKSFZO
ZHY3SWxkZUVhUFhxMEthZzU5ZFJUclUrZlBxYXVZNnFyQXFYOTl0dlBkTHloUTRmNmxodlZ2V3ZY
cnI0bzFYdk5OZGUwYkYyMAoxS296Wk1nUU8vZmNjMzJBMHJOblQ5dGpqejFzN3R5NTJhckJPZ1FR
UUFBQkJCQkFBQUVFRU1nalVIQUFvdFlIZGI5U1lLQ1doa3N1CnVhUk0wWTBhTmJKV3JWclorKysv
WDJaOXRvV3JycnJLTnQ5OGN6disrT1A5ZUpCa25zY2g3dGYrQUFBZ0FFbEVRVlFmZjl4ZWV1a2wK
Ty9EQUEvMG1sYTNnUVlQWlgzbmxsV1IySHhCTW5UclZKazZjNkxkcE1IdThLMWE4YTllSko1NW96
enp6akgzODhjYytyNDZqODhxVwo3cm5uSGwrT3VuQ3BUZ3BtdnYzMlczdmhoUmV5WldjZEFnZ2dn
QUFDQ0NDQUFBSUk1QkVvT0FEcDFLbVRIWERBQWI0NzAwNDc3V1QzCjNYZmZNa1ZyYklnR3BPZExU
Wm8wOGZzM2JkclU5dDEzWC92KysrL0w3UEw2NjY5Ym16WnRUSUZIU0wxNjlmSnZwMHlaRWxabFhq
VWUKUlROWERSdzQwUDc4NXorYjZocnYwaFVQUUpTblE0Y09wcTVrU2dwcU5DWWxXMUt3cytxcXEv
b3VhT3FHdHRWV1c5bFRUejNsdTJKbAp5ODg2QkJCQUFBRUVFRUFBQVFRUVNCY29PQUFKeFdncVhY
M1lYN1JvVVZpVmVkV2c3MmJObW1XVzA5NnN2ZmJhZHJPYk9VdlQrR3FHCkxYV1pDdW5ubjMrMk9Y
UG1tTWFCaEtUeEl4cXNudXU1SS8vODV6LzlPQkcxenV5d3d3NzI0NDgvaGwzTHZDb3dVVmV0Zi96
akg3NGIKbVZwMldyWnNXU1pQV0ZBZGRMNzkrdlVyODA5ZHRrZ0lJSUFBQWdnZ2dBQUNDQ0JRdkVE
UkFZZ09vUmFGMENJUlA2VEdpYWoxSVZ0UwpnQkVQTXBSbnp6MzM5T00wMUwxSlhadEMwdmdNamI5
NDQ0MDN3aXFiUFh1MmFheUhuaWVTVEpveVY5dXZ1T0lLMzFWS0E4dnZ1dXV1ClRMWjRDNGhXSG5u
a2tiN2Ixc2lSSTIyYmJiYko1RXUrNmR5NXMyL3hpQWRiNnRyMTNIUFBKYk95akFBQ0NDQ0FBQUlJ
SUlBQUFnVUkKNUExQTFCcnhyMy85S3pPbVFvR0JBb2J6emp1dlRQSGZmZmVkbjJKWEE3V3pKWFd6
VXBDUVRCZGVlT0V5UVlBR2piZHYzOTUvK0EvNQo5ZXdRQlNaNmxrZ3k2ZGpoWVlnNzc3eXpEMnhX
V21rbG4wMnRHK0hoaGovODhJTmZweTViR2wraWJsanFraFZQR3FDdWxod2x0Y3dvCnFOSTB4TnBY
OVI4MWFwUnAybUVTQWdnZ2dBQUNDQ0NBQUFJSUZDL1FNTjh1K2dDKzExNTcrV2QvYUF6SXZIbno3
S0tMTGxxbXBVTmoKS1RSRGxMcFdKZE1kZDl4aENqVDBJYjVqeDQ1MjlORkhaN0tvVzVWYUsrTHJW
bHh4UlQ5OTdpR0hIT0tmUDZLcGMrKzg4MDU3OE1FSApmVGVzek02eE4zLzcyOTk4OTY4MTFsakRk
NmtLTTJiMTc5L2YxMWRkdDFUdmtEU29QZGxsVEdOUGRCd0ZOT3JLcGVlV2pCczN6azQ0CjRRUzc3
YmJiL0F4YUNscm9naFVVZVVVQUFRUVFRQUFCQkJCQW9EaUJ2RTlDRDhXcEJVTlBRcytWMUoxS0gv
QTFyVzE1a3FhMlRZN0YKVUhlbkR6LzgwSS9EV0dlZGRYSVdxNjVkR3F1aE1qUndYUUZNUEdrc1Iv
ekJpZHFtUUVMZHhkUmlraStwVmVUenp6LzN3Wk1DSmhJQwpDQ0NBQUFJSUlJQUFBZ2lVVDZEZ0FD
U3QrRFBQUE5NME01WWUxbGZxYWY3OCtiYkNDaXY0N2xXYVpqYzVQcVRVNjAvOUVFQUFBUVFRClFB
QUJCQkNvelFKNXg0RGtPems5RTJQMzNYZXZGY0dIdWxPMWFOSEMxSnFpWjRVUWZPUzd1bXhIQUFF
RUVFQUFBUVFRUUtCeUJTcWwKQmFSeXExUjFwYWtibVFhcnE3dFl1M2J0cXU1QWxJd0FBZ2dnZ0FB
Q0NDQ0FBQUpaQmVwVkFKSlZnSlVJSUlBQUFnZ2dnQUFDQ0NCUQpiUUlWN29KVmJUWGxRQWdnZ0FB
Q0NDQ0FBQUlJSUZEckJRcWUwbW5FaUJHMS9tU3Ird1JHang1ZDNZZmtlQWdnZ0FBQ0NDQ0FBQUlJ
CmxMUkF3UUhJZXV1dFo4T0dEU3ZwazZucXlrMmFOTWxQOGJ2eXlpdjcxMmJObXZrWnRSbzNidXlm
VDZKQjdYcFE0eSsvL09LZkoxTFYKOWFGOEJCQkFBQUVFRUVBQUFRUnFtd0Jkc0dyYkZhTytDQ0NB
QUFJSUlJQUFBZ2pVWW9GS0QwQkdqUnJsbjVaZWkwMm9PZ0lJSUlBQQpBZ2dnZ0FBQ0NGU1JRS1VI
SUdQR2pMRWZmL3l4aXFwTHNRZ2dnQUFDQ0NDQUFBSUlJRkNiQlFvZUExSVZKemx2M2p4NzZhV1hi
TUNBCkFiNzRSeDU1eEZxMmJHbGJiNzIxTFY2ODJDWk9uT2lmMmFIbmQ5eDMzMzNXcVZNbjIzbm5u
WDFlUFFCeCt2VHBtV3JwNmVhZE8zZTIKYmJiWnhyZkE2Q25ueXkrL3ZIL2VSNzkrL2F4Um8wWSs3
d01QUEdDdFc3ZTJQbjM2bU1adWhLUmo3Ympqam41TWg5Wk5tVExGaitmbwowYU5IeU1JckFnZ2dn
QUFDQ0NDQUFBSUlWRkNnM0MwZ2d3Y1A5aC9pdTNYclpyZmNja3VaYWp6enpETzIwVVliV2MrZVBl
M1JSeC9OCmJMdnl5aXQ5a05DMWExZmJkOTk5N2JQUFByUGpqanN1TTdoOTh1VEpQaGpSL2t1WExy
V0xMNzdZcnI3NmFoOFlQUFRRUS83cDVhZWQKZHBvdmI4S0VDWGJTU1NmWjAwOC9iVTgrK2FUZGNN
TU50dHR1dTlsamp6MW0wNlpOOCt2MVhyTjNIWHZzc1g2ZktJcE0rdzhkT3RRSApJWHF2ZFVyang0
KzN2ZmJheXc4ZzEvTGxsMS91Z3hDOUp5R0FBQUlJSUlBQUFnZ2dnRUFsQ2JnUDRBV2w2NjY3cmt5
K3Q5OStPM0pCClF2VDY2NjlIWGJwMHlXeHIzcng1Tkh6NDhHaisvUG1SQ3hJaTE5b1F1Wm1ob284
Ly9qaHEyclJwOU5wcnIvbThyb1hEdjg2YU5TdHEKMjdadFpuOFhNRVRubjMrK1g1NDZkYXFpZzJq
Y3VIRisrZlBQUDQvV1hudHQvMzdKa2lWUm16WnRNdnZwemNpUkk2T3p6ejY3ekxxWgpNMmRHbTIr
K3VWK25PdmZ0MnpmU3ZxcEgrL2J0STlmUzRiZTVWcGFvUllzV1VmLysvYU1GQ3haRXE2eXlTcVQ4
OGVRQ28ralZWMStOCjNuMzMzZWlUVHo2SlpzK2VIYmxXbkdqaHd2OXI3OTVETGF1ck9JRC9GTXNw
clJ5MTFHcXltRlJLbXhSVEs0bWVaTkZNVFZHVWxJV0YKbWlHa2xWWVdQUlNoMG1vb2liSzAwcWta
c3NrZUVQUk9SSVBzQVRLcFF6VmtVS2I0S2pQRnl0dGVQem1uTTNjbTd5eVgwNUU1bncxMwo3am43
ckxYMzJaL3p6LzNPNy9mYjU4NjV1SjQ0N25BSHJMbGhDdHJjZksvSjQzaE1nQUFCQWdRSUVDQkFZ
RllGN3ZjSXlBRUhITkJpCnhDSnVUVHNFZzAzaTBNa25uOXgyM1hYWHRtTEZpajROS3VyV3JsM2Ju
di84NTdmRER6KzgxKzYwMDcyenYvYmFhNi94cUVPOHNIVHAKMG5iSEhYZjBtaUVRdENFSTlKR1Ay
REVFaGo2VktrWk9ZbnBWM0FaM0NEcTlOdjRaUWs2ZmdqWGVNVHhZdkhqeGVFM0t2dnZ1MjI2Ngo2
YVkrMmhIdll3Z2o0L2NlSXlpeGZpVnVzWHZFRVVlMDVjdVh0NE1PT21qeVVCNFRJRUNBQUFFQ0JB
Z1FJRkFVdUY4QjVMcnJybXZEClNFUVBJRnV6UmlMV2RjU2Fqa1dMRmkzNGR1TzdORWJiejM3MnN6
NGxheFJXWXYrU0pVdmFNUExRU3lKUXhIdUo3ZXFycjI3cjE2OXYKUng1NVpIOCsraWVPTjZUTC9q
VEN4WVlORzlyS2xTdjc4MkZFWmxUV1ZxOWUzYWVGZmVsTFgyckRLRTRiUm5YR3IzbEFnQUFCQWdR
SQpFQ0JBZ01BREkzQy9Bc2lsbDE3YVlnVGt4Qk5QN0grc0QxT1Arb0x0MFZzYXBpajFoMWRkZFZV
ZlVZZ3ZNVHo2NktQYjk3NzN2VFpNCmllcXZSYzlDVzZ6dkdDMDZqd1hydDkxMld6OWVqR0xFRmdF
a1FzcDU1NTNYampubW1CWUx6KzhyNU54OTk5MzlHREZxRXNlSzU2UEEKYy8zMTE3Y1ljWW4rZGV2
V3RYUFBQWGVUUmU0THZWZXZFeUJBZ0FBQkFnUUlFQ0N3c01EOUNpQngxNnFZZGhWVGxGYXRXdFdX
TFZ2VwpUanZ0dFBIWllsRjRCSWZuUGU5NTdheXp6dXI3bi96a0o3ZTN2LzN0dmVmUVF3OXRSeDEx
MUxqK2Z6Mkl4ZWh4WjZxTkd6ZjJ1MlBGCmRLcExMcm1raDUvb2lXQVRvU01DUmR3bEt4YTMzOWQy
NnFtbjlpbFpjWno0aVdsaDhkNGowRXlPaGd4clVscDhuOG41NTU5L1g0ZnoKR2dFQ0JBZ1FJRUNB
QUFFQ1NZRWRZdkhMMXZURUtNUHh4eCsvU1dsODMwZE1WNHJwVlRHYXNNc3V1L1JiNE1aSXdyQXd1
OFhVcWRIdApiMGVOZDkxMVYxL3pFVFdqYlk4OTltZzMzM3p6Nk9tRDRuZXd4TStPTy80M284VjZs
N2pHbU1vVnYyTU5TdHorTjI3bkc5Y2FveW5ECmd2dCtmV3ZXck5uTTYwRnhZZDRFQVFJRUNCQWdR
SUFBZ1NrS2xMNEhKTUpIYkJFeVJrRmpGQ3dtUnhRbXJ5K21PTTJmSm5Yc3NjZE8KbGp3b0hrZVlH
RTNQZWxDOElXK0NBQUVDQkFnUUlFQ0F3SFlnOE4vLzNwL2l4Wnh6empsVFBMdFRFeUJBZ0FBQkFn
UUlFQ0R3L3hKNApVQVNRLzlmRk9nOEJBZ1FJRUNCQWdBQUJBdE1WRUVDbTYrL3NCQWdRSUVDQUFB
RUNCR1pLUUFDWnFZL2J4UklnUUlBQUFRSUVDQkNZCnJvQUFNbDEvWnlkQWdBQUJBZ1FJRUNBd1V3
SUN5RXg5M0M2V0FBRUNCQWdRSUVDQXdIUUZCSkRwK2pzN0FRSUVDQkFnUUlBQWdaa1MKRUVCbTZ1
TjJzUVFJRUNCQWdBQUJBZ1NtS3lDQVROZmYyUWtRSUVDQUFBRUNCQWpNbElBQU1sTWZ0NHNsUUlB
QUFRSUVDQkFnTUYwQgpBV1M2L3M1T2dBQUJBZ1FJRUNCQVlLWUVCSkNaK3JoZExBRUNCQWdRSUVD
QUFJSHBDZ2dnMC9WM2RnSUVDQkFnUUlBQUFRSXpKU0NBCnpOVEg3V0lKRUNCQWdBQUJBZ1FJVEZk
QUFKbXV2N01USUVDQUFBRUNCQWdRbUNrQkFXU21QbTRYUzRBQUFRSUVDQkFnUUdDNkFnTEkKZFAy
ZG5RQUJBZ1FJRUNCQWdNQk1DUWdnTS9WeHUxZ0NCQWdRSUVDQUFBRUMweFVRUUticjcrd0VDQkFn
UUlBQUFRSUVaa3BBQUptcApqOXZGRWlCQWdBQUJBZ1FJRUppdWdBQXlYWDluSjBDQUFBRUNCQWdR
SURCVEFnTElUSDNjTHBZQUFRSUVDQkFnUUlEQWRBVUVrT242Ck96c0JBZ1FJRUNCQWdBQ0JtUklR
UUdicTQzYXhCQWdRSUVDQUFBRUNCS1lySUlCTTE5L1pDUkFnUUlBQUFRSUVDTXlVZ0FBeVV4KzMK
aXlWQWdBQUJBZ1FJRUNBd1hRRUJaTHIrems2QUFBRUNCQWdRSUVCZ3BnUUVrSm42dUYwc0FRSUVD
QkFnUUlBQWdla0tDQ0RUOVhkMgpBZ1FJRUNCQWdBQUJBak1sSUlETTFNZnRZZ2tRSUVDQUFBRUNC
QWhNVjBBQW1hNi9zeE1nUUlBQUFRSUVDQkNZS1FFQlpLWStiaGRMCmdBQUJBZ1FJRUNCQVlMb0NB
c2gwL1oyZEFBRUNCQWdRSUVDQXdFd0pDQ0F6OVhHN1dBSUVDQkFnUUlBQUFRTFRGUkJBcHV2djdB
UUkKRUNCQWdBQUJBZ1JtU2tBQW1hbVAyOFVTSUVDQUFBRUNCQWdRbUs2QUFESmRmMmNuUUlBQUFR
SUVDQkFnTUZNQ0FzaE1mZHd1bGdBQgpBZ1FJRUNCQWdNQjBCUVNRNmZvN093RUNCQWdRSUVDQUFJ
R1pFaEJBWnVyamRyRUVDQkFnUUlBQUFRSUVwaXNnZ0V6WDM5a0pFQ0JBCmdBQUJBZ1FJekpTQUFE
SlRIN2VMSlVDQUFBRUNCQWdRSURCZGdaMHlwei92dlBNeTVXb0pFQ0JBZ0FBQkFnUUlFQ0N3aWNB
T2M4TzIKeVI1UENCQWdRSUFBQVFJRUNCQWdzSTBFVE1IYVJyQU9TNEFBQVFJRUNCQWdRSURBNWdJ
Q3lPWW05aEFnUUlBQUFRSUVDQkFnc0kwRQpCSkJ0Qk91d0JBZ1FJRUNBQUFFQ0JBaHNMaUNBYkc1
aUR3RUNCQWdRSUVDQUFBRUMyMGlnSEVEKy92ZS90ei85NlUvYjZPMDVMQUVDCkJBZ1FJRUNBQUFF
QzI1TkFLWUI4N25PZmEzdnNzVWU3K09LTHR5Y1QxMEtBQUFFQ0JBZ1FJRUNBd0RZU1NIMFB5UHoz
Y01JSko3UVAKZnZDRDgzZHYxZk92ZmUxcjdjWWJiMnpISDM5OGUraERIOXA3VGpycHBQYW9SejJx
blhMS0tXM1BQZmZzK3padTNOZysrY2xQOXArZApkdHFwWFhmZGRlMkNDeTVvbDExMldWdTJiRms3
NDR3ejJpTWYrY2hlKzZNZi9haXRYYnQycy9NLy9PRVBiNDkrOUtQYlMxN3lrdmFNClp6eWp2Lzdk
NzM2M1hYTEpKVzJISFhibzUxeXlaRWw3d3h2ZTBIYmZmZmR4LzllLy92VVd4enpxcUtQYUMxN3dn
dkY1eGdYRGd6ak8KTmRkYzA5NzV6bmRPN202LytNVXZXZ1Mwczg4K3UrMjIyMjZidk9ZSkFRSUVD
QkFnUUlBQWdaa1ZpTzhCMmRydG4vLzg1MmFsajMvOAo0K2RXclZxMTJmNkZkcnorOWErUDd4K1pP
L0RBQStkdXUrMjJ1VnR1dVdWdUNBZDkzd0VISERCM3p6MzM5RU5jY2NVVmMwTkFtWHYzCnU5ODlO
d1NXdVNjKzhZbHpRNkNZR3dKS3IzM09jNTR6UHRVclh2R0t2aStPdTZXZklXek1YWHJwcGIzK2hT
OTg0V1kxVDNqQ0UrYisKOWE5L2pZLzM0aGUvZUZ3emhKKzVlUDZUbi94ay9IbzhHRUpZcjRuM043
bDk5ck9mbmR0NTU1M250bVEyV2VjeEFRSUVDQkFnUUlBQQpnVmtTMktvcFdERUs4TkdQZnJSOTRo
T2ZhRWNlZVdSYnYzNzlKb0h0SC8vNFIzdlh1OTdWOXRwcnIzYm9vWWYyRVlGUndaMTMzdG5lCjk3
NzM5ZjdYdnZhMTdaeHp6dWt2clY2OXVxMWJ0Njc5NWplL2FWLzk2bGZiNHNXTDI1VlhYdGsrODVu
UHRBMGJOclJmLy9yWHZlNVoKejNwV0gwWDQyTWMrMXA3NzNPZTJwenpsS2UybW0yN3FJeUV4WWhJ
aklaZGZmbm12L2VZM3Y5bmUrTVkzOWhHTDRVTnM4ZlB2Zi8rNwozWHJycmYyNDhmd0hQL2hCci8z
aEQzL1lYNDk5c1k3bHdnc3ZiSC84NHgvYnozLys4LzU2N1B2cFQzL2FSMERpL2IzeWxhOXNRM2hw
ClF3anA5YjFvK0djSUdpMUdnc0luREViYjczLy8remFFcXhhak5qWUNCQWdRSUVDQUFBRUNCTzRW
V0RDQTNIMzMzZTFOYjNwVE8vencKdzl0cHA1M1cvd0QvMEljK3RJbmZWNzd5bFI0T1l2clRNSkxS
bGk5ZjNvYVJoRjd6cWxlOXFxMVlzYUlOSXdTOS85UlRUMjIvK3RXdgp4cS90czg4KzdjOS8vdlA0
ZUJGU1lydisrdXZIKzk3eWxyZTBoejNzWVMybVkzM2hDMS9vajJOYVZRU2IySVpSa25IdE1JclJn
OFJvCng0NDc3dGluUUwzMXJXOXRqM2pFSTFvOG43L3Rzc3N1N1RXdmVVM2ZmY01OTi9UZkVZemky
b2NSbDNiMDBVZTNtRElXUVd3WTBkamsKZkZFYzA3aGlpdGZIUC83eGR1NjU1L1pnRTFPemhsR1dm
aXovRUNCQWdBQUJBZ1FJRUNCd3I4Q0MvejMva0ljOHBFV0llUHJUbjk0NwpZdEY1ckhtWTNHTFVJ
VUpHYkIvNXlFZmE2MTczdWhZakRMRzJJMFl5ampqaWlQNWFqSTdFaU1HKysrN2JuOGMvRVVCaWxH
UzB4UnFRCjJPNjQ0NDdScmhaaEkvN0lmL1dyWDkwZSs5akhqdmZ2dmZmZTdXbFBlMXE3OXRwcngv
dm1CNURSQzcvOTdXL2I3YmZmM3ZiZmYvL1IKcmsxK0wxcTBxSTlXL1BXdmYrMzc0N2p4WHA3OTdH
ZTNYLzd5bCsxeGozdGNpOUdZZUIrVGdTbnFMN3Jvb242OXNSN2w1Sk5QYmxkZApkVlZmMzNMNjZh
ZHZjZzVQQ0JBZ1FJQUFBUUlFQ015NndJSUJKUDdnL3RTblB0VkhIejcvK2MvM3hkWHhoL3prTmdv
TnNlK1p6M3htCmZ5bis0TC81NXB2N0gvQnhqTkVXMDVYbWI1T3Z6Mzh0bnNmSVJ3U1NsU3RYYnZi
eXNGNmsvN0UvZWlFQ1NOVEdTTXprZ3ZMdmYvLzcKUGNpTWd0S29mdkozakk3RWxLellJdlRFeU1v
M3Z2R05IajVpWDd3ZWdXeHkrL0tYdjl6MjIyKy9mdDB4QWhRaEpaeUdkVEVXbjA5QwplVXlBQUFF
Q0JBZ1FJRUJnRU5oOFB0SVdXT0p1VG5HM3EzZTg0eDM5YmxEM0ZSaGlkQ09tT3NWUFRHZWF2MTVr
QzRkZmNGZXN4WWkxCkZIRTNxdmxiak1oRTJCaHRFVUJpaS9VY28rMTN2L3RkKzhBSFB0RGUvLzcz
Yi9GT1ZxTzYrYitmK3RTbjlwNzUreWVmeDBoUFRFK0wKTGU3RzllMXZmN3ZmbXZoYjMvcldaSm5I
QkFnUUlFQ0FBQUVDQkFnTUFnc0drS3V2dnJxOTdXMXY2NHZINS8vdi81WUVZM3BTakpBYwpjc2do
ZmFwVmpJVEVndXpSRmlNTW93WG1vMzBML2Y3eGozL2NEanZzc0I1cTV0ZEdBSW1SbHRFMkdVRGlY
SEU3M0JqMWlOR1Q5NzczCnZhT3lCK3gzM0JZNEZ0K1B0cVZMbC9iYkJBOTN5MnBmL09JWFI3djlK
a0NBQUFFQ0JBZ1FJRUJnRUZod0NsYXM5eGh1aWRzaWlNUjMKYzhTZG9PNjY2Njd4VktWUWpEdE5q
YllJQy9ISGZxd1ppUkdCRDMvNHcrM1lZNC90MzRrUk5mRWRIckVnUGJQRkgvTnZmdk9ieHkzdgpl
Yzk3eG10RVluMUd2TC9SRmd2S1krclZtV2VlMldMaGVTeG1mOW5MWGpZKy82aHVvZDh4a2pHNlk5
WmtiU3l1SDMzdlNPeWZIMEJpCjM4dGYvdkp1RUhmRmluTS81akdQaWQwMkFnUUlFQ0JBZ0FBQkFq
TXZzR0FBZWVsTFg5b09QdmpnL2tkMTNDa3FGcHgvNXp2ZjZiL1AKUC8vOEZuZW9pb1hsTWVvUkl3
NS8rY3RmK2kxdFEvWkpUM3BTVzdObVRmK3l3WmpPRk5PejRvNVpveThaM0JyOUNFQVJJdUtMQUdP
TApCZDV4eTl2SkxSWitUMjV4cTk1WUJ4STl4eDEzWEw5RDErVHJXL1A0ckxQT0d0K1NkN0orK0c2
UDlxSVh2YWp2K3R2Zi90WmlFZnJrCkdwaFI3YWMvL2VtK0h1UVBmL2lEQURKQzhac0FBUUlFQ0JB
Z1FHRG1CWFlZUXNPOXE2NFhvSWc3VmNXdGNHT0xXOUhPbjQ0VndTT0MKeFphKzl5Sk9FZDk2UGps
VmFYUzZ1RE5XQklYNHh2RHRiWXVSb3JpN2xvMEFBUUlFQ0JBZ1FJQUFnWHNGRmh3QkdVR053a2M4
bng4KwpZbC9jRXZkL2JiRm9mVXZoNDMvVmJ5LzdoWS90NVpOMEhRUUlFQ0JBZ0FBQkFnK1V3RmFQ
Z0R4UUo1eC9uTGpEVlh5SlgzeHJ1STBBCkFRSUVDQkFnUUlBQWdlMWJZT29CWlB2bWRYVUVDQkFn
UUlBQUFRSUVDRXdLTEhnYjNzbGlqd2tRSUVDQUFBRUNCQWdRSUZBUkVFQXEKZW5vSkVDQkFnQUFC
QWdRSUVFZ0pDQ0FwTHNVRUNCQWdRSUFBQVFJRUNGUUVCSkNLbmw0Q0JBZ1FJRUNBQUFFQ0JGSUNB
a2lLU3pFQgpBZ1FJRUNCQWdBQUJBaFVCQWFTaXA1Y0FBUUlFQ0JBZ1FJQUFnWlNBQUpMaVVreUFB
QUVDQkFnUUlFQ0FRRVZBQUtubzZTVkFnQUFCCkFnUUlFQ0JBSUNVZ2dLUzRGQk1nUUlBQUFRSUVD
QkFnVUJFUVFDcDZlZ2tRSUVDQUFBRUNCQWdRU0FrSUlDa3V4UVFJRUNCQWdBQUIKQWdRSVZBUUVr
SXFlWGdJRUNCQWdRSUFBQVFJRVVnSUNTSXBMTVFFQ0JBZ1FJRUNBQUFFQ0ZRRUJwS0tubHdBQkFn
UUlFQ0JBZ0FDQgpsSUFBa3VKU1RJQUFBUUlFQ0JBZ1FJQkFSVUFBcWVqcEpVQ0FBQUVDQkFnUUlF
QWdKU0NBcExnVUV5QkFnQUFCQWdRSUVDQlFFUkJBCktucDZDUkFnUUlBQUFRSUVDQkJJQ1FnZ0tT
N0ZCQWdRSUVDQUFBRUNCQWhVQkFTUWlwNWVBZ1FJRUNCQWdBQUJBZ1JTQWdKSWlrc3gKQVFJRUNC
QWdRSUFBQVFJVkFRR2tvcWVYQUFFQ0JBZ1FJRUNBQUlHVWdBQ1M0bEpNZ0FBQkFnUUlFQ0JBZ0VC
RlFBQ3A2T2tsUUlBQQpBUUlFQ0JBZ1FDQWxJSUNrdUJRVElFQ0FBQUVDQkFnUUlGQVJFRUFxZW5v
SkVDQkFnQUFCQWdRSUVFZ0pDQ0FwTHNVRUNCQWdRSUFBCkFRSUVDRlFFQkpDS25sNENCQWdRSUVD
QUFBRUNCRklDQWtpS1N6RUJBZ1FJRUNCQWdBQUJBaFVCQWFTaXA1Y0FBUUlFQ0JBZ1FJQUEKZ1pT
QUFKTGlVa3lBQUFFQ0JBZ1FJRUNBUUVWQUFLbm82U1ZBZ0FBQkFnUUlFQ0JBSUNVZ2dLUzRGQk1n
UUlBQUFRSUVDQkFnVUJFUQpRQ3A2ZWdrUUlFQ0FBQUVDQkFnUVNBa0lJQ2t1eFFRSUVDQkFnQUFC
QWdRSVZBUUVrSXFlWGdJRUNCQWdRSUFBQVFJRVVnSUNTSXBMCk1RRUNCQWdRSUVDQUFBRUNGUUVC
cEtLbmx3QUJBZ1FJRUNCQWdBQ0JsSUFBa3VKU1RJQUFBUUlFQ0JBZ1FJQkFSVUFBcWVqcEpVQ0EK
QUFFQ0JBZ1FJRUFnSlNDQXBMZ1VFeUJBZ0FBQkFnUUlFQ0JRRVJCQUtucDZDUkFnUUlBQUFRSUVD
QkJJQ1FnZ0tTN0ZCQWdRSUVDQQpBQUVDQkFoVUJBU1FpcDVlQWdRSUVDQkFnQUFCQWdSU0FnSklp
a3N4QVFJRUNCQWdRSUFBQVFJVkFRR2tvcWVYQUFFQ0JBZ1FJRUNBCkFJR1VnQUNTNGxKTWdBQUJB
Z1FJRUNCQWdFQkZRQUNwNk9rbFFJQUFBUUlFQ0JBZ1FDQWxJSUNrdUJRVElFQ0FBQUVDQkFnUUlG
QVIKRUVBcWVub0pFQ0JBZ0FBQkFnUUlFRWdKQ0NBcExzVUVDQkFnUUlBQUFRSUVDRlFFQkpDS25s
NENCQWdRSUVDQUFBRUNCRklDQWtpSwpTekVCQWdRSUVDQkFnQUFCQWhVQkFhU2lwNWNBQVFJRUNC
QWdRSUFBZ1pTQUFKTGlVa3lBQUFFQ0JBZ1FJRUNBUUVWQUFLbm82U1ZBCmdBQUJBZ1FJRUNCQUlD
VWdnS1M0RkJNZ1FJQUFBUUlFQ0JBZ1VCRVFRQ3A2ZWdrUUlFQ0FBQUVDQkFnUVNBa0lJQ2t1eFFR
SUVDQkEKZ0FBQkFnUUlWQVFFa0lxZVhnSUVDQkFnUUlBQUFRSUVVZ0lDU0lwTE1RRUNCQWdRSUVD
QUFBRUNGUUVCcEtLbmx3QUJBZ1FJRUNCQQpnQUNCbElBQWt1SlNUSUFBQVFJRUNCQWdRSUJBUlVB
QXFlanBKVUNBQUFFQ0JBZ1FJRUFnSlNDQXBMZ1VFeUJBZ0FBQkFnUUlFQ0JRCkVSQkFLbnA2Q1JB
Z1FJQUFBUUlFQ0JCSUNRZ2dLUzdGQkFnUUlFQ0FBQUVDQkFoVUJBU1FpcDVlQWdRSUVDQkFnQUFC
QWdSU0FnSkkKaWtzeEFRSUVDQkFnUUlBQUFRSVZBUUdrb3FlWEFBRUNCQWdRSUVDQUFJR1VnQUNT
NGxKTWdBQUJBZ1FJRUNCQWdFQkZRQUNwNk9rbApRSUFBQVFJRUNCQWdRQ0FsSUlDa3VCUVRJRUNB
QUFFQ0JBZ1FJRkFSRUVBcWVub0pFQ0JBZ0FBQkFnUUlFRWdKQ0NBcExzVUVDQkFnClFJQUFBUUlF
Q0ZRRUJKQ0tubDRDQkFnUUlFQ0FBQUVDQkZJQ0FraUtTekVCQWdRSUVDQkFnQUFCQWhVQkFhU2lw
NWNBQVFJRUNCQWcKUUlBQWdaU0FBSkxpVWt5QUFBRUNCQWdRSUVDQVFFVkFBS25vNlNWQWdBQUJB
Z1FJRUNCQUlDVWdnS1M0RkJNZ1FJQUFBUUlFQ0JBZwpVQkVRUUNwNmVna1FJRUNBQUFFQ0JBZ1FT
QWtJSUNrdXhRUUlFQ0JBZ0FBQkFnUUlWQVFFa0lxZVhnSUVDQkFnUUlBQUFRSUVVZ0lDClNJcExN
UUVDQkFnUUlFQ0FBQUVDRlFFQnBLS25sd0FCQWdRSUVDQkFnQUNCbElBQWt1SlNUSUFBQVFJRUNC
QWdRSUJBUlVBQXFlanAKSlVDQUFBRUNCQWdRSUVBZ0pTQ0FwTGdVRXlCQWdBQUJBZ1FJRUNCUUVS
QkFLbnA2Q1JBZ1FJQUFBUUlFQ0JCSUNRZ2dLUzdGQkFnUQpJRUNBQUFFQ0JBaFVCQVNRaXA1ZUFn
UUlFQ0JBZ0FBQkFnUlNBZ0pJaWtzeEFRSUVDQkFnUUlBQUFRSVZBUUdrb3FlWEFBRUNCQWdRCklF
Q0FBSUdVZ0FDUzRsSk1nQUFCQWdRSUVDQkFnRUJGUUFDcDZPa2xRSUFBQVFJRUNCQWdRQ0FsSUlD
a3VCUVRJRUNBQUFFQ0JBZ1EKSUZBUkVFQXFlbm9KRUNCQWdBQUJBZ1FJRUVnSkNDQXBMc1VFQ0JB
Z1FJQUFBUUlFQ0ZRRUJKQ0tubDRDQkFnUUlFQ0FBQUVDQkZJQwpBa2lLU3pFQkFnUUlFQ0JBZ0FB
QkFoVUJBYVNpcDVjQUFRSUVDQkFnUUlBQWdaU0FBSkxpVWt5QUFBRUNCQWdRSUVDQVFFVkFBS25v
CjZTVkFnQUFCQWdRSUVDQkFJQ1VnZ0tTNEZCTWdRSUFBQVFJRUNCQWdVQkVRUUNwNmVna1FJRUNB
QUFFQ0JBZ1FTQWtJSUNrdXhRUUkKRUNCQWdBQUJBZ1FJVkFRRWtJcWVYZ0lFQ0JBZ1FJQUFBUUlF
VWdJQ1NJcExNUUVDQkFnUUlFQ0FBQUVDRlFFQnBLS25sd0FCQWdRSQpFQ0JBZ0FDQmxJQUFrdUpT
VElBQUFRSUVDQkFnUUlCQVJVQUFxZWpwSlVDQUFBRUNCQWdRSUVBZ0pTQ0FwTGdVRXlCQWdBQUJB
Z1FJCkVDQlFFUkJBS25wNkNSQWdRSUFBQVFJRUNCQklDUWdnS1M3RkJBZ1FJRUNBQUFFQ0JBaFVC
QVNRaXA1ZUFnUUlFQ0JBZ0FBQkFnUlMKQWdKSWlrc3hBUUlFQ0JBZ1FJQUFBUUlWQVFHa29xZVhB
QUVDQkFnUUlFQ0FBSUdVZ0FDUzRsSk1nQUFCQWdRSUVDQkFnRUJGUUFDcAo2T2tsUUlBQUFRSUVD
QkFnUUNBbElJQ2t1QlFUSUVDQUFBRUNCQWdRSUZBUkVFQXFlbm9KRUNCQWdBQUJBZ1FJRUVnSkND
QXBMc1VFCkNCQWdRSUFBQVFJRUNGUUVCSkNLbmw0Q0JBZ1FJRUNBQUFFQ0JGSUNBa2lLU3pFQkFn
UUlFQ0JBZ0FBQkFoVUJBYVNpcDVjQUFRSUUKQ0JBZ1FJQUFnWlNBQUpMaVVreUFBQUVDQkFnUUlF
Q0FRRVZBQUtubzZTVkFnQUFCQWdRSUVDQkFJQ1VnZ0tTNEZCTWdRSUFBQVFJRQpDQkFnVUJFUVFD
cDZlZ2tRSUVDQUFBRUNCQWdRU0FrSUlDa3V4UVFJRUNCQWdBQUJBZ1FJVkFRRWtJcWVYZ0lFQ0JB
Z1FJQUFBUUlFClVnSUNTSXBMTVFFQ0JBZ1FJRUNBQUFFQ0ZRRUJwS0tubHdBQkFnUUlFQ0JBZ01M
ak5XOEFBQVZZU1VSQlZBQ0JsSUFBa3VKU1RJQUEKQVFJRUNCQWdRSUJBUlVBQXFlanBKVUNBQUFF
Q0JBZ1FJRUFnSlNDQXBMZ1VFeUJBZ0FBQkFnUUlFQ0JRRVJCQUtucDZDUkFnUUlBQQpBUUlFQ0JC
SUNRZ2dLUzdGQkFnUUlFQ0FBQUVDQkFoVUJBU1FpcDVlQWdRSUVDQkFnQUFCQWdSU0FnSklpa3N4
QVFJRUNCQWdRSUFBCkFRSVZBUUdrb3FlWEFBRUNCQWdRSUVDQUFJR1VnQUNTNGxKTWdBQUJBZ1FJ
RUNCQWdFQkZRQUNwNk9rbFFJQUFBUUlFQ0JBZ1FDQWwKSUlDa3VCUVRJRUNBQUFFQ0JBZ1FJRkFS
RUVBcWVub0pFQ0JBZ0FBQkFnUUlFRWdKQ0NBcExzVUVDQkFnUUlBQUFRSUVDRlFFQkpDSwpubDRD
QkFnUUlFQ0FBQUVDQkZJQ0FraUtTekVCQWdRSUVDQkFnQUFCQWhVQkFhU2lwNWNBQVFJRUNCQWdR
SUFBZ1pTQUFKTGlVa3lBCkFBRUNCQWdRSUVDQVFFVkFBS25vNlNWQWdBQUJBZ1FJRUNCQUlDVWdn
S1M0RkJNZ1FJQUFBUUlFQ0JBZ1VCRVFRQ3A2ZWdrUUlFQ0EKQUFFQ0JBZ1FTQWtJSUNrdXhRUUlF
Q0JBZ0FBQkFnUUlWQVFFa0lxZVhnSUVDQkFnUUlBQUFRSUVVZ0lDU0lwTE1RRUNCQWdRSUVDQQpB
QUVDRlFFQnBLS25sd0FCQWdRSUVDQkFnQUNCbElBQWt1SlNUSUFBQVFJRUNCQWdRSUJBUlVBQXFl
anBKVUNBQUFFQ0JBZ1FJRUFnCkpTQ0FwTGdVRXlCQWdBQUJBZ1FJRUNCUUVSQkFLbnA2Q1JBZ1FJ
QUFBUUlFQ0JCSUNRZ2dLUzdGQkFnUUlFQ0FBQUVDQkFoVUJBU1EKaXA1ZUFnUUlFQ0JBZ0FBQkFn
UlNBZ0pJaWtzeEFRSUVDQkFnUUlBQUFRSVZBUUdrb3FlWEFBRUNCQWdRSUVDQUFJR1VnQUNTNGxK
TQpnQUFCQWdRSUVDQkFnRUJGUUFDcDZPa2xRSUFBQVFJRUNCQWdRQ0FsSUlDa3VCUVRJRUNBQUFF
Q0JBZ1FJRkFSRUVBcWVub0pFQ0JBCmdBQUJBZ1FJRUVnSkNDQXBMc1VFQ0JBZ1FJQUFBUUlFQ0ZR
RUJKQ0tubDRDQkFnUUlFQ0FBQUVDQkZJQ0FraUtTekVCQWdRSUVDQkEKZ0FBQkFoVUJBYVNpcDVj
QUFRSUVDQkFnUUlBQWdaU0FBSkxpVWt5QUFBRUNCQWdRSUVDQVFFVkFBS25vNlNWQWdBQUJBZ1FJ
RUNCQQpJQ1VnZ0tTNEZCTWdRSUFBQVFJRUNCQWdVQkVRUUNwNmVna1FJRUNBQUFFQ0JBZ1FTQWtJ
SUNrdXhRUUlFQ0JBZ0FBQkFnUUlWQVFFCmtJcWVYZ0lFQ0JBZ1FJQUFBUUlFVWdJQ1NJcExNUUVD
QkFnUUlFQ0FBQUVDRlFFQnBLS25sd0FCQWdRSUVDQkFnQUNCbElBQWt1SlMKVElBQUFRSUVDQkFn
UUlCQVJVQUFxZWpwSlVDQUFBRUNCQWdRSUVBZ0pTQ0FwTGdVRXlCQWdBQUJBZ1FJRUNCUUVSQkFL
bnA2Q1JBZwpRSUFBQVFJRUNCQklDUWdnS1M3RkJBZ1FJRUNBQUFFQ0JBaFVCQVNRaXA1ZUFnUUlF
Q0JBZ0FBQkFnUlNBZ0pJaWtzeEFRSUVDQkFnClFJQUFBUUlWQVFHa29xZVhBQUVDQkFnUUlFQ0FB
SUdVZ0FDUzRsSk1nQUFCQWdRSUVDQkFnRUJGUUFDcDZPa2xRSUFBQVFJRUNCQWcKUUNBbElJQ2t1
QlFUSUVDQUFBRUNCQWdRSUZBUkVFQXFlbm9KRUNCQWdBQUJBZ1FJRUVnSkNDQXBMc1VFQ0JBZ1FJ
QUFBUUlFQ0ZRRQpCSkNLbmw0Q0JBZ1FJRUNBQUFFQ0JGSUNBa2lLU3pFQkFnUUlFQ0JBZ0FBQkFo
VUJBYVNpcDVjQUFRSUVDQkFnUUlBQWdaU0FBSkxpClVreUFBQUVDQkFnUUlFQ0FRRVZBQUtubzZT
VkFnQUFCQWdRSUVDQkFJQ1VnZ0tTNEZCTWdRSUFBQVFJRUNCQWdVQkVRUUNwNmVna1EKSUVDQUFB
RUNCQWdRU0FrSUlDa3V4UVFJRUNCQWdBQUJBZ1FJVkFRRWtJcWVYZ0lFQ0JBZ1FJQUFBUUlFVWdJ
Q1NJcExNUUVDQkFnUQpJRUNBQUFFQ0ZRRUJwS0tubHdBQkFnUUlFQ0JBZ0FDQmxJQUFrdUpTVElB
QUFRSUVDQkFnUUlCQVJVQUFxZWpwSlVDQUFBRUNCQWdRCklFQWdKU0NBcExnVUV5QkFnQUFCQWdR
SUVDQlFFUkJBS25wNkNSQWdRSUFBQVFJRUNCQklDZndIUWVnbU9OM1hpd0FBQUFBQVNVVk8KUks1
Q1lJST0KCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0
aW9uYWwvYmlkaS1tZW51bGlzdC1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxh
eTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3Bu
ZwoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFDN21sRFEx
QkpRME1nVUhKdlptbHNaUUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1Jk
UTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3WkM5S2hW
cEZLTjZyS0dLaEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54MUtpRVds
c2ZFSnEKL0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBv
SGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5eEZr
aWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBrS2E3ek82
cllxR2NUdllPa0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhqMGNHRFgw
K0dBVnR4cXAKK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1
K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3
VUVDR1BCb3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktDSnhsRU8x
Q0pMOFFmNHFyOGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAxZWZKWFVk
cE5YUjVhc2VYcTgKbXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFX
akUzMzU5c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZYeC9HZk54
R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4CjlTOWRQ
MXQ0dlVaL0RQVlJsQm5NMGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2Yk9ESW1i
cHRVM0h2RUtGbHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9kNkh1
Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGlaMHgxdUhL
RTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFnCkFF
bEVRVlI0QWV5ZEI0QVZSZExIaTV5Um9JSWtRUVFUaUlBWlVVUkV6RmxSeko3aDg4dzVZczRKdzRF
S2VBTHFxYWdnR01HRUFSVUQKbmdrUmN5QUlTTTdMemxmL1ducHVkbmdUWHRnRjVOLzZkcVpuT2xU
L3B0K2phN3FxdTRLblFSaElnQVJJZ0FSSWdBUklnQVJJZ0FSSQpvQndJVkN5SE9sZ0ZDWkFBQ1pB
QUNaQUFDWkFBQ1pBQUNSZ0JLaURzQ0NSQUFpUkFBaVJBQWlSQUFpUkFBdVZHZ0FwSXVhRm1SU1JB
CkFpUkFBaVJBQWlSQUFpUkFBbFJBMkFkSWdBUklnQVJJZ0FSSWdBUklnQVRLalFBVmtISkR6WXBJ
Z0FSSWdBUklnQVJJZ0FSSWdBU28KZ0xBUGtBQUprQUFKa0FBSmtBQUprQUFKbEJzQktpRGxocG9W
a1FBSmtBQUprQUFKa0FBSmtBQUpVQUZoSHlBQkVpQUJFaUFCRWlBQgpFaUFCRWlnM0FsUkF5ZzAx
S3lJQkVpQUJFaUFCRWlBQkVpQUJFaWlvQXJKdzRVTDU3YmZmSXFuT25qMWJwa3laRW5sL1hiaVIx
TVo4CjJvQ3kvL2pqajhnaWt2aXRYTGxTdnYzMld6OS9Vbm8vWVFGT3lyT3VaY3VXeWZqeDR3c2dk
ZjVGbEdlNzg1YzJ0eExXSnQ2WldoRHUKOTVuU0ZPcGFVbDNyUTM4b0ZNdnlLR2R0Nzd2bHdZQjFr
QUFKa01EYVNDQlJBVG5nZ0FPa2Z2MzYwcXRYTHpucXFLT2tVcVZLMHFwVgpLem5paUNOa3Q5MTJz
L2pRb1VQbHlTZWZsRWFOR3Ntd1ljTWkyOW0zYjE4NTVKQkRJdSt2N1RmU3RESFhOano4OE1QU3NH
RkRHVDU4CmVHUVJjZncrL3ZoajJXNjc3ZVQwMDAvMzg4ZWw5eE1WNktTODZ2cm9vNDlrKysyM2w4
TU9PNnhBa3VkWFRIbTFPejhwYzgrOXR2RU8KdHlSVHZ3K25LVlE4VFYxLzkvNVFLSmJsVWM3YTNu
Zkxnd0hySUFFU0lJRzFsVUNpQXJKaXhRcjU3TFBQNU5WWFg1Vm5ubmxHcWxhdApLdDI2ZFpObm4z
MVczbnZ2UGJuenpqdGw2ZEtsY3V5eHg4cW1tMjRhMjg0YmJyaEJSbzRjR1pzbTAwMjh4WHJycmJj
eTNVcDlMZGN5Cmd2blN0REZPb0dCWjRYUm5uSEdHS1hyaDY4RjRITDhkZHRqQm5rdVZLbFg4TEhI
cC9VUTVub1RiVXBaMUJVWGNhYWVkNUtTVFRncGUKV3UwOExOdHFDYks0a0ZSV2ViVTdDNUh6VGhw
c2N4cmVlVmVZUndHWituMGV4Y1ZtVFZQWDM3RS94RUlwdzV2QmZwaExOV3Q3MzgybApUY3hEQWlS
QUFuOFhBb2tLeUlVWFhtZ3pIbEVOeHNCNW0yMjJzZHNZL0Zhb1VDRXFxYjNoYjlPbXpXcjNQYzli
N1pxN0FBWG8rT09QCmwzZmZmZGRkU25VTWxobFhSakJkdU9CTStaTGE2TW9vS2lweXAzYk1WRmFw
QkJwSktoc3pKSm40RlJjWFcxR1ZLMWVXaWhYLzkwaWoKMG9mcnpUYWVxUzFsVlZlWUkyU0ZFaHpW
enpMSmxtMzdYUG8wWlVXMU82NWZ1ZkxYeG1PbU5zZnhYcE50aU9yM1pTRlQycnFpK2tNdQpNdVhi
aDlaMC9semE3UEprNm9mdVhqYkhxTDZiTDV0c1pHQmFFaUFCRWlDQjFRbFVYdjFTNlN2NzdMTlA2
UXVoV0sxYXRhUkxseTcrClZmeEREVE9FeHg1N1RPcldyU3VqUjQ4MkJXYmF0R2xtbmpWaXhBajU0
SU1QTFAzVFR6OHRmLzMxbDh5ZlAxOWVlT0dGakhiOS9mcjEKazFHalJzbjMzMzh2UC96d2cvVHYz
MS9nSzNINzdiZkxwNTkrYXVmLyt0ZS9aT2VkZDQ0c00xTVpMNzc0WWs1MW81S29OdUxlRzIrOApJ
Wjk4OG9rTmtORW1tRmExYTlkT01za0FkdUd3ZVBGaXVmamlpNDFWczJiTjVQSEhINWV0dHRwS012
RnphUnMzYml4VHAwNlZyNy8rCldxcFhyMjVGaHROakZndXliTFRSUmxLalJnMlQ1NldYWHJKWnF5
aVdTNVlza1p0dXVzbWVJL0xqRFRCa0M3Y0Z6L3U1NTU2VDRMUEYKTTdyODhzdWxXclZxOXR4YXRH
aGh6d3gxWXpZTHNxQjlhTnN0dDl4aXl0Y3JyN3ppSzd0UkhNTzh3dkd3YkhIOUJmM25paXV1TUw4
Ygo5S0U2ZGVySUthZWNJbEM2VHp6eHhOWGFpYktDenl6TUdMS2s2ZE5JRjhVVzkrTFlaWHFPZDk5
OXQ3ei8vdnRsOG16UjVtQ0FHZUxOCk45OHNMVnUyRk5TNzVaWmJ5cGRmZm1tbWYzaU9lKzY1WnpD
NXpaNW0wKy9TOUkyNGZvL0taOHlZa2ZIM0lSTzdwTzlBVWwzQnhvYjcKUTVxMkJQTy8vdnJyTW5q
d1lObDg4ODBGQTNEOGhtSUEvZWlqajBxUEhqMHNhVnpmU01xUHZvbStqZS9sT2VlY0kwODk5WlJj
ZSsyMQo5c3dlZXVnaFNjb2ZsTldkNTlxUGs5aUV2OGN3TFlXcGIvajNhK3V0dDQ3OG5YRXlCbzlw
djUvQlBEd25BUklnQVJJb0F3TDZKaWlyCm9BTmNUMDFnTXViWmR0dHR2UTRkT25qNkQ1bW56dWll
RGs2OGYvempINWIyenovLzlNNDg4MHh2d3cwM3RMaitBK3VwTGI5ZnpnVVgKWE9DcGc2Y2ZENTdv
WU1mVHdZMWQwamZpM3I3Nzd1dXAwbUxwZFFiRzAzK1V2RGx6NW5oeFpRYkxpRXNYckJmbndYeUl4
N1ZSVFFhOApwazJiZW0rKytTYVNldGRkZDUxMytPR0gyem4raE12eWI2dzYwUUc1cDdOSm5pcGNW
Z2JTYjdiWlp0YXVNRDlrMlgvLy9UMGRSRmh1CnNHdlNwSW0zOTk1N1d6eWNYcFUrVDMxNVBQVVQ4
ZFI4emdPM1NaTW1SYkpFSWVyMzR5RWZnaXBWbUtieWROQnU4V0Jid25VaHdlNjcKNys3cGdNSFNM
bCsrM050eHh4MDk5U2V5K1BUcDA3MjJiZHRhLzFBRjFmdjU1NSs5TGJiWXdqdnR0TlBzZmhMSCsr
Ky8zMU9seTlKbQoraE9VTGE2L0lDLzZLdHFseW8vMzhzc3ZlL2ZjYzArcElvTmxsYnFoa1hDN3Mr
bFhjV3pqMkdWNmptb2FXV2JQRm0wTzg0WjhPaUQyCmNZQnhzSi83Ti9Ra2s3eHgvUzZwYjZEc3VI
NGY5N3l6bFNXcEx0d1BobkIvU05PV1lQNmZmdnJKMjNqampUMzFzZk4weHRjYk4yNmMKL1o0MmI5
N2NUeGJYTjlMa3grK1RLcEIrZVQxNzl2U09QUEpJaTZmSjcyZGNkWkpyUDA3REp2amR5L1RzdnZ2
dXU5amZHWWdZN0x2WgpmRC9EN1dTY0JFaUFCRWlnc0FUK1o2OVRJT1VHVHV0NzdiV1h2ZDNHMjFD
M0toUGVYTFZ2MzE1VWZLdHA3dHk1OHZubm40c08raXl1CmcwLy9YaVpSbk1rTi9GQlFCa3l5NEpl
eXlTYWJ5TXlaTStXZGQ5NlJwREpkR1VucHd2VzdmTzU2VkJ0aFFnWG5hRlhDTENuTU1YU3cKNWJM
Wk1WeFdxWnNhT2VHRUUrVEFBdyswdDVLMzNYYWIvUGpqai9abU1zenZ3dzgvTkhadWhncW1WL3Z0
dDU5ZlhEZzlab2p3dGhvegpEanBZRkx6eG5EaHhZaVJMVmFMc1B1eW9FVHAzN214NWduNCtyaTNo
dXZCYzRCL1V1M2R2eXdzdW1GbkFySk1PSkd5eGd0YXRXMXQvCkFFdVUyYjE3ZDVrOGViS2ZQb21q
Sll6NTQyU0w2eS9JanI1NjlORkh5NVZYWG1telR1ZWVlKzVxcGJxeXdqZkM3VTdicitMWUpySEwK
OUJ4MUFGbG16emJjWnNUMVpZSE45T21BMVc3aldldExnVXhKYldZeW0zNkhoU3ppK2taU3Y0OTcz
cG5ZeFgwSGt1b0tOempjSDVMYQpFczZ2QTI1UlpVTU9PdWdnVytCRGxRMmJwY0RLZ3ZnZFNlb2JT
ZmxSSDJZZ2cvMjVaczJhZmp4Ti9xRE0rZlRqdEd5Y3JKbWVIV2JFCjQzNW5nckxpUE8zM001eVBj
UklnQVJJZ2djSVRLTGdDNHY3QmdLaFlQUXNtQXk3Z25ydXZNeUUyV01kZys1Ly8vS2ZnSHorc3NC
VVYKWEQ0TVlER3doMmtDUGpEL0dqdDJyQTJRazhwMFpTU2xDOHZnOHJucndYaXdqYml1Yjl6c0h6
cVlOZWtiVEZtd1lJSExac2RnM2xJMwpWa1UyMkdBRC96TCswVVZ3U3hjanI4di85dHR2MjZDelhy
MTZmdnJhdFd2NzkzRXhtQjV4REQ0d1NISWhqaVVVdWwxMzNiVlVlZkQzCkFYc1huQ3lJQit1YU1H
R0MxUVBGd3dXZEFiRlREUGdRZ3VrUmgva1RGak5Bd0wwa2pwWXc1bytUTGE2Tkx2dGRkOTBsK2pi
VitsQ20KUHVqS2N1bUR4MkE3MHZhck9MWnAySVdmSStRSlg0dHJkMXo5cm0xeGJjWjNGZ1BsUng1
NXhKSkRzWVJTR3hXeWtRMWxCSmtpSHV3YgpTZjArcnQwb0t4dFprdXBDZWVFUWxqMGNEN1lsbkJk
eHBBLzJRU2h2K0kyQmVWU2F2aEdYUDFOOTRXdlo1SS9yUjJsbFJYMHVaR0lUCnZCOStkbW5xY0dY
am1QYjdHY3pEY3hJZ0FSSWdnYkloa09nRFVqYlZscFFLZTNJMUc1TDc3cnZQYk1WZmUrMDE4emVJ
cTNQV3JGa0MKWjJ0bkV4MU9tN2JNdE9uQzVTZkZZZStPdDNLdzJ4NDBhSkFOR3BMeVJOM0h6QUQr
VWNZbkhINy8vWGNCaTNBSS9vTWR2aGVPeDdHRQpIZjFYWDMwVnpwSXFEcnQ1bEEzbEUwb1JBbWEv
OE53V0xWcVVxb3hDY1l4cm94TUVpaElVc3p2dXVFTk9QZlZVQ1NwMUxrM2FZNXArCkZjZTJFT3dn
YTF5NzQrcFAwMDRNa1Avdi8vN1BmR1N1di81NjgyZkpobG1jYkVuMUovWDdiTXVPUzU5VVY1S3No
YnFQMlUxOGQzTHQKR3k1L3J2SkU1WS9yUjduS21vMk11ZFNSNXZ1WmpReE1Td0lrUUFJa2tCdUJn
cytBcEJWRGJZQkZiYWJsM252dk5kTUNPTExDS1RJcQp1SUYxSzkyREJETWU3bTA1MHNNa0MyOHJr
OHAwWlNTbEM4dmc4b1d2aCtQZmZQT05uSFhXV1lJMzZzRzMvOEYwYWN0Q0hqaVdZd2FsClk4ZU93
U0xzSElvYlRNL3c1ajdYRU1jU3lnOW1YbURtNEFJNHV4a01YSXRxQzk3YVlzTTI3SnZnQXA2MTJ1
ZWJDWmk3Rm5WTXd6RXEKcjd2dVpJdHJvMHQ3elRYWG1Ea2I4dUE4SEZ4WjRldmhlTnArRmNjMlgz
Wk9wcmgyeDlYdjhpZTFXWDI3YktZUHBtdGR1M1oxMlZJZAo0MlJMS2lDcDMyZGJkbHo2cExxU1pD
M0VmWHkvc2JsaHAwNmRiTVl6Mis5Vk1MK1R4NjNvNWVKeHgwejVYZnE0ZmxTb2ZoelhEN090Ckkr
MzMwN1dQUnhJZ0FSSWdnYklqa0pVQ2duKzQxS0hZVm8vS0pCTGVTT0hqQWxaSXdjY0YzRU1jQTFu
OG80b1ZTUkRVRVZJT1B2aGcKLzIyNVMrK09lTHVLdDVFSThCbkFtemVZQTZuanVTa3hXSHNmeTlQ
R2xSa3NBMzRWdWRTTit1TGFDRHR0TU1JQUdnTUZtR0JCVVVKNwo4UW5LZ0xJeUJlUnpBVGJXMkxq
UitaUUUrY0Z2QVc5RjRjdmhBdnh0OEViWGxSRk1qelJRQUlMUG8wK2ZQcEVzVVQ1VzFEcjU1SlBO
Ci9oeHR1L1RTUzgzMEJtV0YyeEtzQ3o0SldPRUtpcUlMV0JrTUF3WnNhSW1BZmhRY0NDRy9renVK
SS9LcVE2a3JlclZqVUxhNC9vS00Kc0t0SDM0RnZETXptQmd3WVVFckpDcGFWNlprRjJ4M1gvNEpD
eHJGTnd5NzhIRkYyK0ZvaG4yMG0zakJuZ1k4UHpMQmdraFVYc3BFTgo1Y1QxamFSK0g5ZHVsSjJO
TEVsMW9ieHdDUFlIM0l0clN6aXZpNk1mdVlEVm9xRGd3UmNyVGQ5QXZxajh1SWVaU0d6UUI3bndn
Z012CkdJTHBrL0xqdmd2NTl1TWtOdUh2WHZqWnBlR0JPdHh2UmR6M0UzdU9ZQlUzOSsrTWF5T1BK
RUFDSkVBQ1pVUkFCOGFwZ3ByajJNcEoKS29hbmZncWVMc0hwelpzM3o4K0xsWlYwcXQ3VFpSRTlm
VXZ1NlpLWG5nN3FQQjBrMjZwTytvK2V0OHN1dTlpS1F6cnJZV25VMmRSVApVeHRQbDZ2MWRPYkFW
bnZ5Q3d5YzZGdFdUOStFZWVySTdLbnk0ZWtnMGRQbFhlMmFtczU0dXZ5cnBZYU1VV1VHeThEcU1s
SHBBdFhhCmFUQ2ZMcEVaMjBZMUw3SlZwdFRzeU5PQnU2ZExmSHJxNU9rZGQ5eHhIbFoyQ3BhRmRv
U0RMb25wNlFEQlUrZHo3OVpiYi9YT08rODgKVyswTDZjTDhVTjRUVHp6aHFYbVdjZFpkNmowZENI
cnF0MkhYdyttSERCbmk2Ukt5bmpydGU2cDgrVlZIc1VRQ2NBVmZQSE45MittcAphWm1mTDlnV3JD
QVZmTGFRRGM4ZmZVRTNxclRWcFhTd2FxdHVvUUR3MThHRnJkcWxOdnVlTGtiZzZkS2o5a3pIakJu
anhYR0VET29RCmJ6THBFckhHMVJkcTFVbFF0cmorb2dxZXJhYUYraEZVY2ZUVXZNaFdJUUkvaEhC
WmRuSFZuekJqOVB1MC9TcU9iUnc3UFBQd2M4eDAKRFNJVzZ0bEc4Y1p6MU0wNWcwaFdPODlXdHFT
K2dRcmkrajN1UjdVN1cxblMxSVUwTG9UN0ExWllpK3ZuTGwvd2lKVUJzVktkenNSNQphdDdtWVpV
cWZYUHZKNG5yRzBpVWxGK1h0L2JVajh0VzE3dmtra3RzWlVKZGlNRmZ1UzhwdnkvSXFwTmMrM0dh
NXh6ODd1RzdIdTczCkVDR09CNTVIc08vR2ZUL3gzY2UvTWZpZFpDQUJFaUFCRWloN0FoVlFSUm5w
TnJIRjR1MDNiSXV4TWduTWxZTDdLMlRLaURmN2VPdnEKQXQ1c1lYVVltQUZnSmdBaHFVeFhSbEk2
VjRjN3Vud3VublRFTEFNY0poSHc5aTFvanBXbUxKZ0tvSzJ1WFhIMVlkWUFiK2FSSHJNdApiaCtR
dUR6aGU1bFl1alRvSGpDZndxbzE0WkRVRnVURi9pMTR6am93RDJkUGpNZHhUTW9jbGkydWpkbVdG
WlUrMjM0Vnh6WmZkazdHCnVIYkgxUi9tNThvTEhqSDcwVklYajhBTVppNGhUcmFrOHBMNmZiWmx4
NlZQcWl0SjFtenVZNjhkckg2RldWM01wZ1FYalhEbHhQV04KTlBuUlZyUUp2MUhoMzZjMCtaMGM3
aGpYaitKa2RmbmpqbW42WWRvNmtyNmZNR25OeER0T1B0NGpBUklnQVJMSWpjQWFVMEJ5RTVlNQpT
SUFFMWpRQitDVmhnMG1ZTzJIWjJ6ZzcvVFV0NjdwV3YxTUFzTWxqTG1GTjU4OUZadVloQVJJZ0FS
Slkvd2hrNVFPeS91RmhpMG1BCkJJSUVzRE02bG9yR2pCYjI3cUh5RWFTVDN6bmUwRHUvakZ4S1d0
UDVjNUdaZVVpQUJFaUFCTlpQQXB3QldUK2ZPMXROQWprUitPdXYKdjJ3QkJ5d2FnVldpR0FwSFFQ
MFBmQ2ZvelRiYlRJNDU1cGlzQ2wvVCtiTVNsb2xKZ0FSSWdBVFdhd0pVUU5icng4L0drd0FKa0FB
SgprQUFKa0FBSmtFRDVFcUFKVnZueVptMGtRQUlrUUFJa1FBSWtRQUlrc0Y0VEtLZ0NncDJ2c1RM
VjJoS3cwZ3YyeGlqdmdGV2pzSWNICnpGV1N3dHJHTEVsZWR4OXkvL0hISHk2YTFSRnI3bzhmUHo2
clBHdGI0blgxdWFYbG1NL3pUVnRIZWFRcjYrZVUxSmZYMUc5UUV0dDgKdWVTYlAwbStiTyt2S2M3
cjBtOTlVbC9ObHJsTHZ6YnNuWUk5WHJCeExrTThnV3kvSi95ZWwvQmNsNzduOFQwZyt1NmErQTRs
S2lEWQp5SzErL2ZxMmdaenVOU0c2VDRKZzkrQWpqamhDZHR0dE40c1BIVHBVbm56eVNWdXFkZGl3
WWRFdExNYzcySVZiMTlPWDAwOC92UnhyCkZkdVlEVHU2NnpyM3NzMDIyd2grOUtQQzJzWXNTczd3
ZGQyN1JYUXZBUmsrZkhqNFZtSmMxK1lYM1d0QURqdnNzTVMwYTJ1Q2RmVzUKcGVXWnovTk5XMGQ1
cEN2cjU1VFVsOWZVYjFBUzIzeTU1SnMvU2I1czc2OHB6bGlHZWwzNXJVL3FxOWt5ZCtteGFXeTdk
dTFjZEkwZAorL2J0YTV2MnJqRUIxb0dLcy8yZThIdGU4bERYcGU5NVB0MXdUWHlIRWhVUXJCT3Zt
ejNaanRGWWNyTnExYXJTclZzMzBZMEhSVGVGCkU5MW96dmFmMEEzSmJFK09mQUFVTWkrV280U2N3
VDA0Q2xsK3BySjBBejI1OE1JTDVleXp6eGJkUkV5ZWUrNDVXNjQwbUJZS0NYWTMKUmlnMHMyRFp3
VHB6T1k4ckM3dlFReW5OSldCSDU1Tk9PaW1Yckd0Tm5rSS90N1dtWWFzRXllZjV1cmFFKzA4NDd0
S1Y1YkdzbjFOUwpYeTd2MzZDMGpIUGhFaXc3bC94bCtaekxtelBhc3FaLzY3UGxtZFJYc3lrdjJC
Y2FOR2lRODc4RjJkUVpUaHVVQWZld2I4N0lrU1BECnlRb1dEOWVYVDhHRkxDc2JPZEo4VDRLeThY
dSs1ci9ud2VlUnpiUE9sRGFwckxMK0RtV1NLVkVCd1lBYU14NVJBWU1Wdk9sSHdHQi8KYlZpV0U4
dFJJbUFqUDJ5Q1YxN2h5eSsvRkd6eTVlclVYY2xMVlExbDd2ampqNWQzMzMzWHYxNG9acG5LOWl2
SjhpUk5XZm5JRFNWMgpiZWduUVN4RlJVWEJhT0o1UHUzSHhtbjVoUExJbjAvN3d2MG5ITStuN1Vs
NXcyenlhVWRTWGJnZjFaZkwramNvM0Yrelpad05sMHhsClo1TS9EY2RjMDVRMTV5aTUxdVJ2ZlZD
bWNIOFAzZ3VmUi9YVmNMcTRlTGd2WUlQYUxiZmNjclVzMmNpMVd1YlFoWEJaWVJtUUhEUHkKYmRx
MENlVXNURFJUZmJtV25FOVo0ZTk4TmpLaytaNWtrbzNmOC9WblRGZVczNkdvdnBvNE90OW5uMzJp
OHRwMTdHRGVwVXNYUHcwNgpPcVp5V3JSb1lWT3pQLzMwazM5dnhvd1pOa093eHg1N1NPZk9uZVhE
RHovMDc0VlBZSHVJbVlTTExycklwbGJQUGZkY3djN1lDSmlSCmdlSno5ZFZYeTgwMzMyeTcxMDZZ
TU1GMkRqN3JyTFBrcHB0dWtqUFBQRk0rK2VTVFVzVkcxUjlWWHFuTUdvbVRhZENnUVhMZGRkY0oK
ZmlUKytjOS95c1VYWHh6T0x2MzY5Wk5SbzBiWm01b1RUenpSM3FJaFVTR1laU283cXIyZmZ2cXA3
VjROeGZIdHQ5OFd4RHQwNkNCWQp4aE1oVTFsMkkvUUhPeldqbmZoSENNOFQwL0V1Uk5YdDdnZVBj
VnlmZi81NWU3NkhIbnFvekowN1Z4NTc3REdMNzczMzNyYkxPc3E1CjU1NTdwR3ZYcmpZVEZ5elhu
Y2ZKOHNZYmI4anR0OTl1WmFBZmYvWFZWeTZiOWJlcnJycks3aDk5OU5GeTExMTMrZmR3RXZmY2dn
bGYKZi8xMVcxTDFtbXV1a2NzdnYxdzIyV1FUKzM3Z3VndHhESkx5UC8zMDA5SzBhVk41NElFSHJE
aVloV3l4eFJiMkhjQ0ZwUHhPaHZBeAo2dmttMVJmdVAzZmNjY2RxL1Q2dXZaZ2g3TjI3dC9XdHdZ
TUgyNTRqR09RRWYwdkNza0ttQVFNR0NPb0tLLzV4enlsT2pxUjJobVZBCkhNemlmb09DZWI3Ly9u
dTU5TkpMN1RkeDlPalIwckZqUnpOUC9PQ0REd1FEWEppNW9xL2Njc3N0ZnJhby9ocG1qamYwK0ww
c1JQL04KVkRZRWl1TWE5NTN6RzdQcUpPNFpSUDAySjNHT3FqK3F2R3hrV3RPLzlaQTFxcjlIdFR2
Y1BzVGowa2IxblV4OUFmK2V1eEFsbDd2dgpqbkhQUE9uM0tpekREei84WU4vN1hYYlp4UlVmKzI5
MXRyOHY0ZnJ3M1lwaVY2aC9XLzJHNkVuVWR6NU5PNUsrSjhGNk1yVVQ5L2s5Ci8vdVA2YVpObTFi
cU81U21id1g3VHM3bituWWhxMUM5ZW5WUFRXZ3k1dGwyMjIwOUhjaDYrZ1BpcVRPNnA0TUc3eC8v
K0llbDFZRzUKdCsrKyszcno1OC8zMUJIS1V3WEMyMmlqamJ3NWMrWmtMR3YzM1hmMzFMZkU3dW1z
Z3JmampqdDY2bzlpY2YwSDJsTVRJRTk5UER3MQpCYk95dnZ2dU8yLy8vZmYzZFBCbGFWQ0g3bFBn
NlVEVjRuSDFSNVZuR1FOLzRtUkNNalZSODNUMkk1Qmo5ZE9XTFZ0Nk9xRHdieFNTCldiRHN1UGFp
Y2p3ajdUVGVLNis4NHIzODhzdWVEdUo5bVhBU0xLdlVqVldSWnMyYWVhckFlS3BRZWVwd2IrbDE3
d0pQMzZKNFNYWGYKZi8vOVh1UEdqZjFpazdoMjZ0VEpPK1dVVS96MGFscm5uWHp5eVg3OHBaZGU4
djc5NzMvNzhlQkpuQ3c2SmVucHdOM2tSeDVWSUwzRApEei9jejk2clZ5OFBmUU5CbFZuanBmL0FX
RHp1dVZtQ3dCOGRPSHNiYjd5eHB6T0puczUrZWVvZlpOK1Q1czJiKzZuaUdLVEpqM2FvCk11Nlgx
N05uVCsvSUk0KzBlSnI4ZnNaVkozSFBGMG5pNnNQOWNQOEp4K1BhTzMzNmRLOXQyN2IyKzZFRGMr
L25uMy8yVktIeWRPTkQKRkwxYVFKOVR2eUwvK2dVWFhHQy9NYmlROUp6aTVFRCtwSGFHKzNMY2J4
REtDd1pWUUR4Vk9xeGY0SGRNQnd2MnpEYmZmSFA3alpnMQphNVozN2JYWGVqcGI2T21DRmw1U2Z3
MHpMbFQvaGN6aHN1TzR4bjNuZ3UxMzUzSFBJT3EzT1k1elhQMVI1VGxaM0RGT0pxUlprNy8xClVm
MDlydDJRT2RoWGs5TEc5WjF3WDVnNWN5YUt0OS8rcU8raEpRajhpZU9iNXZjcUtJTTZDSHY2d3RI
YmNNTU4vUnJpeXMvMjl3V0YKQnV0TFlwZnZ2NjErSS9RazdqdWZwaDF4MzVOZ1BlNDgyRTVjNC9k
OC9SalRoYjlEYWZxVzZ6UDVIQk5uUUxMVmJPQzB2dGRlZTRrTwpZR1RQUGZmMFY2R0MvNGdLYXVa
SHI3NzZxcjNaMHg4dWVlZWRkMWFyQXZmaFg0SzNvQWlZQnRRQnFMejQ0b3VpLzRESXpqdnZiTk8r
ClcyMjFsZWlBVVI1NjZDR0JCNzhPcE1YTjJNQU1hci85OXZQTGpxcy9VM25oNmR3a21meUtVcHlF
elk4S3djeFY2OHFPYXkvUzRobmgKcmY2VlYxNHBXRGdBTTB6aDRNb0tYM2Z4RTA0NFFRNDg4RUI3
enJmZGRwdjgrT09QOXJZOXFXNlhIOGMwWEZYWmtOZGVlODNleENCUApqeDQ5QkcrTTlSOENSSzFP
SFd6YmVmaFBuQ3pvVjNDR3grd1BBcVlnM1N3T1ZqR2JPSEdpd0hZYUFUTTg2R2ViYnJxcHhmRW42
cm41CkNWYWQ2SSs2cUxJaEJ4MTBrQzNjb1A4NG12TXFWb3hEZlVrTWt2S2ptaG8xYXBReWE2dFpz
NllmVDVNL0xEUGlVYzhYOStMcXczMkUKY1A5eDhhVDJZa1lOTzYyM2I5L2VHSU41OSs3ZFpmTGt5
U1VGaC81aVp1enp6eiszN3o5dVlZZDIvTmE0RVBXY2t1UkEvalR0ZFBWZwpSamZ1TjhpbGMwZTBF
UXRsWUNZU3YyT282NUJERHBGZmZ2bEZycmppQ3V1UDU1OS92clVGMStMNnF5dlRNUzVrL3cyWDdl
SlJYT08rCmN5NnZPeVk5ZzB5L3pldjdiMzFVZjgrR2UxemFOSDNIOVRNOFJ4MzQyK09Na3NzOWEz
ZE1ldVpwZjYrY0RQb2kwMzRyM0hjK3FmeHMKZjErYzNLNitPSFpJVzRoL1cxMmRjZC81cEhaaysz
dms2blR0ZEhGK3p4Mko2R05aTUhPMXViTExzdCtGdjBOSmZjdkpsdSt4NEFxSQpnd1hCNEtpTXFW
WUVLQTRZNE1FT0ZSK1l1NHdkTzlZR2RwWWc4QWZtVkFDQ0w1OExPZ05pcHhnVUl1QWZhNlJ4QWFa
RU1OT29WNitlCnV5UzFhOWYyQjBGSjlZZkw4d3RaZFpKR3BuQ2VxSGlRRWRJRTQ3a3ljM1c1c3BM
YWkvUXdLZEtaSTNzR1dOMHNIRnhaNGVzdXZzRUcKRzdoVFV3b1J3VktJYWVwMkdkTnd4WTdRVUZh
ZDd3ek1wREFOanFucHBVdVhtbUlDVThCTUlVNFd0RS9mQ3BwcEY4eXdzSExaZ2dVTApyQmdveGpE
bENUS0EyUi82c0F2QmU4SG41dTRIajBnYlpJeStpand3TjBqRElDNS9zSjZvODF6eVJ6M2ZxRHJD
MTROOGNNL0YwN2JYCnBVZmVPblhxUkpyWVlRQUVSUkxLTU13Zk1ZQUpzZzZXRTN4T2FlUkEzV2xE
MG05UXBuS0NzdUUrMmhrTWRldld0U2o2UDlKRzlWZVgKeDVWWDZQNkw4bDNaNGJvUUQzS04rODY1
dk82WTVobUVmNXVUT0NmVkh5N1B5ZUtPYVdSeWFaT09aY0VzcXI4bnRUc29hMXphYlB1TwpLemRL
TG5mZkhkUHdCYmZnZHpqNGUrbktDYkxGdVl1bkxkK2xSM2x4dnkvaCt1TFl1YlQ1L3R2cXlvR01j
ZC81WUx1Uko5aU9wTytKCnF5TjhESExCdldDYzMvTXdyWko0a0ZHaG1MbWFYTmxsM2U5UWo2dkx0
U0VZRC9ZdEoxdSt4OHI1RnBBMnY1b1RtRk00M2w0bkJkZ3QKSWoyVUZ5Z1JDSGdiQ3FkeUREd3pC
YXhGamp6aDRBQm1VMys0RE1SemtTbFRPZGxjeTBmbU5IbWg0RUdKZzkzOHFhZWVXa3A1eTBaTwpw
TVZiYW5SUWZOTFU3Y3BQd3hXRGZyeUZlZUtKSjB4R0xPT0xHUzc0T3N5Yk55OTIrY1VrV2JEa0xH
YmJIbjMwVVlGdE4vN3hRb0NOCmI5QWZ4TWxieUNQYWdENmRoa0dtZWwzK1RQZlNYTXNtZi9ENXBp
azdMazJ1N1kwckUwdEdxc21sM0hmZmZlWWpoaGt6TjNpUHlsZG8KT1pKK2c2TGtDRjdITTNHL1di
Z2VQRWM4cXIvaVhqQ1VSLzhOMWhjOFQvck9CZFBtOGd5U09HZFRmMUFXZDU2TFRDNXZyc2RzWmM3
VQozN01wSXk1dFBuMG5rMXpoNzJHdWZOUCtYdVZhZnRwbkY4Zk9sVkhJZjF2VGZ1ZGQzZTZZOUQx
eDZYSTlwdUhneXM3bG1TVEpuMDM5ClRvN2dNUmVaZ3Zsek9jOUg1alI1QzludmNtbGZ0bmtLUGdN
U0pVQXJYVWtMTXg1NFkrMENwa3locFljRDNuWmd3eHlzVyswQ05vS0IKeVEzTXJqSUZERDd3bGhC
djlET0ZiT3JQbEQ4WG1US1ZnMnZoUVVWVXVseGtkbVdueVF1bmFKaU1JQS9PdzhHVkZiNmVLVDUx
NmxTYgpQWUFqYlpxNlhSbHB1V0xwWHV3N01uRGdRRkcvSW9GWjFvZ1JJMndHSWVnRTZjcDF4emha
dnZubUczTVl4dHVxNEd3YjhtTEFqZGtjCk9EaTZnUDdxWnVEY3RWeVA2S2N3SlZIL0ZwdTV5N2Ev
Qi9NN0dlQXNtRFpreWgrWE4vaDhYYnFrK3NMOXg4WFRQbk5YVDlKUjdWVUYKdncvMzNudXZtYlBC
Z1J2S2FWSklLMGRTTzEwOVNiOUJMbDJ1eDdqKzZzcDBqTXVpLzdxeVhWMVJ4N2p2WERoUDJtY1F6
SmZFT1p2NgpnK1c2ODF4a2NubkR4N0pnRnRYZnMybDNYTm8wZlNkVHU2TGtDalBKaFcrbTM2dE1N
cUN1WE1vUHk1Z3A3cWVxeS9rQUFDQUFTVVJCClZPcUxZK2Z5RmVyZjFqVGZlVmRuK0pqMFBRbW5k
M0hYVGhlUE9xYmg0UExtOGt5UzVNK21maWRIOEppTFRNSDh3Zk95WU9iS2QyV24KYVcraCtwMnJ1
NnlQV1NrZytJY1l5OHhHN2ZBTmpSSWZGN0NTaGx1NXFrK2ZQdlpXR1dZczZuaHVBd2FzT3h6MnRV
QmUyUFBEaHdRSwppd3RZMFFvZFJwM2o3QktVRVZjMkxzQ2ZBVytUWWFmdkFuWkJoOWFJd1YxUy9l
SHlYQm51bUVZbWRiQTNjNkFnQTVmZkhXRWlCczBlCkFSd0t4UXpsQmN2R2pBSGVaRVh4aHAwczJF
T2hnL2tSVmhBS0RxNkRaVUhPVEFGY1hZRGRNT3pYNFUrUnhCcDlDRXYrSWFUaGluUzYKZ0lIdHFZ
SnBlWmdHd1NjQWI5YXdTcEQ3Z2lKZE9NVEpBdjhMOUduOHlLTXRNTUdDZ2d4RkE1dHU2b0lMcHVn
Z0hUNVlzUWkrSEFoeAp6eTBzZzR0RDRYQUJxMHhnNVM3NG1LUmxFSlVmWldLR0VKdU5nUzJVQlNo
T3dmUklFNHdINjhlOVRDSHErU0p0VW4zaC9oT01ZeFkwCjZmdU5kZ1FIL3VBZGxDY29MOXFGMVhj
UTFQbGVEajc0WUgvbU5PNDVwZUdlMU01Z1gwNzZEUXJLN003eFBRaTJDMnUxSSs2K0g4N1AKQ1N6
aStpdjZiSkF4ZmljTDJYK0RaUmZ5ZHl2Tk13ai9OaWR4anZ2T2czdTRQUGNzM0RHTlRHdnl0ejZx
dnllMU85aFg0OUtDYjF6ZgpDZmNGeHkxS0xuZmZIZFB3UmRxNDM2dXdEUGllWXp5QTcwR2E4clA1
ZllFc3dmb0svVzhyekg0eGNNUUtiZUdROUoyUGEwZlM5eVJjCkYrTEJkdko3THJJbXYrZmg1MUhv
ZmhkKy9zSHZFTzdGOWExdzNwemorb1ZORmRRY3hWYWIwb284SFFCNmQ5OTl0NmZtTDM1ZXJPS2kK
VTZUZTFsdHY3ZWxBMXRNdms2ZURXMCtWQWxzcENRbDFrT3RWcTFiTlZuVlIweDlQMzJENytjTW55
SSt5ZEtORFc2VkpIZEk5L1RKYQpNalhGOGRUbTM5UEJwNmNERHo4cnJxc0prTldyQTBoUGJjSTl0
ZVAzY0IwaHF2Nm84dnlDVjUzRXlhUU9YNTRPS0cybEpGMmExdE1CCllEaTd4ZFhwMjlxUFZaMTBp
ZEdDTWd1V3JjcEhaSHRWV2JCVnFOUngxMlRTQWJpbkEzdGJqVWNIc2F2SmliTENBYXZ6Nk9ETVUr
ZHoKNzlaYmIvWE9PKzg4VytITXBZdGlqZkxWb2RzNDllL2YzMWI1aU9QcXlzTVJYTEZ5a0F2Nm8x
MHE3cTZIajFHeXFEbWZyYVNtWm42MgpxaFpXMDFMbmJlKzQ0NDR6dWRBLzBVL1I1L1d0b0tlbVds
WjBtcjRlbGdHcncyRFZOc2lzbTFSNldLVUtLMDI0a01RZ0tiLzZ3M2hxCnF1WmhKYkpMTHJuRVZv
VlJaMGgvaGEray9FNE9kMHg2dmtuMWhmdGlPQjdYWHF3U3B2OFEyaXAyYXZmcW9aOWlaU2o4ZG93
Wk04YUoKNkIveDI2UU8zWjZhS25ndnZQQ0NwOHZnMm9vOGFaNVRuQnlvSUs2ZG1mcHkwbStRTDdT
ZW9HMzZsczlUaHo5UEZVSVBxLy9vUHpMVwozOEJmblhvOVhWTGM0dmc5MHhtNTJQNGFabHpJL2hz
c3U5Qy9XM0hQSU9xM09ZbHoxSGMrcXJ6Z2M4RjVuRXhyK3JjK3FyOUQ3cWgyClorcXJVV2xSVGxU
ZndiMWdYd2orMnhBbkYvSUZReHhmcEV2NnZRcktnSlVjZFFsZSs1N29MR2ppdnluWi9yNUFubUI5
aGY2M0ZlTWwKakoxMG8wQlVWU3JFL1J1RjFiYVNmaWVUdmllbEt0TklzSjM4bnE4L1l6cjhQZ1Mv
UTJuNlZyanY1QkxIRzROeURWaFdEb05JTENXWQpGUFN0bjZkVHI2a0dtYTRzZmJ2bHFTbVdSZldO
aUx2c0g3T3AzODhVT01sRnBrQjJPM1h5aGE5SHhiT1JPVngyTm5uRDlZZkxDdDlIClhOZVBqbnlX
MmRTZGhxdk9UcFFTSVJ3dmRUTVVpWk5GTlg4L3RXcjkvamxPSUZkUVVTaDFNNHNJL2tIVlRUMDk5
V3Z5c09SZHBoREgKSUUxK3RORzFKZHlPTlBrenlaVDBmS1BxUTFuaC9oT094N1Uza3l4UjEzVEd3
RzdwR3p2akc1VXU2bnFTSEhGY001V1o5QnVVS1U4MgoxeHh6NUFrLzUweU1DOUYvVVZlNGJGeUxD
M0hmdVhDK3BHY1FUbzk0RXVkczZzOVVmaTR5aGNzcEMyWkovVDJiZHNlbFJmdWorazZtCmRpWEpG
V1lUeHpmTjcxVW1HWUoxeEpVZlRKZjJQRnhmSEx1a01zTmw0V1VEbG9HUENuSGYrYWc4N25yUzk4
U2xjOGV3Yk81NjFERWIKRHJrOGt5VDVzNmsvVXh0eWtTbGNUbGt5QzVlZFQzdkRaWVhiVWQ3eENx
Z3c1K2tUWmlRQkVraEZRTjl1Q1piZjFabkRWT25EaWRaMAovckE4akpNQUNaQkFXUkhJOS9ldXJP
UXFxM0t4Q0FwVyttelhybDFaVmNGeVNXQ3RJMUJ1cTJDdGRTMm5RQ1JRVGdUMERZdnZsNUZMCmxX
czZmeTR5TXc4SmtBQUo1RUlnMzkrN1hPcGMwM2tPUGZSUVc4cDZUY3ZCK2ttZ1BBbHdCcVE4YWJP
dTlaTEFrQ0ZEL0lVSDFFZEQKc0s5Sk5tRk41ODlHVnFZbEFSSWdnWHdJNVB0N2wwL2R6RXNDSkZC
K0JLaUFsQjlyMWtRQ0pFQUNKRUFDSkVBQ0pFQUM2ejJCckpiaApYZTlwRVFBSmtBQUprQUFKa0FB
SmtBQUprRUJlQkhKU1FMQkQrVysvL1paWHhjeE1BaVJBQWlSQUFpUkFBaVJBQWlTdy9oSElXZ0Y1
Cjhza25SZGV0bDJIRGhxMS90TmhpRWlBQkVpQUJFaUFCRWlBQkVpQ0J2QWlrVWtCMDNXSEJ6c2tJ
eHg1N3JPaW1iSGxWeXN3a1FBSWsKUUFJa1FBSWtRQUlrUUFMcko0RkVCVVEzREpUamp6OWUzbjMz
WFo5UWxTcFZwRUtGQ242OFVDZjVia215cHZNWGlnUExJUUVTSUFFUwpJQUVTSUFFU0lJRy9LNEZF
QmFSZnYzNHlhdFFvR1RseXBKeDQ0b215YU5FaVk0RzF1dnYyN1NzdFdyU3d6WE4rK3Vrbm45R01H
VE5FCmQzMldQZmJZUXpwMzdpd2ZmdmloZnk5NG90dTkyNUtrMTF4empWeCsrZVd5eVNhYldIbTQ3
Z0w4VGM0KysyeTU2S0tMNUpCRERwRnoKenoxWGRJZHp1NTJVLyttbm41YW1UWnZLQXc4OFlPbWZl
dW9wMldLTExlVE1NODlNbGQvSjRJNjZnN3RjZXVtbDFyYlJvMGRMeDQ0ZApSWGRzbFE4KytFQysv
UEpMT2VLSUk2d050OXh5aThzaVVTd3dvOVM3ZDIrNStPS0xaZkRnd2RLNmRXdlpjc3N0eFhGTWt0
MnZnQ2NrClFBSWtRQUlrUUFJa1FBSWtzQzRSd0U3b1NhRmx5NWFlRHFyOVpOdHV1NjNYb1VNSFR4
VUFUNTNSUFIwNGUvLzR4ei9zZmxGUmtiZnYKdnZ0NjgrZlA5MWF1WE9tZGNjWVoza1liYmVUTm1U
UEh6KzlPZExEdGJienh4bDZyVnEwOG5XSHh4bzBiWitVMmI5N2NKZkYwOTJodgo2TkNoRmwrK2ZM
bW51NFY2Qnh4d2dNWFQ1RmNGeEx2NTVwdjk4bnIyN09rZGVlU1JxZlA3R2ZWRUZSQlBsUTZUOTls
bm4vVVdMMTVzClpXMisrZWJHWjlhc1dkNjExMTdyNmV5UTk5ZGZmM2x4TEtaUG4rNjFiZHZXMktr
eTQvMzg4OCtlS2tmZWFhZWQ1bGNaSjd1ZmlDY2sKUUFJa1FBSWtRQUlrUUFJa3NBNFJTTDBUZXRq
a1NwVUEyV3V2dlV6WDJuUFBQVzBHQUpGbm5ubEd0UDIreVJabU5XYk9uQ252dlBPTwpISFRRUWFW
ME0xVnNSSlVOMlcyMzNleURtNWlsMkdxcnJXVFNwRW55eXkrL3lIdnZ2U2R1UmdTbVg2ZWNjb3JO
WUdEV1laZGRkb25OCmozSnExS2hSeWx5c1pzMmFmanlwZnVRUEJzeFNiTGZkZHRhZXd3OC8zRzVo
VmdhelExZGNjWVhGenovL2ZMbisrdXROZHJRaGpnWEsKcTEyN3RvQWxRdmZ1M2VYcnI3KzJjL3lK
azkxUHhCTVNJQUVTSUFFU0lBRVNJQUVTV0ljSUpKcGd1YmFFRlpCZ3ZINzkrZ0pUS1FRbwpCZzBi
TnBTcVZhdmFwMHVYTGpKMjdGZ3p4WEpsQlk4b3AxS2xTdjRsbUNHaFBDZ2RFeVpNRUowOUVTZ2VM
dWdNaUoxT25EalJqbkg1ClhaNjRZN2I1ZysxR3VYWHExQ2xWZk4yNmRTME9wU3VKQmNvS2xvZXls
aTVkV3FvOFJraUFCRWlBQkVpQUJFaUFCRWpnNzBRZzlReEkKMmthckdaSlVybHhaZXZUb2tUYkxh
dWtxVnF4b1phaUprNkE4S0RlWUtVQm8zNzY5M1hPK0tLdGwxZ3N1ZjZaN2FhNWxreDlwZzBwRQo4
THdRTE5MSXl6UWtRQUlrUUFJa1FBSWtRQUlrc0s0UXlIa0dKS3FCNnM5aE14N0JOL2t3UTNyNzdi
ZWpzcFM2L3QxMzM4bnMyYk9sClU2ZE81cFN0ZmlUeThjY2YrMm4rL1BOUFVkOEtNOVB5THdaT2d2
bmRaVGpNcHcyWjhxZk5HMDZYTHd1VWw0M3M0Zm9aSndFU0lBRVMKSUFFU0lBRVNJSUcxalVBcUJh
UmV2WHJ5KysrL20renFUQzZZbWNESEJheEs1VmFtNnRPbmo2MzhwTTduZ3JSUUdHNjQ0UVpwMDZh
TgpTNzdhRVFxSEMxZ2RxbXZYcnJMVFRqdUpPb3RMczJiTlRLRng5ei81NUJOVFRIcjE2dVV1bWNM
aUlzSDh1SVlaazQ4KytralVnVjJtClRwMHFQL3p3UTZuMFNCTlZQKzZGQTVZbGhsTGtBdlpJUVJ6
WEVhQWNJVUJ4U0dJQm1ZSUtCcGdHeTA2U0hYVmp4UzMzYkt4aS9pRUIKRWlBQkVpQUJFaUFCRWlD
QnRaaEFwZXMwSk1tbksxM0pQZmZjSTcvKytxc3R3NnVyVXNuY3VYTUYvaDNUcGsyVE8rNjRRN0JF
TFphbApoVU01ZGtxLysrNjc1ZFpiYjVYSEhudE1kR1VuY2I0YjRib0dEaHhvWlVBNXdGNGpZOGFN
a2YvODV6OW1jZ1UvRWppNG94d29PUFBtCnpaTW5ubmhDQmd3WUlMcDZsaFVWbHg4SjRFTUMyUWNO
R2lTNk1wZkpwaXRVbWZNNlppaVM4Z2ZseFhMQ3Q5MTJteWt5V0g0WEFRckEKNU1tVHpld0w3Yi8z
M252bHpUZmZOSVhuNElNUE5zVXJFd3M0NVVNdVhRM0xPRUlKUWxuZ0NPVUxEdXBKc2srWk1zV1cv
dFVWeVFRZgpCaElnQVJJZ0FSSWdBUklnQVJKWTJ3bFV3SXBkYVlTRVA4T0dHMjZZSnFtbHdkdDlL
QzdZTlIwK0lWRmhoeDEyRUYxcTEyWkpNQU9BClFYYzRRRVFNek9GdmdZRjVNS1RKRDFrd3M0QlZw
VEJURVhScVQ1TS9XRjh1NTJsWlpDbzdUbmFraDdON0ptYVp5dUkxRWlBQkVpQUIKRWlBQkVpQUJF
bGpUQktJMWc1QmsyU2dmeUlyWmk3Q3lFQ3F5VkxSV3JWcUNUNllBeCs0NEV5N2tpY3NQV1Z3SUto
L3VHbzV4K1lQcApjam5QbGtXd2ppVFpxWHdFYWZHY0JFaUFCRWlBQkVpQUJFaGdiU2VReWdla3JC
b0Ivd2ZubDVGTEhXczZmeTR5TXc4SmtBQUprQUFKCmtBQUprQUFKck04RVVwdGdsUVdrSVVPRytB
N1VtMjIybVJ4enpERlpWYk9tODJjbExCT1RBQW1RQUFtUUFBbVFBQW1RQUFuSUdsVkEKeUo4RVNJ
QUVTSUFFU0lBRVNJQUVTR0Q5SXJCR1RiRFdMOVJzTFFtUUFBbVFBQW1RQUFtUUFBbVFBQlVROWdF
U0lBRVNJQUVTSUFFUwpJQUVTSUlGeUkwQUZwTnhRc3lJU0lBRVNJQUVTSUFFU0lBRVNJQUVxSU93
REpFQUNKRUFDSkVBQ0pFQUNKRUFDNVVhQUNraTVvV1pGCkpFQUNKRUFDSkVBQ0pFQUNKRUFDVkVE
WUIwaUFCRWlBQkVpQUJFaUFCRWlBQk1xTkFCV1Fja1BOaWtpQUJFaUFCRWlBQkVpQUJFaUEKQktp
QXNBK1FBQW1RQUFtUUFBbVFBQW1RQUFtVUd3RXFJT1dHbWhXUkFBbVFBQW1RQUFtUUFBbVFBQWxR
QVdFZklBRVNJQUVTSUFFUwpJQUVTSUFFU0tEY0NWRURLRFRVcklnRVNJQUVTSUFFU0lBRVNJQUVT
b0FMQ1BrQUNKRUFDSkVBQ0pFQUNKRUFDSkZCdUJLaUFsQnRxClZrUUNKRUFDSkVBQ0pFQUNKRUFD
SkVBRmhIMkFCRWlBQkVpQUJFaUFCRWlBQkVpZzNBaFFBU2szMUt5SUJFaUFCRWlBQkVpQUJFaUEK
QkVpQUNnajdBQW1RQUFtUUFBbVFBQW1RQUFtUVFMa1JvQUpTYnFoWkVRbVFBQW1RQUFtUUFBbVFB
QW1RUU5ZS3lKSWxTMHBSVzdSbwpVYWw0MnNqS2xTdmwyMisvOVpQUG5qMWJwa3laNHNmTDhxUTg2
MHJiam1YTGxzbjQ4ZVBUSmkvemRBc1hMcFEvL3ZnanNoNzBnNTkvCi9qbnlmbGt4TGk5TzRmNFoy
ZENJRzJYVi9vanFwTkJjQ2lWL29lV0thait2a3dBSmtBQUprQUFKckRzRVVpc2cwNmRQbC9QUFAx
OE8KT09DQVVxMzc1WmRmNU9tbm55NTFMU255OGNjZnkzYmJiU2VubjM2Nm43UnYzNzV5eUNHSCtQ
R3lQQ25QdXRLMDQ2T1BQcEx0dDk5ZQpEanZzc0RUSnl6ek53dzgvTEEwYk5wVGh3NGRuckF2UHUw
bVRKbkxQUGZka3ZJK0xaY0c0dkRobDZwK1JEWTI0VVJidGo2aEt5b0pMCkllUXZDN21pR1BBNkNa
QUFDWkFBQ1pEQXVrTWdsUUt5WU1FQytlNjc3K1MvLy8ydmhHZEF0dDU2YStuVXFaTmNkZFZWcVZ1
OXd3NDcKU0xkdTNhUktsU3Arbmh0dXVFRkdqaHpweHd0NWdyZXdiNzMxbGw5a1dkYmxWNUp3RXBS
cHA1MTJrcE5PT2lraFIvbmRQdU9NTTZSKwovZnFSRlI1OTlOR3l6VGJiUk43SGpURGpZSHRqTTRa
dUJ2T1ZGNmRNL1RNa1ZtSTAzUDdFREhra0tBc3VoWkMvTE9US0F4T3prZ0FKCmtBQUprQUFKckNV
RVVpa2dkZXJVa2QxMzMxMjIzSEpMcVZDaHdtcWl0Mm5UUm1DeTh0SkxMNjEyTDN5aHVMallMbFd1
WEZrcVZ2eGYKOVhqampuSUtIVmFzV0NISEgzKzh2UHZ1dTM3UlpWV1hYMEhDU1NhWnFsYXRtcEZ0
UWxGbGRodktZYVpuN1Nxc1ZxMWE3UDBnNDB6dApkZVhFSFRQbEsydE9VZjB6VHM1TTk0THR6M1Ev
NnBybmVWRzNZcS9ueWlXcXZsemtMeW9xV2szR1hPVmFyU0JlSUFFU0lBRVNJQUVTCitOc1FxRnlv
bGh4enpERnkzSEhIU2E5ZXZhUlNwVXFyRmJ0NDhXSzUrT0tMcFhIanhqSjE2bFQ1K3V1dnBYcjE2
cFp1MnJScE1telkKTUJreFlvUjg4TUVIOHRsbm53bk1nRGJhYUNPcFVhT0c5T3ZYejVTYlRUZmRW
RzYvL1hiNTlOTlBCVDRLLy9yWHYyVG5uWGUyTWpBegpjOU5OTjBuZHVuVXRQOTVpb3o3a0hUVnFs
SHovL2ZmeXd3OC9tR25RYzg4OTU5ZUZ6Q2pyOHNzdkZ3eXFrYVpGaXhaV0Qrckd6QWxrCmFkYXNt
V3kxMVZaeXl5MjMyTXpOSzYrOElxMWF0Yks2Yjd6eFJxc0RwanZoa0trdHZYdjNMaVZULy83OXc5
bXNiZmZkZDU5ODlkVlgKZ2tGY1VuaisrZWNGTXhlNzdiYWIvUHZmLzdiWnBFc3V1Y1JNM1FZTUdD
Q2JiNzY1bVV5QjhkaXhZNDM5akJreklubWlQdmZNOEd6UQovc2NmZjl3WWhHV1pPSEdpbWROQlNZ
V3kxNmhSbzFMUE0vd00wTjVhdFdxVktpWlhUcVVLV1JXSmU1Nlo2b0hpM0s1ZHU4aitpV0tqCldH
VXFiOGlRSWZiY1hIOU8wNGZBK3RKTEw1V05OOTVZM252dlBXblFvSUYwN05oUmR0MTFWK25hdGF2
RTliRnNHU0I5WEgzb0s4SHYKSTlKSGZiOXc3NDAzM3BCUFB2bkVGTklYWG5qQnZpL2d5VUFDSkVB
Q0pFQUNKRUFDR1Fub0c5RFU0Y3d6ei9SMFFKUXgvZkxseXoxOQphKzZwM1hmRysvdnZ2Ny8zMUZO
UDJUMmRMZkhVaDhEYmUrKzlMZjdubjM5NktIdkREVGUwdUNvaG5wb0FlZW9uNGozNzdMT2VEcXk5
ClNaTW1lZnZ1dTY4M2YvNThEL2x4VFJVVWI4NmNPWlpIRlI4UCtSQjBNSVRYeUo0cUtoWnYyYkts
cDRxRG5ZZnJ3a1VkT0h0RGh3NjEKKzJqSGpqdnU2S212aThYVjk4VnIyN2F0cDdNLzN1alJvejEx
dlBhMjJHSUw3N1RUVHJQNytLT0trSGZ3d1FmNzhlQkpwcmFvT1pzWApsQW5wNzcvL2ZrK1ZNei9y
NE1HRFBmVUw4WFFXd0wrV2RLS21jTjRwcDV6aUoxTXpOKy9razAvMjR6clE5bFE1c2JpK3JZN2xx
UXFICnAyWlduaXB2M3B0dnZtbnlicmJaWnI0ODNidDM5ODQ5OTF3cjY2R0hIdkowME8zWGs0bHh1
TDErNGxVbnVYSUtsNE40M1BPTXFpZXUKZjhheHlsVGVoeDkrV0tvL3ArbEREenp3Z0hmUlJSZFpj
Nzc4OGt2cnY2cHNXMy9EeGJnK2h2dmgvaFBIQU9uajZzdjAvS0srWDJvaQo1elZ0MnRUNkNNcTk3
cnJydk1NUFB4eW5Gc0p5dWVzOGtnQUprQUFKa0FBSnJMOEUvbWNEbFZFOVNYOFJKanZ3RzRDdlNE
am9nRXhlCmZ2bGwyV2VmZmV3V1RLLzIyMjgvUHhsbU90cTNieS82R093YVpqVmc3b1VaQngzTWlB
NXdCVy9aY1IrbVZLKysrcXBzc3NrbU1uUG0KVEhubm5YZEVCOGgySHpibkNKMDdkN1k4bURGeHda
a1RoZXRDV1hqampGa0pCTFJEQi9IeTRvc3YybXdNM3VhM2J0M2E1SU1EUHNyVQp3YmRNbmp6WkZT
MW5uWFZXcFA5S3ByWTRVek1uazE5UTRBUXlZRVlGcG1wcGd5b2I4dHBycjRrekkrclJvNGVvMGlU
T05PYjExMStYCkk0ODgwb3A3NXBsbklubTYrazQ0NFFRNThNQURaYzg5OTVUYmJydE5mdnp4UjBF
WndZQm5BM01kcEhVaHpOaGRqMnR2cnB4YzJlNlkKOUR3ejFZTVZuK0w2Wnh5clRPV2hId2I3YzVv
K2hCa0hjRVRBN0FFWUlyZytITmZITEdIZ1R4SURKSTJyTC96ODRyNWYrTDVnOFlRTwpIVHFZQkdp
RHZpd0lTTU5URWlBQkVpQUJFaUFCRWloTklQM290blMrakRINGltUmFTdmZ0dDk4MmhhSmV2WHAr
dnRxMWE1ZnlJY0RnCk5EaEFoZm1URzRRaGs3NXB0Z0dhTTBmcTBxV0xtUkpCU1JrNGNLQ1pxZ1R6
d3h3cEdJTDNnblZObUREQjZzRkF5Z1dkQWJGVEtEMjcKN0xLTHlSWE1qM1l1WGJyVUpVODhodHZp
TWdUTGROZlNIS0hrZ2FrTEdPeENUcGpCNlZ0MFU5TDIyR01QTXdQQ01za3drVUVjaW9regpmWXJq
NmNyZFlJTU4zS2x2Nm9ibkN6TTdCQXphWWZyMXpUZmYrT25jU1pCeDhCck9vK1RQbGxPbWN0STh6
M0E5U2YwemlWVzRQTFF4CjNQNXdQTnlIRUVjOUxzQlUwU25VN2xyYVl4b0dTZlVGNVlXU0QxTXdY
SE1oK1AzU1dRNVRUdkU5aENrV0ZxMWdJQUVTSUFFU0lBRVMKSUlFb0FnVlZRT0EwWExObXpkWHEr
djMzMzJYV3JGbXJYUThPYUZhN0dicUEvSmdOd0Z2OWNJQjlQbndsY2dtd2hVZlo4QnVBVW9TQQpB
VDNxeW5XUGsxemt5Q2JQcjcvK2FqNHNMZzg0UWdIQjIyZk0wanp4eEJNQ1pROUwrMksyU1UzZlpO
NjhlYVdXT1k3ajZjb05IdkVtCkhvTldmRnlBYjhLNGNlTnNlV1kxR1hPWEU0OVI4aWRtRENYSVZF
NHV6ek9wZjJiTEtpUm1xdWdGRjF4Z0s2R3ArWlg1SXVGN0JLVXgKbDVDR1FUYjFKWDIvNENPRldj
UkhIMzFVQmcwYUpGQ0FHRWlBQkVpQUJFaUFCRWdnaWtCQkZSQU1WRnEyYkxsYVhkZ3pBdVpTZUdP
dAovaFNyM1U5ekFRN2ZHT0JnNXNFNXI4TWtDd05nREk3eFpoNE81RENYUXNDOXp6Ly8zQng1RVk5
U2RtRHFoUlc4WU80RVV5TUV0WUUzCnN5WE1ycFJsaUpJcHFVNG9ZWmtVTWVURGNyNHdoOEpNMGMw
MzMyenRPdUtJSTh5MERBTkZGK0o0cXUrSVMrWWZzWEFBM216RE1kb0YKS0NNdzVZSHpPVXpxWUM0
WEYxeDc0K1RQbE4vbEM5L0xWTTVqanoyVzlmTk02cC9ac2dyTG1TWU9mdXBYWk9hRjZsTlJhdG5v
TlBtRAphZEwwNld6cWkvdCtZZUVHbUllaGZ3Um5FWVB5OEp3RVNJQUVTSUFFU0lBRWdnU3k4Z0hC
bmd6T3Z5QllDTTVoUjQ4WkVLdytGUTdZCk53SXpDdkFYY0FHN29PUE5NZ2IvQ0hocmk1VjJuQjhJ
L0JhQ2U0NzA2ZFBIVmlLQzZZYzZucHVTZ0wwSzRFK0I4cUdVd0FjQzl1ZjQKWUVXaDVzMmJXOW1Z
RGNCYmJnVGtEZFlGbndpczhJU1ZvVnlBR1FrR2NjN1VTQjNUUzdVYitaM2N5QU8vbEh2dnZkZGxY
KzBZYmdzUwpoR1ZDSGVEbkFtUzQvdnJyYmViQ1hVdHpWRWQ5ZTRPT2xjaGdRZ1YvRmF3TUJwK1o0
RUEranFlcko5aEcrQUZnbzBobjY0ODI0Vm5CCk5BY3JpSjE2NnFtbGRyWVBNa1o1NGZhNk9vTEhY
RGdGOCtNOHpmTU0xNVBVUDVOWWhjdURIT0gySi9VaFBHc281K3JZTDhjZWU2eXQKL29aeVhFanFZ
OEgrazRaQlVuMUIrZU8rWC9pdTRUY0JabmpvTDNnaGdKY0U2QnY0Qk9WeWJlR1JCRWlBQkVpQUJF
aGdQU2VnZzRURQpvQU1LVDk5MDI4cFYrc2JUMCtWWXZiLysrcXRVUG4zejdPa0F0ZFMxWUVUTmdq
eDlZKzdwcklKMzFGRkhlZXJjYkN0cTRUcFd6bElUCklsdjVSd2Z5dHFLUytpcDRPbWoyZE5kdHZ4
aGRUdFpEL1RxUXRoV3dkSmxUL3g3TzFXZkV5dEEzdHA2YWhQajNycnp5U3N1REZhSjAKK2R4U2RX
RVZIMTFLMWRNTkZiMDc3N3pUVTc4R1R4M1NiZFV0RktBREtrOEh6OVoydGRIM2RGYkYwMlZLVFk0
eFk4WllIVmdOQ2l0WQo2VURVcjlPZG9IMloyaEtXU1IzblRYWmRvdGFEVEpkZGRwblB3NVdWOXFq
TEQzdTY3TENmL0pwcnJpa1ZkemZpZUY1NzdiV2VtcUo1CjZuenUzWHJycmQ1NTU1MW5LNUFocis2
UTdxbTVtcWV6VGQ3NDhlTTluWG55MUdUSW50ZUREejY0MnZORWU0THQxWmt5SjRKL3pKV1QKWDBE
Z0pPNTVSdFdENjFIOUUwVkhzY3BVWHJnL3ErTitZaDg2Ly96ejdYbnJ6NUdueXFPbmp1dWV6aXhZ
WDBEOWNYME05WVg3VHh3RApsQmRYWDFoK1BMK283NWVhS2RwcWRlZ1BXSEVOSzYyaEwraVMzUFlk
RE11RnVobElnQVJJZ0FSSWdBVFdid0lWMFB4QzZHQzZESzNvClFGV3dNM3BVd0J0U3pFRG9jcnVs
VEttaTBtZTZqamVxdi8zMm01bGRoVmVJUWxOZ1BvVlZoOElCc3kyb055b2dML1lLZ2MrRU0rT0sK
U2h1K2pyeDQ2d3RuNUd4Q2treHcvbFZGcjVUdlJwcnlkY0Jvc3lBdWJUanVydU1ZeHhQM2RRbFo0
eFptalh2WmhxVDJScFdYUzc1YwpubWRTLzB4aUZTVi9tdXY0N3NCVUR2MElwbTV6NTg0VnJMNkZ2
WFZnYXBaTEg0dGprRlJmSnBsUlh0VDNDN09WcnY5akpvL21XSmtJCjhob0prQUFKa0FBSmtBQUlG
RVFCdWZycXEwWDM5TWpaYVphUFluVUNVRHpnMEh2aGhSZG10UlR2NmlYeHl0cE80SkZISGpGbEk3
ekUKTVpaVWhqS01qUUVMR2NxN3ZrTEt6ckpJZ0FSSWdBUklnQVRXZlFKNUt5QjRTdytIWit5SHdG
QTRBbGkxQ3I0YlFiK053cFhPa3RZbQpBbGo1Q3I1VDJITUZlOWhnTmdFTE9tQkZNM3dLSGNxN3Zr
TEx6L0pJZ0FSSWdBUklnQVRXYlFKNUt5RHJkdk1wUFFtc0hRU2djRUtaCmg4a2JWbU1yOUt4SHVK
WGxYVis0ZnNaSmdBUklnQVJJZ0FUV1h3SlVRTmJmWjgrV2t3QUprQUFKa0FBSmtBQUprRUM1RTho
cUdkNXkKbDQ0VmtnQUprQUFKa0FBSmtBQUprQUFKL0swSXBOcUlFT3Y4VDV3NFVYUnBUek1Sd1I0
VFdCRUhId1RucDhCNE5JK0JnMWRLSlYxaApLNXRRc1dJRmFkSjBBem40b0haeTF2OTEwYjFPcW1T
VG5XbEpnQVJJZ0FSSWdBUklnQVJJWUswamtHaUNCZVhqeVNlZnRPVmFzY0daClcycHpyV3ZKV2k3
UVN4TitselpORytneXZ4VlVZVk9sVGYrenNPb2dxeFpEVnJWT0ZUdVJsY1dlckNncWx0OS9tU05E
SG4xZlZxNG8Ka3Y4TVBVNlgxMDJsTTY3bE5DZ2VDWkFBQ1pBQUNaQUFDWkRBK2tvZzhaVThkdVRH
bmdTNk9aL3ROZzVRRlNwVWxJbzZpc2FlR2Y2SAo4Zit4QUpjUWp6K1hlckxZcXlpTFZsYVF4Y1VW
OWJ5Q0xNRkh6NWNVNnpVOVg0eWp4aGV0T2k2UlNsSzNXUU01K2VKOVpOcmlZdW4vCnlIdnJhejls
dTBtQUJFaUFCRWlBQkVpQUJQNG1CR0pmcDJOak50MVJYTGJkZGx2UlhiNTlrNnVTdC9nVkxRN3pL
NWhlOFJqUFlmYkMKWXBtOXFLaEVNY0VNaUhJckNaajZxQ0N2am5oQzlqbmtXSnNJY1RNZ21BWEJa
L0Z5a1k0OTJzbXdaOStYYzgvcUtqQ0JZeUFCRWlBQgpFaUFCRWlBQkVpQ0JkWkZBb2dLQ25abWJO
R2tpSzlRRWFPWEtZak1mZ3ZVUVRJaWMwdUVhL25lTlAvWFVVN0xWVmx2SmR0dHQ1eXRoCmFITTI3
VjJ3M0pPRnk2Q282Y2NBNGxnU1BuM3ZOWG53NXN1a2F1Mkcwbm0zbmxaSHNkNHFoaG5XU3QxbFhm
UFdiMVJmdnB0UnBOZUsKcVlDczRzWURDWkFBQ1pBQUNaQUFDWkRBdWtjZ1ZnRlp2SGl4S2gwcmJm
YWpxR2lGYjJKa2IrOUxYdHhiaTIwR3hBYlZKUUQrYnZHUgpJMGRLc1NwZjdkcTF5N205UzFjVXkr
SVZuczJBaU01enVBbVE1VXVYeUwvdjZXdmxQbmJ2TmJMWnRsMmthdlVhb3JxSGZqd3BVZ1ZrCnNT
b2dpelJ2cFdyVlpOR2lSVkt2WHIwUzBQeExBaVJBQWlSQUFpUkFBaVJBQXVzWWdVZ0ZCRW9Feks0
cVY2NXN4eFVyVmtobE5mMHAKRHF6a1pJcUlOaGlPMC9nL0tqNXYvano1Nk1PUHBHZlBub1puMkxC
aDBxVkxGOWxzczgxazl1elpNdW5iU2RKbDF5N3k4ODgveTVneApZNlRibnQya2JadTJWdDRISDN3
Z1U2Wk04YkZXMDBGNDh4Yk5aZWVkZHBZRkN4YklDeSs4SUJVcjc2QlVYZ0FBSUFCSlJFRlVWWlRH
CmpSckxIbnZzSVZXcVZERjVoZzRaYXJ0TFkrYkNwaHBXeWZmNjY2L0xibDEzazJwVnExbjUyQlc2
YUdXUmJOZGh1MGo1aTcxaU5ZVXEKVWNRZ1NGSjdNOTFmV3FRekdmb3hweHVkQlNrUlNtVDBrUHRs
M2w4enBWTGxLbnFjSlNPSDlKT0RUcmxDaXJVV3pJQ1VtR0FWeXdyMQpDNmxVcmFwdkN1ZFkrMkI0
UWdJa1FBSWtRQUlrUUFJa1FBTHJBSUZFSjNRb0lERERXcnAwbVpsaEZlbU1DR1pGZ3AvaW92ajRi
Ny84CktsZGRkWlZjZU9HRnBqU01HemZPbEpFNWMrWUlkbVErOSt4ekJMTU0rKysvdjN6ODhjZXli
Njk5VFJGQkhhKzg4b3BjZSsyMWdqeHYKdmZXV1BQNzQ0M0pzNzJOazdOaXg4dTIzMzlyMU4xNS9R
NjY3N2pxNS9QTExUYTZ2dnZoU0huamdBVG44OE1PbGMrZk9NdnpwWjN4NQpYMzc1WlRucHhKUEV6
ZTcwNzk5ZnZ2anZGM1ovd0lBQnN0OSsrMG5YM2JySzFWZGY3ZWVCY2pWMTZsUTU2S0NEWlB2dHQ1
Y0IvK3J2CjMvdnBwNStrOTFGSFM2ZE9uV1RYWFhlVjk5OS9Yekx4V0s0ekdJdlZCR3ZSY3AwSjBS
bU5KWHJFcDhkeEY4dHRJeWZMcmFzK2V4OS8KbWFaWktZdVdGY3RDdlQ5bjhVcjVjLzR5bVRaUFo2
Q3FjUm5lZGVBN1JSRkpnQVJJZ0FSSWdBUklnQVJpQ0VRdXc0c1pFTXhPREIwNgoxQWJXTld2V05O
OER2SGszM3dXekljS1NzUzZPV3FManMyYlBrc01PTzB3VmhuY3MvNUZISFNsWFhIRzVkT3pZV1lZ
Tkd5cDMzSEdICmpCanh2R3krZVZzWlBYcVVUSmd3UVc2NjZVWjk0MStzTXh1NzI4RGVsWDlmdjM1
U3VVcGxPZnZzZi9yMS8vYjdiM0wrK2VmSnM4OCsKTDA4KzhZUk1uekZkTHJqZ2ZIbjExZGZraGh0
dWtQSGp4NnNKV1FWZDBXdStLajk3bThKd3p6MTN5MTU3OVJETWxyUnAyMFpuWUg2UwpUVFpwYXZM
dDBXMFBWWXBHeU1ZYk43WjZvTERjZXVzdHNtVEpNam54eEJOazRNQ0Jzc1VXYmVYS0s2OHl2NHkr
ZmZ0S3pabzFWRWxiCktWVlVhU3VCOUQ4ZWw0MHRraVliMVRjWm9OQ1V6R0JnSnVSL0FjN25ka1gv
WUFZRWNjeUNMRnl5WEtiUFhTYVR4bndpWHorMW56UnMKMk5DZnJmbGZicDZSQUFtUUFBbVFBQW1R
QUFtUXdOcFBJSEVHQkNaTldIV3AxRWNIMkNYeHltcWlwZmZ3c1RUUjhVYU5HdW5nWE0yNApWcVhm
ZE5OTlpkbXk1UmJmWUlNTnpIeHF5eTIzc3ZodXUrMW1Da2lsU3BWMTM0dXF0dmZJa2lXNktLM0dr
ZitQcVgrWWVaV0xvLzc2Cjlldkx3b1dMN0g3N2Jkdkw4ODgvcjdNdEMrWEFBdy9VYTVXMXJtV1dI
MG9PWmtwcTE2NnRTd3NmSTkyNmRaTXR0OXJTNUcvZGVuUGQKYUhHYXZQTHFLK2J2TW5QbUxDc1B5
Z0tVcDZaTm02bUMxRnAyM0hGSFU0amdsQStUcnVPUFAxN3ExS2xqNVZldlhpMGpqeXJLQjJaVQpL
M1FaM2hXcXRCWHB4K0s0cGt2dkx0Y2pyaFhaVWZSWVVkT0tYbGNscEVJbFFYNllZREdRQUFtUUFB
bVFBQW1RQUFtUXdMcE1JTklICnhEVUtnM2VuZk9EYytSNjRJOUtaMDduenFrNklvd3lreC80aEtC
ZngvLzczdjdMUFB2dllPY3ByM0xpeG1XYmhIa0xUcGsxbHhvd1oKNW53TmZ4QjhkdHBwSno4OXlv
T2loSUE4TUpQNjZLT1BySHhjcTE2OXVsM0h2VkdqUmdsV3RZSkMwYWRQSC9ORGdSd280NmlqanJL
VgpydmJkZDE5VFVKeDhhS3M3UjNrSWNBUkhHN0FxRldhSG5LeTRsNGxIOWFxZTFLcGV3Zzh6U01a
UFR6NS9hWkJNK2ZERmtna1R2ZDZpClF6ZnBmT2k1TmhOU3JFcklTblZDcjZqN3JpeXVxdjQ0MWFt
QWdDOERDWkFBQ1pBQUNaQUFDWkRBdWtzZ1VRR0IwN2NiZkdPUTd4UVAKSE4wNUJ0d0lhZUpWcTFi
MUIrZ1l0Q01PODZnTExyakE2bG00Y0tIZFIxMFkzRU41YU42OHVYenh4UmYyZ1EvSVF3ODlaQXBD
c0Q2VQpoVGpLZzduVTh1WExTOG1ENi9qTW5EblRUSmdnTDh5b2V2WHFaYk1rMk9GOTBxUkphc0wx
ck02a0xEUm5iOVNQUEZBMGZsWUhlZFFCCmY1aUpFeWVhWDByZHVuVk5jWHJtbVdjc0Rwbmh1QTll
Q0VINWFxanVVRnYvNEpwYWd2bjNPL2ZzTFJOSEQ1Q2xDK2RLbFdvMTVkQkwKQjBxZEd0V1VBV1pC
aXRWQnZsanJYeWsxcStrc0NCV1FFbkQ4U3dJa1FBSWtRQUlrUUFJa3NNNFNTRFRCY20vM01iaDJD
b01iek9PYQpPOGN4S1E1S0xyMVRhcVpObTJibHdpUnJ4SWdSdHRSdCsvYnRiVllCWmsxSTM2Wk5H
M25wcFpmVS8yS0pQUHJvbzdMMTFsdmI5WEI5CnJ2eEREamxFVUFhV3pjVUhaY0JFYS83OCtXYk81
V1JvMXF5WlhIYlpaVEo4K0hCcDFhcVY3TG5ubnRLOWUzYzU3YlRUYklibDVwdHYKTm1VQ1NzUDA2
ZFBsMUZOUEZaaUh3YXdMOHFKK09OWmpzOGF1WGJ0YS9uZmVlY2R2WTFDK210V3JxQUpTVGVyVXJD
NjE5Vk9uVmcwNwpiN1JKRStsMTZyWFdnZlpTQi9TbUxWcnAvV3BTcTJaVlZVVDBvOGRhTlNycjdF
a1ZOZk9xYnVuNGh3UklnQVJJZ0FSSWdBUklnQVRXClZRS0pUdWl2dmZhYWJMUE5ObVlXaFlFN1pn
UHdRUWkrNFU4VGI5bXlwZnp5eXk4Mnc1RW1mYmJsNTVJZXN6ZVk2VUNia0IrcmNtRm0KQXdIbk1M
WENqQWhtWXBBRyszREFmd1FoV04rc1diTnNaZ1ZwTXMwSTNmYjJFbW5XcEpHb05aVS9BK0ptUXRU
ZFhKNjc5MUk1OU56Ygo5TDR1ZFF5L0QvM0EvR3FGcmpDMlJIMWxmdngxcHZ3MStRc1pkUEV1ZEVJ
Myt2eERBaVJBQWlSQUFpUkFBaVN3TGhLSU5NSEM0THBXCnJWcUNaV2EzMkdJTG16bkFJQnd6Rjdq
blBtaDBwZ0UzcmdjSDZJaWZmUExKTm5oUG16NmN2enppVUM2Y2ZKaUJRUUFIQk5RUDVjVGQKRDhx
RGZNRzRTNDhqMGpmWW9JbzBhQ2lpVzVab09sVkNWaDF4WDYvSW1iZmNxZWxLRkEvZGRrUk5yM0N1
RHVvcktxdlNvODczYXRyVgpxT2dibGFXSFgwOUpYdjRsQVJJZ0FSSWdBUklnQVJJZ2dYV0hRS1FD
Z2liQWhBZ3pBRC84OElPWktDR09RYlliYUx0bXBvM2ZmZmZkCmxpVnQrbXpMWDV2VE4ycFVWUnB1
cUx1Wmw3aUgrRTduVURxZ2tDRG9xU2tocG9pb0FxTGJvRWlSN3FDK2N0bFNxYjF3c3JSdVZjZDMK
dHJjTS9FTUNKRUFDSkVBQ0pFQUNKRUFDNnhpQldBVUVzeDBISEhDQWJlcjM0NDgvbXNNMXpMSGdD
OEtRSFlGYXRaZExKZXlEcmtxRgpLUnFCN0lqN0FRcUpSakJUVXJ5OFNLWis4Nk44TjI2TVZGZ3dW
ZlkvNXh6ZndkMVB6eE1TSUFFU0lBRVNJQUVTSUFFU1dJY0lSUHFBCnVEYkFQd0l6SUZqcENidUJJ
ODVRZmdUZ1U5S2tTUk5iSXJoMTY5YSsvMDM1U2NDYVNJQUVTSUFFU0lBRVNJQUVTS0J3QkJJVkVG
UUYKSHdac0lnZ0ZaTTZjT1ZSQ0NzYy90aVFvSHcwYU5ORGQyVGN4MDZ1dzZWcHNadDRrQVJJZ0FS
SWdBUklnQVJJZ2diV1FRQ29GeE1rTgpSY1E1WUx0clBKWXRBU2dkVkR6S2xqRkxKd0VTSUFFU0lB
RVNJQUVTS0Q4Q1dTa2c1U2NXYXlJQkVpQUJFaUFCRWlBQkVpQUJFdmc3CkVsQlhad1lTSUFFU0lB
RVNJQUVTSUFFU0lBRVNLQjhDVkVES2h6TnJJUUVTSUFFU0lBRVNJQUVTSUFFU1VBSjVLeURZSmZ5
UFAvNGcKVEJJZ0FSSWdBUklnQVJJZ0FSSWdBUkpJSkpDWEF2THd3dzlMdzRZTlpmanc0WWtWTVFF
SmtBQUprQUFKa0FBSmtBQUprQUFKNUxXago0QmxubkNIWFhudHRUaFN4cjhpZmYvNHBwNTkrdWxT
dFd0WEtPUHZzczJXRERUYVFDeTY0UURiY2NFTzdoZzBRNzczM1h2dGdBOFJmCmZ2bEZIbjMwVVhu
MzNYZGwyMjIzbFJ0dXVFSHExcTFyYWQ5NDR3MTU2cW1uVnBPblpzMmFzdEZHRzBtdlhyMWsrKzIz
dC9zdnYveXkKakJneHdsYVlRcDNObXplWDQ0NDd6cGE5ZFFVOCsreXpnakwzMldjZjZkNjl1MStQ
dTQ4anlwazBhWkpjZE5GRndjdnl5U2VmQ0JTMApPKys4MDNhVEwzV1RFUklnQVJJZ0FSSWdBUkln
QVJKWVh3bm9zcnFwZys0RnNscmFaczJhZWYzNjlWdnRldEtGUG4zNjJJYmd1ck82Ck4zZnVYTyt2
di83eVZEbXdhMXRzc1lXbkd4NWFFZVBIai9kVVFmRXV1K3d5VHhVV3IyWExscDRxRko0cUtKYTJh
OWV1ZmxVSEgzeXcKWGRObm1mR295OWw2NDhhTnMvUjc3YlhYYW1sYXRHamhGUlVWK2VYMTdOblRU
NlBLajRmNFcyKzk1ZC9IaVNwaGxnYnlCY05ERHozawpWYXRXemN2RUxKaU81eVJBQWlSQUFpUkFB
aVJBQWlTd1BoRklaWUtGV1lEYmI3OWQ3cm5uSHVuU3BZdDg5ZFZYcGZTMXhZc1h5OFVYClh5eU5H
aldTenAwNzI0eUFTN0JreVJLNTZxcXJMUC9SUng4dGQ5MTFsOTE2L1BISDVibm5ucE92di81YW5u
enlTYWxmdjc1OC9QSEgKMHI5L2Y1azhlYkpNbkRqUjB1Mnl5eTQyaTNESEhYZklIbnZzSVZ0dHRa
WE1talhMWmtJd1k0S1prUGZmZjkvU2podzVVazQ0NFFTYgpzZENIYUh1V3JGeTUwalpQUkxtNE5u
YnNXRXY3K3V1dld4elg0TWN5ZE9oUStmWFhYMlhDaEFsMkg5ZmVmdnR0bXdHQmZJY2VlcWlvCjhp
S3FoRmg2UzZSL1ZORVF6QVNCRHhpNGdOM2pWYmtTek5vd2tBQUprQUFKa0FBSmtBQUprQUFKbEJC
SVZFQ1dMMTh1SjU1NG91eTQKNDQ1eTZhV1gyZ0Q4dXV1dUs4WHZpU2VlTU9VQTVrODZreUVISEhD
QTZFeUNwVG5zc01Qa3dBTVBGSjBoc1B5WFhIS0pmUGJaWi80OQo3UEtOSGRaZGdKS0NNRzNhTkhk
SlRqMzFWS2xSbzRiQUhHdlFvRUYyRHJNcUtEWUlPa3ZpcDlWWkRGTWszQVhzSmw2dlhqMDU4OHd6
CnBVNmRPb0o0T05TcVZVdU9QUEpJdXp4anhndzdRakZDMjNYR1JZNDU1aGlCeVJnVU1ld0lINndQ
aWJGUklFeTg3cjc3Ym5ud3dRZE4Kc1lGcGxzNnlXRm44UXdJa1FBSWtRQUlrUUFJa1FBSWtVRUln
OGZWOGxTcFZCRXBFaHc0ZExBZWN6dUh6RUF5WWRZQ1NnWERiYmJkSgo3OTY5QlRNTThPM0FUTVpP
Tysxazl6QTdnaG1EVFRmZDFPTDRBd1VFc3lRdXdCOERZZEdpUmU2U1FObkFJUCtJSTQ2UUprMmEr
TmNiCk4yNHM3ZHUzbDIrLy9kYS9GbFpBM0kwcFU2YklnZ1VMcEczYnR1NVNxV1AxNnRWdHRtTGV2
SGwySGVWQ2xsMTMzVlUrL2ZSVGFkcTAKcVdBMkJuSUVGU2FrSHpac21MVVgvaWpubjMrK2ZQSEZG
K2JmY3VXVlY1YXFneEVTSUFFU0lBRVNJQUVTSUFFU1dOOEpKQ29nR0hEZgpmLy85TnZzd2NPQkFj
NjdHUUQ0WW5OS0FhenZ2dkxQZHdvQi85dXpaTm9CSEdTN0FYQ2tjZ3ZmRDl4REh6QWNVa2tNT09X
UzEyK292CllvTjlkd01LQ05KaUpxWkJnd2J1c293Wk04WVVHYWNvK1RjQ0o1Z2RnVWtXQXBRZXpI
UTgvL3p6cG56Z0d1NURJUXVHSVVPR1NKczIKYmF6ZG1BR0NrZ0pPNmhkRDUvTWdLSjZUQUFtUUFB
bVFBQW1RQUFtUWdCSlkzUjRwQXhhczVvVFZyaTY4OEVKYkRTcE9ZY0RzQmt5ZAo4SUU1VTloZkpF
UHhpWmZnaXdGZkNxeEdGUTZZa1lHeTRRSVVFQVQ0Yzdqdy9mZmZTOSsrZmVYcXE2L091SktWU3hj
K2JyMzExcFluCmZEMFl4MHdQek5NUXNCclhxRkdqYkduaUYxNTRJWmlNNXlSQUFpUkFBaVJBQWlS
QUFpUkFBa29nVVFINTVwdHY1S3l6empMbjhmRGIKLzB3RVlaNkVHWktPSFR1YXFSVm1RdUNRN1FK
bUdKeUR1YnVXZEh6enpUZGxoeDEyTUtVbW5CWUtDR1phWEFncUlLZ0x5K0ZpMWdPegpKMWRjY1lW
TFZyQWpsZ1dHODcwTHJWdTN0bVdDZGJVcytmZS8vKzB1ODBnQ0pFQUNKRUFDSkVBQ0pFQUNKS0FF
RWsydzRPK2hTK0lLCkZCSHN6WUdWb0pZdVhlcWJLb0VpVnBweUFjb0NCdnZ3R2NHTXdQWFhYeThu
bjN5eTdZbUJOTmpEQXc3cDJRUU01azg1NVJRL3krV1gKWCs3N2lNQS9BL0s1QUlkeW1GN2RlT09O
NW5nT1ovYjk5OS9mcjkrbFN6cGlKc090bUJWTUMrZDZ0KzhJcm9jVkVGdzc2S0NEakFGVwp4VUxk
RzIrOE1TNHprQUFKa0FBSmtBQUprQUFKa01CNlR5QlJBZGwzMzMxbHUrMjJzMEUxVm9xQ3cvbm8w
YVB0T0hqd1lGdWhDbzdsCm1QWEFqTVAwNmROdFNWdVFiZFdxbGZ6blAvK3h6UVpoemdUekxLeVk1
VFlaVEVNZkNoQ1VDR3dFaUFBSGJ5eDVHd3h3L0E0R0xOVUwKUHhEa09lMjAwMnlGcnVEOU5PYzMz
M3l6dnlSdk1MM3U3U0U5ZXZTd1MvUG56eGM0b1FkOVlGemFCeDU0d1B4QmZ2NzVaeW9nRGdxUApK
RUFDSkVBQ0pFQUNKRUFDNnoyQkNxbzBsSGhkSjZEQVNsVllDaGNCUzlHR3piR2dlRUN4eUxUdkJh
ckFydWRCVXlWWEhWYkdncUtBCkhjUC9iZ0V6UlZoZGk0RUVTSUFFU0lBRVNJQUVTSUFFU0tDRVFP
SU1pQVBsbEEvRXc4b0hybUZKM0tnQXAvVk15a2RVK3IvTGRTb2YKZjVjbnlYYVFBQW1RQUFtUUFB
bVFBQWtVaWtEcUdaQkNWUmd1Qnl0Y1lSTS83QnJPUUFJa1FBSWtRQUlrUUFJa1FBSWs4UGNtc01Z
VgprTDgzWHJhT0JFaUFCRWlBQkVpQUJFaUFCRWdnU0NCeEdkNWdZcDZUQUFtUUFBbVFBQW1RQUFt
UUFBbVFRRDRFcUlEa1E0OTVTWUFFClNJQUVTSUFFU0lBRVNJQUVzaUpBQlNRclhFeE1BaVJBQWlS
QUFpUkFBaVJBQWlTUUR3RXFJUG5RWTE0U0lBRVNJQUVTSUFFU0lBRVMKSUlHc0NGQUJ5UW9YRTVN
QUNaQUFDWkFBQ1pBQUNaQUFDZVJEZ0FwSVB2U1lsd1JJZ0FSSWdBUklnQVJJZ0FSSUlDc0NWRUN5
d3NYRQpKRUFDSkVBQ0pFQUNKRUFDSkVBQytSQ2dBcElQUGVZbEFSSWdBUklnQVJJZ0FSSWdBUkxJ
aWdBVmtLeHdNVEVKa0FBSmtBQUprQUFKCmtBQUprRUErQktpQTVFT1BlVW1BQkVpQUJFaUFCRWlB
QkVpQUJMSWlRQVVrSzF4TVRBSWtRQUlrUUFJa1FBSWtRQUlra0E4QktpRDUKMEdOZUVpQUJFaUFC
RWlBQkVpQUJFaUNCckFoUUFja0tGeE9UQUFtUUFBbVFBQW1RQUFtUUFBbmtRNEFLU0Q3MG1KY0VT
SUFFU0lBRQpTSUFFU0lBRVNDQXJBbFJBc3NMRnhDUkFBaVJBQWlSQUFpUkFBaVJBQXZrUW9BS1NE
ejNtSlFFU0lBRVNJQUVTSUFFU0lBRVN5SW9BCkZaQ3NjREV4Q1pBQUNaQUFDWkFBQ1pBQUNaQkFQ
Z1NvZ09SRGozbEpnQVJJZ0FSSWdBUklnQVJJZ0FTeUlrQUZKQ3RjVEV3Q0pFQUMKSkVBQ0pFQUNK
RUFDSkpBUEFTb2crZEJqWGhJZ0FSSWdBUklnQVJJZ0FSSWdnYXdJWktXQXpKbzFTLzc2NjY5U0ZT
eGF0S2hVZkYySQpMRnUyVE1hUEgrK0xPbnYyYkpreVpZb2ZYeE1uMmNxd2NPRkMrZTIzMzlhRXFL
eVRCRWlBQkVpQUJFaUFCRWlBQkhJbWtFb0IrZVNUClQyVHZ2ZmVXeG8wYlM4T0dEZVhvbzQrV3BV
dVhXcVcvL1BLTFBQMzAwemtMVU40WlAvcm9JOWwrKyszbHNNTU84NnZ1MjdldkhITEkKSVg1OFRa
eGtJOE9UVHo0cGpSbzFrbUhEaHEwSlVWa25DWkFBQ1pBQUNaQUFDWkFBQ2VSTUlGRUJXYkJnZ1Z4
enpUVnl6am5ueU8rLwoveTVYWG5tbFBQUE1NM0w3N2JkYnBWdHZ2YlYwNnRSSnJycnFxbGdoTU92
dzFsdHZ4YVpKZXpPZnNuYmFhU2M1NmFTVFNsVjF3dzAzCnlNaVJJMHRkSys5SU5qSWNlK3l4c3Vt
bW04YUttQStqMklKNWt3UklnQVJJZ0FSSWdBUklnQVR5SUpDb2dIend3UWN5ZVBCZ09laWcKZzJ3
RzVLYWJicEkyYmRxVU1tRkNmT1hLbGZMU1N5OWxGR1hGaWhWeS9QSEh5N3Z2dnB2eGZqWVhzeTJy
cUtob3RlS3JWcTBxRlNwVQo4SzlqVmdkdENBZlA4OEtYeWl5ZXJReFZxbFFwMVlhZ1lOa3lDdWJs
T1FtUUFBbVFBQW1RQUFtUUFBbVVKWUhLU1lYMzdObXpWQklNCjNESHJBWE9zWURqbW1HUGt1T09P
azE2OWVrbWxTcFdDdDZSZnYzNHlhdFFvK2Y3NzcrV0hIMzZRL3YzN0Mzd1lNSXZ5NmFlZjJ2bS8K
L3ZVdjJYbm5uUzEreFJWWHlCOS8vQ0c0VnFkT0hUbmxsRlBrd2dzdmxCTlBQREZqV2JWcTFTcFZI
eUp2dlBHR3dIUU04cjd3d2d2eQo4TU1QUzd0MjdWWkxOMjNhTkRObEdqRmloRURaUWxpOGVMRmNl
dW1sc3ZIR0c4dDc3NzBuRFJvMGtJNGRPOHF1dSs0cVVHaFFWck5tCnpXU3JyYmFTVzI2NVJhQU12
UExLSzlLcVZTdkxmK09OTjFwN1AvNzRZNHNILzN6MjJXZVdmNk9OTnBJYU5XcFllNFlNR1NKZmZm
V1YKcEpXaGE5ZXVWbVJ4Y2JIQWRPdXh4eDZUdW5Ycnl1alJvMDJHVEx3ek1Rckt4WE1TSUFFU0lB
RVNJQUVTSUFFU0tBOENpVE1nWVNFdwpLL0Q1NTUvTDZhZWZYdW9XbEpMSmt5ZWJBbEhxaGtZdXVl
UVMyV1NUVGVUSUk0OFVETGFyVjY4dUo1OThzbHgvL2ZWbWxyWEREanZZCkRNdmN1WE9sYytmT2N0
bGxsOGszMzN4amZpWi8vdm1ubVV4QitVQUlsNVZwWUwxOCtYSlRWbmJjY1VkVEpLQkVYWGZkZFpZ
Ly9LZHkKNWNyeTAwOC9tWExrN2ozNjZLTW1Jd2IzOTl4emovbTRRSkZwMGFLRktWOFRKMDYwMlI3
NFliejU1cHVXN2RaYmIzWFp6VSttYWRPbQpmang0QXRtR0R4OXUrYmZjY2tzNS9QRERMWDAyTXJq
eVVNNGVlK3hoczFHWWdZSXloSkNHa1N1RFJ4SWdBUklnQVJJZ0FSSWdBUklvClR3SlpLeURQUGZl
YzdMZmZmdWIzRVJRVXN3RDE2OWVYNzc3N0xuaTUxTGt6ZTRJUENSUVptR1M5K3VxcnBwek1uRGxU
M25ubkhVdS8KMTE1N21hTTcvRTNnYUgzdXVlZVdLZ2NSVjlacU4vUUNaSUdUZVljT0hldzJ6SnNt
VFpxVUthbGdKcUo5Ky9ZbWowdUFPcEVIQWJNbQpTSU1Bdndzb0hhMWJ0N1k4Qnh4d2dGM3IzcjI3
S1YrV1NQK2NkZFpaa1Q0bG1PV0I0b0haRXlnZkR6MzBrTUF2SlJzWlhEMm9INnd3Ckc3UG5ubnZL
dDk5KzYyN1pNWTVScVlTTWtBQUprQUFKa0FBSmtBQUprRUE1RVVnMHdRcktnUmtLS0E5UnF5L0JY
Q3B1T1ZzM0lJYXAKRXdiNDhNVkE2TktsaTR3ZE85WUc1YTYrdSs2Nnl3YnFmZnIwV2Mya0MybGNX
VkI0M243N2JaZk5Cdks3N0xLTDNILy8vZkxqanovSwp3SUVEelJRTHp2UlJBV1c1OHBBRzdYRG1X
SWpEM0F4S2dndVowcnRWd1Z5YXVDTk1yNXhTNDlKbEtqTk9CdVFMeWd6bEQyWnR3UkM4Ckg3ek9j
eElnQVJJZ0FSSWdBUklnQVJKWVV3U3lVa0N3MGhWTWtxcFZxNVpSWGpnLzE2eFpNK085NEVYc0p3
TFRweDQ5ZWdRdmx6ckgKTEFZRzZYZmNjWWVjZXVxcFVxOWV2VkwzWGVUWFgzODEzd2tYeDZBYkNn
ajhOT0MvQVhPcVFZTUd5WVFKRTF5U3hPTUZGMXhnWmw5Zgpmdm1sdFJWdGdxbFRlWWExUVlieWJD
L3JJZ0VTSUFFU0lBRVNJQUVTV0Q4SXBGWkFNQ01CUlFEbVBpN01tREhEVEpLQzhaWXRXN3JvCmFr
ZjNSaDdPMmxBTU1Hc0FmeEFFbUdTTkd6ZE91blhyWm5Fcy9mdnl5eStiYVJIT0gzamdBYnZ1L3Jp
eW9NU0VGUm40ajhBTWF1clUKcVdhTzVmS2tQY0xFN0xUVFRqUHpNUGh5RkdyNTRMVDFJMTBoWkhD
TXNxbVhhVW1BQkVpQUJFaUFCRWlBQkVpZ0xBbWs4Z0dCNC9pYwpPWE1FRHRRZmZ2aWhPVDFqaFNx
czZPUUNkdkxHREFnY3lqTUZ6R0JnSHhFRStDNUFlVG5qakRPc1hEaWFZeDhNdHhRdS9FSndEajhK
CnJKUTFZTUFBZ2VPM0M4R3lJRmM0d044REswUkJFWUZ6TmhRYktEdFFjdkJCT3lDckMxajFhc21T
SmI0ZkNKemoyN1p0YTc0bjJITUQKSmxQQmdQd28zd1hrUnowdXdMZmwzbnZ2ZGRIVmpsaEpDL1VG
UTdZeUlEMCtMcUM4WUpsSmpGdytIa21BQkVpQUJFaUFCRWlBQkVpZwpYQW5vZ0R3MjZOdC9UODJo
c0NGR3FVK1RKazA4SFVqN2VYVXBXRTkzRS9majRSTjFLUGYwamJ5blMrcDZxbng0cWxSNGFzcGwx
OVRVCnl0TWxhQzJMcmlybHFjK0ZweXR0V1Z5VkNFK1g5ZlYwMXNUVFhjenRXcmlzY0YyTEZpM3l0
dHR1TzY5MjdkcWVycmJsNmY0a25wcFIKZWJwTXNLZG1XWjZ1dEdWdDBlV0FMYTRtV3haWHBjSFRE
Znk4ODg4LzMyOHI2bGJIYzA5blZPeWVLak9lRHU0OXRGOTlORXpPelRmZgozTm95WnN3WUUwV2Q1
cTBOUVQ1T3hpZWVlTUxUbGJzOFhSWE0weDNrN1RMYWxZME16ejc3ckZleFlrVlBWeDd6VkRIelZC
SDBWRm56CjFLek4wK1dPcmN3a1JrNGVIa21BQkVpQUJFaUFCRWlBQkVpZ1BBbFVRR1dGMEhnT1B2
aGd3VkswV0k0M0tzRDNZOE1OTi9Sdll5YmgKdDk5K3M1V2s0Qk9TVFFpWGxTa3ZaZ1RjN0FWbVBP
QlhraWFnSFVjY2NZVE5tc0I1M1RuZlk1K1RzTGxYcHZLQUZETXVydTVNYVpLdQo1U3NEeWsvREtF
a08zaWNCRWlBQkVpQUJFaUFCRWlDQlFoSW9pQUp5OWRWWHk5NTc3MTN1anRxRkJPSEtldVNSUjJ5
bHI5ZGZmOTFkCnN1TnJyNzFteSsvcWJFZXA2MlVSV1J0a0tJdDJzVXdTSUFFU0lBRVNJQUVTSUFF
U3lGc0J3ZDRkV0U0WCsxdjhIUUpXdm9JZnk0RUgKSG1pYkltSVdCZjRxOEZ2QnB6ekMyaUJEZWJT
VGRaQUFDWkFBQ1pBQUNaQUFDYXgvQlBKV1FQNk95T2JObTJlYklrNmZQdDFXNFNxUApXWTh3eDdW
QmhyQk1qSk1BQ1pBQUNaQUFDWkFBQ1pCQXZnU29nT1JMa1BsSmdBUklnQVJJZ0FSSWdBUklnQVJT
RTBpMURHL3EwcGlRCkJFaUFCRWlBQkVpQUJFaUFCRWlBQkdJSXBGcDZDbnRlWUI4TzdQc0JzeVJk
bXRiZlV3Tmx1dzN2M0lKYWpGY3c1T1JSc3NEYTJ0Z2YKQmc1ZUtaVXFacWQvVjZ4WVFabzAzVUFP
UHFpZG5QVi9YWFFUelhTcnFzVjgvM2lMQkVpQUJFaUFCRWlBQk5ZN0Fva21XRkErbm56eQpTZHU4
Nzhnamo4eHJhZG4xamk0YnZOWVNlR25DNzlLbWFRT0JVbEZCOVVYOVd5THJxb1B0ZXFOWGRPdEtW
YlpGVmhaN3NxS29XSDcvClpZNE1lZlI5V2JtaVNQNHo5RGlwVmkyVkRyL1djcUJnSkVBQ0pFQUNK
RUFDSkZEZUJCSVZrQWtUSmdnK3VvR2c3YU9CdDlrVktsVFUKNFpxT3lqQnljd0dqTk1ZZERSMjVr
c2ZhM0I4R3YvMkxkTnhzSTFNNy9xZUU0UEdoVDBQdHNJTWRpL1ZaWXVQN0lpZ2hLNHRsNGVMbApj
dU0xbytXb25wdkpCZWQwUTBvR0VpQUJFaUFCRWlBQkVpQ0JsQVJpWDkrdVhMbFNkT2R3MlhiYmJV
VjM5VGF6SzVSYk1tQ3JhSEVvCkpEQTE0cEVjMXFWK01IdGhzY3hlVkNRVnRmL3FKSWoxMzVMdkRG
U1BDdkxxaUNka24wT09OUVVFdWlSbVFOeEg5US9wMktPZERIdjIKZlRuM3JLNW1rbGlTbDM5SmdB
UklnQVJJZ0FSSWdBU1NDQ1FxSU5qUnUwbVRKckpDVFU1VzZ0dGZtK1RBZ0EzL3JWSStYQ1hoK08y
MwozeTVubm5tbWJMREJCcFlrZkoveEVxVWxpaC81bEIyZkJjczlXYmdNaXJOKzlEK3hZOG1UK1BT
OTErVEJteStUcXJVYlN1ZmRlcHFDCnJSTWdPZ3VDR1JEZDVWN3oxbTlVWDc2YlVhVFhpcW1BdUE3
TUl3bVFBQW1RQUFtUUFBbWtJQkNyZ0N4ZXZGaVZqcFUyKzFGVXRFSm4KUGlyYUJ3TmpleldzQndS
NzgyMkR1Tkx4Qng5OFVJNDU1aGlwVmF2V3FrRmU2ZnZJZ2hDVm4vZkpwNno2eDlJVnhiSjRoV2N6
SU9qTQpwbGhyWmN1WExwRi8zOVBYd0Q5Mjd6V3kyYlpkcEdyMUdxSzZoMzQ4S1ZJRlpMRXFJSXMw
YjZWcTFXVFJva1ZTcjE2OWtnZkZ2eVJBCkFpUkFBaVJBQWlSQUFva0VJaFVRS0FVd3U2cGN1Yklk
VjZ4WUlaVjE5YXZpd01wQnBvaG9GV1l4cndPMGNOeVZVYlN5Q0lsV3V4OU0KUDMvZWZQTTEyWHZ2
dmEyOE1hK05zWUhkVGp2dEpNdFhMSmMzWG45RDl0MTNYNWt6WjQ2TUhqMWFtamR2YnBzRW9vWGpQ
eGd2MzAvNQozbTlzMVdwVnBVWHpGckxMTHJ2SS9Qbno1WVVYWGpERmFaTk5OcEhkZDk5ZEtsZlJa
cXM4TDcvOHNqUm8wRUE2ZGU0a1ZhdFU5ZVViCisvcFk2YnBiVjEzbHFMcVYrY1dYWDhqS29wWFNz
V05IaTBlMU45aWVwUGJ5Zm54L0tHcytTNHQwSmtNL3RnNld6bjZvTlBac1J3KzUKWCtiOU5WTXFW
YTZpeDFreWNrZy9PZWlVSzZSWUJjSU1DTXl3Rmk4dmxoWEZGVlFCcWVxYkpycG5iNFh3RHdtUUFB
bVFBQW1RQUFtUQpRQ1NCU0FYRTVZQUNBak9zcFV1WFNiV3FWYVZpNVVwdVlzSWZzSjkzM25ueS9m
ZmZDMllrRWVkTkFBQWdBRWxFUVZSTS91Ly8vaytPCjB0V3lNS1JER0RkdW5QVHYzOTlXejdyNDRv
dWxSNDhlT3ZqM1pPQ2dRVEp3NEVCZFJhaWFiTEhGRm5MaGhSZktsVmRlS2ErODhvcmMKZWNjZDh2
bm5uOHNqanp3aWd3Y1BsaDEzMkVIdXYvOSsrZU9QUDJ4RnJrYU5Hc20zMzM0cmh4NTZxRngxMVZY
eTZpdXZ5ckJodzZSNwo5KzVtRWpOcjVrejU0c3N2clh5WWYwRUdtTXBNbVRKRm9ORGNvYVpoZUp0
OTQ0MDNscVNmTlV0T1BQRkVLd3NEeVZkZWVsa0dEeG9zCmp6NzZxTWszb1A4QTJYbm5uYzBYeGhx
bGVXM0k2bDZiTTc3TzhWaXVNeGlMblFtVzZoNXE3R1dQdHNkeEY4dmUrbkg5VngrdExGcSsKMG1a
QVZtcGtxU29mZnkxWUp0UG02WXhnTlM3RGE5RDRod1JJZ0FSSWdBUklnQVN5SUJDNUNoWm1MMmJQ
bmkxRGh3NlZYWGZkVldyVwpyR20yN2hpZzI3dGlHM3pyUU55cm9MTVBVMlR6TnB2TFYxOTlLWmRj
Y3BrcUJLL1lDK1VkVkhFNDRvZ2o1T3gvbmkwVFBwNWdBL3gzCjMzMVBwaytiSmdjY2VJQU1HZktZ
dEcvZlFXY1hkS1pGWnlWbXpab3BoeDEydUx3ejdoM0xmK2VkZDBpZE9uWGx6RFBPbEc4bmY2djMK
RHBOcnJybEdqdWw5akV5Zk1WMU9PT0VFZVUxblNvclZUR3ozUFhhWDk5OS96K1NCZlAzdTYyZXpO
Ly9VdWt2a0ZmbnR0MS9sdlBNdQprT2VmZTA2bWZEOUZycjMyV20zZk1Qbm02Ni9sdlBQUFUwWHBY
N0xsbGx2TC9IbnpaTytlZTB1blRoM2w3cnZ2VmFWcEwrUFFSdHVJCjlycnliTzZIOFhXU3gyVmpp
NlRKUnZWdFFRVm9HeVV6R0U3dEtQa0dRZm13Sy9vSE15Q0lZeFprNFpMbE1uM3VNcGswNWhQNStx
bjkKcEdIRGhyNHluc1YzajBsSmdBUklnQVJJZ0FSSVlMMGtrRGdEVXFWS0ZWTThzUGtnUHFhQXVE
Zi9xNUMxM3J5MWZQUE5OMnBDOWJGdQpWRGhOelZjcStUQlBQdmxrcWJ0QlhadjU2TnUzcjg1Y1RK
SVBQdmpBWmlJNmR1eGs2U3F2U3Qrb1VXTjFkbC9oNTk5MDA1WXlkZXBVCmkyTW1BNS9ldlh0YnZH
blRwcllzOEo5L3pqQW4rUm8xYXNpU0pVdWxkdTNhVmlabVM2RDh1TEp4c1g3OUJtcXp2OUR5TjJ2
V1RPYk8KblN0dnYvMlc3TFBQUHFwc2RKSS8vNXdwN2RwVmt1ZEhQQytYWDM2NWpCOC9YbjFZZWt1
M2J0MVVNZG5TeXVXZnZ3ZUJLcFhVb1Z6TgpxQ3FxQWdrTnloYVdObTBEN2NOOENKelRiYklPZjNV
R3BLTE5scWtMaUJSWHFDUlY4SDFRRXl3R0VpQUJFaUFCRWlBQkVpQ0I3QWdrCktpQXd3WExLQjg1
TDNoUzdOOFppWmxGSEhYV1VuSFhXV2RLaFF3ZXJQYWlvdUx3dVgvMzY5VzBnQjRVQjVTR1lFM3BB
cVhINWNZVGoKTzQ1ZmZQR0YrWHpBTDhPbGgwOEhsQWo0ZzBBaG1URmpodm1OZlBmZGQyWVNCbk1y
MU9IU1E1bENRSGx3SEg3ampUZk15UjUxUUI1YwpSL3BSbzBiSjAwOC9iVE11ZmZyMGtjMDIyOHlY
RmZsZGVUaEhZQnhPM0RZdnRNN3dxRjdWazFyVlMvb3pKRGY1OWVUemx3YkpsQTlmCkxKblYwZXN0
T25TVHpvZWVxeW9JWmo4cWFuK0I0M3BGV1Z4VlorMnFVd0d4Qjg0L0pFQUNKRUFDSkVBQ0pKQUZn
VVFGQkQ0YWJtQ08KQWJ3YmFPS0l6NmVmZmlxdFc3ZVdrMDQ2U2Y3NzMvL2FnQjdwOFVINDZhZWZa
Tk5OTjVWSmt5YXBPVlVkOC9lb3FyNGttSFhBN0ViTApsaTF0MXNNcE55Z1Q5eEZ3RGVVZ2psbVRQ
ZmZjMDg3bnFZa1VCdjExNjlhVkJRc1cyRFVvSVYrcTN3Y1VsY2NmZjF3R0RCaGc5YUVjCnBFVnc4
cU84NWN1WG0yOExydU0rSE81eEgvZG1xZzhKbk5NaEMveFVldlhxSlFjZWVLQzBhZE1HeWYzeWNK
L3hkWk5IRGUxaXRmVVAKbmlIMkFVSEFlZWVldldYaTZBR3lkT0ZjcVZLdHBoeDY2VUNwVTZPYVBu
TnNSRmlzcTJBVnExSzhVbXBXMDFrUUtpQWw0UGlYQkVpQQpCRWlBQkVpQUJMSWdrS2lBd1BjRGln
QUc1MDRoUVBsdThJM0IrUU1QUENCWXZXcnJyYmUyejIyMzNTYlhYMys5aWZIKysrL0xJSFU0Cmgz
SnloenFYWTREZnRtMWJPZTIwMDh3c0MrY3dyWHIyMldkOXNaRUd3U2t5aU1NY0NnN25VRm93cytI
Q0RUZmNZR1ZDT1hqeHhSZk4KRVIyTzYxQjZFQ0JuSmdVRStTQlhNTUJFREFvTlprT2NERkJzTHJ2
c01oaytmTGo1akFUTEM1ZlBlR25lYXpPUG10VTlWVUNxMlF3Ygo5RWc4VitnaGRXbzFrVjZuWGlz
ajc3dEE5anIrTW1uYW9wVTVvTnR1NktwOFFBbXBWR21GTEZsV1JSWGNrbFhTMEU0R0VpQUJFaUFC
CkVpQUJFaUNCZEFRU25kQmZlKzAxMldhYmJhUng0OFkyS0hkN2dhQjRwNFJnZ0kvbGJxRkl3SWRq
MmJKbHR2ZUh1NGJWc2FDOHVFRzkKVXdpUURoL01aTGp5b0RqOC9QUFBmaHduTG4yd1Bsd3ZyemhX
MElJTWJsWm5UY3ZEK2t0bXRQSjUvcmU5dlVTYU5Xa2thazNsejRDNAptUkQ0Znp4Mzc2Vnk2TG0z
NlgxZGVscDNJY1FINWxjcmREbm1KY3VXeTQrL3pwUy9KbjhoZ3k3ZWhVN28rREl5a0FBSmtBQUpr
QUFKCmtFQktBcEV6SUJqY1lRTkJtRkJobVZ6TUNzRC9Bb053M0hNZjFJTUJNWnkvd3dOQ21Gd2hv
QnlFcVB2QkFUV2MxcDBqZVRnOTR5VzIKUWtGZTRNcDQ5Z3BKZ3cycVNJT0dPc3VtQ2dobVFOUU55
STdncVdkeTVpMTNLdGNTeGNOVDVVUDFEbFZDS3FpQ1hWa1hNcWdzbGRWawpyMUhSTjlxM2Uvajl1
aVF2LzVJQUNaQUFDWkFBQ1pBQUNjUVJpRlJBa0FsbVYzRFcvdUdISDZSVnExYStENFZUQkZ6QmhZ
emZmZmZkCnJsai9XTWp5VVNqTEsxRmtIT0Qxa1VlalJsV2w0WWFZMVNxaDRJaEE2WUJDZ2dDMUJu
RlRSRlFCMGRXZXBVaDNVRis1VEZkYld6aFoKV3JlcVk5OEpTOHcvSkVBQ0pFQUNKRUFDSkVBQ3FR
akVLaUNZN1RqZ2dBUE14K1BISDM4MHgzR1lZOEdjaW9FRTFtVUN0V292RjExagpUYldLVllwR29E
RlFQUHdBaFVRam1Da3BYbDRrVTcvNVViNGJOMFlxTEpncSs1OXpqbStXNTZmbkNRbVFBQW1RQUFt
UUFBbVFRQ3lCClNCOFFsd3YrRDVnQmVlYVpaOHdCSEhFR0VsaGZDY0FIcWttVEpvS2xwN0g2RytJ
TUpFQUNKRUFDSkVBQ0pFQUM2UWtrS2lBb0NqNEcKY0M3SENsUno1c3hSVzNncUlla1JNK1hmaFFD
VURTelBqUDFuM0pMT2Y1ZTJzUjBrUUFJa1FBSWtRQUlrVUY0RVVpa2dUaGdvSXM3aAoyVjNqa1FU
V0p3THdsd243ekt4UDdXZGJTWUFFU0lBRVNJQUVTQ0JmQWxrcElQbFd4dndrUUFJa1FBSWtRQUlr
UUFJa1FBTHJOd0VhCnNLL2Z6NSt0SndFU0lBRVNJQUVTSUFFU0lJRnlKVUFGcEZ4eHN6SVNJQUVT
SUFFU0lBRVNJQUVTV0w4SjVLMkFMRnk0VVA3NDQ0LzEKbXlKYlR3SWtRQUlrUUFJa1FBSWtRQUlr
a0lwQVhnckl3dzgvTEEwYk5wVGh3NGVucW95SlNJQUVTSUFFU09ELzI3dnZlTHVxTW0vZwppNUpP
Q0FrbEdMb0lDQW9ZNlRDSUlsVTZBd0l2REFnTWdzaElsem9pOEdHR0tyekFnRXFUanRKQmtTSUNV
cHloT2lqTk1Bb3EwanNwCnBOMTNQeXZ1KzU1Y0VtNldDeGxEdmt0dnp0MzdQR3VmYzc3aGovUExL
cHNBQVFJRUNNemFBbFYzRk54enp6M1RVVWNkOVZjSnhuMUYKWG5ycHBmVFZyMzQxOWUzYk4xOWpu
MzMyU1VPR0RFbjc3NzkvbW0rKytmSzV1QUhpcWFlZW1uL2lCb2pQUHZ0c092Lzg4OVBkZDkrZApW
bGhoaFhUTU1jZWt1ZWVlTzlmZWZ2dnQ2WW9ycm5qUCt4azRjR0NhZi83NTAwWWJiWlJXWG5ubC9Q
eE5OOTJVcnIzMjJyeWpVYnptCklvc3NrbmJhYWFlOHpXcDdnYXV1dWlyRk5UZmNjTU8wN3JycmRy
OU8rM3c4eG5XZWVPS0pkT0NCQjNhZVRnOCsrR0NLZ0hiU1NTZmwKdThsUDlhUURBZ1FJRUNCQWdB
QUJBck9xUUxPdDdneTM1bDRnNzZsZGVPR0Z1MDQ3N2JUM25PL3R4STQ3N2hnM25PNXE3cXplOWNZ
YgpiM1M5OXRwclhVMDR5T2VXV1dhWnJ1WmVJL2tTOTkxM1gxY1RVTG9PT2VTUXJpYXdkQzIrK09K
ZFRhRG9hZ0pLcmwxNzdiVzdYMnFMCkxiYkk1K0s2MC9wcHRrL3R1dXV1dTNMOUY3LzR4ZmZVTExy
b29sMFRKMDdzdnQ0R0cyelFYZE9FbjY0NHZ1T09PN3FmajErYUVKWnIKNHYxMXR1OSs5N3RkL2Zy
MTY1cVdXV2VkM3drUUlFQ0FBQUVDQkFqTVNnSXpOQVVyUmdGT09PR0U5SjN2ZkNldHRkWmE2VGUv
K2MxVQplVzNNbURIcG9JTU9Tc09IRDA4cnJiUlNIaEZvQzhhT0hadU9PT0tJM0grNzdiWkxKNTk4
Y243cWtrc3VTVmRmZlhWNjdMSEgwbVdYClhaYUdEaDJhSG5qZ2dYVFdXV2VscDU1NktqM3l5Q081
Ym8wMTFzaWpDQ2VlZUdKYVo1MTEwckxMTHB0ZWVlV1ZQQklTSXlZeEVuTHYKdmZmbTJ1dXV1eTd0
dlBQT2VjU2krVXZNOXl5Wk5HbFN2bmxpWERmTzNYYmJiYm4yWnovN1dUNk9jN0dPNWFLTExrcC8r
TU1mMHYzMwozNStmajNOMzNubG5IZ0dKOTdmVlZsdWxKcnlrSm9UaytselUvTkVFalJRalFlRVRC
bTJMdThjMzRTckZxSTFHZ0FBQkFnUUlFQ0JBCmdNQVVnVjREeVBqeDQ5TXV1K3lTVmwxMTFmVE5i
MzR6ZndILzlyZS9QWlhmcFpkZW1zTkJUSDlxUmpMU3BwdHVtcHFSaEZ5ejlkWmIKcDgwMjJ5dzFJ
d1M1LzhFSEg1d2VmdmpoN3VmaXJ0SnhoL1cyUlVpSjl2enp6N2VuMHU2Nzc1NEdEQmlRWWpyV3Vl
ZWVtMytQYVZVUgpiS0kxb3lUZHRjMG9SZzRTN1ltNGUvVTg4OHlUOXRwcnJ6UjQ4T0FVeHozYm9F
R0QwcmJiYnB0UHYvamlpL2t4Z2xGODltYkVKZTJ3Cnd3NHBwb3hGRUlzN3duZStYaFRIamVsaWl0
Y3BwNXlTemp6enpCeHNZbXBXTThxU3IrVVBBZ1FJRUNCQWdBQUJBZ1NtQ1BUNnovTjkKK3ZSSkVT
SldYSEhGM0NNV25jZWFoODRXb3c0Uk1xSWRmL3p4YWZ2dHQwOHh3aEJyTzJJa1k3WFZWc3ZQeGVo
SWpCZ3N0dGhpK1RqKwppQUFTb3lSdGkvVVkwVWFQSHQyZVNoRTI0a3YrTnR0c2swYU1HTkY5ZnNF
RkYwekxMNzk4ZXZMSko3dlA5UXdnN1JPalJvMUtiNy85CmRscDY2YVhiVTFNOTl1L2ZQNDlXdlBu
bW0vbDhYRGZleTVwcnJwa2VldWlodE5CQ0M2VVlqWW4zMFJtWW92N2lpeS9PbnpmV28reTMKMzM3
cDBVY2Z6ZXRiRGovODhLbGV3d0VCQWdRSUVDQkFnQUNCV1YyZzF3QVNYN2hQUC8zMFBQcHd6am5u
NU1YVjhVVytzN1doSWM2dAp2dnJxK2FuNHd2L3FxNi9tTC9CeGpiYkZkS1dlcmZQNW5zL0ZjWXg4
UkNEWmNzc3QzL04wczE0a2Y5bHZuNGdBRXJVeEVqTnMyTEQyCmRMcjExbHR6a0dtRFV2Y1RIYi9F
NkVoTXlZb1dvU2RHT3E2NTVwb2NQdUpjUEIrQnJMTmRlT0dGYWFtbGxzcWZPMGFBSXFTRVU3TXUK
eHVMelRpaS9FeUJBZ0FBQkFnUUlFR2dFM2pzZmFSb3NzWnRUN0haMXdBRUg1TjJnM2k4d3hPaEdU
SFdLbjVqTzFITzl5RFF1Myt1cApXSXNSYXlsaU42cWVMVVprSW15MExRSkl0RmpQMGJhbm4zNDZm
ZXRiMzBwSEhubmtOSGV5YXV0NlBpNjMzSEs1VDgvem5jY3gwaFBUCjA2TEZibHczM0hCRDNwcjQr
dXV2N3l6ek93RUNCQWdRSUVDQUFBRUNqVUN2QWVUeHh4OVBlKys5ZDE0ODN2TmYvNmNsR05PVFlv
UmsKNU1pUmVhcFZqSVRFZ3V5MnhRaER1OEM4UGRmYjQ4OS8vdk8weWlxcjVGRFRzellDU0l5MHRL
MHpnTVJyeFhhNE1lb1JveWVISFhaWQpXL2FCUGNhMndMSDR2bTFMTHJsazNpYTQyUzByWFhEQkJl
MXBqd1FJRUNCQWdBQUJBZ1FJTkFLOVRzR0s5UjdObHJncGdramNteU4yCmdobzNibHozVktWUWpK
Mm0yaFpoSWI3c3g1cVJHQkU0K3VpajA2Njc3cHJ2aVJFMWNRK1BXSkJlMHVMTC9HNjc3ZGJkNWRC
REQrMWUKSXhMck0rTDl0UzBXbE1mVXEyT1BQVFl2UEkvRjdKdHNza24zNjdkMXZUM0dTRWE3WTFa
bmJTeXViKzg3RXVkN0JwQTR0L25tbTJlRAoyQlVyWG51QkJSYUkweG9CQWdRSUVDQkFnQUNCV1Y2
ZzF3Q3k4Y1licDg5ODVqUDVTM1hzRkJVTHptKzg4Y2I4ZU41NTUrVWRxbUpoCmVZeDZ4SWpEQ3kr
OGtMZTBEZGtsbGxnaVhYNzU1ZmxtZ3pHZEthWm54WTVaN1UwR1owUS9BbENFaUxnUllMUlk0QjFi
M25hMldQamQKMldLcjNsZ0hFbjMyMkdPUHZFTlg1L016OHZ0eHh4M1h2U1Z2WjMxemI0KzAzbnJy
NVZOdnZmVldpa1hvbld0ZzJ0b3p6amdqcndkNQo1cGxuQkpBV3hTTUJBZ1FJRUNCQWdNQXNMekJi
RXhxbXJMcnVoU0oycW9xdGNLUEZWclE5cDJORjhJaGdNYTM3WHNSTHhGM1BPNmNxCnRTOFhPMk5G
VUlnN2huL1VXb3dVeGU1YUdnRUNCQWdRSUVDQUFBRUNVd1I2SFFGcG9kcndFY2M5dzBlY2l5MXhw
OWRpMGZxMHdzZjAKNmo4cTU0V1BqOHJmcE05QmdBQUJBZ1FJRUNEd1FRbk04QWpJQi9XQ1BhOFRP
MXpGVGZ6aXJ1RWFBUUlFQ0JBZ1FJQUFBUUlmYllILwo5UUR5MGViMTZRZ1FJRUNBQUFFQ0JBZ1E2
QlRvZFJ2ZXptSy9FeUJBZ0FBQkFnUUlFQ0JBb0VaQUFLblIwNWNBQVFJRUNCQWdRSUFBCmdTSUJB
YVNJU3pFQkFnUUlFQ0JBZ0FBQkFqVUNBa2lObnI0RUNCQWdRSUFBQVFJRUNCUUpDQ0JGWElvSkVD
QkFnQUFCQWdRSUVLZ1IKRUVCcTlQUWxRSUFBQVFJRUNCQWdRS0JJUUFBcDRsSk1nQUFCQWdRSUVD
QkFnRUNOZ0FCU282Y3ZBUUlFQ0JBZ1FJQUFBUUpGQWdKSQpFWmRpQWdRSUVDQkFnQUFCQWdScUJB
U1FHajE5Q1JBZ1FJQUFBUUlFQ0JBb0VoQkFpcmdVRXlCQWdBQUJBZ1FJRUNCUUl5Q0ExT2pwClM0
QUFBUUlFQ0JBZ1FJQkFrWUFBVXNTbG1BQUJBZ1FJRUNCQWdBQ0JHZ0VCcEVaUFh3SUVDQkFnUUlB
QUFRSUVpZ1FFa0NJdXhRUUkKRUNCQWdBQUJBZ1FJMUFnSUlEVjYraElnUUlBQUFRSUVDQkFnVUNR
Z2dCUnhLU1pBZ0FBQkFnUUlFQ0JBb0VaQUFLblIwNWNBQVFJRQpDQkFnUUlBQWdTSUJBYVNJU3pF
QkFnUUlFQ0JBZ0FBQkFqVUNBa2lObnI0RUNCQWdRSUFBQVFJRUNCUUpGQVdRNTU1N0xvMGVQWHFx
CkYraDVQTldUTStIQnUrKyttKzY3Nzc2WjhKMTd5d1FJRUNCQWdBQUJBZ1QrL2dWbUtJQTgrZVNU
YWVPTk4wNGJicmhoV21DQkJkSTMKdnZHTjdrLzI3TFBQcGgvKzhJZmR4OVA2NWNjLy9uRmFkdGxs
MCt5eno1NnV1KzY2cVVxZWVPS0o5RS8vOUU5cHR0bG1TM3Zzc1VmNgowNS8rTk5YekgrYkJmLzNY
ZjZXVlYxNDViYjMxMWgvbXkzb3RBZ1FJRUNCQWdBQUJBck9Nd0d4ZFRYdS9UenQ1OHVUMEgvL3hI
Mm5ICkhYZE13NFlOUzFkZWVXWDY4cGUvbkI1OTlORzAvUExMNTY2alJvMUtQL2pCRDlKeHh4MDMz
VXZkY3NzdGFhT05Oa3BEaGd4SkR6NzQKWVByRUp6N1JYVHR4NHNRMFlzU0k5T0tMTCtZZzB2M0VC
L0JMTzZMeGhTOThZWWF1ZHNvcHA2U1RUam9wdmZEQ0N6TlVyNGdBQVFJRQpDQkFnUUlBQWdSa1g2
SFVFNUoxMzNrbDc3cmxuRGg5eDJSZ0pHVHg0Y0pwdnZ2bTZYMldwcFpaS2t5Wk5Tai81eVUrNnov
WDhaYzQ1CjUweTc3NzU3bWpCaFF2ckhmL3pITkhiczJPNlNlQzVHSG1JVXBMWjE1cWw0clJoZHVm
dnV1MmY0c24zNzl2MUEzc2NNdjZCQ0FnUUkKRUNCQWdBQUJBck9RUUs4QlpPNjU1MDd4cGJ4dDMv
Lys5OU1aWjV5UlB2YXhqN1duOHVNT08reVFEajMwMEJ4RXBucWk0eUJHVE00KworK3c4ZXZLMXIz
MnQ0NW1VNXBoampxbU9JL2pzczg4KzZjQUREMHhiYnJsbG52YlZHVnFtS200T1locFlYUHZFRTA5
TWE2NjVabjc2CnROTk9TemZjY0VPZTlyWExMcnVrODg4L1AzM3FVNTlLbTJ5eVNZcHBaZEYrL2V0
ZnB6WFdXQ1BkY2NjZCtiam5IekVxYzhBQkI2UjEKMWxrbnJiVFNTdWsvLy9NL2U1WTRKa0NBQUFF
Q0JBZ1FJRUJnQmdWNkRTRHRkZUtMK0ZlKzhwVjA4TUVIcDFnck1YNzgrUGFwL0xqYwpjc3VscDU1
NktqMzAwRU5UbmU5NXNQUE9PK2UxSGhkZWVHSDYzdmUrMS9QcDd1TUlDYXV0dGxxS0tWRXg3U3Rl
TTZaK1RhdkZGSzZUClR6NDVSYWc1NUpCRDB1cXJyNTVpNmxpODF3aEsyMjY3YllyWDIyMjMzZkxJ
VGJ6M1QzN3lrL2xTOGI0WFdtaWhOSzBwV2pHcXMrdXUKdTZhamp6NDZCNVJWVmxrbGJiNzU1dW1O
Tjk2WTF0dHdqZ0FCQWdRSUVDQkFnQUNCWGdSbU9JREU2RU5NdjRwZ0VDTU5KNXh3d2xTWAo3dE9u
VHhvNmRHajY3VzkvTzlYNWFSMmNmdnJwYWVUSWtXbmZmZmZONjBGNjF0eDg4ODNwbm52dVNkdHZ2
MzErS3E0ZDRTRVdzLy95Cmw3L3NXWjREd2E5KzlhdDAwMDAzNWVkaU1Ydm5WS3pPcVYzNzc3OS91
djMyMjlQdmYvLzdYQnV2RTU5cld1MUhQL3BSdms1TTRZcjMKRkdIbTVaZGZUci80eFMrbVZlNGNB
UUlFQ0JBZ1FJQUFBUUs5Q014d0FGbDg4Y1hUZHR0dGw2Y3pyYi8rK3VtcXE2NTZ6NlZqYlVncwpT
Tyt0OWUvZlAvY2ZNR0JBMm1hYmJkSnJyNzAyVlpmNzc3OC96VC8vL0NtQ1I5dFdYWFhWL09zamp6
elNudXAralBVb3NYUFZacHR0CmxyNys5YStuZUsrZFU3bzZBMGpVTExMSUlpbW1ra1dMVUJOclVx
YlZJdXpNTysrOGVRcGFURU5iYTYyMTBtMjMzWmFuWWsycjNqa0MKQkFnUUlFQ0FBQUVDQk41ZllJ
WURTSHVaMkVvM3Z1eVBHemV1UGRYOUdJdStCdzRjMkgzOGZyOTgvT01mVHo5b2RzNktiWHhqaDYy
WQpNdFcyTVdQR3BGZGVlU1hGT3BDMnhmcVJXS3crdmZ1T1hIYlpaWG1kU0l6T3JMdnV1dW10dDk1
cXUwNzFHTUVrcG1wZGNNRUZlUnBaCmpPek1NODg4VTlXMEIvRWU0dk91dDk1NlUvM0VsQzJOQUFF
Q0JBZ1FJRUNBQUlGeWdlSUFFaThSSXdydGlFVG5TOFk2a1JoOW1GYUwKZ05FWk1xSm1peTIyeU9z
MFlucFRURzFxVzZ6UGlQVVhEenp3UUhzcXZmVFNTeW5XZXNUOVJIcTIyREkzbmovMTFGUHpWS2xZ
V0g3RgpGVmQwbDNXT2dNVEpmLzduZjg3VHRnNC8vUEMwOXRwcmQ5ZjEvR1dKSlpiSUl4NmRZU3Vt
ZHQxNTU1MDlTeDBUSUVDQUFBRUNCQWdRCklEQURBcjBHa0JpTnVQZmVlN3ZYVkVRd2lNQnc3TEhI
VG5YNVYxOTlOVyt4R3d1MXA5VmltbFdFaEo3dDMvN3QzOTRUQW1MUitNSUwKTDV5Ly9MZjFjZStR
Q0NaeEw1R2VMVjY3dlJuaUJodHNrSVBOWEhQTmxjdGlkS085dWVIcnI3K2V6OFdVclZoZkV0T3dZ
a3BXWjRzRgo2akdTRXkxR1ppSlV4VGJFMFRmZS96SEhISk5pMjJHTkFBRUNCQWdRSUVDQUFJRnln
VGw3NnhKZndMZmFhcXQ4NzQ5WUEvTG1tMittCmYvLzNmMy9QU0Vlc3BZZ2RvbUpxVmM5MjZhV1hw
Z2dhOFNWK3NjVVdTM3Z0dFZkM1NVeXJpdEdLem5PREJnM0syK2Z1dE5OTytmNGoKc1hYdTVaZGZu
cTY5OXRvOERhdTdjOGN2WjU1NVpwNyt0ZUNDQytZcFZlMk9XVi82MHBmeSs0MnBXL0crMnhhTDJu
dE9HWXUxSi9FNgpFV2hpS2xmY3QrU3NzODVLKysyM1g3cjQ0b3Z6RGxvUldrekJhaFU5RWlCQWdB
QUJBZ1FJRUNnVDZQVk82TzNsWWdRajdvUSt2UmJUCnFlSUxmbXhyKzllMDJOcTI1MXFNbU83MDlO
TlA1M1VZU3k2NTVIUXZHMU83WXExR1hDTVdya2VBNld5eGxxUHp4b254WEFTSm1DNFcKSXlhOXRS
Z1YrZU1mLzVqRFV3UW1qUUFCQWdRSUVDQkFnQUNCdjA1Z2hnUEkrMTMreUNPUFRMRXpWdHlzNysr
OXZmMzIyNmxmdjM1NQplbFZzczl0emZjamYrL3YzL2dnUUlFQ0FBQUVDQkFqTXpBSzlyZ0hwN2NQ
RlBURTIzWFRUbVNKOHhIU3FJVU9HcEJoTmlYdUZDQis5Ci9lMTZuZ0FCQWdRSUVDQkFnTUFISy9D
QmpJQjhzRy9wYjNlMW1FWVdpOVZqdXRpSUVTUCtkaS9reWdRSUVDQkFnQUFCQWdRSVRGTmcKbGdv
ZzB4UndrZ0FCQWdRSUVDQkFnQUNCRDAyZ2VncldoL1pPdlJBQkFnUUlFQ0JBZ0FBQkFqTzl3QXh0
NlJTN1REM3l5Q1BwNFljZgpUbkhUdjdpYmVPeFFGVC9SMnJVVWpxZnZjYzU1azlJY3pVNWRKVzMy
MldkTEl4WWFrcmJZL05OcDc2K3RsZnIzNzFQU1hTMEJBZ1FJCkVDQkFnQUNCdnp1QlhxZGdSZmk0
N0xMTFVteEZHemNJSERCZ3dOL2RoNWdaM3RCUDd2OVRXbXFoWWMxMndiTTFnYTBKYmMzL2N2dkwK
UTVxU1hacUhDSFlwVFpyY2xTWk1uSnorOU96cjZjTHo3MDJUSmt4TWwxKzBVN09EMXd4bHhwbUJ4
SHNrUUlBQUFRSUVDQkNZQlFWNgovU2Y1dUFONTNGOGo3aHpldjMvL1REVGJiTE9uMlp0djBYSHZq
ZTRmeC8vZklseDZlTHcwcml1TjZabzlqWjQwV3hvemVmYm05OW5TCjJQaHBmaDg3dVRuWC9ENG1I
cHZqMFg5NUhKdm1TSE12UEN6dGV0Q0c2Zmt4azlOWjM3OW5GdnhQMUVjbVFJQUFBUUlFQ0JENEtB
bTgKN3orblQ1bzBLZDF6enoxcGhSVldTQk1uVHV5ZWNqWGxYL0ZuejhjeC9TcW1Ybmw4ZjRkWDM1
bWNYaDA5Y1Vvd2lSR1F4bTFLaTZHUAoyZExOMTE2YU50enkvK1NCa0hZRUpFWkI0bWZNK0pSR3J2
ZnBkUEZWOTZadjdMMTJuZ0wzVWZxUDBHY2hRSUFBQVFJRUNCQ1lkUVI2CkRTRGp4bzNMVzlaT2FL
WUFUWm8wT1U4Zml0bERNWVdvRFIwdFY4L2pFMDQ0SWUyMTExNzUzaHRSMC9QNVdlbjQ3ZkZkNlox
M0k2ZzEKUHhrd0hxZTBoKzY1SloxNTNDR3A3MXp6cHBYK1lZTWM2Q1kzVDAyT2FWaVR1dEs0cHUv
UTRVUFRiMStjMkp5YkxJRDh4YzBEQVFJRQpDQkFnUUlEQXpDZnd2Z0ZrekpneFRlaVlsRWMvSms2
YzBEM0ZLSUpEL3FmNnYzeUR6aU1nK1V2MUZJRDIrTXd6ejB3NzdMQkRHalJvCjBGKytkRS85ZlBz
TnZLMy9LQitQbXpBNWpablFsVWRBQXE4ZEFCay9ibXk2NER2ZnlqQS9PUFZmMDhkWFdDdjE3VDhn
TmRtaitlbEsKRTVzQU1xWUpJS09idm5NMGQzQWZQWHAwbW1lZWVXYSsvOUs4WXdJRUNCQWdRSUFB
QVFLTndIUURTSVNDbUhZMTU1eHo1c2NKRXlhawpPWnZkcnlaMzdPU1VnMGh6a1ZnNEhmL3ZlZHhl
WStLa2lkTjh2clArclRmZlN2ZmZmMzlhZi8zMTgvVnV2ZVhXL0VWN3RkVldTK01uCmpFKzMvK3oy
dFBIR0c2ZlhYMzg5M1hqampXbVJSUlpKWC9qQ0YvSmY0bjIvdkM4OVBlcnA3ci9RdnYzNnBrVVhX
VFN0c2NZYTZhMjMKM2tyWFgzOTlEazhmKzlqSDB1Yys5N2swWjUvbVl6ZnY5NmFiYmtyRGhnMUxu
MTNwczZsdm43N2Q3LysybjkyVzF2Nkh0YnZYdkR6Ngo2MGZUcEltVDBzaVJJL05yVE8vemRuNmVu
aDdqSmpZakdjMVBYblRUaklMRUdGSzBHeTg4UGIzNTJzdHBqam43TkkrdnBPc3VQQzF0CnZ0dGhh
WEp6Z1JnQm1USUZhM0thMEt3TG1hUDVYTzFVdVBhMThrWDhRWUFBQVFJRUNCQWdRR0FtRVpodUFH
bmZmd1NRbUlZMWJ0eTcKcVYvZnZtbjJPZWRvQnlxNnY3RHZ1KysrNmVtbm4wNHhZdksxcjMwdGZi
blpMU3UrWWtlNzY2NjcwbGxublpWM3p6cm9vSVBTZXV1dAoxM3o1NzBybm5IdHVPdWVjYzVwZG5m
cWxaWlpaSmgxd3dBSHA4TU1QVHovOTZVL1RTU2VlbUg3MXExK2w3My8vKyttODg4NUxxNjZ5ClNq
cjk5TlBUYzg4OWwzZmtHajU4ZUhyeXlTZlRWbHR0bFk0NDRvaDA4MDl2VGhkZmZIRmFkOTExOHhT
bFYxNStPVDM2NjEvbjZ3OFoKTWlTL2g1aTZOR3JVcUJTQjVzUm1hbGlNTGh4NzdMRlQ2bDk1SmUy
eXl5NzVXdkhGL3FjL3VTbWRkKzU1NmZ6eno4L3Y3K3l6ems2cgpyNzU2WGd1VFAxVFROMGVJZGho
akJvN0hOeU1ZWTlvcFdFMzJhRmFNNUV1dHQ5TkJhZjNtcC9WcUxwVkdqNStVUjBBbU5RZmp4azlP
CnI3MzlibnIreldZRXFwOXRlRE9hUHdnUUlFQ0FBQUVDQkdaYWdlbHV3eHVqRjYrKyttcTY2S0tM
MHBwcnJwa0dEaHlZMXg3RUYvVDgKYi9mNXkzZHNHVHRiTS9vd0tuMWlxVStrMy96bTErbmdndzlw
QXNGUDh6L3dyOUlFaDIyMjJTYnQ4L1Y5MHYwUDNKKy80Tjk5OXozcApoZWVmVDV0dXRtbTY4TUlm
cE9XWFg3RVpYV2hHV3BwUmlWZGVlVGx0dmZVL3BwZ3JiWFlBQUNBQVNVUkJWRi9jOVl2Yy82U1RU
a3lECkI4K2Q5dHB6ci9Ua1UwODJ6MjJkL3ZWZi96WHRzUDBPNllVWFgwZzc3N3h6dXFVWktabmNU
QlA3M0RxZlMvZmVlMDkrUC9IK1R2dS8KcCtYUm02ODNyejNsL2FiMHh6LytJZTI3Ny83cG1xdXZU
cU9lSHBXT091cW81dk5kbkI1LzdMRzA3Mzc3TmtIcFA5SW5QN2xjZXV2TgpOOVA2RzZ5ZlB2dlpr
ZW1VVTA1dFF0TVhzOE5TeldlTXo5dGVMNFpSWnZUNGtOc21waEh6RDIxR1lwcmVUY2lZTW9MUnhv
NHAvLzFFCitNaG5tajlpQkNTT1l4VGtuYkhqMHd0dnZKdWV1UFhCOU5nVlgwcnp6anR2ZC9pYmFm
L0w4OFlKRUNCQWdBQUJBZ1JtU1lGZXQrSHQKMDZkUERoNXg4OEh1bjJaVVpNcnZjelpmOHVkSVMz
NWl5ZlQ0NDQ4M1U2Z2VhRzVVK0h3em5XaEtiWWp1dXV1dWFlNGhjK2VSaitqego1Sk5QcEovZS9O
TThFakZ5NUdkei8zNzkrK1hyRFIrK1lJcXBYbTMveFJaYlBJKyt4SEdNWk1SUGJBY2N4d3N0dEZD
SzkvYlNTeSttCm1ISVY5eWNaTzNaY3ZsNDhINk1sRVlEaS9iWFhHenAwV0xPRzRwMTh2UERDQytm
dGhlKzg4NDQwc2drYW4vM3NaNXRydlp6cnI3bjIKbW5Ub29ZZW11ZVlhM0t4aDJUNTkvdk9mYjRM
Sko1djNPT1h6dHRjck9lN1RmUGFZUmpXaDJZWjNRaE5pSmpZLytUak9OVnZ2am04ZQo0OXpFL0pp
YXg5bWIydFNjYjBMSWJIT2s2QjlUc0RRQ0JBZ1FJRUNBQUFFQ003UEFERTNCYW9OSFRNZHExeDYw
ai9GRi84dGYvbkxhCmUrKzkwNG9ycnBndG9qNlBsRFNqSkczZnRuN28wS0Y1MmxNRWhyaGV0THdJ
dlozTzFCeTMvZU14N2pNU2o0OCsrbWhlOHhIM0ltbnIKWTAxSDNLTWsxb05FSUhueHhSZnp1cEhm
L3ZhM2VVcFlUTGVLMTJqckk3QkVpK3ZGUXU3YmI3ODlMN0tQMTRqM0UrZWovb1liYmtnLwovT0VQ
ODRqTGpqdnVtRDcrOFk5M3Y5Zm8zMTR2Zm84Mkk4ZjkrM2FsUWYybitNVUlTdlpvZnZuVlQ4NU5v
Lzd6eDFOR1ZacnppNjc0CitiVFNWdC9JSXlHVG14QXlxVm1FUG50ejM1VXhmWnRSb3Y0Q1NIaHJC
QWdRSUVDQUFBRUNNNjlBcndFazFtaTBYOHpqQzN3YkpOcUEKOGRCREQ2VWxsMXd5ZmVVclgwbi8v
ZC8vbmIvUVIzMzhSUHY5NzMrZkZsdHNzZlRFRTA4MDA2a0c1L1VlZlp1MUpCdHV1R0g2ODUvLwpu
QlpmZlBFODZ0R0dtN2h1UEI4dHpzVjE0dmlYdi94bERpRHgrNXZORktuNDBqLzMzSE9udDk5K096
OGZJZVRYemJxUENDcVhYSEpKCk92dnNzL1ByeFhXaU5scjcvdU1hY1dmM1dOc1NMWjZQeGQzeGZE
ejNjck9HSkJhbngzdUpkU29iYmJSUjJteXp6ZEpTU3kzVlhSKy8KdEJidDlkL3ZlRUR6a2VacS9v
aWFtSVhWOWw5cGcrM1RJemVlbmNhOTgwYnEwMjlnMnVxYjU2VEJBL28xN3lsR1FTWTN1MkJOYmtM
WQpwRFN3WHpNS0lvQk1nZk1uQVFJRUNCQWdRSURBVEN2UTZ4U3NXUHNSUVNDK25NZGpmRUZ2ZitK
Y2ZEbC92bG5URWJ0WHhhTHQ1WlpiCkxoMS8vUEc1SmxUdXZmZmV0Tk5PTytWUmtzTU9PeXlmWDNy
cHBkTWVlK3lScDJWOTZVdGZ5bXM1NHBweHZXanQ5ZHNnRThmMzNYZGYKbmdvVm9lWFRuLzUwczNa
aytYVHp6VGZucVZIeGZJU0RILy80eDgwMHJMRjU0WHE4anpaUXROZUw0d2dBY1J6dk1hN1RYaXRH
UGVLYQpFV2hpTkNScW9qNkN6U0dISEpLdXZQTEthVjZ2dlhaYlA3M2pnZjM3TkFHa1h4bzhzSCth
cS9rWlBHaEEvbjM0eDBha2pYWS9Lbi91CkwvN1RJV21oUlpkb251K1hCZzNzMndTUjVxZDVIRFJn
em1iMHBFOFRxS2JjaVQ0WCs0TUFBUUlFQ0JBZ1FJREFUQ2pRNnlMMFcyNjUKSlgzcVU1OUtDeTY0
WVA1U0h0T1Y0aWRhNTcvNHgzYTNzVVlqMW5DOCsrNjcrZDRmN2JuWUhhc05MOUd2SFRHSXV2aUpr
WXhvY2IwWQpMWG5tbVdlNmorT1h0cjd6OWVMOGgzVWNPMmpGZTJoSGRmNmE5M1A4bldQVHdpT0dw
MlkyVmZjSVNEc1NFbnRxWFgzcU45TlczemkrCmViN1o2ampXZlRRL01mMXFRclA5NzloM3g2ZmYv
ZUhsOU5wVGo2WnpEMXJESXZUNHk5Y0lFQ0JBZ0FBQkFnUm1Tb0hwVHNHS0wvZHgKQThHWVFoWGI1
TWFvUUt5L2lDL2g4Vno3RTU4NnZwRFBOZGRjN3drRU1lVXFXbHduV3MvQTBEN2YrWVUrRnEzSHRh
WlYzN1AvekhROApiRWlmTkd6ZVp2MUpFMEFhdmliRVRYbk1IN1JaQWJMWHY1M1VPRTRKSGwxTitH
aHlSeE5DbWdYcUUrWnNGczQzaTkrYktXTERKejdlCldLN1g3VGlscno4SkVDQkFnQUFCQWdRSXpE
d0MwdzBnOFJGaUNsSXMxdjZmLy9tZnRNUVNTK1RqenVEUmZzdzJDSHdReDZlY2NrcDcKbWU3SEQv
TDZjZEgvamVzTkg5NDN6VHRmaktKTStWaC9XUWFTUTBjRWttaXhVaVZDU0E0aVRRQnBkaGRPRTVz
N3FFOTZkMXlhNjUybgowcEpMRE01L0I3bllId1FJRUNCQWdBQUJBZ1JtUW9IM0RTQXgyckhwcHB1
bU04NDRJLzN1ZDcvTEM4ZGpPbFpNcDlMS0JBYk5OVDQxCmUzbzFxZUl2UWFPamV3U1A3dFljUkI2
SmtaTEo0eWVtUHovK3UvVGJ1MjVOczczOTU3VEp2L3hMOXpTdzducS9FQ0JBZ0FBQkFnUUkKRUpp
SkJLYTdCcVQ5RExIK0lVWkFmdlNqSCtWZHErSlkrL0FFWXIzTmlCRWo4aUwrMkcyc1hYL3o0YjBE
cjBTQUFBRUNCQWdRSUVEZwpneFBvTllERVM4VWFqVmhjSGp0UXZmNzY2L2srSGgvY1czQ2w2UWxF
MklqdGdPTitKKzBPWHRPcmRaNEFBUUlFQ0JBZ1FJREF6Q0F3ClF3R2svU0FSUk5vRjQrMDVqMzli
Z1dtdHVmbmJ2cUtyRXlCQWdBQUJBZ1FJRVBqYkNSUUZrTC9kMjNCbEFnUUlFQ0JBZ0FBQkFnUm0K
QllGbXFiTkdnQUFCQWdRSUVDQkFnQUNCRDBkQUFQbHduTDBLQVFJRUNCQWdRSUFBQVFLTlFIVUFl
ZWVkZDlKenp6MEhrd0FCQWdRSQpFQ0JBZ0FBQkFyMEtWQVdRNzMzdmUybmVlZWROVjE1NVphOHZw
SUFBQVFJRUNCQWdRSUFBQVFKVmR4VGNjODg5MDFGSEhmVlhLY1o5ClJWNTY2YVgwMWE5K05mWHQy
emRmWTU5OTlrbERoZ3hKKysrL2Y1cHZ2dm55dWJnQjRxbW5ucHAvNGdhSXp6NzdiRHIvL1BQVDNY
ZmYKblZaWVlZVjB6REhIcExubm5qdlgzbjc3N2VtS0s2NTR6L3NaT0hCZ21uLysrZE5HRzIyVVZs
NTU1Zno4VFRmZGxLNjk5dHA4Vi9SNAp6VVVXV1NUdHROTk9lZHZiOWdKWFhYVlZpbXR1dU9HR2Fk
MTExKzErbmZiNWVJenJQUEhFRStuQUF3L3NQSjBlZlBEQkZBSHRwSk5PCnluZVRuK3BKQndRSUVD
QkFnQUFCQWdSbVZZRm1XOTBaYnMyOVFONVR1L0RDQzNlZGR0cHA3em5mMjRrZGQ5d3hiZ0RlMWR4
WnZldU4KTjk3b2V1MjExN3FhY0pEUExiUE1NbDNORFEvekplNjc3NzZ1SnFCMEhYTElJVjFOWU9s
YWZQSEZ1NXBBMGRVRWxGeTc5dHByZDcvVQpGbHRza2MvRmRhZjEwMnhwMjNYWFhYZmwraTkrOFl2
dnFWbDAwVVc3Sms2YzJIMjlEVGJZb0x1bUNUOWRjWHpISFhkMFB4Ky9OQ0VzCjE4VDc2MnpmL2U1
M3UvcjE2OWMxTGJQT09yOFRJRUNBQUFFQ0JBZ1FtSlVFWm1nS1Zvd0NuSERDQ2VrNzMvbE9XbXV0
dGRKdmZ2T2IKcWZMYW1ERmowa0VISFpTR0R4K2VWbHBwcFR3aTBCYU1IVHMySFhIRUVibi9kdHR0
bDA0KytlVDgxQ1dYWEpLdXZ2cnE5TmhqajZYTApMcnNzRFIwNk5EM3d3QVBwckxQT1NrODk5VlI2
NUpGSGN0MGFhNnlSUnhGT1BQSEV0TTQ2NjZSbGwxMDJ2ZkxLSzNra0pFWk1ZaVRrCjNudnZ6YlhY
WFhkZDJubm5uZk9JUmZPWG1POVpNbW5TcEh6enhMaHVuTHZ0dHR0eTdjOSs5ck44SE9kaUhjdEZG
MTJVL3ZDSFA2VDcKNzc4L1B4L243cnp6emp3Q0V1OXZxNjIyU2sxNFNVMEl5Zlc1cVBtakNSb3BS
b0xDSnd6YUZuZVBiOEpWaWxFYmpRQUJBZ1FJRUNCQQpnQUNCS1FLOUJwRHg0OGVuWFhiWkphMjY2
cXJwbTkvOFp2NEMvdTF2ZjNzcXYwc3Z2VFNIZzVqKzFJeGtwRTAzM1RRMUl3bTVadXV0CnQwNmJi
YlpaYWtZSWN2K0REejQ0UGZ6d3c5M1B4VjIrNHc3cmJZdVFFdTM1NTU5dlQ2WGRkOTg5RFJnd0lN
VjBySFBQUFRmL0h0T3EKSXRoRWEwWkp1bXViVVl3Y0pOb1RjVGZ4ZWVhWkorMjExMTVwOE9EQktZ
NTd0a0dEQnFWdHQ5MDJuMzd4eFJmell3U2orT3pOaUV2YQpZWWNkVWt3Wml5QVdkNFR2Zkwwb2pw
c0Z4aFN2VTA0NUpaMTU1cGs1Mk1UVXJHYVVKVi9MSHdRSUVDQkFnQUFCQWdRSVRCSG85Wi9uCisv
VHBreUpFckxqaWlybEhMRHFQTlErZExVWWRJbVJFTy83NDQ5UDIyMitmWW9RaDFuYkVTTVpxcTYy
V240dlJrUmd4V0d5eHhmSngKL0JFQkpFWkoyaGJyTWFLTkhqMjZQWlVpYk1TWC9HMjIyU2FOR0RH
aSsveUNDeTZZbGw5KytmVGtrMDkybitzWlFOb25SbzBhbGQ1KworKzIwOU5KTHQ2ZW1ldXpmdjM4
ZXJYanp6VGZ6K2JodXZKYzExMXd6UGZUUVEybWhoUlpLTVJvVDc2TXpNRVg5eFJkZm5EOXZyRWZa
CmI3LzkwcU9QUHByWHR4eCsrT0ZUdllZREFnUUlFQ0JBZ0FBQkFyTzZRSzhCSkw1d24zNzY2WG4w
NFp4enpzbUxxK09MZkdkclEwT2MKVzMzMTFmTlQ4WVgvMVZkZnpWL2c0eHB0aStsS1BWdm44ejJm
aStNWStZaEFzdVdXVzc3bjZXYTlTUDZ5M3o0UkFTUnFZeVJtMkxCaAo3ZWwwNjYyMzVpRFRCcVh1
SnpwK2lkR1JtSklWTFVKUGpIUmNjODAxT1h6RXVYZytBbGxudS9EQ0M5TlNTeTJWUDNlTUFFVklD
YWRtClhZekY1NTFRZmlkQWdBQUJBZ1FJRUNEUUNMeDNQdEkwV0dJM3A5anQ2b0FERHNpN1FiMWZZ
SWpSalpqcUZEOHhuYW5uZXBGcFhMN1gKVTdFV0k5WlN4RzVVUFZ1TXlFVFlhRnNFa0dpeG5xTnRU
ei85ZFByV3Q3NlZqanp5eUdudVpOWFc5WHhjYnJubGNwK2U1enVQWTZRbgpwcWRGaTkyNGJyamho
cncxOGZYWFg5OVo1bmNDQkFnUUlFQ0FBQUVDQkJxQlhnUEk0NDgvbnZiZWUrKzhlTHpudi81UFN6
Q21KOFVJCnljaVJJL05VcXhnSmlRWFpiWXNSaG5hQmVYdXV0OGVmLy96bmFaVlZWc21ocG1kdEJK
QVlhV2xiWndDSjE0cnRjR1BVSTBaUERqdnMKc0xic0EzdU1iWUZqOFgzYmxseHl5YnhOY0xOYlZy
cmdnZ3ZhMHg0SkVDQkFnQUFCQWdRSUVHZ0VlcDJDRmVzOW1pMXhVd1NSdURkSAo3QVExYnR5NDdx
bEtvUmc3VGJVdHdrSjgyWTgxSXpFaWNQVFJSNmRkZDkwMTN4TWphdUllSHJFZ3ZhVEZsL25kZHR1
dHU4dWhoeDdhCnZVWWsxbWZFKzJ0YkxDaVBxVmZISG50c1huZ2VpOWszMldTVDd0ZHY2M3A3akpH
TWRzZXN6dHBZWE4vZWR5VE85d3dnY1c3enpUZlAKQnJFclZyejJBZ3NzRUtjMUFnUUlFQ0JBZ0FB
QkFyTzhRSzhCWk9PTk4wNmYrY3huOHBmcTJDa3FGcHpmZU9PTitmRzg4ODdMTzFURgp3dklZOVln
Umh4ZGVlQ0Z2YVJ1eVN5eXhSTHI4OHN2enpRWmpPbE5NejRvZHM5cWJETTZJZmdTZ0NCRnhJOEJv
c2NBN3RyenRiTEh3CnU3UEZWcjJ4RGlUNjdMSEhIbm1IcnM3blorVDM0NDQ3cm50TDNzNzY1dDRl
YWIzMTFzdW4zbnJyclJTTDBEdlh3TFMxWjV4eFJsNFAKOHN3enp3Z2dMWXBIQWdRSUVDQkFnQUNC
V1Y1Z3RpWTBURmwxM1F0RjdGUVZXK0ZHaTYxb2UwN0hpdUFSd1dKYTk3MklsNGk3bm5kTwpWV3Bm
TG5iR2lxQVFkd3ovcUxVWUtZcmR0VFFDQkFnUUlFQ0FBQUVDQktZSTlEb0Mwa0sxNFNPT2U0YVBP
QmRiNGs2dnhhTDFhWVdQCjZkVi9WTTRMSHgrVnYwbWZnd0FCQWdRSUVDQkE0SU1TbU9FUmtBL3FC
WHRlSjNhNGlwdjR4VjNETlFJRUNCQWdRSUFBQVFJRVB0b0MKLytzQjVLUE42OU1SSUVDQUFBRUNC
QWdRSU5BcDBPczJ2SjNGZmlkQWdBQUJBZ1FJRUNCQWdFQ05nQUJTbzZjdkFRSUVDQkFnUUlBQQpB
UUpGQWdKSUVaZGlBZ1FJRUNCQWdBQUJBZ1JxQkFTUUdqMTlDUkFnUUlBQUFRSUVDQkFvRWhCQWly
Z1VFeUJBZ0FBQkFnUUlFQ0JRCkl5Q0ExT2pwUzRBQUFRSUVDQkFnUUlCQWtZQUFVc1NsbUFBQkFn
UUlFQ0JBZ0FDQkdnRUJwRVpQWHdJRUNCQWdRSUFBQVFJRWlnUUUKa0NJdXhRUUlFQ0JBZ0FBQkFn
UUkxQWdJSURWNitoSWdRSUFBQVFJRUNCQWdVQ1FnZ0JSeEtTWkFnQUFCQWdRSUVDQkFvRVpBQUtu
UgowNWNBQVFJRUNCQWdRSUFBZ1NJQkFhU0lTekVCQWdRSUVDQkFnQUFCQWpVQ0FraU5ucjRFQ0JB
Z1FJQUFBUUlFQ0JRSkNDQkZYSW9KCkVDQkFnQUFCQWdRSUVLZ1JFRUJxOVBRbFFJQUFBUUlFQ0JB
Z1FLQklRQUFwNGxKTWdBQUJBZ1FJRUNCQWdFQ05nQUJTbzZjdkFRSUUKQ0JBZ1FJQUFBUUpGQWdK
SUVaZGlBZ1FJRUNCQWdBQUJBZ1JxQkFTUUdqMTlDUkFnUUlBQUFRSUVDQkFvRWhCQWlyZ1VFeUJB
Z0FBQgpBZ1FJRUNCUUl5Q0ExT2pwUzRBQUFRSUVDQkFnUUlCQWtZQUFVc1NsbUFBQkFnUUlFQ0JB
Z0FDQkdnRUJwRVpQWHdJRUNCQWdRSUFBCkFRSUVpZ1FFa0NJdXhRUUlFQ0JBZ0FBQkFnUUkxQWdJ
SURWNitoSWdRSUFBQVFJRUNCQWdVQ1FnZ0JSeEtTWkFnQUFCQWdRSUVDQkEKb0VaQUFLblIwNWNB
QVFJRUNCQWdRSUFBZ1NJQkFhU0lTekVCQWdRSUVDQkFnQUFCQWpVQ0FraU5ucjRFQ0JBZ1FJQUFB
UUlFQ0JRSgpDQ0JGWElvSkVDQkFnQUFCQWdRSUVLZ1JFRUJxOVBRbFFJQUFBUUlFQ0JBZ1FLQklR
QUFwNGxKTWdBQUJBZ1FJRUNCQWdFQ05nQUJTCm82Y3ZBUUlFQ0JBZ1FJQUFBUUpGQWdKSUVaZGlB
Z1FJRUNCQWdBQUJBZ1JxQkFTUUdqMTlDUkFnUUlBQUFRSUVDQkFvRWhCQWlyZ1UKRXlCQWdBQUJB
Z1FJRUNCUUl5Q0ExT2pwUzRBQUFRSUVDQkFnUUlCQWtZQUFVc1NsbUFBQkFnUUlFQ0JBZ0FDQkdn
RUJwRVpQWHdJRQpDQkFnUUlBQUFRSUVpZ1FFa0NJdXhRUUlFQ0JBZ0FBQkFnUUkxQWdJSURWNito
SWdRSUFBQVFJRUNCQWdVQ1FnZ0JSeEtTWkFnQUFCCkFnUUlFQ0JBb0VaQUFLblIwNWNBQVFJRUNC
QWdRSUFBZ1NJQkFhU0lTekVCQWdRSUVDQkFnQUFCQWpVQ0FraU5ucjRFQ0JBZ1FJQUEKQVFJRUNC
UUpDQ0JGWElvSkVDQkFnQUFCQWdRSUVLZ1JFRUJxOVBRbFFJQUFBUUlFQ0JBZ1FLQklRQUFwNGxK
TWdBQUJBZ1FJRUNCQQpnRUNOZ0FCU282Y3ZBUUlFQ0JBZ1FJQUFBUUpGQWdKSUVaZGlBZ1FJRUNC
QWdBQUJBZ1JxQkFTUUdqMTlDUkFnUUlBQUFRSUVDQkFvCkVoQkFpcmdVRXlCQWdBQUJBZ1FJRUNC
UUl5Q0ExT2pwUzRBQUFRSUVDQkFnUUlCQWtZQUFVc1NsbUFBQkFnUUlFQ0JBZ0FDQkdnRUIKcEVa
UFh3SUVDQkFnUUlBQUFRSUVpZ1FFa0NJdXhRUUlFQ0JBZ0FBQkFnUUkxQWdJSURWNitoSWdRSUFB
QVFJRUNCQWdVQ1FnZ0JSeApLU1pBZ0FBQkFnUUlFQ0JBb0VaQUFLblIwNWNBQVFJRUNCQWdRSUFB
Z1NJQkFhU0lTekVCQWdRSUVDQkFnQUFCQWpVQ0FraU5ucjRFCkNCQWdRSUFBQVFJRUNCUUpDQ0JG
WElvSkVDQkFnQUFCQWdRSUVLZ1JFRUJxOVBRbFFJQUFBUUlFQ0JBZ1FLQklRQUFwNGxKTWdBQUIK
QWdRSUVDQkFnRUNOZ0FCU282Y3ZBUUlFQ0JBZ1FJQUFBUUpGQWdKSUVaZGlBZ1FJRUNCQWdBQUJB
Z1JxQkFTUUdqMTlDUkFnUUlBQQpBUUlFQ0JBb0VoQkFpcmdVRXlCQWdBQUJBZ1FJRUNCUUl5Q0Ex
T2pwUzRBQUFRSUVDQkFnUUlCQWtZQUFVc1NsbUFBQkFnUUlFQ0JBCmdBQ0JHZ0VCcEVaUFh3SUVD
QkFnUUlBQUFRSUVpZ1FFa0NJdXhRUUlFQ0JBZ0FBQkFnUUkxQWdJSURWNitoSWdRSUFBQVFJRUNC
QWcKVUNRZ2dCUnhLU1pBZ0FBQkFnUUlFQ0JBb0VaQUFLblIwNWNBQVFJRUNCQWdRSUFBZ1NJQkFh
U0lTekVCQWdRSUVDQkFnQUFCQWpVQwpBa2lObnI0RUNCQWdRSUFBQVFJRUNCUUpDQ0JGWElvSkVD
QkFnQUFCQWdRSUVLZ1JFRUJxOVBRbFFJQUFBUUlFQ0JBZ1FLQklRQUFwCjRsSk1nQUFCQWdRSUVD
QkFnRUNOZ0FCU282Y3ZBUUlFQ0JBZ1FJQUFBUUpGQWdKSUVaZGlBZ1FJRUNCQWdBQUJBZ1JxQkFT
UUdqMTkKQ1JBZ1FJQUFBUUlFQ0JBb0VoQkFpcmdVRXlCQWdBQUJBZ1FJRUNCUUl5Q0ExT2pwUzRB
QUFRSUVDQkFnUUlCQWtZQUFVc1NsbUFBQgpBZ1FJRUNCQWdBQ0JHZ0VCcEVaUFh3SUVDQkFnUUlB
QUFRSUVpZ1FFa0NJdXhRUUlFQ0JBZ0FBQkFnUUkxQWdJSURWNitoSWdRSUFBCkFRSUVDQkFnVUNR
Z2dCUnhLU1pBZ0FBQkFnUUlFQ0JBb0VaQUFLblIwNWNBQVFJRUNCQWdRSUFBZ1NJQkFhU0lTekVC
QWdRSUVDQkEKZ0FBQkFqVUNBa2lObnI0RUNCQWdRSUFBQVFJRUNCUUpDQ0JGWElvSkVDQkFnQUFC
QWdRSUVLZ1JFRUJxOVBRbFFJQUFBUUlFQ0JBZwpRS0JJUUFBcDRsSk1nQUFCQWdRSUVDQkFnRUNO
Z0FCU282Y3ZBUUlFQ0JBZ1FJQUFBUUpGQWdKSUVaZGlBZ1FJRUNCQWdBQUJBZ1JxCkJBU1FHajE5
Q1JBZ1FJQUFBUUlFQ0JBb0VoQkFpcmdVRXlCQWdBQUJBZ1FJRUNCUUl5Q0ExT2pwUzRBQUFRSUVD
QkFnUUlCQWtZQUEKVXNTbG1BQUJBZ1FJRUNCQWdBQ0JHZ0VCcEVaUFh3SUVDQkFnUUlBQUFRSUVp
Z1FFa0NJdXhRUUlFQ0JBZ0FBQkFnUUkxQWdJSURWNgoraElnUUlBQUFRSUVDQkFnVUNRZ2dCUnhL
U1pBZ0FBQkFnUUlFQ0JBb0VaQUFLblIwNWNBQVFJRUNCQWdRSUFBZ1NJQkFhU0lTekVCCkFnUUlF
Q0JBZ0FBQkFqVUNBa2lObnI0RUNCQWdRSUFBQVFJRUNCUUpDQ0JGWElvSkVDQkFnQUFCQWdRSUVL
Z1JFRUJxOVBRbFFJQUEKQVFJRUNCQWdRS0JJUUFBcDRsSk1nQUFCQWdRSUVDQkFnRUNOZ0FCU282
Y3ZBUUlFQ0JBZ1FJQUFBUUpGQWdKSUVaZGlBZ1FJRUNCQQpnQUFCQWdScUJBU1FHajE5Q1JBZ1FJ
QUFBUUlFQ0JBb0VoQkFpcmdVRXlCQWdBQUJBZ1FJRUNCUUl5Q0ExT2pwUzRBQUFRSUVDQkFnClFJ
QkFrWUFBVXNTbG1BQUJBZ1FJRUNCQWdBQ0JHZ0VCcEVaUFh3SUVDQkFnUUlBQUFRSUVpZ1FFa0NJ
dXhRUUlFQ0JBZ0FBQkFnUUkKMUFnSUlEVjYraElnUUlBQUFRSUVDQkFnVUNRZ2dCUnhLU1pBZ0FB
QkFnUUlFQ0JBb0VaQUFLblIwNWNBQVFJRUNCQWdRSUFBZ1NJQgpBYVNJU3pFQkFnUUlFQ0JBZ0FB
QkFqVUNBa2lObnI0RUNCQWdRSUFBQVFJRUNCUUpDQ0JGWElvSkVDQkFnQUFCQWdRSUVLZ1JFRUJx
CjlQUWxRSUFBQVFJRUNCQWdRS0JJUUFBcDRsSk1nQUFCQWdRSUVDQkFnRUNOZ0FCU282Y3ZBUUlF
Q0JBZ1FJQUFBUUpGQWdKSUVaZGkKQWdRSUVDQkFnQUFCQWdScUJBU1FHajE5Q1JBZ1FJQUFBUUlF
Q0JBb0VoQkFpcmdVRXlCQWdBQUJBZ1FJRUNCUUl5Q0ExT2pwUzRBQQpBUUlFQ0JBZ1FJQkFrWUFB
VXNTbG1BQUJBZ1FJRUNCQWdBQ0JHZ0VCcEVaUFh3SUVDQkFnUUlBQUFRSUVpZ1FFa0NJdXhRUUlF
Q0JBCmdBQUJBZ1FJMUFnSUlEVjYraElnUUlBQUFRSUVDQkFnVUNRZ2dCUnhLU1pBZ0FBQkFnUUlF
Q0JBb0VaQUFLblIwNWNBQVFJRUNCQWcKUUlBQWdTSUJBYVNJU3pFQkFnUUlFQ0JBZ0FBQkFqVUNB
a2lObnI0RUNCQWdRSUFBQVFJRUNCUUpDQ0JGWElvSkVDQkFnQUFCQWdRSQpFS2dSRUVCcTlQUWxR
SUFBQVFJRUNCQWdRS0JJUUFBcDRsSk1nQUFCQWdRSUVDQkFnRUNOZ0FCU282Y3ZBUUlFQ0JBZ1FJ
QUFBUUpGCkFnSklFWmRpQWdRSUVDQkFnQUFCQWdScUJBU1FHajE5Q1JBZ1FJQUFBUUlFQ0JBb0Vo
QkFpcmdVRXlCQWdBQUJBZ1FJRUNCUUl5Q0EKMU9qcFM0QUFBUUlFQ0JBZ1FJQkFrWUFBVXNTbG1B
QUJBZ1FJRUNCQWdBQ0JHZ0VCcEVaUFh3SUVDQkFnUUlBQUFRSUVpZ1FFa0NJdQp4UVFJRUNCQWdB
QUJBZ1FJMUFnSUlEVjYraElnUUlBQUFRSUVDQkFnVUNRZ2dCUnhLU1pBZ0FBQkFnUUlFQ0JBb0Va
QUFLblIwNWNBCkFRSUVDQkFnUUlBQWdTSUJBYVNJU3pFQkFnUUlFQ0JBZ0FBQkFqVUNBa2lObnI0
RUNCQWdRSUFBQVFJRUNCUUpDQ0JGWElvSkVDQkEKZ0FBQkFnUUlFS2dSRUVCcTlQUWxRSUFBQVFJ
RUNCQWdRS0JJUUFBcDRsSk1nQUFCQWdRSUVDQkFnRUNOZ0FCU282Y3ZBUUlFQ0JBZwpRSUFBQVFK
RkFnSklFWmRpQWdRSUVDQkFnQUFCQWdScUJBU1FHajE5Q1JBZ1FJQUFBUUlFQ0JBb0VoQkFpcmdV
RXlCQWdBQUJBZ1FJCkVDQlFJeUNBMU9qcFM0QUFBUUlFQ0JBZ1FJQkFrWUFBVXNTbG1BQUJBZ1FJ
RUNCQWdBQ0JHZ0VCcEVaUFh3SUVDQkFnUUlBQUFRSUUKaWdRRWtDSXV4UVFJRUNCQWdBQUJBZ1FJ
MUFnSUlEVjYraElnUUlBQUFRSUVDQkFnVUNRZ2dCUnhLU1pBZ0FBQkFnUUlFQ0JBb0VaQQpBS25S
MDVjQUFRSUVDQkFnUUlBQWdTSUJBYVNJU3pFQkFnUUlFQ0JBZ0FBQkFqVUNBa2lObnI0RUNCQWdR
SUFBQVFJRUNCUUpDQ0JGClhJb0pFQ0JBZ0FBQkFnUUlFS2dSRUVCcTlQUWxRSUFBQVFJRUNCQWdR
S0JJUUFBcDRsSk1nQUFCQWdRSUVDQkFnRUNOZ0FCU282Y3YKQVFJRUNCQWdRSUFBQVFKRkFnSklF
WmRpQWdRSUVDQkFnQUFCQWdScUJBU1FHajE5Q1JBZ1FJQUFBUUlFQ0JBb0VoQkFpcmdVRXlCQQpn
QUFCQWdRSUVDQlFJeUNBMU9qcFM0QUFBUUlFQ0JBZ1FJQkFrWUFBVXNTbG1BQUJBZ1FJRUNCQWdB
Q0JHZ0VCcEVaUFh3SUVDQkFnClFJQUFBUUlFaWdRRWtDSXV4UVFJRUNCQWdBQUJBZ1FJMUFnSUlE
VjYraElnUUlBQUFRSUVDQkFnVUNRZ2dCUnhLU1pBZ0FBQkFnUUkKRUNCQW9FWkFBS25SMDVjQUFR
SUVDQkFnUUlBQWdTSUJBYVNJU3pFQkFnUUlFQ0JBZ0FBQkFqVUNBa2lObnI0RUNCQWdRSUFBQVFJ
RQpDQlFKQ0NCRlhJb0pFQ0JBZ0FBQkFnUUlFS2dSRUVCcTlQUWxRSUFBQVFJRUNCQWdRS0JJUUFB
cDRsSk1nQUFCQWdRSUVDQkFnRUNOCmdBQlNvNmN2QVFJRUNCQWdRSUFBQVFKRkFnSklFWmRpQWdR
SUVDQkFnQUFCQWdScUJBU1FHajE5Q1JBZ1FJQUFBUUlFQ0JBb0VoQkEKaXJnVUV5QkFnQUFCQWdR
SUVDQlFJeUNBMU9qcFM0QUFBUUlFQ0JBZ1FJQkFrWUFBVXNTbG1BQUJBZ1FJRUNCQWdBQ0JHZ0VC
cEVaUApYd0lFQ0JBZ1FJQUFBUUlFaWdRRWtDSXV4UVFJRUNCQWdBQUJBZ1FJMUFnSUlEVjYraEln
UUlBQUFRSUVDQkFnVUNRZ2dCUnhLU1pBCmdBQUJBZ1FJRUNCQW9FWkFBS25SMDVjQUFRSUVDQkFn
UUlBQWdTSUJBYVNJU3pFQkFnUUlFQ0JBZ0FBQkFqVUNBa2lObnI0RUNCQWcKUUlBQUFRSUVDQlFK
Q0NCRlhJb0pFQ0JBZ0FBQkFnUUlFS2dSRUVCcTlQUWxRSUFBQVFJRUNCQWdRS0JJUUFBcDRsSk1n
QUFCQWdRSQpFQ0JBZ0VDTmdBQlNvNmN2QVFJRUNCQWdRSUFBQVFKRkFnSklFWmRpQWdRSUVDQkFn
QUFCQWdScUJBU1FHajE5Q1JBZ1FJQUFBUUlFCkNCQW9FaEJBaXJnVUV5QkFnQUFCQWdRSUVDQlFJ
eUNBMU9qcFM0QUFBUUlFQ0JBZ1FJQkFrWUFBVXNTbG1BQUJBZ1FJRUNCQWdBQ0IKR2dFQnBFWlBY
d0lFQ0JBZ1FJQUFBUUlFaWdRRWtDSXV4UVFJRUNCQWdBQUJBZ1FJMUFnSUlEVjYraElnUUlBQUFR
SUVDQkFnVUNRZwpnQlJ4S1NaQWdBQUJBZ1FJRUNCQW9FWkFBS25SMDVjQUFRSUVDQkFnUUlBQWdT
SUJBYVNJU3pFQkFnUUlFQ0JBZ0FBQkFqVUNBa2lOCm5yNEVDQkFnUUlBQUFRSUVDQlFKQ0NCRlhJ
b0pFQ0JBZ0FBQkFnUUlFS2dSRUVCcTlQUWxRSUFBQVFJRUNCQWdRS0JJUUFBcDRsSk0KZ0FBQkFn
UUlFQ0JBZ0VDTmdBQlNvNmN2QVFJRUNCQWdRSUFBQVFKRkFnSklFWmRpQWdRSUVDQkFnQUFCQWdS
cUJBU1FHajE5Q1JBZwpRSUFBQVFJRUNCQW9FaEJBaXJnVUV5QkFnQUFCQWdRSUVDQlFJeUNBaXI5
ZWJnQUFCYlJKUkVGVTFPanBTNEFBQVFJRUNCQWdRSUJBCmtZQUFVc1NsbUFBQkFnUUlFQ0JBZ0FD
QkdnRUJwRVpQWHdJRUNCQWdRSUFBQVFJRWlnUUVrQ0l1eFFRSUVDQkFnQUFCQWdRSTFBZ0kKSURW
NitoSWdRSUFBQVFJRUNCQWdVQ1FnZ0JSeEtTWkFnQUFCQWdRSUVDQkFvRVpBQUtuUjA1Y0FBUUlF
Q0JBZ1FJQUFnU0lCQWFTSQpTekVCQWdRSUVDQkFnQUFCQWpVQ0FraU5ucjRFQ0JBZ1FJQUFBUUlF
Q0JRSkNDQkZYSW9KRUNCQWdBQUJBZ1FJRUtnUkVFQnE5UFFsClFJQUFBUUlFQ0JBZ1FLQklRQUFw
NGxKTWdBQUJBZ1FJRUNCQWdFQ05nQUJTbzZjdkFRSUVDQkFnUUlBQUFRSkZBZ0pJRVpkaUFnUUkK
RUNCQWdBQUJBZ1JxQkFTUUdqMTlDUkFnUUlBQUFRSUVDQkFvRWhCQWlyZ1VFeUJBZ0FBQkFnUUlF
Q0JRSXlDQTFPanBTNEFBQVFJRQpDQkFnUUlCQWtZQUFVc1NsbUFBQkFnUUlFQ0JBZ0FDQkdnRUJw
RVpQWHdJRUNCQWdRSUFBQVFJRWlnUUVrQ0l1eFFRSUVDQkFnQUFCCkFnUUkxQWdJSURWNitoSWdR
SUFBQVFJRUNCQWdVQ1FnZ0JSeEtTWkFnQUFCQWdRSUVDQkFvRVpBQUtuUjA1Y0FBUUlFQ0JBZ1FJ
QUEKZ1NJQkFhU0lTekVCQWdRSUVDQkFnQUFCQWpVQ0FraU5ucjRFQ0JBZ1FJQUFBUUlFQ0JRSkND
QkZYSW9KRUNCQWdBQUJBZ1FJRUtnUgpFRUJxOVBRbFFJQUFBUUlFQ0JBZ1FLQklRQUFwNGxKTWdB
QUJBZ1FJRUNCQWdFQ05nQUJTbzZjdkFRSUVDQkFnUUlBQUFRSkZBZ0pJCkVaZGlBZ1FJRUNCQWdB
QUJBZ1JxQkFTUUdqMTlDUkFnUUlBQUFRSUVDQkFvRWhCQWlyZ1VFeUJBZ0FBQkFnUUlFQ0JRSXlD
QTFPanAKUzRBQUFRSUVDQkFnUUlCQWtZQUFVc1NsbUFBQkFnUUlFQ0JBZ0FDQkdnRUJwRVpQWHdJ
RUNCQWdRSUFBQVFJRWlnUUVrQ0l1eFFRSQpFQ0JBZ0FBQkFnUUkxQWdJSURWNitoSWdRSUFBQVFJ
RUNCQWdVQ1FnZ0JSeEtTWkFnQUFCQWdRSUVDQkFvRVpBQUtuUjA1Y0FBUUlFCkNCQWdRSUFBZ1NJ
QkFhU0lTekVCQWdRSUVDQkFnQUFCQWpVQ0FraU5ucjRFQ0JBZ1FJQUFBUUlFQ0JRSkNDQkZYSW9K
RUNCQWdBQUIKQWdRSUVLZ1JFRUJxOVBRbFFJQUFBUUlFQ0JBZ1FLQklRQUFwNGxKTWdBQUJBZ1FJ
RUNCQWdFQ05nQUJTbzZjdkFRSUVDQkFnUUlBQQpBUUpGQWdKSUVaZGlBZ1FJRUNCQWdBQUJBZ1Jx
QkFTUUdqMTlDUkFnUUlBQUFRSUVDQkFvRWhCQWlyZ1VFeUJBZ0FBQkFnUUlFQ0JRCkl5Q0ExT2pw
UzRBQUFRSUVDQkFnUUlCQWtZQUFVc1NsbUFBQkFnUUlFQ0JBZ0FDQkdnRUJwRVpQWHdJRUNCQWdR
SUFBQVFJRWlnUUUKa0NJdXhRUUlFQ0JBZ0FBQkFnUUkxQWdJSURWNitoSWdRSUFBQVFJRUNCQWdV
Q1FnZ0JSeEtTWkFnQUFCQWdRSUVDQkFvRVpBQUtuUgowNWNBQVFJRUNCQWdRSUFBZ1NJQkFhU0lT
ekVCQWdRSUVDQkFnQUFCQWpVQ0FraU5ucjRFQ0JBZ1FJQUFBUUlFQ0JRSkNDQkZYSW9KCkVDQkFn
QUFCQWdRSUVLZ1JFRUJxOVBRbFFJQUFBUUlFQ0JBZ1FLQklRQUFwNGxKTWdBQUJBZ1FJRUNCQWdF
Q05nQUJTbzZjdkFRSUUKQ0JBZ1FJQUFBUUpGQWdKSUVaZGlBZ1FJRUNCQWdBQUJBZ1JxQkFTUUdq
MTlDUkFnUUlBQUFRSUVDQkFvRWhCQWlyZ1VFeUJBZ0FBQgpBZ1FJRUNCUUl5Q0ExT2pwUzRBQUFR
SUVDQkFnUUlCQWtZQUFVc1NsbUFBQkFnUUlFQ0JBZ0FDQkdnRUJwRVpQWHdJRUNCQWdRSUFBCkFR
SUVpZ1FFa0NJdXhRUUlFQ0JBZ0FBQkFnUUkxQWdJSURWNitoSWdRSUFBQVFJRUNCQWdVQ1FnZ0JS
eEtTWkFnQUFCQWdRSUVDQkEKb0VaQUFLblIwNWNBQVFJRUNCQWdRSUFBZ1NJQkFhU0lTekVCQWdR
SUVDQkFnQUFCQWpVQ0FraU5ucjRFQ0JBZ1FJQUFBUUlFQ0JRSgpDQ0JGWElvSkVDQkFnQUFCQWdR
SUVLZ1JFRUJxOVBRbFFJQUFBUUlFQ0JBZ1FLQklRQUFwNGxKTWdBQUJBZ1FJRUNCQWdFQ05nQUJT
Cm82Y3ZBUUlFQ0JBZ1FJQUFBUUpGQWdKSUVaZGlBZ1FJRUNCQWdBQUJBZ1JxQkFTUUdqMTlDUkFn
UUlBQUFRSUVDQkFvRWhCQWlyZ1UKRXlCQWdBQUJBZ1FJRUNCUUkvRC9BRVhHY25McXNaYUNBQUFB
QUVsRlRrU3VRbUNDCgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9p
bnRlcm5hdGlvbmFsL2JpZGktbWlycm9yLWhlLWFyLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNh
bm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBl
ID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFB
QUFKWUNBWUFBQUNhZG9Kd0FBQUM3bWxEUTFCSlEwTWdVSEp2Wm1sc1pRQUFlQUdGClZNOXJFMEVV
L2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9SRmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xp
T1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZwRktONnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3
MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVKcQovSWdBanFJSlFUUWxWZHZzVGlRR1FZTnor
WHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9IaFAxQTRFZWEyU3F3N3hkeENsa1NBb2c4CjM2RXB4
M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVBMUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25O
ZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZyWXFHY1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAw
YTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FWdHhxcAorRFhDRkY4UVRTZWlWSEhaTGczeG1L
NzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUrTHFIQlgwbTF4T3Y0bmRXVWVGNWp4Tm4zdFRkCjcw
WGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNHUEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdK
RXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFDSkw4UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJy
eTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhSNWFzZVhxOAptdXdhUCt4WGx6SG1naldQeEhP
dysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdqRTMzNTlzZnpzOTRpN1BMclhXYzYySml6ZFdtNWRu
Ci9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlLVEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNI
Q0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAxdDR2VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtP
Yi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUzSHZFS0ZscFc1egpyZ0lYdjlGOThMWnVhNk4r
T1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVncG1OT1dsczA1VW9jc241TzY2Y3BpVXN4UTIwTlNV
dGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtU
aHJXZ1pmNmI4QzgvVVhBZUl1SkFBQWcKQUVsRVFWUjRBZTNkQ2RoMjFidzQvdFU4a0pUS25BYUZV
RVJKaG1US1dFUVJjY29sSEdNeVJTV2x5VEZ6anRJeFpEd1NNaFRLRUhISQprT0hJVUNuNkVSV2hL
Q1cxLyt1N3IvYjkzODk2Ny9GNW4vWDJ2by9QdnE3M3ZmZmF3M2V2L2JuM2ZULzd1L2ZhNjE2cHlV
TXlFQ0JBCmdBQUJBZ1FJRUNCQVlCa0lyTHdNdG1FVEJBZ1FJRUNBQUFFQ0JBZ1FhQVVrSUE0RUFn
UUlFQ0JBZ0FBQkFnU1dtWUFFWkpsUjJ4QUIKQWdRSUVDQkFnQUFCQWhJUXh3QUJBZ1FJRUNCQWdB
QUJBc3RNUUFLeXpLaHRpQUFCQWdRSUVDQkFnQUFCQ1loamdBQUJBZ1FJRUNCQQpnQUNCWlNZZ0FW
bG0xRFpFZ0FBQkFnUUlFQ0JBZ0lBRXhERkFnQUFCQWdRSUVDQkFnTUF5RTVDQUxETnFHeUpBZ0FB
QkFnUUlFQ0JBClFBTGlHQ0JBZ0FBQkFqZXh3Ti8rOXJmMG05LzhabVF0THIvODhuVCsrZWVQblAr
dk9pUGNMcjc0NHBHN1A4bnQrdXV2VDcvNHhTOEcKNjA5YWZyRGdsQ01MSFcvY1ptdHZxM2I4Y2Z0
V3pwdjB2cGZMcjBqbDhwaWNWUGMvLy9uUGt4YVphZjRrMjRVNkRpUWdNNzB0RmlaQQpnQUFCQXRN
SlBPNXhqMHZycmJkZWV0U2pIcFgyM0hQUHRNb3FxNlJOTjkwMFBmbkpUMDRQZk9BRDIvSUhQL2pC
OU5HUGZqVGQrdGEzClRoLzYwSWRHQm43dGExK2JudkNFSjR5Yy82ODQ0OTN2Zm5lNjFhMXVsVTQ2
NmFTUnV6L083WHZmKzE2NjE3M3VsWjd6bk9jTTFoKzMKL0dDaEdVWVdPdDY0VGRmZTF0TEVQK1dV
VTlLMjIyNmJWbHBwcGJURERqdWswMDQ3cmQyVnl5NjdMTDNxVmE5cXA2Kzg4c3JwOWE5LwpmYnJ5
eWl2SDdXYWE1bjBmRzJBNW5qbnNtSnhVM2IzMjJtdE9FajFwK1hIenA3RmRtdU5nenJZYkF3RUNC
QWdRSUxEZ0FvOTg1Q09iCkN5KzhjQkIzelRYWGJQYlpaNTlCK2MxdmZuT1QvK0MzNWJ2ZDdXN05r
VWNlT1poWGp2enhqMzlzemp2dnZITHl4UEkxMTF6VGZQV3IKWDUyNDNMZ0ZKc1dZTkg5YzdHN2Vm
R1BreEsxNTYxdmYyb1ZaNG5XUzJ3dGYrTUxtb1E5OTZHQzlTY3NQRnB4eVpLSGpqZHRzN1cwdApi
ZnpqanorK3lTZWdUVTY0bDlpTkRUYllvTmxxcTYyV21ENXF3cVQzZmRSNks4TDA4cGdjVitkOFY3
VEpTVjBUNnl6VU1NbDJhWStECnJwN3VnTXhKeHhRSUVDQkFnTURDQ0J4d3dBSHRIWTlSMFo3NzNP
ZW11OS85N3UzczFWWmJyYjBLUEdyWnVOSy94UlpiTERFNy96RmYKWWxvMzRicnJya3ZQZU1ZejBq
ZSs4WTF1MGxTdi9aaVRZa3lhUDJxRDAyNmp2OXl3V1BOMXUrR0dHOXB3cTY2NmFvb3I3OTB3eXJt
YgpQK3ZyUXNjYnQvMzVibXVTY2JmTitjYnYxci9sTFcvWmpuYXYzZlI0alduRHB2ZVg2WTlQZXQv
N3l5N0w4WC8rODUvejN0eW9ZM0pjCndQZTg1ejFwMzMzM1RYRW5OWnBPelRvTXErOGsyNlU5RHJv
NnJ0cU5lQ1ZBZ0FBQkFnUVdUbUNYWFhZWkcreG1ON3RaZXNBREhqQlkKSms1QW9ubkRDU2Vja0c1
eGkxdWt6MzN1YzIwQzgvdmYvNzV0bm5YeXlTZW5iMy83MiszeUo1NTRZdnJUbi83VU5sZjV6R2Mr
azc3MQpyVzhONG5RamIzdmIyOUpuUC92WjlNdGYvakpkY01FRjZWM3ZlbGQ3a3ZLR043d2huWDMy
MmUzNGYvM1hmN1ZOWW1LZFlUR0h4WWg2CmQ4T3crWEVpdExUYmlDWTdrL2F2cThQVlYxK2RYdjd5
bDdkR2Q3akRIZEtIUC96aGxPOG9wV0Z1M2JLM3VjMXQwdTkrOTd2MDA1LysKTk9VN1UyMm9ZY3Qz
MjRqWGNNeFg4Vk9jdE8yODg4N3RleFhONnQ3NXpuZW1tOS84NXVtd3d3NUwvL3UvLzV0ZTlLSVhw
ZGU4NWpWTApiUDhIUC9oQjIzeG93dzAzVEd1dHRWWUt1M3dYckYyblArM1VVMDlOK1c1QU92REFB
OU1hYTZ6UnZuY2JiN3h4YXhyckRZdnpnUTk4CklKMXp6am1wTzBiT09PT01kbHZoRVJaSEhYVlVp
aFBMTDN6aEM0T2tPQ3hlK2NwWHBvMDIyaWg5ODV2ZlRPdXZ2MzY2OTczdm5YYmMKY2NmMG9BYzlx
TC9yUyt6TE5QSG5CSmhINGRKTEx4MTVIRVc0N3IyTXBvdjk5MzJZVDVqZTZVNTNHaHJ2VTUvNlZJ
cUxBZEVzOHYzdgpmMy82OUtjL25WN3hpbGUwemZPT1BmYllkT2M3M3ptOTVTMXZhVzIvOUtVdkRZ
NlgvaTU5NVN0ZlNkLy8vdmZiaXdqeGVZeW1UUGU0Cnh6M1NORTdkZmd3N0p2dmJLTWZ6WGNNVVRk
aGU5N3JYdGQ4WmtZUTgvL25QbjdQWUtJdS8vdld2USt2YnJkelZxYlFkOWhuNSs5Ly8Kbm80NDRv
ajJPeXUydDkxMjI3V2Z4eTdXeU5lYytSb0lFQ0JBZ0FDQnlnSmxFNnorNXJiZWV1dG1tMjIyYWI3
ODVTODMrV0gwNXE1Mwp2V3Z6N0djL3UxMGtuMlEwejN2ZTg1cG9waEpEdnV2UTNQZSs5MjNINDcr
WHZ2U2xUWDV3ZFZEdWoyeXl5U1pOUHZsc0orVVQ1K2JSCmozNTBrOXZZdDh2bms2NG1uL2cyK1NI
V3NUSDdNZnF4dS9IKy9JWFl4aXo3bDA4OG0zd1hxY21KVnR2VUxPcXkyV2FidGZ0VHVrVjkKSC92
WXh6WWYrOWpIMnFxSDJlMXVkN3ZtRVk5NFJGc2V0bnc3NDhiL2NnTFM1QlAwSmovSDAzemlFNTlv
OGtsYXM4Y2VlelQ1QkxVMQpqcVlwaHg1NmFOc2tKaWRQVFJrdko0OU5maWFveWMrZHRPdUgvOGMv
L3ZFbHBrVlR1d2MvK01GTlBxRnN0L3lQZi95ajJYNzc3WnY4ClRGRmJIaGJuckxQT21uT01YSExK
SmMyV1cyN1pIa2M1a1cxKy9ldGZOM2U1eTEyYS9mYmJiN0JMT1hGcVh2YXlsN1hsbi96a0oyM3oK
cUp3NHRzc09GcnB4cE55WGFlS1hNV0pmODhsb2swL21tNmh2LzErOGp6bnhHYXd5N2ppS2hjYTk3
OE44ZnY3em40ODg5aU5lZmo2bAplZGF6bmhXajdmQ1FoenlreVhjV3VtS1RFNWdtSnllRGNuL2sy
bXV2Ylc1Lys5c1BtanJtaEtCNTBwT2UxQzR5amRPNFk3Sy9uWEk4Clg2aG9jcUxlVG80WXc1cXdE
YlBJaWVySStrYXdjYmJsY1JETDUyZmNtdGhPRERrSmE5L2pmSUdqTFkvNzcvKy83emd5UlRHREFB
RUMKQkFnUXFDMFFENjAvN0dFUGE2L214aFgycm5lbXVEcCt6M3ZlTStVLzVtMFYvdktYdjZRZi9l
aEg2Zk9mLzN4YnppZVZnM25ENmhnUAovc2FRVHdEYjVhSkoxaGUvK01WMDI5dmVOdjNoRDM5SVo1
NTVacG9VczRzeExINU02K1l2eERZbTFhV3N3ek9mK2N6MCtNYy92cjByCmNjd3h4NlQ4M0UzS2lW
d3EzZklKYjJ2VzNabUtwbGVQZWN4akJ1SEs1UWN6Ymh6WmZQUE4yNnZpMFd3dW4yQzJkekdpWTRD
TExyb28KdmZyVnIyNGZpTjkvLy8xYjQ1aFd4b3VIcjNOaTJkNlJpUFdQTys2NGxCT1lKYWJGM2Fx
NEkvSFVwejYxM1hMY3VjZ254eW51Q3VVVAp2ZmFPVlJubmZ2ZTczNXhqSkRvMWlQckdjUlBIVlZ6
OXo4KzZwSFBQUFhld1czRjFPNXJUeEJCWDY2TytNY1N5NVZEdXl6VHh5eGhkCitXdGYrMXJiOFVK
MHZ0RDlpeXZ5L1dIY2NkUXROK3A5SCtiOHd4LytjT1N4SC9HaUdWTThHTjgxZzNyNHd4L2Uzb0dN
dTEweHhQRVUKNzlXd0lkNmYzWGZmUGVVTENPM3NNTTBKVHpzK3lXblNNVGxzZTkyME9CNmlnNHNZ
NGc3T3ozNzJzL2FPU3pjL1hvZFp4TjIxVWZYdAoxaDFsV3g0SCtmbXlGTFp4L01Wd24vdmNwejJ1
aHgxRFhlenVWUUxTU1hnbFFJQUFBUUkzb1VCM0VoOVZpTjZ6K20yNlkxNDNQOThKCmFVOGc0cVQ3
QlM5NFFjcFgvZHNldFVaVnZWc3ZUbDdqNUdqMTFWZHYvMFh6cjJoU0VpY05rMkoyTVpiRk5pYlZw
YXpEdXV1dU81Z1UKSjF3eGRGMFc5OTNpeERkTzNQdlBHa1RUcWY2KzlaY2ZCTzJOOUplTnlldXNz
MDV2Ym1xYm9jU0VTT3hpS09ORkU2cnVSTDlkSVA5WApUdnZ1ZDcvYkxoTW50dDJRNzRDMG8zR3lG
ME81VGt3cnQxV1dvNjdSYktjYm9oekhSRGRFRTZEdVJMS2Ixbjh0NDVYbE1uNS8zZjU0CnZwdVgz
djcydDgvNVY1cU1PMWE3V09QZTk5Sm5VcnpvU1NyZXMrNTVxV2pPZHRWVlY2Vm9XaFZta1pqMG14
NTJkWWpYY0hqSE85N1IKSnZIUjlQRHJYLzk2NmlkVTQ1eW1PU2I3MityRzR6aklkOXpTZTkvNzNy
WlpZSFRoSFovci8velAvK3dXR2J5V0ZwUHFHeXVPcyszdgpUMXk4aUNaN01hMGJJaG5xRXR0dTJy
Qlh6NEFNVXpHTkFBRUNCQWdzeHdKeDVUZzNIMnBQNHFMZGRWeTlqZWRHeGcxeHdoSVBYY2ZWCjNX
SERmR0tXY1JacUcvT3RTMXg1alJQaCtGY092LzN0Yjl1VHRuSjYvK1NwbkRlcEhIZFIrdXYzeHll
dE8ycCt0TDhQeDBoQUkwR0sKSWU1a3hIc1hKOFVMTmVTbWV5bjN5cFp5ODZ2MldaTzExMTQ3N2JU
VFRnc1ZmcW5pVERxT3l1RGozdmRZZGxLOE9HR09PMFVmK2NoSAoyZ1ExTjNGc095Zkl6ZlhTRlZk
Y01iRUw3SGptSSs1YXZlOTk3MHZ4WUhna2tkTU04ejBtNCs1WjNMWHBqby9ZVnR5TisrUW5QOW4r
Cm50QWQ3M2pIc1p1ZnBiN2piT001blVqVzVqTzRBeklmTmVzUUlFQ0FBSUdiU0NDM0syOGZQczNk
ejdaTnFlSUVNazZVUmczZFNmR20KK1RkSTRvNUgveXA0Tk91S3E3Q1RZbll4bHNVMkp0VmxWQjFp
ZWp4WUhsZWY0MkhxY29pRUxhNXk1MmNzeWxuTFZUbnUwc1NQMGNWdgpRblJEYm52ZlB2d2VENVF2
MUJETno2TDVYalRIaXdlbzQ0SHA1V1VZZDZ3T3ErTzQ5ejJXbnlaZUpHUHhtekwvL2QvL25mTHpW
KzBKCmZqelVIODJ2eGlWbTBmUXBIdjUrMDV2ZTFEN29QNngrbzZiTjU1aU1Kb3JSeEMrYVNVVlRx
dTdmd1FjZjNCNDNrVnlNRzJhdDd6amIKU0U3aWJtTTBHK3lHK0U3cDd0UjEwNGE5U2tDR3FaaEdn
QUFCQWdRV1VDQ2FjT1NIaWR1ZW5ZYUZqYXZlOGE4Ym9tZVorTmNOTVMvSwo4Y2M5Zm9rNGVxeUtJ
Zi9XU05wdHQ5M21YQW50MW9uWGFHNFVWMWxqaUN1OGNjVXlta2pFcnlmSFNlM2hoeC9lZHU4N0xt
WS94ckJmClhlN1BYNGh0eERNYzArNWY3RmVjckhkRHRFbVBLOEZkZS95KzIxT2U4cFQyTGtKY1Bl
NkdlTTRtcm81M01mckxkOHYwWDZQYjRXN1oKbUo0ZlFHN0xNVDJHN3BtQjdsbUNNbDdNNzcrdjNU
cjlhZkdzUVg0UXVFMFcyNkQ1djBnUUlqSHAydndQaTFOdUs0NjNyaDRSSitiMwo2eDY5ZHVVSDFk
T0xYL3ppOUxTblBhMXQxdFZ0YjlqcnJQSExHTjArRGp1R0lpbnVUMy82MDU4KzhsanQ0dmIzcFh6
ZlM1OXA0dVVPCkd0bzdRZEd6V1RSQmltZG00cTVpUENzMUxnR1A1ejNDT1U3c28wN1JCQ3YySno2
cjhXL2MrekROTWRudGIvY2FkMWlpcnVVUWQ4bmkKWHlRZy9SOXpMQzBtMVRmaWpyUHRId2RSLyto
Rkx1N0dSTno0RnoyclRib0QwOVk5NHhnSUVDQkFnQUNCU2dMUjYwejBlSlQvNkRiNQp4S2FKSHlE
TXpUb0dXNHNlbFhKVG5yWVhtM3psc01sTnFwcjRZY0xjNUtidDNlazczL2xPYy8vNzM3OWRQMzUw
TDViSkR4aTNQMktZCnUveHM4dFhYdHRlblFjRGVTTzRPdHUyVktYcjR5Y2xIazdzVmJYTFhydTIw
M082K3lWZDQyNldqanFOaWxqRjY0ZHZSY3Y3U2JpT2YKd0kyc1M3bnQ2SFVxbjNRMStlSHo1dWlq
ajI1ZThwS1h0TDE4eFhLbFcvUldsSnZZTkxsNVZ1dWJmNTIreWMvUnRMMHZ4ZlJoeS9lMwpsNThq
YUh2TmloOXF5M2NMbWwvOTZsZHR6MVR4dmtZOThwWHBKbmRIMnI1UEVUdDZuK3EvYjdtcjNDWS9S
OURrRTlvbUoxaHQ2Tmh1Ck9TMW14REVRdlJxOThZMXZiSEpuQTAxK0lMM0pKM2NqMXluckhyMnA1
Y1N3clcvVU8zZGEwUGJXRmUvOTZhZWYzc2JKRDh5M2RZMzYKNTVQdUp2WXJqcVZ3S29mNXhPL0hp
TjZhY3ZlczdmYnljenFET3NReEdjZFAxQ0dmNUxkKzNXZGoxSEVVY2NlOTc2Tk14OFhyNnBxNwpj
MjZpdDdOdU9PU1FRK2FVdStuOTE5d3NydTNaTERlSGFudk9paDZ6Y25PMlp1Kzk5MjU3dFp2MFBv
dzdKdnZiaWZFNGh1STdKRjkwCm1QTWpwekV2TjhOc1B6ZGhHZlB6bll2MmVDK1ByM0gxamZkK25H
MTVITVR5OFIwUzN5V3gzWHhIcE1sTjBhSTZFNGVWWW9tOGtvRUEKQVFJRUNCQllBUVRpYW1zOGV4
Qk5NZUpCNVZFUHgzYTdFbGY0NDhIdWJvZ3JzdkhRYWpTZmlPY0tZcGdVczR6UnhlcGV5L2xMczQx
SgpkZW0yMlgrTlpsdXhqOTMrOU9lVjQzRjFONjYyeC9KeHBicjdIWkJ5dVp1NkhLZG44ZHNqOFY1
SGoxWUxQZVNFTFQzNXlVOXVEYUxaCldoeFAwZnRVUG5FZStaelFRdGRoVXJ4aHgxRi9uVm5lOTFo
dlVyeDhRdDNlQmVtMlVaYTc2Y05lNHc1UFBQQWRROXdSNjNjaU1HejUKL3JTYjRwaWNWTjlaYk9O
WWpUdXEwZXZYdElNRVpGb3B5eEVnUUlBQUFRSUVGb0ZBL0tCaUpCdnhmRU4vaU00TUl0bUpIOTh6
RUtncApJQUdwcVNzMkFRSUVDQkFnUUdBNUU0aU9DK0lYcTZNcjUraUdPYTZHeC9OQjhReFAvRE1R
cUMwZ0Fha3RMRDRCQWdRSUVDQkFZRGtUCmlPNWw0M2Njb3FsTi9QQ2x1eDdMMlJ1MHlLc2pBVm5r
YjdEZEkwQ0FBQUVDQkFnUUlMQThDZWlHZDNsNk45U0ZBQUVDQkFnUUlFQ0EKd0NJWGtJQXM4amZZ
N2hFZ1FJQUFBUUlFQ0JCWW5nUWtJTXZUdTZFdUJBZ1FJRUNBQUFFQ0JCYTVnQVJra2IvQmRvOEFB
UUlFQ0JBZwpRSURBOGlRZ0FWbWUzZzExSVVDQUFBRUNCQWdRSUxESUJTUWdpL3dOdG5zRUNCQWdR
SUFBQVFJRWxpY0JDY2p5OUc2b0N3RUNCQWdRCklFQ0FBSUZGTGlBQldlUnZzTjBqUUlBQUFRSUVD
QkFnc0R3SlNFQ1dwM2REWFFnUUlFQ0FBQUVDQkFnc2NnRUp5Q0ovZyswZUFRSUUKQ0JBZ1FJQUFn
ZVZKUUFLeVBMMGI2a0tBQUFFQ0JBZ1FJRUJna1F0SVFCYjVHMnozQ0JBZ1FJQUFBUUlFQ0N4UEFo
S1E1ZW5kVUJjQwpCQWdRSUVDQUFBRUNpMXhBQXJMSTMyQzdSNEFBQVFJRUNCQWdRR0I1RXBDQUxF
L3Zocm9RSUVDQUFBRUNCQWdRV09RQ0VwQkYvZ2JiClBRSUVDQkFnUUlBQUFRTExrNEFFWkhsNk45
U0ZBQUVDQkFnUUlFQ0F3Q0lYa0lBczhqZlk3aEVnY05NTC9PMXZmMHUvK2MxdmJ2cUsKVks1Qmpm
MjgvUExMMC9ubm43OWdOYTlSeDM3bHJyMzIydlN0YjMyclAybk8rUFhYWDU5KzhZdGZ6Sm5XTDBU
OUxyNzQ0djZrQlJzdgp0NzFRdHBQMmVjRjJvQWhVN2s4eGUwR0tWMTk5ZFFxbkdNWjlobU81V1ll
cnJycHExbFdHTGo5dEhZZXVYRXhjcUdPaUNEdW5XQjR2ClpYbk93ak1VTHJ2c3N2VFZyMzQxL2Vs
UGY1cGhyWVZiZEQ3N2NWUFhlZGIzZXlHL1B5VWdDM2ZzaVVTQXdMK1F3T01lOTdpMDNucnIKcFVj
OTZsRnB6ejMzVEt1c3NrcmFkTk5OMDVPZi9PVDB3QWMrc0MxLzhJTWZUQi85NkVmVHJXOTk2L1No
RDMxb1VldlUycy9YdnZhMQo2UWxQZU1LQzJOV3FZMWU1NzN6bk8rbSs5NzF2Mm4zMzNidEpjMTYv
OTczdnBYdmQ2MTdwT2M5NXpwenBYZUhkNzM1M3V0V3RicFZPCk91bWtidEtDdlE3YjlrTFlUdHJu
QmR1Qkl0Q3cvU2tXV1pEaVc5N3lsdlRjNXo2M1RSbzMyV1NUZE4xMTF5MFI5Nnl6emtxbm5ucnEK
RXRNblRiam9vb3ZTaVNlZU9HbXhpZk9ucWVQRUlEY3VzQkRIeExodGxjZExXUjYzN3JoNXh4OS9m
UHJZeHo2V3Z2NzFyNmU3My8zdQpLWktCWlRuTVp6OXU2anFIenl6djkwSi9mMHBBbHVVUmFsc0VD
Q3dhZ1RnUitjRVBmcEMrK01VdnBvOS8vT05wOWRWWFR3OTV5RVBTCkp6N3hpZlROYjM0enZmR05i
MHpYWEhOTmV0clRucGJ1ZEtjN0xacjk3dTlJL0pFLzQ0d3oya20xOXZQd3d3OVBuLzcwcC91Ym5m
ZDQKclRwMkZicmYvZTZYOXRsbm42NjR4T3QyMjIzWEhpT3JyYmJhRXZOaVFwem9SbEpiWXhpMjdZ
V3duYlRQTmZZbFlnN2JueHJiV25mZApkZE02NjZ5VGJuR0xXNlMxMWxvcmxlOWRKSXVSZ095eHh4
NHpiMzZycmJaSzIyNjdiVHJvb0lObVhyZS93cVE2OXBlZE5MNFF4OFM0CmJaVEhTMWtldCs2b2VY
RW42WUFERGtndmZPRUwwMkdISFpZKytjbFBwalhXV0dQVTRsV216N29mdytvY0ZldStUNGRWc3Y5
OU8yeisKZktiTjhuNVA4LzA1U3gwbElQTjV4NnhEZ01DL3ZFRDh3WXM3SHFPR09KbU1LM0V4eEVu
TFNpdXROR3JSZVU5dm1tYmt1di84NXo5SAp6bHVJR1pHQVBlTVp6MGpmK01ZM0J1RVdZai9MZllv
N0FsdHNzY1ZnRzkxSXVWdzN2WHd0bDF1SU9wYmI2SmNqRVIzMlh0OXd3dzN0CllxdXV1bXBhZWVY
UmYzcHIxRy9VdHVkalczckdUbzNhNTFySDRLajk2YjhQL2ZGeDlSaTJQLzExTjl0c3MvWUN3bTF2
ZTl0MGw3dmMKcFQ4clhYTEpKZW1ZWTQ1SisrKy8vNXpwc3hUaTJJNm1aUE81ZzlKdFoxd2R1Mldt
ZlozUE1URXU5akQ3OG5ncHkrUGlEWnYzazUvOApKUDNqSC84WWZLNTIzSEhIWVl0Vm56YkxmcFIx
am9TNi9EN3RWM2pZOTIxLy9uekhaMzIveDMwL3pWckgwZCtDODkwYjZ4RWdRT0JmClFHQ1hYWFla
dTVjM3U5bk4wZ01lOElEQk1uSFNGTGU3Tjk1NDQzU1BlOXdqL2VwWHZ4ck11L1RTUzlzcmVEdnR0
Rk82ejMzdTAxNVIKSGN6c2pYejV5MTlPZSsyMVZ6cmtrRVBTZ1FjZW1PS2tLT0xGOUc3NHlsZStr
dDd3aGpla2FKWVIyei9ubkhQYVdYRzNKcEtpZ3c4KwpPQjE1NUpGcHd3MDNUTi85N25mVHFHM0hs
YmluUHZXcDZlVXZmM2w2NzN2Zm16YmZmUE4wMTd2ZWRWRHZ0NzN0YmVtem4vMXNlM2ZpCjMvN3Qz
MUxYbm4yKyt4bE5VWTQ5OXRqMEgvL3hINms3Z2ZqOTczL2ZsdTkvLy90M3U5YzJXU21YRzh6c2pR
eUwxODBlVjhkbzR4eFgKVWwvMnNwZTFUYjllL09JWHA3Ly8vZS90cWhIejlyZS9mWHJuTzkvWmxx
UEpSNXlVUHU5NXordENML0VhN2ZPZi8vem5weU9PT0tKZAo3dnZmLy80U3k1UVRZcDF3ajZaN2NU
ejgvT2MvSHl3eTZ2MGFMTkFiR2JmdGFXMm5PZVo2bTJ4SFJ4MkQwWVFqa3ZMSFB2YXhnK2RnCjRr
UXMzdC91eXUrNC9SdTNQMlVkb2p5cUhqRnYzUEVSODd1aE83bVBwREkrbi8waFBvZWptdHYxbDVz
MEhwL3ArRHhISWpLZllWd2QKKy9GT09lV1VkSnZiM0thOWUvVExYLzZ5blJYZkFYR0g5dlRUVDAv
VEhoUFRmQTdHMmZmclZJNVBjNHowMTNuUGU5NlRYdmU2MTZWSQpkRjd3Z2hlMG41dFIzM1hqUHR2
aDhjcFh2ckw5SHY3YzV6Nlg3bjN2ZTdmTktiLzk3VytuT0VhamFXMTgzeDUxMUZIOXpZOGRIM1Vz
CkQ2dnpxTy9UYmdQRDVvL2JuMjY5N25XWXllYy8vL2tsdmwvak14YmZmNjkvL2V2VEl4LzV5UFp2
UVB3OTZWOW9Hdlg5T2F5TzNmYUgKdnViczMwQ0FBQUVDU3ltdzVwcHJOcm41emRBb1cyKzlkYlBO
TnRzMCtXU3V5USt5TnZsRXZubjJzNS9kTHB2L2NEYVBmdlNqbXl1dgp2TExKSnlCTlRoS2FuQncw
Zi83em41ZUlsWk9XWnFPTk5tcnluWmNtLzBGb2Nudm5OdTRkNzNqSGR0bDgrN3ZKSjhoTmZoQ3pM
ZWMvCnpNMlRudlNrZGp6L0lXMXk4NTRtUDRQUTVHWmk3WGJ5aWUzSWJlZXJ1ODJXVzI3WjFqWC9R
VzUrL2V0Zk4vbGt1OWx2di8wRzljcHQKNHB2OEIzbFFudTkrNWl0blRYNTJZaERucFM5OWFXdVJI
OUJzOHNsOXM4RUdHN1R6UmkwM1dQSEdrWEhMamF0anJQN2dCeis0eWMvdQp0Skh5VmRWbSsrMjNi
L0x6UGpkR2JscmZuTUFOeXZtUGRKT2Izd3pLNzNqSE81cDhramNvNTVQdEppY3FiVG5lMzl2ZDdu
Yk5JeDd4CmlNSDhjdVFPZDdoRGswL1NtNXpjdGU5akdPY1R6Q2IyYVpaakplS08yL2EwdHBPT3Vk
aE9mNS9ISFlPeGJQZysvT0VQajlGMmlIM3EKanRGSit6ZHVmN3A0M2V1NGVvdzdQcnIxdTljNEJ2
N3doeisweGR3NVFEZTVmYzFObjVyNGJDenRFTnZJVjVhYi9CekJ2RUtOcTJNWgpNTDUzOGwyWHdl
U3d5QWxRVzU3Mm1JaUY0M3RtMU9kZ25IMnMyejllaHBYSEhTT3hmRG5rSnJCTnZxczRtRHpzdSs2
ODg4NGIrOW5PCkNVaVRrNDcydXpXK0gvT0plUHU1dnZPZDc5eCt4LzN4ajM5c0RqMzAwQ1lub2sx
K3lIMndyZjVJZjc4bUhjdGxuU05PK1gzYWp6MXMKL3FUdnF2NzZ3MHh5MDhFNTM2K3hmTDY0MHVT
TEwrMnFPZkdLVyt4TlRrRGE3LytZT09uN2M5SSt0SUZ2L004ZGtLRnBtWWtFQ0JCWQpXSUY0YVAx
aEQzdFl5aWVZYWVlZGR4NWNBWTduUi9MM2NYdUZLWjRuaWF0cytZUW5uWG5tbVV0VUlIKzVwNXhz
cEYxMzNiVjkwRDMvCkFXb2Z2SXplZWVJcWVkd2VqeXV5T2RscDE0M2I2OTNWOHgxMjJLRzlnM0cz
dTkwdDVSTytkTnh4eDZVZi92Q0hJN2NkVjkvanJzYzkKNzNuUEZIV1BxNlFQZmVoRDA3bm5uanVu
WG1Wem8vbnM1MS8rOHBmMG94LzlLTVVWdVJoeWt0UFdLKzdTeFBiREo0WlJ5N1V6ZS85TgpXbTVV
SGNNL250K0pPejh4aE9lem52V3NGRmVPNDBwb0RQRWNRSCtmMTE1NzdUbmxkcUViLzR0bkEyS2Z1
cnRsMGZUcU1ZOTVUSCtSCm9lUFBmT1l6MCtNZi8vajJPSWttUGhkZWVHRjdsMnVXWTJYU3RxZTFu
WFRNbFRzdzdoaU1aWE55MmQ2WjZPNEFobmRPd05zdzQvWnYKMHY3TVVvOUp4MGMvVnV4UFRvRGJT
VGw1SE15SzNvdXV1T0tLbEM4SURLYk5keVMyRWMvKzVKUGtlWVVZVmNkaHdlTHFkdlFxRncveAp4
eEIzdUxyblY2WTlKbUs5Y1orRFNjZEFyRDl1R0hlTWpGdXZtemZzdSs2Q0N5NFkrOW1PNzdyb0lD
THUwTVgzWSt4ZmRINFJIUVc4Cit0V3ZianVIaUtaMjhWMFUweVlONDQ3bGNldjJ2MXVHTGRmTm4r
YTdxci8rTUpONGJxWC8vUnJMUjJjcDhYY2pocmhUSDhkRURQM24KR0VkOWY3WUw1dis2T25ibFVh
OFNrRkV5cGhNZ1FHQUJCZnBmeW5HeUViZlBZNGdUMi9qQ2ovYkQ4UythVFgzcFMxOXFtOTRNMjN6
RQppUjYzdWlHYVJVVzhPSkdJZWZrcVhIdWlIcmZObzBlWXYvNzFyOTJpN1IvVjdnOUtUSnkwN1lq
WHIzYzhqQnNQMXZlSC92eVkzaTlQCnU1OXhnaGVKVTV4MFJ6T0tUWEtpMWUxanZ3N2psdXZYYWRK
eW8rb1l6VkhDSjA2Z3VpSGZBV2xISTFtYmRmamExNzdXSm4yM3ZPVXQKQjZ2ZS9PWTNuMk0wbU5F
YmlZZUt1eUZPSEdLSWs4Wko3MWUzVHJ4T3MrMXBiV081N3YySTJQMWpMc3I5SVpZZGR3ekdleHhK
ZFBRQQpGRU1rZDNIQ0Y4TzQvWnRtZjlvZ04vNDNyaDZUam85K25GSGprUlRHc1A3NjY0OWFaS2Jw
OGRsYXlPNm1SMjA4TGs1RXM3NFBmL2pECjdTS25uWFphMnlTdVczN2FZNkpiZnRqck9QdGh5NWZU
eGgwajViS2p5cEZBOUwvcnB2bHNSNzM3UTd3bi9TRTZJb2doTGhCTkdzWWQKeStQV0xldFFMdHZO
bjJaL3luVkxrNWdmOGJxWVVZNTlqcnAzUXpUWmkwU2xQL1NYNzMvSGQ4djA1M2ZUaHIydU9teWlh
UVFJRUNDdwpiQVR5cmYwVUR5Ym5aaW56M21CY1dZOFlNVVJYcm5GVitYM3ZlMStLdHNieGgyclVz
QkRiSGhXN25ENXBXOUgyTzY0d3YvM3RiMjk3CkY0c1RvKzRQZmovV1FpL1hqeDN0bjZPZWtSeEdv
aEJEWENFTTIrNFpsLzd5azhaLys5dmZ0dkhLNWFiOUF4M3J4WlhIT0NtSWY1TU0KKzl1Wno3YW50
WTN0OUkrNS9uWmpmTnd4R0luTXYvLzd2NmRvTHg0OUZzWHpOVjJDTm03LzVyTS80K294eTc2Vyt4
Zmw3dVEyTnpjYQpObnZtYWJrcFZJcTdhY3RpaUx0NllSL1BKZVdtbysyRmoxSGJuYS9UT1B0UjIr
cW1qenRHdW1WbWZaM1BaenVPOGY1bnRUOCthZnZqCmp1Vko2MDR6Zno3N00wM2N1UHVVbXhLM3o3
MUVUMkp4VEpiUFBrMFRaNXBsM0FHWlJza3lCQWdRcUNTUW4rZG83M2owN3l6RWJmNjQKNGp2TkVN
MDI0c2Vrb2p2UG4vM3NaKzBEejI5NjA1dm1YTVVmRldkcHR4MXhwLzJqUEc1YjBadFFOR2w1NjF2
ZjJuWnJIQTk5eGdQZQo1YkRReTVYeDQ4cCtQQWpjTlUrSitWR3YzSjQ3UmRPMWJvaUhNS2NaSXFH
S3E2WHpiVm9UMi9qZDczN1gzc1dLaDJMSEdaYjFtWFhiCjA5ckdkdnJIWExuZGFZN0IvQnhDZTVm
dU5hOTVUWHJRZ3g0MENERnUvMmJkbjNIMW1HVmZCNVVyUnFLdWNSK1ZjeW9BQUNBQVNVUkIKVlBJ
ZXpiQVdZb2dIbGpmSmQvNld4UkRkcWVabnp0S0xYdlNpOU1RblBuSGtKaWM1amZvY2pMTWZ1YkZp
eHFoanBGaHM2dUswbisycApBMDVZY055eFBHN1ZTZCtuM2Z4YSt4Tk5SS01KYkRUeGlnNHp1czRo
eHRXNW5OZlZzWnhlbGlVZ3BZZ3lBUUlFWmhTSVA4VDVRZENSCnY4QWJWNnZpWHpmRVZkK3VaNldu
UC8zcGJVOVUwVU5WZnZDOFBlR052dG1IZFQzYnJkLzlNbk9VNHc5RW5NVEZiZko0M2lQcUVpY0EK
Y1NJZFRiQWlzWW1FSnY3RmlYUzMzVmgzMHJaam4vb25HYkVQRWJjYjRzcDFYSm1PSWVvKzMvMk0v
WW1lZFdLSW5sZDIyMjIzd1IySQppQmwxanZxUFc2NWQrY2IveGkwM3JvN1JGajZlMFlrbWNOMFFm
NFRqajMzODRHUU1jVWNrZm5Rc2JDSTVpTGJsL2ZjanBzZlY3QmllCjhwU250SGRQNG5tYmJvaGZR
WStybzMzSGJsNzMycDhYdit3Y2JkR2o2Y3lrOTZ0YlAxNm4yZllzdHYxOTdCOXpzYTMrUGs4NkJt
UDUKYUFJVno5bEVNNnhvYnRNTjQvWnZtdjNwNHNUcnVIcUUvNmpqclI5ajNIaGNIYzhQNUM2UlhN
WWRrZWdwcWZ0Y1RDckhOc0kyanBubwppaldHU2V1VTg5dVZadmd2UHJmUjVER080NjZKWWJmNnRN
ZkV1TS9CT1B2NEhQZVBsOWh1V1k1cG80NlJtRmNPa1V6RjkxVFV2UnZLCjc3cHBQdHZ4SHZRL2Ur
RWM1ZTd6SERGajZIOG5kdHVMMS81K2pEdVdZOWxoZFM2L1QyTzUvdENmSDNmTUozMVg5ZGVOOGRJ
a3B2WGYKN3lqSG5iSGMrVWlLM3Y4aVVZMW1XLzBobHU4NzkvK1d4WEw5T3NiZmhMRkRQaGdNQkFn
UUlEQlBnZHpOYmR1alZQNmliYUpYbkRlLworYzFOdmlvNmlCWTlxdVNUbFNiLzZGaVRueU5vY25l
SVRiNmEzdVJtUFcxUFI3Rmc3bGEyeWJlNzJ4NVdjdE9PNXVTVFR4NnNYNDVFCmIxSFJrMVh1QXJU
SmZ5eWE2SVVwWDZsc0Y4dk5oTnA1dWZsUXMrKysremI1dHdXYWZBdTkyWHZ2dlpzUGZPQURUZTRh
dU1rUHVUZjUKNUdzUWR0UzJvNGV0L01lazdiVXB0d2x1OGtQaVRmUUlFL1hNWFhhMjYrY3IyRzJk
YzVPT0puZlZPKy85RE1QOEVHaVRtMjAwbi9uTQpaNXJjYlczYjYxUDBDcFM3YUcxN1lzbDNSMXEv
WWNzTmR1YkdrVkh4cG5rdjR2Mko5eXIva0dTVEh5QnY4b2x5azArb0JwdkkzWXMyCitabWR0bWVx
Vjd6aUZXMHZNcmx6Z2JiSHFxaHZibC9mMXZkZDczcFhrMDlnbW85ODVDTk5iajdWdnVkNzdybG5r
MCs0bTl6TmNEdDkKRUxRM0VqM3Q1Sk83Smo5ODNoeDk5TkhOUzE3eWtyYUh0RzZSVWU5WE43Ly9P
bTdiczlpT08rYktmWTdlMitMNEhIWU1oa2MzeFBHVgpUM0M2NHVCMTNQNk4yNTlCZ0J0SHhuMFc0
bk00elhGVXhpekw4Zm1LNDZNLzVPUy8vVXpFNXkyR1NlVlk1b1FUVG1oeWtobWo3VEJwCm5YSit0
OTRzcjNFY3gvSFZIMlk1SnNaOURzYlo1K2FoY3o0alpYbWFZNlJmNStqSktWK0FhVDl6dWV2cUps
OFFhRDlidzc3cnhuMjIKNHpzdTMyVnJjdWNiVFU2d20rajlMVDlzM2NhTnoyVHV1S0RKVGRiYWNu
eU9jNExacjBiYmcxbjUyUjkxTEErcmN3VHJmNS9tTzJKego0ZytiUDI1L3lwWGpzMU9hbE85MzJP
Y0g3ZHQ5akw5bnVTbGM2eEhmeHpGdm11L1BTZnZRcjlkS1VSaWJvWmhKZ0FBQkF0VUY0dXBaCjlH
WVZiZjY3NXptR2JUU3Vra2J2VjNHWEpLNUVkVzNSKzh2R1ZhbnV5bFZjdmVzL1ZOMWZyaHVmZHR2
ZDh2M1h1Sm9jVnl1bkhZWnQKSzY0b3hoWGw2SjBvNmhxL29USnNXT2psaG0wanBzV2Z4ZmhkZ0to
VDlJNVREckVQY1dVMGpLZnhqV1hqYW1BNHhSMnBhTG96YVlqbQpMN0g4c0dOaG1PR29lTk51ZTV6
dE5NZGN1ZjFKeDJEYy9ZZ21SM0hIcXh6RzdkKzArOVBGSEZhUGNmdmFyVGZ0YS95bVNUN1JiSCtQ
CnAxc25tdDMxUDVlVHluSEhMeWNES1g0WnZSc21yVlBPNzlhYjVUV2ZWSTc5eGZCSlRwTStCOFBz
WjZuZnVHTmtsamo5WlNkOXR2dkwKTHNUNHVHTjVXUHhKMzZmbC9JWGVuemdPNHpkUDRuc3FPakNK
NytUbzBTdGZ4SnI2T2NXeWpzUDJNNlpKUUViSm1FNkFBSUhsVUtBNwpHY3gzV3BiRDJxblNZaFJZ
eUdNdVRtcmk0ZFpvb2hJbk50TzJGMTllWGZOdmc3UVBjOGZ6UzlNa2x1Vit4QStENXQrRnFmYWdi
N205CkZhRzgySTZSRmNFODZoZ0pYM3dtbzBmRi9oQWRnc1NGbUh3SHZEOTVxY2M5QTdMVWhBSVFJ
RUJnMlFqRUZjbnV1WU5sczBWYitWY1gKV01oakxqZExTOUhGY0p6TXhJT3VLM3J5RWNkRy9rRytG
RW5FLy96UC84eDhxTVJ2L2NSdkt1eFUvTUw2eklFVzBRcUw4UmhaVWQ2ZQozTnkxN1VFeG5wZUoz
eC9LVGM5Uy9pSFk5aTd2UWljZlllSU95SXB5WktnbkFRTC84Z0s1WGZuZzRkYjg2OWdwLzRMeHY3
d0pnTG9DCkMzbk01VitRYmgvK2ppWkgwYXVWZ1VBcDRCZ3BSWlp0T1hwMWk4UTRtb0RHRCtiV1NE
eTZQWktBZEJKZUNSQWdRSUFBQVFJRUNCQ28KTHFBSlZuVmlHeUJBZ0FBQkFnUUlFQ0JBb0JPUWdI
UVNYZ2tRSUVDQUFBRUNCQWdRcUM0Z0FhbE9iQU1FQ0JBZ1FJQUFBUUlFQ0hRQwpFcEJPd2lzQkFn
UUlFQ0JBZ0FBQkF0VUZKQ0RWaVcyQUFBRUNCQWdRSUVDQUFJRk9RQUxTU1hnbFFJQUFBUUlFQ0JB
Z1FLQzZnQVNrCk9yRU5FQ0JBZ0FBQkFnUUlFQ0RRQ1VoQU9nbXZCQWdRSUVDQUFBRUNCQWhVRjVD
QVZDZTJBUUlFQ0JBZ1FJQUFBUUlFT2dFSlNDZmgKbFFBQkFnUUlFQ0JBZ0FDQjZnSVNrT3JFTmtD
QUFBRUNCQWdRSUVDQVFDY2dBZWtrdkJJZ1FJQUFBUUlFQ0JBZ1VGMUFBbEtkMkFZSQpFQ0JBZ0FB
QkFnUUlFT2dFSkNDZGhGY0NCQWdRSUVDQUFBRUNCS29MU0VDcUU5c0FBUUlFQ0JBZ1FJQUFBUUtk
Z0FTa2svQktnQUFCCkFnUUlFQ0JBZ0VCMUFRbElkV0liSUVDQUFBRUNCQWdRSUVDZ0U1Q0FkQkpl
Q1JBZ1FJQUFBUUlFQ0JDb0xpQUJxVTVzQXdRSUVDQkEKZ0FBQkFnUnVHb0dycjc1NnBnMWZkZFZW
TXkwL240VWxJUE5Sc3c0QkFnUUlFQ0JBZ0FDQjVWemdyTFBPU3FlZWV1cE10Ynpvb292UwppU2Vl
T05NNnN5NHNBWmxWelBJRUNCQWdRSUFBQVFJRWxuT0JrMDQ2S1VVQ3NzY2VlNlIvL3ZPZjZhaWpq
a3FubjM3Nm9OWXZldEdMCjBpbW5uRElvdi9HTmIwenZldGU3MGxaYmJaVzIzWGJiZE5CQkJ3M214
VWdrTWhHakcwNDQ0WVIwMkdHSGRjVjB4aGxucFAzMjJ5OWQKZi8zMWcybWpSaVFnbzJSTUowQ0FB
QUVDQkFnUUlMQUNDbHh5eVNYcG1HT09TZnZ2djM5Yis1VldXaWtkZXVpaDZaeHp6aG5zemZ2Zgov
LzcwNHgvL2VGQSsrZVNUMHplKzhZMjJ2TVVXVzdTSlJQL3V5UWMvK01IMHVjOTlickQ4MTcvKzlm
U3BUMzFxVVA3UmozNlVJaW1KCmJVMGFKQ0NUaE13blFJQUFBUUlFQ0JBZ3NBSUpISExJSVduMzNY
Y2YxSGlWVlZaSmQ3akRIZEtsbDE3YVRvczdJdkZzeUsxdWRhdkIKTXIvNXpXL1NKcHRzTWlqdnRk
ZGU2Y0FERHh6YzBialRuZTZVSXJIcGhpdXZ2REp0c01FR1hUSDk5cmUvVGJITXlpdFBUaThtTHpF
SQphNFFBQVFJRUNCQWdRSUFBZ2VWZElKcGZiYlBOTm5PcTJVOGdMcjc0NHRRMFRicnRiVy9iTG5Q
ZGRkZWwzLzN1ZDJtenpUWWJyQk5OCnNjNDk5OXgwOXRsbnQ5TmkvUzZCaVFtUmNIVHJSL25Ydi83
MW5QVmoycWhCQWpKS3huUUNCQWdRSUVDQUFBRUNLNWpBWlpkZGxxNjQKNG9xMDBVWWJ6YW41eGh0
dlBFZ2dQdkdKVDZTYjNleG1hZWVkZDI2WCtkblBmcFp1dU9HR2RKZTczR1d3em1xcnJaYldXMis5
ZE41NQo1N1hUSWdINSs5Ly9udjc2MTcrMnljYjN2Ly85OUxqSFBXNndmRFR2NnE4L21ERmtSQUl5
Qk1Va0FnUUlFQ0JBZ0FBQkFpdWl3SVVYClh0aFdlLzMxMTU5VC9VZ2dZbDQ4U0I0UG1NZS9XOXpp
RnUweVJ4OTlkUHZnK1lNZTlLQTU2Nnl6empycC9QUFBiNmZGK2pFY2UreXgKNmRHUGZuVGFmdnZ0
MHhPZitNUjIyaWMvK2NsMHdRVVhwQmU4NEFWdGVkSi9xMDVhd0h3Q0JBZ1FJRUNBQUFFQ0JGWU1n
UTAzM0xDdAo2TFhYWGp1bndwRkFSREx4cFM5OXFYMVkvS2xQZldvNy81dmYvR2I2K01jL25yN3do
UzhzOFFCNU5NMWFlKzIxMitYaURrb014eDEzClhOcDc3NzNUcTE3MXFyVEdHbXVrZUJZa25qblpa
NTk5MGwzdmV0ZDJtVW4vdVFNeVNjaDhBZ1FJRUNCQWdBQUJBaXVJd0thYmJwclcKWEhQTnRobFd2
OHJkSFl6b3lTcVNqK2d1Tis2R1BQemhEMjhmTnQ5bGwxMzZpN2ZqOGN4SDkyRDZ1dXV1bStKZkpC
dUhIMzU0MjRRcgp1dDdkZXV1dFU5eHQ2WGZSdTBTZ1lvSTdJQVdJSWdFQ0JBZ1FJRUNBQUlFVlZT
QjZvWXFrSUo3ZDJISEhIUWU3MFNVZ1QzLzYwOXNICnpuLys4NStuMVZkZlBjWHpJUDFuT2JvVkxy
Lzg4aFIzUUxiYmJydHVVdHZMVmZ4V3lJYy8vT0VVejQxRWduTEFBUWUwWGY2dXV1cjAKYVlVN0lB
TlNJd1FJRUNCQWdBQUJBZ1JXZklINHpZL1RUanR0em81RUU2cTExbG9yL2ZTblAyMGZMbzg3R2Yv
M2YvODNOUG1JRmVOSApDbmZkZGRjNVBWdEZMMW5SVzlaVlYxMlZudktVcDZRenp6d3p2ZWxOYjBx
ekpCOFJlNlhjQlZjVEl3WUNCQWdRSUVDQUFBRUNCQmFICndHTWYrOWoyZ2ZIdTJZMVo5MnEzM1ha
TDhYQjZkTWU3MElNN0lBc3RLaDRCQWdRSUVDQkFnQUNCbTFqZytPT1BieE9JYTY2NVp1YWEKSEh6
d3dXM1RxaHJKUjFUR0haQ1ozeElyRUNCQWdBQUJBZ1FJRUZqK0JlSUhCMDgvL2ZTMDc3NzdUbDNa
YUZZVno0YnNzTU1PVTY4ego2NElTa0ZuRkxFK0FBQUVDQkFnUUlFQ0F3THdGTk1HYU41MFZDUkFn
UUlBQUFRSUVDQkNZVlVBQ01xdVk1UWtRSUVDQUFBRUNCQWdRCm1MZUFCR1RlZEZZa1FJQUFBUUlF
Q0JBZ3NQd0tYSDMxMVROWExycllyVDFJUUdvTGkwK0FBQUVDQkFnUUlFQmdHUXVjZGRaWjZkUlQK
VDAwUGU5akQwa29yclRUVnY1Lzg1Q2Zwb29zdVNpZWVlT0tjMnM0YVk4N0tRd3JULzJUaGtKVk5J
a0NBQUFFQ0JBZ1FJRUJnK1JJNAo2YVNUVXZTQXRmLysrNmZqampzdTNmM3VkMC83N2JmZnlFckdy
NmJITDV6SEVGM3ZycmJhYXVtZ2d3NUtSeDU1NUdDZFdXSU1WaG94CklnRVpBV015QVFJRUNCQWdR
SUFBZ1JWTjRKSkxMa25ISEhOTU92dnNzd2RWMzN6enpkTkxYdktTUWJrY09lT01Nd1lKU016Yllv
c3QKMHZYWFg5L2VRWWtmTkl4aDFoanRTaVArMHdSckJJekpCQWdRSUVDQUFBRUNCRlkwZ1VNT09T
VHR2dnZ1UzEzdHZmYmFLeDE0NElGdApJckxVd1lvQUVwQUNSSkVBQVFJRUNCQWdRSURBaWlvUXph
KzIyV2FicGE1K05NVTY5OXh6NTl4SldlcWdOd2FRZ0N5VXBEZ0VDQkFnClFJQUFBUUlFYmtLQnl5
NjdMRjF4eFJWcG80MDJXdXBheEhNZzY2MjNYb3JuUXhaNmtJQXN0S2g0QkFnUUlFQ0FBQUVDQkc0
Q2dRc3YKdkxEZDZ2cnJyNzhnVzE5bm5YWFMrZWVmdnlDeCtrRWtJSDBONHdRSUVDQkFnQUFCQWdS
V1VJRU5OOXl3cmZtMTExNjdJSHR3M1hYWApwYlhYWG50Qll2V0RTRUQ2R3NZSkVDQkFnQUFCQWdR
SXJLQUNtMjY2YVZwenpUWGJabGdMc1F1WFhucHAybVNUVFJZaTFKd1l1dUdkCnc2RkFnQUFCQWdR
SUVDQkFZTVVVV0hubGxkUFdXMi9kUHJleDQ0NDdEbmJpZ2dzdVNHOTcyOXNHNVhKa1dET3J5eSsv
UE1VZGtPMjIKMnk0ZGYvenhhVDR4eXUxMFpRbElKK0dWQUFFQ0JBZ1FJRUNBd0FvdWNPaWhoNllQ
ZmVoRGFaOTk5aG5zeVU5Lyt0UDAwcGUrZEZDZQpadVNVVTA1SnUrNjZhOXBzczgzYXhlY1RZOVIy
Vm1yeU1HcW02UVFJRUNCQWdBQUJBZ1FJckZnQzhlT0J4eDU3Yk5wNDQ0M25YZkhkCmR0c3RIWDMw
MGUwdm84ODd5SWdWUFFNeUFzWmtBZ1FJRUNCQWdBQUJBaXVpUURTWml1VGhtbXV1bVZmMUR6NzQ0
SFRBQVFkVVNUNmkKUXU2QXpPdHRzUklCQWdRSUVDQkFnQUNCNVZmZzRvc3ZUcWVmZm5yYWQ5OTla
NnJrbVdlZW1WWmZmZlcwd3c0N3pMVGVMQXRMUUdiUgpzaXdCQWdRSUVDQkFnQUFCQWtzbG9BbldV
dkZabVFBQkFnUUlFQ0JBZ0FDQldRUWtJTE5vV1pZQUFRSUVDQkFnUUlBQWdhVVNrSUFzCkZaK1ZD
UkFnUUlBQUFRSUVDQkNZUlVBQ01vdVdaUWtRSUVDQUFBRUNCQWdRV0NvQkNjaFM4Vm1aQUFFQ0JB
Z1FJRUNBd0lvcGNQWFYKVjQrcytDV1hYTkxPdStxcXEwWXVVODdvMWltbmwyVUpTQ21pVElBQUFR
SUVDQkFnUUdDUkM1eDExbG5wMUZOUEhicVhaNTk5ZHRwegp6ejNiZVJkZGRGRTY4Y1FUaHk3WG45
aGZwejk5MkxnRVpKaUthUVFJRUNCQWdBQUJBZ1FXcWNCSko1MlVJZ0haWTQ4OWh1N2hMMy81Cnkz
YitWNy82MWZiSENMZmRkdHQwMEVFSERWMjJtOWhmcDVzMjZsVUNNa3JHZEFJRUNCQWdRSUFBQVFL
TFRDQ2FTUjF6ekRGcC8vMzMKSDdsblcyNjVaYnJ1dXV2U3V1dXUyeTZ6eFJaYnBPdXZ2MzdrSFpO
WXFGeG5aUEE4UXdJeVRzYzhBZ1FJRUNCQWdBQUJBb3RJNEpCRApEa203Nzc3NzJEMWFlZVdWMjE5
RHY4OTk3ak5ZYnErOTlrb0hIbmhnbTRnTUp2WkdocTNUbXoxblZBSXloME9CQUFFQ0JBZ1FJRUNB
CndPSVZpT1pYMjJ5enpjdzd1TlZXVzZWenp6MDN4Yk1lU3p0SVFKWlcwUG9FQ0JBZ1FJQUFBUUlF
VmdDQnl5NjdMRjF4eFJWcG80MDIKbXJtMnE2MjJXbHB2dmZYU2VlZWROL082NVFvU2tGSkVtUUFC
QWdRSUVDQkFnTUFpRkxqd3dndmJ2VnAvL2ZYbnRYZnJyTE5PT3YvOAo4K2UxYm44bENVaGZ3emdC
QWdRSUVDQkFnQUNCUlNxdzRZWWJ0bnQyN2JYWER2YncyOS8rOW1CODBrZzhtTDcyMm11bldkWVpG
bE1DCk1rekZOQUlFQ0JBZ1FJQUFBUUtMVEdEVFRUZE5hNjY1WnRzTUszYnRoaHR1bUNtWnVQVFNT
OVBHRzI4ODB6ckRDQ1VndzFSTUkwQ0EKQUFFQ0JBZ1FJTERJQktLbnFxMjMzbnJ3SEVjOHovRzN2
LzF0cXIyOC9QTEwyNjU1TjloZ2c2blhHUlZZQWpKS3huUUNCQWdRSUVDQQpBQUVDaTB6ZzBFTVBU
YWVkZGxxN1YzRUhKTWJqdFQrY2NjWVo2WGEzdTExL1VqcmxsRlBTcnJ2dW1tNS8rOXRQdmM2Y0FM
MkNCS1NICllaUUFBUUlFQ0JBZ1FJREFZaFo0ekdNZWs2Njg4c3IwLy83Zi8ydC9QREI2eG5yVW94
NlZUajc1NUJTL1p2NmExN3dtdmZLVnIweEgKSFhYVUhJWlBmZXBUNmNnamo1eHBuVGtCZW9XVm1q
ejB5a1lKRUNCQWdBQUJBZ1FJRUZqRUFoZGZmSEU2NG9najBsdmYrdGIydHozMgozbnZ2ZE00NTU3
Ujd2UDMyMjdlL2xMN3p6anNQQkE0KytPRDBpRWM4SXUyMDAwN3R0Qi8vK01kcDBqcURsWWVNU0VD
R29KaEVnQUFCCkFnUUlFQ0JBWURFTFJCSnkrdW1ucDMzMzNiZmR6YmdUc3RaYWE2WG9hcmMvbkhu
bW1lMnZvdSt3d3c3OXlXUFhXV0xCWW9JRXBBQlIKSkVDQUFBRUNCQWdRSUVDZ25vQm5RT3JaaWt5
QUFBRUNCQWdRSUVDQVFDRWdBU2xBRkFrUUlFQ0FBQUVDQkFnUXFDY2dBYWxuS3pJQgpBZ1FJRUNC
QWdBQUJBb1dBQktRQVVTUkFnQUFCQWdRSUVDQkFvSjZBQktTZXJjZ0VDQkFnUUlBQUFRSUVDQlFD
RXBBQ1JKRUFBUUlFCkNCQWdRSUFBZ1hvQ0VwQjZ0aUlUSUVDQUFBRUNCQWdRSUZBSVNFQUtFRVVD
QkFnUUlFQ0FBQUVDQk9vSlNFRHEyWXBNZ0FBQkFnUUkKRUNCQWdFQWhJQUVwUUJRSkVDQkFnQUFC
QWdRSUVLZ25JQUdwWnlzeUFRSUVDQkFnUUlBQUFRS0ZnQVNrQUZFa1FJQUFBUUlFQ0JBZwpRS0Nl
Z0FTa25xM0lCQWdRSUVDQUFBRUNCQWdVQWhLUUFrU1JBQUVDQkFnUUlFQ0FBSUY2QWhLUWVyWWlF
eUJBZ0FBQkFnUUlFQ0JRCkNFaEFDaEJGQWdRSUVDQkFnQUFCQWdUcUNVaEE2dG1LVElBQUFRSUVD
QkFnUUlCQUlTQUJLVUFVQ1JBZ1FJQUFBUUlFQ0JDb0p5QUIKcVdjck1nRUNCQWdRSUVDQUFBRUNo
WUFFcEFCUkpFQ0FBQUVDQkFnUUlFQ2dub0FFcEo2dHlBUUlFQ0JBZ0FBQkFnUUlGQUlTa0FKRQpr
UUFCQWdRSUVDQkFnQUNCZWdJU2tIcTJJaE1nUUlBQUFRSUVDQkFnVUFoSVFBb1FSUUlFQ0JBZ1FJ
QUFBUUlFNmdsSVFPclppa3lBCkFBRUNCQWdRSUVDQVFDRWdBU2xBRkFrUUlFQ0FBQUVDQkFnUXFD
Y2dBYWxuS3pJQkFnUUlFQ0JBZ0FBQkFvV0FCS1FBVVNSQWdBQUIKQWdRSUVDQkFvSjZBQktTZXJj
Z0VDQkFnUUlBQUFRSUVDQlFDRXBBQ1JKRUFBUUlFQ0JBZ1FJQUFnWG9DRXBCNnRpSVRJRUNBQUFF
QwpCQWdRSUZBSVNFQUtFRVVDQkFnUUlFQ0FBQUVDQk9vSlNFRHEyWXBNZ0FBQkFnUUlFQ0JBZ0VB
aElBRXBRQlFKRUNCQWdBQUJBZ1FJCkVLZ25JQUdwWnlzeUFRSUVDQkFnUUlBQUFRS0ZnQVNrQUZF
a1FJQUFBUUlFQ0JBZ1FLQ2VnQVNrbnEzSUJBZ1FJRUNBQUFFQ0JBZ1UKQWhLUUFrU1JBQUVDQkFn
UUlFQ0FBSUY2QWhLUWVyWWlFeUJBZ0FBQkFnUUlFQ0JRQ0VoQUNoQkZBZ1FJRUNCQWdBQUJBZ1Rx
Q1VoQQo2dG1LVElBQUFRSUVDQkFnUUlCQUlTQUJLVUFVQ1JBZ1FJQUFBUUlFQ0JDb0p5QUJxV2Ny
TWdFQ0JBZ1FJRUNBQUFFQ2hZQUVwQUJSCkpFQ0FBQUVDQkFnUUlFQ2dub0FFcEo2dHlBUUlFQ0JB
Z0FBQkFnUUlGQUlTa0FKRWtRQUJBZ1FJRUNCQWdBQ0JlZ0lTa0hxMkloTWcKUUlBQUFRSUVDQkFn
VUFoSVFBb1FSUUlFQ0JBZ1FJQUFBUUlFNmdsSVFPclppa3lBQUFFQ0JBZ1FJRUNBUUNFZ0FTbEFG
QWtRSUVDQQpBQUVDQkFnUXFDY2dBYWxuS3pJQkFnUUlFQ0JBZ0FBQkFvV0FCS1FBVVNSQWdBQUJB
Z1FJRUNCQW9KNkFCS1NlcmNnRUNCQWdRSUFBCkFRSUVDQlFDRXBBQ1JKRUFBUUlFQ0JBZ1FJQUFn
WG9DRXBCNnRpSVRJRUNBQUFFQ0JBZ1FJRkFJU0VBS0VFVUNCQWdRSUVDQUFBRUMKQk9vSlNFRHEy
WXBNZ0FBQkFnUUlFQ0JBZ0VBaElBRXBRQlFKRUNCQWdBQUJBZ1FJRUtnbklBR3BaeXN5QVFJRUNC
QWdRSUFBQVFLRgpnQVNrQUZFa1FJQUFBUUlFQ0JBZ1FLQ2VnQVNrbnEzSUJBZ1FJRUNBQUFFQ0JB
Z1VBaEtRQWtTUkFBRUNCQWdRSUVDQUFJRjZBaEtRCmVyWWlFeUJBZ0FBQkFnUUlFQ0JRQ0VoQUNo
QkZBZ1FJRUNCQWdBQUJBZ1RxQ1VoQTZ0bUtUSUFBQVFJRUNCQWdRSUJBSVNBQktVQVUKQ1JBZ1FJ
QUFBUUlFQ0JDb0p5QUJxV2NyTWdFQ0JBZ1FJRUNBQUFFQ2hZQUVwQUJSSkVDQUFBRUNCQWdRSUVD
Z25vQUVwSjZ0eUFRSQpFQ0JBZ0FBQkFnUUlGQUlTa0FKRWtRQUJBZ1FJRUNCQWdBQ0JlZ0lTa0hx
MkloTWdRSUFBQVFJRUNCQWdVQWhJUUFvUVJRSUVDQkFnClFJQUFBUUlFNmdsSVFPclppa3lBQUFF
Q0JBZ1FJRUNBUUNFZ0FTbEFGQWtRSUVDQUFBRUNCQWdRcUNjZ0FhbG5LeklCQWdRSUVDQkEKZ0FB
QkFvV0FCS1FBVVNSQWdBQUJBZ1FJRUNCQW9KNkFCS1NlcmNnRUNCQWdRSUFBQVFJRUNCUUNFcEFD
UkpFQUFRSUVDQkFnUUlBQQpnWG9DRXBCNnRpSVRJRUNBQUFFQ0JBZ1FJRkFJU0VBS0VFVUNCQWdR
SUVDQUFBRUNCT29KU0VEcTJZcE1nQUFCQWdRSUVDQkFnRUFoCklBRXBRQlFKRUNCQWdBQUJBZ1FJ
RUtnbklBR3BaeXN5QVFJRUNCQWdRSUFBQVFLRmdBU2tBRkVrUUlBQUFRSUVDQkFnUUtDZWdBU2sK
bnEzSUJBZ1FJRUNBQUFFQ0JBZ1VBaEtRQWtTUkFBRUNCQWdRSUVDQUFJRjZBaEtRZXJZaUV5QkFn
QUFCQWdRSUVDQlFDRWhBQ2hCRgpBZ1FJRUNCQWdBQUJBZ1RxQ1VoQTZ0bUtUSUFBQVFJRUNCQWdR
SUJBSVNBQktVQVVDUkFnUUlBQUFRSUVDQkNvSnlBQnFXY3JNZ0VDCkJBZ1FJRUNBQUFFQ2hZQUVw
QUJSSkVDQUFBRUNCQWdRSUVDZ25vQUVwSjZ0eUFRSUVDQkFnQUFCQWdRSUZBSVNrQUpFa1FBQkFn
UUkKRUNCQWdBQ0JlZ0lTa0hxMkloTWdRSUFBQVFJRUNCQWdVQWhJUUFvUVJRSUVDQkFnUUlBQUFR
SUU2Z2xJUU9yWmlreUFBQUVDQkFnUQpJRUNBUUNFZ0FTbEFGQWtRSUVDQUFBRUNCQWdRcUNjZ0Fh
bG5LeklCQWdRSUVDQkFnQUFCQW9XQUJLUUFVU1JBZ0FBQkFnUUlFQ0JBCm9KNkFCS1NlcmNnRUNC
QWdRSUFBQVFJRUNCUUNFcEFDUkpFQUFRSUVDQkFnUUlBQWdYb0NFcEI2dGlJVElFQ0FBQUVDQkFn
UUlGQUkKU0VBS0VFVUNCQWdRSUVDQUFBRUNCT29KU0VEcTJZcE1nQUFCQWdRSUVDQkFnRUFoSUFF
cFFCUUpFQ0JBZ0FBQkFnUUlFS2duSUFHcApaeXN5QVFJRUNCQWdRSUFBQVFLRmdBU2tBRkVrUUlB
QUFRSUVDQkFnUUtDZWdBU2tucTNJQkFnUUlFQ0FBQUVDQkFnVUFoS1FBa1NSCkFBRUNCQWdRSUVD
QUFJRjZBaEtRZXJZaUV5QkFnQUFCQWdRSUVDQlFDRWhBQ2hCRkFnUUlFQ0JBZ0FBQkFnVHFDVWhB
NnRtS1RJQUEKQVFJRUNCQWdRSUJBSVNBQktVQVVDUkFnUUlBQUFRSUVDQkNvSnlBQnFXY3JNZ0VD
QkFnUUlFQ0FBQUVDaFlBRXBBQlJKRUNBQUFFQwpCQWdRSUVDZ25vQUVwSjZ0eUFRSUVDQkFnQUFC
QWdRSUZBSVNrQUpFa1FBQkFnUUlFQ0JBZ0FDQmVnSVNrSHEySWhNZ1FJQUFBUUlFCkNCQWdVQWhJ
UUFvUVJRSUVDQkFnUUlBQUFRSUU2Z2xJUU9yWmlreUFBQUVDQkFnUUlFQ0FRQ0VnQVNsQUZBa1FJ
RUNBQUFFQ0JBZ1EKcUNjZ0FhbG5LeklCQWdRSUVDQkFnQUFCQW9XQUJLUUFVU1JBZ0FBQkFnUUlF
Q0JBb0o2QUJLU2VyY2dFQ0JBZ1FJQUFBUUlFQ0JRQwpFcEFDUkpFQUFRSUVDQkFnUUlBQWdYb0NF
cEI2dGlJVElFQ0FBQUVDQkFnUUlGQUlTRUFLRUVVQ0JBZ1FJRUNBQUFFQ0JPb0pTRURxCjJZcE1n
QUFCQWdRSUVDQkFnRUFoSUFFcFFCUUpFQ0JBZ0FBQkFnUUlFS2duSUFHcFp5c3lBUUlFQ0JBZ1FJ
QUFBUUtGZ0FTa0FGRWsKUUlBQUFRSUVDQkFnUUtDZWdBU2tucTNJQkFnUUlFQ0FBQUVDQkFnVUFo
S1FBa1NSQUFFQ0JBZ1FJRUNBQUlGNkFoS1FlcllpRXlCQQpnQUFCQWdRSUVDQlFDRWhBQ2hCRkFn
UUlFQ0JBZ0FBQkFnVHFDVWhBNnRtS1RJQUFBUUlFQ0JBZ1FJQkFJU0FCS1VBVUNSQWdRSUFBCkFR
SUVDQkNvSnlBQnFXY3JNZ0VDQkFnUUlFQ0FBQUVDaFlBRXBBQlJKRUNBQUFFQ0JBZ1FJRUNnbm9B
RXBKNnR5QVFJRUNCQWdBQUIKQWdRSUZBSVNrQUpFa1FBQkFnUUlFQ0JBZ0FDQmVnSVNrSHEySWhN
Z1FJQUFBUUlFQ0JBZ1VBaElRQW9RUlFJRUNCQWdRSUFBQVFJRQo2Z2xJUU9yWmlreUFBQUVDQkFn
UUlFQ0FRQ0VnQVNsQUZBa1FJRUNBQUFFQ0JBZ1FxQ2NnQWFsbkt6SUJBZ1FJRUNCQWdBQUJBb1dB
CkJLUUFVU1JBZ0FBQkFnUUlFQ0JBb0o2QUJLU2VyY2dFQ0JBZ1FJQUFBUUlFQ0JRQ0VwQUNSSkVB
QVFJRUNCQWdRSUFBZ1hvQ0VwQjYKdGlJVElFQ0FBQUVDQkFnUUlGQUlTRUFLRUVVQ0JBZ1FJRUNB
QUFFQ0JPb0pTRURxMllwTWdBQUJBZ1FJRUNCQWdFQWhJQUVwUUJRSgpFQ0JBZ0FBQkFnUUlFS2du
SUFHcFp5c3lBUUlFQ0JBZ1FJQUFBUUtGZ0FTa0FGRWtRSUFBQVFJRUNCQWdRS0NlZ0FTa25xM0lC
QWdRCklFQ0FBQUVDQkFnVUFoS1FBa1NSQUFFQ0JBZ1FJRUNBQUlGNkFoS1FlcllpRXlCQWdBQUJB
Z1FJRUNCUUNFaEFDaEJGQWdRSUVDQkEKZ0FBQkFnVHFDVWhBNnRtS1RJQUFBUUlFQ0JBZ1FJQkFJ
U0FCS1VBVUNSQWdRSUFBQVFJRUNCQ29KeUFCcVdjck1nRUNCQWdRSUVDQQpBQUVDaFlBRXBBQlJK
RUNBQUFFQ0JBZ1FJRUNnbm9BRXBKNnR5QVFJRUNCQWdBQUJBZ1FJRkFJU2tBSkVrUUFCQWdRSUVD
QkFnQUNCCmVnSVNrSHEySWhNZ1FJQUFBUUlFQ0JBZ1VBaElRQW9RUlFJRUNCQWdRSUFBQVFJRTZn
bElRT3JaMC9zdEZ3QUFGUzVKUkVGVWlreUEKQUFFQ0JBZ1FJRUNBUUNFZ0FTbEFGQWtRSUVDQUFB
RUNCQWdRcUNjZ0FhbG5LeklCQWdRSUVDQkFnQUFCQW9XQUJLUUFVU1JBZ0FBQgpBZ1FJRUNCQW9K
NkFCS1NlcmNnRUNCQWdRSUFBQVFJRUNCUUNFcEFDUkpFQUFRSUVDQkFnUUlBQWdYb0NFcEI2dGlJ
VElFQ0FBQUVDCkJBZ1FJRkFJU0VBS0VFVUNCQWdRSUVDQUFBRUNCT29KU0VEcTJZcE1nQUFCQWdR
SUVDQkFnRUFoSUFFcFFCUUpFQ0JBZ0FBQkFnUUkKRUtnbklBR3BaeXN5QVFJRUNCQWdRSUFBQVFL
RmdBU2tBRkVrUUlBQUFRSUVDQkFnUUtDZWdBU2tucTNJQkFnUUlFQ0FBQUVDQkFnVQpBaEtRQWtT
UkFBRUNCQWdRSUVDQUFJRjZBaEtRZXJZaUV5QkFnQUFCQWdRSUVDQlFDRWhBQ2hCRkFnUUlFQ0JB
Z0FBQkFnVHFDVWhBCjZ0bUtUSUFBQVFJRUNCQWdRSUJBSVNBQktVQVVDUkFnUUlBQUFRSUVDQkNv
SnlBQnFXY3JNZ0VDQkFnUUlFQ0FBQUVDaFlBRXBBQlIKSkVDQUFBRUNCQWdRSUVDZ25vQUVwSjZ0
eUFRSUVDQkFnQUFCQWdRSUZBSVNrQUpFa1FBQkFnUUlFQ0JBZ0FDQmVnSVNrSHEySWhNZwpRSUFB
QVFJRUNCQWdVQWhJUUFvUVJRSUVDQkFnUUlBQUFRSUU2Z2xJUU9yWmlreUFBQUVDQkFnUUlFQ0FR
Q0VnQVNsQUZBa1FJRUNBCkFBRUNCQWdRcUNjZ0FhbG5LeklCQWdRSUVDQkFnQUFCQW9XQUJLUUFV
U1JBZ0FBQkFnUUlFQ0JBb0o2QUJLU2VyY2dFQ0JBZ1FJQUEKQVFJRUNCUUNFcEFDUkpFQUFRSUVD
QkFnUUlBQWdYb0NFcEI2dGlJVElFQ0FBQUVDQkFnUUlGQUlTRUFLRUVVQ0JBZ1FJRUNBQUFFQwpC
T29KU0VEcTJZcE1nQUFCQWdRSUVDQkFnRUFoSUFFcFFCUUpFQ0JBZ0FBQkFnUUlFS2duSUFHcFp5
c3lBUUlFQ0JBZ1FJQUFBUUtGCmdBU2tBRkVrUUlBQUFRSUVDQkFnUUtDZWdBU2tucTNJQkFnUUlF
Q0FBQUVDQkFnVUFoS1FBa1NSQUFFQ0JBZ1FJRUNBQUlGNkFoS1EKZXJZaUV5QkFnQUFCQWdRSUVD
QlFDRWhBQ2hCRkFnUUlFQ0JBZ0FBQkFnVHFDVWhBNnRtS1RJQUFBUUlFQ0JBZ1FJQkFJU0FCS1VB
VQpDUkFnUUlBQUFRSUVDQkNvSnlBQnFXY3JNZ0VDQkFnUUlFQ0FBQUVDaFlBRXBBQlJKRUNBQUFF
Q0JBZ1FJRUNnbm9BRXBKNnR5QVFJCkVDQkFnQUFCQWdRSUZBSVNrQUpFa1FBQkFnUUlFQ0JBZ0FD
QmVnSVNrSHEySWhNZ1FJQUFBUUlFQ0JBZ1VBaElRQW9RUlFJRUNCQWcKUUlBQUFRSUU2Z2xJUU9y
WmlreUFBQUVDQkFnUUlFQ0FRQ0VnQVNsQUZBa1FJRUNBQUFFQ0JBZ1FxQ2NnQWFsbkt6SUJBZ1FJ
RUNCQQpnQUFCQW9XQUJLUUFVU1JBZ0FBQkFnUUlFQ0JBb0o2QUJLU2VyY2dFQ0JBZ1FJQUFBUUlF
Q0JRQ0VwQUNSSkVBQVFJRUNCQWdRSUFBCmdYb0NFcEI2dGlJVElFQ0FBQUVDQkFnUUlGQUlTRUFL
RUVVQ0JBZ1FJRUNBQUFFQ0JPb0pTRURxMllwTWdBQUJBZ1FJRUNCQWdFQWgKSUFFcFFCUUpFQ0JB
Z0FBQkFnUUlFS2duSUFHcFp5c3lBUUlFQ0JBZ1FJQUFBUUtGZ0FTa0FGRWtRSUFBQVFJRUNCQWdR
S0NlZ0FTawpucTNJQkFnUUlFQ0FBQUVDQkFnVUFoS1FBa1NSQUFFQ0JBZ1FJRUNBQUlGNkFoS1Fl
cllpRXlCQWdBQUJBZ1FJRUNCUUNFaEFDaEJGCkFnUUlFQ0JBZ0FBQkFnVHFDVWhBNnRtS1RJQUFB
UUlFQ0JBZ1FJQkFJU0FCS1VBVUNSQWdRSUFBQVFJRUNCQ29KeUFCcVdjck1nRUMKQkFnUUlFQ0FB
QUVDaFlBRXBBQlJKRUNBQUFFQ0JBZ1FJRUNnbm9BRXBKNnR5QVFJRUNCQWdBQUJBZ1FJRkFJU2tB
SkVrUUFCQWdRSQpFQ0JBZ0FDQmVnSVNrSHEySWhNZ1FJQUFBUUlFQ0JBZ1VBaElRQW9RUlFJRUNC
QWdRSUFBQVFJRTZnbElRT3JaaWt5QUFBRUNCQWdRCklFQ0FRQ0VnQVNsQUZBa1FJRUNBQUFFQ0JB
Z1FxQ2NnQWFsbkt6SUJBZ1FJRUNCQWdBQUJBb1dBQktRQVVTUkFnQUFCQWdRSUVDQkEKb0o2QUJL
U2VyY2dFQ0JBZ1FJQUFBUUlFQ0JRQ0VwQUNSSkVBQVFJRUNCQWdRSUFBZ1hvQ0VwQjZ0aUlUSUVD
QUFBRUNCQWdRSUZBSQpTRUFLRUVVQ0JBZ1FJRUNBQUFFQ0JPb0pTRURxMllwTWdBQUJBZ1FJRUNC
QWdFQWhJQUVwUUJRSkVDQkFnQUFCQWdRSUVLZ25JQUdwClp5c3lBUUlFQ0JBZ1FJQUFBUUtGZ0FT
a0FGRWtRSUFBQVFJRUNCQWdRS0NlZ0FTa25xM0lCQWdRSUVDQUFBRUNCQWdVQWhLUUFrU1IKQUFF
Q0JBZ1FJRUNBQUlGNkFoS1FlcllpRXlCQWdBQUJBZ1FJRUNCUUNFaEFDaEJGQWdRSUVDQkFnQUFC
QWdUcUNVaEE2dG1LVElBQQpBUUlFQ0JBZ1FJQkFJU0FCS1VBVUNSQWdRSUFBQVFJRUNCQ29KeUFC
cVdjck1nRUNCQWdRSUVDQUFBRUNoWUFFcEFCUkpFQ0FBQUVDCkJBZ1FJRUNnbm9BRXBKNnR5QVFJ
RUNCQWdBQUJBZ1FJRkFJU2tBSkVrUUFCQWdRSUVDQkFnQUNCZWdJU2tIcTJJaE1nUUlBQUFRSUUK
Q0JBZ1VBaElRQW9RUlFJRUNCQWdRSUFBQVFJRTZnbElRT3JaaWt5QUFBRUNCQWdRSUVDQVFDRWdB
U2xBRkFrUUlFQ0FBQUVDQkFnUQpxQ2NnQWFsbkt6SUJBZ1FJRUNCQWdBQUJBb1dBQktRQVVTUkFn
QUFCQWdRSUVDQkFvSjZBQktTZXJjZ0VDQkFnUUlBQUFRSUVDQlFDCkVwQUNSSkVBQVFJRUNCQWdR
SUFBZ1hvQ0VwQjZ0aUlUSUVDQUFBRUNCQWdRSUZBSVNFQUtFRVVDQkFnUUlFQ0FBQUVDQk9vSlNF
RHEKMllwTWdBQUJBZ1FJRUNCQWdFQWhJQUVwUUJRSkVDQkFnQUFCQWdRSUVLZ25JQUdwWnlzeUFR
SUVDQkFnUUlBQUFRS0ZnQVNrQUZFawpRSUFBQVFJRUNCQWdRS0NlZ0FTa25xM0lCQWdRSUVDQUFB
RUNCQWdVQWhLUUFrU1JBQUVDQkFnUUlFQ0FBSUY2QWhLUWVyWWlFeUJBCmdBQUJBZ1FJRUNCUUNF
aEFDaEJGQWdRSUVDQkFnQUFCQWdUcUNVaEE2dG1LVElBQUFRSUVDQkFnUUlCQUlTQUJLVUFVQ1JB
Z1FJQUEKQVFJRUNCQ29KeUFCcVdjck1nRUNCQWdRSUVDQUFBRUNoWUFFcEFCUkpFQ0FBQUVDQkFn
UUlFQ2dub0FFcEo2dHlBUUlFQ0JBZ0FBQgpBZ1FJRkFJU2tBSkVrUUFCQWdRSUVDQkFnQUNCZWdJ
U2tIcTJJaE1nUUlBQUFRSUVDQkFnVUFoSVFBb1FSUUlFQ0JBZ1FJQUFBUUlFCjZnbElRT3JaaWt5
QUFBRUNCQWdRSUVDQVFDRWdBU2xBRkFrUUlFQ0FBQUVDQkFnUXFDY2dBYWxuS3pJQkFnUUlFQ0JB
Z0FBQkFvV0EKQktRQVVTUkFnQUFCQWdRSUVDQkFvSjZBQktTZXJjZ0VDQkFnUUlBQUFRSUVDQlFD
RXBBQ1JKRUFBUUlFQ0JBZ1FJQUFnWG9DRXBCNgp0aUlUSUVDQUFBRUNCQWdRSUZBSVNFQUtFRVVD
QkFnUUlFQ0FBQUVDQk9vSlNFRHEyWXBNZ0FBQkFnUUlFQ0JBZ0VBaElBRXBRQlFKCkVDQkFnQUFC
QWdRSUVLZ25JQUdwWnlzeUFRSUVDQkFnUUlBQUFRS0ZnQVNrQUZFa1FJQUFBUUlFQ0JBZ1FLQ2Vn
QVNrbnEzSUJBZ1EKSUVDQUFBRUNCQWdVQWhLUUFrU1JBQUVDQkFnUUlFQ0FBSUY2QWhLUWVyWWlF
eUJBZ0FBQkFnUUlFQ0JRQ0VoQUNoQkZBZ1FJRUNCQQpnQUFCQWdUcUNVaEE2dG1LVElBQUFRSUVD
QkFnUUlCQUlTQUJLVUFVQ1JBZ1FJQUFBUUlFQ0JDb0p5QUJxV2NyTWdFQ0JBZ1FJRUNBCkFBRUNo
WUFFcEFCUkpFQ0FBQUVDQkFnUUlFQ2dub0FFcEo2dHlBUUlFQ0JBZ0FBQkFnUUlGQUlTa0FKRWtR
QUJBZ1FJRUNCQWdBQ0IKZWdJU2tIcTJJaE1nUUlBQUFRSUVDQkFnVUFoSVFBb1FSUUlFQ0JBZ1FJ
QUFBUUlFNmdsSVFPclppa3lBQUFFQ0JBZ1FJRUNBUUNFZwpBU2xBRkFrUUlFQ0FBQUVDQkFnUXFD
Y2dBYWxuS3pJQkFnUUlFQ0JBZ0FBQkFvV0FCS1FBVVNSQWdBQUJBZ1FJRUNCQW9KNkFCS1NlCnJj
Z0VDQkFnUUlBQUFRSUVDQlFDRXBBQ1JKRUFBUUlFQ0JBZ1FJQUFnWG9DRXBCNnRpSVRJRUNBQUFF
Q0JBZ1FJRkFJU0VBS0VFVUMKQkFnUUlFQ0FBQUVDQk9vSlNFRHEyWXBNZ0FBQkFnUUlFQ0JBZ0VB
aElBRXBRQlFKRUNCQWdBQUJBZ1FJRUtnbklBR3BaeXN5QVFJRQpDQkFnUUlBQUFRS0ZnQVNrQUZF
a1FJQUFBUUlFQ0JBZ1FLQ2VnQVNrbnEzSUJBZ1FJRUNBQUFFQ0JBZ1VBaEtRQWtTUkFBRUNCQWdR
CklFQ0FBSUY2QWhLUWVyWWlFeUJBZ0FBQkFnUUlFQ0JRQ0VoQUNoQkZBZ1FJRUNCQWdBQUJBZ1Rx
Q1VoQTZ0bUtUSUFBQVFJRUNCQWcKUUlCQUlTQUJLVUFVQ1JBZ1FJQUFBUUlFQ0JDb0p5QUJxV2Ny
TWdFQ0JBZ1FJRUNBQUFFQ2hZQUVwQUJSSkVDQUFBRUNCQWdRSUVDZwpub0FFcEo2dHlBUUlFQ0JB
Z0FBQkFnUUlGQUlTa0FKRWtRQUJBZ1FJRUNCQWdBQ0JlZ0lTa0hxMkloTWdRSUFBQVFJRUNCQWdV
QWhJClFBb1FSUUlFQ0JBZ1FJQUFBUUlFNmdsSVFPclppa3lBQUFFQ0JBZ1FJRUNBUUNFZ0FTbEFG
QWtRSUVDQUFBRUNCQWdRcUNjZ0FhbG4KS3pJQkFnUUlFQ0JBZ0FBQkFvV0FCS1FBVVNSQWdBQUJB
Z1FJRUNCQW9KNkFCS1NlcmNnRUNCQWdRSUFBQVFJRUNCUUNFcEFDUkpFQQpBUUlFQ0JBZ1FJQUFn
WG9DRXBCNnRpSVRJRUNBQUFFQ0JBZ1FJRkFJU0VBS0VFVUNCQWdRSUVDQUFBRUNCT29KU0VEcTJZ
cE1nQUFCCkFnUUlFQ0JBZ0VBaElBRXBRQlFKRUNCQWdBQUJBZ1FJRUtnbklBR3BaeXN5QVFJRUNC
QWdRSUFBQVFLRmdBU2tBRkVrUUlBQUFRSUUKQ0JBZ1FLQ2VnQVNrbnEzSUJBZ1FJRUNBQUFFQ0JB
Z1VBaEtRQWtTUkFBRUNCQWdRSUVDQUFJRjZBaEtRZXJZaUV5QkFnQUFCQWdRSQpFQ0JRQ0VoQUNo
QkZBZ1FJRUNCQWdBQUJBZ1RxQ1VoQTZ0bUtUSUFBQVFJRUNCQWdRSUJBSVNBQktVQVVDUkFnUUlB
QUFRSUVDQkNvCkp5QUJxV2NyTWdFQ0JBZ1FJRUNBQUFFQ2hZQUVwQUJSSkVDQUFBRUNCQWdRSUVD
Z25vQUVwSjZ0eUFRSUVDQkFnQUFCQWdRSUZBSVMKa0FKRWtRQUJBZ1FJRUNCQWdBQ0JlZ0lTa0hx
MkloTWdRSUFBQVFJRUNCQWdVQWhJUUFvUVJRSUVDQkFnUUlBQUFRSUU2Z2xJUU9yWgppa3lBQUFF
Q0JBZ1FJRUNBUUNFZ0FTbEFGQWtRSUVDQUFBRUNCQWdRcUNjZ0FhbG5LeklCQWdRSUVDQkFnQUFC
QW9XQUJLUUFVU1JBCmdBQUJBZ1FJRUNCQW9KNkFCS1NlcmNnRUNCQWdRSUFBQVFJRUNCUUNFcEFD
UkpFQUFRSUVDQkFnUUlBQWdYb0NFcEI2dGlJVElFQ0EKQUFFQ0JBZ1FJRkFJU0VBS0VFVUNCQWdR
SUVDQUFBRUNCT29KU0VEcTJZcE1nQUFCQWdRSUVDQkFnRUFoSUFFcFFCUUpFQ0JBZ0FBQgpBZ1FJ
RUtnbklBR3BaeXN5QVFJRUNCQWdRSUFBQVFLRmdBU2tBRkVrUUlBQUFRSUVDQkFnUUtDZWdBU2tu
cTNJQkFnUUlFQ0FBQUVDCkJBZ1VBaEtRQWtTUkFBRUNCQWdRSUVDQUFJRjZBaEtRZXJZaUV5QkFn
QUFCQWdRSUVDQlFDRWhBQ2hCRkFnUUlFQ0JBZ0FBQkFnVHEKQ1VoQTZ0bUtUSUFBQVFJRUNCQWdR
SUJBSVNBQktVQVVDUkFnUUlBQUFRSUVDQkNvSnlBQnFXY3JNZ0VDQkFnUUlFQ0FBQUVDaFlBRQpw
QUJSSkVDQUFBRUNCQWdRSUVDZ25vQUVwSjZ0eUFRSUVDQkFnQUFCQWdRSUZBSVNrQUpFa1FBQkFn
UUlFQ0JBZ0FDQmVnSVNrSHEyCkloTWdRSUFBQVFJRUNCQWdVQWhJUUFvUVJRSUVDQkFnUUlBQUFR
SUU2Z2xJUU9yWmlreUFBQUVDQkFnUUlFQ0FRQ0VnQVNsQUZBa1EKSUVDQUFBRUNCQWdRcUNjZ0Fh
bG5LeklCQWdRSUVDQkFnQUFCQW9XQUJLUUFVU1JBZ0FBQkFnUUlFQ0JBb0o2QUJLU2VyY2dFQ0JB
ZwpRSUFBQVFJRUNCUUNFcEFDUkpFQUFRSUVDQkFnUUlBQWdYb0NFcEI2dGlJVElFQ0FBQUVDQkFn
UUlGQUlTRUFLRUVVQ0JBZ1FJRUNBCkFBRUNCT29KU0VEcTJZcE1nQUFCQWdRSUVDQkFnRUFoSUFF
cFFCUUpFQ0JBZ0FBQkFnUUlFS2duSUFHcFp5c3lBUUlFQ0JBZ1FJQUEKQVFLRmdBU2tBRkVrUUlB
QUFRSUVDQkFnUUtDZWdBU2tucTNJQkFnUUlFQ0FBQUVDQkFnVUFoS1FBa1NSQUFFQ0JBZ1FJRUNB
QUlGNgpBaEtRZXJZaUV5QkFnQUFCQWdRSUVDQlFDRWhBQ2hCRkFnUUlFQ0JBZ0FBQkFnVHFDVWhB
NnRtS1RJQUFBUUlFQ0JBZ1FJQkFJU0FCCktVQVVDUkFnUUlBQUFRSUVDQkNvSnlBQnFXY3JNZ0VD
QkFnUUlFQ0FBQUVDaFlBRXBBQlJKRUNBQUFFQ0JBZ1FJRUNnbm9BRXBKNnQKeUFRSUVDQkFnQUFC
QWdRSUZBSVNrQUpFa1FBQkFnUUlFQ0JBZ0FDQmVnSVNrSHEySWhNZ1FJQUFBUUlFQ0JBZ1VBaElR
QW9RUlFJRQpDQkFnUUlBQUFRSUU2Z2xJUU9yWmlreUFBQUVDQkFnUUlFQ0FRQ0VnQVNsQUZBa1FJ
RUNBQUFFQ0JBZ1FxQ2NnQWFsbkt6SUJBZ1FJCkVDQkFnQUFCQW9XQUJLUUFVU1JBZ0FBQkFnUUlF
Q0JBb0o2QUJLU2VyY2dFQ0JBZ1FJQUFBUUlFQ0JRQ0VwQUNSSkVBQVFJRUNCQWcKUUlBQWdYb0NF
cEI2dGlJVElFQ0FBQUVDQkFnUUlGQUlTRUFLRUVVQ0JBZ1FJRUNBQUFFQ0JPb0pTRURxMllwTWdB
QUJBZ1FJRUNCQQpnRUFoSUFFcFFCUUpFQ0JBZ0FBQkFnUUlFS2duSUFHcFp5c3lBUUlFQ0JBZ1FJ
QUFBUUtGZ0FTa0FGRWtRSUFBQVFJRUNCQWdRS0NlCmdBU2tucTNJQkFnUUlFQ0FBQUVDQkFnVUFo
S1FBa1NSQUFFQ0JBZ1FJRUNBQUlGNkFoS1FlcllpRXlCQWdBQUJBZ1FJRUNCUUNFaEEKQ2hCRkFn
UUlFQ0JBZ0FBQkFnVHFDVWhBNnRtS1RJQUFBUUlFQ0JBZ1FJQkFJU0FCS1VBVUNSQWdRSUFBQVFJ
RUNCQ29KeUFCcVdjcgpNZ0VDQkFnUUlFQ0FBQUVDaFlBRXBBQlJKRUNBQUFFQ0JBZ1FJRUNnbm9B
RXBKNnR5QVFJRUNCQWdBQUJBZ1FJRkFJU2tBSkVrUUFCCkFnUUlFQ0JBZ0FDQmVnSVNrSHEySWhN
Z1FJQUFBUUlFQ0JBZ1VBaElRQW9RUlFJRUNCQWdRSUFBQVFJRTZnbElRT3JaaWt5QUFBRUMKQkFn
UUlFQ0FRQ0VnQVNsQUZBa1FJRUNBQUFFQ0JBZ1FxQ2NnQWFsbkt6SUJBZ1FJRUNCQWdBQUJBb1dB
QktRQVVTUkFnQUFCQWdRSQpFQ0JBb0o2QUJLU2VyY2dFQ0JBZ1FJQUFBUUlFQ0JRQ0VwQUNSSkVB
QVFJRUNCQWdRSUFBZ1hvQ0VwQjZ0aUlUSUVDQUFBRUNCQWdRCklGQUlTRUFLRUVVQ0JBZ1FJRUNB
QUFFQ0JPb0pTRURxMllwTWdBQUJBZ1FJRUNCQWdFQWhJQUVwUUJRSkVDQkFnQUFCQWdRSUVLZ24K
SUFHcFp5c3lBUUlFQ0JBZ1FJQUFBUUtGZ0FTa0FGRWtRSUFBQVFJRUNCQWdRS0NlZ0FTa25xM0lC
QWdRSUVDQUFBRUNCQWdVQWhLUQpBa1NSQUFFQ0JBZ1FJRUNBQUlGNkFoS1FlcllpRXlCQWdBQUJB
Z1FJRUNCUUNFaEFDaEJGQWdRSUVDQkFnQUFCQWdUcUNVaEE2dG1LClRJQUFBUUlFQ0JBZ1FJQkFJ
U0FCS1VBVUNSQWdRSUFBQVFJRUNCQ29KeUFCcVdjck1nRUNCQWdRSUVDQUFBRUNoWUFFcEFCUkpF
Q0EKQUFFQ0JBZ1FJRUNnbm9BRXBKNnR5QVFJRUNCQWdBQUJBZ1FJRkFJU2tBSkVrUUFCQWdRSUVD
QkFnQUNCZWdJU2tIcTJJaE1nUUlBQQpBUUlFQ0JBZ1VBaElRQW9RUlFJRUNCQWdRSUFBQVFJRTZn
bElRT3JaaWt5QUFBRUNCQWdRSUVDQVFDRWdBU2xBRkFrUUlFQ0FBQUVDCkJBZ1FxQ2NnQWFsbkt6
SUJBZ1FJRUNCQWdBQUJBb1dBQktRQVVTUkFnQUFCQWdRSUVDQkFvSjZBQktTZXJjZ0VDQkFnUUlB
QUFRSUUKQ0JRQ0VwQUNSSkVBQVFJRUNCQWdRSUFBZ1hvQ0VwQjZ0aUlUSUVDQUFBRUNCQWdRSUZB
SVNFQUtFRVVDQkFnUUlFQ0FBQUVDQk9vSgpTRURxMllwTWdBQUJBZ1FJRUNCQWdFQWhJQUVwUUJR
SkVDQkFnQUFCQWdRSUVLZ25JQUdwWnlzeUFRSUVDQkFnUUlBQUFRS0Z3UDhICnNwaGtqQzRRTmtV
QUFBQUFTVVZPUks1Q1lJST0KCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90
ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1uZXV0cmFsLWRpcmVjdGlvbmFsaXR5LXBhcmFncmFwaC1z
dGFydC1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQg
YXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVh
bQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFDN21sRFEx
QkpRME1nVUhKdlptbHNaUUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1Jk
UTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3WkM5S2hW
cEZLTjZyS0dLaEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54MUtpRVds
c2ZFSnEKL0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBv
SGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5eEZr
aWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBrS2E3ek82
cllxR2NUdllPa0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhqMGNHRFgw
K0dBVnR4cXAKK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1
K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3
VUVDR1BCb3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktDSnhsRU8x
Q0pMOFFmNHFyOGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAxZWZKWFVk
cE5YUjVhc2VYcTgKbXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFX
akUzMzU5c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZYeC9HZk54
R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4CjlTOWRQ
MXQ0dlVaL0RQVlJsQm5NMGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2Yk9ESW1i
cHRVM0h2RUtGbHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9kNkh1
Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGlaMHgxdUhL
RTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFnCkFF
bEVRVlI0QWV5ZENkeS9ROVgvUjVic1c0aXk1ckZrU2JTb2tFS1dQSllRa1gySkxFVW9LVXNlaWl4
WkVoV1JwWHFpaEpMMEZKV1EKYkg4VlBjcVdwVVZGaTZlOStaLzN5VnpOUGIrNVpxN3J1OXkvKy9k
ejV2VzY3KzgxMjVrem56bXp6NXlaeFl0eFpnd0JROEFRTUFRTQpBVVBBRURBRURBRkR3QkNZQkFT
ZU13bHBXQktHZ0NGZ0NCZ0Nob0FoWUFnWUFvYUFJV0FJS0FJMkFURkJNQVFNQVVQQUVEQUVEQUZE
CndCQXdCQXlCU1VQQUppQ1RCclVsWkFnWUFvYUFJV0FJR0FLR2dDRmdDQmdDTmdFeEdUQUVEQUZE
d0JBd0JBd0JROEFRTUFRTWdVbEQKd0NZZ2t3YTFKV1FJR0FLR2dDRmdDQmdDaG9BaFlBZ1lBallC
TVJrd0JBd0JROEFRTUFRTUFVUEFFREFFRElGSlE4QW1JSk1HdFNWawpDQmdDaG9BaFlBZ1lBb2FB
SVdBSUdBSTJBVEVaTUFRTUFVUEFFREFFREFGRHdCQXdCQXlCU1VQQUppQ1RCclVsWkFnWUFvYUFJ
V0FJCkdBS0dnQ0ZnQ0JnQ1k1MkEvT1kzdjNFLytjbFBabmlVLy9LWHY3aWJicnBweXVZanhmbVBm
L3lqZSt5eHg2WUx2Ly80eHovY2ozLzgKNDg1cHcrc2pqenpTR2o3TlcydkFGbzlmL2VwWDdwdmYv
S2I3N1c5LzY0YWwxWktFT1JjUTZDc1BCVkpUM3V2UlJ4K2RyanltN1ZScQpIN2Y4OTZYZk4veDBC
YmVTK0NCbFArNjJyOEx5UU42cFRBMUVaSUJJTTVPc0RKQjlpMklJekpRSVZDY2dWMTExbFZ0bm5Y
WGNMTFBNCjR0NzJ0cmUxZ3JELy92dHJtRlZXV2NWZGR0bGxHdTdvbzQ5MlcyKzlkV3Vjcmg1WFgz
MjFXMzMxMVpYK0JodHM0TGJiYmp2bDZVMXYKZXBPNzVaWmJ1cElaS056M3Z2Yzk5L0tYdjl4dHM4
MDJBOFdmakVneHpoLy8rTWZkODU3M3ZLWU1KaVA5a01iM3YvOTk5OUtYdnJRbwpKeUVzdjUvNXpH
ZmM4NS8vZkhmeHhSZkh6aE8rNDd4TjhPaGcrY1FuUHVFKzk3blB1Vzk5NjF0dTFWVlhkZTk3My90
R0lvOGRrcDRtCnlOZSs5alczN3JycnFneS81Q1V2VWI0SWRPdXR0N3BYdnZLVmJyYlpablB2ZXRl
NzNOMTMzNjF4di9LVnI3aVh2ZXhsR242dHRkWnkKZSsyMWx6dnd3QVBkUVFjZDVNNDY2eXozMEVN
UGFianc3L09mLzd4NzhZdGYzTlNSZmZiWngrMjk5OTV1cDUxMmNpdXR0SkxiYXF1dApRdEJKKysw
ckQ1UEcyQmdTdXZmZWU5MXFxNjAyQnNyZFNLYnRWR3FIeWpCMXFRc1hmZW4zRFYvaTRjdGYvcktq
bnRCUHZlcFZyM0xVCk53d0xFTzk1ejN2VS9UblBlWTc3ci8vNkwvZjczLysrUktxMzN5QmxQKzYy
cjNjbU9rVEl5VlNIYUNNSk1rcFpHUWxEUnNRUU1BU0cKUjhCM01ES2g4Tkt3K3pubm5OTS84Y1FU
MDhUNDNlOSs1MS80d2hkNjRjYWZlT0tKamYrdmYvMXJmOTk5OXpYMlAvLzV6MTVXb3h0NwpuNC9U
VHo5ZDZkOTg4ODBhN2U5Ly83dVhBWmFmWTQ0NS9IZSs4NTBxcVRUdDFGNGljTW9wcDNnWktKZUNq
TTJ2QzU4cHp2RDZrWTk4ClpHQ2V1cVRaUmx3R3lWNG1pVzNlUHFVdGcyWi93Z2tudElaUDg5WWFN
UEdRMVVVL3p6enplRm1CVjUvdmZ2ZTdmbEJhZ1hUS2UzRHYKK252NTVaZXJESjl4eGhsTkZObjk4
U3V2dkxMLyt0ZS8zcmlGRDVsQWFYaVpnQWNuclg4eTJmY3l5WnhHN2ovNHdROU9xQ01oMGxOUApQ
ZVYzMkdHSFlKM1UzNW84VENvelkwenNGNy80aFY5MjJXWEhtRUtkZE5wT3BmWmg1Yi9HUVVxL1Zs
L1M4RFg2TmY5UVgyUndQMDNRClJSWlp4TXZpMkRUdW8zQVl0T3pIMWZhTklrOXRORktaYWdzM3JI
c3FPNk9XbFdINXMvaUdnQ0V3UEFMVkhSQ21PQXN0dEpEYmZQUE4KblRRSzd0eHp6NTFtMW5QaGhS
ZTZONy81emVxKzRJSUxOdjZzeEsrd3dncHEvOXZmL3VaMjJXVVhKNU9GeHIvUFI2RExDaGRtMWxs
bgpkWWNlZXFqNzYxLy82aTY5OU5JaXFUVHQxRjZNTEo0eXlkRVZ0RnE0VWZ0MzVUUEdHUjVtbjMz
MmdmbnRtbWFhMTMvKzg1L3F4RW8rCks0MDVrNk5kNHpYTlc2QXJvaDgrczc4LytNRVBWRFlDTDY5
NXpXdDBaeWpJWXpaU3dUSEhleUY0MWl2SU1QVUp3L0ZFZGdndnVlUVMKdDlGR0cwMFRKNFJIMW9P
UmdaUTcrK3l6M1J2ZitFYU5JeFB5NE9WQytGQkhnc2RjYzgzbHpqenp6R0R0L0N1VC9NNWgwNEJk
NUNHTgpNeVBiMmNtVGllUjB6VUxhVHFYMnRycFVZN3BXMTBMOG1INlgraEtIRHpTRytRM3lIMzVq
V3JqbDNPTXdnMzYzbFgwTnQzRzFmWVBtCkk0Mlg0eitWcVJCbm1MWWlqWnVUblZITFN1RGJmZzBC
UTJENklaQWZLV2I0MlhERERmVVlGSU1mQnYzQjBFaHhUSXZqVUxINStjOS8KN2o3ODRRKzdWNy82
MWVvc094Z2E3a3RmK3BMYmJiZmQzRTkvK2xQZE1qL2dnQVBjRVVjYzRkN3lscmZvTVptd2RSN1Rh
dnVXM1JqMQpXbnp4eGZYM2w3LzhwUjVqV1gvOTlmWDRTamllbGFZTlgvQWNlSG42NmFkZFc5eTJ0
R1AzUC8zcFQzcTg1NlNUVG5LeTB1eGtsYWp4CjVwd3ZSMmVZTERIWWZNYzczdUVJajduKyt1czEz
NGNkZHBnNy8venozZkxMTDYrRG1BY2ZmRkQ5VTc1bEZkL3R1KysrN3YzdmY3K1QKWFFPMzZLS0x1
bXV1dVdZQ3pocFIvdjNmLy8yZmd5NmRJMGQ1T0NhQStlLy8vbThudTFWNmpBYzdSNVE0b3JQZmZ2
dGhkV21hTld4SQpoK04zeHg5L3ZOSzQ3YmJibEU3dVg0NDI0Umlzc3NXKzlOSkw2ekdXa1A5VWhn
Z0wvK2VjYzQ3bW1VbEZ6cHgzM25udTJHT1BkWFJzCnlCYzRwTFJ1di8xMnQvSEdHNnZNM1hERERR
NzdHbXVzNFQ3OTZVL25TR1p4S1pWdGxramt5QVFKV2Jub29vdTBmQ0t2VHAvSU1PZXgKcjdqaWlt
cjRkNy83M1c2eHhSYXJoZ3NCdnZHTmJ6aGsrYlRUVHRPampqLzg0US9WcXlhdkJPb2pEMTNvbFRE
KzRoZS9xSFdBdGtkMgplUndMSWRTSk43emhEZHErd0E5NVdHKzk5WFR4Qkh0c0JvbGZhaWRvZHpC
MzNISEhOUFdVbzNhbHVERmZiZkZMV01UeGM5K3AvSGZCCm5yS2s3ZUxZRW5XRk5ocTV5QzBpcGZU
YjZucmdMUTNmaFo4UWQxUy9iZVhSaG45YmVQZ0paYzkzbHphS2NKaFJ0MzNRYk9PejF1YjkKei8v
OGo5dHh4eDNkVVVjZHBYM3lFa3Nzb1cweTdtMW1tTGFpTFc0cU8vZmZmLzgwZlZ5cExuU1JKV1Q2
RmE5NFJWdTJ6TjBRTUFRbQpBd0daUUZTTk5FQmVHZ1V2ZzJROTRpRWRmUk5ISmd5ZW94OXlTVnY5
WklkRS9lVHNyWmRCcldmck94aU9LQkFXSXhNUUg3YktPU1lqCjl5ejgybXV2M1J5WkNYSENMMmtL
SGw0bUZlckVGcTBNTlB6Q0N5L3NaU1haeTJEVGI3YlpabDdPOXlvTkdhaDdHWXo0SjU5OFVzUEgK
YWVNUTIydHhaZlhZeXlSSDZlVCtiYnJwcGo0Y0RaTUJ1UElwamIwR2ZlMXJYK3Rsa0tuZk1uSHpj
dDdmLytkLy9xZmEyYnBmY2NVVgo5UWdPeDJ6a1hMK1h5WUNYOC90Tk1qR2ZwQ0dyNTE3dVdYaU84
NUJIOEVoeFhuTEpKYjNjZWZBeXlkSWpiOUI0MFl0ZTVHVmxTZWx5ClhDNCs5aVNEQ3k4N1dOazBh
OWpJenBpWFNZekdwUnhmOElJWGFMazB4SktQT0Q5NHlYMElMd04vajR5RjQwZ2NyY09rTWdUL3lF
a3cKaHh4eVNLdTh5SjBJTDdzZkllZzB0UEFnVFdUcXExLzlxcGVKbkpmQmFoTSs5NUh5WGlyYlhQ
eVFua3lLVkc1bEFKd0wxcmlSQi9pRAp0NXlSVlVFdjU5MGJyNDk5N0dNYVhpWnpLbk9mK3RTblBH
bkoyZmdtVE8xREpqVjZuREljbFpTSm5OOTIyMjAxV2hkNTdTTVBYZWpWCk1DWnZlKzY1WjVPdDE3
M3VkWDZQUGZabzdIS1h4bDl3d1FXTlBmM29FNzlXRjhMeDFGdzlsUVdBWXZzVTg1V0x6MUhXR2ha
cE94WGIKMDdyVUJYdTVhK1JsNFVSWmt3bXp5cFpNUUxTZGl2bmxPNldQVzFwZmNBc21EZCtGbnhD
MzdUZlVGK294N1dMOFI1c29DeFpOMUZKWgo1dkN2bFY4byt6NXQxRGphdmxLK3lIeG9nM0p0bml6
OGVGbW84TXN0dDV3ZTc1UzdjOW8yTDdYVVVnMXVzVXdOMDFhVTRwSllMRHVwCnJPQmZxZ3RkWkVr
V1VyM2NpNE9VR1VQQUVKaE9DSFRlQVdFeXhJVldWaGhab1FpR2xmdmM1WFRDY1hGYzhoV0M2bTg0
SHNMcXlwWmIKYnFsdXJGaXo2aVFEcU5iak80RUlxN212Zi8zckhSZDVPWTdDYXR4Ly9NZC9PQzdo
a2hiMmE2Kzkxa0dmSFpKdmYvdmJJZW8weDVJQwpMMTNpTmtTU0R6UXMzWG5ublU0bVQrckRiZ1BI
MUpaWlpobmw0OFliYjlTVlF6elpjcGZCa3VQQ3BIUnl1anZCcmdjNHlhUkU0M0RKCi9uLy85Mzhu
cEJMNDVISWx4enk0YkN5RFFrMkhkSE00NzdycnJtNkxMYlpRck9SZWpudmdnUWVjZEQ1S2x5TTVn
U1lPYzg4OTl3UTcKYnNHL2hJMTA4TG9EczhrbW14QkZ5NDZqUVRVVGFJZHc1SjBkTmhra0tMOUJp
MVlxUTZ4eTMzWFhYWm9tY2Jsb25jcFhvSm4rcHJUdwpKMDEySVk0ODhraTlDTS91Vk0wRTNwR3hV
dG1XNkxEaklnTUY5ODUzdmxOWEswdGhTMzdzL0xHVG1CcmtqS01TejMzdWMvVXY5Uy9aCmlZdkNC
WGFETUJ4OUNMdG43S2FWNUxXdlBOVG9kY0ZZSmh0NjRUZ2MrZUlvRzBvcndCZUR6SWZqb2VxUS9P
c1R2MVFYSUV0N2hNblYKVTlxSVd2dWtrVnZpc3dvOHFMeEJONVgvR3ZiRVFUa0U1WS9oZ2owME1M
UnRxVW5wQi85UVg0STkvS2JodS9BVDR0WitxVjljOG83LwovdkNIUDB5SVZpckxRY292bEgzZk5t
clViVjhwWHdCUWF2TmswTzlrc3FIOU1nb3paSkN2TytSb0tReHRRQXppTUcxRktXNUlJOGhPCktp
dTFkcUdMTExGcnp3a0lNNGFBSVREOUVPZzFBWkZMNkhyTWhrRWcyNXdjbFZsZ2dRV2FUaXJOQmcx
SWFFU0NYN0F6NkpWTHdxb2EKOWIzdmZhOGU0MEdMU2MxODZFTWZjbkpoVndmcGREQm8zY0l3b0tl
elpPREZINXE3Q01lRUlKaVFkbXJ2RWpmRVNYK1o0SEFVS0tiTgpNU2w0NGRnRmpTZU5iVEJvUE1J
d0lNRVFMNDQ3MzN6elRYTmNKUFpuOGdETjJLUTA4S05jZ3FGRHhmUlJpUnpTTEdGRFI4K0VLRDVi
ClBlKzg4MDdJVCtBaC9nMjBnMXRzNTM0RTIrdkJ4SG1qazJkd3pNU0tvMVYwbVBIOWlCQ243VGVt
RmNKd1hFNVdsMVZPdXRBS3ZIWXAKMjVCRytvdFdIbVFYVmNrY0grSW9WVi9EQUp2SlIwN3pFa2VR
bUZpeFlIRHFxYWZxUUtJcmZmSW5xNXg2cEluak5tZ1Fpd2R2S1lheAp2QTRpRHlWNlhURG15QWdM
RGVGWUVNZkZPRGJJOFE3dXJERXhvWjFwTTMzaWwrcENTait0cDMzaVFpdU4zd1dMbElmVW5tS2Qy
dU95CkpDNTIrQTZHQ1c5WWFBbHU4VzlLRHovYzJrd2FQclduL0xUUlNkMDVUaXFLSGliOHBXMW1y
VHhTL0d2aEF3OTkyNmdZbjFHMGZWMzQKTExWNThCTzNnN1R2OEJVV3IwSSsrU1hzb0cxRkxXNmdI
OUlqUEgrWUxuVWhEaytjUVdXSnVHWU1BVU5nUEFqTTFwY3NLd2NNVEVUTAprZzQrR1FnT1kxaDla
b0RPSFlJdWhzYVJpODZwRVMwWjZwNjd6SnVHVGUzRHhPVzhiVGdqbjlMbEREVzBHVkF6TU1ld1d3
SC9ESkltCnk3QmlTUVBNWDE5VHdnYmQ5L2luSm5RVXFmc283QXpjNVppWERpN1lOZVBPMFB6enp6
OHdhV1NQd1FsM0tsQjFHMCttU2tTSExWdVUKT25DUGg4azNPem5jQmVsam1EUXhjWWtuMkczeHlW
c2ZneXBuVnR2bENKZGpkNUlPdjRzWnRUeDB3WmlKUHF2SUtLS2c3RkNaamVJQgo3amFKZHI2cTJ1
VSs4VXQxb1liUE1IR2gzUVdMR2c5OS9lV0lvOXQ5OTkwZDk1WFlUV1BSS0w3cjBKZmVWQXJmdHp6
NmhCOTFHeFZ3CjYwSzNDNTk5Mnp6cVU2N1BoYTlCMjRwaDRrNlB1aERLd0g0TkFVTmdkQWgwMmdG
aEZURWNjV0FWak5WVmpoR3hMUnVPYW5SbEtSNmMKOGs0QUF4eFdaTUtLUFEzb0lHYTU1WmJUSFE5
V1BZUGh5QU9yc3NIRWFlTVc3RjNpQmhycEw0TjdkaFk0SWhFTTZiTER3ZW9SRDdHUgp6MkRrUEtz
ZUQrRVlWVmNUK093YVBnMzMrT09QNnlyMm1tdXUyWGlGOG13Y2tvK1FaZ2tiSmdLc1BqTVk3bU1D
N1Q1eENDdG5lMVd2ClA1TmZ0dUVaR0RIUUhNWnc0WktML1BERWQ4MEUza2RSdGtINUFrZGQra3dT
a0M4VUVYQ3hIT1VHTmNPQWc5MFd0RzNWekQzMzNLTzcKa2RSSjR2VXhnOHBEV3hwZE1XYVF6TnRE
bi96a0ovWHRFNDVWY1RtZlZkc3VBK2F1OFV0MW9TMFB3WDJZdU5Eb2lrVklieFMvSEtkawpja3hk
UTdrRXU5NTlUYWd2ZmVPTk8zemY4dWdhZmh4dEZGaDBwZHVGeno1dEhtMDdqd0RtVGljTTAxWjBp
ZHNtTzlPakxveGJIbzIrCklmQnNSS0RUQklSWHBCazRCM1B3d1FmcmVXWTY3bUNDdjF6NkRrNjZh
b2ZHSndaTUdGWW93NHV4Tkdyc25xQ2hadWVkZDFaL3dyVnAKSVdLZ2k0R1huSG5yVzkrcTUrazUv
Z1FQOEhQY2NjYzFhb0RqdFBHUDdheWdzcFBSRmhldFg2Z0d6QmttWXh4Tlk5RERoSXcvN3Fsdwps
cGF6NTl4cjRDaFlNSFRrTktCeWNWMmRvQjFQQmxqZFlkSVNUTXduZkhQMEptalJDbUdJRStPTWUw
eURleXBvNEFxVFJYWmhlRlNLCnRKbWNNSG1pUElLSjB5eGhROTVaR1l0Vk0zTi9nMGxrbkg2Z3ky
OU1tL3pBTzMvQmtJODRmM0hlNEJFTk14aTA4dkM0WHRoWkN2SEQKTDQrTmdXdE1PNlpGT0FaV3FP
VmxNc2l1SHRxMXd0RzRRQ2YralhsbnA2MVd0bkZjdm9NTWsrOWcyR1hnR0JXVGtWU2RkQWdYWTht
eApSMWFtV1FCZ1FzRmRwMkJDZU1vMU51eVVjQ3hGRkI2b00wZXFHSVN3ZzVRYTVCZmNHQ0NRTGtl
d21OUlROL2tyeWVzZzhsQ2kxNlgrCndMOG9uOUFWZW5aSFdjamdIaFc3WW1EVE5vaUo4OTAxZnEy
TmlXbW05YlJQWE9pazhidGdBWlp4TzVYYVUva3ZZUThQSC9qQUIxUm0KdUJ2RmNUNk9KWlZNU2or
dUwwRTI0L2hwK0JvL3lMRW9NV242a0pnVzM2SGR5S1dGRE1mdXRmSkk4YStGRDd6MGFhUElQMy9C
aktMdApxL0hacGMyTCt3SW1uZlRSNGVoZExGUER0QlcxdUtuc3hMTFN0UzZVK2xXT2JMS1FaY1lR
TUFTbUl3SXlxQ2dhR2VUb0EwN1NtWHNaCm9EVmhaZEtnbXFkd2tQUFdYbFlhbVdWNEhsZmk0VUla
NEhwUndhdHVQSW9ublllWDQxYjZvQ0ZhYStSc3V2cEpnK21sby9NeUlGS3QKRlB5bUJtMU9Na2pU
OEhJQjNVc2ptZ1pSTy96SlVRRk5RNDdWZUZrRmJjTEZhY3RrWXdJdjJOdmlrZzg1NXFKcG8yV0lm
S1NHZEVpUAovTXVPaUpmakswMFFHZVFwZmllZmZMSnFNeEpWbGw0YVgvVkh5NGcwdEtvNVNzN3Vl
cmxiNCtWQ3ZlYmh1dXV1MHpBeDM2VFA0M3FVCmhRekUxVCtIOHpISEhPTmxrcUdQUXNxZEdTK1hu
VlU3V0dDSzhwS2pKNm9aNi9EREQxY3RXbkk1c1hra01rNnpoQTMwWk5EczVXaVgKbHZ2MjIyL3Y1
WDZHYXB2QlBXZGkybWhWUTFNVkQ0VEp3TitERmZJamt4clY0SlhtalRCeUNkckx0cisvOHNvclBR
L3lvWFVtTldpLwprVTVUeTBOVThIcVpZRTBqajJodlE3TVptR05rd08xbEFLc2FZRWczWjJMZXdh
VlV0bWw4WkJZdFBNZ0laZk9GTDN4QmcveS8vL2YvClZDc2E3cVF2azNzdmszU1A5aVkwTk9HT3Ro
d1ozSHU1MTZRYXhpaFBOTC9GaGpvbkUxc05UMTJoZnZLSFZpcGtVd2JrVFgwRlIzQVgKTlpReENm
MldvNEdxWlUwbWRxcE5DajdrNkkzU2toMkZxcnoya1ljdTh0OFZZOG9aelhyQjBJN0U5dURlOXRz
MWZsczdFZE1GZzdTZQo0dDhsTHVIYTRwZXdTTnNwMnFDNDNjSWV0OGRkeWhKWlJQNkNiTXJsWHEx
enVUWXdyYXRwZTA5OWlVMGF2Z3MvMUZHWlVIcFpwSXBKCjZiZE15RldlNFZYdXZQblFmcEl1OVJa
MzRzcFJYOC9EdVppMjhtakR2eTI4RW52bW54ekg3ZFJHb2NWd0hHMWZLVjlvdHF1MWVXZ1oKUk1z
aTlZZCtHUTJKYUpYQ3BESW1FN3FCMjRwU081UEtEaHE3WXRuRnYxUVh1clFyTXFsV0xHU2lxWG16
ZjRhQUlURDVDTXhDa3RJNApUNXBoZFR4b0RCbEhvcXpRb0xXRG8xSHB1ZFUwN2RSZWlsdmpGUmpa
ZFVFRFIycnc0OEl3WjJuUkl0VFhwSHgyamMrMlBWaW5PQkNmCnZMTEN6YW9tcTZicGNaczB6Ukky
MEdGMWtiUllhV1JIcUdSUzJxV3dzUjhyV21DSXBobjRMVjB1anVPTjhqdmxmZGl5SFNWdmZXaHgK
UHdKdGRqSlp6VVpqTlRhc2VPZmtJeHZwR2NlKzhsQ2loVjhYakdWUU1rSGpWMnF2cFpHR1QrMXgv
RkpkaU1QbHZvZUpDNzB1V09UUwpIY1FOaFIvYmJiZWQxbWwyemFoM2FGbGl4N3JyWGJ1MHZnekNS
eHlIWFVUdWJJM0s5QzJQV3ZoeHRWRjk2ZGI0Yk1PUHR6SFFmc1hwCkFYWWR1bUE5VEZ0UmlsdVRu
V0hxQW5IcHEwSWIxNGFIdVJzQ2hzRDRFSmowQ2NqNHNtS1VEUUZEb0NzQ0hQMUNJMXRPaTFaWEdo
WnUKNWtYZ0U1LzRoRTQydUVjVEc1UStzSWlDNm5Nek14OENZUUtDOWp3emhvQWhZQWlNRTRGcDFV
bU5NeldqYlFnWUFsTUNBZFQvb2w3VApqQ0dRUTBDT3ZEanVmbkRlSGsxcnJGVExjU2JWT0dhVGp4
eGlNNzRidXl6aFR1Q01ueHZMZ1NGZ0NFeDFCR3dIWktxWGtQRm5DQmdDCmhzQjBRSUJqZXJ4enhG
Rk9IbisxaWNkMEtJUkpUQklGTUVGSnpJdGU5Q0xIR3psbURBRkR3QkFZRndJMkFSa1hza2JYRURB
RURBRkQKd0JBd0JBd0JROEFRTUFTbVFhQ1RHdDVwWXBtRElXQUlHQUtHZ0NGZ0NCZ0Nob0FoWUFn
WUFnTWdZQk9RQVVDektJYUFJV0FJR0FLRwpnQ0ZnQ0JnQ2hvQWhNQmdDTmdFWkREZUxaUWdZQW9h
QUlXQUlHQUtHZ0NGZ0NCZ0NBeUJnRTVBQlFMTW9ob0FoWUFnWUFvYUFJV0FJCkdBS0dnQ0V3R0FJ
MkFSa01ONHRsQ0JnQ2hvQWhZQWdZQW9hQUlXQUlHQUlESUdBVGtBRkFzeWlHZ0NGZ0NCZ0Nob0Fo
WUFnWUFvYUEKSVRBWUFqWUJHUXczaTJVSUdBS0dnQ0ZnQ0JnQ2hvQWhZQWdZQWdNZ1lCT1FBVUN6
S0lhQUlXQUlHQUtHZ0NGZ0NCZ0Nob0FoTUJnQwpOZ0VaRERlTFpRZ1lBb2FBSVdBSUdBS0dnQ0Zn
Q0JnQ0F5QmdFNUFCUUxNb2hvQWhZQWdZQW9hQUlXQUlHQUtHZ0NFd0dBSTJBUmtNCk40dGxDQmdD
aG9BaFlBZ1lBb2FBSVdBSUdBSURJR0FUa0FGQXN5aUdnQ0ZnQ0JnQ2hvQWhZQWdZQW9hQUlUQVlB
allCR1F3M2kyVUkKR0FLR2dDRmdDQmdDaG9BaFlBZ1lBZ01nWUJPUUFVQ3pLSWFBSVdBSUdBS0dn
Q0ZnQ0JnQ2hvQWhNQmdDTmdFWkREZUxaUWdZQW9hQQpJV0FJR0FLR2dDRmdDQmdDQXlCZ0U1QUJR
TE1vaG9BaFlBZ1lBb2FBSVdBSUdBS0dnQ0V3R0FJMkFSa01ONHRsQ0JnQ2hvQWhZQWdZCkFvYUFJ
V0FJR0FJRElERFNDY2dmLy9oSDk4Z2pqd3pBUmozS1AvN3hEL2ZqSC8rNENmaWIzL3pHL2VRblAy
bnM0L3lZekxUKzhwZS8KdUp0dXVxbkp6bVNtM1NRcUg3LzYxYS9jTjcvNVRmZmIzLzQyZHA2cHZs
T3MrMlJ1bkxMZWg0K3BISGFVR0VIcnNjY2VHMHQyUjEzSApSazF2MEV3L0crcndvTmlFZU1QSTZQ
LzkzLzhGTXBQeU8xWEtjeGpNdWdDVjl2VnBuTFRkSG1kOUcyZTdrK2JyVDMvNmszdm9vWWRTClo3
VS8vZlRUV2ZmVWNWUlkxTW9nVGJmTlh1Tm5tSFJxY1d0cHQvRThJN2luZGFBdnoyM1lUSFliVTUy
QS9PZC8vcWRiYUtHRjNLYWIKYnVxMjMzNTdOK3VzczdybGxsdk9iYmZkZG03ZGRkZFYrMFVYWGVR
Kzg1blB1T2MvLy9udTRvc3Y3b3RGTmZ6M3YvOTk5OUtYdnRTOQo3VzF2YThJZWZmVFJidXV0dDI3
czQveVlyTFMrOTczdnVaZS8vT1Z1bTIyMmFiSXpXV2szQ2NySEp6N3hDZmU1ejMzT2ZldGIzM0ty
CnJycXFROWhuTnBQRHVtc2V4eW5yWFhtWTZ1RkdpZEhIUC81eDk3em5QYzlkZHRsbFk4bjJxT3ZZ
cU9rTmt1bG5ReDBlQkpjNHpqQXkKZXNzdHQ3aXZmT1VyTWJteGZrK1Y4aHdHc3k0QTVmcjZPRjZ1
M1I1WGZSdDN1eFBuNjcvLys3L2RDMTd3QW5mYWFhZkZ6czMzd3c4Lwo3QWhUTTZQQW9sWUdOUjVp
L3hJL3c2VFRKVzRwN1pqSEdlMDdWd2Y2NWlHSHpYUnBZM3pGYkx6eHh2NkJCeDVvUXMwNTU1eCs5
OTEzCmIreW5ubnFxbDRxcTloZS8rTVgraEJOT2FQeEcrWEhnZ1FmNkRUYllvQ0g1NjEvLzJ0OTMz
MzJOZlpRZmYvN3puNzJzL2pja3g1bFcKazhnekg2ZWNjb3FYaVZ6am5LYWQ4dFlFSE5HSHJQajRl
ZWFaeDh2cWdsTDg3bmUvT3lMS295Y3pMQllwMW4wNEhLZXM5K0ZqV0F4RwptVmJLeXlneG9rNTg1
Q01mNmNOdTU3QnBIZXNjc1NYZ3FPbTFKTlBxUENQVjRkWk1USkxISURMNitjOS9mbXl5bU10MnJq
elR1cGFMCk55NjNRVERydzB2YTE2ZHgwM1o3blBWdG5PMU9tcTkxMWxuSEgzVFFRYWx6WTJlOGMr
U1JSemIyM01lb3NLaVZRUzd0bkZ1Tm4ySFMKcWNXdHBaM2pkNnE2cGZVOXJRTjkrVTZ4eWJVeGZX
a09FcjY2QS9LdWQ3MUxkenphWmxqNzdydXZycExqUC92c3M3dFpacG1sTGVoQQo3di84NXo4MTNt
eXp6ZWFlODV4L3M4dUs2QW9yckRBUXpWS2t2LzN0YjI2WFhYWngzL25PZDVwZzQwcnI3My8vZTVO
RytKaGpqamttCllCaW5uZU10eEJ2Vjd3OSs4QVAzMTcvK3RjSDZOYTk1VFN2cEhQK3RnVWZzMFJl
TEhLOHAxbjFZN0NycnVYUkw2ZlFKM3hlRFVycXAKWDhwSExhMmNmMWVNMHJSejlsSFFrZ1l5UjFw
M1YwYlpsc1IxTnB0Z2kyTWJmeTNCVzUzSFdZZExQS1l5MDhyZ014Nmw4S1YwMnVpVwo2QkVuUjdP
dlhQM2lGNzl3SjU1NG9qdjQ0SVBiMkJqS1BaZUh0RHhmOFlwWFROTkhEWlZvRkRtWGZ1U3RuMTB4
NjBJcnB0M1cxOGRoCitFN2I3VUhyVzBvM1orK2ExMXpja2xzT20rYys5N2tUK3Y0MFBtMFV4NDVL
TzI5dFdPUmtQNldQdldzWjVPTG0zTnI0R1NhZHJuSGIKMHM3eE9aWGRjbjFyV2dmNjhwOWlrN1l4
cFhGZjM3Uks0V2NyZWVLM3lTYWJGSVBJYXJtVG1Yc1RCdUZnZStmQ0N5OTA4ODgvdjd2Ngo2cXVi
Q2N3dmYvbExkOUpKSjduYmI3L2R5WXpMblgzMjJlNVZyM3BWRXpmKzRIenRZWWNkNWhaZmZISDMr
T09QdXgvOTZFZE9kbDgwCnlNOS8vbk05Nm5YRkZWZTRtMisrMmQxeHh4Mk83ZEpGRjEzVXpUWFhY
TzcwMDAvWFNyck1Nc3UwcHNkNXkrT1BQMTU1SkQ2Tk91a1IKOTZxcnJuSS8vZWxQM2YzMzM2OTUr
Y0lYdnVCQ1dqQUE3MGNjY1lTandTRE0wa3N2cmVtUTl2WFhYNis4TExua2trNVdpdHdIUC9oQgpu
Wmg5OWF0ZmJYRDR4amUrNFc2NzdUWnRiSzY4OGtvTnY5cHFxOFhaeitZejVXMzk5ZGQzc2dQbGxs
MTJXZjFkZWVXVkhZTEVVVFhTCmZmM3JYejhOelJMdjU1MTNucnY4OHNzZGplTUJCeHlnV01wTWV4
b2FYZm52Z2tXYlRMRGR6T1FYbkdWVlNJK0VIWFBNTVpxbmM4ODkKZDVweUlzOGNCVXhsNEE5LytF
TW5yS2ZKcERpMHlVZ0lXNUwxTm96YVpMWEVaeHNmcVR4ODdHTWZVOW5NMWJHMmRGLzV5bGVHN09o
dgpHOSs1dEtqN3dlVDg4U3RoMUZiMmdXYjZHOW9Fam5sU3Z5NjU1Qkt0WTRRcjBTTGV1OS85YnJm
WVlvdTVHMis4MFMyODhNSnV6VFhYCmREU3kvL0VmL3pHaExhbkpiTTAvYlp0cTRlRzl4Tjk2NjYx
SGtBbG1NdXZ3Ly96UC83anp6ejlmY2FJanBGMm44L3ZVcHo3bE50cG8KSStXclRXYmFaSzRrNnlV
c2tMZGNPOTlHcnd2dlpLQWtveE9BRjh0UlJ4MDE0WWdzL3FYeWFNT2dhNzNMdGNrY2RZNzdxSEhX
K3pULwp3VjdDcks4ODBQZTE5ZlVodmJiZlFlcGJxYTNJcGRQVzdyU1ZiV25jMFlaTm11NmRkOTZw
L2ZoclgvdGFuV3h5QkIyejQ0NDd1cDEzCjNsbVB4SE1jUGpZcEZ2alJqM0tQOC9lLy83MWpyQkhm
TDQzamhqem14bHVFSzJIVzFqL2wrQmttblZyY09EOXAybDNhNGJaOFFMZHYKSFdkY0pxZEhwaG1Q
bEdTakxmMjJ2alhrbDJPUmN2S284emd3eFNiWHh1VEdmU0c5a2Y3S3pMaVhTWTlneFpGZjhwS1gr
RFhXV01OTAp3Ky9sTXJxWEFiSGZlKys5TllnTWF2MW1tMjNtcFNMbzhSN1pPZkV5V1BSUFB2bGtU
S0w1M256enpiM2NRNXZoUGEwQUFDQUFTVVJCClZGQTd4NEhrZktSL3d4dmVvSGE1S09QMzIyOC92
OGdpaTZoZEppRmU3cWw0cWFSZUJ0QWUydmZlZTI4eFBiblQ0b21Ia2NrQVM2TmUKSmtacWx3Rzls
d0c4ZnFkcDRTaU5ncGZCcnZyTGJvR1h6c1RMWFJtMXl3cVpYM0hGRlRYdk12bnljcW5NcjdUU1Nu
NmZmZlpSZjdsUAo0Vi80d2hjMlI3eU9QZlpZdisyMjI2b2YvODQ4ODB3dmpZRGFjMm5IdkJFSVht
UWdvT0g1Qjg0eHZjYmptWThTN3dUaGVJSHNOS1hSCkdudU4veWFnZk5Td3FNa0VPTVZIK2pnTytP
WTN2N2xKSXNZaUp3TS8vT0VQTzJQZEVJMCtTakpTa3ZVU1JvUHdXZUlqeHFDRVp5N2QKOUFoamlX
OWdpZE9LWUdvK1UvOFNSaVZlRzRMUmgwdzR2TnhIOGpMdzBycERXaTk2MFl1OERJcFY1a3R0eTFs
bm5lVVBQZlJRcFNZVApkSzNyTWtuVHVwbldzWnJNMXZ6NzBvT3BFbjhSQk0zblpOYmhCeDk4ME12
RXpjdTlQeSs3d2w3dWhXa2J2OVJTU3lrL0pabkp5Vnl0ClRwYXc2RXV2eGpzWktNbG9BM2owc2NB
Q0MzamE5ZGlVeWlQSGM5OTZsMnVUNDdwV3FrdWpTRC9PSzk4bHpQcktBMWlVK3ZvMGJleWwKUHJK
V1AwdFk1ZElxdFRzNWJFdmpqaEkycE0wUjgzZTg0eDNLaGl5eStVOS8rdFBUc01SNFEzWmx2TndE
bU1ZdmJYdG9HK1ZPYVJQdQprRU1PYVk1V040N1BmSlRLb0laWlcvK1U4a05TdzZSVGlwdm1KMDI3
SmhmRWI4c0hmbjNyT0hWMlhHTlMrSW5yUU9DdjZ6Z3d4WWI0CnVUWUc5M0diNmc1STM5a09sOVkz
M0hCRGpjWUtQQ3Z5R01tZ2JvR0hvMDFMTExHRWUrS0pKOXkzdi8xdHQrV1dXMnFZOEk4TGZ0ZGMK
YzQydWNPTEcwYXMzdnZHTmpvdFlHRmE1VjE5OTllWlNLcnNvclA1TG8reGs4SzEvbi8zc1oxdlRt
M2ZlZVIwckRHdXZ2YmJTZTluTApYdVpZVldkMkdrdzRTcGFtZGUyMTErb3FLcXRyR0xabzk5eHpU
eWNUSXQyTmVmV3JYKzJXWDM1NVJ4cGdnWkdHUlhkdytDWThsOHhsCm9vWlZqMzlJbzZYZjZiODA3
ZUFmZU1NdWpZclNrODVXZDFoWTRaWEJXQWc2NGJjTDd4TWlaQ3g5K0dlbHJvUkZUU2JZVVlyek92
ZmMKYzArd3cxN3d6OG1BVko3T1dLZFpSUU5ZVFViYVpMMkVVVjgrdS9BUk1LamhtZGFSTk04bHZr
UFlrRmF3cDcrcGZ4dEdOVjVUdXRoMwozWFZYdDhVV1c2Z1h4MkRlOHBhM09PcWhMR0swMW5YYUZu
Wk1nc0lLVmx1cFY1aFEzK08ycENhek5mKzB6dGJDdzBlTlA4SUVNOWwxCm1EWlZKaHVxY0FTbEl4
Z1VWTEM3Uzd1RlRMVzFaMzFsSGRvbExDaXZWSVpMZGJ6R08zbkF0TW1vZWtiL3BPTjJ2L3ZkNzNR
bkxUaDMKS1krVTV4QTMvSGFwZHlGcy9CdnFXcTB1alNQOU5zeEtlY25KUTYydmovT2IrKzViMzJw
WTVkSm9hM2Rrd0RxTlBKYkdIYlJkYlhVbApUcGV4aUN5dXFxS2YySjF2OEVVcGtFemNYTHFMbG1M
eDFGTlB1YnZ1dWt2SFVveWZaQkUwZXd5eFZnWWx6RXBqS1k3NXhHM3JNT213CmUxMGFFNlk0cFZq
VTJ1RlNQenRvSFpjN2kyTVprNlo1eGQ1bkhKaGlrNk0zV1c3L3ZsUXhvaFJEb3dnNUtncGJWeGha
TGREQk50djMKL0hGczYrdGYvN3BqOEorYUcyNjRRU3YyZ2dzdTJIZ2g2REZ0dm1NN2cxV0FEYWFV
SHBNZWpsL0U4Ym5MUW9VSkp2YUwwN3IxMWxzMQpIUnFDWUVKRHdJQVZFNGZIUHQ5ODh6bTVSTVNu
K3NuczFkRTRjRlFHVFZNY0lXZ3pLYTFBSTRTblVXT0FnQVlEekplLy9HV2RnQVgvCitMY0w3M0g0
M0RmOERNTi9qRVdwakhKcDU5emdKNWhVQnZyeUd1ancyMWRHWWxtdnBkdUh6ejU4MVBCTTA0M3p5
M2VON3hBbWpSZmIKNC9KSXc4Y1kxWGlOYVladldYME9uODNSVFZSeDEyZ2hjNFFKaG1NR1lmRUJO
M2lPK1U3dHNjem13dGY4YS9ScS9BVysrWjFlZFRnKwo3c0dBbHJKazhrZmVTdTFCS25PMThEVXMr
dElqdlRiZUE2NkVDU2FXMGVBV2ZrVVppMzV5aEMrWUx1V1I4aHppaHQ4YUppRmMraHY0CnJzbi9P
TklQYWNOVGpGa3RMeWt2WGZyNk5OK3BuVFJqZmxKN1hEOXJXS1cwc2JlMU8vaWwrU25ScjJFRFBR
YlpIS2NwSFgwblAyMVAKRU1SNVp4TERoSWN4QWtlcWw1WEZoTGd1a0I2bVZnYWxQTlg2cDVpZllk
S3B4ZjFYVGliK2o5UEdKN1hIY2xIS3g2QjF2STlzbE5JUAp1WUwvTnRObkhBaU5GSXMydXVOMkgv
a09TQnZEY3V2ZWNaRThuQnR1QzRmN280OCs2Z2lmbWxJQnBHRkw2WEdlVVk0Q3BGRTYyVG1ICkNH
MG1Wa3lLTU16eXlWdFhYZDJjWTJhbmduUFVuTDlEd0FjMU5DaHZmL3ZiOVU3RUJ6N3dBYjIzRUUv
Y1lycWo0QjE2bytLL1ZFWXgKMzhOOEQ4cnJNREl5Q0VadGZQYmhZeFI0dHZFeFRCbms0ZzdMSzZ2
aGRDRDgxV2l4T2lTYSszUTNsbnRiN0tSeGYycXFtRDc4VFpVNgp6SzQwYlI2bXI4eVV3dmZCSXBS
ZmlWNElFLy9Hdk1mdXRlK3d3Q1ZIYVpxZ1U2RThhdkxmTUZ2NDZJdGhnVlF2ZVJoRlgxL2lKZlVi
CkZxdTQzVWxwWTYvUnIrSE1uUzhXSlZGeXdOMnJuT0V1Rm0xWUY4UDlBTlQ3bm5IR0dYcFg5bXRm
KzVyZWU0M2oxc3FnbEtjKy9kTXcKNmRUaXh2a1o1THVVajFIVjhWSGhtTXRmbjNGZ0x2NzBjaHY1
RGtoYlJwYVR0MFBZOFFnN0FZUmorNXlaYldxb01CelBZcHR4VUZOSwpqMGFFRlFRdWtBY0RMMkVI
QTdlMnlRNnJmMmlpUUE5MU1Hek55em5KNWtKc2NNLzkzblBQUFc3Ly9mZDNYUEtKZDFGeVlkdmNV
dDdrCm5vM3VxSWlLUHBlN3RCcm9ETXM3ZEViQmYrQ25WRVloREpjZFN5YkZJZzQ3REs5ZFpDUk9L
Lzd1bTI0cGZCYytBZ1pkOEl6NVRMOUwKZklTd0lhMWdUMzlyL2lIOHNMeWltSUtkUXk2VDEyaUY0
d2RzcGFQOGdRdUpVOG4wNFc4cTFHSGFaUjZ5V211dHRYcTNCelVaNjRNRgpaVmlqbDVaenpIdnFW
N01qWnloQzRSaFdNTk96UEVKZHE4bC80TFh0dHkrR2JYUnc3MHRyRkgxOWlaL1ViMWlzNG5ZbnBZ
MjlSTDhMCk5peW9jQXhSN244NGxOL2tESU5sZGpOcVJ1NDk2SVBDSEFXaTdlTTRQTWNuVTFNcmcx
S2V1dlJQSWIxaDBxbkZEV2tNK2x2S3h5anEKT0h3TmkyT283MjE1N0RvT2JJcy9QZHg3VFVBWURL
S2l0ZTExYkdhSy9BWERyWDcrTUc5OTYxdFZrd0pIblRpenphRDl1T09PeTZyUwozV0dISFhSMWpi
T1F3ZkFLT2pOSUJ2OFkwb0UyRXdjTUU0Q1FGdlpTZXRDbkk5bGpqejMwSERObm1kR1N3MUVtRERz
SXpMZ3g4QnFuCkpaZWdWUU1QazZsZ0dOUWdwSndKeFlCUlBIQW1mdUNidFBDak1jS04xUTRtWmVT
RFArS3l3aEZNbkRadUtXKzRzZFhLZVhpT1liRVYKMTJhNjhJNjJEUGdqM1p5cDhaL0dLV0ZSS2lQ
b3NMUEVvenZRb09GbndzakFKNWdVaTFRR2FyeW1XQWU2L05aa0JIeGlqR0pacjZYYgpoMDhlLyt3
cXE1ekxwbk5xcTJOcHVuRisrYTd4bmVLZHhrLzlTeGpWeWo2bGpUM1VJYjQ1czh1OUR1NVMxV2l4
TXlpS0laeGM4SFE3CjdiU1RIcHVBUmpEd0diY2xKWmtsVHMyL0w3MGFmNEZQZnFkSEhTYmR1TjR4
Z1dPaGcyTnNOWmxKWmE0V3ZvWkZYM29sM3ZFcnlTaisKc1dIblJDNWdUMWdZNjFJZUtjOHhUYjVy
bU9UYTVMaXVqYnZlcC95V01LdmxKY1dpUzErZnBwKzIyMzNxVzYydFNOUEMzdGJ1NEpmbQpwMFMv
Q3phTUFUZ2VqdmJIdmZiYXl6SHVpUTMxa1BFQldqdHpKc2FDc09IeFFsSGc0cmJhYXF2bTFFWWN0
MVlHcFR4MTZTZEQyenBzCk91eTRsc2FFY1o3NGpySEFYbXEzUy9rWXRJNzNrWTFTK3ZBZTEzZkdw
R2tkSUV6WGNTQmhVMnh5YlF6aHhtNUU0RHNadEplZ1hVb1kKOG1nQzRRRkNXUWxxNHFKOVNocG92
OG9xcTNqWlNmQ2lvczd6WUpFSWpXcXVJZUE1NTV6ajVRaUVsNW1jYXNBUzFiWk4vUFRqMGtzdgo5
Yklhb0RSa0VPWmxZTzJsWW5yYzBRQWhsNzJWRng0blExc0VqK2ZKeFhZdkZhNGhWVXFQdEdWTFhX
bkk3TmZMa2FnbUhvLzl3S05jCkx2ZWlQbmRDV21peUlHL2s4K1NUVC9aeVp0UEw0RisxYmtFQUxU
RWlMS3ExUzg1T2Vya0U1a1hWcCtiN3V1dXU4M0pNUzdWMXlmRXQKTHhNZ0x6cTl2V3luZWxHdHB6
ekluUmpsU1ZRcnFqM09KMm5Idk1sZ3MrR1pkR1Z3MWRqYlBrcTh5eVV4THdNTFRWL1VJbm9aOEU5
RApwc1EvL01XbWhnVmhTMlVrS2d1OTNNdFJiVWVISDM2NGFqNFRCUWVOQnJFWUMvQktaYURFSytV
ZFk1M3lEbTl0TWxLVDlWSzZPVmt0CmhZZXZOajdnTWNZQWVXakRrM3FUNGtQODJOVDRTTk9LNC9J
ZCs4dnhnWkcyQjZLQzJjdUUxTXZsYy8raEQzM0l2L09kNzFTTmVvR0gKdG56akw4Y1pWS1pwdTJT
cldoLzZsRjFJRDdacFc0SUd2MUw5cmNsMFgzbzEva0wrNHQvSnJNT2tpeVlkTkF5S0Nsb3ZFd1NQ
TmpxMAp5bUJLTWpPSXJKZktLaWZEcGZRcDN4THZ0WHFzR1V6KzBWN1Qzc2VtVkI0NW51TzRmSmZ5
Z09heFhKc2MxN1Z4MS91WTN4cG1wYnprCjVBSGFZTlRXMThkcDgwMzlpdHR0MnZHNGo2elZYMmlV
MmdyOFkxTnFkOXJLdG8xK0NSczVLdVVaRTRqU0ZpK3Fjclh2WlZ6QW1PYWoKSC8xb3c5S0ZGMTdv
WmVHbHNjY2ZhZHZET0F4NmN1ekxpd3BlVDV1SFpxeWNxWlZCVzU2ZzFkWS9wZnhRSDRkSnB4WTN6
bGVhZGhlNQphTXNIZFB2VzhiNnlRUnFsOU9QNnpwZzByZ1BnR2t5WGNXQ0tUVnNiRTJpTzg1ZFY5
MGsxZ0NWdmJMUldoSmdabVVGNk9ZcWxUaktMCmpyMDZmNWZTazVYK3BpTk5DWVowVS9kZ0o2NXM1
MnRlZ2x1Zlg1bUJOc0ZsTnR0OGQvbkk4VVlqSStjN3UwVDN3L0pPSXNQd256SloKS2lQOFFsbzVu
SEpZcFBSRGZOeHpOTkx3c2Iwa0kzRzQzSGZmZEV2aFMzeWtHSlR3elBHWnVwWDRTTk5LNDliODAv
QjllUlVkNXExdApSeHN0VkdwVFYrKysrMjR2dXRsMTByL2JicnQ1MmNWTTJaa3U5a0g0bTh3NnpD
QmUzdVR4Y3UvTm84SXhaMG95MHlmOElGaEF2eTM5Ckxyem4rQ3U1eVRFeEx4b1pKd1NaelBJSUNh
ZDFyVTMrUS9qYWJ4dUd0WGc1Lzc2MFJ0SFg1L2hvYyt1TFZhbmR5YVZSb3Q4WG01aSsKYVBYejhp
WmE3TlQ2TFRzMzZpY3I1bHAzV3dNKzQxRXJnMUtlU3YxVG11NHc2ZFRpcG1uMXRaZnlNWW82RGor
RDRwalc5MXplK293RApjL0VuMjIwV0VoejdOb3NsTURZRU9BZlB4VnEyU1ZHWFZ6c25PRFpHakxB
aE1BVVI0RmdpOVFLTlRiSGhNaVlxb25tSWNIcWFxYzRmCjJIRGNRL1RnNjJPbjQ4UnFIRmlNZy9m
SEhudE1IN0hsYkQzSEk4MFlBcE9Cd1B2Zi8zNG5iNkZOS1FVYWs1RnZTNk9Pd0l3NkRwdzAKTFZo
MUNDMUVYd1I0QWZmQUF3OTA4bUNmYXN5d3lVZGZCQzM4ekk2QUhNL1F1eCtjNDVWdGE3M3J3VDBa
enMxUDc4a0gyRTkxL21UVgpyN2wvTlc1WkdUVVc0K0tkOXBiQklHOCtjSS9RakNFd2JnUlEwMHFi
eFZzcVpneUJHSUVaZVJ4b095QnhTYzVnM3lnRDRKSVpsOHZRCkVtSEdFREFFcGtVQXJVVjA0R2lG
NFhIVXFURHhpTG1jeXZ6SnVmMUdJWWU4UE85MjNISEhtUFdSZjQ4U2k4bm1mZVJnR0VGRHdCQXcK
QkNvSXpNampRSnVBVkFyWHZBMEJROEFRTUFRTUFVUEFFREFFREFGRFlIUUk5RkxETzdwa2paSWhZ
QWdZQW9hQUlXQUlHQUtHZ0NGZwpDRHdiRVJob0FzSXI0STg4OHNoSThlSmRFSFQ3czUyRS9tb2VD
alF6ZmdSRUk0TVR0WDhESlRRT09SaUlrUkZIR3JYOHphdzRqUmgyCjF4ZW52dUZId1M5dkFzUzYr
VWN0S3lVZUp6T3R0RjJZekxSTEdJemJieXJuYzNySSs3anhIZ2Y5WVhHeU9qNk9VakdhS1FKcEc1
djYKOTdHM3RWdnh1THBHYjloNlU2T2Y4Kzg5QVJGOTFlNzV6MysrdnRhWkl6aUlHOXBQZUtGVGRC
aTdWVmRkMWIzdmZlL1RSOFlHb1dWeAp1aU1nK3FDZHFLbDAyMnl6VGZkSXo0UWNoeHowWm1KTUVZ
NCsrdWlSeWQvTWpOTW80ZStMVTkvd28rRDErOS8vdnBQM01OemIzdmEyCmh0d29aYVVoMnZJeFdX
bmwyb1hKU3JzbDY1UG1QRlh6T1Qza2ZkSkFIMkZDdytKa2RYenJFWmJHdjBtaGlWRGVoVk10blJ0
c3NJSGIKWjU5OUhDOTNvNzF6cFpWV2NwdHR0dG0vQXo4THZuSnQ3RERaenJWYjZiaWFDVStiR2Ji
ZXROR3R1bmZSK3lzdmRUZVB2eEdlQndaUApPT0dFTGxHcllXVFdwUStrQlozVjZPbVhGODlWYjM4
MWNpWkF5bXNteUV6bE5HeCtUem5sRkgyWWJSQlFSaWtIZzZRZjRneUxRYUFUCmZvZVJQMmlrL0V3
Vm5FTCtwdXB2WDV6NmhoOUZ2a1hybkpjT3RDRTFyS3cwaERJZnFSeU5NNjAwK2JSZFNOTk9lVXZq
ejZqMlVlWnoKV0l6UytOTkQzbWZFY2h3V0o2dmoveXIxVlA2R2xRWGUrSkVCcWVlQjV0aklxUmN2
aW5SaXAyZkZkOXJHRHBQcHROM0tqYXRUK21uNQpEbHR2VXZwZDdOVWRFSGs1MCsyeXl5NU9Ya3Rz
SmpPenp6Nzd5TjZiK01FUGZxRFB5c3NyNmtwZlhqdDM4dnExVzJHRkZacjBTaCtTCnljWTd4MnZq
T1JOKzlNMnZQT0l6RFFwenpESEh3R1haVlE1eTZVN0RTT1RRSjN4ZkRLSmtXai83eUY5S0pNZFBW
NXhTV2pWN0xQdHAKMkQ0WUVyY1V2cFJPbW02d2wrZ1JKa2V6TDA1ZHc1ZDR5ZkVSOGhEL290SVZN
OXRzczduUVZtRWZSbGFJMzJaeWNqU3V0SEw0cE8xQwpuSGFPdDdaOGpNSzlWa1kxL3hJUGFkeFI1
WE5ZakhMeHU4cDdLYjg1dnhTRE9FeE9ObUwvOUxzVXZwUk9TaWZZUy9RSWs2TTVLRTVXCngvODk3
c3JKWHlpVFFYOFhYSEJCalpvK0Z6RFBQUE00ZVVCdlVMSmppVmVUdTc2SjV1UTBiV1A3MG96RHgr
MFc3cmx4ZFJ3K1Y3NkQKMXB1WWJ0L3Y2anNncDU5K3VydnFxcXVjdkY3dTdyLy9mb2ZPWVF5VmxX
MmZDeSs4ME0wLy8venU2cXV2ZHNzdHQ1ejZvV2YvcEpOTwpjcmZmZnJ1ZTZ6Nzc3TE96K3F2UE8r
ODhkL25sbCt2ZzU0QUREbkJ6elRXWE8vVFFRL1Y0bHp4TDcyU203TzY0NHc0VnprVVhYVlQ5CjRl
Y3JYL21LZS9EQkIvVyt5TzkvLzN0MzVaVlg2ajJHSEs4SWR6RFhYMys5MGxweXlTVjFPMUJtNUE3
UTVXbjdobmZPd1IxeHhCSDYKdUIvNVhYcnBwVFV2OE5ZbGZrZ3IvSGFKMDRZWEtuYmxCV0xsNTZD
RER0Smphc2NjYzR5cUVqMzMzSE5kbWwrT2hseDAwVVV1eFlwSAphbTY3N1RhZGFJQVZsWDIxMVZZ
TExCWi81UVY2ZlhTTE1xWXNlTmpyc01NT2ErS1U1T0FiMy9oR050MjJNaTN4MmNaSGlnSHlTUm5t
CjVLOHQzVmUrOHBWTmZ1VEYyd255MTZYOG1zanlrZU1IL3hKT2JlVWYwK1dieC9UT1AvOThWU05M
QTBMZG94SDcxS2MrNVRiYWFDTU4KUGtyTTVjVmU5KzUzdjlzdHR0aGk3c1liYjNRTEw3eXdXM1BO
TlIyTEJLSFQ2Q3ByWFhnbkF5V2NOSVBKdjFMNE5pd2dRZDNpdmxuYwpmaVNrMVFvR3lQdmlpeSt1
NzJISUs4VE40M09wckxUSjF6TExMSk9WUnhMb0t0ZTB0Vi80d2hkY2FCZUpPMnhiVmNJSCtzR2sr
VXhsCmZQMzExOWRIQ3BkZGRsbjlYWG5sbGJVRHBEMmlqVVgxY1dwS3ZOZGtwZVpQV2lYNitPZkt2
NWJQVXRzQ3pkaWtHQkdYUVVoYjN4TEgKNVRzWEgvZVN2RnM3OHE4MnNJWVQvckd4T3U1Y1RmWUhx
ZU14eG0zZm9VNmNkdHBwR3FSVWI5dmExN2ovaGtoYlBXQTgrdDczdnRmeAprQ2hqMHZubW04L3R1
ZWVlT3NiYWJiZmROUDIyTnBIeEwwZWFtSmpRbnRFZXp6cnJyTzZzczg1eTg4NDdyL3ZBQno3ZzVQ
U09ZNXgyCjVKRkhkdXFyTmNIb1h4dmZVWkRzWjFwMnVYRzE3TFpNaUR2TzltVkNRaldMQ0VEVlNN
ZmkyVDRMNWlVdmVZbGZZNDAxdkhRRVhpNmoKZStsd3ZKem5VMjhwSUMvbitieDA3SjVqVmZ2dXU2
K1hRWXAvOHNrblEvUUp2M0kyME11S1l1TW1sMmI4ZnZ2dDV4ZFpaQkYxWTd0dQpvWVVXOG5MMjJz
dGtSZW5kYzg4OVh1NHVOSEVPT2VRUVRRdUhsTmNta0h6SU93Qit4UlZYVkg1bHd1UWZldWdoTCtj
UHZaeEhiSUxKCmk3OWVCdkZxLyt0Zi8rcEZ1TDA4QUtUMkx2RWJRczk4MU9MVThKSkhyeVljZDl0
NDQ0MjlQS3JXSkJQbk40ZlZEMy80UXc4TnVlQ3YKY1k0OTlsaS83YmJiTnZIUFBQTk1MNE9yeHA1
K2JMcnBwczJXcVV4aWRBdFZLcklHSzhtQm5EZHNUWGNRUGt0OHhCaVU4TXlsZTk5OQo5MDNJY2lw
L3RmS2JFUGtaUzh3UFRpV2NTdnltdEdYUzdXVXk0R1dpNzJWSDBzdWRLYTJIU3kyMWxBWWROZWJT
dUhwWkVGRGFzcUtpClpTOFRPNjAzT1N4THNsYmpuVVJLT0NrVHliOVMrQklXTW5scmJUK1NKUHpt
bTIvdTVYNmFPdE9leVhzN1hsNGpWbnNxS3psTTdyMzMKM21KNzJGV3UwN1JnWUppMnFvUVB0T04y
SVpkMkt1UHdJcE5nb3FwQnJ1TjJKcmlIM3hMdk5WbXArWk5HaVg1YitkZnkyYWV1d2tNTwpvN2Er
aGZDcFNlT1g1TDBQYnpYOFNyS1JrL0ZTdlNkUFU3MGRzVHJ1ZlUzMktjZStkWnc0c1pGSnVQWWhN
bmpYTVpZTTZMMjhLelJoClBGT3F0em5aUy92dldqMWd6Q3BqWWkrTHp2NmFhNjd4TXZGcFdDekp2
VXhBdkN5K2FkL0xPRlFtcmNxM3ZDbWxZMk9PUU1uaXNKZmQKSGMrUnNsb2RJOUc0amEzeDNUQ1or
Y2lWWFRxdXprU2JwbjBhVmZ1U1M2dk5yYm9ERWlZdzZiWVpyM0p1dU9HRzZzMk1rQzBmREplTgpK
TEhteU5ZU1N5emhubmppQ1gwSWJNc3R0OVF3cFgrc3FLNisrdXJ1c3NzdTAyQzgvTW1LbWpUR1Rq
bzAvWlBDZG5mZGRaY1RBWEp2CmZPTWI5VUlUYVFhVDhocmN1VHkvL1BMTDY0d1YvakZjaUdKVkUz
UHR0ZGZxU2k4cmJCaDJSNWdoeTRSSWQyTjRxYmNVWHlNbC8ycHAKMXZCaTV5WE96OXh6enozQlRu
TEJQNGNWdUhESlhDYU15aGxiZFRJb1Nyak1XOUZLZHVlZGQ3cTExMTViQS9DU05Ec3ZyT2dHMHlZ
SApZTmVXYmw4K3UvQVJNS2pobWNwU3lFZjRUZVd2Vm40aFh2b2IrQW51YlRqVitBM3grYVVPeUdU
RHJidnV1dnFIRzhvYjVPeW1saWw1Ckd4WG0wTDc0NG91YnkvanNtSUVOaHZMbkw4V3lKR3MxM3Nr
RHBnMG45Y3o4YXd0ZmtyK25ubnFxMkg2RVpHNjU1Ulp0WXk2NTVCSjEKNHVnVjdjM0REeitzOWxS
V2NuTE5hOWx0N1NFclo3WDZGZVFvVFd2WXRxcUVUOGgvK0UzVER1NkJOK3l5Q0tTeUp4MnY3aWF6
WTlaMgpzYlFMN3lVNVIxWksvcFFQNmJlMTR4enZ6ZlVmdFh6MnFhc3BSbDN5SE9MRXZ6SEd1TGZK
ZXgvZWFuWHgyZFNPV0IzL2w3VFZaSjlRCmZlcjR2NmptLzlQMnNITlB1OGd2V3Njd1hlcEkydWVr
S2RUcUFXUFdIWGJZUVhjcG9FVWZGMHlwVFdUY2h3SVN4cktNUXpGYmI3MjEKKzlLWHZxUzdLdGdQ
UHZoZzNRbWgvU0ZzcVkwSy9SM3hNRFcrL3hVcS83K3Q3UEtoSjdxT28zMlptRUxaVnIwREVxS25q
TVoyMmFIUQpMVy9DeWl4VnowVWpXUHl0czg0Njd1dGYvN3BqOE5yVlFEdW16eUFja0lPUjNSSHQ3
TGJZWWd2SDBTMGFWTGJEZ29uakJyZndtOUptCkcwNHU0NmozcmJmZXF1a2dpTUdFN1QwR0NwaFNm
Sm1ONnpZZFczWDhnVVV0enFqdzBvVGtYNG9WL01wTTJ6SG80bGdTbXNZNDZ0VEYKOEhvMHgyMWlQ
R1ZIUzhzM3hJLzlZam1vcGR1SHp6NTgxUEJNMHczNWlIL2hQYzVYYW85bEpvNFhmOGZ4Y1kvdE1V
NDFmbU9hZ1U0cwo2elNpMEdPd1JScWxzazd6WGd0UFBvTU1remJIa01Ka0ZIdGZlcVRYeGp2ME1H
MDQvY3QzMnY5dDRVdDVxN1VmSVpVYmJyaEJKMW5oCjdETHVUQnJpTlBtTzdTa21wZkx0STlla0hh
YzFiRnNGclpLc2tGNXM0clNEZTV4djJtSTZYTm85ekplLy9PV21vdzdodzI5WDNrdXkKUXRwdC9q
WDZwZkl2NWJOVWxpRnY2Vy9BcU1aVEdpL1lRL3ljM2RxUmY2RVN0NEUxbklKLytMVTZIcENZMkw0
RTExaisrdFR4RUQvMwpLenZJT2duWWRkZGQzUVVYWE9BNEVvL3BVa2ZTOWpXbDM2V09jaHlKc1Jw
ajByZ05JYStsTmpIR2duVHBIMlBETVhVTWt4UU00V1A2Ck9UblZnUEt2Qzk4aGJPNlh0RkwrY3VG
U3R6Uk9iQittZlVuVGFiTjMzZ0ZwSTVDNnN6dkJSYzF3SmozMUg1VWR0V0Z5SE1LZGNjWVoKZWpm
aGExLzdtdDVGR1lZK1owSGhuM09JRERRdzdNYVFuNmVmZnJwSyttYy8rNW1lMFE0QktVeDJUVXBt
TXZEaXpnY3JndHdWNEh3ZwpGYjJMNFV5aWJLOTNDWm9OMHpmZHR2QjkrSmdNUExPWkhkQnhGUHl5
TW8rTVl0b3diR092Rko0VnI5MTMzMTEzTjUvNzNPYzZkdDg0CkMxd3lKWHE1ZURIdk9mOWgzRXE4
ZEdrL0huMzBVVzBQVWg3aVJqcjFTKzJsOHUwajF5bmRZZHNxNkpYd1NkT3IyZWxvMy83MnQrdmQK
QmM1RGM3Y2xucmpGOFFmbHZTWXJ3YjhML1M3bEgvUE1kNmtzMDdDcHZRdFBhWncrOW1GNEMra0Uv
TEQzbFkxUytLbmNqbGdkRDZWZgovKzFUeCt2VS9oV0N0dlRFRTA5VXl5anFTSmQ2d0FJekM5b2Yv
dkNIM1Y1NzdUV2huU3JKY1pvbjZrdmNGOFRmYWRoZ2ordFljT08zCkM5OXgrTW4rSGhkL0ErK0F0
QUd3bkZ4RVo4Y2o3Q29RanEwMlZocEdaZVJjdnBOemIrNGpIL21JYnR0eC9JdWpLTUYwRVlRUU52
NWwKaHNwMklMckFneUVkT1orbngxeUNXOXN2a3k0dXRJYy9kRjNYVEJlOHVIaFlNcVg4eW4wWnQv
LysrenRtL2ZIT1RvbGU4T09ZRFE5QwpjaGsvR01veTdBWUZ0OXh2MzNSTDRidndFVERvZ21lTzMx
RzdCWDVxZElmbGw1VWNIaUZhYTYyMVhBbkRIQisxOE9GNEkxdmpLREhnClFuN0oxT2lsY1dQZVU3
OWg3U1ZlYXUxSFNKc0ZEbGF6NEhOUVV5cmZQbktkcGo5c1cxWENKMDJyelo3S09IcjkyV25sRXVa
NjY2M1gKRmsxM2xmcTJzelZaaWYxcjJIUXQvNUNCa005U1dZYXc2VytJVytNcGpSZnNJWDZ3dC8w
T3dsdE1LOGF2cjJ6VXdrL2xkc1RxZUN3RgowMzZuOHRlMWprOUxxZDBsakVzR3JTTXg1UzcxNEtp
amp0S2p0ZVNONzJCcWNoekNEZm9iMTdHVVJoZSswemlqc0tmbDIwWnpYUHgxCm1vQ3drc1ZLQVVZ
dWt6dG1xdndGdzJvWGZ4Z2VsbUZsajZNNmhHVUFmOXh4eDdXcTFVVUxEUVBzbUI3ZjBHT3dpMkVD
RU9oalo4Q0YKRmhPTVhNcDJva082MmJGSWVkVkEwVCs1V0s3cEJTZlNDbWNRNVhLM2JnY3lnUXFH
Z1JjVlF5NkxxbE1wZm9pVC9wYmkxUEJpQjRaSAphNkR4K09PUDYyU0EvQWVUNWpmRml2c2U0RXZs
SXA4Y3dXSnlDTGI4UVJlTlNqbkRXY2s1NTV6VDdiSEhIbnJIQUZwb1JlS29CUWJzCjRuS0w1YUNX
Ymg4K3Q5OSsreUlmTVFhY2tTN0pYNXB1THQrcC9KWEtMeGMvNW1mVTlZWDA0dkpuVXNCZ2o2TlJv
OFFjMldBbFc1UTIKdUhlODR4MXVwNTEyMGlOWGNYNVRMR3ZwbDNqSHJ5UlBjYnJodXhTK3hBdXJP
VzN0UjZETkwvTFB6aEwzbm9MaEZYVGloellqbFpVVQprMUw5cnRXdm5CeUZkbkhZdHFxRVQ2NWRT
UE9aOGdZK0hHMTZ5MXZlb3Nld09LN1JacnJ3VHR3Mk9ROTAyL3hyOUluWFZ2NmxmTmJhCmxzQlgr
STB4WW5HS295YWx2aVhFQzc5eGZHdEgvdDFuZ1U5YjJlTlhhaGZ3ajQzVjhYLzMvU1haUi80d3BU
b3VsN2hWNjEwWUs4WTQKOHgzR2NJRlc2bCtydDRSUDI5ZVVScW05SlN5TGFkd0I0dzRHUjlMUE9l
ZWNaa0cxMWlZeVRncnRQclRJTC9Zd2ZvSTNUTHhnWEpMVAplT3hWNDV0ajgweVcwQVNXTTJuWjVj
YlZhYnh4dHk5cGVsbTdkRFpWSXl0YWVydGZMbVI3VVFPcVdxdFdXV1VWTHl2aFhnRFJod21sCm8v
YWlybGRwU2FGNk9iS2hjV1NyeTR2cXlHd2FjZ0hNeStDSldZWVhWWmRlVnRxOURMYTlIRnRTTjlu
aDhKLys5S2Yxb1VLNXpPNmwKMDFBNmFOMlFTMEZldHN1OHFKWDFzc0x2MFd5Q2lYbVZnYWk2aFg5
b0RSTFFWWk9ObkxuemNoSFJvOFVBWHErNzdqb05SbjdJMjhrbgpuNnhhRXFSRDlTS1k2dGNsZmtn
ci9IYUpVOEpMMU1KNXVUanVYL1NpRi9uRER6OWNOWVRKUmFwR0ZRcnVSZ0FBSUFCSlJFRlVxMVdj
Clg3Uk1pSHBVSDJNbFI4ZFVnNWdjS2ZNeWtmQ2l3dGpMVVJxLzg4NDdlem1XNWVVY3BHSk5YTFJB
cElheW93d3BJMW14MVRpRVFST0UKYkNjcVZqazVLS1diSzlOU2VQaHE0d05lWWd3bzh6WThMNzMw
MG1ud0lYNXNVdmxEYTBaTlp1TDRmTWY4akxLK1FCdnRiMmlFazhiSQp5d1RCb3hVTlRWMllFb2FE
WUM2WDZyVGNLWHZaZnRjSEs2bHJsRWNPeTFMNnhDbnhYcE1ueldEMHJ4YSt4QXZ5MnRaK1JFbm9K
L21VCnM3N2F4c2xFMk12QTJzdTlLTTEvS2lzNWpDSFNKby80ZFpWcnRMYkU3U0o0RHROV2xmQkoy
d1hzYWRxeGpNZnRMTzJkVEZiSld0R1UKZUNkaVNWYTYrSmZvdC9VZmFYbUNjWnJQVWxtbUdVN2ps
bmhLNDJLUDQxczc4cTgrYTlUdENEaGJIZitZOXV2RDFuRlo1TlF4SCsxZwphaGk3aVNJVDdVOUVh
WkdYaGJNMGlOcExkU1RYNStTSXROVlJOSUdpOFpOeEh3Wis2ZGRrZFYvSG5hVTJVZTdyNmJoUmxO
SW83Mmk1CmtnVUp6US9hcjJUbjF4OS8vUEZxcDUrUVNWaXhEYU90U2NkZWJYekRLMzBXNHkxNUJn
SHJCSk8yVzJqSVRNZlZFeUk4WXhsbis1SkwKTCtmR0tuZ25JMGNST29VTGdXZ29VRjBXSmdiQmZS
Uy9NdXRVTWpLVDluSmZZeHFTZlhsTkNjZ01WbDlpaC8vSk1pVzg4Sk1acnJJaQpzK1pwV09xUzN4
Q2Z5RGthMHhDTkhNQWpESElqNTA2ZmZkTXRoUy94a1dKUXdyTVQ0ME1HU3ZtcGtldktMd016ZVJ0
RzVSNzFlemxUCndyQlBlRlJ2eTdheHYvdnV1NzNvT05mSnEraEw5N0tLbXlQVHVMV2wzNFgzaHNp
SVBuSzgxTnFQTkdsWjJmS2hQR1VWTC9YdVpDK1YKYngrNVRoTWJ0cTNLNFpPbTBXWVBtTVQrTEFy
SmZiellxZlc3eEh0TlZtcitKTnBHdjIvNXAva3NsV1dhMlRSdUcwOXB2R0JQNHdmMwp0dCt1dkhY
QnI2OXN0SVdmRWRvUnErTjVpY3JKWDZtT3QvVkplZXA1MTc1MUpFZWxhejNJeFcyVDQxellrbHVY
T3BiR0wvSE5KT2RZCmVVWmhsQ1pYdmlYNkpmNUs4ZHI4T2w5Q1ordXRqMEVERnFyTHhtRzR5SU5o
Q3lsbit2S2EwdUJjWE5lWDJOTzRnOXBMZU9FWFREZ3YKR2V6OGRza3YyaU9DeWRFSWZybGY4RUFk
N1NDbWI3cWw4Q1UrVWd4S2VBNlNqNzV4VW41cThmdnl5ME9BOFNPYk1mMFNobkc0OEowTApqellq
SG1YaTRhYlljQkZ4V2RFNlZ6STVlbkg0RXU5eHVGRjg1M2lwdFI5cHV1UTVsQ2RIRWdjeHBmTHRJ
OWRwMnNPMlZUbDgwalRhCjdBRVQvRGtpZ0tJQ2poaWhVcktMNmNKN1RWWksvbTMwKzVaL25FL3lW
U3JMTk45cDNEYWUwbmpCbnNZUDdtMi9mWGlEUmdtL3ZyS1IKQ3oranRDTld4L01TRmN0Zmx6b2Vh
eXZOVTZ5NzlxMGpPWXA5NjBGTUl5ZkhzWC9mNzFJZFMybVYrT1loMnFBQ09JMDNxRDB1M3k0MApT
dngxaVorRzZUd0JTU09hM1JBd0JDWVhBVmtaYXU0QmpUdGwyWTdYdXgrY3kwVmRJZWQzdVZ2RE9Y
ZzV0dGc3K2Nua3ZUZHpGbUVvCkJIamwrOEFERDNUeTRLbVRvMElUTk1NTVFyZ21LelgvUWRKOE5z
V1pUUHlzSFprNUpHdlVkWHptUUtVOUYrT29ZMjk2MDV0VTVYNTcKcWpPZXp5eHNqY3g0YkJ2SGhz
Q3pEd0U1Vzlzb2c1QTdRVTVla1IwckNMLzczZS8wQVZHMEJ2SFk2Q0FUajhEZ1pQTWUwclhmOFNN
ZwpMLy9xcFc2VWdhQlZhRmhUazVXYS83RHB6K3p4SnhzL2EwZG1mSWthZFIyZjhSRXA1MkN5NjFp
Wm02bnJheE9RcVZzMnhwa2hZQWdZCkFvYUFJV0FJR0FLR2dDRXcweUhRU1EzdlRKZHJ5NUFoWUFn
WUFvYUFJV0FJR0FLR2dDRmdDRXdYQko3MUV4QmVQWC9ra1VjR0JoODkKMEx3TkVBeDZuM204YnpM
TXVOTWFOLzNKd0tpV3hyRGxuNlBQMnplaThzK3hiVDI5TUJ4SHZuSjVuZG5jRExkdUpkb1hwK2xW
RDdybApablNoWnZSOGN0ZnJvWWNlR2gwZ1BTaWxmV2t0YWw4WnJORjdOdmpQYVBKSkdULzIyR016
Uk5HWVBQWXZwbWYxQk9Rem4vbU1hbmU2CitPS0wreU1uTVhneFhkNWtjRzk3Mjl1YStFY2ZmYlRi
ZXV1dEcvczRQOGFkMWlEMDBZRERJejlvc3VEZWdMeWprWVdBeTh3TExiU1EKUHZESVE0Tm9JZUcx
emUyMjI4NnR1KzY2YXIvb29vdjBiRGtheWFESGczczhkTWJMdXB0dnZubjFaZTVzd3BIanNPVWZr
V28rMGZyeQp1Yzk5VGg5OFhIWFZWZDM3M3ZlK1NaT0h3TVE0OGhWb3o4eS9obHUzMGgwRXAwSGFr
bTdjVEsxUU0zSStlWnlST3p5bm5YYmFwSU9hCjYwdExUQXdpZ3lWNnp4YS9jY3ZubDcvOFpiZldX
bXRwZi8ycVY3M0tpVXB1aFpaRnVmZTg1ejNxamhhNi8vcXYvM0k4bGxjeW91N1gKeVJ0bzdyTExM
aXNGbXhKK0pvOERGa09iZnQ1bmk3c01sdjBKSjV3d2NIWkYrNHZmWUlNTm12anlTcksrbmRBNGpQ
QkRYakJ2SGlDRQo3RGpUR29ZK2V0OUZISXZ2QWZDQTNnTVBQTkNnSStwTi9lNjc3OTdZVHozMVZI
MW9FZ2RwTkpWZWVFQUlOM21SWFI4OWtwZE5zWFkyCktZYkRsbitjc0t5QTZFT0g0WjBCM3M0WXBv
eFNYdU8wYXQranpGY3RyWkwvTUhrbzBSMlZYOHJmVk1GdFZQa2JGNTIrT0ExVEQ4YVYKaDFIUVRl
Vm5Scy9uT3V1czR3ODY2S0JSUU5PYlJ0cVhwZ1JTclB2S1lFcHZzdXdwMzVPVmJpNmR5WkJQV1lU
VC9sb0c1ZE93SUdwZgo5ZkhpYVR4YUhIajRqd2VwWndRelZlUnhLc2xicmR4Njc0QUl3ZGFwVG5p
S3ZqVkE0bEVLWDBvbklkTllTL1FJbEtQSm14aXNydmMxCnFGbkR5QXZ3THVpVng4Nk1mUnh2aU1p
RGptNlhYWFp4OHNvbHlhZ1pWMW8xK2prY1F4eCt3L3NzQ3l5d1FPdzg0VnNlMDlNZGp3bU8Ka1dY
ZmZmZDE3Q0JnQXIwWTU3MzMzbHZMVTE1MmoyS1ZQM01ZRGxyK3VaUis4SU1mT0hua3NaRUhlVEc3
bHp6RXVPWjR6YVhaNXRZMQpYN1U2azlMdkUzN1lQS1JwajlxZTQ2OHJibjE1aWNzMmpkc0hVK0tX
d3BmU1NkTU45aEk5d3VSbzlzV3ByYTNLMFE1OHhiODFIdU93CjQveU8rYzNKVDFzK3g4bFRGOXBk
OGVNdGwwSDZ3NjcwYzd5MjlhVngyQnpXZldVd3BqZFozem0rSnl2dFhEcHQ4aG5MZFM1ZWNPdFMK
enFHL0RyOGhMcis0NWR6ak1QSDNqRkRHZ2QrdXZIYkJNTkRrdDAvNHFTWnZjVDV5MzlWM1FEaENn
MjUzVkhDU3VRc3Z2RkFmWXZyVQpwejdsTnRwb0k2WEpnMlczM1hhYk5seFhYbm1sWSt0c3RkVldj
M2ZjY1lkKzh6Z05qN3VjZnZycGpnRWpEOXJrd2tOTVhxRjBzcnJ0CkZsdHNNWGZqalRlNmhSZGUy
SzI1NXBxT3dSd1B1a0M3SzcwdXZKTW1EU0JiaytSdC92bm5kMWRmZlhYcjRCaitEanZzTUxmNDRv
dnIKbXd3Lyt0R1BYSGljN09jLy83bmpPTmNWVjF6aGJyNzU1dGI4TDdQTU11NmtrMDV5dDk5K3Ur
UGM0TmxubiszWXJzUndCdmY0NDQ5WApQc0R2RmE5NGhhWUhkbGRkZFpXVDE5bmQvZmZmci96eU1F
MUlpN2pRT3VLSUkvUkJNTUlzdmZUU21nN1lYMy85OVlyZGtrc3VxVWVrClpKZkNVV0crK3RXdlp2
T2E1Z1g2Yk5GenI0R3RVOHI1cHB0dXdua2dzOGttbXhUalVkYXlHdGNhQnR3eFFRWmJBMFllS1li
b05zZVUKeXArM0w5cktLaUx0emp2dlBIZjU1WmRyWTNIQUFRZW92Qjk2NktHZDVPSEJCeCtjQnRj
Y3IyQVNtelpaQ1dGSytScGxuVzNqSTVjSApaRFNIWjF0YjhjcFh2akprUjM5SEtlTTUva2lraEZ0
WGVlalM5b3l5REtaeXV6bE1XOUtHMFFTaGVNWWlLMy91L2U5L3Z6NGErYjN2CmZVLzdFRlRBY2lT
U3RvdEZEOXBIV2VGWHQyT09PVWFQaVo1NzdybEtvVlMydWJZdmxSLzZrSEcyeWJUOUhQRmtRTUx4
VnRMajZPcFoKWjUzbDVwMTNYdmVCRDN6QXlhNnI1dS9JSTQvVVBMWGgxMWJmWWx6dnZQTk9QVjc4
MnRlK1ZoZS9PRzZjbWpiNlhmcWJVbCthcHBOaQpQY3EydXd1dmJiSkJIODVqcmR4VG9CK2ZiNzc1
M0o1NzdxbXl0dHR1dSttWUorNjM0VHR0eDRkdDA5cDRTekdjckhxWXBsdXoxL2dQCmNzTFlpdkhM
SlpkY29tT1lOaGx1RzE5OThZdGZkQ3hzY3NUN2dnc3VjRi82MHBmYzRZY2Zyc2ZvenpubkhCM2pj
dnlRTVJVUHFvWngKWGN4L1cxOFh3cFQ2anJhNjBwYVAwamk1alk5Y1BSbTJ6dzE1Rzh1dnpIeUxS
Z1pIWGlZRFhzN25lMWw5OTkvNjFyZjhHbXVzNFpkYQphaW1OeDlQczhnQlZjelNJcCtMbHRVYjFr
MEc0bDNQK1hob3VMNE16TDRYdmYvakRIN2FHSjVJMHBsNEdiaHBmVnBSMUswOEdMRjR1Cnh2bSs5
R3E4azhoTFh2SVN6WThNR0x4Y1J2Y3JyN3l5bDlWMVRULzNUKzRlZU9uUTFJdWpObkptMXIvaERX
OVF1NXh6OVB2dHQ1OW4KbXhHVDQvZmVlKy8xbTIyMm1aZEJ2Q2MrbU1pRXlqLzU1Sk1hWjlOTk45
VjRXR1NTcHZtWFJrNzk1QVZxei9FbVRKb1didEpSZUxrMwp3YWVYbFhndmd6Y3ZkeTNVTG04NStC
VlhYRkh6SnhNc3hYT2xsVmJ5Kyt5emovcW4vMUw2TXZuMEwzLzV5NXRnaHh4eWlQTGZPRVFmCjBz
Z3EzN2ZjY2t2a1d2NU1qMkRGb2FWUlVIcDMzMzIzZitxcHAxU1d3R3lMTGJidzBobkhRYXZmTVlZ
RUxwVS90RXRsbFNZbTkxKzgKN05JMHppbUdPWG00NTU1N1duRk5lVzBJUC9OUmtwVlN2a1pkWjB0
OHhIa280Wm5ENXI3NzdrdXpQRklaaDNqTUgvWVNiaVgraVJ1YgpXdHN6NmpLWXl1MW1XZys2dGlV
bGpHS3N3emR0M1djLys5bGcxYlpQRm5BYU8vMVVmTnlXWTZEeTBLYjZsOHEyeEc4c1AyaytJVHpL
Ck5sa21JRjRXNDdRdnBqK1ZnWm55TDR1RDJpOXd2RVltVlhvMFZSYUtmQW0vdHZyR2NlSjN2T01k
aW9sTXpMeThaNkRmdVg4bCtsMzYKbTFKZm1rc3Z4aHIvVWRYVkdxOGwyWUFQeGc0eU9QT3ltT2V2
dWVZYVQzOFZtNVR2MkkvdllXU2t4bHVjVmlxZkpibU80NVhLT1E0WAp2dWtId1FNY0dBUEVmektC
OExLWUhJSnEvMTNxWXdrdkp5RzhUT0owakFtVzhnYVdoL2VjRE5mR1YzSS94Y3NFc1VuL2RhOTdu
ZDlqCmp6MGF1eXlRZTVtY05QYjBvOVRYbGVTeGhHRXVIN1Z4Y29tUFdONUs4cEZMTjlmbnBoaU0w
bDdkQVpITU9KbHM2S3lSbVNPR0ZTVTUKNytha3NKME0yTjAyMjJ6alpGS2lmbXp4NFk1aFZSOS9h
UENFUEgvQ2ZHdDQ0akRMRFplNDJVVmh0d1BEckphL1B2UnF2Sk1IREJlaQpOOXh3US8xbVpZbWpO
RGtqRmNsSkE2TXpjUHc1RXNTRjZJY2ZmbGlEdyt2cXE2L2VYSnJLNVY4NlNNVWdIS1ZhWW9rbDNC
TlBQS0VQCnZyR0t4YXJUMm11dnJmUjRnWnJWT2ZJZFROZ2VUOU9TdXhDNlk4VEtLNGJkRFZaaVpF
S2t1ekc4U0x2ODhzdnJTaG41eFVobjQ4Sk8KZ2pwRS8xTDZNdkIzY2dkRDgwK2VaZUtTUFpvUmtS
ajVwMHg2OU9JLzJsS2s4aWpXZ3lRU01BeHgyOHFmQy9YSWE2NnN0dHh5eXhDOQo5VGZGTUNjUE1t
Z280cHJ5R2hKRHkxWk5WdHJ5aFd5TXFzNTI0U1Brb1labldyZERYc1B2cUdVODBBMzhCWHNiYmpY
K1EzeCthMjNQCnM2bmRUT3RCMTdha0pLY3gxbnl6V3g2M3pialIzckc2R2d3N3dYRlp6ejMzM0ky
OVZMYnN2cGZhdmtBenplZW81Wlg4c0F0QmYwRmYKaXFHdlpDV1hWWGpNd1FjZnJEc2g5RW4weVgz
cXVSSjQ1aC85aml5a3FWS1EyRDMrTHBXUG5OMHY5amUxdmpST0ovNE9XQWUzVWRUVgpHcThsMmFB
ZllPeXd3dzQ3T0hhZHFOYzVwVFlwMzRIL1lXV2t4bHRJaDk5VVBzZFJEK1AwYnJqaGhtazBxckdx
SDVzdS9PKzY2NjVPCkZoczEyb2tubnFpS2FCam55Q0I4bXZGZ2FYeEZXY2xrdzBHRG5RckdiNXln
WU5kQUJ1cDZuQjY2WEpEUG1TNTlYWnM4bHVwS2JseFEKR2lkMzRTUElXdzNmV3ArYncyR1VicDN1
Z0pBWnRucURnV2swR0ZGWStKMTU1cGtPWWVab2hleVE2QkdyRUpaR0g4RVBwaGFlTFV3RwpsOEZ3
MUNrTXlISHJTNi9FZTBpRE1NR1FMN2FzY29ZS1JkN2pNNHhNR3VMNGZNZjJsRi95eGlSdGpqbm0w
RCtPR2JIZHgyVGoyOS8rCnRoNDFpK096WlVqNFlHSy9PSzFiYjcxVmNVYlFnd25IVnhpb1l1THcy
TUdhWXd0dEpnNVBaMFJuUmtQQUVhTmxaVklaeTBRYmpWRzYKeTJVMG5aQTkvZlRUam9abVVCTmpD
STNZSHBkL3FheTZwaDFqU0p4VUhtcTR4cnpGYWZhVmxUaGYwQnhWbmUzRFJ3M1BGSnM0djN5UApR
OGFobTJJYzIyUGNhdnhES3piUWlldklzN1hkQkJPd0NMaldaRDVnU1BpU25JWncvTkx2Z0c5ODd5
eE9NdzZiK3k2VmJZM2ZrQy9vCnhtbU9RMTdqdEVpUE5qdzJIQ0hHTUVraGJBbS90dnJHUkU1Mmls
enRtR3lOZm93RlBNWDlUWmUrbERpcFNmTWYyNGV0cXpHdG1OZVMKYkFUK1RqbmxGQ2VyeDlxUHgz
VSsrTWUwZ3h1L3c4cElGOTdpOU9BajhGS1Q2eENQOENVNUN1SFNYeFkvenpqampBbC84VmlROEYz
NApqK3MwZzNWTWVPb2dsZUVhdlIxMzNGSHJSbGhVbEowR3gzaUM0MUdNaFppWXBFZmtORUg1MTZl
dkkwNHNqelVNMDN5VXd2ZmhvNFpICm1tN0k2MlQ5Vm5kQTJoaGg5c2dGYkF6M01saUI0bDRJWitH
cFZDVlRDczhxdDJoRDBsMElMc1N4U3JYKyt1dVh5UFZPUCthOVNEangKZlBUUlJ4MHIxcWtKRlRw
MXo5bUpEMjY1dXd1czFsRWhCakdjazRRMmt5Y21SUmgyWTBpTENqWUtnNm81MURUU3FIQnVFUlY3
b2NNYgpCZjB1TkdoQVdEVmlGWVBkS2puKzFpWGFRR0ZLWlRVUXdaWklnK0E2akt6QVJxa081dGhz
QzkrSGoySHhuQXdaeitVOXVBM0xQM1RpCnRxY04wNUJlK2xzS1A1WGJ6VFFmMkx2S2ZDblBNZDNI
SDM5YzcxSEZibjIrYTJYYmxkODR6Y21RVitRcDduL2liM2pwaWwvTU4rck8KbWRDeG04TDl6NUla
aEQ3MFJ0R1hsdmlxbFdjcGJ1clhoUllMZnd5dVAvemhEN3U5OXRwcndpSmxTaSsyRHlzalhYaUww
MHUvdThyMQpvT1djcHBmYSsvTFBhUkFtaCtuRU85Q3QwV014bDEyS1N5KzlWTXRJanBWcm04eXBI
dTZMaGRNM2dWNzgyNmV2aStPRjc3NFl0b1h2CncwY05qOERiOVBydHRBT1NNc2RNbndkdDBQY3Na
OWpkL3Z2djcxZ0JpRmZmMHpqQlhnc2ZqdmN3eU9TaU9oZkVTcVpHTDQwYjg1NzYKMWV3TXZsbFpn
c2FnWmpsNTY0SWRqM2puZ2UwMlZvU29YTXpzdVVBZURINWhCd08zdElNSjRWajk0MmdTK3RTRGtU
T2Z1clVZanBvRgo5MEYrNVp5c2d4NjdFSlFOeDlTb3RIME5sL1dZcUE1alB2clJqem81QjZvWEkr
R3JyMm5ETUtWVEtxczA3S0QyR3E1dHZIYVJsVGFlCit0YVpVdmd1ZklROERJdm51R1E4OE5lR1Yz
QWZsdis0N1NsaEd0S0xmMnZocDNLN0dlZUQ3NXJNaC9DMVBJZHcvSEtVRmJvLys5blAKR21mYXp0
U3d3cGt6cGJLdDhkc21QK09TMXh6L09iYysrTVh4R2R4eGpFanVmK2lsK3Rndi9oNlVQalFHN1V2
YnNJNzU0cnRVbm1uWQptcjBMcmFPT09rcVBBTUlmMzZscDQzdFlHZW5DVzhwTHNOZmtPb1FicHB3
RGpiYmZ2dnl6ME1BeExoUVQ1VXdYZWl4dzg3YklKei81ClNZYzJUWTVsY2ZHY0V6Mmx4ZTR1ZlYy
T0o5ejZZbGdLMzRXUElHOWQ4R2pqZVRMY08wOUFtSEFFdzZTQVZSS09SbkhmZzBZZHdCZ0EKczNM
QzRKckduei9PMW5GalA1aGFlRFI1eUdWcEp4ZmgzRTQ3N2FSSFZrSmNmdnZTSTA0YjcvaXhBc0Zm
TVBBYTh4dmMrZVdjSnpzSwpRV3NLYnJ5Q3ppeVR2R09nUmZ6USthWDh2dld0YjlWenlSeXRrb3Zu
T3FnLzdyampWSFV2OU5HOFFJVUFKLzdRQ01ZZEhBeEh2MWc1CndoQTNUa3N1VTZxR0NDWTN3VENC
bzRIanJDUUdGYkZ4QjB6OHdIZUlFLy9HOU1FUVRUQVl1YnpwdHRwcXEyYW5KWTdETjd4aDRyU3cK
eTBVczFhcVNOaDZFZ3pjMGJPVU1rejVNb0VzSHljb05QS0dhT0U2SHhva09nQjJhbk1saFNENkRp
Y3UvVkZZaGZQeUxkakI0aWVuRgpHQkkybFljU3JpbXZjVm8xV1NIZG1JODRYN1U2bVBKWUNzOGpr
bDFsbHBVblZtOXlzcC9ESnM0djMrT1E4UlRqRW01OTVRR2UyOXFlCkVxWXpXN3NKRG5FOUtNazhZ
WU9wWVJUQzhSdmF1TkEyMDlhd1NCTGFZY0t3STR4MkxOb2FCaklzOUlUeUtaVnRpZCtjL0lUMmZ4
enkKS3Bkdko3VFo1Sk0ySEhjTWRSZERPMVRETDYzbnhNTU56TGozZ3NZd1Z2UHA0M0ttUnIvVTMz
VHBTOU0wYzFpM3RYR2w4a3pwWWkveApXcVBGZ2h5cTkxbm80eGc2R3BYaVJjT1U3emo5WVdXa3hs
dWNGdC9qcm9la2dmeGpRbit0bG1mK01UYU0zYnZ3SDQ5UnVQL0FMa1c0CmM1ektjQmQ2Y3VsZE5Z
VnlWSTdqWGR5RjVTUUhpeGhoNEI3ekhMNmZMWDF1YlF3VjhCakpyelEyVllQMkl6Ulp5Y0RPeXdU
Qm96MUUKWnM4YVQ0NzNxSjhjKzFGdEFtZ1JrR05UZnVlZGQxWU5Hbktlemt2QmVobThWc09qS1VD
MmZWbTIwajhSRU05RE5MTERvaG85Wk50TQpIM3JyUTYvRU81cEVaQXRiSDhhUkJzUExvTlZMSStK
bGtxRmFGM0xBd0lNTWdEV2NETDVVRXhOYUhYQ1h6czNMWlcvbG5jZHowQ0NTCjVoK2Ewa0I1T1Y2
bTJrcGsyOWJMN0x0SmltL2N3RUJtdWw2T3RqVitjc2xONDZERkFZMGJjVnBnQi8rcnJMS0tQL25r
azFVYmg3d2EKN3FXVDBQZ3lNZlRTRUtyV0xqa1g2SG5VRCswcDhISGRkZGMxYVlTUE5DL2dJNWNn
OVhGQVVjR3JaWUltaXRUSXlvSnEyb0ovdWRmaQo1UUtabDRycjVUeXhsKzFQelp0MGprMDB0RDJn
Q1l6dzBoaDRIaUNVcmRER0g0MWo4SWsvY2hmamdVWWIzT1Z5bVpjSnNNYUJUOG8wCjFuN1RFSk9Q
R0VNNVhsQXQvMUpaeFhUUjlDR1RjdVZIMURSN0dkeDBrZ2Z5MzRacnpLc00zT1BrOUx0TlZtcHlQ
ZW82MjhZSFRLWjUKYU1NelY3ZW55YkE0akZMR1UvNUdLUS9RTHJVOW95NkRxZHh1RHRxV2xEQ2l2
VXVOWEI3VitveG1Rdm9mR2R4TmFBZmtuTGUyUVdqUgpFZldicXJGUUxoQTNHaHpiWkxOckhSMTNt
MHk3VGQ3b0UyVVIwS05wVFNiMTJ1YWcvVXJ1WVhwUjRhNTIraWJaVGUvVk45TjIwNC9UCkhvbUtk
VzNENk12cGIyWFhPWVhibDhwSFZwT3IvVTJwTDUwbU1YR0kyNUpSMXRVdWZXT2JiTWlBMk1zOVZl
MVA0WmwraUhHTHJEeHIKKzQ5YnpIZXVIUisyVFd2ampiUmpNeG4xVUY1QzF6cEh2eXozTlpxeEJm
a0dCOXhsa0s5eUd2cjVFdi9JdFN3Y2VEbHk3VC8wb1EvNQpkNzd6bmFwQmxIeTE5UmtsZWdFUCtt
aTB5Z1hEMkRhMkIvZjB0NjJ2bTVuNjNOb1lLc1ZrR0R1ckhWVkRSeW82MUwzY0wxRDFyN2tJCk1y
TnVuR1Uxb2ZsdSsyZ0xqNXBaT2FyZ1VibktTOUpNYUVTZnRwZVYvVFpTNnQ1R3J3dnZSY0laVDVs
MWUxbVZWeCtaN1dkQzFKM28KUUJINDNDQ2VBWHFZNEtXVVFycXBlN0FURi95NlZLWVFwOHV2ckVK
b01GbTlVRG5vRW1kNmhhRWpQbGJVUWJlWkdvWnB2RkpacFdINwoybXU0MW5ndHlVcU5sN1k2MHhh
dkZMN0VSNXFIWWZFY3RZeW4vTFhsUDdoMzViOUwyMVBDTktRWC83YUZueEhhelpDUG1zeUhjT0cz
CkxjL0JQLzVsVUNNcmVPcUVTblJVa2NlR3NndjBjdjFVcm14ci9OYmtaOVR5R3VlbnkzZklMMkZ6
ZWU1Q294Um1HUHA5KzlJYTFpbWYKdWZKTXczUzFEME9yeHZld01qSUlielc1VG5FWnBweFRXcW05
eHIrOFlaSWRLNlYwZ3IxR1QzWmlRbEQ5VGUwVFBCTkxxYTlMZ2s1ago3WXRoS1h5SmoxVGVhbmlr
ak5iR1VHbjRRZTJ6RUZGbXBVWERZM2c4UmlTcjA4Vnd3M3J5eUJKcXd6aUxGeHN1TzZPQ2tNY1Er
NXJKCjRyMHZYeForZkFod3h3UU5ZS2h4Tm1NSVRDOEVKcXZ0c1hZelg4SnZmL3ZiOVNpbXJQem1B
NWlySVdBSUdBS0d3RFFJVE5ZWXFxb0YKUzJaWnpYblphYmdjc1FOdlZYRDNnM09ScUtYbExDRm54
ams3UHNqa1l6SjVIekVVUm00SUJONzBwamVwQ3J3aFNGaFVRMkFvQkNhego3YkYyTTE5VTNBSGh2
RGxyYktXejNmblk1bW9JR0FLR3dMTVRnY2thUTFWM1FOQ0VFUzQrbzNrSU5hampOS2hDUTg4eEdo
cFFzenJJCnhDUHdOOW04aDNUdDF4QXdCSjdkQ0V4MjIyUHQ1a1I1ay9QaHpTTm83SVNpTk1PTUlX
QUlHQUtHd05SQm9Eb0JtVHFzR2llR2dDRmcKQ0JnQ2hvQWhZQWdZQW9hQUlUQ2pJOUJaRGUrTW5s
SGozeEF3QkF3QlE4QVFNQVFNQVVQQUVEQUVwajhDQTAxQWVHMzdrVWNlbVM3YwpUOCsweDVGaGRN
enorT0NNYXJpbjg5QkRENDJOL1JRZjBlYmdSRVZrazE1cWJ6eWUrVWpqcC81VHlWN2pWYlNXdE9y
a0gzVStCa21yCnhuL0s0MVNweXpVWlN2bkd6cU9jNktSdmU3c21GMmNVYm9PVXl5alNuVmxvakZ2
bXBtb2Q2Q092NDhab1VGbUNMeDZ5blJITVZNVncKUnNET2VIejJJTkI3QXNJRGNLS0hYRjlLbld5
WXBtZmE0OHJyMFVjZnJRL3JqSXYrT09ueU1DRXYycDUyMm1salN5YkdCMjAyb3RyVQpiYlBOTnBw
ZWFzOHhFY2ZQK1U4bHR4S3Z2SEF2Yi9Ib1E0N2o1bm5RdEVyOHB6eFBsYnJjUllaUzN0RTZKZS9U
NktPcnE2NjZxajZ3Cm1ZWVpoMzNRY2hrSEx6TWl6Y21RdWFsWUIvckk2eWd4a2pjaDNGcHJyYVVL
QU9STkNJYzJTd3lUb2ZlODV6M3FMbTgyT1htL3hmR0kKYThsOC9PTWZkL0tPbEw1Z1hRbzNGZnhH
aWVGVXlJL3hZQWlNRFlFdStudlJrY3lETzhId1dCK1B3RTJHbVo1cGp5Ti9hWDdrRlhWOQp0Mk1j
YVUwR3pYWFdXY2NmZE5CQlkwc3F4ZWVVVTA3Umg3aENncWs5dUlmZk5INXduNHEvTlY0UFBQQkFM
NisyVGdycmc2UlY0ejlsCnZOYU9wSFVsalkrOVM1aGN2Tml0SmtOeFdGbloxTWRGZ3c1OTNpb2FC
UTl4R3FYdlFjcWxSRytxK3cyTGJScS9KblBENGpFOTZrQ0oKNTV5OHB1SEhpWkZNZnZUeE9SbVVw
OG42UlJaWlJCL09uY2FqeFlFSEdIbmdkMFl3NDVhenJoaWtaZHMxbm9VekJDWURnZW9PaUR5VQo1
M2JaWlJmM25lOThwNWtFelQ3NzdKT2kxbkI2cHQxa2RzZ1BLY1NHUWk0L3JPcXNzTUlLVFppcDhp
RVBSSFZpUlY1U0g2c3NwUGpNCk1jY2NFOUpMN1NuVGFmemdINWRMY0p2czM1U0hObDVSNllxWmJi
YlpIQ3VHNHpURHBOWEdmNXJQd0grcEhjblZsUkF2L0hZSkU4S1cKZm1zeUZNZEZ0YXM4NXRhVUEy
OTlwTzFqSEQ3KzdscW40ampodTIrNTFOSnFLNU9RWHMwL2hFdC9hK21tNFV2cERGdSt1ZmdsbVV0
NQpHOFErMlhXZ3htTXFyNjk1eldzbVJCazNSZ3N1dUtDbUYzN2p4SEhMdWNkaDR1OXhsMTJjMXJE
ZlhYbnRXMS82aE0rVjdiRDVzdmlHCndDZ1JxTDREY3ZycHA3dXJycnJLeWN2YTd2Nzc3M2NmKzlq
SE5IMDZSTGFiTDd6d1FqZi8vUE83cTYrKzJpMjMzSExxeDlzZEo1MTAKa3J2OTl0c2RaeUhQUHZ0
c3h4YnM5ZGRmNzloS1hYTEpKWjJzRURoNXZkZFJVYi82MWE4MmNlUE1qVEx0bUc3NGx0VUI5Lzcz
djkvSgpTb3pqS01aaWl5M21VR2ZKOFFxT0Y4bnI3KzZJSTQ1d3NzS3Zic2NjYzR5cUJqNzMzSE9M
K2NTVCtKd1BaMnY1eWl1djFIc0xhWDdBCjd3dGYrSUs3NG9vcjNNMDMzNncwd1lzMEdkaUQ5OUpM
TDYxWXpqWFhYTDN4bzh6WWZxZlJRcVV4NmMwNjY2enVyTFBPY3ZQT082LzcKd0FjKzRHUUZWL04z
NUpGSGF2cmYrTVkzM0cyMzNhYURmUGltdkZCamVjY2RkK2ozb29zdTZ1Q0Z2TWdyOVJvbi9Mdnp6
anYxaUJDUApWaklvNDhoUWJMNzR4Uys2ZmZmZDE2Mjc3cnJ1Z2dzdWNGLzYwcGZjNFljZnJ1SE9P
ZWNjVmJuTWNTN3drSmZ2VllmL3hSZGZQQUdmCm1GN3RXMTVQMWFPQ01iNjVjc25SNFc3TDhjY2Zy
N0pOM2hsb0huYllZUnAwMkRMSzhaRGpWVjVCMVRRWFgzeHhmWXZuUnovNmtadHoKemprYmR0dnFX
VnRaTGJQTU10bDZDY0ZhV2syaThwR2pqOXJaSC83d2h4UEtDcHJ2ZnZlN3RWN2RlT09OYnVHRkYz
WnJycm1tWXhDMAozbnJyS2NtMmRpU3RLN1E3ODh3elQ4eUd5bURhTmpHZ2Jhcy9FeUlYTEcyNG5u
ZmVlZTRDODVYNUFBQWdBRWxFUVZUeXl5L1grblRBCkFRZG9QZUE0YXNwRHltZGJuZXJTSHZZcEY3
TFVsaGFQdTU1Ly92bGF4eGlZMEc0ejhlTEJxWTAyMmtnZmZ5MzVRN3NObDFLNk9WbWgKM1hqd3dR
ZW5hUitoRTV1Y0RQUXAzMXg4NkxmSkhINmxQT0lmVEM1ZjA2TU9sTnFpbkx6S2JsL0lndjZPRTZN
SkNYVzAxUEFQOVlGKwpnWEhFSlpkY29tT0pYSGtnWjIxdFh0KytLRzUzUTFaS2ZRUmhTbkxXVmsv
Yjh2R0hQL3doMnkrVFRoc2Z1YkpGWG5KanM3WjBlZERYCmpDRXdOZ1NrUWErYVpaZGQxc3Rrb1Fu
M2twZTh4Syt4eGhwZU9qVXZsOUg5eWl1djdQZmVlMi8xbDhHdTMyeXp6YndNdkQzSEZHVEEKNldY
UTZ1VkJLQzl2ZS9nVlYxeFJ3OHVFeGN2bFpiL1NTaXY1ZmZiWnA2R2Rmb3dxN1pRdWRubmcwSC8y
czU5dHZMRExRTE94di9DRgpMNXh3MUd6ampUZjI4a2lpK3BmeUtSMjhsN3NLRFoxRERqbEVzY0Fo
em8rY2hmWDc3YmVmYmtXSHdESjQ5eGRkZEpGYVphWFZTd09nCmZPTFFGeitaZ0hnWjhIbVpHSG9a
T0hscHZKVi9lVnRGeTVQakFqS3A4dkpJbDVmSmtwZkx1SjQ4aCtOMnh4NTdyTjkyMjIyVkY1a2cK
K1lVV1dzakxwRUpwVWE3MzNYZWZIZ21TeHlNMWpFek12SFRDK3QzMlQ4NEUrejMzM0xQeGZ0M3JY
dWYzMkdPUHhpNmRocGZKaWRwegorSng1NXBsZUJ1Uk4rTlRlZU1oSEdyOVVMbkU4dmpmZGRGTlBu
akV5SWROakJES2hWdnN3WmRUR1E4b3JDVzIrK2VaZUpzT2FKblZKCjd0djRON3poRFdvdnlWK3Vy
TzY5OTk3V2VsbExTeE9NL3VYbzMzTExMZFBJc2t4MC9hR0hIcW94WlNWV01aVE9UK3M5anFWMkJQ
KzQKcm1EUG1UUk1xV3h5OFhHTFphaUVLMkUvLy9uUGU5bUY0ck14S1ErTmgzeVU2bFNYK2x5U2dU
Z2R2a3RweVlEZnl3S0x0Z1d5bSsyLwo5YTF2YVJ1KzFGSkxLWm1hZndtWFVybzVXYm5ubm50YTI4
YzBUeW0yZmNzM2pWK1N1VkllVTc1eStab2VkYUNHUjA1ZTA3eU1DeVBTCklYMFp2SGhaV1BMZ0Uv
L0pCTUxMWWtURFRnMS93c3VkS3k4VGZ1Mmo0RnZlSnZPMHFibnlxTFY1ZmZxaWhzbm9vOVJIbE9T
c2IzMlIKaFozV2ZobDJTbnpFWlZ2Q040Y2YvYnNaUTJDY0NIUSt6NUcrSk12cjVCdHV1S0d1UXJD
Ni91TWYvMWduU2RMZzZNdXpITm02OXRwcgozUkpMTE9HZWVPSUpmVnlRMWNMbGwxL2VyYjc2NnZx
Nk9hc1RjcWJkL2UvLy9tOXhnaldLdE5NRVdKRzk1cHBybkV5V0dpOTRpdzByCi9YSGFjODg5ZDJN
djVmT3BwNTV5ZDkxMWw5S0hua3l3RkpOQU85QmtOd0VzcElEVkM3emc2eTF2ZVl2YTJSMlN3YnJq
TXA4MEVIcjUKdnc5K2hHVVhnb3V5TXBIUUZkdXR0OTdhUGZ6d3crNjk3MzJ2WHVvNytPQ0ROWDNj
U0k4TDNqSzUxUFE1VGlDTnVINnpneVVUVFYxdApnaGE3UVBIUk1leUUzM1hYWFRWODJ6K1piT2hs
UkZhSE1LeStzbnNtamFQYVdhbVZTWjUrcC9pb1k0OS9hZnhhdVFUU2FEZGlOMmZ0CnRkZFdwNWU5
N0dXYVgrUjEyREpxNHlIbFZUcHFsWjlOTnRsRWVlRG8xUnZmK01iQW9pdkpYNjZzeUE5eWxxdVh0
YlNhUkovNXlORUgKcTFpV0Njb3FKVEtCWVJlTlBHTEFNWmkyZGlUNGg3b1M3TG5mRUtaV05ybTRx
VnNKMXpSc2JBODh4RzU4bCtwVXJUM3NXeTZsdEdRZwo0bVN5NGJiY2NrdmRnWlNCcSs3cW9zMlFP
bDd6TCtGU1NqY25LOGhCcVgxTU1RellEbHErSVg2ZzJ5WnpwVHlHdU9FM2w2L0pyZ09ECjRoSHlF
UCtPQTZPWS9nMDMzT0M0bkIzL3Nhb2ZteTc0MDc5c3NjVVd1cU4vNG9rbnVnY2VlRUIzNzNMbFVX
cnpTTGRQWHhUenlYZXAKandoaDIrU3NiMzFaWlpWVld2dmxMbnlFc2kzaG04TXY3dDlEbnV6WEVC
Z2xBdFVqV0NHeElNUTV1NnlNNjFFci9CZ29NK2hnZXg4agpsNVQxT0ExSHJqRFFpV25OTjk5OGpx
TlFKUk9IRHpSQytENXBoemo4eWdxZ0RxZ1hXR0NCeGpubHJmSElmSlR5eVpFdUJ2STBsTExECjRk
ajI1dWhUTUhGKzRqUnZ2ZlZXSGFUUlFBVVR0a0JwVEYvOTZsZjN4aTlPQzVyZ0hSdU96MkdZSkJK
V1ZvTzFVZi9rSnorcFc3NXgKSjhHRUxBd2lZeHBNNU5qU2xwWE4yRG43dmVPT096cFpGZGVCOFBy
cnI2L0hkcDUrK21rOU9vS2RpVWw4aENYR0owdXc0aGpIcjVWTApJUFh0YjM5Ymp3bkYySEYwRERO
c0daVjRpSG1sdzJiQ0Y1K1I1dGhjNEtra2YvQ1psbFVwUEJPRlVsclFTMDFLSC8rWWYreklHdWtH
CncxR3lNS2tMYmlFLzJPTzZuUHJMYXB3RGsyQ1k3RkFmTUlGR3JXeG9sOXBvQkxvbG5FS1kzRy9n
SWZYRHZWU244SS9qeHUwaHZQWXAKbHk1cHhlMFF0TUdjU1QvdE0vSGIvRkVWM3RhdTE5Sk5aYVZV
QjFMOHNBZDhhdVViNUNHbEVlSUg5OWdleTF6ZnNrL3pGWGlONlkreQpEZ1QrdysrZ2VJVDQ4Vy9N
TSs2eGZSaU1RaHIwZy9GaUgrNzBHN0hwZ24vY1h6Tm94aUNic2d2UXE4MGpYdCsraURqQmxQcUlF
S1lOClE5eExiVUlxVjZYd2ZmaW80WnVtRy9KaHY0YkF1QkRvUEFIcHlvQWM2OUhMc3F4c1Q3YnBr
L2Jqano4K2xBNy9XbHFzOUtDaTlvd3oKenRBejg2Z2dESVA5Tmx3NDN3cGR6bWt5Mk1RdzBPTHlN
WVAwVVJoVzB1T0dNZjZHUG5jKzJJWGhiRGhuaU9ua2FvYnovRXpvMkUzaApISG5KTUloaFplalNT
eS9Wd1RWcWRlR0plemZjdjJHSFpweW1TN2x3RHBuN0REa3ppakxxd3NPamp6NnFzcER5RU1xckpu
OXB2Rkw0Cldsb3ByYTUyT1hyb2R0OTlkOGRGV080MHNZUElKSE1RODdPZi9VenZsNFM0NEpBT09H
dGwwNFZHQ2FlUWR0L2ZRZW9VYVF4U0xuM1QKb3U3UnZyU1o0Ri9EcFcrNlhlcEF5bE90Zk5Qd2Zl
MjFQUGFsUi9oUjFvRTAvWEhqa2FhSGZSd1loWFQ2MG1ZbmxRa2VmemxUb3pkTQpYMVRxSTNLOHBH
NTk2MHRiK0Q1ODFQQkllVFM3SVRCdUJBWStndFhHMkhKeUVaMEx4UEd1QmtjLzRwWEh0cmh0N21I
UTFlWWYzUHVrCnpkRXdPWVB0R0pRRUU0NUNCVHUvNGFoUTdNWjNLUzNveXBsK0p5b0Q5Y2dPQXpB
RzJNRzA1WWNWU1I0YVE5OS9NTkRoZUZMWVFRcnUKNC9obEIyUC8vZmZYSFp0NEY2YVdGaDBBcSto
Y3d1UlNmYzB3S0wzc3Nzc2N1eXh5ZDBpM3dya296a3Jzb0FQVVdwcjQxOG9sMEtCagpZMVVOSlFE
QklCdnNRZzFiUmwxNVlQTEtyaFFyL3psVGtyKys0V3RwNWVoMWNlUElHTWNQT1NxQ1lnTXVYZmMx
b2E2d29JR3lpdkFICjNXQkNtRnJabEdnRVduMXhEZkVDRDhFZWZnZXRVOFR2V3k1OTAwSzJlRGlQ
dHhweUp2WXY0ZEkzM2E1MUlQQVVzSzJWYndpZi9vYjQKcVh0cUwrVXhEZHZWUHNvNmtLWTVLQjRw
SGV6VEU2UEFUMS84V1VSa2h4N0ZGam5UaGQ2Z2ZWR3BqOGp4RXJ2MXJTK2w4RjM0Q0dYYgpCWStZ
VC9zMkJNYU5RS2NKQ01kQVdJM0R5R1Z5MVpqRDZrc3dhR0hnRC9QV3Q3NVZOWWx3WklXd0RLQ1BP
KzY0NXI0QUtpempRVDEwCkdIUzNtVkdtSGFmQmxpMG1hTFNTaTJHNlVodFBRdGg5UURzV1BOUFlN
U0NsdzhhVThra1lOQjFoNU9LNjIycXJyWm9kalZ4K3dJNTAKdWZ1QVpnOG1jTUV3Y0tPakNmejJ4
VTh1NkUzQWwzeUNOKzZZY1BlQ011RXNPTDgwZUlSaFY0T0pKTHp4UjloUXpvRS8zUEJEc3hIYQpo
L2JhYTYvbVBsQUlrLzZ5RmMrS09NYzkyRkxuSGhDN1Ewd0tRMk1aNGlBZkFSL2N5SC9nUFdjUDhj
SnZITDlVTGlFOHZ6dnNzSU5xCm0rS01NSmp3aHpZbnp0QVBXMFlsSG1KZTRZR1Y2U0NmOE1VOUsx
YXhLSnVTL0JFMkxhdFMrRnBhMEV0TlNoLy9tSC9zYUZrVHBSTk8KbEJTNG5YYmFTWTlJNEI0TTRm
a0xobktPNVN1dEt5RmMvQnVIWVlKUnF6OXgzUEFkeTFRSko4S2oxWTQ2RXZNZDgwQ2JGNXRhblNy
Vgo1NzdsVWtzTHZrTDd4VGNUUW5ZdjQyTnhiZjRsWEdycHBySlNxZ1B3RlpzWTIwSEtONDQvYk44
Vjg4VjNtaS9jSnJNT2RHbUxjdklLCm43RVpKMGFoUHFmMWd2VHBXMkwza293RmZ1T3hBdmNmMkRF
UGR4YlQ4dWhDcjA5ZkZIamd0OVJINEY5cTIvcldsMUw0N2JmZnZyV3YKZ28rNGJEbDV3STVKMjln
c3hZLzRqQmZRVmhyR2Y3aVpNUVJHaG9BTUhxdEdWTFNxcGlTMEY4a1JHOVVDSXhlanZLd0llMUhm
NW1WMQozc3RnU2JWVFFFeFVxbm9aWUdvY3VUUGdaWFZiMDBEemlsUUkxZVlqNXhHOVhFVDBhR1Fp
N0hYWFhaZmxZMVJwNTRqTEM2eWFGMWxwCjlEdnZ2TE5xaUlxMVlJbXFQQy9idEtwcFE5VEZxcFlm
dVhqZmFJbHF5eWRhSytRQ3VKZHRVeStxYkwzc0txaW1EbmlJOHlPcnVWNk8Ka1hBRFhSOVlRanNH
ZUlMdHlTZWY3T1dNckpjTDZWNGFJR1cvTDM1Z1RONTR3RWtHR3g1Tk45SUlhWHBvdjVJTDBWNVV6
YXBkR2pJdgpxLzZxNVVxT2Y2bG1LalJTeWJFWnhRYnRWbkkzdzhza3djdmtTdm1SWFF4UFdQSjYw
MDAzZVptZ2FYakNmUFNqSDlVd2JmOUVwYTFIClMxY3dSeDExMUFRNzdqTDVtNENQSEEzemNpRmMr
UlcxckQ2MWcxOXMwdmpJYTF1NXhQSDRSbWFSWGNwR1ZwazByUkJtbURKcWs0MlUKVi9JaXg5Uzg3
QzVwL2FKODVFNlJhbzNCSGRNbWYvaW5aVlVLajE4dExjSUVrNk9mNDErTzVDbCtZQ2lUVFpWRDZn
SjVReXViSE85UgpXVzlyUitLNkloMW5TSDdDYnhxbVZEWVRJajVqZ2U5WXB1Q3REVmMwK01pQVhm
T0UvQ0x2bUpTSFowanJqeHlkYksxVGFCR3N0WWQ5CnlxV1VGdmxDTXg5YTdLaHJNam4wYVBXVDNZ
aUczWnAvR3k2bGRIUHRSbHNkYUJpSlBsSnMrNVp2SEgrWXZpdGlTVCtuU2gwbzRkRW0KcjJsZXhv
V1JLRTlSclpMVWY3bXYwZlR4MUdYU3hGMFduTFFQa3VPM3lsYWJqT0ZKbnlXTGdsNHVuL3NQZmVo
RC9wM3ZmS2RxMjhRdgpWeDY0bCtqaGorblNGLzByNU1UL2JYMUVyVzNyVzE5SzRhblhiWHpBYlZ5
MjRONkdSeHQrc2hpcFpWVFRiamtSR2JNWkF0MFFtSVZnCjBoQlVEU3V2WEI3c2FsalpROE1LVzRT
bE04WmQ2STB6YlZhSU9PZk1uWXUzdi8zdGVsOURCaVVOVytTRFZSY3VhTEh5bmg1Tnl1V1QKRlZK
b292R0k4UEdsYWdqWDhrT1I4SVlITk5Ca05kbUdWU3Z5aThubGVSVDhTTU9wdXlDQlZtb1A3cVA4
clpWTG1oYmx3QTRlMm9wUwpNMmdaOWVVQjJXT1ZrTHJIaW1HcWp6NG5meW12c2IwVXZwWldUS2ZM
dHd3UzNIYmJiYWQ4YzFTQytvQW1GcG5zcS9hekxqUnFkUVVhCmFaaEJ5eWJtcDRSVEhDNThwendF
OS9BN1RKM3FXeTV0YWZHV0RkcXYySkZtaFRaVktGSHpKeThsWE5yU0RSaUUzNzUxSU1XMmIvbW0K
OFFNZmJiK2xQTGJGYVhPZmpEclFGNDhjcjlNVG81U2ZHdjRjNGFNOTdEcXVxTkZMKzU3VW52SVgy
OEcrclkrSXcrVyt1OWFYRUxjVQp2c1JIV3JZMVBFSjY0WmVqd0dsYkVmenMxeEFZQm9IT0U1QmhF
cGxSNHVZbUlETUs3OGFuSVRDVkVPQUJUQ1liM091SkRjb1ltRlRMCnptZnNiTitUZ0VDWVlKeDY2
cW5aMUdyKzJVam0ySXFBMVlGV2FNekRFREFFREFIWHJ2N2tXUWdPbDhWWmJXWTFJYjJMOEN5RXc3
SnMKQ0F5TUFCcXF1UHZCT1hYZVVXSDFqdlBIbkVPMnljZkFzQTRja1YySGNJOHRSNlRtbjR0amJt
VUVyQTZVOFRGZlE4QVFlSFlqWURzZwp6NVMvbklGMDhqSzcybmcwall2alpnd0JRMkJ3QkZDcmpK
NTZqa3p3V0tsTlBBYkhjdGlZYUtnTEYwbmw5V2g5QXlHbVdmT1B3OXAzCmR3U3NEblRIeWtJYUFv
YkFzd3NCbTRBOHU4cmJjbXNJR0FLR2dDRmdDQmdDaG9BaFlBaE1Wd1E2cWVHZHJoeGE0b2FBSVdB
SUdBS0cKZ0NGZ0NCZ0Nob0FoTU5NZ1lCT1FtYVlvTFNPR2dDRmdDQmdDaG9BaFlBZ1lBb2JBMUVm
QUppQlR2NHlNUTBQQUVEQUVEQUZEd0JBdwpCQXdCUTJDbVFjQW1JRE5OVVZwR0RBRkR3QkF3QkF3
QlE4QVFNQVFNZ2FtUGdFMUFwbjRaR1llR2dDRmdDQmdDaG9BaFlBZ1lBb2JBClRJT0FUVUJtbXFL
MGpCZ0Nob0FoWUFnWUFvYUFJV0FJR0FKVEh3R2JnRXo5TWpJT0RRRkR3QkF3QkF3QlE4QVFNQVFN
Z1prR0FadUEKekRSRmFSa3hCQXdCUThBUU1BUU1BVVBBRURBRXBqNENOZ0daK21Wa0hCb0Nob0Fo
WUFnWUFvYUFJV0FJR0FJekRRSTJBWmxwaXRJeQpZZ2dZQW9hQUlXQUlHQUtHZ0NGZ0NFeDlCR3dD
TXZYTHlEZzBCQXdCUThBUU1BUU1BVVBBRURBRVpob0ViQUl5MHhTbFpjUVFNQVFNCkFVUEFFREFF
REFGRHdCQ1krZ2pZQkdUcWw1RnhhQWdZQW9hQUlXQUlHQUtHZ0NGZ0NNdzBDTmdFWktZcFNzdUlJ
V0FJR0FLR2dDRmcKQ0JnQ2hvQWhNUFVSc0FuSTFDOGo0OUFRTUFRTUFVUEFFREFFREFGRHdCQ1lh
UkN3Q2NoTVU1U1dFVVBBRURBRURBRkR3QkF3QkF3QgpRMkRxSTJBVGtLbGZSc2FoSVdBSUdBS0dn
Q0ZnQ0JnQ2hvQWhNTk1nTU5JSnlCLy8rRWYzeUNPUFREZHcvdktYdjdpYmJycHB1cVZQCndyLzYx
YS9jTjcvNVRmZmIzLzYyeWtmS2IycXZFaGd5d0c5Kzh4djNrNS84WkdBcWp6MzJtSHY2NmFjN3gr
OGJQaEIrOU5GSHcrZEkKZjMvOTYxOTNLcWRoY1VxWm50NzFKT1VudG84NnJ6SHRmL3pqSCs3SFAv
NXg3TlQ3Ky9lLy83MTcrT0dITmQ0Zi92QUg5K2MvLzdrMwpqVUVpaklMM09OMlUzcmhrUEtSWks5
ZVVuMXI0UUhjVXY1T1pWdDgyOXNrbm55eG1zUys5SXJFV3p4bytVN2s5YWNtU09Sc0Nob0FoCjRK
eXZtTTAzMzl3dnVPQ0NmcE5OTnZGdmZ2T2IvWE9lOHh5LzdMTEwrbTIzM2RhdnM4NDZhdi8wcHov
dEw3MzBVai8zM0hQN0UwNDQKb1VKeFBONjMzSEtMWDIyMTFmenpuLy84OFNUUWdlckhQLzV4ZjhZ
WlovaWpqejdhTDc3NDRsNEdSNjJ4VW41VGUydkVFWHJzdi8vKwpmcFZWVnVsTjhkNTc3L1diYnJx
cFgzWFZWYlhNRHpyb29DS052dUZqWXRkZGQ1MWZkTkZGWTZjSjMxZGZmYlZmZWVXVi9TeXp6T0t2
CnVPS0tDWDczM0hPUDMzbm5uYjNVYzcvMzNudDdtUnlyLy9lLy8zMi8wVVliK1Zsbm5WWDl0dDkr
ZS8rblAvMXBRdHpZTWloT01ZM3cKUGNwNlFuN1hYSE5OemNQYWE2L3R3U0lZTUtlK2t2Zjk5dHZQ
Ly96blB3OWV4ZDlSNWpWTzZOWmJiOVg2dWQ1NjY4WE9uYjlsZ0s1bAp1YzgrKy9oRERqbkV2L3ps
TDFmNXUvbm1tenZUR0RUZ3NMeW42YWIwa05NRkZsZ2dEVmEwWDN2dHRTckRsQy8xRURuZmJiZmQv
SjU3CjdxbHQwRi8vK3RjSjhVdmxtdkpEeEZMNENZUkhZSm1zdEFacFkrbjNxRXM1TXdpOUhKMmFX
d21mVWJZbk5UN00zeEF3QkF5QlVTSlEKbllCc3ZQSEcvb0VISG1qU25IUE9PZjN1dSsvZTJFODk5
VlRQd0J2ejRoZS9lTHBOUUVqL2xGTk9HWGdDd21SQmRpNGdNNUNSVlNnLwp6enp6ZUZsSjFQamYv
ZTUzcTNSU2ZsTjdsY0NRQVdRSHdOOTMzMzI5cUpDL004ODgwOHVxbk1iNy9PYy9yNFBjdSsrK08w
dW5iL2lZCmlPd2k2VUR6ZWM5N1h1dzh6VGVETVFaaURPSmtSMmVDLzkvKzlqZWR3UHp6bi85VWQx
bEIxOG5UbFZkZXFZUHlJNDg4VXVNZWUreXgKRStMRmxrRndpdU9uc2pYS2VrTGRJKzhNUkZKRDNs
L3dnaGVremtYN3NIa3RFVC93d0FQOUJodHNVQXJTNnNka2FxdXR0bXI4R1dDdgpzY1lhL3JMTExt
dmNVcHdianhGOERNTjdMdm1ZM2k5KzhRdGQxTW1GSzdsZGYvMzFXdllmK2NoSG1tQjMzWFdYbjJ1
dXVYVEMzVGpLClI2MWNZMzZJVndzZjArNzduWmJUT05OS2VldlR4dEtXc0xBQk5tMm1ENzAyR2pY
M0ZKOFV2MUcySnpWZXpOOFFNQVFNZ1ZFaFVEMkMKOWE1M3Zjc3R0OXh5TXNiSm0zMzMzZGZKQ3B4
NnpqNzc3RTRhN0h6QVNYQ2RZNDQ1QmtwZkJtcHVsMTEyY2QvNXpuY0c1dklIUC9pQgprMEdSa3gw
aXBmR2ExN3ltU2l2bE43VlhDUXdaUUFiMmJvVVZWcGlHaWdqWE5HN0JnZTEreW56aGhSZFdwODAy
Mjh6Tk45OThicEZGCkZnbEJKdnoyRFI5SC91QUhQK2hreGJ0YXByUE5OcHZiYTYrOUhPVW9PM05P
ZGpNYU12akphbmxEUTFiTTNmbm5uKysyM0hKTEo3dFUKN3ZqamoxY01Ta2YzMm5CcUVpbDg1R1Jy
bFBWa29ZVVcwdFREYjh3S2VYL3BTMThhTzFXL2g4bHJHM0daL0trWC9JVDYwUmEyeloyagpXeHp2
QkU4TUdGNXd3UVhORWJvY3pvSFczLy8rOS9EWis3ZkdlMS9hT1hxeWErdGtGMjhhM2tyMWtNQ2h6
T00yVnlabDdoV3ZlSVc3CjRZWWJKdEJySzljY1AwUnNDeitCNkFDV1hEbU5LNjFjMmZScFk4ODc3
enkzeHg1N3VJc3V1c2pSanVWTUc3MWEyZVZvdGJuRitPVHcKRzJWNzBzYUR1UnNDaG9BaE1Hb0Va
cXNSbEMzb1loQlo5WGR5RktzSlE0Y21SNURjaFJkZTZPYWZmMzRueDBLYUNjd3ZmL2xMZDlKSgpK
N25iYjc5ZEcvU3p6ejdidmVwVnIycmlobzg3N3JqRHljcXVrNk0zVGxiejNPbW5uKzRPUHZoZzk3
R1BmY3dkY2NRUlRvNzh1TTk5CjduUHVtR09PY2E5Ly9ldmR1ZWVlRzZKTytPMmFIdlN2dXVvcTk5
T2YvdFRkZi8vOW1nNGRDR2s5OTduUFZiZWxsMTVhZVllZjFOQlIKWFg3NTVZNE83NEFERGxDZVpX
Vk04OWlWUmtvVE81MWVXL3d2ZnZHTE9oRllkOTExZFNEMi85dTdEM0E3aXZyLzQ1TU9TVUFSa0M0
UQpPb0swMEVRcEFvSVFBVUU2b29DSVdFQ2tQSWpLbjZJb1VoU3BvaUFJMHBGZXBFanZKYUFJNGc4
UUJDRzBOTkxiL3Vjek4zUHUzczIyCmMzSnU1dWJPZTU4bk9XMTN5bXRtejkzdjd1eWNHMis4MFJ4
OTlOSHVnUFA4ODg4M0s2Kzhzam56ekRPTkhhWmo3cjc3Ym1PdlhIWEoKd2c3Sk1aZGRkcG43WEFm
bFdxNisrbXAzUUtkeDl2WUtRZTc5TkdyVDlITGhoUmVhczg4KzJ5eTExRkxwdHh2UG0xM2ZiNmoy
dFZmZgp6Tml4WS8xYnBZOXJyNzIyMlh6enpZMGRobUlPUGZSUTEvLzhCbmFvbFgvcTBteThzRTkw
OEdhSG9ibGdKUDIrZjU1MXNtZWRYZDljCmR0bGxqVDN6YUJRazZRRGdqanZ1YVBSenY2MGU4L3FX
M20vSGZxSjBxcGIwQVg5VjJiTjFWZG9LNWhTa3FSMjFYK3JnOXFpampuTFoKbHZWUHJUQnAwaVMz
cmdLOXQ5OSsyL3p6bi8vczBnL3I3cDlLYTYrOTlqSS8vdkdQemJiYmJ1djZxUTdhN2ZBejkwK2Y1
em5iSVRMbQo2YWVmZG0ycy9xenZGRHRNMDFRNUtMMnFzdDk3NzcyNWFlZDlkOTEyMjIwdVg3a1ZX
V3l4eFJiSzFpMTE5a08vYnZaUjkyUzkvUExMCkxpRDNuK1cxYTFuOXN1c1gxV241NVpjdi9ENHY2
amZaZHRMZml1dXZ2NzdMOTFCWnY2clRka1Z0NHozcVBOcXJETzUrdmhOT09NRjkKbHlnSXNVT2hL
amVWNnpISEhHTSsrY2xQbW9jZmZ0aWRxRkUvMVFrcE8veXc5RHM5ejlrT2J6WXZ2UEJDd3lmcnA3
K0pXb3ErVC9RMwpUZC9SK3R1a3Y1WHkxdmVodnJPSERoMXFUanp4UkdPdjFydS9xZlpxY0dYOVdB
RUJCQkJvbTRBOTBHNXF5UTdCU20vOG1jOTh4ZzJMCnVPZWVlOXg0ZTQzTjE5aDdMZllMTUxGbnl4
TU5nZEd3SEhzVzNRMk5zVGY1cFpOd3p6V3UyNTdkUyt6WjI4UWUyTHQxTlZSb21XV1cKNlRMRVM4
UERORFRETHhvYXBIc3Z0RFNUbjliWGZTMzJZRkpQM1dJUFpoUDdSOGM5MTNDUGpUYmFLQmt4WXNU
c1QrZDgwRkFrM1IrVApYcXJTU0pkWDIyVmZWMjIvL3ZycnV6SGZQczh0dDl3eXNXZnMvTXZFSHZn
azlpeHg0M1g2aWIxWjN0MGJZSzljdUxmdG1UVTMzTW12Cm8zSDJmamlaZnkvOXFHRWo5bURmMWRr
ZThDZjJac3oweDNNOGIyWjkzYXZ4azUvOHhLVWhWMS9HT1JLZC9ZYjZtLzNEN0Y3cEhnRzcKY3lR
MktHMnNYdFp1OWc5M1lnK2tFaHNVTjlaUFA4azZxUjZycnJxcXUrOUU5MXk4L3ZycnlXcXJyWllv
MzZJbDI3ZmF0WjhvUHo4RQo3dmJiYjgvTlBsMzNxckpuNjZvRWRhK1B2OC9DSHN3N1cyOVYxVDkx
LzVnTkpGMjUxSmMwSE13R0VPNTFzL3ZudUhIakV2VnZ0YTM2Cmd6MWg0TkpKLzVkMlZuL1U5NFVm
Vm1rUEpOMTlhMXEveWtIcmxKVzlMTzJpNzY2eTlKVGYrKysvcjRla21mMVF3NjNrb1NHeGN2N2wK
TDMrWmJMREJCc2srKyt5VHFDMzlrdGV1WmVYSnJwOVhKOTBYVWZaOVh0WnYwdTJVelV0bEx1dFhW
VzFYMWpaS08vc2RxL2Z5Rm5zQwpMYm4xMWx2ZFI3SXF1bGN1bTU0OXNFK09QUEpJdDUyOUt1N2F4
NTUwYzk4VGVyT3Nibm5PdXM5RTkzQ2x2d1BUZmtxejdQdkVCaUR1ClBqRTdpc0g5TGJVQmt2dWJh
VTlRdWI5M0d0NWxUK1M1b1dZYThzcUNBQUlJekN1QnlpRll6VVk2OW9ESGJMMzExa1puaUhYR3hj
OTYKWXcrVWRMK0pHK1preCt5N00rYjJqNjU1OE1FSDU4aENWMFUwSkVGbm1EV2tSbGM0TkZSSVZ4
L1N3dzNzVGU5ZFhxY1RhaVkvdjUxUApXK1hUMlN1ZGRkV2lNOXoyNWs1ai95QVorMGZDcjE3Nk9M
ZHAxTmxld3dQKyt0ZS91ck5mS295OXNkcGRjZExaTGkzMndOellBTTA5CnovNm5xMHU2YXFBMjBh
SXJEZmFBeHRnRFdmZGFRNS84Wis2TnpIODZ3Nm5oVi9hUHM5RVZGMTNaS2x2cXJxODhkVlhoUnov
NlVWbHkKaFovWkF3SjNWdnp3d3c5M1o2Z0xWNXo5Z2M2KzdyREREc1lHYzdtclpwMTA1bjJsbFZa
eWR1cnJPZ3RzNzJ0d1o1MXpFNWo5cHU5YgpmcDEyN0NjK3JicVBWV1hQMWxXenVZMGNPZExZRzl4
ZEZ2YmcxdTJMcW5OVi85VFZCL1VsZndWVlYyTGs3SmRtOTA5ZGdiRVRFcmgrCm9abUpkdGxsRjNl
bDBxZm5INzJ6OXRsZGQ5M1ZhRWlTRmcxanNRZk43bm1WUTFYWnk5TE8rKzdTTEVabEZpcVVQY0Iw
Wld0MlA5UkcKR3BaakQ4emQvbXNQNkkwOUNEZksweS9aZHEycVgzYjl2RHFwWHhSOW41ZjFHMTht
MzA3WnZLcjZWVlhibGJXTno3dk9vNzdyYlJEbApWdFdRVXp0UmdMdHlWcld0cmlxcnIyblIxVGJW
VDB1ZGZTYlBXZnRlK252YUpXYi84MzcrZGRIM2liNnJOQXhUdzZUMXQxUi9RN1h2CmFDWTVmY2Vx
ckJwZG9MYjBzOHY1TkhsRUFBRUV1bE9nN1FGSStvdFJZNVQ5MkZrZHVPdkxUbU5tOVUvRHRqUTBT
QWMxZVl1K0tQMlgKZDk3blZlODFtNS9TODJXM3M4SzR2UFhIekMvMkNvaDdxais4ZFphNVRhUE85
bnZ2dmJkUkVPZnZYZEdsZWczQjBCQUVEU0hRWlhrTgprU3RhVkY5Zlp4MEE2WUR0eTEvK3NodEda
cyt5dVV2MVJkdnE4ejMzM05ObzZKZUd4V2dJV3RsU2QzME55OXQvLy8yTmdzdFdGZzAxClUxblVm
Nzc2MWE4MjdoSElTMHNIZXpvUXRqZng1bjNjZUMvdHBEZXpyM1VQakx6TEZ1L3MxMG0vbnB2OXhL
ZFg5N0dxN09uUGRYSkEKUTBmU1pkWEJtUGJqcXY2cGV4QjBFc0hPb05jb21vWjgrTFJhMlQrMVB5
bzRWZi9XZDRPR085cWIwQnZwNjRsUFg0OEtSdFhHQ280ZgplT0FCbzJsNy9hTFAvYnA2TDkyR1ZX
V3ZTanY3M1ZXVm5pK1RIcHZkRDdXTmhzVXA0TDd5eWl1TnZWTHM3cFhSU1NCL0lrTHJwT3RiCnB6
enA5YlY5dGs1bDdWZldiNVNXbHJSOU9xK3FmdVczVFcrZmJqdTlYOWJ1THZPSy8vUWRiNjhNdUh2
Rk5IeEo5eDdwYjlZNTU1eFQKc1dWSFA1S05YelRremdmd2RlcVdkVlk2YVIrZmJycitmaDMvV2Zy
N0pQdVpYc3NydmZoaHN2cGJ3b0lBQWdqTUs0SEtlMERhVlJCOQpvZXNtVkoybG54ZkwzT1NuY2J6
YVhzR1REcHEwNkN5VXlsLzNkeS9tTm8wNjIrdEFVR2UrN0F4STdrQlBOMXZyVExQdW43QkRWdHla
CnJtYXNyN2ppQ21PSHlSZzdsYkFiNzYrcksvNlBVMUU2eWsrQlM5VkJ2TisrYW4zZElKNGVpNnl6
dXpxanEzTFkyV2pjQWFoUHEraHgKMkxCaDVoSjdENUxPOU8yNzc3NkZOejdybmdMZEo2UDdmSHJL
MG15LzFiMUpXclJkM3BLKy95WHY4N0wzZEkrR2d0cThwYXAvNm5jdAo4c3JrRDV5YXFhY2Q1dWFD
SG4vZ3BQc2xkQStVVG1Jb0FDbTZ5cWQ3UG5RbDgxNy91VGdBQUNBQVNVUkJWT0tMTHphNlQwc0hn
SFdXCnFySXJqV2JTcnBOZXVseXQ3SWQrZXdYZ2RscHBkKytON2oyeE00ZjVqeHFQelphbnNXSHFT
Vm43bGZXYlZCSzVUNnY2VmU1R21UZWIKYVp2TXB1NmxycmpyNnJMLzd0ZWIraTdSMVZJRkk4c3R0
MXplWnU0OU8zVFYyQ0Z4UnBPUzZIdEZKMUw4L1QzdHFGdGh4azE4b085Zwp2eDlxcy9UekpwSmhW
UVFRUUdDdUJOcCtCYVNvTkN2YW1iUjB4U045cGxpWGZYVTJycGxGWi9YckxLM2s1NytJZGViV2ps
azM5dmNpCkdsbHBhSVBPS0dwWVdKMWxidE9vdTczKzJPa2c3UGUvLzcyeDk5dTRQNXk2OFZ6RHIv
d2Z2anJsMVJBTzFWR0JoSVpCNkErb0FwazYKaTl6OEZhSzVYVjlER0ZSMi8wODNnU3I0MEdzN0Zq
bzNlZldKYkwvUWdaZHV5bGRkOHM3c2FaSUF6Wnlsb1lKKzBZRlRkeTIrYjFXbAozMnkvVldDc0lN
TVBkVXlucnlFVlBrQkp2MS8zdVlhTjZJY3FOVEdEWDdUUDZneHhWZjlVSUN0M25aSFBXNXFwcDlw
RlFYRjYwWldaCkZleFZPQjBRcGhmdnJDRXp1bWxZN1p5K2twbGV0K2g1VmRtYlRic3F2WFE1NW1Z
LzlPbDRBMzJINVMzTmxDZHZlNzFYMW41bC9jYW4KNTh2b1gvdkhxbjdsMXl0NmJMWnRzdW5vaXBu
MkcxMkYxWWtWLzgvZWsrYitKaWk0S1ZzMHpGRERWL1c5b3drUWROTzhYK2EyYmo0ZApQUmI1cGRm
aE9RSUlJTkNUQlpvS1FIU1FwNmxtaTM3bFcyZDQ5TTh2R3ZldmYxcDBKbG9IRWhyQ29USGNPdGc5
NmFTVGNxZUIxZm82CjJQZmI2clVXSFd3OThjUVRyZ3lhVlVjSFJ1bXh6aXFienBocmFUWS9EUlhS
bVVFdHVrcWpBMU1GVEg3Ukh4UDlBZkhqZ3YzNy9sRXoKUjhuSDExOW5aYXZTU0pkWDZhUmYxOWxl
MitnK0RKMXAwMEdvL1IwTWR6K0NEdGcxSzFYVkh5bVZWY1k2cUpTalp0L1JvdG1uZEFDZgpQZ1Bv
UHJEL2FSdk5tcUp0dE9nZ1IzOXNUejc1WlBkYS8rbUtoWWJLeUxQWjlUVnVXc0dNLzJkditIWUhr
SHJ0RDZiVDZTcy85VWYxCnAreWlNbWptbWV5aW1XWFVCK1d0OGZDYWdsZER2elFMVGQ2U2R0TG4y
aTRkOE9qem9vTTlyWi91VzhwWDYrdWZYK1ptUDlFWlZudGoKcXh0MmxyN2lvUExaSHdVMTlnZnFm
RGJ1c2FyczZicHFpSjNPcU90c3NPNmYwRC9OOEtNendGWDlVOXZxaW1GNmhqb0ZTU3FqckpyWgpQ
M1ZGUzRGeE9walJnYnI2Vi9xK2tyU3pUaDdJUUFla3lrOURzSFR5US8xVy84b2Nxc291aDdLMHM5
OWRWZW1sRzZqdWZxaHQvUGR3CmVxaVYrcEtHWW1tSTJwWmJidGxJT3R1dVpXMmpqZExyNjNXMlRt
WHRWOVp2bEZhNm5meis0TCtIcXZxVnRpOXJ1NnEyMGJiK2I0VFMKeWk2NlVxYnYxT3lpdnozNnB3
QkUzL1YreWFhbldhWDBuWFhZWVljWk94bUFHN3JtMTYxVHQ2eXp0czIyUlo2ZjF2RkwrdnRFNzZt
Kwo2ZThuZlgvcXRYZncvU2Y5bmViVDRoRUJCQkRvTmdIN3g3aldZb2RpdU5tb2JFSGNENzdwQndn
MU00MWZORnVWdmJUclpndXhaMGdUCmV6RG5mcGpRL3FGcnpGaGpiMVpPN01HeW0zSEQvb0djNDVl
cmZWcjZVVFg5cUo4OWlFN3NRYkYvTzdGanZ4TTc3Q2l4QnlTSlBidnQKWmdleFk1M2RURGMyTUhF
endLaDhkbXBDTnl0VDNmeVVnWDZRemg2d3UxbWxiS0RreXErWlQwNDc3YlJFTXd6Wkc5SkxmeEZY
di9Dcwp2TzFVbTRrTmpGeVpaVkNVUnJhOGRxaklIT1V2Mjc2QllwOG9UODEyNHBlZi92U25YVjc3
OTlPUHluL1RUVGQxWmJZSGQ0bmF6TjZ3CjZINVVVai9TcDEvZnRYK2cwcHU0NS9wUlNyV2Qyc0Rl
eE9qV3MzLzB1NnhuRC9xY3BUM1FkejlpMmN6NlhSS3lMK3hRbXk0endPanoKZFBxWFgzNjVNMVpm
VVh0bmwvLzk3MytKdmErbDhiWTlJNW5ZTStLdTNtb3YvOCtlRlhZenB6VlduUDBrNjJTdnhDVDJB
TURONkdUSAplaWVhaVVnenlxaGY2MWZiODVaMDM3SkR6TnEybi9pOE5MT2M2bWduYW5EOTE5NGJr
ZGdoSTRrTm9QMHE3dEVlaEplV1BWdFhlNkRpCjlsRzFuNXpzbWUxRS9kUXZWZjFUKzdFZE51VytC
L1JyOHlxanZYTFIrTkhFWnZaUEcvd25kbElMOXl2b05yQjBzKzE5NjF2ZlN1d0IKb0M5T2wzMzRQ
Ly81ajV0Rnp3YlJibVk0elFobmd6WDNpK0YxMnJDczdIWVlabUhhNnZONTMxMWw2VFVxWUovb2U3
Yk9mcWkrcGhuRgpmTHZvRjlEMVdyTmcyWHZEa3YvKzk3K05aUFBhdGF3ODJmV0w2bFRXZnZZcXJQ
dWU4T1ZMOTV2MC9tQ25yKzd5UGFRK1Y5YXZxdnB3CldkdmtmY2Mya093VDFWTS9acW9mdkV6LytL
N1dzY05SWGJ1b1B2cmNuZ0JMNUNSdnZlZi81dGdidWh2ZktmYWtrUHRoWEgyWHFsNWEKeXVxbU5z
bjJuV3hiS0oyMFg5WDNpYjZqOU4xbWI5NVA5TjJuL2NJTzIzVmwxT3hYOW9wUFlxZlpkcSsxajlx
ZzNwV1QveEJBQUlIdQpGdWlqRE93WDZEeGJkTVpJd3laMG1WNW40WnBkdEwzTzN1aG1QWjNCcVJw
ZTBVeCtPanZyWjZOUnVVU2plZFExWmxhemliU3l6RzBhCmRiYTNmNVM2M01lUWZWMm4zRHI3cFhw
cUNJSk15MjVlVjNvNisrcC9qREF2ZlEyL3NRZXVqWSthWGIreFljR1RiUG9GcTdtM1ZTZWQKTlF5
NVpQdFdWVm1hNmJjK0xlMFB1a3FncTE5bGJlUFhyL3VvUHFnclRKcUJLTHRVOVUvdHF6ckxyZjFL
VnlCMFJTVzkxSzJuN3o4NgowMnNQb3R6Vk1IOVBTRHE5ckxQT0J1dTdRa3VkNzR0MFdsVmxiemJ0
cXZTVWQ3UDdZYnE4elQ2dlU1NnFOTXZhcjZ6ZlpOc3BtMDlWCnY4cXVuMzNkYk50a3QyLzE5Uzkr
OFFzMytZWDZ1aVk5MEhlUEpyclFsVWgvLytQYzFrMWxxL0pydGZ4c2h3QUNDTXdyZ1hrZWdNeXIK
aXBFUEFnZ2dnQUFDODBwQU0yWXAyTkQ5YXVsRmszbm9CSlorSEpZRkFRUVFRS0JEZ0FDRW5vQUFB
Z2dnZ01CY0NtamlEazJKcktuTQpOYjI4cnNMb3ZrZk5WS2gvTEFnZ2dBQUNuUUlFSUowV1BFTUFB
UVFRUUtCbEFVMS9ydDlCMFNRSitpRmVybnEwVE1tR0NDRFF5d1VJClFIcDVBMU05QkJCQUFBRUVF
RUFBQVFSNmtrQlQwL0QycElKVEZnUVFRQUFCQkJCQUFBRUVFSmovQkdvRklCTW1KSGJtcW5vL0FO
aE8KZ2xHalp0blpsanJ6emI1dVoxNDlLYTBQUDV4bGZ3QXUvMGZFNXJhY00yY205a2ZydWlmdHVT
bmIvTnkyclpUOXJiZG0yVEhpeFJQUQp0WkxtM1BpM3VxMmRGZFQranNxTTJwdDNaOSt1WFlnZXVt
S3psajIwR2hRTEFRUVFRQUNCU29IS0FPU0tLNmJaNlRmSG1zc3VtMXFaCldMdFhPT2FZeWZZSDhq
b1Awckt2MjUxZlQwbnYrT09ubUYxMm1kRDI0anoxMUF5ejdycmp6YmUrMWZtalZXM1BwTVVFNStl
MmJhYnMKVHo4OXcyeTk5VWZtamp1bW14Tk9tR3krOFkySmRucll6ajd1K2JKcC92U25rODF2Znp2
RmZiektLdVBzMUxhejdBOUhUck0vNURuTwovdURrR1B1RGl4K1p2ZmFhWUgrWTd5T3o0NDRmMlY5
Zzd2aEJUcDllZHp3KzhjUU1NM3o0ZVB0cjBmWDdhbmYxN2J6NjNYcnJOTFBHCkd1UHM5Tkpqekkw
M1R1dXl5a3N2elRSZis5cEVaM2Z3d1JQdGp4cDJudWpvc3VJOGV0R3M1WWdSRTh3aWk0eTFQNHo2
a2Rsamp3bjIKaDBqSDJGOG5IMmVuZ0oxZ1B2ZTU4ZTcxbi80MDc3K3o1eEVYMlNDQUFBSUl6T2ND
bFFISVB2c010TC9aVWI2YXp0eWxEM2l5cjFzeAptakVqTWErOU50TWVZUFZ6bTJkZnQ1TG0vTExO
U1NjdFlBK1locmE5dUJ0dTJOLytPdklBK3pzZmJVOTZyaExzYVczYlRQOU5sNzFxCk8vdTduWFky
bkFubXFLTVdNQWNmUE1pY2V1cGc4Lzc3czh3UGZqQzVpMTg2VGYvQkxiZE10Ny9RUE1DODhNSk0r
enNmZmUzQloxK3oKNTU0RDdhOHREM1NybkhQT2d1YXFxNGFhMjI5ZnlLeTFWajhiNUV3d2YvMXI5
d1loRzIvYzN3WlFnM3dSYXoxMlY5L095M3pFaUlIbQpONzhaYkgvUHg5aHlUcksvNmRONTVXK05O
ZnFaUC81eHNQMnRtajdtd2dzSG0yV1hMZitPeTBzLysxNVYrMmZYVDc5dTFsSkI2N1BQCkxtVHV2
SE1oTy9YclVEUFFkb010dCt4dnJydHVxSG40NFlYTmFhY3RhSDkzSlowRHp4RkFBQUVFRU9nNUFy
WCs2ZzRZME1lZUtjd3YKdFA0UTZremlRdzkxRE1QSXZzNXVwUjlocXJNb3ZjOS92dk5JT2Z1NlRo
cno2enFMTHRxM0VYaTFxdzZ6Wm5XNDY3Y2Y3ZThOenZPbApyTjNiMWJabGVkU3RjRm4velV2Zmw3
MXNPNS8zVFRkTnN3RkhZdnQxNXc5d2JySEZBSHNBUE5YT210TjVCdDZuNmJmVDhNY3BVeExYCkoy
NjdiYnFkNXJOenYvajR4enQyekw1OU8zZlFiMzV6a0R2bzFyck5MbmwxTEV0REI3NUYzdzE1MjdY
YXQ1c3RsODliL2YyZ2d3YTYKcTB5NzdUYXh5N0MzL3YzNzJDczQvV3o1TyszOGRzMCsxbW4vZEpv
S01yTkxNNVkvL09FQzlvcEh4OG1aYkRwNmZjZ2hnOHluUDEzOAplZDQyZXE5VjUxYTNLeW9IN3lP
QUFBSUk5RzZCMm9laTlvZXl6ZkhIVDdhL1FEeldubUVkWjMrTnVPTnM0bTkrTTlYY2ZQTjBlOFor
CnV2bjYxeWVhWC8xcVNwZlh0OXd5emV5OTl3U2pJU1RISGp2Sm5yMGQ1OUs0NTU3T2c2T1RUNTVz
NTA4ZjMwWDZwcHVtbTUxMzdqelEKOHEvLzhwZHA5cXpsV1BPVnIweXd2ekk3eTF4eXlWVDNldHR0
UDJxYzRUenp6Q2x1U0lvTzJycDcvUzZGdGk4MExHYVpaY2FhczgvdQpPUDE0MVZYVHpHcXJqVFBm
L3ZaRXQ2cXVGR21vekZGSFRUSVhYVFRWL2tEVk9MUDY2cDJlNzd3enl4bHV1bW1uaCs0VitQR1BK
OXN6CjVsUHNXZThKNXZUVE8wOXQ2djZjNzMxdmtqbnl5RWx1Mk5aaGgwM3FjcEExYVZKaXZ2T2RT
ZVpuUDV2aXl2RDAwNTFuZ1ZXZ2Q5K2QKWlg3NHcwbG1peTArc25QWGp6ZVBQMTQ4bnI4c3IyZWZu
V0VQZWlhYW4veGtzdm41enllN05ubnl5UmxHK2F0OEo1ODh4WHp4aXgzRApoRlNQaHg3cWJIL2Z0
a1ZwRkpWUmZhaXFielZiNWgvK2NIS1gvanR4WXVMYTlQenpwOXAybVdvKys5bk9kcEdmTDN0MlAz
amtrZWx6CmVNaGUrNUZNL0xMeHh2M01ERXYrL1BPZDdlTFRWTjc3N2p2UkRhdlIrcjd0SDNoZ2h2
bnVkNHVIMGYzem54MXBiYk5OWjZDajdZc2MKOVpuNmJWNGR5L3kwWFhyUmtLY2xseHpyOW1WL3RV
RjlZUG5seDVtNzdwcHVzbjI3YWw5UTJuWDZUN29NZWMvWFhydWZyZHRnOC9lLwp6elNISHRyVnJW
Ky9yc0ZIa1ZIVmZsMm4vV1Z4NzczVDNYNTg1cGxUeldhYmpYZFh0UExLWFBYZWR0dDFmamZtclR0
a1NCK2JmbitqCkliU2YvdlE0Tnl6UDMvdjFqMy9NTlBwK2tYK2RmYWpJUlBrVzladThNdkVlQWdn
Z2dBQUNEUUY3NXFweStjeG54aVhyckRNdXVlZWUKYWNtYmI4NU1WbDk5YlBMTmIwNW9iTGZDQ21P
VFUwNlpsUHY2UC8rWmtYenlrMk9TRlZjY205aUR6dVNCQjZhNXRKWmJia3hqL1hQUApuWnpzdlBO
SGpkZDZzc2ttNDVKWjlyUzlYOUt2MTE5L1hITGdnWjM1YjdubCtPU0FBenBmMzNiYnRPU1BmNXpp
TjAyNmUvMUdSck9mCkxMUE1tT1RuUCsvMCtPSVh4eWU3Nzk1UnYxR2paaWFycmpyV0dkNXl5OVRr
OWRkbkpLdXROalk1K09DTzhyLzMzc3prMjkrZWtDeTIKV0tmUDl0dVBUeDU3YkxwTC9lbW5kY1BB
Nk9TWlp6cGViNzc1K09SUGYrcW82N1JwczVLTk5ocVhqQmpSYVdudkIwaXV1bXFxMjNibQp6Rm5K
MGt1UFNiYmRkcng3UFdQR3JPUkxYeHFmakI4L0s5Rm5oeHd5SVZsODhUSEptREV6WjllazYwTlpY
aXJmSW91TVNkWmRkMXh5CjNYVlRYVnIvL3ZlTTVPeXpKeWRISGpuUkpmU1BmK2kwNytqazFGTW51
M3I3MUgzYjVxWHgwa3ZUQzh0WXAyKzFVdVowZjU0K2ZWWXkKZlBnNFg5VGtpQ01tT2l2L2hpKzdY
cWUzeTZ2TGpUZmFzWXEyL25mZU9jMXZuano1WkVkN3FpLzRKWjJtM2p2b29Bbko5ZGRQVGFaTwpu
WlVzc2NTWUx2bWZlYWJ1WkIrZC9QM3ZNeElia0R0N3RlR1h2L3hSb3ZiMVMxbGJsOVd4ekU5cC8v
YTNrNU1sbCt6c3EvcGVXR1dWCnNUN2JSR252dlhkSGY4ejI3YXA5UVluVTZUK056SEtlNkR2ck43
K1o3RDdSUGlhckN5N28vRzVJN3l0bFJrcWdiTC9XNTFYdC84SUwKMDEwYWYvdGJSL3VmY01La1pM
ZmRPdmZWcktYU3JMc3NzTURvNUJ2ZjZQd09URytuTnR4bW00NTlYdStybmo3ZnFuMm96S1NzMzZU
ego1emtDQ0NDQUFBSlpnZHBYUUVhTUdHREhsUTl3WTZXMzJtcUFuVW1wYzhpSW9wbnNNQWIvZW9V
VitwbmxsdXRyZHRwcGdMMDVzci9aCmZQTUJkcXo2RUR1clZtSjBJNmlXNzN5bjZ6MFB6ejgvdytp
c3BVOGorL3FBQXdhNjhlMStXSkhPOUdxTXZCL1dvTE42dSsvZU1UWmUKNlhmMytzb2p2U3k0WU5j
aGE0TUhkNzVlWW9tKzlxcEhYMWMvalZGZmZ2bCs1Z3RmR0dCZWZybkRjL0hGT3o3ekk5WCs5cmZw
WnVUSQptVVpueXJWc3NFRi9jOEVGZzkxOU9YZmVPZDJPOTU1aHI2aDAxRlZENVE0OGNKQzU5ZGJw
NXJISFpyaXJHYmZmUHQxc3QxM0htWEFOCjA5bGhoODR6cDlkY005ME4xZEdRbnp2dm5PSHVMZEFR
b1FjZm5QTXFTRlZlbTJ6UzMxN0o2V3R2K3UxcmR0dHRvQzNqRURkazZMTEwKcHBsRkYrMDR5Nng3
RXpUbVhvdnFyU1hkdG5scGpCdzVxN0NNVlgycjFUS3JYTDd2alIyYm1PZWVtMm52cmVpNFlxTjdO
M3picE11dQpiYlQ0N2ZMcXN2UE9IZmRUblhmZVZLUFp5RFJzNTVwck9tNk9YblBOT1QwNlVqU3VQ
VFJzNjZtblpwcjExKzluaDlCMVBXdXY5WTQ0CllwSzdzcWlya1BmZXU1QzlpalBVM29qY3VWNVpX
eGZWc2NyUGx5LzkrTDN2RGJJenVNMnlaZTNvUS9mY002T3hMMmI3ZHRXK29IU3IKK2s4Njc2cm52
LzN0WUxQZWV2M000WWRQTXBvTUlMdVVHV25kc3YzYXAxWFcvbXJqWFhjZGFOWlpwNk90dFYvNDcw
Qy9mWGM4SG5IRQpJTnNuWmpTdVd1czdRL2NUYWFuYWg4cE1pdnBOZDlTQk5CRkFBQUVFZXBkQTdR
QWtQVXg2a1VYNkdBM05TQy9wei9WKytyV2U5K3Y0Cm0rczJXWDMxZnZZbTJqN3U4bjg2RGY5Y1Ex
QVVzUGdsKzNydnZRZTZzZlE2Y05haUczTTFYRVYvWkRYc1NzTmNOQVRCTDkyOXZzK24KN3FNODBq
NExMV1JjdWYzMk9vanhueXNZK094bit6Y09iTFdPeG5kckxMMkdkT2lBWG9HSFh6YmFxQU42NU1n
WjV2NzdaN2lnNE9NZgo3Mnptb1VNNzAxYVFvblEwOWx6L05HVGo3cnVIdWlESHArY2ZxL0xTZWpw
QTAwRm1lbGxvb1Q0MkdPb2NYclRra24wYndaVFd5N1p0Ck5vMnFNc3FwcUcrMVdtYVZ5L3N2dGxo
ZmU5QTR3TjUzTWNFTmUxcGhoYjZOQS90czJkUGI2WG0yTG5ydnhodUh1S0ZRSzYvY01SdloKNk5H
SjdhczZFT3h3UzZmNTNITXpiSHRNZDMzNzlkZG4yUnVNcDdrVEFEcTQ5OEcyMHRUeTYxOFBka0hm
UkR2Uzc4b3J1ODc0cE0vTApISXZxV01kUGFhZVhkZGJwYi90UFAzUDU1UjFsMEkzd08rN1l1Uytu
KzdhMms3TzMxdXZzdmxEVmY3Uk4zV1dCQmZwWXd5R3VYYjc2CjFZbGRwdmhXR21WR2RmTkkxeVhi
L3FxN2dpQWR1R3NZb29iU2ZmUlIxKy9SdXZrMHM1N3VHZEpKb0FzdjdHZ1RuYURZYmJkMG14VHYK
UTJVbVJmMm1tYkt4TGdJSUlJQkFuQUpkQjRuUFF3UGRDSzJiUVBNV25UVTk1cGdGR2g5bFgrdWdX
VmRrL3Z6bmFVWTM0UTRmM3QrZApGZGI5RnBwcGFKZGRPdis0S3BIdVhyOVIwRzU0b3ZIWENyRHlG
bzJQLytDRHhBV0RDaXkwNk1xUmJyelZnYWltRnRYbjJjVWZKSDN3CndTelhCdHRzMDlVcnU3NWVW
K1dWdDQzZU8rS0lCZXdNUkJPTnhwMFBzaE1tRFI1czdQMG1uZmxsMnphYlRqTmw5TnY2dmpWcFVr
ZjkKRlN6bitmajFxeDZ2dUdLSVdYcnB5ZWFzczZiYW1ZZG0yS3R2QzVtRkYxWUEzYldmVnFXano5
ZGR0Nys5TXJWd1k5V05OaHB2NzgwWgoxTGlxa1U1VEFiYk9WbXNtT0QzWHZWWmYrY29BODhnam12
NDJGZEhQVGsyQnRxNWEvUEtYVTh4V1cvVTMyMjdiNlZ6bG1GZkhWdHY4CndBTUhtaE5QbkdMdk8x
clE2S0IvNE1EOC9ieUJVUEtrcXYrVWJKcjcwYkJoL2V4OVk0UHRkOFJFZDM5TmVrS0dLcVBjQkp0
ODgzZS8KbStyYTlPS0xCNXMvL0tHUFBZbVF2MjgzbVd6cDZyb1NkdWloZyt5TVlGTnN1eXhnN3hF
ejludXo2NG1DYkFKK0g2b3l5ZXMzMmpkWQpFRUFBQVFRUUtCTW8veXRVdG1YbU0zOVE2OS9PdnZi
djYvSGYvNTdwZnQ5RHcwbXlpMmI4MFZsOUhiaG95YjcyNjMvakd3UE50ZGRPCk43Ly8vVFNqV1g4
MHpPcUdHenB1cXR4aWl6bmpxdTVlMzVmTFArb3FURHNXRFZYU2tKWlhYKzA4VUxIajZPeXdMRjNk
NkdlSDhwakcKY0JmbDk5NTdpYnVwV1VPaGxsNjZqN3RTSk8rOFJiUG82QXk3cmhyNVJXbmZmMy9u
RGVMKy9hcTgvSHJaeHgxMjZPK21uTldCc1c3Qwp2dTgrZTdsbjlsTFV0djV6UFRaVFJxMmY3bHV0
bGxucCtQNnIyYWxrcWlzTWQ5NDUxQVZTQ25TTHl1NjNVeHBWaTM2bjRlV1haNW9mCi9hZ2oyTTZt
K2YzdkwrQ0M1NE1QSG1nT08yeVF1eEp5eWlrTDJtbDdGN0RseXovSU8rZWN3V2JZc0w1dVpycjB6
RnBsamtWMWJOVlAKVXdPUEg1K1k3Mzkva2d1WXFoektQaS9yUDJYYitjKzBIMmIzUlEyRk8vcm9R
VzdZb1lZYytxWE15SytUVGN1Lzd4OExtc1Y5L09LTApNOTJFRUtlZnZtQ1hxNVorMis1OC9PWTNC
N29yTDhjZE43bkxMR3g1ZWFiM29US1RvbjZUbHlidklZQUFBZ2dna0Jhb0ZZRG9US2orCitVV3pN
cVYveFZsWElmd1BlZWtIMHJLdnRWMzZCd1h2dTA5VDdQYTNRM0U2QWdYTmlQVHJYM2ZNN0tTcFNy
c092K3I2MnBkQlk1aDEKUmwzRGJ6NzJzVDcyUG9yKzlxeTBjZmN4NUIyY2RlZjZtdi8vbEZNbU53
eDBGZUtKSjJhYWFkTVM4L2JiQ2g1bWRhbi9ORHNTSW4wZwpNOGxPektOQXdpK3lscStDZ1QzM0hH
Q0RNZDNITXNtTkY5ZVljZjFJbllaVTZENlhaWmZ0WTRPSXp2SHNHdHV1ZXpHMjMzNkErNTBJClhR
MjU0SUxPSHlUVFREaTZLcUo3RVBiZGQ2QWREcFRZSVYyVDNBL2J2ZmZlTEhQU1NWTWFVd0NuNjFX
Vmw4cXUyWnpTL1VMdjZVejQKcXF2MmRRZlFPakRWc0JTL1pOdGE3MmZUcUNxanRpbnFXNjJXT2Qx
LzlWczBtdWxIeXhlL09NRE96RGJRWFUzSkszdDZPKzBIMmJxNApSR2IvcDRPOG4vOThpcjJLTjhR
RkdYbzdMMDNOVktSN3JuVC9oL3BWOW1xQ1A0QldmbG8wWkVsbnBXV2k2Ykg5ZlZKbGpsbzNyNDUx
Ci9OU1hwMmZpVloxZDE3ME8rbkc5alRicWVqSWczYmRWM3FwOW9hei9hUHVxUlVQY0ZFQm1Gd1Z5
NmVtUTlYbVprVDZ2MnErcjJsLzcKcnZaN0JTTGEveDU0b0NQNDEzNnVmM21XeXJkcVVSdHJXOVcx
YU5Gd0tkMHJwaW1mMDlNNCsvV0w5cUV5azZKK296U25UcDFxdnhOUApzZCtKYi9rc2VFUUFBUVFR
UUtCVHdQN2hLMTAwbzFIZnZxT1ROZGNjbTR3Y09UMTU5dG5weVJwcmpFMzY5eCtkM0h4eng4dzl4
eDAzCktlblRaN1NibWVyZGQyY20yZGVhUlVpekkvMzBwNU9TRTArY2xHaFdLTTJBNDVmRERwdm9a
dExSakN1YThlbUREem8veTc3MjIrangKcUtNbUpxKzhNcVB4bHRKUHYyNThNUHRKZDYzLzRvc3pY
UDB2dmJSamRwMTc3NTJXTExyb21HVFlzTEhKMFVkUGRMTmFiYjMxK0VTegozMmdXc0k5L2ZJeWJq
VW96SlQzMzNQUms1WlhISm9NR2pVN3V1bXRhOHNRVDA1Tk5ON1hqeU94c1BiLys5V1EzODlFTk4w
eDFzMVBwCnZlV1hINXM4L0hESERGaXFsdHBEYlhQYWFaT1QyMitmbHV5MTEwZkpTeTkxbXZ6NXox
T1RoUllhN2Rwc2p6MCtjck1qZmZhejR4SzkKcitYODg2ZTR2TlYrbWoxSmVma2xXNit5dkpUZWtD
R2prNldXR3BOY2ZYVm5Hai80Z2IwNXg1WmIvL3IxRysxbWNmck9keWE2ZW1YYgp0aWlOc2pKVzlh
MVd5cHp1djJxdmxWWWFtL3p1ZDFPU20yNmFtcWpzbXYwblczYVpwYmM3Nzd6SnVSNXZ2REhUN1FP
YTJTcmR6N1Y5Ck5zMjMzNTdwWmtqVFp5ZWZQS25MekdwNlQ3T2JxZS9JVnZ0VXVsOW9GamE5djlO
T0h5VnFSeTFGamkrOE1DTzNqdHFtekU5OWRZTU4KT3ZycWVlZE5jVzJxYmJSb0gvakZMenBtbitw
NEo1bWpiMnVHcXJKOVFkdVY5UitmYnRIajVaZFBjZnVHK3FUcW5sMys5NytaYm45SQp2MTlrcEhY
SzltdDlYdFgrRXlmT2N0K0RRNGVPZHJQMmFiYSt3WU5ISi92dE44RzIzYlJDUzZWZHRLanROSHVk
MnZwakh4dVRuSEhHCjVHVGN1TTdaejlMYnFTL3ZzOCtjTTJWVjdVTkZKbVg5NXNVWFg3VGZpWDJT
U3krOU5GMEVuaU9BQUFJSUlPQUUrdWovem5DazlXY2EKSzZ5emJINUp2OVp2Zkd5K2VYOTdkbjFC
ZHlVbGU2T3lpcUJmN2RYWmNkMzRtajVybW4zdDA5ZWp6dEFQR3RSNVJqMzdPcjF1ZDYrdgpYN1JP
MTB0WFAzUlZRM1hTYkVmcEc4V3o1YXJ6V2tZNms2dVpnN0tMUG52bGxWbnVCd1pYV21uT1lXMDYy
enBtVE9MYVI4T3QvUEEyCm40N0txdUUvK3NYNzdIMDUyWHBWNWVYVDlJLzJJTlQranNWQTE3NjY0
VlkzNEdybXAvMzJHK2p1bzBpM3RkOG03N0dvakZWOVMyazEKVzJadDQvdXZ6aTVyMWluOTVvemEw
RTl1VU5Rdi9YWktJN3VvRHJwL1E3OUk3KzlKU2E5VGxHWjZuYmw5bnVkWVZFZWZWeXQrMnJacQpm
L1RwbHoyVzlaODY5eTZWcGEzUDFLN1oreUh5akh3NitxeHN2eTVyZjUrR3JoTDZLNEh0K0c3dzZW
WTk2dXFISmp2UWxiejBVbWNmCnlqT3A2amZ2di8rKy9VNWNQSjBWenhGQUFBRUVFSEFDbFFGSW56
NWpvRUlBQVFRUVFLQ1dRSklzVW1zOVZrSUFBUVFRaUZlZ01nQ1oKV3hxZEpWdHV1WEh1ck8rTk53
NmQyK1RZZmo0UzBNeFhPcnVxTWVmNi9SS2QrZFdzWHByQlRMK0JNcmNMZld0dUJYdjI5dDNkZjNw
Mgo3ZHRUT2pzMHpuenZlNVBOTXN2ME1SZGROR1NPcXgvc1ErMXhKaFVFRUVBQWdlWUV1ajBBdWZU
U3FZMmJzelVGcHFZS1pZbEhRTk1pClAvamdkRE5xVk9LbWhsMTU1VG1IaUxXcVFkOXFWVzcrMmE0
Nys4LzhvOUI2U1VlUG5tVW5HSmh1SjA4WVlHZkZtM1A0SnZ0UTY3WnMKaVFBQ0NDRFF1a0MzQnlD
dEY0MHRFVUFBQVFRUVFBQUJCQkJBb0xjSnpIbEtyTGZWa1BvZ2dBQUNDQ0NBQUFJSUlJQkFqeEVn
QU9reApUVUZCRUVBQUFRUVFRQUFCQkJEby9RSUVJTDIvamFraEFnZ2dnQUFDQ0NDQUFBSTlSb0FB
cE1jMEJRVkJBQUVFRUVBQUFRUVFRS0QzCkN4Q0E5UDQycG9ZSUlJQUFBZ2dnZ0FBQ0NQUVlBUUtR
SHRNVUZBUUJCQkJBQUFFRUVFQUFnZDR2UUFEUys5dVlHaUtBQUFJSUlJQUEKQWdnZzBHTUVDRUI2
VEZOUUVBUVFRQUFCQkJCQUFBRUVlcjhBQVVqdmIyTnFpQUFDQ0NDQUFBSUlJSUJBanhFZ0FPa3hU
VUZCRUVBQQpBUVFRUUFBQkJCRG8vUUlFSUwyL2pha2hBZ2dnZ0FBQ0NDQ0FBQUk5Um9BQXBNYzBC
UVZCQUFFRUVFQUFBUVFRUUtEM0N4Q0E5UDQyCnBvWUlJSUFBQWdnZ2dBQUNDUFFZQVFLUUh0TVVG
QVFCQkJCQUFBRUVFRUFBZ2Q0dlFBRFMrOXVZR2lLQUFBSUlJSUFBQWdnZzBHTUUKQ0VCNlRGTlFF
QVFRUUFBQkJCQkFBQUVFZXI4QUFVanZiMk5xaUFBQ0NDQ0FBQUlJSUlCQWp4R1k2d0RrdmZmZU0z
LzcyOS9NNk5HagpLeXMxWWNJRTgrYWJiMWF1MTFOVytQREREODMvL2QvLzlaVGl6Tk55Tk5PdVU2
ZE9OWTgrK21qTDVadmYra1ZWUmVmM2ZqTjU4bVR6Cit1dXZWMVd6NWMrN3U3MnIrdVBNbVRQTnYv
NzFyOEx5cTN6Lys5Ly9Dai92U1I5MGgyVXorMzZWUlZWYjVHM2Z6dnp6MGk5NnI2cGYKK08yNnUz
ek5mbjkwUngvd2RVMC9ObFB2ZVZXbWRQbDQzck1GNkJNOXUzMUNsSzR5QUxuampqdk1OdHRzWS9y
MDZXTldYbmxsYy83NQo1emZLZWVHRkY1cXJycnJLUFBEQUErYlRuLzYwMFIrYm91V0tLNjR3NStp
bG53QUFJQUJKUkVGVVN5eXhoTG5zc3N1S1Z1bHg3eDkvCi9QRm1sMTEyNlhIbDZ1NENOZE91VHp6
eGhCaytmTGpaZGRkZFd5clcvTmd2cWlvNlAvZWJxNisrMml5OTlOTG16RFBQcktwbVM1OTMKZDN0
WDljZW5ubnJLckx2dXV1WmIzL3BXYnZsLzk3dmZtVVVYWGRSY2UrMjF1Wi8zcERlN3c3S1pmYi9L
b3FvdDhyWnZaLzU1NlJlOQpWOVV2L0hiem9uek5mSDkwUngvd2RVMC9ObFB2ZVZXbWRQbDQzck1G
NkJNOXUzMkNsUzZwc2R4MzMzMkpMV0R5Ly83Zi8ydXNiYVBaClpNaVFJWWs5YStUZWUrU1JSeHFm
K1NkVHBreEo3TlVSL3pKWlk0MDFrcC8vL09lTjEzUHpKSnQySzJsVnBmSEJCeDhrLy83M3YxdEoK
ZXI3ZHBrNjdaaXQzK3Vtbkp6YTR6TDVkK0RycjNzNStVWmhwTjM2UXJjLzgzbTgyMjJ5ejVQdmYv
MzYzaVhWM2UxZjF4Kzk5NzN2SgpGNzd3aGNMNnFTLy8rdGUvTHZ3ODVBZlp2dFpPeTFiMi9TcUxx
clpJYjUrWGY3YSs2ZlhiL2J5cVgrU1ZyOTFsVUhyTmZuOVU5WUc1Ck5heFQ3MndlVldYcURyZFcw
c3lXTzV0RzFlZlo5WGxkTERDLzlJbmlHdkJKdXdVcXI0QW9NbHBra1VWY2dPUWY5ZUlmLy9pSG1U
WnQKbXVuYnR5T0p6MzcyczI0ZC85LzA2ZFBOMTc3Mk5mUFFRdy81dDh5QUFRUGNsWlRHR3kwK3lV
dTdUbElXcjdGYW5UUjBKblNWVlZacApiT09mcE5QeDcrVTkxbDB2Yjl0MnYxZFVsdXo3VmUyYVY2
NkJBd2ZXYnRjODkzYjFpN3l5ZGNkN2FiTzgraFQxbSs0b1N6TnB6cGd4Cm85YnFnd1lOcXRXZWFZ
ZXloTFByZFhkN0YvWEhXYk5tdVdMMjc5Ky84YjJWVis3dUxsOWVublhleSt0cjdTeHIyYjVmdCs5
azYxSFUKRnRuMTlEcWIvNFliYmpqSDM1Qzg3ZlJlcStYVHRuWDdSYlo4NmI5NWM1Ty95cEJlaXI0
L3N2dVIzNmFzRCtUMUdiOWQzY2V5ZWl1Tgp2RHpLeWxRMzMrNWVMNi9jNlR5clBrK3YyeDNQaTlw
YmVUWGIzOHJXTDh1bnFGNWw2V21idkRUcjlvbThiWXZLd2Z2enQwRC9Wb3IvCmh6Lzh3VngzM1hW
dUovanVkNzlyRmx4d1FXUFBkSFZKNmplLytZMjUrZWFielN1dnZHSmVmZlZWYzk1NTU3blA5V1d2
Uzh5WFhIS0oKV1hqaGhjMHR0OXhpVmx4eFJmZlp1KysrYTA0OTlWVHp6RFBQR0h2V3haeDc3cmxt
azAwMjZaS3VYdVNscmZXTHR0V3dFdDJqTW43OAplSFBUVFRlNSt4WHkwckJYZEJwNXZmUE9PMjY0
MkEwMzNHQWVlK3d4OTM1ZU9vME5Vay95MXRON1AvemhEODJ4eHg1cjdObGxOM1ROClhsRXlXMjIx
bGJuZ2dndmMxaHA3LzdPZi9jeTVQUHZzczBaL2dJODY2cWpLejhyYzhzcWlCUFBlejJ0WGxhR3Ez
SzZBTmYvTGM5ZW0KN2VnWFNzZWVzVEkvK2NsUHpHS0xMV1kwQk9TVG4veWtHVGR1blBPdTB3Yk5X
bWJybzc1OS9mWFhtM1MvVWQ5VXUrdkFYdnZDcHo3MQpLZGRYdGQvWXE0dEd3MzZXWFhaWlk4OFFt
Vk5PT2NVRjZocjY2UGNMMWNzdjJwODBIRUovQU5SM2xGKy9mdjNNMldlZmJZWU9IV3BPClBQRkVZ
NjlHdWo1MjNISEh1YzN1dmZkZTgvVFRUN3VnUXYxZithMjExbHBHZlV6UEYxOThjYmNQcXk2MzNY
YWJ6OG85amh3NTBnMVgKMm56enpkM0JvSVl2NWZXZExodk5mbEcyWGxsN2wzblZhY05zV1NaTm11
VDJveVdYWE5LOC9mYmI1cC8vL0tkWllJRUZzcXQxZWUyMwowWkJSdGMzbGwxL3Uya2NybGZXUkxv
bllGMlYxYWJidHMzMnRuZCtwZWZ1K3Z0T2I3VHNiYmJSUmxxREw2eUs3dlB3MVpEZjdOeVQ5Ckhh
MkVpOHBYeDlhM2NaMStrVmUrdWZYSjIvOHV2ZlJTODhJTEwzVDUvbEE1anpubUdQZGQ5dkRERDV0
UGZPSVRacjMxMWpNS2dENy8KK2M4NzM2TDlLYS9QWkEzTCttaFJ2ZE9ObXBlSFBpOHFrejRyNmdm
NkxMM1VhY2VpdEhRYzhhTWYvY2pkejZWamlZVVdXc2djZU9DQgo3dS9aMTcvKzlkemppTFJOdGw3
YmJiZWRPZnp3dzgzblB2YzU4OGMvL3RIY2VPT041dWlqajNaRE9qVTBYVVBVTlhSVjMvMTMzMzIz
Cis0NHBzMDNYVTgvdnVlY2VjOUZGRjdsMEZQem9HRWtCL01VWFgreUd3V3Vkb3Y2ZTE1ZjBYZjdS
UngvbGZ2Y3JyYkorSlllOHZ3MUYKNmRVcHUvSXM2eE5sZnkrMExVc3ZGTERSWnVYeTNIUFB1U0ZZ
ZG9kc3JIdk5OZGNrOXVwSDQzWGVreFZXV0NHeEIxU05qejd6bWM4awo2Nnl6VG1JN2EySnZSazlX
WDMzMTVKdmYvS2I3M0I1UUpWLzYwcGNTR3lTNFlWMkhISEpJWWcrTWtqRmp4alMyVHo5SnAxMjJy
ZDJSCkUzdVBRbVBUSTQ0NG9qRnNMSjFHWTRYWlQrd05kOG0zdi8zdHhCN0l1bmZLMGtsdlc3YmVN
c3NzMDJVSTJoZS8rTVZrOTkxM2IyeSsKL2ZiYkp6YlljYS90QWFNenQxK2k3blhSWjYzVXZheU1l
ZTFhVmU3Zi92YTNpZjBqM3FoSDFaT3NlenY3eFlnUkk1SXJyN3l5VVFTOQp0a0ZVNDNWWlhWcXhW
TUxwK21UN2pUNjNCKy9Kbi83MEp6MU43RlhEeEI2a0pTcVhsbEdqUmlXcnJycXEyeGRzTUo3WW03
K1QxVlpiCkxUbjQ0SVBkNTluL2JBQ1MySU9QeEFZbmlUMEprTmcvSXE0UDJUOStibC9UOEEwTmxi
VDNiQ1UyNkU3c2ZWbUo2dXlIUXA1d3dnbkoKYnJ2dDVwSlZYN05YTlJNYlZMaTB0TTlweUtHR0p4
MTIyR0Z1SFJzY0ovYWdxRkdNc3I3VFdNaytLVnV2ckwyVlJwbVhQaTlyUTMyZQo3WTg3N3Joall1
OVYwMGR1MzdmM3VDVGJicnV0ZTUzM253MDRFbnRQVzJJUGZwMmIybmZZc0dHdVRtVjlKQyt0c3Jv
MDIvWktQOTNYCjlMck1zdG15WnZmOVZ2cU95cFJlMG0xUlZaNXMva29uVzk5MDJtWGxxMlBiYkwv
SWxxOHMvNko5SzEzK3ZIVWVmL3p4TG45M3RMNDkKdVpBY2VlU1JibE43TmNMOVhiQW4yOXgzaGQ0
czZ3UDZ2TXhRbjVmMVVYMmVyYmZleXk3WlBNcktWTlVQMG1sWHRXTlZXanJXc0lkdAppVDJoazl4
KysrMkpEUkRTeVZmYVpPdTEvdnJySnphSWFhU3g1WlpiSmdjY2NFRGp0VDNvVDJ4dzBuaGRaZHRZ
MFQ3NXozLytrOWdUClp1NjczWTRjU2V5OXRlNTRhYm5sbG5Pck5kdmZiQ0JiK04ydkJNdjZWVjdm
TEV1dnF1ektyNnhQbFAyOTBMWXN2Vk9nMWhDc3VZbTcKZFBONmVyRUhYbWJycmJkMlp4VjFCdGZQ
Um1PLzVOeGxPdzNadXZQT084MVNTeTFsM24vL2ZmUGdndyttTisveTNLZGR0dTNZc1dPTgpEYUNN
L2ZKeDI5b0R1eTZYQjMwYVhSSzJMM1JXZU8yMTEyNnNXNVdPMzc1c1BaM3hUdWMzZVBEZ3htdk5K
S2F6elJ0dnZMRkxhb01OCk5uQlhScFpmZm5rM3kxalJaNjNVdmF5TXZoN3B4N0p5cDlkcjVubmFR
ZHUxbzEvbzdLRGEyUWF5amFLc3ROSktqZWQ2VWxhWFZpeDkKNHI0KzJYNmp2cXh5N2JYWFhtNVZY
WWJXV2JoYmI3M1ZYVm5UV1Y2VlVYMU5CbXB2R3dDWWwxOSsyU2ZkNVZIcjZpcUVKbjJ3Z1lTcgpq
eVpLZU9PTk45elpQZzNmK01FUGZ1RDZyZDVUZnBvZ3dBYitMaDE5L3RKTEw3bm51cnBvVHdLNE0v
dEtTMWZpMGtNTzlWcnI3Ny8vCi9vMHkxTzA3VmVzVnRYZVZsd3BTMW9hTmdzNStZZy9vWEovUTJV
c3RHaks2d3c0N3pQNjArRUYxL3ZLWHYreXVNdjN5bDc4MHI3MzIKbWp0RFdkWkhzcWxWMWFYWnR2
ZnArNzdtWHhkWk5sTlduMWI2Y1c3NlRqb2QvN3pWOG1UcjY5TXJLMStWYmF2OXd1ZXR4N0w4cS9Z
dApiWiszanI3LzAzOTN0SjZ1d21rLzFLSXJsL3FPMGFMdkNyOFU5UUgvZVpGaFZSLzEyOWQ1ek9a
UlZLWm0ra0ZWTzFhbHBXT05QZmZjCjAraHFzQnp0aVpVNXFwSXRkM2FGOU9jMjJEQi8vZXRmRzhQ
Mk5FR1BSbkhZUU1odHBpc0I5cVNpZTk2c3JRMTJqQTAyekU0NzdlU3UKc3RqZ3hWMjUxOHloK3M1
dXRyK3R1ZWFhaGQvOUttQlp2OHJybTJYcFZaWGRnZGovaXZwRTFkOEx2ejJQdlV0Z25nY2c2WjFa
OTVUbwpFcVVXRzNHN0wxbGRjdFEvZXlPc3U0eXBBL0dpeGFkVnRxMkc0dWdBVEFjVEdpNm1IVVZE
VnZ6aTAvQ3YwNC82ekg5ZWxZN2ZydTU2CmZuMy9xRUJMbDlSOWZucmZucEYySm1XZnRWTDNWc3Zv
eTlxT3gzUTlsVjc2ZGF2OVFyT3g2WUQ2WXgvN1dLT0lTamVkZHVPRG5DZXQKV1BwazBubWs4M3p5
eVNmZEFZUCtlUGpGRDFOUlVLa2x2YjVlYTZpQWhwSVZMZW04L1BycGRUVzBVWXNDZUsxcnowSWJm
Y0ZyaUtLTQpkQm5kTHpxWTl3YzAvajA5S3BDekUwWVlmK0R1UDZ2YmQ2cldTOWNoM2Q1MXZIeFo2
anplZi8vOXJrOTgvT01mYjZ5dW9XcnAvQnNmCnBKNmsrNUQrR0d2UmxOeGxmU1MxdVh0YXB5NHFS
N29zVlcydmhOUHJaMStuTFpzcHF5dHc1ai9sMDByZnlTVFRlTmxxZWJMMTlRbFcKbFUrZnA3ZE4y
N2JhTDN6ZWVxekt2MmpmU3FlUnQwNWV1V1huRncwWjh5ZXEvSHZwZXFiN1FON24vajA5MXVtajZm
WExucWZMb1BYUwpyOU5sYXJZZjVIbjQ3OGM2YVdtb25MMnlhM1Fza2Y3YjcrdVNMcWQvTC8yWS9u
enZ2ZmQyMzZ2KzNsWU5sNXM0Y2FJYkdxVXlhWWlSCkg4YlZpcTN5U3BkUmY4OWtwOEJHbnpXelAx
YXRyLzJockY5bCsyWlZlbVZsOTU1YXh5L3BQbEgxOThKdncyUHZFbWpwSHBEdUlMQkQKUjR4dUR0
VVpoV2FYcW0wMUJaeW1GajNyckxQY3VIZWR3ZkFIYWMza1ZUZWR1dXVsODlZNFZuMlo1UzFsbjdW
YTkxYkttRmUyN242dgpxbjdwL0RXK3Y4N3YwYVMzU1Qrdnlxc1ZNNDJ6VmJvS3RIWGdxMFZuT05Y
WDlZZXJIWXZPNnFlLzJOUFBsYjdHOHVvcWpNWVNhMHkzCi9qQldMUnBicm1CRlYxTTBMam05MUhX
b3UxNDY3WFo3dmZYV1c4NC9uWWVlWjQyeW42ZGY2MHl6L2xqclgxVWZTVy9YN3JxazA2N3oKdkpt
eUZxWFhTdDhwU3FzZDVjbW0zV3I1MnRFdlZKWlc4OC9Xbyt5MUhUWnN2dkdOYjdpYjlIVWZtYTZj
YjdIRkZtV2IxUDRzUkI5dApaeitvazVaTy91Z2t5NjkrOVN0ejBFRUhtZlRKaU5wUXMxZlVsU2lk
eGYvem4vL3MwdEVVOVByKzFjOFI2RjdEOUxUOTdiSlYrdnA3Cm9hWFovbGEyZml2OXFpeTkyVVJk
SHRKbDcvSkJ6b3RXL2w3a0pNTmI4NUhBUEw4Q1VtU3pvcjBSWFRkdStUTWJXcytPZWpNNlUxVzAK
K0lPSXNtM3RHRktqSDFDeTAycTZvVjJhMFVOZkZuN3hhZmpYUlk5VjZmanRxdGJUR1pLOFJRYzVP
c09xbTVUOW92cnJMSG5aWjYzVQp2YXFNUHYvMFkxRzUwK3MwODd5dWUxbjlzdmxwMko3cTl0Ly8v
cmZ4a1F5elMxRmR5dktxTWl1cWo4NWc2UWZPOURzRGZsRi8xQ1Y3CjNYVGUzY3VMTDc1b3Z2T2Q3
N2hKSXRKWFlhcnkxY0cyTHRIcnBsamRWTytYS29kbTEvUHIrOGU2WGtWdDZOUHhqenJ4b0N0Qk9n
UGEKNnFMQVZsZU5kT052V1IvSnBsKzNMdG50cWw0WDliWHNkczJVTmJ1dFhyZmFkL0xTMG51dGxx
ZW92bk5Udm5iMGk3bkp2OGdvNzMwTgpHZFRRWVEzcDBXUVN1akc3MmFYSXNKMTl0Q2lQYkZsYjdR
ZlpkUFM2VGxvLy9lbFAzUlZkbFUvUHMwdFZ1Yk9mS3hqVTd3VDkvdmUvCk4vWWVWcU5oV2JyeFhG
Y3Awb0ZoTzJ6MXZhVWZwclQzbmpTOVAxYjF6MmI3VlZWNldkZDAyYk9mWlYvWC9idVMzWTdYODdk
QXJRREUKbjFYMmo2cXlacFRTUVlDaS9LSkZaeHAwcGttTHZabmNyWnRlWDdNKzZaK1dmZmZkMTgy
TW9XRkhXbGNIYVNlZGRGS1hNZWx1eGRuLwpwZFBXR1FsZEpjamJWanV2WmxmUVltLzZOanZ2dkhQ
alRIUTZEZVdaWFZSV2xVOEhzV1hwcExjclcwOW52alV6azZZdjFrR05nZzJ0CnIwWGpWRFV6ajc3
TU5ONVQvelR6aWNhRWxuMVc1bFpVbHFMM1ZZNjhkaTBydDdaUmZleE5aSHJxRmgyczZZdGVNM1Br
TFZsM09iZWoKWDlnYjlWMTJmbFl4ZTlPZU8ydVlEa0xLNnRLS3BUTE1xNC92TnhvUHJGbVVGRno3
UlFjUit1UGt5eXUvOUFHMUxCUzBGQzJ5VG4rdQpldXExYndNL0hsbHBxaC9wVVg4OHRJNnVhaWpJ
bDRuK2FWMi9EL3I4OUo0KzA1QkF6ZDZsczRiK1hxMnl2dU8zMTJQWmVtWHRYY2VyCnJBMlZkN28v
YXQvUjJVUGZKL1M1NnFJenAybER2WjllMHAvcC9peWQyZFI5TkdWOUpMMjludGVwUzdOdG45Zlgy
ckh2cUx6WmZiK1YKdnFOMDBrdTZMYXJzc3Zrcm5XeDkwMmxYbGEvTXRwVitrUzFmVmY1NSsxYTYv
SHFldDQ3YTAzOS9hQjNOYkdjbnFuRDNMK3l6eno3dQpIaWk5NzVleS9VbnJsQm5XNmFQWmV2dDgw
NC9aUE1yS1ZOVVAwdW5xZVZrN1ZxV2xvRTMzdGVsa2o0YWdhcllxUC9SVmFXZkxyZmZTClM5N251
c2RRVjZJMFZFcEROWFhQbmtaVTZBUllPbGlwWTV2T3l6L1hkNmRmRkd6cWFyU0czRFhiMzZyV3Ir
cFgyYjVabFo3S1hGUjIKZlZiV0o4citYdWp2bTJhSDlNZVNTb3VsbHdqWUE0M1N4ZTdBYnNZWVc5
M0U3c2lKdlFTWGFLWU91MVBvMUhKaXA0bE43SUYwYmhyMgp4aTgzRzQ5bWpiRERPTnlzV2ZaR3Bz
UitBU1QyNE5UOU1LRTlPSEN6elNnQisrV1EyQjNiYldNdm1TYjJyRUp1dW5vem5iWU5QZ3EzCjFj
d045c1pkVjI0N0JXbGl6d2E3Mld6eTBraG5aZ09GWk5OTk4zVjExSStTcWN4RjZhUzNLOHZQVHFH
WDJFdTRia1lkTzMyZm0rM0UKM2lUWG1LRkk5Vlc5NVdxdmVpUjIyRXdqNmJMUGl0eUt5bEwwZmxH
N2xwVmJUblpzclN1em5SYlV6Ym9rSzN2cHRjdnNVNDJLMkNmcAp0bXQzdnpqNTVKTmQzcHJwYUwv
OTluTXpSS1Zud1Nxcmk4cllyS1cyU2RkSHM2MmsrNDFtTGxGZlY3OC83YlRUM0V3czlvYjB4SDZa
CmExTTMwNG45STVlb3ZIWThicUlaNXpTamxmYUR1KzY2eTYyVC9rL3JhRjE3YzJaaS96aTVtVk5z
QU83OE5mdVZ2ZGNqc1ZNNXU5ZDcKN0xGSFlxK3F1Vm11N1BBdk4xdUxabW14UXppY2pXYTNzdU9W
RS91SE03RkJ1c3ZHbnRsTHRLNzYrcU9QUHVyMmJhMnZkYzQ1NTV5awpxTytreTZqblJldHA1aTcx
amJMdmdUSXZwVjNXaG5uOTBRNlhTT3dWSGZkOUl4TjdQMWhpZzZ0RTcrY3RjclJCVG1KdlBrOSs4
WXRmCkpIYnFUVGM3bjErM3FJLzR6OU9QWlhXeHdXRFNUTnNyM1hSZmErZStrN2Z2MnlHQ1RmV2Rk
TDMxUEs4dGl1enk4bGNhNmZycWV6NjkKbEpWUHN4OVYyVGJUTC9MS1Y1Wi8zcjZWTHJ1ZUsvL3Mv
cGY5dTZQdkR6c00wdTNQK3J0Z0QzcmR2cSsvWS9xc3p2NVVacWh5bFBYUgp2SHBybSt5U3pxT2Qv
YkxPUGxMVXB6VHpuMlpuMUhlcUZuc1N4dm5acXlhdWIrcTlkTG16L2F2c2N4MzNhRVpDdjlnVGJs
MWUrL2ZMCmJQMDY2VWZOMktsWkNaV2VEUkFTelpScHJ3NjRWWnJ0YjJYclYvV3J2TDVabFY1WjJh
djZhZEhmQzFWYzdXWUR1eTZ6TWFiTmVENy8KQ3VoTVo3Y3VkdmhEVStscng5Q09yV25acXBaczJu
bmIyak9aTGhsTjUydkg0YytSWkRhTk9WYVkvVVpWT242N3F2VlVSbnNtd0sxdQp6K3o0elJxUDlt
eDE0d3VuOGVic0oyV2ZOVlAzcWpKbTg5WHJxbkpudDlHQjhBbDJ5dGVpcGE2NzN6NnZmdjZ6N0tN
ZGk1dllxekR1CmJVMmxyR2x2MDB0VlhmTHlxaktycW8vYXpsNlN6djBqbFM1YmR6MzNmVTdwNS9X
N3V2bFdPZmgwNnE3bjE4OCtWbmxWdFdFMlBYczIKTC9GdFpNOHVaei9PZlcxL0M2andleWl2aitR
bVl0K3Nxa3ZSZGtYdiszb1VmWjU5djVteVpyZlY2M2IxSFo5MnMrV3BxdS9jbEsrVgpmdUhyNFIv
bkpuK2ZSdG1qcHJMWGQ4ZmYvLzczeFA3R1Q2S1RDUFozTEJKN1ZiVnNzeTZmVlJtMm80OVc1ZEds
UVBaRnMvMGd1MzM2CjlkeWtWVlh1dk0vdFZlUjA5a24yZGZyRFpteDFFRzkvZDhzZHEyaEs5N3ls
MmY1V3RINnIvYW9vdlRwbHo2dVAzcXY2ZTFGa1VaUWUKNzg4ZkFuMVVUSHRtaFFXQnRncm9obWZO
OXFScEkwTXVoeDU2cUJzS1pzOHNoaXdHZVNPQUFBSk5DK2hIUnpYVnJPNHZTQythU0VWVApjdXZI
NzFoNmo0QisrRmZUNzU1eHhobmRXcW51NkZmenF1emRDa1BpODFTZ1kycUZlWm9sbWNVZzhKV3Zm
TVZOSHhpNnJwcDBRUGYzCktNNU9qODhOWFM3eVJ3QUJCS29FN0hCT2QrK0g3aWZRTkxLNk4wVDNP
K3ErUjRLUEtyMzU2M043cGFSeGIyaDNsN3pkL1dwZWxyMjcKYlVoLzNnbHdCV1RlV1pQVFBCYXc0
MWlOL1dWeGw2dXV4R2dDQWhZRUVFQmdmaExROUs3NkxTak5GS1FmN3lYd21KOWFyMzVaTmVPZwp2
OUY2MkxCaFJyODUwcDFMTy92VnZDNTdkN3FROXJ3VElBQ1pkOWJraEFBQ0NDQ0FBQUlJSUlCQTlB
SzFwdUdOWGdrQUJCQkFBQUVFCkVFQUFBUVFRYUlzQUFVaGJHRWtFQVFRUVFBQUJCQkJBQUFFRTZn
Z1FnTlJSWWgwRUVFQUFBUVFRUUFBQkJCQm9pd0FCU0ZzWVNRUUIKQkJCQUFBRUVFRUFBQVFUcUNC
Q0ExRkZpSFFRUVFBQUJCQkJBQUFFRUVHaUxBQUZJV3hoSkJBRUVFRUFBQVFRUVFBQUJCT29JRUlE
VQpVV0lkQkJCQUFBRUVFRUFBQVFRUWFJc0FBVWhiR0VrRUFRUVFRQUFCQkJCQUFBRUU2Z2dRZ05S
UlloMEVFRUFBQVFRUVFBQUJCQkJvCml3QUJTRnNZU1FRQkJCQkFBQUVFRUVBQUFRVHFDQkNBMUZG
aUhRUVFRQUFCQkJCQUFBRUVFR2lMQUFGSVd4aEpCQUVFRUVBQUFRUVEKUUFBQkJPb0lFSURVVVdJ
ZEJCQkFBQUVFRUVBQUFRUVFhSXNBQVVoYkdFa0VBUVFRUUFBQkJCQkFBQUVFNmdnUWdOUlJZaDBF
RUVBQQpBUVFRUUFBQkJCQm9pd0FCU0ZzWVNRUUJCQkJBQUFFRUVFQUFBUVRxQ0JDQTFGRmlIUVFR
UUFBQkJCQkFBQUVFRUdpTEFBRklXeGhKCkJBRUVFRUFBQVFRUVFBQUJCT29JRUlEVVVXSWRCQkJB
QUFFRUVFQUFBUVFRYUl0QVV3SEl1KysrYXlaUG50eVdqT2Mya1FrVEpwZzMKMzN5enBXU21UcDFx
SG4zMDBjYTIyZGVORDNpQ0FBSUlJSUFBQWdnZ2dBQUNiUldvRllBODk5eHo1cXFycmpKMzNYV1gy
VzY3N2N6KworKzl2WnMyYTFkYUNOSlBZRlZkY1laWllZZ2x6MldXWE5iT1pXL2VKSjU0d3c0Y1BO
N3Z1dW12dTY2WVRaQU1FRUVBQUFRUVFRQUFCCkJCQ29MZEFuc1V2VjJqdnR0Sk81NElJTHpOSkxM
MjEwRlVTUGYvbkxYOHpPTysrY3UrbFpaNTFsMWwxMzNkelBGTXdjZnZqaHVaODEKOCthYWE2NXA5
dHR2UDNQY2NjYzFzNWxiOTR3enpqQ25uWGFhR1RWcVZPN3JwaE5rQXdRUVFBQUJCQkJBQUFFRUVL
Z2wwTC9PV29zdgp2cmg1L1BISDNWVURYWGxZY3NrbDNSQ21vZ0JFd2NjV1cyeFJKK21XMXhrd1lJ
RHAwNmRQUzlzUEhEaXd5N2JaMXkwbHlrWUlJSUFBCkFnZ2dnQUFDQ0NCUUtWQXJBTG5vb29zYUNi
M3p6anZ1eXNFZWUrelJlQy9VRXcwRE8vNzQ0ODBsbDF4aUZsNTRZWFBMTGJlWUZWZGMKMFJWSFYy
cE9QZlZVODh3enp4amRMM0x1dWVlYVRUYlpwRlpSdGY2eHh4NXJCZzBhWkY1OTlWWHpxVTk5eXFX
MTRJSUwxdHFlbFJCQQpBQUVFRUVBQUFRUVFRQ0Jmb05ZOUlPbE5yN3Z1T25QUVFRZVpEVGJZSVAx
MmtPZlhYbnV0dTlLaUc4cG56cHhwVGpubEZGY09QVC9nCmdBUE1pU2VlYU82Nzd6Nno0WVliR2cw
akd6dDJiSzF5N3JqamptYmpqVGMyR3FxbFBIVGZTRThJdUdvVm5wVVFRQUFCQkJCQUFBRUUKRU9q
QkFrMEhJRGZmZkhQalFEOTB2VWFNR0dHMjNucHJzK3l5eTVxdHR0cksvT3RmLzNKRnV1YWFhNHh1
Ylhub29ZZk1uWGZlYVpaYQphaW56L3Z2dm13Y2ZmTEN5eUZyLzRZY2ZObnZ0dFpkYlYwTzlEanp3
UUhQcnJiZWF4eDU3ckhKN1ZrQUFBUVFRUUFBQkJCQkFBSUZpCmdhWUNrTGZlZXN0c3UrMjJackhG
Rml0T2NSNStrcjRIWkpGRkZuRkRyWlM5QW9WRkYxM1U2TjRPL2R0c3M4M00zWGZmWGV1cXpaTlAK
UG1sMHo0c0NENzlzdE5GRzd1bklrU1A5V3p3aWdBQUNDQ0NBQUFJSUlJQkFDd0sxN2dIeDZUNy8v
UFB6eFZDa0R6NzR3UFR2Mzk5cwpzODAydnVpMUh5ZE5tbVMwdmU0REdUcDBxTnR1N2JYWGR1bE5u
RGl4ZGpxc2lBQUNDQ0NBQUFJSUlJQUFBbk1LTkhVRlJQZEZyTERDCkNuT20wczN2NkljQ05hUnF5
cFFwdFhMU2plaTY0cEZlWDl2ZmYvLzlsZHV2dnZycTduNlNwNTU2cXJIdWUrKzlaMmJNbUdIV1dH
T04KeG5zOFFRQUJCQkJBQUFFRUVFQUFnZVlGbWdwQTlOc2ZMNzc0WXZPNXRMREY2NisvYnNhTkcy
Y3V2dmhpZDlPN1pxVTY2cWlqWENDZwo1SFNsUXYvOG9sOW85Ny9TdnUrKys3cmZLem5ra0VQTW1E
RmpqQUtJazA0NnlheXl5aXB1OVduVHBwbnAwNmY3VFUzNjllNjc3Kzd1CktWRUE0NWVubjM3YUtE
RFpmdnZ0L1ZzOElvQUFBZ2dnZ0FBQ0NDQ0FRQXNDdFFNUUhiQWZmZlRSNXVxcnI2N01SajgycUtz
TmVmLzAKV2Q2U3ZscWh6M1VGUXI4bG91RlFvMGVQTnNPR0RYUDNjT2orRE4yVDhkcHJyN2tiekpX
ZTdzM1F6ZU9hTWxkVDhlcEhDczg3N3p4WApWdDBMc3RaYWE1bDExbG5ITExQTU1rYjNlRng1NVpY
bXd3OC9OT2VmZjc1NTVKRkh1cnpXdlIrNjBmNm1tMjR5cDU5K3VybmpqanZjCjV6ZmNjSU1iaHBW
WGR0NURBQUVFRUVBQUFRUVFRQUNCZWdLMWZnbmRKNlg3SW9ZTUdkTGxSL3o4WjNQenFBQmkxVlZY
ZFduN2REUnIKMVYxMzNXVjBOYVBWUlZjMjNuenpUYlA4OHNzM0hUeG95Tllycjd4aSt2YnRhMVph
YWFWV2k4QjJDQ0NBQUFJSUlJQUFBZ2dna0JKbwo2aVowZjFOMmF2dTJQSDMyMldmTmV1dXQxeVV0
L1lEZ2FxdXQxdVc5Wmw5b0JxeFdnd2ZOc09XSGJEV2JMK3NqZ0FBQ0NDQ0FBQUlJCklJQkF2a0R0
SVZqNW03Zm4zVGZlZU1OY1luL05mTlNvVWU0ZWo1ZGVlc2xOcFR0OCtQRDJaRUFxQ0NDQUFBSUlJ
SUFBQWdnZzBDTUUKbWhxQzFWMGxmdmZkZDgxKysrMW5IbmpnQWZPSlQzekM2QWNHVHozMVZQZGJI
dDJWSitraWdBQUNDQ0NBQUFJSUlJREF2QmZvRVFHSQpyN2FtdXRYdmQ3QWdnQUFDQ0NDQUFBSUlJ
SUJBN3hUb1VRRkk3eVNtVmdnZ2dBQUNDQ0NBQUFJSUlPQUZlc1E5SUw0d1BDS0FBQUlJCklJQUFB
Z2dnZ0VEdkZpQUE2ZDN0UyswUVFBQUJCQkJBQUFFRUVPaFJBZ1FnUGFvNUtBd0NDQ0NBQUFJSUlJ
QUFBcjFiZ0FDa2Q3Y3YKdFVNQUFRUVFRQUFCQkJCQW9FY0pFSUQwcU9hZ01BZ2dnQUFDQ0NDQUFB
SUk5RzRCQXBEZTNiN1VEZ0VFRUVBQUFRUVFRQUNCSGlWQQpBTktqbW9QQ0lJQUFBZ2dnZ0FBQ0ND
RFF1d1VJUUhwMysxSTdCQkJBQUFFRUVFQUFBUVI2bEFBQlNJOXFEZ3FEQUFJSUlJQUFBZ2dnCmdF
RHZGaUFBNmQzdFMrMFFRQUFCQkJCQUFBRUVFT2hSQWdRZ1BhbzVLQXdDQ0NDQUFBSUlJSUFBQXIx
YmdBQ2tkN2N2dFVNQUFRUVEKUUFBQkJCQkFvRWNKRUlEMHFPYWdNQWdnZ0FBQ0NDQ0FBQUlJOUc0
QkFwRGUzYjdVRGdFRUVFQUFBUVFRUUFDQkhpVkFBTktqbW9QQwpJSUFBQWdnZ2dBQUNDQ0RRdXdV
SVFIcDMrMUk3QkJCQUFBRUVFRUFBQVFSNmxBQUJTSTlxRGdxREFBSUlJSUFBQWdnZ2dFRHZGaUFB
CjZkM3RTKzBRUUFBQkJCQkFBQUVFRU9oUkFnUWdQYW81S0F3Q0NDQ0FBQUlJSUlBQUFyMWJnQUNr
ZDdjdnRVTUFBUVFRUUFBQkJCQkEKb0VjSkVJRDBxT2FnTUFnZ2dBQUNDQ0NBQUFJSTlHNEJBcERl
M2I3VURnRUVFRUFBQVFRUVFBQ0JIaVZBQU5Lam1vUENJSUFBQWdnZwpnQUFDQ0NCUUxEQmh3Z1R6
NXB0dkZxOVE4c25VcVZQTm80OCsybGdqKzdyeFFaTlAzbjMzWFRONTh1VGFXeEdBMUtaaVJRUVFR
QUFCCkJCQkFBQUVFd2dsY2NjVVZab2tsbGpDWFhYWlowNFY0NG9rbnpQRGh3ODJ1dSs3cXRzMiti
anBCdThGenp6MW5ycnJxS25QWFhYZVoKN2JiYnp1eS8vLzVtMXF4WmxVbjFTZXhTdVJZcklJQUFB
Z2dnZ0FBQ0NDQ0FRQmVCczg0Nnk2eTc3cnBkM3ZNdmRIQisrT0dIKzVkdAplMXh6elRYTmZ2dnRa
NDQ3N3JpbTB6empqRFBNYWFlZFprYThRSlRzQUFBZGgwbEVRVlNOR3VXMnpiNXVOc0dkZHRySlhI
REJCV2JwCnBaYzJ1Z3FpeDcvODVTOW01NTEzTGsycWYrbW5mSWdBQWdnZ2dBQUNDQ0NBQUFLNUFn
byt0dGhpaTl6UHV1dk5BUU1HbUQ1OStyU1UKL01DQkE3dHNtMzNkYktLTEw3NjRlZnp4eDkxVkZW
MlpXWExKSmQwUUx3S1FaaVZaSHdFRUVFQUFBUVFRUUFDQkhpeWdZVTdISDMrOAp1ZVNTUzh6Q0N5
OXNicm5sRnJQaWlpdTZFdXRLeEttbm5tcWVlZVlaby90RnpqMzNYTFBKSnB2VXFvM1dQL2JZWTgy
Z1FZUE1xNisrCmFqNzFxVSs1dEJaY2NNSGM3Uys2NktMRysrKzg4NDY3c3JMSEhuczAzaXQ2d2ow
Z1JUSzhqd0FDQ0NDQUFBSUlJSUJBRHhTNDl0cHIKM1pVWDNWQStjK1pNYzhvcHA3aFM2dmtCQnh4
Z1RqenhSSFBmZmZlWkRUZmMwR2lZMU5peFkydlZZc2NkZHpRYmI3eXgwZEFzNWFINwpST29FRkVy
OHV1dXVNd2NkZEpEWllJTU5Ldk1pQUtra1lnVUVFRUFBQVFRUVFBQUJCSHFPd0lnUkk4eldXMjl0
bGwxMldiUFZWbHVaCmYvM3JYNjV3MTF4empkSHQzUTg5OUpDNTg4NDd6VkpMTFdYZWYvOTk4K0NE
RDFZV1h1cy8vUEREWnErOTluTHJhcWpYZ1FjZWFHNjkKOVZiejJHT1BWVzUvODgwM053S2hxcFVK
UUtxRStCd0JCQkJBQUFFRUVFQUFnUjRra0w0SFpKRkZGbkZEclZROEJRcUxMcnFvMGIwZAorcmZa
WnB1WnUrKyt1OVpWaVNlZmZOTG9uZzRGSG43WmFLT04zTk9SSTBmNnQzSWYzM3JyTGJQdHR0dWF4
UlpiTFBmejdKdmNoSjRWCjRUVUNDQ0NBQUFJSUlJQUFBdk9od0FjZmZHRDY5Kzl2dHRsbW02WkxQ
Mm5TSktQdGRSL0kwS0ZEM2ZacnI3MjJTMi9peEltbDZUMy8KL1BPMWgyb3BJYTZBbEhMeUlRSUlJ
SUFBQWdnZ2dBQUM4MFpBUHd5b0lWUlRwa3hwS1VQZGlLNHJIdW50bGQ3OTk5OWZtZDdxcTYvdQo3
aWQ1NnFtbkd1dSs5OTU3WnNhTUdXYU5OZFpvdkpmM1JQZU5yTERDQ25rZjViNUhBSkxMd3BzSUlJ
QUFBZ2dnZ0FBQ0NIUy93T3V2CnYyN0dqUnRuTHI3NFluY1R0MmFoT3Vxb285eUJmMTd1dWxLaGYz
N1JMNUQ3WHlIZmQ5OTkzZTl4SEhMSUlXYk1tREZHQWNSSko1MWsKVmxsbEZiZjZ0R25UelBUcDAv
Mm1KdjE2OTkxM2QvZVVLSUR4eTlOUFAyMFVtR3kvL2ZiK3JkeEgvZmJIaXkrK21QdFozcHNFSUhr
cQp2SWNBQWdnZ2dBQUNDQ0NBUUlXQWZteFFWeGZ5L3VtenZDVjlkVUtmNjRxRGZrdEV3NTlHang1
dGhnMGI1dTdaMFAwWXUreXlTNWNrCnJyLytldlBhYTYrNUc4eVZ2dTdOME0zam1qSlhVL0hxUndy
UE8rODhjL1hWVjd0N1FkWmFheTJ6empycm1HV1dXY2JvSG84cnI3elMKZlBqaGgrYjg4ODgzanp6
eVNKZlh1dmRETjVMZmROTk41dlRUVHpkMzNIR0grL3lHRzI1d3c3QzZGQ1QxUWdITjBVY2Y3ZkpN
dlYzNgpsRjlDTCtYaFF3UVFRQUFCQkJCQUFBRUUyaU9nZ0dIVlZWYzFRNFlNYVNTb1dhcnV1dXN1
bzZzWDdWcDBaZVBOTjk4MHl5Ky9mR253CmtKZWZobXk5OHNvcnBtL2Z2bWFsbFZiS1cyV085M1Rm
aU9xVXZqbCtqcFZTYjNBVGVncURwd2dnZ0FBQ0NDQ0FBQUlJZEpmQXM4OCsKYTlaYmI3MHV5ZXNI
QTFkYmJiVXU3ODN0QzgyQVZUZDR5T2FsSU1JUDJjcCtWdlRhMzdSZTlIbjJmWVpnWlVWNGpRQUND
Q0NBQUFJSQpJSUJBTndpODhjWWI1aEw3NitXalJvMXk5M2k4OU5KTGJ1cmM0Y09IZDBOdVBUZEpo
bUQxM0xhaFpBZ2dnQUFDQ0NDQUFBSzlTT0RkCmQ5ODErKzIzbjNuZ2dRZk1Kejd4Q2FNZkZEejEx
RlBkL1JxOXFKcVZWU0VBcVNSaUJRUVFRQUFCQkJCQUFBRUUyaWVncVczMWV4MngKTGdRZ3NiWTg5
VVlBQVFRUVFBQUJCQkJBSUlBQTk0QUVRQ2RMQkJCQUFBRUVFRUFBQVFSaUZTQUFpYlhscVRjQ0ND
Q0FBQUlJSUlBQQpBZ0VFQ0VBQ29KTWxBZ2dnZ0FBQ0NDQ0FBQUt4Q2hDQXhOcnkxQnNCQkJCQUFB
RUVFRUFBZ1FBQ0JDQUIwTWtTQVFRUVFBQUJCQkJBCkFJRllCUWhBWW0xNTZvMEFBZ2dnZ0FBQ0ND
Q0FRQUFCQXBBQTZHU0pBQUlJSUlBQUFnZ2dnRUNzQWdRZ3NiWTg5VVlBQVFRUVFBQUIKQkJCQUlJ
QUFBVWdBZExKRUFBRUVFRUFBQVFRUVFDQldBUUtRV0Z1ZWVpT0FBQUlJSUlBQUFnZ2dFRUNBQUNR
QU9sa2lnQUFDQ0NDQQpBQUlJSUJDckFBRklyQzFQdlJGQUFBRUVFRUFBQVFRUUNDQkFBQklBblN3
UlFBQUJCQkJBQUFFRUVJaFZnQUFrMXBhbjNnZ2dnQUFDCkNDQ0FBQUlJQkJBZ0FBbUFUcFlJSUlB
QUFnZ2dnQUFDQ01RcVFBQVNhOHRUYndRUVFBQUJCQkJBQUFFRUFnZ1FnQVJBSjBzRUVFQUEKQVFR
UVFBQUJCR0lWSUFDSnRlV3BOd0lJSUlBQUFnZ2dnQUFDQVFRSVFBS2dreVVDQ0NDQUFBSUlJSUFB
QXJFS0VJREUydkxVR3dFRQpFRUFBQVFRUVFBQ0JBQUlFSUFIUXlSSUJCQkJBQUFFRUVFQUFnVmdG
Q0VCaWJYbnFqUUFDQ0NDQUFBSUlJSUJBQUFFQ2tBRG9aSWtBCkFnZ2dnQUFDQ0NDQVFLd0NCQ0N4
dGp6MVJnQUJCQkJBQUFFRUVFQWdnQUFCU0FCMHNrUUFBUVFRUUFBQkJCQkFJRllCQXBCWVc1NTYK
STRBQUFnZ2dnQUFDQ0NBUVFJQUFKQUE2V1NLQUFBSUlJSUFBQWdnZ0VLc0FBVWlzTFUrOUVVQUFB
UVFRUUFBQkJCQUlJRUFBRWdDZApMQkZBQUFFRUVFQUFBUVFRaUZXQUFDVFdscWZlQ0NDQUFBSUlJ
SUFBQWdnRUVDQUFDWUJPbGdnZ2dBQUNDQ0NBQUFJSXhDcEFBQkpyCnkxTnZCQkJBQUFFRUVFQUFB
UVFDQ0JDQUJFQW5Td1FRUUFBQkJCQkFBQUVFWWhVZ0FJbTE1YWszQWdnZ2dBQUNDQ0NBQUFJQkJB
aEEKQXFDVEpRSUlJSUFBQWdnZ2dBQUNzUW9RZ01UYTh0UWJBUVFRUUFBQkJCQkFBSUVBQWdRZ0Fk
REpFZ0VFRUVBQUFRUVFRQUNCV0FVSQpRR0p0ZWVxTkFBSUlJSUFBQWdnZ2dFQUFBUUtRQU9oa2lR
QUNDQ0NBQUFJSUlJQkFyQUlFSUxHMlBQVkdBQUVFRUVBQUFRUVFRQ0NBCkFBRklBSFN5UkFBQkJC
QkFBQUVFRUVBZ1ZnRUNrRmhibm5vamdBQUNDQ0NBQUFJSUlCQkFnQUFrQURwWklvQUFBZ2dnZ0FB
Q0NDQVEKcXdBQlNLd3RUNzBSUUFBQkJCQkFBQUVFRUFnZ1FBQVNBSjBzRVVBQUFRUVFRQUFCQkJD
SVZZQUFKTmFXcDk0SUlJQUFBZ2dnZ0FBQwpDQVFRSUFBSmdFNldDQ0NBQUFJSUlJQUFBZ2pFS2tB
QUVtdkxVMjhFRUVBQUFRUVFRQUFCQkFJSUVJQUVRQ2RMQkJCQUFBRUVFRUFBCkFRUmlGU0FBaWJY
bHFUY0NDQ0NBQUFJSUlJQUFBZ0VFQ0VBQ29KTWxBZ2dnZ0FBQ0NDQ0FBQUt4Q2hDQXhOcnkxQnNC
QkJCQUFBRUUKRUVBQWdRQUNCQ0FCME1rU0FRUVFRQUFCQkJCQUFJRllCUWhBWW0xNTZvMEFBZ2dn
Z0FBQ0NDQ0FRQUFCQXBBQTZHU0pBQUlJSUlBQQpBZ2dnZ0VDc0FnUWdzYlk4OVVZQUFRUVFRQUFC
QkJCQUlJQUFBVWdBZExKRUFBRUVFRUFBQVFRUVFDQldBUUtRV0Z1ZWVpT0FBQUlJCklJQUFBZ2dn
RUVDQUFDUUFPbGtpZ0FBQ0NDQ0FBQUlJSUJDckFBRklyQzFQdlJGQUFBRUVFRUFBQVFRUUNDQkFB
QklBblN3UlFBQUIKQkJCQUFBRUVFSWhWZ0FBazFwYW4zZ2dnZ0FBQ0NDQ0FBQUlJQkJBZ0FBbUFU
cFlJSUlBQUFnZ2dnQUFDQ01RcVFBQVNhOHRUYndRUQpRQUFCQkJCQUFBRUVBZ2dRZ0FSQUowc0VF
RUFBQVFRUVFBQUJCR0lWSUFDSnRlV3BOd0lJSUlBQUFnZ2dnQUFDQVFRSVFBS2dreVVDCkNDQ0FB
QUlJSUlBQUFyRUtFSURFMnZMVUd3RUVFRUFBQVFRUVFBQ0JBQUlFSUFIUXlSSUJCQkJBQUFFRUVF
QUFnVmdGQ0VCaWJYbnEKalFBQ0NDQ0FBQUlJSUlCQUFBRUNrQURvWklrQUFnZ2dnQUFDQ0NDQVFL
d0NCQ0N4dGp6MVJnQUJCQkJBQUFFRUVFQWdnQUFCU0FCMApza1FBQVFRUVFBQUJCQkJBSUZZQkFw
QllXNTU2STRBQUFnZ2dnQUFDQ0NBUVFJQUFKQUE2V1NLQUFBSUlJSUFBQWdnZ0VLc0FBVWlzCkxV
KzlFVUFBQVFRUVFBQUJCQkFJSUVBQUVnQ2RMQkZBQUFFRUVFQUFBUVFRaUZXQUFDVFdscWZlQ0ND
QUFBSUlJSUFBQWdnRUVDQUEKQ1lCT2xnZ2dnQUFDQ0NDQUFBSUl4Q3BBQUJKcnkxTnZCQkJBQUFF
RUVFQUFBUVFDQ0JDQUJFQW5Td1FRUUFBQkJCQkFBQUVFWWhVZwpBSW0xNWFrM0FnZ2dnQUFDQ0ND
QUFBSUJCQWhBQXFDVEpRSUlJSUFBQWdnZ2dBQUNzUW9RZ01UYTh0UWJBUVFRUUFBQkJCQkFBSUVB
CkFnUWdBZERKRWdFRUVFQUFBUVFRUUFDQldBVUlRR0p0ZWVxTkFBSUlJSUFBQWdnZ2dFQUFBUUtR
QU9oa2lRQUNDQ0NBQUFJSUlJQkEKckFJRUlMRzJQUFZHQUFFRUVFQUFBUVFRUUNDQUFBRklBSFN5
UkFBQkJCQkFBQUVFRUVBZ1ZnRUNrRmhibm5vamdBQUNDQ0NBQUFJSQpJQkJBZ0FBa0FEcFpJb0FB
QWdnZ2dBQUNDQ0FRcXdBQlNLd3RUNzBSUUFBQkJCQkFBQUVFRUFnZ1FBQVNBSjBzRVVBQUFRUVFR
QUFCCkJCQ0lWWUFBSk5hV3A5NElJSUFBQWdnZ2dBQUNDQVFRSUFBSmdFNldDQ0NBQUFJSUlJQUFB
Z2pFS2tBQUVtdkxVMjhFRUVBQUFRUVEKUUFBQkJBSUlFSUFFUUNkTEJCQkFBQUVFRUVBQUFRUmlG
U0FBaWJYbHFUY0NDQ0NBQUFJSUlJQUFBZ0VFQ0VBQ29KTWxBZ2dnZ0FBQwpDQ0NBQUFLeENoQ0F4
TnJ5MUJzQkJCQkFBQUVFRUVBQWdRQUNCQ0FCME1rU0FRUVFRQUFCQkJCQUFJRllCUWhBWW0xNTZv
MEFBZ2dnCmdBQUNDQ0NBUUFBQkFwQUE2R1NKQUFJSUlJQUFBZ2dnZ0VDc0FnUWdzYlk4OVVZQUFR
UVFRQUFCQkJCQUlJQUFBVWdBZExKRUFBRUUKRUVBQUFRUVFRQ0JXQVFLUVdGdWVlaU9BQUFJSUlJ
QUFBZ2dnRUVDQUFDUUFPbGtpZ0FBQ0NDQ0FBQUlJSUJDckFBRklyQzFQdlJGQQpBQUVFRUVBQUFR
UVFDQ0JBQUJJQW5Td1JRQUFCQkJCQUFBRUVFSWhWZ0FBazFwYW4zZ2dnZ0FBQ0NDQ0FBQUlJQkJB
Z0FBbUFUcFlJCklJQUFBZ2dnZ0FBQ0NNUXFRQUFTYTh0VGJ3UVFRQUFCQkJCQUFBRUVBZ2dRZ0FS
QUowc0VFRUFBQVFRUVFBQUJCR0lWSUFDSnRlV3AKTndJSUlJQUFBZ2dnZ0FBQ0FRUUlRQUtna3lV
Q0NDQ0FBQUlJSUlBQUFyRUtFSURFMnZMVUd3RUVFRUFBQVFRUVFBQ0JBQUlFSUFIUQp5UklCQkJC
QUFBRUVFRUFBZ1ZnRkNFQmliWG5xalFBQ0NDQ0FBQUlJSUlCQUFBRUNrQURvWklrQUFnZ2dnQUFD
Q0NDQVFLd0NCQ0N4CnRqejFSZ0FCQkJCQUFBRUVFRUFnZ0FBQlNBQjBza1FBQVFRUVFBQUJCQkJB
SUZZQkFwQllXNTU2STRBQUFnZ2dnQUFDQ0NBUVFJQUEKSkFBNldTS0FBQUlJSUlBQUFnZ2dFS3NB
QVVpc0xVKzlFVUFBQVFRUVFBQUJCQkFJSUVBQUVnQ2RMQkZBQUFFRUVFQUFBUVFRaUZXQQpBQ1RX
bHFmZUNDQ0FBQUlJSUlBQUFnZ0VFQ0FBQ1lCT2xnZ2dnQUFDQ0NDQUFBSUl4Q3BBQUJKcnkxTnZC
QkJBQUFFRUVFQUFBUVFDCkNCQ0FCRUFuU3dRUVFBQUJCQkJBQUFFRVloVWdBSW0xNWFrM0FnZ2dn
QUFDQ0NDQUFBSUJCQWhBQXFDVEpRSUlJSUFBQWdnZ2dBQUMKc1FvUWdNVGE4dFFiQVFRUVFBQUJC
QkJBQUlFQUFnUWdBZERKRWdFRUVFQUFBUVFRUUFDQldBVUlRR0p0ZWVxTkFBSUlJSUFBQWdnZwpn
RUFBQVFLUUFPaGtpUUFDQ0NDQUFBSUlJSUJBckFJRUlMRzJQUFZHQUFFRUVFQUFBUVFRUUNDQUFB
RklBSFN5UkFBQkJCQkFBQUVFCkVFQWdWZ0VDa0ZoYm5ub2pnQUFDQ0NDQUFBSUlJQkJBZ0FBa0FE
cFpJb0FBQWdnZ2dBQUNDQ0FRcXdBQlNLd3RUNzBSUUFBQkJCQkEKQUFFRUVBZ2dRQUFTQUowc0VV
QUFBUVFRUUFBQkJCQ0lWWUFBSk5hV3A5NElJSUFBQWdnZ2dBQUNDQVFRSUFBSmdFNldDQ0NBQUFJ
SQpJSUFBQWdqRUtrQUFFbXZMVTI4RUVFQUFBUVFRUUFBQkJBSUlFSUFFUUNkTEJCQkFBQUVFRUVB
QUFRUmlGU0FBaWJYbHFUY0NDQ0NBCkFBSUlJSUFBQWdFRUNFQUNvSk1sQWdnZ2dBQUNDQ0NBQUFL
eENoQ0F4TnJ5MUJzQkJCQkFBQUVFRUVBQWdRQUNCQ0FCME1rU0FRUVEKUUFBQkJCQkFBSUZZQlFo
QVltMTU2bzBBQWdnZ2dBQUNDQ0NBUUFBQkFwQUE2R1NKQUFJSUlJQUFBZ2dnZ0VDc0FnUWdzYlk4
OVVZQQpBUVFRUUFBQkJCQkFJSUFBQVVnQWRMSkVBQUVFRUVBQUFRUVFRQ0JXQVFLUVdGdWVlaU9B
QUFJSUlJQUFBZ2dnRUVDQUFDUUFPbGtpCmdBQUNDQ0NBQUFJSUlCQ3JBQUZJckMxUHZSRkFBQUVF
RUVBQUFRUVFDQ0JBQUJJQW5Td1JRQUFCQkJCQUFBRUVFSWhWZ0FBazFwYW4KM2dnZ2dBQUNDQ0NB
QUFJSUJCQWdBQW1BVHBZSUlJQUFBZ2dnZ0FBQ0NNUXFRQUFTYTh0VGJ3UVFRQUFCQkJCQUFBRUVB
Z2dRZ0FSQQpKMHNFRUVBQUFRUVFRQUFCQkdJVklBQ0p0ZVdwTndJSUlJQUFBZ2dnZ0FBQ0FRUUlR
QUtna3lVQ0NDQ0FBQUlJSUlBQUFyRUtFSURFCjJ2TFVHd0VFRUVBQUFRUVFRQUNCQUFJRUlBSFF5
UklCQkJCQUFBRUVFRUFBZ1ZnRkNFQmliWG5xalFBQ0NDQ0FBQUlJSUlCQUFBRUMKa0FEb1pJa0FB
Z2dnZ0FBQ0NDQ0FRS3dDQkNDeHRqejFSZ0FCQkJCQUFBRUVFRUFnZ0FBQlNBQjBza1FBQVFRUVFB
QUJCQkJBSUZZQgpBcEJZVzU1Nkk0QUFBZ2dnZ0FBQ0NDQVFRSUFBSkFBNldTS0FBQUlJSUlBQUFn
Z2dFS3NBQVVpc0xVKzlFVUFBQVFRUVFBQUJCQkFJCklFQUFFZ0NkTEJGQUFBRUVFRUFBQVFRUWlG
V0FBQ1RXbHFmZUNDQ0FBQUlJSUlBQUFnZ0VFQ0FBQ1lCT2xnZ2dnQUFDQ0NDQUFBSUkKeENwQUFC
SnJ5MU52QkJCQUFBRUVFRUFBQVFRQ0NCQ0FCRUFuU3dRUVFBQUJCQkJBQUFFRVloVWdBSW0xNWFr
M0FnZ2dnQUFDQ0NDQQpBQUlCQkFoQUFxQ1RKUUlJSUlBQUFnZ2dnQUFDc1FvUWdNVGE4dFFiQVFR
UVFBQUJCQkJBQUlFQUFnUWdBZERKRWdFRUVFQUFBUVFRClFBQ0JXQVVJUUdKdGVlcU5BQUlJSUlB
QUFnZ2dnRUFBQVFLUUFPaGtpUUFDQ0NDQUFBSUlJSUJBckFJRUlMRzJQUFZHQUFFRUVFQUEKQVFR
UVFDQ0FBQUZJQUhTeVJBQUJCQkJBQUFFRUVFQWdWZ0VDa0ZoYm5ub2pnQUFDQ0NDQUFBSUlJQkJB
Z0FBa0FEcFpJb0FBQWdnZwpnQUFDQ0NBUXF3QUJTS3d0VDcwUlFBQUJCQkJBQUFFRUVBZ2dRQUFT
QUowc0VVQUFBUVFRUUFBQkJCQ0lWWUFBSk5hV3A5NElJSUFBCkFnZ2dnQUFDQ0FRUUlBQUpnRTZX
Q0NDQUFBSUlJSUFBQWdqRUtrQUFFbXZMVTI4RUVFQUFBUVFRUUFBQkJBSUlFSUFFUUNkTEJCQkEK
QUFFRUVFQUFBUVJpRlNBQWliWGxxVGNDQ0NDQUFBSUlJSUFBQWdFRUNFQUNvSk1sQWdnZ2dBQUND
Q0NBQUFLeENoQ0F4TnJ5MUJzQgpCQkJBQUFFRUVFQUFnUUFDQkNBQjBNa1NBUVFRUUFBQkJCQkFB
SUZZQlFoQVltMTU2bzBBQWdnZ2dBQUNDQ0NBUUFBQkFwQUE2R1NKCkFBSUlJSUFBQWdnZ2dFQ3NB
Z1Fnc2JZODlVWUFBUVFRUUFBQkJCQkFJSUFBQVVnQWRMSkVBQUVFRUVBQUFRUVFRQ0JXQVFLUVdG
dWUKZWlPQUFBSUlJSUFBQWdnZ0VFQ0FBQ1FBT2xraWdBQUNDQ0NBQUFJSUlCQ3JBQUZJckMxUHZS
RkFBQUVFRUVBQUFRUVFDQ0JBQUJJQQpuU3dSUUFBQkJCQkFBQUVFRUloVmdBQWsxcGFuM2dnZ2dB
QUNDQ0NBQUFJSUJCQWdBQW1BVHBZSUlJQUFBZ2dnZ0FBQ0NNUXFRQUFTCmE4dFRid1FRUUFBQkJC
QkFBQUVFQWdnUWdBUkFKMHNFRUVBQUFRUVFRQUFCQkdJVklBQ0p0ZVdwTndJSUlJQUFBZ2dnZ0FB
Q0FRUUkKUUFLZ2t5VUNDQ0NBQUFJSUlJQUFBckVLRUlERTJ2TFVHd0VFRUVBQUFRUVFRQUNCQUFJ
RUlBSFF5UklCQkJCQUFBRUVFRUFBZ1ZnRgpDRUJpYlhucWpRQUNDQ0NBQUFJSUlJQkFBQUVDa0FE
b1pJa0FBZ2dnZ0FBQ0NDQ0FRS3dDQkNDeHRqejFSZ0FCQkJCQUFBRUVFRUFnCmdBQUJTQUIwc2tR
QUFRUVFRQUFCQkJCQUlGWUJBcEJZVzU1Nkk0QUFBZ2dnZ0FBQ0NDQVFRSUFBSkFBNldTS0FBQUlJ
SUlBQUFnZ2cKRUtzQUFVaXNMVSs5RVVBQUFRUVFRQUFCQkJBSUlFQUFFZ0NkTEJGQUFBRUVFRUFB
QVFRUWlGV0FBQ1RXbHFmZUNDQ0FBQUlJSUlBQQpBZ2dFRUNBQUNZQk9sZ2dnZ0FBQ0NDQ0FBQUlJ
eENwQUFCSnJ5MU52QkJCQUFBRUVFRUFBQVFRQ0NCQ0FCRUFuU3dRUVFBQUJCQkJBCkFBRUVZaFVn
QUltMTVhazNBZ2dnZ0FBQ0NDQ0FBQUlCQkFoQUFxQ1RKUUlJSUlBQUFnZ2dnQUFDc1FvUWdNVGE4
dFFiQVFRUVFBQUIKQkJCQUFJRUFBZ1FnQWRESkVnRUVFRUFBQVFRUVFBQ0JXQVVJUUdKdGVlcU5B
QUlJSUlBQUFnZ2dnRUFBQVFLUUFPaGtpUUFDQ0NDQQpBQUlJSUlCQXJBSUVJTEcyUFBWR0FBRUVF
RUFBQVFRUVFDQ0FBQUZJQUhTeVJBQUJCQkJBQUFFRUVFQWdWZ0VDa0ZoYm5ub2pnQUFDCkNDQ0FB
QUlJSUJCQWdBQWtBRHBaSW9BQUFnZ2dnQUFDQ0NBUXF3QUJTS3d0VDcwUlFBQUJCQkJBQUFFRUVB
Z2dRQUFTQUowc0VVQUEKQVFRUVFBQUJCQkNJVllBQUpOYVdwOTRJSUlBQUFnZ2dnQUFDQ0FRUUlB
QUpnRTZXQ0NDQUFBSUlJSUFBQWdqRUtrQUFFbXZMVTI4RQpFRUFBQVFRUVFBQUJCQUlJRUlBRVFD
ZExCQkJBQUFFRUVFQUFBUVJpRlNBQWliWGxxVGNDQ0NDQUFBSUlJSUFBQWdFRUNFQUNvSk1sCkFn
Z2dnQUFDQ0NDQUFBS3hDaENBeE5yeTFCc0JCQkJBQUFFRUVFQUFnUUFDQkNBQjBNa1NBUVFRUUFB
QkJCQkFBSUZZQlFoQVltMTUKNm8wQUFnZ2dnQUFDQ0NDQVFBQUJBcEFBNkdTSkFBSUlJSUFBQWdn
Z2dFQ3NBZ1Fnc2JZODlVWUFBUVFRUUFBQkJCQkFJSUFBQVVnQQpkTEpFQUFFRUVFQUFBUVFRUUNC
V0FRS1FXRnVlZWlPQUFBSUlJSUFBQWdnZ0VFQ0FBQ1FBT2xraWdBQUNDQ0NBQUFJSUlCQ3JBQUZJ
CnJDMVB2UkZBQUFFRUVFQUFBUVFRQ0NCQUFCSUFuU3dSUUFBQkJCQkFBQUVFRUloVmdBQWsxcGFu
M2dnZ2dBQUNDQ0NBQUFJSUJCQWcKQUFtQVRwWUlJSUFBQWdnZ2dBQUNDTVFxUUFBU2E4dFRid1FR
UUFBQkJCQkFBQUVFQWdnUWdBUkFKMHNFRUVBQUFRUVFRQUFCQkdJVgpJQUNKdGVXcE53SUlJSUFB
QWdnZ2dBQUNBUVFJUUFLZ2t5VUNDQ0NBQUFJSUlJQUFBckVLRUlERTJ2TFVHd0VFRUVBQUFRUVFR
QUNCCkFBSUVJQUhReVJJQkJCQkFBQUVFRUVBQWdWZ0ZDRUJpYlhucWpRQUNDQ0NBQUFJSUlJQkFB
QUVDa0FEb1pJa0FBZ2dnZ0FBQ0NDQ0EKUUt3Q0JDQ3h0anoxUmdBQkJCQkFBQUVFRUVBZ2dBQUJT
QUIwc2tRQUFRUVFRQUFCQkJCQUlGWUJBcEJZVzU1Nkk0QUFBZ2dnZ0FBQwpDQ0FRUUlBQUpBQTZX
U0tBQUFJSUlJQUFBZ2dnRUtzQUFVaXNMVSs5RVVBQUFRUVFRQUFCQkJBSUlFQUFFZ0NkTEJGQUFB
RUVFRUFBCkFRUVFpRldBQUNUV2xxZmVDQ0NBQUFJSUlJQUFBZ2dFRUNBQUNZQk9sZ2dnZ0FBQ0ND
Q0FBQUlJeENwQUFCSnJ5MU52QkJCQUFBRUUKRUVBQUFRUUNDQkNBQkVBblN3UVFRQUFCQkJCQUFB
RUVZaFVnQUltMTVhazNBZ2dnZ0FBQ0NDQ0FBQUlCQkFoQUFxQ1RKUUlJSUlBQQpBZ2dnZ0FBQ3NR
b1FnTVRhOHRRYkFRUVFRQUFCQkJCQUFJRUFBZ1FnQWRESkVnRUVFRUFBQVFRUVFBQ0JXQVVJUUdK
dGVlcU5BQUlJCklJQUFBZ2dnZ0VBQUFRS1FBT2hraVFBQ0NDQ0FBQUlJSUlCQXJBSUVJTEcyUFBW
R0FBRUVFRUFBQVFRUVFDQ0FBQUZJQUhTeVJBQUIKQkJCQUFBRUVFRUFnVmdFQ2tGaGJubm9qZ0FB
Q0NDQ0FBQUlJSUJCQWdBQWtBRHBaSW9BQUFnZ2dnQUFDQ0NBUXF3QUJTS3d0VDcwUgpRQUFCQkJC
QUFBRUVFQWdnUUFBU0FKMHNFVUFBQVFRUVFBQUJCQkNJVllBQUpOYVdwOTRJSUlBQUFnZ2dnQUFD
Q0FRUUlBQUpnRTZXCkNDQ0FBQUlJSUlBQUFnakVLa0FBRW12TFUyOEVFRUFBQVFRUVFBQUJCQUlJ
RUlBRVFDZExCQkJBQUFFRUVFQUFBUVJpRlNBQWliWGwKcVRjQ0NDQ0FBQUlJSUlBQUFnRUVDRUFD
b0pNbEFnZ2dnQUFDQ0NDQUFBS3hDaENBeE5yeTFCc0JCQkJBQUFFRUVFQUFnUUFDQkNBQgowTWtT
QVFRUVFBQUJCQkJBQUlGWUJRaEFZbTE1Nm8wQUFnZ2dnQUFDQ0NDQVFBQUJBcEFBNkdTSkFBSUlJ
SUFBQWdnZ2dFQ3NBZ1FnCnNiWTg5VVlBQVFRUVFBQUJCQkJBSUlBQUFVZ0FkTEpFQUFFRUVFQUFB
UVFRUUNCV0FRS1FXRnVlZWlPQUFBSUlJSUFBQWdnZ0VFQ0EKQUNRQU9sa2lnQUFDQ0NDQUFBSUlJ
QkNyQUFGSXJDMVB2UkZBQUFFRUVFQUFBUVFRQ0NCQUFCSUFuU3dSUUFBQkJCQkFBQUVFRUloVgpn
QUFrMXBhbjNnZ2dnQUFDQ0NDQUFBSUlCQkFnQUFtQVRwWUlJSUFBQWdnZ2dBQUNDTVFxUUFBU2E4
dFRid1FRUUFBQkJCQkFBQUVFCkFnZ1FnQVJBSjBzRUVFQUFBUVFRUUFBQkJHSVZJQUNKdGVXcE53
SUlJSUFBQWdnZ2dBQUNBUVFJUUFLZ2t5VUNDQ0NBQUFJSUlJQUEKQXJFS0VJREUydkxVR3dFRUVF
QUFBUVFRUUFDQkFBSUVJQUhReVJJQkJCQkFBQUVFRUVBQWdWZ0ZDRUJpYlhucWpRQUNDQ0NBQUFJ
SQpJSUJBQUFFQ2tBRG9aSWtBQWdnZ2dBQUNDQ0NBUUt3Q0JDQ3h0anoxUmdBQkJCQkFBQUVFRUVB
Z2dBQUJTQUIwc2tRQUFRUVFRQUFCCkJCQkFJRllCQXBCWVc1NTZJNEFBQWdnZ2dBQUNDQ0FRUUlB
QUpBQTZXU0tBQUFJSUlJQUFBZ2dnRUtzQUFVaXNMVSs5RVVBQUFRUVEKUUFBQkJCQUlJRUFBRWdD
ZExCRkFBQUVFRUVBQUFRUVFpRldBQUNUV2xxZmVDQ0NBQUFJSUlJQUFBZ2dFRUNBQUNZQk9sZ2dn
Z0FBQwpDQ0NBQUFJSXhDcEFBQkpyeTFOdkJCQkFBQUVFRUVBQUFRUUNDQkNBQkVBblN3UVFRQUFC
QkJCQUFBRUVZaFVnQUltMTVhazNBZ2dnCmdBQUNDQ0NBQUFJQkJQNC8rYzJucVRvSVlvQUFBQUFB
U1VWT1JLNUNZSUk9CgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9p
bnRlcm5hdGlvbmFsL2JpZGktbmV1dHJhbC1ydW4tZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fu
bm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUg
PSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFB
QUpZQ0FZQUFBQ2Fkb0p3QUFBQzdtbERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0YKVk05ckUwRVUv
alp1cWRBaUNGcHJEcko0a0NKSldhdG9SZFEyL1JGaWF3emJIN1pGa0dRelNkWnVOdXZ1SnJXbGlP
VGkwU3JlUmUyaApCLytBSG5yd1pDOUtoVnBGS042cktHS2hGeTN4elc1TXRxWHF3TTUrODk0Mzcz
MXZkdDhBRFhMU05QV0FCT1FOeDFLaUVXbHNmRUpxCi9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitY
dm4ySG9QZ1Z0V3czdjdkN0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4Q2xrU0FvZzgKMzZFcHgz
UUkzK1BZOHV5UE9VNTVlTUcxRHlzOXhGa2lmRUExTGM1L1RiaFR6U1hUUUlOSU9KVDFjVkkrbk5l
TGxOY2RCMmx1WnNiSQpFTDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBh
NGpaNzFqTlUvNG1IaHBPYkVoajBjR0RYMCtHQVZ0eHFwCitEWENGRjhRVFNlaVZISFpMZzN4bUs3
OVZ2SktnbkNRT01wa1lZQnpXa2hQMTB4dStMcUhCWDBtMXhPdjRuZFdVZUY1anhObjN0VGQKNzBY
YUFxOHdEaDBNR2d5YURVaFFFRVVFWVppd1VFQ0dQQm94TkxKeVB5T3JCaHVUZXpKMUpHcTdkR0pF
c1VGN050dzl0MUdrM1R6KwpLQ0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5
NER2RjVabTVHaDdYMDhqamMwMWVmSlhVZHBOWFI1YXNlWHE4Cm11d2FQK3hYbHpIbWdqV1B4SE93
Ky9FdFg1WE1seW1NRk1YalZmUHFTNFIxV2pFMzM1OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4K
L1dwSSsrNnF2SlBtVmZsUFh2WHgvR2ZOeEdQaUtURW1kb3JuSVltWHhTN3hrdGhMcXd2aVlHM0hD
SjJWaGluU2JaSDZKTlZnWUpxOAo5UzlkUDF0NHZVWi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09i
L3FQMjhmOEYrVDNpdWVmS0FJdmJPREltYnB0VTNIdkVLRmxwVzV6CnJnSVh2OUY5OExadWE2TitP
UHdFV0R5ckZxMVNOWjhndkFFY2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0
Y2wKMTJWTEZyT1pWV0xwZHRpWjB4MXVIS0U1UXZmRXAwcGxrL3F2OFJHdy9iQlMrZm1zVXRsK1Ro
cldnWmY2YjhDOC9VWEFlSXVKQUFBZwpBRWxFUVZSNEFlemRDWmhVMVpuLzhiZWhtMFgySFZsRkJZ
bUdSUW15VFFUSFVSU0VRZFlKd1NURVlSa2RDRE4vRm9PZ2NZSUJKc2lpCkJoQ1VQQVFCSXpFRFpp
Q0JLQ0k2Q29KZ0VBUWhNRWFRZlpXdG9hSHJmMzlIVDFsVnZWUlZkMWNyNC9jOFQvWGR6cjNuMUtj
YnJiZk8KbGhZS2twRVFRQUFCQkJCQUFBRUVFRUFBZ1FRRmxpNWRhbGxaV1ZhMWFsVTdmLzY4MjA5
TFM3TXlaY3BZcVZLbExDTWp3MjM5ZnNtUwpKZTN5NWNzdWIzcUNaWkFOQVFRUVFBQUJCQkJBQUFF
RUVIQUM2ZW5wMXJCaFEydlVxSkdWS0ZIQ0xsNjhhR2ZPbkxGejU4NjVZd1VlCnBVdVhEZ2NoUGdB
NWUvYXNFWUR3UjRRQUFnZ2dnQUFDQ0NDQUFBSkpDU2lnVU9DaGx3ODJ5cGN2YjZkT25YS0JpRnBB
ZEUyQmlsN0sKcnhZU2JRbEFrcUltTXdJSUlJQUFBZ2dnZ0FBQ0NDakE4RUdGQWd1OWxIVE9kNzlT
QzRoZVBoaFJGeXdkRTREdzk0TUFBZ2dnZ0FBQwpDQ0NBQUFKSkMvaWg1TnBtWjJmYjZkT243YlBQ
UG5NdEhqcjJMejNZQnlqYUp3Q1JBZ2tCQkJCQUFBRUVFRUFBQVFRU0ZsRFE0UU9RCkN4Y3UyS0ZE
aDF3QW9rQkRyUndhb0s1eElVcnFpa1VBa2pBdEdSRkFBQUVFRUVBQUFRUVFRQ0JXd0FjVkNqNzI3
TmxqNzcvL3ZoMCsKZk5oT25qenB4b0JvTnF4cTFhclo5ZGRmYjIzYXRMRmF0V3E1N2xrS1dtZ0Jp
ZFhrR0FFRUVFQUFBUVFRUUFBQkJQSVZVUGVxUzVjdQoyZWJObSszVk5adnRuWTlLMko1ejlleG94
bmVzZEZteld1bEhyTWJSVDZ6T3pqWDIwVWNmMlQvOHd6L1lqVGZlNkZwTkNFRHlwZVVpCkFnZ2dn
QUFDQ0NDQUFBSUl4QXFvSlVQZHJ2Nzd6eC9abno2b2FydXo2bHVKU2hsV29XSnBxMVF4d3pMSzFM
UUxaWnJacDhjL3NFc2YKYjdhc1AvN1JkY1c2NXBwcmFBR0p4ZVFZQVFRUVFBQUJCQkJBQUFFRTRn
dHMzdktKL1hsclJkdDlvWTZsVlN0akZTcVZ0aXFWU2xtbAo4aGxXc1d3cHU2cDBDY3VvMXRZeVA4
Mnd2eDE2eXpaczJPQVdMaXdSLzlGWFJnNHRmTEozNzk0cm83SmYxRko5NXQ1KysrMlUxRm5UCm5P
M1lzU1BQWjZleTdNaENpNm9jOVNsY3ZYcTFIVDkrUFBMeFY4eitsVnIvb3ZyOVhURy9LQ3FLQUFJ
SUlJQUFBZ2tKYUlENWU3c3kKYk9kbjFTMnRZcnBWclBoNTRGR3BmQ21yV3JHc1ZhMWN6cXBXcTJ3
MWFsU3hPczA2MnRreTllM1RUejkxcjdnQnlMMzMzbXRWcWxTeAp1KysrMi9yMjdlc0dqMmpGdzk2
OWU5dmYvZDNmdWVQZi9PWTNDVlUwVlprV0xWcmtCcllzV0xBZ1ZVVVUrWFBYcjE5djMvbk9kNnhu
Cno1NUYvbXhGbHkxYnRyVEJnd2ZuK3V4VWxoMVpZRkdWTTJmT0hIdnh4UmZ0alRmZXNKdHV1c24w
b2ZoS1NsZHEvWXZxOTNjbC9hNm8KS3dJSUlJQUFBZ2drSnBDWm1XbmIvaGFzZGw2dXROM2V0clox
YmwzTnJxdFh3YzJBVmJac1dTdDdWWG1yV0w2Y1ZhcGEzYXJVdU5ySwoxNy9GclpLdUw1UGpCaUNh
UW12VHBrMzJwei85eVY1NjZTVzMwbUduVHAzc2Q3LzduYjMxMWx2MnkxLyswbFNCZ2laOW1Iejk5
ZGVUCnZqM3l2djc5Kzd1bDRKTit5RmQ0ZzJZRCtOR1BmcFNTR3JSdTNkcjBPOUtpTDdtbFZKWWRX
VjVSbEhQMjdGbjc5My8vZC92WGYvMVgKZS96eHgrM2xsMTkyZjlpUjVYeWQ5Ny9xK2tmK08wbldL
WkhmWDJHZW4yeDl5SThBQWdnZ2dBQUNYeDhCRFVMZmV6amQydDVjM1RvMQpxMlRORzVhM1c2NHBa
NlhTZy9FZjZTV3RUT21nQzFhNXE2eGNlUXZHaFpoVnY3YVZDMEFVVzhRTlFQVGhUeTBlZWFVaFE0
YTRiNlh6CnVoNTczczhYclBPcXdQMzMzMjl2dnZsbWJMYnd2TUk1THVSeG56NXNSODR2bk50OXFU
NFgrZDRTS1V2TDFoZDFuZlhIb0tRbDd6VTkKV2w0cEZXWG5WbFpoeS9uZ2d3L2NITkwrdmJSdjN6
NjNZbEoyTHRuZmFXeEZ2c3I2NS9mdks3YWVPdFpNRnJFcHY5OWZzcytQZlhaQgpiUXQ2WDJ6NUhD
T0FBQUlJSUlCQXdRWDAvK096RnpQc1c5ZVVEOFo2bExUMEVtbmhiYnFDa09CemJ2QnhOUGppMkt4
TU9iUEt0YXQrCnVTNUl2R0k3ZCs2Y2I1Wnk1Y3BaaHc0ZFhCNk5oRmZBMHJGalIydlZxcFd0Vzdj
dWZPOXZmL3RibXpWcmx2M25mLzZuK1ErUjA2ZFAKdDFkZWVjV1dMbDFxUC96aEQwM2ZGdWVXTC95
UUwzWnl1MCtYOU9INzBVY2Z0UVlOR3RpM3YvMXQrOS8vL2Qvd3JmblZMWndwMkZGcgpqNEtxY2VQ
RzJSTlBQQkgwVzZ0aDc3NzdyaHZsbjh4NzB6TTFMa1hmM1ArLy8vZi9yRWVQSGpaOCtIQTdmLzU4
WkhIaC9mLys3LysyCjJyVnJtMW92L3ZyWHY3cnpLcmRodzRhMmF0VXFkNXpmZXpoMzdwdzkrT0NE
Tm1IQ0JCczZkS2h0M0xneC9PeEVkdko2ZG1IckZhL3MKL0l5ZWUrNDUrOW5QZnVZK0dELzAwRU0y
Y3VUSUhJL0w3ZmVsMzF2ZHVuWHQ2YWVmZHZuVmZldUdHMjV3TGpxaEZyZC8rcWQvY3M5Nwovdm5u
N2JycnJyT21UWnRHL2IwazhuZW9aeFcyL29uVUphL2ZqZXFZMy91TS9YZnlQLy96UDduK2JiLzIy
bXMyZWZKa216cDFxdnUzCnZIWHJWcjIxdUNuMitmUG16WE5mUm5UdDJqVTgva2dCV0x0MjdaejVx
NisrYXQvNzN2ZHMvUGp4OXZEREQ5dlZWMS90L3EzcXZFOTUKdlZkZFQvUjM0cC9GRmdFRUVFQUFB
UVJTSjFDeVpNbmc0ZGxXNGFvZytFZ0xWam9QamtvR0FVZUprbWxXSWkxa0pZUHZ3ZlZkZUJDSApX
SG9RaEpRTU91WW9hSEZmS2djN1NhVmdVWkZRMEhVb3h6M0J0NmVoZSs2NUp4UXN2eDRLQmtDSGdn
L3hvZUREZStqRWlST2g0SnZTClVERGVJWHpQdi8zYnY3azhPaEZNeFJYNnhTOSs0YTdsbHk5ODh4
YzdrZmZwVlBQbXpVTXRXclFJQlI5bVFzRmc5RkR3Z1RMMHovLzgKenk1M2ZuWDc0bkhoelR2dnZC
TUt4cnlFZ2pFVW9hQ2JtWHNmMjdkdkw5Qjd1KzIyMjBMQitCajM3R0NnVHVqV1cyOE5CV05xd21V
OQo5ZFJUb1NEb0NCK3J2bzBiTnc0Znl5UDR3T2FPNDcySDRFTmZLUGlnN2ZMS3YwNmRPcUU3Nzd3
ei9LelluY2l5NHoyN01QV0tMQ2UyCkRqcU9aeFIwK3dzRmY2aTUzZXJPNWZiNzJybHpaeWo0WUI0
S0FwSHdmWGZkZFZlb1Q1OCs3dmpnd1lPaEprMmF1TCtSUC96aEQ2R1AKUC80NEZBUW9vVUdEQnJu
cnlmd2RGcmIrOGVvUzczZVQzL3ZVbTRuOGQ1S2JWUkJzT0t0Z2dMOTc3MEhBRityVnE1ZmIxNDk0
djcvSQo1eXUvUElKNXZyWHJrdXJ2bnhkOElSQ3FXYk5tS0doUkRRV3RucUZnVEkvN04xdS9mdjF3
M29MOE4rU0xvdGdnZ0FBQ0NDQ0FRREVLCkxGbXlKR1JObDRSR3pmdHJhUHFxQTZGSnkvZUhIdi9E
Z2REZi8vTGpVTi9uajRmKzVmZFpvWisrR2dwTjNCUUt6ZGdaYk44TGhiNy8KL2UrSEZpOWVITXE3
ajA2U0FaUEdod1R2MlhXbjBuZ1JmYnQ1NU1nUlc3dDJyVnNSVWFzanJsaXh3ajAxK0tBWDFjWEtk
MFBTeW9uNQo1WXV0a3IvUG45ZUErVHZ1dU1QcTFhdG50OTkrZS9oYjJQenE1dS8xMjdadDI3cHZ3
Ny8xclc5WjhNSEpacytlN1JaWVNmYTl5VUJqClpQUk51NUs2aVAzNHh6ODJ0U2dFSHdSOWNWRmJ0
WmJzMnJYTFRWR21DL3BtT1BqUTdQTGs5eDdVMGlSYjMxcWx5TEpMbHk1Uno4N3YKSUw5bjY3NkMx
aXUvTW5XdElFYXh6OHp0OXhVRWNhYkJUNUYvSDFkZGRWWDRXQ3R4cXRXaldiTm1wcjhadFRMOS9k
Ly92VnNrUjg5UAo5Tyt3S09vZnJ5N3hmamY1dlU5djVSMXlzOUtDUUpvSUlRamVYWGF0V0JvRTNQ
N1doTGIrK2NvY2ZMbGdhbEh4clkvNk54QUVGZTQ1ClFiQmlRYkJoM2J0M2R4TllCTUdLbTF4QXM5
ZXB6UHplYTZLL2s0UXFUQ1lFRUVBQUFRUVFLQnFCWU5iVjRFTzlYUTU2SWFrRkpHZ1EKMGFHRmdt
T05DdERBZ0ZEdzQvSVh2YnoxbVVHZlU0c3NBTkdIYW4xNFVaOXh2ZFF0Njg5Ly9yUHJpbFc5ZW5Y
M0lhZGJ0MjZtcmpUNgpJUEo1czgzbjc5MS9nSW1YNy9QY1gvNzA5L2t6a2NlYXVVdmRZNVR5cTV1
L04zS3JEM1hxZXVWVGZ2Zm5WV2QxbjlJeklnZUNCeTBnCjdwRmFNVEszcEErQjZycjJ3Z3N2dU1z
clY2NDBkV2RSeXE4T2E5YXNjVUZUNWNxVlhWNzlLRisrZlBnRGQvaGtIanY1UFZ1M0ZMUmUKZVJR
WFBsMFFvL0RORVR1eHY2K0lTM251Nm04bDh1K2xRb1VLNGNrVTh2cWR4ajZzcU9xZlgxM2kvVzVp
NjVUYmNlVDdqTFhTdGFDVgp3d1ZkNm9hbG1jWk9uejZkMjJQeVBCZjVmUDBiVjVDaG1iK1VGSEFy
a1BkSmVTUC83YXZybS82dEt0ak83NzBtK2p2eDViQkZBQUVFCkVFQUFnV0lRcUY0dTZINlZGZ1Fn
UWFBUkZKZDFPZVNDanV3Z3hManNYaHBqR2x3TElnNEZKa3I2TEJEMDFDcWFkUFRvVVRmd1djdXMK
NTVZMFZXN1FMY2htekpqaHhsbm93M1hGaXNHUStKaVVhTDZZMi9JOWpGZTNmRzhPTHNhN1A3YzZh
MHlHN2xNUXBHQkFTZCs0YTNDNAp4cnJrbGRSS290bWVOSllqNk83bWdqbmx6YThPKy9idGM5ZGpu
eG41d1REMld1Unhmcy8yK1FwU0wzOXZYdHVDR3VYMXZLSThuOXZ2Ck5QYnZ0VGpxbjhqdnByRHYr
OWxubjNXdGRSckRvWEUzQ3F3S21oUmMvTXUvL0l0cGZJaitqalhtS1RJd3p1MjUraVpFL3k3aXZk
ZEUKZmllNVBaOXpDQ0NBQUFJSUlKQTZnZXdnK2xDTHhvWHNrQXN5TGdXTklsbkJqNkFidGwwT2xR
b0NrU0FJQ1g1Y2pHd0ZLYXJxYUtZcwp0WGhFVHNtcmJrdjZkajdvNTI1YWlHM2F0R211MjQwR3Bt
cGdzRS8rZzNLOGZENi8zL3I3L0hGZTIvenFsdGM5a2VmenV6K3ZPdXViClhTMEdxRFU1ZkpLQmZo
bnEzcFZYMHBUQ3dUZ2FHelpzbU4xMzMzM2hiUG5WUVlHZHVyc0ZZeC9DK1pQWnllL1ovamtGcVpl
L042OXQKUVkzeWVsN3NlVDhqV096NWVNZDUvVTVqNzB0MS9WVmVJcitiZU84enYzOG5IMzc0b1p1
OFlNcVVLVkd0ZGJIdk5iL2oyT2NIWTRaYwppOHJZc1dQdHU5LzlibjYzdXIvWlk4ZU8yUzIzM0pM
dmUwMzBkNUp2WVZ4RUFBRUVFRUFBZ1NJWENBYnJCcVBOMDZ4VU1QZzhQVDFZCitUd1ltNTRlN0dk
b1AraVhGVXlJWmNHTXZGYTZ6SmRGSjlVRlN4OTB0T3BoYnF0UkI0TkszRXhSbWtFcUdIanVBbzcv
K0kvL01QWEgKMXdjTXpXQ2pGQXdHdG4vOHgzOE10d3JvMjFGOWc2KzBaOCtlUFBPNURCRS9JdTlU
ZWZvMldpK2Y5TTJybjNFcXY3cjUvSkZiQlFuKwpYcDNQNy82ODNwdkdibWdzaW9JeW56UXpsVDYw
YWxGSEpWa0dBNTc5WmJmVisxS2ZmQzBDNTd0czZVSitkZWpYcjUvN0JsbmpWWHpTCkt1ajZSbGxC
VUc0cHN1ejhudTN2TFVpOWRHOWtPZjVaZnB1SWtZSXgvZDFGL203OS9YNGIrL3ZTZWJVMnlWRGw3
OSsvMzNidjN1MysKRHYwOU9oLzV3VjNQOTFaNS9VNzl2WDViVlBYUHJ5N3hmamZ4M21mc3Y1TllL
NDI5a0lNQ0ViMS9kY0hTbHdqNjhrQ3YvSDUvY29oOQp2czZwdTVUR1Bxa2JscnBreFNiNStxUlp3
QlNrYU0yUi9ONXJmcjhUclVVU1RHUVIvdStJZnpaYkJCQkFBQUVFRUNnR0FRVVp3U3VZCitPcnpt
YStDblZKQkVKSVJCQ1lLUUxRcVhjbmdXcW5JcUNQNGtKRlEwbXc1bXRrcWVFYW9VcVZLb1NlZmZE
SjA2dFNwcUh1RGFYWkQKcFV1WERnWGZpTG9ac1A3cnYvN0xYZGU5d2FEZlVORFZJN1JzMmJKUU1G
MnNteGxMRjROdlNWMytvSXVQbXhVbnIzeFJCY1hjRjB5bAo2bVpLQ2diVWhvTHhGYUZnYXRaUTBN
b1FDcnAxaElKcGZ0MnRlZFV0OXJrTEZ5NE1CVk1MaDRKQjlLRWdhQXBmenV2Ky9ONmI2cUU2CkJZ
czFob0pCNHFIZ1ExbElNMm9wQlIrT1E4RjREK2M1YytiTVVQQWhLbHhXTUlnM05ISGl4UEN4Mzht
ckRycXVlZ2ZqR056N0RsYXMKRHdVZi9FTEJkTWZ1dkwvZmIzTXJPNzluKy91U3JWZHU1ZmhuK1cx
K1JzSGcrbER3NGRRWkJWUHdob0lnd3Q4VzN1YjErMUpkZ3pGSgpvV3V2dlRZMGF0U29VREExY1Np
WW9DQ2syWjQwKzFMd3dkbk5GQmFNT3dnRkV4K0Vyci8rZXZlM0cweDVITXJ2ZHhvdStJdWR3dFkv
ClhsMVVUSDYvbS96ZXArNk4vUGVsdjdQWXYrMmdPNkNiOFMzb0poZ2FPSEJnYVBueTVhRmd3SDVv
d0lBQm9XQUFlWjUvbzNxMlV1VHoKZ3lsMFB6OFovTlQ3Q2xyTndzZCtSN1BoYVlhNVlDcmVVTkJG
SzZUWnlZTFdEWDg1ei9lYTMrOGtDSjdjZjBQbXo1OGZmZzQ3Q0NDQQpBQUlJSUpCYUFUY0xWcnMv
aE1iOFprOW94cDhQaEthc1BCRDZqMkFXck00ejlvVysvNXNUb1dHdlpJZkd2eEVLL2VmbTRMUE0v
NFpDCjA3ZUczT2NMM1plbXFoVmxiS1J2VERXcmpXWVdVcjl1SlgzRHFuN2Vtc2xHZzdLMWRraGsw
amYxK3RZMFhyN0llN1R2NzRzOW45ZHgKYm5YTEsyOXU1M083UDE2ZHhhdDFQZlQrTmZOU29rbmY2
Z2JCWEk3c3VkWEJaOUkzMkdvTmtxVyt4ZFlZa21SU2ZzLzJ6eWxJdmZ5OQplVzBMYXBUWDgveDV2
UitaYU9DMVdwb2lKd1R3ZVhMYnh2dWR4dDZUcXZwSGxwUGY3eWJlKzB6azM0bGEvT1NrbEl5Vjh1
ZjJmTFYrClhIUE5OYTdGVTNsODBqbzNtdjFLcmFOcWRZcWM3TUhueWUyOXh2dWRxQXRpYnMveXoy
U0xBQUlJSUlBQUFrVXJFQ3hYWVgybWxyRXgKRDk1a2RXdVhzVXVoTkR0M3NZUzl2ZnVpVmE5U3px
cFVybVJWcTVhd1NzRWNTVmNGdzZFdkJFT2cxMCs4My9XRUtySkI2UDR0YVFhcwoyQS9hK3ZDdHBP
NGF1U1Y5WUZhS2x5LzJYbjlmN1BtOGpuT3JXMTU1Y3p1ZjIvM3g2cXorOGVxR2xtektMZmpRTTNL
cmczKzJCZ0I3CmsyU0RqM2pQOW1VVXBGNyszcnkyQlRYSzYzbit2S3g4U2pUNFVQNTR2MVAvVEw5
TlZmMzk4N1hONy9jZTczMzZ2NG5JNThYdSsrQkQKNTVPeFV2N0k1MnNHTGYyTnFPdWhwdFhOSyts
TGlOZ3ZJbnplM041cnZOOEp3WWZYWTRzQUFnZ2dnRUF4Q3dTZmRVc0dyMkRwd1dBMQo5S0M3VmRE
dHFtU3dDbUY2OFBsZmF4VUdoOEdZa09BTHp1RGxVMlJ2TEgrT0xRSUlJSkMwUU5ERnk0THVtZTRM
Q0szMW84QXNNcWtWCnc0L0hpVHpQUGdJSUlJQUFBZ2hjdVFKQmY2cGc5Zk5nYlE4RkhsOEVJQ1dD
Y0VTcm9XdHNTTkQ1NmZOdFJOUlI1QzBnVnk0Zk5VY0EKZ2NJSWFPQzVnZzVOTXFHWjJXTFRnZ1VM
M0l4Yk9oK3NnbXJmKzk3M1lyTndqQUFDQ0NDQUFBSlhta0RRMHFIdkhOWGFVU0piTTJFRgpMU0Z1
UnF5Z1pTUUlQaFIzcEtrbEpPSjdTUUtRSysyWFRIMFIrSm9LVksxYTFhMEJrbGYxZnZqREgrWjFp
Zk1JSUlBQUFnZ2djSVVLCmFEQjVzQVJJc09KNXlIMFJXVEpvOXNnSW9oRzFocFFJenF0TGxvYUZh
enBlbnlJYVEvd3B0Z2dnZ0FBQ0NDQ0FBQUlJSUlCQWZBR3QKK3hGeUs2RnJSZlJRc09aZGRqQWcv
Zk9nSkRqdFZralhhdWhaRjc5OEZnSElseGJzSVlBQUFnZ2dnQUFDQ0NDQVFESUNsNE9XRDh0MgpN
NDlxYnQzTENrRGNTdWpCQ3VqQmNuZGFBZDNOdVJ0Yzg0a3VXRjZDTFFJSUlJQUFBZ2dnZ0FBQ0ND
UWxvTllOTjlJajZHcWxHQ003CnJZUmRVa3RJMFB5aDViQjFUdXR1WDNENWdvTWdFWUI4N3NCUEJC
QkFBQUVFRUVBQUFRUVFTRklnRkxvY2pBRUpXa0RVekJFTVFyOFUKUkNUWlFRQ2l3RU10SUZsQkZK
S2x2bGdSZzlEcGdwVWtNdGtSUUFBQkJCQkFBQUVFRUVEZ2M0RTB0WFFFMFVZb1dJand3dVVTd1Rp
UQo0RGg0YVJ5STJ3OENFQVVqd2RyUTRVUUFFcVpnQndFRUVFQUFBUVFRUUFBQkJKSVNDSUlOellD
VmxSVUtXajR1VzFiUTkrcGkwT3h4CktSajhvY0JFWGJUVUVuS0JRZWhKc1pJWkFRUVFRQUFCQkJC
QUFBRUVjaEhRQXVjWEZXa0VYYXlDc2VmQnVBOE5TUzlwV2FFU3dmbWcKKzFVUWdGejhvcFhFMzA0
TGlKZGdpd0FDQ0NDQUFBSUlJSUFBQWtrSlpBZjlyQlJRWkduY1J6QU9SRUZJbHBzRjYvTVdFUFc4
MGpuTgpodVVUZzlDOUJGc0VFRUFBQVFRUVFBQUJCQkJJU2lBVXJJUnVKZEtzVkhEWEpiY0lZVERM
VmJENllFWjZDY3ZRSW9UQkFvU2xnNHZaClpiNThMQzBnWDFxd2h3QUNDQ0NBQUFJSUlJQUFBc2tJ
S01nSVhtbEJMeXkzK25td1V5cm9sNVVSQkNZS1FMUUFlc25nV3FtSXFDTmkKTjVtU3lJc0FBZ2dn
Z0FBQ0NDQ0FBQUxmZElHMG9LVWpMV2dCS2FFb0pFZ1pwVEtzWkxBOGVzbmd1RVRRMTBvTkpHb0ZV
WERpRTEydwp2QVJiQkJCQUFBRUVFRUFBQVFRUVNFcWdSREFHNUZJd0NGMnpYVjIrbEdZWGc4RWVG
ekl2ZlQ3NFBKajlTbFB4WGd4bXdJcGNpREFpCkZrbXFMRElqZ0FBQ0NDQ0FBQUlJSUlEQU4xbEFL
NTVyQWl4MXdkS3JSTWl0TjFnaVBUM1lYcmFTUVZlc1lHRjA5M0tMZ1h4aFJRRHkKVGY2ajRiMGpn
QUFDQ0NDQUFBSUlJRkJRQWEwQkV0d2JHVkJvSnF6UTVTeTNKc2psTDlZQTBUb2dXaWhkS1MySVZD
THpmMzZXbndnZwpnQUFDQ0NDQUFBSUlJSUJBUElFZ3FzaThrQjIwZFNnRmdVZlFJbkw1WXBaYjlU
eEwyeUR3dUJSMHY4b0tYaGN2QkdOQmdwYVJFc0dnCkVBS1FlTEJjUndBQkJCQkFBQUVFRUVBQWdT
Z0JCUkxsMDdOc3h5ZG5ndkVmSWJjWW9jYUNYSGFyb2w4SUFvNExsbm4rZ3AwL2I1WjUKeHV6NHA4
ZXRiTm15bHBHUllReENqNkxrQUFFRUVFQUFBUVFRUUFBQkJPSUpxQ3RWZ3lvWDdKM054NnhzdFRK
V3RXS0dIVHVqUU9TUwpYY3c4YjVrWkpleGNadERXa1padFdaa1pkdUovTjF1ZHlwVmRFRkxvRnBB
elo4N1lwNTkrR3ErTzd2cTVjK2VpOHUzYnR5L3F1Q0FICmx5OWZ0aDA3ZGhUa1Z1NUJBQUVFRUVB
QUFRUVFRQUNCQWdpb085WE4xNW1kUFhIZVZyeHh3SmI5enhIN1lNOUp1eEJNZVhVaEt5dVkKQ2V1
Y25UbDkyazZmT21rbmp4Mnh6QU1mV0owNmRheGl4WXFGNjRMMTdMUFBXclZxMVd6SmtpVnhxNzF1
M1RwYnZueDVWTDdldlh2YgpxbFdyb3M0bGM3Qmh3d1pyMmJLbERSNDhPSm5ieUlzQUFnZ2dnQUFD
Q0NDQUFBS0ZFRkFYckU2M2xMRm1OVS9iNVZOWmR1cXppM2J5CjlDWDc3RnkyblRpVFpTYyt1MkFu
VHAyMVl5Zk8ySkVkYjF2RDh1ZnRtbXV1c1VxVktoVXVBQmt5WkloVnFWSWxidFVWb0NnQTZkT24K
VHppdmp2ZnYzMi9UcDA4UG4wdDJwM1hyMXRhcFV5ZlhseXpaZThtUEFBSUlJSUFBQWdnZ2dBQUNC
Uk5RQUZLL3psWDJ2VTZsckZtVgpZeFk2a1dtblQ1NjNFOGZPMlltVG1YYjhWUEFLZ3BBem4yeTJS
aGw3N2RibVRWd0FVcjU4K2VUR2dGd0tWaGhSYzB0azBrQVM5UUhMCkt4MDhlTkFtVFpwazc3MzNY
bFNXYWRPbTJkU3BVKzJKSjU1d1hhaWFObTBhZFQzZVFYWjJ0aHRGNzBmVHg4dlBkUVFRUUFBQkJC
QkEKQUFFRUVDZ2FBUVVnaWdQYXRLeHE5YTdPdEQrOWU5STI3aXRoKzg1V3ROUFphVmI1NG1kMlRk
cG5kbXVqYkd2WjlFWnIwS0NCVlE3RwpnQ1E4Q1AyMTExNnpqUnMzdWtCajJiSmxwcTVYMy83MnQ4
TzExOWlPa1NOSDJvSUZDNnhldlhyMndnc3YyTGUrOVMxM2ZmejQ4ZGF6Clo4OXdYdTNzM2J2WDFx
OWZid3NYTHJSang0N1pqQmt6Yk5hc1dlRTg1NFBoOGhNbVRIQjl4RFp0Mm1ScTZkRHpsWHhadFd2
WGRpMG8KMjdadHN6Smx5b1R2WlFjQkJCQkFBQUVFRUVBQUFRUlNMNkFncEZTcFV0YjArZ3JXdUZI
VllNWHpZUHhITVB2VjU0MFdsYXg4K2JydQo4N3g2VEYxMTFWV3U4VURqdDlPQ3hVSytXQllrOTBy
cVFkZGVlNjBMTG02Ly9YWjcvUEhIN1lNUFByRGYvZTUzN29iNjlldTd2bHdUCkowNE1DaWx2UC83
eGo5M0RQL3JvSTlkYW9raEhBY205OTk0YkxtRE1tREV1cjRLVHMyZlBXdVBHalczcjFxMVd0V3BW
bCtlZWUrNngKeHg1N3pOcTJiZXRhVHI3em5lKzQ3UzIzM09LZWMvLzk5MXUvZnYyQ0JVNnlUZVhm
ZE5OTmhScExFcTRZT3dnZ2dBQUNDQ0NBQUFJSQpJQkJYWU9YS2xhNFJRQTBCZm5wZEJTTWxnK1hQ
MVVOSkxSMTY2Wnp2UWFYZ0l5c1lvQjUzRml6ZHFCYU1GaTFhdUlwbzBQbjI3ZHVqCkt2V0RIL3pB
dW5YclpncFExTjFxejU0OTl1cXJyOXJodzRmdDFLbFRWck5telhCK0JSeno1OCszUVlNR3VYUGx5
cFd6WHIxNjJkeTUKYzkzeDZ0V3JiZlBtemRhbVRSdDMzS3BWSzVzOWU3WTFiTmpRalNOWnNXS0Zk
ZTdjMlYxVDFOV2xTeGUzenc4RUVFQUFBUVFRUUFBQgpCQkFvZmdIZkhhdDA2ZEttei9acWxQQXZu
Vk04b1R3K2Zibm56OFJzTmI3anFhZWVzcE1uVDlya3laUHRqVGZlc05QQmxGcVJTYVBaCmZWS3Jo
ZEt1WGJ0Y0lLSjkzN0toL1MxYnR0anc0Y05OWGFoOEdqWnNtQjA1Y3NRZHJsMjcxdHEzYng4MXJr
U0QzUlg0ckZtenhqUlcKUkswcVB1bk41VGNHeGVkaml3QUNDQ0NBQUFJSUlJQUFBcWtUMEdkeXZS
UnM2T1dQWTB1TUhsRWVlL1dMWTQzNWVPdXR0MnpldkhuMgozSFBQMmJ2dnZwdEhUbk10RlJVcVZE
QzlhdFNvNGZLcEw1aFA3ZHExTTcwaVU1TW1UV3pLbENudTFLRkRoMXgzck1qcmZsL3JoaHc5CmV0
UWZocmNFSUdFS2RoQkFBQUVFRUVBQUFRUVErRm9MeEExQVB2endRM3Z3d1FmZGdHODFuOFJMbWxw
WExTUTMzM3l6TldyVXlQVU4KVXplc1JKTzZXcW4xWlBmdTNYYmRkY0hxSmtIU01KWDMzMy9mTFY2
aWxwS2RPM2VhZ2hZU0FnZ2dnQUFDQ0NDQUFBSUlYRmtDY2J0ZwphYnlIQm5zckVOSEFFWFhCeXN6
TWRFR0JINyt1OHo1cERFZVBIajNjbUJFMXZUUnYzdHdGRFA1NnZLMEdsMnN3eThDQkE5MVlFNVUv
CmV2Um9OOWhjMXpTSVJXTkNmTklxNkdvVmlheUR2OFlXQVFRUVFBQUJCQkJBQUFFRXZsNENjUU1R
elVpbDFjYTdkKy91Qm81cndQbVoKTTJkTVc0MWlmK0NCQjF4QW9QRWhHb0N1NlhwLzg1dmZoTits
WnJQU0tQbEVrMXBORmk5ZTdOWUd1ZkhHRzAzbEs2Q3BYcjI2YXhIUgpBSFoxQTlNMUJTUnFsZEhn
bHQvKzlyZUpGa0UrQkJCQUFBRUVFRUFBQVFRUStJb0U0azdENit1bHRUazB4WmFTQW8vWTdsaGFj
RkJCCmdwOW15OStuYmRldVhkMDZIMXFBSk5HazFoWE5vbFdyVnEwY3Q2aTE0OFNKRTY0OHRjYXdE
a2dPSWs0Z2dBQUNDQ0NBQUFJSUlKQXkKZ2NocGVEWHpsWitPVncwRG1ucFhzWUxpQWo4UVhaL2ZG
VU1rTkEydnI3VVBQblFjRzN6b25HYTF5aTM0MExVNWMrYVkxZ2xSc0pCbwpVbVZ6Q3o1MHYrWVhW
ckNqUlBEaEdQaUJBQUlJSUlBQUFnZ2dnTUFWSVJDM0MxWlJ2SXU2ZGV2YXVISGpYTmVxb25nZXow
QUFBUVFRClFBQUJCQkJBQUlFclU2QllBaERSS0FqUndISVNBZ2dnZ0FBQ0NDQ0FBQUlJZkhNRmlp
MEErZVlTODg0UlFBQUJCQkJBQUFFRUVFREEKQ3hDQWVBbTJDQ0NBQUFJSUlJQUFBZ2dna0hJQkFw
Q1VFMU1BQWdnZ2dBQUNDQ0NBQUFJSWVBRUNFQy9CRmdFRUVFQUFBUVFRUUFBQgpCRkl1UUFDU2Nt
SUtRQUFCQkJCQUFBRUVFRUFBQVM5QUFPSWwyQ0tBQUFJSUlJQUFBZ2dnZ0VES0JRaEFVazVNQVFn
Z2dBQUNDQ0NBCkFBSUlJT0FGQ0VDOEJGc0VFRUFBQVFRUVFBQUJCQkJJdVFBQlNNcUpLUUFCQkJC
QUFBRUVFRUFBQVFTOEFBR0lsMkNMQUFJSUlJQUEKQWdnZ2dBQUNLUmNnQUVrNU1RVWdnQUFDQ0ND
QUFBSUlJSUNBRnlBQThSSnNFVUFBQVFRUVFBQUJCQkJBSU9VQ0JDQXBKNllBQkJCQQpBQUVFRUVB
QUFRUVE4QUlFSUY2Q0xRSUlJSUFBQWdnZ2dBQUNDS1JjZ0FBazVjUVVnQUFDQ0NDQUFBSUlJSUFB
QWw2QUFNUkxzRVVBCkFRUVFRQUFCQkJCQUFJR1VDeENBcEp5WUFoQkFBQUVFRUVBQUFRUVFRTUFM
RUlCNENiWUlJSUFBQWdnZ2dBQUNDQ0NRY2dFQ2tKUVQKVXdBQ0NDQ0FBQUlJSUlBQUFnaDRnYTgw
QURsMzdweXZoOXZ1MjdjdjZyZ2dCNWN2WDdZZE8zWVU1RmJ1UWNaZzhlc0FBQ0FBU1VSQgpWQUFC
QkJCQUFBRUVFRUFBZ1JRTGZHVUJ5THAxNjJ6NTh1VlJiNjkzNzk2MmF0V3FxSFBKSEd6WXNNRmF0
bXhwZ3djUFR1WTI4aUtBCkFBSUlJSUFBQWdnZ2dFQXhDU1FVZ0N4YXRNZ0dEUnJrUHRnLy9QRERO
bWZPSEl0dHZWaXhZb1U5K2VTVE9hcTljZU5HZCsvSmt5ZkQKMTVZc1dXSUtRUHIwNlJNK3ArUDkr
L2ZiOU9uVHcrZVMzV25kdXJWMTZ0VEpNakl5a3IyVi9BZ2dnQUFDQ0NDQUFBSUlJRkFNQXVtSgps
REZod2dUYnZuMTdWTllGQ3hiWW0yKytHVDczeWl1djJMUFBQbXRIamh5eFNaTW1oYysvOTk1N3By
eXpaczF5NXc0ZVBPaXU2M3hrCm1qWnRtazJkT3RXZWVPSUoxNFdxYWRPbWtaZmo3bWRuWjF1SkVp
VXNQVDNkYmVQZVFBWUVFRUFBQVFRUVFBQUJCQkFvZG9HRUFwQVAKUC93d1hMSFBQdnZNbm5ubUdY
dmtrVWZzd0lFRGR2WFZWN3RyczJmUGR0dkpreWZicFV1WGJNcVVLZTU0OSs3ZGR0Tk5ON25BUUNm
RwpqeDl2UFh2MmROZjhqNzE3OTlyNjlldHQ0Y0tGZHV6WU1ac3hZMFk0WUZHZTgrZlBtNEtnaWhV
cjJxWk5tMHd0SFNOSGpuUzNxeVZHCis3VnIxM1l0S051MmJiTXlaY3I0UjdORkFBRUVFRUFBQVFR
UVFBQ0JyNUZBUWwyd0l1dXJJTUFIRUljUEg0NjhaR2xwYVZhalJnM1gKRlV0QlNpZ1VNblhOdXVP
T084TDUxUDJxUllzVzRXUHRLTzhERHp6Z2dwUUJBd2JZc21YTDdQang0K0U4S3E5YnQyNDJac3dZ
R3oxNgp0STBhTmNvRklzclF0MjlmNjlpeG96MzY2S00yYytaTTI3Tm5qNnRIK0daMkVFQUFBUVFR
UUFBQkJCQkE0R3Nqa0hRQW9wcVhMMS9lCnZZRlRwMDZGMzRqMjFkVktYYkh1dWVjZUd6RmloQTBa
TXNRVXBJd2RPOWJsMDc3eTFheFpNM3pmMmJObmJmNzgrVzZjaUU2V0sxZk8KZXZYcVpYUG56blY1
VnE5ZWJaczNiN1kyYmRxNDQxYXRXcGxhV3hvMmJPakdrU2pBNmR5NXM3dW1MbGhkdW5SeCsveEFB
QUVFRUVBQQpBUVFRUUFDQnI1OUFnUUtRa2lWTHVuZWlGZzZmRkVRMGJ0elkyclp0YXkrKytLTGRj
TU1OTG9oUVY2M0tsU3U3YkdxZFVLcGF0YXJiCjZzZVdMVnRzK1BEaHJndVZQemxzMkRBM2xrVEhh
OWV1dGZidDIwZTFhaWl3cVZhdG1xMVpzOFkwVnNRL1gva1ZIS2tsaG9RQUFnZ2cKZ0FBQ0NDQ0FB
QUpmUDRFQ0JTQzV2WTFYWDMzVmJyMzFWbmRKM2JUVUVxSWdRZDJwZkZMM0xLVUxGeTc0VTlhdVhi
dHdDNGsvMmFSSgprL0FZa2tPSER0bldyVnY5cGFpdDFnMDVldlJvMURrZEVJRGtJT0VFQWdnZ2dB
QUNDQ0NBQUFKZkM0RWlDMEQrOXJlL1dhMWF0Y0p2CjZycnJyck41OCtiWjY2Ky9ici8rOWEvZCtV
YU5HcmtCNHBGZHQ4STM1TEdqcmxhN2R1MHlEV2IzU1MwdjZwWlZwMDRkMTFLeWMrZE8KZjRrdEFn
Z2dnQUFDQ0NDQUFBSUlmSTBGNGdZZ21nRkxYYUlpWCtwV3BhVFpxdFNGU2lrMkFORzU3dDI3VzQ4
ZVBkd3NWUnIvb1RFYQp6WnMzdDJRQ2huNzkrcm1nWmVEQWdXNHFZRTBIcklIbzlldlhOMTNUdEx0
K0JpNlZxVlhRMVNxaUZkRkpDQ0NBQUFJSUlJQUFBZ2dnCjhQVVNpRHNOcjFveE5FdFZidWtQZi9p
REcrZWhxWG5WcWxHcFVxVWMyWjUrK21uWHplcmpqejkyZzg4ZmUrd3hOMWo5UnovNlVZNjgKdVox
UXE4bml4WXZkSW9nMzNuaWpHM3l1NlhxclY2L3VYaHA3TW5Ub1VQdlRuLzVrelpvMWM0c1FsaTVk
Mm43NzI5OWEvLzc5YzNzawo1eEJBQUFFRUVFQUFBUVFRUU9BckVrZ0x1ak45T1pJOFJaWEl6TXlN
V3B1amE5ZXVicDJQQmcwYUpGeWlxcWxXbE1odVh2NW10WGFjCk9ISENCU1N4WmZrOGJCRkFBQUVF
RUVBQUFRUVFRS0JvQkZhdVhPayszMnY5UGMxaXEyM1pzbVZORFFHbFNwVnlqUUxxcWFTeDJYcnAK
ODNwV1ZwWjd4ZTJDVlJSVmpGMFljTTZjT1RaeDRrUlRzSkJvVXNWekN6NTB2MmJsVW91SVVteFo3
aVEvRUVBQUFRUVFRQUFCQkJCQQo0R3NoVUN3QlNPdzdyVnUzcm8wYk44NTFyWXE5eGpFQ0NDQ0FB
QUlJSUlBQUFnajgzeFg0U2dJUWNTb0kwY0J5RWdJSUlJQUFBZ2dnCmdBQUNDSHh6Qkw2eUFPU2JR
OHc3UlFBQkJCQkFBQUVFRUVBQUFTOUFBT0lsMkNLQUFBSUlJSUFBQWdnZ2dFREtCUWhBVWs1TUFR
Z2cKZ0FBQ0NDQ0FBQUlJSU9BRkNFQzhCRnNFRUVBQUFRUVFRQUFCQkJCSXVRQUJTTXFKS1FBQkJC
QkFBQUVFRUVBQUFRUzhBQUdJbDJDTApBQUlJSUlBQUFnZ2dnQUFDS1JjZ0FFazVNUVVnZ0FBQ0ND
Q0FBQUlJSUlDQUZ5QUE4UkpzRVVBQUFRUVFRQUFCQkJCQUlPVUNCQ0FwCko2WUFCQkJBQUFFRUVF
QUFBUVFROEFJRUlGNkNMUUlJSUlBQUFnZ2dnQUFDQ0tSY2dBQWs1Y1FVZ0FBQ0NDQ0FBQUlJSUlB
QUFsNkEKQU1STHNFVUFBUVFRUUFBQkJCQkFBSUdVQ3hDQXBKeVlBaEJBQUFFRUVFQUFBUVFRUU1B
TEVJQjRDYllJSUlBQUFnZ2dnQUFDQ0NDUQpjZ0VDa0pRVFV3QUNDQ0NBQUFJSUlJQUFBZ2g0QVFJ
UUw4RVdBUVFRUUFBQkJCQkFBQUVFVWk1QUFKSnlZZ3BBQUFFRUVFQUFBUVFRClFBQUJMMEFBNGlY
WUlvQUFBZ2dnZ0FBQ0NDQ0FRTW9GQ0VCU1Rrd0JDQ0NBQUFJSUlJQUFBZ2dnNEFVSVFMd0VXd1FR
UUFBQkJCQkEKQUFFRUVFaTVRRW9Da0dQSGp1VmE4WFBuemtXZDM3ZHZYOVJ4UVE0dVg3NXNPM2Jz
S01pdDNJTUFBZ2dnZ0FBQ0NDQ0FBQUxGTEZEawpBY2dubjN4aVAvbkpUM0s4alhYcjF0bnk1Y3Vq
enZmdTNkdFdyVm9WZFM2Wmd3MGJObGpMbGkxdDhPREJ5ZHhHWGdRUVFBQUJCQkJBCkFBRUVFUGlL
QklvOEFIbmpqVGZzeUpFalVXOW55WklscGdDa1Q1OCs0Zk02M3I5L3YwMmZQajE4THRtZDFxMWJX
NmRPblN3akl5UFoKVzhtUEFBSUlJSUFBQWdnZ2dBQUNYNEZBa1FjZ3NlL2g0TUdETm1uU0pCc3hZ
a1RVcFduVHB0blVxVlB0d0lFREJlcENsWjJkN1o2WApucDV1SlVxay9HMUUxWjBEQkJCQUFBRUVF
RUFBQVFRUUtKaEFlc0Z1Uy95dThlUEhXOCtlUGFOdTJMdDNyNjFmdjk0V0xseG9HaTh5Clk4WU1t
elZyVmpqUCtmUG5iY0tFQ1ZheFlrWGJ0R21UcWFWajVNaVI3cnJHa1dpL2R1M2FyZ1ZsMjdadFZx
Wk1tZkM5N0NDQUFBSUkKSUlBQUFnZ2dnTURYVnlEbFRRZnFmdFdpUllzb2dXZWVlY1llZU9BQlUr
dkZnQUVEYk5teVpYYjgrUEZ3SGdVczNicDFzekZqeHRqbwowYU50MUtoUkxoQlJocjU5KzFySGpo
M3QwVWNmdFprelo5cWVQWHNzTFMwdGZDODdDQ0NBQUFJSUlJQUFBZ2dnOFBVVlNHa0Fjdmp3CllU
dDE2cFRWckZrekxIRDI3Rm1iUDMrK0RSbzB5SjByVjY2YzllclZ5K2JPbmV1T1Y2OWViWnMzYjdZ
MmJkcTQ0MWF0V3RuczJiT3QKWWNPR2JoekppaFVyckhQbnp1NmF1bDUxNmRMRjdmTURBUVFRUUFB
QkJCQkFBQUVFdnY0Q2NRT1FNMmZPdUNBaXI3Y1NDb1ZzM3J4NQp1VjVXNjRSUzFhcFZ3OWUzYk5s
aXc0Y1BkMTJvL01saHc0YUZCNjZ2WGJ2VzJyZHZIOVdxTVdUSUVLdFdyWnF0V2JQR21qWnRhcFVy
ClYvYTNXdm55NWFQeWhpK3dnd0FDQ0NDQUFBSUlJSUFBQWw4N2diZ0J5Tk5QUDIwVktsVElzK0lm
ZmZTUkc2K1JXNFlhTldxNDB4Y3UKWEFoZmJ0ZXVuWTBkT3paOHJKMG1UWnJZbENsVDNMbERodzda
MXExYm82NzdBNjBiY3ZUb1VYOFkzdElGSzB6QkRnSUlJSUFBQWdnZwpnQUFDWDJ1QnVBSElXMis5
bFdQOWpzaDNwQmFKT25YcVdPU2lncVZMbDNaWkdqVnE1QWFJcXh0V29rbGRyWGJ0Mm1XN2QrOE8z
NkpXCkZuWExVam1hNG5mbnpwM2hhK3dnZ0FBQ0NDQ0FBQUlJSUlEQWxTTVFOd0M1Nzc3N3JIdjM3
dmJkNzM3WEhuendRVGN3L0tjLy9hbXAKMjVRR2hHdUF1VnBCL0RnUHJjbngyR09QT1FHTjBXamV2
SGxTQVVPL2Z2MWMwREp3NEVEYnZuMjdlMmtnZXYzNjlVM1hOSEJkWTBKOAowaXJvYWhYUml1Z2tC
QkJBQUFFRUVFQUFBUVFRK0hvTHBBV3RDNkY0VmRScTVZc1dMWExCZ0tiTjFTMGExNkVXanB0dnZ0
a05JbGMzCktxV0xGeTlhcVZLbHdvL1VvUEVGQ3hiWTRzV0x3K2ZpN1N4ZHV0U3RicTdXRHJXSWFM
cmVEaDA2dU50VWo2RkRoMXE5ZXZXc1diTm0KcGlsN1ZhZUhIbnJJK3ZmdkgrL1JYRWNBQVFRUVFB
QUJCQkJBQUlGQ0NxeGN1ZEkxR21nNURFMHFwVzNac21WTlBhRVVDNmhSUWcwSApHaXFobHhvTHNy
S3kzQ3VoQUtTUTliT3VYYnU2ZFQ0YU5HaVE4S01VNUdnV3JWcTFhdVc0UjIvZ3hJa1RWcjE2ZGN2
TXpIUnZPRWNtClRpQ0FBQUlJSUlBQUFnZ2dnRUJLQkFvVGdNVHRnaFZiNDd2dnZ0c05PbGRMUjZK
cHpwdzVObkhpUkJjc0pIcVBJcVhjZ2cvZFg3SmsKU1JkOGFKOUZDS1ZBUWdBQkJCQkFBQUVFRUVE
Z3loQklLZ0RKenM2MnUrNjZ5Lzc0eHorYXhuY2ttdXJXcld2anhvMUxxaHRXb3M4bQpId0lJSUlB
QUFnZ2dnQUFDQ0Z3NUFzWFNCZXZLNGFDbUNDQ0FBQUlJSUlBQUFnZ2dFRStnV0x0Z3hhc00xeEZB
QUFFRUVFQUFBUVFRClFBQ0J2QVFTNzBlVjF4TTRqd0FDQ0NDQUFBSUlJSUFBQWdna0tFQUFraUFV
MlJCQUFBRUVFRUFBQVFRUVFLRHdBZ1FnaFRma0NRZ2cKZ0FBQ0NDQ0FBQUlJSUpDZ0FBRklnbEJr
UXdBQkJCQkFBQUVFRUVBQWdjSUxFSUFVM3BBbklJQUFBZ2dnZ0FBQ0NDQ0FRSUlDQkNBSgpRcEVO
QVFRUVFBQUJCQkJBQUFFRUNpOUFBRko0UTU2QUFBSUlJSUFBQWdnZ2dBQUNDUW9RZ0NRSVJUWUVF
RUFBQVFRUVFBQUJCQkFvCnZBQUJTT0VOZVFJQ0NDQ0FBQUlJSUlBQUFnZ2tLRUFBa2lBVTJSQkFB
QUVFRUVBQUFRUVFRS0R3QWdRZ2hUZmtDUWdnZ0FBQ0NDQ0EKQUFJSUlKQ2dBQUZJZ2xCa1F3QUJC
QkJBQUFFRUVFQUFnY0lMRUlBVTNwQW5JSUFBQWdnZ2dBQUNDQ0NBUUlJQ0JDQUpRcEVOQVFRUQpR
QUFCQkJCQUFBRUVDaTlBQUZKNFE1NkFBQUlJSUlBQUFnZ2dnQUFDQ1FvUWdDUUlSVFlFRUVBQUFR
UVFRQUFCQkJBb3ZBQUJTT0VOCmVRSUNDQ0NBQUFJSUlJQUFBZ2drS0VBQWtpQVUyUkJBQUFFRUVF
QUFBUVFRUUtEd0FnUWdoVGZrQ1FnZ2dBQUNDQ0NBQUFJSUlKQ2cKQUFGSWdsQmtRd0FCQkJCQUFB
RUVFRUFBZ2NJTEVJQVUzcEFuSUlBQUFnZ2dnQUFDQ0NDQVFJSUNCQ0FKUXBFTkFRUVFRQUFCQkJC
QQpBQUVFQ2k5QUFGSjRRNTZBQUFJSUlJQUFBZ2dnZ0FBQ0NRb1FnQ1FJUlRZRUVFQUFBUVFRUUFB
QkJCQW92QUFCU09FTmVRSUNDQ0NBCkFBSUlJSUFBQWdna0tGRG9BT1RNbVRQMjZhZWZKbFRjK2ZQ
bjg4eDM5T2hSTzM3OGVKN1hkZUhjdVhOUjEvZnQyeGQxWEpDRHk1Y3YKMjQ0ZE93cHlLL2NnZ0FB
Q0NDQ0FBQUlJSUlCQWtnS0ZDa0NlZmZaWnExYXRtaTFac2lUZllnOGVQR2dqUm95d2UrKzlOMGUr
alJzMwoycDEzM21tMWE5ZDJ6K3JYcjU5bFptYm15TGR1M1RwYnZueDUxUG5ldlh2YnFsV3JvczRs
YzdCaHd3WnIyYktsRFI0OE9KbmJ5SXNBCkFnZ2dnQUFDQ0NDQUFBSUZGQ2hVQURKa3lCQ3JVcVZL
dmtXZlBuM2FkdTdjYVgvNXkxOHN0Z1ZFMThhUEgyL0RoZzB6dFdhTUhUdlcKWG5ycEpaczhlWExV
TXhYZ0tBRHAwNmRQK0x5TzkrL2ZiOU9uVHcrZlMzYW5kZXZXMXFsVEo4dkl5RWoyVnZJamdBQUND
Q0NBQUFJSQpJSUJBQVFTU0NrQXVYYnFVb3doOWVFOUxTOHR4M3Arb1VLR0MzWGJiYmRhMGFkTWMr
ZDU1NXgxNy92bm5yWHYzN3E0RlpNS0VDZGE0CmNXTjcrKzIzL2UybTFwTkpreWE1RnBUd3lXQm4y
clJwTm5YcVZEdHc0RUNCdWxCbFoyZTd4NlducDF1SkVra3hSRmFEZlFRUVFBQUIKQkJCQUFBRUVF
RWhDSUQyUnZLKzk5cHFwcTVRQ2pXWExscG02WG4zNzI5OE8zNnF4R1NOSGpyUUZDeFpZdlhyMTdJ
VVhYckJ2ZmV0Ygo0ZXQ1N2R4MTExMVJsL1Q4RzIrODBRVWovb0phU0hyMjdPa1AzWGJ2M3IyMmZ2
MTZXN2h3b1IwN2RzeG16SmhoczJiTkN1ZFJTNHVDCm1Zb1ZLOXFtVFp0TUxSMnFuNUt2cTdwOHFR
VmwyN1p0VnFaTW1mQzk3Q0NBQUFJSUlJQUFBZ2dnZ0VEcUJPSis5WC94NGtYNzRROS8KYUxmZWVx
dU5IajNhRkRUODdHYy9pNnFSQW9HT0hUdmFpeSsrNkFhU2E2eEhicTBsVVRmbGNoQUtoZXo5OTkr
UEdwT2g3bGN0V3JTSQp5djNNTTgvWUF3ODhZR3E5R0RCZ2dBdUtJZ2V3SzJEcDFxMmJqUmt6eHRW
NTFLaFJMaERSUS9yMjdldnErdWlqajlyTW1UTnR6NTQ5Ck9WcG1vZ3JqQUFFRUVFQUFBUVFRUUFB
QkJJcE1JRzRBb2k1VytrRHZnd0FOT3QrK2ZYdFVCWDd3Z3grNEQveTMzMzY3Nnk2bEQvV3YKdnZw
cVZKNUVEbDUrK1dYcjBxV0wzWExMTFM3NzRjT0g3ZFNwVTFhelpzM3c3V2ZQbnJYNTgrZmJvRUdE
M0xseTVjcFpyMTY5Yk83Ywp1ZTU0OWVyVnRubnpabXZUcG8wN2J0V3FsYzJlUGRzYU5tem94cEdz
V0xIQ09uZnU3SzZwNjVYS0l5R0FBQUlJSUlBQUFnZ2dnRUR4CkNNUU5RTlF0NnFtbm5yS1RKMCs2
d2VGdnZQR0dhZkI0WktwVXFWTDRzRzNidG01LzE2NWQ0WE9KN09qNUdvQ3VzUjArS1pCUnFscTEK
cWo5bFc3WnNzZUhEaDBkMTA5SWc5aU5IanJnOGE5ZXV0ZmJ0MjBlMWFtaXd2QUtuTld2V3VMRW9s
U3RYRGordmZQbnlVWG5ERjloQgpBQUVFRUVBQUFRUVFRQUNCSWhkSWFBeUl4bnk4OWRaYk5tL2VQ
SHZ1dWVmczNYZmZ6Yk1pYW1uUXdITzlra21QUFBLSUcxUmV1blRwCjhHMDFhdFJ3K3hjdVhBaWZh
OWV1bmVrVm1abzBhV0pUcGt4eHB3NGRPbVJidDI2TnZCemUxMHhiV204a051VTNpRDQyTDhjSUlJ
QUEKQWdnZ2dBQUNDQ0JRY0lHNEFjaUhIMzVvRHo3NG9CdXduY2gwdFJyWXJSYVNtMisrT2VGYUtY
alFtQTROWVBkSmdVU2pSbzNjQUhGMQp3MG8wS1FCUzY4dnUzYnZ0dXV1dWM3ZjVzU1YxNnRSeExT
V2FGbGhCQ3drQkJCQkFBQUVFRUVBQUFRU0tWeUJ1Rnl5Tjk5Q1V0UXBFCnRHcTR1bUJwb1VCOXFO
ZExTZWQ5MGhpTUhqMTZoTWVNK1BOcXhmQlQzL3B6Mm1vOHg0a1RKMHlEM2JXMmg2YmcvZFd2ZnVV
R2pXdU0KUnZQbXpkMDZJcEgzNUxldmhRdzFxOVhBZ1FQZFdCWFZYNFBuNjlldmI3cW1nZXNhRStL
VFZrRlhxMGprZS9EWDJDS0FBQUlJSUlBQQpBZ2dnZ0VEUkNxUUZRY1RuVVVRZXo5VzB0UjA2ZExD
Ly92V3ZiaUZBclQ2dUJRRTFNRjFyZVB6aUY3K3czLy8rOS9iOTczL2ZCU1JhCnQrUG5QLzk1dUF1
V0FnL05aS1VacVRSbHJ1N1J3Rzh0WUtneEdacFZLeXNySzZwMHRWUjg4c2tuVnJKa1NkT2djVTN2
dTNqeDRxZzgKK1Iwc1hiclV6YVNsY1NGcUVkRXNYWG9QU29zV0xiS2hRNGU2MXBabXpacTV4UkZW
cjRjZWVzajY5KytmMzJPNWhnQUNDQ0NBQUFJSQpJSUFBQW9IQXlwVXIzWmYrK3VKZmswSnBXN1pz
V2ROd2lsS2xTcm1GdnZYRnY0WTY2S1V2Ky9XWlg2KzRBWWdYMXRvYWVxaVNib3p0CmpxWEFvM3Ix
NnE2RndkOVRWTnV1WGJ1NmRUNGFOR2lROENNVlYya1dyVnExYXVXNFJ3QnFkVkY5MVpyRE9pQTVp
RGlCQUFJSUlJQUEKQWdnZ2dFQ2VBb1VKUU9KMndmS2wrdUJEeDdIQmg4NXBZVDlGT2FsSWMrYk1z
WWtUSjdwZ0lkSG5LOUxLTGZqUS9XcFpVZkNoUlBEaApHUGlCQUFJSUlJQUFBZ2dnZ0VDeENDUWNn
QlJMYmZJb3BHN2R1alp1M0xpa3VtSGw4U2hPSTRBQUFnZ2dnQUFDQ0NDQXdGY29jRVVFCklQSlJF
S0tCNVNRRUVFQUFBUVFRUUFBQkJCQzRjZ1d1bUFEa3lpV201Z2dnZ0FBQ0NDQ0FBQUlJSU9BRkNF
QzhCRnNFRUVBQUFRUVEKUUFBQkJCQkl1UUFCU01xSktRQUJCQkJBQUFFRUVFQUFBUVM4QUFHSWwy
Q0xBQUlJSUlBQUFnZ2dnQUFDS1JjZ0FFazVNUVVnZ0FBQwpDQ0NBQUFJSUlJQ0FGeUFBOFJKc0VV
QUFBUVFRUUFBQkJCQkFJT1VDQkNBcEo2WUFCQkJBQUFFRUVFQUFBUVFROEFJRUlGNkNMUUlJCklJ
QUFBZ2dnZ0FBQ0NLUmNnQUFrNWNRVWdBQUNDQ0NBQUFJSUlJQUFBbDZBQU1STHNFVUFBUVFRUUFB
QkJCQkFBSUdVQ3hDQXBKeVkKQWhCQUFBRUVFRUFBQVFRUVFNQUxFSUI0Q2JZSUlJQUFBZ2dnZ0FB
Q0NDQ1FjZ0VDa0pRVFV3QUNDQ0NBQUFJSUlJQUFBZ2g0QVFJUQpMOEVXQVFRUVFBQUJCQkJBQUFF
RVVpNUFBSkp5WWdwQUFBRUVFRUFBQVFRUVFBQUJMMEFBNGlYWUlvQUFBZ2dnZ0FBQ0NDQ0FRTW9G
CkNFQlNUa3dCQ0NDQUFBSUlJSUFBQWdnZzRBVUlRTHdFV3dRUVFBQUJCQkJBQUFFRUVFaTVBQUZJ
eW9rcEFBRUVFRUFBQVFRUVFBQUIKQkx4QTBnSEkrZlBuL2IwNXRrZVBIclhqeDQvbk9KK3FFK2ZP
bll0NjlMNTkrNktPQzNKdytmSmwyN0ZqUjBGdTVSNEVFRUFBQVFRUQpRQUFCQkJDSUk1QndBSEx3
NEVFYk1XS0UzWHZ2dlRrZXVYSGpScnZ6emp1dGR1M2FWcTFhTmV2WHI1OWxabWJteUZlVUo5YXRX
MmZMCmx5K1BlbVR2M3IxdDFhcFZVZWVTT2Rpd1lZTzFiTm5TQmc4ZW5NeHQ1RVVBQVFRUVFBQUJC
QkJBQUlFRUJSSUtRRTZmUG0wN2QrNjAKdi96bEx4YmJBcUpyNDhlUHQySERocGxhSU1hT0hXc3Z2
ZlNTVFo0OE9WeUZSWXNXMmFCQmc5d0grNGNmZnRqbXpKbGpzYTBYSzFhcwpzQ2VmZkRKOGo5OVJj
S043VDU0ODZVL1praVZMVEFGSW56NTl3dWQwdkgvL2ZwcytmWHI0WExJN3JWdTN0azZkT2xsR1Jr
YXl0NUlmCkFRUVFRQUFCQkJCQUFBRUVFaEJJVHlDUFZhaFF3VzY3N1RacjJyU3BiZG15SmVxV2Q5
NTV4NTUvL25tclU2ZU9Pejlod2dRWElMejkKOXR2aGZEcTNmZnYyOExGMkZpeFlZRysrK1diNDND
dXZ2R0xQUHZ1c0hUbHl4Q1pObWhRKy85NTc3N204czJiTmN1ZlVFcVByT2grWgpwazJiWmxPblRy
VW5ubmpDZGFGU1haTkoyZG5aVnFKRUNVdFBUM2ZiWk80bEx3SUlJSUFBQWdnZ2dBQUNDQ1Fta0ZB
QWt0K2o3cnJyCnJxakxhV2xwZHVPTk43cnVXUDdDaHg5KzZIZnRzODgrczJlZWVjWWVlZVFSTzNE
Z2dGMTk5ZFh1MnV6WnM5MVdMU2VYTGwyeUtWT20KdU9QZHUzZmJUVGZkNUFJRG5WQnJTOCtlUGQw
MS8yUHYzcjIyZnYxNlc3aHdvUjA3ZHN4bXpKaGhQbUJSSHJYYUtBaXFXTEdpYmRxMAp5ZFRTTVhM
a1NIZTdXbUswcis1amFrSFp0bTJibFNsVHhqK2FMUUlJSUlBQUFnZ2dnQUFDQ0JTaFFFSmRzSklw
THhRSzJmdnZ2NS9uCk9Bb0ZBVDZBT0h6NGNOU2pGYnpVcUZIRGRjVlNrS0pucVd2V0hYZmNFYzZu
N2xjdFdyUUlIMnRIZVI5NDRBRVhwQXdZTU1DV0xWc1cKTlJoZTVYWHIxczNHakJsam8wZVB0bEdq
UnJsQVJQZjI3ZHZYT25ic2FJOCsrcWpObkRuVDl1elpZNm9IQ1FFRUVFQUFBUVFRUUFBQgpCSXBl
b01nRGtKZGZmdG02ZE9saXQ5eHlTNTYxTFYrK3ZMdDI2dFNwY0I3dHExdVd1bUxkYzg4OWJzRDdr
Q0ZEVEVHS3hwVW9hVi81CmF0YXNHYjd2N05tek5uLytmRGRPUkNmTGxTdG52WHIxc3JsejU3bzhx
MWV2dHMyYk4xdWJObTNjY2F0V3JVeXRMUTBiTm5UalNCVGcKZE83YzJWMVRGeXpWbllRQUFnZ2dn
QUFDQ0NDQUFBS3BFU2pTQUVRRHhUVUFYZU14OGtzbFM1WjBsOVhDNFpPQ2lNYU5HMXZidG0zdAp4
UmRmdEJ0dXVNRUZFZXFxVmJseVpaZE5yUk5LVmF0V2RWdjkwSmlVNGNPSFIzWDUwb0I0alNWUldy
dDJyYlZ2M3o2cVZVT0JqV2JyCldyTm1qUnZYNHArdi9BcU9hQUdSQkFrQkJCQkFBQUVFRUVBQWdh
SVhLTklBUk1HQ0JvS1hMbDA2NlpxKyt1cXJkdXV0dDdyNzFFMUwKTFNFS0V0U2R5aWQxejFLNmNP
R0NQMlh0MnJVTHQ1RDRrMDJhTkFtUElUbDA2SkJ0M2JyVlg0cmFhdFl1clYwU213aEFZa1U0UmdB
QgpCQkJBQUFFRUVFQ2dhQVNLTEFEUm9IR053NmhYcjE2NFp2cnduMmo2MjkvK1pyVnExUXBudis2
NjYyemV2SG4yK3V1djI2OS8vV3QzCnZsR2pSbTZBZUdUWHJmQU5lZXlvcTlXdVhidE1nOWw5VXN1
THVtVnA1aTYxbEdpS1lSSUNDQ0NBQUFJSUlJQUFBZ2lrWGlDcEFFUXQKRDVxdU5qYXArOVNKRXlm
czRzV0xibHlGcHVEOTFhOSs1UVo2YXdZc2RZbUtmS21sUkVtelZmbHBmV01ERUYzdjNyMjc5ZWpS
dzgxUwpwZkVmR3FQUnZIbnpwQUlHTFlxb1dhMEdEaHpvcGdMV2RNQWFpRjYvZm4yM1lLS20zZlV6
Y0tsTXJZS3VWaEd0aUU1Q0FBRUVFRUFBCkFRUVFRQUNCb2hWSUMxb0R2aHlJa2NlekZYaG85aW5O
SXFWcGJyWHVod1pyVjZsU3hZMmowRlM4V1ZsWlVYZXJkZUdUVHo1eDkrUzIKd0tBeTY4Ty8xdlhR
d24rVktsVnlnOUExaTFWa1VqY3BkYlBTNEhaMTBkS2djUTFXWDd4NGNXUzJmUGVYTGwzcVp1VlNh
NGRhUkRSZApiNGNPSGR3OVdpUng2TkNocnVXbVdiTm1ic3BldmNlSEhuckkrdmZ2bis5enVZZ0FB
Z2dnZ0FBQ0NDQ0F3RGRSWU9YS2xlNUxmbjNSCnIwbWd0QzFidHF3YmlsR3FWQ24zK1Y2ZjlUVzBR
Uzk5dWE5NFFhK0VBcEN2R2pVek05TzlLVitQcmwyN3VuVStHalJvNEUvRjNTck8KVWl0S1pEY3Zm
NU5BMUlKVHZYcDFpeTNMNTJHTEFBSUlJSUFBQWdnZ2dBQUNud3NVSmdCSnFndldWd1VldXpEZ25E
bHpiT0xFaVM1WQpTTFJPaXJ4eUN6NTB2MmJsVXZDaEZGdVdPOGtQQkJCQUFBRUVFRUFBQVFRUUtC
S0JLeUlBaVgybmRldld0WEhqeGlYVkRTdjJHUndqCmdBQUNDQ0NBQUFJSUlJQkE4UXRja1FHSW1C
U0VhR0E1Q1FFRUVFQUFBUVFRUUFBQkJLNGNnU3MyQUxseWlLa3BBZ2dnZ0FBQ0NDQ0EKQUFJSWVB
RUNFQy9CRmdFRUVFQUFBUVFRUUFBQkJGSXVRQUNTY21JS1FBQUJCQkJBQUFFRUVFQUFBUzlBQU9J
bDJDS0FBQUlJSUlBQQpBZ2dnZ0VES0JRaEFVazVNQVFnZ2dBQUNDQ0NBQUFJSUlPQUZDRUM4QkZz
RUVFQUFBUVFRUUFBQkJCQkl1UUFCU01xSktRQUJCQkJBCkFBRUVFRUFBQVFTOEFBR0lsMkNMQUFJ
SUlJQUFBZ2dnZ0FBQ0tSY2dBRWs1TVFVZ2dBQUNDQ0NBQUFJSUlJQ0FGeUFBOFJKc0VVQUEKQVFR
UVFBQUJCQkJBSU9VQ0JDQXBKNllBQkJCQUFBRUVFRUFBQVFRUThBSUVJRjZDTFFJSUlJQUFBZ2dn
Z0FBQ0NLUmNnQUFrNWNRVQpnQUFDQ0NDQUFBSUlJSUFBQWw2QUFNUkxzRVVBQVFRUVFBQUJCQkJB
QUlHVUN4Q0FwSnlZQWhCQUFBRUVFRUFBQVFRUVFNQUxFSUI0CkNiWUlJSUFBQWdnZ2dBQUNDQ0NR
Y2dFQ2tKUVRVd0FDQ0NDQUFBSUlJSUFBQWdoNEFRSVFMOEVXQVFRUVFBQUJCQkJBQUFFRVVpNUEK
QUpKeVlncEFBQUVFRUVBQUFRUVFRQUFCTDBBQTRpWFlJb0FBQWdnZ2dBQUNDQ0NBUU1vRmtnNUF6
cDgvbjJlbGpoNDlhc2VQSDgvegplcUlYamgwN2xtdldjK2ZPUlozZnQyOWYxSEZCRGk1ZnZtdzdk
dXdveUszY2d3QUNDQ0NBQUFJSUlJQUFBa2tLSkJ5QUhEeDQwRWFNCkdHSDMzbnR2amlJMmJ0eG9k
OTU1cDlXdVhkdXFWYXRtL2ZyMXM4ek16Qno1RWpueHlTZWYyRTkrOHBNY1dkZXRXMmZMbHkrUE90
KzcKZDI5YnRXcFYxTGxrRGpaczJHQXRXN2Ewd1lNSEozTWJlUkZBQUFFRUVFQUFBUVFRUUtDQUFn
a0ZJS2RQbjdhZE8zZmFYLzd5RjR0dApBZEcxOGVQSDI3Qmh3MHd0RW1QSGpyV1hYbnJKSmsrZVhL
QXF2ZkhHRzNia3lKR29lNWNzV1dJS1FQcjA2Uk0rcitQOSsvZmI5T25UCncrZVMzV25kdXJWMTZ0
VEpNakl5a3IyVi9BZ2dnQUFDQ0NDQUFBSUlJRkFBZ1lRQ2tBb1ZLdGh0dDkxbVRaczJ0YlMwdEto
aTNubm4KSFh2KytlZXRlL2Z1cmdWa3dvUUoxcmh4WTN2NzdiZWo4aFgwUUMwdmt5Wk5jcTB2a2Mr
WU5tMmE5a29FQmdBQUlBQkpSRUZVVFowNgoxUTRjT0ZDZ0xsVFoyZG51Y2VucDZWYWlSRUlNa2NX
emp3QUNDQ0NBQUFJSUlJQUFBZ1VRU0MvQVBWRzMzSFhYWFZISENsQnV2UEZHCkY0eEVYU2pnZ1Zw
WGV2YnNHWFgzM3IxN2JmMzY5Ylp3NFVMVGVKRVpNMmJZckZtendublVTcU5BcUdMRmlyWnAweVpU
UzhmSWtTUGQKZFkwajBiNjZpNmtGWmR1MmJWYW1USm53dmV3Z2dBQUNDQ0NBQUFJSUlJQkE2Z1NL
L0t2L1VDaGs3Ny8vZnBHTnExRDNxeFl0V2tRSgpQUFBNTS9iQUF3K1lXaThHREJoZ3k1WXRpeHI4
cm9DbFc3ZHVObWJNR0JzOWVyU05HalhLQlNKNlNOKytmYTFqeDQ3MjZLT1Ayc3laCk0yM1BuajA1
V25XaUN1TUFBUVFRUUFBQkJCQkFBQUVFaWt5Z3lBT1FsMTkrMmJwMDZXSzMzSEpMb1N0NStQQmhP
M1hxbE5Xc1dUUDgKckxObno5cjgrZk50MEtCQjdseTVjdVdzVjY5ZU5uZnVYSGU4ZXZWcTI3eDVz
N1ZwMDhZZHQyclZ5bWJQbm0wTkd6WjA0MGhXckZoaApuVHQzZHRmVTlVcDFKU0dBQUFJSUlJQUFB
Z2dnZ0VEeENCUnBBSEx5NUVrM0FGM2pNM3c2YythTUN5TDhjZXhXTFNiejVzMkxQZTJPCjFUcWhW
TFZxVmJmVmp5MWJ0dGp3NGNPanVuaHBBTHdmdUw1MjdWcHIzNzU5Vkt2R2tDRkQzT3hjYTlhc2Nl
TllLbGV1SEg1ZStmTGwKby9LR0w3Q0RBQUlJSUlBQUFnZ2dnQUFDUlM1UXBBSElJNDg4NGdhR2x5
NWRPbHpScDU5KzJqU0lQYS8wMFVjZnVmRWF1VjJ2VWFPRwpPMzNod29YdzVYYnQycm1adHNJbmdw
MG1UWnJZbENsVDNLbERodzdaMXExYkl5K0g5elZMbDlZcWlVMnhBK3RqcjNPTUFBSUlJSUFBCkFn
Z2dnQUFDUlNOUVpBR0lBZ0NOeTZoWHIxNjRaZ29HM25ycnJSenJkNFF6QkR1YVdhdE9uVHB1Q2w5
LzNnY3dqUm8xY2dQRTFRMHIKMGFTdVZydDI3YkxkdTNlSGIxRXJpN3BscVJ5MWxHaEtZUklDQ0ND
QUFBSUlJSUFBQWdnVXYwQlNzMkNwSmNKUFh4dFpWWTNKT0hIaQpoRjI4ZU5HTnMxQWVmZUMvOXRw
cjdiNzc3bk5UOVA3ZDMvMmROV3ZXekxXR2FPeUZ1bVlwUUZFTGlHYWo4dU04dENiSFk0ODk1aDZ2
CmZNMmJOM2NCZzdwVkpaSzBDT0xqano5dUF3Y090R2VmZmRiZG9pNWVHcEN1YTNxMnhvUm9DbDhs
cllLdVZoR3RpRjZ5WkVsM2poOEkKSUlBQUFnZ2dnQUFDQ0NDUUdvRzBvSFVnRk8vUkNqdzBHNVUr
eEd2YVc2MzdvY0hiVmFwVU1ZMnIwRlM4V1ZsWlVZOVJhNE5XTmRlSAplcTFXdm1qUkl0dStmYnU3
WDBWcVhJZGFPRzYrK1dZM2lGemRxSlFVeEpRcVZTcjhMQTBhWDdCZ2dTMWV2RGg4THQ3TzBxVkwz
U3hjCmF1MVFpNGltNiszUW9ZTzdUZlVZT25Tb2E2bFJRS1FwZS9XZUhucm9JZXZmdjMrOFIzTWRB
UVFRUUFBQkJCQkFBSUZ2dk1ES2xTdGQKVHlVdFo2RkpvYlF0Vzdhc3FTZVRQc3VyVVVFejFtcW9n
MTc2c2wveGdsNEpCU0JmdFhEWHJsM2RPaDhOR2pSSXVDb0tjalNMVnExYQp0WExjSXdDMTJGU3ZY
dDB5TXpOWkJ5U0hFQ2NRUUFBQkJCQkFBQUVFRU1oYm9EQUJTSkdOQWNtN2V0Rlg3cjc3Ympmb1hD
MGRpYVk1CmMrYll4SWtUWGJDUTZEMkt0SElMUG5TL1dtVVVmQ2l4Q0tGajRBY0NDQ0NBQUFJSUlJ
QUFBc1VpVUt3QmlNYUdxTHZXSC8vNFI5UDQKamtSVDNicDFiZHk0Y1VsMXcwcjAyZVJEQUFFRUVF
QUFBUVFRUUFDQjRoTzRJcnBnRlI4SEpTR0FBQUlJSUlBQUFnZ2dnRUE4Z1N1cQpDMWE4TjhOMUJC
QkFBQUVFRUVBQUFRUVErTDhya0hnL3FQKzdCcnd6QkJCQUFBRUVFRUFBQVFRUUtDWUJBcEJpZ3FZ
WUJCQkFBQUVFCkVFQUFBUVFRTUNNQTRhOEFBUVFRUUFBQkJCQkFBQUVFaWsyQUFLVFlxQ2tJQVFR
UVFBQUJCQkJBQUFFRUNFRDRHMEFBQVFRUVFBQUIKQkJCQUFJRmlFeUFBS1RacUNrSUFBUVFRUUFB
QkJCQkFBQUVDRVA0R0VFQUFBUVFRUUFBQkJCQkFvTmdFQ0VDS2pacUNFRUFBQVFRUQpRQUFCQkJC
QWdBQ0V2d0VFRUVBQUFRUVFRQUFCQkJBb05nRUNrR0tqcGlBRUVFQUFBUVFRUUFBQkJCQWdBT0Z2
QUFFRUVFQUFBUVFRClFBQUJCSXBOZ0FDazJLZ3BDQUVFRUVBQUFRUVFRQUFCQkFoQStCdEFBQUVF
RUVBQUFRUVFRQUNCWWhNZ0FDazJhZ3BDQUFFRUVFQUEKQVFRUVFBQUJBaEQrQmhCQUFBRUVFRUFB
QVFRUVFLRFlCQWhBaW8yYWdoQkFBQUVFRUVBQUFRUVFRSUFBaEw4QkJCQkFBQUVFRUVBQQpBUVFR
S0RZQkFwQmlvNllnQkJCQUFBRUVFRUFBQVFRUUlBRGhid0FCQkJCQUFBRUVFRUFBQVFTS1RZQUFw
TmlvS1FnQkJCQkFBQUVFCkVFQUFBUVFJUVBnYlFBQUJCQkJBQUFFRUVFQUFnV0lUSUFBcE5tb0tR
Z0FCQkJCQUFBRUVFRUFBQVFJUS9nWVFRQUFCQkJCQUFBRUUKRUVDZzJBUUlRSXFObW9JUVFBQUJC
QkJBQUFFRUVFQ0FBSVMvQVFRUVFBQUJCQkJBQUFFRUVDZzJBUUtRWXFPbUlBUVFRQUFCQkJCQQpB
QUVFRUNBQTRXOEFBUVFRUUFBQkJCQkFBQUVFaWsyZzBBSEltVE5uN05OUFA0MWI0Vk9uVHNYTkV5
L0R1WFBub3JMczI3Y3Y2cmdnCkI1Y3ZYN1lkTzNZVTVGYnVRUUFCQkJCQUFBRUVFRUFBZ1NRRkNo
V0FQUHZzczFhdFdqVmJzbVJKdnNVcVVPamV2WHV1ZVM1ZHVtVHYKdlBOTzFMVmR1M2JaaGcwYm9z
NnRXN2ZPbGk5ZkhuV3VkKy9ldG1yVnFxaHp5UnlvakpZdFc5cmd3WU9UdVkyOENDQ0FBQUlJSUlB
QQpBZ2dnVUVDQlFnVWdRNFlNc1NwVnFzUXRldkhpeGJaMjdWcDc4ODAzYytSOStlV1hyVStmUHFZ
QVE4SEkyMisvYlFNR0RMQ01qSXh3ClhnVTR1cTU4UHVsNC8vNzlObjM2ZEg4cTZXM3IxcTJ0VTZk
T1VXVWwvUkJ1UUFBQkJCQkFBQUVFRUVBQWdZUUZrZ3BBRkNERUpnVUsKYVdscHNhZWpqaFU0bENw
VnltYk1tQkYxWGdldFdyV3lZOGVPV2J0MjdheHMyYkxXb1VNSGE5U29rV3VaMFBXREJ3L2FwRW1U
Yk1TSQpFVG9NcDJuVHB0blVxVlB0d0lFREJlcENsWjJkN1o2Vm5wNXVKVW9reFJDdUF6c0lJSUFB
QWdnZ2dBQUNDQ0NRbkVCQ243eGZlKzAxCm16eDVzdnZBcndCaDY5YXRVYVZvYk1iSWtTT3RWcTFh
THFEWXZuMTcxUFZycnJuR2hnNGRhbi80d3gvcytQSGpVZGV1di81NmUrU1IKUjl3NVBmdTU1NTZ6
UllzV2hmT01Iei9lZXZic0dUN1d6dDY5ZTIzOSt2WFdvMGNQOTl6WXdPYjgrZlB1bWFwenYzNzli
TXFVS2VINwpWZGNISDN6UUpreVk0TzdkdUhGaitCbzdDQ0NBQUFJSUlJQUFBZ2dna0ZxQnRGQ1E4
aXZpNHNXTGR1MjExOXFDQlF2czl0dHZ0OGNmCmY5dysrT0FEKzkzdmZ1ZHVxMSsvdmxXcVZNa21U
cHhvNWN1WHR4Ly8rTWV1UmVHamp6NHl0Uzc0ZFBqd1lidnV1dXZzbDcvOHBmdmcKNzg5cnF6SmF0
R2hoMy9uT2QxdzVrZGNxVjY1c0w3endndDE3NzczaDAyUEdqSEZsS1RnNWUvYXNOVzdjMkFWRlZh
dFdkWG51dWVjZQplK3l4eDZ4dDI3YjIzbnZ2dWVkcWU4c3R0N2puM0gvLy9TNHdVU3VJNm4vVFRU
Y1ZhaXhKdUdMc0lJQUFBZ2dnZ0FBQ0NDRHdEUkJZCnVYS2xsU2xUeHIzS2xTdm50dXJOVkxwMGFk
ZnpTYjJrRkF1b3A1UmVtdmdwS3l2THZlSzJnT2htdFVBb1FGRFNvUFBZRm80Zi9PQUgKMXExYk54
ZWdxTHZVbmoxNzdOVlhYNDJpcjFtenB1dEdwVUFtTnFsNzFxeFpzK3lsbDE2eVE0Y09oUzhyYU5I
c1diclhKd1VjOCtmUAp0MEdEQnJsVGVzTzlldld5dVhQbnV1UFZxMWZiNXMyYnJVMmJOdTVZWGJ4
bXo1NXREUnMyZE9OSVZxeFlZWjA3ZDNiWDFQV3FTNWN1CmJwOGZDQ0NBQUFJSUlJQUFBZ2dna0hx
QnVBR0lJcGFubm5yS1RwNDg2YnBodmZIR0czYjY5T21vbXFrRnhDZTFPaWhwSnF2WXBDNVQKbXZF
cTluN2wwMkR3dW5Ycm1xSXBueFRJS1BtV0RlMXYyYkxGaGc4ZmJyVnIxOWFoUzhPR0RiTWpSNDY0
ZlExMmI5KytmZFM0RkEyVwpWK0MwWnMwYWE5cTBxYWxWeFNlMTJzUWJ3K0x6c2tVQUFRUVFRQUFC
QkJCQUFJSENDWHpaUnlxZjUyaTYzYmZlZXN2bXpadm54bWk4CisrNjdlZVpXUzBPRkNoWGNLemFU
cHJ6VkIzNTE0VktRRUp2VUdoRzVKa2VOR2pWY2xnc1hMb1N6YXJDNlhwR3BTWk1tNFhFZWFrR0oK
SGFQaTgybzY0S05Iai9yRDhKWUFKRXpCRGdJSUlJQUFBZ2dnZ0FBQ0tSV0kyd0x5NFljZnVrSGJH
c2dkT1RWdVhyWFMxTGhxNGJqNQo1cHR6WkNsWnNxUUxIbkpyQVZIbXJsMjcyc2NmZnh5K1Q3Tmhx
VzlaTW9zWUtnQlM2OHZ1M2J2RHo5RXdGM1hMcWxPbmptc3AyYmx6ClovZ2FPd2dnZ0FBQ0NDQ0FB
QUlJSUZCOEFuRURFSTMzMEdCdEJTSWFQS0l1V0ptWm1hWVA5WDc4dXM3N3BERVk2bXJseDR6NDgz
N3IKeDRyNDQ4aXR1bUg1c1JzNnJ6RWF6WnMzdDJRQ0JzMTZwYUJsNE1DQmJxeUs2ajk2OUdnMzJG
elhOQmhHWTBKOFVvdUxXa1VpMzRPLwp4aFlCQkJCQUFBRUVFRUFBQVFTS1ZpRHVMRmlhdGxiVDQv
NzFyMzkxQ3dGcTlYR3Q2NkdCNmM4Ly83ejk0aGUvc04vLy92ZjIvZTkvCjN3VWtXcmZqNXovL2Vh
NWRzRlIxalg3UHJ5VkZ3WTBDQ0o4MGFGd0QxN1dZWWFKcDZkS2xiblZ6alF0Umk4akNoUXZkZTlE
OW11SlgKVXdMWHExZlBtalZyWnBxeVYrdVFQUFRRUTlhL2YvOUVpeUFmQWdnZ2dBQUNDQ0NBQUFM
ZldJSEN6SUlWTndEeHF2cWdycW0xbEhJTApJaFI0Vks5ZVBXcnFYWDl2WWJmcW1xVlpzaG8wYUpE
d285UTZvMW0wdERaSmJGSnJ4NGtUSjF4OVl3T2UyTHdjSTRBQUFnZ2dnQUFDCkNDQ0FRTFJBWVFL
UXVGMndmRkUrK05CeGJpMFltcFVxY3QwUGYxOVJiT2ZNbWVQV0dWR3drR2pTd1BMY2dnL2RyN0Vv
Q3BhVUlsdGIKM0FsK0lJQUFBZ2dnZ0FBQ0NDQ0FRTW9FRWc1QVVsYURCQjZzNlhuSGpSdVhWRGVz
QkI1TEZnUVFRQUFCQkJCQUFBRUVFQ2htZ1NzaQpBSkdKZ2hBTkxDY2hnQUFDQ0NDQUFBSUlJSURB
bFN0d3hRUWdWeTR4TlVjQUFRUVFRQUFCQkJCQUFBRXZRQURpSmRnaWdBQUNDQ0NBCkFBSUlJSUJB
eWdVSVFGSk9UQUVJSUlBQUFnZ2dnQUFDQ0NEZ0JRaEF2QVJiQkJCQUFBRUVFRUFBQVFRUVNMa0FB
VWpLaVNrQUFRUVEKUUFBQkJCQkFBQUVFdkFBQmlKZGdpd0FDQ0NDQUFBSUlJSUFBQWlrWElBQkpP
VEVGSUlBQUFnZ2dnQUFDQ0NDQWdCY2dBUEVTYkJGQQpBQUVFRUVBQUFRUVFRQ0RsQWdRZ0tTZW1B
QVFRUUFBQkJCQkFBQUVFRVBBQ0JDQmVnaTBDQ0NDQUFBSUlJSUFBQWdpa1hJQUFKT1hFCkZJQUFB
Z2dnZ0FBQ0NDQ0FBQUplZ0FERVM3QkZBQUVFRUVBQUFRUVFRQUNCbEFzUWdLU2NtQUlRUUFBQkJC
QkFBQUVFRUVEQUN4Q0EKZUFtMkNDQ0FBQUlJSUlBQUFnZ2drSElCQXBDVUUxTUFBZ2dnZ0FBQ0ND
Q0FBQUlJZUFFQ0VDL0JGZ0VFRUVBQUFRUVFRQUFCQkZJdQpRQUNTY21JS1FBQUJCQkJBQUFFRUVF
QUFBUzlBQU9JbDJDS0FBQUlJSUlBQUFnZ2dnRURLQlFoQVVrNU1BUWdnZ0FBQ0NDQ0FBQUlJCklP
QUZDRUM4QkZzRUVFQUFBUVFRUUFBQkJCQkl1UUFCU01xSktRQUJCQkJBQUFFRUVFQUFBUVM4QUFH
SWwyQ0xBQUlJSUlBQUFnZ2cKZ0FBQ0tSY2dBRWs1TVFVZ2dBQUNDQ0NBQUFJSUlJQ0FGeUFBOFJK
c0VVQUFBUVFRUUFBQkJCQkFJT1VDQkNBcEo2WUFCQkJBQUFFRQpFRUFBQVFRUThBSUVJRjZDTFFJ
SUlJQUFBZ2dnZ0FBQ0NLUmNnQUFrNWNRVWdBQUNDQ0NBQUFJSUlJQUFBbDZBQU1STHNFVUFBUVFR
ClFBQUJCQkJBQUlHVUN5UVZnSnc2ZFNybEZVcW1nSFBuemtWbDM3ZHZYOVJ4UVE0dVg3NXNPM2Jz
S01pdDNJTUFBZ2dnZ0FBQ0NDQ0EKQUFKeEJCSU9RUFRodm52Mzdyays3dEtsUy9iT08rOUVYZHUx
YTVkdDJMQWg2bHhSSHF4YnQ4NldMMThlOWNqZXZYdmJxbFdyb3M0bApjNkQ2dG16WjBnWVBIcHpN
YmVSRkFBRUVFRUFBQVFRUVFBQ0JCQVVTRGtBV0wxNXNhOWV1dFRmZmZEUEhvMTkrK1dYcjA2ZVBL
U2hRCk1QTDIyMi9iZ0FFRExDTWp3K1ZkdEdpUkRSbzB5SDJ3Zi9qaGgyM09uRGtXMjNxeFlzVUtl
L0xKSjNNOGUrUEdqZTdla3lkUGhxOHQKV2JMRWxhVXlmVkxaKy9mdnQrblRwL3RUU1c5YnQyNXRu
VHAxQ3RjNzZRZHdBd0lJSUlBQUFnZ2dnQUFDQ09RcmtIQUFvZy83cFVxVgpzaGt6WnVSNFlLdFdy
ZXpZc1dQV3JsMDdLMXUyckhYbzBNRWFOV3JrV2hPVWVjS0VDZmJjYzgvWjNMbHpiZkxreVRaa3lC
RHIzTGx6CjFITmVlZVVWR3pseXBDbEFpVXp2dmZlZUxWaXd3TXFYTCs5T0h6eDQwQ1pObW1RalJv
eUl6R2JUcGsyenFWT24yb0VEQndyVWhTbzcKTzlzOUx6MDkzVXFVU0pnbHFnNGNJSUFBQWdnZ2dB
QUNDQ0NBUVA0QzZmbGYvdkxxTmRkY1kwT0hEclhaczJmYjhlUEhyV3JWcXVHTAoxMTkvdlQzeXlD
TTJmdng0RjN6Y2YvLzlObkRnd1BEMUR6LzhNTHovMldlZjJUUFBQT1B5SzFpNCt1cXIzVFU5VjBr
QmlscFJwa3laCjRvNTM3OTV0TjkxMGt5a3dVRklaUFh2MmRQdit4OTY5ZTIzOSt2VzJjT0ZDRndn
cFNKbzFhNWEvYk9mUG4zZEJVTVdLRlczVHBrMm0KbGc0Rk8wcHFpZEYrN2RxMVhRdkt0bTNickV5
Wk11RjcyVUVBQVFRUVFBQUJCQkJBQUlHaUUwanFxMzRGR1dvRmVlbWxsM0xVWVBUbwowZGEwYVZP
clg3KytQZkRBQTNtMklpZ0k4QUhFNGNPSG81NlRscFptTldyVWNGMnhGS1NFUWlGVDE2dzc3cmdq
bkUvZHIxcTBhQkUrCjFvN3lxa3dGS2VyNnRXelpNaGNrK1V3cXIxdTNialptekJoVFBVZU5HdVVD
RVYzdjI3ZXZkZXpZMFI1OTlGR2JPWE9tN2RtengxUVAKRWdJSUlJQUFBZ2dnZ0FBQ0NCUzlRRklC
U00yYU5WM1hKM1dKaWswS1ROVHFvT0RrMEtGRHNaZWpqbjEzcXNoWnRiU3Y1Nm9yMWozMwozT1BL
VVZjdEJTbGp4NDUxOTJ0ZitWUVBuODZlUFd2ejU4OTM0MFIwcmx5NWN0YXJWeS9YM1V2SHExZXZ0
czJiTjF1Yk5tMTBhT291CnB0YVdoZzBidW5Fa0NuQjhkekIxdmVyU3BZdkx4dzhFRUVBQUFRUVFR
QUFCQkJBb2VvR2tBaEFWMzZOSER6ZmoxZW5UcDNQVVJnTzQKNjlhdGF5dFhyc3h4TGZKRXlaSWwz
YUZhT0h4U0VORzRjV05yMjdhdHZmamlpM2JERFRlNElFS3RMcFVyVjNiWjFEcWhGTm45YTh1VwpM
VFo4K0hEWGhjcGRESDRNR3piTWpodzU0ZzQxY0w1OSsvWlJyUm9LYktwVnEyWnIxcXh4clRiKyti
cEJ3UkV0SUk2T0h3Z2dnQUFDCkNDQ0FBQUlJRkxsQTBnR0lwcW5WaC9RUFB2Z2cxOHFvQmFFZzYy
aTgrdXFyZHV1dHQ3cG5xcHVXV2tJVUpLZzdsVS9xbnFWMDRjSUYKZjhvTmZQY3RKUDVra3laTndt
TkkxQnF6ZGV0V2Z5bHFxNm1Gang0OUduVk9Cd1FnT1VnNGdRQUNDQ0NBQUFJSUlJQkFrUWdrSFlD
bwo5VUt6WGVYV0FxSWFkZTNhMVQ3KytPT2tLL2Uzdi8zTmF0V3FGYjd2dXV1dXMzbno1dG5ycjc5
dXYvNzFyOTE1emF5bEFlS1JYYmZDCk4rU3hvNjVXV3BORWc5bDlVc3VMdW1YVnFWUEh0WlRzM0xu
VFgyS0xBQUlJSUlBQUFnZ2dnQUFDS1JSSU9nQlJYVFNnKy9iYmI4KzEKV3VxRzVjZGJLSU5td0ZL
WHFNaVh1bFVwYWJZcWRhRlNpZzFBZEU0TEg2ckxsMmFwMHZnUGpkRm8zcnk1SlJNdzlPdlh6d1V0
bXBWcgorL2J0N3FXQjZCb3NyMnNhdU81bjRGS1phcjFScTRoV1JDY2hnQUFDQ0NDQUFBSUlJSUJB
MFFxa0JhMEJYdzdFU1BEWldWbForUzdXCmw1bVpHWjdLVnNGRGJnc01xaWg5K05lNkhscXdzRkts
U200UXVtYXhpa3pxSnFVV0Z5MTJxQzVhR2pTdXdlcGFHREhSdEhUcFVyY0kKb3NhRnFFVkUwL1Zx
clJJbExaS282WVhyMWF0bnpabzFjMVAyYWsyVGh4NTZ5UHIzNzU5b0VlUkRBQUVFRUVBQUFRUVFR
T0FiSTZBeAozK3FacEpjbWdkSlc2d0dXTGwzYXpacXJ6L2Y2cksraERYcnB5MzNGRUhvVktBQXBi
dG5JZ0VabHE1dVhadHhxMEtCQndsVlJuS1ZXCmxNaHVYdjVtZ1p3NGNjS3FWNjl1c1dYNVBHd1JR
QUFCQkJCQUFBRUVFRURnYzRIQ0JDQUY2b0pWM1BDS3FDTFRuRGx6Yk9MRWlTNVkKaUR5ZjM3NGly
OXlDRDkyamNTMEtQcFJpeTNJbitZRUFBZ2dnZ0FBQ0NDQ0FBQUpGSW5CRkJDQ3g3MVJUL1k0Yk55
NnBibGl4eitBWQpBUVFRUUFBQkJCQkFBQUVFaWwvZ2lneEF4S1FnUkFQTFNRZ2dnQUFDQ0NDQUFB
SUlJSERsQ0Z5eEFjaVZRMHhORVVBQUFRUVFRQUFCCkJCQkF3QXNRZ0hnSnRnZ2dnQUFDQ0NDQUFB
SUlJSkJ5QVFLUWxCTlRBQUlJSUlBQUFnZ2dnQUFDQ0hnQkFoQXZ3UllCQkJCQUFBRUUKRUVBQUFR
UlNMa0FBa25KaUNrQUFBUVFRUUFBQkJCQkFBQUV2UUFEaUpkZ2lnQUFDQ0NDQUFBSUlJSUJBeWdV
SVFGSk9UQUVJSUlBQQpBZ2dnZ0FBQ0NDRGdCUWhBdkFSYkJCQkFBQUVFRUVBQUFRUVFTTGtBQVVq
S2lTa0FBUVFRUUFBQkJCQkFBQUVFdkFBQmlKZGdpd0FDCkNDQ0FBQUlJSUlBQUFpa1hJQUJKT1RF
RklJQUFBZ2dnZ0FBQ0NDQ0FnQmNnQVBFU2JCRkFBQUVFRUVBQUFRUVFRQ0RsQWdRZ0tTZW0KQUFR
UVFBQUJCQkJBQUFFRUVQQUNCQ0JlZ2kwQ0NDQ0FBQUlJSUlBQUFnaWtYSUFBSk9YRUZJQUFBZ2dn
Z0FBQ0NDQ0FBQUplZ0FERQpTN0JGQUFFRUVFQUFBUVFRUUFDQmxBc1FnS1NjbUFJUVFBQUJCQkJB
QUFFRUVFREFDeENBZUFtMkNDQ0FBQUlJSUlBQUFnZ2drSElCCkFwQ1VFMU1BQWdnZ2dBQUNDQ0NB
QUFJSWVBRUNFQy9CRmdFRUVFQUFBUVFRUUFBQkJGSXVRQUNTY21JS1FBQUJCQkJBQUFFRUVFQUEK
QVM5QUFPSWwyQ0tBQUFJSUlJQUFBZ2dnZ0VES0JRaEFVazVNQVFnZ2dBQUNDQ0NBQUFJSUlPQUZD
RUM4QkZzRUVFQUFBUVFRUUFBQgpCQkJJdVFBQlNNcUpLUUFCQkJCQUFBRUVFRUFBQVFTOEFBR0ls
MkNMQUFJSUlJQUFBZ2dnZ0FBQ0tSY2dBRWs1TVFVZ2dBQUNDQ0NBCkFBSUlJSUNBRnlBQThSSnNF
VUFBQVFRUVFBQUJCQkJBSU9VQ1NRVWdwMDZkU25tRlZNQ3hZOGR5TGVmY3VYTlI1L2Z0MnhkMVhK
Q0QKeTVjdjI0NGRPd3B5Sy9jZ2dBQUNDQ0NBQUFJSUlJQkFrZ0lKQnlENnNOKzllL2RjSDMvcDBp
Vjc1NTEzb3E3dDJyWExObXpZRUhVdQprWU5QUHZuRWZ2S1RuK1RJdW03ZE9sdStmSG5VK2Q2OWU5
dXFWYXVpemlWem9QcTFiTm5TQmc4ZW5NeHQ1RVVBQVFRUVFBQUJCQkJBCkFJRUNDaVFjZ0N4ZXZO
aldybDFyYjc3NVpvNmlYbjc1WmV2VHA0OHBTRkF3OHZiYmI5dUFBUU1zSXlNalI5NTRKOTU0NHcw
N2N1UkkKVkxZbFM1YTRaNnNNbjFUVy92MzdiZnIwNmY1VTB0dldyVnRicDA2ZENsVFBwQXZqQmdR
UVFBQUJCQkJBQUFFRUVMQ0VBeEI5K0M5VgpxcFRObURFakIxdXJWcTFjdDZsMjdkcFoyYkpsclVP
SER0YW9VU1BYdXBBamM1SW5EaDQ4YUpNbVRiSVJJMFpFM1RsdDJqU2JPbldxCkhUaHdvRUJkcUxL
enM5M3owdFBUclVTSmhCbWk2c0FCQWdnZ2dBQUNDQ0NBQUFJSUpDZVFubWoyYTY2NXhvWU9IV3F6
WjgrMjQ4ZVAKVzlXcVZjTzNYbi85OWZiSUk0L1krUEhqWGZCeC8vMzMyOENCQThQWEM3T2paL2Jz
MlRQcUVYdjM3clgxNjlmYndvVUxYZUNqb0dqVwpyRm5oUE9mUG43Y0pFeVpZeFlvVmJkT21UYWFX
anBFalI3cnJHa2VpL2RxMWE3c1dsRzNidGxtWk1tWEM5N0tEQUFJSUlJQUFBZ2dnCmdBQUNxUk5J
NnF0L0JSbHFCWG5wcFpkeTFHajA2TkhXdEdsVHExKy92ajN3d0FORjFxcWc3bGN0V3JTSUt1K1pa
NTV4WmFqMVFsMjkKbGkxYjVvSWluMGtCUzdkdTNXek1tREdtZW8wYU5jb0ZJcnJldDI5ZjY5aXhv
ejM2NktNMmMrWk0yN05uajZXbHBmbGIyU0tBQUFJSQpJSUFBQWdnZ2dFQUtCWklLUUdyV3JPbTZR
aTFZc0NCSGxSU1lxQlZDd2NtaFE0ZHlYQy9JaWNPSEQ1dG0zbEs1UHAwOWU5Ym16NTl2Cmd3WU5j
cWZLbFN0bnZYcjFzcmx6NTdyajFhdFgyK2JObTYxTm16YnVXTjNEMUdyVHNHRkRONDVreFlvVjFy
bHpaM2ROWGErNmRPbmkKOXZtQkFBSUlJSUFBQWdnZ2dBQUNxUmRJS2dCUmRYcjA2T0ZtdkRwOStu
U08ybWxBZDkyNmRXM2x5cFhoYTJmT25IRkJSUGhFekU0bwpGTEo1OCtiRm5QMzhVSzBUU3BIZHZi
WnMyV0xEaHc5M1hhZyt6MlUyYk5pdzhNQjFEWlJ2Mzc1OVZLdkdrQ0ZEckZxMWFyWm16UnJYClNs
TzVjbVYvcTVVdlh6NHFiL2dDT3dnZ2dBQUNDQ0NBQUFJSUlGRGtBa2tISUpxMlZoL2FQL2pnZzF3
cm94YUZ5SFUxbm43NmFhdFEKb1VLdWVYWHlvNDgrY3VNMWNzdFFvMFlOZC9yQ2hRdmh5eHJvUG5i
czJQQ3hkcG8wYVdKVHBreHg1OVQ2c25YcjFxanIva0JUQ1I4OQpldFFmaHJkMHdRcFRzSU1BQWdn
Z2dBQUNDQ0NBUUVvRmtnNUFTcFlzYVFvQ2Ntc0JVVTI3ZHUxcUgzLzhjYmpTYjczMVZvNzFPOElY
Cmd4Mk5HNmxUcDQ1RkxpcFl1blJwbDBVemFXbUFlRElMSUtxcmxkWWcyYjE3ZDdnWXRiS29XNWJL
MFJTL08zZnVERjlqQndFRUVFQUEKQVFRUVFBQUJCSXBQSU9rQVJGWFRBTy9iYjc4OTExcXFHNVlm
ZjZFTTk5MTNuMXZBOEx2Zi9hNDkrT0NEYm1ENFQzLzZVOWR0U2dQQwpOY0JjclNCK25JZldEbm5z
c2NmY3N6VkdvM256NWtrRkRQMzY5WE5CaTJiaDJyNTl1M3RwSUxvR3grdWFCcTVyVEloUGFxMVJx
NGhXClJDY2hnQUFDQ0NDQUFBSUlJSUJBYWdYU2d0YUJVTEpGWkdWbDVidDRYMlptWnRUVXRscXRm
TkdpUlM0WU9IYnNtS2xJamV0UUM4Zk4KTjkvc0JwR3JHNVhTeFlzWDNVeGJ2azRhTks1Qjcxb0lN
ZEcwZE9sU3Q3cTVXanZVSXFMcGVyVTJpWkxxb2VtRTY5V3JaODJhTlROTgoyYXM2UGZUUVE5YS9m
LzlFaXlBZkFnZ2dnQUFDQ0NDQUFBTGZXQUdOK1ZaUEpiMDBLWlMyV2c5UVBaazBPWlVhRmZURnY0
WTY2S1V2Cit4VkQ2RldnQUtTNHBkV3RTek5zTldqUUlPR2lGZVJvRnExYXRXcmx1RWNBSjA2Y3NP
clZxMXRzc0pRak15Y1FRQUFCQkJCQUFBRUUKRUVBZ1NxQXdBVWlCdW1CRmxaN2t3ZDEzMyswR25h
dWxJOUUwWjg0Y216aHhvZ3NXRXIxSGtWWnV3WWZ1MXpnV0JSOUtpdFpJQ0NDQQpBQUlJSUlBQUFn
Z2dVRHdDeFJxQVpHZG4yMTEzM1dWLy9PTWZrMXFvVUZQN2poczNMcWx1V01YRFJ5a0lJSUFBQWdn
Z2dBQUNDQ0NRCmpNQVYwUVVybVRkRVhnUVFRQUFCQkJCQUFBRUVFRWl0d0JYVkJTdTFGRHdkQVFR
UVFBQUJCQkJBQUFFRXZzNEN4ZG9GNitzTVFkMFEKUUFBQkJCQkFBQUVFRUVBZzlRSUVJS2szcGdR
RUVFQUFBUVFRUUFBQkJCRDRRb0FBaEQ4RkJCQkFBQUVFRUVBQUFRUVFLRFlCQXBCaQpvNllnQkJC
QUFBRUVFRUFBQVFRUUlBRGhid0FCQkJCQUFBRUVFRUFBQVFTS1RZQUFwTmlvS1FnQkJCQkFBQUVF
RUVBQUFRUUlRUGdiClFBQUJCQkJBQUFFRUVFQUFnV0lUSUFBcE5tb0tRZ0FCQkJCQUFBRUVFRUFB
QVFJUS9nWVFRQUFCQlA1L2UvY2VYRVY5LzMvOEhRZ2gKTVNES0pRU29RTFF5NFNLZ0REZmJnbFpC
dVVvQmJ5TmdBUkhyRk1wWVJLc2dqZ01HWjdncUNFSndCaW9GUkMxUlFjZ0lTTWFoVUVXQgpBc0V3
TXBXYjNEVktJQkJEZnI0KzMrNyt6Z25FYzVLUSszTm5EcnY3MmMrZTNYMGMvOGpMejJVUlFBQUJC
QkJBb05RRUNDQ2xSczJGCkVFQUFBUVFRUUFBQkJCQkFnQURDZndNSUlJQUFBZ2dnZ0FBQ0NDQlFh
Z0lFa0ZLajVrSUlJSUFBQWdnZ2dBQUNDQ0JBQU9HL0FRUVEKUUFBQkJCQkFBQUVFRUNnMUFRSklx
VkZ6SVFRUVFBQUJCQkJBQUFFRUVDQ0E4TjhBQWdqNnVhWUFBQUFnQUVsRVFWUWdnQUFDQ0NDQQpB
QUlJbEpvQUFhVFVxTGtRQWdnZ2dBQUNDQ0NBQUFJSUVFRDRid0FCQkJCQUFBRUVFRUFBQVFSS1RZ
QUFVbXJVWEFnQkJCQkFBQUVFCkVFQUFBUVFJSVB3M2dBQUNDQ0NBQUFJSUlJQUFBcVVtUUFBcE5X
b3VoQUFDQ0NDQUFBSUlJSUFBQWdRUS9odEFBQUVFRUVBQUFRUVEKUUFDQlVoTWdnSlFhTlJkQ0FB
RUVFRUFBQVFRUVFBQUJBZ2ovRFNDQUFBSUlJSUFBQWdnZ2dFQ3BDUkJBU28yYUN5R0FBQUlJSUlB
QQpBZ2dnZ0FBQmhQOEdFRUFBQVFRUVFBQUJCQkJBb05RRUNoVkFqaDgvYnVmUG55L3c1czZkT3hk
MDdQRGh3MEg3UmRuSnpjMjFmZnYyCkZlVlV6a0VBQVFRUVFBQUJCQkJBQUlGeUpoQldBTm14WTRl
dFdMSENVbE5UN1o1NzdyRmh3NGJacFV1WGdoNWw2OWF0dG1iTm1xQ3kKd1lNSHUzT0NDZ3V4ODls
bm4xbjc5dTN0OGNjZkw4UlpWRVVBQVFRUVFBQUJCQkJBQUlIeUtoQldBSG5oaFJlc1c3ZHVOblRv
VUZ1MQphcFV0VzdiTVB2amdBLytaVktZQWN2Lzk5L3RsMmo5NjlLak5uajNiTHl2c1JzZU9IZTJP
Tys2d0dqVnFGUFpVNmlPQUFBSUlJSUFBCkFnZ2dnRUE1RkFncmdEUm8wTUFGRE4xL3c0WU5MVDQr
M3JaczJlSWU1OWl4WXpadDJqUWJOMjVjME9QTm1qWExaczZjYWQ5KysyMlIKdWxCNUxTeVJrWkZX
clZwWXR4bDBmWFlRUUFBQkJCQkFBQUVFRUVDZy9BbEVobk5MaXhjdjlxc3BVQ2gwUFBEQUE2NXMw
cVJKTm5EZwpRUCs0Tmc0ZE9tVGJ0bTF6TFNXblQ1KzJPWFBtMlB6NTgvMDZHa2N5WmNvVXUvYmFh
KzJMTDc0d3RYU01Iei9lSGRjNEVtMHI1S2dGClpjK2VQUllkSGUyZnl3WUNDQ0NBQUFJSUlJQUFB
Z2hVWElGQ055Mjg4ODQ3Tm5Ma1NPdlFvWU43YW5XL2F0ZXVYWkRBM0xselhSMjEKWGd3Wk1zUlNV
bExzekpremZoMEZsbjc5K3Rrenp6eGpFeVpNc0tlZmZ0b0ZFVlZRc09uZXZidXAyOWZycjc5dUJ3
NGNzSWlJQ1A5YwpOaEJBQUFFRUVFQUFBUVFRUUtEaUNoUTZnTHovL3Z2Mjhzc3Z1eWMrY2VLRVpX
Wm1XbHhjbkMrUWxaVmxTNVlzc1ZHalJybXkyTmhZCkd6Um9rQzFhdE1qdGI5eTQwYjc4OGt2cjNM
bXoyMWVRV2JCZ2dUVnIxc3gxODFxN2RxMGI2SzZENm5yVnUzZHZWNDkvRUVBQUFRUVEKUUFBQkJC
QkFvT0lMRkNxQWFGcmRIajE2V1AzNjlkMlRxM1ZDUzkyNmRkMWEvK3phdGN2R2poM3J1bEI1aFdQ
R2pMR1RKMCs2M2JTMApOTHY5OXR1RFdqVkdqeDV0OWVyVnMwOCsrY1FTRXhQdHV1dXU4MDYxV3JW
cUJkWDFEN0NCQUFJSUlJQUFBZ2dnZ0FBQ0ZVNGdyREVnCjNsUHQzTG5USC91aE1nMU8xM0xod2dX
MzFqOWR1M1oxSDcvZzU0MFdMVnJZOU9uVFhaSGVKYko3OSs3QXcvNjJBczZwVTZmOGZXK0QKTGxp
ZUJHc0VFRUFBQVFRUVFBQUJCQ3EyUUtGYVFOUnRxbm56NXY0VEp5UWt1QUhpNm9ZVjdxS3VWdnYz
NzdldnYvN2FQeVV2TDg5MQp5MnJjdUxGcktjbkl5UENQc1lFQUFnZ2dnQUFDQ0NDQUFBS1ZSNkJR
QWVTOTk5Nnp2WHYzK2srdk1ScHQyN2Exd2dTR0J4OTgwSVdXCjRjT0hXM3A2dXZ0b0lQb05OOXhn
T3FhQjZ4b1Q0aTE2QzdwYVJmUkdkQllFRUVBQUFRUVFRQUFCQkJDbzJBSmhCNUNjbkJ3M1c5WEsK
bFN1RG5uank1TW0yZnYzNm9MSmYybEdyeWZMbHk5MjdRVnExYW1XOWV2V3lBUU1HdUhFbE45MTBr
eHZBbnB5Y2JEcW1RS0tYRU5hcwpXZFB5WC9lWHJzRXhCQkJBQUFFRUVFQUFBUVFRS0o4Q0VUOTNm
OG9MOTliT25qMXJtdFVxLzVpTVBuMzZ1UGQ4TkczYU5OeXZNbDFXCnMyanB4WWI1RjdWMmZQZmRk
eTZVWkdkbjh4NlEvRURzSTRBQUFnZ2dnQUFDQ0NCUWhnSnFnTkM3K3ZSUlB0QTZKaWJHTlJ4RVJV
VzUKUmdUMWJGSnUwRWQvMzZ0QlE1K3dXMEQwZkFYTlNMVnc0VUpMU2tveWhZVndGOTNJbGNLSHpx
OWV2Ym8vMHhZdklReFhsSG9JSUlBQQpBZ2dnZ0FBQ0NKUi9nVUlGa0lJZXAwbVRKalp4NGtUWHRh
cWdPcFFqZ0FBQ0NDQ0FBQUlJSUlBQUFsY2xnSWhSSVVRRHkxa1FRQUFCCkJCQkFBQUVFRUVBQWdZ
SUVybG9BS2VnQ2xDT0FBQUlJSUlBQUFnZ2dnQUFDbmdBQnhKTmdqUUFDQ0NDQUFBSUlJSUFBQWlV
dVFBQXAKY1dJdWdBQUNDQ0NBQUFJSUlJQUFBcDRBQWNTVFlJMEFBZ2dnZ0FBQ0NDQ0FBQUlsTGtB
QUtYRmlMb0FBQWdnZ2dBQUNDQ0NBQUFLZQpBQUhFazJDTkFBSUlJSUFBQWdnZ2dBQUNKUzVBQUNs
eFlpNkFBQUlJSUlBQUFnZ2dnQUFDbmdBQnhKTmdqUUFDQ0NDQUFBSUlJSUFBCkFpVXVRQUFwY1dJ
dWdBQUNDQ0NBQUFJSUlJQUFBcDRBQWNTVFlJMEFBZ2dnZ0FBQ0NDQ0FBQUlsTGtBQUtYRmlMb0FB
QWdnZ2dBQUMKQ0NDQUFBS2VBQUhFazJDTkFBSUlJSUFBQWdnZ2dBQUNKUzVBQUNseFlpNkFBQUlJ
SUlBQUFnZ2dnQUFDbmdBQnhKTmdqUUFDQ0NDQQpBQUlJSUlBQUFpVXVRQUFwY1dJdWdBQUNDQ0NB
QUFJSUlJQUFBcDRBQWNTVFlJMEFBZ2dnZ0FBQ0NDQ0FBQUlsTGtBQUtYRmlMb0FBCkFnZ2dnQUFD
Q0NDQUFBS2VBQUhFazJDTkFBSUlJSUFBQWdnZ2dBQUNKUzVRcUFCeS9QaHhPMy8rZklFM2RlN2N1
YUJqaHc4ZkR0b3YKeWs1dWJxN3QyN2V2S0tkeURnSUlJSUFBQWdnZ2dBQUNDSlF6Z2JBQ3lJNGRP
MnpGaWhXV21wcHE5OXh6ancwYk5zd3VYYm9VOUNoYgp0MjYxTld2V0JKVU5IanpZblJOVVdJaWR6
ejc3ek5xM2IyK1BQLzU0SWM2aUtnSUlJSUFBQWdnZ2dBQUNDSlJYZ2JBQ3lBc3Z2R0RkCnVuV3pv
VU9IMnFwVnEyelpzbVgyd1FjZitNK2tNZ1dRKysrLzN5L1QvdEdqUjIzMjdObCtXV0UzT25ic2FI
ZmNjWWZWcUZHanNLZFMKSHdFRUVFQUFBUVFRUUFBQkJNcWhRRmdCcEVHREJpNWc2UDRiTm14bzhm
SHh0bVhMRnZjNHg0NGRzMm5UcHRtNGNlT0NIbS9XckZrMgpjK1pNKy9iYmI0dlVoY3ByWVltTWpM
UnExY0s2emFEcnM0TUFBZ2dnZ0FBQ0NDQ0FBQUxsVHlBeW5GdGF2SGl4WDAyQlFxSGpnUWNlCmNH
V1RKazJ5Z1FNSCtzZTFjZWpRSWR1MmJadHJLVGw5K3JUTm1UUEg1cytmNzlmUk9KSXBVNmJZdGRk
ZWExOTg4WVdwcFdQOCtQSHUKdU1hUmFGc2hSeTBvZS9ic3Nlam9hUDljTmhCQUFBRUVFRUFBQVFR
UVFLRGlDaFM2YWVHZGQ5NnhrU05IV29jT0hkeFRxL3RWdTNidApnZ1RtenAzcjZxajFZc2lRSVph
U2ttSm56cHp4NnlpdzlPdlh6NTU1NWhtYk1HR0NQZjMwMHk2SXFJS0NUZmZ1M1UzZHZsNS8vWFU3
CmNPQ0FSVVJFK09leWdRQUNDQ0NBQUFJSUlJQUFBaFZYb05BQjVQMzMzN2VYWDM3WlBmR0pFeWNz
TXpQVDR1TGlmSUdzckN4YnNtU0oKalJvMXlwWEZ4c2Jhb0VHRGJOR2lSVzUvNDhhTjl1V1hYMXJu
enAzZHZvTE1nZ1VMckZtelpxNmIxOXExYTkxQWR4MVUxNnZldlh1NwpldnlEQUFJSUlJQUFBZ2dn
Z0FBQ0ZWK2dVQUZFMCtyMjZOSEQ2dGV2NzU1Y3JSTmE2dGF0NjliNlo5ZXVYVFoyN0ZqWGhjb3JI
RE5tCmpKMDhlZEx0cHFXbDJlMjMzeDdVcWpGNjlHaXJWNitlZmZMSko1YVltR2pYWFhlZGQ2clZx
bFVycUs1L2dBMEVFRUFBQVFRUVFBQUIKQkJDb2NBSmhqUUh4bm1ybnpwMysyQStWYVhDNmxnc1hM
cmkxL3VuYXRhdjcrQVUvYjdSbzBjS21UNS91aXZRdWtkMjdkd2NlOXJjVgpjRTZkT3VYdmV4dDB3
ZklrV0NPQUFBSUlJSUFBQWdnZ1VMRUZDdFVDb201VHpaczM5NTg0SVNIQkRSQlhONnh3RjNXMTJy
OS92MzM5CjlkZitLWGw1ZWE1YlZ1UEdqVjFMU1VaR2huK01EUVFRUUFBQkJCQkFBQUVFRUtnOEFv
VUtJTys5OTU3dDNidlhmM3FOMFdqYnRxMFYKSmpBOCtPQ0RMclFNSHo3YzB0UFQzVWNEMFcrNDRR
YlRNUTFjMTVnUWI5RmIwTlVxb2plaXN5Q0FBQUlJSUlBQUFnZ2dnRURGRmdnNwpnT1RrNUxqWnFs
YXVYQm4weEpNblQ3YjE2OWNIbGYzU2pscE5saTlmN3Q0TjBxcFZLK3ZWcTVjTkdEREFqU3U1NmFh
YjNBRDI1T1JrCjB6RUZFcjJFc0diTm1wYi91cjkwRFk0aGdBQUNDQ0NBQUFJSUlJQkErUlNJK0xu
N1UxNjR0M2IyN0ZuVHJGYjV4MlQwNmRQSHZlZWoKYWRPbTRYNlY2YkthUlVzdk5zeS9xTFhqdSsr
K2M2RWtPenViOTREa0IySWZBUVFRUUFBQkJCQkFBSUV5RkZBRGhON1ZwNC95Z2RZeApNVEd1NFNB
cUtzbzFJcWhuazNLRFB2cjdYZzBhK29UZEFxTG5LMmhHcW9VTEYxcFNVcElwTElTNzZFYXVGRDUw
ZnZYcTFmMlp0bmdKClliaWkxRU1BQVFRUVFBQUJCQkJBb1B3TEZDcUFGUFE0VFpvMHNZa1RKN3F1
VlFYVm9Sd0JCQkJBQUFFRUVFQUFBUVFRdUNvQlJJd0sKSVJwWXpvSUFBZ2dnZ0FBQ0NDQ0FBQUlJ
RkNSdzFRSklRUmVnSEFFRUVFQUFBUVFRUUFBQkJCRHdCQWdnbmdSckJCQkFBQUVFRUVBQQpBUVFR
S0hFQkFraUpFM01CQkJCQUFBRUVFRUFBQVFRUThBUUlJSjRFYXdRUVFBQUJCQkJBQUFFRUVDaHhB
UUpJaVJOekFRUVFRQUFCCkJCQkFBQUVFRVBBRUNDQ2VCR3NFRUVBQUFRUVFRQUFCQkJBb2NRRUNT
SWtUY3dFRUVFQUFBUVFRUUFBQkJCRHdCQWdnbmdSckJCQkEKQUFFRUVFQUFBUVFRS0hFQkFraUpF
M01CQkJCQUFBRUVFRUFBQVFRUThBUUlJSjRFYXdRUVFBQUJCQkJBQUFFRUVDaHhBUUpJaVJOegpB
UVFRUUFBQkJCQkFBQUVFRVBBRUNDQ2VCR3NFRUVBQUFRUVFRQUFCQkJBb2NRRUNTSWtUY3dFRUVF
QUFBUVFRUUFBQkJCRHdCQWdnCm5nUnJCQkJBQUFFRUVFQUFBUVFRS0hFQkFraUpFM01CQkJCQUFB
RUVFRUFBQVFRUThBUUlJSjRFYXdRUVFBQUJCQkJBQUFFRUVDaHgKQVFKSWlSTnpBUVFRUUFBQkJC
QkFBQUVFRVBBRUNDQ2VCR3NFRUVBQUFRUVFRQUFCQkJBb2NRRUNTSWtUY3dFRUVFQUFBUVFRUUFB
QgpCQkR3QklvZFFNNmVQV3RIamh6eHZ1OFgxK2ZPblFzNmZ2anc0YUI5ZGhCQUFBRUVFRUFBQVFR
UVFLQnlDeFFyZ0x6eHhodFdyMTQ5Clc3VnFWVWlsclZ1MzJwbzFhNExxRFI0ODJGSlRVNFBLMkVF
QUFRUVFRQUFCQkJCQUFJSEtLeEJabkVjYlBYcTBUWjQ4T2VSWEtLQ28KbFdUY3VIRitYUVdTbzBl
UDJ1elpzNjFuejU1K3VVTEs2dFdyL2YzQWpmcjE2MXRTVXBMdDNidlg1czJiWitQSGo3ZUVoSVRB
S213agpnQUFDQ0NDQUFBSUlJSUJBT1JZb1ZBRDU2YWVmTERJeStKUWFOV3BZUkVSRWdZOTQ3Tmd4
bXpadG1tM2Z2ajJvenF4WnMyem16SmsyCmRlcFUyN2R2bnlVbUpycmpNMmJNc0UyYk5nWFY5WFpH
akJqaE5qZHMyR0FMRnk2MHBVdVhtclk3ZGVya1ZXR05BQUlJSUlBQUFnZ2cKZ0FBQzVWZ2dyQzVZ
K2lQL2xWZGVjWUhoTjcvNWplM2V2VHZva1RTMlE2MFJEUnMydEE0ZE9saDZlcnAvZk5La1NUWnc0
RUIvWHh1SApEaDJ5YmR1MjJZQUJBK3lKSjU2d09YUG0rTWMzYnR4b2VYbDUvdWZNbVRQdTJMcDE2
Mnp4NHNWdWU4eVlNYlpyMXk2cldiT21LY2l3CklJQUFBZ2dnZ0FBQ0NDQ0FRTVVRQ0JsQUxsNjhh
STgrK3FoclpaZ3dZWUxyTHZYaWl5OEdQZDJ5WmN1c2UvZnV0bUxGQ2xOZzZOdTMKcjZtMVJJdTZY
N1ZyMXk2by90eTVjMjNreUpHdU5XWElrQ0dXa3BMaXpndXFGR0tuWmN1V05uVG9VTnV5WlV1SW1o
eEdBQUVFRUVBQQpBUVFRUUFDQjhpSVFNb0NvaTVWYU1Md1FvVUhuZ1MwY2VwQmh3NFpadjM3OTdN
NDc3M1RkclE0Y09HQWZmL3l4blRoeHdqSXpNeTB1CkxzNS8zcXlzTEZ1eVpJbU5HalhLbGNYR3h0
cWdRWU5zMGFKRmZwMXdOenAzN213SER4NDB6Y1RGZ2dBQ0NDQ0FBQUlJSUlBQUF1VmYKSUdRQTBm
aU9WMTk5MWI3Ly9udlhEV3Z6NXMzMjQ0OC9CajFablRwMS9QMHVYYnE0N2YzNzk1dUNpSmE2ZGV1
NnRmNVIxNm14WThkYQpmSHk4WDZZdVZTZFBudlQzdzkxbzA2YU5xNXFSa1JIdUtkUkRBQUVFRUVB
QUFRUVFRQUNCTWhRSUhsRmV3STFvdXQxUFAvM1Uzbnp6ClRVdE9UclovLy92ZkJkUTBhOWFzbWRX
dVhkdDlHalJvNE9wZHVIREJyOSsxYTFmVEozQnAwYUtGVFo4K1BiQW81UGFsUzVmY3ZhaWkKV21S
dXUrMjJrT2RRQVFFRUVFQUFBUVFRUUFBQkJNcFdJR1FBMFpTM1R6NzVwSnN5VjkyeFFpMmFXbGN0
SkxmZWVxdWJJamM2T3RwMQp3d3AxWG1HT256cDF5aDU3N0RGTFMwc3pUYzJyVnBWSEhubWtNRjlC
WFFRUVFBQUJCQkJBQUFFRUVDZ0RnWkJkc05TNm9OWUdCWkhjCjNGeFRGNnpzN0d4L2xpcmRzOHE5
UmJOWWFYWXJqUm1wVnEyYXRXM2IxcTVtRjZtMWE5ZGE2OWF0VGU4UjBYUzkzYnAxc3gwN2RuaVgK
WjQwQUFnZ2dnQUFDQ0NDQUFBTGxXQ0JrQU9uVnE1ZTFiOS9lK3Zmdjd3YU9hOEM1Qm4xcm5aT1Q0
MmF6V3JCZ2dSc2ZvdmQ5ZlA3NQo1Kzc5SE40ejYwV0Y2OWV2OTNhTHZkWUxEUlZBdnZ6eVN4ZHlP
bmJzNkdiQzByMndJSUFBQWdnZ2dBQUNDQ0NBUVBrV2lQajVuUnQ1CjRkemkrZlBuTFNZbXhsWFZI
L3Y1dTJQcGhZUHFEcFgvUllVNm9VK2ZQalovL254cjJyUnBPSmY2eFRxYUZsalhVT3NLQ3dJSUlJ
QUEKQWdnZ2dBQUNDSlMrZ0JvWU5OUkNIODFxcTdXeWd0N1RGeFVWNWJLQy9tYlhoRmI2cU1lVU1v
UStZZjhWNzRVUFBWNys4S0V5eldwMQpwZkNoWTNwcmVWSlNrdXU2cGYzaUxIb2d3a2R4QkRrWEFR
UVFRQUFCQkJCQUFJR3lFd2c3Z0JUbkZwczBhV0lUSjA2MDVjdVhGK2RyCk9CY0JCQkJBQUFFRUVF
QUFBUVFxdUVDcEJCQVpLWVFNSHo2OGduTngrd2dnZ0FBQ0NDQ0FBQUlJSUZBY2dWSUxJTVc1U2M1
RkFBRUUKRUVBQUFRUVFRQUNCeWlGQUFLa2N2eU5QZ1FBQ0NDQ0FBQUlJSUlCQWhSQWdnRlNJbjRt
YlJBQUJCQkJBQUFFRUVFQ2djZ2dRUUNySAo3OGhUSUlBQUFnZ2dnQUFDQ0NCUUlRUUlJQlhpWitJ
bUVVQUFBUVFRUUFBQkJCQ29IQUlFa01yeE8vSVVDQ0NBQUFJSUlJQUFBZ2hVCkNBRUNTSVg0bWJo
SkJCQkFBQUVFRUVBQUFRUXFod0FCcEhMOGpqd0ZBZ2dnZ0FBQ0NDQ0FBQUlWUW9BQVVpRitKbTRT
QVFRUVFBQUIKQkJCQUFJSEtJVUFBcVJ5L0kwK0JBQUlJSUlBQUFnZ2dnRUNGRUNDQVZJaWZpWnRF
QUFFRUVFQUFBUVFRUUtCeUNCQkFLc2Z2eUZNZwpnQUFDQ0NDQUFBSUlJRkFoQkFnZ0ZlSm40aVlS
UUFBQkJCQkFBQUVFRUtnY0FnU1F5dkU3OGhRSUlJQUFBZ2dnZ0FBQ0NGUUlBUUpJCmhmaVp1RWtF
RUVBQUFRUVFRQUFCQkNxSEFBR2tjdnlPUEFVQ0NDQ0FBQUlJSUlBQUFoVkNnQUJTSVg0bWJoSUJC
QkJBQUFFRUVFQUEKZ2NvaFFBQ3BITDhqVDRFQUFnZ2dnQUFDQ0NDQVFJVVFJSUJVaUorSm0wUUFB
UVFRUUFBQkJCQkFvSElJbEVvQU9YejQ4R1ZhV1ZsWgpsNVZSZ0FBQ0NDQ0FBQUlJSUlBQUFwVmJv
RlFDeU9EQmd5MDFOVFZJOHB0dnZyR1ZLMWNHbGJHREFBSUlJSUFBQWdnZ2dBQUNsVnNnCk10VGpy
Vm16eGxhdlhuM0ZhdlhyMTdla3BDVGJ1M2V2elpzM3o4YVBIMjhKQ1FsQmRiZHUzV3BIang2MTJi
Tm5XOCtlUGYxanJWcTEKc2hvMWF0anp6ejl2VTZkTzljdTE4ZGUvL3RWKytPRUhpNHlNdElZTkcx
cVhMbDNzM252djlldms1dWJhcEVtVDdBOS8rSU4xN05qUgpMOWZHRzIrOFlkOS8vNzA5ODh3elFl
WHNJSUFBQWdnZ2dBQUNDQ0NBUU5rTGhBd2dNMmJNc0UyYk5sM3hUa2VNR09IS04yellZQXNYCkxy
U2xTNWVhdGp0MTZ1VFhuelZybHMyY09kT0ZqSDM3OWxsaVlxSi83T2FiYnphRkNZV2NQbjM2dVBM
ZHUzZTcrbjZsLzIzTW1UUEgKeG80ZDYvWk9uejV0Ly96blAyM3UzTG1Xa3BKaWQ5NTVwMS85N2Jm
ZnRyaTRPSCtmRFFRUVFBQUJCQkJBQUFFRUVDZy9BaUc3WUczYwp1Tkh5OHZMOHo1a3paOXpkcjF1
M3poWXZYdXkyeDR3Wlk3dDI3YkthTld1YUFvZTNIRHAweUxadDIyWURCZ3l3SjU1NHdoUWk4aThQ
ClAveXdQZnZzc3k2STZGaWJObTM4YXltY0hEbHl4THAxNjJhclZxM3lUMVhBU0V0THMwYU5HbG52
M3IxdDgrYk4vckd2di83YTJyVnIKNSsremdRQUNDQ0NBQUFJSUlJQUFBdVZISUdRQUNmZFdXN1pz
YVVPSERyVXRXN2I0cDZpRll1VElrYTRyMVpBaFExeHJoUmRndkVycQppdlhWVjEvWjl1M2J2U0ov
WGExYU5XdmN1TEhkZmZmZGR2ejRjYjljRzlkZGQ1M3JwbFc3ZG0zWEZVdXRLLy81ejM5TW9lZXV1
KzRLCnFzc09BZ2dnZ0FBQ0NDQ0FBQUlJbEErQnF4WkE5RGlkTzNlMmd3Y1AydG16WjAyelhDMVpz
c1JHalJybG5qUTJOdFlHRFJwa2l4WXQKQ25weWpRTzUvdnJyTFNNakk2ZzhjS2RXclZxV21aa1pX
R1R2dnZ1dVhYUE5OUzd3S0tpb0pVUmpVQjU2NktITHhvVUVuY2dPQWdnZwpnQUFDQ0NDQUFBSUls
SmxBeURFZ2hia3pkWi9Tb2pCeDRjSUZOMllqUGo3ZS93cDExZEpZa2Z5TFdqSDI3OStmdjlqZlY4
QlFON0RBClJZUGVIM3ZzTWZ2MXIzL3R3a2lQSGoxTU0ydnB3NElBQWdnZ2dBQUNDQ0NBQUFMbFUr
Q3F0WUJjdW5USmtwT1QzVk9tcDZkYjE2NWQKN2Jubm5ndDY2aFl0V3RqMDZkT0R5clNUazVQaldq
TXVPMUJBUVhaMnRuMzY2YWQrUzBmMzd0M3Q5ZGRmTjkzRCsrKy9YOEJaRkNPQQpBQUlJSUlBQUFn
Z2dnRUJaQzF5VkFITHExQ2tiT0hDZ213VkxVL05xUUhwaEZvM3ZhTjY4ZWRpbnFKdVhGazNSNnkx
cURYbmtrVWZzCmIzLzdtNXYyMXl0bmpRQUNDQ0NBQUFJSUlJQUFBdVZIb05oZHNOYXVYV3ZEaHcr
M2lJZ0lOMTN2U3krOVpEdDI3QWo3Q1RXbHJscEEKdlBkNXZQWFdXMjdtck1BdjJMbHpweHRYOHRS
VFQ3a1dGSytiVldEM0x0WFhkTCs2bnovLytjLzIzbnZ2Qlg0RjJ3Z2dnQUFDQ0NDQQpBQUlJSUZB
T0JJb2RRRFJOYnV2V3JXM1pzbVZ1V2x3RkNiMVlVS0ZDQTh4RExSOSsrS0gxNzkvZmJyenhSbGQx
NHNTSkJZN2oyTE5uCmoyazhpTmNDVXFkT25hQ3YxL1M4cjd6eWlwc2VXTjIwb3FPamc0Nnpnd0FD
Q0NDQUFBSUlJSUFBQW1VckVQSHo0TzdnMGQyRnZKK0wKRnkrNmFYWVZESXF5M0hmZmZlNXQ2cHFP
OTJvc2VoemRrOTVKd29JQUFnZ2dnQUFDQ0NDQUFBSlhYMkQ5K3ZYdWYvYnJmL2hydGx1dApZMkpp
M04vZ1VWRlJyaUVpTWpMUzlaSlNUeW05MzA4TkZQb1V1d1ZFRnlqcW90WU9kYXU2V3VGRDk2RUhK
SHdVOVJmaFBBUVFRQUFCCkJCQkFBQUVFU2xhZzJBR2txTGVuTjVuMzdkdlh1blRwVXRTdjREd0VF
RUFBQVFRUVFBQUJCQkNvWUFKbEZrQzZkZXRXd2FpNFhRUVEKUUFBQkJCQkFBQUVFRUNpdVFORUdi
aFQzcXB5UEFBSUlJSUFBQWdnZ2dBQUNWVktBQUZJbGYzWWVHZ0VFRUVBQUFRUVFRQUNCc2hFZwpn
SlNOTzFkRkFBRUVFRUFBQVFRUVFLQktDaEJBcXVUUHprTWpnQUFDQ0NDQUFBSUlJRkEyQWdTUXNu
SG5xZ2dnZ0FBQ0NDQ0FBQUlJClZFa0JBa2lWL05sNWFBUVFRQUFCQkJCQUFBRUV5a2FBQUZJMjds
d1ZBUVFRUUFBQkJCQkFBSUVxS1VBQXFaSS9PdytOQUFJSUlJQUEKQWdnZ2dFRFpDQkJBeXNhZHF5
S0FBQUlJSUlBQUFnZ2dVQ1VGQ0NCVjhtZm5vUkZBQUFFRUVFQUFBUVFRS0JzQkFralp1SE5WQkJC
QQpBQUVFRUVBQUFRU3FwQUFCcEVyKzdEdzBBZ2dnZ0FBQ0NDQ0FBQUpsSTBBQUtSdDNyb29BQWdn
Z2dBQUNDQ0NBUUpVVUlJQlV5WitkCmgwWUFBUVFRUUFBQkJCQkFvR3dFQ0NCbDQ4NVZFVUFBQVFR
UVFBQUJCQkNva2dJRWtDcjVzL1BRQ0NDQUFBSUlJSUFBQWdpVWpRQUIKcEd6Y3VTb0NDQ0NBQUFJ
SUlJQUFBbFZTZ0FCU0pYOTJIaG9CQkJCQUFBRUVFRUFBZ2JJUklJQ1VqVHRYUlFBQkJCQkFBQUVF
RUVDZwpTZ29RUUtya3o4NURJNEFBQWdnZ2dBQUNDQ0JRTmdLbEVrQU9IejU4MmRObFpXVmRWbGFV
Z3RPblR4ZmxOTTVCQUFFRUVFQUFBUVFRClFBQ0JNaEFvbFFBeWVQQmdTMDFORFhxOGI3NzV4bGF1
WEJsVVZ0aWRnd2NQMmwvKzhwZkNua1o5QkJCQUFBRUVFRUFBQVFRUUtDT0IKeUZEWFhiTm1qYTFl
dmZxSzFlclhyMjlKU1VtMmQrOWVtemR2bm8wZlA5NFNFaEtDNm03ZHV0V09IajFxczJmUHRwNDll
L3JIV3JWcQpaVFZxMUxEbm4zL2VwazZkNnBjWFptUHo1czEyOHVUSndweENYUVFRUUFBQkJCQkFB
QUVFRUNoRGdaQUJaTWFNR2JacDA2WXIzdUtJCkVTTmMrWVlORzJ6aHdvVzJkT2xTMDNhblRwMzgr
ck5temJLWk0yZTZrTEZ2M3o1TFRFejBqOTE4ODgyV201dHJDamw5K3ZUeHk5bEEKQUFFRUVFQUFB
UVFRUUFDQnlpa1FzZ3ZXeG8wYkxTOHZ6LytjT1hQR1NheGJ0ODRXTDE3c3RzZU1HV083ZHUyeW1q
VnJtZ0tIdHh3NgpkTWkyYmR0bUF3WU1zQ2VlZU1MbXpKbmpIZkxYRHovOHNEMzc3TE11aVBpRmJD
Q0FBQUlJSUlBQUFnZ2dnRUNsRkFnWlFNSjk2cFl0Clc5clFvVU50eTVZdC9pbHo1ODYxa1NOSFdt
UmtwQTBaTXNSU1VsTE1DekJlSlhYRit1cXJyMno3OXUxZUVXc0VFRUFBQVFRUVFBQUIKQkJDb3BB
SlhMWURJcDNQbnpxYUI0V2ZQbmpYTmNyVmt5UkliTldxVW80dU5qYlZCZ3diWm9rV0xnaWcxRHVU
NjY2KzNqSXlNb0hKMgpFRUFBQVFRUVFBQUJCQkJBb1BJSlhOVUEwcVpOR3lla01LRXVXV1BIanJY
NCtIaGZUVjIxcmpSb3ZIYnQyclovLzM0WFhESXpNLzM2CitUZlVGZXpOTjkvTVg4dytBZ2dnZ0FB
Q0NDQ0FBQUlJVkJDQnF4WkFMbDI2Wk1uSnllNngwOVBUcld2WHJ2YmNjODhGTWJSbzBjS20KVDU4
ZVZLYWRuSndjdSthYWEreTExMTR6aFpHQ0ZuWFZtakpsU2tHSEtVY0FBUVFRUUFBQkJCQkFBSUZ5
TG5CVkFzaXBVNmRzNE1DQgpiaFlzVGMycjFvL0NMTWVQSDdmbXpadmJwNTkrNm1iRUt1aGN6YURW
dUhGakMzeXhvUWErc3lDQUFBSUlJSUFBQWdnZ2dFREZFQWc1CkRXK294MWk3ZHEwTkh6N2NJaUlp
M0hTOUw3MzBrdTNZc1NQVWFmNXh2Y2xjTFNBZE8zYTBIMy84MGZyMzcyKy8vZTF2N1paYmJuR3QK
SWRXcVZYTmRzeFJTMUFLaWQ0ckV4Y1c1OHpWK1pQTGt5ZjUzc1lFQUFnZ2dnQUFDQ0NDQUFBTGxX
NkRZQWVUSWtTUFd1blZyVzdacwptVFZxMU1nRkNiMVlVS0ZDQVNIVTh1R0hIN3JRY2VPTk41bytU
WnMydFgvODR4OXVWaXlGRTQzN3FGdTNybnZCNFVNUFBlUUdza2RGClJibXZWYXVMdHgzcU9oeEhB
QUVFRUVBQUFRUVFRQUNCc2hlSStQa1AvTHppM01iRml4ZmROTHRxcVNqS2N0OTk5N20zcVdzNlho
WUUKRUVBQUFRUVFRQUFCQkJBby93THIxNiszNk9obzk5RnN0OXFPaVlseDd3VlVBNEVhSXZRcUR2
V1Mwa2N2SDFjRGhUNUZTdzBCSnJwQQpVY1BIeElrVDdhbW5ucktDd3NlOTk5N3JCcDByNUxBZ2dB
QUNDQ0NBQUFJSUlJQkF4UmNvZGdBcEtrRmFXcHIxN2R2WHVuZnZmc1d2CjBLeGFQWHYydEk4Kytx
aklBZWVLWDB3aEFnZ2dnQUFDQ0NDQUFBSUlGRnRBSGFuMDBkL3QrVC9lTWUrNHQ2OTZ4ZTZDVmV3
NzV3c1EKUUFBQkJCQkFBQUVFRUVDZ1FnbW9DNVptbzlWSHI5TW9xQXRXOWVyVlhUaFJBUG5wcDUv
c3dvVUxWdXhCNkJWS2lwdEZBQUVFRUVBQQpBUVFRUUFDQnF5S2dVS0hGYStWUTY0YkdlZ1MyaG5n
WENqeEdBUEZVV0NPQUFBSUlJSUFBQWdnZ2dFRFlBZ29WQ2g5ZTZORGErMmlNCnVBYWZleUhGcTZO
ekNDQmhFMU1SQVFRUVFBQUJCQkJBQUFFRUpLQkE0WFd2OGxvMzFNVktaWnJwU3VGRGl4ZEVkTXli
QllzQTRtajQKQndFRUVFQUFBUVFRUUFBQkJNSVZVTXVHUW9VWFByeTF5cnlwZDFYSEN5SUtMQzFC
Z1lnQUFBck5TVVJCVkFTUWNIV3Bod0FDQ0NDQQpBQUlJSUlBQUFrRUNYdmNxTDNCNExSMWV1Y0tI
UW9rWFFoUSt2RmRyMEFJU1JNa09BZ2dnZ0FBQ0NDQ0FBQUlJaEJMUVN3YlBuVHZuCnFpbDA2TVdE
WGhoUm9jS0gxMEtpRUtMd2tabVphVTJhTkdFTVNDaGNqaU9BQUFJSUlJQUFBZ2dnZ0VDd2dBTEkr
ZlBuL2RDUmZ6eUkKOWhVODlOSFV1MmZQbm5WVDlkYXBVNGNBRWt6SkhnSUlJSUFBQWdnZ2dBQUND
SVFTVUF0SG8wYU43SnR2dm5HdEc5bloyUlliRzJzSwpKbW9OOFZvOTFQS2hZd29raVltSmJsQTZY
YkJDNlhJY0FRUVFRQUFCQkJCQUFBRUVnZ1FVTU9yV3JXdFJVVkcyWjg4ZTE3MUtBVVF2Ckp2UVd0
WHlvbTFaY1hKemRldXV0YnAyVmxVVUxpQWZFR2dFRUVFQUFBUVFRUUFBQkJNSVQwS0J6ZlZxMmJH
bTFhOWUyOVBSMCsrR0gKSDF3UVVkY3N2UjFkQWVXV1cyNnhkdTNhdWRZUmpRblJRZ3RJZU1iVVFn
QUJCQkJBQUFFRUVFQUFnZjhKcUF1V1B1cHkxYng1YzZ0VgpxNWFwZFVNdEl0SFIwVzRkdUIwSVZ5
MXdoMjBFRUVBQUFRUVFRQUFCQkJCQUlKU0FacjdTUjR2R2ZNVEh4MXZEaGczZFdBK1ZCUjdYCmZ1
QkNDMGlnQnRzSUlJQUFBZ2dnZ0FBQ0NDQVFsb0FYUUxSV2Q2eHJyNzNXQlkvQTZYbTlPaG96NGky
MGdIZ1NyQkZBQUFFRUVFQUEKQVFRUVFDQnNnZnl0SEFvaE1URXg3bndGRG5YUjhvS0hGMFIwa0FB
U05qRVZFVUFBQVFRUVFBQUJCQkJBUUFJS0ZybTV1Vzd0aFF5VgpheGFzeno3N1RKdHUwYkhBandv
SklQOW53NzhJSUlBQUFnZ2dnQUFDQ0NCUUJJSEExbzJNakF5YlAzKythYTNnb1ZZUnI2WEVxMGNB
CktRSXlweUNBQUFJSUlJQUFBZ2dnVU5VRkFscytQSXZrNUdTMytkWmJiL2t0SkNvSXJFc0E4YlJZ
STRBQUFnZ2dnQUFDQ0NDQVFGZ0MKYXRuUUozRFpzR0dEYS9sUTJYLy8rMTlMUzB2emc0ZlgrcUZq
d1dlcGhBVUJCQkJBQUFFRUVFQUFBUVFRK0FVQmIxeUhWMFV6WHkxZgp2dHdQSENwZnNXS0ZuVDE3
MXArdTE2dExBUEVrV0NPQUFBSUlJSUFBQWdnZ2dFRFlBb0d0R2lrcEtYYjY5T21nY3hVK1ZxNWNH
UlJLClZDSGk1L1R5L3lmbERUcUZIUVFRUUFBQkJCQkFBQUVFRUVEZ2NvR1BQLzdZdlhnd0lTSEJ2
WWpRRzJqKzAwOC8yY21USjkxc1dIcEIKb1diRjBwdlIxVjFMeC9TMmRGcEFMdmVrQkFFRUVFQUFB
UVFRUUFBQkJFcElnQUJTUXJCOExRSUlJSUFBQWdnZ2dBQUNDRnd1UUFDNQozSVFTQkJCQUFBRUVF
RUFBQVFRUUtDRUJBa2dKd2ZLMUNDQ0FBQUlJSUlBQUFnZ2djTGxBNU9WRmxDQ0FBQUlJSUlBQUFn
Z2dnQUFDCkJRdWNPSEhDRFNqWHpGZloyZG1XazVQalhqeDQ2ZElseTh6TXRLaW9LUGVKalkyMU9u
WHFtTmExYXRWeVgwZ0FLZGlWSXdnZ2dBQUMKQ0NDQUFBSUlJSEFGZ2JpNHVMS2JCVXZ6K3g0NWN1
UUt0M1Y1MGZuejV5OHYvRi9KcVZPbjdNeVpNd1VlMXdHOTRDUndPWHo0Y09BdQoyd2dnZ0FBQ0ND
Q0FBQUlJSUZET0JZbzFCdVNOTjk2d2V2WHEyYXBWcTM3eE1ZOGRPMmJqeG8yenZuMzdYbGJ2ODg4
L3R4NDllbGg4CmZMejdyZ2NmZk5BMTQrU3Z1SFhyVmx1elprMVE4ZURCZ3kwMU5UV29qQjBFRUVB
QUFRUVFRQUFCQkJBb3Z3TEY2b0kxZXZSb216eDUKOGk4KzNZOC8vbWdaR1JtMmMrZE91M0RoUWxC
ZEhaczBhWktOR1RQRy92NzN2OXRycjcxbUw3LzhzclZxMVNyb2V4VncxTXFpRU9NdApDaVJIang2
MTJiTm5XOCtlUGIxaUYxSldyMTd0N3dkdTFLOWYzNUtTa216djNyMDJiOTQ4R3o5K3ZPbmxLU3dJ
SUlBQUFnZ2dnQUFDCkNDQlFPZ0tGQ2lCNmUyRmtaUEFwZXNOaDRHdlk4OTkyN2RxMXJWdTNicGFZ
bUdpN2R1MEtPdnl2Zi8zTEZpOWViSTBiTjNibFU2Wk0KY2EwcFc3WnM4ZXVwOVdUYXRHbTJmZnQy
djB3YnMyYk5zcGt6WjlyVXFWTnQzNzU5N3Z0VlBtUEdETnUwYVpNMkwxdEdqQmpoeWpacwoyR0FM
Rnk2MHBVdVhtclk3ZGVwMFdWMEtFRUFBQVFRUVFBQUJCQkJBNE9vTEJLZUpBcjVmZjZTcnE1U0NS
a3BLaXFuclZaczJiZnphCkdwdWgxZ1MxWXZ6cVY3K3l0OTU2eTFxMmJPa2ZMMmdqc09WQ2RmVDlh
djFRZHl4dlVRdkp3SUVEdlYyM1BuVG9rRzNidHMyV0xWdG0KR25rL1o4NGNtejkvdmp1MmNlUEdv
THJmZmZlZDFhMWIxOWF0VzJmMzNIT1BPNllXbDd2dnZ0dCs5N3ZmdVNDemZQbnlvSFBZUVFBQgpC
QkJBQUFFRUVFQUFnZEFDZVhsNXJwTCtubGF2SmUycjExTzFhdFhjcDNmdjN2YmtrMDhHZlZISU1T
QVhMMTYwUng5OTFMVVNUSmd3CndYVjNldkhGRjRPK1JFR2dlL2Z1dG1MRkNqZVFYR005MUZwUzJF
VTN2R1BIRG52ODhjZjlVL1VnN2RxMTgvZTFNWGZ1WEJzNWNxUnIKalJreVpJZ0xSYUVHc0FkOXdj
ODdDa2hEaHc2MXdOYVcvSFhZUndBQkJCQkFBQUVFRUVBQWdTc0xlT0ZEUisrNzd6NDNuanV3cHFi
ZAoxZmp1L0wybFFnWVFkYkZTQzRRWEFqVG9QRDA5UGZDN2JkaXdZZGF2WHorNzg4NDdYWGVwQXdj
TzJNY2ZmeHhVSjV5ZGQ5OTkxNVNTCmJydnRObGRkOHd0ckhtRk44K1V0V1ZsWnRtVEpFaHMxYXBR
cjBwekNnd1lOc2tXTEZubFZ3bDUzN3R6WkRoNDhhSnJKaXdVQkJCQkEKQUFFRUVFQUFBUVRDRTFD
b0NBd1cxMXh6alQzODhNTkJaUTg5OUpCNzkwZGdVTkczaHd3Zyt1SlhYMzNWdnYvK2UzdmxsVmRz
OCtiTgpwc0hqZ1l0ZUx1SXRYYnAwY1p2NzkrLzNpc0phNi92ZmZ2dHQxeVhLTzBGQlJvdTZVSG1M
eHBHTUhUczJxSnVXdWxTZFBIblNxeEwyCjJ1dEdwa0h5TEFnZ2dBQUNDQ0NBQUFJSUlCQ2VnRjQ0
cUUvZ2N0ZGRkMW1MRmkxY1VmUG16ZDA0Y0Mra0JJYVFrQUZFMzZBeEg1cnQKNnFtbm5yTGYvLzcz
UWNrbThLTGFidGFzbVduZ3VUNkZXWjUvL25rM3FMeG16WnIrYVEwYU5IRGJnYk5uZGUzYTFaNTc3
am0vampiMApvTk9uVHc4cUM3VWpzT1RrWkZjdGY0dE9xSE01amdBQ0NDQ0FBQUlJSUlCQVZSZnd3
a1dndzJPUFBlWjJOVXlpZXZYcWZtNElyQnR5CkVMcW1yTlhBRVUxNXErNVlvUmJWVXd2SnJiZmVH
cXFxZjF6aFFXTTZOSURkVzQ0ZlArNm15STJPam5iZHNMenlxN0hXU3crRms1YVcKWnBxYVY2MHFq
enp5eU5YNGFyNERBUVFRUUFBQkJCQkFBSUVxSmFEV0RTOWdxR0hnVDMvNmsyc2dVSm4rcDcrT2V4
L0JoR3dCVWV1QQpUbFFReWMzTmRWMndzck96Zzc1RTVkNmlXYWdHREJqZ2p4bnh5dFdLa2IrWlJz
YzBua016Vldtd3U5N3RvVUhoZWtmSEYxOTg0VWJPCnQyM2IxcjFIeFB1ZTRxN1hybDFyclZ1M2R0
ZlNkTDJhSWxnRDMxa1FRQUFCQkJCQUFBRUVFRUNnOEFKZStOQ1pDaG9kT25Sd2EvM3QKbnorQWFE
OWtDMGl2WHIyc2ZmdjIxcjkvZjd2Ly92dmRnUE1QUHZqQXJmVU9EN1ZjTEZpd3dMVjY2SUo2YjRm
ZXIrRXRDaDZheVdyOQordlZ1eWx6Tm1LV0I1dGRmZjcxOThza25iakI1VGs2T2V3R2hkNDdlQzZM
QjRWclU5VXZUKy83eGozOTArOFg5Unk4MFZBRFJmVFJxCjFNZzZkdXpvM2lXaWV3aW5oYWU0MStk
OEJCQkFBQUVFRUVBQUFRUXF1b0FhSUx4V0RhMjlFS0svcVFzS0hsNTV4TThuL04va3ZTRVUKenA4
L2J6RXhNYTdXbGY1WVYvQlFkNmI4THlvTThiVmhIZTdUcDQ5N3owZlRwazNEcXY5TGxkVFNvbnZV
M01Rc0NDQ0FBQUlJSUlBQQpBZ2dnVUhpQmp6NzZ5TDFNUENFaHdhS2lvbHdBVWF6UURMYWFZVlps
K3B0Ynd5bTByZkVnQ2kwNkZ2WmY0Vjc0ME8xZHFhVkFMdzhzCmlmQ2g2K210NVVsSlNhYXVYOFZk
QkVENEtLNGk1eU9BQUFJSUlJQUFBZ2hVWlFHRkNhOUZRLytEWDJQQTFTQ2hsNFNyc2NKckNkRzcK
QVFNL09pL3NGcEN5QmxiWHFkVFVWQnMrZkhoWjN3clhSd0FCQkJCQUFBRUVFRUNnU2d1c1hyM2Fo
UXk5TGtNOXBSUTQxQTNMYS9GUQpnNFgreDc4KzJ2WmFRRlQzL3dHNHFEaGdXZVozOEFBQUFBQkpS
VTVFcmtKZ2dnPT0KCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2lu
dGVybmF0aW9uYWwvYmlkaS1vdmVycmlkZS1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3Qg
ZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGlt
YWdlL3BuZwoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFD
N21sRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pK
V2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3
WkM5S2hWcEZLTjZyS0dLaEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54
MUtpRVdsc2ZFSnEKL0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNy
WnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFE
eXM5eEZraWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBr
S2E3ek82cllxR2NUdllPa0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhq
MGNHRFgwK0dBVnR4cXAKK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldr
aFAxMHh1K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVF
VUVZWml3VUVDR1BCb3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktD
SnhsRU8xQ0pMOFFmNHFyOGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAx
ZWZKWFVkcE5YUjVhc2VYcTgKbXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQ
cVM0UjFXakUzMzU5c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZY
eC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4
CjlTOWRQMXQ0dlVaL0RQVlJsQm5NMGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2
Yk9ESW1icHRVM0h2RUtGbHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVj
ZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGla
MHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpB
QUFnCkFFbEVRVlI0QWV5ZEJiZzB4ZEcyKzhVMVFJRGc3dTd1N3NFbE9BUUxFQWdhUXZEZzdpNC9F
QWp1R3R4ZEVnaXV3ZDFkK3ErN1FzODMKTzJkMlovZWMzV1B2VTlkMXpzeTA5OVBWczFYZDFUVkRv
bEVRQ1FFaElBU0VnQkFRQWtKQUNBZ0JJU0FFZWdHQllYcWhEbFVoQklTQQpFQkFDUWtBSUNBRWhJ
QVNFZ0JCd0JLU0FpQkdFZ0JBUUFrSkFDQWdCSVNBRWhJQVE2RFVFcElEMEd0U3FTQWdJQVNFZ0JJ
U0FFQkFDClFrQUlDQUVwSU9JQklTQUVoSUFRRUFKQ1FBZ0lBU0VnQkhvTkFTa2d2UWExS2hJQ1Fr
QUlDQUVoSUFTRWdCQVFBa0pBQ29oNFFBZ0kKQVNFZ0JJU0FFQkFDUWtBSUNJRmVRMEFLU0s5QnJZ
cUVnQkFRQWtKQUNBZ0JJU0FFaElBUWtBSWlIaEFDUWtBSUNBRWhJQVNFZ0JBUQpBa0tnMXhDUUF0
SnJVS3NpSVNBRWhJQVFFQUpDUUFnSUFTRWdCS1NBaUFlRWdCQVFBa0pBQ0FnQklTQUVoSUFRNkRV
RXBJRDBHdFNxClNBZ0lBU0VnQklTQUVCQUNRa0FJQ0FFcElPSUJJU0FFaElBUUVBSkNRQWdJQVNF
Z0JIb05BU2tndlFhMUtoSUNRa0FJQ0FFaElBU0UKZ0JBUUFrSkFDb2g0UUFnSUFTRWdCSVNBRUJB
Q1FrQUlDSUZlUTBBS1NLOUJyWXFFZ0JBUUFrSkFDQWdCSVNBRWhJQVFrQUlpSGhBQwpRa0FJQ0FF
aElBU0VnQkFRQWtLZzF4Q1FBdEpyVUtzaUlTQUVoSUFRRUFKQ1FBZ0lBU0VnQkxxbGdIenl5U2NO
a2Z2dXUrL0MvZmZmCm42VXBQbWNSQStqbXl5Ky9ERys4OFViSFdseUYwVTgvL1JTZWUrNjV1dlhU
dnJmZWVxdHVmQ3NSSDMzMFVYanh4UmZyWnFscVM5Mk0KVFVSVTFkMUVFWjZrQ3M5bXkyazJYYWY1
bzVsMnZQLysrK0gyMjI4UEgzLzhjVFBKbFVZSUNBRWhJQVNFZ0JBUUFuMkNRTGNVa04vOQo3bmQx
aGVHSEhub296RDMzM0dHTk5kYndEaFdmKzZTWFBhejB3Z3N2RE9PTk4xNDQvL3p6ZTFoU2VmWXFq
QjU1NUpFdysreXpoNjIyCjJxcTBnTk5PT3kyTVBmYlk0ZEpMTHkyTmJ6VnduMzMyQ2F1dHRscHB0
cXEybEdacUliQlIzYzBXVTRWbnMrVTBtNjdUL05GTU8wNC8KL2ZSdzBVVVhoYnZ1dWl2TU5OTk1B
UVZNSkFTRWdCQVFBa0pBQ0FpQi9vaEF5d3JJU3krOUZQNzV6MytHazA0NnFiUS84ODAzWDloMAow
MDJ6dU9KekZqR0FidFpmZi8wdzJXU1RkYXpGVlJqTk04ODhZZkhGRncvRER6OThhUnUyM25yck1O
WllZNVhHZFNmd2dBTU9DRmRkCmRWVnAxcXEybEdacUVJaWdmTWNkZDJRcEd0V2RKYXE0cWNLVDdN
VjZLNHJzRXAzUDMybis2Rko1SWVDcnI3NEtPKys4YzloKysrM0QKL3Z2dkh5Ni8vUEl3NG9nakZs
THBVUWdJQVNFZ0JJU0FFQkFDL1FPQmxoV1FNODg4TTJ5MjJXYmh2UFBPQzVpZGxORUlJNHdRaGd3
Wgpra1VWbjdPSVByaUpNVFpWYXpFZHduKytUMDBWMGtLaWVoajkvUFBQWHNwd3d3MFhoaG1tL25D
MXMzM3Nwa3d6elRSZFd0OXNXN3BrCnJCUHd3dzgvaEkwMjJpamNjODg5V1lwNmRXY0pTbTUrL1BI
SExxSDE4Q1JoV2IxZENtZ1FVSmEvbmZnM3FMbzA2cW1ubmdyZmYvOTkKeGg4TExyaGdhVG9GQ2dF
aElBU0VnQkFRQWtLZ1B5QlFYNkl0YWQyMzMzNGJzRFBmZDk5OVhmbEFDZWtwUGY3NDQ0RVYvTDMy
MmlzYwpkTkJCWWR4eHh3MFBQL3l3bDgrSzdpNjc3T0xtUUR2c3NFUDQ1cHR2dkxvcnJyakMwNjIr
K3VyaDAwOC9EZi92Ly8wL2YxNW1tV1VDCk96VFEwVWNmSFJaWlpKRkFtNkdMTDc0NG5ITEtLZUh3
d3c4UGpRUzBSdWtRd0RFUm1uVFNTY1BNTTg4Y1huMzFWUytiZnloajlkcEwKbVJOTk5GRTQ0WVFU
UEQybU10Tk5OMTNZWnB0dHN2ekZtNisvL2pwc3UrMjI0Y0FERC9SMGp6NzZhREZKbDJmeTdMcnJy
bTR1TnRkYwpjNFZubjMwMlMvUGVlKy81S3ZsaWl5MFdpSHZ3d1FlenVQek5PKys4NHhndHNNQUNX
WEJWVytxVnpjN0dldXV0NTIwNjY2eXp3bFJUClRSV21uMzc2RExkamp6MDJYSFBOTmI3YnNza21t
NFNYWDM2NVM5Mk0rVi8vK3RkdzJHR0hoWFhYWFRjY2VlU1JXYnR1dSswMkQyZXMKRjFwb29mRDAw
MDluY1kxdWl2V3lnOUJvL0lwbGxlVW5UU1ArcUlkUnNleDY4NkZlZmhZRTl0dHZ2NEFTdHQxMjJ6
bldsRmt2ZmF2bApWNDBoZFRVYW8zcnRJRitlNnJXcjBiaDA1ejJRcjFQM1FrQUlDQUVoSUFTRVFC
OGhZQ3Y5VFpNSit2RzY2Njd6OUN1dHRGS2NjY1laClMvTWVmL3p4Y2Z6eHg4L2lpczlaaE4wODhN
QUQwY3lIb3AxeGlKZGRkbGswWlNTKzhNSUxjZEZGRjQybTRIaFNXOTJOODg0N2IxeDUKNVpXenJI
UE9PV2ZjZlBQTnMyY3pVWXEyTTVNOVgzLzk5ZkdjYzg3eFoxdXhqbll1Sll2YmFhZWRvaDJrenA3
VFRhTjBzODQ2YTV4dAp0dG5pcmJmZUd1MHdlalJCT202eHhSWXBhMlY3VFFHSnBtQmw2WmRkZHRt
NDl0cHJaODlGak1EWEZCV1BwNjBUVGpoaE5BVXJTMSs4Cm1YamlpYVBaL2tjVDZLTWRSSTZUVHo1
NW5ITEtLU045TXVFMHJyRENDdkh6enovM2ZvT3hLWHJSbkFrVWk0bW1ZRVpUak9JNDQ0eVQKeFRW
cVM2T3kzMzMzM1RqdHROTTZWdGRlZTIxODdiWFhvaWxlY2NzdHQ4ektwcDBISDN5d1A1ZlZ2Znp5
eXp1UGtNQ1VNTGF2NG1PUApQUmJOQkNxQ0tYMkZUQWlQYTY2NXB0L3pyNGhuRnZITFRiNWVncXI0
clNwL0kvNW9oRkd4M0xMNVlJcGt3L0c3NUpKTG91Mk9aVVUxCnFxL1Y4cHNadzNwajFLZ2RXV04v
dVNsclY3dmZBOFU2OVN3RWhJQVFFQUpDUUFqMERRSXQ3WUNZOGhGTTJIQlZpVjJMWjU1NXBzWisK
dnpzNjFQenp6KytyNGpQTU1FTXdBVEtjZXVxcHZoSis3NzMzK3VvNVpXTGVZc3BHb0g0VFZMd2F6
TUJ1dnZsbVgzVW1ZT21sbHc0bQo1UHBLTU0rbUtBUVQ4TG4xWFpJbm4zd3kzSERERGY1c0FuQXd1
UDArLzQvZGxFYnBUQUVLU3kyMVZEQmhQeXl4eEJMWlFmeWJicm9wClZMVjM1SkZIcmpIaEdtV1VV
V3FlOCsxZ2Q0SzJMcmZjY2g2TTZkV0tLNjZZVDFKNnYvSEdHNGRWVmxuRjIzYm9vWWVHVjE1NXhY
RXcKQWRYN2k2a1RiWjFnZ2duQ0J4OThFTzYrKys0dTViQUROY3NzczJUNFZMV2xVZGtjM0dmWGcv
TEFqbk0wU3k2NVpIaisrZWRyNmsybQpiY1c2OGVqMHhCTlBCTTUwUU96Y3dCK1VBMC9nNk1DVVFv
L0RkQ3UvNCtPQkZmOVN2YzJNWDFsUktYK0txOGNmalRCS2VkTzFiRDZBCkFmemF6UGhSVHFQNldp
Mi9hZ3dialZHamRxVCtwbXRadTlnUnE1cFhyYndIVWwyNkNnRWhJQVNFZ0JBUUFuMkxRTk1LQ0VM
UWh4OSsKR0RDbHdlTU9MbW14c3oveHhCTjczQU9FYzRUUFJKaGc4WXlRbWNoMlFQeVdka0I0NGtL
SVR1Y0hNTC9CbEFhekhNeXVNSWNaZGRSUgpQYTJ0NXJ1d2luQ09tWXF0Zm9kaGh4M1c0L0wvcXRM
bEJVNE9mYWN6TU0yME4xOVAxZjJkZDk3cFN0bVlZNDZaSlIxdHROSHFLaXdwCjBSaGpqSkZ1QXdJ
ZGhEdGRsRFlFZE1hTFA4eVZicm5sRmhmb3N3eTVHL3FaK2xyVmxxcXk4MlZSeGVpamo1Nlp4YVVx
VTEwODU5T2oKSUdFdWw0OUg4YVV2aE5rdWh5dVhtR2ZoL2VtTEw3NUlSVFoxVGVWMmQveFMvbFJa
L2puUEgxVVlwZnpwV3B3UHJlYXZTdDlxK2ZRcgozN2Y4R0RZYW82cDJwUDZtYTdGZHpZeExLKytC
VkkrdVFrQUlDQUVoSUFTRVFOOGlNRnl6MWJQeXpHb2pnbkFpWExYaWNRZGxaSkpKCkprbkJQYjV5
NWdCbEJ3RS8xY2NxT2dleFVUSWdoRkJXbkMrNDRJS0FvSTdyWDNZS09GL3gyV2VmZFhFamk2dFVN
Mk1LeHgxM1hNRGUKbk4yVFgvM3FWMTNhMm15NmZNWm0ycHRQWDNYLzVwdHZlditMNmZKQ1lER3Ur
TXd1QVlJaWYyQUpkdXdTdFVwVmJlbEoyVlZ0NGZ4QQpvM01kdUI5bWhmenNzODhPbklWQVlPME90
WHY4aW0zb0tVYXQ1dTkwK256L0dvMVJxKzNJbDh0OU0rUFM2bnVnV0llZWhZQVFFQUpDClFBZ0ln
ZDVIb0trZEVFeVRYbi85OVlDSkQyWXY2WStENDN5VURrR3duY1JCWmNybG14T0pPUHh1TnVVQlU2
MUV1UHZsMnhkbm5IRkcKc1BNWXJpQmRlZVdWYm5iRVlldEVac2Z1aCtlUE9lWVlOMEhDYXhDS1Nw
R2FUVmZNMTJ4N2t4ZXBZdjdpTTRvU3V6dG1BMStNYXZyNQo3YmZmOWgyQk9lYVlJMHd4eFJTKzQ1
RU81Rk1JSmozc2JsUlJWVnQ2VW5hcXU1NWloUkxGRGc2bU9JbG9ON3RnbVA5eFNKOUQ2Zm1kCnNw
U3VtV3VxdDlueEs1YVo4aGZEaTg4OXhhalYvSjFPbis5Zm96RnF0UjM1Y3JsdmRseWFmUThVeTll
ekVCQUNRa0FJQ0FFaDBEY0kKTktXQXNMcHNoNWk3dEpCZENmNVFRT3lBY3hhUFMxQmNsU1lxUHFm
d2RFV3hTQjZ1Q09Qc0J1Y3NNQk5LaEJjb0JKSjBCb1Z3MnNUMwpEakNud3Z5STh3WHNhbkRHSVM4
YzhuVnRQRkZCZHZnN3JMcnFxdG5PaWdmKzhxOVJPbFpqK1V0RWUxT2JtMmt2T1BHQlBMQkFPVUNv
CnByNUVlWXp3OXNTT0JidE9pZmdLT2l2S0tHYjFLQitIYlQ0N1ZKeVIyR0NERGR3ckV1WkxmTVVl
Wlk3dmJaUzUycVZzK2tuZkVQYXIKMmxKVk52M0tLMTZVblc4bnUxZnNza0MwclZqM1NDT041SW9s
NXp2NDIzMzMzWDIzalh2S1JSR2hQRXl3VUxCb00zOTVQTDN3d3I5OAp2ZXdNTmNOditTTHkrVk83
Ni9GSEZVYjVjcmt2em9lcS9NdzlzRWoxVjZWdnRmeEdZd2gvMUJ1anFuWlU5YnVaZVVVWnpiNEhT
TXYzClc4enBRY1p6aEltRWdCQVFBa0pBQ0FpQlhrYkFoTFdHZE82NTUwWVQ3cU1KN2RFT05kZWtO
VE9tYUllTTNUTVI4U1pZUnhPeW94MFcKOXJDVFR6NDVtb2xNelRQZWkvSmtKbFRSem1wRVV4cWlL
UWxabEpsSnVaZXRJNDQ0SXRxQjdHanVYS01KblZsOHVqRzNzOUZjNzZiSAp1UGZlZTljOEUyRm1Q
TjVPVTVUaTFWZGZIVzNsM0wxRFpabCt1YW1YRHU5Y2VCbkM2NWV0dmtmYVpqc3gwWlFFOXpwRjlx
cjIydG1VCmFPWWk3cGxxdDkxMmMwOVRkcURkdlRnVk1RTWpjREh6S2E5bm5YWFdpWForSmRwNUNB
OHZ0cHRuYzQwY1RjbUpkdmc4SG5MSUlYSEgKSFhkMHIxY3ByYmtnanFhc1JWUE0zQU9XN1JTbHFK
b3JiVEVYdkQ1K3RtUGszcWFxMmxLdmJGTUtvZ25xN3NITHpnTkVPK0FmcDU1NgphbStIZmN6UzY5
MXp6ejI5VFhnMHUvSEdHN3ZVVFR2dFBKQzN4MWJiblovSWFLWjQ3am5OVFBUYyt4bGV6K3hnZjl4
d3d3MHJlWTc4CitYck5qS2h5L01pVHAzeCtPeGRWeVIvMU1NcVh5WDI5K1ZBdnZ6a0ppT1p1MnZG
aExwaGk2MFhXUzk5cStjMk1ZYjB4b2lIMTJ1R04KelAycjE2NnFlWldLYU9ZOVFGcFRXSjNmZUsr
SmhJQVFFQUpDUUFnSWdiNUJZQWpWOXJMTzAzUjFOSTN2ZW5DMkEyOUtaY1NLWnY2cgp6OFZuOHJB
NlRCbVlrbUd1a3c2bkY4dHJObDB4WDNxdWFpOHJ5YXpXYzlpV0hhSXEweUhTc3JyTzRYaFc5MWxw
cmlMTXlFalBEa3FSCnFKL3pPcGpObE1VWDArZWZxOXJTazdMWjJhSE45UWhjMmJYQkkxT1IyS2tC
VDZnWlRQUDVpL1ZXalY4K0wvZkYvTVg0NG5OUE1LS3MKVnZOM09uMitmNDNHcU5WMjVNdmx2cGx4
S2M3NzRuTytUTXdiODA0djhuRzZGd0pDUUFnSUFTRWdCRHFQUUw5V1FEcmZmZFVnQklTQQpFQkFD
UWtBSUNBRWhJQVNFUUc4aTBOUVprTjVza09vU0FrSkFDQWdCSVNBRWhJQVFFQUpDWVBBaUlBVms4
STZ0ZWlZRWhJQVFFQUpDClFBZ0lBU0VnQlBvZEFsSkErdDJRcUVGQ1FBZ0lBU0VnQklTQUVCQUNR
bUR3SWlBRlpQQ09yWG9tQklTQUVCQUNRa0FJQ0FFaElBVDYKSFFKU1FQcmRrS2hCUWtBSUNBRWhJ
QVNFZ0JBUUFrSmc4Q0lnQldUd2pxMTZKZ1NFZ0JBUUFrSkFDQWdCSVNBRStoMENVa0Q2M1pDbwpR
VUpBQ0FnQklTQUVoSUFRRUFKQ1lQQWlJQVZrOEk2dGVpWUVoSUFRRUFKQ1FBZ0lBU0VnQlBvZEFs
SkErdDJRcUVGQ1FBZ0lBU0VnCkJJU0FFQkFDUW1Ed0lpQUZaUENPclhvbUJJU0FFQkFDUWtBSUNB
RWhJQVQ2SFFKU1FQcmRrS2hCUWtBSUNBRWhJQVNFZ0JBUUFrSmcKOENJZ0JXVHdqcTE2SmdTRWdC
QVFBa0pBQ0FnQklTQUUraDBDVWtENjNaQ29RVUpBQ0FnQklTQUVoSUFRRUFKQ1lQQWlJQVZrOEk2
dAplaVlFaElBUUVBSkNRQWdJQVNFZ0JQb2RBbEpBK3QyUXFFRkNRQWdJQVNFZ0JJU0FFQkFDUW1E
d0lpQUZaUENPclhvbUJJU0FFQkFDClFrQUlDQUVoSUFUNkhRSlNRUHJka0toQlFrQUlDQUVoSUFT
RWdCQVFBa0pnOENJZ0JXVHdqcTE2SmdTRWdCQVFBa0pBQ0FnQklTQUUKK2gwQ3cxVzFhTWorUTZx
U0tGNElDQUVoSUFTRWdCQVFBb01TZ2JodkhKVDlVcWVFUUY4aVVLbUEwRGhOdnI0Y29oQlFBalVH
ZlRzRwpxbDBJZEJjQnpkL3VJcWQ4UXFEdkVkQWliTitQZ1Zvd09CR1FDZGJnSEZmMVNnZ0lBU0Vn
QklTQUVCQUNRa0FJOUVzRXBJRDB5MkZSCm80U0FFQkFDUWtBSUNBRWhJQVNFd09CRVFBckk0QnhY
OVVvSUNBRWhJQVNFZ0JBUUFrSkFDUFJMQktTQTlNdGhVYU9FZ0JBUUFrSkEKQ0FnQklTQUVoTURn
UkVBS3lPQWNWL1ZLQ0FnQklTQUVoSUFRRUFKQ1FBajBTd1NHR2dYay9mZmZEN2ZmZm52NCtPT1Ar
K1ZBcUZHRApHNEgvL3ZlL1ljVVZWd3h2dnZubTRPNm9ldGNVQXVLSHBtQlNJaUVnQklTQUVCaWtD
UFJMQmVUaWl5OE8wMHd6VFJneVpFaFlaSkZGCnducnJyZWZDMjBvcnJSVHV1T09PbG9maTlOTlBE
eGRkZEZHNDY2Njd3a3d6elJTKysrNjdsc3NZYUJtKy9QTEw4TlpiYjdXbDJULzkKOUZONDdybm5X
aXFyUHlwOFlQTEdHMi9VN2NkSEgzMFVYbnp4eFpyNFJ4OTlOUHo0NDQ4ZTlzMDMzNFRYWG51dEpq
Ny9BRi9kZi8vOQorYURzbnJHNDhjWWJBMWdPWm1vbjN3MW1uTVFQZzNsMHU5KzNkczRmdmJkNy90
N3Uva2dxcHhBUUFsVUk5RXNGWk4xMTF3M3JyNysrCnQvM0VFMDkwNWVHR0cyNElNODg4YzFocXFh
WEN6VGZmWE5XdkxQNnJyNzRLTysrOGM5aCsrKzNEL3Z2dkh5Ni8vUEl3NG9nalp2R0QKOGVhMDAw
NExZNDg5ZHJqMDBrdDczTDFISG5ra3pENzc3R0dycmJacXVxeitxUEJkZU9HRllienh4Z3ZubjM5
KzNYN3NzODgrWWJYVgpWc3ZpWDM3NTVURFBQUE9FMjI2N0xhQVVUempoaE9Ib280L080dk0zRHoz
MFVKaDc3cm5ER211c2tROGVxdTdieVhkREZYQ0R0TFBpCmg5WUd0cDE0NmIydDkzWnIzS2ZVUXFE
M0VXanFRNFM5MzZ3UXhoeHpUSzkybUdIK1QwZmFZb3N0d3VHSEh4NnV2Lzc2c054eXl6WFYKcktl
ZWVpcDgvLzMzSVpXejRJSUxOcFZ2SUNmYWV1dXR3Nzc3N3R1V0xpQ0FMNzc0NHVHWlo1NXBxcnlr
OEgzKytlZU9PZU9FSUgvUwpTU2VGWFhmZE5Vd3h4UlExNWV5eXl5NkJ0TU1OTjV3ckNQUFBQMzlZ
ZnZubHN6U3M0dTI5OTk1aDlkVlhkMlVnaTdBYmZyQS8vZlRUCjhPYy8vemtmWEhxUFFudmdnUWVX
eHFYQUF3NDRvTVpFYjZxcHBnb1BQL3h3bUdPT09ieDlKNXh3UWtyYTVUcmZmUE9GVFRmZE5CeHgK
eEJGZDR2SUJlK3l4UnhodHRORmNDVWFoV1h2dHRYMjNMNlhaYmJmZHZFL0REejk4bUdDQ0NjSnNz
ODBXZnZ2YjM2Ym9jT3FwcDRZbgpubmdpYkxmZGRtSFdXV2YxY0hab21CZHp6amxuaHQwdHQ5d1M5
dHR2djBBZndJOGRSZWpNTTg4TUtFdDVZcWR4ckxIRzhySFpjTU1OCnZYM0U3Nzc3N21HWlpaYnh2
M3o2ZXZjOTRUdDJLR256bGx0dUdlQUI2T2VmZnc1Ly9PTWZmZjdtNjRSWGZ2T2Izemcvckx6eXls
a1UKQ3d6MVROemdxVFhYWERPY2Nzb3BYaDV0SFdta2tiSzhMN3p3UWpaMm80NDZxbU5QK3Ftbm5q
cEw4L2JiYnpzUEhYYllZV0gwMFVmUAp3cm1oM2V6VXNrRFNDalhpaDVkZWVpbFFGd1RQVER6eHhE
Nis3T0ltS3VPSFYxNTVKUng4OE1FQmZoMTU1SkU5Nlo1Nzd1bTdjNHN1CnVtamducjYzZ3UrNzc3
NGJtQi93eE9TVFQ1NnFiM2p0UzM1NDc3MzN3bDU3N1ZXM2ZjUk5PdW1rWVp0dHRuRytXSGJaWld2
UzlnVS8KOUFTdm1zYmJRenZlMnl6VTlmVjg2Uy92N1NLK2VoWUNRcUFOQ01RS0N2dUZpaFNkaWJh
VjVtamRpLy8rOTcrekNxNjg4a29QdS9ycQpxN013YnV6SE1lNjAwMDdSZmx5akNXSHhnUWNlOFBn
enpqZ2ptZ0FjVGNDSzIyNjdiVFJoMThQcnBYL3NzY2VpcmZUSHYvNzFyOUdFCjFUak9PT05FRTli
cWxtOW5TcUx0MW5pNUp0akZLYWVjTWs0MzNYVFJCQUN2aDM5ZmYvMTF0Qi84ZU9paGg4WjExbGtu
bW9DYXhkVnIKUjViZ2w1dXFNZmpoaHgrS1dhSUpLL0hZWTQvdEV0NUtnQW4vbnZ4UGYvcFRYSHJw
cFp2S0N2WW1QTmVrUGY3NDQ2TUpqZEdFS01jegpSWnB5Nk9QSk9PZi9qanZ1dUpRa21pQVJwNTkr
K21nQ1h3VHZQQzI1NUpMUmhMNThrTitiWU5VbGpBQVQyS01KWnFWeHpRUlMzdzQ3CjdGQTNLZjBj
Zi96eFMrUE5OS3VtajZtLzhKZ3B5SjduMldlZkxVMnoyV2FiWldYYUQ3SmphUUprL09TVFR6emNG
QkFQZzhjU21iRG8KL2FXZXlTYWJ6SVBCeFpTZTBqcFNlNWcva0NtRjBYYU1QSzBKTS9HcXE2NktS
VnpieVhjNzdyaGpwRS9ERGp0c05MTTNiOE05OTl6VApzSzIwT2ZVWlByRkZocnJwYjdycEppK1RN
U1NmS1pYUlRPWThqSCsyKzlVbEwzejgrdXV2WjJsczRTT2FVQlp0cHl0KytPR0hXYmlaCjdubmVL
NjY0SWd2TDM1VE4zMmI0Z1RGTTQ1S3UxSit2cDR3ZmJPZlQ4NW5pNzgyQVAwd0JpNmEwZWJndEJI
aDRLL2d5L3N4aC9qYmUKZU9NSXJ4YXBQL0hEeVNlZjNBVzdoT0d2Zi8zclNGdnB3N2pqanV2cFRG
bXY2VTRuK1NGVjFFNjhVcGxjMi9YZXBxemVuQy9GOXd2MQpRMzM1M3FiK3N2bEx1RWdJQ0lHZUlW
Q3BYZlRWNU1zcklMYktIUys3N0RML3NWaGxsVlVpUDZpSnVGOWhoUlZjWU9MRmE2dEluaTRKClo1
ZGNjb2tMSnMya1IzaTJsZUJvSmtkZUgyWHhJMVd2ZkJTSWFhZWQxZ1hrYTYrOU50cjVBRmRBYkRV
MFZlYy8vRWtoUXJEaVJ4QkYKcDZyZFdRRjJVMjhNYnIzMVZoZkFiSlUwMnM1T1JLQlBoQUtDc0kz
U2hlQ0JZR203R0NtNm9XSmt1eGp4RDMvNFE3UVZaY2R6NFlVWApybEZBNmlsTzlSUStLcVZ1TXdz
clZSaUlaK3pNTHQ2VlNPckxrNTBuY1p3UlVPKzg4ODRzQ3NINmtFTU95WjVwdCswTWVMdHQ1ZDZW
ClF3VFV1KysrMjlQd1E0WmlhVHNDY1pKSkpvbTJrcHdwaTdhNkhjSFJWdDg5TGNJQmlpNzhaaVov
SHBaWFFCNS8vSEVYUk0yOEw5cU8KaE1jM1VrQTh3Uy8vS0J1QjJYWTduQi95QW1WS2gxSmlLK0FS
WG9KbkVnOFJiMmVaUE95c3M4NUt5YU90U3BjcVIvQmw0cm1VR01XQworWlVuRkk2ampqcksweWJC
RmVVWlBKUGdaanM4bnFWVGZQZnFxNis2a21xN0F2bW1kYm1IVjk1NTU1M0lHTTgxMTF4ZDRsT0E3
UTY0CjRwcWUwOVhNT3IxUFpvNlpnbXF1MzM3N3JjL1JFVVlZSWVhVllSTFpMbzB2YU13eXl5eVI5
eEprdTJSZUh1TlZSdlhtYjByYkREOHcKUHZmZWU2Ky9teGpyL0R1d3lBK3BQU2dZZWFJZWxGbmJG
Y3VDbVJ1TXIrMGNaV0gxOEdWODZEZnBVZmJnTFdpZzhJUHRUc1hOTjk4OAo2eWMzdkRONHY5dE9V
WTFDbWsvVWJuN29GRjZkZUcrRFE2Zm5TMzkvYjFmTjN6eXY2RjRJQ0lIbUVlajNDZ2cvR3IvNjFh
K2ltVVhVCjdJYWtMcHB0dnd2NXJFN3l4MG9XUDVCcGw2U29nRlNsWDJDQkJlTHZmdmU3Vkh5c1Nz
K1BsNW5SWk9rUjNObUpnZXpzZ0s4aTUxZDIKRUlwWVBhMHFOeXZRYnNwZWdLemVUalRSUk5tdUFQ
MDJrNUVzR3dvSUF2WTExMXpqYVJCYTJLRkJDSUZZRVUxQ2JWNHhJczRPKzBjegppZUhXRlFOV3pS
SDJvQ3JGcVlpM1ovcmxIenNwWnZhUUQrcHl6NnF2bVF2VmhDT01zN1BBYWlVS0lrb2hPMk1JUVFo
YmljemtKTnZsClNyc3JLQlVvaGhBS2lKazB1Y0JraDlGZGNUU3pQbzlEeVRGekROLzFJdUNMTDc3
d2RQQ1NuVC95TkhrRmhIRTg5OXh6UFR6OWExWUIKU2VrUllDbi83My8vZXdycWNtVzhHT2ZpenMw
WVk0d1J6ZXdxUzcvWVlvdkZ0ZFphSzN0T053aVQ3TEtrblFMQ3l4UVF3c0dKOXJBNgpuOGc4ZDBV
VUQzYjRtRitkNUR2cUJPTk5OdGtrVmQvd3ltNGlmRjZQNmlrZ3BBZlR0Q05hTDcrZE9mUGR5M3c4
Y3hyczJSM2gzUVJ2CnNscHVwb1ZkZG9oU3ZyTDVtK0x5MTJiNElTa01SV1Vuenc4b3Q0d2pjN0ZJ
Q0wvRXBWM2FWRjVlQVVsNWl2aCs4TUVITHFpZmQ5NTUKcmp6VDNvSEVEMlVLQ0gyOTc3NzdIQk4y
dXh0Uk8vaWhrM2gxNnIwTkpwMmNMLzM5dmQzcy9HM0VPNG9UQWtLZ0t3TC9kOERDZnBYNgpJeDF6
ekRGdTkyNnJKT0VmLy9oSGx5YWFFTzBIcm0yMU12QzMwRUlMdVMyNXJZeDJTVXRBVlhwc3BrM1F6
ZkpXcGNkK25yOUUySWJiCmlway8ybzk3NE14SlBoNDdYdzZJVjVXYnlxdDM1WXdBQjU0NUl3QlJw
Z25tTmNuTlZDTFlDbjVZWW9rbGdnbWdBZHR3RTBEY0hUSG4KQ0RpM0FJR1ZDV3ZCZGhUQ2d3OCtH
RGp3bjg3WWNIWUc5N0dKVEtoQmFRMjJ1aHJNck1WdDVVMHdDZlMxaXFnUDk2TjRlcWxIMkxwLwo5
dGxuTmRFNERoaGxsRkhjaGoyMWgvTWsyTnhqNjV5SUErYmdBT0d3SUkwai9VckVtUUVUUk55ZUhs
eVNkeS9TMnVxdTk0MjB0QU1QCmJCRDl6Uk5ZVVEvNDlvVCs4NS8vZUhaVGpPb1d3M21IR1dhWW9j
YWpHZDY0T0RkanUyOVpQdXpaYlZjZ2UwNDM4SjRKeVJrV0tienMKU3AraFBQNTQ5VEtsSVB6Kzk3
OTNQdWdVMzZYMm1DQWRtT3VKT0FkaFNyMmZpMGxoNlVwN1RRaE9qeTFkNGNYaWZDa1dVTWFMT01Y
QQpJWU9aK0xoekFsT1dndTJTQk41VCtYbGVMS3VaNTJiNEFiNkc4aDd1aXZ6QStSamVZNXhaS1pJ
cHRCNlU1a2t4UHY5Y3hQZkpKNThNCjFNVzVKYzRjTVZhRGdSOTQvekhQcXM2NXRZTWZPb1ZYSjkv
YjhFUW41OHRBZTIvbjU0anVoWUFRNkQ0Q3czVS9hKy9sdEIwSkYzWVIKb2hFYU9SaWJ5SFlUL01m
RHppaWtvSWJYVHFmUFYyNHJrZUhwcDUvT0IyWDNyYllqeS9qTERjS09yYmk3VW1HbVR3RjNzYlpx
WDVNTQpBU0ZST3RpTG0xbmN6WllwUnFTbExEdHprVGtCSUl3ZjNpUmM1UlVuNHBMQ2g1QmNSVWw0
NG9BbkI2YkxDQVdqS1BCemdCMEhCQndJClJobGgvTTAyMy8veVphRDgwYjVFdG11U0tWa3BMUFdE
Wnc1ZTU1VWg0dkx4NlQ1ZHlZTnlaaVpUbGNJS2Fhc0l0N3kyc3VoNE4wcUwKUW11N0dGa1MyLzF4
akJpblJDaFpacUtUSHJNci9BZGZNRTVWWk9jdlBFbkNuM29SOEpORENDTEJvaE44bDlxV3g1b3ds
Q29VUGc0Tgo1OXRCWEdvdjk2MFNCN2t2dU9DQ2h0a29QMkZCUWx3NG05bVJqejJIK2xFWTdKeVZZ
N3ZxcXFzMkxLdVp5R2I0SVMxdVZQRURDbW1aCkFtS3IvYjVvWWJ2S2xVMHE0c3RZY0hpZHYwU0Rn
Ujg0Yk0yN0pTMUdwTDRWciszZ2gwN2gxY24zTmpoMGNyNE10UGQya1MvMExBU0UKUVBjUTZQYzdJ
S2xickR5YUNWSFlhS09OZ3AxQlNNSHV1UWZ2T2VtSG1RaUVCanNya0tYSjMrQ0ZxWlBwODNVaEZD
THc0d1VxRVcxago5NkhWZHFUOCtTdGVvUFkxYjFlNEdXYVZ1aWk4NWRQU0ZsNzAvRFZTalBBaWhI
SlVwRlEyY1NnSktIejVQd1RwUm1SbWFPNkJpVFJWCks4LzVjaGhYQk91MDAyR21Scjc2VEhsbVhw
WlBHc3dSZ1NzZ2VENUR5V0hYaFBUdEpIWkYyR2t6YzdJZUZVdjdqanp5U0Y4NVoxVzAKSHNFdnp6
Ly9mSTJTTXUrODh3WldzczNoUVphTjhTM3VnSmk1bksvV20vT0RtclJacG9vYk05L3lGR25zVS9K
TzhGMHF1emV1NEhUZApkZGNGTXpuekZmMW02K1NkZ2pLZVBJb3hmbmpYWW1lQXNucEN6ZklEUWpJ
QzgrUTVUMVQxK0tHb2dMRENiNUhoNHBjQUFDQUFTVVJCClZPZDgzQ3RhZDlxYStLR1lkNkR6QXp1
NUtKZXR2SmZBb0x2ODBBbThPdlhlcHArZG5pOEQ2YjBOSGlJaElBVGFnMEMvVlVBdzY0SHMKTUxs
ZkVaenQzSVN2M3FPRUlJQkNHMnl3Z1F2VW1EYVJsZy9nNFM0eUNRbVlxcERXRHRRMmxSNmhEVE9E
UkZYbFk5NlMya0llNmtrLwoxSHpQaE5WQ08vanBQMjc4d09IRzBnNUFWN1k3MVYvdmlqQmhucjFj
aUcwa3dLYjhDQ09zaE9OU3RwRmloR3RZc0VjZ0txUHVLRTRvCkxaaUxtZTI0citTemd0OHNZYklG
OFEyUFJPeUdNQzUvK2N0ZmFsWjVNUlhESFNvQ0JUdENkM1RqbzVXcGpucFgrQkNUQVR2LzRic3gK
OWRJMUNrY3B4WXlGOW5KdFJIYm13TWN0YndhSFFvREpTSjRZVTVTMWp6LysySVBaK1VBcHhiU00x
ZEYyVWFmNHJsM3RxeXFISFRKMgpBOW41WXQ0bXM2ZXFmTVN6NjhhdVdpSld4REVMUlNsaExuYVhX
dUVIM0JXajlLQmNKNnJIRDNtRmxOMGVYTTJ5aTR4NzRYYlJRT1lICnhoL1RPY3hVZWUreGNORUtk
WWNmT29WWEo5N2JZTkViODJXZ3ZMZGI0UTJsRlFKQ29CcUJmcW1BOE5HMzlCRzlndzQ2S0dBMkFM
SFMKaDY5L3pqSHdYUWdFK2hsbm5ORlh4TW1EWFRObVBweUxZRVdlN3gwZ0tFTHNGSEFHb2xGNkZC
enpVT1dybzV4MWdCcWw1OXdEZ2k1Mgo4dGpnL3V0Zi8zTGhGK0dQWFJhRWRRUVVWaTBweHc2cys0
ZnVNSjlvVks1WFhQR1B2dk1EeWc4YUNnOWZlVWNBWmNXY1B5Z3BRdHliCkMxdXZHMndhS1ViRUlk
eGk5cEtJOXFORVVGNlZRbFpVK0RCWll2c2VmRkFJK0E0Qks4YVFIYjcyN3p6d3JZZjBoNGtWd2lH
N092U1AKSDNrb0wvanh6QWNCRVFENXdHUWllSU56RWVZcTF6OWttYjZCa09KUkRwTWlTaGlLWmw3
WkpJN25oRi9LbDY0b3A4Umh2c2IzR3pnWAprVGZiUUJsTk52WXBULzZLNHNXSERobUR4UmRmUENR
ZVMya1l3NFJEdXFLd0luQldtY3lnZ0VDY1M4RWNqanBvcDdsUDdmTE5pbFJmCmQ2NmQ0cnZ1dEtY
VlBKd2JNZzlyamcvdkJ2Z2NYbVJNaVV1WXB5dnZDODQ2cFhjSXZKaFhoS2tmc3pCNEVmTXBsSU5X
cUlvZk1POUsKYlVsWDNsSE0wU3FDSDNnZjJjRmtuenZNazdQUFB0dm5SbFhlVnVJSEtqOXdob2Jk
VWI1RHhFNFdpMWJzWW1GeTJFbCs2QlJlN1g1dgp3d085TlYvNiszdTdsZm1ndEVKQUNMU0FnTDFz
RzFMWWovZHgveWU4aStBWkJxOUJ6VkNuMCtmYllJSzBmMHNrSDVidW0ybEgyUmpnCnVoQjN3YmI2
NnE0MThWQmtxNkxSUGlUbm5tbE00WEtYbVhnL3dsVXQzMW5BbFdjaXZxbGlxK05vS3RHRUZYZnht
ZUpzdGRUZGw1b2cKNjk4dXdSV3RDYk9SY01nK1R1WGZRN0NWVnkrRHNpQlRNcUtaS0htWjl1TVZj
ZWRxWDBXUGRtNG4yZzZNcDZFdHRCbnZRZFJML1dWLwp0bHJyNmZHK1JEdzRGWW15N1hCa05LWEJv
L0N5bGNveTVjUzlQZkg5Ri9MaXh0bE14NklwZnU0MkZ6ZTY5TStFVVBjVWhnY2NQS0NSCjMxWkZQ
UTl0NUJrdldIeGJnWGJqd2hRdlVmUU52TzFqZ2U2bWt2eTRoQ1U5M3lBb2F5OXRzVVB3WGwreEx6
eWJjcEsxUC9XREsxNkgKcWdnTThHNEZicmozVGQrOUtNdFh6d3NXcnF0VGY4bG5pcUEvSjNlcmhI
V1M3eWpmZHNwcXZIazE4dExFK0RNbTljaVU2Qm8zdkh3VApDSTlWZUhLRGNFM05mR0hzOG5nWDcy
MEh5ZE9UM3o0SzZmZkZmM2lKKzl2Zi9sWU05dWV5K1V0RUkzNWdydUoydXRnV1hBT2JrNERTCmV2
S0J6RlZjaFBQdElWdkVpYmJMa28vTzdsdkI5NXh6enZFMlpabnRaaUR4UTk0TEZwN0M4TWlIVzJX
STN3Nnd4bnRpSi9taGszaTEKODcwTkpyMDFYL3I3ZTd2ZS9BVWprUkFRQXQxSFlBaFo3Y1ZibDRi
c1B5VEVmUnNtcVp0WEVlMUJvTkVZc0dLZlZ2cFpmUythWTNGZQpoaDJYb3NrT0xXUG9NVmtycnVv
U3gyNEhKbTNrWldjbGYvQ1VlRmI3c1pzMkphSzBiTkpBcEtOdXpvMjBtMmcvNVdNVEQ1bHlFOHdW
CnJiY1hjek5XTTlsbDRPdmV6VG9weUxjeGxjM1gwTk1abEh4OHEvY21mQVMrc2owWXFGTjgxMGxz
eXZpNFhmVTFLcnZlL0JVLy9BLzkKUnUraGRvMVBXVG1OeHF3c2ZTdGhWV1YzYXY2MDY3MU5YNnY2
MEFvZXhiVDVzdnY3ZTd2ZS9DMzJTYzlDUUFpMGhzQndyU1ZYNnY2RwpRRkkrYUZkUitTQ3NhTHBF
V0NKc3g4dVVEK0l4YjBxZWRvcktCL0VjeExiZEFHNGJFdWs2UmJRL0tSKzJHdTV1VVRrWGtpZjZN
WG51CndHNCtydXFlSDBucWFNYkRWMVZaeEE4VzVZTytkSXJ2S0x0VFZNYkg3YXFyTzJXTEgvNkhm
cVAzVUx2R3A2eWM3b3haV1RsbFlWVmwKZDJyK3RPdTlUWitxK2xEVzcyYkRVdGtENGIzZGJKK1VU
Z2dJZ2RZUWtBTFNHbDVLM1U4Uk1QTXB0Mi9uVURkKy9WbGh4TnNYMy8zQQp4V1lyeEhkQ0tBOHZV
eHhxTnpPZlZySXJyUkFRQWtKQUNEU0JnTjdiVFlDa0pFSmdrQ0lnQldTUUR1elExaTArSW9qQ2dX
TUF6TTc0ClhreXJpa2ZDak1PL09EcmdnMjU4ZzBRa0JJU0FFQkFDN1VkQTcrMzJZNm9TaGNCQVFV
Qm5RQWJBU01rR2RRQU1rcG9vQk9vZ29QbGIKQnhnRkM0RUJnSURtN3dBWUpEVnhRQ0xRL3BQQkF4
SUdOVm9JQ0FFaElBU0VnQkFRQWtKQUNBaUIza0JBQ2todm9LdzZoSUFRRUFKQwpRQWdJQVNFZ0JJ
U0FFSEFFcElDSUVZU0FFQkFDUWtBSUNBRWhJQVNFZ0JEb05RU2FPZ1BTYTYxUlJVSkFDQWdCSVNB
RWhJQVE2RWNJCjZGdG8vV2d3MUpSQmcwQlRYckEwK2ZwMnZIVUlybS94VisxQ29DY0lhUDcyQkQz
bEZRSjlpd0R6VnlRRWhFRDdFWkFKVnZzeFZZbEMKUUFnSUFTRWdCSVNBRUJBQ1FrQUkxRUZBQ2tn
ZFlCUXNCSVNBRUJBQ1FrQUlDQUVoSUFTRVFQc1JrQUxTZmt4Vm9oQVFBa0pBQ0FnQgpJU0FFaElB
UUVBSjFFSkFDVWdjWUJRc0JJU0FFaElBUUVBSkNRQWdJQVNIUWZnU2tnTFFmVTVVb0JJU0FFQkFD
UWtBSUNBRWhJQVNFClFCMEVPcUtBdlBQT080Ry9SQjkvL0hHNnphNmZmLzU1ZVAzMTEvMzVpeSsr
Q045KysyMFdsMjZhU1pQU05udjk2S09Qd29zdnZwZ2wKLy9MTEw4TmJiNzJWUFJkdnZ2dnV1M0Qv
L2ZkbndjWDhXWVJ1aEVBREJQNzczLytHRlZkY01iejU1cHNOVWlscWFFRkEvREMwakxUNgpLUVNF
Z0JBUUFtVUl0RTBCK2VTVFQ4Sm1tMjBXRmwxMDBYRG9vWWVHNDQ0N0xpeTk5TkpoeVNXWERHdXNz
VVpXTjhMK1JodHRGSGJkCmRWZFBNODg4ODRRRkZsZ2dQUG5ra3kybHlSSzNlTFBQUHZ1RTFWWmJ6
WE9kZHRwcFlleXh4dzZYWG5wcGFTa1BQZlJRbUh2dXVXdmEKbjg5Zm1xbWZCRllwVnEwMDg2ZWZm
Z3JQUGZkY0sxbkMrKysvSDI2Ly9mWlFwbnkyVkZBYkU0UEpHMis4VWJmRU11WHkwVWNmRFQvKwor
S1BuK2VhYmI4SnJyNzFXTjM5UldjMG5oTzl2dlBIR0FKYURtZHJKZDRNWkovSERZQjdkN3ZldG5m
Tkg3KzJldjdlN1A1TEtLUVNFClFCVUNiVkZBbm4zMjJURExMTE9FbjMvK09keDY2NjJ1V0tDRTNI
TExMV0crK2VhcjJRM1phYWVkQWpzZXA1OStlamo2NktOOWQyRzQKNFlhcldSbHVKazFWeCtyRkgz
REFBZUdxcTY3eTZLMjMzanFNTmRaWTlaSjYyemZkZE5PYStIeittb2grOUZDbFdMWFMxRWNlZVNU
TQpQdnZzWWF1dHRtbzZHMk43MFVVWGhidnV1aXZNTk5OTUFjRzhyK25DQ3k4TTQ0MDNYamovL1BQ
ck5xV29YTDc4OHNzQkJmbTIyMjRMCkYxOThjWmh3d2dtZFo4c0tLRk5XeTlJTjVyQjI4dDFneG1s
bzZadjRvYldSYmlkZWVtL3J2ZDBhOXltMUVPaDlCSnI2RUdHalpySEsKc3ZIR0c0ZGhoaGttOEFJ
ZFlZUVJzdVJEaGd3SkJ4MTBVSGo2NmFlek1GYlNoeDkrK1BERER6LzRsZnR6emprbjhNSk0xRXlh
bExicQpHbU1NdENNUk94NzhKYUwrZkh3S1QxZjZrNDh2NWsvcHFxN0ZkaFRUVjhVWDB6ZDZSckhh
ZDk5OUd5VnBPZzRCZlBIRkZ3L1BQUE5NClUzbSsrdXFyc1BQT093Zk01K0NKNVpaYkxpREluM1RT
U2I3ck5jVVVVOVNVczhzdXUzaGFsRkFVaFBubm56OHN2L3p5V1JyNGErKzkKOXc2cnI3NjZLd05a
aE4zQWI1OSsrbW40ODUvL25BOHV2VjkvL2ZYRGdRY2VXQnFYQWxFdTh6czJVMDAxVlhqNDRZZkRI
SFBNRVdqZgpDU2Vja0pKMnVhSm9vNndlY2NRUlhlTHlBWHZzc1VjWWJiVFJ3b2dqanVnS3pkcHJy
eDJtbVdhYUxNbHV1KzNtZllJdko1aGdnakRiCmJMT0YzLzcydDFuOHFhZWVHcDU0NG9tdzNYYmJo
VmxubmRYRDJhRTUvUEREdzV4enpwbGhoL0svMzM3N0Jmb0FmcW1PTTg4OE02QXMKNVFuK1JoRm5i
RGJjY0VOdkgvRzc3NzU3V0dhWlpmd3ZuNzdlZlUvNERvV1ZObSs1NVpiT0E5VEJnc1lmLy9qSDhQ
MzMzOWRVeVZqOAo1amUvY1g1WWVlV1ZzN2o5OTkrL1ppRWppN0FiZUdyTk5kY01wNXh5aXBkSFcw
Y2FhYVFzeVFzdnZKQ04zYWlqanVyWWszN3FxYWZPCjByejk5dHZPUTRjZGRsZ1lmZlRSczNCdWFQ
ZDY2NjBYbGxwcXFacndxb2RHL1BEU1N5OEY2b0xnbVlrbm50ajdnVktmcUl3ZlhubmwKbFhEd3dR
Yzd2NDQ4OHNpZWRNODk5L1RGSG5hb3VhZnZyZUQ3N3J2dkJ1WUhQREg1NUpPbjZodGUrNUlmM252
dnZiRFhYbnZWYlI5eAprMDQ2YWRobW0yMmNMNVpkZHRtYXRIM0JEejNCcTZieDl0Q085emJ2cUw2
ZUwvM2x2VjNFVjg5Q1FBaTBBUUVUZkJ0UzJDODBqTC9oCmhodWlOU09hd0ZzM25RbDFXWndwSko1
K3NjVVdpL2FqbG9YbmI1cEprMDlmZG04Q1RUejU1Sk9qN2NSRU0vSHlKQ1pBUlB0Qmp5YmsKWmxu
c1J6M2FqM1UwUVRpYVVCTk5pSXNtYkdmeHh4OS9mQngvL1BGTDg1dUpVVngzM1hVOXJ3bDJjY29w
cDR6VFRUZGROQUVneTI4QwplVFJoTVpwd0ZFMlk4L1MwNmU2NzcvWTBaZTNNTXY5eVV6VUdwc3dW
czBUNmRleXh4M1lKYnlYQWhIOVAvcWMvL1NtYU9WMVRXUjk0CjRJRm93bk5OV2pBMG9UR2FFQlZO
K00zaW5ucnFLZWNGK0NmL1orWjdXUm9USk9MMDAwOGZUZUNMNEowbk0rK0xKdlRsZy96ZUJLc3UK
WVFTWXdPNWpYUnJaUkNEMTdiREREblZUNW5tbG1Nak9FZFgwTWZWM25ISEdpU1pnZTNMYlNTeE5Z
NmFOV1hIMmcreFltZ0FaemV6Ugp3MDBCOFRENEtwRUppOTVmNnBsc3NzazhHRnhzRjZlMGp0UWUr
Qjh5QlRLYVF1aHBUWmlKdG1zWWk3aTJrKzkyM0hISFNKK0dIWGJZCmFHWnYzb1o3N3JtbllWdHBj
K296ZkdJS2I5MzBOOTEwazVmSkdKTFBsTXBvTzNNZXhqL2IvZXFTRno2MmMycFptdXV2dno2YVVC
Yk4KTEROKytPR0hXYmlaN25uZUs2NjRJZ3ZMMzVUTjMyYjRnVEZNNDVLdTFKK3ZwNHdmektUVTg1
bmk3ODJBUDB3QjgvY2I1Wmo1cTRlMwpnaS9qenh6bXp4YWNJcnhhcFA3RUQ3ejdFMmJGNjY5Ly9l
dElXK25EdU9PTzYrbE1XYS9wVGlmNUlWWFVUcnhTbVZ6YjlkNm1yTjZjCkw4WDNDL1ZEZmZuZXB2
NnkrVXU0U0FnSWdaNGgwRmk3c0xLckpwK3QrUG9ML054enoyMnFKWjk5OWxtMEZYWFBnL0IxelRY
WGRNblgKVEpvdW1YSUJ2TmdSRWhLWlNaZS9sTzFjUXJRVnIwaTlpUkRVYlVYUjI0R0FhNnQ3cmtp
a0g0ZThVRm5NandJMTdiVFR1b0I4N2JYWApSanNmNEFxSXJZYW00cU90bXJ1Q1FrQVN1RkdDU0Z1
dm5Wbm1YMjdxallHWnU3a0FSbmtMTHJpZ2w1L3lWaWxXWDMvOWRiU1ZVTSsvCnpqcnJSTVl4RVVy
VEgvN3dCMWVhYkZVdUxyend3alVLQ1AwR1UxdE5kWVVOcFFNNjQ0d3pvdTE0UkZ0Umo5dHV1MjNX
YitKUTZtejMKcUZSaElKNGZUYk9MOXpLcEwwL2dEczRJcUhmZWVXY1doV0I5eUNHSFpNOVZ5aDQv
WkxZTEVtMUhJRTR5eVNRKzdrbFpMQ3Fuak0zVgpWMThkVjFsbGxYanp6VGQ3SFhrRjVQSEhIM2Nl
czkyZWFEc1NIcC9ubGF4UkpUZVVqY0JzdXgwK0QvSUNaVXFPVW1JcjRCRmVRb0JLCkdCTnZwbTBl
ZHRaWlo2WGt6cmRseWhGOFNmN0hIbnNzUzR0aVllYVAyVE0zS0J4SEhYV1VwMDJDS3p5Qzhwd0VP
TnZoOFR5ZDRydFgKWDMzVmxWVGJGYWhwVy9FQlhqRW5GNjdRenpYWFhNWG83TmwyQjF4eHpRSit1
VG54eEJPOVQ1ZGZmbmt4eXAvTklZYmpaYnVmTWE4TQpFMm03Tk03ZlpuSWFiZmZOMDlzdW1aZkhl
SlZSdmZtYjBqYkRENHpQdmZmZUc4MGMwc2NhcFNKUmtSOVNlMUF3OGtROUtMTzJLNVlGCnN4REMr
SnB6aEN5c0hyNk1ELzBtUGNvZXZBVU5GSDZ3M2FtNCtlYWJaLzNraG5mR0NpdXNFRzJucUVZaHpT
ZHFOejkwQ3E5T3ZMZkIKb2RQenBiKy90NnZtYjU1WGRDOEVoRUR6Q1BSWUFXRjFuQjhrVmdlYkpZ
U3J2L3psTDc3YXlRK1ptZWQweWRwTW1pNlpmZ240NElNUApmS1V1dFFuaE4vMWdVeGVDY0NJRWRR
VDRST3hJMEI4N01PeEJSYUd5bUo4Zkx6T2pTZGxkY0Vjd1R6VHZ2UFBXckxxejRwYnFhOVRPCmxK
OXIyUXVRMWR1Skpwb28yeFZnQmM5TVJySnNWWW9WSzZKSnFHWEZtVDRuSVhXbGxWYUs0QUFoakxC
cXp1NE5CSTcwR1lHSU9CUVUKK3BSVzR5KzU1QklYVGp4eDRSKzhZbVlQaGREYVIxWjl6VnlvSmhC
ZVlCZUtlc3hVeUZjdS8vM3ZmM3M5Q0Z1SkdpbDdwRUVCTVpNbQpGNWpzTUxvcmpsdHNzWVZuTHlx
WGRrN0owNEVMdTN4UVhnRkJ1QzBxM1VWZThVd04vaUhBVXY3Zi8vNzN1cWtRR2hsbmR1bnlOTVlZ
ClkwUXp1OHFDMkZGY2E2MjFzdWQwd3hpaGNLZWRBc0xMRkJEQ1VZcHBENnZ6aWN4elYwVHhZSWVQ
K2RSSnZxTk9NTjVrazAxUzlRMnYKS00zd2VUMnFwNENRSGt6WjlXeEVNODg4c3l2cCtUUjJIaWlD
UGJzakNMVHdKcXZsWnI3V1pZY281U3VidnlrdWYyMkdINUxDVUZSMgo4dnlBY3NzNE1oZUxoUEJM
WEZLOFUzbDVCU1RsS2VMTCt3cEIvYnp6em5QbG1mWU9KSDRvVTBEbzYzMzMzZWVZNUhkbkV3YjVh
enY0Cm9aTjRkZXE5RFFhZG5DLzkvYjNkN1B6Tjg0cnVoWUFRcUVhZ3g0ZlFrejB3WGwyYUplemJz
VkcySC9OZ1FxWGJzeGM5VVRXVHBsNTkKSm5DNTV5cGJ2ZmF5YWFPWmRuaHk3TjN6WnpvSXRCL3Zy
Q2pPSUVCNVY3MVpwTjBVOHhlZnNRM1B1eFRtMlFUOXJBZ1RwUDF3T3dHTgoycGxscUhNRFBuZ1g0
NHdBeE5rVW5BSGtpYk01WUxERUVrdTRaekpzdzAwQWNlOVVuQ1BnM0FKa3E4Z0JXM0xiVVFnUFB2
aGdNSUhiCnoyNFF4emtPM01jbU1xRUdwVFhZNm1vd3N4YTNsVGZCSkpnZ2s1TFV2VklmN2tmeDlG
S1BzSFczSGJDYWFGdXBEcU9NTW9yYnNLZjIKNEVVTm0zdHNuUk54d0J3Y0lCTVduTGU0cDErSk9E
T0FuYjRKcm81TDh1NEZIK0pJZ2I1QnRHT1JSUmJ4K3hUbUQvWVByS2dIZkh0QwovL25QZnp5N0tV
WjFpK0c4d3d3enpGRGpLaHB2WEtZQUJ0c1Z5dkpoejU1M2ZaMGk0RThUa2pNc1VualpsVDVEZWZ4
eFFXMUtRZmo5CjczL3ZmTkFwdmt2dFlTN2FpbWg2REp5RHNOMDRQeGVUQmY1eVEzdE5DQzRHTi9V
TUx4Ym5TekZqR1MvYWFyQTdaREFUSDM5L21iTGsKVGplT09lYVlMdStWWW5sVno4M3dBM3dONWQr
M1JYN2dmQXhuUHppelVpUlRhRDBvelpOaWZQNjVpQytlQ3FtTGMwdWNPV0tzQmdNLwo4UDVqbmxX
ZGMyc0hQM1FLcjA2K3QrR0pUczZYZ2ZiZXpzOFIzUXNCSWRCOUJJYnJmdGIvNVp4eHhobjlwdXJs
VFNKYllYWEJMUjNnCnRGWGJZT1luWWFHRkZuSlh1UHl3TlpQbWZ6VTMvby9YSTd3VzRRN1l6R1dD
bWRHRVgvM3FWNDB6V1N6Q0t1MUxiYXpNVUpFQWoxNjIKZ2h6TS9Nb1BIaU5JMCs5RTNXMG5ncVd0
dUFlVUNqTjlDcmlMeGJ0WW51b3BWcmliTlpPdEdvR0pBNUFRWmRtWml6RG1tR05tUmZIRApTMzBR
eWhUQ1MzSTJ3Tmh4ZUJnaHVZcVM4TVFCVHc1TWx4RUtSbEhnNXdDNzdWVDRnV0NVRVE1Rzh3Mlo5
QjJaVkU0alpTK2xTZjNnCm1ZUFhlV1dJdUh4OHVrOVg4cUNjd2JQTjhEdnBHeEZ1ZVcxbDBmRnVs
QTZGRm1VMWtlMytPRWFNVXlMNDFreDAwbU4yeFFFRWZNRTQKVlZGUzBoUCsxSXVBbitjRnNPZ0Uz
NlcyNWJFbURLVUtoWTlEdy9sMkVKZmF5MzJyeEVIdUN5NjRvR0UyeWs5WWtCQVh6bVoyNUdQUApv
WDRVQmp0bjVkaXV1dXFxRGN0cUpySVpma2lMRzFYOGdFSmFwb0RZYXI4dldqVHpMaXppeTFod2VK
Mi9SSU9CSHpoc2piT0J0QmlSCitsYTh0b01mT29WWEo5L2I0TkRKK1RMUTN0dEZ2dEN6RUJBQzNV
T2d4enNnckNhekNuK09lYktxdHhwcFpqdmVPak1OY0lVZzMxUUUKNGNsdGh5SjluNkdaTlBuOFpm
ZDRiREdUbXNDcUpLdjBDUDltVWxTV3RFc1lQOW9JYkhnK2FnZXhlNENISE5xQmtuREhIWGRreGZh
awpuUlNDRjZoOXpkc1ZYcWRZcFM0S2IxbEZkcE5Yck1BNDc1a3NuNDRQNWRrQjIzeVEzNmV5aVVO
SjRCc3YrVDhFNlVaa0J3d0RIcGlnCnFwWG5mRGtJWEFqV2FhY0Q1WTNWWjhxejgwUDVwQUZsRHdX
SjhVYkpLU3A3TlltNytjQ3VDTXFYbVpOMXM0VC9aYU45Ung1NXBQTW8KcTZMMUNBSDQrZWVmcjFG
U3pLelB2Y2ladzRNc0crTmIzQUZoM3VFKzJjNzRoSHphTEZQRmpabHZlWW8wOWlsNUovZ3VsZDBi
VjNDNgo3cnJyZkxHREZmMW15YzRmK2M1WThpakcrT0ZkaTUwQkZrNTZRczN5QTBJeUFqUHZ6RVQx
K0tHb2dLQTAyemtmOTRxVzhyWnlUZnhRCnpEUFErWUYzTTc4L3JieVh3S0M3L05BSnZEcjEzcWFm
blo0dkErbTlEUjRpSVNBRTJvTkFqeFVRaEZGV1JObmF0d04rWFZiaDdlQmkKd0xVb3dwQjVpWEtC
aXgvYlJBamh2RHlUbVU4emFjaUxrb0I3VVhZM2lzUUtQOTl0Z0hDdnlPb2txL2lRSGF4MU00TDh5
bWIraDVXUAo1L0dod21UYWhQbEtNbHNveTA4OHduQWl5cytYaDJ0UVRHWHNnSERBcFdCeWkwbjZS
dTFNNWRXN0lrellRVzhYWWhzSnNDbC9YckZDCldNWEVEUGU0aWNBRHN5eDJqVENweW85UlNzTVZW
NjNzZUtTVldNTEl5NDl4UFVKcHdWek1iTWQ5Slo4Vi9HWUpreTBJRjcySjJBM1oKWUlNTmdwMGpx
bG5sYmFUc3Bidzl2YkphaDhtQW5mOEk3TVowaDhDZTNUN2F5N1VSWWFZSXI2ZjVRVm9VQWt4Rzhz
U1lNaWJKalRBSwpKa29wcG1Xc2pyYUxPc1YzN1dwZlZUa29xSmhac3ZQRnZFMW1UMVg1aUdmSERS
UEtSS3lJLytNZi8vQjNDM094dTlRS1A3Q1FndEtECmNwMm9Iai9rRlZKMmUzZ1gybGtnZHp1Yjh2
YjBPcEQ1Z2ZGbmtRb3pWZDU3TEZ5MFF0M2hoMDdoMVluM05sajB4bndaS08vdFZuaEQKYVlXQUVL
aEdvRmFLcVU1Zm1nTGY4cXdDc3RMUFIrc1FmRENYUURuQWRwUWZQUVFtaENIc2svRzlUanFlVVJS
UVhQQ0hEeldUaG5RSQp6NXdqd2JTS2J6VVVDVnR0ZnFRUkdHZ0xxOENrUTJqRXhoelRMSVFHYk5z
eDhVRElRNUJHSVVKUWhraVBnSUdpZ0Q5MGJQWHorVGt6CndLNEc5V0NEaTNLUlZ0TVEwakVWd3A2
ZUw4VHpoOENDNlFUZkYrQ0hEeXBycDBkVS9HTzFqaDlRZnRBb2s0LytJWUEybzFoaGZvRmkKUkp0
WWpZUE9QdnRzLzU2R3VSWDJYUlV3NFVPUkVLdXVLQkVvVmdqKzVua3FZTEtGK1FuS0dkaWdGRUNj
VGFCZEtHTGdnc2tTOVNBawpzZnZEdHdUU1YrL3Q4SFdYYjFMODYxLy9jdUdRWFIxV21KT1pWVjd3
b3g3YVJ0bmJiNys5bTBRUmxwUzkzLzN1ZDc1S1RGaWVhQk4vCmlWajl6cStBRThjekdCWlgvY21E
RWswY3UzYndLN3lEYVVJeWhTb3FxNm1lZEVYeDRtT0gvL3puUDMydUpIeFRQR040MldXWHBVZS8K
WWpLRHdGbGxNb01DQW5FdWhibUJBb25penh4aGthQmQxQ20rYTFmN0dwWER1U0htSGZPU2VjMjdD
RjdrREFCWTJRSGhtdXlZTjhMUApLSnVjOVlBWDg0b3dpWG0zTUk3TUM1UUR6aVUxUzFYOHdQektM
eEpRTGlhYmZPaXppdUNISzYrOE10akI1R0RPSmJ4dnZHdUwzN3VvCktxY3FmcUR5QTJkb0dDdm1G
enpCdUxKQXhDNCtwcXVkNG9kTzRkWHU5emJqM2x2enBiKy90NnZtZ09LRmdCRG9KZ0ltVURXa3NC
OHkKVi9Oa0FsekVSYW45dUVidWkyVEN2QWZoZXM5V2FkMmJVbmZTa01kK0xPSitCZi90aEp1Z3pN
VTlNOWxLcDk5WC9iUFZRbmVMVzVXdQoxWGk4RjVrdzZIamdiUVZQUWliTXVEdlBadHRaTmdiZ2gw
dE8yOWx4MTVxVWF3Si90QS9KdVdjYU04MXlsNWw0UDhKVkxkOVp3SE5WCkloTk9NaC80SnF5NGk4
OFVaNnVsN3I3VXpuVkVYUFRpaWhZM3Y0UkRwbkQ0OXhCTVNQY3lLQXN5SlN5YWlSS251UDFiQXlZ
OFJST1cKb2gyQ2o3WUQ0MmxvQzIwMllUMVNMMm5ML2t4UTh2UjRYeUllN3pGRm9teFRjRE0rU3g3
WlNHL0tubnQ3d2gwd2VVMndkNjlaZG1iSgozZWJDby9UUEZHTjN3WXdISEw0WFExNFRTRHdQYmVU
WkZKM0l0eFZvTnk1TThSSkYzOERiUGhib2JpckpqMHRZMHZNTmdyTDIwaFk3CkJGL3FlcHErMmM2
YjU2ZU0vQjllaDZxSXVZWjNLM0F6NFNtYUlsdzNDK2xNYU80U2p5ZXoxRjhpbVRzOEozZXJoSFdT
N3lqZmRzcHEKdkhrMTh0TEUrRE1tOWNpVTZCbzN2TGlJeG1PVktaS2VoVytlTUY4WXV6emV4WHZi
UWZMMDVMZVBRcFpXaDVlNHYvM3RiNlZ4WmZPWApoSTM0Z2JtSzIrbGlXM0FOakp2eUttS3U0cnFh
K2N0M2xXeVhwVFJMSy9pYW1hMjNLVi9RUU9LSHZCY3NQSVhoa1ErM3loQmV4Y0FhCjE5dWQ1SWRP
NHRYTzl6YVk5Tlo4NmUvdjdYcnpGNHhFUWtBSWRCK0JJV1MxRjI5ZEdyTC9FUHZLWU1Na2RmTjJP
b0pWZSt5ZjArSG0KVHRmWGF2bXNWT0kxQ3M5VGVXTFhoaTlVNTcreW5JOHYzamNhQTFic2sxa1h1
eEZGY3l4MmROZ2hLWnJzVUFkRHoxbVo0cW91Y2V4MgptRURxZWRsWnlSODhKWjdWZnV5bVdXa3RL
NXMwRU9tSWIrY3EvUDlLL2wvN0tSK2JlSWlkR1hORjZ6dEI3R2l4bWduK2ZOMmI4eXF0ClVpcWJu
YkIwQnFYVk12THBUZmdJZkdWN01GQ24rSzZUMkpUeGNidnFhMVIydmZrcmZ2Z2YrbzNlUSswYW43
SnlHbzFaV2ZwV3dxcksKN3RUOGFkZDdtNzVXOWFFVlBJcHA4MlgzOS9kMnZmbGI3Sk9laFlBUWFB
MkJBYTJBSUNEanlhaS9FamJGQ0s3WUdHUG13WThPQjhCeApCY3RmczZRWFlEVlM3VkwyOGpWaGZv
T0pEVmRiYWM5SDZWNElOSTJBNW0vVFVDbmhVSWJBUUhodmEvNE9aVXlwN3ZZYUFzUDFXazBkCnFL
Zy9LeDkwbHpNaUtCeDhJNE9kQ0w3SDBleXVSd2ZnR3RSRm12bVVIL1RuVUhkUjJXc1Zjenk3VVI2
ZW96alhKT1ZqVUxPT09pY0UKaEVBZklhRDNkaDhCcjJxRlFEOUFZRUR2Z1BRRC9IcWxDVnFCYVE1
bUR2eTNROWxqNXdxek9iNXhnekxTeU1Tc3VaWXAxZENNZ09idgowRHo2Nm5zVkF2Mzl2YTM1V3pX
Q2loY0MzVU5BQ2tqM2NPdlZYSG9COWlyY3Frd0l0QlVCemQrMndxbkNoRUN2SXFENTI2dHdxN0to
CkNJSDIrZWNjaWtCVFY0V0FFQkFDUWtBSUNBRWhJQVNFZ0JEb0hnSlNRTHFIbTNJSkFTRWdCSVNB
RUJBQ1FrQUlDQUVoMEEwRXBJQjAKQXpSbEVRSkNRQWdJQVNFZ0JJU0FFQkFDUXFCN0NEUjFCcVI3
UlN1WEVCQUNRa0FJQ0FFaElBUUdOZ0w5OVZ0b0F4dFZ0WDVvUjZBcApON3lhZkgzTEpqb0UxN2Y0
cTNZaDBCTUVOSDk3Z3A3eUNvRytSWUQ1S3hJQ1FxRDlDTWdFcS8yWXFrUWhJQVNFZ0JBUUFrSkFD
QWdCCklTQUU2aUFnQmFRT01Bb1dBa0pBQ0FnQklTQUVoSUFRRUFKQ29QMElTQUZwUDZZcVVRZ0lB
U0VnQklTQUVCQUNRa0FJQ0lFNkNFZ0IKcVFPTWdvV0FFQkFDUWtBSUNBRWhJQVNFZ0JCb1B3SlNR
TnFQcVVvVUFrSkFDQWdCSVNBRWhJQVFFQUpDb0E0Q2JWTkEzbm5ubmNCZgpvbzgvL2pqZFp0ZlBQ
Lzg4dlA3NjYvNzh4UmRmaEcrLy9UYUxTemZOcEVscFc3bCsrZVdYNFkwM2pUV1NUUUFBSUFCSlJF
RlUzcWliCjVhT1BQZ292dnZoaUZ2L2RkOStGKysrL1Azc3UzdnowMDAvaHVlZWVLd2JyV1FpVUl2
RGYvLzQzckxqaWl1SE5OOThzalZmZzBJV0EKK0dIb0dtLzFWZ2dJQVNFZ0JHb1I2SkVDOHNrbm40
VE5OdHNzTExyb291SFFRdzhOeHgxM1hGaDY2YVhEa2tzdUdkWllZNDJzcHJmZQplaXRzdE5GR1lk
ZGRkL1UwODh3elQxaGdnUVhDazA4KzJWS2FMSEdMTnhkZWVHRVliN3p4d3Zubm4xODM1ejc3N0JO
V1cyMDFqMy9vCm9ZZkMzSFBQWGRPSGZNWkhIbmtrekQ3NzdHR3JyYmJLQi9lcmV4UXVjRzhIZFVm
WmV2Lzk5OFB0dDk4ZXloVFJkclNwTzJXMHFvUlMKeDZPUFBocCsvUEZIcis2YmI3NEpyNzMybXQr
WC9XdWt0RElXTjk1NFl3REx3VXp0NUx2QmpKUDRZVENQYnZmNzFzNzVvL2QyejkvYgozUjlKNVJR
Q1FxQUtnVzRySU04KysyeVlaWlpad3M4Ly94eHV2ZlZXVnl4UVFtNjU1Wll3MzN6ejFleUc3TFRU
VG9FZGo5TlBQejBjCmZmVFJ2ck13M0hERDFhd0dONU9tcWpQMTR0ZGZmLzB3MldTVDFZdjI4QU1P
T0NCY2RkVlZmay83TjkxMDA3cnBVYUFXWDN6eE1QencKdzlkTjA1Y1JwNTEyV2hoNzdMSERwWmRl
MnVObWRFZlpZcHd2dXVpaWNOZGRkNFdaWnBvcElKajNOYldxaE5MZWwxOStPVERXdDkxMgpXN2o0
NG92RGhCTk82UHhiMXBjcXBiVXN6MkFMYXlmZkRUWnNoc2IraUI5YUcvVjI0cVgzdHQ3YnJYR2ZV
Z3VCM2tlZ3FROFJGcHZGCnlzckdHMjhjaGhsbW1NQkxjNFFSUnNpU0RCa3lKQngwMEVIaDZhZWZ6
c0l3VlVKWS8rR0hIL3pLL1Rubm5CTjRTU1pxSmsxSzI1MHIKZGRLMmVvVEF6bDhpK2xTV0hvV0xm
cU5BY2UyUHRQWFdXNGQ5OTkyM0xVMUx5dFl6enp6VFZIbGZmZlZWMkhubm5RT21kT0N6M0hMTAp1
U0IvMGtrbitRN1lGRk5NVVZQT0xydnM0bW5CazEycStlZWZQeXkvL1BKWkduaHQ3NzMzRHF1dnZy
b3JBMW1FM2NCN24zNzZhZmp6Cm4vK2NEeTY5UndrOThNQURTK05TSUVwb2ZzZG1xcW1tQ2c4Ly9I
Q1lZNDQ1Zkx4UE9PR0VsTFRMTlNtdFJ4eHhSSmU0Zk1BZWUrd1IKUmh0dHRERGlpQ082UXJQMjJt
dUhhYWFaSmt1eTIyNjdlWi9nMXdrbW1DRE1OdHRzNGJlLy9XMFdmK3FwcDRZbm5uZ2liTGZkZG1I
VwpXV2YxY0hab0RqLzg4RERubkhObTJMRVFzTjkrK3dYNkFINnBqalBQUERPZ0xPVUpQaDlyckxF
Q1k3UGhoaHQ2KzRqZmZmZmR3ekxMCkxPTi8rZlQxN252Q2R5aXN0SG5MTGJkMEhxQU81dG9mLy9q
SDhQMzMzOWRVQ2EvODVqZS9jWDVZZWVXVnM3ajk5OSsvWmxFamk3QWIKZUdyTk5kY01wNXh5aXBk
SFcwY2FhYVFzeVFzdnZCRFMySTA2NnFpT1BlbW5ubnJxTE0zYmI3L3RQSFRZWVllRjBVY2ZQUXZu
aG5hdgp0OTU2WWFtbGxxb0pyM3BveEE4dnZmUlNvQzRJbnBsNDRvbTlIeWoxaWNyNDRaVlhYZ2tI
SDN4d2dGOUhIbmxrVDdybm5udjZ3Zys3CjFkelQ5MWJ3ZmZmZGR3UHpBNTZZZlBMSlUvVU5yMzNK
RCsrOTkxN1lhNis5NnJhUHVFa25uVFJzczgwMnpoZkxMcnRzVGRxKzRJZWUKNEZYVGVIdG94M3Vi
ZDFSZno1Zis4dDR1NHF0bklTQUUyb0JBcktDd1graVM0b1liYm9oV2RUUWh0MHRjQ2pCQkx0MUdV
MGc4L1dLTApMUmJ0aHl3THo5ODBreWFmdnV6KzY2Ky9qdmJqR20wbkpxNnp6anJSQklvc21RbHIw
UVRRYU1KWW5HU1NTYUw5aUVmN29mWjRFeXlpCi9kQkhFMzZ6OU1jZmYzd2NmL3p4czJjVHJPTWYv
dkNIYUVKT3RCK0t1UERDQzBjek4vUDR4eDU3TEpvNVZ2enJYLy9xZFl3enpqalIKaER6dnErM3NS
UHZSanlZY3hnY2VlTURUbTJsU1hIZmRkYU1KMzlFRXdqamxsRlBHNmFhYkxtdFBWdWt2TjJWamtF
OWppbDMrMGU5TgpXSW5ISG50c2wvQldBa3o0OStSLyt0T2ZzcjVXNWFlUEpqelhKQU5MRXhxakNW
R09TNHA4NnFtbm5DL2dwZnlmbWZLbEpORUVpVGo5CjlOTkhFL2dpdU9YSlRQMmlDWDM1SUw4M3dh
cExHQUh3Z0FsbXBYSE5CRkxmRGp2c1VEZHBrV2Z5Q2UwOFVVMGZVMy9oRlJPd1BhbnQKS3BhbU1U
UEhyQ2o3UVhZc1RZQ01aZ0xwNGFhQWVCaDhuOGlFUmU4djlkanVud2VEaSszaWxOYVIyZ09mUXFa
QVJsTUlQYTBKTTlGMgpCMk1SMTNieTNZNDc3aGpwMDdERERodk43TTNiY004OTl6UnNLMjFPZlla
UFRPR3RtLzZtbTI3eU1obEQ4cGxTR1cxbnpzUDRaeWFZClhmTEN4M1ptTFV0ei9mWFhSeFBLb3Bs
bnhnOC8vREFMdC9Oam52ZUtLNjdJd3ZJM1pmTzNHWDVnRE5PNHBDdjE1K3NwNHdmYitmUjgKdG9Q
bnpZQS9UQUdMcHJSNXVKbkNlbmdyK0RMK3pHSCtiUEVwd3F0RjZrLzhjUExKSjNmQkxtSDQ2MS8v
T3RKVytqRHV1T042T2xQVwphN3JUU1g1SUZiVVRyMVFtMTNhOXR5bXJOK2RMOGYxQy9WQmZ2cmVw
djJ6K0VpNFNBa0tnWndoMDFTNEs1WlZOUGdSN1h1Ym5ubnR1CklYWDU0MmVmZlJZWFgzeHh6NFBB
ZGMwMTEzUkoyRXlhTHBrS0FmeklKaUVmSVlZMm9oeEF2TVJzTlRtYXVWaTB3K2d1MUc2eHhSWWUK
WitjVm9xMkVSZHFXcUNoTXJyVFNTdEZXYVQyYUZ6eUNuSzBPK3pOMTJncHl0SE1oOGJMTExuTUZo
UiszRlZaWXdRVTUwcU8wOEdPSAowSWdTTnUyMDAzb2JycjMyMm1qbkNsd0JzVlhVVkgzTnRXd01T
RUJmRU1CUW5oWmNjTUdJUUo4SUJRUmhHeVVId1FQQjBuWXhVblJzCnBLdzFVcllvZ1BhWEtWWm5u
SEZHdEIyUGFDdnFjZHR0dC9XNlU0WFViVHRNcFFvRGFjREk3T0pkV1VPNXl4UGpBMTRJcUhmZWVX
Y1cKaFdCOXlDR0haTSswMjNZR1hFbGtiRkR5d09mdXUrLzJOSzBvb1FnSFYxOTlkVnhsbFZYaXpU
ZmY3UG56Q3Nqamp6L3VncWp0OWtUYgprZkQ0SXM5a0RTdmNVRFlDcysxMk9JL21CY3FVRktYRVZz
QWpQQUVmSjc0bTNremJQT3lzczg1S3lhT3RTcGNxUi9CWGZoNlFBY1hDClRDR3p2TnlnY0J4MTFG
R2VOZ211OEFoNGtwOC9NMHYwUEozaXUxZGZmZFdWVk5zVnFHbGI4UUZlTVljWFB2L21tbXV1WW5U
MmJMc0QKcnJobUFiL2NuSGppaWQ2Znl5Ky92QmpseitZY3c5OGJ0Z3NhODhvd2tiWkw0L3h0NXFm
UmR0ODh2ZTJTZVhtTVZ4blZtNzhwYlRQOAp3UGpjZSsrOS9vNWhyRkVxRWhYNUliVUhCU05QMUlN
eWE3dGlXVEJ6ZzdFMTV3aFpXRDE4R1IvNlRYcVVQWGdMR2lqOFlMdFRjZlBOCk44LzZ5UTN2RE43
VHRsTlVvNURtRTdXYkh6cUZWeWZlMitEUTZmblMzOS9iVmZNM3p5dTZGd0pDb0hrRXVxV0FzQ0xP
anhBcmdzMFMKQXRWZi92SVhYK0hreDh0TWNycGtiU1pObDB5L0JKaWR2Z3RXK1ZVVUJKQzBVb253
eVE1RkluWXo4b0l1N1VGQVRwUVhKaEgrRUtyVAppak5wVUY2U0FzS3pIYXFQdi92ZDc3aDFzak1I
dnVvSVJ2eXh3Z1ptQ0xVUVAzcG1mdVAzL0tNOTdKU1VVZGtMa05YYmlTYWFLTnNWCm9Id3pHY215
bzRDd3k0T3l4ODRCUWdzN0xRZ2hVQ05sclpHeWhlQlRUN0dpM0VzdXVjU0ZFKzZMQk4rWTJVTXh1
T2FaVlY4ekY2b0oKZ3kvWWpVS0JROUZEdWZ2M3YvL3Q5U0JzSlRLVGswenBTYnNyS0djb2VGQXJT
cWlkV1hMQmlqRmp4dy9LS3lEd1ZsRUJ6L09NWjZqNApod0JMK1gvLys5L3JwbVM4R09maXpzMFlZ
NHdSemV3cXk4ZnU0bHByclpVOXB4dUVTUlRydEZOQWVKa0NRamc0MFI1VzV4T1o1eTVYClBOaXBn
NDg3eVhmVUNjYWJiTEpKcXI3aGxZVVErTHdlMVZOQVNBK21LT2VOYU9hWlovWWQxWHdhM2pOZ3or
NElBaTI4eVdxNW1hOTEKMlNGSytjcm1iNHJMWDV2aGg2UXdGSldkUEQrZzNES096TVVpSWZ3U2wz
Wi9VM2w1QlNUbEtlTDd3UWNmdUtCKzNubm51ZkpNZXdjUwpQNVFwSVBUMXZ2dnVjMHpZdFc1RTdl
Q0hUdUxWcWZjMm1IUnl2dlQzOTNhejg3Y1I3eWhPQ0FpQnJnaDA2eEJEc2dGdXhjc1NOdTNZCkpk
c1BlREJCMG0zWWk0ZWttMGxqUDU2bFpEK2t3WFlCYXM1dFlGT2JQOWVSUDlPQnpUc2VSeElSbDQ5
UDRWeHQxVDJZR1ZBWWM4d3gKczJCc3N2UHBzYldtWDRsTWFmRzZPVXZDMzBJTExlUTI3clppNjBt
SzlXRlRYdWFXT0pWWHZJSVZuc1k0SXdEUlR4UE1hNUp4VHNkVwo4TU1TU3l6aFhzcXdEVGNCeEwx
VGNZNkFjd3NRYlRKaHpRL3FQL2pnZzhFRWJqKzdRUnpuT0hBZm04aUVHcFRXWUt1cndjeGEzRmJl
CkJKTUEvbFZFZmJnZnplTmV6QU91dGh0V0Uyd3IxV0dVVVVaeEcvYlVIanlxWVhPUHJYTWl2Snls
OFRaaElSc1AyeWxKU1FKbkJyRFQKTjhIVmNVbXVsQms3bkNyUU40aDJMTExJSW42Znd2ekIvb0VW
OVlCdlQrZy8vL21QWnpmRnFHNHhuSGVZWVlZWmFqeWE0WTJMTXphMgpLNVRsdzU0OTd3WTdSY0Ju
SmlSbldLVHdzaXQ5aHZMNDQ0cmFsSUx3KzkvLzN2bWdVM3lYMm1PQ2RMQVYwZlFZT0FkaHlybWZp
OGtDCmY3bWh2U1lFRjRPYmVvWVhpL09sbUxHTUYyMDEyTDNmbVltUHY4dE1XWElISE1jY2Mwek4r
NkJZVmpQUHpmQURmQTNsMzcxRmZ1QjgKRE84anpxd1V5UlJhRDByenBCaWZmeTdpaTlkQzZ1TGNF
bWVPR0t2QndBKzgvNWhuVmVmYzJzRVBuY0tyays5dGVLS1Q4MldndmJmegpjMFQzUWtBSWRCK0I0
YnFUZGNZWlovUnNWUzlzRXRtcXFndHI2ZENtcmRRR016bHhnUndGaEIrelp0SlV0ZE5XL1dvT3Zs
ZWxieVdlCmJ6ZllUa3FYTEhrRnBCaEplbjdVY0V2Y0NhSnVXM0VQS0JWbSt1VHVZdkUwbGljRWhF
UWM3b2I0MWduZlBDbFQxb2luckViS1ZsNngKSW4xU3JCQ1NxeWdKVHh6dzVNQjBHYUZnRkFWK0Ry
RGJqcE1mQ0VZWjRXQTAzNU5KMzVSSjVjQmp0QytSN1pwa1NsWUt5NDlabFJLYQowcVlyWmFDY3di
L044SDZxczk0VnQ3eTJzdWg0MTB0RE9JcXA3V0prU1d6M3h6RmluQktoWkptSlRuck1yamlEZ0M4
WXB5cXk4eGVlCkpPRlB2UWo0ZWNXN1UzeVgycGJIbWpDVUtoUStEZzNuMjBGY2FpLzNyUklIdVMr
NDRJS0cyU2cvWVVGQ3ZpTmtaa2MrOWh6cVIyR3cKYzFhTzdhcXJydHF3ckdZaW0rR0h0RWhSeFE4
b3BHVUtpSzMyKzZMRnIzNzFxOG9tRmZGbExEaTh6bCtpd2NBUEhMYkcyVUJhakVoOQpLMTdid1Er
ZHdxdVQ3MjF3Nk9SOEdXanY3U0pmNkZrSUNJSHVJZEN0SFJCV2tGbDVQOGM4V2RWYmdUUlRIVzhS
aWdIZkI4a1R3dS9rCjVra2xmUml3bVRUNS9HWDNDR0FJMTdoT1RZVHd3RXAvVHduM3E2enlJemcz
UzNnVXdxdFBFaGpJUjN2WVRXa1g0UVZxWC9OMmhkY3AKVnFtTHdsdStIdkRoUmM5ZkkyV3RTdGxD
c1VKSlFMSEsveUZJTnlJempRdDRZSUtxVnA3ejVZQWZnblhhNlVDQlpmV1o4c3k4TEo4MAo0TW9a
QmNUTXIzeXMyRFVoZlR1SlhSRjJ0TXljckVmRndrdEhIbmxrWU9XY1ZkRjZCTTg4Ly96ek5Vckt2
UFBPNng3bHpIRkJsbzN4CkxlNkFNQWY1Vm8wNVpBajV0Rm1taWhzejMvSVVSYjdxQk45Vk5LV3Qw
ZUIwM1hYWCtjSUhLL3JORW5PWFZmRGtVWXp4dzdzV093TXMKb3ZTRW11VUhoR1FFWnQ2ZmllcnhR
MUVCUVdtMmN6N3VGUzNsYmVXYStLR1laNkR6QXp1NS9CYTE4bDRDZys3eVF5Znc2dFI3bTM1Mgpl
cjRNcFBjMmVJaUVnQkJvRHdMZFVrQVFRRmw5Wnp2ZkR2WDVDbXUrT1haWU1lQk9GQUhJemgyNGtK
VVgzbkhweUFzem1mWTBrNGJ5CldjbkZwYWdkQU01WDUvZDI0TmhYNXZnd0lqOGsvT0V5MGp4ZWVi
d2RxQTM4SlVMd3lBc2Z4UEdjVmp3eFcwbm1DcFROYmdZcnNZa1EKQkJERzA0OHlmYzJYdDhFR0c3
aWdqeGtZSDJ6a3czeTRzVXpDQytValJDZWkvbFJXQ210MFJaaXdnOTR1eERZU1lGTVpDQ1BnaDB2
WgpSc3BhbGJMVkhjVUtuREFYTTl0eFg4bG5CYjlad21RTHdrVnZJblpEd05mT0ZOV3M4c0pQdUVO
Rm9PQURnbmZjY1VmSzByWXJDaHdtCkEzYitJN0FiMHgxQ1VXYm5qL1p5YlVTWUxESnVhYTZRRm9V
QWZzd1RZNHF5bHR3SXMvT0JVb3BwR2F1ajdhSk84VjI3MmxkVkRnb3EKdTRHWUFUTC9rdGxUVlQ3
aTJYRmpWeTBSSytMLytNYy9YQ2xoTG5hWFd1RUgzQldqOUtCY0o2ckhEM21GbE4wZVhNM2FXU0Iz
TzV2eQo5dlE2a1BtQjhXY0JBRE5WM25zc1hMUkMzZUdIVHVIVmlmYzJXUFRHZkJrbzcrMVdlRU5w
aFlBUXFFYWdWb3FwVHArbHdKODhLMzhJCmZId1ZIR0VIRXdtVUEreEYrYUZEU0VJQXdpWVpmK3Vr
NDVtUHVxRzQ0QU1mYWlZTjZkamQ0QnlKZVNYeTd6TVFsZ2pCR0dHQUZWOU0KeEJESStOSEZWQUZC
RVZNbEJGTyt5STZTd1QzbFlWS0JjRXNhYk0vWnJXRzFuYkl3VmNJUE92YnZDSnowZ1h5Y0ZVRG9a
eVdTdmtEbQpiY3QzWURnandZb3piV0NsbnBWeUJGYmF3UWY2MkNuZ3ZBUUNNa0lFdHJ2WWExTXVx
M0RzbW1CaVZFVW9XUHlBOG9ORzJYejBEd0UwCktWRGt6eXMwZkpXY0w3MnpjNFg1QmQ5TVFGbGpO
UTQ2Kyt5ei9Yc2FLRnZzcXFCczhkRklLSzlzSWZpYjU2bUFZb1g1Q1VvYUdLRVUKUUp4Tm9GMG9W
UFFQa3lYcVFVaENJVUFKZzI4Z08zemQ1WnNVLy9yWHYxdzRaRmVIRmVaa1pwVVgvTWhMMnloNysr
MjNkNU1vd3VnVAo1eUxNR1lDUERXRjVvazM4Sldxa2hCWlgvY21Ea2dtKzdPREJ1L0FGcGduSkZD
cXZ0S1k2OGxjVUx6dXdIUDc1ejMvNnZFbjRwalNNCm9YbFJTNDkreFdRR2diUEtaQVoraHppWEFs
K2o4TE1Jd0h4aHdhQmQxQ20rYTFmN0dwWER1U0VFVHVZWDg1djNFcnpJR1FDd3NnUEMKTmRsNVo4
RFB6SDNPZXNDTGVVV1l4THp6R0VmbUJjb0I1NUthcFNwK1lIN2xkM1FwbHc5cThoNnBJdmpoeWl1
dkRIWXcyZDlOOUkxMwpWZkY3RjFYbFZNVVBWSDdnREExanhmeUNKeGhYdmpuQmpqNm1xNTNpaDA3
aDFlNzNOdVBlVy9PbHY3KzNxK2FBNG9XQUVPZ21BaVpRCk5hU3dIekpYWXpKQkx1S1cxSDVRSS9k
RndrOCtoTHM5VzVsMWw1L2RTVU1lKzRGd2oxTEYvT25aaE4rNjN4cEphYnA3TlFFMDRna0cKS3V0
bldibDRQY0ZqalFucVpkRk5oWldOQVZqaTl0ZE1RdHkxSmg2S1RPQ1A5aUU1OTB4alNvUzd6TVQ3
RWE1cStjNENyandUbVhDUworY0EzWWNWZGZLWTRVOXpjZmFtZDYvRHZxZUNLMW9UdVNEaGtDb2Qv
RDhHRWRDK0RzaUJUcHFLWktIR0tPL0t0QVJPZW9nbEwwUTdCClI5dUI4VFMwaFRhYnNCNnBsN1Js
ZnlZb2VYcThMeEVQamtXaWJGTjJzN0ZJM3RsSWI2dlQ3dTBKZDhEa3hUMnlDZUxSRkVOM213dS8K
MGo5VGt0MVRHQjV3OEdSR1hoTklQQTl0NU5rVW5jaTNGV2czTGt6eEVrWGZ3TnMrRnVodUtzbHZn
cXluNXhzRVplMmxMWFlJdnRRTgpOWDB6QmRIelUyZitENjlEVlFRL21oQVZ3YzJFcDJnS2JkMHNw
RE9odVVzOFh0NVNmNG0wWFFKL1R1NVdDZXNrMzFHKzdaVFZlUE5xCjVLV0o4V2RNNnBFcDBUVnVl
SEVSamNjcTVqR0VhMnJtQzJPWHg3dDRienRJbnA3ODlsRkl2eS8rd3lQZTMvNzJ0Mkt3UDVmTlh5
SWEKOFFOekZiZlR4YmJnR2hpWDVWWEVYTVYxTmQ5RDRodEx0c3RTbXFVVmZNM2sxdHVVTDJnZzhV
UGVDNWFab2JwSFB0d3FRN3lqd1JvdgpoWjNraDA3aTFjNzNOcGowMW56cDcrL3Rldk1YakVSQ1FB
aDBINEVoWkxVWGIxMGFzdjhRKytKZ3d5UjE4M1lpZ3BWNmJKN1RnZVpPCjFOSGZ5bXcwQmlaNFps
ODdaamVpYUk2RnVSczdKRVdUSGZySTBHTWFWbHpWSlk3ZEUwekh5TXZPU3Y3Z0tmR3M5ck5qdzBw
cldkbWsKZ1VoSGZEdFg0ZjlYOHYvYVQvbnNSRUhzekpncldtOHZaa3VzWnJJanhkZTl1K01NSUpY
TjE5RFRHWlJVZDNldUpud0V2ckk5R0toVApmTmRKYk1yNHVGMzFOU3E3M3Z3VlAvd1AvVWJ2b1hh
TlQxazVqY2FzTEgwcllWVmxkMnIrdE91OVRWK3IrdEFLSHNXMCtiTDcrM3U3CjN2d3Q5a25QUWtB
SXRJYkFnRk5BRUlyeFhqUTBrVjZBMWFPTldRcktCbTZHODRTNW51MWF1SmViZkhnejk1amZZR0xE
MVZiYW04bWkKTkVLZ0N3S2F2MTBnVVlBUWNBUUd3bnRiODFmTUtnUTZnOEJ3blNtMmM2VU9iY3BI
NTVBY1hDV2IrVlRZWVljZC9GQTNOdjJzTU9MdAppKzkrNEdLekZjTExHK1hoT1lvelRsSStXa0ZQ
YVlXQUVCQUN6U0dnOTNaek9DbVZFQmlNQ0F3NEJXUXdEb0w2MUhNRWNBeUF3c0VCCmY4ek8rUGhp
cTRwSGFnV0hmOWxKNFpBeTN5QVJDUUVoSUFTRVFQc1IwSHU3L1ppcVJDRXdVQkFZY0NaWUF3WFlk
clpUVzhEdFJGTmwKQ1lIZVJVRHp0M2Z4Vm0xQ29KMElhUDYyRTAyVkpRVCtENEgyK2VmOHZ6SjFK
d1NFZ0JBUUFrSkFDQWdCSVNBRWhJQVFLRVZBQ2tncApMQW9VQWtKQUNBZ0JJU0FFaElBUUVBSkNv
Qk1JU0FIcEJLb3FVd2dJQVNFZ0JJU0FFQkFDUWtBSUNJRlNCSm82QTFLYVU0RkNRQWdJCkFTRWdC
SVNBRUJqa0NQU25iNkVOY3FqVnZhRUlnYWE4WUdueTlTMUg2QkJjMytLdjJvVkFUeERRL08wSmVz
b3JCUG9XQWVhdlNBZ0kKZ2ZZaklCT3M5bU9xRW9XQUVCQUNRa0FJQ0FFaElBU0VnQkNvZzRBVWtE
ckFLRmdJQ0FFaElBU0VnQkFRQWtKQUNBaUI5aU1nQmFUOQptS3BFSVNBRWhJQVFFQUpDUUFnSUFT
RWdCT29nSUFXa0RqQUtGZ0pDUUFnSUFTRWdCSVNBRUJBQ1FxRDlDRWdCYVQrbUtsRUlDQUVoCklB
U0VnQkFRQWtKQUNBaUJPZ2hJQVNrQTg5RkhINFVYWDN5eEVOcWV4NTkrK2lrODk5eHo3U2xNcFF3
b0JQNzczLytHRlZkY01iejUKNXBzRHF0MXFiR2NRRUQ5MEJsZVZLZ1NFZ0JBUUFnTURnUUd0Z0Z4
MTFWVmh6am5uREVPR0RBbnp6ejkvdU82NjZ6TFVFZlRYV1djZApqL3ZESC80UTNuMzMzU3l1MGMw
Kysrd1RWbHR0dFVaSnVoWDN5Q09QaE5sbm56MXN0ZFZXM2NyZmFxWXZ2L3d5dlBYV1c2MW1LMDNm
CkhjWHAvZmZmRDdmZmZudjQrT09QUzh2c2kwQXdlZU9OTitwV1hhWjhQdnJvbytISEgzLzBQTjk4
ODAxNDdiWFg2dWIvN3J2dnd2MzMKMzE4YXoxamNlT09OQVN3SE03V1Q3d1l6VHVLSHdUeTYzZTli
TytlUDN0czlmMjkzZnlTVlV3Z0lnU29FQnJRQ2dxS3d6VGJiZUI5MwoyR0dIc1BMS0syZjluWDc2
NmNPRkYxNFlKcHh3d25ES0thZUU4Y2NmUDR0cmRIUEFBUWNFRkp0MjB6enp6Qk1XWDN6eE1Qend3
N2U3CjZDN2xuWGJhYVdIc3NjY09sMTU2YVplNFZnTzZvemlkZnZycDRhS0xMZ3AzM1hWWG1HbW1t
UUtDZVY4VHZERGVlT09GODg4L3YyNVQKaXNybnl5Ky9IQmkzMjI2N0xWeDg4Y1hPUzBjZmZYUnAv
b2NlZWlqTVBmZmNZWTAxMWlpTkh4b0MyOGwzUXdOZWc3MlA0b2ZXUnJpZAplT205cmZkMmE5eW4x
RUtnOXhGbzZrT0V2ZCtzNW1zY2E2eXhQSEc2NW5NT045eHd2dXVRRDZ1NlIzRG5yNTMwODg4L2gy
R0dHU2JRCkhxNmRwcTIzM2pyc3UrKytiYWttS1U3UFBQTk1VK1Y5OWRWWFllZWRkdzZmZi82NTkz
VzU1WllMQ1BJbm5YUlMySFhYWGNNVVUweFIKVTg0dXUremlhY0VHQllHZHJPV1hYejVMd3lyZTNu
dnZIVlpmZlhWWEJySUl1K0VIKzlOUFB3MS8vdk9mODhHbDkrdXZ2MzQ0OE1BRApTK05TSU1wbmZz
ZG1xcW1tQ2c4Ly9IQ1lZNDQ1Zk94T09PR0VsTFRMZGI3NTVndWJicnBwT09LSUk3ckU1UVAyMkdP
UE1OcG9vNFVSClJ4elJGWnExMTE0N1REUE5ORm1TM1hiYnpmdUVvanJCQkJPRTJXYWJMZnoydDcv
TjRrODk5ZFR3eEJOUGhPMjIyeTdNT3V1c0hzNE8KemVHSEgrNjdnUW03VzI2NUpleTMzMzZCUG9C
ZnF1UE1NODhNS0V0NVlnZVIrY1BZYkxqaGh0NCs0bmZmZmZld3pETEwrRjgrZmIzNwpudkFkQ2l0
dDNuTExMWjBIcUlONTg4Yy8vakY4Ly8zM05WWENLNy81elcrY0gvS0xEdnZ2djM5ZEV6ZHdXWFBO
TlgweGd2Sm82MGdqCmpaU1YrOElMTDJSak4rcW9venIycEo5NjZxbXpORysvL2JiejBHR0hIUlpH
SDMzMExKd2IycjNlZXV1RnBaWmFxaWE4NnFFUlA3ejAKMGt1QnVpQjRadUtKSi9hNWdWS2ZxSXdm
WG5ubGxYRHd3UWNIK0hYa2tVZjJwSHZ1dWFmdnppMjY2S0tCZS9yZUNyN3NJRE0vNEluSgpKNTg4
VmQvdzJwZjg4TjU3NzRXOTl0cXJidnVJbTNUU1NYMEJpM0ZlZHRsbGE5TDJCVC8wQksrYXh0dERP
OTdidktOWXZPdkwrZEpmCjN0dEZmUFVzQklSQUd4Q0lGUlQyQ3hVcCtqYjZra3N1aVFaRHZPR0dH
MG9iWWdKS0ZtNG1RWEhkZGRlTkp2UkdFOFRpbEZOT0dhZWIKYnJwb1A5aWV4Z1NNYUQvNDBZVGdM
TS9YWDM4ZDdRYzdIbnJvb2RGTXVxSUptRm5jRjE5OEVVMFFqQ1p3eDFWWFhUV2FzQlJKbjhpRQo4
V2ptWDlFRW8yZy9MbkhoaFJlT1N5KzlkSXFPOXFNZWQ5cHBwMmhDUVRSVHN2akFBdzlrY2ZtYnFq
SDQ0WWNmOHNuOTNvU1ZlT3l4CngzWUpieVhBaEg5UC9xYy8vYW1tM1kzS29BOG1QTmNrT2Y3NDQ2
TUpqZEdFcUdqQ2J4YjMxRk5QK2RneGZ2bS80NDQ3TGt0amdrUzAKM2F4b0FsOWsvUEswNUpKTFJo
UDY4a0YrYjRKVmx6QUNUR0NQSnBpVnhqVVRTSDIyMDFZM0tmMjBuYmJTZURQTnF1bGo2dTg0NDR3
VAo3UWZlOHp6NzdMT2xhVGJiYkxPc1RQdEJkaXhOZ0l5ZmZQS0poNXNDNG1Id2FDSVRGcjIvMURQ
WlpKTjVNTGpZam1CcEhhazk4Q0ZrCkNtUTBoZERUbWpBVGJWY3dGbkZ0SjkvdHVPT09rVDROTyt5
dzBjemV2QTMzM0hOUHc3YlM1dFJuK01TVSs3cnBiN3JwSmkrVE1TU2YKS1pYUmR1WThqSCsyKzlV
bEwzejgrdXV2WjJtdXYvNzZhRUpadEoydStPR0hIMmJoWnJybmVhKzQ0b29zTEg5VE5uK2I0UWZH
TUkxTAp1bEovdnA0eWZyQ2RUODluaXI4M0EvNHdCU3lhMHViaHRoRGc0YTNneS9nemgvbmJlT09O
STd4YXBQN0VEeWVmZkhJWDdCS0d2LzcxCnJ5TnRwUS9qamp1dXB6Tmx2YVk3bmVTSFZGRTc4VXBs
Y20zWGU1dXllbk8rRk44djFBLzE1WHViK3N2bUwrRWlJU0FFZW9aQXBYYlIKM3lkZkt3b0lBdisw
MDA3ckF1MjExMTRielo3ZkZSQmJ2WFFVN2R4Q05KT3VpRkNZaUIvdXBCZ2dHUEVqOXRoamozazBp
c041NTUzbgo5d2lSODg0N2I4d3JQQ3V0dEZLMGxWMlA1MGNCNGM5V2xQMFpvV0NGRlZad1FZODRG
QlIrREpOUTZZbCsrVmR2REc2OTlWWVh3RkNhCkZseHd3WWhBbndnRkJHRWJaUXZCQThIU2RqRlN0
Q3RLOVJTcjdpcE9aNXh4UnJRZGoyZ3I2bkhiYmJmMXVsT0YxRzA3UzZVS0EybkEKd096aVhSbERV
Y3NUNDhLNElhRGVlZWVkV1JTQzlTR0hISkk5MDI0VVFoUStjRWJaUkVDOSsrNjdQUTAvWkxZTEVt
MUhJRTR5eVNUUgpWcExyS3A4SUIxZGZmWFZjWlpWVjRzMDMzK3o1OHdySTQ0OC83b0lveXFmdFNI
aDhJd1VrYTZUZFVEWUNzKzEyT0QvbEJjcVVEbjZ5CkZmQUliOEp6aVFlSk45TTJEenZyckxOUzht
aXIwcVhLRVh5ZTUxa3lvRmlZS1ZtV2x4c1VqcU9PT3NyVEpzRVZaUm84aytCbU96eWUKcDFOODkr
cXJyN3FTYXJzQ05XMHJQc0FyNzd6empvL3hYSFBOVll6T25tMTN3QlhYTE9DWG14TlBQTkg3ZFBu
bGx4ZWovUG5iYjcvMQpPVDdDQ0NQRXZESk1wTzNTT0gvUE1zc3MwWGJmUEwzdGtubDVqRmNaMVp1
L0tXMHovTUQ0M0h2dnZkSE9rZmxZOC81SVZPU0gxQjRVCmpEeFJEOHFzN1lwbHdjd054dGVjSTJS
aDlmQmxmT2czNlZIMjRDMW9vUENEN1U3RnpUZmZQT3NuTjd3emVBL2JUbEdOUXBwUDFHNSsKNkJS
ZW5YaHZnME9uNTB0L2YyOVh6ZDg4citoZUNBaUI1aEVZcWhRUVlPSEh4c3hlTW9UWW9VQ1JTR1Nt
UWk0bzgyeTIveTZzNVZkbQpFR3BZL2JRRHhmNGpuRmF2U1U4Y1A4NnNiaUl3SW9qbkZZb3R0dGdp
VTBEc1RJS3ZTcklnaWpHd0FBQWdBRWxFUVZTcXloOHJjT1JGCjZDMVMyUXVRMWR1Skpwb28yeFVn
djVrU1pGbFJRQkN3cjdubUdrK0RnTXFPRDBJSTFFaXg2b25paEVLSWNGSkc3S1NZMlVOWlZCYkcK
cXErWkMyWFAzSUF4T3dzb2FHWXE1Q3VYLy83M3Y3MGVoSzFFWm5LU0tUMXBkd1hsREVVVFFnRXhr
eVlYbU93d3VpdWlqQWxVVkQ3WgozVUpRWUV6UzdscGVBV0dzenozM1hNK2IvaldyZ0tUMENMQ1Uv
L2UvL3owRmRia3lYb3h6Y2VkbWpESEdpR1oybGFWZmJMSEY0bHByCnJaVTlweHVFU1JUcXRGTkFl
SmtDUWpnNEpmN2xHVExQWFJIRmd4MUQrTFNUZkVkOVlMekpKcHR3VzBuc1JzTG45YWllQWtKNk1F
VTUKYjBRenp6eXo3MzdtMC9CT0FIdDJSeEJvNFUxV3k4MThyY3NPVWNwWE5uOVRYUDdhREQ4a2hh
R283T1Q1QWVXV2NXUXVGaW54ZE5yMQpUZVhsRlpDVXA0anZCeDk4NElJNml5NG96N1IzSVBGRG1R
SkNYKys3N3o3SEs3ODdtekRJWDl2QkQ1M0VxMVB2YlREbzVIenA3Ky90Clp1ZHZubGQwTHdTRVFE
VUNuVCtRWUwrRS9ZbXdkK2N2RWJiY3RzS1ZIajB1eGR1UGM3Q2RoWnIwMk9seVJvU3pBU1lRMXh3
cXR4MFEKTHdjYmZWdXBEeHlFSDNQTU1iT3lzZU5PWlp1QzR1WFlLbXZnYjZHRkZuSWJlRnZSemRJ
M3V1R01BQWVlT1NNQTBTWXpLYWpKWXFZUwp3VmJ3d3hKTExCRk1BQTNZaHBzQTR0NnBhQ1BuRmlE
cU5HRXQySTVDZVBEQkI0TUozSUd6R3hCblZuQWZtOGlFR3BUV1lLdXJ3Y3hhCjNGYmVCSk1BVmxW
RWZiZ2Z4ZE5MUFFLanp6NzdyQ2JhVnFyREtLT000amJzcVQyY0o4SG1IbHZuUkJ3d1QrZDNURmp3
OFNHT2ZpWGkKekFCMitpYTRPaTdKTFRKamFhdTczamZTMG81RkZsbkVzOUhmUElFVjlZQnZUK2cv
Ly9tUFp6ZkZxRzR4bkhlWVlZWVphanlhNFkyTApNemEySzVUbHc1N2RkZ1d5NTNRRHY1bVFuR0dS
d3N1dTlCbks0NDlYTDFNS3d1OS8vM3ZuZzA3eFhXcVBDZExCVmtUVFkrQWNCRjdzClROak53dElO
N1MwTFQvR05ydkJpY2I0VTA1ZnhvcTBHdXljN00vRng1d1NtTEFYYkpRbkhISE5NTnJlTDVUVDcz
QXcvd05kUTNzTmQKa1I4NEg4UFpEODZzRk1rVVdnOUs4NlFZbjM4dTR2dmtrMDhHNnVMY0VtZU9H
S3ZCd0ErOC81aG5WZWZjMnNFUG5jS3JrKzl0ZUtLVAo4MldndmJmemMwVDNRa0FJZEIrQjRicWZ0
WC9rUlBDQ2JGZWl0RUZtVTE0YTNreWdyU1NHcDU5K3VqU3BtYWQ0blFqVC9EQkJDTEQ4CmtDRkE4
YjJIc2pZbEJZUTQwdHFaa05MeXF3SXB4MWJjWGFrdzA2ZUF1MWhidGEvSmhvQ1FpTVBkRU44NHdk
MXNtV0pGUEdVMXF6aVIKUGlsT0NNbFZsSVFuRG5qaVBybU1VRENLQWo4SDJHMm53ZzhFbzR4d01O
cHM4LzB2WHdiS0pJcGRJanlmSlNVcmhTWDhlZWJnZFY0WgpJaTRmbis3VGxUd29aMll5VlNtc2tM
YUtjTXRySzR1T2Q2TzBLTWkyaTVFbHNkMGZ4NGh4U29TU1pTWTY2VEc3d3Ivd0JlTlVSV211CkpQ
eXBGd0UvcjBTRFJTZjRMclV0anpWaEtGVW9mQndhenJlRHVOUmU3bHNsRG5KZmNNRUZEYk5SZnNL
Q2hMaHdOck1qSDNzTzlhTXcKMkRrcng5Yk9nRFVzcTVuSVp2Z2hMWlpVOFFQdnhUSUZ4RmI3ZmRI
aVY3LzZWV1dUaXZneUZoeGU1eS9SWU9BSERsdmpiQ0F0UnFTKwpGYS90NElkTzRkWEo5elk0ZEhL
K0RMVDNkcEV2OUN3RWhFRDNFQmp3T3lBSS9md3dsUDE0SUtRbUJhVTc4Q0RVSWJEanhTa1JBZ203
CkJ3aC9adDRTY0hlWWlHOWZtRzIycjFqai9wZWRBWVR0TXNMakVGNS9ra0JCR3NwbTU2Ulp3Z3ZV
dnVidENxOVRyRklYaGJkOE9mU0YKRnoxL2pSU3JaaFFubEFRVXAvd2ZnblFqTWpPMmdBY21xR3Js
T1Y4TytDQllwNTBPTXpVS3JENVRucG1YNVpNR085RHZDb2laWHpudQo3SnFRdnAzRXJnZzdWbVpP
MXFOaTRZc2pqenpTVjg1WkZhMUg4TVR6eno5Zm82U3cwOFpLdGpsUXlMSXh2c1VkRUhpUjc4N3dQ
Wng4CjJpeFR4UTM4RFJYNXFoTjhWOUdVdGthREU5OE1NcE16WDlGdnRuRG1Kb3NOeWFNWTQ0ZDNM
WFlHS0tzbjFDdy84SjVEWUo0ODU0bXEKSGo4VUZSQlcrTzJjajN0RjYwNWJFejhVOHc1MGZtQW5G
K1d5bGZjU0dIU1hIenFCVjZmZTIvU3owL05sSUwyM3dVTWtCSVJBZXhBWQo4QW9JUWlhdUpTKzc3
TEthSFFjRTFJTU9Pc2pkaXVhaHdoeUZ1RVRzWk9SL1dIbkd6QURCenc0eCsycWZIZHowSHlkK29I
QkRhUWVZCjNRd0JNeDZVaUVUc1FxQ1lJSlNRbHgwT1ZtOFRJVHl3ODBGOUcyeXdnU3NDbUhUWk9a
R0E4b0tieXlUY3BEejFyZ2dUZHREYmhkaEcKQW16S2p6RENTamd1WlJzcFZwMVFuT2d6NW1KbU8r
NHIrYXpnTjB1WWJFRzQ2RTNFYmdqNC9lVXZmNmxaNWNWVURIZW9DQlNNeFIxMwozSkd5dE8yS0Fv
ZkpnSjMvQ096R2RJZFFhakZqb2IxY0c1R2RPZkJ4eTV2Qm9SREFXM2xpVEZIV2todGhkajVRU2pF
dFkzVzBYZFFwCnZtdFgrNnJLWVllTTNVQjJ2bmdQSkxPbnFuekVzNkNSLzU0UUN4Ly8rTWMvWENs
aExuYVhXdUVIM0JYemZ1RzlsNmdlUCtRVlVuWjcKY0RXTEtTWnVaOXRGQTVrZkdIOU01ekJUNWIz
SHdrVXIxQjErNkJSZW5YaHZnMFZ2ekplQjh0NXVoVGVVVmdnSWdXb0VCcndDUWhmdAo0TGF2OEdK
V2hLMzY5dHR2N3oreXJQeW1jeG1rNDV3Q2dpbDI3ZGpNL3V0Zi8zSmhGV0VOUllKekhRaVZtRkJo
MTgycVBnSUdpc09NCk04NFk3QUM3ZnlVZDh3ZStGY0FLUEhXekVvcjVCR212dlBKS0Z3NzUvZ0pD
S3F2KzVFVWhRVkZnOVpLUDJoSEdTajczMkdOam5zUjUKanFxZEJQb0JvUXp4QThvUEdnb05ILzFE
QUVWeDRnL0tLMVo4bFp3UE4xSkhJOFdxcDRvVFp4Tm9GNG9jaE1rUzIvZmdqVUtBc3NpSwpNV1NI
ci8wN0QzenJJZjJCUDhJaHV6cVV3NDg4bEJmOGVPYURnQWlBakhVaXZnUEJ1UWcrU29uLytQUU5o
QlJQbTFLN0NFUFI1QzlSClh2bE1ZZmtyT3dwZ0M1L3gvUVo0TGIvemhuS2JiT3p6K2RJOWlsY2Fn
OFVYWHp4d25pWlBqR0hDSVYxUmVCRTRxMHhtVUVBZ3pxVmcKRHNjNDAwNCtxb25TMUM3cUZOKzFx
MzJOeXVIY2tIbFljM3o0RmdwS0hMekltQktYTUU5WHpreHgxb2w1RE1HTGVVV1lNTXpDNEVYbQpQ
OHBCSzFURkQ1aDNwYmFrS3gvVVpJNVdFZnpBKzgwT0p2dmNZWjZjZmZiWlBqZXE4cllTUDFENWdU
TTA3STd5SFNMZTN5eitzSXVGCnlXRW4rYUZUZUxYN3ZRMFA5Tlo4NmUvdjdWYm1nOUlLQVNIUUFn
TDJzbTFJWVQvZXh3T0Q4RWhqeWtURUwzODd5UVJoLzJaSFdabkUKbWZtRXUwd3RpOGRkSnQ1aklC
TjJ1eVRCS3dvZWJmQjJWSS9LeGdEWGhiamtOSk1RZDYySmh5SmJGWTMySVRuM1RHT21XZTR5RSs5
SAp1S3JsT3d1NDhreGtpbExtQTkrRUZYZnhtZUpzdGRUZGw1b2c2OTgrd1JXdENiT1JjTWcrVHVY
ZlE3Q1ZWeStEc2lCVE1xS1pLS0g5ClJQdnhpcmh6dGEraVJ6c0VIMjBIeHRQUUZ0ck1XRkV2YWN2
K2JMWFcwK045aVhod0toSmwyeG1QREZlOGJLV3lURGx4YjArNEF5YXYKN1pDNTF5eFQvTnh0TG01
MDZaOEpvZTRwREE4NEN5eXdnT2UzVlZIUFF4c3BEeTlZZkZ1QmR1UENGQzluOUEyODdXT0I3cWFT
L0xpRQpKVDNmSUNockwyM0JUVE9leWNySWxKT3MvYWtmWEpPcjU3SThLUXpld3JzVnVPR2hLSDMz
SXNYbnIvVzhZT0d4TGZXWDlLWUkrbk55CnQwcFlKL21POG0ybnJNYWJWeU12VFl3L1kxS1BiUGV4
eGcwdkxxTHhXTVdjaEhCTnpYeGg3UEo0Ris5dEI4blRrOTgrQ3VuM3hYKzQKZmY3YjMvNVdEUGJu
c3ZsTFJDTitZSzdpZHJyWUZsd0RtNU9BMG5yeWdjeFZYRmZ6N1NMYkNZNjJ5NUtQenU1YndmZWNj
ODd4Tm1XWgo3V1lnOFVQZUN4YWV3c3c4MTkwcTB4L2V3V0NORjhKTzhrTW44V3JuZXh0TWVtdSs5
UGYzZHIzNUMwWWlJU0FFdW8vQUVMTGFpN2N1CkRkbC9TSWo3Tmt4U042OGkyb05Bb3pGZ0JUK3Q5
TFA2WGpUSDRndkc3TmdVVFhab0dVT1A2VmR4VlpjNGRrOHdEU012T3l2NWc2ZkUKczlxUDNUUXJy
V1Zsa3dZaUhmR2NHMmszMFg3S1oxY0pNdVVtbUN0YWJ5L21acXhtc3N2QTE3MjdjOWcvbGMzT1dE
cUQwcE0rbVBEaApPMmM5S2FPLzVPMFUzM1d5ZjJWODNLNzZHcFZkYi82S0gvNkhmcVAzVUx2R3A2
eWNSbU5XbHI2VnNLcXlPelYvMnZYZXBxOVZmV2dGCmoyTGFmTm45L2IxZGIvNFcrNlJuSVNBRVdr
Tmd1TmFTSzNWL1F5QXBIN1NycUh3UVZqUmRJaXdSdHVObHlnZnhtRGNsVHp0RjVZTjQKRG1Kalps
WkZwT3NVMGY2a2ZOaHF1THRGNVZ4SW51akg1TGtEdS9tNHFudCtKS21qR1E5ZlZXVVJqOW5lWUtG
TzhWMG44U25qNDNiVgoxNTJ5eFEvL1E3L1JlNmhkNDFOV1RuZkdyS3ljc3JDcXNqczFmOXIxM3Fa
UFZYMG82M2V6WWFuc2dmRGViclpQU2ljRWhFQnJDRWdCCmFRMHZwZTZuQ0pqNWxOdTNjNmdidi82
c01PTHRpKzkrNEdLekZlSTdJWlNINXlnT3RadVpUeXZabFZZSUNBRWhJQVNhUUVEdjdTWkEKVWhJ
aE1FZ1JrQUl5U0FkMmFPc1c3cGhST0hBMGdOa1pIMTlzVmZGSW1ISDRsdzgyOGtFM3ZrRWlFZ0pD
UUFnSWdmWWpvUGQyK3pGVgppVUpnb0NDZ015QURZS1JrZ3pvQUJrbE5GQUoxRU5EOHJRT01nb1hB
QUVCQTgzY0FESkthT0NBUmFQL0o0QUVKZ3hvdEJJU0FFQkFDClFrQUlDQUVoSUFTRVFHOGdJQVdr
TjFCV0hVSkFDQWdCSVNBRWhJQVFFQUpDUUFnNEFsSkF4QWhDUUFnSUFTRWdCSVNBRUJBQ1FrQUkK
OUJvQ1RaMEI2YlhXcUNJaElBU0VnQkFRQWtKQUNQUWpCUFF0dEg0MEdHcktvRUdnVWdFWk5EMVZS
NFNBRUJBQ1FrQUlDQUVoSUFTRQpnQkRvY3dSa2d0WG5RNkFHQ0FFaElBU0VnQkFRQWtKQUNBaUJv
UWNCS1NCRHoxaXJwMEpBQ0FnQklTQUVoSUFRRUFKQ29NOFJrQUxTCjUwT2dCZ2dCSVNBRWhJQVFF
QUpDUUFnSWdhRUhBU2tnUTg5WXE2ZENRQWdJQVNFZ0JJU0FFQkFDUXFEUEVaQUMwdWREb0FZSUFT
RWcKQklTQUVCQUNRa0FJQ0lHaEJ3RXBJRVBQV0t1blFrQUlDQUVoSUFTRWdCQVFBa0tnenhHUUF0
TG5RNkFHQ0FFaElBU0VnQkFRQWtKQQpDQWlCb1FjQktTQkR6MWlycDBKQUNBZ0JJU0FFaElBUUVB
SkNvTThSa0FMUzUwT2dCZ2dCSVNBRWhJQVFFQUpDUUFnSWdhRUhBU2tnClE4OVlxNmRDUUFnSUFT
RWdCSVNBRUJBQ1FxRFBFWkFDMHVkRG9BWUlBU0VnQklTQUVCQUNRa0FJQ0lHaEJ3RXBJRVBQV0t1
blFrQUkKQ0FFaElBU0VnQkFRQWtLZ3p4R1FBdExuUTZBR0NBRWhJQVNFZ0JBUUFrSkFDQWlCb1Fj
QktTQkR6MWlycDBKQUNBZ0JJU0FFaElBUQpFQUpDb004UmtBTFM1ME9nQmdnQklTQUVoSUFRRUFK
Q1FBZ0lnYUVIQVNrZ1E4OVlxNmRDUUFnSUFTRWdCSVNBRUJBQ1FxRFBFWkFDCjB1ZERvQVlJQVNF
Z0JJU0FFQkFDUWtBSUNJR2hCNEcyS2lCZmZ2bGxlT09OTnpxQzNqdnZ2QlA0Uy9UeHh4K24yK3o2
K2VlZmg5ZGYKZjkyZnYvamlpL0R0dDk5bWNlbW1tVFFwYlUrdTMzMzNYYmovL3Z0N1VrU3Y1TzNr
bU5HQktoeCsrdW1uOE54eno5WHRLKzE3NjYyMwo2c2EzRXZIUlJ4K0ZGMTk4c1c2V3FyYlV6ZGhF
UkZYZFRSVGhTYXJ3YkxhY1p0TjFtaithYWNmNzc3OGZici85OWxBMjU1dkpQNURUCjlQWjREMlNz
MUhZaElBU0VnQkFZT0FoVUtpQXJyN3h5R0d1c3NjTHl5eThmMWxsbm5URHNzTU9HS2FhWUlxeTEx
bHBoNFlVWDl1ZnoKempzdlhIamhoV0c4OGNZTDU1OS9mdHQ2Lzhrbm40VE5OdHNzTExyb291SFFR
dzhOeHgxM1hGaDY2YVhEa2tzdUdkWllZNDJzSGdUVQpqVGJhS095NjY2NmVacDU1NWdrTExMQkFl
UExKSjF0S2t5WHU0YzFERHowVTVwNTc3cG8yOXJESWptVHZ4SmpsRzFxRnd5T1BQQkptCm4zMzJz
TlZXVytXelpmZW5uWFphR0h2c3NjT2xsMTZhaGZYa1pwOTk5Z21ycmJaYWFSRlZiU25OMUVKZ283
cWJMYVlLejJiTGFUWmQKcC9tam1YYWNmdnJwNGFLTExncDMzWFZYbUdtbW1WeWhiU2JmWUVqVDIr
TTlHREJUSDRTQUVCQUNRbUNBSUJBcmFObGxsNDJ2dlBKSwpsbXFra1VhS20yNjZhZlo4MUZGSFJS
TVUvWG1HR1dhSUJ4MTBVQmJYazV0bm5ua21UalRSUkhIampUZU90Z3FZRmZYenp6L0hQZmJZCkkw
NDc3YlJaMk5wcnJ4MVhYWFhWN1BuNzc3K1BzODAyV3pUQk5RdHJKazJXdUEwM1J4NTVaRFNGckEw
bGRiYUlkbzVaV1V1cmNOaCsKKysyaktaUmxXVDBNREk4NTVwaTY4YTFFZlBqaGgvR0ZGMTZvbTZX
cUxYVXpsa1RZN2x1MFZmc3NwcXJ1TEdIRlRSV2V4WG9yaXVzUwpYY3pmYWY3bzBvQmNnTzIreEZG
SEhUWGF6cFNIM25mZmZibllvZU8yYXJ5SERoVFVTeUVnQklTQUVCaHNDRlR1Z095ODg4Nis0MUZQ
Cm45cDY2NjE5WlpMNDRZY2ZQZ3daTXFSZTBxYkRNWVV4eFNNTU04d3dnVlh3RVVZWUljdEwrYWJr
QkZOQXNqQk1lREQ5K3VHSEh6eU0KZHB4enpqazFKaHZOcE1rS2JNTU5iVzRIRm0xb1NrMFJ4c0Ex
eiswYXM1cENjdy8xY0RCRjBsTU5OOXh3UHM2NUxEVzM3V3dmdXluVApURE5OVGZrOE5OdVdMaG5y
Qk1DSDdNamRjODg5V1lwNmRXY0pTbTUrL1BISExxSDE4Q1JoV2IxZENtZ1FVSmEvbmZnM3FMbzA2
cW1uCm5ncTJtSkR4eDRJTExsaWFiakFITmhydndkeHY5VTBJQ0FFaElBUUdOd0tWQ3NoeXl5M1hF
QUZib1F3TExiUlFsZ1poRG5PVFNTZWQKTk13ODg4emgxVmRmemVMZWUrKzlnRUt6MkdLTGhibm1t
aXM4K09DRFdWeis1cC8vL0dkNDlORkh3K2FiYng1c3h5VWY1ZmNvSnBoOQpKVnB2dmZYQzQ0Ly8v
L2J1QkVxV3Fqd2MrSDJLSWdxSUNrRlFBUUVGU1ZBSUNrVERIeEZSUVRFZWlVdkVKUzZBUitLQ0NM
SVlXWUlzCkxpamdRZHlESGxTVWdCdEtCQVJ4d1JCWmppSzRnS0tnSWlxQ0NyaWc5Yi9mVGFyVDAy
K20rODY4Tzh4N2IzNTF6a3gzVjMxMXErcFgKTmUvVjEzZXB5OUl1dSt5U1loc3hiYjMxMWxPYTl0
VEU5T1gxcjNmY2NVYzY5TkJEMDNISEhaZWU4NXpucFB4dFpMOG9SZHY0L0kxNQoybi8vL1V1em5s
ZTk2bFVwNHFlYlRqLzk5SlJyYzlKSko1MVVGa2VUa3MwMjJ5eTkvT1V2TDUrdnVlYWFkT0NCQnhh
Ynozem1NMlhmCm93blh4UmRmbk9JbUxKcTdyYmZlZXVub280OHU4UmRjY0VHSzQ0a21aKzkvLy92
VEpwdHNramJmZlBNcDFxUDdFZnZ3cm5lOUs3MzUKelc5T296ZHk0ODdadU9PY2RGeWoreENmYjcv
OTl2U0tWN3dpSFhYVVVlWDQ0enhQbW1LZE9OWm80aGZYemRWWFh6MVlwZmFhaXY1RApjZXpSTksr
Zkp1M0xUR1ZQOG4vSE85NlJQdjNwVDZkUGZ2S1Q2VVV2ZWxHNjl0cHJsOXIydUd2ci9QUFBMOWZj
OGNjZlgvNjJycnp5CnluNlh4NzZPYnZlMjIyNmIxWFU2M2ZxeHdYSFh4MHhHb3pzYWY1L3haY1Vi
M3ZDRzhnWENPdXVza3k2NTVKTHk5enJkdndudmU5LzcKMHVHSEg1NGlDZHQzMzMzTCtZOHlaOXJl
Yk11ZmRBNWpXK1BPMFV6N0VldU5UdVBLR2ZmM05Wck9wTCszdStMZmtkRjk4cGtBQVFJRQpDTXhK
WUxaVk9xTk5zSWJYZitRakgxbWFQcDEzM25sZHJwSG84azF4OTdLWHZheUU1QnVKYnRkZGQrMXlK
L0RTcENMZmpIVDVKcVRMCi9UeUdpeWp2My9LV3Q4VFg5TjJwcDU2NjFMTHBadHg2NjYzZDR4Ly8r
TExPMm11djNlV2J2NlhDYW1KR1Y4cjlYcnFjQkpUWitVYTUKbEgvcHBaZVd6N2xmU3BlVG9QSStt
bnh0dSsyMlhlNHZNeWppeEJOUDdCNzR3QWNPUGtkenN1SG1hZEcwTFpxRnhaUnZITHFjTUhXNQpi
MDEzeGhsbmRQbkd1Q3piZE5OTnU1eDBkTkY4NTdERER1dHlqVXFYTytKMk45NTRZMm1DRnI0NVll
bXV1KzY2TGljMDNWNTc3VFhZCjN2Q2IvTTEybHhPYXdhejk5dHR2MEt4bDNEbUxGU1lkNTdqaml2
VkhIWjc2MUtkMk9RR0xSV1VmMWw5Ly9TNG5qdVh6ZEw4ZS9PQUgKZDdudGZ6bW4wYVJwbzQwMjZq
YmVlT011am1rMjExVHV5TnpsaEsrTDY2T2Z4dTNMdUxKci9HTS80OXpGTk4yMlo3cTJvcmxobVBi
Tgp0L0pOZUxmSEhudjB1N3lVNTJEQi83NFozbTdNbW5UK0pxMC83dm9ZWnpSYWJ2d2Q1YjVrWGU3
elU2N3grUHZQaWVUWWZ4TSsvdkdQCmQvbkxoa0ZSNDdZMzIvSnJ6dUZNNTJqY2ZneDJkdWpOVE9W
RXlLVHpNL3IzTSs3dmJiNy9IUms2Skc4SkVDQkFnTUF5Q1V5c0FabHQKVmhPZDFuZmVlZWVVYnh6
VFRqdnROQmpoS045TXBMeW5wVm5LT2VlY1U3N1IvOFV2ZnBFdXV1aWlwVGJSajNxVWJ4YVhXamJk
akRYWApYRE5GcmNuQkJ4K2NvdU42ZERRKytlU1RwNFRXeEF5dkVLUHVYSDc1NVdtNzdiWXJzK09i
OTFOT09TVnR1T0dHS2ZiL0sxLzVTcW1GCmlJWFJUQ1ZxYXo3NzJjK1dXb3ZoY3ZyM3E2MjIycFFt
V2ZlKzk3MEhuNk1HSXpwalJ5ZmJmTE9aSWphT0lVYjBpbU9LNWp1dmVjMXIKaWwvTWk1cUFXR2ZM
TGJkTTRSMzdGQjN6di92ZDcvYWJtL0o2eXkyM2xBNzVuL3ZjNThyOG5LaVVzdnFnbWM1WnpYR09P
NjYrL1A0MQphcnhpSC9wYXRhakoybTIzM2ZyRk03NUdjN3pkZDkrOVhFOHhHRUh1azVSeWtwdG1j
MDNGTis3aEZkZGdUSlAyWlZ6WnRmNTlFN3pSCmJZKzd0dUphaWdFV2NoK21zcDl4N29kcmZNck1D
Yi82N2RhY3YrbUs2dGZ2bDgxMGZZd3o2dGZ0WDdmZmZ2dFNTNWY3bEpSclBQNlcKNHUrcjl0K0VL
R2ZjOW1aYi9xUnpPTzRjamR1UC9uajcxM0hsek9YOGpQdDdtKzkvUi9wajhrcUFBQUVDQkpaVm9I
a0NNbnp6RXFObgpSUk9EbUtJNVVkeE1SWnZtK0lsbVcrZWVlMjVwVWpONkVQbGIzREtyVDBSR2ww
LzNPVzdjb29sU05GK0pHNzVvdGpFNmVsSk5URjkyCkpFYlJWR240ZUtJSlNSeEROQjJKYlVSNS9a
UnJRTXJidUttYXl6UzhuVmgvalRYV21GSk1KRkF4UmRJV1U4UVByeFB4MHcwN0hMR1IKeU1WTmJk
ekVoMHY0eG1obS9UUmN6dkE1YTMyY0YxNTRZYmtKWFd1dHRmcE5wOVZYWDMzS2NRd1dETDI1NzMz
dk8vZ1VONW94eFhDNgpzN21tWXAxaHMwbjdNcW5zNGJLaTdPbjhoMTJINDhkZFd4R1h2L1ZPa1RS
RzA3OFkvU21HbEo3TjFHOTNydWV2WDcvZjV2RG40ZXRqCmtsRy9mdjhhTjgveGQ5TlBzMTEvVXZ4
c3k0L2pHajYyNFhNNDdoeE4yby8rK09KMVhEbHpQVC9ENVkrK0h6NmVXTmJ5MzVIUmJmbE0KZ0FB
QkFnVG1LckRLWEZlYzdYcTVHVkdLRHNjeGpPNmthWXN0dGlnaGVTU3NTYUVwTno4cVNVSC9IMjMw
THpuenpETkxnaE1KU0c3bQpWQlV6dXFGbzR6MVQyL3ZvT3hESEU4bFYzRURIRk4rdXgvRkZ1L3NX
VTlRT0ROOU1ETCtmUy9reHBHcHU3bFNHS1k3Mjh2LzVuLytaCitxUm1wdkphSCtjTk45eFEzRWEz
TjV0amk5cWVPTmZ4TTV0cmFuU2JrL1psV2NvZTNkYm81M0hYVnNUR3dBdFJ3L2FCRDN3Z1JWK0kK
dUZHZHk5VDYvSTN1dzdJYXpYYjkrWTRmUHI1eDUyZzIrekd1blBrK1AzRThyZjhkR1RieW5nQUJB
Z1FJekZXZ2VRM0lURHNTenc2SgpHby9oYittaitVVjhFejA2UlJPdWFJSVNJMW5GTjhIVFRia2Rk
cGtkLzhISDgwR0dwNmk1aUcvNSs0Y2kxc1FNcngvdjQwWTN2bVdQCkRzVDlGUHNiTlJ6UjRUdEc2
b3BuUi9SVFBDd3Q5aW1hbU13MDlhTXR6YlI4dnVibjl1NHA5aThQWjF1YWowWEg5dWdJUDJtcVBj
N2EKNDRvRUtHcHc4bEM0a3pZOTQvS2YvdlNucFVZZ0JobVl6VFUxV3VDa2ZWbVdzdnR0elpSWWpi
dTJJdW1PVHZveDRNRndEVnRmWnMxcgp2OTNhOHpkYVpyLys2UHpSejh0cU5OdjE1enQrK1BqR25h
UFo3TWU0Y3VaNmZtci8zb2FQeDNzQ0JBZ1FJTEE4Q2N3cUFZbi8rR0pZCnpKbWVTQnpmNk1WUFA4
WG9ML0VUMDU1NzdsbEdzSWxtVE5GUEkyNklqenp5eUdtSFJZMXY3YUlaU2d3TEduMHJScHVneE1o
YUJ4eHcKUUxuaHp4MlN5NDMxOEUxdDNIREhOOXg5LzRLYW1INmYrOWNZOVNwRzRJb0hJVVliL1Bp
Smthb2U4cENIbEZxVjZPTVNDVlUveFdoTwpjVU9STzV5V1dlRVUrOTlQVVVNU0R4YUwrWEVUSFls
TlBCMjdueUkya3BwK2lpY2d4K2UrakQ3aDZtOCtvcHorZmF3VDdzUHI5K1hFCmEyd25SdENKS1hk
K1QvbVpLWU9hbTNIbkxHcVBKaDNucE9NYWRnalRxQ1dLOXYvOUZNTWp4emZLTSsxN3hBMHZpemIx
MFQ4bUV0VFoKWEZOUlRoeHJYSStSU0U3YWwwbGxUL0tQWm1aeERjWVUxL3ZvdG1lNnR1STZpL01h
aVVnY2R6VEJpcVE5OWpsK2hqMUw0U08vaHJjYgp0WTJUenQvSTZtbDQvWDYvWTkvN2FhNS8wN0Yr
WE1QOXZ3ZnhlWkp4SHJDaVdQVGJueFEvMi9MSG5jTnhmLytUOWlPT3JaL0dsVlB6Cjl6VjZ2aWY5
dmJYK2R5VCtIWXFtcmYyMTNCK1hWd0lFQ0JBZ3NFd0MrYWFtYXNyTmtib1l1U1p2ck10dDhydDRB
R0dNTE5WUE1YcFQKVGh5NjNIeXF5N1VFWFc3bTA4VkR6UElONTJCVXFqd01iTGZxcXF1VzBaeHlX
L0R1ckxQTzZsZWY5alVlR3BlYlZKVlJqMkkwclR3VQphM2xvWGU2WTNjVUQwL29wMy9oM3VjTjdG
Nk03eGNoRDhSREMvSFR0THYvbjNZZVVFYmtteFF5Qy8vZE43Ri9zWnh4ei9pYXp5ODFpCkJpRnhm
SEdzTVdKWDdsamQ1V0Z4eTZnK0VaQVRqUzUzV2kvcjVjN3c1VUdLdVc5S2wvdVBsR1BKeVZNWmtT
blg5SlRSam5LYjhpNUcKZzhvZFk3czhQR2lYRTZ3eW9sWnNOMGEveXJWQVhSNjJ0cFNYbjBaZlJo
SEtONHBsblZnM1AvRzlpeEd6d2paM3hoL3NZLzhtemwzdQpvRm9lR1BtcFQzMnF5OSt3bDFHa2Fz
N1p1T09NOHNjZDEzUU9wNTEyV3BlYlQ1VnJJNDRsOTB2cGNvMVZGL09ubStMNDgwMVhsenVmCmQ4
Y2NjMHozNmxlL3VveWsxc2ZXWGxPeEwza0kzbUlZRHphTTBhWW03Y3RNWmVla29KdmtmOGdoaDVU
clBDZlEzZWMvLy9tbHRqM1QKdFpXYjhKV1JvbkxUdmk0bnY5M1paNS9kNVFFTHV1Yy8vL25sK2h1
OXJucUgvblY0dTdubXIvd2R6blNkOXVzTXZ3NnZuNGQ0YnZZMwpIZGJ4VU1FOG5IU1hrK0hCSm1j
eXpvTUVkRHZzc0VNNVgvRjNueFAyc3M1TThiTXR2K1ljem5TT1lrZG0yby9CZ1EyOUdWZk91TCt2
CjZmNSt4djI5emNlL0kvRkEyRndqVmowaTRkQmhlMHVBQUFFQ0JHWVVXQkpMbGltRG1lWEs4WTFl
TkkyS3BnbnhiWGpORk44QXh6ZkQKRVI4UGtodDlOa2pVeU56Ly92Y3YzekpIN1VnOGc2VHZFOUtY
WHhQVHh3Ni9Cay9VMXNTb09hTlRMSXV4OTZQR0prYWdtVFRGc2NlMwoydEZaTnI2cG5Hc1RtMG5i
R1YwZTM2akhQa1p6dHRobVBMdGxOdE9rNDV6dGNZVkJmTHNlbmVQajNJNmV6K24yTFdxMUluNjZh
Mll1CjExUy9qVW43c2l4bFI4M091SkhjeGwxYlVWTVExMGxNczcxV1JyYzc2ZnoxRnYzcjZQcjkv
SmxlbDhVb3lwenQrdk1kUDN5YzQ4N1IKYlBaalhEbXpQVCt4M2J2eTM1Rm9Oams4ZU1Dd2ovY0VD
QkFnUUdBdUFuZDVBaktYbmJRT0FRSUVDQkFnUUlBQUFRSXJoOENzK29DcwpISWZzS0FnUUlFQ0FB
QUVDQkFnUVdDZ0JDY2hDeWRzdUFRSUVDQkFnUUlBQWdVVW9JQUZaaENmZElSTWdRSUFBQVFJRUNC
QllLQUVKCnlFTEoyeTRCQWdRSUVDQkFnQUNCUlNnZ0FWbUVKOTBoRXlCQWdBQUJBZ1FJRUZnb0FR
bklRc25iTGdFQ0JBZ1FJRUNBQUlGRktDQUIKV1lRbjNTRVRJRUNBQUFFQ0JBZ1FXQ2dCQ2NoQ3lk
c3VBUUlFQ0JBZ1FJQUFnVVVvSUFGWmhDZmRJUk1nUUlBQUFRSUVDQkJZS0FFSgp5RUxKMnk0QkFn
UUlFQ0JBZ0FDQlJTZ2dBVm1FSjkwaEV5QkFnQUFCQWdRSUVGZVdPK3NBQUNBQVNVUkJWRmdvQVFu
SVFzbmJMZ0VDCkJBZ1FJRUNBQUlGRktDQUJXWVFuM1NFVElFQ0FBQUVDQkFnUVdDZ0JDY2hDeWRz
dUFRSUVDQkFnUUlBQWdVVW9JQUZaaENmZElSTWcKUUlBQUFRSUVDQkJZS0FFSnlFTEoyeTRCQWdR
SUVDQkFnQUNCUlNnZ0FWbUVKOTBoRXlCQWdBQUJBZ1FJRUZnb0FRbklRc25iTGdFQwpCQWdRSUVD
QUFJRkZLTERLcEdOZWNzU1NTU0dXRXlDd2lBVzZ3N3BGZlBRT25RQUJBZ1FJRUppdHdNUUVKQXAw
Z3pGYjFwVTNQaEpTCjE4UEtlMzVuZTJTK29KaXRtSGdDQkFnUUlFQkFFeXpYQUFFQ0JBZ1FJRUNB
QUFFQ2Q1bUFCT1F1bzdZaEFnUUlFQ0JBZ0FBQkFnUWsKSUs0QkFnUUlFQ0JBZ0FBQkFnVHVNZ0VK
eUYxR2JVTUVDQkFnUUlBQUFRSUVDRWhBWEFNRUNCQWdRSUFBQVFJRUNOeGxBb3M2QWJucApwcHZT
RjcvNHhYVHp6VGZmWmVBMnRQd0wvT3huUDB2eDAwL1RYUisvK2MxdjBvOSs5S01TOHR2Zi9qYjkv
dmUvNzhNSHJ6VXhnMkJ2CkNCQWdRSUFBQVFLTFJLQnFHTjdsd2VMMDAwOVBiM2pERzlJMTExeVQv
djd2L3o0OTZFRVBTbkdEdDJUSmt2UzYxNzB1N2JUVFRyUGEKemZlODV6M2xwdkZYdi9wVjJuUFBQ
ZE4xMTEyWFZsMTExVm1WSVhqbEVmajFyMytkWHZ2YTE2WnJyNzAyYmIzMTFtbTExVlpMMy9qRwpO
OUpmL3ZLWDhuUGhoUmVXZy8zSlQzNlNEanJvb0xKODlkVlhUMS8rOHBmVEhYZmNrZDczdnZlbDdi
ZmZ2anBtNVpGekpBUUlFQ0JBCmdBQ0IyUW1zTUFuSWM1N3puSFRWVlZlbEk0ODhNcjN6bmU5TWoz
clVvOHFSdnY3MXIwODc3N3h6K3Z6blA1K2UvT1FuVngzOWJiZmQKVm00Mkk0RzUyOTN1VnRhVGZG
VFJyWlJCVjE5OWRkcGxsMTNLZFhUZWVlZWxlOTd6bnVVNHU2NUxoeHh5U0RyenpETUh4NzNmZnZ1
bApQLzd4aituREgvNXdtZmVuUC8wcFBlWXhqMGszM0hERHJHSUd3ZDRRSUVDQUFBRUNCQmFad0Fy
VkJHdXR0ZFlxcHllU2huNTYyY3RlCmx1Skc4ZXl6eis1blRYejkxcmUrVlc0aSszSWUrOWpIVGx4
SHdNb3A4T2MvL3ptOThJVXZMSW5vdTkvOTdrSHlFVWNidFd0dmV0T2IKMHNNZi92REJ3WC9uTzk5
SjExOS9mWXJFSTZaNzNPTWU2WU1mL09DVVpudzFNWU1DdlNGQWdBQUJBZ1FJTERLQi83dVRYMEVQ
L052ZgovbmJaOHljKzhZbFRqdURuUC85NXFlWFljY2NkMHpiYmJKTysvdld2bCtYUlZPYnd3dzlQ
ZDk1NVo5cDMzMzFMODYxWU1GUDhaWmRkCmx2YlpaNS9TL0N0dVJ0ZFpaNTEweVNXWHpCaC93UVVY
cE9jKzk3bWwzUGUvLy8xcGswMDJTWnR2dm5uNjRROS9PTmkvYUxKejZLR0gKcHVPT095NUZ6YzVi
My9yV3diS1o5bU1RNEUxVGdTOTg0UXVscWRWTFh2S1NkSzk3M1d1cHNpTkovZENIUGpTWUgrYzJy
b21vTVlsegpGVk0wMmRwNzc3MW5GVE1JOW9ZQUFRSUVDQkFnc05nRWN1M0IyQ2tkSGhVTXk4ZDAv
UEhIZC9uOGROLzg1amU3VzI2NXBUdmpqRE82Cm5CQjB1KysrZTVjVGlzRk94dnRkZDkyMXkwMnN1
dndOZDVjVGlCS1gyL21YbUk5Ly9PTmR2ckdzaXIvNDRvdTcrOTN2ZnQxV1cyMVYKdGhkbDVTWTdN
NVovNDQwM2R2a2I4eTRuSGQxblB2T1pMdmN0NlRiYmJMTnVyNzMyR216dktVOTVTaGZseHBUN0da
Ump1dlRTUzhzeApqTnZ2UVFFTCtHWjV1aDVhTUx6bExXOHAvcWVlZW1wVmNiZmVlbXYzK01jL3Zx
eXo5dHByZDUvKzlLZVhXcThtWnFtVlZ0QVpLOXYxCnNJS2VCcnROZ0FBQkFnUldLSUVWc2dZazJ1
RnZzTUVHNlVVdmVsRTYvL3p6VTc0SlRIZS8rOTBIdVdOT01FcXpyT2dnZk00NTU2VDEKMWxzdi9l
SVh2MGdYWFhUUklHYjR6Ymo0NkZnY05SaVBlTVFqMGg1NzdKRk9PZVdVZFBubGw4OVkvcnJycmx0
cVBiYmNjc3YwdEtjOQpMVzI0NFlicENVOTRRdnJ1ZDc5Yk5obWpic1g2MjIyM1hma2N0VE5SWnNT
TjI0L2gvZlcrblVCMEtvOHBKeE5WaGE2NTVwb3BhazBPClB2amdGQjNYbi9HTVo2U1RUejU1eXJv
MU1WTlc4SUVBQVFJRUNCQWdzSWdFVnNnRTVPMXZmM3U1YVkvTzVCLzk2RWVYT2wyNWRpRTkKNEFF
UEtPMzVvMFB4NHg3M3VIVHV1ZWVXcGxoTEJlY1prK0pqUktSb2V0VlBrK0tqNzBEODlOTWFhNnd4
R0tZMWtxRG9jeks4UEpwNAp4ZjVPS3JjdnoyczdnWTAyMnFnVTFpY2lOU1ZIdjQramp6NjZKTDl4
WFVSVHZrOTg0aE5UVnEySm1iS0NEd1FJRUNCQWdBQ0JSU0t3CnlvcDZuUC8wVC85VWFqZU9QZmJZ
TWdSdnRNbnZwMS8rOHBkcGxWVldTYVA5UXZybG82L3pIVCs4dmVnM2NPV1ZWdzdQR3J5ZjdYNE0K
VnZSbXpnSmJiTEZGV1RkR1dKczB4VkROa1NoR1FobFQ5QytLRWJJaXdZMEU1Rm5QZWxhcWlabTBI
Y3NKRUNCQWdBQUJBaXV6d0FwWgpBOUtma0JpT2QrT05OMDR2ZU1FTFV1NTcwYzlPRDMzb1EwdU54
L0RENFhMRHVOUS95MkVRK0w5djVqdCtlSHZSMU9yNzMvOStlZDVFClB6LzJMWnBselhZLyt2Vzl6
bDBnaG5DT0laMWpKS3ZjcjJqYWdtTEFncGdpZVR6aGhCT214RVJ0VnRTaXhNaFl0VEZUQ3ZDQkFB
RUMKQkFnUUlMRElCRmFvQkNUNmNjUVViZTlqaW0raVAvS1JqNlI0bUdBa0lmSFF1Smppd1lKeHN4
aE5teUkybm5nZXp3OTUyTU1lVnBiSAo4ejhpOXZiYmI2K0tqeHZRR0xtcW55YVZIOCtKNlBjbDFv
bnR4SEN2TWNXb1Z6SGEwb3RmL09JVXo1K0lud01QUERBOTVDRVBtYmpmCnBRQy9tZ3JFS0Zjbm5u
aGlHVlkzUnNLS3A1b1BUekY2MlFFSEhGQkdUWXRrTjVyL2ZlOTczeHVFUk9JYnp3RFpiYmZkeXJ5
YW1NSEsKM2hBZ1FJQUFBUUlFRnFQQXBDN3p5OHNvTngvNzJNZTZUVGZkdEl3KzlLUW5QYW43eWxl
K010ajFQRHh1bWYvMHB6Kzl5MDFweXZ4Mwp2ZXRkWFg2NFlKZjdXcFFSc000NjY2d3lQdy9IMisy
d3d3NGxQajlCdmN0UHZoNGJmOXBwcDNYM3VjOTl1dHlSdmN0UFl4OXNjNmJ5CnYvU2xMM1g1ZVNY
ZCt1dXZYMGE2dXVLS0s4cCt4NzdrenN0bC9kaVhHTDByWDI5ZHJoR1pjaXd6bFR2WThBSy9XVjZ1
aDlZTU9hbm8KY3BPcUxpY1FYWDYyVEJmWFJoNDhvTXVkemJ0Y2t6YllYSXh1dHROT08zVjVJSVF1
OXdQcGN1MUpsNGZnN1hMU09hdVlRZkFLL21abAp2UjVXOE5OaTl3a1FJRUNBd0hJdHNDVDJibHpp
dGVTSUphazdiR3pJdU5VWGRGblVSRVRUbUdqMkZIMUNKazN6SFQrOC9XQ1BtcGtZCk5XdDBtdTEr
aks0L241OVg1T3VoeGlXYTdVV3RWRnd2VVdNMitteVFtMisrT2QzLy92Y3Z0VnBST3hLanNmVjlR
dnJ5YTJMNjJCWDkKZFdXL0hsYjA4MlAvQ1JBZ1FJREE4aWl3VWljZ3l5UDRpcjVQYmpoWDlEUFlk
djlkRDIwOWxVYUFBQUVDQkJhRHdBclZCMlF4bkJESApTSUFBQVFJRUNCQWdRR0JsRnBDQXJNeG4x
N0VSSUVDQUFBRUNCQWdRV000RUpDREwyUW14T3dRSUVDQkFnQUFCQWdSV1pnRUp5TXA4CmRoMGJB
UUlFQ0JBZ1FJQUFnZVZNUUFLeW5KMFF1ME9BQUFFQ0JBZ1FJRUJnWlJhUWdLek1aOWV4RVNCQWdB
QUJBZ1FJRUZqT0JDWS8KSENQdmNBeTFhU0xRQzdnZWVnbXZCQWdRSUVDQUFBRUNzeFdvU2tCVzFB
Y1J6aFpEL0dRQnozMlliTFNZSWlTamkrbHNPMVlDQkFnUQpJTkJHUUJPc05vNUtJVUNBQUFFQ0JB
Z1FJRUNnUWtBQ1VvRWtoQUFCQWdRSUVDQkFnQUNCTmdJU2tEYU9TaUZBZ0FBQkFnUUlFQ0JBCm9F
SkFBbEtCSklRQUFRSUVDQkFnUUlBQWdUWUNFcEEyamtvaFFJQUFBUUlFQ0JBZ1FLQkNRQUpTZ1NT
RUFBRUNCQWdRSUVDQUFJRTIKQWhLUU5vNUtJVUNBQUFFQ0JBZ1FJRUNnUWtBQ1VvRWtoQUFCQWdR
SUVDQkFnQUNCTmdJU2tEYU9TaUZBZ0FBQkFnUUlFQ0JBb0VKQQpBbEtCSklRQUFRSUVDQkFnUUlB
QWdUWUNFcEEyamtvaFFJQUFBUUlFQ0JBZ1FLQkNRQUpTZ1NTRUFBRUNCQWdRSUVDQUFJRTJBaEtR
Ck5vNUtJVUNBQUFFQ0JBZ1FJRUNnUWtBQ1VvRWtoQUFCQWdRSUVDQkFnQUNCTmdJU2tEYU9TaUZB
Z0FBQkFnUUlFQ0JBb0VKQUFsS0IKSklRQUFRSUVDQkFnUUlBQWdUWUNFcEEyamtvaFFJQUFBUUlF
Q0JBZ1FLQkNRQUpTZ1NTRUFBRUNCQWdRSUVDQUFJRTJBaEtRTm81SwpJVUNBQUFFQ0JBZ1FJRUNn
UWtBQ1VvRWtoQUFCQWdRSUVDQkFnQUNCTmdJU2tEYU9TaUZBZ0FBQkFnUUlFQ0JBb0VKQUFsS0JK
SVFBCkFRSUVDQkFnUUlBQWdUWUNDNWFBL081M3Ywcy8rY2xQbWh6Rm4vLzg1L1NkNzN4blZtWGRk
Tk5ONll0Zi9HSzYrZWFiWjdYZWZBYUgKeWZYWFh6L2pKbjcxcTErbDczLy8rMU9XZitNYjMwaDMz
bmxubVhmSEhYZWs2NjY3YnNyeTRROS8rTU1mMHRlKzlyWGhXY3ZOZTlmRAowcWRpTVY4UFMydVlR
NEFBQVFJRUNLd3NBZ3VTZ0x6NzNlOU9EM2pBQTlJblB2R0paWGI4Ny8vKzc3VFZWbHVsdmZmZXU3
cXM5N3puClBlbGpIL3RZK3RLWHZwVCsrcS8vT3NXTitVSlBIL25JUjlLNjY2NmJQdnpoRDgrNEsy
OTg0eHZUTTU3eGpNSHlhNis5TmozbU1ZOUoKNTU5L2Zqcjk5TlBUK3V1dm40NC8vdmpCOHVFMy8v
VmYvNVVlL2VoSHAyYys4NW5EczVlTDk2NkhwVS9EWXI0ZWx0WXdod0FCQWdRSQpFRmlaQkJZa0Fk
bG5uMzNTL2U1M3Z5YU9jUVArK01jL1B0M2pIdmVvS3UrMjIyNUxyMzN0YTlPLy9NdS9wQ09PT0NM
OXgzLzhSN3JuClBlK1pZcCsrOElVdkxGVkczQWp1dGRkZUpjRTU2S0NEVWlRdnQ5OSsrNVM0ejMz
dWMrbHRiM3ZibEhueElXb25ZdDFiYnJsbHFXV2oKTTU3M3ZPZWxEVGZjY0hUMmxNOUhIbmxrK3VR
blB6bVl0OGttbTZSTExya2s3Ynp6enVrNXozbE9TYVlHQzBmZWJMZmRkdW1mLy9tZgpSK1l1SHg5
ZEQwdWZoOFY4UFN5dFlRNEJBZ1FJRUNDd01nbXNjbGNjVERRUldtV1ZxWnVLaEdISmtpWEx0UG0v
L09VdjZXNTN1MXNwCk8xNXJwbTk5NjF2cGozLzhZMWt2NGgvNzJNZVc1bHRublhWV1NTNE9QL3p3
ZE5oaGh3MktPdXFvbzlMVlYxODkrQnh2b3BiaXkxLysKOG1EZXB6Lzk2UlRmNHYvaUY3OUl4eDU3
N0dEK3BaZGVXbUxmOWE1M0RlYkZtNjdycGozMlNTWlJheFEvdzFNa1lQMjA2cXFyVGx0dQp2endT
cldVMTc4dGFsbGZYZyt0aFdhNGY2eElnUUlBQUFRSXJ0a0RkWGZzY2p6R2FCaDEzM0hHbFdkRGpI
dmU0ZE9XVlYwNHBLV29TClh2ZTYxNVdtUjl0c3M4MlVHLzNvejNEb29ZZVc5ZVBiL2JlKzlhMkRk
V085Vjd6aUZTbVNnNWUvL09XbHBtR3dNTC81K2M5L1htbzUKZHR4eHh4VGxmdjNyWHkrTDMvZSs5
NlZJTU9JR2VOOTk5eTNiamdXYmI3NTU2VHV4NjY2N2x1MUZndEpQVjExMVZVa1lJbW00OWRaYgow
NXZlOUtiMGxhOThKZjNzWnovclE5SXBwNXhTYWxEaVdPTjQraW1hU0VVVHJ6NzVpdjJPbXBkLys3
ZC9TMDk2MHBQU2M1LzczTEs5CjRXUW1rcXBvYXJYQkJodWt2L21idjBrLy9PRVBTM0d4dlRlLytj
M3A3Lzd1Nzhybk9JWklmSjcrOUtkUFczTnorZVdYbCtaWisrKy8KZjdyaWlpdjZYVnJRVjllRDYy
RkJMMEFiSjBDQUFBRUNCSllQZ1h4alBYWktoOGY5OSt5bjNLK2llOUNESHRUbGp0NWw1WHpqMysy
eAp4eDZEZ2g3ODRBZDMrZWE4eXpmUkpXYWpqVGJxTnQ1NDQrNVBmL3BUaVhuS1U1N1NYWHp4eGVW
OWJzclVaYTB1MXlpVXowOTk2bE83CjNJZWp2TThkMEx2Yzk2SGJaWmRkeXVkOFk5N2xSS0w3elc5
KzA4V3kzTHluVzJlZGRicGYvL3JYWmZuSFAvN3hMdGVXbFBlanY3NzYKMWErVzdlVCtFcU9MQnA5
emJVaUp5VGYxZzNueEppZENaVHV4bnllZGRGS1hFNGx5ZkFjY2NNQWdMdWJuaEtCOHpqVXhwWnlj
dEhTNQo0M2laOThoSFBySjcxS01lMVoxMzNubGQ3b3plNWNTb2U5bkxYbGFXNVU3elpSdHJyNzEy
K2Z6YjMvNjJ4TVgyY2hPd011OEpUM2hDCjk2cFh2YXE4ejBsUmQrcXBwNWIzL2E4VFR6eXhlK0FE
SDloL25OT3I2MkVxbSt0aGJ2OCtURlgwaVFBQkFnUUlFRmhNQXZOV0F4TE4KaWFMRGM3NmhMcGxX
TkIwYWJjcjB3aGUrTU8yKysrNXBwNTEyS2syWGZ2Q0RINlI4ODExR3A0cHY4S1BmUWt4Uml4RzFE
TkZISW1vegpvcy9GazUvODVMSXNtbDd0dHR0dTVYMzh5Z2xHcWJHSVdvVnp6amtucmJmZWVxVnAx
RVVYWFRTSW1lbE5iQ2RxSzZMV1k2WnA5ZFZYCkw0dWlOcVNmNG4wMHk0b2FpYWhGZWMxclhsTnFS
R0trclVNT09hUVBLekY5RTZxbzNjaUpVVmsyM1BmamFVOTdXdW5Ua1JPMDR0S1AKN2hXeFcyNjVa
VG0yV0NuMlk0Y2RkaWpyNXd1MnZQYS93aXEyRTc3THkrUjYyQ2U1SHBhWHE5RitFQ0JBZ0FBQkFn
c3BzTXA4YlR6NgpHdVJ2M0ZNa0ZlOTk3M3RMTTZuOHJmMlV6ZDMzdnZjZGZONSsrKzNMK3hobU5v
YWJqYjRady8wVm9xTnlURkZXTkpsYWE2MjF5dWY0CkZUZmpmV3l1TlNrMzM5SGZJYVpvK25YdXVl
ZW1SenppRWVYenVGL1JoMkxUVFRjZE82VHYzZTkrOTFMRThFMS9ybWxJRDN2WXcxSWMKUTR5dUZj
MmtZai9mOFk1M1ROblBOZFpZSThYKzlWT3VqUmdrV2YyOC9qamljM1RVajZGWSt5bVdEUy92My9l
dkVSZkoyWmxubmprMgppZXJMdXl0Zll4OWRENjZIdS9LYXN5MENCQWdRSUVCZytSU1l0eHFRT056
b21CMGR1bVBVcWR3OGFNck44eWhIMUFMRURYcjhSQitPCjBmNGlmZndOTjl5UWZ2bkxYL1lmQjYv
OVRYZ3NpMXFSSno3eGlWTitjbk93UWV4TWI2TEdKSjdETVZwVE0xTjhQejlxYmJiZGR0dnkKY2Mw
MTF5dzFJVkVEOGFsUGZhb1BLYS83N2JkZlNVQ2lJL3ozdnZlOWRPOTczenRGUDVXV1U5U0tSUElW
dFRETDIrUjZjRDBzYjllawovU0ZBZ0FBQkFnVHVlb0Y1UzBDaUdWTjBGSS9PNDlIOFp0TDAwNS8r
TkVVTnlkWmJiMTJhV2tWTlNIVGk3cWVvY1lobVdmR3NpeGh0CkttN2dwNXNlK3RDSGxocVAzLy8r
OTRQRnNlNkZGMTQ0K0R6NkpqcCt2LzN0YnkvTndhTDhTQkJtTS8zb1J6OHFIZW43ZFdKNDNBOTgK
NEFQcGdnc3VTQi84NEFmNzJhV3BXQXpMRzRsT0RORWJ5MXRQa2NCRmM3Q29sWWtoaHBlWHlmWGdl
bGhlcmtYN1FZQUFBUUlFQ0N5cwp3THdsSUZHTEVEZjJjZU1aVHlxUGgvNUZVaERKUU45OEtlYjNV
enlWUEI2eUYzMUdZdFNyZTkzclh1bkZMMzV4cVkySXNnNDg4TUQwCmtJYzhwQ3lMZmhyUno2R2Zv
cDlFMUh4RWVYdnV1V2VwUVlrbVc3bmplV2wzSDgvUGlDWlNNZVhPNldXLyttZDV4TlBZb3hZaVJv
dUsKWkNsaWM2Znc4dXlPMlBkWHZ2S1ZVMzVpWks2WVRqamhoUFROYjM2enZCOU5RR0ptakU0Vnh4
T2pZa1hiLzVqaXVTTVBmL2pEVSs0bwpudUk1RDZ1dHRscVozLytLZmVyM0srYkZTR0R4MDAreExE
NzNmdjM4L2pWR3hvcGwwWHd0bmxueTBwZStkRXB6c2hqZEszZnk3OFB2CjBsZlhnK3ZoTHIzZ2JJ
d0FBUUlFQ0JCWWZnWHlEZXZZYWE2akh1VUgvblg1Q2VWZDdwL1I1VVNpTy92c3M3dmM1S2g3L3ZP
ZjM4VUkKV2JscFZwYzdWWGY1dVJuZE1jY2MwNzM2MWE4dUkxZjFPNU9meXpFWVZTbzN6K3J5MExm
OW91NjAwMDdyOGpmOVhlN1gwVDM3MmMvdQpja2YyTHQ5MGwva1JsSis3MGVYK0hGMXVsbFhLaUxK
aXloM1l1OXhFS1hwc2R6a3g2SElOUzVlYmUzVjV5TnN1OXhNcE1kZGNjMDFaCm5wdFBsUkdySW5h
Nm41d0VkVG5wNlhJSDlMSTgxenFVOVlkL3hVaFdNZHBYUDZwV2JoWTFLQ3YzSmVueWs4KzdYRXRV
UE00NDQ0d3kKT3RjV1cyelI1WnFlN3JMTExpdkhGOXVKa2NLaWpOeTNwS3lmYTJ2S09qbWhLSjlq
Rkt6OFZQbGluV3RmdXE5OTdXdmwyTUk3ZDhMdgozdm5PZDViMWN5ZjdFbi95eVNlWDlZZjN0ZmE5
NjhIMU1IeXR6UFY2R0M3RGV3SUVDQkFnUUdCeENTeUp3eDJYSGkwNVlrbnFEaHNiCk1tNzE4bzE5
LzAxL2ZQcysyaHpyeGh0dlRIbG8yY0d6TW9ZTGkxMkwyb044b3o0OHU3eVAybzZvNFloMW8yWWxh
a3lHcC9pMlAvcHoKUk4rU3FERVpOMDIzL3JqNDJTd2JManNuV3VrZi8vRWZ5LzVHYzdONFFucU0y
cFdUc3RKZlpUYmxSbXdjWTNTY2o2ZWhEeitRY0xibAp6Q2JlOVRBYnJhVmpYUTlMbTVoRGdBQUJB
Z1FJTEM2QjhYZm1EU3o2NUNPS0drMCtZbDZNQkRYVEZCM0xwMHMrSWo1R280cmtJNmJSCjVDUG1S
VWZzNkl0Uk0wMjNmczE2TlRGOTJlOTV6M3RTUElqdjRJTVBuckphSE1kR0cyMDBaVjd0aDdpWkRh
T2FFYjVxeTV6dk9OZkQKL3lUS3JvZjV2dEtVVDRBQUFRSUVDQ3l2QXZPZWdDeXZCMzVYNzFjTXpS
dDlQNTcxckdlVjU1cEVYNDRZN1N1ZSt4RkQvODVtMm5ubgpuY3RRdjV0dHRsbUtUdTM5czBsbVU0
YlloUlZ3UFN5c3Y2MFRJRUNBQUFFQ0N5Y3c3MDJ3RnU3UWxyOHR4d01MNDRHSTBld3NIcjQ0CjI4
U2pQNklZcFN1Ry9zMzlSY3BEQ3ljMU1ldlhhL0c2ckUyd1d1ekR5bEtHNjJGbE9aT09nd0FCQWdR
SUVKaU5nQVJrTmxwaWt3VEUKUlRBczRIb1kxdkNlQUFFQ0JBZ1FxQkdZdDJGNGF6WXVoZ0FCQWdR
SUVDQkFnQUNCeFNVZ0FWbGM1OXZSRWlCQWdBQUJBZ1FJRUZoUQpBUW5JZ3ZMYk9BRUNCQWdRSUVD
QUFJSEZKU0FCV1Z6bjI5RVNJRUNBQUFFQ0JBZ1FXRkFCQ2NpQzh0czRBUUlFQ0JBZ1FJQUFnY1Vs
CklBRlpYT2ZiMFJJZ1FJQUFBUUlFQ0JCWVVBRUp5SUx5MnpnQkFnUUlFQ0JBZ0FDQnhTVWdBVmxj
NTl2UkVpQkFnQUFCQWdRSUVGaFEKQVFuSWd2TGJPQUVDQkFnUUlFQ0FBSUhGSlNBQldWem4yOUVT
SUVDQUFBRUNCQWdRV0ZBQkNjaUM4dHM0QVFJRUNCQWdRSUFBZ2NVbApJQUZaWE9mYjBSSWdRSUFB
QVFJRUNCQllVQUVKeUlMeTJ6Z0JBZ1FJRUNCQWdBQ0J4U1VnQVZsYzU5dlJFaUJBZ0FBQkFnUUlF
RmhRCkFRbklndkxiT0FFQ0JBZ1FJRUNBQUlIRkpTQUJXVnpuMjlFU0lFQ0FBQUVDQkFnUVdGQUJD
Y2lDOHRzNEFRSUVDQkFnUUlBQWdjVWwKTUtjRTVNYy8vbkhhYmJmZDBnMDMzTEM0dEJ6dHRBS3Vo
MmxaekNSQWdBQUJBZ1FJRUpoR1lFNEp5RTkrOHBQMCtjOS9QdjM1ejMrZQpwc2lWWjlidmZ2ZTdG
TWRxR2kvZ2VoanZZeWtCQWdRSUVDQkFnTUQvQ2N3cEFmbS8xVmZlZCs5Kzk3dlRBeDd3Z1BTSlQz
eGk1VDFJClIxWXQ0SHFvcGhKSWdBQUJBZ1FJRUJncnNNcllwUk1XSG5UUVFXbjExVmRQcTY2NmFs
cC8vZlhUczU3MXJQU3doejFzc05ZQkJ4eVEKYnJubGxuU1BlOXdqcmJmZWV1bFJqM3BVZXZyVG56
NVlmc29wcDZUTEw3ODg3YnZ2dnVtUmozeGttZitESC93Z0hYMzAwZW1razA1SwpxNjIyV3BsM3lD
R0hwSzk5N1d2cC8vMi8vNWZpL2IzdWRhLzBsNy84SmIzeWxhOU1mL3pqSHdmbHhadFZWbGtsL2RW
Zi9WVjZ6R01lCms1NzJ0S2VWWlRmZWVHTTY4c2dqMDRFSEhwZzIybWlqTW0vU3IzMzIyU2NkZHRo
aGs4S21YZjZ4ajMwc25YdnV1V212dmZaSzIyKy8KZlltWnpmNysvT2MvVDI5NHd4dW1MVHRteHJJ
Tk50Z2d2ZnpsTDA5NzdMRkhldEtUbmpRbDludmYrMTU2eTF2ZVV1YmQ1ejczS2ZZUgp0K21tbXc3
aWZ2clRuNmFqampvcUhYZmNjV21OTmRZWXpJODNzZC9QZmU1ejA4NDc3enhsL3FRUHJvZnBoUmJy
OVRDOWhya0VDQkFnClFJREFvaGZvSmt6cDhMUlVSRTRHdWd5MzFNL2FhNi9kNVlTZ3hGOTk5ZFZM
TFk5MVh2emlGdy9LZTk3em50ZmxoS0hMQ1VYMzYxLy8KdXN6UE5RNWx2V3V2dmJaOHZ2UE9PN3Vu
UE9VcFhVNHF5dnpYdmU1MVpmNlh2L3psYWNzZjNxOWpqejIyeEg3eWs1OHMyNGx0dmZDRgpMK3hp
MzBhblAvM3BUNk96dWdjLytNSGRPOTd4anFYbVQ1cng2bGUvdWh6VDNlOSs5KzRiMy9oR0NaL04v
cDU4OHNrekh0djk3My8vCkx2WTFqbUdkZGRZcGNZY2ZmdmlVWFhyakc5KzQxUG81Q2V4KzlLTWZE
ZUxPUHZ2c0xpZU8zYU1mL2VqdWw3Lzg1V0QrcjM3MXE3THUKbVdlZU9aZzMvTWIxNEhxWWREME1M
L2VlQUFFQ0JBZ1FJREFxc0hSMk1SSXgzUTNuY0VqY0RPZHY3THRjMnpIampXc2tKZGRjYzAyWAp2
MWt2TVJkZmZQR2dpQzk5NlV0bDN2dmYvLzR5NzVKTExpbWY0NFo5ZUlydFJQS3l5U2FiREdaZmRO
RkZKVFozaGgvTXkvMVN1cC85CjdHZmRMcnZzMG0yenpUYUQrVC84NFErN0xiZmNzc1RmN1c1MzZ6
N3ptYytVWmVlZGQxNFhpVXF1Q2VnZSs5akhkdC82MXJjRzYwUUMKa210anV2MzMzNzhrUUgvN3Qz
L2JYWFhWVllQbHQ5OStlNWRyWk1yNnozNzJzN3RjNnpCWUZ0dkx0VU5kcmhVWXpKdnV6VXo3T3hx
YgpheU82bDd6a0pWTm0zM2JiYmQydXUrN2E1WnFpN2c5LytNT1VaZjJIMy8vKzk5MmxsMTdhM2ZP
ZTkreE9PT0dFZm5aNXpiVTAzWklsClM0cExycWtxODNyL09GL1RUYTRIMThQd2RUSHBlaGlPOVo0
QUFRSUVDQkFnRUFMTDNBZWtiL0owNktHSGx0cWtmRk5lWG9kL1JST3MKbkRpay9NMStldENESHBR
dXVPQ0N3ZUpvVm5YZis5NDM1Vy9leTd3Tk45eXd2T1lrWWhBVGIySTdlKzY1WjhvMUl5bmYzRTla
TnZ3aApKeGZwZ1E5OFlHbVdGRTJaK2ltYWl1V2I2dlNoRDMwbzVZUWk3YkRERHFYNTFvdGU5S0sw
N2JiYmx1WlowWlFwMXliMHE1VFgwMDQ3CkxlMjQ0NDRwbXRIY2ZQUE5wVmxYcnBVcHk1NzV6R2Vt
M1hmZlBiMys5YTh2NjBlVHM4c3V1NndzaTZaZVVlN29jVXdwUEgrWWFYOUgKNDZiN2ZPOTczN3Mw
eDdyampqdlNGVmRjTVYxSWFSNlhFNmYwOEljL1BBMTdSSEJzZTgwMTEwemYrYzUzU2xPdW5PU2x6
MzcycyttaApEMzFvMm5qamphY3RiOUpNMTRQcllkSTFZamtCQWdRSUVDQ3d1QVZXYVhYNDMvNzJ0
MHRSZlYrTzZjcU5tOU5IUE9JUlUwYVdpcHZuCjMvem1OK1VHT2RhSi9odlI5eVA2S0l4T2NZTWNV
M1FPbnpSRndoSDlUL29wYnRCalc5RlA1UVV2ZUVHWm5ST3dGRWxFOUUySktjck4KVFp2SysvNVhi
ckpWa296NG5HdEtTdCtJWEd1U2NvMUM2Yit5M1hiYmxkQmMyNUtpVDB1ZlFNWE1TS3h5TFVWWkhy
OGlBWHJiMjk2Vwpqam5tbUxUV1dtc041c2ViMGYyZHNuRE1oOWh1dU9hYW1aTHd6QlFhNWQ5NjY2
MVRGci96bmU5TWUrKzlkN0dQZmgrUmpIM3VjNTlMCnA1NTZhc28xSTFOaVovdkI5ZUI2bU8wMUk1
NEFBUUlFQ0JCWUhBTE5FcEFZbGpkcU56YmZmUE94Y3JsSlVNcDlSUVl4My96bU42TVoKMkpUMW9v
UDFkQW5JVjcvNjFaSXN4TGYyazZiYy8ySktTTlJFUk9mMStPbW51TWsrOGNRVFUzUjhmKzk3MzV0
eWY0MzAyOS8rdGw5YwpYaU9KNktlK1EvbjN2Ly85VW1PVG0yeE51VkdQanV2RDAraE5mT3hESkNu
UmlYdzBBUm5kMytGeXhyMlBBUUNpYzNuVVlveWJvdnh3CjdxZnJyNzgrNVdab0pYR0pnUU1pWWNq
OVhkTGpIdmU0OUEvLzhBOTkySnhmWFE4cHVSN21mUGxZa1FBQkFnUUlFRmlKQlphNUNWYlkKeEto
TGIzM3JXOVBiMy83Mk11TFZURjV4QS96ZDczNTNTcklSelpTaVptT3p6VFlickJhMUNLTUpTSHpE
SDdVSC8vcXYvenFJbTgyYgptWjVaRXNPckhwWkh1M3J0YTErYm52Q0VKMHhKS0ViTGovMktFYVBp
SjVvelhYbmxsYU1oZC9ubmM4NDVKMFV5TVZwek0ybEhMcnp3CndsTHIwbzlhRnVjdmQvWXZUYm11
dSs2NlNhdVBYZTU2R01zenJ3dVh4K3RoWGc5WTRRUUlFQ0JBZ01BS0o3RE1DVWpVQmtTenBuZ3kK
ZXJ5T204NC8vL3hTd3hDeC9SUzFCTkdFYUhpS0cvM2h2aFBSRHlQNlowUVRxQmhPdHRVVVNjMHJY
dkdLa2p4RlA1VkpVeVJGVVVPeQo5ZFpibDZaV2NlelJKNldmSXNHS1lZWHZpaW1HOVkyRUwvcWd4
QkRJY0VwaGhRQUFGejVKUkVGVXVmUDhyRGFiUjhRcWZXWDZsYUtHCjVLTWYvV2hKU3NKa3JwUHJ3
ZlV3MTJ2SGVnUUlFQ0JBZ01EaUVKaDY1eitMWTQ2bVUzbTQxL1NGTDN5aFBEZmkrT09QbjdKMkh0
MHEKblhIR0dWUG1SUk9xK0paOVVoT3FTRURPT3V1czlOU25QalhsRVp4U0h1RXBuWDc2NlVzOTcy
Sks0WFA0RUxVR2NTTWZpVWcwQzR0OQpqaVppdzAyVmhtdE92dmpGTDZablBPTVpnMlpnUnh4eFJN
b2pjNldvUllucEF4LzRRT21RUG9kZG1kVXE4ZVR4ZUU1SGVFWVNzdTY2CjY2WThwSEhwOHhKTnhx
SXpmSmdOVDlITUxQcmFSUCtPNk9zUkNVaXNOenhGczdBNGo5SFpQenJkeHpacUo5ZkRtc24xVUh1
MWlDTkEKZ0FBQkFnUVdzOENjRTVDNDZZNmI4MGdNNGx2NDBTbjZFK1RuYjR6T1R2dnR0OTlTODBa
bnhDaE0rWGtYNWR2NFY3M3FWU2tQY1R2bApJWHFqOFhQOW5JZXdUVnR0dFZWNU9HTFUza1NIOCtn
WEVhOTVXT0QwMHBlK3RQVFppRnFQU0VyaWdZWXhpbFpNc1k5Ull4Q2R1TGZZCllvdFNJeEkxTmNQ
OVcrYTZYNVBXaTlxYUgvLzR4eVg1ZStJVG4xaHFZV0wvOHJERXBWWWptcXBOTjBXdFV0K1JQNXB0
RGZkdjZlTWoKa2ZuM2YvLzMwbUcrbjFmejZucHdQZFJjSjJJSUVDQkFnQUFCQWt2eWpldi85VXll
eG1QSkVVdFNkOWpTSVRHNlV6eGxlMldZWW5TcwovcW5yY1lNKzJod3JFbzlJTEVhYmlzV3hCOTlO
TjkyMFZHM0NmTHRFVGMxd2gvcVcyeHRYdHVzaGxVVFU5ZkEvVjl4TTEwUEw2MUZaCkJBZ1FJRUNB
d01vbE1PY2FrSlVsK1lqVDJTY2Y4WDQwK1loNThWeVJtYWJvd3pMYWxHbW0ySmJ6NXl2NWlIMmNT
OW11aC84NXU2NkgKbGxlNXNnZ1FJRUNBQUlHVlVXQ1pPNkd2akNpT2lRQUJBZ1FJRUNCQWdBQ0Ir
UkdRZ015UHExSUpFQ0JBZ0FBQkFnUUlFSmhHUUFJeQpEWXBaQkFnUUlFQ0FBQUVDQkFqTWo0QUVa
SDVjbFVxQUFBRUNCQWdRSUVDQXdEUUNFcEJwVU13aVFJQUFBUUlFQ0JBZ1FHQitCQ1FnCjgrT3FW
QUlFQ0JBZ1FJQUFBUUlFcGhHUWdFeURZaFlCQWdRSUVDQkFnQUFCQXZNaklBR1pIMWVsRWlCQWdB
QUJBZ1FJRUNBd2pZQUUKWkJvVXN3Z1FJRUNBQUFFQ0JBZ1FtQjhCQ2NqOHVDcVZBQUVDQkFnUUlF
Q0FBSUZwQkNRZzA2Q1lSWUFBQVFJRUNCQWdRSURBL0FoSQpRT2JIVmFrRUNCQWdRSUFBQVFJRUNF
d2pJQUdaQnNVc0FnUUlFQ0JBZ0FBQkFnVG1SMEFDTWordVNpVkFnQUFCQWdRSUVDQkFZQm9CCkNj
ZzBLR1lSSUVDQUFBRUNCQWdRSURBL0FoS1ErWEZWS2dFQ0JBZ1FJRUNBQUFFQzB3aElRS1pCTVlz
QUFRSUVDQkFnUUlBQWdma1IKa0lETWo2dFNDUkFnUUlBQUFRSUVDQkNZUmtBQ01nMktXUVFJRUNC
QWdBQUJBZ1FJekkrQUJHUitYSlZLZ0FBQkFnUUlFQ0JBZ01BMApBaEtRYVZETUlrQ0FBQUVDQkFn
UUlFQmdmZ1FrSVBQanFsUUNCQWdRSUVDQUFBRUNCS1lSV0dXYWVVdk5XbkxFa3FYbW1iRjRCVndQ
CmkvZmNPM0lDQkFnUUlFQ0F3TElLTE9ueXRLeUZXSjhBQVFJRUNCQWdRSUFBQVFJMUFwcGcxU2lK
SVVDQUFBRUNCQWdRSUVDZ2lZQUUKcEFtalFnZ1FJRUNBQUFFQ0JBZ1FxQkdRZ05Rb2lTRkFnQUFC
QWdRSUVDQkFvSW1BQktRSm8wSUlFQ0JBZ0FBQkFnUUlFS2dSa0lEVQpLSWtoUUlBQUFRSUVDQkFn
UUtDSmdBU2tDYU5DQ0JBZ1FJQUFBUUlFQ0JDb0VaQ0ExQ2lKSVVDQUFBRUNCQWdRSUVDZ2lZQUVw
QW1qClFnZ1FJRUNBQUFFQ0JBZ1FxQkdRZ05Rb2lTRkFnQUFCQWdRSUVDQkFvSW1BQktRSm8wSUlF
Q0JBZ0FBQkFnUUlFS2dSa0lEVUtJa2gKUUlBQUFRSUVDQkFnUUtDSmdBU2tDYU5DQ0JBZ1FJQUFB
UUlFQ0JDb0VaQ0ExQ2lKSVVDQUFBRUNCQWdRSUVDZ2lZQUVwQW1qUWdnUQpJRUNBQUFFQ0JBZ1Fx
QkdRZ05Rb2lTRkFnQUFCQWdRSUVDQkFvSW1BQktRSm8wSUlFQ0JBZ0FBQkFnUUlFS2dSa0lEVUtJ
a2hRSUFBCkFRSUVDQkFnUUtDSmdBU2tDYU5DQ0JBZ1FJQUFBUUlFQ0JDb0VaQ0ExQ2lKSVVDQUFB
RUNCQWdRSUVDZ2lZQUVwQW1qUWdnUUlFQ0EKQUFFQ0JBZ1FxQkdRZ05Rb2lTRkFnQUFCQWdRSUVD
QkFvSW1BQktRSm8wSUlFQ0JBZ0FBQkFnUUlFS2dSa0lEVUtJa2hRSUFBQVFJRQpDQkFnUUtDSmdB
U2tDYU5DQ0JBZ1FJQUFBUUlFQ0JDb0VaQ0ExQ2lKSVVDQUFBRUNCQWdRSUVDZ2lZQUVwQW1qUWdn
UUlFQ0FBQUVDCkJBZ1FxQkdRZ05Rb2lTRkFnQUFCQWdRSUVDQkFvSW1BQktRSm8wSUlFQ0JBZ0FB
QkFnUUlFS2dSa0lEVUtJa2hRSUFBQVFJRUNCQWcKUUtDSmdBU2tDYU5DQ0JBZ1FJQUFBUUlFQ0JD
b0VaQ0ExQ2lKSVVDQUFBRUNCQWdRSUVDZ2lZQUVwQW1qUWdnUUlFQ0FBQUVDQkFnUQpxQkdRZ05R
b2lTRkFnQUFCQWdRSUVDQkFvSW1BQktRSm8wSUlFQ0JBZ0FBQkFnUUlFS2dSa0lEVUtJa2hRSUFB
QVFJRUNCQWdRS0NKCmdBU2tDYU5DQ0JBZ1FJQUFBUUlFQ0JDb0VaQ0ExQ2lKSVVDQUFBRUNCQWdR
SUVDZ2lZQUVwQW1qUWdnUUlFQ0FBQUVDQkFnUXFCR1EKZ05Rb2lTRkFnQUFCQWdRSUVDQkFvSW1B
QktRSm8wSUlFQ0JBZ0FBQkFnUUlFS2dSa0lEVUtJa2hRSUFBQVFJRUNCQWdRS0NKZ0FTawpDYU5D
Q0JBZ1FJQUFBUUlFQ0JDb0VaQ0ExQ2lKSVVDQUFBRUNCQWdRSUVDZ2lZQUVwQW1qUWdnUUlFQ0FB
QUVDQkFnUXFCR1FnTlFvCmlTRkFnQUFCQWdRSUVDQkFvSW1BQktRSm8wSUlFQ0JBZ0FBQkFnUUlF
S2dSa0lEVUtJa2hRSUFBQVFJRUNCQWdRS0NKZ0FTa0NhTkMKQ0JBZ1FJQUFBUUlFQ0JDb0VaQ0Ex
Q2lKSVVDQUFBRUNCQWdRSUVDZ2lZQUVwQW1qUWdnUUlFQ0FBQUVDQkFnUXFCR1FnTlFvaVNGQQpn
QUFCQWdRSUVDQkFvSW1BQktRSm8wSUlFQ0JBZ0FBQkFnUUlFS2dSa0lEVUtJa2hRSUFBQVFJRUNC
QWdRS0NKZ0FTa0NhTkNDQkFnClFJQUFBUUlFQ0JDb0VaQ0ExQ2lKSVVDQUFBRUNCQWdRSUVDZ2lZ
QUVwQW1qUWdnUUlFQ0FBQUVDQkFnUXFCR1FnTlFvaVNGQWdBQUIKQWdRSUVDQkFvSW1BQktRSm8w
SUlFQ0JBZ0FBQkFnUUlFS2dSa0lEVUtJa2hRSUFBQVFJRUNCQWdRS0NKZ0FTa0NhTkNDQkFnUUlB
QQpBUUlFQ0JDb0VaQ0ExQ2lKSVVDQUFBRUNCQWdRSUVDZ2lZQUVwQW1qUWdnUUlFQ0FBQUVDQkFn
UXFCR1FnTlFvaVNGQWdBQUJBZ1FJCkVDQkFvSW1BQktRSm8wSUlFQ0JBZ0FBQkFnUUlFS2dSa0lE
VUtJa2hRSUFBQVFJRUNCQWdRS0NKZ0FTa0NhTkNDQkFnUUlBQUFRSUUKQ0JDb0VaQ0ExQ2lKSVVD
QUFBRUNCQWdRSUVDZ2lZQUVwQW1qUWdnUUlFQ0FBQUVDQkFnUXFCR1FnTlFvaVNGQWdBQUJBZ1FJ
RUNCQQpvSW1BQktRSm8wSUlFQ0JBZ0FBQkFnUUlFS2dSa0lEVUtJa2hRSUFBQVFJRUNCQWdRS0NK
Z0FTa0NhTkNDQkFnUUlBQUFRSUVDQkNvCkVaQ0ExQ2lKSVVDQUFBRUNCQWdRSUVDZ2lZQUVwQW1q
UWdnUUlFQ0FBQUVDQkFnUXFCR1FnTlFvaVNGQWdBQUJBZ1FJRUNCQW9JbUEKQktRSm8wSUlFQ0JB
Z0FBQkFnUUlFS2dSa0lEVUtJa2hRSUFBQVFJRUNCQWdRS0NKZ0FTa0NhTkNDQkFnUUlBQUFRSUVD
QkNvRVpDQQoxQ2lKSVVDQUFBRUNCQWdRSUVDZ2lZQUVwQW1qUWdnUUlFQ0FBQUVDQkFnUXFCR1Fn
TlFvaVNGQWdBQUJBZ1FJRUNCQW9JbUFCS1FKCm8wSUlFQ0JBZ0FBQkFnUUlFS2dSa0lEVUtJa2hR
SUFBQVFJRUNCQWdRS0NKZ0FTa0NhTkNDQkFnUUlBQUFRSUVDQkNvRVpDQTFDaUoKSVVDQUFBRUNC
QWdRSUVDZ2lZQUVwQW1qUWdnUUlFQ0FBQUVDQkFnUXFCR1FnTlFvaVNGQWdBQUJBZ1FJRUNCQW9J
bUFCS1FKbzBJSQpFQ0JBZ0FBQkFnUUlFS2dSa0lEVUtJa2hRSUFBQVFJRUNCQWdRS0NKZ0FTa0Nh
TkNDQkFnUUlBQUFRSUVDQkNvRVpDQTFDaUpJVUNBCkFBRUNCQWdRSUVDZ2lZQUVwQW1qUWdnUUlF
Q0FBQUVDQkFnUXFCR1FnTlFvaVNGQWdBQUJBZ1FJRUNCQW9JbUFCS1FKbzBJSUVDQkEKZ0FBQkFn
UUlFS2dSa0lEVUtJa2hRSUFBQVFJRUNCQWdRS0NKZ0FTa0NhTkNDQkFnUUlBQUFRSUVDQkNvRVpD
QTFDaUpJVUNBQUFFQwpCQWdRSUVDZ2lZQUVwQW1qUWdnUUlFQ0FBQUVDQkFnUXFCR1FnTlFvaVNG
QWdBQUJBZ1FJRUNCQW9JbUFCS1FKbzBJSUVDQkFnQUFCCkFnUUlFS2dSa0lEVUtJa2hRSUFBQVFJ
RUNCQWdRS0NKZ0FTa0NhTkNDQkFnUUlBQUFRSUVDQkNvRVpDQTFDaUpJVUNBQUFFQ0JBZ1EKSUVD
Z2lZQUVwQW1qUWdnUUlFQ0FBQUVDQkFnUXFCR1FnTlFvaVNGQWdBQUJBZ1FJRUNCQW9JbUFCS1FK
bzBJSUVDQkFnQUFCQWdRSQpFS2dSa0lEVUtJa2hRSUFBQVFJRUNCQWdRS0NKZ0FTa0NhTkNDQkFn
UUlBQUFRSUVDQkNvRVpDQTFDaUpJVUNBQUFFQ0JBZ1FJRUNnCmlZQUVwQW1qUWdnUUlFQ0FBQUVD
QkFnUXFCR1FnTlFvaVNGQWdBQUJBZ1FJRUNCQW9JbUFCS1FKbzBJSUVDQkFnQUFCQWdRSUVLZ1IK
a0lEVUtJa2hRSUFBQVFJRUNCQWdRS0NKZ0FTa0NhTkNDQkFnUUlBQUFRSUVDQkNvRVpDQTFDaUpJ
VUNBQUFFQ0JBZ1FJRUNnaVlBRQpwQW1qUWdnUUlFQ0FBQUVDQkFnUXFCR1FnTlFvaVNGQWdBQUJB
Z1FJRUNCQW9JbUFCS1FKbzBJSUVDQkFnQUFCQWdRSUVLZ1JrSURVCktJa2hRSUFBQVFJRUNCQWdR
S0NKZ0FTa0NhTkNDQkFnUUlBQUFRSUVDQkNvRVpDQTFDaUpJVUNBQUFFQ0JBZ1FJRUNnaVlBRXBB
bWoKUWdnUUlFQ0FBQUVDQkFnUXFCR1FnTlFvaVNGQWdBQUJBZ1FJRUNCQW9JbUFCS1FKbzBJSUVD
QkFnQUFCQWdRSUVLZ1JrSURVS0lraApRSUFBQVFJRUNCQWdRS0NKZ0FTa0NhTkNDQkFnUUlBQUFR
SUVDQkNvRVpDQTFDaUpJVUNBQUFFQ0JBZ1FJRUNnaVlBRXBBbWpRZ2dRCklFQ0FBQUVDQkFnUXFC
R1FnTlFvaVNGQWdBQUJBZ1FJRUNCQW9JbUFCS1FKbzBJSUVDQkFnQUFCQWdRSUVLZ1JrSURVS0lr
aFFJQUEKQVFJRUNCQWdRS0NKZ0FTa0NhTkNDQkFnUUlBQUFRSUVDQkNvRVpDQTFDaUpJVUNBQUFF
Q0JBZ1FJRUNnaVlBRXBBbWpRZ2dRSUVDQQpBQUVDQkFnUXFCR1FnTlFvaVNGQWdBQUJBZ1FJRUNC
QW9JbUFCS1FKbzBJSUVDQkFnQUFCQWdRSUVLZ1JrSURVS0lraFFJQUFBUUlFCkNCQWdRS0NKZ0FT
a0NhTkNDQkFnUUlBQUFRSUVDQkNvRVpDQTFDaUpJVUNBQUFFQ0JBZ1FJRUNnaVlBRXBBbWpRZ2dR
SUVDQUFBRUMKQkFnUXFCR1FnTlFvaVNGQWdBQUJBZ1FJRUNCQW9JbUFCS1FKbzBJSUVDQkFnQUFC
QWdRSUVLZ1JrSURVS0lraFFJQUFBUUlFQ0JBZwpRS0NKZ0FTa0NhTkNDQkFnUUlBQUFRSUVDQkNv
RVpDQTFDaUpJVUNBQUFFQ0JBZ1FJRUNnaVlBRXBBbWpRZ2dRSUVDQUFBRUNCQWdRCnFCR1FnTlFv
aVNGQWdBQUJBZ1FJRUNCQW9JbUFCS1FKbzBJSUVDQkFnQUFCQWdRSUVLZ1JrSURVS0lraFFJQUFB
UUlFQ0JBZ1FLQ0oKZ0FTa0NhTkNDQkFnUUlBQUFRSUVDQkNvRVpDQTFDaUpJVUNBQUFFQ0JBZ1FJ
RUNnaVlBRXBBbWpRZ2dRSUVDQUFBRUNCQWdRcUJHUQpnTlFvaVNGQWdBQUJBZ1FJRUNCQW9JbUFC
S1FKbzBJSUVDQkFnQUFCQWdRSUVLZ1JrSURVS0lraFFJQUFBUUlFQ0JBZ1FLQ0pnQVNrCkNhTkND
QkFnUUlBQUFRSUVDQkNvRVpDQTFDaUpJVUNBQUFFQ0JBZ1FJRUNnaVlBRXBBbWpRZ2dRSUVDQUFB
RUNCQWdRcUJHUWdOUW8KaVNGQWdBQUJBZ1FJRUNCQW9JbUFCS1FKbzBJSUVDQkFnQUFCQWdRSUVL
Z1JrSURVS0lraFFJQUFBUUlFQ0JBZ1FLQ0pnQVNrQ2FOQwpDQkFnUUlBQUFRSUVDQkNvRVpDQTFD
aUpJVUNBQUFFQ0JBZ1FJRUNnaVlBRXBBbWpRZ2dRSUVDQUFBRUNCQWdRcUJHUWdOUW9pU0ZBCmdB
QUJBZ1FJRUNCQW9JbUFCS1FKbzBJSUVDQkFnQUFCQWdRSUVLZ1JrSURVS0lraFFJQUFBUUlFQ0JB
Z1FLQ0pnQVNrQ2FOQ0NCQWcKUUlBQUFRSUVDQkNvRVpDQTFDaUpJVUNBQUFFQ0JBZ1FJRUNnaVlB
RXBBbWpRZ2dRSUVDQUFBRUNCQWdRcUJHUWdOUW9pU0ZBZ0FBQgpBZ1FJRUNCQW9JbUFCS1FKbzBJ
SUVDQkFnQUFCQWdRSUVLZ1JrSURVS0lraFFJQUFBUUlFQ0JBZ1FLQ0pnQVNrQ2FOQ0NCQWdRSUFB
CkFRSUVDQkNvRVpDQTFDaUpJVUNBQUFFQ0JBZ1FJRUNnaVlBRXBBbWpRZ2dRSUVDQUFBRUNCQWdR
cUJHUWdOUW9pU0ZBZ0FBQkFnUUkKRUNCQW9JbUFCS1FKbzBJSUVDQkFnQUFCQWdRSUVLZ1JrSURV
S0lraFFJQUFBUUlFQ0JBZ1FLQ0pnQVNrQ2FOQ0NCQWdRSUFBQVFJRQpDQkNvRVpDQTFDaUpJVUNB
QUFFQ0JBZ1FJRUNnaVlBRXBBbWpRZ2dRSUVDQUFBRUNCQWdRcUJHUWdOUW9pU0ZBZ0FBQkFnUUlF
Q0JBCm9JbUFCS1FKbzBJSUVDQkFnQUFCQWdRSUVLZ1JrSURVS0lraFFJQUFBUUlFQ0JBZ1FLQ0pn
QVNrQ2FOQ0NCQWdRSUFBQVFJRUNCQ28KRVpDQTFDaUpJVUNBQUFFQ0JBZ1FJRUNnaVlBRXBBbWpR
Z2dRSUVDQUFBRUNCQWdRcUJHUWdOUW9pU0ZBZ0FBQkFnUUlFQ0JBb0ltQQpCS1FKbzBJSUVDQkFn
QUFCQWdRSUVLZ1JrSURVS0lraFFJQUFBUUlFQ0JBZ1FLQ0pnQVNrQ2FOQ0NCQWdRSUFBQVFJRUNC
Q29FWkNBCjFDaUpJVUNBQUFFQ0JBZ1FJRUNnaVlBRXBBbWpRZ2dRSUVDQUFBRUNCQWdRcUJHUWdO
UW9pU0ZBZ0FBQkFnUUlFQ0JBb0ltQUJLUUoKbzBJSUVDQkFnQUFCQWdRSUVLZ1JrSURVS0lraFFJ
QUFBUUlFQ0JBZ1FLQ0pnQVNrQ2FOQ0NCQWdRSUFBQVFJRUNCQ29FWkNBMUNpSgpJVUNBQUFFQ0JB
Z1FJRUNnaVlBRXBBbWpRZ2dRSUVDQUFBRUNCQWdRcUJHUWdOUW9pU0ZBZ0FBQkFnUUlFQ0JBb0lt
QUJLUUpvMElJCkVDQkFnQUFCQWdRSUVLZ1JrSURVS0lraFFJQUFBUUlFQ0JBZ1FLQ0pnQVNrQ2FO
Q0NCQWdRSUFBQVFJRUNCQ29FWkNBMUNpSklVQ0EKQUFFQ0JBZ1FJRUNnaVlBRXBBbWpRZ2dRSUVD
QUFBRUNCQWdRcUJHUWdOUW9pU0ZBZ0FBQkFnUUlFQ0JBb0ltQUJLUUpvMElJRUNCQQpnQUFCQWdR
SUVLZ1JrSURVS0lraFFJQUFBUUlFQ0JBZ1FLQ0pnQVNrQ2FOQ0NCQWdRSUFBQVFJRUNCQ29FWkNB
MUNpSklVQ0FBQUVDCkJBZ1FJRUNnaVlBRXBBbWpRZ2dRSUVDQUFBRUNCQWdRcUJHUWdOUW9pU0ZB
Z0FBQkFnUUlFQ0JBb0ltQUJLUUpvMElJRUNCQWdBQUIKQWdRSUVLZ1JrSURVS0lraFFJQUFBUUlF
Q0JBZ1FLQ0pnQVNrQ2FOQ0NCQWdRSUFBQVFJRUNCQ29FWkNBMUNpSklVQ0FBQUVDQkFnUQpJRUNn
aVlBRXBBbWpRZ2dRSUVDQUFBRUNCQWdRcUJHUWdOUW9pU0ZBZ0FBQkFnUUlFQ0JBb0ltQUJLUUpv
MElJRUNCQWdBQUJBZ1FJCkVLZ1JrSURVS0lraFFJQUFBUUlFQ0JBZ1FLQ0pnQVNrQ2FOQ0NCQWdR
SUFBQVFJRUNCQ29FWkNBMUNpSklVQ0FBQUVDQkFnUUlFQ2cKaVlBRXBBbWpRZ2dRSUVDQUFBRUNC
QWdRcUJHUWdOUW9pU0ZBZ0FBQkFnUUlFQ0JBb0ltQUJLUUpvMElJRUNCQWdBQUJBZ1FJRUtnUgpr
SURVS0lraFFJQUFBUUlFQ0JBZ1FLQ0pnQVNrQ2FOQ0NCQWdRSUFBQVFJRUNCQ29FWkNBMUNpSklV
Q0FBQUVDQkFnUUlFQ2dpWUFFCnBBbWpRZ2dRSUVDQUFBRUNCQWdRcUJHUWdOUW9pU0ZBZ0FBQkFn
UUlFQ0JBb0ltQUJLUUpvMElJRUNCQWdBQUJBZ1FJRUtnUmtJRFUKS0lraFFJQUFBUUlFQ0JBZ1FL
Q0pnQVNrQ2FOQ0NCQWdRSUFBQVFJRUNCQ29FWkNBMUNpSklVQ0FBQUVDQkFnUUlFQ2dpWUFFcEFt
agpRZ2dRSUVDQUFBRUNCQWdRcUJHUWdOUW9pU0ZBZ0FBQkFnUUlFQ0JBb0ltQUJLUUpvMElJRUNC
QWdBQUJBZ1FJRUtnUmtJRFVLSWtoClFJQUFBUUlFQ0JBZ1FLQ0pnQVNrQ2FOQ0NCQWdRSUFBQVFJ
RUNCQ29FWkNBMUNpSklVQ0FBQUVDQkFnUUlFQ2dpWUFFcEFtalFnZ1EKSUVDQUFBRUNCQWdRcUJH
UWdOUW9pU0ZBZ0FBQkFnUUlFQ0JBb0ltQUJLUUpvMElJRUNCQWdBQUJBZ1FJRUtnUmtJRFVLSWto
UUlBQQpBUUlFQ0JBZ1FLQ0pnQVNrQ2FOQ0NCQWdRSUFBQVFJRUNCQ29FWkNBMUNpSklVQ0FBQUVD
QkFnUUlFQ2dpWUFFcEFtalFnZ1FJRUNBCkFBRUNCQWdRcUJHUWdOUW9pU0ZBZ0FBQkFnUUlFQ0JB
b0ltQUJLUUpvMElJRUNCQWdBQUJBZ1FJRUtnUmtJRFVLSWtoUUlBQUFRSUUKQ0JBZ1FLQ0pnQVNr
Q2FOQ0NCQWdRSUFBQVFJRUNCQ29FWkNBMUNpSklVQ0FBQUVDQkFnUUlFQ2dpWUFFcEFtalFnZ1FJ
RUNBQUFFQwpCQWdRcUJHUWdOUW9pU0ZBZ0FBQkFnUUlFQ0JBb0ltQUJLUUpvMElJRUNCQWdBQUJB
Z1FJRUtnUmtJRFVLSWtoUUlBQUFRSUVDQkFnClFLQ0pnQVNrQ2FOQ0NCQWdRSUFBQVFJRUNCQ29F
WkNBMUNpSklVQ0FBQUVDQkFnUUlFQ2dpWUFFcEFtalFnZ1FJRUNBQUFFQ0JBZ1EKcUJHUWdOUW9p
U0ZBZ0FBQkFnUUlFQ0JBb0ltQUJLUUpvMElJRUNCQWdBQUJBZ1FJRUtnUmtJRFVLSWtoUUlBQUFR
SUVDQkFnUUtDSgp3UDhIdStJeUs3cFBJM3dBQUFBQVNVVk9SSzVDWUlJPQoKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9oZWJyZXctdm93ZWxz
LWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBh
IGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCgppVkJPUncwS0dnb0FBQUFO
U1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQUM3bWxEUTFCSlEwTWdVSEp2Wm1sc1pRQUFl
QUdGClZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9SRmlhd3piSDdaRmtHUXpT
ZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmgKQi8rQUhucndaQzlLaFZwRktONnJLR0toRnkzeHpXNU10
cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVKcQovSWdBanFJSlFUUWxW
ZHZzVGlRR1FZTnorWHZuMkhvUGdWdFd3M3Y3ZDdKM3JaclN0cG9IaFAxQTRFZWEyU3F3N3hkeENs
a1NBb2c4CjM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVBMUxjNS9UYmhUelNYVFFJ
TklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYkkKRUwxUGtLYTd6TzZyWXFHY1R2WU9rTDJkOUg1T3M5
NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FWdHhxcAorRFhDRkY4UVRT
ZWlWSEhaTGczeG1LNzlWdkpLZ25DUU9NcGtZWUJ6V2toUDEweHUrTHFIQlgwbTF4T3Y0bmRXVWVG
NWp4Tm4zdFRkCjcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNHUEJveE5MSnlQeU9yQmh1
VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeisKS0NKeGxFTzFDSkw4UWY0cXI4bFA1WG41eTF5
dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhSNWFzZVhxOAptdXdhUCt4
WGx6SG1naldQeEhPdysvRXRYNVhNbHltTUZNWGpWZlBxUzRSMVdqRTMzNTlzZnpzOTRpN1BMclhX
YzYySml6ZFdtNWRuCi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlLVEVtZG9ybklZbVh4Uzd4
a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTgKOVM5ZFAxdDR2VVovRFBWUmxCbk0wbFNK
OTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUzSHZFS0ZscFc1egpyZ0lY
djlGOThMWnVhNk4rT1B3RVdEeXJGcTFTTlo4Z3ZBRWNkb2Q2SHVncG1OT1dsczA1VW9jc241TzY2
Y3BpVXN4UTIwTlNVdGNsCjEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2ZkVwMHBsay9xdjhSR3cv
YkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQWcKQUVsRVFWUjRBZXpkQjd3VnhkMy84
YmtJaW9BaUNDcFdDQ0pxaklvRnhCcU5SdEVZUzdBa0VpeC9XOVJvb2xFVGpTWEcyS05HWDQ4UgpT
K3pkQjJOTFlpV2lNUWE3RWhNcmx0aEFRSXFBQXU1L3ZoUDNQSHYzN213NTlkNTdQdnQ2WGM3Wm5k
M1ptZmZ1T2V6djdNeHNTMkFuCnc0UUFBZ2dnZ0FBQ0NDQ0FBQUlJMUVHZ1N4MzJ3UzRRUUFBQkJC
QkFBQUVFRUVBQUFTZEFBTUtKZ0FBQ0NDQ0FBQUlJSUlBQUFuVVQKSUFDcEd6VTdRZ0FCQkJCQUFB
RUVFRUFBQVFJUXpnRUVFRUFBQVFRUVFBQUJCQkNvbXdBQlNOMm8yUkVDQ0NDQUFBSUlJSUFBQWdn
UQpnSEFPSUlBQUFnZ2dnQUFDQ0NDQVFOMEVDRURxUnMyT0VFQUFBUVFRUUFBQkJCQkFnQUNFY3dB
QkJCQkFBQUVFRUVBQUFRVHFKa0FBClVqZHFkb1FBQWdnZ2dBQUNDQ0NBQUFKVkRVRG16cDFyM252
dlBhL3E5T25UemV1dnYrNU5KNkZ4QWpwMjc3Ly9mdU1LMEk3My9Qbm4KbjVzbm4zeXk3aVhNK3J4
a3BSY3RjTFh6SzdwLzFrY0FBUVFRUUFDQjVoRElERUMrODUzdm1ENTkrcGlkZHRySjdMMzMzbWFK
SlpZdwpnd1lOTXFOSGp6WmJicm1sbTcvKyt1dk56VGZmYkZaY2NVVnp3dzAzZU9WT1BmVlVzL3Z1
dTN2VFNjZ3ZjTjk5OTVtTk50ckl0TFMwCm1NMDIyOHc4OE1BRGJ1T3BVNmVhRTA4ODBTM3YwcVdM
K2ZXdmYyMW16NTZkbXZHNGNlUE04c3N2Yis2NDQ0N1U5Wm94OFIvLytJZloKWkpOTnpKNTc3bG4z
Nm1kOVhyTFNpeGE0MnZrVjNUL3JJNEFBQWdnZ2dFQnpDTFFFZGtxcjZvNDc3bWd1di94eUYzUm92
YVdYWHRycwp1KysrNXBwcnJuR2JYWGpoaGFaWHIxN20wRU1QTmV1dXU2NFpNMmFNT2Vta2t4S3ox
QytzTTJiTU1FT0dERWxNOXkwTWY0SGVkdHR0CmZhdGtMcTlHSHBrN3FmTUtWMTU1cFhOWDhQZjk3
MysvMWQ3NzkrOXZWbGhoQmZQUGYvNnoxWExmekVvcnJXUisvdk9mbTUvODVDZSsKVlpwMitXOS8r
MXR6L3Zubm00OCsrcWl1QnZIUFMvd2NqcWRYV3JocTUxZHBlZGdlQVFRUVFBQUJCRHFuUU9ZZGtH
T1BQYllVZkNRUgpISGJZWWViclgvKzZTK3JXclp2NzVUMXBQUzNUcit4SndVZGFETFJ3NFVMend4
LyswRHorK09PK2JCT1hSL01zTjQvRWpPdTRNRnFICnBOMHV0OXh5Ym5INEdsMUh5NUtXUjllSnZz
ODZkdEYxbSszOWtrc3VtWHBlUnoyeWpsbDAzZmo3K0xiUnowdlNPUnhOaitkVnpueTUKK2NYTFhj
NisyUVlCQkJCQUFBRUVta2NnTXdEUkhaQzBxV2ZQbm1hTExiWW9yZkxsbDE4YU5lVllmZlhWelhy
cnJXZW1USm5pMGo3OAo4RU56M25ubm1aRWpSNWJXdmUyMjI4enZmLzk3dDN6enpUY3ZMWSsrdWZq
aWk4MDk5OXhqL3ZqSFA1cjk5OS9mZlBiWlorYmpqejgyCkNveTIyV1licy9IR0c1dW5ubnFxdEVs
U25rbDVsRGI0NnMzOCtmUE55U2VmYk00OTkxeXp6ejc3bUFzdXVLQzBpdnBISEhYVVVlYTQKNDQ1
elRjaU9QdnBvby9VMXFTbVU3aDVzdXVtbTVvMDMzbkRMSmsyYVpOWllZdzN6NElNUHVubGZlWjk3
N2ptakFPNlh2L3lsK2MxdgpmbU4wMTBMYkp0WEJaVlRoUDc1eWhObk9temZQL094blAzTk42ZVQ2
cjMvOXl5WDV5dW5MYi96NDhhNHVlK3l4aC9uMDAwL050ZGRlCjYrWjMyR0dIa3BIdW5HMjExVlpt
d1lJRjRlNUxyM2xNMDQ1Sk9mdjMxYVZVS00rYmh4OSsyTjE5T3VXVVU5d2RwQUVEQnJoelg4dkQK
S2Eyc1dpZnBlTWMvTC9GeitNMDMzMnp6ZVVyYno0UUpFOXlkU3gzZnE2KysyZ3dlUE5pc3ZmYmEz
czluMXZvcXQ4NFhmUzdVek8vYgozLzYyeTErZm42SS9GaWd2SmdRUVFBQUJCQkJvSWdINzYyV2hx
WHYzN3NFQkJ4eVF1TTM2NjY4ZmJMREJCb0c5K0Fwc1ovVEFYdUFFCkJ4OThzRnZYOWswSURqLzg4
S0JmdjM1dTN2NmlHOWkyOWFWOGZ2clRud2FMRnk4dXpVZmZEQnc0TURqcnJMUGNva1dMRmdXalJv
MEsKYkw4R3Q3NjlnQS9zaFhzd2MrYk1JQzNQYUI3UnZNUDN0bzlMOFBlLy85M05QdlBNTTJxV0Zq
ejc3TE51ZnV1dHR3NXNQeGYzL29zdgp2Z2lHRHg4ZTJMNHg0YWF1anZiT1RtbGU1YkJOb3R4OFdu
bTFQOXUvSnRod3d3MkRPKys4TTFCZFhubmxsZHd1dDk5K3V5dW52WmdQCmJCRFc2bS9WVlZjTmJG
QlhLbE5hT2JTUzFyZDNzZ0liN0FXUFB2cG9JSyt2ZmUxcnpqU3BuRFk0OFI0SDVXZjdwd1FISFhT
UTNycnAKbTkvOFpuRGdnUWVHczhIOTk5OGYyR1o4cGZuNEc1MDNQbE90bTNWTWl1dy95K2FTU3k0
SmJKQVpMNktidHdGMllKdTZCYlpmVkdBdgp2SVBISG52TWZRWldXMjIxMHZwcFpmV2RzL0hQaXpL
TG5zTko2V243c2MzSGdyWFdXc3Q5SnUrOTk5N2c3YmZmRG9ZT0hSb2Njc2doCnJwengvTExXMTBh
WFhucHBZSU55dC8zTEw3L3N6a1ViZ0xpODNVTCtRUUFCQkJCQUFBRUVFZ1F5NzRBVWpjWFVhZjFi
My9xV3NSZTAKUm4wMi92M3ZmN3NzOU92K043N3hEV1BMNE9iMXkvZ0xMN3hnL3ZTblA3bDVleUZV
U2t2YXB6cGJhN0lYM1c0OS9jcjZsNy84eGVnWAo1Mm5UcHBtSkV5ZTZYOXZUOGd6emlPZHZMN2pO
ODg4L2IwYU1HT0dTOU91LytyM29Mb2IyOGNRVFQ3aGZkNVdvcGtyMnd0cmQrYkFYCjVtNTkvUXFz
MGIyZWZ2cHBONjlmdi9mYWF5LzNQcTI4Nmp5dVg2SFhXV2NkODczdmZjL3RVMDVwZFhDWnh2NzU2
MS8vNmdZQlVGK1EKOEcvT25EbXQxa29yUjdqaTJMRmp6YTY3N3VxTzJ6bm5uR1BlZXVzdG83b2ts
Vk5lT3BaSngwSDUyV0REZFl6WEhURk4yMisvdmJFWAp2c1plN0x2NXFKRmJFUHNuelRUUE1TbXkv
encyc2VLVlptMVFZR3l3WWI3NzNlKzZRUmxzRUdCdXZmVldOeHFjN2lCbGxkWDNPWWgvClhzSWRo
dWR3UEQxclB4b2dRbmM5OUJuVVoxVG45bmJiYldkZWZmVlZsM1U4djZ6MXRaRUduRkN6TFUyNjI2
azhOQ2x2SmdRUVFBQUIKQkJCQXdDZFE5UUFrdkVEU0RqVjZscHFGaEpQU3duUjdKOFNOTEtRTDNp
T1BQTkxvUWs0amJQbW1jRHRkOU91aVIrM3k5YWZtWHc4OQo5SkJyaXBXVlo1aEhmQjhLWHRRRUxK
cXVwbEhhajVwRTZjSktnVWM0MlRzZzdxMHV3alhadXo1dS96ZmVlS09iMTRoVXUreXlpM3VmClZs
NnRvRTc5NFlXYjVyUHFvSFhpazcyelpINzN1OSsxK292bXFmV3p5cUYxZXZmdXJSYzNLZWpRRkE2
YkhDOW5WbjdxRksvQU1HeU8KTTNueVpOZDg3cEZISG5ITnJoU1lxUG1lYjBvenpYTk1pdXcvcXk2
K01vYkxkZDVFejEwRmxUcjNGV1JsbFRYdGVDdmY2RG1wL1VYbgpvK2xaK3dtM2pXNi96RExMdEdv
Q0Y4MHZ6L3JhWG5iaHBLYUlZUkFmTHVNVkFRUVFRQUFCQkJDSUMzU05MNmpudkg2dFgzbmxsZDJG
CnMvb1o2TUo5MldXWFRTM0NKNTk4WXJwMjdlcCtVVTlhc1p3ODFmNWZGOGhKazlxNWE1OEtwRFRh
bHliOWlxd3lxRDlLT09tdXlLOSsKOVN0ejVwbG5HdHRNelFWSFNzc3FiN2g5OUxXY09rUzNUM3Bm
dEJ6NkZWc1htUHBMbXJMeVUvQ21YOXB2dXVrbTF4bGVROWxxV0dEZApIWmcxYTFhdTRaaDlwbm1P
U1pIOVo5VWxxZjVaeTFSWG5TTjV5bHFONDUxblAxbGxMcHB1bTAwYTJ4elQyT1pYWnFtbGxqSTll
dlJ3Ci9iS0s1c1A2Q0NDQUFBSUlJTkJjQWxXL0E1S1hUME9hMm5ibjVxS0xMbkxOVkhRUm80dFQz
eFQrY3F0bmtPaU9SN1R6c3BvQ3FSbFMKVnA1aEh2Rjk2R0pidi9TclkyODRLVS9kNGRDdjJiWnZT
cWw1bGRKVmJqVWxVdE9wY1ByQkQzN2ducmZ4NHgvLzJLanpkVGlsbFRkYwpKL3FhVllmb3VrWGVG
eTNIQng5OFlOU01hOWl3WVltN3laT2ZMazcxYkJFTkYyejdkTGhtV1hmZGRaZTdNNkFCQkxJbW4y
bmVZNUozCi8zbnFrbFhXYVBwcnI3MW1OS1N0bnRPU1ZkYWl4OXQzRG1mdEoxcSthcjNmZWVlZGpa
cE9xdm1YN1RkbDFIR2RDUUVFRUVBQUFRUVEKeUJJb0ZJQ28yWXp0aE8yZTVaR1VzWDZGMVY4NGFh
U29jTFFvTFZPYTVuVnhyd3MwamY2alNTUG83TGJiYnFVN0RHNWg1QjhOSi91ZgovL3pITGRHdjZy
cGpvU1pTdHVPNUN3Yk9PT01NTjd4dldwN1JQTFJkZE5Lb1Y3cHJvWDREYXJldnZ4Tk9PTUcxN1Zk
ZkR2Vm5VZEFUClRyclkwZ1dmSHM0WVRzcGZENnZUZyt2Q0pscEsyMisvL2J6bFZib0NtYWhSV2gy
MGZuUUt0NHZYUitzb1FJc3V6eXFIdGxHZ0ZVN3EKRjZPSFJxb3BsS1o0T2ZQa1p3Y0xjTCtNcTNt
U21uZXB6NEh1Y0tuZmp1OUNPdHkvWG4ybWVZOUozdjFuMVVYbnZPMHNIaTFhbS9jNgpidUdrQzNH
TjhLWG1TRmxsVFR2ZTBjK0w4bzZmdzlIMHJQMW9lOVVqN0pPamVXMGZQZWJSL1BLc3J6dCt0bU83
MGFod0NoYlZUQzg2CjZia2xkdkNJMG1jM21zWjdCQkJBQUFFRUVHaGlBUnNNNUpwc0V5VTNTcE9s
Q3V6RlpHQWZ6aGJZcGpTbGJUV0trMjEyRXRpSEVRYjIKemtGZ20xUUY5ZzVCWUp1aHVKR1Y3SVY1
WUlmZ1ZRLzB3TjcxY092WVRyR0JmUXAzY1BmZGR3ZEhISEdFRzNHcGxHSGtqWDJ3WVdBdgpXTjJv
U2piNENPelF2WUZ0OHVHVzJiNE9nZjFWM2EydE12cnlqT2NSeWQ2OVZSN0tTK1d6ZDBRQzIvRzh0
SXJxb25yWmg5RUZ0dE44CllCL0VHR2dVcVBoayt6Y0VaNTk5ZG55eHQ3eTJlVkpnKzBFRTlvSThz
TUdZMnk2dER0R003VkMxZ1IzNjE1WFg5dGNJN0pDL0xsaysKcXF2cUlUUGJKS3gwbkh4dTJ2QzAw
MDRMYk5PeXdIWStkM1U0NXBoajNFaGpTa3NxcDVhbjVhZDBUWGJZMThBT1QvemZHZnV2SGE2Mgox
WHdwd2ZQR1o1cjNtT1RkdjY4dU9tL3RvQVRPODdMTExndnNSWFdia21vME40MWtwcnJaaS9MQUJ0
U0J2Yk5SV2krdHJMN2pIZis4CmFML1JjL2pQZi81enE4K1QwdFAybzlHNWJBQVQyQ2FQYnJRM085
QkJzT2FhYTdyUGtjNmQrUDVzLzVYVTlWVTUrOUJLNTZKenpRYVoKZ2UyNDdqN0hvWkZHZE5NNWVO
MTExNVVzZUlNQUFnZ2dnQUFDQ0dRK0NkMWVYTlJrMGkreGFpZXZVWURVd1R1dFE3SUtvSGI2NnJB
YgpUdm8xMXc3MTYwYmNVVnQ3VFZsNXh2TUk4d3BmN2VuZzdxaG9CS0Q0cERROTUwTmwxbWhDdnNs
ZWZMbGYvZVBwU2VXTnI2UDVyRG9rCmJWTmtXVlk1MUNSSXpxRnBWdDVaK2NVOTR2TlorU3ZkdDAy
ZVl4TGZOajRmM1g5V1hhTHJSdC9yR1RBYS9VcDM0blFYSVQ0QWdOYjEKbGJYbzhjNXpEdWM1VDZQ
bEwvZTlEYmJONk5HajNkMDJOZGZUWjFramlvMFpNNmJVUjBzREVTUjVsTHRQdGtNQUFRUVFRQUNC
amkvUQpzQUNrNDlOUkF3VCtLeEFHSVBhdVlOT1FYSEhGRlM3WTBFaGYwVWtEU1NoQXQzZFhvb3Q1
andBQ0NDQ0FBQUlJbEFRYU9ncFdxUlM4ClFhQ0RDdWdPaGpyc1J3Y3c2S0JWS1ZSczI1elM5ZjFR
M3hNOU4wZjlrZFEzUzMyMENENEtVYkl5QWdnZ2dBQUNUU2ZBSFpDbU8rUlUKdUpvQ3RuOURxWk8x
ZlhLODBmTkhtbVhTY01wNmhvNmE3ZW1ob3dRZXpYTGtxU2NDQ0NDQUFBS1ZDUkNBVk9iSDFnZ2dn
QUFDQ0NDQQpBQUlJSUZCQW9OQXd2QVh5WlZVRUVFQUFBUVFRUUFBQkJCQkFvSTBBQVVnYkVoWWdn
QUFDQ0NDQUFBSUlJSUJBclFRSVFHb2xTNzRJCklJQUFBZ2dnZ0FBQ0NDRFFSb0FBcEEwSkN4QkFB
QUVFRUVBQUFRUVFRS0JXQWdRZ3RaSWxYd1FRUUFBQkJCQkFBQUVFRUdnalFBRFMKaG9RRkNDQ0FB
QUlJSUlBQUFnZ2dVQ3NCQXBCYXlaSXZBZ2dnZ0FBQ0NDQ0FBQUlJdEJFZ0FHbER3Z0lFRUVBQUFR
UVFRQUFCQkJDbwpsUUFCU0sxa3lSY0JCQkJBQUFFRUVFQUFBUVRhQ0JDQXRDRmhBUUlJSUlBQUFn
Z2dnQUFDQ05SS2dBQ2tWckxraXdBQ0NDQ0FBQUlJCklJQUFBbTBFQ0VEYWtMQUFBUVFRUUFBQkJC
QkFBQUVFYWlWQUFGSXJXZkpGQUFFRUVFQUFBUVFRUUFDQk5nSUVJRzFJV0lBQUFnZ2cKZ0FBQ0ND
Q0FBQUsxRWlBQXFaVXMrU0tBQUFJSUlJQUFBZ2dnZ0VBYmdhNXRsc1FXWEhubGxiRWx6Q0tBQUFJ
SUlJQUFBZ2dnZ0FBQwpiUVZHang1dCt2VHAwelloc2lRekFORzZ5b2dKQVFRUVFBQUJCQkJBQUFF
RUVLaFVvQ1d3VTZXWnNEMENDQ0NBQUFJSUlJQUFBZ2dnCmtFZUFQaUI1bEZnSEFRUVFRQUFCQkJC
QUFBRUVxaUpBQUZJVlJqSkJBQUVFRUVBQUFRUVFRQUNCUEFJRUlIbVVXQWNCQkJCQUFBRUUKRUVB
QUFRU3FJa0FBVWhWR01rRUFBUVFRUUFBQkJCQkFBSUU4QWdRZ2VaUllCd0VFRUVBQUFRUVFRQUFC
QktvaVFBQlNGVVl5UVFBQgpCQkJBQUFFRUVFQUFnVHdDQkNCNWxGZ0hBUVFRUUFBQkJCQkFBQUVF
cWlKQUFGSVZSakpCQUFFRUVFQUFBUVFRUUFDQlBBSUVJSG1VCldBY0JCQkJBQUFFRUVFQUFBUVNx
SWtBQVVoVkdNa0VBQVFRUVFBQUJCQkJBQUlFOEFnUWdlWlJZQndFRUVFQUFBUVFRUUFBQkJLb2kK
UUFCU0ZVWXlRUUFCQkJCQUFBRUVFRUFBZ1R3Q0JDQjVsRmdIQVFRUVFBQUJCQkJBQUFFRXFpSkFB
RklWUmpKQkFBRUVFRUFBQVFRUQpRQUNCUEFJRUlIbVVXQWNCQkJCQUFBRUVFRUFBQVFTcUlrQUFV
aFZHTWtFQUFRUVFRQUFCQkJCQUFJRThBZ1FnZVpSWUJ3RUVFRUFBCkFRUVFRQUFCQktvaVVOVUFa
TzdjdWVhOTk5NnJTc0hhVXlhZmYvNjVlZkxKSjNNVmFkNjhlYm5XNjJnclRaOCszYnorK3VzVkY3
dUkKcFhhMmVQRmk4KzkvLzd2aS9VWXorT3l6ejZLemhkL1granpQTXNveVVmbmVmLy85d3ZYcXJC
dDBCcTlLejdsS3Q2L1Z1VkhwOTByVwpaNlZXNVNaZkJCQkFBSUhLQkRJRGtPOTg1enVtVDU4K1px
ZWRkako3NzcyM1dXS0pKY3lnUVlQTTZOR2p6WlpiYnVubXI3LytlblB6CnpUZWJGVmRjMGR4d3d3
MlZsYWlkYmYyUGYvekRiTExKSm1iUFBmZk1MTmxUVHoxbDdyLy8vc3oxT3VJS3A1NTZxdGw5OTkw
cktub1IKUyszbzZhZWZOaHR1dUtFNTlOQkRLOXB2Zk9OMzNubkgzSGJiYmZIRnVlWnJmWjVuR1dX
WmpCczN6aXkvL1BMbWpqdnV5RldmenI1UwpaL0NxOUp5cmRQdGFuaU9WZks5a2ZWWnFXVzd5UmdB
QkJCQ29UQ0F6QUZtNGNLRjU3cm5uekYvKzhoZHorKzIzbXlXWFhOSjg4NXZmCk5IZmVlYWQ1NG9r
bnpQbm5uMjhXTEZoZ2Z2Q0RINWcxMWxpanN0SzB3NjFIakJoaERqamdnTXlTNllKUEFjaGVlKzNs
MXRVdmN4TW0KVE1qY3JyMnVFQy8vR1dlY1lmNzR4ejlXVk55OGx1Rk9OdDEwVTNldWRldldMVnlV
K1JvdmQ5SUc2NjY3cnRsb280M015U2VmbkpTYwp1cXpXNTNtV1VaYkpZWWNkNW40d1NLMUVPMGpN
YzV5cVVjeU82aFgxS2VlY3EzVDdhdGpueWFPUzc1V3N6MHA4LzFFVHBjWG40K3N6Cmp3QUNDQ0JR
TzRITUFPVFlZNDkxZHp4OFJkQUZ6OWUvL25XWHJBdkZscFlXMzZvZGRybUNyclI2ZmZUUlIrYWNj
ODR4UC9uSlQxd2QKRmJUOThJYy9OSTgvL25pSHJITlMrZldyK3BBaFF3clZaOUdpUlczV3o3SU1O
L2p5eXkvZDI2NWR1NW91WFRKUFU3ZHVVcm5EL0lJZwpDTis2VjlWRlRYUHkzTEdLYjF2cjg5eG5s
TmVrMXVWckJWbkdUTnB4S2lNNzd5WWR4U3YrT1VueUtYSk1LOTNlQzFwaFFyeWV5cTZjCjc1Vm9N
WHlmbGVnNmVoODNpYy9IMTJjZUFRUVFRS0MyQXBsWGRqdnV1R05xQ1hyMjdHbTIyR0tMMGpyNlQx
KzMxVmRmZlhXejNucnIKbVNsVHBwVFNQdjc0WTZPQVpwdHR0akViYjd5eHUyTlFTb3k4dWUrKys4
eEtLNjFrOU92bEcyKzg0VkltVFpyazdyQTgrT0NEYmw1dAptbzg2NmloejNISEh1YVpCUng5OXRK
ay9mNzVMR3o5K3ZPbmZ2Ny9aWTQ4OXpLZWZmbXF1dmZaYU43L0REanVVOHJ2d3dndk5WbHR0CjVl
N2VhS084WlhNN2lQMXp5aW1udEdxaWRmSEZGNXQ3N3JuSDNUSFlmLy85WGZPMG91VkpxMTlzOXlh
UGw2OSt1cnVsSVBLWHYveWwKK2MxdmZ1T2NkSXlpNVgvenpUZk5lZWVkWjBhT0hGbmF0YXgxQitI
Y2M4ODErK3l6ajduZ2dndEthWTg4OG9oYkxtT2RHNU1uVHk2bApaYjFSSDVvampqakNuSG5tbWVi
d3d3ODN6enp6VEt0TjBsemk3dXJyb2FaV3YvLzk3MTM1Tjk5ODgxWjVmZi83M3pjLy8vblBYU0RT
Ckt1R3JtYlJ0MDg3enRESXF6MVZXV2NWY2V1bWxiaSszM25xckdUcDBxS3RyVWhtMExNc2thVHR0
ODdPZi9jdzFpOVJuN1YvLytsZHAKTmQrNVVGb2g4aWJ0T1B2eTBaMi9mZmZkMSszLzZxdXZOb01I
RHpacnI3MTI2YnNnNlRqNThrbzZQL1ZkNEZ0ZlJhK1hWMVk5VlphMApjdm8rSjBrK3lpdnRuRk42
T0pXemZWbzV3M3oxcXUvakUwNDR3WDJQMzN2dnZXYllzR0d1aWVyZi8vNTM4L0xMTDd1bXVRTUdE
REJuCm5YVldhVE5mUFQvODhNTlczeXQ1UEV1WmV0NzQ2aEUzMGZkWjlEdE8zeFcrYlgzbm9LY0lM
RVlBQVFRUXlDTmdmOTB0TkhYdjNqMncKVFpJU3QxbC8vZldERFRiWUlIajQ0WWNEMnhrOXNCY2R3
Y0VISCt6V3RiOStCYU5HalFwbXo1NGQyRitlQTN2Ukc5aUw4bURtekptSgplV2s3K3l0MUtjMytZ
aFhZQzhiUy9OWmJieDNZdmlkdS9vc3Z2Z2lHRHg4ZTJQNHFwWFRieENZNDZLQ0RTdk8yMlZodzRJ
RUhsdWJ0Ckw5L0JOZGRjNCthenluYkpKWmNFTmlBcWJSdC8wN3QzNzhEK1o5eHE4Y0NCQXdQN24z
QnBXWkh5YUtPcytwVXkvdXBObWxkYS9leUYKUTJENytBUzJyMFZnbTlXNTQvTGFhNjhGMGZKUG5U
bzFzTUZBMEs5ZnY5SnViWitnUU50cXNrR0NiaThFeno3N2JHQ2JOUVQyQWp0NAo5TkZIWGRycHA1
OGVmTzk3MzNQdjlVK1c1UzY3N0JMWWkzSzN2czZUbFZkZU9iQ0JZMm43TEpkb3VYWE8yUDQ3cFcx
Lyt0T2Z1bk12ClhLRHp4djZ5SE5pMjVPR2kwbXZhdG1ubnVUTElLcU44YkxCWDJ0ZTN2LzN0d0Ri
ZEs4M0hqYkpNU2h0KzlXYlZWVmNON0YzSndGNWcKdWVNZ2s2OTk3V3VCNnBSMkxzVHowYnp2T0tm
bFkrOElCbXV0dFpiNy9PdHo4ZmJiYndjMnlBb09PZVNRMGk2aXh5a3RyNlR6MHdaVApxZDhsOWZM
S3FtZGF2YkkrSjFFZm9XV2RjeVhZcjk0VTJUNnRuUEY4YlFBUzJLQWpzUDBBM2ZlRkRmYmN1YnZt
bW11Njc3dFBQdmtrCk9PMjAwd0o3eHppWU1XTkc2dmRCL0hzbHl6TmVGczFIUHl0WjlZaWJST2ZU
dGswNkIvVWR5WVFBQWdnZ1VMNUE1aDJRUEVGTWRCMTEKV3YvV3Q3NWw3RVdRMlhiYmJVc2pHS24v
aUMybWE1YWsvaVQ2bFd6YXRHbG00c1NKMGMxTDczVjNRNk11cVJPcEpodlVsUHBYYUh2MQpQOUd2
ckpyVVBNRUdHKzVPZ1AzUHdpMnp3WVo1NElFSDNLK0dXckQ5OXRzYi9XSm4vNk54NmRIOGlwYk5a
ZkRWUC9ZL1VUTnIxaXl6Cndnb3JSQmU3OTlGbVcwWEtrNmQrOFoybGVhWFZiN1BOTm5PL1RxK3p6
anJHQmdybThzc3ZMelcxQ3N1dnV6ZmYrTVkzM1BIVGZtMXcKWVo1Ly9ubWpOdGlhOUF1N3RsTWZJ
QjBMZGRpM2dhaExVeE9MNksvdmJxSG5IL1doK2RPZi9tVEN1MjVxZXJYenpqdVgxczdyRXBaYgpk
NzllZU9FRmw2Y3lzUmZBcFRwb1htWFZBQXYyWWtLenJhYXNiWDNuZVo0eUxyMzAwcTJhOVBYbzBh
UFZmTFFnV1NiUmRhUHZ4NDRkCmEzYmRkVmYzR1ZUendMZmVlc3Q5aHRMT2hlajJlcDkybk5QeTBX
QVV1dXVoYzBaT09pKzIyMjQ3OCtxcnI3YmFSWGljMHZKS09qOTEKN3ZtK1MrcnBsVlhQdEhybCta
eUVQaUdhNzV3TDArT3ZlYmRQSzJjOFR4MVhEUXloWnJmNnZ0QzVyTUVwTkxEREwzN3hDOWVrU2sx
UgpkWHkwTEsyZThlK1ZMTTk0V2VMemVlb1JOd25uMDdaTk9nZUxOa2VObDVWNUJCQkFvTmtGcWg2
QWhGL29ndFhGblpxamFGSmdvSXRSCnRkblZuNXJtUFBUUVErN2kxYTBRKzBjWHNMcXd2ZkhHRzEy
S2dnbjd5Nlo3cnlZWStzOUwvN21GazcwRDR0N3E0a1NUbXRjb3dBbjcKWWFnWmtHNnpxem1BT3My
ck9ZT2FqMmtxV2phMzBWZi82TUpPVTkrK2ZiOWE4bjh2VVlzaTVjbFR2Ly9ieTMvZnBYbGwxVThY
RWZLTQpUOUh5NjMwNHI2QlJ6Wm5DZVcyblpsdzZ2bHBtZjVWMFRkL1VQT3V4eHg0emMrYk1pV2Vk
T1AvWHYvN1ZCVVBMTGJkY0tiMVhyMTZsCi9lUjFDY3RsNzlpNFlFZ1g0a2NlZWFTeHYzaTZVZHRL
bWRzM3l5eXpUT0x3d2xuYmh2dFFYdEh6UEc4Wm8yVkllNTlsNHR2VzNwVXIKSmVrQ1NwTUMrcXh6
b2JTUmZaTjJuTFB5a1UvVVNNNzYzRVduTUQwcnIvajVtYlordmIzUzZwbFdUbTJYOVRrSmZVS3o2
SHowbkF2VAo0Ni9SOVpVV25ZOXVuMWJPZUo3eGZEU3ZZeHVkbGwxMldUZXI3MS90TTYyZVNvK1dL
ejZmZE41RTl4VjluNmNlMFgxcDIzQSthOXY0Ck9SamRMKzhSUUFBQkJJb0xkQzIrU1hsYjJGdnpS
aDJLZFNjaTc2UzdHci82MWE5Y2Z3RGI5TXNGTHRwV2JieVZuNEliWGFCcTBxK3QKeWo5OHhvTXVo
dldMNFUwMzNXUjBRYXVoZFBXTHV0cmM2NDVGZEVqWmNzcm1kbXIvQ1MvY05hSksybFNrUEhucWw3
UXZuMWNsOVV2YQpqOXBLcC9YcjBGQ3d1a1AxaHovOHdWeDExVlZHRitWNXB2Lzg1ei91dU1iWERT
OFN5bkhSRUtTMkdaZjUzZTkrNTBaelV5QWJYaUJwClA3WlprdEVkaUtRcGE5dWtiY29wWTFJKzRi
SXNrM0M5dEZmZGdkQ0ZuUDZLbkF0cHg3bElQbWxsVTFyUnZOTFdiNlJYdko1cDVkUzYKNVg1TzR2
dXBkRDZybkZuNTYzczEvSXhxM2VoN3pkZXJucFhVbzVKdFZVY21CQkJBQUlGaUFsVy9BK0xidlcw
ejdPNTRSSDhGMVcxNgovV0xwbXpUOHBPMHpZbjc4NHgrN0R1WGhldXJRcWhHTXd1WlpXcTZtVUdw
ZXBhWkU0YVRoY3pVODdwVlhYbWxzSHdtalpsQjMzWFdYCmE0cWlqdkRoVkU3Wm90c3FPRkpRRTUv
aS94SG5MVS9lK3NYMzUvTXF0Mzd4OG9mNzB3V3RmazFYNS9SdzBySFUzYWRYWG5uRmRTSlgKcC9U
b0hhcHd2YlJYQlFyNjFUU3BTWlMyeStzU2xsdWprK204dU9paWk5d3cwdW9rcXdBME91a2llNkM5
TXhLZjhtd2IzMGJ6ZWN1bwpPM0I1cGl5VFBIbDg4TUVIN2k2VU9nd1hPUmZTam5PUmZIeGxESTlU
MGJ6UzFtK2tWN3llYWVYTTh6a0pmZUw1NXAzUHUzMWFPZlB1Cnk3ZGVubnI2dGkyNlBFODk0aWJo
Zko1dGk1YUg5UkZBQUFFRS9BS0ZBaEJkTk5tT3U4WjJMa3pNVWIvKzZpK2NOSUpPT0RMVmZ2dnQK
NTBZWlVWTWQyL0hjWFJocURQaTB0clM2YzZIK0JIcmdWTmpFU25ucldSdnFZNkltWE9HazBaSjA4
YWNISm9hVDdmUnVsbHBxS2RmcwpSazFTMUE1ZHYzNnIvMG40SDQvV3pTcWI2cXhmeXBNbS9mcG5P
NGkydVdoVzJmVnJyQ2JWVjFQZTh1U3RuOHMwOG8vUEs2dCtDdHpDCjR4Um1GeSsvanF2V1VhQ2hV
YThVZENtZ1UvOE8vV2xrbk5WV1c4MjkxM21pQ3c4RmlXcUNwYUJUMitrdnpWTDU2aTZXK3BPRWs1
NkMKcmw4bmxWY2VsMmk1MVR3dWZPQ2c3ZWh0ZHR0dHQ5SWRNK1d2cHpEcnVHcTB0ZmlrTk4rMmFl
ZDVuakxxYnAzT2FWa29PRkFncC8yRgpVOVFveXlUY0p2NHFyM0JTWHc3ZDhWTXp2YXh6SWR4R3Iy
bkhPU3NmMVNFYVpNa3NXcWJvY2RLZFNnV0N2dStHK1BtWnR1OTZlNlhWCk02MmMrc3lrZlU2aVB2
citTRHZub3Njc2ZGOWsrN1J5aHZsRlgvV1ppUjVMM2YzVmZQZ2RHZmF6VS8yeTZobjlYdEUrMGp5
alpRamYKUno4cldmV0ltMFRuaTU2RDJyL3FyZEcrd3UvNXNFeThJb0FBQWdqa0VMQVhoYmttMitU
R2paQmtzd3cwNnROdmYvdmJ3UDdxWDlwVwpJeWpaaS9IQVB1UXRzTCtFQjNib3dzRGVqUWpzQmFV
YmpVY3IydUZRQXhzUXVCRlNiTk9sd042TktHM3ZlMlA3YkFSbm4zMTJtMlRsCnIzM1pCeUVHdHVO
eVlEdWtCL1kvdXpicjJhRklBNDNjRWs1MnlOeFc4K0Z5WDlrMFFwTHRpK0pHZWJyc3NoM0FiMFlB
QUNBQVNVUkIKVk12Y3FDN2hOdUdyUnRUUy9xUFRTU2VkNU9xcGtianN4VlVwS1c5NTh0YXZsUEZY
YjN4ZXZ2clpKbXFCN1FzVDJLQXNzQmZjcGV5aQo1Zi96bi84YzJDRjRuWUc5bStBTWRPeDBESFUr
MkYvS0E5dmt5bTFybThDNUViVnMwemczNnBoc2JCT25ZTXlZTVc2ZExFdVZ4ellWCmN1Zk8zbnZ2
SGRqK0c0SHRieEpvdWFZc2wyaTViZkFUMkU2emdXMENFdHg5OTkyQkhkN1hqUVRsTXJML1hIdnR0
WUc5TUE5blc3M3EKZkUvYU5zOTVubFZHSFNQYkpNK05USFg4OGNlN0VjYnN3QTF1eEtxazh5M0xw
RlhCN1l4R0liSkJUbUE3bjd2UHpqSEhIT05Hbnd2WAo4NTBMWVhyMDFYZWN0WTR2SDduYml6czNn
cGx0V3gvWWdRQUNqWktrejc0ZFJ0dGxIejFPK256NDh2S2RuNzcxbFhtOXZQTFUwMWZPCnRNK0pS
c2lLK3RpaGpETy9XeDFxNUoraTIvdktHY25TdmRYeHRIZVpBdHRoUExERDVnWjJtSFUzK3FDK0Iz
VGUyY0ViQWp1RXR2dGUKME9mWDNpbE4vVDZJZnE5bzlNU3M4eVphbnFUUFNsbzlvaVk2NStMenZt
MTk1NkQ5a2NWOXgxOTMzWFhSWXZFZUFRUVFRQ0NIUUl2Vwp5UkduVkcwVi9XSmxoK2gxSStQbzEr
NDhrMzVwMHAyTStLU2lhMXg2M1lYUTZDeEpVM3piK0h4MG0zTEtGbTZ2RHZMMlB6RDMvSk53Cm1Y
NjVWMmZtNkJUZmYzdyt1bTZlK2tYWEQ5Lzc4aXhhdjZUeWgvdlFxOHFuSms0YXZTWSs2VzZKT201
cTBpK2pSWnBqNmRkVS9lb3IKTzkwOTBkMlc2SlRsRXBaYnY4RHEzTkNJVnRwL09PaEFtSmZ1aU5q
ZzF1ako2UEVwYTl2NCt2SDVyRExxV0tpZU1zcmprMlVTMzcvbQoxWXhNaGttZnN5TG5RdHB4THBK
UHZJemhjUXFYRjgwcmJmMUdlb1gxQ1YvVHlwbjJPWW43aFBubGZTMjZmVm81OCs3VHQxNWFQWDNi
CmxMczhyUjV4ay9oODJyWko1VkdUMGJBZllGSTZ5eEJBQUFFRWtnWHFIb0FrRjZQakwzMy8vZmRk
WjNuMU40aGZNSGY4Mm5XK0d1akIKaTNvd1piUXZVT2VySlRWQ0FBRUVFRUFBQVFUYW53QUJTQldQ
aVlJUVBhbGRmU09ZMnErQWhwZlZVTkRoOExUdHQ2U1VEQUVFRUVBQQpBUVFRNkh3Q0JDQ2Q3NWhT
SXdRUVFBQUJCQkJBQUFFRTJxMUFvVkd3Mm0wdEtCZ0NDQ0NBQUFJSUlJQUFBZ2gwQ0FFQ2tBNXht
Q2drCkFnZ2dnQUFDQ0NDQUFBS2RRNEFBcEhNY1IycUJBQUlJSUlBQUFnZ2dnRUNIRUNBQTZSQ0hp
VUlpZ0FBQ0NDQ0FBQUlJSU5BNUJBaEEKT3NkeHBCWUlJSUFBQWdnZ2dBQUNDSFFJQVFLUURuR1lL
Q1FDQ0NDQUFBSUlJSUFBQXAxRGdBQ2tjeHhIYW9FQUFnZ2dnQUFDQ0NDQQpRSWNRSUFEcEVJZUpR
aUtBQUFJSUlJQUFBZ2dnMERrRUNFQTZ4M0drRmdnZ2dBQUNDQ0NBQUFJSWRBZ0JBcEFPY1pnb0pB
SUlJSUFBCkFnZ2dnQUFDblVPQUFLUnpIRWRxZ1FBQ0NDQ0FBQUlJSUlCQWh4QWdBT2tRaDRsQ0lv
QUFBZ2dnZ0FBQ0NDRFFPUVFJUURySGNhUVcKQ0NDQUFBSUlJSUFBQWdoMENBRUNrQTV4bUNna0Fn
Z2dnQUFDQ0NDQUFBS2RRNEFBcEhNY1IycUJBQUlJSUlBQUFnZ2dnRUNIRUNBQQo2UkNIaVVJaWdB
QUNDQ0NBQUFJSUlOQTVCQWhBT3NkeHBCWUlJSUFBQWdnZ2dBQUNDSFFJQVFLUURuR1lLQ1FDQ0ND
QUFBSUlJSUFBCkFwMURnQUNrY3h4SGFvRUFBZ2dnZ0FBQ0NDQ0FRSWNRSUFEcEVJZUpRaUtBQUFJ
SUlJQUFBZ2dnMERrRUNFQTZ4M0drRmdnZ2dBQUMKQ0NDQUFBSUlkQWdCQXBBT2NaZ29KQUlJSUlB
QUFnZ2dnQUFDblVPQUFLUnpIRWRxZ1FBQ0NDQ0FBQUlJSUlCQWh4QWdBT2tRaDRsQwpJb0FBQWdn
Z2dBQUNDQ0RRT1FRSVFEckhjYVFXQ0NDQUFBSUlJSUFBQWdoMENBRUNrQTV4bUNna0FnZ2dnQUFD
Q0NDQUFBS2RRNEFBCnBITWNSMnFCQUFJSUlJQUFBZ2dnZ0VDSEVDQUE2UkNIaVVJaWdBQUNDQ0NB
QUFJSUlOQTVCQWhBT3NkeHBCWUlJSUFBQWdnZ2dBQUMKQ0hRSUFRS1FEbkdZS0NRQ0NDQ0FBQUlJ
SUlBQUFwMURnQUNrY3h4SGFvRUFBZ2dnZ0FBQ0NDQ0FRSWNRSUFEcEVJZUpRaUtBQUFJSQpJSUFB
QWdnZzBEa0VDRUE2eDNHa0ZnZ2dnQUFDQ0NDQUFBSUlkQWdCQXBBT2NaZ29KQUlJSUlBQUFnZ2dn
QUFDblVPQUFLUnpIRWRxCmdRQUNDQ0NBQUFJSUlJQkFoeEFnQU9rUWg0bENJb0FBQWdnZ2dBQUND
Q0RRT1FRSVFEckhjYVFXQ0NDQUFBSUlJSUFBQWdoMENBRUMKa0E1eG1DZ2tBZ2dnZ0FBQ0NDQ0FB
QUtkUTRBQXBITWNSMnFCQUFJSUlJQUFBZ2dnZ0VDSEVDQUE2UkNIaVVJaWdBQUNDQ0NBQUFJSQpJ
TkE1QkFoQU9zZHhwQllJSUlBQUFnZ2dnQUFDQ0hRSUFRS1FEbkdZS0NRQ0NDQ0FBQUlJSUlBQUFw
MURnQUNrY3h4SGFvRUFBZ2dnCmdBQUNDQ0NBUUljUUlBRHBFSWVKUWlLQUFBSUlJSUFBQWdnZzBE
a0VDRUE2eDNHa0ZnZ2dnQUFDQ0NDQUFBSUlkQWlCcWdZZ00yZk8KN0JDVnBwQUlJSUFBQWdnZ2dB
QUNDQ0RRR0lHdWxlNzIwMDgvTmJmY2NvdTU1cHByVFAvKy9jMzk5OTlmT012bm4zL2V6Sm8xSzNH
Nwp3WU1IbTlWV1d5MHhMVzNoYzg4OVoyYlBucDI0eXBwcnJtbFdYWFhWeExScUwzenBwWmZNakJr
enFwMXRZbjVkdTNZMTNidDNOMHN2CnZiUjcxWHNka3lXWFhESnhmUllpZ0FBQ0NDQ0FBQUlJSUZC
dmdaYkFUa1YzcWswZWVlUVJGM1NNSHovZUxGaXd3R1V4Yk5nd293di8Kb3ROV1cyMWxubmppaWNU
TnpqdnZQSFA4OGNjbnBxVXRIREZpaEprMGFWTGlLaGRmZkxFNTVwaGpFdE9xdVhEeDRzVm13SUFC
WnRxMAphZFhNdGxCZUxTMHRac1VWVnpTcnI3NjYrOXRrazAzTU43LzVUYlB4eGhzYkJTeE1DQ0NB
QUFJSUlJQUFBZ2pVVTZEd0ZlakVpUlBOCjJMRmp6VHZ2dk5PbW5COTk5RkdiWmMyOFlNS0VDUTBO
UG1TdllGSEhSWDhLeU82ODgwNTNTSHIxNm1YR2pCbGpUampoQkRObzBLQm0KUGt6VUhRRUVFRUFB
QVFRUVFLQ09Bb1g3Z015Wk15Y3grRkNacDA2ZGFyNzg4c3M2RnI5OTcrcU9PKzVvdHdXY08zZXV1
Znp5eTgxYQphNjFsZnYzclg3ZmJjbEl3QkJCQUFBRUVFRUFBZ2M0bFVEZ0FHVGh3b0ZkQVRZNGEy
ZHpJVzdBR0pDeGF0TWlvZVZwN24xVE9VMDg5CjFaeDQ0b250dmFpVUR3RUVFRUFBQVFRUVFLQVRD
QlFPUU5aWVk0M1VhcmVYWmxocFhWdnEwU2xiemE4KytlU1RWS3YybEtpK05rOCsKK1dSN0toSmxR
UUFCQkJCQUFBRUVFT2lFQW9VREVQVWQ2TmV2bjVlaTJnR0lPbEdYTTgyZlA5KzdXWjgrZmJ4cDFV
cTQvZmJicTVWVgozZkxoTGtqZHFOa1JBZ2dnZ0FBQ0NDRFF0QUtGQXhCSnBUWEQrdkRERHd0anFo
bVFiK3JSbzRjdktYVzVoZ2YyVGNzdHQ1d3ZxU3JMClZaKzc3cnFyS25uVk14T05SRFpseXBSNjdw
SjlJWUFBQWdnZ2dBQUNDRFNaUU9GUnNPU2pBT1NaWjU1SnBDcm5Ea2phM1FyZGNTbG4KOGoxWFJI
blYrZzZJZ3ArVFRqcXBUYkdmZXVvcDQrdVl2dDkrKzVtTk50cW96VFpaQ3hUc2ZQSEZGMmJod29Y
bTg4OC9kODhjVVQ4YwovYjMyMm11RisrU282UmlqWW1XcGs0NEFBZ2dnZ0FBQ0NDQlFya0RaQVlo
dmgrVUVJUFBtemZObFozcjI3T2xOOHlXb003eEc2L0pOCnRiNERvaVpxeHg1N2JKdmQzM1BQUGQ0
QVJNOVFTZHFtVFNZRkYyaGtNdlh0dU8yMjI5eGZXdDhZWmYzNDQ0K2JndzQ2cU9CZVdCMEIKQkJC
QUFBRUVFRUFBZ1h3Q1ZXK0NWVTRBa25ZSHBKd0F4UGNFOUpDazFuZEF3djNFWDlNNjhDYzlWeVcr
ZlRueks2eXdndGw5OTkzZAowK3F2dXVvcTA2VkwraUgvNElNUHl0a04yeUNBQUFJSUlJQUFBZ2dn
a0VzZy9XclVrMFcxKzRCODl0bG5uajBaVTA0VHJMVCtIOXBSCnJlK0ErQ3FqcDVIN3Bsb0ZJTkg5
NmM3RzFWZGZIVjNVNXYyTUdUUGFMR01CQWdnZ2dBQUNDQ0NBQUFMVkVxaDZBRkwwRG9pQ2o1a3oK
WjNycjA3OS9mMithTHlHdC80YzZ0ZGRqR042a3N1bk9TKy9ldlpPU3ZBOTNURnk1Z29VSEhIQ0FX
V1dWVmJ3NUVJQjRhVWhBQUFFRQpFRUFBQVFRUXFJSkFXUUZJV2xPaW9nRkkyaS8vM2JwMU00TUhE
eTVjemJTTDZMNTkreGJPcjVvYitPelNIS3E1ZitXMThjWWJlN1BzCjJyV3Nia0hlL0VoQUFBRUVF
RUFBQVFRUVFDQXFVRllBa3ZZc0VQVy9TT3RVSHQyNTNxY04rNnJnbzV3TDRzbVRKOGQzVTVwZmYv
MzEKUys4YjhjWVhnS2paV0ZiZmxXcVZOeTBBYVZUenRHclZqWHdRUUFBQkJCQkFBQUVFMnJkQVdR
R0lxcFRXRDZUSVhaRFhYMy9kSzdUMgoybXQ3MDlJU0prMmE1RTBlT1hLa042MGVDYjRBUlB1dTEx
MlExVlpielZ2VlJuWFE5eGFJQkFRUVFBQUJCQkJBQUlGT0pkRHdBRVRECnZ2cW1vVU9IK3BKU2x6
Lzk5TlBlOU0wMjI4eWJWbytFOWhDQXZQMzIyOTZxRW9CNGFVaEFBQUVFRUVBQUFRUVFxSUpBMlFG
STJzUHEKOGo0TlhjK2tlT3l4eDd6VjJIenp6YjFwdmdRMVpmTGRWZEVRdE1PSEQvZHRXcGZsN1NF
QWVlT05ON3gxWFhQTk5iMXBKQ0NBQUFJSQpJSUFBQWdnZ1VLbEEyUUZJTlpwZ3ZmamlpMmI2OU9t
SmRWaDY2YVhORGp2c2tKaVd0bEIzUDN3UDIxdDMzWFhOc3NzdW03WjV6ZFBTCkFwQzBPeFBWTE5p
YmI3N3B6UzZ0ZjRoM0l4SVFRQUFCQkJCQUFBRUVFTWdwME5BQTVNb3JyL1FXVThHSGdwQ2lVMXJ6
cTBiMy8xQmQKMGdLUWV2VUJTYnNEc3RGR0d4VWxaMzBFRUVBQUFRUVFRQUFCQkhJTDFDUUF5ZE1F
UzgvK3VPNjY2N3dGM1cyMzNieHBhUWxwZlVvYQozZjlENWRhVHlidDM3NTVZaFhvRUlHcWk1cnZy
MUs5ZlA1UDJzTVRFUXJNUUFRUVFRQUFCQkJCQUFJRUNBbVVISUdrWHFubEd3VHI3CjdMT043d25v
R2dwMnp6MzNMRkNOLzY3NjNudnZtWWNlZWloeHU1YVdGclBkZHRzbHB0VnpvY3JoczZ0SEFITHZ2
ZmQ2cTd2VFRqdDUKMDBoQUFBRUVFRUFBQVFRUVFLQWFBbVVISUhvV2lPOHA1VmtCeUlNUFBtZ3V1
T0FDYi9sUFBQRkVVODd6S01hTkcyY1dMMTZjbU8rbwpVYU5NV3IrVnhJMXF0TkRYREd2cTFLbG13
WUlGTmRycmY3T1ZrVy9hYTYrOWZFa3NSd0FCQkJCQUFBRUVFRUNnS2dKbEJ5RGF1KytDClBxMEps
dnBvakJrenh0dFJmTUNBQWVib280OHVYTG1GQ3hlYXE2NjZ5cnZkVVVjZDVVMnJkNEl2QUZIbitY
ZmZmYmRteGRFREd2LzIKdDc4bDVyL01Nc3VZSFhmY01UR05oUWdnZ0FBQ0NDQ0FBQUlJVkV1Z0pn
R0lmc2xQR29ucTJtdXZOVnR2dmJXWk5tMmF0L3pubkhPTwo2ZEdqaHpmZGx6QisvSGp6OGNjZkp5
WVBHVExFdEtmbVJiNEFSSVd2WlRPc3RMc2Y2bk96MUZKTEpmcXhFQUVFRUVBQUFRUVFRQUNCCmFn
blVKQUJadEdpUitlU1RUMXdadi9qaUMzUHp6VGViWWNPR21RTVBQREMxaWRFSko1eGd4bzRkVzFi
ZExydnNNdTkyUnh4eGhGSGYKaS9ZeU5TSUFtVGR2bnJuaGhodThCT1hjZGZKbVJnSUNDQ0NBQUFJ
SUlJQUFBaDZCcnA3bHVSYjdtbUJwWTEzUXZ2WFdXMGJQK3ZqOAo4ODh6ODl0MzMzMk43bjZVTTAy
WU1NRk1uRGd4Y2RPZVBYdTZ3Q2N4c1VFTEd4R0EzSFRUVFdiV3JGbUpOZDUrKyszTnBwdHVtcGpH
ClFnUVFRQUFCQkJCQUFBRUVxaWxRc3dEazFsdHZ6VjNPd3c0N3pGeHl5U1ZsM2FYUXNMTDc3Nysv
ZDErNm85SzdkMjl2ZWlNUzBnSzMKV2pUQlVwTzRrMDQ2eVZ2VlgvemlGOTQwRWhCQUFBRUVFRUFB
QVFRUXFLWkF6UUtRUElYVWN5ZlVjYnpjWjM1b0g0Y2ZmcmpSOEx0SgowL0xMTDI5T09lV1VwS1NH
TGx0NTVaWE5Fa3Nza1RoaVZ5MENrQi85NkVlbEpuSHhpbSt4eFJidFluamllTG1ZUndBQkJCQkFB
QUVFCkVPaWNBaFgxQVVsclNwVEdwUWZ4SFhMSUllYWxsMTZxS1BoUW40YmJicnZOdTZzcnJyakNh
RlN0OWpaMTdkclZyTHJxcW9uRnFuWUEKY3NzdHR4aDEwRSthMUR6dG1tdXVTVXBpR1FJSUlJQUFB
Z2dnZ0FBQ05SR29LQURSQmF6dldTQkpwVjF4eFJYTkdXZWM0ZTVZVkJvYwp2UDMyMnladGFOMERE
amlnckljWkpwVzdGc3Q4d2R2Nzc3K2ZlR2VrbkRMb2VTeHBSaGRlZUtIUkNHRk1DQ0NBQUFJSUlJ
QUFBZ2pVClM2Q2lKbGdxcFBveitJYlYxWjJPa1NOSHVpWSsyMjY3clJrK2ZManAxcTFieFhWNzVa
Vlh6QzY3N0dKbXo1NmRtTmVnUVlOY241TEUKeEhheTBCZUFhQVF4QlNHK3A2VVhLYjc2MXN5WU1T
TnhrKzkrOTd2bTBFTVBUVXhqSVFJSUlJQUFBZ2dnZ0FBQ3RSS29TZ0NpaHd2RwpKejNZVHAyZkZZ
UlVjM3I0NFlmTjZOR2p2U002ZGVuU3hWeC8vZlZHKzIvUGt5OEFVWm5WREt1U0FFUVBaVHo0NElQ
TlBmZmNrMGlnCk8xRnBEMjFNM0lpRkNDQ0FBQUlJSUlBQUFnaFVRYUNpSmxqYXYrNDJKRTF6NXN6
Sk5meHUwcmErWmJwb0hqVnFsRGY0MEhicWRMN2wKbGx2NnNtZzN5N01Da0hJTE9uZnVYTFBycnJ1
NklNeVh4eC8rOElkQ1RlZDgrYkFjQVFRUVFBQUJCQkJBQUlHaUFoVUhJR2xEeWs2WgpNcVZvZVJM
WFZ6Qno3TEhIdW83cmFxTGttOVRmNGZUVFQvY2x0NnZsYVFHSStyZVVNK2xKOE50c3M0MTU0SUVI
dkp2cm9Zdzc3N3l6Ck41MEVCQkJBQUFFRUVFQUFBUVJxS1ZEVEFFUVBJcXhrVXVCeDFsbG51YnNz
RjExMFVXcFdHbFZMenhMcEtGTmFBRkxPU0ZqUFB2dXMKMlh6enpjMXp6ejNuSlZBZm5Bc3V1TUNi
VGdJQ0NDQ0FBQUlJSUlBQUFyVVdxR2tBVXU0ZGtHamdjZkxKSjV2cDA2ZW5PaHgwMEVGbQozTGh4
WlQzSU1EWGpHaWF1dHRwcTN0eUxCQ0Rxc0s0UnYvUWs4N1NBVDUzTzljVDRwWmRlMnJ0ZkVoQkFB
QUVFRUVBQUFRUVFxTFZBCnhaM1EwenBMcDEwUXh5djI3cnZ2dWd0a1hTVGZlKys5M3RHYm90dTF0
TFNZTTg4OE0vVXAzOUgxMjlON0JRTHFESzVtVS9FcFR3RHkKMUZOUG1XdXZ2ZGJvV1NqejVzMkxa
OUZxWHMydWRIZElEejlrUWdBQkJCQkFBQUVFRUVDZ2tRSVZCeUI2RnNnS0s2emdScnlLVnlUcApE
c2o4K2ZQZEhRM2QxWmc4ZVhJcDZDZ1NyR2cvdlhyMU1qZmVlR05GRHpLTWw3ZmU4MnFHbFJTQTZN
bnVRUkMwdXFPakFFMmpqVTJhCk5NbmNmZmZkNXRWWFg4MHNyZ0swYzg4OTF4eC8vUEdaNjdJQ0Fn
Z2dnQUFDQ0NDQUFBTDFFS2c0QUZFaDFSRmRRKzdHcHllZmZOSTkKQTBUQmh2NzBUQW9GSUpWT3c0
WU5jNk04cmJmZWVwVm0xZER0RllBb29JaFBNdHArKysyTm1xSjkrdW1uNXBOUFBqRXpaODZNcjVZ
Ngp2OVJTUzdrN0pQdnV1Mi9xZWlRaWdBQUNDQ0NBQUFJSUlGQlBnYW9GSUVrWDByTm16WEozT0tw
VklUMVRSS05jSFhmY2NhWnIxNm9VCnZWcEZLeXVmdEk3b2p6NzZhRmw1YXFNK2ZmcVlQLzd4ajJi
cnJiY3VPdzgyUkFBQkJCQkFBQUVFRUVDZ0ZnSVZkMEpYb1hRSHBOYVQKbm56KzBrc3ZtUk5QUExG
VEJCL3lTZ3RBeXZIVVF4ajMzMzkvOC9MTEx4TjhsQVBJTmdnZ2dBQUNDQ0NBQUFJMUY2aktiWVJh
QlNEcQp3N0RISG5zWWpZUzEwVVliMVJ5ajNqdW9aZ0N5M1hiYnVTRjIxVHlOQ1FFRUVFQUFBUVFR
UUFDQjlpclFMZ01RamF5MTk5NTdHdzJ2CnU4NDY2N1JYdTRyTFZXbmcxcTFiTjdQVFRqdVp3dzgv
bkljTFZudzB5QUFCQkJCQUFBRUVFRUNnSGdMdElnRFJuUTRGR3VwNHZjOCsKKzVpUkkwZTJHZ0dx
SGhDTjJFZmFzMERTeWlPZk1XUEdPS3ZsbDE4K2JWWFNFRUFBQVFRUVFBQUJCQkJvVndJdGRyalhv
TklTNlRrVQpHbzQzN3pSZ3dBQXpkT2hRTTJMRUNMUEZGbHU0djc1OSsrYmR2Rk90cHc3akd1bktO
eTI1NUpKbWd3MDJNSHFLdWY2MjJtb3I5MlI0CjMvb3NSd0FCQkJCQUFBRUVFRUNnUFF0VTVRNUlq
eDQ5ek1vcnIyem16cDNyUm1EcTE2K2ZpZjdwT1NHREJ3ODJhNjIxbGhreVpJaDcKaGtkN1JxbG4y
V1R5MFVjZm1aVldXc245S1RqVGUzbHV1T0dHTHZqUWtMcE1DQ0NBQUFJSUlJQUFBZ2gwQm9HcTNB
SHBEQkRVQVFFRQpFRUFBQVFRUVFBQUJCR292VUpWaGVHdGZUUGFBQUFJSUlJQUFBZ2dnZ0FBQ25V
R0FBS1F6SEVYcWdBQUNDQ0NBQUFJSUlJQkFCeEVnCkFPa2dCNHBpSW9BQUFnZ2dnQUFDQ0NEUUdR
UUlRRHJEVWFRT0NDQ0FBQUlJSUlBQUFnaDBFSUdxaklKVnJicSs4c29yN3NGNjBmejAKWEpEenp6
OC91cWhwMzQ4YU5jcjg4NS8vTE5XL1M1Y3U1dTIzM3k3Tjh3WUJCQkJBQUFFRUVFQUFnZll1MEs0
Q2tJVUxGNXIzM251dgpsZG1NR1ROYXpUZnpqSWJyamZvb0FHRkNBQUVFRUVBQUFRUVFRS0FqQ1hB
RjI1R09GbVZGQUFFRUVFQUFBUVFRUUtDREN4Q0FkUEFEClNQRVJRQUFCQkJCQUFBRUVFT2hJQXUy
cUNWWkxTNHZSVTlXajA1SkxMaG1kYmVyMzNidDNiK1ZERTZ5bVBoMm9QQUlJSUlBQUFnZ2cKMENF
RmVCSjZoenhzRkJvQkJCQkFBQUVFRUVBQWdZNHBRQk9zam5uY0tEVUNDQ0NBQUFJSUlJQUFBaDFT
Z0FDa1F4NDJDbzBBQWdnZwpnQUFDQ0NDQVFNY1VJQURwbU1lTlVpT0FBQUlJSUlBQUFnZ2cwQ0VG
MmxVbjlNOCsrOHc4Ly96enJTQlhYSEZGTTJUSWtGYkxtblhtCmhSZGVNSFBuemkxVlg1MzJ0OWhp
aTlJOGJ4QkFBQUVFRUVBQUFRUVFhTzhDN2FvVCtvc3Z2bWcyM0hERFZtWUhIWFNRdWZycXExc3QK
YTlhWlljT0dHUVVoNGFSUnNCWXZYaHpPOG9vQUFnZ2dnQUFDQ0NDQVFMc1hvQWxXdXo5RUZCQUJC
QkJBQUFFRUVFQUFnYzRqUUFEUwplWTRsTlVFQUFRUVFRQUFCQkJCQW9OMExFSUMwKzBORUFSRkFB
QUVFRUVBQUFRUVE2RHdDN2FvVGV0KytmYzNCQngvY1NwZE8xdi9ICnNjY2VlNWhOTnRta3RFQ2Qw
SmtRUUFBQkJCQkFBQUVFRU9oSUF1MnFFM3BIZ3FPc0NDQ0FBQUlJSUlBQUFnZ2dVRnlBSmxqRnpk
Z0MKQVFRUVFBQUJCQkJBQUFFRXloUWdBQ2tUanMwUVFBQUJCQkJBQUFFRUVFQ2d1QUFCU0hFenRr
QUFBUVFRUUFBQkJCQkFBSUV5QlFoQQp5b1JqTXdRUVFBQUJCQkJBQUFFRUVDZ3VRQUJTM0l3dEVF
QUFBUVFRUUFBQkJCQkFvRXdCQXBBeTRkZ01BUVFRUUFBQkJCQkFBQUVFCmlnc1FnQlEzWXdzRUVF
QUFBUVFRUUFBQkJCQW9VeUR6UVlSWFhubGxtVm16R1FJSUlJQUFBZ2dnZ0FBQ0NEU1R3T2pSbzAy
ZlBuMVMKcTV3WmdHaHJaY1NFQUFJSUlJQUFBZ2dnZ0FBQ0NGUXF3SlBRS3hWa2V3UVFRQUFCQkJC
QUFBRUVFTWd0UUIrUTNGU3NpQUFDQ0NDQQpBQUlJSUlBQUFwVUtFSUJVS3NqMkNDQ0FBQUlJSUlB
QUFnZ2drRnVBQUNRM0ZTc2lnQUFDQ0NDQUFBSUlJSUJBcFFJRUlKVUtzajBDCkNDQ0FBQUlJSUlB
QUFnamtGaUFBeVUzRmlnZ2dnQUFDQ0NDQUFBSUlJRkNwQUFGSXBZSnNqd0FDQ0NDQUFBSUlJSUFB
QXJrRkNFQnkKVTdFaUFnZ2dnQUFDQ0NDQUFBSUlWQ3BBQUZLcElOc2pnQUFDQ0NDQUFBSUlJSUJB
YmdFQ2tOeFVySWdBQWdnZ2dBQUNDQ0NBQUFLVgpDaENBVkNySTlnZ2dnQUFDQ0NDQUFBSUlJSkJi
Z0FBa054VXJJb0FBQWdnZ2dBQUNDQ0NBUUtVQ0JDQ1ZDckk5QWdnZ2dBQUNDQ0NBCkFBSUk1Qlln
QU1sTnhZb0lJSUFBQWdnZ2dBQUNDQ0JRcVFBQlNLV0NiSThBQWdnZ2dBQUNDQ0NBQUFLNUJRaEFj
bE94SWdJSUlJQUEKQWdnZ2dBQUNDRlFxUUFCU3FTRGJJNEFBQWdnZ2dBQUNDQ0NBUUc0QkFwRGNW
S3lJQUFJSUlJQUFBZ2dnZ0FBQ2xRcFVOUUNaTzNldQplZSs5OXlvdFUrTDJpeGN2TnYvKzk3OFQw
NnE1c0paMVVEay8vL3h6OCtTVFQzcUxuRlZQbGUvOTk5LzNidDhlRXFaUG4yNWVmLzExCmIxR3kw
cjBiVmlFaHk3Y0t1MGpOb3RiblYxSGJXcFVucXh6MU9BNVRwMDQxano3NnFKa3hZMGJxTVZGaUxS
eWkrOC95eUN4Z3lncFoKM3lrcG0zYW9wSHFjTTJrZzFUeEh5amxtMGZNcHJaeHBhVm5uWVQyTWk5
U2ptdVpwTHUwaHJSNzI3YUdlbEFHQlVDQXpBUG5PZDc1agordlRwWTNiYWFTZXo5OTU3bXlXV1dN
SU1HalRJakI0OTJteTU1Wlp1L3ZycnJ6YzMzM3l6V1hIRkZjME5OOXdRNWwyMTE2ZWZmdHBzCnVP
R0c1dEJERDYxYW5ra1oxYklPMnQ4Ly92RVBzOGttbTVnOTk5d3phZmNtcTU3anhvMHp5eSsvdkxu
ampqc1N0Mjh2QzA4OTlWU3oKKys2N2U0dVRsZTdkc01LRUxOOEtzOC9jdk5ibmx3cFF4TGFXNVVr
clJ6Mk93eFZYWEdGdXZmVlc4OWhqajVtdmYvM3JMdkQzSGFCYQpPTVQzZi9MSko2ZCtKbnhseTFx
ZTlaMlN0WDFIU2EvSE9aTm1VYzF6cEp4akZqK2ZGTUNVTXpYNzU3SWNzM3BzMCtqenV4NTFaQjhJ
CnRCRUlNcVp2Zi92YndWdHZ2VlZhcTN2MzdzRUJCeHhRbXYvdGIzOGIyQXRqTjcvT091c0V2L25O
YjBwcDFYeHoxRkZIQmR0dHQxM3UKTEJjc1dCRFlYejl6cngrdVdNczZhQjhYWEhCQllBTzFjSGR0
WHJQcXFXMHZ1dWlpTnR1MXB3V2ZmUEpKOE5wcnI1V0tGRDhXOGZUUwppblY0aytWYjdTTEU2MTdy
ODZ1b2JWWjU0dVhQNjVOVmpsb2VCL3VyYWRDelo4L0EvcUxvaXZ1M3YvMnRUYkhqOWNweWFKTkJ5
b0trCi9XZDVwR1FYeE1zYVh6ZnJPeVc2Zmp5ditIeDAzZmIydnBiblRGSmQ0emJWUEVlS0hMT2s4
eWxldHFUeUp5M0xPZzlyYVp4VWozZ1oKNC9XcXBubDhYKzF0dnBiMjdhMnVsQWNCQ1dUZUFUbjIy
R1BkSFk4MmtjdFhDdzQ3N0REM0M2Tm11M1hyWmxwYVdueXJsclg4eXkrLwpkTnQxN2RyVmRPbVNX
VnkzN3NLRkM4MFBmL2hEOC9qamoyZnUweHEwV3FjV2RZanVZTWtsbDB3MHlsdlBXcFV2N2hBdGM5
YjcrTGE2ClN6Tmt5QkMzV2RLeGlLWm41VjJ0OUx5KzFkcWY4a21xZTYyT1gxaHVuMjM4R0lYcnA1
VW5xZnpoZHZIWGVQNitjdFRqT0x6ODhzdm0KaXkrK0tIMWZiTDc1NXEyS20xU3ZOSWRXRytlWVNk
cS96eU1wdTZobFVsbmoyL2krVStMcnhmT0t6OGZYcitiOG9rV0x5czZ1SHVkTQp2SEJKTnRVOFIv
SWVNNVVyZmo1dHV1bW1aZi8vNWpzUDYyRWNyMGU5UDVmaE1ZNSt2c0psalh5dGgzMGo2OGUrRWZB
SmRQVWxoTXQzCjNISEg4RzNpcS8ybDBXeXh4UmFsTkgyWWRKdjMybXV2TmNzdXU2eTU5OTU3U3dI
TXh4OS9iTTQ5OTF6ejdMUFB1amJYLy9NLy8yTTIKMjJ5ejByYlJOL1BtelRNLys5blB6RW9ycldR
KytPQUQ4ODkvL3RQWXV5K2xWZXl2S2ViblAvKzVXV3FwcGN5YmI3NXBWbDk5ZFpmMwowa3N2YlM2
KytHSnp6ejMzbURmZWVNT2xYWGJaWlVibGpFNjMzWGFiYXhzK2UvWnNjL2ZkZDdmcWw1RldoN1Q5
S2s4RmJDclhqMy84Clk5Y0U1TFRUVGpQYmJydXR1Znp5eTZPN0w3M1BxbWRweGNpYmNCczFkMXQx
MVZYTmpUZmVhT3d2Ulc2TnZNWVBQL3l3dWZycXE4MmEKYTY3cExwUjF2UFNmNGgvKzhBZXovZmJi
dTd6UzZxb1ZrZ3cvL1BCRDF3enZycnZ1TW4vLys5L2JIQXVkRy8vN3YvOXJ3blRsazdhZgpDUk1t
R0RVOVV6MVZ4N1BPT3NzRnVuLys4NTl6blZlaGxlODgwdjZqVTZWbGllYVZkQjRxUGUzOHludjhu
bnZ1T2VmU3YzOS9FNTd6CjExMTNuWms4ZVhJclc5WC9oQk5PTUN1c3NJSjU0b2tuVE4rK2ZjMndZ
Y09NL3ZQZmFxdXRYSEY5NVVrcWY1N1BVZndjMEU2eWprUGUKZWl1dnRHTjAxVlZYbVR2dnZOUG9n
dmZJSTQ5ME52YlhabTFXbXBMcXBVU2ZnOUx5bGk5cC84Y2RkMXlyejBUU3Nidi8vdnZObENsVAoy
bnduSlpVMWZneFV2dWprSzJzOHI3WFdXcXZOOTZSc2s3NmpmV1VlUG54NGROZHQzai95eUNQbW1X
ZWVjVCs2Nkh0V24rWDExbHZQCjVQbGNaNTB6OFoybG5SZDU5aGZOTDI2bC8wTTBWZU1jaWU0bmZP
ODdaa25uazVvNmwvUC9Xek4vdi9BNFZBQUFJQUJKUkVGVUx1V2MKOVArVmx2dnNsVFovL254ejVw
bG51bXNaZlFZVS9PbTZSRk9sNTF1OXorKzBlcm9LOFE4QzlSYXd2d1lVbXVKTnNLSWJyNy8rK3NF
RwpHMndRMkl2YndIWkdEOVplZSszZzRJTVBkcXZZQzRKZzFLaFJnYjNnZDAwajdKMlR3RjQ4QlRO
bnpveG1VWHEveXk2N0JMWU50NXRYClU0cVZWMTQ1MkdHSEhVcnBXMis5ZFdEN25yaDUrMnRuWVA4
akRHeC9sVkw2d0lFREEzdXhXcHFQdnJHL2JnVzJMMFpwMFU5Lyt0TlMKYzQyME9taURyUDJ1c3Nv
cXJacWhxUW5iWG52dFZkclhKWmRjRXRpTDRkSjhWajFMSzM3MXhsNklCN1pOZTJEL0EzSk56RlRQ
cjMzdAphNEhxVk1UWVh1d0U5cUkwc1AxNUFudW5LTEJ0NWQyeFcyMjExVXE3VEt1cno5QjJNQXdP
UC96d29GKy9mcVY4b3NjaUtUMXRQeDk5CjlGRmdMNVRjdVdTRDJlRHR0OThPaGc0ZEdoeHl5Q0V1
LzZ3NkYvV3RwQ3lsQ2tmZVJPdXV4V25uVjFaZEl0a0dOcmdMYk4rc3dQYU4KQ3V3RmQ2RFAwMU5Q
UGRYRy90SkxMdzNzQmJEYjFQNENxZHQ5Z2IzQWRJNVo1VkY2dlB3dW82LytLWElPcEIySEl2WFdy
dE9Pa2RKdgp2LzMyd040dDFWdnZGSzlYdFk2TGRoamZmL3ljVHpwMnI3enlpdmM3S1Y3V2VLV2kz
eWxabHZHOG92TnAyeWFWT2RyTU1sNG16ZHQrCkNvRytEOE9tc0tlZmZucnd2ZTk5ejYyYTlibldT
bW5uak1zazlrL2FlWkZuZjdIczJwejcxVHhIaWh5eitQbWtja2FQVzd6Y2ZDN2IKWGxQNFROTE9l
Ym5hdnEvdXUxYnZiU0R0dmovdEQ2aWFUZjBleW5PKzFmUDh6cXFucXhEL0lGQm5nWHh0bWdwRVJl
cTAvcTF2ZmN2OQpZcTFmL3NPUnEreVhxTEYxYzgyaS92S1h2NWdCQXdhWWFkT21tWWtUSjdiSjNW
NUltVC85NlU4bXZQdWlwbGM3Nzd4emFUMXRyMTl6Cjk5MTNYN2RNdDhZUE91Z2djOTk5OTdsZjNj
TVZmYzNCUHYzMFUvUENDeSs0ZldoZGV6SHJ5aFp1NTZ0RG52M3ExK2pvZm52MDZORnEKUHR5SFhy
UHFHVjAzK243czJMRm0xMTEzZFhkV3pqbm5IR1A3NkJqZDBTaGliUDhETXpiWU1OLzk3bmZkWUFM
MlAyOTN4MGFqbVAzcgpYLzh5V1hYMUdlb1grVzk4NHh1dFBGWDIwQ1NlbnJVZi9kbzNlUEJnbDZl
T3l4cHJyR0ZzWHlEejZxdXZPcEswT2hmMXJiUXMwV01VCmZSL1dQVnptTzcvUzZoSnVHNzdxenFF
TjhOMWRJWHRSNSs2d2pSZ3hvbzI5N3BLcDJZVW0vZklzZjAxeURDZGZlY0wwZVBuRDVYblAKZ2F6
alVLVGVXY2NvTEZ1ZTEzaTlmQTVGeXBlMDMvZzVuM1RzdEU3YWQxSzhyRW43MGJJOFpZM25GYzZu
Ylp0VTVyQ1pwYThzK2w3VwpnQnYyUnltM2lzNURmYmRveXZwY1o1MHpMcFBJUDFublJkYitJbG0x
ZWh2YWhBdHJjWTZrdVlmN1RYcU5seTFjaDg5bDIyc0tuMG1hCnZVYlFlLzc1NTQyK1Z6VnR2UEhH
N250VzM1MlZubS8xUHIvVDZobWVON3dpVUcrQnFnY2cwUzlGalo2bDI1U2ExQnhIL3dHcG1ZLysK
MUd6cm9ZY2VjaC9xZUtYLyt0ZS91b3VyNVpaYnJwVFVxMWV2MGtYc3BFbVQzSVdVL29NTHA3QXBn
TDR3d2lsYWxuQ1pYdTJ2OCs0LwpSbDNFcTVtR0xzWTF1bGM0UmJlTDFpSHZmc044c2w2ejZ1bmJ2
bmZ2M3FXa3NBbWJocjB0WXF3TVZNOW92WFZCcS9vcW1NbXFhNXFoCjhvMGFodnNLQ3gxTno5cFB1
RzAwdjJXV1djYll6b291dTdRNkYvV3R0Q3hoL2VLdjBiS0g5UW5YaVo1ZmFYVUoxNCsrS3RnTkE0
cHcKZWRSV3kyU2xmTU5KVGRIQy8xRERaZEh5UmN1VGxCNHUwMnZlY3lEck9CU3BkNTVqRkMxajJ2
dG92YlZlZEQ3cVVLUjh2djNGajB2OAoyS1ZaeHN2bTI0ZVc1eWxydEo3UnZMTzJqWmM1clJ4aHZ2
YVhmcU9MUHpYcjBvaGtjK2JNS1cwV040bCtyclBPbVZJbVg3M0pjMTZrCjdTK2VYemp2czFKNnRj
NlJMUGV3TFBIWGVObkM5TFJ6S1dxUVpWeWtYSG44dy9KbHZjYnJGWjB2MTl4bmtsWkgvVGlxcHFy
Ui9hdlAKcTY1ajh0UTNhcTA2Ti9MOFRxdG4xdkVnSFlGYUNXVDJBYW5XanUzb0cwWWR5Y1ArQldu
NS91Yy8vekZhUHo2Rlh3UnFPNmwwQlRjSwpURFRwVjNmbC85bG5uOFUzUzV6WHNJcTJXWmY1M2U5
K1o5UzI4NEVISG5EdFBCTlgvbXBoTmZZYnpUK3JudEYxZmUvMWE0eSsyUFJYCnhOaVhuKzQyeVRG
UFhjc3hqTzgzejM3aTIwVG4wK3BjMUxmU3NrVExWYzc3dExxVWs1KzJzYzBMalIyMXpuVmtWWDhw
M1pIYlpwdHQKeXMydXpYWjV6b0dzNDFDazNvMDRSa1hLMXdhb3dJSThsbG5aVlZMV1NyYjFsVXQ5
UG5TM1duM0wxSjlCRjI1NXBxeHpKcDVISTg2TAphQmtxc2F0azIyZ1pvdS96bkV0WnhrWEsxUWov
SXVXVFRaSkpXaDdxTTZFK2RVbFRwZlhOc28vdnM5TDlwZFV6dmkvbUVhaVhRTlh2CmdQZ0tidnNh
dURzZTRTL1hXazlOc3ZRclRIeFNZS0RtV2JhTmNUekp6ZXVYZWoyMFIyTm5oNU1lYm1UYk9aWTZZ
MnQ1R0xDRTY0U3YKdG4ybTBmcDJPRnQzSzFXamMraVpBVmxUM3YycW8yS2VLYXVlZWZKUUIzMzlx
cWlPeFVXTWsvS1d0eDVVdGRGR0c3azdVR25HUlExOQp4eUt2YVZKNXRTeXR6a1Y5S3kyTHI0eSt1
c2ZYVDZ0TGZOMjg4MnE2cUNhR2FqS2d6c0RxakZ0MDhwVS83em1RZFJ5SzFMdWF4OGhYCnI3aFBr
ZkxGdDgwN24yVlp6YkxHOHdybnExMVAyNi9GSEhIRUVVYURBRVR2VnVjeHlUcG40bmxVODd5STVo
M2FSSmNsdmEvRXJ0eHQKZldYTE9wZkM4bWNaRnlsWE5mMTk5UXJMSGI0V0taL1BKQzBQL2Jpbmxn
VWE1Q2FjZE0yaVZoYVYxamZMUHR4ZitGcnAvdExxR2U2RApWd1RxTFZBb0FOR0Z0WWEzOUQxWldG
RzYvc0pKSTBqb1Q5TisrKzNuUnB2UUxVemI4ZHdGQUdlY2NVWnB1Tlp3RzczdXM4OCs3bGY0CjZN
aFI2a3VpS0Y0WHhiWlR0K3Rqb2laYzRhU0xLMzFJOWNCRVRXcStwVjhaTkdsLzBVa1gyUm9SUTVQ
dEpHNTIyMjIzMHAyVXREcmsKMmEvdXhPaEJVM0pTY0tBdkwrMHZuTFRjZG9oenMxbjFETGVKdjhv
Z25OUk9WUS85VXp2cklzYmg5dEd5NmVKVUl5T3BpVTVXWGJNTQpkZHoxWmEwcGZpeGtIS1puN1Vm
Ynl5d2ExR243MENDdHprVjlLeTJMeWhxZmt1cGVqYytJOXFPQU8veDhoZnVOMm1yWnIzNzFLNlBS
CmpvNCsrbWp6Z3gvOHdJMEtGYTZyVjYzdks0L1M0K1hYc25ES2V3NWtIWWUwWXhqdUszek5jNHcw
c3AzT2wyaTl3dTNEMTNpOTBoeUsKbEUvNUorMWYrWWZudk5hSkg3czB5M2hadFgxMGluNm5aSlUx
bmxkMFh2MGI5S3V2N3pzNlhtYVZRVDkrbkhMS0tlNHVjclJNZXEvKwpIam9PQ2tUMGVWVVRMUDBB
cGU4Ri9hVjlyclBPbWZpKzhwd1hhZnVMNTZmNXFJMytENm5tT1ZMa21DV2RUL0d5UmN1ZmRpNUZ6
OE1zCjQ2eHpLYnJQUFA1SjlZam1vZmZ4ZWxYTDNHZVNWa2Y1YU9UTkF3ODgwSjNMT3A4MW9xRDZU
dWFwYjlyNWxtVWZkNmwwZjJuMTFMNzAKWUV1Tk1CbGVNOFgzenp3Q05SR3cveEhrbXV5dFNEZlNq
aTFFWVBzZ0JIb0E0YXhaczByYmFpUWVqVHl6N3JyckJ2WVhnc0EyYXdyMApFQ0hibk1lTjJLUVZm
Ly83M3dlMkdVaGdmK0Z3STJEWm9WaEwyOGZmM0hUVFRZRnRWdVR5c0U5Z0QyeC9qY0MyeHd5MFhK
UHkxNzdPClAvLzh3SFpZRDJ5SDlNQitRWlN5T2Vta2s5eCtiT2Ywd1A2bldscXVONnFMN2Rqc0hx
Qm9oNFlNN0s5MGJoU3BQSFhJMnE4ZGRqS3cKYlVUZHlGVEhIMys4RzVYSWRzcDNJOEhZd0NTd0hk
bDBWUjdZWVIzZEtERlo5V3hWY0R0amgvVU5iSkFUMk03bndkbG5ueDBjYzh3eApibVN4Y0wwaXho
b0pUS01vMlF1SXdGNm9CaHF4eS81U0ZHYVZhdXd6VkIxSGpoenA2cWdISm1va25PaXhzTVBudGts
UE05WG9YUFkvCkpUY0ttbTNIR3RpT3VvRWRPdGlkUnc4KytLQXJhMXFkaS9wV1dwWVMzbGR2b25X
M3d4NVg3VE9pZXRuaFdBTTdtRU5nZzJtM3R5VDcKbi96a0orNVk2Snl6L1gzY1F6QjF2dXU0NURu
Zm8rWFAremxLS2tmV2NVZzdobkhUdEdOa08zY0dOb2gyZGJiRFpRYjJCNEQ0NW00KwpXcTlxSHBl
ay9jYzk3SERKYlk2ZDcvT2t3a2JMR2o4R3lqdituWkptR2M4clB1L2JOdWw4VTluMFhhL3ZmVHM4
cVdaYlRiWTVyUHQrCnNjMWtBM3NSRjlpaGhnUGJCREFZTTJhTUd5a3g2M09kZGM2MDJwbWRTVHN2
OG55UHhQT0wybFR6SENseXpKTE9KNVV6V3JiNE9lRTcKbCtMbm9iNERzb3g5NTBQY1N2TnAvcjU2
eFBPSjFxdWE1ajRUN1QrdGpycEdzZjNzM1BlSnZTTVMyT2FFcFNLbjFUZlArWlpsWDlyUgpWMjhx
M1Y5YVBUVUtuNjdMOU4zRWhFQzlCRnEwbzVwRU5wNU05YXVBUmxyUzdVMzFOVWliOUt1WmZubFNC
ekw5Y2haOURvaTJVOUgxCnJBLzFXOUJJU2ZGSmQweTBiWHpTcjNMYVJwMGoxVFFnYTF6OStQWlor
MVVkVlhaMTJ0VGRqcXptQjFuMWpPOWY4N3FsckxvbEdlWTEKMXBqbUd2MUtkNkwwUzFPOFE3UDI0
NnRyVVVQZnNkQStOUG4yODkvVTdIL1Q2bHpVdDlLeXhFdWJWZmY0K21sMWlhK2JOVytEVkRONgo5
R2ozK2RHdjFUcm5OU0tLdlFqTTFSOUwrZnZLWC9RY3lEb09SZXBkaldQa3E1ZlB0RWo1ZkhuNGxt
ZFpWck9zOGJ6aTgwWHJhWCtJCmNzLzdzVCtPSkZaUGQzNzBYYWdwei9kaE5KT3NjeWE2cnQ1WDQ3
eUk1aG0zaWFZbHZTOXFGODJqNkxhK3NtV2RTOUY5Nm4yV2NaRnkKVmNQZlY2OTR1Y1A1UE9YTE1r
bkxRM1ZTazIyTnBCYWZLcTF2bG4yMTk1ZFdUelY3VDdvR2lKZUJlUVNxSlZEM0FLUmFCU2VmeWdY
QwpBTVRlemFvOE0zSm9kd0pYWEhHRkN6WTBxbGwwMG9BTEN0ajFFRW9tQkNvVlVBZHpqVUtvWVo2
WkVFQUFBUVFReUNPUWZnc2lUdzZzCjB5RUY5SXRRMkVlbFExYUFRbWNLMktad3J1K0gyZzlyREh2
OUVtMmJheGkxOVNmNHlPUmpoWndDZSt5eGh4dVNOdWZxcklZQUFnZ2cKZ0lEaERraVRuZ1Mycldl
cHc1bDlrcnI1L3ZlLzM2UVNuYnZhYWg2ajhlelZaRThQQmlYdzZOekhtOW9oZ0FBQ0NDRFFFUVFJ
UURyQwpVYUtNQ0NDQUFBSUlJSUFBQWdoMEVvRkN3L0Iya2pwVERRUVFRQUFCQkJCQUFBRUVFR2lR
QUFGSWcrRFpMUUlJSUlBQUFnZ2dnQUFDCnpTaEFBTktNUjUwNkk0QUFBZ2dnZ0FBQ0NDRFFJQUVD
a0FiQnMxc0VFRUFBQVFRUVFBQUJCSnBSZ0FDa0dZODZkVVlBQVFRUVFBQUIKQkJCQW9FRUNCQ0FO
Z21lM0NDQ0FBQUlJSUlBQUFnZzBvd0FCU0RNZWRlcU1BQUlJSUlBQUFnZ2dnRUNEQkFoQUdnVFBi
aEZBQUFFRQpFRUFBQVFRUWFFWUJBcEJtUE9yVUdRRUVFRUFBQVFRUVFBQ0JCZ2tRZ0RRSW50MGln
QUFDQ0NDQUFBSUlJTkNNQWdRZ3pYalVxVE1DCkNDQ0FBQUlJSUlBQUFnMFNJQUJwRUR5N1JRQUJC
QkJBQUFFRUVFQ2dHUVVJUUpyeHFGTm5CQkJBQUFFRUVFQUFBUVFhSkVBQTBpQjQKZG9zQUFnZ2dn
QUFDQ0NDQVFETUtFSUEwNDFHbnpnZ2dnQUFDQ0NDQUFBSUlORWlBQUtSQjhPd1dBUVFRUUFBQkJC
QkFBSUZtRkNBQQphY2FqVHAwUlFBQUJCQkJBQUFFRUVHaVFBQUZJZytEWkxRSUlJSUFBQWdnZ2dB
QUN6U2hBQU5LTVI1MDZJNEFBQWdnZ2dBQUNDQ0RRCklBRUNrQWJCczFzRUVFQUFBUVFRUUFBQkJK
cFJnQUNrR1k4NmRVWUFBUVFRUUFBQkJCQkFvRUVDQkNBTmdtZTNDQ0NBQUFJSUlJQUEKQWdnMG93
QUJTRE1lZGVxTUFBSUlJSUFBQWdnZ2dFQ0RCQWhBR2dUUGJoRkFBQUVFRUVBQUFRUVFhRVlCQXBC
bVBPclVHUUVFRUVBQQpBUVFRUUFDQkJna1FnRFFJbnQwaWdBQUNDQ0NBQUFJSUlOQ01BZ1Fnelhq
VXFUTUNDQ0NBQUFJSUlJQUFBZzBTSUFCcEVEeTdSUUFCCkJCQkFBQUVFRUVDZ0dRVUlRSnJ4cUZO
bkJCQkFBQUVFRUVBQUFRUWFKRUFBMGlCNGRvc0FBZ2dnZ0FBQ0NDQ0FRRE1LRUlBMDQxR24Kemdn
Z2dBQUNDQ0NBQUFJSU5FaUFBS1JCOE93V0FRUVFRQUFCQkJCQUFJRm1GQ0FBYWNhalRwMFJRQUFC
QkJCQUFBRUVFR2lRQUFGSQpnK0RaTFFJSUlJQUFBZ2dnZ0FBQ3pTaEFBTktNUjUwNkk0QUFBZ2dn
Z0FBQ0NDRFFJSUZPSFlDY2R0cHBadURBZ2EzKy92YTN2eldJCm10MGlnQUFDQ0NDQUFBSUlJSUJB
MTg1TU1HUEdEUFBPTysrMHF1S0NCUXRhelRPREFBSUlJSUFBQWdnZ2dBQUM5UlBvMUhkQTZzZkkK
bmhCQUFBRUVFRUFBQVFRUVFDQ1BBQUZJSGlYV1FRQUJCQkJBQUFFRUVFQUFnYW9JZE9vbVdGMjdk
alhkdTNkdkJkV2xDekZYS3hCbQpFRUFBQVFRUVFBQUJCQkNvbzBCTFlLYzY3bzlkSVlBQUFnZ2dn
QUFDQ0NDQVFCTUxjRHVnaVE4K1ZVY0FBUVFRUUFBQkJCQkFvTjRDCkJDRDFGbWQvQ0NDQUFBSUlJ
SUFBQWdnMHNRQUJTQk1mZktxT0FBSUlJSUFBQWdnZ2dFQzlCYW9hZ015Y09iUGU1V2QvQ0NDQUFB
SUkKSUlBQUFnZ2cwSUVFS2g0RjY5TlBQelczM0hLTHVlYWFhMHovL3YzTi9mZmZYN2o2enovL3ZK
azFhMWJpZG9NSER6YXJyYlphWWxyYQp3dWVlZTg3TW5qMDdjWlUxMTF6VHJMcnFxb2xwTEVRQUFR
UVFRQUFCQkJCQUFJSGFDWlExQ3BZR3pucmtrVWRjMERGKy9IZ1RQbDE4CjJMQmhSaGYrUmFldHR0
cktQUEhFRTRtYm5YZmVlZWI0NDQ5UFRFdGJPR0xFQ0ROcDBxVEVWUzYrK0dKenpESEhKS2F4RUFF
RUVFQUEKQVFRUVFBQUJCR29uVVBnT3lNU0pFODNZc1dQTk8rKzgwNlpVSDMzMFVadGxMRUFBQVFR
UVFBQUJCQkJBQUFFRVFvSENmVURtekptVApHSHdvdzZsVHA1b3Z2L3d5ekp0WEJCQkFBQUVFRUVB
QUFRUVFRS0NWUU9FQVpPREFnYTB5aU00c1hyellUSnMyTGJxSTl3Z2dnQUFDCkNDQ0FBQUlJSUlC
QVNhQndBTExHR211VU5rNTYwMTZhWWFVOTRIM0pKWmRNS2pyTEVFQUFBUVFRUUFBQkJCQkFvTVlD
aFFPUVhyMTYKbVg3OStubUxWZTBBcEtXbHhidXZ0SVQ1OCtkN2svdjA2ZU5OSXdFQkJCQkFBQUVF
RUVBQUFRUnFKMUE0QUZGUjBwcGhmZmpoaDRWTAp1MmpSSXU4MlBYcjA4S2FsSldoNFlOKzAzSExM
K1pKWWpnQUNDQ0NBQUFJSUlJQUFBalVVcUhvQVVzNGRrTFM3RmJyalVzN2tlNjZJCjh1SU9TRG1p
YklNQUFnZ2dnQUFDQ0NDQVFPVUM3U0lBbVRkdm5yY21QWHYyOUtiNUV0UVpYcU4xK1NidWdQaGtX
STRBQWdnZ2dBQUMKQ0NDQVFHMEYya1VBa25ZSHBKd0F4UGNFOUpDU095Q2hCSzhJSUlBQUFnZ2dn
QUFDQ05SWG9Pb0JTRGw5UUQ3NzdETnZyY3RwZ3BYVwovME03NGc2SWw1c0VCQkJBQUFFRUVFQUFB
UVJxS2xEMUFLUm9IeEFGSHpObnp2Uldzbi8vL3Q0MFgwSmEvdzkxYW1jWVhwOGN5eEZBCkFBRUVF
RUFBQVFRUXFLMUFXUUZJMnJOQWlnWWc3N3p6anJlRzNicDFNNE1IRC9hbSt4Sm16SmpoU3pKOSsv
YjFwcEdBQUFJSUlJQUEKQWdnZ2dBQUN0UlVvS3dCSmV4YUkrbCtrZFNxUFYyZktsQ254UmFWNUJS
OWR1M1l0emVkOU0zbnlaTytxNjYrL3ZqZU5CQVFRUUFBQgpCQkJBQUFFRUVLaXRRRmtCaUlxVTlp
eVFJbmRCWG4vOWRXOE4xMTU3Ylc5YVdzS2tTWk84eVNOSGp2U21rWUFBQWdnZ2dBQUNDQ0NBCkFB
SzFGV2g0QVBMNDQ0OTdhemgwNkZCdldsckMwMDgvN1UzZWJMUE52R2trSUlBQUFnZ2dnQUFDQ0ND
QVFHMEZ5ZzVBQmcwYTVDMVoKM3BHd2dpQXdqejMybURlZnpUZmYzSnZtUzlBSVdMNjdLbDI2ZERI
RGh3LzNiY3B5QkJCQUFBRUVFRUFBQVFRUXFMRkEyUUZJTlpwZwp2ZmppaTJiNjlPbUpWVng2NmFY
TkRqdnNrSmlXdGxCM1B4VFlKRTNycnJ1dVdYYlpaWk9TV0lZQUFnZ2dnQUFDQ0NDQUFBSjFFR2hv
CkFITGxsVmQ2cTZqZ1EwRkkwU210K1JYOVA0cHFzajRDQ0NDQUFBSUlJSUFBQXRVVnFFa0FrcWNK
bHA3OWNkMTExM2xyczl0dXUzblQKMGhMUytwVFEveU5OampRRUVFQUFBUVFRUUFBQkJHb3ZVSFlB
c3ZycXEzdExsMmNVckxQUFB0djRub0N1SjVYdnVlZWUzdng5Q2UrOQo5NTU1NktHSEVwTmJXbHJN
ZHR0dGw1akdRZ1FRUUFBQkJCQkFBQUVFRUtpUFFOa0JpSjRGNG50S2VWWUE4dUNERDVvTExyakFX
OE1UClR6elJLQWdwT28wYk44NHNYcnc0Y2JOUm8wYWxEaDJjdUJFTEVVQUFBUVFRUUFBQkJCQkFv
S29DWlFjZ0tvV3ZJM3BhRXl6MTBSZ3oKWm95M28vaUFBUVBNMFVjZlhiaVNDeGN1TkZkZGRaVjN1
Nk9PT3NxYlJnSUNDQ0NBQUFJSUlJQUFBZ2pVUjZBbUFjalVxVk1UQTR4cgpyNzNXYkwzMTFtYmF0
R25lMnAxenpqbW1SNDhlM25SZnd2ang0ODNISDMrY21EeGt5QkN6MDA0N0phYXhFQUVFRUVBQUFR
UVFRQUFCCkJPb25VSk1BWk5HaVJlYVRUejV4dGZqaWl5L016VGZmYklZTkcyWU9QUEJBczJEQkFt
L3RUampoQkROMjdGaHZlbHJDWlpkZDVrMCsKNG9nampQcUFNQ0dBQUFJSUlJQUFBZ2dnZ0VCakJi
cFdzbnRmRXl6bHFXWlViNzMxbHRHelBqNy8vUFBNM2V5Nzc3NUdkei9LbVNaTQptR0FtVHB5WXVH
blBuajFkNEpPWXlFSUVFRUFBQVFRUVFBQUJCQkNvcTBETkFwQmJiNzAxZDBVT08rd3djOGtsbDVS
MWwwSlBQdDkvCi8vMjkrOUlkbGQ2OWUzdlRTVUFBQVFRUVFBQUJCQkJBQUlINkNkUXNBTWxUaFg3
OStybU80K1UrODBQN09Qend3NDJHMzAyYWxsOSsKZVhQS0thY2tKYkVNQVFRUVFBQUJCQkJBQUFF
RUdpQlFVUitRTmRaWW82d2lkKy9lM1J4eXlDSG1wWmRlTXBVRUh6ZmNjSU81N2JiYgp2R1c0NG9v
cmpFYlZZa0lBQVFRUVFBQUJCQkJBQUlIMklkQVMyS21Tb3F5d3dncXBvMXBGODE1eHhSWE5rVWNl
YVg3MG94OFozZjJvClpIcjc3YmZOQmh0c1lHYlBucDJZelFFSEhHQ3V1ZWFheERRV0lvQUFBZ2dn
Z0FBQ0NDQ0FRR01FS21xQ3BTS3JJN3B2V0YzZDZSZzUKY3FSN0F2bTIyMjVyaGc4ZmJycDE2MVp4
VFY5NTVSV3p5eTY3ZUlPUFFZTUd1VDRsRmUrSURCQkFBQUVFRUVBQUFRUVFRS0NxQWxVSgpRUFJ3
d2ZpMHpETExHRDBQUkVGSU5hZUhIMzdZakI0OTJzeWFOU3N4Mnk1ZHVwanJyNy9lYVA5TUNDQ0FB
QUlJSUlBQUFnZ2cwTDRFCkt1b0RvcXJvYmtQU05HZk9uRnpEN3ladDYxdW1KNTJQR2pYS0czeG9P
M1U2MzNMTExYMVpzQndCQkJCQUFBRUVFRUFBQVFRYUtGQngKQUpMMkxKQXBVNlpVcFdvS1pvNDk5
bGpYY1YwUE9mUk5SeDExbERuOTlOTjl5U3hIQUFFRUVFQUFBUVFRUUFDQkJndlVOQURSZ3dncgpt
UlI0bkhYV1dlNHV5MFVYWFpTYWxVYlYwck5FbUJCQUFBRUVFRUFBQVFRUVFLRDlDbFNsRDRpdmV1
WGVBVkhnY2VtbGw1b0xMN3pRClRKOCszWmQ5YWZsQkJ4MWt4bzBiVjlhRERFdVo4QVlCQkJCQUFB
RUVFRUFBQVFScUxsQnhBTEw2NnF0N0MxbmtEc2k3Nzc1ckpreVkKNFA3dXZmZGVNMlBHREcrK1lV
SkxTNHM1ODh3enpVa25uUlF1NGhVQkJCQkFBQUVFRUVBQUFRVGFzVURGQVVqUG5qMk5uZ1dpRWEv
aQpVOUlka1BuejU3dTdHcnF6TVhueTVGTFFVU1JZMFg1NjllcGxicnp4eG9vZVpCZ3ZML01JSUlB
QUFnZ2dnQUFDQ0NCUVc0R0tIMFNvCjRvMFlNY0pNbWpTcFRVbDc5KzV0TnRwb28xTEFvYnNhQ2tB
cW5ZWU5HK2FHMmwxdnZmVXF6WXJ0RVVBQUFRUVFRQUFCQkJCQW9JNEMKRlhkQ1YxbDlJMkhwV1Ix
cVZ2WFNTeStaOTk5L3YrTGdRODhVT2VlY2MxeXdRL0JSeDdPRVhTR0FBQUlJSUlBQUFnZ2dVQ1dC
aXB0ZwpxUnkrQUtSS1pYVFo2TW5uR2dscnlKQWgxY3lXdkJCQUFBRUVFRUFBQVFRUVFLQ09Balc5
QTFKcFBkVEpmTTg5OXpUUFB2dXN1ZSsrCit3ZytLZ1ZsZXdRUVFBQUJCQkJBQUFFRUdpelFMdStB
YUdTdHZmZmUyMmg0M1hYV1dhZkJST3dlQVFRUVFBQUJCQkJBQUFFRXFpWFEKTGdJUTNlbFFvTEg5
OXR1YmZmYlp4NHdjT1pKbmVsVHJDSk1QQWdnZ2dBQUNDQ0NBQUFMdFNLQXFvMkRObXpmUGFEamV2
Tk9BQVFQTQowS0ZEM2VoWlcyeXhoZEZmMzc1OTgyN09lZ2dnZ0FBQ0NDQ0FBQUlJSU5CQkJhb1Nn
S2p1cTZ5eWlwazdkNjdwMDZlUDZkZXZYNnMvClBTZGs4T0RCWnEyMTFuTDlPUFFNRHlZRUVFQUFB
UVFRUUFBQkJCQm9Qb0dxQlNETlIwZU5FVUFBQVFRUVFBQUJCQkJBb0toQVZVYkIKS3JwVDFrY0FB
UVFRUUFBQkJCQkFBSUhtRkNBQWFjN2pUcTBSUUFBQkJCQkFBQUVFRUdpSUFBRklROWpaS1FJSUlJ
QUFBZ2dnZ0FBQwp6U2xBQU5LY3g1MWFJNEFBQWdnZ2dBQUNDQ0RRRUFFQ2tJYXdzMU1FRUVBQUFR
UVFRQUFCQkpwVGdBQ2tPWTg3dFVZQUFRUVFRQUFCCkJCQkFvQ0VDQkNBTllXZW5DQ0NBQUFJSUlJ
QUFBZ2cwcHdBQlNITWVkMnFOQUFJSUlJQUFBZ2dnZ0VCREJBaEFHc0xPVGhGQUFBRUUKRUVBQUFR
UVFhRTRCQXBEbVBPN1VHZ0VFRUVBQUFRUVFRQUNCaGdnUWdEU0VuWjBpZ0FBQ0NDQ0FBQUlJSU5D
Y0FnUWd6WG5jcVRVQwpDQ0NBQUFJSUlJQUFBZzBSSUFCcENEczdSUUFCQkJCQUFBRUVFRUNnT1FV
SVFKcnp1Rk5yQkJCQUFBRUVFRUFBQVFRYUlrQUEwaEIyCmRvb0FBZ2dnZ0FBQ0NDQ0FRSE1LRUlB
MDUzR24xZ2dnZ0FBQ0NDQ0FBQUlJTkVTQUFLUWg3T3dVQVFRUVFBQUJCQkJBQUlIbUZDQUEKYWM3
alRxMFJRQUFCQkJCQUFBRUVFR2lJQUFGSVE5alpLUUlJSUlBQUFnZ2dnQUFDelNsQUFOS2N4NTFh
STRBQUFnZ2dnQUFDQ0NEUQpFQUVDa0lhd3MxTUVFRUFBQVFRUVFBQUJCSnBUZ0FDa09ZODd0VVlB
QVFRUVFBQUJCQkJBb0NFQ0JDQU5ZV2VuQ0NDQUFBSUlJSUFBCkFnZzBwd0FCU0hNZWQycU5BQUlJ
SUlBQUFnZ2dnRUJEQkFoQUdzTE9UaEZBQUFFRUVFQUFBUVFRYUU0QkFwRG1QTzdVR2dFRUVFQUEK
QVFRUVFBQ0JoZ2dRZ0RTRW5aMGlnQUFDQ0NDQUFBSUlJTkNjQWdRZ3pYbmNxVFVDQ0NDQUFBSUlJ
SUFBQWcwUklBQnBDRHM3UlFBQgpCQkJBQUFFRUVFQ2dPUVVJUUpyenVGTnJCQkJBQUFFRUVFQUFB
UVFhSWtBQTBoQjJkb29BQWdnZ2dBQUNDQ0NBUUhNS0VJQTA1M0duCjFnZ2dnQUFDQ0NDQUFBSUlO
RVNBQUtRaDdPd1VBUVFRUUFBQkJCQkFBSUhtRkNBQWFjN2pUcTBSUUFBQkJCQkFBQUVFRUdpSUFB
RkkKUTlqWktRSUlJSUFBQWdnZ2dBQUN6U2xBQU5LY3g1MWFJNEFBQWdnZ2dBQUNDQ0RRRUFFQ2tJ
YXdzMU1FRUVBQUFRUVFRQUFCQkpwVApnQUNrT1k4N3RVWUFBUVFRUUFBQkJCQkFvQ0VDQkNBTllX
ZW5DQ0NBQUFJSUlJQUFBZ2cwcDBCWkFjZzc3N3hqQmc0YzJPcnYvLzIvCi85ZWNndFFhQVFRUVFB
QUJCQkJBQUFFRWNndDB6YjFtWk1WRml4WVpCU0hSYWVyVXFkRlozaU9BQUFJSUlJQUFBZ2dnZ0FB
Q2JRVEsKdWdQU0poY1dJSUFBQWdnZ2dBQUNDQ0NBQUFJNUJBaEFjaUN4Q2dJSUlJQUFBZ2dnZ0FB
Q0NGUkhvS3dtV0MwdExhWjc5KzZ0U3RDdApXN2RXODh3Z2dBQUNDQ0NBQUFJSUlJQUFBbkdCbHNC
TzhZWE1JNEFBQWdnZ2dBQUNDQ0NBQUFLMUVLQUpWaTFVeVJNQkJCQkFBQUVFCkVFQUFBUVFTQlFo
QUVsbFlpQUFDQ0NDQUFBSUlJSUFBQXJVUUlBQ3BoU3A1SW9BQUFnZ2dnQUFDQ0NDQVFLSkFWUU9R
bVRObkp1NkUKaFFnZ2dBQUNDQ0NBQUFJSUlJQ0FCTW9hQlN0SzkrbW5uNXBiYnJuRlhIUE5OYVov
Ly83bS92dnZqeWJuZXYvODg4K2JXYk5tSmE0NwplUEJnczlwcXF5V21wUzE4N3JubnpPelpzeE5Y
V1hQTk5jMnFxNjZhbU1aQ0JCQkFBQUVFRUVBQUFRUVFxSjFBV2FOZ2FlQ3NSeDU1CnhBVWQ0OGVQ
TndzV0xIQWxIRFpzbU5HRmY5RnBxNjIyTWs4ODhVVGladWVkZDU0NS92aERlQVFpQUFBVk0wbEVR
VlRqRTlQU0ZvNFkKTWNKTW1qUXBjWldMTDc3WUhIUE1NWWxwTEVRQUFRUVFRQUFCQkJCQUFJSGFD
UlMrQXpKeDRrUXpkdXhZODg0Nzc3UXAxVWNmZmRSbQpHUXNRUUFBQkJCQkFBQUVFRUVBQWdWQ2dj
QitRT1hQbUpBWWZ5bkRxMUtubXl5Ky9EUFBtRlFFRUVFQUFBUVFRUUFBQkJCQm9KVkE0CkFCazRj
R0NyREtJeml4Y3ZOdE9tVFlzdTRqMENDQ0NBQUFJSUlJQUFBZ2dnVUJJb0hJQ3NzY1lhcFkyVDNy
U1habGhwRDNoZmNza2wKazRyT01nUVFRQUFCQkJCQUFBRUVFS2l4UU9FQXBGZXZYcVpmdjM3ZVls
VTdBR2xwYWZIdUt5MWgvdno1M3VRK2ZmcDQwMGhBQUFFRQpFRUFBQVFRUVFBQ0IyZ2tVRGtCVWxM
Um1XQjkrK0dIaDBpNWF0TWk3VFk4ZVBieHBhUWthSHRnM0xiZmNjcjRrbGlPQUFBSUlJSUFBCkFn
Z2dnRUFOQmFvZWdKUnpCeVR0Ym9YdXVKUXorWjRyb3J5NEExS09LTnNnZ0FBQ0NDQ0FBQUlJSUZD
NVFMc0lRT2JObStldFNjK2UKUGIxcHZnUjFodGRvWGI2Sk95QStHWllqZ0FBQ0NDQ0FBQUlJSUZC
YmdYWVJnS1RkQVNrbkFQRTlBVDJrNUE1SUtNRXJBZ2dnZ0FBQwpDQ0NBQUFMMUZhaDZBRkpPSDVE
UFB2dk1XK3R5bW1DbDlmL1FqcmdENHVVbUFRRUVFRUFBQVFRUVFBQ0JtZ3BVUFFBcDJnZEV3Y2ZN
Cm1UTzlsZXpmdjc4M3paZVExdjlEbmRvWmh0Y254M0lFRUVBQUFRUVFRQUFCQkdvclVGWUFrdllz
a0tJQnlEdnZ2T090WWJkdTNjemcKd1lPOTZiNkVHVE5tK0pKTTM3NTl2V2trSUlBQUFnZ2dnQUFD
Q0NDQVFHMEZ5Z3BBMHA0Rm92NFhhWjNLNDlXWk1tVktmRkZwWHNGSAoxNjVkUy9ONTMweWVQTm03
NnZycnIrOU5Jd0VCQkJCQUFBRUVFRUFBQVFScUsxQldBS0lpcFQwTHBNaGRrTmRmZjkxYnc3WFhY
dHViCmxwWXdhZElrYi9MSWtTTzlhU1FnZ0FBQ0NDQ0FBQUlJSUlCQWJRVWFIb0E4L3ZqajNob09I
VHJVbTVhVzhQVFRUM3VUTjl0c00yOGEKQ1FnZ2dBQUNDQ0NBQUFJSUlGQmJnYklEa0VHREJubExs
bmNrckNBSXpHT1BQZWJOWi9QTk4vZW0rUkkwQXBidnJrcVhMbDNNOE9IRApmWnV5SEFFRUVFQUFB
UVFRUUFBQkJHb3NVSFlBVW8wbVdDKysrS0taUG4xNlloV1hYbnBwczhNT095U21wUzNVM1E4Rk5r
blR1dXV1CmE1WmRkdG1rSkpZaGdBQUNDQ0NBQUFJSUlJQkFIUVFhR29CY2VlV1YzaW9xK0ZBUVVu
UkthMzVGLzQraW1xeVBBQUlJSUlBQUFnZ2cKZ0VCMUJXb1NnT1JwZ3FWbmYxeDMzWFhlMnV5MjIy
N2V0TFNFdEQ0bDlQOUlreU1OQVFRUVFBQUJCQkJBQUlIYUM1UWRnS3krK3VyZQowdVVaQmV2c3M4
ODJ2aWVnNjBubGUrNjVwemQvWDhKNzc3MW5IbnJvb2NUa2xwWVdzOTEyMnlXbXNSQUJCQkJBQUFF
RUVFQUFBUVRxCkkxQjJBS0puZ2ZpZVVwNFZnRHo0NElQbWdnc3U4TmJ3eEJOUE5BcENpazdqeG8w
eml4Y3ZUdHhzMUtoUnFVTUhKMjdFUWdRUVFBQUIKQkJCQUFBRUVFS2lxUU5rQmlFcmg2NGllMWdS
TGZUVEdqQm5qN1NnK1lNQUFjL1RSUnhldTVNS0ZDODFWVjEzbDNlNm9vNDd5cHBHQQpBQUlJSUlB
QUFnZ2dnQUFDOVJHb1NRQXlkZXJVeEFEajJtdXZOVnR2dmJXWk5tMmF0M2JubkhPTzZkR2poemZk
bHpCKy9Iano4Y2NmCkp5WVBHVExFN0xUVFRvbHBMRVFBQVFRUVFBQUJCQkJBQUlINkNkUWtBRm0w
YUpINTVKTlBYQzIrK09JTGMvUE5ONXRodzRhWkF3ODgKMEN4WXNNQmJ1eE5PT01HTUhUdldtNTZX
Y05sbGwzbVRqemppQ0tNK0lFd0lJSUFBQWdnZ2dBQUNDQ0RRV0lHdWxlemUxd1JMZWFvWgoxVnR2
dldYMHJJL1BQLzg4Y3pmNzdydXYwZDJQY3FZSkV5YVlpUk1uSm03YXMyZFBGL2drSnJJUUFRUVFR
QUFCQkJCQUFBRUU2aXBRCnN3RGsxbHR2elYyUnd3NDd6Rnh5eVNWbDNhWFFrOC8zMzM5Lzc3NTBS
NlYzNzk3ZWRCSVFRQUFCQkJCQUFBRUVFRUNnZmdJMUMwRHkKVktGZnYzNnU0M2k1ei96UVBnNC8v
SENqNFhlVHB1V1hYOTZjY3NvcFNVa3NRd0FCQkJCQUFBRUVFRUFBZ1FZSVZOUUhaSTAxMWlpcgp5
TjI3ZHplSEhIS0llZW1sbDB3bHdjY05OOXhnYnJ2dE5tOFpycmppQ3FOUnRaZ1FRQUFCQkJCQUFB
RUVFRUNnZlFpMEJIYXFwQ2dyCnJMQkM2cWhXMGJ4WFhIRkZjK1NSUjVvZi9laEhSbmMvS3BuZWZ2
dHRzOEVHRzVqWnMyY25ablBBQVFlWWE2NjVKakdOaFFnZ2dBQUMKQ0NDQUFBSUlJTkFZZ1lxYVlL
bkk2b2p1RzFaWGR6cEdqaHpwbmtDKzdiYmJtdUhEaDV0dTNicFZYTk5YWG5uRjdMTExMdDdnWTlD
ZwpRYTVQU2NVN0lnTUVFRUFBQVFRUVFBQUJCQkNvcWtCVkFoQTlYREErTGJQTU1rYlBBMUVRVXMz
cDRZY2ZOcU5IanphelpzMUt6TFpMCmx5N20rdXV2TjlvL0V3SUlJSUFBQWdnZ2dBQUNDTFF2Z1ly
NmdLZ3F1dHVRTk0yWk15Zlg4THRKMi9xVzZVbm5vMGFOOGdZZjJrNmQKenJmY2NrdGZGaXhIQUFF
RUVFQUFBUVFRUUFDQkJncFVISUNrUFF0a3lwUXBWYW1hZ3Bsamp6M1dkVnpYUXc1OTAxRkhIV1ZP
UC8xMApYekxMRVVBQUFRUVFRQUFCQkJCQW9NRUNOUTFBOUNEQ1NpWUZIbWVkZFphN3kzTFJSUmVs
WnFWUnRmUXNFU1lFRUVBQUFRUVFRQUFCCkJCQm92d0pWNlFQaXExNjVkMEFVZUZ4NjZhWG13Z3N2
Tk5PblQvZGxYMXArMEVFSG1YSGp4cFgxSU1OU0pyeEJBQUVFRUVBQUFRUVEKUUFDQm1ndFVISUNz
dnZycTNrSVd1UVB5N3J2dm1na1RKcmkvZSsrOTE4eVlNY09iYjVqUTB0Sml6anp6VEhQU1NTZUZp
M2hGQUFFRQpFRUFBQVFRUVFBQ0JkaXhRY1FEU3MyZFBvMmVCYU1TcitKUjBCMlQrL1BudXJvYnVi
RXllUExrVWRCUUpWclNmWHIxNm1SdHZ2TEdpCkJ4bkd5OHM4QWdnZ2dBQUNDQ0NBQUFJSTFGYWc0
Z2NScW5nalJvd3dreVpOYWxQUzNyMTdtNDAyMnFnVWNPaXVoZ0tRU3FkaHc0YTUKb1hiWFcyKzlT
ck5pZXdRUVFBQUJCQkJBQUFFRUVLaWpRTVdkMEZWVzMwaFllbGFIbWxXOTlOSkw1djMzMzY4NCtO
QXpSYzQ1NXh3WAo3QkI4MVBFc1lWY0lJSUFBQWdnZ2dBQUNDRlJKb09JbVdDcUhMd0NwVWhsZE5u
cnl1VWJDR2pKa1NEV3pKUzhFRUVBQUFRUVFRQUFCCkJCQ29vMEJONzRCVVdnOTFNdDl6enozTnM4
OCthKzY3N3o2Q2owcEIyUjRCQkJCQUFBRUVFRUFBZ1FZTHRNczdJQnBaYSsrOTl6WWEKWG5lZGRk
WnBNQkc3UndBQkJCQkFBQUVFRUVBQWdXb0p0SXNBUkhjNkZHaHN2LzMyWnA5OTlqRWpSNDdrbVI3
Vk9zTGtnd0FDQ0NDQQpBQUlJSUlCQU94S295aWhZOCtiTk14cU9OKzgwWU1BQU0zVG9VRGQ2MWha
YmJHSDAxN2R2Mzd5YnN4NENDQ0NBQUFJSUlJQUFBZ2gwClVJR3FCQ0NxK3lxcnJHTG16cDFyK3ZU
cFkvcjE2OWZxVDg4SkdUeDRzRmxycmJWY1B3NDl3NE1KQVFRUVFBQUJCQkJBQUFFRW1rK2cKYWdG
STg5RlJZd1FRUUFBQkJCQkFBQUVFRUNncVVKVlJzSXJ1bFBVUlFBQUJCQkJBQUFFRUVFQ2dPUVVJ
UUpyenVGTnJCQkJBQUFFRQpFRUFBQVFRYUlrQUEwaEIyZG9vQUFnZ2dnQUFDQ0NDQVFITUtFSUEw
NTNHbjFnZ2dnQUFDQ0NDQUFBSUlORVNBQUtRaDdPd1VBUVFRClFBQUJCQkJBQUlIbUZDQUFhYzdq
VHEwUlFBQUJCQkJBQUFFRUVHaUlBQUZJUTlqWktRSUlJSUFBQWdnZ2dBQUN6U2xBQU5LY3g1MWEK
STRBQUFnZ2dnQUFDQ0NEUUVBRUNrSWF3czFNRUVFQUFBUVFRUUFBQkJKcFRnQUNrT1k4N3RVWUFn
Zi9mZmgzVEFBQUFJQXp6N3hvWgpPNmdDUXJrZ1FJQUFBUUlFQ0NRQ0RrakNMcFFBQVFJRUNCQWdR
SURBcDRBRDhybTcxZ1FJRUNCQWdBQUJBZ1FTQVFja1lSZEtnQUFCCkFnUUlFQ0JBNEZQQUFmbmNY
V3NDQkFnUUlFQ0FBQUVDaVlBRGtyQUxKVUNBQUFFQ0JBZ1FJUEFwNElCODdxNDFBUUlFQ0JBZ1FJ
QUEKZ1VUQUFVblloUklnUUlBQUFRSUVDQkQ0RkhCQVBuZlhtZ0FCQWdRSUVDQkFnRUFpNElBazdF
SUpFQ0JBZ0FBQkFnUUlmQW80SUorNwphMDJBQUFFQ0JBZ1FJRUFnRVhCQUVuYWhCQWdRSUVDQUFB
RUNCRDRGSEpEUDNiVW1RSUFBQVFJRUNCQWdrQWc0SUFtN1VBSUVDQkFnClFJQUFBUUtmQWc3STUr
NWFFeUJBZ0FBQkFnUUlFRWdFSEpDRVhTZ0JBZ1FJRUNCQWdBQ0JUd0VINUhOM3JRa1FJRUNBQUFF
Q0JBZ2sKQWc1SXdpNlVBQUVDQkFnUUlFQ0F3S2VBQS9LNXU5WUVDQkFnUUlBQUFRSUVFZ0VISkdF
WFNvQUFBUUlFQ0JBZ1FPQlR3QUg1M0YxcgpBZ1FJRUNCQWdBQUJBb21BQTVLd0N5VkFnQUFCQWdR
SUVDRHdLZUNBZk82dU5RRUNCQWdRSUVDQUFJRkV3QUZKMklVU0lFQ0FBQUVDCkJBZ1ErQlJ3UUQ1
MzE1b0FBUUlFQ0JBZ1FJQkFJdUNBSk94Q0NSQWdRSUFBQVFJRUNId0tPQ0NmdTJ0TmdBQUJBZ1FJ
RUNCQUlCRncKUUJKMm9RUUlFQ0JBZ0FBQkFnUStCUnlRejkyMUprQ0FBQUVDQkFnUUlKQUlPQ0FK
dTFBQ0JBZ1FJRUNBQUFFQ253SU95T2Z1V2hNZwpRSUFBQVFJRUNCQklCQnlRaEYwb0FRSUVDQkFn
UUlBQWdVOEJCK1J6ZDYwSkVDQkFnQUFCQWdRSUpBSU9TTUl1bEFBQkFnUUlFQ0JBCmdNQ25nQVB5
dWJ2V0JBZ1FJRUNBQUFFQ0JCSUJCeVJoRjBxQUFBRUNCQWdRSUVEZ1U4QUIrZHhkYXdJRUNCQWdR
SUFBQVFLSmdBT1MKc0FzbFFJQUFBUUlFQ0JBZzhDbmdnSHp1cmpVQkFnUUlFQ0JBZ0FDQlJNQUJT
ZGlGRWlCQWdBQUJBZ1FJRVBnVWNFQStkOWVhQUFFQwpCQWdRSUVDQVFDTGdnQ1RzUWdrUUlFQ0FB
QUVDQkFoOENqZ2duN3RyVFlBQUFRSUVDQkFnUUNBUmNFQVNkcUVFQ0JBZ1FJQUFBUUlFClBnVWNr
TS9kdFNaQWdBQUJBZ1FJRUNDUUNEZ2dDYnRRQWdRSUVDQkFnQUFCQXA4Q0Rzam43bG9USUVDQUFB
RUNCQWdRU0FRY2tJUmQKS0FFQ0JBZ1FJRUNBQUlGUEFRZmtjM2V0Q1JBZ1FJQUFBUUlFQ0NRQ0Rr
akNMcFFBQVFJRUNCQWdRSURBcDRBRDhybTcxZ1FJRUNCQQpnQUFCQWdRU0FRY2tZUmRLZ0FBQkFn
UUlFQ0JBNEZQQUFmbmNYV3NDQkFnUUlFQ0FBQUVDaVlBRGtyQUxKVUNBQUFFQ0JBZ1FJUEFwCjRJ
Qjg3cTQxQVFJRUNCQWdRSUFBZ1VUQUFVblloUklnUUlBQUFRSUVDQkQ0RkhCQVBuZlhtZ0FCQWdR
SUVDQkFnRUFpNElBazdFSUoKRUNCQWdBQUJBZ1FJZkFvNElKKzdhMDJBQUFFQ0JBZ1FJRUFnRVhC
QUVuYWhCQWdRSUVDQUFBRUNCRDRGSEpEUDNiVW1RSUFBQVFJRQpDQkFna0FnNElBbTdVQUlFQ0JB
Z1FJQUFBUUtmQWc3STUrNWFFeUJBZ0FBQkFnUUlFRWdFSEpDRVhTZ0JBZ1FJRUNCQWdBQ0JUd0VI
CjVITjNyUWtRSUVDQUFBRUNCQWdrQWc1SXdpNlVBQUVDQkFnUUlFQ0F3S2VBQS9LNXU5WUVDQkFn
UUlBQUFRSUVFZ0VISkdFWFNvQUEKQVFJRUNCQWdRT0JUd0FINTNGMXJBZ1FJRUNCQWdBQUJBb21B
QTVLd0N5VkFnQUFCQWdRSUVDRHdLZUNBZk82dU5RRUNCQWdRSUVDQQpBSUZFd0FGSjJJVVNJRUNB
QUFFQ0JBZ1ErQlJ3UUQ1MzE1b0FBUUlFQ0JBZ1FJQkFJdUNBSk94Q0NSQWdRSUFBQVFJRUNId0tP
Q0NmCnUydE5nQUFCQWdRSUVDQkFJQkZ3UUJKMm9RUUlFQ0JBZ0FBQkFnUStCUnlRejkyMUprQ0FB
QUVDQkFnUUlKQUlPQ0FKdTFBQ0JBZ1EKSUVDQUFBRUNud0lPeU9mdVdoTWdRSUFBQVFJRUNCQklC
QnlRaEYwb0FRSUVDQkFnUUlBQWdVOEJCK1J6ZDYwSkVDQkFnQUFCQWdRSQpKQUlPU01JdWxBQUJB
Z1FJRUNCQWdNQ25nQVB5dWJ2V0JBZ1FJRUNBQUFFQ0JCSUJCeVJoRjBxQUFBRUNCQWdRSUVEZ1U4
QUIrZHhkCmF3SUVDQkFnUUlBQUFRS0pnQU9Tc0FzbFFJQUFBUUlFQ0JBZzhDbmdnSHp1cmpVQkFn
UUlFQ0JBZ0FDQlJNQUJTZGlGRWlCQWdBQUIKQWdRSUVQZ1VjRUErZDllYUFBRUNCQWdRSUVDQVFD
TGdnQ1RzUWdrUUlFQ0FBQUVDQkFoOENqZ2duN3RyVFlBQUFRSUVDQkFnUUNBUgpjRUFTZHFFRUNC
QWdRSUFBQVFJRVBnVWNrTS9kdFNaQWdBQUJBZ1FJRUNDUUNEZ2dDYnRRQWdRSUVDQkFnQUFCQXA4
Q0Rzam43bG9UCklFQ0FBQUVDQkFnUVNBUWNrSVJkS0FFQ0JBZ1FJRUNBQUlGUEFRZmtjM2V0Q1JB
Z1FJQUFBUUlFQ0NRQ0RrakNMcFFBQVFJRUNCQWcKUUlEQXA0QUQ4cm03MWdRSUVDQkFnQUFCQWdR
U0FRY2tZUmRLZ0FBQkFnUUlFQ0JBNEZQQUFmbmNYV3NDQkFnUUlFQ0FBQUVDaVlBRAprckFMSlVD
QUFBRUNCQWdRSVBBcDRJQjg3cTQxQVFJRUNCQWdRSUFBZ1VUQUFVblloUklnUUlBQUFRSUVDQkQ0
RkhCQVBuZlhtZ0FCCkFnUUlFQ0JBZ0VBaTRJQWs3RUlKRUNCQWdBQUJBZ1FJZkFvNElKKzdhMDJB
QUFFQ0JBZ1FJRUFnRVhCQUVuYWhCQWdRSUVDQUFBRUMKQkQ0RkhKRFAzYlVtUUlBQUFRSUVDQkFn
a0FnNElBbTdVQUlFQ0JBZ1FJQUFBUUtmQWc3STUrNWFFeUJBZ0FBQkFnUUlFRWdFSEpDRQpYU2dC
QWdRSUVDQkFnQUNCVHdFSDVITjNyUWtRSUVDQUFBRUNCQWdrQWc1SXdpNlVBQUVDQkFnUUlFQ0F3
S2VBQS9LNXU5WUVDQkFnClFJQUFBUUlFRWdFSEpHRVhTb0FBQVFJRUNCQWdRT0JUd0FINTNGMXJB
Z1FJRUNCQWdBQUJBb21BQTVLd0N5VkFnQUFCQWdRSUVDRHcKS2VDQWZPNnVOUUVDQkFnUUlFQ0FB
SUZFd0FGSjJJVVNJRUNBQUFFQ0JBZ1ErQlJ3UUQ1MzE1b0FBUUlFQ0JBZ1FJQkFJdUNBSk94QwpD
UkFnUUlBQUFRSUVDSHdLT0NDZnUydE5nQUFCQWdRSUVDQkFJQkZ3UUJKMm9RUUlFQ0JBZ0FBQkFn
UStCUnlRejkyMUprQ0FBQUVDCkJBZ1FJSkFJT0NBSnUxQUNCQWdRSUVDQUFBRUNud0lPeU9mdVdo
TWdRSUFBQVFJRUNCQklCQnlRaEYwb0FRSUVDQkFnUUlBQWdVOEIKQitSemQ2MEpFQ0JBZ0FBQkFn
UUlKQUlPU01JdWxBQUJBZ1FJRUNCQWdNQ25nQVB5dWJ2V0JBZ1FJRUNBQUFFQ0JCSUJCeVJoRjBx
QQpBQUVDQkFnUUlFRGdVOEFCK2R4ZGF3SUVDQkFnUUlBQUFRS0pnQU9Tc0FzbFFJQUFBUUlFQ0JB
ZzhDbmdnSHp1cmpVQkFnUUlFQ0JBCmdBQ0JSTUFCU2RpRkVpQkFnQUFCQWdRSUVQZ1VjRUErZDll
YUFBRUNCQWdRSUVDQVFDTGdnQ1RzUWdrUUlFQ0FBQUVDQkFoOENqZ2cKbjd0clRZQUFBUUlFQ0JB
Z1FDQVJjRUFTZHFFRUNCQWdRSUFBQVFJRVBnVWNrTS9kdFNaQWdBQUJBZ1FJRUNDUUNEZ2dDYnRR
QWdRSQpFQ0JBZ0FBQkFwOENEc2puN2xvVElFQ0FBQUVDQkFnUVNBUWNrSVJkS0FFQ0JBZ1FJRUNB
QUlGUEFRZmtjM2V0Q1JBZ1FJQUFBUUlFCkNDUUNEa2pDTHBRQUFRSUVDQkFnUUlEQXA0QUQ4cm03
MWdRSUVDQkFnQUFCQWdRU0FRY2tZUmRLZ0FBQkFnUUlFQ0JBNEZQQUFmbmMKWFdzQ0JBZ1FJRUNB
QUFFQ2lZQURrckFMSlVDQUFBRUNCQWdRSVBBcDRJQjg3cTQxQVFJRUNCQWdRSUFBZ1VUQUFVbllo
UklnUUlBQQpBUUlFQ0JENEZIQkFQbmZYbWdBQkFnUUlFQ0JBZ0VBaTRJQWs3RUlKRUNCQWdBQUJB
Z1FJZkFvNElKKzdhMDJBQUFFQ0JBZ1FJRUFnCkVYQkFFbmFoQkFnUUlFQ0FBQUVDQkQ0RkhKRFAz
YlVtUUlBQUFRSUVDQkFna0FnNElBbTdVQUlFQ0JBZ1FJQUFBUUtmQWc3STUrNWEKRXlCQWdBQUJB
Z1FJRUVnRUhKQ0VYU2dCQWdRSUVDQkFnQUNCVHdFSDVITjNyUWtRSUVDQUFBRUNCQWdrQWc1SXdp
NlVBQUVDQkFnUQpJRUNBd0tlQUEvSzV1OVlFQ0JBZ1FJQUFBUUlFRWdFSEpHRVhTb0FBQVFJRUNC
QWdRT0JUd0FINTNGMXJBZ1FJRUNCQWdBQUJBb25BCkFIZ2xJeFZKVXBnbEFBQUFBRWxGVGtTdVFt
Q0MKCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9u
YWwvaGluZGktc3BhY2luZy1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTog
ZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9u
L29jdGV0LXN0cmVhbQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRv
SndBQUFDN21sRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRy
SjRrQ0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIv
K0FIbnJ3WkM5S2hWcEZLTjZyS0dLaEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBX
QUJPUU54MUtpRVdsc2ZFSnEKL0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2
N2Q3SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1
NWVNRzFEeXM5eEZraWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJ
CkVMMVBrS2E3ek82cllxR2NUdllPa0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUho
cE9iRWhqMGNHRFgwK0dBVnR4cXAKK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBr
WVlCeldraFAxMHh1K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lh
RFVoUUVFVUVZWml3VUVDR1BCb3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2sz
VHorCktDSnhsRU8xQ0pMOFFmNHFyOGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gw
OGpqYzAxZWZKWFVkcE5YUjVhc2VYcTgKbXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1G
TVhqVmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1W
ZmxQWHZYeC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpO
VmdZSnE4CjlTOWRQMXQ0dlVaL0RQVlJsQm5NMGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1
ZWZLQUl2Yk9ESW1icHRVM0h2RUtGbHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05a
OGd2QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZX
THBkdGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VY
QWVJdUpBQUFnCkFFbEVRVlI0QWV6ZEI3Z3ROYjMzOFNBZEFla2dISkFpSFFSQlFFRGFwWVAwcm9B
MDZWVTYwc0ZMRlJHazk2YUNTbFZBT2tpWDRrdFIKUUhvUkVaQW1ZcDgzdjBqV3pjN0paR2FWN0hN
TzV6dlBzL2RhSzJzbWsvbE1XZk9mU1RMalZIWXdEQWdnZ0FBQ0NDQ0FBQUlJSUlEQQpNQWg4YWhq
bXdTd1FRQUFCQkJCQUFBRUVFRUFBQVNkQUFNS0dnQUFDQ0NDQUFBSUlJSUFBQXNNbVFBQXliTlRN
Q0FFRUVFQUFBUVFRClFBQUJCQWhBMkFZUVFBQUJCQkJBQUFFRUVFQmcyQVFJUUlhTm1oa2hnQUFD
Q0NDQUFBSUlJSUFBQVFqYkFBSUlJSUFBQWdnZ2dBQUMKQ0F5YkFBSElzRkV6SXdRUVFBQUJCQkJB
QUFFRUVDQUFZUnRBQUFFRUVFQUFBUVFRUUFDQllSTWdBQmsyYW1hRUFBSUlJSUFBQWdnZwpnQUFD
QXcxQS92S1h2NWhYWG5tbFZ2WHR0OTgydi8vOTcydS9IeE8rYUZyR2tzdlE1UGZ2Zi8vYlBQWFVV
N1ZGS0ZYMlAvM3BUK2EyCjIyNHpmLzd6bjJ2bjNlWUxsZSsxMTE1ck0ycmY0M3owMFVmbXhSZGZy
TTJueWJwMndySGtpMEd0OCtIbTZuZTl4dnRZUC9tVjJoK0gKMjVUNWpTeFFjdDAyYlhPdnZ2cnF5
QVVheTFQaS9YWk01UGo3My85dTdyMzMzdEdpNkdPeVo4bDljN2hYVHRPeG9LNDh2V3hMSlg3egpH
d09RcjM3MXEyYktLYWMwcTYyMm10bDQ0NDNOdU9PT2EyYWJiVGF6NFlZYm1xOTg1U3Z1ODhVWFgy
eCsrTU1mbXVtbm45NWNjc2tsCmRjdHNEajMwVUxQdXV1dldmais2ZjlGbUdVc3VRODd2MTcvK3RW
bDQ0WVhOOXR0dm55eENxYktmZmZiWjVzYy8vckc1ODg0N3pmenoKejIrMFlmY3luSFhXV1dicXFh
YzJQL25KVDNxWnZLdHBMci84Y2pQampET2FrMDQ2cVhhNm5IWHRSR1BKRjROYTUvMXkvZnpuUHpl
TApMTEtJR1dlY2NjeVh2L3hsODh0Zi90SmxxUVBsL3Z2djc5SS85YWxQbWFPT09zcTgvLzc3N3J0
KzFtdHFIK3MxdjFMN1k3K21UTisvClFPbDFtOXZtZnZlNzM1a0ZGbGlnLzRYNEJPV1EybS9IdE1W
NzRJRUh6SmUrOUNXei92cnJqL0tpajhtZXBmZk40VjQ1dVdOQlhWbDYKMlphSy9lWlhEY01xcTZ4
U1BmLzg4NTJ4SnBwb29tcXJyYmJxZlA3dWQ3OWIyWk5IOTNuZWVlZXR2dk9kNzNTK2k5Kzg5ZFpi
MVRQUApQQk1uTjM3KzI5LytWdGtyN0kzajVVYm9OWTk0dXFabHpKV2gzKythL0hiZGRkZnFmLzdu
ZnpxektWMTJleVdoK3ZTblAxM1pxeUZ1Cm52ZmNjMDluM3IyOHNRRnM5YjN2ZmErWFNidWVadW1s
bDY1MjIyMjMydW1hckdzbi9JUi9rVnJuOFhZMm5BVDJ3RmpaQTIxbGYxaEcKbXUwMDAweFR6VGZm
ZkVQUysxMnY4VDdXVDM2ajhsZ1NvZ3g2L1EwNnY3Q3NvK3Y3ZUpuN1diZHhYdkV5eDl0Y09QNGYv
L2pIYXRaWgpaNDBuR2VzL3gvdnRtQWh5NG9rblZ2cU5IQjJHTWRtem4zMXpkTEFQeXhBZkM4THZj
dSs3MlpaSy91WTMzZ0g1MXJlKzVlNTQxRVZUCk8reXdnN3Z5cmUvSEgzOThkOVd4Ymx4ZDRaNXp6
amxIK3RwQ2paVG1FLzc1ejMrYUxiYll3dnpxVjcveVNhMWV3enh6ZVlUanhSbW4KcG10YXhqaVBR
WDZ1OC92UGYvN2paalBlZU9NWlhmSFZNQnhsZi96eHg4MC8vdkdQemp5WFdtb3BOKy9VdjMvOTYx
K3A1Q0ZwcFd4VAo4NTV3d2dsNzJsYUhGRGp4SWJjOUpVWTN1ZkZ6MzZXV0taVi9QMm1wZWNUcmZM
SEZGdXRwLzJ4VHJ0VDg0K21tbUdJS2wrUmZ3KytWCkZxZlg3VVBoZEtuM3FYMU00L1dhbjZadHU3
MjNjVkIrZnVobS9OUnh3dWZUeSt1ZzgrdWxESm9tdCsvMG1tZmRkS2xsN25YZHB2S0sKNXh0dWMv
SDRxb1V3enp6enhKTU1xNGVmZVc0N0hLNzFVN2ZmK2pLbVhrdVViUkI1VGpEQkJObmZyTlN5cE5K
eTZ5VTFmcGpXaTJjNAovWEMrcnpOdnUyL0daYTNMVCtQbHZ1dkhPeTVEL0RrOEZvVGY1Y3FqOGJy
Wmxrcis1bzhYRmpyMWZ0VlZWMDBsZDlMc0ZYQmpyeVozClBtc0QxVzJoQ3krODBFdysrZVRtdXV1
dWN3SE02NisvN3FwblhYWFZWZWErKys1ejQ2c3FqTm9OcUhyRU5kZGNrNnpmZVBMSko1dHIKcjcz
V1BQdnNzK2E1NTU0enA1OSt1bEVkdnVPT084NDgvUEREN3YxcHA1M21xbUFvMDFTZXFUeFVmYU9Y
ZVdzZWRjdW83OTU0NDQzYQpzdWw3UDF4NTVaVkd3WnVxc1Yxd3dRWG02cXV2TnZ2dXU2K3JSblhH
R1dlWXozLys4NjZLa0x4dXZ2bG04ODQ3NzR6azk5ZS8vdFhzCnM4OCtab1laWmpCLytNTWZ6Sk5Q
UG1uc0hTbzNpOVF5NjR0YzJYM1ovS3VjRHpqZ0FLT1RkZG5QTXNzc2J0a21ubmhpYys2NTU1cWYK
L3ZTblJqdlhMcnZzWXBSbW8yby9hZWYxMWx0dk5RODk5SkE3Y0dvZHE2cFZyb3FBWHlaVjVSc3hZ
b1M1OU5KTGpiMWlZUjU1NUJFMwo3YlRUVHV2bXBlWDd4UzkrWVQ3M3VjL1ZlcmVkOTZPUFB1cXFy
aTI3N0xMdVpOcFhKZlRiNnUyMzMrN21yZktvTFAvN3YvL3JUaDV2CnVPR0dUbkN1Y3UrMzMzNW11
dW1tTTNmZmZiZVphcXFwekJlLytFV2pvR3laWlpicGVQZzNxZTMwbGx0dU1lZWRkNTViOXpxeDBE
NmsKQThYNTU1OXZWbHBwSlRkcGJwblVydVhvbzQ5Mis1MjhGQnhvKzlEUWRydlV1SFh6U0sxeldi
WGRQK3ZXNGVLTEw2N1pkb2E2K1hkRwo2UEZOZkF4cXUxN3I5ckU0djFTeGN1dEU0K2YyeHpxSE9z
Y1BQdmlnZGwrckswZnFPRkYzZksyYmI3aitVdm5weDdEdU9KSXlxOXRXCjI2eXYxSDZsTkYxSVV4
bnNYVTlYWmZTd3d3NHpLNnl3Z2puenpETjdPcmFFNVU0dGM2L3JOcFdYZm1QOUVHOXpxZkdYVzI0
NVAzcnkKOTdEejVjZHY5TnVxS2hZNmxzdEV2OStxYW4zcXFhZWFTU2VkMUJ4eHhCSEczdDEyZGdj
ZGRKQ2JxbTRkNmN1NjdWYmZEZGY2OGI4agpxZDlHbFNNY21vNjdkZHU5dmJ0YXUxMDM1YW41MXhu
V3pTOHNzNm9TMmRvbXh0N3RNcllXaWdzNmRhS29LdGo2ZmRKNmpJZTY5ZEptCnYrckdVL090VzdZ
Mjg4cWRkelR0eTVwM205L2kzSEZYZVlSRGFwdHRzMzdydkpWMzNmRlkzOVhaNmJ0d2lJOEYraTVW
MW5DYXV2ZDEKODJ6N214OGVvK3Jta1V5M1B3NWREWEVWckhEaUwzemhDOVZDQ3kxVTJaVlQyY2Jv
bGIwU1UyMjMzWFp1RkZzdnU5cHh4eDByVll2UQpZRSt3S2x1bjBiM1h2NzMyMnF0VGxhZVQrUEVi
M1ZLMk81WDdaQStTMWVxcnIxN1pvTVdOYjAvaUszdFNXdGtUOUd5ZVlSNjl6bHNGCnlDMWpybXdm
TDhxUUYxdC92ZHBtbTIwNmFjc3Z2M3kxOWRaYmR6N2JFK3pLQmlmdWMreW54RFhYWExPeTdTL2M5
Nm9HWmRzMVZDdXYKdkxMN3JIL2hNdXR6cnV6NlBoN3NDWGxsMi9lNFpIdW5vN0luR3BWdEU5UVo3
WW9ycnFqc0haZk81L2lOYlE5U3pUVFRUSjNxYzRjZgpmbmkxd1FZYnhLTjFQdHNUL01xMkk2bnND
YTJiUnVXZmZmYlozWHExUVd0bDJ5SlZ0cDFMWlFPZlN1dmQxbmV1M1JhYTVxMnFhcnZ2CnZydWJ0
ejBKcVM2NjZLSk9PV0pyVld1WWE2NjUzUFpzQStyS05sNnY1cDU3N3VxYjMveG1aeHI3WTEzdHZm
ZmU3clA5SVhEVmdteVEKN01idGpQVHhtN3J0NzRVWFhxaHNBRlBaTmxhVnZlTlgyWFkxYm4rYWVl
YVozWlJOeTJUYmFWVnkwbUNEUGxjR0c2UlgzV3lYVGZOSQpyZk53Tzh2Tks3VU80eXFaVGZOM0N4
ZjhVM25zZ2EyeTdYbXErKysvZjhpZnRpY2JBSGJHN21XOTV2YXhPTC9PaklJM2RldEVvK1QyCng1
eER5dkdKSjU3STdtdTVjZ3h5L1dtNXd2ejB1ZWs0b25IOGtOdCttdmJEdXYxS2VlczRGRllQVnRY
aWpUYmF5TTAyNVprN3R2aXkKaHEveE12ZTZicFZubkZjNG45UTJGNC8vNXB0dnVrbHlIbUdlTmdD
cDdNVVNkOXpSc2RXZXdEa2JleEhNL2U2cW1vY04yQ3JiMXFxeQpGKzJ5eDVQY2Rwc3J6NkRYVDI2
L0RaZGQ3NXVPdTZudFE4ZXQzSGJkbEdkdU82K2IzeW1ubkZMWmdLcFRmTTNmWHBqcWZGYWVkYit2
CnVmWFN0RjlwQnQxNDVwYXR6Ynh5cmlwTGJsdlI5MDIveGJsOVU5T0hROTAyMjdSK2M5N0t2KzU0
bkxNTHk2WDM4YkdncnF6eGRQb2MKYmt0TjgyejZ6VS9sM3phdHNRcFdNbXJKSktyUitvb3JydWl1
WGlzSzk3MHk2Y3IxZ2dzdTJMbFY5ZTY3NzVyZi9PWTM1dnJycjNlNQoyWk81em5lcDdOWFFWSVBG
Y09PcFN0YU5OOTVvUHZ2Wnp4cDd3RFYzM1hXWGFjclQ1OUUwWGp4L1A1MVByMXZHWE5uOHRPR3JE
VFpjCncxbEY0eHAwbFZ0M2pPd0c0VDRyeXJZL2t1NTk3R2RQdHB5ZHYwT2xxbGRyckxHR0d6Zjgx
N2JzNFRSNkwxdGR5ZDkwMDAzZFY3cHQKYVlNbG96dEg5Z0FaajU3OHJHblVhTTRHcGU1NzNTNVVJ
OG5jc09XV1c1cTExbHJMWGNFNTl0aGpqVzEvWk9TZ1JzYXFXcUE3RVBZZwo2NjVjNnM2RjNkQmQ5
Yng0VzJnN2IxMEJWYmswWHovRTFycktQOGNjYzdqdFYrdGVkMTFzQUdPZWZ2cHBQNG03TzZWOE5P
Z09qL0xRCm9ISGpvVzc3c3ljU3hnWWJadTIxMTNaM3h1eUIyRjJ0VmM5eWNzc3RrM29oazhjU1N5
emhacmZvb29zNkk4Mi9tKzB5TjQ5NE9jTFAKZmp2THpTdTFEdU1xbWIzTy80NDc3bkFkWWVqS29Q
L1RIWUZ3NkhhOU51MWpjWDdodlBRK3QwNzh1SFhIa3B4RHlsRlhZK3YydFRibApHTlQ2ODh2bDgr
djJPSkxiZnByMnc3cjlTbVhTSFZwZkpuMmVaSkpKT3A5VG5ybGppNlpQRFdIKytyNlhkZXZ6amZQ
eTZYWGJYRGkrCnZjam5Sczk1K1B6MHFtT2JPakJSSnlJNnRzcEtuY1c4OU5KTDVzQUREM1RIeHoz
MzNOTWRhNVdXVzBlNTdUWlhua0d1bjZiOU5seDIKdlc4NjdxYTJEOVVJeVAwK051V1pNMHpOTHo1
T3F0ejJvcTI3MjJSUGh2WFJsY2RlbkhYdjQzKzU5ZEswWDNYcm1WdTJwbm0xT1Y3awp0aFV0dDJw
UE5QMFcxKzJic1Z2ZE50dTBmblBldWVOeHppNHVXM3dzcUN0clBGMzh1WnQ1aHRPR3g1d3d2WnYz
QXc5QXdrS3A5eXpkClR2T0R2dlBmNnlDcEgweWRiS29LajFhb2J2dldEWDQ2bmZ4cTQxTFZGUDJw
K3BlcUtPbUVxeWxQbjBmVGVIRVovSFErUGZ3Y0xtT3UKYkg3YThIV3p6VFp6d1pOdjMyS3ZZcG9Q
UC96UUhWUnN3MEpYUFNPOHRhWDUrbm5yaEVzbjVHRWRkOTB1OTkvNytlUStoMlgzNC92WApCeDk4
MEoxRWEwZnlnNjlxb1Ivbk5vUG1iU050RnhpcXlweDZ5b3BQQ3VOOFB2T1p6M1NTZENEVzRMdHUx
b0ZITzUwZmN0NXQ1cTNnClY3ZXhmUkRuODlXcnBnL3Q0cytUVFRhWjBUcnlnejZIZ1psdS9mdGd3
SS9qWDNQYm4rWVQ3Z2RheDFwUENzTDBYWjJuQW5CVjl3ckwKckNwKzJsZHlUcjVNL2pVM0R6OU82
dFhQdDJsZThUcU04K3AxL3ZidXF2bis5NzgvNUMvY1Z2eDhsTDh2cTlMaXorRjZiYk9QeGRQNwor
ZWcxdDA3OGVHRlp3djFSNlhYcld0UEdqcm54dXlsSHYrc3ZYcTV1anlOTjg0Kzl3L1dWMjY5OHVl
cGVZOCttY3FUeUNkZWx2ZzgvCmQ3TnU0Mm5qZWNVR2RlTjM0eEdXVmZuSk5SeFVuVnFETHZibGJK
UlAzWGJiVFhuQ2VldDlOK3Vuelg0YjU2OXkxeDEzVS9OdnMxM24KOHN3WnB1WVhsMWVmZGU2a0Mx
YXFQcWRCRndjVlFLYUczSHJSK1BwZWYzNEk5NnR1UFp1V0xUZXZOcTYrakhXdktydks0SWZVYjNH
NApyT0crNmFmeHI3bHRWbm5VYlRQNnJtNC95QjJQbSt4OHVmeHJhSmtycXg4LzlkcnRQSDBlb2FG
UDYvYTFzUTFJdHhsMk03NnVWS283ClZKMDRxTjZqdXRIMEI3cTZmT3p0WUtQRzFyNU9mRHhlMnp6
YmpoZm5uL3ZjVkxaNFdwMGNLaEsvN0xMTFhDQ2hidlowSjBQZDJyNzMKM252WkxvdlYxN3ZtRncr
RDJDaVVwK3BSS244RmtBcHNOT2dPbHV3VkpMVWQxT1pEVjRyVWprSDFDWFdBYVR2bzZyME9KdkdQ
b1orKwp5YnRwM21xYm9hQklWL2ZVOXFLZlFWZWpiTzl3UnZWdzFXWkdWMWpEdXRoeDN0MXNmOW9t
NUs2aGJwbFVoMU1CYkdwb2NvcW5xWnRIClBGN3FjN2Z6U3VYUnoveFQrZldhMXU4K2xsc25iY3JV
clVQZCtOMlVZeERyTDF5MmJvOGovYzYvbS8wcUxHZjh2dDl5eFBuRm4rdlcKVlR4ZXY1OTc5ZEF4
Si93dENkODMyZVNXcmRmeXhBNjVNdlM3My9wNWhjZGRuK1pmdTkydS9YUSt6MXo1L2JoTnJ6cjUz
V21ubll6YQpBYW1kanRvVmhCY2s0K2x6NnlVZU4vemNyV2MveTlhcmExamVibitMdzJsVDc3dlpa
djM2VlQ1MTNybmpjVDkybW1jM1pkWDRHdnFkCjUzOXo2ZTMvd08rQXRDMkdyUXRvYkIwMlk3dGRk
ZFY5ZE9LbUUrKzZ3UjhBWjdQUElORWRqL0RxczZyaEtFcHZ5dFBuMFRSZVhBWS8KWFp3ZWY4NlZM
UjdYZjlaSnE1NTljYzQ1NXhqYlhzYW9XcFlhUCt1S2QrNEVWb0dicmtiWnVxZytxK1JyMjdMSEUr
dkt1eDQycEQ2LwovYUQxcGVwaHFnYlZadmp0YjM5cmR0NTVaOWM0UGJ5VDBtWmFqYU9HOWJwam9z
YmNxU0huM1diZUNteDB1OWEyL3pBLys5blBVck5vCm5hYnFiNnBHcUZ2SWFuU3Z4bloxUXpmYm45
YXZIamFrNTEza2xrbkJtdTRVcVdxQUg3UmY2RzVWenNtUDYxOXo4L0RqcEY3OWR0Yk4KdkZMNTlE
ci9WRjc5cHJYZHgrcm1rMXNuZGRQNDlHNGRjdU8zS2NlZzFwOHZ2OCt2MitOSVA5dFAwMzdscTdy
Nk11WmVleW1IWCtaYwp2dm91dDY3OHRHM3p5bzNmNU9HbjdmWTFaNU5idHFieURHcjk5THZmeWlN
ODdxWjh1dDJ1NHp4emhxbjUxYVhwbkVGVmI5UTVRS3F6CkV6OWRicjM0Y2VwZXUvWHNaOW5hdXVh
MmxXNStpK3VXMmFjM2JiTitQTDJHMjB6T08zYzg3c2V1bTdLRzVlNTFudDBlbzhKNSt2ZGQKQlNC
YTZlcDJ0ZTZKMTRwZTllY0hSZVQ2ODRPKzAyZWRHT21rU2kzMk5kZ0dnV2FkZGRicFhHbjM0L3RY
UmZXS3dqWG9qb0VpU0ZVdgpVYzlRT2lrKzhzZ2pYZmUrdVR6RFBOU3VvSmQ1YTM2NVpmejYxNzll
V3phL0xQR3I2bXpxaXJtdVpxajZrZG9XNkM2UTJyYkVLemowCjIyU1RUZHhWY2JWaDhJUGEyeWlh
VmVDZ0lWem1wckw3UFB5cjJwNm8xeWNGZTM3UWliVU9FTFlCbFV0UzcyWGFKc0oxN3NmVnE5b3QK
Nkh2dGpDcVQ3allvY05UNjExOXE4R1hYZDZvcnFickl2ZzJKZ3A5d2U4cDVOODFiZWFrTXFyYWsz
bkcyM1hiYlRuc2x6VHUwMW1kdAo5K0ZCVDkrSFpkVVZLTnRRM2RpRzdlWnJYL3VhcXpLZzZWSkRi
anZWK1ByZUR3cGs5TU9pNmx5NVpkSkRRdFVEbWdKWWphYy85Y3FsClcvUTVKejhmLzVxYmg3eFM2
enpjem5MN3ArWVJyME0vWC8vYU5IOC9ubi8xMjRPMjczalF0aGFuZDdOZTIreGpjWDVoR1RSOTNU
clIKZUpwV2YzN1FzdmpsYVhLSUhYUGo1N1lOelh1UTZ5L09UM2VxbTQ0amZ2bjEyclN0NXZiRDNI
Nmx1N2Q2QUplbTE0VU5CZXJoZmhaNwpOcFVqTExQZWg0Wk54OXJjdXRJK0Z1Y1Z6eXZlNXVyR3oz
bkVlZG9HckVPT1o3WVJyZnVzZEEzeTBhQmpZTTRtdDJ6NmJhcjczUjNrCittbXozN3FGaWY2RjIw
TjQzTlZvOGZiUjV2ZFIwOVhsbVROTXpVOXAybmI5K3RCbkRhcDJvM2FhcW9hbEtsbDFRMjY5YUp2
TDdWZmQKZWpZdFcyNWViVnlidHBXbTMrTGNjVGYyYTlxSDZ0WnZ6anQzUEc2eWk4c1hIZ3VheWhw
T0cyNUxUZk5zK3MyUGYyUEQrVFMrdHh0ZgpxMEc5cktqbkladGhaVStVS3oyQTBGWVQ2a3lyM2pQ
czdTZjM0Qzk3MWJXeVZhb3FlNlc4c2xWSFhLOUc5dUJmTGJua2ttNTZQV3hPCjQ5akdiKzRoaHJa
NzFzcGVLWGU5SFhVeURON1k2Tjcxd0tFZW8yendVZGx1YWl0NzB1N1NiRDN2eXQ0eGNHT3JqSFY1
aG5tb2Q2RzYKOFlMWnVyZmhkTGFhVG5ZWk5VRmQyZUo4dzgrMm04OUtQWkg0NFpCRERobnlXZW14
bjNwWnNGVzNLbnNWM3puYmpicXlCeURYNjQvUwpOWFJiZGpkUjhFL3JVQTl5TytHRUV5cmJYcUt5
QnpyWDg1UkdzUTNUS250aTdOYW55bTkvMElNcC8vdldWdFZ5dlZiWktseXVkeS8xCjZtV3JKbFdi
Yjc1NXBmTEhnM3Bhc1FlWHlqWStyNDQ1NXBocWp6MzJjTDJkYVR3dGsyMFBVOW5BckxJL1lwMUo2
N3h6ODdhM0tTdVYKU2R2QXZmZmU2OHF1Y2ludkgvemdCeU5aMjd0UmxmMlJkNzJNMmZxU2xlMDhv
VklQTWRvR2I3cnBKbGNXVzQzTFdXai9zTUdrZTJDVQp0dW5VY3VhMlUvVU1wNTYrdEEzWUEybWwz
bnJzbFEwM2o5d3lhVDdhRDdRL3FBejJLa3RscTc0MU9uVkcrUGhOYmg3cW1TdTF6c1B0CkxMZC8x
cTNEc0F5NStjZVd0czV6WmJzYWRzdHIyd3QxMW9YS29ETEp3UWJ4bGUyYTJCMnI0bjJvelhyTjdX
Tnhmbkg1dEZ4MTY2VHAKZUpselVJOXQ4YjZRRzc5cDJ4amsrdE15eC9ubGppTWFQeDdxOW1rZHQz
UDdZVzYvc2wxaVZyYktxK3RWejNaMzducGt0SjJsdU43Mgo2cmJMdW5MRTVkWG5jSm1iZmllYTFs
V1lsN2JsY0VodGMzWGo1enpDUEhWTXMxZTUzVEhMbm5oWDZ1SEhYa2h3KzQrT3lmWUt1OXVICnRE
L3BkOFplREt6OW5jc3RXKzQzZjlEcko3ZmZoc3Z1MytlT3UzWGJSOU4ybmN0VDg2M2J2bEx6MDNx
MzdWemRPckdQSWhqeXU2TDkKd2w3MDhvdVNmTTJ0bDM2UGc2a1oxaTFiMHo2c3ZKcGNjOXVLcHMv
OUZqY2RkelY5T09UMm9kejZ6WGszSFkvcjdNSnk2WDE4TE1qdApYK0cwcVcycGJwNTE1M2wxeDV4
d1BtM2U2eXJ3S0JuczFXTTNYeHM5VmJhZFFXTVpmTmVDZmtTdFJKMjBxK3N4UHpUbDZmTm9Hcy9u
CjUxLzlkUDV6MDJ1cWJMbHA3SlhhSVYvSG40ZDhHWDJ3VjJZcVh6NTc5VFQ2dHVwOE45SVhMUlBz
RlMvMzlQb3dRR281YVdjMEc2VjMKM3R2SXUvTys3bzN0MzNySWVxMGJ6NmZudkx1ZHQ4K3oyMWQx
RTIxdndWYVBQZlpZcFNmQ0s5ajZ4amUrVWRrN1NDTmxsZHYrZEZDegp6eXh3KzRTNjJVc051V1hT
K3ZJQlN6eHR6aWtlTnplUGVGeDk5dHVnLzY2YmVmbHB3dGR1NXg5T08rajNUZnRZMC94eTY2UnAy
bTRkCmN1UG55akhvOVJmbjErMXhwSmZ0SjdkZnlWbDVlcDgyeHlFL1RmdzdVN2ZPNG1XdUc4K24r
N0xvYzF5ZWJ2TktqZC9rNGN2UjYydHUKSGFXV3JhazhnMTQvM2V5M2JZNjdLYWZjZHQwbXo1eGhh
bjZwTk52V29MTHRaMU5malpTV1dpOGpqVlNUMEkybnN1aG4yWEt1UG0rLwpMUEcrMDgxdmNjMmlk
cEp6MjJ5YjlldkxxQXpqY3VhT3g3M1k1Y3JhV2FETW0yN25tVHJtWkxKUGZqV09VdTJWRFFZRUVP
aFJRTGUvCjFaV2QydTJFZ3pwVnNIZFozSU1Gdy9UY2V6MDhVTjN2NnVGU0RBZ2dnQUFDNVFWS0hI
ZEw1QmxLcUgya3FtK3JDbzErZitJcTIrRzQKWTh2N1FmNFdONW1WWHI5TjgvOGtmRDlLZThINkpB
Q3lEQWpZcW9XdTdZZnFyNm83YU5YanQxVW5YSHNsUGRHKzdXQ3ZpSFRxcDdlZApodkVRUUFBQkJI
b1hLSEhjTFpGbnVJUzJHcGJaZGRkZGpYMG9uK3ZCa2VEanZ6cUQraTBPclZQdlM2L2YxRHcvaVdu
Y0Fma2tybFdXCmFkZ0YxRzJ5K3ZkV1R4UjZBR2MzZ1ljdnJIcmo4cDB0MkNmQUd6MG5oZ0VCQkJC
QW9KeEFpZU51aVR4REFYVUVwQWI5NnJ4SHZWUXgKL0ovQUlINkwveSszOUx2UzZ6YzkxMDllS2dI
SUoyK2Rza1FJSUlBQUFnZ2dnQUFDQ0l5MkFsMTF3enZhTGdVRlF3QUJCQkJBQUFFRQpFRUFBZ1RG
Q29Lc0FSTS9jMExNWjZwNEQwdTBTcTk5aVBUeHRkQmlheXFJbmdyL3l5aXZEVnRUaG5sKzRZRTBX
NGJpcDk3WTNoaUhQCjFPZzN2OVE4dWtrYnBLWHlldTIxMTdxWi9TZ2R0NS95Mmw0eGpPMm1lSlNX
di9UTUI3bHRsQzRyK1pjVGlMZjFVWEhNR3BQMzFWR3gKSDVXZVo3eE54RnRmL0RzWGY5L1Arb3p6
K3FSK2JqSXN0ZHhOKzNmcGJXdVF5eldxREFleERLMERFUFV1b0NlVjIzNmN6Znp6ejIrMApjL1k3
SEhyb29lNUJjNzNrWTU4QjRKN0liWjg5WXE2Kyt1b2hXZWdoTUZ0c3NZWHJGVUpQcC9iMTZvZU1G
SDNJbFVXUHQ1OSsrdW5kClU3T2p5WXA4SE9UODVLU25hS3VSbW4xV2dsSFBUQm9VVE82Ly8vNHVY
WVpISFhXVWU4aWN2c3RaNlB2Y29DZW4yK2RZbU8yMzM3NHoKV2ovNWRUTHA4YzBnTFcxM2g4WStT
OEE5dWI3SDRnenJaUDJVMS9ZVmJtdzNnMmI5OWRjZjFqSVA1OHdHdVcwTVo3bVoxMkFGVXR2Ngpj
Qit6eHVSOWRWVHNSNlhubWRvbXdxMHU5VHNYZnQvUCtnenorU1MvYnpJc3VleTUvYnYwdGpYSTVS
cVZoZ05aam1UbnZGR2lqUWJkCmc2OXNwT1crMFhNT0JqSFlKNk82WnlmNHZQVDhDM3VIeFg5c2ZM
M3h4aHZkZzNuMFlFUjdKMlhJK0hvK2lCN0tabnNyR0pKZTk2R3AKTEhxbzRuZSs4NTI2eWZ0T2o1
ZDlrUE96d2FOenNqdldTT1cwVDFKMUR4c012NGd0d3UvYXZMZTljMVQyaWU2ZFVmdk5yNU5SeXpj
bApMVzBnV3VsQm1yME9jZG5pejczbVd6ZGRQK1U5OGNRVDNjUEo2dkllRTlOajcwSHVaNk9iUjd5
cy9aUnZrSG0xS2Nkd3p5L2Uxb2Y3Cm1DV1RNV2xmamRkUFAvdFJuRmViN1VQajlEUFBOdk9JdDRs
NG12aDNMdjYrbi9VWjU5V3JVWnhQaWMvOWxLM0pNRmZlZnVZYjc5OXgKWHFXM3JkeHlkZnRkUDRi
ZHptdlE0N2U2QS9MNDQ0OGIreEFWb3l2bEdwWmFhcW1CQkQrNm1qem5uSE82dkd6QTRPNWEyS2N0
dDg3YgpQbVhkYkx2dHRrYlRickRCQnE3N1V6K3h2dE1WM0xiZDB6V1ZaZnp4eDIrZGx5OUQyOWZV
c2c5eWZ2YnB3YTRvL2pVc2w5TGk5TkFpCkhMZnB2YnFtMHlCN3Y2M29jNi81YWRwdWg5S1cvYXlY
dUd6eDUyNlh0YzM0L1pSM2dna21LTGJOdHluN29NZEplZmZqVTFjK2U1Qk8KZm1VZjVKVk1MNUdZ
V3RaZTV6UEl2TnFVWWJqbnB6TEYyM3FKWTFiZGR1Rk4rdGtXNC9MN1BFdThwdFpQMjdMSCswQXFy
N295eDM1dAo1MW1YWDFONm5XbmQ3MXljMzZESzE0MVJYSVpCZis1bi9ZVmxhV3ZvcHhuVWZIMSs0
ZjZkOGgzVXV2UHpLL0hhcldHSk12U2JaMk1BCmN1NjU1NXJERHovY2FBUFlaWmRkekQ3NzdPUG1x
VHB5TnZJeWUrKzl0NnRHdGZ2dXUzY0NnRWNlZWNUc3NNTU81dUNERHpiMnJvR3gKZHlMTWd3OCtP
S1NzOW1uWDV2ampqemZxdDFuRHlTZWZiSzY5OWxwWG5jbytRZHJZUjlrUEdiL3V3NElMTG1qc1kr
U05mUUsxMldtbgpuWWFNTnU2NDR3NzVyR2N6MktkTW0rV1dXODQ5cjhFK1p0NTkzN1lzV3VHNmRU
ZkxMTE9ZQlJaWXdMend3Z3VkL092eWJtTlJ0K3k5CnpLOVRvQjdmeEJhMzMzNjcyWFRUVGQxNlAr
Kzg4OXlEOWVhWlo1NGh5MjZmOW1sMjNubG5jL1RSUjVzZGQ5elJQUFRRUTUyNXgvbDEKdmdqZTVM
YWxOdk1Qc3FyZGpnWnBxZVhWZm1DdmNMbnRTRlgrTktoYlJQWExmdXFwcDdyUHFySTQ5OXh6T3hN
bHhPdFoyMys4elEvUwp3aFhDL3FzcnI3NnYyMjc5dE9GcnJteFhYbm1sMjgvWFcyODk4KzY3NzVv
TEw3elFmVjU1NVpXTmZaSzB5K2FrazA0eXl5eXpqTEZYCm04SnMzZnMyNnprMy85RmhQOVA2MTdG
STZ6VzhTSFBycmJlYTQ0NDd6bWo1bDE1NmFmUEVFMCs0WlpiTGZ2dnQ1NDVKMTExM25mbmkKRjcv
b0xwcmNkOTk5UmhkOU50eHdRL1BaejM3VzJDZjdkcnphcnE5NFc5UHh0RzdhaHg5KzJLeXl5aXF1
YXUwZGQ5eGg5SG1oaFJZeQo2bXBTUXlxdlRvRStmcE5iTjIzV2JaaGZQRDlWaWRCdlNEZmJWcTQ4
NGJ4UzcrTmpWcHZ5MTlrcS83cnRJalh2TVdGZmpkZVAvNjNPCkhXUHI5b0c2dkVLYm5GOXVucmx0
b09sWUhjN2Z2OC85enZseDR0ZEJyTS9ZeU5aQUdlbjhTdWRadWQrZU50dXdubC8xN1c5LzJ4MnIK
TnRsa0UyUHZBSFVXcDV2MWw5c1h1alhzWnI2ZHduNzhwcTRjOGY0ZCs3YlpudXZ5YnZNN3BPTFZU
ZDltUFhWckdMdU1WcC9iM0ZLeApUOW1zN0JYdElhUGFwelZYRjE5OHNVdlRJK1lYWDN6eDZxdGYv
YXI3Ykg5QXF5bW5uTEt5YlFHcW4vNzBwMVgzYVdVQUFDQUFTVVJCClZKVU5Sb1pVdGRKSXRnMUNa
VTlXSzFVQjhzT3NzODVhMlI5Yi83SHgxVDU1dXJJYmp4dlB0dlZ3MVl6T1BQUE16blMrUEVxd0FW
UzEKK3VxclYrKy8vMzZscW1RcWs2cG92ZlBPTzYzSzhvVXZmS0d5UDhxVjVta2JvMWYySkx6YWJy
dnQzTHh5ZWJleFVDYnhzdmM2UDFlZwo2Si9Xbjkzb0tuc0NWTm1nYThqZmlCRWpLbnV5MUpraVhp
LzJ1UmJWWEhQTjVaYlhuaVJWTDc3NFltVlBxaXQ1KzJITk5kZXM3TW0yCit5aGIyeTk1WlU4ODNl
YzRQejlOK0pyYmx0ck1QOHhMNzB0YXlzdTJnYXBzNE9DcUMycGU5cGtkbGIySzRvcGhmd1NHVk5X
ekozYVYKZlVCaHA0aHgyZUxQZzdiSWxUZTMzYXJBcDV4eVNqWERERE4weXA0cm0wYXliWTJxYmJi
WnBqUCs4c3N2WDIyOTlkYWR6Ny80eFMrcQpDeTY0b1BNNWZOTm1QZWZtUDZyM002MS9lOGUxczBo
NzdiV1hPODdZdG5LVnRnbGZ0ZFJlektuczNWbzNuZzFBS2h0MFZMUE5OcHM3ClR0b2ZGcmV0Mkdm
SXVPT2dxZ2tjZHRoaGxiMkxXOW1PUDdMSHNNNk1nemZodHRXMHJuVmMwekhpaGh0dXFLNi8vbnAz
ckFpeUdtbWYKQ3IvVCs5eTZhYk51NC96Q3N1dTdicmV0WEhuaWVlbHp1SzNIeDZ5bTh1ZHM2N2FM
VkJuR2xIMVZaWS9YVCs3M0tyY1BwUElLYlhKKwp1WGtxajZadG9PbFlIVzRUeWkvM082ZnY0Nkdm
OVJubkZYclhIZXR5eTlPMERXdCtxNjIyV3FXOE5kaUxpTzU0WUM5R1ZOMnN2OXkrCm9IeTdNZXht
dnNvN0hITGxpUGR2VFJmNjZuTnUyOHJsWGJkdWxLY2ZjdE8zV1UvZEdQcDVqcTZ2alhkQVV0R1Ni
WHRoN3I3N2JuZGwKWE4vcmRwVTk4VEJxOEd4WGdHdnNyS3ZrdGg2ZHF4cGxnNEpPVlN1Zm42NW82
ZTZGaGZGSjdyVnRsYWtoRTlrUDltRGhyaUR1c2NjZQpRNjdBKy9Ic1NiaWJsNnA0cWZ5NnN2am1t
Mis2aDhlMUxZc05hTXlLSzY1bzdJSEZQV3p1cWFlZWN0bm44bGJEN3lZTFg4WjQyWHVaCm44OHI5
YXFybTdxYUdQNTk4TUVIUTBhTkxYU1ZmNDQ1NW5EclN1WDUzT2MrWjJ6N0R2UDAwMCs3NlhRWHla
NndtRlZYWGRWOVZ0V3IKTmRaWW81Tm5uRi9uaTQvZk5HMUxUZk9QOC9PZlMxcHV1ZVdXWnEyMTFu
TGJ3TEhISG11ZWYvNTVZMC9nM0t3bm5uamlJZFdXSnBsawpraUdmTlZKY052KzVsRVZkZVhQYnJY
ZjByMDFsMDNnMjJIQ2RIT2lxcElhVlZscko2TXErUGVDNnp6TFMwK0pUUTlONmJwci9xTjdQCmRO
Zm5ONy81amRzWHRIenEvRUxITmgwYjFaQmZkeFEwNk5hL3YyT20vVW9kTnFoVEQxVWgxYmF6N3Jy
cm1wZGVlc2tjZU9DQmJ0dzkKOTl6VDVhTzBidGFYbTVuOTU3ZXRwbWwxWE5OVno0TU9Pc2gxdHFF
NzJ2SGc4NHJUbTlaTjA3cU44L09mdy9sMXMyMDFsY2ZuWC9jYQpIN09heXArenJkc3U2dVk5SnV5
cnZ1emgrbEZhM2U5VmJoK295OHVuTi9uVnpiUE5OdERtV08zTDBmUTc1OGVMWHdleFBuMmUzcnZ1
CldKZGJucVp0V0wyYlB2cm9vMmFKSlpad3MxdDAwVVdOenR2MGU5L04rc3Z0QzkwYWRqTmZiK1Jm
YytXSTkyOC9qZmYxbit1MnJWemUKZGV2RzU2blgzUFJONjZsYnczQytvK1A3bmdJUVZhZlNTdFFH
NGdkN0I4UzkxVWFzUVR1RHhza05XdUh4U284LzU2WVB2NXRvb29tTQp2ZHZpNXF1cUMzRlh3UXFN
OU9PdmVwMzZVMVdJbTIrKzJWV2hVVDV0eWhLV3pkN2hNYnJGcTZFcDd6WVd5aWZNUC83Y3pmdzBi
V3BRCjlhanZmLy83US81UzZ5aTJpRDlQTnRsa25XbzBDbW9VWUlYdFNDYWRkTkloeXhKUEg1YXR6
YllVVHgvT1A4d3JmSzlwd2lIODNLK2wKN2ZTZ2s3VU9PQnE2NlU0NkxJdW05WjlMV2RTVnQybTdW
ZG44MEtac2VuSzdnbnJmamt0VmpYUTdXN2ZSVmUxS2djbW5QLzFwbitWSQpyM0x3RnZveVhNOXQ1
ajhxOXpON0o5Y0ZHZ3BNVlZWMTFsbG5OYW9DcXVYUnhSR2RTS2thbG5vUkRJUCtjSG45TW9jd2sw
OCt1ZnNvCjEyN1dsOC9ENTk5bVdsVzVlT2FaWjl3eE1hNitxdng4WGo1di85cG0zV2phY1BwdzNm
cDg0dGR3L0c2MnJUYmxpZWNWZjQ3TEczOE8KeTUrenJkc3U0dm41ejJQS3ZxcnlodXNuL2h3ZVl6
VmViaCtJcDlWblB6VDVoV1VJNXptSWJjQ1hRYTl0ZnVmQzhmMzdRYXhQbjFlNApyRzJQZFg1YXZX
cjZNSTl3Rzc3cnJydGN0ZEh3ZTFXajF6bVQwdHF1djl5KzBLMWhOL01ObDFQdmMrWFE5OG83WEZh
ZnBsYy9oTitICjIxWlQzazNycG1uNnVHemhldXJXMEMvTDZQbzZYaThGVXgwMFd6M0FuWURyWkZP
RDdtYW84Ykd2UDlkTHZ2MU9ZNnZDbUF0dDNYTmQKUmZ6NjE3OCtwQ0cweXF2eTZhcnNvSWVTZWFm
S090enpTNVhCcDZtTFk1VW5Ic0tkTi80dS9EeXF0NlYrTFhXRlNBY0kvZlU3RElkRgpXTjV1bHIx
TjJmUmpwYXRHbDExMm1RdEkxUW1FN29pcExjeDc3NzNYYzVmYmNtMHovMzc5NCttNzhkRzB1ck5v
cXgrNkFGOTFnZFhsCnRRSUlkY21wTzhibm4zKytVWnM2blJ6VkRmSUs5NTN3ZmJmbENlZlJabHBk
VU5JRkNiVmhVZWNlNFVXRk1LLzQvWENzbTI2MnJlRW8KVDJqUVpGdTNYWVI1cE42UHFmdHFhbG02
MlFmaTZYdnhHL1EyME8vdm5KYXAxL1VaZTVUNHJEWUp2bTFhS3YrMjZ5KzNML1JpMkhhKwpjWmx6
NVlqSDdmWnp2M24zTTMwdmh0MHUzM0NPMzlNZEVGM3gxc05QMUFleEgyeTlPbGZWUXRXdStobkNI
OXltZkhSRjFWZjM4T091CnM4NDZadDk5OTNYVnJIVFYwQSt6elRhYnUrTVJOb0JWRlFsRmxIVkQy
N0wwa25kcW5zTTl2MVFadWszVENaZWNkZVcwbDZIVXRqUmMKbG4vNHd4L2NGVzAxSVBaRHZFMzZk
UDhhbDgxL0xtWGg1NnZYc0x6ZGJMZHR5N2JWVmx1NTU2U2NjODQ1eHJhUmN0V3lycnJxS2xkRgpU
WjAvOURxMG5YK2IvTDEzMDdqZCtOaTZ1KzdaT3JhTFpuZnNVU055QlY2Ly9lMXZYUWNOdXJzUTNq
RnVtbmZxKzI3SzQ2ZjN5OXBtCjJrTU9PY1JWSWRNMGVoOFBQcTg0ZlpEckpzdzdubC9iYmF0VWVj
S3loZTl6dG5YYlJUaDkzZnZSZlYrTjEwL2RjclRaQityeTZ0V3YKN1RiUWRLejJ5OVR2NzV6eTZY
VjkrakxVR2ZudjlkcDJlY0pwOUY3QmtlN2lQL2ZjYzUydmRINmtHaTNkckwvY3Z0Q3RZVGZ6N1JU
Ngo0emU1Y3NUaitzOXRmRFZ1TDNuN2VmUTdmYmVHNFh4SHgvZXRBaERiY050dDJMcXFvRUgxdU5V
T1FsV1kvS0NlajdUVDI0Wk1Ma24xCnZ0V3JRbTVRZmhySHR3UFJGVGRGZUJwczQzRDNzRVAxQU9Q
VDRyeFV6VXFCVHp4b0d2VzJFdzY2STZJb1g3Y1ZsYmVtTy9MSUl6dHQKVTVyS291Lzk4aXRmbGRz
dlgxUGViU3ppWmU5bmZ1RnkrN0xxVmNzZER3ckk0dlRZUWwwd2h3YzJmYThBVklQcWpldk9rdXFM
K2tGdApZeFRsKzNIaS9QeDRlbTJ6TGVYbUgrYmwzNWUwMUR6OGN1bTk2czdxanB1djQ2ODdnWHFJ
bGNxc0h4d2QwUFhVVlQvRVpRcy82KzVjCjAzN1ZyWVhtVzFmZXB1MVc4N0tOUUYzUjI2d25qV2c3
ZWpBVFRqaWhxMzZrNmdkcUw2UzdBR3B6MVhTQXp5MWJtL21QeXYxTTYxZzkKNjJoUWoxSzZFS0s3
dzJydm9YMUhQNlphRDZxQ3BYMU94eno5eVRkY1A3YmhwZnZzM1gzN0dlWFJ0TDdjeklOLzRiYWxP
MU81NDUvcQp6S3RMZEYxQVVsVXg5ZWJscTlNcXl6Q3YrSGpSWnQzazFtMVE1TTdiMVB6YWJsdHR5
dE9aMGNkdndtMWRTZkV4SzFmKzNIcXAyeTdpCitmdlA0YllRSGx0eTg5QzBZZm5iTG45YlQxKzI4
RFZlUC9MU254L0MzOGVtZlNET3krZWgxNXhmYnA1dERKcU8xYUZwbTkrNXNOeisKZmEvcjAwL3ZY
Mk9qMUxHdXpmTGtmc2RWalYxdHJiUys5S2NlK21hZWVlYkdZMWhZdHR4eHBsdkRmcmFicHYwbDNy
L0RaZER4TGJkdApOZVdkV2pkK1BlcTFhZnJjc2FhTm9YNURjdWZOWVZsRytYdjdJNWdkYktPWHlw
N011eDRSYk5lamxUMmhjdVBiS2didUFYWW5uSENDCjZ6WEZkdFZhMlEzR2ZXZXJZTGdIRjlxVGpz
citLQ2Z6dHlkcGxlMkMxK1dyQjd1cHh3UGJBTkwxK0tLZWRPeVBaV1YvdE4xbjJ4M2sKU0hsY2V1
bWxidjZhaC8yeEhPbjcxMTU3cmJMMXNZZWtheng3Y3VUeXRGVU5LbnRsMW4zZlZCYmIvYXpyQld5
KytlYXI3STl5cFdYWApnMnJzaWJmckRVbVoxT1hkeGtMVGg4dmV6L3lVVnpqWWpnR3F4UlpiekRu
YjlnclZUVGZkNUw2V3IrWnBOMERuWWJ2UXJXdzFtU3EyClVPODRkdWQwUFZ2WnVvdVZiV2hicVpj
ZU9mcTh0SXkyQ3BJejJYampqWjI3ZXRaU2VweWYxbk04NUxZbGU4TFdPUDg0djFLV21vOTYKSmJJ
SCtzbzJQcStPT2VhWXluWjY0SHBXODJXdzdSMHFXMTNFOVl4bDc4UzVudDVzQTk5T0wwaGgyZnc2
c0NmbXJ2Y29mUjYwUlZONQo2N1piclRmYkVORnRINmVmZnJyYlAzTmw4OHV2VngwbjFNT1RIK3pW
OUNHZmZYcjQybVk5NStZL3F2Y3pXMzJoc28zS0sxdGxvTHJtCm1tc3EyeTIxNnhuTlZrbDF2UUhh
WU1UMUNLYWV3R3pIQk5YbW0yOWUyWHJYYnIreURROHIyLzFpWmJ2MWRqMEphcC9VZXJQdFJpcnQK
bC9xcy9jcGVpS2s5em9TVy9uMjhyZFd0YS9YUXBkN090RzlyMEhIWHRnRnh2WE5wTzlBUTUrVVNn
Mys1ZGRObTNRWlp1YmQxODJ1NwpiZVhLRTg4cjN0WnRkYmtodjAxdGpvRjF0blhiUlZ3R2ZSNVQ5
bFdWTlZ3L1RiOVh1WDBnOWJ1di9QMVE1NmZlTmRVelorNDN1V2tiCnlCMnI0MjFDNWN6OXp2bnlo
cSs5cnM4d0QvOCs5TmJ4MkxhbHErTHpxOXp5dE5rSGRUNms4eUlkYit3ZGtVcjdnWVp1MTEvZHZx
QzgKdWpIc2RyN0tQeHpxeXFGMW16djNiTnFlTlkrNnZOditEdFZOMzJZOU5Sbm16cHREbjlIaHZh
N0M5VHpZYU5wMXJ4dWViUFNjMmNjVAoydW84UTdKUWwybTlEamFTSFdsU0hVaFVYblh2MXpURVpX
a2F2NXU4VTNrTjkveFNaZWcxelViOWxTKy92ZnJWZFRhRDNwWjhXZG9XCnBOdDFaL3NTcjkyR2xK
ZTlndUptYmE5bWpGU0V1R3p4NTBGYnFBQk41VzI3VDdRcG03M0NQMlNaNDg5RHZ1enlRNXY1TjJV
WmV6ZU4KMzJiYnNGYzZYVFk2NXRqT0tVYkswbThQK2lLMVRZdzBRU2FoVFhuODVQR3lkak90ejhP
L3hubjVkUDg2aUhYajg5SnJhbjd4dGhSLwpEcWNmZEhuQ3ZGUHZVN1pOMjBVcW56RmxYMDJ0bjlU
eStMVGNQbENYVnk5K2ZuNTZiZG9HdE01OHVkcnNsNzM4emcxcWZkWVpoY3ZiCjdmS0UwM292ZFFX
YkdyeVR2b3V0NHJLbDlnV2ZaN2VHM2N6WHo4Ty81c3JoeC9HdjhUTDQ5THJYYnZKTzVkSFA5RTJH
L1p3M3A4cGEKS20wY1pXd2pYZ1lFRUVBQUFRUVFRQUFCQkJCQW9MaEFxellneFV2QkRCQkFBQUVF
RUVBQUFRUVFRR0NzRUNBQUdTdFdNd3VKQUFJSQpJSUFBQWdnZ2dNRG9JVUFBTW5xc0IwcUJBQUlJ
SUlBQUFnZ2dnTUJZSWREVGd3aTlqSnFQNkU5ZHplbVBvYXlBbms3c242N2MxS1ZwCjJaS1FPd0lJ
SUlBQUFnZ2dnQUFDdlFuMEZJRFluaVdNN1NMUzNIREREZTVoaEhwWWtPMHlyYmNTTUZWckFkdjFu
ckhkWlJyYnJhNTcKM29MNnJ0YVRreGtRUUFBQkJCQkFBQUVFRUJoVEJMcnVCVXNQeVBybEwzOXBy
cmppQ3FPblA5dm5QWmhaWjUzVlBhaEtULzg5K2VTVAozVW15ZlZhRXNjL3o2SndnajJORjZycmJz
cy9zTUFjZmZMQjdvTjJ1dSt4aUZscDQ0VVkvbjE4NDdTNTIyb1dqYWYxNFRSbVdIRThQCjFMSDll
SnV2ZmUxcjdzRjdZVm5hemxkM21ONnpRZC96TDd4ZzdyMzNYdmVRTUQyVVp0VlZWKzM3Q2N0aGVY
aVBBQUlJSUlBQUFnZ2cKZ0VCSmdkWUJpS3BhMmI2ZmpYMEFvTEVQQnpJNzdyaWpzUStyY1dWVGRT
QjlyNmNlbjNQT09jWStrTXM5Q1Z0M1NOWmZmMzJqSy9lNQo0WWdqam5CUDRiVVB5alAyb1lUR1Bz
VExQWkUzTjQzL3JwOXBmUjZsWDJYei9QUFB1NkJoZ2drbU1HdXZ2WFpmczFSK0w3NzRvbnY2CnVK
NSt1c1VXV3hqbFM3V3N2bGlaR0FFRUVFQUFBUVFRUUdBWUJGb0hJQW8rRkZEY2M4ODladGRkZHpW
VFRUWFZrQk5lblJTdnR0cHEKN3U1SVdHNmxONTBZMnlmd2R1Nmk2RXIvRDM3d0EyT2ZNQjFtVS91
K24ybHJNeTM0eFpOUFBtbDBGeW0rVTlQVkxPMnRwUDlVL3pIMgp3VG5tdE5OT004c3V1Nnlya3FV
Z2hBRUJCQkJBQUFFRUVFQUFnZEZab0ZVYkVMWDVVRHVQMjIrLzNXeTIyV2J1YXJ2UzdJMFBPNHhq
CjlGN1ZpMVRWYU9PTk56YTZrM0gvL2Zjbmwxc0JpZkw2N0djL085TDMrczQrUmRqWUoxKzZRRWZW
dTNiZmZmZk9lSTg4OG9ocmMvTDEKcjMvZG5IcnFxZWIvL2IvLzEvbnVDMS80Z25uc3NjZk1HMis4
a1p6V2w3RXp3Y2R2Tk05WFhubkZ6RExMTEoydmNtWDBWY3cwc24zawp2VG43N0xOZG00d1ZWbGpC
bkhUU1NlYlZWMS90NUtNM3lzcys4ZEpNTk5GRW5mUS8vT0VQWnNZWlozUk9lKzY1cDB1dks1Kytq
QjJVCnAvNlU1M3JycjJldXVQeS8xZUZHakJqUnFmTFdtUmx2RUVBQUFRUVFRQUFCQkJBWWpRUmEz
UUZSUUhENTVaZTc0R0N0dGI1cXhoMXYKZkRPUnZkbyt3WVFUZGhaRmpkSjFCK1RhYTY5MVZhNTBs
ZDhQaHg5K3VORUorbkxMTGVlUy92YTN2NW1YWDM3WjNTM1piYmZkakFLTAp5eTY3ekh6M3U5ODE5
aEh6NXF0Zi9Xb25uN0Q2MWtVWFhlU3FmZWtrZjhNTk56UWZmZlNSQzNqT09PTU0xKzVFMDRabENL
ZlZqRlhHCmNGQ1ZzZHR1dTgwRlBKTk1Nb21yMHJUODhzdWJlZWFaeDZpTVBtaXdqN1YzZDMzVTdt
WHl5U2Z2bk9TcjRmM2JiNy90Z3Bmenp6L2YKQldkYmJybWxhKytoWUV4M08vYlpaeDhYTENoWTBu
SnV1KzIyWm8wMTFqQlhYbm1sbVd5eXlZWlVUNHZMdDhvcXE1anJyNy9lVER6eAp4RVBHODBHTmxs
L0xyRHRUV3RaTk45M1VhRGtZRUVBQUFRUVFRQUFCQkJBWVhRVWE3NERvWkZkM0paNTk5bG5YeHVQ
Zi8vNlBQYUgrCnAvblFudmorelY3Wm45QUdJZW9hZHRKSkozVW41bm9kZi96eHpaLy8vR2V6MVZa
YnViWWRtdjdSUng5MUorcnp6eisvYTJ6Kyt1dXYKdXpzRE9tRldGUzFObzVOb3pVODlPeWxkYWFy
NjVRZmRYYm5ycmp0ZFdYUnlyL1lQbXJmR1ZmVWovZmxwSjVoZ2ZGZlZTZm41UVNmeQpaNTExbGxH
MUxhVy8vLzc3ZHA2VHVQays5OXh6Um9HR24xNEIxSGUrOHgxM1IwWEJ5SGpqamV2RzB3bS9IMVMr
Qng1NHdDaUlXbjMxCjFWMVpQdnp3TDY0OGN2SExwTHplZWVjZDU2aXlhaDZhcjhvYkxwKyt1K0ND
Qzh5Tk45N284cE9MUE1jYmJ6d1hhS2pNcXFLbU95cTYKWTZKQjQ4dzMzM3d1a0pLemxyR3B5cHN2
UDY4SUlJQUFBZ2dnZ0FBQ0NBeTNRT3NBUkNmNjAwMDNuVHZKMWdtMEgvd0p0RTU2ZFlLcwprM1dk
SEQvMDBFT3VRYm51R0t5MzNucG1tbW1tY1pQY2Q5OTlSajFYcWFHNTJpN3N0OTkrUmxXU1B2T1p6
N2dUYTQya2ZIeStmajcrCmRaSkpQbTBVTEp4MzNubXVDcE9DQnAzZysvRnoweXJ3ZVBqaGgxM0Fv
UGtwb1BuNzMvL2hUdTRWUUtpc2h4NTZxTXRMNHk2NTVKS2QKdGhvS0puVGlIdzZxZ3FXcVh3cTBk
S2RDdlZQZGUrOTliandGS2dvV1ZLNWJicm5GOVFpbXh1TDZMQi9OZDV4eC9zOVIrZDU1NTUzbQpw
cHR1TWh0c3NJRlpaSkZGek5GSEgrMDhGWUJvMExMcFQ5WmFCM3F2Vjc5ZUZJREltUURFY2ZFUEFR
UVFRQUFCQkJCQVlEUVVhQXhBCmRMS3Nxa1k2WWRjVit2aEJlUDVrTjN6VlNiR3FXMTEzM1hYdWJz
WGNjODl0VkoxSTdTeDBVbjNJSVllNGFranFNVXY1NjJUL2trc3UKY1NmVDNraDU2QzhlVkIxTStl
NjAwMDR1OE5EMzhianhaNStIZXUxYWFhV1YzQjBEcFdsWk5LN3VSS2hOaWZMV2V3MXFkNkZxWWNj
ZgpmN3lyNnFXcVZRcEl3bUdtbVdZeXYvclZyMXl2VmxkZmZiWFpldXV0blpXZnZ3OFV0T3dLS3BT
M3Z2UHBlaDhPY2xLYkZ3VTZhbXVpCk96UStMeDk0YUh5OXQvL3Q2My92Z0dpOWFQMW9QY2t6empl
Y0IrOFJRQUFCQkJCQUFBRUVFQmlWQWtQUGdCTWwwUW10cnRycktyeXUKNk92a1ZpZnUrbE9hZis5
UGV2MUp2VytUb09kNytNYlJMOWhuV0NnSTBRbnovdnZ2YjU1NjZxbmFrM0ovNHUzejk2L0xMNys4
bTFZQgppQnFqNitxL1R1ajk5K0Y3bjRkL25YYmFhVHQzSlRTK0JyM3Fld1VtZW5hSnVzdlZadzFx
WUw3bW1tdTYxdzgrK01BNStMejBPdlhVClU3dTdKZ3BPRkl3b2FOR2RFdVdwY29TQnhpbW5uR0lP
T09BQTk1M3k5dk1OODVPVHFseXBUWWZhaWFnOC9udU43Ly8rNi81LzlscEgKU3ZOM1Y1US9Bd0lJ
SUlBQUFnZ2dnQUFDbzZOQTR4MFFuUUNyUFlPcVZ1a09nVytFN1Urd3RWQjZyNnZ5TTg4OGMrY2tP
VnhZQlIzSwpaNkdGRmpJTExMQ0FHMGZ0RnRRdVJEMWlLWWp3YlVrMG5jYjNKOXRoUHY2OUduYjdR
U2YrL21SZWFTcURQMm4zNDRTdmVuamZWVmRkCjVScXhxeWNxamVzSHRTbFJlZFNEbDNyeW1uMzIy
VjJqZHJWLzBkMGFCUVZhMW5CWWVlV1ZqZjc4NElNdDNXMVJnS1d5YWRDcnY3dmkKeStpLzg5UHFW
Vlc2ZE5kRmd4cTlhNXpVZUFvNi9GMFIzZm5RWFJNWmhzdmpNdUVmQWdnZ2dBQUNDQ0NBQUFLamtV
QmpMMWc2MFgzcApwWmZNeFJkZmJGWmNjVVdqYWtJNnlmVW40ajRRMGNtdzJpRG96b2NQU0xTY2Vx
ODhkSktzcS90MWcrNHdxRmNvRFdFKzhmaGgzdnBPCitlckVXM2NBTlBocFZjYi9WbFZ5eVVQK3FY
Mkd4bGNWSjFWZGlzZFRteExmd0Z6NXFUMkducmt4MTF4ekRja245Y0czRTFHWmxMOEMKdG5oUW5q
a0xQNzd5OGoxeCtUVC9xakxyVDdaUFAvMjB1ZlhXVzQzdXhDandJUWp4U3J3aWdBQUNDQ0NBQUFJ
SWpHNENqWGRBZE1LdgprMlhkTFZDWHM3b1Rva0JCNmY1UEM2V1RZWjNNcHdaZHdkZDNHcjl1bUhM
S0tkMVh5bWVLS2Fhb0c2MlRydkdVWHp6UGVGby9YbWRDCis4WUhLM3FZb2gvQzhmejNTeSs5dE91
OVNzczkvZlRUdStuQzhmeTA0YXVmVnVPRitZZmpoR1hNNWVmejh0TnFlVFcrQnIzcVQxM3gKcXNj
eHJSK3RwNXl4ejRkWEJCQkFBQUVFRUVBQUFRUkdsVURyQUVSVnA5VDRlODQ1NTNRbi9UbzU5aWZF
L3FUWG54eHJZY0wzL3Z0dwpJY1B2ZmZyb09KNTZsZEtmbnRHaDUzZ3N2dmppdnJqdXRlUnlwRHpD
bWV0T2p1NGNxY3JZV211dFJRQVM0dkFlQVFRUVFBQUJCQkJBCllMUVVhS3lDcFZLcm1vK3FJS21M
Mk4vLy92ZXVCeXFkbE1kVmZWSW40NlBsVW85QmhaSnBHSWpvdmRMMDk5WmJieGs5aEZGQm9YcmEK
VWlQN2VKMk1RWXRLVVJGQUFBRUVFRUFBQVFUR0FvRldBWWdjMUM1Q2JVRnV2dmxtMTdYdWR0dHQ1
eHBwNjA2SVRuckRrK1N4d0cyVQpMS0tDRGdXRHV2T2gzcnJPUGZkYzExT1dHc0dyN1lmYXJUQWdn
QUFDQ0NDQUFBSUlJREE2QzdRT1FMUVE2dWIxNVpkZmRsVis5T3dPCjllcWtLa25xdVVrOVY4VnRG
a2JuQlIvVHlxYWdRL2FQUGZhWWVmREJCOTI2V0hqaGhWMXZYYkwzUFd5TmFjdEZlUkZBQUFFRUVF
QUEKQVFUR0xvR3VBaERSNkU2SUdqM3JtUjVQUHZta3V5dnkzbnZ2dWF2eXVrTFBVRVpBZDVnVTRL
blJ2ZTUyekQvLy9HYTIyV1p6RGQyNQo4MUhHbkZ3UlFBQUJCQkJBQUFFRUJpL1FkUUNpSXFnYWtM
cUlWWGV5K3RQelFkUTdsaDVVeUZCR1FEMkpxVXRlUGNSUnZWM3BqK2QrCmxMRW1Wd1FRUUFBQkJC
QkFBSUZ5QWowRklMNDQvbzZIQWc4RkpmNnovNTdYd1Fub0RvamEydmlIRXRMbVpuQzI1SVFBQWdn
Z2dBQUMKQ0NBd2ZBSmRCU0I2NEoyZUZMN1lZb3U1Sy9IOUZsTkJpOXFTNkJrV004d3dRNy9adVNC
b2tQbjFYYUFDR1NqSVV4c1FkWXVzaHo0eQpJSUFBQWdnZ2dBQUNDQ0F3SmdsOHFrMWhGU2hzdHRs
bVp0NTU1elZISFhXVTJYYmJiYzFHRzIxa2Z2ZTczN1daUERuT1F3ODk1QnF1Ckw3WFVVbWJFaUJI
bW05LzhwbXRZblJ5NVJlS2c4MnN4eTFFeWl1NTg3TGJiYnE3dHg1cHJydWtDd2xGU0VHYUtBQUlJ
SUlBQUFnZ2cKZ0VBUEFxMENrSXN2dnRoY2RkVlZSbmRBYnJubEZ2T2pILzNJWEhiWlplYktLNjgw
ZDk1NVp3K3pOZWJrazA4MnE2Kyt1bnU2K2p2dgp2R1AwSlBRRER6eXdwN3cwMGFEejY3a2d3ekNo
dWtKKzZxbW56T2FiYjI1MjJXVVg4Lzc3N3cvRFhKa0ZBZ2dnZ0FBQ0NDQ0FBQUw5CkM3UUtRQjUv
L0hHejdycnJ1Z2ZlK1ZtcTI5ZHZmL3ZicmhxUWVzYnFkdENWL1BYV1c4OU5QOWxrazVuamp6L2VQ
Y2RDUFd2MU1ndzYKdjE3S01GelRxQ2NzOVlDbHUxSm5ubm1tT2U2NDQ0WnIxc3dIQVFRUVFBQUJC
QkJBQUlHK0JGcTFBZm54ajM5c3pqdnZQUGNRd3I3bQoxakN4QXBudmZlOTdaci85OW1zWXM5M1hn
ODZ2M1Z5SGZ5dzlsUEN1dSs0eVcyMjFWYzh6ditLS0s4eGhoeDNtN3F5c3NNSUtabzQ1CjVuQ2RD
bnowMFVkRzFkdG1uMzEyYzhNTk4vU2NQeE1pZ0FBQ0NDQ0FBQUlJSUNDQmJBQ2loOSt0dHRwcTVz
TVBQelNQUFBLSVdXYVoKWlZ4RGIxWDVtV0tLS1JvRnA1dHVPdk9uUC8ycGNUeTFNWG45OWRmTlRE
UE5aRjU3N1RYM3FvbU9QUEpJb3pZaWZsQTVkSkk4OWRSVAp1NnBIZWlqZjRZY2Y3ci91dkNvL2RR
MnNybXJyOHZQTDFwa284VWI1YVBxWlo1NDU4YTF4UFZJMWRUMnNNbHg5OWRWRHBuLzMzWGZOCmhS
ZGVhQjU0NEFGM1YwbDNnalNQcmJmZTJ1aUV2MjdRc3ovcTdoRHB1U3k2SzZKaDZhV1hOa2NjY1lS
NzMyWTVOZUt5eXk3cjdrQWQKZE5CQjVyNzc3bk1QT0hRWjJIK3FJcWV5eGN2aHYrY1ZBUVFRUUFB
QkJCQkFBSUcyQXVQbFJsUzNyMXRzc1lWUkZTejFMcVgzT2luWApDYW1DQUQ4b2JadHR0akdISEhL
SXUzTHUwL1hNQ2dVQ0d0UjI1SzIzM2pLYmJycXArNnpuaHV5NDQ0NnVVYnNDajVkZWVzazlVK1Nl
CmUrNHhCeHh3Z0JzblB2Ry83YmJiekU5KzhoTjNJbnowMFVlN0ttRGJiYmVkZXdiSjNYZmZiWDcr
ODUrYlk0ODkxcFZSd1lyeXJNdlAKTDV1YlVmQlBkMDNVSUY2QmpaNHcvdUtMTDdxci94cmw5dHR2
ZDQyK1ZmVXBOK2lPd1VVWFhXUk9QZlhVNUJQS0o1OThjaGR3cVRHLwpUdngvOXJPZnVRQmsvLzMz
TjlkY2M0MDU3YlRUek9tbm4rNW1vV3B1cTY2NnFodHYybW1uTllzc3NvaExWMW4wUU1nTk50akFm
ZDVqCmp6M01HbXVzWWI3MHBTKzVjdnZ5MVMybnZsZjdFUzJybnFpdWh4djZUZ1hpTG43VjI5Wlpa
NTNscytRVkFRUVFRQUFCQkJCQUFJSGUKQld5M3JvM0RqVGZlV05tVDVwSEdlL3Z0dHl0N0I2Q3lB
WWdlZ1Y3ZGYvLzlJNDNqRSs2NDQ0N0t0aVB4SHl2N0FFTTNqYjJMMFVtcgptNDhmd1hZQlhOa1Q3
T29mLy9oSFpVL0FLeHVvK0s4cWUwZWhtbXV1dVRxZjlhWXB2eUVqZi96QkJrYXVYUGFPejBoZmEv
bldXbXV0CmtkTGpCTnM0djdKM2YrTGsyczgyMktndXVPQUM5LzFOTjkxVTJidExuWEhubTIrKzZ0
eHp6KzE4OW05czI0OXE1NTEzOWg4cjI0MXgKcGZsMk0wdzExVlNWRGRvNms2Z2M4WHJVdXQxcnI3
MDY0M3p3d1FlVkRWeXFiMzNyVzlVNjY2eFQyUjY1S2h0a3R2NitNeUp2RUVBQQpBUVFRUUFBQkJN
WktnZXdka0Z4WXMrdXV1NW96empqRDZLcThydlJyMFBNcGRIZEVWK3pEcStoS1V3OWFWcmlUcFo2
azN1MHcvZlRUCm0rdXZ2OTc4OEljL05HKysrYVpyazNETU1jZDBtODJROFo5NDRnblh2dVhoaHg5
MmQwN0NNdm9SZGJkR1ZiSHV2ZmZlNVBOUDFFdVkKMmxENDZtWmEzcVpCMWRnT1B2aGdvN3M2dWx1
ak96VWF0Rnh0QnQxTmFqdXU4bnZ1dWVkY1QyRzZ3NktxV242ZHBlWWw0MmVlZWNiZApXZEtkRmxY
ajhvTzYvdFZkSjkwTjA5MmlyM3psSzJiampUYzIxMTEzblJ1bDZYdWZENjhJSUlBQVY4aUROZ0FB
SUFCSlJFRlVBZ2dnCmdBQUNZNmRBVHdHSXZRcHU3TjBBb3pZWWM4NDVwN25ra2t1YzNva25ubWpz
MVhMWFRrRlZyVlMxNnVXWFgzWVB6VlBiaGtVWFhkUjEKM2F1cVZiNktVZXFFUDdjcUZQQjg0eHZm
TVBidWhubjExVmR6bzdiNlRzL1VVQlV5ZTJmRFZVUFNTYlVDamJCY2UrKzlkNmU4dnR3KwpjMDJy
NWRkSitmampqKytUelVRVFRkUjVINzlSOEREeHhCTzdRRUJWc0pUSHJiZmVhcWFaWmhyWG8xVTRi
NzBQUHovNzdMT3VYWXk5CisyU1dYMzc1T092a1oxV0RXM0xKSlYyYkdGV1ZXMy85OVYyMUx3VStx
VUhMb1Y3T05GKzkrbll1TWxkVk4xV24wNkR4bEorcTBxbmQKeUh2dnZaZjlYbVZnUUFBQkJCQkFB
QUVFRUJpN0JYb0tRTlJ0cms2NGJmVWdZNnNNdVliaFlyejg4c3RkNDJVMUtGY2JEYlZsc05WOAp6
SGpqamVjYWJDdHdVRzlOYW9TOThzb3Jtd3R0USt4dUI1MnNxODJDZ2crZDhLcWRoZ2FkVE9zRXZ0
dEJkeEYwOHF4bDBxQTdNM3ErClJuZ0hSNS9QT2VjY3MvamlpN3VITUlielVCc0x0YjNZWkpOTlhM
THlVL3NZcGRjTmFodWpaNmtvV05PZ2RpYTIrcGpSSFo2bVpmajgKNXovdkdwbXJRYmdjMnd5NmU3
UFFRZ3U1b08yVVUwNXhkNjIwTHRUSVB3eHVmRjVhTjBzc3NZVDdxRHNkKyt5emozdXZPMXdLQU1O
QQpTeVlhSG4zMFVkZkdKL2M5QVlpajRoOENDQ0NBQUFJSUlEQldDL1FVZ0VoTUo1Tzc3NzY3Q3dU
VVRhOTZ5UEluN2FyT3BLNWhOYWdYCnFKTk9Pc2w5M21tbm5WeWEvdm1yNzM2YXpoY05iM3lqYW5Y
VnU5aGlpN25uWUdnU1ZRSFN3eEc3SFZaYWFTVjNCeUkzblpiVnRzTXcKRTA0NFliSlIrWVliYm1q
MjNITlBkeEt1T3dUcXhsWUJpUnA0cHdZRklLcUNwV3BwYzg4OXQydDhyelFGSXJvVG9pcE51ZUg4
ODg5MwpIUU0wQlNzK0Q5MmxVdU4wQlZkcStLNXk2UTVXbTBIclJ3MzdOZWhPaXU3ZTJQWTdicjBx
YmNFRkYzUUJwdFpuMC9jYW53RUJCQkJBCkFBRUVFRUJnN0Jhb3YwemY0S0lyNm1wSG9DZWtxOXZY
Y05BVDBzUHVjL1Y4Q3QwSlViV2hRUXk2SXE5cVJEcXBWcTlRK3B0MTFsazcKQVZBMzgxRFoyZ1F1
VzI2NXBldDZPUFhrZDNXbks0c1ZWMXpSQlJHcW9qVGpqRE82cWx4MVpWRlBXbG9HdGFIUTNRYmRV
UnAzM0hIZApNb1JCbWQ2SG41V2ZuaHF2TzBsNitudmJRV2JiYjcrOXNZM1YzZFByMVFPV2V1TnFN
L2c3SHZQTU00K3JqdlhyWC8rNk01bmF2YWlOCnlMenp6bXVhdnU5TXhCc0VFRUFBQVFRUVFBQ0Jz
VmFnNXdBa0oyWjdaK3AwRCt2SFU2TjFWV05TZys1K0I1MlFxd3JUb1ljZTJtOVcKcmpxWFRzUnRM
MTJOZWFseHZRSUwzK0RhVDNEdHRkZTZPd3Nxais4NldJM2I5V3lPdWtHQmdLbzBxWDJKZ2dtMW4r
bG1VRGwwMHQ5MgpVTFd3U3krOTFEVmN0NzJKdVljOXFtcGNHTno0WjVEVU5hTGZhS09OeklnUkk0
WThrRkpkRGl2dzBQTmltcjV2VzFiR1F3QUJCQkJBCkFBRUVFUGprQ3JTcWdxVUg0S2x1ZjkyZ2sx
aFZPL0tEN2t6RWcwNTJWV1ZMejhmWVlZY2RYQ050TlVvUGh3VVdXTUMxZ3dqVDZ0NnIKY2JSTzR2
Mmd2RlNOS1J6YTVxYzJIclliWEplZjJtS29hbGZkb09wTXNqajc3TFBkTTAwVXZLeXl5aXBEN25h
b3l0SUpKNXpRZWE1RwpYVjU2dm9ZZVFoZ09hbGNUUG1ORlFVK2JvVzJEZE0zVEQydXZ2YlovNjNy
eGtvR0c0NDgvM3EyZk9FOU5xMkJMWHJxanBlMUNnYUR1Cmdtbjk2aS8zZldkbXZFRUFBUVFRUUFB
QkJCQVlhd1d5VDBJUFZkVG9XMWUvNndhMWFkRFF0bHFQeGxXVkxMV3JVRHNSUHpUTng0K1gKZWxV
YmlsbHRWYXh3NkNZLzNRRlE3MVFxbHdJYzN6QTl6TSsvVjJONDNjMVIwS09HM1B2dXU2OXI5Nkhn
UlZXd2xCNVdRL1BUdFhsVgorNW5aWjUvZGphb2VxTjU0NHcxMzV5VTNyY3F1TmhoaDhKSWJYOTlw
R2RTUVhjRkVONE9XVjcxeHFUM09ISFBNTWRLa1RkK1BOQUVKCkNDQ0FBQUlJSUlBQUFtT05RT3NB
Wkt3UjZYRkJkZEt0dXlLNksyTWYwTmRqTGt5R0FBSUlJSUFBQWdnZ2dNQW5XNEFBWk1Ecjk1VlgK
WG5FUFNOU2RnZVdXVzg1VlN4cndMTWdPQVFRUVFBQUJCQkJBQUlFeFZvQUFwTkNxVTBOdVBiaFBn
WWgvVmthaFdaRXRBZ2dnZ0FBQwpDQ0NBQUFKampBQUJ5Qml6cWlnb0FnZ2dnQUFDQ0NDQUFBSmp2
a0NSYm5qSGZCYVdBQUVFRUVBQUFRUVFRQUFCQkVvSUVJQ1VVQ1ZQCkJCQkFBQUVFRUVBQUFRUVFT
QW9RZ0NSWlNFUUFBUVFRUUFBQkJCQkFBSUVTQWdRZ0pWVEpFd0VFRUVBQUFRUVFRQUFCQkpJQ0JD
QkoKRmhJUlFBQUJCQkJBQUFFRUVFQ2doQUFCU0FsVjhrUUFBUVFRUUFBQkJCQkFBSUdrUUZjQnlO
TlBQMjN1dlBOTzg5ZS8valdaV2JlSgovL25QZjh3amp6eGkvdmpIUDNZN2FYTDhRZWVYbk1rb1R0
UVQxeDk0NEFIejRZY2ZqdUtTTUhzRUVFQUFBUVFRUUFBQkJMb1hhQldBCjZNUitzODAyTS9QT082
ODU2cWlqekxiYmJtczIybWdqODd2Zi9hNzdPWDQ4eFVNUFBXUm1tV1VXczlSU1M1a1JJMGFZYjM3
em0rWWYKLy9qSGFKTmZ6d1VwUE9FNDQ0eGpkdHR0TnpQVlZGT1pOZGRjYzJEQlcrRmlrejBDQ0ND
QUFBSUlJSUFBQWs2Z1ZRQnk4Y1VYbTZ1dQp1c3JvRHNndHQ5eGlmdlNqSDVuTExydk1YSG5sbGU2
T1NDK1dKNTk4c2xsOTlkWE4yMisvYmZUVThDbW5uTkljZU9DQnZXVGxwaGwwCmZqMFhaQmdtdlBu
bW04MVRUejFsTnQ5OGM3UExMcnVZOTk5L2Z4am15aXdRUUFBQkJCQkFBQUVFRU9oZm9GVUE4dmpq
ajV0MTExM1gKekRubm5KMDVUakRCQk9iYjMvNjIrZlNuUDIzKytjOS9kdExidnRHVi9QWFdXODlO
UDlsa2s1bmpqei9lakQvKytPYkpKNTlzbThXUQo4UWFkMzVETVI3TVBuL25NWjh4c3M4M203a3Fk
ZWVhWjVyampqaHZOU2toeEVFQUFBUVFRUUFBQkJCQklDNHhqMnhSVTZhLytML1hIClAvNnhPZSs4
ODR5dXZKY2NGTWg4NzN2Zk0vdnR0OTlBWmpQby9BWlNxQUtaUFAvODgrYXV1KzR5VzIyMVZjKzVY
M0hGRmVhd3d3NXoKZDFaV1dHRUZNOGNjY3hodEdoOTk5SkZSZGJuWlo1L2QzSERERFQzbno0UUlJ
SUFBQWdnZ2dBQUNDRWdnRzREODYxLy9NcXV0dHBwcgo4S3pHNHNzc3M0eFJleEJWK1psaWlpa2FC
YWViYmpyenB6LzlxWEU4NWZuNjY2K2JtV2FheWJ6MjJtdnVWUk1kZWVTUnJvMkl6MEFOCnIzV1NQ
UFhVVTd1cVI0ODk5cGc1L1BERC9kZWRWK1duaHZLVFRqcHBiWDUrMlRvVEpkNG9INVZuNXBsblRu
eHJ6TGpqam12Ky9lOS8KSjcvemlTckQxVmRmN1QrNjEzZmZmZGRjZU9HRnJqRzU3aXJwVHBEbXNm
WFdXN3NUL2lFakJ4L21uMy8rMmp0RUw3endncnNyb3RHWApYbnBwYzhRUlI3Z3AyeXluUmx4MjJX
WGRIYWlERGpySTNIZmZmZWJMWC82eW0xNy9WRVZPWll1WG96TUNieEJBQUFFRUVFQUFBUVFRCmFD
a3dYbTY4VDMzcVUyYUxMYll3cW9MMW05Lzh4cjNYU2JsT1NCVUUrRUZwMjJ5empUbmtrRVBjbFhP
ZlBza2trM1I2ekZMYmtiZmUKZXN0c3V1bW03dXUvL2UxdlpzY2RkM1NOMmhWNHZQVFNTK1l2Zi9t
THVlZWVlOHdCQnh6Z3hvbFAvRys3N1Riems1Lzh4SjBJSDMzMAowYTRLMkhiYmJXZVUxOTEzMzIx
Ky92T2ZtMk9QUGRZRlNRcFdsR2RkZm43WmZGbjlxKzZhcUVHOEFoczFrbi94eFJmZDFYOTlmL3Z0
CnQ3dEczMnFRbnh0MHgrQ2lpeTR5cDU1NnFsRlZ0WGlZZlBMSlhjQ2x4dnc2OGYvWnozN21BcEQ5
OTkvZlhIUE5OZWEwMDA0enA1OSsKdXB0TTFkeFdYWFZWTjk2MDAwNXJGbGxrRVpldXN2ejV6Mzgy
RzJ5d2dmdTh4eDU3bURYV1dNTjg2VXRmY3VYMjg2eGJUbjJ2OWlOYQoxb1VYWHRoODduT2Y2M1Fx
b09wczRhQnFkbWVkZFZhWXhIc0VFRUFBQVFRUVFBQUJCSG9UVUJXc3B1SEdHMitzN0VuelNLUFpC
dVNWCnZRTlEyUUJFMWJpcSsrKy9mNlJ4Zk1JZGQ5eFIyWFlrL21ObGd3MDNqYjJMMFVtcm00OGZ3
WGJYVzlrVDdNcjJsbFhaRS9ES0JpcisKcThyZVVham1tbXV1em1lOWFjcHZ5TWdmZjdEQmpDdVh2
ZU16MHRkYXZyWFdXbXVrOURqQk5zNnY3TjJmT0xuMnN3MDJxZ3N1dU1COQpmOU5OTjFYMjdsSm4z
UG5tbTY4Njk5eHpPNS85Rzl2Mm85cDU1NTM5eDJxR0dXYW9OTjl1QnR1VFZtV0R0czRrS2tlOEhy
VnU5OXByCnI4NDRIM3p3UVdVRGwrcGIzL3BXdGM0NjYxUzJSNjdLM20xcS9YMW5STjRnZ0FBQ0ND
Q0FBQUlJakpVQzJUc2d1WkJtMTExM05XZWMKY1liUlZYbGQ2ZGZ3NElNUHVyc2p1bUlmWGtYWEhS
UDFvR1dGTzFuKy9lOS83N3h2KzJiNjZhYzMxMTkvdmZuaEQzOW8zbnp6VGRjbQo0Wmhqam1rN2VY
SzhKNTU0d3JWdmVmamhoOTJkazdDTWZnTGRZVkZWckh2dnZkZm9yazQ4cUpjd3RhSHcxYzIwdkUy
RHFyRWRmUERCClJuZDFkTGRHZDJvMGFMbmFETHFiMUhaYzVmZmNjODhaOVJTbU95eHF3TzdYV1dw
ZU1uN21tV2ZjblNYZGFWRTFMaitvNjEvZGRkS2QKTWQwdCtzcFh2bUkyM25oamM5MTExN2xSbXI3
MytmQ0tBQUlJSUlBQUFnZ2dNSFlLOUJTQTJLdmd4dDROTUdxRG9UWU1sMXh5aWRNNwo4Y1FUamIx
YTd0b3BxS3FWcWxhOS9QTExab0VGRm5CdEd4WmRkRkhYZGErcVZ2a3FScWtUL3R5cVVNRHpqVzk4
dzlpN0crYlZWMS9OCmpkcnFPejFUUTFYSTdKME5WdzFKSjlVS05NSnk3YjMzM3AzeStuTDd6RFd0
bGw4bjVlckZ5dzhUVFRTUmZ6dlNxNEtIaVNlZTJBVUMKcW9LbFBHNjk5Vll6elRUVHVCNnR3bm5y
ZmZqNTJXZWZkZTFpMUgzeDhzc3ZQMUxlcVFTMWgxbHl5U1ZkbXhoVmxWdC8vZlZkdGErNgpoeGxx
T1ZSMVRQUFZxMi9uSW5OVmRWTjFPZzBhVC9tcEtwM2FqYnozM252WjcxVUdCZ1FRUUFBQkJCQkFB
SUd4VzZDbkFFVGQ1dXFFCjIxWVBNcmJLa0dzWUxzYkxMNy9jTlY1V2czSzEwVkJiQmowd2I3enh4
bk1OdGhVNHFMY21OY0plZWVXVnpZVzJJWGEzZzA3VzFXWkIKd1lkT2VOVk9RNE5PcG5VQzMrMmd1
d2c2ZWRZeWFkQ2RHVDFmSTd5RG84L25uSE9PV1h6eHhkMURHTU41cUkyRjJsNXNzc2ttTGxuNQpx
WDJNMHVzRzNVWFJzMVFVckdsUU94TmJmY3pvRGsvVE1ueis4NTkzamN6VklGeU9iUWJkdlZsb29Z
VmMwSGJLS2FlNHUxWmFGMnJrCkh3WTNQaSt0bXlXV1dNSjkxSjJPZmZiWng3M1hIUzRGZ0dHZ0pS
TU5qejc2cUd2amsvdWVBTVJSOFE4QkJCQkFBQUVFRUJpckJYb0sKUUNTbWs4bmRkOS9kQlFMcXBs
YzlaUG1UZGxWblV0ZXdHdFFMMUVrbm5lUSs3N1RUVGk1Ti8velZkejlONTR1R043NVJ0YnJxWFd5
eAp4WXllZzZGQlZZRDBjTVJ1aDVWV1dzbmRnY2hOcDJXMTdURE1oQk5PbUd4VXZ1R0dHNW85OTl6
VG5ZVHJEb0c2c1ZWQW9nYmVxVUVCCmlLcGdxVnJhM0hQUDdScmZLMDJCaU82RXFFcFRiamovL1BO
ZHh3Qk53WXJQUTNlcDFEaGR3WlVhdnF0Y3VvUFZadEQ2VWNOK0RicVQKb3JzMzZpeEE2MVhEZ2dz
dTZBSk1yYyttNzkwRS9FTUFBUVFRUUFBQkJCQVlxd1hxTDlNM3NPaUt1dG9SNkFucDZ2WTFIUFNF
OUtXVwpXcXFUcE9kVDZFNklxZzBOWXRBVmVWVWowa20xZW9YUzM2eXp6dG9KZ0xxWmg4cldKbkRa
Y3NzdFhkZkRkOTU1NTBqWlAvREFBODVpCnhSVlhkRUdFcWlqTk9PT01yaXJYU0NOL25LQ2V0TFFN
YWtPaHV3MjZvNlJ1ZlhYQ0h3Wmw4V2ROcnFmRzYwNlMyblMwSFdTMi9mYmIKRzl0WTNUMjlYajFn
cVRldU5vTy80ekhQUFBPNDZsaS8vdld2TzVPcDNZdmFpTXc3Nzd5bTZmdk9STHhCQUFFRUVFQUFB
UVFRR0dzRgplZzVBY21LMmQ2Wk85N0IrUERWYVZ6VW1OZWp1ZDlCSnVhb3dIWHJvb2YxbTVhcHo2
VVRjOXRMVm1KY2ExeXV3OEEydS9RVFhYbnV0CnU3T2c4dml1ZzlXNFhjL21xQnNVQ0toS2s5cVhL
SmhRKzVsdUJwVkRKLzF0QjFVTHUvVFNTMTNEZGR1Ym1IdllvNnJHaGNHT0hqcW8Kb2E0Ui9VWWJi
V1JHakJneDVJR1U2bkpZZ1llZUY5UDBmZHV5TWg0Q0NDQ0FBQUlJSUlEQUoxZWdWUlVzUFFCUGRm
dnJCcDNFcXRxUgpIM1JuSWg1MHNxc3FXM28reGc0NzdHRFVTRnVOMHNOQmpkWFZEcUxOb01iUk9v
bjNnL0tLZTZocW01L2FlTmh1Y0YxK2FvdWhxbDExCmc2b3p5ZUxzczg5Mnp6UlI4TExLS3FzTXVk
dWhLa3NubkhCQzU3a2FkWG5wK1JwNkNHRTRxRjFOK0l3VkJUMXRocllOMGpWUFA2eTkKOXRyK3Jl
dkZTd1lhamovK2VMZCs0ancxcllJdGVlbU9scllMQllLNkM2YjFxNy9jOTUyWjhRWUJCQkJBQUFF
RUVFQmdyQlhJUGdrOQpWRkdqYjEzOXJodlVwa0ZEMjJvOUdsZFZzdFN1d3JjblVGclRmRFJPM2FB
MkZMUGFxbGpoMEUxK3VnT2czcWxVTGdVNHZtRjZtSjkvCnI4Ynd1cHVqb0VjTnVmZmRkMS9YN2tQ
Qmk2cGdLVDJzaHVhbmEvT3E5ak96eno2N0cxVTlVTDN4eGh2dXprdHVXcFZkYlREQzRDVTMKdnI3
VE1xZ2h1NEtKYmdZdHIzcmpVbnVjT2VhWVk2UkptNzRmYVFJU0VFQUFBUVFRUUFBQkJNWWFnZFlC
eUZnajB1T0M2cVJiZDBWMApWOFkrb0svSFhKZ01BUVFRUUFBQkJCQkFBSUZQdGdBQnlJRFg3eXV2
dk9JZWtLZzdBOHN0dDV5cmxqVGdXWkFkQWdnZ2dBQUNDQ0NBCkFBSmpyQUFCU0tGVnA0YmNlbkNm
QWhIL3JJeENzeUpiQkJCQUFBRUVFRUFBQVFUR0dBRUNrREZtVlZGUUJCQkFBQUVFRUVBQUFRVEcK
ZklFaTNmQ08rU3dzQVFJSUlJQUFBZ2dnZ0FBQ0NKUVFJQUFwb1VxZUNDQ0FBQUlJSUlBQUFnZ2dr
QlFnQUVteWtJZ0FBZ2dnZ0FBQwpDQ0NBQUFJbEJBaEFTcWlTSndJSUlJQUFBZ2dnZ0FBQ0NDUUZD
RUNTTENRaWdBQUNDQ0NBQUFJSUlJQkFDUUVDa0JLcTVJa0FBZ2dnCmdBQUNDQ0NBQUFKSkFRS1FK
QXVKQ0NDQUFBSUlJSUFBQWdnZ1VFS0FBS1NFS25raWdBQUNDQ0NBQUFJSUlJQkFVb0FBSk1sQ0ln
SUkKSUlBQUFnZ2dnQUFDQ0pRUUlBQXBvVXFlQ0NDQUFBSUlJSUFBQWdnZ2tCUWdBRW15a0lnQUFn
Z2dnQUFDQ0NDQUFBSWxCQWhBU3FpUwpKd0lJSUlBQUFnZ2dnQUFDQ0NRRkNFQ1NMQ1FpZ0FBQ0ND
Q0FBQUlJSUlCQUNRRUNrQktxNUlrQUFnZ2dnQUFDQ0NDQUFBSkpBUUtRCkpBdUpDQ0NBQUFJSUlJ
QUFBZ2dnVUVLQUFLU0VLbmtpZ0FBQ0NDQ0FBQUlJSUlCQVVvQUFKTWxDSWdJSUlJQUFBZ2dnZ0FB
Q0NKUVEKSUFBcG9VcWVDQ0NBQUFJSUlJQUFBZ2dna0JRZ0FFbXlrSWdBQWdnZ2dBQUNDQ0NBQUFJ
bEJBaEFTcWlTSndJSUlJQUFBZ2dnZ0FBQwpDQ1FGQ0VDU0xDUWlnQUFDQ0NDQUFBSUlJSUJBQ1FF
Q2tCS3E1SWtBQWdnZ2dBQUNDQ0NBQUFKSkFRS1FKQXVKQ0NDQUFBSUlJSUFBCkFnZ2dVRUtBQUtT
RUtua2lnQUFDQ0NDQUFBSUlJSUJBVW9BQUpNbENJZ0lJSUlBQUFnZ2dnQUFDQ0pRUUlBQXBvVXFl
Q0NDQUFBSUkKSUlBQUFnZ2drQlFnQUVteWtJZ0FBZ2dnZ0FBQ0NDQ0FBQUlsQkFoQVNxaVNKd0lJ
SUlBQUFnZ2dnQUFDQ0NRRkNFQ1NMQ1FpZ0FBQwpDQ0NBQUFJSUlJQkFDUUVDa0JLcTVJa0FBZ2dn
Z0FBQ0NDQ0FBQUpKQVFLUUpBdUpDQ0NBQUFJSUlJQUFBZ2dnVUVLQUFLU0VLbmtpCmdBQUNDQ0NB
QUFJSUlJQkFVb0FBSk1sQ0lnSUlJSUFBQWdnZ2dBQUNDSlFRSUFBcG9VcWVDQ0NBQUFJSUlJQUFB
Z2dna0JRZ0FFbXkKa0lnQUFnZ2dnQUFDQ0NDQUFBSWxCQWhBU3FpU0p3SUlJSUFBQWdnZ2dBQUND
Q1FGQ0VDU0xDUWlnQUFDQ0NDQUFBSUlJSUJBQ1FFQwprQktxNUlrQUFnZ2dnQUFDQ0NDQUFBSkpB
UUtRSkF1SkNDQ0FBQUlJSUlBQUFnZ2dVRUtBQUtTRUtua2lnQUFDQ0NDQUFBSUlJSUJBClVvQUFK
TWxDSWdJSUlJQUFBZ2dnZ0FBQ0NKUVFJQUFwb1VxZUNDQ0FBQUlJSUlBQUFnZ2drQlFnQUVteWtJ
Z0FBZ2dnZ0FBQ0NDQ0EKQUFJbEJBaEFTcWlTSndJSUlJQUFBZ2dnZ0FBQ0NDUUZDRUNTTENRaWdB
QUNDQ0NBQUFJSUlJQkFDUUVDa0JLcTVJa0FBZ2dnZ0FBQwpDQ0NBQUFKSkFRS1FKQXVKQ0NDQUFB
SUlJSUFBQWdnZ1VFS0FBS1NFS25raWdBQUNDQ0NBQUFJSUlJQkFVb0FBSk1sQ0lnSUlJSUFBCkFn
Z2dnQUFDQ0pRUUlBQXBvVXFlQ0NDQUFBSUlJSUFBQWdnZ2tCUWdBRW15a0lnQUFnZ2dnQUFDQ0ND
QUFBSWxCQWhBU3FpU0p3SUkKSUlBQUFnZ2dnQUFDQ0NRRkNFQ1NMQ1FpZ0FBQ0NDQ0FBQUlJSUlC
QUNRRUNrQktxNUlrQUFnZ2dnQUFDQ0NDQUFBSkpBUUtRSkF1SgpDQ0NBQUFJSUlJQUFBZ2dnVUVL
QUFLU0VLbmtpZ0FBQ0NDQ0FBQUlJSUlCQVVvQUFKTWxDSWdJSUlJQUFBZ2dnZ0FBQ0NKUVFJQUFw
Cm9VcWVDQ0NBQUFJSUlJQUFBZ2dna0JRZ0FFbXlrSWdBQWdnZ2dBQUNDQ0NBQUFJbEJBaEFTcWlT
SndJSUlJQUFBZ2dnZ0FBQ0NDUUYKQ0VDU0xDUWlnQUFDQ0NDQUFBSUlJSUJBQ1FFQ2tCS3E1SWtB
QWdnZ2dBQUNDQ0NBQUFKSkFRS1FKQXVKQ0NDQUFBSUlJSUFBQWdnZwpVRUtBQUtTRUtua2lnQUFD
Q0NDQUFBSUlJSUJBVW9BQUpNbENJZ0lJSUlBQUFnZ2dnQUFDQ0pRUUlBQXBvVXFlQ0NDQUFBSUlJ
SUFBCkFnZ2drQlFnQUVteWtJZ0FBZ2dnZ0FBQ0NDQ0FBQUlsQkFoQVNxaVNKd0lJSUlBQUFnZ2dn
QUFDQ0NRRkNFQ1NMQ1FpZ0FBQ0NDQ0EKQUFJSUlJQkFDUUVDa0JLcTVJa0FBZ2dnZ0FBQ0NDQ0FB
QUpKQVFLUUpBdUpDQ0NBQUFJSUlJQUFBZ2dnVUVLQUFLU0VLbmtpZ0FBQwpDQ0NBQUFJSUlJQkFV
b0FBSk1sQ0lnSUlJSUFBQWdnZ2dBQUNDSlFRSUFBcG9VcWVDQ0NBQUFJSUlJQUFBZ2dna0JRZ0FF
bXlrSWdBCkFnZ2dnQUFDQ0NDQUFBSWxCQWhBU3FpU0p3SUlJSUFBQWdnZ2dBQUNDQ1FGQ0VDU0xD
UWlnQUFDQ0NDQUFBSUlJSUJBQ1FFQ2tCS3EKNUlrQUFnZ2dnQUFDQ0NDQUFBSkpBUUtRSkF1SkND
Q0FBQUlJSUlBQUFnZ2dVRUtBQUtTRUtua2lnQUFDQ0NDQUFBSUlJSUJBVW9BQQpKTWxDSWdJSUlJ
QUFBZ2dnZ0FBQ0NKUVFJQUFwb1VxZUNDQ0FBQUlJSUlBQUFnZ2drQlFnQUVteWtJZ0FBZ2dnZ0FB
Q0NDQ0FBQUlsCkJBaEFTcWlTSndJSUlJQUFBZ2dnZ0FBQ0NDUUZDRUNTTENRaWdBQUNDQ0NBQUFJ
SUlJQkFDUUVDa0JLcTVJa0FBZ2dnZ0FBQ0NDQ0EKQUFKSkFRS1FKQXVKQ0NDQUFBSUlJSUFBQWdn
Z1VFS0FBS1NFS25raWdBQUNDQ0NBQUFJSUlJQkFVb0FBSk1sQ0lnSUlJSUFBQWdnZwpnQUFDQ0pR
UUlBQXBvVXFlQ0NDQUFBSUlJSUFBQWdnZ2tCUWdBRW15a0lnQUFnZ2dnQUFDQ0NDQUFBSWxCQWhB
U3FpU0p3SUlJSUFBCkFnZ2dnQUFDQ0NRRkNFQ1NMQ1FpZ0FBQ0NDQ0FBQUlJSUlCQUNRRUNrQktx
NUlrQUFnZ2dnQUFDQ0NDQUFBSkpBUUtRSkF1SkNDQ0EKQUFJSUlJQUFBZ2dnVUVLQUFLU0VLbmtp
Z0FBQ0NDQ0FBQUlJSUlCQVVvQUFKTWxDSWdJSUlJQUFBZ2dnZ0FBQ0NKUVFJQUFwb1VxZQpDQ0NB
QUFJSUlJQUFBZ2dna0JRZ0FFbXlrSWdBQWdnZ2dBQUNDQ0NBQUFJbEJBaEFTcWlTSndJSUlJQUFB
Z2dnZ0FBQ0NDUUZDRUNTCkxDUWlnQUFDQ0NDQUFBSUlJSUJBQ1FFQ2tCS3E1SWtBQWdnZ2dBQUND
Q0NBQUFKSkFRS1FKQXVKQ0NDQUFBSUlJSUFBQWdnZ1VFS0EKQUtTRUtua2lnQUFDQ0NDQUFBSUlJ
SUJBVW9BQUpNbENJZ0lJSUlBQUFnZ2dnQUFDQ0pRUUlBQXBvVXFlQ0NDQUFBSUlJSUFBQWdnZwpr
QlFnQUVteWtJZ0FBZ2dnZ0FBQ0NDQ0FBQUlsQkFoQVNxaVNKd0lJSUlBQUFnZ2dnQUFDQ0NRRkNF
Q1NMQ1FpZ0FBQ0NDQ0FBQUlJCklJQkFDUUVDa0JLcTVJa0FBZ2dnZ0FBQ0NDQ0FBQUpKQVFLUUpB
dUpDQ0NBQUFJSUlJQUFBZ2dnVUVLQUFLU0VLbmtpZ0FBQ0NDQ0EKQUFJSUlJQkFVb0FBSk1sQ0ln
SUlJSUFBQWdnZ2dBQUNDSlFRSUFBcG9VcWVDQ0NBQUFJSUlJQUFBZ2dna0JRZ0FFbXlrSWdBQWdn
ZwpnQUFDQ0NDQUFBSWxCQWhBU3FpU0p3SUlJSUFBQWdnZ2dBQUNDQ1FGQ0VDU0xDUWlnQUFDQ0ND
QUFBSUlJSUJBQ1FFQ2tCS3E1SWtBCkFnZ2dnQUFDQ0NDQUFBSkpBUUtRSkF1SkNDQ0FBQUlJSUlB
QUFnZ2dVRUtBQUtTRUtua2lnQUFDQ0NDQUFBSUlJSUJBVW9BQUpNbEMKSWdJSUlJQUFBZ2dnZ0FB
Q0NKUVFJQUFwb1VxZUNDQ0FBQUlJSUlBQUFnZ2drQlFnQUVteWtJZ0FBZ2dnZ0FBQ0NDQ0FBQUls
QkFoQQpTcWlTSndJSUlJQUFBZ2dnZ0FBQ0NDUUZDRUNTTENRaWdBQUNDQ0NBQUFJSUlJQkFDUUVD
a0JLcTVJa0FBZ2dnZ0FBQ0NDQ0FBQUpKCkFRS1FKQXVKQ0NDQUFBSUlJSUFBQWdnZ1VFS0FBS1NF
S25raWdBQUNDQ0NBQUFJSUlJQkFVb0FBSk1sQ0lnSUlJSUFBQWdnZ2dBQUMKQ0pRUUlBQXBvVXFl
Q0NDQUFBSUlJSUFBQWdnZ2tCUWdBRW15a0lnQUFnZ2dnQUFDQ0NDQUFBSWxCQWhBU3FpU0p3SUlJ
SUFBQWdnZwpnQUFDQ0NRRkNFQ1NMQ1FpZ0FBQ0NDQ0FBQUlJSUlCQUNRRUNrQktxNUlrQUFnZ2dn
QUFDQ0NDQUFBSkpBUUtRSkF1SkNDQ0FBQUlJCklJQUFBZ2dnVUVLQUFLU0VLbmtpZ0FBQ0NDQ0FB
QUlJSUlCQVVvQUFKTWxDSWdJSUlJQUFBZ2dnZ0FBQ0NKUVFJQUFwb1VxZUNDQ0EKQUFJSUlJQUFB
Z2dna0JRZ0FFbXlrSWdBQWdnZ2dBQUNDQ0NBQUFJbEJBaEFTcWlTSndJSUlJQUFBZ2dnZ0FBQ0ND
UUZDRUNTTENRaQpnQUFDQ0NDQUFBSUlJSUJBQ1FFQ2tCS3E1SWtBQWdnZ2dBQUNDQ0NBQUFKSkFR
S1FKQXVKQ0NDQUFBSUlJSUFBQWdnZ1VFS0FBS1NFCktua2lnQUFDQ0NDQUFBSUlJSUJBVW9BQUpN
bENJZ0lJSUlBQUFnZ2dnQUFDQ0pRUUlBQXBvVXFlQ0NDQUFBSUlJSUFBQWdnZ2tCUWcKQUVteWtJ
Z0FBZ2dnZ0FBQ0NDQ0FBQUlsQkFoQVNxaVNKd0lJSUlBQUFnZ2dnQUFDQ0NRRkNFQ1NMQ1FpZ0FB
Q0NDQ0FBQUlJSUlCQQpDUUVDa0JLcTVJa0FBZ2dnZ0FBQ0NDQ0FBQUpKQVFLUUpBdUpDQ0NBQUFJ
SUlJQUFBZ2dnVUVLQUFLU0VLbmtpZ0FBQ0NDQ0FBQUlJCklJQkFVb0FBSk1sQ0lnSUlJSUFBQWdn
Z2dBQUNDSlFRSUFBcG9VcWVDQ0NBQUFJSUlJQUFBZ2dna0JRZ0FFbXlrSWdBQWdnZ2dBQUMKQ0ND
QUFBSWxCQWhBU3FpU0p3SUlJSUFBQWdnZ2dBQUNDQ1FGQ0VDU0xDUWlnQUFDQ0NDQUFBSUlJSUJB
Q1FFQ2tCS3E1SWtBQWdnZwpnQUFDQ0NDQUFBSkpBUUtRSkF1SkNDQ0FBQUlJSUlBQUFnZ2dVRUtB
QUtTRUtua2lnQUFDQ0NDQUFBSUlJSUJBVW9BQUpNbENJZ0lJCklJQUFBZ2dnZ0FBQ0NKUVFJQUFw
b1VxZUNDQ0FBQUlJSUlBQUFnZ2drQlFnQUVteWtJZ0FBZ2dnZ0FBQ0NDQ0FBQUlsQkFoQVNxaVMK
SndJSUlJQUFBZ2dnZ0FBQ0NDUUZDRUNTTENRaWdBQUNDQ0NBQUFJSUlJQkFDUUVDa0JLcTVJa0FB
Z2dnZ0FBQ0NDQ0FBQUpKQVFLUQpKQXVKQ0NDQUFBSUlJSUFBQWdnZ1VFS0FBS1NFS25raWdBQUND
Q0NBQUFJSUlJQkFVb0FBSk1sQ0lnSUlJSUFBQWdnZ2dBQUNDSlFRCklBQXBvVXFlQ0NDQUFBSUlJ
SUFBQWdnZ2tCUWdBRW15a0lnQUFnZ2dnQUFDQ0NDQUFBSWxCQWhBU3FpU0p3SUlJSUFBQWdnZ2dB
QUMKQ0NRRkNFQ1NMQ1FpZ0FBQ0NDQ0FBQUlJSUlCQUNRRUNrQktxNUlrQUFnZ2dnQUFDQ0NDQUFB
SkpBUUtRSkF1SkNDQ0FBQUlJSUlBQQpBZ2dnVUVLQUFLU0VLbmtpZ0FBQ0NDQ0FBQUlJSUlCQVVv
QUFKTWxDSWdJSUlJQUFBZ2h2R0VleUFBQVc0a2xFUVZRZ2dBQUNDSlFRCklBQXBvVXFlQ0NDQUFB
SUlJSUFBQWdnZ2tCUWdBRW15a0lnQUFnZ2dnQUFDQ0NDQUFBSWxCQWhBU3FpU0p3SUlJSUFBQWdn
Z2dBQUMKQ0NRRkNFQ1NMQ1FpZ0FBQ0NDQ0FBQUlJSUlCQUNRRUNrQktxNUlrQUFnZ2dnQUFDQ0ND
QUFBSkpBUUtRSkF1SkNDQ0FBQUlJSUlBQQpBZ2dnVUVLQUFLU0VLbmtpZ0FBQ0NDQ0FBQUlJSUlC
QVVvQUFKTWxDSWdJSUlJQUFBZ2dnZ0FBQ0NKUVFJQUFwb1VxZUNDQ0FBQUlJCklJQUFBZ2dna0JR
Z0FFbXlrSWdBQWdnZ2dBQUNDQ0NBQUFJbEJBaEFTcWlTSndJSUlJQUFBZ2dnZ0FBQ0NDUUZDRUNT
TENRaWdBQUMKQ0NDQUFBSUlJSUJBQ1FFQ2tCS3E1SWtBQWdnZ2dBQUNDQ0NBQUFKSkFRS1FKQXVK
Q0NDQUFBSUlJSUFBQWdnZ1VFS0FBS1NFS25raQpnQUFDQ0NDQUFBSUlJSUJBVW9BQUpNbENJZ0lJ
SUlBQUFnZ2dnQUFDQ0pRUUlBQXBvVXFlQ0NDQUFBSUlJSUFBQWdnZ2tCUWdBRW15CmtJZ0FBZ2dn
Z0FBQ0NDQ0FBQUlsQkFoQVNxaVNKd0lJSUlBQUFnZ2dnQUFDQ0NRRkNFQ1NMQ1FpZ0FBQ0NDQ0FB
QUlJSUlCQUNRRUMKa0JLcTVJa0FBZ2dnZ0FBQ0NDQ0FBQUpKQVFLUUpBdUpDQ0NBQUFJSUlJQUFB
Z2dnVUVLQUFLU0VLbmtpZ0FBQ0NDQ0FBQUlJSUlCQQpVb0FBSk1sQ0lnSUlJSUFBQWdnZ2dBQUND
SlFRSUFBcG9VcWVDQ0NBQUFJSUlJQUFBZ2dna0JRZ0FFbXlrSWdBQWdnZ2dBQUNDQ0NBCkFBSWxC
QWhBU3FpU0p3SUlJSUFBQWdnZ2dBQUNDQ1FGQ0VDU0xDUWlnQUFDQ0NDQUFBSUlJSUJBQ1FFQ2tC
S3E1SWtBQWdnZ2dBQUMKQ0NDQUFBSkpBUUtRSkF1SkNDQ0FBQUlJSUlBQUFnZ2dVRUtBQUtTRUtu
a2lnQUFDQ0NDQUFBSUlJSUJBVW9BQUpNbENJZ0lJSUlBQQpBZ2dnZ0FBQ0NKUVFJQUFwb1VxZUND
Q0FBQUlJSUlBQUFnZ2drQlFnQUVteWtJZ0FBZ2dnZ0FBQ0NDQ0FBQUlsQkFoQVNxaVNKd0lJCklJ
QUFBZ2dnZ0FBQ0NDUUZDRUNTTENRaWdBQUNDQ0NBQUFJSUlJQkFDUUVDa0JLcTVJa0FBZ2dnZ0FB
Q0NDQ0FBQUpKQVFLUUpBdUoKQ0NDQUFBSUlJSUFBQWdnZ1VFS0FBS1NFS25raWdBQUNDQ0NBQUFJ
SUlJQkFVb0FBSk1sQ0lnSUlJSUFBQWdnZ2dBQUNDSlFRSUFBcApvVXFlQ0NDQUFBSUlJSUFBQWdn
Z2tCUWdBRW15a0lnQUFnZ2dnQUFDQ0NDQUFBSWxCQWhBU3FpU0p3SUlJSUFBQWdnZ2dBQUNDQ1FG
CkNFQ1NMQ1FpZ0FBQ0NDQ0FBQUlJSUlCQUNRRUNrQktxNUlrQUFnZ2dnQUFDQ0NDQUFBSkpBUUtR
SkF1SkNDQ0FBQUlJSUlBQUFnZ2cKVUVLQUFLU0VLbmtpZ0FBQ0NDQ0FBQUlJSUlCQVVvQUFKTWxD
SWdJSUlJQUFBZ2dnZ0FBQ0NKUVFJQUFwb1VxZUNDQ0FBQUlJSUlBQQpBZ2dna0JRZ0FFbXlrSWdB
QWdnZ2dBQUNDQ0NBQUFJbEJBaEFTcWlTSndJSUlJQUFBZ2dnZ0FBQ0NDUUZDRUNTTENRaWdBQUND
Q0NBCkFBSUlJSUJBQ1FFQ2tCS3E1SWtBQWdnZ2dBQUNDQ0NBQUFKSkFRS1FKQXVKQ0NDQUFBSUlJ
SUFBQWdnZ1VFS0FBS1NFS25raWdBQUMKQ0NDQUFBSUlJSUJBVW9BQUpNbENJZ0lJSUlBQUFnZ2dn
QUFDQ0pRUUlBQXBvVXFlQ0NDQUFBSUlJSUFBQWdnZ2tCUWdBRW15a0lnQQpBZ2dnZ0FBQ0NDQ0FB
QUlsQkFoQVNxaVNKd0lJSUlBQUFnZ2dnQUFDQ0NRRkNFQ1NMQ1FpZ0FBQ0NDQ0FBQUlJSUlCQUNR
RUNrQktxCjVJa0FBZ2dnZ0FBQ0NDQ0FBQUpKQVFLUUpBdUpDQ0NBQUFJSUlJQUFBZ2dnVUVLQUFL
U0VLbmtpZ0FBQ0NDQ0FBQUlJSUlCQVVvQUEKSk1sQ0lnSUlJSUFBQWdnZ2dBQUNDSlFRSUFBcG9V
cWVDQ0NBQUFJSUlJQUFBZ2dna0JRZ0FFbXlrSWdBQWdnZ2dBQUNDQ0NBQUFJbApCQWhBU3FpU0p3
SUlJSUFBQWdnZ2dBQUNDQ1FGQ0VDU0xDUWlnQUFDQ0NDQUFBSUlJSUJBQ1FFQ2tCS3E1SWtBQWdn
Z2dBQUNDQ0NBCkFBSkpBUUtRSkF1SkNDQ0FBQUlJSUlBQUFnZ2dVRUtBQUtTRUtua2lnQUFDQ0ND
QUFBSUlJSUJBVW9BQUpNbENJZ0lJSUlBQUFnZ2cKZ0FBQ0NKUVFJQUFwb1VxZUNDQ0FBQUlJSUlB
QUFnZ2drQlFnQUVteWtJZ0FBZ2dnZ0FBQ0NDQ0FBQUlsQkFoQVNxaVNKd0lJSUlBQQpBZ2dnZ0FB
Q0NDUUZDRUNTTENRaWdBQUNDQ0NBQUFJSUlJQkFDUUVDa0JLcTVJa0FBZ2dnZ0FBQ0NDQ0FBQUpK
QVFLUUpBdUpDQ0NBCkFBSUlJSUFBQWdnZ1VFS0FBS1NFS25raWdBQUNDQ0NBQUFJSUlJQkFVb0FB
Sk1sQ0lnSUlJSUFBQWdnZ2dBQUNDSlFRSUFBcG9VcWUKQ0NDQUFBSUlJSUFBQWdnZ2tCUWdBRW15
a0lnQUFnZ2dnQUFDQ0NDQUFBSWxCQWhBU3FpU0p3SUlJSUFBQWdnZ2dBQUNDQ1FGQ0VDUwpMQ1Fp
Z0FBQ0NDQ0FBQUlJSUlCQUNRRUNrQktxNUlrQUFnZ2dnQUFDQ0NDQUFBSkpBUUtRSkF1SkNDQ0FB
QUlJSUlBQUFnZ2dVRUtBCkFLU0VLbmtpZ0FBQ0NDQ0FBQUlJSUlCQVVvQUFKTWxDSWdJSUlJQUFB
Z2dnZ0FBQ0NKUVFJQUFwb1VxZUNDQ0FBQUlJSUlBQUFnZ2cKa0JRZ0FFbXlrSWdBQWdnZ2dBQUND
Q0NBQUFJbEJBaEFTcWlTSndJSUlJQUFBZ2dnZ0FBQ0NDUUZDRUNTTENRaWdBQUNDQ0NBQUFJSQpJ
SUJBQ1FFQ2tCS3E1SWtBQWdnZ2dBQUNDQ0NBQUFKSkFRS1FKQXVKQ0NDQUFBSUlJSUFBQWdnZ1VF
S0FBS1NFS25raWdBQUNDQ0NBCkFBSUlJSUJBVW9BQUpNbENJZ0lJSUlBQUFnZ2dnQUFDQ0pRUUlB
QXBvVXFlQ0NDQUFBSUlJSUFBQWdnZ2tCUWdBRW15a0lnQUFnZ2cKZ0FBQ0NDQ0FBQUlsQkFoQVNx
aVNKd0lJSUlBQUFnZ2dnQUFDQ0NRRkNFQ1NMQ1FpZ0FBQ0NDQ0FBQUlJSUlCQUNRRUNrQktxNUlr
QQpBZ2dnZ0FBQ0NDQ0FBQUpKQVFLUUpBdUpDQ0NBQUFJSUlJQUFBZ2dnVUVLQUFLU0VLbmtpZ0FB
Q0NDQ0FBQUlJSUlCQVVvQUFKTWxDCklnSUlJSUFBQWdnZ2dBQUNDSlFRSUFBcG9VcWVDQ0NBQUFJ
SUlJQUFBZ2dna0JRZ0FFbXlrSWdBQWdnZ2dBQUNDQ0NBQUFJbEJBaEEKU3FpU0p3SUlJSUFBQWdn
Z2dBQUNDQ1FGQ0VDU0xDUWlnQUFDQ0NDQUFBSUlJSUJBQ1FFQ2tCS3E1SWtBQWdnZ2dBQUNDQ0NB
QUFKSgpBUUtRSkF1SkNDQ0FBQUlJSUlBQUFnZ2dVRUtBQUtTRUtua2lnQUFDQ0NDQUFBSUlJSUJB
VW9BQUpNbENJZ0lJSUlBQUFnZ2dnQUFDCkNKUVFJQUFwb1VxZUNDQ0FBQUlJSUlBQUFnZ2drQlFn
QUVteWtJZ0FBZ2dnZ0FBQ0NDQ0FBQUlsQkFoQVNxaVNKd0lJSUlBQUFnZ2cKZ0FBQ0NDUUZDRUNT
TENRaWdBQUNDQ0NBQUFJSUlJQkFDUUVDa0JLcTVJa0FBZ2dnZ0FBQ0NDQ0FBQUpKQVFLUUpBdUpD
Q0NBQUFJSQpJSUFBQWdnZ1VFS0FBS1NFS25raWdBQUNDQ0NBQUFJSUlJQkFVb0FBSk1sQ0lnSUlJ
SUFBQWdnZ2dBQUNDSlFRSUFBcG9VcWVDQ0NBCkFBSUlJSUFBQWdnZ2tCUWdBRW15a0lnQUFnZ2dn
QUFDQ0NDQUFBSWxCQWhBU3FpU0p3SUlJSUFBQWdnZ2dBQUNDQ1FGQ0VDU0xDUWkKZ0FBQ0NDQ0FB
QUlJSUlCQUNRRUNrQktxNUlrQUFnZ2dnQUFDQ0NDQUFBSkpBUUtRSkF1SkNDQ0FBQUlJSUlBQUFn
Z2dVRUtBQUtTRQpLbmtpZ0FBQ0NDQ0FBQUlJSUlCQVVvQUFKTWxDSWdJSUlJQUFBZ2dnZ0FBQ0NK
UVFJQUFwb1VxZUNDQ0FBQUlJSUlBQUFnZ2drQlFnCkFFbXlrSWdBQWdnZ2dBQUNDQ0NBQUFJbEJB
aEFTcWlTSndJSUlJQUFBZ2dnZ0FBQ0NDUUZDRUNTTENRaWdBQUNDQ0NBQUFJSUlJQkEKQ1FFQ2tC
S3E1SWtBQWdnZ2dBQUNDQ0NBQUFKSkFRS1FKQXVKQ0NDQUFBSUlJSUFBQWdnZ1VFS0FBS1NFS25r
aWdBQUNDQ0NBQUFJSQpJSUJBVW9BQUpNbENJZ0lJSUlBQUFnZ2dnQUFDQ0pRUUlBQXBvVXFlQ0ND
QUFBSUlJSUFBQWdnZ2tCUWdBRW15a0lnQUFnZ2dnQUFDCkNDQ0FBQUlsQkFoQVNxaVNKd0lJSUlB
QUFnZ2dnQUFDQ0NRRkNFQ1NMQ1FpZ0FBQ0NDQ0FBQUlJSUlCQUNRRUNrQktxNUlrQUFnZ2cKZ0FB
Q0NDQ0FBQUpKQVFLUUpBdUpDQ0NBQUFJSUlJQUFBZ2dnVUVLQUFLU0VLbmtpZ0FBQ0NDQ0FBQUlJ
SUlCQVVvQUFKTWxDSWdJSQpJSUFBQWdnZ2dBQUNDSlFRSUFBcG9VcWVDQ0NBQUFJSUlJQUFBZ2dn
a0JRZ0FFbXlrSWdBQWdnZ2dBQUNDQ0NBQUFJbEJBaEFTcWlTCkp3SUlJSUFBQWdnZ2dBQUNDQ1FG
Q0VDU0xDUWlnQUFDQ0NDQUFBSUlJSUJBQ1FFQ2tCS3E1SWtBQWdnZ2dBQUNDQ0NBQUFKSkFRS1EK
SkF1SkNDQ0FBQUlJSUlBQUFnZ2dVRUtBQUtTRUtua2lnQUFDQ0NDQUFBSUlJSUJBVW9BQUpNbENJ
Z0lJSUlBQUFnZ2dnQUFDQ0pRUQpJQUFwb1VxZUNDQ0FBQUlJSUlBQUFnZ2drQlFnQUVteWtJZ0FB
Z2dnZ0FBQ0NDQ0FBQUlsQkFoQVNxaVNKd0lJSUlBQUFnZ2dnQUFDCkNDUUZDRUNTTENRaWdBQUND
Q0NBQUFJSUlJQkFDUUVDa0JLcTVJa0FBZ2dnZ0FBQ0NDQ0FBQUpKQVFLUUpBdUpDQ0NBQUFJSUlJ
QUEKQWdnZ1VFS0FBS1NFS25raWdBQUNDQ0NBQUFJSUlJQkFVb0FBSk1sQ0lnSUlJSUFBQWdnZ2dB
QUNDSlFRSUFBcG9VcWVDQ0NBQUFJSQpJSUFBQWdnZ2tCUWdBRW15a0lnQUFnZ2dnQUFDQ0NDQUFB
SWxCQWhBU3FpU0p3SUlJSUFBQWdnZ2dBQUNDQ1FGQ0VDU0xDUWlnQUFDCkNDQ0FBQUlJSUlCQUNR
RUNrQktxNUlrQUFnZ2dnQUFDQ0NDQUFBSkpBUUtRSkF1SkNDQ0FBQUlJSUlBQUFnZ2dVRUtBQUtT
RUtua2kKZ0FBQ0NDQ0FBQUlJSUlCQVVvQUFKTWxDSWdJSUlJQUFBZ2dnZ0FBQ0NKUVFJQUFwb1Vx
ZUNDQ0FBQUlJSUlBQUFnZ2drQlFnQUVteQprSWdBQWdnZ2dBQUNDQ0NBQUFJbEJBaEFTcWlTSndJ
SUlJQUFBZ2dnZ0FBQ0NDUUZDRUNTTENRaWdBQUNDQ0NBQUFJSUlJQkFDUUVDCmtCS3E1SWtBQWdn
Z2dBQUNDQ0NBQUFKSkFRS1FKQXVKQ0NDQUFBSUlJSUFBQWdnZ1VFS0FBS1NFS25raWdBQUNDQ0NB
QUFJSUlJQkEKVW9BQUpNbENJZ0lJSUlBQUFnZ2c4UC9icjBNQ0FBQUFoR0g5VzFNQWV6ZUxRTXlk
QUFFQ2hZQUFLVlI5RWlCQWdBQUJBZ1FJRUNCdwpCUVRJWlRFU0lFQ0FBQUVDQkFnUUlGQUlDSkJD
MVNjQkFnUUlFQ0JBZ0FBQkFsZEFnRndXSXdFQ0JBZ1FJRUNBQUFFQ2hZQUFLVlI5CkVpQkFnQUFC
QWdRSUVDQndCUVRJWlRFU0lFQ0FBQUVDQkFnUUlGQUlDSkJDMVNjQkFnUUlFQ0JBZ0FBQkFsZEFn
RndXSXdFQ0JBZ1EKSUVDQUFBRUNoWUFBS1ZSOUVpQkFnQUFCQWdRSUVDQndCUVRJWlRFU0lFQ0FB
QUVDQkFnUUlGQUlDSkJDMVNjQkFnUUlFQ0JBZ0FBQgpBbGRBZ0Z3V0l3RUNCQWdRSUVDQUFBRUNo
WUFBS1ZSOUVpQkFnQUFCQWdRSUVDQndCUVRJWlRFU0lFQ0FBQUVDQkFnUUlGQUlDSkJDCjFTY0JB
Z1FJRUNCQWdBQUJBbGRBZ0Z3V0l3RUNCQWdRSUVDQUFBRUNoWUFBS1ZSOUVpQkFnQUFCQWdRSUVD
QndCUVRJWlRFU0lFQ0EKQUFFQ0JBZ1FJRkFJQ0pCQzFTY0JBZ1FJRUNCQWdBQUJBbGRBZ0Z3V0l3
RUNCQWdRSUVDQUFBRUNoWUFBS1ZSOUVpQkFnQUFCQWdRSQpFQ0J3QlFUSVpURVNJRUNBQUFFQ0JB
Z1FJRkFJQ0pCQzFTY0JBZ1FJRUNCQWdBQUJBbGRBZ0Z3V0l3RUNCQWdRSUVDQUFBRUNoWUFBCktW
UjlFaUJBZ0FBQkFnUUlFQ0J3QlFUSVpURVNJRUNBQUFFQ0JBZ1FJRkFJQ0pCQzFTY0JBZ1FJRUNC
QWdBQUJBbGRBZ0Z3V0l3RUMKQkFnUUlFQ0FBQUVDaFlBQUtWUjlFaUJBZ0FBQkFnUUlFQ0J3QlFU
SVpURVNJRUNBQUFFQ0JBZ1FJRkFJQ0pCQzFTY0JBZ1FJRUNCQQpnQUFCQWxkQWdGd1dJd0VDQkFn
UUlFQ0FBQUVDaFlBQUtWUjlFaUJBZ0FBQkFnUUlFQ0J3QlFUSVpURVNJRUNBQUFFQ0JBZ1FJRkFJ
CkNKQkMxU2NCQWdRSUVDQkFnQUFCQWxkQWdGd1dJd0VDQkFnUUlFQ0FBQUVDaFlBQUtWUjlFaUJB
Z0FBQkFnUUlFQ0J3QlFUSVpURVMKSUVDQUFBRUNCQWdRSUZBSUNKQkMxU2NCQWdRSUVDQkFnQUFC
QWxkQWdGd1dJd0VDQkFnUUlFQ0FBQUVDaFlBQUtWUjlFaUJBZ0FBQgpBZ1FJRUNCd0JRVElaVEVT
SUVDQUFBRUNCQWdRSUZBSUNKQkMxU2NCQWdRSUVDQkFnQUFCQWxkQWdGd1dJd0VDQkFnUUlFQ0FB
QUVDCmhZQUFLVlI5RWlCQWdBQUJBZ1FJRUNCd0JRVElaVEVTSUVDQUFBRUNCQWdRSUZBSUNKQkMx
U2NCQWdRSUVDQkFnQUFCQWxkQWdGd1cKSXdFQ0JBZ1FJRUNBQUFFQ2hZQUFLVlI5RWlCQWdBQUJB
Z1FJRUNCd0JRVElaVEVTSUVDQUFBRUNCQWdRSUZBSUNKQkMxU2NCQWdRSQpFQ0JBZ0FBQkFsZEFn
RndXSXdFQ0JBZ1FJRUNBQUFFQ2hZQUFLVlI5RWlCQWdBQUJBZ1FJRUNCd0JRVElaVEVTSUVDQUFB
RUNCQWdRCklGQUlDSkJDMVNjQkFnUUlFQ0JBZ0FBQkFsZEFnRndXSXdFQ0JBZ1FJRUNBQUFFQ2hZ
QUFLVlI5RWlCQWdBQUJBZ1FJRUNCd0JRVEkKWlRFU0lFQ0FBQUVDQkFnUUlGQUlDSkJDMVNjQkFn
UUlFQ0JBZ0FBQkFsZEFnRndXSXdFQ0JBZ1FJRUNBQUFFQ2hZQUFLVlI5RWlCQQpnQUFCQWdRSUVD
QndCUVRJWlRFU0lFQ0FBQUVDQkFnUUlGQUlDSkJDMVNjQkFnUUlFQ0JBZ0FBQkFsZEFnRndXSXdF
Q0JBZ1FJRUNBCkFBRUNoWUFBS1ZSOUVpQkFnQUFCQWdRSUVDQndCUVRJWlRFU0lFQ0FBQUVDQkFn
UUlGQUlDSkJDMVNjQkFnUUlFQ0JBZ0FBQkFsZEEKZ0Z3V0l3RUNCQWdRSUVDQUFBRUNoWUFBS1ZS
OUVpQkFnQUFCQWdRSUVDQndCUVRJWlRFU0lFQ0FBQUVDQkFnUUlGQUlDSkJDMVNjQgpBZ1FJRUNC
QWdBQUJBbGRBZ0Z3V0l3RUNCQWdRSUVDQUFBRUNoWUFBS1ZSOUVpQkFnQUFCQWdRSUVDQndCUVRJ
WlRFU0lFQ0FBQUVDCkJBZ1FJRkFJQ0pCQzFTY0JBZ1FJRUNCQWdBQUJBbGRBZ0Z3V0l3RUNCQWdR
SUVDQUFBRUNoWUFBS1ZSOUVpQkFnQUFCQWdRSUVDQncKQlFUSVpURVNJRUNBQUFFQ0JBZ1FJRkFJ
Q0pCQzFTY0JBZ1FJRUNCQWdBQUJBbGRBZ0Z3V0l3RUNCQWdRSUVDQUFBRUNoWUFBS1ZSOQpFaUJB
Z0FBQkFnUUlFQ0J3QlFUSVpURVNJRUNBQUFFQ0JBZ1FJRkFJQ0pCQzFTY0JBZ1FJRUNCQWdBQUJB
bGRBZ0Z3V0l3RUNCQWdRCklFQ0FBQUVDaFlBQUtWUjlFaUJBZ0FBQkFnUUlFQ0J3QlFUSVpURVNJ
RUNBQUFFQ0JBZ1FJRkFJQ0pCQzFTY0JBZ1FJRUNCQWdBQUIKQWxkQWdGd1dJd0VDQkFnUUlFQ0FB
QUVDaFlBQUtWUjlFaUJBZ0FBQkFnUUlFQ0J3QlFUSVpURVNJRUNBQUFFQ0JBZ1FJRkFJQ0pCQwox
U2NCQWdRSUVDQkFnQUFCQWxkQWdGd1dJd0VDQkFnUUlFQ0FBQUVDaFlBQUtWUjlFaUJBZ0FBQkFn
UUlFQ0J3QlFUSVpURVNJRUNBCkFBRUNCQWdRSUZBSUNKQkMxU2NCQWdRSUVDQkFnQUFCQWxkQWdG
d1dJd0VDQkFnUUlFQ0FBQUVDaFlBQUtWUjlFaUJBZ0FBQkFnUUkKRUNCd0JRVElaVEVTSUVDQUFB
RUNCQWdRSUZBSUNKQkMxU2NCQWdRSUVDQkFnQUFCQWxkQWdGd1dJd0VDQkFnUUlFQ0FBQUVDaFlB
QQpLVlI5RWlCQWdBQUJBZ1FJRUNCd0JRVElaVEVTSUVDQUFBRUNCQWdRSUZBSUNKQkMxU2NCQWdR
SUVDQkFnQUFCQWxkQWdGd1dJd0VDCkJBZ1FJRUNBQUFFQ2hZQUFLVlI5RWlCQWdBQUJBZ1FJRUNC
d0JRVElaVEVTSUVDQUFBRUNCQWdRSUZBSUNKQkMxU2NCQWdRSUVDQkEKZ0FBQkFsZEFnRndXSXdF
Q0JBZ1FJRUNBQUFFQ2hZQUFLVlI5RWlCQWdBQUJBZ1FJRUNCd0JRVElaVEVTSUVDQUFBRUNCQWdR
SUZBSQpDSkJDMVNjQkFnUUlFQ0JBZ0FBQkFsZEFnRndXSXdFQ0JBZ1FJRUNBQUFFQ2hZQUFLVlI5
RWlCQWdBQUJBZ1FJRUNCd0JRVElaVEVTCklFQ0FBQUVDQkFnUUlGQUlDSkJDMVNjQkFnUUlFQ0JB
Z0FBQkFsZEFnRndXSXdFQ0JBZ1FJRUNBQUFFQ2hZQUFLVlI5RWlCQWdBQUIKQWdRSUVDQndCUVRJ
WlRFU0lFQ0FBQUVDQkFnUUlGQUlDSkJDMVNjQkFnUUlFQ0JBZ0FBQkFsZEFnRndXSXdFQ0JBZ1FJ
RUNBQUFFQwpoWUFBS1ZSOUVpQkFnQUFCQWdRSUVDQndCUVRJWlRFU0lFQ0FBQUVDQkFnUUlGQUlD
SkJDMVNjQkFnUUlFQ0JBZ0FBQkFsZEFnRndXCkl3RUNCQWdRSUVDQUFBRUNoWUFBS1ZSOUVpQkFn
QUFCQWdRSUVDQndCUVRJWlRFU0lFQ0FBQUVDQkFnUUlGQUlDSkJDMVNjQkFnUUkKRUNCQWdBQUJB
bGRBZ0Z3V0l3RUNCQWdRSUVDQUFBRUNoWUFBS1ZSOUVpQkFnQUFCQWdRSUVDQndCUVRJWlRFU0lF
Q0FBQUVDQkFnUQpJRkFJQ0pCQzFTY0JBZ1FJRUNCQWdBQUJBbGRBZ0Z3V0l3RUNCQWdRSUVDQUFB
RUNoWUFBS1ZSOUVpQkFnQUFCQWdRSUVDQndCUVRJClpURVNJRUNBQUFFQ0JBZ1FJRkFJQ0pCQzFT
Y0JBZ1FJRUNCQWdBQUJBbGRnaFV2OWlZVUtUMmdBQUFBQVNVVk9SSzVDWUlJPQoKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9raG1lci1zZWxl
Y3Rpb24tZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2Vk
IGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKCmlWQk9SdzBLR2dv
QUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBQzdtbERRMUJKUTBNZ1VISnZabWxz
WlFBQWVBR0YKVk05ckUwRVUvalp1cWRBaUNGcHJEcko0a0NKSldhdG9SZFEyL1JGaWF3emJIN1pG
a0dRelNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApCLytBSG5yd1pDOUtoVnBGS042cktHS2hGeTN4
elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FCT1FOeDFLaUVXbHNmRUpxCi9JZ0FqcUlK
UVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdkN0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3
eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9VNTVlTUcxRHlzOXhGa2lmRUExTGM1L1RiaFR6
U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNiSQpFTDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5
SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBPYkVoajBjR0RYMCtHQVZ0eHFwCitEWENG
RjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZQnpXa2hQMTB4dStMcUhCWDBtMXhPdjRu
ZFdVZUY1anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5YURVaFFFRVVFWVppd1VFQ0dQQm94TkxKeVB5
T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050dzl0MUdrM1R6KwpLQ0p4bEVPMUNKTDhRZjRxcjhsUDVY
bjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhqamMwMWVmSlhVZHBOWFI1YXNlWHE4Cm11
d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1YalZmUHFTNFIxV2pFMzM1OXNmenM5NGk3
UExyWFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2SlBtVmZsUFh2WHgvR2ZOeEdQaUtURW1kb3JuSVlt
WHhTN3hrdGhMcXd2aVlHM0hDSjJWaGluU2JaSDZKTlZnWUpxOAo5UzlkUDF0NHZVWi9EUFZSbEJu
TTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVmS0FJdmJPREltYnB0VTNIdkVLRmxwVzV6
CnJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhndkFFY2RvZDZIdWdwbU5PV2xzMDVVb2Nz
bjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pWV0xwZHRpWjB4MXVIS0U1UXZmRXAwcGxrL3F2
OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2YjhDOC9VWEFlSXVKQUFBZwpBRWxFUVZSNEFlM2RCYmcx
VzFrNDhMblNIU0lsY1JIcGtwQ1VrRXRKTjBnSlNIZDNLdDJobElDRUlOMWQwaUJTRHdnSTBvaFNj
Z2xSCnhML01mNzNMYisxbnpueDdadlphSis2NTMvM044NXl6WStaZHMrWTNzZWVkV1ROeldKKzZU
a2VBQUFFQ0JBZ1FJRUNBQUlFOUVQaU4KUFJpSFVSQWdRSUFBQVFJRUNCQWdRQ0FMU0VBc0NBUUlF
Q0JBZ0FBQkFnUUk3Sm1BQkdUUHFJMklBQUVDQkFnUUlFQ0FBQUVKaUdXQQpBQUVDQkFnUUlFQ0FB
SUU5RTVDQTdCbTFFUkVnUUlBQUFRSUVDQkFnSUFHeERCQWdRSUFBQVFJRUNCQWdzR2NDRXBBOW96
WWlBZ1FJCkVDQkFnQUFCQWdRa0lKWUJBZ1FJRUNCQWdBQUJBZ1QyVEVBQ3NtZlVSa1NBQUFFQ0JB
Z1FJRUNBZ0FURU1rQ0FBQUVDQkFnUUlFQ0EKd0o0SlNFRDJqTnFJQ0JBZ1FJQUFBUUlFQ0JDUWdG
Z0dDQkFnUUlBQUFRSUVDQkRZTXdFSnlKNVJHeEVCQWdRSUVDQkFnQUFCQWhJUQp5d0FCQWdRSUVD
QkFnQUFCQW5zbUlBSFpNMm9qSWtDQUFBRUNCQWdRSUVCQUFtSVpJRUNBQUFFQ0JBZ1FJRUJnendR
a0lIdEdiVVFFCkNCQWdRSUFBQVFJRUNFaEFMQU1FQ0JBZ1FJQUFBUUlFQ095WndHSUNjcldyWGEw
NzdMREROdjQ3NG9nak5oNDJ5dDN0NGIvNzNlOXUKd1R6aWlKK24raDI1MGQvblAvKy9xWDdIck9H
M1lLVVBwditZTmY5M2UzNlBseStmQ1JBZ1FJQUFnV09ld0xFM21lUlRuT0lVM2ExdQpkYXZaUVQv
MXFVOTFIL2pBQi9JdysyMzRjY1hQYzU3ZjZHNTcyK09OdjE1OS9zcFhmdDA5NjFuL3ZmcDhUQnQr
TmVFSDNwaCt5OHR3Cm1kanUrakVzeTNzQ0JBZ1FJRURnbUNld1VRSnltdE9jcG52eWs1ODhxL1BV
cHo1MWxZRHN0K0hIRlQvcldZL1YzZjN1eHg5L3ZmcjgKZDMvM1Axc1NrR1BhOEN1SUEyOU12K1Zs
dUV4c2QvMFlsdVU5QVFJRUNCQWdjTXdUV0d5Q2Rjd2pNY1VFQ0JBZ1FJQUFBUUlFQ095VwpnQVJr
dDJTVlM0QUFBUUlFQ0JBZ1FJREFRUUlTa0lOSWZFR0FBQUVDQkFnUUlFQ0F3RzRKU0VCMlMxYTVC
QWdRSUVDQUFBRUNCQWdjCkpDQUJPWWpFRndRSUVDQkFnQUFCQWdRSTdKYUFCR1MzWkpWTGdBQUJB
Z1FJRUNCQWdNQkJBaHZkaHZmNzMvOStkNjk3M2V1ZzRPRVgKbi83MHAxY2Y5OXZ3cTRvZGVQTzFy
LzF2OTdTbi9YTDg5ZXJ6UC8venIxZnY0ODB4YmZndEUyLzZqM0h6ZjdlWDkvSHk1VE1CQWdRSQpF
Q0J3ekJMWUtBRTU4c2dqdTNqT3g2YmRmaHQrWE84dmZPSFgzVDN2K1YvanJ5Yy9IOU9HSDBPWWZz
dkxlSmtZZnE1ZFBvYXgzaE1nClFJQUFBUUxIUElIRCt0UWQ4eWJiRkJNZ1FJQUFBUUlFQ0JBZ2NG
UUliSFFHNUtpbzJHNk44N0REanR5dG9nK0pjdnYrRkZ1bTQ1am0KZFV5Zi9pMHpmeGMrakgxM1lS
U0tKRUNBQUFFQ0JQYTVnRE1nKzN3R3FSNEJBZ1FJRUNCQWdBQ0JRMG5BWGJBT3BibHBXZ2dRSUVD
QQpBQUVDQkFqc2N3RUp5RDZmUWFwSGdBQUJBZ1FJRUNCQTRGQVNrSUFjU25QVHRCQWdRSUFBQVFJ
RUNCRFk1d0lTa0gwK2cxU1BBQUVDCkJBZ1FJRUNBd0tFa0lBRTVsT2FtYVNGQWdBQUJBZ1FJRUND
d3p3VWtJUHQ4QnFrZUFRSUVDQkFnUUlBQWdVTkpRQUp5S00xTjAwS0EKQUFFQ0JBZ1FJRUJnbnd0
SVFQYjVERkk5QWdRSUVDQkFnQUFCQW9lU2dBVGtVSnFicG9VQUFRSUVDQkFnUUlEQVBoZVFnT3p6
R2FSNgpCQWdRSUVDQUFBRUNCQTRsQVFuSW9UUTNUUXNCQWdRSUVDQkFnQUNCZlM0Z0Fkbm5NMGox
Q0JBZ1FJQUFBUUlFQ0J4S0FoS1FRMmx1Cm1oWUNCQWdRSUVDQUFBRUMrMXhBQXJMUFo1RHFFU0JB
Z0FBQkFnUUlFRGlVQkNRZ2g5TGNOQzBFQ0JBZ1FJQUFBUUlFOXJtQUJHU2YKenlEVkkwQ0FBQUVD
QkFnUUlIQW9DVWhBRHFXNWFWb0lFQ0JBZ0FBQkFnUUk3SE1CQ2NnK24wR3FSNEFBQVFJRUNCQWdR
T0JRRXBDQQpIRXB6MDdRUUlFQ0FBQUVDQkFnUTJPY0NWUW5JejM3MnMrNWIzL3BXbnFTZi8vem4z
UzkvK2N0OVBuazdXNzBmL09BSDNmdmU5Nzd1Cnh6LytjZmNmLy9FZjNYZS8rOTJkSGNFT2xoYjEr
ODUzdnJPREplNi9vdjc5My8rOSsrZC8vdWRWeGY3N3YvKzcrK2hIUHpyNWVkWGoKRUh3em52YjlN
b243dFY1am42WDFaYnlzamVPSG41ZktHZzU3cUw5bnNYVU83L1Q2c0ZPK08xVk9UTzMvL3UvL2R2
LzBULyswZGNJUAo0VS9qYlVOWTd1Uyt3Ymo4L1V4NVZNNzcvZTYwdEk3dDkvcnZ4bkszVVFJU0s5
UE5iMzd6N2o3M3VVLzM5S2MvdmZ2OTMvLzk3aEtYCnVFVDMyYzkrZGpmcVZGWG1XOTd5bHU1Q0Y3
cFFkOWhoaDNVWHYvakZ1M2UrODUwNVBwS0YrOS8vL3ZuNzMvaU4zK2orL00vL3ZJc0UKcXJWNzN2
T2UxNzNpRmEvb1B2Q0JEM1JuT2N0WnVsT2U4cFRkcTEvOTZ0Ymlkalh1NVM5L2VYZWEwNXltZSts
TFg3cXI0em1xQzMvWQp3eDdXWGZ2YTE4N1YrUHUvLy92dUloZTVTSGZkNjE1MzdlZWp1cTY3T2Y3
eHRPL211R3JLM3EvMUdrL0RKdXZMY0ZrYnh3OC9iMUxXCmNQaEQrVDJMclhOM3A5ZUhuZkxkcVhK
aWF2L2hILzZoKzczZis3M3VkcmU3M2RhSlA0US9EYmNOejMzdWM3dmYvTTNmM05GOWcySDUKKzVu
eHFKNzNSNFhUMWE5KzllNFVwemhGZDVXclhLVzc0UTF2MkIzcldNZksrNGZYdi83MXV6LzRnei9J
bjEveWtwZDBtNnhqUjBYOQpqL0xscWQrZ3U4RU5idEJmNjFyWFdnMzVxMS85cXIvQUJTN1FweDN3
MVhkSDVadVVIUFFKc2s4eithQnFuT3BVcCtyUGZlNXpIL1I5CnpSY3BjKzFQZEtJVDlTbTd6MkVm
K2NoSCtyU0Qzei8xcVUrdEtXWlBoejNYdWM3VlAvclJqOTdUY2U3MXlINzBveC8xWC9uS1YxYWoK
ZmRLVG5wVG5TL2xpL0xsOHYxT3Y2UXhnbjg2STdWUngvWGJLMjZscDNVNGQxa0hzVkwzV2xiMlQz
eTJ0TCtObGJXN2NTMlhOeGU3Mwpma3ZMeDdqL2RpekdaZTEzbTAzcXQ5UHJ3M1o4aC9YZHFYS2l6
THZjNVM3OTVTOS8rV0h4Ujl2M215eUQ0MjNEZHZjTnh1TWNsNytmCk1ZL0tlVi9yTkhadWNiM1Ns
YTdVZi8zclgxK0ZIdi80eCs5dmVjdGJyajQvK2NsUDdsTlNtajh2cldPMTlTOGoyWW5wMklreVNu
MXEKWGpjNkF4S25VNk01ei8vOHovL2toT2s0eHpsTzk5ZC8vZGU1S2RKUm5rR2xDcHo4NUNmUDFT
aXZ3enJGZCt1K2oySCszLy83ZjhOQgpKOTkvL3ZPZjcxTFMxY1dabE9ndWVjbExkbUVRWjEzMlM1
ZG0rcGFxYkZxL0pZTnh1VnRHVXZsaEo4dUtVY2VScHJPZDdXeXJXaHozCnVNZmRNay9HbjFjRDdz
Q2JXQmZpck9DSFB2U2h0YVhWVHV0U2VXdEhNdml5ZFZxSDlkeHVIUWJWV2IzZGlYcXRDaHU4R2Ra
NzhIWHoKMjZYMVpieXN6WTFvcWF5cDJOWnBXb3BiNmo5Vm4vaCtHTHUwZkt6cnY2bkZlRHUwcnF5
cGVnN3JPRFhNWG44L1ZhZlc5U0hxdjY3TQpUWDNYeFE1Tk5pMW5QSitHWmZ6NjE3L09INDk5N0dP
dmZpdUgvWTl1N3pkZEJzZmJoazB0MTNtc0crZTQvSFZ4Njc1Ym11ZnJZbHEvCjIrbDUzMUwzR3Fk
MXptWGFhOFo5cjN2ZEs1L3hLTEhqMTl2Zi92YmRlYzV6bnZ6MTBuSXhWZis1K3N4Tng3Z3V3OC9E
TWx2TEdKYlgKK242akJPVEdONzV4OStsUGY3cTc0aFd2MkgzLys5L1A0N3JnQlMrNDVUUnJ0RzlM
Mlc5MzczdmZPemVMdWR2ZDd0YjkxMy85Vng3MgpxMS85YW5lLys5MnZpNW4xNWplL3VZdllhQzd6
c1k5OXJJdWQremhkZGJyVG5hNTd6R01lczVxT0dFOE1mOW5MWHJhNzhJVXYzSDM4CjR4OWY5ZHZ1
bS9lKzk3M2Q0eC8vK080cFQzbEtkNmxMWGFyN3gzLzh4MXhrVEdNc01BOTV5RU82ZFBhZys2M2Yr
cTN1d1E5K2NQZUkKUnp3aUp5dDN2dk9kY3pPME12Ny8vTS8vekoranVWUFU4VXRmK2xMdTljcFh2
ckw3N2QvKzdlNlp6M3htL2h4TnQ4NXhqbk4wZDdqRApIZkxuZi8zWGY4M054cUs4Qnp6Z0FWMzR4
a0lhemNmbStwWHhEbDlqWE05KzlyTzdKenpoQ1RreEd2YUxqVUtjMWp2VG1jN1VuZmU4CjUrMis4
WTF2ckhwUEdiem5QZS9wL3ZpUC83aDc2RU1mbXVzVzh5WGk0L3ZTVGMyYmRYNmYrTVFudXJrNmxq
SmY5N3JYWmUvclhPYzYKM1U5KzhwUHVSUzk2VWY0Y3kxd3NQOUhGL0xyMHBTK2RyejM2dDMvN3R6
ek4wUlN3dFp0YlpwZm00ZE9lOXJUdVRXOTZVL2VHTjd5aAorNU0vK1pPOFhNKzUxWmIzaTEvODRx
REppdlVwbHNkWWRtOTBveHQxNldqcVFjUEVGMHZqS3NPTWw1dnhORVVkYXVmMTJnb052cHd6Cmo4
RmluWXJ0U0RTWlRFZVg4cm9SMDFzU3ZkMVlsa3IxcHRhWGRjdmEwcnlZS3F1TWEvaTZicG8ybVlk
TFZrdjlwK1p0MUcxZG5kWXQKSDhQcG1Pby9aekcxSFpvcWF6aStkWFdNL25QTDJHNy9GaTJaRCtz
ZnpUSml1MysxcTExdGRjMUUvQjdHTnUzdi91N3Y4alozYnB0Uwp5cHJ6blRJcXNjUFh1WEttNWxQ
RXh6VGY2VTUzNmg3MXFFZmwzN2hQZnZLVHcySjMvZjNjdWppM0xJUngvUFpHMC9JWHZPQUYzVm5Q
CmV0YnVuT2M4NStwM2Nyd01wcFlQQiswZnZPMXRiMXY3T3hRbVVXN3R2c0Y0bkYvNzJ0ZTJsTDlV
NXpJLzVyYWg0eG5TNmxmR05UZnYKNTdZeHczcHNzdDh4TnkvSDIrZ2xwN0Z6L05iVnJDdWw3bGUr
OHBYTDI3V3ZxZVZNM3Njc1BhZldzWEg5WS9oTjZyTnVPdWJNMTVXNQpyb3hTMzExL1RablFZdmZU
bi82MHY5emxMcGViT1VXVHByVGpkVkRNWlM1em1UNjFkY3ZmUnhPdGkxNzBvbjFxSDVjL3A0MStu
NUtPClBsMDcwYi9tTmEvcDA4clpSN091My8zZDMrMVQwdEhIcWFlSFAvemhmVHFqMEtjTHZQdDBs
S1gvb3ovNm96NWRzNUdiUGFXa29FL0oKUUgva2tVY2VOTjc0NGxXdmVsV3VXOXBCN1ZPaXN1WHZE
R2M0UTUvT1dLemkwa1dBZlVvT1ZrMW5VbkxSWCs5NjE4djlVMExVcC9aOApmV3JEbXVzWjQ0MG1Q
bEYrT3Z1eEtpUGVSTG5weHlOYlJET2N3dzgvdlArZDMvbWRQbVdUZWJnWXg3QUpWSnlxaTJtT0xq
eEtjN0ZvCjFwV1NzZjVpRjd0WW50YTVmamw0OEMvR0ZiR2x1K2M5NzdscUpuYis4NTgvTjVOTEsz
YWZ6bDcxYWNQYTMrWTJ0OG1Eemhta0pLVS8KOWFsUG5lZFYydW5yMHpVdnVad3pudkdNT1hadTNx
enorK0lYdnpoWngxTHY4cHF1NWVsdmZldGJsNDk1bWJ2VnJXNjErdnpXdDc2MQpUMmZlOHVkMGpV
K2ZFcm8rbHNmU1BlTVp6K2hQZTlyVGxvLzkrUE9xeDRFM2M4dHNEREkzRDZOL3pQTllmcU5iY290
aGFzcUw0Y2RkCmFtZmFoM0YwNlVjK0wvT2YrdFNuOHVmeHRNNk5hMjY1R1U1VDdid2VOb2ZMbFVy
L3h2VmFNazlKZTU4T1l1VHd0RE9XcHpFbElQMDMKdi9uTnZHNU5MZTlsZk9XMVpsbUttTG4xWmQy
eU5qY3Y1c29xOVN1dmMvTmliaDVHL0p6VlV2KzVlVHRYcCtIeVVhWmgrRHJ1UDJjeAp0eDJLTXNk
bERjY3pWOGU1Wld5M2Y0dVc1c202OWVFS1Y3akNhdEppdnBUZm8wMjJLWE8rYzBhckVSNTRNMWZP
MG54S0NWU2ZEckxsCmt1TDM3UFNuUDMyZkRoeU5SNUUveDI5L0dNVHZYZG9aNnROMXBIMU1mN3F1
ZFBYYkZRUEdiMzg2RU5pbkExRjUzK0N4ajMzczJ2TGkKeTdsMWNXNVorTjczdnRlZi9leG56NytO
NmNCbzNzYWtBNFg5Ylc5NzI5VzRoc3ZndXQrMzJOOFkvdzV0Wjk4Z1Jqd2M1M2piczBtZApsNWJC
MWNRZGVOUHFGK0Z6ODM1dUd6T3V3eWJMK3R5OGJIRWFPdGVzSytPNkR6K1BtMkFOKzgydFkrUDYx
OVJuT0IxejVuTmxEc3NZCjFubTMzMjkwQnVTa0p6MXA5NjUzdmF0NzRBTWYyS1VrSUovaGVOYXpu
clZLanQ3eGpuZDBILzd3aC9QUmhQZ3lUaldsSGNrdUxoQlAKSzIwK3NoQVhwc1hSbnJSeDdVNXdn
aFBrTXVLT1dsRm1uSHE2eHozdWtVOHh4M2RwaHorL2o2T2VVWFljaGYvaEQzL1lmZkNESDF5Tgpj
OTJiOTcvLy9mbGlueml5VlA3aWJsM0RMdW9XRnlxbmExankxekh1Y3VZaUxtS1BJeUNwclY2dTUz
T2U4NXd0VFh5RzVjVDdXOXppCkZ0MDFybkdON2cvLzhBKzd4ejN1Y1YxcUM3ZzZVeERUT0d5aWRj
SVRubkQxT2Fibm10ZThaaTd1K2M5L2ZqNjdGSjdSeEd1dTMzajgKY2FZZ2JnUVFSMkdpU3h2T0xh
ZnA0d0twSTQ0NG9rc2J4RnpIY21lU09ZTzBJSFlwMmNqMWk0dW8wa3FmTDc2UEpuamhORGR2MXZu
RgpXYVM1T2c2bktTVWIrU3hRSENXSUx2MHc1VE1MYWFYS24rTW9TVXJpOHZzbzkzem5POStXNmMw
OU52eTN0TXhHTVhQenNJeW16T01sCnQ5cnlTdm5sTmU2KzlwblBmS1pMUDl6NXF6ampGc3ZubWM5
ODVqTElsdGU1dWk4dE4yV2FhdWYxc0RuY2xzb2MrTENKZWR3NElkYkoKNk9Lc1hjem42R0k2bCtx
ZEJ6endyMlpaS25GVDY4dDRXZHRrWGt5VlZjWlZYdWVtYVc0ZVJ2eWMxVkwvdVhrN1Y2Y290eXdm
OFg1ZApOKzQvWlRHM0hTcmxqc3NxMzAvVmNXa1ppNlBjdS9sYnREUlBTdjNMYXpwbzFNWFpoYlFE
bHIrSzM5RjA4QzIvMzJTYkVnTk8rVTRaCjVjTFgvSnNxWjI0K1JjdUUrUDBwUjRMak4reXFWNzNx
bXRMLzc2dFlwdU4zSlIwNHlhMEUwa0dMZklRL0xtQ09mWXZvdnYzdGIrZXoKUU9rNmtueDJPVm9n
eE5uZWRXZFc1dGJGcFdVaHprN0U4aEMvSXpIdHNZMkpjWDc1eTEvK3Y4b2UrRitXd1hXL2I3RTlY
dmM3MUxwdgpVRVpjeGpuZTlteFM1NXBsY0R0K1MvTitiaHRUcHJPOExpM3JTL095eFNuR1haeHIx
NVZTNzlyWHFYVnNYUC9hK3BUcG1ETmZLck9VClVUdE4yeGwrb3dRa1JoQWJvV2dpRlJ2THdJcm1R
K1V1VU5ITUpyNkxZVXFYem9Ea3Q3SFRGTjE0NGs1eWtwUGs3OHUvU0hLaWkwUWoKa3BiWUNZbjJz
dkVYemFUZS9lNTM1MlpPWmZoMXI5SEVLZTdTTmZ5TGVnMjdxRWM2QXBOM1pxSnBSOXpWYXBpa3hB
WnlIRE9NSDc0LwoyY2xPdHZvWUc2Zm9ocmVGWGZVY3ZZbGtKRTdOeFczWElnR0xVNWh4SjYvbzV2
cU5pdW5TMGYrY1RFVVNGUE1qVnVLNEMwUHBodVp4CnA0WTRoUm5ka2tIMEg1WVRTVm5FUndLd05H
L0dma3QxTEhXTjEyaHVFUE8vTkxlSnBuRnhhalNXdVhTUlZCZUpTYmlWTHVvNW5NYnkKL1Nhdm15
eXptNVF6SFArYzJ5Wmx4VEREOG9ZeGtYekh0VWZEL3RGY3NPeXNENGRkZXI4MFQ4bzRhdWYxMG5n
M01ZL3RRb3kzZE9tTQoxaXJwV3FwM2lZblgybVVwWXNwMHgvdmgrbEw2bGY2YnpJc3k3THF5NHJ2
UzFVeFRpU212YzFZeHpGei91WG03VktmaHRKVzZERi9ICi9ZZWZoNjd4L2R5Mk9Nb2N4ZzdITVZY
SFRaYXhjWms3K1ZzMFp6NnNmM2tmMis0NDRCTjNXWXd1RHRyRlFiclNSVjJudHNYRFljcjcKb2Ur
VVVSbDIvRHAwR1pZVDMwL05wempvRjc4UHcrc3NUM3ppRTAvT3R4aG4vT2JHQVpSSXV1S0FVaVFq
Y2JBaHRtV3hqWTlyNnlJUgppQU43cFV0SGI5Y21JSFByNHFiTHduQzZZLzdGYjgyd0cvWWYvNzdG
Y05GL09FeDgxN3B2RUxIUkRjc2Jsei8rUEs1enpUSzRIYitsCmVUKzNqZm0vcWR6NlA2WnJhbGx2
bVpkTFRrUG4yblZsYTgwMy94UjFLdDF3SFl2dmh2V3RyVThwZDg1OHFjeFNScW5mWHJ3ZWUya2sK
cWVsRDNqREVRaDFkWEpNUjdmVWpLWWdFSkRZZzBkNHhOYVBLTzdpeDhZa3VqZ3JFeFdqcjJySkgv
emhTTXB6ZzRmc29LMkxqQ1BodQpkSEdydkRqUzlNSVh2ckNMTXhDeGNHKzNpNk1uWVZTY05pbnZR
UTk2VUU3YW91M3N1SnZyTnh3Mnp2U2tVOTQ1Nllwck1PSTZrcExNCkRZY2J2NjgxaVBrVjg2Umwz
bXhheC9nQmlpTUVMM3ZaeS9JUFdsd25GT09OYTJoU004RFZMWGZIMDlMeXVXV1piUmxQY1d1Skhj
WkUKdTg1eXJkTHcrOWIzbTh5VGxuazlWNTlOek9PSWNMcUxTTDQyN0hqSE8xNU95R09iVTdwTjZo
M0Q3dWF5ZEZUTWl6TDl3OWNscTduKwpTL04yVStkaGZWcmUxMjZIaHVOWVY4ZE5sckZoR2ZGK0oz
K0w1c3pINDQzUHNjTjF4enZlc1l0MjJJOTg1Q1B6ZFpQRG5mbDFNVFhiCmxIVkdtL3crak1jN05a
Lys1Vi8rSmY4bWpJY2YvcDZQKzhYUjdFZ280anEyNk9JQVV6bURFcjlmc1ZQOG9uUU5ZT25pb0Y3
Y1FqK1MKbG5FM3R5NjJMQXZqOG5maWM4dSt3WGJHVzdNTWJzZHZhZDR2YldNMm1jYXlyTy9Gdk55
cGRXV1Q2ZHBrbUpiNkxKbTNsTGxKWFZ1SApXVHdERWd0b25GRVlkbkVrOXZCMHRMMDg2QzZPZ01R
RGFPSTBhdWxTbTdaODRYWTBaNnJ0enBLZXN4Rm5QSVpISWxKYnRDNHk3dTEyCjZacUVmTVloVHVr
T3o5aHN0OXk0ZUR6T3BNUUY5cVVyVFluSzUrRnJXRVh5RS9Vb1IwdGk0WWx1cnQrd2pOUWV0QXZu
ZER2ZzNGUXQKTG1DTW5mV2xydFlnVHBQSDJabzRTMU03YjJyckdEdWZrZGorMVYvOVZaZXVXZW1p
S2MzclgvLzZmUFpsdUNPNk5JMUwvVGRkWnVmbQpZWXhqN29kMjZGYnEwMXBlL0lqRkQzRmNsRmk2
V0NmS0djYnkzZkIxYWx4TDg2Uk1VKzI4SG81NzNmdE56S1A1UmpRbGpKMlVhSElSCkZ4T1dicW5l
WmJqeXVsdkxVc3U4S0hVYXZ5NU4wOVE4akhMbXJKYjZ6ODNicFRxVjVXTThMZVh6VXY4eTNDYmJv
YW15cHVxNHlUSlcKeHIvSjY1elR1dmlsZWJJdUpyWnowVHdpRGpyRlRUYm11blhibEtuaHA0eW1o
cC82Zm00K3hjR3ZPR3NkOWRxa2l3dWU0d3hJWEtBZAp2Nyt4RFl0bVFDVUJpV2VsUkRQa2NDOWRY
Q0FlemRMaStXUGpibTVkM0tsbFlXb1pITmRsNm5QdHZrR1VzNTF4MWl5RDIvRmJtdmUxCjY4N1li
N2lzNzlTOEhJK2pPTy9VdWpJdXYvVnpiWDNLZE15Wkw1Vlp5bWl0YzB2Y1lnS1NMcXpPTzdqRERV
eE1TR1Mvc2FCSEYyZEIKNGpxRFNCcEtGenNQc2RDa0M1enlWM0hFSTVLVTBxVUwyL0xuK0Q2NjBz
NC9mbkJ2ZXRPYjVydnZSQk9UYUJjYU85bC85bWQvTm5rOQpSbXpVb2l0dFNQT0hBLzhpaVJsK0g5
Y3h4RGhpb3hyMWlZMWhEQk1id3ZpTGVwVHlTamx4OUNWaUlnc2Zkc1BwaVkxb1BCU3ZYRnNTClo0
QmlZeHEzNzQwTlVPdzR4azU4ZEZGV05KbUtINXViM2V4bStic1k5NHRmL09MWmZubkF3YjhvTCs1
cUVGM2NNU2c5cTZVclo2Q2kKcnNQNnhqU1Y2Vm95aVBKS1hlTjk3QVJHWGFPOTY5SzhHZnZOMVRI
S0huZnhReE5IdnVQSVlDUm1jU28ranRqRmo5SjRCWW5waTJrSwp1K2pDdWl4UDZ6N25nUTc4MjJT
Wm5adUhVVXdjcVl6MUlMcXlqRTI1eFRBdDVVVmNkSEcwTUYzZ2xoT3ltSC94RjNlV2krWWIwWTJu
CmZXNWNjL05rT0UxeE5pb09RRXl0aCtONW5Tc3kramVzMXlibWNSUTRYUmpheFYzMGJuS1RtK1Ry
Y0VxUmMvVXV3d3hmYTVlbHFmVWwKeWh3dWEwdnpJb2FkSzJ0WXg3bHBtcHVIVWNhYzFWTC91ZlY0
cms3RDVhTXM4OFBwR2ZlZnMxamFEbzNMR281bnFvNmJMR083K1Z1MApORStHNjBPWm5tZ2FFWGRq
aW1aWTBTUnIzTVcwbG02NExZN3Y1bnluakVwWnc5ZTVjdWJtVXp4OExjNk14L1ZvcFl0ckRlTmcy
dkQzCnNmU0xnNGpSckxvOE1EWU9tc1h2YTF5WEU5TVd2NS9EVmdSZitNSVg4alVta1lTczYrYld4
VTJXaFpnZjhYdGN1bkFZMW51OERLN2IKNWtYTThIY295aHFXVWJOdkVMSGpjWTdMWDZyejBqSVk0
eWpkZHZ3aWRtN2V6MjFqeXZqSHIxUEwraWJ6c3RacDZCelg3MDd0UzhXKwphbHgrVUg3cngzVXVu
Mk01aW5tVGJxUlV2dHJ5R3ZXTHY5SU45OG5pdTJIOWE5YmQ0WFRNL1diUGxUa3NZOTEydmRSNXgx
L1R6dHRpCmx4S0pQclhIN05PcHZYelhuM2dJWVhyU2FaK3dWN0dwK1U5KzROOFRuL2pFUGwyVTFx
Y05hcDgyWExsL2FwZVc3NHlSTHFEcTAwYW0KanpzZUpLallhOHgzdUVoSGYvclVEQ2wvVGh1MFBz
M29QdDBpdEU4N292bk9XT21hakQ0ZEJWK05hL2dtdFpuTmQ5Q0lzdEoxR0gyNgpXRDczVGp0T2ZU
cWlsTXRNTzY2NS9MaWJWMm9TbHU5eWxYYlUrM1Iwdlk4N0s2WHJMdnFVQ1BRcEFjZ1BIRXc3dS9r
T0hWRlEzT1VpCjdYem5jdEpSbXo0bEVybjhoNmU3ZHFVZGhENWRmTjdISFRydWZ2ZTc1enQzNUo3
cFh6cXQzS2RtSVBuT1dQZTk3MzN6blRMU0JlSDUKN2x2cDZINHVMNjJnZmRwWTlPbVd0L2xCai9F
NjE2K1VYVjVUazV3K1hVU1hIM1R6eGplK3NVL1hrdVE3QmNXZHh0S3B5encvMGhIeQpQdVpOUEFR
bmJTenlYYnZtRE9LT0ozR25vYmdUV05RbjZoZDM4RXBKWnhudDVMeEpUYWNPOHB1cTQ2cXdOVy9D
T2U1V1U3cW94L0J6CmZKK1N1ejdkcmpJN3hnTWhVNU82UHAyaXo1L1RCZjBIZlk3cEduZHp5MndN
T3pjUG8zOHNYN0ZzeFoyN1lubGJjcXN0TDhZeDdHSWQKaUhVaGx2VjA1Q3BQWS9RUGkrRzB4N1RP
ald0dW5veW5hV285WERldmgzV2RxdGVTZWJvWlJaNittTWFVaE9ZSFM4WnlIZE0wVisveAp1TXZu
VFphbHBmVmx2S3hGWGFibXhWSlpwVjdsZFc2YTV1Wmh4TTlaYmRKL2F0N08xV204ZkpUcEtLL0Qv
bW1uY1Z2Ym9XRlpzWDROCnU3azZ6aTFqdS9sYkZQV2JteWZyMXRNeVRlbEFXSjhTN3ZKeDlUcTNU
VmxhMXVhTVZpTkliNWJLV2ZxOWlHMUJTaHJ5YjB6OGZxY2sKS3Q5NU1yNGZkK25BUXQ0M0tOL0gv
a0Q4RnNjMk8rM0E1ZlU4NHYvaUwvNGlQK2c0WFNPWjc0eFpobC8zT3JVdXhyQnp5MEtZcHgydgp2
RzhTeTBYY2tTdnV6Qm43SFdVL1lyZ01SaDNqZ2NURC9ZTjEyNGJ0N0J0RW5ZZmpmUHZiMzc3bGR5
N3VhcmxVNTdsbE1Nb2ZkNjErClVjN1N2Si9heG96ckVKL25sdlhvUHpjdngvTmhFNmVoY3l3TDYv
YWxZcnpwWUhYK25ZLzl3Nmt1MXJXNGEycjhicVVEcDMwOGdERDIKTjB1M3RJNk42eC83YlZQMUtX
V1cxK0YweEhaeXlueHVlekF1bzVTOTI2OXg5SGl4UzVsVEhpWTJSREVSY1l1OGRWMXNRTktaa29O
MgpGdGNOdThsMzhVTWZPNTdwaU5VbWcxY05rN0xOMWZERFJHcjE1WVp2MHYyYkorc1g5Uy9qMmM0
NHBxcVNqckxrWGlsajdkTUY1bE9EClRYNWY2aFlERE9zWEc0TDBESlpjWnR3ZWJsMjM2YnhwcVdN
Nkk3VmxsT1BQVzNwdTg4UFNNcnMwRDFQemcxVU5OblVyN2tQelVzaXcKdlBMZDhEWHFPMHdHaC8z
Rzc2ZnF2alJQeG5YWWRGNlB4ei8xZWM0OGJtc2MyNURQZmU1emZicnZmajVBa0o2ejBxZXpxNnZi
ZE5Zcwo3K05sWi94NXFvNmJmRjh6TDZiS1c1b1hVL013eXB1ejJxUi9ETE51M2k3VmFieDhSRG5E
YnFuL2NOaDRYOWFIZUQ5ZUo2YktXcXJqCjNESVc0Nm50MWptdEsyTnBucXlMaWUvU05SWjl1djdo
b042YmJGTU9DanJ3eFpMUlZOelU5M1B6S1owWjZNdThTa2QycDRwWSszM1oKdnhqMmpOdngxNnly
Yyt2aWRwZUZNbDNEK20zeWZqdjdCcTNqakhxMUxJUGI4VnVhOTV1dU81c3M2OXVkbCtQNVZweVgx
cFdwL2FCeAplVHYxZWFrKzQvR1U2U2pmcnpOZktuTmNSaWxyTjE4UGk4SlQxcVlqc0JLSXRyWngr
OTJVeGErKzgyWlpnTnV5MGR3UTBRUWxiaU1ZCmQxc2JkbkZoYXR3dU14MmRISDU5akg2L1pCWE5Q
bGp1N1NLeU5FL1dMYjl4M1dBME9ZM21LakcveHMxTWJWUDJkaDRlM2NmV3NnenUKbDJtMnJPK1hP
YkYzOVRqMjNvM0ttSTRPQXVrSXcrcWFsYU5EZmZkTEhibHRmMDdFRTZEajJvOW83eHQzdklrMnN1
bVVjcjR6MnJxZAp0KzJQOGVoYndwSlYyTEhjMi9tN05FL0d0WWxuUDhVVHE5TURKL09UdU1mSmgy
M0tXTXpuSllIYVpYQ3B2TDNxYjFuZksrbjlOUjVuClFQYlgvRGpLYXhNWHdwZUxyZUlHQlBFOEJk
MnlBTGRsbzAyR2lOc3R4MjA0NDBZWDhSd0FpY2UwMnBMVlV2L3BrdlZwRmFneGo0dFYKNDhMWHVI
bEkzRkZvM05tbWpFVjgza1NnWmhuY3BMeTlHTWF5dmhmSysyOGNFcEQ5TjAvVWlBQUJBZ1FJRU5O
dmx5a0FBQ0FBU1VSQgpWQ0JBZ01BaEs3QjRHOTVEZHNwTkdBRUNCQWdRSUVDQUFBRUNleTV3dEVw
QTRqN0c4VEMybzBPWDdrcTFlbERqMGFHK3JYVk1kMWJvCjRyN3ZPZ0pIaFVDNjIwZjMwWTkrZE05
SGZVeFp2L2NjOXNBSWQ5dDNhYm14WFd1ZjgvSGNycmdKd3RUekVJWWw3L1o4THVPSzhYejMKdTk4
dEg3M09DQ3l0R3pPaE85WnJMOWUvdlJ6WGpnRWRJZ1VkclJLUWh6M3NZZmxoZi92ZFBoNTNuNTU1
MHIzMHBTL2Q3MVhkVnYzaQppZTN4QUtuMFRKaHRsU09ZUUl0QXVuZDZsMjdkdUhxb1dVc1pMVEdI
eXZxZG5qR1FIeFliRnovSEU1SGpibU9sUzdka3pBKzZqSDUzCnZPTWQ4NFBsU3IvZGZ0MXQzNlhs
eG5hdGZRN0hYWmhlOFlwWDVBZjhudWM4NStsaVozYXEyKzM1WE1hYmJuSGNwV2R5ZGE5KzlhdkwK
VjE0bkJKYldqWW13SGYxNkw5ZS92UnpYamlJZElvVWQ1UWxJYktEU3c0ZzI0b3lub2IvaERXL1lh
TmlqY3FCNGduUDhvTmQwTlE1TAo1ZTVrV1hQaml0dm1YZTV5bCt1T2M1emp6QTJtM3pGRVlLK1d1
OEo1c1l0ZHJMdmxMVzlaUG03cmRhbnV3LzR0Ni9kYzVZWmx6dzIzClNiK2FzdUpKOFhIQmYyeXIw
ak1ldWxpZlM1Y2VlSmt2akg3QUF4N1FwUWRiZGZHMDdyM3FkdHAzWE8rbDVjWjJiU3kyMmVmMG5M
QXUKUFQ4cTM5a3Juc2I5MnRlK050OWllQmc5WEQ1M2V6Nlg4YVlIeEhXbk9NVXB5c2VqL0hWb3NO
M0s3R1JaVVplbGRhT212cTExMjh2MQpieS9IVldOM1RCbjJLRTFBMGdNR3U1dmYvT2JkaHo3MG9Z
TzgwOE50RHZvdWptS2M3V3huTytqN3BTODJmZFRKcHNNdGpTLzZ4MDc1CitMYUtVM0Z6RGxNeFU5
L1hsTFhPZUtyYzhmZHgyN3pvMHRQVnUvVFU5WEh2NnM4dDlpMHgxUlU3UkFLKzlhMXZkVzk4NHh1
N0wzM3AKUzdzeVJUWEwzVklGYXVicmNZOTczSTNYczZueEx0VjlYZithOVh0cXZQSDl1ckxuaHAv
cjExTFdxVTk5NnU1MXIzdGRseDR1bTNjYwpTL25mL3ZhM3UvZS8vLzNkWXgvNzJQTFZycjZPNS9s
TytVNVZlbXE1cWQydWplczlOYjdXNzNlNy9OWjZyWXY3L09jLzM2VUhTYTUrCkR5NTV5VXR1R1d6
ZDhya2I4M25kNzlwdWpHZkx4RzM0WVozQmhxRUhEVlpUVnMxeU5MVnVIRlNCbVM5cTZqWXNwbmI5
V3pldmgrWE4KdmE4ZDExeForN1ZmM0JIdFRXOTZVeGZiODlZdTdvb2Erdzd4dDY0WjQxTC91ZkZ1
dE9jWTk1Ui84SU1mM0QzKzhZL3ZiblNqRzNWUApldEtUVm1WRzI4cTRsL205NzMzdjNEd3E3ajBm
dzBjWFp6WnVmT01iZC9lNXozM3lmYzdqWVdMblBPYzV1Mjk4NHh1NS85T2U5clNNCkUyYzEwdE9P
dXppQzh0NzN2amVQNXlsUGVVcDNxVXRkcWt0UFhzL0RwcWVLZGs5NHdoTzZ1TTkxZEV0bHh6Qnhp
OE00ZWhkeDQ0MWgKOUMvZHV1SGl1N2cvK3pPZitjdzhXSnhXUHNjNXp0SGQ0UTUzS0dGNU9xZGNZ
cUJZd0tQWjJKbk9kS2J1dk9jOTcycTZWd1VjZUxQTwpJWjUvRUVlVExudlp5K1puSW56ODR4L1BR
My9xVTUvcXJuU2xLM1Z4ZWp0MkVPTHpCUzV3Z1M1dVl4ZmR1ckp5ajhHL0tlTk5UT05JCjZaM3Vk
S2Z1VVk5NlZMYjQ1Q2MvT1NoNTY5dE5ETmZaUnlsVDB4LzlwbUtpMzM3ci92elAvM3l5R1VLMFBZ
MW1NTGU1elczeWVuWC8KKzk4L3Q1M2VqV21JYTZlZThZeG5kRTk5NmxOM28vaTF5OTNjdG1GZEph
Ym02OXl5TUM1bmJ0aXA3ZGpTT2pQVmYyNzlucXZIc003cgp5cDZLM1lsMWZ6anU4djVDRjdwUUY4
dmUzLzd0MythajF2SDlQZTk1enkzYitUTHMzRHpkWkgwdjVaVFhxWGtlL2VkOGQ3b2VOZHUxCnFO
dFV2YWZtWGNUTTlZdit3MjZxL0xucC91cFh2NXFiemNYdnhwdmYvT2J1Z2hlOFlHNmkrTEdQZmF5
TDVPRDYxNzkrZDdyVG5hNUwKVDhwZWphcW1UblBqZnY3em45ODk0aEdQNkdLSDhNNTN2blArelYr
TjVNQ2JkY3Q2OUpxYnp6WDFtL3BkSy9XSWVSejdJdEU4T3A0egpORHdZTXpkdGIzbkxXN3JUbnZh
MCtReGhHRWYzaVU5OElwODVmTmU3M3BVL2IxclBkUVpUc1R1eHZrOHRSMVBqekJNeitqYzNiTTAy
CmRhNmMydlZ2YWw3djlENU1vWmo3SFMvRGJPZDF0OHFQMjlrLyt0R1A3cUs1WTJ2M3RhOTlMZStu
UFB6aEQxLzlQZ3pMV3VvL0hQYWcKOXlrelh1eXVjcFdyOUdramxvZExPNXp4NVBRK3JSejVjM3Bp
ZHYrU2w3d2t2MDlIUC9xTFh2U2kvZFd2ZnZYOE9VMThmL2F6bjcxUApTVWVmTm9qOU43LzV6VDd0
eFBlM3ZlMXRjLy80ZC9qaGgvZHBnNWcvcDFOMmZkcnA3OU1GYlBsejJxRDExN3ZlOWZMN2RHRmJu
M2IrCis5UVVJSDllS2p0bDRIMXFINTZIalgvcEI3VlBPM3lyeitYTjNIQlJselR6eXFCOTJ2SHYw
MFBTVnAvblhNNS8vdlAzS1RIbzAxT2QKKys5ODV6dlpJTzFvcm1MSGI0WU9hU1BlcCtZUmZUb3Ft
ZXVjVGlIM3FVbEVmK1NSUithd0tEUG1RZHA1N2QvMnRyZjFLVm5iVXR5dwpyQzA5MG9jNTR5WFRL
T3RxVjd0YW41S3hYR3g0cHZ2WDkxZTg0aFh6NTNYLzVneW43T2VtZnlwbTNiajN3M2ZwakYyZnpq
NnNyY3I5CjduZS8vc3BYdm5ML2tZOThKQy96NlprWGZTenp1OVg5emQvOFRaK3UxOW10NHJlc3l6
R1N1VzNEdUJKVDgzVnVXWWd5VWxMVnA1MkQKWE56U3NIUHI2OXc2RTRXUCs4K3QzMHYxeUpVZC9C
dVd2UlM3blhWL01NcUQzdjd5bDcvTTIrYll6ano1eVUvdTA1bVBnNGFKTDVibQo2ZHo2UGk1d2Fw
N0hjSE8rMFgrNzlSZ3VOMUZlelhadHF0NXo4MjZ1WDR4LzJFMlZIOFBNVFhmYU9lNVQwdEdmNVN4
bjZWL3ptdGYwCmFhY3UvMTdGZGlWK1kzLzBveC8xYVNlaVQyZm0rM1NCZUY5VHA2VnhSLy8wSlBj
K25RMlB0NVBkY0ZtUGdlYm1jMDM5NW43WFlqeG4KT01NWituVFFyazlIZy9PMk51cVJublBWaDNW
MGM2N1JQMzY3WTF0ZXVvaEx6OGpLSDJ2cUdRRkRnNlhZN2F6dlU4dlIwamlINjhiUwpzSnR1VTVm
S3FWbi81dWIxYnV6RHhEeWIreDJQL3R2dGRyUDhkT25DNVBhOHB0NnBPVzcvOUtjL2ZUSmtxZis2
d01VeklIRTNpODk4CjVqTzViV0JrTDNIazREblBlVTdPL3QveGpuZDBILzd3aC9OWmp1Z1hwemx2
ZmV0YmQzSEVJSTY2eEpHR09PdHh2dk9kTHovTk9Ob2EKWC83eWwrKysvT1V2eCtDcnJqUlZpdmpy
WHZlNitZaCs5SXdtVitVb1JiUkpqbkxTUk9TNHBiSi84cE9mZEovOTdHZTd0SU9laDA5Sgp6eW8y
ZjNIZzM5eHdKempCQ2JZMDd6amhDVSs0K2p6blVzcFBpVmgzeEJGSGRHbmpseCtxdG5TM3FPS1FO
dVM1cnRFMExZempxRlZjCkZCcnR0YU9MTXVOTTFJTWU5S0I4b1h1Y2RScDNwYXp4OTNQR1M2WnhG
aVk4MDA1ekxqYWFYbDMxcWxjZGoyTEw1em5ES2Z1NTZaK0sKMlRMU0F4Kysvdld2ZDllODVqV3pY
eGpHOVFJcGljdDlvMjE3UE9RdWxxbG9mcEtTNlB3NXZvdnhSemNYSCt0RVNxNjd1OTcxcm5uZApp
Q05rVVdicFlobVBhNWJpem0xeE5pLzk4SGR4bENQcVg3cVl0eEVUWitmaW9YdHBwNkZMQ1h6cHZh
M3hSeUZ4YWpTYU9NWTB4dEhQCm1KNWhOemQ5TVZ6VUt6eFNncFNQSEthZHk5d0VzaGdPeXlydnkz
SzN0RzBvdzVmWHFmazZ0eXlVMlBJNk4rd202MnVwZXlsdi9EcnUKUDdWK3o5VmpYR2I1WE1wZWl0
M091bC9HdGU3MWVNYzdYaGNYNjhaMjVnVXZlTUhhSTlpYnpOTzU5WDA4M3FsNVhvYWI4dDNwZXRS
dQoxNmJxUFRmdjV2cVY2UzJ2VStVdlRYZjgxc1pOUWVMc2VEcHcxOFc4dVBhMXI5MUY4OHNIUHZD
QitmZjBIdmU0Ui81dGllOXE2clEwCjdsTDNUVjdMc2w2R25aclBOZldiKzEwcjQ3bkZMVzdSWGVN
YTE4amIyc2M5N25GNWU1aDI4UE52N054K1RNUkhLNDg0aXh3WExVY1gKY2VsZ1pINWZVODhja1A0
Vmc2WFk3YXp2VTh2UjBqaExIZU4xYnRpYWJlcGNPYlhyMzl5ODN1bDltRTEreDVkK1IyTS9OSmJ4
YUwwVApyV2hpUFkwemFORnRVbjRlY09iZlhQa2xMSWFKNjExaVArZ2hEM2xJK1RxL0x0Vi95OEE3
L0dFeEFZbWQzdGdSS1N0TWpEOHU2b3JrCklCQWpNWWdGb25SbEJ5cDIwS0tMdUdIc1NVNXlraTRk
YlN1RHI0WXB3MFl6a1ZoeG9yblhCejd3Z2U3blAvLzVhdGh4V2VQUHc3TGoKb3NsSVptS0RFNmVF
MDFHSDdsakhPdGFxclBKbTArSEs4T1YxenFVTU01enV1QWd1VHZQT2RXWDRTTjdDTjlwaXhsODBS
WHYzdTkrZAprNzhTSDgzZ3Z2S1ZyK1R2MWsxWEthc01YMTdqK3hyam9XazArWW9tZENjLytjbExj
ZDJKVDN6aUxmTjMxV09ETjFQMmM5TS9GVE1lClhTeGprUnpGOGhoTi9pTDVpOVBGdDdyVnJmS2cw
YmI5WkNjN1dYZmYrOTYzTytsSlQ5ckZqMU1NSDgyaGJuakRHK1psZEM0K21qZEUKV1hGbmxianpT
NXd1ajRzdXYvakZMK2J5NDhjL2R0ampHcGw0eW5FMHd6dmpHYytZNTJlcGF5UUYwZFFsbWduR3JX
VFQwY0F1TGd5TwpicW4rUytPUFU5clJmQytXbzJoYUU4MzJJaEVxM1ZMNU1WejhLRWZ5RXRNWmRZ
OXBURWRBdWxnbXBycXkzRzJ5YlJpV01UVmY1NWFGCllYeThueHUyZG4wZGx4MmZ5N1NWZnNQUHcv
VjdyaDRsZHZ4YXl0b2t0blhkSDQ5ei9EbVdsK01mLy9pNXVXZ3N0K091ZHA2TzQ4ZWYKcCtaNUdh
Nll4T2VoNzA3WG8zYTdObFh2dVhrMzE2OU1iM21kS24rVDZSNmFSWG5qZFRXMmRkRkZvbGxUcDAz
R25RdmU0Tis0anNQUAp3L2xjVTc4b1krNTNMYW9WMi92U1hmemlGODl2STZuWVpOcWltWE1jZkUx
bmtYTmMzREV1SGJYUDcydnFXY1pmcG5tVDJOYjFmV281CjJtU2NwWjV6dzlac1UrZktxVjMvbHVa
MTlDKytNUjNiMllkWitoM2Y1SGMwbXVISFBtZ1l4Ry9xNFdsZk5KcGZSN2RVZmg1bzRkOWMKK1NV
MERpSys4SVV2ek10NkxNT2xLZUVtOVM5bDdNYnJ3Yjh5bzdGRXU3MXlIY2FvVjc1elNqcXRtM2Vz
WTBjMHV0aGhpUit2dUo2agpwWXVqY0RHVEFpdmFsY2JHb2JXTGRtK3g4eGM3VFovKzlLZnpiU2JM
Qm5oWTVxYkREV1BtWEliRHRid1AwekM4d2hXdU1Ca2VTVjhrCmYzRjl5NS8rNlo5dVNRb21ndzcw
YURXT0krcFJ0M0UzWE5uSC9aWStyN05mbXY1MU1lUDVHa2VxNHNLck9HT1dtcFRrYXNTUFd4emQK
VGFlbWM5SWM3WUZqNXorU2owaDA0MkxjTDN6aEMzbllUZUlqOFlzekRQSGpGRjNzNU1leWUrNXpu
enNuSERGZnluVlQ2KzZLRnRjUApSWElaMXhkRkVoTm5ZbUxqRUVkS3RqdisrSUZNcDczek5SOHhm
K0lhcEZpUFk0TVQzU2JseHhtdVdBN0RxZHhxZWVtTVZ5NDgvWXNFCnFIYmJzRzYrTGkwTFpYenhP
amZzYnE2dnd6b3MxV004N1BqejNEU1VZYmV6N3BjeVdsNWI1dW5TZU5iTjgvRzZQQzVqcCt2UnNs
MWIKVisrNWVUZlhieng5OFhsZCtTM1RIZXZ3Y1BzOGZGOVRwNVp4cjV1dW11OXE2aGZsMXZ5dXhm
WTRka3pqTHk2c2pYSEZBY0s1L1pobwozUkYzOTRyckh5TlJqNE9EMGRYV013Y2QrTGRKN0hiVzkz
WEwwU2JqTEhXY0c3Wm1tenBYVHN2NlZ6T3Z5N1RFYSsyNDRzRGgzTy80CkpyK2o4UnNmWngzaUlI
SnFIcG4zUitKTVpYUkw1ZWVCRnY3TmxWOUM0eHJyMkRlUEx2WXJZejhsV2pkc1V2OVN4bTY4THA0
QmlSVTEKamhMRWhTYWxpNTI2T01NUlI4TWprNHVKS0YwOGhDaDJmTTUxcm5PVnJ4WmZ5MFl4amg3
SEJjNlI4US9QcWl3V3NHYUExQmF3aTdyRQpSYmR4K2pndXdvc2R2WEczTkZ4Y0lMZXVtM05aTi93
bTN4V0hXRWhqWVMwN2l4RWI1bkdrb0hRUGZlaERjM09vaUluMzQ2NlVOZjUrCk84YVJ6TVdSc3pq
elV0Tk5HVTdaejAzL1ZNeTRQcEVBeDQ5RXJHU3ByVy8raXlPODBUeXdMRnR4Q2oyYUlrUXp2MGgy
NDh4SE9VcTIKU1h5TWMzaUVNY1pYam15VStzUjhpRHZEakxzWUxtNitFRTBTSS9tSTlTbWFSNVJr
YWJ2amo3T0ljWWVqNFhJUUNWanBOaTAvaGo4OApIYkhadEN2anE5MDJUTTNYdVdWaFhLZTVZVGRa
WDB2ZHgrV1d6MHY5eTNCejlTakRqRjlMMlp2RXRxNzc0M0hXZnQ1MG5rNnQ3K1B4ClRjM3o4WERq
enp0ZGo5cnQybFM5NStiZFhML3g5RTJWditsMGo4dWIrbHhUcDUwY2QxbldwK3BWdnErcFgrM3Yy
ci8rNjcvbWcwNXgKSm5uVGFZdmJCc2RCb21oMmU1M3JYS2RVTSs5VUx2MWVyd1krOEtZWWJES05y
ZXY3MUhLMHlUaExmZWVHcmRtbXpwVlR1LzdWenVzeQpMZkZhTzY0U0cvTnIzZS80SnIrajBVUStE
blNHVjV4NWlGWTViMzNyVzB2UitYV3EvQzBEVFh6WXBQeVNXRWNSc1o5U3R0R2IxSDlpCnREdnk5
V0lDRXRjYVJJV2pHVWJzcU1WZnVuZzJOOG1JSGJpNHZpRld2dExGWFpGaWhVNFhKK1d2WXFhVmlZ
MHY0a2pLY0NjdG12TkUKVmhwZEpESXhiQ3hnTVV3MHdZcWQ4Tmo1anIrSWpXWTA4VDY2dWJLajdY
M2NBU0s2T0RKOXJXdGRhM1YwSTM5NTROL2NjSkV4eG9ONQpZanl4d1lva0xJYVBiczRsK2tkZDQ2
OTBVZS80bStxR0R0RmVNSTR1UkZPM2FHOGZpVlJjVDVBdVZNcmhrVkRGKzBqeTRnaDdMTnlsCnlW
c01NQ3hyM0Y0LzV0K2M4WnhwVEhNY0VZOXJnRW9YVFp2aTZNWnducForOFRwbk9HVi8wNXZlZEhM
NnAyS0c0NHozMGZRcWxwTkkKTnRMRmd2a3Yya0JHbTh1eS9NUzAzUDN1ZCsrZTlheG5kWC81bDMr
WkU0QlN6aWJ4WmRpNTEwaG95cnlKK1JnUHA0d3pNSEY3dkdpbgpIVWNpU2hjYmd6S1B0enYrZEZG
bDk3blBmUzRmU1kwREFuRUdNTTRxbG02NzVaZHlocS9ENVM2T3NpeHRHNGF4VS9OMWJsbUkrRmhl
Cnd6TzZ1V0dYMXRkaDNjZnJUSlE5N2orM2ZzL1ZJOG9hZDhPeWQzcmRUeGRzNXJzZWxXM3NlTnpE
ejdFT2gyZlp4ZzM3eGZ0TnR2ZHoKNi91NHZLbDVIc1BOK2U1RVBZYkxUZTEyYmFyZWMvTjlydCtt
THB0TWQ2d0x3MjF4elAvNFhOYVIyQlpFRjc4Qk5YWGFaTnl4Y3g3bApEbi8zeHRNMlhOWmpQWnVi
enpYMVcvcGRpM29NWGVMNmhiZytKczVlYnpKdEVSOTFqMmJkc1U4UTI4L1MxZFN6bEZQV3g1MWUz
MHVkCjRyVmxPWTI0NGJveE4yMDEyOVM1NmF4ZC81Ym1kZFEvbHNQU3hUSlc1bjN0dUVvWlU3L2pt
L3lPeGhtS1dPOWlYeU5hNDBUVDYyak8KUE95bXloOE9NL1Yray9LbllqZXAvMVRzam55ZmRzWVd1
OWUvL3ZYNUxreHBoSDNLNHZxMDA3U0tTVHMyZldweTBqL3hpVS9NZDJSSwp0OTN0MHdLUys2Y0Vv
azhyYmI1VFVtci8xcWNMWWZwMFJMcFBGenoyNmZaMWVaaDBJWFcrSzBjNnZkbW50dnA5T2pYVnAy
eXRUd2xQCm43TEVQbDM0M2Qvc1pqZkw0MHhOVS9MZG45SlpqWHgzcWJteVUzT1RQbDNzMDZkVGRY
MjZmM0dmenF5czduaXhxbng2TXpkY3V0VmIKbjlyUTU3dGxwR3NGOGwyNDBrVmhxN3QwVGJuRUhV
amliaURoa25ZKyt6Qkt5VUtmZG5qelhUaUc0eS92aHc0cCtlaFRVcEdkVW1hYwo3V05jMGFVTlo3
N3JUMWhHbDVLMVBqVUZ5bmMrU1J2Ry9OMjRyUHpsZ1g5cEozZlNPTzY0TVdjYVJienNaUy9yMDFI
L1BEM3BqRUdmCnN2aytYU09VdngrT3A3eWZNNXl6bjVyK3VaZ3l6dklhMHhQTGEveWxheGp5M1Vk
U3dsWjY1OWYwbzVudnJCYkwyTGliaXcvL1dEYlMKV1lVK1hiL1J4M1NtcGlONVhxVm1YS3VpWWht
TzRkSVJvRHllZERGanZ2dE0yaUhJeTBQY25TWHRyUGV4Yk1kcnV0MzBLbmE3NDAvSgpUbDZYWW42
RlFXcHExcC9vUkNmcXk3STBWMzQ2WTlpbjA4TjlPdmlRNjUrT0hQVnB3N21xMjdvMzQrVnVidHN3
anArYnIxUExRaXp2CnFWMTIzaWFrSkRMZjRXMXEyQmpmMVBvYS9jWjFqKytHM2JCL2FzYTN1SDdQ
MVdOWWJyd2ZscjNUNjM1c0gySWJrbTdUUFI3dGxzK3gKblVxM2I4MldxVjF5SCt0Sk91aXlaWmo0
c0RSUDU5YjNjV0ZUODN5VDdlZDI2ckZ1dWFuWnJrM1ZPNlp2YnI3UDlSdmF6SlUvTjkzeApHeHZy
YWJvUXQwKzNJODIvcDJuSEw4L1RkQk9NUHAwVjdWUHpvZnc1dHQxcEozaTJ2c002eGZ1NWNhY0xp
ZnRMWC9yU3VlelVaTE5QCkIrdkc0Zm56Y0ZuZnlmVm83bmN0N3BvVTA1K1M0ejVkZko3dkNKUjJC
dk5kSmtzbDU2YXREQk92c1h5dnUwUGNwdk0yeWhnYTdQVDYKSHVXWGJtNDVtcXJ2dW5WamF0Z1lU
ODAyZGE2Y212VnZibDdIYjlwTzc4UEVkRTc5amtlL3VkL1I2SjhPeVBlcE5VS2ZIdktZMTVITApY
ZTV5ZldwSkVyMVczVno1cTRFbTNzeVZudzdxNTMyVTJFK0o5NmxwZHQ0bmlMc2Rwb094dWNTbCtz
ZStlV3hYWXI4OEpVcjVmYnE1Cno2bzJTLzFYQTY1NUUwZUROK3BTUnRtblUzcHJoNDErcVZsT0g3
Y0JiT25HTXlObHJLdGlVamE3ZWwvekptVzhlZkIwbEtWUGJUc24KUTVlR2k0MVhxYys2dXN5NVRJ
NTBvc2ZZSWNZZHByR3pXdHVOeXhySGwybUs3OWROMTNqNDRlZVV6YTlXb0hSV1o5aHI3ZnNwdzAz
cwp4OU8vRkxPdUFyRWpsYzdTck91VnYwdlhpc3d1STB2eGt3VWY2QkhMU0l3L1hvZGQ3T1RIdkkw
ZmlsaE9wN3J0akQvS1QyMmNwNHJPCjMyK24vSEhCNCtWdTAyM0Qwbnl0V1JmbWhwMWJYOGQxWDVx
MmNmL3g1N2w2akljZGo3c21kcW1zZE9adFBNaTJQaS9OMDZoNzJiN00KYlZ1VzV2bFNKWGVxSG1V
OG0yN1hsdW85TisvbStwVjZMSlcvTk4ybG5FMWZONmxUS1dzbnhqMWUxa3ZaVTY4MTlTdkxYWlMx
YnRtTApBenhUdjZlYlRsdHFsYkcycWpYMUhCdlV4STVIUGk2cjlGOWFqbXJHT1Rkc3VFM3RHNDdy
TmxmT3B1dGZtYjZsZVYyR1cvZGFPNjRvCkk2WnozZTk0S1gvcWR6UzFkc2lEeEhZNERnSk1kVXZs
VDhWdFd2NVVmUGwrcXY2bC8yNjhIaGFGN3NpcEZJVVFJRUNBQUFFQ0JBZ1EKSUVCZ1FXRHhMbGdM
OFhvVElFQ0FBQUVDQkFnUUlMQkRBbkVOVHp5L2JxcUx1d1crNkVVdm11cDl0UGplR1pDanhXeFNT
UUlFQ0JBZwpRSUFBZ1dPQ1FEUk9pcHZWVEhWeDU2eTRlUDNvM0VsQWpzNXpUOTBKRUNCQWdBQUJB
Z1FJSE0wRUZtL0RlelNiSHRVbFFJQUFBUUlFCkNCQWdRR0FmQzJ3ckFZa25oMzduTzkvWnRjbExk
MHpvMGkxT0o4dFBkM25vNGprVW0zYmwzdHViRHI4MFhMVFJpNGMwNm81YUFmTmgKM24rMzE5UDVz
ZXRMZ0FBQkFnUUlFTmdxMEp5QXZQemxMKy9TL2Niemc5VzJGcmt6bjlMOXFMdUxYT1FpK2NFLzYw
cU1oeGJHNCt4dgpkN3ZicmV0OTBIZng4SnJ6bnZlOEIzMi9uUzhlOXJDSDVZY1piYWNNc2RzWE1C
K21EWGQ3UFowZXN6NEVDQkFnUUlBQWdmVUN6UW5JClRXNXlrL3hvK2ZYRmJ2L2I5TkNXN3BhM3ZP
VmtRZkZVNi9SQWwveWs2OG1CQmoxT2VjcFRkdWxoTEt0djR1eEtlbGpUNnZQNHpWTC8KR0Q2ZVR2
NkdON3hoSE9yekxndU01NDM1TUEyKzIrdnA5SmoxSVVDQUFBRUNCQWlzRjZoS1FNYVBERG5PY1k3
VHhaWDR1OVVkOTdqSApYVnQrZW1CTEhtVjZzbmlYbmppKzBlampiRTE2WW1RZU5qMklxTHY1elcv
ZWZlaERIMW9idTlTL0JLVW5YSGRuTzl2WnlzZlY2OWhwCjFlUEFtNlgrNCtGclA2ZUg3TlNHTkE4
L042NnA2Wno2ZnBOS3JKczNVL05oay9MbWh0bE9QZWZLM1lsK05lNjd2Wjd1eFBRb2d3QUIKQWdR
SUVEam1DR3owSEpCWHZ2S1YzWTkvL09QdVp6LzdXZmZHTjc1eHkzVVprUXhFRTVpNEgzSGNsL2pO
YjM1emQ1YXpuQ1VMUnR2egpCenpnQWQzeGpuZTg3bXRmKzFwM3BqT2RxWHY4NHgvZm5lQUVKK2lp
ekh2ZDYxNjUvMTN2ZXRmdUZhOTRSZmZ3aHorOCs4TS8vTVB1Ck9jOTV6dG81a0o1ODJkM25QdmZw
VG52YTAzYnBxWTNkRjc3d2hlNzR4ejkrSGpiT1pqejN1Yy90em5DR00zVG5PdGU1dXNjODVqSDUK
N01qYjMvNzJWWDB1ZTluTDVtR2Y5clNuZFc5NjA1dTY5SlR0WEs5blBldFozWWxPZEtMVk9NZjlv
NW5YUzE3eWtpNDl2ajdYUGZxLworTVV2N3RJVHJMdlh2LzcxM2NjKzlyRWNHL1c3My8zdTE1MzYx
S2Z1UHZ6aEQzZHgxdVdDRjd4Z2Q4bExYcks3OUtVdjNTMzEvLzczCnY1OTlQdldwVDNWaDk1ZC8r
WmZkeFM5KzhlN1RuLzUwbnJiaCtOLzYxcmQyRjczb1JWZDFqamZ2ZmU5N3UwOSs4cE01YVl2NUZC
N1IKN0d6SkpwcnBQUHJSais0T1Avenc3c2xQZm5KTzFOSlR1blB6dG5DTWVUTHVwc1lWdzAwdEwx
UGYxMHozalc5ODR5M3pMcGE5MTc3Mgp0VnZtdzl4eXQyUXhWLyt4d2R4NE5wMW42VW55M2FNZTlh
aTg3a1JNbk5tTFpYd3EvdWMvLy9uYWVieFU3N24xZER4ZFBoTWdRSUFBCkFRSUVkbFVnSGVXZDdk
SVI1ejVkaTdFYTVwNzN2R2VmTHY3T244OS8vdlAzRjdqQUJmcjN2T2M5ZmJvWXZVOW5HUHJiM09Z
MnEyRXYKYzVuTDlHbkhQWC8rMWE5KzFhY2Q1djdxVjcvNnF2OXYvL1p2OTJuSGQvWDVTbGU2VW4r
REc5eGc5ZmtaejNoR241S04xZWVyWGUxcQpmVXBVOHVlb3crbFBmL3IraWxlOFl2Nzh2ZTk5cnov
NzJjK2U2NUNTb1A2YjMveG1mNDV6bktOUEQzSlp4Zi93aHo5Y3ZVODcyMzNhCnVWNTlIcjhaOWs4
SlJwK2FiL1hwbXBQK05hOTVUWC83MjkrKy8vakhQOTdmNFE1MzZFOTFxbE90UXAvNXpHZjI5Nzcz
dmZQbnRBTWYKVDVqdlU4S1Y2eEpmenZWUFI3VDdQL3FqUCtwVGtwZDlZeHdwNGVpUFBQTElmdDM0
di9LVnI2ekdHMjlTczZRK1BOLzN2dmZsN3gveAppRWYwMTd2ZTlmTDdUV3hpWGwzaENsZkl3OGUv
cUUrSlgzMTU0TTNjdUthV2w2bnZXNlo3T0c5KzhJTWZIRFFmNXBhN0pZdXBlbzROCjR2UGNlRGFa
WjFIR1ZhNXlsVHgvNDMxS0h2TXlreExRdGZNOEpieVQ4M2l1M2t2cmFZeGJSNEFBQVFJRUNCRFlL
NEhGOWtzLytjbFAKdXM5KzlyUGQyOTcydHB3SXhaTVpVK1ZXU1ZGS0tMb2pqamdpbjNtSUkrWGxy
bFR2ZU1jNzhsbUFPR0lkWFRRRHVmV3RiOTI5NVMxdgpXWjB4aURNaHd5WmNKenpoQ2JkOFhvMGt2
VWs3L0xrT1Y3N3lsZlBYMGZUcXFsZTk2bXFRYUdKMTFyT2V0VHZmK2M3WFJaM09mT1l6CmQ1ZS8v
T1c3TDMvNXk2dGhVckt3ZWg5dmh1UGUwdVBBaDlJL3prSkU4NjA0czVKMnl2TVptcmhHSmNZMXRI
anBTMS9hUlhPZzZPTE0KUTV5eGlDN3FFdDFjLzFlOTZsVzVyR2dXRm5hbk85M3B1cFF3ZFIvODRB
ZnpXWkR4K01kTnY4TDN1dGU5YnBjU3dqeXVxRWRjZUIvZApKallwc2N4blVMN3hqVy9rbURpRGt4
S2kvSDc4YjI1Y1U4dkwxUGV0MDEzbVRSZ1A1OFBTY3Jka01WWFBzY0hTZU5ZdE0rTjVscExGCjdq
T2YrVXdYeTFKMEY3N3doZk95RmN2THV2aHpuL3Zjay9ONHFkNVQ2K2w0dW53bVFJQUFBUUlFQ095
MndHSUNFanZ0c1dON2pXdGMKbzd2em5lL2NwYVBQM2JHT2RheFZ2Y3FPWUh3UkYzbEhzNVRvUHZH
SlQrUWQ4TmhaTFYxcE1oUTdYYlhkKzkvLy9wd0VuUHprSjErRgpudmpFSjk2U1JFUmRodlU1eVVs
TzB2M3lsNzljRFQ5K014eDIzQzgrRC90SHNsUVNpakxzdXZHVjVsZ3hURFFWS3p1WDhUbnFNOVUv
CnZvK2tJYTU3aWI5TFhlcFMzYnZmL2U2OFV4cXg2OFlmMzVjdTZwTE9HSFd4SXhyTjNEN3dnUTkw
MFZ5bmRPdnFPclNKK1h2R001NngKZTk3em5wZERJbEdNWkd0ZE56ZXVxZVZsNnZ2VzZZNDZsRzQ0
Ylpzc2Q4UGhvNHpoY2pKVnp6S3U4cnJKZUpibVdTU1gwVHh2T0MzcAp6TmNxaVIzSHgzQlQ4M2lw
M3NOeEROZlRNajFlQ1JBZ1FJQUFBUUo3SmJEUk5TQnhqVUJxN3RROS9lbFB6MjNUMy9uT2QrWTI2
M09WCmpPc2RmdlNqSCtXRUpCS0Y2T0pJZFZ3NC9vdGYvR0l1ZEcyL2VJWkhsRGZ1aGp0VzQzNTcv
VG5PSXNTZHUrTDZpYmp1SmM3b2xPdE8Kb2k1ei9XUGF3aVkxZzJxdWRsenpFV2N1WHZqQ0YzYlBm
Lzd6Y3hLNGFXR1JWTjd4am5mczR2cVdZUVlRTmdBQUlBQkpSRUZVUno3eQprVjFjbXpCTTlzYmx6
STFyYW5sWjkvMU9UUGV3Ymp1eDNLMnJaMXpmTk94MllqeHg3VXRjUjFUVHRialhsRzlZQWdRSUVD
QkFnTUJ1CkN5eWVBVWx0NXJ2VXpyNTc2bE9mbXBzR3hjNTFYREMrMUVXVG9YaFFZRHl2bzNSUlR0
eTlKNW95bGE3YzBhcDhubnFOQkNpYUpLVnIKSDZZR3FmNStLWGxaNmo4ZVlUUUppeVpxMFR3bkxn
YVBDNTZIM1Z6L3VIQS96bmdNejBwRTg2NDQ4N05KOThVdmZyRzcwNTN1MUQzcApTVS9hK05iRTQz
TFQ5VHY1RE1xREh2U2dmTkg4dUgvNVBEZXVxZVZsNnZ2VzZaNmFONXN1ZDJWYXhxOVQ5UndQdDkz
eFJIblIxQ29lClpCazNhQ2hkelBPcE00UXQ3cVZjcndRSUVDQkFnQUNCL1NLd21JREVVNmJqN2tY
UnBZdkV1MnRkNjFwZE9hTVJSNEhqcjNSeDFEeisKb2tzWGsrZnJRbUtudW5TeFV4NDdidW5DMi94
Vm5CR0pCdzZtQzlUelhhMWlSeXpHVjdyNFBsMWNtei9lNkVZM3ltY0lobmZJaXV0Tgo0Z2g2SkRy
UnhmRERoQ2JxVnZybEFRYi80dWgrZVRKNnV0QjcwT2YvM283N1IrSlVwcTBNSE9YSGQrVTZrRGh6
a0M2RTcrNTJ0N3QxCjhmeUZhRUl6N09iNjMvU21OKzNpaUhnMHdZbjZSTElXejdjbzF3MnNHLyt3
N0xqZUk2WTlkbEpqbXFNSlZpUXpVYmY0MjhRbW12SEUKTlR2UkRDdWFaRTExYytPSytiRnVlWmxh
amxxbWV6eHZodk5oaytWdXptS3FubU9MVGNhek5NOWltWTY3dU4zcVZyZksxK3VFYTl4RgpMWnJD
UlRlT2IzR1Bjc0luL2tvM1hFL2p1M2l1U3R6dHJLd1BaVGl2QkFnUUlFQ0FBSUZkRVVnN3A3TmQz
SGtuWGR6ZHA2WWZmYnExCmE1K09zdmR4eDUyNEcxUzZFTHhQRjhiMjZZaHRuMjRiMnFjekczMXFS
dFNuVzl6bU11Tzc2UC9FSno2eFR4ZXg5Mm5udGs4N1VhdngKcFZ1NTl1bTZoLzUzZnVkMyt2dmU5
Nzc1YmticGd2WjhKNmVVbVBUcG90eTQycjFQdDhuTmQzbDYyY3RlMXFmMituazhON3poRGZ1MApr
OXluTnZSOWZKOTJ1UHUwWTVydmpKV3VLK2pUaGZQOTcvN3U3L2FwS1ZUL3JuZTlhelhPOGlZZDVl
L1RVZlErWFJqZnB4My84dlhxCmRkZy94cDl1MDl1bkM4UDd0SE9kaDRuNlhlSVNsOGoxUzJlSGN2
M3VjWTk3NU05UjU5U2txVThYUEdldnVHdFVkRXY5bi8zc1orZjYKUnIzaURsanBGcjg1THFadlBQ
N2NZL0F2Tld2TGQrbEt5V0dmZG1qN2RKdmVQalVCNjI5MnM1dmx1NVJ0YWhPT0tYa2FsSHp3Mjds
eAp4Ykt3Ym5tWldvNmk5TnJwSHM2YmRKdmxnK2JEM0hLM3RKek0xWE1zTVRlZVRlWlpsQmZ6T09a
MUxEUHBqRWlmbXREbDBheUxiM0hmClpEMU5TV3RlRjlLdHBjZVQ2RE1CQWdRSUVDQkFZTWNGRG9z
UzV6S2JPS29lZDV5S2k1dmpndkxoOHpMbTRrcS9LRDZldHhGbHhGMnEKeGwwY2pZNGo5bkcySU01
MkRDOWFIdzhibjJQWU9FTVFSK3ZqQ0g5NURzaTZZWmUraTZQMVVjNVV0OVIvSFBmWXh6NjJ1Lzcx
cjUvcgpGUmVBaDFuYzVTa2xBZm5hanFYK1VWNTRwRnNhNStZNWNVMUliUmRIdDh1WmwwMDh4K1hI
MlkvRDA0MEc0bXpYVXJkdVhGUEx5OVQzClpSeTEwNzAwYjVhV3V6TGU4ZXRTUGNmRHQ0NW5XRTZV
RVdlODRnNWRtM1ExN3B1VUY4TkU4OGJ4VFJZMmpUVWNBUUlFQ0JBZ1FLQkcKWURFQnFTbnNtRHhz
N0xoSHNwR2VpYktGSVM3WWo4UXJicms2MXorZHJka1N0OWNmSW1HS0MrZWpTVlRVYytvYWk3MnVs
L0VSSUVDQQpBQUVDQkFnY1dnTDFoOWdQcmVuZnNhbEp6Ykh5dFI5eGJVQTh6eUdPVXNjMUhmSDho
VWd1NG5OY0d6TFZmOGNxMGxCUVBBbitMbmU1ClM1Y2VaTmk5NEFVdmtIdzBHQW9oUUlBQUFRSUVD
QkRZVE1BWmtNMmNOaHJxcHovOWFYNXdZTnhKS1I3S09ENnJzZFIvbzVIc3drQS8KL3ZHUDg0WGpj
WU9CdU51WWpnQUJBZ1FJRUNCQWdNQnVDVWhBZGt0V3VRUUlFQ0JBZ0FBQkFnUUlIQ1N3ZUJ2ZWd5
SjhRWUFBQVFJRQpDQkFnUUlBQWdVWUJDVWdqbkRBQ0JBZ1FJRUNBQUFFQ0JPb0ZKQ0QxWmlJSUVD
QkFnQUFCQWdRSUVHZ1VrSUEwd2dralFJQUFBUUlFCkNCQWdRS0JlUUFKU2J5YUNBQUVDQkFnUUlF
Q0FBSUZHQVFsSUk1d3dBZ1FJRUNCQWdBQUJBZ1RxQlNRZzlXWWlDQkFnUUlBQUFRSUUKQ0JCb0ZK
Q0FOTUlKSTBDQUFBRUNCQWdRSUVDZ1hrQUNVbThtZ2dBQkFnUUlFQ0JBZ0FDQlJnRUpTQ09jTUFJ
RUNCQWdRSUFBQVFJRQo2Z1VrSVBWbUlnZ1FJRUNBQUFFQ0JBZ1FhQlNRZ0RUQ0NTTkFnQUFCQWdR
SUVDQkFvRjVBQWxKdkpvSUFBUUlFQ0JBZ1FJQUFnVVlCCkNVZ2puREFDQkFnUUlFQ0FBQUVDQk9v
RkpDRDFaaUlJRUNCQWdBQUJBZ1FJRUdnVWtJQTB3Z2tqUUlBQUFRSUVDQkFnUUtCZVFBSlMKYnlh
Q0FBRUNCQWdRSUVDQUFJRkdBUWxJSTV3d0FnUUlFQ0JBZ0FBQkFnVHFCU1FnOVdZaUNCQWdRSUFB
QVFJRUNCQm9GSkNBTk1JSgpJMENBQUFFQ0JBZ1FJRUNnWGtBQ1VtOG1nZ0FCQWdRSUVDQkFnQUNC
UmdFSlNDT2NNQUlFQ0JBZ1FJQUFBUUlFNmdVa0lQVm1JZ2dRCklFQ0FBQUVDQkFnUWFCU1FnRFRD
Q1NOQWdBQUJBZ1FJRUNCQW9GNUFBbEp2Sm9JQUFRSUVDQkFnUUlBQWdVWUJDVWdqbkRBQ0JBZ1EK
SUVDQUFBRUNCT29GSkNEMVppSUlFQ0JBZ0FBQkFnUUlFR2dVa0lBMHdna2pRSUFBQVFJRUNCQWdR
S0JlUUFKU2J5YUNBQUVDQkFnUQpJRUNBQUlGR0FRbElJNXd3QWdRSUVDQkFnQUFCQWdUcUJTUWc5
V1lpQ0JBZ1FJQUFBUUlFQ0JCb0ZKQ0FOTUlKSTBDQUFBRUNCQWdRCklFQ2dYa0FDVW04bWdnQUJB
Z1FJRUNCQWdBQ0JSZ0VKU0NPY01BSUVDQkFnUUlBQUFRSUU2Z1VrSVBWbUlnZ1FJRUNBQUFFQ0JB
Z1EKYUJTUWdEVENDU05BZ0FBQkFnUUlFQ0JBb0Y1QUFsSnZKb0lBQVFJRUNCQWdRSUFBZ1VZQkNV
Z2puREFDQkFnUUlFQ0FBQUVDQk9vRgpKQ0QxWmlJSUVDQkFnQUFCQWdRSUVHZ1VrSUEwd2dralFJ
QUFBUUlFQ0JBZ1FLQmVRQUpTYnlhQ0FBRUNCQWdRSUVDQUFJRkdBUWxJCkk1d3dBZ1FJRUNCQWdB
QUJBZ1RxQlNRZzlXWWlDQkFnUUlBQUFRSUVDQkJvRkpDQU5NSUpJMENBQUFFQ0JBZ1FJRUNnWGtB
Q1VtOG0KZ2dBQkFnUUlFQ0JBZ0FDQlJnRUpTQ09jTUFJRUNCQWdRSUFBQVFJRTZnVWtJUFZtSWdn
UUlFQ0FBQUVDQkFnUWFCU1FnRFRDQ1NOQQpnQUFCQWdRSUVDQkFvRjVBQWxKdkpvSUFBUUlFQ0JB
Z1FJQUFnVVlCQ1Vnam5EQUNCQWdRSUVDQUFBRUNCT29GSkNEMVppSUlFQ0JBCmdBQUJBZ1FJRUdn
VWtJQTB3Z2tqUUlBQUFRSUVDQkFnUUtCZVFBSlNieWFDQUFFQ0JBZ1FJRUNBQUlGR0FRbElJNXd3
QWdRSUVDQkEKZ0FBQkFnVHFCU1FnOVdZaUNCQWdRSUFBQVFJRUNCQm9GSkNBTk1JSkkwQ0FBQUVD
QkFnUUlFQ2dYa0FDVW04bWdnQUJBZ1FJRUNCQQpnQUNCUmdFSlNDT2NNQUlFQ0JBZ1FJQUFBUUlF
NmdVa0lQVm1JZ2dRSUVDQUFBRUNCQWdRYUJTUWdEVENDU05BZ0FBQkFnUUlFQ0JBCm9GNUFBbEp2
Sm9JQUFRSUVDQkFnUUlBQWdVWUJDVWdqbkRBQ0JBZ1FJRUNBQUFFQ0JPb0ZKQ0QxWmlJSUVDQkFn
QUFCQWdRSUVHZ1UKa0lBMHdna2pRSUFBQVFJRUNCQWdRS0JlUUFKU2J5YUNBQUVDQkFnUUlFQ0FB
SUZHQVFsSUk1d3dBZ1FJRUNCQWdBQUJBZ1RxQlNRZwo5V1lpQ0JBZ1FJQUFBUUlFQ0JCb0ZKQ0FO
TUlKSTBDQUFBRUNCQWdRSUVDZ1hrQUNVbThtZ2dBQkFnUUlFQ0JBZ0FDQlJnRUpTQ09jCk1BSUVD
QkFnUUlBQUFRSUU2Z1VrSVBWbUlnZ1FJRUNBQUFFQ0JBZ1FhQlNRZ0RUQ0NTTkFnQUFCQWdRSUVD
QkFvRjVBQWxKdkpvSUEKQVFJRUNCQWdRSUFBZ1VZQkNVZ2puREFDQkFnUUlFQ0FBQUVDQk9vRkpD
RDFaaUlJRUNCQWdBQUJBZ1FJRUdnVWtJQTB3Z2tqUUlBQQpBUUlFQ0JBZ1FLQmVRQUpTYnlhQ0FB
RUNCQWdRSUVDQUFJRkdBUWxJSTV3d0FnUUlFQ0JBZ0FBQkFnVHFCU1FnOVdZaUNCQWdRSUFBCkFR
SUVDQkJvRkpDQU5NSUpJMENBQUFFQ0JBZ1FJRUNnWGtBQ1VtOG1nZ0FCQWdRSUVDQkFnQUNCUmdF
SlNDT2NNQUlFQ0JBZ1FJQUEKQVFJRTZnVWtJUFZtSWdnUUlFQ0FBQUVDQkFnUWFCU1FnRFRDQ1NO
QWdBQUJBZ1FJRUNCQW9GNUFBbEp2Sm9JQUFRSUVDQkFnUUlBQQpnVVlCQ1Vnam5EQUNCQWdRSUVD
QUFBRUNCT29GSkNEMVppSUlFQ0JBZ0FBQkFnUUlFR2dVa0lBMHdna2pRSUFBQVFJRUNCQWdRS0Jl
ClFBSlNieWFDQUFFQ0JBZ1FJRUNBQUlGR0FRbElJNXd3QWdRSUVDQkFnQUFCQWdUcUJTUWc5V1lp
Q0JBZ1FJQUFBUUlFQ0JCb0ZKQ0EKTk1JSkkwQ0FBQUVDQkFnUUlFQ2dYa0FDVW04bWdnQUJBZ1FJ
RUNCQWdBQ0JSZ0VKU0NPY01BSUVDQkFnUUlBQUFRSUU2Z1VrSVBWbQpJZ2dRSUVDQUFBRUNCQWdR
YUJTUWdEVENDU05BZ0FBQkFnUUlFQ0JBb0Y1QUFsSnZKb0lBQVFJRUNCQWdRSUFBZ1VZQkNVZ2pu
REFDCkJBZ1FJRUNBQUFFQ0JPb0ZKQ0QxWmlJSUVDQkFnQUFCQWdRSUVHZ1VrSUEwd2dralFJQUFB
UUlFQ0JBZ1FLQmVRQUpTYnlhQ0FBRUMKQkFnUUlFQ0FBSUZHQVFsSUk1d3dBZ1FJRUNCQWdBQUJB
Z1RxQlNRZzlXWWlDQkFnUUlBQUFRSUVDQkJvRkpDQU5NSUpJMENBQUFFQwpCQWdRSUVDZ1hrQUNV
bThtZ2dBQkFnUUlFQ0JBZ0FDQlJnRUpTQ09jTUFJRUNCQWdRSUFBQVFJRTZnVWtJUFZtSWdnUUlF
Q0FBQUVDCkJBZ1FhQlNRZ0RUQ0NTTkFnQUFCQWdRSUVDQkFvRjVBQWxKdkpvSUFBUUlFQ0JBZ1FJ
QUFnVVlCQ1Vnam5EQUNCQWdRSUVDQUFBRUMKQk9vRkpDRDFaaUlJRUNCQWdBQUJBZ1FJRUdnVWtJ
QTB3Z2tqUUlBQUFRSUVDQkFnUUtCZVFBSlNieWFDQUFFQ0JBZ1FJRUNBQUlGRwpBUWxJSTV3d0Fn
UUlFQ0JBZ0FBQkFnVHFCU1FnOVdZaUNCQWdRSUFBQVFJRUNCQm9GSkNBTk1JSkkwQ0FBQUVDQkFn
UUlFQ2dYa0FDClVtOG1nZ0FCQWdRSUVDQkFnQUNCUmdFSlNDT2NNQUlFQ0JBZ1FJQUFBUUlFNmdV
a0lQVm1JZ2dRSUVDQUFBRUNCQWdRYUJTUWdEVEMKQ1NOQWdBQUJBZ1FJRUNCQW9GNUFBbEp2Sm9J
QUFRSUVDQkFnUUlBQWdVWUJDVWdqbkRBQ0JBZ1FJRUNBQUFFQ0JPb0ZKQ0QxWmlJSQpFQ0JBZ0FB
QkFnUUlFR2dVa0lBMHdna2pRSUFBQVFJRUNCQWdRS0JlUUFKU2J5YUNBQUVDQkFnUUlFQ0FBSUZH
QVFsSUk1d3dBZ1FJCkVDQkFnQUFCQWdUcUJTUWc5V1lpQ0JBZ1FJQUFBUUlFQ0JCb0ZKQ0FOTUlK
STBDQUFBRUNCQWdRSUVDZ1hrQUNVbThtZ2dBQkFnUUkKRUNCQWdBQ0JSZ0VKU0NPY01BSUVDQkFn
UUlBQUFRSUU2Z1VrSVBWbUlnZ1FJRUNBQUFFQ0JBZ1FhQlNRZ0RUQ0NTTkFnQUFCQWdRSQpFQ0JB
b0Y1QUFsSnZKb0lBQVFJRUNCQWdRSUFBZ1VZQkNVZ2puREFDQkFnUUlFQ0FBQUVDQk9vRkpDRDFa
aUlJRUNCQWdBQUJBZ1FJCkVHZ1VrSUEwd2dralFJQUFBUUlFQ0JBZ1FLQmVRQUpTYnlhQ0FBRUNC
QWdRSUVDQUFJRkdBUWxJSTV3d0FnUUlFQ0JBZ0FBQkFnVHEKQlNRZzlXWWlDQkFnUUlBQUFRSUVD
QkJvRkpDQU5NSUpJMENBQUFFQ0JBZ1FJRUNnWGtBQ1VtOG1nZ0FCQWdRSUVDQkFnQUNCUmdFSgpT
Q09jTUFJRUNCQWdRSUFBQVFJRTZnVWtJUFZtSWdnUUlFQ0FBQUVDQkFnUWFCU1FnRFRDQ1NOQWdB
QUJBZ1FJRUNCQW9GNUFBbEp2CkpvSUFBUUlFQ0JBZ1FJQUFnVVlCQ1Vnam5EQUNCQWdRSUVDQUFB
RUNCT29GSkNEMVppSUlFQ0JBZ0FBQkFnUUlFR2dVa0lBMHdna2oKUUlBQUFRSUVDQkFnUUtCZVFB
SlNieWFDQUFFQ0JBZ1FJRUNBQUlGR0FRbElJNXd3QWdRSUVDQkFnQUFCQWdUcUJTUWc5V1lpQ0JB
ZwpRSUFBQVFJRUNCQm9GSkNBTk1JSkkwQ0FBQUVDQkFnUUlFQ2dYa0FDVW04bWdnQUJBZ1FJRUNC
QWdBQ0JSZ0VKU0NPY01BSUVDQkFnClFJQUFBUUlFNmdVa0lQVm1JZ2dRSUVDQUFBRUNCQWdRYUJT
UWdEVENDU05BZ0FBQkFnUUlFQ0JBb0Y1QUFsSnZKb0lBQVFJRUNCQWcKUUlBQWdVWUJDVWdqbkRB
Q0JBZ1FJRUNBQUFFQ0JPb0ZKQ0QxWmlJSUVDQkFnQUFCQWdRSUVHZ1VrSUEwd2dralFJQUFBUUlF
Q0JBZwpRS0JlUUFKU2J5YUNBQUVDQkFnUUlFQ0FBSUZHQVFsSUk1d3dBZ1FJRUNCQWdBQUJBZ1Rx
QlNRZzlXWWlDQkFnUUlBQUFRSUVDQkJvCkZKQ0FOTUlKSTBDQUFBRUNCQWdRSUVDZ1hrQUNVbTht
Z2dBQkFnUUlFQ0JBZ0FDQlJnRUpTQ09jTUFJRUNCQWdRSUFBQVFJRTZnVWsKSVBWbUlnZ1FJRUNB
QUFFQ0JBZ1FhQlNRZ0RUQ0NTTkFnQUFCQWdRSUVDQkFvRjVBQWxKdkpvSUFBUUlFQ0JBZ1FJQUFn
VVlCQ1VnagpuREFDQkFnUUlFQ0FBQUVDQk9vRkpDRDFaaUlJRUNCQWdBQUJBZ1FJRUdnVWtJQTB3
Z2tqUUlBQUFRSUVDQkFnUUtCZVFBSlNieWFDCkFBRUNCQWdRSUVDQUFJRkdBUWxJSTV3d0FnUUlF
Q0JBZ0FBQkFnVHFCU1FnOVdZaUNCQWdRSUFBQVFJRUNCQm9GSkNBTk1JSkkwQ0EKQUFFQ0JBZ1FJ
RUNnWGtBQ1VtOG1nZ0FCQWdRSUVDQkFnQUNCUmdFSlNDT2NNQUlFQ0JBZ1FJQUFBUUlFNmdVa0lQ
Vm1JZ2dRSUVDQQpBQUVDQkFnUWFCU1FnRFRDQ1NOQWdBQUJBZ1FJRUNCQW9GNUFBbEp2Sm9JQUFR
SUVDQkFnUUlBQWdVWUJDVWdqbkRBQ0JBZ1FJRUNBCkFBRUNCT29GSkNEMVppSUlFQ0JBZ0FBQkFn
UUlFR2dVa0lBMHdna2pRSUFBQVFJRUNCQWdRS0JlUUFKU2J5YUNBQUVDQkFnUUlFQ0EKQUlGR0FR
bElJNXd3QWdRSUVDQkFnQUFCQWdUcUJTUWc5V1lpQ0JBZ1FJQUFBUUlFQ0JCb0ZKQ0FOTUlKSTBD
QUFBRUNCQWdRSUVDZwpYa0FDVW04bWdnQUJBZ1FJRUNCQWdBQ0JSZ0VKU0NPY01BSUVDQkFnUUlB
QUFRSUU2Z1VrSVBWbUlnZ1FJRUNBQUFFQ0JBZ1FhQlNRCmdEVENDU05BZ0FBQkFnUUlFQ0JBb0Y1
QUFsSnZKb0lBQVFJRUNCQWdRSUFBZ1VZQkNVZ2puREFDQkFnUUlFQ0FBQUVDQk9vRkpDRDEKWmlJ
SUVDQkFnQUFCQWdRSUVHZ1VrSUEwd2dralFJQUFBUUlFQ0JBZ1FLQmVRQUpTYnlhQ0FBRUNCQWdR
SUVDQUFJRkdBUWxJSTV3dwpBZ1FJRUNCQWdBQUJBZ1RxQlNRZzlXWWlDQkFnUUlBQUFRSUVDQkJv
RkpDQU5NSUpJMENBQUFFQ0JBZ1FJRUNnWGtBQ1VtOG1nZ0FCCkFnUUlFQ0JBZ0FDQlJnRUpTQ09j
TUFJRUNCQWdRSUFBQVFJRTZnVWtJUFZtSWdnUUlFQ0FBQUVDQkFnUWFCU1FnRFRDQ1NOQWdBQUIK
QWdRSUVDQkFvRjVBQWxKdkpvSUFBUUlFQ0JBZ1FJQUFnVVlCQ1Vnam5EQUNCQWdRSUVDQUFBRUNC
T29GSkNEMVppSUlFQ0JBZ0FBQgpBZ1FJRUdnVWtJQTB3Z2tqUUlBQUFRSUVDQkFnUUtCZVFBSlNi
eWFDQUFFQ0JBZ1FJRUNBQUlGR0FRbElJNXd3QWdRSUVDQkFnQUFCCkFnVHFCU1FnOVdZaUNCQWdR
SUFBQVFJRUNCQm9GSkNBTk1JSkkwQ0FBQUVDQkFnUUlFQ2dYa0FDVW04bWdnQUJBZ1FJRUNCQWdB
Q0IKUmdFSlNDT2NNQUlFQ0JBZ1FJQUFBUUlFNmdVa0lQVm1JZ2dRSUVDQUFBRUNCQWdRYUJTUWdE
VENDU05BZ0FBQkFnUUlFQ0JBb0Y1QQpBbEp2Sm9JQUFRSUVDQkFnUUlBQWdVWUJDVWdqbkRBQ0JB
Z1FJRUNBQUFFQ0JPb0ZKQ0QxWmlJSUVDQkFnQUFCQWdRSUVHZ1VrSUEwCndna2pRSUFBQVFJRUNC
QWdRS0JlUUFKU2J5YUNBQUVDQkFnUUlFQ0FBSUZHQVFsSUk1d3dBZ1FJRUNCQWdBQUJBZ1RxQlNR
ZzlXWWkKQ0JBZ1FJQUFBUUlFQ0JCb0ZKQ0FOTUlKSTBDQUFBRUNCQWdRSUVDZ1hrQUNVbThtZ2dB
QkFnUUlFQ0JBZ0FDQlJnRUpTQ09jTUFJRQpDQkFnUUlBQUFRSUU2Z1VrSVBWbUlnZ1FJRUNBQUFF
Q0JBZ1FhQlNRZ0RUQ0NTTkFnQUFCQWdRSUVDQkFvRjVBQWxKdkpvSUFBUUlFCkNCQWdRSUFBZ1VZ
QkNVZ2puREFDQkFnUUlFQ0FBQUVDQk9vRkpDRDFaaUlJRUNCQWdBQUJBZ1FJRUdnVWtJQTB3Z2tq
UUlBQUFRSUUKQ0JBZ1FLQmVRQUpTYnlhQ0FBRUNCQWdRSUVDQUFJRkdBUWxJSTV3d0FnUUlFQ0JB
Z0FBQkFnVHFCU1FnOVdZaUNCQWdRSUFBQVFJRQpDQkJvRkpDQU5NSUpJMENBQUFFQ0JBZ1FJRUNn
WGtBQ1VtOG1nZ0FCQWdRSUVDQkFnQUNCUmdFSlNDT2NNQUlFQ0JBZ1FJQUFBUUlFCjZnVWtJUFZt
SWdnUUlFQ0FBQUVDQkFnUWFCU1FnRFRDQ1NOQWdBQUJBZ1FJRUNCQW9GNUFBbEp2Sm9JQUFRSUVD
QkFnUUlBQWdVWUIKQ1Vnam5EQUNCQWdRSUVDQUFBRUNCT29GSkNEMVppSUlFQ0JBZ0FBQkFnUUlF
R2dVa0lBMHdna2pRSUFBQVFJRUNCQWdRS0JlUUFKUwpieWFDQUFFQ0JBZ1FJRUNBQUlGR0FRbElJ
NXd3QWdRSUVDQkFnQUFCQWdUcUJTUWc5V1lpQ0JBZ1FJQUFBUUlFQ0JCb0ZKQ0FOTUlKCkkwQ0FB
QUVDQkFnUUlFQ2dYa0FDVW04bWdnQUJBZ1FJRUNCQWdBQ0JSZ0VKU0NPY01BSUVDQkFnUUlBQUFR
SUU2Z1VrSVBWbUlnZ1EKSUVDQUFBRUNCQWdRYUJTUWdEVENDU05BZ0FBQkFnUUlFQ0JBb0Y1QUFs
SnZKb0lBQVFJRUNCQWdRSUFBZ1VZQkNVZ2puREFDQkFnUQpJRUNBQUFFQ0JPb0ZKQ0QxWmlJSUVD
QkFnQUFCQWdRSUVHZ1VrSUEwd2dralFJQUFBUUlFQ0JBZ1FLQmVRQUpTYnlhQ0FBRUNCQWdRCklF
Q0FBSUZHQVFsSUk1d3dBZ1FJRUNCQWdBQUJBZ1RxQlNRZzlXWWlDQkFnUUlBQUFRSUVDQkJvRkpD
QU5NSUpJMENBQUFFQ0JBZ1EKSUVDZ1hrQUNVbThtZ2dBQkFnUUlFQ0JBZ0FDQlJnRUpTQ09jTUFJ
RUNCQWdRSUFBQVFJRTZnVWtJUFZtSWdnUUlFQ0FBQUVDQkFnUQphQlNRZ0RUQ0NTTkFnQUFCQWdR
SUVDQkFvRjVBQWxKdkpvSUFBUUlFQ0JBZ1FJQUFnVVlCQ1Vnam5EQUNCQWdRSUVDQUFBRUNCT29G
CkpDRDFaaUlJRUNCQWdBQUJBZ1FJRUdnVWtJQTB3Z2tqUUlBQUFRSUVDQkFnUUtCZVFBSlNieWFD
QUFFQ0JBZ1FJRUNBQUlGR0FRbEkKSTV3d0FnUUlFQ0JBZ0FBQkFnVHFCU1FnOVdZaUNCQWdRSUFB
QVFJRUNCQm9GSkNBTk1JSkkwQ0FBQUVDQkFnUUlFQ2dYa0FDVW04bQpnZ0FCQWdRSUVDQkFnQUNC
UmdFSlNDT2NNQUlFQ0JBZ1FJQUFBUUlFNmdVa0lQVm1JZ2dRSUVDQUFBRUNCQWdRYUJTUWdEVEND
U05BCmdBQUJBZ1FJRUNCQW9GNUFBbEp2Sm9JQUFRSUVDQkFnUUlBQWdVWUJDVWdqbkRBQ0JBZ1FJ
RUNBQUFFQ0JPb0ZKQ0QxWmlJSUVDQkEKZ0FBQkFnUUlFR2dVa0lBMHdna2pRSUFBQVFJRUNCQWdR
S0JlUUFKU2J5YUNBQUVDQkFnUUlFQ0FBSUZHQVFsSUk1d3dBZ1FJRUNCQQpnQUFCQWdUcUJTUWc5
V1lpQ0JBZ1FJQUFBUUlFQ0JCb0ZKQ0FOTUlKSTBDQUFBRUNCQWdRSUVDZ1hrQUNVbThtZ2dBQkFn
UUlFQ0JBCmdBQ0JSZ0VKU0NPY01BSUVDQkFnUUlBQUFRSUU2Z1VrSVBWbUlnZ1FJRUNBQUFFQ0JB
Z1FhQlNRZ0RUQ0NTTkFnQUFCQWdRSUVDQkEKb0Y1QUFsSnZKb0lBQVFJRUNCQWdRSUFBZ1VZQkNV
Z2puREFDQkFnUUlFQ0FBQUVDQk9vRkpDRDFaaUlJRUNCQWdBQUJBZ1FJRUdnVQprSUEwd2dralFJ
QUFBUUlFQ0JBZ1FLQmVRQUpTYnlhQ0FBRUNCQWdRSUVDQUFJRkdBUWxJSTV3d0FnUUlFQ0JBZ0FB
QkFnVHFCU1FnCjlXWWlDQkFnUUlBQUFRSUVDQkJvRkpDQU5NSUpJMENBQUFFQ0JBZ1FJRUNnWGtB
Q1VtOG1nZ0FCQWdRSUVDQkFnQUNCUmdFSlNDT2MKTUFJRUNCQWdRSUFBQVFJRTZnVWtJUFZtSWdn
UUlFQ0FBQUVDQkFnUWFCU1FnRFRDQ1NOQWdBQUJBZ1FJRUNCQW9GNUFBbEp2Sm9JQQpBUUlFQ0JB
Z1FJQUFnVVlCQ1Vnam5EQUNCQWdRSUVDQUFBRUNCT29GSkNEMVppSUlFQ0JBZ0FBQkFnUUlFR2dV
a0lBMHdna2pRSUFBCkFRSUVDQkFnUUtCZVFBSlNieWFDQUFFQ0JBZ1FJRUNBQUlGR0FRbElJNXd3
QWdRSUVDQkFnQUFCQWdUcUJTUWc5V1lpQ0JBZ1FJQUEKQVFJRUNCQm9GSkNBTk1JSkkwQ0FBQUVD
QkFnUUlFQ2dYa0FDVW04bWdnQUJBZ1FJRUNCQWdBQ0JSZ0VKU0NPY01BSUVDQkFnUUlBQQpBUUlF
NmdVa0lQVm1JZ2dRSUVDQUFBRUNCQWdRYUJTUWdEVENDU05BZ0FBQkFnUUlFQ0JBb0Y1QUFsSnZK
b0lBQVFJRUNCQWdRSUFBCmdVWUJDVWdqbkRBQ0JBZ1FJRUNBQUFFQ0JPb0ZKQ0QxWmlJSUVDQkFn
QUFCQWdRSUVHZ1VrSUEwd2dralFJQUFBUUlFQ0JBZ1FLQmUKUUFKU2J5YUNBQUVDQkFnUUlFQ0FB
SUZHQVFsSUk1d3dBZ1FJRUNCQWdBQUJBZ1RxQlNRZzlXWWlDQkFnUUlBQUFRSUVDQkJvRkpDQQpO
TUlKSTBDQUFBRUNCQWdRSUVDZ1hrQUNVbThtZ2dBQkFnUUlFQ0JBZ0FDQlJnRUpTQ09jTUFJRUNC
QWdRSUFBQVFJRTZnVWtJUFZtCklnZ1FJRUNBQUFFQ0JBZ1FhQlNRZ0RUQ0NTTkFnQUFCQWdRSUVD
QkFvRjVBQWxKdkpvSUFBUUlFQ0JBZ1FJQUFnVVlCQ1Vnam5EQUMKQkFnUUlFQ0FBQUVDQk9vRkpD
RDFaaUlJRUNCQWdBQUJBZ1FJRUdnVWtJQTB3Z2tqUUlBQUFRSUVDQkFnUUtCZVFBSlNieWFDQUFF
QwpCQWdRSUVDQUFJRkdBUWxJSTV3d0FnUUlFQ0JBZ0FBQkFnVHFCU1FnOVdZaUNCQWdRSUFBQVFJ
RUNCQm9GSkNBTk1JSkkwQ0FBQUVDCkJBZ1FJRUNnWGtBQ1VtOG1nZ0FCQWdRSUVDQkFnQUNCUmdF
SlNDT2NNQUlFQ0JBZ1FJQUFBUUlFNmdVa0lQVm1JZ2dRSUVDQUFBRUMKQkFnUWFCU1FnRFRDQ1NO
QWdBQUJBZ1FJRUNCQW9GNUFBbEp2Sm9JQUFRSUVDQkFnUUlBQWdVWUJDVWdqbkRBQ0JBZ1FJRUNB
QUFFQwpCT29GSkNEMVppSUlFQ0JBZ0FBQkFnUUlFR2dVa0lBMHdna2pRSUFBQVFJRUNCQWdRS0Jl
UUFKU2J5YUNBQUVDQkFnUUlFQ0FBSUZHCkFRbElJNXd3QWdRSUVDQkFnQUFCQWdUcUJTUWc5V1lp
Q0JBZ1FJQUFBUUlFQ0JCb0ZKQ0FOTUlKSTBDQUFBRUNCQWdRSUVDZ1hrQUMKVW04bWdnQUJBZ1FJ
RUNCQWdBQ0JSZ0VKU0NPY01BSUVDQkFnUUlBQUFRSUU2Z1VrSVBWbUlnZ1FJRUNBQUFFQ0JBZ1Fh
QlNRZ0RUQwpDU05BZ0FBQkFnUUlFQ0JBb0Y1QUFsSnZKb0lBQVFJRUNCQWdRSUFBZ1VZQkNVZ2pu
REFDQkFnUUlFQ0FBQUVDQk9vRkpDRDFaaUlJCkVDQkFnQUFCQWdRSUVHZ1VrSUEwd2dralFJQUFB
UUlFQ0JBZ1FLQmVRQUpTYnlhQ0FBRUNCQWdRSUVDQUFJRkdBUWxJSTV3d0FnUUkKRUNCQWdBQUJB
Z1RxQlNRZzlXWWlDQkFnUUlBQUFRSUVDQkJvRkpDQU5NSUpJMENBQUFFQ0JBZ1FJRUNnWGtBQ1Vt
OG1nZ0FCQWdRSQpFQ0JBZ0FDQlJnRUpTQ09jTUFJRUNCQWdRSUFBQVFJRTZnVWtJUFZtSWdnUUlF
Q0FBQUVDQkFnUWFCU1FnRFRDQ1NOQWdBQUJBZ1FJCkVDQkFvRjVBQWxKdkpvSUFBUUlFQ0JBZ1FJ
QUFnVVlCQ1Vnam5EQUNCQWdRSUVDQUFBRUNCT29GSkNEMVppSUlFQ0JBZ0FBQkFnUUkKRUdnVWtJ
QTB3Z2tqUUlBQUFRSUVDQkFnUUtCZVFBSlNieWFDQUFFQ0JBZ1FJRUNBQUlGR0FRbElJNXd3QWdR
SUVDQkFnQUFCQWdUcQpCU1FnOVdZaUNCQWdRSUFBQVFJRUNCQm9GSkNBTk1JSkkwQ0FBQUVDQkFn
UUlFQ2dYa0FDVW04bWdnQUJBZ1FJRUNCQWdBQ0JSZ0VKClNDT2NNQUlFQ0JBZ1FJQUFBUUlFNmdV
a0lQVm1JZ2dRSUVDQUFBRUNCQWdRYUJTUWdEVENDU05BZ0FBQkFnUUlFQ0JBb0Y1QUFsSnYKSm9J
QUFRSUVDQkFnUUlBQWdVWUJDVWdqbkRBQ0JBZ1FJRUNBQUFFQ0JPb0ZKQ0QxWmlJM0lIL1BBQUFJ
b1VsRVFWUUlFQ0JBZ0FBQgpBZ1FJRUdnVWtJQTB3Z2tqUUlBQUFRSUVDQkFnUUtCZVFBSlNieWFD
QUFFQ0JBZ1FJRUNBQUlGR0FRbElJNXd3QWdRSUVDQkFnQUFCCkFnVHFCU1FnOVdZaUNCQWdRSUFB
QVFJRUNCQm9GSkNBTk1JSkkwQ0FBQUVDQkFnUUlFQ2dYa0FDVW04bWdnQUJBZ1FJRUNCQWdBQ0IK
UmdFSlNDT2NNQUlFQ0JBZ1FJQUFBUUlFNmdVa0lQVm1JZ2dRSUVDQUFBRUNCQWdRYUJTUWdEVEND
U05BZ0FBQkFnUUlFQ0JBb0Y1QQpBbEp2Sm9JQUFRSUVDQkFnUUlBQWdVWUJDVWdqbkRBQ0JBZ1FJ
RUNBQUFFQ0JPb0ZKQ0QxWmlJSUVDQkFnQUFCQWdRSUVHZ1VrSUEwCndna2pRSUFBQVFJRUNCQWdR
S0JlUUFKU2J5YUNBQUVDQkFnUUlFQ0FBSUZHQVFsSUk1d3dBZ1FJRUNCQWdBQUJBZ1RxQlNRZzlX
WWkKQ0JBZ1FJQUFBUUlFQ0JCb0ZKQ0FOTUlKSTBDQUFBRUNCQWdRSUVDZ1hrQUNVbThtZ2dBQkFn
UUlFQ0JBZ0FDQlJnRUpTQ09jTUFJRQpDQkFnUUlBQUFRSUU2Z1VrSVBWbUlnZ1FJRUNBQUFFQ0JB
Z1FhQlNRZ0RUQ0NTTkFnQUFCQWdRSUVDQkFvRjVBQWxKdkpvSUFBUUlFCkNCQWdRSUFBZ1VZQkNV
Z2puREFDQkFnUUlFQ0FBQUVDQk9vRkpDRDFaaUlJRUNCQWdBQUJBZ1FJRUdnVWtJQTB3Z2tqUUlB
QUFRSUUKQ0JBZ1FLQmVRQUpTYnlhQ0FBRUNCQWdRSUVDQUFJRkdBUWxJSTV3d0FnUUlFQ0JBZ0FB
QkFnVHFCU1FnOVdZaUNCQWdRSUFBQVFJRQpDQkJvRkpDQU5NSUpJMENBQUFFQ0JBZ1FJRUNnWGtB
Q1VtOG1nZ0FCQWdRSUVDQkFnQUNCUmdFSlNDT2NNQUlFQ0JBZ1FJQUFBUUlFCjZnVWtJUFZtSWdn
UUlFQ0FBQUVDQkFnUWFCU1FnRFRDQ1NOQWdBQUJBZ1FJRUNCQW9GNUFBbEp2Sm9JQUFRSUVDQkFn
UUlBQWdVWUIKQ1Vnam5EQUNCQWdRSUVDQUFBRUNCT29GSkNEMVppSUlFQ0JBZ0FBQkFnUUlFR2dV
a0lBMHdna2pRSUFBQVFJRUNCQWdRS0JlUUFKUwpieWFDQUFFQ0JBZ1FJRUNBQUlGR0FRbElJNXd3
QWdRSUVDQkFnQUFCQWdUcUJTUWc5V1lpQ0JBZ1FJQUFBUUlFQ0JCb0ZKQ0FOTUlKCkkwQ0FBQUVD
QkFnUUlFQ2dYa0FDVW04bWdnQUJBZ1FJRUNCQWdBQ0JSZ0VKU0NPY01BSUVDQkFnUUlBQUFRSUU2
Z1VrSVBWbUlnZ1EKSUVDQUFBRUNCQWdRYUJTUWdEVENDU05BZ0FBQkFnUUlFQ0JBb0Y1QUFsSnZK
b0lBQVFJRUNCQWdRSUFBZ1VZQkNVZ2puREFDQkFnUQpJRUNBQUFFQ0JPb0ZKQ0QxWmlJSUVDQkFn
QUFCQWdRSUVHZ1VrSUEwd2dralFJQUFBUUlFQ0JBZ1FLQmVRQUpTYnlhQ0FBRUNCQWdRCklFQ0FB
SUZHQVFsSUk1d3dBZ1FJRUNCQWdBQUJBZ1RxQlNRZzlXWWlDQkFnUUlBQUFRSUVDQkJvRkpDQU5N
SUpJMENBQUFFQ0JBZ1EKSUVDZ1hrQUNVbThtZ2dBQkFnUUlFQ0JBZ0FDQlJnRUpTQ09jTUFJRUNC
QWdRSUFBQVFJRTZnVWtJUFZtSWdnUUlFQ0FBQUVDQkFnUQphQlNRZ0RUQ0NTTkFnQUFCQWdRSUVD
QkFvRjVBQWxKdkpvSUFBUUlFQ0JBZ1FJQUFnVVlCQ1Vnam5EQUNCQWdRSUVDQUFBRUNCT29GCkpD
RDFaaUlJRUNCQWdBQUJBZ1FJRUdnVWtJQTB3Z2tqUUlBQUFRSUVDQkFnUUtCZVFBSlNieWFDQUFF
Q0JBZ1FJRUNBQUlGR0FRbEkKSTV3d0FnUUlFQ0JBZ0FBQkFnVHFCU1FnOVdZaUNCQWdRSUFBQVFJ
RUNCQm9GSkNBTk1JSkkwQ0FBQUVDQkFnUUlFQ2dYa0FDVW04bQpnZ0FCQWdRSUVDQkFnQUNCUmdF
SlNDT2NNQUlFQ0JBZ1FJQUFBUUlFNmdVa0lQVm1JZ2dRSUVDQUFBRUNCQWdRYUJTUWdEVENDU05B
CmdBQUJBZ1FJRUNCQW9GNUFBbEp2Sm9JQUFRSUVDQkFnUUlBQWdVWUJDVWdqbkRBQ0JBZ1FJRUNB
QUFFQ0JPb0ZKQ0QxWmlJSUVDQkEKZ0FBQkFnUUlFR2dVa0lBMHdna2pRSUFBQVFJRUNCQWdRS0Jl
UUFKU2J5YUNBQUVDQkFnUUlFQ0FBSUZHQVFsSUk1d3dBZ1FJRUNCQQpnQUFCQWdUcUJTUWc5V1lp
Q0JBZ1FJQUFBUUlFQ0JCb0ZKQ0FOTUlKSTBDQUFBRUNCQWdRSUVDZ1hrQUNVbThtZ2dBQkFnUUlF
Q0JBCmdBQ0JSZ0VKU0NPY01BSUVDQkFnUUlBQUFRSUU2Z1VrSVBWbUlnZ1FJRUNBQUFFQ0JBZ1Fh
QlNRZ0RUQ0NTTkFnQUFCQWdRSUVDQkEKb0Y1QUFsSnZKb0lBQVFJRUNCQWdRSUFBZ1VZQkNVZ2pu
REFDQkFnUUlFQ0FBQUVDQk9vRkpDRDFaaUlJRUNCQWdBQUJBZ1FJRUdnVQprSUEwd2dralFJQUFB
UUlFQ0JBZ1FLQmVRQUpTYnlhQ0FBRUNCQWdRSUVDQUFJRkdBUWxJSTV3d0FnUUlFQ0JBZ0FBQkFn
VHFCU1FnCjlXWWlDQkFnUUlBQUFRSUVDQkJvRkpDQU5NSUpJMENBQUFFQ0JBZ1FJRUNnWGtBQ1Vt
OG1nZ0FCQWdRSUVDQkFnQUNCUmdFSlNDT2MKTUFJRUNCQWdRSUFBQVFJRTZnVWtJUFZtSWdnUUlF
Q0FBQUVDQkFnUWFCU1FnRFRDQ1NOQWdBQUJBZ1FJRUNCQW9GNUFBbEp2Sm9JQQpBUUlFQ0JBZ1FJ
QUFnVVlCQ1Vnam5EQUNCQWdRSUVDQUFBRUNCT29GSkNEMVppSUlFQ0JBZ0FBQkFnUUlFR2dVa0lB
MHdna2pRSUFBCkFRSUVDQkFnUUtCZVFBSlNieWFDQUFFQ0JBZ1FJRUNBQUlGR0FRbElJNXd3QWdR
SUVDQkFnQUFCQWdUcUJTUWc5V1lpQ0JBZ1FJQUEKQVFJRUNCQm9GSkNBTk1JSkkwQ0FBQUVDQkFn
UUlFQ2dYa0FDVW04bWdnQUJBZ1FJRUNCQWdBQ0JSZ0VKU0NPY01BSUVDQkFnUUlBQQpBUUlFNmdV
a0lQVm1JZ2dRSUVDQUFBRUNCQWdRYUJTUWdEVENDU05BZ0FBQkFnUUlFQ0JBb0Y1QUFsSnZKb0lB
QVFJRUNCQWdRSUFBCmdVWUJDVWdqbkRBQ0JBZ1FJRUNBQUFFQ0JPb0ZKQ0QxWmlJSUVDQkFnQUFC
QWdRSUVHZ1VrSUEwd2dralFJQUFBUUlFQ0JBZ1FLQmUKUUFKU2J5YUNBQUVDQkFnUUlFQ0FBSUZH
QVFsSUk1d3dBZ1FJRUNCQWdBQUJBZ1RxQlNRZzlXWWlDQkFnUUlBQUFRSUVDQkJvRkpDQQpOTUlK
STBDQUFBRUNCQWdRSUVDZ1hrQUNVbThtZ2dBQkFnUUlFQ0JBZ0FDQlJnRUpTQ09jTUFJRUNCQWdR
SUFBQVFJRTZnVWtJUFZtCklnZ1FJRUNBQUFFQ0JBZ1FhQlNRZ0RUQ0NTTkFnQUFCQWdRSUVDQkFv
RjVBQWxKdkpvSUFBUUlFQ0JBZ1FJQUFnVVlCQ1Vnam5EQUMKQkFnUUlFQ0FBQUVDQk9vRkpDRDFa
aUlJRUNCQWdBQUJBZ1FJRUdnVStQODc1OVlLUStkZ0pRQUFBQUJKUlU1RXJrSmdnZz09CgpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3BvcC11
cC1idXR0b24tdGV4dC1hbGlnbm1lbnQtYW5kLWRpcmVjdGlvbi1leHBlY3RlZC5wbmcKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1p
bWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVV
Z0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFDN21sRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgpW
TTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51
dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3WkM5S2hWcEZLTjZyS0dLaEZ5M3h6VzVNdHFYcXdN
NSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54MUtpRVdsc2ZFSnEKL0lnQWpxSUpRVFFsVmR2c1Rp
UUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9n
OAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5eEZraWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pU
MWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBrS2E3ek82cllxR2NUdllPa0wyZDlINU9zOTQrd2lI
Q0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhqMGNHRFgwK0dBVnR4cXAKK0RYQ0ZGOFFUU2VpVkhI
WkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5u
M3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3VUVDR1BCb3hOTEp5UHlPckJodVRlekox
SkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktDSnhsRU8xQ0pMOFFmNHFyOGxQNVhuNXkxeXcyRmIz
bEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAxZWZKWFVkcE5YUjVhc2VYcTgKbXV3YVAreFhsekht
Z2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQTHJYV2M2Mkpp
emRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZYeC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExx
d3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4CjlTOWRQMXQ0dlVaL0RQVlJsQm5NMGxTSjkzL0NL
bVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2Yk9ESW1icHRVM0h2RUtGbHBXNXoKcmdJWHY5Rjk4
TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVz
eFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytm
bXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFnCkFFbEVRVlI0QWV5ZEIzd1ZSZGZHVHlCVVFY
cnZJb0lDOWdhaW9LQUNpZ29xMkh0WEZBdjJncjJodnFLZkZTeGdSeEZVTEtDZ2lEUTcKK2xwZmVo
V1FIa3BJc3Q5NXpzMXNOcHRiUTBnQ1BKUGZ6ZDNkNmYrZG5aMHo1OHpjTkUrZDBKRUFDWkFBQ1pB
QUNaQUFDWkFBQ1pCQQpNUkFvVXd4NU1Bc1NJQUVTSUFFU0lBRVNJQUVTSUFFU01BSVVRTmdRU0lB
RVNJQUVTSUFFU0lBRVNJQUVpbzBBQlpCaVE4Mk1TSUFFClNJQUVTSUFFU0lBRVNJQUVLSUN3RFpB
QUNaQUFDWkFBQ1pBQUNaQUFDUlFiQVFvZ3hZYWFHWkVBQ1pBQUNaQUFDWkFBQ1pBQUNWQUEKWVJz
Z0FSSWdBUklnQVJJZ0FSSWdBUklvTmdJVVFJb05OVE1pQVJJZ0FSSWdBUklnQVJJZ0FSS2dBTUky
UUFJa1FBSWtRQUlrUUFJawpRQUlrVUd3RUtJQVVHMnBtUkFJa1FBSWtRQUlrUUFJa1FBSWtRQUdF
YllBRVNJQUVTSUFFU0lBRVNJQUVTS0RZQ0ZBQUtUYlV6SWdFClNJQUVTSUFFU0lBRVNJQUVTSUFD
Q05zQUNaQUFDWkFBQ1pBQUNaQUFDWkJBc1JHZ0FGSnNxSmtSQ1pBQUNaQUFDWkFBQ1pBQUNaQUEK
QlJDMkFSSWdBUklnQVJJZ0FSSWdBUklnZ1dJalFBR2syRkF6SXhJZ0FSSWdBUklnQVJJZ0FSSWdB
UW9nYkFNa1FBSWtRQUlrUUFJawpRQUlrUUFMRlJvQUNTTEdoWmtZa1FBSWtRQUlrUUFJa1FBSWtR
QUtsUWdENTk5OS81ZSsvL3k1d041WXRXeVlUSmt5UWxTdFhGdkJMCjljTDY5ZXRsd1lJRnFVWXJW
UGppeW12ejVzMHlaY29VdjR5eE9Qb0JlR0FFc3JPejVZOC8vdGltTkJMZGkwVCtSVjI0Y0oyTE0v
L2kKekNzZXQ2THNUK0xsNC95S294OEk5d0V1NytMOERyZXRjTjZsNWY2SHk3VXR6NHZqM29mTFh4
SjVoc3RRbUhPVWU5R2lSWVdKS2lYZAovcmRYNW9XQ25VU2tyYm1YU1NUUElEc1lnWVFDeUVjZmZT
Uk5talNSdExRMDZkdTNyL3oyMjI4K2dnMGJOc2dERHp4Z2ZwZGRkcG5nCnZERHV6anZ2bEpOT09p
bGYxQmRlZUVIZWV1c3QrZXFycjZSdDI3YlcwZVFMa01MSkcyKzhJZlhxMVpNUkkwYWtFS3R3UVlz
cnIrblQKcDh1QkJ4NG9mZnIwOFFzYWphUHZ5UU1qOE8yMzM4cSsrKzRybDF4eXlUWWxrdWhlSlBJ
dnlzSkZxM054NWwrY2VjWGlWcFQ5U2F3OApndGVMb3grSTFnY0V5MUFjeDlIYVZqamYwbkQvdzJY
YWx1ZkZjZS9ENVMrSlBNTmxLTXo1ODg4L0w3VnExWktSSTBlbUhMMmsyLy8yCnlqeGwwRWxHMkpw
N21XUVdETGFqRWZDU2NPKy8vNzZuOWZiMFJWSWc5SW9WSzd6OTl0dlAwMW13QW43SlhrQWFmLzMx
bHg5Y3BXaHYKbDExMjhkUDg1cHR2Zkw5a0R6WnQydVNwOXNRUHZ1ZWVlM3IzMzMrL2Y1N0tRVGl0
Y055dy85YmtGVTQ3M3ZuZ3dZTTlGYXo4SUdHTwp2c2QyY0JCbXVDMkxmTlZWVjNsSEhYWFV0c3pD
QzkrTGNQM0MvdHUwTUpwNHVNN2JNditTcm11WVpWSDBKK0Uwa3prdmpuNGczQWNrClU2NW9ZY0wz
TEZxWVdOZkNiU3NjTHR6V3RpYXZjTnJGZVo1S3VZdmozb2ZMVXh4NWJndmVlSWM5OGNRVGhVcTZx
TnAvc3BudktNeVQKclcrcTRiYm1YaUt2TU4vd2VhcmxZZmpTVFNDaEJnUUNGN1FUKyt5emp6ejk5
Tk1GdEJ6UVV2VHYzMS9LbEVrcXFhanlHMlpBV3JWcQo1ZnY5OHNzdmtwbVo2YWZac1dOSDN5K1pn
eTFidHNqWlo1OHRYMy85dFIrOFhMbHlwcW54TDhRNHlNckt5dWNUTGExZ2dHait5ZVlWClRDZlJj
YmhjQ0YrK2ZQbDhkUXB6ZEdscUUzU0hwZkk3R3NOWUJZM0dJVmJZOFBXY25CeTdsSjZlN3JldGNK
aWlPZy9laTJqMUMvcW4Ka21lcTl6SlduUXViZjZLeUZtVmRFK1dWclAvVzlpY3VuMVRiWG1IN2dW
VHVjYmdQY0dWTjVUdmFQVXNtZnF5MkZZNGJiR3VGelN1Ywo1clkrRDkvclZNdGQySHNmckZlOGRo
Q3RQRVdSWnpELzRqcmVtbklYUmZ0UHRwN0Z5VHpldlUrbXZGc2JQMW9leWFTNU5mY3l6RGQ4Ckhx
MU12TFo5RTBoYWFvQ1FnYlVZVURzRzNaZ3hZK1NVVTA0SlhwSi8vdmxIcnJ2dU91bmN1Yk1jY01B
Qk1tM2FOUFAvNFljZjVOSkwKTDVYYmI3OWRWQnNoZGVyVWtZOC8vbGdlZWVRUjZkQ2hnNFVaT25T
b0RCbzBTUEFDdVBMS0srV0dHMjZ3UEdHR2RkeHh4L20yK3hoVQpJTTdFaVJQejVZMlQvL3puUC9M
QkJ4L0k2TkdqNWR4eno1V01qQXdMZ3hjbXpBR2FObTBxN2RxMWt6bHo1dmh4di9qaUMzbjQ0WWZs
CjhjY2ZsOE1PTzB4Ky9mVlg4NHVWbG9zWXl6OWVYckg0dURTRDM3SEtGUXlENHlWTGx1VGppR3N3
aWRQWlNibjMzbnZsbUdPT2tkTk8KTzgzcUNNRU0zSEFPdnNPR0RaT1dMVnRLbXpadGZDYi8rOS8v
NU1ZYmI3VDcrT0dISDRwcXVjemthK3JVcVFMMnVPY05HalF3RXp6awpCUmVyWG9ueWlzVXdrbXJr
Znl3T2lkSkdiSEM0NG9vcjVMNzc3aE9ZQ243MzNYZkJwUE1kanhvMXl0cGw3OTY5WmZYcTFmTEtL
Ni9ZCitkRkhIeTFnQW9jMmN2amhoNHZPemtneWJUcGN2MW16WnVXN1Y4bldJZGE5ekZlQjNKTjRk
UTYzbFdoMW1ERmpSc3o3aVN3MmJ0d28KdDkxMm03V25mdjM2aWM1RVdzNko2b3BBc0JOR1hhNi8v
bnFiM0xqNjZxc3RQZmdsd3dMaGdpNWVldEg2azJCY2R4eXI3Y0kvVnR1RApYeXdPOElPTDF3OUVR
dVQ5Zi92dHQrWFpaNSsxdGhHY2RJbFh0cnpZa2FONFlXT1ZOWHpQMEYvR1N5ZGUyd3FYSjl6V1Vz
bXJNSDFRCk1QL0N4STkxcjZPVk94WlBWNFo0OXo0ZTMxanR3S1dMNzJqbHdmWEM1b200UVJmdm1V
cm1HWTFYdjJBKzdoaHRDdThpbUVwanpQRDcKNzc4N3I3aHQwUStVZXhDdjNLbjI3ZUcwdHlYenp6
Ly9YRTQvL1hTNTQ0NDc1T2FiYjdaM0s4WXB1TzVjdkxvbEU5K2w0NzdSemhvMQphaVJQUGZXVVhj
SmtjdXZXcmUwZGlRdUZTUlB4WXQzTFJQbUYrV0pjR0I3SHhXT1FUTHRFK2VoS0VRR1ZhcE55MnFp
OG1qVnJtcm1WCml6Qjc5bXp2bkhQT2NhZjJyWUtEMTZOSEQyL3QyclZtUXFVQ2g2ZUNocmRxMVNw
UEI2OWVqUm8xUExYQjk5NTk5MTBQZmlxY2VEb28KOUdyWHJ1Mm44ODQ3NzNpcVVmSFBjWERFRVVk
NDNicDE4NjhobjVOUFB0ay9EeDgwYjk3YzAvVXAvdVc5OTk3YlV5Mk9wdytWcDR2UgpQUjFzZXhk
ZGRKSDU2MEkyVHg5RTMyUkxCYUI4YVlmVDhoUE5QUWo3eDhzckhwOXd1b25LTldUSUVLOSsvZm9X
VFJmWUZ1Q29IWXVuCmd6enpWNkhCek9oVXlQTG16cDNyTFYyNjFOdGpqejJNZ3dvWWRrMDdIKy9p
aXkrMjhQcnl0bnZkb2tVTHUxZTQvNmVlZXFxMysrNjcKRzFlWVZkeDExMTJlcmczeVZERDE0dFVy
VVY3SU1NelFDcEg3THg2SFpOSld3ZFhUenRWU2c2bGd3NFlOUFJVb2dsbmtPOTUvLy8yOQpDeTY0
d0wvV3BVc1g3L3p6ei9mUHg0NGQ2NzM4OHN0Mm5teWJEdFl2ZksrU3FVTzhlK2tYTEhBUXI4N2gv
S1BWUVFjQU1aOWpaTk85CmUzZDdubkdzQXAyMXJlKy8veDZuK2U1bE9DLzQ0MWtlUG53NERqM1Zk
SG9ISDN5d2Qvenh4OXQ1TWl3c1lPQmZ2UFFRTEZwL0VvZ2UKdCszR2EzdElJeDZIZVAxQU1IOGM2
MnlmcDJ1Ni9NdlhYbnV0OVoveG5pc0VEdllCaWNMR0sydXdmU1pLSjE3YjhpdVFleER0L2llYgpW
NnA5VURqdlZPTW51dGZCY2lPdmVEemozZnQ0ZkdPMWczRGRjQjR1VDJIempKWjJ2R2NxMFRNYXIz
N1I4bXJjdUxHbkU0eWVEamJ0CkhZeDY3YmJiYnZaTUpFb3IyUDZSZHJ4eXd6K1Z2aDNodzI1Yk1k
ZkpVSzl1M2JvZTNyYzZRZWpwMmxjYnIrajZXNzhJOGVxV1RIdy8Kb2NBQnhqMUIwM1NkcUxUM1BJ
SVVKczE0OXhKcHhzc1AvbUcrNGZONERCSzFTNlJQVjdvSUpLMEJxVlNwa3VpQVhYNzg4VWRmby9I
bQptMi9LZWVlZGwwK2MwcGU5YUJYTi9PblRUejgxU1g3NTh1VXlhZElrT2ZUUVEyMldYVzFWUllV
SGVlNjU1K1NRUXc2Ujl1M2JXNXg4CkNZVk85SVZzTTVINlVKalA1TW1UUlFXZFVLajhwMWc0SDNR
NnlKR3VYYnVLUGlSeTVKRkgrdG9VcUEyeG1CdG1abkF3R1FqT3dPQmEKT0MxY0M3cXdmNnk4NHZF
SnBvZmpaTXJsNGtDYkZPYUlSZmVvQ3h3MFBnZ0QxNnhaTTV0cGd0WURjVkJXWE5OMUVmTG5uMzlh
R1BoaApzVFkwVDdoWHVQOHd4WnMzYjU3Y2Nzc3RsdTZBQVFQc3Z1RmF2SHBoVml0ZVhwYWgvZ3N6
ZE5mamNVaVVOclJ2MExJZGUreXhsaHhNCkJYdjI3T21TanZxdHdvWjg5dGxuTnB1SUFDcjRDclJB
K2pLMDhKZ1pVbUhNamxOcDA2NSs0WHVWcUE3SUtONjl0SUlFL2lXcWN6ai8KYUhYQWN4N3JPY2JP
ZFBESHN3dUhHVXM4eTJoRHpzV3FLL29FUEx2UXZzSGgzcXF3Sjlqc0F0cTFaRmk0UFBDZEtMMWcy
RmpIOGRwdQp2TGFYRElkWS9VQzRMTkMyL2ZUVFQ5Wlc0YWNUQWNZL1h0bkNhY1FMbTB4WjNUMkxs
MDZpdGhVdVU3aXRPZjlrOGtxMUQzSnB1KzlVCjQ4ZTcxeTVOVis1a2VNYTY5L0g0eG1vSEx2L3d0
eXVQdTE2WVBGMWM5NTNvbVVyMGpNYXJuOHNqL0swVG1kS3JWeTk3THovMDBFT2kKazVzMkE1OUtX
b25LalR4VDZkdkRaWFRuMjRLNURyUnRzNThUVGpoQk9uWHFKRHJRdGsxNHNITW54aUtKNnBZb3Zp
dDcrQnZ2OVdCOQpLbGV1N0o4WE5zMVk5eEo1eDh2UGxTMVlIbHh6NTRrWUpHcVhMbjErbHg0Q1NR
c2dLRExNV0RDQWUrYVpaNndHdWpoY2RIYllqdDAvCkRDSXc2SVZ0Smo0d1p4by9mcndOVWhBR0Rk
QU5oRjBjTkREWHlOeTE4RGM2Sit6R2hkMXM0REJnd2NBNG5ndW5HVHhYVFl5WmdpQSsKcnV0TWlw
bmN3QXdMTzIrdFc3Y3VYOUxCdVBrOGNrL0Mvc0h6WUY2SitBVFRUcVpjNGZEQmZLdFdyV3FET2hk
R3RTWCtvQkhYRURZYwpIbVpGemdYOWNBM3BCZDJ1dSs1cXB4QXdFOVVyVVY1SUtKeWZ5d3ZYNDky
ZmVHbC8rZVdYSnZSV3IxN2RKU2RWcWxTSm1SY0NRUldPCk9yazFSRERIZzFrS3pEUEFCMllPdWtt
Q24xNnliVHBZdjNDWncrZGdIYndYaWU2bFh4ZzlTS2JPNGZ6Q2RZaDNQekdaQUJPaFlIMWcKV3Vt
RVhaUWw2QmZNQzZaZGVQNHgySE5PTlNCMkNLRUdMaGdlNTJFV3VPWmNNdW01c0xHKzQ5VVZaWW5W
OWxMbEVPd0h3bVZSRGJCTgpncUNmZytscGN4MlFsQzFiTnVGekZVd25YajFTS1d1OGRKSnBXOEV5
NFRoOFA5MDFmTWZMS3hnT3gzRHgrcUJJaVB6L2tYZlF4WXNmCjcxNjdORng2cWZCRTNPQzlqMWZu
V08zQTVSLytkdVZ4MTRQbnllYnA0cnJ2Wko0cDVCUE1LL2lNeHF1Znl5UDhYYTFhTmY4U0prVGcK
c0RWL0tta2xVKzVVKzNhL1VJR0RZTDF4T1hoZVdPWXVIVHp6enNFa0d1bGh3aXVadXFFY3NlTHJK
ajgyZHNMNENSOXdUY2JGU3pOVwovRmozTWxiNDhQVWdUL2k1ODJRWnVQQ0lHMnlYT0tjclhRVFNV
eWtPWmpnaG9XTldBbXNyc0ExczhHWWpMVFhORVN6eXhheHhVVG84CldKZGZmcm5adnQ1OTk5MW1l
eDBjVkc1dFh0aENEak96TDczMGtzQnVISTE5VzdoVStXeE51YUExT2s4MVZGaXpVYUZDQmNIc0J0
YmwKRk5aQitBemU3K0J4cXZWS3RReUY1YkJ3NFVKcmsrSDhnbVVQKzJFZ2pabkUxMTkvWGRERzBN
NVJkOWpJcmxtenBzQ1cwZUg0MitJOApsWHRabURxSHl4enZmc0srMjYyUkNzZExkQTc3WUtRTlcx
NElnbkRRd3FIUGNHdTFFcVVSOUMrSzlPTFZGWG5GYW50Ynd5RllCM2VNCjlYVnFIaWhQUHZta3JT
MkNGaTVSMlZ4Y2ZNY0xtMHBaNDZWVEZHMHIyVElIdzduamVIMlFDeFB2TzFIOFdQYzZuR1lxUE1O
eDQvRkYKMkdqdHdFMzJoTk5LOWp4Um5zRjB0dmFaU2lXdllMN3VHT01NREJ6eFNTV3RaTXBkbkgx
N0ttVjNkUTkvbzcyaWIweW1idUc0T0hmeAo1OCtmTDdxYnFSOEU3eiszN3RhL21PU0JTek9aNE1G
N21VejRlR0VLeXlCZW12UXJXUUlwYVVCUVZDeEdWMXRaMjJVS3FyYXdhOUdpCmhXazhnck8zTU9Y
QXpObldPcGlBUVVWOTY2MjMyaUxnUk9uRkcyUUc0K0szVGFEZHdVTGE0TXhzTUV5aXRCTDV1N1JT
NFpOTXVWeTYKMGI1aGFnUlREcWd1c2ZBYWk3UzJsVXVsWHJIS0VJdmgxbkRBZ0E3YURNd0FwZUln
dUdGditoZGZmTkZNRDZHNlJ3ZU8yYWpDQ25HeAo2cGRNdVZLNWw0V3RjN0FjOGU0blhpcVluY1Jp
ZXVmd2pEc05CcTdGcWl0bTlmRERkZmo5Q09kMG5ZQ1p0OEUwTTFWWEZPbkZxMnU4CnRwY01oMlRy
by9iTEFnNjZIYWs5cjVnMGdNQWJyMnpodE9PRlRhYXM3cDdGUzZjbzJoYktuVXhlNGZwdDYvTjQ5
OXJsN2NxZERFOFgKSi93ZGoyK3NkaEJPdzUyNzhyanpXTi94OGd6SDJkcG5LcFc4d25uamZQSGl4
V2FCZ0kxUFVra3IyWEp2YmQrK0xaaEg0NEIzRm43RQpVOWV0bUJZLzFYNHpHQjhUd3A5ODhvbi93
YmpBT1dqMGszWEJOSk9KRTd5WExueWkvTUo4M1hteTk5Zmx3Ky9TVHlCbEFRVHJCUGJhCmF5L2JO
aGMydG1GMzVwbG4ycTRWTU1uUWhlZjJVcjNubm52OGJYWmhSNC9kUTRJT2tpMnVZUkFEcHd2WXpj
d0YxNE1PNm1uWWprT0YKQ0ZPRmVBNHoxNWl0ZzBNNWtGWXdQZVRueWdFYlN6d1VlQUhoSVljSkZn
UW9sQWVmY0ZyaGZNUCs4ZkpLeENlWWRxSnlZYXRpYkZYbgpIUElOY29TbVNCZWFDM1laT3VPTU04
ejh6WVhGTitJSE93UEVSLzJkUTlyQmN3aWVPSGQ1dWpVUlNDTlJ2UkxsRldib3lvRHZaRGpFCnFn
ZDJhTUlNRXRZb09JZGZRY2ZzVkxCdXpzOTlZMzBSdEViUXZFR2xqSGFQV1Vqcy9PVTZSQmMybVRZ
ZHJsLzRYaVhpaytoZXVyTGcKTzVrNmgvTVAxeUhlL1VUNkZTdFdOSHRxM0J0OHNHTWFUQ1RoNHRV
VmEyZXdCZ3RtbWM1Qk9NYkxSUmYxMnFWRUxGdzhmQ2VUWHF6Kwp4S1VUcjY3eDJoNSttRFVlQnpE
R3g3bGduK091dVc4TU5MQkxEQngyckR2eHhCTk5ReFN2YkFnTFZ1NTVqQmMybFhzRzdSOW0rS1Ax
CjRjbTBMWlFyNk1KdExkZys0dVdGTkZMcGc0SjV1dU5VNHNlNzErSDNBTnBxWWU5OXZQc1VxeDI0
K2dTL2d4d1R2ZVBpNVJsTUU4ZkoKUEZQeG50RlU4bko1Qi90aXJLOXhXLzhuU2l2WS9wTXBOL0pM
cFc5MzVYUGYyNHE1U3gvMzN6bE1HR0szUmF5MVM3WnVzZUs3Tk1QZgowRDdqQngzQkVjSUNKcFdD
YVNCODhEeFlwbkJhN2p6V3ZZUi9vdnpDZklQbkVLSzI5dDJCTVF4K1BOdU5EVjJaK1YxQ0JMUmpU
ZG5wClZwR2VtaXJGakFkL0hielpEa2xxNyszaGh3emgxS1RGZm1CUUIzR2V2bXp0bWpaK1QxV0Jr
RHpzeDRpd0E0UStkSGF1Mi9KNStrQlkKT1BjUHUwUG9ZTnFkeHZ4V0xZbmxqOTJNZEp0WjIxVkxC
U2RQWjJrOTNYYlV3NDgyNmNEVWR0NVEwdy9ibVV0TlFteTNJK3h5cE9aSwozbGxubmVWaFo1UmdX
dnBpTHBCbjBEOVJYb2djaTA4NDRYamxVbk14VHhmL0dpZGRrK1BoUE1nUjVkWkY0dVlQdGpxUXRo
OHRWRTJQCjFRa2M5ZUcySGFIVUh0VFRCYkMyd3hYdTI3aHg0MnlISTUzdHREamE2ZGlPR0RwWXNQ
U3crNVZxb2p6ZDF0Yk9kU0RtNlFNZHMxNkoKOGtLOWd3ekRqT054d0s1bThlcUJ0Tkh1Vkoxdjl4
eGxWZUhWMHpVTWRoMytzUnphSDNiU2NVNjNTTXgzanV2SnRPbHdHOUtacUh6MwpLcGs2eEx1WHJu
ekI3M2gxRGo5enI3NzZhb0huRW1uRmE2ZDRwdkZzbzIzcGJMQzFQNWQvOEY2RzZ3b1dlUDd3TEQ3
NjZLT2ViaERnCjZhU0NwNE0vaTU1TVczSDV1Tzk0NldHWHZYajlpVXNqVmwzanRUM1VKUllIN1BL
bnBncFd6Mmg5anN2WGZhdEptNmNUT3A2YUFIbTYKdGJtSDUxUUh6K1lkcTJ5NGo4RStBT1dKRlJZ
SnhTb3IvSUwzRE05ZnZIVGl0UzJrRlhUaHRoWitGdUxsaFg0cDFUNG9tSGVxOFZXcgpsOUo3SUJi
UFpPNTlMTDd4MmtHd2JqZ08zck9pZk84ZzdYalBWRExQYUt6NkllMnd3L3RFQjZhZUxqNzNIbnp3
UWUrYWE2NnhYVFJkCnVGaHBSV3YvOGNydDBzTjNNbjE3TUx3NzNwYk1zUXNlZGdqRmUwWW5uRHpz
U0lXZG5aeExWTGRFOFYwNndXOWQxK2lwV1pydE9qWncKNEVEYlNWTTM2dkYzQkUwMXpVVDNNbEYr
UWI3b0c4TG44UmdrMHk1MWt0bkdoWGpuMFpVOEFjendwK3hVTzJDL1dCa3ZJbDQwR0x5NQpsMmk4
c0tuNDRRV3R0dEZKUlZIVG02VEN1VUE2VStjT2JYdFEvMFFQRXFXVnlEK1lGbzVUNFJPdlhPRjBn
K2ZZaGxoVnB0N01tVE05Ci9KbzhCQ3RkdStQcDdITXdXSkVlcDFLdmNNYUpHQmFXQS9MUkdYNy9I
dXBNZERqcnFPZG81MEVYUGcvNkpYT2NxSDd4MGlqTXZTeE0KbmNObGlIYy9WZXVVN3dVWmpKdW9y
b2lMdGhrVThJTHhVejB1aXZUaTFUVmUyNHZISWRsNjZLeWhCY1YyNWJvK3BrQzBlR1VMQjQ0WApO
bDVady9jc1hqcGIyN1pTeVN0Y3YyMTlIdTllaDhzZGoyZWlja2JqbTZnZGhOTU1seWZzSHo2UGxt
YzRqRHZmMm1jcWxieVFwLzVtClRNenhRaXBwSlZQdWNGOGVQbmNNb24xdksrWVk3T3Z2cDluemor
MnJvN2w0ZFVzbWZyUTB3ZGExZWRXRTVBdFMyRFFUM2N0WStTSHoKTU4vd2VUd0crUW9mNHlRVzJ4
akJlWGtiRWtoRDJpV2tmRWtwVyt4S0JaTVlxR1N4Q0Q1c0JwTlNZanRCWUppcGdSUFdMQVFkRnJi
QwpkRTUvenlONG1jZWxtQUR2WlNtK09Td2FDWkFBQ1JRQmdZTU9Pc2kyMzMzc3NjY0tsZHJXeG8r
VzZiWklNMW8rdkxaekVraHBGNnlTClFvUnRmL0hMeWZqVlR2eHFONFdQeEhjQ08xeGc3UWRzUi9F
N0RiQS9WNVdtN2U1RTRTTXh2OUlVZ3ZleU5OME5sb1VFU0lBRWlwYUEKenVyN2F6QUtrL0xXeG8r
VzU3WklNMW8rdkxiekV0Z3VOQ0Q2Uzl1MlFCTUxNN0VMQzExeUJMQmxMUGFyeDg0cStPRkZDaDdK
Y1N1TgpvWGd2UytOZFlabElnQVJJWU9zSjZKb0VmMkcwL2dxOC9SWlZLcWx1YmZ4b2VXMkxOS1Bs
dzJzN0w0SHRRZ0RaZVc4UGEwNENKRUFDCkpFQUNKRUFDSkVBQ094YUJsTGZoM2JHcXo5cVFBQW1R
QUFtUUFBbVFBQW1RQUFrVUp3RUtJTVZKbTNtUkFBbVFBQW1RQUFtUUFBbVEKd0U1T2dBTElUdDRB
V0gwU0lBRVNJQUVTSUFFU0lBRVNLRTRDRkVDS2t6YnpJZ0VTSUFFU0lBRVNJQUVTSUlHZG5BQUZr
SjI4QWJENgpKRUFDSkVBQ0pFQUNKRUFDSkZDY0JDaUFGQ2R0NWtVQ0pFQUNKRUFDSkVBQ0pFQUNP
emtCQ2lBN2VRTmc5VW1BQkVpQUJFaUFCRWlBCkJFaWdPQWxRQUNsTzJzeUxCRWlBQkVpQUJFaUFC
RWlBQkhaeUFoUkFkdklHd09xVEFBbVFBQW1RQUFtUUFBbVFRSEVTb0FCU25MU1oKRndtUUFBbVFB
QW1RQUFtUUFBbnM1QVFvZ096a0RZRFZKd0VTSUFFU0lBRVNJQUVTSUlIaUpFQUJwRGhwTXk4U0lB
RVNJQUVTSUFFUwpJQUVTMk1rSlVBRFp5UnNBcTA4Q0pFQUNKRUFDSkVBQ0pFQUN4VW1BQWtoeDBt
WmVKRUFDSkVBQ0pFQUNKRUFDSkxDVEU2QUFzcE0zCkFGYWZCRWlBQkVpQUJFaUFCRWlBQklxVFFI
b3ltV1ZuWjh2MDZkTmw2dFNwc25UcFVrblR2eHd2Unp6UHl4YzlMUzFOeXBSUm1VWXYKMDU5ODJE
NzRmQVE3Q1BZUDdCLzVma2orL1RoOFJDVXBXMWJmdFRuNSs1SGdNeFh2dUV5Wk5HblNwTHIwNmJP
M0RMaW1pMVNzbU5UcgpQbDZTOUNNQkVpQ0JJaU9RcG9QRXVMMGJoSStYWDM1WlZxMWFKV2VlZWFi
VXJsMWJNSkNnSXdFU0lBRVNJQUVTMkRZRVJuKy9TcHJWClNKZHk2V1drakUzdVJmTEJCR0JCNTJI
ZVR5Y0ZNZm1uSC8yM0pTdEg1czlaSVVPZm5TU1NsU1ZqUmwyb1FraTVnbEY1aFFSSWdBUksKZ0VC
Q0FXVHk1TWt5WmNvVTZYOVZmNmxRc1lJSkh4UkFTdUJPTVVzU0lBRVNJSUdkaHNEam55K1hBNXVX
bDdKcVZhREtEQk5DSUhwZwovcy9OR3VMY0hVZUVEeFZFVEFqeEpDc2JueHhadjNHTERMcHBsSnpX
ZlhlNWVXQzNuWVlmSzBvQ0pGQzZDY1RWeVVMN01XblNKR25YCnJwM09wbXlSdEV5ZGU5SE9NTklK
UnVaaFhPZm5xdWtVS2hCU2dwMGovU01FeUNmU1l0ZysrSHl3ZjhnYlBMSi9aUDhJQXNIM3c3TDEK
T2JKcVE0NEtJSjY5UzJGU0JRY0J4RDA3eTVjc2tqb05HbGxEUXM4SzRRTnBRQXVTblpNaldYcXdj
VXVhSE5COVgzbHQ1Q1FaZU4yUgphdFpWMXRMaFB4SWdBUklvU1FJSkJaQ05HemVhMmRXV0xWdXNu
TERoRFdwQVhFZm9Lb0hPai82UkZ3V1lrSSs5RzYxNXpKczNUK3JWCnE2ZG1BQlZkYzhuSFo5T21U
Yko4K1hKcDNMaXgzNGFDL0xMVWpBQnRLL2dDRGZvalViWS9Qbi9zZjlqL3VBNW1lKzRmMW03S1Vl
RUIKQWtma21VNVRYUWVFRHpoOHJWeTJXRzYvcUtjTWVtNk0xR25Zeks2ai80TWdFakhEVXN1cmJK
R05tWjdVYkZoVDVpelBVdE1zRldnbwpnQmdyL2lNQkVpaFpBbkVGa0EwYk5naTBJT1hLbFZNVDBz
amdEeS8zNEFzZVBlSFlqOGJLaWhVcjh0WGtnQU1Pa04xMzMxM2VmdnR0Ck9lbWtrNlI2OWVyKzdF
NitnTGx2Q0tTSnpyT0Eyd0g5Rnk1Y0tELzk5Sk1jZi96eDlpWlp0SENSakJ3NVV0YXVYU3Nubm5p
aTdMUFAKUGo2R1AvNzhReVpPbUNoejVzeVJ2ZmJhUzdwMDZTTE5temMzLzk5Ly8xMldMVnNtblR0
M3RudFNXdmw5TytOYnVlcXFxeVE5UFYycQpWS2tpWThhTThkdEZ0ZXJWVEVKNThza241Y1VYWHpU
L3ZuMzd5blhYWFJkaEVMai94eDEzbkhUcTFFbHV2dmxtbjQrVFlIYW05cE5YCmVUMEs4Q210OXg4
akl0NmZuYWQvWS9zTUVOaUs1M05EWm81czBuVWMwSldtNmRwMUpBVWhKSElrOHZJVGQ4cTYxU3Rs
Mk9EYlpNREQKdzNOOW5Ra1doSkNJR2RiR0xaNWs1dWdHQ09VclNFWkdocjJMQXlYa0lRbVFBQW1V
Q0lHWUFnZ0dNeEE2TUdpRUMydEEwQ2xHeEFWUApIbnZzTVlHbVpQLzk5L2NyMGFCK0E1M3RybTkr
aHg1NnFPeXl5eTYrSHc2QzhmTjU1SjdBSHgzbzc3Ly9KazJiTnJXQmFUQmNNdkZkCitZTHgzSEZK
eFYrL2ZyMWNjc2tsTW16b01PV2JMUXNYTGpCQjVKUlRUcEc2ZGV0S3YzNzk1SmxubnBIT1IzUTJ2
aE8rbUNDelpzMlMKdmZmZVc3NzU1aHU1N2JiYlpPYk1tVks5V25WcDJYSjN1ZVdXVzB5ckFHRXY2
RXFxZnE0TXdmeEhqQmdoWGJ0MmxYdnV1Y2U4c2FFQgoyc3loaDNhd2RnRWhGd0xJVzIrOTViZWhC
Zk1YNk94ZHR1N2kwdGdsR1RFdGdGa0JoT0ZBKy9NREJBN29uL2Q4QnJENGgrUkRQcVd4CmYzUU5s
TzB6VFlVUFR6YnJSK2ZtcEF4VUd1WWlaR1pPSFNjL2ZUUE9ydnoyM1NUNVp2d0hjdUJSdmJTUGhC
WTQ4c25XT1Boa3FDQ1QKcFFKSTJRcVJpVVM4Mi9OTkl1YW16QzhTSUFFU0tFNENNUVVRVndnSUlK
aVpyMW16cG0yeDY4K3lhcStJR1JubmpqenlTTG5ycmp1dAo4N05ydWY3ZmZ2dXRuV0tRaWFsdWRJ
N21RdkVqRi9QN2IxYVRITXp1angwN1ZxQlJpUmIvNTU5L2xva1RKMGFpYS9ycDZlVnNJSDlzCjkr
NVNiZGRkN2ZvYmI3d2h6Wm8xazQ0ZE8raDVtcXhidDA1ZWVlVVZ1ZnJxcTNQamlYejMzWGNxREN5
VTdocnYyV2VmbFpOUFB0a0UKSHdTQVdkRHJyNzl1TDRKcU92QS84TUFEcGEydWkwSDlaOCtlTFI5
ODhJRjE2TFZxMWJSQmRjdVdMVFdiL0h3aUdYbHl6VFhYU0k4ZQpQYVNHaHMzT3pwTEhIMzljRGov
OGNCTWtVTDlLbFNxWmtESHh5eTh0L1FzdnZEQVNWZi8zNjlkWHZ2NzZhOHZ2OURQT01QK2JicnBK
Cnp0RGpMelY4aFFybEMvREYxc25ZUXRubEQvNVZxMWFWTm0zYW1EWUIxMy80NFFmNTg4OC81WVFU
VHBES2xTdGIwTm1xY2ZucHh4K2wKZCsvZWthMlY5ZXI3Nzc5djY0RWc3SHlsYTRPeTFDeXZXN2R1
c25MbFNoaytmTGp5N0svVjFxazZ1RUQ5a2Y4RkYxeGc5WFg1ejlCMgpBWDVvRjhnYlFrbmp4bzFN
dUVEMDZ3ZmVJTHUxYUNGMzMzMDNUbk9kMmpibkNpREI5SjF2dFBhUjU0ZWovUDA0NVhJQUFDQUFT
VVJCClZPMHIySDRqNGVpZnl2TkpmdmxiRjlzWG41K2lmSDQyYjhsUkFVU2tySnBnUmZxN2lERGk1
V1RMbEU5SFNxT1diZjBHT0czOGU5SzIKWXc4cFV6WmQzd0hhVDJwZnArdlBaWk1LSCtzMlpjdnk5
VmttZ1BnUmVFQUNKRUFDSlV3Z29RQUNlMUdzKzhqSVdHOWFFQWdrdHBjNwpSaCs1d2dRR2tkQ1Fa
R1JzMU01UFZjWTYrTVRvY3MzcU5ib0hlUjhaTm15WU5HL2VYTmFzV2F2bnZXMG1mTWhUUTZScWxh
b3lkT2hRCitmNzc3MjBHL0pkZmZyRVo4ZEdqUjB2dE9yV2xYOTkraHVmaWl5K1c4dVhMeTJlZmpW
UDcxZHcxS0xuNWYvTEpKL0w4ODg5TGd3WU4KcEZxMWFqYUFYYlJva1R6MTFGUHk2YWVmV21lTW5i
eGd0ak53NEkxeS92bm55ZWJObStYaGh4ODJ6UVBXSk1COS92bm5zbURCQXRsdAp0OTFrM0xoeDhz
Z2pqOWdDL0lZTkc5cnZuM3oyMldlVzFwbzFheXl0OTBhOUovdnVzNjlNbURCQnl4WHgrL2ZmZitX
bW0yNjJhNDB4CmM1L0x4ekxRZjB1WC9pTWZmZlNSUFBEQUE3SmhRNGI1anhvMXl2S0NhaHpRRGp2
c01ETS8rbEdGZ3RhdFc3dW85cjFvMFdJVGh2YmMKYzA4L1BzSmdUUVhTN2Q2OVJ6Nyt5UC9ERHor
VUgxV1FDRHFZMXYzOTk5OHlhTkFnMjFyNTExOS9OWTBFaEFpWWd1SCsvZkxMVEJPRQpYbnZ0Tlhu
MTFWZk5ibmp3NE1FbVFJSEp4eW9VUWhQUm9VTUhFOElnU0YxMDBjV2FUZTdzV3U3OXVlaWlpOHov
MFVjZmxlZWVlMTVHCmpCaHU5N2pQeWRvdVZBdUV0b1R0bmVGNjlPZ3BxQnMyUFppc2d0YjBhZE9N
N2EyMzNtb2FsR3g5bzJabVpob3ZtUGJWcjE5ZmJyLzkKOW9ESm1zNXFCOXBmbUQvNDBqL3YrU1Fm
YTNhQmYyd2ZmRDVLei9PeFByT3NMRiszUmRKMThYbFovZGhyVmYvaHIvY056K3IvaUZPeAp6OTRs
YTNXVG1Cd1A2enhVK05CTHRndVdIcS9aa0MwcnNaaGROU0IwSkVBQ0pGQmFDQ1FVUUp6QVlmdUtx
NUNCUVNlRUVwdmZ4OHlNCkhtSEdCVDlRT0dOR1pLWWRBK0kycmR1b1dkWUdtVHQzcmcyV04yZHV0
bStjMzMvLy9USmd3QUJwMjNZdkcxQmlRTjY5UjNkNTRZVVgKQk1KRGhRb1ZKSE5UcGc2S0I2c0dw
SXNPbE8rU3ZkcTJ0Um4wTEZOSlJ6cGgwZnd2dmZSU0dUOStuRnh4NVpWeVpKY2pyU3dZekI5eQp5
Q0d5ZVBFaVhVQmZSL083VDVvMGJhS0N4V2VxTFRqZHl0OTZqOVpXM21PUDdhNTE4R1QxNnRWcTd0
TkVHalZxWk5vT3pQeERFSUYyCjRmRERPMGtuL1ZnL3IzWEYrb1RKWDArV3ZYU3dERTNKeVRxWUJn
bjhRM2hzVzN6U2lTY3BtZ2dmZU9CbzRzUUpVcXRXTFJ0MG8zNnIKMUg0WFpZWG1CSHdRQ0dza3dI
ejJyTm5Tb2tWempaVm01Wmc2YmFyODllZGZwakdCTmdmeFhmb285d1JORzFvb3AxNTM5MmZnd0lH
YQpSaVIvcE8vOHNkNENKbDJubm5xcTlPcDF2TFJyMzA1NnFnQ3daTWtTSzJQbnd6dkw2Tkh2U3hk
bE9uLytQR21vWE1BRy9oRGdvUFZvCnFrd2hFTXliTjlmOE1yVU9MbjJYLzRNUFBtaDU5Rlh0VGUr
VGVwdVFDQ0Z1N3B4SXUyalJZamQ1OE1FSDVOeHp6elBOVTQwYU5Xek4KMGJTcDAreWU5ZS9mWDVu
c1lueWcvWGp6elRmbDJHT1BsZWVlZlU2ZWVucUltYXM5cGNJcytBYnI1L0lIdjJqMXA3OXlDYlZQ
OHN0NwpQdGcrMkQ1Syt2bFl0Nm04TEZtYmJUMlltOVJ6ajJ5a1YwT25WOUJCQzROK1dHVVBNOEhh
c0ZsTnNQUzRqR3JJNlVpQUJFaWd0QkRJCnRaZUpYUnluQVVFSGlObHEwMzRnZUtnSG5ERmpobUNH
SEIvOGNHRitmMzJkZS9yQkZJNDZESXE3ZE9raWRWUTRnTU9BKyt0Slg5dmcKRmpzZ1FkdUIrTlYy
MVFYSzZuYlY3MW8xYWxsOGwwWXcvU3FxU2NsWWwrSDdZeENQeitwVnF5MCtFa1ArR1B5NytQdnR2
NS84K0lQVApES1Nwc0xKWW1qZHY3dnNqWW0wTkgzRjU1VWQ4YUUwZ3NFUkd2UWlSNTQ5WmVReXdn
K1Z6L2hpOFl6MkxPYTNmV3RVSXdWV3FWTm5uCmcvUlIvM1hyMS9ucHd3UU8yaVNZZ2tGYkJCT3lZ
UHBJYzhtaUpYNzlYZnF1Zk9QR2paZTFxOWZtODBjNXJRNjVnY0VIOXdGYUpCZS8KWHQxNlpub0h6
Ulg4SVlCZ3N3RUlvZENxdEd2WDNvTE9uVHZQVE54UWRzZlhsUS9wb1ExVnFWekYrT1BZZC9wU3hE
bk0ydUFnZkdDegpBcXdYS2xlK25GUlVRUlNtZitWMThTVHloenY0NElOTk05TnFqMVp5eE9GSENM
UTNqbSswL0MxUzRQNkV5MGQvRU1ocnYrUVRhV2V1Ci9iSjlzSDJVMVBPQmQyMk85bnVlOXF2MlFh
UFVhNnBqVmhNcnZXWWZuR3U0M0hNTHI3Y3NSNitaSUlLblcrT1VTeThyNmRTQVJCNW4KL2ljQkVp
Z1ZCSkxXZ0xqQkhUcEZkeHlzQVhaMHdub0V6THpBSVV5WjNNR21DUzVxT3VXRUZ3eCszVEhDd3R3
SnBqU1kyVDd2dlBOcwpiUWEwS09INENCdE1IK2R3R0xoaXdJNDBuVDhHMHlpSnkyZjFtdFZtcXVQ
T3NXQWVwa1U0eHl3K0ZuWmpRYmZ6eHl6L0htcmU1TTR0CkkvMkg5TEVyR016T1hQbWNINzZSTDJi
cXcvSGdoOEcyeGN0bFdGL054dUN3TUwyTThvSEQ0QjRtVXNZb2x4OTJoY0lIMnBJdUtyamgKMStp
aCtYSE90bGJVRnd6eWRQWDNCNUlhNk41Nzc3VWRwbXJVck9IN293N0JjdjZ6N0I5YkFHN0NuOFp4
OFZIbXlMMHNZOXZqd2xRTgpDK2FoZFVGWlVGNW9KWEQvWXVXUGNxYXBDWUh6ZDJ6QUQ4Y3VMeHc3
UDF6RGk5T2RXeHA2clVXTEZuNmNDdHBHVU45Z21HajFSMXpuCjZKLzNmRG9td1cveUlSKzBCL2RN
QnRzR2p0aytpcTk5VkN4WFZpcVcxejRTTWpINlEvM0NMNkxiSzliSnlmcWQrOHJGM2JIN2czT1UK
TWxzWG51ZW9MWmFuUWt4NS9UVjFtbUFwRkRvU0lJRlNReUJwQVFRRFVReXViV0NJemxBL3p1RTRP
SGpFZFhjTngvQnpBOW5nT1k3aApNSU9QOVFkWXJBeVRHMmhCemo3N2JJc0RmNlNGK083bDU2N2hH
dzdiMDJKYjIzUE9PU2R5SWZjLzR1QURod0Z5TUQ0V3RXTmRDQWJRCldDOXkrdW1uVzc2NVVXMU5p
RHQyM3k0K3l1UEs1UHp3RFg5WGI1ZHYwQitEOXZuejUvc3NvS1dCT1JWMnVZTEpHT0xqR0hHeHRp
T2MKQmhhUEgzSEVFYlltNVlvcnJ2Q1R4dG9WTUFzT3hGR09vQXZmSDV3SDY0RHRiYkgreExsZ2ZI
Zi9VSDRzMU1lYURBaUxLQzlNckhELwpzQmpkOFVFYXdmZzREK2FQWTNjTmRYVDFkUG5BRC9HRDVi
TUkrcytGZ1IrT2cySGk1WS80OUk4TW5zQUMzTUtPZk1qSHRRbTJqNUovClBpcW84Rkd4UE5aY1Jz
b0M0Y09jcm5NYmVYZGZXVEh2RHoxRm0wMlQ2dldiU2IvN1JrdGFXVjNub1pkZ01wMmo0WFFYWDhs
Snl6WUIKSkowbVdCRisvRThDSkZBcUNDUWxnR0NBQ09FREh6Zm9jeThvREZwd2pBOW16OTBnQnVl
WVpZZHpjZDNzT3E0N1A0U0grUlkwRWhnQQpZekRyNGlJZUZwZi84Y2NmY3RCQkI5bjFZUHJRWEdB
SEo1anRmUEhGRi83ZzFKRjErYnB6cE92aXQ5Q1pkR2hPc0RzVE5Bdlk0U2xjCmZzUkRlT1FQc3lv
WC81OS8vakh0QWN5Um9LbHdEdjdnZzArd2ZzNGZnM1JvV2ZDRGU3dm03dEIxbm1wODNubm5IVG50
dE5OczdRc1cKZldNbkxwZzd3U0V2YUR5UUpuN3o0MHZkN1FyQ1VqQjkvTUFmMXA3RUtqL0toWHNZ
OU1jNXJvT1JjNjUreUdldXJ0V0JBMlBFUXpndwpRenpralRVa1dPQ09IY0d3eVFEOFhYekV3ekVj
K09FWTVYZjV1N0s3KzRNMDRlRHYvSkRYYjcvOWxxOThRYlpJMDhWemRZaVZ2eVd1Ci8raWYxLzdC
QXM0OUR6Z21IL0p4N1lIdG8rU2ZqMG9xZkZTcW9PL2MzR2ZUQ1NMNnBNclI1OThwSTI0NTBYOSt1
NTU3dTVxNVZqSngKQlBkUWxmQXFnSGl5UmJkNngza0YxYWFrVitRYUVQUnpkQ1JBQXFXRFFON29N
MFo1c0NBY0F6d005dHczQm9MdUJZVm9PSFlEVTNSMgpPTWZIRFNieEhSeGN1bk9YSlV5M3NLZ1pn
M0xNL0VQN2dmQncwSWc4OU5CRHRqQWNPMDRGMDRmUUFRRUNEdkd3aFczUUgvbWcvTGptCkhIYXF3
bTlPdUxVVUhUdDJOSk12aElNTHhzYzVUS1l3dUVmNXdnNTVRNE1SVEIvMUJpZFhmc1J4L2xnN2dy
UmVlZVVWdWVHR0d5dzUKL0NZSXRxRTk2cWlqYk8wRHRCelFCcm40TUorYXBGdmVZbmN1TE5EdjFh
dVhyYUZ4L2w5OTlaWHRnZ1hoQnZjZ1hINVhackRBeC9tagpqTGlQWVQ3d0h6SmtpRUFRZ29Od2gx
MnBFTDU1OCtZbXJPRjNQWEJ0MEtCQnRqdVZxeC9DdS9UQndUbkh4T1h2eXU3dUQ3N2hrQWVPCkVm
NnNzODZ5ZXd1aEZPdUszSTh0b282STc5TEV0MHNQYVVUTFAxSDU2Si8zZkpCZlh2K0Y5Z1RIOXNI
MkVXa0p4ZHUvVk5JMUd4VjEKTFZ4a0J5eE00a1Q2VlB6ZmZaOE9jbURQYytXN2oxK1Y5cDE3eTU2
SGRGV3hKRkkrTEQ2SDhKR2p1d2FXVTlNcnZTcVZWWkFwWDRrQwppTHVQL0NZQkVpaDVBbW42Y3Mx
N3V3VEtnOHNZckdPUWo2MVJNUkIxd2toWUFBa21nV01NQ3ZGeExobC9XMWl0RVdDV0ZJNlBOUkg0
Cm9VTXNTQzVzK3E0czJKb1gyZzZZWUIxOTlORTJzRSttZkM3KzF1WVBqUUpNeFdDNkJLRUNEbWxp
Z1RucUNET25jUDJoQllHMkJiL2QKNGZ6d2pYVXEyTVVLMnhBN1RjeldscSsweGNmQ2ZmeEFJOXFj
WStVWTJJVmNmc0ZqK3FmKy9KRmZoRUJwYS84b0ZjcmtITXRYdVBmTAo5c2h2NEJmcDBxWmVSWjFZ
VXEwNjNxa0JBUVN2MTAwWmEyWElGVjNsc2ljK2txbzE2cW1Zb2UxRTEzdkE5QXJ0SkZ2WGYrREhY
RGZxCmpva3JWbWZJVHovTWx0RUQ5OGkzR1l2andtOFNJQUVTS0c0Q0NRV1E4ZVBIbTNZQkprSFFN
R0NXR3JQUUdPU0ZIVHE5YUM5SUY0NysKRVQ0dzU0THBHSDRkUE9oUzVmUFhYMytaRU5LK2ZXUTNx
bFRqQi9QR01lT3ovYUlOaEFVNDEwN1lQdGcrMkQ2SzcvbTRaWUt1QmF5UApOWEpZK3hiNTRMV0xE
MlJTZkcvVXpWY3E2UzZRT0hjZm1GL2hXR1VQRlVBMHpLWXNtYnRndWF5YzlhczhlZWwrRkVCY2g4
WnZFaUNCCkVpVVEwd1FMZ3hCc2h6cG56aHhwMWFxVm1mbEFPK0Ztb2t1MDFOdDU1dGpoQzcrR3Zy
VU9abEIwSkVBQ0pFQUNPeDZCT3JvTGZJMmEKRWNGRE56azBnUU5DQjV4OTYzSE5taXA4NkxrcVBT
SUNTTzR4aEJEZFg4V0VrQW9iMVB4SzQ5Zk0rRm5mNlowMGJtNGlTSWlPQkVpQQpCRXFJUUV3QkJP
V0JQVDdXWlVBSWdia1FoWThTdWt2TWxnUklnQVJJWUtjaTBMaUpDZzFWODdRZnNNQ0NzQkYwdml3
QkRZaDZPQzJJCjA0QmdHOTcwVlRsU2VjM3ZzbHVqU3Y2NnpHQWFQQ1lCRWlDQmtpQVEwd1FMaFlH
NkhUc3NZWnZhT25YcTJPNU1ia0Z5U1JTV2VaSUEKQ1pBQUNaREF6a0RnYzYxa2hjd3MvVkhXdVBP
RVBnb0lIVUdYcFhIbnpwd2x2NDRiSzFrckY5bUdMdGcwaFJxUUlDVWVrd0FKbEJTQgp1QUlJQ29V
ZnE4TnZVMkNyV1B4YU9NN3BTSUFFU0lBRVNJQUVTamNCV0MwMGJOalFmc2kyWmN1V3RHSW8zYmVM
cFNPQm5ZcEFRZ0VFCk5LQUoyYkpsaXdrZ3ExYXRvaEN5VXpVUlZwWUVTSUFFU0tBa0NFQ0FLT3lr
SCtKaTUwajhscGJiM3J3azZzQThTWUFFU0NBYWdhUUUKa0dnUmVZMEVTSUFFU0lBRVNJQUVTSUFF
U0lBRVVpVVErWEdGVkdNeFBBbVFBQW1RQUFtUUFBbVFBQW1RQUFrVWdnQUZrRUpBWXhRUwpJQUVT
SUFFU0lBRVNJQUVTSUlIQ0VhQUFVamh1akVVQ0pFQUNKRUFDSkVBQ0pFQUNKRkFJQWhSQUNnR05V
VWlBQkVpQUJFaUFCRWlBCkJFaUFCQXBIZ0FKSTRiZ3hGZ21RQUFtUUFBbVFBQW1RQUFtUVFDRUlV
QUFwQkRSR0lRRVNJQUVTSUFFU0lBRVNJQUVTS0J3QkNpQ0YKNDhaWUpFQUNKRUFDSkVBQ0pFQUNK
RUFDaFNCQUFhUVEwQmlGQkVpQUJFaUFCRWlBQkVpQUJFaWdjQVFvZ0JTT0cyT1JBQW1RQUFtUQpB
QW1RQUFtUUFBa1VnZ0FGa0VKQVl4UVNJQUVTSUFFU0lBRVNJQUVTSUlIQ0VhQUFVamh1akVVQ0pF
QUNKRUFDSkVBQ0pFQUNKRkFJCkFoUkFDZ0dOVVVpQUJFaUFCRWlBQkVpQUJFaUFCQXBIZ0FKSTRi
Z3gxbFlRbUR0M3JtemV2RGxtQ3BzMmJaSUZDeGFJNTNsUncyUmwKWlVsT1RrNVVQMTRrQVJJZ0FS
SWdBUklnQVJJbzNRVFNkSkFYZlpSWGlIS1BHVE5HbGkxYmxpL21JWWNjSW52c3NZZU1HREZDVGoz
MQpWS2xldlhvKy81MzVCSVBzNzc3N1RucjM3bTBZRmk1Y0tLKzk5cHFzWGJ0V1RqbmxGTmwvLy8x
OVBMLzk5cHVNSHo5ZS92ZS8vMG43Cjl1MmxXN2R1c3R0dXU1bi9mLy83WDFtNmRLbDA3ZHJWRDE4
YUQ2Wk5teVlYWEhDQnBLZW5TOVdxVmVXTEw3NG8wQzRlZWVRUmVmcnAKcDgzL3JMUE9rbHR1dWFW
QVZZNDg4a2pwM0xtekRCbzBxSUFmTDVBQUNaQUFDWkFBQ1pBQUNaUnVBa1dxQVhuZ2dRZGt5SkFo
Z29HbQoreXhldkZnMmJOZ2c4RnUrZkhtaGFFQkcrdVdYWDJUZHVuV0ZpbDhhSTYxZnYxNHd3TzdZ
c2FNVmIvNzgrWExZWVllWjhGRy9mbjA1Ci92ampiWUR1eXY3NTU1L0wzMy8vTGZ2dHQ1OU1uanha
OXQ1N2IxbTllclY1Nzdubm52THd3dy9MbjMvKzZZS1h5dStYWG5wSmV2YnMKS1RObnpwUnZ2dm1t
UUx2SXpzNFdDQ0R2dnZ1dVFLaUM4QUdoYk42OGVhV3lQaXdVQ1pBQUNaQUFDWkFBQ1pCQTZnVFNV
NDhTUDBiMwo3dDNsMFVjZkxSQm96cHc1QmE0bGV3SG1PaGh3UTZpQlJpV2ErLzc3NytYVFR6LzF2
Y3FWS3ljTkdqU1FFMDQ0UWFwVnEyYlhNUUNHCjFnQ3o1MmxwYVRiWWYrYVpaK1RtbTIvMjQwMmRP
bFVnREp4MDBra3llUEJnT2ZQTU02VjU4K2JtRCszT2l5KythSEZyMXF3cEhUcDAKa0gzMjJjZjhJ
Qnk4ODg0N1VxWk1HYWxkdTdibEFjMVBMSGZSUlJkSm56NTlwRjY5ZWhZRUFobzBHUGlHcTFLbGls
eDc3YlUyV01mNQoxVmRmalM5ejU1OS92a3lZTUVGR2pScGxHZ1hrZWQ5OTkwbXZYcjFNVUt0UW9Z
SUw2bjlQbWpSSnZ2NzZhLzhjQjd2dXVxdTBhOWRPCm9GR0FtekZqaGczOCsvYnRLN3Zzc290ZFE3
MXcvZlRUVDdlNjRlSmJiNzFsZ2xEcjFxMU5LN05seXhZVExQNzk5MTk1N3JublRIQkEKbWNJT1Fz
ZFZWMTNsWHdiRFlMdUFBSVUwbkdZSEFhKzQ0Z3BwMWFxVlBQYllZMzQ4SHBBQUNaQUFDWkFBQ1pB
QUNXekhCR0NDVlZUdQo0SU1QOW02NDRZWUN5YTFjdWRMVHdiaW5nMW56YytkcVV1UWRmdmpoM25I
SEhXZlhkWURxSFgzMDBWNk5Halc4cGsyYmV2Lzg4NDlkCjc5U3BFOHpFN0JyUzBRRnZnVHp1dWVj
ZVR3Zk5YcHMyYlR3VkRMeUREanJJcTFPbmp0ZTJiVnNMcTJzR3ZIUFBQZGVyV0xHaTk4UVQKVDln
MTFVSjRhZzdrTFZxMHlFOFA2WngzM25uZUgzLzhZZW5vUU5yVEdYanovK0NERCt6YW9ZY2U2dW5n
MjFNaHhsT2h5UHllZi81NQozMDhIMEphdURxNzlkSU1IT3F2dmxTMWIxc3ZJeVBBdnEwbVM5OTU3
Ny9ubkt1eFluVlZiNEY5ekI3cUd3dEwvOWRkZjNTWDczbmZmCmZmT2xFZlM4N3JycnJIeGc0ejRx
MUZrNW5uMzJXUXY2eWl1dmVJMGFOVEovRjNmMDZORmVyVnExdktPT09zclR0UmQyV1RVdW5ncGIK
ZHR5L2YzL3Zzc3N1cytPZmZ2ckpVK0hIQSt1d1U0Mk9wMEtoVjdkdVhXc0xhbjdtdVhhQWRqRnIx
aXl2V2JObVZ1ZVdMVnQ2SjU5OApzbmYvL2ZmYlBVVjd3SDBIZjdndVhicDRkOTExbDNmdnZmZGFt
MUF0a2pkOSt2UndsanduQVJJZ0FSSWdBUklnQVJJb2hRU3cwTGZJCkhBUVExUmpZb0J3RDg1OS8v
dG5TZG9OcE5hdkpkNjdhQSsramp6N3lsaXhaWXRjeGtQelBmLzVqQTFnTTNsWHpZZGNoSUVBQStl
U1QKVHp5a0Zjc2RjTUFCL2lBVllkYXNXZU5CZ05EMUVYNFVER294Z0hWTzExbDRJMGVPZEtmZTlk
ZGY3NmtXd2o5SEdmL3YvLzdQUHc4ZQo2Sm9XNzhFSEh3eGU4bzlSbCtIRGgvdm53UVBWeEhnTkd6
YjBMNmxwbXRYUENUUE9Bd04yQ0FET1FVQlJqWUFIZ1V5MUgrNnkvNjNyClJqelZyUGpueVJ5Zy9L
aUhjMy85OVplVkpjZ1pBaFA0US9DQlV6TXFUMDN0N0JqMys4NDc3N1JqWFFOa0FxQ2RoUDVCMklC
Z29TWlcKZGcvVjNNcStrUzdhQllTYmlSTW5XajRRL2hCZVRlNjhZNDQ1eHJ2ODhzc3RyQzVPdDFS
eC8xUzc1VUg0Z1JDbW1pUlAxOUdFY3VRcApDWkFBQ1pBQUNaQUFDWkJBYVNSUTBFNUdSNFJiNDc3
ODhrc1pPSENnZldEQ0ZNL0JYN1VmZ2pVUGNGaWNyRUtHbVVEQjdLbDgrZkoyCkhhWTZjRG9UTHFy
VnNPTm8vMkJxaFFYY3pzSEVDQitZOVFTZHpzTDdwMWlETVdYS0ZQOGM2dzFnOGhOMHprd3FlQTNI
alJzM0xwQzIKQ3hQUEQzbm9ZTndGOWRkeVZLNWMyYitHQTlYV2lBcFIvclZWcTFaWmZpcXdtVGxW
MEErQmtHYTg5Uklxd0FqU0NMcG81WVQ1R2xnNwpwMW9SQVRNVkN1d1M3ZzNLZ04yb3dFNjFUWFpk
aFpjQzdGd2FTRSsxUHJhNEhQY3diS0lGUDNlZlljS0c4REJEZ3psWnBVcVY3TDRIClRjdFVDTEgx
UnFyaE12TXZMT2FuSXdFU0lBRVNJQUVTSUFFU0tQMEVpbHdBd1ZvQnJEZkFSelVBY1Ftb0ZpQ2ZQ
OEpqZTlYZGQ5OWQKYnJycEpzRjJyS2s0TlJVcU1NQ0dVSVBGemM2dFdMRkNWRlBqVG0wUnVCTkFN
ak16UlUxNTh2bHYzTGpSMWtuNEVRSUg0YlFEWGlaTQpCZk1OK21Hd2pjRzdjNDZEVzFTTzY0aUxS
ZmZPRDljdXZQQkNXMytocGs2aTVsS2lwbE80N0R2RVFkcXhITlpmcUJZam4zZTREdGlaCkM0dmhj
VDNva0s1SzBIWUpBZ2p1TDNicGF0R2loZlRvMFVQQUR1dHBMcm5ra21DMGJYWWNYRjhEd2NTVmJa
dGx5SVJKZ0FSSWdBUkkKZ0FSSWdBU0toRUNSQ3lCYlV5cGRBeURqeG8yejNaOWVmdmxsR1Rac1dM
N2tFZzB5ZFEyRVlCRjVQUGY0NDQrTG1sbjVRWFE5aFB6NAo0NDhtN0tncGtWeDY2YVdpNjA5OGZ5
eU14bUxyb25RWXdPdWFCejlKYUQ2Z2RjSE9UODZwYVpFSkFaamhEenRvQnJEWUh6dGpCUjIyCjZF
WGFXK04wclllb0tWVGNKSkRIN05tejVkWmJieldORllTcEFRTUdtQVlHdTNmUmtRQUprQUFKa0FB
SmtBQUprRUFzQXFWS0FNRXUKVFJqTTZzSjAyd25KL2RnY1pyaWJOR2xpZ2tLMGltRDJIVFB5K0kw
UlhhaWNUN3NRTFh6d0dnYlQwSnk0QWYyTk45NFk5TTUzaksyQQpuWFlIMzlBV1lKdFlmRkp4MEJq
QUZDcG9MZ2J0eE5DaFEwMlRnTFN3blRGMnljSk9YbkF3ZVhJOHNMWHgyTEZqQlFKWDBFRUF3YTVm
ClJlWHcyeUt1dnRpSnpHbFhvUFhBTWN5b0hucm9JZHNSQy9jTnZ3TlQxQTdhTUFpSWRDUkFBaVJB
QWlSQUFpUkFBanNHZ1ZJbGdNREUKQ0dzTnNKWUI2d1N3VlMwY3RzekZWcm1ZY2NkMnZHSDM4Y2Nm
MjdhM1YxNTVwVUNnQ0pzUGhjUGpIT3RDTUd1dk8xcVpJSERFRVVmWQpiMU5nL1VNMEIvTW1iSk9M
TFh6ZEI5dlI2Z0wyZk5xTWFISEQxN0RHQVhYVDNiaDhMd2dnMk5JWDJoYjgwS0F1eExZdGJWMEFs
Qlh4ClVONEREenhRc0ZXdTdnVGx2RzA3WEFocXVtamJ2N2ExQi9paFAxZFhwT1cwTVdBTTh6QmRu
Rzhjc1VYdUN5KzhJT0UxTEZ1YlArTGoKaHdzaDRFRTdoaDlpcENNQkVpQUJFaUFCRWlBQkV0aStD
UlRwTDZFWEJRcjNZNFA0cGV5d3czb00vS2doTkJaYjYzVDNMWG43N2JkdAp2UWMwRXBocEwwNkgz
ODdBTDZEcnJsLzU4dGJkcDZ5T0dPU0huVzVMYkw4MEQwRWd1SWdiMmduOHdCOStSZDFwVE1KeHQv
ZHphSDJ3CldVR3czdHQ3blZoK0VpQUJFaUFCRWlBQkV0Z1pDWlE2QVdSbnVnbFlkSTdkbTdwMTY3
WlYxY2J1VTFpd0gwMDd0RlVKTXpJSmtBQUoKa0FBSmtBQUprQUFKRkRFQkNpQkZESlRKa1FBSmtB
QUprQUFKa0FBSmtBQUp4Q1pRcXRhQXhDNG1mVWlBQkVpQUJFaUFCRWlBQkVpQQpCSFlFQWhSQWRv
Uzd5RHFRQUFtUUFBbVFBQW1RQUFtUXdIWkNnQUxJZG5LaldFd1NJQUVTSUFFU0lBRVNJQUVTMkJF
SVVBRFpFZTRpCjYwQUNKRUFDSkVBQ0pFQUNKRUFDMndrQkNpRGJ5WTFpTVVtQUJFaUFCRWlBQkVp
QUJFaGdSeUJBQVdSSHVJdXNBd21RQUFtUUFBbVEKQUFtUUFBbHNKd1FvZ0d3bk40ckZKQUVTSUFF
U0lBRVNJQUVTSUlFZGdRQUZrQjNoTHJJT0pFQUNKRUFDSkVBQ0pFQUNKTENkRUtBQQpzcDNjS0Jh
VEJFaUFCRWlBQkVpQUJFaUFCSFlFQWhSQWRvUzd5RHFRQUFtUUFBbVFBQW1RQUFtUXdIWkNnQUxJ
ZG5LaldFd1NJQUVTCklBRVNJQUVTSUFFUzJCRUlVQURaRWU0aTYwQUNKRUFDSkVBQ0pFQUNKRUFD
MndtQjlHVEttWjJkTGRPblQ1ZXBVNmZLMHFWTEpVMy8KY3J3YzhUd3ZYL1MwdERRcFUwWmxHcjFN
Zi9KaCsrRHpFZXdnMkQrd2YrVDdJZm4zNC9BUmxhUnNXWDNYNXVUdlI0TFBWTHpqTW1YUwpwRW1U
NnRLbno5NHk0Sm91VXJGaVVxLzdlRW5TandSSWdBU0tqRUNhRGhMajltNFFQbDUrK1dWWnRXcVZu
SG5tbVZLN2RtM0JRSUtPCkJFaUFCRWlBQkVoZzJ4QVkvZjBxYVZZalhjcWxsNUV5TnJrWHlRY1Rn
QVdkaDNrL25SVEU1SjkrOU4rV3JCeVpQMmVGREgxMmtraFcKbG93WmRhRUtJZVVLUnVVVkVpQUJF
aWdCQWdrRmtNbVRKOHVVS1ZPay8xWDlwVUxGQ2laOFVBQXBnVHZGTEVtQUJFaUFCSFlhQW85Lwp2
bHdPYkZwZXlxcFZnU296VEFpQjZJSDVQemRyaUhOM0hCRStWQkF4SWNTVHJHeDhjbVQ5eGkweTZL
WlJjbHIzM2VYbWdkMTJHbjZzCktBbVFRT2ttRUZjbkMrM0hwRW1UcEYyN2RqcWJza1hTTW5YdVJU
dkRTQ2NZbVlkeG5aK3JwbE9vUUVnSmRvNzBqeEFnbjBpTFlmdmcKODhIK0lXL3d5UDZSL1NNSUJO
OFB5OWJueUtvTk9TcUFlUFl1aFVrVkhBUVE5K3dzWDdKSTZqUm9aQTBKUFN1RUQ2UUJMVWgyVG81
awo2Y0hHTFdseVFQZDk1YldSazJUZ2RVZXFXVmRaUzRmL1NJQUVTS0FrQ1NRVVFEWnUzR2htVjF1
MmJMRnl3b1kzcUFGeEhTRThseTFiCkp1bnA2Vkt6WmsyL1RrSC9UWnMyeWZMbHk2Vng0OForR2tI
L0xGVVRJKzFnQnhuMFI2TG9YR1BsVDMveVlmdmc4OEgrQWIxbXhMSC8KMUQ3UndkRHY3YWwvV0xz
cFI0VUhDQnlSWnpwTmF3TGhBdzVmSzVjdGx0c3Y2aW1EbmhzamRSbzJzK3VvSCtvYk1jTlN5NnRz
a1kyWgpudFJzV0ZQbUxNOVMweXdWYUNpQUdDditJd0VTS0ZrQ2NRV1FEUnMyQ0xRZzVjcVZVeFBT
aUhDQWwzdndCWStlTUhOenBweDIybWt5Clo4NGN5Y3pNbExmZWVrdCsrT0VIT2Vta2s2UmE5V3Iy
Qm5qeXlTZmx4UmRmbENwVnFramZ2bjNsdXV1dWk5UTg5dzJKTkk4NzdqanAKMUttVDNIenp6WGxV
QXY3b1hBdTQ3Y3gvNU1pUmN0UlJSMG10V3JXc0tsT21UcEZQUHY1RUdqUm9ZQXlEd3R0bm4zMG1Q
LzM4azZ4Wgp2VVlPTyt3d1kxT3RtdkpVOSthYmIwclBuajE5dnVCWDJ2aXNYNzllM252dlBTdHY4
Ti9KSjU4c0N4Y3VsRC8vL0ZOT1BPbEVheCtsCnNmeFc1dTJzZlFVNXMveEtnUGVQejVlK05yYkgv
bVZEWm81czBuVWMwSldtNmRwMU5HVUlJWkVqa1plZnVGUFdyVjRwd3diZkpnTWUKSHA3cjYweXdJ
SVJFekxBMmJ2RWtNMGMzUUNoZlFUSXlNcVI2OWVvYWxvNEVTSUFFU3BaQVRBRUVnMWtJSGRCb3dJ
VTFJT2dVSStLQQpaMlphZi8vOXQvejQ0NDhXRmd2V0gzdnNNVG4wMEE2eXl5NjdtQkFEQVFTQ3lm
Nzc3MjloRnN4Zm9MTXoyYnBMUjJNN3h6L2tpUmthCkUzWUM2ZnNCQWdmQi9BT1gvY1BTNkQ5anhn
ejU2S09QcEhmdjNwS3RVMVB2NnVEOHZ2dnVsYXV2dmxwKy8vMTNFeWcrL1BCRHFWR2oKaHRZK1Rk
NSsrMjFwMWFxVk5HL2VYQjU1NUJGNTQ0MDM1TlZYWDdVNjdydnZ2bkxCQlJmSTY2Ky83dDhqdi9K
NlVCcnF2MkxGdnpKZwp3QUE1NXBoalRJdm15dGU5ZTNjVFVOOTU1eDBUT3QzMTRIZWk4a080bVRk
dnZyUnR1MWN3bW4rYzBsK29CUUFBSUFCSlJFRlVLRDc5Cjg1NWZIMXJnZ0h6SXgvWHZnV2JoSDdK
OWJQdjJzU25MazgzNjBia2xLUU9WaHJrSStabFR4OGxQMzR5eks3OTlOMG0rR2YrQkhIaFUKTDMy
SDRqMGErV1JySEh3eVZKREpVZ0drYklYSVJDTGVzeERJNkVpQUJFaWdKQW5FRkVCY29TQ0FyRjI3
MXN5cVlIN2x6N0pyQithNgpzR25UcGttelpzMVUwTWl5enE5cTFhb3k0OXR2elI4YUZNeDBReWhw
M0xpUkNSZEkrL3FCTjhodUxWckkzWGZmN2JMUzd6d0JCTDJ1ClN6OHZRR1IyeDg3VmYrYlBQOHZF
aVJOOWI1UzFidDI2Y3V5eHg4cXVxaW5JM0x4Wm5uMzJXZDJHc0k4MGJkclUwcDg1OHhlWk8zZXUK
OURyaEJEOTlET3d4b0llSkdNcDZndnBWVnNFSitXTUJQZ1FIcEYyblRtMDUrdWhqVEVCQStjYXBo
Z0tDQXpSRTBHQWNlK3d4VXJueQpMcEh5aE1yLzc3Ly95aVdYWEdJYUFRaFltV3JTZHNjZHQ4dC8v
dk1mNmRxMXE4VTUvZlRUVFV0azJpR05qN0k3dCtlZWU4cUpKNTRvCksxZXVsRjEzM1ZWYTdMYWJ0
R25UUmdZTkdoUmdtSi9QaU9IRExieExBeThkYUY2Z1pXcld2TG5WRDNYSHZldllzYU85NlBEeUdq
dDIKckRUVmEzdTNiMjlSY2Y4aFBGNXl5Y1YyZjRjT0hXcENCZUpoZTJhWTN2WHExVXZENXM4ZjdR
RU9Ra2hFOE16ejc2TmFFR2hDMEQ3eQpYSjUvb3Z2L29RcHlEejM0b0FreWhZbWZLSDM2SjM3K0Vq
MmY5TTlybVpHajVOczMyeC9iMytZdE9TcUFpSlJWRTZ4SWU0Z0lJMTVPCnRrejVkS1EwYXRuV2Iy
RFR4cjhuYlR2MmtESmwwKzBkclp2QXEvQWhza21GajNXYnNtWDUraXdUUVB3SVBDQUJFaUNCRWlh
UVVBQ0IKdlNnRWo0eU05YVlGd1VEYzluTEg2RUw3eGRkZWUwMHdJTjJzZy8xREQrMG9GMTk4a2ZU
bzBVUDZuTnhIaGcwZFptR3hmUzljang0OQpCUU5wTEdxZi9QWFhNbDBGRjVnWjNYcnJyVFlJejlZ
ZUV5WmNtTzNIN0gvOSt2WGw5dHR2bDMzMjJjZmlZMTdmMDk4ZnNka2J6ZitUClR6NlI1NTkvM2di
L01FM0tVcTNDb2tVTDVhbW5ucEpQUC90VVpzK2FiZWsvL1BERHBxVnAyTENSekp3NTB6UUpYYnZw
b0YvTEQvZmMKYzgvSmpUZmVxSU4xYUc0R3kzQWR1TC83M3J2bUQ0M0VUei85WkFQbFJZc1d5Nk9Q
RHBZSkV5WkkyZlN5Z2huOHhZc1htMUExZi81OApFeDVnWXVYSzU5SkhIaGpBNzdGSGE5TUV3TFR0
cTBsZnlabzFhK1NBQXc0d3RUakNkTzdjMlRRY2wxMTJHYXJxbHc5K0dPanZwa0lICjdnZml3eDhE
ZUF6OCsvZnZMNVVxVmRKUWVYd3lObVFZUTJpVW5NUHhpaFVyNUpaYmJySDg2OWFwSzlqbERDWnZB
d2NPVkkzS2hjYjMKeXkrL05CTXZzRC9ubkhOazFxeFpjdGRkZDZtSjJPbDZQOU5NYUdyZW9yblZC
ZmNQNWxRd0t3dm1qL0poL1JBY0JEdW8vb1ArSDN6dwpnWXdaTTBhR0RSdG1ZZHc1elBhZWVPSUp1
Znp5eStYVVUwK1ZsMTU2U2Q1OTkxM2pmUGpoaDh1UUlVUGt0OTkrazN0VWNJVlFlK2loCmg1cDUy
ajMzM0pNdi9UQS95eVRBaC81S0pMZjlSOWpnZjE3N0lSL3lZZnZJZXpJaVI4WDdmS3pQTEN2TDEy
MlJkTzF6eStwSDU0L3MKM1FMUnJQY056OW9qaW5LcFdHdlA4bHJkSkNiSHd6b1BGVDcwa3UyQ3Bj
ZHJObVRMU2l4bVZ3MElIUW1RQUFtVUZnSUpCUkFuY05pKwo0anByajlsN0RJSnRma3BuWmpBQW5q
MTdsdnp5eTY4Mk9NUkFHQVBrdVhQbTZuZUd0R2l4bXp6NDRBTnk3cm5uMll3K3pJdWdNWmcyCmRa
bzBhZHJFQnM5VnF1d2ltek0zbS9rVjFqWkFnL0hjczgvSlUwOFBrV2VlZVVZRmlpR1JkeUg2MlZ6
MU1mSy85TkpMWlB6NDhYTGwKbFZkSWx5T1B0RTU0M2JwMU5paGR2SEN4YVZ3d3c0OUI3Ymh4NHdR
YUJnZy92L3p5aTZ4ZnUxN0tXNGVjSm9qVFNMVXowQUswYTlmVwpUS0dXTGw0cU5XdlZNTUVrdDR1
WHpaczJ5eUdISEtMMW5TM05tamFUd1lNZjFmdW9id1V0M1QrcUJlalN1WXRwaXlwV3JPanpjZjRZ
CjFEZHYzdHdFTlFnb2MyYlBNVzBFNnBPcGRjZFlFT3MvTUpqSGdMMk1HdjFtYkZpdmcrLzNUQUND
Z1BmMDAwLzc4VkgvdW5YcldGajgKUU9SaG5RNnoranMrNWNxV1UrRndoRjgrcEcvdktjM3ZsRk5P
a2VsVHAwdjNIc2ZLL2ZmZnI5cWhKc1lIZ2lMaVF5REVSZ0ZZdjRHMQpQY2dIMTVjc1dXeENCelFp
dTFiZDFjcTlZTUVDNDR6NzU5SkgvZkNIZXNIOS92dHZkbi9oWDY5ZVBSTXNvY2xCWEFpY2lJanpi
MVZyCmhyWUI4NzJtVFpxcXBtcU9DbnlQeXNjZmo1WGFkZXJJc24rV1dmM0JFVUxhQ3krOFlDWm81
Y3VYODlOMzlVZitncGxEZkd2NndmcTcKOHRHZmZOZysrSHlVMXY1aDNhYnlzbVJ0dHZWZ2JsTExk
V21SdTZaZFd4U25YYlgxMXlwN21BbldoczFxZ3FYSFpTcVVqeEthbDBpQQpCRWlnWkFqbzByYjR6
bWxBMEFGQzgySGFEMFRKN1FFaGNGU3FWTmtHampEdmljekU1NmFwblI3aVY2c1dXZlFHNFFNTDRM
QXVwSndPCkdpdFdxR0NEN3ZLNk9DN05RNElpQng5OHNOeDIyMjNTYW85V2NzVGhSOGl2di82cVYz
VTRxZjQyY05SeW1Ndk5INHZhMTYvUDhQMWgKL29WcnE5ZXN4bnZGZDdWclJYNUFFYVpZTUdINjcy
Ly9OWDhNN0tHSmFOd3diMmN1Q0YyN1Z0czFFRCtTUHdRTGxCL2hYZjFkWWVyVwpybXZsTXo5Y3pD
MmY4NGVtQkhuYmkwUXZRdWlwb1BWMy9xZ2YyR0d0RGNxRStGbGJzbVQxNnRYMmdZWUZhMnhjZlBp
bnE3cTlZY09HCnBoMkl4bWZsdnl0Tld4UG1CODFTZmo0UjA2d2dYMmlxWEYxZ1ZvWjdCek15YUpC
UVRwaGZnZTljTldkcjFxeTV6ejlZUHNkL3hJalgKWkxCcWpnWVBIbXdtYmJtVkRud0JscWo1V21X
QnRtcXZ2ZmFTcXJ0V1ZiTzNpTTN5MkxFZmk2ZFRlazJhTkxINjQvN2dIcU10UW1pcgpVcVZxM1B6
RDliZk1RdmNuR2o5WGZzYVAvZndaUzIyTTVCZTlmeUlmRUdEN0tNenpnZjR0Ujk4TG5yN3o3SU5P
WDYrcElaWmdhVHErClBjRzVoc3M5dC9CS1BBZlh0WC9HS3hCYjU1ZFRqWDA2TlNCb2pIUWtRQUts
aEVEU0doQTNPRVduNkk1ZEhkdzUvREFEalcrNE1ybm0KVzI1UWl1dk96K0lFemhFZTExcTBhR0Zo
Y0Z4QkIvekI5QkFHNTNEd2g4UEFHSVA1TW1VamVjSWZRby9GMDI4NERPajNhTDJIcFl2cgpXTy94
czY0Zmdma1RkdXZDZ0xkODd1d1Exak5ndlVMNTh0Rm5pekJERDFNbVZ3L0xBUDgwZXo5ZnJaY3Ju
L09IWHpBZU5BRlc3bHhXCkNJZHpDRkFZaUNOK0RSMWNYM3Z0dFpiRTU1OS9ycHFlSzYzTUdQeTc5
TEdHd3JSVWdmb2pBdnpuenBzbkR6MzBrSFRyMXMzU3dEL1UKSCtHdExMbDhJT1RBekExMWdqOGN3
c0M1ZWtJakFuTW9hSEt3cGdOQ0NOaEJzRHI2NktQejhVYzg1SS83RDNmdnZmZkszbnZ2YmNjdQpm
VmQrbHo3T0lSaWk3bkE0aDZDRWRUQjMzbm1uYVRydXVPTU95OHY1NDl2Rnh6RmNPUDNJMWJ6LzlN
Ly8vT1NSaVJ5UkQvbWdKYmpuCmsrMGpQNEhpZkQ0cWxpc3JGY3VyQ1RSZWRkb2Y0Z3UvaUc1ZGRP
VDFoOHVSY3lzbTFoaEYxaG1oRldmcnd2TWNuYmp4VklncHI3K20KVGhNc2c4Ui9KRUFDcFlSQTBn
SUlCdEFZbE9MRjVENnVEdTVsNVFhRHdXL0V3d2NPMTkyeFM4T2R1N1JjR1BqakdOOHVqT3Y4RWRi
bApDZUVCYXpUT1BmZGM2M3lkSCtLNGVCaTh3N240RUR5Z1RZQ3AwK09QUDI1clRoQVcvdGp1Rmgr
WHZrWE0vZWZpQjlNTyt1UFkrWVhqCll3QVBreU5YSnBpQ3dld0lnMyszSlM5MkVvUG1BV0hDOFk4
NjZpalRtTGkxSVBDSCtkTFNwVXROczRJNHJud29CL3hqOFhOK3JpeFkKNndFWGpPL0s0TUtnL0Nn
cmhKRDk5dHZQVE1VR0RScGtBcExiR2pnWUgzbTR1TzZlQnYzRFpRdWZJejRjRnVnZmNjUVJ0bGJr
bW11dQpzVFVyZGRRY0MrSGhYQjQ0RHFidjR1TzZjL1NQREs3QmczeHlSM0N1Y2VnMzJ3ZmJoMnNP
cGVINXFLRENSOFh5V0hNWmFhc1FQc3pwCk9zaVJkL2VWRmZQK1FLdlZUNXBVcjk5TSt0MDNXdExV
OUJhWFlES2RvK0YwRjEvSlNjczJBU1NkSmxnUmZ2eFBBaVJRS2dna0pZQmcKa0FmaEF4ODNVSFFk
TkY3YTdocTBCamlIbGdET3hYR0RSUGc3dnhhcTZjQmlZb1J4RHVuZ2d6QkkzOFZ6WVhETkRSSmdx
Z1FoQWlaUgpYM3p4aFNYaDhzY0o0aUFkRng3WFhQeUREanJJRm94akxRUjJ2SUlRRS9SM3g5QXVZ
RjJDYzRpUFFmOGZmL3hoV2hTWVVBWFRSemlYCkw4TENPWDlzUmZ2eHh4Lzc5WWRHQUlJUUZ0dGpH
MTZZTzJFaE5zelBYUDBoWEVCVEFqZHExQ2pUNUxUWG5hbWNQOHlmb0RYQXVoVGsKNitxSDhEaDIz
TnkzOHdkanNJM0dCN3Q2b1N6WURRemhYRnlZUHkxWnNzUis2d1dMLzdHZE1OYUtZRXRoNTF6NjRm
eGQrd242NDFxdwpqTWdMNXlpVGk0LzhzSkFkYlFVN2dHRXJaL0JFbUpZdFc4by8vL3hqQzlFaGtM
ZzRqamZTZ25QbjlNOXIvNDRGK2JCOThQbklMM1E1CkhxV2gvNmlrd2tlbEN2ck8xUWNWNVhHQ2lK
N0owZWZmS1NOdU9kSHYzN3FlZTd0VXFWekp4QkhVQVh1UDRIZEF0dWpHTERpdm9OcVUKOUlyUnRm
cm9CK2hJZ0FSSW9MZ0o1STMrWStTTVFUWUdvVzRRaVc4M1dIUlIzRFUzb0hYbVN6aEhmRGVvUkRv
NFJtZDYxbGxuMmU5WQpRTnVBdFFIWUFRclhrUmJpNHhqaDhlM1NRMzdvVEhFTk8xSGhkekRnV3Jk
dTdadnVPSC9rNCtMaEdoeTBCOWkxNjd2dnZyUHdtUG1ICllPRDhFY2JGUng1ZjYwNWQvZnIxdytW
OERqc3hYWGpoaGNZQkhzSDRMbC9FZHc3KzJBb1lpNmFoNVdqYnRxM1ZBYnR2WVdFOE5EUVkKYk9N
WUEyM0VoWWtVRnNWajNRaDRJMTBzR01jYUdmampBMjBFRm1OalBZUnp3ZkxINHdlL01COElYR2Vj
Y1lhL2RTL0s0NFFzQ0FIWQpuaGZtYkNnL2hLWG16WnRidHNINkIvTkhtZUVjRXh3N2Y5eG4xTUds
ai9MQUlheXIzencxSWNOdVdNNHNDenQxSVUvNGQralF3YlFqCjBBeWRmZmJadGxzYTRydjBFY2E1
V09XamY0UUErZVFOUXRsK0l2MHJuNStTN3o4cTZacU5pcnBXTXJJRFZwNEFncEx0dms4SE9iRG4K
dWZMZHg2OUsrODY5WmM5RHVxcFlFdW4vc1BnY3drZE9kbzZ1L1lENDRrbGxGV1RLVjZJQUV1bngr
SjhFU0tBMEVFalRGMjdlMnpkUQpJbHpHb21Ob0YyQVdCRTJERTBiQ0FrZ3dDUnk3QWFSTExwNC9C
dDc0N1E2a0NaZHFmQmZISWllSVAyalFJRE83d2hxUDQ0OC8zaGJECnB4TGZoVTJsZmk0T3Z2LzY2
eS85N1k4N2JFdGVWMTkzSFpvT2FET0M5Y2VPWXpEYlF0akk3NWprOFlFUWhWK1doMUFUajI4d2Yz
ZGMKMlBLWFZIeG9ncHpaVlpBUHlvTTJDZ0VGR3dTVVZQbDJkUDZzWDE0WEdXNS9yczFaNDlOLzlF
K3QveWUvU0p1SjFuNEdmcEV1YmVwVgoxRWs1dFF6UUNaVzBYRk1zQ0JxWVg5bVVzVmFHWE5GVkxu
dmlJNmxhbzU2S0dkcE9kYjBIVEsvUURyTjEvUWQrN0hmanBreFpzVHBECmZ2cGh0b3dldUllWi9B
WUZUSmMzdjBtQUJFaWdPQWtrRkVDd3pTMDBESTBhTmJLRng1aXBkclBYNFlLaTA0djJBbmJoNk8v
Smw3cUkKRzJaVXRXdlhkbGo4NzFUNFFCdUJ4ZDhRQ3AxTEpYNjBGeERqcy8yaURZUUZWTGF2Q0FF
K0gzdytpdlA1dUdWQ1dXbGRIMnNac1g0eQo4b0hnZ1k4K3B2YTljZjA2cWFTN0FPTGNmV0IraFdP
VlBWUUEwZDlqMnBRbGN4Y3NsNVd6ZnBVbkw5MlBBb2pyMFBoTkFpUlFvZ1JpCm1tQmhFSUx0Y3Vm
TW1TT3RXcld5R1dhMzlXbUpsbmc3enh5L2NWSVVEaVpkZENSQUFpUkFBanNtZ1RxMWRKZkhtaEhC
UTNmUk5ZRUQKd2dlY2ZldHh6Wm9xZk9pNUtqMGlBa2p1TVlRUVZhQ2JFRkpoZzVwZmFmeWFHVC9y
TzcyVHhzMU5CQW5Sa1FBSmtFQUpFWWdwZ0tBOApzTWVIV1JDRUVQd0tkOUJzcUlUS3kyeEpnQVJJ
Z0FSSVlJY24wTGlKQ2cxVjg3UWZzTUNDc0JGMHZpd0JEWWg2T0MySTA0QmdHOTcwClZUbFNlYzN2
c2x1alN2Wk9EOGJuTVFtUUFBbVVGSUdZSmxnb0VOVE5XQWo4MUZOUG1RMSs5KzdkN1pmRTNZTGhr
aW8wOHlVQkVpQUIKRWlDQkhaa0FObyt2a0ptbFA5b2JkNTdRUndDaEkraXlOTzdjbWJQazEzRmpK
V3ZsSXVuZnY3LzlnQ3cxSUVGS1BDWUJFaWdwQW5FRgpFQlFLdXpITm1qVkwzbm5uSGZ2Uk9aelRr
UUFKa0FBSmtBQUpsRzRDc0ZwbzJMQ2g5TzNiMTdZdXB4VkQ2YjVmTEIwSjdFd0VFZ29nCmdBRk5D
SDUzQTc5NnZXclZLaE5LZGlaSXJDc0prQUFKa0FBSkZEY0JDQXlGbmZSRDNKbzFhMHFEQmczODdj
Mkx1L3pNandSSWdBUmkKRVVoS0FJa1ZtZGRKZ0FSSWdBUklnQVJJZ0FSSWdBUklJQlVDa1IvZlND
VUd3NUlBQ1pBQUNaQUFDWkFBQ1pBQUNaQkFJUWxRQUNrawpPRVlqQVJJZ0FSSWdBUklnQVJJZ0FS
SkluUUFGa05TWk1RWUprQUFKa0FBSmtBQUprQUFKa0VBaENWQUFLU1E0UmlNQkVpQUJFaUFCCkVp
QUJFaUFCRWtpZEFBV1ExSmt4QmdtUUFBbVFBQW1RQUFtUUFBbVFRQ0VKVUFBcEpEaEdJd0VTSUFF
U0lBRVNJQUVTSUFFU1NKMEEKQlpEVW1URUdDWkFBQ1pBQUNaQUFDWkFBQ1pCQUlRbFFBQ2trT0VZ
akFSSWdBUklnQVJJZ0FSSWdBUkpJblFBRmtOU1pNUVlKa0FBSgprQUFKa0FBSmtBQUprRUFoQ1ZB
QUtTUTRSaU1CRWlBQkVpQUJFaUFCRWlBQkVraWRBQVdRMUpreEJnbVFBQW1RQUFtUUFBbVFBQW1R
ClFDRUpVQUFwSkRoR0l3RVNJQUVTSUFFU0lBRVNJQUVTU0ozQU5oRkFsaTFiSnF0V3JZcFptazJi
TnNtQ0JRdkU4N3lvWWJLeXNpUW4KSnllcUh5K1NBQW1RQUFtUUFBbVFBQW1RQUFsc3Z3VFNWQWlJ
TGdVVW9rNlptWm5TcTFjdm1UVnJsbXpldkZrKyt1Z2ptVEZqaHB4Ngo2cWxTdlhwMVMvR1JSeDZS
cDU5K1dxcFdyU3BublhXVzNITExMUVZ5T3ZMSUk2Vno1ODR5YU5DZ0FuNDd5b1UzM25oRGpqbm1H
S2xkCnU3WlY2ZXV2djVZUFB2aEFHalpzS09lY2M0N1VxbFhMcityWXNXUGwrKysvbDlXclY4c1JS
eHdoNEZPdFdqWHpIejU4dUp4d3dnaysKWHo5U0tUcFl2MzY5dlBubW13VktkUHJwcDh2OCtmUGx0
OTkrazFOT09hV0FQeStRQUFtUUFBbVFBQW1RQUFuc2VBU0tWQVB5MVZkZgp5WjkvL2luLys5Ly9U
TVBScEVrVGVlQ0JCMlQ1OHVWR0xqczdXeUNBdlB2dXUvTGYvLzdYaEkrRkN4Zkt2SG56ZGp5eWNX
bzBaY29VCkdUMTZ0Qzk4WUhCKzl0bG55MjY3N1dic0lIeXRYTG5TVCtHMTExNno0OTEzMzEzdXZm
ZGVPZi84ODMyL2d3OCtXRENRaDlhb3REclUKNVpKTExwRVBQL3hRcGsyYjVuK2dDWU5nOWNJTEx4
UzY2T3ZXclpPWk0yY1dPajRqa2dBSmtBQUprQUFKa0FBSkZDK0JJdFdBUUdNeAphZElrbVRCaFF0
UmFZS2E3YmR1MkpwQzRtWC9NM3JkcTFVb2VlK3d4UDA2cUdoQU1Zai85OUZNL2ZybHk1YVJCZ3dh
bUdZQ21BTnFZCndZTUh5NWxubmluTm16ZTNjRC8rK0tOcGFvSXo3eSs5OUpJY2VPQ0Jnb0V4QktT
K2ZmdktMcnZzWXVFaFhFMmVQRm1RZHIxNjlVelQKVTdObVRmT0Q1dUtYWDM2Ujh1WExTNk5HalN6
ZktsV3FtRi80MzRvVksrU0FBdzZRaVJNbm1zQUJyVkd6WnMwRWVmZm8wY09DNDd0agp4NDV5eHgx
M2hLUExOOTk4WTFvUURPcWRGdVRHRzI4VUNIZEJoc0dJenovL3ZDQmY1OHFVS1NOMTZ0U1JvNDQ2
eXNxQTY4Z2ZBaENFCm43UzBOQXM2YXRRb2FkR2loZXkzMzM1MnZtYk5Hbm41NVpkbHdJQUJkajVr
eUJEamdEQmdzM1RwMHFpYURHZzVVTWZwMDZjTEJLYWkKZENOR2pKRGJicnZOTkNsRm1TN1RJZ0VT
SUFFU0lBRVNJQUVTMkVZRVlJSlZGTzcvL3UvL1BCMlFlNVVyVi9iMjJHTVA3OFVYWC9SMAprR3pI
Zi8vOXQ2ZG1XWjRPUW1IdTViVnMyZEk3K2VTVHZmdnZ2OS9UQWI1WG8wWU5DNmNEZVN0S2x5NWR2
THZ1dXN2VDJYNnZhZE9tCm5nN0dQUjI4eGl6bVBmZmNZK20wYWRQRzY5Q2hnM2ZRUVFkNU9zRDJW
Tml4T0gvODhZZGQxNEczcDlvV3U2WURWMHMzbUdpN2R1MDgKTlhmeVhubmxGVThGQ1l2ai9IWFFi
ZWM2Z1BaVUFQRjAwTzJwMXNHOCsvWHJaMzRxdkJnRGxDR1dlL0xKSjczamp6L2U5LzdrazArOApp
aFVyZWlxSStOZlVSTTFyM2JxMWZ4NDhlT0tKSjd3OTk5d3plTWtEWHhWNHZJeU1qSHpYY2FJYUF1
K3d3dzZ6OHFGYytCeHl5Q0dlCkNtS2VDa3plb2tXTFBGMXY0NTE3N3JsV0RxVHYzSlZYWHVtbHA2
ZDdUejMxbEYzNjlkZGZQVEIwOVFhSEw3NzR3dnhVQ1BCVXdITlIKODMyRE9lNTd0SHY0K3V1dmV6
MTc5dlREdTNQVkNubXE4ZkdHRFJ0bWZpaFgrL2J0UFRYbDgxUXd0R3MvL1BDRFY3OStmU3NqMnR3
VgpWMXpocDhNREVpQUJFaUFCRWlBQkVpQ0Iwa2tBQzhHTHhHSHdlKzIxMTNxZE9uWHlkQkc2dDJI
REJ2dkd3Rk8xQ1RabzFWbC9HNGhDCklJQndnc0d4cm9Qd0xyLzhjZ3VybWdjckN3UVExV0I0L2Z2
Mzl6RG83ZE9uajllN2QrKzQ1VlN0Z3VjRUdBVFUyWG9iTE91c3ZCOXYKbjMzMjhTQW93VUVncWxD
aGdxZmFFZDhmd2c0RzgzQi8vZldYbFJWMUNidU5HemZhWUYxTnpjSmVOcUJIblJFbW1sUHRobmZO
TmRmNApYaWdQOGcyNjk5OS8zOG9Hd1FCdTdkcTFIZ2JnR0hpcnhzZ3ZvNHV6WmNzV3IyelpzdDVu
bjMzbUxpWDF2Zi8rKzN2dnZQT09IeFlDCklkZ0hIZktGUUFlbmF6bU15WklsUyt3Yy9GVHpZOGU2
bnNkVGpZMGRoLzg1QVVTMUxKNmFZTmxIVGU4c0dPcS8xMTU3K1ZGd3Z1dXUKdTVxQXFwb3RUOWU5
bU5BSUlXM09uRGwydjJiUG5tM2hVVzhJYXhBV2NaOXd6K2xJZ0FSSWdBUklnQVJJZ0FSS040RWlX
d09pbWc4egpWNElaRXN4N0tsV3FwT1B3UEtjRFpIRW1TekMvVXEySHdFeEpCN0VXRm5GdzdKd09o
QVVtUGpEWjBobHkrZTY3NzV4WDFHK1lJK2xBCjNmZlRRYXpnOCsrLy8vclhjQUR6S1RpWUcyRmhQ
TXkzNEdCMkJiTW1aNktGYXpDM1FqbkRUZ2ZEdGtnYzRjTU9wbDh3Y1FybjY4SmgKdll0cWdOeXB3
S3dwekFybk1CdERtZUN3dmdQcDRZUDFOVEREQ2pyVlVwaUpFOUtPNXJBR0IyWmlZZGU0Y2VNQzVh
eGJ0MjYrWURDLwpjdldFT1JydUUweXRzSllEOXh6clV1QlVZRE5UdW55UlF5ZTRud01IRHJUUHVI
SGpRcjU1cDJnWE1LMVNBY25NekhBZlZOaVF0OTU2Cnkwek5ZUElGaDNyakhqdVRNaHpUa1FBSmtB
QUprQUFKa0FBSmxHNENSU2FBRkhVMTFhVEdUeEtDaWNweC9ubTBBK3dhRmQ3NkZ3TlUKckkxd1Ry
VVNvbVpXN2xUVUhFbXdJQndPdTFCaHdJczRjTmdtV0UyWC9ITzdHUGlIUVhHMGhkOVlQd0ZoSzVo
dklGb0JQd2dzMk4wcQo2RkFQQ0VkT01JRVFoTVhubjMvK3VTM3FQKys4ODB3UUNjWkJXWkJ2Tktj
YUo3bnV1dXNLZUlYNVlKMUllSTFHT0UwSWFJOCsrcWgwCjc5NWQxUFJOSUl5QklZU2ZrMDQ2cVVB
ZXdRdFlpNEkxUXZnRUY5SUh3K0E0V0hlY2c5R1lNV05FdFNNbThHQnRDaDBKa0FBSmtBQUoKa0FB
SmtNRDJTYURVQ2lDcDR0eDMzMzFsNnRTcGNhTmhoeTVkVytHSHdVSnZESjZ4VGV5dHQ5NXFBMXpu
aVFYYVdDaGUxQTREZUd4VAo3QncwRE5CUXVKM0NjRjNOemdUMWllYWdEWUpnb21zdmZHOHNaTWR1
WWtoN2E5empqejh1MTE5L2Zkd2trQWMwTVZqMGY5VlZWNG1hClJZbWEwSm1BaEsyVnQ1VTc3cmpq
UkUydlJNM3liSE1BYUdHY1N5U2N1bkQ4SmdFU0lBRVNJQUVTSUFFU0tIa0NKUzZBd0lRSE8xSVYK
MW1Id2pSbDF6SnJEekNpYVZpSlcydENBSUs0dXlwWVRUend4bjNZa0dBZmFERGR6Nzc1aEhvVnl3
MVFxRllkZHYzU2RpUjlGMTZYWQpqbGZQUGZlY1hZUDJBOXZ1NmdKd1A0d3VGUGVQNFFkTlRsQkFn
VUNEK3V2Nkd6L2MxaDVnVnkvVTlhZWZmaklUSjVjZUJCQm9aTEJMCkdIYkRnaEFIczZxTEw3N1lC
U255YndoWFlBYXQwMm1ubldhYUh0eDNPTFNmeFlzWHl6Ly8vRlBrK1RKQkVpQUJFaUFCRWlBQkVp
Q0IKb2ljUXNUY3ErblNUVHZHQ0N5NFFYV1J1YXhpR0RoMHFSeDk5ZE5KeEVmRGpqejhXWGFCdWNX
QmU1VXlvNGlXQ0xXUHgyeFBRZm1BZAp3ME1QUFdUYnljYUs4K1dYWDBxM2J0MEtlTU1FNmJMTExp
dHdQZDRGM1RITFRKancyeFY3NzcyM0JjV1BFaDU3N0xFbVFHR3dmZUdGCkYvcmIyVUw0d2FBZjZ4
NncxZ0ZyYlBCRGpoQ2FuSVBtQWlaVzhDc0toenk3ZHUzcWEyVlFIdWRRanJmZmZsdDBrd0VUZ3NB
eXVLYkYKaFN2S2I1aVE0YmRPM05iRzRLNEw5eTBMQ0pIUUNrR3pkZW1sbDhyRER6OWNsRmt6TFJJ
Z0FSSWdBUklnQVJJZ2dTSW1VS1MvQTdJMQpaY01zdG02cG1tKzJmV3ZTaXhmM3BwdHVzZ1hldXJ1
VENTL3V0ejdpeFNsS1B3eW9iN2poQnZ0aFB2ZWJHMGdmSm1KZzRIN2Z3K1VKCnJRN1dXR0E5Qm9T
Um9NTmljQWdrN3NjS2czNDcyakhNcnJCSUhvSlkyR0g5Q2dRVXJFbWhJd0VTSUFFU0lBRVNJQUVT
S0wwRVNvMEEKVW5vUmJadVNZWDBKTkNCWVBMODFEcjh1cmxzWjU5dEJiR3ZTWTF3U0lBRVNJQUVT
SUFFU0lBRVMySllFS0lCc1M3cE1td1JJZ0FSSQpnQVJJZ0FSSWdBUklJQitCZ3JZcytieDVRZ0lr
UUFJa1FBSWtRQUlrUUFJa1FBSkZSNEFDU05HeFpFb2tRQUlrUUFJa1FBSWtRQUlrClFBSUpDRkFB
U1FDSTNpUkFBaVJBQWlSQUFpUkFBaVJBQWtWSGdBSkkwYkZrU2lSQUFpUkFBaVJBQWlSQUFpUkFB
Z2tJVUFCSkFJamUKSkVBQ0pFQUNKRUFDSkVBQ0pFQUNSVWVBQWtqUnNXUktKRUFDSkVBQ0pFQUNK
RUFDSkVBQ0NRaFFBRWtBaU40a1FBSWtRQUlrUUFJawpRQUlrUUFKRlI0QUNTTkd4WkVva1FBSWtR
QUlrUUFJa1FBSWtRQUlKQ0ZBQVNRQ0kzaVJBQWlSQUFpUkFBaVJBQWlSQUFrVkhnQUpJCjBiRmtT
aVJBQWlSQUFpUkFBaVJBQWlSQUFna0lVQUJKQUlqZUpFQUNKRUFDSkVBQ0pFQUNKRUFDUlVlQUFr
alJzV1JLSkVBQ0pFQUMKSkVBQ0pFQUNKRUFDQ1Fpa0ovQTM3K3pzYkprK2ZicE1uVHBWbGk1ZEtt
bjZsK1BsaU9kNSthS25wYVZKbVRJcTAraGwrcE1QMndlZgpqMkFId2Y2Qi9TUGZEOG0vSDRlUHFD
Umx5K3E3TmlkL1B4SjhwdUlkbHltVEprMmFWSmMrZmZhV0FkZDBrWW9WazNyZHgwdVNmaVJBCkFp
UlFaQVRTZEpBWXQzZUQ4UEh5eXkvTHFsV3I1TXd6ejVUYXRXc0xCaEowSkVBQ0pFQUNKRUFDMjRi
QTZPOVhTYk1hNlZJdXZZeVUKc2NtOVNENllBQ3pvUE16NzZhUWdKdi8wby8rMlpPWEkvRGtyWk9p
emswU3lzbVRNcUF0VkNDbFhNQ3F2a0FBSmtFQUpFRWdvZ0V5ZQpQRm1tVEpraS9hL3FMeFVxVmpE
aGd3SklDZHdwWmtrQ0pFQUNKTERURUhqODgrVnlZTlB5VWxhdENsU1pZVUlJUkEvTS83bFpRNXk3
CjQ0andvWUtJQ1NHZVpHWGpreVByTjI2UlFUZU5rdE82N3k0M0QreTIwL0JqUlVtQUJFbzNnYmc2
V1dnL0prMmFKTzNhdGRQWmxDMlMKbHFsekw5b1pSanJCeUR5TTYveGNOWjFDQlVKS3NIT2tmNFFB
K1VSYUROc0hudy8yRDNtRFIvYVA3QjlCSVBoK1dMWStSMVp0eUZFQgp4TE4zS1V5cTRDQ0F1R2Ru
K1pKRlVxZEJJMnRJNkZraGZDQU5hRUd5YzNJa1N3ODJia21UQTdydks2K05uQ1FEcnp0U3picktX
anI4ClJ3SWtRQUlsU1NDaEFMSng0MFl6dTlxeVpZdVZFemE4UVEySTZ3aGRKZEQ1MFQveW9nQVQ4
ckYzb3pXUGVmUG1TYjE2OWRRTW9LSnIKTHZuNGJOcTBTWll2WHk2Tkd6ZjIyMUNRWDVhYUVhQnRC
VitnUVg4a3l2Ykg1NC85RC9zZjE4RnN6LzNEMmswNUtqeEE0SWc4MDJtcQo2NER3QVlldmxjc1d5
KzBYOVpSQno0MlJPZzJiMlhYMGZ4QkVJbVpZYW5tVkxiSXgwNVBzRnM1bkFBQWdBRWxFUVZTYURX
dktuT1ZaCmFwcWxBZzBGRUdQRmZ5UkFBaVZMSUs0QXNtSERCb0VXcEZ5NWNtcENHaG44NGVVZWZN
R2pKeHo3MFZoWnNXSkZ2cG9jY01BQnN2dnUKdTh2YmI3OHRKNTEwa2xTdlh0MmYzY2tYTVBjTmdU
VFJlUlp3MjRuL29rV0w1TWNmZjVUamp6L2Vxb0R6ZDk1NVI5YXRXeWNubm5paQo3THZ2dm43OS92
ampENWs0Y2FMTW1UTkg5bXE3bDNUcDNFVmF0R2hoL3IvLy9yc3NXN1pNT25mdUhFR3huZFEvM3Yz
N2RzYTNjdFZWClYwbDZlcnBVcVZKRnhvd1o0N2VMYXRXcm1ZVHk1Sk5QeW9zdnZtaitmZnYybGV1
dXU2NUEvWTg3N2pqcDFLbVQzSHp6elhuTlpBZmcKZ3hGRFBINzBKeCsyaiszNy9WQ1krN2NoTTBj
MjZUb082RXJUZE8wNnVqb0lJWkVqa1plZnVGUFdyVjRwd3diZkpnTWVIcDdyNjB5dwpJSVJFekxB
MmJ2RWtNMGMzUUNoZlFUSXlNdXhkbk5lQjhvZ0VTSUFFU29aQVRBRUV3Z0NFRGd3YTRjSWFFSFNL
RVhIQms4Y2VlMHlnCktkbC8vLzM5V2pTbzMwQm51K3ViMzZHSEhpcTc3TEtMNzRlRFlQeDhIcmtu
OEVjSCt2dnZ2MG5UcGsxdFlCb01sMHg4Vjc1Z1BIZGMKbFBIWHIxOHZGMTk4c1F3ZE90U1lMVnk0
MEFTUlUwNDVSZXJXclN2OSt2V1RaNTU1Um80NDRnakxmc0tFQ1RKNzFteHB2L2ZlOHMwMwprK1cy
VzIrVG1UTm5TclZxMWFSbHk1Wnl5eTIzbUtaZzk5MWJhZmhJTFZ5NTNYZFJsdCtsR2Z3dXl2Ukhq
QmdoWGJ0MmxYdnV1Y2V5CndJWUdhRE9ISHRyQjJnV0VYQWdnYjczMWx0K0dGc3hmb0xOMzJicUxT
Mk8vV0dpVG1NRXpZVGpRL3Z3QWdZT2lMSDhnV2YrUTZlYzkKL3o2VXdBSDVrRTl4OWIrQlp1Y2Y3
Z2p0YjFPV0o1djFBNjFIR2FnMHpFVnFOblBxT1BucG0zRjI1YmZ2SnNrMzR6K1FBNC9xcFpOWQow
QUpIUHRrYUI1OE1GV1N5VkFBcFd5RXlrWWgrRkFJUkhRbVFBQW1VSklHWUFvZ3JGQVNRdFd2WFNz
MmFOVzJMWFY5TEFVMklDNlRmClJ4NTVwTngxMTUzVytkbmxYUDl2di8zV1RqSEl4R0FhbmFPNVVQ
ekl4ZnorbTlVa0I1cUFzV1BIQ2pRcTBlSy8vLzc3MHI1OWU5TzIKZlBYVmw1S1p1VVc2ZGVzbUsz
V1FPMkw0Y0xuNjZxdXQzRWlqYWRNbXVwNmx2V1VGYmNXZmYvNHBKNXh3Z2k4Y0RSLytxdno3Nzhw
SQpVYlI4MkhrRXUzNWgxcjFaczJaUjgwZmdBUU1HU00rZVBhVldyWm8yT0g3ODhjZWwwK0dIbXlB
Qi8wcVZLc2x0dDkwbVgzNDUwZXAvCndRVVhxQVFXNGRldlgxLzUrdXV2NVlNUFBwQXp6ampkL0cr
NjZTWTlQa1BEZnlrVktsUkFFcmt1d3Vlenp6NlQzMVdMVWw0MVV3MGEKTkpCamp6MDJ0dzZlQ2pS
VFpNYU1HYWExcWxPbmpoeHp6REZTbzBZTmkvL0dHMjlZUFRwMDZHQnJlZGFyZGdZN25JRlJ4SG55
N2JmZgpDYlEzSjZyVzZzM2M4QjA3ZHJRWDFvWU5HZkw4OHk5RWd1YnlRZG9ISDN5d3RHblRScS9u
djMrdWZXQUxaOVE1T3p2TDZsZTFhbFdaCm9lMEMvbWdYdUE4UVNobzNibVQ4a01IMUEyK1EzVnEw
a0x2dnZodW51UzVQQUhIOG5FL2tPM3IrZVdIb244cno1KzRmK1RrQ2JEOXMKUDdsdEliZi9kaTBq
OGwyMDdXUHpsaHdWUUVUS3FnbFdwTCtMQ0NOZVRyWk0rWFNrTkdyWjFzOSsydmozcEczSEhsS21i
THIyc2RwUAphbCtzNjg5bGt3b2Y2elpseS9MMVdTYUErQkY0UUFJa1FBSWxUQ0NoQUFKN1Vhejd5
TWhZYjFvUUNDUzJsenRHSjduQ0JBYVIwSkJrClpHelV6azlWeHRvNVkzUzVadlVhM1lPOGp3d2JO
a3lhTjI4dWE5YXMxZlBlTmhNKzVLa2hVclZLVmRNYWZQLzk5ellEL3NzdnY5aEEKZXZUbzBWSzdU
bTNwMTdlZjRZRjJvWHo1OHZMWlorUFVmalYzRFVwdS9vTUhEellCQUFQeHNXTS90bkpnd0R4bnpt
eUJJSERSUlJkWgplV0R5OU9hYmI1b2djTzY1NThxdi8vMVZIaHY4bUF4WEllWGRkOTgxMWZUYmI3
OWpNK3p1bm1DMkhhWmxNUG41NnF1dlRLTVRyQi9xCmo5OUYrZkRERCtYKysrLzM2ejlxMUNoNTVO
RkhMRTJrQlFFR0prVS8vUENqN0xISEhqNGZ4TWRnSCtzZTl0eHpUejkrNjlhdGJaM0UKUng5OUpO
MjdkM2ZGMFcrZFZWVytJMGVPbE1XTEY5dGdmZjc4K1dhNmhEckFIMlg1K2VlZjllV1RMWXNXTHBK
SEgzMVVvSEhCUGNPTwpacWpMd0lFRDVZSUxMeENzdVhqNDRZZE5XNE8xR1lqL3hSZGZ5SUlGQzZU
YjBkM3loMWNCNHZ2dmZ6QmVtemR2TmtFR0w3clZxMWNMCkJDWUllSzFidDhsMy8xRS84Sjg5ZTdh
VjQ3bm5ucGNSSTRiYlBlNXpzcmFMb2NPc1hOamVHYTVIajU3R0Fac2VURmFoYlBxMGFYclAKUDVO
YmI3M1ZOQ2paK2tiTnpNeVVSeDU1eEV5NDZ0ZXZMN2ZmZnJ2c3M4OCtGdC94Y2UzUHRjOWNULzJL
OEtOLzVQa2tuN3lXRVRsaQord2ozYi9rSmtVOXg4bG1mV1ZhV3I5c2k2YnI0dkt4KzdMV3EvL0RY
KzRabjlYL0VxZGhqNytLMXVrbE1qb2QxSGlwODZDWGJCVXVQCjEyeklscFZZeks0YUVEb1NJQUVT
S0MwRUVnb2dUdUN3ZmNWVnlJRDVDNFFTbTcvSHpJd2VZU0NLZ2ZpTUdkT3RYbGhrM0VZSG94czMK
YnBDNWMrY0taczQzWjI2MmI1eGpzQTZ0UVZ0ZC80QUI1UU1QUENEZGUzU1hGMTU0d1Fia21QWFAz
SlNwWmpxRFZRUFNSUVlOdWt2WApTclMxR2ZRc1UwbEhPbUhSL0JzMWFxUjVMN0gwVjY1Y3FTWTdU
UVFENUhsejVwbGZ4SFRNazF0dnU5VVdOME00T08yMDA2VFhjYjJrCnZRNTBNZWhGL0JxcTRZR3BF
T3FDQVdxd2ZpZnJZSG5hOUduUy9kanVCZnlocGFoVnE1Yk9QSlhSZkRjSnlnQTcyMW8xYW1uZE5o
dWYKcWxXcm1DbmJyRm16Yk9DTzlNZVBIeS9UcGszVjJmLy9aKzlNQUhTcTNqLyt6RDVqTi9aOUtF
dEpVc3F2K0VXb0pDb1VTU1VVV3Z4YgpWVnArS2FXRk5pcVJrcVdGU21sSHBaU3RWSkpFWlV1VzdM
c3gyLzAvMytlZDg3cnp6Z3pEeUx5WjcrR2Q5OTZ6M1hNKzk3N25udWMrCnozUHViL0wwMDA5TGph
UWFWdDRkSC8yWU1lTUxhZG15cGRaaHR4aTd5U0FkUW9WcjM0WU5HMDFMdEdQbkRvbFRHMThJRjY3
OSsxS1MKVlR2UnhJU3hhbXJHOXZERER4dWZhZE9teVpYZHJ0UTJSYW5RVU5mTzIzbXFSY0Y5REFJ
RmpwMjZMMVhQMDhObS9vYjgzYTdzcHRxagordEsxYTFmNS9mZmY1WW5IbjlCVEh6ai9mZnIwVWMz
TExFbFNJZE8xMzdYdjBVY2ZsY3N1dTB3NnE2YW53eVVkek14cysvYnRzbkpGCjRMcW9XYk9XUFBy
b1lPbmUvUm9aTVdLRWFXdmdjelIzemx5cHBocXJmdjM2cWZsZFVUdS9FQWdoUkVMajgrS0lGMlg0
YzhQTXRHMjQKQ3JOb2lkMkhjemgvU0dBNitmRDYwRjhDZngvQjhkR05YK0U2UHV4TWpwVjFPOUox
ck5laFZ1OFoyTWdjY2kzT3hqU01leUZCVDdHZApaNVU5ekFScnp6NDF3ZEx0eUxqWWtKemNKUUVT
SUlHQ0l4QjVzRU03RFFnR1FEeEZOKzBIQ21GVTlJMkFNUHVCTmdJZm1QVmtUZGZwCnFLY2ZES0lh
TUVsdTBhS0ZsQ3RienZZaDVIdzk4MnRadDI2ZENRblFkcUI4eVJMcW9LeWhoSDVqUW04VDY4dzZY
UDBRUURadTNDVHAKcWVubUJBNXpMSVNWcTFabW1rMWhMM0I4YUJrdytiV1EyWDRjRy9XamZUQURn
cWJFbjQ1dCtMSnMzN285eCtOREV3RWZGZGMvT0owagpKQlJKOFBHSk1BME9mRVVjQTVpMWJWTU5F
YlFmMEFEdDJoRkljK21vYysyYXRWYVhhMzlPL1llWkZlSnphaDhFRWpqL1EvUGsyb2NLCklUQTVm
bzBhTlZKdUM0THA2SStabS9uT0wvSzc4bkFpUno5Y2VkUUg3UWtFbDV6YUI3OFdYRVBGaWhTejQy
STdHUFQ2d1g3SmtxVXMKQ3VaY2FDLzhoV0ppWXlSZUJWR1kvc1ZxUDNCOEJKaDd3Wnl0ZHAzYWN2
Wi96NVpGaXhacDdQN3J5L0h6dDQvcDVPT3VYMTRmZ2Q4UgpmeDg2YkFUdlgrSDUrOEM5TmtQSFBV
L0hkL3ZncEdtY1BpSlRFeXVOc3cvMk5WL212dVhYcm1Wb25Ba2lHQjIxVEl3K2JJcW1Ca1JwCk1K
QUFDWVFMZ1R4clFOemtFb09pMi9aM0Fxcy93UlFIVDlnUWtDY3ljN0pwZ290cUNKendBdE1adDQy
OE1LbUJLUTJlYkY5enpUWG0Ka3dBdFNtaDU1UFhYajMwczJRcXpvVTZYZHJJbjkvQVpnWllHVDhw
UnAvODRFRFlRRUlmMi9hMnJUY0Z4M2dRZWpZZDJCaVpKOENGQgp1Z3NvbDZHbVR5Z1hlbnhNb0dH
Q0JnMElBdnFHZ0VtNmF6L1NzYUtZdjk5WTZRa2ZhRXRhcURDR1NUNDBDYTUrUE8yUDB1UDYyNDk2
ClhicS9mV2dEbnZIbjFENW9FMUNYYXg4RWhaUFYrZDNWaS82UEhUdlcwcUdOZ2pNOHpMUmNPdkxE
eE1tVmgwQUFJY3VsbzAzQlkrVEEKQitrSUVXcEM0TnJueW9JUHRsMWZzTzNTRUljYnA5dTNPalN1
WnMyYXdUSnhlbzJBaHo5UFRueXNBWmwvbUw3Lzkrbm40cmJKaDN4dwpMYmpmcExzdTNEZXZqNk4z
ZmNUSFJFbDhySTZSdUJWaFBOUXYrQ1hhTFRiejlxUzdnWDA3UVhvWDBFU2tvNVhwNm5pZW9iWllu
Z294CnNmbzJkWnBnR1NUK0lRRVNDQk1DZVJaQU1NbkZSTndtaGhnTU1mSmxCbXo3SjQrSWRuSFlS
aHJLdXpKdUgya0llTm9QWHd3NEs4UGsKQmtMRlZWZGRaV1dRam5JMnliYVJGekg3YjVBd0Y0TFBB
cDZLbjN2dXVUWUFQL2JZWTFZbkJBbC93SEZkWGZpR2J3WStMaURPbis2UAp6NmwvU01meDRZZmgy
Z2NOQVRRSU1MZHEwcVNKVmZIYmI3OVpPdncva0E4QngwRW9VYUtFclk0MVo4NGN1Zjc2NnkwT2Y5
QW5jSEQ1CkVlZHUvdGgyNWJHTmdIeG9vd3YrZE1jYjVTR1VJYmgwT1BkRDRJRFFObno0Y0RPeFFw
OWN1c3VQTWlnUC93d3NJNHo4emtFZWVmSEoKN2ZnbzYrZm44cmwydVQ2NmZlUjNkYm8weENHNFBP
NTQrSFo1RHNRSFpaa2VtRHlCQmJpRkJ2SWhIM2ROOFBvbytOOUhuQW9mOGJGNApDQlZvQzRRUEMv
QURmTEN6YkZxMVJIZHh6VVpJcVlvMXBNdkQ3MGxFbFBwNWFCUk1wdkhRVEZmeGxZeUlkQk5Bb21t
Q0ZlREh2eVJBCkFtRkJJRThDQ0NaNEVEN3d3UVFRTnlkM2c4S2t4ZTFEaytBbU1ZakRrM0VFVjla
cEdoRHYwcEFmNWx0NEV0KzBhZE9BT1ZObVdaU0QKY3prbXZLZWZmcm9keDE4LzZrNUtTcklKS1BK
aUdWdzRZVGR1M0ZoZWVlVVZPd2J5b3p4TXJ5QUlvUDA0dHIvOXFBZkJ0U2swM1UxNgpRL3VITWxo
ZUZzdm1ZaGxpQ0JNNDNqV3F4WUdqT1B3bFVCZDhTK0JNRG9FQzZYalBCMHluVUM5OForQkhncnor
K3ZIU1BqaG5vMTh1Cm9NMmgvWGY3T0VmNHVGWEhYUCtnMVVEL29jV0FWc25sZCtuZ0I3TW5yRklG
TFExOFpFTDc3NDYvZVBGaTAzNmduWFBWUVJ3Q0h1cEQKUC9EeHQ5L1ZqM1JzKzlNZFozZGRPQUVD
NVYxYVRkVjA0SGorL3J2anVQYTVjaTRQamhQYVA3ZVBQakNkZk56MTRMOCszZlhONjRQWApSemhk
SHdrcWZDVEU2VDAzYyt4eWdnZ0Vqbk43L0UvR0Q3ZzRPTjYxNm42Zm1ya21tRGlDUHFqU1d3VVFU
MUwxVFlUWWoxTnRTblM4Cm1qWXprQUFKa0VDWUVOZy91ODJsUVhqS2pRa2VKbnZ1R3hOQmR3TkhN
V3dqSFJORERIYll4OGROSnZIdG4xeTZmWGRJbUc3QmVSc1QKZURoRlEvdUIvQWpRaUVDajhkcHJy
OWxxVHY3NmtWNnJWaTB6WThJa0gwL25IM2pnQVJNS1hQdGcvb1FsYlZFL0FoelFVYmRMUnh6cQpS
RUFmRUIrYWpyaWMrb2N5RUpCUS82dXZ2aXEzMzM2NzFZVlZ1N0MwTEpZbWhqOERscDJGaHNmeEdU
Um9rTXljT2RQYWpsV3dzQlF3Ci9HSmNPdElnTEdDQ2orTzY5dUY0b2YxSEhBTEtRdmpBTzBkQ3c3
Qmh3MHpBd0hsejVlSHZBdWQzOHo5UmN6RXN6WHZ6elRjSCt4N0sKQnl0bXdaa2NKbU1JZU1ta08w
ZW9OemMreUl1NmNPMjQvcmx5Mk1mMWhXOEVsd2Y1cjd6eVNtc3poRkw0RmNHMHpwMEhkMzZRSDNH
dQpQdFRoK29kNEZ3N0dqK243bi95VDMvN3hpOWRQZ0FCL0h3WHorMGhRbjQxNDlZVUxySUNGaHpp
Qk1RMS9qMjk0cGpSdTIxM21menhXCkdqVHZJQ2MwYWFWaVNXRDhnL001aEk4TVhUVXdSazJ2TkZh
S3FDQVRtMEFCSkhCRjh5OEprRUE0RUlqUW04diswZFhYSWtSdjNyeloKL0N2Z3ZJMm41RTRZQ1JW
QS9GVmdHNU8vUTUwQU91ZHRtRENGbHNlVGVXZ1k0SDl3dVBXN3J2MFQ1YUZsZ05DRTFieHE2cE43
MTM0NAptS1BkTUdseXdSMGZhZmlBclo4Vkp2b1FJckFpbVBNblFSa1hYSGwvbWNOSngvSzJlSWNL
TkU4UWRDRElJUnlwK3ZQYlBsY2VDeFBnClpZNjQ1c0t4ZmE1TjFqajlFMjc4Mkw3QU9lSDVDUkRn
OVhsNDk2ZUN1SDc2Zng0dDlTckU2OE1kMVREam51b1RRUEI4SlhuM0RobDIKUXl2cCsvU0hVcngw
QlJVejlENmgvaDR3dmNKNVRsZi9EN3pNZGErdUtMbHAyMjVaOE1OeWVhOS9IZk0zZE9PcjZ4ZS9T
WUFFU09CbwpFemlvQUlMbFlxR1Z3R3BUZUtHZTA0TGtOSUJoME12cEJ1YzZkU3ludzFsNy92ejUw
ckpseTZBQTR2cnR2dlBTZjVpSllSbGhPSXFICmhyeVVMNno4d1lwOEN1L3ZqK2VmMS8reDl2c2Y4
SVV1azE0UnByWHdmUXQ4SUhqZ2cyZFMrTjY3YTZjazZQdTBzTzgrTUwvQ3Rzb2UKS29Cb251UTBX
Ymw2bzJ4WnRraWU3ZE9JQWtqb2paWDdKRUFDQlVJZ1Z4TXNDQmd3SDFxeFlvWFVybDNiVElLZ25Y
QlBvZ3VrdFdGOApVRHlseDl2UTh4dmNNc0w1cllmbFNZQUVTSUFFL3IwRXl1bHE2YVVUQTRLSHJx
SnJBZ2VFRGdUNzF1M0VSQlUrZEYrVkhnRUJKSE1iClFvaXVFMkpDU053ZU5iL1M4b203ZjlKN2Vq
TXRtMWtKS21JZ0FSSWdnUUlpa0tzQWd2YkFOaDkrR1JCQ1lLSkQ0YU9BemhJUFN3SWsKUUFJa1VL
Z0lWRlhMWFpVdmd0b1BXR0JCMlBDSG9Dd0JEWWdtT0MySTA0QmdHZDdvclJsU1pQdXZVcXRLUXRE
ZnpsOEh0MG1BQkVpZwpJQWprYW9LRnhrQ2xqZFdZc0R3clZtM0NTazV3OUlZWkZnTUprQUFKa0FB
SmtNQS9RK0F6clRZdUpVMWZ5cHEzK3kyRURuOUkwN0lyCkZ5NlRSZE0ra3JRdGEyeEJGeXdSVHcy
SW54SzNTWUFFQ29yQUFRVVFOQW92c2NNN0xTWk5taVI0U3piMkdVaUFCRWlBQkVpQUJNS2IKQUt3
V0tsZXViQys5UGU2NDQyakZFTjZuaTYwamdVSkY0S0FDQ0doQUU1S2FtbW9DQ0padnBSQlNxSzRS
ZHBZRVNJQUVTS0FBQ0VDQQpPTno3TGNwaTVVZ3NGUTl6YW1vK0N1QUU4cEFrUUFLNUVzaVRBSkpy
YVNhUUFBbVFBQW1RQUFtUUFBbVFBQW1Rd0NFUUNMeGM0UkFLCk1Dc0prQUFKa0FBSmtBQUprQUFK
a0FBSkhDNEJDaUNIUzQ3bFNJQUVTSUFFU0lBRVNJQUVTSUFFRHBrQUJaQkRSc1lDSkVBQ0pFQUMK
SkVBQ0pFQUNKRUFDaDB1QUFzamhrbU01RWlBQkVpQUJFaUFCRWlBQkVpQ0JReVpBQWVTUWtiRUFD
WkFBQ1pBQUNaQUFDWkFBQ1pEQQo0UktnQUhLNDVGaU9CRWlBQkVpQUJFaUFCRWlBQkVqZ2tBbFFB
RGxrWkN4QUFpUkFBaVJBQWlSQUFpUkFBaVJ3dUFRb2dCd3VPWllqCkFSSWdBUklnQVJJZ0FSSWdB
Ukk0WkFJVVFBNFpHUXVRQUFtUUFBbVFBQW1RQUFtUUFBa2NMZ0VLSUlkTGp1VklnQVJJZ0FSSWdB
UkkKZ0FSSWdBUU9tUUFGa0VOR3hnSWtRQUlrUUFJa1FBSWtRQUlrUUFLSFM0QUN5T0dTWXprU0lB
RVNJQUVTSUFFU0lBRVNJSUZESmtBQgo1SkNSc1VCK0NheGN1VkwyN2R1WGF6WEp5Y215ZXZWcThU
d3Z4enhwYVdtU2taR1JZeG9qU1lBRVNJQUVTSUFFU0lBRXdwdEFoRTd5CmNwN2xIVWE3cDB5Wklo
czJiTWhTc2ttVEpsS25UaDBaUDM2OFhIYlpaVktxVktrczZjZmFEaWJPOCtmUGx3NGRPbGpYL3Zy
ckw1a3cKWVlMczJMRkRMcjMwVWpuMTFGT0RYVjY4ZUxGTW56NWQvdmpqRDJuUW9JRzBidDFhYXRX
cVplbS8vUEtMckYrL1hscTFhaFhNLzIvZgptRHQzcnZUczJWT2lvNk9sZVBIaTh2bm5uMmU3THA1
NDRnbDU3cm5uTFAzS0s2K1VBUU1HWk92Mk9lZWNJODJiTjVlQkF3ZG1TMk1FCkNaQUFDWkFBQ1pB
QUNaQkFlQk00b2hxUXdZTUh5N0Jod3dRVFRmZFp1M2F0N05telI1QzJjZVBHdzZJQkdlbm5uMytX
blR0M0hsYjUKbzFWbzE2NWRna256V1dlZFpZZjg4ODgvcFduVHBpWjhWS3hZVWRxMWEyZVRidGVl
eno3N1RINy8vWGRwMUtpUmZQUE5OM0x5eVNmTAp0bTNiTFBtRUUwNlF4eDkvWEpZdVhlcXkvK3Uv
WDNubEZXbmJ0cTBzWExoUVpzMmFsZTI2U0U5UEZ3Z2diNy85dGtBQWcvQUJBVzdWCnFsWC8rcjZ6
QXlSQUFpUkFBaVJBQWlSQUFnRUMwVWNhUkpzMmJXVElrQ0hacWwyeFlrVzJ1THhHd0Z3SGszTUlO
ZENvNUJUZWZQTk4KbThqWHJWdlh0QXFwcWFrMjJkMjhlYk84K09LTE5wbU5qSXlVeVpNblM4MmFO
UzB2NnZuMjIyOXRzdHU1YzJjcFdyU29WVDF5NUVqWgp0R2xUOERBb1Y2NWNPV25ac21WUVF4Rk05
RzFjZSsyMTByRmpSNmxRb1lMRlF1aUNCZ1BmQ01XS0ZaTmJiNzNWSnVEWS83Ly8rejk4CldlalJv
NGQ4OGNVWDFqNW9DWERNaHg5K1dOcTNiMi9DVjF4Y25Nc2EvSDcvL2ZjdExUWTJWcXBVcVNJWFhY
U1JIUU1adnZycUt4TnEKWW1KaXJEMm9KekV4MGNwQ0VJQ21CVnFFaUlnSUU1QmVlT0VGdWZ2dXU0
TjF6NWt6UnlCQWRlblNSVUx6UTZCOCt1bW5nM25SVnRUZApyRmt6cVYrL2ZqQStkQU5DeDAwMzNS
U01SaG4vZFFGaEMrZkxhWUdROFlZYmJwRGF0V3ZMazA4K0dTekhEUklnQVJJZ0FSSWdBUklnCmdY
OHhBWmhnSGFsd3hobG5lSGZjY1VlMjZyWnMyZUtwR1phblQvc3R6ZTJyK1pIMzMvLysxN3Z3d2dz
dFhpZW8zcm5ubnV1VkxsM2EKcTE2OXV2ZjMzMzlidkU1c1lTWm1jYWhIaFl0c3gxQ05nVGRwMGlT
TDc5ZXZuOWUzYjEvYlhyQmdnYWVUZDA5OUJtei94aHR2OU5RRQp5QnMrZkxqdHYvcnFxNTVPM3Iw
enp6elQ5bFhMNHFuV3d2WVJoNDhLUFY1U1VwS25FMzF2elpvMWxpLzBqejZwOTZLaW9yemR1M2NI
Cms5VE15SHZublhlQysycWVadjFRRFVBd3ptMm9YNFMxYTlHaVJTN0t2azg1NVpRc2RmZ1RWVGl3
OWpWdTNOalR5WHl3RDhoenl5MjMKMkQ3T2lRcEVuZ3BkbnZwT0dJZnUzYnQ3OGZIeG5nb1JWcDFx
YnV6WS9yNDk5TkJEM2pYWFhKTmpmcHdubkI4Vnl1d1kvL25QZnp3VgpFandWUkx5YytvYURxUGJI
VTJISUsxKyt2RjBMYXFybXVlc0ExOFd5WmN1OEdqVnFHSi9qamp2TzY5U3BrL2ZJSTQ5NEtoVGE5
WUR6CnJnS1h0YmRGaXhiZUF3ODg0QTBhTk1qYW9Sb25iOTY4ZVpiR1B5UkFBaVJBQWlSQUFpUkFB
dUZOQUk2K1J5eGdzdHV0V3pkUE5SWDIKK2Vtbm42eHVOL0ZXczVvcyt3MGJOdlErL1BCRGI5MjZk
UmFQaWVRenp6eGprMTU5TXU2cDVzUGlNVEdHQVBMSko1OTRxQ3Vub0tZOQpucHAvV1JMYThMLy8v
YysyMVMvRnExZXZYcFlpbUhpZmZ2cnB3YmpmZnZ2TjZzK3RicGRSL1RlQ1FvNkxjOStxSmZBcVY2
N3NkajAxCk43TTZ3Y0lmTUFsLzc3MzNnbEVRVVBRcHZ3Y2hTN1V6d1hpM29YNGpubXBXM0c2dTM0
N1IzcjE3cytWQkhBUU85VFVKcG1GeWo0bTgKQytqYlcyKzk1WGE5MjIrLzNWUE5UWEEvTkwrYWgz
bHFiaFpNeHdiT2dSUHNzaVRvRG9RTkNCWnFZbVhuVU0ydDdCdm5GZGNGaEtNWgpNMllZc3lWTGxs
aCtDSVBublhlZWQvMzExMXRlZFU2M2F0SHVTcFVxZVJBMEliQ3Axc2xUbjV2UVEzS2ZCRWlBQkVp
QUJFaUFCRWdnCkRBa2NVUjhRS0lLKy9QSkw2ZCsvdjMyR0RoMktxRndEMGxYN0lmQ1BRSUJ6c2dv
Wlp2cWpHZ2VCYVJHQ014MVN6WWlaUWxsa3lCL2sKVjBGR3NFTFM3Tm16UlFVTXk2SENoWm53K0xQ
RDUwSW54UDRvZ2FrUzZrZUFyd3JNbTBKRDFhcFZ6VVFvTkI3NzhGUFFDWFl3eWZseQpGQ2xTSkJp
SERSVUVaUHYyN2NHNHJWdTNXcDFvKzlkZmY1MGxEWmxRWjE1OElIUkNibVpiTUdFS0RUaG1tVEps
c3ZWWnRSSEJyUEJiCkFUY1hjRXlZUHZtRFAzK0pFaVhNZE11ZkRqT3duSTZQUEdDckdpSnpMb2M1
Rzh5Mi9BRnA3anlYTFZ2VzhzTmtEYVpuQ1FrSmR0NzkKWm1ncWhKaS9FVXkrNEZjQ3gzOEdFaUFC
RWlBQkVpQUJFaUNCOENlUWRSWjRCTnJidFd0WG1UbHpwbjNHalJ0M3dCcFZZNUFsSGZteAp2T3J4
eHg4dmQ5MTFsMkE1MXJ3R0NDQTRMbGFaZ28vSEJSZGNJQ2twS1FMZmh0NjllMmVwQnBOZGY4REtW
WEFXaHdDRW9FL2c1YmJiCmJ2Tm5zVzJrdzFFNnA0QTZJZnk0NFBybUJCSEVveXdjNlYwYTRucjE2
aVh3WDFGVE1WRnpNQmt4WWdTaWd3RmxRdHNiVFBSdHdKY0QKK1hKckh3UXNmL3ZnNDZJYXEyQU5m
Z0VFM05Ta0tVdDZhSDRJQ2Y2K29hTFFZd1FyL3djMnNMS2FDeEJNVkxoM3Uvd21BUklnQVJJZwpB
UklnQVJJSVl3SkhYQURKVDEvVkIwQ21UWnRtSzBXTkdUTkdYbjc1NVN6VkhXaVNDUUZrK2ZMbGNz
ODk5NWdXQlpOdDlZTXdEUUpXCm56cFFnSE81bXY4Y0tNdEIwM0I4OVdNSTVvUG1BeG9Fck9ia2dw
b0xtWkNUazZNMm52YkRnUjhyWS9rRGx1aEYzVWM2UFBYVVU2Sm0KVnNGcTFkZEZmdnp4UnhQNjFI
eE4rdlRwSStybkVVd1B6YSsrS1NZMEhZcVFHS3lNR3lSQUFpUkFBaVJBQWlSQUFvV1dRRmdKSURC
QgpndUNnanVtMkVwSjcyUnllY0ZlclZzMG15TG1kS1dnOW9BR0FhYzlqanoxbXExeWhMcnlieEFV
czVRc3RDYlFOb1NaQUxzL2hma1BqCkFuTXF2Ty9EQmF6NE5IcjBhTlBFSUE1TEZHT1ZMSmhMSWNE
c3l2VVJ5eFYvOU5GSGdvbTlQMEFBd2VwV2h4S2dCWEZhS1BjTlFRRUMKUm00dkFJU1FBek10SndU
ZGVlZWR1UjRTL05CZW5CZTh4K1NmRE5DR29kME1KRUFDSkVBQ0pFQUNKRUFDeHdhQnNCSkFZSTRF
UHdQNApQY0JQQU12YUlzQzhDRXZFUXJ1QjVYaHpDcGhBdzd6cCtlZWZOejhFTE5zNmF0UW9jVDRZ
bUpSalNWd3NQYXZPeTNMMjJXZm5WTTFoCng4RWtDZTMxTDA4TEFVUWQ3UVZMQStORmd6RHR3cExB
TGtCRGczSzZpcFRvU2xhQ3BZQjFkU2VYYkpON1RQTFZFVHNZbDVjTitPR2cKbi80UFhtcW9LMXVa
bVpTL0R2aHNvQjFvQTRRbmNNRnl1VENueWlsQWtFRWUxQTFmR1FnSS8yVEFrc1I0RndpMFkvKzBz
UE5QOW9OMQprd0FKa0FBSmtBQUprQUFKQkFnYzBUZWhId21vRUNJUThLYnMwS0NyT2RuTDYvQ2tQ
aHdEM2oyQ042RHJTbDVaSnVhNnVwYTFPeWRUCktsMXEyTjRlRDdNc3YxWUdtZ280VitNdDZrNWo4
ay8wV1ZjaGs0a1RKNXEvQjdRNC83UkFjYmg5Z01ZRml4WDRHUjF1WFN4SEFpUkEKQWlSQUFpUkFB
aVJRY0FUQ1RnQXBPQlJINXNod3pNYUtUSzFidDg1WGhWaTlDOXFHM0RRKythcWNoVW1BQkVpQUJF
aUFCRWlBQkVpZwpnQWhRQUNrZzhEd3NDWkFBQ1pBQUNaQUFDWkFBQ1JSR0FtSGxBMUlZVHdEN1RB
SWtRQUlrUUFJa1FBSWtRQUtGaVFBRmtNSjB0dGxYCkVpQUJFaUFCRWlBQkVpQUJFaWhnQWhSQUN2
Z0U4UEFrUUFJa1FBSWtRQUlrUUFJa1VKZ0lVQUFwVEdlYmZTVUJFaUFCRWlBQkVpQUIKRWlDQkFp
WkFBYVNBVHdBUFR3SWtRQUlrUUFJa1FBSWtRQUtGaVFBRmtNSjB0dGxYRWlBQkVpQUJFaUFCRWlB
QkVpaGdBaFJBQ3ZnRQo4UEFrUUFJa1FBSWtRQUlrUUFJa1VKZ0lVQUFwVEdlYmZTVUJFaUFCRWlB
QkVpQUJFaUNCQWlaQUFhU0FUd0FQVHdJa1FBSWtRQUlrClFBSWtRQUtGaVFBRmtNSjB0dGxYRWlB
QkVpQUJFaUFCRWlBQkVpaGdBaFJBQ3ZnRThQQWtRQUlrUUFJa1FBSWtRQUlrVUpnSVVBQXAKVEdl
YmZTVUJFaUFCRWlBQkVpQUJFaUNCQWlZUW5aZmpwNmVueTd4NTgyVE9uRG15ZnYxNmlkQi9HVjZH
ZUo2WHBYaEVSSVJFUnFwTQpvOUZNSng5ZUgveDkrQWNJamc4Y0gzbC95UHY5Y2R6NEJJbUswbnR0
UnRaeHhKQXVtaVVBQUNBQVNVUkJWUCtiT3RCMlpHU0VWS3RXClNqcDJQRmx1dWJtRnhNZm42WFov
b0NxWlJnSWtRQUpIakVDRVRoSVBPTHBCK0JnelpveHMzYnBWdW5YckptWExsaFZNSkJoSWdBUkkK
Z0FSSWdBVCtHUUx2ZmI5VmFwU09scGpvU0ltMGgzdUI0K0FCWVBiZzRibWZQaFRFd3ovOTZKL1V0
QXo1YzhVbUdUMWlwa2hhbWt5WgozRXVGa0pqc1JSbERBaVJBQWdWQTRLQUN5RGZmZkNPelo4K1dm
amYxazdqNE9CTStLSUFVd0puaUlVbUFCRWlBQkFvTmdhYysyeWlOCnE4ZEtsRm9WcURMRGhCQ0lI
bmorNTU0YVl0OXRCNFFQRlVSTUNQRWtMUjJmRE5tMU4xVUczalZaTG05enZOemR2M1doNGNlT2tn
QUoKaERlQkErcGtvZjJZT1hPbW5IVFNTZm8wSlZVaVV2VFppdzZHZ1VFdzhCekdEWDZ1bTA2aEFp
SEZQemd5UFVDQWZBSlhESzhQL2o0NApQdXlmUEhKODVQZ0lBdjc3dzRaZEdiSjFUNFlLSUo3ZFMy
RlNoUUFCeFAxMk5xNWJJK1VxVmJFTENTTXJoQS9VQVMxSWVrYUdwT25HCjN0UUlPYTNOS1RMaHJa
blMvN1p6MUt3cnl1cmhIeElnQVJJb1NBSUhGVUQyN3QxclpsZXBxYW5XVHRqdytqVWdHQWhUVmIy
TGVId3cKK0lXbUI2YWNnVzZHcHYrNWFwVlVxRmhSNHVMaUxFTm8rcjdrWk5tNGFaTlVxVkxGNmcx
TmR3TnhvUGJBNEhzb3gyZDV1M2M1ZklkOAovc2lQL0E3MCsrYjF3ZXVEMTBkd2VEMms4WFZIY29Z
S0R4QTRBdmZVQ05WMVFQaEF3TmVXRFd2bHZtdmJ5c0FYcDBpNXlqVXNIdmRICjhBNllZYW5sVmJy
STNoUlBFaXNueW9xTmFXcWFwUUlOQlJCanhUOGtRQUlGUytDQUFzaWVQWHNFV3BDWW1CZzFJVTB6
QWNDZVhMdFIKRUczWGtiRGRoZTJrV2JObWN2ZmRkMmZ2VGVZTUJPVXdPTHJ3M1hmZnlVMDMzU1RS
MGRGU3JGZ3hlZi85OStYTk45K1VTeTY1UkVxVwpMR25abm4zMldYbnBwWmNzdlV1WExuTHJyYmU2
NHZ1L2M2ay9tQ0hNMHQ5NjZ5MXAyYktsbENsVFJxWk9uU29MZmxvZzI3ZHRsNlpOCm14cEQxM2ZY
L3Rselpzc25IMzhpbFNwVmtzc3Z2MXdTRXhNdDZZMDMzcEMyYmR0S3lWTEtTckdHOG5YbDNhT3lm
MnY2a3FWTFpPbVMKcFhaZDRQcjU2S09QWkpNS3BQNXcybW1uU1lNR0RiSmNYOEgwTUR2L3dYYTVE
YmJ2bUw1Ky8rMi9QN1pmZjZnRk5MN3VTY21RWlBYagpnSzQwUW4zWE1WUkFDQWxzaVl4NStuK3lj
OXNXZVhub3ZYTEw0K015VTUwSkZvU1FnQm5XM2xSUFVqSjBBWVRZT05tOWU3ZVVLbFZLCjh6S1FB
QW1RUU1FU3lGVUF3V1FQUWdjRUJJUlFEUWdHeFlBNGdRRlBWYjVROTJwK0YvenBhOWV1TlVHbVdy
VnFMbG5Hang4dnJWcTEKbG9jZWV0RGk0T1QrNUpOUHluLys4eDhwV3JTb1pLanRLZ1FRQ0NXbm5u
cXE1Y210L21DbHZnMy84WDNSd2MyQ1NQLzIyMi9sd3c4LwpsQTRkT2tpNlBwcWFPSEdpMUs1ZFc1
S1NrdVNKSjU2UTExOS9YY2FPSFd0dFJQdmVmdWNkZWZqaFFmSi8vL2QvOHV1dnY1ckE4Y0VICkgw
anAwcVhsbEZOT2taNDllOHBycjcwV1BFZkJ6dWxHUWZRdjlQaTRBZjc2NjJLcFhyMjZDWkdoNmU3
NjhjZTdiZGYrSDc3L1FTWk4KbWlRWFhuaWhKZUVhZ1ZiT1hST0lyS2dhdEhyMTZybWk5dTNLWjMz
K3ZEOEwwL2YvZnZkVDJiOUZQdVNUbDk4bmYxOEJTdnQvT1lHdApJL0g3U1U3elpKOSs4THd2RWlv
TkM0R2FGODZaSmd0bVRiT1l4Zk5ueXF6cDcwdmpsdTMxWHF4bkpQT1RybVh3MmEyQ1RKb0tJRkZ4
CmdRZUp1Ri9qZ1JRRENaQUFDUlFrZ1Z3RkVOY29DQ0E3ZHV5d0orL094TXJTZEFEekQyRVFRTkxU
MDJ6d0MwM3YzNysvMUt4WlV4NTgKY0dBd0hjdjZZZ0lORFF0Q2lSSWw1THZ2dnJWMENCcExmL3ZO
VnQ2cVdyVnFNQTl1ZGhoY0xlanhGLzcwazh5WU1TTXpRbXdpWHI1OAplVG4vL1BPbGhHcFJVdmJ0
a3hFalJ1Z3loQjF0RW96eUN4ZitMQ3RYcnBUMkYxMFViRDhtL3BqUUo2dTUxOUtsUytVaVRTdWlR
aEQ2CkJ3ZDhDQTdnVUs1Y1dUbjMzUE5NQU1CZFlacHFNQ0FZUUVNRURjWDU1NThuUllvVURiYlB6
MmZ6NXMzU3UzZHZlVWVGQ2hPa3REemEKNXNJSko1d2dGMTk4c1d6WnNzVllwS2pKMi8zMzN5ZlBQ
UE9NQ21xdExGdlhybDFOSTNUYmJiZEp6VnExYk5JOWNPQkE1ZnBnWmpWWgorWXdmTjg3cWM4ZkFU
UWVhRjJpcmFpUWxXZi9ROXhvMWFzaFpaNTFsTnpyd2haYWh1c2FkckZvRkJKeC9DSUs5ZTE5bi9F
ZVBIaTNuCm5YZWVsY041M0xCaGc3UnYzMTV6WmowK3pPZWFOMjl1OVVGTEVacnU1NFBqNUpUZXFW
TW53U2R3blFTRTNYUE9PVWYrOThBRHdmT0gKa3Z2VHNhZEIrNXFYK2dPWjNkK3M3V2Q1eDhWOWs0
OS8vT0gxNGE0TDk4M3I0MGhlSC90U00xUUFFWWxTRTZ6QWVCWVFScnlNZEpuOQo2VnRTNWJqNkRy
ek1uZjZPMUQvckFvbU1pdFl4V2g4STZsaXN6L0FrV1lXUG5jbnBzbkZYbWdrZ3dRTGNJQUVTSUlF
Q0puQlFBUVQyCm9oQThkdS9lWlZvUVRNU3hiN083VEdFQWt6OW9TQjUvZkloT1ZOK3d5Zmg5OTkw
bkRSczJsQmRlZUVHKy92cHJtVHQzcnBvY1RaTUIKQSs2Mnllenk1Y3RseUpBaDh1S0xMOHFFQ1JO
MDRsNUVCWVZPTW5yMFMyYWppaVYvRVM2NDRBTEI1QnoxNEtDZXZuL0VudDdvM2YrVApUejZSa1NO
SDJ2Rmd1cFNtV29VMWEvNlM0Y09IeTZkVFA1WGx5NWFibWRQamp6OXV6dlNWSzFkUkFXU2hhUnBh
dGRaSmZXYjcwWVk3Cjc3eFRKK3ZRd2d5VmNUcHhmL3VkdHkwZEdvY0ZDeGJZQkhmTm1yWGE1cUh5
eFJkZlNGUjBsRDJaaDNZSEFzV2ZmLzVwd2dGTXJGejcKWFAzb0J5YndkZXJVTlg4YW1MYjUrU0Vk
RS9sYUtsU0FOOUsvbXZtVmJOKytYVEJ4aDlvY0FaTjVhRWo2OXUxcjVURXh4OFMvWDc5KwprcENR
b0RuMjg5bTlaN2RwV0NBWXVvQnRtQzhOR0REQTZpOWZycnhnbFRPWXprRkk3Tm16bC9IOThzc3ZC
U1plT0lkWFgzMjFMRnUyClRCN1FDZi9sbDNmVmN4OWhRbEZTelNUckM4ekkvdnJyTHpNcjh4OGYv
ZXZTdVlzZCtycnJycFBZMkZnNy8zdjM3akdCQ1lJZHJobTAKQlFJaXd1MjMzMjRMSHVEYWdLWUlD
eUJBd0p3eVpZcTgvUExMbWdOcjRtZFl1VDNhUHo5ZnE4RFhmeHlmNlFFcSsvL3V2ejdJaDljSApm
eC83ZnhtQnJmRDZmZXhLaVpLTk8xTWxXc2ZjS1Azb014Vzd0K0RSU29jN1J0aFBHTzFXc2MvR3Vo
MjZTRXlHQno4UEZUNDB5bGJCCjB1M3RlOUpsQzV6WlZRUENRQUlrUUFMaFF1Q2dBb2dUT0d4ZGNa
MHdZcktOU2JJOVg4YVRHZDNDcFBEMU4xNlg4ODg3M3dRS0NBQXYKUFArQ0RIOXVtT0NwL2R5NWMv
U0ZTTlhONXdQbVZTZWZmTEowN3R4WnVuVHByT1pJSGRVbXRhUnMzYlpOTlJNcmJMS05pZmlqZ3gr
Vgo3dGQwdC9vU0Uwdkx2cFI5TnNnNjlUR08zNmRQYjVrK2ZicmNlT01OMGtLZmltTWMzcmx6cDVs
eHJmMXJyVlN0V3NXRURmaVZUSnMyCnpkcUNGYjErL3ZsbjJiVmpsOFRhZ0J4aFphcG9YbWdCVGpx
cHZwazZyVis3WGhMTGxEYkJKSE9JbDMzSis2UkpreWFDQ1hLTjZqVmsKNk5BaDFuK2svNjFhZ0Ji
Tlc1aTJJRDQrUGdzZnBHTlNuNVNVSlB0VUt3TUJCZjkyNzlrbGI3LzlqZ2s0aUgvdXVlZUM2U3VX
cnpCdApCZnFib24wSGFmaC9ZTElQVFUya0dnV1hMMS9PdHZHQ3lLYk5tbHIvSForWXFCZ1Y3TVlI
MjRmeXFBVHBsMTU2cWN5Yk0wL2FYSEMrClBQTElJNm9kcW1aOElQUWgvWjU3N2xGMlZVMWJBNzhU
SEFmeDY5YXROYUVER3BFU3hVdFl1MWF2WG0yY2N6by9FT2FhSzVPQkF4K1EKRSt2WFZ5RXV6UVNi
Tld2V3FQWm9tdXhOM21OQ28rc2Y0ci82Nml2cDBhT0hUSHh6b21xV29rMkRnMlA0NjhmTE1MK2I5
NTFlZXA2dQphNThnZGV2V01UNnVmNDR2MG5GOW91UCsvak05Y1AyUkQ2OFAvajdDZDN6WW1Sd3I2
M2FrMndqbUhtcTVJUzNRYWd6cTJZTU8xVFplCnEreGhKbGg3OXFrSmxtNUh4c1Ztejh3WUVpQUJF
aWdnQXFyS09IQndHaEFNZ05COG1QWURSVUpHd0Nhbk43RW41dkJwT1B2c3MyWFIKTDR0c3dndUJJ
eVltVnVMajRtMUNqZFd1b0sxQXZVWFZYQW1UNnNoSUZXZzhWS2pWNm5HUVpzN1Z1ZytIdVpJbFMx
bTZUUncxM1VMbQo4ZUhBdm12WDdtQjY4ZUxGemQ5ZzIvWnRkdnhBWnBHeVpRSXZVSVEvQXN5OWZs
bjhpNlZqNGc5TlE5WEtWZTNZeUEraHEwVEpFcjd5Ck9tSFQ5a0d3UUh1UVAydi9JNlI4MmZKVzN0
SlFTUlkrRVFKTkNZNXRONUxNOUxUVU5ObW1naGMrMEtEOCtPT1B3WFFJVW01bE1GU0cKNDBQTEFh
MEIyb3o2bzFYZFhybHlaYXNiNmFGOHRtemVZdG9hVjk2bHcyY2lLNStBYVpaTFIvT2dkWEo5Z1Zr
Wi9FNWdSZ1lORXRvQgpzeTNNNmxlcU9WdU5Ha2xCL3Y3K2xTd1JXRXlnaEg2WEtWM0cyZ2R6TlFo
dzM4My9UcEFPa3pEWFBoeTNkZXZXY3UyMTEwcFN6U1FUCnNoQ0g0UHFIYlpqRURWSGhEOXFvVjE1
NUJhbkJkUC94QTFJSFNqRGQ4U01mL0REdGtzajIrd1liOGlHZmNMaytjSy9OMEhIZDArdlMKUGhq
ME5VNE5zZFRFU3VQc2czM05sN2x2K2JVREdScG5nZ2d1ZFMwVG94cjdhR3BBN05UeUR3bVFRSGdR
eUxNR3hOMmNNU2k2YmRjRgo3TmVzVmRPRUV6d3B4MFFkMzVFcVNDQllmbFVob3l6aVhjREE2QVNh
eUtpQUxJUjlkd3prYy91dWpDdVBPaEV3TWNaazNaVkhPZ1FZCi8vRXhZYStqVDhsUkYrTGg3L0dU
K28vQXZPbUhIMzZRRTA4OFViVWhnYWREOEdlQWd6Tk1obklLbUVCRDQ0TzZzZ1RkRFI1WDAxejcK
WEI2aytjc2h2YlFLWDI1bHI4OCsrMHcxT1RkYW16QzVyMUNoUXFCZnZ1T2dueEN3WUs3bTZvZjVt
Mm1wTXZuNSthelVKWTRmZSt3eAptOVM3ZGlBZCthMHRtZWNIQWhETTVSd2Y1RVVlQk5kUGFFUXcy
ZjlTTlRtMzNIS0xDU0ZnQjhIcTNIUFB6Y0lmNWRBK2QvNVJoenMvCjBIekJET3o2NjYrM3ZqNzAw
RU1CWVNhekRIeDRrTi8xejMyNzhxaTdYYnQyY3RkZGQyRXpXL0QzUDF1aVJqQTk4UHR6WEVNWmtR
LzUKNEpyZzlaRXBpSVg4UUk3bTd5TStKa3JpWTlVRUdrM1I4UlJmZUNPNjNVSXptNmU3Z1gxckoz
eHdBbjQ0dUlyVDFmRThRMjJ4UEJWaQpZdlZ0NmpUQk1rajhRd0lrRUNZRThpeUFZQUtOU1NsdVRP
N2ordUQyM1dUVjdhTU1ndHQzNmE0YzlsMGVsK2JpWER5KzNiWWIvRjJkCitJYndBQitON3QyNzIr
RHIwdnpsTUxsSGNPVWhlRURiQUZPbXA1NTZ5bGFnUW42a1l6bGNmTkRtME9ESysrc096ZVBTUXN0
akFnOVQKSXFRamhLYTMxS1Y1b2ZGd3ZpQXdGWU5ET29TRGdKWkE1UGZmZnpmTkJPcEErWlNVRklF
NUVqUXJpSFB0Yy9XREpmSzVZN3AweERuTwp5QXRmRHdTWGptMTNERmNXN1VkYklJUTBhdFRJVE1F
R0RoeG9BcFJiT3RoZjNuOWN0NDEwYUUvZzY0SHpkY2NkZDlpeDRRanZnbXNYCnlpRDQrNER5aUhm
MXVUTHVPL1Q0THQ1OU05MG4vR2Z5ZFd6d1RUN2s0NjRIOS90eis3dytqdjd2STA2RmovaFkrRnht
am9YdU42dCsKa0c4OXFBOXlWaTNCcjFZL0VWS3FZZzNwOHZCN0VxR210NGlDeVhTRzV0TlZmQ1Vq
SXQwRWtHaWFZUGt2WjI2VEFBa1VNSUU4Q1NDWQpoRUw0d01kTkNOME55azBLRVErdEFmYmQwM05v
QzdCZnMyWk5XYng0Y1RBZGZYYVRTSmZYZmFNTVBtNGYzMjRiWmR3a0NhWklFQ0pnCkV2WDU1NThi
Um5kODdLQ01PNzRsNmg5WC92VFRUemVIY2ZoQ1lNVXJDREVJTHQxdFE3dUE5NVc0Z0hSTStwY3NX
V0phRkFnTXJqMHUKanpzdThpSzRkS3dhOWZISEgxdWJFSTkwQ0EvUWRDQk1uanpaVEt2d1BndTBH
MzR5RUpTd1ZDK1c0WVU1Rk42VmN1Kzk5MW82eXNQOApDZVprOEV2QmNSSG5qb2R0eDgxOXUzUTN5
YytKRDFiMXdyR3dHaGp5dWJKWVFubmR1bld5WXNVS2MvNkhremg4UmJDa3NBdXVmdXk3CjQyTjFN
UEFDYzhUQi93WjF3WFFNVHZYd3pYSEh3UEh3UWJ1UUZ3SDdDTWlET0h4Y0hzUzcvbUliYVc3ZmxY
ZjdUQ2NmWGgvOGZiangKNE44d1BpU284SkVRcC9mY3pMSE5DU0w2UzVaemUveFB4Zys0T0RqZXRl
cCtueFFya21EaUNQcW9TbnA3RDBpcUxzeUMvVGpWcGtUSAo1NnpWeDlqSVFBSWtRQUpIbThCQkJS
Qk1zakg1YzBJSXZqRUJkQU00R294dHhMc0pyWnNzT2pNbU9EZjM2dFhMbkx5SERvVmpjdk5nCkdU
ZUpkM2xSRnR1b0N3SGJMZzM3R0V4eFBLeEVoV1Y4RWVyV3JXdG1TZGgyNlNqdnlpRU9BZG9Gckxn
MWYvNTh5NDhuL3hBTVhEcnkKdVBJNEJsYnZ3Z3NRUThPd1ljT3NQMjV5N0Mvdmp1dm5nM1NzOURS
cTFDalRZdFJYaDJ5WVFNSHBIZG9MTjZHR1EvZ1paNXhoL1VONQpyTTRGSjM1b2NERDV4emFXNmtV
YVB0QkdZRVVzK01HNDRHOS82SGxBSHBmdU9MczRmRVBndXVLS0s0Skw5K0o0N3Z6VVZDRVN5L1BD
Cm5BM3RoekNVbEpTRVlybnlReHBXNklJWkdONVhnbk9HY2pnSEVMemdINFErdS9PRVB1RTZ3ajYy
RVVMNzRNOWpHZlNQbjcvcm55dVAKUEV6Zi8yU2ZmUFpyMFhqOUJBanc5eEdldjQ4RTlkbUlqNDNK
WEFFTEQxNENZeUwrSHQvd1RHbmN0cnZNLzNpc05HamVRVTVvMGtyRgprc0JZQitkenZJTUo3OUtL
VWRNcmpaVWlLc2pFSmxBQUNWengvRXNDSkJBT0JDTDA1ck4vOVBXMUNORndPb1oyQVE3SjBEUTRZ
U1JVCkFQRlhnVzFNL25LYUFHSVNEUnQvVERKelNzZmhEMVErditrRDFXUUlabGZ3OFlBZkFTYkFy
azdiMEQvLzVQRi8wM2ViM0gvLy9iWWsKTHhoaVJUR1laV0ViZ29oclN5Zy9sTU9FSGRvTzF6NElV
WGhMUElRYXhMbmcwZ3VDYjI3dHg3TENlSGtnRmh4QSt5RG93SnlyWExseQoxdXh3YnovYkY5N1hG
ODhQejA4NGozK0hlMzMyL3p4YTZsV0kxL3VsYW9aeFQvVUpJSGcrazd4N2h3eTdvWlgwZmZwREtW
NjZnb29aCmVoMm92d2RNcjNETWRQWC9TTk94ZG05eWltemF0bHNXL0xCYzN1dGZ4MHg2L2ZjSHg0
N2ZKRUFDSkhBMENSeFVBTUV5dDlBd1ZLbFMKeGV6MzhVUTZWSUJ3RGNhZ2gwL29CSnJwQVFKZzg2
VTZjY1BNcW16WnNnNUw4UHRRK0VFYkFlZHZDSVV1SEVyNW5HNUFMTS9yRjljQQpmNzlaSDZEdzl4
VWd3UEhoNkk0UEE3Nklrcm9WNFFNSlU5VEFCNElIUHZvenRlKzl1M1pLUXJIaXRvODRmR0IraFcr
VlBWUUFFUlZBCjBtVGw2bzJ5WmRraWViWlBJd29nN2dmTmJ4SWdnUUlsa0tzSkZpWWgwQkRBNWg5
TDYySmxLNWo2NEdrOXcrRVR3RnZhajBSd0wrODcKRW5XeERoSWdBUklnZ2ZBaVVFNVhLQytkR0JB
OGRCVmRFemdnZkNEWXQyNG5KcXJ3b2Z1cTlBZ0lJWm5iRUVKVXdXNUNTTndlTmIvUwo4b203ZjlK
N2VqTXRtMWtKS21JZ0FSSWdnUUlpa0tzQWd2YkFud0ZtUHhCQzhISkFDaDhGZEpaNFdCSWdBUkln
Z1VKRm9HbzFGUnFLCjc5ZCt3QUlMd29ZL0JHVUpUVEJCQk4rWkgyaEFzQXh2OU5ZTUtiTDlWNmxW
SlNIb1crbXZnOXNrUUFJa1VCQUVjalhCUW1PZ2NsK2wKNzVMQW04MWhyOSttVFJ0OVUvaEp3VldM
Q3FMQlBDWUprQUFKa0FBSkhPc0VzSGg4WEVxYXhPaHFXSGtKRUR6OElVM0xybHk0VEJaTgorMGpT
dHF5eEJVSHdqaWxxUVB5VXVFMENKRkJRQkE0b2dLQlJXSzFwMmJKbE1tblNKSHZwSFBZWlNJQUVT
SUFFU0lBRXdwc0FyQmF3CjVEbGVBSHZjY2NmUmlpRzhUeGRiUndLRmlzQkJCUkRRZ0NZRTc5M0FX
NiszYnQxcVFrbWhvc1RPa2dBSmtBQUprTUJSSmdBQjRuQWYKK3FFc1ZoN0V1NWhnVGszTngxRStl
VHdjQ1pEQUFRbmtTUUE1WUExTUpBRVNJQUVTSUFFU0lBRVNJQUVTSUlFOEV1Q1NWbmtFeFd3awpR
QUlrUUFJa1FBSWtRQUlrUUFMNUowQUJKUDhNV1FNSmtBQUprQUFKa0FBSmtBQUprRUFlQ1ZBQXlT
TW9aaU1CRWlBQkVpQUJFaUFCCkVpQUJFc2cvQVFvZytXZklHa2lBQkVpQUJFaUFCRWlBQkVpQUJQ
SklnQUpJSGtFeEd3bVFBQW1RQUFtUUFBbVFBQW1RUVA0SlVBREoKUDBQV1FBSWtRQUlrUUFJa1FB
SWtRQUlra0VjQ0ZFRHlDSXJaU0lBRVNJQUVTSUFFU0lBRVNJQUU4aytBQWtqK0diSUdFaUFCRWlB
QgpFaUFCRWlBQkVpQ0JQQktnQUpKSFVNeEdBaVJBQWlSQUFpUkFBaVJBQWlTUWZ3SVVRUExQa0RX
UUFBbVFBQW1RQUFtUUFBbVFBQW5rCmtRQUZrRHlDWWpZU0lBRVNJQUVTSUFFU0lBRVNJSUg4RTZB
QWtuK0dySUVFU0lBRVNJQUVTSUFFU0lBRVNDQ1BCSTZvQUpLV2xpWVoKR1JsNVBIVFdiQ3RYcnBS
OSsvWmxqZlR0SlNjbnkrclZxOFh6UEY4c04wbUFCRWlBQkVpQUJFaUFCRWlBQlA1TkJDSjBRbi9F
WnZUbgpuSE9PTkcvZVhBWU9ISmhuQm5QbnpwV2VQWHRLZEhTMEZDOWVYRDcvL0hNWlAzNjhYSGJa
WlZLcVZDbXI1NGtubnBEbm5udk8wcSs4Cjhrb1pNR0JBbnVzUDE0eXZ2LzY2bkhmZWVWSzJiRm41
NktPUDVQdnZ2NWR0MjdiSjJXZWZMZUJZc21USkxFMy8rdXV2NWYzMzM1ZksKbFN2TDFWZGZMV1hL
bExIMGNlUEd5VVVYWFJSa2xhWFFNYlN6ZVBGaXdlZlNTeSsxWGsyWk1rVTJiTmlRcFlkTm1qU1Jr
MDgrT1VzYwpkMGlBQkVpQUJFaUFCRWlBQk1LTHdCSFZnQnlzYTMvOTlaZXNXclVxUzdaWFhubEYy
clp0S3dzWExwUlpzMmJKbmoxN1pQRGd3Ykp4CjQwYkxsNTZlTGhCQTNuNzdiZm5sbDErT0NlRmo5
dXpaOHQ1Nzc1bndnVTVPbUREQitucjg4Y2ZMb0VHRHBFZVBIcmJ2L3J6eHhodHkKMVZWWFNhMWF0
ZVNQUC80d0lXL0xsaTJXZk1ZWlowalhybDBGMnFkd0RaQnhmLzc1WjltNWMrZGhOeEVDMnFoUm80
TGxjWTBNR3paTQpJTUM2ejlxMWE0UHAzQ0FCRWlBQkVpQUJFaUFCRWdoUEFrZFZBNEluOWJWcjE1
WW5uM3d5U0tOKy9mcHkwMDAzeWZYWFh4K004Mi9nCnFUZnlRQ0NCdGlDbmdNbnBwNTkrR2t5S2lZ
bVJTcFVxbVdZQW1nU1lkZzBkT2xTNmRlc21TVWxKbHUvSEgzK1VaY3VXQlorb0l4TEMKVU9QR2pR
WG1YaEIyT25mdUxFV0xGclg4WDMzMWxYenp6VGVDdWl0VXFDRHQyN2VYeE1SRVM0Tm1BaFBzMk5o
WXFWS2xpaDIzV0xGaQpsaGI2WjlPbVRYTGFhYWZKakJrelRLQUlUWWNRQmkwSUJBeTBQU1VsUldy
VXFHRnR1K0NDQ3l3N3ZzODY2eXk1Ly83N2JmL09PKzhVCkNHcCtydjU2UjQ0Y0tUaXVDNUdSa1ZL
dVhEbHAyYkpsc0Ezb093UWNhTEFpSWlJczYrVEprNlZtelpyU3FGRWoyOSsrZmJ1TUdUTkcKYnJu
bEZ0dUhBQUFPeUFNMjY5ZXZ6OExUSFE4OEV4SVNURkNBbHVKSUJOUURUa09HRERrUzFiRU9FaUFC
RWlBQkVpQUJFaUNCbzBVQQpKbGhIS3JSbzBjSjc0SUVIUEgySzcxV3ZYdDNUU2JJM2I5NDhxLzZS
Ung3eGRETHZsUzVkMnF0VHA0Nm5rM2F2WGJ0Mm5rN292ZkxsCnkxdWMrbmg0T3ZHMjdkOS8vOTFU
QWNIVHlUZE14THpqamp2TzY5U3BVNDVOZmVpaGg2enVldlhxZVdlZWVhWjMrdW1uZXpyQjlsUncK
c2Z4TGxpeXhlSjE0ZTZxQnNUZzE4N0wyK1NzODZhU1RQRFdIOGw1OTlWVlBCUWtyNDlKMTBtMzdx
bkh3VkFEeGROTHRxZGJCa3J0MAo2V0pwS3J4NEtwUmtLZWZLdSs5bm4zM1crdTMyUTcrZmZ2cHA3
NFFUVGdoR2YvTEpKMTU4Zkx5bmdrZ3dUczNSdkxwMTZ3YjN3VW9GCkhtLzM3dDNCT0xlaFdnZXZh
ZE9tMWlhd3dVY243NTRLWXA0S1RONmFOV3M4OWR2eHVuZnZic2ZCOFYyNDhjWWJQVFdOODRZUEgy
NVIKaXhZdDhzRFE5UnNjMUdUTzB1Njk5MTVQQlR4WE5NdDNzMmJON0J6aW1zQzVUMDFOOVhiczJP
R3BLWmx4eHJrYU8zWnNzSXhxZTd4bgpubm5HNjl1M3IxMHZLdmg0cjczMm1xZWFzbUFlbkljNzdy
Z2p1TThORWlBQkVpQUJFaUFCRWlDQmZ3Y0JPSFVmc1FBQlJEVVBYcjkrCi9UeE1WanQyN09oMTZO
REI2c2RFV0gwZVBOVjBlR3E3NytsVGNSTTJJRmlvaVpYRjZWTjgrNGJBb1JvSW0raXFwc0FtcnhB
aUlKemsKRmxTcllFS05TOGVrRlpObGZTcnZvcnlHRFJ0Nnp6Ly92TzFEdUltTGkvTlVPeEpNeHdR
WmszbUUzMzc3elk2THRvYUd2WHYzMm1SZAp6YUZDazJ4Q2ovWWpUMDVCdFJmZXpUZmZuQ1VKazNG
TS9GWGo0cW1XS05nR1pFSjcwUzUvZVBmZGQ2M3RFQndRTUtHUGlvcnlwazZkCjZzOTIwTzFUVHoz
Vm16UnBVakFmaEVTY1EzOUF1eURRSWV6YXRjdVlyRnUzenZiQlR6VS90cTIrT1o1cVpHdzc5QStF
SERDQk1PVjQKb2w3MWRRbGVCMy8vL1hld0dOb0FvZVN4eHg2ejg0RHJBaHhPUFBIRVlCNElJQkI0
MVB6S1BqLzk5Rk13alJza1FBSWtRQUlrUUFJawpRQUxoUytDSSs0RG81TkZzODJFMkJkK08rZlBu
Njl4VEJDWkpPbUUxVXh5WS8yQmJ0U0dpRTJkekxrY2NUSVA4QVduT3pBbm1WOGlmClc0QzVrazdr
ZzhrbFNwUVFmRFp2M2h5TXd3Yk1weEJnYmdRbmQ1aHZJY0JNQ0daUHprUUxjVEMzeXVtWXFwRXdK
M0RrRHcwdy9VSS8KUW8vcjhzRUhSb1V1dDJ2ZjhOOUFmbnpnNHdFekxCZGc5Z1R6SlgvQVBzeksw
R1lFT1BERFRDdlV2OGFWZ2ZrYXpNUkNROVdxVmJPMQpVN1ZSV2JMQi9NcjFFK1pvT0U4d3RZTGZS
WkVpUlFSK0t3Z3FzSmw1WFpiQ21UdnVISUlseWlPQXJRcVZNblBtVEdNY2Vsd1ZYT1d1CnUrNnlP
a092aTh4cTVjc3Z2NVQrL2Z2YkJ5WjJEQ1JBQWlSQUFpUkFBaVJBQXVGUElQcElOMUZOYklKVlFz
aFEyU3U0LzA5dVlGV28KclZ1M1pqa0VKdWJ3alhCQnRSS2labFp1VjlRY1NlQVFqbStzTXFVYUFa
dk1Jd09XL0ZYVHBlQitzRkRtQmliUU9UbCt3MzhDZ3BQLwp1UDZ5T2FWaFlnN25jd1NzN25USkpa
ZllzVEc1aDBDRDFiSDhBZjJFOE9RWFROQVcxSjFUd0VUL3R0dHVNOThVZjNvb0gvaUp3S25kCkgw
THJoSUFHdnd1czNQWHd3dzhMaERFd2hQQ0RkdWMxWEhmZGRhS2FGRkV6UEZFVExZR2ZpaE5tVUFm
NmZiQUE1M3Y2Z0J5TUV0TkoKZ0FSSWdBUklnQVJJSUx3SVpGVTVoRmZiRHFrMXA1eHlpc3laTStl
QVpaWXVYU3JxT3hITUEwZHVUSjdWdEVqdXVlY2VVVE9mWUJvYwp0T0VvZnFRREp2Qndmczh0UUdz
RXdRTExFU05BQXdFTmhsc1ZESEZxM2lib3J3dHdWTWNLWTZnN1ArR3BwNTZTMjIrLy9ZQlY0QmpR
CjFNRHBINHNIckZpeHdoWVFnQUNGWlpRUEZQekNLQnoySWNCQWNJR1FjKzIxMXg2b0tOTklnQVJJ
Z0FSSWdBUklnQVNPRVFKSFZRREIKRTI2c1BuVWtBeWJmTU9PQlJnQm1SamxwSlhJN0hqUWZLSXNW
bFM2KytPSXMyaEYvR1dnemtNLy9nZmtUK2dKVHFFTUpXQWxNL1V5eQpGRkVmaWVBK2x1U0Zwc1lK
R09xM1lpdGV2ZmppaTVZSDJnL2tVUWZ4WUJrSU5PZy9OQWxIS21CVkwvUjN3WUlGV1V6aklJQkFZ
NE5WCndyQWFGb1E0bUVGQm81RmJnQ2FzV3JWcVdjNDkyRUd6VTdGaVJYc2ZTbTRhbzl6cVpEd0pr
QUFKa0FBSmtBQUprTUMvazhBUk44RTYKRUFhOGNGQWQwODFmWWZUbzBYTHV1ZWNlS0h1ZTBqNysr
R09CdndBQ3pLdGdWblN3Z0NWajhVNEphRC9neDZET3pyYWNiRzdsNEd2UQp1blhyYk1tNitwYm9T
azNaNGc4VW9TdG1tZGtRM251Q2wrWmg0bzFKUFpheWhhOEROQU40NmFKL3VWcTh0UEQ4ODg4M0FR
dWFqbDY5CmVtVlo3aGFhQzVoWW9leVJDR2hUcTFhdGdsb1hITThGdEhQaXhJbjJ2aFlJU1dBWjZ0
UGk4cnB2bUtYZGZmZmRwbVVhTVdLRXZmTUYKUWhUT0FVeXQ0QitrSzIyNTdQd21BUklnQVJJZ0FS
SWdBUkk0aGdrYzBmZUE1SlVUWGhpSEo5KzVPUmZudFo3RHpRZm5abWd3ZEhVbgpFMTdjdXo0T3Q3
NURMUWVmREYxQ1ZqNzQ0QU43NXdhME5zNFVDY0pJWExzR2xBQUFJQUJKUkVGVWJnRW1aT0RtZjBz
Nm5NRWhzTGlYCkdlWldOaHppb2RuQml5YmRXOXpSYnppNGh6cWdoME5iMlFZU0lBRVNJQUVTSUFF
U0lJRi9oa0NCQ0NEL1RGZitYYlhDdndRYUVEY1oKUDl6V1E0alI1WTF0VmJIRHJZUGxTSUFFU0lB
RVNJQUVTSUFFU09Cb0VhQUFjclJJOHpna1FBSWtRQUlrUUFJa1FBSWtRQUp5VkozUQp5WnNFU0lB
RVNJQUVTSUFFU0lBRVNLQndFNkFBVXJqUFAzdFBBaVJBQWlSQUFpUkFBaVJBQWtlVkFBV1FvNHFi
QnlNQkVpQUJFaUFCCkVpQUJFaUNCd2syQUFramhQdi9zUFFtUUFBbVFBQW1RQUFtUUFBa2NWUUlV
UUk0cWJoNk1CRWlBQkVpQUJFaUFCRWlBQkFvM0FRb2cKaGZ2OHMvY2tRQUlrUUFJa1FBSWtRQUlr
Y0ZRSlVBQTVxcmg1TUJJZ0FSSWdBUklnQVJJZ0FSSW8zQVFvZ0JUdTg4L2Vrd0FKa0FBSgprQUFK
a0FBSmtNQlJKVUFCNUtqaTVzRklnQVJJZ0FSSWdBUklnQVJJb0hBVG9BQlN1TTgvZTA4Q0pFQUNK
RUFDSkVBQ0pFQUNSNVVBCkJaQ2ppcHNISXdFU0lBRVNJQUVTSUFFU0lJSENUWUFDU09FKy8rdzlD
WkFBQ1pBQUNaQUFDWkFBQ1J4VkF0RjVPVnA2ZXJyTW16ZFAKNXN5WkkrdlhyNWNJL1pmaFpZam5l
Vm1LUjBSRVNHU2t5alFhelhUeTRmWEIzNGQvZ09ENHdQR1I5NGU4M3gvSGpVK1FxQ2k5MTJaawpI
VWY4djZrRGJVZEdSa2kxYXFXa1k4ZVQ1WmFiVzBoOGZKNXU5d2Vxa21ra1FBSWtjTVFJUk9nazhZ
Q2pHNFNQTVdQR3lOYXRXNlZiCnQyNVN0bXhad1VTQ2dRUklnQVJJZ0FSSTRKOGg4TjczVzZWRzZX
aUppWTZVU0h1NEZ6Z09IZ0JtRHg2ZSsrbERRVHo4MDQvK1NVM0wKa0Q5WGJKTFJJMmFLcEtYSmxN
bTlWQWlKeVY2VU1TUkFBaVJRQUFRT0tvQjg4ODAzTW52MmJPbDNVeitKaTQ4ejRZTUNTQUdjS1I2
UwpCRWlBQkVpZzBCQjQ2ck9OMHJoNnJFU3BWWUVxTTB3SWdlaUI1My91cVNIMjNYWkErRkJCeElR
UVQ5TFM4Y21RWFh0VFplQmRrK1h5Ck5zZkwzZjFiRnhwKzdDZ0prRUI0RXppZ1RoYmFqNWt6Wjhw
Sko1MmtUMU5TSlNKRm43M29ZQmdZQkFQUFlkemc1N3JwRkNvUVV2eUQKSTlNREJNZ25jTVh3K3VE
dmcrUEQvc2tqeDBlT2p5RGd2ejlzMkpVaFcvZGtxQURpMmIwVUpsVUlFRURjYjJmanVqVlNybElW
dTVBdwpza0w0UUIzUWdxUm5aRWlhYnV4TmpaRFQycHdpRTk2YUtmMXZPMGZOdXFLc0h2NGhBUkln
Z1lJa2NGQUJaTy9ldldaMmxacWFhdTJFCkRhOWZBK0lHUXRjSkRINU1EOXdvd0lSODdON29MZys3
T2ZMNjRQWGhMZ2orUHZqN0NEeVNDRndSLzViN3g2cFZxNlJpeFlvU0h4Y1gKMUVDZ0I2NzlHelpz
a0ppWUdFa3NYVHJIZE54UGtYNmc2MzlIY29ZS0R4QTRBdmZVQ0swSndnY0N2clpzV0N2M1hkdFdC
cjQ0UmNwVgpybUh4T0Q1NEJzeXcxUElxWFdSdmlpZUpsUk5seGNZME5jMVNnWVlDaUxIaUh4SWdn
WUlsY0VBQlpNK2VQUUl0Q0FiS05MVWh0YWZXCjBHeTRVUkJ0enh4QkVZZkJMMXRndXMwd3lJZlhC
MzhmNFQwKzdOeTVVOTU1NTUxc1ExaW5UcDFzREh6enpUZmxra3N1a1pJbFMrN1AKVThqSHQ3ZmVm
a3RhbnRQU0hsTGgrb2E1N2llZmZDS1ZLbFdTeXkrL1hCTExKQWJIdjE5Ly9WVm16SmdoSzFhc2tC
TlBQRkZhdEdnaApTVFdUTEIxc0w3amdncXhzUVRuTStINzMzWGR5MDAwM1NYUjB0QlFyVmt5ZUhm
YXNMRjJ5MUs0TDlEOGxKY1g2alQ1aSs5MzMzcFU2CnRldllQZFA5L2pkdDJpUzFhOWUyUlYzcW5W
QXZ5TWVsbzlzSWUxSXlKRm45T0tBcmpWRGZkYUNBRUJMWUVobno5UDlrNTdZdDh2TFEKZStXV3g4
ZGxwam9UTEFnaEFUT3N2YW5hcmd4ZEFDRTJUbmJ2M2kybFNwWFN2QXdrUUFJa1VMQUVjaFZBTUJo
QzZNQkFpeENxQWNHZwpHSmhPNURDcDBQeE1KeDllSC9qbDhQY0JDcUVoSE1jSFRBeHZ1ZVVXT2Ur
ODgyeEM3ZHJjcGswYlc5M3Z5U2VmbFAvODV6OVN0R2pSClF4N2ZkdTNhSlhocVhyOStmYXMySFB2
ditvdnZ2TFJ2M3JmZnlvY2ZmQ2dkTHVsZzl3Y0lidzgvL0xEODMvLzlueXo1ZFltMGJkdFcKUHZq
Z0F5bXRXZ0NFTDc3NFFwWXRXeVlubjN5eXpKNDFXKzY5OTE1WnVIQ2hDUjBOR3phVW5qMTd5bXV2
dldiM25Md2N2eURHbC9Iagp4MHVyVnExazBFT0Q3SmM5YWRKRW1UUnBrbHg0NFlYV1I1Z3MvLzc3
NzdMZ3h3WEIrK09mZi81cEQvS3FWYXRtZVhCZlJVaFgvNHkwCjFNQzJSZmorb1AvSmFaN3Mwdytl
OTBWQ3BXRWhRR2JobkdteVlOWTBpMWs4ZjZiTW12NitORzdaWGg4QzZvaVQrVW5YTXZqc1ZrRW0K
VFFXUXFMakFnMFRjMjdNOFJNeXNtVjhrUUFJa2NEUUo1Q3FBdUVaQUFObXhZNGNrSmliYVRUajRs
QWFhRUpjcCtCMTQrbUs3VENlZgo0SFhoTm5oOVlISmdnYitQc1B0OXBLY0hKb01RUWhxZGVtcTI5
bjMzM2JjMnViTUo1Q0dldnc4Ly9GQWVmZlJSK2Y3NzczTTkvei85CnRFQW42VE9DNlRFNjlsYW9V
RUhPUC85OEtWR2loT3pibHl3dnZEQkNvSkdwVnIyNnRlL25uMytXbFN0WFN2djI3YlZjNFBmMXho
dHYKU01OVFRwSGpqenRPUm93WW9jdXdkcFRxbWgvcHMzVGkvNjBLRHRCcWx5dFh6b1F0SnlCTW5m
cXBMRjc4cThUR3hrcEYxV0MwMGVOQwoyTm9mOXY5K04yL1pJcjE3WHllVEowKzJ5VFdlOXQ5Ly8v
M3k5Tk5QMndRZHMrWXJ1bmFWMGFOSHkyMjMzV1pWOU9yVjAvaGhwM09YCkxqTHo2NW55L3Z2dnl4
VlhYQ0cxYXRXU2V2WHF5c0NCQSsyRDhxSDNsM0hqeHNybXpWc0N6ZEYwckF5RlZSbWJOV3NtTldy
VTBIaFAKWG4vOURkcys4Nnl6TEIyWlAvcm9JK3QvZ3dZbjJmRnhQM3R6NGtUcDA3dTMxZlhTU3k4
Wmh4bzFxc3ZjdWZNRTVsUHRMN29vMi9GUgpQNWFqNzlHamg2VHF0WUwyNFZ6Z0Ewc0JwTStkTzll
TzVkSnhnUDc5KzB2Tm1qWGx3UWNIN3I5K05CN1hXNkFjY2lIczU0dis3MHZOClVBRkVKRXBOc0FJ
OEFzS0lsNUV1c3o5OVM2b2NGeEJtVVhMdTlIZWsvbGtYU0dSVXRCNURmVUMwTHBWdkpGbUZqNTNK
NmJKeFY1b0oKSU1qTFFBSWtRQUxoUU9DZ0FnanNSZUgzc1h2M0xudktCWUhFMW5MSDZPc21VOEdl
d014R1ZjWTZlTnJvelBRZ21jQUcrZkQ2NE84agpYTWVIdlh1VDdXZWFuSndzZS9ic3pqSytiZCsr
WFNmeW5YUkMvWkpOSmpGeG5qSmxpcG5lWU5KOS9mWFh5MldYZFpaWFhubFozbjc3CmJWbTdkcTM4
OTcvL2xlSERoOHN2di95aWs4OEhiU256TTg4OFU1bzJiU29QRFhvb1MvMDQ4Q2VmVEpXUkkxODA4
eVdZZVVIUVdiTm0KalF3Yk5rdysvZlJUV2I1OGhVeWJOazJlZU9JSld4eWtjdVhLcGtHQTFxQmx5
NVphUTJCOGVmSEZGK1hPdSs2VURKMFVUNTA2VlI1LwovUEhNL0ZWTUkvSFRUei9wNURSZDF2eTFS
b1lNR1dLYUNZenpreWE5WmUzR2NmSFVmclJPek5HWC9XSC8rRFZ4NHB0U3AwNGRFd0JnCjF2UFZW
MThKR0oxMjJtbktibytOLzgyYk41ZXhZOGRLbno1OU1xdllYMzdOMmpXeWNlTkdPZUdFRTh3c0NC
azZkYnBNQmFsMjBxOWYKUDBrb2twQ0ZENDR4Y2VJazgyRnc3WUUvQTdSV2Q5OTl0eDIvZlBrSzh2
WFhYOXQrL3p2N1M4OGVQUzByekw0Z2xOMTMzMzF5MVZWWApLY2ZsTXZDQkI2U3Jtb2loMzg4ODg0
d2tKU1ZwWDhvWjM3Lysra3RhdFc2VjVmaW82TnBycjdPeVE0Y09sWkdqUnNxRThSTUVKbG00CkRs
NSsrV1daTUdHQ0NWejc5dTJUTTgvOGovUytycmNLVEp1dFRSQk1wazZkSmdNRzNDMk5Hald5ZHEx
YnQwNEdEeDVzQWlHdWxjR0QKSDlWbGNnTXJUZUwrdVNzbFNqYnVUSlZvZFQ2UDBvL2RWdlVQL25X
NFl3U3lXRkN4eGRxNlF4ZUp5ZkRnNTZIQ2gwYlpLbGk2dlgxUAp1bXlCTTd0cVFCaElnQVJJSUZ3
SUhGUUFjUUtIclN1dWpuTzRPV0hReGlBb2VESmp3NkFOZ1RZSU92VXUwOG1IMXdkL0gvK204UUVU
ClI0VEZpeGRMeXI0VUc5OHFWcXlrV29qeXNtZnZIdFUwckxESk12SnRVUTBBSnAvUUpNQTBxMXIx
YXVyYnNOd205SGppWHI1Y2VkbXcKOFcvekE2aFpNMG42OXUwcm8wYU5FcGp3eEtuamNrcHlvSDQv
SDJnVXBrMmJLamZlZUtQNVZlRDNzMnZYYmpuampETUVFL1lxVlNyYgpKQmNhRFFnaVYxelJWUm8w
YUNEUWd1emN0Vk5pWTJMdDZUZDhXYXBXcmlwVnExWlJqY0RySmlRaGYxZlZTT0JwUEFSQS9OdVhr
cXgxCk43RjJRNk1DWWNTTjN4czNiSlRtTFpvTDZvcUwwM29CUnYrNDlDOW5mQ2xKU1VuV1B5VEE1
NkZNbVRJbUlJQVA2aStqL2grWXpFTnoKWTdObkxZOTJZREwrMjIrL21iWWtVTWMrcTc5Y3ViSUM0
UTh2dkczV3RKbnhkM3lpWTZLTm5UdSsvLzdTcVZOSG1UdHZybXBzMnBnSgpHTFE5MDNTeWY2Vyt0
d3JsNzczM0htVlIxZng3T25mdWJKb2YxTE4rL1RyZExtOGFmcWRoZ3VDRnZEbWRuOEdESHhHVXg2
ZGpoNDVTCnFuUkp1dzVXcjE2dExQZEp1M2J0ek1SczBhSkZNbnpZY0NsU05FRTFIQm5hM3puNlFz
RHE1anNDalJLRUtZUzc3cnJMcm91K2ZmdEkKcjE3WHFnRDZzWm10dWZPek16bFcxdTFJMXg0QUgr
NG4rajl6U0VHY25STlVGQktnWlVYL1ZQWXdFNnc5KzlRRVM3Y2o5VHd5a0FBSgprRUM0RUlnOFdF
T2NCZ1FESURRZnB2MUFvU3dqb040T1BQMW9IaHNvbVU0K3ZENThNd1QrUHY0dDR3T0dManpKSGpK
MGlFN0loNnJKCjBpd2I3TkIraE9ENHB0dEZpaFF4YlFUOE9rb1VLeEZjck9Qamp6L1d5VitHVksx
UzFjcEVSOGRJc2FMRmJPekVKQjNPeTdtTm44V0wKRjFlaFkxY3dIWG54MmI1MWU1YnhGYVpIbUlI
Q3J3Q1Q1OFcvTExaMG1FSkJFMUZGaFEvL0RMVnNtY0FMWklQdDErN0VxVk15SEpLMwpiOStSYmZ3
dVY3NmMxYmR0MnpiME9sczZORHpWTTMwYWtCNFFWREtmM3FQWFduOThYTHhwemZlcE1PZk9QOHlm
MEQ1b1A3NmZQOS9LCnVmb2h6RUdyZzdwejRvT1g0VUtiWWNFM3ZsU29VREViSDNEZTMvOEkwN1Rn
dU9nL3podk16alp0M0NRTEZpeVFoSVFFcVZHOWhxWEIKVDhmTXVYejF1L2FCRmU1L0VDTGdYQjhK
ei9ETWdQNmhYbnpRRDZTai84Z2JvNElodHRFbUNKOHUzSDc3N1NZYzFxdDNnclVQbWpMLworY0d4
TXJSZVQ5dHNIMERST0RYRVVoTXJqYk1QOWpWZjVyN2wxd05rYUp3SklycU5wZk5qb3FNa21ob1Fo
NTdmSkVBQ1lVQWd6eG9RCkRJejRZRkIwMnptMUgwOWVFSUlEYVVnbXBwTVBydy8rUHNKeGZIQVBW
eDU2NkNHQlU3US9SRVlGSnB2STQ4WkFUUHd4NFhRQnk3SysKOE1JTDhvQ2E5OEFzQ2o0UmNHaEhp
TWg4aDRNN1JtNzl4OFFZazNtWEQyV2hoWWFPR1hFWVA2RmhnUGxUcEdxaUVXRFNBN01xbUQvOQo4
TU1QdHNJVS9EaGNzUHgxTlg5bWVjUzc0Mk95REZNbTF6Ly8rSXlIVDlqM3Q4V2xJdzJyTExrMCtL
cjQyNDM2ZDZvZ0JZSEt6OGhwCkVHQ20xYUpGQ3ltamd0UitFeTM0UmFTYmh0M1Y2L3FBNzVYcTZ3
SnpzdGF0V3dmYmozandnY0RuK2dlaENlZlA4WEY1OE8zcWhaYmoKbFRGajVNc3Z2NVJiYjczVlRM
N0FEc0xQdWVlZUc4eUhNdjZBZnVIajZuRWNIYi9ndnJKMndjcm8rWGZ0YzJXUFV4OGR0NDN6RlZw
dgpmRXlVeE1lcUNUU0VJUnhYditEM1lyZFk3R2pRM2NDKzdjR0hCSitBN0pXdWp1Y1phb3ZscVJB
VHEyOVRwd21XUWVJZkVpQ0JNQ0dRClp3RUVOeHdNOURhWVlqREV5QmNTM00wSjBVd25uNURMdzI2
T0xvN1hCNjhQZHkyNDc0SWVQOXhrRU44WTcvd2hOQTM3dUliOStkQisKckpCMDl0bG5xeS9JSzNM
enpUZWJCZ1hPM3E2OHk1L2I5WS9sYVNGTVhIUE5OZjdEWjVtVVQ1OCtQY3Y0Q3NIanh4OS9GTHl6
Q2Y0bwptS1M3NDZDU3p6Nzd6T3JLamEvcmIwN3BxTWZWNVUvSEJCN21WUzROTDZ1RldSb20vM2pT
ai83OThjY2ZKZ3k1UFA3eUVON0FDZVpXCk45eHdnN1VQZ3RMNjlldk5pZHVWc1lUTVA2alRNZmZ6
d3piNjRCakQxOE9manVLb3o1WEZQdG9QamNnWUZVSWd3TUdNYXVEQWdTYU0Kd1A4bXREekt1UFk3
WG9qRHRxc1g2ZGgyKzBoSGNIR3VmZjV2MTAva1FmRHZ4Nm53RVI4TG44dEFHb1FQQ3lwc3ZmVmda
OW0wYW9udQo0b0ZXaEpTcVdFTzZQUHllUkVTcG40ZEd3V1FhUXBtdTRpc1pFZWttZ0VUVEJDdkFq
MzlKZ0FUQ2drQ2VCQkFNaWhBKzhIRURyaHN3CjNhQ00zaURPN1RNOWNMTndQTWlIMXdkL0grRTlQ
a0FiZ0lCeHptMjczeS9pRUJDUGo1dlF1bmlrWWZJTUlhQm16WnBtV3ZQc3M4K2EKZGdGNXNNclQz
My8vYlJOMENDU2g0eU5NcDJBT0JET2Z6ei8vM05KUnpoMGZ4OE5UY3Jmdkw5KzRjV1B6TDduc3Nz
dmtJbDI5Q1NaaAovblMwRFFHYUR2aXRJTGgwSEhmSmtpV21NWWlQajg5V3Z4djdYUmwzZkdoMllH
cm0rZzlmRkFoQ1dKSVd5L0RDMUFyTzJWaHExK1hCCjZsSXdIY005Qk52UVBzQXZ4YVZEd3dIQkJF
c2RoL0xIOFYwY3ZsMzcwUjdVbHhzZnZIc0Vnc2JTcFVzdG42c0RmaUxRZHNBaEhmM0EKS21YMzNI
T1BkT2pRQVlmS1VyOUZaTWJodURpV3E4Y0pFK2dEMHR6OTBhV2pmYmdlNEZma3pwOUxReG5YOTlC
NnNaK2d3a2RDbk41egpNNC90QkJGdG5aemI0Mzh5ZnNERndmUFZxdnQ5VWt3ZDl5R080Smg2cWsx
RGxhcHZJc1IrbkdwVG91UDNhOFZjbi9oTkFpUkFBZ1ZGCjRLQUNDR3hXTVVpNkd4RyszU0RyR28w
QnpnVnNZL0RFeHdXbWs0Ly9XdUQxd2Q5SE9JNFBiaktJQ2FMZmhBbmpsOXRISG14akhFUWYKTUQ2
NjhRMFRhS3lHNVphdXZmUE9PMDN3UURwV3Y0SjJwS1d1Vm9XVm1HQ2U1UUxTSVhUMDZ0WExvdXJX
clp2RmJBbkhRWnZ3UVY3MworOEdTc1BCWGdWQUJNeWRNOW1FKzVOTDk5V01iSzBSMTBlVnZRd05X
MmNJN09EQ3UrK3RIUHZUVjlSMzdMaDFMejhLcEh1LzF3RXBXCkNGanlGd0lGTkM1WTRRbkw2MkpD
anpJSWd3WU5zdFc0SUl4aGRTOElTMkRrNm9mV0NPWlk4SGxCSDF4dzVSMXo1UGVuWXh0cG9YeGcK
enRWTkhkR3hFaFVDMm9ZOHlKK1VsR1JDQjdRdUVOZ2dMQ0hPOWM5ZnZ6cys2a0M4dXdhd2oyM0V1
VDY0KzZQYlJ4NjBBZWYyTEYwYQpHQ3RvUVZ1RWdMYTQ2d2ZzOFhIdFE1MEo2ck1SSDZ2Q3JtcEFz
TzhFRUpBNXZ1R1owcmh0ZDVuLzhWaHAwTHlEbk5Da2xZb2xtY0tICjRvWjVYSVk2d01lbzZaWEdT
aEVWWkdJVEtJQW9EQVlTSUlFd0lSQ2hnK3YrMmJHdlVZakd3STBiSTI0d2VETG5oQkVLSUp4QTRv
Ym8KZ3Y4U3dqYlNtRTQraGZYNndOUDk4dVhMMjRRU0RQeS9EeXdiaXdrMkhKOWQ4S2NmeXU4SHZp
YVlRTU9FQ0MvQ2crQnpLT1h6ZTN5cwpaQVZCQ2t2Y3V0ODdqZy9USy9pRXVEZkcrL3NITFJEdUs3
aW40RDZDZ0hRSVVYZ2Z4OGlSSTQvWjhRTkNHYTRMSjBnZGpILy96Nk9sClhvVjR6YS9DQ2NiVVRG
TXNqQ3dZZnBOMzc1QmhON1NTdms5L0tNVkxWMUF4UTIvbDZ1OEIweXN3VFZmL2p6UVZ3dmJxaW11
YnR1MlcKQlQ4c2wvZjYxd21heUxuajg1c0VTSUFFQ29MQVFRVVEyQnZqaVZ5VktsWHNwb2tuUHFF
RHFHczRCajE4UWllZ1RBOFFJQjllSC94OQpjSHc0bHNaSG1GSEIvQXArSC9rWjMyQUNCZWR5cDkx
d0FvMjdkK0E3UC9YL0c4c1ArQ0pLNmxhRUR3NThUUUlmQ0I3NDZHM1d2dmZ1CjJpa0p4WXJiUHVM
d2dma1Z2bFgyVUFGRVZBQkprNVdyTjhxV1pZdmsyVDZOS0lENEx5cHVrd0FKRkJpQlhFMndjQVBB
RXpXczcxNjcKZG0xOVFWSzhQYmx6VDYwS3JNVThNQW1RQUFtUVFGZ1FjS3Q4NWJjeGVMY0pRMVlD
NVhRbDRkS0pBY0ZEVjlFMWdRUENCNEo5NjNaaQpvZ29mdXE5S2o0QVFrcmtOSVVSZjJXVkNTTndl
TmIvUzhvbTdmOUo3ZWpNdG0xa0pLbUlnQVJJZ2dRSWlrS3NBZ3ZiQUhoVk9nUkJDCllMZEw0YU9B
emhJUFN3SWtRQUlrVUtnSVZLMm1Ra1B4L2RvUFdHQkIyUENIb0N5aENTYUk0RHZ6QXcwSWx1R04z
cG9oUmJiL0tyV3EKSk5nOTNWK2UyeVJBQWlSUVVBUnlOY0ZDZzZEeXhvdVpoZzhmYm0rUGJkT21q
VG5Rd1F5TGdRUklnQVJJZ0FSSTRKOGhnTVdUNDFMUwpKRVpYdzhwTGdPRGhEMmxhZHVYQ1piSm8y
a2VTdG1XTjlPdlh6MTZ5U0EySW54SzNTWUFFQ29yQUFRVVFOQXBMTjJLbEV5eXZpR1VMCnNjOUFB
aVJBQWlSQUFpUVEzZ1JndFlDM3krTUZrUDRYSDRaM3E5azZFaUNCd2tEZ29BSUlJRUFUa3BxYWFn
TEkxcTFiS1lRVWhpdUQKZlNRQkVpQUJFaWhRQWhBZ0R2ZWhIOG9tSmlaS3BVcVZnc3Y3Rm1obmVI
QVNJQUVTOEJISWt3RGl5ODlORWlBQkVpQUJFaUFCRWlBQgpFaUFCRWpoc0FvR0YyQSs3T0F1U0FB
bVFBQW1RQUFtUUFBbVFBQW1RUU40SlVBREpPeXZtSkFFU0lBRVNJQUVTSUFFU0lBRVN5Q2NCCkNp
RDVCTWppSkVBQ0pFQUNKRUFDSkVBQ0pFQUNlU2RBQVNUdnJKaVRCRWlBQkVpQUJFaUFCRWlBQkVn
Z253UW9nT1FUSUl1VEFBbVEKQUFtUUFBbVFBQW1RQUFua25RQUZrTHl6WWs0U0lBRVNJQUVTSUFF
U0lBRVNJSUY4RXFBQWtrK0FMRTRDSkVBQ0pFQUNKRUFDSkVBQwpKSkIzQWhSQThzNktPVW1BQkVp
QUJFaUFCRWlBQkVpQUJQSkpnQUpJUGdHeU9BbVFBQW1RQUFtUUFBbVFBQW1RUU40SlVBREpPeXZt
CkpBRVNJQUVTSUFFU0lBRVNJQUVTeUNjQkNpRDVCTWppSkVBQ0pFQUNKRUFDSkVBQ0pFQUNlU2RB
QVNUdnJKaVRCRWlBQkVpQUJFaUEKQkVpQUJFZ2dud1FvZ09RVElJdVRBQW1RQUFuOGV3aXNYTGxT
OXUzYmwydUROMnpZSUZ1M2JzMDFQVFUxTmRjMEpwQUFDWkFBQ2VTTgpRSFRlc2pFWENaQUFDWVF2
Z1YyN2Rza2JiN3lScllGZHUzYVY2T2hvR1Q5K3ZGeDIyV1ZTcWxTcGJIa0thOFRycjc4dTU1MTNu
cFF0Clc5WVFmUDMxMS9MKysrOUw1Y3FWNWVxcnI1WXlaY29FMFN4ZXZGaW1UNTh1Zi96eGh6Um8w
RUJhdDI0dHRXclZzdlJ4NDhiSlJSZGQKRlBaczU4NmRLejE3OXJUcm9Yang0dkxTU3k4SituWHBw
WmRhUDFKU1VxUjkrL2F5Yk5reUUxRFEzM3IxNmdVWllHUGp4bzFTdm54NQorZVdYWCtURUUwL01r
c1lkRWlBQkVpQ0J2Qk9nQmlUdnJKaVRCRWdnVEFsczJiSkZldmZ1TFI5ODhJRmdvdWsreWNuSnNt
ZlBIaGs4CmVMQk5IZytuK1R0MzdwU0ZDeGNlVHRHd0xUTjc5bXg1NzczM2dzSUhoTGVycnJyS2hB
b0lHYzJiTnhjd2RlR3p6ejZUMzMvL1hSbzEKYWlUZmZQT05uSHp5eWJKdDJ6WkxQdU9NTXdTQ1hs
cGFtc3NlbHQrdnZQS0t0RzNiMXM3bHJGbXo1UHZ2djVkUm8wWUYyL3JWVjEvSgowcVZMVGNoYXZY
cTFDUjkvL2ZXWHJGcTFLcGlIR3lSQUFpUkFBa2VHUUlTbjRjaFV4VnBJZ0FSSW9HQUkvUG5ubjFL
alJnMlpOMitlCllFSjhKQU8wSi9mZWU2L2dHTGtGVEdZLy9mVFRZSEpNVEl4VXFsVEpOQU1sUzVh
MEorcERodzZWYnQyNlNWSlNrdVg3OGNjZjdXbTcKZXdLUFNFeVNHemR1TEhYcjFwWFEvSmdnWS9L
UHVpdFVxR0JQNnhNVEU2MHVhQzUrL3ZsbmlZMk5sU3BWcXRoeGl4VXJabW1oZnpadAoyaVNublhh
YXpKZ3h3d1FPUFBrSE94ejdnZ3N1c096NFB1dXNzK1QrKys4UExTNjRaVlNyVmswZWV1Z2gweWdn
dzUxMzNpbnA2ZW55CjVKTlBac3VQaUpFalJ3cU82MEprWktTVUsxZE9XclpzR2RTazRQalFxa0Q0
aVlpSXNLeVRKMCtXbWpWcm11Q0RpTzNidDh1WU1XUGsKbGx0dXNmUmh3NFlaQitRQm0vWHIxd2Mx
R3BiQjk2ZCsvZnB5MDAwM3lmWFhYKytMM2I4NWNPQkFtVGx6cG56eHhSZkJTR2gyYXRldQpIZXdY
TlNCQk5Od2dBUklnZ2Z3UmdBRENRQUlrUUFML1pnTDZsQm9QVWp3VlFMSjFRNS9rZTNYcTFQSDBD
YjZsdmZiYWE1NCtDZmYwCnFiOTMvUEhIZXkrLy9MTEZQLzMwMDU2YUYzbHFwdVYxN3R6WjRuNzQ0
UWV2WXNXS25wcHhXUjAzM0hCRHR2b1JvWk54cjJqUm9wNmEKN0hobm5ubW1kL3JwcDNzNndmWjAw
bXY1bHl4Wll2RTY4ZmJRVmdRVmJEeWQ1TnUyKzNQU1NTZDVIMzMwa1pkVGZwMTBXeDBxWUhrcQpn
SGc2NmZaVTYyQkZ1M1RwWW1rcXZIZ3FsTmkycXpQMCs5bG5uL1hhdFdzWGpQN2trMCs4K1BoNFR3
V1JZTnh6enozbnFSQVUzUGR2CnFBK0Y4VmkwYUZFd0dteFY0UEYyNzk0ZGpITWJxa0h5bWpadGFt
MENHM3lhTkduaXFTRG1xY0RrclZtenhzdkl5UEM2ZCs5dTdjQjUKY09IR0cyKzBZdzBmUHR5aWNF
d3dkUDBHaDg4Ly85elNWRWowVk1CelJiTjhvNzhxdUhscVBtWG5VVFVjbnJzT2tQSDU1NTgzYmtX
SwpGTEYwTmMveUhubmtFVHVucFV1WHRqZ1Y4anoxRDdIclRBVVZyMlBIanA2YXI5a3hjK3AzbGda
d2h3UklnQVJJSUFzQlBNMWlJQUVTCklJRi9OUUVuZ09oVGRFL05yK3lqNWpQV0p6ZHBWTHQ5Mjhk
a3MwU0pFbDZuVHAwODFWeDRha3BrUWdFbTRTdFdyUERVUWRsYnZueTUKNVZXSFl3K1RjZFVxMk9S
VG44RG55a20xQ2g0bXFTNGdMeWJMK2xUZVJYa05HemEweVM0aTFOZkFpNHVMcytPNUROV3JWdzhL
U29qego1M2Q1OEwxMzcxNmJyS3U1bEQvYXRqR2hoekNHUERrRjFXNTROOTk4Y3pBSlBIQmNmM2oz
M1hldGJSQU1YSGpublhjOENHRE5talh6ClZEUGhvdTBibktLaW9yeXBVNmRtaVQvWXpxbW5udXBO
bWpRcG1BMlQvaFl0V2dUM3NRR0JCQUlkZ3ZyNldOL1dyVnRuKytDbm1oL2IKdnZMS0t6M1YyTmgy
NkI4SW9jY2RkNXozeEJOUDJIbFViWTJkQi9YanNLd1FJRzY5OVZickc2NFhOZHZ6SURpcGo0eW5H
aE1ybytaOApRUUZFdFNMZTJMRmp2UVVMRnBoUW8vNDBvWWZrUGdtUUFBbVF3QUVJMEFja2Z3b2ts
aVlCRWdnakFqREo2ZCsvdjMybVRadVdhOHRnCm5nVFRLcDBBQzB5a1lOYUUxWTNlZlBOTk15V0NT
UThDSE5oVldCRm5Nb1R0M0FMcTJiRmpSekFaZWZIWnZIbHpNQTRiTUo5Q2dMa1IKbk9KaHZvVUFm
eFg0WFRnVExZdlVQeTYvMjhlM0Nrdm1KTzczMDNEcE1QMUNlME9QNjlMaDA2Q1RjYmRyWmswSkNR
bkJmV3hnSHl0RgpvVTB1WUdVbzFLbVRmNEhET3N5aFhBQW5tSEdoN3B3Q1RKZGdKaFlhcWxhdG1x
MmRjUEwyQi9pZHVINnFsc2xNdDJCcUJUOGYxVmlJCmFyRXMrMisvL1dibVV2NnlibHUxR0tJQ2tz
RDVIS1pmNE9NUHFBZDF3NFFONmVnL3JoRVZjR3diY2RoMjRmSEhIemRIZlJVUXpUeHMKL3Z6NUxv
bmZKRUFDSkVBQ2VTQ1FkUlRPUXdGbUlRRVNJSUZ3SlFCZkE5ang0OU9qUjQ5Y200bUp2My9TalVu
N2xDbFRSTFVCTnFHRgo3OEdoQnF3YUZicDhLeWJtOEkxd1FiVVNvbVpXYmxmVUhFbmdFSTZBU1Qw
RUlwUnhJVFMvaThjM2hLYWNITC9oUDRISnR2KzQvbktoCmFlaTdjeWgzK2RDUFVFYTlldlV5QVUy
ZitzdXJyNzRxSTBhTWNObnRHMjFCM1RrRk5TbVQyMjY3TFZ0U0tCLzRpWVQ2OElUV0NRRnQKeUpB
aDBxWk5HL05EZ1RBR2hoQitMcm5ra216SCtDY2k0S1BqQW9RV0JoSWdBUklnZ1VNalFBSGswSGd4
TndtUXdERks0TUlMTHhRMQp2WkorL2ZxSitvQ1lRN1BycW1xUjNXYXUzNmVjY29yTW1UTW4xM1Fr
WUpVbC8rUVZqdDZZUEdNWjRYdnV1Y2NFSUg4Rm9mbjlhWWU3CmpRazhscHAxQVJvR2FDandjVUY5
TFFUOXlTbEFNNERKUDFiR2NnR083Rmd4Q25Ybkp6ejExRk55KysyM0g3QUtIQU9hR0RqOXc2bGMK
emViTXNYelFvRUdtNFRoZ1lTYVNBQW1RQUFtRUJRRUtJR0Z4R3RnSUVpQ0JnaVNBeVRPV21ZVlc0
ZkxMTDdjbitaaFVJOERFWiszYQp0ZkwzMzMvbjJFVGtnOFlGR2dPWUdlV2tsY2l4b0VaQ0E0THBR
dExVQUFBZ0FFbEVRVlN5NnBRdEYxOThjUmJ0aUw4TXRCbE9zK08rCllSNkZsYlFPOUZJOWZ4MXVH
eXM3b2E4dXdJd0lndENMTDc1b1VkQitUSmd3UWRRQjNHVXhzeXYxQjdGOXNGQkgrU3dDQ2dRYTlG
LzkKUTRKbDhydUJWYjNRVjJoYy9DWlRFRUJnVW9WM2NXQTFMTFFkWm5mWFhYZGRmZytaclR6T1BS
Z3prQUFKa0FBSkhGa0MrM1g5UjdaZQoxa1lDSkVBQy94b0NNQkhDdXl6d2RCOEJTOHlxWTdadFEw
akEreU9ndWVqVHA0L0EvdDhmUHY3NFkrblFvWU5Gd2J6S2IwTGx6K2ZmCnhwS3hlQWNGdEIvd1Az
anNzY2RzT1ZsL0h2LzJsMTkrYVMvLzg4ZGhHKzNzMjdkdmFQUUI5M1hGTEROaHdydE44RDRQQkx5
VThQenoKenpjQkNzSVl6SzM4eXdOam9vOFg4K2xxWXJZY01UUkVEenp3UVBBNDBGekF4T3BJbVNO
QjRHclZxbFZRSzRQMnVBRC9uSWtUSjlyNwpYYUNsQVV1L1Q0dkxkeVMrOGVKQ1hlM0svRnRHang2
ZFJlZzZFdld6RGhJZ0FSSW9yQVQ0SHBEQ2V1YlpieElnZ1d3RTROd01KMmovCkUzZVhDZjRKRUZE
Z2M1RGZjTmRkZDVtRHQ2N3VaTUlMSEtDUFpvREFkY2NkZDlpTEc5MDdOM0I4bUh6cHNzUG1tQi9h
SG1pQWRJVW8Kd2ZzMC9IemdESzRyaFpuV0pMVE1zYklQclErNCtQdDlyUFNOL1NBQkVpQ0JnaUJB
QWFRZ3FQT1lKRUFDSkZEQUJQQWlRbWhBNER5ZgpuNEMzeit0eXRWbFdpY3BQZlN4TEFpUkFBaVJ3
N0JPZ0FITHNuMlAya0FSSWdBUklnQVJJZ0FSSWdBVENoZ0NkME1QbVZMQWhKRUFDCkpFQUNKRUFD
SkVBQ0pIRHNFNkFBY3V5ZlkvYVFCRWlBQkVpQUJFaUFCRWlBQk1LR0FBV1FzRGtWYkFnSmtBQUpr
QUFKa0FBSmtBQUoKSFBzRUtJQWMrK2VZUFNRQkVpQUJFaUFCRWlBQkVpQ0JzQ0ZBQVNSc1RnVWJR
Z0lrUUFJa1FBSWtRQUlrUUFMSFBnRUtJTWYrT1dZUApTWUFFU0lBRVNJQUVTSUFFU0NCc0NGQUFD
WnRUd1lhUUFBbVFBQW1RQUFtUUFBbVF3TEZQZ0FMSXNYK08yVU1TSUFFU0lBRVNJQUVTCklBRVND
QnNDRkVEQzVsU3dJU1JBQWlSQUFpUkFBaVJBQWlSdzdCT2dBSExzbjJQMmtBUklnQVJJZ0FSSWdB
UklnQVRDaGdBRmtMQTUKRld3SUNaQUFDWkFBQ1pBQUNaQUFDUno3QkNpQUhQdm5tRDBrQVJJZ0FS
SWdBUklnQVJJZ2diQWhFSjJYbHFTbnA4dThlZk5renB3NQpzbjc5ZW9uUWZ4bGVobmllbDZWNFJF
U0VSRWFxVEtQUlRDY2ZYaC84ZmZnSENJNFBIQjk1ZjhqNy9YSGMrQVNKaXRKN2JVYldjY1QvCm16
clFkbVJraEZTclZrbzZkanhaYnJtNWhjVEg1K2wyZjZBcW1VWUNKRUFDUjR4QWhFNFNEemk2UWZn
WU0yYU1iTjI2VmJwMTZ5WmwKeTVZVlRDUVlTSUFFU0lBRVNJQUUvaGtDNzMyL1ZXcVVqcGFZNkVp
SnRJZDdnZVBnQVdEMjRPRzVuejRVeE1NLy9laWYxTFFNK1hQRgpKaGs5WXFaSVdwcE1tZHhMaFpD
WTdFVVpRd0lrUUFJRlFPQ2dBc2czMzN3anMyZlBsbjQzOVpPNCtEZ1RQaWlBRk1DWjRpRkpnQVJJ
CmdBUUtEWUduUHRzb2phdkhTcFJhRmFneXc0UVFpQjU0L3VlZUdtTGZiUWVFRHhWRVRBanhKQzBk
bnd6WnRUZFZCdDQxV1M1dmM3emMKM2I5MW9lSEhqcElBQ1lRM2dRUHFaS0g5bURsenBweDAwa242
TkNWVklsTDAyWXNPaG9GQk1QQWN4ZzErcnB0T29RSWh4VDg0TWoxQQpnSHdDVnd5dkQvNCtPRDdz
bnp4eWZPVDRDQUwrKzhPR1hSbXlkVStHQ2lDZTNVdGhVb1VBQWNUOWRqYXVXeVBsS2xXeEN3a2pL
NFFQCjFBRXRTSHBHaHFUcHh0N1VDRG10elNreTRhMlowdisyYzlTc0s4cnE0UjhTSUFFU0tFZ0NC
eFZBOXU3ZGEyWlhxYW1wMWs3WThQbzEKSUc0Z2RKM0E0TWYwd0kwQ1RNakg3bzN1OHJDYkk2OFBY
aC91Z2dqWDM4ZXFWYXVrWXNXS0VoOFhGM3pDakRhNzhXM0RoZzBTRXhNagppYVZMNTVpTzhSTHA0
ZHEvY09mUDlvbnNTTTVRNFFFQ1IrQ2VHcUZYR29RUEJIeHQyYkJXN3J1MnJReDhjWXFVcTF6RDRu
RjlRaEFKCm1HR3A1Vlc2eU40VVR4SXJKOHFLaldscW1xVUNEUVVRWThVL0pFQUNCVXZnZ0FMSW5q
MTdCRm9RM0VqVDFJYlVubHBEcytGR1FiUTkKOHc2TE9BeCsyUUxUYlFaT1BydysrUHNJLy9IaHUr
KytrNXR1dWttaW82T2xXTEZpOHV5d1oyWHBrcVZ5eVNXWDJQaVdrcElpbDE5Kwp1YXhZc1VLdy9l
NTc3MHFkMm5Wc1RIVG5kOU9tVFZLN2RtMWJ0S1BlQ2ZXT3lkOC8ranBxMUNqcDA3ZVA5US8zaVRm
ZmZGTVdMVm9rCnA1OSt1am8rZHd6Y0NqTEgvMm5UcHNtUFAvNG8yN2R2bDZaTm0wcXpaczJrWk1t
U2R2OFk4Y0lJdWVHR0c4TDYvckY0OFdMQnRlRVAKOEllOHNOMkZzdVRYSmJKMDZWSzUrT0tML2Ns
WituODQ0LytlbEF4SlZqOE82RW9qMUhjZEtDR0VCTFpFeGp6OVA5bTViWXU4UFBSZQp1ZVh4Y1pt
cHpnUUxRa2pBREd0dnFpY3BHYm9BUW15YzdONjlXMHFWS2hWb0cvK1NBQW1RUUFFU3lGVUF3UTBH
UWdkdXhBaWhHaEFNCmlvSHBSQTZUQ3MzUGRQTGg5WUZmRG44Zm9CQWF3blY4R0Q5K3ZMUnExVW9H
UFRUSXp0eWtTUk5sMHFSSmN1R0ZGMW9YWUpMNisrKy8KeTRJZkZ3VEh2ei8vL05NZTFGU3JWczN5
WU54RVNGZjcrN1RVd0xaRitQNkVhLzlkRXcvV3ZvY0hQU3gxNnRZSjlxOW56NTZ5YTljdQp1ZWlp
aTJURWlCRzJhdUlqand6VzZnTFhQNFFUQ0dWSlNVbnl4Qk5QeU91dnZ5NWp4MkxTN0FrZWRLSE10
ZGRlNnc0ZmR2ZVA2ZE9uCnk1QWhRN0lJR2RXcVZaZnp6ejlmZnZqaGh5elhDRHB4TUg3KzlMVnIx
MmE1Zmx6NTVEUlA5dWtIei9zaW9kS3dFQ2k1Y000MFdUQnIKbXNVc25qOVRaazEvWHhxM2JLOUNu
QkxOL0tSckdYeDJxeUNUcGdKSVZGemdRU0x1N1ZrZUltYld6QzhTSUFFU09Kb0VjaFZBWENNZwpn
T3pZc1VNU0V4TnRpVjMzbEEraklwN0laQTJCcHk4V3gzVHl5WHB4NkI2dkQwd09MUEQzRVphL0R5
dzMzcU5IRDBsTlY0MnZucWhPCm5UclpCMC80Y2YzT25UdFhxbGV2SGt6SHVlemZ2Ny9VckZsVEhu
eHdvRTMrOWdzZ2FUYXhSSjVBeVAzNmYvdnR0K1d2djFaYmVlUXQKcXRxWDQyclZrcFl0Vzlwa0Va
TmNQR1hIQkw5SWtTSTZ3NDJRdDFRd092WFVVK1g0NDQrMzZyZHYzeWF2dkRKR2JyenhSdE5FdVB4
RgppeGExOUxGalg1VXRXN1phZWJTM2Rldld3VEg5K2VlZjF3ZE9xVkswYURHcFU2ZU9uTjI4ZWE3
bjU4TVBQNVE1YytmSWdIc0dXUCsrCi92cHJtVFZybG56Ly9YeGRaU2xCemp2dlBHblVxSkZjZWVX
VlZoY09EZ0hEL2Y3cjFhdG5HcVd0VzdkSWlSSWxwSGZ2M3RhV0UwODgKUWM0NG80bTExWDkvZ1Va
cHdvUUp3ZkxJRUt1bWNaVXJWVElCQUR6MjdkdW54M2hCTlMrZGRPbFpGUVF6ZjE4ZmZmU1JuYThH
RFJwWQorZTNiZDVpbXBuZWZQdGEvbDE1NnlkcGJvMFlORlpybXl0OS9iNUQyN2RzSHkrTllDREJk
S3EzbWRrOCsrV1FnSXJOK1hCZjdyNUcwCjRQbHp4dzlrZG45elB2K2gxNC9sMXZyM3BXYW9BQ0lT
cFNaWWdmb0N3b2lYa1M2elAzMUxxaHhYMzFVc2M2ZS9JL1hQdWtBaW82SzEKRGVvRG90ZXF5citT
ck1MSHp1UjAyYmdyelFTUVlBRnVrQUFKa0VBQkV6aW9BQUo3VWZoOTdONjl5N1FnRUVoc0xYZmNu
ZDFrS3RnSgptTm1veWxnSFR4dmRtUjRrRTlnZ0gxNGYvSDJFNi9odzdiWFh5ZkxseTJYbzBLRXlj
dFJJbVRCK2dwbmRUSmt5UlY1KytXV2JCSThlClBkb211MmVlK1IvcGZWMXYyYng1czJBQ0RzRms2
dFJwTW1EQTNUYjV4dTk5M2JwMU1uandZUG4yMjIvbHYvLzlyMjQvcWhQMHdFcUMKL3ZFUms5aFhY
MzFWSi9EZnl5bW5uR0pEUlhKeXNpeGJ0a3o2OXUwck45OThzd2tVbVB5T0d6ZE9JS3lnUE5vRlh4
UUlUQWlyVnEyVwpZY09HMllSKzBTK0w1TW1oKy9ORE96RnAwbHMya2Naa0hYVkRRTGpubm50azVj
cVZnb2s2QW56Ky92ampEN25ycnJzRVdvMnNJVEIrCmpSdzVVcnBjM3NYTWVaQStjZUpFT2V1c3M3
UnVzYmo0K0hqckIrSnZ1KzAyWHhXQjh1QlJTNFVyM0Z0Z0VvUUF3V3JVcUpla2Z2MlQKc3QwL0Ft
eW4rdXJCcXJKcDJ0OVZxa1VaSzYrOTlwcWROL0IvL1BFbmJPR1V5bFVxMi8xcHhvd1o4c1liYjho
OTk5MG5WMS9kM2ZvOQpjT0JBNlhwRlYzWHVqcEpubm5sR2twS1N6TTl4NnRUcEpnUkNBK1kvUHpn
d3pPMGdoS0M5b2RmdisrKy9iK2ZpNVpkZnNmdmZIWGZjCklTYzFPRW1XTDFzdUVOYWdOVU1aSEJj
clNzS2FBTUpieHc0ZDVZVVhYc2gyL1VBd3hQRjNwVVRKeHAycEVxM081MUg2c2R1cS9zRy8KRG5l
TXNDYWliU3JXV0Y5MzZDSXhHUjc4UEZUNDBDaGJCVXUzdCs5Smx5MXdabGNOQ0FNSmtBQUpoQXVC
Z3dvZ1R1Q3dkY1YxNE1UQQpqeHNIQmtIQmt4a2JCbTBJdEVIUXFYZVpUajY4UHZqNytEZU5ENE1I
UHlLZE8zZTJEeWFIcFVxWFZJM0JGbG05ZXJYc1M5a243ZHExCnN3a3MvQnlHRHhzdVJZb21tSm5W
WE5VR3dCd0h2aVBRTnJoSk5TYnhFQ0Q2cXA5RXIxN1h5aWVmZkN4dDI3YTF5V2pvK0RqNDBjRnkK
WWRzTFRjakJaQlgvM24xdnNyenp6bVM1L3ZxKzBxNTlPMXVORU9VaDJKUkpMQ01OR3phVStmUG42
L3VacnJCblFaczNieEk4eVllQQowZjdDOXRKQVZ5Kzg0SUsyK3ZMWWRWSmFOZGd3TDNQajg5UlBw
OHBMbzBmWnhMcnkvN2QzSHZCVkZHc2JmME5DQ2swSXZZTklWN0RnClZjQUs2Z1VFQ3lvSVdENDdG
cTVZc0dIQnhoWEJobnBWUUpCbUFWR3hJdGhBRWV5SW9Gam8wbnNQcE96M1B1L0pMSnVURXdnS0pC
dWYKeWUvazdNN016czc4Wjgvc1BEdnZ6RmFyS21OZkh1dTMzNGczL1l2cEtsQjY1R3JmSVdSd3pw
dDYzNlRIN3JSd0NJR21UWnZxZWRQOAo5Q3RXckdnQ0FSMTNKTHhWTys0VFhwOWc4MERnOSt3enov
ckhJN3lxNWdHakpNaTdLNzlyUDFxM2JpV3Q5R1A5N0d6eklmQlpzblN4CnRHdlhYdExTZGtqMUd0
Vk5pSng3N3JtQytTYmR1M1czKzFQZnZuMmxSbzBheW5HQ2RPM2FWWkF2TUZpNWZLVlVyRlRCUnZj
eENvUDYKWGJwMGlWU3ZYajJTQjl6WEF2ZTNEQjBSUTc3ZFBCQ2N2MkdqQmpiaTQxOGoyZVZmdG15
WlRKMDYxWVFoUkZqeDRnbktmb3pBZjlLawpTWnJmTk1uVTJlSGcxNjFiTnhXdk9hOGZZNkRwYjBs
TGxCV2JNNUVUWXhMTUV2elF1c1J5R0dXMVVSRDloZ25XOXAxcWdxWGJ4WklTClkwV25Id21RQUFr
VUNBR2QyclpuNTBaQWNGUEF5SWVOZnVDUUhDMmdOc2VlZm5EajFJODVoZ2Z1RU9URDY0Ty9qOExl
UG1CeUx0bzMKaUlqVThtcHlpcG0vMlE3WEwweDk4TEhWcnpROE9Tblo0aFl2bm1qYjVjdVhseVEx
RFhMdWxsdHVNVk9qUm8wYVMrUEdqV1h1M0xsNQp0bytsUzVhMkorTnVyaDNhMThxVktzdkdqUnMx
dWQzdEJ4NElvY09NOENOVmdHQml0d3VITUtsVHAwN2s5Tm50YnlUK0libmE1OHBWCmtQYW1TTnhB
K3FpanlwVTFUTTI1ZHZkd2Q1OS81Y3FWZGt5dDJyWDg4QzFidGtpS21sNEY2eGVqSUZ2VjMyVW1N
ejNUeW9KSjZKZ3oKOC8wUDMvdkhJLysxYTlZMjRRYUJZeTQ3LzI1bjdrOXpaZDY4ZVRuNFZhbGN4
VHJhbXpkdjhjdUgrS2dIOEhINUIzdWNGL2xEM2NLVQphcTJLdFZtemZwU1VsQlFUYmFoZmpBUkJ3
SmtMSE8vNElnMk1qdUV6Y05CQVdiZDJYU1J1OXY5ZytVOC8vWFM1U3VlMG9ENks2VWdMCjZnRUxG
MkNVQzVQdnkxZlFQS29vUUg1aVhqOTZmbHlMV1pvdlQvTnRIeFJLL2RRUVMwMnMxTTgrMk5kNDJm
c1dYL09UcFg0bVJIUWIKUytjWFQ5QThjQVFrUjMxeGh3UklvR0FKNUhzRXhEV3VhQlRkZHF5czQ4
a0xIT0xFY2d3bkgxNGYvSDBVMXZiQnRXM3VRWXZMWjdINAppQmp4OTdVZGRNNk9VUk1aSElQMnpS
MWJyMTQ5ZnpzeE1kSGFSQmZtMG5GcGxDMVgxc0l4ZW9MT084S0w2ekV3KzNISHJGcTF5dVo4CnVM
U2FxN2tXVE1EZ1gxWG5ROHlZTWNOV29FSjhITDlLemJNd1J3VHhuWFB0TDBRVVRMOWMyc0Z3eExj
d0hlbU9kdWhJdzFrNXM4TXIKVmFva1c3WnVzYlJjK3BnM1dFbUZqRXUvWEdvNXVlbW1tK3k0anov
KzJPYXB0R2pSd3Uvd1o0K2hXMGZkNVQ5NDdvbHZUelR4MTZSSgpFL05HK1RBUEJDNlNsMGg5WVBR
QWMxamNlUkh1OGd3L3hNVW94L0RodytXenp6NnpQRUdFWUk0TkpvTkRPTVE2ZjV6V0wwWlBZTzRG
CkY2dy90KzNTeHo2WUZBdnd3K2dMNXJKY2UrMjFWaWNQUHZpZ1gzYkVSL3J1ZUpkK2N2RjRTVTVV
RTJqY1NoRkh2L0JHZEx2Rlp0OWUKZFRleWo0TlVpcUI4Q01kZEpsTW5ubWVwTFphbklpWXhvUmhO
c0l3Ui81RUFDUlFXQXZrV0lCZ0pRVU51alNVYVE3UjhVYzdkZk9ETgpjUEtKdWp6czV1ajhlSDN3
K25EWGd2c3VMTzBIT29KbzcrQmNaeFQ3eUo5ci8xdzQ0amcveElVTGZydDQ3bnFQM3JjRDlCLzhN
VGw3Cjl1elpOaUViOFYwNjdoZ3NYNHNQSE1MeDlCeFA5MmZObW1XZDI5OSsrMDNRc1VWOGhHT3BX
M3ljQy9KMWNWemFpT1BDZzJWMng3cHcKbURNaDdULy8vRk9xVmRONUZ1cndvbHAwNEYxKzRZZThZ
RzVLclBSUFBmVlVHeW5DaEgvTUJZRkRlaGlCc3RFZDNjYzVnaTQ2VHdoMwpjWEFPZkpCL3JGWUY1
OEt3alREc3UveGhranBHTTBhTUdHSHpkV0JpMTY5ZlB4TWp0alJ3MVBGSXc2WG55dVAyRWVieTV0
SjM4VjFjCjdFUGtZRVRza2tzdXNVVUxNQ2NGSzRHNXVNSDhPYjhrRlIvSmlaaHpHV0VCOFdGTzUx
bU92NytMckYwOFQzY2hOZUtrYkpYYTB2V2gKdHlRdVh1ZDVxQmRNcHJNMG5xN2lLMWx4bVNaQUVt
aUNGZUhIL3lSQUFvV0NRTDRFQ0JwU2lBOThYR1ByR21CMzAwSnA0T2YyR1I2NQpXVGdlNU1Qcmc3
K1B3dDgrb0k3UTNtR0VBTTUxS3QzREY5Zit1WEQ4dnV2V3JTdDRUd1JHRHJEdndseWI2WDc3d1hT
RDdTUE1takNQCkFwMXh6RjlvMzc2OXRhWHVuUGgyYWJqMnhCMS96REhIMk5OOGRLTHhkQjZqSnk0
dXZsMThURmFIaVpIYngyUjd6R21BV1JNRWhEc0cKNGNnbjBrYzVYSHdYRGorSUdwd1BZZ2poUFhy
MHNEd2d6WVlORzlyOEI0ek1YSERCQmY3b0E4cUlVUnJFZi9QTk4yMmVCVmFtY21XRApXUlpHSHh3
N1Z6NTNmdXhIODhQb0VCejhIYXRnZkpRTkpteFlEUXoxNXVvSEFnVG1hc2p2KysrL2J4UEZNUmtm
N3k0SkhvKzAzWDZRCkNmeUQrWFBYaUVzZit5NnY3bmpNRzhMcWFSQnRKK3NLWTZobnh6ZjYrbkhw
cDZqNFNFblNlMjcyK1p3UTBiUEw2WmZkSzZQdlBOdlAKWDl0TDc1WlNKVkpNanVDY1FJUDNnS1Ry
WEJQc0orbG9Ta0x5N3BFd25JT09CRWlBQkFxU3dGNEZDR3lhMGJpN1JoN2Y3aWJzTXU0YQpXZXhq
RzQyemE2Q2RYekF1dzhtSDE4ZnVKN3o4L2VBcGJzUVZkUHVCNnhMdEhUcVRjSzVqNi9aZCsrZjJF
UWNkOEN1dXVNSldnc0w4CkFOZWhSd2NUN1NmS2hEWVRIL2hGdDM4REJneXdUam5Td2xOeXBJMDRM
bTd3WEk0UFRJaXd3aE1tUmNQTUNpOEZSQWZYaFVmL3ZyQTYKVm1RcFc1eGx0OE9LV2pqZU9Sd2ZY
V2I0T1lkdExQUDcwRU1QU2ZmdTNTMHVPdEJQUC8yMFRhaXVVNmVPaVJPczFvV2wyK0d3Y0FuRQpD
dkxuR0dCMXNPT09peXk1aTNrZmI3MzFscFhCbFRrNi8rQ09UekRjQ1JEd2NZeGMrUkdHL0VFSXdX
R3lONDVGT1BLTFZiOWdyb1c2CndtcGl5RGVjT3o3VytSRWVQRC8yNFJ3dmx6Nk9SVjZEZWNKS1dl
Q1ArVFVZdVhyNDRZZjk4T2pyQndJRmFhVG9uSTNreE9MWksyQmgKQkNmU1p1RC9ZYzFiU29zT2w4
cTM3NCtVSTA0K1Z4b2YxMVpsU1NUL092aGg0aU5MMStFdHJxWlg2aXNsVk1na3BsQ0FLQXc2RWlD
QgpRa0lnVGh2YzNYZVhRS2JnamNZYjlyb1k1c2Z3dUJNakZDQVVFTkUzYUhmcDVIVURaM2lFQVBr
VTNRY1VlS29PMjM5MFBnL2s3d01kCmRxeXUxYXhaTTJuWnNxV2NkTkpKN3VlVlp3ZmFSZGhmMXgv
ZW53RmhFWHlET1ZaM3drUnJ2SEFRblhIbmNFN0V4YWdKN2gyWTZCM2sKYysrOTl3cEdjckFVNy83
S1h6QjlwT2xjUWFZUEJsZ3hDOWRJclB4Rlh6OTlQazZRUnBXVDlYcFM4YXFDQlBORTRQQmZkeVZ0
MjJZWgpmRjFiNmZuRXUxSzZYR1dWR1ZwT25lOEIweXVVTTFQbmYyVG9QSjhkYWJ0azdjWnRNdXY3
QmZKV253WTJTVDk0Zmt1VS8waUFCRWpnCklCUFk2d2dJbmlTaDRZVDRnQjBybnZaRTMyQmRudEhv
eFdyZ0dSNGhRRDY4UHZqN3lDMUFpa3I3Z0VubkI2Tis4UVFkSXdiUjdtQzIKTDcxNzk3YWxiZTJs
aU5rWndUWldtRUxuTmxZSEYvTTdZdkdCaU1MTC9BNW0vbVBsNzJDY3YzVHAwbm55aWI1K3lwU01s
OUtsTVBJRApVOERJQjhJREgyZ3E4T3c3K2hOSktWWGE5akhaSFA1WldaRVZzRlI3cUFDQjZYUzhy
TnV3VldxWGlieHpKZnE2NFQ0SmtBQUpGQVNCClBBVUlHbWpjNk53VExkZ1dsOUszOCtJSkZoMEpr
QUFKa01BL213RE1tdmFIMjEvcDdJKzhGS1kwS3VwS3ZlWFVpZzIzWE5VUUpqd2cKUHVEc1c3ZFRV
MVY4Nkw0T2VrUkVTUFkyNW9Eb2MwTWRCUkZKMnE3bVYzcDg2cllmOVo1K2dna2dwRUZIQWlSQUFn
VkpJRThCZ2t4aApHQjFQV1NCQ01FR1M0cU1ncTRybkpnRVNJQUVTK0tjUXFGRlRSVVBwM2FNZnNN
Q0MyQWc2SjBqTStrb0RNQUxpUGhBZldJWTNZVU9XCmxOajBpeHhhUFNXSGFWd3dIVzZUQUFtUXdN
RW1rT2NjRUdRRVE5SlluUVVURExFR2VydDI3V3pTSHN5dzZFaUFCRWlBQkVpQUJBNE0KZ1k4MDJh
UmRHZm8rbVB6ZGJ5RThnaTVEajEwMGU3N01tZnllWkt4ZkpyMTY5Y28xL3lZWW45c2tRQUlrY0RB
SjdGR0FJQ09ZQXpKLwovbndaTjI2Y3ZhakpyVHh5TURQSmM1RUFDWkFBQ1pBQUNld2JBVmd0WU9u
ZkxsMjZTUERGbVB1V0NtT1RBQW1Rd1A0bnNGY0JnbE5pCkpDUTlQZDBFeUlZTkcweVU3UCtzTUVV
U0lBRVNJQUVTSUFGSEFBTGlyejcwdzdGWUNobnZYM0hMQjd0MCtVMENKRUFDQlUwZ1h3S2sKb0RQ
Sjg1TUFDWkFBQ1pBQUNaQUFDWkFBQ1JRTkFselNxbWpVSTB0QkFpUkFBaVJBQWlSQUFpUkFBcUVn
UUFFU2ltcGlKa21BQkVpQQpCRWlBQkVpQUJFaWdhQkNnQUNrYTljaFNrQUFKa0FBSmtBQUprQUFK
a0VBb0NGQ0FoS0thbUVrU0lBRVNJQUVTSUFFU0lBRVNLQm9FCktFQ0tSajJ5RkNSQUFpUkFBaVJB
QWlSQUFpUVFDZ0lVSUtHb0ptYVNCRWlBQkVpQUJFaUFCRWlBQklvR0FRcVFvbEdQTEFVSmtBQUoK
a0FBSmtBQUprQUFKaElJQUJVZ29xb21aSkFFU0lBRVNJQUVTSUFFU0lJR2lRWUFDcEdqVUkwdEJB
aVJBQWlSQUFpUkFBaVJBQXFFZwpRQUVTaW1waUprbUFCRWlBQkVpQUJFaUFCRWlnYUJDZ0FDa2E5
Y2hTa0FBSmtBQUprQUFKa0FBSmtFQW9DRkNBaEtLYW1Fa1NJQUVTCklBRVNJQUVTSUFFU0tCb0VL
RUNLUmoyeUZDUkFBdGtFRmkxYUpEdDM3c3lUeCtyVnEyWERoZzE1aHFlbnArY1p4Z0FTSUFFU0lB
RVMKSUlHL1R5RGg3eWZCRkVpQUJFaWc0QW5NbkRsVExyLzhja2xJU0pEU3BVdkwwS0ZENWVlZmY1
Ynp6ei9mTXJkcjF5N3AxS21Ueko4Lwozd1RLbENsVHBGR2pSamt5dm1iTkdxbFVxWkxNblR0WG1q
UnBraU9zcU94NG5pZlBQUE9NOU9yVnk0cVVrWkVobzBlUGxoOS8vRkZhCnRtd3BYYnQyelZIVTk5
NTdUNzc3N2p2WnVIR2puSFRTU1hMcXFhZktJWWNjWW5HZWV1b3B1ZkhHRzNQRUwydzdQLzMwaytE
YUNMcUsKRlN2S09lZWNZOWRIOEJvSnh1RTJDWkFBQ1pEQWdTUEFFWkFEeDVZcGt3QUpIRVFDdzRj
UGx3NGRPc2pzMmJObCt2VHAxbWtlTW1TSQpuNE9wVTZmS3I3LytLbi84OFljc1hiclV4TWVmZi80
cGl4Y3Y5dVA4RXpidXV1c3VLVnUyckYvVWJ0MjZ5V3V2dlNaSEhIR0VRRkQwCjd0M2JEOFBHbURG
amJQK3d3dzZUQng5OFVDNjc3REkvZk1lT0hTWm1mSTlDdVBIaGh4L0t6VGZmYkNJRVFnUWZpQkk0
Q0t2Z05iS3YKMmY4blhqLzd5b2p4U1lBRVNDQVdnVGg5R3ViRkNxQWZDWkFBQ1lTSlFOT21UZVdH
RzI2UWE2KzlObWEyKy9Ycko5T21UWk5QUHZuRQpEei9yckxPa2Z2MzY4dGhqajVuZlh4a0JRUWM5
S0dKS2xTb2xEUm8wa0hidDJrbGNYSng4L2ZYWE5xTFNwVXNYS1ZteXBKMW4xS2hSCmN0eHh4MG5E
aGcxdEg2TUx6ejc3ck54MjIyM3l3dzgvNUlyLy9QUFB5N3AxNit4NENBRUlyV0xGaWdtYTc0RURC
d3JNeGpEcWcxR2IKMDA0N3pTOWY5TWFFQ1JQa3lTZWZsTTgvLzl5Q1B2NzRZN253d2d0bHlaSWxr
cEtTWXVlb1hyMjY1YUZ4NDhiUmg1dXd3eWpJK3ZYcgpiUlFFbzBwSEhYV1V2UERDQzNMQ0NTZmtp
ZytlMFIzOHBLUWt3VG5PUHZ0c0tWR2loSTFHRFJvMFNIcjA2Q0YxNnRUeDAzampqVGVrCmJ0MjZs
ajQ4TjIzYUpDTkdqUEFGMHVEQmcyMUVDM0crK09JTFdibHlwVC9hNVNlaUcwZ2JJejR3emR2Zkx2
cjYyZC9wTXowU0lBRVMKS0xJRUlFRG9TSUFFU0NETUJEcDI3T2dWTDE3Y1UvTXBUenYvbm81d2VH
UEhqdlcwbzI3RjBzNjlsNXFhNm1tSDE4TFZQTXQ3K09HSApQUlVFWHJseTVjenY3YmZmOW5SK0NC
N0llQ3BVdk02ZE8zc1ZLbFR3dEdQc2JkdTJMU1llTlYveXRPUHRxUmp3MUh6SlBrY2VlYVNuCm5X
enZ2dnZ1czJOZWV1a2xUenZjRnVZUzBZNnJwMExBN1hxLy9QS0w1UVVlMGZFM2I5N3N0VzdkMm83
WHpyNm5Rc0c3NVpaYjdOamYKZi8vZFAyL3o1czJOd2VPUFArNm5HNzJCdkk0Y09kTDMxdEVNVHdX
SXY0K05rMDgrMmJ2NzdydHorTG1kSjU1NHdsTmg0bmJ0dTMvLwovcDZhYmVYd2N6dnZ2dnV1bnov
SHAwV0xGc1pjVGJrczJyeDU4eXdPR0txUWM0ZDYxMTkvdmFmbWRON1RUejl0Zm5QbXpESE9ZQTVY
CnVYSmxUd1dVYmZmdDI5ZnF5WGFpL3FsQTgyclhyaDNsRzlrTlhpUHd1ZmppaTYxZWV2YnNhWGxV
MGVPQi95V1hYR0oxcUtaYlByOVkKMTAvTWs5Q1RCRWlBQkVnZ0Z3RThRYU1qQVJJZ2dWQVQwQ2Z5
WHIxNjlieEhIMzNVUkVSbVpxWUgwYUVqQWxZdUNJaWJicnJKeEFKRQp4dmJ0MjcwdFc3WjRaNXh4
aHFjakpuWk1XbHFhTDBCMFZNUTZtck5telRKUjgvTExMK2ZKWjhHQ0JTWTRnaEgwU2IxMzRva24r
bDYvCi9mYWJDUnVjRys2UlJ4N3hkRVRFRDFleklBL0N4Ym5vK000ZjMrUEdqZk9PUHZyb29KZS9E
WUVBTVJiTG9TTU5jYVdqQlg3d0thZWMKNG9zWjU5bTllL2NjblhrY2gzU1JYd2duaUo2Z1UvTXRy
MHlaTWtHdnZXNnJHWnlKQ2RTVGN4QlFxTE9ndzNtUFBmWlk4OXE2ZGF2bApmOFdLRmJZUGthZW1W
TFo5MFVVWGVmZmNjMC93VUg4YkFxUktsU29lR0xzUDZoOHVlSTFnSHp3Z01sQS9xQVBrRDNtQVdN
TDFnZXRzCjFhcFZpQnJ6K3JFQS9pTUJFaUFCRXRnckFjNEJLYkpqV3l3WUNmeHpDT2dvaHNUSHg1
c1pFaVlZd3p3cDZHRHFBL09ueE1SRVFUak0KaldBcUJYTWdiTU1QMjg0TkdEQkE5S20zYUtmWVRJ
QysvZlpiRjVUckd4T3lzZW9XekpHY3ExR2pocGt6dVgxODZ3aU5JSjl3bU96OQo1WmRmMmpiK3dZ
UUxabHRCRjR3ZjlJK1Z0Z3RIR015allqbk1lNEdEQ1pkek1QMENtNkFERDVnN09ZZEo2akQvd2dm
elp6Qy9KdWhVCitJbUtsQnpIQk1QQlRvVmMwRXVRejZ5c0xKdllIZ3pRVVkzZ3JyRjM1VUg5b1o1
Z2FvVjVITWkzSzR1S0JUT2x5M0Z3WUFlcm52WHAKMDhmL3FJZ0loT2JjUFBmY2MrWDIyMiszOUhB
ZG9SNTBsTWJNOTFCL1dLUUFiay9YVDg0VXVVY0NKRUFDSkJCTklDSGFnL3NrUUFJawo4RThuNE9a
bWdBTkV5NTRjSm5Tam80ck92T3VjWWtDL0ttMEFBQ0FBU1VSQlZDVXVmWHJ1SDRiT3Y1cFIyUXBk
OE5TbitvSk9NUHhyCjFxd3BXSkVMY3l1Y2k0N3YvUEVkblhZd0RKMWxDSVpZem9teVlIaTFhdFZ5
aVFCMDF1SHZIRHJkbUh3T04zSGlSRnM5Q21WeG5YOVgKVGdqQVdBN3pYZEJaMXhFZVB4ajVoQXZt
QlJQYUR6LzhjRDhPTnFMVHhCd1J6SG5CeWx3UFBmU1FKQ2NubTVDRGdNT3FWbms1SFFFeApBWkZY
ZU5DL2F0V3F3VjI1NnFxclJFZGRSRWVXYko0TDVydTRzdWVJeUIwU0lBRVNJSUY4RThqNW1ERGZo
ekVpQ1pBQUNaQUFDS0JqCjM2eFpNNWt4WTBhZVFOcTBhU09mZnZxcEg0NVJCblRJTVFyeTFWZGYy
YXBNT3UvQUQ0K083d2Y4alkxYXRXcFpYckVNc1hPWVFJNGwKaDRNT0swUmg1Q2VXdytSMzVCMlQx
NTFEZXVYTGx6ZVI0ZnoreWpkV0tBc0t2MWhwUUlCZ0pHYlNwRW0yNE1EQ2hRdHQwUUVJSkV6QwpQ
eEFPQWhSaUJ5SUhndWpLSzY4OEVLZGhtaVJBQWlUd2p5SkFBZktQcW00V2xnUklJRWdBVDdLeDZ0
UmZkY3VXTGJNbjYxaEpDeXRNCjdZdURHUlpXMzhLVGRheHlGZjIwMzZVRmt5T3MzdVUreUM5TXZ2
WTEzekJad2dwWk9vZkRKUzFYWDMxMWptVnBzV1F0Um1aME1yWWYKQjJWMERpdCtZYVFpT0pxQjlM
QWExUDUwRUVFb0wweTMzTWdOMG9jQXdZZ01SQk9XQzI3VnFwV1pWV0dVNGtBNWNNYm9Ga1pSZE01
UQpqcEd0djN2OUhLZzhNMTBTSUFFU0tPd0VhSUpWMkd1SStTTUJFamhnQlBEaVFsM3RTblNWSkJr
MmJGaU9qblYrVG9wbGMzV0N1a1c5Ci8vNzc4M09JNktwTzlnUWZveC9ISDMrOHZZTURTOG5tNWJC
OE1NeCtvaDN5cTVPb283MzN1STk1RU1qenBaZGVhcVpjR0JXQmlWVGIKdG0wRmN6bXdWTzA3Nzd6
amp5YkF2QXFkZnVRUFFnQ2pBVmpTRmtzSXcrbkVjSHRQeVBqeDQvZDQzbjBKeERtUkh5emhDM2ZG
RlZmNApoeU1mZUdlSlRpSzN1c0x5dThqM2dYUVFYVmhLR0taWk1DVkQvVGtYZmYyY2Z2cnBMb2pm
SkVBQ0pFQUNleURBOTREc0FRNkRTSUFFCi9oa0VsaTlmYmsrNGcwL2JEMFRKZGVVdDBSV2JSRmV4
c3ZrRTZHZ2ZiQWNCZ2ZlRzZLcGcvcWwxaFNkN1F6eE1vRERISk9nd1Q4T1oKSDBHTUJCM0VETVRJ
ZWVlZEYvUXVjdHRnZ01ud2JvNVBkQUVQMXZVVGZWN3Vrd0FKa0VCWUNWQ0FoTFhtbUc4U0lBRVMr
SXNFWG4vOQo5Wmd2N2R2WDVQWlhPdnQ2WHNZbkFSSWdBUklJTndFS2tIRFhIM05QQWlSQUFpUkFB
aVJBQWlSQUFxRWl3RW5vb2FvdVpwWUVTSUFFClNJQUVTSUFFU0lBRXdrMkFBaVRjOWNmY2t3QUpr
QUFKa0FBSmtBQUprRUNvQ0ZDQWhLcTZtRmtTSUFFU0lBRVNJQUVTSUFFU0NEY0IKQ3BCdzF4OXpU
d0lrUUFJa1FBSWtRQUlrUUFLaElrQUJFcXJxWW1aSmdBUklnQVJJZ0FSSWdBUklJTndFS0VEQ1hY
L01QUW1RQUFtUQpBQW1RQUFtUUFBbUVpZ0FGU0tpcWk1a2xBUklnQVJJZ0FSSWdBUklnZ1hBVG9B
QUpkLzB4OXlSQUFpUkFBaVJBQWlSQUFpUVFLZ0lVCklLR3FMbWFXQkVpQUJFaUFCRWlBQkVpQUJN
Sk5nQUlrM1BYSDNKTUFDWkFBQ1pBQUNaQUFDWkJBcUFoUWdJU3F1cGhaRWlBQkVpQUIKRWlBQkVp
QUJFZ2czQVFxUWNOY2ZjMDhDSkVBQ0pFQUNKRUFDSkVBQ29TS1FrSi9jWm1abXlsZGZmU1V6WnN5
UWxTdFhTcHorWlhsWgo0bmxlanNQajR1S2tXREhWTk9yTmNQTGg5Y0hmUjdDQllQdkE5cEgzaC96
ZkgwZU5UcEg0ZUwzWFp1VnNSNEsvcVQxdEZ5c1dKelZyCmxwWE9uWnRKN3h0UGtlVGtmTjN1OTVR
a3cwaUFCRWhndnhHSTAwN2lIbHMzaUk4UkkwYkloZzBicEVlUEhsS2hRZ1ZCUjRLT0JFaUEKQkVp
QUJFamd3QkI0NjdzTlVydGNnaFJQS0NiRjdPRmU1RHg0QUpqYmVYanVwdzhGOGZCUFAvb3ZQU05M
bGl4Y0s4T2VteWFTa1NFVAozN2hDUlVqeDNJZlNod1JJZ0FRS2dNQmVCY2dYWDN3aFgzNzVwZlM2
b1pja0pTZVorS0FBS1lDYTRpbEpnQVJJZ0FUK01RUWUvMmlOCnRLaVZLUEZxVmFDREdTWkNJRDN3
L004OU5jUysyNDZJRHhVaUprSTh5Y2pFSjB1MjdraVhmcmUvSVJlMk8wenU2SFBhUDRZZkMwb0MK
SkZDNENleHhUQmFqSDlPbVRaUEREejljbjZha1M5d3VmZmFpaldHa0VZdzhoM0dObnl1bUcxQ0JT
QWsyamd5UEVDQ2Z5QlhENjRPLwpEN1lQdXp1UGJCL1pQb0pBOFA2d2VtdVdiTmllcFFMRXMzc3BU
S3JnSUVEY2IyZk5pbVZTc1dwMXU1RFFza0o4SUEyTWdtUm1aVW1HCmJ1eElqNU5qMmgwcFk4WlBr
ejQzbjZwbVhmR1dEditSQUFtUVFFRVMyS3NBMmJGamg1bGRwYWVuV3o1aHd4c2NBWEVOb1NzRUdq
K0cKUjI0VVlFSStkbTkwbDRmZEhIbDk4UHB3RndSL0gveDlSQjVKUks2SXNOdy9GaTllTEZXcVZK
SGtwQ1IvQkFJbGNQbGZ2WHExRkM5ZQpYRkxMbFlzWmp2c3B3dmQwL1c5T3kxTHhBTUVSdWFmR2FV
b1FIM0Q0V3I5NnVkeDlaUWZwOS94RXFWaXR0dm5qL09BWk1jTlN5NnRNCmtSMjdQRW10bGlvTDEy
U29hWllLR2dvUVk4Vi9KRUFDQlV0Z2p3SmsrL2J0Z2xFUU5KUVpha05xVDYweHN1RmFRZVE5dXdX
Rkh4cS8KWEk3aDFzTWdIMTRmL0gwVTd2Wmh5NVl0TW1IQ2hGeE4ySG5ubldkdDRLdXZ2aXJubkhP
T0hITElJYnZqRk1IMmJmejQ4ZEttVFJzcApYNzY4dGU5ZlR2OVNKazJhWkIzdUN5KzhVRkpUVS8z
eXovdDFubno2eWFleWNPRkNhZEtraVp4eXlpbFNwMDRkQzMvbGxWZWtRNGNPCnhxdW90SC9mZlBP
TjNIREREWktRa0NDbFNwV1Nwd1kvSmIvTys5V3VDL3krZCszYUpXQUVIdGgrODYwM3BVSDlCbmJQ
ZEwvL3RXdlgKU3YzNjlXMVJsMGFORytWNWY5aStLMHZTZEI0SHhrcmpkTzQ2TGpXSWtNaVd5SWdu
N3BVdEc5ZkxpNFA2U3U4Qm83SkRuUWtXUkVqRQpER3RIdXVZclN4ZEFTRXlTYmR1MlNkbXlaYTEr
K0k4RVNJQUVDcEpBbmdJRWpTVkVCeHBhdU9nUkVEU0trZTVFakU2RnhtYzQrZkQ2CndDK0h2dzlR
aUhhRnNYMUF4N0IzNzk1eXhobG4yS2l2eTNPN2R1MXNkYi9ISG50TWpqLytlQ2xac3VRK3QyOWJ0
MjRWUERWdjJyU3AKSlZzWXk0K01mZjMxMS9MdXUrOUs1M003YS91ZnFZTHNkWG5vb1lma1AvLzVq
L3p5eXk4bUtONTU1eDE5c3A5cVYvWW5IMzhpOCtmUApsMmJObXNuMDZkT2xiOSsrTW52MmJDbDdT
Rms1OHNnajVmTExMNWV4WThmNjl4SEh0TENXZjIvNUd6MTZ0TFJ0MjFZZWZPQkJLLys0CmNhL0p1
SEhqNU13eno3UkRZYkw4KysrL3k2d2Zadm4zeHlWTGx0aUR2Sm8xYTFvYzNGZmhNblYrUmtaNlpO
czhBdi9BSnkzRGs1MzYKd2ZPK1loalNNQmNoTjN2R1pKazFmYkw1L1B6dE5Kays1VzFwMGFhVFBn
VEVLRXprazZuSDRMTk5oVXlHQ3BENHBNaURSTnpiY3p4RQp6RTZaWHlSQUFpUndNQW5rS1VCY0pp
QkFObS9lYkUrOVlIN2xudUtnVmNRVG1ad3U4dlRGL0JoT1Bqa3ZEdDNqOVlIT2dUbitQZ3JkCjd5
TXpNOUlaaEFnNTZ1aWpjK1h2bTIrK3RzNmRkU0Qzc2Y3UXFmL3ZmLzhyMzMzM1haNzEvK2FiYjlw
OHU4TU9PMHltYWtjMlE4MTAKVGp2dE5GbS9mcjJNR2pWS1JVQXZiWGFMeVh2dnZTZTFhdGVXWmtj
Y1lXbDkvLzMzOHV1dnY4cFpaNTBsSlVxVUVBaXBNZHJwRDdiUAppWW1KVXJWcUZSVlgvN1k0c2Ry
dmRldld5dFZYWDIyalFPbktJbDJmNE45enp6M3k1Sk5QV3FjYnY5OXUzYnJMMEtGRDVlWmJickgw
CnI3amlpa2g1OUgvWHJsM2s4ODgvbDdmZmZsdTZkZTh1aHg1NnFEUnExRWo2OWVzbjk5OS92OGJJ
K2ZzSHpHZWZmZFllZEVIVU5XelkKUUU0ODhhUkllc3AzMU1pUnR2b2l5bFNuVGgxbDBkYkt2M1Bu
VG5udStlZmx2TTZkcFZhdFdoWWZvMWRZcmJGWHIxNys4ZDk5KzYzOAorZWVmMHI1OWUzbnV1ZWQw
T2RyT3VpeHRSQVQ4cUNMcHMwOC9qY1RWLzdqUFZhNWN5ZmlVS1ZOR242REZ2cjloT2ZyTExydE13
QWQ4Ck1UcUdEeXdGVUw2Wk0yZGFubHc0VHRDblR4K3BXN2V1TXVpMysvcFJmMXh2a2VNUUN5NG5u
NTNwV1NwQVJPTFZCQ3VTbjRnWThiSXkKNWN0SjQ2VjZ2WWlZeFpFenAweVFwcTNhUzdINEJMdEg2
eUx3S2o1RTBsUjhiRW5MbERWYk0weUFJQzRkQ1pBQUNSUUdBbnNWSUxBWApoZkRZdG0ycmpZS2dv
YmExM05INnVzNlVYeEtZMmVpUXNUYmUxam96M0NjVDJTQWZYaC84ZlJUVzltSEhqalQ3bWFhbHBj
bjI3ZHR5CnRHK2JObTNTRHV4NU1tellVT3RNb3BNOWNlSkVNNzE1NG9rbjVOcHJyNVVMTHVnaXc0
ZS9LSysvL3Jvc1g3NWNPOU1ueXROUFB5MXoKNTg2MURqaVdNbS9ac3FXMGJ0MWFIbmp3Z1J6cDQ4
U0RCZzJTRzIrOFVhcFZxeWJ2cThpQTBFSDhCUXNXeU9PUFB5NVhYbm1WeHZMawpzODgrRTVnMzNY
MzMzWExKSlpmSW5EbHpCS016RUNrd24wSW5lZktISDFwWjNEK2toUkdZa1NOSDJZaEVyUGI1MVZm
SFNZTUdEYVJpCnhZcFcvcW1mVFJXVSs1aGpqakhUSFRUcUo1MTBrcDJuNTdVOWMrVi8yYkxsc21i
TkdtbmN1TEhQRDUzelRwMDZtVEJJU1NtUjQvNncKYU9FaUUxUElJK1lhL3ZISEgzTGJiYmNKUk0x
V3ZkOWdaQUZ6RmlBNE1NcHkwVVVYeTUxMzNtSG1UU2pmb3dNRzJDSXA0SVU2RzZENwpHSW5BM0F5
VTc2T1BQcEtsUzVkS3ZYcjE1RU9Oai9DcFU2ZEs5ZXJWMWFUc0EzbmgrUmRVbEZVMUV6SHdXYlpz
bVF3ZS9MU1ptOFhpCkEvNm9DOVRUQzBOZWtER2p4d2hNc25BZHZQamlpekptekJpOVBvWlpmbHUy
UEY2dXZ1cHFXYmR1bllreUNKTVBQNXhzK1QvcXFLT3MKV2xhc1dDSDkrL2UzVVNkY0svMzcvMWVY
eVkyc05JbnpiOTBWTDJ1MnBFdUNUajZQMTQvZFZrMFl4Y201dHo1bldVUkNLbHVzTGpicgpJakZa
SHVaNXFQaFFMMXNGUzdjM2JjK1U5WmpNcmlNZ2RDUkFBaVJRV0Fqc1ZZQTR3V0hyaXVzVE9UVFVF
Q1gyZkFoUFpySmJhdE1hCmFBZXpoM2NaRGhGR1Bydys5RHFJZEJHc2s4RGZSOFQ4b3pDMkQram93
djM4ODgreWErY3UrLzFXcVZMVm5veHYzN0ZkRmkxYWFCMXgKeE1Pb0JEcWZtQitIem4vTldqVzFZ
N3hBQmc0Y2FKM3FTaFVyeWVvMXEyd2VRTjI2ZGFSbno1NHlaTWdRZ1FsUGtrNWMzcFVXU1QvNAor
MERIR0oxU2wzNHRUUlB6Q0JZdlhtU2Q1bDI3ZGxyN2V0ZGRkMG1OR2pWc3BBTHpEVHAxNmlpSEgz
RzRkR2pmd1k1djFhcVZ0RzdWCk9sZjdzMlR4RWhzTlFHYy92cGl1aEJUVlBuMzIyYWRTVzBkV2NI
N1VEK1l4WUI0SUhocnMxSE9qbjR0OWpDcnMzS0Z4ZEY0QzhqOTUKOG1TWk1YT0cvUGJyYnlhVWtJ
WXJYNlZLbFV3YzRDVzJFRjdCNjc5YXRhcnk4c3N2YXhyV2hkWVJqMUZteG5YUlJSZEpZa0tpZHVo
SApXL29JLzBEbm9Bd2RNdFR5Qms0dmozMVp6am4zSER0MzkrN2RKRDRoM3NRVHhCZE01cEQvalJz
MzJvaEhqUnJWWmV6TFkrWGNjODdOCmp0OWRycm5xR3BtaStiNysraHZrMUZOUFFkRms2NWF0Y3R4
eHg1a1FxVmloWWk0Ky9mcy9MRjI2ZExFUFROVEtsanZFcmdPSUhQRHAKMkxHakNTVUl3cWRWeUpR
b21XSm1Wak9WVGMyYXRXenVDRVo2TUE4RDd2YmJiN2Zyb21mUGExUjBYU2tmZlBDK21iaEJvT052
UzFxaQpyTmljcVZ1YWxleUhlcTdLSXEyS0paUHJIMFpad1ZtMWg1bGdiZCtwSmxpNlhTd3BNVmRj
ZXBBQUNaQkFRUkd3VzhpZVR1NUdRTkFBCll1VERSajl3UUk0V1VKdExUejlvT05GUU1weDhlSDJn
MzVUdCtQc0lTL3VBQ3NPVDdJR0RCcXFZR0dRZFl2eVlrWDg0djMzVGJaZ0cKUGZyb296YXZvMHlw
TXY1aUhlKy8vNzUyL3JLa1J2VWFka3hDUW5FcFZiS1V0WjNvd0dQeWNxejJFeDFybUUvaEljOFBQ
L3lnNWxnUgpFNnRGaXhhYk1BaTJyeGhsd09oRXhFWHloNGRGYm9MOG5MbHo1SmVmZjhrUmpxZjk2
SmpDcERiVytURnE0MHlhRUE2ekpvZ2xWMzZjClB6azUyVWJDblNEQkNaRGVwbzJiYlBRREptWTR6
cVdQUEdHRUFta0g4Ky9DSXhtTTVCOGpGMzZab3RxUEtwVWpZVDcvU0hWa3o5V0oKSEgrMG1zM05t
alhMSldubnJGT25qdTd2cmorOFNOZWNIbCtxVkduQjNCd1hYcnAwYWFzYkNKZFkrY1BrYmR6L0lD
SlN5NmZxZXpsMgozejV4ZmVCNndNZFd2OUx3NUtSa2kxdThlS0p0bys0alBDTlp1RVhOMkxDb1Fh
TkdqVzNVQ0NObHdmTGhYRm1hcnFmYzdZTk1xWjlLCmVNSFVkSHg3Z24yTmw3MXY4VFg1TFBoRGlL
QjBla3h4RldnSkhBR0pnT2QvRWlDQlFrRWczeU1nN3VhQlJ0RnR4eW9CYm5Cd2ZrTWEKRlluaDVN
UHJnNytQd3RnK3VJY3JEenp3Z0RSdjNqeEh5MVVzUHRMWlJCelhCbUt1QURxY3pxRUQvYi8vL1Uv
dXUrOCtNM1BDL0FsTQphSWVMeTM2SGd6dEhyUEpqVkFObVErZWZmNzQ5dVQvbGxGTk1qRGh6S3h6
cjJrOTA3T0ZjZXF0V3J4SjB3REhYQXc1bVFjaGJVMzJICmszT0pjWkV3cE9HT2MySDR4c01tRjRi
OFZhNWMyY1JFTUM3RUJUcnF3WEs3VVFFODJVZWUwY20vNXBwci9LUXh6OEdOcEx2OHh5by8KT3U2
SWkvTkZod2ZEa0REQ01WSURrekdYUDVSL3BNNGJ3VDRXVGNGaytEdnZ2Tk1QRDhiSDhlVjBpVnlV
eHgyUGRJTU1zQi90Y0J3Kwo3aGhzdzducnc5L1hQRGhueDJqOTR4akhGMkV3RFhQcG9ONmkwMDB1
SGkvSmlXb0NqVlBndlBxRk42TGJMVFp5V25oSDlwR2d5ZzJrCmozRGNaVEoxNG5tVzJtSjVLbUlT
RTRyUkJNc1k4UjhKa0VCaElaQnZBWUtHR1RjUmEwelJHS0xsaTNMdTVnSnZocE5QMU9WaE4wZm4K
eCt1RDE0ZTdGdHgzUWJjZnJqT0liN1IzUVJjZGhuMWN3OEY0eUQ5V1NNSThpZUhEaDl0OERxd01o
VGtWN25nWFA5YjFqd25TTUcrQwppZFcvLy8xdis3MWc0anBHSlRBWlBjZ0g2UVRQZjhJSko1aUpr
OHN6em9lUE81L3p4emY4WXZsREFNR2N5S1dORjlEQzFBd2pBaEZUCkxNL21hV0QwSmRieEVDWW9P
OHl0cnJ2dU9qc2xUTWhXcmx4cFpYQU1FQkNyL0FoM1pZb09kM2x5NTBVNHhGclFRWURjY2NjZEp0
b3cKOTZaYnQyNytwSFBFbXpKbGloOGR4MlBaWUl5WVhIcnBwZVlQdnU3ODdqeitBYnJoK0FlNUJ2
UHNqbmRwdUdPeGo0OHJmL0RiblFmaApjTUg5SkJVZnlZbVljeGtKZy9nd3A2TnI0Ky92SW1zWHo5
TmRTSTA0S1Z1bHRuUjk2QzJKaTlkNUh1b0ZrMm1Nd3VrcXZwSVZsMmtDCkpJRW1XQkYrL0U4Q0pG
QW9DT1JMZ0tCUmhQaHdUN0ZjZzRvU3VFWVoyL0IzKzY1QmRmc01KeDllSC94OXVQYWdNTFlQZU1v
T2gzYk8KYmJ2OHdnOE8vdmlnVFVRWm5EL0MwTkhHL0lxNmRldWFhYzFUVHoxbGs2Z1JCeXRDclZx
MXlqcnpFQ1N4eW8vamtDN1N4MHBUV082MgpSWXNXTnNFWmFlQVlMSVVMTXlXc2VvV09iUEQ4Q0hm
NVJWaDB1T3ZjNHBqbzhpSC9HSzJCK1JqQ2tCYVcxc1VFOU5kZWU4Mlc0WVdwCkZTYmZZNmxkZHp6
S2hCRVBuQXN2My92c3M4K3M0Ky9DTVk4RUkwV1lXNEduL0M1L3NjcnZ5b2hqTVprZHg3cjRtSVFP
TVlOeVF4akYKT2g2TVlTWjFoVTVpeHp1c3NLcFlMRDVJQnladUdBSDUrT09QVVhTTDU5TE1pdy9D
OFhGMWhPTlFiamlYZCt3amppcy84bzk2eGJ3aQpWMzRYaG1OYy9xTFR4WDZLaW8rVUpCVWdtajcy
blJEUlBUbjlzbnRsOUoxbiszemFYbnEzbENxUlluSUU1OVM1K3lwQVBFblhwWlN4Cm42U2pLUW5K
a1JFd3l6RC9rUUFKa0VBQkU5aXJBSUhOS2hwSk5McnUyeld5THUvdUpvRjliS094eE1jNWh1TXBW
Y1NSRDY4UC9qNEsKWi92Z09vUG9JRHBUSnZ4cThadDErNGlEYmJTSHFFZTBqNjU5VzdSb2thMkdo
VGtDY0ZqUkNaMWloR00xSzR5T3RHblRSaTYrK0dKYgozdFlpNlQ5M2ZKMDZkV3lDTWlhcW81UGRy
MTgvTzhhRnd6eXB1eTV2aTFFSk9EemhENTRmZm9pTGZLR05SaDZENFZoUkNnNzVkK1hCCnZrc2Z5
OVJpb2p4V28zTHZLM2xlbDd2RlJIZU1ObUNDUE02SmVRdXVmWC93d1FkdEpTcVVFNnRJWWNVckxE
dnIwc2ZTdUppQWIvTmUKc3MrVjEvWHZtT0xZd1lNSDI0Ujk1Qy9vc01vWFJqcmMrUkdHbGFhd1ZE
RG1uMkJPQjFoaktXV1VIYzZWejIxRGRFQ2t3RFZzMkRDSApPUm44WXRVLy9PRndYbmNOWUIvYjhI
UGxSUm5BM3UwalRvOGVQZXg4V0J3QUsyaWhidUZ3SGxjL09BWWYrRGsrS1Rwbkl6bFJ4YTZPCmdN
RFBDUkRjV1E5cjNsSmFkTGhVdm4xL3BCeHg4cm5TK0xpMktrc2laY1hrYzRpUExGMkh0N2lhWHFt
dmxGQWhrNWhDQWFJdzZFaUEKQkFvSmdUaHRuSGYzamdPWmdqY2FkalRXR0hMSGt5VTBsbWh3MFZD
aVFYUXVtQVMyWFFQSzhBZ0I4dGw5aWZINjRPK2pxTGNQR0FuQQo2azlvSitHQ3YzOU1Na2RuUENV
bEpkSTRSSVVYOU84REl3eVl3NEszdnJzMkhubkN5L1V3SndSbVZ0SDFoMUVRbEF2di9IQmgrTVlx
CllSakplZUdGRjNLVTFjVnhua0UrZjZYOGVFdjdHMis4WWFNMUVIbVlXNEZ6T1BkMzA5OWZ4MFBB
NGJwd1FtdHYrZXZ6Y1lJMHFweXMKOFZXY2FIbmNQQ0tVRE1WTDI3WlpCbC9YVm5vKzhhNlVMbGRa
WllhMnN6cmZBNlpYeUhPbXp2L0lVTkc2UTFkY1c3dHhtOHo2Zm9HOAoxYWVCbWRNRitiaDg4SnNF
U0lBRURpYUJ2UW9RMk0zaUtSRldhTUZORXdJa3VnRjFHVWFqaDAvMERZYmhFUUxrdyt1RHZ3KzJE
NFc5CmZjUzdNbUIraFhrZlFiZXY3UmRldm5qNjZhZm5HSW5nOVovLzYvL09UK0tsWVpWNHZkL0Mx
Q3Z5Z2ZEQVIyK3o5cjFqNnhaSjBkVzgKc084K0dPakN0bW9QRlNENmpwVzBERm0wZEkyc256OUhu
cnJtS0FxUTRFWE5iUklnZ1FJamtLY0pGbTZTTUNXQUhXNzkrdlZ0K1VVOAp1WE5QOVFvc3h6d3hD
WkFBQ1pEQUFTT0FDZkQ3dzhHa2krNnZFNmlvK3E5Y2FrUjQ2Q3E2SmpnZ1B1RHNXN2RUVTFWODZM
NE9la1FFClNQWTJSSWl1NW13aUpHbTdtbC9wOGFuYmZ0UjcrZ2w2YkhZaVNJaU9CRWlBQkFxSVFK
NENCUG1CUFNvbUVFS0V3TWFYNHFPQWFvbW4KSlFFU0lBRVMrRWNScUZGVFJVUHAzYU1mV0F3TFlp
UG9mQzJCRVJBTmNLTWdiZ1FFeS9BbWJNaVNFcHQra1VPcnA5ZzlQWGc4dDBtQQpCRWlnb0Fqa2FZ
S0ZER0c0ZlBIaXhZSWxEYkZ5Qzk0d2l3bDBNTU9pSXdFU0lBRVNJQUVTT0RBRXNNaHcwcTRNS2E2
clllWEhRWFFFClhZWWV1MmoyZkpreitUM0pXTDlNZXZYcTViL1FNaGlQMnlSQUFpUlFFQVQyS0VD
UUlheWNnaVVReDQwYloyK1dkU3VwRkVSbWVVNFMKSUFFU0lBRVNJSUg4RVlEVkF0NUVqNWRGQmw5
OG1MK2pHWXNFU0lBRURoeUJ2UW9RbkJvaklYaXo3UExseTJYRGhnMG1TZzVjbHBneQpDWkFBQ1pB
QUNaQUFCTVJmZmVpSFkxTlRVNlZxMWFyKzhyNGtTZ0lrUUFLRmhVQytCRWhoeVN6elFRSWtRQUlr
UUFJa1FBSWtRQUlrCkVHNENrWVhxdzEwRzVwNEVTSUFFU0lBRVNJQUVTSUFFU0NBa0JDaEFRbEpS
ekNZSmtBQUprQUFKa0FBSmtBQUpGQVVDRkNCRm9SWloKQmhJZ0FSSWdBUklnQVJJZ0FSSUlDUUVL
a0pCVUZMTkpBaVJBQWlSQUFpUkFBaVJBQWtXQkFBVklVYWhGbG9FRVNJQUVTSUFFU0lBRQpTSUFF
UWtLQUFpUWtGY1Zza2dBSmtBQUprQUFKa0FBSmtFQlJJRUFCVWhScWtXVWdBUklnQVJJZ0FSSWdB
UklnZ1pBUW9BQUpTVVV4Cm15UkFBaVJBQWlSQUFpUkFBaVJRRkFoUWdCU0ZXbVFaU0lBRVNJQUVT
SUFFU0lBRVNDQWtCQ2hBUWxKUnpDWUprQUFKa0FBSmtBQUoKa0FBSkZBVUNGQ0JGb1JaWkJoSWdB
UklnQVJJZ0FSSWdBUklJQ1FFS2tKQlVGTE5KQWlSQUFpUkFBaVJBQWlSQUFrV0JBQVZJVWFoRgps
b0VFU0lBRVNDQmZCQll0V2lRN2QrN01NKzdxMWF0bHc0WU5lWWFucDZmbkdjWUFFaUFCRWlDQi9C
Rkl5RjgweGlJQkVpQ0J3a3RnCjY5YXQ4c29ycitUS1lMZHUzU1FoSVVGR2p4NHRGMXh3Z1pRdFd6
WlhuS0xrOGZMTEw4c1paNXdoRlNwVXNHSjkvdm5uOHZiYmIwdTEKYXRYa2trc3VrZkxseS92Ri9m
bm5uMlhLbENueXh4OS95QkZISENHbm5YYWFISHJvb1JZK2F0UW9PZXVzczRvVXI1a3paOHJsbDE5
dQoxMFBwMHFWbDZOQ2hBZ2JubjMrK2xYblhybDNTcVZNbm1UOS92Z2tVc0duVXFKSFBDeHRyMXF5
UlNwVXF5ZHk1YzZWSmt5WTV3cmhECkFpUkFBaVNRZndJY0Fjay9LOFlrQVJJb3BBVFdyMTh2VjE5
OXRienp6anVDanFiN3BLV2x5ZmJ0MjZWLy8vN1dlZndyMmQreVpZdk0KbmozN3J4eDZVSS81OHNz
djVhMjMzdkxGQndUWnhSZGZiS0lDSXVQa2swOFdjSEx1bzQ4K2t0OS8vMTJPT3VvbytlS0xMNlJa
czJheQpjZU5HQy83WHYvNGxFRzhaR1JrdWV1aS9odzhmTGgwNmRMQzZuRDU5dW56MzNYY3laTWdR
djF4VHAwNlZYMy85MVFUWjBxVkxUWHo4CitlZWZzbmp4WWo4T04waUFCRWlBQlBZUGdUaFAzZjVK
aXFtUUFBbVFRTUVRV0xKa2lkU3VYVnUrK3VvclFlZDVmenFNbnZUdDIxZHcKanJ6Y3E2KythaDM1
aGcwYjJxZ0N6SFRRMlYyM2JwMDgvL3p6Y3VlZGQwcXhZc1hralRmZWtMcDE2MXBjcFBYMTExL2Iw
L1F1WGJwSQp5WklsVFNRRk84V0lrNVNVSk5XclY1ZXp6ejViU3BRb0FhOWNidTNhdFhMTU1jZklw
NTkrYW9JRFQvUEJBNTN1OXUzYlczeDh0MnJWClN1NjU1NTVjeCtNMlVMTm1UWG5nZ1Fkc2xBQVJi
cnZ0TnNuTXpKVEhIbnNzWnZ5QkF3Y0t5b25SQkl3R1lBVEZPWlFaWlVlWkRqdnMKTUdPQjhzUDBh
ZENnUWRLalJ3K3BVNmVPUmQrOGViUDg3My8va3p2dXVNTWRMak5tekREZTU1eHpUcTc0RUE2VEpr
M3k0eFl2WGx5cQpWcTFxSXphSEhIS0k3eCs5MGJScFU3bmhoaHZrMm11dmpRNnkvWDc5K3NtMGFk
UGtrMDgrOGNNeENsUy9mbjJmQVVkQWZEVGNJQUVTCklJRy9Sd0FDaEk0RVNJQUV3a3hBbjFMalFZ
cW5BaVJYTWZTcHY5ZWdRUU5Qbi9aYjJOaXhZejBWQjU2T0VIamFPZlplZlBGRjgzL2kKaVNjOE5V
WHkxRXpMVTBGZ2Z0OS8vNzFYcFVvVlQ4MjRMSTNycnJzdVYvcndhTnk0c1RkdTNEZ0w2OVdybDll
elowL2JualZybHFjQwp3c3ZLeXJMOTY2Ky8zdEo2K3VtbmJmK2xsMTd5VkZ4NExWdTJ0UDEzMzMz
WHRySHZQaTFhdFBES2xTdm5uWHJxcVJZbjFyK25ubnJLCjY5aXhveC8wd1FjZmVNbkp5WjRLRWQv
dm1XZWU4VlFnK2Z2QkRaMFhZZm1hTTJlTzd3MWVwVXFWOHJadDIrYjd1UTJFdWZ3MWI5N2MKVXhI
Z1BmNzQ0eGFzZ3NKcjNicTFoZXZvaXBlU2t1TGRjc3N0RmpadjNqenpWekhpb2M3ZzFIek96cjFz
MlRMYnh6OFZRdDcvL2QvLwplYkhpSTB5RmphZm1VWmJXc2NjZTYxV3NXTkZUZ2VFZkg3MEJOc2lq
bWs5WlBlb0loK2V1QThSOTl0bG52ZFRVVkU4Rm5vV3JlWmIzCjhNTVAyM25BSHRlUG1ySjVPai9F
cmpNVktsN256cDA5TlhYelZFekZaQlNkQis2VEFBbVFBQW5zSmlDN043bEZBaVJBQXVFazRBU0kK
UHZIMzFQektQbW8rWTRWeG5VYTEyN2Q5ZERiTGxDbmpuWGZlZVo0K1RmZlU3TWc2dytpd0wxeTQw
Tk9uOU42Q0JRc3NyajdoOTlCeApoMGhBT3BzMmJZb0pDSUptOE9EQkZvWU82YjMzM212YkV5ZE90
STV5OENBSUhYU2FuZnZ0dDkrc1U0djA4M0pxUXVXaDA2NGpFakdqCjZPaUdkK09OTi9waEtHT3RX
clg4Zld5OCtlYWJPY1FRL0NaTW1PQkJWSjF3d2dtZWpzN0F5M2NvZTN4OHZQZmhoeC82Zm5sdG9F
eEIKQVJTTUIyRjI5TkZIQjcwOGlCYmswVG1Fang4LzN1MmFZRkd6T1g4L09yNk85cGdnY0JGUUwr
Q3pjdVZLNTVYakd5SzBYcjE2M3FPUApQbXIxQ0k0NHY0N2NXRHlJckp0dXVzazR6OE9oa1FBQUlB
QkpSRUZVb0I3VWJNOVQwenRQNTlONE9tSml4Nmc1bnk5QWRGVEVHemx5CnBBZUJDVkdqYzI5eW5J
ODdKRUFDSkVBQ2V5YkFPU0IvYndDSlI1TUFDUlFpQWlvQ3BFK2ZQdmFaUEhseW5qblRKL3MyTVYw
N3ZnS3oKSFpqeHdKd0lwbFF3TzRLWkZCd21zS3RZTWZNcGZjcHUyN0VTaFRuUmloVXJiTTRFNW1L
b3dMQm9LaTdNaENkNERPWmNCT2RpSUF6bgoxeWZ0RnUzYmI3OFY3ZGdHRDVFYU5XcUlqcUw0Y3pS
eUJPb081aWxvQjl2MzFnNjU2TWlEdjQ4TjdNTUVDdk5pbk1OcVR6Q1ZRdDR4CllSM0hPWWV5dzR3
TGFlL05JWC9SWlhMSElBem5pSGFWSzFmMnZXQWFCbTdPNFp3d2ZRcTZZSHpVR1V5M25FTWQ0UlBy
UElnRHRpcW0KekZ3TTlRaHpzS0NEYVJ2TXhSSVRFd1hoWUlWckJPWnYySVlmdHAwYk1HQ0FUZXBY
WVdUbWRLZ3pPaElnQVJJZ2dmd1R5TmtLNS84NAp4aVFCRWlDQlFrZmdoUmRlTUR0KzJQSmZkdGxs
ZWVZUHEyRUZPK2lZUTZDakZhSlB4VzNPQXVacTdJdURBTUU1SVdnZ1hqRGZBdk13Ck1MY0JrK09E
RGgzaG9NT0VaelZaTXJFRGY2eEFwYU1Hd1NnbVVPQ1IxNlJ3cEFuaDVCeks0eWFVT3orSWplaHlY
M0hGRlNhNklIalUKSEV5ZWUrNDVGOTIrY2I3by9PYUlrTDBEQVpWWDNpQmtnbm5ESVR0MjdKRERE
ei9jVHlvb1FNQXRlaTVQZEh5czVoVzlWRzZzOC9nbgoyTThibU92akhFUUxIUW1RQUFtUXdMNFJv
QURaTjE2TVRRSWtVRVFKbkhubW1hS21WNkp6T0FTVHd0V2N4eStwRGlUNzI3RTJJRUJ3CjdGMTMz
U1U2LzhJNjQ3MTc5N1pSQ1RWTmluV0k3OWVtVFJ1YlBPNTcvSVVObkIvTHh6cUhVUlpNbU1iSE9a
M2ZJVWNlZWFUYnpmR04KcC8zdDJyVVRySXpsSElRQVZvRkMydnZiWWJXcFlDZGU1NVBJRHovOFlL
TXphcjRtMTF4emphZ0ptWC9hNlBnb0J5YXEwNUVBQ1pBQQpDWVNUQUFWSU9PdU51U1lCRXRpUEJO
RFJ4cEswZUpKLzRZVVgybE4vZE1EaHNJclQ4dVhMWmRXcVZYbWVFYU1lR0NtQWFjOGpqenhpClpq
a1lFY0NvaW5NLy9mU1RqWkpndENIYUJNakYrYXZmV0swSitYY09wa0VZVmNCcVZIQVlMUmd6Wm96
b0pIZ1h4Y3l1WU5ZRmgvSzkKOTk1N09RUUtCQTFHVEhSK2lIOU1mallnM0RBYTVENFFGakQ5d25k
ZURpSUhveHBPQkdFRnJsZ09kWUowa1MrODN5U3ZVWmRZeC80VgpQOVQ5bnZMOVY5TGtNU1JBQWlS
QUFpSVVJTHdLU0lBRS92RUVkTFVsNjdCRFNPaHFVN1ljclhzQ2o2ZnpXRklYVCt4dnYvMzJtS3pR
CmdjYjdRbURDaFhrSVdMb1d5K202WlhOaGd0UzJiVnQ3RndkR1dFNDY2YVNZNmZ4Vno2NWR1NHBP
b00veHZoSzhsQkR2QXNGOEZDeVQKZTlGRkYva3YzY041TUVLREZ4WWVmL3p4b2l0dDJhalBmZmZk
NTJkQlY3V1NtMisrMmVaRitKNzUyTUJ5dG5qbmlQdGdOQU1qTWNPRwpEY3QxTkZnaEg4Z0Q1blNB
Qzk3UkFTRVl5NzMvL3Z1V0xvUVVtTVBzNmtBNnZMZ1E0aFJ6WWZCaVFqb1NJQUVTSUlIOVE0RHZB
ZGsvCkhKa0tDWkJBRVNDQXAvZDQwM1dzRVFxOGF3T21TcnBhVnFFc0tVVFVyYmZlYWk5ampJdUw4
L01JOHlWZFN0Z20yL3VlMlJzWTFkRlYKbndUdnlBaVdHUzl5MU5XL2JOUWsrcGo5dWEvTERzdHJy
NzFtNzI3QnZCbU1PQlJHaHhFaU1Bd3lLb3o1Wko1SWdBUklJQ3dFS0VEQwpVbFBNSndtUUFBbnNo
UUJlUklnM21zT2M2ZTg0dkZGZWw2RE5zZkxUMzBtUHg1SUFDWkFBQ1pCQWtBQUZTSkFHdDBtQUJF
aUFCRWlBCkJFaUFCRWlBQkE0b0FjNEJPYUI0bVRnSmtBQUprQUFKa0FBSmtBQUprRUNRQUFWSWtB
YTNTWUFFU0lBRVNJQUVTSUFFU0lBRURpZ0IKQ3BBRGlwZUprd0FKa0FBSmtBQUprQUFKa0FBSkJB
bFFnQVJwY0pzRVNJQUVTSUFFU0lBRVNJQUVTT0NBRXFBQU9hQjRtVGdKa0FBSgprQUFKa0FBSmtB
QUprRUNRQUFWSWtBYTNTWUFFU0lBRVNJQUVTSUFFU0lBRURpZ0JDcEFEaXBlSmt3QUprQUFKa0FB
SmtBQUprQUFKCkJBbFFnQVJwY0pzRVNJQUVTSUFFU0lBRVNJQUVTT0NBRXFBQU9hQjRtVGdKa0FB
SmtBQUprQUFKa0FBSmtFQ1FBQVZJa0FhM1NZQUUKU0lBRVNJQUVTSUFFU0lBRURpZ0JDcEFEaXBl
Smt3QUprQUFKa0FBSmtBQUprQUFKQkFsUWdBUnBjSnNFU0lBRVNJQUVTSUFFU0lBRQpTT0NBRWtq
SVQrcVptWm55MVZkZnlZd1pNMlRseXBVU3AzOVpYcFo0bnBmajhMaTRPQ2xXVERXTmVqT2NmSGg5
OFBjUmJDRFlQckI5CjVQMGgvL2ZIVWFOVEpENWU3N1ZaT2R1UjRHOXFUOXZGaXNWSnpacGxwWFBu
WnRMN3hsTWtPVGxmdC9zOUpja3dFaUFCRXRodkJPSzAKazdqSDFnM2lZOFNJRWJKaHd3YnAwYU9I
VktoUVFkQ1JvQ01CRWlBQkVpQUJFamd3Qk43NmJvUFVMcGNneFJPS1NURjd1QmM1RHg0QQo1blll
bnZ2cFEwRTgvTk9QL2t2UHlKSWxDOWZLc09lbWlXUmt5TVEzcmxBUlVqejNvZlFoQVJJZ2dRSWdz
RmNCOHNVWFg4aVhYMzRwCnZXN29KVW5KU1NZK0tFQUtvS1o0U2hJZ0FSSWdnWDhNZ2NjL1dpTXRh
aVZLdkZvVjZHQ0dpUkJJRHp6L2MwOE5zZSsySStKRGhZaUoKRUU4eU12SEprcTA3MHFYZjdXL0lo
ZTBPa3p2Nm5QYVA0Y2VDa2dBSkZHNENleHlUeGVqSHRHblQ1UERERDllbktla1N0MHVmdldoagpH
R2tFSTg5aFhPUG5pdWtHVkNCU2dvMGp3eU1FeUNkeXhmRDY0TytEN2NQdXppUGJSN2FQSUJDOFA2
emVtaVVidG1lcEFQSHNYZ3FUCktqZ0lFUGZiV2JOaW1WU3NXdDB1SkxTc0VCOUlBNk1nbVZsWmtx
RWJPOUxqNUpoMlI4cVk4ZE9rejgybnFsbFh2S1hEZnlSQUFpUlEKa0FUMktrQjI3TmhoWmxmcDZl
bVdUOWp3QmtkQVhFUG9Db0hHaitHUkd3V1lrSS9kRzkzbFlUZEhYaCs4UHR3RlVkaCtIN3QyN1pM
RQp4RVNYdlgzNi9TNWV2RmdxVjY2c1ppN0pNWTlmdlhxMUpDUWtTR3BxYXN4d2VMTDk1UDNEdFkr
YjA3SlVQRUJ3UkpqRTZWZ0h4QWNjCnZ0YXZYaTUzWDlsQitqMC9VU3BXcTIzK3VINGdSQ0ptV0dw
NWxTbXlZNWNucWRWU1plR2FERFhOVWtGREFXS3MrSThFU0tCZ0NleFIKZ0d6ZnZsMHdDbEs4ZUhF
MUljMHdZWUhHMFRXUWx2WHNIZ1Q4MFBqbGNneTNIamo1OFByZzc2Tnd0dzlyMXF5Uit2WHIyMkli
alJvMQppalJsK1dpL3Z2bjZHN25oaGh0TVhKUXFWVXFlZXVvcCtmWFhYK1hzczgrMm51S3VuYnZr
d2dzdmxJVUxGd29FenB0dnZpa05HalRJCmQvcm9VUmEyOWdQWDhwQWhRK1NhbnRmSXBvMmI1TjEz
MzVXZmYvNVp5cFl0S3llZGRKSWNlK3l4a1FWSkF2eW1UNTh1SDN6d2dWU3QKV3RWNG1CRFQ4T2Yr
OTV4Y2Q5MTFSZjcrTVduU0pLbFNwWW8wYjk3YzZ2Njk5OTZUdFd2WDVyaGxIblBNTVdaeEFNL3R1
N0lrVGVkeApZS3cwVHVldUF5VkVTR1JMWk1RVDk4cVdqZXZseFVGOXBmZUFVZG1oemdRTElpUmlo
clVqM1pOZFdib0FRbUtTYk51MnplcElJOU9SCkFBbVFRSUVTeUZPQTRBWUQwWUVuZG5EUkl5Qm9G
Q1BkaVJpZENvM1BjUExoOVlGZkRuOGZvQkR0Q21QN2dQWU9EZzlkTXZYUmNmVDEKaXpieGwxOStr
VnExYWtucFVxWDk4TkdqUjB2YnRtM2xnUWNlc09QSGpSc24rSng1WmtmZDk4eU05ZmZmZjVjZmZ2
akJ3dkV2VnZwKwpvRzRVUmo3Qi9EMzA0RVBTb0dFRHlValBrRVdMRnNua3laUGxoQk5PRUlpNExs
MjZ5TUJIQjBybjg4N1RReUlVSjB5WUlBODk5SkQ4CjV6Ly9NWVlkT25TUWQ5NTVWOHFWS3l0NDBQ
WGNjOC9KbFZkZTZaK2lzSlYvNjlhdGdoR3VwazJiV2g3L1N2NWVlKzAxT2Zyb295ME4KSFAvWVk0
OEpMQXpnNXh3RUNzUXZ3dE15UE5tcEg0eDZGTU9RaHJuSW1XZlBtQ3l6cGs4Mm41Ky9uU2JUcDd3
dExkcDBVaEdueExNLwptWG9NUHR0VXlHU29BSWxQaWp4SXhIV2M0eUZpZHNyOElnRVNJSUdEU1NC
UEFlSXlBUUd5ZWZObU14dUErUlVhTDNNWUNYR1IvTy9JCjB4ZUdLd0h5NGZYaC95N2NCbjhmcnZr
b2pMK1B6TXlJQUlFUVNkZnQ2UFl0TFcySG5Ienl5WUluMTBmcmsyb1hqaVhLTDcvOGNoVXUKR2Ri
NTY5eTVzM1crWFhvelo4NlUyclZyKytHeDJzZlhYMzlkL3Z4enFSMlA4Skk2a2xMdjBFT2xUWnMy
MWxuOC92dnZiVlRsckxQTwpraElsU2xqN01sNUZEanF2aHgxMm1DVzVhZE5HR1Q1OGhGeC8vZlV5
Wjg0Y1AzN0praVV0Zk9USWwyVDkrZzEyZk4yNmRlVzAwMDZ6ClVRcTA2YzgrKzZ3K2NFcVhraVZM
MmVqTVNWcE9WejQ3MlA1RnJsK01kc3lZT1VQdXZPdE9FMnZvTUdNMEJHSUQ5YnQrL1hwNTliVlgK
NWV4emRBUklIVVo5N3Jubkhubnl5U2UwUEczTnIzdjM3akpzMkZDNStlYWI1ZXFycjdhOE5HblNX
UDcxcitNc1BIaDlZSlJnekpneAo2ci83OTVPWWxDVFZkQ1RsMy8vK3Q1Vm41ODZkS21MK3Awdk9u
cWRMejliMDIxL1VGUVRqRVVjY1ljZHYyclJaWG4zMVZibjZtbXVzCmZFT0hEcFV6empqRDZ1ZXJy
MmJLcWxXcnBWT25Udjd4a2N5SWpmRDg5Ny8vbGUrKyt5NVgvbHljWVA2QytYZmh5Qi80bU5DRnFs
QjMKNnFtbnluMzMzWmNkSlZJK0Y3NHpQVXNGaUVpOG1tQkYwb3VJRVM4clU3NmNORjZxMTR1SUlS
dzhjOG9FYWRxcXZSU0xUOUJ6NkJ3UQpaYVh6enlWTnhjZVd0RXhac3pYREJFajJpZmhGQWlSQUFn
Vk9ZSzhDQlBhaUVCN2J0bTIxVVJBSUV1eGI2NjN0WWs0SE14c2RNa2JqCml2YVY0VG54S0JUeTRm
WEIzMGZoYkIrMmIwK3ozeXZlZFlUTzV0ZGZmeTBubm5paTlPL2ZYMUpTVXFScjE2NFdmdFZWVjBs
aVVxSjgKT09sRDZkbXpweXhZc0VBR0Rod296ei8vZ293ZVBVcSsvZlpibVRoeG9yejQ0b3ZXY1I0
MmJKaWdnM3o4OGEza3FxdXVOUE9qWVB1SQpFWmVYWG5ySk9yZEhIbm1rblNNdExVM216NTl2NmQ5
NDQ0MG1LUERFZk5Tb1VRS3hndU54RHN3cnVleXl5K3lZeFl1WHl1REJnNjFEClAyZnVISGxzME83
NGVJSS9idHg0bXdPQXZDRHRpeTY2U082NjZ5NGJ3VUJISFE1UDVQLzQ0dys1L2ZiYlRWU1pwLzh2
MG42OThNSUwKMHZYQ3JtYk80d2ZaUmlRY0l6MFlEWUc1RDl6VXFWTmwwNlpOY3N3eHg1b2ZybjhJ
dVpFalI4bzFLZ1RnSUt5R0RCbXFvd09INTdwLwpRTUI5K09HSEZzLzlReWNkSXhKSVkrellzVllI
SDM0NFdRWU1lTlJHbktwVnIyYjNuMDgvL1ZSZWVlVVZ1ZnZ1dStXU1N5NjFjdmZyCjEwKzZkZStt
azd2alZSUTlLWFhxMUxGNWpoOStPTVZFSUVhemd2VXpkKzVjdWYvKysyMHArcFl0VzBycjFxM2xn
UWNma08rKy9jN00KN1g3NjZTZUI2ZDJiYjc0bDVjdW4yZ083enVkMWxnZnVmOERxbzNUcDBpcTJo
c2t0dDl3aXpabzFrMHN2dmRUU1I3M0Rzc0J4Z21mdwovckIxVjd5czJaSXVDVHI1UEY0L2RsdlZm
L2c3OTlibkxJdmdvYkxGeXJwWkY0bko4akRQUThXSGV0a3FXTHE5YVh1bXJNZGtkaDBCCm9TTUJF
aUNCd2tKZ3J3TEVDUTViVjF3YlN6VDhFQ1UyL29Fbk05WU1XaE5vamFBYjNtVTRPbG5rdyt0RHI0
TklGNEcvRC9TVDlPa3MKT3FDRnNYM1l0V3VudGN2b2ZFTlk5TlQ1RFZkY2NhWE5Xeml6NDVreWFO
QWdPZVdVVSt5SjllSGFVYzdTSjlFUUtoZGNjSUYwNmRwRgp6ajNuWERua2tFTnNCR0RwMHFYNjVI
K25QVTFmc0dDKy9QVFRIT3VNUXNoQUFFU1h2LzkvKzh1WkhjNDB3ZUw0dlBuV0d6Smh3aHR5Cjdi
VTlwV09uampZM0FLWkxLMWFza1BLcDVXMHVBY1JPang3ZDdWblB1blZyN1VrKzB1OTBaaWM1UWxj
dmJOKytnNzQ4ZG9XVTA0bnYKTUJWei9DR2VoZzRiWXFNVDFhcFZsYkV2ai9XdlQ4U2Ivc1YwRlNn
OWNyWHZFREk0NTAyOWI3THl1ZC8zcjcvOVpvSU1JelZISFhXVQpYUFovbC9uaG1QdFN2bng1NDdW
VEgrbWpmTWovbjMvK0dXR2hQNUdxbWdlWVlSbWJxT3VqZGV0VzBrby8xczhPWEQ5TGxpNldkdTNh
CkMwYW1xdGVvYmtMazNIUFBOWE93N3QyNlcvdmJ0MjlmcVZHamhuS2NZQUt5WXNXS3htRGw4cFZT
c1ZJRkV3dGx5cFNSblZwWFM1Y3UKa2VyVnErZXFuN3AxNjlqMWdGRWVzRW5TMFpkZGFidE1tTFp2
MzE2R0RoMGl5NVl2Vi85RU94WW1aWXNXTHBLSEgzNVlldmZ1cmFLcQppYVcvYk5reXFWYXRtcDgr
NmdKaTk1dHZ2cmI2UzA1S3R0RW5WLzliMGhKbHhlWk11OFBDRHh2dWxoSnBWZXh5emZWUGs3VXlx
dll3CkU2enRPOVVFUzdlTGFmN29TSUFFU0tDd0VOaXJBSEVqSUdnQU1mSmhEU0Z5NzFwQWZPTjJx
ZzJjK1dFWGp1RjJ3NHd3SVI5ZUg5bS8KQ2Z0eDhQZFJHTnNIMTdiaFNmWHBwNStPWHB3MGJ0eFk4
QVM4bzg3bndBUnJPSFJZVS9WSk44SWhPTkJHbGlwUnlqclo2RlQ2VGpjaApPRkpTU3RoQ0h1aUUr
K0ZSN1dQcGtxWHRhVGllaU5zcVhCcGV1VkpsMmJoeG95WVhhVCtRUHp3UXd2bkI3MGlkekl5bi95
NGN3cVJPCm5UcVIwMmVuSDRsL2lMYlA2Z0cvYkZlNUN0TGVsTDJYczMzQ1NsNGIxWnpMZXNWMnpP
NXdkSmpoYXRXdWxTTjh4L1lkTnNxQi9NNmIKTjA4V0xsb29qVEdSWDQvZnNtV0xkZG9kWHh5Zm5K
SnM1WVhnd0twaHRXdld0cEVBQ0J5TUdGaGUvWHRLbk14VkFSZWZFRy96STNBOAp3cXRVcm1JOE4y
L2VJbVVQMGJySkxoODRCNDlISFlJVHpnOXp0SExseXNsYUZXdkxsaSt6K29GNUhQZ3MwcmtzclZx
cDBNbE8zNVUvCklhRzRsRkxUTk56L0xPM3NjTERGTXZVWU1hbFJyWWFkMDY5ZmpYTmJuejRxbkZw
YmNwWldaQ3Z5UHp1dkdHVkR2Y0ZCL0R6eXlDTisKT002WHBmblNMMDA3Y2tDY2pvVGdITHV2c29n
L2ZMQVZ1ZnhnZ2dWemFSaGk2YUdhUUhGbGw4QVJrQWhiL2ljQkVpZ1VCUFlxUU53SQpDQnB2Zkp3
SUNkNU1naVZ4RFRERHMrOHdRVGk2VFQ2Uld5ZXZEMTRmVVQ4TjJ5M0kzd2ZhTnJoRGRlNkYyNFlZ
c0hZdlhsOEdseDJPCmI3ZHRCK2cvZEF6aGgveTdhN3VZQ2hNNDdGc2EyZUhPendLei81WFZ5ZGlJ
QTNNY2RNaXhYVnpQaldWVDNibFdyVnBsY3o1Y25wcXIKdWRhNmRldDAzc0lxVzFscXhvd1ovdXBU
T0g2Vm1tZGhqa2h3V1dISEZ5c2J3Z1RJcGUzeWduREV0N0RzL0xzd2ZPTitBSWQ0cm56WQp4M253
Z2YrdHQ5NHFHSGw0NjYyM0VHUkxFME9FT0Q3d3d6NkVoczFuMFgzWHBRN2VieERQdVlsdlQ3UzRU
Wm8wTVMrVUQvTkE0Q0o1CmlkUWRCQTFXR0F1V3krWFpuUjhkL2VIRGg4dG5uMzBtTjkxMGs0a1Fq
TndzMTFFTUNFL0VRL3BCaC9xRmMra2kvTkZISHpYVExzeEQKZ1JrY0p0aURuWXRUUmVlb3VHMGNp
MlB3Q2FiZnNXTkhNM2RET0J6S0FvZDR5Y1hqSlRsUlRhQnhhaHlyWDNnanVrWEp6cDd1UnZaeApF
Q2hxSU1LUlNxWk9QTTlTV3l4UFJVeWl2azJkSmxnR2lmOUlnQVFLQ1lGOEN4QTg1VU5EN2hwUmZF
YzcxM2pDbitIa3crc2pKd0grClBpS2RxOExhUHJnMkN4MUV0SGN1bi9CM0k4SE96NFZiSlAySFkx
eG5FL0hkTVM0K3ZsMTQwQS9iY0VnUGs3bG56NTV0RTdKeHZJdnYKem9XNUIvakFJUnhQOC9GMGY5
YXNXYmFjNjI5cUJ2WGdndzlhV2dqSFBBeDhuQXRlZjBnem1FZkVjZUU0YjNTWUM0YzVFOEpnUGdW
egpvcUJ6eDhNc0NSUGhNWnFCRVNLOHlCWVQwemRzMk9DUElHQ2VDY1NFS3h2U3d3aVRqZTVvb2po
SDBFWG5DZUV1RHRMQUIrZWZNbVdLCkhlYkNzT1BLNm5oaWtqcm1wSXdZTWNMTXhXQXUxNjlmUHhN
anlDOWM4SGpzdTJOZGZoR095ZTJZazROUkRDekRER0dEZVRVdUxyNWQKZktRQjUveHdQRDV1SDJH
T0g3WVJscVRpSXprUmN5NGpMQ0Erek9uSXh2ajd1OGpheGZOMEY3K3BPQ2xicGJaMGZlZ3RpWXZY
ZVI3cQpCWlBwTEkybnEvaEtWbHltQ1pBRW1tQkYrUEUvQ1pCQW9TQ1FMd0dDUmhUaUkvaDBDZzBr
WEhTajZmWVpUajY4UHZqN2NPMEJyZ1cwCkNXNi9NTFlQYnFRQW93UDR1RHlqazRpMkR4T044UTRM
dk9QanVPTWlxeldoUENnTDR1QjQ3THNPTDlMQVBzSVF4NFc3ZFBHTmNKZzEKWVVJMVJsNnduQzA2
OElqdkh2amcyeDJEK0c0YjMzaHZCSjdtb3hNTk15UDNFc1JvdnBpc0RoTWpkendtem1OMUtwaExR
U0M0TkJFZQpuWDhMMUg5SUUyV0NxTUg1SUlZUUg1MTVsQTJqR1pnOGo4bnhFQ2NWS2xTd2NLeEFo
WHhpYVdLTUVpQSs0bUNVeEpWdHlaSWxOdm9RCjVJN3p1dnppM01oWE1CeWpRM0R1L29RNHdmZ29H
MHpDVUYvQitvRUFnZGtUR0x6Ly92dTJ3aFVtNDJQMXN1RHhTTnZ0bzI0dzBvVDAKTUk4RTU0THd3
SHdYVEV5SEdIRjhYQjVSTmxjK3BJVTg0SU53eEhVZkZ3Zjc3bnpZVGxIeGtaS2tBa1NQeGI0VElo
QWNwMTkycjR5Kwo4MncvZnR0TDcxWXp3QlNUSTBnRGFQQWVrSFFzSjYzZlNUcWFrcERNT1NDb0J6
b1NJSUhDUVdDdkFnUVQ3dEJBdWtZZTMrNkc2b3JnCkdrM3NZOXMxckF5UEVDQ2YzVSsrZVgzdzkx
Rlkyd2ZYY2NTM0V5T3UwK2oyOGFSN3dJQUIxdG5IQ2t0d0tBL2FTQnlINnh2YjhIUEgKdURiVGhV
ZVhIK25oNVlSd21IK0M0eEFIOFlQcElOejlmaUE2Y1A1dnZ2bkdUSjh3UVJxZFlCZU80NXlESDFi
SGlpeGw2M3dqMzFoUgpDNlpUenNYS1AveWN3elpHTi9CT0R5eWxpN0ppR1dMNDRSMFpHTW1Bb01I
eXRxNzhPQVlUekx0MTZ5WWZmZlNSZGY1eExDYU13MkdrCkJPWmFLSU1yYzNUK3dSQ2ZZTGdUSURo
UDhGdzRGbUU0QjB6VTRIQnV4Nzl1M2JxMmxETE10WkJYaUtFNmRlcFlQT1FWeDBlZkh5SUQKY3oz
YTZMTElGMTk4c1MwcmZOdHR0OW5JRGtadEdqWnNhUDQ0aDhzTHRuSC9kUHlRSnNxQWNIY084SFB4
a1lIZytWTjB6a1p5WXZIcwpGYkIyQ3hEVTdHSE5XMHFMRHBmS3QrK1BsQ05PUGxjYUg5ZldUTFJ3
UENhZlEzeGs2VHE4eGRYMFNsT1ZFaXBrRWxNb1FNQ1lqZ1JJCm9IQVFpTk1HYS9mZEpaQW5lS1B4
L3ZqamoyMllIOFBqVG94UWdPUytRVGwwNE9adUxrRy80RGJEeVEvWGdIUEJueUN2bjhMLys4RlQK
Zm56c1RkNWFpUWU3L3RCaHh5cGRXTklWSFdPOGVkeTVnM1g5UUdCZ1JVVDNCblBrQ2FNNE1OR0NH
Vk5lMXpmTXhQQ3lQV2ZxaEh6ZgplKys5TmtLQ3BYZ1BWdjd6eXQvZXpvOTNrbUFrRElzTHdHRXVD
NDZ4aWZPNnY3Zmo5eVc4ejhjSjBxaHlzb29XSFRtQktNbzJ4VUxMCmdlWWpiZHRtR1h4ZFcrbjV4
THRTdWx4bGxSbDZLOWY1SGpDOXdua3lkZjVIaHM3ejJhRXJkcTNkdUUxbWZiOUEzdXJUd016Z2d1
VkgKT2VoSWdBUkk0R0FUMk9zSUNKNGs0VVlEOFlGR0YwOXM4QlFuVmdPR1JpOVdBK3NLeFhEeTRm
V1J1NFBOMzBlRVFGamFCOHk5S01qMgpEK2QzRTd6ZHRZUHZnOGtQeTh0aWFWczNpUng1cWxTcDBs
N2IvK2E2Y2hmWUJmbEJSSjJuYjAwL21Qa1BudDh4ek0vNVliNFZ6TDhyCi80SGdYNlprdkpRdWha
RWZtRzlGUGhBZStPaXQxdWJMOUIzOWlhU1VLbTM3bUd3Ty82d3NMSWFnazlBejhTNFFtSUhGeTdv
Tlc2VjIKbWNoN1dWeDUrVTBDSkVBQ0JVa2dUd0dDUmhZM0ZhemhYcjkrZmJNdHhwTWZqSDdRa1FB
SmtBQUovTE1Kd0t4cGY3ajlsYzcreUV0aApTcU9pcmlaY1RsZDd4aTFYTllRSkQ0Z1BPUHZXN2RS
VUZSKzZyNE1lRVJHU3ZZMDVJUHJjMEVSSTBuWTF2OUxqVTdmOXFQZjBFMHhBCklRMDZFaUFCRWlo
SUFua0tFR1FLTnF5d2I0VUlDUzVOV1pBWjVybEpnQVJJZ0FSSW9LZ1RxRkZUUllPK0VzV05mc0FD
QzJJajZKd2cKTWVzckRjREloL3RnQkFUTDhDWnN5SklTbTM2UlE2dW4yRDA5ZUR5M1NZQUVTS0Nn
Q09RNUJ3UVp3cEEwN0hxZmZ2cHBXL21qWGJ0MgpObWtQWmxoMEpFQUNKRUFDSkVBQ0I0YkFSNXBz
MHE0TWZSOU0vdTYzRUI1Qmw2SEhMcG85WCtaTWZrOHkxaStUWHIxNmliMTAwVmN0CndkamNKZ0VT
SUlHRFMyQ1BBZ1Jad1J5UStmUG4yeEtLZUZHVFczbms0R2FUWnlNQkVpQUJFaUFCRXRnWEFqQ1p4
cExJWGJwMGtYcjEKNnRHRWVsL2dNUzRKa01BQkpiQlhBWUt6WXlRa1BUM2QzaFNMbDBsUmhCelFP
bUhpSkVBQ0pFQUNKR0NDNGEvZWJ5RStzRkliM2wwRApjK3BZRSsrSm1BUklnQVFLaWtDK0JFaEJa
WTduSlFFU0lBRVNJQUVTSUFFU0lBRVNLRm9FdUtSVjBhcFBsb1lFU0lBRVNJQUVTSUFFClNJQUVD
alVCQ3BCQ1hUM01IQW1RQUFtUUFBbVFBQW1RQUFrVUxRSVVJRVdyUGxrYUVpQUJFaUFCRWlBQkVp
QUJFaWpVQkNoQUNuWDEKTUhNa1FBSWtRQUlrUUFJa1FBSWtVTFFJVUlBVXJmcGthVWlBQkVpQUJF
aUFCRWlBQkVpZ1VCT2dBQ25VMWNQTWtRQUprQUFKa0FBSgprQUFKa0VEUklrQUJVclRxazZVaEFS
SWdBUklnQVJJZ0FSSWdnVUpOZ0FLa1VGY1BNMGNDSkVBQ0pFQUNKRUFDSkVBQ1JZc0FCVWpSCnFr
K1doZ1JJZ0FSSWdBUklnQVJJZ0FRS05RRUtrRUpkUGN3Y0NaQUFDWkFBQ1pBQUNaQUFDUlF0QWhR
Z1JhcytXUm9TSUFFU0lBRVMKSUFFU0lBRVNLTlFFS0VBS2RmVXdjeVJBQWlSQUFpUkFBaVJBQWlS
UXRBaFFnQlN0K21ScFNPQWZTeUE5UGYwdmwzM1Jva1d5YytmTwpQSTlmdlhxMWJOaXdJYzl3QnBB
QUNaQUFDWkFBQ2VTZlFFTCtvekltQ1pBQUNSUk9BbXZXckpGS2xTckozTGx6cFVtVEp2bk81TXla
Ck0rWHl5eStYaElRRUtWMjZ0QXdkT2xSKy92bG5PZi84OHkyTlhidDJTYWRPbldUKy9Qa21VS1pN
bVNLTkdqWEtkL3FGTWFMbmVmTE0KTTg5SXIxNjlaTk9tVGZMR0cyL0luRGx6cEZ5NWN0S21UUnM1
L3ZqanBWaXhuTSttUHYvOGMzbjc3YmVsV3JWcWNza2xsMGo1OHVXdAphRTg5OVpUY2VPT05oYkdZ
K3pWUDc3MzNubFN0V2xXT1B2cG9TM2ZpeElrQ1VScDB4eDEzbkRScjFpem94VzBTSUFFU0lJRThD
T1M4CnkrUVJpZDRrUUFJa0VHWUM2SFQvOU5OUHNtWExsaHpGR0Q1OHVIVG8wRUZtejU0dDA2ZFBs
KysrKzA2R0RCbml4NWs2ZGFyOCt1dXYKOHNjZmY4alNwVXRETHo1UXNMdnV1a3ZLbGkxclpWeThl
TEY4OE1FSGN0aGhoMGxHUm9hY2VlYVo4dHByci9ubHg4WXJyN3dpRjE5OApzUng2NktIRzRlU1RU
NWIxNjlkYm5CMDdkcGlZeVhGQUlkdEJuYU4rLzQ0Yk0yYU1USnMyelUraWYvLytNbmp3WUlHQWRa
L2x5NWY3CjRkd2dBUklnQVJMWU00RTR2VEY3ZTQ3Q1VCSWdBUklvM0FUMk5nS1NscFltS1NrcDFs
bkVrMnJubWpadEtqZmNjSU5jZSsyMXppdkgKZDc5Ky9hemorY2tubitUd0QrNmdjNHFPdkhPbFNw
V1NCZzBhU0x0MjdTUXVMazYrL3Zwckc1bnAwcVdMbEN4WjBxS05HalZLa0krRwpEUnZhL3NhTkcr
WFpaNStWMjI2N1RYNzQ0WWRjOFo5Ly9ubFp0MjZkSFEreEFOR0VVUW8wM3dNSERoU1luMkVFQjZN
L3A1MTJtc3RLCnJ1OEpFeWJJazA4K0tSalJpT1V3bXZIYmI3K1pLRUU0Um9CcTE2NHRFR3J0Mjdl
M1EvRGRxbFVydWVlZWV5ejhxS09Pa2hkZWVFRk8KT09HRVhFbWlYb0tDRGhHU2twS2tldlhxY3Zi
WlowdUpFaVZzWkduUW9FSFNvMGNQcVZPbmpwOEdSbWJxMXEwclNCOE9velVqUm95UQozcjE3Mno0
RUFFYW5FT2VMTDc2UWxTdFgraU5YRmlINzMralJvNlZ2Mzc2eVpNbVNvUGZmMmtiZG5YVFNTY2Ir
YnlYRWcwbUFCRWpnCm4wb0FBb1NPQkVpQUJNSk1RTTFoOENERjA2ZlVYdWZPbmIwS0ZTcDQycUgx
dG0zYlpzWFN6ckdGMTZwVnkxTng0R21IM2V2WXNhTlgKdkhoeFQwMjN6RTlIT0x5eFk4ZDYycm0z
WTFRUWVLbXBxWjUya2kxY3piTnlJZEpSQXc5cHF4andXclpzYVo4amp6elMwMDYyZDk5OQo5MW44
bDE1NnlkTU90NFc1Qk02VlJRV3RBQUFOUVVsRVFWUTY2eXhQaFlEYjlYNzU1UmRQeFVuTStKczNi
L1phdDI1dHgydG4zRk1oCjVkMXl5eTBXOS9mZmYvZlAyN3g1Y3l2UDQ0OC83cWNidllHOGpodzVN
dHJiMzFkaDRlY2Juam82NGlVbkozc3FSUHc0YXI3bHFYRHkKOTNVMHdPdmF0YXUvSDl4NDk5MTMv
Znc1UGkxYXRQRFUzTXM3OWRSVExlcThlZk1zRGhpcWtQTVB2Lzc2NnowMWpmT2VmdnBwODFNegpN
ZU1NNW5DVksxZjJQdjc0WTl0V2dXSDFiVHVCZjk5Ly83MVhwVW9WU3dmMWZ0MTExMW1vam5aNXA1
OSt1dVVEMThTcVZhdk1YMGQyCnJLN1YxTTQ3OGNRVFBSMFJNbjhkQWZMekFZOS8vZXRmM3EyMzNt
cGgvRWNDSkVBQ0pMRHZCUEFFalk0RVNJQUVRazNBQ1pENjlldGIKQjN2V3JGa21MRjUrK1dVcjE3
Smx5MHlBb0VPTnVIRG9iTmFyVjg5NzlORkh6Uzh6TTlPRDZOQlJCQXVIZUxucHBwdE1ZT0NZN2R1
MwptMy8wdndVTEZwamdDUHJyazNycndEby9IVld3ODd0elAvTElJNTZPaUxoZ1Q4MTRQQWdYNTZM
ak8zOThqeHMzenRPNUNFRXZmL3VKCko1NHdZZVY3QkRZZ1pDRFNkTFFnNE90NWFwN2szWHZ2dlY3
YnRtMjkyMisvUFVjNXdRTWQ5S0I3ODgwM3JieFpXVm5tclNaYlhwa3kKWllKUjlycXRKbTBtSnNE
Y09RZ29uQy9vVUo1amp6M1d2TFp1M1dyNVg3RmloZTFENUtsWm5XMWZkTkZGbm83SUJBKzFiUWhO
Q0NZSQpRTERYVVJUemg5Q0NBRVFaRmk1YzZPa0NCT2FQT0dDRXZFQTh1WE9kY3NvcE9ZUVpCQWdF
THVvTm54OS8vREhYdWVsQkFpUkFBaVNRCk53SE9BZm1uRG4yeDNDUlFCQWtNR0REQUprbHJCOUpN
ZDc3OTlsc3JwWTVrMkRjbVdsZXNXTkhmam8rUE45TWwrRVZQdklaNUVFeW0KRWhNVDdSaVljTVZ5
aHh4eWlKa1J3VnpKdVJvMWFwakpsTnZIdDQ2MjJFUnZiT3RvZ0h6NTVaZllOQWNUTHBodEJWMHdm
dEEvVnRvdQpIR0Z1Zm9iemM5K1l3d0lIRTY2Z1U2RmxlVjI3ZHEyb2NMTTVMeTRjWmsvUjVjWStW
Z3lEV1J1Y2lqaFJjV01tVXU2NDREZnFBT2tHCkhmS3BuWCtCNlZuUTZhaEdjTmZxMEpVSGRZRjZn
cWtWNWwyZ2ZseFpZRGFtNGpQSHNkakI0Z0lxanF4dWNTeTJuVC9tdnNBc0MyWmYKcU9PZ2cwa1k1
c1BvNkVuUU84ZjJaNTk5Sm4zNjlMRVA0dE9SQUFtUUFBbmtud0FGU1A1Wk1TWUprRUFoSitEbVZD
Q2IwWjNLQTVWMQpUT2lHZUFsMnB0SHgxYWY3L2luUitWY3pLdXNRdzFPZjZvdWEvZGpFZHV4amRT
M01LWEF1T3I3engzZDAyc0V3aUJaTUpvL2xuTUNLCkRzZXFWMWdWQ3lJQnExdGhWVERuc1BKVHNG
end4M0xFS0xNVEpxNmNFSE94SE9hNzZLaE5qaURrRXk2WUYweG9QL3p3dzNQRWkwNFQKWWdGelhq
Qy81b0VISGhBMUR6TWhCd0YzempubjVEaDJUenZJRXdRUUJJeU8rdmhpeWgyRDFiNzI1cnAxNjJi
emd6QTVIZW5Sa1FBSgprQUFKNUo4QUJVaitXVEVtQ1pCQXlBbm9ZUEIrTHdFNjlsaCtkY2FNR1ht
bWplVnRQLzMwVXo4Y25YYzF1YkxPODFkZmZXVXJkUFhzCjJkTVBqNDd2Qi95TkRUV2xNcUdFSllY
emNsaCtHSlBnM1R0UE1BRWNFOG54Y1E1TDlpTHZ6aUU5Q0JkTXZ2ODdEcXVOQlFWa3JMUWcKUURB
WmY5S2tTYlo0Z0pwUDJRSUNEejc0b0kxa3hUb0dmdEgxam9uMWt5ZFBGcDFEWWhQYlgzenh4YndP
cFQ4SmtBQUprTUFCSUVBQgpjZ0NnTWtrU0lJSENSUUFyTDlXc1dkTTYxL3N6WnpxM3hKNkN3L3dI
SzB6dGk0TVoxbU9QUFNZNkdWNnd5bFgwMDM2WEZreU84SlRkCmZTQVFZQUtGNzMxeE1GbkNDbGs2
Y2QwL0RLTWJPcmZGOXBFbW51UkRxTUJVRFE2bWJGanhDdm1EZ3pEQnFsODZRZHoyOFEvcDZhUjYK
ZjM5L2JHREpaSlFYb3pKdTVBYnBRb0FnYjNqZkMxYkRRdDVnQm5YVlZWZmxlVnFNY21DSlhJdzRP
WWRWd0RENm9oUE5iWGxoakliUQprUUFKa0FBSkhEd0NGQ0FIanpYUFJBSWtVRUFFc0J6dUhYZmNZ
ZS9BMko4dmk4T3l1WGd2eHZqeDQvMzVDSHNyb3E3cVpQTUwwTm5ICnlBR1c2UTJPS0VRZmo2V0Fj
UTczdWVhYWEyeEVZdGl3WWRGUjk3cVB6cnBPOVBaTm56NzY2Q1ByMEdOWldZd0tZRjVIdExtVVR1
UzMKZDRIQWJBekwvT3FFYjMrNVc1MFlib0prZjc2TUVDWmRPaUhleW91WEpRWk4wN0RrTHViTzRL
V0ltSHVENVhlUm56MDVDRDBzVzR6UgpGWmhid1YxeHhSWDI0a3JNWDhIY2tDdXZ2SEpQU1RDTUJF
aUFCRWhnUHhQZ2UwRDJNMUFtUndJa1VIZ0pZSjRCbnZpN04za2Y3SnppCnBYam9NT09OMm5odkJq
cmFCOXRodmdmZUc2SXJmTm1wSVNKMEpTOGJYWENUdEdQbENTWlNtSlNOanI5ekVHQVFMK2VkZDU3
ektyVGYKbUdRUE16SE1HNEZ6TDZYRSsxUG9TSUFFU0lBRURpNEJDcENEeTV0bkl3RVNJSUVDSi9E
NjY2LzdveGgvSnpQN0s1Mi9rd2NlU3dJawpRQUlrRUQ0Q0ZDRGhxelBtbUFSSWdBUklnQVJJZ0FS
SWdBUkNTNEJ6UUVKYmRjdzRDWkFBQ1pBQUNaQUFDWkFBQ1lTUEFBVkkrT3FNCk9TWUJFaUFCRWlB
QkVpQUJFaUNCMEJLZ0FBbHQxVEhqSkVBQ0pFQUNKRUFDSkVBQ0pCQStBaFFnNGFzejVwZ0VTSUFF
U0lBRVNJQUUKU0lBRVFrdUFBaVMwVmNlTWt3QUprQUFKa0FBSmtBQUprRUQ0Q0ZDQWhLL09tR01T
SUFFU0lBRVNJQUVTSUFFU0NDMEJDcERRVmgwegpUZ0lrUUFJa1FBSWtRQUlrUUFMaEkwQUJFcjQ2
WTQ1SmdBUklnQVJJZ0FSSWdBUklJTFFFS0VCQ1czWE1PQW1RQUFtUUFBbVFBQW1RCkFBbUVqd0FG
U1BqcWpEa21BUklnQVJJZ0FSSWdBUklnZ2RBU29BQUpiZFV4NHlSQUFpUkFBaVJBQWlSQUFpUVFQ
Z0lVSU9Hck0rYVkKQkVpQUJFaUFCRWlBQkVpQUJFSkxnQUlrdEZYSGpKTUFDWkFBQ1pBQUNaQUFD
WkJBK0FoUWdJU3Z6cGhqRWlBQkVpQUJFaUFCRWlBQgpFZ2d0QVFxUTBGWWRNMDRDSkVBQ0pFQUNK
RUFDSkVBQzRTTkFBUksrT21PT1NZQUVTSUFFU0lBRVNJQUVTQ0MwQkNoQVFsdDF6RGdKCmtBQUpr
QUFKa0FBSmtBQUpoSThBQlVqNDZvdzVKZ0VTSUFFU0lBRVNJQUVTSUlIUUVxQUFDVzNWTWVNa1FB
SWtRQUlrUUFJa1FBSWsKRUQ0Q0ZDRGhxelBtbUFSSWdBUklnQVJJZ0FSSWdBUkNTNEFDSkxSVng0
eVRBQW1RQUFtUUFBbVFBQW1RUVBnSVVJQ0VyODZZWXhJZwpBUklnQVJJZ0FSSWdBUklJTFFFS2tO
QldIVE5PQWlSQUFpUkFBaVJBQWlSQUF1RWpRQUVTdmpwamprbUFCRWlBQkVpQUJFaUFCRWdnCnRB
UW9RRUpiZGN3NENaQUFDWkFBQ1pBQUNaQUFDWVNQQUFWSStPcU1PU1lCRWlBQkVpQUJFaUFCRWlD
QjBCS2dBQWx0MVRIakpFQUMKSkVBQ0pFQUNKRUFDSkJBK0FoUWc0YXN6NXBnRVNJQUVTSUFFU0lB
RVNJQUVRa3VBQWlTMFZjZU1rd0FKa0FBSmtBQUprQUFKa0VENApDRkNBaEsvT21HTVNJQUVTSUFF
U0lBRVNJQUVTQ0MwQkNwRFFWaDB6VGdJa1FBSWtRQUlrUUFJa1FBTGhJMEFCRXI0Nlk0NUpnQVJJ
CmdBUklnQVJJZ0FSSUlMUUVLRUJDVzNYTU9BbVFBQW1RQUFtUUFBbVFBQW1FandBRlNQanFqRGtt
QVJJZ0FSSWdBUklnQVJJZ2dkQVMKb0FBSmJkVXg0eVJBQWlSQUFpUkFBaVJBQWlRUVBnSVVJT0dy
TSthWUJFaUFCRWlBQkVpQUJFaUFCRUpMZ0FJa3RGWEhqSk1BQ1pBQQpDWkFBQ1pBQUNaQkErQWhR
Z0lTdnpwaGpFaUFCRWlBQkVpQUJFaUFCRWdndEFRcVEwRllkTTA0Q0pFQUNKRUFDSkVBQ0pFQUM0
U05BCkFSSytPbU9PU1lBRVNJQUVTSUFFU0lBRVNDQzBCQ2hBUWx0MXpEZ0prQUFKa0FBSmtBQUpr
QUFKaEk4QUJVajQ2b3c1SmdFU0lBRVMKSUFFU0lBRVNJSUhRRXFBQUNXM1ZNZU1rUUFJa1FBSWtR
QUlrUUFJa0VENENGQ0RocXpQbW1BUklnQVJJZ0FSSWdBUklnQVJDUzRBQwpKTFJWeDR5VEFBbVFB
QW1RQUFtUUFBbVFRUGdJVUlDRXI4NllZeElnQVJJZ0FSSWdBUklnQVJJSUxRRUtrTkJXSFROT0Fp
UkFBaVJBCkFpUkFBaVJBQXVFalFBRVN2anBqamttQUJFaUFCRWlBQkVpQUJFZ2d0QVFvUUVKYmRj
dzRDWkFBQ1pBQUNaQUFDWkFBQ1lTUEFBVkkKK09xTU9TWUJFaUFCRWlBQkVpQUJFaUNCMEJLZ0FB
bHQxVEhqSkVBQ0pFQUNKRUFDSkVBQ0pCQStBaFFnNGFzejVwZ0VTSUFFU0lBRQpTSUFFU0lBRVFr
dUFBaVMwVmNlTWt3QUprQUFKa0FBSmtBQUprRUQ0Q0ZDQWhLL09tR01TSUFFU0lBRVNJQUVTSUFF
U0NDMEJDcERRClZoMHpUZ0lrUUFJa1FBSWtRQUlrUUFMaEkwQUJFcjQ2WTQ1SmdBUklnQVJJZ0FS
SWdBUklJTFFFS0VCQ1czWE1PQW1RQUFtUUFBbVEKQUFtUUFBbUVqd0FGU1BqcWpEa21BUklnQVJJ
Z0FSSWdBUklnZ2RBU29BQUpiZFV4NHlSQUFpUkFBaVJBQWlSQUFpUVFQZ0lVSU9HcgpNK2FZQkVp
QUJFaUFCRWlBQkVpQUJFSkxnQUlrdEZYSGpKTUFDWkFBQ1pBQUNaQUFDWkJBK0FoUWdJU3Z6cGhq
RWlBQkVpQUJFaUFCCkVpQUJFZ2d0QVFxUTBGWWRNMDRDSkVBQ0pFQUNKRUFDSkVBQzRTTkFBUksr
T21PT1NZQUVTSUFFU0lBRVNJQUVTQ0MwQkNoQVFsdDEKekRnSmtBQUprQUFKa0FBSmtBQUpoSThB
QlVqNDZvdzVKZ0VTSUFFU0lBRVNJQUVTSUlIUUVxQUFDVzNWTWVNa1FBSWtRQUlrUUFJawpRQUlr
RUQ0Q0ZDRGhxelBtbUFSSWdBUklnQVJJZ0FSSWdBUkNTNEFDSkxSVng0eVRBQW1RQUFtUUFBbVFB
QW1RUVBnSVVJQ0VyODZZCll4SWdBUklnQVJJZ0FSSWdBUklJTFFFS2tOQldIVE5PQWlSQUFpUkFB
aVJBQWlSQUF1RWpRQUVTdmpwamprbUFCRWlBQkVpQUJFaUEKQkVnZ3RBUW9RRUpiZGN3NENaQUFD
WkFBQ1pBQUNaQUFDWVNQQUFWSStPcU1PU1lCRWlBQkVpQUJFaUFCRWlDQjBCTDRmM0RKMGV2Sgo2
d0ZIQUFBQUFFbEZUa1N1UW1DQwoKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L3RleHQvaW50ZXJuYXRpb25hbC9ydGwtY2FyZXQtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fu
bm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUg
PSBpbWFnZS9wbmcKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3
QUFBQzdtbERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0YKVk05ckUwRVUvalp1cWRBaUNGcHJEcko0
a0NKSldhdG9SZFEyL1JGaWF3emJIN1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApCLytB
SG5yd1pDOUtoVnBGS042cktHS2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FC
T1FOeDFLaUVXbHNmRUpxCi9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdk
N0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9VNTVl
TUcxRHlzOXhGa2lmRUExTGM1L1RiaFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNiSQpF
TDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBP
YkVoajBjR0RYMCtHQVZ0eHFwCitEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZ
QnpXa2hQMTB4dStMcUhCWDBtMXhPdjRuZFdVZUY1anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5YURV
aFFFRVVFWVppd1VFQ0dQQm94TkxKeVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050dzl0MUdrM1R6
KwpLQ0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhq
amMwMWVmSlhVZHBOWFI1YXNlWHE4Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1Y
alZmUHFTNFIxV2pFMzM1OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2SlBtVmZs
UFh2WHgvR2ZOeEdQaUtURW1kb3JuSVltWHhTN3hrdGhMcXd2aVlHM0hDSjJWaGluU2JaSDZKTlZn
WUpxOAo5UzlkUDF0NHZVWi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVm
S0FJdmJPREltYnB0VTNIdkVLRmxwVzV6CnJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhn
dkFFY2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pWV0xw
ZHRpWjB4MXVIS0U1UXZmRXAwcGxrL3F2OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2YjhDOC9VWEFl
SXVKQUFBZwpBRWxFUVZSNEFlemRCN2drUmJrdzRGcFlSSUlDb3FpWWM3d0tSc3dKeFp6RFZjeUtl
czNaMzV5dWltTEVnRmtVYzQ0b0tpSkdqS2lZClVFbFhCQVFrczJ6dXY3NDY5bXlmY2FibW5OM2FC
Zkd0NTlrOTAxM2QxZFh2OU16MDExWFZ2YVRMS1VrRUNCQWdRSUFBQVFJRUNCRFkKQkFLYmJZSnQy
QVFCQWdRSUVDQkFnQUFCQWdTS2dBREVnVUNBQUFFQ0JBZ1FJRUNBd0NZVEVJQnNNbW9iSWtDQUFB
RUNCQWdRSUVCQQpBT0lZSUVDQUFBRUNCQWdRSUVCZ2t3a0lRRFladFEwUklFQ0FBQUVDQkFnUUlD
QUFjUXdRSUVDQUFBRUNCQWdRSUxESkJBUWdtNHphCmhnZ1FJRUNBQUFFQ0JBZ1FFSUE0QmdnUUlF
Q0FBQUVDQkFnUTJHUUNBcEJOUm0xREJBZ1FJRUNBQUFFQ0JBZzBEVURPT2VlYzlOZS8KL25XcTZq
Lys4WS8wNXovL2VXcit0SXoxWFc5YWVSZUcrUmNtazVOUFBqbDk1enZmU2FlZGR0cUY0YTJ4RHdR
SUVDQkFnQUFCQWhXQgptUUhJUGU5NXo3VEREanVrdTk3MXJ1bkJEMzV3Mm56enpkTlZybktWOU1B
SFBqRGQrdGEzTHRNZitjaEgwc2MvL3ZGMDZVdGZPaDF3CndBRlROL2V5bDcwczNmZSs5NTJhUHkx
amZkZWJWdDZGWWY2RnhlUzk3MzF2K3VRblA1a09QZlRRZEwzclhTK3RXTEZpZzkrZU5XdTYKOUtj
L3JVbWYrOXpLOUgvL3QzYUR5MXRNQVYzWHBiUE82a2FyOU5QTGxuVTV5RnFWOXQxM2VUcnV1RFdq
L0UzMVl1M2F1VHBGZlk0NQpaazM2NmxkWHBsLy9lblVhbjk1VTlka1kyNGw5akgzNjZFZFhwQ09P
MkxUR3ZlL0cySzhOS2JNLy9xYVZjWDUrVnNicmRINS9Sc2JyCnM1RHBTZS83WC8rNk5vWHJwRFJw
K1ZpdTFiSDd5MSt1VG9jY3NtcnE5bWZsOTNYKys5L1hwZ01QWEpYaTc2UTBLMy9TT2kzbm5YWFcK
V2VublAvOTVpb3RYa2VhTzg3TmFibUppV1NlY2NNSm9tMmVjY1VaYXRXclZ2T1ZtNWM5YmVHeGk1
Y3FWNlE5LytFTmF2bno1V0k1SgpBdXNuc0hidDVNOXZYOXFzL0g2NWpmVjNaZ0FTSDdCZi92S1g2
UnZmK0ViNjlLYy9uUzV5a1l1azI5Lys5dW16bi8xcytzRVBmcEQyCjJXZWY4b0Y1Mk1NZWxxNTBw
U3RWNi9tcVY3MHFmZkdMWDZ3dU15bHpmZGViVk5hRlpkN0dOb2xBNEpCRER0a2dybGxsbkh2dXVl
bloKejM1MmV1cFRuNXBlK2NwWDVvRGhjMm5MTGJmY29HM0d5dWVkbDlJM3Y3a3FQZWhCNTZhdHR0
cmc0aFpWd0ZlK3NpcTk4NTNyZmtENgo2YzN5SiszWVk5ZW01ejczdkhTSlM4ejgyQzFxbTdNV2pw
T09TMXppekhUaWlXdnpEMlpLdi9qRm1uU3ZlNTJiOHUvZHYwelBLdXVDCm5CL2Z0Y2NmMzZWSFBH
Slp2akN5NldvNjlOMTBXMTNZbHZyamI5clM1K2RuWmJ4TzUrZG5aTHd1QzVrZWY5OVBQWFZ0ZXNJ
VHprMG4KbkxBMnZlaEY1NlVQZkdEK3haVHg1WWZiMk5Cajk4Z2oxNlE3M3ZIc2RNWVpYZHArK3lY
NVF0KzUrVGQ3M2NueHJQeStMZ2Njc0NKZgpiRHc3ZmZ2YnE5S2Q3N3cwWDFTYy8xMDFLNzh2NTh0
Zi9uTCt6cmxFV3JwMGFYcldzNTZWSHYzb1I2ZmIzZTUyNldNZisxaS9TUG43CjdXOS9PLzNYZi8x
WFdySmtTYm1vK2NJWHZyQXNmNWU3M0tXc0c3OFJmWXFUcGRlOTduWGxJbWI4WHZ6bU43OUplKys5
ZDlwdHQ5M1MKelc1MnN4d3MvYjFmTkxYZWZnUVd0N2pGTGRKTFgvclNzZzl4WVRhMnVWa2N0RG5O
eWovb29JUFM1UzkvK2JLZkwzbkpTOUt5WmN0RwpkZjNwVDMrYTduM3ZlNmNuUGVsSjZVdGYrbEs2
NlUxdldneUdGK05pK1gzMzNUZHRzY1VXNmVFUGYvaG8zWGp4MjkvK050MzJ0cmROClY3M3FWZFBC
Qng4OEw2ODJVYXRUYlQxNS94NENjZDRlbjhFVFR6eHhZb1ZuNVU5Y3FmWE1mT1dnbW5MZ01TLy9v
aGU5YUplL1RFYnoKY3JlckxnY2laZm9HTjdoQjk5clh2bmFVdDlBWCtZdGxvWXZPVzI2aDYrVWdh
dDU2TFNjV1dvZUZibk5hZWRQbUw3VGN4U3lYcjhSMApEM3JRZzdyOEpiK1kxYnBoSFJkU3hvOS8v
T011ZjZFdWFoc0xYZmlBQTVaM043N3htZFhGano5K3piejg4ZWw1bVF1Y3VOLzl6dTVPCk9HRmR1
Y1BwZDd6anZPNzJ0ejlyZ1NXMVcrelVVOWQwTDNqQnVkMktGWE9mczBNUFhkbGQ0aEtuZDJ2V1RK
NXV0K1ZOWDlMblA3K2kKdStJVno5aWtHeDczM2FRYm43R3g0ZkUzYmRHRmZGYW1yZHQ2L3ZuMUdW
bWYvUmgvMzkveWx2TzZ4ejcybkZMVXozNjJxcnYwcFUvdgpWcTllOTlzMnZ2ejROamZrMkwzdmZj
L3VudkdNYzBkRmZ2YXpLN3FiM25UZDk5K3MvUFBPVzlzOTduSG5kTGU4NVpsZDFITTh6Y29mClh6
Nm1yMzcxcTNkM3ZPTWRSMWs1RUlsbW9TNjNYSXpteFlzSFBPQUIzU1V2ZWNsc3RYbzBQMzVMSHZP
WXg0eW1UenJwcEc3MzNYZnYKN25PZiszVHgyekpNWC92YTE3cmNLMk00cTd4dXVmMm5QLzNwM1NN
ZThZalJObkxMeTd4OW01VWZLOTc4NWpmdnJuLzk2NC9LaUJmdgpmT2M3dTN6aHRqdjIyR05IODJQ
ZmN6RFIvYy8vL005b1hyd0luM0NLMzh5Ly9lMXY4L0plL09JWGR6bm9tamR2SVJPVDZyU1E5Uzdv
Cnl4eWZyMFJka05MNVVaOVRUejAxLys2L0lQL3VyeGhSRE9zeEtYKzA0Q1o2c1hSV1FMUEhIbnRV
RjlsbW0yM1NyVzUxcTlFeStjT1QKb252US92dnZueTUrOFl1bnIzemxLNlhMVmtSaDBUM3JDMS80
UXNvbm5tWDVUMzNxVTZYZmZ6U25SdVQvb3gvOWFGUk8vMko5MTR2MQo0MnBBTk5QRzFaVW8vejN2
ZVUvS1h3QjkwYU8vRVFsRzNxVXVkYWw4eFh5cjlOYTN2alhsTDdYU292UDYxNzgrWHpIK1JZcnhM
Zm5MCm9seHRpUlhqaXNUem4vLzh0Tk5PTzVXV29JZzBkOTExMTNUTFc5NHloY2xpeTV0bU1XbitK
Sk9vMy8vN2YvK3Z0Q0FjZGRSUjZZcFgKdkdLS3VzZitSRXRHMUNldXdGem5PdGRKT1Vnc1YxSysv
dld2bC9kbUJQSFBGN0gvY1FYcEwzLzVTNHF5M3ZXdWQ1WDluMll4cVk2VAp5Z2lYUHIzLy9lOHZy
V2o1U3pVOTVTbFBLZlY4NHh2ZldMWXpiVCttdlU5eEpXbzhIWFRRNnJUSEhsdU16eDVOZi9heksw
c1hyVTk4Cll0c3liM3g2dE9BaVhzU1Z6MGlYdld4L1ZXeis5TmUvdmpwZlhaeGVwMFZzYWxHTDdy
ampadmxLNGRhamRhSWV1KysrTkYrOVcxTG0KalUrUEZ2dzNmUEdGTDZ4S2Q3dmJ6SysxcG5zMjd0
dTA4QTBvYlB4NG5GYlVyTS9LdFBVMnh2eno2ek95UHZzeS9yNC84WWxiNXQrRgp1YTVYWC83eXF2
eDl1MWx1aVp2N2pFWDU0OHVQYjNORGp0MW85VGo0NEZXNUMydVhmd09XcEovK2RIWGFaWmQxellD
MS9IdytuNitnCm41MTdONlRjYW5LeGRMR0xyYXR6MUhGVy92aCt4UFF4eHh4VGZqK2U4WXhuakxK
dmVNTWJsdGM1bUJqTmkrLy8rSjIrMy8zdVY3cHoKUjBhY0Q4UzVRN1IyUklwZUdOSGlrQzkrbHQv
bGFBVVlwcnZmL2U0cGVnUU1VOHZ0UjdsUnh5dGYrY3FqVGNTNXdqT2YrY3pSOUt6OApHTjhZNXlM
Und0T245NzN2ZmJsRi9MbnArOS8vL3J6ZUkzRytjcTk3M1N1OS9lMXZMNy9oRjd2WXhjb3FoeDEy
V01wQldUa1BlY2M3CjNsRit4L3V5NHJmeEZhOTRSVCs1b0wrVDZyU2dGUy9nQzBYdm5PaE44WWxQ
Zk9JQ1VkUHpxejQ3N3JoamFTSHNFY2JyTVo3Zkw3ZEoKL3k0MjBCbHZBUm11SHkwZytVdW15ODJx
WFI2TTNsMzcydGZ1SHYvNHg1ZEY0b3BCYm1Jc0VYek1pRmFKbTl6a0pxUFY0K3JJbXR4eApkanl0
NzNvUjlWM3VjcGZyOHVEbVVtVCtjSllyTGVQbHgzUmNpYy9qWExwZGR0bWx5MjlTOThRblBySExm
VEc3dTkzdGJsMytNaXoxCmlubjVTNmM3L2ZUVFN4SDV5NkY3em5PZVUxNGZjY1FSNWNwT1BrRXZW
eklXVzk0MGkybnp4MDJpRXJrSnRzdGpjVXA5NGdwUlBpbnYKOHBkMm1ZNnJSOWU4NWpYTCs1RUR3
bExIYTEzcld0MWVlKzFWOGlmOWw3OXNSNjFaY2VWbG1zVzBPa2Fad3pJbWJTTjM2ZXR5RS9hOApy
TnArVEhMOTA1LytORy85bUlnclNISDE4WHZmVzluOTVDZXI4cFd6cy9KeGVXWSs1dGFXZjg5NjFy
bmQwcVduNVgwNks1c3Q3NGJUCkgvclE4dTVOYnpxdnU5clZ6dWcrK3RIbDNUNzduTmZkNkVabmRn
OTV5TmxkWEFYc1Uxelp2TWxOenV6ZThJYnorbG5kYTE2ekxGK0YKV25lMVlUaTlmUG5hYnV1dFQr
dCsrTU5WM1p2ZlBGZm1ReDk2ZG5mbW1YTjFpbTFlODVwbmRGLzcydHpWdmRpSE85M3ByTzViMzFw
Mwp0ZStYdjF6VjdiMzNlZDBuUDdtaWkzV2ovQi8vZUs1MUw4cTgxYTNPSFAxNzhJUFBMdnNhVjdk
MzNmWE03bVV2V3phcTV5NjduTm05Ci8vM0xwMDVIblY3ODRtWDU2dHg1eGVLT2R6eXIrOUtYMXUz
WGFNVi92ampyckxYZFMxNnlyTnQvLytYZHkxKytySHZkNitaTXdtc2gKbHJHdnNhMFBmR0I1OTkv
L2ZYYlo1MlhMMW5iNzdudGV2bXA0WnZlcFQ2M29mdldydWZjeHJ1cjJMVGV4K1hQT1dkdTk5S1hM
eXJLeAovQTQ3bk41OThZdnI2anB0WDZMOGQ3MXJlWGVGSzV6ZUhYamd5dTUvLzNkWk9XWSs4WW5s
NWNyeDYxKy83bjA5OHNqVjNkdmVOamNkCnJVaHhiTVY3RVdub3U5QTZseFVILzAzem0xYkhQLzFw
N2tweDdYaUk0b2ZIWDB6SGV4cEdqM3JVT2ZscTd0eVYrdHBuSmRhSk5LMSsKUC9qQnFrVlp6WlUy
L2YrTi9SbVp0T1hUVGx0VDN2djRyTC82MWZNL3Z6WGY0ZnMrWHU1QkI2M3Nybk9kTTdyLys3OTF2
MmVUbHA5MQo3STZYVzV2TzQ4cTZIWGM4dlh6WHhlY3ZQay9EMXBkYS9pdGVzYXhic3VTMGNrdzg2
RUZuNTkrTnM3dnZmbmZkOTg2cy9FbjFpdC9ICmZDSlR6Z01pLy9lLy8zMlh4L2gxdVd0Vmw4YzRq
RmJKWS8vS2N2M1Yrenl1SWgrM3J4bmx4NHU0dWg5bGZmT2IzNXczdnpiUmN2dXgKbmJlODVTMmxE
am1BbUxqWldmbTU2MWxaUDM3RElvWEgxbHR2WGM2SkpoVVk1eHV4ejhjY2M4d29PN2FkQTQzU01w
SlBIcnQ4RWJUawp4Zm5Bc0hVbVpzWnZkcHhmdmVFTmJ4aXRQLzVpV0tjb0szZnhLcTAwK1lKaS9y
NzlWV2x4eXQzQjVwMlg1YUFsZjE3K04vODJmalIvClhsNDlyOVVsenBWeTk3TDhPN0IvL2gxNGVm
NGRlRjNaWkpTZEwyTG03OW9yNU8vYUE4djZlYnh3bDd2UVRaemYvNmJQL1M2OE0vOHUKZkNEL0x2
eDMvbDM0MW1nWEp0VWp6a1hpUERKMyt5dm5LN0YvazlLa2Rmdmx6anp6ekhLOFJjdlVtOTcwcHRM
S2xTOWVGK3RKKzFDcgo2Nno2bkhkZS9MNitLWjlyWEsxNDV1RU0rVnpqUnZsYzR5SDVYR1BkNzg4
MDE3N084Zm1JOSs1UmozclU2RGpJRi92ejcvNnUrWGYvClpmazg0RjlkaHZsOU9kTzJzOUJqb3k5
bk1YOWo4TmFpMHF3QUpERDZGRTJJZWFCNlAxbWFHK09ERSttVVUwNHBCMG8wbjBhS0QyUjgKYUNh
bE9CZ1d1MTRjdkU5NzJ0TzZmTGVvVW1SOElWMzN1dGVkVkh5WmwvdDM1cE82aDQ3eTg2RDZMZys4
enllRVh5di9Jb0NKTDRRNApHQ1BGQ2Y2d3Uxa0VKeEdBOUdreDVVMnptRFkvdGpFMHlTMFo1VVIr
MkRUOTduZS91OVEzdHlxVktrVUFFZDJxK2hUdlRaenNUMHNSClBQUmZJRFdMV2gySFpVemF6bmdB
c3BEOUdIZWRWTzdoaDYvcUxuN3gwN3JERGx0VlR0Wi8vL3ZWMmVLMFVkZW9rMDVhVTM1dzQwYzUK
MHZoMG5PREY4bkZTR2llY2YvLzdtdXg3MnJ3VDIxZ3Z1aXg4K3ROeko3dHh2TjNtTm1lTmZ2VEhw
K09rSkU1YzMvakc4OHIyVGo5OQpUYmZOTnFkMTczblAzSTl4ZE5uWWZQUFRTa0FTWmNjSlFKd1Vu
SHp5WEIzLy9PZlZaZmx2ZjN2dXhLQS9zZS8zNGJuUFBiZjcwWTlXCmxSUDFxSGNZUklxVHh5ajNr
RVBtMWp2eHhMbDk3MCtPeHFlaisxaWM1RWZnRmlrQ3B0ajNxTytrRk51LzN2WE95SUgrWFBteFRK
d0kKeGY1RW1tVVpKNTMzdXRmWlhRUitrUjcvK0hOR1FWMmNBRWFnR0NlNjRSelQ4YjcwWFVUQ1py
ZmR6dXkrLy8yNWJVVmdkcEdMbk5hZApmZlpjb0Roclg4SWd5byt1THovOTZhcnVWYTlhVnRiOWYv
OXZXWGYvKzU5ZDZoUHY0eDN1Y05hODdpMWgvYnZmelgxWGpmdk9xbk1wCmRQRGZMTDlwZFp4MVBJ
d2ZmL0UrYkxYVmFlVjRqZ0F1OWlIU3JNL0tyUG90eG1xdzJ4TmZidXpQeVBoR3d6Q085ZmdiNlpX
dlhOWTkKN0dGemdka3MzL0gzdlMvN2IzOWJreTkwbloxL2QrWi9Yc2FYbjNYc3h1YzhndWxwLzZK
TDFURDk5cmVyODRXemM4cjNYbHhZaVlzdAp3elF0UDc3YjRqUHo5S2V2Njc0VkZ5ZTIzZmEwTHI0
Ylp1VVB0ekY4blh0T2xJdU4wVjA3dDd5UGZrdmpaR2lZY2krQzBxVW9mby95ClZmOXV1KzIyeTUv
SHp3OFhLU2V1OFZzeW51TEVLRTRZKzMvRHdLYmw5bU83OFhuS1l5L0tiMm9lZHpKZWxabjVlWXhz
dVlEWlgyU04KNlRpZmlKUHdTU2wrbTdmZmZ2dDUzWm9qZUl0NnhNWFIzRXJTeFc5OHBMandtSy8y
LzBzeGozdmM0L0wzNXFmL1pYNC9ZN3hPRWR6RQp5WHQwcVkvMVlqcnFHRjExSXVVN21PYlB5MDNM
MzVpT0x0cFJScVRqamp1dUJKajlCZCtZRitkc1Avdlp6K0psRHNiL3I1UWQ3MjBlCjg1Sy9hMStW
djJ2UG5qby8zc3M0SGo3MG9RK1Y5ZU5DZGg5TTFlb1JGMXZESnVvektkWFd6ZU40eXY3OTVDYy9L
YXYrOEljL0xPZFYKL1VYbmFmdFFxK3VzK2tRQUU4WVIxTVZGOHp5T3FXd3pqNVV1ZFpqbEd1dm5Y
aTVsM1RpMmNvdGFXUytDaVh6RHFQeTdmMGlaSHEvSAplUDZzN2N3Nk5zcEcxdU8vNWdGSVJNQjll
dEdMWGxSYUZmcnBpQ0NqRDJPZjhsMjFDdmFUbi96a1VUVGY1dzMvcnU5NlVVYnVRcFN2Ckd1L2Q1
YnQybFMreVlibkQxOUZYTmZweDlpbUNsejMzM0xORTNSRjU5Ly82UG5SM3V0T2R5Z2VrWHo0UHBN
c25qZC90SjB2a3ZKankKcGxsTW16ODBpUytDdUtJd1RQMlhSd1Fxa1hJemRSZGw5U20rK0NPSW1w
YmlDNy8vb3AxbE1hMk93ekltYldjOEFGbklmb3kvVDVQSwpqVmFDMjk3MnJISjFPdkxmKzk3bDNU
V3VzVzVjUUZ6dHZOYTFway9IOGpGR29qLzVYN2x5YlRsUjNXKy9kVmZ1eHJjYkorQXZmT0c2ClZv
Yng2V2MrODl4eVl0NEhETEgrVmE1eVJta05pZGZSZ2hFbjAzMjZ6MzNPenArZGRkTnh0VDVPN1B1
cm1uR1NzOGNlNjhhVDlPTTcKSW5BWXRwcEVhMEFFWTdFUGthS1Y0dHJYWHJmdjQ5TlJaZ1F3Zllv
cnQ5SFNNeW5GaVd3NFArMXA2MDVlWXJuWVhtODF5ekw2cmQvMQpydEhLdUxhME9FVXJUbi95Rm4z
cW93VWs2aERwZmU5Ym52dFFyNnQ3QkM3Uit0R25hTFdJWUtGUHMvWWxBcFpvZGZyNHg5ZTFtTVM2
CnNiMGIzR0J1bnoveGlSVmwvNklGckU5OUMwOU1qL3ZPcW5OZlJ2eGRpTiswT3M0NkhzYVB2d2dn
b3dXdWJ3azc0NHk1NDZIMldWbEkKL1Jaak5kejNTYTgzOW1ka3VNMDRRYi9aemM0Y3RXd044K0wx
TE4veDk3MWZQNEtZQ0tySDAvanlzNDdkOGZWcjA5R3lGYTBVOGQzdwo4NSt2Nmk1MnNkTzZaejk3
M1dleWx2K1ZyNndvRnpyNnoxeHM1OWhqNXk3QWZPRUxLN3BaK1pQcUZlTkM4ODFFeXRYWGFOR0lF
NlI4CnM1RkppNWFUMXJqUTE2ZjR6WXoxK3hRblRuR0NGaGZReHRQaGh4OWVBcHZJajliOEk0ODhz
aXpTY3Z2RGJjWUZ2cWhyYk8rclgvM3EKTUt1OG5wWWZGMVp6RiszdWtZOTg1R2lkdU9vZGdkbWtG
Q2U2Y2ZJWVkxNzZGUFBpQ25lZndpTjNweTRCU2JSKzlDZkpmZjZzdjVQcQpGSzA0TVNZa3JvNUh5
bDNFUm1OV0luQ004NFczdmUxdC8xSjBuUGhHd0JUbkNjT1V1OUhsMzRIOXlxeDhwOHZTQ3lNdVpn
N1R0UG01CjYxNnhqcktqdFNWMzh5OFhrMnYxaUhKajJlamRNU25OV2plQzFnZ0UraFFPdzE0Nmk2
MXJsRk9yVCtUbnU0Q1dZeU5hc1NMRk1SUkIKWUxndHhEWGU5MmhKaTVhT1NQRjVpeFFCVFBqM0Y2
WEg2ekhNWDhoMmFzZEcyZUI2L25lK0JpRHhJY2o5S0V2RW11OWtVYTVrVE5xUAo0Y2wyNUM5MHZi
aENFRmN0NGsySU12SzRpRW5GbDNuako3YlJHakxlckRsY09iNkFJcGlLS3hqeHhSY2YzR0ZhYkhu
VDltbmEvS0ZKCkREU0tMNnk0b3RDbitMREZnZHhmTmRpUUFHU1d4YlE2TGpZQVdjaCtqTHYyK3p2
OEd5ZWgwZTBxcmhaRml1NUl3eXQ4ajN6a09kMVQKbjdydUIzcDhPazQyaDh2SFZlSzQ4aDdkZ0th
bFBmYzhwL3ZMWCthdXBNWXk0OU1SOE1RVjlqN0ZsZElvczI4cGlCT1M2TVlVNlJlLwptQnZBK3Z6
bnI2dGoxQ0VDbGdnMGpqbG1kYmZ6enFlWDFvbSt2UGdiOCtPRWVaaWUvT1J6UjFmelkzNTBjUm9P
VmgxT2YrNXpLOHFWCnoyRnJSMXhOalFIc2sxSjBYWXA5T1Byb2RmdmR0M2hFaTBLa211VWYvemgz
b2hNRGQrUEVPTjhhZUJRb3hib1JRRVQzdHo1NGlybysKNXpsemRZbFdpemloN2x0RFl2bGIzT0xN
M0FvNTEzUzlrSDE1ekdQT0tZRnBYMzZVRVNsYWl5NTV5ZE83dUNsQmROR0wxcG5iM1c0dQpzUG5H
TjFaMnYvNzF1dU5nM0xkVzU3blMxLzIvRUw5cGRaeDFQSXdmZjdIVmFEV0xGcDg0U2UxVDdiT3lr
UG90eHFyZjVyUy9tK0l6CjBtODczc2M0ZHFPTDNxUTB5M2Y4Zlk4eW9pVTF1bjFPU3NQbFp4Mjdr
OWFmTmk5dUtCRXRxOE1XandqVXQ5OStidDZzL1BpOHhQZksKTUVXd0ZEWVJ4TTdLSDY3WHY0NWVB
bkdTSGxlUUk4V0Z2RHhXY25ReTFDOFhBNjlqdVR4ZXNKOVZydTZQSnZLTFBONnhMRE84OGMwdwov
d2xQZUVKcE5SbTJmclRjZnZ5bURnZnhSbkFUWFluNjRHQldmdFExV2hSaVAvdldpT2hlRTlOM3VN
TWRocnN5ZXAzdnRGVXV6UForCmtSRW5wTU5XanJnNVVKUVJYYXJ2Zi8vN2o5WmQ2SXZ4T3NWNmNR
SWVYWUQ2azlibzl0UjNNKyszRjYxTjR5bTZWVVZkamo3NjZGRlcKZjJVL1dqc2l4UTBGcm5HTmE0
eks3aGVjTlArUGYveGpLZSt4ajMxc09iR09jNjIrVHJWNlJKa1I1T1c3YXZiRnovdGJXemVQR2Nt
LwpmZHZPQytRaXlJdHprajR0dHE2eFhxMCtrUi9kcllZWHFpT29Ec3ZvQXJjUTF5Z2p1bkhGdWQ3
dzVnNXhVWDk0WEl6WFk1aS9rTzNVCmpvMm93L3FtOHkwQWlTK1dhUEtLbEc4SGw3dVhiSk83bzd4
bjRuNE1UN1lYdXQ3dmZ2ZTc4aUdPS3lpUkZodUFST3ZOWlM1em1YbDkKOGVLRTlwQi9ObW5GNitp
VEdTZjQwZGN3bW9PSGFmeEV1VmJldEgyYU5yL2ZuNzQxNlVNZitsQTVhSWZObjNHWGpQNExLcFpm
bndDawo3MUsyUG5XUGJVWUEwcGNSMCtOcHZBVmtJZnN4N2pwZVp2U3JqaTRGQng4OGR5SVE3MU8w
SE1RSlI1OHVlOW5UNTQxcEdFN0g4cGU2CjFQemxuL0NFYzNMM3RYWEJYVjlPL3pmNmtjZUplcC9H
cCtNRVBicEJ4UWxLbjU3MHBITnljRHgzcFMrdVhHNjMzZW5seExmdjl4L2QKczRZdEdiRmVCQUp4
OVQyNnFzUitEbE9jU1BXdERzUDVNWllsVGtnaXhSWHRhTm5weDVtTVQrKzExem01NVc3ZGZrUVh0
dWgrTmJRYgpsaDNqUGNKdW1LS092Y1VzeTJnZGlmMGVuanoxWllYRFJTOTYycWgxSXNyYWFhZlRj
ei93dWZjeDZ0b0hCYkZPbkFqSFNWTWZKQzVrClh5S0lpekUrNCtrM3YxbGRyZ3BIVUJSR1gvLzZ5
dEppZHRSUnEwc3J6WEQ1b2Urc09nL1hpOWV6L0dLWmFYV012R25Idy9qeEY4RnUKcE5pWHVNdlJu
ZTg4OXg3UCtxd3NwSDZMc1NxVm1QTGZwdmlNRERjZG42TTRjYStsYWI2eHp2Qjk3OHZvVzVYNjZl
SGY0Zkt6anQwNAoxcU9WOHZLWFAzM2l2eGkzMUY4a2lDNmQ0OTlORWRoSDk4Mm96Nno4K0o2TXNX
YkRGQmRuNGpzd3VqTE95aCt1MTcrT29DQzZEOFdGCnFVanh1eFMvUmZrR05QMGk1VyswenNmOE9P
RWNUM0ZpSFZkbUk4V0Z3MkZYN3VHeU1iWXgzOEoyT0t0cnVmMFltekxzMlJBYmluRUcKTWQ0MTBx
ejhXQ2JPRStMT1ZmM1Y2WmdYWGJiejR3emk1YndVNDBtanhlaDV6M3ZldlBuUkhhbnZUaDRaY1l4
RUMwaTBvdVNidDh4YgpkaUVUNDNXSzg1Zm9YdCszVU14OTMrNDBHbmNUM2JISGUxbjAyM241eTEr
ZWZ3Y3UyMCtXdjNIaVBteTEybm5ubmZOMzdUN3psb21KClNmT2pWU0M2NHNWRjFQRlVxMGNzRy9Y
b3U4a3ZadDFvUVl0eml6N2xBZi9sL0RHQ2xqNHR0cTZ4WHEwK1lSekh3WEFiY2V6MlhlVm4KdWZa
M1FvdlBTYjc1VWY1ZXYzTmYxVEt1SkZxdytqUmVqMmlCNi9ObmJXZldzZEZ2WTMzK3pyL0pkLzQy
cUtVTWx1K0lzWExxRTZ0egpSZWZkM3pwSCt2bVpEUG1oRFA5TWtSL1R1YUlwbnVRZGQwK0tGUGY4
enJmWFN6a0MvZWVTOC8rc3ozcnhRSitvYng1YmtoL0t0S1k4CjZDNWZKU25ianUyUHAveGxPYSt1
K2FwTnVhOTRIZ3lXY2pOWGVmaFEzR2tqUi9GbDFkeGRLT1V2djVTajE1VDdRWmE3T0EzTFhFeDUK
MHl5bXpZL3RERTN5QVZ2dWNKVzdpWTJxRUhmY3lEY0JLQStRakpueHZvVkhuMkw5Y0ptVzhnOUlm
cWJDOFNVNzdrQVM5MWlmWkZHcgo0N0NNTUJ4UHVSOWlxVlBVSmRKQzltUGNkYnpNNzM1M2RiNkR5
cEowKzl2UDNRbnA4TVBYcEhQUDdkS05iN3g1dmx2WjZ2S0F1ano4CktOK3hiR20rdTluazZiaVgv
bTF1TTdmK29ZZXVTai81eVpyMDduZXZ1NHZVNFlldnpuY29XZmVzajQ5K2RHVytOL3VXbzZxTVQz
LzkKNjZ2eXNiTFo2Sjc2OFlERVgvOTZUZHB2djdreWYvV3JOZVh1TmJ2dHRqU1h1eUpkL2VxYjVm
Y201VHVXYlo0T08yeDFLVGZ1Y0xQZgpmaXZTRmE2d0pOM2hEa3Z6bmRiVzNha21mLytVK3V5MVY3
Nk56U0FkZSt5YWZCZXp0ZVYrL3ZGd3NyRElGL0R5QTBTWGxnY1Jqay9IClI3Vy93VXovb0xFbzdu
clgyenl2TzFlUDNFMDEzMzNsdkh4c3JFMDN2T0htOCs2WTg3dmZyY2tQTDF1ZG4zOHdkN2V6ZUJo
Z3pmSnkKbDl1czNEVW8zbzlJdWFFeTMrVm03dGtGOFQ3R1hYbnVmLys1Tzk1RVdmR0F4N2l6VCt4
THZqQ1p0djduV3hKMS9mQ0hWMmJmSmVuSwpWOTQ4L2V4bjhWbXU3MHVVRjcwN0h2N3crV1pSajdo
ajBKTE1lNjk3YlZIdUZIYlp5eTRwejNiNDNPZFdwVDMzWFBjK2ovdk9xbk9VCnZWaS9hWFdzSFEv
ang5ODczN2tpeFRNcU5zdDNQZHR6ejR0azU2aEpTck0rSzdQZTN5aGpvVmF4YkMxdDdNOUliSHRv
Zi9PYmI1Ni8KMDd2aUVubnhHUXJUUHRWOHg5LzNXQ2VmditVN1BxNHMyK2pMNlArT0x6L3IySTI3
SVAzODV4ZFBmL3pqZGxQL2JiLzkzRS8zTFc2eApORCt6WS9XODdYNys4eXZ6NytrV2FidnRsdVJu
VjlUemIzdmJwZm4zclN1L2kxSGZrMDllVys0TytPWTNiNVYvajVma3UyUFY4L3Q5CjdQL21rOGI4
M2ZMVi9QMTVtOUZkcmZLSmRybmJZdHlKY1pqaWpwajVSakVwZDVrWnppNTN5c3dYcDBiUDJIanpt
OStjY210QStRMGYKTHBoN0h1UUh6djRwMzlGdjk5SHMxdHVQYll6ZlRTa0hKT1djSlRZNkt6L09O
ZUxaWjdrclQzNC90aHZWTTU3bEVmc1V2NEY5eXEwcgo1VmtvOGN5VTNCV29uNTIvUTgvSXgrbXA1
WmtPL2N3NFJ1SU9ZL0ViSGIvUHc1U3ZvcGM3YUEzbkRWOVBxbFBzVXp6akxWODFMNHZtClFLalVM
ZCtZcDl4Rk0vZndLT2RBVVk5SWNlNFFkLzZLRkhjMzYrL1VGZFA1NG0vK0hUZ3cvdzU4SUNiemIr
NFIrYnYycEg5NWZzbTAKK1hGTXhEbEJIbDlhMW85emw3Z3JhYVJhUGFLOFdDZnVSaHAzTGgxUHRY
WGp2TFMvdTFxYzYwVDlJOFhEa2NOemZlbzZxejZSSCs5dApmRllpeGNPWTgvaVRmSzd4N2pJOXl6
VUg4T1c0aUdmUnhQbHFPRVhLTFl2bDdxVTVJQ252M1hnOXh2Tm5iV2ZXc1ZFMnVyNy81WU54ClFT
ay83S2JjSFNwdnAwU24wZXd6Ykk2THUwZkZIWTFpb0hjMEk4VVloSWpRbzJrb3JoTEV3SjRZUUJ6
clIzK3lXQ2Fpc0dqMWlJZzEKbW9RbVJienJ1MTUrZ0ZFWmZ4TE5hdEYwRm9QSm82OWNkTWthTnFu
R3prY0xSclRBUkpRWWQ0RG9VelI3UnQxRTIxRUFBQ0FBU1VSQgpWRi9XR05RVWtlcndDazUwSFl0
OWlYL1IvU211RHNRK1JObUxMUzlzSjFsTW16OXVFdHNNNzdDUHF3elJwQmJOcHpGWUxWTGNhU1N1
ClNFVUVIM2ZoaU9hOXVFZDY3TnUwTzR0RXEwZnNkelNEeHNDb2FSYlQ2aGpiSFM4ajV2VXByakRr
RDE3eGk0RlRNVlluVW0wL3BybjIKWmNiZkdJOFEzVS82RlAyWTR5cDd0QTdFRllmUGZHWkYzdS9U
eXJpUVdHWjhPcnFwUkIvcUdBUWVBOFNqdkJoQU9rd3hnRGRhS1BxKwozdkZzaitFZHNzYW5veDkv
M0lVcnJpYkdHSUhva3ozczloTmRZdnE3ME1UQXo3ampWSFF2aWpzVzlTbTZiY1M0ajJqQnVOS1Z6
aWgzCmJ1cnpvbHRTWFAyUGdkTnhGZjZVVTlhVXUzRkZsN0JvZVltdVgxSFh1R05XbFB2V3Q1NDNj
VHIyT2NxLys5M1BLbGRPb3pVaFdwT2kKUDN5ZllrQi8xRFhHamtSM3NPZzZGczl1Q01jWUF4Tlgz
L3MweXpKYWZxSUwwTld2ZmtZWlFCdmRQZnFXbmVnQ0YxMnUraFF0SERFdwpOdW9TNzJPMEFzVllr
OWpudUVOVlBQY2dXcm8rK01HNXVzN2FsMmo1aVBFbWsxTHN3N0NMWGd6RWpaYUQ0WHNjNjQzN3px
cHpyTE1ZCnYxb2RhOGZEK1BFWG40Y1lYQjAzS1lqdWhqR29QOUtzejhxczl6ZktXS2hWTEZ0TEcv
c3pFdHNlMmtkclVIUVBqRzU3Y2Z6RVhhT0cKM2JGcXZ1UHZlNVFkZzhiak05aDNQWXg1ZlJwZmZ0
YXgyNiszMEw5aEZ5MDZNUjRuV3UyaWkyWGZRaEpsek1yLzJNZFdsSzZONzM3Mwo4bUlTM1JlSGFW
Wit2MnowUjQvZndQaE5qTi8rWVJlaUdIUWM4K05tTHZGN0ZiOVRNUjIvUVRGMklNYU94cnJSQlNq
bUQ2OEtSL2x4CkRoSFB4b2lXZ2VpS0ZHTVJZaHY5NzFNc3N6RzJIM1dMVnBZNGIvak1aejdUM2Zl
Kzl5MWRwMklRYjZSYWZweURSRXRBN0U5MDJ4cjIKVU1nbjJOMmpIdldvL0t5cUc1ZkI1TEZmY1FX
Kzc2WlZDcy8veGRpUEdId2V2OS94dXo1TVVmNXdqRUtmRjcrbmNUNHo3SmJXNTAycgpVM1FEaW5P
R1BoMXl5Q0dsUzFMMEhJbnYyN2pLSHQyRjRod3U3S1AxcWovL2kvY3pXbWp5cllHTFViU3V4SjJt
K2hUdmRZemhHRS9UCjVrZkxXWFJQaTNPVXVCdFk5S0xveHdYVjZoSHZUeHhQMFlJeUtkWFd6U2Za
WlN4RzlCU0pGcVU0UjhvQldlazVFMld0VDExbjFTZk8Kb1hQZ1Zsclk0anc0anFYK3VJcHR6bktO
cm8xeEU0QzQwVkIwc2VxZng1Y2ZuMURPU2VNekY4ZkFlRDNHODJkdFo5YXhFWFZkM3hSWApQczZY
RkFkRHBQalM2QSt1aFZSa3NldkZCNzFQT1VMc1h5NzRiN3c1OFlhTkIwZHhCNnpvNXhoalFPS0xO
Z0tjK0VJWjNpcHUwa1ltCmxUZHRuNmJObjFSdXpJc3ZpcWhUMUxkRmlqdGNEZE5pNnQ2dk4xNUdQ
Ny8ydC9WK0RFK0tZN3ZEY1FQajAzSHlIVC9pY1JlY1BzQVkKcjJ1Y3ZQU0ROcVA3VVBRWDc5UDRk
RDgvMW9reEdyRnZrOUw0UXhEanBMZFBNUWFodjIxdW5BVEhnUFVJZ1ByQUtMcGF4TjJTb210SApu
R2pHeVhmY0VTZlNlTGVRQ0U2R2FYdzZ5dXozTFpZYnQ0dDUvZUQ4ZUIwcGxwbGt0UkRMV0QvcWZ1
NjVrMTBpdjAvRGVzVzhxR3NmCkZFUXdNLzYrTG1SZityS0hmK005NnN2dDU0OVA5L1BIZmZ2NS9k
L3hPc2Y4aGZyMVpZei9yUjBQazQ2L3FFUFVNMjRuUEN0TmVyK24KdmI5UjFtS3NabTE3WTM1Rytt
MlAyOGN4RTRIV01OVjgrK1VtdmUvam4rRisyZmc3dnZ5c1kzZTQ3a0pmUjVlcCtCeE1TN1g4ZUIr
agpUdFBTclB4cDY3V2NIM1U0NXBoanlvbDhYRnliZElMZGNudFJWdC9OSmNhclJMZXc2R2ZmL3k0
dkpIOVdmZUxpWHB4QTVwNEVzeGFkCm1OL1hiNWdaOVZ2ZjhvYmxUQ29qN29nVjV3R1RVZ1FkTGQr
VENMNGlZSnFVcHRVajVzOUswOWFOay8vaFBnK0RxRmxsVHF0cnJUNFIKN01UZzhiZ3pWODF0bW12
VU5icjF4UmprOFRUczdoZDU0L1VZejQ5bHBtMG44c2JUMEdrOGJ6SFRTMkxoSEtGTGl4RElFWGFL
SnVMOAp2Sk41YStXeExDbTNaT1F1TkZlZk45L0VwaE5Zc3VSZnUzcHR1cTNiRWdFQ0JQNXpCTHB1
aC8rY25iV25CQm9KUkZmQmVIaDFQREF4CmhpRDhwNmE1anU3L3FYdS9udnVkbXlITDJJOFlzNUNi
VU12WWtlZzNHSDB4QlIvcmlkcG90UTM1UWZ6RUoxYm04VHpuNW43WEY4LzkKa3RjOVJiaFIxZGE3
bUM5OFlXWHVHN282UGVsSlc1YXhEWi84NU1vODFtR3ovRlRjZGVNUjFydndqYlRpQmRWeUkrM3VK
aTMyMy9GNAoyTmhBTFUxYWxyV3g5MXY1QkFqOCt3bkVVOGxqek0rVnJuU2xmNy9LTjZ5eEZwRDF4
TXo5SDlQM3Z2ZTlNcmdxOTFjVWVLeW40d1ZsCnRkeEZJZzhLekNPL2M4cGp1c3JBN2FWTDF3MzBQ
ci9ybVhzUHBwLytkRTBlMkRrM0tEd0cybDlRMHdYZDhvTHF0cGg2L1RzZEQ0dloKcncxWnRxVkp5
N0kyWkorc1M0REFoVXNnQnA3SERRZ2l4UUR5R0N5ZXgwcGZ1SFp5Z1hzakFGa2dsTVVJRUNCQWdB
QUJBZ1FJRU5odwpnVVhkaG5mRE42Y0VBZ1FJRUNCQWdBQUJBZ1Qra3dVRUlQL0o3NzU5SjBDQUFB
RUNCQWdRSUxDSkJSWVZnT1RiNEczaTZ0a2NBUUlFCkNCQWdRSUFBQVFJWEpvRUZCeUQ1QVhIbHRt
RW5ubmppZXUxL2ZwQlFXVDhHMnp6cldjOUs4YlRQMjkzdWRpay9YRzVVM3VNZTk3aDgKZDU4cnAw
Yzg0aEg1RGorUHlVOGpqaWU1M2lMZi9lZEo1YW5qK1VHQjVZbXQ4V1RSeTEvKzhpWC84WTkvZkRy
NjZLTkhaWGhCZ0FBQgpBZ1FJRUNCQWdNQUZWMkRCQVVqY0xpd0NnUjEzM0hHOTl1YmU5NzUzV1Rl
Q2p2d2s5TFQvL3Z1WFc5am1KNHltWC96aUY2WE0vTkNaCjlQdmYvejRkY01BQjZUNzN1VStaOTlL
WHZyUThtdjVuUC90WnlrOGhMVUZIL0kwQUpELzVPK1VuU0tiOGhOUUYxU2svdEdkQnk4MWEKcUZV
NXM3WWpud0FCQWdRSUVDQkFnTUNGVFdEQkFVZ0VIbnZ2dlhmS2o2ZGZMNFA4Qk5PVW45Q2Q3bmUv
KzQzV3YrRU5iMWhlbjNUUwpTU2svWFRQdHUrKythZXV0dHk3ekRqend3TFRWVmx1bHVNVnRwTzIy
Mnk0OS8vblBMNi96RXh0VGZpSnB1di85NzU5dlM3cXc1elhFCmZaZWYrOXpubHZVMzVMOVc1V3hJ
SGF4TGdBQUJBZ1FJRUNCQTROOVZZRUVCeUVjLyt0RjBveHZkS0wzODVTOHZEOTE3Kzl2Zm5uYmIK
YmJmeU5QQmYvL3JYNVQ3R043dlp6Vkp0ak1qWHZ2YTFZaFN0RjVIKzhJYy9wSDMyMmFjOEJYTDMz
WGRQVzI2NVpkcHBwNTFLWHZ6Mwo5YTkvUGQzcFRuY3FRVWcvOHlwWHVVcDUrWTF2ZkNPdFdiTW0z
ZU1lOStpenB2NWR2WHAxZXZhem41MGUrdENIcG5oMng4Yy8vdkd5CmJEd0EvbDN2ZWxmNjRBYy9X
UEw2cDVwSFBXTmZudm5NWjVibFh2T2ExNVNXbTdoMzg2UnlwbTVZQmdFQ0JBZ1FJRUNBQUFFQy95
S3cKb09lQW5IMzIyV21ISFhaSWNaSisrOXZmUGgxKytPSGxKUDI3My8xdU91R0VFOHBEK0NKQU9m
WFVVNmQyMGJyclhlOWF1bHJGMDhLagpuT3RmLy9ycGFVOTdXZ2xBeGgvQzhwdmYvQ1pGNjhoKysr
MVh1bjJOMTNyUFBmZE0zL3JXdDhwREFPTkJMck5TUEtVOHhvOGNlK3l4CjZZcFh2R0pwYlltbm1F
Y0xTb3hGMld1dnZjb1lrK2M5NzNtbHFFOTg0aFBwR2M5NFJuci8rOStmcm5PZDY1Ujl1c1FsTHBI
R3k1bTEKWGZrRUNCQWdRSUFBQVFJRUNNd1htSDMybnBmL3puZStrN2JaWnB0MHExdmRxcXg5NktH
SGx2RWIwYTBxVHVSakRFY0VGTlBHaDhUWQpqZ2hXbnZ6a0o2ZTN2dld0NlIvLytFY1p2M0gzdTk5
OTRoTWdvL3RWcEVrdEhOSHlFUzBnZDd2YjNjcFRKTXVDTS82TGdPZWExN3htCkNUNWkwUmU4NEFW
cDFhcFY2WkdQZkdRWkJCK3RNVEVBdmsvUjhuTEtLYWVrNk9wMWpXdGNvd3llajd6eGN2cmwvU1ZB
Z0FBQkFnUUkKRUNCQVlHRUNDd3BBdnZuTmI2Ym9KclhGRmx1VVVpTUFpQlA0aHp6a0lXWDY0SU1Q
VG52c3NjZlVMVVoralBHSVpXSXNSN1E4UkxldQpLR05TaWdEa0JqZTRRYnJDRmE3d0w5bUhIWFpZ
Q1F5aUpXV2hLZW9majd1UGRPU1JSNmEzdmUxdGFlZWRkMDZ2Zk9VcjAvYmJiNThPCk9lU1FVWkFS
eTF6eWtwY3MvL3J4S0RFdjByQ2N1VG4rSjBDQUFBRUNCQWdRSUVCZ01RSUxDa0FPT3VpZzB1SVFC
WjkzM25rcFdrQmkKUUhjRUpER1dJbHBJYWdGSWpLdUlFLzJiMy96bXBXN1IybkR5eVNlbmZseklz
TUtubjM1Nit0R1BmcFNtQlJpeFRtejNMbmU1eTNDMQo4am9Hc1U5SzBWMnJEMEMrOTczdmxTQW83
cDRWQVVpMHN2U0JWYjl1M0tFcnVwVDk4SWMvN0dlVnY4Tnk1bVdZSUVDQUFBRUNCQWdRCklFQmdR
UUl6QTVBWU4zSFVVVWVWRS9ob0tZaXVWSEVuckdqRmlIVEVFVWVrczg0NksrMnl5eTZsSldGOHE5
SEs4ZFd2ZmpYZDVqYTMKR2QyeEtzYVJ4SUR5Q0FMR1V6empJN3BaUll2TGVJcGdKL0p2Y3BPYmxD
QmltQi9qTlNKNEdVOVJ2K2hPdGV1dXU1YXVZcGU3M09YUwpzbVhMeXJ4WWR1WEtsU1VRaXJLamxT
WnU5eHUzOVgzWXd4NVd4cGtzWDc0OC9lQUhQeWo3T1N3bjFvM2xYL3ZhMTZiamp6OCtKaVVDCkJB
Z1FJRUNBQUFFQ0JHWUl6QXhBSWhpSVc5MSs1Q01mU2JlODVTM0wrSXNZdXhGM3JZb1U0eVJpRUhu
Y25qWUNpMkdLTzBmRjNhUmkKb0hyY2dqZGFOaUxGQXdialFZUFJsU3RhSWVKT1ZYRUhyZGhHZjZ2
ZGVIRGg3MzczdTFGeEVUUzg4SVV2TEhmUGlxQWkxby9ua3NSNApqVXRmK3RKbElIa2ZGSTFXeWkr
aXkxWFVQN1oxNHh2ZnVMVFUzUHJXdDA2M3ZlMXR5L294SmlYcS9ablBmS1oweTRybmtNUjBESm8v
CjdyampTcmx4VjZ6eGNtSWI4UURFbDd6a0phVUZhTGhOcndrUUlFQ0FBQUVDQkFnUW1DeXdvTHRn
eGUxclkrekd0QlJCU053bDZvS2EKWXRENytBRDV2LzcxcjJYZWNKeEgzTVVyeG4vMEtRS28yTzhJ
bUNKTktpZGFSUzUxcVV2MXEvaExnQUFCQWdRSUVDQkFnRUJGWUVFQgpTR1Y5V1FRSUVDQkFnQUFC
QWdRSUVGaXd3TXd1V0FzdXlZSUVDQkFnUUlBQUFRSUVDQkNZSVNBQW1RRWttd0FCQWdRSUVDQkFn
QUNCCmRnSUNrSGFXU2lKQWdBQUJBZ1FJRUNCQVlJYUFBR1FHa0d3Q0JBZ1FJRUNBQUFFQ0JOb0pD
RURhV1NxSkFBRUNCQWdRSUVDQUFJRVoKQWdLUUdVQ3lDUkFnUUlBQUFRSUVDQkJvSnlBQWFXZXBK
QUlFQ0JBZ1FJQUFBUUlFWmdnSVFHWUF5U1pBZ0FBQkFnUUlFQ0JBb0oyQQpBS1NkcFpJSUVDQkFn
QUFCQWdRSUVKZ2hJQUNaQVNTYkFBRUNCQWdRSUVDQUFJRjJBZ0tRZHBaS0lrQ0FBQUVDQkFnUUlF
Qmdob0FBClpBYVFiQUlFQ0JBZ1FJQUFBUUlFMmdrSVFOcFpLb2tBQVFJRUNCQWdRSUFBZ1JrQ0Fw
QVpRTElKRUNCQWdBQUJBZ1FJRUdnbklBQnAKWjZra0FnUUlFQ0JBZ0FBQkFnUm1DQWhBWmdESkpr
Q0FBQUVDQkFnUUlFQ2duWUFBcEoybGtnZ1FJRUNBQUFFQ0JBZ1FtQ0VnQUprQgpKSnNBQVFJRUNC
QWdRSUFBZ1hZQ0FwQjJsa29pUUlBQUFRSUVDQkFnUUdDR2dBQmtCcEJzQWdRSUVDQkFnQUFCQWdU
YUNUUU5RTTQ1CjU1ejAxNy8rdFYzdExzQWxiZXg5WGJGaVJmclJqMzQwVldETm1qWHBqMy84NDlU
OHFOL2YvdmEzcWZtTHlmakhQLzZSL3Z6blB5OW0KbGVxeUc5dXV0dkZaK3pMTGRUeC8xdnRVcTh0
QzgwNCsrZVQwbmU5OEo1MTIybWt6VnprL2JXdVZhM2s4MXJaelFjNGJQM1l1eUhWVgpOd0lFQ0JB
Z3NERUZaZ1lnOTd6blBkTU9PK3lRN25yWHU2WUhQL2pCYWZQTk4wOVh1Y3BWMGdNZitNQjA2MXZm
dWt4LzVDTWZTUi8vCitNZlRwUzk5NlhUQUFRZHN6UHBlSU1yZTJQdjZrNS84Sk4za0pqZEo5Ny8v
L1NmdTc4OSs5ck8weXk2N3BDYzg0UWtUODkvem52ZWsKSFhmY01YM21NNStabUwvWW1TOTcyY3ZT
ZmU5NzM4V3VObkg1alcwM2NhT0RtYlY5bWVVNm5qL3JmUnBzZHIxZnZ2ZTk3MDJmL09RbgowNkdI
SHBxdWQ3M3JwUWg0cHFXV3RsLzk2bGZUalc1MG83Umt5WkswMjI2N3BZTU9PcWhzTm9LaEY3emdC
V1grWnB0dGxsNzk2bGVuCnM4NDZhMXFWeXZ6V3gyTjFZeGZRelBGajV3SmFUZFVpUUlBQUFRS2JS
R0JtQUxKcTFhcjB5MS8rTW4zakc5OUluLzcwcDlORkxuS1IKZFB2YjN6NTk5ck9mVFQvNHdRL1NQ
dnZzazVZdlg1NGU5ckNIcFN0ZDZVcWJwTkl0TnhJbmRJY2Njc2lpaXR6WSszcnptOTg4UGZyUgpq
NTVhcDV2ZTlLYmxQZGhpaXkwbUx2UEVKejZ4QkkwVE05ZGo1cXRlOWFyMHhTOStjVDNXbkZ0bGFM
eXg3V1pWc3JZdnMxekg4MmU5ClQ3UHFNaXYvM0hQUFRjOSs5clBUVTUvNjFQVEtWNzR5ZmU1em4w
dGJicm5sdk5VMmxtMWNlUGlmLy9tZnNxMW5QT01aYVk4OTlpaXYKZDlwcHAvVDYxNzgrWGZLU2ww
elh1YzUxMGt0Zit0SjA4WXRmZkY2ZHhpZGFINC9qNWY4N1RJOGZPLzhPZFZaSEFnUUlFQ0N3c1FS
bQpCaUJ4QWhRdEh0TlNuRnpFbGRsSWNVSWNWMHczVlZxOWV2VUdiU3FDcTBjODRoSHArOS8vL3N4
eXVxNmJ0OHpHM3RjSTlDWlpybDI3CnR0Umo2ZEtsS2E1QVQwc3Q2eGV0S2RlNHhqV21iYW82ZjVK
eHk3cFZOejRoYzlxK3pIS2Rsai90ZlpxdzZVWFBPdUtJSTlMS2xTdEgKNy9NdGIzbkxlV1ZzYk52
dHQ5KytiSy8vTzl4NHpKczBmN2pNOFBYNStaNFA2M0Yrdko1MjdKd2ZkYkZOQWdRSUVDQndRUkNZ
ZmdiNwp6OXIxVno2blZYYWJiYlpKdDdyVnJVYlo4V01iM1Z5dWVNVXJwdXRmLy9ycG1HT09HZVg5
L2U5L0wxZDBiM2U3MjZVYjMvakc2YkRECkRodmxqYjg0Nzd6ejBvdGYvT0p5dGZVaEQzbElldU1i
M3poYTVPQ0REeTd6My96bU41ZHQvL2EzdnkxNTBWSVRBZEZMWHZLUzlKclgKdkNaZDZsS1hTai85
NlUvVHRPMis5YTF2VFYvKzhwZkwxZjFIUGVwUkthNDRqNmRQZmVwVGFiLzk5a3R2ZU1NYjB2Z0pZ
RzFmbzg5NwpYTGwrem5PZVU3b3ZQZjNwVDAreFQ1R2l6TXRkN25McDdXOS9lNW1PTGpiWHV0YTEw
cE9lOUtReVBlbS9aY3VXcFNjLytjbnBmLy8zCmY4dHlQLy81enljdE5tOWVyUFBjNXo2M2RJMEw3
ei84NFErai9Ha21vd1grK2VMRUUwOHMrMzZMVzl5aXpJbldvdi8rNy84dTVYN2cKQXg5SVY3dmEx
ZEsxcjMzdGVlL3pzSXhweGpXN2hkYnRMMy81UzNyKzg1OWZqcW12Zk9VcmFkZGRkeTFkMTM3ODR4
K25PSG1QYm9LWAp2ZXhsMDJ0Zis5cFNwZkY5aVptelhHZmxEL2MxWGkrMDdyRnM3Umg1Ly92Zm4x
N3hpbGVrQ0xLZjhwU25GTzlZWjVnMnB1MXdPd3Q5ClBXdmZweDJQaS8zY2Z2N3pueStmN2Z2ZDcz
N3BqRFBPU1B2dnYzK1p2dk9kNzV6aW1JZ1UzdzIzdWMxdFN1dnNlUDNYWi8zYWV6V3QKL29zOWRz
YnJhWm9BQVFJRUNGeG9CZktWL1VXbGkxNzBvbDN1SGpSeG5SdmM0QWJkRFc5NHcrN2IzLzUybHdl
amQvbkV0SHY4NHg5ZgpsczBuVXQzZDduYTNMdmNYNy9KZ3pDNEhDbDBPRUxyVFR6OTlZbGw1ekVt
WFR5UkxYajdaanVhSDdoZS8rRVdYdTV4MCtlUzl5NE55ClMxNCtTZXNlOElBSGxOZXhmQjZ2MHVY
eEVWM3VJbGEya1UrNnE5dTk4cFd2M09VVDFJbDF5RmVZdXp3V1k1VDNyR2M5cTlROVp0VDIKTmZK
dmU5dmJkbmxzVEx6czhsWHM3bVkzdTFtWHU3V1U2Zmd2OWlFSFNhUHB1OXpsTHQyREh2U2cwZlMr
Kys3YlhlWXlseGxOMytNZQo5K2h5b0ZLbXcyL25uWGZ1OGduWEtILzh4ZVV2Zi9rdXQweDFPY0Fx
VnJHZlY3M3FWYnZZcDhXOEY3blBmNWNEb3k1M3VTbWJPT21rCms3cHJYdk9hNWIzTkovM2RzY2Nl
MitYZ3FkdHJyNzNHcXpDYUhqZXUyUzJtYnZsa3M4dEJSNWRiNk1yN25VLzRpdUhWcjM3MThwNmUK
ZXVxcDNjdGYvdkl1dHlSMWVRQjNONzR2VWNGWnJyUHloKy9UWXVvZTI1NTFqT1F1ajExdTVZcEZw
NmFOWlJzYmpPM0g1eTZmekhmNQpZc0c4ZjNGODVZQjhWSzlaKzE0N0h0Zm5jNXZIcDNTUGZleGpS
OXZQM1VLN3h6em1NYVBwcjMzdGE5MkhQdlNoMGZUNGk4V3VYM3V2Ckp0WC9UMy82MDh4amE3eE9w
Z2tRSUVDQXdIK0t3TXdXa01WR1h0RjMvRTUzdWxQS0p4enBEbmU0dytoT1RURitKS09XN2s0eG5p
U3UKVEo5eXlpbnBlOS83M3I5c0l1NzRjL2poaDZmb1l4OHBydDYvKzkzdkxtTk1vaXRIRE03T2dV
N0ppeTQxL1pYOUdDd2JWK09qYjNvTwpTc282VWM2czdVN3E2aFNGeDlYVlgvM3FWK25BQXc4czI4
b24yYVdzTXBIL203YXZzWDh4UGlaYUNpSkZuZlBKVW9xQnZmbGtwY3piCmFxdXQ1bld4Mm5ycnJl
ZE5sNFgrK1YrMEZFVWQrdGFvNkhwMTk3dmZmYmpJeE5lUGZPUWowNzN1ZGEveVB1eTk5OTdwNktP
UFRqazQKTEdONVpwbjBCVVlyMG4vOTEzK045anR1TkJDdEhqRXY5ai9HL2R6eGpuZE1SeDU1Wkwv
S3hML2p4dFBzRm5PY1JEMWlNSDUwQVl6MwpPMHhqc1B4eHh4MlhYdmpDRjVhQitNOTg1ak5MM1dQ
ZStMN01jcDJWUDc2amk2bjdRbzZSOGZLblRXOE0yK0cydnZ2ZDc1YWJUTVFnCjkvN2YyV2VmUFZ4
a1FjZlV0T054ZlQ2M09kZ29BK1A3N2syNzc3NTdpbGF3SEFpVmVzVnhuZ1A2ZVhVY1RpeG0vVm52
MWFUNng5M1cKMXVjek82eWoxd1FJRUNCQTRNSXEwRHdBR1o0TXhkMnpvdXRDcERqeGptQWgrc3pI
ditpMjlhMXZmYXNFRitPNEVaUkVkNmRoV2RHMQpLdGFQZWZtcWN3a09ZakJzM0Ixb2VESVVKNkZ4
b3RtbmhXeDN1SjErdmZnYkEyMGoySW1UK09nR2s2ODJsN3QrOWNzTTF4dnVhM1Q3CmlqcEU0Tkdu
M0FKU1hrWkF0TmdVSjRBUldBMzczRys3N2JiemZDYVZ1ZDEyMjQxbXgwbFNwTGlkN2tKTVJpdm1G
N0dmdzMwZG43N1kKeFM0MnNhdkxlQm5UcG9kMjYxTzNZYmxSbDJIcUIwaEhzQnRwV1BkWnJyUHlo
OXVKMTR1cGU4dGpaUGplUkQyRzB4dGlHMlZGaXE2QgpiM3ZiMitiOUczN0dZcG1GN1B1MDR6SFdY
K3puOXFFUGZXaTVnTkdQMzRwdW1OR0ZNcnBueGsweElqQ0o3cUhUMG1MV1g4aDdOVjcvCnhSNDcw
K3BwUGdFQ0JBZ1F1REFLTE4xVU81Vzd3NlFZT0IxWEttZWw2RXZlait1WXRHemMxak5hR0Q3NHdR
K202Q3NmSndqVDBtSzIKTzZtTXVPS2J1enVWazYvbzZ4MjNJKzFQYWljdEgvT2k3M2RzTjRLdkNC
UWlSWXRCN1Ara2NTWmxnY3AveHg5L2ZDbHZmSkhoaWVaNAozdmgwdEZURXlYbjgyMUNUOGJKYlRt
OW8zYUoxYU9neWZEMWV6MW11cy9MSHkxdE0zVnNmSStOMW1UUzltUHBOV3I4MmI3RmxENC9IClNl
WE9LaTh1UmtRcjJzYys5ckVTbU1kdHErTzlqL0ZVWjU1NTVzemJSaTltL2ZWNXJ4Wjc3RXd5TUk4
QUFRSUVDRnhZQlpxM2dFeUQKeXYzMFM0dEhYSjNzVTNRRGlpdUY0eWxPVHVKSy9WRkhIVFhLaW1X
ajllRDN2Lzk5R1l3ZGc5S0hMUXlqQmNkZUxHUzcwMDVTODNpSApGTTg5ZU10YjNsSnVReHdEbStN
RVoxYUsxb3A0NkZqYys3OVBVVTUwRDRudVlYM3F1NC8wMDlQK1JnQVVWL0J6di9KcGk4eWNmOElK
Cko1U1dvaGlvdlJDVG1RVXVjb0ZweHVQRmJNcTZ6WEtkbGI4aGRWL29NVEsralVuVEZ3VGJ4YjV2
dytOeDBqNHRwTHk0VlhVODYrWjkKNzN0ZnltUE5VblNyK3NJWHZsQzZHY2FOTG1hbGhhNi9QdS9W
WW8rZFdYV1ZUNEFBQVFJRUxrd0Npd3BBNG9RNWJnczY3WW5NY2FVdwovdlVwN3ZyVTMvbHB6ejMz
TEhjSWlxNVVlZUI1T2JHUFp6Sk11cjFyM1BVcUQzWXZKeFF4dmlQK3hkMk9ybkNGSzVUWFVZOElS
T0lrClA3cGdSVkFUQVVyOGk1UDhmcHRSajFuYmpXNU5jYlV5VXRScm1LSWZkOXl4S2xJZUpKN3Vj
NS83akZvMGF2c2FmYzlqREV4ME1ldFQKM0xVcVRtVGlnWTZSb2tVa0htUVhubkV5RnNGV2JLOVBN
VDl1c3hvcFBLTDFKTWJCOUNtZWdoNVhpY05nV2hybXhiaWFHQjhSWTJkbQptWXlYRi9zYXB1RWJL
ZW8yREo0aWY3aXQ4ZlhIald0Mmk2MWJHQTIzSGMvRmlPbmVyaDhUME5kM3VDK3pYR2ZsOXhiOXRo
WlQ5NFVjCkkvR0F2NmgzMUhsYTJwaTIvZWRvL0hNUmRZblAzSEQrUXZaOStENE5qOGNvYjdHZjIx
Z24zOVNpUEJjbEhvNGEzYnRpTEZLMFRzYjQKc29VRVpRdGRmeUh2MVhqOUYzTHN4TEVhZDJqcnYz
OWlueVFDQkFnUUlQQWZJWkJQS2hlVWNwZW9jbGVwak5MbEgvdnVUVzk2VTVlNwpPb3pXamJ0T3hS
MTdybnZkNjNhNXBhTEwzWlc2ZkxXL3l5Zk81VTVNc1dDK25XMlhINlJXN2txVSs1QjMrV3JsYVAz
eEY1RVh5OFQyCmNvdElsN3RjbFVWeUY2WnlsNnZjdGFuYzlTYnVkcE1IY0hjUGYvakR1dzkvK01O
ZDd2ZmQ1Uk9RTGdjT295SnIyMzNSaTE1VTZoTjMKMU1sZHYwYnJ4SXZZNXp6UXVjdGR2cm92ZmVs
TFhiNE5icm1MMUVMMk5mWS9MUEtER3JzOEdMWExBOUs3dUNOWG4zSmY5UzUzQXlsMwpwbnJlODU1
WDdqU1ZCKytYTzFibHdLVExBKy9MdnIvclhlOHFkLzdLWFUyNjNIMnFtT1luMG5kNVhFcTVDMUhN
bjVUaTdrODV5T255CjRQUHVkYTk3WFpjZkpsZnVRTll2V3pQcGw0bS9VWmQ4Qzk1U2w5d1NWTzV3
bGs5NnkxMjRjci8vTGcvUzcrS3VVL0crZnZPYjN4eXUKT25vOU5NNjM3bTEybk1UMjg1WG1MZytN
Ny9MdGdidDh5K2R5cDdFNFptTC84MDBFdW56YjRsTDNNSXU3ZGczM0plNm9Oc3UxbGovcApmVnFv
YStEVWpwRzQ2MVMrald5cGU3NlZjcGNEMUpIbjhNWEdzczAzVE9qeXcvUEs5dlA0b2RGN0c1K1Iy
R1lZNTVQODR0dC9EOVQyCnZYWThodkZpUDdlOVFkakUzZEQ2bEIrTU9HKzZuei90NzBMWHI3MVgw
K3BmTzNhaVB2a2lTakdNN3kySkFBRUNCQWo4Sndrc2laM04KSnhPYkxNWFY4M3lMM25MM3BMaXFY
MHRSdGVpNkZIZGVHazl4ZFRZR2ZrYUtLOUN6dW1QVnRoc3RDVEhnZkR6RjFlZm9WeDUzdzRyeQph
NE5heDllTjZhaC9QSmNneW9nN05vMm5xRk5jRlk3OVdNZyt4TEp4MVRucUdsZWdvNVZvVm9wdVpM
SDhKT3VheWF4eUY1cy96WGhhCk9adXlick5jWitXUDc4Tmk2ajdyR0JrdmU5TDBCY2wyMXI3WGpz
ZEoremFydkdoRkdENGRmbng2VXBuRGVlUExqMDhQbDEyZjkyclcKc1JOZEs4Y0g5QSszNlRVQkFn
UUlFTGd3Q216eUFPVENpR2lmQ0JBZ1FJQUFBUUlFQ0JCWW1NQ2l4b0FzckVoTEVTQkFnQUFCQWdR
SQpFQ0JBWUxLQUFHU3lpN2tFQ0JBZ1FJQUFBUUlFQ0d3RUFRSElSa0JWSkFFQ0JBZ1FJRUNBQUFF
Q2t3VUVJSk5kekNWQWdBQUJBZ1FJCkVDQkFZQ01JQ0VBMkFxb2lDUkFnUUlBQUFRSUVDQkNZTENB
QW1leGlMZ0VDQkFnUUlFQ0FBQUVDRzBGQUFMSVJVQlZKZ0FBQkFnUUkKRUNCQWdNQmtBUUhJWkJk
ekNSQWdRSUFBQVFJRUNCRFlDQUlDa0kyQXFrZ0NCQWdRSUVDQUFBRUNCQ1lMQ0VBbXU1aExnQUFC
QWdRSQpFQ0JBZ01CR0VCQ0FiQVJVUlJJZ1FJQUFBUUlFQ0JBZ01GbEFBRExaeFZ3Q0JBZ1FJRUNB
QUFFQ0JEYUNnQUJrSTZBcWtnQUJBZ1FJCkVDQkFnQUNCeVFJQ2tNa3U1aElnUUlBQUFRSUVDQkFn
c0JFRUJDQWJBVldSQkFnUUlFQ0FBQUVDQkFoTUZoQ0FUSFl4bHdBQkFnUUkKRUNCQWdBQ0JqU0Fn
QU5rSXFJb2tRSUFBQVFJRUNCQWdRR0N5Z0FCa3NvdTVCQWdRSUVDQUFBRUNCQWhzQklHbHM4cDgz
L3ZlTjJzUgorUVFJRUNCQWdBQUJBZ1FJRUVnUGZPQUQwdzQ3N0ZDVm1CbUF4TnBSa0VTQUFBRUNC
QWdRSUVDQUFJRU5GVmpTNWJTaGhWaWZBQUVDCkJBZ1FJRUNBQUFFQ0N4RXdCbVFoU3BZaFFJQUFB
UUlFQ0JBZ1FLQ0pnQUNrQ2FOQ0NCQWdRSUFBQVFJRUNCQllpTUMvakFGWnZhWkwKSzFhdlRlY3NY
NTMvZG1uVm1yVUxLY2N5QkFnUUlFQ0FBQUVDQkFnUVNGdHN2bG5hY3VtU3RPMUZSc3FoblFBQUlB
QkpSRUZVbCthLwptNldsbXkrWnB6SXZBSW5nNDV3VnE5TS96bGxWL2tVUXNtYXRJU0x6eEV3UUlF
Q0FBQUVDQkFnUUlEQlZZUFBONW9LUEhiZmRJc1cvCmJiZGNPaThJbVJlQVJNdEhCQjlIbjd3c25Y
VG1pblR1aWpWVEM1WkJnQUFCQWdRSUVDQkFnQUNCU1FMYmJMbDV1c3gyVythc3JVdUwKeU5MTk54
OHROaThBaVJhUENFQWkrSWkwNDdZWFNkdHZQVytSMFlwZUVDQkFnQUFCQWdRSUVDQkFZRnpnakdX
cjAvSlZhMHBNc2QzVwowUUt5ZVlxQXBFL3pvb3NZOHhGQlNMUjhSUEJ4bWUyM1REdm5meElCQWdR
SUVDQkFnQUFCQWdRV0luRENHU3ZTU2ZuZlA4NVpPUnBYClBseHZYZ0FTQTg3N01SL1I4aEhCeDlW
MjJucTQvRVovdldUSmt1VFJKQnVkMlFZSUVDQkFnQUFCQWdRSWJEU0I1U3ZYbEFBa1lvdngKbTFx
NURlOUdZMWN3QVFJRUNCQWdRSUFBQVFMakFnS1FjUkhUQkFnUUlFQ0FBQUVDQkFoc05BRUJ5RWFq
VlRBQkFnUUlFQ0JBZ0FBQgpBdU1DQXBCeEVkTUVDQkFnUUlBQUFRSUVDR3cwZ1htRDBLZHQ1UnZm
K0ViNjNPYytOeTk3cTYyMlNwZTk3R1hUdmU5OTczUzk2MTJ2CjVIM3lrNTlNMy9yV3Q5SmVlKzJW
ZHR0dHR6THZUMy82VTNyQkMxNlFIdnpnQjZlSFB2U2g4OHA0MXJPZWxSNzBvQWVsVzk3eWx2UG0K
dit0ZDcwcFBmdktUeTd6dmZPYzc2ZU1mLzNqNjYxLy9taDd3Z0Fla0p6emhDZk9XZmQ3em5wZk9P
T09NdE1VV1c1VDYzUENHTnl4MQo2aGVhVktmSU8vREFBOU1mL3ZDSDlKem5QS2RmdFB6OStjOS9u
dDd6bnZla2ZmYlpKMjIvL2Ziejhrd1FJRUNBQUFFQ0JBZ1FJTENCCkF2bU9VNlAwbDcrZjIzM3pp
Rk82L1E0K3J2eU42VWg3N0xGSFBBNTk0ci9OTnR1cysvV3ZmMTJXZThZem50RmQ5S0lYN1RiZmZQ
TXUKbjhpWGVmdnZ2MzkzaVV0Y29xejdrWTk4cE15TC80NC8vdmp1a3BlOFpKbi8wcGUrZERRL3Ry
TjA2ZEx1eHovK2NmZVZyM3lsaS9KegpvTlBsQUtNc3UrKysrNDZXelFIRXhEbzk1akdQR1MwenFV
NlIrY1FuUHJHc200T2owYkx4NHQzdmZuZTM1WlpiZHF0V3JabzMzd1FCCkFnUUlFQ0JBZ0FBQkFy
TUZwc1VVL1pvTDZvSVZMU0Qzdk9jOTA4TWU5ckJ5aTl5OGNscXhZa1g2M2U5K2x5NSs4WXVuejMv
Kzh5VU0KZXV0YjMxcGFGYUoxNUxPZi9XeVo5NmhIUFNyOTMvLzlYN3JxVmE5YVdqTEt6UHpmNVM1
M3VYVHNzY2VXbHBGWHYvclZhZm55NVgxVwphUkdKRnBQWVhnNDQwZ2tubkpCKy8vdmZwMTEzM1RY
dHZmZmVvOXYwWHZ2YTF4N1ZaK1hLbGVrdmYvbExhWDM1MEljK2xBNDc3TEJTCjNxUTZSVVlPTkZJ
T1F0THJYLy82OU56blBuZTA3YU9PT3FxMDZPUWdhRFRQQ3dJRUNCQWdRSUFBQVFJRTJnZ3NLQUNK
VFVVWHA5V3IKVjQrMmVwR0xYQ1JkOTdyWFRkSGw2ZTkvLy90by9wV3ZmT1YwczV2ZExKMTQ0b21q
ZWR0c3MwMjY0eDN2bUU0OTlkVFJ2SGdSOHgvOQo2RWVYZWNQbG4vS1VwNVF1VnplOTZVMVR2STUw
OWF0ZlBUMzJzWTh0d1VnRU5PTXA2bmUxcTEwdFJmZXRDRzRPT2VTUTBTS1Q2aFNaCjhjeVJTMTNx
VXVsTmIzcFRlc2M3M2xHQ21laWFkYWM3M1dtMHJoY0VDQkFnUUlBQUFRSUVDTFFUV0hBQWtydFJs
VmFQOFUxdnUrMjIKWlF6R2NQNTIyMjJYemozMzNPR3NFcVJjODVyWG5EY3ZKbmJlZWVjeTc3enp6
aHZsUldBU0tYZWZHczJMRjd2dnZudVpqckViMDFLMApYRnpuT3RkSmYvdmIzK1l0TWw2bk04ODhN
eDF3d0FIcHkxLytjcnJiM2U2V252bk1aNVlXa1pOUFBqbTk2RVV2bXJldUNRSUVDQkFnClFJQUFB
UUlFMmdnc09BRFpjY2NkVTV5Y2o2YzgzbU44Vm1sWkdKLzVxMS85cWdRRzQvUDc2V2lONk5NUlJ4
eVJvaHZYbmU5ODUzNVcKK1JzQlRCNFRrazQ1NVpSNTg4Y25vanRYSGw4eWIvYXcvTWo0OEljL25L
NXhqV3VVd2ZJeFVQMWExN3BXZXQvNzNwZGUvT0lYRzN3KwpUODRFQVFJRUNCQWdRSUFBZ1hZQ0N3
NUE0Z1Q5dDcvOTdjUldrSVZVNStpamp5NG45d3RaTnJwUFJUZW9DRUtHS1lLUHVEUFZQLzd4Cmor
SHNlYTlqZk1xUlJ4NlpZbnhJTFgzNzI5OHVYY1ZpbVJqSEVpMGhFV1I5NlV0ZnFxMG1qd0FCQWdR
SUVDQkFnQUNCRFJCWWNBQVMKclJGbm4zMTJPdWlnZzlacmM5RTFhcndWWWxwQlAvakJENmFPdzRn
Z29SYUFISHp3d2FXZWQ3LzczYWNWWCtZZmQ5eHg2ZEtYdnZSbwptUmcvOHNFUGZyQ01IWWxCN0JJ
QkFnUUlFQ0JBZ0FBQkF1MEZadDdxS1o2TEVkMlZJdVZiN0phN1M4V3pQellreFIydDl0dHZ2MUpF
CjM1M3FZaGU3MktqSVpjdVdwVHZjNFE1bCtzOS8vbk81RTFhZkdjLzhpRmFPU0ljZWV1am9ibHQ5
L2c5LytNTjAxN3ZldGJScTlQTW0KL1IwUFFHS1oySy83M3ZlKzVhNVk5N2pIUGRKT08rMDBhVlh6
Q0JBZ1FJQUFBUUlFQ0JCWVQ0R1pBVWpjcnZZREgvakFxUGp4Y1JtagpqRVc4aUphR3VPdFVuM2Ja
WlpkMCtjdGZ2cDhzNHpkdWNJTWJsT244N0pCNXk4Yk12blVqYnJIN3hTOStjYlJlL3lJZWNGaExa
NTExClZvcEI2REV3ZlR5OS9lMXZUN2U0eFMzS0xZSUZJT002cGdrUUlFQ0FBQUVDQkFoc21NQ1Nl
Q0JJWDhSUkp5OUxSK2QvOGZkcU8yMmQKcnByL3hkOU5tYUtiMXFCS20zTFRvMjNGSVBabzdaRUlF
Q0JBZ0FBQkFnUUlFRmljd0t5WVlzRmpRQmEzMlgvdnBRVWYvOTd2bjlvVApJRUNBQUFFQ0JBaGNj
QVVFSUJmYzkwYk5DQkFnUUlBQUFRSUVDRnpvQkFRZ0Y3cTMxQTRSSUVDQUFBRUNCQWdRdU9BS3pC
dUV2c1htCm02WE5ONXQ3SU9BWnkxYW5FODVZc2Nsci9wZS9uMXZHb0d6eURkc2dBUUlFQ0JBZ1FJ
QUFBUUliTEJBeFJNUVNrU0syaUJoam1PWUYKSUZzdVhaSzJ2ZWpTdE0yV202ZmxxOWFray9MS3kx
ZXVHUzd2TlFFQ0JBZ1FJRUNBQUFFQ0JLWUtSUEFSc1VURUZCRmJSSXd4VFBNQwprRmhneDIyM1NK
Zlpic3QwMHBrcjBqL09XVm4rRFZmd21nQUJBZ1FJRUNCQWdBQUJBaldCQ0Q0aXBvallJbUtNWVpv
M3RlWFN6Y3BDCktXMmR0dHQ2aTNUTzh0VnB6ZHJSWFhxSDYzbE5nQUFCQWdRSUVDQkFnQUNCZnhH
SWJsZDl3MFlFSUJGakROTzg1NEJFeHVvMVhWcXgKZW0wSlBsYXM3dEtxTld1SHkzdE5nQUFCQWdR
SUVDQkFnQUNCcVFJeDVxTWYyaEhCeDlMTjUzZkIrcGNBWkdwSk1nZ1FJRUNBQUFFQwpCQWdRSUxD
QkF2UGJRemF3TUtzVElFQ0FBQUVDQkFnUUlFQ2dKaUFBcWVuSUkwQ0FBQUVDQkFnUUlFQ2dxWUFB
cENtbndnZ1FJRUNBCkFBRUNCQWdRcUFrSVFHbzY4Z2dRSUVDQUFBRUNCQWdRYUNvZ0FHbktxVEFD
QkFnUUlFQ0FBQUVDQkdvQ0FwQ2FqandDQkFnUUlFQ0EKQUFFQ0JKb0tDRUNhY2lxTUFBRUNCQWdR
SUVDQUFJR2FnQUNrcGlPUEFBRUNCQWdRSUVDQUFJR21BZ0tRcHB3S0kwQ0FBQUVDQkFnUQpJRUNn
SmlBQXFlbklJMENBQUFFQ0JBZ1FJRUNncVlBQXBDbW53Z2dRSUVDQUFBRUNCQWdRcUFrSVFHbzY4
Z2dRSUVDQUFBRUNCQWdRCmFDb2dBR25LcVRBQ0JBZ1FJRUNBQUFFQ0JHb0NBcENhamp3Q0JBZ1FJ
RUNBQUFFQ0JKb0tDRUNhY2lxTUFBRUNCQWdRSUVDQUFJR2EKZ0FDa3BpT1BBQUVDQkFnUUlFQ0FB
SUdtQWdLUXBwd0tJMENBQUFFQ0JBZ1FJRUNnSmlBQXFlbklJMENBQUFFQ0JBZ1FJRUNncVlBQQpw
Q21ud2dnUUlFQ0FBQUVDQkFnUXFBa0lRR282OGdnUUlFQ0FBQUVDQkFnUWFDb2dBR25LcVRBQ0JB
Z1FJRUNBQUFFQ0JHb0NBcENhCmpqd0NCQWdRSUVDQUFBRUNCSm9LQ0VDYWNpcU1BQUVDQkFnUUlF
Q0FBSUdhZ0FDa3BpT1BBQUVDQkFnUUlFQ0FBSUdtQWdLUXBwd0sKSTBDQUFBRUNCQWdRSUVDZ0pp
QUFxZW5JSTBDQUFBRUNCQWdRSUVDZ3FZQUFwQ21ud2dnUUlFQ0FBQUVDQkFnUXFBa0lRR282OGdn
UQpJRUNBQUFFQ0JBZ1FhQ29nQUduS3FUQUNCQWdRSUVDQUFBRUNCR29DQXBDYWpqd0NCQWdRSUVD
QUFBRUNCSm9LQ0VDYWNpcU1BQUVDCkJBZ1FJRUNBQUlHYWdBQ2twaU9QQUFFQ0JBZ1FJRUNBQUlH
bUFnS1FwcHdLSTBDQUFBRUNCQWdRSUVDZ0ppQUFxZW5JSTBDQUFBRUMKQkFnUUlFQ2dxWUFBcENt
bndnZ1FJRUNBQUFFQ0JBZ1FxQWtJUUdvNjhnZ1FJRUNBQUFFQ0JBZ1FhQ29nQUduS3FUQUNCQWdR
SUVDQQpBQUVDQkdvQ0FwQ2FqandDQkFnUUlFQ0FBQUVDQkpvS0NFQ2FjaXFNQUFFQ0JBZ1FJRUNB
QUlHYWdBQ2twaU9QQUFFQ0JBZ1FJRUNBCkFJR21BZ0tRcHB3S0kwQ0FBQUVDQkFnUUlFQ2dKaUFB
cWVuSUkwQ0FBQUVDQkFnUUlFQ2dxWUFBcENtbndnZ1FJRUNBQUFFQ0JBZ1EKcUFrSVFHbzY4Z2dR
SUVDQUFBRUNCQWdRYUNvZ0FHbktxVEFDQkFnUUlFQ0FBQUVDQkdvQ0FwQ2FqandDQkFnUUlFQ0FB
QUVDQkpvSwpDRUNhY2lxTUFBRUNCQWdRSUVDQUFJR2FnQUNrcGlPUEFBRUNCQWdRSUVDQUFJR21B
Z0tRcHB3S0kwQ0FBQUVDQkFnUUlFQ2dKaUFBCnFlbklJMENBQUFFQ0JBZ1FJRUNncVlBQXBDbW53
Z2dRSUVDQUFBRUNCQWdRcUFrSVFHbzY4Z2dRSUVDQUFBRUNCQWdRYUNvZ0FHbksKcVRBQ0JBZ1FJ
RUNBQUFFQ0JHb0NBcENhamp3Q0JBZ1FJRUNBQUFFQ0JKb0tDRUNhY2lxTUFBRUNCQWdRSUVDQUFJ
R2FnQUNrcGlPUApBQUVDQkFnUUlFQ0FBSUdtQWdLUXBwd0tJMENBQUFFQ0JBZ1FJRUNnSmlBQXFl
bklJMENBQUFFQ0JBZ1FJRUNncVlBQXBDbW53Z2dRCklFQ0FBQUVDQkFnUXFBa0lRR282OGdnUUlF
Q0FBQUVDQkFnUWFDb2dBR25LcVRBQ0JBZ1FJRUNBQUFFQ0JHb0NBcENhamp3Q0JBZ1EKSUVDQUFB
RUNCSm9LQ0VDYWNpcU1BQUVDQkFnUUlFQ0FBSUdhZ0FDa3BpT1BBQUVDQkFnUUlFQ0FBSUdtQWdL
UXBwd0tJMENBQUFFQwpCQWdRSUVDZ0ppQUFxZW5JSTBDQUFBRUNCQWdRSUVDZ3FZQUFwQ21ud2dn
UUlFQ0FBQUVDQkFnUXFBa0lRR282OGdnUUlFQ0FBQUVDCkJBZ1FhQ29nQUduS3FUQUNCQWdRSUVD
QUFBRUNCR29DQXBDYWpqd0NCQWdRSUVDQUFBRUNCSm9LQ0VDYWNpcU1BQUVDQkFnUUlFQ0EKQUlH
YWdBQ2twaU9QQUFFQ0JBZ1FJRUNBQUlHbUFnS1FwcHdLSTBDQUFBRUNCQWdRSUVDZ0ppQUFxZW5J
STBDQUFBRUNCQWdRSUVDZwpxWUFBcENtbndnZ1FJRUNBQUFFQ0JBZ1FxQWtJUUdvNjhnZ1FJRUNB
QUFFQ0JBZ1FhQ29nQUduS3FUQUNCQWdRSUVDQUFBRUNCR29DCkFwQ2FqandDQkFnUUlFQ0FBQUVD
QkpvS0NFQ2FjaXFNQUFFQ0JBZ1FJRUNBQUlHYWdBQ2twaU9QQUFFQ0JBZ1FJRUNBQUlHbUFnS1EK
cHB3S0kwQ0FBQUVDQkFnUUlFQ2dKaUFBcWVuSUkwQ0FBQUVDQkFnUUlFQ2dxWUFBcENtbndnZ1FJ
RUNBQUFFQ0JBZ1FxQWtJUUdvNgo4Z2dRSUVDQUFBRUNCQWdRYUNvZ0FHbktxVEFDQkFnUUlFQ0FB
QUVDQkdvQ0FwQ2FqandDQkFnUUlFQ0FBQUVDQkpvS0NFQ2FjaXFNCkFBRUNCQWdRSUVDQUFJR2Fn
QUNrcGlPUEFBRUNCQWdRSUVDQUFJR21BZ0tRcHB3S0kwQ0FBQUVDQkFnUUlFQ2dKaUFBcWVuSUkw
Q0EKQUFFQ0JBZ1FJRUNncVlBQXBDbW53Z2dRSUVDQUFBRUNCQWdRcUFrSVFHbzY4Z2dRSUVDQUFB
RUNCQWdRYUNvZ0FHbktxVEFDQkFnUQpJRUNBQUFFQ0JHb0NBcENhamp3Q0JBZ1FJRUNBQUFFQ0JK
b0tDRUNhY2lxTUFBRUNCQWdRSUVDQUFJR2FnQUNrcGlPUEFBRUNCQWdRCklFQ0FBSUdtQWdLUXBw
d0tJMENBQUFFQ0JBZ1FJRUNnSmlBQXFlbklJMENBQUFFQ0JBZ1FJRUNncVlBQXBDbW53Z2dRSUVD
QUFBRUMKQkFnUXFBa0lRR282OGdnUUlFQ0FBQUVDQkFnUWFDb2dBR25LcVRBQ0JBZ1FJRUNBQUFF
Q0JHb0NBcENhamp3Q0JBZ1FJRUNBQUFFQwpCSm9LQ0VDYWNpcU1BQUVDQkFnUUlFQ0FBSUdhZ0FD
a3BpT1BBQUVDQkFnUUlFQ0FBSUdtQWdLUXBwd0tJMENBQUFFQ0JBZ1FJRUNnCkppQUFxZW5JSTBD
QUFBRUNCQWdRSUVDZ3FZQUFwQ21ud2dnUUlFQ0FBQUVDQkFnUXFBa0lRR282OGdnUUlFQ0FBQUVD
QkFnUWFDb2cKQUduS3FUQUNCQWdRSUVDQUFBRUNCR29DQXBDYWpqd0NCQWdRSUVDQUFBRUNCSm9L
Q0VDYWNpcU1BQUVDQkFnUUlFQ0FBSUdhZ0FDawpwaU9QQUFFQ0JBZ1FJRUNBQUlHbUFnS1FwcHdL
STBDQUFBRUNCQWdRSUVDZ0ppQUFxZW5JSTBDQUFBRUNCQWdRSUVDZ3FZQUFwQ21uCndnZ1FJRUNB
QUFFQ0JBZ1FxQWtJUUdvNjhnZ1FJRUNBQUFFQ0JBZ1FhQ29nQUduS3FUQUNCQWdRSUVDQUFBRUNC
R29DQXBDYWpqd0MKQkFnUUlFQ0FBQUVDQkpvS0NFQ2FjaXFNQUFFQ0JBZ1FJRUNBQUlHYWdBQ2tw
aU9QQUFFQ0JBZ1FJRUNBQUlHbUFnS1FwcHdLSTBDQQpBQUVDQkFnUUlFQ2dKaUFBcWVuSUkwQ0FB
QUVDQkFnUUlFQ2dxWUFBcENtbndnZ1FJRUNBQUFFQ0JBZ1FxQWtJUUdvNjhnZ1FJRUNBCkFBRUNC
QWdRYUNvZ0FHbktxVEFDQkFnUUlFQ0FBQUVDQkdvQ0FwQ2FqandDQkFnUUlFQ0FBQUVDQkpvS0NF
Q2FjaXFNQUFFQ0JBZ1EKSUVDQUFJR2FnQUNrcGlPUEFBRUNCQWdRSUVDQUFJR21BZ0tRcHB3S0kw
Q0FBQUVDQkFnUUlFQ2dKaUFBcWVuSUkwQ0FBQUVDQkFnUQpJRUNncVlBQXBDbW53Z2dRSUVDQUFB
RUNCQWdRcUFrSVFHbzY4Z2dRSUVDQUFBRUNCQWdRYUNvZ0FHbktxVEFDQkFnUUlFQ0FBQUVDCkJH
b0NBcENhamp3Q0JBZ1FJRUNBQUFFQ0JKb0tDRUNhY2lxTUFBRUNCQWdRSUVDQUFJR2FnQUNrcGlP
UEFBRUNCQWdRSUVDQUFJR20KQWdLUXBwd0tJMENBQUFFQ0JBZ1FJRUNnSmlBQXFlbklJMENBQUFF
Q0JBZ1FJRUNncVlBQXBDbW53Z2dRSUVDQUFBRUNCQWdRcUFrSQpRR282OGdnUUlFQ0FBQUVDQkFn
UWFDb2dBR25LcVRBQ0JBZ1FJRUNBQUFFQ0JHb0NBcENhamp3Q0JBZ1FJRUNBQUFFQ0JKb0tDRUNh
CmNpcU1BQUVDQkFnUUlFQ0FBSUdhZ0FDa3BpT1BBQUVDQkFnUUlFQ0FBSUdtQWdLUXBwd0tJMENB
QUFFQ0JBZ1FJRUNnSmlBQXFlbkkKSTBDQUFBRUNCQWdRSUVDZ3FZQUFwQ21ud2dnUUlFQ0FBQUVD
QkFnUXFBa0lRR282OGdnUUlFQ0FBQUVDQkFnUWFDb2dBR25LcVRBQwpCQWdRSUVDQUFBRUNCR29D
QXBDYWpqd0NCQWdRSUVDQUFBRUNCSm9LQ0VDYWNpcU1BQUVDQkFnUUlFQ0FBSUdhZ0FDa3BpT1BB
QUVDCkJBZ1FJRUNBQUlHbUFnS1FwcHdLSTBDQUFBRUNCQWdRSUVDZ0ppQUFxZW5JSTBDQUFBRUNC
QWdRSUVDZ3FZQUFwQ21ud2dnUUlFQ0EKQUFFQ0JBZ1FxQWtJUUdvNjhnZ1FJRUNBQUFFQ0JBZ1Fh
Q29nQUduS3FUQUNCQWdRSUVDQUFBRUNCR29DQXBDYWpqd0NCQWdRSUVDQQpBQUVDQkpvS0NFQ2Fj
aXFNQUFFQ0JBZ1FJRUNBQUlHYWdBQ2twaU9QQUFFQ0JBZ1FJRUNBQUlHbUFnS1FwcHdLSTBDQUFB
RUNCQWdRCklFQ2dKaUFBcWVuSUkwQ0FBQUVDQkFnUUlFQ2dxWUFBcENtbndnZ1FJRUNBQUFFQ0JB
Z1FxQWtJUUdvNjhnZ1FJRUNBQUFFQ0JBZ1EKYUNvZ0FHbktxVEFDQkFnUUlFQ0FBQUVDQkdvQ0Fw
Q2FqandDQkFnUUlFQ0FBQUVDQkpvS0NFQ2FjaXFNQUFFQ0JBZ1FJRUNBQUlHYQpnQUNrcGlPUEFB
RUNCQWdRSUVDQUFJR21BZ0tRcHB3S0kwQ0FBQUVDQkFnUUlFQ2dKaUFBcWVuSUkwQ0FBQUVDQkFn
UUlFQ2dxWUFBCnBDbW53Z2dRSUVDQUFBRUNCQWdRcUFrSVFHbzY4Z2dRSUVDQUFBRUNCQWdRYUNv
Z0FHbktxVEFDQkFnUUlFQ0FBQUVDQkdvQ0FwQ2EKamp3Q0JBZ1FJRUNBQUFFQ0JKb0tDRUNhY2lx
TUFBRUNCQWdRSUVDQUFJR2FnQUNrcGlPUEFBRUNCQWdRSUVDQUFJR21BZ0tRcHB3SwpJMENBQUFF
Q0JBZ1FJRUNnSmlBQXFlbklJMENBQUFFQ0JBZ1FJRUNncVlBQXBDbW53Z2dRSUVDQUFBRUNCQWdR
cUFrSVFHbzY4Z2dRCklFQ0FBQUVDQkFnUWFDb2dBR25LcVRBQ0JBZ1FJRUNBQUFFQ0JHb0NBcENh
amp3Q0JBZ1FJRUNBQUFFQ0JKb0tDRUNhY2lxTUFBRUMKQkFnUUlFQ0FBSUdhZ0FDa3BpT1BBQUVD
QkFnUUlFQ0FBSUdtQWdLUXBwd0tJMENBQUFFQ0JBZ1FJRUNnSmlBQXFlbklJMENBQUFFQwpCQWdR
SUVDZ3FZQUFwQ21ud2dnUUlFQ0FBQUVDQkFnUXFBa0lRR282OGdnUUlFQ0FBQUVDQkFnUWFDb2dB
R25LcVRBQ0JBZ1FJRUNBCkFBRUNCR29DQXBDYWpqd0NCQWdRSUVDQUFBRUNCSm9LQ0VDYWNpcU1B
QUVDQkFnUUlFQ0FBSUdhZ0FDa3BpT1BBQUVDQkFnUUlFQ0EKQUlHbUFnS1FwcHdLSTBDQUFBRUNC
QWdRSUVDZ0ppQUFxZW5JSTBDQUFBRUNCQWdRSUVDZ3FZQUFwQ21ud2dnUUlFQ0FBQUVDQkFnUQpx
QWtJUUdvNjhnZ1FJRUNBQUFFQ0JBZ1FhQ29nQUduS3FUQUNCQWdRSUVDQUFBRUNCR29DQXBDYWpq
d0NCQWdRSUVDQUFBRUNCSm9LCkNFQ2FjaXFNQUFFQ0JBZ1FJRUNBQUlHYWdBQ2twaU9QQUFFQ0JB
Z1FJRUNBQUlHbUFnS1FwcHdLSTBDQUFBRUNCQWdRSUVDZ0ppQUEKcWVuSUkwQ0FBQUVDQkFnUUlF
Q2dxWUFBcENtbndnZ1FJRUNBQUFFQ0JBZ1FxQWtJUUdvNjhnZ1FJRUNBQUFFQ0JBZ1FhQ29nQUdu
SwpxVEFDQkFnUUlFQ0FBQUVDQkdvQ0FwQ2FqandDQkFnUUlFQ0FBQUVDQkpvS0NFQ2FjaXFNQUFF
Q0JBZ1FJRUNBQUlHYWdBQ2twaU9QCkFBRUNCQWdRSUVDQUFJR21BZ0tRcHB3S0kwQ0FBQUVDQkFn
UUlFQ2dKaUFBcWVuSUkwQ0FBQUVDQkFnUUlFQ2dxWUFBcENtbndnZ1EKSUVDQUFBRUNCQWdRcUFr
SVFHbzY4Z2dRSUVDQUFBRUNCQWdRYUNvZ0FHbktxVEFDQkFnUUlFQ0FBQUVDQkdvQ0FwQ2FqandD
QkFnUQpJRUNBQUFFQ0JKb0tDRUNhY2lxTUFBRUNCQWdRSUVDQUFJR2FnQUNrcGlPUEFBRUNCQWdR
SUVDQUFJR21BZ0tRcHB3S0kwQ0FBQUVDCkJBZ1FJRUNnSmlBQXFlbklJMENBQUFFQ0JBZ1FJRUNn
cVlBQXBDbW53Z2dRSUVDQUFBRUNCQWdRcUFrSVFHbzY4Z2dRSUVDQUFBRUMKQkFnUWFDb2dBR25L
cVRBQ0JBZ1FJRUNBQUFFQ0JHb0NBcENhamp3Q0JBZ1FJRUNBQUFFQ0JKb0tDRUNhY2lxTUFBRUNC
QWdRSUVDQQpBSUdhZ0FDa3BpT1BBQUVDQkFnUUlFQ0FBSUdtQWdLUXBwd0tJMENBQUFFQ0JBZ1FJ
RUNnSmlBQXFlbklJMENBQUFFQ0JBZ1FJRUNnCnFZQUFwQ21ud2dnUUlFQ0FBQUVDQkFnUXFBa0lR
R282OGdnUUlFQ0FBQUVDQkFnUWFDb2dBR25LcVRBQ0JBZ1FJRUNBQUFFQ0JHb0MKQXBDYWpqd0NC
QWdRSUVDQUFBRUNCSm9LQ0VDYWNpcU1BQUVDQkFnUUlFQ0FBSUdhZ0FDa3BpT1BBQUVDQkFnUUlF
Q0FBSUdtQWdLUQpwcHdLSTBDQUFBRUNCQWdRSUVDZ0ppQUFxZW5JSTBDQUFBRUNCQWdRSUVDZ3FZ
QUFwQ21ud2dnUUlFQ0FBQUVDQkFnUXFBa0lRR282CjhnZ1FJRUNBQUFFQ0JBZ1FhQ29nQUduS3FU
QUNCQWdRSUVDQUFBRUNCR29DQXBDYWpqd0NCQWdRSUVDQUFBRUNCSm9LQ0VDYWNpcU0KQUFFQ0JB
Z1FJRUNBQUlHYWdBQ2twaU9QQUFFQ0JBZ1FJRUNBQUlHbUFnS1FwcHdLSTBDQUFBRUNCQWdRSUVD
Z0ppQUFxZW5JSTBDQQpBQUVDQkFnUUlFQ2dxWUFBcENtbndnZ1FJRUNBQUFFQ0JBZ1FxQWtJUUdv
NjhnZ1FJRUNBQUFFQ0JBZ1FhQ29nQUduS3FUQUNCQWdRCklFQ0FBQUVDQkdvQ0FwQ2FqandDQkFn
UUlFQ0FBQUVDQkpvS0NFQ2FjaXFNQUFFQ0JBZ1FJRUNBQUlHYWdBQ2twaU9QQUFFQ0JBZ1EKSUVD
QUFJR21BZ0tRcHB3S0kwQ0FBQUVDQkFnUUlFQ2dKaUFBcWVuSUkwQ0FBQUVDQkFnUUlFQ2dxWUFB
cENtbndnZ1FJRUNBQUFFQwpCQWdRcUFrSVFHbzY4Z2dRSUVDQUFBRUNCQWdRYUNvZ0FHbktxVEFD
QkFnUUlFQ0FBQUVDQkdvQ0FwQ2FqandDQkFnUUlFQ0FBQUVDCkJKb0tDRUNhY2lxTUFBRUNCQWdR
SUVDQUFJR2FnQUNrcGlPUEFBRUNCQWdRSUVDQUFJR21BZ0tRcHB3S0kwQ0FBQUVDQkFnUUlFQ2cK
SmlBQXFlbklJMENBQUFFQ0JBZ1FJRUNncVlBQXBDbW53Z2dRSUVDQUFBRUNCQWdRcUFrSVFHbzY4
Z2dRSUVDQUFBRUNCQWdRYUNvZwpBR25LcVRBQ0JBZ1FJRUNBQUFFQ0JHb0NBcENhamp3Q0JBZ1FJ
RUNBQUFFQ0JKb0tDRUNhY2lxTUFBRUNCQWdRSUVDQUFJR2FnQUNrCnBpT1BBQUVDQkFnUUlFQ0FB
SUdtQWdLUXBwd0tJMENBQUFFQ0JBZ1FJRUNnSmlBQXFlbklJMENBQUFFQ0JBZ1FJRUNncVlBQXBD
bW4Kd2dnUUlFQ0FBQUVDQkFnUXFBa0lRR282OGdnUUlFQ0FBQUVDQkFnUWFDb2dBR25LcVRBQ0JB
Z1FJRUNBQUFFQ0JHb0NBcENhamp3QwpCQWdRSUVDQUFBRUNCSm9LQ0VDYWNpcU1BQUVDQkFnUUlF
Q0FBSUdhZ0FDa3BpT1BBQUVDQkFnUUlFQ0FBSUdtQWdLUXBwd0tJMENBCkFBRUNCQWdRSUVDZ0pp
QUFxZW5JSTBDQUFBRUNCQWdRSUVDZ3FZQUFwQ21ud2dnUUlFQ0FBQUVDQkFnUXFBa0lRR282OGdn
UUlFQ0EKQUFFQ0JBZ1FhQ29nQUduS3FUQUNCQWdRSUVDQUFBRUNCR29DQXBDYWpqd0NCQWdRSUVD
QUFBRUNCSm9LQ0VDYWNpcU1BQUVDQkFnUQpJRUNBQUlHYWdBQ2twaU9QQUFFQ0JBZ1FJRUNBQUlH
bUFnS1FwcHdLSTBDQUFBRUNCQWdRSUVDZ0ppQUFxZW5JSTBDQUFBRUNCQWdRCklFQ2dxWUFBcENt
bndnZ1FJRUNBQUFFQ0JBZ1FxQWtJUUdvNjhnZ1FJRUNBQUFFQ0JBZ1FhQ29nQUduS3FUQUNCQWdR
SUVDQUFBRUMKQkdvQ0FwQ2FqandDQkFnUUlFQ0FBQUVDQkpvS0NFQ2FjaXFNQUFFQ0JBZ1FJRUNB
QUlHYWdBQ2twaU9QQUFFQ0JBZ1FJRUNBQUlHbQpBZ0tRcHB3S0kwQ0FBQUVDQkFnUUlFQ2dKaUFB
cWVuSUkwQ0FBQUVDQkFnUUlFQ2dxWUFBcENtbndnZ1FJRUNBQUFFQ0JBZ1FxQWtJClFHbzY4Z2dR
SUVDQUFBRUNCQWdRYUNvZ0FHbktxVEFDQkFnUUlFQ0FBQUVDQkdvQ0FwQ2FqandDQkFnUUlFQ0FB
QUVDQkpvS0NFQ2EKY2lxTUFBRUNCQWdRSUVDQUFJR2FnQUNrcGlPUEFBRUNCQWdRSUVDQUFJR21B
Z0tRcHB3S0kwQ0FBQUVDQkFnUUlFQ2dKaUFBcWVuSQpJMENBQUFFQ0JBZ1FJRUNncVlBQXBDbW53
Z2dRSUVDQUFBRUNCQWdRcUFrSVFHbzY4Z2dRSUVDQUFBRUNCQWdRYUNvZ0FHbktxVEFDCkJBZ1FJ
RUNBQUFFQ0JHb0NBcENhamp3Q0JBZ1FJRUNBQUFFQ0JKb0tDRUNhY2lxTUFBRUNCQWdRSUVDQUFJ
R2FnQUNrcGlPUEFBRUMKQkFnUUlFQ0FBSUdtQWdLUXBwd0tJMENBQUFFQ0JBZ1FJRUNnSmlBQXFl
bklJMENBQUFFQ0JBZ1FJRUNncVlBQXBDbW53Z2dRSUVDQQpBQUVDQkFnUXFBa0lRR282OGdnUUlF
Q0FBQUVDQkFnUWFDb2dBR25LcVRBQ0JBZ1FJRUNBQUFFQ0JHb0NBcENhamp3Q0JBZ1FJRUNBCkFB
RUNCSm9LQ0VDYWNpcU1BQUVDQkFnUUlFQ0FBSUdhZ0FDa3BpT1BBQUVDQkFnUUlFQ0FBSUdtQWdL
UXBwd0tJMENBQUFFQ0JBZ1EKSUVDZ0ppQUFxZW5JSTBDQUFBRUNCQWdRSUVDZ3FZQUFwQ21ud2dn
UUlFQ0FBQUVDQkFnUXFBa0lRR282OGdnUUlFQ0FBQUVDQkFnUQphQ29nQUduS3FUQUNCQWdRSUVD
QUFBRUNCR29DQXBDYWpqd0NCQWdRSUVDQUFBRUNCSm9LQ0VDYWNpcU1BQUVDQkFnUUlFQ0FBSUdh
CmdBQ2twaU9QQUFFQ0JBZ1FJRUNBQUlHbUFnS1FwcHdLSTBDQUFBRUNCQWdRSUVDZ0ppQUFxZW5J
STBDQUFBRUNCQWdRSUVDZ3FZQUEKcENtbndnZ1FJRUNBQUFFQ0JBZ1FxQWtJUUdvNjhnZ1FJRUNB
QUFFQ0JBZ1FhQ29nQUdua1BGVzZBQUFLYVVsRVFWVEtxVEFDQkFnUQpJRUNBQUFFQ0JHb0NBcENh
amp3Q0JBZ1FJRUNBQUFFQ0JKb0tDRUNhY2lxTUFBRUNCQWdRSUVDQUFJR2FnQUNrcGlPUEFBRUNC
QWdRCklFQ0FBSUdtQWdLUXBwd0tJMENBQUFFQ0JBZ1FJRUNnSmlBQXFlbklJMENBQUFFQ0JBZ1FJ
RUNncVlBQXBDbW53Z2dRSUVDQUFBRUMKQkFnUXFBa0lRR282OGdnUUlFQ0FBQUVDQkFnUWFDb2dB
R25LcVRBQ0JBZ1FJRUNBQUFFQ0JHb0NBcENhamp3Q0JBZ1FJRUNBQUFFQwpCSm9LQ0VDYWNpcU1B
QUVDQkFnUUlFQ0FBSUdhZ0FDa3BpT1BBQUVDQkFnUUlFQ0FBSUdtQWdLUXBwd0tJMENBQUFFQ0JB
Z1FJRUNnCkppQUFxZW5JSTBDQUFBRUNCQWdRSUVDZ3FZQUFwQ21ud2dnUUlFQ0FBQUVDQkFnUXFB
a0lRR282OGdnUUlFQ0FBQUVDQkFnUWFDb2cKQUduS3FUQUNCQWdRSUVDQUFBRUNCR29DQXBDYWpq
d0NCQWdRSUVDQUFBRUNCSm9LQ0VDYWNpcU1BQUVDQkFnUUlFQ0FBSUdhZ0FDawpwaU9QQUFFQ0JB
Z1FJRUNBQUlHbUFnS1FwcHdLSTBDQUFBRUNCQWdRSUVDZ0ppQUFxZW5JSTBDQUFBRUNCQWdRSUVD
Z3FZQUFwQ21uCndnZ1FJRUNBQUFFQ0JBZ1FxQWtJUUdvNjhnZ1FJRUNBQUFFQ0JBZ1FhQ29nQUdu
S3FUQUNCQWdRSUVDQUFBRUNCR29DQXBDYWpqd0MKQkFnUUlFQ0FBQUVDQkpvS0NFQ2FjaXFNQUFF
Q0JBZ1FJRUNBQUlHYWdBQ2twaU9QQUFFQ0JBZ1FJRUNBQUlHbUFnS1FwcHdLSTBDQQpBQUVDQkFn
UUlFQ2dKaUFBcWVuSUkwQ0FBQUVDQkFnUUlFQ2dxWUFBcENtbndnZ1FJRUNBQUFFQ0JBZ1FxQWtJ
UUdvNjhnZ1FJRUNBCkFBRUNCQWdRYUNvZ0FHbktxVEFDQkFnUUlFQ0FBQUVDQkdvQ0FwQ2FqandD
QkFnUUlFQ0FBQUVDQkpvS0NFQ2FjaXFNQUFFQ0JBZ1EKSUVDQUFJR2FnQUNrcGlPUEFBRUNCQWdR
SUVDQUFJR21BZ0tRcHB3S0kwQ0FBQUVDQkFnUUlFQ2dKaUFBcWVuSUkwQ0FBQUVDQkFnUQpJRUNn
cVlBQXBDbW53Z2dRSUVDQUFBRUNCQWdRcUFrSVFHbzY4Z2dRSUVDQUFBRUNCQWdRYUNvZ0FHbktx
VEFDQkFnUUlFQ0FBQUVDCkJHb0NBcENhamp3Q0JBZ1FJRUNBQUFFQ0JKb0tDRUNhY2lxTUFBRUNC
QWdRSUVDQUFJR2FnQUNrcGlPUEFBRUNCQWdRSUVDQUFJR20KQWdLUXBwd0tJMENBQUFFQ0JBZ1FJ
RUNnSmlBQXFlbklJMENBQUFFQ0JBZ1FJRUNncVlBQXBDbW53Z2dRSUVDQUFBRUNCQWdRcUFrSQpR
R282OGdnUUlFQ0FBQUVDQkFnUWFDb2dBR25LcVRBQ0JBZ1FJRUNBQUFFQ0JHb0NBcENhamp3Q0JB
Z1FJRUNBQUFFQ0JKb0tDRUNhCmNpcU1BQUVDQkFnUUlFQ0FBSUdhZ0FDa3BpT1BBQUVDQkFnUUlF
Q0FBSUdtQWdLUXBwd0tJMENBQUFFQ0JBZ1FJRUNnSmlBQXFlbkkKSTBDQUFBRUNCQWdRSUVDZ3FZ
QUFwQ21ud2dnUUlFQ0FBQUVDQkFnUXFBa0lRR282OGdnUUlFQ0FBQUVDQkFnUWFDb2dBR25LcVRB
QwpCQWdRSUVDQUFBRUNCR29DQXBDYWpqd0NCQWdRSUVDQUFBRUNCSm9LQ0VDYWNpcU1BQUVDQkFn
UUlFQ0FBSUdhZ0FDa3BpT1BBQUVDCkJBZ1FJRUNBQUlHbUFnS1FwcHdLSTBDQUFBRUNCQWdRSUVD
Z0ppQUFxZW5JSTBDQUFBRUNCQWdRSUVDZ3FZQUFwQ21ud2dnUUlFQ0EKQUFFQ0JBZ1FxQWtJUUdv
NjhnZ1FJRUNBQUFFQ0JBZ1FhQ29nQUduS3FUQUNCQWdRSUVDQUFBRUNCR29DQXBDYWpqd0NCQWdR
SUVDQQpBQUVDQkpvS0NFQ2FjaXFNQUFFQ0JBZ1FJRUNBQUlHYWdBQ2twaU9QQUFFQ0JBZ1FJRUNB
QUlHbUFnS1FwcHdLSTBDQUFBRUNCQWdRCklFQ2dKaUFBcWVuSUkwQ0FBQUVDQkFnUUlFQ2dxWUFB
cENtbndnZ1FJRUNBQUFFQ0JBZ1FxQWtJUUdvNjhnZ1FJRUNBQUFFQ0JBZ1EKYUNvZ0FHbktxVEFD
QkFnUUlFQ0FBQUVDQkdvQ0FwQ2FqandDQkFnUUlFQ0FBQUVDQkpvS0NFQ2FjaXFNQUFFQ0JBZ1FJ
RUNBQUlHYQpnQUNrcGlPUEFBRUNCQWdRSUVDQUFJR21BZ0tRcHB3S0kwQ0FBQUVDQkFnUUlFQ2dK
aUFBcWVuSUkwQ0FBQUVDQkFnUUlFQ2dxWUFBCnBDbW53Z2dRSUVDQUFBRUNCQWdRcUFrSVFHbzY4
Z2dRSUVDQUFBRUNCQWdRYUNvZ0FHbktxVEFDQkFnUUlFQ0FBQUVDQkdvQ0FwQ2EKamp3Q0JBZ1FJ
RUNBQUFFQ0JKb0tDRUNhY2lxTUFBRUNCQWdRSUVDQUFJR2FnQUNrcGlPUEFBRUNCQWdRSUVDQUFJ
R21BZ0tRcHB3SwpJMENBQUFFQ0JBZ1FJRUNnSmlBQXFlbklJMENBQUFFQ0JBZ1FJRUNncVlBQXBD
bW53Z2dRSUVDQUFBRUNCQWdRcUFrSVFHbzY4Z2dRCklFQ0FBQUVDQkFnUWFDb2dBR25LcVRBQ0JB
Z1FJRUNBQUFFQ0JHb0NBcENhamp3Q0JBZ1FJRUNBQUFFQ0JKb0tDRUNhY2lxTUFBRUMKQkFnUUlF
Q0FBSUdhZ0FDa3BpT1BBQUVDQkFnUUlFQ0FBSUdtQWdLUXBwd0tJMENBQUFFQ0JBZ1FJRUNnSmlB
QXFlbklJMENBQUFFQwpCQWdRSUVDZ3FZQUFwQ21ud3Y1LyszVm9Bd0FBZ0REcy82LzVZQXBaVFlL
b0d3RUNCQWdRSUVDQUFBRUNKU0JBU3NkR2dBQUJBZ1FJCkVDQkFnTUJWUUlCY09aMFJJRUNBQUFF
Q0JBZ1FJRkFDQXFSMGJBUUlFQ0JBZ0FBQkFnUUlYQVVFeUpYVEdRRUNCQWdRSUVDQUFBRUMKSlNC
QVNzZEdnQUFCQWdRSUVDQkFnTUJWUUlCY09aMFJJRUNBQUFFQ0JBZ1FJRkFDQXFSMGJBUUlFQ0JB
Z0FBQkFnUUlYQVVFeUpYVApHUUVDQkFnUUlFQ0FBQUVDSlNCQVNzZEdnQUFCQWdRSUVDQkFnTUJW
UUlCY09aMFJJRUNBQUFFQ0JBZ1FJRkFDQXFSMGJBUUlFQ0JBCmdBQUJBZ1FJWEFVRXlKWFRHUUVD
QkFnUUlFQ0FBQUVDSlNCQVNzZEdnQUFCQWdRSUVDQkFnTUJWUUlCY09aMFJJRUNBQUFFQ0JBZ1EK
SUZBQ0FxUjBiQVFJRUNCQWdBQUJBZ1FJWEFVRXlKWFRHUUVDQkFnUUlFQ0FBQUVDSlNCQVNzZEdn
QUFCQWdRSUVDQkFnTUJWUUlCYwpPWjBSSUVDQUFBRUNCQWdRSUZBQ0FxUjBiQVFJRUNCQWdBQUJB
Z1FJWEFVRXlKWFRHUUVDQkFnUUlFQ0FBQUVDSlNCQVNzZEdnQUFCCkFnUUlFQ0JBZ01CVlFJQmNP
WjBSSUVDQUFBRUNCQWdRSUZBQ0FxUjBiQVFJRUNCQWdBQUJBZ1FJWEFVRXlKWFRHUUVDQkFnUUlF
Q0EKQUFFQ0pTQkFTc2RHZ0FBQkFnUUlFQ0JBZ01CVlFJQmNPWjBSSUVDQUFBRUNCQWdRSUZBQ0Fx
UjBiQVFJRUNCQWdBQUJBZ1FJWEFVRQp5SlhUR1FFQ0JBZ1FJRUNBQUFFQ0pTQkFTc2RHZ0FBQkFn
UUlFQ0JBZ01CVlFJQmNPWjBSSUVDQUFBRUNCQWdRSUZBQ0FxUjBiQVFJCkVDQkFnQUFCQWdRSVhB
VUV5SlhUR1FFQ0JBZ1FJRUNBQUFFQ0pTQkFTc2RHZ0FBQkFnUUlFQ0JBZ01CVlFJQmNPWjBSSUVD
QUFBRUMKQkFnUUlGQUNBcVIwYkFRSUVDQkFnQUFCQWdRSVhBVUV5SlhUR1FFQ0JBZ1FJRUNBQUFF
Q0pTQkFTc2RHZ0FBQkFnUUlFQ0JBZ01CVgpRSUJjT1owUklFQ0FBQUVDQkFnUUlGQUNBcVIwYkFR
SUVDQkFnQUFCQWdRSVhBVUV5SlhUR1FFQ0JBZ1FJRUNBQUFFQ0pTQkFTc2RHCmdBQUJBZ1FJRUNC
QWdNQlZRSUJjT1owUklFQ0FBQUVDQkFnUUlGQUNBcVIwYkFRSUVDQkFnQUFCQWdRSVhBVUV5SlhU
R1FFQ0JBZ1EKSUVDQUFBRUNKU0JBU3NkR2dBQUJBZ1FJRUNCQWdNQlZRSUJjT1owUklFQ0FBQUVD
QkFnUUlGQUNBcVIwYkFRSUVDQkFnQUFCQWdRSQpYQVVFeUpYVEdRRUNCQWdRSUVDQUFBRUNKU0JB
U3NkR2dBQUJBZ1FJRUNCQWdNQlZRSUJjT1owUklFQ0FBQUVDQkFnUUlGQUNBcVIwCmJBUUlFQ0JB
Z0FBQkFnUUlYQVVFeUpYVEdRRUNCQWdRSUVDQUFBRUNKVENES2Z2NkplZDZZZ0FBQUFCSlJVNUVy
a0pnZ2c9PQoKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJu
YXRpb25hbC9ydGwtd2hpdGUtc3BhY2UtcHJlLXdyYXAtZXhwZWN0ZWQucG5nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
Q2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5
cGUgPSBpbWFnZS9wbmcKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fk
b0p3QUFBQzdtbERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0YKVk05ckUwRVUvalp1cWRBaUNGcHJE
cko0a0NKSldhdG9SZFEyL1JGaWF3emJIN1pGa0dRelNkWnVOdXZ1SnJXbGlPVGkwU3JlUmUyaApC
LytBSG5yd1pDOUtoVnBGS042cktHS2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05Q
V0FCT1FOeDFLaUVXbHNmRUpxCi9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3cz
djdkN0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4Q2xrU0FvZzgKMzZFcHgzUUkzK1BZOHV5UE9V
NTVlTUcxRHlzOXhGa2lmRUExTGM1L1RiaFR6U1hUUUlOSU9KVDFjVkkrbk5lTGxOY2RCMmx1WnNi
SQpFTDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1I
aHBPYkVoajBjR0RYMCtHQVZ0eHFwCitEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01w
a1lZQnpXa2hQMTB4dStMcUhCWDBtMXhPdjRuZFdVZUY1anhObjN0VGQKNzBYYUFxOHdEaDBNR2d5
YURVaFFFRVVFWVppd1VFQ0dQQm94TkxKeVB5T3JCaHVUZXpKMUpHcTdkR0pFc1VGN050dzl0MUdr
M1R6KwpLQ0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdY
MDhqamMwMWVmSlhVZHBOWFI1YXNlWHE4Cm11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1N
Rk1YalZmUHFTNFIxV2pFMzM1OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4KL1dwSSsrNnF2SlBt
VmZsUFh2WHgvR2ZOeEdQaUtURW1kb3JuSVltWHhTN3hrdGhMcXd2aVlHM0hDSjJWaGluU2JaSDZK
TlZnWUpxOAo5UzlkUDF0NHZVWi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNp
dWVmS0FJdmJPREltYnB0VTNIdkVLRmxwVzV6CnJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNO
WjhndkFFY2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wKMTJWTEZyT1pW
V0xwZHRpWjB4MXVIS0U1UXZmRXAwcGxrL3F2OFJHdy9iQlMrZm1zVXRsK1RocldnWmY2YjhDOC9V
WEFlSXVKQUFBZwpBRWxFUVZSNEFleWRCN2pXUk5iSHp3V2txSWlvaUFVVVViRTNGQlZzTk92cXFp
dGlSY1VHcnIyc3VuNzJnbGh4N1lLOUxhSmlWMFNhCnZhNjlvU0xZc2RGN3kzZitFeWQzM3R5MHQ5
M0MvYy96M0p0a01uTm01cGRrM2ptWmN5WVZuZ1poSUFFU0lBRVNJQUVTSUFFU0lBRVMKSUlGcUlO
Q2dHc3BnRVNSQUFpUkFBaVJBQWlSQUFpUkFBaVJnQ0ZBQjRZMUFBaVJBQWlSQUFpUkFBaVJBQWlS
UWJRU29nRlFiYWhaRQpBaVJBQWlSQUFpUkFBaVJBQWlSQUJZVDNBQW1RQUFtUUFBbVFBQW1RQUFt
UVFMVVJvQUpTYmFoWkVBbVFBQW1RQUFtUUFBbVFBQW1RCkFCVVEzZ01rUUFJa1FBSWtRQUlrUUFJ
a1FBTFZSb0FLU0xXaFprRWtRQUlrUUFJa1FBSWtRQUlrUUFKVVFIZ1BrQUFKa0FBSmtBQUoKa0FB
SmtBQUpWQnNCS2lEVmhwb0ZrUUFKa0FBSmtBQUprQUFKa0FBSmxGUUJtVFZybHZ6d3d3K3hWUC84
ODAvNSt1dXZZOC9IblNnMApYNXk4bW83LzdiZmZaTXlZTVRKbHlwU2FyZ3JMSndFU0lBRVNJQUVT
SUFFU0lJRnFKWkNxZ095OTk5N1NzbVZMMldPUFBhUjM3OTdTCnNHRkRXV2VkZGFSWHIxNnk0NDQ3
bXVQNzc3OWZIbjc0WVduZHVyVTg4TUFEc1EyNDhNSUxaYi85OW9zOUgzZWkwSHh4OG1veWZ2RGcK
d1RKMDZGQjUrZVdYWlpOTk5wSDU4K2NYWFozRml6MzU2cXZGOHZqakMrVDc3NWNVTFM4ZkFaN255
WXdaWHBERkhzK1o0Nm1TdFZCdQp2SEdlZlBmZDR1QjhkZTBzV2VMWENmV1pPSEd4UFB2c0F2bm9v
MFVTUHE2dStwU2pITFFSYlhyd3dmbnl5U2ZWeTlqeUxVZTdpcEZwCjc3ODRHVFg1cklUclZOUFBT
TGcrV1k2anJ2c1BQeXdSY0kwS1VlbVJyaFQzN3N5Wm5yejQ0a0laT1hLaGdHVlMrUFhYSmZMODh3
c0YKVzRSdnYxMHNyNzIycU1vZitnbzM0Qmo5Nmg5L3hQZXJpeGN2MXY3M0swMzN1UGEvMzd2Wnk3
N3YzKzh6Z25MczhadzVjOHhMcmh0dgp2Rkg3MysrQzg5VzFzMlNKejh2dmJ5ZHEvL3VzOWxVZi9k
WC9WaDVYVjMzS1VRN2FpRFk5K09DRDJ2OStVbzRpWW1WYXZyRUphdWlFCnZmL2lpcS9KWnlWY3A1
cCtSc0wxeVhJY2RkM3gwaDljNjJUUUd5WXg3TGJiYnQ2MzMzNGJwR25hdEtsMzFGRkhCY2ZYWFhl
ZGQ4Y2QKZDVqampUYmF5THZpaWl1Q2MrR2RQLzc0dzlPT09oeWRlbHhvdmxUQlRvSjU4K1o1T2l2
aHhPUy9teVpEWjRpODVaWmJ6dE9ieFFoLwovZlhYOHk4a0lzZk1tVXU4bTI2YTYxVlVUUEYrKzgy
WEhaR3NMRkZQUFRYZkd6QmdUaURiSHMrZHU4Uzc2NjU1M2pMTFRQRm16RmdTCm5LK09uZi85YjZI
WG9zVlU3K2VmRjN2ejV5L3hIbjEwdm81T3BuanZ2TE93eW5GMTFLZGNaU3hjdU1SVHhjcTA3YlBQ
RnBXcm1DcHkKWGI1VlR0WndoTDMvNHFwUms4OUt1RTQxK1l5RTY1TGxPSHpkZi85OXNYZmNjYk84
dDk1YTZKMTk5bXp2emp2bjVZZ0pwM2RQRm52dgpqaDI3d092V2JZYjM5dHNMdlU4K1dlVHR0OTlN
NzQ4L3F2Wjk5OTgvejl0OTl4bmVndy9POHhZczhQc2g5RWRyckRIVjlFM05tazN4CjdGK0RCbE84
bDE5ZVlLcUordlhwTTh1NzVKSTUzdWVmTC9KMjNYV0dOMmxTOURNMlV6V2htMjY2U2Z2ZkN1MS9m
M09iV2ZiOXA1NTYKU3Z2ZkFVRTU5bmp1M0xuYS85NmxiVnhHKzk4WndmbnEyUG5mLy82bi9XOEw3
WDkvMXY1MnZ2YS9qMEk3MVA3M25TckgxVkdmY3BXeApjT0ZDN1grZk5XMzc3TFBQeWxWTUZia3Uz
eW9uYXpqQzNuOXgxYWpKWnlWY3A1cDhSc0oxeVhJY3Z1Ni8vLzY3OXIvSGFmLzdsdmEvCloydi9l
MmNXTWJVcVRlb015QmxubkdGbVBPSzBxMzc5K3BrMytUaXZuWjFvSnh5WFZGWmVlV1ZaZi8zMXE1
eFhJbFhpM0loQzgxa1oKaXhZdHNydVJXKzFJcEUrZlB2THFxNjlHbm8rTGRPdWRSUWJla2l4WXNF
QWFOUEN4ZCtuU0pVNTBYdkhMTDE4aEs2NVlJUjA3TnBSVwpyZUl2NlU4LzViN0ZDeC9uVmVoZmll
KzlkNEVjZFZTVElLczlidHEwUXZRM1VIYllvWkUwYng1L1R3UVpTN2l6OXRvTnBILy94bnEvClZV
amp4aFd5NnFvVnN0SktGYkwxMWcyckhKZXcyR29YMWFoUmhkNVBucXkxVmdQWmVPT0cxVmEreTdm
YUNzMVlrTDMvNHBKbmZWYmkKOHBjeXZpYWZrVUxhRWI3dUR6NjRRTis4aVd5M1hTTTU4TURHOG4v
L056ZG5KaVNjM2kyem1Ic1hzNzE3N1RWTDdyaGpXZGwyMjBheQo2YVlOVFQvenlDTUxnaUwwZlpJ
Y2UreHN1ZjMyK2ZMUVE4dkpZWWMxMGQ4bnZ4OUN2Ujk5ZEhudG4xYlVtWk9XNXUvbGw1dkxFVWMw
CmxwMTNYc2JJT09hWU9iTHV1ZzNrd2d1YnlVWWJOWlI5OTExR3JyaGlYaURmM1ZsKytlVzEvMTFS
KzkrTzJ2KzJjay9sN1AvMDAwK0oKeHprbk14N2NlKys5MnY4ZUZhUzJ4L3FpVU5zM1Y3bnNvUDF2
OCtCOGRleXN2ZmJhMnYvMk43LzNqUnMzMXY1M1ZlMS9WOUwrZDJ2dApmM09QcTZNKzVTcWpVYU5H
NXZkOHJiWFcwdjUzNDNJVlUwV3V5N2ZLeVJxT3NQZGZYRFd5UGl0eCtVc1pYNVBQU0NIdENGOTN6
THhoCjVtTzc3YmJUL3ZkQTdYLy9yODdOaERSS0E3SDc3cnNuSnRFMytxYVRzNGt3UlFTVEtkeUlL
Nnl3Z2p6enpETkdnZm5sbDErTWVkWVQKVHp3aGI3NzVwa24reUNPUEdEOElmVU1qcWpuTEcyKzhZ
Y1VFMjBMelFjRG8wYVBsdmZmZU0wb1I1T3RNamY1WWJSckl0anMzM0hDRApQUDMwMC9MTk45L0lo
QWtUNU5aYmJ4WDRzMXgxMVZXaVdxZlp2K1dXVzJUNzdiYzNXYUxxSFNVRGJHeFE3VlFlZSt3eGdU
SjA0b2tuClNyTm16ZVRhYTY4MXNzODk5MXhwMHFTSktSdWRHY3JGK2ZmZmY5L1VHVDlxT0VZWnp6
MzNuUDdvYm12RkJ0c1hYMXdrdSsvdS8zZ0cKa2M3T1k0OHRNS1lFLy8zdjhpWTJmT3dremJ6Nzg4
KytRclA2NnI3U0V6NSs0WVZGYXJvWFg2Zk1CZVdaY09XVkc4akFnY3NHdVZDUApuajBicWVMbkQw
REN4MEhDT3JqenhCTUxaYzg5VXgvamtyWXN6TGVrd29zUUZyNy80a1NsUFN0eCtjb1JYMVBQU0NG
dENWLzNmdjJhCkJLWlBUeis5VU5xMGFhQW11WlV2RzhMcHcyVVdldTllZU9GY1dXKzlodm95cTFM
cGJ0R2lRdjc3M3dYeXozODJOVXI1emp2UDFNR3UKeUlnUnphdThBRG5oaE1vWEpxaVR2c2lXczg2
YUs4T0crZjMxazA4dWtCZGVXS2o5Y1l1Z3lwRC94aHZ4TDdKZWZQRkY3WC9qZnl2Ugo5OE5FNjcv
Ly9hK1JHVDRPQ3NwalIyY1lUT3JWVjEvZGJNUEhMN3p3Z2pHZHprTmtTWkxpaGVIQWdRTURXYWhI
ejU0OWd4ZHY0ZU1nCllSM2N3WGhtenozM3JOYWFoL2xXYStFSmhZWHZ2N2lrYWM5S1hMNXl4TmZV
TTFKSVc4TFhIUy8vWVVhR2dQRnJtelp0akV0RUliSnIKTEUrKzh6RmhFeXczLythYmIrNXRzY1VX
M3FoUm96eTFTL00yM0hCRDc5aGpqelZKTURXdGIwVzhWVlpaeFJ4aituS2JiYllKc3A5KwordW1C
YVZJUXFUdUY1c1BVNzVwcnJobVlWVjE4OGNYZUFRY2M0SXJPMlcvWHJsMHdsYTFLZ3FlZGlwbTZo
cm1VWG1oUGxRQnY2dFNwClhsSzlYUms1d3Y4NkdEWnNtS2V6SHptbmR0NTVaMDk5YUV5Y3pvNTRx
bHg0Nm5kampsVlI4OVQveHR0eXl5MDkvY0V5OVlneVlWT2wKejJ2ZGVxcjN5aXNMakVsQ3o1NHo5
RHBNMTdvdU1YK25uejdiYTlSb2lyWnBocFkxejNPUDc3bG5ubmZkZFhPOWRkZWRac3dVcnJsbQpy
dGV4NDNUdm9JTm1lakFSc1dIUm9pVjZ2YVo3VjE4OTEwYXB1ZDBjNyttbjUwY2V6NXUzeEZ0MjJT
bmU2Njh2OUs2LzNwZDV5Q0V6CnZlblQvVHFoekE0ZHBublBQZWViUEtBTlBYck04RjU2eVQrRzBQ
ZmZYK2dOSERqWEd6cDB2b2U4S08vTk54ZWE4aUJ6aHgybUIzKzkKZTg4MGJYM2dnWG5lVmx0Tjl5
NjhzTklzYk1zdHArZVloNFNQVWFmLys3ODUzaTIzekRVc3VuZWY0Y0dVSnk3QWhPUDg4K2Q0OTk0
Nwp6N3Zvb2puZWxWZjZUTUFyQzB1MEZXWEJSTzNnZzJlYU5zK1pzOFM3OGNhNTNuYmJUZmNlZVdT
KzkrR0hDejFjeDA2ZHB1dHpVWGtkClpzMWE0bDF3d1J5VEZ1bGJ0cHpxUGZsa1pWM2oyZ0w1dDk0
NnoydmJkcXIzL1BNTHZNc3ZuMlB1bWYvK2Q1NHA0NnFyS3EvcitQR0wKdlAvOHh6K0dDUnZ1TFZ3
TEJKZHYxanFIT2NieGk2dmpWMS81cGk5Sjl3UEtDTitQdUtaZ2RPU1JzNHc1RGRJa1BTczRqeEJY
djlkZQpXNWdYSzE5YS9QOXlQeU5SSlUrWnN0aGNlNWdrWFhaWjd2T2J4TmU5N21HNUw3NjR3TnRv
bzJuZTk5OVhta0JGcFUrN2Q4Tnk0NDQzCjJHQ2FkOUpKczNOT24zenliR01taGNpTEw1NWp6RkZo
UW5YZ2dUTzFQNTNwalJ0WDJhL2taTlFEM0RjMzMremY3N2cvMEhlZWUyNWwKLzRIMGVEN1dYbnRh
T0tzNTl1K3AxdHIvdnFMOTc5djYzUFkwdjRQNHJjQWZmdHYwYmJuNVRVRmY3eDdmYzg4OTJtZGNw
LzN2dXRyLwpQdWhkYzgwMTJ2OTIxUDczSU8xL0s1OUovQ2JoOS9McXE2OE82Z0J6WngxNFJCN0RI
SGpaWlpmVi92ZDE3WCt2TnpJUE9lUVE3WC94CnU3RFFsTm1oUXdmdGY1OEwydENqUncvdGkxNEs1
T2tMTU8xL0Iyci9PMVQ3MzBPVTB4WGEvNzVwemtPbXpxNEVmK29mYXVTcUQ2ajIKdjF0cC8zdGhJ
QWUvWDY1NVNQZ1lkZEszdDlvbjNtTHExYjE3ZCsxL253cnloM2RnVW5iKytlZHIvM3V2OXI4WGFm
OTdwVWtDWGxsWQordjN2TGNaRTdlQ0REelp0MW9HYzloVTNhdis3bmZhL2oyai8rNkc1anAwNmRj
b1psOENNK29JTExqQnBrUjYvejA4KytXUlF4YmkyClFMNisyTlQrdDYzMnY4L3JNM2k1OXF1dFBW
Vkl0VS9wcFBmWFZZR004ZVBIYS8vN0gzT01jUXpTNFZvZ3VIeXoxdGxrZFA3RjhZdXIKb3gxekpO
MFBFQisrSDNGTndlaklJNC9VL3JlUHFVSFNzMktyR0ZlLzExNTdMUzlXVmw3Y3R0elBTRlM1dXZD
UXVmWjQxaSs3N0xLYwo1emVKcjN2ZHczSlZvZFArZHlQdGY3OFBuNnIxeDNBS3l5dWtLU0M0Nld3
NDRZUVRQSFZVdDRlbWcxRXR6aHpEZmcyZHN1MEFQLy84CmN3K2RiRlJBeDVSdlB0em9KNTk4c3Fj
cmFCbVJzTkhWYWRJbzhTWU95b1B0eU5TaDNsT25lMU0zMUEvS2kycUlwbE5NcXJjckk2cWcKc0FL
aTJyZFJTS0I0MkhENzdiZWJzblEyeUVSMTd0elpkUDcyZk5UMmd3OFdlaXVzTU1YWVltT3dEcHRs
K0R6QUJ3Smg4dVRGNWdkWgpuY0VqanpIQVEzb01TakhnL1BYWHhWcXZLVGtEVzJRODVwaFozckJo
L21BWGZIZmFhWVplTTM5d0hEN0dvQVFEMTJ1dm5XdktuenAxCnNmcS9URkYvSWQ5Ty9OMTNGM29O
RzA0eENnbGtZNERnK3JCOC9mVWlrMzdVS0orTkhkamJOcHgxMW16dmpUY1dtb0U2NmcwR0NCZzgK
UWk1c3hCRisrY1Z2dXgwY2hZL0JDSU44MkpJalFHRkMyMUhmcUlEeU45bGttaXEybGRkczVaV25l
bWdQUWhwTEREcjMyV2VtQjhVUAo0ZGhqWndWS0hRYUFVQlF4MEFWbkhPTzZXTnQyK1Bkc3YvMTA3
OVZYL2JKd3JSczNudUxCcndFaHJTMWdBUG5EaDg4My9qQ1hYanJICjVNVmc2eC8vbUdsazREckN0
djdVVXlzSGVHQnRmVXpDZk5QcWJJUTYvOUw0eGRVeDdYNEkzMys0RHJEdHgvME1CUTV0UUVoN1Z0
THEKbHc4cnA5bVJ1K1YrUnNLRmdpSHVkV3dSNE45dzZLR3p6SDRhMy9CMU41bjAzMDgvTGRZWE96
TzFuODE5WHNMcDArNWRQT2RRcHVQKwo0T05oQTE1VTRCbXlBVXBWbXpaVHpVc0I5RjE0Sms0NXBm
TCtoVy9LOHN0UE1YMkJ6V08zVUxhN2RLbFU4cUg0NDVrYlBicnkrVVphCjlIMG9OeXA4OE1FSDJ2
K3VZR3l4TVZqSGJ4bCtMK0FEZ1RCNThtVGpINkxPNEpISEdPQWhQUWFsR0hEKyt1dXY1bmZCSGRn
aTR6SEgKSEtQOXdqQWp3Ny9mZHdwK004UEhHSlJnNEtxejdLWjh2RHlELzZIMTEzejMzWGUxbjJ4
b0ZCSUlIRGR1bkttajlXSFIxU3BOZXJ4TQpSTEFEZTl1R3M4NDZTL3ZmTjh4QUhmVUdBd1FNSGlG
MzdOaXg1bGd0R0l4Y096Z0tINE1SQnVCUTNCQ2dNT0VsSGVvYkZWQytMdDRTCnZGaEVHb3dOMEI2
RU5KWVlkTzZ6eno3YS85NWowdU1GcVZYcU1BREVtQVFEWFhER01hNExmRkFSd0VhdElMVC9mZFVj
NDFxclNabjIKb2Y2OW1OWVdNSUQ4NGNPSEczK1lTeSs5MU9SVkN3anRmLzloWlByOWJ6ZnRmMDgx
eC9nSDF0YkhKTXczcmM2QmtMOTIwdmpGMVRIdApmZ2pmZjdnT2FyVmg3bWU4eEVVYkVOS2VsYlQ2
NWNQcXJ5Ykhic3I5aklRTEJrUGM2OWdpWEhMSkpkci9IbXIyMC9pR3I3dkpwUC9VCnJOTzhXTGZq
WEJ0ZlY3YnhEZ1A2NUJVU1hCOFFySjRGVXlZYmNNNmUxNWtRMFlkT3RETXdKa2s2ZUkrZFBpb2tI
L0pnQlpCcDA2WVoKa3lhc09xVWRoYTFLNU5iV0RTWmltTzZDdlNyK1lFZXJiNGFNRFd0YXZhMk15
QUpDa2VxVVoyeUc0VHRqZ3pXdjBnZlZSTUgwS3NtdQpHSWxnVXJMbGxvMTBpZVBGY3RCQmpjM0tM
dXV2MzBDc2FkU29VUXVsUTRjR3hsY0E2Y1BINDhZdE1qNFN4eC9mUk50Ym9hdWVWZWgwCnVZaitk
aUI1RU82OGN6bGo2NDBJNU5seHgwYUJ5VVg0R0NZTWNMMkJiWGpyMWczVVJycUIyZ0kza05temZa
bXZ2cnBJT25WcXFHWjYKdnNuR29FSHpaWXN0S24xWVhucHBrY0JHdm10WDM3d0k1Zy9yclZmWmhp
dXVhQ2FkT3pmU1ZjUjhHM1MwSHdFcmI4SHlEYjRuQ0ZnbApaNE1OR2tqYnR2NnRIajd1MjNlMnNl
K0dMVGtDVnNlQkx3M3FHdzQ2TmxkZm9kblN2ZnN5MHExYjVUWFRGNHBxNnVldlFwSEc4cHh6CjVo
cVREOWliUC9UUWZQbmlpOFZ5ekRGcUs2TGg1WmNYR1Q4VnJMd0Ridi83MzJJMUdXeWc5NkpmRjlp
bDc3cnJNb1k3MG4vMzNSTFQKVHZnMUlLUzFCUXpidDI4Zzg5U1V2Vk9uUm5MQkJjMEVlVGZacElH
YUgvcm1kSTg4c3REWTFFK2VYT2t2aFBLdGowbVliMXFkVGNYKworcGVGWDF3ZDArNkg4UDNYcWhY
NkdqRjIrekM5Ty8vOFpxWVdTYzlLbHZybHc4cHRlOVIrdVo4UnQweDl0Nk4rRUxQbDhNTWJHL01s
Cm5JTi9BL3dqRU5MNGhxKzd5YVQvN3J6VDk3RllhYVhjNXlXY1B1M2U3ZEZqR1RYSFhUSDI3NGtu
Zk5OUmxIdisrVTFOSDNmMjJYUGsKUC8rWko0Y2NNbHQrL05IVFo2T1J2UFBPSW4yK1JDNjZxS210
b2pHL3hNL1FXMi9sbWxEcGo3VDA2emRIQmcxYU5qRFAvT3FySmFLbQovZEtsaTk4ZldDRWpSaXdN
bmdFYlo3Y3dLZEczK21hSmVaMjUwTHE5Wm53ZHJXbVVEdUsxLysyZy9lOWFKa3Y0V0FmL3hrZmkr
T09QCk43ODMrTjJFbnlETWo5MEFNMTdZZWlNZ2oxMkZNdW9ZcGlVdzkwVjZyRTRKSHhYNFlzeWVQ
ZHZraDcrakRvYU1tVFFpQmcwYXBQM3YKRnNGdkRYN3ZZQ1BmdFd0WGt4N20wZXV0dDE3UUJuM2Jy
ZjF2WjdPS0kyelEwWDRFTEMvdm1tV0R6UVliYktEOWIxdHpQbnpjdDI5Zgo3WC8zRGN5S2RjRWI0
MHVEK29hRERuS05yNmJPa0dqLzJ5MDRyVE02eHRRYUVXa3N6em5uSEwwL0ZxcS96eEY2N3oray9l
OFgydjhlClkyUmhqQUEvbFlrVEp4cHVNTCtHeVRiR0FnaEl0K3V1dXhydU9OYkJzaGtid0s4Qklh
MHRZTmkrZlh2dGYrY1o5anFUb3YzdjhzYUgKRnViZkNERHZScG1xdEpwai9FUDUxc2NrekRldHpv
RVEzY25DTDY2T2FmZEQrSDdFbUFWaklkd251SmQxeHNwVUplbFp5VkkvckJ5YQpsWlhiOXFqOWNq
OGpicGw0Rmc4NzdERHRmdzgzenhIT3dWVUI5eUJDR3Qvd2RUZVo5Qi82Qk1pQWoxVmRETG0vR3RY
Y0FpemRlOG9wCnA4aHR0OTJtZzdydXVweHI1WEtDU1ZYSm1nOCtIenBGSzNDa2gveXN5b0crOFRB
UERleFczVDgxNlRMVnlscCtVaHR3VHFjOGRYbkgKUDNLVXRNMDIyMHgvQUJzRlB4UnBNbkFlZyty
R09vWTk3REIvSUFzRlk4ODlLd2ZJSTBjdU1nTlhLeXQ4UEhyMFFqTXdzUTdzbjMyMgoyQ2dQblR0
WDJsamJ2SFo3MTEwTGdvRXo0c0xIR0Z5ZGVtcVRRT21CZmY3RWlVdGtwNTM4SC9heFkrR1g0ZGZ4
L2ZjWG1jSEJicnRWCi91aWpiQ2duY0hLZE5HbXgrZzB0TWdNbVd6NFVKY1IvKysyU1FBN09vVzJR
YXgxT01YQndmV1BjNCtIREY4anJyOE1ucDlJbS9PR0gKRjBpUEhwWDFzT1ZoaThIcks2OHNrdE5Q
cjB3UHBRKzNMUnpjRVpKWWpoKy9XQWRNODJXTk5ScklKWmZNTTByTzJMSE50ZlB3SDBQVQpEWU1u
S0pGV2xxMzdFMDhzTUxMQjFBYllxbHNmbXl4dHdYMkM5UjU2OWFxOE55QUx0dnU0UGxpVUFNb1VG
REI5YVd1S1FaNjk5cXJrCkVjVTNyczYybm5hYmhWOWNIZFB1aC9EOUJ3WHlzc3VheVlBQjgxU1JX
eVN3NFVkSWVsYXkxQzhmVnJiZGNkdHlQeU51dWFOSEw5TEIKK2VLY0JTUGM4Mmw4dzljZGViR2ti
YmR1amRSL3pXZnJ5blBUcDkyN2JyNHMrMTI3THFNS1J3dWpKT0FGaGI2WU5zOHdITWcvLzN5Sgp0
R3ZYSUhpbUlPL0RELzJYQS9ZZXNHVU1HYkxBdkppeEx4OFFqMlhNOFh6aTVZY051SC8wUmIwNlZs
YytlL1ljdGhoVTRVVVZCaGdJClVEQmN2NENSSTBlYWdhczVxZi9DeC9CVnhNREV2bWpTdDkxR2Vj
QUFQeTdvQ2xmQndCbHB3c2NZWE9sYjlFQmhnSDArQnRZNzdiU1QKRWFrekZPYTNEUWY2RmwzNzM3
ZEVWN3cwNS9BUFpjT0hFMDZ1a3laTk1uNmJHRERaZ1BZaUhnb0RmaU50UU50d2JGK3FqUmd4SXNj
Mwp4ajNXbVFEdGYxODNMeUJ0ZnZ5MnFpbVlQY3paZ3JPYXVXbi9lM29RcjIrT3piZ0JpZ05DRWtz
MWJkTCs5ejk2ZmRmUS92Y1NvNVNCCmd4MjhvVzVRVHFCRVdsbldyd2UrSHBBTnBqYm9ERlhnWTVP
bExhZy9sRjU4d3NBTnNOM0g5Y0VpQlNnZml4bFlCUVI1OXRwcnJ5QjUKRk4rNE9nZVovdHJKd2kr
dWptbjNRL2orZ3dLcEprYmEvdzR3ZnJTNktwcXBCZVRIUFN0WjZwY1BxM0Q3dzhmbGZrYmM4bkR2
NElXegp1MkNFZXo2TmIvaTZJNi9PbEJwRkhQN0RkVGJrTzFXVFpvSUYyMHdiemp2dlBPTy9ZSTlo
QTJsOVFEQVZpeWxMQkwzeGNxYUhiWHE3CkxTUWZwaXd4bFl2cGJ3VEkwRGRRVm1TVmJUczF3Ykoy
bUtqM2FxdXRsbU9EaXlsRzdheDBHaisrM3E2TUtnVm9STmdFQzlQQWV1UGsKVENkalNnMXg2cnh2
Uk1BZVZwVzBLSEVtRG5iVk1EbXdKZ09vSjB5Q1JveW9OQ0ZZZmZXcE9UNE43akhTdDJxVm0vNzQ0
MzNiNmJoQwpZZklBZnhJYndzZmZmcnZJbUVIQjlNdUcvdjFuZVljZjdwdDd3R3dMeStUQ1RNcmEv
Y004eS9YL1FMNXp6cGx0L0N0Z3FvSjJ1Z0crCkRyZmRscnZzSjg3RGwyWElFRDhlcGpjcnJUUTE4
RE1KSDJNSlVmaDcySURsUkdGKzViS3o1N0NGdndmWXVRRjF0Q3pTV0E0ZVBNKzAKRzc0NTRRQU9U
WnRPOFI1K3VOTEViZFZWcDNvalIvclhFWFhkWlpmS3VvSWRURVZnTW9LUXBTMVllaFErUHVIdzhj
ZUxqUGtiL0diQQo2SVVYRm5pd3M1OHdZWkh4QzNMVHUzelQ2dXptdzM0YVA2U0pxeVBPeGQwUDRm
c1Baa0VJYUF2TWE3Q0VLa0xhczVLbGZ2bXdNb1hHCi9LdU9aOFF0R241S01JbE1DbkY4a2NlOTds
Ykd0R2xWNzJON3prMmZkdS9pdWRsd3cybkdqQXFtVk9FLytDM0ZtVVQyN1R2TCtHeFkKZnpYMGcy
RlRLZmlMb0krenBvcW9JKzRSMURGc09vWmxlT0VENXdhWW1QWHFWV255NVo2RFQ0QU9xTFQvSFcy
aS9mNTNaZTFEUmdUSgpkQ1lreDZmQlBmYjdqRlk1NlhVbVJIMVhEZ3p5aDNkZ1J3NGZSUnZDeDFn
MkgyWlE5cmNQNmVCL3FVcU95UUpUWnl5VGk5OHphL2NQCjh5eDlDMnRGbXEzT0ZoaXpaUHcrbzUx
dWdLK0R2amgwbzh3K2ZGbUdEQmxpOW1GNm80UDd3TXc2Zkl3bFJQSDdaZ09XRThWdnRzdk8KbnNQ
Mm9vc3UwdjUzZFRkSys0UnpBaFpwTFBVYlhLYmRPbURQa1lFRGNNRFlSaFVnY3c2eWRNWkkrOStS
NWhoMTNXV1hYY3crL29FZApmcWZoSzRLUXBTMnErQmdmSDVQQitmZnh4eDhiTXpYNHpZQ1JEb3kx
LzkxQSs5OEp4aS9JU1dwOGhTemZ0RHE3K2JDZnhnOXA0dXFJCmMzSDNRL2ord3hnR0FXM1JsVDYx
LzkzVkhLYzlLMW5xbHc4clUyak12K3A0UnR5aVlkNFBrOGlrRU1jWGVkem55c3BRNng2N1cyZTMK
ZWZtQTRJWkNCL0gzdi84OXNzRTZSZXZwYkVOd0RzNTJlSkJzZ0QwcU9qbzgzSjkrK3FtbjA3NzJs
TEdGMDZtazROamRLU1FmbkxidAo0QjRkTHB6NjBLR2diUHlGQXh6ajRET0NBTnRXblMzeGRKcld3
OE1GbTF6NGdmeW84L3hKOVhabElGODR3QkVQZGRKcGNITUtENlJxCjlONi8vLzN2SUNtYzcrQzhi
enRKT0ttamM0c0wrQTdFS3F0TU5ZTXRwTUhhK3hqSVlvMSsrQXBnd0FTN2Y5ald2L2RlMWVPUFBs
cG8KMXNPZlBkdG5BbDhNT0dHNlA4eXc4NGN6cnczWVYvTWhlMmpPdWNkd3NJWlRxZzJQUFRiZjY5
eDVlakFBUUQxUVJ3d2E0TnlKUVRhTwpmL3h4Y2VCa0RwdHcrTFc0Ni9kYmVWQmc0UGVCclJzbVR2
UjlXYkJlUDN3MFVBNlVNeWdyenp3enY4b3hGQ0o4SXdBQnloSUc0RkJBCmZ2aGhjZUIwRFo4Tk9L
a2lEcjRUY0p5MzRkTlBGM21iYlRZOThMVkpZd21IZTN3WHhmcm13RDhCMXc4Qmp1Rm9MOHBEZ0N3
d2dlMDgKMmdKbmRhdm9vSzVISFRYTERDZ3hDTVQzVGRMYWd2c0FiWU1QVERqZzNzQTU2OGNDcGFa
NTh5bUJiNHBOSCthYlZtZmt5NGRmVWgyVAo3b2Z3L1hqZWVYUE0vWS95Y1M5YXhTM3RXVW03dnBD
WGxSWFNKb1Z5UHlNbzIyV1Bld2crVnVnWEVQRHNXUDhxSENmeERWOTNwRWQvCkFVZHplNzhpem9a
dytyUjdGL21nSE1iOTJiN0p5c2NXenpTVUFpd3dnSDBib054RGdiQjlQSHhDOE5JQWRYVURmRXF3
Q0VRNElQLzYKNjA4TCtoWXNlckhwcHRQTWN4aE9pMk44QndJdjFmRGJpSUMxK2pHUWhhOGdmQVV3
WUlMZFAyenJkVVhHS3NmNklUdnpyUTc3bTZDbQpMTWFCM2JYcGhwMC9uSGx0d0w3N1d4aytoczhr
bkZKdHdHK2h2bUVOZkJWUUQ5UVJUdHQ0NllaQk5vN3grMmFkek9IN0FiOFdPTXU2ClBvcVFpZDlU
K0gxZzY0YUpFeWVhM3plZEdURXYxVkFPbERNb0szaWhGajZHUXFRekRFWUVsQ1VNd0RHK3dBSTJh
RE1DZkRiZzNJdzQKK0U3QWNkNEcvQmFyeFVEd0lqT05KZnc1OFYwVSsrSVQvamE0Zmdod0RFZDdV
UjRDWklFSi9EN0dqQm1qL2UvQmdhS0R1dXFiYkRPZwp4Q0FRM3pkSmF3dnVBN1FOTHpEREFmY0d6
bGsvRmlnMXVuUnk0SnRpMDRmNXB0VVorZkxobDFUSHBQc2hmUC9oQlM3dWZ3VGNpMVp4ClMzdFcw
cTR2NUdWbGhiUkpvZHpQQ01wMjJlTWV3cGpTY3NHekE2WTJKUEVOWDNma1FYOEJ4M1I3djFvNWRX
MmJXUUhCdzQ3Vm9EQ0EKeHRzVE9LV2hZN0VCblJ3ZUlqaDZ3OUVJSFFnNlFYUytXS2tEVG1ib0JK
RWZpZ2ZTUUt1RFV4d0czZi84NXorRFFiZVZpVzJoK1hDQgpvQkNvamFXbnRwbm1MUXhXQlVGSGdZ
NG5IUERRNEFZNSt1aWpqY0tCdHpzNnRXWGlzQUtXVHNHYUxPQVFWKyt3RExjTXZOM1I2Vy9UCmZq
aGs0ZTBHQWppQkdWWS9RWWVDams3dFVzMDUvTWhBWWNOYkg2ek1FUld3K3N0aGgxVytuWHJpaWZu
bUxUdG1CL0Fqakkvd05Xa3kKeGNQYmQ0VHdNWnk3TWRpRTRnRUhjY2lEQTZrYjRNQ0xHUW83Mk9q
YWRZWlJIbXlhOERHY282SEU0RzNrb0VGenpRcFRDLzc2Q0JqeQpRREhBWUFpcjFHQkFqQlduc0dL
V3ErUmdNSWczajVqQndPb3pHT3phY09hWmNDU1pZaHluOFJZZWd5cXN4dlhOTi83TUM1eXJVVmNN
CkhpRDNoaHZtUmg2anpaQy8xMTR6akxNOEJ0NVFXTEJhbEExdzZFZGRzZUlWRkFZNHYyTEZISEQ4
OTcvbnFJSmFPYUJQWTRsQkh4eTgKMTF0dm1qNUxzNHp5WldkMjREU0xnWm9ObU9HQTR5enFndXVJ
V1NBb0tIQVd4d3BWVU9vdzAzWDMzWDVkMDJiVmVud0FBQ0FBU1VSQgpWTnFDbVErc0doWVYwQVoz
VlNFTTJqQnpZTjhxMnp4aHZtbDFScjU4K0NYVk1lbCtDTjkvZUI3Z1hJMUZDbzQ0WXBaeDZrZGQw
cDZWCnRPc0xHVmxaSVcxU0tQY3pnckpkOXBnTndzcDJlQkdBK3djS2tEdHdUK0lidnU2UURZVUZ6
eUNVMzNBSXAwKzdkOFA1azQ3eFlnVDMKUEdaVVVlZW9nSmNoNkNOdXYzMmVhZlBqaitlbXc3T0Qr
OXNxS1dFWldDbnd0Tk5tbTlsQ09KL2plWWdMZUdtbHBsZkJhZnhPNFBjUgp2eDkrLy91bytSM0Iy
M2NFZkpRUHZ5djJHTCtqR0d4QzhjQnZJZVRCNGRRTitMM0E3NEFkYktoZmhsRWViSnJ3TVp5anNS
b2xabVh3Clc0dUZZVndsQW9vQWZ1dXdNaEVHeFBqOXhXK2pxK1JnTUloVkl6R0RzZmJhYTV2Zkps
dmVtV2VlYVg3SDREaU50L0FZVk9FM1htM3oKemN3TG5LdFJWeWd6a0t2THgwY2VvODJRcnlaR3hs
a2VBMjhvTExCV3NBRU8vYWdyVnJ6Qzd6WWN5RysrK1diREVTL3UzQmQ5YVN3eAo2RlBmRWUxLzF6
TmpHU2hmZG1ZSFZnYjQ3YlZoN05peFp1eUF1dmo5NzR0R1FVR2JzVUlWeGp0d2ZyLzc3cnRObHJT
MjRQY2RxNFpGCkJiVGhwSk5PQ2s3aGhTZG1EdHhWMEhBeXpEZXR6c2lURDcra09pYmREK0g3RDg4
RG5LdnhJaGN2Y2VIVWo1RDJyS1JkWDhqSXlncHAKazBLNW54R1U3YkxIQ3dxOEJNY1lHUGNQRkNC
My9KekVOM3pkSVJzS0M4YlNVSDdyY3Npc2dKUzZrZmFORVZhN3NKMUFsakx5elljTwowZ2EzRTda
eDd0WnFwellPRHdRdXZwMk5RSHhhK1dFWlZsYlNGaDBjVm8xQVdhVUk3cUFZOHV3cVNsYTJlNHpC
Tjk3OFl4VWNxMkRZCmRIYUx3WXVkRWNFYlFydmlGTTZIajkwOGVCTWE5eU9QMlE0M3VEL3lXQ0hL
ZmxVWmcyQXN1UXNGeUNwR2VPdVBOOUV3N2NCQUU0TnYKRE9nUndtWWg5bzJ2TFN0OERKbTJiVWdU
Wm9lNDhOZmxrU2FLVlJhV2tJZTZSNzNWeFRrM3VQVkNQT3BxbFFJb00rNTF0T2ZkUEZGdApjZVhi
ZlZ3aks5ZkdoWTl0ZkppdmpiZGJ0M3dibDVXZlRSL2VKdDBQVWZjZjZvQjZZb1dqdEJERktPNzZR
bFkrck5MS3huTlZybWZFCmxoMW1qM3NHaXBZYmt2amFkRkhYUGZ3TTI3VFlodE9uM2J0dTNxUjlt
QVhHM1p0dVBsd24yMSs0OGRpSCtWV2NTWmROaStmTGZXbGkKNDdOczNVRXgwdHRWbEd4ZTl4aURi
N3o1eHlvNFZzR3c2ZXdXdnpsMlJnUy9SWGg1WjBQNDJNWWp6MFNka1lqdmYzKzBTYzBXZzE0Ygo3
cm5ubm1EWlhBeUNzZVF1RkNDckdPR3RQOTVFWTJZZUEwME12dkZ5RWlGc0ZoTCtQUXdmUTZadEcv
S0gyU0hPcnN5RmZRU2tpV0tWCmhTWHlvKzUyeGduSGNjR3RGOUtncmxZcGdETGpYa2Q3M3MwVDFa
YW9zdncrcGRMQ0FHbHNPZUgwWWI3aDgyNzU5bHhXZmpaOWVKdDAKUDBUZGY2Z0Q2b25saE5OQ0ZL
TzQ2d3RaK2JCS0s3dWN6NGd0Tzh3ZTkwejRCWGdTWHlzbjZycGp4ckt1aHdvMFFEVXBoanBLb0tK
aQphaDJ0T2F0TkFpUkFBbldMZ09lMUxGbUZkZkJtSEtEeGdVTFhBYnhrQlJRb1NFMW1STi9JQnFz
LzZhRFByR0lGNS9qdzZsUTZtRGZPCnNQcU5rc3lMdkJSWXJjUnN0WlZsWXFYcnlNbDg3b2ZhMGlT
N21taGNmZUFRWGt3b0paTlN5aXFtVFRXUmx3cElUVkN2SldYaXk4R0gKSGpwYnZ2eHlCVjBxTVg3
RnErcXVMbGJOZWZ2dFJXYlZtYmx6UllZT1hXQld0dW5idC9hdTlsQmJXVmIzdFN0SGVYWHhmaWdI
QjFkbQpLWm1VVXBaYlIrNG5FOEJYMFhVR1FmdmZMODFTdGNtcHErOHNWbnhTMDJmdGYvdUx2b25Y
L25lbzlyL3R6REt6MVZlTC9FcXFyU3p6CmEwWHRURjBYNzRkeWt5d2xrMUxLS25lN1N5MmZDa2lw
aWRZUmVXb2lvVXNnK3N0VDZqTGRaZzM5Um8wcWw1NnM2V2JvdHhuTnNxRU4KVlMvYVpKUEs3NFhV
ZEwyaXlxL3RMS1BxWE5maTZ0TDlVRjFzUzhta2xMS3FxLzExdVJ3MXFUQkwwS0lONmp0cGx1bkY4
dXUxSmFpNQpzbGsyVkZmVE10K3B3Sks4dFRYVWRwYTFsVnMrOWFwTDkwTSs3U29tYlNtWmxGSldN
VzJxN3J4VVFLcWJPTXNqQVJJZ0FSSWdBUklnCkFSSWdnWHBNb0VZL1JGaVB1YlBwSkVBQ0pFQUNK
RUFDSkVBQ0pGQXZDVkFCcVplWG5ZMG1BUklnQVJJZ0FSSWdBUklnZ1pvaGtKZlIKS1ZiRGdMMXFP
Q0QrazA4K01YKzYvcmpveDRIQ1NWS1BaODZjS2JwdXRGbEpZOGNkZHhSZFB6dzJEejVCcng5OGtx
MjMzbHIwNjVLaQpYN1VVL2JoUWxmUnJycm1tckxQT09rRzhMa3NvK3QwTndhb0QrdkdvSUo0N0pF
QUNKRUFDSkVBQ0pFQUNKRUFDMVVPZ3FqWVJVeTRHCjd2clJJTkVQRjFWSkFRVkUxeVFXL2JDUndH
a3QzNkRyaU11KysrNHJMVnUybERYV1dFUDBRemFpYTBsWEVhTmZmcFE5OXRoRDlDTXMKeG1rUHln
Y1VGLzNBbjNUdjN0MHNaWWpsRFBFSEpVTy9ubXBrNkpyZG9oL0VFZVRYai82WmxVZSsrKzY3S3ZJ
WlFRSWtRQUlrUUFJawpRQUlrUUFJa1VGNENtV2RBOUd1b1psaysvZnBubFJwaDlRNTQ4YSsxMWxw
bWdGOGxRVUtFZm9CUDlBTkM4dEZISDhuNjY2OXZVdW9YClEwVy8vQzM2ZFhSenJCOGRFdjFTcU9n
WHdrVy91QnFzVDQ2VER6NzRvT2pYWldXNzdiWUxsSjkzMzMxWDlBdW1zdlBPTzV2OHh4eHoKak9q
WHkwVS8rR1NPb2V4Y2NjVVZvbCtqTmNmOFJ3SWtRQUlrUUFJa1FBSWtRQUlrVUQwRU1pc2dVRHdH
RGh3WVd5dXNaYnpubm52Rwpubzg3QWFWZ3ZmWFdDNVFQcEd2Um9vVmdYVzhvSUZCc29FZzBidHhZ
Um93WUljMmJOODhSZGNJSkorUWM0NE5FWjUxMWxnd2JOc3pFClAvbmtrL0xDQ3kvSWhBa1RnblNR
RDNNdkJoSWdBUklnQVJJZ0FSSWdBUklnZ2VvbGtNa0VDN01NSFR0MmxJc3V1aWlvM2V6WnM4Mk0K
d2swMzNTVDRlL2JaWnd0U1FENzg4RU5qTGhVSTFoMzRrOWcxMGErODhrcDU3NzMzcEgzNzlvS1pq
SDMyMlVkZWZ2bGxOM25PL2pYWApYQ085ZS9jMnZpSDR5UHZGRjE5czhybUtDL3hGWnMyYWxaT1BC
eVJBQWlSQUFpUkFBaVJBQWlSQUF1VW5rRWtCZ2NuU3h4OS9MTjI2CmRUTTErdjMzMzZWbno1N0cx
K0xrazArV1ZWZGRWYUNROU9qUnc1d2ZQWHEwOFJlQnowalUzLzc3N3grMHJFMmJOdUw2WTB5ZE9s
VXcKbXdLVHF0OSsrMDBHREJnZ0tPUCsrKzgzc3hyNzdiZWY3TDMzM2pKNTh1UkFodDJCT2Rkenp6
MG5kbFlFZFlacDE2Njc3bXFUbUMzUwpZZGFGZ1FSSWdBUklnQVJJZ0FSSWdBUklvSG9KWkRMQkdq
Tm1qQ3kzM0hJQzN3d0V6RVJnVUkvVnFoQ2dRT0RjOHNzdmI0NmhpRXlaCk1zWHNwLzA3Ly96ejVS
Ly8rSWVjZmZiWmdsV3JZQzRGaDNiSWYrZWRkd1FtVmU3TUN4UWZ6RjY4OWRaYkFtWEVCc3gyOU92
WFR3WU4KR2hTczFBVkZBek1wWGJwMHNjbk1GcVpjS0pPQkJFaUFCRWlBQkVpQUJFaUFCRWlnZWds
a21nRVpPWEtrbWZGWVpwbGx6T3dFWmpoTwpQZlhVb0tid3M4RHFWSVdFcmwyN0dvVURTZ0wyTWV0
eDRva25HcitQenovL1hOcTFhMmRtVWF4c21Hd2h3SS9ERFVPR0RKRU9IVHJJCnR0dHVHMFIvLy8z
M1psV3RwazJiQm5GWXZoY21XUDM3OXcvaXVFTUNKRUFDSkVBQ0pFQUNKRUFDSkZBOUJETE5nTHo0
NG90eTdybm4KbWhwaGhxSlRwMDdCU2xSWVF2Zk5OOStVMjI2N3paekhUQVNXdW8zenNhaW9xRERt
WEN1dXVHTFFRbnp6QTdNWlJ4OTl0R0JKMzJ1dgp2ZGFjMjJhYmJZenZSNUJRZDdBRWI2dFdyVXdk
YkR3VWlxdXZ2dHJNbU5nNGJGSFA4UGMrNEZOeXdBRUg1TDFhbHl1WCt5UkFBaVJBCkFpUkFBaVJB
QWlSQUFvVVJTRlZBSmsyYVpGYVFna25VMkxGanpYYzM3RWNDOFVIQSsrNjd6emg4WTZZQ3k5OWkw
QStuOGJnQUJjVG0KdDJsbXpKaGh6THBnNXZYS0s2K0luYkhBNmxmLyt0ZS9CRW9OOG1GMjVQSEhI
NWZycjc4K01QZUNETXlZbkhmZWVUa3pKWWpIckFxKwpFN0o0OFdLelJDL010c2FQSHk4d0tiTmgv
dno1Y3QxMTE1bnZoTUFmaFlFRVNJQUVTSUFFU0lBRVNJQUVTS0I4QkZJVkVEdDRoeE00Ci9EVGdr
M0hnZ1FlYVdRUjg3QThPNGM4ODg0d01IejVjK3ZidGEyb0tSU0pMZ0ovSVUwODlaV1l1RGozMFVI
R2QwNUVmL2h0bm5ubW0KVVVMd2pSQW9RRGZmZkhPTy93WVVFaWdtdG15M1hPUy80SUlMekxLODhD
LzU4c3N2QmVaam1FR3hBVjlSaHg4S2xBOThySkNCQkVpQQpCRWlBQkVpQUJFaUFCRWlnZkFRcWRI
YkJTeE0vZmZyMEhKOEx6Q3JBSHdRekZWQlFwazJiRnBoa3BjbHl6MlB3ankrZjJ4a1A5NXk3Cmp5
ckNwTXRkU3RlZWgva1ZabFJja3k1N3ptNVJSNWgyb2M1UkFhdDZ1VXBKVkJyR2tRQUprQUFKa0FB
SmtBQUprQUFKRkU4Z2t3SlMKZkRHVVFBSWtRQUlrUUFJa1FBSWtRQUlrUUFJaW1WYkJJaWdTSUFF
U0lBRVNJQUVTSUFFU0lBRVNLQVVCS2lDbG9FZ1pKRUFDSkVBQwpKRUFDSkVBQ0pFQUNtUWhRQWNt
RWlZbElnQVJJZ0FSSWdBUklnQVJJZ0FSS1FZQUtTQ2tvVWdZSmtBQUprQUFKa0FBSmtBQUprRUFt
CkFsUkFNbUZpSWhJZ0FSSWdBUklnQVJJZ0FSSWdnVklRb0FKU0NvcVVRUUlrUUFJa1FBSWtRQUlr
UUFJa2tJa0FGWkJNbUppSUJFaUEKQkVpQUJFaUFCRWlBQkVpZ0ZBU29nSlNDSW1XUUFBbVFBQW1R
QUFtUUFBbVFBQWxrSWtBRkpCTW1KaUlCRWlBQkVpQUJFaUFCRWlBQgpFaWdGQVNvZ3BhQklHU1JB
QWlSQUFpUkFBaVJBQWlSQUFwa0lVQUhKaEltSlNJQUVTSUFFU0lBRVNJQUVTSUFFU2tHQUNrZ3BL
RklHCkNaQUFDWkFBQ1pBQUNaQUFDWkJBSmdKVVFESmhZaUlTSUFFU0lBRVNJQUVTSUFFU0lJRlNF
S0FDVWdxS2xFRUNKRUFDSkVBQ0pFQUMKSkVBQ0pKQ0pBQldRVEppWWlBUklnQVJJZ0FSSWdBUkln
QVJJb0JRRXFJQ1VnaUpsa0FBSmtBQUprQUFKa0FBSmtBQUpaQ0pBQlNRVApKaVlpQVJJZ0FSSWdB
UklnQVJJZ0FSSW9CUUVxSUtXZ1NCa2tRQUlrUUFJa1FBSWtRQUlrUUFLWkNGQUJ5WVNKaVVpQUJF
aUFCRWlBCkJFaUFCRWlBQkVwQmdBcElLU2hTQmdtUUFBbVFBQW1RQUFtUUFBbVFRQ1lDQlNrZ1U2
ZE9UUlErZi81OGVlT05ONEkwNGVQZ1JDM2EKbVRWcmx2end3dzlscTFFYWc4V0xGOHVYWDM0Wld6
N3E5OU5QUDhXZUw5V0pjRDMvL1BOUCtmcnJyMHNsUGk4NWFVenlFcWFKMDlwUwo3RDFRYlA2MDlx
VFZQNXkvM1BWeHl5djF0WEpsWjkzLzdiZmZaTXlZTVRKbHlwUXFXZkpsVjBWQUxZdW95KzBwOUY0
cDkvMGM3dnZDCmw3elFlb2ZsMUxWajk3bEtZMVRYMnNiNmtnQUoxQnlCZ2hTUVF3NDVKSGF3L1Bi
YmI4czIyMndqLy9qSFAweXJ3c2MxMTlUNGtoOSsKK0dGcDNicTFQUERBQS9HSmlqaVR4dURkZDkr
VkxiZmNVbzQvL3ZqSVV1NjQ0dzVaZWVXVjVkRkhINDA4WDZySXFIcGVlT0dGc3Q5KworNVdxaU14
eTBwaGtGdVFrVEdwTHNmZEFzZm1kYXNidUp0VS9uS2s2Nm1QTExNZTFzckt6YmdjUEhpeERodzZW
bDE5K1dUYlpaQlBCClFNa04rYkJ6ODlYVy9icmFua0x2bFhMZnoxRjluM3Z0QzYyM0s2TXU3cnZQ
MWZycnJ5OGRPM1lNZnR2clludFlaeElnZ1ZwRXdNc3oKNk50d3I2S2l3anZwcEpOaWMxNTc3Yldl
RHVpRDgrSGo0TVJmTy9QbXpmUDB6V1U0dXFEalFtVnR0TkZHM2hWWFhGRlFtVmt5cFRFQQp6Kzdk
dThlS0FzOUJnd2JGbmkvVmlYQTkvL2pqRCsrcnI3NHFsZmk4NUtReHlVdVlKZzYzSlh5djVIc1BG
SnUvMlBxbjVVOXJUN2orCmFmS1N6cGY2V2lXVkZUNm5iOGE5NVpaYnp0TTMxT2JVNjYrL0hrNlNl
dTJyWktpQmlIeXVSL2hlcm9IcUZseGtvZmRLMnYxY2NJWCsKeWhqdSs4THlDcTEzV0U3Y2NUN1hQ
MDVHS2VPam5xczBScVVzbjdKSWdBU1diZ0o1ejREY2VlZWQwcmR2WDduLy92c0ZVK0pSb1hIagp4
cUpLU25BcWZCeWMwSjJGQ3hkS256NTk1TlZYWDNXakM5clBSNVplMXB3eWxsbG1tWnc2NTV3c3dV
RWNneVZMbGhqcGpSbzFrZ1lOCjRpOUhPZXEzYU5HaUtpMEwxeE16TDNqekZRNWhmdUh6eFJ4blpa
SnZHVzVib3U2VmZCZ1htei9mdWlPOVczODNmOXkxU0dwUFZQMWQKbVZuMzA2NVZYTjJ5eXMrUzdw
TlBQcEVGQ3hZRXowK1hMbDJxWkhQWkpiVzlPdXBicFhJYWtWU25xT2ZVYlUrVXZITEZSZFVsYTFs
cAo5MHBZVHZoYUpOM1A0YnlGSElmN1Bpc2ozM3JiZlBsc2s2NS9QbkpLbVRicXVZcGpWTXB5S1lz
RVNLQitFSWdmOFVhMFg5L1FDT3hCCkw3cm9JcU44UUFrcE50eHd3dzN5OU5OUHk1TlBQaWxISG5t
a3pKNDlXMzc5OVZjNTQ0d3paSmRkZHBHdHQ5NWEzbnJyTFZQTS8vNzMKUDlsdHQ5Mk1pY1c0Y2VN
RXgxdHNzWVhjZDk5OTVueVVySEQ5SG5ua0VibnR0dHZrNnF1dmx2QkFCVDgwTUcxWWE2MjFaTk5O
TjVXSgpFeWNHMmFGczZSc3dPZlBNTTQxSjBpbW5uQ0p6NTg0MTV5Rnp6VFhYbEp0dXVza2N3eFJr
Z3cwMmtQNzkrd2Y1d3p0ejVzeVJmLzd6Cm4zTDU1WmViZE8rOTkxNDRTWlZqNURucnJMT011Umk0
ZlBIRkYwR2FPR1pCQW1kbjlPalJjdFZWVjhuMTExOHZPK3l3ZzN6NjZhZk8KMmNyZFgzNzV4WERx
M0xsekVJazZnTU5sbDExbXJzWEJCeDlzWkVHQkhEdDJyT0FZZGJ6cnJydGszWFhYbFEwMzNEQ0hZ
MUk5ODJFeQpmUGh3YWRXcWxleS8vLzR5YmRvMHVmZmVlODN4cnJ2dUt0OTg4NDJwTDlxMzAwNDdD
ZTdiY0Z2aTdwV2tleUNBb0R1RjVFOXF1eXY3Ci9mZmZsMzc5K3NuNTU1OHZPaXRuMnZYODg4L25k
UzJzdkxqMnhOWGY1c00ycWI1cDF5cnBQa21UN2RZQiswblBIbDZJWEh6eHhZS0IKOFlrbm5tanV2
WEQrTE5jK3FWOXc1ZUdaLzcvLyt6OXp6eDkwMEVHaWI0U0QwMG4xVEhzMm9xNUgzSE1hYmsrYWJG
UXc3bHBHM1d2dgp2UE5PMENhN0UxZVhMR1duM1N1MkRMdE51aFp4OXpQeUp2RXZkeCtkaFVOUy9h
S3V2K1ZodDBuNW4zMzJXVmx0dGRXa1U2ZE9RZitICjY3ajIybXZMeUpFampZaDg3Z0hjNDJuUEZZ
UW0xU25mUHRxMmsxc1NJSUY2UWtEZk1tVU9Pc2p6dEtNejZmLzJ0Nzk1RzIrOGNXVGUKRzIrODBk
UE9NRGdYUGc1Ty9MWFRybDA3YjhDQUFlWklCeExlbm52dTZjMllNY09ZVk9oQXpOT0JwcWVPNyti
OHFGR2pNSFhodmZEQwpDNTRPeWp3ZFpPYUljMlhsbk5BRGZjdmtxWDlLRUgzNjZhY0haaHViYjc2
NXA4cU1CL25xak83cHdOazc5dGhqZzdRNzc3eXpwd3FYCk9kYTNyZDYyMjI3cjdiMzMzc0Y1VlVC
eVRMaFVVZklPUFBEQTRIeVlBZmlwb21MT3czUmtqVFhXOEhUd0hLUVA3N1JwMDhaVDIzWlAKbFRW
anJvWjJ0bS9mM3JRcGpaa3JTMjNqUGRUVm1yenBqNHgzd0FFSEJFbmNlcXF5NmFrUzVhMnl5aXJC
ZVZXeVBGWEN6TEcrSVRQWApRcFVaYjlLa1NkN2t5Wk85RGgwNkdIYlBQUE9NaVZORnpEdnV1T05N
K3JSNjVzdEU3Wkc5bzQ4K09xaGIxNjVkUFoyZEM0NmZlKzQ1Cjc1NTc3akhIVVcwSjN5dHA5MEFn
K0srZGZQS250ZDJWL2VhYmIzb3RXN2IwMUMvSWUreXh4enc4QTZxRTUzVXRJQyt0UGVINnUzVkkK
cTIvYXRVcTZUOUprdS9YQWZ0cXpOMnpZTUU5bkQ4UFpndU8wYTUvVUx3UkMvdHJaWTQ4OVBGd2ZC
SDFwWU81L2ZSRmlqcFBxbWZacwpRSUI3UFpLZTAzQjcwbVFuOFk2NjE4SW1sMGwxU1NzYjdVcTdW
NURHaHFScmtYWS9KL0dIL0hMMjBWazRwTlhQdmY2V2g3dE55NC9mCks1MnREcktBcGZwcm11TkM3
b0dvNThyOWZZRGd0RHJsMDBjSEZlY09DWkJBdlNDUTF3d0kzckxvRDdCUnpmQ0c5dlBQUHpkdnZV
dWgKcTFtVExlMzBSTWtiazZ3UkkwYkk2cXV2THIvLy9ydTg4c29ycHBnZVBYb0kzanllZDk1NXht
a2NNeEhoWUdXRjQvR20vTU1QUHhTOApUVWJRZ2JFcHk2WlRoVUlnWHdmNzBxMWJ0OERSSHZWNDdi
WFh6TnQ5cElVcGdBNThCVHowQjl4a2I5YXNXWTRKMTdMTExwdHpiTXZBCkZqTTZxTVB1dSs5dW9t
RjZ0ZGRlZTdsSkl2ZVBPT0lJMldlZmZVemRCZzRjS045Kys2Mm93aVJwekZ4aHFEc1dDTURNRVFK
TU9keVoKRkRjdFpoZzIyMnl6SEVadzFFY2VCTXdTSVEwQzNyVEJrUit6SHNnRGxvaFR2eFlaUDM2
OFNaTlV6MEtZd0JUd3hSZGZGTHdWUmVqWgpzNmVvNG1QZWh1TVliRlFKeEs2cFo3Z3RpQS9mSzNI
M0FOSkdoYXo1azlvZWxydjk5dHVibVNPMWVSZFZEdVgyMjIrWDdiYmJMcTlyCllXV210U2RjZjVz
dnFiNVpybFhTZlpJazI1WnZ0MW1lUFpzMmJodDFIeU90Ylh0YXYyRGxZb1d0RHo3NHdGd0x4R0VX
RXRjRzkzbGEKUGRPZURWdUdyVlBTY3hwdVQ1cnNKTjVSOTFyWTVES3BMbWxsWjdsWGJOdXhUYnNX
Y2ZkekduL0lMbWNmbmNZaFMvMVFSM3Y5c2UrRwpMUGt4TTQwVkMrRXdqK0QyZjhYZUEyNWQ3SDZX
T3VYVFIxdTUzSklBQ2RRUEFwa1ZFUHp3cXVPak1hM0J5aGhZc2hiMm9EZmZmSE5KClNObU9Gd042
REhBaEczOHdFWHJwcFpmTWo3MHRDR1lQK3BiT3hEVnMyTkJHQjFzcks0ajRhMGZmNUp2Qk53YnhN
TmZRTjA3aTVuZnoKNlJ0b003Mk1ySmpLeG84K2ZvaHQwQmtRc3dzdStRYVlqOEUwYWNVVlZ3eXlM
ci84OHJFL1BqWlJpeFl0N0s1ZzRJQ0FINXdzekd4Rwp0RkhmWXBrZmVwaGhZZFdnbVRObjJ0TlZ0
a2p2Y21uZXZIbWdkQ0V4cHYweE9MWWhLajFNb0JDUzZsa0lFNnpHQnVYVStnL0JsQXdtCmZEQVhR
WmxRVE5RNTJWYk50TU50QzA0a0hidjNRQ0FrdEpNMWYxTGJReUxOSVFaTFZybXo1NlBZUXE0TjRX
dUJlTGQrVWUxeHoxczUKMkNiVk44dTFTcnBQa21TN2RjQitxWjY5TUR2SXRtMVA2eGVRRmdFdlFX
QzJhZk1oRGk5aTBGOWxxV2U0RG1Ca253M0lRckN5c1UxNgpUc095d3NldTdEVGVVZmVhWHh2L2Y3
NTFjY3ZPY3ErNFphVmRDOVRGQnZkK3pzTGY1c3V5emJmZWtKbDBEYkxXejIyZlc4OHMrZkZTCkNV
cnhndzgrYUxMaTVZek9QcG45WXU4QnR5NTJQMHVkOHUyanJXeHVTWUFFbG40Q2piSTJFVy82OERZ
REEyVWJzRHpyNDQ4L2JwU1IKdG0zYjJ1aWl0bEJ5NEpDTnQ5bHhBWW9BQm1mdzR6am1tR055QnZK
eGVXdzhsbk5VY3lmNXozLytJN0IvUmllOXdnb3IyTk9SVzlndwpvMTZ3ZDdYdHg5dDAxQk1EM256
RGp6LythT1NGODhYOStJVFQ0Umh2WGZGRGo3OHN6RndaV05ZWE16cDMzMzIzd0lZZVB5UlpnNXF0
CnlWRkhIU1Z3VUd6U3BJbGdwZ2UrT2xsQ1VqMExZWUtCSDk2SVB2VFFRK1lld1BMUG1FMkNEODcw
NmROclpQbmdPQTVKYlkvTGt4WmYKekxWSWs1MVUzeXpYS3FsdVNiTEQ5U3Ixc3hlV2I0K3o5QXV3
b1kvemx5cEhQWXQ1VG0yN3NNMkh0NXZQM1MrMExsbnVGYmNjN0dlNQpGdUU4cGVaZlNMM0RkWEtQ
aTYxZjF2eVltYi9ra2t1TWIySFRwazNOU3p6VW94VDNnTnNlN0dlcFUxM3FvOFB0NHpFSmtFQjVD
V1NhCkFjRzArSGZmZlNjd0FZTDVqdjJEa3l3K3pvUWZwMktESFh5dnM4NDZac2JEZlRNSWt5eThr
YkxoZ2dzdU1DWk15SVA5Y0xDeXd2RnEKcDJ1YzZIVTVXMk15Z1VFMEJxdHBBYk1WYUtlZDJrWjZ0
Y00ycGo0d2s3SEJtZ0xaNDdndEZDQzh1Y2NzVHFIaDU1OS9Oak1YVzIyMQpsV1JoWnN1QjJSeWMz
ekdMNU03bzJQTnBXNWlLd1hRTjArOXduSWZ6WmRhUVZNOUNtVUFad3ZkUmhnd1pJbW9EYlpUa0o1
NTR3cGdmClpGR000dTZWckczS21qK3A3Vm5MQ3FjcjVscFlXWEgxVDZwdmxtdVZWTGNrMmJaZWRw
djEyYlBwODluYXRtZnRGNkQwWThaeHdvUUoKUVRIb216QUxXcXA2MmpvVis1d0dGZFNkZkhpNytl
eCtNWFhKY3EvWWNyRE5laTNjUE5qUHlyODYrMmkzamxuclo2Ky9temVmOWgxNgo2S0dpL3BOeThz
a25td1U2ckp4aTd3RXJ4OTFtYlZPeGZiUmJKdmRKZ0FTV0hnS1pGQkM4SlZmSDhDcXR4aXdBL3FD
QW9OT3pBVXRpCnFnT2NQVFJMWkxySHdZbS9kbUNLaERkT0NIaWpqVGVOTUczQUY5Y3gwTC8wMGt1
RHBXQXg4SVdOTWdiK01DSENpbGF1R1pRcksvekYKZG53OUdLdWhJR0ExclgzMzNUZVkwY0RiSFB6
WmdOVnU3Q3BYOENPQVh3aE13V3pBNEJzZHNQV0pBUWQ4ekFwdGgzS0FRUXJLczhGbApBaDhXeko1
Z1Zza0dmQVVkYjZtZzZNUUY5eHpzMFRFRGhXbjN3dzQ3TEpHWkt3LytIdmdSeHFBQzhtQ0NCV1VQ
QXluOHVmVkVQakFCCkI1eER3TnMxZFRRWCtON2d4dzdtRzI1QWZ2ZEhIdmx0dlpQcVdTZ1QzSmVZ
aVlFcEhVelU0SE9DR1MzNERvVi96TU50Q2Q4ck9JOC8KRzl4N3dNYTUyM3p5SjdYZGxXbjMxV2sw
dVA5c1hMaithZGNpclQzaCt0dHlzRTJxYjVacmxWUzNKTmx1SGJDZjVkbEQzNE43enIxMgpZVGxo
ZG03YjRVc1YxeSs0Y3RCdXZGWEdURENlSS95ZGZmYlpndG5mTFBWTWVqWlFqbHNudk94SWVrN0Q3
VW1TbmNZNzZsNXoyNTJsCno0aDc1clBjSzI1WmRibVBUcm9HV2U0UDkvcUhmN3V5NUxmM0VGNFE0
cmZJbWdranZwQjdJT3E1UWh2dGIzbldPdVhUUitNRG9yb2cKVFRBZWNPOE43cE1BQ1N4bEJIUmdt
UmgwaVZ0UEIzYWVEdFk5L2FIT1Nhdm1TNTQ2SFp1VllIQmVCOTZlZG55ZTJxR2F1RnR2dmRWVApV
NStjWTZ5b0VnN3FVRzQrYm9nVmpWVDU4RlNwOEhSUWFlTFUxTXJUTjlvbUMxWnV3dXBhNmtodWpu
VVE3ZW5BMDlPM082WmNSSVpsCm1ZUi8vVlB6Q1ZOZlZaaThwNTU2eXRPWkFMT0tGRllhd2lvNldO
VkxsUmxQVGJNOGZQUktsUVN6NmhTeUl3N25yN25tR3JQNmxpNDMKNitrUGN5QmUvUTQ4blc0Mksx
UDk2MS8vTWlzV3FVTzdXVzBxekFRTTFHeklVL01wVTA3djNyMDk5VXZ4MUw3Y3hBZENuUjFkK3Ro
VApKY2RUNTNQdnlpdXY5RTQ5OVZTelVwaE5Fc2ZNbnJkYk5Sa3pxeXVwS1psWk1Rb3JSYWtabFhm
NDRZZFh1VmE0ZHJvRXI3bVcrQWdpCjZuM2FhYWVaWTMwTURIdDF2alFjY1U2VkdVOS9STTJLWG1w
emJLN1RldXV0WjY2bExnVnBxcEJVejN5WjJEYnBzcitlTHIxckR6MmQKRmNzNXhnbGNnM0JiM0h0
Rmx3MU92UWVDQXY3YXlUZC9VdHRkMmVDQUQrdXBFdVhwd05pY2lxcC8wclhJY2srNzljZHpGdzVK
OVUyNwpWa2wxUXpsSnNzUDFTSHIyMU1uWjA2V1d6VDJKKzBBVi8zRDIxR3VQK3hiOVdMaGZxQ0pJ
STlBWG9VL0MvYTh6SXVhWnNlbVM2cG5sCjJYQ3ZoeTRCbnZpY3V2Y3lWdTRyOUxtTHV0ZHNlK3cy
cWMvSVVuYmF2V0xMd2JhdTl0RlpybS9TL1lHMnU5Yy82bmxNeXc4WkNQZ3QKd205RU9NUTljMUgz
UU5SekZmVTdsclZPV2ZwbzFCZS82ZnJpeU1PNGc0RUVTR0RwSmxDQjV0VUduUXB2LytHQWFBUGV0
TURSSFdZUAptQzNJSjRSbDJieDRTd2NmQVppVXdmeklkVkMyYVpLMlFJVnZURUFHVm5zS0I5UVpi
L3N4SzRDM1JHa21Ua2lMTjExb04yWWg4SFkxCkxjQkVBZW1qbU9URERHLzM3ZXhGbHJyYWV1a1Bt
L1RxMWN2VUY4N3JZSWtWVmxTQlNmVGJzZm14VGFwbklVeFUrVEd6SUxhTThMR04KajlyRzNTdFJh
YVBpOHMyZjFQWW8rVWx4cGJnV2FmVlBxbS9TdGNwU3R5VFo0WGFuUFh2aDlGbU9iZHZ6N1JkUUY4
ek1ZdVdqY0NpMgpuclpPVm02aHo2bk43Mjd6NGUzbXMvdkYxQ1hwWHJIeXNjMzNXcmg1c1ovR0h3
eFFsM0wyMGVFNnVjZHA5UXRmZnpjdjl0UHkyL1J4CmZXQ3g5NENWNzI2ejFDbGNuL0N4S3cvbXll
RUZPTnp6M0NjQkVsZzZDTlFhQldUcHdMbDB0d0tybjBIWndQS09ib0FqUHhReW5lMXcKbzdsZlJn
SzErVnJVNXJxVjhaSlFOQW1RQUFtUUFBbVFRRVlDVkVBeWdtSXlNU3RmNFV1N1dNWVlhdld6YkFB
QUlBQkpSRUZVeXozaQpqU2o4ZGVDM2d6K0c2aU9BQlJScTY3V296WFdydml2RWtraUFCRWlBQkVp
QUJPSUlVQUdKSThQNFNBSlkzaGJmUTRBcEdEN1d5Rm1QClNFelZFbG1icjBWdHJsdTFYQndXUWdJ
a1FBSWtRQUlrRUV1QUNrZ3NHcDRnQVJJZ0FSSWdBUklnQVJJZ0FSSW9OWUZNeS9DV3VsREsKSXdF
U0lBRVNJQUVTSUFFU0lBRVNxSjhFcUlEVXordk9WcE1BQ1pBQUNaQUFDWkFBQ1pCQWpSQ2dBbElq
MkZrb0NaQUFDWkFBQ1pBQQpDWkFBQ2RSUEFsUkE2dWQxWjZ0SmdBUklnQVJJZ0FSSWdBUklvRVlJ
VUFHcEVld3NsQVJJZ0FSSWdBUklnQVJJZ0FUcUp3RXFJUFh6CnVyUFZKRUFDSkVBQ0pFQUNKRUFD
SkZBakJLaUExQWgyRmtvQ0pFQUNKRUFDSkVBQ0pFQUM5Wk1BRlpENmVkM1phaElnQVJJZ0FSSWcK
QVJJZ0FSS29FUUpVUUdvRU93c2xBUklnQVJJZ0FSSWdBUklnZ2ZwSmdBcEkvYnp1YkRVSmtBQUpr
QUFKa0FBSmtBQUoxQWdCS2lBMQpncDJGa2dBSmtBQUprQUFKa0FBSmtFRDlKRUFGcEg1ZWQ3YWFC
RWlBQkVpQUJFaUFCRWlBQkdxRUFCV1FHc0hPUWttQUJFaUFCRWlBCkJFaUFCRWlnZmhLZ0FsSS9y
enRiVFFJa1FBSWtRQUlrUUFJa1FBSTFRb0FLU0kxZ1o2RWtRQUlrUUFJa1FBSWtRQUlrVUQ4Sk5F
cHIKOXBBaFE5S1M4RHdKa0FBSmtBQUprQUFKa0FBSmtBQUpTSzlldmFSbHk1YUpKRklWRU9TR0lB
WVNJQUVTSUFFU0lBRVNJQUVTSUFFUwpLSlpBaGFlaFdDSE1Ud0lrUUFJa1FBSWtRQUlrUUFJa1FB
SlpDTkFISkFzbHBpRUJFaUFCRWlBQkVpQUJFaUFCRWlnSkFTb2dKY0ZJCklTUkFBaVJBQWlSQUFp
UkFBaVJBQWxrSVVBSEpRb2xwU0lBRVNJQUVTSUFFU0lBRVNJQUVTa0tBQ2toSk1GSUlDWkFBQ1pB
QUNaQUEKQ1pBQUNaQkFGZ0pVUUxKUVlob1NJQUVTSUFFU0lBRVNJQUVTSUlHU0VLQUNVaEtNRkVJ
Q0pFQUNKRUFDSkVBQ0pFQUNKSkNGQUJXUQpMSlNZaGdSSWdBUklnQVJJZ0FSSWdBUklvQ1FFTW55
SXNLSWtCVkVJQ2RROUF2eEVUdDI3WnF3eENaQUFDWkFBQ1pCQWJTZkFHWkRhCmZvVllQeElnQVJJ
Z0FSSWdBUklnQVJKWWlnaFFBVm1LTGlhYlFnSWtRQUlrUUFJa1FBSWtRQUsxblFBVmtOcCtoVmcv
RWlBQkVpQUIKRWlBQkVpQUJFbGlLQ0ZBQktmSmlUcDh1TW5pd3lGVlhGU2tvUS9hMzN4WTU3VFNS
Yjc3SmtMaVdKMW1hMmxMTFViTjZKRUFDSkVBQwpKRUFDSkZDckNGUjRHcEpyVlArYzBKY3NFY0VB
K1lzdlJENy8zTjh1V2lUU3JwMUlqeDRpdlhxSk5QaExkUnMyVE9TZ2cwVDIyMC9rCmlTZVNTUlo3
ZHVPTi9icDgrS0hJRmxzVUs2MW04OWVOdHFROEdqV0xrS1dUQUFtUUFBbVFBQW1RUUowa2tHRVZy
RHJacnFJcVBXT0cKU0pjdWxTS2diRUFwUWNCc3h5YWJpSXdaSTdMcXFuNGMvNU1BQ1pBQUNaQUFD
WkFBQ1pBQUNXUWpRQk9zQ0U0Tkc0cjA2U1B5MUZNaQpQLzBrc25DaHlLZWZpbHg3cmNqeXk0dDg5
cG5Jb1lkR1pHUVVDWkFBQ1pBQUNaQUFDWkFBQ1pCQUlvRTZQUU15ZDY1SXMyYUo3U3ZvClpQUG1J
dmZmbjVzVnN4NzRRempyTEpHeFkwVm16dlNQQy8yUG1aWVZWaWcwZDM3NXFyT3MvR3BXUGFubnpS
TnAyclI2eW1JcEpFQUMKSkVBQ0pFQUNKRUFDOFFUeVZrQnV1eTNaNGJwQ1hVWldXa2xrOWRWRk50
elFkNXB1MDZacUJZNDlWbVRVcUtyeGlHblNSS1IxYTVIVgpWaFA1Kzk5RkRqbEVCTE1TTnN5Wkkz
TDY2U0pEaDRyODhFUHVJSDdMTFVXbVRSTjU5RkdSVHAxc0RwRXp6aEFaUGx6a2hCTkV6am1uCk1q
N2ZQV3QyQlpNc09LRGJNSEtrN3lPQ1l6Q0FFb00yYkx1dFNQLytJbTNiMnBUK0ZyNGxtMjBtc3ZY
V0lqMTcrbjh3KzhveVNONXIKTDVGbGx2SGxOTklyaURxQk1XWmx3TXY2cDlnU2l5bkx5Z2h2aTds
K3JxeDgydkwwMHlLbm5GS1pHd3lXVzA1azdiVkZEamhBNUlnagpLcys1ZTYrL0xuTGdnU0pubnVu
L3VlZmNmZmo0SUl3ZUxiTHV1djQrLzVNQUNaQUFDWkFBQ1pBQUNaU1lBSnpRazRQbzZjcS83YllU
CmVPWm0vbE5sd3Bzd29USS9aT25NZ2FjekY1bGw5TzZkbTEvZlpuczZ5RGY1eDQvUFBhZktqNGwv
OWRYYytNTU84K012dUNBMzNtMWIKbG4wZHlCcjVhNjdweTNua0VmODRpY2txcTRqMzQ0KzU1WjUv
ZnRWOHFueDQrK3dqSG1RdVhweWJIblhiYUtPcWVjTGwvdnZmVmZNVgpVbFlTaTJLdlg2RnR3WDBR
YnE5Ny9MZS8rZmRXdU81SEgxMlpUeFZYVDVYSG5Ic2E2WC8vM1UramlxNm5DdTVmNTVPZkRKNGxB
UklnCkFSSWdBUklnQVJMSW4wQmVxMkRwb0ZodXVVVzFEd3dERXdMTWZUQXpnUldpTUV1QU44L3du
N0FCZmhXUFBTYnk1Sk1pNDhhSjdMMjMKUHdOZ3oyUEZxU2xUUk41NnkzZjJ4dXpIeEltNXN3aXFB
TWpQUDR1OC9MTEl6anZibkw1SkZzeHRQdmxFWk5OTksrTzdkL2ZOcHU2NgpTMFFIcEFXRmwxNFMy
WDEzUDZzcUNlYXQrdGRmaTd6d1FxVTRNSUpwMXErLyttL1NWVUV5NGFLTFJDNit1RElkVm9GU3BV
UU9QMXhrCnhBaS9mWlZuZlI2SWQyZCtIbmhBWk9wVVB4V3VBZG9KMW1ncjZvWmp6SWhnaHNqT2tD
QjFJV1c1ZFFudmwrTDZGZEtXTys4VW1UMjcKc2phelp2a01YM25GWDYwTVo4QVlyTjBBVnYvNmw4
aDExL214Qngvc205aTVqSEN2ZGU3c205bkIzOGNQbXBHQkJFaUFCRWlBQkVpQQpCRWlndEFUU2RS
YjdOamovN2QxMysyK1Z1M2FOenF0bVVSamhlUU1HUkovSG0yazFVekpwMVB4R3ExcjVwK1pLSmw3
TnNJSjRIWkNhCk9NakVHMjAzdlpycG1IT3FzT1RFdTJtUzlsV2g4TlNzek1pNDRvcHNNdFI1M1ZQ
bHlPVFJRVzlRcm43SHc4VHR1MjlsSEdaeUlMZDkKZS84YzJxQW1ZMEdlcExyaDNJc3ZWdWI3OHN2
S2ZPVW95OWFsbU90blpVUnQ0OW9TbFJaeG1DMjY5RksvL1dyNlptYllvdEllZFZRbApJMVg4Y21a
QzFPZkhYQlBNbEZYbTFWMEdFaUFCRWlBQkVpQUJFaUNCa2hKb1VGcDFKbGRheDQ3KzhSOS81TWJi
bzhhTi9UM01lTVNGCnJiYnl6NFJsckxPT0h6OTVjbVZPdkpsSHdKdnRsVmYyOS9FZjhqSGJnRkNJ
YlQveXE3SWd2L3dpb3VaTWN0NTV2cXkwLzVpTjJHRUgKUHhWOFltejQ0QU4vejNXZzc5REJsNHUz
Ny9BTlFhaDhFKzhmSi8zZlpSZmY5d1QrSi9DZHNhRWNaVm5aeFZ3L0t5TnFHOWVXcUxTSQpnODhM
cmdtdUxXYWZ2dnFxYWtwVktzeU1HdnlMRUI1OFVPVHNzLzE5L01lTUZnTDhjUmhJZ0FSSWdBUkln
QVJJZ0FUS1I2QWdCUVNyClQyRXdEbWZ2cEFCSGJJU3c4dURIVmlvSjgrZmJtS3JiT0JuV1lkaFZR
SjU5MXM4UGt5d014RzM0L25zUm1FWmh3TC9HR2pZMisvYjYKNi8zQksweDNMcnNzZXo2a3RBcUFW
YVFRcDdNY0ptQ1ozOHN2OTFuNk1YNGRyWm5YbjMvYTJQUXRQazZJUVRZVXN4WXRLdE9Yb3l3cgoz
U3A1aFZ3L0t5TnFHOWVXcUxRMkRxWnFWdUg5OWxzYlc3blZXUlhSbVNFNTlWUi9RUUtjZ1ZrZ3J1
MGJiNGc4OTV5L1lFQ2NJM3VsCkpPNlJBQW1RQUFtUUFBbVFBQWtVUTZBZ0JlVHh4LzJCZkw5K3lV
WGJOL3h4QTFRN2dIWHQrc01TNDJSWUJRU0tFQUtVbkZ0djlmZXgKMHBVYnNQb1ZBbVlqWE1YRWow
MytEd1huNG90OVg0d2hRNUxUaHM5aXBTd01iaEd3T3BjTkdDanZ0Sk1JRkRsMWlqZGJldzVickNL
RwpBSVVpYTFDbmV4UGNjaEJSanJMOGtpb1Z5RUt1bjVVUnRZMXJTMVJhTnc1K1FRaFI5Ym5oQm4r
bUJQZkdOZGVJN0wrL254WkxLcXZaCmxmRzF3UXB2NFJYRS9GVDhUd0lrUUFJa1FBSWtRQUlrVUNv
Q2pVb2xLRXFPSGV6YmJUaU5yZzVsQXB6SjQ0TE5hN2MyblZWQTFNZEIKNEp3OGFKQ0lycllsdWhL
U01aZXk2ZUMwclQ0bVJ2RzQ4a29ibTMyTEpWeWhLR0JKWVh5RU1KOHdicHp2SkE3VElGM0JLaWZn
T3lMNAptdnBycjFYT2lOZ0VNTjFDQ0xmWmo0MysvOHd6ZnJ5dW9sVWxsTG9zVzBBeDE4L0tpTm9t
dFNVcXZZMkQ0eitDdlRmOEk1RXZ2aERCCk1zbTROK3k1aHg0UzZkcFY1SjEzUkNaTkVvRXliV2RR
YkQ1dVNZQUVTSUFFU0lBRVNJQUVTaytnckFwSVduWFhXc3RQZ1MrTDV4dnMKUUJJS0F2N3cvWXdU
VHhUQm0yNDdnSWRNS0I5UVF2QXRrVzIyeWJlVVNoT3FmRTIzb0xUZyt4OEl0OStlV3lmRXdXUm8x
MTM5UHh3WApFN0N5RjFhQ3dxektrVWRXbFZUS3NsenB4VncvVjQ2N245WVdOMjE0SHl1U0lWai9J
UDlJQkROMm1FM3EwY1BHK0tadStLN0k5dHY3CkNnaG1xaFlzRUxGK0xaVXB1VWNDSkVBQ0pFQUNK
RUFDSkZCS0FnV1pZSldxQXB0djduOUVEd29JM2xMbkV6RDR4UXdCL3ZEVjh0OSsKRTduNTVzcUJQ
Z2FjTjk3by84SHhHSXBJSVFFZjlydnZ2dncvWHFqZjR4QU1pUHYwS2E5ak0veGI4SkZGREp6dnVD
Ty9XWk5DZUxoNQppcmwrcmh5N1gweGI0QytENVlneFUyVVZJeXZYK29TNHp2azRodzlGUHYrODd6
T0R2TG9LR1FNSmtBQUprQUFKa0FBSmtFQ1pDZFNvCkFnTGxZWTg5L0JiaXErYjVCQXk0TVNzQlJR
Tk8yOVpaSFRJdzhJY2pPaHlPWWRPUDc1RzBhNWVQOU1xMCtKSTVISk4zMjYweUxta1AKMytEQTE3
cWgvR0F3RENmbmNnWE1lblRyNXEvOEJMK0dzSmxYdWNxMWNvdTVmbGFHM1JiYmxudnVFWUd2RWZ3
NXdnRW1WZ2hoQlFSeApZQWJ6UFFTWTZIMzBrYi9QL3lSQUFpUkFBaVJBQWlSQUF1VWhVQ01tV0hq
cnJOL0lNR0dGRmZ3dFZvUzY1Skw4R2dtbEFrdnY0czAvCmxzckZLa2Y0dzJ3SzVLKzZxcTk4WUZu
WFFnUGVqT01OZXF0V0l2cnRrZGlBRHdHT0d1V1hod0V2UHE0SVB3UGJQamZqMjIrTHVLdDMKdWVl
d2IwM1NYRk15bXdaTzkyQ0Y4cDU0d3ZkTHdSYkxCRWVGWXNxS2tvZTRVbDIvZk5xQzY0dVZxdUlD
SE1nUjhsVkFrS2R2WC85YQpqUjd0ZjZRU3pLTFlJeTBEQ1pBQUNaQUFDWkFBQ1pCQWNRU3FYUUdC
Z2dCbjRIQnd2MW9lUGhkM0RBVUUvaDhYWHBpYll0bGxmYk1rCmZCc2lTZ0hJVFoxOEJBZDN6R2JB
ZndBS1JsVEFqSXVkSWNHc0FNckZjcjFSS3lwaE9XQ1lkY0ZrTEMxZ2RpTWNzR3JUd3cvN3NldXYK
NzM5TkhsODZqd3JGbGhVbHM1VFhMNSsyd0pGK3YvMmlhbFFaQngrZnNQOEhHUHp3ZzU4bWFnYkU1
b1lTaSsrdnZQKyt2enp2dWVmYQpNOXlTQUFtUUFBbVFBQW1RQUFtVWtrQzFLeUF3aDRvS3ZYdEh4
U2JIWWJEWnNxVkkyN1lpYmRxSWJMQ0JiNDZGR1E4NHBWZFhlUFJSCjM1UUgvaDU0QXgvMlFYRHJv
VjlpejZSOHJMaGlWUWYxZWZOOEplaWdnM3pmRXBpZUpiMnBMNllzdDg3dWZxbXVYNzV0aVN2WHJk
c0IKQjdoSC9qNW1takI3Z3BEa1lJNlZ5akFETjNpd3J5RDZPZmlmQkVpQUJFaUFCRWlBQkVpZzFB
UXE4RjMxWktFVnlhZDVWckNNY0w2cgpaQldDRGQrM3dCdjlZbWQxQ2ltNzFIbHFZMXZBRmw5U2gv
TG5oNVJId3liamxnUklnQVJJZ0FSSWdBUklJRE9CMUJrUW1CUXhrRUI5CkpKQ21tdGRISm13ekNa
QUFDWkFBQ1pBQUNSUkxJRlVCNFNDc1dNVE1Ud0lrUUFJa1FBSWtRQUlrUUFJa1lBblU2REs4dGhM
Y2tnQUoKa0FBSmtBQUprQUFKa0FBSjFBOENWRURxeDNWbUswbUFCRWlBQkVpQUJFaUFCRWlnVmhD
Z0FsSXJMZ01yUVFJa1FBSWtRQUlrUUFJawpRQUwxZ3dBVmtQcHhuZGxLRWlBQkVpQUJFaUFCRWlB
QkVxZ1ZCS2lBMUlyTHdFcVFBQW1RQUFtUUFBbVFBQW1RUVAwZ1FBV2tmbHhuCnRwSUVTSUFFU0lB
RVNJQUVTSUFFYWdVQktpQzE0akt3RWlSQUFpUkFBaVJBQWlSQUFpUlFQd2lrZmdla2ZtQmdLNnVi
d0hQUCtWOGQKMzJvcmtRMDJxTzdTV1I0SmtBQUprQUFKa0FBSmtFQk5FZUFNU0UyUnIrZmxubnFx
eUNHSGlEei9mRDBId2VhVEFBbVFBQW1RQUFtUQpRRDBqUUFXa25sMXdOcGNFU0lBRVNJQUVTSUFF
U0lBRWFwSUFGWkNhcE0reXF4Q1lNMGZFODZwRVIwWWczZlRwa2FlQ3lIbnpndDJjCm5VV0xSTDc3
VG1UQmdweG9IcEFBQ1pBQUNaQUFDWkFBQ1pTWkFCV1FNZ09tK0dnQ0RSdjY4WGFMSTVobHRXb2xB
ditRcURCbWpFaTcKZGlKZHUvcG5odzhYV1drbGtZNGRSZTY4VTJUSmtzcGNVNmVLSEgyMHlMYmJp
a0Nwc1dIS0ZKSCsvVVdhTi9kbFlkdXRtNitNMkRUYwprZ0FKa0FBSmtBQUprQUFKbEk4QUZaRHlz
YVhrQkFKTm0vb25telNwVE5TNnRhOHNEQnBVR2VmdS9mU1RyeWdzWHV6SFhuKzlyM1I4CjhJSElj
Y2VKbkhSU1pXck1iSXdlTGZMSko3N0NnVE9USjR2c3VLUElIWGVJMkprUnBCczNUcVJUSjVHZmY2
N016ejBTSUFFU0lBRVMKSUFFU0lJSHlFS0FDVWg2dWxKcEN3Q29nZG92ay9mcUpOR3NtZ3BtT2p6
K3VLc0FxQ0czYit1ZkdqaFVaTWNKWEhoQnorKzBpdi96aQpuNE15OC9UVElzc3RKL0xBQTc3UzBi
ZXZ5QmRmaUhUdUxESjBxTWk3NzRvTUhDalNTTmVDKy8xM2tXdXU4ZlB5UHdtUUFBbVFBQW1RCkFB
bVFRUGtJVUFFcEgxdEtUaUJnRlErN1JkS1ZWeGJwMDhmUGRNTU5WVE9QR3VYSFFZRkFhTnhZWlBm
ZFJlNjkxeHdhM3hFb0dEWnMKc1lYSTFWZjdSeWVjNENzcjNidjdDczVCQjRsc3M0M0lPZWVJWUNZ
RllmQmdFZmlHTUpBQUNaQUFDWkFBQ1pBQUNaU1BBQldROHJHbAo1QVFDVnZHd1c1c1VmaUFJRHo4
czh1dXYvajcrVDV3b2doa1B6SkJZSmNXZTNYaGprVFhYOUk5Y254TEVISHFvQ015ODRMRGVRTy8y
CkcyOFVDWmQ1N0xFaUxWcjQ1bC9qeDF1cDNKSUFDWkFBQ1pBQUNaQUFDWlNEQUJXUWNsQ2x6RlFD
Vmdsd2ZVQ1FDY29FWmpYbXp4ZTUKN1RaZkRKekxqenhTQkw0Zko1OHNzdUtLVmNYLzhZY2YxNlpO
N2pta3RYRzllb2xzc2tudWVSeEJxZGx5U3o4ZVBpTU1KRUFDSkVBQwpKRUFDSkVBQzVTTkFCYVI4
YkNrNWdZQlZRT3pXVFhyYWFmNFJGQkFzczR0WmpGZGZGZW5aVTJUQUFEZWx2ejlwa3Erd1lCYWpm
ZnZjCjgzQXl4M2tFeUlrTEcyN29uOEZNQ3dNSmtBQUprQUFKa0FBSmtFRDVDS2o3TFFNSlZEOEJx
M2pZclZzRHpJQ3N0NTdJTjkrSWJMU1IKNzFnTzM0MWh3MFRDSmxiSTk5NTdmdTZ0dHhhcHFIQWxp
WHowa1Q5ekFtZjAzWGJMUGVjZXJiYWFmL1RubjI0czkwbUFCRWlBQkVpQQpCRWlBQkVwTmdETWdw
U1pLZVprSVdNWERidDFNVUNKZ2NvV0FwWFBQUFZkazVFaVJsaTM5dVBEL0hYWVFlZU1Oa1NGRHdt
ZjhwWGdSCnU4Y2V2cWxWMVJSK3pDcXIrRnRyeWhXWGp2RWtRQUlrUUFJa1FBSWtRQUxGRWVBTVNI
SDhtTHRBQXNjY0k5S2xpLzh4d0NnUm1NMUEKd0ljRXI3elMzNC83di9ycUl2aUxDbmJsTENnZ1NR
RXJjQ0ZRQWZFNThEOEprQUFKa0FBSmtBQUpsSXNBRlpCeWthWGNSQUpRTFBBWApGK3pNU05pa0tp
NTlWRHcrTnZqNjYvNForSThrQlRzRFFoT3NKRW84UndJa1FBSWtRQUlrUUFMRkU2QUNVanhEU2lp
QUFHWW1aczhXCjJYUlRrWFhYclNvQVMrWWlGS09BdlBhYS84Vnp5Ry9Yem9nei83Qzg3MXR2VlI1
akQvNG1DSEI2WnlBQkVpQUJFaUFCRWlBQkVpZ2YKQVNvZzVXTkx5UWtFK3ZjWG1UREIvd2pnNmFj
bkpDemlsRFcvQ3M5KzNIeXp5T1dYUnd2ZWFhZm9lTWFTQUFtUUFBbVFBQW1RQUFtVQpoZ0NkMEV2
RGtWSnFJWUU0QlFTcmFjV0YzcjNqempDZUJFaUFCRWlBQkVpQUJFaWdGQVE0QTFJS2lwU1JOd0Zy
OHBSM3hqd3kyT1Y1CncxbjR0Zk13RVI2VEFBbVFBQW1RQUFtUVFQVVJxUEEwSkJjWCtyQkNjbUtl
SllGWUFzWDRjOFFLTGVPSjFFZWpqR1ZUTkFtUUFBbVEKQUFtUUFBa3NyUVJvZ3JXMFh0bGEyQzZv
dWxuL3hvM3pHOUM1Yy9ZOFdXVm5UVmNMRWJKS0pFQUNKRUFDSkVBQ0pGRG5DZEFFcTg1Zgp3cVd6
QWUzYml3d2NLTExHR2t0bis5Z3FFaUFCRWlBQkVpQUJFcWl2QkdpQ1ZWK3ZQTnVkZ1VDS2RXSUdD
VXhDQWlSQUFpUkFBaVJBCkFpU1FTeUREREFnSFlibkllRVFDSkVBQ0pFQUNKRUFDSkVBQ0pGQW9B
ZnFBRkVxTytVaUFCRWlBQkVpQUJFaUFCRWlBQlBJbVFBVWsKYjJUTVFBSWtRQUlrUUFJa1FBSWtR
QUlrVUNnQktpQ0ZrbU0rRWlBQkVpQUJFaUFCRWlBQkVpQ0J2QWxRQWNrYkdUT1FBQW1RQUFtUQpB
QW1RQUFtUUFBa1VTb0FLU0tIa21JOEVTSUFFU0lBRVNJQUVTSUFFU0NCdkFsUkE4a2JHRENSQUFp
UkFBaVJBQWlSQUFpUkFBb1VTCm9BSlNLRG5tSXdFU0lBRVNJQUVTSUFFU0lBRVN5SnNBRlpDOGtU
RURDWkFBQ1pBQUNaQUFDWkFBQ1pCQW9RU29nQlJLanZsSWdBUkkKZ0FSSWdBUklnQVJJZ0FUeUpr
QUZKRzlrekVBQ0pFQUNKRUFDSkVBQ0pFQUNKRkFvQVNvZ2haSmpQaElnQVJJZ0FSSWdBUklnQVJJ
ZwpnYndKVUFISkd4a3prQUFKa0FBSmtBQUprQUFKa0FBSkZFcUFDa2loNUppUEJFaUFCRWlBQkVp
QUJFaUFCRWdnYndKVVFQSkd4Z3drClFBSWtRQUlrUUFJa1FBSWtRQUtGRXFBQ1VpZzU1aU1CRWlB
QkVpQUJFaUFCRWlBQkVzaWJBQldRdkpFeEF3bVFBQW1RQUFtUUFBbVEKQUFtUVFLRUVxSUFVU283
NVNJQUVTSUFFU0lBRVNJQUVTSUFFOGlaQUJTUnZaTXhBQWlSQUFpUkFBaVJBQWlSQUFpUlFLQUVx
SUlXUwpZejRTSUFFU0lBRVNJQUVTSUFFU0lJRzhDVFJLeTNIV1dXZWxKZUY1RXFpWEJLNjk5dHA2
Mlc0Mm1nUklnQVJJZ0FSSWdBU0tJWkNxCmdIVG8wRUdPUC83NFlzcGdYaEpZNmdnTUhqeDRxV3NU
RzBRQ0pFQUNKRUFDSkVBQzFVR0FKbGpWUVpsbGtBQUprQUFKa0FBSmtBQUoKa0FBSkdBSlVRSGdq
a0FBSmtBQUprQUFKa0FBSmtBQUpWQnNCS2lEVmhwb0ZrUUFKa0FBSmtBQUprQUFKa0FBSlVBSGhQ
VUFDSkVBQwpKRUFDSkVBQ0pFQUNKRkJ0QktpQVZCdHFGa1FDSkVBQ0pFQUNKRUFDSkVBQ0pFQUZw
QXozd1BUcDB3V3JKRjExMVZWbGtKNHI4dTIzCjM1YlRUanROdnZubW05d1RkZkJvYVdwTEhjVFBL
cE1BQ1pBQUNaQUFDWkJBdFJCSVhZYTNXbXBSQndwWnNtU0pZSUQ4eFJkZnlPZWYKZjI2Mml4WXRr
bmJ0MmttUEhqMmtWNjllMHFDQnI4KzkrT0tMMHE5ZlA5bHZ2LzNLM3JLK2ZmdWF1bUJiMThQUzFK
YTZmaTFZZnhJZwpBUklnQVJJZ0FSSW9Gd0VxSUJuSnpwZ3hRN3AwNlJLa2hySUJwUVFCc3gyYmJM
S0pqQmt6UmxaZGRkVWdEWGRJZ0FSSWdBUklnQVJJCmdBUklnQVJ5Q2RBRUs1ZEg3RkhEaGcybFQ1
OCs4dFJUVDhsUFAvMGtDeGN1bEU4Ly9WVHdOZXpsbDE5ZVB2dnNNem4wMEVOajgvTUUKQ1pBQUNa
QUFDWkFBQ1pBQUNaQ0F5RkkzQXpKMzdseHAxcXhaeWE5dDgrYk41Zjc3NzgrUmkxa1AvQ0djZGRa
Wk1uYnNXSms1YzJaTwptbndQTU5PeXdnb3I1SnV0b1BUVldWWkJGU3h6cG5uejVrblRwazNMWEFy
Rmt3QUprQUFKa0FBSmtBQUp1QVJLb29EY2R0dHRpUTdYCkZSVVZzdEpLSzhucXE2OHVHMjY0b1hH
YWJ0T21qVnNQczMvc3NjZktxRkdqcXNRam9rbVRKdEs2ZFd0WmJiWFY1TzkvLzdzY2NzZ2gKZ2xr
SkcrYk1tU09ubjM2NkRCMDZWSDc0NFllY1FmeVdXMjRwMDZaTmswY2ZmVlE2ZGVwa3M4Z1paNXdo
dzRjUGx4Tk9PRUhPT2VlYwpJRDdmSFd0MkJaTXNPS0RiTUhMa1NPTWpnbU13Z0JLRE5teTc3YmJT
djM5L2FkdTJyVTFxdHZBdDJXeXp6V1RycmJlV25qMTdtaitZCmZXVVpKTysxMTE2eXpETExHRG1O
R2pVeXBtQmdqRmtaOExMK0tiYkFZc3F5TXNMYllxNmZLeXVmdGp6OTlOTnl5aW1uQk5uQllMbmwK
bHBPMTExNWJEampnQURuaWlDT0NjKzdPNjYrL0xnY2VlS0NjZWVhWjVzODk1KzdEeHdkaDlPalJz
dTY2NjVwOS9pTUJFaUFCRWlBQgpFaUFCRWlpQ2dKY1M3cmpqanBRVW5yZmRkdHQ1V29YTWY2cE1l
Qk1tVE1pUnF6TUhuczVjWkpiUnUzZnZuUHo2TnR2VFFiN0pQMzc4CitKeHpxdnlZK0ZkZmZUVW4v
ckRERGpQeEYxeHdRVTU4dmdjNmtEVnkxbHh6VFpQMWtVY2VNY2RKVEZaWlpSWHZ4eDkvekNucS9Q
UFAKcjVKUGxROXZuMzMyOFNCejhlTEZPZWx4c05GR0cxWEpFeTczMy8vK2Q1VjhoWlJWUllnVFVl
ejFnNmhDMm9MN0lOeGU5L2h2Zi91YgpoN3FGdzlGSEh4M2tVOFhWVStVeG5NVDcvZmZmVFJwVmRE
MVZjSFBPWjNrdWNqTHdnQVJJZ0FSSWdBUklnQVJJd0JDb3dIOGRzTVVHCk9GZ2ZmL3p4c2VkMVVD
eTMzSEtMcElnUm1QdGdabUxZc0dGbWxnQnZudUUvWVFQOEtoNTc3REY1OHNrblpkeTRjYkwzM251
YkdRQjcKSGl0T1Raa3lSZDU2NnkzajdJM1pqNGtUSitiTUlxZ0NJRC8vL0xPOC9QTExzdlBPTzl1
c3hpUUw1amFmZlBLSmJMcnBwa0Y4OSs3ZApqZG5VWFhmZEpUb2dEZUx6MlhucHBaZGs5OTEzTjFs
VVNUQnYxYi8rK210NTRZVVhBakZnQk5Pc1gzLzkxYnhKVndYSm5Mdm9vb3ZrCjRvc3ZEdEp0dlBI
R29rcUpISDc0NFRKaXhBalR2dUNrN21CV0JQSHV6TThERHp3Z1U2ZE9OY2x3RGRCT3NFWmJVVGNj
WTBZRU0wUjIKaGdTSkN5bkxGQkx6cnhUWHI1QzIzSG5ublRKNzl1eWdWck5telRJTVgzbmxGYk5h
R1U2QU1WaTdBYXorOWE5L3lYWFhYV2VpRHo3NApZR05pNXpMQ3ZkYTVjMmRqWmdkL0h6ZWtQUmR1
V3U2VEFBbVFBQW1RQUFtUUFBazRCSFFnbGhoSy9hYjM3cnZ2Tm0rVnUzYnRHbG11Cm1rV1o4d01H
RElnOGowZzFVekpwMVB3bUo0MmFLNWw0TmNNSzRuVkFhdUsweWVhTmRuQkNkOVJNeDV4VGhjV056
cnl2Q29XblptVkcKeGhWWFhKRXBuenF2ZTZvY21UdzY2QTN5NkhjOFROeSsrKzRieEdFbUIzTGJ0
Mjl2enFFTmFqSVduRS9iMGVXQWczeGZmdmxsa0x3YwpaVm5oeFZ3L0t5TnFHOWVXcUxTSXcyelJw
WmRlYXRxdnBtK1JzeUJJZDlSUlJ3V01WUEhMbVFsUm54OXpEak5sNFZEcTV5SXNuOGNrClFBSWtR
QUlrUUFJa3NMUVNxUFpWc0RwMjdHalVuei8rK01OUmd5cDNHemR1YkE0dzR4RVh0dHBxSzNNcUxH
T2RkZFl4OFpNblR3NnkKNHMwOEF0NXNyN3p5eWtFODVHTzJBYUVRMjM3a1YyVkJmdm5sRjFGekpq
bnZ2UE1DMlVrN21JM1lZWWNkVEJMNHhOand3UWNmbUYzWApnYjVEaHc1R0x0Nit3emNFSWZ3bTNr
VEcvTnRsbDEyTTd3bjhUK0E3WTBNNXlyS3lpN2wrVmtiVU5xNHRVV2tSQjU4WFhCTmNXOHcrCmZm
WFZWMVdTNmtOdFp0VGdYNFR3NElNUHl0bG5ueDJrdzR3V0FtYWVHRWlBQkVpQUJFaUFCRWlBQkVw
RG9HUUtDRmFmd21BY3p0NUoKQVk3WUNHSGx3ZWF4U3NMOCtmTnRWSlZ0bkF6ck1Pd3FJTTgrKzZ6
SkQ1TXNETVJ0K1A3Nzd3V21VUmp3cjdIR0dqWTY4L2I2NjY4MwpnMWVZN2x4MjJXV1o4eUdoVlFD
c0lvVTRuZVhBeGl6emUvbmxseHVXSmtML29ZN1d6T3ZQUC8rMDBhbmJEei84MEpqR1FURnIwYUpG
CmtMNGNaVm5oeFZ3L0t5TnFHOWVXcUxRMkRxWnFWdUg5OXR0dmJYU3d4UWNqZFdaSVRqMzFWTE1n
QVU3QUxCRFg5bzAzM3BEbm5udk8KTEJnUTU4Z2VDT0lPQ1pBQUNaQUFDWkFBQ1pCQVpnSWxVMEFl
Zi94eE01REhGOENUZ24zREg2ZGcyQUdzYTljZmxoY253eW9nVUlRUQpvT1RjZXV1dFpoOHJYYmtC
cTE4aFlEYkNWVXpjTkhIN1VIRGdWNEFCN3BBaFErS1NSY1pqcFN3TWJoR3dPcGNOR0NqdnROTk9B
a1ZPCm5lTE4xcDdERnF1SUllQ3RmZGFnVHZjbXFWc09Jc3BSbHExVE1kZlB5b2pheHJVbEtxMGJC
NzhnaEtqNzZZWWJiakF6SmJnM3Jybm0KR3RsLy8vMU5XaXlwckdaWDV2cGloYmZ3Q21JbUVmK1JB
QW1RQUFtUUFBbVFBQWtVUktDc3VkMDNBQUFnQUVsRVFWUlJRYm1LeUdRSAorM1liRnFXclE1a29P
SlBIQlp2WGJtMDZxNENvajRQQU9YblFvRUdpcTIySnJvUmt6S1ZzT2podHE0K0pVVHl1dlBKS0c1
MTVpeVZjCm9TaGdTV0Y4aERDZkFBZDdPSW5ETkVoWGZjckppdStJNEd2cXI3MzJXakFqWWhQQWRB
c2gzR1o3UG1yN3pEUFBtR2hkUmF2SzZWS1gKWlFzbzV2cFpHVkhicExaRXBiZHhjUHhIc1BlR2pm
L2lpeThFeXlUajNyRG5IbnJvSVZIZkpIbm5uWGRrMHFSSkFtWGF6cURZZk55UwpBQW1RQUFtUUFB
bVFBQWtVUjZEYUZaQzA2cTYxMWxvbUNiNHNubSt3QTBrb0NQakQ5ek5PUFBGRXdadHVPNENIVENn
ZlVFTHdMWkZ0CnR0a20zMklDRTZwOFRiZWd0T0Q3SHdpMzMzNTdUcDBRaHhtVlhYZmQxZnpodUpp
QWxiMndFaFJtVlk0ODhzZ3Fva3BabGl1OG1Pdm4KeW5IMzA5cmlwZzN2WTBVeUJPc2ZaTTlqeGc2
elNUMTY5TEJSeHRRTjN4WFpmdnZ0alFLQ21hb0ZDeGFJOVdzSkVuS0hCRWlBQkVpQQpCRWlBQkVp
Z1lBSWxNOEVxdUFhaGpKdHZ2cm41aUI0VUVMeWx6aWRnOElzWkF2emhxK1cvL2ZhYjNIenp6Y0ZB
SHdQT0cyKzgwZnpCCjhSaUtTQ0VCSC9hNzc3Nzc4djU0b1g2UFF6QWc3dE9uVDFrZG0rSGZnbzhz
WXVDc3F6WGxOV3RTQ0E4M1R6SFh6NVZqOTR0cEMveGwKc0J3eFpxcXNZbVRsV3A4UTF6a2Y1L0No
eU9lZmY5NzR6Q0N2cmtKbXMzQkxBaVJBQWlSQUFpUkFBaVJRQWdLMVRnR0I4ckRISG51WQpwdUdy
NXZrRURMZ3hLd0ZGQTA3YjFsa2RNakR3aHlNNkhJNWgwNC92a2JUNzZ5dlgrWlNCdFBpU09SeVRk
OXR0dDB4WjhRME9mSzBiCnlnOEd3M0J5TGxmQXJFZTNidDNNeWsvd2F3aWJlWldyWEN1M21PdG5a
ZGh0c1cyNTU1NTdCTDVHOE9jSUI1aFlJWVFWRU1TQkdjejMKRUdDaTk5RkhINWw5L2lNQkVpQUJF
aUFCRWlBQkVpaWVRSzB4d2NKYlovMUdobW5SQ2l1c1lMWlBQZldVWEhMSkpYbTFFa29GbHQ3Rgpt
MzhzbFl0Vmp2Q0gyUlRJWDNYVlZZM3lnV1ZkQ3cxNE00NDM2SzFhdFJMOTlraXNHSHdJY05Tb1Vh
WThESGp4Y1VYNEdkajJ1Um5mCmZ2dHRjVmZ2Y3M5aDM1cWt1YVprTmcyYzdzRUs1VDN4eEJQR0x3
VmJMQk1jRllvcEswb2U0a3AxL2ZKcEM2NHZWcXFLQzNBZ1I4aFgKQVVHZXZuMzdtbXMxZXZSbzg1
RktNSXRpajdRTUpFQUNKRUFDSkVBQ0pFQUMyUW5VQ2dVRUNnS2NnY1BCL1dwNStGemNNUlFRK0g5
YwplT0dGT1VtV1hYWlpZNWFFYjBORUtRQTVpVk1PNE9DTzJRejREMERCaUFxWWNiRXpKSmdWUUxs
WXJqZHFSU1VzQnd5ekxwaU1wUVhNCmJvUURWbTE2K09HSFRmVDY2Njl2dmlhUEw1MUhoV0xMaXBK
Wnl1dVhUMXZnU0wvZmZ2dEZWU21JZzQ5UDJQOERESDc0NFFlVEptb0cKeEdhR0VvdnZyN3ovL3Z0
bWVkNXp6ejNYbnVLV0JFaUFCRWlBQkVpQUJFaWdRQUsxUWdHQk9WUlU2TjI3ZDFSMFlod0dteTFi
dHBTMgpiZHRLbXpadFpJTU5OakRtV0pqeGdGTjZkWVZISDMzVW1QTEEzd052NE1NK0NHNDk5RXZz
bVpTUEZWZGNzWXFEK3J4NTg0d1NkTkJCCkJ4bmZFcGllSmIycEw2WXN0ODd1ZnFtdVg3NXRpU3ZY
cmRzQkJ4emdIcHA5ekRSaDlnUWh5Y0VjSzVWaEJtN3c0TUZHUVRRWitJOEUKU0lBRVNJQUVTSUFF
U0tBb0FoWHFMNUg0WVFrTXZvNC8vdmlpQ3FtUG1iR01jTDZyWkJYQ0NkKzN3QnY5WW1kMUNpbTcx
SGxxWTF2QQpGbDlTaC9MbkJqNFhMZzN1a3dBSmtBQUprQUFKa0VCMkFubk5nTUNVaUlFRTZqT0JG
SDI5UHFOaDIwbUFCRWlBQkVpQUJFZ2dFNEc4CkZCQU92akl4WlNJU0lBRVNJQUVTSUFFU0lBRVNJ
SUVZQXJWdUdkNlllakthQkVpQUJFaUFCRWlBQkVpQUJFaGdLU0JBQldRcHVJaHMKQWdtUUFBbVFB
QW1RQUFtUUFBblVGUUpVUU9yS2xXSTlTWUFFU0lBRVNJQUVTSUFFU0dBcElFQUZaQ200aUd3Q0Na
QUFDWkFBQ1pBQQpDWkFBQ2RRVkFsUkE2c3FWWWoxSmdBUklnQVJJZ0FSSWdBUklZQ2tnUUFWa0ti
aUliQUlKa0FBSmtBQUprQUFKa0FBSjFCVUNWRURxCnlwVmlQVW1BQkVpQUJFaUFCRWlBQkVoZ0tT
Q1ExM2RBbG9MMnNnbTFtTUJ6enoxbnZqcSsxVlpieVFZYmJGQ0xhOHFxa1FBSmtBQUoKa0FBSmtB
QUpGRXFBTXlDRmttTytraE00OWRSVDVaQkREcEhubjMrKzVMSXBrQVJJZ0FSSWdBUklnQVJJb0hZ
UW9BSlNPNjREYTBFQwpKRUFDSkVBQ0pFQUNKRUFDOVlJQUZaQjZjWm5yZGlQbnpKa2pudWRsYWdU
U1RaOCtQVEh0dkhueklzOHZXclJJdnZ2dU8xbXdZRUhrCmVVYVNBQW1RQUFtUUFBbVFBQWtVVDRB
S1NQRU1LYUZFQkJvMmJHZ2syUzBPWUpiVnFsVXJnWDlJVkJnelpveTBhOWRPdW5idGFrNFAKSHo1
Y1ZscHBKZW5Zc2FQY2VlZWRzbVRKa2lEYjFLbFQ1ZWlqajVadHQ5MVdvTlRZTUdYS0ZPbmZ2Nzgw
Yjk3Y3lNSzJXN2R1UmhteAphYmdsQVJJZ0FSSWdBUklnQVJJb0RRRXFJS1hoU0NrbElOQzBhVk1q
cFVtVEpvRzAxcTFiRzJWaDBLQkJRWnk3ODlOUFB4bEZZZkhpCnhTYjYrdXV2TjBySEJ4OThJTWNk
ZDV5Y2ROSkpRWExNYkl3ZVBWbysrZVFUbzNEZ3hPVEprMlhISFhlVU8rNjRRK3pNQ05LTkd6ZE8K
T25YcUpELy8vSE9Rbnpza1FBSWtRQUlrUUFJa1FBTEZFNkFDVWp4RFNpZ1JBYXVBMkMzRTl1dlhU
NW8xYXlhWTZmajQ0NCtybEdRVgpoTFp0MjVwelk4ZU9sUkVqUmhqbEFSRzMzMzY3L1BMTEwrWWNs
Sm1ubjM1YWxsdHVPWG5nZ1FlTTB0RzNiMS81NG9zdnBIUG56akowCjZGQjU5OTEzWmVEQWdkS29V
U1A1L2ZmZjVacHJyakY1K1k4RVNJQUVTSUFFU0lBRVNLQTBCS2lBbElZanBaU0FnRlU4N0JZaVYx
NTUKWmVuVHA0K1Jmc01OTjFRcFpkU29VU1lPQ2dSQzQ4YU5aZmZkZDVkNzc3M1hITU1uQkFxR0RW
dHNzWVZjZmZYVjV2Q0VFMDR3eWtyMwo3dDJOZ25QUVFRZkpOdHRzSStlY2M0NWdKZ1ZoOE9EQkF0
OFFCaElnQVJJZ0FSSWdBUklnZ2RJUW9BSlNHbzZVVWdJQ1Z2R3dXeXNTCmZpQUlEei84c1B6NjY2
ODJXaVpPbkNpWThjQU1pVlZTN01tTk45NVkxbHh6VFhQbytwUWc0dEJERHhXWWVVRTVhZENnZ2R4
NDQ0MFMKTHZQWVk0K1ZGaTFhR1BPdjhlUEhXN0hja2dBSmtBQUprQUFKa0FBSkZFbUFDa2lSQUpt
OWRBU3NFdUQ2Z0VBNmxBbk1hc3lmUDE5dQp1KzAyVXlDY3k0ODg4a2lCNzhmSko1OHNLNjY0WXBX
Sy9QSEhIeWF1VFpzMk9lZVExc2IxNnRWTE50bGtrNXp6T0lCU3MrV1dXNXA0CitJd3drQUFKa0FB
SmtBQUprQUFKbElZQUZaRFNjS1NVRWhDd0NvamR1aUpQTyswMGN3Z0ZCTXZzWWhiajFWZGZsWjQ5
ZThxQUFRUGMKcEdaLzBxUkpSbUhCTEViNzl1MXp6c1BKSE9jUklDY3ViTGpoaHVZVVpsb1lTSUFF
U0lBRVNJQUVTSUFFU2tPZ1VXbkVVQW9KRkUvQQpLaDUyNjByRURNaDY2NjBuMzN6empXeTAwVWJH
c1J5K0c4T0dEWk93aVJYeXZmZmVleWI3MWx0dkxSVVZGYTRvK2Vpamo4ek1DWnpSCmQ5dHR0NXh6
N3NGcXE2MW1Edi84ODA4M212c2tRQUlrUUFJa1FBSWtRQUpGRU9BTVNCSHdtTFcwQkt6aVliZXVk
Q2dSTUxsQ3dOSzUKNTU1N3Jvd2NPVkphdG16cEpndjJkOWhoQjNuampUZGt5SkFoUVp6ZHdWSzhD
SHZzc1ljeHRiTHg0ZTBxcTZ4aW9xd3BWL2c4ajBtQQpCRWlBQkVpQUJFaUFCUElud0JtUS9Ka3hS
NWtJSEhQTU1kS2xTeGZ6TWNDb0lqQ2JnWUFQQ1Y1NTVaVlJTWUs0MVZkZlhmQVhGZXpLCldWQkFr
Z0pXNEVLZ0FwSkVpZWRJZ0FSSWdBUklnQVJJSUQ4Q1ZFRHk0OFhVWlNRQXhRSi9jY0hPaklSTnF1
TFNSOFhqWTRPdnYvNjYKT1FYL2thUmdaMEJvZ3BWRWllZElnQVJJZ0FSSWdBUklJRDhDVkVEeTQ4
WFVaU1NBbVluWnMyZkxwcHR1S3V1dXUyNlZrckJrTGtJeApDc2hycjcxbXZuZ08rZTNhdFRQeThB
L0wrNzcxMWx2Qk1YYmdiNElBcDNjR0VpQUJFaUFCRWlBQkVpQ0IwaENnQWxJYWpwUlNBZ0w5Cisv
ZVhDUk1tbUk4QW5uNzY2U1dRV0ZXRU5iOEt6MzdjZlBQTmN2bmxsMWZOb0RFNzdiUlRaRHdqU1lB
RVNJQUVTSUFFU0lBRThpZEEKSi9UOG1URkhIU1lRcDRCZ05hMjQwTHQzNzdoVGpDY0JFaUFCRWlB
QkVpQUJFc2lUQUdkQThnVEc1T1VqWUUyZXlsZEM1Zks4NFRMNAp0Zk13RVI2VEFBbVFBQW1RQUFt
UVFIa0lVQUVwRDFkS3pVaWdFSCtPTjk5OHN5Zy9rSXhWaTB6bWVWNWtQQ05KZ0FSSWdBUklnQVJJ
CmdBU3lFYUFKVmpaT1RGVW1BaGpRWi8wYk4yNmNxVVhuenAwejU4a3FPMnU2TW1HZ1dCSWdBUkln
QVJJZ0FSS29Od1E0QTFKdkxuWGQKYjJqNzl1MWw0TUNCc3NZYWE5VDl4ckFGSkVBQ0pFQUNKRUFD
SkZCUENWQUJxYWNYdmk0MnUyM2J0bkxPT2VmVXhhcXp6aVJBQWlSQQpBaVJBQWlSQUFuOFJvQWtX
YndVU0lBRVNJQUVTSUFFU0lBRVNJSUZxSTBBRnBOcFFzeUFTSUFFU0lBRVNJQUVTSUFFU0lJRk1K
bGlECkJ3OG1LUklnQVJJZ0FSSWdBUklnQVJJZ0FSSW9ta0NGcnY3RGRVV0x4a2dCSkVBQ0pFQUNK
RUFDSkVBQ0pFQUNXUWpRQkNzTEphWWgKQVJJZ0FSSWdBUklnZ2Y5djcwNkFaRHZMTWdCL0FXUVIy
WGRJTkFhVlZkblJnR2hZQkFvM0xEQVJOQ0tJUlNnWHdBMjBYRkFSVUJRbwpDbGtDcmlpRm9LQW9p
SmhBbEtWQUxSRlJJd3FDSXB0c0lvc0JnZXY1NXZla2UyWjYrczczemN5OWs5em5yNXJwN3RQblBk
Mzk5TDFWCi9jNDUvMmtDQkFqc2k0QUNzaStNTmtLQUFBRUNCQWdRSUVDQXdHNEVGSkRkS0ZtSEFB
RUNCQWdRSUVDQUFJRjlFVkJBOW9YUlJnZ1EKSUVDQUFBRUNCQWdRMkkyQUFySWJKZXNRSUVDQUFB
RUNCQWdRSUxBdkFyczREZTlKKy9KQU5rTGdraWZnQkhHWHZQZk1NeVpBZ0FBQgpBZ1FPdTRBOUlJ
ZjlIZkw4Q0JBZ1FJQUFBUUlFQ0Z5S0JCU1FTOUdiNmFVUUlFQ0FBQUVDQkFnUU9Pd0NDc2hoZjRj
OFB3SUVDQkFnClFJQUFBUUtYSWdFRlpJOXY1a2MvR25IdXVSRy84QXQ3M05BdTRtOThZOFFqSHhu
eHRyZnRZdVZEdnNxbDZiVWNjbXBQandBQkFnUUkKRUNCd3FBUk9PaktOOWMvb3hKdUUvcm5QUmVR
SDVBc3ZqUGpIZnh5WG4vbE14S21uUnR6OTdoSDN2My9FWmY2L3VyM3doUkZublJWeAozL3RHdk9R
bDZ5WDNldS9OYno2ZXk5LytiY1N0YnJYWHJSM2YvQ1hqdFJ6bHY4YnhKZlRvQkFnUUlFQ0FBSUZM
cE1BdXpvSjFpWHhkCmUzclMvLzNmRVhlNjAySVRXVGF5bE9USXZSMjN1RVhFcTE0VmNkM3JqbVYr
RXlCQWdBQUJBZ1FJRUNDd093R0hZSzF3dXV4bEk4NCsKTytJUC96RGkzZStPK04vL2pmajd2NC80
cFYrSytJSXZpUGlIZjRoNDRBTlhCQzBpUUlBQUFRSUVDQkFnUUdDdHdDVjZEOGovL0UvRQpsYTYw
OXZXMTdyektWU0orNjdjMlIzT3ZSLzdrK09FZmpuajFxeU0rOXJGeHUvczc5N1JjOWFyZGRDMTNM
QityOXN5T3pkb1hYUlJ4CnhTc2VtOGZ5S0FRSUVDQkFnQUFCQWpzTGxBdklNNSs1ZnNMMVNkT1Vr
V3RlTStJR040aTQ2VTNIcE9tVFQ5NytCQjc2MElqenp0dSsKUEpkYzRRb1IxN3RleFBXdkgvRk4z
eFR4Z0FkRTVGNkplWHp5a3hHUGVsVEVDMTRROGE1M2JmNFFmK3RiUi96WGYwVzg2RVVSZDdqRApu
SWo0d1IrTWVQR0xJeDcrOEloSFAzcXh2SHB0UHV3cUQ4bktDZWp6ZU9Vcnh4eVJ2SjBHV1dMeU5k
enhqaEhubkJOeHlpbnptdU15CjU1WjgrWmRIM081MkVmZTR4L2pKdzc1Mjh5SDVQdmVKK0x6UEc5
dTUzUFFPNW5OSzQ5d3JrMTd6L0pUNUVmZnlXUE0ydGw3dTVmMWIKM2xibHRiejBwUkUvOEFPTGRC
cGMrY29SWC9SRkVmZTdYOFIzZnVmaXZ1VnJyM3RkeExkK2E4UVAvZEQ0V2I1ditYck84Y2x4L3Zr
UgpONzd4dU80M0FRSUVDQkFnUUlEQVBndmtKUFQxSTZhN0Z6OWYrWldSTTNOMy9UT1ZpU052Zi9z
aW45dWE5aHdjbWZaYzdIb2JaNTY1Ck9ULzlOZnZJOUNGL0kvL1d0MjYrYnlvL0c4dGY4NXJOeTcv
OTI4ZnluL3pKemN1WFg5dHVyazhmWkRlMmY2TWJqZTM4N3UrTzIrdE0Kcm4zdE9QSWYvN0g1Y1gv
aUo3Ym5wdkp4NUJ1L01ZN2tOai83MmMzcjUzTzcyYzIyWjdZKzdvLzkyUFpjNTdIV1dlejEvZXUr
bHZ4MwpzUFgxTHQvKytxOGYvN2EyUHZlSFBHU1JtNHJya2FrOGJ2bzNuZXQvNEFOam5hbm9IcGtL
N3YvZnYvNS9obnNKRUNCQWdBQUJBZ1RxCkFxV3pZRTBmaXVOWGZtVnFIL2t4Y00zSXczMXl6MFNl
SVNyM0V1UmZublAreER4eVhzWHYvVjdFSC94QnhBVVhSSHpETjR3OUFQUDkKZWNhcEQzODQ0ZzF2
R0pPOWMrL0hPOTZ4ZVMvQ1ZBRGlQZStKK1BNL2ovaWFyNW1UNDVDc1BOem1MVytKdU9VdEY4dnZk
cmR4Mk5TdgovbXJFOUlHME5mN3N6eUx1ZGE4Um5VckN4bC9WLytWZkl2N2tUeGFiUzZNOE5Pdjk3
eDkvU1o4SzBzYjQ2WitPZU94akYrdmxXYUNtClVoTGY4UjBScjNqRmVIMkxlNGRITGwvZTgvTzg1
MFY4NUNOanJYd1A4bldtZGI3V2ZHNTVPL2VJNUI2aWVROUpydDE1ck9YbnN2WDYKZnJ4L25kZnkz
T2RHZk9JVGkyZno4WThQdzcvNGkzRzJzcnduamRONmVhVFZqL3hJeEMvLzhsajZiZDgyRHJGYk5z
cC9hNmVmUGc2egp5L2srWTB4Qmd3QUJBZ1FJRUNCQVlIOEZqdDVaNXI4RzF5OS83ZGZHWDVYUE9H
TjFkam9zS2ovaEhYbjg0MWZmbjMrWm5nNVQybGhuCk92eG1lcXFMbitsd3BZM2wwMkZZRnkrZlBw
QnVMTXR0NWwrMGw5ZWZEdFBadUc4cUxKdVdMNit6N3ZwVUtJNU1oNVZ0Yk9QbmYzNTMKMjVnbXJ4
K1p5dEZHWnZyUWUvSGpUdC9qc2JIc203OTVzU3ozNU9SMlR6dHQzSmV2WVRwazdPTE11dWVXOS8z
cG55NXkvL1JQaTl4QgpQTmI4WFBieS9zM2JXSFc1MDJ0WnRXNHV5NzFGUC91ejQvVlBoNzV0N0dG
YnRlNTNmZGZDYUNwK20vYUVUSE4rTnQ2VDNGTzJ5RTVYCkRRSUVDQkFnUUlBQWdYMFZ1TXorMXBu
Tlc3dnRiY2Z0RDM1dzgvTDUxdVV2UDY3bEhvK2R4bTF1TSs3WnVvMHYvdUt4L0gzdld5VHoKTC9N
NThpL2IxN3JXdUo2L2MvdTV0eUZINTlqK3pFOWxJZDc3M29qcGNLYjQ4UjhmMnpyYTc5d2JjZWM3
ajdWeVRzdzgzdlNtY1cxNQpBdjJYZmRuWWJ2NzFQZWVHNUZqOEpYN2NYdmY3YTc5MnpEM0orU2M1
ZDJZZUIvRlk4N2IzOHY3TjIxaDF1ZE5yV2JWdUxzczVML21lCjVIdWJlNS8rK1orM3J6bVZpbzA5
YWptL0tNZHYvM2JFai83b3VKNi9jNDlXanB5UFl4QWdRSUFBQVFJRUNCeWNRS3VBNU5tbjhzTjQK
VHZaZU4zSWlkbzZ0NVdFc1haU0VUMzFxWHJMOWNxZHR6Qk9HbHd2SUgvL3h5T2NoV2ZsQmZCNy8v
dThSZVdoVWZ1Qy80UTNucGJ1LwpmUEtUeDRmWFBIVG41MzV1OTdsY2N5NEFjNUhLWmROZWpvMlJw
L2w5M09PRzVWZ3ludU44bU5lSFBqUXZQZnBsZmpsaGZzak9ZbmExCnF5M1dQNGpIbXJjK2w3ek8r
emR2WTlYbFRxOWwxYnJ6c2p4VWJTNjgvL3F2ODlMRjViUlhKYVk5US9HSVI0d1RFdVE5ZVZoZ3Zy
ZXYKZjMzRXkxNDJUaGl3MDBUMnhaWmNJMENBQUFFQ0JBZ1EySXRBcTREOC91K1BEL0lQZTlqNmg1
Ny93ci9UQjlUNUErenljZjFidDdqVApOdVlDa2tVb1I1YWNaenhqWE04elhTMlBQUHRWanR3YnNW
eE14dEwxdjdQZ1BQYXhZeTdHYzU2emZ0MnQ5K2Fac3ZMRGJZNDhPOWM4CjhvUHlYZTRTa1VWdW1o
Uy9jVG5mbDVkNUZyRWNXU2gyTzZaSjl4dGorWEZ5d1VFODFuaWtSWUhzdkgvek5sWmQ3dlJhVnEy
N3ZDem4KQmVWWTlYeWUrdFN4cHlUL2JUenBTUkhmOGkxajNUeWw4blRZMWNaY216ekQyOVl6aUky
MS9DWkFnQUFCQWdRSUVOZ3ZnY3Z0MTRaVwpiV2Yrc0Q5ZmJsMW5PanZVeHNqSjVEdU5PVHRmenV2
TkJXU2E0eEE1T2ZrcFQ0bVl6cllWMDVtUU5nNlhtdGZMU2R2VEhKT040dkdFCko4eExkMytacDNE
Tm9wQ25GTTR2SWF5TUN5NFlrOFR6MEtEcERGYWJSbjZQU0g2YittdGZ1OWdqTXErUWgyN2wyUHFh
eDlMVnYvL28KajhieTZTeGEyOForUDliOEFIdDUvK1p0ckxwYzkxcFdyVDh2eTRuL09lWi9HK05X
eElVWFJ1UnBrdlBmeG56ZjcveE94QmxuUlB6bApYMGE4ODUwUldhYm5QU2h6emlVQkFnUUlFQ0JB
Z01EK0N4eG9BVG5hMC8zQ0x4eHI1RGVMVjhmOFFUSUxRdjdrOTJkODcvZEc1Ris2CjV3L3d1YzBz
SDFsQzhydEVibi83NnFNc0RxR3FIcnFWcFNXLy95UEhzNTYxK1RubHNqeGs2T3UrYnZ6azdiMk1Q
TE5YbmdrcTk2bzgKNkVIYnQ3U2ZqN1c4OWIyOGY4dmJXYjUrdE5leXZPN1c2M2xHc2h6ei9LQnhL
eUwzMk9YZXBMdmZmVjR5RG5YTDd4WDVxcThhQlNUMwpWSDM2MHhIenZKYkZtcTRSSUVDQUFBRUNC
QWpzcDBEckVLejllZ0pmOFJYalMvU3lnT1JmcVNzalAvem1Ib0w4eVc4dC84Ly9qSGo2CjB4Y2Y5
UE1ENTlPZU5uNXk0bkVXa2M3SUwvYjd6ZCtzZjNuaDlIMGNrUitJeno3N1lDYzI1L3lXL0pMRi9P
RDg3R2ZYOXBwMFBKWXoKZTNuL2xyY3pYOS9MYThuNU1uazY0dHhUTlJlamVidnpuSkRseWZsNVgz
NVI1TXRmUHViTVpIWTZDNWxCZ0FBQkFnUUlFQ0J3d0FMSAp0WUJrZWJqM3ZjY3J6RzgxcjR6OHdK
MTdKYkpvNUtUdGViSjZiaU0vK09kRTlKeHduTWYwNS9lUm5IcHFaZXVMZGZPYnpITmk4ajN2CnVW
aTI3bHArQjBkK1czZVduL3d3bkpPY0QycmtYbys3M25XYytTbm5OV3c5ek91Z0huZmU3bDdldjNr
YjgrVmVYOHV2LzNwRXpqWEsKK1J4YlJ4NWlsV05yQWNsbGFaYUg3K1hJUS9UZS9PWngzVzhDQkFn
UUlFQ0FBSUdERVRndWgyRGxYNTJuNzhqWUdGZTk2cmpNTTBMOQp6TS9VWG1TV2lqejFidjdsUDAr
Vm0yYzV5cC9jbTVMYnYrNTFSL25JMDdwMlIvNWxQUCtDZnAzclJFemZQYkxqeUM4Q1BPKzg4WGo1
CmdUZS9YREhuR2N5dmJ6bjR4amRHTEorOWEvbSt2RDRma3JaOEtObThUazY2VDZ0OHZKZThaTXhM
eWNzOFRmQ3FzWmZIV3JXOVhMWmYKNzEvbHRlVDdtMmVxMm1ua0JQSWMxUUtTbVFjL2VMeFg1NTgv
dnFReXpWYlo1N29HQVFJRUNCQWdRSURBM2dTT2VRSEpncENUZ2JlTwo1Vzh0MzNyZlRyZXpnT1Q4
ajUvNnFjMXJmUDduajhPUzhyc2hWaFdBeld1dnY1VVQzSE52UnM0ZnlJS3hhdVFlbDNrUFNlNFZ5
TWZOCjAvV3VPcU5Tbmc0NEQrdktROGFPTm5Mdnh0YVJaMjE2L3ZQSDBpLzkwdkZ0OHZsTjU2dkdY
aDlyMVRiMzgvMnJ2SmFjU0gvZis2NTYKUm90bE9jZG42L3lQTkhqWHU4WTZxL2FBek9rc3NmbjlL
My96TitQMHZJOTV6SHlQU3dJRUNCQWdRSUFBZ2YwVU9PWUZKQStIV2pYTwpQSFBWMHZYTDhzUG1O
YTRSY2NvcEVTZWZISEdUbTR6RHNYS1BSMDVLUDFialJTOGFoL0xrZkkvOEMveldPUWpMejJQNkp2
WmRsWStyClgzMzdCUFdMTGhvbDZLeXp4dHlTUFBSczNWL3E5L0pZeTg5NStmcCt2WC9WMTdMVDR5
NC90L3ZkYi9uV3VKNTdtbkx2U1k1MUU4enoKVEdXNUIrN2NjMGRCSEFtL0NSQWdRSUFBQVFJRTls
dmdwUHhlOWZVYlBXbjkzZTZOUEkxdzlTeFpIYmI4Zm92OGkvNWU5K3AwSG51LwpNNGZ4dGFSdGZw
TjZscjh4anZKZlkxN05KUUVDQkFnUUlFQ0F3SzRGanJvSEpBOHBNZ2ljaUFKSHErWW5vb25YVElB
QUFRSUVDQkRZCnE4QlJDNGdQWVhzbGxpZEFnQUFCQWdRSUVDQkFZQlk0cnFmaG5aK0VTd0lFQ0JB
Z1FJQUFBUUlFVGd3QkJlVEVlSis5U2dJRUNCQWcKUUlBQUFRS0hRa0FCT1JSdmd5ZEJnQUFCQWdR
SUVDQkE0TVFRVUVCT2pQZlpxeVJBZ0FBQkFnUUlFQ0J3S0FRVWtFUHhObmdTQkFnUQpJRUNBQUFF
Q0JFNE1BUVhreEhpZnZVb0NCQWdRSUVDQUFBRUNoMEpBQVRrVWI0TW5RWUFBQVFJRUNCQWdRT0RF
RURqcTk0Q2NHQXhlCjViRVdlTm5MeHJlTzMrWTJFVGU1eWJGK2RJOUhnQUFCQWdRSUVDQnd2QVRz
QVRsZThpZjQ0ejdpRVJFUGVFREV5MTkrZ2tONCtRUUkKRUNCQWdBQ0JFMHhBQVRuQjNuQXZsd0FC
QWdRSUVDQkFnTUR4RkZCQWpxZSt4OTRtOE1sUFJodzVzbTN4eWdXNTNrYy91dkt1aXhkZQpkTkhG
VnpkZCtjeG5Jdjd0M3lJKy9lbE5pOTBnUUlBQUFRSUVDQkE0WUFFRjVJQ0JiWDYxd0dVdk81YlBs
M2tyRDh1NnpuVWljbjdJCnF2R3FWMFdjZW1yRUdXZU1lMS84NG9oclhqUGl0cmVOZU81ekl6NzN1
VVhxSXgrSmVNaERJdTU0eDRnc05mUDQ4SWNqemprbjRpcFgKR2R2S3k3dmVkWlNSZVIyWEJBZ1FJ
RUNBQUFFQ0J5ZWdnQnljclMydkViamlGY2VkVjdqQ1lxWHJYVytVaGFjOFpiRnMrZHE3M3oySwp3
bWMvTzVZKytjbWpkTHpwVFJIZjh6MFIzL2Q5aTdWeno4YjU1MGU4NVMyamNPUTk3M3RmeEZkL2Rj
U3pueDB4N3huSjlTNjRJT0lPCmQ0aDR6M3NXZWRjSUVDQkFnQUFCQWdRT1JrQUJPUmhYV3oyS3dG
eEE1c3RjL1dFUGk3alNsU0p5VDhmZi9kMzJEY3dGNFpSVHhuMnYKZm5YRUsxNHh5a011ZWRhekl0
NzczbkZmbHBtWHZqVGl5bGVPZU43elJ1bDQ4SU1qTHJ3dzR2VFRJMTd3Z29pLytxdUlKejR4NG5M
VAp1ZUErOElHSUp6MXBaUDBtUUlBQUFRSUVDQkE0T0FFRjVPQnNiWG1Od0Z3ODVzdGM5VnJYaWpq
NzdCRjY2bE8zaDg4N2J5ekxBcEhqCjhwZVB1TmU5SW43ak56WnVic3dkeVlJeGoxdmRLdUlYZjNI
Y2V2akRSMW01MjkxR3dUbnJySWpiM3o3aTBZK095RDBwT2M0OU55TG4KaGhnRUNCQWdRSUFBQVFJ
SEo2Q0FISnl0TGE4Um1JdkhmRG12bXZOQWNqei8rUkh2Zi8rNG5yL2Y4WTZJM09PUmUwam1rakxm
ZS9PYgpSOXpvUnVQVzhweVNYUExBQjBia1lWNDVZZjB5MDcvMnB6MHRZdXRqUHZTaEVWZTcyamo4
NjYxdm5iZnFrZ0FCQWdRSUVDQkE0Q0FFCkZKQ0RVTFhOb3dyTUpXQjVEa2lHc2t6a1hvMVBmU3Jp
bWM4Y204bko1UTk2VUVUTy9mais3NCs0K3RXM2IvNkRIeHpMVGo1NTgzMjUKN3J6cy92ZVB1TVV0
TnQrZnQ3TFUzUHJXWTNuT0dURUlFQ0JBZ0FBQkFnUU9Ua0FCT1RoYlcxNGpNQmVRK1hKNTFVYytj
dHpLQXBLbgoyYzI5R0s5NVRjUTk3aEh4K01jdnJ6bXV2L09kbzdEa1hvelRUdHQ4ZjA0eXovdHo1
SFoyR2plOTZiZ245N1FZQkFnUUlFQ0FBQUVDCkJ5Y3dUYjgxQ0J4N2dibDR6SmZMenlEM2dIekps
MFM4N1cwUk43dlptRmllY3pkZStNS0lyWWRZWmU2di8zcWtiM2U3aUpOT1d0NVMKeEp2ZlBQYWM1
R1QwZTk1ejgzM0x0NjUvL1hIclF4OWFYdW82QVFJRUNCQWdRSURBZmd2WUE3TGZvcmEzSzRHNWVN
eVh5NkVzRVhuSQpWWTQ4ZGU1akhoUHh5bGRHWE9NYVk5blczM2UrYzhUclh4L3huT2RzdldlY2lq
ZVgzdnZlNDFDcjdXdU1KZGUrOXJpY0QrWGFhVDNMCkNSQWdRSUFBQVFJRTlpWmdEOGplL0tTYkF0
LzkzUkYzdXRQNE1zQlZtOGk5R1RueWl3U2Y4SVJ4ZmFmZk43aEJSUDZzR3ZPWnM3S0EKckJ0NUJx
NGNDc2h3OEpzQUFRSUVDQkFnY0ZBQ0NzaEJ5ZHJ1V29Fc0Z2bXowNWozakd3OXBHcW45VmN0enk4
YmZOM3J4ajA1ZjJUZAptUGVBT0FScm5aTDdDQkFnUUlBQUFRSjdGMUJBOW01b0N3MkIzRFB4aVU5
RTNQS1dFVGUrOGZZTjVDbHpjK3lsZ0x6MnRlTWJ6M1A3CnA1NjZzYm1OWDNsNjN6ZThZWEU3citW
OGt4dzU2ZDBnUUlBQUFRSUVDQkE0T0FFRjVPQnNiWG1Od0RublJMejk3ZU5MQUIvMXFEVXIKN3VH
dStmQ3JyWHMvbnY3MGlNYzlidldHNzNLWDFjc3RKVUNBQUFFQ0JBZ1EyQXl0bXdnQUFCVnlTVVJC
VkI4Qms5RDN4OUZXRHFIQQpUZ1VrejZhMTB6anp6SjN1c1p3QUFRSUVDQkFnUUdBL0JPd0IyUTlG
MnlnTHpJYzhsWU9Gd0h4NjNxMFIzM2ErVmNSdEFnUUlFQ0JBCmdNQ3hFempweURUV1A5eVdMMVpZ
djdKN0Nld29zSmY1SER0dTlBRHZPT3AvalFOOGJKc21RSUFBQVFJRUNGeGFCUnlDZFdsOVp3L2gK
NjhxcXU5dWZDeTRZTCtEMDAzZWYyZTIyZDd2ZUlTVDBsQWdRSUVDQUFBRUNsM2dCaDJCZDR0L0NT
K2NMT08yMGlDYytNZUtHTjd4MAp2ajZ2aWdBQkFnUUlFQ0J3b2dvNEJPdEVmZWU5N2wwSUhPWG94
RjFzd1NvRUNCQWdRSUFBQVFLYkJYYXhCOFNIc00xa2JoRWdRSUFBCkFRSUVDQkFnMEJVd0I2UXJK
MGVBQUFFQ0JBZ1FJRUNBUUZsQUFTbVRDUkFnUUlBQUFRSUVDQkFnMEJWUVFMcHljZ1FJRUNCQWdB
QUIKQWdRSWxBVVVrREtaQUFFQ0JBZ1FJRUNBQUFFQ1hRRUZwQ3NuUjRBQUFRSUVDQkFnUUlCQVdV
QUJLWk1KRUNCQWdBQUJBZ1FJRUNEUQpGVkJBdW5KeUJBZ1FJRUNBQUFFQ0JBaVVCUlNRTXBrQUFR
SUVDQkFnUUlBQUFRSmRBUVdrS3lkSGdBQUJBZ1FJRUNCQWdFQlpRQUVwCmt3a1FJRUNBQUFFQ0JB
Z1FJTkFWVUVDNmNuSUVDQkFnUUlBQUFRSUVDSlFGRkpBeW1RQUJBZ1FJRUNCQWdBQUJBbDBCQmFR
ckowZUEKQUFFQ0JBZ1FJRUNBUUZsQUFTbVRDUkFnUUlBQUFRSUVDQkFnMEJWUVFMcHljZ1FJRUNC
QWdBQUJBZ1FJbEFVVWtES1pBQUVDQkFnUQpJRUNBQUFFQ1hRRUZwQ3NuUjRBQUFRSUVDQkFnUUlC
QVdVQUJLWk1KRUNCQWdBQUJBZ1FJRUNEUUZWQkF1bkp5QkFnUUlFQ0FBQUVDCkJBaVVCUlNRTXBr
QUFRSUVDQkFnUUlBQUFRSmRBUVdrS3lkSGdBQUJBZ1FJRUNCQWdFQlpRQUVwa3drUUlFQ0FBQUVD
QkFnUUlOQVYKVUVDNmNuSUVDQkFnUUlBQUFRSUVDSlFGRkpBeW1RQUJBZ1FJRUNCQWdBQUJBbDBC
QmFRckowZUFBQUVDQkFnUUlFQ0FRRmxBQVNtVApDUkFnUUlBQUFRSUVDQkFnMEJWUVFMcHljZ1FJ
RUNCQWdBQUJBZ1FJbEFVVWtES1pBQUVDQkFnUUlFQ0FBQUVDWFFFRnBDc25SNEFBCkFRSUVDQkFn
UUlCQVdVQUJLWk1KRUNCQWdBQUJBZ1FJRUNEUUZWQkF1bkp5QkFnUUlFQ0FBQUVDQkFpVUJSU1FN
cGtBQVFJRUNCQWcKUUlBQUFRSmRBUVdrS3lkSGdBQUJBZ1FJRUNCQWdFQlpRQUVwa3drUUlFQ0FB
QUVDQkFnUUlOQVZVRUM2Y25JRUNCQWdRSUFBQVFJRQpDSlFGRkpBeW1RQUJBZ1FJRUNCQWdBQUJB
bDBCQmFRckowZUFBQUVDQkFnUUlFQ0FRRmxBQVNtVENSQWdRSUFBQVFJRUNCQWcwQlZRClFMcHlj
Z1FJRUNCQWdBQUJBZ1FJbEFVVWtES1pBQUVDQkFnUUlFQ0FBQUVDWFFFRnBDc25SNEFBQVFJRUNC
QWdRSUJBV1VBQktaTUoKRUNCQWdBQUJBZ1FJRUNEUUZWQkF1bkp5QkFnUUlFQ0FBQUVDQkFpVUJS
U1FNcGtBQVFJRUNCQWdRSUFBQVFKZEFRV2tLeWRIZ0FBQgpBZ1FJRUNCQWdFQlpRQUVwa3drUUlF
Q0FBQUVDQkFnUUlOQVZVRUM2Y25JRUNCQWdRSUFBQVFJRUNKUUZGSkF5bVFBQkFnUUlFQ0JBCmdB
QUJBbDBCQmFRckowZUFBQUVDQkFnUUlFQ0FRRmxBQVNtVENSQWdRSUFBQVFJRUNCQWcwQlZRUUxw
eWNnUUlFQ0JBZ0FBQkFnUUkKbEFVVWtES1pBQUVDQkFnUUlFQ0FBQUVDWFFFRnBDc25SNEFBQVFJ
RUNCQWdRSUJBV1VBQktaTUpFQ0JBZ0FBQkFnUUlFQ0RRRlZCQQp1bkp5QkFnUUlFQ0FBQUVDQkFp
VUJSU1FNcGtBQVFJRUNCQWdRSUFBQVFKZEFRV2tLeWRIZ0FBQkFnUUlFQ0JBZ0VCWlFBRXBrd2tR
CklFQ0FBQUVDQkFnUUlOQVZVRUM2Y25JRUNCQWdRSUFBQVFJRUNKUUZGSkF5bVFBQkFnUUlFQ0JB
Z0FBQkFsMEJCYVFySjBlQUFBRUMKQkFnUUlFQ0FRRmxBQVNtVENSQWdRSUFBQVFJRUNCQWcwQlZR
UUxweWNnUUlFQ0JBZ0FBQkFnUUlsQVVVa0RLWkFBRUNCQWdRSUVDQQpBQUVDWFFFRnBDc25SNEFB
QVFJRUNCQWdRSUJBV1VBQktaTUpFQ0JBZ0FBQkFnUUlFQ0RRRlZCQXVuSnlCQWdRSUVDQUFBRUNC
QWlVCkJSU1FNcGtBQVFJRUNCQWdRSUFBQVFKZEFRV2tLeWRIZ0FBQkFnUUlFQ0JBZ0VCWlFBRXBr
d2tRSUVDQUFBRUNCQWdRSU5BVlVFQzYKY25JRUNCQWdRSUFBQVFJRUNKUUZGSkF5bVFBQkFnUUlF
Q0JBZ0FBQkFsMEJCYVFySjBlQUFBRUNCQWdRSUVDQVFGbEFBU21UQ1JBZwpRSUFBQVFJRUNCQWcw
QlZRUUxweWNnUUlFQ0JBZ0FBQkFnUUlsQVVVa0RLWkFBRUNCQWdRSUVDQUFBRUNYUUVGcENzblI0
QUFBUUlFCkNCQWdRSUJBV1VBQktaTUpFQ0JBZ0FBQkFnUUlFQ0RRRlZCQXVuSnlCQWdRSUVDQUFB
RUNCQWlVQlJTUU1wa0FBUUlFQ0JBZ1FJQUEKQVFKZEFRV2tLeWRIZ0FBQkFnUUlFQ0JBZ0VCWlFB
RXBrd2tRSUVDQUFBRUNCQWdRSU5BVlVFQzZjbklFQ0JBZ1FJQUFBUUlFQ0pRRgpGSkF5bVFBQkFn
UUlFQ0JBZ0FBQkFsMEJCYVFySjBlQUFBRUNCQWdRSUVDQVFGbEFBU21UQ1JBZ1FJQUFBUUlFQ0JB
ZzBCVlFRTHB5CmNnUUlFQ0JBZ0FBQkFnUUlsQVVVa0RLWkFBRUNCQWdRSUVDQUFBRUNYUUVGcENz
blI0QUFBUUlFQ0JBZ1FJQkFXVUFCS1pNSkVDQkEKZ0FBQkFnUUlFQ0RRRlZCQXVuSnlCQWdRSUVD
QUFBRUNCQWlVQlJTUU1wa0FBUUlFQ0JBZ1FJQUFBUUpkQVFXa0t5ZEhnQUFCQWdRSQpFQ0JBZ0VC
WlFBRXBrd2tRSUVDQUFBRUNCQWdRSU5BVlVFQzZjbklFQ0JBZ1FJQUFBUUlFQ0pRRkZKQXltUUFC
QWdRSUVDQkFnQUFCCkFsMEJCYVFySjBlQUFBRUNCQWdRSUVDQVFGbEFBU21UQ1JBZ1FJQUFBUUlF
Q0JBZzBCVlFRTHB5Y2dRSUVDQkFnQUFCQWdRSWxBVVUKa0RLWkFBRUNCQWdRSUVDQUFBRUNYUUVG
cENzblI0QUFBUUlFQ0JBZ1FJQkFXVUFCS1pNSkVDQkFnQUFCQWdRSUVDRFFGVkJBdW5KeQpCQWdR
SUVDQUFBRUNCQWlVQlJTUU1wa0FBUUlFQ0JBZ1FJQUFBUUpkQVFXa0t5ZEhnQUFCQWdRSUVDQkFn
RUJaUUFFcGt3a1FJRUNBCkFBRUNCQWdRSU5BVlVFQzZjbklFQ0JBZ1FJQUFBUUlFQ0pRRkZKQXlt
UUFCQWdRSUVDQkFnQUFCQWwwQkJhUXJKMGVBQUFFQ0JBZ1EKSUVDQVFGbEFBU21UQ1JBZ1FJQUFB
UUlFQ0JBZzBCVlFRTHB5Y2dRSUVDQkFnQUFCQWdRSWxBVVVrREtaQUFFQ0JBZ1FJRUNBQUFFQwpY
UUVGcENzblI0QUFBUUlFQ0JBZ1FJQkFXVUFCS1pNSkVDQkFnQUFCQWdRSUVDRFFGVkJBdW5KeUJB
Z1FJRUNBQUFFQ0JBaVVCUlNRCk1wa0FBUUlFQ0JBZ1FJQUFBUUpkQVFXa0t5ZEhnQUFCQWdRSUVD
QkFnRUJaUUFFcGt3a1FJRUNBQUFFQ0JBZ1FJTkFWVUVDNmNuSUUKQ0JBZ1FJQUFBUUlFQ0pRRkZK
QXltUUFCQWdRSUVDQkFnQUFCQWwwQkJhUXJKMGVBQUFFQ0JBZ1FJRUNBUUZsQUFTbVRDUkFnUUlB
QQpBUUlFQ0JBZzBCVlFRTHB5Y2dRSUVDQkFnQUFCQWdRSWxBVVVrREtaQUFFQ0JBZ1FJRUNBQUFF
Q1hRRUZwQ3NuUjRBQUFRSUVDQkFnClFJQkFXVUFCS1pNSkVDQkFnQUFCQWdRSUVDRFFGVkJBdW5K
eUJBZ1FJRUNBQUFFQ0JBaVVCUlNRTXBrQUFRSUVDQkFnUUlBQUFRSmQKQVFXa0t5ZEhnQUFCQWdR
SUVDQkFnRUJaUUFFcGt3a1FJRUNBQUFFQ0JBZ1FJTkFWVUVDNmNuSUVDQkFnUUlBQUFRSUVDSlFG
RkpBeQptUUFCQWdRSUVDQkFnQUFCQWwwQkJhUXJKMGVBQUFFQ0JBZ1FJRUNBUUZsQUFTbVRDUkFn
UUlBQUFRSUVDQkFnMEJWUVFMcHljZ1FJCkVDQkFnQUFCQWdRSWxBVVVrREtaQUFFQ0JBZ1FJRUNB
QUFFQ1hRRUZwQ3NuUjRBQUFRSUVDQkFnUUlCQVdVQUJLWk1KRUNCQWdBQUIKQWdRSUVDRFFGVkJB
dW5KeUJBZ1FJRUNBQUFFQ0JBaVVCUlNRTXBrQUFRSUVDQkFnUUlBQUFRSmRBUVdrS3lkSGdBQUJB
Z1FJRUNCQQpnRUJaUUFFcGt3a1FJRUNBQUFFQ0JBZ1FJTkFWVUVDNmNuSUVDQkFnUUlBQUFRSUVD
SlFGRkpBeW1RQUJBZ1FJRUNCQWdBQUJBbDBCCkJhUXJKMGVBQUFFQ0JBZ1FJRUNBUUZsQUFTbVRD
UkFnUUlBQUFRSUVDQkFnMEJWUVFMcHljZ1FJRUNCQWdBQUJBZ1FJbEFVVWtES1oKQUFFQ0JBZ1FJ
RUNBQUFFQ1hRRUZwQ3NuUjRBQUFRSUVDQkFnUUlCQVdVQUJLWk1KRUNCQWdBQUJBZ1FJRUNEUUZW
QkF1bkp5QkFnUQpJRUNBQUFFQ0JBaVVCUlNRTXBrQUFRSUVDQkFnUUlBQUFRSmRBUVdrS3lkSGdB
QUJBZ1FJRUNCQWdFQlpRQUVwa3drUUlFQ0FBQUVDCkJBZ1FJTkFWVUVDNmNuSUVDQkFnUUlBQUFR
SUVDSlFGRkpBeW1RQUJBZ1FJRUNCQWdBQUJBbDBCQmFRckowZUFBQUVDQkFnUUlFQ0EKUUZsQUFT
bVRDUkFnUUlBQUFRSUVDQkFnMEJWUVFMcHljZ1FJRUNCQWdBQUJBZ1FJbEFVVWtES1pBQUVDQkFn
UUlFQ0FBQUVDWFFFRgpwQ3NuUjRBQUFRSUVDQkFnUUlCQVdVQUJLWk1KRUNCQWdBQUJBZ1FJRUNE
UUZWQkF1bkp5QkFnUUlFQ0FBQUVDQkFpVUJSU1FNcGtBCkFRSUVDQkFnUUlBQUFRSmRBUVdrS3lk
SGdBQUJBZ1FJRUNCQWdFQlpRQUVwa3drUUlFQ0FBQUVDQkFnUUlOQVZVRUM2Y25JRUNCQWcKUUlB
QUFRSUVDSlFGRkpBeW1RQUJBZ1FJRUNCQWdBQUJBbDBCQmFRckowZUFBQUVDQkFnUUlFQ0FRRmxB
QVNtVENSQWdRSUFBQVFJRQpDQkFnMEJWUVFMcHljZ1FJRUNCQWdBQUJBZ1FJbEFVVWtES1pBQUVD
QkFnUUlFQ0FBQUVDWFFFRnBDc25SNEFBQVFJRUNCQWdRSUJBCldVQUJLWk1KRUNCQWdBQUJBZ1FJ
RUNEUUZWQkF1bkp5QkFnUUlFQ0FBQUVDQkFpVUJSU1FNcGtBQVFJRUNCQWdRSUFBQVFKZEFRV2sK
S3lkSGdBQUJBZ1FJRUNCQWdFQlpRQUVwa3drUUlFQ0FBQUVDQkFnUUlOQVZVRUM2Y25JRUNCQWdR
SUFBQVFJRUNKUUZGSkF5bVFBQgpBZ1FJRUNCQWdBQUJBbDBCQmFRckowZUFBQUVDQkFnUUlFQ0FR
RmxBQVNtVENSQWdRSUFBQVFJRUNCQWcwQlZRUUxweWNnUUlFQ0JBCmdBQUJBZ1FJbEFVVWtES1pB
QUVDQkFnUUlFQ0FBQUVDWFFFRnBDc25SNEFBQVFJRUNCQWdRSUJBV1VBQktaTUpFQ0JBZ0FBQkFn
UUkKRUNEUUZWQkF1bkp5QkFnUUlFQ0FBQUVDQkFpVUJSU1FNcGtBQVFJRUNCQWdRSUFBQVFKZEFR
V2tLeWRIZ0FBQkFnUUlFQ0JBZ0VCWgpRQUVwa3drUUlFQ0FBQUVDQkFnUUlOQVZVRUM2Y25JRUNC
QWdRSUFBQVFJRUNKUUZGSkF5bVFBQkFnUUlFQ0JBZ0FBQkFsMEJCYVFyCkowZUFBQUVDQkFnUUlF
Q0FRRmxBQVNtVENSQWdRSUFBQVFJRUNCQWcwQlZRUUxweWNnUUlFQ0JBZ0FBQkFnUUlsQVVVa0RL
WkFBRUMKQkFnUUlFQ0FBQUVDWFFFRnBDc25SNEFBQVFJRUNCQWdRSUJBV1VBQktaTUpFQ0JBZ0FB
QkFnUUlFQ0RRRlZCQXVuSnlCQWdRSUVDQQpBQUVDQkFpVUJSU1FNcGtBQVFJRUNCQWdRSUFBQVFK
ZEFRV2tLeWRIZ0FBQkFnUUlFQ0JBZ0VCWlFBRXBrd2tRSUVDQUFBRUNCQWdRCklOQVZVRUM2Y25J
RUNCQWdRSUFBQVFJRUNKUUZGSkF5bVFBQkFnUUlFQ0JBZ0FBQkFsMEJCYVFySjBlQUFBRUNCQWdR
SUVDQVFGbEEKQVNtVENSQWdRSUFBQVFJRUNCQWcwQlZRUUxweWNnUUlFQ0JBZ0FBQkFnUUlsQVVV
a0RLWkFBRUNCQWdRSUVDQUFBRUNYUUVGcENzbgpSNEFBQVFJRUNCQWdRSUJBV1VBQktaTUpFQ0JB
Z0FBQkFnUUlFQ0RRRlZCQXVuSnlCQWdRSUVDQUFBRUNCQWlVQlJTUU1wa0FBUUlFCkNCQWdRSUFB
QVFKZEFRV2tLeWRIZ0FBQkFnUUlFQ0JBZ0VCWlFBRXBrd2tRSUVDQUFBRUNCQWdRSU5BVlVFQzZj
bklFQ0JBZ1FJQUEKQVFJRUNKUUZGSkF5bVFBQkFnUUlFQ0JBZ0FBQkFsMEJCYVFySjBlQUFBRUNC
QWdRSUVDQVFGbEFBU21UQ1JBZ1FJQUFBUUlFQ0JBZwowQlZRUUxweWNnUUlFQ0JBZ0FBQkFnUUls
QVVVa0RLWkFBRUNCQWdRSUVDQUFBRUNYUUVGcENzblI0QUFBUUlFQ0JBZ1FJQkFXVUFCCktaTUpF
Q0JBZ0FBQkFnUUlFQ0RRRlZCQXVuSnlCQWdRSUVDQUFBRUNCQWlVQlJTUU1wa0FBUUlFQ0JBZ1FJ
QUFBUUpkQVFXa0t5ZEgKZ0FBQkFnUUlFQ0JBZ0VCWlFBRXBrd2tRSUVDQUFBRUNCQWdRSU5BVlVF
QzZjbklFQ0JBZ1FJQUFBUUlFQ0pRRkZKQXltUUFCQWdRSQpFQ0JBZ0FBQkFsMEJCYVFySjBlQUFB
RUNCQWdRSUVDQVFGbEFBU21UQ1JBZ1FJQUFBUUlFQ0JBZzBCVlFRTHB5Y2dRSUVDQkFnQUFCCkFn
UUlsQVVVa0RLWkFBRUNCQWdRSUVDQUFBRUNYUUVGcENzblI0QUFBUUlFQ0JBZ1FJQkFXVUFCS1pN
SkVDQkFnQUFCQWdRSUVDRFEKRlZCQXVuSnlCQWdRSUVDQUFBRUNCQWlVQlJTUU1wa0FBUUlFQ0JB
Z1FJQUFBUUpkQVFXa0t5ZEhnQUFCQWdRSUVDQkFnRUJaUUFFcAprd2tRSUVDQUFBRUNCQWdRSU5B
VlVFQzZjbklFQ0JBZ1FJQUFBUUlFQ0pRRkZKQXltUUFCQWdRSUVDQkFnQUFCQWwwQkJhUXJKMGVB
CkFBRUNCQWdRSUVDQVFGbEFBU21UQ1JBZ1FJQUFBUUlFQ0JBZzBCVlFRTHB5Y2dRSUVDQkFnQUFC
QWdRSWxBVVVrREtaQUFFQ0JBZ1EKSUVDQUFBRUNYUUVGcENzblI0QUFBUUlFQ0JBZ1FJQkFXVUFC
S1pNSkVDQkFnQUFCQWdRSUVDRFFGVkJBdW5KeUJBZ1FJRUNBQUFFQwpCQWlVQlJTUU1wa0FBUUlF
Q0JBZ1FJQUFBUUpkQVFXa0t5ZEhnQUFCQWdRSUVDQkFnRUJaUUFFcGt3a1FJRUNBQUFFQ0JBZ1FJ
TkFWClVFQzZjbklFQ0JBZ1FJQUFBUUlFQ0pRRkZKQXltUUFCQWdRSUVDQkFnQUFCQWwwQkJhUXJK
MGVBQUFFQ0JBZ1FJRUNBUUZsQUFTbVQKQ1JBZ1FJQUFBUUlFQ0JBZzBCVlFRTHB5Y2dRSUVDQkFn
QUFCQWdRSWxBVVVrREtaQUFFQ0JBZ1FJRUNBQUFFQ1hRRUZwQ3NuUjRBQQpBUUlFQ0JBZ1FJQkFX
VUFCS1pNSkVDQkFnQUFCQWdRSUVDRFFGVkJBdW5KeUJBZ1FJRUNBQUFFQ0JBaVVCUlNRTXBrQUFR
SUVDQkFnClFJQUFBUUpkQVFXa0t5ZEhnQUFCQWdRSUVDQkFnRUJaUUFFcGt3a1FJRUNBQUFFQ0JB
Z1FJTkFWVUVDNmNuSUVDQkFnUUlBQUFRSUUKQ0pRRkZKQXltUUFCQWdRSUVDQkFnQUFCQWwwQkJh
UXJKMGVBQUFFQ0JBZ1FJRUNBUUZsQUFTbVRDUkFnUUlBQUFRSUVDQkFnMEJWUQpRTHB5Y2dRSUVD
QkFnQUFCQWdRSWxBVVVrREtaQUFFQ0JBZ1FJRUNBQUFFQ1hRRUZwQ3NuUjRBQUFRSUVDQkFnUUlC
QVdVQUJLWk1KCkVDQkFnQUFCQWdRSUVDRFFGVkJBdW5KeUJBZ1FJRUNBQUFFQ0JBaVVCUlNRTXBr
QUFRSUVDQkFnUUlBQUFRSmRBUVdrS3lkSGdBQUIKQWdRSUVDQkFnRUJaUUFFcGt3a1FJRUNBQUFF
Q0JBZ1FJTkFWVUVDNmNuSUVDQkFnUUlBQUFRSUVDSlFGRkpBeW1RQUJBZ1FJRUNCQQpnQUFCQWww
QkJhUXJKMGVBQUFFQ0JBZ1FJRUNBUUZsQUFTbVRDUkFnUUlBQUFRSUVDQkFnMEJWUVFMcHljZ1FJ
RUNCQWdBQUJBZ1FJCmxBVVVrREtaQUFFQ0JBZ1FJRUNBQUFFQ1hRRUZwQ3NuUjRBQUFRSUVDQkFn
UUlCQVdVQUJLWk1KRUNCQWdBQUJBZ1FJRUNEUUZWQkEKdW5KeUJBZ1FJRUNBQUFFQ0JBaVVCUlNR
TXBrQUFRSUVDQkFnUUlBQUFRSmRBUVdrS3lkSGdBQUJBZ1FJRUNCQWdFQlpRQUVwa3drUQpJRUNB
QUFFQ0JBZ1FJTkFWVUVDNmNuSUVDQkFnUUlBQUFRSUVDSlFGRkpBeW1RQUJBZ1FJRUNCQWdBQUJB
bDBCQmFRckowZUFBQUVDCkJBZ1FJRUNBUUZsQUFTbVRDUkFnUUlBQUFRSUVDQkFnMEJWUVFMcHlj
Z1FJRUNCQWdBQUJBZ1FJbEFVVWtES1pBQUVDQkFnUUlFQ0EKQUFFQ1hRRUZwQ3NuUjRBQUFRSUVD
QkFnUUlCQVdVQUJLWk1KRUNCQWdBQUJBZ1FJRUNEUUZWQkF1bkp5QkFnUUlFQ0FBQUVDQkFpVQpC
ZjRQc1g5dElxN1Z1VE1BQUFBQVNVVk9SSzVDWUlJPQoKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC90ZXh0LWNvbWJpbmUtaW1hZ2UtdGVzdC1l
eHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBi
aW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKaVZC
T1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFDN21sRFExQkpRME1n
VUhKdlptbHNaUUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1JkUTIvUkZp
YXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FIbnJ3WkM5S2hWcEZLTjZy
S0dLaEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBXQUJPUU54MUtpRVdsc2ZFSnEK
L0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBvSGhQMUE0
RWVhMlNxdzd4ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5eEZraWZFQTFM
YzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJCkVMMVBrS2E3ek82cllxR2NU
dllPa0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUhocE9iRWhqMGNHRFgwK0dBVnR4
cXAKK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1K0xxSEJY
MG0xeE92NG5kV1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3VUVDR1BC
b3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHorCktDSnhsRU8xQ0pMOFFm
NHFyOGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gwOGpqYzAxZWZKWFVkcE5YUjVh
c2VYcTgKbXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFXakUzMzU5
c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1WZmxQWHZYeC9HZk54R1BpS1RF
bWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4CjlTOWRQMXQ0dlVa
L0RQVlJsQm5NMGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZLQUl2Yk9ESW1icHRVM0h2
RUtGbHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9kNkh1Z3BtTk9X
bHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZXTHBkdGlaMHgxdUhLRTVRdmZF
cDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFnCkFFbEVRVlI0
QWV5ZEI1d1Y1ZlgzbitTZm9qR0p3WXBkbzhIWUpWWlVtdGdWQzZBZ1JoRUxDQXFJb0NpSUFvcU5v
aUpZRUZIc0lHQlUKTEFnaVlqY2kyRkVqRXRFWXV5a21tc2E3MzVPY2ZaK2RuZHQyNTk3N3pPdzVu
OC91dlhmdTNKbm5PZE5PK1ozZitjNnFHbkVtcGdIVApnR25BTkdBYU1BMllCa3dEcGdIVGdHbWdB
aHI0YmdYMllic3dEWmdHVEFPbUFkT0FhY0EwWUJvd0RaZ0dUQU9pQVhOQTdFUXdEWmdHClRBT21B
ZE9BYWNBMFlCb3dEWmdHS3FZQmMwQXFwbXJia1duQU5HQWFNQTJZQmt3RHBnSFRnR25BTkdBT2lK
MERwZ0hUZ0duQU5HQWEKTUEyWUJrd0RwZ0hUUU1VMFlBNUl4VlJ0T3pJTm1BWk1BNllCMDRCcHdE
UmdHakFObUFiTUFiRnp3RFJnR2pBTm1BWk1BNllCMDRCcAp3RFJnR3FpWUJzd0JxWmlxYlVlbUFk
T0FhY0EwWUJvd0RaZ0dUQU9tQWRPQU9TQjJEcGdHcXF5Qmp6NzZTRVp3NzczM3V0Ly8vdmRWCkhr
MzkzWC83N2JmMUYzcExhQ1ZrN1lROGhkamJKcStCRzIrODBYMzU1WmROWGc5WlYwREl4L21kZDk1
eFE0WU1jU05HakhDWFgzNjUKbXpCaGdwczhlYkw3NnF1dkVqOHNJZXNoOGNubTJhRHA0Yi9LS1ZZ
UDM4dWpTL3ZLTkdBYVNGZ0RmL3JUbjl6VlYxL3RmdmpESDdwVApUejNWcmJYV1d1NmxsMTV5czJm
UGRxTkdqWEpkdTNaMW8wZVBkbTNidGsxNHp3M2ZYSmN1WFdRODY2MjNYdXhHSG4vOGNmZkpKNSs0
CkdUTm11RFhXV0NOMm5SQVdYbmZkZGU2MTExNXpIVHQyZEFjZGRGQUlReXA2RERoNHQ5NTZxL3Zu
UC8vcGV2YnM2Zjd2Ly82djZOK0cKdXVMQ2hRdGRxMWF0NUZvSWRZdzJybkExd0wxMDVjcVZicU9O
Tm5MTm1qVUxkNkJWR3RrNjY2empOdHh3US9mUVF3KzVlZlBtMVFhSgo5dDU3Yi9lem4vMnNTcU95
M1paYkEybTZMc3dCS2ZmWllOczNEWGdhV0hQTk5WMi9mdjNjRmx0c0ljYjZHV2VjNFE0OTlGRDMz
bnZ2Ck9ReGtJZ2RQUHZsa1VBN0kxMTkvTFk3U0NTZWM0TTNrLzcvOTdXOS82ejcvL1BPZ25ROUdp
K0UrYnR3NGNmVFVBWmsvZjc1Ny92bm4KM2Jubm5odTBVZitkNzN6SEhYMzAwZTdIUC82eEhJdE9u
VHI5L3dPUWduZEVZRHQzN3V6ZWVPTU50MmpSSWhreEVkb0xMcmpBUGZIRQpFNDc1bVpnRzhtbmdO
Ny81amJ2dnZ2c2M1ODNiYjcvdFB2MzAwOXJWMTE1N2JiZlZWbHU1WC96aUYzSS9KWkRUMU04cG5M
SUJBd2JJCkgvYzU3aGwvK2N0ZmFoMlJXdVhabTFScklNM1hoVGtncVQ3MWJQQnAxQUFQaGkyMzNO
THR2Ly8rTW55eUJ4dHNzSUVzMjJhYmJSeC8KSVVreEQvTDExMTgvcENIWGp1VnZmL3ViT0Jaa25G
WmJiVFUzYk5nd3lUamg3QkdCLy9EREQ5M3BwNThldFBPaGt3SFNzL0hHRzd2RApEei9jTFZ1MnpH
RjByYnZ1dXZwMTBLL2YvLzczWGN1V0xWM2Z2bjNkbVdlZTZiNzczZSs2UGZmYzA3VnAwOFlCOGVQ
WW1DU3JnZVhMCmw3dC8vZXRmYnJQTk5rdDFsbW5CZ2dWdTZOQ2hFaWpJcFNFQ0lQd1JUTGo5OXRz
RmNrUW0rWkJERHNuMWt5YTFmTC85OW5NOWV2UncKRXlkT1RPMjhzM0krSjNVQXNuQmRtQU9TMU5s
ZzJ6RU5SRFJ3d3cwM3VBNGRPb2l4OWJ2Zi9VNk14bmZmZmRkOTg4MDNqcnFQcTY2Ngp5djNqSC85
d3BFekI1UkxSSTIyKzIyNjdSYlpVM1kvLytjOS9xanVBUnV3ZHczYnExS251cmJmZUV2Z1NjL25S
ajM3a0prMmFKTkNFClRUZmQxRDN3d0FNQzVkaGtrMDBhc2Fma2YvckJCeDhJaEFKakhYbm1tV2Rj
Ky9idDNWbG5uU1ZZN3NzdXUweU0rZVQzblB3V0dYUC8KL3YzZDk3NzNQZmVIUC94QklIQVhYbmlo
Ty9ua2s1UGZXUlBlSXZjUnNxb1BQL3l3NDN6R1NjVW9QK3FvbzZRV2dNQ0hMOEJ6eG80ZAo2eStT
YXlNYUJPRmNlL1RSUit1c2Q5eHh4NVgxK09GUWRPL2V2ZDUrNnd3aXg0ZWxTNWRLSnFSMTY5WnUr
dlRwRXVESnNXcVRXWXdUCmtqWUhKRXZuYzFJbldwYXVDM05Ba2pvcmJEdW1nWWdHZnZXclgwbVc0
d2MvK0lIVWR1eXl5eTZTQmllS0RZeUFLSHdhaExvRGpGK00KUitUdmYvKzcrL2UvL3kxd0lENFRq
Y2VRRDFFdzNrODU1UlFaTDVGMm5BOWt5cFFwamdnUzlTMXo1ODRWUTJySmtpV0NKdzlsSG1USwpC
ZzhlTEhySEdlRVlBTjJqaG1YRmloV3VlZlBtb1F5MXFIRncva0N5QUJRT3FPRWVlK3hSMU85c3Bl
STA4UHJycjdzampqakNmZnp4CngzSnVheURqbFZkZWtVd1R6Z2JPOWw1NzdWVzd3UU1PT0VDY0ZJ
elR2LzcxcjdLY3dBakJFMStBalFKeE91YVlZMlR4VFRmZEpQYzAKZjUwazMyTmtFYng1K2VXWGF6
ZTd6ejc3eVB5NDExRDNRWDBEQVJ2V3hhbmw3LzMzMzNmMzMzKy93UHlvbXdMT3V1KysrenJxMU5K
Mgp2VEJ4c2hiVHBrMnIxVUZqM3VTcTRXdk1Oc3Y1Mnl5ZHowbnBLWFBYUmMxRmFtSWFNQTJVU1FN
MXhudWRMZGM0SHF0cWpLOVZOY1czCmRaYUgvS0VtU3IycXBvaXhkb2cxZVA1VnA1MTJXdTNuYTY2
NVp0V1ZWMTVaK3ptME56V0d5YW81YytiSXNHcWNrRlUxMGRGVnQ5eHkKeTZvYTJOdXFtb0xNVlRY
c01LdisvT2MvaHpiczJ2SFVPQnVyYW1xRVZ0VVlaTFhMZUZNRElWdFZ3M0t6cXNib1hGWGozSzZx
TWJicQpmQi9haHhvSGIxVk5IY3VxUC83eGp6SzBHcWRxVlkyaHUrcXd3dzVidGROT084bHhDVzNN
RFIxUERkdlFxaSsrK0tLaFB5LzVkelZCCmdWVmJiNzMxcWhwRFoxV053VnJ2OTF5ZmZGZGpoSzZx
eWJUVysvN0FBdzljVldPZ3l6bzFUdnFxR2tPbjNqb3NxSUhScmZybEwzOFoKKzEyU0MydWdVN1hq
cmFrVFdsV1RRUzVwOHpWd25WVWpSNDZzblZPN2R1MUsrbjJ4SzVmN09ITmRKQ1Z2dnZtbTZMU0dp
Q09wVGRadQpKMms5cFBWOFRsb1B0UXIrMzV1c1hSZEd3NXVVYTJyYk1RM0VhRUN6Qm54Rk5JNENY
REQ4UUxISUpLUkJLQlIrOXRsbkhSamNPQUh5CkFhNC9WS0crQnRZWDVrRnhLdkFyc2lHd2psR0RR
SFQzSnovNVNhakRGd3cvMFVBaXVTcEVlb0hZUUF3QVhBYUl6QTQ3N0tCZkIvY0sKQ3c4RnhHZWZm
YmJvSHloWmpTRXIxd1NFQUpkY2NvbmJmUFBOZ3h0M1dnWkV2UU13UTRxdzQ4Z2l1RVpySEJSaHE0
TndJU3BrMjQ0OAo4a2haVE4xVWpTRVZYVVUrazMySXdyTmlWMnpFUW9wcXlkYVFuWG4xMVZkZGpT
TWg5WEdsYkpKTUlkYzd2NmNPaEhxdnUrNjZxNVJOCkJMRXVHU0FncEJ5VHhrb3h0WHlOM1VkU3Y4
L1MrWnlVVHJKNFhSZ0VLNm16dzdaakdpaWdBUjZBVjF4eGhVQ1h3R0tEMDA0RG14SHcKaGR0dXUw
MmdNM0ZUcEpDYjRtSmdOYUdtK2FHZTVDOHFMQVBPRkxyeFc1T3hFWHBtSGI5QzNxZ3R1dlRTUzNW
eGNLODFXUUJoR01PUQpvaUFheHh2bkF6YWVtVE5uQ3Z3bnVFR25iRUJBSkJVeVJYQWpUZ2lFUUhx
QmszTFBQZmVJRXdneGd3b3dVYzRwL25CdXI3MzIybHI0Cm42N0RheVVjOWZIanh3czlNM0F4eHRV
WUFhS0Y0UWJFak8wZWUreXhqZGxjVlg1TG5SUi9xNisrZXFQMGtaWmF2cXlkejBtZE5GbTgKTGl3
RGt0VFpZZHN4RFJUUUFCU3FVTllpNExTMUFXR0JuMVg5YTdJZlJOK3BYVkhCa0tFdkJYK3d6bURB
ejVvMVM3OE84aFZqSFR3MQpsTERROGQ1NTU1MVNoekI4K1BBZ3g2dURBdHVPazlTaVJRdGRWUHNL
TGo5a0llTkJmNWdhbUpVVUUyTW9FNVVlTTJhTU9SOEpIVGdDCkdVcEp1K3V1dStiY0tpeGtTQTNj
VU9xZW9pdENobkg4OGNmTFl2cHIwSnNvS2pneWpYVUtvdHYwUDhNSStOeHp6N2s3N3JnanNmM0EK
d01iMmNJS3BwVXFya0RIbkdEWDBENmMvRFpLbDh6a3BmV2YxdWpBSEpLa3p4TFpqR2lpZ0FZcHZv
WHpkZWVlZHhhQXNONVNod0hDSwovdnFwcDU0UzR4ZkRSUVU0QjFBUC91aTJTM1BGUG4zNjZOZEJ2
Y0k2QmdNVFJlY1U1bklNaUlqQ3NFSjBGQWNyWkFFcUJvdVJ5dUxGCmk2WHdWaitIL0hyOTlkZExS
QjBuRDBZbU1tbm8zb2NtaGp6K05JeU5ES1hLZHR0dHAyL3J2VUtLb1VJV0pDcjArNEd3UVp0Y1Vv
d2UKRlVnZHlubnNJRm9Ba2dlRUtrbFIrdXFubjM0NnljM2F0c3FnZ1N5ZHowbXBKNnZYaFVHd2tq
cERiRHVtZ1FJYXdPR0FrWVp1M0dRVQpmSU9nd0UrcjlqVkdPM0F4YUZUQjZZZGM2NUZMU1VUZ2Nm
cE9PdW1rMmxWcWlqc2RmNzE2OVJKWVN1MFhnYjJCWVF6R0lWNTl3WkRLCkJiZngxNnYyZTZMUC9L
a0E3OWwyMjIzMW83MG1vQUh1S1NyNW1KN29CNklDNDF0VWdPaVF5WVJKaSt3SGpqa1pXMlhUaXE1
ZmpzOWsKaGN2RmpzWjIwNUoxOW5VTDh4aFFYWHIrcUhQb2YxL3NlNjY5dVBxZ1luOWZxZld5ZEQ0
bnBiT3NYaGZtZ0NSMWh0aDJUQU5GYUlEbwpJUVc1R1BJVVJvY3VRSldvVzBGNGVKRkpJSlcvMWxw
cmhUNzAydkh4NEw3b29vdWtrM2dVdzg3eHlCYzFydDFJbGQ1QTFZeWo2dmR2CndKbWl3ekcxTjBC
dWZ2clRuNHBqUzJPLzBIcVpSTlZHOW9ObWtNRGZvRkkxYWJ3R0NHZ2daQ2ZJTXVVU0lLQXEwQ0hu
RXM0dGhWK1IKQlFHK1ZDa0JTcWIxVFVudmsvTU5Nb2MwQ1dPbWRsQjdBVFZtN01CbTB5QlpPcCtU
MG5kV3J3dURZQ1YxaHRoMlRBTkZhSURvRGsyeQpNTUpDRjV3UGloL1ZRQWZHQUlNVVhjL2gyb2Vs
aG1aa1pCWisvZXRmUzBTZVF0YzMzbmdqcUtuVlVJektXREhPZ0hhMGJkdlc3YmpqCmp0SkRnRUxY
a0lXeFgzenh4WFdHU0JRVVJpbDZ5ZlR1M1Z1eWFRTUhEZ3k2R0YwblVFT0hLaEYyc2s4NFRHUUNY
M3JwSmYzYVhodWcKQVFyOUVZcVU4eG1xWktLMGZvT2VIMEFUNHdSbU9LMFhBYXBGRFZLbEJHZjZz
ODgrSzh2dTZLR3c1cHBybG1YYjVkb292YVB5SGROUwo5Z3ZFTGcyU3BmTTVLWDFuOWJxd0RFaFNa
NGh0eHpSUVFBUEFaaWdtcTJSRXNjQ1FjbjVOOTJRZ0N6VC84Z1htbkpxK0djTElSQU0vCjB2bzgy
Q21RaE80V3d5VTBpQTBQOEJFalJyaEJnd1pKVjJpT0FSM29jVWppbUxIOCtWYjdQUlNpY2NMWVlV
Vkpvd0RudzNIbC9LbnAKYjVJYU91b1FkWTBUQWJzWW9zNUZ2bkd1c2NZYWN1NnpEcjlkYmJYVlls
Y25DM0xpaVNjNkdJbGd4SW82d2JFL1NtQWhFTEpISG5rawpnUzNWM3dTUjlkQ3Y5K2lvaHc0ZEds
M1U0TTlLVk5EZ0RWVGdoMWs3bjVOU1dWYXZDM05Ba2pwRGJEdW1nUUlhd0tBdlp3Rm5nZDJYCjlI
VWhIRFpRSnJxSXAwa1lNeEFnaytwcmdDeGFHdkRvMWRkVS9oSDR6RVorclUydVgrR0FmUG5sbC9K
MXJnd0lYM2JyMXMyZGM4NDUKRWpDQnVlejg4OC9QNmF6azJsZERsZ012Sk9zSzlDdEppQ3JSLytu
VHB3dGRlRVBHVmEzZkZMb1Bsekt1bWthRXNucE5UN3RTZmxiUgpkYk4yUGllbHZLeGVGd2JCU3Vv
TXNlMllCZ3BvSUMzT1I0RnAyTmVtQWROQUlCb0FkcVZTcW1HWkwyTkNwdk8wMDA2VFRRT0pxbFRX
Cmx1YVUxSUFrVFhZeGVQQmdxVnNEK3RjVUJRWkQ2c2xDbDZ5ZHowbnBPNnZYaFRrZ1NaMGh0aDNU
UU1ZMVFCUVIyRSs1SUJJWlYxK0QKcHdkZE1EVTM4UCtibUFaOERWQlkvcU1mL1VnV0FTc3NKRUNx
VlBSMytqbjZDcTIyT2luQUxpc2xNTlBScjRlTzdmLys5NzhidFZ1WQp2WUJmUWdkTlpxV3BDV1FE
MTF4empjQmkzMzc3N2VDbm44WHpPU21sWi9HNk1BY2txYlBEdG1NYWlORUFNQWNZbUxJZ3dEZGdX
ZXJlCnZidjcyOS8rSnMwVTg4RTRzakRuRU9ZQUZBVWFSblJ2ZlF4Q09DSmhqUUU0RzFLTUE2THJR
R1NRcS81RFp3ZnV2R3ZYcnZJUjhveUYKQ3hmV29WVFc5WkorN2Rldm54QmYwREFVd2dnYTA1WHFp
T0I0UFByb282NTkrL1p1NU1pUmpvYWRaRUdha3J6d3dndEN2akZseWhSaApuSU5jQU9LUUtCTmdh
RHJKMnZtY2xINnplRjFZRFVoU1o0ZHR4elFRb3dFZThqd0lhYTZsZlBwQUpiN3puZS9JMmp4WWFi
ekVBNU9IClEyZ0NkZU12ZnZHTFdpYVdKNTU0UWlLSnNIamRlT09ON3NJTEwzUjB1ellwcndhb3R3
RVNrOFkrQnFvWnNqZ1lzc0JCMWx0dlBURm0KNmJnTjB4ZnNhU1lOMHdDT2doYnpFeERJNVZodzM5
Rm1vbjVQa0h4N3BSaWQ1cEVJRUI1b1ljdk5wZ1JVRmVwWkdOSnd1Q0ZpMkhERApEWVZwang0bE9P
TE0yYTk1b1JDZmE0Tk81ekRiM1hycnJVSlR6Ymhodm9MMkdWaFpVNUxkZDk4OTZCNUh1WTVGMXM3
blhQTXNkWGtXCnJ3dHpRRW85QzJ4OTAwQ0pHdUNoLytLTEw0b0RncU14ZHV4WVJ6cjhkNy83blRR
bHhBblphNis5SkZyblAxUkwzRTFaVmljYWRjRUYKRnpnWVZLRGp4TkNoa0p0b0dwa2R2N2RBV1Fh
UThFYi8rTWMvdXBrelo0b2h6TEVBaGdJc0JScmhrQmx5bElwVG5kaUUxVkxXelgzOAo4Y2R1eUpB
aDRtaWNkOTU1RGllV3VnSWFySEVNUm84ZTdhWk9uU3AxQmpyUHNnNG9ZeHZYaURIVDRqck4xUXVH
NG5QTkpMUm8wYUlvCkxVQURDeFBlVTA4OUpkVFBmZnYyTGVwM2pWMXBoeDEyY1BQbnozY0hIM3l3
T0JiY2UraEhwRDJKQ09EUTMyZWRkZFlSRmo3bXpia1UKRmI2Zk0yZE9iZkFuK24zb24ySHUybjc3
N1lzZUpnNTlydU5mOUVhcXZHSVd6K2VrVkpxMTY4SWdXRW1kR2JZZDAwQ01Cb2hJZ3NNRgp0b1Jn
WU1FdU0yclVLSGtvd3N3Q2plMkREejVZSjZJWHM2bXFMQUwrQXdVblREaThCdzRCUXcyZGVkWDV3
RGk0K2VhYmErbEFxekxRCm1KMXFQeElvZ29tQVlzd2NmL3p4MHNjRVhEalFCTER0SEF1Y3JFcmkz
R09HbTNjUmtEY2l1T1ZxMHBaMzU0MzRFb01JR0F3WnMyT1AKUFZZNk9kTUhSK3NQdUI2R0R4OHV6
UlRWdUd6RTdwcmtUMkhJVVZteFlvVytyZmZLc1ZBaE91NEx4bnV1SW5heUlNaTMzMzRyVFZUOQoz
NVh6UFFYajlMcmgvaFB0MzhGWW9kUG1Hc2ZCalRvZndJeTRwdDk5OTkyeWRWWXY1OXgxMjlTdWxD
SmtqT0s2M0pleWpXcXZtOVh6Ck9TbTladW02TUFja3FiUEN0bU1haU5FQUR3TWdCTkVIS0hTRFk4
YU1jUjA2ZEtpRk44WDhQSmhGVjE5OXRYVGtYclpzbVlzYU9XUVYKNk8xQUpEc2tvWWthTkphazlJ
bkEwOWVBTHZSSEgzMjBRRHAwckVSU2NVYkFpRlB3SGFLUVJRTTJvOUM5RU1jWU42WlRUejFWWUhy
QQorRlR1dnZ0dXlmanBaMTZoNUNXakZqVWsvWFhzZmJ3R2V2VG9VWHRldlBycXEvRXIxU3hWaHh5
bmorYWh2bEFia2t2M1J4MTFWSzNqCnExMnEvZCtXOHoxMVp6aXZPQkpjbjF0dnZYVnRZWHgwdjJT
UCtaNm1uS3hQN1FjTjNOSXN3TWxLNmQreGVQRmlOMlBHak5ncDQ0QSsKODh3enNkK0Z0RERMNTNO
U2VzN0tkV0VRcktUT0NOdU9hU0JHQXhnRVJONmp3b015TFhMTExiZElsSnA2RDdxaDMzVFRUWks5
MldhYgpiZVFoVDNHcWRrSVBhVTVFMXNuYTBQVVpXazl1MnJtRUR1a1laaSsvL0xJVXZ1WmFyMXJM
d2Qyait6UUptYkhYWDMrOXRwQ1pzZFBCCkhZZHdyYlhXcWpNVm9ENWtDNGw0cCtuYXFET0pLbjNZ
ZlBQTkpjdTBZTUVDS1JUUEJaTjY5dGxuWllUVW1rVnJRTWh1K0F4Wi9sUW8KV0QvampETWtjK3N2
citSN0dtOFNzT0VQR0JsWlpjNFZhajZvU3dGU3hwd1lhNWFFUnEvTWoyc21uek5GUm9oTU9sa2g3
bVdYWG5wcApIVFVBK2FWQkxMb2o0OHU5TVZScEN1ZHpVcnBQKzNWaERraFNaNEp0eHpRUW93RWVJ
SWNlZXFoNzhza25CVXVkdGdnMjBDcU1qM3Z2CnZiZTJTTDV6NTg1U0IwS3EvUFRUVHhmS3pCQWYv
RGdVQ2grSk9UUjFGbUhRWUlSUkhCMmk0SUQ0Mk9nUXh4Z2RFd1FHdSs2NmErMWkKSXV3WVBqaXdV
U0h6eFBjWVVPYUFSTFZUK0hQUG5qMGREZ2dVMlY5ODhVVTlCNDhpYlp3L2hLeFVWSUF4NWV0VGRN
b3BwemhnaTBBQgpxeTNjYTM3Kzg1L0xYN1hIVW9uOTR4ajY4TGxDKzF5K2ZMa1U3L3MxYldTdXRQ
NG5EUkN0cG5RK0Z6cWV4WDZmeHV2Q0lGakZIbDFiCnp6VFFBQTFnREJDOTRxYVA4NEdCUUVRK0xV
S3hNT3hGeXRCRlFTZlpCT1pFa1Nqd2pCQ2RqMUwxZStXVlZ3cjFaNmpHTDg0UlVMRTAKQ1ZrTjMz
Q0NOWTBDMmJoQ2V0aXh1RDZLTFk1T2t4NHFNVmJxYTZDc0Jkclp2My8vZXJ1a2pvSmdTS3RXcmR6
aGh4OWU1M3N5VDJTcQorTXNselpvMXM4NzF1WlJUNXVYY1h6ZllZQU54ekdsSVY4d2ZSQSsrSEhi
WVlhNTM3OTdDTmtkdFRPaGk1M1BvUnlpWjhWa0dKQms5CjJsWk1BN0Vhb0pFWDBYVnRJb2VCd09m
dHR0c3VkdjNRRnZvVXUyQ0x3U05qcklQVHpZb0FTY0E0bmp0M2JyRDFPRVF2UStmdmo1NFAKUUVZ
NHp6RjhPZjlod0FLdUZ5ZjBmTUF3VGx1V0oyNHUxVmlHa2NyMUNVMHRYY3VCSTBIYlRMRS9CQXpV
WjVHTklndmlaenBndDdyawpra3ZFY2FHK2krdWFEQW5NVjFIQnNZR01vcHhDdEo4SWZqa0NBV1Rr
NkFlU3BvQUpjQ1NnY3dSOEdpTThoMG90YUcvTS9ocjcyNnljCno0M1ZnLzQrcTllRk9TQjZoTzNW
TkZBR0RXQlFrVEhBd0VLZzI2V2pLZDFwZ1JHb2ZQamhoMUt2a0s5T1FkZXR4aXVPRTRXZEdKRnYK
dnZtbVJPR3FNWTRrOThtY0tGakZLS1pYaXc5WlNISS9TV3dMWXg0WVRTNkJuUXhqUHpTV0xJeFdz
bWYwYUFDWHZ1T09POWFiQWdRQQpPQ2dZeWlZTjF3RHdRU0xmWkN3WExWb2t6Z2lPSzlTZE1MemhX
UGpPQjN2aWUwZ3krRlBKVlF0Q3pSZGtGT1U4eHdod01FN0duN1FjCmQ5eHhrcldsTGl3dFFvYTVz
YzVIV3VZYUhXY1d6dWZvbkJyNk9hdlhoVGtnRFQwajdIZW1nU0kwc09lZWU3cWhRNGVLRWNEcUZC
UU8KR2pSSWlyYUo5QUZ0d1BpQ1NRcHF6T2VlZTY2SXJWWitGWndQaFFCaGlPUmlXcW44eUVyYkk4
V2FkQWdtRWt4aEprM3dycjMyMnB6TQpPcVZ0dlh4ckEwMkN3WWJ4KzNWRTBHN2VmdnZ0amk2NTVU
UU1Hem96WUZqZHVuV1RzVVdabDZqNUlETC8vUFBQaStFY3F2UGQwTGxYCjQzZEV1bWxheVY4eEFt
eUx2MktGODZ6Y0FrMHp4ZVZKa2k1dy95SURramJ4TTlCcEczc1M0ODNDK1p5RUh0aEdGcThMYzBD
U09qdHMKTzZhQkdBMEFaY0FBZzYxQ2hRNi9HSlBVVnhBWnB2Q1d5S1JQVmFycmh2SktGQlZhUzRy
cHdTQkQyOGxEbldhS1VNU1MzbytEYllReQpmaDBIamg2R0xveGVhZXFNalBQWHJsMDcxN0psUzZG
dUppS0dJd1c5TTg1Z2xOVkk1eHZDSzhYTHZoQmhwL0VnREhFWXZ6am9hWUxGCitIT3g5OGxyZ013
a1RFNWs5TGhXRzlPY2xhd2hoZk13WnFXcDlrNjFDbnlSK285aWhYc0M1Q0FZN2liWjBrQVdyd3R6
UUxKMWp0cHMKQXRNQUQ4Kzc3cm9yZGxSMDZlVXZEWUtCU0FkeEhDZTZ1dFBjYjhNTk54U25pUWNr
Rkk5cEVNWmF5Z005cERsUnE3TC8vdnRMVjJveQphWDM2OUpHaTRwREdXTXhZdUNhQTJjQlNabUlh
aU5NQWpnT1UyRTFkYnIzMTFwSWFLZExuaU1DV0Q2bHI2anJNMHZ5emRsMllBNUtsCnM5UG1ZaG9v
b3dad1FscTNiaTEvWmR5TmJUcVBCcktpZjNNKzhoeGsrOG8wOEQ4TjBJT0piTkN2ZnZXcnZGa040
SXhBU2xrZk5qTnoKUU93VVNvTUd6QUZKdzFHeU1ab0dUQU9tZ1F4b0lGckRrb0VwMlJUS29BRklP
enAyN09oKy9PTWY1NFZnVVZoT255TG9oUXNKOE1XMApDZkN4VXV0QUlEUUJGcHV2Y1dIYTlHRGov
YThHc25aZG1BTmlaN1pwd0RSUVVBT3c1YVFScDUvUDRLVUdBU0lBREpNUUM3Z0xIcFFVCnJnQWNr
VnFpeVpNbmwxVDhuTUtwMnBBYnFJSHR0OSsrNks3cjFIR3R0ZFphUlRGRk5aV3NHL0JZNnNKb0ht
bVNIUTFrOGJvd0J5UTcKNTZmTnhEUlFOZzJBUlI0N2RxeEU0MDQ4OGNTeTdTZnBEYTlZc1VKNmZO
RHJJQ29VMDk5MjIyM0NTUGI1NTUvbmhUaEVmMXVwenpTSgpnelZ0NHNTSmRkaXYyUC9peFlzRmNu
SGtrVWRLWVhxbHh0U1kvZEJycFUyYk51WjhORWFKRGZqdHNHSEQzSmRmZmltTWIvN1BNVkp4CnZr
TnBUa2Z4ZFB2MjdmMGhOdW4zcTYyMm12VEhJY096K3VxcjU5WEZkZGRkNTJCZGhMbzM2d0dWdEp6
UGVROVlDVjltOWJvd0I2U0UKazhCV05RMlVvZ0hTNXpUdW9nK0lUNTFheWpaQ1diZG56NTd1NXB0
dmRsOTk5VldkSVZId0NMTVVqRFVoemhIOE5IMFJhSExIdzlrWAppcUc3ZHUwcWpkdENaWTNCQUFI
Yi9lQ0REenE2R2ZzQ3hTMzlTK2h5M2FGREIvK3JJTi9qVEVGL2ZNODk5d1E1dml3UENscGJtTk9p
ClFnWXdwTXdtcEJ6MExDbFdxSDNnTDZ1Q2cwalBxR0tFdWcrY3Q3NTkrenFvMHJNc2FUbWZrem9H
V2IwdWpJWWtxVFBFdG1NYWlHaUEKTHNSMFBVOVRCOXJJRk9wOHBCTTNUZVV3V243em05L0lkOXdZ
TVdCMjIyMjNldEhWT2ordTRnZWNwbHpOMVRoR1FEaWdFK2JCVFNPMwowSVFzenNjZmZ4dzdMSnFx
YVFORitzbUVJckMxOE9mTG5EbHpoRlkxbDdNMFlNQUFCNllmUjhYRU5GQ01CcjcrK3V1aTZYV2hE
aytiClVBZFRyR3l5eVNaU0QzUHl5U2RuMmlrclZoOU5lYjIwWEJlV0FXbktaNm5OdmV3YTJITExM
U1Z6QUdWcW5QemhEMzhRR0EyOVF2ek8KNkhIclZub1pZM3ZqalRlay93VEdKRGUxU1pNbXVRY2Vl
TUFkYzh3eER1Z1BBaDB2Y0taenpqbkhrU2twQkJXbzVEemdUbWZjZEtCSApjSjdtejU4dkVBVUtO
ZWxyc216Wk10ZXBVeWVaRDVtY2tBVG5pZU9BdnBHVksxZEtnU25qSlBMTC9CZy83RmhFdUY5NjZT
V0hVMVZ0ClFlZmp4bzJUL2lUYXg0R21nL1NLb1hHaUNoa1JuTVBPblR0TDR6bWF6NzMyMm10dTEx
MTMxVlhzMVRTUVV3TmtZSUZQRmhKcXdZQ2cKcFUwSStKUWlORllkT0hDZ1VLWFQyTmFrYVdvZ0xk
ZUZPU0JOOC95MFdWZElBeGhmR09pNWhPK0kvQjU4OE1GdTJyUnBRcm1ZYTkxSwpMMmRzUk4vUE91
c3NNVzU1UDJUSUVIZlZWVmZWWWFaWnNtU0p1K0tLSzhUUlVtT3owbVBOdFQrYUpRSkxVSmdKVHQ0
UlJ4emhGaTFhCkpKRlRzTlVMRnk1MHI3enlTcTVOVkhVNURzV2hoeDdxeUQ0aFJEbUJZOTE0NDQy
U1hWUDRHNDBWYVJZWml0QWdrYjRsS3UrOTk1NmoKcVJxNjl2dXc0SXhnTlBYbzBVTlh0VmZUUUZF
YW9MTTV6amNCa1VKMWFUanlFR21rVFhEaXFRRXJWZ2hJSUU4OTlaUXpCNlJZcldWcgp2VFJkRndi
Qnl0YTVaN01KVEFOME9QY0xBalZxN1ErVGJyLzkrdlVUUTk5ZkhzSjdNZ2Rnc21FdjJtbW5uY1JS
aWpvWmRPakdXWWt1CkQySDhPRTA3N3JpakRJV29FTEwrK3V1N280OCsycDEwMGtrU2tRK3hka1VH
V3ZNdmp0TWZod1FuOE41Nzc1V0dmdnZ1dTI5UXpvZU8KM1g4RngwNjlqZTk4NER5UmdXTDhKcWFC
WWpVQVhITEtsQ20xNTgzczJiTWRzQ09DQ21UZTR1U1JSeDZKV3h6OHNqdnV1S05veDRrTQpEd3h6
Q002K1NkUFNRQnF2Qzh1QU5LMXoxR1piWVEyc3ZmYmFqdlMvQ2c4VUl2QlJvWUFRQXcwWXpicnJy
aHY5T3FqUDFMWFFFUjIrCmVhS0tGRHd5ZnB5dDBJU0lJRVl2WXdiS0ZPMDgvKzIzM3diZGtSc2Rv
MXNZcjNDa29rNGUxS0s1Nmx0Q09SYWZmUEtKWkd5ZWZ2cnAKT2tNaWE3YjExbHNMRFhLZEwreURh
U0NQQnFpTDRKd0g2Z25FRmFGMmk3L1RUejlkSUVqK3o2R2x2ZkxLSy8xRnFYbFBkbm1ycmJZUwpT
Q0paeGVnOWx2c3ZaQ2M0ODl3anRBNk14b1VtVFVzRGFid3V3ck1ZbXRZNVk3UE51QWJJR2x4Nzdi
VXlTeUx3cEVmakdrVHhIUTlVCmFpN2F0bTBibkZhQU1BQjNPT2lnZzZRckw1QXhvRTBZd0RBeHdU
QUZ4U29PVjBqQytORHJyRm16cEVBek9qWWNQcHFkaFNwZmZQR0YKWk5DSThzSjZGUlVNa21JdzhO
SGZWZkl6dFI4WVVSaFR6Wm8xRXhnWlRna01jY0JuVEV3RHBXamd6VGZmTEdwMXNzM1BQdnVzby82
TwpuajlwRmJLNC9CVXJaQlFoY3pCcFdocEk0M1ZoRGtqVE9rZHR0aFhXQURVSEdJaEUyczg3N3p4
NUdQcERJRDNESTlFQUFDQUFTVVJCClZESlBWb1FISmNhWlJ2VDhkYXI5SGtQeHBwdHVranFLaHg1
NnFGN0c0TmUvL3JWNy9QSEhCYXFsRUlCcWoxbjNUellKR0JPRnpYRlUKdXl6ZmZQUE5kZlhnWGlu
K3h3blJ5S1lPa0hUN2IzLzdXMGRXSVlTaWN4MVg5SlZJOWNzdnZ5eEVDNy80eFMra0FKMXpuVG50
dDk5Kwp0VENhNk8vc3MybWdNUnFnZHVLeXl5NXpDcnRzekxaQytXMmhRQW1aRUdyRHFJZHBLazBY
UXprMmFSbEhhTmVGMVlDazVjeXhjYVpXCkF4VFlkdW5TUmZwUlJGUGptMjIybVJzNmRLaEVndUUy
aHdVb0pMbjAwa3ZkOU9uVDNZSUZDOFNBNThFR25TVVFMRjhVQnVBdkMrRTkKK3FXSkgzVTJjWEwz
M1hkTFZpZnV1eENXa1ZFNjk5eHpwVmFGOFpDSm9qZkF2SG56Qkk0Rmt4Zk1aQlNnazRrS1RZQ01V
WGhPSmhCSApxVmV2WHZMK2hSZGVrSXdhRk5WcHBFY05UYzgybnJvYWdFV04ycldISDM3WVBmLzg4
OUpMaDJ3bk1LWTBDZGMvdFY2TUhUaHB2aitDClA5eW56ZmxJMHhHdTdGaER1eTRzQTFMWjQyOTdh
NElhQUpkTWhpQmFmNUFHVlFBWmc5Ynhoei84WVcwVW5rd0NtR01heW9FN0JYcEYKc3o4SzFVTVRh
Z3lBS2NWbE9XandSNFErWkxnQ2RSOTBvSjg1YzZhb2xzd0h0VUw3NzcrL2ZNWVJJZElMckE5SGx6
a3BZMVpveCtLdgpmLzJyTy8vODg0V2hCN3c2V1VHS2g2a0ZJVEpIQjJjVDAwQVNHZ2dSeHRxUWVY
RjlLTjE1b2Q5emJWRXZSbU5TM3B1WUJxSWFDTzI2CnNBeEk5QWpaWjlOQXdockFBQ2FLUlIxQzJn
VG9GZGhTK256NGJGNFUwZ01mMjJPUFBhUzJnb2NlM2NaREZJemJLRVV0eGkvMHdrVGcKUTJiQm9n
OEFER05hTjBRRTY4VVhYNVJNQXZVNFJFUjc5KzR0akY0MGh3eXBCNHVlQ3pnZVJLUEJwdU1JUWhI
S25PaFMvOWhqajdudQozYnRMSDVicnJydE9mMkt2VFZRREZGVVQzQ2lIZlBUUlI2bHIwRWZ3cWhR
aENISEpKWmZrYkZ4YXlyWnMzWEEwa05YcndqSWc0WnhqCk5wSU1hd0FqRnlNK2JVTC9EQm9NVW1S
T0liRUt5d2NQSGl4L3VpelUxOE1PTzZ6TzBJQXg0WlJBWmV2UHFjNUtnWHlBTXBnZUdyNVEKU3hR
bk9JT2hDTXh2Wkcxd1hxbUJ3dm1BSm5XMTFWYXJNMFN1QzV4WGFwL0FyK2RxMkZublIvWWhzeHI0
K09PUDNiSEhIaXVNVmtsUApra3dDMmRxZi9leG5TVys2Yk52VC9rWEY3Z0RhZEZpL2dNMzI3OSsv
MkovWmVvRnJJS3ZYaFRrZ2daOTROanpUUUFnYWFOT21UUWpEClNHUU0xQ1ZjZE5GRmlXeXJFaHVK
SzU2dnhINGJzdzhjQytCNTlGc3BSbnIyN0NtWmtHTFd0WFd5clFFWXF5QXBXR3V0dFJLYktOa1AK
NEtScEUrQ0pWMTk5ZGRIREJ0cUl2UFBPTzBYL3hsWk1od2F5ZUYyWUE1S09jODlHYVJvd0RTU2tn
VndGNlFsdDNqYnpQdzFFc3gyRgpGRU9ka1lscGdJWjZ3UE4yMjIwM0lZK0k5cjRwUlVPd3lFR1FB
Uk5ibEVtdWxPMVVhMTB5R2RTb2JiLzk5ckVzZm95TE9yYmx5NWU3CnBVdVh1Z0VEQnNoUVlad3p5
WllHc25oZG1BT1NyWFBVWm1NYUtLc0d2dm5tbTNvd21yTHUwRGFlVXdQVTRFQXpDclF2RFU0VnNL
eVEKNjIxeUt0cStxTGdHWUhlalBxaXBDOUNiVXFHVlhHTkFIazJ5cDRHc1hSZFdoSjY5YzlSbUZL
QUdhRERvQ3hHNU04NDR3NzN5eWl2Kwo0cURmMHpRT0t0VXp6enhUQ3RBWmJGWW9WRVB0RjBCazg1
cHJyb2s5TCtnTEFNVXd2V1lvcWc5WnZ2NzZhNG5PUWw1QUU4STR1ZjMyCjI2VXVoNGl1aVduQU5G
QzZCcmduUUhoQ3hzVEVOQkM2Qml3REV2b1JzdkZsUWdNVTJHSzhVMUFNeTh1QkJ4NG8vUFJ3MU5O
UUxnMEMKcHArdTdwTW5UM2FqUm8yU0lkTkhBd3JlYnQyNlNhK1RrT2FSSytJT0xBUEg3N25ubm5Q
MG82Q1pIL1MyaHg1NnFKc3paMDVJVXhEbgpBbmFvZHUzYTFXUHlva2RBMzc1OUhjMGhRNGN2a2FG
aHJOQUs0NHo0QWtzV2hBQTB0SVIxYmRDZ1FjS2E1YTlqN3h1bkFYcEVjTjVICkJSYTRVcUZ5MFcy
VTQvUFpaNTh0TlVRWTFQa2dXSkFXUUZVTE8xd2g2ZENoUTZGVmd2d2VPQlhQaTF6SGllV3c1RUhr
UUsxZUd1bmUKUzFWODJzN25VdWVYYS8yc1hSZm1nT1E2MHJiY05KQ2dCb1lQSHk3TVN6U1JJejAr
ZXZSbzZVOUJWaUZrQVhLRmNhdlFtZE5PTzAyYQpKVkkwekp5QVNkQk5uSTdqb1Frc1REeVVhVVpJ
Y1NhT0JsMjRhZFFGSHpvUGJpaVMrL1hySnl4ZlVNT0dLTnJrTVVvbHpGZ3g3TkU5CitHQWNGYWg1
bzgwdVE1a1RSWlIwYVFiZjd3dEdKczRIeHRQOCtmUHJPU2ordXZhK1lScll2SWIrT0U1YXRHZ1J0
N2lxeTRBVVVueGQKak5Eemh2T3BtSWcvMTNyYUJNY3FMUUdxU3VvMlRlZHpVbnJKNG5XUnZpc3lx
YU5wMnpFTlZGQURNTHJnZENCa0RCNTU1QkhwWEIxcQowemhWelgvKzh4OXBoRWQvaWViTm0wdW00
UFhYWDNjdnZmU1NPK2FZWTl5WU1XUGMxS2xUWGFsMGticjljcjdTckk4TzNPKy8vNzRVCnRKNTY2
cWxDVDltc1dUUHB5VUlOeFEwMzNCRGsyRlV2VUdwQ1k2c05wSUJrb1hzZVJ1Q0JhWERKTWpJTHpE
Y2tpdEdWSzFlNlRUYloKUktZQ3JHckdqQmtPV3VITEw3OWNtaW1xRVlGVHVQdnV1NHVEenZuV3Nt
VkxuYjY5TmpFTjRDUndMcGo4VndNbm5IQ0NxY0kwSUlHeQpMRjRYNW9EWXlXMGFxS0FHYUNJSHJT
S3dtZENkRDlRQ2JJeTBMelVzMUsxUUVFa1VHMmNFUFA5MjIyMFhyQUdQTVU3MEVBZkVoMmpRCm13
TEdtRFJROGI3NzdydXVkZXZXdFF3NFd1K0JBMHNUUWpJZ1pIaHdDc25zaENUQURxRURwWkFXSVp1
Rzg3SHh4aHVMQTNMbGxWYzYKbkJER2Y5SkpKMGttQ3NmS3BMd2F3TWtMN1Z6UkdhKzMzbnB1MnJS
cCtySGdLekJML3JJcVpHZDlvZWFPZXdMWEZkQTByaGV1bjFDUApwejkyZTk5d0RXVDF1akFIcE9I
bmhQM1NORkNTQm9oVUR4czJUS0x2WkJUNHZNRUdHd1RadlRvNnNXMjMzZGJ4NTh2NDhlT2xjZHlq
Cmp6N3FMdzdxUFRkdS9ud0JQM3pycmJmNmk0SjlUODNRTHJ2c0l1T2pWZ0s0MGpiYmJDTi9MQ1RM
Z01FV29nRkNBMHVjRUJyQTBhVWQKUXdrSENxSEQrN3g1OHh4WkthQnZZOGVPZFh2dnZiZTc1NTU3
SkdzbEs5bS9zbWdBVWdQdVEraDk2NjIzbHZNbnlaNGJaUmwwam8xUwpUOFIxVVl5a21keGd4WW9W
a2tIbldvL09neUFSMTlFRkYxeVFhTytVWW5TYTVuWG9Mbzd6bWtab1hpRzlwK1c2Q0N0a1ZraXI5
cjFwCklLVWFnUGtIMXF2T25UdUxzUVgwaHlKb0RBRjQzb0hUcEUyb3I5aG9vNDNjYmJmZGxwcWhZ
OUJqeEtlbHVSKzlDM0JTeVNJQXZZb0sKN0ZkYW54UDlydHFmMGZQQWdRTWw0d0V6RHhremxVOC8v
VlQ2TStobjZsam9nQTNEbWtsNU5iRG1tbXRLblEzWEFqcFBxL09CbG1oWQpTUDFUSWNIUUxHYTlR
dHVweHZkQVhLblZtVEpsU2ozbmd5d0lOV0prMWJmYWFpdUJPVlpqakduYko0UU0xSjFSajBtVHlx
eEpXcTRMCnk0Qms3Y3l6K1FTbkFXNXdGQWVENXljQzNLdFhyOW94ZHUvZTNRMFpNa1FNTlJpQVFo
VncramZmZkhNdDNBckl6MWRmZlNVd3NtZWUKZWNZZGYvenhvUTY5enJoZ3ZTTHFteGJCY0FLcVIw
RTloZjlSb1Q0RVF6OWtJZHNFdzVoZkp3VHJtSC9PVUkvRFEvUEpKNThVSXlzZgo4MUhJYzYzMjJD
QmFJSk9VVDVSTkNTZWMrMDh4QXZ3U0VvU1FNbTJjTTBCRGdTUDY1MUxjZkFqd3hMR0F4YTBiMGpL
eWhMMTc5NjRkCk85YzZzQ3dJRzRCZjRWUnhYeUNnUmROQ01pRmtHa3Z0SFJMU25IR29ubmppQ1Fs
Y2dCUW9SNEFGQWhVWUhCRklPMmJObXVYMjJtdXYKa05UUTRMR2s2Ym93QjZUQmg5bCthQm9vVGdP
SEhYYVlaRGlvK3dBK0V4VW9Wc0hBaHlyVVVkeHh4eDN5a1BNZkJxUjVlZkNSeFZGNApVS2h6MEhG
dHV1bW03czQ3NzVTNkZsMFc4aXVaQWZEZU1FZ0J0WWpLc21YTEpBc1ZYUjdLWitvK1lEVENTVldo
Qm1IdTNMbnVra3N1CmtVWE1EVU95VmF0V01oZHpQbFJUcGIwUzZFQ25Eejc0WUdrL0xMQTJtVnJ1
VVhRbXAxY0xCbTQxQlVkMTBhSkZFcmpCUWNlUXBLNm8KUjQ4ZVlwVEhPVWtMRml5bzVwQWJ2Rzhv
aHRWeGd2Ump3b1FKUXVTZ0d5UkR5ajBaaDRNLzZIcHhLcWx4UzBPTm9jN0RmNFYxRVhpdgp3cFA5
WjQ2L0hoazg0TDg0MUJ4N0ZlQnEzRjhnd0Rqa2tFTjBjWjFYYUl0eDdGUzRadEx1Z0tUeHVqQUhS
TTlBZXpVTmxFa0Q5TWpnCkJra3RBa1dFUERSODJscWlpN0FEaFNyYzVMbVJSeDhFRkVDZmRkWlp3
c01mZWhSZWRVczlCUTRWQm5FYUhqaEEzTTQ5OTF5aENkWTUKK0svVVRPRGdoaW9ZeEVScjZWbWlR
cFNleUNaR0kwSmtQWTVpV05lMzErSTBRQlFYd3hOWVZUNGhRb29BM3l1MEx1c3RYTGhRMW4zcQpx
YWNrV2d6a01wZGh4L3JsRmlMLzJuZ1RReEtobndsL1pKT0hEaDFhWndoZy9la3premI1d3gvK0lE
VmVqQnNHSlBSZUNEcUtBd0pjCkM2Y1JWcncwQ3BsU01qK0ZCQXA3bmsyY0F4eDdGWmJqZ0VETjdD
L1g3N1A2bXNicndoeVFySjZOTnE5Z05BQ0xGRUphbVdndjhLVzMKM25wTEhpZ1lZa1FWd2FPR0tn
Y2ZmTEFZd1VBN3dJOUhKVzVaZEoxUVB2TUFCMHJHdzVuTXplR0hIeTVNWGxIbktwVHhZcGdEc3dE
ZgpIUlVNRlA3b0xST2kwQi9tMGtzdkZhTVllQ0VPSzgwc2NVcENIWE9JZWl4bVRCalpuTmRBM1RT
elZNenZDcTJEb2EvbkhzY1BOam15ClZkVjBRS2luSzFhNHozS3U0VHlsVFdCTVZJRXhycER6b2V0
aWVBTTFUYXNEb3ZNbzlLcVF6cmlNVjZIZlp2SDdORjRYNW9CazhVeTAKT1FXcEFlZ1Q5OXR2UHls
R0I0UGFwVXNYOTlsbm43bDk5dGxISW5kQkRycG1VR0JrTzNYcUpJWTZhWEU2ODVMSklmSkU4N3ZR
dTNCSAo5VXFVY1BiczJRTER3Z25Cd09LQlRYK1FFQVhXTG8zMDZ2aUFNVUZxTUduU3BHQlpYTWow
S1ZVemRNMmM4emphd0JEcGRtNlNqQVp3ClBvQ1RRRklBUlhhU25iQ3Byd0JHQndNZWtXVmxNVXRt
NU9YYnl1VEprNFhzQS9oaVdrVjcrdUI0S0JOZU1YTjU1WlZYcWc2VEsyYWMKU2EyampraFMyOHZ5
ZGtLN0xzd0J5ZkxaWm5NTFNnTTBsU0tTeFIvR0dXbDE4THBwS0Jpa0F6b09FNmx4SXRzVW9JTzlw
UTRrYlE0SQpKd1ZPQ0ZTd0dHMzBCU0VURmFwZ1ZQcENWUHJpaXk5MjU1MTNudUR5L2U5Q2VrL0d6
RytlaFFPQ000dnVROVozU0Rvc1ppeGNsOUFjCkk0M05USEJkVTJ1azBYWWdmbHduTkpGTVU2WVRp
bUdLdFFrcXdQTEZLMzlSUjc0WS9WWnJIWnFMSWh5UFl1K3haTUhtejU4dlRUMnIKTmU2azlzc3pr
bnF3dU5vM2Z4OE5wZEZOUzkyaVA5Zkd2Zy90dWpBSHBMRkgxSDV2R2loU0E5d29GWTVWNUUrQ1dv
M0lhakdZOGFBRwpuV2N3d0s2SUxKWVNYY3l6dVlwOVJRTkNqSGsxRWl1MjR3YnN5QzhvWjd4SEhY
VlVBN1ppUDhtbkFTQlJDRkFqcUxGaGZLSUF1VlJZCklWVFBaR2lCdEFBTEJmNUhJUzlFRXcwMTh2
S051NXpmaFZ3WFZleTh5WUF3anpsejVyZ1BQL3d3SjlrRTBCc0NSQlRhay9IaCtFRXYKbTNZQk1V
QUc5ZHBycnhYb1puUStaSUVSWlhXTGZwL3ZNOWxqNmtmUUxUVXpUVVZDdXk3TUFXa3FaNTdOMHpS
Z0doQU5RUE5ZS0tvVwpzcXFTaE5pRVBFOGJXM0Vhb09FakRIdGtWaEg2UmVDZ0FwVWsrbDhzUnY3
dHQ5K3VVL1JNdzhJUkkwYklOdTFmZFRRQXhCWEdyekZqCnh1UXNwS2NPRENkUjVmVFRUM2VhUGRG
bGFYd2w2L1BCQng5SW5SN1oxS2lqUVM4aGhIVnduRlYwT2JCYWY3bCtUK2JqK2VlZmw0OFEKa2ND
bWxWYkdNSjFUV2wvTkFVbnJrYk54WjBvRGp6MzJtQlNwVXc4QzVDRlVTUXQ3bE9xUEF1NW9iUWRa
cUNWTGxyaUhIMzY0RHF3RQpMTDNoaVZWenliNFNsVThUL0NYWjJaZDNhMUMxOHFjQzlLaC8vLzRs
WlMySW5FT3ppK0NjUXp4QmZSbzB0NlZtVW5RYzl0cDREY0FVCmQvLzk5MHNEV3pJaWhSeEM2Tnd2
dSt5eXh1ODRnQzFvOXBUc1d4eUpBTlR3MUpRQllRWjJwa0t0RXVRaXdEOXh6S01DcmJGdWUvVG8K
MGVaOFJCVlV3Yy9tZ0ZSUTJiWXIwMENjQmpDR2ljS01HalhLMGZVVzloUFlaa0lVakhucVZxRDhB
N3FFb1ZKc2hMVWE4K0ZoM0xadAoyenE3QnM1QU1UMTBzQ28wOU9QaGZzc3R0N2pXclZ2clludE5T
QU5RaUZKZlFORy9TWGsxb01aVnNYc0IwZ2MwRHN3OXpFbEUzWUZ5CmhTUVkxamhFR09PK0VLeUJS
QUtZVGxhRit4ZTB1a0Rzamp2dU9HRTdVL2dsV1FHT0dTUVBNS0RGUmZ6VHFwZENzRC91MlFqMzhv
WksKMTY1ZEcvclRJSDZYOXV2Q0hKQWdUaU1iUkZQV0FEejdXbWpjdVhObmdWQ0U2b0NBbDZYYkxs
RldIQ1lNeTFEclFuRHFZSVFCb29MUQp4SXNDZWloaDZjUk5ZeStLMEJFaVlUaFQ0T0JOa3RjQTV6
Vk5JQWNQSGx4MFFXM3lvN0F0UmpVQXd4VU1kMFNGNzd2dlBva2NSOWNKCjRUUFpTVzNJNTQrSFpY
eVhkY0hKNGpsQkpvQ3NsTXJXVzI4dHRRejZPVXV2aGJMUmVxK21UcW1wU3RxdkMzTkFtdXFaYS9N
T1JnTkgKSDMyMEdQTkV1R0F4R1RCZ1FEQmo4d2RDN1FTRmV6UlVwS2VKMzF6T1h5K1U5MFFMaVFy
cU9JRzUwZFNQejBUUHlOem9kemg4R01rNApLV2tRSGp3NFQ0c1hMeFltTWd5VWd3NDZLRmpqSHVZ
dUlCRlJOaCtXUjVlbFFmOXBIaU9OVDJHMUlzdHg3NzMzaXRQUnAwK2ZraUJiCmFaNS9tc2NPUkxl
cFNDRUhCT1FBc3VlZWV4YWxFZ3JPZ1d0RklibEYvZGhXS29zR3pBRXBpMXB0bzZhQjRqVUF6dmVD
Q3k0UTR4NkkKU21nM1NNV0JndzAvOHNnalpXSmtFRENBUTI1MlJiUWRveHloUUJlOVVteklnNGkr
QmtBNkxycm9JakdBLy9uUGYwcEdCQmdLUFNwQwpnNVZoTk82MDAwNVNQRW5XaVc3dTBObFNuRWxm
RGZvMWNDekk3bEI4SElMQVlvT1JpN01IL3p6MU9FVGNnWTh3QjZoNGNXcHhvbHExCmFpWFF2aERH
bmZVeGNBeTBXU0dFQm1RMEM4RmQvdjczdnh0MWNvVlBESzZOS09RTVp6M0tKRWVtZCtuU3BSSVln
dVk2S3hUWCtlN0IKM0s4cE1nZHVXQ3hrRmwyR2lpeW84S2tWek83TUFRbm1VTmhBbXJJR01JNUR4
YVBTdEErRG5lYURGUFdCNVNmdGphRis1NTEzU3VZZwp4R01IdE9TTEw3NFFZNHRYcUVVeGRPbWJB
SzRheUFtUUxJbzdlZGdCWjloc3M4MkNjejdRTFFZN2haVTRUVU9IRGhWbUhEOXowS3RYCkw4ZERt
VWkyWDVCWnplUENlVUptaHVaMU9LNDRmeDk5OUpIME1CazRjS0NqWXpOQ2Y1dzJiZHFJZ3dXVzNh
UzhHdkRKQUdCWXdvSE4KSjlDOEVtV20yZUdRSVVQeXJXcmZKYWdCcm04Q0p4amEzS042OU9naEdW
M2RCVFMwWEVjVEowNTBTa2xMTU91dXUrNlM1cmE2WGxwZgo4NUVmekp3NVV3SWJvQVpnZXZQRmg2
ajV5K2ZPblN0SUEzOVpyblg5ZGV4OStUUmdEa2o1ZEd0Yk5nMWtRZ05BWjJESUlRSlBvVGJHCkNN
NFNUYzh3NkVNVklsNnZ2LzY2akpXZUJtQ29pWUJSdTRMQWxZK1JURGFCek5PUGYvempVS2NpbVJw
cUtIQ3FNRExpcEVPSER0S2MKTU82N2FpeURwSUJDLy9YWFgxOHlmSncvc0ROTm16YXRqdEdBODhl
NUJQeHc3Tml4MVJocWF2ZEp4bzd6dGhCY3haK2dIMW4yMy92cgo2SHRxTEhEWWliSURYOVFhS2ky
QzF2WHNOWGtOY0V3Sm5BQWJJc09KRStJTEFTQ0ZqTEl1MXo5c1pnUXEzbnJyTGJmdXV1djZxMmZx
Ci9kVlhYeTNaajJKSkxlaVY4Lzc3NzllcG44bVVRbEk2R1hOQVVucmdiTmltZ1VwcGdHd0hOMjgx
T3VqQVRVZFZvblA1b2xTVkdsK3UKL2ZBZ0pqSklsK2haczJhNXh4OS9YRHB4VTJPRFlVVm5aeDdT
MUNIZ29EejU1Sk01amZ0Yys2alVjbUFWR08vNUJLYWNuWGZlT2Q4cQpGZjhPNTRPSC80MDMzaWhq
NHpqRTlXREJxWUxpMmFRMERRQnR3d2piZlBQTjNSWmJiRkZVUFExOUVGVEltT1Z6dk1sK2FNOEVm
a01XCmNlWEtsVUpoblJXb2orb2l0RmVvcTRGaEVTQ0pPaDhFVTY2NjZpb1pNa3hZT1ByQXI0am9j
NStZTkdtU0JJdENtMU1wNDhuMWJPRSsKeHptSlE4eDVIeFVsS3dBbXpMbzRaOWRmZjcyc1J1MFRm
VkpVTEFPaW1xak9xemtnMWRHNzdkVTBrQ29OcVBNeGZ2eDRZWjNSaDEvbwprOEJ4K3YzdmZ5L3dL
bUJLRzIyMGtUeVF5TnhFY2UvUFB2dXNneEFnamJKaXhRcDVJSWRHUjRvRHlBTWZxQVFGdEhIT0Iv
cm1XRkJuCllGS2FCbURQZzcwTlJ3K0hvRkJHZzYwVEpWZEhsU0JDcVRWREdJYm1mSlIybkJxeU5z
ZUpyRWJVK2NEQTd0dTNiKzBtdVNmamZDQWMKR3dJc1dZREt4VGtId0lEUFBQTk15Y3JCWEJnbm12
bEJmOUVNUGI4RnlxWVN0dy85emw3THJ3RnpRTXF2WTl1RGFTQVRHcURiTGdYRApGSFlUbGRQR1pT
RlBEcWNETERYMUVkUjhVT05CdEJDb0Q5aHBwWENrR0QyWGNSenkvQmdia0NiR2YrbWxsd3BFSzZU
eFhuSEZGVkxyCjBieDVjOGswUmNkR05KNElMdDJjTWFKTlN0TUF4cFlhWE1YKzBuY2VlSi9XODc3
WSthWjFQYklmY1hCTGdneHZ2dm1tVEt0bHk1YnUKdE5OT3F6TkZqbWtXRE91NE9lQmNNVDlxNG5J
NTJ4U2wwOCtKWnhVNmhER1FBQnExSXUzYnQ2K1Q4ZFBhbVRvS3RBOFYwNEE1SUJWVAp0ZTNJTkpC
ZURRQ2hnYW1MSm1YZzlUVUNGN29UZ25GTExRZ055K2o3QVhTQjdya2ZmUENCR3pkdW5NQVlnQWhS
WEEvV3VsaEdsV29mClNSNnU4K2JORTJ3K3RTRjhCbElXa3BCUklrcEpKSEw2OU9rT1NJa0s4SWhy
cnJuRzBRUVBOalZxREE0NzdEQXhGa3FwWjlEdDJhdHAKSUdzYWdNQUJtbVJsTEdOKzFPQU1IejY4
ZHFvMFdvMUNsZmlORWp6VXJwakNOMUhuQVBJTm5BK280QXMxMnlUTDRXYzYvT2tyUkl0bAowWDM0
NjluNzhtdkFISkR5NjlqMllCcElyUWFJUWwxODhjWHVqanZ1RURZV01nZ0lXUkNXaGU2QTBQdURR
blNsNDFXV0pab1R3c2dFCm5wM2FBM0RURk51VE1WSG5LdVNEUmk4VzVwQXJDaGpDMktIZlBmNzQ0
eVV6czhZYWE5UXBsTWJobzVBVTRSZ1F5WVZxZUsrOTlwSmEKSElYOGhUQVBHNE5wb0JvYW9NTTNB
UlQ2R1VHVlRKYVF1Z2QxNUFtb0VGaFJJZExQUFJsbUxCaWYwaTYrYy9EaGh4OEs3VGpzaFVsSwpY
SllseWUzYnR2SnJ3QnlRL1BxeGIwMERUVm9ENTU5L3Z2UndlUEhGRndXK3BNckFvQWYyUXhTYnVv
cmx5NWNMblNlTi8wSVJzall3CnhjQ1JyOEpER3NGd1o5eVhYMzY1Rk5SajhPSm9uWFRTU2Fsd1FC
UTZwdk1LOFpXTUJuL1FpSUxGcG1CYWhib0RzaU00S1RnZVU2ZE8KRlNwZTZIckpuQ1J0YU9oKzdi
V3VCc3dBcTZ1UDBENlJwY1hKZ083Y0Z5akRLVFJYNFQ1TkQ2QS8vdkdQa2gyQUhTM3Q0anNnM0t2
NQpTMXI4ZlNTOWJkdGVZUTJZQTFKWVI3YUdhYURKYW9CVVBwenJtdmxRUmRCTDRPNjc3M1pqeG95
Umh5TUZ4RENTNEppRUFxR0J3aEtqCmx6NFVHRm84dENtRXB2a2FRbDBJMlJINklBREx3bGlHQ3RZ
a1dRMlFXU0piQSsyeENvWFRmTVpnOHM4dGVwaEV5UUgwTi9hYXZBYk0KQVVsZXAwbHVrV3NFcUNW
WldhaDFnVnZocEZPL3B2Y3g5Z2N6SWRBc0FpbFJTRmFTNDZua3RqUllWTTU5Vm1JZjVSeC8ycmR0
RGtqYQpqNkNOM3pSUVJnMGNlK3l4T2JjT25JbGl2MURGWjRMaG9VeWtIVnBSSEE4RVF4ZE1NY1dK
K3RBT0tZTVRxbDRiTWk0SzVLTUNPWUR2CmZQQzlPUjlSTFpYM3MwV0F5NnZmSkxaTzRUUkY1MlEx
cUgySUl3MEE0cGcxVWVjQUp4a213NlRFYWtDUzBtVGp0Mk1PU09OMWFGc3cKRFpnR1VxQUJETjQw
UUpkU29Fb2JZb28xNEdjOTFNaEw4WFNhek5CLzhwT2ZDS3ZUMTE5LzdhSU9CeGxvamlVMUkxbHg0
dlhjeEVrRwo3cHVVK0U2My96NnA3ZHQyaXRlQU9TREY2OHJXTkEyWUJqS3FBZWhnOHpWa3kraTBi
Vm9aMVFCVXJhKzg4b3Iwa0dqV3JKbThjbjRECjBZSDFUU1ZrRWdNZG83MytWd1BVUmdFaDVUakNI
dWNMVUMyYTd0RndyM2Z2M3Y1WHFYMnZEZ2lRM2lsVHBpUTJEeklnQ3JYVmZTUzIKY2R0UVNSb3dC
NlFrZGRuS3BnSFRRSm8xUU0wSHNMSHUzYnNMODVMT0JWcGVpcUtQT3VxbzRIcHBmUFhWVjlKOGk0
WmtvMGFOY3RUZgpwRTIrK2VZYlljUEMwWVBPT1RUSzRMVHBzOUI0cVJuQTBJTGVHT2poNDQ4L0x2
MWlpSjZyNEh4QTRXeGlHZ2hSQStvY0tEdzJxVEVtCnZiMmt4dFVVdDJNT1NGTTg2alpuMDBBak5j
REQ0ZFZYWHhXR0l4cjdFWjJqWG1Ua3lKR04zSEo1ZjA3ZENuU1dmZnIwa1lnaGU2T3AKRlJoakN1
cjMyMjgvdDhNT081VGNIYnFjbzhieHVQRENDNldZbnJHZGZQTEo1ZHhkV2JZTk5BUXFVU0J3WGJ0
MkZjcmpzdXpJTmxxcgpBYUE0c0kzeDE2VkxGMkY0Z3pZYkNCYkhnN29jWUQxcEVKOUJ6Ujh2ZE02
V3hmRTFrcDMza0lkdzNDRVBTVkxJcU5CN2lIT2ZYaXRwCmxyUmZGK2FBcFBuc3M3R2JCc3FvQVJv
KzBaZUJsRDhGa0tUNEZ5MWE1SllzV1NKUmVGaXZjRHpncXlmaXVzVVdXNVJ4Tk1sdEdrNTUKT1BS
VjZGWFJyMTgvMTdGalIybHlSVkY2YUFLTUJ0bHh4eDFERzFyUjQzbjMzWGVGVWhSV0xKUEthMkNY
WFhZUktBdUcxLzc3N3krdwpyTXFQb21GN3BINHJUbkNrVExLcEFjNVRnaGJsRVBvT1pVSFNmbDJZ
QTVLRnM5RG1ZQm9vZ3daYXRHamh0dDEyVzJHS2dpNjFVNmRPCnJsdTNiZ0tob1pNMVhkRm56Smpo
MWw5Ly9UTHNQWmxOZnZiWlozWG9Lci85OWx2SjJ0RFE2Nzc3N2hOMm1ZOC8vbGlpd2NPR0RSTm4K
S3NRVS9ULys4UTlSU0pvNkhOTXd6WWVMUGZEQUEyN1hYWGNWV21kb2VMV1FGcGhRV3B6WFpNN0s2
bTJGUGpjbXBnSFRnR2tnQkEyWQpBeExDVWJBeG1BWUMxQUFaanJ2dXVzc3RYcnpZblhEQ0NiVVJV
L3ByWEhYVlZZNUdmNkVMS1dycU96RGdnVjdoa09Bd0FSOERqZ1hrCjZwQkREaEVuUlR0emh6Z25p
azZiTjI4dXptQ0k0NHNiMDRRSkUwVHZPSGdyVnF4d1pFQTRiNmc3T08yMDA2U2VCY2VEdWhBZ2NU
U04KVERza0lrNFB0aXg1RFVCTGkrTzY0WVliQ2pUUmQzU1QzNXR0TVlzYUlLdHZ0V2pWUGJMZnJl
N3ViZSttQWROQXlCclllKys5WGYvKwovV3VkRDhaS0VmRWxsMXdTOHJCcng0WlJDd2ErYytmT2J2
YnMyVzd0dGRkMlo1MTFsanY3N0xQRjhTQWlENjgrMlBpUUJTTTliUVhECk9CbDBPai9paUNQY0th
ZWNJakEzbWowQ0l6dnd3QU1GN29iT3FXc1pPblNvTy96d3c5M2JiNzhkOG1Hd3NRV2lBWXJxNmRr
RGxJWmUKTXB4bkp0blN3RzkvKzF2MzFGTlBsV1ZTMUQrUlRYN21tV2ZLc3YwMGJaVGcxcGRmZmxt
VklWc0dwQ3BxdDUyYUJ0S3BBVElJL0syNwo3cnFwbUFBWTJZRURCOHBZcVdIaGdYYm5uWGZXamgz
K2ZHcEM5dHh6ejlwbEliN0JBYUhXSmsxQ3ArWkpreWJKa01rMDRRQ3F3T3pGCmVhUkNjZnJSUngv
dHpqampqRnJIUkwrejE4WnA0Tk5QUDVYQ2Z4aXdNTm9oTWRob280MGF0OUVxLzFvekhsemZaRUln
YWpESmxnWWcKQnVHZUFQUjM4T0RCUXB5UXhBekpmcDkvL3ZtT0hpRHQyclZ6VUZZVElHbUtBa3lX
WUJBUTY1a3paenJxeENvcDVvQlVVdHUyTDlOQQp5alZBeEtqU042bWtWRFppeEFneGNMV2dtKzFD
VVVxR1JBMmFwUGFWOUhad2xFS3V0Y2szMzhjZWUweVliSHdkTDErK3ZBNFRGdDNwCk1TSlpGMmZM
ZXJMazAyaHAzeEVzZ0ZBQ1F3TTJ0ZkhqeHd1WlJLaUVCbGRjY1lVNzU1eHo4azVTbSszQmFGU3M4
MEV6T3hqWXFHMHoKQ1Y4RFdpTTJaODRjdCtXV1d5WTZZRExqS21SZGdSV0hSajdDZmZDR0cyNXdH
Mis4c1VCdnkxR2JTQ2FJd0J4Q2p4a2d5NUN5VkVyTQpBYW1VcG0wL3BvRU1hSUNJSTcwMDBpYXdk
V0gwVWpUdkN4bVJQZmJZdzE4VTVIc005TFRpbFljUEJodWhwd0FBSUFCSlJFRlVIMTZ2Cmtkajgr
ZlBkaVNlZUtMcm1mSm83ZDY0d3JSMTMzSEdwcW5NSjhtU0pHUlFHTzVIa0JRc1dpSjVYcmx3WkpL
TWE5V2JBcXdvNUlERlQKekxzSWltMmdvNWRkZHBtNzVwcHJoSkk0N3cvc3k2cHJZUFhWVjVjeDRJ
amdsUHJ5eVNlZnlQSEVPRy9UcG8zOCtkLzc3NEhjNHFUaQp4RUJIbllzNXl2OU5DTytaOS92dnYr
KzQ5Nk9MWEE0SURVZHZ1dWttSWZYd29kR3Z2ZmFhMUdsdXM4MDJVbk1YTnlkSVpmaFRVYklUCi9W
enVWM05BeXExaDI3NXBJRU1hYU5XcWxldlpzNmZqQWJEZWV1dWxZbVovKzl2ZnBNWmcxcXhaOVRJ
ZFJOZVlUK2pDUTFNZnlIRmoKcGFDU2REcFFwcERrOXR0dmwyd0diR29xT0lJcmFvclNsZDhmTWdE
K1RNcXJBU0FuQ0FZYlVDeGZjQUxQTys4OHlUNVJ1K1BUVlB2cgpsZnY5UGZmY0kxbEpJSHY1aEY0
bTdkdTNsMVVLcmN0S1drdkF2UUFJR3ZVRnNQaVpoS3VCNzMvLyt6STR6WGI1STZVUEZka0JNcVdG
CkdQVHV1T01PQnd5Uk9yTTBDUTVITWNRb1BNUFVBYUZlVXdYV1FZaGlJSlB4bCt2M0lieWFBeExD
VWJBeG1BWlNvZ0ZnTk5SVUFNT2kKZ1IvR1RNaU53S0RkSmZMYnExY3ZLWFltM2J4MDZWTFh0bTFi
QnlhZXp4ZzlvUXZPSG14ZWNVTEVHSWFwMEhETTRJcnByMExORGVjSwpEZ2M5UUdEQ0l1cVdsa2hr
bk01RFhRYWtrUE9hL2oxUitlaWpqMlNSNzNDLzg4NDdRa0Y5NjYyM091MDhEU1N4R2c0SXRWZ1lV
dlIrCjhDTzUwWG1VK2hrV05xMmYybmZmZlYzMzd0MWQ2OWF0UzkyTXJWOWhEUUN2US9UVjM3MHVn
NWlEckNrQ1RCVnFkVCtpejNMdU16Z3gKRjE5OE1SOUZYbmpoQmNmMUFFRkcya1dmdjZxVE5NM0hI
SkEwSFMwYnEya2dBQTNBSUlWaFR4U1ZLQlhzUlZPblRwV2JmQUREcXgwQwpxV3RnUGpSSlpJd0l4
ZVlVUjlPSWpTZzh2VC9TVUZCUGhnREhhZHEwYVVJZFRFU1BoeWg2aCtHTFl4S2FvRitpYi9UOElH
SU4xUzdHCkFRWG9GSUthSks4Qk1rMmMyempkOVB6d2EybUFjeUE0S0VDY3FBdkJZVUV3MGpoT09M
RjZyY2dYRmZwSFh5SG9zQ0VtU0xyWERSRmkKemo4Q0oyUEhqZzA2WUZJaGRhZGlOMnBRODRwenJK
OXpEWjRNQjhFTnNublUrNmlRU2ZEaFM1eGozRE1KNkZEY1RoMUVYSlpGZjUrVwoxMEw2Q1hFZTVv
Q0VlRlJzVEthQndEVUFpd2lSU21vcTRPVEhxTVN3RDBrd3NNQjhROVBwQzcwbUtIYUdmbkNublhi
eXZ3cjJQUTlRClV1cW5uMzY2UERReEdJSERZVkJSUEJpaWtPMTQ1SkZIWkdpTW43RUNLY0FKU1Rz
TFU0ajZaa3dFQklnQzQzeGdjTk1uWS9NYUp4Q24KZytzVWdXbU04NGNpZEtBWkZLZkRCZ1FkZGJW
RUF3SmtXRHQyN05pb1laQVJaRHRLbHNFOTZ2cnJyM2U5ZS9kdTFIYnR4NVhWZ0RvTgpHTmJVak9F
Y2MrL21NMWt0QktZc2hlRGh4RklUY3NzdHR3akpBdGNDZ1JyNlAvM3JYLytTckNEbk9NOHFoSFh2
dnZ0dUNhYlJzeWhVCklaTk13Qy82SEl1T3R5Rk9GTnRGUDRWZ2JORjlKZlhaSEpDa05HbmJNUTAw
TVEzQXlnVEVKbFNKNHR6OWNmNzg1ei8zUDZiaVBjYmsKdmZmZW00cXhNa2lnQVQ1ekY5RjRNazRt
NWRVQVpBWFVPMUVYUkszRDg4OC9MKzl4UUlCTVlteVJVV3VJd1ZLdWtWTzd0S0ltWTRhRAorcE9m
L01ROS9mVFQwdHNEaUEzT2hNSk1DdTJmK2NMaVE4UWMxanZxV21EK2lvT2tGZHFXZlY5ZERmZ09D
QTRxeEFrSWRUeDYvOFlvCnh6bUpFMWlrK0I3bkE2ZUZZbXdnZm1rVEhCQ0NUU05IanBUZ1UvUmFV
T2prYXF1dFZ0TFVLRGcvOHNnakJZWU1CVytIRGgxSytuMFMKSzVzRGtvUVdiUnVtQWRPQWFjQTBZ
Qm9JU0FNNElrU0grUU9PT0c3Y09LbDlDakhyUjBFeGJEN1E1Q0k0VDlTbDRMVGlLS2t4V2tpOQpP
T2hFZFJHeXROQ0dBOEV5U1o4RzlKampQUGhHTnl4bVpFQis4SU1mU0IwSHZVSisrY3RmQ3ZRUUIx
c0Z1dWx2dnZsR3N0eHZ2UEdHCjFKL0JoRFpxMUNoZEpSV3Z6Sk41REJreVJNNWxQdnNDSVF4Q0Ra
Vm1nL2hNOWdjQnF1c3ZsNFUxLzdoT2xKeUJCckZzQitlL2ttSU8KU0NXMWJmc3lEV1JRQTIrOTla
WkVLYlhRTTROVHRDbVpCbEt0QWFLb3NHQmhxUGtDT1FDR1NMVUpESWhPODZkQ1BRaC9wY2hkZDkx
VgpTL2VNSVFwY2tVN3Bhc2lXc3EwUTE5MXR0OTJrYmlGdVB2ZmZmNzhqb2wxc1Q1UVE1NWRyVEw3
QkRkTWZsTHpVazBIZFRkU2Y0bkxPClgxNVBPT0VFcVpPRGdoYjRMV1FHQ3hjdUZQZ2g3R2VjRDBD
T2NFN0lyS1ZCZkRhd1JZc1cxUnN5am5xUEhqMGtTNEpPVklEc1VzOEYKRlBhaGh4N1N4Yld2Wkla
MDJ3OCsrR0RGblE4Rzh0M2EwZGdiMDRCcHdEVFFBQTJBSHlVNkE3c09OL2NRaFhFcERhbU9qeWdy
RHlkTgpZZXR5ZTAxV0EyQ3VvWGFsQnFUU1BQUEp6aVM5VzFQTWZKU21HUVloTWdWY0IybVdGMTk4
VVl4UTJPS2dIbVUrTUhuQjZKVVZ3UkNuCmRnb29abFFnMHVBN2JkNFgvVDZObi9WKzdVT0x1SWVz
dmZiYWNpL1JPY0d1UjcwZkVDSlkzYWgzNHRnVDlhZkdDUUlDN3ZGazBxRGsKaFJvY29nT003alJJ
SWFqazU1OS9MdE9JT3krS25kK3ZmdldyWWxkTmREM0xnQ1NxVHR1WWFhRHBhWUFISTRWL1J4MTFs
R0RMbjNqaQppZUNhbkJIdEdqQmdnRVM5TU1ib2ZrdHFtdlErRHpVaWFta1QyRnlZQTNoNUdpMVMz
QTNkY0doQ1ZKWm1ZQmdLZEJ1bVFOcWtzaHBRCm1BYUdLblVTa0RCUUUvTGVlKzhKM0lsc0F3eGEx
SVpndUJFNVRVdmpTeGpWWVAzaStqNzMzSE5URTltdTdCbVF2cjFwWUVnZEVLTC8KWkM0NGR5a201
M3NOYU5BamlTZy9URzlrdm9BU1VXQU9kSXQxV0JlSEJ1SUZtQVNoWWdaMlJDMEpOVU1uMXJBbFF0
WVFvdmp3czdqeAphZEN2VUpHNi9oYUhMQzZMcHQ5WDh0VWNrRXBxMi9abEdzaW9CcmhKRWwzYWVl
ZWRwUUNXRzMxSUFwYWNoeGM0OHkrKytFS2dDaFM0CitrWFNJWTJYc1R6NTVKTkNHMHlhbkljR09H
WWV3amdjWUlLYk5Xdm1YbnJwSldsUUNMMHdLZlZRUlp0V1JpRkFvWTQzYStNQ0pvbFEKekVvTkNQ
MFBNTG9vNk1VUXczZ0RRa25CT2xTbU9JeGc1WEZvY2RKRGszbno1Z205TnQydGNVQmd1V29zZTFa
b2N5ejNlQ2hxcG00QQpVZ0kxOHN1OXoxSzJydzRJakcyTUUzZ1Z4ZEo3N0xHSGJBYkhRck1rTENB
UVJ2YUxZblhPRDJWMTQxNkpzRDd6cE02STdEZEJKNXFpCndwcDJ3QUVIQk91QUZMcitGaTllTFBQ
YmUrKzk1YlhRUHlCYk1OK0Z3RnBwRGtpaG8yWGZtd1pNQTBWcEFDT2ZwbjZWTG1Rck5EZ00KYzlM
WUdQSkt6YW0vZ1NtRmlMQjJWZGJsSWJ3Q05XQzhSSzNwMXdCK21TekhtREZqSktJSDF6MU4vclNq
ZUFoanpqVUdpcUNSSFhiWQpJZGNxdHJ3TUdnQ2FST0V0RUJVRWJMeFBnVXptQURwU0RCS0NDQVFR
b0tzRk8wLy9uTW1USnpzeW1xSGg1Ymttb0YzbGoyaDJNZWZWCmdnVUxIRVlhQm0zSWdxRk1scGJq
VXE1SU5jN0hpQkVqUkEwWXNMLzV6VzljRko1WGJSMnA0NEJqQVhVME5UNDQwQ28wSGxRbmcyVXcK
bm5FL2YvamhoOFVaMGZXVWxJQlhkYlJ3ck1sNDBEdUU5ZjN0Nk85Q2VjMlhBUUZ1eHZPTFoyK3hU
Ry9VaVhDOWh5RG1nSVJ3Rkd3TQpwb0dNYUFBak9UVGhZVXV2REI1b3BPanBHbzdod21lTUVhSys5
RFNoSVZWSUFpU0dzUU92d2hBazJvdncwQUZtTUdYS2xLQ29WUFBwCkRzT0FpRnRvem1tK01hZjVP
ODV0NEVpVEprMFNISHk3ZHUya1RzdDNKTWdjWUhoeTNrZU5IQXd6akdDaTQxd2IwNmRQRDBvZGFr
Z3kKS0J3c2pNbDhndk9CMFVVaDkrelpzMTN6NXMzenJWN1Y3OGgyVWpnTXBoOFlYUFRZNk9EQS9p
OWJ0a3p1QVpvVjREc3l2TURyeUpCeQpENGtUemc4L1lnNDlOcEh4a0lUc0hJSURjdTIxMTlaMnM5
Y3g4cjA2RGt1V0xKRXNSbHdnU1IwUURZTG83OGw2UU85YkxpZFA5OVBZCjEzempBL3JNdlJYbksx
ci93M2tVRlRKR1pJZWlFcmR1ZEoxeWZEWUhwQnhhdFcyYUJrd0R3V2hnMzMzM0ZiZ0p6RGc4Y0dB
TUlXdkEKdzR0dXVCVFJGeXIwcTlaa3FLdmh6eGZZWG9oZWhqcG1mNno2bnFhUHhXS1U5VGYyMmpB
TmZQbmxsNDV6bm5PYmFDZnZnYVlnT0JYcQpCRko4VHBTZDJvazRJZE9HNDBzalB6SWxTcEVidDI1
amxrRUZDa3NYVGVhNEZvdkpVSkFsVU9FOUJuVXVBU1BQMk1tRTRzeGpyRk9BCm5IVEg5Vno3TDNV
NTgvL29vNDhLL2d6bUs2QjB3QnY5WGhqS2ZrUTJLNDc5cU9DR0ExbUJRQXZDY1ZLR1JXaVZNYlNC
RVpLNVVBaHQKdnNEWHhJa1RCY0pLQUlUK09Hd0RweHZISnA5eEg0Z2FjbzRScDRFQUFkbVBRWU1H
RlRWY3NpWFVEdnJRTlg1b0RraFI2ck9WVEFPbQpBZE5BYVJvZ0trYkgzRGk1N3JyckJMNHhmUGp3
dUsrRFd3WjJtUUw2UWhIZjBBYU9NYUZHUkdoank5SjRNTVFwSUNjeURyYWQyaUNFCklsMEV3eFpE
bjh3SUJpek9oWjlOa0pYKzl3OERqWXdCdFVnWXVPVnlRQ2lFeHlERW1HU2N1U0wrL3RqVU9HVVpU
RWZSNksrL0x1LzkKREFHZm9XakZLVk85c0N4dG9nR0lZdlNWdHJreFhqSTVDSEE3RmVyZ3lNaDE2
ZEtsOXR4KzVKRkg5T3U4cjlUUEFWc2xjNkxudEo4Ugp6UHZqQUwvRXVlUlpRUDBUY04yb2FNWm42
ZEtsYnVyVXFSS3dvazRUNFhxNzhzb3JveitwK0dmTGdGUmM1YlpEMDRCcElBUU5yRml4ClFtN01Z
Tnd4dHRJZ1JIQXhDdE1tUFBSRGhyMmtUWis1eGtzOUJCa0ZHSURVK1dCZG9xUUltUWJnU0JTWncv
NURFN2Q4c3V1dXU0cXgKQnNTbFhNSTQrQ3RGTUx5MDlva21oaTFhdENqbDU1bGF0MUNSY2xvblM2
UWUwYTdudkZkbkdmaGdROWowSUI3Qk9TZkxwTkFzdGh1eQp4R1Vub0RidjE2K2ZPK2VjYzZSbUsy
NzhRSGJKOEJCMG9BZUtMMlEyY2NaVW9oa1JYVjd1VjNOQXlxMWgyNzVwd0RRUW5BYTRxWE5UCkpo
S1VKdU9GcUJhT1U5b0VtRXdXbTZTRmRCd29NS2NUT0RTNjBXd0YwQ2FFcUNrd0ZPQndaRUVLaVdZ
T3lWS1lWRllEWE92YUtDN2YKbnJQcWdNQjhoZmpNZVpyMTRWNXk4TUVINTFOTDdIZHFkSlB4OWpN
cnNTc0hzakRxZ0hCZUVHamdPaWVUbDB1QTREMzMzSFBDbEVnQQpDRll4QW0xUW9WTVRxVUVKZmgv
ZFI2NXRKcjNjSEpDa05XcmJNdzJZQm9MWEFGU2pRRDZnSWsyVHdIUUNJd3dRbEVLd2s1RG1oU0ds
CkJhTng0OEpCSWVMWm1HWmFjZHR0U3N2bXpKa2owNFdnSUNvMDVDTWFTdEVxVVdBZ1ZWb0xFbDNY
L3d4QkErSXpaL25mMi92eWFRREsKY0xEOXdFVDlMdkc2UjQxYWExWkFseGZ6cWhBOE1tVVVxNGNv
QkZxNGJ5ajVCbU5NeXRsUzNZVTQ3K2lZL0xGU3h3UUVqWm9zdXI4WApFc2dNK0lzVG43YmQzMGZj
dXVWYVpnNUl1VFJyMnpVTm1BYUMxQURNUDNUREJTT2ZOZ0hyMjdselo2R2pKSktkbGs3UGpGdWI0
VVYxCkRtTVBzQ0RvWDAwYXJnRjZ3aUJSU2xxaW16Q200WUR3bmw0S09DR0ZoT3lIUnFGOXhxUkN2
N1B2azlFQU1DSGdvWFNwcGdkRzFOR0EKelEvQmNmZUpCT2h0Z1ZBdjRTK1hoVFgvSUlUQUVlVmM0
TGhTbUJ4aU1JUGVOUmpQbXZYUThmTUtmS29oV1RrbEs2aVd3ZTNQb2RqMwoyZytGOVdFK2c0Qms4
d0tzYjhWdVc5ZXJsajdNQWRFallLK21BZE5BNWpVQUJBWG5nd2U3bjRKTzA4VEhqUnNuVGJTSWln
SWZPL0xJCkk5M28wYU56c3FXRU1EY2FVMUtiUUJmanRtM2JPakRNZEhHLzZhYWJoUGtJeHFVME1O
S0VvTXRjWTZEUW1qNDhzRDVwMUpqM1BYdjIKbEQ0Z0dqM20vQzlVUjRSeHFwa1Vqc3RwcDUyV2E3
ZFZYODVZc3lnS3Z3SnlRNkY5VkxpWHdlYkZzYWF2aGNyQ2hRc2QyVENjVEgrNQpmbzlCZS9QTk44
dEhxR2hETE1TSHlZME1DSTZYTDNxUHdER21WMDJwb2c2MWI5U1h1bzFLcis4N0I4cjZsZlFZL0gw
a3ZlMTgyek1ICkpKOTI3RHZUZ0drZ014cWdhUjhzVXZRMFVHTXNqWlBqSVF6ekNVV0ljUGVEL1Nl
N1VLNkhVeEk2UXQ4WXh4UWJNMTdTL3hRNG4zbm0KbWZYcUZaTFlYMVBjQms3QzJMRmpIZmoyZ1FN
SGlwTk41b09JOTdISEhpdEdMSTNjY1BwdytQSVJMOENRZzNHTFVMQU83V21vVWkzagpxZHo2VUFl
RTYzMjc3YmFydHpzY0RZUWliZjk3ellBUVlQR1h5OG8xLzN6b0RkSDBFRm0wYUtDSkVGeUpFK2Fz
MU5KeDMrZGE5dnJyCnI4dTkwdGRCcm5WRFdWNEpaNmxhMTVBNUlLR2NaVFlPMDRCcG9Ld2FPT1NR
UXpKVkNJMXhjZm5sbDVkVlowbHVuR0pTNEI0VVJHTDgKeGtFcmt0eGZVOXNXTUpyQmd3ZkxIeGsr
aEdWRXU3WFdpYjRSOTkxM1g5NTZHK29DYUdLSVlBQkMxQkN5Vk10NEtyZE9DZ1ZKbENVcQppM1ZU
ano3NnFLTnZVN1MvUjFMR2VKb2NFRDIvZWFYM1NWTGk2MUwza2RTMmk5Mk9PU0RGYXNyV013MllC
bEt0QVdOaEN1UHc1U3RHCkQyT0U2UjBGc0NucWFWYXVYT2tPT3VnZ3lYclFiRkNGZmdCMGxZNHpX
bWxTMkxkdlgra1VUcjBCQmRCQSs2b1ZJY2NveXJWdjM0RDAKRFNtZFp4WmVjODFkNXdZVkxVSW1z
UmlCd3BzZ1FESGtBOFZzcjF6cmNOeXAwN3ZpaWl2cTdjSS83dlcrTEdGQldpaDRtWkovZmxNdgps
NVQ0Mi9YZko3WDlZclpqRGtneFdySjFUQU9tZ1ZvTmtQcldEcnl3NUZBa3FYQ0IycFhzalduQU5G
QnhEZUE0S0hRcWJ1ZFFjTklCCjNaZFBQLzFVK29hTUhEblMvZld2ZnhWb0h4bVFPQ2ZGLzEyNTM5
T3JnSXdaOVFEMEw2RldBVmdSMlROcVcxU2l4ZG02UE8ydmhSd1EKWlNpanBxb1lBUUpKMzRqUUhS
QXlkSkJXOEl5Smlqb09ISDlnaEtXS25qZTZuVkovWDQzMTFUbmdmQUFPbVpUZ3pIRStJTHFQcExa
ZAo3SGJNQVNsV1U3YWVhYUFKYVlBdXROUVpZSVQ0RDBJTUFyREg3Ny8vdnREQjB1enNtbXV1a2Zk
TlNEMFZueXBVbkRoNjBZN09GUitJCjdUQVRHcUF1aENnemRWR0xGeThXNWl4cVNNaUFWTnZ4VUFV
ekhpMStweEQ3bVdlZWNVT0hEcFZYWFllc3BoYmM2N0tzdkdyQmRkeDgKNXMyYjV6NzQ0QVBwZWw4
c1JmTGN1WE5yRFU3ZFpvZ0YvRFNXNUx6MG56czZYaHhraEN3cXhCYWxpbVpmbFEycjFOOVhZMzEx
RG1CRgpTMUk0djlBeFVOaHFPZkhtZ0NSNVJHMWJwb0dNYUlCSWFiZHUzWVNwQ0twWE9PbXBPYUNJ
Ny9EREQ1Y3VxdEI1NG9EUWx5SmtvZkI4CnpUWFhyRGRFVXYzTUowcGJXbS9GQUJZQXA0R1NFcU1q
NlFkUkFOT3pJVlJZQThCeE1Eb21UcHlZQ2dPZURDdVJmb3pvRFRiWVFHaFkKdVNhQTZSU3FsYWl3
YWhQYlhUNEhoRDVHeUlVWFhsaHZmM0ZPQlFFamFIbERGODdMWC8vNjEzVzZuL3RqL3ZPZi95d2Y2
VjF5NElFSAorbDhWOVY1aHVHbktnR3k3N2JiQ0lMaDV3dFM3WERjNGROVmtRVE1IcEtqVDFsWXlE
VFE5RFJBbEJXNUZoZ05jT2NYRHZyQU16TG5pCmNpbUtwTUVWTER6NUdIYjhiVlRpL1VjZmZTUVBh
aDVZc0VXOS9mYmJEcnc3MEk3WnMyZTdVYU5HeVpnck1aYUc3Z09uQXljcVM4NEgKK3FlaEloSGNm
TVpXUTNWbXY4dXRBZWhYMHloQXNINzN1OThKUkNmckpBYTVyZ251WHhRakV5QWlLeG9Walpoemo4
UEF4TkNrN3dkQwp0c3MzM09PY0ZWbXhTdjhJc3NEVWxrc09PK3d3K2FwMTY5YTVWc203ZlB6NDhR
NldzSVowVWMrNzRUSitpZk5kcmo0ODFYUStVSms1CklHVThjV3pUcG9FMGE0RDBMSGhoSWpCa1JJ
ZzhFa2xEZ0VUUUNJb0hBZGhpaE9naytQUDI3ZHU3ZmZmZFY1YUY4SS9DeTUvKzlLZU8KaHcvWm0r
N2R1OHVjY0s3ZzB2Y2Z5Q0dNVjhkQWQzQjE1R2c2QnZXa0NrNFZHSEN3OFRTbndoZ0pIWW9Dckcv
R2pCbmk5REV2K3Bpcwp0OTU2a21XalVCcEhNSFI4dXVyZlhxdW5nWkRwcHBQVVNpN25nUG9jQ3Mr
aFU0NFQ3VzlFWThybzlVUmRoYkpuOGR0Yys0amJiaVdXCkZjcG03Ynp6em82L2hnb1plLzVNd3RD
QU9TQmhIQWNiaFdrZ09BMlEyWUJOaDE0VFBMVDB3Y1pBS1JTa0lSN2R4R2txTjJ6WU1HbncKUjBh
aG9kR3BjaW9BNDlZWHNqa3NnK1dIcUZ1SVFwU1Q1bjA0SHhqc0dCUmtEREE4T0RaQTMxaE9jeTBj
RUp5cHFNRlJ6WGxCLzdyZgpmdnU1SlV1V1NBUVdlQVVGMFBmZmYzODl6REhIZ3Faajk5NTdieldI
YlBzMkRRU2pnVGpuZ0NBS2NGanFZYlNlSVRwZ29HclFNWlB0CjRENUhSb1Q3QkVFa0FrUCtmYnhh
OUt2Uk1kdm42bWlBSUJlQnhLMjMzcm9xQXpBSHBDcHF0NTJhQnNMWHdHYWJiU1k5QUlCcmRPN2MK
MmQxMTExMFN3Yjc0NG9zRkFrRm1oRzYwUkxKNUtIYnQyalZJNXlOTzB6eWc2U0pPSTd4UWhXd05t
UTRjRFF3TzlIenl5U2U3VTA4OQoxWFhvMEtGMjJFQ1lpSWlTMFVtU0phVjJCdzE4UTNhRCtpR3la
WXdiMnRCMTFsa25kbXVNRzRnWjNZK1R4anJIN3RBV3BrNERPTjFaCmgxMzVCeVhxSEV5Yk5zMVJm
UDdjYzgvbHZJNzRQYzVHUG9Zb2hjeXlicHlUdzNLVGNEVHcyR09QU1JDS2UyaWhERkdwb3daQ1Rj
RS8KSkNmUnJ2T2xicXNoNjVzRDBoQ3QyVzlNQXhuWEFCa1BIblpFMUltc0k3RGowRG4zb29zdUVv
Y0VxQlU0ZnFnTithNGhyQ1RWVUNNdwpNU0x0Uk9iam1GYXFNYWE0ZllJQmh3VUlIRGNaSmlLWnMy
Yk5pdVg5eHprQkFoZVNBM0xvb1lkSzRTc0ZuNHd2bjFBUXpjT1ZhSnc1CklQazAxVFMvZ3lxWUFN
ZGJiNzNsT0svNjlldVhDdktJeGh3dDN3RWh5OGwxeEwwNFYyMUlRL2JsNzZNaHY3ZmZsRjhEa0tq
MDd0MWIKYWpFSm1DWEZXRVZBYU1xVUtUS0JIajE2dUtWTGw3cXhZOGRXOUpsb0RrajV6eC9iZzJr
Z2RScWdab0lDUjFoRGlEcisvZTkvbHhzZgpVQms2aXF1aFM2RWowZmRja2UzUUprNEJKemR6L3Jq
NU1vOWNVSVpReGc1c0NmcGRETEJjVGNmSUhnQ0ZDMDM4dXBWOFk2T2VoVXhKCnRhQUErY1ptMzFW
ZkErdXV1NjRRWWRDWm5Vd2ZSZFVMYStqQTk5cHJyK29Qcmt3ajhKMERzcHk5ZXZWS2ZFLytQaExm
dUcwd0VRMnMKc2NZYXNoM0lGd2pTY0o5TVFxaU5CQ2JyQ3l4anloVG1MeS9YZTNOQXlxVloyNjVw
SU1VYUlJMVA1SVVVTGFuWnUrKysyN1ZyMTA0bworM0JJYUJTRlUwSjlBc1hQOUFmWmJiZmRncDR4
V1oyampqckswZUFNSjRvTUQvVWYxSUhFTmIwS1lUS0xGaTBTZU52UlJ4K2R0OWtqCm1TaDlVSVV3
N2xMR0FFNmR3bG9jckZCNlVKUXkvalN1QzZ5UGFQcXh4eDRyNTM5YTVnQjdFZlZuR0dGSkdXS2h6
bDNack1vNVBuTkEKeXFuZFpMYXRHUThDWlNlZWVHS2RqWklaNHhxR3hBT29kUFI3ZjJVeWh5QWFl
RjV6dncyaFh2QzcvZ0R0dlduQU5HQWFVQTBRYmFGZwpFUWNFTEg4MG1rMVI4VDc3N0NNc1V0RHZo
aXdVMCtOMFVMUENLN0wvL3Z0TGdUMnNXRGdob1Ftd2srT1BQOTVSYzRPeHBVMjRHQ2RHCis5VlhY
eTFHT3dYb1JJVFRtRDFnamhUR01qZDZVcGlVWHdNd3A5SHNEYmpiYmJmZGxxbzZBSUllQ01aVXRB
UDQvUG56Sld0TGJSZlUKNFdtWFNqZ0hsZGhIUTQ3RGswOCtLWFZqQkl6dXVPT09lcHVncHdsTk13
Y01HQ0Mwek5FVnVGKysvUExMVXRzQTFEWXFoWDRmWGIrYQpuNkhoUmVMcW4zaEdvNnRISDMyMDRQ
MGZFaE1ZSytubjVSTVJWSE51bGdHcHB2WnQzNmFCZ0RWQWZRVEdDcXhGY0tkSDRRNFVycEVoCmdS
WVRlbDQ2S3dPUkNFMG9rQjgwYUpBWTZSVE8rd0xNN05wcnIzV25uSEtLL0lWRThVbWtGK2dKaGVn
WUNqN0Vpb2R5eDQ0ZFhmLysKL2FXV0JVZnd6VGZmbFBYUE9lY2NmNHBCdnFmNGxmblIyWnFHY3RR
V0Fmc3pLYjhHY0RxMEVCbkhIQU9tVFpzMjVkOXhrWHVBdlluNwpDY1puVkxnV0VKclZJVndYWkFr
SkxKRFJWS0hmVDlwRk15Qzh3aWFYbFBpRjU3cVBwTGFkeEhad0pPbjM4Y0FERDhpOWoyT040OGs5
Ckd1RTlEaWdPQ0hBaEFrbEFhekhVY1RvZzc2QmhxenBYUEpkYXRteFpPN1I4djY5ZEthQTNPQm1J
dnZwRDB4cEdubHZhUDRWTS80UUoKRStTZXF0L3pHMUFOYklPQW13cTFrTXVXTFpPTVNKSzFSYnI5
UXEvbWdCVFNrSDF2R21paUd1RGhCTlNLU0NNUGZsaXhpS0t3SER3cQpyeGlQQ0JGSEl0bmN4RUtD
TXhIcDVXR0VzWnVyMW9NQ1BJd1g2aEI0ZUlVaVpEWjQwTUkrUm5IZ2VlZWRWenMwOUF4ZWx6SFRG
WmxNCkNhbDRIRUFZc25iWlpaZmFkVU42QTJUZ2tVY2VFV2NKS0FETkxKczNieDdTRURNL0ZySmxR
UHEwZnc4c09DRTVJQVFGUm80YzZjaXcKbm5UU1NRSVowU2l3OWlIQ2FNS1FnaUZJblEzNkZISHZ3
VkFOOWZ3djVlUlM1d0NqRWFNOEtjSDVWSDNxUHBMYWRoTGI0ZGh2WHRQMQpHOGVDVEFic1Q3QjZx
UU5DdGgyMlBPNTVPQ0FRZFV5ZE9sWHErb2p1di9qaWkzSmVjRDlFRk1La1k4djNlMTBucEZkMUlq
Z1BnTnFpCkV6ckJzOXcvZnZxK1Q1OCtidWJNbWVKWVFLR3Z4NW81OGR6UTlYaUc4K3lqNGZEVFR6
OHQyVkMyVzBreEI2U1Myclo5bVFaU3BJR3QKdHRwS2FIamhDcWUrZ0ZUMkN5KzhJQTkzSXRaK0l5
eHUvT0JLb2V1ZFBuMjZ2Rlo3cXIvLy9lL0ZnQWNmVzBnd3l1SWlUSVYrVjg3dgpTWlB6TjNEZ1FJ
R0srVkU4b29KZytLbkJvVWg5KysyM2w2RkExeHV5UVU4eExRYUZTWFUwd1BXTFE0N0JBV3lET2kr
TUZRSUl2cUZTCm5kSDlkNjhZU1l6cDdMUFBscWd1dlc4NGIzZ0Zzb2RncEJJUW9VTTBrVithaWU2
d3d3NkpNa1Q5ZHpUVis2K0dZamxIVUlsOWxESisKQWwzMFB0Sk81WnlUSEhzeUhOelBPZWJjOTNB
ODlENUhsaGduR21JUllFcDgxc0FZKzQ0NklQbCtYOHBZSzdVdTF3UEM4d25vR0xBegplcnF3bklB
Z2dtNFVXc3huNmtHNHRqVVlTSTBtemd1eTAwNDdpVTU1cjFrVG5CcUNYSldHSXBzRHdsRXdNUTJZ
QnVwcGdKczhmd2dHCkw1RWptRE53UmpCWW90RVNLQUp4UkxqNWhTQThySXFWT0h4dHNiOHQ5M284
YUhBcy9Bd09EOVZPblRyVjIzVVVZbFp2QlZ2UXBEVUEKNjgweHh4d2oxelVRSnh6dnp6Ly9YQ2lj
Z2IyRUlzQkZxSEVpdXdmMUxwaytEQ3FDSEpCaEFDTWpPNXRsSWFNRHhMSVFoWFdwT3VCZQpoLzRJ
YmhCa0NrbUFCQ0orZ2ZUcXE2OHV5NEFEYzA4SG91Yy9lM2hHa2ZVQVdxYkd1bVlOK0dIVUFTbm05
N0xEUVA3NWM4TGhacTRJCnpyaldaYUlYYU5qakJLYkt6V3N5U2dqSEhnZUU2ejZFZ0lNNUlISlk3
Sjlwd0RSUVNBUFVlNENyOVcvdS9tKzRVWWJpZlBqanlzSjcKMy9uSXdueHNEcFhYd0RmZmZDTnNk
bURyRVNBcUdDSUlFZVNRSEJBWlZNMC83aWtFUGZpakR3WkJqajMzM0RQenpnZnpKNUtQRTFZTwow
UnFhY215N01kdkV5VURJdXF0b2NJZ2FPSnhsb0tkK1ZodEhDbElPc2lkeExIcStBOUtRMytzNHF2
V3FEa2cwUTMvWlpaZkpOY0g4Cm1YdnIxcTBkelYrQnJrRWNvODhNc29YVTEwSGhqaVBmcFVzWCtm
NzIyMit2ZXRiZldMQ3FkVmJaZmswREtkUkFMdWNqaFZPeElac0cKbXBRR0tEZ2xhd0JoQVVLdEVB
WUxBdEVFRUtlUUJTT0xLRGZPaUM5MENNZklNa20vQnRSWjBNdzdNMUxtTXd4cTRJT0lyc2Q3elpC
bwo5b1JsdnZ6d2h6K3MvZGlRMzlmK3VNcHYvSG5RL0JmeUZNNTdybUd5WlRUWXhSbWhCa1NoVjlR
T1VRY0plb0ZySDJlR3pDZlpFektKCjFJRlVVOHdCcWFiMmJkK21nUlJwQUFObHlKQWhjdE1MRFR0
Y2pCclRQSDRLQlVlTUdPR3V2UExLMlA0SFBIeGd3UXBOWUdSUkF5STYKTnZETEZKRFNXTTZrL0Jv
QWZrWFJxUW9SVmVCWUNOY0dSQTBoaXhhYlV4UGdDM09pcWVqczJiUDl4ZmErZ0FaOE5xd0NxMWJz
YXpMbwpNMmJNRUhZODNla1hYM3doYjJsMnEweUFRUFJVOUwydXA4djExUSthTmVUM3VwMXF2ZXBo
Y1E3MUFBQWdBRWxFUVZTejFuZTZMcnp3ClFxbkY1SG1NY0N6SmNwRFJwQllHUjROc0VwbXVmdjM2
U2RZRDlJS3kzK0cwODd3QWprV0J2K3FsMG5NMEI2VFNHcmY5bVFaU3FnRnEKUDJDb2daV0pHOW5E
RHo4c3hZRnBtVTZheHc4bUd0cGRPcmRURDZJQ0xwN0lkdnYyN1lWcW1JYVJJUW5HQWV4byt1RHp4
OGE1UkJRZQpPazBmY3VHdlkrK1QwUURSWVJqSFlBN3lSWm1DV0FZTUsyUlJCd1JEREdwVm1pbHkv
cEFSSVR2QzNDaE1adG1sbDE0cWhia2h6NmZRCjJDaThKdEpkRHNISUp4T1dLMnRRam4wV3UwMFky
dWc3aFZDL1FQRTA5ei82SEttaDdNT1IxQUhoWGxoSUd2djdRdHN2eC9kS0o2d08KQ0JUc0JBdGd1
TUs1NHQ2cTkwOGNqK3V2djE2Z2xzY2RkNXl3MjQwZlAxNkdCWVNSYmVIUTRNUUR4V1I5YU51NWJn
aEd3RHhYU1RFSApwSkxhdG4yWkJsS21BZGd6ZUFnZzNMaGdwOWxqanozRTRCMDJiSmd3WTRVOHBi
U1AzOWZ0cHB0dUtnOE1udzFyelRYWGxCNHRzTVpRCldBbzlhVWhDVkE1ODlwdzVjMktIaFZHeGVV
MkJwQm9Sc1N2WndrWnJBR01GakRpNjlnVVdIQ1ZyZ0JVTGpIeUlRb1FYL0RwQ1R3enUKUTlDRFky
d0JSZUhlQk56a3RkZGVFeWNkUXdwQ0J1NVJmZ1BQRU9lV2EwejB0S0JJbkdnM0dWQ1lpcEw0SS9Q
WXMyZFBDV1FRQktDUApTcWlpOU1QUWtXTnNhemJWZDBEMFBmZVpRdExZM3hmYWZqbSsxK0FORHNq
U3BVdmQ4T0hESlppZ0JlZzRGdnlwY0k1QVdjeTVRN0JRCk0wQzZqam9yWFBzRXIzRHUrSTRBblRL
TDZiYksvV3BGNk9YV3NHM2ZOSkJpRGNDbkQrTVY5SCt2dnZxcXNPZEF0VXVFTWE3Z0w3U3AKcG4z
OHZqN0JRT053UkJ2MjBXU1JkRHAvd0xSQ0V6ajdsU2FZS0NWelVNSHh3TGk4L1BMTDNiaHg0OFNZ
cEVqU0pGa05BTTNBR0k4SwpFVkQ2emFCL0RCZDZnd0NMQzBtSTlsNXd3UVZDT2MyNGlOcURkVmNo
ZzBiRVhDbEZNVmI1WTg0WTJqam1CQ0pDYWpLcVk4LzN5dldPCndRdzFLdU5QVXZ3dThseDNYSjlR
dTRZbTJxc0dLbkpFalhGMU9sakdPWXpvZC9JaHh6OWRwNkcvejdIWnNpNVdwd2tubTNOaDRjS0YK
am1DVUN0K3JrOEUxRE0wNVdVQklZM3hSQjRSWHJadWhZSjF6NjZLTExoSmFmZDJPLzd0eXZqY0hw
SnphdFcyYkJsS3VBVzVJOEk1egprOE5RQWFaQnBNUVhZQUk4eERCd1FudUlwWDM4dnA0eFNIejZT
Zjg3dXRJclc0eS92TnJ2d1NHRDNWYTZUeDZpUE95QXpGQWY4czQ3Cjc4Z3JERTFFTzNmY2NjZHFE
emx6KzZmVE9mck81ZGpSMEE4SEJPSDZEc1VCSVJzRG5wMitEUmhlbk4vUTBuSU9xWkRwNEx6aC9J
L0sKaVNlZUtEaDRHbmdDUnlIRFUya0RLenFtVWo1enZTTkVxTkdCTDhDU2dPTEFCclhiYnJ2Vjlu
WHcxOUgzMUZoUmdFempUNjR2TmRqMQorMUJmNlcxQjVoUm8wTzY3N3k3RGpITWc5SmpxZC9ubW8r
djREa2dwdjgrMzdYSjlwNWtkampYSFVxRll1ajh5R3R4akVUTGdGS1p2CnNjVVcrblh0SzQ0SHh6
NWErME1XR2thc2FvaEJzS3FoZGR1bmFTQmxHc0FKQWNKQjhScFJLYjJSWXd6QW9ETmh3b1Fnbysr
cTVyU1AKbjNudzhJRHRCQnBLT2tERGRFS0dod2NLbk80aEdoYXdyQkNOVThGQkJVSkFmd2NLaHpF
d2lPWUJNekhuUTdXVTdDdkY1L1NNOGJNRwovaDdRdS9hUG9RbGNDSFVCc0JVQkQ2Sm5BOUFySXVB
YXRWV3FWdkRzOUFXaEJrUzdaUHZ6NGozTkRKazMxd3Zkc3RNa0NrdU02OWRBClFJamlZb3h6dnlG
czNQeUdEaDBxaldHNXh0SUVSNXM0Y2FJY2M0ZzNWTlQ1VktkQmwvTmF6UDJ2c2IvMzkxZXA5M3JN
TnErQlQ2cnoKQWVrSTlYNWNBd1J4YUJLTTBJd3p6dm5nTzV4WWdqNEVzU2c4QjdhcmRWVjhYdzJ4
REVnMXRHNzdOQTJrUkFNWXQ2UnlLVGcvOHNnagpwYzhIK0d0by9lQ3B2K1NTUzZRWkVuQ0hFUHNJ
cEgzODBkTUU0eDBuQktPS2lQYmd3WU9MZXZCR3QxT3B6MlRId0NwekhGNS8vZlZhCktCYkdGWDh3
MS9DZFNYazBBTHNWQVFPdzNXM2F0TW01RTYzOTRGaUFHNmN3dFZwQ29UQ2RySEcweVhBbzdhN3Zn
QkMxSFRWcWxDTzcKUTJZalYvYVBTRGMxYXpnZ09GZTVISlZxelRYZmZqVktyNi8rdWpwZm9HZkEw
eENNVVdvRWNOeDh3V2pGaWFGd1h3VllKSWF0UWlOMQplU2l2SEh1aS9UaVFQdFJYNTgxY1ZmVCs0
ZFBVNm5mUjE4YitQcnE5U256V2E5T0hFRktYQ2RTS3pLQm1oNG9kQ3pBdHNtZm9rSE1GCkNCYlBs
R3FJT1NEVjBMcnQwelNRRWczd2NDTnk4c1FUVDlSMlhhVUdnWnNmY0FnY2swMDIyU1RZMmFSOS9M
NWlxY1hod1RGcjFpeHAKTmhWbm1QanJoL0FlK0FERzc5TlBQeTBPYTNSTVJIS0xNUnlpdjdQUHhX
bUFZQUU5RmNnQTVoT09rMUo2QXNPcWxnT0NNVWxtajVxegplZlBtMVRvZmpGMXJuNENUVFo4K1hh
QjhOQ2FrS0QyZlFEV0tBNkpSNG56cmh2U2RSdm1MdmM1cFdraEdpR0NRejI3R2R2enNBSEJICjZ2
aW9HUU82NWxNemh6Si9zcVBjRjJEOTgwVWRDTTFrOEowNkk4WGNSeHI3ZTM4c2xYcFAxZ0pSR0N2
dmRhN01SeDFRbGhjckJJTWcKSTZBV3lLL0pLL2IzU2ExbkRraFNtclR0bUFZeXFBRWlKQ2VkZEpL
a2RiblJYM3p4eFlJekpjMUxJWHJva3ZieHEzNkpCdklnZ29KWApEUlA5THVSWE1qVkVNeDk1NUJF
NWQ2SmovZkRERDJzTnkraDM5cm54R2dCK0JUMHRsTFdGQktNZW93VDJKUndBaFdVVitsMlMzd081
CmdwVUp5SmdQM1dNZjFEQWdRRThJZkFBL0xPWWVCSjB0b2szbzVFTUsvdWwxamdOQzRmR0lFU01F
UHNOeUxTZ0dMb2N6Z2FBVDZnSG8KL1VBV1M2RmJOSjBqNnEzcm9RZU9NMEtkRE14aFFISkNFWnhR
bU0zT1AvLzhlckJCblpOQ2dCbXp2bGVqUE44OEd2djdmTnN1MTNkNgozbW9ta1Ayb1U4cWNsY1d1
bFAycnJuQSt0ZGFvbE44bnRhNDVJRWxwMHJaakdzaWdCdWlhcWpKMjdGaUpOaDV5eUNHU0FkSGxJ
YittCmZmem9sb2dsR2FocUZRbzI1dmdDMHlQRmo2TVJKMEJvdHR0dXU3aXZiRmtqTmJCOCtYSXg1
akhtaWhIcUNkUXdKUXRDc0tIU1FtOEMKSkE0cWhRT0M4UTByRmxoM25GbzFwUEtOVStsN2ZlYWdm
T3VIOHAxbUxaanpycnZ1S2pVczFGQVJDT0l6UWorSFhMVXRPQjFrZjVRbApDUWhQbk1PbVJua284
eWJJd2h3aElJZ0tCZmtJYzFOUld0bGNOVTY2SHErTi9iMi9yVXE5Qnk2SGsrQ2Z2K3FBTkhZTW1q
MXE3SFlhCitudHpRQnFxT2Z1ZGFhQUphWURDVDZBY2UrMjFsMFFTY3pIcWhLcVNOSThmTnBpR1JM
bENPQlk0RjFDaTVvSUFFYzNHMkRWSlhnUEEKV01ENEY1dkpvQUVjRUI2RUNIbzFIQkR0WStOSGV4
a1BSaWIxVDRyM3A2OUpNWXg3d0l6SUFDQTB4RXlUcUFPQ3NZbHhyUVkyRUt2MwozbnRQWUZYVUFw
Qzl3Q0ZqZmpqOEtwTW5UeFlXTUxMVlJOR0JRa0w2QUNOWXlFSnZDckx1V29UUFdJRUk0b2p4REVJ
MDY4RjdkVURXClcyODlQdWFWeHY0Kzc4Ykw5Q1haU0pwR012K29VQzlGUVhxcEFvc2FVbTBIcFA2
TVNwMkpyVzhhTUExa1hnUGNzTFFyTDNTQUdBTUkKV054aU90QldXMEZwSGo4RnQyRFl5UmFRRFVG
NGNCRGhKaHBjNmU2MXBSeEw2Q0VwQW80ekRpaU9QdUNBQXdSS1U4bzJiZDNDR2lEcQpqUUhhc1dQ
SHdpdi9idzNJQW5iZWVXZjV4TGxGM1U2bFJaMEU5cThDUkloQ1d3eHRwUUQzbVpGMHZlZ3JScXBt
VXNES2gwSXZIQjFuCnJzL3FnUGlHT0pGL2FGWng2bkVzS0I3bStzSng1RDJGK1FnQkZ5Qk0xTWdv
OVM3MUZGQVN3MEJYYmNNejE1eFpqa0VkcmVzQmdrckcKUys4amZnWUVvZ1ZFdjVNUE9mN3BPZzM5
Zlk3TmxtMHh4NUcvS0J4Unp3MnVjeUNHcGY3eE84U3ZwU25iSlBKczJESWdlWlJqWDVrRwpUQVAv
MWNBMjIyd2p1R01pYlJncVJKM2VmZmRkUjNxWW14aUdjSWdzV0hyODBqNStvb0o5K3ZSeGp6Lyt1
RVFHY2FqUU8xR3h2ZmZlCk8raHV4a0RIOUlHbnh3T2pFbFllakdTVDVEVUE3QXIySENBNHBRaUdE
a3hLQ0VZZjUxWWxoY2FCOUNUQldPN1ZxNWRBRDJmUG5pMEcKTTR4dkxPTmFwbDZGTHVqS2pCVTNS
b0lrd0hrUXNqa3dScVZKMURoVTZsWEdUbFlMOWlxb2Q4bEdJemlaUUxMYXQyOHZsT2c0SG1RNQpn
R2N4YndyU2NUaklvUEI3R01iUUtkQXR2N0JaTmxibGY4eU5yQTY5VFh5QlFJQjZQbUJJWklTMEJv
WjErQTFPbWpvWC91OTRyMWt6CjNqZms5L3l1V3ZMY2M4L0pQVDRYNGdDblU1czBsakpHZ2o5azF2
MU1VaW0vVDJwZGMwQ1MwcVJ0eHpTUWNRMkFIK2JoOXNvcnJ6Z00KWUp3UUlwTFFKR0lVaEM1cEhq
OFBHZ3gyakJKMHI5MXNZVEJKQ2c5Y3J1UEgySDJoSG9SaVkzcktLQ3VOLzcyOWI1d0cwQzNYS1VM
dApFTFVkeFlwbTJGZ2Z4aldLMTdYZW9OaHROR1k5REVtaTlEZ2FXamdQZEloemhXd1pRcEUxbnlF
M2lITkFNTGJIang5ZjIxd1J4NzFhCnJGNk4wWVZtS2JUT2hYNFA2QVppQWVvNStGNGorVnhqWkVo
eDdHbjBTZjhkakZmMHczMGFReE5ESEIyU1FZRTVDV2dlenNnSko1d2cKVG96dXB6RmpidXh2ZWJi
UWI4cS9wd0dqNDk3SE1hUmVoWXd3OU4wcXZJZVF3TThVcWZQR09yNERVdXp2ZGR2VmZwMDdkNjQ3
L1BERApheGtvZFR4Sk9RNTYvdWgySy8xcURraWxOVzc3TXcya1dBTTRISzFhdFVydEROSStmaDdN
MnZVMnJRZUJ5R3lJMUo5cDFhZU9HNE9UCmJCTlJibzBRazhXQUtZbE1odExzNnZyK0t4RlJvQy9V
ZnFoZzVBQ0pPdlhVVThXSkFlcFRDUUgvLytLTEw4cTRNWkQ1clBVUDdKL00KUjd0MjdjUUlqNDdu
cmJmZWNtUlJnQ1ZTRDBIelBmb1lwVkhVaUNZRFFwUWZRZzJjQ3lYV3dMSHdqV3ZtKy83Nzc4c3hK
Rk9xanI4NgpsYXlQazBGbUNLTWRLQlpGLzYrKytxclVreWhMVmpWMUJjVXluZTIxNXdYbm9Eb2Jl
dDhqU3dkOU1QUEJnQ1lncy8vKys5Y1pOdEY5CkZTQk1mazFSTWIvWDMxYnpsV3VZelBlTUdUUHFE
U01wQjBUdkUvVjJVS0VGNW9CVVNORzJHOU5BVmpRQXF4SHBjSXhoSG00K1JDQU4KYzhUUW9xaXZt
dnpuYWRDVGpURjlHc0RRZ3EwdUtuNUVPZm9kbjRrZWsrbklsZTN3RGQyNDN5ZTVqTEhlY01NTk9U
ZkovZWJFR3ZwWQpYNGo4MzNiYmJXN0NoQW5pckFEand2SFFtaEYvM2JTOFYrTVFCaVRONHBDdFVJ
bkNHc2tLVVp4UEpzUXZSdGZ0cUFQQzc2bWhvYk0yCmpXU0JxYW16b3R1dTFpdk9CQVhuL0VWRlNR
ZTAxd2wwemN5TkxJOW15L2dObVc3MG9FTFBLakpxNm9BWCtyMytydHF2bk0vQTdPSWEKaUtwVENR
d2FoN3RVSVVPRzZMbFI2dStUV3Q4Y2tLUTBhZHN4RFdSSUEwU2RpRFFDci9MWk44RG44dkNpS3pv
UGVTSlZQTVFvZGt5RApjTU1scGQyM2IxOUg0eTUvYm1rWXY0M1JOSkJMQTN2dXVhZmpyeUZDODcr
MENaa2RNajVFaUltRUE4UGgza1Rma3pRN0hub2MxQWpICmNZQkZMdW9jNG9Bb2hTNzB5YXhQOWtB
TGxIVTdhbVJpdENvTkxkK3hUVEtSeWd5bDYxZnpsZG9QR3E1R0JhaW13alY1SmxFRE5HN2MKT0tI
M2hrWFBkN2lvQllsbXZYeDRWcUhmUi9kZGpjODQvREFFeG1VL0dBOFpNUVJDR0NVZWtBVkYvZ1Bx
Qmp1Y09qSkYvaXp4MWN3QgpTVnlsdGtIVFFQbzFRTFNKeUJFUE5kaFc2SnpLVFo2YlBoR1gwYU5I
dTBjZmZWUWNsRndVcXlGb2dSdTUvMEFHRTAreGZOeERMb1R4CjVob0RWSXdValBvUFV0aGZZQXVD
R0NCVTRRRTNhTkFnTjJuU3BGQ0hhT05LcVFhQTFnREY0djVUeldacTVWS2ZzanUxYk5teTF2a0EK
WWtiUUI2ZUJBSkRTYzVPUjVpOU8wQS9PeXRwcnJ5MDllY2dXYWRROEpPZURzVU9hVUF4eHdzRUhI
K3o0aXhPZVc0VWszKzhML2JZUwozNU9Wb281THN6N1JmVkwvaE9Cb2I3TEpKdEd2QzM0T3hVRTNC
NlRnb2JJVlRBTk5Vd1BnY2JtWjh3QWowc2pEM2hlNjg1SkpVQU9mCktDUk9DUlNSb1FoakJFZXIz
UGRFem1od3BjM0pkSnd3d2xCSUgyb21oN3FKb1VPSGlzTUJ1eEdaS05Mb0ZLSXl2MUFqMk1CbGNG
NFgKTEZnZzlRUTRoRVR2TkJJTGp6MEZwcHhEVmhlaVo2TzlGcU9CS0ZOU01iOUowenJBa1JBL3Vr
OEFCVFl3bkhyTmRsR29uRStVSGVxaApoeDZTZWg0Y056SWxSZ0tSVDJ2Vi9hNFEreHpQWlhyODRK
dzJSS2oxSWdOUzdTYXc1b0EwNU9qWmIwd0RUVUFEWUxHSnJvQTdobGtICkE1MUNWeFg2QkdEWUs5
Nld3azhLWUNsc3BIZzBCQ0Z0VDRHdFlvUVZCeHdkRzQyOVFtQ0JpWTVMUDFPdkFyWWZKKyt5eXk0
VEpqSWMKa2dNUFBMQzJZRlBYRGUzMWswOCtFYnBtSFJmWVppQWowTDIrL1BMTFFvOEsxcmw3OSs2
MWtCSmQxMTVOQTAxVkE1OTk5cGxNblZvTgpGZW9kL3ZLWHZ3Z05iME95UG5xUG8wNEVOanJOb09q
MjdUVWRHaUFnMWFsVHB3WVBsdC96VjIweEI2VGFSOEQyYnhvSVZBT3dzSUN6CnhzR2dRekgwaUNx
d3JGRE1SK1NhOWNoNjBDaUsvZ09oT0IrTVZiSERMVnEwMEtISHZzS3lFM3FmQUxJSFpIQndDTk5p
T0pEdElGdEQKTHdLRTg0V3NHZFNhNEp1aGVvVlcwOFEwWUJxb3F3RXlGWWgvZldqTkIzVU1aNTk5
ZHQwZkZQR0piQ2tNVWZUZlNjczlwSWhwMlNvcAoxY0IzVXpwdUc3WnB3RFJRWmcyQVB3VXJqTUdM
RXdMdUZFZ1RqQ2tZbGVCb0tRQ2tTemRkMG5tZ1Fka1praWc4TEtReE5YUXN6SVVlCkNHa3lITWlj
UVZnUTdkY0E5aHlLVk4rNGFxaGU3SGVtZ1N4cWdDYXZrR1Q0d1JNanpYRFN4d1JJcDlJVVovSFlS
K2RFUFJEc2pYLzYKMDUraVg2WDZzemtncVQ1OE5ualRRSGswUU5FaU4vaHUzYm9KRHp1UnQwTU9P
VVRxUWNoK3FFSEpEUkZPY2w0cFRBOU5TbkZBeURDWQpKS3NCNmorMGdaeS81VkJvUC8weDJYdlRR
RWdhb1BIZ2pqdnVXSWZtdkpUN1diNjVhSlBEZk91RStCMFU4Q05HakhEMDhpQUxCQXkxCktRalBW
OGhUQ0FyQzlrYUhlMlhDS25iK1BKODVuNkFrdnYvKys0djlXVm5YTXdoV1dkVnJHemNOcEZNRHNC
ZlJEQXhIdzMvb3paNDkKVzJCTnlzWUVUcGxpdUpBN29jUGtwWFVxdVk0R0RieENkVUJ3QnRYaHl6
WCtVSmQvOE1FSHd1QURQSTk2RldwWWNHYjljeXJVc1dkOQpYQVFTM243N2JUa3VmcDFCMXVlZGh2
bHh6K0xZUkVreDlMb0J3cmpmZnZ1VlBCWFk5SkMwT2lBMDFsUWgyNTZMQ1V2WHlkb3J4dzBhCmVU
TExRSVpoeW9KVVJTbUs4ODEzNHNTSkRsZ2ZqU2ZSNDFsbm5lWEdqQmxUVlNwNmMwRHlIVEg3empU
UVJEWFFyRmt6aDFGeTAwMDMKU1RNa2pCVnFRTGJjY2t1NTJYSGpKMFBDZzVEaVllQUNJUm94T0JV
VWEvb052T0lPS1V4TW9Ub2cxSDFFRzYvRnpTSEVaZlNUZ1lYbgpxYWVla3RvZ1dOTGF0bTFieTRJ
VjRwaWJ3cGlBVE5JOW1tdVlXaTZhdDZWTjZEL0UrUVRFTDJxb3AyMHUwZkV1V2JKRW5BU2kzbkZD
CndBY21xMUlGc2dmSVFwTHFwRjNxL2h1elBqQWtlbU1na0orUUJXaUlZSVJqZU5OVnZpR0YvQTNa
WjVLL29SOE04RldZSERuM2dVRlQKVDFlb3FKem5zOVlWTVo3eDQ4ZkxzeHc2NTJxSlFiQ3FwWG5i
cjJrZ2NBMkFOK2FHaGZIKzA1Lyt0SjdSQ0lNUkdINGljVFF0REZGSwppZlNWc200bDV3b2RNa3hT
YVJUNDVvRmhhVE0wTWlEME1qQ3ByZ1pnSWxNTVBVWmRxTTUzTGkxQlVVc0RObWhwcjd2dXVseXJw
WFk1CnpnVVVxZTNidDY4ekJ6MW1kUlkyNEVNYUhaQmJicmxGR01DYU4yOHVIZThiTUczNVBTUXBH
Tit0V3JWeXNCK21WZmJZWXcvM3dnc3YKU0cwbWM5SHU1cm5tUS8wbTlacGMrd01IRGhUV1IvcGg4
WHlwbGxnR3BGcWF0LzJhQmdMWEFBNEloaVBHTDVDQXFJSE9BNEgwTDA0SQpOemE2cTRJeERVbEtl
V0JINXhmS1BJQXVFZUdGNGpnYXNjT1FJUHRFazhJUUJXT2hmLy8rTW5iR1J4YXRhOWV1Z3VPbWp3
RndMT1pBCnhCZE1kNkVvWG9oelRPT1l1SGJYV1djZEI0U1M4NGZHWjRWNkQ0UTBUNXdtZFdxQktn
RkpBUnVmRllIS1BDNnJVOHI5TEo4dTZLNmUKSnFFR1l1VElrVEprNmlENjlldlhvT0VEUVNOd2h2
QzhvcGNNMmYyUW03bm1teWcwK1RpclhMdGtscm1PYzVHVVFNRzg3Nzc3eXVZZwpNd0c1MEtWTEYz
SEd5QWhWUTh3QnFZYldiWittZ1JSb0FJT2NHei9HSVVZaVZMVUl5NEhXVUJDb055NEtBenQzN2l4
VXZNQzBRcEZTCkh0aWxyRnZKK2RIaG1JY0xzQXU2QkdQVTR4QVN1ZUlZMEJjZ1ZCak5QdnZzNDg0
NTV4eTM3YmJiaXNvd2VvaytBcC9Bc2FMWEROQUsKSXZCQUM1aVBTWGsxUUM4Zk1wc1RKa3lvaFNi
U21DeE5Ec2pOTjk4czJRR01Sd1FZU2xZY0VPQ0szRjh4RXFPaVRoY05QQjkrK09Ibwoxd1UvYTNO
RGF2elNKTnd2YUp4SEF6NmdkN2tFT25ocUY2RW9wbUZqTVVLSCtEVEwrdXV2TDgxY3lZaVEzYUUv
VjY0TzZ2NDh1ZDl5CkQ2Qy9WTFhFSEpCcWFkNzJheG9JWEFQYzJDaFU0OEZPNTJvS29Ta3EzblRU
VGFYNGpTaXFOcmJpeGsvVWJ1ZWRkNWJlRGhUS2hTQTQKRmNVV29ZZHN3SkJwQXZkTXBna0taQXdR
SGlCRXNjRDI3cjc3N2lHb3U5NFllQ2hpQ0ZCVHBJSVRSWE5JQklPSURCdEZsQnR2dkxHdQpZcTls
MUFEWExWa29vcCtubjM2Nk9MQmd5Sys2NnFxaWlsbkxPTFNpTnYzYWE2ODUvbUNKb2hBWGtnWXlJ
dFV1cUMxcThFV3NoSU9PClE3WGFhcXZWV3h0bkhXSE9XbEJlYjZVOEMvZ2RraVlINU4xMzN4VkRt
ZnZ6cEVtVGFwODVjZFBVUGlsQVA3VURmTng2V1ZzR0Vjd1YKVjF3aERYY0pCRklicGJySU45ZDI3
ZHJKUFNEZk91WDh6aHlRY21yWHRtMGFTTEVHTUFneFVoQjZnRkQ0dG56NWNuRkdGSHJsVDIvYwp1
SEhTT1Qwa1poSWNFREkzaFlyUTU4eVpFendPbm5rY2NjUVJ2c3FEZncrTVQ3TmtjWVBGTWZHZGs3
aDFiRmx5R2xCam5lZzVBUVdLCldNR0VFMTBHeWhGU0U5RmNzOGFCWXR6QTlUcDI3Q2dGdUJUVlV3
OFNyWm5JdFkxUWwwUHFRV0FCZUdLY2NCOUdvTEVlTkdoUTNDcDUKbDgyYU5Vc2FFYWJKQVNHYlFR
Q01zV3ZBSys4a20raVhOSGdsc0VPdHg0QUJBNlFwY0NGVlVOdkpmUUJJbmpKYkZ2cE5rdCtiQTVL
awpObTFicG9HTWF1RG5QLys1R0NvWU1NQ3hlQ0JFaGFqVHNHSERvb3VyK2huTUt5bjVRa0pIN21L
b0RBdHR4NzQzRFlTc0FUcGhrOW1rCmFCV2hRejBPQ0VMVVBYUUhoSHZQN2JmZjdxWk5teVpqWnZ4
a2IzVDhhWGRBaU5vRHA4d2xaQUhJWGpYME9KMXh4aG1PcUhjb0dlcGMKODlUbEJJYnV1KzgrOTlC
REQrV3NiZEIxaTMwRjdxbDB4c1grSmczck1TZklZTWd3UTh4QVZnU25KSi9nZU9DTVZzUDVZRnpH
Z3BYdgo2TmgzcGdIVFFCME5FQzJKY3o3cXJCVFFCNXlLZGRkZHQrQ0lyRGRGUVJVbHRnSTFSVEJq
bVZSZUEyUVAvR3dnVkx6VTVTQlFVU3RFCnAvSWpLMjZQR0tMVURURnVoR3pybW11dUtlOW56cHdw
a1Z6NWtOSi8xQ1BrNjNaTzNSUndzNGJTY2dQWnBJWWlWTklLLzdDUmxldlQKcDQ4NHhzeWJYa0t3
NkRWR09FZUFoYTVjdWJJeG13bjJ0Ny84NVMrbDVvNEJVcWhQd0NHZm9JOFdMVnJrVzZXczM1a0RV
bGIxMnNaTgpBNmFCMERSQXpRRjFDWVZvQzBNYmQxYkdRNVFPL1lkdTdHWkYzem9QbW0xU3RIMzg4
Y2ZySXNuNktjd1NNZ1BxdUVJV0hDaUtzOVZJCkI1TFRxVk1uR1hKREM3TkRubTlUSFJ1WkxtQytr
eWRQbG93UGVxQVFIUU9iWnJnNEluRi9TaWNOVVVyMGUyQ0gxTkZCZEFIN0ZSUzIKYVpSQ0RHWTBK
eVQ3Z1E3SUVHcTJNRHBYMk1CZ0tHVGRhb2xCc0txbGVkdXZhY0EwVUJVTkFIT0FnaEY0RmtaWnlF
SjZuTnFhMEtCdApqZEVaRVdzZWVtVFRWQ2d1aGRXTDVtQlpoRWZvUEt2NWV1dXR0N28yYmRvSWlZ
US9Eb3dVN2VNREc5WXh4eHpqZngzTWV5TGlRSEtXCkxsMWFaMHhFOVdIRlFvQ1JwYTFPcXM1a0lo
OHd3SHYxNmhWWld0eEhkRUttS0kza0RoZGNjSUVRb01DaXA0S3pTUTBpeENoUWtzZkoKc21YTFpE
SG5RUnlqWG9jT0hXcC9kdlhWVnd2OFVKM1oyaThDZjBPOVV6NUJUMENLY2JKZ1RTTmJSb0U2YzRk
TkVXWkxtbEhpek9PawphQUFpM3piTDlaMDVJT1hTckczWE5KQnlEY0FlTlhyMGFDaytyeFpHdEJ3
cUJHb0NWU0UzNmRBRkpod2lkMEFRS0U1RmZBd3pSZllVCjMvSWdvU0ZrU0VKQkxZWE4xQWI1OVRV
c1o5d1l4QWp6K2Z6enorVTl4bVhMbGkzbHZmMUxWZ05FUW9jUEgxNXZvL1Jtd1VpRjRZNXoKalV6
Q3ozNzJzM3JyVlhzQjF5djRkcVYwMXZGUTkwRmRDK3h3WkhESTVLUUpKcXJ6aUhzbEM4QnhvZWxp
cVFJVmE3ZHUzUVN5UmdEagpnQU1PS0hVVFZWdC82TkNodGJUdk9nZ05UT0JnNGp6RWlYWjZKMHNH
YVVvVzVmK3hkeDdnVWxSbkh6OVBFaE1UYXl5b0dKU2lnZ3FLCktGaFFnbEZSQkFzaUVSV2tDRFpF
a0E1cUVCRVVWSXBTTElpb0lHcG9OckJyNkNqWVViRmh3ZDVpak5HWXN0LzgzbnhublR0M3R0N2QK
blRPNzcvczhlM2QyNXN6TU9mK1pPM1BlOW4vNVB5WTBMWjNpUkQydW0yNjZTV2lMZVRmQW1NYUh3
b04rR1RwMHFQRXJlZjV0cFZqVwpFS3hTb0t6blVBUmlpQUJGNzVnb1FndVpTaks1ZzFQdEY5VjZp
cGJCSHNQRUdDYWRPTWpmLy83M1pMZ0FMeE5ZcFhyMTZpVWVITmh3Ck9uVG9JRjZTbXNaSEZ4b0w2
cFlRaDB6Q00rRlc1Qjd3d2Z0QmxXZVdpZUduaGd6SnRZUllxUEpSNkt2d3YrTXRXN1pNYW45QTBS
a1UKSm5aTVZCRXNwckFOdVNoWTlNTnlIOGdKc1Y0YjdqTU1ET1VrZUFXcFhHM0RpN0lkR3hOMWFv
b1FvbmI4OGNlblphUEw5cGlsYW1kcgpUcFhxZkhFNkQ1NGRQQmxRc2hPcWxrcjRYMEZaU1lVbGln
ZjNWcFNpQ2tpVTZPdTVGUUhIRWNBeVNzeHRLb0VXa2dra2ljV3VDNWJSCjNyMTdtL3Z2dnovSkF1
UjZud25CMnJoeG85VDdvSzlZdlNqc2gwV1V5VHBXWVlxV1libk9odmM5aXZHaWlEejIyR09TUEJz
OFA1TksKRkJUcXlLZ1VEd0hDTFFpMXdCc1ZKb1JoV1NGOHhUVjU3cm5uRE9FMVZsRUs5cy8xL2dm
N20rdnZlKzY1eC9UczJUUHRoRFBWTWFGawp4V0xPYzJQbXpKbXBtdWw2aHhHQVNBVTJzSEhqeHNs
OWdDRUtwUnZGTkozZ0NlTDlnWEdIL3hFODZZVDBjVDh0WGJvMDhuZUdobUNsCnUzcTZUUkdvY0FT
WTFOYXBVeWNsQ2pEbzRDNG4xbmpLbENtbVNaTW1LZHRHdlFGMzg3UnAwOFQ2SG5WZnNqMC9paDJU
ODJCSURJb2YKdVNGeEVTYS9UR3o5RTBpczFSVE1zZ3B1VkZ6MGNjRXczMzVTdkE2cVd1b3BvQWlt
RWhpWUNJV2pqZ0Q1T0hqWFhCRVVxUGJ0MjV0VQpWYXVwbTBGQnpuZmZmVmU4bStTTFpNTis1OHI0
TXZXRGEwZEJQcndaVEI3OStWT1o5bVU3Qmd1ZXorUldNQkhOZGY5c3pxRnRpb2NBCjcyR29rNFAw
eWRsNHZYbEh1NXBEcUFwSThlNFpQYklpRUhzRWlOMm44cmtWSm9tRUJCRmZiSVg4RUt4ci9mdjNG
N2V3WGUvU040bDcKVEVnSS9ZbVR2UHp5eTZHYy83REJ1Q3g0Ym9qSlp4S0wxd1lGRmVwUFFnYXcz
dkZoVWdsZlBhRis1QnNSeTQrRkxwOTRkNWV4aUxwdgpscDZXUkg4K3FjUk9acmcyVEhMNWYzWkJl
T2Fndk5hclYwOFlzREwxaVhzTWhZc3E3K1VpL0EraFFQQ2NKZGNMYTdpbFQ4NW1qQlQ3CmJOQ2dn
U2d4VHo3NXBIb2NQZEFnSVBHLzI3TEIwYlUycm5xOXM4VkpRN0N5UlVyYktRSVZpQUNNVVV3bXJS
QXlFMlk5NDZXSTVUUVQKUTRjOVRxbS9tUWd6bWJlVmhFdDkvbnpQeDB0eXp6MzNOTVR3NXhvRG51
ODVDN0VmazFnbU91UVRVSjBYVDhlYmI3NHBvU0F3c2pBcApoZzJMSXBGc1owTEZoSmR3TGF6WEtv
VkRBRVVQN3g4S1liclBtalZya2lkMUtXMUhXS0VBQUNBQVNVUkJWQXlMa0VrRUJiVjI3ZG9wClAv
NHdQcGY2bndTMUFBdjg3NkNrRTdiSS8xTStvalY0akhpQ01PSllJb3g4Y05SOWFvNkFla0JxanFF
ZVFSRW9Xd1RJTTdCSjZCUnYKSWpRanFJQXcyU1JVQ0U4SVNkNU1FbHdURW0ySmhhYUNNQk9hWEt5
SFVZNkYvSTZkZDk1WjJIMWdLM3Jra1VkTXk1WXRVeVlXUnRsWAovN254YXZUbzBjTy9TcFEvcWp6
amhhSVlHUGNOTWNvcXhVTUEybEpZMGl6TmJyb3pNU0VqaEJKRm5VUlg2dVM0VUxBT293ZjFHNWg4
Clp4SVNjOGtWV2JseXBZUmpFWlpWYmtJWUZSNW93czZvWWsrQ2VTWkI4ZVJlUUNBYWNGbFFoREY2
NGJGbW5KYnR5UktlNEMybGxsT1kKV0M4ZVlZZXAybERJMFNaZmQrdldUU2padWJmc2VjS082L0s2
RFJzMnlQL3NoeDkrS0FaQXZvbFN3T2kyNjY2N3lvY3dhcExPWVZWMApTVlFCY2VscWFGOFVBY2NR
SUFtZGh6a1BOUGpYZytFeDc3MzNucUYyQUlsdVRGNkNGSmt1RFFmbUVKTFFxZi9CUkNVT01lSW9k
WGhCCjRHNUg4T0NBZWR4Q3lRaUxPZTIwMDBUaFFQSGdOK0VEVUVWQ05hcFNIQVJnd2NHSTBMQmh3
NnhPMEtsVEo1bk0wQmd2QXBQZEtBV1AKS2tvM1JCZlpDSW01OWhuRmMybjQ4T0haN0JhN05oZGVl
S0ZNem1FMWcrMW8xS2hSQm05MUtvR056bnBRb3l3OGw2cC8vdlY0ZTNrKwpZOFRnK1dmcGQza1hr
Yi9DK3loVmVDQTVRQWhWMDZFdlRpViswZ0x1TVpSdUtKN2pJaGdDVWFSbXo1NXRJR2pJUnJiZWVt
dkQvWUxSCnAzWHIxbTRvWE41TnFhSUlLQUtLUUVvRWJyMzExb1Juc1U1NG5vMlViZUswd1dNQlNY
Z1QrSVJYNzhENWJudDFXQkpObXpaTmVDeFgKMGxmUEM1WHdRazBTbmpXelN0KzlsMmpDVXhLcnJI
UGxoMmVWVEhndi9JUVh2NTd3bEkrRTV3VkplSlhRcFh2ZUJEZmhGWkpMZUVxVgpLOTB0U0QrOEFu
SUp6M3RWa0dQbGV4RFAwcDN3dkdjSjdxRnN4YXZSa3ZBbU0vTHhsSlpzZHl0YU8vcnVlV0d5UHI0
M2tVejIzNXRvClo3MWZ2ZzJMZlozdHRaZzBhVkpvRjcySmVzSUxaVXg0ZFUva09udTFIaEtlY3A5
czYzbXhFbDd5ZmhJVHIwaGR3cHVZSjdjWGFxSFkKT0dUYlR5ODBUY2JxS2F6WjdsTFFkc1hHZ2Y5
cHp4Q1k4THcxeVd0cTc1RmN2dmZhYTYrRTUrVXM2Tmo5QjhzV0IvV0FlRmROUlJGUQpCRklqUUNq
Tk04ODhJd1crVXJlS3p4WkN5ckFJNHcwaFdkVmxJZFliQmhNS1N5RllBYkgrVWYwWlR3akpwWGhI
c09JUjFrU0ZXNWVFCnNBbnFmZUI5Z2dvVVlaMzNzcEpsTExlRVpSSCtBNlVrYkQ5QnhpOXBxSDl5
UmdBTDZTZWZmQ0lldjJ4MzVqb1F0a0VZQjZFZGhESlIKM0MwS3dVc0dTWUd0OFpGTkg3RHU4NzlO
MzE5NTVSWHo0b3N2eHNxeW5XcU05djhsdUIxdkx0ZUltaDg4Si9qZ09haGZ2NzU0QUNncQo2UmM4
U1Z4ZmxmZ2hRRTB1OHB5b1lXVmw5OTEzTnkxYXRKRDNBRGwxZlBCMDREbkNXODY3d1g0SXdlTTlU
cGdhb2RMOFgwUGY3cThPCmI0OWJxbTlWUUVxRnRKNUhFWWdwQXJqQWlTSC80b3N2WWpxQ3F0Mm1G
Z0lVdGxEQ3VrN1hTYjRIRXpBLzZ4Z0ovM3lJY2NZVnp6ZHMKWlNTcnV5VGtFRngxMVZXU0FPMHZN
RWdNT21GWVZxNisrbXBKUHIvb29vdU1aem1UZkJmaTIxWHlSNERjSVJ0K0ZNelp5blJVcmhVSwpD
T0paM2lOVFFFZ1FKb3lHSXBXNUNCVy9VVUNRVzI2NVJkaWpjdG5meGJiVU1Fb2xoTDJTczBQbGI1
N1Q1RWlnZkFXRmZBY1VmSlY0CklrRGVDc29Ib2M2RTRLRTR3R3lXaXhCS1RmMFA4aUI1MWhLS0Jp
bEJWT0hJeW9LVnk5WFR0b3BBQlNNUWw4VHRiQzRSK1Fna3RtSXAKY2xub0g1U29ZY21EeEh3VHR3
ekZMUXhCZUVkY0VheHRFQlB3a3ZNckgvU1AraDlZdC8zQzVBaXJISVVWVmZud0k1UDdNdlVpcUpt
QgpWd3hoWW9veW1FbXdzak54SlFiZkNneGxLT3RZWDBzcHhQSVBIRGhRVGhrMm1VN1hGLy8vQ2du
czJZdzkzZkdpM0VhVmR3UzJ1SFNDCjEzRHk1TW5HQzhFeTVIdGd1R0FkRm5KcVJ6ejQ0SU5DZTIy
UGwrNVl1czA5Qk1oN3dSakFjNUlrZllvSjVxcDhNQ3Fxb2tOYWdLTDYKMEVNUGlTRUlKVDBxVVFV
a0t1VDF2SXFBSWhBcEFpVHc0YkpXS1R3Q2hJQ1EwQncyNGJuZ2dndENLL2p1dE5OT0J1dTFTdjRJ
bkgzMgoyYVpaczJaaTFTUVVnODlUVHowbFhvUU9IVHFrUFRCaGZreGNVVVRzdm55VDFBMnpYYm9p
aG1rUG5NTkdHS3hnSk1MclljT0hyci8rCmVySDRacUxXaGUyTHBIbkN0cXpZK2pKTXpxMVh4RzZM
d3pjRUZGaStYM3JwSmFsbW5Va1JaRklLWHN1WEx6ZGZmLzIxTUlGQmNlMm4KS0k3RHVQUHRvelZz
K0QycytSN0xwZjFRRnFBb2gxSTdWNDltcW5HMGJkdld6Snc1VTVMWlU3VXA5bm9Od1NvMnducDhS
VUFSVUFRVQpnU1FDdVliVUpIZlVoWXdJZUlRUmhrOCtBaE5RMUlMbmcxQlBGS21nWlBLRW9HQkEz
MnB6amZ6N0UxSUdVMSsyYkdEK2ZhTmNSdkc3CjlOSkx6WWdSSTZTV0R2a2UwSEdyaENOZ0tZWXRa
Vzk0cS9pdHBlWUxYczFDQzZHOFFicjBRcDhqM2ZGVUFVbUhqbTVUQkJTQkpBS0UKQXBIUUJ1Mmo2
NkZMeVU2SExFQk5TazJURTA0NG9Td1NWRU9HcUtzVWdWZ2lRSjBlUHZrSVlTbmxLdFNvQ01PRmli
YXR6NFMzaXBwQgpoTXJHdGFaRlRhOGZIaStFTU05eUVyeFp4UWhOaGJDQSt3WEZ6V05JS3psa0dv
SlZjc2oxaElwQVBCRTQ1WlJUSkhRR2RwMDRpNDJqClRjVWw3OUxZc09pU2NCZ202OWF0TXlSdVUz
RTh6a0xZQkNFbXRvaFluTWVpZlZjRWlva0FwQmt3eDhGOFJLRTU4bDBvRm9sWGhId3cKd2hpWlNP
THBnWVNBUEt4S0VuSWxFS3VJbE12WXllK2pOa3FoQmVVVjVTWUs1WU94cUFKUzZDdXF4MU1FeWhR
QkpzTlkyU2htQk4xcgpPbVlXMXlHQXNwYmtiWVNKTDRsOUZEeExSWGNaMVhpWVlCQmFRZ3h3VUFo
bHd1SnBDNjhGdDBmOU81VkN3U1NLcEZoQ1N3Z3IySDc3CjdaUEo5RkgzV2MrdkNMaUlBS1FPaEph
UlZBNlZMcXhYVUN5SFBhOVE2Q0YwZ0YyT2ZDQllrOGlQcVFRNStlU1REWjlNK1U1eHc0Sm4KUGN4
VlhQTkN5b3daTTNKbW1TdmsrVFVFcTVCbzZyRVVnVEpDZ0JmWmdnVUxoR01lQ3duTEpNSVJDdkN1
RjZ0TlFseVVIT0tab0Y2OAplTEZNMEhscDAxOFNYSW1saFIzSUs3Z21mUG1zaDdMVWZuaXhNekYy
U2VoanFoY1BkVUFPUC94dzZTNjg3eWlJcnNqQ2hRc0ZZL0RIClc3Tml4UXBoV2FwYnQ2N2NReWhQ
M0UrRTlCRmV3RmhVRkFGRm9Db0MwS1MyYXRWS25sSCtMUkJvRUVJRHJUZzAzSVFkOFlGcTFlOEIK
SUhjR2xqd1VsNmdyMi92N1g0emxhZE9tRmVPd2tSOFREeGZQZGhnRnFWMVYwendnNjFrblgyemV2
SG1SalU4VmtNaWcxeE1yQW00agp3RXVOQngyRjRxQjN4RXZBTXNXdm1qZHZicWdQZ3FXTjlkU3B3
S1BnVW00SWZhZEFGOFdYVGozMVZLbG5RTjRIRnNHcFU2ZEs2QUsvClhSYVlnRWlndGNYWWNKa3p3
V0RpRHRNTElRZGNBd3I5b2FRUWNzR2t4QVdCZVFkUEUvY09PQk9qRDBNUjl4WFVqMHlncnJubUdo
ZTYKcW4xd0JBR1VhRUk4eXptZkl4ZW9NVDdBREVmdUhkODh4NWlFVWpBU1N0VlVRaUkveHBZWFhu
aEJMT2VFNzBESFRCSENzQVQvVk1mUgo5ZTRnTUdYS0ZMa0hVQ1lwVUl2eGp5UnluckdiYmJaWnhv
NWllT00rNEFPakhiKzVwNkwwRnFrQ2t2R3lhUU5Gb0hJUklNNTQ0c1NKCkJvWWN2bEZBL0lJMW14
Q2hmdjM2aVFXYkdnSitIbjUvMjFJdmI3WFZWcElmZ2JYSDlna0xJYlVOR0E4eDA2NExDZ1VUZWNh
QzFLbFQKUndyMTNYVFRUY1o2UmloRVpxdWxveFM2SWxobThTaDkrZVdYVldxVW9CQ2lXR2xSTkZl
dWxEdjlRTGttcExCWHIxNFZtMGp0dnhyawpxYUdvRTdJWXJLZmpieGRjSnJHWUR4TlZRcmVvRFhQ
ZWVlZVp5eTY3ekhUcDBpV3ltUDlnUC9WMzlnaWdjT0Rob2M0TE5NdDh5QWVDCmNJQkNndVQvWUh3
aVdvSDNRTEFTZWpBa0ZzVUZhdXNvQ1FzMEJ5VDc2Njh0RllHS1JZQ0sxc0drYlNiMktDVFVlb0JQ
bk5Bc213VG8KRWxCVytZQkRuMGt2MXZoUFAvMDBXV2ZBcGI0RyswTDRSWkREbi81VGxHclJva1Zp
S2NiemhETGxrdkpoeHdGbmZiQkE0cmh4NDVKRgo1bXc3L1ZZRUxBSjQvSmhZVmJyZzRjUUFRU2hw
THNwSEdHN1VCM25nZ1Fka2tocDMwb3F3OFZYS3VuUFBQVmZ5THlrbWlDY1o0VDdoCmZRYVJ4K3JW
cXlYZjUrbW5uemJQUGZlY0tKNTR3L3pLQnlHeFk4YU1FUVdHL0xzb1JSV1FLTkhYY3lzQ01VQ0Fo
eHFKd3hRcTh3dEoKMjFobGVCZ1NvMHpCcktnZmFQNytCWmQ1S01NZVF5eHQ2OWF0WlFJZmJPUGE3
MDJiTnBsNjllcEpEb1gvSldMN2lmVXFUcHozZU11dwoxRVZwZGJQWWxmTTNJVHRNWEsrODhrcHp4
eDEzNUZXRUQ2TkNwc0ozeGNJUUx3amhSbmo1S2xXWVVHSll3TXRjQ01FUWcvY0RiNGhLCmZCRWdJ
UjFTRWhSMWlrNlNQNGUzT1pYd3JDWDBybmZ2M3FLY1VBK0h1akpXZ1VtMVh5bldxd0pTQ3BUMUhJ
cEFUQkdBSHh6WC9jQ0IKQTZ1TjRMUFBQcXUyenVVVldPTXRMU1ZXSVI3Z3Jnc1VpVmlzbGk1ZEdo
cm55MHZFVm94MmZTejBENnNjNDFFcEhnSlVQb2VhbFZCRApKaWQ0SlZHOG9YUE9WbGtsM0pLd1Bz
Z1pvcEw1OCtmTE9HRGRJMmE5M0twYlo4SVZnME9oRlVCWXMyeTE4RXpuaitOMnZQS0Z4c3hWCkhH
clZxaVhoV0RCU0VycUkwWUY4dThjZmYxeU1hK1JtWXNEaUhjNzN6VGZmTElaQ2x6emxtZ1BpNnQy
bC9WSUVIRUFBUmloZS9HRkYKc09oZW5DeVV4RVBEQXRPeVpVdnhLUFRzMmRNQmhOTjNnUWtqazhD
Z2tnRXRKL2tWdkh4UXJPSWllKzIxbDZFUTVOQ2hRK1BTNVZqMQprMHJaaE9SeGo5OTIyMjNTZHhK
VklZbm8zTG16Y1A3UG1UTW43Wmk0cjdDUWtuZEFiSGtVZ21lVmNCT0lGZkMwRW5iSWhPdXNzODRT
CjFqUVVySElYRXMxSkdDNFV1eDJUODltelo1dXhZOGVXQlhTd1FXRkUrdmpqajZVWUl4NGpQS3lF
STduc2lTOFcrSGoyK1VCUUVoZFIKRDBoY3JwVDJVeEdJQUlIMzNudFBMS0gyMUNRUU16bUJheDBH
bzdsejU0cDEzbTUzK1J2TEQ5WWhRa3VZcEpHRTU3cVFTRXBCTVNhVQpDRll1RW5TWExGa2lPUjk0
U0dCSElWUURLN0hyMHJScFU3SFMzWGZmZmE1M05aYjk0MTdCQWt6NGtsLzRmMFZSNWY4VkwxUXE0
ZjQ2CjdiVFRKRmNLSlNBS2dkRUg1YWRUcDA1aTRXVVpSUVRqQWZVczl0eHpUMkhuZzBJMHpyV0lN
bUVMOFFRc1JkVEtnZW11SnZMV1cyOUoKTGhtRUVDaWs1U0FvcGlqTDFNZUFPUTNyUC9kK09uYXdj
aGgzV1kzQmM4bXBLQUtLZ0NJUWlvRG4yazJ1OTJnZEUxNXlhTUo3NmN1NgpHMjY0SWRHNGNlT0V4
OHlVOER3a0NlL2huMnpyOG9MM01rNTRjYlFKenpYdGNqZWxiMTc4ZnNKNzRTUzhpYUg4OWw2NGlV
Y2ZmVFRaCmI4OUtuSmd3WVVMQ283Vk5lSFUxa3RjbTJjREJCUzgwSU9GTkVoSjkrdlJKZUpPSWhC
Y2k1R0F2YTlZbEw5d2g0WG11YW5hUUhQZjIKbU4za1h1RitXYnQyYmJXOVBRK2diT2VlU1NXZTRw
THdLSjBUWHBoT3FpWkZYZTlSZ3lZOCt1eVU1L0FzM2pLR0FRTUdKTHpFNm9USAorcFBvMnJWcndr
dXNUbmllMnBUN0ZXdERzYSt6TjZsT2VMa2I4am45OU5NVFhtaGN3bU0vU25naHBBblBPeG82TEhE
d1FtNEVFeTlICklPRVpXeEplcUdiQ3l3VkllR0Y1b2Z2VWRHV3hjVWpYUDhiS1BjK0hjVVlwVWVJ
UTViaUQ1ODRXQi9XQWVIZXRpaUtnQ0lRajRFOXUKbzhZSENkRllLQ2x1aFNlQnNBNldDUlVLcTlZ
ZGZ0VG8xaEtHQUJVbGlia3UxU3hKaFFnV1VLaVFjYTBqQngxMGtQRW1sOEorUlZnYwpvVm1FcXVB
Vm9mQ2ZaZnhLZFR3WDFwT1BBQ0VBZFFxT1BmWllzOXR1dTVtNDVSTzVnR093RHhUYXRCSVdna0lZ
RmtLWVNwaEE4WW1ICkFXcE9tTzJpRU81MThwMHlDWjRlclBwWXdibm5xV1ZRdjM1OXFYVkJrbTI1
Q09FMGhHSHhITVo3ZGZIRkYwdmhVVHlqUEw4WU8yRnkKL0E4Um9vYjFuN3d3bU9lbzEzVFJSUmVK
WjVUckNYVjMwRE5XRGpqWis1cXhxUGNqWGxkVWMwRGlkYjIwdDRwQVpBallseHpKckNTMQpVUnlQ
RnlLODR5Z2ZyaWMzRWkvODhNTVBTeEhDdUZUZGhqRXFPS0ZpOG9WNFZxY3ExTHNrSE1kRllISmg4
a2o4TmxYcG1WQ3AxQXdCCkZEb3JZZmMzOVNTUU1CWWt5QmtHRFJwa0ZpeFlZR3JYcm0wUDQvejM0
WWNmTGhOeTJJQUk2OE93QUdYNFlZY2RabnIwNkNFVGJyOFIKeGZrQmhYU1FzUkEyeDdqSTZ5R3Ay
QXJML3Q5MnZmMUc4Y0NJY2QxMTE4VXFOOEQyUDV0djNqOVcvTXQyblg2N2k0QXFJTzVlRysyWgpJ
dUFjQWxpcytRUWxEcFozTElWeHJBS2M2cVhxRXB0SjhIN0k5amNXYno0cU5VZkEvejhZeGdSa0RR
UkJLekY1Rk9SOVlDMVBSVFpSCjg5NFY5d2lNblRId0lWOEVMdzVNWGhoTHNQcWpqSGloWFZVVTl1
TDJxTEJIeC9nemZmcDB5WU5CMGFLV0I5NnFNTThoM2krUzlERVEKZVdGYlpmLy81YWYweHZ0VGpz
TC9NOGFhWUUybG1vNFZReUxQMzZnOG5ocUNWZE1ycVBzckFvcEFMQkNJUThoVkxJRFVUanFKQUNG
SQpWaUFuQ0lwbFVvT0p6Qy9RYkJPK1E4MlFjaEF2RjhwNE9TTGlOYUNlQ0tGTFhsNkxUTXJEY0lu
VG1Ka3NjcjFnZ0lMdENZcGxpRUx3CmtCQ1M5djMzM3hzb3hxbmRCQWFWcHR4SE5aRXU5ajNFdGJa
RUpJVThGelc4VW9Wa0Z2SThxWTZsQ2tncVpIUzlJcUFJS0FLS1FNRVIKd0dyckpTbktaS25nQjYv
Z0E1SWZaQzNBV0RhRGdnVVZJZnpOeW93Wk15UXNrVW02M2RkdWkrczN6RWlFaG5ya0dESUp0eUZL
VUZmSAppVFk4Ry95OUpIekovNkJTT3RYTy9WNndiUFl2dHpibGNnK0hYUmYrZi8veGozK0ViY3A3
SGY4YjlybVE5MEZxc0dONStxdHFBSWp1CnFnZ29BdFVSd05KRzdzRUhIM3dnazhldytnQnd6RVB6
ZU1FRkY0UVd6YXQrMU5LdEljL0F6NC91TVFZWmp6bEtrcms5SnEvU2RTVEgKTTVFMGYrMjExeHJx
c1FSbDNicDFRbGQ2eWltbm1DWk5tZ1EzTy9zYmF6dTVPRXgrb1hWV0tRd0NWRHNtR1pzQ2hOQk5Z
L1czOHZubgpud3RaQkxraGZmdjJsZFdRUi9UcjEwOG9USm1zeDFtZ1lFV0o0aE9XNHdLbExWVEVZ
Yyt0T0k5YisxNFZnWEwxZ0RCS0NsT2VlT0tKClp0aXdZZUt4aEF3bW56QmNRakY1citBNVF5bjNt
T2VxZ2xqQ1g2cUFsQkJzUFpVaUVGY0VTT1JFc2RodnYvMms2cXIvUlU0VjFzbVQKSjVzdVhicUlj
a0l5Szc5ZEVpenV4TDZUME0wRGx6b2dGUEhqZzhYVVZjR2lTYngzcTFhdDVPUHZKNVpzT1BDNUxz
dVdMZk52Y25xWgpnbUhVZHRCaWhJVy9UR1BHakpId0d4anF5SCtBeEFBaENabkpDclY3dHQxMld3
bmRJVWVBY0I2Sy9DRXcyYjN3d2d0U3BKTlk4K2JOCm14dkNtVndWSmxEVWYwRHBlUEhGRjZ0MWs5
eXB0bTNibWpQT09FTnFhY1NwWUdlMXdlaUtyQkRJWjBLZTFZRWRhUVFqR3A5Q1NwUmUKUVEzQkt1
U1YxR01wQW1XTUFCYlRidDI2Q1JXdmY1aE03SG5KaytUWnZYdDNhZVBmN3NJeUhnUXNQL1RQUHNC
SlhseThlTEVMM1V2YgpCK0ovOGRpRUNSTkVXSExpSXVRaGtDanMxWkF4bzBlUGprdTNZOU5QaXZT
aFZGTkZHNlcxZi8vK29tQ1FNMER4U2t2Q2dIS0NWK0RxCnE2K1dzYUY0Tkd6WVVLNEpYcEwxNjlm
TGI0cU9oaVcwRndzUThoZDY5KzZkOHZBMmh3TWlEQ2pCc1FiN2xRLytweW1nU0pGQ2t0R2gKcHFh
Z29Tb2ZLU0hWRFJXT0FBYWhxRVE5SUZFaHIrZFZCQnhIZ0RoeXk3ckI1SjFKREJOZXJLaFlUM2Zm
ZlhjWkFRbVBXRXRaVDd0bQp6Wm81TnpLWVlhQ3hSTEMrUXh0TW1BcVRNSmNGN3hJaEpkUmJRYmdt
V0hhdEJ3cUxuMWZ3enB4NTVwbkdLL0JuZUprUUYrNmllQVhTClJEa2wyYmxqeDQ0dWRyRXMra1Fv
RmtvMkNja29GdnlmK3FsMW9hcGR0R2lSZ1hxWE1BNlVXNVRZZmZmZFYyaDRXWWN3d2VlK0kwWWMK
K3RkU0NGNlllKzY1Unp5cDFwcE56aEQwd0R4L2JJMlFZRFgzZ3c4K1dCaWZVRzVkOXRya2lpR2Uy
M1BPT1NmWDNhcTFKeG1mU3ZJcQo4VVlBQlp0M0xlOHorMythYVVROGR6RWk4RzYyMzRSZzhXN2hF
NVl2bHVtWWhkcXVDa2loa05UaktBSmxoZ0NGcTRnUnhaSkl6UWttCk5HUEhqaFdsaEluSnBFbVRU
TjI2ZFNYWnMyZlBua0xqNmMremNCRU9KaTVlNVhEeGZMaXVmSUFmRTBnc3VyYXdIQW9oazBHc3Zs
d2IKbEJPczNsaU5tYXk0cW53d2xuSGp4b2tIaWp3RmxlSWpnTlhmcTM1ZTVVUVVLL1FxMEp2YmI3
OWQvbmZaaUplRC8yMjhtUDVKRGJsRgplRGRwaXlkbC8vMzNyM0tzWXYyQUZwZ2llckQrb0hDc1hM
a3kxQXV6eno3N2lOSUIxU3dKMk9Vb0dIY0tvWUNBRC9TOUo1MTBVam5DClZCRmpRaUhuZndGbHUx
eEVGWkJ5dVpJNkRrV2d3QWdRbzQ4U3dvU1JYQU1TVmVHWFJ3aUJ3SU5BQlc0c3JpUktNMkdZTjIr
ZTVJa1UKdUNzRk9SejVIeVRTejU4L1h5b0xFL3VLdGRSbDVoakMzb0tUQm1vYVdDSFduNGxtdTNi
dDdDb252eUVuSUJIYUZsRjBzcE5sM2ltcwpubmdJQ0VORXVVQlFZUEVJSXNGUVBwUVI4b3lvTnpG
MTZsUlJjS1ZoQ2Y0OC9mVFRoazlRcUllQndzR25WQXBSc0ErbC9BMVpBeDVPCmY3WHZmTTdQTTI3
a3lKR1N4R3c5Uy9rY1IvZUpEZ0hlVmVXa2ZJQ2tLaURSM1U5NlprWEFhUVN3Zmc0Y09GQmN0NFJB
UFBYVVU4bisKRXF1OTlkWmJKMzhURW9SWEJFc3BTZE91Q1pOZkxMOFVKU01obDRjNXliZ3dTVEVX
SmxqKzhialMvL2ZmZjk4Y2ZmVFJVaTBjNWM5dgpvYWFQdU9SaFIzRmRJREVnbENaWXZkMzFmcGRU
Ly9qZmhLWVVZNEVWMk9Hc1dDK2IvYzIzbmZqaU9ZbEtlTGFReDRIU2daR2praWJRCmhMOVIzd1Z2
VDc3ZVRhaGJDYk1qM0FiakM4OUFsWGdod0xWUGx4c1ZyOUg4MUZ0VlFIN0NRcGNVQVVVZ0JBRml4
aWxZNUtjNGZQUE4KTjRYMXlqYUhucGNFWTBJbW1CQUhKOHEyWFJUZmhKQlI0WmtYTWZIdy9nYzV6
RjFEaGd5UmVnSFF3cm9tSk4zU1o1TGx3OExibUZEYQpBbk91OWQzZkh5eXcwTUppZlNkQnVKejUr
djNqZG1XWnZBcllvbEM0eVNHeXd2K3hGUlR5b0d5enpUYXlpaUozcFpZamp6eFN3anJiCnQyOWYw
ZmZMTjk5OEk4UUNoY0QvOHNzdkYrOFhoZ3VWK0NEQS8rYW9VYVBpMCtFc2U2cDNZWlpBYVRORm9C
SVJJR3hqL1BqeEVtcGwKeDA5UzI2T1BQaXBXT2RaaFhWdXhZb1ZwMGFLRklkblJKZVdEL2pHQlla
Sk80bTJiTm0xWVZVV1k2SkNVN3FJUW0wOWlMa3hZZmtHWgpBbk9xMkFhMytkdTV0SXppQjhNU3VR
WWtSS3FVQmdHVUIvSUl5Qkd5SVpUMnpMLzg1Uy90WXVnMXNkZkpyN1FrZHlqaUFsNGFQS25VCjds
Qmx0WEJBdzI0R001aUtJdUFDQXVvQmNlRXFhQjhVQVVjUmdEbnE4TU1QTnp2c3NFT3loeVRDTVNH
eERGa1V3WE81RUI2TVhkQUgKVXhNQjc4emYvdmEzWkZJM2d5S2gyOVpMU0E3U2tRWENZckI4d1hL
Rm9IaVFORXdDUFpQNXRXdlh5a1NONUhwb2JWMWtJUE5EU2ZnYgpTZlhrSXNCcTVQZXErZHZwY21F
UW9OSXhXQk8reEhkUS9NbmJLT2xCQmltczc4aGVlKzBWM0xWb3Yra1RvWjhxUnA1TDVJRlFmMG05
CkZucEhsQnNDcW9DVTJ4WFY4U2dDQlVJQWF4bXNWOUIxRWpiRHBKZWlaYXdqK1R3dVFvZ1ZRakl0
TkxVa2RwTjhTMmdaQ2R4ejVzd1IKcTd5TDQ2R2VBNnhkMDZaTmsrNmhMT0hSSVM4RUlhL0NKaVpp
TFg3ampUZWNUcXBINGJqenpqc2xuQXpGQ28rWlN2RVFHRHg0c0hnMgpZS3dMRTZoM21kamkxU1Rm
Z1B2Tkw0UXZJZ2NjY0lCL2RkR1dlY1lvWGV4UDhGTDV1bW5UcGordDBLVnFDSkJYWnNXL2JOZnB0
N3NJCmFBaVd1OWRHZTZZSVJJb0ErUWNvSEkwYk41WUNaa3grbVNCUWdUaU9Ga3FVRHRpN1lQWmkw
azVpSzk5NERTaG81cUxRWCtMd2JUSXcKdEtxRXB2VHIxMCtTU1FuRElybVkyTzdycjc5ZWtyeGRI
SWUvVDdDcFVSZ1M3OXAzMzMzbjM2VExCVVNBVUJzb20vRTBwV0o2NDFwWQp6MGlRUEFKUEljWUhF
bUM1eDBvaFBGL09PdXVzVXB3cUZ1ZXd0WlppMGRtSU9rbUlxcFU0RUhMWXZ1cTNzbURwUGFBSUtB
SXBFQ0QwCnlsclhhWUpsa3NrNkNkMzVNcktrT0ZWSlZqT3hJUVNJK2htRW16QVc4aEdDdFJKSzBw
a3NUd0x0cUorcGlOM3dRSkViUWxFcG1NcXMKNEFHSml3d1lNTURNbWpYTFVQTUJoaXlWd2lJQXhU
UzFlYVpQbnk0VnpkTWRIVThVT1YzVSswQ3h0ZUdXVktzbkI0UnE2Y0hRckhUSAppMm9iWVloNE9Q
bi9KZytOK2ppRUxzRWdGVmR4MVREaUVwNFFvRmpCSSt3YUNZcnRtMzVYUjBCRHNLcGpvbXNVQVVY
Zy94SHdKNVNUCjl4SG5DdFlrczFMYkpHNnl5eTY3Vk9zeW9XTnhGcEtmQ1lYVEJPUGlYTVZ6enox
WDZ2ZkE4cFpKbUtpVFN3U05Oa1lIYW9TZ3dGQk4KSGZZc2NxaGNGcFFuUEdyUFB2dHNhRGZ4NHVK
dEk5d3NicUk1VXFtdkdQbE5LQjk5Ky9aTk5pSkhqckJPUEhaNGpjdWRzaGtqRlBUNApLTjRmZnZp
aCtlaWpqK1FieW1YZUc5VG80b09uRThOaDdkcTFrMWk1c0tBS2lBdFhRZnVnQ0NnQ2lrQ0ZJYURL
Ui9FdU9IVnRjcGxzCjFLMWIxMUIxbTVvNEw3endnc0h6Um02VTZ4TTRpaFdTSjhGa05KVTg4TUFE
UWcrT2dvS3lwVkllQ0VDQ1lzT3YvRFdjQ0VYbFEySE4KSlV1V2xNZGdBNlBBWU1ELzU5MTMzMjFz
bmxhZ2lZUlArdGVSNndYakkwWUpqQXgrelB6dFNybXNDa2dwMGRaektRSXhSZ0RyRWhNVQpKaWNx
aWtDMkNEQTVoTTdaMXBUSWRqOXRsejhDUWJyZGJJOUUrSlVsT01oMm4wSzJlL3p4eDRWMGdYQXdD
aENtRTBKdG1FZ1Jaa1Y5Ckdlck0xS3BWU3dxTWtsUlBCWEZDY3NodFliS0dKNGVjbG5JU0p1QjRB
U0FRWUVKSnFCelhzQklZc3lndVcybEM2REIwNXZQbXpjdDUKNlB4UDROWGtBem5GekprekpjY3o1
d01WY0FkVlFBb0lwaDVLRVNobkJNajd3TEpFbUFaaERYRUpEN2psbGx2TW1qVnJ6S0JCZzZxeAov
QkMrZ2ZXM2xEU2o1WHlQaEkyTjBMMkxMNzdZSEhIRUVVSUhHOVpHMXlrQ0lMRC8vdnNMSXhmZmQ5
MTFsMm5kdW5WS1lNajVJRWZ0Ci92dnZENjA5UkFnS0g0N1ZwMDhmODRjLy9FSENVd2hKaWFzdzZZ
WVJqN3BGS0I3VUFBb3lQK0ZacEhvNnlobEtWNmtZek9LS2FWejYKalJFSER3WWVTb1R3YU81LzZt
OFJib2FCaHcrS0tDR3VrRWhBbzIwLzVFYWhqSFBQWUVqRWMwaHhVa0l2SXhQdjVsVlJCQlFCUlNB
cgpCRHlyWThLck41SHdIbmdKTDJFMXEzMWNhTlNxVmF2RUlZY2NrdXlLRnlPYjhHaUdFNTVYSitI
RnhpYThaTjNrTmxjV1BJYW9oUGZDCmNLVTdOZXFIeDhTVThGNlVOVHBHbkhiMml2NGxQQXQ4bkxy
c1RGODlTMjNDeTlsSWVKT29oSmNnbi9EaTNFUDdObVhLbElUbktRbmQKRnJieW1tdXVTVHo0NElO
aG0vSmVWNnJyN0RINEpjNDc3N3lFbC9zRjUyeE9INC9GTU9HRnF1VTl4bXgyTEJVTzJmUWx5amJG
eE9IQwpDeStVNis1NUtCTmVhRm1DZDFnKzRoVU9Ub3daTXliaE1lTWxQQUtRaE1kcW1jOWgwdTZU
TFE1S3d4dVo2cWNuVmdUaWd3RHVXMktwClNmQ0R6aGJHSlVJY29PcU5neERPc2ZmZWV5ZTdDdk1T
RkxiVUNJR3E5TEhISGt0dWMyVUJqeFAxVjF6c1c2NFlFUzdqWnh1RHhRczYKWkpLRDE2MWJsK3Zo
dEgwWkkwRGVDZXhQV0d2eFhoNXp6REdoY2U1WStUZHMySkExRXJURjJ4azNvUjVUOCtiTnpZMDMz
aWpzZDdiLwpXTHZ4OEJCdVIvMFdLSHNKUVFzeUZFTDJnT1ZjYSs1WTVPTDN6WHVXVTBwc3JnQUFJ
QUJKUkVGVWtLbkxMcnZNUFBMSUk1SlFuaTk3CklMVDZGTE9sb0RBRmVMbXZvaElOd1lvS2VUMnZJ
aEFqQktEa3BGNEFvVmR4RkNiQXhJcjdoVmhhV0wxZ0VKay9mNzUva3pQTEJ4MTAKa0ZRNFp4SVdK
ckNlRUViR3RYR05HZXZWVjE4VkNsU0tJeEtEVCtWMmhNVGg1Y3VYQytVckwxR1NSVmV0V3VWOHdu
TVkvcnF1ZUFpMApiTmxTd2syNmRlc214ZmhtejU1ZEpUK0YwSk5UVHoxVkp0M2tnS1RLTVdMeWhy
TEwvempmY1JMWXlOcTBhU05oTkh3elhrS3FVRGo4CkZOekJNUkZpOCthYmJ3cCtoS2dSOXo5eTVF
aGhSRHI3N0xPRHpmVzM0d2dRY3VkNThBdXFSSElmOGY5QWVDTFU3bEdJS2lCUm9LN24KVkFSaWhn
Q3NHOVFJaUt0QVMxaXZYcjFxM2ZkY3hhSHg0OVVhUnJTQ0FuSkJpNmEvS3pBZE1WRWoxcHQ0M25T
VEV2OStwVmlHSHRKUwp1K0o5SW1jSWp3NENiYW9WRW1hWmFJVmRIOXRHdnlzVGdlMjMzMTQ4cjlU
dmFkZXVuWGdzS2JySnZjUzJLNis4VWloWEtZeUtnUUZQCjU3YmJiaXQ1RVNUc2tqUGhoWnhJelJ6
cXpzUXRPUnM2V1JRckwzUXNwMXdPRXRINTRIVTgvL3p6eFd2dGhYQ0pCUjBXSlBLeVZPS0QKQUZF
SHh4OS9mTUU3N0lVbVN5U0RGMDhWaVFGSUZaQ0NYMUk5b0NKUWZnaVF3Qlpub2VCZFdGVmhKakV1
Q3hPdHNINzcrd3kxS0FtMgpGSXFjTUdHQ2YxT2t5MWpXQ05ValRBUWxDZGMvckQxTWlQeUNwWmJK
a29vaUVJWUFJVmtRU0VCK2dVSzdkT2xTU1ZBbm1SeHlBNno5CktDaXBHSzVRNHJIKzQwbUpreEQy
eXBqKzhwZS8xRGgwckVHREJxTElvWkFRMnRhMmJkczRRU0Y5eFd1S053ZmpSVDRVc3ZmZGQ1K0UK
SE9GSmlKdDQrWUJGSVVvaFdSMEZsd2dCbGtzdHFvQ1VHbkU5bnlJUU13UjQrUEV5dE1Ja2tyQWx2
Q0pROGtMYkdjWER5L1lubTIvRwp3RVE0YnNLTGRxdXR0a3AybThsRHc0WU5KWlFpdWRKYk9QUE1N
K1ZhRU9mdGtoZUVTZUtrU1pQTXBrMmJKTnd0cUh6ZythQy8vakg2Cng2WExpb0JGZ0lrakUvSWVQ
WHBJU05hZGQ5NHBzZkJlUXEyaDhDSzFUOGgzUUtGRlVNeFJlaWxVUjgySXVBblBXQmk4NmhZb2J3
VkYKRE84SDF2UTRDbDRiajBoQXdqbkpIU01IS0Z1QnB2aXNzODZTaWZidzRjT045YUpsdTMvVTdY
alBrdnR4K3VtbkY3UXIvSy93Ym96cQovYTBLU0VFdnB4NU1FU2cvQkhoSUViL1BnMnJpeEltaWVK
eHh4aGxDNDBlY1A5WnRrdU9nOVhOVnFFV1JxYTZBaTMwbjFwdjhDUVRGCmo0UjB2QjFCd1lNQS9T
WVRNSmNzZkhqTzRLd25majJvZkRBR0psbU1VVVVSeUFZQm5rT0xGaTBTcFJidkdpRktoR0V4UVJz
M2JsdzIKaDRoTkc2elNWTG91cEJCcTgrOS8vN3VRaHl6WnNWQ2dFUExlcUJlVGl3SUM5U3cwdGdn
MVpycDI3Vm9VajRLY29BaC95SlBEaS9mYQphNjlWSVZPcHlha3dLdkkrNTloUmlTb2dVU0d2NTFV
RVlvTEE2NisvYnZoZ1RZU2RadUhDaGNsNFVYSVFZSmNoL01kbEJZU1hWOXppCnY3azl3TnlqU1pR
N2hmQXFpcTM1aFcwb0tILys4NTlGUVhUSis4RUxqb1RYU3k2NVJQb1hOdkVoUWIxT25UcitJZW15
SXBBUkFSUVAKREIrUUx5eGJ0a3dxUXBmYmZZUmlUdkk0OVJ6eUNUa0tnc2dFbkVUK3FCS09nLzNK
OWJkVlFOaVBjTHFqampvcTYwTzgrT0tMU2JZbgp2TWo1RnVyTStvUUZidGlzV1ROUnVDQmVnQm11
cHJVN3Z2enlTL0dhNDFYaEU1VW9EVzlVeU90NUZZR1lJTUNMbnNrakUyQkNIWWpKCjlnc1BzN0RK
cGI5TjFNdXBHSEpzdjF6TmNTRUhoQkEzUXF1d1ZnV3JWSk1mQXFVaVJkazJidHdvQ29zZFU5VGZG
SzJFcXBsNGM1UVIKSmxKQndjcExRUzIvNE1WUlVRUkFBSXBtQ2hKNnRZZk0rUEhqeGZoaC8xZWhw
aVVraTlES3BrMmJTbzVET2FGR1dDS2V3L2J0MnhzVQo5WnJJVzIrOUpVbjhQS3VEejVDYUhMZVUr
K0xodGNKek1WK0pLdHdvMy83YS9XQ3M0ajFMR0JiUC9aNDllOHIvQnM5OVBQeXBCTXJ6ClR6NzV4
S3hldmRvUXJvZ0huZEJZRkE5Q2Q3bkhvcEtmcm1oVVBkRHpLZ0tLZ05NSVlGbmtJUmYyME9mRnhv
Tng2TkNoVG8rQnpoSE8KRUJ5RFY0aFErTlc5WW9UTzloOEZBeVVRem5iL1M5amZZWlRDdWdXS0Zm
Y2Z0eWJMaEx6eGdpTkJtQmNrazUrZ2xSb3Jab2NPSGFUTwpBYXhGNUlSZzNWYXBiQVFJc2VHK2Yv
YlpaNnNCd2IyTzU0UFFLNUtyQ2ZIemloS2FUcDA2bVFzdXVFQkNzWUpLYmJXRHhHUUZZV1ZZCnY4
a0Y0ZjhFQ3ppS0Y5NFJ2Q0poNHlUTWlqQWxsQmFVZWVvM3dVaUhFZUNlZSs2SkxONi9wcEQ3bjMz
QjUzaE5qeDJIL2JrUHVIN2sKc3J6Ly92dFN2NG9hVmxaZ2Y0TXhrVndaL2tkc0pYU01QR0ZDQ0NN
c2tKRksybktHdWxFUlVBUVVnUkFFdkpkWmd1clcza014cDJyRQpJWWNxeVNvdmZqYmhNZWtrdkdS
RXFTRHJUV3dTZ3djUFRuZ2hUUWt2UWJva2ZhakpTVDc3N0xOWTRCdzJSaTg4TE9HOUVCUFBQUE5N
CjJPYUVsOWVTOEVMN0V0NUVLZUVwS3FGdDRyWXkyMHJBY1J0WEtmcTdlUEhpaEJjdUtWV2Z2Y2xS
eW0rdjZGN2lndzgrU0hiSjg1WWsKdk5DYWhEZEpUM2dHaytUNllpNlU0anA3QlZNVEhsdGZLQTdl
WkRQaDVYOGxQTVUrNFNuOFV0azZERHZhZWFFN1JZT2lGRGp3bkxiMwpnOGVJbGROWVhuamhoZVMr
eGFqOGJUdFRDaHc4STAzQ28xUk9iTGZkZHNreFdWeXkrZmFNV1FtUHdNRjJ1U2pmMmVLZ0hoRHZp
cWtvCkFvcEFkZ2c4L1BERGtqaE03Z0hNTXNRb1kzbHhYVWlTeDdMZXBFa1RDUXZDRWs4Y01ma3N0
a0NleTJQQW00RGxLNDVDOFRUYy9QNUsKOVA1eEVCSVMxN0FRL3poMHVlWUk0QVhEYTRhbG4wUmhx
SGNoV09BWmd3WC9tMisrTVNRVVU4eVNtaktRWVVETGkyQWhKbVRybkhQTwprWm9aYkQvbGxGTnEz
cW1JajBDU01DR1dNRDloOGZhSDI3RHMveDNzS3A0Qy92ZndRcWI2L3d2dTQrcHZyUHBXS3RFRFlz
ZE8rTlgwCjZkUE41TW1UelpJbFN5UU1pMW8zZUwzNC8vQUxYcU9kZDk1WlBNL1VFZUYveTZWNlM2
cUErSytXTGlzQ2lrQmFCSTQ5OWxpaHZremIKeU1HTnZMQ281czZIbUZqWHFvWTdDRmxCdTRUaXFx
SUlaRUpnelpvMVFyUUFxWUkvNU1idUI4a0M4ZXNvRytTalFjcEFwWE5yUkNBcwo2ZTY3NzVhRVl5
WmJ2WHIxTXRkZWUyM3NDKy9COHNXa0U3SVA2bG1RU0UxOUVNOHphcUZKZmxQYmlDUnJpcE9TTHhC
SCt2SGtZSHdMCmZnV0VaYzkwNzl0YWVZdmtzcHgwMGtueXNhT0hxUkpGaE1LN1hIZlBTK2cwK1lv
cUlQYks2YmNpb0Foa1JNRC9Fc2pZMk5FR3FudzQKZW1HMFd4V1BBR3hGS0E1aHlrY1FuQzIyMk1L
Y2NNSUp4Z3V2TVVjZWVXU1Z6VlQ5cHVnZWszQThDTVRPeDQzNXFNcUEvdjhIazByRwp4Z2NoaDQx
Q2pPUlhvWHloblBuWm92NS90N0w0OGlzY2VMTnpZZnlqRUcwbENQOFQxTCtKaTZnQ0VwY3JwZjFV
QkVxTUFPRVFOcndLCk56L0piVUhocGNBRTRLR0hIcEp3Sm9xRVhYamhoY0ZtK3JzQUNPQzU0ZVBG
L2hiZ2FIb0lSY0E5QkFnUGdkZ2lXeUhSbWxDdE1DRngKbTVBc0p1c0hIbmlnSk55U3ZGNU9RdEl4
M2hFKzVTNyttaWlFMSsyenp6NVpEeG5GRnFhMGNoTGV2WEUzQ0NvTmJ6bmRrVG9XUmFDQQpDT0Mr
aDRYbGpqdnVNQWNkZEpDWk5tMmE0VUZPSERLMUhjaWhnRWtERml4b2JsbDN4QkZIT08wYUp4UW9M
R2I2MFVjZmxTSlBCWVN2CjRJZkNjd01kS1JYbzR5YlE4Zm9GWmhaQ1pTckZNdWtmdXk2blJvQWlt
bENGVWl3T1pUdVZFT3RPdTB3RjZiQ1NVL3VDSEFpTUl5Z2sKY1pjRkN4WklIa3pjeDVGci8vMEtT
Q1huZ0lBYk5WMVExcWxzZi8vOTkwdUY5MXp4ZEtHOUtpQXVYQVh0Z3lMZ0lBSndqaE5yYlpPZgpD
WFA0L1BQUHBRQVVMMy9vSUhtNTMzampqV0poaEpjY2VrQ1hyVEw3N2JlZldFeXA0STRRdnNEa2hI
QU5GQ2lVTEplRmVpQW9oQlFvCkpMWTlMa0lOQnhJbXdaZkVZV0x6cjdubUdrTmlwSW9pWUJHQUhP
TGlpeTgyM2J0M0YwOGY5Tk1VT09VWlJHZ1dOVEY0N3BEbmNPbWwKbDBwRmRMdHZ1bS91TjZqRThZ
VEVXZDU4ODAwRHFRTUZZS25uUUkyVVNoRi9yYWt3K3VGS3dZRnhRajF0aTlDU0IwS3RwVGlLaG1E
Rgo4YXBwbnhXQkVpQVFyQnpPYnlicXJWcTFNZzgrK0tEVXBZQjMzNlAwRXg1K1BDUEVaTHNzdkxn
SERod283bmpZY3FnZlFBSXJ5YXdlCi9XZjB2T2hwd0lNSkI5eUo5eWJXbS82aTlNVWhKSXZRRitL
MnFmdUJ3b2NsR3E4VHljWXFpb0FmZ2NzdnYxenVjVHlySzFldTlHOUsKTHBQbmdES09selpib1k1
TzNJWFFJMEp2K0pEelVVa2VSUEpkckpScm5vc2RYNmJ2R1RObVNCUHVBWXB4MXE5ZlA5TXVvZHZ4
cEVTSgpwU29nb1pkRlZ5b0Npa0NZSjRNOEVDeVJ1TU94UmhJbXdRT3dYYnQyaHZBbXdvUmNMdXJI
NUoySkRRdzZQSHdwMXNRa25zbjlqei8rCktDd3pMbDU1WGpqRU1PT2xpV1A0d1FFSEhDQ3NQV0Q3
K3V1dkc2OG1pMUNwTm16WTBFVzR0VThSSW9DaFkrclVxZWFpaXk0U0F3SGUKU2l6L0pLYVRTSTRY
RTJVV0d2QktFandBaEtZaEdJR2dFQTk3Um1mQ2hHZTJWOE5KUW1nenRYVnBPOHhPVnBoNFY2cnd2
d0FER2pKaAp3b1M4bFkvNTgrZWJ2bjM3bWpsejVsUWpjU2dWdHFxQWxBcHBQWThpVUFZSWVBV0dK
UHlCM0EvWVpjZ05JUW1kU1FNVFpDZ0FYUmJvCks2R3pEQ2JVNHdseFdWYXZYaTFoU3k3M01adStR
UnVLd3JkbzBTS2p5a2MyaUZWdUcrNFBhTE5WL29jQS96T2ZmUEtKVkx1ZU9YTm0KWHNvSGhxUE9u
VHRMM2dDNUF5ZzB1YkJKUlhrdHJMY0hJMWRjK2x3TXZNYU9IU3VIeFp1TU1UQXNwekhUZVhtZmtE
K0NFZTZZWTQ2UgpjRjZVK2xLTEtpQ2xSbHpQcHdqRUNBR3ZTclh4cW9jYkdMRjRlUkZ5aFdDaFJB
a2hEdG5LckZtempGZTFWK0sxczZIUnRQdVY4cHVhCkFVSGxvNVRuei9kY0d6WnN5SGRYWi9hRG94
N2lBcFRZUm8wYU9kTXY3WWdpNERvQ2tEYmcvVVR3QUpFRGtJOUFZSUhpZ1pETURvc1kKRElaeFlO
R3lOVThvU0luSFBSZkIwMTBPUXVncVN1TldXMjBsb1ZQa0E0VUo3MkhlMlZEeTdyWFhYbUZOSkJ6
V2JvRE1vWFhyMWlWbgpDbE1GeEY0Qi9WWUVGSUZxQ0dBZDRVUENNRmFUVmF0V2llV05zQ3RlWHBz
MmJVcnVRNHd1TDhlMzMzN2JXZXQyZ3dZTnhPV001U2d1CmdwV0s4REMvWUFsbE1zSEVBY3hkRjhK
SDhIeVFkME1leXhOUFBDSGhieWkzSk5SRGxSck1PWEo5VE5vL1JhQlVDR0R3NFhtTHdXZjQKOE9F
cFQwdlkybXV2dlNaR29EQjZZcEx3Q1QvMVMxeThDVHdyRUpLdUllTElSVjU2NlNYVG9rV0xYSFp4
c2kwRURRamp4d0NZU29oTwo0RjNOZTI3a3lKR3Bta1crWGhXUXlDK0Jka0FSY0JNQkVoMzl3a01O
eXpWaFREdnZ2SE1WQmlQb2VlSHY1MkhuY280Q2J1dmV2WHRMClg2RXh4SDNOQkIrbW5kMTMzOTAv
WEdlV3daVkVlVHhRSlB3VGlrRU0rT0dISHk2NUswdzZZQ1dETWNoRlFmbGdNa1R1QjU0YzZzVFkK
U1EvM1dLZE9uY1JhTjJMRUNCZTdyMzFTQkNKRmdMeTFVYU5HR1JqQ29LN2VjY2NkVS9iSDFtMGlL
Zm5vbzQ5TzJTNk9HOTU5OTEzcApOa1FvdVhxeHFSb2VkOEhydFd6Wk1qTnMyTEMweWtlY3hxa0tT
Snl1bHZaVkVTZ2hBa0VGQk5jM3dnU1lJbEI0UWFqL2dmVHIxMDl5ClFvalR0UzlCMmVEUW41ZGZm
bGxlNExpYWlhUGxnYjczM250TFhEV2haU1JLWDNiWlpRNzErSDlkSVFuM2d3OCtFRXBrRkNVU1NP
MEwKRmFzZUU1UUJBd2FZTld2V09OZDNPZ1JURVY0UHJIWW9HMzRoaVJhS1ZTeDdxb0Q0a2RGbFJl
Qi9DR0RVd2J2OHlDT1BwRlUreWgydgo5ZXZYeXhCUlFHb2l3ZmRhVFk1VnFuMHhrZzBaTWtUQ3Bx
Njg4c3BTbmJibzUxRUZwT2dRNndrVWdYZ2lZQlVPMjNzZTNEd0lVVHlnClVHVUNELy80TGJmY0lo
WjZhSGhkNG1lSEp4MnZCa1hML3ZTblA1a3R0dGhDQ3ZuaG9mbjAwMCtGeG5QdTNMbml6WUVKQklw
ZWt1cGQKNDFRbnVaLzZLdFQ5Q0laUGNHM3dqQkR2NjdJUWNvVUhMVXdJcllqanBDQnNMTHBPRVNn
a0FqeHJZZTBqR2I4Y1Fvanl4UVlGalB3SApjaC9LcmFKNU5wamc5ZUM5eGZ1cUVCRUdoUFJpa0l1
NkxzN1BzaG04dGxFRUZJSEtRNERRR1pMUXNWd3p3VVVoWVNKUERMS2wyOFVpClQzd3lGbTZYbEEr
dUZrd3h2TGp4MWtEaFNERXkrL0JtUEhaTTBCRmloU2RSRVVZdjE0UWt3ZzgvL0RCVStTQXhFNHBl
bDNOYXFQV0IKOGdGOUpEVkFPbmJzS1BjUXlpejNGSXJzc2NjZTZ4cnMyaDlGSUZJRStQK0FxWWpu
TFRsUzVOYlZWTWdiSXhmTFgxT2pwc2NzeGY2OApYeUN4NERtZGEvaFZzSDl4TTNaZ3ZJRjJkL255
NWVJQjY5T25qeUZwUEYvQllNVjloU2VKSXNKUmlucEFva1JmejYwSU9Jd0FCZTQ2CmRPZ2dEeXE4
QjNnVXNKeFF2UnBXRml6eUpBN3pRaUJKSGV1OFM5U3ExQ2toM0lyOENDZ0dVVWhRb0xDNE02R0h0
WXNRSUlvbk1pbEcKQWNIQzVxS0U4ZDZUWkVqK0IxV2pjYys3TGhSTzVCNmhFQ1NGQ1FsNysrcXJy
OFFiQlNPUGlpS2dDUHlFQUdHVkdFMXM0akY1VkR5VAplZFlTT3BxckVNcEpqU1pDTmpHME1Lbkg2
eHNId2ZLUG5ILysrVFh1YnB3VUVQTC9KaytlYko1NjZxbGthRE9oYU5PbVRSTW1zRlNGCmYvSHdJ
eWljZU5EOHdyRnNBVmp3aE55QWVpSlJpQ29nVWFDdTUxUUVZb0NBZjFKSVhzZXp6ejVySms2Y0tB
VUhDYmNpdG4vY3VISGkKWFJnOGVMRFpmLy85NVNISnkrTElJNCtNZklUTm16YzNuMy8rdWZEbTB4
a3NmM3hRTlB3VGVwdFA0VjhYZWVkVGRJQ0NpVmpEOENhZwpQT0U5Y0RWNVBqZ0VySmZrZWFERUVo
Ykh5L1dNTTg2UXZKd29xL0VHKzZtL0ZZR29FYmorK3VzTno2OGVQWG9rdTRMWEdjcGNLRlpUCmhj
NmdaQ0I0clVsWTlndUdGLzdQZHQxMVY0UG5sUDg5Q0VWY1o1L2pXYkZreVJMVHBrMGJzKysrKy9x
SGxOZHluQlFRS0pNaEh2ak4KYjM2VEhLdWx1TWQ3dlAzMjJ5ZlgreGRzRy9ZTHRvRzYxMC9maXdH
UlkwVnhINmdDNHI5cXVxd0lLQUxWRUdBU1Q3STVWbXRxT01BdAp6a1BSVnVHRjBZamlmbmdhbUND
N29IellRZmdmM0haZEhCUU4yOWZnTjVNSFdLUmNDM2NMOWpQc04weGVUS3lZQU5oN0o2eWRybE1F
CktoMEJxTStEWGc3N1A0TWlqMVU4VEN6OUttMWNwbDhONjN1cWRYZmRkWmVFem1MMUw0UXcyWTZM
NEFWTEpieUgvWXFFdjUzMWFCQisKbktxTnYzMVV5NnFBUklXOG5sY1JpQWtDMEQ1YTZzZXdKR2c3
RE1JRHlvMzYwWTdObGUrZGR0ckpsYTdrM1E4N2tjcjdBTHFqSWxEbQpDQVNWanpJZmJzcmg0YW1C
bVJEakZqV2MwZ21LQldGbEdNUXdQT0V4d3JxUDE0ZndZU3R4OG9EWVBwZnJ0eW9nNVhwbGRWeUtn
Q0pRClZnZ1FYb0hWSzQ3ZWo3SzZFRG9ZUlVBUktBa0M1TGpoMWVFN2syRFlRUGtncDRFOENVTFFL
RURvVnpnZ0lkbGxsMTB5SFVxM2x3Z0IKWmNFcUVkQjZHa1dnWEJDQW5ZVThENG9QeGtrb2drZE1k
ZHo2YlRFR2R3cEFFcmNkVnlIdmcxaHVrbUZoV1ZOUkJCUUJSU0FNQWZJZgpJRHVCcFRDYi9BUVVF
Q3JGd3hnRyt5R0o5akJIMlZwVmZCUEdaWXVnaHAxVDE1VVdBVlZBU291M25rMFJpQjBDSkovN0Ja
YzJGZEd4ClRERXBqb3ZBMEVYK0I4d2hmcXRZWFBwUG9VUXF0OXR3dUxqMDI5L1BQZmJZUTVpd1B2
cm9JMk1USmVONExmeGowbVZGSUk0SVFBYmgKc3FCQTNIUFBQVFh5K1BLT0l1OXM0Y0tGWnRPbVRl
YWNjODV4ZWNnbDd4djVuZVBIajVkYVVpVS91WGRDVlVDaVFGM1BxUWpFQ0FHUwpoNE1KalRCSndh
NFJOL2FpcFV1WENoTldIUElROEJEdzByUkNVVEp5YkdEQWdzT2RlR2ZYaGZvclFRVzJWcTFhaHRv
bXNIa1IzNDFYCkI3cFJGVVZBRVNnTkFuaXcrUjljczJaTmFVNll4MW1nVExkR2lqeDJUKzVDUXY3
Sko1K3NubzhrSXY5YitQYmJiNlgrMHRDaFE4VXIKRFNWNnFVVnpRRXFOdUo1UEVZZ1pBbGl0bWZ6
eXdPSWhSV0VrSnIvRTB1TFNQdUtJSTB5VEprMmNIeFhLeC9mZmZ5OVVzTTUzMXVzZwpMMThtQ0RE
ZW9PaFJmQXFGaEdYcW1oREdSTHd6WVFxRm9LY3NCaWFFTzNEZlVQTURPazN3eC9zQkpTaVRJS2li
Nzd2dlBxRWNMY2I1CjlaaUtRTndRK09TVFR5UjVHdXJ6WWhoS0huMzBVZE90V3pkNWJyUnExVXFZ
RGZtdDRoWUMxSHQ1NVpWWHhPTU53WXNOUTN2MzNYZWwKbzlUNHVQcnFxME03VFowcmhCQzBWRzJv
eThSN0hTR3M5K0NERHpiY0cvWHExWk4xcGZpakNrZ3BVTlp6S0FJeFJ3QTZ2ODZkTzV1MgpiZHVh
azA0NlNRb1hRY1ZidDI1ZDhZNHdDWjQwYVZMeUllbmljSys2NmlweHg5dTZIeTcyTWRnbkNpU2lh
RHp6ekRPaWdMei8vdnRWCkppVllNYUUrcGpqa0gvLzRSeWxLR0R4RzFMK0p5K1pqaGNSUTZoUlF5
RkpGRVZBRXFpSUE0eE0xbU1oWndGdG92UUJmZi8yMUdCcFcKcjE2ZGttM1ExZ0c1L2ZiYnE5VUJz
V2ZCaU1Send3ci9oL3Z0dDU4aHhGUEZIUVIrLy92Znkvc1ZSaS9lV1ZZWlBlaWdnekoyMHVhNQpV
R2d5VmZ1dzlVUTdsRkpVQVNrbDJub3VSU0NHQ0dCcElWem0yR09QbFJvVVZGR3RVNmVPYWR5NHNZ
em11dXV1TTZlY2Nvb29KWU1HCkRYSnloRXpnb1dVa0FUcHVRaFY2SnUxUUlOdVhrQjNEN05tenhj
ckZDd3F2Q0NGYXYvdmQ3K3htSjc3eDJoQnZYcjkrZmVtUFpmRWkKeEd6bHlwV1NaTnFuVDU4cWt5
SW5PcTZkVUFRaVFJQUVhajc1aUswRGdrY2pHRGFiei9GMG4rZ1FhTkdpaGVHVGo5akVlNTY1TGxQ
agpxd0tTejlYVmZSU0JDa0dBaWUrb1VhUE1va1dMRE5aNFhtcFhYbmxsdFJja1ZYVlJQbHhWUU1h
T0hTdFYzT040MlFoaHdxSzVhdFdxCkt0MG5TWk1jaXh0dnZGSFc0NFd5ay9zcURTUCtnVUxFZllQ
M1pxdXR0cEp2eGtJVmQ4TDc4STRFcS9WRzNHVTl2U0tnQ0NnQ2lrQ1IKRVZBRnBNZ0E2K0VWZ1Rn
ak1HWEtGTk83ZDI5REFienZ2dnRPd3F4dzFSTTc3SmZkZHR0TmlqMFI0NCtud1NWNSt1bW5aYUlM
cmVNWApYM3doU2R4VWRBK3JpUDdRUXcrWmR1M2F1ZFI5VVFEeE1GRlV5eTh2di95eWdkbkxpb3ZL
aCswYlNpeU1LMTkrK2FVaGhwbVk1cGt6Clo5ck4rcTBJS0FLS2dDSlFZUWlvQWxKaEYxeUhxd2pr
Z2dESmFSTW5UcFJkeURIQSswSGljMUFJMHlJUjNUWGxBNHJYRVNOR1NKTHoKMldlZkxVd281QjhN
SHo3Y1RKMDZ0Y293aUovKzYxLy9XbVZkMUQ4ZWUrd3hjOHN0dDVpTkd6ZFc2d29Lb1UwMnJMYlJ3
UlhRQjFzSwpZZWlFVlJRQlJVQVJ5SVFBaWRJdzZmSEJnRVQrQ3VHL3ZJK0NScG13WTFFRm5SQmlE
RkZJNjlhdERma1Z1KysrdS93dXh6OXhvVFpYCkd0NXl2UHQwVElwQWdSQTQ1cGhqeEdvTk13dmVB
YXpzS0J0KytjOS8vbU5JU0NjNTNUVzU5ZFpiaFRucWlpdXVTTkl3d3RyMTFGTlAKVmVrcTlVeWdJ
M1J0REhEWWQrL2VYVHdHdHNPZmZ2cXBoTVRCa0dLVFR1MDJsNzlKZm9WbGhRUmJ2Q0N1S1hzdVk2
ZDlVd1N5UVlCbgpNUktYQ1dpNk1XRmdPZTIwMHlTSGdmY09SaU5DZk1tRGcxVVBZcFFsUzVha080
VGh1VThlQkVWbysvWHJKOTdreno3N1REemliQ3RYCklSd1hjYjNZcTNwQXl2VU8xSEVwQWdWQVlN
Q0FBUktqejRPTVBBUmkrTys5OTE1SlNMZUhwNWJEejMvK2MwTmJsNFJ3SDVTS0NSTW0KSkt2aDBq
OFM2SmtBczUzY0EraGg0WXJIb21iWlExd1pCL1V4U0N4RkNHOGJQSGl3MEIrVFY0RTFrUHdQSnZX
alI0OFdoakpYK3Uzdgp4d2NmZkNEWEFOcG1jajZZSEwzMjJtdkN2RVBvSHRlSTRwQXFpb0FpVURN
RXJHZlI5U0tEbVViSk13Tm12L1hyMTR2bjQ4QURENVJkClVDWmF0bXhwR2pSb0lFVUZxZStCWndR
V3I2Q01HemRPY3M5NFpzSXNaZ1VsQmtWdDJMQmg0a0hoK1ZOdXdyc0NjYjFRc0hwQXl1M08KMC9F
b0FnVkVZTTg5OXpUVHAwOFhQbkxjMXMyYU5VdnlpbE9Na01xeVdPU1pCSmVhd2kvVE1GZXNXQ0V2
bU5OUFA3MUtVMmd0eVdOaApQVW9UdFNoSWhPN2F0V3VWZGk3OHdDTmp3NVplZlBGRnNRaGVjc2ts
d3VNUDNvU1ZuWC8rK2FJOHZmWFdXeTUwdVZvZllFMkRBbm5JCmtDSENsc1o0dUkvZWVlY2RLUW9K
N3NGd3VHb0gwUldLZ0NLUUVRRTc4YlRmR1hkd3RBSEtBUjVlbnN0VytmQjNsYnhFakJjb1dqd0QK
ZzBLdEtvNUI3aUpodzBHNStPS0xwUUFxYldoYmJ2S1BmL3hEaHVUNmZhQWVrSEs3ODNROGlrQ0JF
U0FNS3loTUtwbnc5dTNiMTlraQpoTHk4OEJDRTFmMGdaR3pHakJrR2l5RmphZDY4ZVhDSXp2MCs1
SkJENUtVNmYvNThDYjJpSWpwTVVyeWdzUWppRWNIRDRKcGd5VHp2CnZQTWs2WjhpaEJSVWhENFlS
YkJuejU3aTRhRmdsb29pb0FqVURBSENsaERYSjU3cFJrbUlGTTluSkYyQlZVS3dZTlpidDI2ZHdS
am0KSnhYQlc0L3c3Z3A3L3JQdXlDT1BsR0tvdEQzcXFLT2tmYm44c1FxSTY2RjRxb0NVeXgybjQx
QUVTb2hBcDA2ZFNuaTIvRTVGT05XSgpKNTRZdWpOaFdEQXp4VTJvYWt0Qk1uSnlVRFlzOHhXSmxh
NUtvMGFOekt4WnM2VDZPVW56c0YvNUp3dHM1Nk9pQ0NnQ05VTUFRd1NKCjJYZ1k0eXA0ZXYvNzMv
OUs5OU41MVhtR0kweXlvWXMvL1BERDVUZVQ3NFVMRjhveTN1MVVRdVh2dVhQblNsdjJvZUJmdVFo
R0t0NFQKaHg1NnFOTkRVZ1hFNmN1am5WTUVGQUZGb0NvQ3ZKVFR2WmlydG5ibkZ6a2dmRlFVQVVX
Z09BakE5aFIzb2ZDcWxYUXNWNUJhV0NFMwowUXAwNjlSSFF1clZxMmRYVi91MkJWdHB5ejZkTzNl
dTFpYXVLNnd5NW5yL1ZRRngvUXBwL3hRQlJVQVJVQVFVQVVWQUVhZ0FCQWcxCnZmUE9POFhMMjZO
SGo5QVI0L1VnK1J6QkM3ejMzbnNuMjluMXJOaDExMTJUNjRNTC9tM3NVMDRLU0hDc3J2NVdCY1RW
SzZQOVVnUVUKZ1JvakFCMGhqQ2ViYjc1NWpZOFY1UUZnTTVrMmJacFk5RWhNLzluUGxEOGt5dXVo
NTFZRUZJSGlJTUN6clV1WExta1BUbjBrOGorUQpObTNhVk1ueklJZkVDaXlIcVdUbm5YZE9idkx2
azF5cEMwVkhRTjlpUllkWVQ2QUlsQ2NDeE9sU2g0SkNlU1FUVXlmRU5lRmxCbFdqCjYzem9tWEJE
Z1VMeG9DSjZPWVJaMlBGU1lKSDhFS2d4b2VaVlVRUVVBVVVnSFFMa2ExQUhCS0h3TGJXUy9PSlhK
cmJiYmp2L3BpckwKL2xBdi96NVZHdW1Qb2lLZ0hwQ2l3cXNIVndUaWk4QUxMN3dnRkxVVWZrSmdH
b0hhRnNZaVMvbUtBa0t5RzI3emxTdFhtbmJ0MmprMQpZT3FUNEFXQjZRcmFYWlFtK2tsL0dROEpq
MnhqakRmY2NJUFRuZ1hxbGNBS0F4MXlIQVNGd2g4YWdSZG56Wm8xY2c5eDMwQ2h1WHIxCmFtRWln
OGxyOGVMRlZkckhZWXphUjBYQUJRUmdsNk8ya2EwWjVFS2ZpdEVIREVtRVNyMzk5dHZ5eko0eVpZ
b1VHdlNmeTY5TW9LQ2sKRXI5WDNMOVBxdmE2dnZBSXFBSlNlRXoxaUlwQVdTREFCUEhZWTQrVndu
MVFIVEtCcEZnZlJlTWFObXhvL3ZTblB3bTlLblNHTGdzdgpLMnZ0c3FGTEYxNTRvWGdTS0VZSVRT
d3ZidGNvQyttUFZmN0E5NUZISHBHYUg3d3MvZUVES0ZWMlhDNWRCencxaEkyaEJEN3p6RE9HCnBG
RzhPT0RkclZzM3FRMXl6ejMzQ0ZNTHRXUTJiZHJrVXZlMUw0cUE4d2p3ZndNekhuVGpmZnIwS1dz
RmhPY2hOVDhlZU9BQkNibUMKVGUvTU04K3NkbzM4eWtTNkpIYS9jdUxmcDlvQkhWbUI4Z1YxZVNH
bEdNZk1wWCtGSFUwdVo5YTJpb0FpNERRQ0xWcTBNTzNidHhlUAp4OFNKRTRVM25RN3owS0lBSWV1
MjJXWWJwOGZ3K2VlZmkySWhHdlh2QUFBZ0FFbEVRVlRCT0t6QUVFSmVDT01qMWppTUo5NjJqZko3
Cjh1VEpCcTU3SmhtclZxMHl4RDJmZXVxcFpzR0NCUkt1ZFBubGwwc2xkendIMEZEMjc5L2ZLU3BK
Smd0OHZ2MzJXNmxFREZVd0NoV2UKSjRvU2N2OHdDYmpwcHB0TXExYXR6TTAzMzJ5ZzZYM3d3UWVq
aEYzUHJRZzRqd0ExZjhhUEh5OEZQRzNOQitjN1hZTU9vbnhRZlBDTwpPKzR3dFd2WGxtY2dOTHBo
d3JQZFNqcWprdCs0NDkvSDd1dlNOeDR1M2xzVWJ5MmtRTmRNQkFBR3hTaEVGWkFvVU5kektnSXhR
ZUNpCml5NHlmUHh5M1hYWG1YNzkram12Zk5EbnRXdlhHbXFXQkQwRVJ4eHhoUE9oVEJUSFFrRWly
SzFseTVZR3Fra3FpaU8zM25xckZQUTcKN2JUVFJFbUVsdmU0NDQ0VDY2QXJTaUhzTkV3WWdqSjY5
R2p4bmxrTFpJY09IY1J5aTJJMWJ0dzRDY2xLWjdrTUhrOS9Ld0tWaEFDTQpUUlR6SlBrYXk3MHR1
bGZPR0pEendUTVBJd2ExTy93ZTRPQzRhOVdxSlVZYjFsT1EwVS9SNjIrTGg5OEsrN2d1SDMvOHNZ
U3RGdEpnCkJnWWNWeFVRMTYrKzlrOFJVQVFNMWpaeUtJWU9IUm9MTkY1Ly9YVlJOS2g0em9QYldy
MkNDb21MZzJuU3BJbmtxTkEzUXQrdXZmYmEKWkRjSnUzcjU1WmNOQ2dpQ2dvSzNCTThDSGdWWFpm
MzY5WktIZ3hYVENpOS9KbEVrcE0rWk04ZXUxbTlGUUJFSVFhQjU4K2FHRDBMeAp2SEpYUUlZTkd5
WWhab01IRHhZRERDR2Q2Y1N2VEtSVFFIZ25XUEh2WTllNTlrMElOQjdseXk2N3pOQmZERHoyZlpa
TFg0bGc0Rmp2CnZmZWU1QTNoWFlsSzFBTVNGZko2WGtVZ2hnZ1F5MjlmZm5Ib1B0WWRjbFR1dSs4
K21jU1Q4NEdIb05DeHRNWEVBaVVLaFdPMzNYWkwKbm9hRVV5cWgrd1VQQ0FtYUpHYmFDdW4rN1M0
c0wxMjZORFJPSFFWS1JSRlFCSEpEd09hMnNWYytrOUhjemxiNjFqQXM0aFdkUG4yNgo1QnRtMHdP
L012SGRkOStsM0FWU0R5ditmZXc2Rjc5bno1NXQrQlJTTEoxeElZK1o3YkdVaGpkYnBMU2RJcUFJ
R0Nid2ZPSWk1QnNRCm5tUlp1NTU2NnFsa2xkeTRqR0hVcUZGSjJrbmJaN3hRbG1FS3J3SXZhUkpS
OFN4ZzRYSlZzTFpWUXN5NnEvaHJ2eFNCdUNEd3lpdXYKbUw1OSswcXV5M25ublpkMXQvM0tSTHJr
OHIvKzlhL0pZL3IzU2E2c2tBVTg2VkdKZWtDaVFsN1Bxd2pFRUFIWW9rYU1HQ0hoUUpsYwo0UzRN
RDI4SDdGSFdVcmpsbGxzS0RheHJkTUdwc0lLbUZnWGpEMy80UTdJSkNpQko2WVJjSVZEejhvbERX
TnloaHg0cWVTRmR1M1pOCmprY1hGQUZGUUJFSUlrRElGV3g1ZktjVFNEcElOcmQ1SVlTdVdra1hY
dlRKSjUvWVpxWng0OGJKWmRjWGR0bGxGeUVmeWRiTGpmZWMKSkhzTVUvYWJFS3kvLy8zdkJnOFJk
UHRSaVNvZ1VTR3Y1MVVFWW9nQUR6K1lNd2ozdWZ2dXUrVkI2UEl3NnRTcEkza1JNRWdoMU5DZwo3
NFExTVJuR080SXJIcHBoSnZFa09ib2llQXE2ZCs4dVJmcWducVJ2SkZSU3VJOEUxSzIzM3RxVnJt
YmREOWl1S0RvNGZQaHdZY2FLClF5NU8xb1BUaG9xQUlsQVFCSmdVODR5R29TbVRUSmd3UVhJaUJn
NGNLRTBwMWtyU09nblc2UlFReXloRmJtREhqaDB6bmNhSjdmUG0KelN0NFg4bVRpVW8wQkNzcTVQ
Vzhpa0JNRVdBQ2pQZWpmdjM2VXRNQitsUlhCYzhCQ2daOVJXQmVZaktQVllqa3hoTlBQRkZxblZE
VApKRmhSTitveFBmZmNjMEpaQ3hNV0ZJeG5uWFdXZk1hTUdTT0ppRkgzTDUvejQ0RmFzbVNKeERI
andUbi8vUE9GNWptZlkraytpb0FpClVKNElRREVNb1FiUGkzU0NrZ0Y3M3U2Nzc1NXNobEdKV2tN
SWhxVlVRb2dYMHJadFd6RkVwV3JueXZxZGR0cXA0TW9IWTdOc2hGR00KVXhXUUtGRFhjeW9DTVVZ
QWl0U0hIMzVZUENCWTVFbDY5cnV6WFJvYWs5eDc3NzNYYkx2dHRzbHU0VG5BclU5QzlKdHZ2aWtL
Q21GTgp2TWhja3FaTm14b0s5Vkd4bDVjcWRVR29hekpqeG94WUVRRUVNV1d5c0dIREJ0T3JWeTl4
LzU5Nzdya1NHaEJzcDc4VkFVV2c4aEQ0CjE3LytKVFdQTUx5a0VoUVBuaUVZWmNqdjh5c2c3R1Az
ZmZMSkowTUx6Qkt5eFRzTUNTdG1LQnNjK3NNN2x3TEE1U1lhZ2xWdVYxVEgKb3dpVUNBRXNSM3hj
RitxQXhGR3cvbEd2eEFvc1dIZ1B5a0dnRHlVVWk0K0tJcUFJS0FJV2dWZGZmVldJVG5iWVlRZTdx
dG8zQ29oZgpnZ29JWVZnVUxvUkZpNHJwME5mNjVZWWJicENpZnF5bnVLdnJzdjMyMjh0WVhPOW5y
djFUQlNSWHhMUzlJcUFJS0FLS2dDS2dDQ2dDCmlrREJFU0QwRkE5RlVNbElkU0pDaUlJc1ZsQVN3
d3BJc3ZYRkYxOXN0dHR1TzNQU1NTZEowaldVN0JCMjRDVWhmTGdjNll0VFllWGEKZWxWQVhMc2ky
aDlGd0hFRVlOS0lBd05XRUVaZWF2cXlDYUlTL2UrdnZ2cEtRc3owMmtSL0xiUUhpa0RVQ0VBdmpv
Y2lXMGxWNlJ5QwppOXR1dTAwVURlalhwMDJiWmdqdmdueGswYUpGNXVpamp6WktncEV0eXNWcHB3
cEljWERWb3lvQ1pZc0EvT25ubkhPT01EVEZLUzcxCnJydnVrcXJCSkpzM2F0U29iSzlQM0FZR0N3
dDVJTENUOWVqUlF5Y0ZjYnVBMmw5Rm9JQUlISExJSVlaUElRUkRHWXlCZkZUY1EwQ1QKME4yN0p0
b2pSY0JwQkhCbmsvalhwMDhmcC9zWjdCekpoaFR3aTdMeWE3QlArdHVZWFhmZFZVSWhycnZ1T25Q
d3dRZExvcjNpb2dnbwpBb3FBSWxEZUNLZ0NVdDdYVjBlbkNCUWNnYXV2dmxyb1lXMXRqWUtmb0VB
SGhHclhIMGY4N3J2dlNxMFB2Qjl3eGovenpETUZPbE8wCmgyR2NjUmRZdnFCSGZ1T05OOHowNmRQ
alBoenR2eUtnQ0NnQ2lrQUdCRFFFS3dOQXVsa1JVQVIrUW9DcTR2UG56NWRLM0xieTdFOWIKM1Zv
aXB3QUdGRHcyeEFsRGFRdU5MYlZCcUlUK3U5LzlUdWlEWVZ2NXhTL2NmaFNpU0ZFd0M5bTRjYU9a
TzNldWVIUG9kNzE2OVlTUwo4cWlqampMOSsvZVBaWDRPNDJyUW9JRzU2YWFia2hXTldhZWlDQ2dD
aW9BaThCTUNVTjZUZUwvTk50djh0REtISlpkeU9OVURrc09GCjA2YUtRQ1Vqd01TWE1KbkhIMzg4
RnBORUZCQnlDMkJJZWUyMTE2VGczYU9QUGlyaFk5VFVxRjI3dG9FT2xtcTdNS1ZRZmRkVm9mZ2cK
dVN2UThsSk5uTUtLc0xtUVREbHg0a1N6ZVBGaUEzM2xsVmRlNmVvUXN1cFg1ODZkcGVKN1ZvMjFr
U0tnQ0NnQ0ZZWUE0Yzk3N3Jtbgp1ZlhXVzBOcm5LU0RBMi81eVNlZkxMVlB5T1dNV3R3MiswV05q
cDVmRVZBRWtnaGNldW1sNGtYd0YvVkxiblIwQVNXa2Rldlc1b3N2CnZqQTllL1kwZSt5eFI1V2VF
dkt6ZlBseUEwc0tsSXc4M0hmWlpaY3FiVno0QVdNTE9TeFFSMUpBYTRzdHRxaldMWWdCNExRZk9Y
SmsKdFcyNlFoRlFCTW9QZ2UrKyt5NDVLQ3piS3VXUEFNOStQUGtVY29YWkN3OTR0dkxwcDUvSys0
NzJ5NVl0TXhScURMNFRzejFXSWRxcApBbElJRlBVWWlrQ1pJL0RoaHgvS2c0cFkvYmdKVnA4SkV5
Wklqb0cvN3lTalAvamdnK0paZ0MzbHhSZGZORHZ0dEpPL2lUUExlRDR5CkpjL0RlYStpQ0NnQ2xZ
TUF4aE1yTDczMGtsMHN1MjlyS0lJbEwxKzY3dGRmZjkwOC8veno1dlRUVDQ4MVBwdHZ2bm15LzVk
ZGRsbE8KSHVOWFhua2xXZHkyYTlldTFTcklKdzljb2dWVlFFb0V0SjVHRVlnekFqQVZFY2EwWWNN
RzA3Qmh3MWdOaGJ5Q3BrMmJHcXJKK21YRgppaFVTem1Scm11eS8vLzcremJGYXBzWUpJVm9ubm5o
aXJQcXRuVlVFRklIY0VOaTBhWk9FWFRLWmZPS0pKNUk3czR5M0Z3cGJQS1o4CnlrWCsrYzkvU2pY
eldiTm1tZEdqUjB2b2JDNWpnK3FiQ1RkR0hNZ3VxSkFlNWtYTzVaaFJ0Ylc1Z0p4LzY2MjNOcmxF
SlBocnBoQ2UKdk5sbW0wVTFERG12S2lDUndxOG5Wd1RpZzhENDhlTk4rL2J0emV6WnMyVkNINGVl
RTFKRjZOaWFOV3VxZGZlYmI3NkovQUZjclZONQpyQ0FNWTlDZ1FlYWpqejR5ZDl4eFJ4NUgwRjBV
QVVVZ0xnaEFua0V1WGlYSnIzNzFLeGt1WVVQVWN3b2FrN0xCZ3VjalFnanIrdlhyClRZc1dMYkxa
emJrMmZzSVVhenh6cnBOWmRrZ1ZrQ3lCMG1hS1FLVWpVTGR1WGNtVGFOdTJyWG5vb1lkTXMyYk5u
SWRrMkxCaDVzZ2oKajZ3VzUwb3NMRmF4dDk5KzIva3hwT3JnbDE5K0tkYThHMis4MFhUczJORmNl
KzIxc2JYcXBScWpybGNFRkFGRndEL3BIakJnUUY1ZQplSWhIL3YzdmY0dnlGbGZsZ3p2QnIzVDRs
K040bDZnQ0VzZXJwbjFXQkNKQzRMREREak5EaGd3eFVMNVNSd00yRHBlbGVmUG1RcmxMCkh3bFR1
dWFhYXd3aERMajBuMzMyV2ZQZWUrOFo4bHNZRTViRnVBanNWeWhSVFpvME1YLzV5MStNdFJER3Bm
L2FUMFZBRVZBRXNrV2cKa0JQdFFoNHIyLzRYc3QzUGZ2WVRlYTEvdVpEbktOV3hWQUVwRmRKNkhr
V2dUQkRvMTYrZm1UTm5qaVR6clYyNzF1bFJEUjA2Tk5tLwoxYXRYbThhTkc0dXl3Y3BSbzBaSlVp
SWhURXprMzNubkhST1hKSHVvRkZVVUFVVkFFVkFFS2dzQmZ4SiszSlVwVlVBcTY5N1YwU29DCk5V
WUFxOHZVcVZQTm9ZY2VLdDZFdUhnT0NCa2JQbnk0SWZlRFpIb3Fidk01NVpSVFJERlp1WEpsMGx0
U1k1RDBBSXFBSXFBSUtBSUYKUVFEdmRhSEVQNEV2MURHak9zN2RkOTh0QldtelBiL05nOG0yZmJI
YnFRSlNiSVQxK0lwQUdTSnc4TUVIbTBtVEpwa2RkOXd4TnFNagpUQWtHbGFWTGw1bzZkZXBJNkZL
alJvMmsveFFpVkZFRUZBRkZRQkZ3RHdGVlFINjZKdERLV3lFRWV2ZmRkN2MvTTM1SHpYb1Y3S0Fx
CklFRkU5TGNpb0Foa2hjQkZGMTJVVlR1WEdrRzlTQks5aWlLZ0NDZ0Npa0E4RVBCUHVtdmE0N2g3
UUVpa3R3TEJ5dDU3NzIxL1p2eW0KMXBWTDhsTTJpMHU5MHI0b0FvcUFJcUFJS0FLS2dDS2dDRlE4
QW9YMGdNUWRUSC9GKzdqbmdLZ0NFdmU3VWZ1dkNCUVpBUmlqYnIzMQpWcUd0TGZLcFNucjRPTDNV
Nk92dHQ5OXVLTVJWU0d0Z3FRQi83cm5uRE14ZEtvcUFJcUFJNUlwQUlaOTVjZmVBL1BqamowbjQ0
czUrCnFBcEk4bExxZ2lLZ0NJUWh3RVB1aHg5K01GMjZkQW5iSEl0MUN4Y3VsSDdpdmw2MWFwVVpP
WEtrMlcrLy9jeTBhZE5pMFg5ZW1wMDYKZFRJOWUvYU01VVFlQW9BeFk4WklFY3RZQUs2ZFZBUWNR
d0FsbmtLaitScE9ubi8rZVNsVzZ0aXdzdXBPdm1NT08zamNGWkMvLy8zdgp5V0hGdFpxN0hZRG1n
RmdrOUZzUlVBUlNJckRMTHJzWXYrWEZOdnoyMjIvTlZsdHRaWDg2Ky8zcXE2K2FFU05HU1AyUHpw
MDdtNU5PCk9ra213eWdqRjF4d2diUDk5bmZzcjMvOXE5bDExMTNOQ1NlY1lONTg4MDJ6M1hiYjVW
VVIySC9NVWk3RGxyYkREanVVOHBSNkxrV2cKYkJENDE3LytaYnAxNjJZb1BEcGx5aFJUdjM3OXJN
ZjI4Y2NmbStPT08wNmU0ZXgvMm1tblpiMnZDdzM5Q3NqczJiTk5yVnExY3U0VworQ0hsb29Bd2pt
MjMzVFpuSEZ6YVFSVVFsNjZHOWtVUmNCUUJxbTVUMU0vS3ZIbnp6TWFORzZVQTN2dnZ2eTlWdU8w
MkY3OHZ1ZVFTCmVRRlQ3NE80V1JMUnp6enpUSFBGRlZlNDJGM3BFd1VTVWZ4c3NTbG9naWtBU1cw
VGFKQ3Z1dW9xUTFYZ3VNaFhYMzFsTE90WVhQcXMKL1ZRRVhFSGcxNy8rdFhRRm8wbi8vdjF6bW9S
RFBmN1paNS9KL2oxNjlKQzZSL3ZzczQ4clE4dllEMzhJRnM5RURERzVpbjJPNXJxZgphKzB4UkNG
YmI3MjF2SU56NlIvdmFwZEVGUkNYcm9iMlJSRndDSUViYnJoQkdEWWVmUEJCczJiTkdyUGxsbHNh
M0w5TTJ2RWluSHJxCnFkTGJ3dzgvM1BCUWROMGFjK0NCQjBwL0thUklEUk1LRWJvc3ZHQUdEUnBr
TnQ5OGM2bTNzbno1Y25ueE1uR2dhR0krTCtGU2p2ZXQKdDk0eVR6NzVwUG5GTDM1aG5uamlDZlBh
YTYrWkpVdVdtUFBQUDkvODR4Ly9NT3ZXclpNcTlGQWlvOXorOHBlL0xHWDM5RnlLUUt3UQo0RGxn
aFJCU2pCSFpDdXhIVFpzMmxlWlBQLzIwaVpQeVFhZjlIaERHM2JCaHcyeUhubXhuRTdiOXgwcHVq
TkhDSjU5OElyM2wvVEJoCndvU2NlbzRoMFNWUkJjU2xxNkY5VVFRY1F1RG9vNCtXU1RyZUE5eTl2
TFNZUEY1enpUVm01NTEzVHZZVTZ4cWhXSzRySUhTWTJpVy8KK2Mxdm5GYys2Q3VoYmJ4ZzNuNzdi
WGtCbjN2dXVUS1JaeHV5WXNVSzg4QURENWczM25oRFlydXZ1KzQ2MDdKbHkvOXRkT0R2SG52cwpZ
UllzV0NES3hpMjMzQ0lUSm1nakw3endRdkZDSFhUUVFhWkZpeFptL2ZyMTRwMjYvdnJycFNDa0Ex
M1hMaWdDemlHQUltK2xKdFo4Ci83UGJIcy8xNzBJcURYNXZpdXZqRHV1ZkxTYllzV05ITTNIaXhM
QW1LZGVoaVA3NXozOU91YjNVRzM2Nm8wdDlaajJmSXFBSU9JMEEKL09KVVduM3Z2ZmVFQld2Ly9m
YzNjK2ZPcmFKOGtKeit3UWNmT0crTkIraDc3NzFYUEFlRU1OMTMzMzJTUjRFWG9WMjdkdUxPZHZW
aQpOR2pRUUR3SFRONnRjRTBvQXRtOWUzZHoyMjIzbVhQT09jZEpxK2FRSVVPa3krUEhqNWZxOC9T
VDZ2UDc3cnV2SFlwWU16ZHQyaVJKCjl1VHF4RDFHT3prd1hWQUVDb2lBWHdHeDF2d0NIdDdwUXhW
U2FmRFQyRG85NkJTZDI3QmhnMnc1NUpCRFVyU0l6MnBsd1lyUHRkS2UKS2dLUklOQ25UeDhKV2NL
S1RTS3hYMTUrK1dXRHBic21Gam4vOFlxMS9Qampqd3ZqRlc1cnZBYUVJMkNKUndIQmEvRENDeThV
NjlRRgpPUzcwdTdCZ1dhSDY3VjU3N1NXNGp4czNUandJdi8zdGIrMW1wNzZ4dXExZHU5YTBhdFhL
RVA3aFZ6NXNSLy80eHorYTExOS9YWlJDCnUwNi9GUUZGNENjRS9FcUhmL21uRnVXN1ZFZ1BpTCtR
WHh3UmUrbWxsNlRiTlZWQUNvbHB2amlxQXBJdmNycWZJbEFCQ015Y09kUFUKcTFkUEZJK2c4c0h3
VVVEMjNITlBwNUZBNFlEMUNzdjZ3SUVEelhubm5XZVl3Qk5UemFRWVJZUzhFRmNGQmh2Q3NNTGlu
bEZDWEJaeQpQZkRTakIwN1Z2Qk9wYWgrOTkxM0VwWUZzNWVLSXFBSVZFZkE3eGxNOVg5VWZhL3lX
Rk5JRDBpY0ZSRFlEekhVRUkzQU95enVvZ3BJCjNLK2c5bDhSS0JJQzVCYVEvOEdIRndEaFZrRWgv
TXAxYWxXVWkxTk9PY1U4OHNnakpzeExVTHQyYlVQb2o2c3lldlJvMDZGRGgyVDMKcUFmZ1dqSmhz
bk9CaGE1ZHU1cmpqejllWHBZb0dhbGsvdno1NXJERERuUCtYa3JWZjEydkNCUWJBYjhDb2g2US9O
R09zd0pDU0RSUwpDT3A0Rnp3Z21nT1MvMzJzZXlvQ1pZMEFSYS93Ym15MjJXYWlnRUNqR2xRMjZ0
YXRhNnhMR0RDZWZmWlpBMHNIdFNwY0VZb1FZakhpCnhiTjQ4V0xKV1lFVDMxcVFZR2hpdTR1Q0Vq
aGp4Z3hKMUxiOVF4bUVpck45Ky9aMmxaUGZLSFZMbHk0MXA1OSt1b0dEMzlKSEJqdEwKK0J0NUlm
ZmNjMDl3ay81V0JCU0JFQVQ2OXUyYlUvMGxmL0c2a01NNXY2cVFrMlZiRDhUNVFZZDBrQnhNd29p
aGtLK3BGQkxUZlB1aQpDa2kreU9sK2lrQ1pJd0JmUE14TEpHMmpaS0NBQkFYck5reE5WQlVuS1pw
cTZlem5rbGpsNHM0Nzc1UmNGaFNxWTQ0NVJtcHBZRldrCnNKVzFMTG5VYi9wQ3ZRL3lWZnhoYmdj
Y2NJQ0VqaEdhQlpNVUx5U3V6OEVISDJ6dzVyZ2loSWNSL3NaOVF4alcxMTkvWGFWcktGSW8KdVNn
ZktJRzVGRmFyY2lEOW9RaFVBQUoreXoyaHNXRzVWS2xnOE5Qd3Btcmo4dnBDaG1ERlZRSGhHUStW
T2ZXZkNsRUJ2WkNZNW52dgpxQUtTTDNLNm55SlE1Z2pBdm9RUUFvU25ZL3Z0dDY4MllwUU9YbTZm
Zi82NUtDRFZHamkwZ2x3V3ZDR3RXN2VXbkJDcUFUTW1rdXVoCkhIWlJVSlJROHZ4QytNV2lSWXZr
dWxDcjVkTlBQNVg4RnZKY2JycnBKbi9UU0pkaDdiR0prcXRYcnhZdm11M1F1KysrSzNTUTVMWGcK
emFtMG1IYUxnMzRyQXRraTRHZHZxclFRTFAvWXM4VXJWYnU0S2lCWFgzMjFHSndHRHg2Y2FtZzVy
VmNGSkNlNHRMRWlvQWhFZ1FDVgpaNG5SaCswcWxhQ0l1QzRvSGlUU1V6OEQ2enpLQ0FVSlhTNkFs
eXJNQ3J5cG14RVhJUStIeXU1V1VHZ0w5U0sxeDlSdlJhQ2NFZkJQCnd2SGlWcEw0eC83UGYvNHpO
Qjh4RXg0MjVPakhIMy9NMU5TNTdRODk5SkM4ZzJFVHpLUjg0aW1EYklWUWFEejh2LzcxcjgydmZ2
VXIKSVFIQmEyNkZkVkdMZWtDaXZnSjZma1VnQmdpa21nakhvT3RWdW9nU2xVNlJxdEpZZnhRTUFU
eE5ZUjYwZ3AxQUQ2UUlsRGtDMzMvLwpmWEtFTGt3ZWs1MHB3WUxmYTRFeFk4c3R0OHo1ckNndVNO
d1VFSXI4TW1ZS0NEWnAwaVRqdVBFOFQ1NDhXVHpPR3pkdU5NdVdMVE0zCjMzeXplSnJ0em9UMGhy
RmEydTJsK2xZRnBGUkk2M2tVQVVWQUVWQUVGQUZGUUJISUF3Ri9Jamw1WDVVa2ZnYkdHMis4TVpT
U1BCTWUKNUUxQUN4NDNCV1RreUpHR1VOdTJiZHRtR21LVjdZUzFFa2JONTZ5enpqSUhIbmlnNU9H
ZGV1cXBadENnUVU2RXZhb0NVdVdTNlE5RgpRQkVJUXdEM05TeEZ0V3JWTW4vNHd4L0NtamkvampB
eWNsV2c1R1VjNVNLNDNJa1A1c1dLOVd2NDhPSENYRll1NDlOeEtBS0tnREZZCndoRkNScmZhYXF1
S2dnVEZ3WXFmanRpdXkrVTdIKzlKTHNjdmRGdVVCNGhJYWlJb0l4U0IzV2FiYldweW1JTHZxd3BJ
d1NIVkF5b0MKNVljQUQzMm9heWtVdDJEQkFuUHl5U2ZIYnBBbm5uaWkyWHZ2dllVcStOWmJiNDFk
LzFOMStMNzc3ak9NRFNZeUNrT1MyMEpsY1JWRgpRQkVvSHdTKytPSUxHUXhHaG1IRGh1VTBzTTgr
K3l5bjlxNDF4dWcxWmNvVUNSdXk1Q2k1OXZHVlYxNFI5cWk0R1o5cXFueFluRnhUClB1aVhLaUQy
NnVpM0lxQUlwRVdBT0Z6aStOdTBhU00xSGJBazhUS01pNUM0eWN1cmNlUEdjZWx5VnYwa05PTTN2
L21OdExWaEJsbnQKcUkwVUFVVWdOZ2pZQkdLSU0zSTFNRkJCZTlhc1diRVphN0NqMjI2N3JlblRw
MDl3ZFU2L1lVRlVjUXVCK013ZTNNSk5lNk1JbEQwQwpGSTdqd1c5bHpabzFVcEdiaExaTEw3M1VE
Qmd3d0Z4eHhSVjJjeXkrbWFDWDI0c0lPbUhpaExsVzMzenpqU3pING1Kb0p4VUJSU0JyCkJONS8v
MzFwZTlSUlIwazhmOVk3ZWczalpDaktaVnlWMHBZRStvOCsrcWpzM2wycWdGVEtIYXpqVkFSeVJJ
Q0hIcTUrS0ZNM2Jkb2sKVmNSUlNvaEJmdXFwcDB6ejVzMXpQR0wwelltZExyY0V6czAzMzl5TUd6
Zk93SklENWFLS0lxQUlsQjhDcjc3NnFneksxdFlwdnhIcQppRkloOE9XWFgwcWgxanAxNnBqZi8v
NzNZZ2drbHpFWHVldXV1OHo5OTk4dnRaa0lwMjdVcUZFdXV4ZWw3YytLY2xROXFDS2dDTVFlCmda
MTIyc2xjZnZubHdqaENRVHlvSDk5NTV4Mkp4VVg1ZU5jckpuZmxsVmRLbFd0Q0FzZy9jRjJnNFAz
dXUrK0VEWVVLM0VjZWVhVGsKaExqZTcyejZwOHBITmlocEcwVWdmZ2hBTlBIY2M4K0o4YWVtaGg5
YkR5TitLR2lQUC9qZ0E3a0hMcm5rRXRPaVJRc3hCR2FMQ3VRawpFTWxjZlBIRlF1ZnJRaDZrS2lE
WlhqMXRwd2hVSUFKWTE1bWtrNFR1Wjc5Njc3MzNEQnpqaFArUWYwQWxjUmVUM0lLWDdJSUxMakRY
ClhudXRWRzJmT25XcU9lS0lJd3ljNkNxS2dDS2dDTGlLd0JOUFBHR3dnbVAxamh1TGs2dVl4clZm
M0FONHc4aUpPZjc0NDhVQTZLOFIKazJwYy92c0doYlpYcjE2R2QyQ1VvaUZZVWFLdjUxWUVZb0xB
N2JmZmJpNjg4TUprYjNmZmZYZkQ1OWxubnpYVHBrMUxybmQ1Z1JqYQpMbDI2aVBVSFJwVnNpanE1
UEI3dG15S2dDRlFHQW5QbnpwV0JZa0NwcWZ6M3YvK3Q2U0YwLzRnUndDRFlyVnMzQ2FPQ0FiRjE2
OWJtCjRZY2ZOci85N1c5VDl1ekJCeDgwVkZUblBZZzM3WkZISHBGOFFXaCtvNkoxVmdVazVlWFNE
WXFBSWdBQzVIMnNYYnZXSEhEQUFkVUEKcVdrNFFMVURGbW5GVjE5OVpjNDk5MXh6L2ZYWGx4MExW
cEVnMDhNcUFvcUFBd2lRaXdlMTl2Nzc3eThlMjVwMktRNGhXRlQ5ZnV5eAp4d3lKOTNpb2UvVG9Z
Wm8xYXhZNmRFSnFaOHlZWVpZdVhTbzB1eWVjY0lMcDFLbFRsYmJVRVZtMWFsV1ZkZjRmKys2N3I5
bDU1NTM5CnEyS3hmUERCQjVzbm4zelN0R3JWeWtCT1FLMlBWRG1Pa0svNGpZaUVZK0VGb2NqaGlC
RWpJaG12S2lDUndLNG5WUVRpZzhENDhlTk4KKy9idGt4MSs3YlhYeks2NzdwcnlRWmRzNk5BQ2JG
MG9IK1hHZ09VUXhOb1ZSVUFSS0FJQ0R6endnSUZxbTV5MVFvanJIcERCZ3dmTApXSmxZTjJ6WTBK
eC8vdm1tWmN1V0JxWEUveDRDQzVTemswNDZTV0JCQ1prOWU3WlFGUFBPNGpoVzNucnJMUWtUdHIr
RDM1d3JqZ29JCjQwQjV1dnZ1dTZWT1Y0Y09IY3lTSlVza1R5UTR4dUJ2d3FjcFhudkhIWGRFcG9C
b0RrandxdWh2UlVBUlNDTHc0WWNmbWttVEpsWGgKbmJjZWtXU2pHQ3lVSTRWaERHRFhMaW9DaWtB
TkVNQnlEeE5oLy83OURmVS8wZ21lRFVoQ0tEcUl3dktmLy93bjJad2FUbFpjVmtBZQpmZlJSeWRI
RG9rK1NOWG1GWThlT05ULzg4SVBwMjdldjhZK0Q4VUNTUW43TW1ERmpoSzF4NE1DQk1zeXJyNzY2
eXZqeGtxUVRGeGloCjB2VXYwelpJWW9ZTUdTTGVrTjY5ZTJkcW50eCs3TEhIR21yRVJDWHFBWWtL
ZVQydkloQURCQ1pPbkNoZUE5ei9WZzQ4OEVCSlRPZGwKY05CQkI0a241S1dYWHBJcTQ3WWdubTNy
eWpmNUtsakhUai85ZFBQem4vODgyUzNvaFQvOTlOT2NlZldUQjZqMEJTOFcyVW54Sm1NcQppa0Rj
RWZqVG4vNGtTZWV3RFdZU0ZBdmkvTjk0NHcyemZ2MTY4OHd6ejRpRkcvWkN2OUt4d3c0N1pEcFVa
TnNuVDU0czV6N3NzTU9TCmZhanIwY0R2dU9PT3dycEkzb0wxZ3FCVTNIampqVkpjbGxBa0JDWkFp
Rk1JdWFWdWxUME9DaGxFS1NnbVliTExMcnVFclk3Vk9wU3gKKys2N1R6d2E1RGNPR2pRb1kvK3BD
Zyt0UHA0UXZrc3Rxb0NVR25FOW55SVFJd1NhTm0xYUxmYVdCeFZKNlR6Z252WmlUaWwraDBERgpT
MXlwaTBJSUZsWkVZbUNoNHNXeWlGZUV2di9zWnorVCtHQXNiaXA1SUpERlpCOGxqNGxCdGt4cGhF
VDRXZGR5NnBXclNsRk9nOURHCmxZNEFCQi9rTldEaHo0WmlHOFBLUlJkZGxJVE5odGZBbHNReWlj
djkrdlV6MjIyM1hiS05hd3VFOXlMK0FyajhKcm42ODg4L040UlMKV2NGYmdqZStiZHUyZHBWOFl5
eDc0WVVYRERUeVZsQkFmdmU3MzVXMW9RbEY4NmFiYnBJNklVT0hEalg3N0xPUHNHUlpETUsrVVV4
Ugo1S0pRUHVpUEtpQmhWMFhYS1FLS2dDQUFhMVNZTUlsZnRHaVJiQ0lPbDVkYlZBK3hzUDRGMS9F
QzUrR01SK2Z0dDk4MmYvdmIzNlMvCnNIL1VybDA3VnZrc3diSEY0ZmZ5NWNzRmJ4SkVzeEU0NnZO
V1FMSTVnYlpSQkJ4SDRMYmJiak5Nc29PVDhXeTd6Zk9ZSkdNU3VWbUcKdnBWSnFjdkN1d1FKS2ts
V0FmdjQ0NCtUM1VjNVF4bzBhSkJjeDhLS0ZTdk10OTkrV3dVM0ZKQ29tSjZxZEs3SVA2Q1ZKMkYv
NXN5WgpRcEZQd1dDaUZGSUoyK3ZYcjU5cWM5SFhxd0pTZElqMUJJcEFlU09BNVNVdVFvaVkwdTlH
YzdXd3hFSVZDUjg5WHFkMGdnV1RKRklzCnQxZy9VVWFJQzFkUkJDb0ZBV28wWU5pcHFlRDlqWXZj
ZWVlZDV2bm5uemRReS9vRmd4SGlUeFRIUTRSZ1FQSUxucUNnMGxaT0NvZy8KdDhjL2JydDh6VFhY
eUhNV0R6L2VJUXlGSlBFSDVZc3Z2aEJtU1BKSG9oSlZRS0pDWHMrckNDZ0Npa0FPQ0ZBOGlnVFQ0
QXMzaDBORQoycFFxdnJuVWpLSFlsaFVtVWNSN24zUE9PWGFWZmlzQ1pZMUFJWlNQdUFHRW9TSE04
MG1vRmVMM2R2QThRZExWdnBBRzNoL0NqTXJGCkEwSTRhenJCZTRUMzdMampqak1vR1JRU2hpa01t
dDdmLy83M0VuWU1KVEdKK3hTM3BEQnZWS0lLU0ZUSTYza1ZnVEpCQVBZVktHNTUKbUdGNUl0Y2lr
NFhicGFHVFFBL1Y1ZGxubjEzRnd1WlNIK25MelRmZkxJdzRXQWt0OWFScmZVelhIL2o4enpqakRB
bDN5M1IvTUVaQwpDUWdkd1F2Q05jS3lSOUVzY2tsVUZBRkZvRElRMk5tU0ZhUUFBQ0FBU1VSQlZM
aHhvL242NjY4TnlmT0VHQ0hrTG1EaFI3YllZZ3Y1ClR2Y0hENGpMeWZmcCtoN2NScUo1SnFhck5t
M2FDTFV1U2daa01mUG16Wk5QOEZpUXNweDg4c25CMVNYN3JRcEl5YURXRXlrQzVZa0EKekNURW1l
TG14YklDRDNtN2R1MWlNOWo5OXR0UExFV1dPWVFFUHRlRUZ5aGVBSkxvS1FoSlhEY0MydzBGdTVp
Yys5bTlYT3MvL1NILwpKdHY3Z3ZBS2Y5RXM5a2NCMjdCaGd4Ums0N2VLSXFBSWxEOENkOTExbHd5
UzJoN1cyNEZDZ2tjWVFRRmhvbzBSQ2NXRUN1R0VlL3FGCjV5YzFvTWdob1dZR3p4ZUs2SGJ1M05u
RWpRR0xhdWJrOXZBK1NPY05oemtOTDFvcUJqV1lJUXRWVzhhUGRTN0w2UU54Y3ptU3RsVUUKRklH
S1JPQzk5OTR6ZFQycVJJUnZPem1XRlRINWc5c2ZMdzZjKzdmY2NvdHp2ZVlsQW1VaWxpMjQvdm1R
VEEvckRRckljODg5NTF5ZgovUjJDSmpOVEhRTi8rK0F5ckdXRVpHV0tmdzd1cDc4VmdiZ2lBSjB1
UmVJdXZmUlNtU2d1Vzdhc1doMk1kR1BqK2NEa25ZbjdyRm16CmpHV1lTcmVQSzl2NGYzL3h4UmVs
NzlTaEloOEdqNmdWbTZ6T2J5YlJKRkpqL0NMUkhzTUZZL1lMQ2dqUERqeXc1S0NSVHpaeTVFZ3gK
bWtIRjdyb1FXWERWVlZlSmNuWElJWWVZK2ZQbkM2c1hOTTNwWlBUbzBXYnQyclV5YnRqQjZ0U3BZ
dzQvL0hBWk8xN2xiRmtKMDUyagpSdHU4OEFrVlJVQVJVQVR5UnNDanNrMTRSYUlTSHZOR3dxTjVU
SGp4dW5rZksrb2R2VENzaEtlSVJOMk5LdWRmdkhoeHdvdmZUYXhiCnR5NXgvLzMzSjdmUlQ2OGlm
ZUtUVHo1SnJpdjVnakZGT2FXbkJDYVA2NFZnSkRiYmJMT0VOM0ZJZUZiUDVQcVVDMFhxVThyemhX
encKdkRVSnJ4WkJ5QlpkVlU0SUZPTTZleFBpUk5ldVhSTmVtQ0xGYktwOHZFbGt3ak0ycElYUW82
dE5kT3pZVWY1bnZKeXBoTWYrbC9BTQpGUW1QTENUaEpYY24yRjVvS1RRT1hqMlRoQmV5bWZDb2N4
TmUvYWFFbDhOUnBjdWVBU2FKaXhlV2xkeEdPNTRWSHRsSWxmZlFtV2VlCm1mQXMvZ2xQcVV1Mjlm
TFI1QmhlTWI3a3Vwb3VGQnFIZFAzaHVlOFZDazdYSkxKdDJlSlFuTGRIWk1QV0V5c0Npa0JVQ1BC
U2lMc3cKd2ZYYytNNE13N1A2Snp5clhzS3o0RW1mcnJ2dXVvVG44VWdzWExndzRWbkZFbDZ4c1dq
N211VmtueGRsdmhOeUZKQmYvT0lYQ2M4QwptdkRpbVRPUE44cytaVDVRL2kyeWZRSG5md2JkMHdV
RUNuMmR2ZENpeEY1NzdTVVRZeWJSS0J4YmI3MTFjcktOUXNJRUcyTkVtSGg1CkVZbUdEUnRLZTU0
UmZ2Rm9heE5lbUtaczl4S1ovWnRxdkZ4b0hHeUh2Q1RxaE9jOVRUUnUzRGpoZWRydDZvVG56VWxp
NGlWUko5ZXoKUUh0d21qSmxTbks5bHpPWDhISVRrNzlaQUN2YW9lZ1ZhaUpmTEJ5cWREd0dQN0xG
UVVPd3ZEdFFSUkZRQkdxT0FERzJjUmZ5S0Z4aApueUZrZ2lKa0ZIZTBpWllEQmd5UThBTFBRbW84
YjRqRU1jY0JjOElqbnZhS1Z1WWpoUFVSODAzOE54V09WUlNCY2tXQXBHQnFXSkJYCkIvVXNkTlF3
UUVHbGFuTVZTQ29tSEludm9KeDc3cm1TSjBWUjJHQnlNUW5jNTU5L3Ztem5PdzZ5L2ZiYlMvallL
Nis4SXVGSHRzLysKWjdRTi83WGJLRGlJckY2OTJxN0MwRzVPUGZYVTVHOFd3Sk1jQ3ZKR2VKYXFs
QjRCVFVJdlBlWjZSa1ZBRVZBRU1pSUE1NzAvRWZ1SApIMzZRNnZQUU1Ib2hGdWFTU3k0eG5rY2tO
a29JRkxva2dHWlRCOFFQRHJIYjBFbVM2M0xCQlJkSUxveC91eTRyQXVXQUFJblJUTFRKCjUvTFh1
MkN5RGVzZEZMVE5talVUeFlQNGZTYllsaFdLOFZOamgwUnNKQlZkTmV4Sm5tZkFMRml3d0R6NTVK
T2hsTGR5QUlmK05HclUKU0hJOE1HRHdES0J1aGIvMmxFMU10MTIyeGhvdlJNbXVNakJIaFFuN3dx
WVZoenlRc1A2ejd2dnZ2emN3aFhsZUhCa0wzK1M4b0dCNQpJYnJ5SWZjalhjSjZxbU1YZTcwcUlN
VkdXSSt2Q0NnQ2lrQWVDUGhmckhoRHVuZnZMaE1Sa2dxOU1Bd3pkKzVjK2Mxa3BWT25UcEpRCnVl
KysreHFzaGk0S1NzUzk5OTVibzY1aEhWWlJCTW9SQWY2ZlNiajJLeC8rY1hwaFNFSVZUajBjaENS
dHZ3SUNkVFZDWWpIMUhzSUUKeHIvZGR0dE5pRUpJVEErcnVSRzJYOVRyOXRoakR5SGVzQW9JOU54
V01HajR4UXZYbEorWjZtWFF5TzdyVjFiOHgzSjFHYVBNNDQ4Lwpicno4R1BHT29YQmtFcExRdTNU
cFl2Q3lvWmk0SUtxQXVIQVZ0QStLZ0NLZ0NJUWdnS1hUc25KNXlhUkNJd21WSkpNSVhpUllScG0w
ClVPQnZ4SWdSQm1wRkwybmQ3TFBQUGlGSGkzWVY5TUdFamxFUUxGTWRFSHBLMkFSVW0zeXc4bEZN
akNKYktvcEFPU0tBRlR0VFVUam8KenExNDVCOTIwZUFkdGQ0UGpCQjJFcDVzNEZ0QWtZR3AwTXNS
a2Y4cDZ6SHdOWEZ1MGJJMVdZWkYvM1BBejRoRngzbHVJQmhwTXNtdgpmLzFyYWVMSE10TStVVysv
OWRaYnhmdWRqWUxsN3lzS0t4OW81dHUzYnkrRlhXMVluNzlkS1pkVkFTa2wybm91UlVBUlVBU3lR
SUNYCkMzSEpUQ1JHalJxVm5Ianp3aVRzeW1PSk1XM2J0alZqeDQ0VnhXUDQ4T0VTa3NITDJFWGxn
eUdQR3pkT3dpZXlHTDQyVVFRcURnRVUKZ2t4aTh4dG9oNkpoQmMrQTlRN2lMVWduWHBLN0dDbXdt
bE96S1pnYmtXN2ZZbS96R0xvTW4rQXp6Q3BKdHZnZ3hVanhFSk1iQm1XdgpYeWhjaXV5NDQ0Nysx
YUhMR0RhUXVCUXBKSGZIZXNEb056bUxoS2lCQlVvYUg0KzBRQXE0a2tPRVltVS83Nzc3cmhRTHRq
a3ZLMWV1Ck5JUzErZThqamxsS1VRV2tsR2pydVJRQlJVQVJ5QUtCblhiYUtiVGFyY2R3WXlaUG5p
elY1cWs0VDlnR2lhZkVpZGVremtZV1hhcFIKaytPT095NnRWYlpHQjllZEZZRUtRWURhSUFqLzcz
Z1VyYnoxMWx0MjBkVDFTQnZTQ2ZrQVZ0NTg4MDI3R1BrM0hrNklUUGhldm55NQpoSlRhVGxsRndS
OWVTazRNNGFoTXRQMWlGUkMvVWtGaHdqVnIxaGpDMVBiZWUrOWtjeHU2RkxVbklObWhOQXN6WnN3
UTVRUEZpbm9tCkhqVzdoTnFoY0dRamVJWWdOWURZQk9NV2RXWElKZlFZMVpJa0o5a2NwNUJ0VkFF
cEpKcDZMRVZBRVZBRWlvQUFyRGlmZmZhWlFRRWgKanBzWE5ZbVZZVXc0UlRoOWpROXBMWmcxUHBB
ZVFCR29ZQVNZUUNMa2ZCRnVhWVd3VEN1Wi90YzhlbC9iVkJLWGt6OGlYdUQ1aHZLQgpCSlBDN1hx
L2NrVnhVeFFRRzVabHV3OXJHRUp4UXVUTEw3K1VFRldXbVhUN0ZSRExxa2RJcTh0Q0dDcEZCdzg3
N0RESm84c25oOE1xCnJTaXVnd1lOTWhNblRqUkRoZ3lSWXBkUnNhSXBEYS9MZDUzMlRSRlFCQlFC
RHdHdldKYUVTdUJHNzl5NXN6bnd3QU5OejU0OXhZVWUKTjRDd3VNSHVoUVVQUllxcXhPZWRkNTdR
RGR2NDdiaU5TZnVyQ0JRYkFid0FNRjJSMjBEb3BWLzhTZFIrQmNQZnhpNzd0OE9ZNUlxZwpVQkZh
aFREaDlvdFZNZ2dmczRKWEZmSHFUOWxWOG0yeElEOE93V3RDM2huaXo0MUI0VUZ4STZIOWhCTk9r
TzJ1L3NFQVJUVjBRcWJ5ClVUN0N4blh4eFJlTFIrWDIyMjhQMjF5U2RhcUFsQVJtUFlraW9BZ29B
alZEZ1B3UCtQMnBDWUQzZ3hDRERoMDZtTXN2djd4bUJ5N1IKM25ocm9ORnQwYUtGbVRwMXF0Q0Fv
bEJobFNUQkhzVUtWaCtvU0ZVVUFVV2dLZ0xrZnBFRE1YcjBhS0hrOVcvMWh5SFp4R3IvZHYreQpu
ZVN6enIrZnYwMFV5eEJURUJLRTJGd1BsZ21UV3I5K3ZkRElublhXV2F3U0lRY09Bd2I1Y09RMUlE
RHR2Zjc2NjdJZUk0MFYyaUljCnh3cGhYZ2lLaWorMHkyNTM2WnQrZTFYc3MwcXN6NlhmWHBGYkUy
VVluaW9ndVZ3dGJhc0lLQUtLZ0FNSWtJdzZmdng0NFgvM1d3VWQKNkZyS0xqQnhtajU5dWlFR3ZW
Ky9mc0w0TTJmT0hETno1a3l4Nko1NTVwbm0rZWVmTjFnMlhab1lwUnlRYmxBRVNvUUFWbjFJSEdD
KwpnOFVvS1A0Y2hxRDNJTmpXNWxPdzNyV0o5MVZYWFNYMUsrNjY2eTVodnNNamV0bGxsd216RlF4
aC92QXlFckQvL09jL1M5STZpZGxRCjB4SldoQ0lEeGJCZmVGWXlWanhJZUQxNHZoRFNSQjdKaEFr
VC9FMmRYSWFVQk1OTm9ZWGs5VnExYWdtTFdxR1BuYzN4TkFja0c1UzAKalNLZ0NDZ0NEaUpnRXhJ
ZDdGcVZMcEU4eStTQU9pQ3c3aENQSENaTURQQ1NNT2tnMlY1RkVhaDBCTER1WS9tbkNPRnR0OTBX
Q29jLwpoOEhtUzRRMjlGWmF0aXkyK3hPMVU3VXY1WHFNRStTNVFDbE9pQ2FzZmloWGVFbkpmd2dL
WGc0OElCZzJicmpoQnNtUnd6dE1XS2RmCkNPK0NnaGEyUU1KWkNXUEQyMG94Vnorem1IOGZsNWFw
RGJOcTFTcUR4NktRUW40TW9XaCtyMWdoajUvcFdLcUFaRUpJdHlzQ2lrQW8KQWxpblVrMGtRM2ZR
bFJXTEFPRU9oRjJSUEp0T1lIUWhKaGx2aUlvaW9BZ1ltVFJqdFYrNmRHbVZDdUIrYlB3S1NKQ1cx
dCtPWmI4QwpRZ2lUYTRKRkhzYW5iSVZpaXRrVVZDUjM0bzQ3N3NqMnNFNjFneW9YVFBBaUYxSlpX
TEJnUVpXay9GSVBXa093U28yNG5rOFJpQ0VDClVCZ2l1TG1mZWVZWmc2dThaY3VXVXBNaURzT3hN
Y0p4NkdzNTlwRzhEcHNVbW1sOGhGWlF5eUNUSlRmVGNYUzdJaEIzQkNnNk4yL2UKUFBQb280OUty
WWRVNC9GVDYyWktMUGVITjZhcW1KN3FQTG8rR2dUYXRHa2p1VEM4YzhtYks0UVFlb2EzdVh2Mzdv
VTRYRjdIVUE5SQpYckRwVG9wQVpTR0E5YnB2Mzc1Qys5cWxTeGZUcTFjdmNRbmJoMWlteE1lbzBV
SnBndnNjZHp0ZUcySnFjZldUZ01kTC9wQkREb202Cml4blB6OFNDVUlRUFB2aEFyR0FvVlhpaFNO
N0dSZSt5d0x5VEtUYmQzMysvbGRhL1hwY1ZnVXBCQU9ZamlwQSs5ZFJURW9hVWJ0ek4KbXplWHdu
c1U4WHZ0dGRmU05aVWtiUnJnYmZRbmFxZmRTVGRHaWdEc1hXUEdqREU5ZXZTUStpK1FrUkNpaHVj
bjJ6QTYzaGZrMkZFSAo1SUVISHBCYUswMmFOSW5VMjZ3S1NLUzNsWjVjRVlnSEFzVGpRd0VJWFNF
V2FuakRmL2poQjRtcmRWMzVBR0VVak1hTkc0dlM5UGpqCmo0czdHeDU1aXZpNUdJYmd2eXQ0Y1V5
YU5FbVlZWHIzN2kwdkhEeFJ4REpEVHpsNDhHQVpIOFcyWEJWcWw4eWZQOStjYzg0NUdic0kKano5
TU52NkUwNHc3YVFORm9Jd1F3R0FDTlRXVnlrbVVUaVcwNDdtR2dzLy9QNHg0TDcvOHNuaXFlVTZI
eWJQUFBpdXJ5Y1ZLMVNacwpQMTBYTFFKNEtsNTY2U1hKcGJ2NTVwc05INHhwZSs2NXAxRHpVcnlX
KytCWHYvcVZyTWZUWmF1Zzg4Mjdnc3J4VmdoSjQ1a2M1ZnRiCkZSQjdOZlJiRVZBRVVpSUFXd2FV
cjB5R1VUNjIyV1liZVRuRzZRWEdoSlpZYWhJU3NSSVNhK3k2RU0vZHZuMTdjWlVQR0RCQXVydHkK
NVVxejVaWmJ5akt4MzhRR3d4eEZHQVpValM0S1NhRk1sT0RjSjcrREpOQXdJVlNMK2laeDhFaUY5
Vi9YS1FJMVJRRGxtLzhSNHZPSgovVThsSkJCakZTZnBHaUdjQnFZc2l1dGg1U1pzSnlqUTIrSkpo
U2txakUwcjJGNS91NFVBRVFld1laR2t2M0hqUnZHQVEvREJKMXZoCkdVd3VIa2JGcUZuUVZBSEo5
cXBwTzBXZ3doR0FrUVNySEpQZDAwNDdUZERBV28yVmpyQWdGQk5iOE1sRnFMQVdkZTNhTlZhSjg4
T0cKRFRQRWFXT3R0QUwxSkNGeFZyQjRNWms0Kyt5em5WVkFDQkdEUnBNUUFzYkVQVlM3ZG0xUkFn
bTNZbUwwM0hQUFNYNVIzYnAxWldKbAp4NmZmaWtDbElFQjgvekhISENNTVRYLzV5MThNbjZBUXln
Z3RMOVpyaXNsWmdSRVBJd1ZLQ1RWRHdoU1FxNisrV3ByaitYV2R2cHNjCnNHSjZRWGwzVWR3dmJr
TElMZTlmREZHelo4OFdaa0ZiMFQzZFdNZ2ZJWHlhOEszdHR0c3VYZE9TYlZNRnBHUlE2NGtVZ2Zn
aXdNTjYKeUpBaDhvTERlbjNOTmRlWWh4NTZTRUt3OXRsbkh3bGpJcDhDcWtpWEpVNnNYYmpRNGNQ
SGEyT0ZHRjZLYlFYRHhnZ25vOTJtVFp1YwpwWlVraEFCbEEvNzlWTlYzRHozMFVIUExMYmM0cmNq
YWE2SGZpa0FoRVVBSlAvcm9vK1YvZU83Y3VZWlBPb0VOQ1lPS1g2Njg4a3I1CmlSSkNPQmIvYTNn
N0VISktNRnlnbUZ4Ly9mV3l6dVUvZUVIeDZxQXMyVEVVcXI5cjE2NFZIRERhb0pURnlaTVBCcnpI
VUNqNFFEL00KdldPOVczeFR2Qkg2WXNLc01QU1ErMGpVZ211aUNvaHJWMFQ3b3dnNGhnQkprQ1Jx
OHpBakJ3R0ZBKzV3SnBSWVlxS01JWFVNcW9KMgpaOTI2ZGFMUStjT1ZMcjMwVXZFZ0JFL0VDNVNF
OUxmZmZ0dFpCWVErUTJSQU1UWG9NQW1EMjdCaGc5dy8zRlB3L0tlckVSSWNzLzVXCkJNb0ZBYndh
ZUQ3NC84MVdDS01oTkRZb0tDRk1PTWtSd0V2U3RHbFRBNHNoaGdzTVJ4ZGVlS0VocWRsMXdWaUJB
c0k0eUNFcnBGQTcKaEh3SXZMSjQ3KysrKys1Q0hyNmt4K0phRW9ycnAySXVhUWRxY0RMMzc4SWFE
RTUzVlFRVWdab2hnQVVON25GaWtWdTNibTFHamh3cApsV1B4aGpScTFLaG1CeS9SM2s4KytXUldQ
UEVsNms3V3AybllzR0VWNWlnVVFUd2M1T0lFaGR3SnhFL0hHV3pqeW05WVcydytpeXQ5CjBuNG9B
bEVpd0NSeS9mcjFCZXNDb2JKODhGeFRnQTgyTFVJYkMrMUpLRmlIUXc1RWFDbHk4c2tuaStFcnBF
bmVxeUR4bURObmpyQUgKa25PbUVnMENxb0JFZzd1ZVZSR0lCUUk4L0xGT0V6Zkt5d3NHS2VKSDQ2
SjhBUEtLRlN2RXVsN0lBazZsdUhpNHpwbVlNSWtnK2I5Ygp0MjRTUWhFV1JrWklFNVNhOWV2WEww
WFg5QnlLZ0NJUUF3VEljWWhyclErU3BSRkNoM2dXRmxKc2Jna2hiMkc1TW9VOGx4NHJOUUwvCkN3
NU12VjIzS0FLS1FBVWpRRTRIU1cvV2NvWVYvb2dqam9nVkluQ2RrNndYUituZnY3OVkvK0I3Yjll
dW5kQWdCOGV4ZXZWcXMzRGgKUWpOOSt2VGdKcWQrdi9ycXExS01rUENRQXc0NFFFSXJDQnV6OHYz
MzMwdG9uLzJ0MzRxQUlsQzVDRmdGcEhJUnFENXlqRkhrZDlSRQpNR2JCcnVpQ3FBTGl3bFhRUGln
Q01VR0FDdFVrUnNkSm9MRWw1aGNQQW4wbkpJdmZKRHZEeW5UUVFRY1ptS1ZjRkdwOUVLdU1Ja2d0
CmtLQTg5dGhqRWlkTmdVS0trYmtxUC83NG95Uk1VZ3dTR2xDS1FKSmM2aytHSmF3UFN5ZmZLb3FB
SWxEWkNNUWhUNlhVVndpV05LSVAKb0dqT1Y4akRJNmRtMWFwVitSNmlZUHRwQ0ZiQm9OUURLUUxs
andBSnhDUkxIbi84OFVLbFN1RWpQQ1MyTG9XTENQQWl1L2ZlZStXaApEV2MrVmRDeEpHRmhnellZ
YTd5ck5VRklMaWZzTFNpRWxjR1NRNXcwTk1nVW9YSlpvQlBGdzRIUzBiWnRXMFBGWm1Ld1NhcW5P
Q0ZFCkJpVFVFcHROb2l5c1hoMDdkblI1U05vM1JVQVJLQ0lDcVJRUUN1cVJ0SjlOdUNrSjVuSElp
OHNXUnA3M0dIQjROc0lTWmtQSnN0MmYKWnpEMHZRaTFtYWdYdzNkVW9ncElWTWpyZVJXQkdDSkFI
Z1VUNHR0dXU4MHNXclJJaWlFeFNjYVQ0TEtnYktBbzhZbTcvT3RmL3hLRgpEKytCRFkxemZVeTg2
R0JRZ3pMU0NoU2kxQU5adkhpeHZGQ3Z1T0lLMDkxalZvUDFodmFxZ0ZpazlGc1JxRHdFVWlrZzc3
enpqdVJ0ClhITEpKV2Jnd0lFcEtYU3BFay9ZNmhsbm5HR21USmtpQnFlNG8rZ1BTNXMxYTVhQnFD
UlhRV2toQkt0WHIxNlNHNW5yL29Wc3J3cEkKSWRIVVl5a0NGWUFBVmhqTHNsSUJ3M1Z1aU5EeTdy
Ly8vczcxSzEySHFMaUxWOE12M0Vjb0hWWUJZUnRXVFhqNSsvVHA0MitxeTRxQQpJbEJoQ0tReXJ2
RDh3d2hEMVhlb3lsTUpuZ0tLR2M2WU1jTWNkZFJSeWVLNXFkckhZWDBoNjVYZ1FVbWw1SlVLQzFW
QVNvVzBua2NSCitMLzJ6Z1RlcW5ILy84Kzk3alZFS2hrYU5KSm11Z2dsS2hXcE5CaENNaFFxU1RR
WUtpSzN6SW9HaWtwRVZKU1VhRElyMG8xS002RlIKVWhwTWNmLzMvcjJmKzF2YjJ2dnN2YzgrNSt6
aFdmdDh2cS9YYWUrOXh1L3pYcnU5MXZmNVRpSWdBb1dVQUdGN2VNMGlTd2czYU5EQQpqQjgvUGdj
VnVqcVRiT2x5YUY4T3BiVkFCRVFnYVFSaUdTRGVRek5ocCtTVXhSTHkvYTY0NG9xc01UNFlaN1FL
aUxIR245dnlaQjRyCnQzUEZXcThrOUZoa3RGd0VSRUFFSENMd3lTZWYyQnZ1L3YzN0hkSXFNVlZv
aG9iZUpNdjdoWnRnTkNOai9mcjEvczMwWGdSRW9KQVIKaVBXQUhHdDVMRHg1M1Q3V2NiSnR1UXRj
NUFISnRtK1Z4aU1DSXBDVkJLaHlWYTllUFVNcDVHSERoZ1Z1aklSYlVkV0xQOG9LRTVaRgpFUUFL
QW1Cd2tJQytaODhlbTFUUEdLTVpKb0VidEJRV0FSRklLb0c4UGpqN1MzMUhLaEp2WGVTMkxueW1o
RzQyaVF5UWJMcWFHb3NJCnBKQUFpV3VmZnZxcG9lczJNYmc4TUpZdVhkcFE1cFpxV0s1TEVQVW5o
cGtTdGxTSVF1Qk1GYW05ZS9mYXBvU1VFcDQ0Y2FJdGNlc3kKZi9JOFdyZHViYjh6bE9BbGZ0c3Zr
WDFheUFPUmlJQUkvSThBbForMmJ0MXFLeC9sbDhuT25Uc054NkhxbnlTWUJKSnBNT1hWa0VzRgpN
UmtncWFDcVk0cEFsaEdnVDhhYmI3NXBxMGpSU0k3dXRNVHYwd1NQQ2xpVTU2VnJ1cXNTVlAycFdF
SzVYY3BKMG9GKzVjcVZObkViCm80UU94NVFYcG8rSjY0TGVWSENwVmF1V09mend3MjFuZHd4WS9p
aXBpVUhMRGJGVXFWSzIyU0lWV2lRaUlBTC9JNENYc0g3OStyWmsKOVpBaFEvSTg0VVA1VlVxbkwx
MjYxQXdhTk1qY2NjY2RnYW1nVjlEdlFESWYyZ3VxUzBIM1Q2WUhSQVpJUWErRzloY0JFVWdwQVI0
TwpLWmQ2Mm1tbm1YSGp4dGx6a2R5M2I5OCsrNTVLR21QR2pMRWhOVWNlZWFRMVNsS3FVQjRQSG5U
OUdTNFA0M2c4OER6aGNhSkVMUldrCmdpVDBXY0hMY2VHRkZ3WkpiZWtxQWs0UTRQODdEOUw4MXE1
YnR5NWY0WWxVak1MZ0h6aHdvRFZtR2pWcTVNVFlZaWtSeTNDSXRUelcKY1pMNTBCN3JIT2xhbnRl
eHg5TkxCa2c4T2xvbkFpS1FjUUwzM1hlZndiRG8xYXRYU0pmcDA2ZmJXWGh2UWZIaXhjM2RkOTl0
T25mdQpiRytPM25JWFhvT3V2OGNRcjBHVktsVnNtVm9lUnI3NDRnc3paODZjd0pTckplZkRxMTdq
alVtdklpQUNpUkdnOUt3blR6NzVaSUg2ClB3d2RPdFM0Ym54NFk0MzJtdGVIOEx4dUgrMmNyaXpM
cHJIQVZDRllybnl6cEljSU9FYUFuSW5ISDMvY3hnMTdxcEVzdkdiTkdsTzkKZW5WdmtYMGxPWnAx
ZEJsM3BTdDMwUFVQQS96SGg4MmJOOXM0Y0JyMVVhTFc4MFR0MnJYTGRPL2UzVlNzV0RGeUYyYyta
MU0zWW1lZwpTcEZDUXlCV1NkcjhBQ0I4TmdnUzYyRWJMMDVlSkpzOElNa2NpendnZWZrV2FWc1JF
SUcwRWxpeVpJbXBYYnUySVEvQkV6d2R2WHYzCjlqNkdYcWxZeEEvYTJyVnJuVEZBZ3E2L0I1Y2I3
c01QUDJ3Ky92aGptL2ZScFVzWGcyZW5YNzkrdGxzNHlhazAybnJoaFJmTXlTZWYKN08wVzZGY2FF
WTRhTlNyUVk1RHlJcEFzQXNsOFdFem1zWkkxdm1qSGlXV0FFRmFMZlB2dHQ2WnAwNmJSZGcydDUw
MjhoL1pZNTRoNQowQXl2OE90TDdtVitpci84K3V1dmRoUXVmQS9rQWNud0YwcW5Gd0ZYQ1RCcmZj
Z2hoNFRVbzNvUnZTaWVlKzY1MERMdnphcFZxMnlNCnNpdmVEL1FLdXY2TUFlUGowa3N2dGNuL3pa
czNONFJmRUg3MTdydnZXZ09FYmNxVUtXTnV1T0VHMDZkUEgxdWlsMlV1Q29td0N4Y3UKTkR0MjdM
RGo4dDlNSS9XZE5tMmFyZXpWb1VPSHlGWDZMQUtGamtDOC95dDVoZUhDZzJjaU9zY2FNd1VyRUFw
V3pKOC9QK2FodkVhRQplZldZeER5Z0F5djhUR2pzV3JWcTFUeHJ4WVFpMFFIK1krWDVJRW5hUVFa
SWtrRHFNQ0tRYlFRcVZhcGtrODBwQlVzSUFGMWw3N3p6CnpxaXgvQysvL0xMOU1TUlB3UlVKdXY1
d3BGd3RUQysrK0dJYkNvZUhpWXBqbE43MVAwaFVxRkRCTEYrKzNCWDBPZlQ0NFljZnpGbG4KbldX
cmVPVllHV01CM3plOElQUU5vV29QVmJRa0lsQVlDU1R6WWRIL3UrRXl5MWhqcGdKZ0l1SjU3cWtl
R0V0aW5TUFc5cGxlSHMrYgprMWZkWEJpN0RKQzhYalZ0THdLRmlFRFBuajN0VFB2cTFhdE50V3JW
ek5WWFg1MWo5RHdVang0OTJreWVQTm01MG81QjEzL1dyRm1HClhoOElvUWZ2dmZlZW9hY0cxOEl2
aEp2VnFGSER2OGlwOTVRTHBuclAyV2VmYlJzUTVtWk1MRnEweVBZOFlQWVNyOXVHRFJ0eWpObXAK
QVVvWkVVZ2hnV1ErZUtaUXphUWVPdGFZVHp6eFJIUDk5ZGZuMnMra1RaczJOa3lMQ255eHhJV0g4
Rmk2UlZ1ZVRIMWQ4QXpKQUlsMgpsYlZNQkVUQUV1QkhuTEtOOVA0WVAzNThEaXJMbGkwejExeHpq
WDBvcGs2OWF4SjAvVTgvL1hSYnV4K2pBLzZVUGFhWm1GKysvdnByCk0zTGtTRE44K0hEL1lxZmVm
L1hWVjdiL0FIa3JpUWplRDNKYUpDSWdBaWFwNFRKQjhZREVNa0RLbGkxcktNU1JpT1FXRWh6ckhJ
a2MKT3hQYkpGTmZHU0NadUlJNnB3aUlRTUlFS1BsS2ZrZGtGWlp2dnZuR3pzenppdWZqaEJOT1NQ
aVk2ZHd3NlBxVDEwRUlFazBIMzMvLwpmVnRsYlBIaXhTR0VKS1pUL3ZqMjIyKzMvVnBDS3h4N1E3
TkVmeWxSeDlTVE9pTGdOSUZrem53SHhRQkp4d055TWgvbzAvRUZTdWIzCndFdm1UNGZlc2M0aEQw
Z3NNbG91QWlKZ0NVUWFIOFRnMHRtYWFsang0bXRkd1Jkay9mRTh3ZG9UZXJKZzdNMmNPZE9HWSsz
WnM4Zk0KbURIREhILzg4ZDRtVHI0U2VrVVlWcUxTcWxXclJEZlZkaUtROVFTUythQWNGQU1rSFEv
STZUQnlrdm5sbEFHU1RKbzZsZ2lJUU9BSQpFTC9mb2tXTHdPbnRLUngwL2FsZ1FtaldCUmRjNEEz
SitWZmlzSHYwNkpHd25pVGFTMFJBQlA1SHdQL2dpZGVUMHR0NWxhQTliSHZWCnJ2STZ6cnhzbnc0
akp5LzY1TFp0TWczUmRQRE5iVHp5Z09SR1NPdEZRQVJFd0NFQ1FXa2s1aEF5cVNJQ2dTYmdOMEEr
L2ZSVHMyblQKcGp5UHgzdDREWW9IeEh0QXBzQUpPWERKRk1LS2tVUXJhaVh6M0FVNWx2OTdVSkRq
c0svSHQ2REhLY2orTWtBS1FrLzdpa0NXRXVCbQp4WXhaWk53K3k3dDI3V3BvaGxlM2JsMHpZc1FJ
bTZQZ2FnNUk1T1doV3RUMDZkTk54NDRkYzNSemo5eld0Yy8wMGFDSlZJa1NKVnhUCkxWZDk5dS9m
YnlaTW1HQTd1RlBCNXZEREQ0KzZ6d2NmZkdBZk5pNjc3REpEdFJ1SkNJaEFlRE85YnQyNjVhdi9B
ODFMZWVoTTVrTnMKS3E4Tm5sNkUrODNOTjkrYzFGUEJrT3FDUVROQWt1bkZrZ0dTMUsrVURpWUNJ
cEFzQXZ2MjdiTS8wT1FjK0hNb1huMzFWZnNRU2ZVcgpIb1I3OWVwbGN4Q0NZb0RRcjRSbWVNbStv
U1dMZTd6ajBCU3lmLy8rTnRrOGFCM1BxZURWdlh0M083eGR1M2FaSVVPRzVCZ3F2VUthCk5XdG1q
U3lhWFZMZzRJQUREc2l4blJhSVFHRWprRXlqd2ZPRXVNNlFDUmVFM3ozL1BTZ1plaE1TaWllb2ZQ
bnl5VGhjMm82UnpHc24KQXlSdGwwMG5FZ0VSeUFzQndueW92c1NEWU8zYXRRMmVBL0lPYUlyM3Q3
Lzl6VngzM1hWMlJydGx5NWFHdjZBSUNkdDkrL1kxOFdyRAp1enlXUVlNR1dTT0Uwc2Y4VVFnZ0NQ
TGpqeitHMVBTL0R5Mzg0dzFlRWk4bUcwOFBzMzB5UVB5RTlMNndFa2ptZzJjeVo5RlRlVDNtCnpK
bGpKeU9vb0pkcytlYy8vMm51dXVzdVE1WEVJSW5mYU9CZVVMeDQ4VHlyNzNsOXZOYzhIeUNKT3ln
RUs0a3dkU2dSeUNZQ3pMcXQKWDcvZVBQend3K1pmLy9wWGpvZkJOOTk4MHpSbzBNQjZGQmozOTk5
L2J6dFhNOXROclhiWEJDT0tmaFFYWG5oaFZOWG16NTl2bUhWegpOYm43czg4K3M5V3Y4QlJRMy82
MTExNnpSa2dRS3BFUnNyZHo1MDdyUGFPcmVUUXBWYXFVN2ZDT2w2MVRwMDdxZkI0TmtwWVZTZ0xK
CjlJQUV4UUNwVTZkT3lxNDEzbytnR1IvQThCc05OQVd1WExseW5oazk4OHd6ZHFMSGY2dzhIeVJK
TzhnQVNSSklIVVlFc28wQVA5SS8KL2ZTVCtlS0xMOHp1M2J2RDhrSDI3dDFySHhEOUQvTjRGN1p0
MjJZSXNjbTBBWUl4OU9pamo5cnl0RjRleTBzdnZXUnExcXhwSCtLOQphMFUxR1dhVmNNV1BIVHZX
RUhmTXJOSlppK2RtZWdBQUlBQkpSRUZVWjUzbGJlTEU2N2h4NDZ3bmlrWitlS0NDSm5qVUhuamdn
VnpWCkp2ZURQNGtJaU1DZkJKSnBnSGhleGorUHJuZEJJZUNGcGFGdnhZb1ZiVVJDWG5YM3d0bGtn
T1NWbkxZWEFSRklHd0Yrb0FpTDJiRmoKaDZsUm80YXBVS0dDK2Vpamoyd1NJNG5jUE9BLytPQ0Qx
a2g1OHNrbkRkVlptSlhuaHpIVFF1N0svZmZmSDFJRHc0SzhEL3BuNExYeApwRU9IRGxaZlpwUDRj
MVhnZnUyMTE3cXFudlFTQVJGSUlZRmtobURKQUVuaGhVcnhvZkY4NC9XZ1AxVEpraVh6ZFRhODBY
aC9YQ2gxCkhyeXB0SHdoMTA0aUlBSjVKVkNyVmkyYkE0SkJRVVdpRjE5ODBSQjJkZHR0dDluWitL
T09Pc3BzMmJMRkdpZnZ2dnV1SVNhVmJWMlUKNTU5LzNqYnc4eHNmM0lqZmVlY2Q4OVJUVDdtb2Nw
aE9hOWFzQ2ZzY3RBOTRta2dtVGJTQ0Z3bm9HTHdTRVJBQms5VEtWZjQ4QXJFTgpGb0hUVGp2TmZQ
bmxsd1ZTZXRpd1lRWGFQNWs3eXdCSkprMGRTd1N5aEFBUGpEeTBrNnp0dVd4cDROZTVjMmN6Y09C
QTI0aHcxS2hSCk50eHErL2J0MXF2Z2FzSXdNYzk0YTBnODlNdkVpUk50eUZYVHBrMzlpNTE3VDBK
MnBMdjh1KysrczRVQkNCM0RVSFJkRmkxYVpIT0kKMnJadG02dXFoSnZnclNJWFJDSUNJaEJlaHJl
Z1BHU0FGSlNnOWs4V0FSa2d5U0twNDRoQUZoRW9VNmFNVFhEbVlSQzNMOG5iZUR4NAppQ2RzeVN1
alNrT3NNODg4MDVZMGRIWDR6ejc3ck8wY2pKNmU0UDFnREFNR0REQUhIM3l3dDlqSlYyYTg4QndR
aG9GUk9HM2FOR3Z3CjRjMVp2SGl4dWVtbW0reFk2dGV2NzZUK25sTFUzc2VvS0ZxMGFNaW85ZFo1
cnhoYUsxYXNzSGxIM2pLOWlrQmhKNURNRUN3WklJWDkKMitUTytHV0F1SE10cElrSU9FV0FNSmdi
YnJqQjlPelowMVluYXRTb1VaaCtKSnVUSDBKNDFodHZ2T0ZrT1Y1dXR2ZmNjNDk1N0xISAp6TWNm
ZjJ6elZBanQ0VUhYbTJrUEc1U0RIMWF1WEdrN0g5UDdnNUxIa3lkUERsVndPZU9NTTZ3WGluSzg1
SW00TEhqS01BWVRFYnh0CkVoRVFnZjhSU0dibHFraHZxaGdIandBNWpSU0pJYXcxeUNJREpNaFhU
N3FMUUFvSkVGSkZzdHRWVjExbHkvRFNiSkJTdHA2ODlkWmIKdG1RdElVenQyN2UzWVZuOEtMb2tW
TUI2NzczM2JENEJ1bEcxYTh5WU1lYkdHMjgwelpzM3R3L3ZsSDkxV1U0NjZTVGJsSTl5eUJpRQpr
Y0xzS0tWNVhaZnExYXZiNzhsaGh4MFc1Z0doc2d0bG5qR2d1QlkwTER6MDBFT3RnZWphOThsMXh0
SXZPd240dlJhVXFDNVNwRWllCkIwb29KeUlESk0vb25ObUJTWnpycjcvZXpKczN6MDVDa2NPWWwz
TEZOT0psUW90N0gva2ttZjU5bFFIaXpGZExpb2lBV3dUNGNTTEUKaW1hRXExZXZOcEVoUG84Ly9y
Z1pQbnk0NFlHU0VDSEtyRkltMWpXcDZFdU01eUgzdnZ2dXM2Rk01RkhRWkpFYk9xRllsSXAxVWFw
VwpyV3FUL2FQcGh3ZUs4c0dFeGJrdUpEL1MzREtlWUlnUVprYVRzRXpmSE9QcHFYVWlrRTRDVkNQ
MGhENE8vQ2JrVlREcW1UbVhBWkpYCmNtNXNUMm41SmsyYVdBTUNqVEFvNlYyVnFBR0NFY3RrSWhN
K1JBWFFUSmpKT0MvSE14T2psQUdTQ2VvNnB3Z0VnQUI1RW9RcjhhT0YKSjZSY3VYSm02ZEtsdGtQ
MSsrKy9idzJTZi96akgzWWtoRGd4VTAvZmtMdnZ2anVzWjRnTFF5V3BucHdQOUo4eVpZcnQ2bzVl
clZxMQpNaGRmZkxFMXNtYk5tbVZTMFhVM0dlT1BabndRVXRhalJ3OTdmVzYvL2Zaa25DWmx4K0RH
bVVoWTFTbW5uR0o3em5DRHhMaVZpSUFJCkdHczRpRVBoSnNEOUMrK0ZKK1JrMXF0WHovdVk2MnRr
R0I4VFYrUS9qaGd4SXRkOVU3V0JESkJVa2RWeFJTRGdCREF1bUkxbWxwMEgKK0ZkZWVjVXNXTERB
enNKUVFlcUpKNTRJalpBZlE4clpZcXpnMm0zZHVuVm9YYWJlTU5QREROSHMyYk50QjI2OEJGVHU4
a3VWS2xYTQpCeDk4WUVPRCt2ZnZiK2JPbmV0ZjdkeDd1cUZUOG5qdDJyVTJSR25xMUtuRzcrRnhU
dUgvVTRqbWpva0lCaXlKNmpTTnBIS1oxMFF5CmtYMjFqUWhrS3dGK2l5bml3RVFRbGUveUkweThr
RFBBNzdNa1dBUisvUEZIZytjTGc0UEpHU29mRXE2YUYrOEZ4Z1o5c0Y1Ly9YVWIKU3MwRTF1alJv
dzM1ZzVVcVZjb0lFQmtnR2NHdWs0cUErd1RvdU0wZjhjWWRPM2EwSGhBU29abko1bk5raUF6ZUJK
b1J1dEMvZ1FSegpmbWlQUC81NFE2aFl2TmwzcWpMeHc0eXg0cnBRa1l3OGtIampjWDBNOGZRanIy
amt5SkgyNXVwcVdlZDQrbXVkQ0tTQ0FMK3BOSHN0CmlGREFRaEpNQWt5TU1Za3paODRjVzBVd3Qx
RVFNbjM0NFllYnNtWExobTJLSjVvL2hFa3N2UDlEaHc3Tm1CZEVCa2pZNWRFSEVSQ0IKV0FRYU5t
eG8rSXNuTGhnZjZJZHh4STlyb29LaFJXS2U2MUs2ZEduWFZTeVFmcFFXdnVhYWEyeVgzcnpNN2hY
b3BOcFpCRVJBQkJ3bQpRQmw4Q3Fjd1daYUlQUExJSTZadTNicldheFpyZS9LSUpreVlFSGViV1Bz
bWEvbGZrM1VnSFVjRVJFQUVSRUFFb2hINCt1dXZiU2hmCnRIWCtaUlF6SU5RZzBaQXQvNzU2THdJ
aUlBTFpTSUNTK0RWcTFFaDRhQlFiMkxkdlg2N2JrM09YeVFxS01rQnl2VVRhUUFSRVFBUXkKUjJE
Mzd0MDI3SXBFZjM4NXpzeHBsUGN6VTkyS2NzaUpDbUVCZmtsbUl6Yi9jZlZlQkZ3bVFPTHdwRW1U
YkJXOC9PakovenZ5QnlUQgpKa0JCR1A0U2xXM2J0cGtOR3pZa3REbWhydjRxYXdudGxLU05GSUtW
SkpBNmpBZ1VCZ0tVL3FOVDllZWZmMjdqOUd2V3JKbnZwTWhNCjhBcWkvbmdEYnJubEZsT3RXalZi
S3BpeXdVR1VybDI3Mmdwa2tYMUEvR09oUkNqZWtuWHIxb1VXTDF5NDBMUnAwOFoyZjU4K2ZYcG8K
dWQ2SVFMWVRhTnUycmFFNkgvL254NDhmbitmaEVzYll1SEZqRy9jL2VQQmdtOU9YNTROb2g0d1Rv
RmpLc21YTDdPOWdic3BndE9MVgpXTHg0c1dIaUpsNG9LNTRTN29rSEhYUlFib2ROeVhvWklDbkJx
b09LUUhZUjRJSHdvWWNlc2tuZFZGSTU2Nnl6YlArUGFkT21tVldyClZobkt3QjUzM0hIT0Rqcm8r
cE44anRBTU1xaXljK2RPYTRBa29yLy9oa2pWTDJyZ3Yvbm1tL1ptU1RVWGlRaGtPd0g2RkdGOElQ
bk4KcmFONjF0dHZ2MjJ1dlBKS1F4STZqZWdTelNQSWRyNUJHaDhHU0o4K2ZVemZ2bjF6YlVKSklR
K2F2dUxWZU9HRkYreTFqelhXeVpNbgpaL1MrTFFNazFwWFJjaEVRQVV1QTBCOW1YNmdYenV6MWE2
KzlabzBPS21IeFFMeG16UnB6N3JubjJoSzlMcGFFRGJyK1hBUXY5T3JFCkUwOE03TGVTcEVnU3pH
TjVRQWd4NEtiSnJCeC9WREtqbUFDZUU4cnpzcitNajhCZWZpbWVSd0pidG15eGUyQXdrSUFjVDd6
L0s5RzIKNGYvYnM4OCthNXV1TWxIa0w1OGViWHN0YzQ4QXVScmtnVkNLK2Vtbm40N3BzYUFLSmNZ
bTN4Y21yZkNjTWZHREI5MHZlRWtvZGM1dgo2ei8vK1UvL3FyUytsd0dTVnR3Nm1RZ0Vpd0EvVXBU
K2UrT05OMEtLODU0SFNVOElEUm80Y0tEOXNXTzJ6U1VKdXY0ZVMrSzRqenp5CnlFRFBYdDUvLy8y
aEVwRGV1Qko1UGVLSUl3emhJeElSS0V3RThEUWpOOTk4cy8yL0gyL3NNMmJNc0QxellwWGFwU1Fy
RDZQOFA2SjUKYVY0U211T2RWK3ZTUTREcWg5MjdkemZEaGcyenVYVDkrdlV6bE1TbnpEejlyakE4
eVBlaGQ5TGV2WHR0WHl0Nnhnd1lNTUQwNnRYTApOdUhGRzRZblpmdjI3VFk4YTlPbVRkWkk0ZnVR
S1pFQmtpbnlPcThJT0U2QVdSTGN2aDk5OUZGSTAxMjdkbGxQUjJSRFAwS3l1TUh4CjQ4Zk56Z1VK
dXY1K2hsUTB5VzhZaHY4NG1YcmZva1VMeFo5bkNyN09HMGdDbFN0WE5pUUkwL2NuTjhGYmdoRVN5
d0JoZjVyWDhadEkKdnlNWklMa1JkVzg5eGdRVkFqMVBTQ3dOYjdycEprT0pYWVFtdkUyYk5yVWhy
UFBtelRQOGVVS1RWM291SFhyb29kNml0TCtxQ2xiYQprZXVFSWhBTUFzeXFNUE5Tcmx5NWtNSVBQ
dmlnZGZGR0pyYXhEZUV5SktlN0lrSFgzOCtSRUtRZzl3QmhObGRkemYxWFZPOUZJRDRCCm1vMHlZ
KzNsZjhYYmV2bnk1ZmJoOG9NUFBvaTUyYmZmZm12WGtiTW5DUjZCa2lWTEdncHlrTjhSUzY2Kytt
cmJlTmRiVDlncVJramsKUGpRb1hMQmdRWjU2WlhuSFRPYXJQQ0RKcEtsamlVQVdFYUE1WC9ueTVV
TWpvclFmU1czUmJtQWtlVk54STVPektTRkYvKzlOMFBYMwpqNGVjaUVRZVJQejdaUEk5WVFHREJn
MnlZUUhjQk8rOTkxNnplZk5tMi9pS2tLcWVQWHVHMVB2aWl5OXNnamszeFhyMTZ0bnFhcUdWCmVp
TUNoWmdBaFQzb2FvMzNJcDRzWGJyVXJyN3V1dXZNWjU5OUZqVlhpdDl1eEtYZmFLdVEva21ZQUlZ
RTFhMW9OUGpoaHgrYVR6NzUKeEY3UGM4NDV4NGEza3YvQlJLQmZ6anp6VEh2UDNyaHhvL240NDQ5
dExoQmgweTZJREJBWHJvSjBFQUVIQ1p4MDBrbTJsamh1ZXp3ZQozTnk2ZE9rU05jU0t5aHRISFhX
VUxSWHJ5bENDcnIrZkkrVnBhZElYRkdFbWpvbzdoSkh3Y0VRT0MxV3MxcTlmYjVqWjNiTm5qN24w
CjBrdnREQnhsblQzaDVrbTFOYXE5U0VTZ3NCUGcvOEZUVHoxbGhnOGZIaE1GWVRSTGxpeXg2ekht
R3pWcVpGNTU1UldEUVkvdyswM3kKdVJkSzY4ckRwMVZPLytTWkFFVUY3cm5uSHJ0ZnZPSURrUWRt
TXRFL29SaTVQaE9mWllCa2dyck9LUUlCSU1ERFlPZk9uVzBGRmJ3ZQp4Qm5mZHR0dE9UU255Z2F6
M2Z3bytzdW41dGd3elF1Q3JyOGZGK0ZMUllvVThTOEtlMCtWTEVyVnVoQ210WFhyVmpzN3gweXNW
N1dMCm9nVVlIeGl4VkZNanQrajg4OCszM2RFdnV1Z2ltOS9DR1BDazhiQ0VsNFR2bmtRRUNqTUJq
QWtNa0NGRGhwaGJiNzNWR3U5K0hsUWsKSk1uWUUvN3ZZSEJVckZqUmVrMUtsU3BsUFNKZStOWFJS
eCtkOGJBYlQxZTlGcHhBcExlajRFZE03eEZrZ0tTWHQ4NG1Bb0VpZ0V1WAovQTVLUWRMSk9ySU1L
ZzJQbU1tbWxGOGl5WkxwSG56UTlmZDRFZis3WThjTzcyUFlLdy90YytmT3RTVVZ3MVprNkFOeDZE
d3NlY1lICmFweDMzbm5Xa0wzd3dndnRkd2lEaFBBQnZDUEZpaFVMMDVTU3oxUjdrUUVTaGtVZkNp
a0JLaHNSeG9naDBxcFZLOXUzZ2NrRyt1T1EKRStBSjRWcDMzbm1uL2Y5RnVNMkxMNzdvcmJLdlRH
QlF3alZJbnRTd0FlaEQxaEdRQVpKMWwxUURFb0hrRWVCbWhmZURHV2xjdjU0dwp5MGFUTEVJREtC
UFp1blZyYjVWVHIwSFgzNFBKd3p3R0lBOGREUm8wTUZURkloWjQzTGh4cGt5Wk1yYjhZbVJoQUcv
ZmRML1NRTzNzCnM4OE9PeTM1T0lqM0hhSjNERjZ6U09PRGJRaWRJM1FyTCtFRjdDY1JnV3drZ0Zj
VG94enZZYXdlSHBSam5USmxpdkZLOTA2YU5NbTAKYTlmTzluckErOEgvS1hwQkJMbVJhVFplMjJT
UGlhN201QXRTaWRMN3pVMzJPWko1UEJrZ3lhU3BZNGxBRmhLSWpCc2xIMkhDaEFrMgpiSVllSWE3
LzBBVmRmNzVTbE9Pa2F5M05IOWV1WFd1NEJ0UjE1NkhpaWl1dWNPcGJSd0k2K1VEUnhET1NLRmhB
bmZwWVFtZ0Joa3lRCkV1OWpqVVhMUmFDZ0JQQ0FUcDgrM1V5ZE90V1cwY1Y3U0Vnc3llbE1TQkI2
RlJtaWVja2xseGorSk5sSmdFa2NQRnA0d0Nud3dSK2UKTVUvNFB0QTdxbmJ0MnFaT25UcW1mdjM2
dG1Hd1MvZHJHU0RlMWRLckNJaEFRZ1JJSWlZWlBhZ1NWUDFyMXF4cEcwN2gvU0RYaG5HNApLQmdO
aEl2NXl6ZmpNVU04QTRUeW9qTm56clEzeDhneDBCRWR3NVptV3hJUkVJRS9DY2lvK0pORllYMUh3
UmZDOG1nSWpKYzRsdUFKCklSU1B2OWRmZjkxdXhzVFE1WmRmYmtQMVlrMFN4VHBlS3BhckQwZ3Fx
T3FZSWlBQ0lwQWlBdVRqdUdwOE1HUU1EN3J5K29XcVY0aVgKUThTTUhPRWtWUGxoTnBjU3oxVHdJ
YXl2ZWZQbTlxYnAwa3lkZnl4Nkx3SWlJQUtaSUVEa1FaTW1UV3h2RDgvNHdGdU1NZUh2czRUSApQ
RnE1WlNhR0NKdW1uQy9ldEV5TERKQk1Yd0dkWHdRY0pzQ1BIRjNQNmI3cUYyYTBjZi9pOWcyYVVJ
MkpFQ1pKYWdnUUVrSUNMRE53Cm51RHRRTHhaTjhJRDdyLy9mak4wNkZCejJtbW4yVHdXdkNJWFhI
Q0J6VGtxWHJ5NHQ2dGVSVUFFUktEUUUzai8vZmR0b1JFTWpzYU4KRzlzdzZBMGJOaGp5UGdoWDVm
ZVc4RngrVi9HUVV5SE5xNDdJaEJENWdqMTY5TEFUUkZTdTdOQ2hnNjFXbUVtd01rQXlTVi9uRmdI
SApDVkRSaUFwWGRCVkgrTXdQM3Z6NTg4MEREendRWm9DODlOSkxoaEtzcnN2cHA1OXVxelM1cnFk
ZlB6cWhNM08xYU5FaS8rS3c5MisvCi9YYllRMy9ZeWpSK1lDYU9XVG9TMFNtNVMzVTB3Z1VJSWZO
NkU2QU9GY3BZM3JCaFE0UEJRU0p0dDI3ZDdIZU5NQ3lKQ0loQU9BRW0KaENoR1FVVXN2SWR0MnJR
eFRaczJ0ZitYK3ZmdmJ3alA4Y0lkdy9mVXB5QVRJR2VPOER1S3dlQXg1anJUYTZsU3BVb2hiemdl
WTRvTQozSEhISFhZYktoRmltSkEvZFBMSko5dXFndndlZi9YVlYrYlZWMSsxSmRzSng5cTFhMWZH
MENnSEpHUG9kV0lSY0ovQXd3OC9iRnEyCmJHbC90SmhCR1Q5K3ZKMTl3WXRBU1VqS1FKSUVSK0l4
NjJnKzkreXp6MFoxLzdvd1dtN09lL2Z1TlhTSERaTGdUai9qakRNTXhoUFYKcnlqTDZRbE4vb2p6
clZxMXFtbldySm01NjY2N2JCaVR0ejRUcndNR0RMRE5CdWtiZzhIS1RaQ0hwc2k2OVpUbjVjOHZl
S2ZZUnlJQwpJdkFuQVdiQWUvZnVIV282K09lYVA5OHgrMDJ2RDNMMHlLR0tURXovYzB1OUN4SUJQ
QnVFVmRIOXZPSWZQVjV5a3hvMWFwaDc3NzNYCmRPL2UzUm9iL3UwNURvWXJubW9taWloNXppUmpK
a1Fla0V4UTF6bEZJQUFFbUdtanhDdUdCdys0eks3d0E4aERMak1xanovK3VPMFAKc24zN2R1c2Ev
dmpqajYwQkVpMzIxSlhob2l0R0NCVkVnaVo0QmFoNmM4b3BwNFNwVG1sYnVvelRDSExNbURGeHZT
UmhPNmI0QXgzTgpjZlhUNndQdVZHRkpSTWh2V2I1OGVTS2JhaHNSeUhvQ2hORXdVNDFIMGV0NEht
L1F6SG9QSGp6WThCREs3NElrK0FTNDd2VGJTc1Q0CjhFYkx4Q0cvdjE2dWlMZmNlMlZTaUVuRHlI
dzliMzA2WG1XQXBJT3l6aUVDQVNOQXBTVzhHUU1IRHJTYW4zWFdXYllIQldYK0NMR2gKN0NQaFZw
ZGRkcG10V01SR2tYa2lMZzZabkJWcXBMdlVzVDFSVG9TOUVYWVJMVHlKbVZFZVBFZ3lwTCtHSzhJ
TUxPV0M2V1B3NVpkZgpKcXlXMXkvRXZ3TjVKSGphSkNKUW1BamNkTk5OdHA4SDNzTjY5ZXFaKys2
N3o1YmtaaktJY0J6Q0dBbTNZV2JiTC93ZTQ2Vm1Ba2tTCmJBS0VRRWQ2aWhNWkVYbDFSQ3ZFRWlZ
Uy9hVjdZMjJYcXVVS3dVb1ZXUjFYQkFKTWdKd0RqQSs4SHJob21VV2h1aEZKd2lRTk01dE4KSlNQ
Y3ZQU21ZQ2FGV0g5ZVhldEw0YjhNUEFqamVnNkNVQ1dLVURFTVBVTGRxRnJDVFlqR1lzeHN3WjZx
VXErODhvcjkvTXd6ejFpUApsSXRqSSs2WWNmQXdsVitodVJyZUg2L1pXbjZQby8xRUlDZ0U4R2p5
ZDlGRkY5bmZZWDlwYS84WXFCekh3eWF4L1lSblluUXcyWUszCmx3YUdoR25TTUZZU1RBS0UxZEgz
SmE5QzlVRitlK00xb0dSU2g3RFhURlJXbEFja3IxZFUyNHRBSVNCUXFsUXArM0M3ZS9kdW0reDIK
elRYWDJGZHVnRjcrQVhINnpMQ3hEaU9FSHpGWE82SjdsNHdiTkVuUE5NSGpvZDVsb1ZRaUJnY3ov
OXlBZUFnaDdBM3ZFMkZ1eElRagpMTWVkZnYzMTF4dVNGVjJWbmoxN0dyNVhKSnR6UTB6MGorMXBx
RVdSQXp4ekVoRW9MQVFlZWVRUkcwNkZOenFXOGVHeHdORGdONDNmCjQ2Ky8vdG9hSXhVcVZMQ3Ir
L1RwNC96dm5UY092ZVlrY09LSkoxcFBWODQxc1pjUXVrZlJHSElEWXdtaHlIak9NMkY4b0pNOElM
R3UKakphTGdBaFlBczg5OTF5SWhEL01LaktobUkyaUxRdnRuT0UzUEx3dVdMREFoaWp4bzh5Tk90
RzhoRXlvVHFsRnZCMUkrL2J0YmNsYQpUdytxUmhHN1N6NE9naEh5d2dzdjJCS01kOTk5dDdlWmM2
L2tndkNYWDJFbVZ5SUNoWUVBSGtNZURpbmtrSWp3MjR0UnoyL2N0ZGRlCmF4T055UnZoZDQ2U3JI
aW1WNjVjcWNUMFJHQTZ0ZzNSQm5pNktZbC80NDAzNXFvZEVRc1lwRXdTZWtabzVFNVV2NkpRQVJN
OG1SSjUKUURKRlh1Y1ZnUUFRNEtaMjFWVlhoZjVpL1pnRllDaG14b3daTnFUcDFGTlB0YUZLelBw
a01nRXZVV2FyVjYrMkhjVHgybmlDSVJoNQpMUzYrK0dKYnF0ZmJ4clhYVHAwNm1jOC8vOXpPem5v
ZGVua2xST0RkZDkrMWxWaElzdVJHNjYxbm5OUzZYN1ZxbFUzQWpSZEs0TnA0CnBZOElGSVFBNGFL
TkdqVUthekFYNzNnOGRQTC94ditiVnFKRUNmdTdSNVVqdkNLRWMwbUNSNEJpTVB4KzBzZURVdVVm
ZmZSUnpFRlEKb3BlUVBDWU9XN1Jva1dOU2tGQldxaW5palNZaWdEek9USWs4SUpraXIvT0tRQUFJ
Y0ZPYlBYdDJTRk02Vm50MTVsa1hGQ0hPbFp3VwpHdVI1d3V3UGVTdk1HSG9kdXIxMUxyMVMzU3B5
MW9zYkVIWGdrUlVyVmxqM1BEY1RCTmU3dnl1dVhaamhmd2daZ3pXOVFLSUpoZ2V6CnRjemNkdTdj
MmZDWkJFbUpDQlJXQWxTeHdxQklWS2lVaE1jVXIwbWszSG5ubllZcWhaUlY1N2NrVXlFM2tYcnBj
K0lFYU5vNlo4NGMKYTBSaVNKWXVYZHIrVHZKS0R4QytLeGlabnRjY0x6bjVtNUdDaC95TEw3Nndp
ekZRbVdETWxNZ0RraW55T3E4SUJJUUFzeVY0RGJnaApubnZ1dWFaOCtmSlc4MmdHU0xSbExnenp3
UWNmdE5XWUdJc254TlV5RmtJVVhNMmR3TkNnendvUDU1NXdnNkcwcmVjTnFGMjd0ZzNUCklQNmJL
bGl1R1Ivb3pZeWNsenZralNQYUt6ZlRwNTkrMmp6NjZLUFJWbXVaQ0JRYUFuZzRDVmVjTzNkdXJt
T213aHd6NHdpL0I5R0UKLzFmazZWRTlTeEk4QXNXS0ZUUFRwazJ6eFFiUW5zbEFHdE95Yk1xVUtk
WXI0aGtmVkIrazd4SmVqa2c1N3JqajdDTHVFM2liT1c2bQpSQVpJcHNqcnZDSVFBQUtFWUpIZ1RC
SzBWNFdJM0FRazJrTzc1eDF4YVdnMGNhSWVQaFc2SW1YMDZORTJaSUZrK2t4MmhJM1VpODgvCi8v
eXpkYnRUdllZU3ZGNzVYUm85NGxxUFZnM3FyMzhOL2s4Nm9XYkV2MHRFb0xBVG9Hb2NsUWZ4M2hL
SzZCZHkycGgwd0ZpbjFEV1QKRWdoRk5xSUpENk1jTHhHREp0citXcFo1QWxTZ3BFY1MzbnZLeVVj
S3YvK0U0cEpjVHVmMGFESjI3RmhEUjNRbXRyeDdlYlR0MHJGTQpJVmpwb0t4emlFQkFDZURSSUVh
ZmVHUWVlS2szajV1WERxc1lHNVRycGZ6cjlPblRiVytOYUEvRm1SdzZNNGlFSEtCZnRKa2VsakVM
ClJKOFRidUpVbmJud3dndHoxTlRQeEJob0JFblNkWWNPSGF4Ym5VVHp5cFVyMjlqZW9EVVk0enRF
R0JhR2JDSkNXQmxqajlZUEpKSDkKdFkwSVpBTUJIalEvKyt3em14OUZIc2RSUngxbHlwWXRhNmhP
U0g1VXBNZjV5aXV2dEhranNjYk94SVhMUlNwaTZhM2xmeElnWEpoZQpNUHp4SGNBZzRmdEFlQ3VW
RTNPN0J6UEJReTZKQ3hMODZUSVhLRW9IRWNneUFzeStNenRDYkNubFU1bDk1MEdleERiY3ZRZ2VF
QjRxClNZNmpYQ3d4eGk0MStDTnhtYkNEeVpNbjIzalpXSmVJVUN4MDU0ZWJEc0kwOTNKQjZIbUJj
VWU4TnFGaTZNYU01OGlSSXhNS1ozSmgKREo0T3pNNWlVQ1VpeERvVFFpRGpJeEZhMmliYkNmQWJn
QmVVa0JsQ0xERkltQVNLTkQ0SWN4dytmSGhjSElUU3VseXBNSzd5V3BtRApBR0Y2ZU1nd1BNbVp5
ODM0eUhHQURDK1FCeVRERjBDbkZ3RVhDZkFBaUdGQmZ3Ky9xNWVIWXM4QU9lS0lJMExKakpGSjBw
a2VFK0VKClAvendneUg1TWhHcFZxMmFOVUxZaHdSb0Y0VFp6cVpObTRaVUliWWJReW1vUWxsSXdz
Y3dMQ0pEeFRCbXVXWlUvQ0xVaEx3Y2lRaUkKZ0xIRytHT1BQV2E5enZmZmY3OE5HU1dzbEdJVHpH
YVRDMGFCQnp5a3VRbkdCMTRWaVFpNFFFQUdpQXRYUVRxSWdJTUVDTE9LSmw0WQpqWmZ3Rm0yYlRD
OHJXclNvTGJtYkZ6MEl4NG9XcHBXWFkyamIyQVRveWp0cjFxellHL3pmR2dvZDBBVmVJZ0lpOENj
QkRBMjhJUWdlCmFReVEvTXg0TjJqUTRNK0Q2cDBJWkpDQURKQU13dGVwUlNCb0JQYnYzKzlVbUZY
UStLVktYOEl4WEErdE9QUE1NMjF6ckdnZUVEd2kKR0g5NG55cFZxcFFxVERxdUNHUUZBVUpqK1pN
VUxnSVVTcUdpSTBWSktDZ1E2U2tPd24zQWY4WDBEZmJUMEhzUkVJRzRCS2lnc1dYTApGak5reUJE
bkgzZ1pDQVlUb1QxSEhubGszSEc1dnBMWlRqcWRrMmdZV2M2V213N0ZBUmpuWFhmZFpjTXlYQnpQ
dmZmZWE4NDU1eHdYClZaTk9JdUFrQVhvVWtYeE9meHppL0NXRmx3QmR6VnUzYmgwcW8wd1NlcVFC
UW04bytrRnh2K09QQ3BiZSsyaXZyT2N2VTZYYmxZUmUKZUwvUEdya0k1SmtBeWViRUlTOWV2RGpQ
KzJaaUJ4SzRLVWRJdGE1SW9XTndvMGFOQWhFVHpRMkNLbDMwTVNFSjFSUHEvL2Z0MjlkNgpGbzQ1
NWhocmlIanJYSG9sVVRKV2VWQ1g5SlF1SXVBS0FTWWRlTUI4OTkxM2JlR0pSUFZpSDNLdDJGK1NQ
UVF3T1B3OVhMeFFhUDhJCk1WYnBHWVducEgzNzlxWk9uVG8yWW9HOE9zSmZhVVJKbzFmdWU3VnEx
YkxGV2J6K01mN2pwT3U5REpCMGtkWjVSQ0NnQlB6R0JqOWsKVmFwVXNZMEpnekFjd3BJSTc1a3dZ
VUlPZFVtb3ArUnVaSDM5SEJzNnNnQnZEczBnVHpycEpKdGdqK2VEcGxMTWpuTFQ2ZHExcTNubwpv
WWNjMFRaY0RRekJBdzQ0SUh4aG5FOStJeXZPWmxvbEFsbExnQktybXpkdnR1T2plbFdpd2d3NFJn
aWhqRHh3a25zbENUWUJqRWtxCk9oSytTazhZS2dwaW1FWUtWYkZtenB4cDJyVnJadzFRSmd1Sldw
Z3hZNFp0V2tnSGRMNFBlRk1vWUpCcGtRR1M2U3VnODR1QTR3U28KTzk2blR4OGJla1U1Vlc1dWVY
bVl6UFR3cUpOZXRXclZxR3JnV1dDV2lCdjl4SWtUUTgzK29tNmM1b1hVZHZjTEZiQm9Na1VkZnpx
Rwpld21wR0NVMFdlU2FsQ3RYenI5TFlOOVRWWTFTMEJJUktLd0VNRUFRSGpvSERCaVFFSWE5ZS9l
R0RBN2VNL0ZDQ1c5Q05EMWpKcUVECmFTT25DR0JzY0QvZ0hqQm8wQ0RidHlyV1BaaEpONHdPcWxY
U3Z5dWFVQzQvc2hKaHRPMVN2VXc1SUtrbXJPT0xRTUFKMENlRFhpRE0KcXF4Y3VkSzBiZHMyTUNQ
aUpzN3N1NWQ3c0duVEp0c0ptSVorTkxyNzRJTVBiRm5MNTU5LzNuWVh2L1RTUzUwWkcwMFU4V2d3
cTBVagp2Mm5UcHRuRVU4S1p1TEg0alNvNnVic3U2RDl1M0RqYnk0QW1sbmh3WWdrOVhNNC8vM3c3
ZnJyL3VwNWdIMnNjV2k0QytTWGdoVkJSClNyeE1tVElKSFlZK1FaNlFLMGF5TW8xV3liOTYvUEhI
eldXWFhXWjdoUlF2WHR6YlRLOEJJRUNvYlpjdVhhd0hQQkYxTVU2WU5HU1MKaWhMT3Jvb01FRmV2
alBRU0FVY0k4S0JJSjNHNnA1TGtURzhLK2pZd3crYjZqZXpUVHorMXNiRGViQThlQWd3cERJL3Z2
dnZPVmw2Ngo1WlpiVENiallHTmRaZ3lNTys2NHczejAwVWQyRmhOUHp1elpzME9iMHkzOHBaZGVN
cmpWdWVGUUhjVlZEOGlpUll2c2RjRHdTRlFJCk16ampqRFBzZHd6RE45R0hzRVNQcisxRXdHVUNl
RGJ4UHRPRU1GSEJ5UGVFbkRFTWQ3eW0vTC9EK01ETGUvdnR0enYvdSsyTlFhLy8KSTBEanljamlJ
N214SVN6WDg1TG50bTJtMXNzQXlSUjVuVmNFQWtKZ3pwdzVoaGwyZW11OCtPS0x0a0VocWpNTHo0
d2JOelR2QWQrMQpJYTFaczhiMkE4R0k4bWJSYWFCSU5SR0UwQ1dYdXJkSDhxTUpKSDB4U0NyRmNQ
S0VobjBZZ0R4Y1BQWFVVd1l2UVg1NkFuakhTL1hyCnZIbnpiQkk5czdsVVhjRXJGVTh3ZEptMTVj
RkpwWi9qa2RLNmJDWEFaQUxOU0hQN3YrS05uOWgrdkIyZThBQXF5UTRDR0tLZVJ5elIKRWZFNysv
bm5ueWU2ZVVhMmt3R1NFZXc2cVFnRWh3QS9aRHlvTjI3YzJGWmg4alNucXRHT0hUdHNCU1pDYTd3
SGZHKzlDNi9vMTZSSgpFK3ZCSVhRcHN0d2duZ01lY0YwTVlIK1ZBQUFnQUVsRVFWUVhTdkR5NTBu
MTZ0WHRXd29FUFBua2s5NWlaMTk1aU9yZnY3OXAwNlpOClFqcFNNcEtLWHhJUktLd0UrRDJseUFR
VFBYZ3pjcE1ISG5qQVZqOWlPd3dYTCt3MHQvMjAzbjBDMWFwVk0yKzk5VlpvOGk4UmpaY3MKV2VK
VVRtTTBuWldFSG8yS2xvbUFDSVFJNFBvbEVmS2lpeTR5Nzd6empybm5ubnRDWlcyWmdTY0V5UDl3
SE5yUmdUZVVJNlRhQnpOQgprY1lINnJIcysrKy9kMERUMkNxc1hidldydVNoSWxMd2ZBUkJLUHVv
Sk5nZ1hDbnA2QklCcWhnUisvL0xMNy9FVll0K0ljT0dEUXR0CnczNzhaa3V5Z3dBR0NONHRyekJC
SXFPYU9uV3FJWC9UWlpFQjR2TFZrVzRpNEFnQlpxLzVPK3Vzcyt3RCs3WnQyMEthTWF0TkVyZUwK
d3N3NytSNyttekhHeUNPUFBHSmpvcmxwWTFSaFJMa3FWRDJobDRrbjVJUUVUU2g1VENmMFJPV0pK
NTVJZEZOdEp3SlpTNEFjS0VydwpFb1pKRGxpa2tJdjMzSFBQMlpCU3o1UExwQVM5SGlUWlF3QURo
SHNaWWJoNDlYT1QwYU5IbTFHalJwbmF0V3ZudG1sRzE4c0F5U2grCm5Wd0Vna09BSkdCdWhDTkhq
alRISDM5OFNQSGZmdnN0MXhtNjBNWnBmbE9xVkNuYnFJOFplQVJEWTlLa1NlYUtLNjZ3TjI0ZTdL
a3cKeFUwYkE4czFvZXd4TTEvMEsvR0V2aVVrSlFaSjhEU2RmUExKQ2F0Y3JGaXhoTGZWaGlLUXpR
UUlyVUlJdzJyV3JKbE5TcWNwSFo0UgpRakhwZnUyVnJDYS9qWkJNRjhOaHMva2FwWHBzNUNueVBh
Q29DdjFkdUZmUksybmZ2bjMyMU9US2JkeTQwVXllUE5rMmZMM2hoaHRzCmJtUDM3dDFUclZxQmpp
OERwRUQ0dExNSUZCNEMzQUNwdXVRWFN0a1Nmb1ZoNHFMVXExZlBodjU0cm1nZWhDbHJXNkpFQ1lN
WGg2b3gKano3NnFDRmVsZ1plUC96d2cxUERHREpraUswNlJoNk9KeGhUblRwMXNsMXh1UUV4OHht
RWVGOEtBU1JTQmV2Zi8vNjNOMVM5aWtDaApKNEF4anBjV1R5aXZ3NGNQdDMxQmFFeTNidDI2RUo4
V0xWcllVTk5vaHY0eHh4d1QybzdmYkVud0NGeDU1WldtZnYzNk52eVpFRHZ1Cnh4UXB3ZWpFUU9H
K1JxVXpxZ2NpOUl2Q2MrS3lLQW5kNWFzajNVVEFJUUs0Y3c4OTlGRGJMOE56QmVQK0oxSHl0dHR1
YzBqVFAxVWgKY2Y2YVB4b24vdTF2Ly91cDQwZjZoQk5Pc1ByU0RiWjM3OTUyUE96QjdKSnJGYkhJ
djhHSThndWVLR2JEcUNoRkZUSm1QNW54N051MwpyN09kME9uclFmOFlkTVVERmF0Q3orV1hYMjY3
OXRLSWtDN09FaEVRQVdQTGJQUC9IVThveWNoNFJnbkp3ckFndkpIZkNQcm14QkltCkxhaWNSMWdP
cFZsVjRDRVdLWGVYOHh2LzVwdHZXZytZdjd4dTVLU1pWL0NENXBQeGhQQSt6M01XYjd0VXJ2dkxI
N05Tc2J0QnBmTE0KT3JZSWlFQWdDVERyTm5QbVREc1R3NDJQc0FCSjVnaHdFOEd6dzEvYTVZK2I0
aDhkQlhNOUxmMU02Rk9DRVA0V0xXZUk3NVhYWEJHRAprYktpUllvVXlmWFlPVFpJVUtjYyt5VnhB
YlBURkdqQTB5YkpYZ0pCdk01NEdMMEptV1JkbVNCeVNOYlkvY2RKRndmdXY0UmJFWVpGCnFYa216
Z2pIdzlOUFdYenZkOVN2VzZ6MzNEL3k5VHNiNjRCL0xFK1VnendnY1NCcWxRaUlRRTRDZUJEb3Np
cHhnMEN5Yng2cEdCVkcKS3FGdWhHQ2RkOTU1VVUrQko2MUtsU3BtL2ZyMTFrTVNoSEZGSFlnV2lv
RERCSkp0ZkRnODFLeFZqWkx5L0NHRTRETDVsTjllWEpuOApuWlVCa3JWZlVRMU1CRkpEZ0Roa3Fr
cmgrcyttWkVjYUx0YXBVOGVHTmFTR1hPRTlLcjFZU0pLa25Hamx5cFdqZ3FBbkN4M1A2WHNRCkxZ
NDk2azVhS0FJaUlBS0ZtSUJyWWNONXVSUXlRUEpDUzl1S2dBZ1lLckF3YTBKWGRGZTdiMVBaYXZy
MDZhWjQ4ZUk1d2cwSVFXQzIKeUQ5alJHSm12Mzc5YkVMZmE2Kzk1bVQ1UXZxQlVJS1hFS1lnem1L
V0xsMDYxLzg5ek9SUmRsUWlBaUlnQWlLUTNRUmtnR1QzOWRYbwpSQ0RwQkhod3B3SkhwUEZCWWh4
dVlicFlaMXJLbHk5dktFVVlxU042a1F6ZG9VTUgwNzU5K3pBMVhTOVpTRnd2aWRrVEprd3diNy85
CmRwanUraUFDSXBCZEJLaHFSYm5WQmcwYUpIMWdXN1pzTWExYXRiSkZPS2l1SkJHQlRCQ1FBWklK
NmpxbkNEaE9nUEt1UE94U2M1elEKR0dMM2VVVjI3dHhwcUdwRUJhemZmLy9kcm1NWkpXT0hEaDFx
NXM2ZGF4S1o3VTRsQW5TTlpuekVPeWYxT0Z3UEtkdStmWHVleHhWdgp6Rm9uQWlMZ0pnSENFV244
aXNlVENaOWtDa25DZUZTdnV1b3FXeDBMcjdiRVRRS1VYS2VJUjE0U3l4TWRDUlcwK0g3ZGNzc3RH
U21sCkx3TWswU3VsN1VTZ0VCRW9XclNvclRYdnhaZSsrKzY3dHFJUFZUYTRhWGxDRXl5TUZmcHBF
TUxra3N5YU5jc3NXTEFneHc4ckQvR1UKM0dXTW5tQjhEQnc0MEhwTnJyMzJXbSt4VTYvTVd0TFZu
Y29uRWhFUWdld200UDMyVXZxOFpzMmFTUjBzZVZnWUlBY2ZmTENockxmRQpYUUxjd3loZGZ2UE5O
eWZkRUgzc3NjZk00c1dMRGZtUFRCNXlqblNLREpCMDB0YTVSQ0JBQkx3YklDclRBSWx3QUg5dkJy
d2ZsQU4wCmRmWU0vUWhWR2pCZ1FCaDFTcVBTeVowZUczN1p2WHUzc3gzZDBaTWJCTFhkNldVaUVR
RVJ5RzRDOUhOQUtLL2F2SG56cEE2Vy9EaUUKVXRFOWV2Ukk2ckYxc09RUzRENzgyMisvMlNJZXlX
NHNpQUhxQ1ZFTTZSWVpJT2ttcnZPSlFBQUprQnhjcmx3NTg5MTMzNW1qano3YQpqb0NHV05RUWo4
eWxjR1Y0NUtxUXJFMU9DaDZhTDcvODBqYnI0OGFPOTRQbE5QU2o4aFUzZU1LMktBWHJvbnovL2Zm
V20vUHh4eCs3CnFGNU1uV2graG9GS3FVaHliQnI5MFJBTm9RczluWG9wWmtEZGVrTDJLQVRBOXZ3
dFdyVElQUG5razNiYldOdUhWdXFOQ0dRaEFjOEEKeWNLaGFVaDVJT0I5RDJnYzJMbHo1enpzbWZ1
bTNFL29uSDdwcFplYWUrKzlOL2Nka3J6Rlg1TjhQQjFPQkVRZ1N3bDA2OVl0ekFQQwp3enNkcTQ4
NDRnZ25SK3pQNTFpeFlvWFp1M2R2amh3UHdyVDhzMEJPRHVRUHBXQTllUEJnNXpxMXgrT0ZCK3Jj
YzgrMXM2enQyclV6CnJWdTN0czByMlljK01wVGFwWlR6WFhmZFpROURhTm5Zc1dNTklYRCtUcit4
dHJjNzZSOFJ5RklDR1drc21xVXNnendzendCSjVSaTgKL001VW5pUGFzV1dBUktPaVpTSWdBamtJ
OEVOSUtOYXdZY1BNakJrenJFY2hFN01tT1JSTFlFRmsyVjF2RjViN0RSVnZ1VXV2VzdkdQpOVjkv
L2JYMVBOMS8vLzNtbFZkZWlha2VYWEZka2ZuejU1dk5temZiVUxmYXRXdmJYS0Y1OCtaWkkyVHEx
S2sybnJsV3JWcm0yV2VmCk5iLysrcXV0OWpObXpCaGJBdGx2RlA3MDAwOG0ydmF1akZONmlFQXFD
TVFxdFUzaU1QMTBFaEVtQVNUQkpwRE5ocWdNa0dCL042VzkKQ0tTVkFEUFpiNzc1cG8wYkhqRmlo
Q0ZCTWdoQ0ZhK2d5ai8vK1U4Ym9yUm56eDVicllTOEc2cllSQW9lSG9vRnVDS0V2Q0dsU3BXeQpq
U3Q1ajBHeWZQbHlReThXY25INDQ3M2ZjT0xCeTIrQTVMWTl4NVdJUUxZUmlHV0E0Q2traDQydzBu
aENMeVJ5QmthT0hCbHZNNjF6Cm5FQ3M3d0VUTS8vNXozOGMxejYrZWpKQTR2UFJXaEVRQVI4Qll2
bjUwU01YNUp0dnZqRlVqd3FDeEROQVhCN0QwcVZMYmQ4UHFvMDEKYTliTWx1RHQyN2R2amhBbHJz
R2dRWU5NMDZaTm5ia2NYc2diZkQzR0pGUHlZSVJRSnRrellDbnI3QmUvQVpMSTl2NTk5VjRFc29F
QQozdGxvd293NFhsSGk5czg1NXh6N2Y1Ny85NUYvL0Y1czJMREIzSFRUVGVhRkYxNklkaWd0Q3dD
QldBWUkrUnZrTDM3NDRZZHhSN0ZqCnh3NUQva2c4ejNuY0E2UndwWkxRVXdoWGh4YUJiQ0pBbUF3
ZUVEcFZEeDgrM0RheTRrZHQvUGp4emladmUvd3hRRDcvL0hQYnU0UlMKd3R6QTZXTkNTVjVtNEYw
VUREM3libmlBOEhjSHIxaXhvcUZIQUhwN055ZXVBZUVXTGlYUlgzNzU1VGF4bi9oaXZEY0luZW05
YWl0VQpkL0hpbTcvOTl0dXdTK0NQU1U1ays3Q2Q5VUVFc29CQVBBT0U0UjE3N0xHR1FpQ3hoTkt0
OUhqZzRaUC9pNUpnRXZEL0Z2cEh3RzhuCnVZME5HelkwWjU5OXRvbjFmY0VJWlJLSGltZUVzdkxx
aXNnQWNlVktTQThSY0pnQU5lT3B3RUYzOFk0ZE8xcE5QL3JvSTlPbVRSdkQKQXoyTmpMcDI3V3Jv
UU82S2VMUHU2SU5lbExPTTdQcDcyR0dIaGRYWWQ4bWxUVzMyWmN1V21WZGZmVFVNS1RvWEsxYk1F
QUozNXBsbgptbkhqeHBsMTY5YVoxMTU3TFd5N1RIK2dpU1VWcmhBcVd5RWtucFA0ajNCajlRd1Fq
TnRZNGhrdmlXNGY2emhhTGdKQkloQXJOeTNXCjhsaGpvK0pmcklmVFdQdG91VHNFWWwwN2IvS0o2
cFNKR0tJMHMyelZxcFU3QS90RGsrZytQcWRVbERJaUlBS1pJc0FzTytWUTZmL3gKNG9zdmhvd1A5
RG5xcUtOc253MGVNa2xNNTRHVEg3bDMzbmtuVStxR25kZnYyY0NURUdsOE1MTk9LVjY4SUhnVWVB
aU9GNm9WZHZBMApmRGpoaEJOTWx5NWRvallLZy9mbzBhTnRDV1FlTU1qTDhUZFdUSU42ZVRyRjdO
bXpEUW5uaEF4NHhnWUdoVGU3RnkrcE5xL2I1MGt4CmJTd0NBU09RVndQRVB4RVRPZFI0NnlLMzFl
Zk1FSWgxdldNWkpyRzA1RjduRDIyTnRWMDZsOHNEa2s3YU9wY0lCSVFBRDMzTXZHL2MKdU5FMGFk
TEVlajZpcVU0WURSM0VyN3Z1T3BzWWpRZkI2L1VRYmZ0MExzTUFpZlhqalI0bFM1YTAzbzhwVTZi
WUhoVVlWRHdrdXlLRQpVK0hsaUNZWFhYU1I0UzhJUXRVZUVtWW5UcHhvMWZVTVE0d1A3L3JFTTBE
eXVuMFFtRWhIRVJBQkVTZ0lBZSszc3lESDhQYk5sQ0VxCkE4UzdBbm9WQVJFSUVlQUhpUWZjUkVz
QWxpbFR4amFXQ3gzQWdUZjBuU0JKTTU1Z2hCQlcxckpsUyt0cDhOemE4ZmJSdXJ3UmVPcXAKcDh4
Wlo1MWxMcnp3UXJ1akYrYkdESjUzNC9PV1JUdXl0eTdSN2FNZFE4dEVvTEFTOFA2UEZkYnhhOXov
SStEaTkwQUdpTDZkSWlBQwpPUWhRb2NndjlLR2c3Ri9ObWpYOWk1MSt6eGdpeHhGTFlaZHlWMkxw
R01UbEpNYVBHalhLdlA3NjZ5SDFQU01QdzhJTGVjT1RGa3Z5CnVuMnM0Mmk1Q0FTSlFLd0h4bGpM
WTQzTk0rQmpyZGZ5d2tFZ3I5K2JkRkJSRGtnNktPc2NJaEJ3QWpUQUkrSDgvZmZmRC9oSS9sU2YK
OG9SVWo2SktER1Z1Q1JVS3FtQWc0c21oV0lCTDh2TExMOXNxTFRRaTlNVHpxaEZhNVlWWHhUTkE4
cnE5ZHg2OWlrQTJFc2pyZzJSZQp0ODlHWmtFZVU2enJGMnQ1ckxIbWRmdFl4MG5tY25sQWtrbFR4
eEtCTENTd2E5Y3VXMGVla3J1RTBzU1NMNzc0d2lhaWU0bkZzYlpMCjkzSitlQ256U21NOG10clJ5
SXYrR3VRZG5ITEtLYmJVTGEvZWJIeTY5U3ZvK1NaUG5teVRDd2x4SWw4SEk4VHJyMUhRWXhkMGZ3
b1gKVUxMWkwxVHhRdnhkbXVNbDBPZDFlLys1OUY0RWdrb2cxZ05qWG4rbjVBRUo2amNndnQ2eHZo
K3g5bkx4ZXlBREpOYlYwbklSRUFGTApnQVozZE5TbFdoUzlNMklKMWJBb3lVdjVXRmNFWGFpQlRz
TGU0WWNmYnNleGJkczIyNDlpeVpJbHJxZ1pWdzhlT0toQ1J2ZGp1b3J2CjI3ZlBOb0drRWRYUlJ4
OXRIbnp3UVZzTml4S0xUenp4aERNbE45R1RzRDM2bGlBMElady9mNzd0ZnM1bnZCL2VUWlJ4eEJL
NnBTT0oKYmgvck9Gb3VBdGxBd0ROQXFPTFhvMGVQbUVPaU5EY1M3OEhUKy84WDh5QmFrWEVDc2E1
UnZPc2FUZW04YmgvdEdNbGVKZ01rMlVSMQpQQkhJSWdJME9ucnZ2ZmRzNkpVM0V4MXJlTDE3OTdh
OVFHS3R6OFR5ODg0N0w4ZHA4ZFFzV3JRb2JQbVdMVnZNTWNjY0UycnNGN1l5Cnd4L3dLUFhwMDhm
TW16ZlB2UEhHRzRiK0sxd1R2RkZWcTFhMUR4aVBQLzY0bVRGamhybnFxcXN5ck8yZnA4ZkE4M3ZN
YUFUSlE1R1gKUjdSLy8vNlFBVUlSZzFoU29VSUZ1eXJSN1dNZFI4dEZJRWdFWWoxNGVwNURKbFRp
R1NEMDIrRTN3OFVIenlCZEIxZDE5Y0pYZCsvZQpiZTY3Nzc2WWF0SkxDb24zUFlqMVhZdDUwQ1N0
a0FHU0pKQTZqQWhrR3dFZStQcjI3V3NlZXVpaHNIQVpiNXc4VE5LcndwT2ZmLzdaClBzUjduMTE0
cFNjSitRWCtIQU5LQ3pNN1R4Z1d3c3c4elJXWnFhZGNMRGQyMTRROGlOTlBQOTArd0ZQZGk5QW12
OWVnZE9uU05wVE0KSmIwSmR5dGJ0cXh0cGtoWlo3NUhiZHUyTlY0K0NBMEd1WWxTM2NyZjZaMWwv
cHRsYnR1N05HYnBJZ0xKSXVEL1ArQS9KcjlYQ0w4SgplS1pqeWFlZmZtcFhlVVVjb20yWHFRZlBh
THBvV1hRQ3NhNlJaNGpTMjRNOHhsaUNGeHFKOVgyS3RWODZsc3NBU1FkbG5VTUVBa2pnCm5udnVN
UTg4OElBTllhSzNCN1B3bnBCVDBiOS9mL092Zi8zTG5IVFNTVFovZ3B3S09uUzdKSGh0OENCNGlj
em94ZzJaa0N5dkN6ZXYKWHJmeFpOWldUellISHRSdnZ2bm1VTytNWkI4LzJjY2p5WC9Ja0NGaGg2
VmZER0ZrRFJzMnRMa3EzRVRQUGZkYys3M2hQV0ZsYTlhcwpzZDhucmttTEZpMWliaDkyWUgwUWdT
d2pFT3ZCRTQ4Z2t4SDh4UlBLcU0rZE96ZGs4RWZiTnRZNW9tMnJaWmtoRU9zYStRMlFlT1htCnVW
Zm5KckhPa2R0K0JWMHZBNlNnQkxXL0NHUWhnZFdyVjlzdTNIUTNKNGVDT0h4L2VBK0p6aGduR0I4
SWJtQ2tlUEhpOXRXVmYvd3oKNjU1T0N4Y3VOQmdtTGpVZDlIU0w5K3JsUXNUYnhxVjEvL2pIUDB6
UG5qM0RWUEptYko5ODhrbER6aERHaUpla2pzRXlkZXBVYy8zMQoxOXQ5M243N2JYUHl5U2NiU2lS
SDJ6N3N3UG9nQWxsR0lOYU1kZlhxMVcwWVptN0RaV0tsV2JObWNUZkwxSU5uWEtXME1veEFyTzhC
Ckh2Qnk1Y3JsYW9pU0d6aGh3b1M0MjJYcWV5QURKT3hTNjRNSWlBQUV1TW5sSnN6SWUwS2xMSVJ1
NHE0SXJ1ZEVxMEd4TGJQdGxPUHQKM0xtekswTUl0Qjd4dXJYei9YcnR0ZGZDeGtjZUNMa3MwU1Rh
OXRHMjB6SVJ5QllDWHJKNUtzY1Q2K0UybGVmVXNmTkdJTlkxWW9LSApjT0xjaEpCaTdtdnhSQVpJ
UERwYUp3SWlrREVDc1g0QS9UZElmZ2o1b2ZQbldtUk00Zjg3TVEremVEb2l2VElrY1ZNSnkxL1Jp
M3dYCmNpdm9CVUp1Z2t1aFpJUzVVU1pZSWdJaVVIZ0llQ0UycVJ5eC96YzhsZWZSc2ZOUElCM1hL
Tlk5UHY5YUo3YW5QQ0NKY2RKV0lsQm8KQ1hBampDekJTMXlwVjRVRE1JUnBrWERza3BDakVrMUlp
TVpnOG9lVVJkdk9sV1YwRVpjQjRzclZrQjRpa0I0Qy90L1hWSjB4SGVkSQpsZTZGNWJqcHVFYnBN
SEtpWFM4WklOR29hSmtJaUVDSUFBL3NsS2oxUDdEekFQLzAwMCtIdHNFQU9lNjQ0MEtmWFgrVEta
ZHpmcmpRCjVaeHJRTFdUYkpCdnZ2bkdUSmt5eFZ4ODhjVzJjV1UyakVsakVJRmtFL0E4SUpUWDNy
eDVjMUlQanhjWThTcHFKZlhnT2xoU0NhVEQKQUVuSE9hSkJrUUVTallxV2lZQUloQWhRQVl0RVlM
L3dlZjM2OWFGRjlIaW9VNmRPNkxQcmI0SmtnSkJMUVQrVFcyNjV4ZFNvVWNPRwp1bjMvL2ZlR2Zp
WWthcE9MYy8vOTk1dEREam5FZGV4V3Y3Rmp4NXJCZ3djYkdseWk5MDAzM1JRSXZhV2tDS1NUQUZV
RkVRcHBYSEhGCkZVazlOUk5HbE1tV0FaSlVyQ2s1bUdlSVVsSSsyYUZTZkFjUTd4d3BHVUNjZzhv
QWlRTkhxMFJBQkl5ZHBhWWFsaWM4dkZNbDY4Z2oKanpSSEhIR0VZWWFlQitGZXZYcDVtemozU2dN
L3ZBaEZpeFkxbjMzMldhZ0Jubk9LUmxHb1pjdVcxdWdZT1hLa29iWS8xYUxJV1NsUwpwSWdwV2JL
a0xSaEEza29RREJCYy9jODg4NHpORlZxOGVMRTFxS0lNT2NjaWI5dmNtbUhtMkZFTFJDQ2dCT2ly
aEJ4NzdMRkpuOXloCmJ4RGlVczZlVlVqLzVDRGdHYUpVdmZLcUNPYllLSjhMdlB6SVRCbWlNa0R5
ZWVHMG13Z1VWZ0wweXVEdnJiZmVzczNsZUNpbURqbTkKSFZ5Vjg4OC8zeEQ2UXpPOE1XUEdtTWNl
ZTh4VlZhUHFSVWR4ZjFmeHFCc0ZZT0gwNmRNTlhlZnhmT0ROU1VRKytlUVQrLzNDNjBZNApTcFVx
VlJMWlRkdUlRS0FKREIwNjFQejQ0NC9ta2tzdVNmbzRLS0hlcVZPbnNFYXlTVCtKRHBnVUFwNGh5
dThsbFJxVEtaR1ZDSk41CjdFU09KUU1rRVVyYVJnUkVJSXdBWlZINXExZXZudm51dSs5c21JRExU
ZnhRbmdaZUR6LzhzQTMvQ1ZwUGpURDRBZjNBTEZ1L2Z2MXMKcmhCRkRQeU5MUm5TdkhuemJHRURq
RVcvNFBGcDNyeTVYZlRJSTQrWTBhTkhCNllabzM4Y2VpOENlU0hRb1VPSHZHeWVwMjN4SktxdwpS
WjZRWld6alcyKzkxZXpkdXpjbGhpak5odkd3MDI4cEV5SURKQlBVZFU0UnlCSUNQTlR6RnhRaGJJ
ay9TZm9KakJneHd0QXZockxDCkZTdFd6S0ZBelpvMURlRUdqejc2YUk1MVdpQUNJaUFDaFpGQTc5
NjlVelpzR3NGZWNNRUZLVHQrYmdmK3M1TllibHRxdlFpSVFLRW4KUU84TTR2RWxJcEFYQW5neGhn
d1pZbDU0NFlXb3hrZGVqcVZ0UlVBRVJFQUVnazlBQmtqd3I2RkdJQUpwSTBCRkZuSVIxcXhaazda
ego2a1RCSjBDbHF6dnV1TU5XODhycmFLallRNWlmUkFSRVFBUkVJSHNJS0FRcmU2NmxSaUlDS1NI
QXd4OFZPSkI5Ky9hWkF3ODgwRmJBClNzbkpVbmpRWmN1V21mZmVlOCtHQVhuVlAraDhmdGxsbHlX
OXVrZ3FoaEZVL2ZHYW5YSEdHYmFNTU0waENZRWoveU9ScWwxYnQyNDEKVFpvME1WVFBtamx6cGpu
eHhCTlRnVmJIRkFFUkVBRVJTRE1CR1NCcEJxN1RpVURRQ05DMDZ0QkREN1VQZ3BTdzdkaXhZNkFN
RVBJSwo2RGxSckZneDA3VnJWMXZLOXFlZmZqS3RXN2UyQnRWdHQ5MW15d2tUSXVTaUJGbi9GU3RX
bUwvLy9lL1crSUF0cFpDcGdMVnk1VXBUCnBreVpNTnpidDIrMzllajl5ZWxjcC9yMTY5dnRhSHc1
ZlBod0phQ0hVZE1IRVJBQkVRZ21BUmtnd2J4dTBsb0Uwa2FBQi9Vbm4zelMKSmdkVHZRZ0RKQ2lD
aDZOWnMyWm0yTEJob1RLMk5GQ2tzenRDWDVCUm8wWVptdjFObUREQlhIUE5OWGE1Sy84RVhmL2F0
V3NiL2p6eApLcVhoQ2ZFdlovMmJiNzVwS0RtcEpIU1BsbDVGUUFSRUlIc0pLQWNrZTYrdFJpWUNT
U05BcFN1YUlHM1lzTUgyL3lBa0pnalNzMmRQCmM5VlZWNFdNRDNSKzZhV1h6T21ubng1U24wN2k1
Q2d3OCs1YWgvU2c2eCtDckRjaUlBSWlJQUlpNENNZ0E4UUhRMjlGUUFSeUVpRGgKL09DREQ3YjlN
K2o5TVd2V0xIUEFBUWNZbWhnUmt1V3E3Tnk1MDh5ZE85Y2FGNTZPNUlBZ2tlRS9wNTEybXNIYlFG
ZDNWeVRvK3J2QwpVWHFJZ0FpSWdBaTRSMEFHaUh2WFJCcUpnRk1FVnE5ZWJlUHVlYTFidDI1SU4r
cUhFNW8xYmRxMDBES1gzcEMwamI1ZTJBKzZEUmd3CndQNUY2a21UUEx3Zkd6ZHVqRnlWc2M5QjF6
K1o0UEM0OFYzYnYzOS9NZytyWTRtQUNJaUFDR1NJZ0F5UURJSFhhVVVnS0FSYXRXcGwKN3IzM1ho
dWloT2RqMWFwVlZuVWU3TW1mSUo2ZmgyWFhoSXBKdTNmdkRxazFmZnAwVzAySm5KQkkrZnp6eisy
aXlwVXJSNjdLMk9lZwo2NDlCdDJYTGxxUVlEZDI3ZHpmOFVRSjYyN1p0R2JzbU9yRUlpSUFJaUVC
eUNDZ0pQVGtjZFJRUnlGb0NWREY2NDQwM2JBVXBRcGhvCkprZG9VNTA2ZGN6Zi92WTMwN0psUy9Q
d3d3K2I1NTkvM2lrR1J4NTVwRG5xcUtNTVRmRHdjRkFCYStyVXFWRjF4SkJxMkxDaEtWZXUKWE5U
MW1WZ1lkUDB4VVB2MTYyZS9JMVFnSTlmR3V3N2p4NCszbi8xY28xWEJZajJHRE1maStpRXpac3d3
M2JwMXMrLzFqd2lJZ0FpSQpRREFKeUFBSjVuV1QxaUtRVmdMa2dKQW5jZnZ0dDVzYU5XcUVuWnZr
OUE4Ly9EQnNtU3NmYnI3NVpuUEpKWmNZbXRsMTZkTEZHaG1SCnVtRmNmZnp4eDJiT25EbVJxekwr
T2VqNjB3TWtVVkVWckVSSmFUc1JFQUVSQ0Q0QkdTREJ2NFlhZ1Fpa2hRQ0dCODNnSWcwUWt0SnIK
MWFxVkZoM3llaEs4R3VYTGx6Y05HalN3dlVBaTk4ZWJNM0xrU0xObzBTSlR1blRweU5VWi94eDAv
VE1PVUFxSWdBaUlnQWc0U1VBRwppSk9YUlVxSmdIc0VhQWpId3pyOU10cTFhMmREbTU1NDRnbnp3
UWNmbUtWTGw3cW44QjhhRWJvVE9RdFBRalA1SUFzV0xEQ1ZLbFV5CjgrYk5NNGNkZHBqMGQ1S0Fs
QklCRVJBQkVjaEdBakpBc3ZHcWFrd2lrQUlDQngxMGtEVkF4bzBiWjg0Nzd6eno0NDgvbW5yMTZ0
bFMKdkM3bFRpUXlkRHdMRjE5OGNTS2JPcmxOMFBXUEJ2WDMzMyszUlFLaXJkTXlFUkFCRVJDQjdD
SWdBeVM3cnFkR0l3SXBKVUNZMHAxMwozbW4vVW5xaUZCNmNTbDRrcHdkVmdxNS9MTzYvL3ZxcjRV
OGlBaUlnQWlLUS9RUmtnR1QvTmRZSVJVQUVSTUI1QWovOTlKT3RrdVc4Cm9sSlFCRVJBQkVTZ3dB
UmtnQlFZb1E0Z0FvV2J3UExseTgyU0pVdk01WmRmYmc0NTVCQm5ZTkM3aEFwZEpVdVd0RHI5OHNz
dlp1alEKb2ViWlo1ODFCeDU0b0JrNGNLQnAzNzU5U0Y4cVlkSDFmZXpZc1haOWFJVkRiNzcvL251
YnIwSlZzbXlUTVdQR21NTVBQenpiaHFYeAppSUFJaUlBSVJDR2dSb1JSb0dpUkNJaEE0Z1JvbUVk
K1NOV3FWYzJrU1pNUzN6SEZXMzd6elRjMk9iNTY5ZXFHdjFLbFNwbFBQdm5FCkhISEVFYlkzeGNz
dnYyeVhlK3VaZ2YveXl5OXo5S2RJc1pwNU9qd0oveVZLbExER1U1NTJETURHNU9TY2UrNjVBZEJV
S29xQUNJaUEKQ0JTVWdEd2dCU1dvL1VWQUJNd1ZWMXhodnZ2dU8vdEs0MEo2YjJSYXlKWFl1SEdq
V2Jod29WVmw1ODZkMXJOeDZLR0gydTdjSkQxNwo2OWdBZzRVY0Y1b3J1aXB0MjdZMVo1OTl0dm4z
di8vdHFvclNTd1JFUUFSRVFBUnlKZUR1blRaWDFiV0JDSWlBU3dSNjllcGwzbm5uCkhldEZjRUV2
U3ZDZWNNSUpwa1dMRmxhZExWdTIySzdhZktDN05tRlkzanFXRVg3MTJXZWY4ZFpwT2ZiWVl3MWVK
MDkrK09FSDZ4WHgKUHV0VkJFUkFCRVJBQkZ3bklBUEU5U3NrL1VRZ1FBUm83TWVEdlF1Q0FiSnUz
VG96ZS9ac3F3NGVFTHdlQ0I2RTMzNzdMYlNPWld2WApydVhGZWNHRFF5OFR3ckdlZlBKSlF5alpx
NisrYXM0Ly8zem5kWStuSU5jRzc1bEVCRVJBQkVRZyt3bklBTW4rYTZ3UmlrRGFDTGpVCjBDL1NB
N0pueng3NzBBNE1qS1JMTDcwMGtCNFFIdExKVmZuaWl5OXNFdjFqanowV3VMTENtemR2Tm84Ly9y
alp0bTJiRFgxYnNXS0YKZWY3NTUwMnJWcTNTOWwzVmlVUkFCRVJBQkRKSFFBWkk1dGpyekNJZ0Fp
a21nS0ZScEVnUjI3VjkwYUpGWnVMRWlmYU1KSExqUFhqbQptV2ZNTmRkY1kyZmVYZkhjNUlZRUE2
UnUzYnFCOW5nVUsxYk10R3ZYeml4YnRzemdOVU5jTWw1enV3WmFMd0lpSUFJaVVEQUNNa0FLCnhr
OTdpNEFJQklBQTRWYlhYWGVkN2Q3dXFidHYzejdUdTNkdit6QmZwMDRkYjdIenJ5VEpNNTRnUzlH
aVJVMzkrdlhOeVNlZmJMcDMKNzI2SFFtaVpSQVJFUUFSRW9IQVFrQUZTT0s2elJpa0NoWTRBaWVh
ZVVCR0xCOXlycnJyS1cyVG9xVUV2a0NBWkh5aVBBVUxKNEd3UQp5amQ3a28yOVRieXg2VlVFUkVB
RVJDQ2NnQXlRY0I3NkpBSWlrSVVFeUFmaG9mMjU1NTRMalE0UGlOOUlDYTF3K0EzSjgvenQzcjNi
CllTMFRWNDNyNGdsR29rUUVSRUFFUktCd0VKQUJVaml1czBZcEFvV093SC8rODUrd01VZnpnQXdZ
TUNCc0d4Yy83TnExeXd3YU5NZ20KYkRNbU9zOVRldmZ6eno4M2wxMTJtVG5yckxPTS8wSGV4VEVr
b3BQTC9WY1MwVi9iaUlBSWlJQUlKRTVBQmtqaXJMU2xDSWhBZ0FqZwozZkE4SER5NFIvT0FCS0do
MytqUm84M2d3WU1OZVJQSUhYZmNZWDc5OVZkejZxbW5tcDQ5ZTFwamhFVHVCZzBhQk9qcTVGUlZI
cENjClRMUkVCRVJBQkxLVmdBeVFiTDJ5R3BjSUZISUM5TXJ3UEFPOGovU0FZSkRnVGZCTHBOZkV2
eTVUNzZsNmhhN29qNzdUcDA4M2ZmcjAKTVIwN2RyU2xoUHYzNzIvdXUrKytzSjRtbWRLMUlPZjFy
bFZCanFGOVJVQUVSRUFFZ2tGQUJrZ3dycE8wRkFFUnlDTUJ2M2VqVEpreQo1cjMzM2dzN0FnLzBo
RlA1Rk5VQUFDQUFTVVJCVkRaTm1qVEp6SjA3MTd6MTFsdW1iZHUyWWR1NDhJRitKU05HakRDTEZ5
ODIrL2Z2Ck4xZGZmYlhwM0xtelZRM2o1T0dISHc2cjd1V0N6dEpCQkVSQUJFUkFCT0lSa0FFU2o0
N1dpWUFJQkpaQXMyYk5USVVLRmF6K2YvM3IKWDAybFNwVnlqS1ZVcVZLbVE0Y081b3d6enJCbFlT
Ky8vUEljMjJSNlFmbnk1YzJRSVVQaXFxRWVHbkh4YUtVSWlJQUlpSUJqQkdTQQpPSFpCcEk0SWlF
QnlDRng1NVpVSkg2aHk1Y3FtUzVjdUNXK3ZEVVZBQkVSQUJFUkFCUEpQNEsvNTMxVjdpb0FJaUlB
SXBJc0FlU3dQClBQQ0FEU1g3OGNjZjAzVmFuVWNFUkVBRVJFQUVrazVBQmtqU2tlcUFJaUFDcmhD
Z1d0U1NKVXRjVWFkQWVsQWw2cWFiYmpMdnYvKysKcVZtenBxbFlzYUtaTjI5ZWdZNnBuVVZBQkVS
QUJFUWdFd1JrZ0dTQ3VzNHBBZ0VnOFBQUFArZEkzQTZBMm1FcTBsMzd4aHR2dEYzUAp3MWI0UGxE
NTZyZmZmdk10Y2ZmdG1qVnJ6TysvLzI0dXV1Z2ljKys5OXdhdWk3dTdaS1daQ0lpQUNJaEFPZ2tv
QnlTZHRIVXVFUWdRCmdTSkZpcGd4WThiWUI5NG1UWm9FU1BOd1ZRODg4RUJiNllxZUdSZ2JvMGFO
TW1YTGxqVTArRnUyYkptWk5tMmFZYXlyVnEweVZKVnkKVmFqcWRmamhoNXQ3N3JuSFZSWHpySmUv
VXBuL2ZaNFBwQjFFUUFSRVFBUUNSVUFla0VCZExpa3JBdWtsUUxNN1p0cGp5ZGF0Vzgxegp6ejFu
RytQRjJpYVR5MmxFU01md2M4NDV4NnBCTlN4SzJPSVpHVDkrdkMxZisrU1RUMXBQajZ2R0IyRmtD
SjNDcWVxRjN0MjZkVE05CmV2UXdYMzc1cFYwWDFIL1dyVnNYVXYycnI3NEt2ZGNiRVJBQkVSQ0I3
Q1lnRDBoMlgxK05UZ1FLUk9DUVF3NHgvTVVTK211Y2Z2cnAKcG4zNzl1YkZGMSswemZKaWJadUo1
ZXZYcnpjMWF0UXd0V3JWQ3AyZS9oK01pZTdoMFVyemhqWjA1QTFlbWs4KytjVGdJY0FqTldEQQpB
UFA0NDQrYnBVdVhtb1lORzVvVksxYVlFaVZLT0tKdFltcHMyclRKREJzMnpNeWNPVE8wd3cwMzNH
QkR5NjY5OWxwVHJWcTEwSEs5CkVRRVJFQUVSeUQ0Q01rQ3k3NXBxUkNLUU5BSjRETHhlR3JFT1dy
VnFWZnNnZlBmZGQ1dEhIbmtrMW1ZWldjNURlclRtZ28wYk44NkkKUHZrNUtRYmV5SkVqemNLRkMy
MjQyRWtubldRUFU2OWVQVk82ZEdremRlclV3SlVReG1DaTUwcTB2aXZISEhOTWZqQnBIeEVRQVJF
UQpnUUFSa0FFU29Jc2xWVVVnM1FTS0ZTdG1paFl0R2pydE8rKzhZNnBVcVdKektFSUwvM2pUc1dO
SGE2aVFuK0JTVXp4Q2xIaFEzN2h4Cm95bFhycHo1eTEvKzRsYzdNTzhuVHB4b0tNTkxKU3kvWVB3
Rk1YU0o3MGpkdW5YOVE5RjdFUkFCRVJDQlFrUkFPU0NGNkdKcnFDS1EKVndJODRCTEdoRkI5YWM2
Y09UbU1EOVlkZmZUUk5rZGg1Y3FWZkhSR2R1ellZUWdUbXo5L3ZqVStTRFQzY2lxY1VUSkJSU0tO
RDNiRApzRHIyMkdNVFBJSTJFd0VSRUFFUkVBRTNDTWdBY2VNNlNBc1JjSkpBN2RxMXpkZGZmMjEx
ZSt5eHg4elpaNThkcHVjMzMzeGo3cnZ2ClBuUEtLYWVZbjM3NnlWYVRDdHNnd3g4b3Iwc1lHWG9p
NUZQODhNTVBHZFlxZWFmSE9LeFRwMDd5RHFnamlZQUlpSUFJaUVBYUNNZ0EKU1FOa25VSUVna3FB
V1hjcVNHRmtQUHJvbzZaWnMyWmhReUUvcEgvLy9yYlpIdy9ER0N3dVNjbVNKYzNRb1VOdDJCaDZI
WC84OGJhSwpsRXM2NWxjWEV0UHg1Z1RKQUZHcDNmeGViZTBuQWlJZ0F0bEZRQVpJZGwxUGpVWUVr
azZBcWtzVEprd0loVmxGT3dGZUJoN3VYUk1xCllGRTU2clRUVHJPcWtYZnc3YmZmbXJQT09zdjA3
ZHZYREJreXhOeDIyMjJHUGllTU0wZ3lZc1FJTTNqd1lPY3FqOFZqU0Vuazg4NDcKei9qTDc4YmIv
cUdISGpMODBiOUZJZ0lpSUFJaWtEMEVsSVNlUGRkU0l4R0JsQkE0OHNnanpmdnZ2MjltejU2ZGt1
T244cUJObXpZMQp4WXNYTjZWS2xRcWRoZ2QzdkRXdnYvNjYyYlp0bXlGUHBITGx5b0hLcGFEMDdv
WU5HNnhoR0JwWUFON1E4SEh1M0xuV3EzYnBwWmZtCnFqRTlXbjc1NVJlemQrOWVhMnpsdW9NMkVB
RVJFQUVSQ0FRQkdTQ0J1RXhTVWdReVM0RFNxSjA2ZGNxc0V2azQrMUZISFdXTkRUcUkKKzRWS1hy
ZmNjb3QvVVdEZTQ4R1pOR21TTmFEd1BBVkpNRUNRazA4KzJZYjA1YWI3bENsVGJIZjZRWU1HNWJh
cDFvdUFDSWlBQ0FTSQpnQXlRQUYwc3FTb0NJcEIzQW5od3NrWG83UDdaWjUrWisrKy9QNUJEb3Bz
N0VxMmlWNndCSFhUUVFYbmFQdFp4dEZ3RVJFQUVSTUFkCkFzR2FQbk9IbXpRUkFSRVFnYlFUb0k5
SjgrYk4wMzdlWkozUU0wQ0M1cmxKMXZoMUhCRVFBUkVRZ2Y4UmtBR2liNElJaUVEQ0JPZ0YKc20v
ZnZvUzNkMlhEb1BiKzhQTmJ0R2lSMmJWcmwzOVI0TjU3alNEejRnRUozQ0Nsc0FpSWdBaUlRSzRF
RklLVkt5SnRJQUlpNEJFZwphYnRidDI1bTY5YXR0dlN1TjZQdHJYZjFsVzdoZDk1NXB5R3BtYWFK
UVJUeWNHZzZPSFhxVk5PeVpjc2dEaUhVaVo3ck1YYnMyRnpIClFHOFp1cVpMUkVBRVJFQUVzb3VB
REpEc3VwNGFqUWlrbEVENTh1Vk4xNjVkYlVVaXovakFJMEp5c2N1ejJ0V3JWN2VORWlkUG5teHUK
dXVtbWxESksxY0VyVnF4b215clNuVDZvOHYvKzMvK3pxbU5JTldqUUlOZGhrUDhoRVFFUkVBRVJ5
RDRDQ3NIS3ZtdXFFWWxBMGdqOAorT09QWnQ2OGVXSEhJNm1ic3JZOHpGOS8vZldHbVhtTUV0Zmx3
QU1QTkkwYk4zWmR6WkIrTk8xYnUzWnQ2UE5ISDMxazh6OG9ZMXVwClVpWHo2cXV2aHRZRjVZMW5n
Qnh4eEJHbVdyVnF1ZjU1Um01UXhpYzlSVUFFUkVBRUVpTWdEMGhpbkxTVkNCUktBb1MvMEUyOGUv
ZnUKWnMrZVBiWW5BMkZZdkYrOWVyVnAwYUtGYmVESDdMeHJRcjRFK21ONDBNZGsyYkpsNXB0dnZq
RzFhdFZ5VGRXbyt2RHdUYWpTOE9IRAp6VysvL1dZKy9QQkRXNUlXN3dHTklSczJiR2diK25FOXpq
enpUQk9FaDNWeWlCQ3VpVVFFUkVBRVJLRHdFcEFCVW5pdnZVWXVBZ2tSCm9HZkRFMDg4RWRxV0pu
alBQdnVzdWVlZWUwTExYSHhEd2pNRzBzOC8vMnphdDI5dkRqNzRZRU5ma0I5KytNRzgrT0tMMWlB
cFhicTAKTmFyb2pONnFWU3ZuaGtIRkt6cUhlNDBIRnl4WUVLYmpDU2VjWUVQZk1FQXV2UEJDYy92
dHQ0ZXRkKzBESGpXa2FOR2lycWttZlVSQQpCRVJBQk5KSVFBWklHbUhyVkNJUVJBS2JOMisybGEv
SW8wQzhtWFk4RFBQbnp6ZXZ2UEtLOVlLY2VPS0pUZzJ2UklrUzVybm5ualAvCitjOS9ET0ZNTDcz
MGtnMGIrL3JycjIxQytnMDMzR0NUb3BtVnYraWlpOHpLbFN1ZGZJREhrSm81YzJiVU1EZVM2bGV0
V21YKzhZOS8KbUtlZWVzcGNjY1VWVG5kMDl5cW9aVk52RnFlKzlGSkdCRVJBQkFKQ1FBWklRQzZV
MUJTQlRCRWc1T2UrKys2ekQrZDRFYWlBdFdiTgpHa011QWtZSE0vVEhIWGRjcHRTTGU5NHlaY3BZ
QXdUdkFPRlhQWHIweU5HQisrOS8vN3U1OGNZYnpRVVhYR0RYSDNyb29YR1BtZTZWCk8zZnV0RWJl
SjU5OEVuWnFja0s0SGlOR2pBaGI3dktIN2R1M1cvVVdMbHhvK3ZUcGs2dXF1M2Z2VmhXc1hDbHBB
eEVRQVJFSUhnRVoKSU1HN1p0SllCTkpPb0gvLy92WkJmdS9ldmVhTEw3Nnc1V3pIalJ1WGRqM3lj
OEpISG5uRTVrc1VMMTdjZE96WU1lb2g2dFdyWi9DRQpiTml3d2RTdVhUdnFOcGxhZU1jZGQ1Z3Jy
N3d5UjVVeEV0U3BTaFlrMmJKbGkxVjMyTEJoTnBFK045Mm5USm1TMnlaYUx3SWlJQUlpCkVFQUNx
b0lWd0lzbWxVVWdFd1RvWHMxRFBJbmR2L3p5U3laVXlQTTVtV2wvNFlVWHJJZkRDLytKZGhCeUxF
aTJyMUdqUnJUVkdWdjIKOHNzdlcrL0hkZGRkbDBNSG1pc1NIaGNrSVZ5TXFtbFU4WktJZ0FpSWdB
Z1VYZ0x5Z0JUZWE2K1JpMERDQk1pallNYWRNS0RQUHZ2TQp2bCsvZnIycFVxVkt3c2RJOTRZa203
ZHAwOFpNbWpUSi9QZS8velZlQW5RMFBlNjk5MTZicU81YUx4T3FYZEg0MFV2YVpod1lTeGhXClZN
VXFWcXlZOVk1Z0hBWkJTS0luWkU4aUFpSWdBaUpRdUFrRTQ2NVZ1SytSUmk4Q0dTV3didDA2RzYr
L2VQRmljL3p4eHhzcUwyM2EKdE1rbWJ2UDU2YWVmTmw1L2g0d3FHbkZ5REk3VFR6L2R2UGZlZXda
amlWeUtTQ0U1bmNhRVpjdVdOWTgvL25qazZveC83dHUzcnlFRQpDeUg4amI0clhBYzhDSWNjY29o
NTVwbG5EQ1dRcVVybXVpeGZ2dHdtekdOUTVVVXd1aVFpSUFJaUlBTFpSVUFla095Nm5ocU5DQ1Nk
CkFCV1lCZzhlYkx6a2JHYmU2OWF0YTE1Ly9YVXplL1pzUTNnUUZiRmNLd0Zicmx3NTg5cHJyMW5Q
UjVNbVRXd1hjUThPRDdYby8venoKejl2OEVDcGl1U2lOR2pVS3FZVWhlUFhWVnh0S0JpTjRkanAx
Nm1UT1AvOTg2d1doRXBacmxjaEN5di94aHRMSFo1eHhoaUhmSmkrQwo5MDBpQWlJZ0FpS1FYUVJr
Z0dUWDlkUm9SQ0RwQkM2NTVCSnp5eTIzR0hJT2FJeEhFanBkMEJINmJCQ1d0V2pSb3FTZk54a0hK
RFRwCjhNTVBOd01IRGpRZmZQQkI2SkFiTjI2MG5nTWVpaWx6R3dRNTlkUlR6YUJCZzJ3VFFwaWpO
MG5hVmF0V05XKy8vYllOTTNOMUhIaHYKWUQxcjFxdzhxeWdQU0o2UmFRY1JFQUVSY0o2QURCRG5M
NUVVRklITUVxRFNFbUZXR0NEZmYvKzlvYlN0UCtlQThLV0xMNzQ0czBybQpjblpLN1BMblNZVUtG
YnkzZ1hxOSsrNjdiVThURXVycGMrTEpTU2VkNUwxMThoWHZHRjZtV0YzbzhYTFE4WjJrZWhMVmYv
cnBKM1BRClFRY1p1cnpYckZuVHlURkpLUkVRQVJFUWdmd1RrQUdTZjNiYVV3UUtGUUY2VHRBVFJK
SlpBalNDOUJzZm1kVW05N09UZzNQMDBVZkgKRGRIRG9NWExobUNNVU9LNVM1Y3U5dnMyWk1pUTNF
K2lMVVJBQkVSQUJBSkZRRW5vZ2JwY1VsWUVSRUFFd2duUUVMSm56NTdXTXhLKwp4bzFQUllvVXNh
RmppV3FETVVLeS9hZWZmbW9JbFd2VnFsV2l1Mm83RVJBQkVSQ0JnQkNRQnlRZ0YwcHFpa0FtQ096
ZnY5OFE3blBrCmtVZG00dlJKT3lkNUJHUEdqTEZKODZOR2pUSWtxQWRCNkFOQzlTNHFYbmxDVVlC
cTFhcUZTaUN2WExuU1ZpRjc0NDAzd3NMTXZPMHoKL1VydVNuNmtUcDA2K2RsTis0aUFDSWlBQ0FT
QWdBeVFBRndrcVNnQ21TSnc0SUVIMm5LN2MrYk1NWVJnQlZWSTJPN2N1YlBwM3IyNwp1ZlhXV3dO
amdORDRNVEsvaHVwWDFhdFhOeDA2ZEFpN0hOT25UN2VWc1NLWGgyMmtEeUlnQWlJZ0FpTGdBQUVa
SUE1Y0JLa2dBcTRTCjRNR2RuQU1lZW5tQUp6NmZHWGpLOEZKNmQ5bXlaV2JxMUttaGlreC8vL3Zm
WFIyS3JkNUZHVmg2Z3p6eXlDUDJJYjVseTViTzZ2djEKMTErYnNXUEhtcTFidDRicHlPZjMzMzgv
UjhnVnZVQkk0ajc1NUpPdGh5UnNKMzBRQVJFUUFSRVFBWWNJS0FmRW9Zc2hWVVRBUlFKcgoxcXd4
Vk1KQ2lNK243T3ZvMGFQTkZWZGNZVWdRcmxHamhybjIybXVOYThZSGVwTkQ0QWxlSEVLWmF0ZXVi
ZkFXNEYxd1ZXaWkyTHAxCmEwTUpaUGpTNCtPVlYxNnhEUWlwUW9ZUnhYVTQ1WlJUYkZnWm5kTFpq
bkxJaEdkSlJFQUVSRUFFUk1CbEF2S0F1SHgxcEpzSVpKZ0EKcysySEhYYVlhZHEwYVVnVEhuQWJO
MjVzSDM1NVNIYTFqd1o2RGgwNjFIejg4Y2ZtMjIrL05TdFdyREIzM1hXWHpaT2dnN3NuMzMzMwpu
ZlVtOEdEdml0QTM0NGdqanJCTkJ1a2dEbU02b2g5enpERldSUXpCQXc0NHdKWkdKcVNNVHZRUFBm
UlFXSzZJSzJOQkQzckhrTSt5Clk4Y084K1dYWDVwU3BVclpFTEt6eno0N3FwcDg3L0NzVVpLWFBp
NVVYOE1ZYytrYVJWVmNDMFZBQkVSQUJCSWlJQTlJUXBpMGtRZ1UKVGdKTGxpekprWU1BQ1F5UU5t
M2FPR3Q4ZUZlcmQrL2V0bW5pcTYrK2FobzFhbVI2OWVwbE1ENjJiTmxpbm5ubUdkT3ZYejl6N3Ju
bgptaE5PT0NGZlRmSzg4eVQ3bFFmdGQ5NTV4OHlZTWNPc1g3L2VrR2hPRi9SNTgrYlpNTGc5ZS9h
WWYvM3JYMmIxNnRXMkVXVHo1czBOClkzUlJHTU5wcDUxbXcvWWVmZlJSYTFqd3VXSERocVpQbno0
NVZONjBhWk5wMEtDQm9RRENFMDg4WVI1KytHSDdQV01aNnlRaUlBSWkKSUFMQkp5QVBTUEN2b1VZ
Z0Fpa2pzSGJ0V3Zzd3lJdzhZVDZ1ZWp0eUEwREhjSDhqUW1iZ08zWHFaTU9YZUJqR21NS3I0SnFn
RjhuLwpjTC95eWl1dGVuZ1NDQ1VqQkk1bWZhenIycldyYTZwYmZmQTZ0V3ZYenRTdlg5ODBhZExF
TGlOVWozd2lQQng0cURDZW1qVnJadGZoCnllRTlCdGh0dDkwV0doUEZBeDU0NEFHN0RtTU03NDlF
QkVSQUJFUWd1QVRjdStNR2w2VTBGNEdzSTdCOSszWWIvakpyMWl6N29FdG8KekcrLy9SYTRjVDcz
M0hPbWJkdTJJYjI5QjlqenpqdlBQaUM3YUh5Z0xKNmFwVXVYR3NLd3ZEOUNydWdvdm03ZE9odFd0
bURCQXRzcgpnMnZqbXBBclJBbmtGaTFhNUZDTi9CWGs5ZGRmRDYxNzY2MjNERVl2Um90ZktJUnd6
VFhYMkhWc0l4RUJFUkFCRVFnMkFSa2d3YjUrCjBsNEVVa3FBWkdnOEg4VHRJeDk4OElGaFdaQms0
Y0tGcGxpeFlxSHU0Yi8rK3F2Tm1XQU1uaUhpNm5qUWp3ZDRCRThIZjNodmFPN24KZmY3bGwxOE1Q
VUJjbEEwYk5saTF2TndWdjQ1NE94Qi9vWUFYWG5qQkxxUE1jS1I0K1NMZU5wSHI5VmtFUkVBRVJD
QTRCQlNDRlp4cgpKVTFGSU8wRVNwUW9ZUWhmOGhvUmxpeFowdEI1KzdMTExrdTdMdms5SWNuYlZP
bnk1S09QUHJMVnBDcFVxT0F0Y3ZhVjVHdXVBWVVBCllobExoR2l4cm16WnNzNk5neHljaWhVcjJq
eWJTT1UrK2VRVHU4aGZ0WXNjRnlSYW8waHZmTjQyZGtQOUl3SWlJQUlpRUVnQ01rQUMKZWRta3RB
aWtoMENsU3BYTUxiZmNZdkFpSUNRT0UwN0R3Mk85ZXZYc3c3R1hFRTJwMk1pbWVlblJNdlpaS0xl
N2VQRmkyN3ZFMjRvSAo0dWVmZjk0TUdEREFXK1RzNis3ZHUyMzFLQXlRV0dGaWhGN2hEWEZSeU9m
dzhqdjgraEhhUjNVeTlQWkM0L0QwVUpFTThReGUvejZlCkY0VnQyTmJWTWZ0MTFuc1JFQUVSRUlI
b0JHU0FST2VpcFNJZ0FuOFFJSEdZYWtSZUh4Qmk4V2ZQbm0wclM1RU12VzNiTnZ2UXlISksKckxw
bWdOQ3dqMUxCaEdCNWdnRkNrNy96enovZm5IcnFxYmJNSy9rVnJWcTFNcGRlZXFtM21ST3ZSeDk5
dE8zZUhrOForcDNjZWVlZAo4VFp4YWgyaFYzaWtDT1hyMGFPSHJaQ0ZnalMyL1BlLy8yMTFwZlJ1
cEpCNGo3QU4yK0tOazRpQUNJaUFDQVNUZ0F5UVlGNDNhUzBDCmFTRnczSEhIbWJmZmZqdVVQOEZK
TVRhb3dNU2Y2MEwxSkVLVUl1WHBwNSsyWlc0cGRVdWVBbmt1TGliWGt6eFB6a3EwTVhoandnajAK
SHR5OVphNis0cm5vMXEyYlRUeW5DdGxqanowV1V0WHpmckFnMm5nOUE0VDFiQ3NEQkJJU0VSQUJF
UWdtQVJrZ3dieHUwbG9FMGtiQQpTLzVOMndtVGVDSi93OEhJdzlJWGhEK1g1YXFycnNwVlBid0JW
TVFLUWxnU0hnLzZyMUIrbDU0c2Z2blBmLzRUK3NoWUlzVWZjdVhmCk5uSTdmUllCRVJBQkVYQ2Zn
QXdROTYrUk5CUUJFUkNCbUFUb21ENXUzTGlZNjExWjBiZHZYME5PRG1WMG94bTFoSnQ1UW1VdnZG
SisKOFh1by9OdjZ0OUY3RVJBQkVSQ0JZQkNRQVJLTTZ5UXRSY0FaQXBSODNiZHZuKzNWUUZNNWlR
amtSb0NPNW54dktBaEFaYTlvUWtnVgoxYnpJRWZuNTU1OXpHQ0JlK1dlMlVmaFZOSUphSmdJaUlB
TEJJYUErSU1HNVZ0SlVCSndnTUhQbVRGdUtsMXdRdjVEdzdaK2w5cS9MCjVIc3FTZDErKyszbTFW
ZGZ6YVFhQlQ3M1R6LzlaRzYrK1daejQ0MDMyc0lBQlQ1Z21nN3c2YWVmbXVIRGh4dks1OFl5UGxD
RktsOWUKOVN0L1BvaW41ZzgvL0dEZlluekVxZ2ptYmF0WEVSQUJFUkFCdHdtRVAwRzRyYXUwRXdF
UlNCTUJESW1ISG5ySTlwWWdIcCtZK3dNUApQTkNlblFwU0pBbFBuRGd4cEExNUNBTUhEclJWcFdi
TW1KRmo5anEwWVFiZUZDOWUzTFJ2Mzk3cVJ2bmRJQ1RQUjhOMDZLR0gyb3BSCmp6NzZxRjM5N0xQ
UG1obzFhcGk2ZGV0RzI5eVpaWGZmZmJmOXJwUXBVeWFxVGc4KytLQTFFRmxKbVdmNnpwQllYN3Qy
N2JEdE4yL2UKYkQrempVUUVSRUFFUkNEWUJHU0FCUHY2U1hzUlNBa0JqQTBTaG5sNHYrKysrOHpx
MWF0REJrZXN4R2o2aGJncWxTdFh0cXFWTGwzYQpWUldqNmtXdkRBd1BEQTA4T1hRQlp5d1lIVHpR
dTh5Y0FTMWJ0c3lRcnhITFNQcm1tMjlzV1djOFZBakdJUVlJMzdkenp6M1hMdlArCm9kd3dFbFFE
MGh1SFhrVkFCRVJBQlA2b3FDa0lJaUFDSWhDTkFNWkh0Z2g1QlVpZE9uVUNOYVRUVHovZFRKbzB5
WkJEc1dMRkN0dVAKaFI0YUxNY3djVjJtVHAxcWFGRDU0WWNmaHFuSzlhQ0JJbDQyakN0UG1qZHZi
ZzByOGtVSU4vUExyRm16REFZay9Wc2tJaUFDSWlBQwp3U1lnQXlUWTEwL2FpMERLQ1JCK1JWV2lJ
QXY1RXpRanBHSlUwS1JEaHc2MlNXTEhqaDF0Q1ZzdkZNNGJCdy95L2Z2M04wT0dETEVoCmM5NXlG
MTZYTGwxcWs4L2o2ZUkzS0JqYm5EbHpUT1BHamMwcnI3eGlMcnJvSXJ2clN5KzlaQlBZNlVrVE9m
NTR4OVk2RVJBQkVSQUIKTnduSUFISHp1a2dyRVhDR1FNMmFOYzNnd1lOTnRXclZETTNnU0Q0bkwr
VDMzMyszU2VjWUozdjM3aldubkhLS1RUUjJSbkdmSWxUdApvZ042RUFWdndmWFhYMjl6V0VhUEht
M3piNjY4OGtwN0xhZ1dOWGJzV0VQRHdzTU9POHlNSERuU3FTSFdxMWZQVktsU0phNU81NTEzClh0
ajZXclZxbVhmZmZkZE1tRERCTEZxMHlJYWVZVHl5ak8raVJBUkVRQVJFSVBnRVpJQUUveHBxQkNL
UVVnTHQycld6bmFkMzd0eHAKcXkvUmRadUhZaW9SVVliM29JTU9zZy9GTG9kc1VjSTFWaEowU3VF
VjhPQVllZVE4a0V0eDY2MjNXaVBrOWRkZk55UnV3M3ZVcUZFMgpjUnV2Z1l0TkZlKzY2NjU4RVNB
c2kvQXNpUWlJZ0FpSVFIWVNrQUdTbmRkVm94S0JwQkxBNEtBeVZvVUtGUXhWbUVnUVB1MjAwNUo2
CmpsUWVERS9CTWNjY2s4cFRwT1RZZDl4eGgxbTFhcFdkL1M5VnFwUTl4NTQ5ZTJ3bjhVR0RCcGts
UzViWTBMS1VuRndIRlFFUkVBRVIKRUlFVUVWQWZrQlNCMVdGRklGc0lVSkZvK2ZMbDVzd3p6elRi
dDIrM2xaZTZkdTFxUTJRWUl6a2k5SHB3V1RDZWdwai9RWDdFZ2dVTApETVlIM3BEZXZYc2IrcTJV
TDEvZTlPclZTOGFIeTE4NjZTWUNJaUFDSWhDVGdBeVFtR2kwUWdSRTRJTVBQakNFWEpIM1VhSkVD
WnRIClFhNEI4ZmtZSXdqR0IxV0xxTlRrcWhBdWh0N3hoREszcmtuVHBrMURuaHVTeksrNzdqclR1
WE5uZXoxYzAxWDZpSUFJaUlBSWlFQ2kKQkdTQUpFcEsyNGxBSVNQQUEzbS9mdjJpSnY2ZWROSkp0
bm5jK3ZYcnpWZGZmV1Z1dSswMk0yTEVDSnNNN1NJbWpDZXZrM2FrZnVTMgpZRHk1M0YxNzA2Wk50
djhIdVJGNFB6QkVnaWdVQThpcllBQkxSRUFFUkVBRXNvdUFESkRzdXA0YWpRZ2toUUFQZmExYXRU
SkhIbm1rCmZUQW5CeVNheko0OTJ4UXBVc1RPeUJNZVJOTkNGK1hFRTA4MGI3MzFscUdMdXlmcjFx
MnpSbFRmdm4ydFYrSHd3dy8zVmpuM3VuLy8KL2xDWUc3a3NOSWxFdnYvK2U3Tmh3d2JuOUkybEVH
Rjg0OGFOTXhnaWlmelJvSkNlSjJ2WHJvMTFTQzBYQVJFUUFSRUlJQUVsb1Fmdwpva2xsRVVnMUFi
d0JaY3VXdFFubm5BdERoSzdWTjk1NG95My95bnB5UDZaTm0yWWFOV3BrV3JSb1llaFQ4ZXV2djZa
YXRYd2RuMHBkCmxLZzk5ZFJUYlNqWmpoMDdiT1d1bTI2NnlScE5CeHh3UUw2T202NmRqai8rZUhQ
c3NjY2FYbzg2NmloYkVPRExMNzgwSktRak0yYk0KTUsxYnQwNlhPdmsrRC8xWXFPYTFlZlBtaEk1
Qkx4REdPWDc4ZUZ2NUs2R2R0SkVJaUlBSWlJRHpCR1NBT0grSnBLQUlwSjhBQnNiawp5Wk5ESnli
MFo5NjhlVGJjaW1Sb2pJKy8vT1V2NXM0Nzd6UjRGeEI2aFBCQTc2cGdLSDMzM1hlR3BIb01ra3FW
S2huWERROC95ejU5Cit0akVjMExlQ0NjanNaNXU2SlFYeGlnSmdsQzJtWEM0dSsrK095RjE2UU9D
QVhMdnZmY210TDAyRWdFUkVBRVJDQVlCR1NEQnVFN1MKVWdReVRxQmh3NGEyNTBUR0ZTbUFBaGhX
UVc1bWgvN0hIWGRjQVFoa2RsZU0xdnhJZnZmTHo3bTBqd2lJZ0FpSVFPb0pLQWNrOVl4MQpCaEVR
QVJFUWdUOEkvUGUvL3hVSEVSQUJFUkFCRVRBeVFQUWxFQUVSaUV1QUJPaGh3NGFaWGJ0MnhkMU9L
MU5QSUVnSjU5Rm81TmNBCmtRY2tHazB0RXdFUkVJSGdFcEFCRXR4cko4MUZJQzBFeUplZ2g4Ymxs
MStlbHZPbCtpUlU5S0o4OE42OWUxTjlxcVFmbnhBc09xREgKcWtxVzlCTW0rWURrRHVWSFpJRGto
NXIyRVFFUkVBRjNDU2dIeE4xckk4MUV3QmtDZEJFdldyUm9tRDRrUVcvWnNzVW1jNGV0Y1BBRAox
YmtlZnZoaCsrQk82ZHA2OWVyWkpPNFZLMWJZYWw4a3p4OTQ0SUVPYWg2dVVzV0tGVzB6eU5xMWE5
dnFYVzNidGczZndQRlA4b0E0CmZvR2tuZ2lJZ0Fpa2lZQThJR2tDcmRPSVFKQUpVRGExVnExYWRn
ajBDQms3ZHF3WlBYcTBvVXBScDA2ZG5CNGFPbDUyMldYbXdnc3YKTlBmY2M0OXAwNmFOMVJlOWh3
NGRha3ZiMG12aXh4OS9kSG9jbm5LbFNwV3k1WGV2dlBKSzgvbm5uM3VMQS9HYVh3TWtFSU9Ua2lJ
ZwpBaUlnQWdrVGtBY2tZVlRhVUFRS0Y0RUhIbmpBOXA1WXNHQ0JiWFozOE1FSEcvcG5EQmt5eFBU
czJkTjI1b1lJWGNUeEt0QXJ4RFZaCnNtU0o2ZEtsaTFtNGNHSElnL1ArKysrYnM4OCtPNlFxQmdr
UDhyMTY5VEpQUC8xMGFMbUxiejcrK0dORGgzcHlRU2doL0xlL0Jlc24KbkJBc1NnaFRVamdSOFJv
UUtnUXJFVnJhUmdSRVFBU0NReUJZZDYvZ2NKV21JaEI0QWxkY2NZVnRSRWdQaHZ2dnY5L1VxVlBI
UHFTUApHalhLRkN0V0xEUytuVHQzR2hMVlhaVE9uVHRibzhJTEg2T0hDYzN0K3ZYckY2WnV5NVl0
VGQyNmRRMWpjemtVQzhNanlMazRlRUJLCmxpd1phbkFaZGhHaWZGaTVjcVg1K28vdTlmS2NSSUdq
UlNJZ0FpSVFZQUlLd1Fyd3haUHFJcEJLQXVYS2xUT1BQZmFZMmJkdm4zbjIKMldmTnBFbVR6UERo
dzhPTUR6cGJmL3Z0dDdZWlhpcDF5Yyt4MTYxYlp3MmpNODQ0STdRN29XUDE2OWUzVFJOREMvOTRR
M2dacy9PcgpWcTN5TDNidVBjVUFDQ2tMcXVRM0NUMi8rd1dWay9RV0FSRVFnV3duSUE5SXRsOWhq
VThFQ2tDQUJ6OFN0SnMyYldwR2pCaGhTRWIzCnk3Smx5OHdKSjV4Z3U2TDdsN3Z3bnE3blhwZDI5
UG5sbDEvTWd3OCthTjU1NTUwYzZwSGp3bGhKVm5kWkxyamdBdE8xYTFlckltRkoKZUhUbzZIN3Nz
Y2U2ckhaSXQveDZNcWo2UlJkMWlRaUlnQWlJUUhZUWtBY2tPNjZqUmlFQ0tTR0FCK1MwMDA2eitS
MlJ4Z2NuSkhlaQpTcFVxS1RsM1FROUtTSldYUThDeDdyNzdibXRJVVVrcVVqNzU1Qk5EdWVIcTFh
dEhybkxxTS9rclhJZExMcm5FVUF6Z21HT09NZlBuCnp6Y1hYM3l4ZlhWSzJTaks1TmNBWWF3U0VS
QUJFUkNCN0NFZ0QwajJYRXVOUkFTU1N1RFRUeisxSG9NMWE5YVkzcjE3V3c4Q0lVQisKMmJwMWF3
NnZpSDk5SnQ5alVKeC8vdmtHNDJMVHBrMDJqSXd4UlFwZUJJeVRhNis5Tml5OExISzdkSDltMXA5
RWMrU0xMNzZ3eWYvdAoycld6K1RoVXdzSWpOWG55Wk91QmF0Njh1YzNSZWZubGwwMkRCZzNTcldy
QzU4dHZLQlhYU0NJQ0lpQUNJcEE5Qk9RQnlaNXJxWkdJClFGSUpUSnMyelp4MDBrazJCNFNINFdp
ZDBLdFZxMmFiK2pHenpTejFyRm16ek15Wk01T3FSMEVPMXExYk45T2tTUlBUdm4xN00zSGkKeEJ5
NUt1aDk2NjIzbXBOUFB0bDJleS9JdVpLOTc3aHg0Mnk1M1lFREI1cG16WnJaQm9TdFc3ZTJwNmxS
bzRiNThNTVA3WHNlNmovNwo3RE5UcEVnUmVHSWUwQUFBQXRCSlJFRlVXeDQ1MlhvazgzajU5WURJ
QUVubVZkQ3hSRUFFUkNEekJPUUJ5Zncxa0FZaTRDU0I3dDI3CjI2cFgvZnYzTjRzWEw0NXFnRER6
UG43OGVGT2hRZ1hEUXpIbGVWdTBhT0hNZU1pUGVPNjU1MHo1OHVXdGtlRlhiTnUyYlRhL2hSQXkK
akJQWFNyMGVmL3p4dG1JVU9UWnZ2dm1tOWVBY2NzZ2gxb2dhT1hLa2FkV3FsUjNPbkRsemJBK1Qy
MisvM1hwQi9HTjA3WDErTzdqTApBSEh0U2tvZkVSQUJFU2dZQVJrZ0JlT252VVVnYXdtVUxsM2Fq
bzBTdkdYTGxqV0UvVVJLOGVMRnpkeTVjNjMzdzlXZUZKSGR3dW5nClRqVXNlcGZRNjRRSGZSZmxu
SFBPTVlSVTRaM0JnTHJycnJ2TTh1WExyZWRqMEtCQnBuSGp4bFp0d3N5Q0loZ2dlL2Z1TlJoUWlj
akcKalJ2dFpsd3ppUWlJZ0FpSVFQWVFrQUdTUGRkU0l4R0JsQkFvVWFLRWVmdnR0MjIxcFZnbmNO
WDRpS1l2ZlQ3dzdnUkJJbzBucW5yNQpLM3NGWVF4K0hla1hReDhRK3E0a0lsT25UaldyVjY4Mk1r
QVNvYVZ0UkVBRVJDQTRCR1NBQk9kYVNWTVJ5QmlCMDA4L1BXUG4xb216Cmh3QUdDTVVCQ0kxTFJL
anlWYVpNR1p2ZmtzajIya1lFUkVBRVJDQVlCR1NBQk9NNlNVc1JFQUVSQ0R3QnlpSkhLK2NjYTJC
VHBreUoKdFVyTFJVQUVSRUFFQWt4QUJraUFMNTVVRndFUkVJRWdFYWhjdVhLUTFKV3VJaUFDSWlB
Q0tTS2dNcndwQXF2RGlvQUlpSUFJaUlBSQppSUFJaUlBSTVDUWdEMGhPSmxvaUFpSWdBaUtRS0lH
Ly9DWFJMYldkQ0lpQUNJaUFDRmdDZi9tak1kUi94VUlFUkVBRVJFQUVSRUFFClJFQUVSRUFFMGtG
QUlWanBvS3h6aUlBSWlJQUlpSUFJaUlBSWlJQUlXQUl5UVBSRkVBRVJFQUVSRUFFUkVBRVJFQUVS
U0JzQkdTQnAKUTYwVGlZQUlpSUFJaUlBSWlJQUlpSUFJeUFEUmQwQUVSRUFFUkVBRVJFQUVSRUFF
UkNCdEJHU0FwQTIxVGlRQ0lpQUNJaUFDSWlBQwpJaUFDSWlBRFJOOEJFUkFCRVJBQkVSQUJFUkFC
RVJDQnRCR1FBWkkyMURxUkNJaUFDSWlBQ0lpQUNJaUFDSWpBL3dkQWgvMVRaaVpPCkxnQUFBQUJK
UlU1RXJrSmdnZz09CgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9p
bnRlcm5hdGlvbmFsL3RoYWktYmFodC1zcGFjZS1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5u
b3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9
IGltYWdlL3BuZwoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndB
QUFDN21sRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgpWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRr
Q0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJoCkIvK0FI
bnJ3WkM5S2hWcEZLTjZyS0dLaEZ5M3h6VzVNdHFYcXdNNSs4OTQzNzMxdmR0OEFEWExTTlBXQUJP
UU54MUtpRVdsc2ZFSnEKL0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3
SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9nOAozNkVweDNRSTMrUFk4dXlQT1U1NWVN
RzFEeXM5eEZraWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJCkVM
MVBrS2E3ek82cllxR2NUdllPa0wyZDlINU9zOTQrd2lIQ0N4bXRQMGE0alo3MWpOVS80bUhocE9i
RWhqMGNHRFgwK0dBVnR4cXAKK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlC
eldraFAxMHh1K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5uM3RUZAo3MFhhQXE4d0RoME1HZ3lhRFVo
UUVFVUVZWml3VUVDR1BCb3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHor
CktDSnhsRU8xQ0pMOFFmNHFyOGxQNVhuNXkxeXcyRmIzbEsyYm1ycnk0RHZGNVptNUdoN1gwOGpq
YzAxZWZKWFVkcE5YUjVhc2VYcTgKbXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhq
VmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbgovV3BJKys2cXZKUG1WZmxQ
WHZYeC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZ
SnE4CjlTOWRQMXQ0dlVaL0RQVlJsQm5NMGxTSjkzL0NLbVEwbmJrT2IvcVAyOGY4RitUM2l1ZWZL
QUl2Yk9ESW1icHRVM0h2RUtGbHBXNXoKcmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2
QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbAoxMlZMRnJPWlZXTHBk
dGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJ
dUpBQUFnCkFFbEVRVlI0QWV6ZEI3Z2tSZG0zOFZwWXNvQmtVSkpJam9JZ1NCQ1FLQmdRRUZISkNw
S0RCRVdVSkZHUUlLSW9PWWdJZm1RSmtnVlIKeVM4Z0lFaFFrb2lTNHdMYjMvTXZ0bWI3OUhZOGMw
Nnh1M1hYZFowem9VTjEvN3BtcHA3dXF1b1JtU1ZIUWdBQkJCQkFBQUVFRUVBQQpBUVFpQ0V3U0lR
K3lRQUFCQkJCQUFBRUVFRUFBQVFTOEFBRUlCUUVCQkJCQUFBRUVFRUFBQVFTaUNSQ0FSS01tSXdR
UVFBQUJCQkJBCkFBRUVFQ0FBb1F3Z2dBQUNDQ0NBQUFJSUlJQkFOQUVDa0dqVVpJUUFBZ2dnZ0FB
Q0NDQ0FBQUlFSUpRQkJCQkFBQUVFRUVBQUFRUVEKaUNaQUFCS05tb3dRUUFBQkJCQkFBQUVFRUVD
QUFJUXlnQUFDQ0NDQUFBSUlJSUFBQXRFRUNFQ2lVWk1SQWdnZ2dBQUNDQ0NBQUFJSQpUREFCeUgv
Kzh4OTMvZlhYdXhkZWVHRklqdHBycjJYdTZhZEhEOG02dXF6a3YvOGRiZnZRTHQ5Ly92Tzl5bFUv
OVZUOU9sNTlOWE4vCitjdTc3czAzeTI5MDM3UjhaY1pqSmp6NzdMTk9meUhsajh0cnI3M21ubnp5
eVRCcG9uL1Uvajc5OU5PRDJzKzMzMzdiM1hycnJZTmEKZGpBTC9lOS8vM09QUFBMSVlCYU5zc3hU
VHoxVm1VOWRtYXRjYUFLWlVMZmZRN1VMdzNYc3UzdzNGOHQ3OGZWUTdldGcxdlBlZSsrNQpoeDU2
cUhIUmYvLzczMFAyTzlTWTJURFAwSGFmeXphamFkbCt2aGZMOHB2WTN4dnUzODJtejlyRWREeWI5
bVVveTFMTXZJWnl1OHZXCjFWUkd5cGJwNTczR0FPVHpuLys4bTJHR0dkeTY2NjdyTnRsa0V6ZnBw
Sk82ajMzc1kyN2pqVGQySzYrOHNuOTkxbGxuOWJNTmpjdisKNmxlL2N1ZWRkNTY3NmFhYjNHS0xM
ZWFFMUUvNjVTL2ZkalBOOUpLNzRJSlIvYXltMDdKMzNQR3VXMnV0Vjkzc3M3OXNlYi9zdnZyVgox
OXhiYncwTURvNDg4aTAzWXNTTHZiL3ZmdmZOMGp5dXVlWWR0OHd5cjVST2UrQ0I5OXhHRzczbVRq
LzliVGYzM0pPNHFhWWFNYzU4CmRjdVBNM1B1alJkZmZORnR2ZlhXN2pPZitZdzc0b2dqM1BISEgr
L1dYSE5OOTluUGZ0WnR1T0dHZnM1enp6M1h6VGJiYk83c3M4L08KTFRueFB2M2xMMzlweDNNbUsw
c1hkTjdKdi83MXIyN1paWmZ0MlhWZXdTQVcySC8vL2QwR0cyd3dpQ1dIZjVFSEgzelFMYjc0NGdN
eQphbFBtQml3d0FiNG8yKy9oMkkzaE9QWmR2cHVMNWIzNGVqajJ1ZTA2YjcvOWR2ZUpUM3pDYmJm
ZGRvMkw3TFBQUGs3QjNJU2V1dXh6CmNWK2JsdTNuZTdHWVZ3cXZoL3Qzcyttek5qRWR6Nlo5R2Ny
eUZET3ZvZHp1c25VMWxaR3laZnArTDJ0SWE2KzlkdmJZWTQvMTVwcHkKeWltenJiYmFxdmY2Snov
NVNXWmZOcjNYWForOFpiVnd1N0pSdVppZEZjaW1tV2FhektKTVA4K2YvdlNueW5tN1RKaHR0aGV6
WTQ5OQpzOHNpZzU3M2xWZEdaK3V1KzBwMnlTVnZaODgrKzE3Mi9lKy9ZWkhIQzltQkI3N1JXK2Ni
YjR6T050cm8xZXk2NjBiNXYrdXZINVU5Cjk5ejcrOXlieVo2ODhNSjcyYkxMdnB6Tk5OT0wrYmY5
ODEvOTZxMXM3cmxmeWg1OTlOMXhwb1UzNnBZUDg1UTlQdkRBQTlsSFAvclIKYklzdHRzZ3NBT3pO
TW5yMDZPeDczL3RldHVDQ0MvYmVXMlNSUmJKRER6MjA5L3FEZXRKVXRvWnF1eXpnc3JKMDdLQldk
L1RSUjJkYQpQbGI2NzMvL216Mzg4TVBEbGwwLzVuWm1PWnQzM25sNzI5YWx6UFVXbWdDZkZQZDd1
SGFoNjdGdk9wYUQrVzR1bHZmaTYrSGE5emJyCjNYbm5uVE03bVZJNzZ6dnZ2Sk90dE5KS3RmTk1T
QlBiN0hQVi9qUXQyOC8zWWxXZUUvUDd3LzI3MmZSWm01aU9aOU8rREdVNWlwblgKVUc2MzFsWDhq
bThxSTBPZGYrTVZrTzk4NXp2K2lrZFZwUFB0YjMvYlg1V29tbDU4MzNhZzk1WjltYnZOTjkvYzNY
enp6YjMzaWsvdQp1KzgrTjJyVUtEZkpKTzl2Nm9vcnJsaWNaVkN2SjV2TTJaV0dRUzA2WUtIOC9n
eVlrSHZ4NXorLzYwNDlkUnIzeFM5T2JsZEFKbkdICkhES2xXMkNCU2F6cHpidTl1VTQrK1cxL3Rl
Sk51K2l4L1BJajNlcXJUK1ptblhYY3czUFlZVys1YmJlZFlweHR2K1dXZDkxT083M2gKZnZ2YmFk
eDg4MDNhVzIveFNkWHl4Zm55cjNXSjBRSVBmd3gwWm12eXlTZnZUUjVoaUJac09BdEFldTlOWnJo
NnZ5bTkrKzdZL1crYQpWOU83ek4rbWJMWEpVL00wSGVPMisxdVdueXpiV0pVdFcvZGUxVGJyYXMw
Q0N5eFF0MmpwdEtyMTVXZnUxMXhYemhaZWVHRy95cTVsCkxyOGRFOXJ6L0g3WGJYdWJZMUMzZk4y
eEw2Njd6YkVjekhkenNid1hYOWR0LzNCTnM1TW9mdFVqUjQ3cy9jNVU1YVhmcWxWV1dhVnEKY3Uv
OW9tZHZ3bmp5cE1zK0Z6ZTU3Ykw5ZkM4Vzg4eS83dkk3VUhjYzZxWjF5U08vYlYyZUYvTWZMcSt3
VFZXZnRRLzZlSWJ0RzRySAp0dnN5b2VVMUZOdGJYRWZaZDN4VkdTa3VPMVN2UnphdGFKMTExcW1k
eGE1T09Ec2o1T2Q1N3JubjNKRkhIdW51dlBOT3AvYU1KNTU0Cm9sdGhoUlg4dE4vKzlyZSszZXdy
cjd6aUxybmtFdC91L2JqampuT1hYbnFwKzhjLy91RWVmZlJSOS9PZi85eHBmU0dkY3NvcDduZS8K
KzUydmVPNjAwMDVXUVovS1dZVG0xMjFuM2QwVVUwemhsNXQ3N3JsOXZwcCsxMTEzT1ZXU1o1bGxG
aisvOHZqOTczL3ZQdldwVDRYVgo5aDdmc0FzUmUrMzFoalVYR3VYbW5ITVNkODQ1MDdoRkZwblVL
dkdqM0hlKzg0YjczdmVtZEx2c01xVTEveHJsRGpqZ1RRc0tScnFUClRucC8rN1RzUHZ1OGFVSEND
S2ZLLzR3empuQkxMejNTcmJqaXBQWURaZEZOTHEyOTlzRFhxbkF1dXVpa0ZveU1yYVFyanovLytU
M2IKaGxHKzZkUXZmakcxVzIrOWdjdHBIcTNycFpmR0JuRWhtNjk5N1RYYngwbk55cmtUVG5qTGdz
SkpyV2xVKytYRGVzb2UvL0NIUDdnNwo3cmpEREE1d2RnVnNuRmtVSEJhYjRlbUxRRTArempqakRE
ZmRkTk81eXk2N3JCZklYbmZkZFg1OWNsQlowUEZTMDV1cVkvZnFxNitXCnpxOE5lZE1pdGtNT09j
VG5vZVdYVzI0NU82Wjd1Ykt5cFRKWlZqNnI4bjM4OGNmSEtiUGo3UHlZTjk1NDR3MmZyNXFlelRu
bm5IWWMKejdHeXRJaWZXdmU1S0s1UDIxaFZ0bSs0NFFadnBmVnIzWWNkZHBqVGo5YVZWMTdaczlW
MnFJbklyTFBPYXVYeUZpdVhNMXE1WE5ySwo1WXB1L3ZubjkwM2pMcnJvSWl0cmYzYjlycTlZRVNz
ejE0OXMxZjRVOTEydlYxMTFWZjkyMXpKWDU2YnZGelVWVXFWaTlkVlg5K1ZTClRVbFBPT0VFOTZF
UGZjZ2RkTkJCenE2czJtZDlGL2Y5NzMvZmZ4OTFtVjhiWEpkL0crZXczMzduQy8vS3ZqczFTMVha
THl2UFo1NTUKcHJ2Ly92dGRPUGJYWG51dG5SUTUxWmNKL1JEcGM2b2ZuOU5PTzgwM3F5dzdsdjEr
TnhkMnEvUmxuZU9GRjE3b2RNSkxUWDlQUC8xMApkL0hGRjd1OTk5N2JONTM2eFM5KzRmZmxtR09P
OGZ0NHpUWFgrTytxdXM5ZStNek9QdnZzN3Bsbm5uRi8rOXZmU3IvZjhodXE3NnROCk45MDAvNVov
M3VSWmRrejB1elRQUFBPVWZpZHBwVlhIVjlQcTlxdHVXdE0rOTdPc3RxdVlRbjdGNzBVMU9kS0px
M25ubmRkWkt3cC8KNGtFQnJackE2WHRObjlOaXF2cmRLTTZuMTJXZm1hWmpwT1hxOGhqczhkQjY4
NmxzMjhMMHV0L051cytHMXFtVHhmcXUxZmVZbXF6cgo5MXFPSjUxMFVsajlnTWR3YkxxVS83Qk04
WGhxeFhWbEo1OXgxODlDbSsvUHNGMVYrMUsxYlYyM1JmdlJsRmQrWC9XOHJ0elVIZE95CmJkTm5S
YjlWeGZydFlMNUh5cjdqODlzK21NOW9mdmxXejYyQzBDa1ZtMkNGaGUzSFBmdmM1ejZYV1lEaG0w
dlpEMFZtU0ptMTRjN3MKQjg2YURTMGJaczMyMkdPUFhwTXErd0xLN0F1bk42MzQ1UHp6ejgrc2dq
dmdiZXVEa0ZtRjE3OW5WMGN5Q3k0eTY2dmlYMXZGS3JNKwpLNW0xNTgwc2VNbTBIV1ZOVHVhYzg4
VnNzY1ZleWk2OTlHMXJBamJLbW42OGxNMDMzMHUycmFQOWVqNzYwUmV0R2RIWUpsSnJyLzFLCjlw
V3Z2TnJiamhOT2VEUGJjOC9YL2V2NzdudlhONms2OHNnM3N5ZWVxRzcrRkJhMkw1bHNubmxleXU2
ODg1M3dsbjlVMDZuampuc3oKbTJxcUY3TEpKMzhoZStpaHNldDY4c24zc2gvODRQM3RPZi84dDdP
Wlp4N2JCT3V4eDk3UGY2V1ZYczVPT3VtdGJPKzlYL2ZMNzdycgorOXVubGRjdFAyQWpTbDRjZGRS
UmluZ3lxOFNVVEIzM3JTV1hYREpiYXFtbE12dkN0M3lmek95c2R2YXRiMzNMejZqbVcycktGWnJk
CkhYamdnZGIwYkNNL3JlellXYVdwY240dFpIMlRNaTJuWkVHUzMwNExnUDNyZk5tcUs1OWwrYXI1
VDFXWjlTdlAvYk9Bd01yU1lsYVcKTHZYN3BYem5tMjgrWCs3cjh0VXFmdnJUbjJiMnBkbGJXMTNa
VmxNZE5YV1Rwd1YwVnRhZXlCWmFhS0ZzMjIyMzdTMXZsV29ybDN2NgoxL2FEN2owczZQTHpXbWZo
YlB2dHQ3ZXlNN09mM3UvNmVwbm1udVROOVhiZC91UVc2ejE5L3Zubi9mT3VaYTR1SHd0QU1ndkNN
dXU3CjVyOFQ3QWZFUHN0ZnlTd2c4OTg5YXBwa1A5YVpCY1RXeFBHRnJPdjgydUM2L05zNGgvM3VR
WXg1VXZmZFdWWDJ5OHJ6WC83eWx3SEgKM29McnpJSlViMkpuOVRQclgrYy9zM1BOTlZkdkU0ckhz
amRoekpPdTM4MWFyRmplaTYvckhMWDhNc3NzazIyenpUWjY2dE5xcTYyVwpXYiswOERLelNuMW13
WWwvM2ZUWlczLzk5VE9ycVBsNTFjVDNJeC81U0xiV1dtdjExbFgyeEU2b1pmcitMcVltejdKallu
MS9Lbjh6CnRmNnE0MXUzWDNYVHRNNjZmZTVuV2EyN21PcStGeld2anJYMUlld3RwdnpEYjBIdnpU
RlA2bjQzaXZOV2ZXYWFqbEZUSG9NNUhtMjMKVGZQVi9XNXFldE5uUTcrcithYlBhajZ2NzdtUWlw
KzF1cklRbHNrLzFoM1BwcktUWDAvWHowS2I3OCs2ZmFuYnRxN2JvdjJveXl1LwpuK0Y1VmJuUjlM
cGpXclp0K3M0dDFtOEgrejJpL0l2ZjhjVXkwdVV6cXZWMVRXcGUwaWxWQlNBV0xma3ZUUDBBNkU4
VlMxVmE3WXhSCnBoOVh1N3p0MzFkbXF0eXBVQ2dKNFBEREQvZlB5LzRWZitUc2JLOFBTQlI0aEdR
UnZzL0xSaFB5YjMzNjA1L092dmExcjRYSnBZOEsKUUJRd2hIVGVlVy9iT2w3SXJyenkvZlhPUC85
TFZqa1pHNEJzc01HcjJTYWJqQTFBUHZXcGx3ZE1uMldXZ2VzTDZ5MTd2T0NDdDdNZApkaGdiSEJU
blVXQ2lQaDdiYlBPYW42UWZQTTMvK3V2di8vQVZBeEN0VDl0KzIyMWpBeHIxTHhreDRvVk13VkhU
OHNYOGk2OTMzMzEzCjc2dmoyaWJwaTNTLy9mYnJ6YnJERGp0a2R0YlN2OWEyMkJtYXpEcHgrdGVx
TUMrNjZLSzllWXZIcm01K08xdmwrMDlvbnBCVUZsU2gKVk1xWHJicnlxWG1MK2RhVldjMmZUL3Bp
VmlVL0pGVnFWUFpWVnB2eXpYL2cyNVJ0QmZuNUh4WFo2a3NpSkFYaitZQmVKd0h5MjJaWApKYTFz
elJSbTl4V2dmdGJYVzlHWUozbnpOdnRUWEQ2ODdsTG0ydVNqU21vNFNhRThmdjNyWDJkMjlTaGs1
MCtVNkpqZGZmZmQvcjB1Cjg3Zkp2K200OVRhazhLU3FIRGFWL1dKNTFtcUx4LzZUbi94a3R0dHV1
L1Z5MUErWkRQVDlySlEvbHIyWmNrOEc4OTJjTCs5YVZmNTEKRzBkOVg2aWlGZm9FMnRWUEgxQ3Iw
cW1razF0MlZ0RS9yL3ZzNmNkZEFhZE9rSVdra3lSMUFjZzk5OXd6SU5nUHk0WEhKcy9pTWFuYgp2
cnJqVzdkYzNiU21mZTVuMldDUWY2ejdYdFI4ZGpYT0g0UFF4L1RHRzIvTXJOVkRmaFc5NTNXL0E3
Mlp4anlwK3N4b2N0MHhxc3RqCnNNZWp5N2JWL1c2MitXeUVFeW9oVHh0c3hPb3NtNFNYQXo1clRX
V2h0MUR1U2QzeHJDczd1Vlgwbm5iNUxHaWh1dS9QcG4xcDJyWXUKMjlLVVYyOEh4enlwS3pkdGpt
bHgyN1RhNG50MSsxZVh2OVpWL0k3UGZ4OXJlcGZQcU9idm1zYnRaR0MvUUlOSmRtRDhhRUM2aks4
LwpOY3ZTWlhEN3dEczc0K3BIK3ZuQ0Y3NWcvUlIyY3JiVGZ2U3NrSSthNHJSTnQ5MTJtNy84cEtZ
bklZWG1WVlo1OEcrcEtaWXVVVFdsCjZhY2ZtKzhLSzd6ZmIrS1JSNnFIdnMydmI5cHBSL2dtVStF
OTllMVlmdm5xdmhkaHZwZGVHdTNPUDMrVU8vYllxY0piNHp3dXM4eEkKRzhscU12ZC8vL2YrdHB4
NDR0dldCMk55Ti9YVVk3YzN2NUNkdFBVdjU1OS83T0g4eWxjbXQrRFN1Yi8rOVYxckNsZS9mSDVk
WmM5MQp2SlM2RERXYlA2WWFSVTJYR3BYMHZoVnlhMGIya205Nm9KSE4xTVFxcE9LeHE1di9qMy84
bzI5YWxNOUxUVFRVMWoya01LMnVmR3JlCllyNU5aVGFzUHp4T1AvMzA0V212MmFHR3UyM0t0N2VR
UFdsVHRyVS9ZWiswN0xUVFRtdWpxYjNWVzQxZUs4K1FkRWw2K2VXWER5LzkKc3ZubCsxMWZiOFc1
SjJIOWJmWW50OWlBcDEzS1hKdDh3amFGVE9TVVQyb21xR1NWRi8vWVpmNjIrZWZYV1R4dVB0T1Nm
MVhsc0tucwpGOHV6VnEzODg5dWc1MnFLRnBMNjMraXpxcVlxSWVYbkQrOVZQYlp4cUZwVzc3ZFoz
azRzK1dNVStnMnFXZG5ycjcvdW04N29jMkNWCnlGNHozcnJQbmxWMmZiT2ZEMy80dzcxTlVuTzh1
djFWODZzdmZ2R0x2Zm1MVDVvOGk4ZWtidnZxam0vZGNuWFRtdmE1bjJXTEZ1RjEKMWZlaXBxcytZ
RmZjZlBOSXZiNzg4c3Z0ZDI4alBSMG55YmJ1ZHlPL1FOVm5SdlBVSGFPNlBBWjdQUExicGVkMTI2
YnAyb2FROHIrYgpiVDRiWWJrMmowMWxvV29kVmNlenJ1eVVyYXZMWjBITHl5VnZrLy8rYk5xWHBt
M3JzaTFOZVJYM3RhN2N0RG1teFczVCtvdnYxZTFmClhmNWhXL091NGIzdzJPVXpHcGJwOHRqWUI2
VHR5dXlzczFNblBnM0xXcFlzU25OMmlkc1AzYXEyYlZkZmZiVnZ0MTgyYjkxN2FuK24KdkZTaDFR
K0cwaEpMTE9IejFnL1JZTk04ODB4cWxUbFY2TVorQWRTdGE0ODlwblJiYmZXNnUrKys5Nnd2aXJQ
Z1FPM1h4d1pGVmN2dQp0OTliN3BoanByWmw2dk5aWlpXUk5pYjkrNTBqVHoxMWxMVk5IenNrcnpY
WnRxR0luZm05NkhiZWVVcmZOMFg1UGZWVVpoV0k5M05XCk1LSzZoZTUzY3NZWjljc2ZkbGgxTUtT
MTJSVUt2MUk3TS9yK3l2djhyejRmNnArZzl1YnE1Nk1QWWwycW1sL3RPbFVCYVpPYXltZloKT2da
Ylp0VWVVMStRK3V1UzcxQ1ViVHNEYk9WeUt5dVg5L2srVWxOYndhenJYMUMyMy9uMytsbGZQL3ZU
cGN3TkpoLzFXOHAvOGVhZgo1L2MvUEsrYmZ6RDVoL1cyZVN3cmgxM0tmcHM4d2p6YVQzMlBEeWIx
NjlCbWVaMWMwTkR3ZGdYTEtYalFNTmJhWnJWNWYvbmxsd2NNCk1WMzMyZE45VnpTOW1PcktnUUl6
OWEvcWt1bzg2N2F2N3ZqV0xWYzNyV21mKzFtMmpVbitlMUh6Sy9pMUs3aSt2NTc2WWFtdGZENGcK
TEs2ejZuZWdPSjllbDMxbXdrbUc0dno1WTFTVngyQ1BSekd2cnRzV2xtL3oyUWp6dG5sc0tndHQx
cEUvbm5WbHA4MjYrbG0rYVYrNgpycnR1L3FhOGl2dGFWMjZHNnBqV2JXOWQvc1Z0TFh2ZDlUTmF0
bzY2OThhZU1xK2JxOFcwajltOVFYVEZJMzgyMWk3SE9FV00xb2JQCjZXWlZObFNwdStxcXEzemxT
RDhZSWRWOTZZZDV3cVBPMG1tRUhJMi9ISkxXYlUyNmVwMSt3L3RkSHA5NVpyU2RpWGZXWVhmc0dj
RXgKZzZPVXJtYTk5VWI2MGFpdXV1b2Q2eUQ5bm5Yb0hYaEd0V3lobzQ5K3kzM3ptNVA3RHU5aCtu
UFBsZDlROEo1NzN2T2R5alhmMldkUApZMmNscCszOUhYamdWQlo4alBDdnQ5OStDcnNueUtSMjFz
OVo1Lyt4bzBycFJvVEc1RHU3TnkwZnRxWHFjWTAxMW5EV3A4TjMvTlNWCmk3SWsvelpKUWN5T08r
N29CeFBJWDhXcVdyWnVmbjBCNmlxREJqQUlTV1V1WEFuVGU2RnMxWlhQc0d6K3Nhbk01dWN0UGxl
SFZsM1YKVWVmdkx2a09SZGxlYjczMXJGeHU2ejluR2poQUhmajZTWU5aWHpEdlozKzZsTGwrOHVu
SEppdzduUGxYbGNNMlpUOXNYOXRINnl2bgo3MjloL1N4Nmk0UmoyWHVqNWttL0RtMlhWNEN0Kys2
Y2ZQTEp6cHBOK1hzVHFYTzlBb1I4c0YzMzJkUEpNRjN0MGo2M1NicXhxcTZxCmx3M0NVYlY4bVdk
KzNycnRxenUrZGN2VlRXdmE1MzZXemU5WDFmUDg5MktZUjhkUHZ5a2EvS0U0cUVXWVI0OTF2d1A1
K2ZTODZqTlQKbkUrdjg4ZW9Mby9CSG85aW5sMjJMYjlzMjgrR3JnQzJTVTFsb2MwNjhzZXpydXkw
V1ZjL3l6ZnRTOWQxMTgzZmxGZHhYK3ZLVGR0agpXbHhuOFhYZDl0YmxIOWJUOUIzZjlqTWExdGZs
c1ZNQW9zS3RJWEh6ZDcwT21YM2pHOS93b3lDb0NZeHVIcWFnNE9DREQvWkRmdXFtClRScWxRY2s2
UnJrdmZlbEx2YXNYT3VPaHFGSkp5eFdUUnMxU3Zvb1dsYXk5dWg5bFNNRk9TS3BvNldCYVp4Ly9s
aXJET3B2U2xLemYKWVcrVzY2OS94ODZlVFdZVjdmZlAvaTJ4eEtUV2ZPazkyOS9NUmtnWmJaWGMw
ZmJqUEhiK2d3NTZ5NGFlbmNUdHV1c1U3dXRmbjl3dQppOVZmMFRqenpMZHQvekpibi9OM0tOY1F2
Q2VlK0phTi9QU2U3ZjlvcXpDK1kvdjUvdnAxOTNJTjNidnZ2dStQT0xYNDRwTmFNREt5Cjk2ZDgx
UUpONytsbWd6UE5OSW5iZmZjcDNSLytZSmRHeGlSdCsyS0xUZUxXV0dPa2pUQlZ2N3dXc1E1NGZ2
U1JjQ3pDZXZTb00wUzYKL0czdHJKMTFBQjNRWkVyVEg3ZlJvalFhVFFoQ2RLekM4ZEowSFl0d1BI
VFROUjFQZmRrcmtGUVRMQVd0Q2h6MFZ6eDJkZlByeHBpcQpFT2ptaUpwUGZ6cERxY3Y2U3ZteXBi
T21PaHRRVmo0MWJ6SGZ1aktyK1l0Sit4S1NkYkQzWjJJVnROVjlMalMvUGs5eVZXcFR0alYvCi9r
ZEd6dm04ZFNaUlF5THZ1dXV1Vmk2LzdpL1grcFdQK2FmNWRTeGtyZFR2K3Nhc3R2ZVFOOWZWVUdz
MzdFOU1oQm1LbjlYd2Z2R3gKUzVscjR5Ymp2SlBLdTE0SCsxQjJnMjJYK2R2azMrUmMzUC93dXFv
Y2Z2V3JYNjB0KzhYeXJQVVZqNzNlMC9wRFVyQ3FTbUJvc3BjLwpsa1AxM1p3djc4bzMvN3FObzVh
eDl1RCs2cDdPenFsSmlHNkVxclBiYzh3eFIrK0VnK2FyKyt6SlQxZDY4aU1FNlM3b09wdVlMeWRh
CmoxSlQ4NnYzNTZyM0xCNlRwdTJyK202clc2NXVXdE0rOTdOczJQL2lZOTR5LzcwWTVsT1RKSTBx
cGxIbjFOeWpLdFg5RG9UdnNyQnMKMVdjbVB6MDh6NWY1dWp6cWZtdnEzRUkrNGJGdTIvVDUxRjlJ
K2QvTk5wOE50UVRSemVUMG1WSndvQk56K2M5My9yUFdWQmJDTmhRZgpxNDVuRndPdHM4dG5RZk5y
MjhOM3MxN0xLV3hMMDc0MGJWdVhiV25LUzl1V1Q1cS82blBjNXBnV3QwM3JMcjVYdDM5MStXdGR4
ZS80CmZCblJkS1c2ejJoZHZmSDlwUnYrMjRlM1ZkSm9SQnBSeWxhWDJaZCtwaHNRMmlYdkFjdmFV
SWlaRFkzck81YXA4NnM2c0NocDJZOS8KL09QK2hvWHFsRzVud1AwSVFacG1aejc4L0JyWnhDcUll
cXVYTkhLTC9TRDZQRzFvVmJ2QjNxTittalhoOGgyWE5WTE9GVmRja2RrWApXR1pmSG42YU9wZnF4
b1gyWTVSWjBOTmJWL0hKQVFlOGtTMnh4TXZaRVVlOGFaM2czN1RPbUsvYkNGNWpPelByaG9EcUNL
NlJzVFNxCjFQYmJ2NWF0c2NZcmZzUXNyV3YzM1YrMzdWTG5peGV5U1NkOXdUcER2Mmo3OWJyZHBH
L3NPa0tlTjl3d3lqcTh2ajl2V0VhUEgvbkkKaTlZWmYzUjIrKzN2WkZOUC9VSzJ3QUl2WmZ2dSsw
YjJ6VysrVm5zendRc3ZIRGdLbHZMUmV2YmE2M1UvTXBmMmFkVlZYOGtlZWVUOQpqdjVoTzhKajJm
SVdFUGpqVURmU2xaMHRzdld1NmtkNFVvZE5IUlBkdUd2ZmZmZjFON1RSK2pYeW1GVWUvZkZSaDE0
ZEs5MWdTWU1RCmFKUW9heWJuUnlpejVuTis5QnAxYkxkbVF0bG1tMjNtUjlrcUhydTYrVFZxaWNx
WXlwcktwVVg3bVRYdENyczVUdG1xS3A5bFphYXUKelBZeUdQTkVJeWpabDcrVnBTUDhnQXJxMkt2
UjRFS3F5dGQrTEh5blNHMjdEVUh0Yi9CWVY3WTFVcEY5WWZqUmVxemRaNlpPc2VwNApxTStjRFZ2
cnN3dWR0N1ZPcTZENVR2cjZ2TWxLK2FrRG02YnB4b2thcGF5ZjlZWDl5ejhXUDg5MSs1TmZydXA1
bXpLblpldnlrWldkCnVmSVdWdUhJTEdEMkhkTGxvR05uWjJBemRXYldhM1hhMUhkVWwva3RhSy9O
djgxeHE5ci91bkpZVmZiTHluUHgyS3M4YUpRM2pSYjQKd3gvK01MUEFOZE9vT1hhR3RyY3B4V1Ba
bTJCUEJ2UGRYQ3p2K3F5cVU3RGMyNVQvZlA3Njd0Rm9aU0ZwSC9LdncvdFZuejFObDVNMQprL1Rm
VHpydVZnSE9iTGhxLzM1WVBqeHFKQnNMVHNMTDBzYzZ6N0pqb3BYVWJWL1Y4VzFhcm02ZFRmdmN6
N0pGbEtidnhUQy9QaDkyCnNpUzhMSDFzK2gzSUwxVDNtYWs3UmsxNURQWjR0Tm0ycHQ5TnJhUHVP
MDdUMWVGWUE0eG9CRVk3SWVoSHZiTXJ5WDVreHVKblQ1Ly8KcHJLZ2RlWlQwL0dzS3p2NTlYVDlM
TFQ1L216YWw2cHQ2N290Mm8rbXZQTDdxdWQxNWFidW1KWnRXOWw3eXFOcS81cnl6My9IcTFOOAo4
ZnRZeXl0VmZVYmIxQnZmWDBQNWY1MEpIZEtrZ3EwZkFqdUQyRnV2UmFyK3VVWWNDU09VOUNiYUU0
MWEwVFZaTk95SDF5MzcwZW15Ckx0MlpQQXk5VzF4T3dZVHVVSzQwYXRUQXdFSWpaRDM4OEx2WnZm
ZSttLzNwVCsvWUNGK2pzaTIzZkMyNzVwcXhvM01WMTFmMyt0VlgKUi91Z295eUFxVnV1T08zTk4w
Zjd1NjBYMzIveldzTzB0a2wyWnNaL0dkNTc3NzJabmc4bTJSbU0zbUlXZGZlZVZ6MnBtMTlsSVY5
eAp5cStqV0xiS3ltZCsvdkM4cWN5RytmS1B6ejc3N0lCeW41L1dObDh0MDAvWjFnaFlxclRyMk5o
NDRYN2t1UzIzM05MSzVUWDV6V245CmZERHJLNXIzc3o5aFE5dVV1YUhJSitRM21NZmh5TCtwSENy
UHFyTGZ0QStxak5tOUEveDNjdFZudjNnc205YXA2ZjA2dEZuZXJwb08KMkpUaTYvekV1cytlblUz
cy9mN1VmWmVwQXRlVTJuaVdyYU51KytxT2I5MXlkZE9hOXJtZlpjdjJyKzU3VWZOYnY0dk0rb1NX
TFRyTwplM1cvQTJIbXVzOU1tMk5VbDhkZ2owZWJiUXZ6MUQwMmZUWjA3TUwydC9sZGJTb0xaZHRT
ZHp6cnlrN1p1b3J2OWJOODA3NTBYWGZkCi9FMTVGZmVycnR3MEhkUGl1cXBlMTIxdlhmNXR2dVBy
UHFOVnZ4MVYyNWwvZjRSZTJCbW9wTktJRWVNMjlVb0tvTEN6V1RhbTUzcmgKZlY1T1dBSnF4bUJE
by9xMjhQa3QxNEFQZGdYUzM2Z3QvMzdUODZGZVgxTitUSThyb0p0MjJoRE8va1p3Y1hPZU9IUERz
OXR4VlQ4NQozVXhZVFVqMHZkWFVGcjNiMnN2bjVoaVZ1L0F1QW1VQ3cvMFpIZHh3SjJWYk9nRzkx
MitGV3lOZkxiZmNLOVptZFRJYlpuaWt0YW5QCnJIL0JhQnVkWlRMN20zd0NrbUJUSnlZQmExN2wr
MzZvYmFtR3Y3WXp1cjdmaS9xLzZDN29YZE5RcjY5ci9zdy9mQUoyUnF6WFRuejQKY2tsbnpYaDJP
OWJXNU01R2NOeloyVDFkM0ttbm5ob2wrT0FZZFR0R3pKMjJRSXpQYUpKWFFJYWlXRm4zRi9mSFA3
NWpJMjVrZmhqYworZWNmTzNyV1VLeWZkU0F3R0FFTlJhcXh2elhheXVxcnJ6Nm93Q09mNzFDdkw3
OXVubjl3QXRiWHF6ZjRoN1VaZDdxL0JtbndBbmgyCnM5TkFOaHFZUmdQU2FHU2hHSWxqRkVPWlBD
WVdnUmlmVVFLUWlhVzBzQjhJSUlBQUFnZ2dnQUFDQ0V3QUFwMkc0WjBBOW9kTlJBQUIKQkJCQUFB
RUVFRUFBZ2ZGWVlJSUtRS3lYdjd2MTFsdDduQnJqV2plaWk1bDBCL2FubjM1NlVGa1d0MzlRSytt
d2tMWlZOOUFhMzFMWgp2VVlHczQzOTdOOEhVWFlHczQ4ZjVETGpnNUdONkRMc0JMckhoWTFxMG5j
KytsNndvVHc3cjJjd3kzVE9wTENBalJUa2ROK0x3YVRpCjkxang5V0RXcVdWMDd5amRLNkxzUGxQ
RmRmYnoyUyt1YTZoZUQvYzJOVGszSFZOdDMyQi91NGJLcU8xNm12YWw3WHJhekJjenJ6YmIKd3p3
SXBDTFFHSUNvQStzTU04emdiL0tubS9IbzVrKzY4K0xHRzIvc1ZsNTVaZi82ckxQT0duWXZHd2JS
MlJCNmJzTU5OK3psdGYvKworL3NidnZYZUdPWW5OaFNaM2ZSdkpuOFgzcTVabFcxLzEzVjBtZi9j
Yzg5MXM4MDJtOTFGL2V3dWl3Mzd2TEdYbUZVQUFDQUFTVVJCClZMcUJaUDVPeThVTTI1YTNmdmN2
ZHRrcDd1ZUU4UHFETnJKN1RUaTdUNHk3K09LTGZablJLRGtyckxDQ3Uvenl5M3Q4cWtUcmUwblQK
ZHRoaEI5LzNwVGV4NFlsT1htaFpHNFBmL2VBSFAzQTJ6bjF2Q1kzS1kvZXY4ZXZWamU1MGQzbmRF
VlkzZDF4b29ZVjgyL1V3czdaQgpOOGRiWjUxMTNLeXp6dW9IQWdqVHF0YWprWCswSGkzM3ozLytz
M2VqMXJEY2NEN2VmdnZ0enU3LzRiYmJicnZPMlJTL3g0cXZPNjl3CnpBSWFjZTI4ODg3ek55WmRi
TEhGL0kxUnE5YlY3MmUvYXIzOXZEL2MyOVRrM0hSTSsvbnQ2c2RsTU1zMjdjdGcxbG0xVE15OHFy
YUIKOXhGSVZpQS9KbS9aYzkyYzZySEhIdXROc3JzNlpsdHR0Vlh2dFc1SXFER0NZNlNqano3YTMw
d3M1S1ViUSttZUJ6R1RWZXI5VGR3RwprMmR4K3dlemppN0w2QWFBaHg1NmFKZEZoblZlTzdQcGIz
Nm1teVZWcFM3bHJaLzkreURLVHRVK2o2L3ZmNUJHVm5FZjhEblRkNHg5ClNaZmVKRTczSE5LTkE3
c2szU2pTQW9ETWdwdmVZcm9KWGY2N1RQZEFVWjY2a1dFKzZjYUZkb2RaLzVhZFBjMSsrdE9mWm5h
MXlML1cKZG1zWjNZY2xwS3IxNlBOZ25YRDliUG9lMDAyaFlpVWJnY2pmUkhRdytSVy94NHF2dTY3
VHpzejdtOGZLVWtuM3J5a20zZWZEcm83MAozdTduczk5YnlSQS9HZTV0YW5KdU9xYjkvSFlOTVZY
ajZwcjJwWEVGSFdhSW1WZUh6V0pXQkNaNmdjWXJJSGFqS24vRm95cENzN3VqCk81MnhpcEVtbjN6
eUFjUDE2V3JFQWdzc01LUloyeEd2WGQ5a2swMDJZQnRxWnk1TUxHNS9ZZktRdjJ5N3JVUFIvS1RO
eGx0RnpKOUoKcmh2dnZVdDU2MmYvaHFQc3RERVluK2NwbHYwcW8rSjhYZmVwYVhtTjRHVjNsWGQy
Vi9mZXFuVVZWaWs4OWliWWs1RWpSL296K3ZuMwp3bk0xcjloODg4M0hhUnBsZDVSMUZtRFpVTnBm
Q0xPNnJiZmUyaDE4OE1GT3l5alpYZUw5WTdHOFRqWFZWTTZDRGo5TnpWcjBIVGpqCmpEUDYxN3Fp
WVhmWGRqUFBQTE4vclg5VjY1bG1tbW1jemt3cjZYdE0rZXFLVDFQcTUvT3FvVWlWWkRiSkpJMWYv
NlZOMDRyZlk4WFgKVGR0Zm5IN2ZmZmM1dTJsYWIzc3NFQnd3aXdXWS9oamVmUFBOdmZmYmZ2WjdD
d3pEazJJNUh1NXRxbkp1ZTB5SGUvdUdncmp0dmt4bwplUTNGOXJJT0JDWTJnY1pmSURVcnFFdjZF
VjFwcFpYY2hSZGU2R2FaWlJiMzVTOS8yZGtaUW5mR0dXZjQxMnV0dFphenU1WDdWUnh6CnpERnVs
VlZXY1hZMnk3L1dqN2VkZlhCNzdybW5iMHExNjY2Nytuc1gxT1VYcHRuZE9OMlBmL3hqcDNzVktO
MXd3dzF1MDAwM2RYdnQKdFpjZlYxdzNYbHQ0NFlYZDQ0OC9IaGJ4OTBSUUJYZlZWVmYxOTBsUUU0
K1FOQ1NnM2M3ZXI3UDRBeGptQ1k5cWw2NTgxTVJKOTF0NAo4TUVIdzZUYVBIb3pqWGxTdC8rRDhT
eXVYNi8xaGE2bU5IUFBQYmRiZlBIRkIzaGNkOTExN3NnamozUTZManFHOTk5L3YxK0ZtcmpNClB2
dnNkcStUNVhySDdyYmJiblB6ekRPUCs4TWYvdURuZWU2NTUxeVZwWitoOEUvTksrenFSbWtGTWo5
cjIvSVdsaG5NL2hYTFRsaFgKL2xIMzBOaHZ2LzI4ajUzdGRuYjIwVTlXT2RIWTlTZWNjSUovcmYx
U1U1cnR0OS9ldjc3cnJydDhoVlJOZXV6cWsvOE1xSW1pS3FuNQo5K1JaWmRpbUxGZHRuNXFDNklU
QSt1dXYzMnZqcndxZVBpZGFiMWtxSy90bFJpcjMrcnorNkVjLzhzZFNuemVWSDFVTTIyeHpXVDVs
CjIvUERILzV3UUZQTHNubUs3MVZWcGxVK3pqbm5IRi9CelM5ejVaVlgra3AvZmprRkFXb2pmL2Zk
ZCtkbkhlZjVQdnZzNDV0YWFjSjAKMDAzblZERU1TVTJKVkRibW1HT084RmJwb3lxdjMvdmU5L3gz
U0poQlErSHF2UkFBaGZmRFk5WG50WTI5anQyT08rN29Eam5rRUY5Vwo3N2pqanJEYTBzZXF2RXBu
Ym5pejdudnVsRk5PY1FjZWVLQVBkSGJhYVNmL3ZWcGMzWEhISGVjdXZmUlMzeFJ2eXkyMzdBV1Rk
Wi85CnFzK1dmb3QwL1BUZGRkbGxsN21sbDE3YU4rMjFxMXhPbnhNMUxkYXgwOG1TcWxSWGp1dTJx
YzZoNlh1bGJGdTZIbE90WXloK3U4cSsKNC9yOVBtdmFsNnJqMlhWYmdrR1h6MEtaUGU4aGdNQVFD
TmdQWWFkVWJJS1ZYOWphOW1mYmJMTk43NjNWVmxzdHM3T0t2ZGQyZGk4NwovZlRUZTYvdExyeVpW
Yzc4YXpzRGxuM3FVNS9LckE5QWIzcnhpWm82V01YWXY2M2J2MXVsTDdNempmNjFuVFhORmx4d3dj
eUNqc3grCldMSW5ubmpDTjdHd3R0dCt1cDAxek96c1pLYW1GL1lEbjFtRk1MT0FLYk1PcUptYWNG
ai9rbDUyZSt5eGg1K245MGJ1eVp4enpwbFoKQlMrekgwVGZKR0RlZWVmTmJCeDl2NDY2UExTSy9Q
YnJkZFArZC9YVU92TnB5U1dYekpaYWFxbnMybXV2emF3enVyZXhkdXgrRnV2UQptRmxGdXRlc3dT
b0IyVVliYmRSYlhQTlpoYXozV2taV1FmS3ZtL2F6dDlDWUo4cmJLdC8rbFpxb2hHTlduSy9zZFYx
NUcreitGY3RPCldiN3JycnR1cittTlZkWjhzNW83Nzd6VHp5cTNmTk0yTlJ1em0vLzVhV3F1WTJm
cE0ydGpuMW5mQWwvT3RNL0Y5eXhvclN5UFRXVloKR2RWdG44clZtbXV1NmJkSC8zUzg4c2UyTjhH
ZVZKWDlNaU9yV0dkMnNzQXZicFUxYjJJQmlQK3NOVzF6VlQ3NWJRblBwNTkrZXY4WgpEcS8xR0pv
MlhYSEZGZm0zZTgrcnZqZjB2V0pmazVtYU8rV1RCZGVaQmJ2NXR6SWRYODE3MFVVWCtmZnRSa3or
dFFYdy9udnF0Tk5PCnk2eVNuT2x6V1V6YWY2c2NaeGJRWk5ZWEpkUG5LNlRpZWl4SThaK2xVR2JD
Zk5wV08wdWRXWHYvOEZidnNlN3oybVN2bFZoQW1sbXcKN05lbjd6ODFXYk9UUTczMTU1L1U1YVg1
aXQ5anhkZjVkZWw1MC9lY2pxM2M2cEsrWjlXVUxhUzZ6MzdkOTVNRklKa0ZIWm4xWS9TZgpUNnY0
K3MrdTNhalRyMS9ORGc4NDRJRE1ybnFOVTJhVWQxMDVydHNtTGR2a1VQZTlvdVdMemwyT3FaYnY1
N2RMeTRkVTloM1g3L2RaCjNiN1VIYyt1MjZKOXFNc3I3Q09QQ0NBdy9BS05WMEM2eERocXduRDEx
VmY3cys1YXppcEIvaXlUZllINDFWaEYyT2t1elVwWFhYV1YKdStXV1cveFZDNzNXNVdFTFhud0hV
NTJOYWtxNjJyTEVFa3M0SS9LejZtcUVybnJvUFhWazF0bDZkUjc5KzkvLzdxZmJqNXlmVjJkcgps
YmZPY2ozLy9QUCtwbTI2WW5QUFBmYzRxOXo0ZWRYaE5LeTNiRHUyMkdJTDMzUkROM3BUVXhIckkr
TzBiM1Y1Rk5mVFp2KzdlQmJYCkgxN0xZbzAxMW5EMjQrTnZUQmRHdnBHM092UmJnT0puVlhPYi9K
VWNuZWxXSjExMTBsUEtIN3N1K3lsSG5VM2NkOTk5L1hxRyt0OWcKOXE5WWRvcmJwSkY0ZEJaOCtl
V1g5NU4wbGV1a2swN3laVXB2cUFsT3Zsbk8xRk5QM1h1dFR0SzY4bWJ0d1oxVit2MXlLdlBGOTdS
KwoyWlNWeDZheTNMUjlGa0E3bmNFT1YvLzBPVlBUb0xKVVZmYkxqRFNnZ2NxSmtxNm1hUjRsZmRh
YXRya3FINytDM0QrTmhLU2JINm96CjkzQW1YVUhTWnlDZndwVU1xMlRtMy9iemFkb1VVMHpoL3da
TUhQTkM2NU94Vlc3OGxWUmRHU29tNVJmV284ZDhHZEs4bXE0bVp0WWYKcExpb24xYjFlVzJ5MTVW
ZWZiZUZxNHU2NnJQZWV1dU5rMGQ0byttN0ljelg1ckhOOTF5YjlXaWVvbGZWWjcvdSswbS9FZXFB
cjZ1RQorbnpxczd6QkJodjRnUUQwSGFYeXJhWi8rbXhxY0lCaWFpckhWZHZVeHFIdWU2VzRIVjJQ
YVZoK0tINjd5cjdqK3ZrK2E5cVh1dVBaCmRWdWE4Z3BPUENLQXdQQUxER2tBb2lZRXF0U0h0cnBx
MHFNaEpsVVpVck1yWFo1V2t5MGxYYkpWQlNaZkNiQXJJSDVhVXhNSVA1UDkKMHc5Uy9rZXArRnB0
c1VOekx3VTErbkhSRDcvKzFPUklJektwY3FuMjJ2cHhWM3R3TlFPd3MyMStkSytRVC9IUnp0RDIz
dElYb0pJcQo2M1Y1OUJZWTg2VE4vbmZ4TEs0L3ZNNzdxSEtqWmdCS2V0L09xUG5tY3FvczNYVFRU
ZTdWVjE4TmkvbkFSRFpxdnFLa3dGS1ZLNlV1CiszbmlpU2M2L2VpcGtqNGNhYkQ3Vnl3citXM1Ru
Y1RWREMrL2JqV2hDcFh2L0x4bHoxV1JDSlh6TUwzNFhwTmhjZnZ5WmJscCsxU08KNTVwckxxZm1R
RXBxVXFmS1ZsbXFLL3RsMjZEdERrbk45RUtRcHZmSzVnK2Z2N3A4d3ZyMHFHQmVLZlNwOEM4Ni9s
TVRNWlYxL1lWQQo1bU0yY2w5NFQwM2h0TzNGNFY3RGNMakZmbVZxUnFwbWVCb0J5d2JkY0hZbWU1
d3QwbmVHNXRHSVhacGZJMnNWVTFpUFBnOTJKZGlmCkZDak9vK05jTnJTNGJPcytyM1gyTjk1NG93
K0FRMThVNWZtaEQzMW9RUG5PYjBkVFh2bDVtNTYzK1o1cldrZVlydTNLcC96ci9IZGIKbTg5V2Zq
MHl6eWMxcTFQU2Ixa3hOWlhqcW0wYVNnZHRVOWRqR3ZaaktINjd0SzZoL0Q1cjJwZW00OWxsVzVy
eUNrNDhJb0RBOEF1TQpITW9zVkVIVEdTQjE4TlNQblliTjFkazJ0WlBYV1UyZGFRcEpiVDdWQ1ZR
Vll2MFlLdW5xaFRwSGhvcEFtSGNvSHBXWDFxMnJNbVZKCmJlZXRXWUk3L3Zqam5kcVZxc0lkZm9q
SzVnL3Y2ZXl2ZnNEMDE1UkhXRWFQYmZhL2kyZCszVzJmcXdPc3pvNWIweEtudHRqNmtjd24KWFpF
NjZLQ0RmTHR4YXdyVmErdmVaVDlQUGZWVVo2UDc5RmFyczh2V3hNUGI2aXBMWFZ2cjNrS0RmTksw
ZjFXclZYdmowQittYXA1KwozKzlpV015cmFmczBWTGFHcEZYYmVSMC9uWjNQVno2TDYydGI5blZs
eFViQTgyM2xkVFZBUWFYNlU3Vk5iZklKZ1p2S1NENnBENU9TCjNNcVM5amtrQlFMNjdsSFMxZGN2
ZnZHTFBoZ0xGVTBGSStycm9iS2ZUeUU0THdZZytYbjBYSDNQcXBLKzczUXk0OWhqajYyYXhiK3YK
aXFxdW5oYVRQaDlWd2ZwZ3k3UHV1MVBtbHE4c0Y3ZGpzSGtWMTlQbWU2NjRUTCt2dTM2MmRNenlG
dm5uWmR2U3Bod1hseHRxaDhFYwowK0kyRGZhM3E3Z2V2ZTVxbmw5SDA3NTBYWGZkL0UxNTViZUw1
d2dnTUx3Q1Ezb0ZSSnVxQ3NvRkYxemdUajc1WkQ5dXZwb1JXWnRxCjM0UW5YMWxSa3hSMXRneE5m
TFNzbWwrb3dxRG1LME9kVk9uUUZZOXdSbGJyMTJWMm5SR3hOdFErYjFVYWRLbGNuUkVWTkxWSnp6
enoKakw5eW9NNk1kWGtVMTlWMi85dDZGdGZmOVBxQkJ4N3duVkxWdVRwL0ZTcS9uTTc0V3A4WnQ4
c3V1L2pCQmNLMEx2dXBaanRxdmhYKwoxT0ZVZ1oxZWg0N2JZYjFEK2RobS82cnkwdyt6emtJLyt1
aWp2VmxVVnZKWDVuUTFyNS9VeGJDWVQ1dnQwejByMUZ4RXdaOEdmcWhLClhjcSttdTJvZWFJK0kr
ckVyTTdQYlZQYmZPU2lZRmNuTFBKSkp5Y1VaSVFtaFBscGFpb1RBaFM5YjMzQmZITW9OWW15dmpK
K1ZsMTkKMEd2OTZiT25reUhhcG55SGJ6WFhWTk95Y0pVMm4wZit1VDR2Q21EQzFjSDhORDFYQlRa
Y3pTMU95Nzh1Kzl3cHVKelhycVlVVXovbApXU2RXZERhL3JHbFhNUis5N2lldjR2cmFmczhWbHl0
NzNSUVloR1g2K1d5RmRWUTl0aTNIeGVYYk9yVDlYdWw2VEl2Ym85ZUQvZTBxClcxYy81azM3MG5Y
ZGRmTTM1VlcyYjd5SEFBTERJOUFwQU5HWG80WkxMRFpkeUcrYWZ1QjFkbFNWQlYzdVZUOE1WVGpW
NXlML0E2SjIKOGVxWG9LQWdKRlZxOUVVZEtnM2gvZkNvdlBQdHMzVldTV2QzVlRsVTB2VDhGN2lt
aHdxR2J2eWxIM2MxcGRHZGp4WHNhTWhObmUzVQpIWjgxQ29tU1JtcXlzZmw3VjJYOG00Vi9ZWjE2
VyszeFZabFJYNHE2UERSdmZ2dmI3bjliVDYyL21MVC8rZ3RKVnZwVFVuOFBXYW15Cm9mMVJFeXdG
WjdJTW5qcHJyck81dWdsV3ZrTFZ0SjhoUHoycVFxZGx3NThxaDZwNDZYVyswcGhmSmp4dkttLzk3
SitXelplZGtLY2UKZFFaZGxXQUZ6M0xTbjBiT1ViTW1KVldHWmFManFSOXhCU29xUXlFcGlBN09W
ZTgxR2RhVjVhYnRVNTVxS3FKUnF0UU1Lei9VYk5pZQo4RmhYOW90R3VwcWk0NmZSNmhTY3F1bERQ
dFZ0YzEwKytYWG9iTFIxNWgybnNxeXJBbXI2cEtaTk9zTVprc3FJUmh2YmJMUE53bHV0CkhuV2xW
czJ6MUw0OEpBVlV1Z0lha3I0bmxMUmYrYVNyTXdxZVpTRWp1MjlGN3pPano1SUNORFVEQ3ltVWhi
Qys4SDd4VVViNmZ0UG8KYzhYVTlIbXRzMWQ1MGRWZjlXTUtTWUdjSFBQZlpXRmFtN3p5MzhQS08v
ODZyRWVQYmI3bmRKSkR4MUdXVlVuZlJUcDdyU1JIelp1ZgpYOGJCdWVtenBXM043N2VPcDE2SGZR
aDlGclZOeFZSWGp1dTJxWTFEMC9kSzNybnJNUTM3a2QvdkxyOWRZZm53V1B5T2F6THZwM3cyCnJi
dkx0clJ4VTNuUWxmbFEzc0krODRnQUFrTXNZSlhOVnNtYXBQZ1JmU3o3VEtQVTZBYUVkcGF5ZEZr
Ym9qYlRhQ01oMmJDYUExNkgKOTYycFU3Ym9vb3RtUngxMVZLYlJiYXpDbE5tUFg1Zzg0RkVqdzFp
ZkJFVWFtVWFWc2VZVG1RMHQ2bC9ibFFzLzBwUDlTUG5SWGF6TgphR2FkeWpPTmJHTEJVR1pEeC9w
MTJUQzcvclVGUW40RXJERGFqZmJOT2lmNm01QmRjc2tsbVEzUjUwYzdHYkFCWTE1b2hCVDdvY2lz
CitVUjIrT0dIWjd2dHRwc2ZXU3ZNVzVWSGNmdnRTeTVydS85dFBjTTI2RkVqTUZsbHp2dmFtWHVm
bDI2VVpSVVJQNEtYTlhQekl6VloKOHpjL1VwbEdLTE5LWG1ZVnVRRWorRmovSGIrZitYWHJlZFYr
RnVjcnZyYmhoVnVOZ3RWVTN2clp2MkxaMGJFb0pwVU5hdzdreTVkZApjZkRsTGN3akUyc2U1MGMv
MjN2dnZmMW9iTmJSMzQ4b1pzMFAvVTNWTE9ET0xLajFpNVM5cHdsVmhoWU1aazFsdVc3N3duWnFQ
UllvCmhKZWxqMVZsWCtVMS8vbVNrWFhPOVI3NkROb0pCbjlUVUgxV05LMXBtNnZ5S2Rzb2xVVjlG
eFNUUnJDellNcVB6cWJSOWpRaWxRWC8KbVozRUtNN2FlMjBWSDcvTnhWR3dOSU51c0tvUmNXd1lh
bjhzOUQwVWtsM0Y5YVBHYVY4dGlQYWZDMzAyTkwvS2haMVU4YU9MYVIxNgpyWkh3ckJPei8rN0lm
NGVwREdoNXJjY0dyY2dzeUFsWmpQTjR4aGxuK1AwWlo0SzlVZmQ1dGF1SmplVkZaZENhb0dYNkRy
Qzd2M3RICjNYaFI3eGRUWFY3NjdCUy9oL092eXo1TGRkOXoxaWs0c3l0MDNrZmZjeGJNRnpmSHY5
Wk5Hdlc5cmVOdXpUcHJ2OXUwUU5WblM3OE4KZGhiY2wxMGRDeHVvd1krOHFPT2o3M2E3YXBqWlVN
VitlK1JrbGRBQjIxTlZqcHUrajdTU09nZE5yL3RlS2Z2OTZISk10ZjdCL25acAoyWHdhanUrenBu
MnBPcDVkdDBYNzBaU1huWlR6WmUzTU04L003emJQRVVCZ2lBVkdhSDMyNVR1a3lYNkVCb3dXVTN5
ZHowelphMngyCm5mblVDQ1hEblhRbXhvYUY5U1AzNkt5Z2tzNTBLWDgxV2RIWithWW1HRnBHbCtK
MWxqbXNRKytGVkpaSG1GWjhiTFAvUmIvaTYrSTYKdTd6V1djTndKbHRuQU11YWhWVGwxMlUvdTJ6
VFVNN2JaditxOHRPeDBaVXlqVEpVVE5wM25VMlVYWlZiY1pteTEvMFkxbTJmOHRMVgpEelhuMFZX
OXF0U2w3RnZBN2UrVG9DdGxHckJBbnhkZFFkRFZoNnErVlNIZkx2bG9tVENhVk5sVk1ubXJPWkd1
cXZiVFdUMXNtNjdvCnFoTnovZ3B0bU5iMlVldm9kMXQwNVZYR2RsS21NdHQreXJQS3E2NGU2SHRM
eDFCWCtlcFNQM2tWMTl2bWU2NjRUUEcxcnRobzI5dW0KZmo1YlZYbDBMY2ZGOVRRNWRQMWU2WHBN
dFQxRDlkdFYzRGU5N3NlOGFWKzZycnR1L3FhODFHUXg5RWNyMjAvZVF3Q0IvZ1dHSlFEcApmN05Z
QXdJSURGWkF3WUdhUWFycGdnS0VmaXJXWVJzVXpHaGQ2cnVUVHhxc1FTY083R3BqL3UyK242dVBo
VzZhcDM1WlRSWGx2ak1iCkQxYWdrYm5VVDJYVkRwMzZ4NFBOWmhNUVFBQUJCQkFZbEFBQnlLRFlX
QWlCOFZQQW1pZjZ1NVhyYnUwYWdhenU2a2VYUGREQURPcWIKb1A0a0dwNVpaOGZWcDBwOUtmUTNI
RWxCaURXZjlIMXhobVA5NDhzNk5heXloZ1lQUTNxUEw5dkZkaUNBQUFJSUlEQmNBZ1Fnd3lYTApl
aEg0QUFUVUZFZ0RLcWc1ajBaOEdjcWtrYWxVV1ZZVER0MkVjNml2ZWd6bHRySXVCQkJBQUFFRUVC
aC9CUWhBeHQ5anc1WWhnQUFDCkNDQ0FBQUlJSUREUkNYUWFobmVpMjN0MkNBRUVFRUFBQVFRUVFB
QUJCS0lLRUlCRTVTWXpCQkJBQUFFRUVFQUFBUVRTRmlBQVNmdjQKcy9jSUlJQUFBZ2dnZ0FBQ0NF
UVZJQUNKeWsxbUNDQ0FBQUlJSUlBQUFnaWtMVUFBa3ZieForOFJRQUFCQkJCQUFBRUVFSWdxUUFB
UwpsWnZNRUVBQUFRUVFRQUFCQkJCSVc0QUFKTzNqejk0amdBQUNDQ0NBQUFJSUlCQlZnQUFrS2pl
WklZQUFBZ2dnZ0FBQ0NDQ1F0Z0FCClNOckhuNzFIQUFFRUVFQUFBUVFRUUNDcUFBRklWRzR5UXdB
QkJCQkFBQUVFRUVBZ2JRRUNrTFNQUDN1UEFBSUlJSUFBQWdnZ2dFQlUKQVFLUXFOeGtoZ0FDQ0ND
QUFBSUlJSUJBMmdJRUlHa2ZmL1llQVFRUVFBQUJCQkJBQUlHb0FnUWdVYm5KREFFRUVFQUFBUVFR
UUFDQgp0QVVJUU5JKy91dzlBZ2dnZ0FBQ0NDQ0FBQUpSQlFoQW9uS1RHUUlJSUlBQUFnZ2dnQUFD
YVFzUWdLUjkvTm43amdJdnZmUlNiNGtYClgzeXg5NXduQ0NDQUFBSUlJSUFBQXUwRUNFRGFPWDNn
YzczeHhodnV4Qk5QL01DM0kvVU4rUHJYdis1KzlyT2Z1ZE5PTzgzTlB2dnMKYnZYVlYzZFpsaVhG
UWxsTTZuQ3pzd2dnZ0FBQ0NBeTVBQUhJa0pNT3p3cGZmZlZWOTRNZi9LRFR5di8xcjMrNURUYll3
SDN4aTE5MAovL3puUC8yeTk5MTNuMXQ0NFlYZE5kZGMwMmxkc1dZZTM3ZjUyOS8rdGc5QWpqcnFL
SGZ5eVNlN0cyKzgwZjNmLy8xZkk4OWYvL3BYCjkrdGYvOW9IS3pvV0R6endRT015NCtzTWd5bUw0
K3Urc0YwSUlJQUFBZ2dnRUYrQUFDUytlYWNjbjN6eVNmZkVFMDg0UFk0ZVBkcTkKKys2N3JaZlhG
Wk8xMTE3YnJibm1tcjZ5ckFWLyt0T2ZPbFVnUC9uSlQ3WmVUM0hHdi8vOTcrNjQ0NDV6dzlFRWFi
aTJ1YmdQZzMzOQpwUzk5eVUwMzNYUnUrKzIzZC9QT082OWZ6U3V2dk5LNHVrTVBQZFNkZSs2NTdr
OS8rcFA3NWplLzZmN2YvL3QvamN1TWJ6UDBVeGJICnQzMWhleEJBQUFFRUVFRGdneE1ZMlcvV3I3
MzJtbnY1NVpmZFJ6LzYwWDVYTlVFcy85UlRUN2s1NTV4em5HMVZaWHphYWFkMUkwZVcKa3c1Mitx
Yys5U24zNzMvL3U1ZmZoejcwSWJmSUlvdTRILy80eDI2dHRkYnF2Vi8yWkpWVlZuRjc3TEdIZS92
dHQ5MUNDeTNrUHY3eApqN3VwcDU3YVhYbmxsVzdHR1djc1c2VFZlM2ZjY1lkZjcrYys5emszd3d3
enRGcW03VXpEdGMxdDgyOHozeTIzM09LUHN4N2JwcjMyCjJzdHR1T0dHL3JoTk9lV1VidSs5OTI2
MXFLNld6RFBQUEFQbUhXeFpDaXNaN1BKZHlxTEs3T1NUVDk1WE9RdmJ5eU1DQ0NDQUFBSUkKVEZ3
Q2ZWMEIrZVV2ZitsbW1ta21kOEVGRjB4Y0toVjdvMlpMeXl5enpJQ3Bqenp5aU50a2swM2M3Mzcz
Tzk5RTZvQUREaGpTNlZyWgpkdHR0NTV2NTZNeTdyRWVOR3VVcnMzcXNTNS8vL09mZDlkZGY3L3VP
ZlBuTFgzWW5uWFNTdS92dXU5MlNTeTVadDlnSE9tMUMyR1pWCnJDZVpwTnRIUi8wbWR0NTVaL2Vk
NzN6SFhYNzU1VTVCU0ZrNjhzZ2ozWWdSSTNwLzMvM3VkM3V6RFhkWmExcS9OcVJ0V2R4bm4zM2MK
K2VlZjcxWmFhU1cvTDFxdUt1MjQ0NDUrbmtVWFhUU1o3NUlxQzk1SEFBRUVFRUFnQ1FIclFOdFht
bTIyMmJKamp6MjJyM1VVRjdiSwpXbVpuVUl0dmovTmE4eFdUbmUzUHJKblNnTGVMcnpYeHJiZmVH
bWUrQVFzVlhyend3Z3Zac3NzdW0xbkExWnRpVFc4eXU3S1FYWHp4CnhiMzNWbHh4eGN3Q00vKzYz
K2xhaVhWMHp1d3FodmY0OEljLzdOZjdtOS84UnIyZU0rdlA0VjlYL1h2dnZmZEtKMW5na3Izenpq
dWwKMC9KdlZzMTN6am5uK1B3ZmV1aWgvT3haVlg0RFpxcDU4Znp6ejFldW8rdnhhdG9XdTJwWHN5
VlpwbjNYWDEyNjZhYWJ2SU1lcTVMSwpqVjF4cUpvODRIMlY1NDAyMmlpNzdycnIvSjhGajlsenp6
M241K20zTFBXN3ZEYWliVmxVMmJMQXcyKzNCY3laQlZTWkJWeVpqbTh4CjZUalkxVlB2ZU1RUlJ4
UW44eG9CQkJCQUFBRUVKa0tCVHFkeHkvb2ZURGJaWlA3czVWQkVhMm9mYnhWNHAyWkduL2pFSjl3
c3M4emkKdnZDRkw3ai8vZTkvQTFadng4SDNiVkN6SXJYRkQwbE5neFpiYkRIZlJPbjN2Lys5Zi90
dmYvdWJtM1hXV1owRkQrN1BmLzZ6ZjArUAp4Zm5DT3RTVWJKZGRkZ2t2ZTQrSEhYYVkyM2JiYlFm
c3F6b1YvL2UvLy9YYkdHYmNldXV0M2NFSEgreXNBdXc3SGZjelBheXorR2dWCk9TZjMrZWFicnpq
Sjl4UFIyZWVaWjU3Wk40LzY5S2MvN2I3eWxhOTRBMTNCMFJVUTdmdUNDeTdvTEhBYXNQeDU1NTNu
ejh3Ly9QREQKdGZQbEYxSy9sTHI4ckRMcXpqampESC9XUHl6MzdMUFBPcXNRKzVjV1dMamRkdHZO
OTZmUU1WZVRycFZYWHRuZGM4ODlZWFovM05vYwpyNlp0MFRIUkZTcmxvMlowNm95dmJiY2dvWmVY
bWc1dHV1bW0zdXRqSC90WXI2K0dtcXp0dDk5K3ZmbnFubWc3RGovOGNEOUtsc3FUCnlwK094Lzc3
NysvTFJkV3k2dFErMVZSVHVUZmZmTk10di96eWZvUXRMYXMwM0dXdGFmMVYyMXhXRm0rKytXYW5w
blJLT3A3cnI3KysKMDNIV0ZiaGlVdGxRK1ZTeUFMczRtZGNJSUlBQUFnZ2dNQkVLdEFwQTdJeXNV
OU9RWTQ0NXhqZXB1UC8rK3dkUXFIbUoycmpiMVJEZgp1Zm5CQngvc1RWZGxTaFUzTGYvVnIzN1ZI
WDMwMGIxcCtTZHEvckhlZXVzNU5jZjR6My8rNDFSSjFVaEJ6enp6akZ0bm5YWHlzN3AvCi9PTWYv
dld0dDk3cTFBd3N2TDdvb290OHhTK2ZqNXE4YUJRb081UHNEam5rRUwrY21rdloyZGJTN1ZGL2lX
S2dwWXE1T25NWCt6dW8KTDhVQ0N5d3dvRG1PWGovOTlOTytBdC92OUFFN1BlYkZuWGZlNlFNY0JV
VHF6MUZNRjE1NG9hL282VkhCejY5KzlTdnZxcUZqUC92Wgp6L3FnUS8wUGR0aGhCNmQxNUpNcTZO
cC9CWGdLVHFybXl5L1RsSithNFR6NjZLTytBcTF0VjlKSVVtcGFwR09ySmpycU82UFJ1ZFMvClJ1
K3BxWm42bDZoL2tWTGI0OVcwTFRybWYvbkxYM3laMGYwOFZKN3RhbzdiZGRkZGZUNzZwejR6S3I4
S2dtUnc1cGxuK21tcVFCZkwKUlcraHdoT05WdmI5NzMvZnFlTzVLdWo2VTk0Lyt0R1AzRTkrOHBQ
QzNHTmZxcHhwZTlRTVRjMlJycmppaXQ3RWZzdFN2OHYzTmlUMwpwS29zWG5MSkpVNmQ5VU5hWTQw
MTNCSkxMT0diQXRwVnBmQzJMMmVYWG5xcFUvTkFFZ0lJSUlBQUFnaWtJOUFZZ0tqQ3NPV1dXenAx
ClFOWFpZbFhFRHp6d3dBRkNPbnU2NnFxck9sV2dkRFpaRmFoUVdWUEhXMTNGVUlWVHk2dFNlOWRk
ZHcxWVhpOVVjZGR3cGpyenF3cW4KenFMcUNvajZWNmlpbzBwOVNKcFgwMEovREZWYWxiNzJ0YS81
aXA2Q0hiMTNvdzJScXJQNU92T3EremVFS3lDYmI3NjVEMVRDZkdHOQo0VkVWOEpCVUtkWlZsTElP
M3dxU3BwOSsrakNyZjFSbFdrbkw5VHZkcjhqKzZjeTQ5bFdWWmwzSjBTaEtDdmpLa3E0aXFWK085
bGZICjdQVFRUL2ZMeW5IU1NTZjE3MnQ5T2h1dklXL0xrdlpmeTdlWnJ5ay9lZHgyMjIzZVFzOTF0
VU5YcWxRTzlLanlvb3EyOWtuQjZqVFQKVE9Pdk5PbEtoSWF1VldwN3ZKcTJSY0dPQWdxVk1mWGhV
TUNyRWNLdXZmYmFIb1B5VmZDam9Qb2IzL2lHMzViZXhKWlBWTjUwSlU5bApSdXM0NktDRGZKK2Q1
WlpiemwxMjJXV1ZhMUZBcldCTkk0d3BhRkhGWENPT0tmVmJsdnBkUG14MG03S280eWJqa05Tblpm
ZmRkL2VECktWanp3ZkMySHdwYXdZbXU1cEVRUUFBQkJCQkFJQjJCeGdCRWxRTUZFVXN0dFpSWFVl
VTJmNFZEYjI2eHhSWSt5TkJOMlhTbTk3SEgKSHZPVk9uV0FWcE9mVUJuUjBLK3FuQlZIOVFuY0dr
MXI2YVdYOXZQb1NvaXVuSVI1TlhLUEttaTZPcUtrb0tjNGxPbmlpeS91SzdXcQpQQ3VwS1pTdWdF
d3h4UlQrZFFnczFBUkhRYzNHRzIvczN5LytVNFZKU2ZQcktzRysrKzVibk1XLzlCaHJUZ0FBSUFC
SlJFRlVWb1c1CldIbFNCMlVsTlQzcWQ3cGZrZjFiYmJYVmZDVld6WE5VVVQvKytPUDkyZlFRNUlY
NTlHajljZHpqanovdUF5QmRFVkRRc2NJS0svU0MKTHpWYlUwRHdyVzk5YTBCenN2dzZ0UDl0NTJ2
S1QxZWZkRlZCWi9SMVJVRE5ucFMvbW85cG1nSWtYZjFTSUtEOVU5Sm9YVXJ5VTJwNwp2SnEyUlk2
NmVXQStxU2xXL3U3bWFtYW5td3lxTFAvODV6LzMyNTJmdittNW1wYXBySzY3N3JyK0dDbm9VQkIv
eWltbitLYUJvZnhXCnJVY3VDdEkwd3BZQ05vMTJwdFJ2V2VwMytiQzlUV1ZSSnhGMHRTTjhoc0p5
K2t6cXBJR0NxNUJPUGZWVTM2azl2T1lSQVFRUVFBQUIKQk5JUWFBeEFWSkhRdlNOVVNkTVZBK3R3
Nis4amtlZkpYd1ZRWlZkSmxjby8vdkdQL2t4d3ZqS2k1amNLWXNxU21sT3ByYjJ1Vk54Nwo3NzN1
OXR0djl4WFVNSy82Z256bU01L3BYVUhKcnpmTW8wZTlyd3FYS3JycWt6SFlwSHRTS0xncWErcWtk
YW95bSs4L29QZGVmLzExClBmZ3JPdjFPOXlzYXN5NWRSVklncFlxc0tzaTZncUhtVFhWSmZSaFU2
VmZ6SVRXakcrNVVsWjhxNDZyTTYrcURtbjdsaHpGV0VLbXIKSG5XakpBMW11NnUycFd4ZCtYS2tp
cko4RmJ6cTZrV1RjWEY5YWo2bXBucTY0cURQd2xWWFhlVS9CL1BQUDM5eDF0clh1dUpsSGRKNwpO
em5zdHl6MXUzellXRjE5ckN1TGFuNmx3TEtZTk9xWCttdXBiODhOTjl6Z2cyUjliMVI5RnhTWDV6
VUNDQ0NBQUFJSVREd0NqUUdJCmRsV0JnVHJ2Nm1xQytoSGtLMnhGQ2wyeDBKbGIvYW5mUmJHL1NI
SCsvR3VkdVZmRlVSVnQ1YUV6cFBubU1hcjQ2RDAxblZFVHJicWsKbTZZcFdGR0g5alpKWjZiVkow
Q0JsczdTS3lrdk5UbFRwVkovQ2tZVUJPbTUydmlySWwwOG94MzZMYWlpMXUvMHF1MVdKMmxWY2hY
ZwpOYVZ3aFVZZG8yT2tZbjY2SXFBeitycUtwRDRtU2dvTVEvTXFYY1VKVjZpNmJGL1o4U291WDl5
VzR2U3kxOXBHTmZsU00wSUZFVlZYCnY4cVdEZS9waXArYUdlcHFsVHI3NjhwT3ZrOUVtSy9wVVIy
NUZad3A5VnVXK2wyK2FsdUxaVkdmVjEzTktrdTZxcWtyaExwUzlZdGYKL01MdHROTk9aYlB4SGdJ
SUlJQUFBZ2hNNUFLTkFZZzZncXZpb003am9VSlhaNksrRjdyVHRwcFNLUmpSbFJDMWF3OUp6WnJV
TEtzcwpxVEtxZHZ3S1FqUTZ6bHh6elRYT0hidlZqbDlYWkZTaDA3cnJVckh6ZXRXOGF1YWk3ZDF6
enoxOUJTbGM4VGo3N0xOOUFLUktsZjdVCjkwWEJoNTdyYk80R0cyemcyN1dIaXJYV3J6YjdhZ3Ft
aW1PLzA2dTJWemVuVTZBVW1pcFZ6YWZtYmwzUHZGZXRxODM3WmZucDd0K3kKVmZNNlhkblM4VmVU
ckh3SDZ6YnJ6czlUZGJ6eTg1UnRTMzU2MVhPVktkbXFmTlVGMnZubDFaUlBUYmRDMHNoaktnY0t0
SDc3MjkvNgpLejlxQ3RjMTZXcUIrdkVvOVZ1VytsMithdHZ6WlZGQnY1cFo1ZTl4b3NBM0JMKzZD
cU1CSW5RZkZEWGpETTA2cTliTit3Z2dnQUFDCkNDQXdjUW8wQmlDcUtLZ0NvVUJFRlcwMXdWS1RI
bFVrOWFlVXI0Q3IzNGNxTzZwY3FMS2h5b2lhUVdrOStsTkhkQVVXWlVrVmFuV3kKMXRseDlYTlFL
anVicWc3VitsUEgxcnJVSmdCUmNIVDExVmY3enNGenp6MjNiM3V2TTdSS0NpUlVBUXgvT3B1dElF
eXZOYS9Pa211WQoxSHd6SFRVdkNkdmU3L1N3YnpvVHJ3N2JDdERVeEVXREFxanBTbFVmbHJEY0NT
ZWM0TTBWMEgza0l4OEpiL3ZScFhSbFF1dFRmNTN3CkY2NUtoTkcrZERXbnpYeGh4V1g1cWQrUHJp
eXBxWlVHRWxDekpwV2JxazcwWVYxVmozWEhLNzlNMmJia3AxYzlsN1dTbXRZRkYxMXQKVTVrUExt
SFpPZWFZd3o5VlU4RW5ubmlpTnhxYnZCWEVxRG1YZ3Rad1JTMHNWL2FvUVF2VVhDdFUxdFdFVUFG
YnVBTFRiMW5xZC9tdwp6WFZsc2F6NWxSenpWd24xbWRYeDMycXJyY0lxZTlQVmQ0YUVBQUlJSUlB
QUFoTy93TWltWGRTSVFPb0VySGJkR3E5ZnpaQTBrbzhlCjFVUkp6VXgwdGxsWFBWU3gwQ2hDWjUx
MWxsK3RLbUlhOVVidCs5VUpXVmRFMUhsYzkwUW9TN29Db2ZVcUNGRnpMeVYxYUMxTFJ4MTEKbE44
T1ZaRExraXFMYlNwK0dnMUoyNi9PdjRzc3NvZ2ZTV3ViYmJZcFcrVTQ3K21zdHE2RzZMNGgybTgx
dFZIekd6VlRVK3AzZXNoUQpvNHZwVDBrVk9KMWgxMVVnK2RZbFZZQmxxYXMyK1dCRndVQTRSdm1y
S0dxdXB1WlM0ZDRUYmVjTDIxQ1duenBoNjR5M1JpUlRaVlFCCnFPN0UzdlZPNGlHUHRzZXJiRnZD
T3VvZXc3MCtWUDVDR2RTVkVCMVRCZFQ1cEdaMm0yMjJtWittWXhIdXl4TEt0KzVyb2FzOWJaTEsK
ai9wODZMNGhPbGFxdE9zS25QcEVLZlZibHZwZFB1eERYVm5VdlhjMGpIQkkrcXhyRUFjRkZ2cnM2
NnFoK3JiSVRDY3BsSFRDSWdUOApLcE82WXBjdnEyRmRQQ0tBQUFJSUlJREF4Q013d29LR3NXUE8x
dXlYenNpR1VZbzB3bE94T1pZcVVLcDRqUnc1Ymt5akxGU2gwbjFDCjJpU2RlVy9iZDZQTit1eU8z
WDRvWFFWUnhlMHVMcC9meitLMHV0ZXFYQ3ZvcVdxMjArOTA5YWRSUU5YMUxMR0drdzFOeXVxMmY2
aW0KeGM2djduakYyaFlkaytMVmtjRjRxdHpyYzZMK0dtRTB0YkwxOUZ1VytsMitxaXlxeVZsb01s
YTIzYnlIQUFJSUlJQUFBZ2hJb0hVQQpNcUZ5cVlLcSt6SG9Tb0FxVHZuN0VFeEkrNlJ0VjdNMkJY
b2tCRDVJQWNyaUI2bFAzZ2dnZ0FBQ0NFejRBaE45QUtLck5XcENwajRiCjZ0UWIydmhQK0llT1BV
QUFBUVFRUUFBQkJCQkFZTUlUYU95RVB1SHQwc0F0VnBNcjNSeE5uYkRWSkllRUFBSUlJSUFBQWdn
Z2dBQUMKSDV6QVJIOEZKTkNxM2J1R2dtM3F1QjNtNXhFQkJCQkFBQUVFRUVBQUFRU0dYaUNaQUdU
bzZWZ2pBZ2dnZ0FBQ0NDQ0FBQUlJZEJXWQo2SnRnZFFWaGZnVHFCSFIvajVDNmprZ1dsdU1SQVFR
UVFBQUJCQkJJV1lBQVpBSTkrdXJQY3VLSkowNmdXei9oYnJidUwvS3puLzNNCm5YYmFhVTUzOWw1
OTlkVjdOK1NjY1BlcTI1WlQ5cnA1TVRjQ0NDQ0FBQUlJREJRZ0FCbm9NY0c4MG8wZmYvQ0RIOVJ1
NzcvKzlTOS8Kd3pmZC8rU2YvL3lubi9lKysrN3o5eE81NXBwcmFwZjlvQ2FPNzl2ODdXOS8yd2Nn
dWhIbXlTZWY3Ryt3cUVFT21wTHVNcThiOCttZQpPRG9XRHp6d1FOTWk0KzMwTm1WdnZOMTROZ3dC
QkJCQUFBRUVQbkFCQXBBUC9CQjAyNEFubjN6U1BmSEVFMDZQbzBlUGR1KysrMjdsCkNuU0ZaTzIx
MTNacnJybW1yeXhyUnQxQlhSWElUMzd5azVYTE5VMzQrOS8vN280Nzdyak9OMFZzV3ErbUQ5YzJ0
OG03elR4Zit0S1gKL0ozbGRWZnZlZWVkMXkveXlpdXZOQzU2NktHSHVuUFBQZGY5NlU5L2N0Lzg1
amVkN2pJL29hVXVaVzlDMnplMkZ3RUVFRUFBQVFUaQpDWXg3Mi9LT2VldnV6UnBkNnFNZi9XakhK
U2ZNMlo5NjZpbC9wK3JpMXFzL3dMVFRUbHQ2SjNqTjIrLzBrSi91TkoyL0dhSHVHTC9JCklvdTRI
Ly80eC82R2kyRStQYTZ5eWlwdWp6MzJjRysvL2JaYmFLR0YzTWMvL25GL1YvUXJyN3pTelRqampQ
bFpPejIvNDQ0Ny9Iby8KOTduUERja2R3UE9aRDljMjUvUG85L2t0dDl6aWo3TWUyNmE5OXRyTGJi
amhodjQ0VFRubGxHN3Z2ZmR1dGFpdWxzd3p6endENXUyMwpMQTEyK1M1bFQyVlVkM1B2cDV3TjJH
bGVJSUFBQWdnZ2dNQkVJOURYRlpCZi92S1hicWFaWm5JWFhIREJSQU5TdHlOcXRyVE1Nc3NNCm1P
V1JSeDV4bTJ5eWlmdmQ3MzdubTBRZGNNQUJRenA5d01yR3ZOaHV1KzM4dlUybW0yNDZiejlxMUNo
ZnVkVmpQbjMrODU5MzExOS8KdmIrcThPVXZmOW1kZE5KSjd1Njc3M1pMTHJsa2ZyYng2dm1Fc00y
cVdFOHlTYmVQanZwTjdMenp6dTQ3My9tT3Uvenl5NTJDa0xKMAo1SkZIdWhFalJ2VCt2dnZkNy9a
bUcrNnkxclIrYlVqYnNyZlBQdnU0ODg4LzM2MjAwa3ArWDdSY1ZkcHh4eDM5UElzdXVtZ3kzeVZW
CkZyeVBBQUlJSUlCQUVnTFdKcjJ2Tk50c3MyWEhIbnRzWCtzb0xteVZ0Y3pPb0JiZkh1ZTE1aXNt
Tzl1ZldiT2tBVzhYWDJ2aVcyKzkKTmM1OEF4WXF2TEQ3aUdUTExydHNaZ0ZYYjRvMXZjbnN5a0oy
OGNVWDk5NWJjY1VWTXd2TS9PdCtwL2RXbW50aUhaOHp1NnJoZlQ3OAo0US83S2IvNXpXOHlLNnla
OWUvSXpabGw3NzMzM29EWDRZVUZLcG5kSVQ2OHJIeXNtdStjYzg3eCtUMzAwRU1EbHEzS2I4Qk1O
UytlCmYvNzV5bTN1ZXJ5YXRzV3UydFZzU1pacDMvVlhsMjY2NlNidm9NZXFwSEpqVnh5cUpnOTRY
K1Y1bzQwMnlxNjc3anIvWjhGajl0eHoKei9sNStpMUwvUzZ2aldoYjlsUzJMUER3MjIwbkp6SUxx
RElMdURJZDMyTFNjYkNycDk3eGlDT09LRTdtTlFJSUlJQUFBZ2hNaEFLZApUdU9XOVRmUW5jWjF4
bllva3RySFd3WGVxVm5SSno3eENUZkxMTE80TDN6aEMrNS8vL3ZmZ05YYmNmQjlHOVNzU0czeFEx
TFRvTVVXClc4dzNTZnI5NzMvdjMvN2IzLzdtWnAxMVZtZkJnL3Z6bi8vczM5TmpjYjZ3RGpVbDIy
V1hYY0xMM3VOaGh4M210dDEyMndIN3FrN0YKLy8zdmYvMDJoaG0zM25wcmQvREJCenVyQVB0T3gv
MU1EK3RzZXJTS25kTnhtRysrK1h5L0VKMTlubm5tbVgzenFFOS8rdFB1SzEvNQppamZRRlJ4ZEFk
RytMN2pnZ3M0Q3B3R3JQdSs4OC95WitZY2ZmcmgydnZ4QzZvZFNsNTlWUnQwWlo1emh6L3FINVo1
OTlsbG5GV0wvCjBnSUx0OXR1dS9uK0ZEcm1NOHd3ZzF0NTVaWGRQZmZjRTJiM3g2M044V3JhRmgw
VFhhRlNQblBPT2FmdmpLOXQxMDBxUTFMVG9VMDMKM2RSNzZhYVZvYStHbWhMdHQ5OStZYmJhUjIz
SDRZY2Y3a2ZKVW5sUytkUHgySC8vL1gyNXFGcFluZHFubW1vcTkrYWJiN3JsbDEvZQpqN0NsWlpX
R3U2dzFyYjlxbS9ObEw4eHo4ODAzKytaL2VxM2p1Zjc2NnpzZFoxMkJLeWFWRFpWUEpRdW9pNU41
alFBQ0NDQ0FBQUlUCm9VQ3JBTVRPeURvMURUbm1tR044azRyNzc3OS9BSVdhbDZpTnUxME44WjJi
SDN6d3dkNTBWYVpVY2RQeVgvM3FWOTNSUngvZG01Wi8Kb3VZZjY2MjNubE56alAvODV6OU9sVlNO
RlBUTU04KzRkZFpaSnorcis4Yy8vdUZmMzNycnJVN053TUxyaXk2NnlGZjg4dm1veVl0RwpnYkl6
eWU2UVF3N3h5Nm01bEoxdExkMGU5WmNvQmxxcW1Lc3p0eXBUK2FTK0ZBc3NzTUNBNWpoNi9mVFRU
L3NLZkwvVDgzbFZQYi96CnpqdDl3S01BYWVxcHAzWVhYbmlocitqcFVjSFByMzcxSysrcW9XTS8r
OW5QK3FCRC9ROTIyR0VIcDJYeVNSVjA3YjhDUEFVblZmUGwKbDJuS1Q4MXdIbjMwVVYrQjFyWXFh
U1FwTlMzU3NWVVRIZldkMGVoYzZsK2o5OVMwVFAxTDFMOUlxZTN4YXRvV0hmTy8vT1V2dnN6bwpm
aDRxejNZMXgrMjY2NjQrSC8xVG54bVZYd1ZCTWpqenpEUDlORldnaStXaXQxRGhpVVluKy83M3Yr
L1U4VndWZFAwcDd4Lzk2RWZ1Ckp6LzVTV0h1c1M5VnpyUTlhb2FtNWtoWFhIRkZiMksvWmFuZjVY
c2JrbnRTTEh0aDBpV1hYT0xVV1Qra05kWll3eTJ4eEJLK0thQmQKVlFwdiszSjI2YVdYT2pVUEpD
R0FBQUlJSUlCQU9nS05BWWdxREZ0dXVhVlRCMVNkTFZaRi9NQUREeHdncExPbnE2NjZxbE1GU21l
VApWWUVLbFRWMXZOVlZERlU0dGJ3cXRYZmRkZGVBNWZWQ0ZYY05aNm96djZwdzZpeXFyb0NvZjRV
cU9xclVoNlI1TlMzMHgxQ2xWZWxyClgvdWFyK2dwMk5GN045NTRvOVBaZkoxNTFmMGJ3aFdRelRm
ZjNBY3FZYjZ3M3ZDb0NuaElxaFRyS3NwYWE2MFYzdW85S2tpYWZ2cnAKZTYvMVJKVnBKUzNYNzNT
L29wSi9PbE91ZlZjbFdsZDJOS3FTQWtBbFhVVlN2eHp0cjQ3WjZhZWY3dWVWNDZTVFR1cmYxL0k2
RzY4aApiOHVTOWwvTHQ1bXZLVDk1M0hiYmJkNUN6M1cxUTFlcVZBNzBxUEtpaXJiMlFjSHFOTk5N
NDY4MDZVcUVocTVWYW51OG1yWkZ3WTRDCkNwVXg5ZUZRd0tzUndxNjk5dG9lZy9KVjhLT2craHZm
K0liZmx0N0VsazlVM25RbFQyVkc2empvb0lOOEg1M2xsbHZPWFhiWlpaVnIKVVVDdFlFMGpqQ2xv
VWNWY0k0NHA5VnVXK2wwK2JIUmQyUXZ6NkxqSk9DUmRJZDE5OTkzOTRBbldYREM4N1hSRlRzR0py
dDZSRUVBQQpBUVFRUUNBZGdjWUFSSlVEQlJGTExiV1VWMUhsTm4rRlEyOXVzY1VXUHNqUVRkbDBw
dmV4eHg3emxUcDFnRmFUbjFBWjBkQ3ZxcHdWClIvVUozQnBOYSttbGwvYno2RXFJcnB5RWVUVnlq
eXBvdWpxaXBLQW5OSThKeXkrKytPSytVcXZLczVLYVF1a0t5QlJUVE9GZmg4QkMKVFhBVTFHeTg4
Y2IrL2VLLzBLUk04K3Nxd2I3NzdsdWN4YjlXaGJsWWVWSUhaU1UxUGVwM3VsOVJ5Yi9WVmx2TlYy
clZYRWNWOStPUApQOTZmWFZmUVovMXgzT09QUCs0RElGMFJVTkN4d2dvcjlJSXZOVnRUUVBDdGIz
MXJRSE95ZkRiYS83YnpOZVducTArNnFxQXorcm9pCnNQRENDL3Y4MVZ4TTB4UWc2ZXFYQWdIdGo1
Skc2MUtTbjFMYjQ5VzBMWExUelFQelNVMng4bmMzVnpNNzNXUlFaZm5uUC8rNTMrNzgKL0UzUDFi
Uk1aWFhkZGRmMXgwUkJoNEw0VTA0NXhUY05ET1czYWoxeVVaQ21FYllVc0dsME02Vit5MUsveTRm
dHJTdDdta2NuRVhTMQpJM3lHd25MNlRPcWtnWUtya0U0OTlWVGZxVDI4NWhFQkJCQkFBQUVFMGhC
b0RFQlVrZEM5STFSSjB4VUQ2M0RyN3lPUjU4bGZCVkJsClYwbVZ5ai8rOFkvK1RIQytNcUxtTndw
aXlwS2FVNm10dmE1VTNIdnZ2ZTcyMjIvM0ZkUXdyL3FDZk9Zem4rbGRRY212Tjh5alI3MnYKQ3Bj
cTJ1cVRNZGlrZTFJb3VGTFRwcktreW15Ky80RG1lZjMxMS8yc3VrclQ3L1N5UFBXZTFxMnJTZ3Fz
VkxGVmhWbFhOTlRjS1ovVQpoMEdWZmpVZlVqTzY0VTVWK2FreXJzcThyajZvNlpjcS9TRXBpTlJW
ajdwUmtzSzhYUjZydHFWc0hmbHlwSXF5UEJXODZ1cEYwYlJzCitmeDdhajZtcG5xNjRxRFB3bFZY
WGVVL0IvUFBQMzkrdHNibnVzSmxIZEo5aFY0ejkxdVcrbDArYkhCVDJWUHpLd1dXeGFSUnY5UmYK
UzMxN2JyamhCaDhrNjN1ajZydWd1RHl2RVVBQUFRUVFRR0RpRVdnTVFMU3JDZ3pVZVZkWEU5U1BJ
RjloSzFMb2lvWE8zT3BQL1M2SwovVVdLOCtkZjY4eTlLbzZxV0NzUG5TSE5ONDlScFZ2dnFlbU1t
bWpWSmQwMFRjR0tPclMzU1RvenJUNEJDclIwbGw1SmVhbkptU3FWCitsTXdvaUJJejlYR1h4WHA0
aG50MEc5QkZiVitwN2ZaYnMyalR0T3E5Q3JnSzZad2hVWWRvMk9rWW42NklxQXorcnFLcEQ0bVNn
b00KUS9NcVhiVUpWNmk2YkYvWjhTb3VYOXlXNHZTeTE5cEdOZmxTTTBJRkVWVlh2OHFXRGUvcGlw
K2FHZXJxbERyNzY4cE92azlFbUsvcApVZmRFVVhDbTFHOVo2bmY1cW0wdGxqMTlYblUxcXl6cHFx
YXVFT3BLMVM5KzhRdTMwMDQ3bGMzR2V3Z2dnQUFDQ0NBd2tRczBCaURxCkNLNktnenFQaHdwZG5Z
bjZYdWhPMjJwS3BXQkVWMExVcmowa05XdFNzNnl5cE1xbzJ2RXJDTkhvT0hQTk5kYzRkK3hXTzM1
ZGtWR0YKVHV1dVM4WE82MVh6cXBtTHRuZlBQZmYwRmFSd3hlUHNzOC8yQVpBcVZmcFQzeGNGSDNx
dXM3a2JiTENCYjljZUt0WmF2OXJzcXltWQpLbzc5VHEvYTN1TDd1bG1kQXFmUWRDbE1WM08zcm1m
ZXc3S0RlU3pMVDNmL2xxMmExK25LbG82L21tVGxPMWgzemF2cWVPWFhVN1l0CitlbFZ6MVdtWktu
eVZSZG81NWRYVXo0MTNRcEpJNCtwSENqUSt1MXZmK3V2L0tncFhOZWtxd1hxeDZQVWIxbnFkL21x
YmMrWFBRWDkKYW1hVnY4ZUpBdDhRL09vcWpBYUkwSDFRMUl3ek5PdXNXamZ2STRBQUFnZ2dnTURF
S2RBWWdLaWlvQXFFQWhGVnROVUVTMDE2VkpIVQpuMUsrQXE1K0g2cnNxSEtoeW9ZcUkyb0dwZlhv
VHgzUkZWaVVKVldnMWFsYVo4ZlZyMEdwN0d5cU9sVHJUeDFiNjFLYkFFVEIwZFZYClgrMDdCODg5
OTl5KzdiM08wQ29wa0ZBRk1QenBiTGFDTUwzV3ZEcExybUZTODgxMDFMd2tiSHUvMDZ2MlRXZm0x
WUZiQVp1YXZHaVEKQURWbEtmWnBPZUdFRTd5NUFycVBmT1FqdmRYcEtvMnVUR2g1OWRjSmYrR3FS
Qmp0cSsxOFljVmwrYW5majY0c3FhbVZCaEpRc3lhVgptOUJwUGl6YjlySHVlT1hYVWJZdCtlbFZ6
MldycEtaMXdVVlgyMVRtZzB0WWRvNDU1dkJQMVZUd2lTZWU2STNHSm04Rk1Xck9wYUExClhGRUx5
NVU5YXRBQ05kY0tsWFUxSVZUQUZxN0E5RnVXK2wwK2JITmQyU3RyZmlYSC9GVkNmV1oxL0xmYWFx
dXd5dDUwOVowaElZQUEKQWdnZ2dNREVMekN5YVJjMUlwQTZBYXRkdDhiclZ6TWtqZVNqUnpWUlVq
TVRuVzNXVlE5VkxEU0swRmxubmVWWHE0cVlScjFSKzM1MQpRdFlWRVhVZTF6MFJ5cEt1UUdpOUNr
TFUzRXRKSFZyTDBsRkhIZVczSTl4UG9qaVBLb3R0S240YURVbmJyODYvaXl5eWlCOUphNXR0CnRp
bXVydlMxem1ycmFvanVHNkw5VmxNYk5iOVJNeldsZnFlWFptcHZhclF4L1NtcFFxY3o3cm9xSk85
OFVnVllscnBxa3c5T0ZBeUUKWTVTL2FxTG1hbW91RmU0OTBYYStrR2RaZnVxRXJUUGVHcEZNbFZF
Rm9Mb1RlOWM3aVljODJoNnZzbTBKNjZoN0RQZjZVUGtMWlZCWApRblJNRlZEbms1clpiYmJaWm42
YTdGV0dsRUw1MW4wdGRMV25UVkw1VVo4UDNUZEV4MHFWZGwyQlU1OG9wWDdMVXIvTGgzMm9LM3U2
Cjk0NkdFUTVKbjNVTjRxREFRcDk5WFRWVTN4YVo2U1NGa2s1WWhJQmZaVkpYN1BKbE5heUxSd1FR
UUFBQkJCQ1llQVJHV05Bd2RzeloKbXYzU0dka3dTcEZHZUNvMngxSUZTaFd2a1NQSGpXbVVoU3BV
dWs5SW02UXo3MjM3YnJSWm45MngydytscXlDcXVOM0Y1ZlA3V1p4Vwo5MXFWYXdVOVZjMTIrcDFl
ekZ2OWF4UmdOWjAxMW5DeW9VbFpjUjNEOFRwMmZuWEhLOWEyNkJnVXI0NE14bGJsWHA4VDlkY0lv
Nm1WCnJhZmZzdFR2OGxWbFQwM09RcE94c3UzbVBRUVFRQUFCQkJCQVFBS3RBNUFKbFVzVlZOMlBR
VmNDVkhISzM0ZGdRdDBuYmJmMlJjM2MKRlBpUkVJZ3BRTm1McVUxZUNDQ0FBQUlJVEh3Q0UzMEFv
cXMxYWtLbVBodnExQnZhK0U5OGg1STlRZ0FCQkJCQUFBRUVFRUJnL0JlWQpaUHpmeFA2MlVFMnVk
SE0wZGNKV2t4d1NBZ2dnZ0FBQ0NDQ0FBQUlJZkhBQ0UvMFZrRUNyZHU4YUNyYllVVHRNNXhFQkJC
QkFBQUVFCkVFQUFBUVNHWHlDWkFHVDRLY2tCQVFRUVFBQUJCQkJBQUFFRW1nUW0raVpZVFFCTVJ3
QUJCQkJBQUFFRUVFQUFnWGdDQkNEeHJNa0oKQVFRUVFBQUJCQkJBQUlIa0JRaEFraThDQUNDQUFB
SUlJSUFBQWdnZ0VFK0FBQ1NlTlRraGdBQUNDQ0NBQUFJSUlKQzhBQUZJOGtVQQpBQVFRUUFBQkJC
QkFBQUVFNGdrUWdNU3pKaWNFRUVBQUFRUVFRQUFCQkpJWElBQkp2Z2dBZ0FBQ0NDQ0FBQUlJSUlC
QVBBRUNrSGpXCjVJUUFBZ2dnZ0FBQ0NDQ0FRUElDQkNESkZ3RUFFRUFBQVFRUVFBQUJCQkNJSjBB
QUVzK2FuQkJBQUFFRUVFQUFBUVFRU0Y2QUFDVDUKSWdBQUFnZ2dnQUFDQ0NDQUFBTHhCQWhBNGxt
VEV3SUlJSUFBQWdnZ2dBQUN5UXNRZ0NSZkJBQkFBQUVFRUVBQUFRUVFRQ0NlQUFGSQpQR3R5UWdB
QkJCQkFBQUVFRUVBZ2VRRUNrT1NMQUFBSUlJQUFBZ2dnZ0FBQ0NNUVRJQUNKWjAxT0NDQ0FBQUlJ
SUlBQUFnZ2tMMEFBCmtud1JBQUFCQkJCQUFBRUVFRUFBZ1hnQ0JDRHhyTWtKQVFRUVFBQUJCQkJB
QUlIa0JRaEFraThDQUNDQUFBSUlJSUFBQWdnZ0VFK0EKQUNTZU5Ua2hnQUFDQ0NDQUFBSUlJSkM4
QUFGSThrVUFBQVFRUUFBQkJCQkFBQUVFNGdrUWdNU3pKaWNFRUVBQUFRUVFRQUFCQkpJWApJQUJK
dmdnQWdBQUNDQ0NBQUFJSUlJQkFQQUVDa0hqVzVJUUFBZ2dnZ0FBQ0NDQ0FRUElDQkNESkZ3RUFF
RUFBQVFRUVFBQUJCQkNJCkowQUFFcythbkJCQUFBRUVFRUFBQVFRUVNGNkFBQ1Q1SWdBQUFnZ2dn
QUFDQ0NDQUFBTHhCQWhBNGxtVEV3SUlJSUFBQWdnZ2dBQUMKeVFzUWdDUmZCQUJBQUFFRUVFQUFB
UVFRUUNDZUFBRklQR3R5UWdBQkJCQkFBQUVFRUVBZ2VRRUNrT1NMQUFBSUlJQUFBZ2dnZ0FBQwpD
TVFUSUFDSlowMU9DQ0NBQUFJSUlJQUFBZ2drTDBBQWtud1JBQUFCQkJCQUFBRUVFRUFBZ1hnQ0JD
RHhyTWtKQVFRUVFBQUJCQkJBCkFJSGtCUWhBa2k4Q0FDQ0FBQUlJSUlBQUFnZ2dFRStBQUNTZU5U
a2hnQUFDQ0NDQUFBSUlJSkM4QUFGSThrVUFBQVFRUUFBQkJCQkEKQUFFRTRna1FnTVN6SmljRUVF
QUFBUVFRUUFBQkJKSVhJQUJKdmdnQWdBQUNDQ0NBQUFJSUlJQkFQQUVDa0hqVzVJUUFBZ2dnZ0FB
QwpDQ0NBUVBJQ0JDREpGd0VBRUVBQUFRUVFRQUFCQkJDSUowQUFFcythbkJCQUFBRUVFRUFBQVFR
UVNGNkFBQ1Q1SWdBQUFnZ2dnQUFDCkNDQ0FBQUx4QkFoQTRsbVRFd0lJSUlBQUFnZ2dnQUFDeVFz
UWdDUmZCQUJBQUFFRUVFQUFBUVFRUUNDZUFBRklQR3R5UWdBQkJCQkEKQUFFRUVFQWdlUUVDa09T
TEFBQUlJSUFBQWdnZ2dBQUNDTVFUSUFDSlowMU9DQ0NBQUFJSUlJQUFBZ2drTDBBQWtud1JBQUFC
QkJCQQpBQUVFRUVBQWdYZ0NCQ0R4ck1rSkFRUVFRQUFCQkJCQUFJSGtCUWhBa2k4Q0FDQ0FBQUlJ
SUlBQUFnZ2dFRStBQUNTZU5Ua2hnQUFDCkNDQ0FBQUlJSUpDOEFBRkk4a1VBQUFRUVFBQUJCQkJB
QUFFRTRna1FnTVN6SmljRUVFQUFBUVFRUUFBQkJKSVhJQUJKdmdnQWdBQUMKQ0NDQUFBSUlJSUJB
UEFFQ2tIalc1SVFBQWdnZ2dBQUNDQ0NBUVBJQ0JDREpGd0VBRUVBQUFRUVFRQUFCQkJDSUowQUFF
cythbkJCQQpBQUVFRUVBQUFRUVFTRjZBQUNUNUlnQUFBZ2dnZ0FBQ0NDQ0FBQUx4QkFoQTRsbVRF
d0lJSUlBQUFnZ2dnQUFDeVFzUWdDUmZCQUJBCkFBRUVFRUFBQVFRUVFDQ2VBQUZJUEd0eVFnQUJC
QkJBQUFFRUVFQWdlUUVDa09TTEFBQUlJSUFBQWdnZ2dBQUNDTVFUSUFDSlowMU8KQ0NDQUFBSUlJ
SUFBQWdna0wwQUFrbndSQUFBQkJCQkFBQUVFRUVBQWdYZ0NCQ0R4ck1rSkFRUVFRQUFCQkJCQUFJ
SGtCUWhBa2k4QwpBQ0NBQUFJSUlJQUFBZ2dnRUUrQUFDU2VOVGtoZ0FBQ0NDQ0FBQUlJSUpDOEFB
Rkk4a1VBQUFRUVFBQUJCQkJBQUFFRTRna1FnTVN6CkppY0VFRUFBQVFRUVFBQUJCSklYSUFCSnZn
Z0FnQUFDQ0NDQUFBSUlJSUJBUEFFQ2tIalc1SVFBQWdnZ2dBQUNDQ0NBUVBJQ0JDREoKRndFQUVF
QUFBUVFRUUFBQkJCQ0lKMEFBRXMrYW5CQkFBQUVFRUVBQUFRUVFTRjZBQUNUNUlnQUFBZ2dnZ0FB
Q0NDQ0FBQUx4QkFoQQo0bG1URXdJSUlJQUFBZ2dnZ0FBQ3lRc1FnQ1JmQkFCQUFBRUVFRUFBQVFR
UVFDQ2VBQUZJUEd0eVFnQUJCQkJBQUFFRUVFQWdlUUVDCmtPU0xBQUFJSUlBQUFnZ2dnQUFDQ01R
VElBQ0paMDFPQ0NDQUFBSUlJSUFBQWdna0wwQUFrbndSQUFBQkJCQkFBQUVFRUVBQWdYZ0MKQkNE
eHJNa0pBUVFRUUFBQkJCQkFBSUhrQlFoQWtpOENBQ0NBQUFJSUlJQUFBZ2dnRUUrQUFDU2VOVGto
Z0FBQ0NDQ0FBQUlJSUpDOApBQUZJOGtVQUFBUVFRQUFCQkJCQUFBRUU0Z2tRZ01TekppY0VFRUFB
QVFRUVFBQUJCSklYSUFCSnZnZ0FnQUFDQ0NDQUFBSUlJSUJBClBBRUNrSGpXNUlRQUFnZ2dnQUFD
Q0NDQVFQSUNCQ0RKRndFQUVFQUFBUVFRUUFBQkJCQ0lKMEFBRXMrYW5CQkFBQUVFRUVBQUFRUVEK
U0Y2QUFDVDVJZ0FBQWdnZ2dBQUNDQ0NBQUFMeEJBaEE0bG1URXdJSUlJQUFBZ2dnZ0FBQ3lRc1Fn
Q1JmQkFCQUFBRUVFRUFBQVFRUQpRQ0NlQUFGSVBHdHlRZ0FCQkJCQUFBRUVFRUFnZVFFQ2tPU0xB
QUFJSUlBQUFnZ2dnQUFPbzRCRkFBQWN1VWxFUVZRQ0NNUVRJQUNKClowMU9DQ0NBQUFJSUlJQUFB
Z2drTDBBQWtud1JBQUFCQkJCQUFBRUVFRUFBZ1hnQ0JDRHhyTWtKQVFRUVFBQUJCQkJBQUlIa0JR
aEEKa2k4Q0FDQ0FBQUlJSUlBQUFnZ2dFRStBQUNTZU5Ua2hnQUFDQ0NDQUFBSUlJSkM4QUFGSThr
VUFBQVFRUUFBQkJCQkFBQUVFNGdrUQpnTVN6SmljRUVFQUFBUVFRUUFBQkJKSVhJQUJKdmdnQWdB
QUNDQ0NBQUFJSUlJQkFQQUVDa0hqVzVJUUFBZ2dnZ0FBQ0NDQ0FRUElDCkJDREpGd0VBRUVBQUFR
UVFRQUFCQkJDSUowQUFFcythbkJCQUFBRUVFRUFBQVFRUVNGNkFBQ1Q1SWdBQUFnZ2dnQUFDQ0ND
QUFBTHgKQkFoQTRsbVRFd0lJSUlBQUFnZ2dnQUFDeVFzUWdDUmZCQUJBQUFFRUVFQUFBUVFRUUND
ZUFBRklQR3R5UWdBQkJCQkFBQUVFRUVBZwplUUVDa09TTEFBQUlJSUFBQWdnZ2dBQUNDTVFUSUFD
SlowMU9DQ0NBQUFJSUlJQUFBZ2drTDBBQWtud1JBQUFCQkJCQUFBRUVFRUFBCmdYZ0NCQ0R4ck1r
SkFRUVFRQUFCQkJCQUFJSGtCUWhBa2k4Q0FDQ0FBQUlJSUlBQUFnZ2dFRStBQUNTZU5Ua2hnQUFD
Q0NDQUFBSUkKSUpDOEFBRkk4a1VBQUFRUVFBQUJCQkJBQUFFRTRna1FnTVN6SmljRUVFQUFBUVFR
UUFBQkJKSVhJQUJKdmdnQWdBQUNDQ0NBQUFJSQpJSUJBUEFFQ2tIalc1SVFBQWdnZ2dBQUNDQ0NB
UVBJQ0JDREpGd0VBRUVBQUFRUVFRQUFCQkJDSUowQUFFcythbkJCQUFBRUVFRUFBCkFRUVFTRjZB
QUNUNUlnQUFBZ2dnZ0FBQ0NDQ0FBQUx4QkFoQTRsbVRFd0lJSUlBQUFnZ2dnQUFDeVFzUWdDUmZC
QUJBQUFFRUVFQUEKQVFRUVFDQ2VBQUZJUEd0eVFnQUJCQkJBQUFFRUVFQWdlUUVDa09TTEFBQUlJ
SUFBQWdnZ2dBQUNDTVFUSUFDSlowMU9DQ0NBQUFJSQpJSUFBQWdna0wwQUFrbndSQUFBQkJCQkFB
QUVFRUVBQWdYZ0NCQ0R4ck1rSkFRUVFRQUFCQkJCQUFJSGtCUWhBa2k4Q0FDQ0FBQUlJCklJQUFB
Z2dnRUUrQUFDU2VOVGtoZ0FBQ0NDQ0FBQUlJSUpDOEFBRkk4a1VBQUFRUVFBQUJCQkJBQUFFRTRn
a1FnTVN6SmljRUVFQUEKQVFRUVFBQUJCSklYSUFCSnZnZ0FnQUFDQ0NDQUFBSUlJSUJBUEFFQ2tI
alc1SVFBQWdnZ2dBQUNDQ0NBUVBJQ0JDREpGd0VBRUVBQQpBUVFRUUFBQkJCQ0lKMEFBRXMrYW5C
QkFBQUVFRUVBQUFRUVFTRjZBQUNUNUlnQUFBZ2dnZ0FBQ0NDQ0FBQUx4QkFoQTRsbVRFd0lJCklJ
QUFBZ2dnZ0FBQ3lRc1FnQ1JmQkFCQUFBRUVFRUFBQVFRUVFDQ2VBQUZJUEd0eVFnQUJCQkJBQUFF
RUVFQWdlUUVDa09TTEFBQUkKSUlBQUFnZ2dnQUFDQ01RVElBQ0paMDFPQ0NDQUFBSUlJSUFBQWdn
a0wwQUFrbndSQUFBQkJCQkFBQUVFRUVBQWdYZ0NCQ0R4ck1rSgpBUVFRUUFBQkJCQkFBSUhrQlFo
QWtpOENBQ0NBQUFJSUlJQUFBZ2dnRUUrQUFDU2VOVGtoZ0FBQ0NDQ0FBQUlJSUpDOEFBRkk4a1VB
CkFBUVFRQUFCQkJCQUFBRUU0Z2tRZ01TekppY0VFRUFBQVFRUVFBQUJCSklYSUFCSnZnZ0FnQUFD
Q0NDQUFBSUlJSUJBUEFFQ2tIalcKNUlRQUFnZ2dnQUFDQ0NDQVFQSUNCQ0RKRndFQUVFQUFBUVFR
UUFBQkJCQ0lKMEFBRXMrYW5CQkFBQUVFRUVBQUFRUVFTRjZBQUNUNQpJZ0FBQWdnZ2dBQUNDQ0NB
QUFMeEJBaEE0bG1URXdJSUlJQUFBZ2dnZ0FBQ3lRc1FnQ1JmQkFCQUFBRUVFRUFBQVFRUVFDQ2VB
QUZJClBHdHlRZ0FCQkJCQUFBRUVFRUFnZVFFQ2tPU0xBQUFJSUlBQUFnZ2dnQUFDQ01RVElBQ0pa
MDFPQ0NDQUFBSUlJSUFBQWdna0wwQUEKa253UkFBQUJCQkJBQUFFRUVFQUFnWGdDQkNEeHJNa0pB
UVFRUUFBQkJCQkFBSUhrQlFoQWtpOENBQ0NBQUFJSUlJQUFBZ2dnRUUrQQpBQ1NlTlRraGdBQUND
Q0NBQUFJSUlKQzhBQUZJOGtVQUFBUVFRQUFCQkJCQUFBRUU0Z2tRZ01TekppY0VFRUFBQVFRUVFB
QUJCSklYCklBQkp2Z2dBZ0FBQ0NDQ0FBQUlJSUlCQVBBRUNrSGpXNUlRQUFnZ2dnQUFDQ0NDQVFQ
SUNCQ0RKRndFQUVFQUFBUVFRUUFBQkJCQ0kKSjBBQUVzK2FuQkJBQUFFRUVFQUFBUVFRU0Y2QUFD
VDVJZ0FBQWdnZ2dBQUNDQ0NBQUFMeEJBaEE0bG1URXdJSUlJQUFBZ2dnZ0FBQwp5UXNRZ0NSZkJB
QkFBQUVFRUVBQUFRUVFRQ0NlQUFGSVBHdHlRZ0FCQkJCQUFBRUVFRUFnZVFFQ2tPU0xBQUFJSUlB
QUFnZ2dnQUFDCkNNUVRJQUNKWjAxT0NDQ0FBQUlJSUlBQUFnZ2tMMEFBa253UkFBQUJCQkJBQUFF
RUVFQUFnWGdDQkNEeHJNa0pBUVFRUUFBQkJCQkEKQUlIa0JRaEFraThDQUNDQUFBSUlJSUFBQWdn
Z0VFK0FBQ1NlTlRraGdBQUNDQ0NBQUFJSUlKQzhBQUZJOGtVQUFBUVFRQUFCQkJCQQpBQUVFNGdr
UWdNU3pKaWNFRUVBQUFRUVFRQUFCQkpJWElBQkp2Z2dBZ0FBQ0NDQ0FBQUlJSUlCQVBBRUNrSGpX
NUlRQUFnZ2dnQUFDCkNDQ0FRUElDQkNESkZ3RUFFRUFBQVFRUVFBQUJCQkNJSjBBQUVzK2FuQkJB
QUFFRUVFQUFBUVFRU0Y2QUFDVDVJZ0FBQWdnZ2dBQUMKQ0NDQUFBTHhCQWhBNGxtVEV3SUlJSUFB
QWdnZ2dBQUN5UXNRZ0NSZkJBQkFBQUVFRUVBQUFRUVFRQ0NlQUFGSVBHdHlRZ0FCQkJCQQpBQUVF
RUVBZ2VRRUNrT1NMQUFBSUlJQUFBZ2dnZ0FBQ0NNUVRJQUNKWjAxT0NDQ0FBQUlJSUlBQUFnZ2tM
MEFBa253UkFBQUJCQkJBCkFBRUVFRUFBZ1hnQ0JDRHhyTWtKQVFRUVFBQUJCQkJBQUlIa0JRaEFr
aThDQUNDQUFBSUlJSUFBQWdnZ0VFK0FBQ1NlTlRraGdBQUMKQ0NDQUFBSUlJSkM4QUFGSThrVUFB
QVFRUUFBQkJCQkFBQUVFNGdrUWdNU3pKaWNFRUVBQUFRUVFRQUFCQkpJWElBQkp2Z2dBZ0FBQwpD
Q0NBQUFJSUlJQkFQQUVDa0hqVzVJUUFBZ2dnZ0FBQ0NDQ0FRUElDQkNESkZ3RUFFRUFBQVFRUVFB
QUJCQkNJSjBBQUVzK2FuQkJBCkFBRUVFRUFBQVFRUVNGNkFBQ1Q1SWdBQUFnZ2dnQUFDQ0NDQUFB
THhCQWhBNGxtVEV3SUlJSUFBQWdnZ2dBQUN5UXNRZ0NSZkJBQkEKQUFFRUVFQUFBUVFRUUNDZUFB
RklQR3R5UWdBQkJCQkFBQUVFRUVBZ2VRRUNrT1NMQUFBSUlJQUFBZ2dnZ0FBQ0NNUVRJQUNKWjAx
TwpDQ0NBQUFJSUlJQUFBZ2drTDBBQWtud1JBQUFCQkJCQUFBRUVFRUFBZ1hnQ0JDRHhyTWtKQVFR
UVFBQUJCQkJBQUlIa0JRaEFraThDCkFDQ0FBQUlJSUlBQUFnZ2dFRStBQUNTZU5Ua2hnQUFDQ0ND
QUFBSUlJSkM4QUFGSThrVUFBQVFRUUFBQkJCQkFBQUVFNGdrUWdNU3oKSmljRUVFQUFBUVFRUUFB
QkJKSVhJQUJKdmdnQWdBQUNDQ0NBQUFJSUlJQkFQQUVDa0hqVzVJUUFBZ2dnZ0FBQ0NDQ0FRUElD
QkNESgpGd0VBRUVBQUFRUVFRQUFCQkJDSUowQUFFcythbkJCQUFBRUVFRUFBQVFRUVNGNkFBQ1Q1
SWdBQUFnZ2dnQUFDQ0NDQUFBTHhCQWhBCjRsbVRFd0lJSUlBQUFnZ2dnQUFDeVFzUWdDUmZCQUJB
QUFFRUVFQUFBUVFRUUNDZUFBRklQR3R5UWdBQkJCQkFBQUVFRUVBZ2VRRUMKa09TTEFBQUlJSUFB
QWdnZ2dBQUNDTVFUSUFDSlowMU9DQ0NBQUFJSUlJQUFBZ2drTDBBQWtud1JBQUFCQkJCQUFBRUVF
RUFBZ1hnQwpCQ0R4ck1rSkFRUVFRQUFCQkJCQUFJSGtCUWhBa2k4Q0FDQ0FBQUlJSUlBQUFnZ2dF
RStBQUNTZU5Ua2hnQUFDQ0NDQUFBSUlJSkM4CkFBRkk4a1VBQUFRUVFBQUJCQkJBQUFFRTRna1Fn
TVN6SmljRUVFQUFBUVFRUUFBQkJKSVhJQUJKdmdnQWdBQUNDQ0NBQUFJSUlJQkEKUEFFQ2tIalc1
SVFBQWdnZ2dBQUNDQ0NBUVBJQ0JDREpGd0VBRUVBQUFRUVFRQUFCQkJDSUowQUFFcythbkJCQUFB
RUVFRUFBQVFRUQpTRjZBQUNUNUlnQUFBZ2dnZ0FBQ0NDQ0FBQUx4QkFoQTRsbVRFd0lJSUlBQUFn
Z2dnQUFDeVFzUWdDUmZCQUJBQUFFRUVFQUFBUVFRClFDQ2VBQUZJUEd0eVFnQUJCQkJBQUFFRUVF
QWdlUUVDa09TTEFBQUlJSUFBQWdnZ2dBQUNDTVFUSUFDSlowMU9DQ0NBQUFJSUlJQUEKQWdna0ww
QUFrbndSQUFBQkJCQkFBQUVFRUVBQWdYZ0NCQ0R4ck1rSkFRUVFRQUFCQkJCQUFJSGtCUWhBa2k4
Q0FDQ0FBQUlJSUlBQQpBZ2dnRUUrQUFDU2VOVGtoZ0FBQ0NDQ0FBQUlJSUpDOEFBRkk4a1VBQUFR
UVFBQUJCQkJBQUFFRTRna1FnTVN6SmljRUVFQUFBUVFRClFBQUJCSklYSUFCSnZnZ0FnQUFDQ0ND
QUFBSUlJSUJBUEFFQ2tIalc1SVFBQWdnZ2dBQUNDQ0NBUVBJQ0JDREpGd0VBRUVBQUFRUVEKUUFB
QkJCQ0lKMEFBRXMrYW5CQkFBQUVFRUVBQUFRUVFTRjZBQUNUNUlnQUFBZ2dnZ0FBQ0NDQ0FBQUx4
QkFoQTRsbVRFd0lJSUlBQQpBZ2dnZ0FBQ3lRc1FnQ1JmQkFCQUFBRUVFRUFBQVFRUVFDQ2VBQUZJ
UEd0eVFnQUJCQkJBQUFFRUVFQWdlUUVDa09TTEFBQUlJSUFBCkFnZ2dnQUFDQ01RVElBQ0paMDFP
Q0NDQUFBSUlJSUFBQWdna0wwQUFrbndSQUFBQkJCQkFBQUVFRUVBQWdYZ0NCQ0R4ck1rSkFRUVEK
UUFBQkJCQkFBSUhrQlFoQWtpOENBQ0NBQUFJSUlJQUFBZ2dnRUUrQUFDU2VOVGtoZ0FBQ0NDQ0FB
QUlJSUpDOEFBRkk4a1VBQUFRUQpRQUFCQkJCQUFBRUU0Z2tRZ01TekppY0VFRUFBQVFRUVFBQUJC
SklYSUFCSnZnZ0FnQUFDQ0NDQUFBSUlJSUJBUEFFQ2tIalc1SVFBCkFnZ2dnQUFDQ0NDQVFQSUNC
Q0RKRndFQUVFQUFBUVFRUUFBQkJCQ0lKMEFBRXMrYW5CQkFBQUVFRUVBQUFRUVFTRjZBQUNUNUln
QUEKQWdnZ2dBQUNDQ0NBQUFMeEJBaEE0bG1URXdJSUlJQUFBZ2dnZ0FBQ3lRc1FnQ1JmQkFCQUFB
RUVFRUFBQVFRUVFDQ2VBQUZJUEd0eQpRZ0FCQkJCQUFBRUVFRUFnZVFFQ2tPU0xBQUFJSUlBQUFn
Z2dnQUFDQ01RVElBQ0paMDFPQ0NDQUFBSUlJSUFBQWdna0wwQUFrbndSCkFBQUJCQkJBQUFFRUVF
QUFnWGdDQkNEeHJNa0pBUVFRUUFBQkJCQkFBSUhrQlFoQWtpOENBQ0NBQUFJSUlJQUFBZ2dnRUUr
QUFDU2UKTlRraGdBQUNDQ0NBQUFJSUlKQzhBQUZJOGtVQUFBUVFRQUFCQkJCQUFBRUU0Z2tRZ01T
ekppY0VFRUFBQVFRUVFBQUJCSklYSUFCSgp2Z2dBZ0FBQ0NDQ0FBQUlJSUlCQVBBRUNrSGpXNUlR
QUFnZ2dnQUFDQ0NDQVFQSUNCQ0RKRndFQUVFQUFBUVFRUUFBQkJCQ0lKMEFBCkVzK2FuQkJBQUFF
RUVFQUFBUVFRU0Y2QUFDVDVJZ0FBQWdnZ2dBQUNDQ0NBQUFMeEJBaEE0bG1URXdJSUlJQUFBZ2dn
Z0FBQ3lRc1EKZ0NSZkJBQkFBQUVFRUVBQUFRUVFRQ0NlQUFGSVBHdHlRZ0FCQkJCQUFBRUVFRUFn
ZVFFQ2tPU0xBQUFJSUlBQUFnZ2dnQUFDQ01RVApJQUNKWjAxT0NDQ0FBQUlJSUlBQUFnZ2tMMEFB
a253UkFBQUJCQkJBQUFFRUVFQUFnWGdDQkNEeHJNa0pBUVFRUUFBQkJCQkFBSUhrCkJRaEFraThD
QUNDQUFBSUlJSUFBQWdnZ0VFK0FBQ1NlTlRraGdBQUNDQ0NBQUFJSUlKQzhBQUZJOGtVQUFBUVFR
QUFCQkJCQUFBRUUKNGdrUWdNU3pKaWNFRUVBQUFRUVFRQUFCQkpJWElBQkp2Z2dBZ0FBQ0NDQ0FB
QUlJSUlCQVBBRUNrSGpXNUlRQUFnZ2dnQUFDQ0NDQQpRUElDQkNESkZ3RUFFRUFBQVFRUVFBQUJC
QkNJSjBBQUVzK2FuQkJBQUFFRUVFQUFBUVFRU0Y2QUFDVDVJZ0FBQWdnZ2dBQUNDQ0NBCkFBTHhC
QWhBNGxtVEV3SUlJSUFBQWdnZ2dBQUN5UXNRZ0NSZkJBQkFBQUVFRUVBQUFRUVFRQ0NlQUFGSVBH
dHlRZ0FCQkJCQUFBRUUKRUVBZ2VRRUNrT1NMQUFBSUlJQUFBZ2dnZ0FBQ0NNUVRJQUNKWjAxT0ND
Q0FBQUlJSUlBQUFnZ2tMMEFBa253UkFBQUJCQkJBQUFFRQpFRUFBZ1hnQ0JDRHhyTWtKQVFRUVFB
QUJCQkJBQUlIa0JRaEFraThDQUNDQUFBSUlJSUFBQWdnZ0VFK0FBQ1NlTlRraGdBQUNDQ0NBCkFB
SUlJSkM4QUFGSThrVUFBQVFRUUFBQkJCQkFBQUVFNGdrUWdNU3pKaWNFRUVBQUFRUVFRQUFCQkpJ
WElBQkp2Z2dBZ0FBQ0NDQ0EKQUFJSUlJQkFQQUVDa0hqVzVJUUFBZ2dnZ0FBQ0NDQ0FRUElDQkNE
SkZ3RUFFRUFBQVFRUVFBQUJCQkNJSjBBQUVzK2FuQkJBQUFFRQpFRUFBQVFRUVNGNkFBQ1Q1SWdB
QUFnZ2dnQUFDQ0NDQUFBTHhCQWhBNGxtVEV3SUlJSUFBQWdnZ2dBQUN5UXNRZ0NSZkJBQkFBQUVF
CkVFQUFBUVFRUUNDZUFBRklQR3R5UWdBQkJCQkFBQUVFRUVBZ2VRRUNrT1NMQUFBSUlJQUFBZ2dn
Z0FBQ0NNUVRJQUNKWjAxT0NDQ0EKQUFJSUlJQUFBZ2drTDBBQWtud1JBQUFCQkJCQUFBRUVFRUFB
Z1hnQ0JDRHhyTWtKQVFRUVFBQUJCQkJBQUlIa0JRaEFraThDQUNDQQpBQUlJSUlBQUFnZ2dFRStB
QUNTZU5Ua2hnQUFDQ0NDQUFBSUlJSkM4QUFGSThrVUFBQVFRUUFBQkJCQkFBQUVFNGdrUWdNU3pK
aWNFCkVFQUFBUVFRUUFBQkJKSVhJQUJKdmdnQWdBQUNDQ0NBQUFJSUlJQkFQQUVDa0hqVzVJUUFB
Z2dnZ0FBQ0NDQ0FRUElDQkNESkZ3RUEKRUVBQUFRUVFRQUFCQkJDSUowQUFFcythbkJCQUFBRUVF
RUFBQVFRUVNGNkFBQ1Q1SWdBQUFnZ2dnQUFDQ0NDQUFBTHhCQWhBNGxtVApFd0lJSUlBQUFnZ2dn
QUFDeVFzUWdDUmZCQUJBQUFFRUVFQUFBUVFRUUNDZUFBRklQR3R5UWdBQkJCQkFBQUVFRUVBZ2VR
RUNrT1NMCkFBQUkvUC8yNjVnR0FBQUFZWmgvMTdqWVF4V1FORHdqUUlBQUFRSUVDQkRvQkFSSVoy
MkpBQUVDQkFnUUlFQ0F3TDJBQUxtL0FBQUMKQkFnUUlFQ0FBQUVDbllBQTZhd3RFU0JBZ0FBQkFn
UUlFTGdYRUNEM0Z3QkFnQUFCQWdRSUVDQkFvQk1RSUoyMUpRSUVDQkFnUUlBQQpBUUwzQWdMay9n
SUFDQkFnUUlBQUFRSUVDSFFDQXFTenRrU0FBQUVDQkFnUUlFRGdYa0NBM0Y4QUFBRUNCQWdRSUVD
QUFJRk9RSUIwCjFwWUlFQ0JBZ0FBQkFnUUkzQXNJa1BzTEFDQkFnQUFCQWdRSUVDRFFDUWlRenRv
U0FRSUVDQkFnUUlBQWdYc0JBWEovQVFBRUNCQWcKUUlBQUFRSUVPZ0VCMGxsYklrQ0FBQUVDQkFn
UUlIQXZJRUR1THdDQUFBRUNCQWdRSUVDQVFDY2dRRHByU3dRSUVDQkFnQUFCQWdUdQpCUVRJL1FV
QUVDQkFnQUFCQWdRSUVPZ0VCRWhuYllrQUFRSUVDQkFnUUlEQXZZQUF1YjhBQUFJRUNCQWdRSUFB
QVFLZGdBRHByQzBSCklFQ0FBQUVDQkFnUXVCY1FJUGNYQUVDQUFBRUNCQWdRSUVDZ0V4QWduYlVs
QWdRSUVDQkFnQUFCQXZjQ0F1VCtBZ0FJRUNCQWdBQUIKQWdRSWRBSUNwTE8yUklBQUFRSUVDQkFn
UU9CZVFJRGNYd0FBQVFJRUNCQWdRSUFBZ1U1QWdIVFdsZ2dRSUVDQUFBRUNCQWpjQ3dpUQord3NB
SUVDQUFBRUNCQWdRSU5BSkNKRE8yaElCQWdRSUVDQkFnQUNCZXdFQmNuOEJBQVFJRUNCQWdBQUJB
Z1E2QVFIU1dWc2lRSUFBCkFRSUVDQkFnY0M4Z1FPNHZBSUFBQVFJRUNCQWdRSUJBSnlCQU9tdExC
QWdRSUVDQUFBRUNCTzRGQk1qOUJRQVFJRUNBQUFFQ0JBZ1EKNkFRRVNHZHRpUUFCQWdRSUVDQkFn
TUM5Z0FDNXZ3QUFBZ1FJRUNCQWdBQUJBcDJBQU9tc0xSRWdRSUFBQVFJRUNCQzRGeEFnOXhjQQpR
SUFBQVFJRUNCQWdRS0FURUNDZHRTVUNCQWdRSUVDQUFBRUM5d0lDNVA0Q0FBZ1FJRUNBQUFFQ0JB
aDBBZ0trczdaRWdBQUJBZ1FJCkVDQkE0RjVBZ054ZkFBQUJBZ1FJRUNCQWdBQ0JUa0NBZE5hV0NC
QWdRSUFBQVFJRUNOd0xDSkQ3Q3dBZ1FJQUFBUUlFQ0JBZzBBa0kKa003YUVnRUNCQWdRSUVDQUFJ
RjdBUUZ5ZndFQUJBZ1FJRUNBQUFFQ0JEb0JBZEpaV3lKQWdBQUJBZ1FJRUNCd0x5QkE3aThBZ0FB
QgpBZ1FJRUNCQWdFQW5JRUE2YTBzRUNCQWdRSUFBQVFJRTdnVUV5UDBGQUJBZ1FJQUFBUUlFQ0JE
b0JBUklaMjJKQUFFQ0JBZ1FJRUNBCndMMkFBTG0vQUFBQ0JBZ1FJRUNBQUFFQ25ZQUE2YXd0RVNC
QWdBQUJBZ1FJRUxnWEVDRDNGd0JBZ0FBQkFnUUlFQ0JBb0JNUUlKMjEKSlFJRUNCQWdRSUFBQVFM
M0FnTGsvZ0lBQ0JBZ1FJQUFBUUlFQ0hRQ0FxU3p0a1NBQUFFQ0JBZ1FJRURnWGtDQTNGOEFBQUVD
QkFnUQpJRUNBQUlGT1FJQjAxcFlJRUNCQWdBQUJBZ1FJM0FzSWtQc0xBQ0JBZ0FBQkFnUUlFQ0RR
Q1FpUXp0b1NBUUlFQ0JBZ1FJQUFnWHNCCkFYSi9BUUFFQ0JBZ1FJQUFBUUlFT2dFQjBsbGJJa0NB
QUFFQ0JBZ1FJSEF2SUVEdUx3Q0FBQUVDQkFnUUlFQ0FRQ2NnUURwclN3UUkKRUNCQWdBQUJBZ1R1
QlFUSS9RVUFFQ0JBZ0FBQkFnUUlFT2dFQkVobmJZa0FBUUlFQ0JBZ1FJREF2WUFBdWI4QUFBSUVD
QkFnUUlBQQpBUUtkZ0FEcHJDMFJJRUNBQUFFQ0JBZ1F1QmNRSVBjWEFFQ0FBQUVDQkFnUUlFQ2dF
eEFnbmJVbEFnUUlFQ0JBZ0FBQkF2Y0NBdVQrCkFnQUlFQ0JBZ0FBQkFnUUlkQUlDcExPMlJJQUFB
UUlFQ0JBZ1FPQmVRSURjWHdBQUFRSUVDQkFnUUlBQWdVNUFnSFRXbGdnUUlFQ0EKQUFFQ0JBamND
d2lRK3dzQUlFQ0FBQUVDQkFnUUlOQUpDSkRPMmhJQkFnUUlFQ0JBZ0FDQmV3RUJjbjhCQUFRSUVD
QkFnQUFCQWdRNgpBUUhTV1ZzaVFJQUFBUUlFQ0JBZ2NDOGdRTzR2QUlBQUFRSUVDQkFnUUlCQUp5
QkFPbXRMQkFnUUlFQ0FBQUVDQk80RkJNajlCUUFRCklFQ0FBQUVDQkFnUTZBUUVTR2R0aVFBQkFn
UUlFQ0JBZ01DOWdBQzV2d0FBQWdRSUVDQkFnQUFCQXAyQUFPbXNMUkVnUUlBQUFRSUUKQ0JDNEZ4
QWc5eGNBUUlBQUFRSUVDQkFnUUtBVEVDQ2R0U1VDQkFnUUlFQ0FBQUVDOXdJQzVQNENBQWdRSUVD
QUFBRUNCQWgwQWdLawpzN1pFZ0FBQkFnUUlFQ0JBNEY1QWdOeGZBQUFCQWdRSUVDQkFnQUNCVGtD
QWROYVdDQkFnUUlBQUFRSUVDTndMQ0pEN0N3QWdRSUFBCkFRSUVDQkFnMEFrSWtNN2FFZ0VDQkFn
UUlFQ0FBSUY3QVFGeWZ3RUFCQWdRSUVDQUFBRUNCRG9CQWRKWld5SkFnQUFCQWdRSUVDQncKTHlC
QTdpOEFnQUFCQWdRSUVDQkFnRUFuSUVBNmEwc0VDQkFnUUlBQUFRSUU3Z1VFeVAwRkFCQWdRSUFB
QVFJRUNCRG9CQVJJWjIySgpBQUVDQkFnUUlFQ0F3TDJBQUxtL0FBQUNCQWdRSUVDQUFBRUNuWUFB
NmF3dEVTQkFnQUFCQWdRSUVMZ1hFQ0QzRndCQWdBQUJBZ1FJCkVDQkFvQk1RSUoyMUpRSUVDQkFn
UUlBQUFRTDNBZ0xrL2dJQUNCQWdRSUFBQVFJRUNIUUNBcVN6dGtTQUFBRUNCQWdRSUVEZ1hrQ0EK
M0Y4QUFBRUNCQWdRSUVDQUFJRk9RSUIwMXBZSUVDQkFnQUFCQWdRSTNBc0lrUHNMQUNCQWdBQUJB
Z1FJRUNEUUNRaVF6dG9TQVFJRQpDQkFnUUlBQWdYc0JBWEovQVFBRUNCQWdRSUFBQVFJRU9nRUIw
bGxiSWtDQUFBRUNCQWdRSUhBdklFRHVMd0NBQUFFQ0JBZ1FJRUNBClFDY2dRRHByU3dRSUVDQkFn
QUFCQWdUdUJRVEkvUVVBRUNCQWdBQUJBZ1FJRU9nRUJFaG5iWWtBQVFJRUNCQWdRSURBdllBQXVi
OEEKQUFJRUNCQWdRSUFBQVFLZGdBRHByQzBSSUVDQUFBRUNCQWdRdUJjUUlQY1hBRUNBQUFFQ0JB
Z1FJRUNnRXhBZ25iVWxBZ1FJRUNCQQpnQUFCQXZjQ0F1VCtBZ0FJRUNCQWdBQUJBZ1FJZEFJQ3BM
TzJSSUFBQVFJRUNCQWdRT0JlUUlEY1h3QUFBUUlFQ0JBZ1FJQUFnVTVBCmdIVFdsZ2dRSUVDQUFB
RUNCQWpjQ3dpUSt3c0FJRUNBQUFFQ0JBZ1FJTkFKQ0pETzJoSUJBZ1FJRUNCQWdBQ0Jld0VCY244
QkFBUUkKRUNCQWdBQUJBZ1E2QVFIU1dWc2lRSUFBQVFJRUNCQWdjQzhnUU80dkFJQUFBUUlFQ0JB
Z1FJQkFKeUJBT210TEJBZ1FJRUNBQUFFQwpCTzRGQk1qOUJRQVFJRUNBQUFFQ0JBZ1E2QVFFU0dk
dGlRQUJBZ1FJRUNCQWdNQzlnQUM1dndBQUFnUUlFQ0JBZ0FBQkFwMkFBT21zCkxSRWdRSUFBQVFJ
RUNCQzRGeEFnOXhjQVFJQUFBUUlFQ0JBZ1FLQVRFQ0NkdFNVQ0JBZ1FJRUNBQUFFQzl3SUM1UDRD
QUFnUUlFQ0EKQUFFQ0JBaDBBZ0trczdaRWdBQUJBZ1FJRUNCQTRGNUFnTnhmQUFBQkFnUUlFQ0JB
Z0FDQlRrQ0FkTmFXQ0JBZ1FJQUFBUUlFQ053TApDSkQ3Q3dBZ1FJQUFBUUlFQ0JBZzBBa0lrTTdh
RWdFQ0JBZ1FJRUNBQUlGN0FRRnlmd0VBQkFnUUlFQ0FBQUVDQkRvQkFkSlpXeUpBCmdBQUJBZ1FJ
RUNCd0x5QkE3aThBZ0FBQkFnUUlFQ0JBZ0VBbklFQTZhMHNFQ0JBZ1FJQUFBUUlFN2dVRXlQMEZB
QkFnUUlBQUFRSUUKQ0JEb0JBUklaMjJKQUFFQ0JBZ1FJRUNBd0wyQUFMbS9BQUFDQkFnUUlFQ0FB
QUVDbllBQTZhd3RFU0JBZ0FBQkFnUUlFTGdYRUNEMwpGd0JBZ0FBQkFnUUlFQ0JBb0JNUUlKMjFK
UUlFQ0JBZ1FJQUFBUUwzQWdMay9nSUFDQkFnUUlBQUFRSUVDSFFDQXFTenRrU0FBQUVDCkJBZ1FJ
RURnWGtDQTNGOEFBQUVDQkFnUUlFQ0FBSUZPUUlCMDFwWUlFQ0JBZ0FBQkFnUUkzQXNJa1BzTEFD
QkFnQUFCQWdRSUVDRFEKQ1FpUXp0b1NBUUlFQ0JBZ1FJQUFnWHNCQVhKL0FRQUVDQkFnUUlBQUFR
SUVPZ0VCMGxsYklrQ0FBQUVDQkFnUUlIQXZJRUR1THdDQQpBQUVDQkFnUUlFQ0FRQ2NnUURwclN3
UUlFQ0JBZ0FBQkFnVHVCUVRJL1FVQUVDQkFnQUFCQWdRSUVPZ0VCajBzam83QXB6bzRBQUFBCkFF
bEZUa1N1UW1DQwoKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50
ZXJuYXRpb25hbC92ZXJ0aWNhbC10ZXh0LWdseXBoLXRlc3QtZXhwZWN0ZWQucG5nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1l
LXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdB
QUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBQzdtbERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0YKVk05
ckUwRVUvalp1cWRBaUNGcHJEcko0a0NKSldhdG9SZFEyL1JGaWF3emJIN1pGa0dRelNkWnVOdXZ1
SnJXbGlPVGkwU3JlUmUyaApCLytBSG5yd1pDOUtoVnBGS042cktHS2hGeTN4elc1TXRxWHF3TTUr
ODk0MzczMXZkdDhBRFhMU05QV0FCT1FOeDFLaUVXbHNmRUpxCi9JZ0FqcUlKUVRRbFZkdnNUaVFH
UVlOeitYdm4ySG9QZ1Z0V3czdjdkN0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4Q2xrU0FvZzgK
MzZFcHgzUUkzK1BZOHV5UE9VNTVlTUcxRHlzOXhGa2lmRUExTGM1L1RiaFR6U1hUUUlOSU9KVDFj
Vkkrbk5lTGxOY2RCMmx1WnNiSQpFTDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVPczk0K3dpSEND
eG10UDBhNGpaNzFqTlUvNG1IaHBPYkVoajBjR0RYMCtHQVZ0eHFwCitEWENGRjhRVFNlaVZISFpM
ZzN4bUs3OVZ2SktnbkNRT01wa1lZQnpXa2hQMTB4dStMcUhCWDBtMXhPdjRuZFdVZUY1anhObjN0
VGQKNzBYYUFxOHdEaDBNR2d5YURVaFFFRVVFWVppd1VFQ0dQQm94TkxKeVB5T3JCaHVUZXpKMUpH
cTdkR0pFc1VGN050dzl0MUdrM1R6KwpLQ0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5MXl3MkZiM2xL
MmJtcnJ5NER2RjVabTVHaDdYMDhqamMwMWVmSlhVZHBOWFI1YXNlWHE4Cm11d2FQK3hYbHpIbWdq
V1B4SE93Ky9FdFg1WE1seW1NRk1YalZmUHFTNFIxV2pFMzM1OXNmenM5NGk3UExyWFdjNjJKaXpk
V201ZG4KL1dwSSsrNnF2SlBtVmZsUFh2WHgvR2ZOeEdQaUtURW1kb3JuSVltWHhTN3hrdGhMcXd2
aVlHM0hDSjJWaGluU2JaSDZKTlZnWUpxOAo5UzlkUDF0NHZVWi9EUFZSbEJuTTBsU0o5My9DS21R
MG5ia09iL3FQMjhmOEYrVDNpdWVmS0FJdmJPREltYnB0VTNIdkVLRmxwVzV6CnJnSVh2OUY5OExa
dWE2TitPUHdFV0R5ckZxMVNOWjhndkFFY2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVPNjZjcGlVc3hR
MjBOU1V0Y2wKMTJWTEZyT1pWV0xwZHRpWjB4MXVIS0U1UXZmRXAwcGxrL3F2OFJHdy9iQlMrZm1z
VXRsK1RocldnWmY2YjhDOC9VWEFlSXVKQUFBZwpBRWxFUVZSNEFlemRlYmdjWlpuKzhhZXJseHdJ
Z2JBanFFUTJaUk5CUmhCKzRzZ2dpcUlvaURzQ0txTGlnRGlYRzQ0c01qcmk0SUo0CmlaZm9PRzZv
b3dLT0c3aURiQW9vQ202QUlDQkxBQkVJaEp5dXJxN2ZmYi9uVkovT1JrNG5KK1owOHEyTFNsVy9Y
YWVxK3hQK09IZWUKZDZtVjJvSU5BUVFRUUFBQkJCQkFBQUVFRUppa3dQbm5ueDk1bnNjR0cyd1Fq
enp5U0RxdjFXb3hNaklTclZZcm1zMW1PbGJuOVhvOQppcUpJMXpZbStRd3VRd0FCQkJCQUFBRUVF
RUFBQVFTU1FLUFJpQzIzM0RLZThJUW5SSlpsMFc2MzQ2R0hIb3I1OCtlbjF3NGVNMmJNCjZJV1FL
b0E4L1BERFFRRGhmeUlFRUVBQUFRUVFRQUFCQkJBWVNNQ0J3c0hEZXhVMjFsbG5uWGpnZ1FkU0VI
RUZ4Tzg1cUhqMzlhNlEKK0VnQUdZaWFpeEZBQUFFRUVFQUFBUVFRUU1BQm93b1ZEaGJldmJtdDZu
N2xDb2ozS295NEM1WmZFMEQ0L3djQkJCQkFBQUVFRUVBQQpBUVFHRnFpR2t2dlk3WFpqM3J4NThl
Q0RENmFLaDE5WHUyOWNCUlNmRTBDc3dJWUFBZ2dnZ0FBQ0NDQ0FBQUtURm5Eb3FBTEk2T2hvCnpK
MDdOd1VRQncxWE9UeEEzZU5DdkxrckZnRmswclJjaUFBQ0NDQ0FBQUlJSUlBQUFvc0tWS0hDNGVP
bW0yNkthNjY1SnU2KysrNjQKLy83NzB4Z1F6NGExNFlZYnhqYmJiQk43N0xGSGJMcnBwcWw3bGtN
TEZaQkZOWG1OQUFJSUlJQUFBZ2dnZ0FBQ2p5cmc3bFdkVGlkKwovZXRmeDQ5Kzl1dTQvRTlaM0RU
L3NYRnZjL2VZc1ZiRXBvMTdZdU43YjQzTnIvOVovT2xQZjRyOTl0c3ZkdGhoaDFRMUlZQThLaTF2
CklvQUFBZ2dnZ0FBQ0NDQ0F3S0lDcm1TNDI5VjNmdmludU9EYURlTFArZU1pVzY4WnM5YWRFZXV0
MjR6bXlDWXhPckp6M0g3ZnRkSDUKeTY4ai8vNzNVMWVzT1hQbVVBRlpGSlBYQ0NDQUFBSUlJSUFB
QWdnZ3NHeUJYLy8yMXZqaGRldkduMGMzajlxR0l6RnJ2Um14L25xdApXRytkWnF5N1ZpdlducEZG
YzhNOVk4SHR6YmhsN2lWeDVaVlhwb1VMcVlBczI1WXJFRUFBQVFRUVFBQUJCQkJBb0UvQUE4eXZ2
cUVaCjF6KzRVZFEyYXNTNjY0NEZqL1hXYWNVRzY0N0V1ak5IWXUyMVo4UklVMVAwYnZETXVPL0tX
K0wyMjI5UE93R2tENUpUQkJCQUFBRUUKRUVBQUFRUVFXTGJBZ2dVTDRuZTNhTFh6bVROaTd6MDNp
NDFtTitPZWh5SWVidGRpcmJYV2lyWFduaG5yS295c05YUHRxT3QyN2NmdApGdk52KzFiY2Q5OTlr
UzM3OWx5QkFBSUlJSUFBQWdnZ2dBQUNDRXdJZUJENmJYYzNZczlkTjRwLzNubTllUEtXNjhSdWMy
WkdxNkh4Ckg0MTZqTXhRRnl5Rmo1bnJoTWFGUkd5MDFWTmovdno1YVhwZUFzaUVJMmNJSUlBQUFn
Z2dnQUFDQ0NBd0NRRVBRbis0M1l6dDU2eWoKc1I3MWFHUzEzckhoRU5KcWFVSEMwSm9nRVNNekky
WnZ0c0hFdWlDVHVEK1hJSUFBQWdnZ2dBQUNDQ0NBQUFJOWdYcmRIYXU2TVd0dApoWSthVmpyWHE3
b0NSMWF2UlZZcm82NHloOVlmRE9XUWFDaUUxSnVScHVEMStpRlVRSHFNbkNDQUFBSUlJSUFBQWdn
Z2dNQ2tCY3J4Cks3WDZ1VThkUWhRem9wYlZ0Zks1QW9oMnR6Y1ZQaG9LSXRWcTZBU1FCTVVmQ0ND
QUFBSUlJSUFBQWdnZ01KQkFVYmlzRVlYR2c2VHcKMFUwdm85UnIvYWY2aUY3cmo2SXpkbGNIRUNv
Z0F3bHpNUUlJSUlBQUFnZ2dnQUFDQ1BRRU5wcXA3bGMxQlpDeFNrZGVsQ2wwZE5YSgpxa2g3YUxW
MHZhZVNoM0pLMmxJSTZkMkFFd1FRUUFBQkJCQkFBQUVFRUVCZ0FJR3Uwb2U3Vk9YZE1vM3g2S2dv
a3V1UGpwS0g4b2lDCmlFS0kvbWozVlVGWUIyUUFZQzVGQUFFRUVFQUFBUVFRUUFDQkNZSFNJODAx
MkVORFBLS2owZWhOalUxdmFDQjZzNkZWME5VdlN4TmkKaFdia2plN0l4TTh3Qm1UQ2dqTUVFRUFB
QVFRUVFBQUJCQkFZUk1BaFE3c212aHFiK1VvbkxZV1Fwb0tKQTRqeVI5VDFYcXN2ZGZTZApEdklr
cmtVQUFRUVFRQUFCQkJCQUFJRTFYYUNtU2tkTkZaRE1LVVJiczlYVWxMdDFUY25ydHJHcGVGMEY4
YlM4MWRaM1dqVnhSQUFCCkJCQkFBQUVFRUVBQUFRUW1JZURxaHliYjlaUzdXUzJMdXM2OVo5cTFJ
SG9vajRSNlpLVzl1aHRqUUNvSmpnZ2dnQUFDQ0NDQUFBSUkKSURDWWdHYkJxbXQzN0ZBeFpDeHNx
TnpSVUJjc3IxWG91b2lEU0s2OTJxaUFWQkljRVVBQUFRUVFRQUFCQkJCQVlDQ0JVbU0rTWdVTwpW
MERjemNyVkRsYy92QnE2ZTJXbFJRaDk3RXNkZmFjRFBZdUxFVUFBQVFRUVFBQUJCQkJBWUUwWFVL
VkRCWkJVN2NpVVFob3FkM2dXCnJJYlNSMTNkcnh3MmFxNkU2SnBxSTRCVUVod1JRQUFCQkJCQUFB
RUVFRUJnSUFHdkw2Z2xRTFRpZVRrV1JCUThtdXA3NVdwSTVwbXgKRkR3YUd2VGhnZWpWTm5BQWFi
ZmI4ZWMvL3psdXYvMzI2aDVEZGV4cVhmaDU4K1pwZVhndkRzKzJxZ1M4T00yRER6NjRxaDdQY3hG
QQpBQUVFRUVBQUFRU21RTURyZnBScEpYU3ZpRjVxQWNKdWRCUThIRXI4MjdZT2FUWDB2RDN4c0Vr
SGtMLzg1Uzl4OE1FSHgrdGU5N3I0CnhqZStFYWVlZW1yc3NjY2VzYzgrKzhRVG52Q0V1T2VlZXli
dXFyTUREend3bnZhMHA4V0NCUXNXYWw5Vkx4eVkvdlZmLzFYOTBKcXgKN3JycnhoMTMzTEdxUHNv
YS9keExMNzAwRGpua2tQVDNzTnR1dTYzUkZueDVCQkJBQUFFRUVFQmc2QVcwM0hsTlVhTW9DcTJF
cnBYUApIVURTU3VnS0h2bllDdWh1VDBsay9NdE9Lb0E4OU5CRHNmLysrOGUrKys0YlgvemlGK09k
NzN4bmZPcFRuNHFmL09Rbk1YUG16SEE0Cm1URmpSczl2L3Z6NWNkRkZGOFhWVjE4ZDk5NTdiNjk5
Vlo1c3NjVVdjZWFaWjhZdXUreVNQb1kvOThyYUxybmtrcFYxNjZYZWQxVTgKYzZrZnB1K05SVC9Y
M252dkhWLzcydGRTQUZtWmZ3ZDlINEZUQkJCQUFBRUVFRUFBZ1pVa29FNHQyaFFwTkFXdmMwWlh4
NDRySVNwLwpGSHJ0dGx4QlpEUmRweGZhSmhWQUhEWWNNbDcxcWxlTi9kVDRuLzRGOHZPZi8zeTBX
cTBZR1psWVgzM3R0ZGVPWC83eWwzSEZGVmZFCll4LzcySVYrWmxXL1dILzk5ZE5INlArOFUvbVpi
cnp4eGxUOW1jcDdMdXRlcStLWnkvcE1mbjlwbjZ1aGpvRDI5LzgzYkFnZ2dBQUMKQ0NDQUFBTERL
MUNXaGJwYnFRS2lZM1FMVlQ4Nkd1cFFqblc5VXZESTFaeTdMMWJmSVBSSnJRTnk1WlZYeHNZYmJ4
elZMKy85Ukp0cwpza25zdU9PT2kvMHl1ZjMyMi9kZk5tM09NNDNVOStaZmdsZkc5dld2ZjMweGk1
WHhuUDU3cm9wbjlqOS9hZWVQOXJscW1ncWgrcnRZCjJzL1RqZ0FDQ0NDQUFBSUlJREM5QldxdWRL
ak1VWmExR0MweWpRUFJhKzBlQjVMT0ZVQmNCVkVQcmQ0MnFkL0MzYjNLWXlZdXZQREMKZU01em50
UDc0ZXJrQnovNFFYVWFkOTk5ZC96b1J6K0t2Ly85NzJrLzl0aGowNWdMZDhYeWRYLzcyOTlTSDdH
M3Z2V3RjZDk5OTZXMgozLy8rOS9HODV6MHZqU254TDZidVEvYUxYL3dpZnZqREg2Wi9LZmZZazIy
MzNiYjNqRC8rOFkvcGZmLzg0eDczdUhqSlMxNFNWMTExClZlcjI5Y0FERDhUdXUrOGV6My8rOHpV
ZFdOK0tKNzJmSGp0WjBuc2VZTzl1WmIvNjFhL1NjOTN0YktlZGRscmtKNWY4MHQzVTN2T2UKOTZT
dWFhNEFmZWM3MzBrWCt1Zm56Sm5UKzZGbFBlTVBmL2hER3VUZit3R2QrSE04OHNnajhmT2YvN3pY
N09yQlhudnROYWxuOW41bwovR1JGL2Z4ZEhVcC8vZXRmcHk1MjIyMjNYYno4NVMvdlZjRW1hMUVG
a0x2dXVpdCs5ck9mcGZ0dHM4MDJzZDkrKzZWeFJZdCtibDRqCmdBQUNDQ0NBQUFJSVRETUJoUTNQ
Z09WdVZsMVZRSEwxdldxcjdORnBkeFJNR21rQXVzZUNqQTQ2Q04wRHlyMjk2RVV2U3VNb2NqK2gK
Yjl0b280MTZyL3pMOStNZi8vajQ5My8vOTNqdmU5K2J5akIrMHlIR3Y1Z2VmL3p4OFpHUGZDUWNP
azQrK2VUWVlJTU4wZ0QyWnp6agpHZWwxcVZFcWIzbkxXOUl2NFc1ekNObDExMTNUTDd6VlEveU1h
NjY1SnQ3MnRyZkZONy81emZSekRnMnZlYzFyMGdEbmswNDZLZjdsClgvNWxvUEVuTjk5OGMveS8v
L2YvVW9nNTZxaWowaS9VNzMvLysrT1p6M3ltUUJmK3Z0WG5XUFQ0Z2hlOElHemhFT1V1UnQ3N2c4
NWsKbnVIdjVxRGhlM2wzb1BJOUhEZzhrTjV0SC9yUWgxSWc4Zk9YOWN4RlA2TmZMNitmLzI3ODkr
cnYrUERERDZlL0ovOGR1SXZlVTUvNgoxQmdkSGUwOWJyS2Z5OEhSOTF4dnZmWGlXYzk2Vm56MXEx
OU5mOThPb0d3SUlJQUFBZ2dnZ0FBQzAxdkEvOXpmZGdsRVhhdzA5bHpqClBqd2t2UjU1bWFsZDNh
ODA5cU05WGlYcGZSUDlVam1wVGIrVXUzcVM5cTIzM3JyOG4vLzVuMUo5dkpiNnN4cHNuSzdWdjl3
dmRJMysKdGJ4VVY2N3lmZTk3MzBMdHozNzJzOHRaczJhVkNpamx0ZGRlMjN0UFkwL1NmVjc5Nmxm
MzJueWlTa3RxMXkvVDVlYys5N21GM3RQWQpnL1RlNjEvLytvWGEvVUwvdXA3ZVU1V2w5NTZxRXFV
cUxLWCtGYi9YNWhQOWtsMnF3bEtxaXJOUSs2TzkwTC9nbDV0dHR0bGlsd3o2CmpILzd0MzlMbi9Q
VG4vNTA3MTQyVjZXbzlMMzZ0NlU5cy8rYVJjK1h4Ky9IUC81eCtreWF4V3FoMjJrY1VHby8vL3p6
RjJwL3RNK2wKbWNoS0JkVlNzNm90OURPYW1yZFVjQ3MxNGNGQzdieEFBQUVFRUVBQUFRUVFtRDRD
Nm1wZnh0Ty9YYjd6N092TDA3OTNlM25xdDI4dgozL1BOMjh1OS8vTXY1UXZQdXFjODRxdWo1ZkUv
TE11VHJpakwwMzVYbGlmcjZOL24vWE9UR29UdXRLSmZoT1BMWC81eWJMbmxscWs2CmNjUVJSNFRI
ZVh6dmU5L3JoWm4razdYV1dpdTlYSFNnc2R2ZFBldTFyMzF0LytYeFQvLzBUMmw5RHIvWDMrM0p6
MXRublhWQ1FXU2gKNjZ2NysvaktWNzV5b2ZjVWtOSy9vdXNYOXNXbUIxN293dkVYL2hmOEcyNjRJ
ZHhkckg5enBlQ0FBdzZJajMvODQ0czl2Lys2eVp3UAorb3dQZk9BRHllSHRiMzk3L1BXdmY0Mzc3
NzgvelI3bEtaQTlsZkNLYnN2ajU3OEhUNkY3ekRISExQUjRqd1B5ZHR0dHR5M1V2cXdYCi9sN3Zl
dGU3RnJwTUlUVGNwY3RkMGRnUVFBQUJCQkJBQUFFRXByZEE2ZkhWV2dHOWxWWS96N1FJb2NaYTY3
elowTGtYSWRTdnJUTTAKNzlDTWlmbXFKamNMVnZXMS9ZdStmMUUvNjZ5ell2UE5OMC9uSG10eCt1
bW5WNWNzZEhRZi82cWZmLzhiczJmUERrK0wyNy81bDA1dgpEaUtMYnA1dGEybUwxbm04eDZJaHh6
L3YrM2tVL21SK2thMUNsTHRPL2ZhM3YxMW9kNXUzeWR3blhiaVVQd1o5aHIrVFp4aHpWeWQzCkNW
TkZKSFc5cW9MRFVoNHpjUE1nZmw3WHhRSElYYVg2dDhySVkzY0cyZngzNURFZmkyNE9JVXY3KzE3
MFdsNGpnQUFDQ0NDQUFBSUkKckVJQmh3enROZldIU2F1ZjY2U2xFTkpVRG5BQThUK2IxL1ZlcTYv
c01hbEI2UDFmeWYvNi9zWTN2akVPUC96dzFIZmY0em44ci9SUApmT0lUMDNpRS9tdVhkdTZ4RVl0
dTFTK3hEaWVMYmc0eEtqZ3QycHhlUCtZeGoxbGkrNFliYnBqYWI3bmxsaVcrMzkvb1FkbitoZC9q
ClVoYmQvRXUzOXljOTZVbUx2alhRNitWNWhoZnFPK0dFRTBMZDFlTE5iMzd6UXBXaGdSNytLQmN2
ajkvM3YvLzlGRVJjSVhKWXFCWjEKSExReTQzRWZTOXI4OTgxSzlVdVNvUTBCQkJCQUFBRUVFSmhl
QWpWVk9tcXFnR1JPRlJwbzNtdzFvNjR5U0YycHhHMzZ0UzVWUVlxKwpRZWdEQjVEcUsvdGY0ai84
NFErSHU5KzRHODBYdnZDRlNRZVE2aDVUY2V3ZjVOMS92K3BmNDVjMGRYRC9kVDczREZPZW5jcUQy
RmZXCjlMekwrNHl0dHRvcVRZRnNYMWRCL0hvcXQwSDhycnZ1dXRDWWpSUUdYUW54WkFQZUxyamdn
bFN0R2RTdUNwMVQrWDI0RndJSUlJQUEKQWdnZ2dNQS9VTURWRHcwVHo5UnJLTk1paFBYb2FOZHI3
ZTZLcFR3U09xUzkrbFI5eFpDcWFmR2paNlZhV3Y5K3o0TGtmL21lTzNmdQo0ai80RDJoWjJuUHZ1
ZWVlOVBUSi9NSyt3dzQ3cEd0dnV1bW1sZmFKbCtjWmYvN3puOU1ZbTRzdnZqaDFKM1BWYWFvckE0
UDRlVll3ClQ3L3I3bVJWK0RDWVorcnl0clF3azk3a0R3UVFRQUFCQkJCQUFJSFZUMERCbzU3MmVq
UlVDVWxoUTMyeEdpcDllRVVNWlE4RkVWVkMKdEZmYnBBS0lwMy8xdExkTDJodytYQTFaVWwvK0pW
M3ZybFJMNjA2MXBPdmQ5bWpYZTh6R2t0Ny96Vzkra3o3VDBycE85ZitNcCt6MQpwbG1jMG5IUlA3
eE9oWjh6bWMzL3FsOVZYL3F2SC9RWm52clhnK0xQT09PTTFQM0wzYkF1dWVTU0pZNjNXZG96KzUr
L3RQUEoraTFZCnNDRDVPTkQxVDd2cysxYmpZeGF0Z0N6cmMvWC9IZlIvdnFXMTkxL0RPUUlJSUlB
QUFnZ2dnTUNxRnlnMTVpTlQ0RkQyU0dOQUhFQmMKL2NqVTdyRWhuanNwSGZ0U1I5L3AwcitBZi9u
MHJFenVwclRvNXZVYTVzMmJGNjk2MWFzV2Vzcy80Myt0WDNRTkRhOFYwYjllUlBWRAp2dDViZGF6
YWZmVDFTMnIzZTdmZWVtdnFBdVR6YXJ2MDBrdlRURjN2ZU1jN0Zoc0VYOTJuL3pPNGlqTm56cHc0
NVpSVDR2cnJyNjl1Cms0NiszZ3NNK3YzSmJCNFQ0ZlZPRnYwbGVwQm4rR2M5eTVqWFFkR1V2dW14
L25uUER1YTFWWDc1eTE4dTlGR1c5c3lGTGxyS2k4bjYKZWR5T3gzeDRMUk12S2xsdHJveDk3V3Rm
U3kvZHpheC9lN1RQdGJUL0QvenoxWHVMR3ZiZm0zTUVFRUFBQVFRUVFBQ0JhU0NnU2tkTgpRY1BW
amt3cHBLRnloN3RlTlpRNjZnb2ZEaHMxdmVkcnFxMnV4UUJQcmw0czdmaVp6M3dtL0V1OUt3U2Ji
cnBwNm5MbFh6dy8rY2xQCnhuLys1My9HcWFlZUdvY2VlbWo2Y2YveS9kT2YvalF0V09qQXN2SEdH
NmRmM2wwVjhLS0NubzUyL3Z6NWFXWHp4ejcyc2FsNjRyRUYKL3BkK2R6bHlZSG55azUrY251TlYw
ODg5OTl3NDU1eHpVamVmWFhiWkpUeG8ycjhNKzk1KzlyNzc3cHRDZzMvTzA4UjZFYjhqanp3eQpo
WWIrYVhYOXkvSFB0TnEycDlUMXovcGY4Wi93aENla24zRVZ4eXV4dThKdzl0bG5wOC9uZ2REK3Zw
N2h5MTJQcWlDd05LT3EzZE1JCmUweUUvL1hmdjBDN091QlYzQ2Y3REhlM2N0alFITW14NDQ0N3hw
NTc3cG1NL0l2LzVaZGZIaDdNN2xYV1BRdVpxenZ1OXJTMFoxYWYKYVVuSFFmMThEMWU2L04xY1hm
TGY2M2UvKzkwMEdQMmQ3M3huR2dQa3Z4Zi9IVlVWa2lWOUxrOHk0TVVHenp2dnZQUzV2WUNoLzA0
OQpDVUQxLzg0blB2R0o5SGZrZGsvRDdGblEyQkJBQUFFRUVFQUFBUVNtajRBbmIvcjY1WTNZYTQ5
TlkvWTZUYTJHUHJZSTRSMFBsakZyCmJmM0Q5VnF0MENIVzBqNmlYK1cwU0hyYy9KUHowdSt2TmYy
U3ZPVHBwZnErbjZzY1dqZ3U3cnZ2dnZqZDczNlhxZzcreGRlL1dPKy8KLy81cElIcDF1UmE0aXl1
dXVLSjZtWTZlSWN2aDRPcXJyMTZvM1VGamppb0xEaWI5LzNydVgzUzFNR0Y0VEliRFNmL21YMWc5
aGE5LwpXZlcvc0d2eHdCUlFISHEwZ0dINlpkYS90UGVQVWZEUCs1ZGhoNVArelovZmE1bFVtNmZ0
OVgyOHFycFozRzNLejF2U1ZNTFZ6eXpwCjZGL00zV1hOQVdLZmZmWkpxNzFYMXkzckdSZGRkRkZ2
VElWLzVpbFBlVXI2TGg1N2NlZWRkMWEzU1VjdHFwaXFFbjd4YU05YzZJZkcKWHd6cVY5M0RuOEVC
eUo1NzdMRkhXaW5lbGE0dmZ2R0xLYmk1U3VQS1RiVXQrcmtjS3FzdVc5VTEvdnZ5WkFZZWo3TG9D
dWorKy9IZgpFeHNDQ0NDQUFBSUlJSURBOUJId2hFU0hmbVFrVGpoKzU5aGl3N1hVNmFvV2oyalY4
eXR1eW1QakRkZU5EV2F2RSt0dkVMSGV1Z29oCnN6VHAwN3lJaTk5M1dCeDAwRUdhc25jU0FXVDZm
TldKVDlML0MvUlh2dktWaVRjNG01UUFmcE5pNGlJRUVFQUFBUVFRUUFDQkpRajAKQXNpeE84VmpO
eG1KWEJXTzBXNDlMcnRoTkRiYWNKWUN5SHF4L3ZvUnM3VHF3cnBhWldPQkE4aXBZd0ZrdWFmaFhj
TG4rSWMyVmJOQgpMV25BOXovMGd3enB3L0FiMHI4NFBqWUNDQ0NBQUFJSUlEQ05CTlNCU0p0R2Vt
aU1oN3RWZFRVVmI2ZGJhbmVYckxFMmpaU0kwWFNkCnI5V2c5TEhEOFAzcG1hbThWY2ZoK3dhcjlo
TlhidFZ4MVg0YW5vNEFBZ2dnZ0FBQ0NDQXdqQUpsV1VSWEEwQUtqK3JvMXRMU0VWMEYKRUllUmpv
S0hLeU81d2tpYWozZjhDMDVxRnF6cGh1RnhCVjU5ZmVlZGQ0Nzc3NzgvM3ZTbU42WHhJdFB0YzA3
WHo0UGZkUDJiNFhNaApnQUFDQ0NDQUFBTERKVkJ6cFVOcG95eHJNVnBrVWZpMTlvN2EwcmtDaU1P
STVxUHFiVU5aQVhuKzg1OGYzdG1XVHdDLzVYUGpweEJBCkFBRUVFRUFBQVFRV0VWRFlLRlh4Y0Rl
cnJxYTZ5dFgzcXEyeVI2ZmRVVEJwcUNJeVZna1o3VnZOWXlncklJdDhiVjRpZ0FBQ0NDQ0EKQUFJ
SUlJREFLaERRRWgvUmRnbEVZMEE2cW5JVU91bEdQZkl5VTd1Nlh5bUF0TWVySk5YSEk0QlVFaHdS
UUFBQkJCQkFBQUVFRUVCZwpJSUd1K2xrNVVPUWU5NkZ4SUE0aHVmN3cwaFBPSmU1NTVUWVZSSHJi
VUhiQjZuMTZUaEJBQUFFRUVFQUFBUVFRUUdDVkNaUmF2RHUwCkFucExuNkNqMWMrYktvbDRKZlJt
STR1bXFpSU5yWVkrUTI5MnRTQmh0VkVCcVNRNElvQUFBZ2dnZ0FBQ0NDQ0F3R0FDRGhuYWE2cDIK
MUZNV0thT2xFTkpVTUhFQVVmNkl1dDVyOWFXT3Z0UEJuc1hWQ0NDQUFBSUlJSUFBQWdnZ3NHWUwx
RlRwcUtrQ2tqbUZhR3UybWxGWApHYVN1MTVuNldybEE0aXFJdzBtMTlaMVdUUndSUUFBQkJCQkFB
QUVFRUVBQWdVa0l1UHFoaVhhVlFiUm5HbjVlcGozVHNhRktpUEpJCnFFZFcycXU3TVFha2t1Q0lB
QUlJSUlBQUFnZ2dnQUFDZ3duVWFnb1hqaUQxVURGa0xHeW8zTkZRNmFPdUFPSzZpSU5JcnIzYXFJ
QlUKRWh3UlFBQUJCQkJBQUFFRUVFQmdJSUZTZ3o4eUJRNVhRTnpOeXRVT1Z6OHl0YnRYVmxNVmtI
VHNTeDE5cHdNOWk0c1JRQUFCQkJCQQpBQUVFRUVCZ1RSZFFwVU1Ga0ZUdHlKUkNHaXAzZUJhc2hs
SkhYZUhEWWFQbVNvaXVxVFlDU0NYQkVRRUVFRUFBQVFRUVFBQUJCQVlTCjBBUlhvU1ZBMG1yb0tZ
Z29lRFRWOThyVmtNd3pZeWw0TkRUb3d3UFJxNDBBVWtsd1JBQUJCQkJBQUFFRUVFQUFnWUVFdk81
SHFaWE8KUzQzMktKUkVPcDF1ZEJROEhFclVySGF0RDZKRkNQUDJ4RzBKSUJNV25DR0FBQUlJSUlB
QUFnZ2dnTUFnQWxydXZLYW9VUlNGVmtMWAp5dWNPSUdrbGRBV1BmR3dGZExlbkpESitYMmJCR2dT
WWF4RkFBQUVFRUVBQUFRUVFRS0FuNE9wR0d1bWhybGJPR1YxTnhkdHhKVVRsCmowS3YzWllyaUl5
bTYvUkNHd0ZreklFL0VVQUFBUVFRUUFBQkJCQkFZRUNCc2l6VTNVb1ZFSmM1dWpWVlB6clJWUUJ4
OEhBRkpGY0sKeWQwWGkwSG9BOHB5T1FJSUlJQUFBZ2dnZ0FBQ0NDd21VSE9sUTJtakxHc3hXbVFh
QjZMWDJqME9KSjByZ0RpTXFJZFdiMk1NU0krQwpFd1FRUUFBQkJCQkFBQUVFRUJoSVFHR2pWTVVq
ejB0VlBvckkxZmVxcmJKSHA5MUp3Y1JkdEZ3SkdXVVEra0NzWEl3QUFnZ2dnQUFDCkNDQ0FBQUpM
RVBBQzUyMlhRTlRGU21QUE5lN0RROUxya1plWjJ0WDlTZ0drUFY0bHFYNmNDa2dsd1JFQkJCQkFB
QUVFRUVBQUFRUUcKRXVpcW41VURSZTV4SHhvSDRoQ1NwMW13eGlvZzdubmxOaFZFZWh1RDBIc1Vu
Q0NBQUFJSUlJQUFBZ2dnZ01BZ0FxVldRZyt0Z043UwpEM1hTSW9TYTVVcXJEelliV1RTOUNLRVdJ
SnloTjdzakUzZWxBakpod1JrQ0NDQ0FBQUlJSUlBQUFnZ01JdUNRb2IybVhsaHA5WE9kCnROUXZx
NmxnNGdEaUJkRHJlcS9WbHpyNlRnZDVFdGNpZ0FBQ0NDQ0FBQUlJSUlEQW1pNVFVNldqcGdwSTVo
U2lyZGxxUmwzTG85ZjEKT2xOZkt4ZElYQVZ4T0ttMnZ0T3FpU01DQ0NDQUFBSUlJSUFBQWdnZ01B
a0JWejgwMGE0eWlQWk13OC9MdEdjNk5sUUpVUjRKOWNoSwplM1UzeG9CVUVod1JRQUFCQkJCQUFB
RUVFRUJnTUlGYVRlSENFYVFlS29hTWhRMlZPeG9xZmRRVlFGd1hjUkRKdFZjYkZaQktnaU1DCkND
Q0FBQUlJSUlBQUFnZ01KRkJxekVlbXdPRUtpTHRadWRyaDZrZW1kdmZLYXFvQ2tvNTlxYVB2ZEtC
bmNURUNDQ0NBQUFJSUlJQUEKQWdpczZRS3FkS2dBa3FvZG1WSklRK1VPejRMVlVPcW9LM3c0Yk5S
Y0NkRTExVFlsWGJBdXVPQ0NtRGR2WHJSYXJkaHV1KzFpKysyMwpUL2Z2ZHJ0eDlkVlh4d1liYkJC
YmI3MTE5VXlPQ0NDQUFBSUlJSUFBQWdnZ3NCb0lhSUtyMEJJZ2FUWDBtcnRqS1hnMDFmZksxWkRN
Ck0yTXBlRFNVT0R3UXZkcW1wQUp5Mm1tbnhSdmU4SWI0NlU5L0duLy8rOS9UdlI5KytPSFllKys5
NDJsUGUxcnNzc3N1c2NNT084UWYKLy9qSDZya2NFVUFBQVFRUVFBQUJCQkJBWU1nRk5PR1Z3b2Qy
amZZb2xFUTZuVzUwRkR3Y1N0U3NkcTBQb2tVSTgvYkVGNTJTQ3Nqbwo2R2hjY3NrbHNlT09PL2J1
L081M3Z6dXV1T0tLZU5uTFhoYWYvdlNuNC9iYmI0OVRUamtsdnZLVnIvU3U0UVFCQkJCQUFBRUVF
RUFBCkFRU0dXS0J3OUZEbzBHcm5aVm1Qd2dFa3JZU3U0SkdQcllBKzRoVGlmWHhiNFFEaWJsYTc3
YmJiUXVIRFljT2hZNjIxMW9wUGZPSVQKc2U2NjY2YmQzYk1lZlBEQmRGNTlBSTRJSUlBQUFnZ2dn
QUFDQ0NBd25BS3VicVNSSHVwcTVZelIxVlM4SFZkQ1ZQNVFKa2x0dVlMSQphTHJPMTQ2TkN4azdX
ODQvMisxMnpKdzVjNkdmL3ZqSFB4NnVpcnptTmErSmpUYmFxUGVlZzhpQ0JRdDZyemxCQUFFRUVF
QUFBUVFRClFBQ0I0UlVveTBMZHJicFI2QmpkUXRXUFRuUVZRRkxYS3dXUFhNMjUrMkwxRFVKZjRU
RWdJeU1qY2UyMTE2cmtNbFpYbVR0M2JuenEKVTUvU1NQaDZ2T01kNytocDNuSEhIZkhWcjM0MU50
bGtrMTRiSndnZ2dBQUNDQ0NBQUFJSUlEQzhBalZYT2hRRHlySVdvMFdtY1NCNgpyZDNqUU5LNXUy
YnA2eFV1aDR4dkt4eEFmSjlERGpra3pYeDE3TEhIcHU1WTdtYjE5cmUvUGJiYWFxdjR6Vzkra3dh
alArNXhqNHU3Cjc3NjdlaTVIQkJCQUFBRUVFRUFBQVFRUUdIWUJoWTFTRlk4OEwxWDVLQ0pYMzZ1
MnloNmRkaWNGRTNmUjhsaVEwYWtlaFA2NjE3MHUKSERDKzhZMXZwRERpZ2VkNzdiVlg0dHh5eXkz
ampEUE9TRjJ5WEpKaFF3QUJCQkJBQUFFRUVFQUFnZFZEd0F1Y3QxMEMwUlM4SG9oZQpwQ0hwOWNq
TFRPM3FmcVZmLzl2alZaTHFHNi93SVBUcVJ2dnZ2Mzk0WDNTYlBYdDI3TDc3N29zMjh4b0JCQkJB
QUFFRUVFQUFBUVNHClhLQ3JmbGJ1VWpYcWNSL0tJUTRoZVpvRnl4V1FWaHFJN2pZVlJIcmJsSFRC
NnQxdEdTYzMzWFRUTXE3Z2JRUVFRQUFCQkJCQUFBRUUKRUJnV2dWSXJvWWRXUUcrbDFjOHpMVUtv
UlFkMTNtem8zSXNRYWdIQ0dTM3RJeFBmNkI4YVFJNCsrdWo0ODUvL1BQRjB6aEJBQUFFRQpFRUFB
QVFRUVFHQjRCUnd5dE5kVS9VaXJuK3VrcFJEU1ZEQnhBUEVDNkhXOTErcExIVlBTQmN1ellMM3hq
VzhNVnpoeVQvUzdsTzJCCkJ4NklGNy80eFhIQ0NTZkV2dnZ1eTR4WVMzR2lHUUVFRUVBQUFRUVFR
QUNCWVJDb3FkSlJVd1VrYzZyUVFQTm1xeGwxbFVIcVNpVnUKYzRIRVZaQmlxZ2VoSDNIRUVmR0hQ
L3doTnR0c3MvQ1lqNlZ0WHJUUTY0YTg5NzN2VFZQeW5uLysrVXU3bEhZRUVFQUFBUVFRUUFBQgpC
QkNZN2dLdWZtaWkzVXlEMERNdFFsaVBqbmE5MXU2dVdNb2pvVVBhcTY4eUpSV1FlKys5TjAyeHU4
NDY2MVQzWGVMeHVPT09Tek5pCkxmRk5HaEZBQUFFRUVFQUFBUVFRUUdDNEJCUTg2dHBMeFE0VlE4
YkNodnBpTlZUNjBMS0FhZjNCaG82NTltcnI2NDFWTlExK2RMZXEKWllXUHdlL0tUeUNBQUFJSUlJ
QUFBZ2dnZ01CMEZpZzE1aU5UNEZBdnJEUUd4TlVPVno4eXRYdHNTRk1Wa0lkcFdFOEFBQ0FBU1VS
QgpWSFRzU3gxOXA4di8xZmJaWjUvZVN1aVBkcGZERGp2czBkN21QUVFRUUFBQkJCQkFBQUVFRUJn
bUFWVTZWQUJKMVk1TUthU2hjb2U3ClhqV1VPdW9LSHc0Yk5WZENkRTIxVFVrQWVjcFRucUtiOXQy
MXV2c2l4eTIyMkdLUkZsNGlnQUFDQ0NDQUFBSUlJSURBc0Fwb2dxdlEKRWlCcE5mUVVSQlE4bXVw
N2xXYkU4c3hZaWdnTkRmcndRUFJxbTVJQWN2cnBwMWYzZTlTakI2dXpJWUFBQWdnZ2dBQUNDQ0NB
d09vaAo0SFUvU3ExMFhtcTBSNkVrMHVsMG82UGc0VkNpWnJWcmNVSXRRcGhQOVN4WVYxOTlkV3k3
N2JieG1NYzhSZ2xuOFhIdFJWSEU3YmZmCkh2ZmRkOS9xSWMyM1FBQUJCQkJBQUFFRUVFQUFBYzJ2
NitpaDBLSFZ6c3V5SG9VRFNGb0pYY0ZEcTNONEJmUVJweER2NDl2aWFhRjYKWjhEampUZmVHTjZY
dEdWZWlFUWpVR2JPbkpuR2lreW11OWFTN2tNYkFnZ2dnQUFDQ0NDQUFBSUlUQjhCVnpmU1NBOTF0
WExHNkdvcQozbzRySVNwL0tKT2tOaThUT0pxdTg3WHFqalYyV0xFLzU4eVpFLy83di8rYjFnR3Bl
NzZ0OGUyZWUrNkpLNjY0SXE2NTVwclljY2NkCjQ2VXZmV24xRmtjRUVFQUFBUVFRUUFBQkJCQVlj
b0d5TE5UZHFxdENpT0pIdDZicVJ5ZTZDaUFPSTY2QTVFb2h1ZnRpOVEwWG41SXgKSUVjZGRWUnN1
ZVdXTVdQR2pOUUZ5OTJ3dkx0TGxxZm9QZVdVVTlJQ2hmLzFYLzgxNU1SOGZBUVFRQUFCQkJCQUFB
RUVFS2dFYXE1MApLRzJVWlMxR2kwempRUFJhdThlQnBITjN6ZExGR3BIUjI2WWtnT3kzMzM2OUd5
N3R4T0hrckxQT210UjB2VXU3QiswSUlJQUFBZ2dnCmdBQUNDQ0F3alFRVU5rcFZQUEs4Vk9XamlG
eDlyOW9xZTNRMCtNUEJ4RjIwWEFrWjdSdUVQaVVCWkZrRXVUcCsvY3UvL0VzODhNQUQKU2o5OThX
ZFpQOGo3Q0NDQUFBSUlJSUFBQWdnZ01HMEZQUGlpN2FTaExsWWVpRjZrSWVuMXlNdE03ZXArcFFE
U0hxK1NWRjlpU3NhQQpWRGRiMnRFRDBEL3dnUStFMXd0WjBpeFpTL3M1MmhGQUFBRUVFRUFBQVFR
UVFHRDZDblRWejhvVmpWR1ArM0RGSTRVT1ZVQlUraWpLClZocUk3amJQaGxWdFUxSUIrZjczdjEv
ZGI2bkhkN3pqSGVtRExQVUMza0FBQVFRUVFBQUJCQkJBQUlHaEVpZzEyMjFvQmZSV1d2MWMKTTkr
cUpPS1YwSnNObmFzcTRnVUlaN1MwajB4OHJTa0pJUC85My8rZHB1QjkrT0dIWThHQ0JZdnQ4K2ZQ
ajF0dXVTVSsrY2xQOXA3cwpkVUcrOWExdkVVcDZJcHdnZ0FBQ0NDQ0FBQUlJSURCa0FnNFoybXVx
ZnFUVnozWFNVZ2hwZWhrT3RYc0I5THJlYS9XbGppbnBnblhyCnJiZW1oUWlYeFRWcjFxemVKUzkv
K2N2amtrc3VpWFBPT1NkZThZcFg5Tm81UVFBQkJCQkFBQUVFRUVBQWdlRVFxS25TVVZNRkpIT3EK
MEVEelpxc1pkWlZCNmtvbGJuT0J4RldRb204UStwUUVFUE04OWFsUFRkUHU5cThENHZadVZ5UGgy
KzFVRlhFbHBGVG5NQzlFK0lJWAp2Q0FOU3Q5MTExMTlHUnNDQ0NDQUFBSUlJSUFBQWdnTW00Q3JI
NXBvTjlQdjk1a1dJYXhIUjd0ZWEzZFhMT1dSMENIdDFWZWJrZ0N5CjU1NTd4aGxubkZIZGMxSkhq
d254em9ZQUFnZ2dnQUFDQ0NDQUFBSkRLcURnVWRkZUtuYW9HRElXTnRRWHE2SFNoOWNuVi9aUUVO
RnMKV05xcnJhODNWdFUwK0pFZ01iZ1pQNEVBQWdnZ2dBQUNDQ0NBd0xBTGxCcnprU2x3cUJkV0dn
UGlhb2VySDVuYVBUWkVrK0dPSGZ0UwpSOS9wOG4vOXVYUG5UdXFIZi9lNzMwM3FPaTVDQUFFRUVF
QUFBUVFRUUFDQklSQlFwVU1Ga0ZUdHlKUkNHaXAzdU90VlErbWpydkRoCnNGRnpKVVRYVk51VUJK
Q1BmL3pqYVp4SGRkTWxIVWRIUitQb280OWUwbHUwSVlBQUFnZ2dnQUFDQ0NDQXdCQUthSUtyMEJJ
Z2FUWDAKRkVRVVBKcnFlNVZteFBMTVdBb2VEUTM2OEVEMGFwdVNNU0IvK01NZll2MzExNDhOTjl4
UTZhZXZnOWY0VXp3US9kNTc3MVVKcHUvSgoxU2ZnaUFBQ0NDQ0FBQUlJSUlBQUFrTXA0SFUvU3Ex
MHJtbW1vbEFTNlhTNjBWSHdjQ2hSczlxMU9LRVdJY3hYeGl4WURoZXRWbXVoCkFKTG5lZnoxcjM5
TmEzMXN1KzIybW9aTFBjTEdaOEVhU21FK05BSUlJSUFBQWdnZ2dBQUNDRXdJRkk0ZUNoMWE3Yndz
NjFFNGdPaUYKUTBjbkgxc0JmY1FweFB2NE5pVVZrSjEyMmlrdXUreXloY0pIOVFDSGtIUFBQVGR1
dU9HR09PR0VFOUlVdk5WN0hCRkFBQUVFRUVBQQpBUVFRUUdCNEJSdzAwa2dQZGJWeXh1aHFLdDZP
S3lFcWZ5aVRwRGJGZ1JoTjEvbmFzWEVoWTJjcjhPZGIzdktXSllZUDM5S1ZrWmU5CjdHWGhoUWZm
Ly83M3I4QlQrRkVFRUVBQUFRUVFRQUFCQkJDWVRnSmxXYWk3VlRjS0hhUHJ5a2RINndDV1kxMnZG
RHh5TmVmdWl6WFYKZzlBbnM1amdOdHRzRS9QbXpadE9YbndXQkJCQUFBRUVFRUFBQVFRUVdBR0Jt
aXNkS24yVVpTMUdpMHpqUVBSYXU4ZUJwSE4zemRMOQpDNWREeHJjcG1RWHJ0Ny85YlhXL1J6MWVk
OTExNGRYUTJSQkFBQUVFRUVBQUFRUVFRR0ExRUZEWUtGWHh5UE5TbFk4aWN2VzlhcXZzCjBXbDNV
akNweG9LTTlnMUNuNUlBOHRHUGZqUWVlZVNScFFwNkN0NVBmL3JUNGFDeTl0cHJML1U2M2tBQUFR
UVFRQUFCQkJCQUFJSGgKRWZEOHQyMlhRTlRGeWdQUml6UWt2UjU1bWFsZDNhODA5cU05WGlXcHZ0
V1VERUwvL2U5L0g3Tm56NDZOTnRwSTgvd3VmRXVIai92dQp1MCtwS0k4VFR6eXhlaTVIQkJCQUFB
RUVFRUFBQVFRUUdIS0JydnBadWFJeDZuRWZ5aUVPSVhtYUJjc1ZrRllhaU80MkZVUjYyOEpwCm9k
YzgrSWtyR3pObnpseHNNTHJYQjlsbGwxM2k0SU1QWmlIQ3dWbjVDUVFRUUFBQkJCQkFBQUVFcHEx
QXFXVTJRaXVndC9RSk8ya1IKUWkwNnFOVUhtNDBzbWw2RVVNc0F6dENiM1pHSnJ6QWxBV1Rublhl
T3l5Ky9QSzN6TVhGcnpoQkFBQUVFRUVBQUFRUVFRR0MxRm5ESQowSzRDeU5qcTU3VXlXdXFYMVZR
d2NRRHhNdVIxdmRmcUcvalJkN3I4Tk1jZGR4emhZL241K0VrRUVFQUFBUVFRUUFBQkJJWlNvS1pL
ClIwMFZrTXdwUkZ1ejFZeTZsa2V2NjNXbVVvY0xKSzZDMVB0U1I5L3A4bjluVjBEWUVFQUFBUVFR
UUFBQkJCQkFZQTBUVU82b2FhSmQKWlJEdFdkUjE3ajNUM2xBbFJIa2sxQ01yN1pYTWNnV1F2Lzcx
ci9IYzV6NDN0dDU2Ni9qQUJ6NFFEejMwVUhneHdrTU9PU1RtenAyYgo3dTJWei8vcnYvNHJqZnY0
N0djL213YWlWdy9saUFBQ0NDQ0FBQUlJSUlBQUFxdUJRSzJtY09HOUhnMmxrQlEyVk81b3FQUlJW
d0J4ClhjUkJKTk5lYmNzMUJ1UTFyM2xOV3VYd1ZhOTZWVngyMldWeC92bm54MVZYWFJVSEhYUlFI
SFBNTWJIMzNudkgyOTcydHVvWmFRcmUKRDMzb1EvR0RIL3dndHR4eXkxNDdKd2dnZ0FBQ0NDQ0FB
QUlJSURDOEFxWEdmR1FLSEpsbXVuSTNLd2NRVno4eXRUY1VUSnFxZ0xoMwpWck92N0RGd0FIR0Zv
Nms3L2VoSFAwcmpQa3JOdC9YRUp6NHhEanp3d0RqdnZQUGloei84WVpyeDZtTWYrMWpzdSsrK2FX
YXNLNjY0CklyV2ZldXFwOFpuUGZHWjRoZm5rQ0NDQUFBSUlJSUFBQWdnZ01DR2dTb2R5UnFwMlpO
MmFsdVJRSlVRcHBLSFVVVmY0Y081UWNTUmQKVS8zUXdBSGs1cHR2amlPT09LSTM2THltSjY2MzNu
cXgrZWFicDNzNmtIemlFNStJd3c4L3ZIcEdiTFhWVnZIS1Y3NHlkZGZxTlhLQwpBQUlJSUlBQUFn
Z2dnQUFDUXkyZ0NhN1NERmhlRGQyNXdJUFBtK3A3NVdwSXBqZGRFZkV5Z1I2SVhtMTl4WkNxNmRH
UER6endRRHorCjhZOWY2Q0kvckZxQThQNzc3NDg5OTl4em9mZXJGdzRxZnA4TkFRUVFRQUFCQkJC
QUFBRUVobDlBRTE1RnFaWE9GVCtpVUFqcGRMclIKVWZEd3RMeHFWcnZXQjlFaWhIbDc0cnNPSEVB
MjNIRERjQWpwMzRxaTZGVkU1c3laRTVkZWVtbi8yNzN6U3k2NUpIWEo2alZ3Z2dBQwpDQ0NBQUFJ
SUlJQUFBc01yVURoNmRNTjV3Q3VoRnc0Z2FTVjBCWTk4YkFWMHQ2Y2tNdjR0Qis2QzVlckhCUmRj
RU05NzN2TjZVSzVxCmpJeU1MVy80NUNjL09RNDc3TEJ3MlBqbmYvN24yR0dISGVMT08rK01jODQ1
SjM3Kzg1K244U085SCtRRUFRUVFRQUFCQkJCQUFBRUUKaGxiQTFZMDAwa05kclp3enVwcUt0K05L
aU1vZkdwZWUybklGa2RGMG5hOVZkNnl4dytULzNHU1RUZUs2NjY2TFcyNjVKYzFvZGMwMQoxOFJO
TjkwVW0yMjJXYnFKZzRobnZIcjV5MThlbi92YzUzbzMzbkhISFh2alJIcU5uQ0NBQUFJSUlJQUFB
Z2dnZ01EUUNwUmxvZTVXCnFvQzR6S0ZCNkIwbGtxNENpTU9JS3lDNVVranV2bGdLS05VMmNBRHhE
M3JsYzArMXUvMzIyNGRudUpvMWExYTg5S1V2cmU2WnB1UDkKMWE5K0ZlZWVlMjZxZmp6bEtVOUpW
Wkg5OXR1dmR3MG5DQ0NBQUFJSUlJQUFBZ2dnTU53Q05WYzZsRGJLc2hhalJhWnhJSHF0M2VOQQow
cmtDaU1PSWVtajF0dVVLSUU5Lyt0UGovLzd2LzFLRlk0c3R0b2dqanp3eUh2dll4L1p1NmhPSGsv
ZTg1ejBMdFIxODhNRUx2ZVlGCkFnZ2dnQUFDQ0NDQUFBSUlETEdBd29abndISTNxMjYzaUZ4OXI5
b3FlM1RhSFFXVFJocUE3a3JJYU44ZzlPVUtJQ2JhYmJmZDBqNEkKMS9ISEh6L0k1VnlMQUFJSUlJ
QUFBZ2dnZ0FBQzAxakFDNXkzWFFMUnJMZ2FlNjV4SHg2U1hvKzh6TlN1N2xjYSs5RWVyNUpVWDJQ
ZwpXYkNxSCtTSUFBSUlJSUFBQWdnZ2dBQUNhN1pBVi8yc0hDaHlqL3ZRT0JDSGtEek5ndVVLaUFP
SnVtUHBEeFZFZXR0eVYwQjZkK0FFCkFRUVFRQUFCQkJCQUFBRUUxa2lCVWl1aFIxYUxscjU5Snkx
Q3FGbXV0UHBnczVGRjA0c1FhZ0hDR1hxek96WmhiaktpQXJKRy9xL0MKbDBZQUFRUVFRQUFCQkJC
QVlBb0VIREswMTFUdFNLdWY2NlNsZmxsTkJSTUhFQytBWHRkN3JiN1UwWGM2QlIrQVd5Q0FBQUlJ
SUlBQQpBZ2dnZ01BYUkxQlRwYU9tQ2tqbUZLS3QyV3BHWGN1ajEvVTZVMThyRjBoY0JYRTRxYmEr
MDZxSkl3SUlJSUFBQWdnZ2dBQUNDQ0F3CkNRRlhQelRScmpLSTlrekR6OHUwWnpvMlZBbFJIZ24x
eUVwN2RUZkdnRlFTSEJGQUFBRUVFRUFBQVFRUVFHQXdBYzErVmRmdTJLRmkKeUZqWVVMbWpvZEpI
WFFIRWRSRUhrVng3dFZFQnFTUTRJb0FBQWdnZ2dBQUNDQ0NBd0VBQ3BjWjhaQW9jcm9DNG01V3JI
YTUrWkdwMwpyNnltS2lEcDJKYzYrazRIZWhZWEk0QUFBZ2dnZ0FBQ0NDQ0F3Sm91b0VxSENpQ3Ay
cEVwaFRSVTd2QXNXQTJsanJyQ2g4Tkd6WlVRClhWTnRCSkJLZ2lNQ0NDQ0FBQUlJSUlBQUFnZ01K
S0FKcmtKTGdLVFYwRk1RVWZCb3F1K1ZxeUdaWjhaUzhHaG8wSWNIb2xjYkFhU1MKNElnQUFnZ2dn
QUFDQ0NDQUFBSURDV2pDSzRVUDdScnRVU2lKZERyZDZDaDRPSlNvV2UxYUgwU0xFT2J0aWRzU1FD
WXNPRU1BQVFRUQpRQUFCQkJCQUFJRkJCTFRjZVUxUm95Z0tyWVN1bGM4ZFFOSks2QW9lK2RnSzZH
NVBTV1Q4dnN5Q05RZ3cxeUtBQUFJSUlJQUFBZ2dnCmdFQlB3TldOTk5KRFhhMmNNN3FhaXJmalNv
aktINFZldXkxWEVCbE4xK21GdHBVYVFHNjk5Vllsb0w2bmpUMXppWDl1dU9HR3NkNTYKNnkzeFBS
b1JRQUFCQkJCQUFBRUVFRUJnK2dtVVphSHVWcXFBdU16UnJhWGYvYnNLSUE0ZXJvRGtTaUc1KzJM
MURVSmZxUUhrclc5OQphOXg5OTkzTGxQcnJYLzhhYjN2YjIrTFlZNDlkNXJWY2dBQUNDQ0NBQUFJ
SUlJQUFBdE5Eb09aS2g5SkdXZFppdE1nMERrU3Z0WHNjClNEcFhBSEVZVVErdDNyWlNBOGk1NTU3
YmU5Q2puWHp3Z3g5OHRMZDVEd0VFRUVBQUFRUVFRQUFCQkthamdNSkdxWXFIdTFsMXUwWGsKNm52
VlZ0bWowKzRvbURUU0FIUlhRa1laaEQ0ZC8vYjRUQWdnZ0FBQ0NDQ0FBQUlJREplQUZ6aHZ1d1Np
TGxZYWU2NXhIeDZTWG8rOAp6TlN1N2xjYWpkRWVyNUpVMzR4WnNDb0pqZ2dnZ0FBQ0NDQ0FBQUlJ
SURDUVFGZjlyQndvY28vNzBEZ1FoNUE4ellMbENvZ0R5Vmd3ClVVR2t0NjNVTGxpOXAzQ0NBQUlJ
SUlBQUFnZ2dnQUFDcTUxQXFaWFFReXVndC9UTk9ta1JRczF5cGRVSG00MHNtbDZFVUFzUXp0Q2IK
M1pHSnJ6NHRBc2ltbTI0YUl5TjluMnJpODNHR0FBSUlJSUFBQWdnZ2dBQUMwMVhBSVVPN0NpQmpx
NS9YeW1pcFgxWlR3Y1FCeEF1ZwoxL1ZlcTYvZjFiUUlJRWNlZWVSMEplVnpJWUFBQWdnZ2dBQUND
Q0NBd0ZJRWFxcDAxRlFCeVp3cU5OQzgyV3BHWGN1ajE1VkszT1lDCmlhc2dCWVBRbHlKSU13SUlJ
SUFBQWdnZ2dBQUNDRXhlUUZXT21pYmFWUWJSbm1uNGVabjJUTWVHS2lIS0k2RWVXV212YnRwWERL
bWEKVnZ4NDIyMjN4U09QUExMaU4rSU9DQ0NBQUFJSUlJQUFBZ2dnTUgwRmFqV0ZDKy8xYUNpRnBM
QlJ6M1N1TUtJQW91eVJna2ptNmJMRwp0NVVTUUg3eGkxL0U1cHR2SG05Kzg1dlRhUGpxWVJ3UlFB
QUJCQkJBQUFFRUVFQmc5UkVvTmVZalUrQndCVVNIRkVCYy9jalU3ckVoClRWVkEwckV2ZGZTZFRo
M0VTMTd5a3RobGwxM2lhMS83V2p6MDBFTzlHOCtiTnk4dHo5NXI0QVFCQkJCQUFBRUVFRUFBQVFT
R1YwQ1YKRGhWQVVyVWpVd3BwcU4rVlo4RnFLSFhVRlQ0Y05sUWNTZGRVWDNKS0FzamRkOSs5VU5E
d3plZlBueDl2Zk9NYlk5YXNXWEhmZmZmRgpPOS81enZCc1Y3dnV1bXYxYkk0SUlJQUFBZ2dnZ0FB
Q0NDQXd4QUthNENyTmdPWFYwRk1RVWZCb3F1K1ZxeUdaWjhaU09HbG9NTG9ICm9sZmJsTXlDdGNF
R0c4VEpKNStjcWg0NzdMQ0RIdEtJVzI2NUphNi8vdnA0eGpPZUVlNlN0ZU9PTzhhNzMvM3VPT3Fv
bzZwbmMwUUEKQVFRUVFBQUJCQkJBQUlFaEZ0Q0VWMUZxcFhQRmp5Z1VRanFkYm5RVVBEd3RyNXJW
cnZWQnRBaGgzamNMMXBRRUVBZU9rMDQ2S2I3dwpoUy9FeHo3MnNianh4aHRUMWNPaDR6V3ZlVTNz
c2NjZXNja21td3d4TFI4ZEFRUVFRQUFCQkJCQUFBRUVGaFBRY3VjMVJRMnZnRjZXCjlTZ2NRTkpL
NkFvZXVXYm1WZmdZY1FyeFByNU5TUUR4dlpvYVlmSzYxNzB1N1RmY2NFTzg4SVV2VEZVUnYrY3VX
bXdJSUlBQUFnZ2cKZ0FBQ0NDQ3dlZ200dXBGR2VxaXJsVE5HVjFQeGRsd0pVZmxEbVNTMTVRb2lv
K2s2WHpzMkxtVHNiQXIvdlBQT08yUHJyYmZ1M2RHQgo1TVFUVCt5OTVnUUJCQkJBQUFFRUVFQUFB
UVNHWDZBc0MzVzM2a2FoWTNTTE5PRlVWd0VrZGIxUzhNalZuTHN2bGdKS3RVMVpCYVM2Cm9ZK3Vl
TFRiN1RqcnJMUGkzbnZ2amIvODVTOXg0WVVYeHUyMzN4NHpac3hJMVpIblB2ZTUvVC9DT1FJSUlJ
QUFBZ2dnZ0FBQ0NBeVoKUU0yVkRxV05zcXpGYUpGcEhJaGVhL2M0a0hUdXJsbjZUb1hMSWVQYmxN
eUNWZDNNeCs5ODV6dngvdmUvWDZQZ2E3SHZ2dnZHZTkvNwozalFUMWx2Zit0YjQ3R2MvbThhS2ZP
cFRuNHJuUGU5NTRXbDUyUkJBQUFFRUVFQUFBUVFRUUdCSUJSUTJQQU5XbnBmUlZRVWtWOStyCnRz
b2VIUTMrY0RCeEZ5MlBCUm50RzRRK1pRSEVVKzIrNkVVdlNtdC92UEtWcjR4dHR0a21udmpFSjhi
Y3VYUGo2MS8vZXJ6MnRhOU4KcXA2SzErdUQzSFBQUFdtYTNpR2w1bU1qZ0FBQ0NDQ0FBQUlJSUxE
R0MzaUI4N2FUaHJwWWVTQjZrWWFrMXlNdk03V3IrNVVDU0h1OApTbEpoVFVrQWVmamhoK09BQXc2
SVBmZmNNNzc0eFMvR1pwdHRGbmZkZFpkS0xVV2FCZXZ0YjM5N2VLcmVhbk0zckVNUFBUVE9PZWVj
CmRGM1Z6aEVCQkJCQUFBRUVFRUFBQVFTR1I2Q3JmbFlPRkxuSGZaUWFmSjVDeDloWUVPY1M5N3h5
bTJmRHFyWXBDU0JISDMxMGJMNzUKNXZHdWQ3MHIzWGYyN05uaGdlakhIMzk4R29oeTNISEhWYy9y
SFYwaDhYYk5OZGYwMmpoQkFBRUVFRUFBQVFRUVFBQ0I0UkVvdFJKNgphQVgwVmxyOVBOTWloRnAw
VU9mTmhzNjlDS0VXSUp6UjBqNHk4WjFXZUJDNlZ6ei81amUvbWJwWlZiZDF1TGp5eWl2ai92dnZq
NHN1CnVpaU5CNm5lcTQ2LytjMXYwcW1EQ3hzQ0NDQ0FBQUlJSUlBQUFnZ01vWUJEaG5ZVlFNWldQ
NitWQ2lOYW9rUEJ4QUhFQzZEWDlWNnIKcit6UmQ3cDhYM2pCZ2dVYWRKS25GYzk5Qjg5NmRjSUpK
NlRLaDd0ZWJienh4b3ZkMkYyenZ2dmQ3NmIzZHQ1NTU4WGVwd0VCQkJCQQpBQUVFRUVBQUFRU212
MEJObFk2YUtpQ1pVNGkyWnFzWmRaVkI2bnFkcWRUaEFvbXJJUFcrMU5GM3VueGYwR003UFA3alF4
LzZVQW9lClh2MDgwNU1PUC96d09PT01NNVo0MDFOT09TV3V2dnJxT08yMDA1WllIVm5pRDlHSUFB
SUlJSUFBQWdnZ2dBQUMwMHRBdWFPbWlYYVYKUWJSblVkZTU5MHg3UTVVUTVaRlFqNnkwVng5OGhi
dGcrVVlublhSUzdMSEhIbW5XSzAvQisvclh2ejV1dSsyMk9PcW9vNnJucEtQWApCbm5mKzk0WEgv
emdCMU5nT2ZMSUl4ZDZueGNJSUlBQUFnZ2dnQUFDQ0NBd1JBSmFlcU91M2JGRHhaQ3hzS0Z5UjBN
Rmlib0NpTEpICkNpSzV6cXR0U2dMSTdydnZIZzg4OEVDc3M4NDYxWDNqY1k5N1hGeHd3UVhwdGJ0
cHVjdVZLeDl6NXN5SlgvN3lsN0hiYnJ2MXJ1VUUKQVFRUVFBQUJCQkJBQUFFRWhrK2cxSmlQVElF
ajAweFg3bWJsYW9lckg1bmFHd29tVFZWQTNEdXIyZGZ2YWtvQ2lLbjZ3MGMvbmFmbAovZjN2ZjUv
V0JmbmYvLzNmZU5LVG50VC9OdWNJSUlBQUFnZ2dnQUFDQ0NBd3JBS3FkQ2hucEdwSDFxMUZRLzJ1
UEF0V1E2bWpydkRoCjNGRnpKVVRYVk51VUJaRHFob3NlRHp2c3NFV2JlSTBBQWdnZ2dBQUNDQ0NB
QUFLcmdZQW11RW96WUhrMTlKcFNoZ2VmTjlYM3l0V1EKekROaktYZzBsRGc4RUwzYStvb2hWUk5I
QkJCQUFBRUVFRUFBQVFRUVFHRFpBbDczbzlSSzU0b2ZVU2lFZERyZDZDaDRlRnBlTmF0ZApDeEZx
RWNLOFBYR3ZWUkpBN3I3NzdvbFB3QmtDQ0NDQUFBSUlJSUFBQWdnTXA0Q1dPNjhwYW5pWkRTMkVI
b1VEaUpZK2Qram81R01yCm9MczlKWkh4YjdoS0FzajU1NThmQngxMFVQejR4ejhlVG1nK05RSUlJ
SUFBQWdnZ2dBQUNDS1Nna1VaNmFBcGU1NHl1amgxWFFsVCsKMExqMDFLWWxBMk5VZ2FUYVZra0Fl
Y01iM3BEV0NmSDZJUWNlZUdEY2ZQUE4xZWZoaUFBQ0NDQ0FBQUlJSUlBQUFrTWlVSmFGdWx1cApB
cUpqZEYzNTZFUlhBY1JoeEJXUVhNMjUrMkwxRFVKZkpRSEVuZ2NmZkhDY2VlYVphWHJldmZmZU8r
NjQ0dzQzc3lHQUFBSUlJSUFBCkFnZ2dnTUNRQ05SYzZWRGFLTXRhakJhWnhvSG90WGFQQTBubkNp
QU9JK3FoMWR0V1dRRHhKemo2NktQVG9vVjMzbmxuL09oSFArcDkKS0U0UVFBQUJCQkJBQUFFRUVF
QmdDQVFVTmp3RFZwNlhxbndVa2F2dlZWdGxqMDY3azRKSk5SWmt0RzhRK2txZmhuZFpiQi81eUVm
aQoxNy8rZFhneFF6WUVFRUFBQVFRUVFBQUJCQkFZSGdFdmNONTJDVVJUOEdyc3VjWjllRWg2UGZJ
eVU3dTZYMm5zUjN1OFNsSjlxMVVlClFHYk5taFZYWFhWVjlYazRJb0FBQWdnZ2dBQUNDQ0NBd0pB
SWROWFB5bDJxUmozdVF6bkVJU1JQczJDNUF0SktBOUhkcG9KSWIxdmwKQWFUM1NUaEJBQUVFRUVB
QUFRUVFRQUNCb1JJb3RSSjZaTFZvNlZOMzBpS0VXblJRcXc4MkcxazB2UWloRmlDY29UZTdJeE5m
YTVXTwpBWm40R0p3aGdBQUNDQ0NBQUFJSUlJREEwQWs0WkdpdnFmcVJWai9YU1V2OXNwb0tKZzRn
WGdDOXJ2ZGFmYW1qNzNUb3ZpNGZHQUVFCkVFQUFBUVFRUUFBQkJGYWhRRTJWanBvcUlKbFRpTFpt
cXhsMUxZOWUxK3RNZmExY0lIRVZ4T0drMnZwT3F5YU9DQ0NBQUFJSUlJQUEKQWdnZ2dNQWtCRno5
MEVTN3lpRGFNdzAvTDlQdVpRa2Jxb1FvajRSNlpLVzl1aHRqUUNvSmpnZ2dnQUFDQ0NDQUFBSUlJ
RENZZ0dhLwpxbXQzN0ZBeFpDeHNxTnpSVU9tanJnRGl1b2lEU0s2OTJxaUFWQkljRVVBQUFRUVFR
QUFCQkJCQVlDQ0JVbU0rTWdVT1YwRGN6Y3JWCkRsYy9Nclc3VjFaVEZaQjA3RXNkZmFjRFBZdUxF
VUFBQVFRUVFBQUJCQkJBWUUwWFVLVkRCWkJVN2NpVVFob3FkM2dXcklaU1IxM2gKdzJHajVrcUly
cWsyQWtnbHdSRUJCQkJBQUFFRUVFQUFBUVFHRXRBRVY2RWxRTkpxNkNtSUtIZzAxZmZLMVpETU0y
TXBlRFEwNk1NRAowYXVOQUZKSmNFUUFBUVFRUUFBQkJCQkFBSUdCQkRUaGxjS0hkbzMyS0pSRU9w
MXVkQlE4SEVyVXJIYXRENkpGQ1BQMnhHMEpJQk1XCm5DR0FBQUlJSUlBQUFnZ2dnTUFnQW9XalJ6
ZUtva2dyb1JjT0lHa2xkQVdQZkd3RmRLK1FucExJK0gyWkJXc1FZSzVGQUFFRUVFQUEKQVFRUVFB
Q0Jub0NyRzJta2g3cGFPV2QwTlJWdng1VVFsVDhLdlhaYnJpQXltcTdUQzIwRWtERUgva1FBQVFR
UVFBQUJCQkJBQUlFQgpCY3F5VUhjclZVQmM1dWpXVlAzb1JGY0J4TUhERlpCY0tTUjNYeXdHb1E4
b3krVUlJSUFBQWdnZ2dBQUNDQ0N3bUVETmxRNmxqYktzCnhXaVJhUnlJWG12M09KQjByZ0RpTUtJ
ZVdyMk5NU0E5Q2s0UVFBQUJCQkJBQUFFRUVFQmdJQUdGalZJVmp6d3ZWZmtvSWxmZnE3YksKSHAx
Mkp3VVRkOUZ5SldTMGJ4RDZTdTJDZGMwMTE4VC8vZC8veGM0Nzd4d3ZmdkdMQi9vdVhJd0FBZ2dn
Z0FBQ0NDQ0FBQUxUVzhBTApuTGRkQXRFY3ZCcDdybkVmSHBKZWo3ek0xSzd1VndvZzdmRXFTZlZO
Vm1vRjVMYmJib3VUVGpvcDVzK2ZYejF2b2VOMTExMFhOOTU0CjQwSnR2RUFBQVFRUVFBQUJCQkJB
QUlIaEVPaXFuNVVEUmU1eEh4b0g0aENTcDFtd3hpb2c3bm5sTmhWRWV0c0tCUkFIaUwvLy9lOHEK
dDNTWHVGZFBlZTV6bjd2WSsvZmVlMjg4Ly9uUGo3MzIyaXV1dXVxcTZsS09DQ0NBQUFJSUlJQUFB
Z2dnTUNRQ3BWWkNENjJBM2txcgpuMmRhaEZDelhPbTgyZEM1RnlIVUFvUXpXdHBISnI3UUNuWEJ1
dkRDQytPaGh4NktWa3QzN2RzV0xGZ1E3M3ZmKytMd3d3K1BEM3pnCkEvSHBUMzg2empycnJOaDg4
ODNqb0lNTzZsMzV4amUrTVozLzhwZS9qTjEzMzczWHpna0NDQ0NBQUFJSUlJQUFBZ2dNZ1lCRGhu
WVYKUU1aV1A2K1ZDaU1SVFFVVEJ4QXZnRjdYZTYyK3NzY0tCWkIvKzdkLzY2bmttdUMzMlJ4Ylkv
M1dXMjlOQWVUSUk0K01aejd6bWVrYQpqd1haZGRkZDQ5M3ZmbmZ2WnpoQkFBRUVFRUFBQVFRUVFB
Q0I0UldvcWRKUlV3VWtjNnJRUVBObXF4bDFsVUhxU2lWdWM0SEVWWkNpCmJ4QjZYeFpac1MvK3dR
OStNSjc0eENmR2w3Lzg1YmpycnJ2U3pSN3ptTWNzZHRPNWMrZkdpU2VlR0xmY2NzdGk3OUdBQUFJ
SUlJQUEKQWdnZ2dBQUNReVNnS2tkTkUrMHFnMmpQTlB5OFRIdW1ZME9WRU9XUlVJK3N0RmZmYWtv
Q3lIMzMzUmNmL2VoSHd4V1BndzgrT0g3egptOS9FN05telk5dHR0NjJlMHp0dXV1bW04ZEtYdmpT
ZThZeG54SC84eDM5b3lpN055OFdHQUFJSUlJQUFBZ2dnZ0FBQ3d5ZWcyYS9xCmFhOUhReWtraFkx
NnBuT0ZFUVVRWlk4VVJES2RWOXVVQkpCamp6MDJYdkNDRjhTNzN2V3VXR3V0dGVKTFgvcFN2UGEx
cjlWc1hIN2sKeE9hVkViM3R0Tk5PY2Y3NTU2Y0Fzdi8rKzhlOGVmTW1MdUlNQVFRUVFBQUJCQkJB
QUFFRWhrS2cxSmlQVElIREZSQWRVZ0J4OVNOVAp1OGVHZUlSR092YWxqaFVhQTJLVmIzN3ptM0hE
RFRmRVJSZGRsSkIrOElNZnhPOSs5N3Y0MXJlK0ZkLzczdmZpMGtzdlRhSGsrdXV2ClQrdUJWSks3
N2JaYm5IYmFhZkhXdDc0MTNlT0lJNDZvM3VLSUFBSUlJSUFBQWdnZ2dBQUN3eUNnU29kckRxNTJa
TjFhTk5UdnlyTmcKTlpRNjZnb2Z6aDAxVjBKMFRiV3RVQUM1L1BMTDQrS0xMNDZmL3ZTbk1USXlF
dTZLZGZMSko2ZEF6dWl5dkFBQUlBQkpSRUZVVVdpOQo5UU1PT0NEKzZaLytLVjcwb2hmRkMxLzR3
amorK09PcjU2YWpLeWUreDk1Nzc3MVFPeThRUUFBQkJCQkFBQUVFRUVCZytndG9ncXMwCkE1WlhR
M2Z2Snc4K2J5cU51QnFTZVdZc0JZK0dFb2NIb2xmYkNnV1FUSW5uakRQT1NQZjZ5MS8ra3FvWm5t
NzNTVTk2VXV5NDQ0NXAKVnF4enp6MDNWVUdxQi9ZZi9TRy8rdFd2OWpkeGpnQUNDQ0NBQUFJSUlJ
QUFBa01pNEhVL1NxMTBydmdSaFVKSXA5T05qb0tIcCtWVgpzOXExRUtGR1llUlROUXZXSG52c2tX
amN6ZXJiMy81Mm1nRnJsMTEyQ1UvUDY5bXV2dktWcjZTMVB4NTQ0SUh3N2xYUER6end3UGpECkgv
NHdKS1I4VEFRUVFBQUJCQkJBQUFFRUVGaXFRT0hvMFEzM2Z0SkM2RkU0Z0tTVjBCVThOTmVVVjBC
M2Uwb2k0emRab1FwSTlVSGMKaGFycVJ2WDV6MzgrTFRyb0JRZ2RUTHhYbXhja3ZQYmFhMlBtekpt
cDhySG9JUFhxT280SUlJQUFBZ2dnZ0FBQ0NDQXcvUVhHNXBoUwpmeXQxdFhMTzZHb3EzbzRySVNw
L0ZIcnROazk2T3pvMkYxWDZRbE1TUU5LZDlJZG50bnJiMjk0V1gvakNGOEtMRVI1enpESFZXL0d4
CmozMHNoUTkzMFRyNjZLTjc3WndnZ0FBQ0NDQ0FBQUlJSUlEQWNBcVVaYUh1VnFxQXVNeWhRZWll
OWJhckFPTGc0UXBJcmhTU3V5OVcKM3lEMHZnbXhWdXhMZS9Zcmh3OGZYL1dxVjhWV1cyMFZKNTEw
VWlySG5IcnFxZkgydDc4OVhBRWhmS3lZTXorTkFBSUlJSUFBQWdnZwpnTUIwRWFpNTBxRzBVWmEx
R0MweWpRUFJhKzBlQjVMT0ZVQWNSdFJEcTdkTlNRWGs3TFBQVHRQdVhuYlpaYkhaWnB1bG03L3Na
UzhMCnI0NCtaODZjZU9paGgrTENDeStNZmZmZHQvZGdUaEJBQUFFRUVFQUFBUVFRUUdESUJSUTJQ
QU9XdTFsMXUwWGs2bnZWVnRtam84RWYKUmRsSUE5QmRDUm1kcWtIb0hsaiszdmUrTjQzcCtNNTN2
dE1MSDkxdU56d1c1Q01mK1VoNFVQckdHMitjd29nWEtMempqanVHWEptUApqd0FDQ0NDQUFBSUlJ
SUFBQWhiUUpGalJkZ2xFWGF3MDlsempQandrdlI1NW1hbGQzYTgwOXFNOVhpV3B4RmFvQXJKZ3dZ
TFV6YXJoCnlYMjF1ZExobWE4ODNtT0xMYmFJYjN6akc3SFBQdnVrdm1BZUYrS3djdGhoaDZXWnNk
eEY2L0dQZjN6TW5qMDcxbDkvL1hqem05K2MKMnFzUHhoRUJCQkJBQUFFRUVFQUFBUVNtdDBCWC9h
dzhwbVBVNHo2VVF4eEM4alFMbGlzZ3JUUVEzVzJlRGF2YVZpaUFiTHJwcHZIZwpndytteFFROUFO
MnJuVC9yV2MrSzg4NDdMN2JiYnJ2cUdWcDhwQkd2ZmUxclUvaHdwY1R2WDNEQkJYSEpKWmVrYTM3
MnM1OFJQbnBhCm5DQ0FBQUlJSUlBQUFnZ2dNQndDcGRZRmpLd1dMWDNjVGxxRVVJc09hdlhCWmlP
THBxb2lYb0J3aHQ3c2preDhueFVLSU81UzVRRGkKY1I0bm5uaGlQT1l4ajVtNDh4TE9tczFtdlBq
RkwwNjczL2JLNmJmZGRsdnFwcldFeTJsQ0FBRUVFRUFBQVFRUVFBQ0I2U3pna0tGZApCWkN4MWM5
clpiVFVMNnVwWU9JQTRnWFE2M3F2MVRmMTFRb0ZrRmUvK3RVcnhMSEJCaHVFZHpZRUVFQUFBUVFR
UUFBQkJCQVlQb0dhCktoMDFWVUF5cHdvTk5HKzJtbEhYOHVoMXBSSzN1VURpS2tneFZZUFFoNCtJ
VDR3QUFnZ2dnQUFDQ0NDQUFBSlRKcUFxUjAwVDdTcUQKYU04MC9MeE1lNlpqUTVVUTVaRlFqNnkw
Vjg5Y29RcElkUk9PQ0NDQUFBSUlJSUFBQWdnZ3NBWUsxR29LRjQ0ZzlWQXhaQ3hzMURPZApLNHdv
Z0NoN3BDQ1NlN3FzOGEydk4xYlZ4QkVCQkJCQUFBRUVFRUFBQVFRUVdMWkFxVEVmbVFLSEt5QTZw
QURpNmtlbWRvOE4wUkR3CnNXTmY2dWc3WGZZRHVBSUJCQkJBQUFFRUVFQUFBUVFRNkFtbzBxRUNT
S3AyWkVvaERmVzc4aXhZRGFXUHVzS0h3MGJObFJDWFFzWTMKQWtnbHdSRUJCQkJBQUFFRUVFQUFB
UVFHRXRBRVYya0dMSytHbm9LSWdrZFRmYTljRGNrOE01YUNoNWNNOUVEMGF2dUhqQUc1NFlZYgo0
c2MvL25GYUwrVGVlKytOZGRaWko3YlpacHM0NG9nall0dHR0NjArQzBjRUVFQUFBUVFRUUFBQkJC
QVlJZ0ZOZUJXbFZqcFgvSWhDCklhVFQ2VVpId2NQVDhxcFo3Vm9mUklzUTVpdHJGcXpMTDcrOHgz
WG5uWGZHaHovODRYaktVNTRTQngxMFVNeWJOeS9lOWE1M2hSY3MKL1BLWHZ4elBlYzV6NHRCREQ0
MHp6enl6OXpPY0lJQUFBZ2dnZ0FBQ0NDQ0F3QkFKRkk0ZTNTaUtJcTJFWGppQXBKWFFGVHp5c1JY
UQp2VUo2U2lMalgydEtLeUJlMmZ5TU04NUlDd3orNUNjL1NaV09VMDQ1Slk0NTVwaTBHbm8vNVQ3
NzdCTmYvL3JYNDhsUGZuTHNzY2NlCjhiU25QYTMvYmM0UlFBQUJCQkJBQUFFRUVFQmdtZ3U0dXBG
R2VxaXJsWE5HVjFQeGRsd0pVZm1qMEd1MzVRb2lvK2s2dmRBMnBXTkEKamozMjJKZzdkMjQ0ZkJ4
KytPRngvZlhYeDNISEhiZFkrQmg3ZEtUdVY5dHR0MTJjZDk1NVZSTkhCQkJBQUFFRUVFQUFBUVFR
R0JLQgpzaXpVM1VvVkVCMmpXNmo2MFltdUFranFlcVhna2FzNWQxK3N2a0hvVTFvQm1URmpSaHJy
Y2ZmZGQ4ZG1tMjAyS2JiNTgrZkhYWGZkCk5hbHJ1UWdCQkJCQUFBRUVFRUFBQVFTbWowRE5sUTZs
amJLc3hXaVJhUnlJWG12M09KQjByZ0RpTUtJZVdyMXRTaXNndm11bXFiZ20KR3o1dXZmWFd1UEhH
RzJQZmZmZnRmU0JPRUVBQUFRUVFRQUFCQkJCQVlFZ0VGRFk4QTFhZWw2cDhGSkdyNzFWYlpZOU91
NU9DaWJ0bwplU3pJNk1vYWhENElrOHN6bmdWcm80MDJpZ01PT0dDUUgrVmFCQkJBQUFFRUVFQUFB
UVFRbUFZQ21nUXIyaTZCcUl1VnhwNXIzSWVICnBOY2pMek8xcS91VkFraDd2RXBTZmR3cHI0QlVO
MzYwNDkvKzlyZDR4U3RlRVZkZmZYVmNjTUVGS1lRODJ2Vzhod0FDQ0NDQUFBSUkKSUlBQUF0TlBv
S3QrVmc0VXVjZDlhTG9yaDVBOHpZSTFWZ0Z4enl1M3FTRFMyLzZoQWFUYjdjYm5QLy81Mkg3Nzdj
TmpQeTY2NktKNAo2bE9mMnZzd25DQ0FBQUlJSUlBQUFnZ2dnTUR3Q0pRYWZoRmFBYjJWVmovUHRB
aWhGaDNVZWJPaGN5OUNxQVVJWjdTMGoweDhweWtkCmhENXgyNG16Ung1NUpMNy8vZS9IdDcvOTdi
anV1dXRpcDUxMmlnc3Z2REIyM1hYWGlZczRRd0FCQkJCQUFBRUVFRUFBZ2VFVGNNalEKcmdMSTJP
cm50VkpoSktLcFlPSUE0Z1hRNjNxdjFWZjJXT2tCNUtHSEhvcE5OdGtrVGp2dHRIUWNQbFUrTVFJ
SUlJQUFBZ2dnZ0FBQwpDQ3hKb0taS1IwMFZrTXlwUWdQTm02MW0xRlVHcVN1VnVNMEZFbGRCaXI1
QjZDczlnR3k4OGNiaG5RMEJCQkJBQUFFRUVFQUFBUVJXCk13RlZPV3FhYURlcktYQm9FY0o2ZExU
cnRYWjN4VkllQ1IzU1huM3psUjVBcWdkeFJBQUJCQkJBQUFFRUVFQUFnZFZNUU1HanJyMVUKN0ZB
eFpDeHMxRE9kSzR5b0s1YXloNEtJQnFacnI3YSszbGhWRTBjRUVFQUFBUVFRUUFBQkJCQkFZTmtD
cGNaOFpBb2M2b1dWeG9DNAoydUhxUjZaMmp3MXBxZ0tTam4ycG8rOTAyUS9nQ2dRUVFBQUJCQkJB
QUFFRUVFQ2dKNkJLaHdvZ3FkcVJLWVUwVk81dzE2dUdVa2RkCjRjTmhvK1pLaUs2cE5nSklKY0VS
QVFRUVFBQUJCQkJBQUFFRUJoTFFCRmRwQml5dmhwNkNpSUpIVTMydlZCU0p6RE5qS1hnME5PakQK
QTlHcmpRQlNTWEJFQUFFRUVFQUFBUVFRUUFDQmdRUzg3a2VwbGM0VlA2SlFDT2wwdXRGUjhQQzB2
R3BXdXhZaTFDS0VlZDhzV0FTUQpnWWk1R0FFRUVFQUFBUVFRUUFBQkJIb0NoYU5ITjRxaTBFcm9t
bTdYQVNTdGhLN2drWSt0Z083MmxFVEdmMmlsQnBBYmJyZ2hQdm5KClQ4WWYvL2pIM21ma0JBRUVF
RUFBQVFRUVFBQUJCRllQQVZjMzBrZ1BUY0hybk5IVnNlTktpTW9maFY2N0xWY1FHVTNYNllXMmxS
cEEKVGo3NTVEam1tR1BpMy8vOTM4ZWV4cDhJSUlBQUFnZ2dnQUFDQ0NDdzJnaVVaYUh1VnFxQTZC
amRRdFdQVG5RVlFCdzhYQUhKMVp5NwpMOVkvYWhENjVwdHZubkJaaUhDMStYK01MNElBQWdnZ2dB
QUNDQ0NBUUUrZzVrcUgwa1paMW1LMHlEUU9SSysxZXh4SU9sY0FjUmhSCkQ2M2V0bElySUU5NHdo
UFNnK2JNbWRON0lDY0lJSUFBQWdnZ2dBQUNDQ0N3bWdnb2JIZ0dyRHd2VmZrb0lsZmZxN2JLSHAx
Mkp3VVQKZDlGeUpXVDBIelVJdmFxQWJMSEZGcXVKTUY4REFRUVFRQUFCQkJCQUFBRUVLZ0V2Y041
MkNVUmRyRFQyWE9NK1BDUzlIbm1acVYzZApyeFJBMnVOVmt1cG5WbW9GWkpOTk5rblBxWTdWUXpr
aWdBQUNDQ0NBQUFJSUlJREE4QXQwMWMvS2dTTDN1QTlOZCtVUWtxZFpzTVlxCklPNTU1VFlWUkhx
YmxnVlplVnMxOW1QVFRUZGRlUS9oemdnZ2dBQUNDQ0NBQUFJSUlMQktCRXF0aEI1YUFiMmxwM2ZT
SW9SYWRGQ3IKRHpZYldUUlZGZkVDaERQMFpuZGs0dU90MUFySTdObXowNU0yMkdDRGlTZHloZ0FD
Q0NDQUFBSUlJSUFBQXF1SGdFT0c5cHA2WWFYVgp6M1hTVXIrc3BvS0pBNGdYUUsvcnZWWmY2dWc3
blhvREFzalVtM0pIQkJCQUFBRUVFRUFBQVFTbWkwQk5sWTZhS2lDWlU0aTJacXNaCmRTMlBYdGZy
VEgydFhDQnhGY1RocE5yNlRxdW1xVHMybTgyWU5XdFd6Snc1YytwdXlwMFFRQUFCQkJCQUFBRUVF
RUJnZWdpNCtxR0oKZHBWQnRHY2FmbDZtM2NzU05sUUpVUjRKOWNoS2UvV0JWK29ZRUQrRUFlZ1ZO
VWNFRUVBQUFRUVFRQUFCQkZZemdWcE40Y0lScEI0cQpob3lGRFpVN0dpcDkxQlZBWEJkeEVNbTFW
OXRLcllENElmdnZ2My8xTEk0SUlJQUFBZ2dnZ0FBQ0NDQ3dHZ21VR3ZPUktYQzRBdUp1ClZxNTJ1
UHFScWQyOXN0UWhhdXpZbHpyNlRsZU94Q2MvK2NtVmMyUHVpZ0FDQ0NDQUFBSUlJSUFBQXF0V1FK
VU9GVUJTdFNOVENtbW8KM09GWnNCcEtIM1dGRDRlTm1pc2h1cWJhVm1vQXVldXV1K0t6bi8xczNI
bm5uZFh6T0NLQUFBSUlJSUFBQWdnZ2dNQnFJcUFKcmtKTApnS1RWMEZNUVVmQm9xdStWcXlHWlo4
WlM4R2hvMEljSG9sZmJTZzBncjM3MXErUDFyMzk5K01pR0FBSUlJSUFBQWdnZ2dBQUNxNWVBCkpy
eFMrTkN1MFI2RmtraW4wNDJPZ29kRGlaclZydlZCdEFoaDNwNzQzaXMxZ0ZUcmYyeTQ0WVlUVCtR
TUFRUVFRQUFCQkJCQUFBRUUKVmcrQnd0R2pHMFZSYUNYMGlNSUJKSzJFcnVDUmo2MkE3dmFVUk1h
LzhVb05JT2VjYzA1Y2R0bGw0U01iQWdnZ2dBQUNDQ0NBQUFJSQpyRjRDcm02a2tSNmFndGM1bzZ0
ang1VVFsVDhLdlhaYnJpQXltcTdUQzIwcmRScmVoanA4UGYzcFR4OTdFbjhpZ0FBQ0NDQ0FBQUlJ
CklJREFhaVZRbG9XNlc2a0M0akpIdDZicVJ5ZTZDaUFPSHE2QTVFb2h1ZnRpL2FNR29hOVd1bnda
QkJCQUFBRUVFRUFBQVFRUVdFaWcKNWtxSDBrWloxbUsweURRT1JLKzFleHhJT2xjQWNSaFJENjNl
dGxLN1lQV2V3Z2tDQ0NDQUFBSUlJSUFBQWdpc2ZnSUtHNlVxSG5sZQpxdkpSUks2K1YyMlZQVHJ0
VGdvbTdxTGxTc2pvVkF4Q3YrcXFxK0xpaXk5ZS9SRDVSZ2dnZ0FBQ0NDQ0FBQUlJSURBcEFTOXcz
bllKClJGMnNOUFpjNHo0OEpMMGVlWm1wWGQydkZFRGE0MVdTNm9iTFhRRzU4c29yNDZLTExxcnV3
eEVCQkJCQUFBRUVFRUFBQVFUV01JR3UKK2xrNVVPUWU5NkZ4SUE0aGVab0ZhNndDNHA1WGJsTkJw
TGV0MUVIb3ZhZHdnZ0FDQ0NDQUFBSUlJSUFBQXF1ZFFLbVYwRU1yb0xmMAp6VHBwRVVMTmNxWFZC
NXVOTEpwZWhGQUxFTTdRbTkyUmlhKyszQldRaVZ0d2hnQUNDQ0NBQUFJSUlJQUFBbXVrZ0VPRzlw
cDZZYVhWCnozWFNVcitzcG9LSkE0Z1hRSy9ydlZaZjZ1ZzdYU1BKK05JSUlJQUFBZ2dnZ0FBQ0ND
Q3duQUkxVlRwcXFvQmtUaUhhbXExbTFMVTgKZWwydk0vVzFjb0hFVlJDSGsycGJvUzVZbDE1NmFa
eCsrdW5WdlpaNm5EbHpacnpwVFc5YTZ2dThnUUFDQ0NDQUFBSUlJSUFBQWtNbwo0T3FISnRyTmFn
b2NXb1N3SGgzdGVxM2RYYkdVUjBLSHRGZmZicmtEeUY1NzdSV1BQUEpJZFo5SFBkYjBnZGdRUUFB
QkJCQkFBQUVFCkVFQmdOUlBRNy9sMTdhVmloNG9oWTJGRDVZNkdTaDkxZGNWeUNtam9tSHU2clBG
dHVRUElMcnZzRXQ3WkVFQUFBUVFRUUFBQkJCQkEKWU0wVUtEWG1JMVBneURUVGxidFp1ZHJoNmtl
bTlvYUNTVk1WRVBmT2F2WjF3ZW83WFRQUitOWUlJSUFBQWdnZ2dBQUNDQ0N3bkFLcQpkTGl6azZz
ZG1jYUNORlR1Y05lcmhsSkhYZUhEWWFQbVNvaExJZU1iQWFTUzRJZ0FBZ2dnZ0FBQ0NDQ0FBQUlE
Q1dpQ3E5QVNJR2sxCjlCUkVGRHlhU2lPdWhtU2VHVXZCbzZFK1Z4NklYbTBFa0VxQ0l3SUlJSUFB
QWdnZ2dBQUNDQXdrb0FtdkZENjBhN1JIb1NUUzZYU2oKbytEaFVLSm10V3Q5RUMxQ21MY25ia3NB
bWJEZ0RBRUVFRUFBQVFRUVFBQUJCQVlSS0J3OXVsRVVoVlpDanlnY1FOSks2QW9lK2RnSwo2RzVQ
U1dUOHZzczlDSDJRejhXMUNDQ0FBQUlJSUlBQUFnZ2dzUG9KdUxxUlJucW9xNVZ6UmxkVDhYWmND
Vkg1UStQU1UxdXVJREthCnJ2TzE2bzQxZHVCUEJCQkFBQUVFRUVBQUFRUVFRR0F3Z2JJczFOMUtG
UkNYT2JvMVZUODYwVlVBY1JoeEJTUlhDc25kRjR0QjZJUEIKY2pVQ0NDQ0FBQUlJSUlBQUFnZ3NM
bEJ6cFVOcG95eHJNVnBrR2dlaTE5bzlEaVNkSzRBNGpLaUhWbTlqREVpUGdoTUVFRUFBQVFRUQpR
QUFCQkJBWVNFQmhvMVRGSTg5TFZUNkt5TlgzcXEyeVI2ZmRTY0hFWGJSY0NSbGxFUHBBckZ5TUFB
SUlJSUFBQWdnZ2dBQUNTeER3CkF1ZHRsMERVeFVwanp6WHV3MFBTNjVHWG1kclYvVW9CcEQxZUph
bCtuQXBJSmNFUkFRUVFRQUFCQkJCQUFBRUVCaExvcXArVkEwWHUKY1I4YUIrSVFrcWRac01ZcUlP
NTU1VFlWUkhvYmc5QjdGSndnZ0FBQ0NDQ0FBQUlJSUlEQUlBS2xWa0lQcllEZTBnOTEwaUtFbXVW
SwpxdzgyRzFrMHZRaWhGaUNjb1RlN0l4TjNwUUl5WWNFWkFnZ2dnQUFDQ0NDQUFBSUlEQ0xna0tH
OXBsNVlhZlZ6bmJUVUw2dXBZT0lBCjRnWFE2M3F2MVpjNitrNEhlUkxYSW9BQUFnZ2dnQUFDQ0ND
QXdKb3VVRk9sbzZZS1NPWVVvcTNaYWtaZHk2UFg5VHBUWHlzWFNGd0YKY1RpcHRsWFdCZXZhYTYr
TkN5KzhNTGJZWW9zNDlOQkRvOUZZWlIrbHN1Q0lBQUlJSUlBQUFnZ2dnQUFDZ3dpNCtxR0pkck9h
QW9jVwpJYXhIUjd0ZWEzZFhMT1dSMENIdDFXMzdza2pWdFBLUDU1NTdicHg0NG9teDg4NDd4ODAz
M3h5SEhISklXcjU5NVQrWkp5Q0FBQUlJCklJQUFBZ2dnZ01DVUNTaDQxTk5lajRZcUlTbHNxTnpS
VU9tanJxNVlyb3MwZE13OFhkYjR0a29DeU9tbm54N25uSE5PUE9jNXo0a1QKVGpnaGR0eHh4MVFO
cVQ0VVJ3UVFRQUFCQkJCQUFBRUVFSmorQXFYR2ZHUUtITW9lcVp1VkE0aXJINW5hM1N1cnFRcElP
dmFsanI3VApmOXdYSEJrWmliWFdXcXYzd0cyMzNUYis5cmUvOVY1emdnQUNDQ0NBQUFJSUlJQUFB
a01nb0VxSENpQ3AycEVwaFRSVTduRFhxNFpTClIxM2h3MkdqNWtxSXJxbTJWUkpBbnZTa0o4V1h2
dlNsTkZmd0hYZmNrYzZmL2V4blY1K0pJd0lJSUlBQUFnZ2dnQUFDQ0F5QmdDYTQKQ2kwQmtsWkRU
MEZFd2FPcHZsZHBSaXpQaktYZzRhSGVIb2hlYmFza2dIejR3eCtPYTY2NUp2YmZmLzk0M2V0ZUZ4
Lzg0QWRqczgwMgpxejRUUndRUVFBQUJCQkJBQUFFRUVCZ0NBVTE0cGZDaFhhTTlDaVdSVHFjYkhR
VVBoeEkxcTEzcmcyZ1J3cnc5OFdWV3lkUlQ3bjdsCmNTQnNDQ0NBQUFJSUlJQUFBZ2dnTU1RQ2hh
T0hRb2RXT3kvTGVoUU9JR2tsZEFXUGZHd0Y5QkduRU8vajJ5b0pJTlhET1NLQUFBSUkKSUlBQUFn
Z2dnTUR3Q3JpNmtVWjZxS3VWTTBaWFUvRjJYQWxSK1VPWkpMWGxDaUtqNlRwZnErNVlZd2YrUkFB
QkJCQkFBQUVFRUVBQQpBUVFHRXlqTFF0MnR1bEdVaWgvZG1xb2ZuZWdxZ0RpTXVBS1NLNFhrN291
MXFnZWhEL2ExdUJvQkJCQkFBQUVFRUVBQUFRU21vMEROCmxRNmxqYktzeFdpUmFSeUlYbXYzT0pC
MDdxNVordUNGeXlIajJ5b1poRjQ5bkNNQ0NDQ0FBQUlJSUlBQUFnZ01zWURDUnFtS1I1NlgKcW53
VWthdnZWVnRsajA2N2s0S0p1Mmk1RWpMYU53aWRBRExFZjk5OGRBUVFRQUFCQkJCQUFBRUVWcVdB
RnpodnV3U2lMbFllaUY2awpJZW4xeU10TTdlcCtwUURTSHErU1ZKK1RBRkpKY0VRQUFRUVFRQUFC
QkJCQUFJR0JCTHJxWitWQWtYdmNoOGFCT0lUa2FSYXNzUXFJCmUxNjVUUVdSM3NZZzlCNEZKd2dn
Z0FBQ0NDQ0FBQUlJSURDSVFLbVYwRU1yb0xmMFE1MjBDS0ZtdWRMcWc4MUdGazB2UXFnRkNHZm8K
emU3SXhGMnBnRXhZY0lZQUFnZ2dnQUFDQ0NDQUFBS0RDRGhrYUsrcEYxWmEvVnduTGZYTGFpcVlP
SUI0QWZTNjNtdjFwWTYrMDBHZQp4TFVJSUlBQUFnZ2dnQUFDQ0NDd3BndlVWT21vcVFLU09ZVm9h
N2FhVWRmeTZIVzl6dFRYeWdVU1YwRWNUcXF0NzdScTRvZ0FBZ2dnCmdBQUNDQ0NBQUFJSVRFTEEx
UTlOdEtzTW9qMkx1czY5WjlvYnFvUW9qNFI2WktXOXVodGpRQ29KamdnZ2dBQUNDQ0NBQUFJSUlE
Q1kKUUsybWNPRUlVZzhWUThiQ2hzb2REWlUrNmdvZ3JvczRpT1RhcTQwS1NDWEJFUUVFRUVBQUFR
UVFRQUFCQkFZU0tEWG1JMVBnY0FYRQozYXhjN1hEMUkxTzdlMlUxVlFGSng3N1UwWGM2MExPNEdB
RUVFRUFBQVFRUVFBQUJCTlowQVZVNlZBQkoxWTVNS2FTaGNvZG53V29vCmRkUVZQaHcyYXE2RTZK
cHFJNEJVRWh3UlFBQUJCQkJBQUFFRUVFQmdJQUZOY0JWYUFpU3RocDZDaUlKSFUzMnZYQTNKUERP
V2drZEQKZ3o0OEVMM2FDQ0NWQkVjRUVFQUFBUVFRUUFBQkJCQVlTRUFUWGlsOGFOZG9qMEpKcE5Q
cFJrZkJ3NkZFeldyWCtpQmFoREJ2VDl5VwpBREpod1JrQ0NDQ0FBQUlJSUlBQUFnZ01JbEE0ZW5T
aktBcXRoQjVST0lDa2xkQVZQUEt4RmREZG5wTEkrSDJaQldzUVlLNUZBQUVFCkVFQUFBUVFRUUFD
Qm5vQ3JHMm1raDdwYU9XZDBOUlZ2eDVVUWxUOEt2WFpicmlBeW1xN1RDMjBFa0RFSC9rUUFBUVFR
UUFBQkJCQkEKQUlFQkJjcXlVSGNyVlVCYzV1aldWUDNvUkZjQnhNSERGWkJjS1NSM1h5d0dvUThv
eStVSUlJQUFBZ2dnZ0FBQ0NDQ3dtRURObFE2bApqYktzeFdpUmFSeUlYbXYzT0pCMHJnRGlNS0ll
V3IyTk1TQTlDazRRUUFBQkJCQkFBQUVFRUVCZ0lBR0ZqVklWanp3dlZma29JbGZmCnE3YktIcDEy
SndVVGQ5RnlKV1NVUWVnRHNYSXhBZ2dnZ0FBQ0NDQ0FBQUlJTEVIQUM1eTNYUUpSRnl1TlBkZTRE
dzlKcjBkZVptcFgKOXlzRmtQWjRsYVQ2Y1NvZ2xRUkhCQkJBQUFFRUVFQUFBUVFRR0VpZ3EzNVdE
aFM1eDMxb0hJaERTSjVtd1JxcmdMam5sZHRVRU9sdApERUx2VVhDQ0FBSUlJSUFBQWdnZ2dBQUNn
d2lVV2drOXRBSjZTei9VU1lzUWFwWXJyVDdZYkdUUjlDS0VXb0J3aHQ3c2premNsUXJJCmhBVm5D
Q0NBQUFJSUlJQUFBZ2dnTUlpQVE0YjJtbnBocGRYUGRkSlN2NnltZ29rRGlCZEFyK3U5VmwvcTZE
c2Q1RWxjaXdBQ0NDQ0EKQUFJSUlJQUFBbXU2UUUyVmpwb3FJSmxUaUxabXF4bDFMWTllMSt0TWZh
MWNJSEVWeE9HazJ2cE9xeWFPQ0NDQUFBSUlJSUFBQWdnZwpnTUFrQkZ6OTBFUzd5aURhTXcwL0w5
T2U2ZGhRSlVSNUpOUWpLKzNWM1JnRFVrbHdSQUFCQkJCQUFBRUVFRUFBZ2NFRWFqV0ZDMGVRCmVx
Z1lNaFkyVk81b3FQUlJWd0J4WGNSQkpOZGViVlJBS2dtT0NDQ0FBQUlJSUlBQUFnZ2dNSkJBcVRF
Zm1RS0hLeUR1WnVWcWg2c2YKbWRyZEs2dXBDa2c2OXFXT3Z0T0Juc1hGQ0NDQUFBSUlJSUFBQWdn
Z3NLWUxxTktoQWtpcWRtUktJUTJWT3p3TFZrT3BvNjd3NGJCUgpjeVZFMTFRYkFhU1M0SWdBQWdn
Z2dBQUNDQ0NBQUFJRENXaUNxOUFTSUdrMTlCUkVGRHlhNm52bGFram1tYkVVUEJvYTlPR0I2TlZH
CkFLa2tPQ0tBQUFJSUlJQUFBZ2dnZ01CQUFwcndTdUZEdTBaN0ZFb2luVTQzT2dvZURpVnFWcnZX
QjlFaWhIbDc0cllFa0FrTHpoQkEKQUFFRUVFQUFBUVFRUUdBUWdjTFJveHRGVVdnbDlJakNBU1N0
aEs3Z2tZK3RnTzcybEVURzc4c3NXSU1BY3kwQ0NDQ0FBQUlJSUlBQQpBZ2owQkZ6ZFNDTTkxTlhL
T2FPcnFYZzdyb1NvL0ZIb3RkdHlCWkhSZEoxZWFGdG1BRG43N0xQSHJ1UlBCQkJBQUFFRUVFQUFB
UVFRCldPMEZYdktTbDhUNjY2OC9xZTlabG9XNlc2a0M0akpIdDZicVJ5ZTZDaUFPSHE2QTVFb2h1
ZnRpOVExQ1gyWUE4WlA5SWRnUVFBQUIKQkJCQUFBRUVFRUFBZ1g2Qm1pc2RTaHRsV1l2Ukl0TTRF
TDNXN25FZzZWd0J4R0ZFUGJSNjJ6SUR5RkZISGRXN21CTUVFRUFBQVFRUQpRQUFCQkJCQW9DZWdz
RkdxNHVGdVZ0MXVFYm42WHJWVjl1aTBPd29talRRQTNaV1FVUWFoOThnNFFRQUJCQkJBQUFFRUVF
QUFnZVVVCjhBTG5iWmRBMU1WS1k4ODE3c05EMHV1Umw1bmExZjFLWXovYTQxV1M2aEhNZ2xWSmNF
UUFBUVFRUUFBQkJCQkFBSUdCQkxycVorVkEKa1h2Y2g4YUJPSVRrYVJZc1YwQWNTTWFDaVFvaXZX
MlpYYkI2VjNLQ0FBSUlJSUFBQWdnZ2dBQUNDUFFKbEZvSlBiUUNla3R0bmJRSQpvV2E1MHVxRHpV
WVdUUzlDcUFVSVorak43c2pFRDFFQm1iRGdEQUVFRUVBQUFRUVFRQUFCQkFZUmNNalFYbE8xSTYx
K3JwT1crbVUxCkZVd2NRTHdBZWwzdnRmcFNSOS9wSUUvaVdnUVFRQUFCQkJCQUFBRUVFRmpUQldx
cWROUlVBY21jUXJRMVc4Mm9hM24wdWw1bjZtdmwKQW9tcklBNG4xZFozV2pWeFJBQUJCQkJBQUFF
RUVFQUFBUVFtSWVEcWh5YmFWUWJSbm1uNGVabjJUTWVHS2lIS0k2RWVXV212N3NZWQprRXFDSXdJ
SUlJQUFBZ2dnZ0FBQ0NBd21VS3NwWERpQzFFUEZrTEd3b1hKSFE2V1B1Z0tJNnlJT0lybjJhcU1D
VWtsd1JBQUJCQkJBCkFBRUVFRUFBZ1lFRVNvMzV5QlE0WEFGeE55dFhPMXo5eU5UdVhsbE5WVURT
c1M5MTlKME85Q3d1UmdBQkJCQkFBQUVFRUVBQWdUVmQKUUpVT0ZVQlN0U05UQ21tbzNPRlpzQnBL
SFhXRkQ0ZU5taXNodXFiYUNDQ1ZCRWNFRUVBQUFRUVFRQUFCQkJBWVNFQVRYSVdXQUVtcgpvYWNn
b3VEUlZOOHJWME15ejR5bDROSFFvQThQUks4MkFrZ2x3UkVCQkJCQUFBRUVFRUFBQVFRR0V0Q0VW
d29mMmpYYW8xQVM2WFM2CjBWSHdjQ2hSczlxMVBvZ1dJY3piRTdjbGdFeFljSVlBQWdnZ2dBQUND
Q0NBQUFLRENHaTU4NXFpUmxFVVdnbGRLNTg3Z0tTVjBCVTgKOGdpdmdPNzJsRVRHNzhzc1dJTUFj
eTBDQ0NDQUFBSUlJSUFBQWdqMEJGemRTQ005MU5YS09hT3JxWGc3cm9Tby9GSG90ZHR5QlpIUgpk
SjFlYUNPQWpEbndKd0lJSUlBQUFnZ2dnQUFDQ0F3b1VKYUZ1bHVwQXVJeVI3ZW02a2NudWdvZ0Ro
NnVnT1JLSWJuN1lqRUlmVUJaCkxrY0FBUVFRUUFBQkJCQkFBSUhGQkdxdWRDaHRsR1V0Um90TTQw
RDBXcnZIZ2FSekJSQ0hFZlhRNm0yTUFlbFJjSUlBQWdnZ2dBQUMKQ0NDQUFBSURDU2hzbEtwNDVI
bXB5a2NSdWZwZXRWWDI2R2p3aDRPSnUyaTVFakxLSVBTQldMa1lBUVFRUUFBQkJCQkFBQUVFbGlE
ZwpCYzdiVGhycVlxV3g1eHIzNFNIcDljakxUTzNxZnFVQTBoNnZrbFEvVGdXa2t1Q0lBQUlJSUlB
QUFnZ2dnQUFDQXdsMDFjL0tnU0wzCnVBK05BM0VJeWRNc1dHTVZFUGU4Y3B0bnc2bzJCcUZYRWh3
UlFBQUJCQkJBQUFFRUVFQmdJSUZTSzZHSFZrQnY2YWM2YVJGQ3pYS2wKMVFlYmpTeWFYb1JRQ3hE
TzBKdmRrWW5iVWdHWnNPQU1BUVFRUUFBQkJCQkFBQUVFQmhHa2hQbkdBQUFnQUVsRVFWUnd5TkJl
VXkrcwp0UHE1VGxycWw5VlVNSEVBOFFMb2RiM1g2a3NkZmFlRFBJbHJFVUFBQVFRUVFBQUJCQkJB
WUUwWHFLblNVVk1GSkhNSzBkWnNOYU91CjVkSHJlcDJwcjVVTEpLNkNPSnhVVzk5cDFjUVJBUVFR
UUFBQkJCQkFBQUVFRUppRWdLc2ZtbWhYR1VSN3B1SG5aZG96SFJ1cWhDaVAKaEhwa3BiMjZHMk5B
S2dtT0NDQ0FBQUlJSUlBQUFnZ2dNSmhBcmFadzRRaFNEeFZEeHNLR3loME5sVDdxQ2lDdWl6aUk1
TnFyalFwSQpKY0VSQVFRUVFBQUJCQkJBQUFFRUJoSW9OZVlqVStCd0JjVGRyRnp0Y1BValU3dDda
VFZWQVVuSHZ0VFJkenJRczdnWUFRUVFRQUFCCkJCQkFBQUVFMW5RQlZUcFVBRW5Wamt3cHBLRnlo
MmZCYWloMTFCVStIRFpxcm9Ub21tb2pnRlFTSEJGQUFBRUVFRUFBQVFRUVFHQWcKQVUxd0ZWb0NK
SzJHbm9LSWdrZFRmYTljRGNrOE01YUNSME9EUGp3UXZkcFdLSURjZWVlZDhhYy8vVWxMclBldExG
TGRlWWlQM1c0Mwo1czJicCtYa3RXd2oyMUFJK1AvQkJ4OThjQ2crS3g4U0FRUVFRQUFCQkJCWVhR
UTA0WlhDaDNhTjlpaVVSRHFkYm5RVVBCeEsvSnUwCkRtclRHSkQyeERjZU9JQTRkQng3N0xIeGpH
YzhJejcwb1EvRkQzLzR3M2pUbTk0VSsrMjNYeHgzM0hGeDVwbG54cmUrOWEySkp3elIKMmUyMzN4
Ny8rcS8vcXI1cXpWaDMzWFhqamp2dUdLSlB2MlorMUVzdnZUUU9PZVNROUhlMjIyNjdyWmtJZkdz
RUVFQUFBUVFRUUdCVgpDUlNPSHQwb2lrSXJvVWNVRGlCcEpYUUZqM3hzQlhTM3B5UXkvaGtIQ2lB
WFgzeHhiTGZkZHRGcXRlTG5QLzk1ZlBTakg0MjN2T1V0CmNmYlpaOGZuUC8vNXVPS0tLMUk0K2NV
dmZyR3FDRmJvdVZ0c3NVVUtVTHZzc2t1Nno4eVpNMWZvZmxQMXc1ZGNjc2xVM1dyUzkxa1YKejV6
TWgxdjBjKzI5OTk3eHRhOTlMUVdRNmZMM05abnZ3VFVJSUlBQUFnZ2dnTURxSUREV0VVcVJRbFB3
T21kMGRleTRFcUx5UjZIWApic3NWUkViN09reE5Pb0M0cTlVQkJ4eVEvclg1OU5OUFg4ekx2N3ov
K01jL2prMDMzWFN4OTRhdFlmMzExMDhmZVdTa2I4MzRWZlFsCmJyenh4amp3d0FQL29VOWZGYy84
LyszZGQ1d2M5WG5IOFdkbmkwNjlJaUV3U0JSak9xWVlVeHd3Q0JNTUFVeXhLUWFaYWd3a2dFaW8K
Z1NCc2c0TU5saWdPQkZGQ2lXbWloUmdUWW9SdFNDQlVBOFpnMDVzTXlCS29JVzJkUE4vZmFWWnpo
OHF0N2c3ZG5qNi8xMnMwczdPegpzN3R2NlkvOTZ2bVZqbnpCcFgydW5IY3MxTitWZ2pFTkFRUVFR
QUFCQkJCQTRMTVRpT09xZDdmeUNvanZyVllOUXpOcUhrQVVQRlFCCktmdnBzdnBpcmNnZzlBa1RK
dGdubjN4aWYvLzNmNy9VYnpSZ3dBQTc4Y1FUbC9wOHN6d1JhY2xHYi9waHU3TGJIWGZjOFpuL3NG
NFoKNzlrUjUyVjlyb3lQZWtyKzNqcHlMNjVCQUFFRUVFQUFBUVFRNkx4QVJwVU9UeHR4bkxGaU5m
SnhJUDdZTjQwRENjY2VRQlJHdklkVwp2WFhvRi9ZYmI3eGh2L3psTDIyYmJiYXh6VGJiclA3aUpS
MW9MSWk2YXJWdjZoZjI0SU1QMm9zdnZoaUNqTHB5N2JycnJqWnk1TWo2CnBYLzV5MS9DTlRObnpn
ejl5RTQ1NVJTYk5XdFdPUGVIUC96Qjl0eHpUL3Z5bDcvczAzajVJQmUvbjdwNmFReUsvdmQ3Ly8z
M3Q4OS8KL3ZQMWU3Mzg4c3ZoZWIxK3JiWFdzZ01QUE5DZWV1b3ArODF2Zm1Pelo4OE8zMld2dmZi
eUtjTlNxNkxVWDkxNnNLVG5TcVdTVFpzMgp6WjU1NXBud3ZydnZ2cnR0dXVtbTlWZSs5TkpMOXRw
cnI5VWY2MERYTEZpd0lIUmJTNTdRLzlici9OTGF2SG56N0IvLzhSL3RxcXV1CnNuNzkrdGwvL3Vk
L2hrdjFYbVBIanEyL3JDcy96dzQ3N05DaDk2eS8rYUtEemxycnV6NzU1SlAyN0xQUG12NE42Ti9H
d1FjZkhIejEKRmgyMVNBTEkrKysvYjcvKzlhL0QvZFpmZi8wd1BtbWRkZFpwLzdGNWpBQUNDQ0NB
QUFJSUlOQlpBUThic1ZjODFNMnE1aFdRc3ZlOQpLbm5abzFLcWVEREpoUUhvcW9RVUd4MkVmdDk5
OTRXUHRyendvWXUyMzM1N08rT01NOXA4bGQvLy92Y2hPUHp1ZDcrejczM3ZlM2I2CjZhZjdoeXpi
NXB0dmJyZmVlbXY5Mmo1OStvUWZtNnEyL1BTblB6V0Zqb2tUSjlxd1ljTnN4b3daWWVDN0hzYytr
a1ZqVC9SRFg0UGgKRlVLMjNITEw4Q00ydVpsK3RPdjlUajMxVkx2enpqdkRmUlFheG84Zkg3cVJu
WGZlZVRadTNMandnemQ1emZMMkNtSmYrY3BYUW9nNQo5dGhqdzQva0N5NjR3SGJlZWVmd2ZmUjZ2
YS9HeCt5OTk5NWhVOWhSa0ZIZzBDQjNuZGZnZlFXUzVUVmRPMkxFaUJDNEZMSzBwVU5SCmQzeWU1
YjNua2o3emlscnI3L0djYzg0SjMzSCsvUG5oNzFSL1h3cGRXMis5dFJXTHhmcmJkZlJ6S1dUcW5v
TUhEN1pkZHRrbC9QdlMKdjQxbUhaZFVCK0FBQVFRUVFBQUJCQkRvZ1FMNnIveVNTaURleGNySG52
dTREdzFKejFvNWp2eThkNy95c1IrbFJWV1Mrc2YzSDRITApiVDdMbFNvbjhibm5ucnZjYTl0ZnNI
RGh3bmk5OWRhTER6dnNzUFpQeFJkZGRGSHMxWXpZWnpKcTg1ei9EM2pzNHpEaTczLy8rMjNPCmYr
MXJYNHNIRGh3WWUwQ0pYM2poaGZwemI3NzVadmg4N2Qvand3OC9ET2Y5QjNKOC9mWFgxNi9YZ1k4
bkNNOGRjOHd4YmM3cmdWZHgKd25OZVphay81NVdHMkNzc3NmL1BmUDJjRHZ5SGMrd1ZsdGhuQm10
ejNydXFoWHRjZmZYVjlmUC85bS8vRm5zVko5YTlPdHI4Zi9EagoxVmRmL1ZPWGQrZm5XZHA3ZnVw
RHBFNnNpTFdQR1FwR1BvdFY2azV4N0JNYWhQUDMzSE5QbS9QTCtsdythMW04OXRwcngwY2ZmWFNi
CjEvalV2TEVIdDlpcmJXM084d0FCQkJCQUFBRUVFRUJneFFXOGEzeHMyOThYbnpIbFQvSEY5NzhY
LytDKzkrSi92UE85ZU1jZnZSbnYKYytXTStJaGJpL0dFLzQ3ajh4NlA0NHRlak9PSnZ0ZHZkYjJ1
UTRQUTFhVkZUZjhiMzJpYlBIbHlxRlQ0RDhOUHZmU29vNDRLNHl4VQo4VWkzdm4zNzJrY2ZmV1I2
UHQyKzlLVXZoZlU1OUZ5NjI5T1lNV05NNDA4OGlLUXZOOTFIVGZ0RER6MjB6WE1laWtMVnhFTkJx
SzYwCmVYSUpEL1MvOHErODhrcVk1U3Y5dFA3M1g0UHpMN3Zzc2pidmYrR0ZGNGJQZU5wcHA5bTc3
NzVySDMvOGNaaXRhZXJVcVdIR3B2UTkKVnVTNHAzMmVGYkhXMzVtbTBHMC9iaWpwbHZmT08rODBS
Q1BuTTg4OHM4MXJQTENHTGwzcUdrZERBQUVFRUVBQUFRUVE2RnFCV0dPbgpmUVgwUWxqOVBQSkZD
SDBjdFIvbmMzN3NWUkV0UU5qSDV3bnFrNXJicVVOalFOU2RSVTFyZ0RUYU5PNURUZDJ0MmpjRkd2
WE5WLzkvCkRYRFhqL21rRFJreXhEU3pWcnBwYklDYWdrajdwaWxZbDdZUW5jYXVMR21HSk4xUDR3
NzA0M1MxMVZacmY4czJqKysvLy83d1dPTlAKbm4vKytUYlA2WnlhN3BPTXo5RDdhV3BpalZsUmQ2
MDExbGdqZEwxS2ZxaTN1Y0VLUE9ocG55ZjVDbzFZYjd2dHRxWkExcjRsbmhybgowMGpUMzZmR2ZM
UnZDaUh0eCtXMHY0YkhDQ0NBQUFJSUlJQUFBaXNnb0pEaG13OERhVjM5UEJON0dESExlekJSQU5F
QzZGbC9ycEFxCmUzUW9nR3k0NFliaDA3U3ZNSFRrSTJvY2gzNk1heHpIa3RybzBhUHRUMy82VTFo
UlhYMzFrNmJ4RHUxYjhzTlU0YVI5MHdCa0x5SzEKUHgwZTZ6MlcxSVlQSHg1T3YvWFdXMHQ2dXMw
NURiVFc5OUQzYWQvMFExcGI0cFE4cjRYeHpqNzdiUE91WkhiQ0NTZTBxZG9rMTZ6bwp2cWQ5bnVS
N3JJaTFKamhRRUZFQVZWaElGb0RVZ3BDTnRDUW90MytOL20yd3FuMTdGUjRqZ0FBQ0NDQ0FBQUtk
RjhoNHBTUGpGWkJJCnFjSUhtdWNMZWN0NkdTVHJxVVRuVkNCUkZhU2FHb1RlVUFEUllQSkdtMll3
MHY5azZ3ZGdNa3RSK2g3Sm9PcXVxZ3lrNzUwY0orK1IKUEU3MnlmK3dKK3QrSk9lWHROZWdjYzA0
cFVIc2pVelB1KzY2NjRicXlvMDMzaGltTU5ianJtZzk3Zk1rMzZrUmEvMTdVdGM4QlVjRgpFQi9E
RVc3endBTVBoT3BSSTg1NllSSlFrOC9DSGdFRUVFQUFBUVFRUUtDYkJiektrZkdKZGlQdkVSVDVJ
b1JacS9qbWozMVRWeXpQCkkrYTdzQ1dmSkZVTVNVNTllcS9aaEh3Z3RPa0g0OE1QUC96cEM5cWQr
WWQvK0FmVERFMXFxZ3JvaDc0UFVtNTNWZXREZGV2U0QwMk4KeWVpdTlzRUhIeXp4MXBwWlM2MGpv
V0RqalRjTzE3NysrdXRoMzVFLzFPMUhYYVUwTFhIRmw0bjh6bmUrMDJYL0U5L1RQay9pMFlpMQpa
aEJUOXpzWkplRkQ5OUhNWVdwTEN6UGhTZjVBQUFFRUVFQUFBUVFRV1BrQ0hqeXlZY3RhemlzaElX
eGtJei8yTU9KZHNUeDdlQkR4ClNvaHZTZXRRQVBFWmhzTDRCYjFJZzZ1WDF0Vkp6MnVndHJvMGFX
eUhtcWFvVlZ2U05LajZvYW1nb29DVDdtNmoreS9yUGNJTjIvMngKck9zMVptTkp6ei8zM0hOaHpF
RDdybFBKcmRPdjBaUzlhajR6VS9KMG03MEc2cWZIaG1pYVlaOFp5eTY5OU5JUXd0UU42OUZISDdV
bApyU0xmNWtidEh1aC85Wk5LVGZxcDd2dzhTM3ZQOVBzdjdiaWoxajQ3V3JCVStHcy91VUV5WUx4
OUJXUjVueXY5OTVYK2ZFczduNzZHCll3UVFRQUFCQkJCQUFJSEdCV0lmOHhGNTRQRHNFY2FBS0lD
bytoSDVlWTBOVVkvNnNFK2xqdFRoc3QvUXA4MnkvZmJiejM3MXExK1oKanRVZHFYM1RXSTdERHo4
OC9PaE9udE9hREJyZzdkUFJKcWZxZTNWTDBnOTFyZm1SYmxyL0liMEdSUEtjZnJTcUpmdmt2UGE2
Zmtubgo5ZHpiYjc5dDZ0YVRiajcxYnhpWXJEVkoybmNOUys2VC9neGFuMkxzMkxGMi92bm5oekVy
Nlh2cGVpMGFxT2ZWOUlQM2lDT09DR3VVCnFIS2twdGRyNWk2Znl0aWVlT0tKY0s0amYyaE1oTHF4
dGY4UjNaMmZaMm52MlpIUDIxRnJqZkhSbUE4RlVDMCttRFROZkhYYmJiZUYKaCszWFNsblc1MXJh
dnhuZEtIbXV2V0h5bnV3UlFBQUJCQkJBQUFFRVZsREFLeDBaRHhxcWRrU2VRbkplN2xEWHE1eW5q
cXlIRDRXTgpqRCtuYTVLVzlZWDlKaVlQbHJYWC96NGZkTkJCSVV4b3lsa3Q3cWRwVHpWN2xhb2JW
MXh4UlFnblU2Wk1hVE43bFg1b2FuWDA2NjY3CnpuenRqYkRBbk81MSsrMjNtN3JnL1B6blB6ZXR3
SzJtaW9nV0ZkUVVzN3F2VmpiLzNPYytGNmJSVmZjdlZSUFVyU2xaeEhEVXFGR20KVmRQdnV1dXVj
Qis5Zm9zdHRqQU5oTmI3S2lUOTZFYy9DaXV1S3h6cGRacjZWUXNGSG5ua2tTRTBxRXFSTlAzZy9i
V3ZvSzN2cDljbQpzM1RwTmFyUWFDVjJWVEgwSGZYNUZGeFVFVkZWUTk5RllVUGRyUlFPZkk1ajIy
U1RUV3k3N2JZTG4xOC90Qjk3N0RIVDRIR3RhcTVaCnNWUjVXVjQzSTAwNXJQQWtNLzJBVm5WQUx0
MzVlWmIybm9uVGt2YU5XdXNlR3Zlajc2WktsRUxxTDM3eGl6QVdSQXRaS3B6cTcxQi8KbjBtRlpF
bWZTeE1TYURITHUrKytPMHpkckFVTTlmZXZDUU1VM05SbFVQODI5ZmwwWGxNMmE4WTBHZ0lJSUlB
QUFnZ2dnTUNLQzJoaQpwanNleTlrT1h4NWxRd2JrZlRYMDFrVUlwOCtKYldBLy80L212Z1h6bmZY
MXJjVi9ldmtpNmZiR3RMdkQ3OStNLzZoZDh0UlJ5L2c4Cit0R3Z2dnRQUC8xMFdKZGpvNDAyQ210
cUxHbXEzZVEycWhKTW16WXQvTmpVVytySHVicG5wV2UwMGtyaHVtZTY2WjVqdmJLZ1lKTCsKSDNI
OWVQV0ZDVTFqTXRvUGp0ZVBVRTNocXgrZytsOXpYend3QkJUOUdQVUZETU1QVVFXRDlMZ0R2YWQr
NENxY3BKdCs3T3Y3SlUxagpPWFFmcmFxdTc2R3VVSHEvcElyeW05LzhwajZHUWEvNTRoZS9HTjVI
WHUybk1WWXdTMDg5bkx4SCs3MSttR3RWZDVudHROTk9iV1lVCjY2N1BzNnozYlAvNTlMaFI2K1Fl
TWxFZ2s3Mm1MTmEvQ1UxWWNOTk5ONFdRcDZxUlZydFBXdnZQcFgrTFNaZXQ1QnI5M1dvdEVZMUgK
YWQvMVQzK1granVsSVlBQUFnZ2dnQUFDQ0t5NGdDWVErdVpQVyt6c0Nadlptc1A3ZXFlcmpDM3dW
YzhmZjcxc3F3MGZaTU9HRExDaApQZ251NEVFZVFnYWFMWmhyOXR2dkgyNzc3cnV2clZBQVdmR1Ar
dG0rTXYyaitKWmJidmxzMzN3VmV6ZXNWN0cvY0w0dUFnZ2dnQUFDCkNLelNBdlVBY3RLbTlybVJM
VmIyQ2tleGxyWC9mYVZvSTRZUDlBQXkySVlPTlJ2b3l3a084aFUwRmlxQS9LQTFnSFJvR3Q1bTFV
M1cKZmxqU0lPNW0vVTQ5OVhOajNWUC9admhjQ0NDQUFBSUlJSUJBOXdsNDV5QnZQdExEeDNpb1cx
WE5wK0t0MUdMZjFDV3I5WnlQZ3JCaQp1RTdYK3FEMDFsM3YvRk16VTZrbCs5NzVMWHZHdDBxTWsz
M1ArRlI4Q2dRUVFBQUJCQkJBQUlIdUZJaGpYKy9QQjRCVU5hcWpsZ2xMClQ5UThnQ2lNVkR4NHFE
SlM5akFTNXVOZDlFRTZQQXRXZDM3dzdyaTN4Z3FjZHRwcHR0bG1tOW5ISDM5c3h4OS9mQmd2MGgz
dnRhcmYKRSt0Vi9WOEEzeDhCQkJCQUFBRUVWbFdCakNvZG5qYmlPR1BGYW1SVlBmYXQ0dWZDc1Fj
UWhSRmZGckRlZW0wRlpLKzk5akp0dE80WAp3THI3alhrSEJCQkFBQUVFRUVDZ1J3cDQySWk5NHFG
dVZqV2Y2cXJzZmE5S1h2YW9sQ29lVEhKZUVXbXRoQlJUSzNqMDJncElqL3dMCjRrTWhnQUFDQ0ND
QUFBSUlJTkNMQkh5SkR5dXBCT0pqUUNwZTVhajZRYzJ5Vm80alArL2RyenlBbEJaVlNaS3ZUUUJK
Sk5namdBQUMKQ0NDQUFBSUlJSUJBUXdJMTcyZWxRRkhXdUE4ZkI2SVFVdlkvdEZTRWNvbDZYdW1j
RjBUcXJkZDJ3YXAvUXc0UVFBQUJCQkJBQUFFRQpFRUNnV3dSaVg1amJmQVgwZ3QrOTRxdWY1NzBr
b3BYUTg3bkk4bDRWeWZscTZIMzh5Wm92U0pnMEtpQ0pCSHNFRUVBQUFRUVFRQUFCCkJCQm9URUFo
dzdlTVZ6dXlJWXZFVnZBUWt2ZGdvZ0RpK2NPeS9sd2hsVHBTaDQyOUYxY2pnQUFDQ0NDQUFBSUlJ
SURBcWkyUThVcEgKeGlzZ2tWS0l0M3doYjFrdmcyVDljZVI5clZRZ1VSVkU0U1JwcWNQa0ZIc0VF
RUFBQVFRUVFBQUJCQkJBb0FNQ3FuNzRSTHVlUVh5TApmUGg1SExiSTl6bXZoSGdlTWUrUkZiYmti
b3dCU1NUWUk0QUFBZ2dnZ0FBQ0NDQ0FRR01DbVl5SEMwV1FySGt4cERWc2VMa2o1NldQCnJBY1Ex
VVVVUk1xK0pZMEtTQ0xCSGdFRUVFQUFBUVFRUUFBQkJCb1NpSDN3UitTQlF4VVFkYk5TdFVQVmo4
alBxMWRXM2lzZ1laOUsKSGFuRGh0NkxpeEZBQUFFRUVFQUFBUVFRUUdCVkYvQktoeGRBUXJVajho
U1M4M0tIWnNIS2VlcklldmhRMk1pb0V1TFhKSTBBa2tpdwpSd0FCQkJCQUFBRUVFRUFBZ1lZRWZJ
SXI4eVZBd21yb0lZaDQ4TWg3M3l0VlF5TE5qT1hCSStlRFBqUVFQV2tFa0VTQ1BRSUlJSUFBCkFn
Z2dnQUFDQ0RRa29IVS9ZbC9wUFBiUkhsVlBJcFZLelNvZVBCUksvTFNmOS9WQmZCSENjbW54YlFr
Z2l5MDRRZ0FCQkJCQUFBRUUKRUVBQWdVWUVmTG56akVlTmFyWHFLNkg3eXVjS0lHRWxkQThlNWRZ
VjBIVStKSkZGOTJVV3JFYUF1UllCQkJCQUFBRUVFRUFBQVFUcQpBcXB1aEpFZTN0VktPYVBtVS9G
V1ZBbng4a2ZWSCt0YzJZTklNVnpuRDd3UlFGb2QrQk1CQkJCQUFBRUVFRUFBQVFRYUZJampxbmUz
CjhncUl5aHkxakZjL0tsYnpBS0xnb1FwSTJWTklXWDJ4R0lUZW9DeVhJNEFBQWdnZ2dBQUNDQ0NB
d0tjRU1xcDBlTnFJNDR3VnE1R1AKQS9ISHZta2NTRGoyQUtJdzRqMjA2bzB4SUhVS0RoQkFBQUVF
RUVBQUFRUVFRS0FoQVE4YnNWYzh5dVhZS3g5VkszdmZxNUtYUFNxbApTZ2dtNnFLbFNraVJRZWdO
c1hJeEFnZ2dnQUFDQ0NDQUFBSUlMRUZBQzV5WFZBTHhMbFkrOXR6SGZXaElldGJLY2VUbnZmdVZC
NURTCm9pcEo4bklxSUlrRWV3UVFRQUFCQkJCQUFBRUVFR2hJb09iOXJCUW95aHIzNGVOQUZFTEtZ
UmFzMWdxSWVsN3BuQmRFNm8xQjZIVUsKRGhCQUFBRUVFRUFBQVFRUVFLQVJnZGhYUWpkZkFiM2dM
NnFFUlFoOWxpdGZmVENmaXl5dlJRaDlBY0krL21TdFpmRmRxWUFzdHVBSQpBUVFRUUFBQkJCQkFB
QUVFR2hGUXlQQXQ0NzJ3d3VybmZsRHdmbGw1RHlZS0lGb0FQZXZQRlZLcEkzWFl5RHR4TFFJSUlJ
QUFBZ2dnCmdBQUNDS3pxQWhtdmRHUzhBaElwaFhqTEYvS1c5ZVhScy80NDhyNVdLcENvQ3FKd2ty
VFVZWEtLUFFJSUlJQUFBZ2dnZ0FBQ0NDRFEKQVFGVlAzeWlYYzhndmtVKy9Ed09XK1Q3bkZkQ1BJ
K1k5OGdLVzNJM3hvQWtFdXdSUUFBQkJCQkFBQUVFRUVDZ01ZRk14c09GSWtqVwp2QmpTR2phODNK
SHowa2ZXQTRqcUlnb2laZCtTUmdVa2tXQ1BBQUlJSUlBQUFnZ2dnQUFDRFFuRVB1WWo4c0NoQ29p
NldhbmFvZXBICjVPZlZLeXZ2RlpDd1Q2V08xR0ZENzhYRkNDQ0FBQUlJSUlBQUFnZ2dzS29MZUtY
REN5Q2gyaEY1Q3NsNXVVT3pZT1U4ZFdROWZDaHMKWkZRSjhXdVMxaVZkc0I1NDRBR2JPM2V1RlFv
RjIyQ0REV3lqalRZSzk2L1ZhdmIwMDAvYnNHSERiTDMxMWt2ZWt6MENDQ0NBQUFJSQpJSUFBQWdq
MEFnR2Y0TXA4Q1pDd0ducEczYkU4ZU9TOTc1V3FJWkZteHZMZ2tmUEVvWUhvU2V1U0NzaEZGMTFr
My8zdWQrM2hoeCsyCmp6NzZLTng3L3Z6NXR1T09POXEyMjI1clcyeXhoVzI4OGNiMjhzc3ZKKy9M
SGdFRUVFQUFBUVFRUUFBQkJKcGN3Q2U4OHZEaG00LzIKcUhvU3FWUnFWdkhnb1ZEaXAvMjhydy9p
aXhDV1M0dS9hSmRVUUlyRm9qMzY2S08yeVNhYjFPOTgxbGxuMmVPUFAyNEhIWFNRWFgzMQoxZmJl
ZSsvWitlZWZiN2ZjY2t2OUdnNFFRQUFCQkJCQUFBRUVFRUNnaVFXcWloNGVPbnkxOHpqT1dsVUJK
S3lFN3NHajNMb0Nlb3RTCmlMWkZyZE1CUk4yc3R0cHFxemJoUTJGRG9hTnYzNzUyeFJWWDJLQkJn
OEttN2xsejVzd0p4OGtIWUk4QUFnZ2dnQUFDQ0NDQUFBTE4KS2FEcVJoanA0VjJ0bERGcVBoVnZS
WlVRTDM5NEpnbm55aDVFaXVFNlhkczZMcVQxYUFYL0xKVksxcjkvL3phdnZ1eXl5MHhWa2ZIagp4
OXVJRVNQcXp5bUlMRnk0c1A2WUF3UVFRQUFCQkJCQUFBRUVFR2hlZ1RpdWVuZXJtbFY5YjdXcVZ6
OHFWdk1BRXJwZWVmQW8rK215CittS2xCcUYzZWd4SVMwdUx2ZkRDQzE1eWFhMnJmUERCQjNiVlZW
ZjVTUGlzblg3NjZYWE42ZE9uMjYyMzNtb2pSNDZzbitNQUFRUVEKUUFBQkJCQkFBQUVFbWxjZ28w
cUh4NEE0emxpeEd2azRFSC9zbThhQmhHTjF6Zkt2VjFVNVpGSHJkQURSZlE0NDRJQXc4OVZKSjUw
VQp1bU9wbTlWcHA1MW02NjY3cmozMzNITmhNUHBhYTYxbEgzNzRZZksrN0JGQUFBRUVFRUFBQVFR
UVFLRFpCVHhzeEY3eEtKZGpyM3hVCnJleDlyMHBlOXFpVUtpR1lxSXVXeG9JVXUzb1ErdEZISDIw
S0dGT25UZzFoUkFQUGQ5aGhoOEE1WnN3WXUvVFNTME9YTEpWa2FBZ2cKZ0FBQ0NDQ0FBQUlJSU5B
N0JMVEFlVWtsRUorQ1Z3UFJxMkZJZXRiS2NlVG52ZnVWLy93dkxhcVNKTis0MDRQUWt4dnR2dnZ1
cHExOQpHekpraUcyenpUYnRUL01ZQVFRUVFBQUJCQkJBQUFFRW1seWc1djJzMUtXcXFIRWZua01V
UXNwaEZpeFZRQXBoSUxyT2VVR2szcnFrCkMxYjlic3M1dVB6eXkrdGpSWlp6S1U4amdBQUNDQ0NB
QUFJSUlJQkFEeGVJZlNWMDh4WFFDMkgxODhnWElmUkZCLzA0bi9OakxVTG8KQ3hEMktmaldzdmlM
ZEZrRlJHTTlYbi85ZGUvLzVaMjhsdEkwT0YwellYM25POTlaeWhXY1JnQUJCQkJBQUFFRUVFQUFn
YVlSVU1qdwp6UXNncmF1ZloySVBJMlo1RHlZS0lGb0FQZXZQRlZKbGp5NEpJRC82MFkvczdMUFA3
cERURVVjY1lkZGNjNDBkZGRSUmR1U1JSM2JvCk5WeUVBQUlJSUlBQUFnZ2dnQUFDUFU4ZzQ1V09q
RmRBSXFVS0gyaWVMK1F0NjJXUXJLY1NuVk9CUkZXUWFsY1BRdGRpZzhjZGQ1eXQKdi83NjFxZFBu
NlhLM0hubm5iYi8vdnY3TkZ5dGN3UXY5VUtlUUFBQkJCQkFBQUVFRUVBQWdaNHY0RldPakUrMEcv
a2c5TWdYSWN4YQp4VGQvN0p1Nllua2VNZCtGTGZreVhWSUIyWHp6emNQYUg4bE5sN1ovOWRWWFRW
UDEwaEJBQUFFRUVFQUFBUVFRUUtBWENIand5UG9XCmUrendZa2hyMk1oR2Z1eGh4THRpZWZid0lP
SUQwMzFMV3FvM1ZuS3E4ZjBHRzJ6UW9SZHAwVUlhQWdnZ2dBQUNDQ0NBQUFJSTlBNkIKMk1kOFJC
NDR2QmRXR0FPaWFvZXFINUdmMTlpUXZGZEF3ajZWT2xLSEs0NXd6am5uZE9qRkYxMTBVWWV1NHlJ
RUVFQUFBUVFRUUFBQgpCQkJvQWdHdmRIZ0JKRlE3SWs4aE9TOTNxT3RWemxOSDFzT0h3a1pHbFJD
L0ptbGRFa0R1dmZmZTVIN0wzUC9zWno5YjV2TThpUUFDCkNDQ0FBQUlJSUlBQUFzMGo0Qk5jaFJt
d3RCcDZDQ0llUFBMZTk4cUxJaFpwWml3UEhqa2Y5S0dCNkVucmtqRWd0OTkrZXhoOFBucjAKYUgr
RFQ5OVNnODdmZSs4OXUrU1NTK3pFRTA5TTNwczlBZ2dnZ0FBQ0NDQ0FBQUlJTkxHQTF2MklmYVZ6
ang5VzlSQlNxZFNzNHNGRAowL0w2YVQvdml4UDZJb1RscnA0RmEvYnMyVForL1BqbDBqRUdaTGxF
WElBQUFnZ2dnQUFDQ0NDQVFQTUlWQlU5UEhUNGF1ZHhuTFdxCkFraFlDZDJEaHk4UHFCWFFXNVJD
dEMxcW55NVhKTTgwc005Nm1VWHJlcXkrK3VyZS8ydnhFUGNaTTJiWTQ0OC9ibSs5OVZhWS9XcjQK
OE9GaEpmUk11aE5ZQSsvRHBRZ2dnQUFDQ0NDQUFBSUlJTkJ6QkZUZENDTTl2S3VWTWtiTnArS3Rx
QkxpNVEvUEpPR2MxaWt2aHV0MApyWGZIYXQxMTdzOWRkdG5GTHJqZ2dxWGVaTTZjT1hieHhSZmJi
cnZ0NW4zRFVpTlFsdm9LbmtBQUFRUVFRQUFCQkJCQUFJR2VMaERIClZlOXVWYk5xN1BHamx2SHFS
OFZxSGtBVVJsUUJLWHNLS2FzdlZpb0NkTWtnOUlrVEp5N1RadENnUVRaaHdnUTc4OHd6bDNrZFR5
S0EKQUFJSUlJQUFBZ2dnZ0VEekNHUlU2ZkMwRWNjWksxWWpId2ZpajMzVE9KQndySzVaL25WOFNI
aTlkVWtGSks4SmZwZlJhcldhSFhqZwpnZmJJSTQ5WXFWU3lRcUd3akt0NUNnRUVFRUFBQVFRUVFB
QUJCSnBDd01PR1pzQlNONnRhcldwbDczdFY4ckpIeFFkL1ZPTmNHSUN1ClNrZ3hOUWk5U3lvZ3k4
T0p2U1R6aHovOHdmYllZdy9DeC9Ld2VCNEJCQkJBQUFFRUVFQUFnU1lSME9qdmtrb2czc1ZLQTlH
cllVaDYKMXNweDVPZTkrNVdQL1NndHFwSWtYNmxMS2lESnpaYTIxOEQwVjE5OTFmcjM3NyswU3pp
UEFBSUlJSUFBQWdnZ2dBQUNUU1pRODM1VwpxbWdVTmU3RGM0aENTRG5NZ3FVS1NDRU1STmM1ellh
VnRDNnBnRngvL2ZYSi9aYTZWL2k0OXRwcmwvbzhUeUNBQUFJSUlJQUFBZ2dnCmdFQnpDY1MrRXJy
NUN1aUZzUHA1NUlzUStpeFhmcHpQK2JGWFJiUUFZUjhmZmRHblpmSDM2cElLaUJZaUhEeDRzR2to
d3ZRMHZNbmIKYUF5SXB1Uzk3cnJyN09pamp3Nm5OVDN2Zi8vM2Y5c3BwNXhpQXdjT1RDNWxqd0FD
Q0NDQUFBSUlJSUFBQXMwaW9KRGhteGRBV2xjLwp6OFFlUnN6eUhrd1VRRFJTUE92UEZWSmxqeTRK
SUxObXpiSUREamhndVV6OSt2V3JYM1B5eVNmYkUwODhZV3V0dFpZZGNjUVI5Zk1jCklJQUFBZ2dn
Z0FBQ0NDQ0FRSE1JWkx6U2tmRUtTS1JVNFFQTjg0VzhaYjBNa3ZWVW9uTXFrS2dLVWswTlF1K1NB
S0txeDVGSEhybkUKQ29pcUg1cjVhdUhDaGZiSko1L1VGeUk4L2ZUVDdlNjc3dzREMDV1RGwwK0pB
QUlJSUlBQUFnZ2dnQUFDYlFTOHlwSHhpWFlqWCtzdgo4a1VJczFieHpSLzdwcTVZbmtmTWQyRkxY
dGNsQWVTclgvMnFYWGpoaGNrOU83Ulh4YVFqVlpNTzNZeUxFRUFBQVFRUVFBQUJCQkJBCjRMTVg4
T0NSOVMzMjJPSEZrTmF3a1kzODJNT0lkOFh5N09GQnhBZW0rNWEwVkcrczVGVGorL1BQUDcveEYv
RUtCQkJBQUFFRUVFQUEKQVFRUWFHcUIyTWQ4UkI0NHZCZFdHQU9pYW9lcUg1R2YxOWdRTFJjWTlx
blVrVllWMFZrQUFDQUFTVVJCVkRwYzhlOCtaY3FVRHIzNApwei85YVlldTR5SUVFRUFBQVFRUVFB
QUJCQkJvQWdHdmRIZ0JKRlE3SWs4aE9TOTNxT3RWemxOSDFzT0h3a1pHbFJDL0ptbGQwZ1hyCnJy
dnU4Z0Vta2EyeHhocExuUVhyM1hmZnRjc3Z2OXhPUGZYVTVMM1pJNEFBQWdnZ2dBQUNDQ0NBUUJN
TCtBUlhZUVlzcllhZVVYY3MKRHg1NTczdmxSUkdMTkRPV0I0K2NKdzROUkU5YWx3U1F1WFBuMnZI
SEg1L2NjNm43bHBiVUJNQkx2WW9uRUVBQUFRUVFRQUFCQkJCQQpvQmtFdE81SDdDdWRlL3l3cW9l
UVNxVm1GUThlbXBiWFQvdDVYNXpRRnlFc2QvVXNXSVZDd2M0NDR3eGJmZlhWMjFSQXl1V3l2Zjc2
CjYzYlBQZmZZd1FjZmJHUEdqS25QZ3RVTW9IeEdCQkJBQUFFRUVFQUFBUVFRV0laQVZkSERRNGV2
ZGg3SFdhc3FnSVNWMEQxNGxGdFgKUUc5UkN0RzJxSFZKQldUY3VIRTJjZUxFNUo2ZjJrK2FOTWwr
K01NZjJxNjc3aHBLTTUrNmdCTUlJSUFBQWdnZ2dBQUNDQ0RRZEFLcQpib1NSSHQ3VlNobWo1bFB4
VmxRSjhmS0haNUp3em1zU1Znelg2ZHJXY1NHdFI1MzRjMW5oUTdmTisvQjNYWFBOTmRkMDRsMTRL
UUlJCklJQUFBZ2dnZ0FBQ0NQUWtnVGl1ZW5lcm1sVjliN1dxVno4cVZ2TUFFcnBlZWZBbysrbXkr
bUtsQnFGM3lTeFlIVUhRb0JSMXlZcmoKVlAybEl5L2tHZ1FRUUFBQkJCQkFBQUVFRU9pUkFobFZP
dnpuZlJ4bnJGaU5mQnlJUC9aTjQwRENzYnBtK1NldnFoeXlxSFZKQUxuNgo2cXVUK3kxMVh5d1c3
ZUdISHpidGFRZ2dnQUFDQ0NDQUFBSUlJTkFMQkR4c2FBYXNjam4yeWtmVnl0NzNxdVJsajBxcEVv
S0p1bWhwCkxFaXhxd2VoMzNISEhiWnc0VUpiYTYyMWZKcXR0c05LRkRpbVQ1OXVOOTk4YzNpT21i
QjZ3VDgwdmdJQ0NDQ0FBQUlJSUlBQUFpNmcKQmM1TEtvRjRieWNOUksrR0llbFpLOGVSbi9mdVZ4
NUFTb3VxSkFsWTI3U1FuRzF3UDJmT0hEdjU1Sk9YK2FvaFE0Yll0R25UbG5rTgpUeUtBQUFJSUlJ
QUFBZ2dnZ0VEekNOUzhuNVc2VkJVMTdzTnppRUpJT2N5Q3BRcElJUXhFMXprdmlOUmJsd1NRUG4z
NjJGbG5uZldwCmFYajFMbnB1MUtoUllRYXMvdjM3MTkrWUF3UVFRQUFCQkJCQUFBRUVFR2h1Z2Rn
WEl6ZGZBYjNnWDZNU0ZpSDBSUWQ5OWNGOExySzgKRmlIMEJRajcrSk8xMUhLQVhSSkFkdDk5ZHp2
bm5IT2FXNDlQandBQ0NDQ0FBQUlJSUlBQUFvMEpLR1Q0NWdXUTF0WFBNN0VWdkY5Vwozb09KQW9n
V1FNLzZjNFhVeVBQVVlXUHZsYjZhOEpIVzRCZ0JCQkJBQUFFRUVFQUFnVlZESU9PVmpveFhRQ0ts
RUcvNVF0Nnl2ang2CjFoOUhYdXBRZ1VSVmtHd3FkYVFPRzBONitlV1g3Yjc3N3JPUFB2b292SERl
dkhuMjl0dHZ0N21KcHR6VmVSb0NDQ0NBQUFJSUlJQUEKQWdqMFFnSFBIUm1mYU5jemlHK1JEMHFQ
d3hiNVB1ZVZFTThqNWoyeXdwWjgreFVLSU5kZGQ1MXR0TkZHdHM4Kys5ajIyMjl2RHp6dwpnSTBZ
TWNMR2poMXJ0OTEybTgyWU1jTk9QUEhFTUN2VzRNR0RiYlBOTmd1ellDVnZ5aDRCQkJCQUFBRUVF
RUFBQVFSNmdZRFBmcFVOClc5Wnlua0pDMlBCeVI4NUxIMWtQSUo0OVFoQ0pORjNXb3Rad0FLblZh
dmJqSC8vWU5QWHV6Smt6N2JMTExyTUREenpRVmx0dHRiRE8KeDBNUFBXUjc3YldYM1hERERmYUZM
M3doSEgvNDRZYzJmdng0UWtpaXpoNEJCQkJBQUFFRUVFQUFnVjRnRVB1WWo4Z0RoeW9nNm1hbApB
S0xxUitUbjFTc3I3eFdRc0UrbGpvWUhvYXZybFFLSE5qVU5RTjlnZ3cxQ2xXUG5uWGUyUVlNRzJS
bG5uR0VmZlBDQnBXZTlldTY1CjUreUtLNjZ3d3c0N3JCZFE4eFVRUUFBQkJCQkFBQUVFRUVCQWd6
eThBQktxSFZFdDQrditlU1hFVTBqT1UwZld3NGR5UjBhVkVMOG0KYWFrc2tweGE5bDdCWXNjZGQy
eHprUllmSERCZ1FEajMrdXV2Mi9ubm45OG1mT2lKTGJiWUltelY5RHJzYmU3Q0F3UVFRQUFCQkJC
QQpBQUVFRUdnbUFaL2dLc3lBcGRYUVF4RHg0SkgzdmxlcWhrU2FHY3VEaDlZcDEwRDBwRFVjUURT
d2ZPREFnY25ydzE3bklnMXg5NmFWCnpwZTIydm44K2ZOTml4YlNFRUFBQVFRUVFBQUJCQkJBb1Br
RmZNSXJpMzJsYzQ4ZlZ2VVFVcW5Vck9MQlE5UHkrbWsvNyt1RCtDS0UKNWRMaTc5cHdBRmw5OWRY
dDNYZmZYWHdIUHlxVlNwNXNXbnR6YVhENmhSZGVXSjhkSzdud25YZmVzWnR1dXNtR0RoMmFuR0tQ
QUFJSQpJSUFBQWdnZ2dBQUN6U3hRVmZTb21YbzVhU1gwcWdKSVdBbmRnMGU1ZFFWMG5ROUpaTkgz
YkRpQXJMZmVlalp0MnJRNjA4S0ZDKzJ0CnQ5NnFkN2xhZDkxMXJWd3VoMW14dHRwcXF6RG1ZOXk0
Y2FiWEZZdkYrdXM0UUFBQkJCQkFBQUVFRUVBQWdlWVdVSFVqalBUd0tYaVYKTTJxK3I2Z1M0dVdQ
cWovV09ZOEdWZ3pYK1FOdkRRZVFQbjM2V04rK2ZjTTRqeGRmZk5IT1BmZGNtejE3ZGhqZjBYcExz
MnV2dmRiMgozbnR2KzkzdmZtZi8vdS8vYms4KythUk5talRKMWx4enplUVM5Z2dnZ0FBQ0NDQ0FB
QUlJSU5Ea0FuRmM5ZTVXWGdIeHZkV3FYdjJvCldNMERpSUtIS2lCbFAxMVdYNnpVSVBTR1o4R1Mw
VVVYWFdUNzc3Ky9UWnc0VVE5dHA1MTJxcytLcGNmRGh3KzNlKzY1eCtiT25SdG0KdzFKVlJHTkVG
RVpvQ0NDQUFBSUlJSUFBQWdnZzBEc0VNcXAwZU5xSTQ0d1ZxNUdQQS9ISHZta2NTRGoyQUtJd2tw
Nkhhb1VDaUFhWgozMy8vL2ZiYWE2K0ZrUEhGTDM1eGlZSWFySjRlc0g3bm5YY3U4VHBPSW9BQUFn
Z2dnQUFDQ0NDQVFCTUtlTmpRREZqcVpsWHpDa2paCisxNlZ2T3hSS1ZVOG1PVENBSFJWUW9xcFFl
Z3JGRUFTR28zcmFLU05IajI2a2N1NUZnRUVFRUFBQVFRUVFBQUJCSHF3Z0JZNEw2a0UKNG5Qdyt0
aHpIL2VoSWVsWks4ZVJuL2Z1Vno3Mm83U29TcEo4alliSGdDUXZaSThBQWdnZ2dBQUNDQ0NBQUFL
cnRrRE4rMWtwVUpRMQo3c09udTFJSUtZZFpzRlFCVVNEeDdsaitoeGRFNnExVEZaRDZYVGhBQUFF
RUVFQUFBUVFRUUFDQlZVNGcxbHFBVWNZSy9zMHJZUkZDClgzVFFWeC9NNXlMTGF4RkNYNEN3ano5
WmExbE1Rd1Zrc1FWSENDQ0FBQUlJSUlBQUFnZ2cwSWlBUW9adkdhOTJoTlhQL2FEZy9iTHkKSGt3
VVFMUUFldGFmSzZSU1IrcXdrWGZpV2dRUVFBQUJCQkJBQUFFRUVGalZCVEplNmNoNEJTUlNDdkdX
TCtRdDY4dWpaLzF4NUgydApWQ0JSRlVUaEpHbXB3K1FVZXdRUVFBQUJCQkJBQUFFRUVFQ2dBd0tx
ZnZoRXU1NUJmSXQ4K0hrY05pMUxtUE5LaU9jUjh4NVpZVXZ1CnhoaVFSSUk5QWdnZ2dBQUNDQ0NB
QUFJSU5DYmdzMTlsZlZQczhHSklhOWp3Y2tmT1N4OVpEeUNxaXlpSWxIMUxHaFdRUklJOUFnZ2cK
Z0FBQ0NDQ0FBQUlJTkNRUSs1aVB5QU9IS2lEcVpxVnFoNm9ma1o5WHI2eThWMERDUHBVNlVvY052
UmNYSTRBQUFnZ2dnQUFDQ0NDQQp3S291NEpVT0w0Q0Vha2ZrS1NUbjVRN05ncFh6MUpIMThLR3dr
VkVseEs5SkdnRWtrV0NQQUFJSUlJQUFBZ2dnZ0FBQ0RRbjRCRmZtClM0Q0UxZEJERVBIZ2tmZStW
NnFHUkpvWnk0Tkh6Z2Q5YUNCNjBnZ2dpUVI3QkJCQUFBRUVFRUFBQVFRUWFFakFKN3p5OE9HYmov
YW8KZWhLcFZHcFc4ZUNoVU9Lbi9ieXZEK0tMRUpaTGkyOUxBRmxzd1JFQ0NDQ0FBQUlJSUlBQUFn
ZzBJdURMbldjOGFsU3JWVjhKM1ZjKwpWd0FKSzZGNzhDaTNyb0N1OHlHSkxMb3ZzMkExQXN5MUND
Q0FBQUlJSUlBQUFnZ2dVQmRRZFNPTTlQQ3VWc29aTlorS3Q2SktpSmMvCnF2NVk1OG9lUklyaE9u
L2dyVnNEeUc2NzdXYnZ2LzkrNnpzdDU4OHp6enpURGp2c3NPVmN4ZE1JSUlBQUFnZ2dnQUFDQ0NE
UVV3VGkKdU9yZHJid0NvakpITGVQVmo0clZQSUFvZUtnQ1V2WVVVbFpmck5RZzlHNE5JRk9uVHZV
UG9IZGNkcHM4ZWJMTm1qVnIyUmZ4TEFJSQpJSUFBQWdnZ2dBQUNDUFFvZ1l3cUhaNDI0amhqeFdy
azQwRDhzVzhhQnhLT1BZQW9qSGdQclhycjFnQXlaTWlRK2hzdDY2QmZ2MzdMCmVwcm5FRUFBQVFR
UVFBQUJCQkJBb0NjS2VOaUl2ZUtoYmxhMVd0WEszdmVxNUdXUFNxbml3U1FYQnFDckVsSmtFSHBQ
L052ak15R0EKQUFJSUlJQUFBZ2dnMEZ3Q1d1QzhwQktJZDdIeXNlYys3a05EMHJOV2ppTS83OTJ2
Zk94SGFWR1ZKUGxteklLVlNMQkhBQUVFRUVBQQpBUVFRUUFDQmhnUnEzczlLZ2FLc2NSOCtEa1Fo
cEJ4bXdWSUZSSUdrTlpoNFFhVGV1clVMVnYxZE9FQUFBUVFRUUFBQkJCQkFBSUZlCkp4RDdTdWpt
SzZBWC9KdFZ3aUtFUHN1VnJ6Nll6MFdXMXlLRXZnQmhIMyt5MXJMNHEvZUlBSExpaVNmNjh1eXBv
ZkdMUHg5SENDQ0EKQUFJSUlJQUFBZ2dnMEZNRkZESjg4d0pJNitybm1kZ0szaThyNzhGRUFVUUxv
R2Y5dVVLcTMxV1BDQ0FEQnc3c3FhUjhMZ1FRUUFBQgpCQkJBQUFFRUVGaUtRTVlySFJtdmdFUktG
VDdRUEYvSVc5YVhSODk2S3RFNUZVaFVCYWwyOXlCMDlmK2lJWUFBQWdnZ2dBQUNDQ0NBClFDOFg4
Q3BIeGlmYTlRemlXK1REeitPd1JiN1BlU1hFODRoNWo2eXdKUktwWWtoeXF2TjdyZXV4NmFhYjJt
V1hYZGI1bTNFSEJCQkEKQUFFRUVFQUFBUVFRNkprQ1Bvd2lHN2FzNVR5RmhMQ1JqZnpZdzRnSEVN
OGVJWWhFbWk1clVldVdBREpod2dRYk5HaVFuWEhHR1RaNwo5dXprdmRnamdBQUNDQ0NBQUFJSUlJ
QkFMeEtJZmN4SDVJRkRGUkRmaFFDaTZrZms1elUySk84VmtMQlBwWTdVNFlwTHpKOC9mNGtyCm5o
OTk5TkUyZVBEZzhOejExMTl2bi8vODUyMjMzWFpiOFRmaWxRZ2dnQUFDQ0NDQUFBSUlJTkJ6Qkx6
U29ibWtWTzJJUElYa3ZOK1YKWnNIS2VlcklldmhRMk1pb0VxSlN5S0xXSlFHa1VxblllZWVkWnkr
ODhJS1ZTaVZmYXIxcTc3enpqbitJeUk0OTlsZ2JNMmFNblh6eQp5YmJ0dHR2YVAvL3pQeWZ2elI0
QkJCQkFBQUVFRUVBQUFRU2FXRUFqdnpVRGxsWkREMEhFZzBmZTA0aXFJWkdmVjVlc25BOUcxMEQw
CnBHbThlcWVicWh5bm5ucXFYWGpoaGZia2swL2FtMisrYWUrOTk1NTkrT0dIdHZYV1c5djQ4ZU50
dSsyMjh4Sk02cDA3L2E3Y0FBRUUKRUVBQUFRUVFRQUFCQkZhbWdFOTQ1ZUhETngvdFVmVVFVcW5V
ck9MQlE2SEVUL3Q1WHgvRUZ5RXNwMmJCNnBJQW9pODlkT2hRKzhsUApmcUpEZStPTk4yemN1SEYy
NjYyM2hzZXFrT1FVZldnSUlJQUFBZ2dnZ0FBQ0NDRFFld1I4dWZPTVJ3MnRnQjdIV2FzcWdJU1Yw
RDE0CmxIMW1YZzhmTFVvaDJoYTFMdW1DbGR3czJVK2ZQajJNOTBnZVAvamdnM2J0dGRjbUQ5a2pn
QUFDQ0NDQUFBSUlJSUJBTHhCUWRTT00KOVBBcGVKVXhhcjZ2cUJMaTVRL1BKT0ZjMllOSU1WeW5h
NzA3VnV1dWEvK2NNV09HYVhIQmh4OSsySjU5OWxsNzdiWFhiT3JVcWZiWQpZNC9aaGh0dWFQdnV1
MitiZ05LMTc4N2RFRUFBQVFRUVFBQUJCQkJBNExNUWlPT3FkN2VxV1ZYckFOWXlYdjJvK0FSVWNX
dlhLdzhlClpVOGhaZlhGNnVwQjZPa3Y5L0xMTDl0VlYxMWxiNzMxbHMyWk04ZU9PKzQ0R3oxNmRO
aFBtVExGZHR4eHh6QW1SR05HOUFGcENDQ0EKQUFJSUlJQUFBZ2dnMEp3Q0dWVTZQSHZFY2NhSzFj
akhnZmhqM3pRT0pCeXJhNVovTloranF0NjZyQUtpMmEvKzZaLyt5UjU1NUJIYgpZWWNkckZnc2hr
ckgzTGx6N2NvcnJ3elZqNHdQamQ5KysrM3R2dnZ1QzRQU0M0VUNzMkxWL3lvNFFBQUJCQkJBQUFF
RUVFQ2d5UVE4CmJHZ0dMSFd6cXRXcVZ2YStWeVV2ZTFSODhFYzF6b1VCNkJvTFVrd05RdStTTVND
MVdzME9QdmhnKzh0Zi9tSy8vZTF2d3lyb0gzencKUWRCVHBlT3d3dzZ6dGRkZXU2NDVZc1FJTy96
d3crM0hQLzZ4ZmZUUlIvWHpIQ0NBQUFJSUlJQUFBZ2dnZ0VEekNHaUI4NUpLSU43RgpTZ1BScTJG
SWV0YktjZVRudmZ1VmQzZ3FxU3FpTXNpaTFpVVZFSzE0cmlsM2I3LzlkbCtFSkJ0V1FmL3puLzlz
a3laTnNzY2ZmenhNCnpadThZYkxmZlBQTnZWUVRoekVpdSs2NmEzS2FQUUlJSUlBQUFnZ2dnQUFD
Q0RTSlFNMzdXYW1pVWRTNER3OFpDaUhsTUF1V0tpQ0YKTUJCZDV6UWJWdEk2SFVES1htL1IySTUv
K1pkL3FVKzF1OTU2NjRWZzhlcXJyNGFCNkMwdExjbjcxZmNhSzZMV3QyL2YramtPRUVBQQpBUVFR
UUFBQkJCQkFvSGtFWWw5NDNId0Y5SUovNUVwWWhOQm51ZkxWQi9PNXlQSmFoTkNYQWV6alQ5WlNj
YURUQVdUV3JGazJlL1pzCisvclh2eDZrTkJia3BwdHVzbm56NXRrVlYxeGhYL2pDRjVZbytOQkRE
NFZLeVplKzlLVWxQczlKQkJCQUFBRUVFRUFBQVFRUTZPRUMKQ2htK2VRR2tkZlh6VEd3Rjc1ZVY5
MkNpQUtKbHlMUCtYQ0UxOENOMXVHSmZidFNvVVdGbXEzdnV1Y2R1dlBGRzIzYmJiZTFYdi9xVgo3
Yjc3N2t0ZCsrT2FhNjR4QlpBSkV5YlVxeVlyOXU2OENnRUVFRUFBQVFRUVFBQUJCRmFXUU1ZckhS
bXZnRVJLSWQ3eWhieGxmWG4wCnJEK092TlNoQW9tcUlObFU2dWgwQlVSdmRNNDU1NFFLU1AvKy9l
MTczL3VlWFhEQkJmYktLNi9ZTjcvNVRUM2RwdDE4ODgxMjBra24KMmJISEhtc1RKMDVzOHh3UEVF
QUFBUVFRUUFBQkJCQkFvSWtFUEhka2ZLTGR5R2U3alh3UndxeFZmUFBIdnFrcmx1Y1I4MTNZa20v
VgpKUUZranozMnNHZWVlU1lzTXBpTTZkaDAwMDN0dWVlZVM5N0hYbnp4UlR2cnJMTkNNTkdxNkFj
ZGRGRDlPUTRRUUFBQkJCQkFBQUVFCkVFQ2dDUVU4ZUdSOWl6MTJlREdrTld4NHVTUG5wUStmbXlx
c1A1anpmVm5UWlMxcVhSSkFkSzh0dDl3eXVXZDlyM1UrTkI1RTRTU1gKeTlsUlJ4MWwrK3l6ajVk
aVVqV1krdFVjSUlBQUFnZ2dnQUFDQ0NDQVFETUp4RDdtSS9MQUVmbE1WK3BtcFdxSHFoK1JuODk1
TU1sNwpCVVM5cy9LcG4vOWRGa0NXQnFYMVByVFJFRUFBQVFRUVFBQUJCQkJBb0pjSmVHSEJjMGFv
ZGtTMWpCY2R2QkxpS1NUbnFTUHI0VU81Ckk2TktpRitUdEZRV1NVNnhSd0FCQkJCQUFBRUVFRUFB
QVFTV0w2RDFCVFVEbGxaREQwSEVnMGZlKzE2cEdoSnBaaXdQSHQ0UktneEUKVCs2MlVnTElqQmt6
a3Zkbmp3QUNDQ0NBQUFJSUlJQUFBazBxNEJOZWVmand6VWQ3VkQyRVZDbzFxM2p3VUNqeDAzN2Ux
d2Z4UlFqTApwY1ZmY0tVRWtMdnV1c3YyMjIrL3NFamg0by9DRVFJSUlJQUFBZ2dnZ0FBQ0NEU1ZR
RlhSbzJiVmFqV3NoRjVWQUFrcm9YdndLTGV1CmdLNFYwa01TV2ZURlZrb0FPZTY0NCt6YjMvNTJX
Q3RFZzlMZmZQUE5wbkxtd3lLQUFBSUlJSUFBQWdnZ2dFQnJkU09NOVBBcGVKVXoKYXI2dnFCTGk1
UThmbHg3T2xUMklGTDBLa3JSdUg0U2V2Rkg3L1lFSEhtanFpblhDQ1NmWTAwOC9iVTg5OVpTTkhq
MjYvV1U4UmdBQgpCQkJBQUFFRUVFQUFnUjRxRU1kVjcyN2xGUkNWT1h3UWVzWDdXOVU4Z0lTdVZ4
NDh5cDVDeXVxTDFWTUdvUjkvL1BGaGF0N3AwNmVICjFkTjdxQ3NmQ3dFRUVFQUFBUVFRUUFBQkJK
WWdrRkdsdzlOR0hHZXNXSTE4SElnLzlrM2pRTUt4QnhDRkVlK2hWVzhycFF0Vy9kMzkKWVBMa3lX
RU5rYTIzM2pwOW1tTUVFRUFBQVFRUVFBQUJCQkRvNlFJZU5qUURWcmtjZStXamFtWHZlMVh5c2tl
bFZBbkJSQVBRTlJhawptQnFFdnRLNllDV1dBd2NPREFzVkpvL1pJNEFBQWdnZ2dBQUNDQ0NBUUhN
SWFJSHpra29nUGdldmp6MzNjUjhha3A2MWNoejVlZTkrCjVRR2t0S2hLa255amxWNEJTVDRJZXdR
UVFBQUJCQkJBQUFFRUVHZ3VnWnIzczFLZ0tHdmNoNDhEVVFncGgxbXdXaXNnNm5tbGMxNFEKcWJl
VlhnR3BmeElPRUVBQUFRUVFRQUFCQkJCQW9La0VZbDhKM2FLTUZmeFRWOElpaEw3b29LOCttTTlG
bHRjaWhMNGFlaDkvc3RheQorR3RSQVZsc3dSRUNDQ0NBQUFJSUlJQUFBZ2cwSXFDUTRWdkdlMkdG
MWMvOW9PRDlzdkllVEJSQVBIOVkxcDhycEZKSDZyQ1JkK0phCkJCQkFBQUVFRUVBQUFRUVFXTlVG
TWw3cHlIZ0ZKRklLOFpZdjVDM3J5Nk5uL1hIa2ZhMVVJRkVWUk9Fa2FhbkQ1QlI3QkJCQUFBRUUK
RUVBQUFRUVFRS0FEQXFwKytFUzdua0Y4aTN6NGVSdzJMVXVZODBxSTV4SHpIbGxoUys3R0dKQkVn
ajBDQ0NDQUFBSUlJSUFBQWdnMApKdUN6WDJWOVUrendZa2hyMlBCeVI4NUxIMWtQSUtxTEtJaVVm
VXNhRlpCRWdqMENDQ0NBQUFJSUlJQUFBZ2cwSkJEN21JL0lBNGNxCklPcG1wV3FIcWgrUm4xZXZy
THhYUU1JK2xUcFNodzI5RnhjamdBQUNDQ0NBQUFJSUlJREFxaTdnbFE0dmdJUnFSK1FwSk9mbERz
MkMKbGZQVWtmWHdvYkNSVVNYRXIwa2FBU1NSWUk4QUFnZ2dnQUFDQ0NDQUFBSU5DZmdFVitaTGdJ
VFYwRU1ROGVDUjk3NVhxb1pFbWhuTApnMGZPQjMxb0lIclNDQ0NKQkhzRUVFQUFBUVFRUUFBQkJC
Qm9TTUFudlBMdzRadVA5cWg2RXFsVWFsYng0S0ZRNHFmOXZLOFA0b3NRCmxrdUxiMHNBV1d6QkVR
SUlJSUFBQWdnZ2dBQUNDRFFpVUZYMHFGbTFXdldWME0ycUNpQmhKWFFQSHVYV0ZkQjFQaVNSUmZk
bEZxeEcKZ0xrV0FRUVFRQUFCQkJCQUFBRUU2Z0txYm9TUkh0N1ZTam1qNWxQeFZsUUo4ZkpIMVIv
clhObURTREZjNXcrOEVVQmFIZmdUQVFRUQpRQUFCQkJCQUFBRUVHaFNJNDZwM3QvSUtpTW9jdFl4
WFB5cFc4d0NpNEtFS1NObFRTRmw5c1JpRTNxQXNseU9BQUFJSUlJQUFBZ2dnCmdNQ25CREtxZEhq
YWlPT01GYXVSandQeHg3NXBIRWc0OWdDaU1PSTl0T3F0VzhlQS9PLy8vcThkY2NRUk5ubnk1UG9i
Y29BQUFnZ2cKZ0FBQ0NDQ0FBQUs5Uk1ERFJ1d1ZqM0k1OXNwSDFjcmU5NnJrWlk5S3FSS0NpYnBv
cVJKUy9Ld0dvYytjT2ROdXVPRUcyMnFyclpZbwovUERERDl0amp6MjJ4T2M0aVFBQ0NDQ0FBQUlJ
SUlBQUFqMWJRQXVjbDFRQzhTNVdQdmJjeDMxb1NIcld5bkhrNTczN2xRZVEwcUlxClNmSk5PalVH
NUlFSEhyRFZWbHZOQmc4ZW5OeXZ6Zjc5OTk4UGp3Y01HR0N2dnZwcW0rZG16WnBsQnh4d2dDMWN1
TkJ1dmZWVzIyZWYKZmRvOHp3TUVFRUFBQVFRUVFBQUJCQkRvMlFJMTcyZWxMbFZGamZ2d0hLSVFV
ZzZ6WUtrQ1VnZ0QwWFhPQ3lMMTFxa0FNbnYyYkpzeApZNFlWQ29YNkRYVXdmLzU4Ty9yb28rM01N
ODhNNGVLVlYxNnhjODg5MThhT0hSdk9KeGRmZWVXVjRWRFRkdEVRUUFBQkJCQkFBQUVFCkVFQ2d1
UVJpWHduZGZBVjBwWUZLV0lUUVo3bnkxUWZ6dWNqeVhoWFJBb1I5L01sYXkrTHYxYWtBY3RCQkI5
WHZwRENpSU5LM2IxOTcKNDQwM3d2bTk5dHJMdnZLVnI0UmpqUU5aZi8zMTdWdmYrcFl2eFo0YUJs
Ky9Bd2NJSUlBQUFnZ2dnQUFDQ0NEUVZBSUtHYjU1QWFSMQo5Zk5NYkFYdmw1WDNZS0lBb2dYUXMv
NWNJVFh5UEhYWXVhLzYvZTkvMzBhTkdtVlRwa3l4NmRPbmg1dXR1ZWFhbjdxcEtpWi8rN2QvCnk5
aVBUOGx3QWdFRUVFQUFBUVFRUUFDQjVoTEllS1VqNHhXUVNDbkVXNzZRdDZ3dmo1NzF4NUdYT2xR
Z1VSVWttMG9kcWNNVi83SnYKdi8yMnFUdlZOZGRjWThjZWU2dzk4OHd6SVl5c3M4NDZuN3JweUpF
ajdleXp6dzZ6WXgxMTFGR215Z2tOQVFRUVFBQUJCQkJBQUFFRQptbERBYzBmR0o5cjFET0piNU1Q
UDQ3QkZ2czk1SmNUemlIbVByTEFsMzY3VEFTVDIwU2JISEhPTW5YTEtLYUY3bFI0cmlKeDg4c25K
CmU5VDNXcGhFYlkwMTFyRC8rcS8vc3J2dXVzdTIyMjQ3KytDREQrclhjSUFBQWdnZ2dBQUNDQ0NB
QUFKTkl1QkRLN0poeTFyT1UwZ0kKRzE3dXlIbnBJK3NCeExOSENDS1Jwc3RhMURvZFFLNjQ0Z3Jy
MzcrLy9mQ0hQd3kzdk8yMjIwSlZZOEtFQ1hiLy9mZmIzLzNkMzVrcQpIYzgvLzd6bGNvdUhuR2hB
K3IvKzY3L2F5eSsvYkwvNHhTK1N6OE1lQVFRUVFBQUJCQkJBQUFFRW1rUWc5akVma1FjT1ZVRFV6
VW9CClJOV1B5TStyVjFiZUt5QmhuMG9kaXhQQkNuekorKzY3eno3NTVCTzc4ODQ3dlg5WEZBYWZY
M2JaWmZiTFgvN1Mzbnp6elRBQWZkeTQKY2FGQ29obXh2dnZkNzdaNUZ3MWlmKzY1NSt5di8vcXYy
NXpuQVFJSUlJQUFBZ2dnZ0FBQ0NEU0JnR2NBelMrbGFrZFV5M2pCd1NzaApua0p5bmpxeUhqNlVP
ektxaFBnMVNldFVBTmxrazAxczc3MzNEdmZTZ29LVEprMnlPKzY0STFSRU50eHdReHM2ZEdqb1pu
WFRUVGNsCjcrZnpBOGR0WnNHNjhNSUw2ODl4Z0FBQ0NDQ0FBQUlJSUlBQUFzMGo0Qk5jaFJtd3RC
cTZacnJWNFBPOHB4RlZReUxOak9YQlE1MmcKTkJBOWFhbGlTSEtxNC90MTExMDNYUHcvLy9NLzl0
NTc3NFUxUHpUejFkRytCb2pXQWxFMVJBc05QdnZzczJGNzhNRUhiZE5OTjdWcAowNloxL0UyNEVn
RUVFRUFBQVFRUVFBQUJCSHFrZ0U5NFpiR3ZkTzd4dzZvZVFpcVZtbFU4ZUdoYVhqL3Q1MzE5RUI4
R1hpNHQvdmlkCnFvQWt0OWx4eHgyVFEvdkJEMzVnOTl4emo2bnFvVUhueVdyb3FueWNkZFpaOXRw
cnI5bC8vTWQvMkM2NzdOS21FbEsvQVFjSUlJQUEKQWdnZ2dBQUNDQ0RRSEFKVlJROFBIYjZ1ZUJ4
bnJhb0FFbFpDOStCUmJsMEJ2VVVwUk51aTFpVUJKTG5aNVpkZmJsZGZmYlU5OHNnagpkdSs5OTlw
RkYxMlVQQlZteWZyakgvOFl1bVR0dWVlZTlmTWNJSUFBQWdnZ2dBQUNDQ0NBUUhNS3RFNXk2NTJx
dkt1Vk1rYk5wK0t0CnFCTGk1US9QSk9GYzJZTklzWFV5M1BBbHV5eUFYSHZ0dFhiZGRkZlpvNDgr
YW1QR2pMRmlzUmk2WWwxODhjVjI2cW1uaG9IcXFvenMKc2NjZXphbkxwMFlBQVFRUVFBQUJCQkJB
QUlFMkFsbXZkaXdvVjYzc0FXTkJPV056RjVTdFVLaFlTNy9ZOHZOOVRFakJRNGwzMDFybwpJU1Jw
blE0ZzFXclZ6ajMzWEpzMWE1WnBMRWkvZnYzQ3ZkWEZTak5jYWMwUG5kTWdkUTFhcHlHQUFBSUlJ
SUFBQWdnZ2dFQXZFRkNsCnc4c2VtdUVxYkQ3cVhKTmRSVDdxM0VlRStNeFl2bGR4UktQT3U2b0xs
bFpBMTFvZWYvTTNmMk03N0xCRFhYSE9uRGwyeVNXWDJPVEoKazhQSzZMLy8vZS90RzkvNGhoMSsr
T0dtYVhtMzNucHJhMmxwcVYvUEFRSUlJSUFBQWdnZ2dBQUNDRFNaUUJoODNqclZidkxKTmU0Nwpy
cGF0VnF2NmVKQmNHQWVpc1NCK09qVE5sTldwQ3NqSWtTUHRnZ3N1U043UFhuLzlkWnN5WllyOS9P
Yy90NjkvL2V2MnpEUFAySHJyCnJSZWUvL1d2ZngwcUplZWRkMTRZZkQ1NjlHaGJlKzIxYmNpUUli
YldXbXZaeElrVFE3V2tmak1PRUVBQUFRUVFRQUFCQkJCQW9PY0sKZUtwWVdLeUZzUjRxY1dnMnJH
cXBiTjVCeW1lOThuMjVqMVY4OWl2TmdGVXFhanJlWEZnN3NGTUJwRStmUHFicWhnYWRQL1RRUTc3
UwpZVDZzQy9MQ0N5L1lvRUdEMm1COTlhdGZEZGVwVzliZGQ5OXREenp3Z0wzMDBrczJiOTQ4MC9Y
cXFrVkRBQUVFRUVBQUFRUVFRQUNCCm5pK2dSY2dINU1yMjh0dnpiSzIxKzF2Slo4UFNURmlhaXJk
Y0xucmdpR3poZ3J3dlJ0Z25kTXY2NlAxWjFyZHYzNUFYTWw0bVNmWEkKYXV6THF0SXhlUERnVU9W
UXBVTUJwTkgyOGNjZmh5cElvNi9qZWdRUVFBQUJCQkJBQUFFRUVGZzVBaW9vbkRObG9iMFZyMmE3
N3JhbQpEUnVVdDVuell2dGdkdG1HRGNqYndJSDliZERBdnRhdmI0c1ZQQ1BNZlBrM3RzYXNoOEp3
akU1VlFBNDk5TkJPZjJOMXdhSWhnQUFDCkNDQ0FBQUlJSUlCQTh3aW9POVdXUHRMaUQwOHVzUHQv
ODJjYk9LeXZEUjZZOHkxdlJSL3pVVmo0aWMyemluZkpXaGhXUTEvNForL3gKdE00YW9aZFVwd0pJ
OHhEeFNSRkFBQUVFRUVBQUFRUVFRS0NyQk5RRmU4dkh6Z0FBRERsSlJFRlU2NnRidGRqemI4MjFG
MllYYkhZdQpHeWE2eW1TelB0Njc3SXNSYW54STJUN0orMHhZSHo1dkd3MVlZR1BIYmhaNlR4RkF1
dXB2Z2ZzZ2dBQUNDQ0NBQUFJSUlMQ0tDQ2lBCnJMVkdQenZrcXo3dzQ3Y3o3WVdQaHR0Y24vbEtJ
OUJyNWJ5VisrYXNiMHZXQnM1L3dUWWZPTjIyM1h3RER5QmpiY0NBQVoyYkJXc1YKOGVWcklvQUFB
Z2dnZ0FBQ0NDQ0FRRXBBQVVUanY3Lzh4V0gydWRFTDdZRW5QcmFuM28zczNmbURQSWhrYkVocGpv
M056TEZ0MTZuWgpGemZjdUQ3N3JWNURCU1FGeVNFQ0NDQ0FBQUlJSUlBQUFnaDBURUFocEZBbzJJ
YnJEN1RQcnpQTVNxV1NGWXRGNzM1VjhTbDNCM3UxClk4MHc1bVBvMEtGaFlYSmRyMFhNUC9NQVVx
dlZ3am9nV29TRWhnQUNDQ0NBQUFJSUlJQUFBczBwb04veldSL3pvYVU1Vk5sUUdORmoKRFZEWDQr
U2NIcXNwZkNnTGRIc0FtVDU5dXQxNTU1MWhuUkFkRHhzMkxQVDkwdm9mKysyM254MXp6REhoZ3pZ
bk81OGFBUVFRUUFBQgpCQkJBQUlGVld5RHBqcVVna29TUkpJQW9wQ1NWRHdVUXRhZ3J1YTY5OWxw
ZmVLUWNGaGU4OGNZYjdXdGYrNXF0dSs2Njlzb3JyOWdQCmZ2QURlK0tKSjhJQ2hGT25UZzJoUkt1
amYvT2IzK3pLajhDOUVFQUFBUVFRUUFBQkJCQkFZQ1VJS0d3a2dVT2hJM25jL3FOMGFRVkUKL2J1
MG92bjgrZk50d1lJRnRzc3V1OWpUVHo5dG0yeXlTZnYzdGY3OSs5dVVLVlBDOWJmZmZydDk2MXZm
K3RRMW5FQUFBUVFRUUFBQgpCQkJBQUlIZUpkQ2xGWkQ5OTkvZkpreVlZQnR2dkxFcFZFeWJObTJK
NFNNaDFEUmNHMjIwa2FrU1FrTUFBUVFRUUFBQkJCQkFBSUhlCkw5Q2xBVVJjWjU5OXRqMzExRk1k
NmxvVng3Rzk5dHByWVlCSzc2Zm1HeUtBQUFJSUlJQUFBZ2dnZ0VDWEI1QkdTQjk1NUJHYk9YT20K
N2JISEhvMjhqR3NSUUFBQkJCQkFBQUVFRUVDZ1NRVldXZ0RSakZpSEhucW9iYi85OXJicnJyczJL
UjhmR3dFRUVFQUFBUVFRUUFBQgpCQm9SV0NrQjVNRUhIN1MvK3F1L3NoRWpSdGo5OTk4ZnB1dHE1
RU56TFFJSUlJQUFBZ2dnZ0FBQ0NEU253R2NXUURUZVEyTkREam5rCmtMRDJ4eW1ubkdLUFBmYVlE
Umt5cERubCtOUUlJSUFBQWdnZ2dBQUNDQ0RRc0VDWFRzTzdwSGQvNTUxM2JQTGt5ZmJIUC83UjFs
eHoKVGZ2R043NWhXaU5FaTVQUUVFQUFBUVFRUUFBQkJCQkFZTlVTNlBZQW90Qnh5U1dYckZxcWZG
c0VFRUFBQVFRUVFBQUJCQkJZb2tDMwpkOEhTS29nMEJCQkFBQUVFRUVBQUFRUVFRRUFDcEFQK0hT
Q0FBQUlJSUlBQUFnZ2dnTUJuSmtBQStjeW9lU01FRUVBQUFRUVFRQUFCCkJCQWdnUEJ2QUFFRUVF
QUFBUVFRUUFBQkJENHpBUUxJWjBiTkd5R0FBQUlJSUlBQUFnZ2dnQUFCaEg4RENDQ0FBQUlJSUlB
QUFnZ2cKOEprSkVFQStNMnJlQ0FFRUVFQUFBUVFRUUFBQkJMbzFnRngrK2VXMjRZWWIycVJKazVC
R0FBRUVFRUFBQVFRUVFBQ0JYaVFReDdGcApxOVZxbjlxUzU1TG5rOGU2dGxzRHlMUFBQaHRXUVAr
Ly8vdS9Ya1ROVjBFQUFRUVFRQUFCQkJCQUFBRUpKTUdpL1Q0SkpicEd4M3BlClRmdHVYUWw5blhY
V0NXODBac3lZc09jUEJCQkFBQUVFRUVBQUFRUVE2QjBDNlZDUkJJNXF0ZHFtR3BKOFV6MmZQTmV0
QVNRSkhtdXYKdlhieTN1d1JRQUFCQkJCQUFBRUVFRUNnRndna2xZMGtXR2lmYkZFVVdTYVRxVmMr
a212MG1tNE5JS05HalFxMHE2KytlaThnNWlzZwpnQUFDQ0NDQUFBSUlJSUNBQkJRb3N0bHN2ZHFo
eDVWS0pad3JsOHNoZk9pNkpJam9PWjNYOXBrRWtDU0k2RVBRRUVBQUFRUVFRQUFCCkJCQkFvTGtG
MVAxS29TTGR0U29KSWFwOEpOVVA3ZFgwM0djU1FJWU5HeGJlY0xYVlZndDcva0FBQVFRUVFBQUJC
QkJBQUlIbUYwZ0MKaGtLSWpwTktSM0plQVNYcG9xVnpDaCtsVWlsODhXNnRnQXdaTWlTOFNSSkVt
cCthYjRBQUFnZ2dnQUFDQ0NDQUFBSzVYTTQrK2VTVApBS0dBa2MvblEwVkV4Mm9LSDBtRlJHRkU0
V1AyN05tMjVwcHJkbThYcklFREI0WitZRU9IRGcwZmhEOFFRQUFCQkJCQUFBRUVFRUNnCitRVVVR
QllzV0ZBUEhlM0hnK2l4Z29lMllyRm84K2JOczVhV0ZoczhlSEQzQmhBbG9PSERoNXMrSUEwQkJC
QkFBQUVFRUVBQUFRUjYKaDRBcUhLTkhqN2EzM25vclZEY1dMbHhvL2Z2M0Q3LzdWUTFKcWg2cWZP
ZzVCUkl0VUs2dVd0MmVERWFPSE5rN2xQa1dDQ0NBQUFJSQpJSUFBQWdnZ0VBUVVNRFRNb2xBbzJJ
c3Z2aGk2VnltQTlPblRweTZreW9lNmFTa1BiTG5sbG1FL2YvNzg3ZzhnUC92Wnorb2ZnZ01FCkVF
QUFBUVFRUUFBQkJCQm9mZ0ZWTXJSdHRORkdwbUVYTDczMGtzMlpNeWNFRVhYTjZ0ZXZYd2dvbTIy
Mm1XMnh4UmFoT3FJeElXcmQKWGdIWmFhZWRtbCtZYjRBQUFnZ2dnQUFDQ0NDQUFBSjFBWFhCMHFh
aEZtUEhqclVCQXdhWXFodXFpR2lzaC9icDQvb0wvU0JLUCtqcQo0NXR1dWlra25odHV1S0dyYjgz
OUVFQUFBUVFRUUFBQkJCQkFZQ1VKYUt4M011T1Z4bnhvNFhHdC9hZXhIbXJwNTl0L3hHNE5JSk1t
ClRiTG5uMy9lTHIzMDB2YnZ5Mk1FRUVBQUFRUVFRQUFCQkJCb1lvRWtnR2l2NERGbzBLQXd5MVh5
bGRJaFJHTkdrdGF0QWVUMDAwKzMKYmJiWnhyU25JWUFBQWdnZ2dBQUNDQ0NBUU84UlNBY01mU3VO
Q2VuYnQyLzRnZ29jNnFLVkJJOGtySVRyd2hYZDlNZkJCeDlzVHo3NQpwR2xQUXdBQkJCQkFBQUVF
RUVBQWdkNGhvR0JSclZicmEzMGszMHF6WU9uM2Y5SjBYWHJUK1c2dGdDUnZ6QjRCQkJCQUFBRUVF
RUFBCkFRUjZwMEM2dXZHblAvM0pycnp5U3ROZXdVTlZrYVJTa2x4SEFPbWQvdzc0VmdnZ2dBQUND
Q0NBQUFJSWRLdUFBa2I3ZHMwMTE0UlQKTjk5OGM3MUNvaFBwYTFjNGdHaGhFYzN4UzBNQUFRUVFR
QUFCQkJCQUFJRlZTeUJaQnlUOXJSOTY2S0ZRK2RDNU45OTgwMzc3MjkvVwpnMGRTL2RCekt4eEFy
cnZ1T3J2NDRvdDFEeG9DQ0NDQUFBSUlJSUFBQWdpc1FnTEp1STdrSzJ2RjgxdHV1YVVlT0hUKzFs
dHZ0WG56CjV0V242MDJ1WGVFQWt0eUFQUUlJSUlBQUFnZ2dnQUFDQ0t4NkF1bXF4cjMzM21zelo4
NXNnNkR3Y2R0dHQ3VUpKYnFnMjFkQ2IvTXAKZUlBQUFnZ2dnQUFDQ0NDQUFBSzlSaUFKSVljY2Nv
Z2RldWloVnFsVWJNYU1HYWJac0xSQW9mYkpOY21YcGdLU1NMQkhBQUVFRUVBQQpBUVFRUUFDQmJo
Zm9WQVdrWEM3YndvVUxsL3NobFhxVWZtZ0lJSUFBQWdnZ2dBQUNDQ0N3YWd1c2NBRFJVdXMvK2Ns
UFRGTnNMYStOCkdESENubmppaWVWZHh2TUlJSUFBQWdnZ2dBQUNDQ0RReXdWV09JQjgrOXZmTm0w
MEJCQkFBQUVFRUVBQUFRUVFRS0NqQWlzY1FEcjYKQmx5SEFBSUlJSUFBQWdnZ2dBQUN2VXZnd3c4
L3RQbno1NGVacnpRa1EwTXpxdFdxMVdvMW16MTd0aFVLaGJEMTc5L2ZCZzhlYk5vUApHREFnSUJC
QWV0ZS9CYjROQWdnZ2dBQUNDQ0NBQUFMZExqQnk1RWdiTldxVXJiUE9PbUcySzQzNTFyYWtXYkJh
V2xwTUN4ZnFPWVVXClpzSHE5cjhlM2dBQkJCQkFBQUVFRUVBQUFRUVNBUUpJSXNFZUFRUVFRQUFC
QkJCQUFBRUV1bDJBQU5MdHhMd0JBZ2dnZ0FBQ0NDQ0EKQUFJSUpBSUVrRVNDUFFJSUlJQUFBZ2dn
Z0FBQ0NIUzdBSVBRdTUyWU4wQUFBUVFRUUFBQkJCQkFvSGNLeEhFY3Z0Z3R0OXhpZDl4eApoK2x4
c1ZnTWc4NDE4SHpQUGZlMEUwNDRvYzJYcHdMU2hvTUhDQ0NBQUFJSUlJQUFBZ2dnMEJHQkpIem8y
bjMzM2RlR0R4L2U1bVdhCmR2ZWdndzRLczJPbG55Q0FwRFU0UmdBQkJCQkFBQUVFRUVBQWdlVUtK
TlB1SmhmMjY5ZlBEam5ra0RaaDQrQ0REdzVyZjZTRGlxNG4KZ0NScTdCRkFBQUVFRUVBQUFRUVFR
S0JEQWxwd1VGdTZqUnMzempiWVlJTndhdXpZc2JiVFRqdlZBMGs2aEJCQTBtb2NJNEFBQWdnZwpn
QUFDQ0NDQVFJY0VWQVZwMzQ0NTVwaHc2ckRERHJOc05sc1BJT2xyQ1NEdDFYaU1BQUlJSUlBQUFn
Z2dnQUFDSFJaSVZ6ZFVBVG4rCitPTkRKVVNoUTFVU1BaOXN1aWtCcE1PMFhJZ0FBZ2dnZ0FBQ0ND
Q0FBQUx0QmRMVkRRV05yYmZlT2dTT3BKdFdFajYwMTdtVkZrREsKNWJJOS8venpObVBHalBiZmdj
Y0lJSUFBQWdnZ2dBQUNDQ0RRZ3dXcTFXcTlxcUZna1RUOXhsOWE4RWpPcjVRQTh0SkxMOW5PTys5
cwpOOXh3ZzJsMC9Qbm5uNTk4WnZZSUlJQUFBZ2dnZ0FBQ0NDRFF3d1hTb1VNZlZZOFZTdWJPblZ1
dmZsUXFsWEF1MlN1QTZKcVZzaERoClNTZWRaRk9uVHJVMTFsZ2owSTRmUDk2ZWV1b3AyMmFiYlhv
NE5SOFBBUVFRUUFBQkJCQkFBQUVFRkNTU2lrYXBWREp0OCtiTnMwOCsKK1NRc1FxaHVXVnFJVU9G
RCt5U2dyTFFBb2crUmhBLzk5ZTIxMTE2aE94WUJoSC9NQ0NDQUFBSUlJSUFBQWdqMGZBRUZpMWRm
ZmRWbQp6WnBsQ3hZc01IVzlVdWhvYVdteFFxRmcrWHcrN0pOanpZaWw4S0ZyL3g5ZnVMLzVtS1FG
U1FBQUFBQkpSVTVFcmtKZ2dnPT0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82488</attachid>
            <date>2011-02-15 11:01:32 -0800</date>
            <delta_ts>2011-02-15 12:20:39 -0800</delta_ts>
            <desc>Address Dan&apos;s comments.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>202915</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjU4IEBACisyMDExLTAyLTE1ICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTQyNDQKKyAgICAgICAgCisgICAgICAgIENvbnZlcnQgdGhlIGxpbmUgYm94IHRyZWUgdG8gZmxv
YXRpbmcgcG9pbnQgYW5kIGVsaW1pbmF0ZSBmb250IHJvdW5kaW5nIGhhY2tzLiAgVGhpcyBwYXRj
aCByZW1vdmVzIGFsbCBvZiB0aGUgcm91bmRpbmcKKyAgICAgICAgaGFja3MgZnJvbSB0aGUgRm9u
dCBjb2RlIGFuZCBtYWtlcyBzdXJlIGFsbCBGb250IEFQSXMgaW52b2x2aW5nIHdpZHRoIG1lYXN1
cmVtZW50IGFuZCB3aWR0aCBvZmZzZXRzIHVzZSBmbG9hdHMuCisgICAgICAgIAorICAgICAgICBU
aGUgbGluZSBib3ggdHJlZSdzIHgsIHkgYW5kIGxvZ2ljYWxXaWR0aCBtZW1iZXJzIGhhdmUgYWxs
IGJlZW4gY29udmVydGVkIHRvIGZsb2F0cyBhbmQgYWxsIG9mIHRoZSBsaW5lIGJveCBBUElzIGhh
dmUKKyAgICAgICAgYmVlbiBjaGFuZ2VkIGFzIHdlbGwuCisgICAgICAgIAorICAgICAgICBJbiB0
ZXJtcyBvZiBwaXhlbCBhZGp1c3RtZW50cywgb3ZlcmZsb3cgaXMgdXNpbmcgYW4gZW5jbG9zaW5n
IG1vZGVsIChzbyBpdCB3aWxsIGJlIGVuY2xvc2luZ0ludFJlY3Qgb2YgYSBsaW5lIGJveCdzIHgv
eS93aWR0aC9oZWlnaHQpLgorICAgICAgICAKKyAgICAgICAgQmFja2dyb3VuZCBhbmQgYm9yZGVy
IHBhaW50aW5nIGlzIHVzaW5nIGEgcm91bmRpbmcgbW9kZWwsIHNvIGJvcmRlcnMgYW5kIGJhY2tn
cm91bmRzIHdpbGwgcm91bmQgdG8gdGhlIG5lYXJlc3QgcGl4ZWwgd2hlbiBwYWludGluZy4KKyAg
ICAgICAgCisgICAgICAgIFJlcGxhY2VkIGVsZW1lbnRzIHN0aWxsIHNuYXAgdG8gaW50ZWdlciBw
b3NpdGlvbnMgb24gbGluZXMsIGFuZCB0aGV5IHVzZSBhIHJvdW5kaW5nIG1vZGVsIGFzIHdlbGws
IGFsdGhvdWdoIHRoZWlyIHVuZGVybHlpbmcgbGluZSBib3hlcworICAgICAgICBzdGlsbCBoYXZl
IGEgcHJlY2lzZSBmbG9hdGluZyBwb2ludCBwb3NpdGlvbi4KKworICAgICAgICBKdXN0aWZpY2F0
aW9uIHdpbGwgbm93IGFsbG93IHN1YnBpeGVsIHBvc2l0aW9uaW5nIHRvIG9jY3VyIGFzIHdlbGwu
ICBQbGF0Zm9ybXMgdGhhdCBkb24ndCBzdXBwb3J0IHN1YnBpeGVsIHBvc2l0aW9uaW5nIHNob3Vs
ZCBhbHJlYWR5CisgICAgICAgIGJlIHJvdW5kaW5nIGp1c3RpZmljYXRpb24gc3BhY2luZyBpbiB0
aGVpciBmb250IGNvZGUuCisKKyAgICAgICAgTWFueSBsYXlvdXQgdGVzdCByZXN1bHRzIGNoYW5n
ZSBvbiBNYWMsIHNpbmNlIHJvdW5kaW5nIGhhY2tzIHdlcmUgdXNlZCB0aGVyZSBhbmQgYXJlIG5v
dyBnb25lLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJbnRlcm5hbCk6CisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vRmlsZUNob29zZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
aWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojp3aWR0aCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6c3BhY2VX
aWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojp0YWJXaWR0aCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6
OmdldEdseXBoc0FuZEFkdmFuY2VzRm9yU2ltcGxlVGV4dCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDo6ZHJhd1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0Ojpk
cmF3RW1waGFzaXNNYXJrcyk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRy
YXdCaWRpVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdIaWdo
bGlnaHRGb3JUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6U2ltcGxlRm9udERhdGEpOgorICAgICAg
ICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtR2x5cGhJbml0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6
U2ltcGxlRm9udERhdGE6OnNwYWNlV2lkdGgpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L1N0cmluZ1RydW5jYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzdHJpbmdXaWR0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjp0cnVuY2F0ZVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTdHJp
bmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmluZ1Ry
dW5jYXRvcjo6cmlnaHRUcnVuY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHJpbmdUcnVuY2F0
b3I6OndpZHRoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TdHJpbmdUcnVuY2F0b3Iu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmg6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0UnVuOjpUZXh0UnVuKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRSdW46OnhQb3Mp
OgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJ1bjo6ZXhwYW5zaW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRSdW46OmRpcmVjdGlvbmFsT3ZlcnJpZGUpOgorICAgICAgICAoV2ViQ29yZTo6VGV4
dFJ1bjo6ZGlzYWJsZVNwYWNpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRo
SXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6V2lkdGhJdGVy
YXRvcik6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpDb21wbGV4VGV4dENvbnRyb2xsZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjphZHZhbmNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzQW5kQWR2YW5jZXMp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENvbXBsZXhUZXh0TWFjLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmdldEdseXBoc0FuZEFkdmFuY2VzRm9yQ29tcGxl
eFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHRN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dENoZWNraW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRl
eHRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9y
VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dENoZWNraW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0
YVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBo
SW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRT
a2lhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JU
ZXh0Q2hlY2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3TGlu
ZUZvclRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRl
eHRDR1dpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5l
Rm9yVGV4dENoZWNraW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vVW5pc2Ny
aWJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpVbmlzY3JpYmVDb250cm9sbGVy
OjpzaGFwZUFuZFBsYWNlSXRlbSk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0ZpbGVDaG9vc2Vy
R3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVDaG9vc2VyOjpiYXNlbmFtZUZvcldpZHRo
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6d2lkdGhXaXRoRm9udCk6CisgICAgICAgIChXZWJDb3JlOjpkcmF3QXRQb2ludCk6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL0ZpbGVDaG9vc2VyTWFjLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6RmlsZUNob29zZXI6OmJhc2VuYW1lRm9yV2lkdGgpOgorICAgICAgICAqIHBsYXRmb3JtL3dp
bi9EcmFnSW1hZ2VXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRHJhZ0ltYWdlRm9y
TGluayk6CisgICAgICAgICogcGxhdGZvcm0vd2luL0ZpbGVDaG9vc2VyV2luLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZpbGVDaG9vc2VyOjpiYXNlbmFtZUZvcldpZHRoKToKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwTWVu
dVdpbjo6Y2FsY3VsYXRlUG9zaXRpb25BbmRTaXplKToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4v
V2ViQ29yZVRleHRSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlVGV4dEZs
b2F0V2lkdGgpOgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQp
OgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVzdWx0Lmg6CisgICAgICAgICogcmVuZGVy
aW5nL0lubGluZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OmFkanVzdFBv
c2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUJveDo6cGxhY2VFbGxpcHNpc0JveCk6
CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcp
OgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQm94OjpmbGlwRm9yV3JpdGluZ01vZGUpOgorICAg
ICAgICAqIHJlbmRlcmluZy9JbmxpbmVCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUJv
eDo6SW5saW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUJveDo6YWRqdXN0TGluZURp
cmVjdGlvblBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUJveDo6YWRqdXN0Qmxv
Y2tEaXJlY3Rpb25Qb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OnNldFgp
OgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQm94Ojp4KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
bGluZUJveDo6c2V0WSk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OnkpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lQm94Ojp3aWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVC
b3g6OmhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OmxvZ2ljYWxMZWZ0KToK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUJveDo6bG9naWNhbFJpZ2h0KToKKyAgICAgICAgKFdl
YkNvcmU6OklubGluZUJveDo6c2V0TG9naWNhbExlZnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5s
aW5lQm94OjpwaXhlbFNuYXBwZWRMb2dpY2FsTGVmdCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVCb3g6OnBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVCb3g6OnNldExvZ2ljYWxXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6Omxv
Z2ljYWxXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OnZlcnRpY2FsQWxpZ24p
OgorICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OklubGluZUZsb3dCb3g6OnJvdW5kZWRGcmFtZVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6
SW5saW5lRmxvd0JveDo6YWRqdXN0UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5l
Rmxvd0JveDo6cGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OklubGluZUZsb3dCb3g6OmFkanVzdE1heEFzY2VudEFuZERlc2NlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6dmVydGljYWxQb3NpdGlvbkZvckJveCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVG
bG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaWdodHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5s
aW5lRmxvd0JveDo6cGxhY2VCb3hlc0luQmxvY2tEaXJlY3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lRmxvd0JveDo6YWRkQm94U2hhZG93VmlzdWFsT3ZlcmZsb3cpOgorICAgICAgICAo
V2ViQ29yZTo6SW5saW5lRmxvd0JveDo6YWRkVGV4dEJveFZpc3VhbE92ZXJmbG93KToKKyAgICAg
ICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmNvbXB1dGVPdmVyZmxvdyk6CisgICAgICAgIChX
ZWJDb3JlOjpJbmxpbmVGbG93Qm94OjpzZXRMYXlvdXRPdmVyZmxvdyk6CisgICAgICAgIChXZWJD
b3JlOjpJbmxpbmVGbG93Qm94OjpzZXRWaXN1YWxPdmVyZmxvdyk6CisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVGbG93Qm94Ojpub2RlQXRQb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVG
bG93Qm94OjpwYWludEJveERlY29yYXRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZs
b3dCb3g6OnBhaW50TWFzayk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVGbG93Qm94OjpwbGFj
ZUVsbGlwc2lzQm94KToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oOgorICAg
ICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6bWF4WUxheW91dE92ZXJmbG93KToKKyAgICAg
ICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6Om1heFhMYXlvdXRPdmVyZmxvdyk6CisgICAgICAg
IChXZWJDb3JlOjpJbmxpbmVGbG93Qm94OjpsYXlvdXRPdmVyZmxvd1JlY3QpOgorICAgICAgICAo
V2ViQ29yZTo6SW5saW5lRmxvd0JveDo6bWF4WVZpc3VhbE92ZXJmbG93KToKKyAgICAgICAgKFdl
YkNvcmU6OklubGluZUZsb3dCb3g6Om1heFhWaXN1YWxPdmVyZmxvdyk6CisgICAgICAgIChXZWJD
b3JlOjpJbmxpbmVGbG93Qm94Ojp2aXN1YWxPdmVyZmxvd1JlY3QpOgorICAgICAgICAqIHJlbmRl
cmluZy9JbmxpbmVUZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6
OnBsYWNlRWxsaXBzaXNCb3gpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6bm9k
ZUF0UG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRUZXh0V2l0aFNoYWRvd3MpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6
SW5saW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5l
VGV4dEJveDo6cGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQpOgorICAgICAgICAoV2ViQ29yZTo6
SW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklubGlu
ZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lVGV4dEJveDo6cGFpbnRUZXh0TWF0Y2hNYXJrZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lVGV4dEJveDo6cGFpbnREb2N1bWVudE1hcmtlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGVybGluZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbmxpbmVUZXh0Qm94Ojp0ZXh0UG9zKToKKyAgICAgICAgKFdlYkNvcmU6OklubGlu
ZVRleHRCb3g6Om9mZnNldEZvclBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRl
eHRCb3g6OnBvc2l0aW9uRm9yT2Zmc2V0KToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4
dEJveC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6c2V0RXhwYW5zaW9uKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQlIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJSOjp3aWR0aCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnN0cmlwVHJhaWxpbmdTcGFjZSk6CisgICAgICAgIChXZWJDb3JlOjp1cGRh
dGVQcmVmZXJyZWRXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6Y29tcHV0
ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6OmFkanVzdEZvckJvcmRlckZpdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6YWRkRm9jdXNSaW5nUmVjdHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNG
b3JMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpmaXRCZWxvd0Zsb2F0cyk6
CisgICAgICAgIChXZWJDb3JlOjp0ZXh0V2lkdGgpOgorICAgICAgICAoV2ViQ29yZTo6dHJ5SHlw
aGVuYXRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZUJy
ZWFrKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJveDo6cG9zaXRpb25MaW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckNvbWJpbmVUZXh0Ojp3aWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJDb21iaW5lVGV4dDo6YWRqdXN0VGV4dE9yaWdpbik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJDb21iaW5lVGV4dDo6Y29tYmluZVRleHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJDb21iaW5lVGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQ29tYmluZVRleHQ6OmNv
bWJpbmVkVGV4dFdpZHRoKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJDb3VudGVyOjpjb21wdXRlUHJlZmVycmVkTG9naWNh
bFdpZHRocyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRW1iZWRkZWRPYmplY3Q6OmdldFJlcGxhY2VtZW50VGV4dEdlb21ldHJ5KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lk
dGhzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5l
OjpsaW5lc0JvdW5kaW5nQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6bGlu
ZXNWaXN1YWxPdmVyZmxvd0JvdW5kaW5nQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklu
bGluZTo6YWRkRm9jdXNSaW5nUmVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5l
OjpwYWludE91dGxpbmUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnVwZGF0ZUZyb21FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnBhaW50SXRlbUZvcmVncm91bmQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJNZW51TGlzdDo6dXBkYXRlT3B0aW9uc1dpZHRoKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojpsb2NhbENhcmV0
UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojp3aWR0aEZyb21DYWNoZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldpZHRocyk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUZXh0OjptaW5Mb2dpY2FsV2lkdGgpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGV4dDo6bWF4TG9naWNhbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRleHQ6OmZpcnN0UnVuT3JpZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRl
eHQ6OmZpcnN0UnVuWCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjpmaXJzdFJ1blkp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6d2lkdGgpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGV4dDo6bGluZXNCb3VuZGluZ0JveCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRleHQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2w6OmdldEF2Z0NoYXJXaWR0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbDo6cGFpbnRQbGFjZWhvbGRlcik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6d3JpdGVUZXh0UnVuKToKKyAgICAgICAgKiByZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJvb3RJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXNCb3gpOgorICAgICAgICAo
V2ViQ29yZTo6Um9vdElubGluZUJveDo6YWRqdXN0UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6Um9vdElubGluZUJveDo6YmVmb3JlQW5ub3RhdGlvbnNBZGp1c3RtZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OlJvb3RJbmxpbmVCb3g6OnBhZGRlZExheW91dE92ZXJmbG93UmVjdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvVmVy
dGljYWxQb3NpdGlvbkNhY2hlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVU
ZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6Om9mZnNldEZv
clBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnBvc2l0aW9u
Rm9yT2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OmNvbnN0cnVj
dFRleHRSdW4pOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp3cml0ZVJlbmRlclNWR1RleHRCb3gpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dmcvU1ZHVGV4dE1ldHJpY3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dE1ldHJpY3M6
OlNWR1RleHRNZXRyaWNzKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN0cnVjdFRleHRSdW4pOgor
ICAgICAgICAqIHN2Zy9TVkdGb250LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZsb2F0V2lkdGhN
aXNzaW5nR2x5cGhDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpkcmF3VGV4dFVz
aW5nU1ZHRm9udCk6CisKIDIwMTEtMDItMTUgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNvbi4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC00MDAsOSArNDAwLDkgQEAgX19aTjdXZWJD
b3JlMTVQcm90ZWN0aW9uU3BhY2VDMUVSS04zV1RGNgogX19aTjdXZWJDb3JlMTVQcm90ZWN0aW9u
U3BhY2VDMUV2CiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE3YWxpZ25DZW50ZXJBbHdh
eXNFCiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE5YWxpZ25Ub0VkZ2VJZk5lZWRlZEUK
LV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRlRVJLTjNXVEY2U3Ry
aW5nRWZSS05TXzRGb250RWIKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRjZW50ZXJU
cnVuY2F0ZUVSS04zV1RGNlN0cmluZ0VmUktOU180Rm9udEViCi1fX1pON1dlYkNvcmUxNVN0cmlu
Z1RydW5jYXRvcjV3aWR0aEVSS04zV1RGNlN0cmluZ0VSS05TXzRGb250RWIKK19fWk43V2ViQ29y
ZTE1U3RyaW5nVHJ1bmNhdG9yMTRjZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0VmUktOU180
Rm9udEUKK19fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRlRVJLTjNX
VEY2U3RyaW5nRWZSS05TXzRGb250RQorX19aTjdXZWJDb3JlMTVTdHJpbmdUcnVuY2F0b3I1d2lk
dGhFUktOM1dURjZTdHJpbmdFUktOU180Rm9udEUKIF9fWk43V2ViQ29yZTE1VmlzaWJsZVBvc2l0
aW9uQzFFUE5TXzROb2RlRWlOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3JlMTVWaXNpYmxlUG9z
aXRpb25DMUVSS05TXzhQb3NpdGlvbkVOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3JlMTVkZWZh
dWx0TGFuZ3VhZ2VFdgpAQCAtMTEyNCw3ICsxMTI0LDcgQEAgX19aTks3V2ViQ29yZTI3QXV0aGVu
dGljYXRpb25DaGFsbGVuZ2VCYQogX19aTks3V2ViQ29yZTI3QXV0aGVudGljYXRpb25DaGFsbGVu
Z2VCYXNlMjBwcmV2aW91c0ZhaWx1cmVDb3VudEV2CiBfX1pOSzdXZWJDb3JlMjdBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZUJhc2U1ZXJyb3JFdgogX19aTks3V2ViQ29yZTI3QXV0aGVudGljYXRpb25D
aGFsbGVuZ2VCYXNlNmlzTnVsbEV2Ci1fX1pOSzdXZWJDb3JlNEZvbnQxMGZsb2F0V2lkdGhFUktO
U183VGV4dFJ1bkVQTjNXVEY3SGFzaFNldElQS05TXzE0U2ltcGxlRm9udERhdGFFTlM0XzdQdHJI
YXNoSVM4X0VFTlM0XzEwSGFzaFRyYWl0c0lTOF9FRUVFUE5TXzEzR2x5cGhPdmVyZmxvd0UKK19f
Wk5LN1dlYkNvcmU0Rm9udDV3aWR0aEVSS05TXzdUZXh0UnVuRVBOM1dURjdIYXNoU2V0SVBLTlNf
MTRTaW1wbGVGb250RGF0YUVOUzRfN1B0ckhhc2hJUzhfRUVOUzRfMTBIYXNoVHJhaXRzSVM4X0VF
RUVQTlNfMTNHbHlwaE92ZXJmbG93RQogX19aTks3V2ViQ29yZTRGb250OGRyYXdUZXh0RVBOU18x
NUdyYXBoaWNzQ29udGV4dEVSS05TXzdUZXh0UnVuRVJLTlNfMTBGbG9hdFBvaW50RWlpCiBfX1pO
SzdXZWJDb3JlNEtVUkwxMWNyZWF0ZUNGVVJMRXYKIF9fWk5LN1dlYkNvcmU0S1VSTDExaXNMb2Nh
bEZpbGVFdgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTMxNzMsNiArMzE3
Myw3IEBACiAJCUE2MjJBOEZDMTIyQzQ0QTYwMEE3ODVCMyAvKiBCaW5kaW5nU2VjdXJpdHlCYXNl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE2MjJB
OEY2MTIyQzQ0QTYwMEE3ODVCMyAvKiBCaW5kaW5nU2VjdXJpdHlCYXNlLmNwcCAqLzsgfTsKIAkJ
QTYyMkE4RkQxMjJDNDRBNjAwQTc4NUIzIC8qIEJpbmRpbmdTZWN1cml0eUJhc2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE2MjJBOEY3MTIyQzQ0QTYw
MEE3ODVCMyAvKiBCaW5kaW5nU2VjdXJpdHlCYXNlLmggKi87IH07CiAJCUE2MjJBOEZGMTIyQzQ0
QTYwMEE3ODVCMyAvKiBHZW5lcmljQmluZGluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTYyMkE4RjkxMjJDNDRBNjAwQTc4NUIzIC8qIEdlbmVyaWNC
aW5kaW5nLmggKi87IH07CisJCUE3MTUxQkQ4MTJGMTU1OEYwMDVBMEY2NCAvKiBUZXh0Q2hlY2tl
ckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTcxNTFCRDcxMkYxNTU4RjAwNUEwRjY0IC8qIFRleHRDaGVja2VyQ2xpZW50LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTcxODc2MEUwQjJBMTIw
MTAwQTE2RUNFIC8qIERyYWdBY3Rpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNzE4NzYwRDBCMkExMjAxMDBBMTZFQ0UgLyogRHJhZ0FjdGlvbnMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNzE4
Nzg5MDBCMkQwNEFDMDBBMTZFQ0UgLyogRHJhZ0NvbnRyb2xsZXJNYWMubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzE4Nzg4RjBCMkQwNEFDMDBBMTZF
Q0UgLyogRHJhZ0NvbnRyb2xsZXJNYWMubW0gKi87IH07CiAJCUE3M0Y5NUZFMTJDOTdCRkUwMDMx
QUFGOSAvKiBSb3VuZGVkSW50UmVjdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNzNGOTVGQzEyQzk3QkZFMDAzMUFBRjkgLyogUm91bmRlZEludFJl
Y3QuY3BwICovOyB9OwpAQCAtMzIxNyw3ICszMjE4LDYgQEAKIAkJQTdEM0M1MjQwQjU3NkI0QjAw
MkNBNDUwIC8qIFBhc3RlYm9hcmRIZWxwZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE3RDNDNTIzMEI1NzZCNEIwMDJDQTQ1MCAvKiBQYXN0ZWJvYXJk
SGVscGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQTdENkIzNDkwRjYxMTA0NTAwQjc5RkQxIC8qIFdvcmtlclNjcmlwdExvYWRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdENkIzNDcwRjYxMTA0
NTAwQjc5RkQxIC8qIFdvcmtlclNjcmlwdExvYWRlci5oICovOyB9OwogCQlBN0Q2QjM0QTBGNjEx
MDQ1MDBCNzlGRDEgLyogV29ya2VyU2NyaXB0TG9hZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RDZCMzQ4MEY2MTEwNDUwMEI3OUZEMSAvKiBX
b3JrZXJTY3JpcHRMb2FkZXIuY3BwICovOyB9OwotCQlBNzE1MUJEODEyRjE1NThGMDA1QTBGNjQg
LyogVGV4dENoZWNrZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE3MTUxQkQ3MTJGMTU1OEYwMDVBMEY2NCAvKiBUZXh0Q2hlY2tlckNsaWVu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE3
REJGOEREMTI3NjkxOUMwMDZCNjAwOCAvKiBUZXh0Q2hlY2tpbmdIZWxwZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEQkY4REIxMjc2OTE5QzAw
NkI2MDA4IC8qIFRleHRDaGVja2luZ0hlbHBlci5jcHAgKi87IH07CiAJCUE3REJGOERFMTI3Njkx
OUMwMDZCNjAwOCAvKiBUZXh0Q2hlY2tpbmdIZWxwZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3REJGOERDMTI3NjkxOUMwMDZCNjAwOCAvKiBUZXh0
Q2hlY2tpbmdIZWxwZXIuaCAqLzsgfTsKIAkJQTdGMzM4QTMxMUMwRUZDQTAwQTMyMEE3IC8qIFNo
YWRvd0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTdGMzM4QTExMUMwRUZDQTAwQTMyMEE3IC8qIFNoYWRvd0VsZW1lbnQuY3BwICovOyB9
OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTE3NzMsNyArMTc3Myw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3
VGV4dEkKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRleHQubGVuZ3RoKCk7CiAgICAgY29uc3Qg
VUNoYXIqIHN0cmluZyA9IHRleHQuY2hhcmFjdGVycygpOwotICAgIFRleHRSdW4gdGV4dFJ1bihz
dHJpbmcsIGxlbmd0aCwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNp
b24sIHJ0bCwgb3ZlcnJpZGUsIGZhbHNlLCBmYWxzZSk7CisgICAgVGV4dFJ1biB0ZXh0UnVuKHN0
cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lv
biwgcnRsLCBvdmVycmlkZSk7CiAKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRleHQgYXQgdGhlIGNv
cnJlY3QgcG9pbnQuCiAgICAgRmxvYXRQb2ludCBsb2NhdGlvbih4LCB5KTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21pdW0uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hy
b21pdW0uY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCw5ICs0
NCw5IEBAIFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICBlbHNl
IGlmIChtX2ZpbGVuYW1lcy5zaXplKCkgPT0gMSkKICAgICAgICAgc3RyaW5nID0gcGF0aEdldERp
c3BsYXlGaWxlTmFtZShtX2ZpbGVuYW1lc1swXSk7CiAgICAgZWxzZQotICAgICAgICByZXR1cm4g
U3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmlsZVVwbG9hZFRleHQobV9m
aWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIFN0
cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxvYWRUZXh0KG1fZmls
ZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250KTsKIAotICAgIHJldHVybiBTdHJpbmdUcnVuY2F0
b3I6OmNlbnRlclRydW5jYXRlKHN0cmluZywgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHdpZHRoKSwgZm9u
dCwgZmFsc2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0
cmluZywgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHdpZHRoKSwgZm9udCk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQu
Y3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxNyArMzksNiBAQCB1c2luZyBuYW1lc3Bh
Y2UgVW5pY29kZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1aW50OF90IEZvbnQ6
OmdSb3VuZGluZ0hhY2tDaGFyYWN0ZXJUYWJsZVsyNTZdID0gewotICAgIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDEgLypcdCovLCAxIC8qXG4qLywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAxIC8qc3BhY2UqLywg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKi0qLywgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKj8qLywKLSAgICAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwKLSAgICAxIC8qbm8tYnJlYWsgc3BhY2UqLywgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAKLX07Ci0KIEZvbnQ6
OkNvZGVQYXRoIEZvbnQ6OnNfY29kZVBhdGggPSBBdXRvOwogCiAvLyA9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpAQCAtMTc2LDcgKzE2NSw3IEBAIHZvaWQgRm9udDo6ZHJhd0Vt
cGhhc2lzTWFya3MoR3JhcGhpY3NDb24KICAgICAgICAgZHJhd0VtcGhhc2lzTWFya3NGb3JDb21w
bGV4VGV4dChjb250ZXh0LCBydW4sIG1hcmssIHBvaW50LCBmcm9tLCB0byk7CiB9CiAKLWZsb2F0
IEZvbnQ6OmZsb2F0V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IFNpbXBs
ZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cp
IGNvbnN0CitmbG9hdCBGb250Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIEhhc2hTZXQ8Y29u
c3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhP
dmVyZmxvdykgY29uc3QKIHsKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAgIGlmIChwcmltYXJ5
Rm9udCgpLT5pc1NWR0ZvbnQoKSkKQEAgLTE5NCw3ICsxODMsNyBAQCBmbG9hdCBGb250OjpmbG9h
dFdpZHRoKGNvbnN0IFRleHRSdW4mIHJ1CiAgICAgcmV0dXJuIGZsb2F0V2lkdGhGb3JDb21wbGV4
VGV4dChydW4sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQogCi1mbG9hdCBGb250
OjpmbG9hdFdpZHRoKGNvbnN0IFRleHRSdW4mIHJ1biwgaW50IGV4dHJhQ2hhcnNBdmFpbGFibGUs
IGludCYgY2hhcnNDb25zdW1lZCwgU3RyaW5nJiBnbHlwaE5hbWUpIGNvbnN0CitmbG9hdCBGb250
Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIGludCBleHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQm
IGNoYXJzQ29uc3VtZWQsIFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdAogewogI2lmICFFTkFCTEUo
U1ZHX0ZPTlRTKQogICAgIFVOVVNFRF9QQVJBTShleHRyYUNoYXJzQXZhaWxhYmxlKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHJldmlzaW9uIDc4NTcxKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCSh3b3JraW5nIGNvcHkp
CkBAIC05NCw5ICs5NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRyYXdUZXh0KEdyYXBoaWNzQ29u
dGV4dCosIGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBp
bnQgdG8gPSAtMSkgY29uc3Q7CiAgICAgdm9pZCBkcmF3RW1waGFzaXNNYXJrcyhHcmFwaGljc0Nv
bnRleHQqLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBG
bG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7CiAKLSAgICBpbnQg
d2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4q
IGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93ID0gMCkgY29u
c3QgeyByZXR1cm4gbHJvdW5kZihmbG9hdFdpZHRoKHJ1biwgZmFsbGJhY2tGb250cywgZ2x5cGhP
dmVyZmxvdykpOyB9Ci0gICAgZmxvYXQgZmxvYXRXaWR0aChjb25zdCBUZXh0UnVuJiwgSGFzaFNl
dDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxv
dyogZ2x5cGhPdmVyZmxvdyA9IDApIGNvbnN0OwotICAgIGZsb2F0IGZsb2F0V2lkdGgoY29uc3Qg
VGV4dFJ1biYgcnVuLCBpbnQgZXh0cmFDaGFyc0F2YWlsYWJsZSwgaW50JiBjaGFyc0NvbnN1bWVk
LCBTdHJpbmcmIGdseXBoTmFtZSkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgoY29uc3QgVGV4dFJ1
biYsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEds
eXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgoY29uc3QgVGV4dFJ1biYs
IGludCBleHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQsIFN0cmluZyYgZ2x5
cGhOYW1lKSBjb25zdDsKIAogICAgIGludCBvZmZzZXRGb3JQb3NpdGlvbihjb25zdCBUZXh0UnVu
JiwgZmxvYXQgcG9zaXRpb24sIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMpIGNvbnN0OwogICAg
IEZsb2F0UmVjdCBzZWxlY3Rpb25SZWN0Rm9yVGV4dChjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxv
YXRQb2ludCYsIGludCBoLCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKSBjb25zdDsKQEAgLTEy
OSw4ICsxMjgsOCBAQCBwdWJsaWM6CiAKICAgICAvLyBNZXRyaWNzIHRoYXQgd2UgcXVlcnkgdGhl
IEZvbnRGYWxsYmFja0xpc3QgZm9yLgogICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmlj
cygpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmZvbnRNZXRyaWNzKCk7IH0KLSAgICBp
bnQgc3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIChpbnQpY2VpbGYocHJpbWFyeUZvbnQoKS0+
YWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmcpOyB9Ci0gICAgZmxvYXQgdGFi
V2lkdGgoY29uc3QgU2ltcGxlRm9udERhdGEmIGZvbnREYXRhKSBjb25zdCB7IHJldHVybiA4ICog
Y2VpbGYoZm9udERhdGEuYWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBsZXR0ZXJTcGFjaW5nKCkpOyB9
CisgICAgaW50IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBwcmltYXJ5Rm9udCgpLT5zcGFj
ZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmc7IH0KKyAgICBmbG9hdCB0YWJXaWR0aChjb25zdCBT
aW1wbGVGb250RGF0YSYgZm9udERhdGEpIGNvbnN0IHsgcmV0dXJuIDggKiBmb250RGF0YS5zcGFj
ZVdpZHRoKCkgKyBsZXR0ZXJTcGFjaW5nKCk7IH0KICAgICBpbnQgZW1waGFzaXNNYXJrQXNjZW50
KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNpc01hcmtEZXNjZW50
KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNpc01hcmtIZWlnaHQo
Y29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CkBAIC0yMDEsMTIgKzIwMCw2IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgQ29kZVBhdGggY29kZVBhdGgoKTsKICAgICBzdGF0aWMgQ29kZVBhdGggc19j
b2RlUGF0aDsKIAotICAgIHN0YXRpYyBjb25zdCB1aW50OF90IGdSb3VuZGluZ0hhY2tDaGFyYWN0
ZXJUYWJsZVsyNTZdOwotICAgIHN0YXRpYyBib29sIGlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKFVD
aGFyMzIgYykKLSAgICB7Ci0gICAgICAgIHJldHVybiAoKChjICYgfjB4RkYpID09IDAgJiYgZ1Jv
dW5kaW5nSGFja0NoYXJhY3RlclRhYmxlW2NdKSk7Ci0gICAgfQotCiAgICAgRm9udFNlbGVjdG9y
KiBmb250U2VsZWN0b3IoKSBjb25zdDsKICAgICBzdGF0aWMgYm9vbCB0cmVhdEFzU3BhY2UoVUNo
YXIgYykgeyByZXR1cm4gYyA9PSAnICcgfHwgYyA9PSAnXHQnIHx8IGMgPT0gJ1xuJyB8fCBjID09
IG5vQnJlYWtTcGFjZTsgfQogICAgIHN0YXRpYyBib29sIHRyZWF0QXNaZXJvV2lkdGhTcGFjZShV
Q2hhciBjKSB7IHJldHVybiBjIDwgMHgyMCB8fCAoYyA+PSAweDdGICYmIGMgPCAweEEwKSB8fCBj
ID09IHNvZnRIeXBoZW4gfHwgKGMgPj0gMHgyMDBjICYmIGMgPD0gMHgyMDBmKSB8fCAoYyA+PSAw
eDIwMmEgJiYgYyA8PSAweDIwMmUpIHx8IGMgPT0gb2JqZWN0UmVwbGFjZW1lbnRDaGFyYWN0ZXI7
IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
c3RQYXRoLmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250RmFzdFBhdGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOTcsOSArMjk3LDgg
QEAgZmxvYXQgRm9udDo6Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JTaW1wbAogICAgIGZsb2F0IGFm
dGVyV2lkdGggPSBpdC5tX3J1bldpZHRoU29GYXI7CiAKICAgICBpZiAocnVuLnJ0bCgpKSB7Ci0g
ICAgICAgIGZsb2F0IGZpbmFsUm91bmRpbmdXaWR0aCA9IGl0Lm1fZmluYWxSb3VuZGluZ1dpZHRo
OwogICAgICAgICBpdC5hZHZhbmNlKHJ1bi5sZW5ndGgoKSk7Ci0gICAgICAgIGluaXRpYWxBZHZh
bmNlID0gZmluYWxSb3VuZGluZ1dpZHRoICsgaXQubV9ydW5XaWR0aFNvRmFyIC0gYWZ0ZXJXaWR0
aDsKKyAgICAgICAgaW5pdGlhbEFkdmFuY2UgPSBpdC5tX3J1bldpZHRoU29GYXIgLSBhZnRlcldp
ZHRoOwogICAgIH0gZWxzZQogICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGJlZm9yZVdpZHRoOwog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5jcHAJKHJldmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc1LDcg
KzM3NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3SW1hZ2UoSW1hZ2UqIGkKIH0KIAog
I2lmICFPUyhXSU5DRSkgfHwgUExBVEZPUk0oUVQpCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJh
d1RleHQoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBjb25zdCBJbnRQb2lu
dCYgcG9pbnQsIGludCBmcm9tLCBpbnQgdG8pCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1Rl
eHQoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBjb25zdCBGbG9hdFBvaW50
JiBwb2ludCwgaW50IGZyb20sIGludCB0bykKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgp
KQogICAgICAgICByZXR1cm47CkBAIC0zODQsNyArMzg0LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRl
eHQ6OmRyYXdUZXh0KGNvbnN0IEZvbgogfQogI2VuZGlmCiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0
OjpkcmF3RW1waGFzaXNNYXJrcyhjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiBydW4s
IGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaywgY29uc3QgSW50UG9pbnQmIHBvaW50LCBpbnQgZnJv
bSwgaW50IHRvKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdFbXBoYXNpc01hcmtzKGNvbnN0
IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJr
LCBjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bykKIHsKICAgICBpZiAo
cGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC00MjIsMTMgKzQyMiwxMyBA
QCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0JpZGlUZXh0KGNvbnN0CiAgICAgICAgIGJpZGlS
dW4gPSBiaWRpUnVuLT5uZXh0KCk7CiAgICAgICAgIC8vIEZJWE1FOiBIYXZlIEZvbnQ6OmRyYXdU
ZXh0IHJldHVybiB0aGUgd2lkdGggb2Ygd2hhdCBpdCBkcmV3IHNvIHRoYXQgd2UgZG9uJ3QgaGF2
ZSB0byByZS1tZWFzdXJlIGhlcmUuCiAgICAgICAgIGlmIChiaWRpUnVuKQotICAgICAgICAgICAg
Y3VyclBvaW50Lm1vdmUoZm9udC5mbG9hdFdpZHRoKHN1YnJ1biksIDAuZik7CisgICAgICAgICAg
ICBjdXJyUG9pbnQubW92ZShmb250LndpZHRoKHN1YnJ1biksIDApOwogICAgIH0KIAogICAgIGJp
ZGlSZXNvbHZlci5kZWxldGVSdW5zKCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3
SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiBydW4sIGNv
bnN0IEludFBvaW50JiBwb2ludCwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3Is
IENvbG9yU3BhY2UgY29sb3JTcGFjZSwgaW50IGZyb20sIGludCB0bykKK3ZvaWQgR3JhcGhpY3ND
b250ZXh0OjpkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0
UnVuJiBydW4sIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBpbnQgaCwgY29uc3QgQ29sb3ImIGJh
Y2tncm91bmRDb2xvciwgQ29sb3JTcGFjZSBjb2xvclNwYWNlLCBpbnQgZnJvbSwgaW50IHRvKQog
ewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5o
CShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzYsMjAgKzMzNiwyMCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFRleHREcmF3aW5nTW9kZUZsYWdzIHRleHREcmF3aW5n
TW9kZSgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldFRleHREcmF3aW5nTW9kZShUZXh0RHJhd2lu
Z01vZGVGbGFncyk7CiAKLSAgICAgICAgdm9pZCBkcmF3VGV4dChjb25zdCBGb250JiwgY29uc3Qg
VGV4dFJ1biYsIGNvbnN0IEludFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSk7Ci0g
ICAgICAgIHZvaWQgZHJhd0VtcGhhc2lzTWFya3MoY29uc3QgRm9udCYsIGNvbnN0IFRleHRSdW4m
ICwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBJbnRQb2ludCYsIGludCBmcm9tID0g
MCwgaW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRyYXdUZXh0KGNvbnN0IEZvbnQmLCBjb25z
dCBUZXh0UnVuJiwgY29uc3QgRmxvYXRQb2ludCYsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEp
OworICAgICAgICB2b2lkIGRyYXdFbXBoYXNpc01hcmtzKGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0
UnVuJiAsIGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaywgY29uc3QgRmxvYXRQb2ludCYsIGludCBm
cm9tID0gMCwgaW50IHRvID0gLTEpOwogICAgICAgICB2b2lkIGRyYXdCaWRpVGV4dChjb25zdCBG
b250JiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IEZsb2F0UG9pbnQmKTsKLSAgICAgICAgdm9pZCBk
cmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IElu
dFBvaW50JiwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3IsIENvbG9yU3BhY2Us
IGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRyYXdIaWdobGlnaHRG
b3JUZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxvYXRQb2ludCYsIGlu
dCBoLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yLCBDb2xvclNwYWNlLCBpbnQgZnJvbSA9
IDAsIGludCB0byA9IC0xKTsKIAogICAgICAgICBGbG9hdFJlY3Qgcm91bmRUb0RldmljZVBpeGVs
cyhjb25zdCBGbG9hdFJlY3QmKTsKIAotICAgICAgICB2b2lkIGRyYXdMaW5lRm9yVGV4dChjb25z
dCBJbnRQb2ludCYsIGludCB3aWR0aCwgYm9vbCBwcmludGluZyk7CisgICAgICAgIHZvaWQgZHJh
d0xpbmVGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmLCBmbG9hdCB3aWR0aCwgYm9vbCBwcmludGlu
Zyk7CiAgICAgICAgIGVudW0gVGV4dENoZWNraW5nTGluZVN0eWxlIHsKICAgICAgICAgICAgIFRl
eHRDaGVja2luZ1NwZWxsaW5nTGluZVN0eWxlLAogICAgICAgICAgICAgVGV4dENoZWNraW5nR3Jh
bW1hckxpbmVTdHlsZSwKICAgICAgICAgICAgIFRleHRDaGVja2luZ1JlcGxhY2VtZW50TGluZVN0
eWxlCiAgICAgICAgIH07Ci0gICAgICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29u
c3QgSW50UG9pbnQmLCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSk7CisgICAgICAg
IHZvaWQgZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2ludCYsIGZsb2F0IHdp
ZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUpOwogCiAgICAgICAgIGJvb2wgcGFpbnRpbmdEaXNh
YmxlZCgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldFBhaW50aW5nRGlzYWJsZWQoYm9vbCk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9u
dERhdGEuY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA4LDcgKzEwOCw2
IEBAIFNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShQYXNzT3duUHQKICAgICBtX3NwYWNl
R2x5cGggPSAwOwogICAgIG1femVyb1dpZHRoU3BhY2VHbHlwaCA9IDA7CiAgICAgZGV0ZXJtaW5l
UGl0Y2goKTsKLSAgICBtX2FkanVzdGVkU3BhY2VXaWR0aCA9IHJvdW5kZihtX3NwYWNlV2lkdGgp
OwogICAgIG1fbWlzc2luZ0dseXBoRGF0YS5mb250RGF0YSA9IHRoaXM7CiAgICAgbV9taXNzaW5n
R2x5cGhEYXRhLmdseXBoID0gMDsKIH0KQEAgLTE0Myw3ICsxNDIsNiBAQCB2b2lkIFNpbXBsZUZv
bnREYXRhOjpwbGF0Zm9ybUdseXBoSW5pdCgpCiAgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRv
IGdldCBnbHlwaCBwYWdlIHplcm8uIik7CiAgICAgICAgIG1fc3BhY2VHbHlwaCA9IDA7CiAgICAg
ICAgIG1fc3BhY2VXaWR0aCA9IDA7Ci0gICAgICAgIG1fYWRqdXN0ZWRTcGFjZVdpZHRoID0gMDsK
ICAgICAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKICAgICAgICAgbV96ZXJvV2lkdGhTcGFjZUdseXBo
ID0gMDsKICAgICAgICAgbV9taXNzaW5nR2x5cGhEYXRhLmZvbnREYXRhID0gdGhpczsKQEAgLTE2
MCw3ICsxNTgsNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBoSW5pdCgpCiAg
ICAgZmxvYXQgd2lkdGggPSB3aWR0aEZvckdseXBoKG1fc3BhY2VHbHlwaCk7CiAgICAgbV9zcGFj
ZVdpZHRoID0gd2lkdGg7CiAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKLSAgICBtX2FkanVzdGVkU3Bh
Y2VXaWR0aCA9IG1fdHJlYXRBc0ZpeGVkUGl0Y2ggPyBjZWlsZih3aWR0aCkgOiByb3VuZGYod2lk
dGgpOwogCiAgICAgLy8gRm9yY2UgdGhlIGdseXBoIGZvciBaRVJPIFdJRFRIIFNQQUNFIHRvIGhh
dmUgemVybyB3aWR0aCwgdW5sZXNzIGl0IGlzIHNoYXJlZCB3aXRoIFNQQUNFLgogICAgIC8vIEhl
bHZldGljYSBpcyBhbiBleGFtcGxlIG9mIGEgbm9uLXplcm8gd2lkdGggWkVSTyBXSURUSCBTUEFD
RSBnbHlwaC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZv
bnREYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
U2ltcGxlRm9udERhdGEuaAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsNyAr
MTEyLDYgQEAgcHVibGljOgogICAgIGZsb2F0IHBsYXRmb3JtV2lkdGhGb3JHbHlwaChHbHlwaCkg
Y29uc3Q7CiAKICAgICBmbG9hdCBzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9zcGFjZVdp
ZHRoOyB9Ci0gICAgZmxvYXQgYWRqdXN0ZWRTcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9h
ZGp1c3RlZFNwYWNlV2lkdGg7IH0KIAogI2lmIFBMQVRGT1JNKENHKSB8fCBQTEFURk9STShDQUlS
TykgfHwgUExBVEZPUk0oV1gpCiAgICAgZmxvYXQgc3ludGhldGljQm9sZE9mZnNldCgpIGNvbnN0
IHsgcmV0dXJuIG1fc3ludGhldGljQm9sZE9mZnNldDsgfQpAQCAtMjMwLDcgKzIyOSw2IEBAIHBy
aXZhdGU6CiAKICAgICBHbHlwaCBtX3NwYWNlR2x5cGg7CiAgICAgZmxvYXQgbV9zcGFjZVdpZHRo
OwotICAgIGZsb2F0IG1fYWRqdXN0ZWRTcGFjZVdpZHRoOwogCiAgICAgR2x5cGggbV96ZXJvV2lk
dGhTcGFjZUdseXBoOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9T
dHJpbmdUcnVuY2F0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5jcHAJKHJldmlzaW9uIDc4NTcxKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTIsMjIgKzkyLDIwIEBAIHN0YXRpYyB1bnNpZ25lZCByaWdodFRydW5jYXRlVG9C
dWZmZXIoY28KICAgICByZXR1cm4gdHJ1bmNhdGVkTGVuZ3RoOwogfQogCi1zdGF0aWMgZmxvYXQg
c3RyaW5nV2lkdGgoY29uc3QgRm9udCYgcmVuZGVyZXIsIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJz
LCB1bnNpZ25lZCBsZW5ndGgsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MpCitzdGF0aWMgZmxv
YXQgc3RyaW5nV2lkdGgoY29uc3QgRm9udCYgcmVuZGVyZXIsIGNvbnN0IFVDaGFyKiBjaGFyYWN0
ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7CiAgICAgVGV4dFJ1biBydW4oY2hhcmFjdGVycywgbGVu
Z3RoKTsKLSAgICBpZiAoZGlzYWJsZVJvdW5kaW5nSGFja3MpCi0gICAgICAgIHJ1bi5kaXNhYmxl
Um91bmRpbmdIYWNrcygpOwotICAgIHJldHVybiByZW5kZXJlci5mbG9hdFdpZHRoKHJ1bik7Cisg
ICAgcmV0dXJuIHJlbmRlcmVyLndpZHRoKHJ1bik7CiB9CiAKLXN0YXRpYyBTdHJpbmcgdHJ1bmNh
dGVTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250
JiBmb250LCBUcnVuY2F0aW9uRnVuY3Rpb24gdHJ1bmNhdGVUb0J1ZmZlciwgYm9vbCBkaXNhYmxl
Um91bmRpbmdIYWNrcykKK3N0YXRpYyBTdHJpbmcgdHJ1bmNhdGVTdHJpbmcoY29uc3QgU3RyaW5n
JiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250JiBmb250LCBUcnVuY2F0aW9uRnVu
Y3Rpb24gdHJ1bmNhdGVUb0J1ZmZlcikKIHsKICAgICBpZiAoc3RyaW5nLmlzRW1wdHkoKSkKICAg
ICAgICAgcmV0dXJuIHN0cmluZzsKICAgICAKICAgICBBU1NFUlQobWF4V2lkdGggPj0gMCk7CiAg
ICAgCi0gICAgZmxvYXQgY3VycmVudEVsbGlwc2lzV2lkdGggPSBzdHJpbmdXaWR0aChmb250LCAm
aG9yaXpvbnRhbEVsbGlwc2lzLCAxLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgZmxvYXQg
Y3VycmVudEVsbGlwc2lzV2lkdGggPSBzdHJpbmdXaWR0aChmb250LCAmaG9yaXpvbnRhbEVsbGlw
c2lzLCAxKTsKICAgICAKICAgICBVQ2hhciBzdHJpbmdCdWZmZXJbU1RSSU5HX0JVRkZFUl9TSVpF
XTsKICAgICB1bnNpZ25lZCB0cnVuY2F0ZWRMZW5ndGg7CkBAIC0xMjMsNyArMTIxLDcgQEAgc3Rh
dGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAgICAgICB0cnVuY2F0ZWRM
ZW5ndGggPSBsZW5ndGg7CiAgICAgfQogCi0gICAgZmxvYXQgd2lkdGggPSBzdHJpbmdXaWR0aChm
b250LCBzdHJpbmdCdWZmZXIsIHRydW5jYXRlZExlbmd0aCwgZGlzYWJsZVJvdW5kaW5nSGFja3Mp
OworICAgIGZsb2F0IHdpZHRoID0gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5nQnVmZmVyLCB0cnVu
Y2F0ZWRMZW5ndGgpOwogICAgIGlmICh3aWR0aCA8PSBtYXhXaWR0aCkKICAgICAgICAgcmV0dXJu
IHN0cmluZzsKIApAQCAtMTU5LDcgKzE1Nyw3IEBAIHN0YXRpYyBTdHJpbmcgdHJ1bmNhdGVTdHJp
bmcoY29uc3QgU3RyaW4KICAgICAgICAgCiAgICAgICAgIHRydW5jYXRlZExlbmd0aCA9IHRydW5j
YXRlVG9CdWZmZXIoc3RyaW5nLCBsZW5ndGgsIGtlZXBDb3VudCwgc3RyaW5nQnVmZmVyKTsKIAot
ICAgICAgICB3aWR0aCA9IHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZ0J1ZmZlciwgdHJ1bmNhdGVk
TGVuZ3RoLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgICAgIHdpZHRoID0gc3RyaW5nV2lk
dGgoZm9udCwgc3RyaW5nQnVmZmVyLCB0cnVuY2F0ZWRMZW5ndGgpOwogICAgICAgICBpZiAod2lk
dGggPD0gbWF4V2lkdGgpIHsKICAgICAgICAgICAgIGtlZXBDb3VudEZvckxhcmdlc3RLbm93blRv
Rml0ID0ga2VlcENvdW50OwogICAgICAgICAgICAgd2lkdGhGb3JMYXJnZXN0S25vd25Ub0ZpdCA9
IHdpZHRoOwpAQCAtMTgxLDE5ICsxNzksMTkgQEAgc3RhdGljIFN0cmluZyB0cnVuY2F0ZVN0cmlu
Zyhjb25zdCBTdHJpbgogICAgIHJldHVybiBTdHJpbmcoc3RyaW5nQnVmZmVyLCB0cnVuY2F0ZWRM
ZW5ndGgpOwogfQogCi1TdHJpbmcgU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShjb25z
dCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wg
ZGlzYWJsZVJvdW5kaW5nSGFja3MpCitTdHJpbmcgU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVu
Y2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZv
bnQpCiB7Ci0gICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4V2lkdGgsIGZvbnQs
IGNlbnRlclRydW5jYXRlVG9CdWZmZXIsIGRpc2FibGVSb3VuZGluZ0hhY2tzKTsKKyAgICByZXR1
cm4gdHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBtYXhXaWR0aCwgZm9udCwgY2VudGVyVHJ1bmNhdGVU
b0J1ZmZlcik7CiB9CiAKLVN0cmluZyBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUoY29u
c3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250JiBmb250LCBib29s
IGRpc2FibGVSb3VuZGluZ0hhY2tzKQorU3RyaW5nIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVu
Y2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZv
bnQpCiB7Ci0gICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4V2lkdGgsIGZvbnQs
IHJpZ2h0VHJ1bmNhdGVUb0J1ZmZlciwgZGlzYWJsZVJvdW5kaW5nSGFja3MpOworICAgIHJldHVy
biB0cnVuY2F0ZVN0cmluZyhzdHJpbmcsIG1heFdpZHRoLCBmb250LCByaWdodFRydW5jYXRlVG9C
dWZmZXIpOwogfQogCi1mbG9hdCBTdHJpbmdUcnVuY2F0b3I6OndpZHRoKGNvbnN0IFN0cmluZyYg
c3RyaW5nLCBjb25zdCBGb250JiBmb250LCBib29sIGRpc2FibGVSb3VuZGluZ0hhY2tzKQorZmxv
YXQgU3RyaW5nVHJ1bmNhdG9yOjp3aWR0aChjb25zdCBTdHJpbmcmIHN0cmluZywgY29uc3QgRm9u
dCYgZm9udCkKIHsKLSAgICByZXR1cm4gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5nLmNoYXJhY3Rl
cnMoKSwgc3RyaW5nLmxlbmd0aCgpLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgcmV0dXJu
IHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZy5jaGFyYWN0ZXJzKCksIHN0cmluZy5sZW5ndGgoKSk7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCShyZXZpc2lvbiA3ODU3MSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zNyw5ICszNyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAK
ICAgICBjbGFzcyBTdHJpbmdUcnVuY2F0b3IgewogICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGlj
IFN0cmluZyBjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBtYXhXaWR0aCwgY29u
c3QgRm9udCYsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MgPSB0cnVlKTsKLSAgICAgICAgc3Rh
dGljIFN0cmluZyByaWdodFRydW5jYXRlKGNvbnN0IFN0cmluZyYsIGZsb2F0IG1heFdpZHRoLCBj
b25zdCBGb250JiwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcyA9IHRydWUpOwotICAgICAgICBz
dGF0aWMgZmxvYXQgd2lkdGgoY29uc3QgU3RyaW5nJiwgY29uc3QgRm9udCYsIGJvb2wgZGlzYWJs
ZVJvdW5kaW5nSGFja3MgPSB0cnVlKTsKKyAgICAgICAgc3RhdGljIFN0cmluZyBjZW50ZXJUcnVu
Y2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9udCYpOworICAgICAg
ICBzdGF0aWMgU3RyaW5nIHJpZ2h0VHJ1bmNhdGUoY29uc3QgU3RyaW5nJiwgZmxvYXQgbWF4V2lk
dGgsIGNvbnN0IEZvbnQmKTsKKyAgICAgICAgc3RhdGljIGZsb2F0IHdpZHRoKGNvbnN0IFN0cmlu
ZyYsIGNvbnN0IEZvbnQmKTsKICAgICB9OwogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaAkocmV2aXNp
b24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM4LDggKzM4LDcgQEAgcHVibGljOgogICAgICAgICBGb3JiaWRU
cmFpbGluZ0V4cGFuc2lvbgogICAgIH07CiAKLSAgICBUZXh0UnVuKGNvbnN0IFVDaGFyKiBjLCBp
bnQgbGVuLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBpbnQgeHBvcyA9IDAsIGludCBleHBhbnNp
b24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZp
b3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNlLCBib29sIGRpcmVj
dGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSwKLSAgICAgICAgICAgICAgYm9vbCBhcHBseVJ1blJvdW5k
aW5nID0gdHJ1ZSwgYm9vbCBhcHBseVdvcmRSb3VuZGluZyA9IHRydWUpCisgICAgVGV4dFJ1bihj
b25zdCBVQ2hhciogYywgaW50IGxlbiwgYm9vbCBhbGxvd1RhYnMgPSBmYWxzZSwgZmxvYXQgeHBv
cyA9IDAsIGZsb2F0IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgdHJh
aWxpbmdFeHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGJvb2wgcnRs
ID0gZmFsc2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlKQogICAgICAgICA6IG1f
Y2hhcmFjdGVycyhjKQogICAgICAgICAsIG1fbGVuKGxlbikKICAgICAgICAgLCBtX3hwb3MoeHBv
cykKQEAgLTUxLDggKzUwLDYgQEAgcHVibGljOgogICAgICAgICAsIG1fYWxsb3dUYWJzKGFsbG93
VGFicykKICAgICAgICAgLCBtX3J0bChydGwpCiAgICAgICAgICwgbV9kaXJlY3Rpb25hbE92ZXJy
aWRlKGRpcmVjdGlvbmFsT3ZlcnJpZGUpCi0gICAgICAgICwgbV9hcHBseVJ1blJvdW5kaW5nKGFw
cGx5UnVuUm91bmRpbmcpCi0gICAgICAgICwgbV9hcHBseVdvcmRSb3VuZGluZyhhcHBseVdvcmRS
b3VuZGluZykKICAgICAgICAgLCBtX2Rpc2FibGVTcGFjaW5nKGZhbHNlKQogI2lmIEVOQUJMRShT
VkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2luZ1JlbmRlck9iamVjdCgwKQpAQCAtNjEs
OCArNTgsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIFRleHRSdW4oY29uc3QgU3Ry
aW5nJiBzLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBpbnQgeHBvcyA9IDAsIGludCBleHBhbnNp
b24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZp
b3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNlLCBib29sIGRpcmVj
dGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSwKLSAgICAgICAgICAgICAgYm9vbCBhcHBseVJ1blJvdW5k
aW5nID0gdHJ1ZSwgYm9vbCBhcHBseVdvcmRSb3VuZGluZyA9IHRydWUpCisgICAgVGV4dFJ1bihj
b25zdCBTdHJpbmcmIHMsIGJvb2wgYWxsb3dUYWJzID0gZmFsc2UsIGZsb2F0IHhwb3MgPSAwLCBm
bG9hdCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNl
LCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSkKICAgICAgICAgOiBtX2NoYXJhY3Rl
cnMocy5jaGFyYWN0ZXJzKCkpCiAgICAgICAgICwgbV9sZW4ocy5sZW5ndGgoKSkKICAgICAgICAg
LCBtX3hwb3MoeHBvcykKQEAgLTc0LDggKzcwLDYgQEAgcHVibGljOgogICAgICAgICAsIG1fYWxs
b3dUYWJzKGFsbG93VGFicykKICAgICAgICAgLCBtX3J0bChydGwpCiAgICAgICAgICwgbV9kaXJl
Y3Rpb25hbE92ZXJyaWRlKGRpcmVjdGlvbmFsT3ZlcnJpZGUpCi0gICAgICAgICwgbV9hcHBseVJ1
blJvdW5kaW5nKGFwcGx5UnVuUm91bmRpbmcpCi0gICAgICAgICwgbV9hcHBseVdvcmRSb3VuZGlu
ZyhhcHBseVdvcmRSb3VuZGluZykKICAgICAgICAgLCBtX2Rpc2FibGVTcGFjaW5nKGZhbHNlKQog
I2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2luZ1JlbmRlck9iamVj
dCgwKQpAQCAtOTgsMTggKzkyLDE1IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgYm9vbCBhbGxv
d1RhYnMoKSBjb25zdCB7IHJldHVybiBtX2FsbG93VGFiczsgfQotICAgIGludCB4UG9zKCkgY29u
c3QgeyByZXR1cm4gbV94cG9zOyB9Ci0gICAgaW50IGV4cGFuc2lvbigpIGNvbnN0IHsgcmV0dXJu
IG1fZXhwYW5zaW9uOyB9CisgICAgZmxvYXQgeFBvcygpIGNvbnN0IHsgcmV0dXJuIG1feHBvczsg
fQorICAgIGZsb2F0IGV4cGFuc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fZXhwYW5zaW9uOyB9CiAg
ICAgYm9vbCBhbGxvd3NUcmFpbGluZ0V4cGFuc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fdHJhaWxp
bmdFeHBhbnNpb25CZWhhdmlvciA9PSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uOyB9CiAgICAgYm9v
bCBydGwoKSBjb25zdCB7IHJldHVybiBtX3J0bDsgfQogICAgIGJvb2wgbHRyKCkgY29uc3QgeyBy
ZXR1cm4gIW1fcnRsOyB9CiAgICAgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRlKCkgY29uc3QgeyBy
ZXR1cm4gbV9kaXJlY3Rpb25hbE92ZXJyaWRlOyB9Ci0gICAgYm9vbCBhcHBseVJ1blJvdW5kaW5n
KCkgY29uc3QgeyByZXR1cm4gbV9hcHBseVJ1blJvdW5kaW5nOyB9Ci0gICAgYm9vbCBhcHBseVdv
cmRSb3VuZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbHlXb3JkUm91bmRpbmc7IH0KICAgICBi
b29sIHNwYWNpbmdEaXNhYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzYWJsZVNwYWNpbmc7IH0K
IAogICAgIHZvaWQgZGlzYWJsZVNwYWNpbmcoKSB7IG1fZGlzYWJsZVNwYWNpbmcgPSB0cnVlOyB9
Ci0gICAgdm9pZCBkaXNhYmxlUm91bmRpbmdIYWNrcygpIHsgbV9hcHBseVJ1blJvdW5kaW5nID0g
bV9hcHBseVdvcmRSb3VuZGluZyA9IGZhbHNlOyB9CiAgICAgdm9pZCBzZXRSVEwoYm9vbCBiKSB7
IG1fcnRsID0gYjsgfQogICAgIHZvaWQgc2V0RGlyZWN0aW9uYWxPdmVycmlkZShib29sIG92ZXJy
aWRlKSB7IG1fZGlyZWN0aW9uYWxPdmVycmlkZSA9IG92ZXJyaWRlOyB9CiAKQEAgLTEyOCw4ICsx
MTksOCBAQCBwcml2YXRlOgogICAgIC8vIG1feHBvcyBpcyB0aGUgeCBwb3NpdGlvbiByZWxhdGl2
ZSB0byB0aGUgbGVmdCBzdGFydCBvZiB0aGUgdGV4dCBsaW5lLCBub3QgcmVsYXRpdmUgdG8gdGhl
IGxlZnQKICAgICAvLyBzdGFydCBvZiB0aGUgY29udGFpbmluZyBibG9jay4gSW4gdGhlIGNhc2Ug
b2YgcmlnaHQgYWxpZ25tZW50IG9yIGNlbnRlciBhbGlnbm1lbnQsIGxlZnQgc3RhcnQgb2YKICAg
ICAvLyB0aGUgdGV4dCBsaW5lIGlzIG5vdCB0aGUgc2FtZSBhcyBsZWZ0IHN0YXJ0IG9mIHRoZSBj
b250YWluaW5nIGJsb2NrLgotICAgIGludCBtX3hwb3M7ICAKLSAgICBpbnQgbV9leHBhbnNpb247
CisgICAgZmxvYXQgbV94cG9zOyAgCisgICAgZmxvYXQgbV9leHBhbnNpb247CiAgICAgVHJhaWxp
bmdFeHBhbnNpb25CZWhhdmlvciBtX3RyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3I7CiAjaWYgRU5B
QkxFKFNWRykKICAgICBmbG9hdCBtX2hvcml6b250YWxHbHlwaFN0cmV0Y2g7CkBAIC0xMzcsOCAr
MTI4LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fYWxsb3dUYWJzOwogICAgIGJvb2wgbV9ydGw7
CiAgICAgYm9vbCBtX2RpcmVjdGlvbmFsT3ZlcnJpZGU7Ci0gICAgYm9vbCBtX2FwcGx5UnVuUm91
bmRpbmc7Ci0gICAgYm9vbCBtX2FwcGx5V29yZFJvdW5kaW5nOwogICAgIGJvb2wgbV9kaXNhYmxl
U3BhY2luZzsKIAogI2lmIEVOQUJMRShTVkdfRk9OVFMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAkocmV2aXNpb24gNzg1
NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBAQCBXaWR0aEl0ZXJhdG9yOjpXaWR0aEl0
ZXJhdG9yKGNvbnN0IEZvbnQqCiAgICAgLCBtX2N1cnJlbnRDaGFyYWN0ZXIoMCkKICAgICAsIG1f
cnVuV2lkdGhTb0ZhcigwKQogICAgICwgbV9pc0FmdGVyRXhwYW5zaW9uKHRydWUpCi0gICAgLCBt
X2ZpbmFsUm91bmRpbmdXaWR0aCgwKQogICAgICwgbV9mYWxsYmFja0ZvbnRzKGZhbGxiYWNrRm9u
dHMpCiAgICAgLCBtX2FjY291bnRGb3JHbHlwaEJvdW5kcyhhY2NvdW50Rm9yR2x5cGhCb3VuZHMp
CiAgICAgLCBtX21heEdseXBoQm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWlu
KCkpCkBAIC04NiwxMSArODUsNiBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9m
ZnNldCwgCiAgICAgYm9vbCBydGwgPSBtX3J1bi5ydGwoKTsKICAgICBib29sIGhhc0V4dHJhU3Bh
Y2luZyA9IChtX2ZvbnQtPmxldHRlclNwYWNpbmcoKSB8fCBtX2ZvbnQtPndvcmRTcGFjaW5nKCkg
fHwgbV9leHBhbnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlzYWJsZWQoKTsKIAotICAgIGZsb2F0
IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSBtX3J1bldpZHRoU29GYXI7Ci0gICAgbV9ydW5XaWR0
aFNvRmFyID0gZmxvb3JmKG1fcnVuV2lkdGhTb0Zhcik7Ci0gICAgd2lkdGhTaW5jZUxhc3RSb3Vu
ZGluZyAtPSBtX3J1bldpZHRoU29GYXI7Ci0KLSAgICBmbG9hdCBsYXN0Um91bmRpbmdXaWR0aCA9
IG1fZmluYWxSb3VuZGluZ1dpZHRoOwogICAgIEZsb2F0UmVjdCBib3VuZHM7CiAKICAgICBjb25z
dCBTaW1wbGVGb250RGF0YSogcHJpbWFyeUZvbnQgPSBtX2ZvbnQtPnByaW1hcnlGb250KCk7CkBA
IC0xMzYsNyArMTMwLDcgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQs
IAogICAgICAgICBmbG9hdCB3aWR0aDsKICAgICAgICAgaWYgKGMgPT0gJ1x0JyAmJiBtX3J1bi5h
bGxvd1RhYnMoKSkgewogICAgICAgICAgICAgZmxvYXQgdGFiV2lkdGggPSBtX2ZvbnQtPnRhYldp
ZHRoKCpmb250RGF0YSk7Ci0gICAgICAgICAgICB3aWR0aCA9IHRhYldpZHRoIC0gZm1vZGYobV9y
dW4ueFBvcygpICsgbV9ydW5XaWR0aFNvRmFyICsgd2lkdGhTaW5jZUxhc3RSb3VuZGluZywgdGFi
V2lkdGgpOworICAgICAgICAgICAgd2lkdGggPSB0YWJXaWR0aCAtIGZtb2RmKG1fcnVuLnhQb3Mo
KSArIG1fcnVuV2lkdGhTb0ZhciwgdGFiV2lkdGgpOwogICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgd2lkdGggPSBmb250RGF0YS0+d2lkdGhGb3JHbHlwaChnbHlwaCk7CiAKQEAgLTE0NCwx
MyArMTM4LDYgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQsIAogICAg
ICAgICAgICAgLy8gU1ZHIHVzZXMgaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgpLCB3aGVuIHRleHRM
ZW5ndGggaXMgdXNlZCB0byBzdHJldGNoL3NxdWVlemUgdGV4dC4KICAgICAgICAgICAgIHdpZHRo
ICo9IG1fcnVuLmhvcml6b250YWxHbHlwaFN0cmV0Y2goKTsKICNlbmRpZgotCi0gICAgICAgICAg
ICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlzIHdoZW4gYXBwbHlpbmcgd29y
ZCByb3VuZGluZy4KLSAgICAgICAgICAgIC8vIEZpcnN0LCB3ZSByb3VuZCBzcGFjZXMgdG8gYW4g
YWRqdXN0ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAgICAgLy8gU2Vjb25kLCBpbiBm
aXhlZC1waXRjaCBmb250cyB3ZSBlbnN1cmUgdGhhdCBhbGwgY2hhcmFjdGVycyB0aGF0Ci0gICAg
ICAgICAgICAvLyBtYXRjaCB0aGUgd2lkdGggb2YgdGhlIHNwYWNlIGNoYXJhY3RlciBoYXZlIHRo
ZSBzYW1lIHdpZHRoIGFzIHRoZSBzcGFjZSBjaGFyYWN0ZXIuCi0gICAgICAgICAgICBpZiAod2lk
dGggPT0gZm9udERhdGEtPnNwYWNlV2lkdGgoKSAmJiAoZm9udERhdGEtPnBpdGNoKCkgPT0gRml4
ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgpKSAmJiBtX3J1bi5hcHBs
eVdvcmRSb3VuZGluZygpKQotICAgICAgICAgICAgICAgIHdpZHRoID0gZm9udERhdGEtPmFkanVz
dGVkU3BhY2VXaWR0aCgpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGZvbnREYXRhICE9IGxh
c3RGb250RGF0YSAmJiB3aWR0aCkgewpAQCAtMTc5LDE4ICsxNjYsMTUgQEAgdm9pZCBXaWR0aEl0
ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQsIAogICAgICAgICAgICAgICAgIC8vIERpc3RyaWJ1
dGUgdGhlIHJ1bidzIHRvdGFsIGV4cGFuc2lvbiBldmVubHkgb3ZlciBhbGwgZXhwYW5zaW9uIG9w
cG9ydHVuaXRpZXMgaW4gdGhlIHJ1bi4KICAgICAgICAgICAgICAgICBpZiAobV9leHBhbnNpb24g
JiYgKG1fcnVuLmFsbG93c1RyYWlsaW5nRXhwYW5zaW9uKCkgfHwgKG1fcnVuLmx0cigpICYmIGN1
cnJlbnRDaGFyYWN0ZXIgKyBjbHVzdGVyTGVuZ3RoIDwgc3RhdGljX2Nhc3Q8c2l6ZV90PihtX3J1
bi5sZW5ndGgoKSkpCiAgICAgICAgICAgICAgICAgICAgIHx8IChtX3J1bi5ydGwoKSAmJiBjdXJy
ZW50Q2hhcmFjdGVyKSkpIHsKLSAgICAgICAgICAgICAgICAgICAgZmxvYXQgcHJldmlvdXNFeHBh
bnNpb24gPSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgaWYgKCF0cmVhdEFzU3Bh
Y2UgJiYgIW1faXNBZnRlckV4cGFuc2lvbikgewogICAgICAgICAgICAgICAgICAgICAgICAgLy8g
VGFrZSB0aGUgZXhwYW5zaW9uIG9wcG9ydHVuaXR5IGJlZm9yZSB0aGlzIGlkZW9ncmFwaC4KICAg
ICAgICAgICAgICAgICAgICAgICAgIG1fZXhwYW5zaW9uIC09IG1fZXhwYW5zaW9uUGVyT3Bwb3J0
dW5pdHk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgZXhwYW5zaW9uID0gcm91bmRmKHBy
ZXZpb3VzRXhwYW5zaW9uKSAtIHJvdW5kZihtX2V4cGFuc2lvbik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gZXhwYW5zaW9uOworICAgICAgICAgICAgICAgICAg
ICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7CiAgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoZ2x5cGhCdWZmZXIpCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZ2x5cGhCdWZmZXItPmV4cGFuZExhc3RBZHZhbmNlKGV4cGFuc2lvbik7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0V4cGFuc2lvbiA9IG1fZXhwYW5zaW9uOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLT5leHBhbmRMYXN0QWR2YW5jZSht
X2V4cGFuc2lvblBlck9wcG9ydHVuaXR5KTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5Owot
ICAgICAgICAgICAgICAgICAgICB3aWR0aCArPSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0g
cm91bmRmKG1fZXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAgICAgICAgd2lkdGggKz0gbV9leHBh
bnNpb25QZXJPcHBvcnR1bml0eTsKICAgICAgICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5z
aW9uID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAg
bV9pc0FmdGVyRXhwYW5zaW9uID0gZmFsc2U7CkBAIC0yMTYsNDMgKzIwMCwxMCBAQCB2b2lkIFdp
ZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9mZnNldCwgCiAgICAgICAgIGNwICs9IGNsdXN0ZXJM
ZW5ndGg7CiAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXIgKz0gY2x1c3Rlckxlbmd0aDsKIAotICAg
ICAgICAvLyBBY2NvdW50IGZvciBmbG9hdC9pbnRlZ2VyIGltcGVkYW5jZSBtaXNtYXRjaCBiZXR3
ZWVuIENHIGFuZCBLSFRNTC4gIldvcmRzIiAoY2hhcmFjdGVycyAKLSAgICAgICAgLy8gZm9sbG93
ZWQgYnkgYSBjaGFyYWN0ZXIgZGVmaW5lZCBieSBpc1JvdW5kaW5nSGFja0NoYXJhY3RlcigpKSBh
cmUgYWx3YXlzIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgIC8vIFdlIGFkanVzdCB0aGUgd2lk
dGggb2YgdGhlIGxhc3QgY2hhcmFjdGVyIG9mIGEgIndvcmQiIHRvIGVuc3VyZSBhbiBpbnRlZ2Vy
IHdpZHRoLgotICAgICAgICAvLyBJZiB3ZSBtb3ZlIEtIVE1MIHRvIGZsb2F0cyB3ZSBjYW4gcmVt
b3ZlIHRoaXMgKGFuZCByZWxhdGVkKSBoYWNrcy4KLQotICAgICAgICBmbG9hdCBvbGRXaWR0aCA9
IHdpZHRoOwotCi0gICAgICAgIC8vIEZvcmNlIGNoYXJhY3RlcnMgdGhhdCBhcmUgdXNlZCB0byBk
ZXRlcm1pbmUgd29yZCBib3VuZGFyaWVzIGZvciB0aGUgcm91bmRpbmcgaGFjawotICAgICAgICAv
LyB0byBiZSBpbnRlZ2VyIHdpZHRoLCBzbyBmb2xsb3dpbmcgd29yZHMgd2lsbCBzdGFydCBvbiBh
biBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICBpZiAobV9ydW4uYXBwbHlXb3JkUm91bmRpbmco
KSAmJiBGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcihjKSkgewotICAgICAgICAgICAgd2lk
dGggPSBjZWlsZih3aWR0aCk7Ci0KLSAgICAgICAgICAgIC8vIFNpbmNlIHdpZHRoU2luY2VMYXN0
Um91bmRpbmcgY2FuIGxvc2UgcHJlY2lzaW9uIGlmIHdlIGluY2x1ZGUgbWVhc3VyZW1lbnRzIGZv
cgotICAgICAgICAgICAgLy8gcHJlY2VkaW5nIHdoaXRlc3BhY2UsIHdlIGJ5cGFzcyBpdCBoZXJl
LgotICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoOwotCi0gICAgICAgICAgICAv
LyBTaW5jZSB0aGlzIGlzIGEgcm91bmRpbmcgaGFjayBjaGFyYWN0ZXIsIHdlIHNob3VsZCBoYXZl
IHJlc2V0IHRoaXMgc3VtIG9uIHRoZSBwcmV2aW91cwotICAgICAgICAgICAgLy8gaXRlcmF0aW9u
LgotICAgICAgICAgICAgQVNTRVJUKCF3aWR0aFNpbmNlTGFzdFJvdW5kaW5nKTsKLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgbmV4dCBjaGFyYWN0
ZXIgaXMgYSAicm91bmRpbmcgaGFjayBjaGFyYWN0ZXIiLCBpZiBzbywgYWRqdXN0Ci0gICAgICAg
ICAgICAvLyB3aWR0aCBzbyB0aGF0IHRoZSB0b3RhbCBydW4gd2lkdGggd2lsbCBiZSBvbiBhbiBp
bnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICAgICAgaWYgKChtX3J1bi5hcHBseVdvcmRSb3VuZGlu
ZygpICYmIGN1cnJlbnRDaGFyYWN0ZXIgPCBtX3J1bi5sZW5ndGgoKSAmJiBGb250Ojppc1JvdW5k
aW5nSGFja0NoYXJhY3RlcigqY3ApKQotICAgICAgICAgICAgICAgICAgICB8fCAobV9ydW4uYXBw
bHlSdW5Sb3VuZGluZygpICYmIGN1cnJlbnRDaGFyYWN0ZXIgPj0gbV9lbmQpKSB7Ci0gICAgICAg
ICAgICAgICAgZmxvYXQgdG90YWxXaWR0aCA9IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgKyB3aWR0
aDsKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gY2VpbGYodG90YWxX
aWR0aCk7Ci0gICAgICAgICAgICAgICAgd2lkdGggKz0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyAt
IHRvdGFsV2lkdGg7Ci0gICAgICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoU2lu
Y2VMYXN0Um91bmRpbmc7Ci0gICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9
IDA7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJv
dW5kaW5nICs9IHdpZHRoOwotICAgICAgICB9CisgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3
aWR0aDsKIAogICAgICAgICBpZiAoZ2x5cGhCdWZmZXIpCi0gICAgICAgICAgICBnbHlwaEJ1ZmZl
ci0+YWRkKGdseXBoLCBmb250RGF0YSwgKHJ0bCA/IG9sZFdpZHRoICsgbGFzdFJvdW5kaW5nV2lk
dGggOiB3aWR0aCkpOwotCi0gICAgICAgIGxhc3RSb3VuZGluZ1dpZHRoID0gd2lkdGggLSBvbGRX
aWR0aDsKKyAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQoZ2x5cGgsIGZvbnREYXRhLCB3aWR0
aCk7CiAKICAgICAgICAgaWYgKG1fYWNjb3VudEZvckdseXBoQm91bmRzKSB7CiAgICAgICAgICAg
ICBtX21heEdseXBoQm91bmRpbmdCb3hZID0gbWF4KG1fbWF4R2x5cGhCb3VuZGluZ0JveFksIGJv
dW5kcy5tYXhZKCkpOwpAQCAtMjYyLDggKzIxMyw2IEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2
YW5jZShpbnQgb2Zmc2V0LCAKICAgICB9CiAKICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBjdXJy
ZW50Q2hhcmFjdGVyOwotICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3aWR0aFNpbmNlTGFzdFJvdW5k
aW5nOwotICAgIG1fZmluYWxSb3VuZGluZ1dpZHRoID0gbGFzdFJvdW5kaW5nV2lkdGg7CiB9CiAK
IGJvb2wgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZU9uZUNoYXJhY3RlcihmbG9hdCYgd2lkdGgsIEds
eXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1dpZHRoSXRlcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgJKHJldmlzaW9uIDc4NTcxKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCSh3b3JraW5nIGNvcHkp
CkBAIC01Myw3ICs1Myw2IEBAIHN0cnVjdCBXaWR0aEl0ZXJhdG9yIHsKICAgICBmbG9hdCBtX2V4
cGFuc2lvbjsKICAgICBmbG9hdCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwogICAgIGJvb2wg
bV9pc0FmdGVyRXhwYW5zaW9uOwotICAgIGZsb2F0IG1fZmluYWxSb3VuZGluZ1dpZHRoOwogCiBw
cml2YXRlOgogICAgIFVDaGFyMzIgbm9ybWFsaXplVm9pY2luZ01hcmtzKGludCBjdXJyZW50Q2hh
cmFjdGVyKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dy
YXBoaWNzQ29udGV4dENhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAJKHJldmlzaW9uIDc4
NTcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3ND
b250ZXh0Q2Fpcm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MDEsMjAgKzcwMSwyMiBAQCB2b2lk
IEdyYXBoaWNzQ29udGV4dDo6ZHJhd0ZvY3VzUmluZyhjb25zCiAgICAgY2Fpcm9fcmVzdG9yZShj
cik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgSW50
UG9pbnQmIG9yaWdpbiwgaW50IHdpZHRoLCBib29sIHByaW50aW5nKQordm9pZCBHcmFwaGljc0Nv
bnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjb25zdCBGbG9hdFBvaW50JiBvcmlnaW4sIGZsb2F0IHdp
ZHRoLCBib29sIHByaW50aW5nKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIEludFBvaW50IGVuZFBvaW50ID0gb3JpZ2luICsgSW50U2l6ZSh3
aWR0aCwgMCk7Ci0gICAgZHJhd0xpbmUob3JpZ2luLCBlbmRQb2ludCk7CisgICAgRmxvYXRQb2lu
dCBlbmRQb2ludCA9IG9yaWdpbiArIEZsb2F0U2l6ZSh3aWR0aCwgMCk7CisgICAgCisgICAgLy8g
RklYTUU6IExvc3Mgb2YgcHJlY2lzaW9uIGhlcmUuIE1pZ2h0IGNvbnNpZGVyIHJvdW5kaW5nLgor
ICAgIGRyYXdMaW5lKEludFBvaW50KG9yaWdpbi54KCksIG9yaWdpbi55KCkpLCBJbnRQb2ludChl
bmRQb2ludC54KCksIGVuZFBvaW50LnkoKSkpOwogfQogCiAjaWYgIVBMQVRGT1JNKEdUSykKICNp
bmNsdWRlICJEcmF3RXJyb3JVbmRlcmxpbmUuaCIKICNlbmRpZgogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmIG9yaWdpbiwgaW50
IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCit2b2lkIEdyYXBoaWNzQ29udGV4
dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luLCBmbG9h
dCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQogewogICAgIGlmIChwYWludGlu
Z0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAJKHJl
dmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3Jh
cGhpY3NDb250ZXh0Q0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMwLDcgKzExMzAsNyBAQCBG
bG9hdFJlY3QgR3JhcGhpY3NDb250ZXh0Ojpyb3VuZFRvRGV2aWNlCiAgICAgcmV0dXJuIEZsb2F0
UmVjdChyb3VuZGVkT3JpZ2luLCByb3VuZGVkTG93ZXJSaWdodCAtIHJvdW5kZWRPcmlnaW4pOwog
fQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEludFBvaW50
JiBwb2ludCwgaW50IHdpZHRoLCBib29sIHByaW50aW5nKQordm9pZCBHcmFwaGljc0NvbnRleHQ6
OmRyYXdMaW5lRm9yVGV4dChjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgZmxvYXQgd2lkdGgsIGJv
b2wgcHJpbnRpbmcpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0
dXJuOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhU
ZXh0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDc4NTcxKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJv
bGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDEzICs0OSw2IEBAIHN0YXRpYyBpbmxpbmUg
Q0dGbG9hdCByb3VuZENHRmxvYXQoQ0dGbG8KICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q0dGbG9h
dD4ocm91bmQoZikpOwogfQogCi1zdGF0aWMgaW5saW5lIENHRmxvYXQgY2VpbENHRmxvYXQoQ0dG
bG9hdCBmKQotewotICAgIGlmIChzaXplb2YoQ0dGbG9hdCkgPT0gc2l6ZW9mKGZsb2F0KSkKLSAg
ICAgICAgcmV0dXJuIGNlaWxmKHN0YXRpY19jYXN0PGZsb2F0PihmKSk7Ci0gICAgcmV0dXJuIHN0
YXRpY19jYXN0PENHRmxvYXQ+KGNlaWwoZikpOwotfQotCiBDb21wbGV4VGV4dENvbnRyb2xsZXI6
OkNvbXBsZXhUZXh0Q29udHJvbGxlcihjb25zdCBGb250KiBmb250LCBjb25zdCBUZXh0UnVuJiBy
dW4sIGJvb2wgbWF5VXNlTmF0dXJhbFdyaXRpbmdEaXJlY3Rpb24sIEhhc2hTZXQ8Y29uc3QgU2lt
cGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgYm9vbCBmb3JUZXh0RW1waGFzaXMpCiAgICAg
OiBtX2ZvbnQoKmZvbnQpCiAgICAgLCBtX3J1bihydW4pCkBAIC02OSw3ICs2Miw2IEBAIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6Q29tcGxleFRleHRDb250cm8KICAgICAsIG1fY3VycmVudFJ1bigw
KQogICAgICwgbV9nbHlwaEluQ3VycmVudFJ1bigwKQogICAgICwgbV9jaGFyYWN0ZXJJbkN1cnJl
bnRHbHlwaCgwKQotICAgICwgbV9maW5hbFJvdW5kaW5nV2lkdGgoMCkKICAgICAsIG1fZXhwYW5z
aW9uKHJ1bi5leHBhbnNpb24oKSkKICAgICAsIG1fYWZ0ZXJFeHBhbnNpb24odHJ1ZSkKICAgICAs
IG1fZmFsbGJhY2tGb250cyhmYWxsYmFja0ZvbnRzKQpAQCAtNzcsNyArNjksNiBAQCBDb21wbGV4
VGV4dENvbnRyb2xsZXI6OkNvbXBsZXhUZXh0Q29udHJvCiAgICAgLCBtX21heEdseXBoQm91bmRp
bmdCb3hYKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWluKCkpCiAgICAgLCBtX21pbkdseXBoQm91
bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWF4KCkpCiAgICAgLCBtX21heEdseXBo
Qm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWluKCkpCi0gICAgLCBtX2xhc3RS
b3VuZGluZ0dseXBoKDApCiB7CiAgICAgaWYgKCFtX2V4cGFuc2lvbikKICAgICAgICAgbV9leHBh
bnNpb25QZXJPcHBvcnR1bml0eSA9IDA7CkBAIC00MTMsMTMgKzQwNCwxMSBAQCB2b2lkIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6YWR2YW5jZSh1bnNpCiAgICAgICAgIG1fY3VycmVudFJ1bisrOwog
ICAgICAgICBtX2dseXBoSW5DdXJyZW50UnVuID0gMDsKICAgICB9Ci0gICAgaWYgKCFsdHIgJiYg
bV9udW1HbHlwaHNTb0ZhciA9PSBtX2FkanVzdGVkQWR2YW5jZXMuc2l6ZSgpKQotICAgICAgICBt
X3J1bldpZHRoU29GYXIgKz0gbV9maW5hbFJvdW5kaW5nV2lkdGg7CiB9CiAKIHZvaWQgQ29tcGxl
eFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygpCiB7Ci0gICAgQ0dGbG9h
dCB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gMDsKKyAgICBDR0Zsb2F0IHdpZHRoU2luY2VMYXN0
Q29tbWl0ID0gMDsKICAgICBzaXplX3QgcnVuQ291bnQgPSBtX2NvbXBsZXhUZXh0UnVucy5zaXpl
KCk7CiAgICAgYm9vbCBoYXNFeHRyYVNwYWNpbmcgPSAobV9mb250LmxldHRlclNwYWNpbmcoKSB8
fCBtX2ZvbnQud29yZFNwYWNpbmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNpbmdE
aXNhYmxlZCgpOwogICAgIGZvciAoc2l6ZV90IHIgPSAwOyByIDwgcnVuQ291bnQ7ICsrcikgewpA
QCAtNDMxLDkgKzQyMCw4IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlw
aHMKICAgICAgICAgY29uc3QgQ0dTaXplKiBhZHZhbmNlcyA9IGNvbXBsZXhUZXh0UnVuLmFkdmFu
Y2VzKCk7CiAKICAgICAgICAgYm9vbCBsYXN0UnVuID0gciArIDEgPT0gcnVuQ291bnQ7Ci0gICAg
ICAgIGNvbnN0IFVDaGFyKiBjcCA9IGNvbXBsZXhUZXh0UnVuLmNoYXJhY3RlcnMoKTsKLSAgICAg
ICAgQ0dGbG9hdCByb3VuZGVkU3BhY2VXaWR0aCA9IHJvdW5kQ0dGbG9hdChmb250RGF0YS0+c3Bh
Y2VXaWR0aCgpKTsKICAgICAgICAgYm9vbCByb3VuZHNBZHZhbmNlcyA9ICFtX2ZvbnQuaXNQcmlu
dGVyRm9udCgpICYmIGZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5yb3VuZHNHbHlwaEFkdmFuY2Vz
KCk7CisgICAgICAgIGNvbnN0IFVDaGFyKiBjcCA9IGNvbXBsZXhUZXh0UnVuLmNoYXJhY3RlcnMo
KTsKICAgICAgICAgQ0dQb2ludCBnbHlwaE9yaWdpbiA9IENHUG9pbnRaZXJvOwogICAgICAgICBD
RkluZGV4IGxhc3RDaGFyYWN0ZXJJbmRleCA9IG1fcnVuLmx0cigpID8gbnVtZXJpY19saW1pdHM8
Q0ZJbmRleD46Om1pbigpIDogbnVtZXJpY19saW1pdHM8Q0ZJbmRleD46Om1heCgpOwogICAgICAg
ICBib29sIGlzTW9ub3RvbmljID0gdHJ1ZTsKQEAgLTQ2Myw3ICs0NTEsNyBAQCB2b2lkIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAKICAgICAgICAgICAgIGlmIChjaCA9PSAn
XHQnICYmIG1fcnVuLmFsbG93VGFicygpKSB7CiAgICAgICAgICAgICAgICAgZmxvYXQgdGFiV2lk
dGggPSBtX2ZvbnQudGFiV2lkdGgoKmZvbnREYXRhKTsKLSAgICAgICAgICAgICAgICBhZHZhbmNl
LndpZHRoID0gdGFiV2lkdGggLSBmbW9kZihtX3J1bi54UG9zKCkgKyBtX3RvdGFsV2lkdGggKyB3
aWR0aFNpbmNlTGFzdFJvdW5kaW5nLCB0YWJXaWR0aCk7CisgICAgICAgICAgICAgICAgYWR2YW5j
ZS53aWR0aCA9IHRhYldpZHRoIC0gZm1vZGYobV9ydW4ueFBvcygpICsgbV90b3RhbFdpZHRoICsg
d2lkdGhTaW5jZUxhc3RDb21taXQsIHRhYldpZHRoKTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAo
Y2ggPT0gemVyb1dpZHRoU3BhY2UgfHwgKEZvbnQ6OnRyZWF0QXNaZXJvV2lkdGhTcGFjZShjaCkg
JiYgIXRyZWF0QXNTcGFjZSkpIHsKICAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoID0gMDsK
ICAgICAgICAgICAgICAgICBnbHlwaCA9IGZvbnREYXRhLT5zcGFjZUdseXBoKCk7CkBAIC00NzUs
MTMgKzQ2Myw2IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHMKIAog
ICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSBmb250RGF0YS0+c3ludGhldGljQm9sZE9mZnNl
dCgpOwogCi0gICAgICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlz
IHdoZW4gYXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAgICAgIC8vIEZpcnN0LCB3ZSBy
b3VuZCBzcGFjZXMgdG8gYW4gYWRqdXN0ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAg
ICAgLy8gU2Vjb25kLCBpbiBmaXhlZC1waXRjaCBmb250cyB3ZSBlbnN1cmUgdGhhdCBhbGwgZ2x5
cGhzIHRoYXQKLSAgICAgICAgICAgIC8vIG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgc3BhY2UgZ2x5
cGggaGF2ZSB0aGUgc2FtZSB3aWR0aCBhcyB0aGUgc3BhY2UgZ2x5cGguCi0gICAgICAgICAgICBp
ZiAocm91bmRlZEFkdmFuY2VXaWR0aCA9PSByb3VuZGVkU3BhY2VXaWR0aCAmJiAoZm9udERhdGEt
PnBpdGNoKCkgPT0gRml4ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgp
KSAmJiBtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpKQotICAgICAgICAgICAgICAgIGFkdmFuY2Uu
d2lkdGggPSBmb250RGF0YS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCk7Ci0KICAgICAgICAgICAgIGlm
IChoYXNFeHRyYVNwYWNpbmcpIHsKICAgICAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBhIGdseXBo
IHdpdGggYW4gYWR2YW5jZSwgZ28gYWhlYWQgYW5kIGFkZCBpbiBsZXR0ZXItc3BhY2luZy4KICAg
ICAgICAgICAgICAgICAvLyBUaGF0IHdheSB3ZSB3ZWVkIG91dCB6ZXJvIHdpZHRoIGx1cmtlcnMu
ICBUaGlzIGJlaGF2aW9yIG1hdGNoZXMgdGhlIGZhc3QgdGV4dCBjb2RlIHBhdGguCkBAIC00OTIs
MTcgKzQ3MywxNCBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAg
ICAgICAgICAgICAgICAgaWYgKHRyZWF0QXNTcGFjZSB8fCBGb250Ojppc0NKS0lkZW9ncmFwaE9y
U3ltYm9sKGNoKSkgewogICAgICAgICAgICAgICAgICAgICAvLyBEaXN0cmlidXRlIHRoZSBydW4n
cyB0b3RhbCBleHBhbnNpb24gZXZlbmx5IG92ZXIgYWxsIGV4cGFuc2lvbiBvcHBvcnR1bml0aWVz
IGluIHRoZSBydW4uCiAgICAgICAgICAgICAgICAgICAgIGlmIChtX2V4cGFuc2lvbiAmJiAoIWxh
c3RHbHlwaCB8fCBtX3J1bi5hbGxvd3NUcmFpbGluZ0V4cGFuc2lvbigpKSkgewotICAgICAgICAg
ICAgICAgICAgICAgICAgZmxvYXQgcHJldmlvdXNFeHBhbnNpb24gPSBtX2V4cGFuc2lvbjsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICghdHJlYXRBc1NwYWNlICYmICFtX2FmdGVyRXhwYW5z
aW9uKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGFrZSB0aGUgZXhwYW5zaW9u
IG9wcG9ydHVuaXR5IGJlZm9yZSB0aGlzIGlkZW9ncmFwaC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBleHBhbnNpb24gPSByb3VuZGYocHJldmlvdXNFeHBh
bnNpb24pIC0gcm91bmRmKG1fZXhwYW5zaW9uKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtX3RvdGFsV2lkdGggKz0gZXhwYW5zaW9uOwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1fYWRqdXN0ZWRBZHZhbmNlcy5sYXN0KCkud2lkdGggKz0gZXhwYW5zaW9uOwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHByZXZpb3VzRXhwYW5zaW9uID0gbV9leHBhbnNpb247CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV90b3RhbFdpZHRoICs9IG1fZXhwYW5zaW9uUGVyT3Bw
b3J0dW5pdHk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9hZGp1c3RlZEFkdmFuY2Vz
Lmxhc3QoKS53aWR0aCArPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwogICAgICAgICAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgbV9leHBhbnNpb24gLT0gbV9l
eHBhbnNpb25QZXJPcHBvcnR1bml0eTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkdmFuY2Uu
d2lkdGggKz0gcm91bmRmKHByZXZpb3VzRXhwYW5zaW9uKSAtIHJvdW5kZihtX2V4cGFuc2lvbik7
CisgICAgICAgICAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoICs9IG1fZXhwYW5zaW9uUGVy
T3Bwb3J0dW5pdHk7CiAgICAgICAgICAgICAgICAgICAgICAgICBtX2FmdGVyRXhwYW5zaW9uID0g
dHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAg
ICBtX2FmdGVyRXhwYW5zaW9uID0gZmFsc2U7CkBAIC01MTQsMzMgKzQ5Miw3IEBAIHZvaWQgQ29t
cGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHMKICAgICAgICAgICAgICAgICAgICAgbV9h
ZnRlckV4cGFuc2lvbiA9IGZhbHNlOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAvLyBE
ZWFsIHdpdGggdGhlIGZsb2F0L2ludGVnZXIgaW1wZWRhbmNlIG1pc21hdGNoIGJldHdlZW4gQ0cg
YW5kIFdlYkNvcmUuICJXb3JkcyIgKGNoYXJhY3RlcnMgCi0gICAgICAgICAgICAvLyBmb2xsb3dl
ZCBieSBhIGNoYXJhY3RlciBkZWZpbmVkIGJ5IGlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKCkpIGFy
ZSBhbHdheXMgYW4gaW50ZWdlciB3aWR0aC4KLSAgICAgICAgICAgIC8vIFdlIGFkanVzdCB0aGUg
d2lkdGggb2YgdGhlIGxhc3QgY2hhcmFjdGVyIG9mIGEgIndvcmQiIHRvIGVuc3VyZSBhbiBpbnRl
Z2VyIHdpZHRoLgotICAgICAgICAgICAgLy8gRm9yY2UgY2hhcmFjdGVycyB0aGF0IGFyZSB1c2Vk
IHRvIGRldGVybWluZSB3b3JkIGJvdW5kYXJpZXMgZm9yIHRoZSByb3VuZGluZyBoYWNrCi0gICAg
ICAgICAgICAvLyB0byBiZSBpbnRlZ2VyIHdpZHRoLCBzbyB0aGUgZm9sbG93aW5nIHdvcmRzIHdp
bGwgc3RhcnQgb24gYW4gaW50ZWdlciBib3VuZGFyeS4KLSAgICAgICAgICAgIGlmIChtX3J1bi5h
cHBseVdvcmRSb3VuZGluZygpICYmIEZvbnQ6OmlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKGNoKSkK
LSAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoID0gY2VpbENHRmxvYXQoYWR2YW5jZS53aWR0
aCk7Ci0KLSAgICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgbmV4dCBjaGFyYWN0ZXIg
aXMgYSAicm91bmRpbmcgaGFjayBjaGFyYWN0ZXIiLCBpZiBzbywgYWRqdXN0IHRoZQotICAgICAg
ICAgICAgLy8gd2lkdGggc28gdGhhdCB0aGUgdG90YWwgcnVuIHdpZHRoIHdpbGwgYmUgb24gYW4g
aW50ZWdlciBib3VuZGFyeS4KLSAgICAgICAgICAgIGlmICgobV9ydW4uYXBwbHlXb3JkUm91bmRp
bmcoKSAmJiAhbGFzdEdseXBoICYmIEZvbnQ6OmlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKG5leHRD
aCkpIHx8IChtX3J1bi5hcHBseVJ1blJvdW5kaW5nKCkgJiYgbGFzdEdseXBoKSkgewotICAgICAg
ICAgICAgICAgIENHRmxvYXQgdG90YWxXaWR0aCA9IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgKyBh
ZHZhbmNlLndpZHRoOwotICAgICAgICAgICAgICAgIHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSBj
ZWlsQ0dGbG9hdCh0b3RhbFdpZHRoKTsKLSAgICAgICAgICAgICAgICBDR0Zsb2F0IGV4dHJhV2lk
dGggPSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nIC0gdG90YWxXaWR0aDsKLSAgICAgICAgICAgICAg
ICBpZiAobV9ydW4ubHRyKCkpCi0gICAgICAgICAgICAgICAgICAgIGFkdmFuY2Uud2lkdGggKz0g
ZXh0cmFXaWR0aDsKLSAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKG1fbGFzdFJvdW5kaW5nR2x5cGgpCi0gICAgICAgICAgICAgICAgICAgICAgICBtX2FkanVz
dGVkQWR2YW5jZXNbbV9sYXN0Um91bmRpbmdHbHlwaCAtIDFdLndpZHRoICs9IGV4dHJhV2lkdGg7
Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fZmlu
YWxSb3VuZGluZ1dpZHRoID0gZXh0cmFXaWR0aDsKLSAgICAgICAgICAgICAgICAgICAgbV9sYXN0
Um91bmRpbmdHbHlwaCA9IG1fYWRqdXN0ZWRBZHZhbmNlcy5zaXplKCkgKyAxOwotICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICBtX3RvdGFsV2lkdGggKz0gd2lkdGhTaW5jZUxhc3RS
b3VuZGluZzsKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gMDsKLSAg
ICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHdpZHRoU2luY2VMYXN0Um91bmRpbmcg
Kz0gYWR2YW5jZS53aWR0aDsKKyAgICAgICAgICAgIHdpZHRoU2luY2VMYXN0Q29tbWl0ICs9IGFk
dmFuY2Uud2lkdGg7CiAKICAgICAgICAgICAgIC8vIEZJWE1FOiBDb21iaW5pbmcgbWFya3Mgc2hv
dWxkIHJlY2VpdmUgYSB0ZXh0IGVtcGhhc2lzIG1hcmsgaWYgdGhleSBhcmUgY29tYmluZSB3aXRo
IGEgc3BhY2UuCiAgICAgICAgICAgICBpZiAobV9mb3JUZXh0RW1waGFzaXMgJiYgKCFGb250Ojpj
YW5SZWNlaXZlVGV4dEVtcGhhc2lzKGNoKSB8fCAoVV9HRVRfR0NfTUFTSyhjaCkgJiBVX0dDX01f
TUFTSykpKQpAQCAtNTY0LDcgKzUxNiw3IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjph
ZGp1c3RHbHlwaHMKICAgICAgICAgaWYgKCFpc01vbm90b25pYykKICAgICAgICAgICAgIGNvbXBs
ZXhUZXh0UnVuLnNldElzTm9uTW9ub3RvbmljKCk7CiAgICAgfQotICAgIG1fdG90YWxXaWR0aCAr
PSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nOworICAgIG1fdG90YWxXaWR0aCArPSB3aWR0aFNpbmNl
TGFzdENvbW1pdDsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4
dENvbnRyb2xsZXIuaAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAg
LTYwLDkgKzYwLDYgQEAgcHVibGljOgogCiAgICAgZmxvYXQgdG90YWxXaWR0aCgpIGNvbnN0IHsg
cmV0dXJuIG1fdG90YWxXaWR0aDsgfQogCi0gICAgLy8gRXh0cmEgd2lkdGggdG8gdGhlIGxlZnQg
b2YgdGhlIGxlZnRtb3N0IGdseXBoLgotICAgIGZsb2F0IGZpbmFsUm91bmRpbmdXaWR0aCgpIGNv
bnN0IHsgcmV0dXJuIG1fZmluYWxSb3VuZGluZ1dpZHRoOyB9Ci0KICAgICBmbG9hdCBtaW5HbHlw
aEJvdW5kaW5nQm94WCgpIGNvbnN0IHsgcmV0dXJuIG1fbWluR2x5cGhCb3VuZGluZ0JveFg7IH0K
ICAgICBmbG9hdCBtYXhHbHlwaEJvdW5kaW5nQm94WCgpIGNvbnN0IHsgcmV0dXJuIG1fbWF4R2x5
cGhCb3VuZGluZ0JveFg7IH0KICAgICBmbG9hdCBtaW5HbHlwaEJvdW5kaW5nQm94WSgpIGNvbnN0
IHsgcmV0dXJuIG1fbWluR2x5cGhCb3VuZGluZ0JveFk7IH0KQEAgLTE3Niw3ICsxNzMsNiBAQCBw
cml2YXRlOgogICAgIHNpemVfdCBtX2N1cnJlbnRSdW47CiAgICAgdW5zaWduZWQgbV9nbHlwaElu
Q3VycmVudFJ1bjsKICAgICB1bnNpZ25lZCBtX2NoYXJhY3RlckluQ3VycmVudEdseXBoOwotICAg
IGZsb2F0IG1fZmluYWxSb3VuZGluZ1dpZHRoOwogICAgIGZsb2F0IG1fZXhwYW5zaW9uOwogICAg
IGZsb2F0IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7CiAgICAgYm9vbCBtX2FmdGVyRXhwYW5z
aW9uOwpAQCAtMTg3LDggKzE4Myw2IEBAIHByaXZhdGU6CiAgICAgZmxvYXQgbV9tYXhHbHlwaEJv
dW5kaW5nQm94WDsKICAgICBmbG9hdCBtX21pbkdseXBoQm91bmRpbmdCb3hZOwogICAgIGZsb2F0
IG1fbWF4R2x5cGhCb3VuZGluZ0JveFk7Ci0gICAgCi0gICAgdW5zaWduZWQgbV9sYXN0Um91bmRp
bmdHbHlwaDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q29tcGxleFRleHRNYWMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q29tcGxleFRl
eHRNYWMuY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9Gb250Q29tcGxleFRleHRNYWMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw3
ICs3MSw3IEBAIGZsb2F0IEZvbnQ6OmdldEdseXBoc0FuZEFkdmFuY2VzRm9yQ29tcGwKICAgICBm
bG9hdCBhZnRlcldpZHRoID0gY29udHJvbGxlci5ydW5XaWR0aFNvRmFyKCk7CiAKICAgICBpZiAo
cnVuLnJ0bCgpKSB7Ci0gICAgICAgIGluaXRpYWxBZHZhbmNlID0gY29udHJvbGxlci50b3RhbFdp
ZHRoKCkgKyBjb250cm9sbGVyLmZpbmFsUm91bmRpbmdXaWR0aCgpIC0gYWZ0ZXJXaWR0aDsKKyAg
ICAgICAgaW5pdGlhbEFkdmFuY2UgPSBjb250cm9sbGVyLnRvdGFsV2lkdGgoKSAtIGFmdGVyV2lk
dGg7CiAgICAgICAgIGZvciAoaW50IGkgPSAwLCBlbmQgPSBnbHlwaEJ1ZmZlci5zaXplKCkgLSAx
OyBpIDwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC8gMjsgKytpLCAtLWVuZCkKICAgICAgICAgICAgIGds
eXBoQnVmZmVyLnN3YXAoaSwgZW5kKTsKICAgICB9IGVsc2UKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHRNYWMubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dE1h
Yy5tbQkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvR3JhcGhpY3NDb250ZXh0TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsMTQgKzEx
MiwxNCBAQCBzdGF0aWMgTlNDb2xvciogY3JlYXRlUGF0dGVybkNvbG9yKE5TU3RyCiB9CiAKIC8v
IFdlYktpdCBvbiBNYWMgaXMgYSBzdGFuZGFyZCBwbGF0Zm9ybSBjb21wb25lbnQsIHNvIGl0IG11
c3QgdXNlIHRoZSBzdGFuZGFyZCBwbGF0Zm9ybSBhcnR3b3JrIGZvciB1bmRlcmxpbmUuCi12b2lk
IEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQm
IHBvaW50LCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSBzdHlsZSkKK3ZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBGbG9hdFBvaW50JiBw
b2ludCwgZmxvYXQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSBzdHlsZSkKIHsKICAgICBp
ZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CiAgICAgICAgIAogICAgIC8v
IFRoZXNlIGFyZSB0aGUgc2FtZSBmb3IgbWlzc3BlbGxpbmcgb3IgYmFkIGdyYW1tYXIuCiAgICAg
aW50IHBhdHRlcm5IZWlnaHQgPSBjTWlzc3BlbGxpbmdMaW5lVGhpY2tuZXNzOwotICAgIGludCBw
YXR0ZXJuV2lkdGggPSBjTWlzc3BlbGxpbmdMaW5lUGF0dGVybldpZHRoOworICAgIGZsb2F0IHBh
dHRlcm5XaWR0aCA9IGNNaXNzcGVsbGluZ0xpbmVQYXR0ZXJuV2lkdGg7CiAKICAgICBib29sIHVz
aW5nRG90OwogICAgIE5TQ29sb3IgKnBhdHRlcm5Db2xvcjsKQEAgLTE2NSw3ICsxNjUsNyBAQCB2
b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlCiAgICAgLy8gc3BhY2UgYmV0
d2VlbiBhZGphY2VudCBtaXNzcGVsbGVkIHdvcmRzIHdhcyB1bmRlcmxpbmVkLgogICAgIGlmICh1
c2luZ0RvdCkgewogICAgICAgICAvLyBhbGxvdyBzbGlnaHRseSBtb3JlIGNvbnNpZGVyaW5nIHRo
YXQgdGhlIHBhdHRlcm4gZW5kcyB3aXRoIGEgdHJhbnNwYXJlbnQgcGl4ZWwKLSAgICAgICAgaW50
IHdpZHRoTW9kID0gd2lkdGggJSBwYXR0ZXJuV2lkdGg7CisgICAgICAgIGZsb2F0IHdpZHRoTW9k
ID0gZm1vZGYod2lkdGgsIHBhdHRlcm5XaWR0aCk7CiAgICAgICAgIGlmIChwYXR0ZXJuV2lkdGgg
LSB3aWR0aE1vZCA+IGNNaXNzcGVsbGluZ0xpbmVQYXR0ZXJuR2FwV2lkdGgpCiAgICAgICAgICAg
ICB3aWR0aCAtPSB3aWR0aE1vZDsKICAgICB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCShyZXZp
c2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBo
aWNzQ29udGV4dFF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODU0LDEzICs4NTQsMTMgQEAgdm9p
ZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdGb2N1c1JpbmcoY29ucwogICAgIGRyYXdGb2N1c1JpbmdG
b3JQYXRoKG1fZGF0YS0+cCgpLCBwYXRoLCBjb2xvciwgbV9kYXRhLT5hbnRpQWxpYXNpbmdGb3JS
ZWN0c0FuZExpbmVzKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dChjb25zdCBJbnRQb2ludCYgb3JpZ2luLCBpbnQgd2lkdGgsIGJvb2wpCit2b2lkIEdyYXBoaWNz
Q29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmIG9yaWdpbiwgZmxvYXQg
d2lkdGgsIGJvb2wpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgSW50UG9pbnQgc3RhcnRQb2ludCA9IG9yaWdpbjsKLSAgICBJbnRQb2ludCBl
bmRQb2ludCA9IG9yaWdpbiArIEludFNpemUod2lkdGgsIDApOworICAgIEZsb2F0UG9pbnQgc3Rh
cnRQb2ludCA9IG9yaWdpbjsKKyAgICBGbG9hdFBvaW50IGVuZFBvaW50ID0gb3JpZ2luICsgRmxv
YXRTaXplKHdpZHRoLCAwKTsKIAogICAgIC8vIElmIHBhaW50ZW5naW5lIHR5cGUgaXMgWDExIHRv
IGF2b2lkIGFydGlmYWN0cwogICAgIC8vIGxpa2UgYnVnIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00MjI0OApAQCAtODgwLDEwICs4ODAsMTEgQEAgdm9pZCBHcmFwaGlj
c0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjbwogICAgIH0KICNlbmRpZiAvLyBkZWZpbmVkKFFf
V1NfWDExKQogCi0gICAgZHJhd0xpbmUoc3RhcnRQb2ludCwgZW5kUG9pbnQpOworICAgIC8vIEZJ
WE1FOiBMb3NzIG9mIHByZWNpc2lvbiBoZXJlLiBNaWdodCBjb25zaWRlciByb3VuZGluZy4KKyAg
ICBkcmF3TGluZShJbnRQb2ludChzdGFydFBvaW50LngoKSwgc3RhcnRQb2ludC55KCkpLCBJbnRQ
b2ludChlbmRQb2ludC54KCksIGVuZFBvaW50LnkoKSkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmLCBpbnQsIFRleHRD
aGVja2luZ0xpbmVTdHlsZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRD
aGVja2luZyhjb25zdCBGbG9hdFBvaW50JiwgZmxvYXQsIFRleHRDaGVja2luZ0xpbmVTdHlsZSkK
IHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVG
b250RGF0YVF0LmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjEs
NyArNjEsNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBoSW5pdCgpCiAgICAg
aWYgKCFtX3BsYXRmb3JtRGF0YS5zaXplKCkpCiAgICAgICAgIHJldHVybjsKICAgICBtX3NwYWNl
R2x5cGggPSAwOwotICAgIG1fYWRqdXN0ZWRTcGFjZVdpZHRoID0gbV9zcGFjZVdpZHRoOwogICAg
IGRldGVybWluZVBpdGNoKCk7CiAgICAgbV9taXNzaW5nR2x5cGhEYXRhLmZvbnREYXRhID0gdGhp
czsKICAgICBtX21pc3NpbmdHbHlwaERhdGEuZ2x5cGggPSAwOwpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lhLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29u
dGV4dFNraWEuY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0U2tpYS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU5NSw3ICs1OTUsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmUoY29uc3QgSW50
CiAgICAgcGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpLT5kcmF3UG9pbnRzKFNrQ2FudmFzOjpr
TGluZXNfUG9pbnRNb2RlLCAyLCBwdHMsIHBhaW50KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRl
eHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEludFBvaW50JiBwdCwgaW50IHdpZHRo
LCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJh
d0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2ludCYgcHQsIGZsb2F0IHdpZHRoLCBU
ZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQo
KSkKICAgICAgICAgcmV0dXJuOwpAQCAtNjQ0LDggKzY0NCw4IEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0OjpkcmF3TGluZUZvclRleHRDaGUKICAgICB9CiAKICAgICAvLyBPZmZzZXQgaXQgdmVydGlj
YWxseSBieSAxIHNvIHRoYXQgdGhlcmUncyBzb21lIHNwYWNlIHVuZGVyIHRoZSB0ZXh0LgotICAg
IFNrU2NhbGFyIG9yaWdpblggPSBTa0ludFRvU2NhbGFyKHB0LngoKSk7Ci0gICAgU2tTY2FsYXIg
b3JpZ2luWSA9IFNrSW50VG9TY2FsYXIocHQueSgpKSArIDE7CisgICAgU2tTY2FsYXIgb3JpZ2lu
WCA9IFdlYkNvcmVGbG9hdFRvU2tTY2FsYXIocHQueCgpKTsKKyAgICBTa1NjYWxhciBvcmlnaW5Z
ID0gV2ViQ29yZUZsb2F0VG9Ta1NjYWxhcihwdC55KCkpICsgMTsKIAogICAgIC8vIE1ha2UgYSBz
aGFkZXIgZm9yIHRoZSBiaXRtYXAgd2l0aCBhbiBvcmlnaW4gb2YgdGhlIGJveCB3ZSdsbCBkcmF3
LiBUaGlzCiAgICAgLy8gc2hhZGVyIGlzIHJlZmNvdW50ZWQgYW5kIHdpbGwgaGF2ZSBhbiBpbml0
aWFsIHJlZmNvdW50IG9mIDEuCkBAIC02NjcsMTMgKzY2NywxMyBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlCiAgICAgU2tSZWN0IHJlY3Q7CiAgICAgcmVjdC5zZXQo
b3JpZ2luWCwKICAgICAgICAgICAgICBvcmlnaW5ZLAotICAgICAgICAgICAgIG9yaWdpblggKyBT
a0ludFRvU2NhbGFyKHdpZHRoKSwKKyAgICAgICAgICAgICBvcmlnaW5YICsgV2ViQ29yZUZsb2F0
VG9Ta1NjYWxhcih3aWR0aCksCiAgICAgICAgICAgICAgb3JpZ2luWSArIFNrSW50VG9TY2FsYXIo
bWlzc3BlbGxCaXRtYXAtPmhlaWdodCgpKSk7CiAgICAgcGxhdGZvcm1Db250ZXh0KCktPmNhbnZh
cygpLT5kcmF3UmVjdChyZWN0LCBwYWludCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0Ojpk
cmF3TGluZUZvclRleHQoY29uc3QgSW50UG9pbnQmIHB0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xp
bmVGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmIHB0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmbG9hdCB3aWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYm9vbCBwcmludGluZykKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQpA
QCAtNjg2LDkgKzY4Niw5IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQo
Y28KIAogICAgIGludCB0aGlja25lc3MgPSBTa01heDMyKHN0YXRpY19jYXN0PGludD4oc3Ryb2tl
VGhpY2tuZXNzKCkpLCAxKTsKICAgICBTa1JlY3QgcjsKLSAgICByLmZMZWZ0ID0gU2tJbnRUb1Nj
YWxhcihwdC54KCkpOwotICAgIHIuZlRvcCA9IFNrSW50VG9TY2FsYXIocHQueSgpKTsKLSAgICBy
LmZSaWdodCA9IHIuZkxlZnQgKyBTa0ludFRvU2NhbGFyKHdpZHRoKTsKKyAgICByLmZMZWZ0ID0g
V2ViQ29yZUZsb2F0VG9Ta1NjYWxhcihwdC54KCkpOworICAgIHIuZlRvcCA9IFdlYkNvcmVGbG9h
dFRvU2tTY2FsYXIocHQueSgpKTsKKyAgICByLmZSaWdodCA9IHIuZkxlZnQgKyBXZWJDb3JlRmxv
YXRUb1NrU2NhbGFyKHdpZHRoKTsKICAgICByLmZCb3R0b20gPSByLmZUb3AgKyBTa0ludFRvU2Nh
bGFyKHRoaWNrbmVzcyk7CiAKICAgICBTa1BhaW50IHBhaW50OwpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dENHV2luLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250
ZXh0Q0dXaW4uY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRDR1dpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE4NCw3ICsxODQsNyBAQCBzdGF0aWMgY29uc3QgQ29sb3ImIGdyYW1tYXJQYXR0ZXJuQ29sb3Io
CiAgICAgcmV0dXJuIGdyYW1tYXJDb2xvcjsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRy
YXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEludFBvaW50JiBwb2ludCwgaW50IHdpZHRoLCBU
ZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xp
bmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2ludCYgcG9pbnQsIGZsb2F0IHdpZHRoLCBU
ZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQo
KSkKICAgICAgICAgcmV0dXJuOwpAQCAtMjA0LDcgKzIwNCw3IEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0OjpkcmF3TGluZUZvclRleHRDaGUKICAgICAvLyBib3VuZHMgKGUuZy4gd2hlbiBhdCB0aGUg
ZWRnZSBvZiBhIHZpZXcpIGFuZCBjb3VsZCBtYWtlIGl0IGFwcGVhciB0aGF0IHRoZQogICAgIC8v
IHNwYWNlIGJldHdlZW4gYWRqYWNlbnQgbWlzc3BlbGxlZCB3b3JkcyB3YXMgdW5kZXJsaW5lZC4K
ICAgICAvLyBhbGxvdyBzbGlnaHRseSBtb3JlIGNvbnNpZGVyaW5nIHRoYXQgdGhlIHBhdHRlcm4g
ZW5kcyB3aXRoIGEgdHJhbnNwYXJlbnQgcGl4ZWwKLSAgICBpbnQgd2lkdGhNb2QgPSB3aWR0aCAl
IHBhdHRlcm5XaWR0aDsKKyAgICBmbG9hdCB3aWR0aE1vZCA9IGZtb2RmKHdpZHRoLCBwYXR0ZXJu
V2lkdGgpOwogICAgIGlmIChwYXR0ZXJuV2lkdGggLSB3aWR0aE1vZCA+IGNNaXNzcGVsbGluZ0xp
bmVQYXR0ZXJuR2FwV2lkdGgpCiAgICAgICAgIHdpZHRoIC09IHdpZHRoTW9kOwogICAgICAgCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vVW5pc2NyaWJlQ29udHJv
bGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9VbmlzY3JpYmVDb250cm9sbGVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjYxLDE4ICsyNjEsMTMgQEAgYm9vbCBVbmlzY3JpYmVDb250cm9sbGVy
OjpzaGFwZUFuZFBsYWNlSQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIC8vIENvbnZlcnQg
YWxsIGNoYXJzIHRoYXQgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgc3BhY2VzIHRvIHVzZSB0aGUgc3Bh
Y2UgZ2x5cGguCi0gICAgLy8gV2UgYWxzbyBjcmVhdGUgYSBtYXAgdGhhdCBhbGxvd3MgdXMgdG8g
cXVpY2tseSBnbyBmcm9tIHNwYWNlIGdseXBocyBvciByb3VuZGluZwotICAgIC8vIGhhY2sgZ2x5
cGhzIGJhY2sgdG8gdGhlaXIgY29ycmVzcG9uZGluZyBjaGFyYWN0ZXJzLgorICAgIC8vIFdlIGFs
c28gY3JlYXRlIGEgbWFwIHRoYXQgYWxsb3dzIHVzIHRvIHF1aWNrbHkgZ28gZnJvbSBzcGFjZSBn
bHlwaHMgYmFjayB0byB0aGVpciBjb3JyZXNwb25kaW5nIGNoYXJhY3RlcnMuCiAgICAgVmVjdG9y
PGludD4gc3BhY2VDaGFyYWN0ZXJzKGdseXBocy5zaXplKCkpOwogICAgIHNwYWNlQ2hhcmFjdGVy
cy5maWxsKC0xKTsKLSAgICBWZWN0b3I8aW50PiByb3VuZGluZ0hhY2tDaGFyYWN0ZXJzKGdseXBo
cy5zaXplKCkpOwotICAgIHJvdW5kaW5nSGFja0NoYXJhY3RlcnMuZmlsbCgtMSk7Ci0gICAgVmVj
dG9yPGludD4gcm91bmRpbmdIYWNrV29yZEJvdW5kYXJpZXMoZ2x5cGhzLnNpemUoKSk7Ci0gICAg
cm91bmRpbmdIYWNrV29yZEJvdW5kYXJpZXMuZmlsbCgtMSk7CiAKICAgICBjb25zdCBmbG9hdCBj
TG9naWNhbFNjYWxlID0gZm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLnVzZUdESSgpID8gMS4wZiA6
IDMyLjBmOwogICAgIHVuc2lnbmVkIGxvZ2ljYWxTcGFjZVdpZHRoID0gZm9udERhdGEtPnNwYWNl
V2lkdGgoKSAqIGNMb2dpY2FsU2NhbGU7Ci0gICAgZmxvYXQgcm91bmRlZFNwYWNlV2lkdGggPSBy
b3VuZGYoZm9udERhdGEtPnNwYWNlV2lkdGgoKSk7CisgICAgZmxvYXQgc3BhY2VXaWR0aCA9IGZv
bnREYXRhLT5zcGFjZVdpZHRoKCk7CiAKICAgICBmb3IgKGludCBrID0gMDsgayA8IGxlbjsgaysr
KSB7CiAgICAgICAgIFVDaGFyIGNoID0gKihzdHIgKyBrKTsKQEAgLTI4NiwyMSArMjgxLDYgQEAg
Ym9vbCBVbmlzY3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSQogICAgICAgICAgICAgaWYg
KHRyZWF0QXNTcGFjZSkKICAgICAgICAgICAgICAgICBzcGFjZUNoYXJhY3RlcnNbY2x1c3RlcnNb
a11dID0gbV9jdXJyZW50Q2hhcmFjdGVyICsgayArIGl0ZW0uaUNoYXJQb3M7CiAgICAgICAgIH0K
LQotICAgICAgICBpZiAoRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoY2gpKQotICAgICAg
ICAgICAgcm91bmRpbmdIYWNrQ2hhcmFjdGVyc1tjbHVzdGVyc1trXV0gPSBtX2N1cnJlbnRDaGFy
YWN0ZXIgKyBrICsgaXRlbS5pQ2hhclBvczsKLQotICAgICAgICBpbnQgYm91bmRhcnkgPSBrICsg
bV9jdXJyZW50Q2hhcmFjdGVyICsgaXRlbS5pQ2hhclBvczsKLSAgICAgICAgaWYgKGJvdW5kYXJ5
IDwgbV9ydW4ubGVuZ3RoKCkpIHsKLSAgICAgICAgICAgIC8vIFdoZW4gYXQgdGhlIGxhc3QgY2hh
cmFjdGVyIGluIHRoZSBzdHIsIGRvbid0IGxvb2sgb25lIHBhc3QgdGhlIGVuZCBmb3IgYSByb3Vu
ZGluZyBoYWNrIGNoYXJhY3Rlci4KLSAgICAgICAgICAgIC8vIEluc3RlYWQgbG9vayBhaGVhZCB0
byB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIG5leHQgaXRlbSwgaWYgdGhlcmUgaXMgYSBuZXh0IG9u
ZS4gCi0gICAgICAgICAgICBpZiAoayArIDEgPT0gbGVuKSB7Ci0gICAgICAgICAgICAgICAgaWYg
KGkgKyAyIDwgbV9pdGVtcy5zaXplKCkgLy8gQ2hlY2sgZm9yIGF0IGxlYXN0IDIgaXRlbXMgcmVt
YWluaW5nLiBUaGUgbGFzdCBpdGVtIGlzIGEgdGVybWluYXRpbmcgaXRlbSBjb250YWluaW5nIG5v
IGNoYXJhY3RlcnMuCi0gICAgICAgICAgICAgICAgICAgICYmIEZvbnQ6OmlzUm91bmRpbmdIYWNr
Q2hhcmFjdGVyKCooY3AgKyBtX2l0ZW1zW2kgKyAxXS5pQ2hhclBvcykpKQotICAgICAgICAgICAg
ICAgICAgICByb3VuZGluZ0hhY2tXb3JkQm91bmRhcmllc1tjbHVzdGVyc1trXV0gPSBib3VuZGFy
eTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIo
KihzdHIgKyBrICsgMSkpKQotICAgICAgICAgICAgICAgIHJvdW5kaW5nSGFja1dvcmRCb3VuZGFy
aWVzW2NsdXN0ZXJzW2tdXSA9IGJvdW5kYXJ5OwotICAgICAgICB9CiAgICAgfQogCiAgICAgLy8g
UG9wdWxhdGUgb3VyIGdseXBoIGJ1ZmZlciB3aXRoIHRoaXMgaW5mb3JtYXRpb24uCkBAIC0zMjQs
MTQgKzMwNCw2IEBAIGJvb2wgVW5pc2NyaWJlQ29udHJvbGxlcjo6c2hhcGVBbmRQbGFjZUkKIAog
ICAgICAgICBhZHZhbmNlICs9IGZvbnREYXRhLT5zeW50aGV0aWNCb2xkT2Zmc2V0KCk7CiAKLSAg
ICAgICAgLy8gV2Ugc3BlY2lhbCBjYXNlIHNwYWNlcyBpbiB0d28gd2F5cyB3aGVuIGFwcGx5aW5n
IHdvcmQgcm91bmRpbmcuCi0gICAgICAgIC8vIEZpcnN0LCB3ZSByb3VuZCBzcGFjZXMgdG8gYW4g
YWRqdXN0ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAvLyBTZWNvbmQsIGluIGZpeGVk
LXBpdGNoIGZvbnRzIHdlIGVuc3VyZSB0aGF0IGFsbCBnbHlwaHMgdGhhdAotICAgICAgICAvLyBt
YXRjaCB0aGUgd2lkdGggb2YgdGhlIHNwYWNlIGdseXBoIGhhdmUgdGhlIHNhbWUgd2lkdGggYXMg
dGhlIHNwYWNlIGdseXBoLgotICAgICAgICBpZiAocm91bmRlZEFkdmFuY2UgPT0gcm91bmRlZFNw
YWNlV2lkdGggJiYgKGZvbnREYXRhLT5waXRjaCgpID09IEZpeGVkUGl0Y2ggfHwgZ2x5cGggPT0g
Zm9udERhdGEtPnNwYWNlR2x5cGgoKSkgJiYKLSAgICAgICAgICAgIG1fcnVuLmFwcGx5V29yZFJv
dW5kaW5nKCkpCi0gICAgICAgICAgICBhZHZhbmNlID0gZm9udERhdGEtPmFkanVzdGVkU3BhY2VX
aWR0aCgpOwotCiAgICAgICAgIGlmIChoYXNFeHRyYVNwYWNpbmcpIHsKICAgICAgICAgICAgIC8v
IElmIHdlJ3JlIGEgZ2x5cGggd2l0aCBhbiBhZHZhbmNlLCBnbyBhaGVhZCBhbmQgYWRkIGluIGxl
dHRlci1zcGFjaW5nLgogICAgICAgICAgICAgLy8gVGhhdCB3YXkgd2Ugd2VlZCBvdXQgemVybyB3
aWR0aCBsdXJrZXJzLiAgVGhpcyBiZWhhdmlvciBtYXRjaGVzIHRoZSBmYXN0IHRleHQgY29kZSBw
YXRoLgpAQCAtMzUwLDkgKzMyMiw4IEBAIGJvb2wgVW5pc2NyaWJlQ29udHJvbGxlcjo6c2hhcGVB
bmRQbGFjZUkKICAgICAgICAgICAgICAgICAgICAgICAgIGFkdmFuY2UgKz0gbV9wYWRkaW5nOwog
ICAgICAgICAgICAgICAgICAgICAgICAgbV9wYWRkaW5nID0gMDsKICAgICAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0IHByZXZpb3VzUGFkZGlu
ZyA9IG1fcGFkZGluZzsKICAgICAgICAgICAgICAgICAgICAgICAgIG1fcGFkZGluZyAtPSBtX3Bh
ZFBlclNwYWNlOwotICAgICAgICAgICAgICAgICAgICAgICAgYWR2YW5jZSArPSByb3VuZGYocHJl
dmlvdXNQYWRkaW5nKSAtIHJvdW5kZihtX3BhZGRpbmcpOworICAgICAgICAgICAgICAgICAgICAg
ICAgYWR2YW5jZSArPSBtX3BhZFBlclNwYWNlOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICAgICAgfQogCkBAIC0zNjIsMjUgKzMzMyw2IEBAIGJvb2wgVW5pc2NyaWJlQ29udHJv
bGxlcjo6c2hhcGVBbmRQbGFjZUkKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAg
IC8vIERlYWwgd2l0aCB0aGUgZmxvYXQvaW50ZWdlciBpbXBlZGFuY2UgbWlzbWF0Y2ggYmV0d2Vl
biBDRyBhbmQgV2ViQ29yZS4gIldvcmRzIiAoY2hhcmFjdGVycyAKLSAgICAgICAgLy8gZm9sbG93
ZWQgYnkgYSBjaGFyYWN0ZXIgZGVmaW5lZCBieSBpc1JvdW5kaW5nSGFja0NoYXJhY3RlcigpKSBh
cmUgYWx3YXlzIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgIC8vIFdlIGFkanVzdCB0aGUgd2lk
dGggb2YgdGhlIGxhc3QgY2hhcmFjdGVyIG9mIGEgIndvcmQiIHRvIGVuc3VyZSBhbiBpbnRlZ2Vy
IHdpZHRoLgotICAgICAgICAvLyBGb3JjZSBjaGFyYWN0ZXJzIHRoYXQgYXJlIHVzZWQgdG8gZGV0
ZXJtaW5lIHdvcmQgYm91bmRhcmllcyBmb3IgdGhlIHJvdW5kaW5nIGhhY2sKLSAgICAgICAgLy8g
dG8gYmUgaW50ZWdlciB3aWR0aCwgc28gdGhlIGZvbGxvd2luZyB3b3JkcyB3aWxsIHN0YXJ0IG9u
IGFuIGludGVnZXIgYm91bmRhcnkuCi0gICAgICAgIGludCByb3VuZGluZ0hhY2tJbmRleCA9IHJv
dW5kaW5nSGFja0NoYXJhY3RlcnNba107Ci0gICAgICAgIGlmIChtX3J1bi5hcHBseVdvcmRSb3Vu
ZGluZygpICYmIHJvdW5kaW5nSGFja0luZGV4ICE9IC0xKQotICAgICAgICAgICAgYWR2YW5jZSA9
IGNlaWxmKGFkdmFuY2UpOwotCi0gICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgbmV4dCBj
aGFyYWN0ZXIgaXMgYSAicm91bmRpbmcgaGFjayBjaGFyYWN0ZXIiLCBpZiBzbywgYWRqdXN0IHRo
ZQotICAgICAgICAvLyB3aWR0aCBzbyB0aGF0IHRoZSB0b3RhbCBydW4gd2lkdGggd2lsbCBiZSBv
biBhbiBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICBpbnQgcG9zaXRpb24gPSBtX2N1cnJlbnRD
aGFyYWN0ZXIgKyBsZW47Ci0gICAgICAgIGJvb2wgbGFzdEdseXBoID0gKGsgPT0gZ2x5cGhzLnNp
emUoKSAtIDEpICYmIChtX3J1bi5ydGwoKSA/IGkgPT0gMCA6IGkgPT0gbV9pdGVtcy5zaXplKCkg
LSAyKSAmJiAocG9zaXRpb24gPj0gbV9lbmQpOwotICAgICAgICBpZiAoKG1fcnVuLmFwcGx5V29y
ZFJvdW5kaW5nKCkgJiYgcm91bmRpbmdIYWNrV29yZEJvdW5kYXJpZXNba10gIT0gLTEpIHx8Ci0g
ICAgICAgICAgICAobV9ydW4uYXBwbHlSdW5Sb3VuZGluZygpICYmIGxhc3RHbHlwaCkpIHsgCi0g
ICAgICAgICAgICBmbG9hdCB0b3RhbFdpZHRoID0gbV9ydW5XaWR0aFNvRmFyICsgYWR2YW5jZTsK
LSAgICAgICAgICAgIGFkdmFuY2UgKz0gY2VpbGYodG90YWxXaWR0aCkgLSB0b3RhbFdpZHRoOwot
ICAgICAgICB9Ci0KICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IGFkdmFuY2U7CiAKICAgICAg
ICAgLy8gRklYTUU6IFdlIG5lZWQgdG8gdGFrZSB0aGUgR09GRlNFVFMgZm9yIGNvbWJpbmluZyBn
bHlwaHMgYW5kIHN0b3JlIHRoZW0gaW4gdGhlIGdseXBoIGJ1ZmZlcgpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL0ZpbGVDaG9vc2VyR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvRmlsZUNob29zZXJHdGsuY3BwCShyZXZpc2lvbiA3ODU3
MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9GaWxlQ2hvb3Nlckd0ay5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTYwLDggKzYwLDggQEAgU3RyaW5nIEZpbGVDaG9vc2VyOjpiYXNlbmFt
ZUZvcldpZHRoKGNvbgogICAgICAgICBnY2hhciogc3lzdGVtQmFzZW5hbWUgPSBnX3BhdGhfZ2V0
X2Jhc2VuYW1lKHN5c3RlbUZpbGVuYW1lLmRhdGEoKSk7CiAgICAgICAgIHN0cmluZ0J5QWRvcHRp
bmdGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oc3lzdGVtQmFzZW5hbWUsIHN0cmluZyk7CiAgICAg
fSBlbHNlIGlmIChtX2ZpbGVuYW1lcy5zaXplKCkgPiAxKQotICAgICAgICByZXR1cm4gU3RyaW5n
VHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmlsZVVwbG9hZFRleHQobV9maWxlbmFt
ZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZ1Ry
dW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxvYWRUZXh0KG1fZmlsZW5hbWVz
LnNpemUoKSksIHdpZHRoLCBmb250KTsKIAotICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNl
bnRlclRydW5jYXRlKHN0cmluZywgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICByZXR1cm4gU3Ry
aW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJpbmcsIHdpZHRoLCBmb250KTsKIH0KIH0K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1hYy5tbQkocmV2
aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFj
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNTgsOCArMTU4LDcgQEAgc3RhdGljIGZsb2F0IHdpZHRo
V2l0aEZvbnQoTlNTdHJpbmcgKnN0cgogICAgIGlmIChjYW5Vc2VGYXN0UmVuZGVyZXIoYnVmZmVy
LmRhdGEoKSwgbGVuZ3RoKSkgewogICAgICAgICBGb250IHdlYkNvcmVGb250KEZvbnRQbGF0Zm9y
bURhdGEoZm9udCwgW2ZvbnQgcG9pbnRTaXplXSksICFbW05TR3JhcGhpY3NDb250ZXh0IGN1cnJl
bnRDb250ZXh0XSBpc0RyYXdpbmdUb1NjcmVlbl0pOwogICAgICAgICBUZXh0UnVuIHJ1bihidWZm
ZXIuZGF0YSgpLCBsZW5ndGgpOwotICAgICAgICBydW4uZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsK
LSAgICAgICAgcmV0dXJuIHdlYkNvcmVGb250LmZsb2F0V2lkdGgocnVuKTsKKyAgICAgICAgcmV0
dXJuIHdlYkNvcmVGb250LndpZHRoKHJ1bik7CiAgICAgfQogICAgIAogICAgIHJldHVybiBbc3Ry
aW5nIHNpemVXaXRoQXR0cmlidXRlczpbTlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRoT2JqZWN0
c0FuZEtleXM6Zm9udCwgTlNGb250QXR0cmlidXRlTmFtZSwgbmlsXV0ud2lkdGg7CkBAIC0xOTcs
OCArMTk2LDcgQEAgc3RhdGljIHZvaWQgZHJhd0F0UG9pbnQoTlNTdHJpbmcgKnN0cmluZwogICAg
ICAgICAgICAgCiAgICAgICAgIEZvbnQgd2ViQ29yZUZvbnQoRm9udFBsYXRmb3JtRGF0YShmb250
LCBbZm9udCBwb2ludFNpemVdKSwgIVtuc0NvbnRleHQgaXNEcmF3aW5nVG9TY3JlZW5dLCBBbnRp
YWxpYXNlZCk7CiAgICAgICAgIFRleHRSdW4gcnVuKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCk7Ci0g
ICAgICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotICAgICAgICAKKwogICAgICAgICBD
R0Zsb2F0IHJlZDsKICAgICAgICAgQ0dGbG9hdCBncmVlbjsKICAgICAgICAgQ0dGbG9hdCBibHVl
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0ZpbGVDaG9vc2VyTWFjLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxlQ2hvb3Nlck1hYy5t
bQkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRmlsZUNo
b29zZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ3LDkgKzQ3LDkgQEAgU3RyaW5nIEZpbGVD
aG9vc2VyOjpiYXNlbmFtZUZvcldpZHRoKGNvbgogICAgIGVsc2UgaWYgKG1fZmlsZW5hbWVzLnNp
emUoKSA9PSAxKQogICAgICAgICBzdHJUb1RydW5jYXRlID0gW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1
bHRNYW5hZ2VyXSBkaXNwbGF5TmFtZUF0UGF0aDoobV9maWxlbmFtZXNbMF0pXTsKICAgICBlbHNl
Ci0gICAgICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUobXVsdGlwbGVG
aWxlVXBsb2FkVGV4dChtX2ZpbGVuYW1lcy5zaXplKCkpLCB3aWR0aCwgZm9udCwgZmFsc2UpOwor
ICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmls
ZVVwbG9hZFRleHQobV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQpOwogCi0gICAgcmV0
dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyVG9UcnVuY2F0ZSwgd2lkdGgs
IGZvbnQsIGZhbHNlKTsKKyAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0
ZShzdHJUb1RydW5jYXRlLCB3aWR0aCwgZm9udCk7CiB9CiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3dpbi9EcmFnSW1hZ2VXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9EcmFnSW1hZ2VXaW4uY3BwCShyZXZpc2lvbiA3ODU3MSkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9EcmFnSW1hZ2VXaW4uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yMTAsMTMgKzIxMCwxMyBAQCBEcmFnSW1hZ2VSZWYgY3JlYXRlRHJhZ0ltYWdlRm9y
TGluayhLVVJMCiAgICAgc3RhdGljIGNvbnN0IENvbG9yIGJvdHRvbUNvbG9yKDI1NSwgMjU1LCAy
NTUsIDEyNyk7IC8vIG9yaWdpbmFsIGFscGhhID0gMC41CiAgICAgaWYgKGRyYXdVUkxTdHJpbmcp
IHsKICAgICAgICAgaWYgKGNsaXBVUkxTdHJpbmcpCi0gICAgICAgICAgICB1cmxTdHJpbmcgPSBT
dHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUodXJsU3RyaW5nLCBpbWFnZVNpemUud2lkdGgo
KSAtIChEcmFnTGFiZWxCb3JkZXJYICogMi4wZiksICp1cmxGb250LCBmYWxzZSk7CisgICAgICAg
ICAgICB1cmxTdHJpbmcgPSBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUodXJsU3RyaW5n
LCBpbWFnZVNpemUud2lkdGgoKSAtIChEcmFnTGFiZWxCb3JkZXJYICogMi4wZiksICp1cmxGb250
KTsKICAgICAgICAgSW50UG9pbnQgdGV4dFBvcyhEcmFnTGFiZWxCb3JkZXJYLCBpbWFnZVNpemUu
aGVpZ2h0KCkgLSAoTGFiZWxCb3JkZXJZT2Zmc2V0ICsgdXJsRm9udC0+Zm9udE1ldHJpY3MoKS5k
ZXNjZW50KCkpKTsKICAgICAgICAgV2ViQ29yZURyYXdEb3VibGVkVGV4dEF0UG9pbnQoY29udGV4
dCwgdXJsU3RyaW5nLCB0ZXh0UG9zLCAqdXJsRm9udCwgdG9wQ29sb3IsIGJvdHRvbUNvbG9yKTsK
ICAgICB9CiAgICAgCiAgICAgaWYgKGNsaXBMYWJlbFN0cmluZykKLSAgICAgICAgbGFiZWwgPSBT
dHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUobGFiZWwsIGltYWdlU2l6ZS53aWR0aCgpIC0g
KERyYWdMYWJlbEJvcmRlclggKiAyLjBmKSwgKmxhYmVsRm9udCwgZmFsc2UpOworICAgICAgICBs
YWJlbCA9IFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShsYWJlbCwgaW1hZ2VTaXplLndp
ZHRoKCkgLSAoRHJhZ0xhYmVsQm9yZGVyWCAqIDIuMGYpLCAqbGFiZWxGb250KTsKIAogICAgIElu
dFBvaW50IHRleHRQb3MoRHJhZ0xhYmVsQm9yZGVyWCwgRHJhZ0xhYmVsQm9yZGVyWSArIGxhYmVs
Rm9udC0+cGl4ZWxTaXplKCkpOwogICAgIFdlYkNvcmVEcmF3RG91YmxlZFRleHRBdFBvaW50KGNv
bnRleHQsIGxhYmVsLCB0ZXh0UG9zLCAqbGFiZWxGb250LCB0b3BDb2xvciwgYm90dG9tQ29sb3Ip
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVDaG9vc2VyV2luLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmlsZUNob29zZXJXaW4u
Y3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxl
Q2hvb3Nlcldpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDkgKzQ2LDkgQEAgU3RyaW5nIEZp
bGVDaG9vc2VyOjpiYXNlbmFtZUZvcldpZHRoKGNvbgogICAgICAgICBMUFdTVFIgYmFzZW5hbWUg
PSBQYXRoRmluZEZpbGVOYW1lVyh0bXBGaWxlbmFtZS5jaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5h
dGlvbigpKTsKICAgICAgICAgc3RyaW5nID0gU3RyaW5nKGJhc2VuYW1lKTsKICAgICB9IGVsc2UK
LSAgICAgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShTdHJpbmc6Om51
bWJlcihtX2ZpbGVuYW1lcy5zaXplKCkpICsgIiBmaWxlcyIsIHdpZHRoLCBmb250LCBmYWxzZSk7
CisgICAgICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUoU3RyaW5nOjpu
dW1iZXIobV9maWxlbmFtZXMuc2l6ZSgpKSArICIgZmlsZXMiLCB3aWR0aCwgZm9udCk7CiAKLSAg
ICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJpbmcsIHdpZHRoLCBm
b250LCBmYWxzZSk7CisgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUo
c3RyaW5nLCB3aWR0aCwgZm9udCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCShyZXZpc2lv
biA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMjYsNyArMzI2LDcgQEAgdm9pZCBQb3B1cE1lbnVXaW46OmNh
bGN1bGF0ZVBvc2l0aW9uQW5kUwogICAgICAgICAgICAgaXRlbUZvbnQudXBkYXRlKG1fcG9wdXBD
bGllbnQtPmZvbnRTZWxlY3RvcigpKTsKICAgICAgICAgfQogCi0gICAgICAgIHBvcHVwV2lkdGgg
PSBtYXgocG9wdXBXaWR0aCwgaXRlbUZvbnQud2lkdGgoVGV4dFJ1bih0ZXh0LmNoYXJhY3RlcnMo
KSwgdGV4dC5sZW5ndGgoKSkpKTsKKyAgICAgICAgcG9wdXBXaWR0aCA9IG1heChwb3B1cFdpZHRo
LCBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKGl0ZW1Gb250LndpZHRoKFRleHRSdW4odGV4dC5jaGFy
YWN0ZXJzKCksIHRleHQubGVuZ3RoKCkpKSkpKTsKICAgICB9CiAKICAgICBpZiAobmF0dXJhbEhl
aWdodCA+IG1heFBvcHVwSGVpZ2h0KQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2lu
L1dlYkNvcmVUZXh0UmVuZGVyZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9XZWJDb3JlVGV4dFJlbmRlcmVyLmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2ViQ29yZVRleHRSZW5kZXJlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lkIFdlYkNvcmVEcmF3RG91YmxlZFRleHRB
dFBvaW50KEdyYXBoCiAKIGZsb2F0IFdlYkNvcmVUZXh0RmxvYXRXaWR0aChjb25zdCBTdHJpbmcm
IHRleHQsIGNvbnN0IEZvbnQmIGZvbnQpCiB7Ci0gICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6
d2lkdGgodGV4dCwgZm9udCwgZmFsc2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6Ondp
ZHRoKHRleHQsIGZvbnQpOwogfQogCiB2b2lkIFdlYkNvcmVTZXRTaG91bGRVc2VGb250U21vb3Ro
aW5nKGJvb2wgc21vb3RoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RS
ZXN1bHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0
UmVzdWx0LmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SGl0VGVzdFJlc3VsdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0NSw2ICs1NDUsMjMgQEAgYm9v
bCBIaXRUZXN0UmVzdWx0OjphZGROb2RlVG9SZWN0QmFzZWRUZQogICAgIHJldHVybiAhcmVjdC5j
b250YWlucyhyZWN0Rm9yUG9pbnQoeCwgeSkpOwogfQogCitib29sIEhpdFRlc3RSZXN1bHQ6OmFk
ZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQoTm9kZSogbm9kZSwgaW50IHgsIGludCB5LCBjb25z
dCBGbG9hdFJlY3QmIHJlY3QpCit7CisgICAgLy8gSWYgaXQgaXMgbm90IGEgcmVjdC1iYXNlZCBo
aXQgdGVzdCwgdGhpcyBtZXRob2QgaGFzIHRvIGJlIG5vLW9wLgorICAgIC8vIFJldHVybiBmYWxz
ZSwgc28gdGhlIGhpdCB0ZXN0IHN0b3BzLgorICAgIGlmICghaXNSZWN0QmFzZWRUZXN0KCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIElmIG5vZGUgaXMgbnVsbCwgcmV0dXJuIHRy
dWUgc28gdGhlIGhpdCB0ZXN0IGNhbiBjb250aW51ZS4KKyAgICBpZiAoIW5vZGUpCisgICAgICAg
IHJldHVybiB0cnVlOworCisgICAgbm9kZSA9IG5vZGUtPnNoYWRvd0FuY2VzdG9yTm9kZSgpOwor
ICAgIG1fcmVjdEJhc2VkVGVzdFJlc3VsdC5hZGQobm9kZSk7CisKKyAgICByZXR1cm4gIXJlY3Qu
Y29udGFpbnMocmVjdEZvclBvaW50KHgsIHkpKTsKK30KKwogdm9pZCBIaXRUZXN0UmVzdWx0Ojph
cHBlbmQoY29uc3QgSGl0VGVzdFJlc3VsdCYgb3RoZXIpCiB7CiAgICAgQVNTRVJUKGlzUmVjdEJh
c2VkVGVzdCgpICYmIG90aGVyLmlzUmVjdEJhc2VkVGVzdCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw2
ICsyMCw3IEBACiAjaWZuZGVmIEhpdFRlc3RSZXN1bHRfaAogI2RlZmluZSBIaXRUZXN0UmVzdWx0
X2gKIAorI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5j
bHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKQEAgLTEwOSw3ICsxMTAsOCBA
QCBwdWJsaWM6CiAKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgaXQgaXMgcmVjdC1iYXNlZCBoaXQg
dGVzdCBhbmQgbmVlZHMgdG8gY29udGludWUgdW50aWwgdGhlIHJlY3QgaXMgZnVsbHkKICAgICAv
LyBlbmNsb3NlZCBieSB0aGUgYm91bmRhcmllcyBvZiBhIG5vZGUuCi0gICAgYm9vbCBhZGROb2Rl
VG9SZWN0QmFzZWRUZXN0UmVzdWx0KE5vZGUqLCBpbnQgeCwgaW50IHksIGNvbnN0IEludFJlY3Qm
IHJlY3QgPSBJbnRSZWN0KCkpOworICAgIGJvb2wgYWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3Vs
dChOb2RlKiwgaW50IHgsIGludCB5LCBjb25zdCBJbnRSZWN0JiA9IEludFJlY3QoKSk7CisgICAg
Ym9vbCBhZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KE5vZGUqLCBpbnQgeCwgaW50IHksIGNv
bnN0IEZsb2F0UmVjdCYpOwogICAgIGNvbnN0IExpc3RIYXNoU2V0PFJlZlB0cjxOb2RlPiA+JiBy
ZWN0QmFzZWRUZXN0UmVzdWx0KCkgY29uc3QgeyByZXR1cm4gbV9yZWN0QmFzZWRUZXN0UmVzdWx0
OyB9CiAgICAgdm9pZCBhcHBlbmQoY29uc3QgSGl0VGVzdFJlc3VsdCYpOwogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTUw
LDE0ICsxNTAsMTIgQEAgdm9pZCBJbmxpbmVCb3g6OmF0dGFjaExpbmUoKQogICAgICAgICB0b1Jl
bmRlckJveChtX3JlbmRlcmVyKS0+c2V0SW5saW5lQm94V3JhcHBlcih0aGlzKTsKIH0KIAotdm9p
ZCBJbmxpbmVCb3g6OmFkanVzdFBvc2l0aW9uKGludCBkeCwgaW50IGR5KQordm9pZCBJbmxpbmVC
b3g6OmFkanVzdFBvc2l0aW9uKGZsb2F0IGR4LCBmbG9hdCBkeSkKIHsKICAgICBtX3ggKz0gZHg7
CiAgICAgbV95ICs9IGR5OwotICAgIGlmIChtX3JlbmRlcmVyLT5pc1JlcGxhY2VkKCkpIHsKLSAg
ICAgICAgUmVuZGVyQm94KiBib3ggPSB0b1JlbmRlckJveChtX3JlbmRlcmVyKTsKLSAgICAgICAg
Ym94LT5tb3ZlKGR4LCBkeSk7Ci0gICAgfQorICAgIGlmIChtX3JlbmRlcmVyLT5pc1JlcGxhY2Vk
KCkpCisgICAgICAgIHRvUmVuZGVyQm94KG1fcmVuZGVyZXIpLT5wb3NpdGlvbkxpbmVCb3godGhp
cyk7CiB9CiAKIHZvaWQgSW5saW5lQm94OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgaW50
IHR4LCBpbnQgdHkpCkBAIC0yNzgsMjEgKzI3NiwzNSBAQCBib29sIElubGluZUJveDo6Y2FuQWNj
b21tb2RhdGVFbGxpcHNpcyhiCiAgICAgcmV0dXJuICEoYm94UmVjdC5pbnRlcnNlY3RzKGVsbGlw
c2lzUmVjdCkpOwogfQogCi1pbnQgSW5saW5lQm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wsIGlu
dCwgaW50LCBpbnQsIGJvb2wmKQorZmxvYXQgSW5saW5lQm94OjpwbGFjZUVsbGlwc2lzQm94KGJv
b2wsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGJvb2wmKQogewogICAgIC8vIFVzZSAtMSB0byBtZWFu
ICJ3ZSBkaWRuJ3Qgc2V0IHRoZSBwb3NpdGlvbi4iCiAgICAgcmV0dXJuIC0xOwogfQogCi1JbnRQ
b2ludCBJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKQorRmxvYXRQb2ludCBJ
bmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKQogewogICAgIGlmICghcmVuZGVy
ZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKLSAgICAgICAgcmV0
dXJuIEludFBvaW50KHgoKSwgeSgpKTsKKyAgICAgICAgcmV0dXJuIEZsb2F0UG9pbnQoeCgpLCB5
KCkpOwogICAgIFJlbmRlckJsb2NrKiBibG9jayA9IHJvb3QoKS0+YmxvY2soKTsKICAgICBpZiAo
YmxvY2stPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCi0gICAgICAgIHJldHVy
biBJbnRQb2ludCh4KCksIGJsb2NrLT5oZWlnaHQoKSAtIGhlaWdodCgpIC0geSgpKTsKKyAgICAg
ICAgcmV0dXJuIEZsb2F0UG9pbnQoeCgpLCBibG9jay0+aGVpZ2h0KCkgLSBoZWlnaHQoKSAtIHko
KSk7CiAgICAgZWxzZQotICAgICAgICByZXR1cm4gSW50UG9pbnQoYmxvY2stPndpZHRoKCkgLSB3
aWR0aCgpIC0geCgpLCB5KCkpOworICAgICAgICByZXR1cm4gRmxvYXRQb2ludChibG9jay0+d2lk
dGgoKSAtIHdpZHRoKCkgLSB4KCksIHkoKSk7Cit9CisKK3ZvaWQgSW5saW5lQm94OjpmbGlwRm9y
V3JpdGluZ01vZGUoRmxvYXRSZWN0JiByZWN0KQoreworICAgIGlmICghcmVuZGVyZXIoKS0+c3R5
bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuOworICAg
IHJvb3QoKS0+YmxvY2soKS0+ZmxpcEZvcldyaXRpbmdNb2RlKHJlY3QpOworfQorCitGbG9hdFBv
aW50IElubGluZUJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50
KQoreworICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGlu
Z01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHBvaW50OworICAgIHJldHVybiByb290KCktPmJsb2Nr
KCktPmZsaXBGb3JXcml0aW5nTW9kZShwb2ludCk7CiB9CiAKIHZvaWQgSW5saW5lQm94OjpmbGlw
Rm9yV3JpdGluZ01vZGUoSW50UmVjdCYgcmVjdCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9JbmxpbmVCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SW5saW5lQm94LmgJKHJldmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0lubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OCw3ICs2OCw3IEBAIHB1YmxpYzoKICAg
ICB7CiAgICAgfQogCi0gICAgSW5saW5lQm94KFJlbmRlck9iamVjdCogb2JqLCBpbnQgeCwgaW50
IHksIGludCBsb2dpY2FsV2lkdGgsIGJvb2wgZmlyc3RMaW5lLCBib29sIGNvbnN0cnVjdGVkLAor
ICAgIElubGluZUJveChSZW5kZXJPYmplY3QqIG9iaiwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQg
bG9naWNhbFdpZHRoLCBib29sIGZpcnN0TGluZSwgYm9vbCBjb25zdHJ1Y3RlZCwKICAgICAgICAg
ICAgICAgYm9vbCBkaXJ0eSwgYm9vbCBleHRyYWN0ZWQsIGJvb2wgaXNIb3Jpem9udGFsLCBJbmxp
bmVCb3gqIG5leHQsIElubGluZUJveCogcHJldiwgSW5saW5lRmxvd0JveCogcGFyZW50KQogICAg
ICAgICA6IG1fbmV4dChuZXh0KQogICAgICAgICAsIG1fcHJldihwcmV2KQpAQCAtMTEyLDE1ICsx
MTIsMTUgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzTGluZUJyZWFrKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihpbnQg
ZHgsIGludCBkeSk7Ci0gICAgdm9pZCBhZGp1c3RMaW5lRGlyZWN0aW9uUG9zaXRpb24oaW50IGRl
bHRhKQorICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihmbG9hdCBkeCwgZmxvYXQgZHkp
OworICAgIHZvaWQgYWRqdXN0TGluZURpcmVjdGlvblBvc2l0aW9uKGZsb2F0IGRlbHRhKQogICAg
IHsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKQogICAgICAgICAgICAgYWRqdXN0UG9zaXRp
b24oZGVsdGEsIDApOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBhZGp1c3RQb3NpdGlvbigw
LCBkZWx0YSk7CiAgICAgfQotICAgIHZvaWQgYWRqdXN0QmxvY2tEaXJlY3Rpb25Qb3NpdGlvbihp
bnQgZGVsdGEpCisgICAgdm9pZCBhZGp1c3RCbG9ja0RpcmVjdGlvblBvc2l0aW9uKGZsb2F0IGRl
bHRhKQogICAgIHsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKQogICAgICAgICAgICAgYWRq
dXN0UG9zaXRpb24oMCwgZGVsdGEpOwpAQCAtMjIwLDI4ICsyMjAsMjggQEAgcHVibGljOgogICAg
IFJvb3RJbmxpbmVCb3gqIHJvb3QoKTsKIAogICAgIC8vIHgoKSBpcyB0aGUgbGVmdCBzaWRlIG9m
IHRoZSBib3ggaW4gdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBjb29yZGluYXRlIHN5c3RlbS4KLSAg
ICB2b2lkIHNldFgoaW50IHgpIHsgbV94ID0geDsgfQotICAgIGludCB4KCkgY29uc3QgeyByZXR1
cm4gbV94OyB9CisgICAgdm9pZCBzZXRYKGZsb2F0IHgpIHsgbV94ID0geDsgfQorICAgIGZsb2F0
IHgoKSBjb25zdCB7IHJldHVybiBtX3g7IH0KIAogICAgIC8vIHkoKSBpcyB0aGUgdG9wIHNpZGUg
b2YgdGhlIGJveCBpbiB0aGUgY29udGFpbmluZyBibG9jaydzIGNvb3JkaW5hdGUgc3lzdGVtLgot
ICAgIHZvaWQgc2V0WShpbnQgeSkgeyBtX3kgPSB5OyB9Ci0gICAgaW50IHkoKSBjb25zdCB7IHJl
dHVybiBtX3k7IH0KKyAgICB2b2lkIHNldFkoZmxvYXQgeSkgeyBtX3kgPSB5OyB9CisgICAgZmxv
YXQgeSgpIGNvbnN0IHsgcmV0dXJuIG1feTsgfQogCi0gICAgaW50IHdpZHRoKCkgY29uc3QgeyBy
ZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsV2lkdGgoKSA6IGxvZ2ljYWxIZWlnaHQoKTsg
fQotICAgIGludCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IGxvZ2lj
YWxIZWlnaHQoKSA6IGxvZ2ljYWxXaWR0aCgpOyB9Ci0KLSAgICBJbnRSZWN0IGZyYW1lUmVjdCgp
IGNvbnN0IHsgcmV0dXJuIEludFJlY3QoeCgpLCB5KCksIHdpZHRoKCksIGhlaWdodCgpKTsgfQor
ICAgIGZsb2F0IHdpZHRoKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2Fs
V2lkdGgoKSA6IGxvZ2ljYWxIZWlnaHQoKTsgfQorICAgIGZsb2F0IGhlaWdodCgpIGNvbnN0IHsg
cmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbG9naWNhbEhlaWdodCgpIDogbG9naWNhbFdpZHRoKCk7
IH0KIAogICAgIC8vIFRoZSBsb2dpY2FsTGVmdCBwb3NpdGlvbiBpcyB0aGUgbGVmdCBlZGdlIG9m
IHRoZSBsaW5lIGJveCBpbiBhIGhvcml6b250YWwgbGluZSBhbmQgdGhlIHRvcCBlZGdlIGluIGEg
dmVydGljYWwgbGluZS4KLSAgICBpbnQgbG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBpc0hv
cml6b250YWwoKSA/IG1feCA6IG1feTsgfQotICAgIGludCBsb2dpY2FsUmlnaHQoKSBjb25zdCB7
IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNhbFdpZHRoKCk7IH0KLSAgICB2b2lkIHNldExv
Z2ljYWxMZWZ0KGludCBsZWZ0KQorICAgIGZsb2F0IGxvZ2ljYWxMZWZ0KCkgY29uc3QgeyByZXR1
cm4gaXNIb3Jpem9udGFsKCkgPyBtX3ggOiBtX3k7IH0KKyAgICBmbG9hdCBsb2dpY2FsUmlnaHQo
KSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNhbFdpZHRoKCk7IH0KKyAgICB2
b2lkIHNldExvZ2ljYWxMZWZ0KGZsb2F0IGxlZnQpCiAgICAgewogICAgICAgICBpZiAoaXNIb3Jp
em9udGFsKCkpCiAgICAgICAgICAgICBtX3ggPSBsZWZ0OwogICAgICAgICBlbHNlCiAgICAgICAg
ICAgICBtX3kgPSBsZWZ0OwogICAgIH0KKyAgICBpbnQgcGl4ZWxTbmFwcGVkTG9naWNhbExlZnQo
KSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpOyB9CisgICAgaW50IHBpeGVsU25hcHBlZExv
Z2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGNlaWxmKGxvZ2ljYWxSaWdodCgpKTsgfQogCiAg
ICAgLy8gVGhlIGxvZ2ljYWxUb3BbIHBvc2l0aW9uIGlzIHRoZSB0b3AgZWRnZSBvZiB0aGUgbGlu
ZSBib3ggaW4gYSBob3Jpem9udGFsIGxpbmUgYW5kIHRoZSBsZWZ0IGVkZ2UgaW4gYSB2ZXJ0aWNh
bCBsaW5lLgogICAgIGludCBsb2dpY2FsVG9wKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFs
KCkgPyBtX3kgOiBtX3g7IH0KQEAgLTI1NSw4ICsyNTUsOCBAQCBwdWJsaWM6CiAgICAgfQogCiAg
ICAgLy8gVGhlIGxvZ2ljYWwgd2lkdGggaXMgb3VyIGV4dGVudCBpbiB0aGUgbGluZSdzIG92ZXJh
bGwgaW5saW5lIGRpcmVjdGlvbiwgaS5lLiwgd2lkdGggZm9yIGhvcml6b250YWwgdGV4dCBhbmQg
aGVpZ2h0IGZvciB2ZXJ0aWNhbCB0ZXh0LgotICAgIHZvaWQgc2V0TG9naWNhbFdpZHRoKGludCB3
KSB7IG1fbG9naWNhbFdpZHRoID0gdzsgfQotICAgIGludCBsb2dpY2FsV2lkdGgoKSBjb25zdCB7
IHJldHVybiBtX2xvZ2ljYWxXaWR0aDsgfQorICAgIHZvaWQgc2V0TG9naWNhbFdpZHRoKGZsb2F0
IHcpIHsgbV9sb2dpY2FsV2lkdGggPSB3OyB9CisgICAgZmxvYXQgbG9naWNhbFdpZHRoKCkgY29u
c3QgeyByZXR1cm4gbV9sb2dpY2FsV2lkdGg7IH0KIAogICAgIC8vIFRoZSBsb2dpY2FsIGhlaWdo
dCBpcyBvdXIgZXh0ZW50IGluIHRoZSBibG9jayBmbG93IGRpcmVjdGlvbiwgaS5lLiwgaGVpZ2h0
IGZvciBob3Jpem9udGFsIHRleHQgYW5kIHdpZHRoIGZvciB2ZXJ0aWNhbCB0ZXh0LgogICAgIGlu
dCBsb2dpY2FsSGVpZ2h0KCkgY29uc3Q7CkBAIC0yODYsNyArMjg2LDcgQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCBib29sIGNhbkFjY29tbW9kYXRlRWxsaXBzaXMoYm9vbCBsdHIsIGludCBibG9j
a0VkZ2UsIGludCBlbGxpcHNpc1dpZHRoKTsKICAgICAvLyB2aXNpYmxlTGVmdEVkZ2UsIHZpc2li
bGVSaWdodEVkZ2UgYXJlIGluIHRoZSBwYXJlbnQncyBjb29yZGluYXRlIHN5c3RlbS4KLSAgICB2
aXJ0dWFsIGludCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBpbnQgdmlzaWJsZUxlZnRFZGdl
LCBpbnQgdmlzaWJsZVJpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmKTsKKyAgICB2
aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGZsb2F0IHZpc2libGVMZWZ0
RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYp
OwogCiAgICAgdm9pZCBzZXRIYXNCYWRQYXJlbnQoKTsKIApAQCAtMjk0LDYgKzI5NCw4IEBAIHB1
YmxpYzoKICAgICAKICAgICBib29sIHZpc2libGVUb0hpdFRlc3RpbmcoKSBjb25zdCB7IHJldHVy
biByZW5kZXJlcigpLT5zdHlsZSgpLT52aXNpYmlsaXR5KCkgPT0gVklTSUJMRSAmJiByZW5kZXJl
cigpLT5zdHlsZSgpLT5wb2ludGVyRXZlbnRzKCkgIT0gUEVfTk9ORTsgfQogICAgIAorICAgIEVW
ZXJ0aWNhbEFsaWduIHZlcnRpY2FsQWxpZ24oKSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLT5z
dHlsZShtX2ZpcnN0TGluZSktPnZlcnRpY2FsQWxpZ24oKTsgfQorCiAgICAgLy8gVXNlIHdpdGgg
Y2F1dGlvbiEgVGhlIHR5cGUgaXMgbm90IGNoZWNrZWQhCiAgICAgUmVuZGVyQm94TW9kZWxPYmpl
Y3QqIGJveE1vZGVsT2JqZWN0KCkgY29uc3QKICAgICB7IApAQCAtMzAyLDcgKzMwNCw5IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgSW50UG9pbnQgbG9jYXRpb25J
bmNsdWRpbmdGbGlwcGluZygpOworICAgIEZsb2F0UG9pbnQgbG9jYXRpb25JbmNsdWRpbmdGbGlw
cGluZygpOworICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0UmVjdCYpOworICAgIEZs
b2F0UG9pbnQgZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEZsb2F0UG9pbnQmKTsKICAgICB2b2lk
IGZsaXBGb3JXcml0aW5nTW9kZShJbnRSZWN0Jik7CiAgICAgSW50UG9pbnQgZmxpcEZvcldyaXRp
bmdNb2RlKGNvbnN0IEludFBvaW50Jik7CiAKQEAgLTMxNSw5ICszMTksOSBAQCBwcml2YXRlOgog
cHVibGljOgogICAgIFJlbmRlck9iamVjdCogbV9yZW5kZXJlcjsKIAotICAgIGludCBtX3g7Ci0g
ICAgaW50IG1feTsKLSAgICBpbnQgbV9sb2dpY2FsV2lkdGg7CisgICAgZmxvYXQgbV94OworICAg
IGZsb2F0IG1feTsKKyAgICBmbG9hdCBtX2xvZ2ljYWxXaWR0aDsKICAgICAKICAgICAvLyBTb21l
IG9mIHRoZXNlIGJpdHMgYXJlIGFjdHVhbGx5IGZvciBzdWJjbGFzc2VzIGFuZCBtb3ZlZCBoZXJl
IHRvIGNvbXBhY3QgdGhlIHN0cnVjdHVyZXMuCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9JbmxpbmVGbG93Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHJldmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2
NywxOCBAQCBpbnQgSW5saW5lRmxvd0JveDo6Z2V0Rmxvd1NwYWNpbmdMb2dpY2FsCiAgICAgcmV0
dXJuIHRvdFdpZHRoOwogfQogCitJbnRSZWN0IElubGluZUZsb3dCb3g6OnJvdW5kZWRGcmFtZVJl
Y3QoKSBjb25zdAoreworICAgIC8vIEJlZ2luIGJ5IHNuYXBwaW5nIHRoZSB4IGFuZCB5IGNvb3Jk
aW5hdGVzIHRvIHRoZSBuZWFyZXN0IHBpeGVsLgorICAgIGludCBzbmFwcGVkWCA9IGxyb3VuZGYo
eCgpKTsKKyAgICBpbnQgc25hcHBlZFkgPSBscm91bmRmKHkoKSk7CisgICAgCisgICAgaW50IHNu
YXBwZWRNYXhYID0gbHJvdW5kZih4KCkgKyB3aWR0aCgpKTsKKyAgICBpbnQgc25hcHBlZE1heFkg
PSBscm91bmRmKHkoKSArIGhlaWdodCgpKTsKKyAgICAKKyAgICByZXR1cm4gSW50UmVjdChzbmFw
cGVkWCwgc25hcHBlZFksIHNuYXBwZWRNYXhYIC0gc25hcHBlZFgsIHNuYXBwZWRNYXhZIC0gc25h
cHBlZFkpOworfQorCiB2b2lkIElubGluZUZsb3dCb3g6OmFkZFRvTGluZShJbmxpbmVCb3gqIGNo
aWxkKSAKIHsKICAgICBBU1NFUlQoIWNoaWxkLT5wYXJlbnQoKSk7CkBAIC0xNjcsMTMgKzE3OSwx
MyBAQCB2b2lkIElubGluZUZsb3dCb3g6OmF0dGFjaExpbmVCb3hUb1JlbmRlCiAgICAgdG9SZW5k
ZXJJbmxpbmUocmVuZGVyZXIoKSktPmxpbmVCb3hlcygpLT5hdHRhY2hMaW5lQm94KHRoaXMpOwog
fQogCi12b2lkIElubGluZUZsb3dCb3g6OmFkanVzdFBvc2l0aW9uKGludCBkeCwgaW50IGR5KQor
dm9pZCBJbmxpbmVGbG93Qm94OjphZGp1c3RQb3NpdGlvbihmbG9hdCBkeCwgZmxvYXQgZHkpCiB7
CiAgICAgSW5saW5lQm94OjphZGp1c3RQb3NpdGlvbihkeCwgZHkpOwogICAgIGZvciAoSW5saW5l
Qm94KiBjaGlsZCA9IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRPbkxp
bmUoKSkKICAgICAgICAgY2hpbGQtPmFkanVzdFBvc2l0aW9uKGR4LCBkeSk7CiAgICAgaWYgKG1f
b3ZlcmZsb3cpCi0gICAgICAgIG1fb3ZlcmZsb3ctPm1vdmUoZHgsIGR5KTsKKyAgICAgICAgbV9v
dmVyZmxvdy0+bW92ZShkeCwgZHkpOyAvLyBGSVhNRTogUm91bmRpbmcgZXJyb3IgaGVyZSBzaW5j
ZSBvdmVyZmxvdyB3YXMgcGl4ZWwgc25hcHBlZCwgYnV0IG5vYm9keSBvdGhlciB0aGFuIGxpc3Qg
bWFya2VycyBwYXNzZXMgbm9uLWludGVncmFsIHZhbHVlcyBoZXJlLgogfQogCiBSZW5kZXJMaW5l
Qm94TGlzdCogSW5saW5lRmxvd0JveDo6cmVuZGVyZXJMaW5lQm94ZXMoKSBjb25zdApAQCAtMjU1
LDEyICsyNjcsMTIgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpkZXRlcm1pbmVTcGFjaW5nRm9yRgog
ICAgIH0KIH0KIAotaW50IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklubGluZURpcmVjdGlv
bihpbnQgbG9naWNhbExlZnQsIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcsIEdseXBoT3ZlcmZsb3dB
bmRGYWxsYmFja0ZvbnRzTWFwJiB0ZXh0Qm94RGF0YU1hcCkKK2Zsb2F0IElubGluZUZsb3dCb3g6
OnBsYWNlQm94ZXNJbklubGluZURpcmVjdGlvbihmbG9hdCBsb2dpY2FsTGVmdCwgYm9vbCYgbmVl
ZHNXb3JkU3BhY2luZywgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmIHRleHRCb3hE
YXRhTWFwKQogewogICAgIC8vIFNldCBvdXIgeCBwb3NpdGlvbi4KICAgICBzZXRMb2dpY2FsTGVm
dChsb2dpY2FsTGVmdCk7CiAgIAotICAgIGludCBzdGFydExvZ2ljYWxMZWZ0ID0gbG9naWNhbExl
ZnQ7CisgICAgZmxvYXQgc3RhcnRMb2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0OwogICAgIGxvZ2lj
YWxMZWZ0ICs9IGJvcmRlckxvZ2ljYWxMZWZ0KCkgKyBwYWRkaW5nTG9naWNhbExlZnQoKTsKICAg
ICAKICAgICBmb3IgKElubGluZUJveCogY3VyciA9IGZpcnN0Q2hpbGQoKTsgY3VycjsgY3VyciA9
IGN1cnItPm5leHRPbkxpbmUoKSkgewpAQCAtMzQ1LDE3ICszNTcsMTYgQEAgYm9vbCBJbmxpbmVG
bG93Qm94OjpyZXF1aXJlc0lkZW9ncmFwaGljQgogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9p
ZCBJbmxpbmVGbG93Qm94OjphZGp1c3RNYXhBc2NlbnRBbmREZXNjZW50KGludCYgbWF4QXNjZW50
LCBpbnQmIG1heERlc2NlbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IG1heFBvc2l0aW9uVG9wLCBpbnQgbWF4UG9zaXRpb25Cb3R0b20pCit2b2lk
IElubGluZUZsb3dCb3g6OmFkanVzdE1heEFzY2VudEFuZERlc2NlbnQoaW50JiBtYXhBc2NlbnQs
IGludCYgbWF4RGVzY2VudCwgaW50IG1heFBvc2l0aW9uVG9wLCBpbnQgbWF4UG9zaXRpb25Cb3R0
b20pCiB7CiAgICAgZm9yIChJbmxpbmVCb3gqIGN1cnIgPSBmaXJzdENoaWxkKCk7IGN1cnI7IGN1
cnIgPSBjdXJyLT5uZXh0T25MaW5lKCkpIHsKICAgICAgICAgLy8gVGhlIGNvbXB1dGVkIGxpbmVo
ZWlnaHQgbmVlZHMgdG8gYmUgZXh0ZW5kZWQgZm9yIHRoZQogICAgICAgICAvLyBwb3NpdGlvbmVk
IGVsZW1lbnRzCiAgICAgICAgIGlmIChjdXJyLT5yZW5kZXJlcigpLT5pc1Bvc2l0aW9uZWQoKSkK
ICAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBQb3NpdGlvbmVkIHBsYWNlaG9sZGVycyBkb24ndCBh
ZmZlY3QgY2FsY3VsYXRpb25zLgotICAgICAgICBpZiAoY3Vyci0+bG9naWNhbFRvcCgpID09IFBv
c2l0aW9uVG9wIHx8IGN1cnItPmxvZ2ljYWxUb3AoKSA9PSBQb3NpdGlvbkJvdHRvbSkgeworICAg
ICAgICBpZiAoY3Vyci0+dmVydGljYWxBbGlnbigpID09IFRPUCB8fCBjdXJyLT52ZXJ0aWNhbEFs
aWduKCkgPT0gQk9UVE9NKSB7CiAgICAgICAgICAgICBpbnQgbGluZUhlaWdodCA9IGN1cnItPmxp
bmVIZWlnaHQoKTsKLSAgICAgICAgICAgIGlmIChjdXJyLT5sb2dpY2FsVG9wKCkgPT0gUG9zaXRp
b25Ub3ApIHsKKyAgICAgICAgICAgIGlmIChjdXJyLT52ZXJ0aWNhbEFsaWduKCkgPT0gVE9QKSB7
CiAgICAgICAgICAgICAgICAgaWYgKG1heEFzY2VudCArIG1heERlc2NlbnQgPCBsaW5lSGVpZ2h0
KQogICAgICAgICAgICAgICAgICAgICBtYXhEZXNjZW50ID0gbGluZUhlaWdodCAtIG1heEFzY2Vu
dDsKICAgICAgICAgICAgIH0KQEAgLTM5Nyw0MCArNDA4LDM3IEBAIHN0YXRpYyBpbnQgdmVydGlj
YWxQb3NpdGlvbkZvckJveChJbmxpbmUKIAogICAgIGludCB2ZXJ0aWNhbFBvc2l0aW9uID0gMDsK
ICAgICBFVmVydGljYWxBbGlnbiB2ZXJ0aWNhbEFsaWduID0gcmVuZGVyZXItPnN0eWxlKCktPnZl
cnRpY2FsQWxpZ24oKTsKLSAgICBpZiAodmVydGljYWxBbGlnbiA9PSBUT1ApCi0gICAgICAgIHZl
cnRpY2FsUG9zaXRpb24gPSBQb3NpdGlvblRvcDsKLSAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWdu
ID09IEJPVFRPTSkKLSAgICAgICAgdmVydGljYWxQb3NpdGlvbiA9IFBvc2l0aW9uQm90dG9tOwot
ICAgIGVsc2UgewotICAgICAgICBSZW5kZXJPYmplY3QqIHBhcmVudCA9IHJlbmRlcmVyLT5wYXJl
bnQoKTsKLSAgICAgICAgaWYgKHBhcmVudC0+aXNSZW5kZXJJbmxpbmUoKSAmJiBwYXJlbnQtPnN0
eWxlKCktPnZlcnRpY2FsQWxpZ24oKSAhPSBUT1AgJiYgcGFyZW50LT5zdHlsZSgpLT52ZXJ0aWNh
bEFsaWduKCkgIT0gQk9UVE9NKQotICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiA9IGJveC0+
cGFyZW50KCktPmxvZ2ljYWxUb3AoKTsKLSAgICAgICAgCi0gICAgICAgIGlmICh2ZXJ0aWNhbEFs
aWduICE9IEJBU0VMSU5FKSB7Ci0gICAgICAgICAgICBjb25zdCBGb250JiBmb250ID0gcGFyZW50
LT5zdHlsZShmaXJzdExpbmUpLT5mb250KCk7Ci0gICAgICAgICAgICBjb25zdCBGb250TWV0cmlj
cyYgZm9udE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7Ci0gICAgICAgICAgICBpbnQgZm9u
dFNpemUgPSBmb250LnBpeGVsU2l6ZSgpOwotCi0gICAgICAgICAgICBMaW5lRGlyZWN0aW9uTW9k
ZSBsaW5lRGlyZWN0aW9uID0gcGFyZW50LT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9k
ZSgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmU7Ci0KLSAgICAgICAgICAgIGlmICh2
ZXJ0aWNhbEFsaWduID09IFNVQikKLSAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9
IGZvbnRTaXplIC8gNSArIDE7Ci0gICAgICAgICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09
IFNVUEVSKQotICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gLT0gZm9udFNpemUgLyAz
ICsgMTsKLSAgICAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gVEVYVF9UT1ApCi0g
ICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSByZW5kZXJlci0+YmFzZWxpbmVQb3Np
dGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikgLSBmb250TWV0cmlj
cy5hc2NlbnQoYmFzZWxpbmVUeXBlKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxp
Z24gPT0gTUlERExFKQotICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gLXN0YXRp
Y19jYXN0PGludD4oZm9udE1ldHJpY3MueEhlaWdodCgpIC8gMikgLSByZW5kZXJlci0+bGluZUhl
aWdodChmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC8gMiArIHJlbmRlcmVyLT5iYXNlbGluZVBv
c2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKTsKLSAgICAgICAg
ICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gVEVYVF9CT1RUT00pIHsKLSAgICAgICAgICAg
ICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IGZvbnRNZXRyaWNzLmRlc2NlbnQoYmFzZWxpbmVUeXBl
KTsKLSAgICAgICAgICAgICAgICAvLyBsaW5lSGVpZ2h0IC0gYmFzZWxpbmVQb3NpdGlvbiBpcyBh
bHdheXMgMCBmb3IgcmVwbGFjZWQgZWxlbWVudHMgKGV4Y2VwdCBpbmxpbmUgYmxvY2tzKSwgc28g
ZG9uJ3QgYm90aGVyIHdhc3RpbmcgdGltZSBpbiB0aGF0IGNhc2UuCi0gICAgICAgICAgICAgICAg
aWYgKCFyZW5kZXJlci0+aXNSZXBsYWNlZCgpIHx8IHJlbmRlcmVyLT5pc0lubGluZUJsb2NrT3JJ
bmxpbmVUYWJsZSgpKQotICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uIC09IChy
ZW5kZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC0gcmVuZGVyZXIt
PmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24p
KTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBCQVNFTElORV9NSURE
TEUpCi0gICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSAtcmVuZGVyZXItPmxpbmVI
ZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAvIDIgKyByZW5kZXJlci0+YmFzZWxpbmVQ
b3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbik7Ci0gICAgICAg
ICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IExFTkdUSCkKLSAgICAgICAgICAgICAgICB2
ZXJ0aWNhbFBvc2l0aW9uIC09IHJlbmRlcmVyLT5zdHlsZSgpLT52ZXJ0aWNhbEFsaWduTGVuZ3Ro
KCkuY2FsY1ZhbHVlKHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0TGluZSwgbGluZURpcmVjdGlv
bikpOwotICAgICAgICB9CisgICAgaWYgKHZlcnRpY2FsQWxpZ24gPT0gVE9QIHx8IHZlcnRpY2Fs
QWxpZ24gPT0gQk9UVE9NKQorICAgICAgICByZXR1cm4gMDsKKyAgIAorICAgIFJlbmRlck9iamVj
dCogcGFyZW50ID0gcmVuZGVyZXItPnBhcmVudCgpOworICAgIGlmIChwYXJlbnQtPmlzUmVuZGVy
SW5saW5lKCkgJiYgcGFyZW50LT5zdHlsZSgpLT52ZXJ0aWNhbEFsaWduKCkgIT0gVE9QICYmIHBh
cmVudC0+c3R5bGUoKS0+dmVydGljYWxBbGlnbigpICE9IEJPVFRPTSkKKyAgICAgICAgdmVydGlj
YWxQb3NpdGlvbiA9IGJveC0+cGFyZW50KCktPmxvZ2ljYWxUb3AoKTsKKyAgICAKKyAgICBpZiAo
dmVydGljYWxBbGlnbiAhPSBCQVNFTElORSkgeworICAgICAgICBjb25zdCBGb250JiBmb250ID0g
cGFyZW50LT5zdHlsZShmaXJzdExpbmUpLT5mb250KCk7CisgICAgICAgIGNvbnN0IEZvbnRNZXRy
aWNzJiBmb250TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKKyAgICAgICAgaW50IGZvbnRT
aXplID0gZm9udC5waXhlbFNpemUoKTsKKworICAgICAgICBMaW5lRGlyZWN0aW9uTW9kZSBsaW5l
RGlyZWN0aW9uID0gcGFyZW50LT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8g
SG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmU7CisKKyAgICAgICAgaWYgKHZlcnRpY2FsQWxp
Z24gPT0gU1VCKQorICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSBmb250U2l6ZSAvIDUg
KyAxOworICAgICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IFNVUEVSKQorICAgICAgICAg
ICAgdmVydGljYWxQb3NpdGlvbiAtPSBmb250U2l6ZSAvIDMgKyAxOworICAgICAgICBlbHNlIGlm
ICh2ZXJ0aWNhbEFsaWduID09IFRFWFRfVE9QKQorICAgICAgICAgICAgdmVydGljYWxQb3NpdGlv
biArPSByZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwg
bGluZURpcmVjdGlvbikgLSBmb250TWV0cmljcy5hc2NlbnQoYmFzZWxpbmVUeXBlKTsKKyAgICAg
ICAgZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBNSURETEUpCisgICAgICAgICAgICB2ZXJ0aWNh
bFBvc2l0aW9uICs9IC1zdGF0aWNfY2FzdDxpbnQ+KGZvbnRNZXRyaWNzLnhIZWlnaHQoKSAvIDIp
IC0gcmVuZGVyZXItPmxpbmVIZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAvIDIgKyBy
ZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURp
cmVjdGlvbik7CisgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gVEVYVF9CT1RUT00p
IHsKKyAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gZm9udE1ldHJpY3MuZGVzY2VudChi
YXNlbGluZVR5cGUpOworICAgICAgICAgICAgLy8gbGluZUhlaWdodCAtIGJhc2VsaW5lUG9zaXRp
b24gaXMgYWx3YXlzIDAgZm9yIHJlcGxhY2VkIGVsZW1lbnRzIChleGNlcHQgaW5saW5lIGJsb2Nr
cyksIHNvIGRvbid0IGJvdGhlciB3YXN0aW5nIHRpbWUgaW4gdGhhdCBjYXNlLgorICAgICAgICAg
ICAgaWYgKCFyZW5kZXJlci0+aXNSZXBsYWNlZCgpIHx8IHJlbmRlcmVyLT5pc0lubGluZUJsb2Nr
T3JJbmxpbmVUYWJsZSgpKQorICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gLT0gKHJl
bmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikgLSByZW5kZXJlci0+
YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikp
OworICAgICAgICB9IGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gQkFTRUxJTkVfTUlERExFKQor
ICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSAtcmVuZGVyZXItPmxpbmVIZWlnaHQoZmly
c3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAvIDIgKyByZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlvbihi
YXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbik7CisgICAgICAgIGVsc2UgaWYg
KHZlcnRpY2FsQWxpZ24gPT0gTEVOR1RIKQorICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiAt
PSByZW5kZXJlci0+c3R5bGUoKS0+dmVydGljYWxBbGlnbkxlbmd0aCgpLmNhbGNWYWx1ZShyZW5k
ZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pKTsKICAgICB9CiAKICAg
ICAvLyBTdG9yZSB0aGUgY2FjaGVkIHZhbHVlLgpAQCAtNTQyLDEwICs1NTAsMTAgQEAgdm9pZCBJ
bmxpbmVGbG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaQogICAgICAgICAgICAgfQogICAgICAg
ICB9CiAKLSAgICAgICAgaWYgKGN1cnItPmxvZ2ljYWxUb3AoKSA9PSBQb3NpdGlvblRvcCkgewor
ICAgICAgICBpZiAoY3Vyci0+dmVydGljYWxBbGlnbigpID09IFRPUCkgewogICAgICAgICAgICAg
aWYgKG1heFBvc2l0aW9uVG9wIDwgbGluZUhlaWdodCkKICAgICAgICAgICAgICAgICBtYXhQb3Np
dGlvblRvcCA9IGxpbmVIZWlnaHQ7Ci0gICAgICAgIH0gZWxzZSBpZiAoY3Vyci0+bG9naWNhbFRv
cCgpID09IFBvc2l0aW9uQm90dG9tKSB7CisgICAgICAgIH0gZWxzZSBpZiAoY3Vyci0+dmVydGlj
YWxBbGlnbigpID09IEJPVFRPTSkgewogICAgICAgICAgICAgaWYgKG1heFBvc2l0aW9uQm90dG9t
IDwgbGluZUhlaWdodCkKICAgICAgICAgICAgICAgICBtYXhQb3NpdGlvbkJvdHRvbSA9IGxpbmVI
ZWlnaHQ7CiAgICAgICAgIH0gZWxzZSBpZiAoKCFpc0lubGluZUZsb3cgfHwgc3RhdGljX2Nhc3Q8
SW5saW5lRmxvd0JveCo+KGN1cnIpLT5oYXNUZXh0Q2hpbGRyZW4oKSkgfHwgY3Vyci0+Ym94TW9k
ZWxPYmplY3QoKS0+aGFzSW5saW5lRGlyZWN0aW9uQm9yZGVyc09yUGFkZGluZygpIHx8IHN0cmlj
dE1vZGUpIHsKQEAgLTU5Miw5ICs2MDAsOSBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBsYWNlQm94
ZXNJbkJsb2NrRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVUb3BJbmNsdWRpbmdNYXJnaW5zLCBs
aW5lQm90dG9tSW5jbHVkaW5nTWFyZ2lucywgaGFzQW5ub3RhdGlvbnNCZWZvcmUsIGhhc0Fubm90
YXRpb25zQWZ0ZXIsIGJhc2VsaW5lVHlwZSk7CiAKICAgICAgICAgYm9vbCBjaGlsZEFmZmVjdHNU
b3BCb3R0b21Qb3MgPSB0cnVlOwotICAgICAgICBpZiAoY3Vyci0+bG9naWNhbFRvcCgpID09IFBv
c2l0aW9uVG9wKQorICAgICAgICBpZiAoY3Vyci0+dmVydGljYWxBbGlnbigpID09IFRPUCkKICAg
ICAgICAgICAgIGN1cnItPnNldExvZ2ljYWxUb3AodG9wKTsKLSAgICAgICAgZWxzZSBpZiAoY3Vy
ci0+bG9naWNhbFRvcCgpID09IFBvc2l0aW9uQm90dG9tKQorICAgICAgICBlbHNlIGlmIChjdXJy
LT52ZXJ0aWNhbEFsaWduKCkgPT0gQk9UVE9NKQogICAgICAgICAgICAgY3Vyci0+c2V0TG9naWNh
bFRvcCh0b3AgKyBtYXhIZWlnaHQgLSBjdXJyLT5saW5lSGVpZ2h0KCkpOwogICAgICAgICBlbHNl
IHsKICAgICAgICAgICAgIGlmICgoaXNJbmxpbmVGbG93ICYmICFzdGF0aWNfY2FzdDxJbmxpbmVG
bG93Qm94Kj4oY3VyciktPmhhc1RleHRDaGlsZHJlbigpKSAmJiAhY3Vyci0+Ym94TW9kZWxPYmpl
Y3QoKS0+aGFzSW5saW5lRGlyZWN0aW9uQm9yZGVyc09yUGFkZGluZygpICYmICFzdHJpY3RNb2Rl
KQpAQCAtNzI0LDggKzczMiw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6YWRkQm94U2hhZG93Vmlz
dWFsT3YKICAgICBpbnQgYm94U2hhZG93TG9naWNhbFJpZ2h0OwogICAgIHJlbmRlcmVyKCktPnN0
eWxlKG1fZmlyc3RMaW5lKS0+Z2V0Qm94U2hhZG93SW5saW5lRGlyZWN0aW9uRXh0ZW50KGJveFNo
YWRvd0xvZ2ljYWxMZWZ0LCBib3hTaGFkb3dMb2dpY2FsUmlnaHQpOwogCi0gICAgaW50IGxvZ2lj
YWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQoKSArIGJveFNoYWRvd0xvZ2lj
YWxMZWZ0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cueCgpKTsKLSAgICBpbnQgbG9naWNhbFJpZ2h0
VmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9naWNhbFJpZ2h0KCkgKyBib3hTaGFkb3dMb2dpY2FsUmln
aHQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhYKCkpOworICAgIGludCBsb2dpY2FsTGVmdFZp
c3VhbE92ZXJmbG93ID0gbWluKHBpeGVsU25hcHBlZExvZ2ljYWxMZWZ0KCkgKyBib3hTaGFkb3dM
b2dpY2FsTGVmdCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LngoKSk7CisgICAgaW50IGxvZ2ljYWxS
aWdodFZpc3VhbE92ZXJmbG93ID0gbWF4KHBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCgpICsgYm94
U2hhZG93TG9naWNhbFJpZ2h0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cubWF4WCgpKTsKICAgICAK
ICAgICBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cgPSBJbnRSZWN0KGxvZ2ljYWxMZWZ0VmlzdWFsT3Zl
cmZsb3csIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93IC0gbG9naWNhbExlZnRWaXN1
YWxPdmVyZmxvdywgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93IC0gbG9naWNhbFRvcFZpc3Vh
bE92ZXJmbG93KTsKQEAgLTc4MSw4ICs3ODksOCBAQCB2b2lkIElubGluZUZsb3dCb3g6OmFkZFRl
eHRCb3hWaXN1YWxPdmVyCiAKICAgICBpbnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93ID0gbWlu
KHRleHRCb3gtPmxvZ2ljYWxUb3AoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsVG9wLCBsb2dpY2Fs
VmlzdWFsT3ZlcmZsb3cueSgpKTsKICAgICBpbnQgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93
ID0gbWF4KHRleHRCb3gtPmxvZ2ljYWxCb3R0b20oKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsQm90
dG9tLCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cubWF4WSgpKTsKLSAgICBpbnQgbG9naWNhbExlZnRW
aXN1YWxPdmVyZmxvdyA9IG1pbih0ZXh0Qm94LT5sb2dpY2FsTGVmdCgpICsgY2hpbGRPdmVyZmxv
d0xvZ2ljYWxMZWZ0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cueCgpKTsKLSAgICBpbnQgbG9naWNh
bFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgodGV4dEJveC0+bG9naWNhbFJpZ2h0KCkgKyBjaGls
ZE92ZXJmbG93TG9naWNhbFJpZ2h0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cubWF4WCgpKTsKKyAg
ICBpbnQgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9IG1pbih0ZXh0Qm94LT5waXhlbFNuYXBw
ZWRMb2dpY2FsTGVmdCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxMZWZ0LCBsb2dpY2FsVmlzdWFs
T3ZlcmZsb3cueCgpKTsKKyAgICBpbnQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgo
dGV4dEJveC0+cGl4ZWxTbmFwcGVkTG9naWNhbFJpZ2h0KCkgKyBjaGlsZE92ZXJmbG93TG9naWNh
bFJpZ2h0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cubWF4WCgpKTsKICAgICAKICAgICBsb2dpY2Fs
VmlzdWFsT3ZlcmZsb3cgPSBJbnRSZWN0KGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGxvZ2lj
YWxUb3BWaXN1YWxPdmVyZmxvdywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93IC0gbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdywg
bG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93IC0gbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93KTsK
QEAgLTgxOSw3ICs4MjcsNyBAQCB2b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVPdmVyZmxvdyhp
bnQgCiAgICAgLy8gVmlzdWFsIG92ZXJmbG93IGp1c3QgaW5jbHVkZXMgb3ZlcmZsb3cgZm9yIHN0
dWZmIHdlIG5lZWQgdG8gcmVwYWludCBvdXJzZWx2ZXMuICBTZWxmLXBhaW50aW5nIGxheWVycyBh
cmUgaWdub3JlZC4KICAgICAvLyBMYXlvdXQgb3ZlcmZsb3cgaXMgdXNlZCB0byBkZXRlcm1pbmUg
c2Nyb2xsaW5nIGV4dGVudCwgc28gaXQgc3RpbGwgaW5jbHVkZXMgY2hpbGQgbGF5ZXJzIGFuZCBh
bHNvIGZhY3RvcnMgaW4KICAgICAvLyB0cmFuc2Zvcm1zLCByZWxhdGl2ZSBwb3NpdGlvbmluZywg
ZXRjLgotICAgIEludFJlY3QgbG9naWNhbExheW91dE92ZXJmbG93KGxvZ2ljYWxMZWZ0KCksIHRv
cE92ZXJmbG93LCBsb2dpY2FsV2lkdGgoKSwgYm90dG9tT3ZlcmZsb3cgLSB0b3BPdmVyZmxvdyk7
CisgICAgSW50UmVjdCBsb2dpY2FsTGF5b3V0T3ZlcmZsb3coZW5jbG9zaW5nSW50UmVjdChGbG9h
dFJlY3QobG9naWNhbExlZnQoKSwgdG9wT3ZlcmZsb3csIGxvZ2ljYWxXaWR0aCgpLCBib3R0b21P
dmVyZmxvdyAtIHRvcE92ZXJmbG93KSkpOwogICAgIEludFJlY3QgbG9naWNhbFZpc3VhbE92ZXJm
bG93KGxvZ2ljYWxMYXlvdXRPdmVyZmxvdyk7CiAgIAogICAgIC8vIGJveC1zaGFkb3cgb24gcm9v
dCBsaW5lIGJveGVzIGlzIGFwcGx5aW5nIHRvIHRoZSBibG9jayBhbmQgbm90IHRvIHRoZSBsaW5l
cy4KQEAgLTg2NCw3ICs4NzIsNyBAQCB2b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVPdmVyZmxv
dyhpbnQgCiAvLyBhbGwgZnVuY3Rpb25zIHRoYXQgcXVlcnkgb3ZlcmZsb3cuICAgCiB2b2lkIElu
bGluZUZsb3dCb3g6OnNldExheW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmIHJlY3QpCiB7Ci0g
ICAgSW50UmVjdCBmcmFtZUJveCA9IGZyYW1lUmVjdCgpOworICAgIEludFJlY3QgZnJhbWVCb3gg
PSBlbmNsb3NpbmdJbnRSZWN0KEZsb2F0UmVjdCh4KCksIHkoKSwgd2lkdGgoKSwgaGVpZ2h0KCkp
KTsKICAgICBpZiAoZnJhbWVCb3ggPT0gcmVjdCB8fCByZWN0LmlzRW1wdHkoKSkKICAgICAgICAg
cmV0dXJuOwogICAgICAgICAKQEAgLTg3Niw3ICs4ODQsNyBAQCB2b2lkIElubGluZUZsb3dCb3g6
OnNldExheW91dE92ZXJmbG93KGNvCiAKIHZvaWQgSW5saW5lRmxvd0JveDo6c2V0VmlzdWFsT3Zl
cmZsb3coY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKLSAgICBJbnRSZWN0IGZyYW1lQm94ID0gZnJh
bWVSZWN0KCk7CisgICAgSW50UmVjdCBmcmFtZUJveCA9IGVuY2xvc2luZ0ludFJlY3QoRmxvYXRS
ZWN0KHgoKSwgeSgpLCB3aWR0aCgpLCBoZWlnaHQoKSkpOwogICAgIGlmIChmcmFtZUJveCA9PSBy
ZWN0IHx8IHJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAgICAgICAgIApAQCAtOTEy
LDkgKzkyMCw5IEBAIGJvb2wgSW5saW5lRmxvd0JveDo6bm9kZUF0UG9pbnQoY29uc3QgSGkKICAg
ICB9CiAKICAgICAvLyBOb3cgY2hlY2sgb3Vyc2VsdmVzLgotICAgIEludFBvaW50IGJveE9yaWdp
biA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKKyAgICBGbG9hdFBvaW50IGJveE9yaWdp
biA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKICAgICBib3hPcmlnaW4ubW92ZSh0eCwg
dHkpOwotICAgIEludFJlY3QgcmVjdChib3hPcmlnaW4sIEludFNpemUod2lkdGgoKSwgaGVpZ2h0
KCkpKTsKKyAgICBGbG9hdFJlY3QgcmVjdChib3hPcmlnaW4sIEludFNpemUod2lkdGgoKSwgaGVp
Z2h0KCkpKTsKICAgICBpZiAodmlzaWJsZVRvSGl0VGVzdGluZygpICYmIHJlY3QuaW50ZXJzZWN0
cyhyZXN1bHQucmVjdEZvclBvaW50KHgsIHkpKSkgewogICAgICAgICByZW5kZXJlcigpLT51cGRh
dGVIaXRUZXN0UmVzdWx0KHJlc3VsdCwgZmxpcEZvcldyaXRpbmdNb2RlKEludFBvaW50KHggLSB0
eCwgeSAtIHR5KSkpOyAvLyBEb24ndCBhZGQgaW4gbV94IG9yIG1feSBoZXJlLCB3ZSB3YW50IGNv
b3JkcyBpbiB0aGUgY29udGFpbmluZyBibG9jaydzIHNwYWNlLgogICAgICAgICBpZiAoIXJlc3Vs
dC5hZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KHJlbmRlcmVyKCktPm5vZGUoKSwgeCwgeSwg
cmVjdCkpCkBAIC0xMDUwLDEwICsxMDU4LDEyIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6cGFpbnRC
b3hEZWNvcmF0aW9ucygKICAgICBpZiAoIXBhaW50SW5mby5zaG91bGRQYWludFdpdGhpblJvb3Qo
cmVuZGVyZXIoKSkgfHwgcmVuZGVyZXIoKS0+c3R5bGUoKS0+dmlzaWJpbGl0eSgpICE9IFZJU0lC
TEUgfHwgcGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2VGb3JlZ3JvdW5kKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBpbnQgeCA9IG1feDsKLSAgICBpbnQgeSA9IG1feTsKLSAgICBpbnQgdyA9
IHdpZHRoKCk7Ci0gICAgaW50IGggPSBoZWlnaHQoKTsKKyAgICAvLyBQaXhlbCBzbmFwIGJhY2tn
cm91bmQvYm9yZGVyIHBhaW50aW5nLgorICAgIEludFJlY3QgZnJhbWVSZWN0ID0gcm91bmRlZEZy
YW1lUmVjdCgpOworICAgIGludCB4ID0gZnJhbWVSZWN0LngoKTsKKyAgICBpbnQgeSA9IGZyYW1l
UmVjdC55KCk7CisgICAgaW50IHcgPSBmcmFtZVJlY3Qud2lkdGgoKTsKKyAgICBpbnQgaCA9IGZy
YW1lUmVjdC5oZWlnaHQoKTsKIAogICAgIC8vIENvbnN0cmFpbiBvdXIgYmFja2dyb3VuZC9ib3Jk
ZXIgcGFpbnRpbmcgdG8gdGhlIGxpbmUgdG9wIGFuZCBib3R0b20gaWYgbmVjZXNzYXJ5LgogICAg
IGJvb2wgbm9RdWlya3NNb2RlID0gcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+aW5Ob1F1aXJrc01v
ZGUoKTsKQEAgLTExMzMsMTAgKzExNDMsMTIgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwYWludE1h
c2soUGFpbnRJbmZvJgogICAgIGlmICghcGFpbnRJbmZvLnNob3VsZFBhaW50V2l0aGluUm9vdChy
ZW5kZXJlcigpKSB8fCByZW5kZXJlcigpLT5zdHlsZSgpLT52aXNpYmlsaXR5KCkgIT0gVklTSUJM
RSB8fCBwYWludEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZU1hc2spCiAgICAgICAgIHJldHVybjsK
IAotICAgIGludCB4ID0gbV94OwotICAgIGludCB5ID0gbV95OwotICAgIGludCB3ID0gd2lkdGgo
KTsKLSAgICBpbnQgaCA9IGhlaWdodCgpOworICAgIC8vIFBpeGVsIHNuYXAgbWFzayBwYWludGlu
Zy4KKyAgICBJbnRSZWN0IGZyYW1lUmVjdCA9IHJvdW5kZWRGcmFtZVJlY3QoKTsKKyAgICBpbnQg
eCA9IGZyYW1lUmVjdC54KCk7CisgICAgaW50IHkgPSBmcmFtZVJlY3QueSgpOworICAgIGludCB3
ID0gZnJhbWVSZWN0LndpZHRoKCk7CisgICAgaW50IGggPSBmcmFtZVJlY3QuaGVpZ2h0KCk7CiAK
ICAgICAvLyBDb25zdHJhaW4gb3VyIGJhY2tncm91bmQvYm9yZGVyIHBhaW50aW5nIHRvIHRoZSBs
aW5lIHRvcCBhbmQgYm90dG9tIGlmIG5lY2Vzc2FyeS4KICAgICBib29sIG5vUXVpcmtzTW9kZSA9
IHJlbmRlcmVyKCktPmRvY3VtZW50KCktPmluTm9RdWlya3NNb2RlKCk7CkBAIC0xMjM3LDE0ICsx
MjQ5LDE0IEBAIGJvb2wgSW5saW5lRmxvd0JveDo6Y2FuQWNjb21tb2RhdGVFbGxpcHMKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAotaW50IElubGluZUZsb3dCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9v
bCBsdHIsIGludCBibG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNp
c1dpZHRoLCBib29sJiBmb3VuZEJveCkKK2Zsb2F0IElubGluZUZsb3dCb3g6OnBsYWNlRWxsaXBz
aXNCb3goYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdl
LCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCkKIHsKLSAgICBpbnQgcmVzdWx0
ID0gLTE7CisgICAgZmxvYXQgcmVzdWx0ID0gLTE7CiAgICAgLy8gV2UgaXRlcmF0ZSBvdmVyIGFs
bCBjaGlsZHJlbiwgdGhlIGZvdW5kQm94IHZhcmlhYmxlIHRlbGxzIHVzIHdoZW4gd2UndmUgZm91
bmQgdGhlCiAgICAgLy8gYm94IGNvbnRhaW5pbmcgdGhlIGVsbGlwc2lzLiAgQWxsIGJveGVzIGFm
dGVyIHRoYXQgb25lIGluIHRoZSBmbG93IGFyZSBoaWRkZW4uCiAgICAgLy8gSWYgb3VyIGZsb3cg
aXMgbHRyIHRoZW4gaXRlcmF0ZSBvdmVyIHRoZSBib3hlcyBmcm9tIGxlZnQgdG8gcmlnaHQsIG90
aGVyd2lzZSBpdGVyYXRlCiAgICAgLy8gZnJvbSByaWdodCB0byBsZWZ0LiBWYXJ5aW5nIHRoZSBv
cmRlciBhbGxvd3MgdXMgdG8gY29ycmVjdGx5IGhpZGUgdGhlIGJveGVzIGZvbGxvd2luZyB0aGUg
ZWxsaXBzaXMuCi0gICAgSW5saW5lQm94ICpib3ggPSBsdHIgPyBmaXJzdENoaWxkKCkgOiBsYXN0
Q2hpbGQoKTsKKyAgICBJbmxpbmVCb3gqIGJveCA9IGx0ciA/IGZpcnN0Q2hpbGQoKSA6IGxhc3RD
aGlsZCgpOwogCiAgICAgLy8gTk9URTogdGhlc2Ugd2lsbCBjcm9zcyBhZnRlciBmb3VuZEJveCA9
IHRydWUuCiAgICAgaW50IHZpc2libGVMZWZ0RWRnZSA9IGJsb2NrTGVmdEVkZ2U7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgJKHJldmlzaW9uIDc4NTcxKQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAkod29ya2luZyBjb3B5
KQpAQCAtODUsNyArODUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZUxpbmUo
UmVuZGVyQXJlbmEqKTsKICAgICB2aXJ0dWFsIHZvaWQgZXh0cmFjdExpbmUoKTsKICAgICB2aXJ0
dWFsIHZvaWQgYXR0YWNoTGluZSgpOwotICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihp
bnQgZHgsIGludCBkeSk7CisgICAgdmlydHVhbCB2b2lkIGFkanVzdFBvc2l0aW9uKGZsb2F0IGR4
LCBmbG9hdCBkeSk7CiAKICAgICB2aXJ0dWFsIHZvaWQgZXh0cmFjdExpbmVCb3hGcm9tUmVuZGVy
T2JqZWN0KCk7CiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaExpbmVCb3hUb1JlbmRlck9iamVjdCgp
OwpAQCAtOTMsNiArOTMsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJUcnVu
Y2F0aW9uKCk7CiAKKyAgICBJbnRSZWN0IHJvdW5kZWRGcmFtZVJlY3QoKSBjb25zdDsKKyAgICAK
ICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRCb3hEZWNvcmF0aW9ucyhQYWludEluZm8mLCBpbnQgdHgs
IGludCB0eSk7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50TWFzayhQYWludEluZm8mLCBpbnQgdHgs
IGludCB0eSk7CiAgICAgdm9pZCBwYWludEZpbGxMYXllcnMoY29uc3QgUGFpbnRJbmZvJiwgY29u
c3QgQ29sb3ImLCBjb25zdCBGaWxsTGF5ZXIqLCBpbnQgdHgsIGludCB0eSwgaW50IHcsIGludCBo
LCBDb21wb3NpdGVPcGVyYXRvciA9IENvbXBvc2l0ZVNvdXJjZU92ZXIpOwpAQCAtMTU1LDcgKzE1
Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRldGVybWluZVNwYWNpbmdGb3JGbG93Qm94ZXMoYm9v
bCBsYXN0TGluZSwgUmVuZGVyT2JqZWN0KiBlbmRPYmplY3QpOwogICAgIGludCBnZXRGbG93U3Bh
Y2luZ0xvZ2ljYWxXaWR0aCgpOwogICAgIGJvb2wgb25FbmRDaGFpbihSZW5kZXJPYmplY3QqIGVu
ZE9iamVjdCk7Ci0gICAgaW50IHBsYWNlQm94ZXNJbklubGluZURpcmVjdGlvbihpbnQgbG9naWNh
bExlZnQsIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0Zv
bnRzTWFwJik7CisgICAgZmxvYXQgcGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9uKGZsb2F0IGxv
Z2ljYWxMZWZ0LCBib29sJiBuZWVkc1dvcmRTcGFjaW5nLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJh
Y2tGb250c01hcCYpOwogICAgIHZvaWQgY29tcHV0ZUxvZ2ljYWxCb3hIZWlnaHRzKGludCYgbWF4
UG9zaXRpb25Ub3AsIGludCYgbWF4UG9zaXRpb25Cb3R0b20sCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50JiBtYXhBc2NlbnQsIGludCYgbWF4RGVzY2VudCwgYm9vbCYgc2V0
TWF4QXNjZW50LCBib29sJiBzZXRNYXhEZXNjZW50LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJvb2wgc3RyaWN0TW9kZSwgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNN
YXAmLCBGb250QmFzZWxpbmUsIFZlcnRpY2FsUG9zaXRpb25DYWNoZSYpOwpAQCAtMTc2LDcgKzE3
OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdDo6U2VsZWN0aW9uU3RhdGUg
c2VsZWN0aW9uU3RhdGUoKTsKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5BY2NvbW1vZGF0ZUVsbGlw
c2lzKGJvb2wgbHRyLCBpbnQgYmxvY2tFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCk7Ci0gICAgdmly
dHVhbCBpbnQgcGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGlu
dCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmKTsKKyAgICB2aXJ0dWFs
IGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVmdEVkZ2UsIGZs
b2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJik7CiAKICAgICBi
b29sIGhhc1RleHRDaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1faGFzVGV4dENoaWxkcmVuOyB9
CiAKQEAgLTE4NywxMCArMTg5LDEwIEBAIHB1YmxpYzoKICAgICAvLyBGb3IgaG9yaXpvbnRhbC10
YiBhbmQgdmVydGljYWwtbHIgdGhleSB3aWxsIG1hdGNoIHBoeXNpY2FsIGRpcmVjdGlvbnMsIGJ1
dCBmb3IgaG9yaXpvbnRhbC1idCBhbmQgdmVydGljYWwtcmwsIHRoZSB0b3AvYm90dG9tIGFuZCBs
ZWZ0L3JpZ2h0CiAgICAgLy8gcmVzcGVjdGl2ZWx5IGFyZSBmbGlwcGVkIHdoZW4gY29tcGFyZWQg
dG8gdGhlaXIgcGh5c2ljYWwgY291bnRlcnBhcnRzLiAgRm9yIGV4YW1wbGUgbWluWCBpcyBvbiB0
aGUgbGVmdCBpbiB2ZXJ0aWNhbC1sciwgYnV0IGl0IGlzIG9uIHRoZSByaWdodCBpbiB2ZXJ0aWNh
bC1ybC4KICAgICBpbnQgbWluWUxheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVy
ZmxvdyA/IG1fb3ZlcmZsb3ctPm1pbllMYXlvdXRPdmVyZmxvdygpIDogbV95OyB9Ci0gICAgaW50
IG1heFlMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJm
bG93LT5tYXhZTGF5b3V0T3ZlcmZsb3coKSA6IG1feSArIGhlaWdodCgpOyB9CisgICAgaW50IG1h
eFlMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93
LT5tYXhZTGF5b3V0T3ZlcmZsb3coKSA6IGNlaWxmKG1feSArIGhlaWdodCgpKTsgfQogICAgIGlu
dCBtaW5YTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVy
Zmxvdy0+bWluWExheW91dE92ZXJmbG93KCkgOiBtX3g7IH0KLSAgICBpbnQgbWF4WExheW91dE92
ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPm1heFhMYXlv
dXRPdmVyZmxvdygpIDogbV94ICsgd2lkdGgoKTsgfQotICAgIEludFJlY3QgbGF5b3V0T3ZlcmZs
b3dSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPmxheW91dE92
ZXJmbG93UmVjdCgpIDogSW50UmVjdChtX3gsIG1feSwgd2lkdGgoKSwgaGVpZ2h0KCkpOyB9Cisg
ICAgaW50IG1heFhMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBt
X292ZXJmbG93LT5tYXhYTGF5b3V0T3ZlcmZsb3coKSA6IGNlaWxmKG1feCArIHdpZHRoKCkpOyB9
CisgICAgSW50UmVjdCBsYXlvdXRPdmVyZmxvd1JlY3QoKSBjb25zdCB7IHJldHVybiBtX292ZXJm
bG93ID8gbV9vdmVyZmxvdy0+bGF5b3V0T3ZlcmZsb3dSZWN0KCkgOiBlbmNsb3NpbmdJbnRSZWN0
KEZsb2F0UmVjdChtX3gsIG1feSwgd2lkdGgoKSwgaGVpZ2h0KCkpKTsgfQogICAgIGludCBsb2dp
Y2FsTGVmdExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+c3R5bGUo
KS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IG1pblhMYXlvdXRPdmVyZmxvdygpIDogbWlu
WUxheW91dE92ZXJmbG93KCk7IH0KICAgICBpbnQgbG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3co
KSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5n
TW9kZSgpID8gbWF4WExheW91dE92ZXJmbG93KCkgOiBtYXhZTGF5b3V0T3ZlcmZsb3coKTsgfQog
ICAgIGludCBsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiByZW5kZXJl
cigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gbWluWVZpc3VhbE92ZXJm
bG93KCkgOiBtaW5YVmlzdWFsT3ZlcmZsb3coKTsgfQpAQCAtMjA0LDEwICsyMDYsMTAgQEAgcHVi
bGljOgogICAgIH0KIAogICAgIGludCBtaW5ZVmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVy
biBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+bWluWVZpc3VhbE92ZXJmbG93KCkgOiBtX3k7IH0K
LSAgICBpbnQgbWF4WVZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/
IG1fb3ZlcmZsb3ctPm1heFlWaXN1YWxPdmVyZmxvdygpIDogbV95ICsgaGVpZ2h0KCk7IH0KKyAg
ICBpbnQgbWF4WVZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1f
b3ZlcmZsb3ctPm1heFlWaXN1YWxPdmVyZmxvdygpIDogY2VpbGYobV95ICsgaGVpZ2h0KCkpOyB9
CiAgICAgaW50IG1pblhWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cg
PyBtX292ZXJmbG93LT5taW5YVmlzdWFsT3ZlcmZsb3coKSA6IG1feDsgfQotICAgIGludCBtYXhY
VmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+
bWF4WFZpc3VhbE92ZXJmbG93KCkgOiBtX3ggKyB3aWR0aCgpOyB9Ci0gICAgSW50UmVjdCB2aXN1
YWxPdmVyZmxvd1JlY3QoKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+
dmlzdWFsT3ZlcmZsb3dSZWN0KCkgOiBJbnRSZWN0KG1feCwgbV95LCB3aWR0aCgpLCBoZWlnaHQo
KSk7IH0KKyAgICBpbnQgbWF4WFZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVy
ZmxvdyA/IG1fb3ZlcmZsb3ctPm1heFhWaXN1YWxPdmVyZmxvdygpIDogY2VpbGYobV94ICsgd2lk
dGgoKSk7IH0KKyAgICBJbnRSZWN0IHZpc3VhbE92ZXJmbG93UmVjdCgpIGNvbnN0IHsgcmV0dXJu
IG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT52aXN1YWxPdmVyZmxvd1JlY3QoKSA6IGVuY2xvc2lu
Z0ludFJlY3QoRmxvYXRSZWN0KG1feCwgbV95LCB3aWR0aCgpLCBoZWlnaHQoKSkpOyB9CiAgICAg
aW50IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiByZW5kZXJlcigp
LT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gbWluWFZpc3VhbE92ZXJmbG93
KCkgOiBtaW5ZVmlzdWFsT3ZlcmZsb3coKTsgfQogICAgIGludCBsb2dpY2FsUmlnaHRWaXN1YWxP
dmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVyKCktPnN0eWxlKCktPmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkgPyBtYXhYVmlzdWFsT3ZlcmZsb3coKSA6IG1heFlWaXN1YWxPdmVyZmxv
dygpOyB9CiAgICAgaW50IGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJu
IHJlbmRlcmVyKCktPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBtaW5ZVmlz
dWFsT3ZlcmZsb3coKSA6IG1pblhWaXN1YWxPdmVyZmxvdygpOyB9CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6YXR0YWNoTGluZSgpCiAgICAg
dG9SZW5kZXJUZXh0KHJlbmRlcmVyKCkpLT5hdHRhY2hUZXh0Qm94KHRoaXMpOwogfQogCi1pbnQg
SW5saW5lVGV4dEJveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGZsb3dJc0xUUiwgaW50IHZpc2li
bGVMZWZ0RWRnZSwgaW50IHZpc2libGVSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBib29s
JiBmb3VuZEJveCkKK2Zsb2F0IElubGluZVRleHRCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCBm
bG93SXNMVFIsIGZsb2F0IHZpc2libGVMZWZ0RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwg
ZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpCiB7CiAgICAgaWYgKGZvdW5kQm94
KSB7CiAgICAgICAgIG1fdHJ1bmNhdGlvbiA9IGNGdWxsVHJ1bmNhdGlvbjsKQEAgLTIwOSw3ICsy
MDksNyBAQCBpbnQgSW5saW5lVGV4dEJveDo6cGxhY2VFbGxpcHNpc0JveChib29sCiAgICAgfQog
CiAgICAgLy8gRm9yIExUUiB0aGlzIGlzIHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlIGJveCwgZm9yIFJU
TCwgdGhlIHJpZ2h0IGVkZ2UgaW4gcGFyZW50IGNvb3JkaW5hdGVzLgotICAgIGludCBlbGxpcHNp
c1ggPSBmbG93SXNMVFIgPyB2aXNpYmxlUmlnaHRFZGdlIC0gZWxsaXBzaXNXaWR0aCA6IHZpc2li
bGVMZWZ0RWRnZSArIGVsbGlwc2lzV2lkdGg7CisgICAgZmxvYXQgZWxsaXBzaXNYID0gZmxvd0lz
TFRSID8gdmlzaWJsZVJpZ2h0RWRnZSAtIGVsbGlwc2lzV2lkdGggOiB2aXNpYmxlTGVmdEVkZ2Ug
KyBlbGxpcHNpc1dpZHRoOwogICAgIAogICAgIC8vIENyaXRlcmlhIGZvciBmdWxsIHRydW5jYXRp
b246CiAgICAgLy8gTFRSOiB0aGUgbGVmdCBlZGdlIG9mIHRoZSBlbGxpcHNpcyBpcyB0byB0aGUg
bGVmdCBvZiBvdXIgdGV4dCBydW4uCkBAIC0yNTEsNyArMjUxLDcgQEAgaW50IElubGluZVRleHRC
b3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbAogCiAgICAgICAgIC8vIElmIHdlIGdvdCBoZXJlIHRo
YXQgbWVhbnMgdGhhdCB3ZSB3ZXJlIG9ubHkgcGFydGlhbGx5IHRydW5jYXRlZCBhbmQgd2UgbmVl
ZCB0byByZXR1cm4gdGhlIHBpeGVsIG9mZnNldCBhdCB3aGljaAogICAgICAgICAvLyB0byBwbGFj
ZSB0aGUgZWxsaXBzaXMuCi0gICAgICAgIGludCB3aWR0aE9mVmlzaWJsZVRleHQgPSB0b1JlbmRl
clRleHQocmVuZGVyZXIoKSktPndpZHRoKG1fc3RhcnQsIG9mZnNldCwgdGV4dFBvcygpLCBtX2Zp
cnN0TGluZSk7CisgICAgICAgIGZsb2F0IHdpZHRoT2ZWaXNpYmxlVGV4dCA9IHRvUmVuZGVyVGV4
dChyZW5kZXJlcigpKS0+d2lkdGgobV9zdGFydCwgb2Zmc2V0LCB0ZXh0UG9zKCksIG1fZmlyc3RM
aW5lKTsKIAogICAgICAgICAvLyBUaGUgZWxsaXBzaXMgbmVlZHMgdG8gYmUgcGxhY2VkIGp1c3Qg
YWZ0ZXIgdGhlIGxhc3QgdmlzaWJsZSBjaGFyYWN0ZXIuCiAgICAgICAgIC8vIFdoZXJlICJhZnRl
ciIgaXMgZGVmaW5lZCBieSB0aGUgZmxvdyBkaXJlY3Rpb25hbGl0eSwgbm90IHRoZSBpbmxpbmUK
QEAgLTMxOSw5ICszMTksOSBAQCBib29sIElubGluZVRleHRCb3g6Om5vZGVBdFBvaW50KGNvbnN0
IEhpCiAgICAgaWYgKGlzTGluZUJyZWFrKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAg
IEludFBvaW50IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKKyAgICBG
bG9hdFBvaW50IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKICAgICBi
b3hPcmlnaW4ubW92ZSh0eCwgdHkpOwotICAgIEludFJlY3QgcmVjdChib3hPcmlnaW4sIEludFNp
emUod2lkdGgoKSwgaGVpZ2h0KCkpKTsKKyAgICBGbG9hdFJlY3QgcmVjdChib3hPcmlnaW4sIElu
dFNpemUod2lkdGgoKSwgaGVpZ2h0KCkpKTsKICAgICBpZiAobV90cnVuY2F0aW9uICE9IGNGdWxs
VHJ1bmNhdGlvbiAmJiB2aXNpYmxlVG9IaXRUZXN0aW5nKCkgJiYgcmVjdC5pbnRlcnNlY3RzKHJl
c3VsdC5yZWN0Rm9yUG9pbnQoeCwgeSkpKSB7CiAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUhp
dFRlc3RSZXN1bHQocmVzdWx0LCBmbGlwRm9yV3JpdGluZ01vZGUoSW50UG9pbnQoeCAtIHR4LCB5
IC0gdHkpKSk7CiAgICAgICAgIGlmICghcmVzdWx0LmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1
bHQocmVuZGVyZXIoKS0+bm9kZSgpLCB4LCB5LCByZWN0KSkKQEAgLTM1Nyw4ICszNTcsOCBAQCBG
bG9hdFNpemUgSW5saW5lVGV4dEJveDo6YXBwbHlTaGFkb3dUb0dyCiAgICAgcmV0dXJuIGV4dHJh
T2Zmc2V0OwogfQogCi1zdGF0aWMgdm9pZCBwYWludFRleHRXaXRoU2hhZG93cyhHcmFwaGljc0Nv
bnRleHQqIGNvbnRleHQsIGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHRleHRSdW4s
IGNvbnN0IEF0b21pY1N0cmluZyYgZW1waGFzaXNNYXJrLCBpbnQgZW1waGFzaXNNYXJrT2Zmc2V0
LCBpbnQgc3RhcnRPZmZzZXQsIGludCBlbmRPZmZzZXQsIGludCB0cnVuY2F0aW9uUG9pbnQsIGNv
bnN0IEludFBvaW50JiB0ZXh0T3JpZ2luLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgSW50UmVjdCYgYm94UmVjdCwgY29uc3QgU2hhZG93RGF0YSogc2hhZG93LCBib29s
IHN0cm9rZWQsIGJvb2wgaG9yaXpvbnRhbCkKK3N0YXRpYyB2b2lkIHBhaW50VGV4dFdpdGhTaGFk
b3dzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4
dFJ1biYgdGV4dFJ1biwgY29uc3QgQXRvbWljU3RyaW5nJiBlbXBoYXNpc01hcmssIGludCBlbXBo
YXNpc01hcmtPZmZzZXQsIGludCBzdGFydE9mZnNldCwgaW50IGVuZE9mZnNldCwgaW50IHRydW5j
YXRpb25Qb2ludCwgY29uc3QgRmxvYXRQb2ludCYgdGV4dE9yaWdpbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IEZsb2F0UmVjdCYgYm94UmVjdCwgY29uc3QgU2hhZG93
RGF0YSogc2hhZG93LCBib29sIHN0cm9rZWQsIGJvb2wgaG9yaXpvbnRhbCkKIHsKICAgICBDb2xv
ciBmaWxsQ29sb3IgPSBjb250ZXh0LT5maWxsQ29sb3IoKTsKICAgICBDb2xvclNwYWNlIGZpbGxD
b2xvclNwYWNlID0gY29udGV4dC0+ZmlsbENvbG9yU3BhY2UoKTsKQEAgLTQ4MiwxMCArNDgyLDEw
IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnQoUGFpbnRJbmZvJiBwYWkKICAgICAKICAgICB0
eSAtPSBzdHlsZVRvVXNlLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gMCA6IGxvZ2ljYWxI
ZWlnaHQoKTsKIAotICAgIEludFBvaW50IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxp
cHBpbmcoKTsKKyAgICBGbG9hdFBvaW50IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxp
cHBpbmcoKTsKICAgICBib3hPcmlnaW4ubW92ZSh0eCwgdHkpOyAgICAKLSAgICBJbnRSZWN0IGJv
eFJlY3QoYm94T3JpZ2luLCBJbnRTaXplKGxvZ2ljYWxXaWR0aCgpLCBsb2dpY2FsSGVpZ2h0KCkp
KTsKLSAgICBJbnRQb2ludCB0ZXh0T3JpZ2luID0gSW50UG9pbnQoYm94T3JpZ2luLngoKSwgYm94
T3JpZ2luLnkoKSArIHN0eWxlVG9Vc2UtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOworICAgIEZs
b2F0UmVjdCBib3hSZWN0KGJveE9yaWdpbiwgSW50U2l6ZShsb2dpY2FsV2lkdGgoKSwgbG9naWNh
bEhlaWdodCgpKSk7CisgICAgRmxvYXRQb2ludCB0ZXh0T3JpZ2luID0gRmxvYXRQb2ludChib3hP
cmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpICsgc3R5bGVUb1VzZS0+Zm9udE1ldHJpY3MoKS5hc2Nl
bnQoKSk7CiAKICAgICBSZW5kZXJDb21iaW5lVGV4dCogY29tYmluZWRUZXh0ID0gc3R5bGVUb1Vz
ZS0+aGFzVGV4dENvbWJpbmUoKSA/IHRvUmVuZGVyQ29tYmluZVRleHQodGV4dFJlbmRlcmVyKCkp
IDogMDsKICAgICBib29sIHNob3VsZFJvdGF0ZSA9ICFpc0hvcml6b250YWwoKSAmJiAoIWNvbWJp
bmVkVGV4dCB8fCAhY29tYmluZWRUZXh0LT5pc0NvbWJpbmVkKCkpOwpAQCAtNzM2LDcgKzczNiw3
IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6c2VsZWN0aW9uU3RhcnRFbmQoaW4KICAgICBlUG9zID0g
bWluKGVuZFBvcyAtIG1fc3RhcnQsIChpbnQpbV9sZW4pOwogfQogCi12b2lkIElubGluZVRleHRC
b3g6OnBhaW50U2VsZWN0aW9uKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UG9p
bnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250KQordm9p
ZCBJbmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlvbihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQs
IGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBG
b250JiBmb250KQogewogICAgIC8vIFNlZSBpZiB3ZSBoYXZlIGEgc2VsZWN0aW9uIHRvIHBhaW50
IGF0IGFsbC4KICAgICBpbnQgc1BvcywgZVBvczsKQEAgLTc3MCwxNSArNzcwLDE1IEBAIHZvaWQg
SW5saW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb24oR3JhcGgKIAogICAgIGludCBkZWx0YVkgPSBy
ZW5kZXJlcigpLT5zdHlsZSgpLT5pc0ZsaXBwZWRMaW5lc1dyaXRpbmdNb2RlKCkgPyBzZWxlY3Rp
b25Cb3R0b20oKSAtIGxvZ2ljYWxCb3R0b20oKSA6IGxvZ2ljYWxUb3AoKSAtIHNlbGVjdGlvblRv
cCgpOwogICAgIGludCBzZWxIZWlnaHQgPSBzZWxlY3Rpb25IZWlnaHQoKTsKLSAgICBJbnRQb2lu
dCBsb2NhbE9yaWdpbihib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKLSAg
ICBjb250ZXh0LT5jbGlwKEludFJlY3QobG9jYWxPcmlnaW4sIEludFNpemUobV9sb2dpY2FsV2lk
dGgsIHNlbEhlaWdodCkpKTsKKyAgICBGbG9hdFBvaW50IGxvY2FsT3JpZ2luKGJveE9yaWdpbi54
KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVkpOworICAgIGNvbnRleHQtPmNsaXAoRmxvYXRSZWN0
KGxvY2FsT3JpZ2luLCBGbG9hdFNpemUobV9sb2dpY2FsV2lkdGgsIHNlbEhlaWdodCkpKTsKICAg
ICBjb250ZXh0LT5kcmF3SGlnaGxpZ2h0Rm9yVGV4dChmb250LCBUZXh0UnVuKGNoYXJhY3RlcnMs
IGxlbmd0aCwgdGV4dFJlbmRlcmVyKCktPmFsbG93VGFicygpLCB0ZXh0UG9zKCksIG1fZXhwYW5z
aW9uLCB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yKCksIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIG1fZGlyT3ZlcnJpZGUgfHwg
c3R5bGUtPnZpc3VhbGx5T3JkZXJlZCgpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsb2NhbE9yaWdpbiwgc2VsSGVpZ2h0LCBjLCBzdHlsZS0+Y29sb3JTcGFjZSgpLCBzUG9z
LCBlUG9zKTsKICAgICBjb250ZXh0LT5yZXN0b3JlKCk7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJv
eDo6cGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBj
b25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQm
IGZvbnQsIGludCBzdGFydFBvcywgaW50IGVuZFBvcykKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFp
bnRDb21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBG
bG9hdFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9u
dCwgaW50IHN0YXJ0UG9zLCBpbnQgZW5kUG9zKQogewogICAgIGludCBvZmZzZXQgPSBtX3N0YXJ0
OwogICAgIGludCBzUG9zID0gbWF4KHN0YXJ0UG9zIC0gb2Zmc2V0LCAwKTsKQEAgLTc5NSw3ICs3
OTUsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25CYWNrCiAKICAgICBp
bnQgZGVsdGFZID0gcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkTGluZXNXcml0aW5nTW9k
ZSgpID8gc2VsZWN0aW9uQm90dG9tKCkgLSBsb2dpY2FsQm90dG9tKCkgOiBsb2dpY2FsVG9wKCkg
LSBzZWxlY3Rpb25Ub3AoKTsKICAgICBpbnQgc2VsSGVpZ2h0ID0gc2VsZWN0aW9uSGVpZ2h0KCk7
Ci0gICAgSW50UG9pbnQgbG9jYWxPcmlnaW4oYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAt
IGRlbHRhWSk7CisgICAgRmxvYXRQb2ludCBsb2NhbE9yaWdpbihib3hPcmlnaW4ueCgpLCBib3hP
cmlnaW4ueSgpIC0gZGVsdGFZKTsKICAgICBjb250ZXh0LT5kcmF3SGlnaGxpZ2h0Rm9yVGV4dChm
b250LCBUZXh0UnVuKHRleHRSZW5kZXJlcigpLT50ZXh0KCktPmNoYXJhY3RlcnMoKSArIG1fc3Rh
cnQsIG1fbGVuLCB0ZXh0UmVuZGVyZXIoKS0+YWxsb3dUYWJzKCksIHRleHRQb3MoKSwgbV9leHBh
bnNpb24sIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IoKSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAhaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpLCBtX2Rpck92ZXJyaWRlIHx8
IHN0eWxlLT52aXN1YWxseU9yZGVyZWQoKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbG9jYWxPcmlnaW4sIHNlbEhlaWdodCwgYywgc3R5bGUtPmNvbG9yU3BhY2UoKSwgc1Bv
cywgZVBvcyk7CkBAIC04MjIsMTQgKzgyMiwxNCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50
Q3VzdG9tSGlnaGxpZ2h0CiAKICNlbmRpZgogCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVj
b3JhdGlvbihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFBvaW50JiBib3hPcmln
aW4sIGludCBkZWNvLCBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3cpCit2b2lkIElubGluZVRleHRC
b3g6OnBhaW50RGVjb3JhdGlvbihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0
UG9pbnQmIGJveE9yaWdpbiwgaW50IGRlY28sIGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdykKIHsK
ICAgICBpZiAobV90cnVuY2F0aW9uID09IGNGdWxsVHJ1bmNhdGlvbikKICAgICAgICAgcmV0dXJu
OwogCi0gICAgSW50UG9pbnQgbG9jYWxPcmlnaW4gPSBib3hPcmlnaW47CisgICAgRmxvYXRQb2lu
dCBsb2NhbE9yaWdpbiA9IGJveE9yaWdpbjsKIAotICAgIGludCB3aWR0aCA9IG1fbG9naWNhbFdp
ZHRoOworICAgIGZsb2F0IHdpZHRoID0gbV9sb2dpY2FsV2lkdGg7CiAgICAgaWYgKG1fdHJ1bmNh
dGlvbiAhPSBjTm9UcnVuY2F0aW9uKSB7CiAgICAgICAgIHdpZHRoID0gdG9SZW5kZXJUZXh0KHJl
bmRlcmVyKCkpLT53aWR0aChtX3N0YXJ0LCBtX3RydW5jYXRpb24sIHRleHRQb3MoKSwgbV9maXJz
dExpbmUpOwogICAgICAgICBpZiAoIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKQEAgLTg1Myw5
ICs4NTMsOSBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbihHcmFwCiAgICAg
aW50IGV4dHJhT2Zmc2V0ID0gMDsKICAgICBpZiAoIWxpbmVzQXJlT3BhcXVlICYmIHNoYWRvdyAm
JiBzaGFkb3ctPm5leHQoKSkgewogICAgICAgICBjb250ZXh0LT5zYXZlKCk7Ci0gICAgICAgIElu
dFJlY3QgY2xpcFJlY3QobG9jYWxPcmlnaW4sIEludFNpemUod2lkdGgsIGJhc2VsaW5lICsgMikp
OworICAgICAgICBGbG9hdFJlY3QgY2xpcFJlY3QobG9jYWxPcmlnaW4sIEZsb2F0U2l6ZSh3aWR0
aCwgYmFzZWxpbmUgKyAyKSk7CiAgICAgICAgIGZvciAoY29uc3QgU2hhZG93RGF0YSogcyA9IHNo
YWRvdzsgczsgcyA9IHMtPm5leHQoKSkgewotICAgICAgICAgICAgSW50UmVjdCBzaGFkb3dSZWN0
KGxvY2FsT3JpZ2luLCBJbnRTaXplKHdpZHRoLCBiYXNlbGluZSArIDIpKTsKKyAgICAgICAgICAg
IEZsb2F0UmVjdCBzaGFkb3dSZWN0KGxvY2FsT3JpZ2luLCBGbG9hdFNpemUod2lkdGgsIGJhc2Vs
aW5lICsgMikpOwogICAgICAgICAgICAgc2hhZG93UmVjdC5pbmZsYXRlKHMtPmJsdXIoKSk7CiAg
ICAgICAgICAgICBpbnQgc2hhZG93WCA9IGlzSG9yaXpvbnRhbCgpID8gcy0+eCgpIDogcy0+eSgp
OwogICAgICAgICAgICAgaW50IHNoYWRvd1kgPSBpc0hvcml6b250YWwoKSA/IHMtPnkoKSA6IC1z
LT54KCk7CkBAIC04ODIsNyArODgyLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29y
YXRpb24oR3JhcAogICAgICAgICAgICAgfQogICAgICAgICAgICAgaW50IHNoYWRvd1ggPSBpc0hv
cml6b250YWwoKSA/IHNoYWRvdy0+eCgpIDogc2hhZG93LT55KCk7CiAgICAgICAgICAgICBpbnQg
c2hhZG93WSA9IGlzSG9yaXpvbnRhbCgpID8gc2hhZG93LT55KCkgOiAtc2hhZG93LT54KCk7Ci0g
ICAgICAgICAgICBjb250ZXh0LT5zZXRTaGFkb3coSW50U2l6ZShzaGFkb3dYLCBzaGFkb3dZIC0g
ZXh0cmFPZmZzZXQpLCBzaGFkb3ctPmJsdXIoKSwgc2hhZG93LT5jb2xvcigpLCBjb2xvclNwYWNl
KTsKKyAgICAgICAgICAgIGNvbnRleHQtPnNldFNoYWRvdyhGbG9hdFNpemUoc2hhZG93WCwgc2hh
ZG93WSAtIGV4dHJhT2Zmc2V0KSwgc2hhZG93LT5ibHVyKCksIHNoYWRvdy0+Y29sb3IoKSwgY29s
b3JTcGFjZSk7CiAgICAgICAgICAgICBzZXRTaGFkb3cgPSB0cnVlOwogICAgICAgICAgICAgc2hh
ZG93ID0gc2hhZG93LT5uZXh0KCk7CiAgICAgICAgIH0KQEAgLTg5MSw3ICs4OTEsNyBAQCB2b2lk
IElubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbihHcmFwCiAgICAgICAgICAgICBjb250ZXh0
LT5zZXRTdHJva2VDb2xvcih1bmRlcmxpbmUsIGNvbG9yU3BhY2UpOwogICAgICAgICAgICAgY29u
dGV4dC0+c2V0U3Ryb2tlU3R5bGUoU29saWRTdHJva2UpOwogICAgICAgICAgICAgLy8gTGVhdmUg
b25lIHBpeGVsIG9mIHdoaXRlIGJldHdlZW4gdGhlIGJhc2VsaW5lIGFuZCB0aGUgdW5kZXJsaW5l
LgotICAgICAgICAgICAgY29udGV4dC0+ZHJhd0xpbmVGb3JUZXh0KEludFBvaW50KGxvY2FsT3Jp
Z2luLngoKSwgbG9jYWxPcmlnaW4ueSgpICsgYmFzZWxpbmUgKyAxKSwgd2lkdGgsIGlzUHJpbnRp
bmcpOworICAgICAgICAgICAgY29udGV4dC0+ZHJhd0xpbmVGb3JUZXh0KEZsb2F0UG9pbnQobG9j
YWxPcmlnaW4ueCgpLCBsb2NhbE9yaWdpbi55KCkgKyBiYXNlbGluZSArIDEpLCB3aWR0aCwgaXNQ
cmludGluZyk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGRlY28gJiBPVkVSTElORSkgewogICAg
ICAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlQ29sb3Iob3ZlcmxpbmUsIGNvbG9yU3BhY2UpOwpA
QCAtOTAxLDcgKzkwMSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKEdy
YXAKICAgICAgICAgaWYgKGRlY28gJiBMSU5FX1RIUk9VR0gpIHsKICAgICAgICAgICAgIGNvbnRl
eHQtPnNldFN0cm9rZUNvbG9yKGxpbmV0aHJvdWdoLCBjb2xvclNwYWNlKTsKICAgICAgICAgICAg
IGNvbnRleHQtPnNldFN0cm9rZVN0eWxlKFNvbGlkU3Ryb2tlKTsKLSAgICAgICAgICAgIGNvbnRl
eHQtPmRyYXdMaW5lRm9yVGV4dChJbnRQb2ludChsb2NhbE9yaWdpbi54KCksIGxvY2FsT3JpZ2lu
LnkoKSArIDIgKiBiYXNlbGluZSAvIDMpLCB3aWR0aCwgaXNQcmludGluZyk7CisgICAgICAgICAg
ICBjb250ZXh0LT5kcmF3TGluZUZvclRleHQoRmxvYXRQb2ludChsb2NhbE9yaWdpbi54KCksIGxv
Y2FsT3JpZ2luLnkoKSArIDIgKiBiYXNlbGluZSAvIDMpLCB3aWR0aCwgaXNQcmludGluZyk7CiAg
ICAgICAgIH0KICAgICB9IHdoaWxlIChzaGFkb3cpOwogCkBAIC05MjYsNyArOTI2LDcgQEAgc3Rh
dGljIEdyYXBoaWNzQ29udGV4dDo6VGV4dENoZWNraW5nTGluZQogICAgIH0KIH0KIAotdm9pZCBJ
bmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdyYXBoaWNzQ29udGV4
dCogcHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiBt
YXJrZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBncmFtbWFy
KQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdyYXBo
aWNzQ29udGV4dCogcHQsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1l
bnRNYXJrZXImIG1hcmtlciwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250LCBi
b29sIGdyYW1tYXIpCiB7CiAgICAgLy8gTmV2ZXIgcHJpbnQgc3BlbGxpbmcvZ3JhbW1hciBtYXJr
ZXJzICg1MzI3ODg3KQogICAgIGlmICh0ZXh0UmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+cHJpbnRp
bmcoKSkKQEAgLTkzNSw4ICs5MzUsOCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50U3BlbGxp
bmdPckdyYW1tCiAgICAgaWYgKG1fdHJ1bmNhdGlvbiA9PSBjRnVsbFRydW5jYXRpb24pCiAgICAg
ICAgIHJldHVybjsKIAotICAgIGludCBzdGFydCA9IDA7ICAgICAgICAgICAgICAgICAgLy8gc3Rh
cnQgb2YgbGluZSB0byBkcmF3LCByZWxhdGl2ZSB0byB0eAotICAgIGludCB3aWR0aCA9IG1fbG9n
aWNhbFdpZHRoOyAgICAgICAgICAgIC8vIGhvdyBtdWNoIGxpbmUgdG8gZHJhdworICAgIGZsb2F0
IHN0YXJ0ID0gMDsgLy8gc3RhcnQgb2YgbGluZSB0byBkcmF3LCByZWxhdGl2ZSB0byB0eAorICAg
IGZsb2F0IHdpZHRoID0gbV9sb2dpY2FsV2lkdGg7IC8vIGhvdyBtdWNoIGxpbmUgdG8gZHJhdwog
CiAgICAgLy8gRGV0ZXJtaW5lIHdoZXRoZXIgd2UgbmVlZCB0byBtZWFzdXJlIHRleHQKICAgICBi
b29sIG1hcmtlclNwYW5zV2hvbGVCb3ggPSB0cnVlOwpAQCAtOTU3LDkgKzk1NywxMCBAQCB2b2lk
IElubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tCiAgICAgICAgIC8vIENhbGN1bGF0
ZSBzdGFydCAmIHdpZHRoCiAgICAgICAgIGludCBkZWx0YVkgPSByZW5kZXJlcigpLT5zdHlsZSgp
LT5pc0ZsaXBwZWRMaW5lc1dyaXRpbmdNb2RlKCkgPyBzZWxlY3Rpb25Cb3R0b20oKSAtIGxvZ2lj
YWxCb3R0b20oKSA6IGxvZ2ljYWxUb3AoKSAtIHNlbGVjdGlvblRvcCgpOwogICAgICAgICBpbnQg
c2VsSGVpZ2h0ID0gc2VsZWN0aW9uSGVpZ2h0KCk7Ci0gICAgICAgIEludFBvaW50IHN0YXJ0UG9p
bnQoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSk7CisgICAgICAgIEZsb2F0
UG9pbnQgc3RhcnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsK
ICAgICAgICAgVGV4dFJ1biBydW4odGV4dFJlbmRlcmVyKCktPnRleHQoKS0+Y2hhcmFjdGVycygp
ICsgbV9zdGFydCwgbV9sZW4sIHRleHRSZW5kZXJlcigpLT5hbGxvd1RhYnMoKSwgdGV4dFBvcygp
LCBtX2V4cGFuc2lvbiwgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvcigpLCAhaXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpLCBtX2Rpck92ZXJyaWRlIHx8IHN0eWxlLT52aXN1YWxseU9yZGVyZWQoKSk7
Ci0gICAgICAgICAKKyAgICAgICAgCisgICAgICAgIC8vIEZJWE1FOiBDb252ZXJ0IHRoZSBkb2N1
bWVudCBtYXJrZXJzIHRvIGZsb2F0IHJlY3RzLgogICAgICAgICBJbnRSZWN0IG1hcmtlclJlY3Qg
PSBlbmNsb3NpbmdJbnRSZWN0KGZvbnQuc2VsZWN0aW9uUmVjdEZvclRleHQocnVuLCBzdGFydFBv
aW50LCBzZWxIZWlnaHQsIHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uKSk7CiAgICAgICAgIHN0
YXJ0ID0gbWFya2VyUmVjdC54KCkgLSBzdGFydFBvaW50LngoKTsKICAgICAgICAgd2lkdGggPSBt
YXJrZXJSZWN0LndpZHRoKCk7CkBAIC05OTAsMTAgKzk5MSwxMCBAQCB2b2lkIElubGluZVRleHRC
b3g6OnBhaW50U3BlbGxpbmdPckdyYW1tCiAgICAgICAgIC8vIEluIGxhcmdlciBmb250cywgdGhv
dWdoLCBwbGFjZSB0aGUgdW5kZXJsaW5lIHVwIG5lYXIgdGhlIGJhc2VsaW5lIHRvIHByZXZlbnQg
YSBiaWcgZ2FwLgogICAgICAgICB1bmRlcmxpbmVPZmZzZXQgPSBiYXNlbGluZSArIDI7CiAgICAg
fQotICAgIHB0LT5kcmF3TGluZUZvclRleHRDaGVja2luZyhJbnRQb2ludChib3hPcmlnaW4ueCgp
ICsgc3RhcnQsIGJveE9yaWdpbi55KCkgKyB1bmRlcmxpbmVPZmZzZXQpLCB3aWR0aCwgdGV4dENo
ZWNraW5nTGluZVN0eWxlRm9yTWFya2VyVHlwZShtYXJrZXIudHlwZSkpOworICAgIHB0LT5kcmF3
TGluZUZvclRleHRDaGVja2luZyhGbG9hdFBvaW50KGJveE9yaWdpbi54KCkgKyBzdGFydCwgYm94
T3JpZ2luLnkoKSArIHVuZGVybGluZU9mZnNldCksIHdpZHRoLCB0ZXh0Q2hlY2tpbmdMaW5lU3R5
bGVGb3JNYXJrZXJUeXBlKG1hcmtlci50eXBlKSk7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6
cGFpbnRUZXh0TWF0Y2hNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiBwdCwgY29uc3QgSW50UG9pbnQm
IGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImIG1hcmtlciwgUmVuZGVyU3R5bGUqIHN0
eWxlLCBjb25zdCBGb250JiBmb250KQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFRleHRNYXRj
aE1hcmtlcihHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4s
IGNvbnN0IERvY3VtZW50TWFya2VyJiBtYXJrZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3Qg
Rm9udCYgZm9udCkKIHsKICAgICAvLyBVc2Ugc2FtZSB5IHBvc2l0aW9uaW5nIGFuZCBoZWlnaHQg
YXMgZm9yIHNlbGVjdGlvbiwgc28gdGhhdCB3aGVuIHRoZSBzZWxlY3Rpb24gYW5kIHRoaXMgaGln
aGxpZ2h0IGFyZSBvbgogICAgIC8vIHRoZSBzYW1lIHdvcmQgdGhlcmUgYXJlIG5vIHBpZWNlcyBz
dGlja2luZyBvdXQuCkBAIC0xMDE2LDggKzEwMTcsOCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBh
aW50VGV4dE1hdGNoTWFya2VyCiAgICAgICAgICAgICByZW5kZXJlcigpLT50aGVtZSgpLT5wbGF0
Zm9ybUluYWN0aXZlVGV4dFNlYXJjaEhpZ2hsaWdodENvbG9yKCk7CiAgICAgICAgIHB0LT5zYXZl
KCk7CiAgICAgICAgIHVwZGF0ZUdyYXBoaWNzQ29udGV4dChwdCwgY29sb3IsIGNvbG9yLCAwLCBz
dHlsZS0+Y29sb3JTcGFjZSgpKTsgIC8vIERvbid0IGRyYXcgdGV4dCBhdCBhbGwhCi0gICAgICAg
IHB0LT5jbGlwKEludFJlY3QoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSwg
bV9sb2dpY2FsV2lkdGgsIHNlbEhlaWdodCkpOwotICAgICAgICBwdC0+ZHJhd0hpZ2hsaWdodEZv
clRleHQoZm9udCwgcnVuLCBJbnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0g
ZGVsdGFZKSwgc2VsSGVpZ2h0LCBjb2xvciwgc3R5bGUtPmNvbG9yU3BhY2UoKSwgc1BvcywgZVBv
cyk7CisgICAgICAgIHB0LT5jbGlwKEZsb2F0UmVjdChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4u
eSgpIC0gZGVsdGFZLCBtX2xvZ2ljYWxXaWR0aCwgc2VsSGVpZ2h0KSk7CisgICAgICAgIHB0LT5k
cmF3SGlnaGxpZ2h0Rm9yVGV4dChmb250LCBydW4sIEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSwg
Ym94T3JpZ2luLnkoKSAtIGRlbHRhWSksIHNlbEhlaWdodCwgY29sb3IsIHN0eWxlLT5jb2xvclNw
YWNlKCksIHNQb3MsIGVQb3MpOwogICAgICAgICBwdC0+cmVzdG9yZSgpOwogICAgIH0KIH0KQEAg
LTEwMzksNyArMTA0MCw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6Y29tcHV0ZVJlY3RGb3JSZXBs
YWMKICAgICByZW5kZXJlcigpLT5kb2N1bWVudCgpLT5tYXJrZXJzKCktPnNldFJlbmRlcmVkUmVj
dEZvck1hcmtlcihyZW5kZXJlcigpLT5ub2RlKCksIG1hcmtlciwgbWFya2VyUmVjdCk7CiB9CiAg
ICAgCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50RG9jdW1lbnRNYXJrZXJzKEdyYXBoaWNzQ29u
dGV4dCogcHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwg
Y29uc3QgRm9udCYgZm9udCwgYm9vbCBiYWNrZ3JvdW5kKQordm9pZCBJbmxpbmVUZXh0Qm94Ojpw
YWludERvY3VtZW50TWFya2VycyhHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBGbG9hdFBvaW50
JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBi
YWNrZ3JvdW5kKQogewogICAgIGlmICghcmVuZGVyZXIoKS0+bm9kZSgpKQogICAgICAgICByZXR1
cm47CkBAIC0xMDk5LDE0ICsxMTAwLDEzIEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREb2N1
bWVudE1hcmtlcnMKICAgICB9CiB9CiAKLQotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBv
c2l0aW9uVW5kZXJsaW5lKEdyYXBoaWNzQ29udGV4dCogY3R4LCBjb25zdCBJbnRQb2ludCYgYm94
T3JpZ2luLCBjb25zdCBDb21wb3NpdGlvblVuZGVybGluZSYgdW5kZXJsaW5lKQordm9pZCBJbmxp
bmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uVW5kZXJsaW5lKEdyYXBoaWNzQ29udGV4dCogY3R4
LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5l
JiB1bmRlcmxpbmUpCiB7CiAgICAgaWYgKG1fdHJ1bmNhdGlvbiA9PSBjRnVsbFRydW5jYXRpb24p
CiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBpbnQgc3RhcnQgPSAwOyAgICAgICAgICAgICAg
ICAgLy8gc3RhcnQgb2YgbGluZSB0byBkcmF3LCByZWxhdGl2ZSB0byB0eAotICAgIGludCB3aWR0
aCA9IG1fbG9naWNhbFdpZHRoOyAgICAgICAgICAgLy8gaG93IG11Y2ggbGluZSB0byBkcmF3Cisg
ICAgZmxvYXQgc3RhcnQgPSAwOyAvLyBzdGFydCBvZiBsaW5lIHRvIGRyYXcsIHJlbGF0aXZlIHRv
IHR4CisgICAgZmxvYXQgd2lkdGggPSBtX2xvZ2ljYWxXaWR0aDsgLy8gaG93IG11Y2ggbGluZSB0
byBkcmF3CiAgICAgYm9vbCB1c2VXaG9sZVdpZHRoID0gdHJ1ZTsKICAgICB1bnNpZ25lZCBwYWlu
dFN0YXJ0ID0gbV9zdGFydDsKICAgICB1bnNpZ25lZCBwYWludEVuZCA9IGVuZCgpICsgMTsgLy8g
ZW5kIHBvaW50cyBhdCB0aGUgbGFzdCBjaGFyLCBub3QgcGFzdCBpdApAQCAtMTE0Miw3ICsxMTQy
LDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uVW5kZQogCiAgICAgY3R4
LT5zZXRTdHJva2VDb2xvcih1bmRlcmxpbmUuY29sb3IsIHJlbmRlcmVyKCktPnN0eWxlKCktPmNv
bG9yU3BhY2UoKSk7CiAgICAgY3R4LT5zZXRTdHJva2VUaGlja25lc3MobGluZVRoaWNrbmVzcyk7
Ci0gICAgY3R4LT5kcmF3TGluZUZvclRleHQoSW50UG9pbnQoYm94T3JpZ2luLngoKSArIHN0YXJ0
LCBib3hPcmlnaW4ueSgpICsgbG9naWNhbEhlaWdodCgpIC0gbGluZVRoaWNrbmVzcyksIHdpZHRo
LCB0ZXh0UmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+cHJpbnRpbmcoKSk7CisgICAgY3R4LT5kcmF3
TGluZUZvclRleHQoRmxvYXRQb2ludChib3hPcmlnaW4ueCgpICsgc3RhcnQsIGJveE9yaWdpbi55
KCkgKyBsb2dpY2FsSGVpZ2h0KCkgLSBsaW5lVGhpY2tuZXNzKSwgd2lkdGgsIHRleHRSZW5kZXJl
cigpLT5kb2N1bWVudCgpLT5wcmludGluZygpKTsKIH0KIAogaW50IElubGluZVRleHRCb3g6OmNh
cmV0TWluT2Zmc2V0KCkgY29uc3QKQEAgLTExNjAsNyArMTE2MCw3IEBAIHVuc2lnbmVkIElubGlu
ZVRleHRCb3g6OmNhcmV0TWF4UmVuZGVyZWQKICAgICByZXR1cm4gbV9zdGFydCArIG1fbGVuOwog
fQogCi1pbnQgSW5saW5lVGV4dEJveDo6dGV4dFBvcygpIGNvbnN0CitmbG9hdCBJbmxpbmVUZXh0
Qm94Ojp0ZXh0UG9zKCkgY29uc3QKIHsKICAgICAvLyBXaGVuIGNvbXB1dGluZyB0aGUgd2lkdGgg
b2YgYSB0ZXh0IHJ1biwgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlv
bnNGb3JMaW5lKCkgZG9lc24ndCBpbmNsdWRlIHRoZSBhY3R1YWwgb2Zmc2V0CiAgICAgLy8gZnJv
bSB0aGUgY29udGFpbmluZyBibG9jayBlZGdlIGluIGl0cyBtZWFzdXJlbWVudC4gdGV4dFBvcygp
IHNob3VsZCBiZSBjb25zaXN0ZW50IHNvIHRoZSB0ZXh0IGFyZSByZW5kZXJlZCBpbiB0aGUgc2Ft
ZSB3aWR0aC4KQEAgLTExNjksNyArMTE2OSw3IEBAIGludCBJbmxpbmVUZXh0Qm94Ojp0ZXh0UG9z
KCkgY29uc3QKICAgICByZXR1cm4gbG9naWNhbExlZnQoKSAtIHJvb3QoKS0+bG9naWNhbExlZnQo
KTsKIH0KIAotaW50IElubGluZVRleHRCb3g6Om9mZnNldEZvclBvc2l0aW9uKGludCBsaW5lT2Zm
c2V0LCBib29sIGluY2x1ZGVQYXJ0aWFsR2x5cGhzKSBjb25zdAoraW50IElubGluZVRleHRCb3g6
Om9mZnNldEZvclBvc2l0aW9uKGZsb2F0IGxpbmVPZmZzZXQsIGJvb2wgaW5jbHVkZVBhcnRpYWxH
bHlwaHMpIGNvbnN0CiB7CiAgICAgaWYgKGlzTGluZUJyZWFrKCkpCiAgICAgICAgIHJldHVybiAw
OwpAQCAtMTE5Niw3ICsxMTk2LDcgQEAgaW50IElubGluZVRleHRCb3g6Om9mZnNldEZvclBvc2l0
aW9uKGludAogICAgIHJldHVybiBvZmZzZXQ7CiB9CiAKLWludCBJbmxpbmVUZXh0Qm94Ojpwb3Np
dGlvbkZvck9mZnNldChpbnQgb2Zmc2V0KSBjb25zdAorZmxvYXQgSW5saW5lVGV4dEJveDo6cG9z
aXRpb25Gb3JPZmZzZXQoaW50IG9mZnNldCkgY29uc3QKIHsKICAgICBBU1NFUlQob2Zmc2V0ID49
IG1fc3RhcnQpOwogICAgIEFTU0VSVChvZmZzZXQgPD0gbV9zdGFydCArIG1fbGVuKTsKQEAgLTEy
MDksOCArMTIwOSw4IEBAIGludCBJbmxpbmVUZXh0Qm94Ojpwb3NpdGlvbkZvck9mZnNldChpbnQK
ICAgICBpbnQgZnJvbSA9ICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBvZmZzZXQgLSBtX3N0
YXJ0IDogMDsKICAgICBpbnQgdG8gPSAhaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gbV9sZW4g
OiBvZmZzZXQgLSBtX3N0YXJ0OwogICAgIC8vIEZJWE1FOiBEbyB3ZSBuZWVkIHRvIGFkZCByaWdo
dEJlYXJpbmcgaGVyZT8KLSAgICByZXR1cm4gZW5jbG9zaW5nSW50UmVjdChmLnNlbGVjdGlvblJl
Y3RGb3JUZXh0KFRleHRSdW4odGV4dC0+dGV4dCgpLT5jaGFyYWN0ZXJzKCkgKyBtX3N0YXJ0LCBt
X2xlbiwgdGV4dFJlbmRlcmVyKCktPmFsbG93VGFicygpLCB0ZXh0UG9zKCksIG1fZXhwYW5zaW9u
LCB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yKCksICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCks
IG1fZGlyT3ZlcnJpZGUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgSW50UG9pbnQobG9naWNhbExlZnQoKSwgMCksIDAsIGZyb20sIHRvKSkubWF4
WCgpOworICAgIHJldHVybiBmLnNlbGVjdGlvblJlY3RGb3JUZXh0KFRleHRSdW4odGV4dC0+dGV4
dCgpLT5jaGFyYWN0ZXJzKCkgKyBtX3N0YXJ0LCBtX2xlbiwgdGV4dFJlbmRlcmVyKCktPmFsbG93
VGFicygpLCB0ZXh0UG9zKCksIG1fZXhwYW5zaW9uLCB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9y
KCksICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIG1fZGlyT3ZlcnJpZGUpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEludFBvaW50KGxvZ2ljYWxMZWZ0KCksIDApLCAwLCBm
cm9tLCB0bykubWF4WCgpOwogfQogCiBib29sIElubGluZVRleHRCb3g6OmNvbnRhaW5zQ2FyZXRP
ZmZzZXQoaW50IG9mZnNldCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9J
bmxpbmVUZXh0Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZVRleHRCb3guaAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW5saW5lVGV4dEJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDUsMTIgKzEwNSwxMiBAQCBw
dWJsaWM6CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNsZWFyVHJ1bmNhdGlvbigpIHsg
bV90cnVuY2F0aW9uID0gY05vVHJ1bmNhdGlvbjsgfQotICAgIHZpcnR1YWwgaW50IHBsYWNlRWxs
aXBzaXNCb3goYm9vbCBmbG93SXNMVFIsIGludCB2aXNpYmxlTGVmdEVkZ2UsIGludCB2aXNpYmxl
UmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpOworICAgIHZpcnR1
YWwgZmxvYXQgcGxhY2VFbGxpcHNpc0JveChib29sIGZsb3dJc0xUUiwgZmxvYXQgdmlzaWJsZUxl
ZnRFZGdlLCBmbG9hdCB2aXNpYmxlUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29s
JiBmb3VuZEJveCk7CiAKIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5lQnJlYWsoKSBj
b25zdDsKIAotICAgIHZvaWQgc2V0RXhwYW5zaW9uKGludCBleHBhbnNpb24pIHsgbV9sb2dpY2Fs
V2lkdGggLT0gbV9leHBhbnNpb247IG1fZXhwYW5zaW9uID0gZXhwYW5zaW9uOyBtX2xvZ2ljYWxX
aWR0aCArPSBtX2V4cGFuc2lvbjsgfQorICAgIHZvaWQgc2V0RXhwYW5zaW9uKGZsb2F0IGV4cGFu
c2lvbikgeyBtX2xvZ2ljYWxXaWR0aCAtPSBtX2V4cGFuc2lvbjsgbV9leHBhbnNpb24gPSBleHBh
bnNpb247IG1fbG9naWNhbFdpZHRoICs9IG1fZXhwYW5zaW9uOyB9CiAKIHByaXZhdGU6CiAgICAg
dmlydHVhbCBib29sIGlzSW5saW5lVGV4dEJveCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0gICAg
CkBAIC0xMjIsMTEgKzEyMiwxMSBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZpcnR1YWwgdW5z
aWduZWQgY2FyZXRNYXhSZW5kZXJlZE9mZnNldCgpIGNvbnN0OwogCi0gICAgaW50IHRleHRQb3Mo
KSBjb25zdDsgLy8gcmV0dXJucyB0aGUgeCBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgbGVmdCBz
dGFydCBvZiB0aGUgdGV4dCBsaW5lLgorICAgIGZsb2F0IHRleHRQb3MoKSBjb25zdDsgLy8gcmV0
dXJucyB0aGUgeCBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgbGVmdCBzdGFydCBvZiB0aGUgdGV4
dCBsaW5lLgogCiBwdWJsaWM6Ci0gICAgdmlydHVhbCBpbnQgb2Zmc2V0Rm9yUG9zaXRpb24oaW50
IHgsIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMgPSB0cnVlKSBjb25zdDsKLSAgICB2aXJ0dWFs
IGludCBwb3NpdGlvbkZvck9mZnNldChpbnQgb2Zmc2V0KSBjb25zdDsKKyAgICB2aXJ0dWFsIGlu
dCBvZmZzZXRGb3JQb3NpdGlvbihmbG9hdCB4LCBib29sIGluY2x1ZGVQYXJ0aWFsR2x5cGhzID0g
dHJ1ZSkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9hdCBwb3NpdGlvbkZvck9mZnNldChpbnQgb2Zm
c2V0KSBjb25zdDsKIAogICAgIGJvb2wgY29udGFpbnNDYXJldE9mZnNldChpbnQgb2Zmc2V0KSBj
b25zdDsgLy8gZmFsc2UgZm9yIG9mZnNldCBhZnRlciBsaW5lIGJyZWFrCiAKQEAgLTE0NCwxOCAr
MTQ0LDE4IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgICAgICAgLy8gZGVub3RlIG5vIHRy
dW5jYXRpb24gKHRoZSB3aG9sZSBydW4gcGFpbnRzKSBhbmQgZnVsbCB0cnVuY2F0aW9uIChub3Ro
aW5nIHBhaW50cyBhdCBhbGwpLgogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBwYWludENvbXBvc2l0
aW9uQmFja2dyb3VuZChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2lu
LCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmLCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpOwot
ICAgIHZvaWQgcGFpbnREb2N1bWVudE1hcmtlcnMoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50
UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250JiwgYm9vbCBiYWNrZ3Jv
dW5kKTsKLSAgICB2b2lkIHBhaW50Q29tcG9zaXRpb25VbmRlcmxpbmUoR3JhcGhpY3NDb250ZXh0
KiwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgQ29tcG9zaXRpb25VbmRlcmxpbmUm
KTsKKyAgICB2b2lkIHBhaW50Q29tcG9zaXRpb25CYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCos
IGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jiwg
aW50IHN0YXJ0UG9zLCBpbnQgZW5kUG9zKTsKKyAgICB2b2lkIHBhaW50RG9jdW1lbnRNYXJrZXJz
KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5
bGUqLCBjb25zdCBGb250JiwgYm9vbCBiYWNrZ3JvdW5kKTsKKyAgICB2b2lkIHBhaW50Q29tcG9z
aXRpb25VbmRlcmxpbmUoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3Jp
Z2luLCBjb25zdCBDb21wb3NpdGlvblVuZGVybGluZSYpOwogI2lmIFBMQVRGT1JNKE1BQykKICAg
ICB2b2lkIHBhaW50Q3VzdG9tSGlnaGxpZ2h0KGludCB0eCwgaW50IHR5LCBjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUpOwogI2VuZGlmCiAKIHByaXZhdGU6Ci0gICAgdm9pZCBwYWludERlY29yYXRp
b24oR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgaW50IGRlY29y
YXRpb24sIGNvbnN0IFNoYWRvd0RhdGEqKTsKLSAgICB2b2lkIHBhaW50U2VsZWN0aW9uKEdyYXBo
aWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiwgY29u
c3QgRm9udCYpOwotICAgIHZvaWQgcGFpbnRTcGVsbGluZ09yR3JhbW1hck1hcmtlcihHcmFwaGlj
c0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtl
ciYsIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYsIGJvb2wgZ3JhbW1hcik7Ci0gICAgdm9pZCBw
YWludFRleHRNYXRjaE1hcmtlcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94
T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYsIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYp
OworICAgIHZvaWQgcGFpbnREZWNvcmF0aW9uKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0
UG9pbnQmIGJveE9yaWdpbiwgaW50IGRlY29yYXRpb24sIGNvbnN0IFNoYWRvd0RhdGEqKTsKKyAg
ICB2b2lkIHBhaW50U2VsZWN0aW9uKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UG9pbnQm
IGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jik7CisgICAgdm9pZCBwYWludFNw
ZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UG9pbnQm
IGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZv
bnQmLCBib29sIGdyYW1tYXIpOworICAgIHZvaWQgcGFpbnRUZXh0TWF0Y2hNYXJrZXIoR3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1h
cmtlciYsIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYpOwogICAgIHZvaWQgY29tcHV0ZVJlY3RG
b3JSZXBsYWNlbWVudE1hcmtlcihjb25zdCBEb2N1bWVudE1hcmtlciYsIFJlbmRlclN0eWxlKiwg
Y29uc3QgRm9udCYpOwogCiAgICAgVGV4dFJ1bjo6VHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciB0
cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yKCkgY29uc3QgeyByZXR1cm4gbV9leHBhbnNpb24gJiYg
bmV4dExlYWZDaGlsZCgpID8gVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiA6IFRleHRS
dW46OkZvcmJpZFRyYWlsaW5nRXhwYW5zaW9uOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQlIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQlIuaAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQlIuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsOCArNDAsOCBAQCBwdWJsaWM6CiAgCiAg
ICAgdmlydHVhbCBJbnRSZWN0IHNlbGVjdGlvblJlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVs
T2JqZWN0KiAvKnJlcGFpbnRDb250YWluZXIqLywgYm9vbCAvKmNsaXBUb1Zpc2libGVDb250ZW50
Ki8pIHsgcmV0dXJuIEludFJlY3QoKTsgfQogCi0gICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0aCh1
bnNpZ25lZCAvKmZyb20qLywgdW5zaWduZWQgLypsZW4qLywgY29uc3QgRm9udCYsIGludCAvKnhQ
b3MqLywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiA9IDAgLypmYWxsYmFja0ZvbnRz
Ki8gLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0IHsgcmV0dXJuIDA7IH0KLSAgICB2aXJ0dWFs
IHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVkIC8qZnJvbSovLCB1bnNpZ25lZCAvKmxlbiovLCBpbnQg
Lyp4cG9zKi8sIGJvb2wgPSBmYWxzZSAvKmZpcnN0TGluZSovLCBIYXNoU2V0PGNvbnN0IFNpbXBs
ZUZvbnREYXRhKj4qID0gMCAvKmZhbGxiYWNrRm9udHMqLywgR2x5cGhPdmVyZmxvdyogPSAwKSBj
b25zdCB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25lZCAvKmZy
b20qLywgdW5zaWduZWQgLypsZW4qLywgY29uc3QgRm9udCYsIGZsb2F0IC8qeFBvcyovLCBIYXNo
U2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qID0gMCAvKmZhbGxiYWNrRm9udHMqLyAsIEdseXBo
T3ZlcmZsb3cqID0gMCkgY29uc3QgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgZmxvYXQgd2lk
dGgodW5zaWduZWQgLypmcm9tKi8sIHVuc2lnbmVkIC8qbGVuKi8sIGZsb2F0IC8qeHBvcyovLCBi
b29sID0gZmFsc2UgLypmaXJzdExpbmUqLywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+
KiA9IDAgLypmYWxsYmFja0ZvbnRzKi8sIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3QgeyByZXR1
cm4gMDsgfQogCiAgICAgaW50IGxpbmVIZWlnaHQoYm9vbCBmaXJzdExpbmUpIGNvbnN0OwogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDc4
NTcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDYxNiw3ICs0NjE2LDcgQEAgc3RhdGljIGludCBnZXRCb3JkZXJQYWRkaW5n
TWFyZ2luKGNvbnN0IAogICAgICAgICAgICAgICAgY2hpbGQtPmJvcmRlclN0YXJ0KCk7CiB9CiAK
LXN0YXRpYyBpbmxpbmUgdm9pZCBzdHJpcFRyYWlsaW5nU3BhY2UoaW50JiBpbmxpbmVNYXgsIGlu
dCYgaW5saW5lTWluLAorc3RhdGljIGlubGluZSB2b2lkIHN0cmlwVHJhaWxpbmdTcGFjZShmbG9h
dCYgaW5saW5lTWF4LCBmbG9hdCYgaW5saW5lTWluLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBSZW5kZXJPYmplY3QqIHRyYWlsaW5nU3BhY2VDaGlsZCkKIHsKICAgICBp
ZiAodHJhaWxpbmdTcGFjZUNoaWxkICYmIHRyYWlsaW5nU3BhY2VDaGlsZC0+aXNUZXh0KCkpIHsK
QEAgLTQ2MjQsMTcgKzQ2MjQsMjMgQEAgc3RhdGljIGlubGluZSB2b2lkIHN0cmlwVHJhaWxpbmdT
cGFjZShpbgogICAgICAgICBSZW5kZXJUZXh0KiB0ID0gdG9SZW5kZXJUZXh0KHRyYWlsaW5nU3Bh
Y2VDaGlsZCk7CiAgICAgICAgIGNvbnN0IFVDaGFyIHNwYWNlID0gJyAnOwogICAgICAgICBjb25z
dCBGb250JiBmb250ID0gdC0+c3R5bGUoKS0+Zm9udCgpOyAvLyBGSVhNRTogVGhpcyBpZ25vcmVz
IGZpcnN0LWxpbmUuCi0gICAgICAgIGludCBzcGFjZVdpZHRoID0gZm9udC53aWR0aChUZXh0UnVu
KCZzcGFjZSwgMSkpOworICAgICAgICBmbG9hdCBzcGFjZVdpZHRoID0gZm9udC53aWR0aChUZXh0
UnVuKCZzcGFjZSwgMSkpOwogICAgICAgICBpbmxpbmVNYXggLT0gc3BhY2VXaWR0aCArIGZvbnQu
d29yZFNwYWNpbmcoKTsKICAgICAgICAgaWYgKGlubGluZU1pbiA+IGlubGluZU1heCkKICAgICAg
ICAgICAgIGlubGluZU1pbiA9IGlubGluZU1heDsKICAgICB9CiB9CiAKK3N0YXRpYyBpbmxpbmUg
dm9pZCB1cGRhdGVQcmVmZXJyZWRXaWR0aChpbnQmIHByZWZlcnJlZFdpZHRoLCBmbG9hdCYgcmVz
dWx0KQoreworICAgIGludCBzbmFwcGVkUmVzdWx0ID0gY2VpbGYocmVzdWx0KTsKKyAgICBwcmVm
ZXJyZWRXaWR0aCA9IG1heChzbmFwcGVkUmVzdWx0LCBwcmVmZXJyZWRXaWR0aCk7Cit9CisKIHZv
aWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkKIHsK
LSAgICBpbnQgaW5saW5lTWF4ID0gMDsKLSAgICBpbnQgaW5saW5lTWluID0gMDsKKyAgICBmbG9h
dCBpbmxpbmVNYXggPSAwOworICAgIGZsb2F0IGlubGluZU1pbiA9IDA7CiAKICAgICBpbnQgY3cg
PSBjb250YWluaW5nQmxvY2soKS0+Y29udGVudExvZ2ljYWxXaWR0aCgpOwogCkBAIC00Njk1LDE1
ICs0NzAxLDE1IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAg
ICAgICAgICAgIC8vIHRoZSB3aWR0aCBvZiB0aGUgbGFzdCBub24tYnJlYWthYmxlIHJ1biBhbmQg
dXNlIHRoYXQgdG8gc3RhcnQgYSBuZXcgbGluZQogICAgICAgICAgICAgLy8gKHVubGVzcyB3ZSBl
bmQgaW4gd2hpdGVzcGFjZSkuCiAgICAgICAgICAgICBSZW5kZXJTdHlsZSogY3N0eWxlID0gY2hp
bGQtPnN0eWxlKCk7Ci0gICAgICAgICAgICBpbnQgY2hpbGRNaW4gPSAwOwotICAgICAgICAgICAg
aW50IGNoaWxkTWF4ID0gMDsKKyAgICAgICAgICAgIGZsb2F0IGNoaWxkTWluID0gMDsKKyAgICAg
ICAgICAgIGZsb2F0IGNoaWxkTWF4ID0gMDsKIAogICAgICAgICAgICAgaWYgKCFjaGlsZC0+aXNU
ZXh0KCkpIHsKICAgICAgICAgICAgICAgICAvLyBDYXNlICgxKSBhbmQgKDIpLiAgSW5saW5lIHJl
cGxhY2VkIGFuZCBpbmxpbmUgZmxvdyBlbGVtZW50cy4KICAgICAgICAgICAgICAgICBpZiAoY2hp
bGQtPmlzUmVuZGVySW5saW5lKCkpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gQWRkIGluIHBh
ZGRpbmcvYm9yZGVyL21hcmdpbiBmcm9tIHRoZSBhcHByb3ByaWF0ZSBzaWRlIG9mCiAgICAgICAg
ICAgICAgICAgICAgIC8vIHRoZSBlbGVtZW50LgotICAgICAgICAgICAgICAgICAgICBpbnQgYnBt
ID0gZ2V0Qm9yZGVyUGFkZGluZ01hcmdpbih0b1JlbmRlcklubGluZShjaGlsZCksIGNoaWxkSXRl
cmF0b3IuZW5kT2ZJbmxpbmUpOworICAgICAgICAgICAgICAgICAgICBmbG9hdCBicG0gPSBnZXRC
b3JkZXJQYWRkaW5nTWFyZ2luKHRvUmVuZGVySW5saW5lKGNoaWxkKSwgY2hpbGRJdGVyYXRvci5l
bmRPZklubGluZSk7CiAgICAgICAgICAgICAgICAgICAgIGNoaWxkTWluICs9IGJwbTsKICAgICAg
ICAgICAgICAgICAgICAgY2hpbGRNYXggKz0gYnBtOwogCkBAIC00NzEzLDcgKzQ3MTksNyBAQCB2
b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICAgICAg
ICAgIGNoaWxkLT5zZXRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkoZmFsc2UpOwogICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIElubGluZSByZXBsYWNl
ZCBlbHRzIGFkZCBpbiB0aGVpciBtYXJnaW5zIHRvIHRoZWlyIG1pbi9tYXggdmFsdWVzLgotICAg
ICAgICAgICAgICAgICAgICBpbnQgbWFyZ2lucyA9IDA7CisgICAgICAgICAgICAgICAgICAgIGZs
b2F0IG1hcmdpbnMgPSAwOwogICAgICAgICAgICAgICAgICAgICBMZW5ndGggc3RhcnRNYXJnaW4g
PSBjc3R5bGUtPm1hcmdpblN0YXJ0KCk7CiAgICAgICAgICAgICAgICAgICAgIExlbmd0aCBlbmRN
YXJnaW4gPSBjc3R5bGUtPm1hcmdpbkVuZCgpOwogICAgICAgICAgICAgICAgICAgICBpZiAoc3Rh
cnRNYXJnaW4uaXNGaXhlZCgpKQpAQCAtNDc0MywxMyArNDc0OSwxMyBAQCB2b2lkIFJlbmRlckJs
b2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAKICAgICAgICAgICAgICAgICBib29sIGNhbkJy
ZWFrUmVwbGFjZWRFbGVtZW50ID0gIWNoaWxkLT5pc0ltYWdlKCkgfHwgYWxsb3dJbWFnZXNUb0Jy
ZWFrOwogICAgICAgICAgICAgICAgIGlmICgoY2FuQnJlYWtSZXBsYWNlZEVsZW1lbnQgJiYgKGF1
dG9XcmFwIHx8IG9sZEF1dG9XcmFwKSkgfHwgY2xlYXJQcmV2aW91c0Zsb2F0KSB7Ci0gICAgICAg
ICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwg
bV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICB1cGRhdGVQ
cmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKICAg
ICAgICAgICAgICAgICAgICAgaW5saW5lTWluID0gMDsKICAgICAgICAgICAgICAgICB9CiAKICAg
ICAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBzdXBwb3NlZCB0byBjbGVhciB0aGUgcHJldmlvdXMg
ZmxvYXQsIHRoZW4gdGVybWluYXRlIG1heHdpZHRoIGFzIHdlbGwuCiAgICAgICAgICAgICAgICAg
aWYgKGNsZWFyUHJldmlvdXNGbG9hdCkgewotICAgICAgICAgICAgICAgICAgICBtX21heFByZWZl
cnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNYXgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdp
ZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9tYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1heCk7CiAgICAgICAgICAgICAgICAgICAgIGlubGlu
ZU1heCA9IDA7CiAgICAgICAgICAgICAgICAgfQogCkBAIC00NzY3LDEyICs0NzczLDEyIEBAIHZv
aWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKIAogICAgICAgICAgICAgICAg
IGlmICghYXV0b1dyYXAgfHwgIWNhbkJyZWFrUmVwbGFjZWRFbGVtZW50KSB7CiAgICAgICAgICAg
ICAgICAgICAgIGlmIChjaGlsZC0+aXNGbG9hdGluZygpKQotICAgICAgICAgICAgICAgICAgICAg
ICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoY2hpbGRNaW4sIG1fbWluUHJlZmVy
cmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJl
ZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBjaGlsZE1pbik7CiAgICAgICAgICAg
ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiArPSBjaGls
ZE1pbjsKICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAvLyBO
b3cgY2hlY2sgb3VyIGxpbmUuCi0gICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoID0gbWF4KGNoaWxkTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Cisg
ICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoLCBjaGlsZE1pbik7CiAKICAgICAgICAgICAgICAgICAgICAgLy8gTm93IHN0YXJ0
IGEgbmV3IGxpbmUuCiAgICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiA9IDA7CkBAIC00Nzg5
LDcgKzQ3OTUsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAg
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dCogdCA9IHRvUmVuZGVyVGV4dChjaGlsZCk7CiAKICAg
ICAgICAgICAgICAgICBpZiAodC0+aXNXb3JkQnJlYWsoKSkgewotICAgICAgICAgICAgICAgICAg
ICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVy
cmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lk
dGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAgICAgICAgICAg
ICAgICAgIGlubGluZU1pbiA9IDA7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICAgICAgICAgIH0KQEAgLTQ4MDMsOSArNDgwOSw5IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNv
bXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAgICAgICAvLyB0aGVuIHRoZXkgc2hvdWxk
bid0IGJlIGNvbnNpZGVyZWQgaW4gdGhlIGJyZWFrYWJsZSBjaGFyCiAgICAgICAgICAgICAgICAg
Ly8gY2hlY2suCiAgICAgICAgICAgICAgICAgYm9vbCBoYXNCcmVha2FibGVDaGFyLCBoYXNCcmVh
azsKLSAgICAgICAgICAgICAgICBpbnQgYmVnaW5NaW4sIGVuZE1pbjsKKyAgICAgICAgICAgICAg
ICBmbG9hdCBiZWdpbk1pbiwgZW5kTWluOwogICAgICAgICAgICAgICAgIGJvb2wgYmVnaW5XUywg
ZW5kV1M7Ci0gICAgICAgICAgICAgICAgaW50IGJlZ2luTWF4LCBlbmRNYXg7CisgICAgICAgICAg
ICAgICAgZmxvYXQgYmVnaW5NYXgsIGVuZE1heDsKICAgICAgICAgICAgICAgICB0LT50cmltbWVk
UHJlZldpZHRocyhpbmxpbmVNYXgsIGJlZ2luTWluLCBiZWdpbldTLCBlbmRNaW4sIGVuZFdTLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0JyZWFrYWJsZUNoYXIsIGhh
c0JyZWFrLCBiZWdpbk1heCwgZW5kTWF4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNoaWxkTWluLCBjaGlsZE1heCwgc3RyaXBGcm9udFNwYWNlcyk7CkBAIC00ODEzLDcg
KzQ4MTksNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAg
ICAgICAgICAgICAgLy8gVGhpcyB0ZXh0IG9iamVjdCB3aWxsIG5vdCBiZSByZW5kZXJlZCwgYnV0
IGl0IG1heSBzdGlsbCBwcm92aWRlIGEgYnJlYWtpbmcgb3Bwb3J0dW5pdHkuCiAgICAgICAgICAg
ICAgICAgaWYgKCFoYXNCcmVhayAmJiBjaGlsZE1heCA9PSAwKSB7CiAgICAgICAgICAgICAgICAg
ICAgIGlmIChhdXRvV3JhcCAmJiAoYmVnaW5XUyB8fCBlbmRXUykpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9t
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRl
UHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSAwOwogICAgICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtNDg0MywxMCArNDg0OSwxMCBA
QCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICAg
ICAgICAgIC8vIHdlIHN0YXJ0IGFuZCBlbmQgd2l0aCB3aGl0ZXNwYWNlLgogICAgICAgICAgICAg
ICAgICAgICBpZiAoYmVnaW5XUykKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEdvIGFoZWFk
IGFuZCBlbmQgdGhlIGN1cnJlbnQgbGluZS4KLSAgICAgICAgICAgICAgICAgICAgICAgIG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgo
bV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAgICAgICAgICAgICAg
ICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWluICs9IGJlZ2luTWlu
OwotICAgICAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBt
YXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCwgaW5saW5lTWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkTWluIC09IHRpOwog
ICAgICAgICAgICAgICAgICAgICB9CiAKQEAgLTQ4NTUsMTggKzQ4NjEsMTggQEAgdm9pZCBSZW5k
ZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgICAgICBpZiAo
ZW5kV1MpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIGVuZCBpbiB3aGl0ZXNwYWNl
LCB3aGljaCBtZWFucyB3ZSBjYW4gZ28gYWhlYWQKICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IGFuZCBlbmQgb3VyIGN1cnJlbnQgbGluZS4KLSAgICAgICAgICAgICAgICAgICAgICAgIG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgo
bV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAgICAgICAgICAgICAg
ICAgICAgICBpbmxpbmVNaW4gPSAwOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5s
aW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAg
ICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5s
aW5lTWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiA9IGVuZE1pbjsKICAg
ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAg
IGlmIChoYXNCcmVhaykgewogICAgICAgICAgICAgICAgICAgICBpbmxpbmVNYXggKz0gYmVnaW5N
YXg7Ci0gICAgICAgICAgICAgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4
KGlubGluZU1heCwgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOwotICAgICAgICAgICAgICAg
ICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChjaGlsZE1heCwgbV9tYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRX
aWR0aChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWF4KTsKKyAgICAgICAgICAg
ICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgs
IGNoaWxkTWF4KTsKICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWF4ID0gZW5kTWF4OwogICAg
ICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICBpbmxpbmVNYXggKz0gY2hp
bGRNYXg7CkBAIC00ODc2LDggKzQ4ODIsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5s
aW5lUHJlZmVycmVkCiAgICAgICAgICAgICBpZiAoY2hpbGQtPmlzTGlzdE1hcmtlcigpKQogICAg
ICAgICAgICAgICAgIHN0cmlwRnJvbnRTcGFjZXMgPSB0cnVlOwogICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBt
X21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Ci0gICAgICAgICAgICBtX21heFByZWZlcnJlZExv
Z2ljYWxXaWR0aCA9IG1heChpbmxpbmVNYXgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKTsK
KyAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoLCBpbmxpbmVNaW4pOworICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9tYXhQ
cmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1heCk7CiAgICAgICAgICAgICBpbmxpbmVNaW4g
PSBpbmxpbmVNYXggPSAwOwogICAgICAgICAgICAgc3RyaXBGcm9udFNwYWNlcyA9IHRydWU7CiAg
ICAgICAgICAgICB0cmFpbGluZ1NwYWNlQ2hpbGQgPSAwOwpAQCAtNDg4OSw4ICs0ODk1LDggQEAg
dm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgIGlmIChzdHlsZSgp
LT5jb2xsYXBzZVdoaXRlU3BhY2UoKSkKICAgICAgICAgc3RyaXBUcmFpbGluZ1NwYWNlKGlubGlu
ZU1heCwgaW5saW5lTWluLCB0cmFpbGluZ1NwYWNlQ2hpbGQpOwogCi0gICAgbV9taW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCk7Ci0gICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWF4LCBtX21h
eFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CisgICAgdXBkYXRlUHJlZmVycmVkV2lk
dGgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1heCk7CiB9CiAKIC8vIFVzZSBh
IHZlcnkgbGFyZ2UgdmFsdWUgKGluIGVmZmVjdCBpbmZpbml0ZSkuCkBAIC01NDU2LDkgKzU0NjIs
OSBAQCB2b2lkIFJlbmRlckJsb2NrOjphZGp1c3RGb3JCb3JkZXJGaXQoaW50CiAgICAgICAgIGlm
IChjaGlsZHJlbklubGluZSgpKSB7CiAgICAgICAgICAgICBmb3IgKFJvb3RJbmxpbmVCb3gqIGJv
eCA9IGZpcnN0Um9vdEJveCgpOyBib3g7IGJveCA9IGJveC0+bmV4dFJvb3RCb3goKSkgewogICAg
ICAgICAgICAgICAgIGlmIChib3gtPmZpcnN0Q2hpbGQoKSkKLSAgICAgICAgICAgICAgICAgICAg
bGVmdCA9IG1pbihsZWZ0LCB4ICsgYm94LT5maXJzdENoaWxkKCktPngoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwgeCArIHN0YXRpY19jYXN0PGludD4oYm94LT5maXJz
dENoaWxkKCktPngoKSkpOwogICAgICAgICAgICAgICAgIGlmIChib3gtPmxhc3RDaGlsZCgpKQot
ICAgICAgICAgICAgICAgICAgICByaWdodCA9IG1heChyaWdodCwgeCArIGJveC0+bGFzdENoaWxk
KCktPngoKSArIGJveC0+bGFzdENoaWxkKCktPmxvZ2ljYWxXaWR0aCgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgcmlnaHQgPSBtYXgocmlnaHQsIHggKyBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKGJv
eC0+bGFzdENoaWxkKCktPmxvZ2ljYWxSaWdodCgpKSkpOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CiAgICAgICAgIGVsc2UgewpAQCAtNTc1OCw4ICs1NzY0LDggQEAgdm9pZCBSZW5kZXJCbG9j
azo6YWRkRm9jdXNSaW5nUmVjdHMoVmVjdAogCiAgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSAm
JiAhaGFzQ29udHJvbENsaXAoKSkgewogICAgICAgICBmb3IgKFJvb3RJbmxpbmVCb3gqIGN1cnIg
PSBmaXJzdFJvb3RCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRSb290Qm94KCkpIHsKLSAg
ICAgICAgICAgIGludCB0b3AgPSBtYXgoY3Vyci0+bGluZVRvcCgpLCBjdXJyLT55KCkpOwotICAg
ICAgICAgICAgaW50IGJvdHRvbSA9IG1pbihjdXJyLT5saW5lQm90dG9tKCksIGN1cnItPnkoKSAr
IGN1cnItPmxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgICAgICBpbnQgdG9wID0gbWF4KGN1cnIt
PmxpbmVUb3AoKSwgY3Vyci0+bG9naWNhbFRvcCgpKTsKKyAgICAgICAgICAgIGludCBib3R0b20g
PSBtaW4oY3Vyci0+bGluZUJvdHRvbSgpLCBjdXJyLT5sb2dpY2FsVG9wKCkgKyBjdXJyLT5sb2dp
Y2FsSGVpZ2h0KCkpOwogICAgICAgICAgICAgSW50UmVjdCByZWN0KHR4ICsgY3Vyci0+eCgpLCB0
eSArIHRvcCwgY3Vyci0+bG9naWNhbFdpZHRoKCksIGJvdHRvbSAtIHRvcCk7CiAgICAgICAgICAg
ICBpZiAoIXJlY3QuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIHJlY3RzLmFwcGVuZChyZWN0
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCShyZXZpc2lvbiA3
ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCSh3b3JraW5n
IGNvcHkpCkBAIC00ODUsNyArNDg1LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2tpcFRyYWls
aW5nV2hpdGVzcGFjZShJbmxpbmVJdGVyYXRvciYsIGJvb2wgaXNMaW5lRW1wdHksIGJvb2wgcHJl
dmlvdXNMaW5lQnJva2VDbGVhbmx5KTsKICAgICBpbnQgc2tpcExlYWRpbmdXaGl0ZXNwYWNlKElu
bGluZUJpZGlSZXNvbHZlciYsIGJvb2wgZmlyc3RMaW5lLCBib29sIGlzTGluZUVtcHR5LCBib29s
IHByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSwgRmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdEZyb21Q
cmV2aW91c0xpbmUpOwotICAgIHZvaWQgZml0QmVsb3dGbG9hdHMoaW50IHdpZHRoVG9GaXQsIGJv
b2wgZmlyc3RMaW5lLCBpbnQmIGF2YWlsYWJsZVdpZHRoKTsKKyAgICB2b2lkIGZpdEJlbG93Rmxv
YXRzKGZsb2F0IHdpZHRoVG9GaXQsIGJvb2wgZmlyc3RMaW5lLCBmbG9hdCYgYXZhaWxhYmxlV2lk
dGgpOwogICAgIElubGluZUl0ZXJhdG9yIGZpbmROZXh0TGluZUJyZWFrKElubGluZUJpZGlSZXNv
bHZlciYsIGJvb2wgZmlyc3RMaW5lLCBib29sJiBpc0xpbmVFbXB0eSwgYm9vbCYgcHJldmlvdXNM
aW5lQnJva2VDbGVhbmx5LCBib29sJiBoeXBoZW5hdGVkLCBFQ2xlYXIqLCBGbG9hdGluZ09iamVj
dCogbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSk7CiAgICAgUm9vdElubGluZUJveCogY29uc3Ry
dWN0TGluZSh1bnNpZ25lZCBydW5Db3VudCwgQmlkaVJ1biogZmlyc3RSdW4sIEJpZGlSdW4qIGxh
c3RSdW4sIGJvb2wgZmlyc3RMaW5lLCBib29sIGxhc3RMaW5lLCBSZW5kZXJPYmplY3QqIGVuZE9i
amVjdCk7CiAgICAgSW5saW5lRmxvd0JveCogY3JlYXRlTGluZUJveGVzKFJlbmRlck9iamVjdCos
IGJvb2wgZmlyc3RMaW5lKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0xpbmVMYXlvdXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMTgsOCArMzE4LDggQEAgUm9vdElubGluZUJveCogUmVuZGVyQmxvY2s6OmNvbnN0cnVj
dExpbgogdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvblBvc2l0aW9uc0Zv
ckxpbmUoUm9vdElubGluZUJveCogbGluZUJveCwgYm9vbCBmaXJzdExpbmUsIEJpZGlSdW4qIGZp
cnN0UnVuLCBCaWRpUnVuKiB0cmFpbGluZ1NwYWNlUnVuLCBib29sIHJlYWNoZWRFbmQsIEdseXBo
T3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJiB0ZXh0Qm94RGF0YU1hcCkKIHsKICAgICAvLyBG
aXJzdCBkZXRlcm1pbmUgb3VyIHRvdGFsIGxvZ2ljYWwgd2lkdGguCi0gICAgaW50IGF2YWlsYWJs
ZUxvZ2ljYWxXaWR0aCA9IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aEZvckxpbmUobG9naWNhbEhlaWdo
dCgpLCBmaXJzdExpbmUpOwotICAgIGludCB0b3RhbExvZ2ljYWxXaWR0aCA9IGxpbmVCb3gtPmdl
dEZsb3dTcGFjaW5nTG9naWNhbFdpZHRoKCk7CisgICAgZmxvYXQgYXZhaWxhYmxlTG9naWNhbFdp
ZHRoID0gYXZhaWxhYmxlTG9naWNhbFdpZHRoRm9yTGluZShsb2dpY2FsSGVpZ2h0KCksIGZpcnN0
TGluZSk7CisgICAgZmxvYXQgdG90YWxMb2dpY2FsV2lkdGggPSBsaW5lQm94LT5nZXRGbG93U3Bh
Y2luZ0xvZ2ljYWxXaWR0aCgpOwogICAgIGJvb2wgbmVlZHNXb3JkU3BhY2luZyA9IGZhbHNlOwog
ICAgIHVuc2lnbmVkIGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQgPSAwOwogICAgIGJvb2wgaXNB
ZnRlckV4cGFuc2lvbiA9IHRydWU7CkBAIC0zODYsNyArMzg2LDcgQEAgdm9pZCBSZW5kZXJCbG9j
azo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgIC8vIHdlIG5vdyBleGFtaW5lIG91ciB0ZXh0
LWFsaWduIHByb3BlcnR5IGluIG9yZGVyIHRvIGRldGVybWluZSB3aGVyZSB0byBwb3NpdGlvbiB0
aGUKICAgICAvLyBvYmplY3RzIGhvcml6b250YWxseS4gIFRoZSB0b3RhbCB3aWR0aCBvZiB0aGUg
bGluZSBjYW4gYmUgaW5jcmVhc2VkIGlmIHdlIGVuZCB1cAogICAgIC8vIGp1c3RpZnlpbmcgdGV4
dC4KLSAgICBpbnQgbG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUobG9naWNh
bEhlaWdodCgpLCBmaXJzdExpbmUpOworICAgIGZsb2F0IGxvZ2ljYWxMZWZ0ID0gbG9naWNhbExl
ZnRPZmZzZXRGb3JMaW5lKGxvZ2ljYWxIZWlnaHQoKSwgZmlyc3RMaW5lKTsKICAgICBzd2l0Y2gg
KHRleHRBbGlnbikgewogICAgICAgICBjYXNlIExFRlQ6CiAgICAgICAgIGNhc2UgV0VCS0lUX0xF
RlQ6CkBAIC0zOTQsNyArMzk0LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURp
cmVjdGlvbgogICAgICAgICAgICAgLy8gcGFydGljdWxhciB3aXRoIFJUTCBibG9ja3MsIHdpZGUg
bGluZXMgc2hvdWxkIHN0aWxsIHNwaWxsIG91dCB0byB0aGUgbGVmdC4KICAgICAgICAgICAgIGlm
IChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsKICAgICAgICAgICAgICAgICBp
ZiAodG90YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFibGVMb2dpY2FsV2lkdGggJiYgdHJhaWxpbmdT
cGFjZVJ1bikKLSAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNl
dExvZ2ljYWxXaWR0aChtYXgoMCwgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0
aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFpbGFibGVMb2dpY2FsV2lkdGgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aCht
YXg8ZmxvYXQ+KDAsIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRv
dGFsTG9naWNhbFdpZHRoICsgYXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7CiAgICAgICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgICAgIGlmICh0cmFpbGluZ1NwYWNlUnVuKQogICAgICAgICAg
ICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKDApOwpA
QCAtNDE2LDcgKzQxNiw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rp
b24KICAgICAgICAgICAgIC8vIGZvciByaWdodCB0byBsZWZ0IGZhbGwgdGhyb3VnaCB0byByaWdo
dCBhbGlnbmVkCiAgICAgICAgICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlv
bigpKSB7CiAgICAgICAgICAgICAgICAgaWYgKHRvdGFsTG9naWNhbFdpZHRoID4gYXZhaWxhYmxl
TG9naWNhbFdpZHRoICYmIHRyYWlsaW5nU3BhY2VSdW4pCi0gICAgICAgICAgICAgICAgICAgIHRy
YWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAsIHRyYWlsaW5nU3Bh
Y2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNhbFdpZHRoICsgYXZhaWxh
YmxlTG9naWNhbFdpZHRoKSk7CisgICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4t
Pm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4PGZsb2F0PigwLCB0cmFpbGluZ1NwYWNlUnVuLT5t
X2JveC0+bG9naWNhbFdpZHRoKCkgLSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2lj
YWxXaWR0aCkpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAg
ICBjYXNlIFJJR0hUOgpAQCAtNDMzLDcgKzQzMyw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1
dGVJbmxpbmVEaXJlY3Rpb24KICAgICAgICAgICAgICAgICAgICAgbG9naWNhbExlZnQgKz0gYXZh
aWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGg7CiAgICAgICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgICAgIGlmICh0b3RhbExvZ2ljYWxXaWR0aCA+IGF2YWlsYWJsZUxv
Z2ljYWxXaWR0aCAmJiB0cmFpbGluZ1NwYWNlUnVuKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRy
YWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAsIHRyYWlsaW5nU3Bh
Y2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNhbFdpZHRoICsgYXZhaWxh
YmxlTG9naWNhbFdpZHRoKSk7CisgICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4t
Pm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4PGZsb2F0PigwLCB0cmFpbGluZ1NwYWNlUnVuLT5t
X2JveC0+bG9naWNhbFdpZHRoKCkgLSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2lj
YWxXaWR0aCkpOwogICAgICAgICAgICAgICAgICAgICB0b3RhbExvZ2ljYWxXaWR0aCAtPSB0cmFp
bGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCk7CiAgICAgICAgICAgICAgICAgfSBl
bHNlCiAgICAgICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IGF2YWlsYWJsZUxvZ2ljYWxX
aWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoOwpAQCAtNDQxLDE0ICs0NDEsMTQgQEAgdm9pZCBSZW5k
ZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgQ0VOVEVSOgogICAgICAgICBjYXNlIFdFQktJVF9DRU5URVI6Ci0gICAgICAgICAg
ICBpbnQgdHJhaWxpbmdTcGFjZVdpZHRoID0gMDsKKyAgICAgICAgICAgIGZsb2F0IHRyYWlsaW5n
U3BhY2VXaWR0aCA9IDA7CiAgICAgICAgICAgICBpZiAodHJhaWxpbmdTcGFjZVJ1bikgewogICAg
ICAgICAgICAgICAgIHRvdGFsTG9naWNhbFdpZHRoIC09IHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94
LT5sb2dpY2FsV2lkdGgoKTsKICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlV2lkdGggPSBt
aW4odHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpLCAoYXZhaWxhYmxlTG9n
aWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGggKyAxKSAvIDIpOwotICAgICAgICAgICAgICAg
IHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAsIHRyYWlsaW5n
U3BhY2VXaWR0aCkpOworICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5z
ZXRMb2dpY2FsV2lkdGgobWF4PGZsb2F0PigwLCB0cmFpbGluZ1NwYWNlV2lkdGgpKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGlmIChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9u
KCkpCi0gICAgICAgICAgICAgICAgbG9naWNhbExlZnQgKz0gbWF4KChhdmFpbGFibGVMb2dpY2Fs
V2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkgLyAyLCAwKTsKKyAgICAgICAgICAgICAgICBsb2dp
Y2FsTGVmdCArPSBtYXg8ZmxvYXQ+KChhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2lj
YWxXaWR0aCkgLyAyLCAwKTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBsb2dp
Y2FsTGVmdCArPSB0b3RhbExvZ2ljYWxXaWR0aCA+IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCA/IChh
dmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkgOiAoYXZhaWxhYmxlTG9n
aWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpIC8gMiAtIHRyYWlsaW5nU3BhY2VXaWR0aDsK
ICAgICAgICAgICAgIGJyZWFrOwpAQCAtNDY4LDcgKzQ2OCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6
OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb24KICAgICAgICAgICAgICAgICAvLyBPbmx5IGp1c3RpZnkg
dGV4dCBpZiB3aGl0ZXNwYWNlIGlzIGNvbGxhcHNlZC4KICAgICAgICAgICAgICAgICBpZiAoci0+
bV9vYmplY3QtPnN0eWxlKCktPmNvbGxhcHNlV2hpdGVTcGFjZSgpKSB7CiAgICAgICAgICAgICAg
ICAgICAgIElubGluZVRleHRCb3gqIHRleHRCb3ggPSBzdGF0aWNfY2FzdDxJbmxpbmVUZXh0Qm94
Kj4oci0+bV9ib3gpOwotICAgICAgICAgICAgICAgICAgICBpbnQgZXhwYW5zaW9uID0gKGF2YWls
YWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoKSAqIG9wcG9ydHVuaXRpZXNJblJ1
biAvIGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQ7CisgICAgICAgICAgICAgICAgICAgIGZsb2F0
IGV4cGFuc2lvbiA9IChhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkg
KiBvcHBvcnR1bml0aWVzSW5SdW4gLyBleHBhbnNpb25PcHBvcnR1bml0eUNvdW50OwogICAgICAg
ICAgICAgICAgICAgICB0ZXh0Qm94LT5zZXRFeHBhbnNpb24oZXhwYW5zaW9uKTsKICAgICAgICAg
ICAgICAgICAgICAgdG90YWxMb2dpY2FsV2lkdGggKz0gZXhwYW5zaW9uOwogICAgICAgICAgICAg
ICAgIH0KQEAgLTEzNjksMTMgKzEzNjksMTMgQEAgc3RhdGljIGJvb2wgc2hvdWxkU2tpcFdoaXRl
c3BhY2VBZnRlclN0YQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBSZW5kZXJCbG9jazo6
Zml0QmVsb3dGbG9hdHMoaW50IHdpZHRoVG9GaXQsIGJvb2wgZmlyc3RMaW5lLCBpbnQmIGF2YWls
YWJsZVdpZHRoKQordm9pZCBSZW5kZXJCbG9jazo6Zml0QmVsb3dGbG9hdHMoZmxvYXQgd2lkdGhU
b0ZpdCwgYm9vbCBmaXJzdExpbmUsIGZsb2F0JiBhdmFpbGFibGVXaWR0aCkKIHsKICAgICBBU1NF
UlQod2lkdGhUb0ZpdCA+IGF2YWlsYWJsZVdpZHRoKTsKIAogICAgIGludCBmbG9hdExvZ2ljYWxC
b3R0b207CiAgICAgaW50IGxhc3RGbG9hdExvZ2ljYWxCb3R0b20gPSBsb2dpY2FsSGVpZ2h0KCk7
Ci0gICAgaW50IG5ld0xpbmVXaWR0aCA9IGF2YWlsYWJsZVdpZHRoOworICAgIGZsb2F0IG5ld0xp
bmVXaWR0aCA9IGF2YWlsYWJsZVdpZHRoOwogICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgIGZs
b2F0TG9naWNhbEJvdHRvbSA9IG5leHRGbG9hdExvZ2ljYWxCb3R0b21CZWxvdyhsYXN0RmxvYXRM
b2dpY2FsQm90dG9tKTsKICAgICAgICAgaWYgKCFmbG9hdExvZ2ljYWxCb3R0b20pCkBAIC0xMzkz
LDE5ICsxMzkzLDE5IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmZpdEJlbG93RmxvYXRzKGludCB3aWQK
ICAgICB9CiB9CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgdGV4dFdpZHRoKFJlbmRlclRleHQq
IHRleHQsIHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgY29uc3QgRm9udCYgZm9udCwgaW50
IHhQb3MsIGJvb2wgaXNGaXhlZFBpdGNoLCBib29sIGNvbGxhcHNlV2hpdGVTcGFjZSkKK3N0YXRp
YyBpbmxpbmUgZmxvYXQgdGV4dFdpZHRoKFJlbmRlclRleHQqIHRleHQsIHVuc2lnbmVkIGZyb20s
IHVuc2lnbmVkIGxlbiwgY29uc3QgRm9udCYgZm9udCwgZmxvYXQgeFBvcywgYm9vbCBpc0ZpeGVk
UGl0Y2gsIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlKQogewogICAgIGlmIChpc0ZpeGVkUGl0Y2gg
fHwgKCFmcm9tICYmIGxlbiA9PSB0ZXh0LT50ZXh0TGVuZ3RoKCkpIHx8IHRleHQtPnN0eWxlKCkt
Pmhhc1RleHRDb21iaW5lKCkpCiAgICAgICAgIHJldHVybiB0ZXh0LT53aWR0aChmcm9tLCBsZW4s
IGZvbnQsIHhQb3MpOwogICAgIHJldHVybiBmb250LndpZHRoKFRleHRSdW4odGV4dC0+Y2hhcmFj
dGVycygpICsgZnJvbSwgbGVuLCAhY29sbGFwc2VXaGl0ZVNwYWNlLCB4UG9zKSk7CiB9CiAKLXN0
YXRpYyB2b2lkIHRyeUh5cGhlbmF0aW5nKFJlbmRlclRleHQqIHRleHQsIGNvbnN0IEZvbnQmIGZv
bnQsIGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxlSWRlbnRpZmllciwgaW50IGxhc3RTcGFjZSwg
aW50IHBvcywgaW50IHhQb3MsIGludCBhdmFpbGFibGVXaWR0aCwgYm9vbCBpc0ZpeGVkUGl0Y2gs
IGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlLCBpbnQgbGFzdFNwYWNlV29yZFNwYWNpbmcsIElubGlu
ZUl0ZXJhdG9yJiBsaW5lQnJlYWssIGludCBuZXh0QnJlYWthYmxlLCBib29sJiBoeXBoZW5hdGVk
KQorc3RhdGljIHZvaWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCogdGV4dCwgY29uc3QgRm9u
dCYgZm9udCwgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbGVJZGVudGlmaWVyLCBpbnQgbGFzdFNw
YWNlLCBpbnQgcG9zLCBmbG9hdCB4UG9zLCBpbnQgYXZhaWxhYmxlV2lkdGgsIGJvb2wgaXNGaXhl
ZFBpdGNoLCBib29sIGNvbGxhcHNlV2hpdGVTcGFjZSwgaW50IGxhc3RTcGFjZVdvcmRTcGFjaW5n
LCBJbmxpbmVJdGVyYXRvciYgbGluZUJyZWFrLCBpbnQgbmV4dEJyZWFrYWJsZSwgYm9vbCYgaHlw
aGVuYXRlZCkKIHsKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGh5cGhlblN0cmluZyA9IHRleHQt
PnN0eWxlKCktPmh5cGhlblN0cmluZygpOwogICAgIGludCBoeXBoZW5XaWR0aCA9IGZvbnQud2lk
dGgoVGV4dFJ1bihoeXBoZW5TdHJpbmcuY2hhcmFjdGVycygpLCBoeXBoZW5TdHJpbmcubGVuZ3Ro
KCkpKTsKIAotICAgIGludCBtYXhQcmVmaXhXaWR0aCA9IGF2YWlsYWJsZVdpZHRoIC0geFBvcyAt
IGh5cGhlbldpZHRoIC0gbGFzdFNwYWNlV29yZFNwYWNpbmc7CisgICAgZmxvYXQgbWF4UHJlZml4
V2lkdGggPSBhdmFpbGFibGVXaWR0aCAtIHhQb3MgLSBoeXBoZW5XaWR0aCAtIGxhc3RTcGFjZVdv
cmRTcGFjaW5nOwogICAgIC8vIElmIHRoZSBtYXhpbXVtIHdpZHRoIGF2YWlsYWJsZSBmb3IgdGhl
IHByZWZpeCBiZWZvcmUgdGhlIGh5cGhlbiBpcyBzbWFsbCwgdGhlbiBpdCBpcyB2ZXJ5IHVubGlr
ZWx5CiAgICAgLy8gdGhhdCBhbiBoeXBoZW5hdGlvbiBvcHBvcnR1bml0eSBleGlzdHMsIHNvIGRv
IG5vdCBib3RoZXIgdG8gbG9vayBmb3IgaXQuCiAgICAgaWYgKG1heFByZWZpeFdpZHRoIDw9IGZv
bnQucGl4ZWxTaXplKCkgKiA1IC8gNCkKQEAgLTE0MjAsNyArMTQyMCw3IEBAIHN0YXRpYyB2b2lk
IHRyeUh5cGhlbmF0aW5nKFJlbmRlclRleHQqIHQKICAgICAgICAgcmV0dXJuOwogCiAjaWYgIUFT
U0VSVF9ESVNBQkxFRAotICAgIGludCBwcmVmaXhXaWR0aCA9IGh5cGhlbldpZHRoICsgdGV4dFdp
ZHRoKHRleHQsIGxhc3RTcGFjZSwgcHJlZml4TGVuZ3RoLCBmb250LCB4UG9zLCBpc0ZpeGVkUGl0
Y2gsIGNvbGxhcHNlV2hpdGVTcGFjZSkgKyBsYXN0U3BhY2VXb3JkU3BhY2luZzsKKyAgICBmbG9h
dCBwcmVmaXhXaWR0aCA9IGh5cGhlbldpZHRoICsgdGV4dFdpZHRoKHRleHQsIGxhc3RTcGFjZSwg
cHJlZml4TGVuZ3RoLCBmb250LCB4UG9zLCBpc0ZpeGVkUGl0Y2gsIGNvbGxhcHNlV2hpdGVTcGFj
ZSkgKyBsYXN0U3BhY2VXb3JkU3BhY2luZzsKICAgICBBU1NFUlQoeFBvcyArIHByZWZpeFdpZHRo
IDw9IGF2YWlsYWJsZVdpZHRoKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGlzRml4ZWRQaXRj
aCk7CkBAIC0xNDQwLDEwICsxNDQwLDEwIEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpm
aW5kTmV4dExpbmUKICAgICBib29sIGFwcGxpZWRTdGFydFdpZHRoID0gcmVzb2x2ZXIucG9zaXRp
b24oKS5wb3MgPiAwOwogICAgIExpbmVNaWRwb2ludFN0YXRlJiBsaW5lTWlkcG9pbnRTdGF0ZSA9
IHJlc29sdmVyLm1pZHBvaW50U3RhdGUoKTsKICAgICAKLSAgICBpbnQgd2lkdGggPSBza2lwTGVh
ZGluZ1doaXRlc3BhY2UocmVzb2x2ZXIsIGZpcnN0TGluZSwgaXNMaW5lRW1wdHksIHByZXZpb3Vz
TGluZUJyb2tlQ2xlYW5seSwgbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSk7CisgICAgZmxvYXQg
d2lkdGggPSBza2lwTGVhZGluZ1doaXRlc3BhY2UocmVzb2x2ZXIsIGZpcnN0TGluZSwgaXNMaW5l
RW1wdHksIHByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSwgbGFzdEZsb2F0RnJvbVByZXZpb3VzTGlu
ZSk7CiAKLSAgICBpbnQgdyA9IDA7Ci0gICAgaW50IHRtcFcgPSAwOworICAgIGZsb2F0IHcgPSAw
OworICAgIGZsb2F0IHRtcFcgPSAwOwogCiAgICAgaWYgKHJlc29sdmVyLnBvc2l0aW9uKCkuYXRF
bmQoKSkKICAgICAgICAgcmV0dXJuIHJlc29sdmVyLnBvc2l0aW9uKCk7CkBAIC0xNDYyLDggKzE0
NjIsOCBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9jazo6ZmluZE5leHRMaW5lCiAKICAgICBJ
bmxpbmVJdGVyYXRvciBsQnJlYWsgPSByZXNvbHZlci5wb3NpdGlvbigpOwogCi0gICAgUmVuZGVy
T2JqZWN0ICpvID0gcmVzb2x2ZXIucG9zaXRpb24oKS5vYmo7Ci0gICAgUmVuZGVyT2JqZWN0ICps
YXN0ID0gbzsKKyAgICBSZW5kZXJPYmplY3QqIG8gPSByZXNvbHZlci5wb3NpdGlvbigpLm9iajsK
KyAgICBSZW5kZXJPYmplY3QqIGxhc3QgPSBvOwogICAgIHVuc2lnbmVkIHBvcyA9IHJlc29sdmVy
LnBvc2l0aW9uKCkucG9zOwogICAgIGludCBuZXh0QnJlYWthYmxlID0gcmVzb2x2ZXIucG9zaXRp
b24oKS5uZXh0QnJlYWthYmxlUG9zaXRpb247CiAgICAgYm9vbCBhdFN0YXJ0ID0gdHJ1ZTsKQEAg
LTE2NjAsMjIgKzE2NjAsMjIgQEAgSW5saW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0
TGluZQogICAgICAgICAgICAgYm9vbCBjYW5IeXBoZW5hdGUgPSBzdHlsZS0+aHlwaGVucygpID09
IEh5cGhlbnNBdXRvICYmIFdlYkNvcmU6OmNhbkh5cGhlbmF0ZShzdHlsZS0+aHlwaGVuYXRpb25M
b2NhbGUoKSk7CiAKICAgICAgICAgICAgIGludCBsYXN0U3BhY2UgPSBwb3M7Ci0gICAgICAgICAg
ICBpbnQgd29yZFNwYWNpbmcgPSBvLT5zdHlsZSgpLT53b3JkU3BhY2luZygpOwotICAgICAgICAg
ICAgaW50IGxhc3RTcGFjZVdvcmRTcGFjaW5nID0gMDsKKyAgICAgICAgICAgIGZsb2F0IHdvcmRT
cGFjaW5nID0gby0+c3R5bGUoKS0+d29yZFNwYWNpbmcoKTsKKyAgICAgICAgICAgIGZsb2F0IGxh
c3RTcGFjZVdvcmRTcGFjaW5nID0gMDsKIAogICAgICAgICAgICAgLy8gTm9uLXplcm8gb25seSB3
aGVuIGtlcm5pbmcgaXMgZW5hYmxlZCwgaW4gd2hpY2ggY2FzZSB3ZSBtZWFzdXJlIHdvcmRzIHdp
dGggdGhlaXIgdHJhaWxpbmcKICAgICAgICAgICAgIC8vIHNwYWNlLCB0aGVuIHN1YnRyYWN0IGl0
cyB3aWR0aC4KLSAgICAgICAgICAgIGludCB3b3JkVHJhaWxpbmdTcGFjZVdpZHRoID0gZi50eXBl
c2V0dGluZ0ZlYXR1cmVzKCkgJiBLZXJuaW5nID8gZi53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkp
ICsgd29yZFNwYWNpbmcgOiAwOworICAgICAgICAgICAgZmxvYXQgd29yZFRyYWlsaW5nU3BhY2VX
aWR0aCA9IGYudHlwZXNldHRpbmdGZWF0dXJlcygpICYgS2VybmluZyA/IGYud2lkdGgoVGV4dFJ1
bigmc3BhY2UsIDEpKSArIHdvcmRTcGFjaW5nIDogMDsKIAotICAgICAgICAgICAgaW50IHdyYXBX
ID0gdG1wVyArIGlubGluZUxvZ2ljYWxXaWR0aChvLCAhYXBwbGllZFN0YXJ0V2lkdGgsIHRydWUp
OwotICAgICAgICAgICAgaW50IGNoYXJXaWR0aCA9IDA7CisgICAgICAgICAgICBmbG9hdCB3cmFw
VyA9IHRtcFcgKyBpbmxpbmVMb2dpY2FsV2lkdGgobywgIWFwcGxpZWRTdGFydFdpZHRoLCB0cnVl
KTsKKyAgICAgICAgICAgIGZsb2F0IGNoYXJXaWR0aCA9IDA7CiAgICAgICAgICAgICBib29sIGJy
ZWFrTkJTUCA9IGF1dG9XcmFwICYmIG8tPnN0eWxlKCktPm5ic3BNb2RlKCkgPT0gU1BBQ0U7CiAg
ICAgICAgICAgICAvLyBBdXRvLXdyYXBwaW5nIHRleHQgc2hvdWxkIHdyYXAgaW4gdGhlIG1pZGRs
ZSBvZiBhIHdvcmQgb25seSBpZiBpdCBjb3VsZCBub3Qgd3JhcCBiZWZvcmUgdGhlIHdvcmQsCiAg
ICAgICAgICAgICAvLyB3aGljaCBpcyBvbmx5IHBvc3NpYmxlIGlmIHRoZSB3b3JkIGlzIHRoZSBm
aXJzdCB0aGluZyBvbiB0aGUgbGluZSwgdGhhdCBpcywgaWYgfHd8IGlzIHplcm8uCiAgICAgICAg
ICAgICBib29sIGJyZWFrV29yZHMgPSBvLT5zdHlsZSgpLT5icmVha1dvcmRzKCkgJiYgKChhdXRv
V3JhcCAmJiAhdykgfHwgY3VycldTID09IFBSRSk7CiAgICAgICAgICAgICBib29sIG1pZFdvcmRC
cmVhayA9IGZhbHNlOwogICAgICAgICAgICAgYm9vbCBicmVha0FsbCA9IG8tPnN0eWxlKCktPndv
cmRCcmVhaygpID09IEJyZWFrQWxsV29yZEJyZWFrICYmIGF1dG9XcmFwOwotICAgICAgICAgICAg
aW50IGh5cGhlbldpZHRoID0gMDsKKyAgICAgICAgICAgIGZsb2F0IGh5cGhlbldpZHRoID0gMDsK
IAogICAgICAgICAgICAgaWYgKHQtPmlzV29yZEJyZWFrKCkpIHsKICAgICAgICAgICAgICAgICB3
ICs9IHRtcFc7CkBAIC0xNzQ0LDcgKzE3NDQsNyBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9j
azo6ZmluZE5leHRMaW5lCiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgICAgIH0KIAotICAgICAgICAgICAgICAgICAgICBpbnQgYWRkaXRpb25hbFRtcFc7CisgICAg
ICAgICAgICAgICAgICAgIGZsb2F0IGFkZGl0aW9uYWxUbXBXOwogICAgICAgICAgICAgICAgICAg
ICBpZiAod29yZFRyYWlsaW5nU3BhY2VXaWR0aCAmJiBjdXJyZW50Q2hhcmFjdGVySXNTcGFjZSkK
ICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxUbXBXID0gdGV4dFdpZHRoKHQsIGxh
c3RTcGFjZSwgcG9zICsgMSAtIGxhc3RTcGFjZSwgZiwgdyArIHRtcFcsIGlzRml4ZWRQaXRjaCwg
Y29sbGFwc2VXaGl0ZVNwYWNlKSAtIHdvcmRUcmFpbGluZ1NwYWNlV2lkdGggKyBsYXN0U3BhY2VX
b3JkU3BhY2luZzsKICAgICAgICAgICAgICAgICAgICAgZWxzZQpAQCAtMTg5NCw3ICsxODk0LDcg
QEAgSW5saW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZQogICAgICAgICAgICAg
fQogCiAgICAgICAgICAgICAvLyBJTVBPUlRBTlQ6IHBvcyBpcyA+IGxlbmd0aCBoZXJlIQotICAg
ICAgICAgICAgaW50IGFkZGl0aW9uYWxUbXBXID0gaWdub3JpbmdTcGFjZXMgPyAwIDogdGV4dFdp
ZHRoKHQsIGxhc3RTcGFjZSwgcG9zIC0gbGFzdFNwYWNlLCBmLCB3ICsgdG1wVywgaXNGaXhlZFBp
dGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UpICsgbGFzdFNwYWNlV29yZFNwYWNpbmc7CisgICAgICAg
ICAgICBmbG9hdCBhZGRpdGlvbmFsVG1wVyA9IGlnbm9yaW5nU3BhY2VzID8gMCA6IHRleHRXaWR0
aCh0LCBsYXN0U3BhY2UsIHBvcyAtIGxhc3RTcGFjZSwgZiwgdyArIHRtcFcsIGlzRml4ZWRQaXRj
aCwgY29sbGFwc2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOwogICAgICAgICAg
ICAgdG1wVyArPSBhZGRpdGlvbmFsVG1wVzsKICAgICAgICAgICAgIHRtcFcgKz0gaW5saW5lTG9n
aWNhbFdpZHRoKG8sICFhcHBsaWVkU3RhcnRXaWR0aCwgdHJ1ZSk7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzI5LDcg
KzEzMjksNyBAQCB2b2lkIFJlbmRlckJveDo6cG9zaXRpb25MaW5lQm94KElubGluZUJvCiAgICAg
ICAgIGJveC0+cmVtb3ZlKCk7CiAgICAgICAgIGJveC0+ZGVzdHJveShyZW5kZXJBcmVuYSgpKTsK
ICAgICB9IGVsc2UgaWYgKGlzUmVwbGFjZWQoKSkgewotICAgICAgICBzZXRMb2NhdGlvbihib3gt
PngoKSwgYm94LT55KCkpOworICAgICAgICBzZXRMb2NhdGlvbihscm91bmRmKGJveC0+eCgpKSwg
bHJvdW5kZihib3gtPnkoKSkpOwogICAgICAgICBtX2lubGluZUJveFdyYXBwZXIgPSBib3g7CiAg
ICAgfQogfQpAQCAtMzM0OCw2ICszMzQ4LDI0IEBAIEludFNpemUgUmVuZGVyQm94OjpmbGlwRm9y
V3JpdGluZ01vZGUoY28KICAgICByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKSA/IEludFNpemUob2Zmc2V0LndpZHRoKCksIGhlaWdodCgpIC0gb2Zmc2V0LmhlaWdodCgp
KSA6IEludFNpemUod2lkdGgoKSAtIG9mZnNldC53aWR0aCgpLCBvZmZzZXQuaGVpZ2h0KCkpOwog
fQogCitGbG9hdFBvaW50IFJlbmRlckJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEZsb2F0
UG9pbnQmIHBvc2l0aW9uKSBjb25zdAoreworICAgIGlmICghc3R5bGUoKS0+aXNGbGlwcGVkQmxv
Y2tzV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHBvc2l0aW9uOworICAgIHJldHVybiBz
dHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gRmxvYXRQb2ludChwb3NpdGlvbi54
KCksIGhlaWdodCgpIC0gcG9zaXRpb24ueSgpKSA6IEZsb2F0UG9pbnQod2lkdGgoKSAtIHBvc2l0
aW9uLngoKSwgcG9zaXRpb24ueSgpKTsKK30KKwordm9pZCBSZW5kZXJCb3g6OmZsaXBGb3JXcml0
aW5nTW9kZShGbG9hdFJlY3QmIHJlY3QpIGNvbnN0Cit7CisgICAgaWYgKCFzdHlsZSgpLT5pc0Zs
aXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoc3R5
bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmVjdC5zZXRZKGhlaWdo
dCgpIC0gcmVjdC5tYXhZKCkpOworICAgIGVsc2UKKyAgICAgICAgcmVjdC5zZXRYKHdpZHRoKCkg
LSByZWN0Lm1heFgoKSk7Cit9CisKIEludFNpemUgUmVuZGVyQm94Ojpsb2NhdGlvbk9mZnNldElu
Y2x1ZGluZ0ZsaXBwaW5nKCkgY29uc3QKIHsKICAgICBpZiAoIXBhcmVudCgpIHx8ICFwYXJlbnQo
KS0+aXNCb3goKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHJldmlz
aW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zODUsNiArMzg1LDggQEAgcHVibGljOgogICAgIEludFBvaW50IGZsaXBG
b3JXcml0aW5nTW9kZUluY2x1ZGluZ0NvbHVtbnMoY29uc3QgSW50UG9pbnQmKSBjb25zdDsKICAg
ICBJbnRTaXplIGZsaXBGb3JXcml0aW5nTW9kZShjb25zdCBJbnRTaXplJikgY29uc3Q7CiAgICAg
dm9pZCBmbGlwRm9yV3JpdGluZ01vZGUoSW50UmVjdCYpIGNvbnN0OworICAgIEZsb2F0UG9pbnQg
ZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEZsb2F0UG9pbnQmKSBjb25zdDsKKyAgICB2b2lkIGZs
aXBGb3JXcml0aW5nTW9kZShGbG9hdFJlY3QmKSBjb25zdDsKICAgICBJbnRTaXplIGxvY2F0aW9u
T2Zmc2V0SW5jbHVkaW5nRmxpcHBpbmcoKSBjb25zdDsKIAogICAgIEludFJlY3QgbG9naWNhbFZp
c3VhbE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRlclN0eWxlKikgY29uc3Q7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5jcHAJKHJl
dmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVU
ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNyBAQCB2b2lkIFJlbmRlckNvbWJp
bmVUZXh0OjpzZXRUZXh0SW50ZXJuYWwoCiAgICAgbV9uZWVkc0ZvbnRVcGRhdGUgPSB0cnVlOwog
fQogCi11bnNpZ25lZCBSZW5kZXJDb21iaW5lVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwgdW5z
aWduZWQgbGVuZ3RoLCBjb25zdCBGb250JiBmb250LCBpbnQgeFBvc2l0aW9uLCBIYXNoU2V0PGNv
bnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBo
T3ZlcmZsb3cpIGNvbnN0CitmbG9hdCBSZW5kZXJDb21iaW5lVGV4dDo6d2lkdGgodW5zaWduZWQg
ZnJvbSwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBGb250JiBmb250LCBmbG9hdCB4UG9zaXRpb24s
IEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVy
ZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKICAgICBpZiAoIWNoYXJhY3RlcnMoKSkKICAg
ICAgICAgcmV0dXJuIDA7CkBAIC02Myw3ICs2Myw3IEBAIHVuc2lnbmVkIFJlbmRlckNvbWJpbmVU
ZXh0Ojp3aWR0aCh1bnNpZ24KICAgICByZXR1cm4gUmVuZGVyVGV4dDo6d2lkdGgoZnJvbSwgbGVu
Z3RoLCBmb250LCB4UG9zaXRpb24sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQog
Ci12b2lkIFJlbmRlckNvbWJpbmVUZXh0OjphZGp1c3RUZXh0T3JpZ2luKEludFBvaW50JiB0ZXh0
T3JpZ2luLCBjb25zdCBJbnRSZWN0JiBib3hSZWN0KSBjb25zdAordm9pZCBSZW5kZXJDb21iaW5l
VGV4dDo6YWRqdXN0VGV4dE9yaWdpbihGbG9hdFBvaW50JiB0ZXh0T3JpZ2luLCBjb25zdCBGbG9h
dFJlY3QmIGJveFJlY3QpIGNvbnN0CiB7CiAgICAgaWYgKG1faXNDb21iaW5lZCkKICAgICAgICAg
dGV4dE9yaWdpbi5tb3ZlKGJveFJlY3QuaGVpZ2h0KCkgLyAyIC0gY2VpbGYobV9jb21iaW5lZFRl
eHRXaWR0aCkgLyAyLCBzdHlsZSgpLT5mb250KCkucGl4ZWxTaXplKCkpOwpAQCAtOTgsNyArOTgs
NyBAQCB2b2lkIFJlbmRlckNvbWJpbmVUZXh0Ojpjb21iaW5lVGV4dCgpCiAgICAgYm9vbCBzaG91
bGRVcGRhdGVGb250ID0gZmFsc2U7CiAKICAgICBkZXNjcmlwdGlvbi5zZXRPcmllbnRhdGlvbihI
b3Jpem9udGFsKTsgLy8gV2UgYXJlIGdvaW5nIHRvIGRyYXcgY29tYmluZWQgdGV4dCBob3Jpem9u
dGFsbHkuCi0gICAgbV9jb21iaW5lZFRleHRXaWR0aCA9IHN0eWxlKCktPmZvbnQoKS5mbG9hdFdp
ZHRoKHJ1bik7CisgICAgbV9jb21iaW5lZFRleHRXaWR0aCA9IHN0eWxlKCktPmZvbnQoKS53aWR0
aChydW4pOwogICAgIG1faXNDb21iaW5lZCA9IG1fY29tYmluZWRUZXh0V2lkdGggPD0gZW1XaWR0
aDsKIAogICAgIGlmIChtX2lzQ29tYmluZWQpCkBAIC0xMTAsNyArMTEwLDcgQEAgdm9pZCBSZW5k
ZXJDb21iaW5lVGV4dDo6Y29tYmluZVRleHQoKQogICAgICAgICAgICAgZGVzY3JpcHRpb24uc2V0
V2lkdGhWYXJpYW50KHdpZHRoVmFyaWFudHNbaV0pOwogICAgICAgICAgICAgRm9udCBjb21wcmVz
c2VkRm9udCA9IEZvbnQoZGVzY3JpcHRpb24sIHN0eWxlKCktPmZvbnQoKS5sZXR0ZXJTcGFjaW5n
KCksIHN0eWxlKCktPmZvbnQoKS53b3JkU3BhY2luZygpKTsKICAgICAgICAgICAgIGNvbXByZXNz
ZWRGb250LnVwZGF0ZShzdHlsZSgpLT5mb250KCkuZm9udFNlbGVjdG9yKCkpOwotICAgICAgICAg
ICAgZmxvYXQgcnVuV2lkdGggPSBjb21wcmVzc2VkRm9udC5mbG9hdFdpZHRoKHJ1bik7CisgICAg
ICAgICAgICBmbG9hdCBydW5XaWR0aCA9IGNvbXByZXNzZWRGb250LndpZHRoKHJ1bik7CiAgICAg
ICAgICAgICBpZiAocnVuV2lkdGggPD0gZW1XaWR0aCkgewogICAgICAgICAgICAgICAgIG1fY29t
YmluZWRUZXh0V2lkdGggPSBydW5XaWR0aDsKICAgICAgICAgICAgICAgICBtX2lzQ29tYmluZWQg
PSB0cnVlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVU
ZXh0LmgJKHJldmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckNvbWJpbmVUZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDEzICszMCwxMyBAQCBwdWJsaWM6
CiAgICAgUmVuZGVyQ29tYmluZVRleHQoTm9kZSosIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4pOwog
CiAgICAgdm9pZCBjb21iaW5lVGV4dCgpOwotICAgIHZvaWQgYWRqdXN0VGV4dE9yaWdpbihJbnRQ
b2ludCYgdGV4dE9yaWdpbiwgY29uc3QgSW50UmVjdCYgYm94UmVjdCkgY29uc3Q7CisgICAgdm9p
ZCBhZGp1c3RUZXh0T3JpZ2luKEZsb2F0UG9pbnQmIHRleHRPcmlnaW4sIGNvbnN0IEZsb2F0UmVj
dCYgYm94UmVjdCkgY29uc3Q7CiAgICAgdm9pZCBjaGFyYWN0ZXJzVG9SZW5kZXIoaW50IHN0YXJ0
LCBjb25zdCBVQ2hhciomIGNoYXJhY3RlcnMsIGludCYgbGVuZ3RoKSBjb25zdDsKICAgICBib29s
IGlzQ29tYmluZWQoKSBjb25zdCB7IHJldHVybiBtX2lzQ29tYmluZWQ7IH0KLSAgICBpbnQgY29t
YmluZWRUZXh0V2lkdGgoY29uc3QgRm9udCYgZm9udCkgY29uc3QgeyByZXR1cm4gZm9udC5zaXpl
KCk7IH0KKyAgICBmbG9hdCBjb21iaW5lZFRleHRXaWR0aChjb25zdCBGb250JiBmb250KSBjb25z
dCB7IHJldHVybiBmb250LnNpemUoKTsgfQogCiBwcml2YXRlOgotICAgIHZpcnR1YWwgdW5zaWdu
ZWQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBGb250JiwgaW50
IHhQb3NpdGlvbiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRz
ID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKKyAgICB2aXJ0dWFsIGZsb2F0IHdpZHRo
KHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgRm9udCYsIGZsb2F0IHhQb3Np
dGlvbiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwg
R2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRl
ck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyQ29tYmluZVRleHQiOyB9CiAgICAgdmlydHVh
bCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUq
IG9sZFN0eWxlKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VGV4dEludGVybmFsKFBhc3NSZWZQdHI8
U3RyaW5nSW1wbD4pOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3Vu
dGVyLmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQ291bnRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5Myw3ICs0OTMsNyBAQCBQYXNzUmVm
UHRyPFN0cmluZ0ltcGw+IFJlbmRlckNvdW50ZXI6Om9yCiAgICAgcmV0dXJuIHRleHQuaW1wbCgp
OwogfQogCi12b2lkIFJlbmRlckNvdW50ZXI6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhz
KGludCBsZWFkKQordm9pZCBSZW5kZXJDb3VudGVyOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdp
ZHRocyhmbG9hdCBsZWFkKQogewogICAgIHNldFRleHRJbnRlcm5hbChvcmlnaW5hbFRleHQoKSk7
CiAgICAgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMobGVhZCk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmgJKHJldmlzaW9uIDc4
NTcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTAsNyArNTAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBpc0Nv
dW50ZXIoKSBjb25zdDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gb3JpZ2lu
YWxUZXh0KCkgY29uc3Q7CiAgICAgCi0gICAgdmlydHVhbCB2b2lkIGNvbXB1dGVQcmVmZXJyZWRM
b2dpY2FsV2lkdGhzKGludCBsZWFkV2lkdGgpOworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJl
ZmVycmVkTG9naWNhbFdpZHRocyhmbG9hdCBsZWFkV2lkdGgpOwogCiAgICAgQ291bnRlckNvbnRl
bnQgbV9jb3VudGVyOwogICAgIG11dGFibGUgQ291bnRlck5vZGUqIG1fY291bnRlck5vZGU7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVj
dC5jcHAJKHJldmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVtYmVkZGVkT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk5LDggKzE5OSw3IEBAIGJv
b2wgUmVuZGVyRW1iZWRkZWRPYmplY3Q6OmdldFJlcGxhY2VtZW4KICAgICBmb250LnVwZGF0ZSgw
KTsKICAgICAKICAgICBydW4gPSBUZXh0UnVuKG1fcmVwbGFjZW1lbnRUZXh0LmNoYXJhY3RlcnMo
KSwgbV9yZXBsYWNlbWVudFRleHQubGVuZ3RoKCkpOwotICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdI
YWNrcygpOwotICAgIHRleHRXaWR0aCA9IGZvbnQuZmxvYXRXaWR0aChydW4pOworICAgIHRleHRX
aWR0aCA9IGZvbnQud2lkdGgocnVuKTsKICAgICAKICAgICByZXBsYWNlbWVudFRleHRSZWN0LnNl
dFNpemUoRmxvYXRTaXplKHRleHRXaWR0aCArIHJlcGxhY2VtZW50VGV4dFJvdW5kZWRSZWN0TGVm
dFJpZ2h0VGV4dE1hcmdpbiAqIDIsIHJlcGxhY2VtZW50VGV4dFJvdW5kZWRSZWN0SGVpZ2h0KSk7
CiAgICAgZmxvYXQgeCA9IChjb250ZW50UmVjdC5zaXplKCkud2lkdGgoKSAvIDIgLSByZXBsYWNl
bWVudFRleHRSZWN0LnNpemUoKS53aWR0aCgpIC8gMikgKyBjb250ZW50UmVjdC5sb2NhdGlvbigp
LngoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29u
dHJvbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZp
bGVVcGxvYWRDb250cm9sLmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NzMsNyArMjczLDcgQEAgdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y29tcHV0ZVByZQog
ICAgICAgICAvLyBGaWd1cmUgb3V0IGhvdyBiaWcgdGhlIGZpbGVuYW1lIHNwYWNlIG5lZWRzIHRv
IGJlIGZvciBhIGdpdmVuIG51bWJlciBvZiBjaGFyYWN0ZXJzCiAgICAgICAgIC8vICh1c2luZyAi
MCIgYXMgdGhlIG5vbWluYWwgY2hhcmFjdGVyKS4KICAgICAgICAgY29uc3QgVUNoYXIgY2ggPSAn
MCc7Ci0gICAgICAgIGZsb2F0IGNoYXJXaWR0aCA9IHN0eWxlKCktPmZvbnQoKS5mbG9hdFdpZHRo
KFRleHRSdW4oJmNoLCAxLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFu
c2lvbiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkpOworICAgICAgICBmbG9hdCBjaGFyV2lkdGggPSBz
dHlsZSgpLT5mb250KCkud2lkdGgoVGV4dFJ1bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVu
OjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBmYWxzZSkpOwogICAgICAgICBtX21heFByZWZlcnJl
ZExvZ2ljYWxXaWR0aCA9IChpbnQpY2VpbGYoY2hhcldpZHRoICogZGVmYXVsdFdpZHRoTnVtQ2hh
cnMpOwogICAgIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
Y3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgxLDcgKzgxLDcgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIHNob3J0IHBhZGRpbmdIZWlnaAogCiAvLyBBbHQgdGV4dCBpcyByZXN0cmljdGVkIHRv
IHRoaXMgbWF4aW11bSBzaXplLCBpbiBwaXhlbHMuICBUaGVzZSBhcmUKIC8vIHNpZ25lZCBpbnRl
Z2VycyBiZWNhdXNlIHRoZXkgYXJlIGNvbXBhcmVkIHdpdGggb3RoZXIgc2lnbmVkIHZhbHVlcy4K
LXN0YXRpYyBjb25zdCBpbnQgbWF4QWx0VGV4dFdpZHRoID0gMTAyNDsKK3N0YXRpYyBjb25zdCBm
bG9hdCBtYXhBbHRUZXh0V2lkdGggPSAxMDI0Owogc3RhdGljIGNvbnN0IGludCBtYXhBbHRUZXh0
SGVpZ2h0ID0gMjU2OwogCiBJbnRTaXplIFJlbmRlckltYWdlOjppbWFnZVNpemVGb3JFcnJvcihD
YWNoZWRJbWFnZSogbmV3SW1hZ2UpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW5saW5lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW5saW5lLmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTU5LDggKzU1OSw4
IEBAIEludFJlY3QgUmVuZGVySW5saW5lOjpsaW5lc0JvdW5kaW5nQm94KCkKICAgICBBU1NFUlQo
IWZpcnN0TGluZUJveCgpID09ICFsYXN0TGluZUJveCgpKTsgIC8vIEVpdGhlciBib3RoIGFyZSBu
dWxsIG9yIGJvdGggZXhpc3QuCiAgICAgaWYgKGZpcnN0TGluZUJveCgpICYmIGxhc3RMaW5lQm94
KCkpIHsKICAgICAgICAgLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiB0aGUgbWluaW1hbCBsZWZ0IHNp
ZGUgYW5kIHRoZSBtYXhpbWFsIHJpZ2h0IHNpZGUuCi0gICAgICAgIGludCBsb2dpY2FsTGVmdFNp
ZGUgPSAwOwotICAgICAgICBpbnQgbG9naWNhbFJpZ2h0U2lkZSA9IDA7CisgICAgICAgIGZsb2F0
IGxvZ2ljYWxMZWZ0U2lkZSA9IDA7CisgICAgICAgIGZsb2F0IGxvZ2ljYWxSaWdodFNpZGUgPSAw
OwogICAgICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1cnIgPSBmaXJzdExpbmVCb3goKTsgY3Vy
cjsgY3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkpIHsKICAgICAgICAgICAgIGlmIChjdXJyID09
IGZpcnN0TGluZUJveCgpIHx8IGN1cnItPmxvZ2ljYWxMZWZ0KCkgPCBsb2dpY2FsTGVmdFNpZGUp
CiAgICAgICAgICAgICAgICAgbG9naWNhbExlZnRTaWRlID0gY3Vyci0+bG9naWNhbExlZnQoKTsK
QEAgLTU3MCwxMSArNTcwLDExIEBAIEludFJlY3QgUmVuZGVySW5saW5lOjpsaW5lc0JvdW5kaW5n
Qm94KCkKICAgICAgICAgCiAgICAgICAgIGJvb2wgaXNIb3Jpem9udGFsID0gc3R5bGUoKS0+aXNI
b3Jpem9udGFsV3JpdGluZ01vZGUoKTsKICAgICAgICAgCi0gICAgICAgIGludCB4ID0gaXNIb3Jp
em9udGFsID8gbG9naWNhbExlZnRTaWRlIDogZmlyc3RMaW5lQm94KCktPngoKTsKLSAgICAgICAg
aW50IHkgPSBpc0hvcml6b250YWwgPyBmaXJzdExpbmVCb3goKS0+eSgpIDogbG9naWNhbExlZnRT
aWRlOwotICAgICAgICBpbnQgd2lkdGggPSBpc0hvcml6b250YWwgPyBsb2dpY2FsUmlnaHRTaWRl
IC0gbG9naWNhbExlZnRTaWRlIDogbGFzdExpbmVCb3goKS0+bG9naWNhbEJvdHRvbSgpIC0geDsK
LSAgICAgICAgaW50IGhlaWdodCA9IGlzSG9yaXpvbnRhbCA/IGxhc3RMaW5lQm94KCktPmxvZ2lj
YWxCb3R0b20oKSAtIHkgOiBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlOwotICAg
ICAgICByZXN1bHQgPSBJbnRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpOworICAgICAgICBmbG9h
dCB4ID0gaXNIb3Jpem9udGFsID8gbG9naWNhbExlZnRTaWRlIDogZmlyc3RMaW5lQm94KCktPngo
KTsKKyAgICAgICAgZmxvYXQgeSA9IGlzSG9yaXpvbnRhbCA/IGZpcnN0TGluZUJveCgpLT55KCkg
OiBsb2dpY2FsTGVmdFNpZGU7CisgICAgICAgIGZsb2F0IHdpZHRoID0gaXNIb3Jpem9udGFsID8g
bG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZSA6IGxhc3RMaW5lQm94KCktPmxvZ2lj
YWxCb3R0b20oKSAtIHg7CisgICAgICAgIGZsb2F0IGhlaWdodCA9IGlzSG9yaXpvbnRhbCA/IGxh
c3RMaW5lQm94KCktPmxvZ2ljYWxCb3R0b20oKSAtIHkgOiBsb2dpY2FsUmlnaHRTaWRlIC0gbG9n
aWNhbExlZnRTaWRlOworICAgICAgICByZXN1bHQgPSBlbmNsb3NpbmdJbnRSZWN0KEZsb2F0UmVj
dCh4LCB5LCB3aWR0aCwgaGVpZ2h0KSk7CiAgICAgfQogCiAgICAgcmV0dXJuIHJlc3VsdDsKQEAg
LTU4NiwyMCArNTg2LDIwIEBAIEludFJlY3QgUmVuZGVySW5saW5lOjpsaW5lc1Zpc3VhbE92ZXJm
bG8KICAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKIAogICAgIC8vIFJldHVybiB0aGUgd2lkdGgg
b2YgdGhlIG1pbmltYWwgbGVmdCBzaWRlIGFuZCB0aGUgbWF4aW1hbCByaWdodCBzaWRlLgotICAg
IGludCBsb2dpY2FsTGVmdFNpZGUgPSBudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKTsKLSAgICBp
bnQgbG9naWNhbFJpZ2h0U2lkZSA9IG51bWVyaWNfbGltaXRzPGludD46Om1pbigpOworICAgIGZs
b2F0IGxvZ2ljYWxMZWZ0U2lkZSA9IG51bWVyaWNfbGltaXRzPGludD46Om1heCgpOworICAgIGZs
b2F0IGxvZ2ljYWxSaWdodFNpZGUgPSBudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKTsKICAgICBm
b3IgKElubGluZUZsb3dCb3gqIGN1cnIgPSBmaXJzdExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1
cnItPm5leHRMaW5lQm94KCkpIHsKLSAgICAgICAgbG9naWNhbExlZnRTaWRlID0gbWluKGxvZ2lj
YWxMZWZ0U2lkZSwgY3Vyci0+bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygpKTsKLSAgICAgICAg
bG9naWNhbFJpZ2h0U2lkZSA9IG1heChsb2dpY2FsUmlnaHRTaWRlLCBjdXJyLT5sb2dpY2FsUmln
aHRWaXN1YWxPdmVyZmxvdygpKTsKKyAgICAgICAgbG9naWNhbExlZnRTaWRlID0gbWluKGxvZ2lj
YWxMZWZ0U2lkZSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGN1cnItPmxvZ2ljYWxMZWZ0VmlzdWFsT3Zl
cmZsb3coKSkpOworICAgICAgICBsb2dpY2FsUmlnaHRTaWRlID0gbWF4KGxvZ2ljYWxSaWdodFNp
ZGUsIHN0YXRpY19jYXN0PGZsb2F0PihjdXJyLT5sb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdygp
KSk7CiAgICAgfQogCiAgICAgYm9vbCBpc0hvcml6b250YWwgPSBzdHlsZSgpLT5pc0hvcml6b250
YWxXcml0aW5nTW9kZSgpOwogICAgICAgICAKLSAgICBpbnQgeCA9IGlzSG9yaXpvbnRhbCA/IGxv
Z2ljYWxMZWZ0U2lkZSA6IGZpcnN0TGluZUJveCgpLT5taW5YVmlzdWFsT3ZlcmZsb3coKTsKLSAg
ICBpbnQgeSA9IGlzSG9yaXpvbnRhbCA/IGZpcnN0TGluZUJveCgpLT5taW5ZVmlzdWFsT3ZlcmZs
b3coKSA6IGxvZ2ljYWxMZWZ0U2lkZTsKLSAgICBpbnQgd2lkdGggPSBpc0hvcml6b250YWwgPyBs
b2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlIDogbGFzdExpbmVCb3goKS0+bWF4WFZp
c3VhbE92ZXJmbG93KCkgLSBmaXJzdExpbmVCb3goKS0+bWluWFZpc3VhbE92ZXJmbG93KCk7Ci0g
ICAgaW50IGhlaWdodCA9IGlzSG9yaXpvbnRhbCA/IGxhc3RMaW5lQm94KCktPm1heFlWaXN1YWxP
dmVyZmxvdygpIC0gZmlyc3RMaW5lQm94KCktPm1pbllWaXN1YWxPdmVyZmxvdygpIDogbG9naWNh
bFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZTsKLSAgICByZXR1cm4gSW50UmVjdCh4LCB5LCB3
aWR0aCwgaGVpZ2h0KTsKKyAgICBmbG9hdCB4ID0gaXNIb3Jpem9udGFsID8gbG9naWNhbExlZnRT
aWRlIDogZmlyc3RMaW5lQm94KCktPm1pblhWaXN1YWxPdmVyZmxvdygpOworICAgIGZsb2F0IHkg
PSBpc0hvcml6b250YWwgPyBmaXJzdExpbmVCb3goKS0+bWluWVZpc3VhbE92ZXJmbG93KCkgOiBs
b2dpY2FsTGVmdFNpZGU7CisgICAgZmxvYXQgd2lkdGggPSBpc0hvcml6b250YWwgPyBsb2dpY2Fs
UmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlIDogbGFzdExpbmVCb3goKS0+bWF4WFZpc3VhbE92
ZXJmbG93KCkgLSBmaXJzdExpbmVCb3goKS0+bWluWFZpc3VhbE92ZXJmbG93KCk7CisgICAgZmxv
YXQgaGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFzdExpbmVCb3goKS0+bWF4WVZpc3VhbE92ZXJm
bG93KCkgLSBmaXJzdExpbmVCb3goKS0+bWluWVZpc3VhbE92ZXJmbG93KCkgOiBsb2dpY2FsUmln
aHRTaWRlIC0gbG9naWNhbExlZnRTaWRlOworICAgIHJldHVybiBlbmNsb3NpbmdJbnRSZWN0KEZs
b2F0UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KSk7CiB9CiAKIEludFJlY3QgUmVuZGVySW5saW5l
OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVw
YWludENvbnRhaW5lcikKQEAgLTk2Myw4ICs5NjMsOCBAQCB2b2lkIFJlbmRlcklubGluZTo6YWRk
Rm9jdXNSaW5nUmVjdHMoVmVjCiB7CiAgICAgZm9yIChJbmxpbmVGbG93Qm94KiBjdXJyID0gZmly
c3RMaW5lQm94KCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0TGluZUJveCgpKSB7CiAgICAgICAg
IFJvb3RJbmxpbmVCb3gqIHJvb3QgPSBjdXJyLT5yb290KCk7Ci0gICAgICAgIGludCB0b3AgPSBt
YXgocm9vdC0+bGluZVRvcCgpLCBjdXJyLT55KCkpOwotICAgICAgICBpbnQgYm90dG9tID0gbWlu
KHJvb3QtPmxpbmVCb3R0b20oKSwgY3Vyci0+eSgpICsgY3Vyci0+bG9naWNhbEhlaWdodCgpKTsK
KyAgICAgICAgaW50IHRvcCA9IG1heChyb290LT5saW5lVG9wKCksIGN1cnItPmxvZ2ljYWxUb3Ao
KSk7CisgICAgICAgIGludCBib3R0b20gPSBtaW4ocm9vdC0+bGluZUJvdHRvbSgpLCBjdXJyLT5s
b2dpY2FsQm90dG9tKCkpOwogICAgICAgICBJbnRSZWN0IHJlY3QodHggKyBjdXJyLT54KCksIHR5
ICsgdG9wLCBjdXJyLT5sb2dpY2FsV2lkdGgoKSwgYm90dG9tIC0gdG9wKTsKICAgICAgICAgaWYg
KCFyZWN0LmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJlY3RzLmFwcGVuZChyZWN0KTsKQEAgLTEw
MTUsOCArMTAxNSw4IEBAIHZvaWQgUmVuZGVySW5saW5lOjpwYWludE91dGxpbmUoR3JhcGhpY3MK
ICAgICByZWN0cy5hcHBlbmQoSW50UmVjdCgpKTsKICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1
cnIgPSBmaXJzdExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkpIHsK
ICAgICAgICAgUm9vdElubGluZUJveCogcm9vdCA9IGN1cnItPnJvb3QoKTsKLSAgICAgICAgaW50
IHRvcCA9IG1heChyb290LT5saW5lVG9wKCksIGN1cnItPnkoKSk7Ci0gICAgICAgIGludCBib3R0
b20gPSBtaW4ocm9vdC0+bGluZUJvdHRvbSgpLCBjdXJyLT55KCkgKyBjdXJyLT5sb2dpY2FsSGVp
Z2h0KCkpOworICAgICAgICBpbnQgdG9wID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+bG9n
aWNhbFRvcCgpKTsKKyAgICAgICAgaW50IGJvdHRvbSA9IG1pbihyb290LT5saW5lQm90dG9tKCks
IGN1cnItPmxvZ2ljYWxCb3R0b20oKSk7CiAgICAgICAgIHJlY3RzLmFwcGVuZChJbnRSZWN0KGN1
cnItPngoKSwgdG9wLCBjdXJyLT5sb2dpY2FsV2lkdGgoKSwgYm90dG9tIC0gdG9wKSk7CiAgICAg
fQogICAgIHJlY3RzLmFwcGVuZChJbnRSZWN0KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMSw3
ICsxMTEsNyBAQCB2b2lkIFJlbmRlckxpc3RCb3g6OnVwZGF0ZUZyb21FbGVtZW50KCkKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIGlmICghdGV4dC5pc0VtcHR5
KCkpIHsKLSAgICAgICAgICAgICAgICBmbG9hdCB0ZXh0V2lkdGggPSBpdGVtRm9udC5mbG9hdFdp
ZHRoKFRleHRSdW4odGV4dC5pbXBsKCksIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWls
aW5nRXhwYW5zaW9uLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSkpOworICAgICAgICAgICAg
ICAgIGZsb2F0IHRleHRXaWR0aCA9IGl0ZW1Gb250LndpZHRoKFRleHRSdW4odGV4dC5pbXBsKCks
IGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBmYWxzZSwgZmFs
c2UpKTsKICAgICAgICAgICAgICAgICB3aWR0aCA9IG1heCh3aWR0aCwgdGV4dFdpZHRoKTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtMzMzLDcgKzMzMyw3IEBAIHZvaWQgUmVuZGVyTGlz
dEJveDo6cGFpbnRJdGVtRm9yZWdyb3VuZCgKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IGl0ZW1U
ZXh0Lmxlbmd0aCgpOwogICAgIGNvbnN0IFVDaGFyKiBzdHJpbmcgPSBpdGVtVGV4dC5jaGFyYWN0
ZXJzKCk7Ci0gICAgVGV4dFJ1biB0ZXh0UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwg
VGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIWl0ZW1TdHlsZS0+aXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpLCBpdGVtU3R5bGUtPnVuaWNvZGVCaWRpKCkgPT0gT3ZlcnJpZGUsIGZhbHNl
LCBmYWxzZSk7CisgICAgVGV4dFJ1biB0ZXh0UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwg
MCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIWl0ZW1TdHlsZS0+aXNMZWZ0VG9S
aWdodERpcmVjdGlvbigpLCBpdGVtU3R5bGUtPnVuaWNvZGVCaWRpKCkgPT0gT3ZlcnJpZGUpOwog
CiAgICAgLy8gRHJhdyB0aGUgaXRlbSB0ZXh0CiAgICAgaWYgKGl0ZW1TdHlsZS0+dmlzaWJpbGl0
eSgpICE9IEhJRERFTikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51
TGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1l
bnVMaXN0LmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTWVudUxpc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMsMTAgKzE1MywxMCBAQCB2
b2lkIFJlbmRlck1lbnVMaXN0Ojp1cGRhdGVPcHRpb25zV2lkdGgoCiAgICAgICAgICAgICBpZiAo
UmVuZGVyU3R5bGUqIG9wdGlvblN0eWxlID0gZWxlbWVudC0+cmVuZGVyU3R5bGUoKSkKICAgICAg
ICAgICAgICAgICBvcHRpb25XaWR0aCArPSBvcHRpb25TdHlsZS0+dGV4dEluZGVudCgpLmNhbGNN
aW5WYWx1ZSgwKTsKICAgICAgICAgICAgIGlmICghdGV4dC5pc0VtcHR5KCkpCi0gICAgICAgICAg
ICAgICAgb3B0aW9uV2lkdGggKz0gc3R5bGUoKS0+Zm9udCgpLmZsb2F0V2lkdGgodGV4dCk7Cisg
ICAgICAgICAgICAgICAgb3B0aW9uV2lkdGggKz0gc3R5bGUoKS0+Zm9udCgpLndpZHRoKHRleHQp
OwogICAgICAgICAgICAgbWF4T3B0aW9uV2lkdGggPSBtYXgobWF4T3B0aW9uV2lkdGgsIG9wdGlv
bldpZHRoKTsKICAgICAgICAgfSBlbHNlIGlmICghdGV4dC5pc0VtcHR5KCkpCi0gICAgICAgICAg
ICBtYXhPcHRpb25XaWR0aCA9IG1heChtYXhPcHRpb25XaWR0aCwgc3R5bGUoKS0+Zm9udCgpLmZs
b2F0V2lkdGgodGV4dCkpOworICAgICAgICAgICAgbWF4T3B0aW9uV2lkdGggPSBtYXgobWF4T3B0
aW9uV2lkdGgsIHN0eWxlKCktPmZvbnQoKS53aWR0aCh0ZXh0KSk7CiAgICAgfQogCiAgICAgaW50
IHdpZHRoID0gc3RhdGljX2Nhc3Q8aW50PihjZWlsZihtYXhPcHRpb25XaWR0aCkpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAkocmV2aXNpb24gNzg1NzEpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTUwNiwxNSArNTA2LDE5IEBAIEludFJlY3QgUmVuZGVyVGV4dDo6bG9jYWxDYXJldFJlY3Qo
SW5saW4KICAgICBpbnQgaGVpZ2h0ID0gYm94LT5yb290KCktPnNlbGVjdGlvbkhlaWdodCgpOwog
ICAgIGludCB0b3AgPSBib3gtPnJvb3QoKS0+c2VsZWN0aW9uVG9wKCk7CiAKLSAgICBpbnQgbGVm
dCA9IGJveC0+cG9zaXRpb25Gb3JPZmZzZXQoY2FyZXRPZmZzZXQpOworICAgIC8vIEdvIGFoZWFk
IGFuZCByb3VuZCBsZWZ0IHRvIHNuYXAgaXQgdG8gdGhlIG5lYXJlc3QgcGl4ZWwuCisgICAgZmxv
YXQgbGVmdCA9IGJveC0+cG9zaXRpb25Gb3JPZmZzZXQoY2FyZXRPZmZzZXQpOwogCiAgICAgLy8g
RGlzdHJpYnV0ZSB0aGUgY2FyZXQncyB3aWR0aCB0byBlaXRoZXIgc2lkZSBvZiB0aGUgb2Zmc2V0
LgogICAgIGludCBjYXJldFdpZHRoTGVmdE9mT2Zmc2V0ID0gY2FyZXRXaWR0aCAvIDI7CiAgICAg
bGVmdCAtPSBjYXJldFdpZHRoTGVmdE9mT2Zmc2V0OwogICAgIGludCBjYXJldFdpZHRoUmlnaHRP
Zk9mZnNldCA9IGNhcmV0V2lkdGggLSBjYXJldFdpZHRoTGVmdE9mT2Zmc2V0OwogCi0gICAgaW50
IHJvb3RMZWZ0ID0gYm94LT5yb290KCktPmxvZ2ljYWxMZWZ0KCk7Ci0gICAgaW50IHJvb3RSaWdo
dCA9IHJvb3RMZWZ0ICsgYm94LT5yb290KCktPmxvZ2ljYWxXaWR0aCgpOworICAgIGxlZnQgPSBy
b3VuZGYobGVmdCk7CisKKyAgICBmbG9hdCByb290TGVmdCA9IGJveC0+cm9vdCgpLT5sb2dpY2Fs
TGVmdCgpOworICAgIGZsb2F0IHJvb3RSaWdodCA9IGJveC0+cm9vdCgpLT5sb2dpY2FsUmlnaHQo
KTsKKwogICAgIC8vIEZJWE1FOiBzaG91bGQgd2UgdXNlIHRoZSB3aWR0aCBvZiB0aGUgcm9vdCBp
bmxpbmUgYm94IG9yIHRoZQogICAgIC8vIHdpZHRoIG9mIHRoZSBjb250YWluaW5nIGJsb2NrIGZv
ciB0aGlzPwogICAgIGlmIChleHRyYVdpZHRoVG9FbmRPZkxpbmUpCkBAIC01MjIsMTQgKzUyNiwx
NCBAQCBJbnRSZWN0IFJlbmRlclRleHQ6OmxvY2FsQ2FyZXRSZWN0KElubGluCiAKICAgICBSZW5k
ZXJCbG9jayogY2IgPSBjb250YWluaW5nQmxvY2soKTsKICAgICBSZW5kZXJTdHlsZSogY2JTdHls
ZSA9IGNiLT5zdHlsZSgpOwotICAgIGludCBsZWZ0RWRnZTsKLSAgICBpbnQgcmlnaHRFZGdlOwor
ICAgIGZsb2F0IGxlZnRFZGdlOworICAgIGZsb2F0IHJpZ2h0RWRnZTsKICAgICBpZiAoc3R5bGUo
KS0+YXV0b1dyYXAoKSkgewogICAgICAgICBsZWZ0RWRnZSA9IGNiLT5sb2dpY2FsTGVmdCgpOwog
ICAgICAgICByaWdodEVkZ2UgPSBjYi0+bG9naWNhbFJpZ2h0KCk7CiAgICAgfSBlbHNlIHsKLSAg
ICAgICAgbGVmdEVkZ2UgPSBtaW4oY2ItPmxvZ2ljYWxMZWZ0KCksIHJvb3RMZWZ0KTsKLSAgICAg
ICAgcmlnaHRFZGdlID0gbWF4KGNiLT5sb2dpY2FsUmlnaHQoKSwgcm9vdFJpZ2h0KTsKKyAgICAg
ICAgbGVmdEVkZ2UgPSBtaW4oc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNiLT5sb2dpY2FsTGVmdCgpKSwg
cm9vdExlZnQpOworICAgICAgICByaWdodEVkZ2UgPSBtYXgoc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNi
LT5sb2dpY2FsUmlnaHQoKSksIHJvb3RSaWdodCk7CiAgICAgfQogCiAgICAgYm9vbCByaWdodEFs
aWduZWQgPSBmYWxzZTsKQEAgLTU2MCw3ICs1NjQsNyBAQCBJbnRSZWN0IFJlbmRlclRleHQ6Omxv
Y2FsQ2FyZXRSZWN0KElubGluCiAgICAgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkgPyBJbnRSZWN0KGxlZnQsIHRvcCwgY2FyZXRXaWR0aCwgaGVpZ2h0KSA6IEludFJl
Y3QodG9wLCBsZWZ0LCBoZWlnaHQsIGNhcmV0V2lkdGgpOwogfQogCi1BTFdBWVNfSU5MSU5FIGlu
dCBSZW5kZXJUZXh0Ojp3aWR0aEZyb21DYWNoZShjb25zdCBGb250JiBmLCBpbnQgc3RhcnQsIGlu
dCBsZW4sIGludCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNr
Rm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CitBTFdBWVNfSU5MSU5F
IGZsb2F0IFJlbmRlclRleHQ6OndpZHRoRnJvbUNhY2hlKGNvbnN0IEZvbnQmIGYsIGludCBzdGFy
dCwgaW50IGxlbiwgZmxvYXQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBm
YWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAogewogICAg
IGlmIChzdHlsZSgpLT5oYXNUZXh0Q29tYmluZSgpKSB7CiAgICAgICAgIGNvbnN0IFJlbmRlckNv
bWJpbmVUZXh0KiBjb21iaW5lVGV4dCA9IHRvUmVuZGVyQ29tYmluZVRleHQodGhpcyk7CkBAIC01
NjksOSArNTczLDkgQEAgQUxXQVlTX0lOTElORSBpbnQgUmVuZGVyVGV4dDo6d2lkdGhGcm9tQwog
ICAgIH0KIAogICAgIGlmIChmLmlzRml4ZWRQaXRjaCgpICYmICFmLmlzU21hbGxDYXBzKCkgJiYg
bV9pc0FsbEFTQ0lJKSB7Ci0gICAgICAgIGludCBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aCA9IGYu
c3BhY2VXaWR0aCgpOwotICAgICAgICBpbnQgdGFiV2lkdGggPSBhbGxvd1RhYnMoKSA/IG1vbm9z
cGFjZUNoYXJhY3RlcldpZHRoICogOCA6IDA7Ci0gICAgICAgIGludCB3ID0gMDsKKyAgICAgICAg
ZmxvYXQgbW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGggPSBmLnNwYWNlV2lkdGgoKTsKKyAgICAgICAg
ZmxvYXQgdGFiV2lkdGggPSBhbGxvd1RhYnMoKSA/IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoICog
OCA6IDA7CisgICAgICAgIGZsb2F0IHcgPSAwOwogICAgICAgICBib29sIGlzU3BhY2U7CiAgICAg
ICAgIGJvb2wgcHJldmlvdXNDaGFyV2FzU3BhY2UgPSB0cnVlOyAvLyBGSVhNRTogUHJlc2VydmVz
IGhpc3RvcmljYWwgYmVoYXZpb3IsIGJ1dCBzZWVtcyB3cm9uZyBmb3Igc3RhcnQgPiAwLgogICAg
ICAgICBBU1NFUlQobV90ZXh0KTsKQEAgLTU4Myw3ICs1ODcsNyBAQCBBTFdBWVNfSU5MSU5FIGlu
dCBSZW5kZXJUZXh0Ojp3aWR0aEZyb21DCiAgICAgICAgICAgICAgICAgICAgIHcgKz0gbW9ub3Nw
YWNlQ2hhcmFjdGVyV2lkdGg7CiAgICAgICAgICAgICAgICAgICAgIGlzU3BhY2UgPSB0cnVlOwog
ICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoYyA9PSAnXHQnKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHcgKz0gdGFiV2lkdGggPyB0YWJXaWR0aCAtICgoeFBvcyArIHcpICUgdGFiV2lkdGgpIDog
bW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGg7CisgICAgICAgICAgICAgICAgICAgIHcgKz0gdGFiV2lk
dGggPyB0YWJXaWR0aCAtIGZtb2RmKHhQb3MgKyB3LCB0YWJXaWR0aCkgOiBtb25vc3BhY2VDaGFy
YWN0ZXJXaWR0aDsKICAgICAgICAgICAgICAgICAgICAgaXNTcGFjZSA9IHRydWU7CiAgICAgICAg
ICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGlzU3BhY2UgPSBmYWxzZTsKQEAg
LTYwMSwxMiArNjA1LDEyIEBAIEFMV0FZU19JTkxJTkUgaW50IFJlbmRlclRleHQ6OndpZHRoRnJv
bUMKICAgICByZXR1cm4gZi53aWR0aChUZXh0UnVuKHRleHQoKS0+Y2hhcmFjdGVycygpICsgc3Rh
cnQsIGxlbiwgYWxsb3dUYWJzKCksIHhQb3MpLCBmYWxsYmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93
KTsKIH0KIAotdm9pZCBSZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldpZHRocyhpbnQgbGVhZFdpZHRo
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGJlZ2luTWluVywgYm9v
bCYgYmVnaW5XUywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBlbmRN
aW5XLCBib29sJiBlbmRXUywKK3ZvaWQgUmVuZGVyVGV4dDo6dHJpbW1lZFByZWZXaWR0aHMoZmxv
YXQgbGVhZFdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYg
YmVnaW5NaW5XLCBib29sJiBiZWdpbldTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmbG9hdCYgZW5kTWluVywgYm9vbCYgZW5kV1MsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb2wmIGhhc0JyZWFrYWJsZUNoYXIsIGJvb2wmIGhhc0JyZWFrLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGJlZ2luTWF4VywgaW50JiBlbmRN
YXhXLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIG1pblcsIGludCYg
bWF4VywgYm9vbCYgc3RyaXBGcm9udFNwYWNlcykKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZmxvYXQmIGJlZ2luTWF4VywgZmxvYXQmIGVuZE1heFcsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBtaW5XLCBmbG9hdCYgbWF4VywgYm9vbCYgc3Ry
aXBGcm9udFNwYWNlcykKIHsKICAgICBib29sIGNvbGxhcHNlV2hpdGVTcGFjZSA9IHN0eWxlKCkt
PmNvbGxhcHNlV2hpdGVTcGFjZSgpOwogICAgIGlmICghY29sbGFwc2VXaGl0ZVNwYWNlKQpAQCAt
NjQ2LDcgKzY1MCw3IEBAIHZvaWQgUmVuZGVyVGV4dDo6dHJpbW1lZFByZWZXaWR0aHMoaW50IGwK
ICAgICAgICAgY29uc3QgRm9udCYgZiA9IHN0eWxlKCktPmZvbnQoKTsgLy8gRklYTUU6IFRoaXMg
aWdub3JlcyBmaXJzdC1saW5lLgogICAgICAgICBpZiAoc3RyaXBGcm9udFNwYWNlcykgewogICAg
ICAgICAgICAgY29uc3QgVUNoYXIgc3BhY2UgPSAnICc7Ci0gICAgICAgICAgICBpbnQgc3BhY2VX
aWR0aCA9IGYud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKTsKKyAgICAgICAgICAgIGZsb2F0IHNw
YWNlV2lkdGggPSBmLndpZHRoKFRleHRSdW4oJnNwYWNlLCAxKSk7CiAgICAgICAgICAgICBtYXhX
IC09IHNwYWNlV2lkdGg7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgbWF4VyArPSBmLndv
cmRTcGFjaW5nKCk7CkBAIC02OTUsNyArNjk5LDcgQEAgc3RhdGljIGlubGluZSBib29sIGlzU3Bh
Y2VBY2NvcmRpbmdUb1N0eQogICAgIHJldHVybiBjID09ICcgJyB8fCAoYyA9PSBub0JyZWFrU3Bh
Y2UgJiYgc3R5bGUtPm5ic3BNb2RlKCkgPT0gU1BBQ0UpOwogfQogCi1pbnQgUmVuZGVyVGV4dDo6
bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29uc3QKK2Zsb2F0IFJlbmRlclRleHQ6Om1pbkxv
Z2ljYWxXaWR0aCgpIGNvbnN0CiB7CiAgICAgaWYgKHByZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0
eSgpKQogICAgICAgICBjb25zdF9jYXN0PFJlbmRlclRleHQqPih0aGlzKS0+Y29tcHV0ZVByZWZl
cnJlZExvZ2ljYWxXaWR0aHMoMCk7CkBAIC03MDMsNyArNzA3LDcgQEAgaW50IFJlbmRlclRleHQ6
Om1pblByZWZlcnJlZExvZ2ljYWxXaWR0aAogICAgIHJldHVybiBtX21pbldpZHRoOwogfQogCi1p
bnQgUmVuZGVyVGV4dDo6bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29uc3QKK2Zsb2F0IFJl
bmRlclRleHQ6Om1heExvZ2ljYWxXaWR0aCgpIGNvbnN0CiB7CiAgICAgaWYgKHByZWZlcnJlZExv
Z2ljYWxXaWR0aHNEaXJ0eSgpKQogICAgICAgICBjb25zdF9jYXN0PFJlbmRlclRleHQqPih0aGlz
KS0+Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoMCk7CkBAIC03MTEsNyArNzE1LDcgQEAg
aW50IFJlbmRlclRleHQ6Om1heFByZWZlcnJlZExvZ2ljYWxXaWR0aAogICAgIHJldHVybiBtX21h
eFdpZHRoOwogfQogCi12b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lk
dGhzKGludCBsZWFkV2lkdGgpCit2b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCkKIHsKICAgICBIYXNoU2V0PGNvbnN0IFNpbXBsZUZv
bnREYXRhKj4gZmFsbGJhY2tGb250czsKICAgICBHbHlwaE92ZXJmbG93IGdseXBoT3ZlcmZsb3c7
CkBAIC03MjAsNyArNzI0LDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9n
aWNhbAogICAgICAgICBtX2tub3duVG9IYXZlTm9PdmVyZmxvd0FuZE5vRmFsbGJhY2tGb250cyA9
IHRydWU7CiB9CiAKLXZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0
aHMoaW50IGxlYWRXaWR0aCwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxsYmFj
a0ZvbnRzLCBHbHlwaE92ZXJmbG93JiBnbHlwaE92ZXJmbG93KQordm9pZCBSZW5kZXJUZXh0Ojpj
b21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhmbG9hdCBsZWFkV2lkdGgsIEhhc2hTZXQ8Y29u
c3QgU2ltcGxlRm9udERhdGEqPiYgZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyYgZ2x5cGhP
dmVyZmxvdykKIHsKICAgICBBU1NFUlQobV9oYXNUYWIgfHwgcHJlZmVycmVkTG9naWNhbFdpZHRo
c0RpcnR5KCkgfHwgIW1fa25vd25Ub0hhdmVOb092ZXJmbG93QW5kTm9GYWxsYmFja0ZvbnRzKTsK
IApAQCAtNzMyLDggKzczNiw4IEBAIHZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExv
Z2ljYWwKICAgICBpZiAoaXNCUigpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpbnQgY3Vyck1p
bldpZHRoID0gMDsKLSAgICBpbnQgY3Vyck1heFdpZHRoID0gMDsKKyAgICBmbG9hdCBjdXJyTWlu
V2lkdGggPSAwOworICAgIGZsb2F0IGN1cnJNYXhXaWR0aCA9IDA7CiAgICAgbV9oYXNCcmVha2Fi
bGVDaGFyID0gZmFsc2U7CiAgICAgbV9oYXNCcmVhayA9IGZhbHNlOwogICAgIG1faGFzVGFiID0g
ZmFsc2U7CkBAIC03NDEsNyArNzQ1LDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVy
cmVkTG9naWNhbAogICAgIG1faGFzRW5kV1MgPSBmYWxzZTsKIAogICAgIGNvbnN0IEZvbnQmIGYg
PSBzdHlsZSgpLT5mb250KCk7IC8vIEZJWE1FOiBUaGlzIGlnbm9yZXMgZmlyc3QtbGluZS4KLSAg
ICBpbnQgd29yZFNwYWNpbmcgPSBzdHlsZSgpLT53b3JkU3BhY2luZygpOworICAgIGZsb2F0IHdv
cmRTcGFjaW5nID0gc3R5bGUoKS0+d29yZFNwYWNpbmcoKTsKICAgICBpbnQgbGVuID0gdGV4dExl
bmd0aCgpOwogICAgIGNvbnN0IFVDaGFyKiB0eHQgPSBjaGFyYWN0ZXJzKCk7CiAgICAgYm9vbCBu
ZWVkc1dvcmRTcGFjaW5nID0gZmFsc2U7CkBAIC04MjEsNyArODI1LDcgQEAgdm9pZCBSZW5kZXJU
ZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbAogCiAgICAgICAgIGludCB3b3JkTGVuID0gaiAt
IGk7CiAgICAgICAgIGlmICh3b3JkTGVuKSB7Ci0gICAgICAgICAgICBpbnQgdyA9IHdpZHRoRnJv
bUNhY2hlKGYsIGksIHdvcmRMZW4sIGxlYWRXaWR0aCArIGN1cnJNYXhXaWR0aCwgJmZhbGxiYWNr
Rm9udHMsICZnbHlwaE92ZXJmbG93KTsKKyAgICAgICAgICAgIGZsb2F0IHcgPSB3aWR0aEZyb21D
YWNoZShmLCBpLCB3b3JkTGVuLCBsZWFkV2lkdGggKyBjdXJyTWF4V2lkdGgsICZmYWxsYmFja0Zv
bnRzLCAmZ2x5cGhPdmVyZmxvdyk7CiAgICAgICAgICAgICBpZiAoZmlyc3RHbHlwaExlZnRPdmVy
ZmxvdyA8IDApCiAgICAgICAgICAgICAgICAgZmlyc3RHbHlwaExlZnRPdmVyZmxvdyA9IGdseXBo
T3ZlcmZsb3cubGVmdDsKICAgICAgICAgICAgIGN1cnJNaW5XaWR0aCArPSB3OwpAQCAtOTMzLDE3
ICs5MzcsMTcgQEAgYm9vbCBSZW5kZXJUZXh0Ojpjb250YWluc09ubHlXaGl0ZXNwYWNlKAogICAg
IHJldHVybiBjdXJyUG9zID49IChmcm9tICsgbGVuKTsKIH0KIAotSW50UG9pbnQgUmVuZGVyVGV4
dDo6Zmlyc3RSdW5PcmlnaW4oKSBjb25zdAorRmxvYXRQb2ludCBSZW5kZXJUZXh0OjpmaXJzdFJ1
bk9yaWdpbigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIEludFBvaW50KGZpcnN0UnVuWCgpLCBmaXJz
dFJ1blkoKSk7CiB9CiAKLWludCBSZW5kZXJUZXh0OjpmaXJzdFJ1blgoKSBjb25zdAorZmxvYXQg
UmVuZGVyVGV4dDo6Zmlyc3RSdW5YKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9maXJzdFRleHRC
b3ggPyBtX2ZpcnN0VGV4dEJveC0+bV94IDogMDsKIH0KIAotaW50IFJlbmRlclRleHQ6OmZpcnN0
UnVuWSgpIGNvbnN0CitmbG9hdCBSZW5kZXJUZXh0OjpmaXJzdFJ1blkoKSBjb25zdAogewogICAg
IHJldHVybiBtX2ZpcnN0VGV4dEJveCA/IG1fZmlyc3RUZXh0Qm94LT5tX3kgOiAwOwogfQpAQCAt
MTIyMyw3ICsxMjI3LDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpwb3NpdGlvbkxpbmVCb3goSW5saW5l
QgogICAgIG1fY29udGFpbnNSZXZlcnNlZFRleHQgfD0gIXMtPmlzTGVmdFRvUmlnaHREaXJlY3Rp
b24oKTsKIH0KIAotdW5zaWduZWQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwgdW5z
aWduZWQgbGVuLCBpbnQgeFBvcywgYm9vbCBmaXJzdExpbmUsIEhhc2hTZXQ8Y29uc3QgU2ltcGxl
Rm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykg
Y29uc3QKK2Zsb2F0IFJlbmRlclRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxl
biwgZmxvYXQgeFBvcywgYm9vbCBmaXJzdExpbmUsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERh
dGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QK
IHsKICAgICBpZiAoZnJvbSA+PSB0ZXh0TGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiAwOwpAQCAt
MTIzNCwxMyArMTIzOCwxMyBAQCB1bnNpZ25lZCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBm
cm9tCiAgICAgcmV0dXJuIHdpZHRoKGZyb20sIGxlbiwgc3R5bGUoZmlyc3RMaW5lKS0+Zm9udCgp
LCB4UG9zLCBmYWxsYmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93KTsKIH0KIAotdW5zaWduZWQgUmVu
ZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBm
LCBpbnQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRz
LCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6
d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmLCBmbG9hdCB4
UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBo
T3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGZyb20gKyBsZW4g
PD0gdGV4dExlbmd0aCgpKTsKICAgICBpZiAoIWNoYXJhY3RlcnMoKSkKICAgICAgICAgcmV0dXJu
IDA7CiAKLSAgICBpbnQgdzsKKyAgICBmbG9hdCB3OwogICAgIGlmICgmZiA9PSAmc3R5bGUoKS0+
Zm9udCgpKSB7CiAgICAgICAgIGlmICghc3R5bGUoKS0+cHJlc2VydmVOZXdsaW5lKCkgJiYgIWZy
b20gJiYgbGVuID09IHRleHRMZW5ndGgoKSkgewogICAgICAgICAgICAgaWYgKGZhbGxiYWNrRm9u
dHMpIHsKQEAgLTEyNTIsNyArMTI1Niw3IEBAIHVuc2lnbmVkIFJlbmRlclRleHQ6OndpZHRoKHVu
c2lnbmVkIGZyb20KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgdyA9IG1fbWF4
V2lkdGg7CiAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB3ID0gbWF4UHJlZmVy
cmVkTG9naWNhbFdpZHRoKCk7CisgICAgICAgICAgICAgICAgdyA9IG1heExvZ2ljYWxXaWR0aCgp
OwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHcgPSB3aWR0aEZyb21DYWNoZShmLCBmcm9t
LCBsZW4sIHhQb3MsIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogICAgIH0gZWxzZQpA
QCAtMTI2OCw4ICsxMjcyLDggQEAgSW50UmVjdCBSZW5kZXJUZXh0OjpsaW5lc0JvdW5kaW5nQm94
KCkgYwogICAgIEFTU0VSVCghZmlyc3RUZXh0Qm94KCkgPT0gIWxhc3RUZXh0Qm94KCkpOyAgLy8g
RWl0aGVyIGJvdGggYXJlIG51bGwgb3IgYm90aCBleGlzdC4KICAgICBpZiAoZmlyc3RUZXh0Qm94
KCkgJiYgbGFzdFRleHRCb3goKSkgewogICAgICAgICAvLyBSZXR1cm4gdGhlIHdpZHRoIG9mIHRo
ZSBtaW5pbWFsIGxlZnQgc2lkZSBhbmQgdGhlIG1heGltYWwgcmlnaHQgc2lkZS4KLSAgICAgICAg
aW50IGxvZ2ljYWxMZWZ0U2lkZSA9IDA7Ci0gICAgICAgIGludCBsb2dpY2FsUmlnaHRTaWRlID0g
MDsKKyAgICAgICAgZmxvYXQgbG9naWNhbExlZnRTaWRlID0gMDsKKyAgICAgICAgZmxvYXQgbG9n
aWNhbFJpZ2h0U2lkZSA9IDA7CiAgICAgICAgIGZvciAoSW5saW5lVGV4dEJveCogY3VyciA9IGZp
cnN0VGV4dEJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dFRleHRCb3goKSkgewogICAgICAg
ICAgICAgaWYgKGN1cnIgPT0gZmlyc3RUZXh0Qm94KCkgfHwgY3Vyci0+bG9naWNhbExlZnQoKSA8
IGxvZ2ljYWxMZWZ0U2lkZSkKICAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBjdXJy
LT5sb2dpY2FsTGVmdCgpOwpAQCAtMTI3OSwxMSArMTI4MywxMSBAQCBJbnRSZWN0IFJlbmRlclRl
eHQ6OmxpbmVzQm91bmRpbmdCb3goKSBjCiAgICAgICAgIAogICAgICAgICBib29sIGlzSG9yaXpv
bnRhbCA9IHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CiAgICAgICAgIAotICAg
ICAgICBpbnQgeCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxMZWZ0U2lkZSA6IGZpcnN0VGV4dEJv
eCgpLT54KCk7Ci0gICAgICAgIGludCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RUZXh0Qm94KCkt
PnkoKSA6IGxvZ2ljYWxMZWZ0U2lkZTsKLSAgICAgICAgaW50IHdpZHRoID0gaXNIb3Jpem9udGFs
ID8gbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZSA6IGxhc3RUZXh0Qm94KCktPmxv
Z2ljYWxCb3R0b20oKSAtIHg7Ci0gICAgICAgIGludCBoZWlnaHQgPSBpc0hvcml6b250YWwgPyBs
YXN0VGV4dEJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB5IDogbG9naWNhbFJpZ2h0U2lkZSAtIGxv
Z2ljYWxMZWZ0U2lkZTsKLSAgICAgICAgcmVzdWx0ID0gSW50UmVjdCh4LCB5LCB3aWR0aCwgaGVp
Z2h0KTsKKyAgICAgICAgZmxvYXQgeCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxMZWZ0U2lkZSA6
IGZpcnN0VGV4dEJveCgpLT54KCk7CisgICAgICAgIGZsb2F0IHkgPSBpc0hvcml6b250YWwgPyBm
aXJzdFRleHRCb3goKS0+eSgpIDogbG9naWNhbExlZnRTaWRlOworICAgICAgICBmbG9hdCB3aWR0
aCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBs
YXN0VGV4dEJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB4OworICAgICAgICBmbG9hdCBoZWlnaHQg
PSBpc0hvcml6b250YWwgPyBsYXN0VGV4dEJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB5IDogbG9n
aWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICAgICAgcmVzdWx0ID0gZW5jbG9z
aW5nSW50UmVjdChGbG9hdFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCkpOwogICAgIH0KIAogICAg
IHJldHVybiByZXN1bHQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJ
KHJldmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQu
aAkod29ya2luZyBjb3B5KQpAQCAtNzEsMjQgKzcxLDI0IEBAIHB1YmxpYzoKICAgICB1bnNpZ25l
ZCB0ZXh0TGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV90ZXh0Lmxlbmd0aCgpOyB9IC8vIG5vbiB2
aXJ0dWFsIGltcGxlbWVudGF0aW9uIG9mIGxlbmd0aCgpCiAgICAgdm9pZCBwb3NpdGlvbkxpbmVC
b3goSW5saW5lQm94Kik7CiAKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVkIGZy
b20sIHVuc2lnbmVkIGxlbiwgY29uc3QgRm9udCYsIGludCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNp
bXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNv
bnN0OwotICAgIHZpcnR1YWwgdW5zaWduZWQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQg
bGVuLCBpbnQgeFBvcywgYm9vbCBmaXJzdExpbmUgPSBmYWxzZSwgSGFzaFNldDxjb25zdCBTaW1w
bGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25z
dDsKKyAgICB2aXJ0dWFsIGZsb2F0IHdpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwg
Y29uc3QgRm9udCYsIGZsb2F0IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiog
ZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgdmlydHVh
bCBmbG9hdCB3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGZsb2F0IHhQb3MsIGJv
b2wgZmlyc3RMaW5lID0gZmFsc2UsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFs
bGJhY2tGb250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFs
IGludCBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBt
YXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25zdDsKKyAgICBmbG9hdCBtaW5Mb2dpY2FsV2lk
dGgoKSBjb25zdDsKKyAgICBmbG9hdCBtYXhMb2dpY2FsV2lkdGgoKSBjb25zdDsKIAotICAgIHZv
aWQgdHJpbW1lZFByZWZXaWR0aHMoaW50IGxlYWRXaWR0aCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCYgYmVnaW5NaW5XLCBib29sJiBiZWdpbldTLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50JiBlbmRNaW5XLCBib29sJiBlbmRXUywKKyAgICB2b2lkIHRyaW1tZWRQcmVm
V2lkdGhzKGZsb2F0IGxlYWRXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0
JiBiZWdpbk1pblcsIGJvb2wmIGJlZ2luV1MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBm
bG9hdCYgZW5kTWluVywgYm9vbCYgZW5kV1MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
b29sJiBoYXNCcmVha2FibGVDaGFyLCBib29sJiBoYXNCcmVhaywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCYgYmVnaW5NYXhXLCBpbnQmIGVuZE1heFcsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQmIG1pblcsIGludCYgbWF4VywgYm9vbCYgc3RyaXBGcm9udFNwYWNlcyk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYgYmVnaW5NYXhXLCBmbG9hdCYgZW5k
TWF4VywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBtaW5XLCBmbG9hdCYgbWF4
VywgYm9vbCYgc3RyaXBGcm9udFNwYWNlcyk7CiAKICAgICB2aXJ0dWFsIEludFJlY3QgbGluZXNC
b3VuZGluZ0JveCgpIGNvbnN0OwogCi0gICAgSW50UG9pbnQgZmlyc3RSdW5PcmlnaW4oKSBjb25z
dDsKLSAgICBpbnQgZmlyc3RSdW5YKCkgY29uc3Q7Ci0gICAgaW50IGZpcnN0UnVuWSgpIGNvbnN0
OworICAgIEZsb2F0UG9pbnQgZmlyc3RSdW5PcmlnaW4oKSBjb25zdDsKKyAgICBmbG9hdCBmaXJz
dFJ1blgoKSBjb25zdDsKKyAgICBmbG9hdCBmaXJzdFJ1blkoKSBjb25zdDsKIAogICAgIHZvaWQg
c2V0VGV4dChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+LCBib29sIGZvcmNlID0gZmFsc2UpOwogICAg
IHZvaWQgc2V0VGV4dFdpdGhPZmZzZXQoUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiwgdW5zaWduZWQg
b2Zmc2V0LCB1bnNpZ25lZCBsZW4sIGJvb2wgZm9yY2UgPSBmYWxzZSk7CkBAIC0xMjIsNyArMTIy
LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjaGVja0NvbnNpc3RlbmN5KCkgY29uc3Q7CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRXaWR0
aCk7CisgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0
IGxlYWRXaWR0aCk7CiAgICAgYm9vbCBpc0FsbENvbGxhcHNpYmxlV2hpdGVzcGFjZSgpOwogICAg
IAogcHJvdGVjdGVkOgpAQCAtMTM1LDcgKzEzNSw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFs
IElubGluZVRleHRCb3gqIGNyZWF0ZVRleHRCb3goKTsgLy8gU3ViY2xhc3NlZCBieSBTVkcuCiAK
IHByaXZhdGU6Ci0gICAgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhpbnQgbGVh
ZFdpZHRoLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4mIGZhbGxiYWNrRm9udHMsIEds
eXBoT3ZlcmZsb3cmKTsKKyAgICB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZs
b2F0IGxlYWRXaWR0aCwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxsYmFja0Zv
bnRzLCBHbHlwaE92ZXJmbG93Jik7CiAKICAgICAvLyBNYWtlIGxlbmd0aCgpIHByaXZhdGUgc28g
dGhhdCBjYWxsZXJzIHRoYXQgaGF2ZSBhIFJlbmRlclRleHQqCiAgICAgLy8gd2lsbCB1c2UgdGhl
IG1vcmUgZWZmaWNpZW50IHRleHRMZW5ndGgoKSBpbnN0ZWFkLCB3aGlsZQpAQCAtMTQ4LDIyICsx
NDgsMjIgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZGVsZXRlVGV4dEJveGVzKCk7CiAgICAgYm9v
bCBjb250YWluc09ubHlXaGl0ZXNwYWNlKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbikgY29u
c3Q7Ci0gICAgaW50IHdpZHRoRnJvbUNhY2hlKGNvbnN0IEZvbnQmLCBpbnQgc3RhcnQsIGludCBs
ZW4sIGludCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9u
dHMsIEdseXBoT3ZlcmZsb3cqKSBjb25zdDsKKyAgICBmbG9hdCB3aWR0aEZyb21DYWNoZShjb25z
dCBGb250JiwgaW50IHN0YXJ0LCBpbnQgbGVuLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNp
bXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqKSBjb25zdDsKICAg
ICBib29sIGlzQWxsQVNDSUkoKSBjb25zdCB7IHJldHVybiBtX2lzQWxsQVNDSUk7IH0KICAgICB2
b2lkIHVwZGF0ZU5lZWRzVHJhbnNjb2RpbmcoKTsKIAogICAgIGlubGluZSB2b2lkIHRyYW5zZm9y
bVRleHQoU3RyaW5nJikgY29uc3Q7CiAKLSAgICBpbnQgbV9taW5XaWR0aDsgLy8gaGVyZSB0byBt
aW5pbWl6ZSBwYWRkaW5nIGluIDY0LWJpdC4KKyAgICBmbG9hdCBtX21pbldpZHRoOyAvLyBoZXJl
IHRvIG1pbmltaXplIHBhZGRpbmcgaW4gNjQtYml0LgogCiAgICAgU3RyaW5nIG1fdGV4dDsKIAog
ICAgIElubGluZVRleHRCb3gqIG1fZmlyc3RUZXh0Qm94OwogICAgIElubGluZVRleHRCb3gqIG1f
bGFzdFRleHRCb3g7CiAKLSAgICBpbnQgbV9tYXhXaWR0aDsKLSAgICBpbnQgbV9iZWdpbk1pbldp
ZHRoOwotICAgIGludCBtX2VuZE1pbldpZHRoOworICAgIGZsb2F0IG1fbWF4V2lkdGg7CisgICAg
ZmxvYXQgbV9iZWdpbk1pbldpZHRoOworICAgIGZsb2F0IG1fZW5kTWluV2lkdGg7CiAKICAgICBi
b29sIG1faGFzQnJlYWthYmxlQ2hhciA6IDE7IC8vIFdoZXRoZXIgb3Igbm90IHdlIGNhbiBiZSBi
cm9rZW4gaW50byBtdWx0aXBsZSBsaW5lcy4KICAgICBib29sIG1faGFzQnJlYWsgOiAxOyAvLyBX
aGV0aGVyIG9yIG5vdCB3ZSBoYXZlIGEgaGFyZCBicmVhayAoZS5nLiwgPHByZT4gd2l0aCAnXG4n
KS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9s
LmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGV4dENvbnRyb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDQsNyArNTQ0LDcgQEAgZmxvYXQg
UmVuZGVyVGV4dENvbnRyb2w6OmdldEF2Z0NoYXJXaWR0aAogICAgICAgICByZXR1cm4gcm91bmRm
KHN0eWxlKCktPmZvbnQoKS5wcmltYXJ5Rm9udCgpLT5hdmdDaGFyV2lkdGgoKSk7CiAKICAgICBj
b25zdCBVQ2hhciBjaCA9ICcwJzsgCi0gICAgcmV0dXJuIHN0eWxlKCktPmZvbnQoKS5mbG9hdFdp
ZHRoKFRleHRSdW4oJmNoLCAxLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4
cGFuc2lvbiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkpOworICAgIHJldHVybiBzdHlsZSgpLT5mb250
KCkud2lkdGgoVGV4dFJ1bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWls
aW5nRXhwYW5zaW9uLCBmYWxzZSkpOwogfQogCiBmbG9hdCBSZW5kZXJUZXh0Q29udHJvbDo6c2Nh
bGVFbVRvVW5pdHMoaW50IHgpIGNvbnN0CkBAIC02MzksNyArNjM5LDcgQEAgdm9pZCBSZW5kZXJU
ZXh0Q29udHJvbDo6cGFpbnRQbGFjZWhvbGRlcgogICAgIHBhaW50SW5mby5jb250ZXh0LT5zZXRG
aWxsQ29sb3IocGxhY2Vob2xkZXJTdHlsZS0+dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3Bl
cnR5Q29sb3IpLCBwbGFjZWhvbGRlclN0eWxlLT5jb2xvclNwYWNlKCkpOwogICAgIAogICAgIFN0
cmluZyBwbGFjZWhvbGRlclRleHQgPSBzdGF0aWNfY2FzdDxIVE1MVGV4dEZvcm1Db250cm9sRWxl
bWVudCo+KG5vZGUoKSktPnN0cmlwcGVkUGxhY2Vob2xkZXIoKTsKLSAgICBUZXh0UnVuIHRleHRS
dW4ocGxhY2Vob2xkZXJUZXh0LmNoYXJhY3RlcnMoKSwgcGxhY2Vob2xkZXJUZXh0Lmxlbmd0aCgp
LCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIXBsYWNlaG9s
ZGVyU3R5bGUtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgcGxhY2Vob2xkZXJTdHlsZS0+dW5p
Y29kZUJpZGkoKSA9PSBPdmVycmlkZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBUZXh0UnVuIHRleHRS
dW4ocGxhY2Vob2xkZXJUZXh0LmNoYXJhY3RlcnMoKSwgcGxhY2Vob2xkZXJUZXh0Lmxlbmd0aCgp
LCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIXBsYWNlaG9s
ZGVyU3R5bGUtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgcGxhY2Vob2xkZXJTdHlsZS0+dW5p
Y29kZUJpZGkoKSA9PSBPdmVycmlkZSk7CiAgICAgCiAgICAgUmVuZGVyQm94KiB0ZXh0UmVuZGVy
ZXIgPSBpbm5lclRleHRFbGVtZW50KCkgPyBpbm5lclRleHRFbGVtZW50KCktPnJlbmRlckJveCgp
IDogMDsKICAgICBpZiAodGV4dFJlbmRlcmVyKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDcwLDExICs0NzAsMTcgQEAgdm9pZCBSZW5kZXJUcmVlQXNUZXh0Ojp3cml0ZVJlbmRlck9i
amVjdAogCiBzdGF0aWMgdm9pZCB3cml0ZVRleHRSdW4oVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJl
bmRlclRleHQmIG8sIGNvbnN0IElubGluZVRleHRCb3gmIHJ1bikKIHsKLSAgICAvLyBGSVhNRTog
VGFibGUgY2VsbCBhZGp1c3RtZW50IGlzIHRlbXBvcmFyeSB1bnRpbCByZXN1bHRzIGNhbiBiZSB1
cGRhdGVkLgorICAgIC8vIEZJWE1FOiBGb3Igbm93IHVzZSBhbiAiZW5jbG9zaW5nSW50UmVjdCIg
bW9kZWwgZm9yIHgsIHkgYW5kIGxvZ2ljYWxXaWR0aCwgYWx0aG91Z2ggdGhpcyBtYWtlcyBpdCBo
YXJkZXIKKyAgICAvLyB0byBkZXRlY3QgYW55IGNoYW5nZXMgY2F1c2VkIGJ5IHRoZSBjb252ZXJz
aW9uIHRvIGZsb2F0aW5nIHBvaW50LiA6KAorICAgIGludCB4ID0gcnVuLm1feDsKICAgICBpbnQg
eSA9IHJ1bi5tX3k7CisgICAgaW50IGxvZ2ljYWxXaWR0aCA9IGNlaWxmKHJ1bi5tX3ggKyBydW4u
bV9sb2dpY2FsV2lkdGgpIC0geDsKKworICAgIC8vIEZJWE1FOiBUYWJsZSBjZWxsIGFkanVzdG1l
bnQgaXMgdGVtcG9yYXJ5IHVudGlsIHJlc3VsdHMgY2FuIGJlIHVwZGF0ZWQuCiAgICAgaWYgKG8u
Y29udGFpbmluZ0Jsb2NrKCktPmlzVGFibGVDZWxsKCkpCiAgICAgICAgIHkgLT0gdG9SZW5kZXJU
YWJsZUNlbGwoby5jb250YWluaW5nQmxvY2soKSktPmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKTsK
LSAgICB0cyA8PCAidGV4dCBydW4gYXQgKCIgPDwgcnVuLm1feCA8PCAiLCIgPDwgeSA8PCAiKSB3
aWR0aCAiIDw8IHJ1bi5tX2xvZ2ljYWxXaWR0aDsKKyAgICAgICAgCisgICAgdHMgPDwgInRleHQg
cnVuIGF0ICgiIDw8IHggPDwgIiwiIDw8IHkgPDwgIikgd2lkdGggIiA8PCBsb2dpY2FsV2lkdGg7
CiAgICAgaWYgKCFydW4uaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpIHx8IHJ1bi5tX2Rpck92ZXJy
aWRlKSB7CiAgICAgICAgIHRzIDw8ICghcnVuLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/ICIg
UlRMIiA6ICIgTFRSIik7CiAgICAgICAgIGlmIChydW4ubV9kaXJPdmVycmlkZSkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAJKHJldmlzaW9uIDc4NTcx
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC05Nyw3ICs5Nyw3IEBAIGJvb2wgUm9vdElubGluZUJveDo6Y2FuQWNjb21tb2Rh
dGVFbGxpcHMKICAgICByZXR1cm4gSW5saW5lRmxvd0JveDo6Y2FuQWNjb21tb2RhdGVFbGxpcHNp
cyhsdHIsIGJsb2NrRWRnZSwgZWxsaXBzaXNXaWR0aCk7CiB9CiAKLXZvaWQgUm9vdElubGluZUJv
eDo6cGxhY2VFbGxpcHNpcyhjb25zdCBBdG9taWNTdHJpbmcmIGVsbGlwc2lzU3RyLCAgYm9vbCBs
dHIsIGludCBibG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dp
ZHRoLAordm9pZCBSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzKGNvbnN0IEF0b21pY1N0cmlu
ZyYgZWxsaXBzaXNTdHIsICBib29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxv
Y2tSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgSW5saW5lQm94KiBtYXJrdXBCb3gpCiB7CiAgICAgLy8gQ3JlYXRlIGFuIGVs
bGlwc2lzIGJveC4KQEAgLTEyMyw5ICsxMjMsOSBAQCB2b2lkIFJvb3RJbmxpbmVCb3g6OnBsYWNl
RWxsaXBzaXMoY29uc3QgCiAgICAgZWxsaXBzaXNCb3gtPm1feCA9IHBsYWNlRWxsaXBzaXNCb3go
bHRyLCBibG9ja0xlZnRFZGdlLCBibG9ja1JpZ2h0RWRnZSwgZWxsaXBzaXNXaWR0aCwgZm91bmRC
b3gpOwogfQogCi1pbnQgUm9vdElubGluZUJveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwg
aW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgs
IGJvb2wmIGZvdW5kQm94KQorZmxvYXQgUm9vdElubGluZUJveDo6cGxhY2VFbGxpcHNpc0JveChi
b29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVkZ2UsIGZsb2F0
IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KQogewotICAgIGludCByZXN1bHQgPSBJbmxp
bmVGbG93Qm94OjpwbGFjZUVsbGlwc2lzQm94KGx0ciwgYmxvY2tMZWZ0RWRnZSwgYmxvY2tSaWdo
dEVkZ2UsIGVsbGlwc2lzV2lkdGgsIGZvdW5kQm94KTsKKyAgICBmbG9hdCByZXN1bHQgPSBJbmxp
bmVGbG93Qm94OjpwbGFjZUVsbGlwc2lzQm94KGx0ciwgYmxvY2tMZWZ0RWRnZSwgYmxvY2tSaWdo
dEVkZ2UsIGVsbGlwc2lzV2lkdGgsIGZvdW5kQm94KTsKICAgICBpZiAocmVzdWx0ID09IC0xKQog
ICAgICAgICByZXN1bHQgPSBsdHIgPyBibG9ja1JpZ2h0RWRnZSAtIGVsbGlwc2lzV2lkdGggOiBi
bG9ja0xlZnRFZGdlOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC0xOTgsMTAgKzE5OCwxMCBAQCBi
b29sIFJvb3RJbmxpbmVCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpCiAgICAgcmV0dXJuIElubGlu
ZUZsb3dCb3g6Om5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3VsdCwgeCwgeSwgdHgsIHR5KTsKIH0K
IAotdm9pZCBSb290SW5saW5lQm94OjphZGp1c3RQb3NpdGlvbihpbnQgZHgsIGludCBkeSkKK3Zv
aWQgUm9vdElubGluZUJveDo6YWRqdXN0UG9zaXRpb24oZmxvYXQgZHgsIGZsb2F0IGR5KQogewog
ICAgIElubGluZUZsb3dCb3g6OmFkanVzdFBvc2l0aW9uKGR4LCBkeSk7Ci0gICAgaW50IGJsb2Nr
RGlyZWN0aW9uRGVsdGEgPSBpc0hvcml6b250YWwoKSA/IGR5IDogZHg7CisgICAgaW50IGJsb2Nr
RGlyZWN0aW9uRGVsdGEgPSBpc0hvcml6b250YWwoKSA/IGR5IDogZHg7IC8vIFRoZSBibG9jayBk
aXJlY3Rpb24gZGVsdGEgd2lsbCBhbHdheXMgYmUgaW50ZWdyYWwuCiAgICAgbV9saW5lVG9wICs9
IGJsb2NrRGlyZWN0aW9uRGVsdGE7CiAgICAgbV9saW5lQm90dG9tICs9IGJsb2NrRGlyZWN0aW9u
RGVsdGE7CiAgICAgbV9ibG9ja0xvZ2ljYWxIZWlnaHQgKz0gYmxvY2tEaXJlY3Rpb25EZWx0YTsK
QEAgLTI4OSw3ICsyODksNyBAQCBpbnQgUm9vdElubGluZUJveDo6YmVmb3JlQW5ub3RhdGlvbnNB
ZGp1CiAKICAgICAgICAgLy8gQW5ub3RhdGlvbnMgb3ZlciB0aGlzIGxpbmUgbWF5IHB1c2ggdXMg
ZnVydGhlciBkb3duLgogICAgICAgICBpbnQgaGlnaGVzdEFsbG93ZWRQb3NpdGlvbiA9IHByZXZS
b290Qm94KCkgPyBtaW4ocHJldlJvb3RCb3goKS0+bGluZUJvdHRvbSgpLCBsaW5lVG9wKCkpICsg
cmVzdWx0IDogYmxvY2soKS0+Ym9yZGVyQmVmb3JlKCk7Ci0gICAgICAgIHJlc3VsdCA9ICBjb21w
dXRlT3ZlckFubm90YXRpb25BZGp1c3RtZW50KGhpZ2hlc3RBbGxvd2VkUG9zaXRpb24pOworICAg
ICAgICByZXN1bHQgPSBjb21wdXRlT3ZlckFubm90YXRpb25BZGp1c3RtZW50KGhpZ2hlc3RBbGxv
d2VkUG9zaXRpb24pOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIEFubm90YXRpb25zIHVuZGVy
IHRoaXMgbGluZSBtYXkgcHVzaCB1cyB1cC4KICAgICAgICAgaWYgKGhhc0Fubm90YXRpb25zQmVm
b3JlKCkpCkBAIC01NDQsMTQgKzU0NCwxNCBAQCBJbnRSZWN0IFJvb3RJbmxpbmVCb3g6OnBhZGRl
ZExheW91dE92ZXJmCiAgICAgCiAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKSB7CiAgICAgICAgIGlm
IChpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCi0gICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZs
b3cuc2hpZnRNYXhYRWRnZVRvKG1heChsaW5lTGF5b3V0T3ZlcmZsb3cubWF4WCgpLCBsb2dpY2Fs
UmlnaHQoKSArIGVuZFBhZGRpbmcpKTsKKyAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5z
aGlmdE1heFhFZGdlVG8obWF4KGxpbmVMYXlvdXRPdmVyZmxvdy5tYXhYKCksIHBpeGVsU25hcHBl
ZExvZ2ljYWxSaWdodCgpICsgZW5kUGFkZGluZykpOwogICAgICAgICBlbHNlCi0gICAgICAgICAg
ICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRYRWRnZVRvKG1pbihsaW5lTGF5b3V0T3ZlcmZsb3cu
eCgpLCBsb2dpY2FsTGVmdCgpIC0gZW5kUGFkZGluZykpOworICAgICAgICAgICAgbGluZUxheW91
dE92ZXJmbG93LnNoaWZ0WEVkZ2VUbyhtaW4obGluZUxheW91dE92ZXJmbG93LngoKSwgcGl4ZWxT
bmFwcGVkTG9naWNhbExlZnQoKSAtIGVuZFBhZGRpbmcpKTsKICAgICB9IGVsc2UgewogICAgICAg
ICBpZiAoaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQotICAgICAgICAgICAgbGluZUxheW91dE92
ZXJmbG93LnNoaWZ0TWF4WUVkZ2VUbyhtYXgobGluZUxheW91dE92ZXJmbG93Lm1heFkoKSwgbG9n
aWNhbFJpZ2h0KCkgKyBlbmRQYWRkaW5nKSk7CisgICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZs
b3cuc2hpZnRNYXhZRWRnZVRvKG1heChsaW5lTGF5b3V0T3ZlcmZsb3cubWF4WSgpLCBwaXhlbFNu
YXBwZWRMb2dpY2FsUmlnaHQoKSArIGVuZFBhZGRpbmcpKTsKICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0WUVkZ2VUbyhtaW4obGluZUxheW91dE92ZXJm
bG93LnkoKSwgbG9naWNhbFJpZ2h0KCkgLSBlbmRQYWRkaW5nKSk7CisgICAgICAgICAgICBsaW5l
TGF5b3V0T3ZlcmZsb3cuc2hpZnRZRWRnZVRvKG1pbihsaW5lTGF5b3V0T3ZlcmZsb3cueSgpLCBw
aXhlbFNuYXBwZWRMb2dpY2FsTGVmdCgpIC0gZW5kUGFkZGluZykpOwogICAgIH0KICAgICAKICAg
ICByZXR1cm4gbGluZUxheW91dE92ZXJmbG93OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1Jvb3RJbmxpbmVCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUm9vdElubGluZUJveC5oCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9Sb290SW5saW5lQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAg
cHVibGljOgogICAgIFJvb3RJbmxpbmVCb3gqIG5leHRSb290Qm94KCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8Um9vdElubGluZUJveCo+KG1fbmV4dExpbmVCb3gpOyB9CiAgICAgUm9vdElu
bGluZUJveCogcHJldlJvb3RCb3goKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxSb290SW5s
aW5lQm94Kj4obV9wcmV2TGluZUJveCk7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3Np
dGlvbihpbnQgZHgsIGludCBkeSk7CisgICAgdmlydHVhbCB2b2lkIGFkanVzdFBvc2l0aW9uKGZs
b2F0IGR4LCBmbG9hdCBkeSk7CiAKICAgICBpbnQgbGluZVRvcCgpIGNvbnN0IHsgcmV0dXJuIG1f
bGluZVRvcDsgfQogICAgIGludCBsaW5lQm90dG9tKCkgY29uc3QgeyByZXR1cm4gbV9saW5lQm90
dG9tOyB9CkBAIC03OCw4ICs3OCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNoaWxkUmVtb3ZlZChJ
bmxpbmVCb3gqIGJveCk7CiAKICAgICBib29sIGNhbkFjY29tbW9kYXRlRWxsaXBzaXMoYm9vbCBs
dHIsIGludCBibG9ja0VkZ2UsIGludCBsaW5lQm94RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgpOwot
ICAgIHZvaWQgcGxhY2VFbGxpcHNpcyhjb25zdCBBdG9taWNTdHJpbmcmIGVsbGlwc2lzU3RyLCBi
b29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlw
c2lzV2lkdGgsIElubGluZUJveCogbWFya3VwQm94ID0gMCk7Ci0gICAgdmlydHVhbCBpbnQgcGxh
Y2VFbGxpcHNpc0JveChib29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0
RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KTsKKyAgICB2b2lkIHBsYWNl
RWxsaXBzaXMoY29uc3QgQXRvbWljU3RyaW5nJiBlbGxpcHNpc1N0ciwgYm9vbCBsdHIsIGZsb2F0
IGJsb2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRo
LCBJbmxpbmVCb3gqIG1hcmt1cEJveCA9IDApOworICAgIHZpcnR1YWwgZmxvYXQgcGxhY2VFbGxp
cHNpc0JveChib29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVk
Z2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KTsKIAogICAgIEVsbGlwc2lz
Qm94KiBlbGxpcHNpc0JveCgpIGNvbnN0OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oCShyZXZpc2lvbiA3ODU3MSkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaAkod29ya2luZyBj
b3B5KQpAQCAtMzQsOCArMzQsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZW5kZXJP
YmplY3Q7CiAKIC8vIFZhbHVlcyBmb3IgdmVydGljYWwgYWxpZ25tZW50LgotY29uc3QgaW50IFBv
c2l0aW9uVG9wID0gLTB4N2ZmZmZmZmY7Ci1jb25zdCBpbnQgUG9zaXRpb25Cb3R0b20gPSAweDdm
ZmZmZmZmOwogY29uc3QgaW50IFBvc2l0aW9uVW5kZWZpbmVkID0gMHg4MDAwMDAwMDsKIAogY2xh
c3MgVmVydGljYWxQb3NpdGlvbkNhY2hlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00Nyw3ICs0Nyw3IEBAIFNWR0lubGluZVRleHRCb3g6OlNWR0lubGluZVRleHRC
b3goUmVuZGUKIHsKIH0KIAotaW50IFNWR0lubGluZVRleHRCb3g6Om9mZnNldEZvclBvc2l0aW9u
KGludCwgYm9vbCkgY29uc3QKK2ludCBTVkdJbmxpbmVUZXh0Qm94OjpvZmZzZXRGb3JQb3NpdGlv
bihmbG9hdCwgYm9vbCkgY29uc3QKIHsKICAgICAvLyBTVkcgZG9lc24ndCB1c2UgdGhlIHN0YW5k
YXJkIG9mZnNldCA8LT4gcG9zaXRpb24gc2VsZWN0aW9uIHN5c3RlbSwgYXMgaXQncyBub3Qgc3Vp
dGFibGUgZm9yIFNWR3MgY29tcGxleCBuZWVkcy4KICAgICAvLyB2ZXJ0aWNhbCB0ZXh0IHNlbGVj
dGlvbiwgaW5saW5lIGJveGVzIHNwYW5uaW5nIG11bHRpcGxlIGxpbmVzIChjb250cmFyeSB0byBI
VE1MLCBldGMuKQpAQCAtNzYsNyArNzYsNyBAQCBpbnQgU1ZHSW5saW5lVGV4dEJveDo6b2Zmc2V0
Rm9yUG9zaXRpb25JCiAgICAgcmV0dXJuIGZyYWdtZW50LnBvc2l0aW9uTGlzdE9mZnNldCAtIHN0
YXJ0KCkgKyB0ZXh0UmVuZGVyZXItPnNjYWxlZEZvbnQoKS5vZmZzZXRGb3JQb3NpdGlvbih0ZXh0
UnVuLCBwb3NpdGlvbiAqIHNjYWxpbmdGYWN0b3IsIGluY2x1ZGVQYXJ0aWFsR2x5cGhzKTsKIH0K
IAotaW50IFNWR0lubGluZVRleHRCb3g6OnBvc2l0aW9uRm9yT2Zmc2V0KGludCkgY29uc3QKK2Zs
b2F0IFNWR0lubGluZVRleHRCb3g6OnBvc2l0aW9uRm9yT2Zmc2V0KGludCkgY29uc3QKIHsKICAg
ICAvLyBTVkcgZG9lc24ndCB1c2UgdGhlIG9mZnNldCA8LT4gcG9zaXRpb24gc2VsZWN0aW9uIHN5
c3RlbS4gCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC00MTUsOSArNDE1LDYgQEAgVGV4
dFJ1biBTVkdJbmxpbmVUZXh0Qm94Ojpjb25zdHJ1Y3RUZXh0UgogICAgIHJ1bi5zZXRSZWZlcmVu
Y2luZ1JlbmRlck9iamVjdCh0ZXh0KTsKICNlbmRpZgogCi0gICAgLy8gRGlzYWJsZSBhbnkgd29y
ZC9jaGFyYWN0ZXIgcm91bmRpbmcuCi0gICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7Ci0K
ICAgICAvLyBXZSBoYW5kbGUgbGV0dGVyICYgd29yZCBzcGFjaW5nIG91cnNlbHZlcy4KICAgICBy
dW4uZGlzYWJsZVNwYWNpbmcoKTsKICAgICByZXR1cm4gcnVuOwpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmgJKHJldmlzaW9uIDc4NTcx
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmgJKHdv
cmtpbmcgY29weSkKQEAgLTQyLDggKzQyLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBpbnQg
c2VsZWN0aW9uVG9wKCkgeyByZXR1cm4gbV95OyB9CiAgICAgdmlydHVhbCBpbnQgc2VsZWN0aW9u
SGVpZ2h0KCkgeyByZXR1cm4gbV9sb2dpY2FsSGVpZ2h0OyB9Ci0gICAgdmlydHVhbCBpbnQgb2Zm
c2V0Rm9yUG9zaXRpb24oaW50IHgsIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMgPSB0cnVlKSBj
b25zdDsKLSAgICB2aXJ0dWFsIGludCBwb3NpdGlvbkZvck9mZnNldChpbnQgb2Zmc2V0KSBjb25z
dDsKKyAgICB2aXJ0dWFsIGludCBvZmZzZXRGb3JQb3NpdGlvbihmbG9hdCB4LCBib29sIGluY2x1
ZGVQYXJ0aWFsR2x5cGhzID0gdHJ1ZSkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9hdCBwb3NpdGlv
bkZvck9mZnNldChpbnQgb2Zmc2V0KSBjb25zdDsKIAogICAgIHZvaWQgcGFpbnRTZWxlY3Rpb25C
YWNrZ3JvdW5kKFBhaW50SW5mbyYpOwogICAgIHZpcnR1YWwgdm9pZCBwYWludChQYWludEluZm8m
LCBpbnQgdHgsIGludCB0eSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1JlbmRlclRyZWVBc1RleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAJKHJldmlzaW9uIDc4NTcxKQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDM1LDcgKzQzNSwxMCBAQCBzdGF0aWMgdm9pZCB3cml0ZVJlbmRlclNWR1Rl
eHRCb3goVGV4dFN0CiAgICAgaWYgKCFib3gpCiAgICAgICAgIHJldHVybjsKIAotICAgIHRzIDw8
ICIgYXQgKCIgPDwgdGV4dC54KCkgPDwgIiwiIDw8IHRleHQueSgpIDw8ICIpIHNpemUgIiA8PCBi
b3gtPmxvZ2ljYWxXaWR0aCgpIDw8ICJ4IiA8PCBib3gtPmxvZ2ljYWxIZWlnaHQoKTsKKyAgICAv
LyBGSVhNRTogRm9yIG5vdyB1c2UgYW4gaW50IGZvciBsb2dpY2FsV2lkdGgsIGFsdGhvdWdoIHRo
aXMgbWFrZXMgaXQgaGFyZGVyCisgICAgLy8gdG8gZGV0ZWN0IGFueSBjaGFuZ2VzIGNhdXNlZCBi
eSB0aGUgY29udmVyc2lvbiB0byBmbG9hdGluZyBwb2ludC4gOigKKyAgICBpbnQgbG9naWNhbFdp
ZHRoID0gY2VpbGYoYm94LT54KCkgKyBib3gtPmxvZ2ljYWxXaWR0aCgpKSAtIGJveC0+eCgpOwor
ICAgIHRzIDw8ICIgYXQgKCIgPDwgdGV4dC54KCkgPDwgIiwiIDw8IHRleHQueSgpIDw8ICIpIHNp
emUgIiA8PCBsb2dpY2FsV2lkdGggPDwgIngiIDw8IGJveC0+bG9naWNhbEhlaWdodCgpOwogICAg
IAogICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBoYWNrLCBvbmNlIHRoZSBuZXcgdGV4dCBsYXlv
dXQgZW5naW5lIGlzIGNvbXBsZXRseSBsYW5kZWQuIFdlIHdhbnQgdG8gcHJlc2VydmUgdGhlIG9s
ZCBsYXlvdXQgdGVzdCByZXN1bHRzIGZvciBub3cuCiAgICAgdHMgPDwgIiBjb250YWlucyAxIGNo
dW5rKHMpIjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJp
Y3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4
dE1ldHJpY3MuY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw4ICs0Nyw5IEBA
IFNWR1RleHRNZXRyaWNzOjpTVkdUZXh0TWV0cmljcyhSZW5kZXJTVkcKICAgICBpbnQgbGVuZ3Ro
ID0gMDsKIAogICAgIC8vIENhbGN1bGF0ZSB3aWR0aC9oZWlnaHQgdXNpbmcgdGhlIHNjYWxlZCBm
b250LCBkaXZpZGUgdGhpcyByZXN1bHQgYnkgdGhlIHNjYWxpbmdGYWN0b3IgYWZ0ZXJ3YXJkcy4K
LSAgICBtX3dpZHRoID0gc2NhbGVkRm9udC5mbG9hdFdpZHRoKHJ1biwgZXh0cmFDaGFyc0F2YWls
YWJsZSwgbGVuZ3RoLCBtX2dseXBoLm5hbWUpIC8gc2NhbGluZ0ZhY3RvcjsKKyAgICBtX3dpZHRo
ID0gc2NhbGVkRm9udC53aWR0aChydW4sIGV4dHJhQ2hhcnNBdmFpbGFibGUsIGxlbmd0aCwgbV9n
bHlwaC5uYW1lKSAvIHNjYWxpbmdGYWN0b3I7CiAgICAgbV9oZWlnaHQgPSBzY2FsZWRGb250LmZv
bnRNZXRyaWNzKCkuZmxvYXRIZWlnaHQoKSAvIHNjYWxpbmdGYWN0b3I7CisKICAgICBtX2dseXBo
LnVuaWNvZGVTdHJpbmcgPSBTdHJpbmcocnVuLmNoYXJhY3RlcnMoKSwgbGVuZ3RoKTsKICAgICBt
X2dseXBoLmlzVmFsaWQgPSB0cnVlOwogCkBAIC03OSw5ICs4MCw2IEBAIHN0YXRpYyBUZXh0UnVu
IGNvbnN0cnVjdFRleHRSdW4oUmVuZGVyU1YKICAgICBydW4uc2V0UmVmZXJlbmNpbmdSZW5kZXJP
YmplY3QodGV4dCk7CiAjZW5kaWYKIAotICAgIC8vIERpc2FibGUgYW55IHdvcmQvY2hhcmFjdGVy
IHJvdW5kaW5nLgotICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotCiAgICAgLy8gV2Ug
aGFuZGxlIGxldHRlciAmIHdvcmQgc3BhY2luZyBvdXJzZWx2ZXMuCiAgICAgcnVuLmRpc2FibGVT
cGFjaW5nKCk7CiAgICAgcmV0dXJuIHJ1bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
b250LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udC5jcHAJKHJl
dmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zNjIsNyArMzYyLDcgQEAgc3RhdGljIHZvaWQgZmxvYXRXaWR0aE1pc3NpbmdH
bHlwaENhbGxiYQogICAgIEZvbnQgZm9udChmb250RGVzY3JpcHRpb24sIDAsIDApOyAvLyBzcGFj
aW5nIGhhbmRsZWQgYnkgU1ZHIHRleHQgY29kZS4KICAgICBmb250LnVwZGF0ZShkYXRhLmZvbnQt
PmZvbnRTZWxlY3RvcigpKTsKIAotICAgIGRhdGEubGVuZ3RoICs9IGZvbnQuZmxvYXRXaWR0aChy
dW4pOworICAgIGRhdGEubGVuZ3RoICs9IGZvbnQud2lkdGgocnVuKTsKIH0KIAogCkBAIC01NzMs
OSArNTczLDkgQEAgdm9pZCBGb250OjpkcmF3VGV4dFVzaW5nU1ZHRm9udChHcmFwaGljcwogICAg
ICAgICAgICAgICAgIGZvbnQuZHJhd1RleHQoY29udGV4dCwgZmFsbGJhY2tDaGFyYWN0ZXJSdW4s
IGN1cnJlbnRQb2ludCk7CiAKICAgICAgICAgICAgICAgICBpZiAoaXNWZXJ0aWNhbFRleHQpCi0g
ICAgICAgICAgICAgICAgICAgIGN1cnJlbnRQb2ludC5tb3ZlKDAuMGYsIGZvbnQuZmxvYXRXaWR0
aChmYWxsYmFja0NoYXJhY3RlclJ1bikpOworICAgICAgICAgICAgICAgICAgICBjdXJyZW50UG9p
bnQubW92ZSgwLjBmLCBmb250LndpZHRoKGZhbGxiYWNrQ2hhcmFjdGVyUnVuKSk7CiAgICAgICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBjdXJyZW50UG9pbnQubW92ZShmb250
LmZsb2F0V2lkdGgoZmFsbGJhY2tDaGFyYWN0ZXJSdW4pLCAwLjBmKTsKKyAgICAgICAgICAgICAg
ICAgICAgY3VycmVudFBvaW50Lm1vdmUoZm9udC53aWR0aChmYWxsYmFja0NoYXJhY3RlclJ1biks
IDAuMGYpOwogCiAgICAgICAgICAgICAgICAgZmFsbGJhY2tDaGFyYWN0ZXJJbmRleCsrOwogICAg
ICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gNzg1NzEpCisrKyBTb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMSBAQAor
MjAxMS0wMi0xNSAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTU0MjQ0CisgICAgICAgIAorICAgICAgICBDb252ZXJ0IHRoZSBs
aW5lIGJveCB0cmVlIHRvIGZsb2F0aW5nIHBvaW50IGFuZCBlbGltaW5hdGUgZm9udCByb3VuZGlu
ZyBoYWNrcy4gIFRoaXMgcGF0Y2ggcmVtb3ZlcyBhbGwgb2YgdGhlIHJvdW5kaW5nCisgICAgICAg
IGhhY2tzIGZyb20gdGhlIEZvbnQgY29kZSBhbmQgbWFrZXMgc3VyZSBhbGwgRm9udCBBUElzIGlu
dm9sdmluZyB3aWR0aCBtZWFzdXJlbWVudCBhbmQgd2lkdGggb2Zmc2V0cyB1c2UgZmxvYXRzLgor
ICAgICAgICAKKyAgICAgICAgVGhlIGxpbmUgYm94IHRyZWUncyB4LCB5IGFuZCBsb2dpY2FsV2lk
dGggbWVtYmVycyBoYXZlIGFsbCBiZWVuIGNvbnZlcnRlZCB0byBmbG9hdHMgYW5kIGFsbCBvZiB0
aGUgbGluZSBib3ggQVBJcyBoYXZlCisgICAgICAgIGJlZW4gY2hhbmdlZCBhcyB3ZWxsLgorICAg
ICAgICAKKyAgICAgICAgSW4gdGVybXMgb2YgcGl4ZWwgYWRqdXN0bWVudHMsIG92ZXJmbG93IGlz
IHVzaW5nIGFuIGVuY2xvc2luZyBtb2RlbCAoc28gaXQgd2lsbCBiZSBlbmNsb3NpbmdJbnRSZWN0
IG9mIGEgbGluZSBib3gncyB4L3kvd2lkdGgvaGVpZ2h0KS4KKyAgICAgICAgCisgICAgICAgIEJh
Y2tncm91bmQgYW5kIGJvcmRlciBwYWludGluZyBpcyB1c2luZyBhIHJvdW5kaW5nIG1vZGVsLCBz
byBib3JkZXJzIGFuZCBiYWNrZ3JvdW5kcyB3aWxsIHJvdW5kIHRvIHRoZSBuZWFyZXN0IHBpeGVs
IHdoZW4gcGFpbnRpbmcuCisgICAgICAgIAorICAgICAgICBSZXBsYWNlZCBlbGVtZW50cyBzdGls
bCBzbmFwIHRvIGludGVnZXIgcG9zaXRpb25zIG9uIGxpbmVzLCBhbmQgdGhleSB1c2UgYSByb3Vu
ZGluZyBtb2RlbCBhcyB3ZWxsLCBhbHRob3VnaCB0aGVpciB1bmRlcmx5aW5nIGxpbmUgYm94ZXMK
KyAgICAgICAgc3RpbGwgaGF2ZSBhIHByZWNpc2UgZmxvYXRpbmcgcG9pbnQgcG9zaXRpb24uCisK
KyAgICAgICAgSnVzdGlmaWNhdGlvbiB3aWxsIG5vdyBhbGxvdyBzdWJwaXhlbCBwb3NpdGlvbmlu
ZyB0byBvY2N1ciBhcyB3ZWxsLiAgUGxhdGZvcm1zIHRoYXQgZG9uJ3Qgc3VwcG9ydCBzdWJwaXhl
bCBwb3NpdGlvbmluZyBzaG91bGQgYWxyZWFkeQorICAgICAgICBiZSByb3VuZGluZyBqdXN0aWZp
Y2F0aW9uIHNwYWNpbmcgaW4gdGhlaXIgZm9udCBjb2RlLgorCisgICAgICAgIE1hbnkgbGF5b3V0
IHRlc3QgcmVzdWx0cyBjaGFuZ2Ugb24gTWFjLCBzaW5jZSByb3VuZGluZyBoYWNrcyB3ZXJlIHVz
ZWQgdGhlcmUgYW5kIGFyZSBub3cgZ29uZS4KKworICAgICAgICAqIE1pc2MvV2ViS2l0TlNTdHJp
bmdFeHRyYXMubW06CisgICAgICAgICgtW05TU3RyaW5nIF93ZWJfZHJhd0F0UG9pbnQ6Zm9udDp0
ZXh0Q29sb3I6YWxsb3dpbmdGb250U21vb3RoaW5nOl0pOgorICAgICAgICAoLVtOU1N0cmluZyBf
d2ViX3dpZHRoV2l0aEZvbnQ6XSk6CisKIDIwMTEtMDEtMjYgIE1PUklUQSBIYWppbWUgIDxtb3Jy
aXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgpJbmRl
eDogU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXROU1N0cmluZ0V4dHJhcy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdE5TU3RyaW5nRXh0cmFzLm1tCShy
ZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0TlNTdHJpbmdF
eHRyYXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTkxLDcgKzkxLDYgQEAgLSAodm9pZClfd2ViX2Ry
YXdBdFBvaW50OihOU1BvaW50KXBvaW50IAogCiAgICAgICAgIEZvbnQgd2ViQ29yZUZvbnQoRm9u
dFBsYXRmb3JtRGF0YShmb250LCBbZm9udCBwb2ludFNpemVdKSwgIVtuc0NvbnRleHQgaXNEcmF3
aW5nVG9TY3JlZW5dLCBmb250U21vb3RoaW5nSXNBbGxvd2VkID8gQXV0b1Ntb290aGluZyA6IEFu
dGlhbGlhc2VkKTsKICAgICAgICAgVGV4dFJ1biBydW4oYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKTsK
LSAgICAgICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7CiAKICAgICAgICAgQ0dGbG9hdCBy
ZWQ7CiAgICAgICAgIENHRmxvYXQgZ3JlZW47CkBAIC0xMzcsOCArMTM2LDcgQEAgLSAoZmxvYXQp
X3dlYl93aWR0aFdpdGhGb250OihOU0ZvbnQgKilmbwogICAgIGlmIChjYW5Vc2VGYXN0UmVuZGVy
ZXIoYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKSkgewogICAgICAgICBGb250IHdlYkNvcmVGb250KEZv
bnRQbGF0Zm9ybURhdGEoZm9udCwgW2ZvbnQgcG9pbnRTaXplXSksICFbW05TR3JhcGhpY3NDb250
ZXh0IGN1cnJlbnRDb250ZXh0XSBpc0RyYXdpbmdUb1NjcmVlbl0pOwogICAgICAgICBUZXh0UnVu
IHJ1bihidWZmZXIuZGF0YSgpLCBsZW5ndGgpOwotICAgICAgICBydW4uZGlzYWJsZVJvdW5kaW5n
SGFja3MoKTsKLSAgICAgICAgcmV0dXJuIHdlYkNvcmVGb250LmZsb2F0V2lkdGgocnVuKTsKKyAg
ICAgICAgcmV0dXJuIHdlYkNvcmVGb250LndpZHRoKHJ1bik7CiAgICAgfQogCiAgICAgcmV0dXJu
IFtzZWxmIHNpemVXaXRoQXR0cmlidXRlczpbTlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRoT2Jq
ZWN0c0FuZEtleXM6Zm9udCwgTlNGb250QXR0cmlidXRlTmFtZSwgbmlsXV0ud2lkdGg7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82502</attachid>
            <date>2011-02-15 12:20:39 -0800</date>
            <delta_ts>2011-02-15 15:16:32 -0800</delta_ts>
            <desc>Update Windows since someone added new uses of string truncation.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>205845</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjU4IEBACisyMDExLTAyLTE1ICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTQyNDQKKyAgICAgICAgCisgICAgICAgIENvbnZlcnQgdGhlIGxpbmUgYm94IHRyZWUgdG8gZmxv
YXRpbmcgcG9pbnQgYW5kIGVsaW1pbmF0ZSBmb250IHJvdW5kaW5nIGhhY2tzLiAgVGhpcyBwYXRj
aCByZW1vdmVzIGFsbCBvZiB0aGUgcm91bmRpbmcKKyAgICAgICAgaGFja3MgZnJvbSB0aGUgRm9u
dCBjb2RlIGFuZCBtYWtlcyBzdXJlIGFsbCBGb250IEFQSXMgaW52b2x2aW5nIHdpZHRoIG1lYXN1
cmVtZW50IGFuZCB3aWR0aCBvZmZzZXRzIHVzZSBmbG9hdHMuCisgICAgICAgIAorICAgICAgICBU
aGUgbGluZSBib3ggdHJlZSdzIHgsIHkgYW5kIGxvZ2ljYWxXaWR0aCBtZW1iZXJzIGhhdmUgYWxs
IGJlZW4gY29udmVydGVkIHRvIGZsb2F0cyBhbmQgYWxsIG9mIHRoZSBsaW5lIGJveCBBUElzIGhh
dmUKKyAgICAgICAgYmVlbiBjaGFuZ2VkIGFzIHdlbGwuCisgICAgICAgIAorICAgICAgICBJbiB0
ZXJtcyBvZiBwaXhlbCBhZGp1c3RtZW50cywgb3ZlcmZsb3cgaXMgdXNpbmcgYW4gZW5jbG9zaW5n
IG1vZGVsIChzbyBpdCB3aWxsIGJlIGVuY2xvc2luZ0ludFJlY3Qgb2YgYSBsaW5lIGJveCdzIHgv
eS93aWR0aC9oZWlnaHQpLgorICAgICAgICAKKyAgICAgICAgQmFja2dyb3VuZCBhbmQgYm9yZGVy
IHBhaW50aW5nIGlzIHVzaW5nIGEgcm91bmRpbmcgbW9kZWwsIHNvIGJvcmRlcnMgYW5kIGJhY2tn
cm91bmRzIHdpbGwgcm91bmQgdG8gdGhlIG5lYXJlc3QgcGl4ZWwgd2hlbiBwYWludGluZy4KKyAg
ICAgICAgCisgICAgICAgIFJlcGxhY2VkIGVsZW1lbnRzIHN0aWxsIHNuYXAgdG8gaW50ZWdlciBw
b3NpdGlvbnMgb24gbGluZXMsIGFuZCB0aGV5IHVzZSBhIHJvdW5kaW5nIG1vZGVsIGFzIHdlbGws
IGFsdGhvdWdoIHRoZWlyIHVuZGVybHlpbmcgbGluZSBib3hlcworICAgICAgICBzdGlsbCBoYXZl
IGEgcHJlY2lzZSBmbG9hdGluZyBwb2ludCBwb3NpdGlvbi4KKworICAgICAgICBKdXN0aWZpY2F0
aW9uIHdpbGwgbm93IGFsbG93IHN1YnBpeGVsIHBvc2l0aW9uaW5nIHRvIG9jY3VyIGFzIHdlbGwu
ICBQbGF0Zm9ybXMgdGhhdCBkb24ndCBzdXBwb3J0IHN1YnBpeGVsIHBvc2l0aW9uaW5nIHNob3Vs
ZCBhbHJlYWR5CisgICAgICAgIGJlIHJvdW5kaW5nIGp1c3RpZmljYXRpb24gc3BhY2luZyBpbiB0
aGVpciBmb250IGNvZGUuCisKKyAgICAgICAgTWFueSBsYXlvdXQgdGVzdCByZXN1bHRzIGNoYW5n
ZSBvbiBNYWMsIHNpbmNlIHJvdW5kaW5nIGhhY2tzIHdlcmUgdXNlZCB0aGVyZSBhbmQgYXJlIG5v
dyBnb25lLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJbnRlcm5hbCk6CisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vRmlsZUNob29zZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
aWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojp3aWR0aCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6c3BhY2VX
aWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojp0YWJXaWR0aCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6
OmdldEdseXBoc0FuZEFkdmFuY2VzRm9yU2ltcGxlVGV4dCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDo6ZHJhd1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0Ojpk
cmF3RW1waGFzaXNNYXJrcyk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRy
YXdCaWRpVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdIaWdo
bGlnaHRGb3JUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6U2ltcGxlRm9udERhdGEpOgorICAgICAg
ICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtR2x5cGhJbml0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6
U2ltcGxlRm9udERhdGE6OnNwYWNlV2lkdGgpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L1N0cmluZ1RydW5jYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzdHJpbmdXaWR0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjp0cnVuY2F0ZVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTdHJp
bmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmluZ1Ry
dW5jYXRvcjo6cmlnaHRUcnVuY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHJpbmdUcnVuY2F0
b3I6OndpZHRoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TdHJpbmdUcnVuY2F0b3Iu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmg6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0UnVuOjpUZXh0UnVuKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRSdW46OnhQb3Mp
OgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJ1bjo6ZXhwYW5zaW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRSdW46OmRpcmVjdGlvbmFsT3ZlcnJpZGUpOgorICAgICAgICAoV2ViQ29yZTo6VGV4
dFJ1bjo6ZGlzYWJsZVNwYWNpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRo
SXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6V2lkdGhJdGVy
YXRvcik6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpDb21wbGV4VGV4dENvbnRyb2xsZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjphZHZhbmNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzQW5kQWR2YW5jZXMp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENvbXBsZXhUZXh0TWFjLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmdldEdseXBoc0FuZEFkdmFuY2VzRm9yQ29tcGxl
eFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHRN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dENoZWNraW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRl
eHRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9y
VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dENoZWNraW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0
YVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBo
SW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRT
a2lhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JU
ZXh0Q2hlY2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3TGlu
ZUZvclRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRl
eHRDR1dpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5l
Rm9yVGV4dENoZWNraW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vVW5pc2Ny
aWJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpVbmlzY3JpYmVDb250cm9sbGVy
OjpzaGFwZUFuZFBsYWNlSXRlbSk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0ZpbGVDaG9vc2Vy
R3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVDaG9vc2VyOjpiYXNlbmFtZUZvcldpZHRo
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6d2lkdGhXaXRoRm9udCk6CisgICAgICAgIChXZWJDb3JlOjpkcmF3QXRQb2ludCk6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL0ZpbGVDaG9vc2VyTWFjLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6RmlsZUNob29zZXI6OmJhc2VuYW1lRm9yV2lkdGgpOgorICAgICAgICAqIHBsYXRmb3JtL3dp
bi9EcmFnSW1hZ2VXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRHJhZ0ltYWdlRm9y
TGluayk6CisgICAgICAgICogcGxhdGZvcm0vd2luL0ZpbGVDaG9vc2VyV2luLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZpbGVDaG9vc2VyOjpiYXNlbmFtZUZvcldpZHRoKToKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwTWVu
dVdpbjo6Y2FsY3VsYXRlUG9zaXRpb25BbmRTaXplKToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4v
V2ViQ29yZVRleHRSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlVGV4dEZs
b2F0V2lkdGgpOgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQp
OgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVzdWx0Lmg6CisgICAgICAgICogcmVuZGVy
aW5nL0lubGluZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OmFkanVzdFBv
c2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUJveDo6cGxhY2VFbGxpcHNpc0JveCk6
CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcp
OgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQm94OjpmbGlwRm9yV3JpdGluZ01vZGUpOgorICAg
ICAgICAqIHJlbmRlcmluZy9JbmxpbmVCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUJv
eDo6SW5saW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUJveDo6YWRqdXN0TGluZURp
cmVjdGlvblBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUJveDo6YWRqdXN0Qmxv
Y2tEaXJlY3Rpb25Qb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OnNldFgp
OgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQm94Ojp4KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
bGluZUJveDo6c2V0WSk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OnkpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lQm94Ojp3aWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVC
b3g6OmhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OmxvZ2ljYWxMZWZ0KToK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUJveDo6bG9naWNhbFJpZ2h0KToKKyAgICAgICAgKFdl
YkNvcmU6OklubGluZUJveDo6c2V0TG9naWNhbExlZnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5s
aW5lQm94OjpwaXhlbFNuYXBwZWRMb2dpY2FsTGVmdCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVCb3g6OnBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVCb3g6OnNldExvZ2ljYWxXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6Omxv
Z2ljYWxXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OnZlcnRpY2FsQWxpZ24p
OgorICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OklubGluZUZsb3dCb3g6OnJvdW5kZWRGcmFtZVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6
SW5saW5lRmxvd0JveDo6YWRqdXN0UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5l
Rmxvd0JveDo6cGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OklubGluZUZsb3dCb3g6OmFkanVzdE1heEFzY2VudEFuZERlc2NlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6dmVydGljYWxQb3NpdGlvbkZvckJveCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVG
bG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaWdodHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5s
aW5lRmxvd0JveDo6cGxhY2VCb3hlc0luQmxvY2tEaXJlY3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lRmxvd0JveDo6YWRkQm94U2hhZG93VmlzdWFsT3ZlcmZsb3cpOgorICAgICAgICAo
V2ViQ29yZTo6SW5saW5lRmxvd0JveDo6YWRkVGV4dEJveFZpc3VhbE92ZXJmbG93KToKKyAgICAg
ICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmNvbXB1dGVPdmVyZmxvdyk6CisgICAgICAgIChX
ZWJDb3JlOjpJbmxpbmVGbG93Qm94OjpzZXRMYXlvdXRPdmVyZmxvdyk6CisgICAgICAgIChXZWJD
b3JlOjpJbmxpbmVGbG93Qm94OjpzZXRWaXN1YWxPdmVyZmxvdyk6CisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVGbG93Qm94Ojpub2RlQXRQb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVG
bG93Qm94OjpwYWludEJveERlY29yYXRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZs
b3dCb3g6OnBhaW50TWFzayk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVGbG93Qm94OjpwbGFj
ZUVsbGlwc2lzQm94KToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oOgorICAg
ICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6bWF4WUxheW91dE92ZXJmbG93KToKKyAgICAg
ICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6Om1heFhMYXlvdXRPdmVyZmxvdyk6CisgICAgICAg
IChXZWJDb3JlOjpJbmxpbmVGbG93Qm94OjpsYXlvdXRPdmVyZmxvd1JlY3QpOgorICAgICAgICAo
V2ViQ29yZTo6SW5saW5lRmxvd0JveDo6bWF4WVZpc3VhbE92ZXJmbG93KToKKyAgICAgICAgKFdl
YkNvcmU6OklubGluZUZsb3dCb3g6Om1heFhWaXN1YWxPdmVyZmxvdyk6CisgICAgICAgIChXZWJD
b3JlOjpJbmxpbmVGbG93Qm94Ojp2aXN1YWxPdmVyZmxvd1JlY3QpOgorICAgICAgICAqIHJlbmRl
cmluZy9JbmxpbmVUZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6
OnBsYWNlRWxsaXBzaXNCb3gpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6bm9k
ZUF0UG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRUZXh0V2l0aFNoYWRvd3MpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6
SW5saW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5l
VGV4dEJveDo6cGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQpOgorICAgICAgICAoV2ViQ29yZTo6
SW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklubGlu
ZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lVGV4dEJveDo6cGFpbnRUZXh0TWF0Y2hNYXJrZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lVGV4dEJveDo6cGFpbnREb2N1bWVudE1hcmtlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGVybGluZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbmxpbmVUZXh0Qm94Ojp0ZXh0UG9zKToKKyAgICAgICAgKFdlYkNvcmU6OklubGlu
ZVRleHRCb3g6Om9mZnNldEZvclBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRl
eHRCb3g6OnBvc2l0aW9uRm9yT2Zmc2V0KToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4
dEJveC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6c2V0RXhwYW5zaW9uKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQlIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJSOjp3aWR0aCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnN0cmlwVHJhaWxpbmdTcGFjZSk6CisgICAgICAgIChXZWJDb3JlOjp1cGRh
dGVQcmVmZXJyZWRXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6Y29tcHV0
ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6OmFkanVzdEZvckJvcmRlckZpdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6YWRkRm9jdXNSaW5nUmVjdHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNG
b3JMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpmaXRCZWxvd0Zsb2F0cyk6
CisgICAgICAgIChXZWJDb3JlOjp0ZXh0V2lkdGgpOgorICAgICAgICAoV2ViQ29yZTo6dHJ5SHlw
aGVuYXRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZUJy
ZWFrKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJveDo6cG9zaXRpb25MaW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckNvbWJpbmVUZXh0Ojp3aWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJDb21iaW5lVGV4dDo6YWRqdXN0VGV4dE9yaWdpbik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJDb21iaW5lVGV4dDo6Y29tYmluZVRleHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJDb21iaW5lVGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQ29tYmluZVRleHQ6OmNv
bWJpbmVkVGV4dFdpZHRoKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJDb3VudGVyOjpjb21wdXRlUHJlZmVycmVkTG9naWNh
bFdpZHRocyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRW1iZWRkZWRPYmplY3Q6OmdldFJlcGxhY2VtZW50VGV4dEdlb21ldHJ5KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lk
dGhzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5l
OjpsaW5lc0JvdW5kaW5nQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6bGlu
ZXNWaXN1YWxPdmVyZmxvd0JvdW5kaW5nQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklu
bGluZTo6YWRkRm9jdXNSaW5nUmVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5l
OjpwYWludE91dGxpbmUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnVwZGF0ZUZyb21FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnBhaW50SXRlbUZvcmVncm91bmQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJNZW51TGlzdDo6dXBkYXRlT3B0aW9uc1dpZHRoKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojpsb2NhbENhcmV0
UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojp3aWR0aEZyb21DYWNoZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldpZHRocyk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUZXh0OjptaW5Mb2dpY2FsV2lkdGgpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGV4dDo6bWF4TG9naWNhbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRleHQ6OmZpcnN0UnVuT3JpZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRl
eHQ6OmZpcnN0UnVuWCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjpmaXJzdFJ1blkp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6d2lkdGgpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGV4dDo6bGluZXNCb3VuZGluZ0JveCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRleHQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2w6OmdldEF2Z0NoYXJXaWR0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbDo6cGFpbnRQbGFjZWhvbGRlcik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6d3JpdGVUZXh0UnVuKToKKyAgICAgICAgKiByZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJvb3RJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXNCb3gpOgorICAgICAgICAo
V2ViQ29yZTo6Um9vdElubGluZUJveDo6YWRqdXN0UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6Um9vdElubGluZUJveDo6YmVmb3JlQW5ub3RhdGlvbnNBZGp1c3RtZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OlJvb3RJbmxpbmVCb3g6OnBhZGRlZExheW91dE92ZXJmbG93UmVjdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvVmVy
dGljYWxQb3NpdGlvbkNhY2hlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVU
ZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6Om9mZnNldEZv
clBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnBvc2l0aW9u
Rm9yT2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OmNvbnN0cnVj
dFRleHRSdW4pOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp3cml0ZVJlbmRlclNWR1RleHRCb3gpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dmcvU1ZHVGV4dE1ldHJpY3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dE1ldHJpY3M6
OlNWR1RleHRNZXRyaWNzKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN0cnVjdFRleHRSdW4pOgor
ICAgICAgICAqIHN2Zy9TVkdGb250LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZsb2F0V2lkdGhN
aXNzaW5nR2x5cGhDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpkcmF3VGV4dFVz
aW5nU1ZHRm9udCk6CisKIDIwMTEtMDItMTUgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNvbi4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC00MDAsOSArNDAwLDkgQEAgX19aTjdXZWJD
b3JlMTVQcm90ZWN0aW9uU3BhY2VDMUVSS04zV1RGNgogX19aTjdXZWJDb3JlMTVQcm90ZWN0aW9u
U3BhY2VDMUV2CiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE3YWxpZ25DZW50ZXJBbHdh
eXNFCiBfX1pON1dlYkNvcmUxNVNjcm9sbEFsaWdubWVudDE5YWxpZ25Ub0VkZ2VJZk5lZWRlZEUK
LV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRlRVJLTjNXVEY2U3Ry
aW5nRWZSS05TXzRGb250RWIKLV9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTRjZW50ZXJU
cnVuY2F0ZUVSS04zV1RGNlN0cmluZ0VmUktOU180Rm9udEViCi1fX1pON1dlYkNvcmUxNVN0cmlu
Z1RydW5jYXRvcjV3aWR0aEVSS04zV1RGNlN0cmluZ0VSS05TXzRGb250RWIKK19fWk43V2ViQ29y
ZTE1U3RyaW5nVHJ1bmNhdG9yMTRjZW50ZXJUcnVuY2F0ZUVSS04zV1RGNlN0cmluZ0VmUktOU180
Rm9udEUKK19fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNhdG9yMTNyaWdodFRydW5jYXRlRVJLTjNX
VEY2U3RyaW5nRWZSS05TXzRGb250RQorX19aTjdXZWJDb3JlMTVTdHJpbmdUcnVuY2F0b3I1d2lk
dGhFUktOM1dURjZTdHJpbmdFUktOU180Rm9udEUKIF9fWk43V2ViQ29yZTE1VmlzaWJsZVBvc2l0
aW9uQzFFUE5TXzROb2RlRWlOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3JlMTVWaXNpYmxlUG9z
aXRpb25DMUVSS05TXzhQb3NpdGlvbkVOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3JlMTVkZWZh
dWx0TGFuZ3VhZ2VFdgpAQCAtMTEyNCw3ICsxMTI0LDcgQEAgX19aTks3V2ViQ29yZTI3QXV0aGVu
dGljYXRpb25DaGFsbGVuZ2VCYQogX19aTks3V2ViQ29yZTI3QXV0aGVudGljYXRpb25DaGFsbGVu
Z2VCYXNlMjBwcmV2aW91c0ZhaWx1cmVDb3VudEV2CiBfX1pOSzdXZWJDb3JlMjdBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZUJhc2U1ZXJyb3JFdgogX19aTks3V2ViQ29yZTI3QXV0aGVudGljYXRpb25D
aGFsbGVuZ2VCYXNlNmlzTnVsbEV2Ci1fX1pOSzdXZWJDb3JlNEZvbnQxMGZsb2F0V2lkdGhFUktO
U183VGV4dFJ1bkVQTjNXVEY3SGFzaFNldElQS05TXzE0U2ltcGxlRm9udERhdGFFTlM0XzdQdHJI
YXNoSVM4X0VFTlM0XzEwSGFzaFRyYWl0c0lTOF9FRUVFUE5TXzEzR2x5cGhPdmVyZmxvd0UKK19f
Wk5LN1dlYkNvcmU0Rm9udDV3aWR0aEVSS05TXzdUZXh0UnVuRVBOM1dURjdIYXNoU2V0SVBLTlNf
MTRTaW1wbGVGb250RGF0YUVOUzRfN1B0ckhhc2hJUzhfRUVOUzRfMTBIYXNoVHJhaXRzSVM4X0VF
RUVQTlNfMTNHbHlwaE92ZXJmbG93RQogX19aTks3V2ViQ29yZTRGb250OGRyYXdUZXh0RVBOU18x
NUdyYXBoaWNzQ29udGV4dEVSS05TXzdUZXh0UnVuRVJLTlNfMTBGbG9hdFBvaW50RWlpCiBfX1pO
SzdXZWJDb3JlNEtVUkwxMWNyZWF0ZUNGVVJMRXYKIF9fWk5LN1dlYkNvcmU0S1VSTDExaXNMb2Nh
bEZpbGVFdgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTMxNzMsNiArMzE3
Myw3IEBACiAJCUE2MjJBOEZDMTIyQzQ0QTYwMEE3ODVCMyAvKiBCaW5kaW5nU2VjdXJpdHlCYXNl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE2MjJB
OEY2MTIyQzQ0QTYwMEE3ODVCMyAvKiBCaW5kaW5nU2VjdXJpdHlCYXNlLmNwcCAqLzsgfTsKIAkJ
QTYyMkE4RkQxMjJDNDRBNjAwQTc4NUIzIC8qIEJpbmRpbmdTZWN1cml0eUJhc2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE2MjJBOEY3MTIyQzQ0QTYw
MEE3ODVCMyAvKiBCaW5kaW5nU2VjdXJpdHlCYXNlLmggKi87IH07CiAJCUE2MjJBOEZGMTIyQzQ0
QTYwMEE3ODVCMyAvKiBHZW5lcmljQmluZGluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTYyMkE4RjkxMjJDNDRBNjAwQTc4NUIzIC8qIEdlbmVyaWNC
aW5kaW5nLmggKi87IH07CisJCUE3MTUxQkQ4MTJGMTU1OEYwMDVBMEY2NCAvKiBUZXh0Q2hlY2tl
ckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTcxNTFCRDcxMkYxNTU4RjAwNUEwRjY0IC8qIFRleHRDaGVja2VyQ2xpZW50LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTcxODc2MEUwQjJBMTIw
MTAwQTE2RUNFIC8qIERyYWdBY3Rpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNzE4NzYwRDBCMkExMjAxMDBBMTZFQ0UgLyogRHJhZ0FjdGlvbnMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBNzE4
Nzg5MDBCMkQwNEFDMDBBMTZFQ0UgLyogRHJhZ0NvbnRyb2xsZXJNYWMubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzE4Nzg4RjBCMkQwNEFDMDBBMTZF
Q0UgLyogRHJhZ0NvbnRyb2xsZXJNYWMubW0gKi87IH07CiAJCUE3M0Y5NUZFMTJDOTdCRkUwMDMx
QUFGOSAvKiBSb3VuZGVkSW50UmVjdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNzNGOTVGQzEyQzk3QkZFMDAzMUFBRjkgLyogUm91bmRlZEludFJl
Y3QuY3BwICovOyB9OwpAQCAtMzIxNyw3ICszMjE4LDYgQEAKIAkJQTdEM0M1MjQwQjU3NkI0QjAw
MkNBNDUwIC8qIFBhc3RlYm9hcmRIZWxwZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE3RDNDNTIzMEI1NzZCNEIwMDJDQTQ1MCAvKiBQYXN0ZWJvYXJk
SGVscGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQTdENkIzNDkwRjYxMTA0NTAwQjc5RkQxIC8qIFdvcmtlclNjcmlwdExvYWRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdENkIzNDcwRjYxMTA0
NTAwQjc5RkQxIC8qIFdvcmtlclNjcmlwdExvYWRlci5oICovOyB9OwogCQlBN0Q2QjM0QTBGNjEx
MDQ1MDBCNzlGRDEgLyogV29ya2VyU2NyaXB0TG9hZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RDZCMzQ4MEY2MTEwNDUwMEI3OUZEMSAvKiBX
b3JrZXJTY3JpcHRMb2FkZXIuY3BwICovOyB9OwotCQlBNzE1MUJEODEyRjE1NThGMDA1QTBGNjQg
LyogVGV4dENoZWNrZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE3MTUxQkQ3MTJGMTU1OEYwMDVBMEY2NCAvKiBUZXh0Q2hlY2tlckNsaWVu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE3
REJGOEREMTI3NjkxOUMwMDZCNjAwOCAvKiBUZXh0Q2hlY2tpbmdIZWxwZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEQkY4REIxMjc2OTE5QzAw
NkI2MDA4IC8qIFRleHRDaGVja2luZ0hlbHBlci5jcHAgKi87IH07CiAJCUE3REJGOERFMTI3Njkx
OUMwMDZCNjAwOCAvKiBUZXh0Q2hlY2tpbmdIZWxwZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3REJGOERDMTI3NjkxOUMwMDZCNjAwOCAvKiBUZXh0
Q2hlY2tpbmdIZWxwZXIuaCAqLzsgfTsKIAkJQTdGMzM4QTMxMUMwRUZDQTAwQTMyMEE3IC8qIFNo
YWRvd0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTdGMzM4QTExMUMwRUZDQTAwQTMyMEE3IC8qIFNoYWRvd0VsZW1lbnQuY3BwICovOyB9
OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTE3NzMsNyArMTc3Myw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3
VGV4dEkKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRleHQubGVuZ3RoKCk7CiAgICAgY29uc3Qg
VUNoYXIqIHN0cmluZyA9IHRleHQuY2hhcmFjdGVycygpOwotICAgIFRleHRSdW4gdGV4dFJ1bihz
dHJpbmcsIGxlbmd0aCwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNp
b24sIHJ0bCwgb3ZlcnJpZGUsIGZhbHNlLCBmYWxzZSk7CisgICAgVGV4dFJ1biB0ZXh0UnVuKHN0
cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lv
biwgcnRsLCBvdmVycmlkZSk7CiAKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRleHQgYXQgdGhlIGNv
cnJlY3QgcG9pbnQuCiAgICAgRmxvYXRQb2ludCBsb2NhdGlvbih4LCB5KTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21pdW0uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0ZpbGVDaG9vc2VyQ2hy
b21pdW0uY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL0ZpbGVDaG9vc2VyQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCw5ICs0
NCw5IEBAIFN0cmluZyBGaWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aChjb24KICAgICBlbHNl
IGlmIChtX2ZpbGVuYW1lcy5zaXplKCkgPT0gMSkKICAgICAgICAgc3RyaW5nID0gcGF0aEdldERp
c3BsYXlGaWxlTmFtZShtX2ZpbGVuYW1lc1swXSk7CiAgICAgZWxzZQotICAgICAgICByZXR1cm4g
U3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmlsZVVwbG9hZFRleHQobV9m
aWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIFN0
cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxvYWRUZXh0KG1fZmls
ZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250KTsKIAotICAgIHJldHVybiBTdHJpbmdUcnVuY2F0
b3I6OmNlbnRlclRydW5jYXRlKHN0cmluZywgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHdpZHRoKSwgZm9u
dCwgZmFsc2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0
cmluZywgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHdpZHRoKSwgZm9udCk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQu
Y3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxNyArMzksNiBAQCB1c2luZyBuYW1lc3Bh
Y2UgVW5pY29kZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1aW50OF90IEZvbnQ6
OmdSb3VuZGluZ0hhY2tDaGFyYWN0ZXJUYWJsZVsyNTZdID0gewotICAgIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDEgLypcdCovLCAxIC8qXG4qLywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAxIC8qc3BhY2UqLywg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKi0qLywgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKj8qLywKLSAgICAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwKLSAgICAxIC8qbm8tYnJlYWsgc3BhY2UqLywgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAKLX07Ci0KIEZvbnQ6
OkNvZGVQYXRoIEZvbnQ6OnNfY29kZVBhdGggPSBBdXRvOwogCiAvLyA9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpAQCAtMTc2LDcgKzE2NSw3IEBAIHZvaWQgRm9udDo6ZHJhd0Vt
cGhhc2lzTWFya3MoR3JhcGhpY3NDb24KICAgICAgICAgZHJhd0VtcGhhc2lzTWFya3NGb3JDb21w
bGV4VGV4dChjb250ZXh0LCBydW4sIG1hcmssIHBvaW50LCBmcm9tLCB0byk7CiB9CiAKLWZsb2F0
IEZvbnQ6OmZsb2F0V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IFNpbXBs
ZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cp
IGNvbnN0CitmbG9hdCBGb250Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIEhhc2hTZXQ8Y29u
c3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhP
dmVyZmxvdykgY29uc3QKIHsKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAgIGlmIChwcmltYXJ5
Rm9udCgpLT5pc1NWR0ZvbnQoKSkKQEAgLTE5NCw3ICsxODMsNyBAQCBmbG9hdCBGb250OjpmbG9h
dFdpZHRoKGNvbnN0IFRleHRSdW4mIHJ1CiAgICAgcmV0dXJuIGZsb2F0V2lkdGhGb3JDb21wbGV4
VGV4dChydW4sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQogCi1mbG9hdCBGb250
OjpmbG9hdFdpZHRoKGNvbnN0IFRleHRSdW4mIHJ1biwgaW50IGV4dHJhQ2hhcnNBdmFpbGFibGUs
IGludCYgY2hhcnNDb25zdW1lZCwgU3RyaW5nJiBnbHlwaE5hbWUpIGNvbnN0CitmbG9hdCBGb250
Ojp3aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIGludCBleHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQm
IGNoYXJzQ29uc3VtZWQsIFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdAogewogI2lmICFFTkFCTEUo
U1ZHX0ZPTlRTKQogICAgIFVOVVNFRF9QQVJBTShleHRyYUNoYXJzQXZhaWxhYmxlKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHJldmlzaW9uIDc4NTcxKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCSh3b3JraW5nIGNvcHkp
CkBAIC05NCw5ICs5NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRyYXdUZXh0KEdyYXBoaWNzQ29u
dGV4dCosIGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBp
bnQgdG8gPSAtMSkgY29uc3Q7CiAgICAgdm9pZCBkcmF3RW1waGFzaXNNYXJrcyhHcmFwaGljc0Nv
bnRleHQqLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBG
bG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSkgY29uc3Q7CiAKLSAgICBpbnQg
d2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4q
IGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93ID0gMCkgY29u
c3QgeyByZXR1cm4gbHJvdW5kZihmbG9hdFdpZHRoKHJ1biwgZmFsbGJhY2tGb250cywgZ2x5cGhP
dmVyZmxvdykpOyB9Ci0gICAgZmxvYXQgZmxvYXRXaWR0aChjb25zdCBUZXh0UnVuJiwgSGFzaFNl
dDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxv
dyogZ2x5cGhPdmVyZmxvdyA9IDApIGNvbnN0OwotICAgIGZsb2F0IGZsb2F0V2lkdGgoY29uc3Qg
VGV4dFJ1biYgcnVuLCBpbnQgZXh0cmFDaGFyc0F2YWlsYWJsZSwgaW50JiBjaGFyc0NvbnN1bWVk
LCBTdHJpbmcmIGdseXBoTmFtZSkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgoY29uc3QgVGV4dFJ1
biYsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEds
eXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgZmxvYXQgd2lkdGgoY29uc3QgVGV4dFJ1biYs
IGludCBleHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQmIGNoYXJzQ29uc3VtZWQsIFN0cmluZyYgZ2x5
cGhOYW1lKSBjb25zdDsKIAogICAgIGludCBvZmZzZXRGb3JQb3NpdGlvbihjb25zdCBUZXh0UnVu
JiwgZmxvYXQgcG9zaXRpb24sIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMpIGNvbnN0OwogICAg
IEZsb2F0UmVjdCBzZWxlY3Rpb25SZWN0Rm9yVGV4dChjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxv
YXRQb2ludCYsIGludCBoLCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKSBjb25zdDsKQEAgLTEy
OSw4ICsxMjgsOCBAQCBwdWJsaWM6CiAKICAgICAvLyBNZXRyaWNzIHRoYXQgd2UgcXVlcnkgdGhl
IEZvbnRGYWxsYmFja0xpc3QgZm9yLgogICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmlj
cygpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmZvbnRNZXRyaWNzKCk7IH0KLSAgICBp
bnQgc3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIChpbnQpY2VpbGYocHJpbWFyeUZvbnQoKS0+
YWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmcpOyB9Ci0gICAgZmxvYXQgdGFi
V2lkdGgoY29uc3QgU2ltcGxlRm9udERhdGEmIGZvbnREYXRhKSBjb25zdCB7IHJldHVybiA4ICog
Y2VpbGYoZm9udERhdGEuYWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBsZXR0ZXJTcGFjaW5nKCkpOyB9
CisgICAgaW50IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiBwcmltYXJ5Rm9udCgpLT5zcGFj
ZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmc7IH0KKyAgICBmbG9hdCB0YWJXaWR0aChjb25zdCBT
aW1wbGVGb250RGF0YSYgZm9udERhdGEpIGNvbnN0IHsgcmV0dXJuIDggKiBmb250RGF0YS5zcGFj
ZVdpZHRoKCkgKyBsZXR0ZXJTcGFjaW5nKCk7IH0KICAgICBpbnQgZW1waGFzaXNNYXJrQXNjZW50
KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNpc01hcmtEZXNjZW50
KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGludCBlbXBoYXNpc01hcmtIZWlnaHQo
Y29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CkBAIC0yMDEsMTIgKzIwMCw2IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgQ29kZVBhdGggY29kZVBhdGgoKTsKICAgICBzdGF0aWMgQ29kZVBhdGggc19j
b2RlUGF0aDsKIAotICAgIHN0YXRpYyBjb25zdCB1aW50OF90IGdSb3VuZGluZ0hhY2tDaGFyYWN0
ZXJUYWJsZVsyNTZdOwotICAgIHN0YXRpYyBib29sIGlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKFVD
aGFyMzIgYykKLSAgICB7Ci0gICAgICAgIHJldHVybiAoKChjICYgfjB4RkYpID09IDAgJiYgZ1Jv
dW5kaW5nSGFja0NoYXJhY3RlclRhYmxlW2NdKSk7Ci0gICAgfQotCiAgICAgRm9udFNlbGVjdG9y
KiBmb250U2VsZWN0b3IoKSBjb25zdDsKICAgICBzdGF0aWMgYm9vbCB0cmVhdEFzU3BhY2UoVUNo
YXIgYykgeyByZXR1cm4gYyA9PSAnICcgfHwgYyA9PSAnXHQnIHx8IGMgPT0gJ1xuJyB8fCBjID09
IG5vQnJlYWtTcGFjZTsgfQogICAgIHN0YXRpYyBib29sIHRyZWF0QXNaZXJvV2lkdGhTcGFjZShV
Q2hhciBjKSB7IHJldHVybiBjIDwgMHgyMCB8fCAoYyA+PSAweDdGICYmIGMgPCAweEEwKSB8fCBj
ID09IHNvZnRIeXBoZW4gfHwgKGMgPj0gMHgyMDBjICYmIGMgPD0gMHgyMDBmKSB8fCAoYyA+PSAw
eDIwMmEgJiYgYyA8PSAweDIwMmUpIHx8IGMgPT0gb2JqZWN0UmVwbGFjZW1lbnRDaGFyYWN0ZXI7
IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
c3RQYXRoLmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250RmFzdFBhdGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOTcsOSArMjk3LDgg
QEAgZmxvYXQgRm9udDo6Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JTaW1wbAogICAgIGZsb2F0IGFm
dGVyV2lkdGggPSBpdC5tX3J1bldpZHRoU29GYXI7CiAKICAgICBpZiAocnVuLnJ0bCgpKSB7Ci0g
ICAgICAgIGZsb2F0IGZpbmFsUm91bmRpbmdXaWR0aCA9IGl0Lm1fZmluYWxSb3VuZGluZ1dpZHRo
OwogICAgICAgICBpdC5hZHZhbmNlKHJ1bi5sZW5ndGgoKSk7Ci0gICAgICAgIGluaXRpYWxBZHZh
bmNlID0gZmluYWxSb3VuZGluZ1dpZHRoICsgaXQubV9ydW5XaWR0aFNvRmFyIC0gYWZ0ZXJXaWR0
aDsKKyAgICAgICAgaW5pdGlhbEFkdmFuY2UgPSBpdC5tX3J1bldpZHRoU29GYXIgLSBhZnRlcldp
ZHRoOwogICAgIH0gZWxzZQogICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGJlZm9yZVdpZHRoOwog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5jcHAJKHJldmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc1LDcg
KzM3NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3SW1hZ2UoSW1hZ2UqIGkKIH0KIAog
I2lmICFPUyhXSU5DRSkgfHwgUExBVEZPUk0oUVQpCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJh
d1RleHQoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBjb25zdCBJbnRQb2lu
dCYgcG9pbnQsIGludCBmcm9tLCBpbnQgdG8pCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1Rl
eHQoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBjb25zdCBGbG9hdFBvaW50
JiBwb2ludCwgaW50IGZyb20sIGludCB0bykKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgp
KQogICAgICAgICByZXR1cm47CkBAIC0zODQsNyArMzg0LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRl
eHQ6OmRyYXdUZXh0KGNvbnN0IEZvbgogfQogI2VuZGlmCiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0
OjpkcmF3RW1waGFzaXNNYXJrcyhjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiBydW4s
IGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaywgY29uc3QgSW50UG9pbnQmIHBvaW50LCBpbnQgZnJv
bSwgaW50IHRvKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdFbXBoYXNpc01hcmtzKGNvbnN0
IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJr
LCBjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bykKIHsKICAgICBpZiAo
cGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC00MjIsMTMgKzQyMiwxMyBA
QCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0JpZGlUZXh0KGNvbnN0CiAgICAgICAgIGJpZGlS
dW4gPSBiaWRpUnVuLT5uZXh0KCk7CiAgICAgICAgIC8vIEZJWE1FOiBIYXZlIEZvbnQ6OmRyYXdU
ZXh0IHJldHVybiB0aGUgd2lkdGggb2Ygd2hhdCBpdCBkcmV3IHNvIHRoYXQgd2UgZG9uJ3QgaGF2
ZSB0byByZS1tZWFzdXJlIGhlcmUuCiAgICAgICAgIGlmIChiaWRpUnVuKQotICAgICAgICAgICAg
Y3VyclBvaW50Lm1vdmUoZm9udC5mbG9hdFdpZHRoKHN1YnJ1biksIDAuZik7CisgICAgICAgICAg
ICBjdXJyUG9pbnQubW92ZShmb250LndpZHRoKHN1YnJ1biksIDApOwogICAgIH0KIAogICAgIGJp
ZGlSZXNvbHZlci5kZWxldGVSdW5zKCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3
SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiBydW4sIGNv
bnN0IEludFBvaW50JiBwb2ludCwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3Is
IENvbG9yU3BhY2UgY29sb3JTcGFjZSwgaW50IGZyb20sIGludCB0bykKK3ZvaWQgR3JhcGhpY3ND
b250ZXh0OjpkcmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0
UnVuJiBydW4sIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBpbnQgaCwgY29uc3QgQ29sb3ImIGJh
Y2tncm91bmRDb2xvciwgQ29sb3JTcGFjZSBjb2xvclNwYWNlLCBpbnQgZnJvbSwgaW50IHRvKQog
ewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5o
CShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzYsMjAgKzMzNiwyMCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFRleHREcmF3aW5nTW9kZUZsYWdzIHRleHREcmF3aW5n
TW9kZSgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldFRleHREcmF3aW5nTW9kZShUZXh0RHJhd2lu
Z01vZGVGbGFncyk7CiAKLSAgICAgICAgdm9pZCBkcmF3VGV4dChjb25zdCBGb250JiwgY29uc3Qg
VGV4dFJ1biYsIGNvbnN0IEludFBvaW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSk7Ci0g
ICAgICAgIHZvaWQgZHJhd0VtcGhhc2lzTWFya3MoY29uc3QgRm9udCYsIGNvbnN0IFRleHRSdW4m
ICwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBJbnRQb2ludCYsIGludCBmcm9tID0g
MCwgaW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRyYXdUZXh0KGNvbnN0IEZvbnQmLCBjb25z
dCBUZXh0UnVuJiwgY29uc3QgRmxvYXRQb2ludCYsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEp
OworICAgICAgICB2b2lkIGRyYXdFbXBoYXNpc01hcmtzKGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0
UnVuJiAsIGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaywgY29uc3QgRmxvYXRQb2ludCYsIGludCBm
cm9tID0gMCwgaW50IHRvID0gLTEpOwogICAgICAgICB2b2lkIGRyYXdCaWRpVGV4dChjb25zdCBG
b250JiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IEZsb2F0UG9pbnQmKTsKLSAgICAgICAgdm9pZCBk
cmF3SGlnaGxpZ2h0Rm9yVGV4dChjb25zdCBGb250JiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IElu
dFBvaW50JiwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3IsIENvbG9yU3BhY2Us
IGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOworICAgICAgICB2b2lkIGRyYXdIaWdobGlnaHRG
b3JUZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxvYXRQb2ludCYsIGlu
dCBoLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yLCBDb2xvclNwYWNlLCBpbnQgZnJvbSA9
IDAsIGludCB0byA9IC0xKTsKIAogICAgICAgICBGbG9hdFJlY3Qgcm91bmRUb0RldmljZVBpeGVs
cyhjb25zdCBGbG9hdFJlY3QmKTsKIAotICAgICAgICB2b2lkIGRyYXdMaW5lRm9yVGV4dChjb25z
dCBJbnRQb2ludCYsIGludCB3aWR0aCwgYm9vbCBwcmludGluZyk7CisgICAgICAgIHZvaWQgZHJh
d0xpbmVGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmLCBmbG9hdCB3aWR0aCwgYm9vbCBwcmludGlu
Zyk7CiAgICAgICAgIGVudW0gVGV4dENoZWNraW5nTGluZVN0eWxlIHsKICAgICAgICAgICAgIFRl
eHRDaGVja2luZ1NwZWxsaW5nTGluZVN0eWxlLAogICAgICAgICAgICAgVGV4dENoZWNraW5nR3Jh
bW1hckxpbmVTdHlsZSwKICAgICAgICAgICAgIFRleHRDaGVja2luZ1JlcGxhY2VtZW50TGluZVN0
eWxlCiAgICAgICAgIH07Ci0gICAgICAgIHZvaWQgZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29u
c3QgSW50UG9pbnQmLCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSk7CisgICAgICAg
IHZvaWQgZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2ludCYsIGZsb2F0IHdp
ZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUpOwogCiAgICAgICAgIGJvb2wgcGFpbnRpbmdEaXNh
YmxlZCgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldFBhaW50aW5nRGlzYWJsZWQoYm9vbCk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9u
dERhdGEuY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA4LDcgKzEwOCw2
IEBAIFNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShQYXNzT3duUHQKICAgICBtX3NwYWNl
R2x5cGggPSAwOwogICAgIG1femVyb1dpZHRoU3BhY2VHbHlwaCA9IDA7CiAgICAgZGV0ZXJtaW5l
UGl0Y2goKTsKLSAgICBtX2FkanVzdGVkU3BhY2VXaWR0aCA9IHJvdW5kZihtX3NwYWNlV2lkdGgp
OwogICAgIG1fbWlzc2luZ0dseXBoRGF0YS5mb250RGF0YSA9IHRoaXM7CiAgICAgbV9taXNzaW5n
R2x5cGhEYXRhLmdseXBoID0gMDsKIH0KQEAgLTE0Myw3ICsxNDIsNiBAQCB2b2lkIFNpbXBsZUZv
bnREYXRhOjpwbGF0Zm9ybUdseXBoSW5pdCgpCiAgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRv
IGdldCBnbHlwaCBwYWdlIHplcm8uIik7CiAgICAgICAgIG1fc3BhY2VHbHlwaCA9IDA7CiAgICAg
ICAgIG1fc3BhY2VXaWR0aCA9IDA7Ci0gICAgICAgIG1fYWRqdXN0ZWRTcGFjZVdpZHRoID0gMDsK
ICAgICAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKICAgICAgICAgbV96ZXJvV2lkdGhTcGFjZUdseXBo
ID0gMDsKICAgICAgICAgbV9taXNzaW5nR2x5cGhEYXRhLmZvbnREYXRhID0gdGhpczsKQEAgLTE2
MCw3ICsxNTgsNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBoSW5pdCgpCiAg
ICAgZmxvYXQgd2lkdGggPSB3aWR0aEZvckdseXBoKG1fc3BhY2VHbHlwaCk7CiAgICAgbV9zcGFj
ZVdpZHRoID0gd2lkdGg7CiAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKLSAgICBtX2FkanVzdGVkU3Bh
Y2VXaWR0aCA9IG1fdHJlYXRBc0ZpeGVkUGl0Y2ggPyBjZWlsZih3aWR0aCkgOiByb3VuZGYod2lk
dGgpOwogCiAgICAgLy8gRm9yY2UgdGhlIGdseXBoIGZvciBaRVJPIFdJRFRIIFNQQUNFIHRvIGhh
dmUgemVybyB3aWR0aCwgdW5sZXNzIGl0IGlzIHNoYXJlZCB3aXRoIFNQQUNFLgogICAgIC8vIEhl
bHZldGljYSBpcyBhbiBleGFtcGxlIG9mIGEgbm9uLXplcm8gd2lkdGggWkVSTyBXSURUSCBTUEFD
RSBnbHlwaC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZv
bnREYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
U2ltcGxlRm9udERhdGEuaAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsNyAr
MTEyLDYgQEAgcHVibGljOgogICAgIGZsb2F0IHBsYXRmb3JtV2lkdGhGb3JHbHlwaChHbHlwaCkg
Y29uc3Q7CiAKICAgICBmbG9hdCBzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9zcGFjZVdp
ZHRoOyB9Ci0gICAgZmxvYXQgYWRqdXN0ZWRTcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9h
ZGp1c3RlZFNwYWNlV2lkdGg7IH0KIAogI2lmIFBMQVRGT1JNKENHKSB8fCBQTEFURk9STShDQUlS
TykgfHwgUExBVEZPUk0oV1gpCiAgICAgZmxvYXQgc3ludGhldGljQm9sZE9mZnNldCgpIGNvbnN0
IHsgcmV0dXJuIG1fc3ludGhldGljQm9sZE9mZnNldDsgfQpAQCAtMjMwLDcgKzIyOSw2IEBAIHBy
aXZhdGU6CiAKICAgICBHbHlwaCBtX3NwYWNlR2x5cGg7CiAgICAgZmxvYXQgbV9zcGFjZVdpZHRo
OwotICAgIGZsb2F0IG1fYWRqdXN0ZWRTcGFjZVdpZHRoOwogCiAgICAgR2x5cGggbV96ZXJvV2lk
dGhTcGFjZUdseXBoOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9T
dHJpbmdUcnVuY2F0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5jcHAJKHJldmlzaW9uIDc4NTcxKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTIsMjIgKzkyLDIwIEBAIHN0YXRpYyB1bnNpZ25lZCByaWdodFRydW5jYXRlVG9C
dWZmZXIoY28KICAgICByZXR1cm4gdHJ1bmNhdGVkTGVuZ3RoOwogfQogCi1zdGF0aWMgZmxvYXQg
c3RyaW5nV2lkdGgoY29uc3QgRm9udCYgcmVuZGVyZXIsIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJz
LCB1bnNpZ25lZCBsZW5ndGgsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MpCitzdGF0aWMgZmxv
YXQgc3RyaW5nV2lkdGgoY29uc3QgRm9udCYgcmVuZGVyZXIsIGNvbnN0IFVDaGFyKiBjaGFyYWN0
ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7CiAgICAgVGV4dFJ1biBydW4oY2hhcmFjdGVycywgbGVu
Z3RoKTsKLSAgICBpZiAoZGlzYWJsZVJvdW5kaW5nSGFja3MpCi0gICAgICAgIHJ1bi5kaXNhYmxl
Um91bmRpbmdIYWNrcygpOwotICAgIHJldHVybiByZW5kZXJlci5mbG9hdFdpZHRoKHJ1bik7Cisg
ICAgcmV0dXJuIHJlbmRlcmVyLndpZHRoKHJ1bik7CiB9CiAKLXN0YXRpYyBTdHJpbmcgdHJ1bmNh
dGVTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250
JiBmb250LCBUcnVuY2F0aW9uRnVuY3Rpb24gdHJ1bmNhdGVUb0J1ZmZlciwgYm9vbCBkaXNhYmxl
Um91bmRpbmdIYWNrcykKK3N0YXRpYyBTdHJpbmcgdHJ1bmNhdGVTdHJpbmcoY29uc3QgU3RyaW5n
JiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250JiBmb250LCBUcnVuY2F0aW9uRnVu
Y3Rpb24gdHJ1bmNhdGVUb0J1ZmZlcikKIHsKICAgICBpZiAoc3RyaW5nLmlzRW1wdHkoKSkKICAg
ICAgICAgcmV0dXJuIHN0cmluZzsKICAgICAKICAgICBBU1NFUlQobWF4V2lkdGggPj0gMCk7CiAg
ICAgCi0gICAgZmxvYXQgY3VycmVudEVsbGlwc2lzV2lkdGggPSBzdHJpbmdXaWR0aChmb250LCAm
aG9yaXpvbnRhbEVsbGlwc2lzLCAxLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgZmxvYXQg
Y3VycmVudEVsbGlwc2lzV2lkdGggPSBzdHJpbmdXaWR0aChmb250LCAmaG9yaXpvbnRhbEVsbGlw
c2lzLCAxKTsKICAgICAKICAgICBVQ2hhciBzdHJpbmdCdWZmZXJbU1RSSU5HX0JVRkZFUl9TSVpF
XTsKICAgICB1bnNpZ25lZCB0cnVuY2F0ZWRMZW5ndGg7CkBAIC0xMjMsNyArMTIxLDcgQEAgc3Rh
dGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAgICAgICB0cnVuY2F0ZWRM
ZW5ndGggPSBsZW5ndGg7CiAgICAgfQogCi0gICAgZmxvYXQgd2lkdGggPSBzdHJpbmdXaWR0aChm
b250LCBzdHJpbmdCdWZmZXIsIHRydW5jYXRlZExlbmd0aCwgZGlzYWJsZVJvdW5kaW5nSGFja3Mp
OworICAgIGZsb2F0IHdpZHRoID0gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5nQnVmZmVyLCB0cnVu
Y2F0ZWRMZW5ndGgpOwogICAgIGlmICh3aWR0aCA8PSBtYXhXaWR0aCkKICAgICAgICAgcmV0dXJu
IHN0cmluZzsKIApAQCAtMTU5LDcgKzE1Nyw3IEBAIHN0YXRpYyBTdHJpbmcgdHJ1bmNhdGVTdHJp
bmcoY29uc3QgU3RyaW4KICAgICAgICAgCiAgICAgICAgIHRydW5jYXRlZExlbmd0aCA9IHRydW5j
YXRlVG9CdWZmZXIoc3RyaW5nLCBsZW5ndGgsIGtlZXBDb3VudCwgc3RyaW5nQnVmZmVyKTsKIAot
ICAgICAgICB3aWR0aCA9IHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZ0J1ZmZlciwgdHJ1bmNhdGVk
TGVuZ3RoLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgICAgIHdpZHRoID0gc3RyaW5nV2lk
dGgoZm9udCwgc3RyaW5nQnVmZmVyLCB0cnVuY2F0ZWRMZW5ndGgpOwogICAgICAgICBpZiAod2lk
dGggPD0gbWF4V2lkdGgpIHsKICAgICAgICAgICAgIGtlZXBDb3VudEZvckxhcmdlc3RLbm93blRv
Rml0ID0ga2VlcENvdW50OwogICAgICAgICAgICAgd2lkdGhGb3JMYXJnZXN0S25vd25Ub0ZpdCA9
IHdpZHRoOwpAQCAtMTgxLDE5ICsxNzksMTkgQEAgc3RhdGljIFN0cmluZyB0cnVuY2F0ZVN0cmlu
Zyhjb25zdCBTdHJpbgogICAgIHJldHVybiBTdHJpbmcoc3RyaW5nQnVmZmVyLCB0cnVuY2F0ZWRM
ZW5ndGgpOwogfQogCi1TdHJpbmcgU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShjb25z
dCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wg
ZGlzYWJsZVJvdW5kaW5nSGFja3MpCitTdHJpbmcgU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVu
Y2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZv
bnQpCiB7Ci0gICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4V2lkdGgsIGZvbnQs
IGNlbnRlclRydW5jYXRlVG9CdWZmZXIsIGRpc2FibGVSb3VuZGluZ0hhY2tzKTsKKyAgICByZXR1
cm4gdHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBtYXhXaWR0aCwgZm9udCwgY2VudGVyVHJ1bmNhdGVU
b0J1ZmZlcik7CiB9CiAKLVN0cmluZyBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUoY29u
c3QgU3RyaW5nJiBzdHJpbmcsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250JiBmb250LCBib29s
IGRpc2FibGVSb3VuZGluZ0hhY2tzKQorU3RyaW5nIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVu
Y2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZv
bnQpCiB7Ci0gICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4V2lkdGgsIGZvbnQs
IHJpZ2h0VHJ1bmNhdGVUb0J1ZmZlciwgZGlzYWJsZVJvdW5kaW5nSGFja3MpOworICAgIHJldHVy
biB0cnVuY2F0ZVN0cmluZyhzdHJpbmcsIG1heFdpZHRoLCBmb250LCByaWdodFRydW5jYXRlVG9C
dWZmZXIpOwogfQogCi1mbG9hdCBTdHJpbmdUcnVuY2F0b3I6OndpZHRoKGNvbnN0IFN0cmluZyYg
c3RyaW5nLCBjb25zdCBGb250JiBmb250LCBib29sIGRpc2FibGVSb3VuZGluZ0hhY2tzKQorZmxv
YXQgU3RyaW5nVHJ1bmNhdG9yOjp3aWR0aChjb25zdCBTdHJpbmcmIHN0cmluZywgY29uc3QgRm9u
dCYgZm9udCkKIHsKLSAgICByZXR1cm4gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5nLmNoYXJhY3Rl
cnMoKSwgc3RyaW5nLmxlbmd0aCgpLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7CisgICAgcmV0dXJu
IHN0cmluZ1dpZHRoKGZvbnQsIHN0cmluZy5jaGFyYWN0ZXJzKCksIHN0cmluZy5sZW5ndGgoKSk7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCShyZXZpc2lvbiA3ODU3MSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zNyw5ICszNyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAK
ICAgICBjbGFzcyBTdHJpbmdUcnVuY2F0b3IgewogICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGlj
IFN0cmluZyBjZW50ZXJUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBtYXhXaWR0aCwgY29u
c3QgRm9udCYsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MgPSB0cnVlKTsKLSAgICAgICAgc3Rh
dGljIFN0cmluZyByaWdodFRydW5jYXRlKGNvbnN0IFN0cmluZyYsIGZsb2F0IG1heFdpZHRoLCBj
b25zdCBGb250JiwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcyA9IHRydWUpOwotICAgICAgICBz
dGF0aWMgZmxvYXQgd2lkdGgoY29uc3QgU3RyaW5nJiwgY29uc3QgRm9udCYsIGJvb2wgZGlzYWJs
ZVJvdW5kaW5nSGFja3MgPSB0cnVlKTsKKyAgICAgICAgc3RhdGljIFN0cmluZyBjZW50ZXJUcnVu
Y2F0ZShjb25zdCBTdHJpbmcmLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9udCYpOworICAgICAg
ICBzdGF0aWMgU3RyaW5nIHJpZ2h0VHJ1bmNhdGUoY29uc3QgU3RyaW5nJiwgZmxvYXQgbWF4V2lk
dGgsIGNvbnN0IEZvbnQmKTsKKyAgICAgICAgc3RhdGljIGZsb2F0IHdpZHRoKGNvbnN0IFN0cmlu
ZyYsIGNvbnN0IEZvbnQmKTsKICAgICB9OwogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RleHRSdW4uaAkocmV2aXNp
b24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM4LDggKzM4LDcgQEAgcHVibGljOgogICAgICAgICBGb3JiaWRU
cmFpbGluZ0V4cGFuc2lvbgogICAgIH07CiAKLSAgICBUZXh0UnVuKGNvbnN0IFVDaGFyKiBjLCBp
bnQgbGVuLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBpbnQgeHBvcyA9IDAsIGludCBleHBhbnNp
b24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZp
b3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNlLCBib29sIGRpcmVj
dGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSwKLSAgICAgICAgICAgICAgYm9vbCBhcHBseVJ1blJvdW5k
aW5nID0gdHJ1ZSwgYm9vbCBhcHBseVdvcmRSb3VuZGluZyA9IHRydWUpCisgICAgVGV4dFJ1bihj
b25zdCBVQ2hhciogYywgaW50IGxlbiwgYm9vbCBhbGxvd1RhYnMgPSBmYWxzZSwgZmxvYXQgeHBv
cyA9IDAsIGZsb2F0IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgdHJh
aWxpbmdFeHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGJvb2wgcnRs
ID0gZmFsc2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlKQogICAgICAgICA6IG1f
Y2hhcmFjdGVycyhjKQogICAgICAgICAsIG1fbGVuKGxlbikKICAgICAgICAgLCBtX3hwb3MoeHBv
cykKQEAgLTUxLDggKzUwLDYgQEAgcHVibGljOgogICAgICAgICAsIG1fYWxsb3dUYWJzKGFsbG93
VGFicykKICAgICAgICAgLCBtX3J0bChydGwpCiAgICAgICAgICwgbV9kaXJlY3Rpb25hbE92ZXJy
aWRlKGRpcmVjdGlvbmFsT3ZlcnJpZGUpCi0gICAgICAgICwgbV9hcHBseVJ1blJvdW5kaW5nKGFw
cGx5UnVuUm91bmRpbmcpCi0gICAgICAgICwgbV9hcHBseVdvcmRSb3VuZGluZyhhcHBseVdvcmRS
b3VuZGluZykKICAgICAgICAgLCBtX2Rpc2FibGVTcGFjaW5nKGZhbHNlKQogI2lmIEVOQUJMRShT
VkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2luZ1JlbmRlck9iamVjdCgwKQpAQCAtNjEs
OCArNTgsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIFRleHRSdW4oY29uc3QgU3Ry
aW5nJiBzLCBib29sIGFsbG93VGFicyA9IGZhbHNlLCBpbnQgeHBvcyA9IDAsIGludCBleHBhbnNp
b24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZp
b3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNlLCBib29sIGRpcmVj
dGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSwKLSAgICAgICAgICAgICAgYm9vbCBhcHBseVJ1blJvdW5k
aW5nID0gdHJ1ZSwgYm9vbCBhcHBseVdvcmRSb3VuZGluZyA9IHRydWUpCisgICAgVGV4dFJ1bihj
b25zdCBTdHJpbmcmIHMsIGJvb2wgYWxsb3dUYWJzID0gZmFsc2UsIGZsb2F0IHhwb3MgPSAwLCBm
bG9hdCBleHBhbnNpb24gPSAwLCBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIHRyYWlsaW5nRXhw
YW5zaW9uQmVoYXZpb3IgPSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBib29sIHJ0bCA9IGZhbHNl
LCBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUgPSBmYWxzZSkKICAgICAgICAgOiBtX2NoYXJhY3Rl
cnMocy5jaGFyYWN0ZXJzKCkpCiAgICAgICAgICwgbV9sZW4ocy5sZW5ndGgoKSkKICAgICAgICAg
LCBtX3hwb3MoeHBvcykKQEAgLTc0LDggKzcwLDYgQEAgcHVibGljOgogICAgICAgICAsIG1fYWxs
b3dUYWJzKGFsbG93VGFicykKICAgICAgICAgLCBtX3J0bChydGwpCiAgICAgICAgICwgbV9kaXJl
Y3Rpb25hbE92ZXJyaWRlKGRpcmVjdGlvbmFsT3ZlcnJpZGUpCi0gICAgICAgICwgbV9hcHBseVJ1
blJvdW5kaW5nKGFwcGx5UnVuUm91bmRpbmcpCi0gICAgICAgICwgbV9hcHBseVdvcmRSb3VuZGlu
ZyhhcHBseVdvcmRSb3VuZGluZykKICAgICAgICAgLCBtX2Rpc2FibGVTcGFjaW5nKGZhbHNlKQog
I2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICwgbV9yZWZlcmVuY2luZ1JlbmRlck9iamVj
dCgwKQpAQCAtOTgsMTggKzkyLDE1IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgYm9vbCBhbGxv
d1RhYnMoKSBjb25zdCB7IHJldHVybiBtX2FsbG93VGFiczsgfQotICAgIGludCB4UG9zKCkgY29u
c3QgeyByZXR1cm4gbV94cG9zOyB9Ci0gICAgaW50IGV4cGFuc2lvbigpIGNvbnN0IHsgcmV0dXJu
IG1fZXhwYW5zaW9uOyB9CisgICAgZmxvYXQgeFBvcygpIGNvbnN0IHsgcmV0dXJuIG1feHBvczsg
fQorICAgIGZsb2F0IGV4cGFuc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fZXhwYW5zaW9uOyB9CiAg
ICAgYm9vbCBhbGxvd3NUcmFpbGluZ0V4cGFuc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fdHJhaWxp
bmdFeHBhbnNpb25CZWhhdmlvciA9PSBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uOyB9CiAgICAgYm9v
bCBydGwoKSBjb25zdCB7IHJldHVybiBtX3J0bDsgfQogICAgIGJvb2wgbHRyKCkgY29uc3QgeyBy
ZXR1cm4gIW1fcnRsOyB9CiAgICAgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRlKCkgY29uc3QgeyBy
ZXR1cm4gbV9kaXJlY3Rpb25hbE92ZXJyaWRlOyB9Ci0gICAgYm9vbCBhcHBseVJ1blJvdW5kaW5n
KCkgY29uc3QgeyByZXR1cm4gbV9hcHBseVJ1blJvdW5kaW5nOyB9Ci0gICAgYm9vbCBhcHBseVdv
cmRSb3VuZGluZygpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbHlXb3JkUm91bmRpbmc7IH0KICAgICBi
b29sIHNwYWNpbmdEaXNhYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzYWJsZVNwYWNpbmc7IH0K
IAogICAgIHZvaWQgZGlzYWJsZVNwYWNpbmcoKSB7IG1fZGlzYWJsZVNwYWNpbmcgPSB0cnVlOyB9
Ci0gICAgdm9pZCBkaXNhYmxlUm91bmRpbmdIYWNrcygpIHsgbV9hcHBseVJ1blJvdW5kaW5nID0g
bV9hcHBseVdvcmRSb3VuZGluZyA9IGZhbHNlOyB9CiAgICAgdm9pZCBzZXRSVEwoYm9vbCBiKSB7
IG1fcnRsID0gYjsgfQogICAgIHZvaWQgc2V0RGlyZWN0aW9uYWxPdmVycmlkZShib29sIG92ZXJy
aWRlKSB7IG1fZGlyZWN0aW9uYWxPdmVycmlkZSA9IG92ZXJyaWRlOyB9CiAKQEAgLTEyOCw4ICsx
MTksOCBAQCBwcml2YXRlOgogICAgIC8vIG1feHBvcyBpcyB0aGUgeCBwb3NpdGlvbiByZWxhdGl2
ZSB0byB0aGUgbGVmdCBzdGFydCBvZiB0aGUgdGV4dCBsaW5lLCBub3QgcmVsYXRpdmUgdG8gdGhl
IGxlZnQKICAgICAvLyBzdGFydCBvZiB0aGUgY29udGFpbmluZyBibG9jay4gSW4gdGhlIGNhc2Ug
b2YgcmlnaHQgYWxpZ25tZW50IG9yIGNlbnRlciBhbGlnbm1lbnQsIGxlZnQgc3RhcnQgb2YKICAg
ICAvLyB0aGUgdGV4dCBsaW5lIGlzIG5vdCB0aGUgc2FtZSBhcyBsZWZ0IHN0YXJ0IG9mIHRoZSBj
b250YWluaW5nIGJsb2NrLgotICAgIGludCBtX3hwb3M7ICAKLSAgICBpbnQgbV9leHBhbnNpb247
CisgICAgZmxvYXQgbV94cG9zOyAgCisgICAgZmxvYXQgbV9leHBhbnNpb247CiAgICAgVHJhaWxp
bmdFeHBhbnNpb25CZWhhdmlvciBtX3RyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3I7CiAjaWYgRU5B
QkxFKFNWRykKICAgICBmbG9hdCBtX2hvcml6b250YWxHbHlwaFN0cmV0Y2g7CkBAIC0xMzcsOCAr
MTI4LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fYWxsb3dUYWJzOwogICAgIGJvb2wgbV9ydGw7
CiAgICAgYm9vbCBtX2RpcmVjdGlvbmFsT3ZlcnJpZGU7Ci0gICAgYm9vbCBtX2FwcGx5UnVuUm91
bmRpbmc7Ci0gICAgYm9vbCBtX2FwcGx5V29yZFJvdW5kaW5nOwogICAgIGJvb2wgbV9kaXNhYmxl
U3BhY2luZzsKIAogI2lmIEVOQUJMRShTVkdfRk9OVFMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAkocmV2aXNpb24gNzg1
NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNiBAQCBXaWR0aEl0ZXJhdG9yOjpXaWR0aEl0
ZXJhdG9yKGNvbnN0IEZvbnQqCiAgICAgLCBtX2N1cnJlbnRDaGFyYWN0ZXIoMCkKICAgICAsIG1f
cnVuV2lkdGhTb0ZhcigwKQogICAgICwgbV9pc0FmdGVyRXhwYW5zaW9uKHRydWUpCi0gICAgLCBt
X2ZpbmFsUm91bmRpbmdXaWR0aCgwKQogICAgICwgbV9mYWxsYmFja0ZvbnRzKGZhbGxiYWNrRm9u
dHMpCiAgICAgLCBtX2FjY291bnRGb3JHbHlwaEJvdW5kcyhhY2NvdW50Rm9yR2x5cGhCb3VuZHMp
CiAgICAgLCBtX21heEdseXBoQm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWlu
KCkpCkBAIC04NiwxMSArODUsNiBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9m
ZnNldCwgCiAgICAgYm9vbCBydGwgPSBtX3J1bi5ydGwoKTsKICAgICBib29sIGhhc0V4dHJhU3Bh
Y2luZyA9IChtX2ZvbnQtPmxldHRlclNwYWNpbmcoKSB8fCBtX2ZvbnQtPndvcmRTcGFjaW5nKCkg
fHwgbV9leHBhbnNpb24pICYmICFtX3J1bi5zcGFjaW5nRGlzYWJsZWQoKTsKIAotICAgIGZsb2F0
IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSBtX3J1bldpZHRoU29GYXI7Ci0gICAgbV9ydW5XaWR0
aFNvRmFyID0gZmxvb3JmKG1fcnVuV2lkdGhTb0Zhcik7Ci0gICAgd2lkdGhTaW5jZUxhc3RSb3Vu
ZGluZyAtPSBtX3J1bldpZHRoU29GYXI7Ci0KLSAgICBmbG9hdCBsYXN0Um91bmRpbmdXaWR0aCA9
IG1fZmluYWxSb3VuZGluZ1dpZHRoOwogICAgIEZsb2F0UmVjdCBib3VuZHM7CiAKICAgICBjb25z
dCBTaW1wbGVGb250RGF0YSogcHJpbWFyeUZvbnQgPSBtX2ZvbnQtPnByaW1hcnlGb250KCk7CkBA
IC0xMzYsNyArMTMwLDcgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQs
IAogICAgICAgICBmbG9hdCB3aWR0aDsKICAgICAgICAgaWYgKGMgPT0gJ1x0JyAmJiBtX3J1bi5h
bGxvd1RhYnMoKSkgewogICAgICAgICAgICAgZmxvYXQgdGFiV2lkdGggPSBtX2ZvbnQtPnRhYldp
ZHRoKCpmb250RGF0YSk7Ci0gICAgICAgICAgICB3aWR0aCA9IHRhYldpZHRoIC0gZm1vZGYobV9y
dW4ueFBvcygpICsgbV9ydW5XaWR0aFNvRmFyICsgd2lkdGhTaW5jZUxhc3RSb3VuZGluZywgdGFi
V2lkdGgpOworICAgICAgICAgICAgd2lkdGggPSB0YWJXaWR0aCAtIGZtb2RmKG1fcnVuLnhQb3Mo
KSArIG1fcnVuV2lkdGhTb0ZhciwgdGFiV2lkdGgpOwogICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgd2lkdGggPSBmb250RGF0YS0+d2lkdGhGb3JHbHlwaChnbHlwaCk7CiAKQEAgLTE0NCwx
MyArMTM4LDYgQEAgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQsIAogICAg
ICAgICAgICAgLy8gU1ZHIHVzZXMgaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgpLCB3aGVuIHRleHRM
ZW5ndGggaXMgdXNlZCB0byBzdHJldGNoL3NxdWVlemUgdGV4dC4KICAgICAgICAgICAgIHdpZHRo
ICo9IG1fcnVuLmhvcml6b250YWxHbHlwaFN0cmV0Y2goKTsKICNlbmRpZgotCi0gICAgICAgICAg
ICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlzIHdoZW4gYXBwbHlpbmcgd29y
ZCByb3VuZGluZy4KLSAgICAgICAgICAgIC8vIEZpcnN0LCB3ZSByb3VuZCBzcGFjZXMgdG8gYW4g
YWRqdXN0ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAgICAgLy8gU2Vjb25kLCBpbiBm
aXhlZC1waXRjaCBmb250cyB3ZSBlbnN1cmUgdGhhdCBhbGwgY2hhcmFjdGVycyB0aGF0Ci0gICAg
ICAgICAgICAvLyBtYXRjaCB0aGUgd2lkdGggb2YgdGhlIHNwYWNlIGNoYXJhY3RlciBoYXZlIHRo
ZSBzYW1lIHdpZHRoIGFzIHRoZSBzcGFjZSBjaGFyYWN0ZXIuCi0gICAgICAgICAgICBpZiAod2lk
dGggPT0gZm9udERhdGEtPnNwYWNlV2lkdGgoKSAmJiAoZm9udERhdGEtPnBpdGNoKCkgPT0gRml4
ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgpKSAmJiBtX3J1bi5hcHBs
eVdvcmRSb3VuZGluZygpKQotICAgICAgICAgICAgICAgIHdpZHRoID0gZm9udERhdGEtPmFkanVz
dGVkU3BhY2VXaWR0aCgpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGZvbnREYXRhICE9IGxh
c3RGb250RGF0YSAmJiB3aWR0aCkgewpAQCAtMTc5LDE4ICsxNjYsMTUgQEAgdm9pZCBXaWR0aEl0
ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQsIAogICAgICAgICAgICAgICAgIC8vIERpc3RyaWJ1
dGUgdGhlIHJ1bidzIHRvdGFsIGV4cGFuc2lvbiBldmVubHkgb3ZlciBhbGwgZXhwYW5zaW9uIG9w
cG9ydHVuaXRpZXMgaW4gdGhlIHJ1bi4KICAgICAgICAgICAgICAgICBpZiAobV9leHBhbnNpb24g
JiYgKG1fcnVuLmFsbG93c1RyYWlsaW5nRXhwYW5zaW9uKCkgfHwgKG1fcnVuLmx0cigpICYmIGN1
cnJlbnRDaGFyYWN0ZXIgKyBjbHVzdGVyTGVuZ3RoIDwgc3RhdGljX2Nhc3Q8c2l6ZV90PihtX3J1
bi5sZW5ndGgoKSkpCiAgICAgICAgICAgICAgICAgICAgIHx8IChtX3J1bi5ydGwoKSAmJiBjdXJy
ZW50Q2hhcmFjdGVyKSkpIHsKLSAgICAgICAgICAgICAgICAgICAgZmxvYXQgcHJldmlvdXNFeHBh
bnNpb24gPSBtX2V4cGFuc2lvbjsKICAgICAgICAgICAgICAgICAgICAgaWYgKCF0cmVhdEFzU3Bh
Y2UgJiYgIW1faXNBZnRlckV4cGFuc2lvbikgewogICAgICAgICAgICAgICAgICAgICAgICAgLy8g
VGFrZSB0aGUgZXhwYW5zaW9uIG9wcG9ydHVuaXR5IGJlZm9yZSB0aGlzIGlkZW9ncmFwaC4KICAg
ICAgICAgICAgICAgICAgICAgICAgIG1fZXhwYW5zaW9uIC09IG1fZXhwYW5zaW9uUGVyT3Bwb3J0
dW5pdHk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpbnQgZXhwYW5zaW9uID0gcm91bmRmKHBy
ZXZpb3VzRXhwYW5zaW9uKSAtIHJvdW5kZihtX2V4cGFuc2lvbik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gZXhwYW5zaW9uOworICAgICAgICAgICAgICAgICAg
ICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7CiAgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoZ2x5cGhCdWZmZXIpCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZ2x5cGhCdWZmZXItPmV4cGFuZExhc3RBZHZhbmNlKGV4cGFuc2lvbik7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0V4cGFuc2lvbiA9IG1fZXhwYW5zaW9uOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQnVmZmVyLT5leHBhbmRMYXN0QWR2YW5jZSht
X2V4cGFuc2lvblBlck9wcG9ydHVuaXR5KTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5Owot
ICAgICAgICAgICAgICAgICAgICB3aWR0aCArPSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0g
cm91bmRmKG1fZXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAgICAgICAgd2lkdGggKz0gbV9leHBh
bnNpb25QZXJPcHBvcnR1bml0eTsKICAgICAgICAgICAgICAgICAgICAgbV9pc0FmdGVyRXhwYW5z
aW9uID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAg
bV9pc0FmdGVyRXhwYW5zaW9uID0gZmFsc2U7CkBAIC0yMTYsNDMgKzIwMCwxMCBAQCB2b2lkIFdp
ZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9mZnNldCwgCiAgICAgICAgIGNwICs9IGNsdXN0ZXJM
ZW5ndGg7CiAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXIgKz0gY2x1c3Rlckxlbmd0aDsKIAotICAg
ICAgICAvLyBBY2NvdW50IGZvciBmbG9hdC9pbnRlZ2VyIGltcGVkYW5jZSBtaXNtYXRjaCBiZXR3
ZWVuIENHIGFuZCBLSFRNTC4gIldvcmRzIiAoY2hhcmFjdGVycyAKLSAgICAgICAgLy8gZm9sbG93
ZWQgYnkgYSBjaGFyYWN0ZXIgZGVmaW5lZCBieSBpc1JvdW5kaW5nSGFja0NoYXJhY3RlcigpKSBh
cmUgYWx3YXlzIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgIC8vIFdlIGFkanVzdCB0aGUgd2lk
dGggb2YgdGhlIGxhc3QgY2hhcmFjdGVyIG9mIGEgIndvcmQiIHRvIGVuc3VyZSBhbiBpbnRlZ2Vy
IHdpZHRoLgotICAgICAgICAvLyBJZiB3ZSBtb3ZlIEtIVE1MIHRvIGZsb2F0cyB3ZSBjYW4gcmVt
b3ZlIHRoaXMgKGFuZCByZWxhdGVkKSBoYWNrcy4KLQotICAgICAgICBmbG9hdCBvbGRXaWR0aCA9
IHdpZHRoOwotCi0gICAgICAgIC8vIEZvcmNlIGNoYXJhY3RlcnMgdGhhdCBhcmUgdXNlZCB0byBk
ZXRlcm1pbmUgd29yZCBib3VuZGFyaWVzIGZvciB0aGUgcm91bmRpbmcgaGFjawotICAgICAgICAv
LyB0byBiZSBpbnRlZ2VyIHdpZHRoLCBzbyBmb2xsb3dpbmcgd29yZHMgd2lsbCBzdGFydCBvbiBh
biBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICBpZiAobV9ydW4uYXBwbHlXb3JkUm91bmRpbmco
KSAmJiBGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3RlcihjKSkgewotICAgICAgICAgICAgd2lk
dGggPSBjZWlsZih3aWR0aCk7Ci0KLSAgICAgICAgICAgIC8vIFNpbmNlIHdpZHRoU2luY2VMYXN0
Um91bmRpbmcgY2FuIGxvc2UgcHJlY2lzaW9uIGlmIHdlIGluY2x1ZGUgbWVhc3VyZW1lbnRzIGZv
cgotICAgICAgICAgICAgLy8gcHJlY2VkaW5nIHdoaXRlc3BhY2UsIHdlIGJ5cGFzcyBpdCBoZXJl
LgotICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoOwotCi0gICAgICAgICAgICAv
LyBTaW5jZSB0aGlzIGlzIGEgcm91bmRpbmcgaGFjayBjaGFyYWN0ZXIsIHdlIHNob3VsZCBoYXZl
IHJlc2V0IHRoaXMgc3VtIG9uIHRoZSBwcmV2aW91cwotICAgICAgICAgICAgLy8gaXRlcmF0aW9u
LgotICAgICAgICAgICAgQVNTRVJUKCF3aWR0aFNpbmNlTGFzdFJvdW5kaW5nKTsKLSAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgbmV4dCBjaGFyYWN0
ZXIgaXMgYSAicm91bmRpbmcgaGFjayBjaGFyYWN0ZXIiLCBpZiBzbywgYWRqdXN0Ci0gICAgICAg
ICAgICAvLyB3aWR0aCBzbyB0aGF0IHRoZSB0b3RhbCBydW4gd2lkdGggd2lsbCBiZSBvbiBhbiBp
bnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICAgICAgaWYgKChtX3J1bi5hcHBseVdvcmRSb3VuZGlu
ZygpICYmIGN1cnJlbnRDaGFyYWN0ZXIgPCBtX3J1bi5sZW5ndGgoKSAmJiBGb250Ojppc1JvdW5k
aW5nSGFja0NoYXJhY3RlcigqY3ApKQotICAgICAgICAgICAgICAgICAgICB8fCAobV9ydW4uYXBw
bHlSdW5Sb3VuZGluZygpICYmIGN1cnJlbnRDaGFyYWN0ZXIgPj0gbV9lbmQpKSB7Ci0gICAgICAg
ICAgICAgICAgZmxvYXQgdG90YWxXaWR0aCA9IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgKyB3aWR0
aDsKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gY2VpbGYodG90YWxX
aWR0aCk7Ci0gICAgICAgICAgICAgICAgd2lkdGggKz0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZyAt
IHRvdGFsV2lkdGg7Ci0gICAgICAgICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoU2lu
Y2VMYXN0Um91bmRpbmc7Ci0gICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9
IDA7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJv
dW5kaW5nICs9IHdpZHRoOwotICAgICAgICB9CisgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3
aWR0aDsKIAogICAgICAgICBpZiAoZ2x5cGhCdWZmZXIpCi0gICAgICAgICAgICBnbHlwaEJ1ZmZl
ci0+YWRkKGdseXBoLCBmb250RGF0YSwgKHJ0bCA/IG9sZFdpZHRoICsgbGFzdFJvdW5kaW5nV2lk
dGggOiB3aWR0aCkpOwotCi0gICAgICAgIGxhc3RSb3VuZGluZ1dpZHRoID0gd2lkdGggLSBvbGRX
aWR0aDsKKyAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQoZ2x5cGgsIGZvbnREYXRhLCB3aWR0
aCk7CiAKICAgICAgICAgaWYgKG1fYWNjb3VudEZvckdseXBoQm91bmRzKSB7CiAgICAgICAgICAg
ICBtX21heEdseXBoQm91bmRpbmdCb3hZID0gbWF4KG1fbWF4R2x5cGhCb3VuZGluZ0JveFksIGJv
dW5kcy5tYXhZKCkpOwpAQCAtMjYyLDggKzIxMyw2IEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2
YW5jZShpbnQgb2Zmc2V0LCAKICAgICB9CiAKICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBjdXJy
ZW50Q2hhcmFjdGVyOwotICAgIG1fcnVuV2lkdGhTb0ZhciArPSB3aWR0aFNpbmNlTGFzdFJvdW5k
aW5nOwotICAgIG1fZmluYWxSb3VuZGluZ1dpZHRoID0gbGFzdFJvdW5kaW5nV2lkdGg7CiB9CiAK
IGJvb2wgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZU9uZUNoYXJhY3RlcihmbG9hdCYgd2lkdGgsIEds
eXBoQnVmZmVyKiBnbHlwaEJ1ZmZlcikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1dpZHRoSXRlcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgJKHJldmlzaW9uIDc4NTcxKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCSh3b3JraW5nIGNvcHkp
CkBAIC01Myw3ICs1Myw2IEBAIHN0cnVjdCBXaWR0aEl0ZXJhdG9yIHsKICAgICBmbG9hdCBtX2V4
cGFuc2lvbjsKICAgICBmbG9hdCBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwogICAgIGJvb2wg
bV9pc0FmdGVyRXhwYW5zaW9uOwotICAgIGZsb2F0IG1fZmluYWxSb3VuZGluZ1dpZHRoOwogCiBw
cml2YXRlOgogICAgIFVDaGFyMzIgbm9ybWFsaXplVm9pY2luZ01hcmtzKGludCBjdXJyZW50Q2hh
cmFjdGVyKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dy
YXBoaWNzQ29udGV4dENhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAJKHJldmlzaW9uIDc4
NTcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3ND
b250ZXh0Q2Fpcm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MDEsMjAgKzcwMSwyMiBAQCB2b2lk
IEdyYXBoaWNzQ29udGV4dDo6ZHJhd0ZvY3VzUmluZyhjb25zCiAgICAgY2Fpcm9fcmVzdG9yZShj
cik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgSW50
UG9pbnQmIG9yaWdpbiwgaW50IHdpZHRoLCBib29sIHByaW50aW5nKQordm9pZCBHcmFwaGljc0Nv
bnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjb25zdCBGbG9hdFBvaW50JiBvcmlnaW4sIGZsb2F0IHdp
ZHRoLCBib29sIHByaW50aW5nKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIEludFBvaW50IGVuZFBvaW50ID0gb3JpZ2luICsgSW50U2l6ZSh3
aWR0aCwgMCk7Ci0gICAgZHJhd0xpbmUob3JpZ2luLCBlbmRQb2ludCk7CisgICAgRmxvYXRQb2lu
dCBlbmRQb2ludCA9IG9yaWdpbiArIEZsb2F0U2l6ZSh3aWR0aCwgMCk7CisgICAgCisgICAgLy8g
RklYTUU6IExvc3Mgb2YgcHJlY2lzaW9uIGhlcmUuIE1pZ2h0IGNvbnNpZGVyIHJvdW5kaW5nLgor
ICAgIGRyYXdMaW5lKEludFBvaW50KG9yaWdpbi54KCksIG9yaWdpbi55KCkpLCBJbnRQb2ludChl
bmRQb2ludC54KCksIGVuZFBvaW50LnkoKSkpOwogfQogCiAjaWYgIVBMQVRGT1JNKEdUSykKICNp
bmNsdWRlICJEcmF3RXJyb3JVbmRlcmxpbmUuaCIKICNlbmRpZgogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmIG9yaWdpbiwgaW50
IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCit2b2lkIEdyYXBoaWNzQ29udGV4
dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luLCBmbG9h
dCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxlKQogewogICAgIGlmIChwYWludGlu
Z0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAJKHJl
dmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3Jh
cGhpY3NDb250ZXh0Q0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMwLDcgKzExMzAsNyBAQCBG
bG9hdFJlY3QgR3JhcGhpY3NDb250ZXh0Ojpyb3VuZFRvRGV2aWNlCiAgICAgcmV0dXJuIEZsb2F0
UmVjdChyb3VuZGVkT3JpZ2luLCByb3VuZGVkTG93ZXJSaWdodCAtIHJvdW5kZWRPcmlnaW4pOwog
fQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEludFBvaW50
JiBwb2ludCwgaW50IHdpZHRoLCBib29sIHByaW50aW5nKQordm9pZCBHcmFwaGljc0NvbnRleHQ6
OmRyYXdMaW5lRm9yVGV4dChjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgZmxvYXQgd2lkdGgsIGJv
b2wgcHJpbnRpbmcpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0
dXJuOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhU
ZXh0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDc4NTcxKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJv
bGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDEzICs0OSw2IEBAIHN0YXRpYyBpbmxpbmUg
Q0dGbG9hdCByb3VuZENHRmxvYXQoQ0dGbG8KICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q0dGbG9h
dD4ocm91bmQoZikpOwogfQogCi1zdGF0aWMgaW5saW5lIENHRmxvYXQgY2VpbENHRmxvYXQoQ0dG
bG9hdCBmKQotewotICAgIGlmIChzaXplb2YoQ0dGbG9hdCkgPT0gc2l6ZW9mKGZsb2F0KSkKLSAg
ICAgICAgcmV0dXJuIGNlaWxmKHN0YXRpY19jYXN0PGZsb2F0PihmKSk7Ci0gICAgcmV0dXJuIHN0
YXRpY19jYXN0PENHRmxvYXQ+KGNlaWwoZikpOwotfQotCiBDb21wbGV4VGV4dENvbnRyb2xsZXI6
OkNvbXBsZXhUZXh0Q29udHJvbGxlcihjb25zdCBGb250KiBmb250LCBjb25zdCBUZXh0UnVuJiBy
dW4sIGJvb2wgbWF5VXNlTmF0dXJhbFdyaXRpbmdEaXJlY3Rpb24sIEhhc2hTZXQ8Y29uc3QgU2lt
cGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgYm9vbCBmb3JUZXh0RW1waGFzaXMpCiAgICAg
OiBtX2ZvbnQoKmZvbnQpCiAgICAgLCBtX3J1bihydW4pCkBAIC02OSw3ICs2Miw2IEBAIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6Q29tcGxleFRleHRDb250cm8KICAgICAsIG1fY3VycmVudFJ1bigw
KQogICAgICwgbV9nbHlwaEluQ3VycmVudFJ1bigwKQogICAgICwgbV9jaGFyYWN0ZXJJbkN1cnJl
bnRHbHlwaCgwKQotICAgICwgbV9maW5hbFJvdW5kaW5nV2lkdGgoMCkKICAgICAsIG1fZXhwYW5z
aW9uKHJ1bi5leHBhbnNpb24oKSkKICAgICAsIG1fYWZ0ZXJFeHBhbnNpb24odHJ1ZSkKICAgICAs
IG1fZmFsbGJhY2tGb250cyhmYWxsYmFja0ZvbnRzKQpAQCAtNzcsNyArNjksNiBAQCBDb21wbGV4
VGV4dENvbnRyb2xsZXI6OkNvbXBsZXhUZXh0Q29udHJvCiAgICAgLCBtX21heEdseXBoQm91bmRp
bmdCb3hYKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWluKCkpCiAgICAgLCBtX21pbkdseXBoQm91
bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWF4KCkpCiAgICAgLCBtX21heEdseXBo
Qm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWluKCkpCi0gICAgLCBtX2xhc3RS
b3VuZGluZ0dseXBoKDApCiB7CiAgICAgaWYgKCFtX2V4cGFuc2lvbikKICAgICAgICAgbV9leHBh
bnNpb25QZXJPcHBvcnR1bml0eSA9IDA7CkBAIC00MTMsMTMgKzQwNCwxMSBAQCB2b2lkIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6YWR2YW5jZSh1bnNpCiAgICAgICAgIG1fY3VycmVudFJ1bisrOwog
ICAgICAgICBtX2dseXBoSW5DdXJyZW50UnVuID0gMDsKICAgICB9Ci0gICAgaWYgKCFsdHIgJiYg
bV9udW1HbHlwaHNTb0ZhciA9PSBtX2FkanVzdGVkQWR2YW5jZXMuc2l6ZSgpKQotICAgICAgICBt
X3J1bldpZHRoU29GYXIgKz0gbV9maW5hbFJvdW5kaW5nV2lkdGg7CiB9CiAKIHZvaWQgQ29tcGxl
eFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygpCiB7Ci0gICAgQ0dGbG9h
dCB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gMDsKKyAgICBDR0Zsb2F0IHdpZHRoU2luY2VMYXN0
Q29tbWl0ID0gMDsKICAgICBzaXplX3QgcnVuQ291bnQgPSBtX2NvbXBsZXhUZXh0UnVucy5zaXpl
KCk7CiAgICAgYm9vbCBoYXNFeHRyYVNwYWNpbmcgPSAobV9mb250LmxldHRlclNwYWNpbmcoKSB8
fCBtX2ZvbnQud29yZFNwYWNpbmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNpbmdE
aXNhYmxlZCgpOwogICAgIGZvciAoc2l6ZV90IHIgPSAwOyByIDwgcnVuQ291bnQ7ICsrcikgewpA
QCAtNDMxLDkgKzQyMCw4IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlw
aHMKICAgICAgICAgY29uc3QgQ0dTaXplKiBhZHZhbmNlcyA9IGNvbXBsZXhUZXh0UnVuLmFkdmFu
Y2VzKCk7CiAKICAgICAgICAgYm9vbCBsYXN0UnVuID0gciArIDEgPT0gcnVuQ291bnQ7Ci0gICAg
ICAgIGNvbnN0IFVDaGFyKiBjcCA9IGNvbXBsZXhUZXh0UnVuLmNoYXJhY3RlcnMoKTsKLSAgICAg
ICAgQ0dGbG9hdCByb3VuZGVkU3BhY2VXaWR0aCA9IHJvdW5kQ0dGbG9hdChmb250RGF0YS0+c3Bh
Y2VXaWR0aCgpKTsKICAgICAgICAgYm9vbCByb3VuZHNBZHZhbmNlcyA9ICFtX2ZvbnQuaXNQcmlu
dGVyRm9udCgpICYmIGZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5yb3VuZHNHbHlwaEFkdmFuY2Vz
KCk7CisgICAgICAgIGNvbnN0IFVDaGFyKiBjcCA9IGNvbXBsZXhUZXh0UnVuLmNoYXJhY3RlcnMo
KTsKICAgICAgICAgQ0dQb2ludCBnbHlwaE9yaWdpbiA9IENHUG9pbnRaZXJvOwogICAgICAgICBD
RkluZGV4IGxhc3RDaGFyYWN0ZXJJbmRleCA9IG1fcnVuLmx0cigpID8gbnVtZXJpY19saW1pdHM8
Q0ZJbmRleD46Om1pbigpIDogbnVtZXJpY19saW1pdHM8Q0ZJbmRleD46Om1heCgpOwogICAgICAg
ICBib29sIGlzTW9ub3RvbmljID0gdHJ1ZTsKQEAgLTQ2Myw3ICs0NTEsNyBAQCB2b2lkIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAKICAgICAgICAgICAgIGlmIChjaCA9PSAn
XHQnICYmIG1fcnVuLmFsbG93VGFicygpKSB7CiAgICAgICAgICAgICAgICAgZmxvYXQgdGFiV2lk
dGggPSBtX2ZvbnQudGFiV2lkdGgoKmZvbnREYXRhKTsKLSAgICAgICAgICAgICAgICBhZHZhbmNl
LndpZHRoID0gdGFiV2lkdGggLSBmbW9kZihtX3J1bi54UG9zKCkgKyBtX3RvdGFsV2lkdGggKyB3
aWR0aFNpbmNlTGFzdFJvdW5kaW5nLCB0YWJXaWR0aCk7CisgICAgICAgICAgICAgICAgYWR2YW5j
ZS53aWR0aCA9IHRhYldpZHRoIC0gZm1vZGYobV9ydW4ueFBvcygpICsgbV90b3RhbFdpZHRoICsg
d2lkdGhTaW5jZUxhc3RDb21taXQsIHRhYldpZHRoKTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAo
Y2ggPT0gemVyb1dpZHRoU3BhY2UgfHwgKEZvbnQ6OnRyZWF0QXNaZXJvV2lkdGhTcGFjZShjaCkg
JiYgIXRyZWF0QXNTcGFjZSkpIHsKICAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoID0gMDsK
ICAgICAgICAgICAgICAgICBnbHlwaCA9IGZvbnREYXRhLT5zcGFjZUdseXBoKCk7CkBAIC00NzUs
MTMgKzQ2Myw2IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHMKIAog
ICAgICAgICAgICAgYWR2YW5jZS53aWR0aCArPSBmb250RGF0YS0+c3ludGhldGljQm9sZE9mZnNl
dCgpOwogCi0gICAgICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlz
IHdoZW4gYXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAgICAgIC8vIEZpcnN0LCB3ZSBy
b3VuZCBzcGFjZXMgdG8gYW4gYWRqdXN0ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAg
ICAgLy8gU2Vjb25kLCBpbiBmaXhlZC1waXRjaCBmb250cyB3ZSBlbnN1cmUgdGhhdCBhbGwgZ2x5
cGhzIHRoYXQKLSAgICAgICAgICAgIC8vIG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgc3BhY2UgZ2x5
cGggaGF2ZSB0aGUgc2FtZSB3aWR0aCBhcyB0aGUgc3BhY2UgZ2x5cGguCi0gICAgICAgICAgICBp
ZiAocm91bmRlZEFkdmFuY2VXaWR0aCA9PSByb3VuZGVkU3BhY2VXaWR0aCAmJiAoZm9udERhdGEt
PnBpdGNoKCkgPT0gRml4ZWRQaXRjaCB8fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgp
KSAmJiBtX3J1bi5hcHBseVdvcmRSb3VuZGluZygpKQotICAgICAgICAgICAgICAgIGFkdmFuY2Uu
d2lkdGggPSBmb250RGF0YS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCk7Ci0KICAgICAgICAgICAgIGlm
IChoYXNFeHRyYVNwYWNpbmcpIHsKICAgICAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBhIGdseXBo
IHdpdGggYW4gYWR2YW5jZSwgZ28gYWhlYWQgYW5kIGFkZCBpbiBsZXR0ZXItc3BhY2luZy4KICAg
ICAgICAgICAgICAgICAvLyBUaGF0IHdheSB3ZSB3ZWVkIG91dCB6ZXJvIHdpZHRoIGx1cmtlcnMu
ICBUaGlzIGJlaGF2aW9yIG1hdGNoZXMgdGhlIGZhc3QgdGV4dCBjb2RlIHBhdGguCkBAIC00OTIs
MTcgKzQ3MywxNCBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzCiAg
ICAgICAgICAgICAgICAgaWYgKHRyZWF0QXNTcGFjZSB8fCBGb250Ojppc0NKS0lkZW9ncmFwaE9y
U3ltYm9sKGNoKSkgewogICAgICAgICAgICAgICAgICAgICAvLyBEaXN0cmlidXRlIHRoZSBydW4n
cyB0b3RhbCBleHBhbnNpb24gZXZlbmx5IG92ZXIgYWxsIGV4cGFuc2lvbiBvcHBvcnR1bml0aWVz
IGluIHRoZSBydW4uCiAgICAgICAgICAgICAgICAgICAgIGlmIChtX2V4cGFuc2lvbiAmJiAoIWxh
c3RHbHlwaCB8fCBtX3J1bi5hbGxvd3NUcmFpbGluZ0V4cGFuc2lvbigpKSkgewotICAgICAgICAg
ICAgICAgICAgICAgICAgZmxvYXQgcHJldmlvdXNFeHBhbnNpb24gPSBtX2V4cGFuc2lvbjsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICghdHJlYXRBc1NwYWNlICYmICFtX2FmdGVyRXhwYW5z
aW9uKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGFrZSB0aGUgZXhwYW5zaW9u
IG9wcG9ydHVuaXR5IGJlZm9yZSB0aGlzIGlkZW9ncmFwaC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBtX2V4cGFuc2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBleHBhbnNpb24gPSByb3VuZGYocHJldmlvdXNFeHBh
bnNpb24pIC0gcm91bmRmKG1fZXhwYW5zaW9uKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtX3RvdGFsV2lkdGggKz0gZXhwYW5zaW9uOwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1fYWRqdXN0ZWRBZHZhbmNlcy5sYXN0KCkud2lkdGggKz0gZXhwYW5zaW9uOwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHByZXZpb3VzRXhwYW5zaW9uID0gbV9leHBhbnNpb247CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV90b3RhbFdpZHRoICs9IG1fZXhwYW5zaW9uUGVyT3Bw
b3J0dW5pdHk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9hZGp1c3RlZEFkdmFuY2Vz
Lmxhc3QoKS53aWR0aCArPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwogICAgICAgICAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgbV9leHBhbnNpb24gLT0gbV9l
eHBhbnNpb25QZXJPcHBvcnR1bml0eTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkdmFuY2Uu
d2lkdGggKz0gcm91bmRmKHByZXZpb3VzRXhwYW5zaW9uKSAtIHJvdW5kZihtX2V4cGFuc2lvbik7
CisgICAgICAgICAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoICs9IG1fZXhwYW5zaW9uUGVy
T3Bwb3J0dW5pdHk7CiAgICAgICAgICAgICAgICAgICAgICAgICBtX2FmdGVyRXhwYW5zaW9uID0g
dHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAg
ICBtX2FmdGVyRXhwYW5zaW9uID0gZmFsc2U7CkBAIC01MTQsMzMgKzQ5Miw3IEBAIHZvaWQgQ29t
cGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHMKICAgICAgICAgICAgICAgICAgICAgbV9h
ZnRlckV4cGFuc2lvbiA9IGZhbHNlOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAvLyBE
ZWFsIHdpdGggdGhlIGZsb2F0L2ludGVnZXIgaW1wZWRhbmNlIG1pc21hdGNoIGJldHdlZW4gQ0cg
YW5kIFdlYkNvcmUuICJXb3JkcyIgKGNoYXJhY3RlcnMgCi0gICAgICAgICAgICAvLyBmb2xsb3dl
ZCBieSBhIGNoYXJhY3RlciBkZWZpbmVkIGJ5IGlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKCkpIGFy
ZSBhbHdheXMgYW4gaW50ZWdlciB3aWR0aC4KLSAgICAgICAgICAgIC8vIFdlIGFkanVzdCB0aGUg
d2lkdGggb2YgdGhlIGxhc3QgY2hhcmFjdGVyIG9mIGEgIndvcmQiIHRvIGVuc3VyZSBhbiBpbnRl
Z2VyIHdpZHRoLgotICAgICAgICAgICAgLy8gRm9yY2UgY2hhcmFjdGVycyB0aGF0IGFyZSB1c2Vk
IHRvIGRldGVybWluZSB3b3JkIGJvdW5kYXJpZXMgZm9yIHRoZSByb3VuZGluZyBoYWNrCi0gICAg
ICAgICAgICAvLyB0byBiZSBpbnRlZ2VyIHdpZHRoLCBzbyB0aGUgZm9sbG93aW5nIHdvcmRzIHdp
bGwgc3RhcnQgb24gYW4gaW50ZWdlciBib3VuZGFyeS4KLSAgICAgICAgICAgIGlmIChtX3J1bi5h
cHBseVdvcmRSb3VuZGluZygpICYmIEZvbnQ6OmlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKGNoKSkK
LSAgICAgICAgICAgICAgICBhZHZhbmNlLndpZHRoID0gY2VpbENHRmxvYXQoYWR2YW5jZS53aWR0
aCk7Ci0KLSAgICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgbmV4dCBjaGFyYWN0ZXIg
aXMgYSAicm91bmRpbmcgaGFjayBjaGFyYWN0ZXIiLCBpZiBzbywgYWRqdXN0IHRoZQotICAgICAg
ICAgICAgLy8gd2lkdGggc28gdGhhdCB0aGUgdG90YWwgcnVuIHdpZHRoIHdpbGwgYmUgb24gYW4g
aW50ZWdlciBib3VuZGFyeS4KLSAgICAgICAgICAgIGlmICgobV9ydW4uYXBwbHlXb3JkUm91bmRp
bmcoKSAmJiAhbGFzdEdseXBoICYmIEZvbnQ6OmlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKG5leHRD
aCkpIHx8IChtX3J1bi5hcHBseVJ1blJvdW5kaW5nKCkgJiYgbGFzdEdseXBoKSkgewotICAgICAg
ICAgICAgICAgIENHRmxvYXQgdG90YWxXaWR0aCA9IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgKyBh
ZHZhbmNlLndpZHRoOwotICAgICAgICAgICAgICAgIHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSBj
ZWlsQ0dGbG9hdCh0b3RhbFdpZHRoKTsKLSAgICAgICAgICAgICAgICBDR0Zsb2F0IGV4dHJhV2lk
dGggPSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nIC0gdG90YWxXaWR0aDsKLSAgICAgICAgICAgICAg
ICBpZiAobV9ydW4ubHRyKCkpCi0gICAgICAgICAgICAgICAgICAgIGFkdmFuY2Uud2lkdGggKz0g
ZXh0cmFXaWR0aDsKLSAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKG1fbGFzdFJvdW5kaW5nR2x5cGgpCi0gICAgICAgICAgICAgICAgICAgICAgICBtX2FkanVz
dGVkQWR2YW5jZXNbbV9sYXN0Um91bmRpbmdHbHlwaCAtIDFdLndpZHRoICs9IGV4dHJhV2lkdGg7
Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fZmlu
YWxSb3VuZGluZ1dpZHRoID0gZXh0cmFXaWR0aDsKLSAgICAgICAgICAgICAgICAgICAgbV9sYXN0
Um91bmRpbmdHbHlwaCA9IG1fYWRqdXN0ZWRBZHZhbmNlcy5zaXplKCkgKyAxOwotICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICBtX3RvdGFsV2lkdGggKz0gd2lkdGhTaW5jZUxhc3RS
b3VuZGluZzsKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nID0gMDsKLSAg
ICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHdpZHRoU2luY2VMYXN0Um91bmRpbmcg
Kz0gYWR2YW5jZS53aWR0aDsKKyAgICAgICAgICAgIHdpZHRoU2luY2VMYXN0Q29tbWl0ICs9IGFk
dmFuY2Uud2lkdGg7CiAKICAgICAgICAgICAgIC8vIEZJWE1FOiBDb21iaW5pbmcgbWFya3Mgc2hv
dWxkIHJlY2VpdmUgYSB0ZXh0IGVtcGhhc2lzIG1hcmsgaWYgdGhleSBhcmUgY29tYmluZSB3aXRo
IGEgc3BhY2UuCiAgICAgICAgICAgICBpZiAobV9mb3JUZXh0RW1waGFzaXMgJiYgKCFGb250Ojpj
YW5SZWNlaXZlVGV4dEVtcGhhc2lzKGNoKSB8fCAoVV9HRVRfR0NfTUFTSyhjaCkgJiBVX0dDX01f
TUFTSykpKQpAQCAtNTY0LDcgKzUxNiw3IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjph
ZGp1c3RHbHlwaHMKICAgICAgICAgaWYgKCFpc01vbm90b25pYykKICAgICAgICAgICAgIGNvbXBs
ZXhUZXh0UnVuLnNldElzTm9uTW9ub3RvbmljKCk7CiAgICAgfQotICAgIG1fdG90YWxXaWR0aCAr
PSB3aWR0aFNpbmNlTGFzdFJvdW5kaW5nOworICAgIG1fdG90YWxXaWR0aCArPSB3aWR0aFNpbmNl
TGFzdENvbW1pdDsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4
dENvbnRyb2xsZXIuaAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAg
LTYwLDkgKzYwLDYgQEAgcHVibGljOgogCiAgICAgZmxvYXQgdG90YWxXaWR0aCgpIGNvbnN0IHsg
cmV0dXJuIG1fdG90YWxXaWR0aDsgfQogCi0gICAgLy8gRXh0cmEgd2lkdGggdG8gdGhlIGxlZnQg
b2YgdGhlIGxlZnRtb3N0IGdseXBoLgotICAgIGZsb2F0IGZpbmFsUm91bmRpbmdXaWR0aCgpIGNv
bnN0IHsgcmV0dXJuIG1fZmluYWxSb3VuZGluZ1dpZHRoOyB9Ci0KICAgICBmbG9hdCBtaW5HbHlw
aEJvdW5kaW5nQm94WCgpIGNvbnN0IHsgcmV0dXJuIG1fbWluR2x5cGhCb3VuZGluZ0JveFg7IH0K
ICAgICBmbG9hdCBtYXhHbHlwaEJvdW5kaW5nQm94WCgpIGNvbnN0IHsgcmV0dXJuIG1fbWF4R2x5
cGhCb3VuZGluZ0JveFg7IH0KICAgICBmbG9hdCBtaW5HbHlwaEJvdW5kaW5nQm94WSgpIGNvbnN0
IHsgcmV0dXJuIG1fbWluR2x5cGhCb3VuZGluZ0JveFk7IH0KQEAgLTE3Niw3ICsxNzMsNiBAQCBw
cml2YXRlOgogICAgIHNpemVfdCBtX2N1cnJlbnRSdW47CiAgICAgdW5zaWduZWQgbV9nbHlwaElu
Q3VycmVudFJ1bjsKICAgICB1bnNpZ25lZCBtX2NoYXJhY3RlckluQ3VycmVudEdseXBoOwotICAg
IGZsb2F0IG1fZmluYWxSb3VuZGluZ1dpZHRoOwogICAgIGZsb2F0IG1fZXhwYW5zaW9uOwogICAg
IGZsb2F0IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7CiAgICAgYm9vbCBtX2FmdGVyRXhwYW5z
aW9uOwpAQCAtMTg3LDggKzE4Myw2IEBAIHByaXZhdGU6CiAgICAgZmxvYXQgbV9tYXhHbHlwaEJv
dW5kaW5nQm94WDsKICAgICBmbG9hdCBtX21pbkdseXBoQm91bmRpbmdCb3hZOwogICAgIGZsb2F0
IG1fbWF4R2x5cGhCb3VuZGluZ0JveFk7Ci0gICAgCi0gICAgdW5zaWduZWQgbV9sYXN0Um91bmRp
bmdHbHlwaDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q29tcGxleFRleHRNYWMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q29tcGxleFRl
eHRNYWMuY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9Gb250Q29tcGxleFRleHRNYWMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw3
ICs3MSw3IEBAIGZsb2F0IEZvbnQ6OmdldEdseXBoc0FuZEFkdmFuY2VzRm9yQ29tcGwKICAgICBm
bG9hdCBhZnRlcldpZHRoID0gY29udHJvbGxlci5ydW5XaWR0aFNvRmFyKCk7CiAKICAgICBpZiAo
cnVuLnJ0bCgpKSB7Ci0gICAgICAgIGluaXRpYWxBZHZhbmNlID0gY29udHJvbGxlci50b3RhbFdp
ZHRoKCkgKyBjb250cm9sbGVyLmZpbmFsUm91bmRpbmdXaWR0aCgpIC0gYWZ0ZXJXaWR0aDsKKyAg
ICAgICAgaW5pdGlhbEFkdmFuY2UgPSBjb250cm9sbGVyLnRvdGFsV2lkdGgoKSAtIGFmdGVyV2lk
dGg7CiAgICAgICAgIGZvciAoaW50IGkgPSAwLCBlbmQgPSBnbHlwaEJ1ZmZlci5zaXplKCkgLSAx
OyBpIDwgZ2x5cGhCdWZmZXIuc2l6ZSgpIC8gMjsgKytpLCAtLWVuZCkKICAgICAgICAgICAgIGds
eXBoQnVmZmVyLnN3YXAoaSwgZW5kKTsKICAgICB9IGVsc2UKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHRNYWMubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dE1h
Yy5tbQkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvR3JhcGhpY3NDb250ZXh0TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsMTQgKzEx
MiwxNCBAQCBzdGF0aWMgTlNDb2xvciogY3JlYXRlUGF0dGVybkNvbG9yKE5TU3RyCiB9CiAKIC8v
IFdlYktpdCBvbiBNYWMgaXMgYSBzdGFuZGFyZCBwbGF0Zm9ybSBjb21wb25lbnQsIHNvIGl0IG11
c3QgdXNlIHRoZSBzdGFuZGFyZCBwbGF0Zm9ybSBhcnR3b3JrIGZvciB1bmRlcmxpbmUuCi12b2lk
IEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQm
IHBvaW50LCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSBzdHlsZSkKK3ZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBGbG9hdFBvaW50JiBw
b2ludCwgZmxvYXQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSBzdHlsZSkKIHsKICAgICBp
ZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CiAgICAgICAgIAogICAgIC8v
IFRoZXNlIGFyZSB0aGUgc2FtZSBmb3IgbWlzc3BlbGxpbmcgb3IgYmFkIGdyYW1tYXIuCiAgICAg
aW50IHBhdHRlcm5IZWlnaHQgPSBjTWlzc3BlbGxpbmdMaW5lVGhpY2tuZXNzOwotICAgIGludCBw
YXR0ZXJuV2lkdGggPSBjTWlzc3BlbGxpbmdMaW5lUGF0dGVybldpZHRoOworICAgIGZsb2F0IHBh
dHRlcm5XaWR0aCA9IGNNaXNzcGVsbGluZ0xpbmVQYXR0ZXJuV2lkdGg7CiAKICAgICBib29sIHVz
aW5nRG90OwogICAgIE5TQ29sb3IgKnBhdHRlcm5Db2xvcjsKQEAgLTE2NSw3ICsxNjUsNyBAQCB2
b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlCiAgICAgLy8gc3BhY2UgYmV0
d2VlbiBhZGphY2VudCBtaXNzcGVsbGVkIHdvcmRzIHdhcyB1bmRlcmxpbmVkLgogICAgIGlmICh1
c2luZ0RvdCkgewogICAgICAgICAvLyBhbGxvdyBzbGlnaHRseSBtb3JlIGNvbnNpZGVyaW5nIHRo
YXQgdGhlIHBhdHRlcm4gZW5kcyB3aXRoIGEgdHJhbnNwYXJlbnQgcGl4ZWwKLSAgICAgICAgaW50
IHdpZHRoTW9kID0gd2lkdGggJSBwYXR0ZXJuV2lkdGg7CisgICAgICAgIGZsb2F0IHdpZHRoTW9k
ID0gZm1vZGYod2lkdGgsIHBhdHRlcm5XaWR0aCk7CiAgICAgICAgIGlmIChwYXR0ZXJuV2lkdGgg
LSB3aWR0aE1vZCA+IGNNaXNzcGVsbGluZ0xpbmVQYXR0ZXJuR2FwV2lkdGgpCiAgICAgICAgICAg
ICB3aWR0aCAtPSB3aWR0aE1vZDsKICAgICB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCShyZXZp
c2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBo
aWNzQ29udGV4dFF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODU0LDEzICs4NTQsMTMgQEAgdm9p
ZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdGb2N1c1JpbmcoY29ucwogICAgIGRyYXdGb2N1c1JpbmdG
b3JQYXRoKG1fZGF0YS0+cCgpLCBwYXRoLCBjb2xvciwgbV9kYXRhLT5hbnRpQWxpYXNpbmdGb3JS
ZWN0c0FuZExpbmVzKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dChjb25zdCBJbnRQb2ludCYgb3JpZ2luLCBpbnQgd2lkdGgsIGJvb2wpCit2b2lkIEdyYXBoaWNz
Q29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmIG9yaWdpbiwgZmxvYXQg
d2lkdGgsIGJvb2wpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgSW50UG9pbnQgc3RhcnRQb2ludCA9IG9yaWdpbjsKLSAgICBJbnRQb2ludCBl
bmRQb2ludCA9IG9yaWdpbiArIEludFNpemUod2lkdGgsIDApOworICAgIEZsb2F0UG9pbnQgc3Rh
cnRQb2ludCA9IG9yaWdpbjsKKyAgICBGbG9hdFBvaW50IGVuZFBvaW50ID0gb3JpZ2luICsgRmxv
YXRTaXplKHdpZHRoLCAwKTsKIAogICAgIC8vIElmIHBhaW50ZW5naW5lIHR5cGUgaXMgWDExIHRv
IGF2b2lkIGFydGlmYWN0cwogICAgIC8vIGxpa2UgYnVnIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00MjI0OApAQCAtODgwLDEwICs4ODAsMTEgQEAgdm9pZCBHcmFwaGlj
c0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjbwogICAgIH0KICNlbmRpZiAvLyBkZWZpbmVkKFFf
V1NfWDExKQogCi0gICAgZHJhd0xpbmUoc3RhcnRQb2ludCwgZW5kUG9pbnQpOworICAgIC8vIEZJ
WE1FOiBMb3NzIG9mIHByZWNpc2lvbiBoZXJlLiBNaWdodCBjb25zaWRlciByb3VuZGluZy4KKyAg
ICBkcmF3TGluZShJbnRQb2ludChzdGFydFBvaW50LngoKSwgc3RhcnRQb2ludC55KCkpLCBJbnRQ
b2ludChlbmRQb2ludC54KCksIGVuZFBvaW50LnkoKSkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmLCBpbnQsIFRleHRD
aGVja2luZ0xpbmVTdHlsZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRD
aGVja2luZyhjb25zdCBGbG9hdFBvaW50JiwgZmxvYXQsIFRleHRDaGVja2luZ0xpbmVTdHlsZSkK
IHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVG
b250RGF0YVF0LmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjEs
NyArNjEsNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBoSW5pdCgpCiAgICAg
aWYgKCFtX3BsYXRmb3JtRGF0YS5zaXplKCkpCiAgICAgICAgIHJldHVybjsKICAgICBtX3NwYWNl
R2x5cGggPSAwOwotICAgIG1fYWRqdXN0ZWRTcGFjZVdpZHRoID0gbV9zcGFjZVdpZHRoOwogICAg
IGRldGVybWluZVBpdGNoKCk7CiAgICAgbV9taXNzaW5nR2x5cGhEYXRhLmZvbnREYXRhID0gdGhp
czsKICAgICBtX21pc3NpbmdHbHlwaERhdGEuZ2x5cGggPSAwOwpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lhLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29u
dGV4dFNraWEuY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0U2tpYS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU5NSw3ICs1OTUsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmUoY29uc3QgSW50
CiAgICAgcGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpLT5kcmF3UG9pbnRzKFNrQ2FudmFzOjpr
TGluZXNfUG9pbnRNb2RlLCAyLCBwdHMsIHBhaW50KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRl
eHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEludFBvaW50JiBwdCwgaW50IHdpZHRo
LCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJh
d0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2ludCYgcHQsIGZsb2F0IHdpZHRoLCBU
ZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQo
KSkKICAgICAgICAgcmV0dXJuOwpAQCAtNjQ0LDggKzY0NCw4IEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0OjpkcmF3TGluZUZvclRleHRDaGUKICAgICB9CiAKICAgICAvLyBPZmZzZXQgaXQgdmVydGlj
YWxseSBieSAxIHNvIHRoYXQgdGhlcmUncyBzb21lIHNwYWNlIHVuZGVyIHRoZSB0ZXh0LgotICAg
IFNrU2NhbGFyIG9yaWdpblggPSBTa0ludFRvU2NhbGFyKHB0LngoKSk7Ci0gICAgU2tTY2FsYXIg
b3JpZ2luWSA9IFNrSW50VG9TY2FsYXIocHQueSgpKSArIDE7CisgICAgU2tTY2FsYXIgb3JpZ2lu
WCA9IFdlYkNvcmVGbG9hdFRvU2tTY2FsYXIocHQueCgpKTsKKyAgICBTa1NjYWxhciBvcmlnaW5Z
ID0gV2ViQ29yZUZsb2F0VG9Ta1NjYWxhcihwdC55KCkpICsgMTsKIAogICAgIC8vIE1ha2UgYSBz
aGFkZXIgZm9yIHRoZSBiaXRtYXAgd2l0aCBhbiBvcmlnaW4gb2YgdGhlIGJveCB3ZSdsbCBkcmF3
LiBUaGlzCiAgICAgLy8gc2hhZGVyIGlzIHJlZmNvdW50ZWQgYW5kIHdpbGwgaGF2ZSBhbiBpbml0
aWFsIHJlZmNvdW50IG9mIDEuCkBAIC02NjcsMTMgKzY2NywxMyBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlCiAgICAgU2tSZWN0IHJlY3Q7CiAgICAgcmVjdC5zZXQo
b3JpZ2luWCwKICAgICAgICAgICAgICBvcmlnaW5ZLAotICAgICAgICAgICAgIG9yaWdpblggKyBT
a0ludFRvU2NhbGFyKHdpZHRoKSwKKyAgICAgICAgICAgICBvcmlnaW5YICsgV2ViQ29yZUZsb2F0
VG9Ta1NjYWxhcih3aWR0aCksCiAgICAgICAgICAgICAgb3JpZ2luWSArIFNrSW50VG9TY2FsYXIo
bWlzc3BlbGxCaXRtYXAtPmhlaWdodCgpKSk7CiAgICAgcGxhdGZvcm1Db250ZXh0KCktPmNhbnZh
cygpLT5kcmF3UmVjdChyZWN0LCBwYWludCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0Ojpk
cmF3TGluZUZvclRleHQoY29uc3QgSW50UG9pbnQmIHB0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgd2lkdGgsCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xp
bmVGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmIHB0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmbG9hdCB3aWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYm9vbCBwcmludGluZykKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQpA
QCAtNjg2LDkgKzY4Niw5IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQo
Y28KIAogICAgIGludCB0aGlja25lc3MgPSBTa01heDMyKHN0YXRpY19jYXN0PGludD4oc3Ryb2tl
VGhpY2tuZXNzKCkpLCAxKTsKICAgICBTa1JlY3QgcjsKLSAgICByLmZMZWZ0ID0gU2tJbnRUb1Nj
YWxhcihwdC54KCkpOwotICAgIHIuZlRvcCA9IFNrSW50VG9TY2FsYXIocHQueSgpKTsKLSAgICBy
LmZSaWdodCA9IHIuZkxlZnQgKyBTa0ludFRvU2NhbGFyKHdpZHRoKTsKKyAgICByLmZMZWZ0ID0g
V2ViQ29yZUZsb2F0VG9Ta1NjYWxhcihwdC54KCkpOworICAgIHIuZlRvcCA9IFdlYkNvcmVGbG9h
dFRvU2tTY2FsYXIocHQueSgpKTsKKyAgICByLmZSaWdodCA9IHIuZkxlZnQgKyBXZWJDb3JlRmxv
YXRUb1NrU2NhbGFyKHdpZHRoKTsKICAgICByLmZCb3R0b20gPSByLmZUb3AgKyBTa0ludFRvU2Nh
bGFyKHRoaWNrbmVzcyk7CiAKICAgICBTa1BhaW50IHBhaW50OwpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dENHV2luLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250
ZXh0Q0dXaW4uY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRDR1dpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE4NCw3ICsxODQsNyBAQCBzdGF0aWMgY29uc3QgQ29sb3ImIGdyYW1tYXJQYXR0ZXJuQ29sb3Io
CiAgICAgcmV0dXJuIGdyYW1tYXJDb2xvcjsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRy
YXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEludFBvaW50JiBwb2ludCwgaW50IHdpZHRoLCBU
ZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xp
bmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgRmxvYXRQb2ludCYgcG9pbnQsIGZsb2F0IHdpZHRoLCBU
ZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQo
KSkKICAgICAgICAgcmV0dXJuOwpAQCAtMjA0LDcgKzIwNCw3IEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0OjpkcmF3TGluZUZvclRleHRDaGUKICAgICAvLyBib3VuZHMgKGUuZy4gd2hlbiBhdCB0aGUg
ZWRnZSBvZiBhIHZpZXcpIGFuZCBjb3VsZCBtYWtlIGl0IGFwcGVhciB0aGF0IHRoZQogICAgIC8v
IHNwYWNlIGJldHdlZW4gYWRqYWNlbnQgbWlzc3BlbGxlZCB3b3JkcyB3YXMgdW5kZXJsaW5lZC4K
ICAgICAvLyBhbGxvdyBzbGlnaHRseSBtb3JlIGNvbnNpZGVyaW5nIHRoYXQgdGhlIHBhdHRlcm4g
ZW5kcyB3aXRoIGEgdHJhbnNwYXJlbnQgcGl4ZWwKLSAgICBpbnQgd2lkdGhNb2QgPSB3aWR0aCAl
IHBhdHRlcm5XaWR0aDsKKyAgICBmbG9hdCB3aWR0aE1vZCA9IGZtb2RmKHdpZHRoLCBwYXR0ZXJu
V2lkdGgpOwogICAgIGlmIChwYXR0ZXJuV2lkdGggLSB3aWR0aE1vZCA+IGNNaXNzcGVsbGluZ0xp
bmVQYXR0ZXJuR2FwV2lkdGgpCiAgICAgICAgIHdpZHRoIC09IHdpZHRoTW9kOwogICAgICAgCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vVW5pc2NyaWJlQ29udHJv
bGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9VbmlzY3JpYmVDb250cm9sbGVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjYxLDE4ICsyNjEsMTMgQEAgYm9vbCBVbmlzY3JpYmVDb250cm9sbGVy
OjpzaGFwZUFuZFBsYWNlSQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIC8vIENvbnZlcnQg
YWxsIGNoYXJzIHRoYXQgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgc3BhY2VzIHRvIHVzZSB0aGUgc3Bh
Y2UgZ2x5cGguCi0gICAgLy8gV2UgYWxzbyBjcmVhdGUgYSBtYXAgdGhhdCBhbGxvd3MgdXMgdG8g
cXVpY2tseSBnbyBmcm9tIHNwYWNlIGdseXBocyBvciByb3VuZGluZwotICAgIC8vIGhhY2sgZ2x5
cGhzIGJhY2sgdG8gdGhlaXIgY29ycmVzcG9uZGluZyBjaGFyYWN0ZXJzLgorICAgIC8vIFdlIGFs
c28gY3JlYXRlIGEgbWFwIHRoYXQgYWxsb3dzIHVzIHRvIHF1aWNrbHkgZ28gZnJvbSBzcGFjZSBn
bHlwaHMgYmFjayB0byB0aGVpciBjb3JyZXNwb25kaW5nIGNoYXJhY3RlcnMuCiAgICAgVmVjdG9y
PGludD4gc3BhY2VDaGFyYWN0ZXJzKGdseXBocy5zaXplKCkpOwogICAgIHNwYWNlQ2hhcmFjdGVy
cy5maWxsKC0xKTsKLSAgICBWZWN0b3I8aW50PiByb3VuZGluZ0hhY2tDaGFyYWN0ZXJzKGdseXBo
cy5zaXplKCkpOwotICAgIHJvdW5kaW5nSGFja0NoYXJhY3RlcnMuZmlsbCgtMSk7Ci0gICAgVmVj
dG9yPGludD4gcm91bmRpbmdIYWNrV29yZEJvdW5kYXJpZXMoZ2x5cGhzLnNpemUoKSk7Ci0gICAg
cm91bmRpbmdIYWNrV29yZEJvdW5kYXJpZXMuZmlsbCgtMSk7CiAKICAgICBjb25zdCBmbG9hdCBj
TG9naWNhbFNjYWxlID0gZm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLnVzZUdESSgpID8gMS4wZiA6
IDMyLjBmOwogICAgIHVuc2lnbmVkIGxvZ2ljYWxTcGFjZVdpZHRoID0gZm9udERhdGEtPnNwYWNl
V2lkdGgoKSAqIGNMb2dpY2FsU2NhbGU7Ci0gICAgZmxvYXQgcm91bmRlZFNwYWNlV2lkdGggPSBy
b3VuZGYoZm9udERhdGEtPnNwYWNlV2lkdGgoKSk7CisgICAgZmxvYXQgc3BhY2VXaWR0aCA9IGZv
bnREYXRhLT5zcGFjZVdpZHRoKCk7CiAKICAgICBmb3IgKGludCBrID0gMDsgayA8IGxlbjsgaysr
KSB7CiAgICAgICAgIFVDaGFyIGNoID0gKihzdHIgKyBrKTsKQEAgLTI4NiwyMSArMjgxLDYgQEAg
Ym9vbCBVbmlzY3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSQogICAgICAgICAgICAgaWYg
KHRyZWF0QXNTcGFjZSkKICAgICAgICAgICAgICAgICBzcGFjZUNoYXJhY3RlcnNbY2x1c3RlcnNb
a11dID0gbV9jdXJyZW50Q2hhcmFjdGVyICsgayArIGl0ZW0uaUNoYXJQb3M7CiAgICAgICAgIH0K
LQotICAgICAgICBpZiAoRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIoY2gpKQotICAgICAg
ICAgICAgcm91bmRpbmdIYWNrQ2hhcmFjdGVyc1tjbHVzdGVyc1trXV0gPSBtX2N1cnJlbnRDaGFy
YWN0ZXIgKyBrICsgaXRlbS5pQ2hhclBvczsKLQotICAgICAgICBpbnQgYm91bmRhcnkgPSBrICsg
bV9jdXJyZW50Q2hhcmFjdGVyICsgaXRlbS5pQ2hhclBvczsKLSAgICAgICAgaWYgKGJvdW5kYXJ5
IDwgbV9ydW4ubGVuZ3RoKCkpIHsKLSAgICAgICAgICAgIC8vIFdoZW4gYXQgdGhlIGxhc3QgY2hh
cmFjdGVyIGluIHRoZSBzdHIsIGRvbid0IGxvb2sgb25lIHBhc3QgdGhlIGVuZCBmb3IgYSByb3Vu
ZGluZyBoYWNrIGNoYXJhY3Rlci4KLSAgICAgICAgICAgIC8vIEluc3RlYWQgbG9vayBhaGVhZCB0
byB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIG5leHQgaXRlbSwgaWYgdGhlcmUgaXMgYSBuZXh0IG9u
ZS4gCi0gICAgICAgICAgICBpZiAoayArIDEgPT0gbGVuKSB7Ci0gICAgICAgICAgICAgICAgaWYg
KGkgKyAyIDwgbV9pdGVtcy5zaXplKCkgLy8gQ2hlY2sgZm9yIGF0IGxlYXN0IDIgaXRlbXMgcmVt
YWluaW5nLiBUaGUgbGFzdCBpdGVtIGlzIGEgdGVybWluYXRpbmcgaXRlbSBjb250YWluaW5nIG5v
IGNoYXJhY3RlcnMuCi0gICAgICAgICAgICAgICAgICAgICYmIEZvbnQ6OmlzUm91bmRpbmdIYWNr
Q2hhcmFjdGVyKCooY3AgKyBtX2l0ZW1zW2kgKyAxXS5pQ2hhclBvcykpKQotICAgICAgICAgICAg
ICAgICAgICByb3VuZGluZ0hhY2tXb3JkQm91bmRhcmllc1tjbHVzdGVyc1trXV0gPSBib3VuZGFy
eTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFyYWN0ZXIo
KihzdHIgKyBrICsgMSkpKQotICAgICAgICAgICAgICAgIHJvdW5kaW5nSGFja1dvcmRCb3VuZGFy
aWVzW2NsdXN0ZXJzW2tdXSA9IGJvdW5kYXJ5OwotICAgICAgICB9CiAgICAgfQogCiAgICAgLy8g
UG9wdWxhdGUgb3VyIGdseXBoIGJ1ZmZlciB3aXRoIHRoaXMgaW5mb3JtYXRpb24uCkBAIC0zMjQs
MTQgKzMwNCw2IEBAIGJvb2wgVW5pc2NyaWJlQ29udHJvbGxlcjo6c2hhcGVBbmRQbGFjZUkKIAog
ICAgICAgICBhZHZhbmNlICs9IGZvbnREYXRhLT5zeW50aGV0aWNCb2xkT2Zmc2V0KCk7CiAKLSAg
ICAgICAgLy8gV2Ugc3BlY2lhbCBjYXNlIHNwYWNlcyBpbiB0d28gd2F5cyB3aGVuIGFwcGx5aW5n
IHdvcmQgcm91bmRpbmcuCi0gICAgICAgIC8vIEZpcnN0LCB3ZSByb3VuZCBzcGFjZXMgdG8gYW4g
YWRqdXN0ZWQgd2lkdGggaW4gYWxsIGZvbnRzLgotICAgICAgICAvLyBTZWNvbmQsIGluIGZpeGVk
LXBpdGNoIGZvbnRzIHdlIGVuc3VyZSB0aGF0IGFsbCBnbHlwaHMgdGhhdAotICAgICAgICAvLyBt
YXRjaCB0aGUgd2lkdGggb2YgdGhlIHNwYWNlIGdseXBoIGhhdmUgdGhlIHNhbWUgd2lkdGggYXMg
dGhlIHNwYWNlIGdseXBoLgotICAgICAgICBpZiAocm91bmRlZEFkdmFuY2UgPT0gcm91bmRlZFNw
YWNlV2lkdGggJiYgKGZvbnREYXRhLT5waXRjaCgpID09IEZpeGVkUGl0Y2ggfHwgZ2x5cGggPT0g
Zm9udERhdGEtPnNwYWNlR2x5cGgoKSkgJiYKLSAgICAgICAgICAgIG1fcnVuLmFwcGx5V29yZFJv
dW5kaW5nKCkpCi0gICAgICAgICAgICBhZHZhbmNlID0gZm9udERhdGEtPmFkanVzdGVkU3BhY2VX
aWR0aCgpOwotCiAgICAgICAgIGlmIChoYXNFeHRyYVNwYWNpbmcpIHsKICAgICAgICAgICAgIC8v
IElmIHdlJ3JlIGEgZ2x5cGggd2l0aCBhbiBhZHZhbmNlLCBnbyBhaGVhZCBhbmQgYWRkIGluIGxl
dHRlci1zcGFjaW5nLgogICAgICAgICAgICAgLy8gVGhhdCB3YXkgd2Ugd2VlZCBvdXQgemVybyB3
aWR0aCBsdXJrZXJzLiAgVGhpcyBiZWhhdmlvciBtYXRjaGVzIHRoZSBmYXN0IHRleHQgY29kZSBw
YXRoLgpAQCAtMzUwLDkgKzMyMiw4IEBAIGJvb2wgVW5pc2NyaWJlQ29udHJvbGxlcjo6c2hhcGVB
bmRQbGFjZUkKICAgICAgICAgICAgICAgICAgICAgICAgIGFkdmFuY2UgKz0gbV9wYWRkaW5nOwog
ICAgICAgICAgICAgICAgICAgICAgICAgbV9wYWRkaW5nID0gMDsKICAgICAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0IHByZXZpb3VzUGFkZGlu
ZyA9IG1fcGFkZGluZzsKICAgICAgICAgICAgICAgICAgICAgICAgIG1fcGFkZGluZyAtPSBtX3Bh
ZFBlclNwYWNlOwotICAgICAgICAgICAgICAgICAgICAgICAgYWR2YW5jZSArPSByb3VuZGYocHJl
dmlvdXNQYWRkaW5nKSAtIHJvdW5kZihtX3BhZGRpbmcpOworICAgICAgICAgICAgICAgICAgICAg
ICAgYWR2YW5jZSArPSBtX3BhZFBlclNwYWNlOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICAgICAgfQogCkBAIC0zNjIsMjUgKzMzMyw2IEBAIGJvb2wgVW5pc2NyaWJlQ29udHJv
bGxlcjo6c2hhcGVBbmRQbGFjZUkKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAg
IC8vIERlYWwgd2l0aCB0aGUgZmxvYXQvaW50ZWdlciBpbXBlZGFuY2UgbWlzbWF0Y2ggYmV0d2Vl
biBDRyBhbmQgV2ViQ29yZS4gIldvcmRzIiAoY2hhcmFjdGVycyAKLSAgICAgICAgLy8gZm9sbG93
ZWQgYnkgYSBjaGFyYWN0ZXIgZGVmaW5lZCBieSBpc1JvdW5kaW5nSGFja0NoYXJhY3RlcigpKSBh
cmUgYWx3YXlzIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgIC8vIFdlIGFkanVzdCB0aGUgd2lk
dGggb2YgdGhlIGxhc3QgY2hhcmFjdGVyIG9mIGEgIndvcmQiIHRvIGVuc3VyZSBhbiBpbnRlZ2Vy
IHdpZHRoLgotICAgICAgICAvLyBGb3JjZSBjaGFyYWN0ZXJzIHRoYXQgYXJlIHVzZWQgdG8gZGV0
ZXJtaW5lIHdvcmQgYm91bmRhcmllcyBmb3IgdGhlIHJvdW5kaW5nIGhhY2sKLSAgICAgICAgLy8g
dG8gYmUgaW50ZWdlciB3aWR0aCwgc28gdGhlIGZvbGxvd2luZyB3b3JkcyB3aWxsIHN0YXJ0IG9u
IGFuIGludGVnZXIgYm91bmRhcnkuCi0gICAgICAgIGludCByb3VuZGluZ0hhY2tJbmRleCA9IHJv
dW5kaW5nSGFja0NoYXJhY3RlcnNba107Ci0gICAgICAgIGlmIChtX3J1bi5hcHBseVdvcmRSb3Vu
ZGluZygpICYmIHJvdW5kaW5nSGFja0luZGV4ICE9IC0xKQotICAgICAgICAgICAgYWR2YW5jZSA9
IGNlaWxmKGFkdmFuY2UpOwotCi0gICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgbmV4dCBj
aGFyYWN0ZXIgaXMgYSAicm91bmRpbmcgaGFjayBjaGFyYWN0ZXIiLCBpZiBzbywgYWRqdXN0IHRo
ZQotICAgICAgICAvLyB3aWR0aCBzbyB0aGF0IHRoZSB0b3RhbCBydW4gd2lkdGggd2lsbCBiZSBv
biBhbiBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICBpbnQgcG9zaXRpb24gPSBtX2N1cnJlbnRD
aGFyYWN0ZXIgKyBsZW47Ci0gICAgICAgIGJvb2wgbGFzdEdseXBoID0gKGsgPT0gZ2x5cGhzLnNp
emUoKSAtIDEpICYmIChtX3J1bi5ydGwoKSA/IGkgPT0gMCA6IGkgPT0gbV9pdGVtcy5zaXplKCkg
LSAyKSAmJiAocG9zaXRpb24gPj0gbV9lbmQpOwotICAgICAgICBpZiAoKG1fcnVuLmFwcGx5V29y
ZFJvdW5kaW5nKCkgJiYgcm91bmRpbmdIYWNrV29yZEJvdW5kYXJpZXNba10gIT0gLTEpIHx8Ci0g
ICAgICAgICAgICAobV9ydW4uYXBwbHlSdW5Sb3VuZGluZygpICYmIGxhc3RHbHlwaCkpIHsgCi0g
ICAgICAgICAgICBmbG9hdCB0b3RhbFdpZHRoID0gbV9ydW5XaWR0aFNvRmFyICsgYWR2YW5jZTsK
LSAgICAgICAgICAgIGFkdmFuY2UgKz0gY2VpbGYodG90YWxXaWR0aCkgLSB0b3RhbFdpZHRoOwot
ICAgICAgICB9Ci0KICAgICAgICAgbV9ydW5XaWR0aFNvRmFyICs9IGFkdmFuY2U7CiAKICAgICAg
ICAgLy8gRklYTUU6IFdlIG5lZWQgdG8gdGFrZSB0aGUgR09GRlNFVFMgZm9yIGNvbWJpbmluZyBn
bHlwaHMgYW5kIHN0b3JlIHRoZW0gaW4gdGhlIGdseXBoIGJ1ZmZlcgpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL0ZpbGVDaG9vc2VyR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvRmlsZUNob29zZXJHdGsuY3BwCShyZXZpc2lvbiA3ODU3
MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9GaWxlQ2hvb3Nlckd0ay5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTYwLDggKzYwLDggQEAgU3RyaW5nIEZpbGVDaG9vc2VyOjpiYXNlbmFt
ZUZvcldpZHRoKGNvbgogICAgICAgICBnY2hhciogc3lzdGVtQmFzZW5hbWUgPSBnX3BhdGhfZ2V0
X2Jhc2VuYW1lKHN5c3RlbUZpbGVuYW1lLmRhdGEoKSk7CiAgICAgICAgIHN0cmluZ0J5QWRvcHRp
bmdGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oc3lzdGVtQmFzZW5hbWUsIHN0cmluZyk7CiAgICAg
fSBlbHNlIGlmIChtX2ZpbGVuYW1lcy5zaXplKCkgPiAxKQotICAgICAgICByZXR1cm4gU3RyaW5n
VHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmlsZVVwbG9hZFRleHQobV9maWxlbmFt
ZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZ1Ry
dW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShtdWx0aXBsZUZpbGVVcGxvYWRUZXh0KG1fZmlsZW5hbWVz
LnNpemUoKSksIHdpZHRoLCBmb250KTsKIAotICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNl
bnRlclRydW5jYXRlKHN0cmluZywgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICByZXR1cm4gU3Ry
aW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJpbmcsIHdpZHRoLCBmb250KTsKIH0KIH0K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1hYy5tbQkocmV2
aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFj
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNTgsOCArMTU4LDcgQEAgc3RhdGljIGZsb2F0IHdpZHRo
V2l0aEZvbnQoTlNTdHJpbmcgKnN0cgogICAgIGlmIChjYW5Vc2VGYXN0UmVuZGVyZXIoYnVmZmVy
LmRhdGEoKSwgbGVuZ3RoKSkgewogICAgICAgICBGb250IHdlYkNvcmVGb250KEZvbnRQbGF0Zm9y
bURhdGEoZm9udCwgW2ZvbnQgcG9pbnRTaXplXSksICFbW05TR3JhcGhpY3NDb250ZXh0IGN1cnJl
bnRDb250ZXh0XSBpc0RyYXdpbmdUb1NjcmVlbl0pOwogICAgICAgICBUZXh0UnVuIHJ1bihidWZm
ZXIuZGF0YSgpLCBsZW5ndGgpOwotICAgICAgICBydW4uZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsK
LSAgICAgICAgcmV0dXJuIHdlYkNvcmVGb250LmZsb2F0V2lkdGgocnVuKTsKKyAgICAgICAgcmV0
dXJuIHdlYkNvcmVGb250LndpZHRoKHJ1bik7CiAgICAgfQogICAgIAogICAgIHJldHVybiBbc3Ry
aW5nIHNpemVXaXRoQXR0cmlidXRlczpbTlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRoT2JqZWN0
c0FuZEtleXM6Zm9udCwgTlNGb250QXR0cmlidXRlTmFtZSwgbmlsXV0ud2lkdGg7CkBAIC0xOTcs
OCArMTk2LDcgQEAgc3RhdGljIHZvaWQgZHJhd0F0UG9pbnQoTlNTdHJpbmcgKnN0cmluZwogICAg
ICAgICAgICAgCiAgICAgICAgIEZvbnQgd2ViQ29yZUZvbnQoRm9udFBsYXRmb3JtRGF0YShmb250
LCBbZm9udCBwb2ludFNpemVdKSwgIVtuc0NvbnRleHQgaXNEcmF3aW5nVG9TY3JlZW5dLCBBbnRp
YWxpYXNlZCk7CiAgICAgICAgIFRleHRSdW4gcnVuKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCk7Ci0g
ICAgICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotICAgICAgICAKKwogICAgICAgICBD
R0Zsb2F0IHJlZDsKICAgICAgICAgQ0dGbG9hdCBncmVlbjsKICAgICAgICAgQ0dGbG9hdCBibHVl
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0ZpbGVDaG9vc2VyTWFjLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9GaWxlQ2hvb3Nlck1hYy5t
bQkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRmlsZUNo
b29zZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ3LDkgKzQ3LDkgQEAgU3RyaW5nIEZpbGVD
aG9vc2VyOjpiYXNlbmFtZUZvcldpZHRoKGNvbgogICAgIGVsc2UgaWYgKG1fZmlsZW5hbWVzLnNp
emUoKSA9PSAxKQogICAgICAgICBzdHJUb1RydW5jYXRlID0gW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1
bHRNYW5hZ2VyXSBkaXNwbGF5TmFtZUF0UGF0aDoobV9maWxlbmFtZXNbMF0pXTsKICAgICBlbHNl
Ci0gICAgICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUobXVsdGlwbGVG
aWxlVXBsb2FkVGV4dChtX2ZpbGVuYW1lcy5zaXplKCkpLCB3aWR0aCwgZm9udCwgZmFsc2UpOwor
ICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmls
ZVVwbG9hZFRleHQobV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQpOwogCi0gICAgcmV0
dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyVG9UcnVuY2F0ZSwgd2lkdGgs
IGZvbnQsIGZhbHNlKTsKKyAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0
ZShzdHJUb1RydW5jYXRlLCB3aWR0aCwgZm9udCk7CiB9CiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3dpbi9EcmFnSW1hZ2VXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9EcmFnSW1hZ2VXaW4uY3BwCShyZXZpc2lvbiA3ODU3MSkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9EcmFnSW1hZ2VXaW4uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yMTAsMTMgKzIxMCwxMyBAQCBEcmFnSW1hZ2VSZWYgY3JlYXRlRHJhZ0ltYWdlRm9y
TGluayhLVVJMCiAgICAgc3RhdGljIGNvbnN0IENvbG9yIGJvdHRvbUNvbG9yKDI1NSwgMjU1LCAy
NTUsIDEyNyk7IC8vIG9yaWdpbmFsIGFscGhhID0gMC41CiAgICAgaWYgKGRyYXdVUkxTdHJpbmcp
IHsKICAgICAgICAgaWYgKGNsaXBVUkxTdHJpbmcpCi0gICAgICAgICAgICB1cmxTdHJpbmcgPSBT
dHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUodXJsU3RyaW5nLCBpbWFnZVNpemUud2lkdGgo
KSAtIChEcmFnTGFiZWxCb3JkZXJYICogMi4wZiksICp1cmxGb250LCBmYWxzZSk7CisgICAgICAg
ICAgICB1cmxTdHJpbmcgPSBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUodXJsU3RyaW5n
LCBpbWFnZVNpemUud2lkdGgoKSAtIChEcmFnTGFiZWxCb3JkZXJYICogMi4wZiksICp1cmxGb250
KTsKICAgICAgICAgSW50UG9pbnQgdGV4dFBvcyhEcmFnTGFiZWxCb3JkZXJYLCBpbWFnZVNpemUu
aGVpZ2h0KCkgLSAoTGFiZWxCb3JkZXJZT2Zmc2V0ICsgdXJsRm9udC0+Zm9udE1ldHJpY3MoKS5k
ZXNjZW50KCkpKTsKICAgICAgICAgV2ViQ29yZURyYXdEb3VibGVkVGV4dEF0UG9pbnQoY29udGV4
dCwgdXJsU3RyaW5nLCB0ZXh0UG9zLCAqdXJsRm9udCwgdG9wQ29sb3IsIGJvdHRvbUNvbG9yKTsK
ICAgICB9CiAgICAgCiAgICAgaWYgKGNsaXBMYWJlbFN0cmluZykKLSAgICAgICAgbGFiZWwgPSBT
dHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUobGFiZWwsIGltYWdlU2l6ZS53aWR0aCgpIC0g
KERyYWdMYWJlbEJvcmRlclggKiAyLjBmKSwgKmxhYmVsRm9udCwgZmFsc2UpOworICAgICAgICBs
YWJlbCA9IFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShsYWJlbCwgaW1hZ2VTaXplLndp
ZHRoKCkgLSAoRHJhZ0xhYmVsQm9yZGVyWCAqIDIuMGYpLCAqbGFiZWxGb250KTsKIAogICAgIElu
dFBvaW50IHRleHRQb3MoRHJhZ0xhYmVsQm9yZGVyWCwgRHJhZ0xhYmVsQm9yZGVyWSArIGxhYmVs
Rm9udC0+cGl4ZWxTaXplKCkpOwogICAgIFdlYkNvcmVEcmF3RG91YmxlZFRleHRBdFBvaW50KGNv
bnRleHQsIGxhYmVsLCB0ZXh0UG9zLCAqbGFiZWxGb250LCB0b3BDb2xvciwgYm90dG9tQ29sb3Ip
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVDaG9vc2VyV2luLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmlsZUNob29zZXJXaW4u
Y3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxl
Q2hvb3Nlcldpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDkgKzQ2LDkgQEAgU3RyaW5nIEZp
bGVDaG9vc2VyOjpiYXNlbmFtZUZvcldpZHRoKGNvbgogICAgICAgICBMUFdTVFIgYmFzZW5hbWUg
PSBQYXRoRmluZEZpbGVOYW1lVyh0bXBGaWxlbmFtZS5jaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5h
dGlvbigpKTsKICAgICAgICAgc3RyaW5nID0gU3RyaW5nKGJhc2VuYW1lKTsKICAgICB9IGVsc2UK
LSAgICAgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShTdHJpbmc6Om51
bWJlcihtX2ZpbGVuYW1lcy5zaXplKCkpICsgIiBmaWxlcyIsIHdpZHRoLCBmb250LCBmYWxzZSk7
CisgICAgICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUoU3RyaW5nOjpu
dW1iZXIobV9maWxlbmFtZXMuc2l6ZSgpKSArICIgZmlsZXMiLCB3aWR0aCwgZm9udCk7CiAKLSAg
ICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJpbmcsIHdpZHRoLCBm
b250LCBmYWxzZSk7CisgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUo
c3RyaW5nLCB3aWR0aCwgZm9udCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCShyZXZpc2lv
biA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMjYsNyArMzI2LDcgQEAgdm9pZCBQb3B1cE1lbnVXaW46OmNh
bGN1bGF0ZVBvc2l0aW9uQW5kUwogICAgICAgICAgICAgaXRlbUZvbnQudXBkYXRlKG1fcG9wdXBD
bGllbnQtPmZvbnRTZWxlY3RvcigpKTsKICAgICAgICAgfQogCi0gICAgICAgIHBvcHVwV2lkdGgg
PSBtYXgocG9wdXBXaWR0aCwgaXRlbUZvbnQud2lkdGgoVGV4dFJ1bih0ZXh0LmNoYXJhY3RlcnMo
KSwgdGV4dC5sZW5ndGgoKSkpKTsKKyAgICAgICAgcG9wdXBXaWR0aCA9IG1heChwb3B1cFdpZHRo
LCBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKGl0ZW1Gb250LndpZHRoKFRleHRSdW4odGV4dC5jaGFy
YWN0ZXJzKCksIHRleHQubGVuZ3RoKCkpKSkpKTsKICAgICB9CiAKICAgICBpZiAobmF0dXJhbEhl
aWdodCA+IG1heFBvcHVwSGVpZ2h0KQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2lu
L1dlYkNvcmVUZXh0UmVuZGVyZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9XZWJDb3JlVGV4dFJlbmRlcmVyLmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2ViQ29yZVRleHRSZW5kZXJlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lkIFdlYkNvcmVEcmF3RG91YmxlZFRleHRB
dFBvaW50KEdyYXBoCiAKIGZsb2F0IFdlYkNvcmVUZXh0RmxvYXRXaWR0aChjb25zdCBTdHJpbmcm
IHRleHQsIGNvbnN0IEZvbnQmIGZvbnQpCiB7Ci0gICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6
d2lkdGgodGV4dCwgZm9udCwgZmFsc2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6Ondp
ZHRoKHRleHQsIGZvbnQpOwogfQogCiB2b2lkIFdlYkNvcmVTZXRTaG91bGRVc2VGb250U21vb3Ro
aW5nKGJvb2wgc21vb3RoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RS
ZXN1bHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0
UmVzdWx0LmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SGl0VGVzdFJlc3VsdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0NSw2ICs1NDUsMjMgQEAgYm9v
bCBIaXRUZXN0UmVzdWx0OjphZGROb2RlVG9SZWN0QmFzZWRUZQogICAgIHJldHVybiAhcmVjdC5j
b250YWlucyhyZWN0Rm9yUG9pbnQoeCwgeSkpOwogfQogCitib29sIEhpdFRlc3RSZXN1bHQ6OmFk
ZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQoTm9kZSogbm9kZSwgaW50IHgsIGludCB5LCBjb25z
dCBGbG9hdFJlY3QmIHJlY3QpCit7CisgICAgLy8gSWYgaXQgaXMgbm90IGEgcmVjdC1iYXNlZCBo
aXQgdGVzdCwgdGhpcyBtZXRob2QgaGFzIHRvIGJlIG5vLW9wLgorICAgIC8vIFJldHVybiBmYWxz
ZSwgc28gdGhlIGhpdCB0ZXN0IHN0b3BzLgorICAgIGlmICghaXNSZWN0QmFzZWRUZXN0KCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIElmIG5vZGUgaXMgbnVsbCwgcmV0dXJuIHRy
dWUgc28gdGhlIGhpdCB0ZXN0IGNhbiBjb250aW51ZS4KKyAgICBpZiAoIW5vZGUpCisgICAgICAg
IHJldHVybiB0cnVlOworCisgICAgbm9kZSA9IG5vZGUtPnNoYWRvd0FuY2VzdG9yTm9kZSgpOwor
ICAgIG1fcmVjdEJhc2VkVGVzdFJlc3VsdC5hZGQobm9kZSk7CisKKyAgICByZXR1cm4gIXJlY3Qu
Y29udGFpbnMocmVjdEZvclBvaW50KHgsIHkpKTsKK30KKwogdm9pZCBIaXRUZXN0UmVzdWx0Ojph
cHBlbmQoY29uc3QgSGl0VGVzdFJlc3VsdCYgb3RoZXIpCiB7CiAgICAgQVNTRVJUKGlzUmVjdEJh
c2VkVGVzdCgpICYmIG90aGVyLmlzUmVjdEJhc2VkVGVzdCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw2
ICsyMCw3IEBACiAjaWZuZGVmIEhpdFRlc3RSZXN1bHRfaAogI2RlZmluZSBIaXRUZXN0UmVzdWx0
X2gKIAorI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5j
bHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKQEAgLTEwOSw3ICsxMTAsOCBA
QCBwdWJsaWM6CiAKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgaXQgaXMgcmVjdC1iYXNlZCBoaXQg
dGVzdCBhbmQgbmVlZHMgdG8gY29udGludWUgdW50aWwgdGhlIHJlY3QgaXMgZnVsbHkKICAgICAv
LyBlbmNsb3NlZCBieSB0aGUgYm91bmRhcmllcyBvZiBhIG5vZGUuCi0gICAgYm9vbCBhZGROb2Rl
VG9SZWN0QmFzZWRUZXN0UmVzdWx0KE5vZGUqLCBpbnQgeCwgaW50IHksIGNvbnN0IEludFJlY3Qm
IHJlY3QgPSBJbnRSZWN0KCkpOworICAgIGJvb2wgYWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3Vs
dChOb2RlKiwgaW50IHgsIGludCB5LCBjb25zdCBJbnRSZWN0JiA9IEludFJlY3QoKSk7CisgICAg
Ym9vbCBhZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KE5vZGUqLCBpbnQgeCwgaW50IHksIGNv
bnN0IEZsb2F0UmVjdCYpOwogICAgIGNvbnN0IExpc3RIYXNoU2V0PFJlZlB0cjxOb2RlPiA+JiBy
ZWN0QmFzZWRUZXN0UmVzdWx0KCkgY29uc3QgeyByZXR1cm4gbV9yZWN0QmFzZWRUZXN0UmVzdWx0
OyB9CiAgICAgdm9pZCBhcHBlbmQoY29uc3QgSGl0VGVzdFJlc3VsdCYpOwogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTUw
LDE0ICsxNTAsMTIgQEAgdm9pZCBJbmxpbmVCb3g6OmF0dGFjaExpbmUoKQogICAgICAgICB0b1Jl
bmRlckJveChtX3JlbmRlcmVyKS0+c2V0SW5saW5lQm94V3JhcHBlcih0aGlzKTsKIH0KIAotdm9p
ZCBJbmxpbmVCb3g6OmFkanVzdFBvc2l0aW9uKGludCBkeCwgaW50IGR5KQordm9pZCBJbmxpbmVC
b3g6OmFkanVzdFBvc2l0aW9uKGZsb2F0IGR4LCBmbG9hdCBkeSkKIHsKICAgICBtX3ggKz0gZHg7
CiAgICAgbV95ICs9IGR5OwotICAgIGlmIChtX3JlbmRlcmVyLT5pc1JlcGxhY2VkKCkpIHsKLSAg
ICAgICAgUmVuZGVyQm94KiBib3ggPSB0b1JlbmRlckJveChtX3JlbmRlcmVyKTsKLSAgICAgICAg
Ym94LT5tb3ZlKGR4LCBkeSk7Ci0gICAgfQorICAgIGlmIChtX3JlbmRlcmVyLT5pc1JlcGxhY2Vk
KCkpCisgICAgICAgIHRvUmVuZGVyQm94KG1fcmVuZGVyZXIpLT5wb3NpdGlvbkxpbmVCb3godGhp
cyk7CiB9CiAKIHZvaWQgSW5saW5lQm94OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgaW50
IHR4LCBpbnQgdHkpCkBAIC0yNzgsMjEgKzI3NiwzNSBAQCBib29sIElubGluZUJveDo6Y2FuQWNj
b21tb2RhdGVFbGxpcHNpcyhiCiAgICAgcmV0dXJuICEoYm94UmVjdC5pbnRlcnNlY3RzKGVsbGlw
c2lzUmVjdCkpOwogfQogCi1pbnQgSW5saW5lQm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wsIGlu
dCwgaW50LCBpbnQsIGJvb2wmKQorZmxvYXQgSW5saW5lQm94OjpwbGFjZUVsbGlwc2lzQm94KGJv
b2wsIGZsb2F0LCBmbG9hdCwgZmxvYXQsIGJvb2wmKQogewogICAgIC8vIFVzZSAtMSB0byBtZWFu
ICJ3ZSBkaWRuJ3Qgc2V0IHRoZSBwb3NpdGlvbi4iCiAgICAgcmV0dXJuIC0xOwogfQogCi1JbnRQ
b2ludCBJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKQorRmxvYXRQb2ludCBJ
bmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKQogewogICAgIGlmICghcmVuZGVy
ZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKLSAgICAgICAgcmV0
dXJuIEludFBvaW50KHgoKSwgeSgpKTsKKyAgICAgICAgcmV0dXJuIEZsb2F0UG9pbnQoeCgpLCB5
KCkpOwogICAgIFJlbmRlckJsb2NrKiBibG9jayA9IHJvb3QoKS0+YmxvY2soKTsKICAgICBpZiAo
YmxvY2stPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCi0gICAgICAgIHJldHVy
biBJbnRQb2ludCh4KCksIGJsb2NrLT5oZWlnaHQoKSAtIGhlaWdodCgpIC0geSgpKTsKKyAgICAg
ICAgcmV0dXJuIEZsb2F0UG9pbnQoeCgpLCBibG9jay0+aGVpZ2h0KCkgLSBoZWlnaHQoKSAtIHko
KSk7CiAgICAgZWxzZQotICAgICAgICByZXR1cm4gSW50UG9pbnQoYmxvY2stPndpZHRoKCkgLSB3
aWR0aCgpIC0geCgpLCB5KCkpOworICAgICAgICByZXR1cm4gRmxvYXRQb2ludChibG9jay0+d2lk
dGgoKSAtIHdpZHRoKCkgLSB4KCksIHkoKSk7Cit9CisKK3ZvaWQgSW5saW5lQm94OjpmbGlwRm9y
V3JpdGluZ01vZGUoRmxvYXRSZWN0JiByZWN0KQoreworICAgIGlmICghcmVuZGVyZXIoKS0+c3R5
bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuOworICAg
IHJvb3QoKS0+YmxvY2soKS0+ZmxpcEZvcldyaXRpbmdNb2RlKHJlY3QpOworfQorCitGbG9hdFBv
aW50IElubGluZUJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50
KQoreworICAgIGlmICghcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkQmxvY2tzV3JpdGlu
Z01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHBvaW50OworICAgIHJldHVybiByb290KCktPmJsb2Nr
KCktPmZsaXBGb3JXcml0aW5nTW9kZShwb2ludCk7CiB9CiAKIHZvaWQgSW5saW5lQm94OjpmbGlw
Rm9yV3JpdGluZ01vZGUoSW50UmVjdCYgcmVjdCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9JbmxpbmVCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SW5saW5lQm94LmgJKHJldmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0lubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OCw3ICs2OCw3IEBAIHB1YmxpYzoKICAg
ICB7CiAgICAgfQogCi0gICAgSW5saW5lQm94KFJlbmRlck9iamVjdCogb2JqLCBpbnQgeCwgaW50
IHksIGludCBsb2dpY2FsV2lkdGgsIGJvb2wgZmlyc3RMaW5lLCBib29sIGNvbnN0cnVjdGVkLAor
ICAgIElubGluZUJveChSZW5kZXJPYmplY3QqIG9iaiwgZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQg
bG9naWNhbFdpZHRoLCBib29sIGZpcnN0TGluZSwgYm9vbCBjb25zdHJ1Y3RlZCwKICAgICAgICAg
ICAgICAgYm9vbCBkaXJ0eSwgYm9vbCBleHRyYWN0ZWQsIGJvb2wgaXNIb3Jpem9udGFsLCBJbmxp
bmVCb3gqIG5leHQsIElubGluZUJveCogcHJldiwgSW5saW5lRmxvd0JveCogcGFyZW50KQogICAg
ICAgICA6IG1fbmV4dChuZXh0KQogICAgICAgICAsIG1fcHJldihwcmV2KQpAQCAtMTEyLDE1ICsx
MTIsMTUgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzTGluZUJyZWFrKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihpbnQg
ZHgsIGludCBkeSk7Ci0gICAgdm9pZCBhZGp1c3RMaW5lRGlyZWN0aW9uUG9zaXRpb24oaW50IGRl
bHRhKQorICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihmbG9hdCBkeCwgZmxvYXQgZHkp
OworICAgIHZvaWQgYWRqdXN0TGluZURpcmVjdGlvblBvc2l0aW9uKGZsb2F0IGRlbHRhKQogICAg
IHsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKQogICAgICAgICAgICAgYWRqdXN0UG9zaXRp
b24oZGVsdGEsIDApOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBhZGp1c3RQb3NpdGlvbigw
LCBkZWx0YSk7CiAgICAgfQotICAgIHZvaWQgYWRqdXN0QmxvY2tEaXJlY3Rpb25Qb3NpdGlvbihp
bnQgZGVsdGEpCisgICAgdm9pZCBhZGp1c3RCbG9ja0RpcmVjdGlvblBvc2l0aW9uKGZsb2F0IGRl
bHRhKQogICAgIHsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKQogICAgICAgICAgICAgYWRq
dXN0UG9zaXRpb24oMCwgZGVsdGEpOwpAQCAtMjIwLDI4ICsyMjAsMjggQEAgcHVibGljOgogICAg
IFJvb3RJbmxpbmVCb3gqIHJvb3QoKTsKIAogICAgIC8vIHgoKSBpcyB0aGUgbGVmdCBzaWRlIG9m
IHRoZSBib3ggaW4gdGhlIGNvbnRhaW5pbmcgYmxvY2sncyBjb29yZGluYXRlIHN5c3RlbS4KLSAg
ICB2b2lkIHNldFgoaW50IHgpIHsgbV94ID0geDsgfQotICAgIGludCB4KCkgY29uc3QgeyByZXR1
cm4gbV94OyB9CisgICAgdm9pZCBzZXRYKGZsb2F0IHgpIHsgbV94ID0geDsgfQorICAgIGZsb2F0
IHgoKSBjb25zdCB7IHJldHVybiBtX3g7IH0KIAogICAgIC8vIHkoKSBpcyB0aGUgdG9wIHNpZGUg
b2YgdGhlIGJveCBpbiB0aGUgY29udGFpbmluZyBibG9jaydzIGNvb3JkaW5hdGUgc3lzdGVtLgot
ICAgIHZvaWQgc2V0WShpbnQgeSkgeyBtX3kgPSB5OyB9Ci0gICAgaW50IHkoKSBjb25zdCB7IHJl
dHVybiBtX3k7IH0KKyAgICB2b2lkIHNldFkoZmxvYXQgeSkgeyBtX3kgPSB5OyB9CisgICAgZmxv
YXQgeSgpIGNvbnN0IHsgcmV0dXJuIG1feTsgfQogCi0gICAgaW50IHdpZHRoKCkgY29uc3QgeyBy
ZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsV2lkdGgoKSA6IGxvZ2ljYWxIZWlnaHQoKTsg
fQotICAgIGludCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IGxvZ2lj
YWxIZWlnaHQoKSA6IGxvZ2ljYWxXaWR0aCgpOyB9Ci0KLSAgICBJbnRSZWN0IGZyYW1lUmVjdCgp
IGNvbnN0IHsgcmV0dXJuIEludFJlY3QoeCgpLCB5KCksIHdpZHRoKCksIGhlaWdodCgpKTsgfQor
ICAgIGZsb2F0IHdpZHRoKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2Fs
V2lkdGgoKSA6IGxvZ2ljYWxIZWlnaHQoKTsgfQorICAgIGZsb2F0IGhlaWdodCgpIGNvbnN0IHsg
cmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbG9naWNhbEhlaWdodCgpIDogbG9naWNhbFdpZHRoKCk7
IH0KIAogICAgIC8vIFRoZSBsb2dpY2FsTGVmdCBwb3NpdGlvbiBpcyB0aGUgbGVmdCBlZGdlIG9m
IHRoZSBsaW5lIGJveCBpbiBhIGhvcml6b250YWwgbGluZSBhbmQgdGhlIHRvcCBlZGdlIGluIGEg
dmVydGljYWwgbGluZS4KLSAgICBpbnQgbG9naWNhbExlZnQoKSBjb25zdCB7IHJldHVybiBpc0hv
cml6b250YWwoKSA/IG1feCA6IG1feTsgfQotICAgIGludCBsb2dpY2FsUmlnaHQoKSBjb25zdCB7
IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNhbFdpZHRoKCk7IH0KLSAgICB2b2lkIHNldExv
Z2ljYWxMZWZ0KGludCBsZWZ0KQorICAgIGZsb2F0IGxvZ2ljYWxMZWZ0KCkgY29uc3QgeyByZXR1
cm4gaXNIb3Jpem9udGFsKCkgPyBtX3ggOiBtX3k7IH0KKyAgICBmbG9hdCBsb2dpY2FsUmlnaHQo
KSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpICsgbG9naWNhbFdpZHRoKCk7IH0KKyAgICB2
b2lkIHNldExvZ2ljYWxMZWZ0KGZsb2F0IGxlZnQpCiAgICAgewogICAgICAgICBpZiAoaXNIb3Jp
em9udGFsKCkpCiAgICAgICAgICAgICBtX3ggPSBsZWZ0OwogICAgICAgICBlbHNlCiAgICAgICAg
ICAgICBtX3kgPSBsZWZ0OwogICAgIH0KKyAgICBpbnQgcGl4ZWxTbmFwcGVkTG9naWNhbExlZnQo
KSBjb25zdCB7IHJldHVybiBsb2dpY2FsTGVmdCgpOyB9CisgICAgaW50IHBpeGVsU25hcHBlZExv
Z2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGNlaWxmKGxvZ2ljYWxSaWdodCgpKTsgfQogCiAg
ICAgLy8gVGhlIGxvZ2ljYWxUb3BbIHBvc2l0aW9uIGlzIHRoZSB0b3AgZWRnZSBvZiB0aGUgbGlu
ZSBib3ggaW4gYSBob3Jpem9udGFsIGxpbmUgYW5kIHRoZSBsZWZ0IGVkZ2UgaW4gYSB2ZXJ0aWNh
bCBsaW5lLgogICAgIGludCBsb2dpY2FsVG9wKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFs
KCkgPyBtX3kgOiBtX3g7IH0KQEAgLTI1NSw4ICsyNTUsOCBAQCBwdWJsaWM6CiAgICAgfQogCiAg
ICAgLy8gVGhlIGxvZ2ljYWwgd2lkdGggaXMgb3VyIGV4dGVudCBpbiB0aGUgbGluZSdzIG92ZXJh
bGwgaW5saW5lIGRpcmVjdGlvbiwgaS5lLiwgd2lkdGggZm9yIGhvcml6b250YWwgdGV4dCBhbmQg
aGVpZ2h0IGZvciB2ZXJ0aWNhbCB0ZXh0LgotICAgIHZvaWQgc2V0TG9naWNhbFdpZHRoKGludCB3
KSB7IG1fbG9naWNhbFdpZHRoID0gdzsgfQotICAgIGludCBsb2dpY2FsV2lkdGgoKSBjb25zdCB7
IHJldHVybiBtX2xvZ2ljYWxXaWR0aDsgfQorICAgIHZvaWQgc2V0TG9naWNhbFdpZHRoKGZsb2F0
IHcpIHsgbV9sb2dpY2FsV2lkdGggPSB3OyB9CisgICAgZmxvYXQgbG9naWNhbFdpZHRoKCkgY29u
c3QgeyByZXR1cm4gbV9sb2dpY2FsV2lkdGg7IH0KIAogICAgIC8vIFRoZSBsb2dpY2FsIGhlaWdo
dCBpcyBvdXIgZXh0ZW50IGluIHRoZSBibG9jayBmbG93IGRpcmVjdGlvbiwgaS5lLiwgaGVpZ2h0
IGZvciBob3Jpem9udGFsIHRleHQgYW5kIHdpZHRoIGZvciB2ZXJ0aWNhbCB0ZXh0LgogICAgIGlu
dCBsb2dpY2FsSGVpZ2h0KCkgY29uc3Q7CkBAIC0yODYsNyArMjg2LDcgQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCBib29sIGNhbkFjY29tbW9kYXRlRWxsaXBzaXMoYm9vbCBsdHIsIGludCBibG9j
a0VkZ2UsIGludCBlbGxpcHNpc1dpZHRoKTsKICAgICAvLyB2aXNpYmxlTGVmdEVkZ2UsIHZpc2li
bGVSaWdodEVkZ2UgYXJlIGluIHRoZSBwYXJlbnQncyBjb29yZGluYXRlIHN5c3RlbS4KLSAgICB2
aXJ0dWFsIGludCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBpbnQgdmlzaWJsZUxlZnRFZGdl
LCBpbnQgdmlzaWJsZVJpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmKTsKKyAgICB2
aXJ0dWFsIGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGZsb2F0IHZpc2libGVMZWZ0
RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYp
OwogCiAgICAgdm9pZCBzZXRIYXNCYWRQYXJlbnQoKTsKIApAQCAtMjk0LDYgKzI5NCw4IEBAIHB1
YmxpYzoKICAgICAKICAgICBib29sIHZpc2libGVUb0hpdFRlc3RpbmcoKSBjb25zdCB7IHJldHVy
biByZW5kZXJlcigpLT5zdHlsZSgpLT52aXNpYmlsaXR5KCkgPT0gVklTSUJMRSAmJiByZW5kZXJl
cigpLT5zdHlsZSgpLT5wb2ludGVyRXZlbnRzKCkgIT0gUEVfTk9ORTsgfQogICAgIAorICAgIEVW
ZXJ0aWNhbEFsaWduIHZlcnRpY2FsQWxpZ24oKSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLT5z
dHlsZShtX2ZpcnN0TGluZSktPnZlcnRpY2FsQWxpZ24oKTsgfQorCiAgICAgLy8gVXNlIHdpdGgg
Y2F1dGlvbiEgVGhlIHR5cGUgaXMgbm90IGNoZWNrZWQhCiAgICAgUmVuZGVyQm94TW9kZWxPYmpl
Y3QqIGJveE1vZGVsT2JqZWN0KCkgY29uc3QKICAgICB7IApAQCAtMzAyLDcgKzMwNCw5IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgSW50UG9pbnQgbG9jYXRpb25J
bmNsdWRpbmdGbGlwcGluZygpOworICAgIEZsb2F0UG9pbnQgbG9jYXRpb25JbmNsdWRpbmdGbGlw
cGluZygpOworICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0UmVjdCYpOworICAgIEZs
b2F0UG9pbnQgZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEZsb2F0UG9pbnQmKTsKICAgICB2b2lk
IGZsaXBGb3JXcml0aW5nTW9kZShJbnRSZWN0Jik7CiAgICAgSW50UG9pbnQgZmxpcEZvcldyaXRp
bmdNb2RlKGNvbnN0IEludFBvaW50Jik7CiAKQEAgLTMxNSw5ICszMTksOSBAQCBwcml2YXRlOgog
cHVibGljOgogICAgIFJlbmRlck9iamVjdCogbV9yZW5kZXJlcjsKIAotICAgIGludCBtX3g7Ci0g
ICAgaW50IG1feTsKLSAgICBpbnQgbV9sb2dpY2FsV2lkdGg7CisgICAgZmxvYXQgbV94OworICAg
IGZsb2F0IG1feTsKKyAgICBmbG9hdCBtX2xvZ2ljYWxXaWR0aDsKICAgICAKICAgICAvLyBTb21l
IG9mIHRoZXNlIGJpdHMgYXJlIGFjdHVhbGx5IGZvciBzdWJjbGFzc2VzIGFuZCBtb3ZlZCBoZXJl
IHRvIGNvbXBhY3QgdGhlIHN0cnVjdHVyZXMuCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9JbmxpbmVGbG93Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHJldmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2
NywxOCBAQCBpbnQgSW5saW5lRmxvd0JveDo6Z2V0Rmxvd1NwYWNpbmdMb2dpY2FsCiAgICAgcmV0
dXJuIHRvdFdpZHRoOwogfQogCitJbnRSZWN0IElubGluZUZsb3dCb3g6OnJvdW5kZWRGcmFtZVJl
Y3QoKSBjb25zdAoreworICAgIC8vIEJlZ2luIGJ5IHNuYXBwaW5nIHRoZSB4IGFuZCB5IGNvb3Jk
aW5hdGVzIHRvIHRoZSBuZWFyZXN0IHBpeGVsLgorICAgIGludCBzbmFwcGVkWCA9IGxyb3VuZGYo
eCgpKTsKKyAgICBpbnQgc25hcHBlZFkgPSBscm91bmRmKHkoKSk7CisgICAgCisgICAgaW50IHNu
YXBwZWRNYXhYID0gbHJvdW5kZih4KCkgKyB3aWR0aCgpKTsKKyAgICBpbnQgc25hcHBlZE1heFkg
PSBscm91bmRmKHkoKSArIGhlaWdodCgpKTsKKyAgICAKKyAgICByZXR1cm4gSW50UmVjdChzbmFw
cGVkWCwgc25hcHBlZFksIHNuYXBwZWRNYXhYIC0gc25hcHBlZFgsIHNuYXBwZWRNYXhZIC0gc25h
cHBlZFkpOworfQorCiB2b2lkIElubGluZUZsb3dCb3g6OmFkZFRvTGluZShJbmxpbmVCb3gqIGNo
aWxkKSAKIHsKICAgICBBU1NFUlQoIWNoaWxkLT5wYXJlbnQoKSk7CkBAIC0xNjcsMTMgKzE3OSwx
MyBAQCB2b2lkIElubGluZUZsb3dCb3g6OmF0dGFjaExpbmVCb3hUb1JlbmRlCiAgICAgdG9SZW5k
ZXJJbmxpbmUocmVuZGVyZXIoKSktPmxpbmVCb3hlcygpLT5hdHRhY2hMaW5lQm94KHRoaXMpOwog
fQogCi12b2lkIElubGluZUZsb3dCb3g6OmFkanVzdFBvc2l0aW9uKGludCBkeCwgaW50IGR5KQor
dm9pZCBJbmxpbmVGbG93Qm94OjphZGp1c3RQb3NpdGlvbihmbG9hdCBkeCwgZmxvYXQgZHkpCiB7
CiAgICAgSW5saW5lQm94OjphZGp1c3RQb3NpdGlvbihkeCwgZHkpOwogICAgIGZvciAoSW5saW5l
Qm94KiBjaGlsZCA9IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRPbkxp
bmUoKSkKICAgICAgICAgY2hpbGQtPmFkanVzdFBvc2l0aW9uKGR4LCBkeSk7CiAgICAgaWYgKG1f
b3ZlcmZsb3cpCi0gICAgICAgIG1fb3ZlcmZsb3ctPm1vdmUoZHgsIGR5KTsKKyAgICAgICAgbV9v
dmVyZmxvdy0+bW92ZShkeCwgZHkpOyAvLyBGSVhNRTogUm91bmRpbmcgZXJyb3IgaGVyZSBzaW5j
ZSBvdmVyZmxvdyB3YXMgcGl4ZWwgc25hcHBlZCwgYnV0IG5vYm9keSBvdGhlciB0aGFuIGxpc3Qg
bWFya2VycyBwYXNzZXMgbm9uLWludGVncmFsIHZhbHVlcyBoZXJlLgogfQogCiBSZW5kZXJMaW5l
Qm94TGlzdCogSW5saW5lRmxvd0JveDo6cmVuZGVyZXJMaW5lQm94ZXMoKSBjb25zdApAQCAtMjU1
LDEyICsyNjcsMTIgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpkZXRlcm1pbmVTcGFjaW5nRm9yRgog
ICAgIH0KIH0KIAotaW50IElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbklubGluZURpcmVjdGlv
bihpbnQgbG9naWNhbExlZnQsIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcsIEdseXBoT3ZlcmZsb3dB
bmRGYWxsYmFja0ZvbnRzTWFwJiB0ZXh0Qm94RGF0YU1hcCkKK2Zsb2F0IElubGluZUZsb3dCb3g6
OnBsYWNlQm94ZXNJbklubGluZURpcmVjdGlvbihmbG9hdCBsb2dpY2FsTGVmdCwgYm9vbCYgbmVl
ZHNXb3JkU3BhY2luZywgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmIHRleHRCb3hE
YXRhTWFwKQogewogICAgIC8vIFNldCBvdXIgeCBwb3NpdGlvbi4KICAgICBzZXRMb2dpY2FsTGVm
dChsb2dpY2FsTGVmdCk7CiAgIAotICAgIGludCBzdGFydExvZ2ljYWxMZWZ0ID0gbG9naWNhbExl
ZnQ7CisgICAgZmxvYXQgc3RhcnRMb2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0OwogICAgIGxvZ2lj
YWxMZWZ0ICs9IGJvcmRlckxvZ2ljYWxMZWZ0KCkgKyBwYWRkaW5nTG9naWNhbExlZnQoKTsKICAg
ICAKICAgICBmb3IgKElubGluZUJveCogY3VyciA9IGZpcnN0Q2hpbGQoKTsgY3VycjsgY3VyciA9
IGN1cnItPm5leHRPbkxpbmUoKSkgewpAQCAtMzQ1LDE3ICszNTcsMTYgQEAgYm9vbCBJbmxpbmVG
bG93Qm94OjpyZXF1aXJlc0lkZW9ncmFwaGljQgogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9p
ZCBJbmxpbmVGbG93Qm94OjphZGp1c3RNYXhBc2NlbnRBbmREZXNjZW50KGludCYgbWF4QXNjZW50
LCBpbnQmIG1heERlc2NlbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50IG1heFBvc2l0aW9uVG9wLCBpbnQgbWF4UG9zaXRpb25Cb3R0b20pCit2b2lk
IElubGluZUZsb3dCb3g6OmFkanVzdE1heEFzY2VudEFuZERlc2NlbnQoaW50JiBtYXhBc2NlbnQs
IGludCYgbWF4RGVzY2VudCwgaW50IG1heFBvc2l0aW9uVG9wLCBpbnQgbWF4UG9zaXRpb25Cb3R0
b20pCiB7CiAgICAgZm9yIChJbmxpbmVCb3gqIGN1cnIgPSBmaXJzdENoaWxkKCk7IGN1cnI7IGN1
cnIgPSBjdXJyLT5uZXh0T25MaW5lKCkpIHsKICAgICAgICAgLy8gVGhlIGNvbXB1dGVkIGxpbmVo
ZWlnaHQgbmVlZHMgdG8gYmUgZXh0ZW5kZWQgZm9yIHRoZQogICAgICAgICAvLyBwb3NpdGlvbmVk
IGVsZW1lbnRzCiAgICAgICAgIGlmIChjdXJyLT5yZW5kZXJlcigpLT5pc1Bvc2l0aW9uZWQoKSkK
ICAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBQb3NpdGlvbmVkIHBsYWNlaG9sZGVycyBkb24ndCBh
ZmZlY3QgY2FsY3VsYXRpb25zLgotICAgICAgICBpZiAoY3Vyci0+bG9naWNhbFRvcCgpID09IFBv
c2l0aW9uVG9wIHx8IGN1cnItPmxvZ2ljYWxUb3AoKSA9PSBQb3NpdGlvbkJvdHRvbSkgeworICAg
ICAgICBpZiAoY3Vyci0+dmVydGljYWxBbGlnbigpID09IFRPUCB8fCBjdXJyLT52ZXJ0aWNhbEFs
aWduKCkgPT0gQk9UVE9NKSB7CiAgICAgICAgICAgICBpbnQgbGluZUhlaWdodCA9IGN1cnItPmxp
bmVIZWlnaHQoKTsKLSAgICAgICAgICAgIGlmIChjdXJyLT5sb2dpY2FsVG9wKCkgPT0gUG9zaXRp
b25Ub3ApIHsKKyAgICAgICAgICAgIGlmIChjdXJyLT52ZXJ0aWNhbEFsaWduKCkgPT0gVE9QKSB7
CiAgICAgICAgICAgICAgICAgaWYgKG1heEFzY2VudCArIG1heERlc2NlbnQgPCBsaW5lSGVpZ2h0
KQogICAgICAgICAgICAgICAgICAgICBtYXhEZXNjZW50ID0gbGluZUhlaWdodCAtIG1heEFzY2Vu
dDsKICAgICAgICAgICAgIH0KQEAgLTM5Nyw0MCArNDA4LDM3IEBAIHN0YXRpYyBpbnQgdmVydGlj
YWxQb3NpdGlvbkZvckJveChJbmxpbmUKIAogICAgIGludCB2ZXJ0aWNhbFBvc2l0aW9uID0gMDsK
ICAgICBFVmVydGljYWxBbGlnbiB2ZXJ0aWNhbEFsaWduID0gcmVuZGVyZXItPnN0eWxlKCktPnZl
cnRpY2FsQWxpZ24oKTsKLSAgICBpZiAodmVydGljYWxBbGlnbiA9PSBUT1ApCi0gICAgICAgIHZl
cnRpY2FsUG9zaXRpb24gPSBQb3NpdGlvblRvcDsKLSAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWdu
ID09IEJPVFRPTSkKLSAgICAgICAgdmVydGljYWxQb3NpdGlvbiA9IFBvc2l0aW9uQm90dG9tOwot
ICAgIGVsc2UgewotICAgICAgICBSZW5kZXJPYmplY3QqIHBhcmVudCA9IHJlbmRlcmVyLT5wYXJl
bnQoKTsKLSAgICAgICAgaWYgKHBhcmVudC0+aXNSZW5kZXJJbmxpbmUoKSAmJiBwYXJlbnQtPnN0
eWxlKCktPnZlcnRpY2FsQWxpZ24oKSAhPSBUT1AgJiYgcGFyZW50LT5zdHlsZSgpLT52ZXJ0aWNh
bEFsaWduKCkgIT0gQk9UVE9NKQotICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiA9IGJveC0+
cGFyZW50KCktPmxvZ2ljYWxUb3AoKTsKLSAgICAgICAgCi0gICAgICAgIGlmICh2ZXJ0aWNhbEFs
aWduICE9IEJBU0VMSU5FKSB7Ci0gICAgICAgICAgICBjb25zdCBGb250JiBmb250ID0gcGFyZW50
LT5zdHlsZShmaXJzdExpbmUpLT5mb250KCk7Ci0gICAgICAgICAgICBjb25zdCBGb250TWV0cmlj
cyYgZm9udE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7Ci0gICAgICAgICAgICBpbnQgZm9u
dFNpemUgPSBmb250LnBpeGVsU2l6ZSgpOwotCi0gICAgICAgICAgICBMaW5lRGlyZWN0aW9uTW9k
ZSBsaW5lRGlyZWN0aW9uID0gcGFyZW50LT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9k
ZSgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmU7Ci0KLSAgICAgICAgICAgIGlmICh2
ZXJ0aWNhbEFsaWduID09IFNVQikKLSAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9
IGZvbnRTaXplIC8gNSArIDE7Ci0gICAgICAgICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09
IFNVUEVSKQotICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gLT0gZm9udFNpemUgLyAz
ICsgMTsKLSAgICAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gVEVYVF9UT1ApCi0g
ICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSByZW5kZXJlci0+YmFzZWxpbmVQb3Np
dGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikgLSBmb250TWV0cmlj
cy5hc2NlbnQoYmFzZWxpbmVUeXBlKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxp
Z24gPT0gTUlERExFKQotICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gLXN0YXRp
Y19jYXN0PGludD4oZm9udE1ldHJpY3MueEhlaWdodCgpIC8gMikgLSByZW5kZXJlci0+bGluZUhl
aWdodChmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC8gMiArIHJlbmRlcmVyLT5iYXNlbGluZVBv
c2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKTsKLSAgICAgICAg
ICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gVEVYVF9CT1RUT00pIHsKLSAgICAgICAgICAg
ICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IGZvbnRNZXRyaWNzLmRlc2NlbnQoYmFzZWxpbmVUeXBl
KTsKLSAgICAgICAgICAgICAgICAvLyBsaW5lSGVpZ2h0IC0gYmFzZWxpbmVQb3NpdGlvbiBpcyBh
bHdheXMgMCBmb3IgcmVwbGFjZWQgZWxlbWVudHMgKGV4Y2VwdCBpbmxpbmUgYmxvY2tzKSwgc28g
ZG9uJ3QgYm90aGVyIHdhc3RpbmcgdGltZSBpbiB0aGF0IGNhc2UuCi0gICAgICAgICAgICAgICAg
aWYgKCFyZW5kZXJlci0+aXNSZXBsYWNlZCgpIHx8IHJlbmRlcmVyLT5pc0lubGluZUJsb2NrT3JJ
bmxpbmVUYWJsZSgpKQotICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uIC09IChy
ZW5kZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC0gcmVuZGVyZXIt
PmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24p
KTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBCQVNFTElORV9NSURE
TEUpCi0gICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSAtcmVuZGVyZXItPmxpbmVI
ZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAvIDIgKyByZW5kZXJlci0+YmFzZWxpbmVQ
b3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbik7Ci0gICAgICAg
ICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IExFTkdUSCkKLSAgICAgICAgICAgICAgICB2
ZXJ0aWNhbFBvc2l0aW9uIC09IHJlbmRlcmVyLT5zdHlsZSgpLT52ZXJ0aWNhbEFsaWduTGVuZ3Ro
KCkuY2FsY1ZhbHVlKHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0TGluZSwgbGluZURpcmVjdGlv
bikpOwotICAgICAgICB9CisgICAgaWYgKHZlcnRpY2FsQWxpZ24gPT0gVE9QIHx8IHZlcnRpY2Fs
QWxpZ24gPT0gQk9UVE9NKQorICAgICAgICByZXR1cm4gMDsKKyAgIAorICAgIFJlbmRlck9iamVj
dCogcGFyZW50ID0gcmVuZGVyZXItPnBhcmVudCgpOworICAgIGlmIChwYXJlbnQtPmlzUmVuZGVy
SW5saW5lKCkgJiYgcGFyZW50LT5zdHlsZSgpLT52ZXJ0aWNhbEFsaWduKCkgIT0gVE9QICYmIHBh
cmVudC0+c3R5bGUoKS0+dmVydGljYWxBbGlnbigpICE9IEJPVFRPTSkKKyAgICAgICAgdmVydGlj
YWxQb3NpdGlvbiA9IGJveC0+cGFyZW50KCktPmxvZ2ljYWxUb3AoKTsKKyAgICAKKyAgICBpZiAo
dmVydGljYWxBbGlnbiAhPSBCQVNFTElORSkgeworICAgICAgICBjb25zdCBGb250JiBmb250ID0g
cGFyZW50LT5zdHlsZShmaXJzdExpbmUpLT5mb250KCk7CisgICAgICAgIGNvbnN0IEZvbnRNZXRy
aWNzJiBmb250TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKKyAgICAgICAgaW50IGZvbnRT
aXplID0gZm9udC5waXhlbFNpemUoKTsKKworICAgICAgICBMaW5lRGlyZWN0aW9uTW9kZSBsaW5l
RGlyZWN0aW9uID0gcGFyZW50LT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8g
SG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmU7CisKKyAgICAgICAgaWYgKHZlcnRpY2FsQWxp
Z24gPT0gU1VCKQorICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSBmb250U2l6ZSAvIDUg
KyAxOworICAgICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IFNVUEVSKQorICAgICAgICAg
ICAgdmVydGljYWxQb3NpdGlvbiAtPSBmb250U2l6ZSAvIDMgKyAxOworICAgICAgICBlbHNlIGlm
ICh2ZXJ0aWNhbEFsaWduID09IFRFWFRfVE9QKQorICAgICAgICAgICAgdmVydGljYWxQb3NpdGlv
biArPSByZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwg
bGluZURpcmVjdGlvbikgLSBmb250TWV0cmljcy5hc2NlbnQoYmFzZWxpbmVUeXBlKTsKKyAgICAg
ICAgZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBNSURETEUpCisgICAgICAgICAgICB2ZXJ0aWNh
bFBvc2l0aW9uICs9IC1zdGF0aWNfY2FzdDxpbnQ+KGZvbnRNZXRyaWNzLnhIZWlnaHQoKSAvIDIp
IC0gcmVuZGVyZXItPmxpbmVIZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAvIDIgKyBy
ZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURp
cmVjdGlvbik7CisgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gVEVYVF9CT1RUT00p
IHsKKyAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gZm9udE1ldHJpY3MuZGVzY2VudChi
YXNlbGluZVR5cGUpOworICAgICAgICAgICAgLy8gbGluZUhlaWdodCAtIGJhc2VsaW5lUG9zaXRp
b24gaXMgYWx3YXlzIDAgZm9yIHJlcGxhY2VkIGVsZW1lbnRzIChleGNlcHQgaW5saW5lIGJsb2Nr
cyksIHNvIGRvbid0IGJvdGhlciB3YXN0aW5nIHRpbWUgaW4gdGhhdCBjYXNlLgorICAgICAgICAg
ICAgaWYgKCFyZW5kZXJlci0+aXNSZXBsYWNlZCgpIHx8IHJlbmRlcmVyLT5pc0lubGluZUJsb2Nr
T3JJbmxpbmVUYWJsZSgpKQorICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gLT0gKHJl
bmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikgLSByZW5kZXJlci0+
YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikp
OworICAgICAgICB9IGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gQkFTRUxJTkVfTUlERExFKQor
ICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSAtcmVuZGVyZXItPmxpbmVIZWlnaHQoZmly
c3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAvIDIgKyByZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlvbihi
YXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbik7CisgICAgICAgIGVsc2UgaWYg
KHZlcnRpY2FsQWxpZ24gPT0gTEVOR1RIKQorICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiAt
PSByZW5kZXJlci0+c3R5bGUoKS0+dmVydGljYWxBbGlnbkxlbmd0aCgpLmNhbGNWYWx1ZShyZW5k
ZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pKTsKICAgICB9CiAKICAg
ICAvLyBTdG9yZSB0aGUgY2FjaGVkIHZhbHVlLgpAQCAtNTQyLDEwICs1NTAsMTAgQEAgdm9pZCBJ
bmxpbmVGbG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaQogICAgICAgICAgICAgfQogICAgICAg
ICB9CiAKLSAgICAgICAgaWYgKGN1cnItPmxvZ2ljYWxUb3AoKSA9PSBQb3NpdGlvblRvcCkgewor
ICAgICAgICBpZiAoY3Vyci0+dmVydGljYWxBbGlnbigpID09IFRPUCkgewogICAgICAgICAgICAg
aWYgKG1heFBvc2l0aW9uVG9wIDwgbGluZUhlaWdodCkKICAgICAgICAgICAgICAgICBtYXhQb3Np
dGlvblRvcCA9IGxpbmVIZWlnaHQ7Ci0gICAgICAgIH0gZWxzZSBpZiAoY3Vyci0+bG9naWNhbFRv
cCgpID09IFBvc2l0aW9uQm90dG9tKSB7CisgICAgICAgIH0gZWxzZSBpZiAoY3Vyci0+dmVydGlj
YWxBbGlnbigpID09IEJPVFRPTSkgewogICAgICAgICAgICAgaWYgKG1heFBvc2l0aW9uQm90dG9t
IDwgbGluZUhlaWdodCkKICAgICAgICAgICAgICAgICBtYXhQb3NpdGlvbkJvdHRvbSA9IGxpbmVI
ZWlnaHQ7CiAgICAgICAgIH0gZWxzZSBpZiAoKCFpc0lubGluZUZsb3cgfHwgc3RhdGljX2Nhc3Q8
SW5saW5lRmxvd0JveCo+KGN1cnIpLT5oYXNUZXh0Q2hpbGRyZW4oKSkgfHwgY3Vyci0+Ym94TW9k
ZWxPYmplY3QoKS0+aGFzSW5saW5lRGlyZWN0aW9uQm9yZGVyc09yUGFkZGluZygpIHx8IHN0cmlj
dE1vZGUpIHsKQEAgLTU5Miw5ICs2MDAsOSBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBsYWNlQm94
ZXNJbkJsb2NrRGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVUb3BJbmNsdWRpbmdNYXJnaW5zLCBs
aW5lQm90dG9tSW5jbHVkaW5nTWFyZ2lucywgaGFzQW5ub3RhdGlvbnNCZWZvcmUsIGhhc0Fubm90
YXRpb25zQWZ0ZXIsIGJhc2VsaW5lVHlwZSk7CiAKICAgICAgICAgYm9vbCBjaGlsZEFmZmVjdHNU
b3BCb3R0b21Qb3MgPSB0cnVlOwotICAgICAgICBpZiAoY3Vyci0+bG9naWNhbFRvcCgpID09IFBv
c2l0aW9uVG9wKQorICAgICAgICBpZiAoY3Vyci0+dmVydGljYWxBbGlnbigpID09IFRPUCkKICAg
ICAgICAgICAgIGN1cnItPnNldExvZ2ljYWxUb3AodG9wKTsKLSAgICAgICAgZWxzZSBpZiAoY3Vy
ci0+bG9naWNhbFRvcCgpID09IFBvc2l0aW9uQm90dG9tKQorICAgICAgICBlbHNlIGlmIChjdXJy
LT52ZXJ0aWNhbEFsaWduKCkgPT0gQk9UVE9NKQogICAgICAgICAgICAgY3Vyci0+c2V0TG9naWNh
bFRvcCh0b3AgKyBtYXhIZWlnaHQgLSBjdXJyLT5saW5lSGVpZ2h0KCkpOwogICAgICAgICBlbHNl
IHsKICAgICAgICAgICAgIGlmICgoaXNJbmxpbmVGbG93ICYmICFzdGF0aWNfY2FzdDxJbmxpbmVG
bG93Qm94Kj4oY3VyciktPmhhc1RleHRDaGlsZHJlbigpKSAmJiAhY3Vyci0+Ym94TW9kZWxPYmpl
Y3QoKS0+aGFzSW5saW5lRGlyZWN0aW9uQm9yZGVyc09yUGFkZGluZygpICYmICFzdHJpY3RNb2Rl
KQpAQCAtNzI0LDggKzczMiw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6YWRkQm94U2hhZG93Vmlz
dWFsT3YKICAgICBpbnQgYm94U2hhZG93TG9naWNhbFJpZ2h0OwogICAgIHJlbmRlcmVyKCktPnN0
eWxlKG1fZmlyc3RMaW5lKS0+Z2V0Qm94U2hhZG93SW5saW5lRGlyZWN0aW9uRXh0ZW50KGJveFNo
YWRvd0xvZ2ljYWxMZWZ0LCBib3hTaGFkb3dMb2dpY2FsUmlnaHQpOwogCi0gICAgaW50IGxvZ2lj
YWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4obG9naWNhbExlZnQoKSArIGJveFNoYWRvd0xvZ2lj
YWxMZWZ0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cueCgpKTsKLSAgICBpbnQgbG9naWNhbFJpZ2h0
VmlzdWFsT3ZlcmZsb3cgPSBtYXgobG9naWNhbFJpZ2h0KCkgKyBib3hTaGFkb3dMb2dpY2FsUmln
aHQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhYKCkpOworICAgIGludCBsb2dpY2FsTGVmdFZp
c3VhbE92ZXJmbG93ID0gbWluKHBpeGVsU25hcHBlZExvZ2ljYWxMZWZ0KCkgKyBib3hTaGFkb3dM
b2dpY2FsTGVmdCwgbG9naWNhbFZpc3VhbE92ZXJmbG93LngoKSk7CisgICAgaW50IGxvZ2ljYWxS
aWdodFZpc3VhbE92ZXJmbG93ID0gbWF4KHBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCgpICsgYm94
U2hhZG93TG9naWNhbFJpZ2h0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cubWF4WCgpKTsKICAgICAK
ICAgICBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cgPSBJbnRSZWN0KGxvZ2ljYWxMZWZ0VmlzdWFsT3Zl
cmZsb3csIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93IC0gbG9naWNhbExlZnRWaXN1
YWxPdmVyZmxvdywgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93IC0gbG9naWNhbFRvcFZpc3Vh
bE92ZXJmbG93KTsKQEAgLTc4MSw4ICs3ODksOCBAQCB2b2lkIElubGluZUZsb3dCb3g6OmFkZFRl
eHRCb3hWaXN1YWxPdmVyCiAKICAgICBpbnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93ID0gbWlu
KHRleHRCb3gtPmxvZ2ljYWxUb3AoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsVG9wLCBsb2dpY2Fs
VmlzdWFsT3ZlcmZsb3cueSgpKTsKICAgICBpbnQgbG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93
ID0gbWF4KHRleHRCb3gtPmxvZ2ljYWxCb3R0b20oKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsQm90
dG9tLCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cubWF4WSgpKTsKLSAgICBpbnQgbG9naWNhbExlZnRW
aXN1YWxPdmVyZmxvdyA9IG1pbih0ZXh0Qm94LT5sb2dpY2FsTGVmdCgpICsgY2hpbGRPdmVyZmxv
d0xvZ2ljYWxMZWZ0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cueCgpKTsKLSAgICBpbnQgbG9naWNh
bFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgodGV4dEJveC0+bG9naWNhbFJpZ2h0KCkgKyBjaGls
ZE92ZXJmbG93TG9naWNhbFJpZ2h0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cubWF4WCgpKTsKKyAg
ICBpbnQgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9IG1pbih0ZXh0Qm94LT5waXhlbFNuYXBw
ZWRMb2dpY2FsTGVmdCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxMZWZ0LCBsb2dpY2FsVmlzdWFs
T3ZlcmZsb3cueCgpKTsKKyAgICBpbnQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgo
dGV4dEJveC0+cGl4ZWxTbmFwcGVkTG9naWNhbFJpZ2h0KCkgKyBjaGlsZE92ZXJmbG93TG9naWNh
bFJpZ2h0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cubWF4WCgpKTsKICAgICAKICAgICBsb2dpY2Fs
VmlzdWFsT3ZlcmZsb3cgPSBJbnRSZWN0KGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3csIGxvZ2lj
YWxUb3BWaXN1YWxPdmVyZmxvdywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93IC0gbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdywg
bG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93IC0gbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93KTsK
QEAgLTgxOSw3ICs4MjcsNyBAQCB2b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVPdmVyZmxvdyhp
bnQgCiAgICAgLy8gVmlzdWFsIG92ZXJmbG93IGp1c3QgaW5jbHVkZXMgb3ZlcmZsb3cgZm9yIHN0
dWZmIHdlIG5lZWQgdG8gcmVwYWludCBvdXJzZWx2ZXMuICBTZWxmLXBhaW50aW5nIGxheWVycyBh
cmUgaWdub3JlZC4KICAgICAvLyBMYXlvdXQgb3ZlcmZsb3cgaXMgdXNlZCB0byBkZXRlcm1pbmUg
c2Nyb2xsaW5nIGV4dGVudCwgc28gaXQgc3RpbGwgaW5jbHVkZXMgY2hpbGQgbGF5ZXJzIGFuZCBh
bHNvIGZhY3RvcnMgaW4KICAgICAvLyB0cmFuc2Zvcm1zLCByZWxhdGl2ZSBwb3NpdGlvbmluZywg
ZXRjLgotICAgIEludFJlY3QgbG9naWNhbExheW91dE92ZXJmbG93KGxvZ2ljYWxMZWZ0KCksIHRv
cE92ZXJmbG93LCBsb2dpY2FsV2lkdGgoKSwgYm90dG9tT3ZlcmZsb3cgLSB0b3BPdmVyZmxvdyk7
CisgICAgSW50UmVjdCBsb2dpY2FsTGF5b3V0T3ZlcmZsb3coZW5jbG9zaW5nSW50UmVjdChGbG9h
dFJlY3QobG9naWNhbExlZnQoKSwgdG9wT3ZlcmZsb3csIGxvZ2ljYWxXaWR0aCgpLCBib3R0b21P
dmVyZmxvdyAtIHRvcE92ZXJmbG93KSkpOwogICAgIEludFJlY3QgbG9naWNhbFZpc3VhbE92ZXJm
bG93KGxvZ2ljYWxMYXlvdXRPdmVyZmxvdyk7CiAgIAogICAgIC8vIGJveC1zaGFkb3cgb24gcm9v
dCBsaW5lIGJveGVzIGlzIGFwcGx5aW5nIHRvIHRoZSBibG9jayBhbmQgbm90IHRvIHRoZSBsaW5l
cy4KQEAgLTg2NCw3ICs4NzIsNyBAQCB2b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVPdmVyZmxv
dyhpbnQgCiAvLyBhbGwgZnVuY3Rpb25zIHRoYXQgcXVlcnkgb3ZlcmZsb3cuICAgCiB2b2lkIElu
bGluZUZsb3dCb3g6OnNldExheW91dE92ZXJmbG93KGNvbnN0IEludFJlY3QmIHJlY3QpCiB7Ci0g
ICAgSW50UmVjdCBmcmFtZUJveCA9IGZyYW1lUmVjdCgpOworICAgIEludFJlY3QgZnJhbWVCb3gg
PSBlbmNsb3NpbmdJbnRSZWN0KEZsb2F0UmVjdCh4KCksIHkoKSwgd2lkdGgoKSwgaGVpZ2h0KCkp
KTsKICAgICBpZiAoZnJhbWVCb3ggPT0gcmVjdCB8fCByZWN0LmlzRW1wdHkoKSkKICAgICAgICAg
cmV0dXJuOwogICAgICAgICAKQEAgLTg3Niw3ICs4ODQsNyBAQCB2b2lkIElubGluZUZsb3dCb3g6
OnNldExheW91dE92ZXJmbG93KGNvCiAKIHZvaWQgSW5saW5lRmxvd0JveDo6c2V0VmlzdWFsT3Zl
cmZsb3coY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKLSAgICBJbnRSZWN0IGZyYW1lQm94ID0gZnJh
bWVSZWN0KCk7CisgICAgSW50UmVjdCBmcmFtZUJveCA9IGVuY2xvc2luZ0ludFJlY3QoRmxvYXRS
ZWN0KHgoKSwgeSgpLCB3aWR0aCgpLCBoZWlnaHQoKSkpOwogICAgIGlmIChmcmFtZUJveCA9PSBy
ZWN0IHx8IHJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAgICAgICAgIApAQCAtOTEy
LDkgKzkyMCw5IEBAIGJvb2wgSW5saW5lRmxvd0JveDo6bm9kZUF0UG9pbnQoY29uc3QgSGkKICAg
ICB9CiAKICAgICAvLyBOb3cgY2hlY2sgb3Vyc2VsdmVzLgotICAgIEludFBvaW50IGJveE9yaWdp
biA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKKyAgICBGbG9hdFBvaW50IGJveE9yaWdp
biA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKICAgICBib3hPcmlnaW4ubW92ZSh0eCwg
dHkpOwotICAgIEludFJlY3QgcmVjdChib3hPcmlnaW4sIEludFNpemUod2lkdGgoKSwgaGVpZ2h0
KCkpKTsKKyAgICBGbG9hdFJlY3QgcmVjdChib3hPcmlnaW4sIEludFNpemUod2lkdGgoKSwgaGVp
Z2h0KCkpKTsKICAgICBpZiAodmlzaWJsZVRvSGl0VGVzdGluZygpICYmIHJlY3QuaW50ZXJzZWN0
cyhyZXN1bHQucmVjdEZvclBvaW50KHgsIHkpKSkgewogICAgICAgICByZW5kZXJlcigpLT51cGRh
dGVIaXRUZXN0UmVzdWx0KHJlc3VsdCwgZmxpcEZvcldyaXRpbmdNb2RlKEludFBvaW50KHggLSB0
eCwgeSAtIHR5KSkpOyAvLyBEb24ndCBhZGQgaW4gbV94IG9yIG1feSBoZXJlLCB3ZSB3YW50IGNv
b3JkcyBpbiB0aGUgY29udGFpbmluZyBibG9jaydzIHNwYWNlLgogICAgICAgICBpZiAoIXJlc3Vs
dC5hZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KHJlbmRlcmVyKCktPm5vZGUoKSwgeCwgeSwg
cmVjdCkpCkBAIC0xMDUwLDEwICsxMDU4LDEyIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6cGFpbnRC
b3hEZWNvcmF0aW9ucygKICAgICBpZiAoIXBhaW50SW5mby5zaG91bGRQYWludFdpdGhpblJvb3Qo
cmVuZGVyZXIoKSkgfHwgcmVuZGVyZXIoKS0+c3R5bGUoKS0+dmlzaWJpbGl0eSgpICE9IFZJU0lC
TEUgfHwgcGFpbnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2VGb3JlZ3JvdW5kKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBpbnQgeCA9IG1feDsKLSAgICBpbnQgeSA9IG1feTsKLSAgICBpbnQgdyA9
IHdpZHRoKCk7Ci0gICAgaW50IGggPSBoZWlnaHQoKTsKKyAgICAvLyBQaXhlbCBzbmFwIGJhY2tn
cm91bmQvYm9yZGVyIHBhaW50aW5nLgorICAgIEludFJlY3QgZnJhbWVSZWN0ID0gcm91bmRlZEZy
YW1lUmVjdCgpOworICAgIGludCB4ID0gZnJhbWVSZWN0LngoKTsKKyAgICBpbnQgeSA9IGZyYW1l
UmVjdC55KCk7CisgICAgaW50IHcgPSBmcmFtZVJlY3Qud2lkdGgoKTsKKyAgICBpbnQgaCA9IGZy
YW1lUmVjdC5oZWlnaHQoKTsKIAogICAgIC8vIENvbnN0cmFpbiBvdXIgYmFja2dyb3VuZC9ib3Jk
ZXIgcGFpbnRpbmcgdG8gdGhlIGxpbmUgdG9wIGFuZCBib3R0b20gaWYgbmVjZXNzYXJ5LgogICAg
IGJvb2wgbm9RdWlya3NNb2RlID0gcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+aW5Ob1F1aXJrc01v
ZGUoKTsKQEAgLTExMzMsMTAgKzExNDMsMTIgQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwYWludE1h
c2soUGFpbnRJbmZvJgogICAgIGlmICghcGFpbnRJbmZvLnNob3VsZFBhaW50V2l0aGluUm9vdChy
ZW5kZXJlcigpKSB8fCByZW5kZXJlcigpLT5zdHlsZSgpLT52aXNpYmlsaXR5KCkgIT0gVklTSUJM
RSB8fCBwYWludEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZU1hc2spCiAgICAgICAgIHJldHVybjsK
IAotICAgIGludCB4ID0gbV94OwotICAgIGludCB5ID0gbV95OwotICAgIGludCB3ID0gd2lkdGgo
KTsKLSAgICBpbnQgaCA9IGhlaWdodCgpOworICAgIC8vIFBpeGVsIHNuYXAgbWFzayBwYWludGlu
Zy4KKyAgICBJbnRSZWN0IGZyYW1lUmVjdCA9IHJvdW5kZWRGcmFtZVJlY3QoKTsKKyAgICBpbnQg
eCA9IGZyYW1lUmVjdC54KCk7CisgICAgaW50IHkgPSBmcmFtZVJlY3QueSgpOworICAgIGludCB3
ID0gZnJhbWVSZWN0LndpZHRoKCk7CisgICAgaW50IGggPSBmcmFtZVJlY3QuaGVpZ2h0KCk7CiAK
ICAgICAvLyBDb25zdHJhaW4gb3VyIGJhY2tncm91bmQvYm9yZGVyIHBhaW50aW5nIHRvIHRoZSBs
aW5lIHRvcCBhbmQgYm90dG9tIGlmIG5lY2Vzc2FyeS4KICAgICBib29sIG5vUXVpcmtzTW9kZSA9
IHJlbmRlcmVyKCktPmRvY3VtZW50KCktPmluTm9RdWlya3NNb2RlKCk7CkBAIC0xMjM3LDE0ICsx
MjQ5LDE0IEBAIGJvb2wgSW5saW5lRmxvd0JveDo6Y2FuQWNjb21tb2RhdGVFbGxpcHMKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAotaW50IElubGluZUZsb3dCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9v
bCBsdHIsIGludCBibG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNp
c1dpZHRoLCBib29sJiBmb3VuZEJveCkKK2Zsb2F0IElubGluZUZsb3dCb3g6OnBsYWNlRWxsaXBz
aXNCb3goYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdl
LCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCkKIHsKLSAgICBpbnQgcmVzdWx0
ID0gLTE7CisgICAgZmxvYXQgcmVzdWx0ID0gLTE7CiAgICAgLy8gV2UgaXRlcmF0ZSBvdmVyIGFs
bCBjaGlsZHJlbiwgdGhlIGZvdW5kQm94IHZhcmlhYmxlIHRlbGxzIHVzIHdoZW4gd2UndmUgZm91
bmQgdGhlCiAgICAgLy8gYm94IGNvbnRhaW5pbmcgdGhlIGVsbGlwc2lzLiAgQWxsIGJveGVzIGFm
dGVyIHRoYXQgb25lIGluIHRoZSBmbG93IGFyZSBoaWRkZW4uCiAgICAgLy8gSWYgb3VyIGZsb3cg
aXMgbHRyIHRoZW4gaXRlcmF0ZSBvdmVyIHRoZSBib3hlcyBmcm9tIGxlZnQgdG8gcmlnaHQsIG90
aGVyd2lzZSBpdGVyYXRlCiAgICAgLy8gZnJvbSByaWdodCB0byBsZWZ0LiBWYXJ5aW5nIHRoZSBv
cmRlciBhbGxvd3MgdXMgdG8gY29ycmVjdGx5IGhpZGUgdGhlIGJveGVzIGZvbGxvd2luZyB0aGUg
ZWxsaXBzaXMuCi0gICAgSW5saW5lQm94ICpib3ggPSBsdHIgPyBmaXJzdENoaWxkKCkgOiBsYXN0
Q2hpbGQoKTsKKyAgICBJbmxpbmVCb3gqIGJveCA9IGx0ciA/IGZpcnN0Q2hpbGQoKSA6IGxhc3RD
aGlsZCgpOwogCiAgICAgLy8gTk9URTogdGhlc2Ugd2lsbCBjcm9zcyBhZnRlciBmb3VuZEJveCA9
IHRydWUuCiAgICAgaW50IHZpc2libGVMZWZ0RWRnZSA9IGJsb2NrTGVmdEVkZ2U7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgJKHJldmlzaW9uIDc4NTcxKQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAkod29ya2luZyBjb3B5
KQpAQCAtODUsNyArODUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZUxpbmUo
UmVuZGVyQXJlbmEqKTsKICAgICB2aXJ0dWFsIHZvaWQgZXh0cmFjdExpbmUoKTsKICAgICB2aXJ0
dWFsIHZvaWQgYXR0YWNoTGluZSgpOwotICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3NpdGlvbihp
bnQgZHgsIGludCBkeSk7CisgICAgdmlydHVhbCB2b2lkIGFkanVzdFBvc2l0aW9uKGZsb2F0IGR4
LCBmbG9hdCBkeSk7CiAKICAgICB2aXJ0dWFsIHZvaWQgZXh0cmFjdExpbmVCb3hGcm9tUmVuZGVy
T2JqZWN0KCk7CiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaExpbmVCb3hUb1JlbmRlck9iamVjdCgp
OwpAQCAtOTMsNiArOTMsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJUcnVu
Y2F0aW9uKCk7CiAKKyAgICBJbnRSZWN0IHJvdW5kZWRGcmFtZVJlY3QoKSBjb25zdDsKKyAgICAK
ICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRCb3hEZWNvcmF0aW9ucyhQYWludEluZm8mLCBpbnQgdHgs
IGludCB0eSk7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50TWFzayhQYWludEluZm8mLCBpbnQgdHgs
IGludCB0eSk7CiAgICAgdm9pZCBwYWludEZpbGxMYXllcnMoY29uc3QgUGFpbnRJbmZvJiwgY29u
c3QgQ29sb3ImLCBjb25zdCBGaWxsTGF5ZXIqLCBpbnQgdHgsIGludCB0eSwgaW50IHcsIGludCBo
LCBDb21wb3NpdGVPcGVyYXRvciA9IENvbXBvc2l0ZVNvdXJjZU92ZXIpOwpAQCAtMTU1LDcgKzE1
Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRldGVybWluZVNwYWNpbmdGb3JGbG93Qm94ZXMoYm9v
bCBsYXN0TGluZSwgUmVuZGVyT2JqZWN0KiBlbmRPYmplY3QpOwogICAgIGludCBnZXRGbG93U3Bh
Y2luZ0xvZ2ljYWxXaWR0aCgpOwogICAgIGJvb2wgb25FbmRDaGFpbihSZW5kZXJPYmplY3QqIGVu
ZE9iamVjdCk7Ci0gICAgaW50IHBsYWNlQm94ZXNJbklubGluZURpcmVjdGlvbihpbnQgbG9naWNh
bExlZnQsIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcsIEdseXBoT3ZlcmZsb3dBbmRGYWxsYmFja0Zv
bnRzTWFwJik7CisgICAgZmxvYXQgcGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9uKGZsb2F0IGxv
Z2ljYWxMZWZ0LCBib29sJiBuZWVkc1dvcmRTcGFjaW5nLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJh
Y2tGb250c01hcCYpOwogICAgIHZvaWQgY29tcHV0ZUxvZ2ljYWxCb3hIZWlnaHRzKGludCYgbWF4
UG9zaXRpb25Ub3AsIGludCYgbWF4UG9zaXRpb25Cb3R0b20sCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50JiBtYXhBc2NlbnQsIGludCYgbWF4RGVzY2VudCwgYm9vbCYgc2V0
TWF4QXNjZW50LCBib29sJiBzZXRNYXhEZXNjZW50LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJvb2wgc3RyaWN0TW9kZSwgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNN
YXAmLCBGb250QmFzZWxpbmUsIFZlcnRpY2FsUG9zaXRpb25DYWNoZSYpOwpAQCAtMTc2LDcgKzE3
OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdDo6U2VsZWN0aW9uU3RhdGUg
c2VsZWN0aW9uU3RhdGUoKTsKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5BY2NvbW1vZGF0ZUVsbGlw
c2lzKGJvb2wgbHRyLCBpbnQgYmxvY2tFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCk7Ci0gICAgdmly
dHVhbCBpbnQgcGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGlu
dCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmKTsKKyAgICB2aXJ0dWFs
IGZsb2F0IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGZsb2F0IGJsb2NrTGVmdEVkZ2UsIGZs
b2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJik7CiAKICAgICBi
b29sIGhhc1RleHRDaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1faGFzVGV4dENoaWxkcmVuOyB9
CiAKQEAgLTE4NywxMCArMTg5LDEwIEBAIHB1YmxpYzoKICAgICAvLyBGb3IgaG9yaXpvbnRhbC10
YiBhbmQgdmVydGljYWwtbHIgdGhleSB3aWxsIG1hdGNoIHBoeXNpY2FsIGRpcmVjdGlvbnMsIGJ1
dCBmb3IgaG9yaXpvbnRhbC1idCBhbmQgdmVydGljYWwtcmwsIHRoZSB0b3AvYm90dG9tIGFuZCBs
ZWZ0L3JpZ2h0CiAgICAgLy8gcmVzcGVjdGl2ZWx5IGFyZSBmbGlwcGVkIHdoZW4gY29tcGFyZWQg
dG8gdGhlaXIgcGh5c2ljYWwgY291bnRlcnBhcnRzLiAgRm9yIGV4YW1wbGUgbWluWCBpcyBvbiB0
aGUgbGVmdCBpbiB2ZXJ0aWNhbC1sciwgYnV0IGl0IGlzIG9uIHRoZSByaWdodCBpbiB2ZXJ0aWNh
bC1ybC4KICAgICBpbnQgbWluWUxheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVy
ZmxvdyA/IG1fb3ZlcmZsb3ctPm1pbllMYXlvdXRPdmVyZmxvdygpIDogbV95OyB9Ci0gICAgaW50
IG1heFlMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJm
bG93LT5tYXhZTGF5b3V0T3ZlcmZsb3coKSA6IG1feSArIGhlaWdodCgpOyB9CisgICAgaW50IG1h
eFlMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93
LT5tYXhZTGF5b3V0T3ZlcmZsb3coKSA6IGNlaWxmKG1feSArIGhlaWdodCgpKTsgfQogICAgIGlu
dCBtaW5YTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVy
Zmxvdy0+bWluWExheW91dE92ZXJmbG93KCkgOiBtX3g7IH0KLSAgICBpbnQgbWF4WExheW91dE92
ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPm1heFhMYXlv
dXRPdmVyZmxvdygpIDogbV94ICsgd2lkdGgoKTsgfQotICAgIEludFJlY3QgbGF5b3V0T3ZlcmZs
b3dSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPmxheW91dE92
ZXJmbG93UmVjdCgpIDogSW50UmVjdChtX3gsIG1feSwgd2lkdGgoKSwgaGVpZ2h0KCkpOyB9Cisg
ICAgaW50IG1heFhMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBt
X292ZXJmbG93LT5tYXhYTGF5b3V0T3ZlcmZsb3coKSA6IGNlaWxmKG1feCArIHdpZHRoKCkpOyB9
CisgICAgSW50UmVjdCBsYXlvdXRPdmVyZmxvd1JlY3QoKSBjb25zdCB7IHJldHVybiBtX292ZXJm
bG93ID8gbV9vdmVyZmxvdy0+bGF5b3V0T3ZlcmZsb3dSZWN0KCkgOiBlbmNsb3NpbmdJbnRSZWN0
KEZsb2F0UmVjdChtX3gsIG1feSwgd2lkdGgoKSwgaGVpZ2h0KCkpKTsgfQogICAgIGludCBsb2dp
Y2FsTGVmdExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+c3R5bGUo
KS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IG1pblhMYXlvdXRPdmVyZmxvdygpIDogbWlu
WUxheW91dE92ZXJmbG93KCk7IH0KICAgICBpbnQgbG9naWNhbFJpZ2h0TGF5b3V0T3ZlcmZsb3co
KSBjb25zdCB7IHJldHVybiByZW5kZXJlcigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5n
TW9kZSgpID8gbWF4WExheW91dE92ZXJmbG93KCkgOiBtYXhZTGF5b3V0T3ZlcmZsb3coKTsgfQog
ICAgIGludCBsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiByZW5kZXJl
cigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gbWluWVZpc3VhbE92ZXJm
bG93KCkgOiBtaW5YVmlzdWFsT3ZlcmZsb3coKTsgfQpAQCAtMjA0LDEwICsyMDYsMTAgQEAgcHVi
bGljOgogICAgIH0KIAogICAgIGludCBtaW5ZVmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVy
biBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+bWluWVZpc3VhbE92ZXJmbG93KCkgOiBtX3k7IH0K
LSAgICBpbnQgbWF4WVZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/
IG1fb3ZlcmZsb3ctPm1heFlWaXN1YWxPdmVyZmxvdygpIDogbV95ICsgaGVpZ2h0KCk7IH0KKyAg
ICBpbnQgbWF4WVZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1f
b3ZlcmZsb3ctPm1heFlWaXN1YWxPdmVyZmxvdygpIDogY2VpbGYobV95ICsgaGVpZ2h0KCkpOyB9
CiAgICAgaW50IG1pblhWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cg
PyBtX292ZXJmbG93LT5taW5YVmlzdWFsT3ZlcmZsb3coKSA6IG1feDsgfQotICAgIGludCBtYXhY
VmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+
bWF4WFZpc3VhbE92ZXJmbG93KCkgOiBtX3ggKyB3aWR0aCgpOyB9Ci0gICAgSW50UmVjdCB2aXN1
YWxPdmVyZmxvd1JlY3QoKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+
dmlzdWFsT3ZlcmZsb3dSZWN0KCkgOiBJbnRSZWN0KG1feCwgbV95LCB3aWR0aCgpLCBoZWlnaHQo
KSk7IH0KKyAgICBpbnQgbWF4WFZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVy
ZmxvdyA/IG1fb3ZlcmZsb3ctPm1heFhWaXN1YWxPdmVyZmxvdygpIDogY2VpbGYobV94ICsgd2lk
dGgoKSk7IH0KKyAgICBJbnRSZWN0IHZpc3VhbE92ZXJmbG93UmVjdCgpIGNvbnN0IHsgcmV0dXJu
IG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT52aXN1YWxPdmVyZmxvd1JlY3QoKSA6IGVuY2xvc2lu
Z0ludFJlY3QoRmxvYXRSZWN0KG1feCwgbV95LCB3aWR0aCgpLCBoZWlnaHQoKSkpOyB9CiAgICAg
aW50IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiByZW5kZXJlcigp
LT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gbWluWFZpc3VhbE92ZXJmbG93
KCkgOiBtaW5ZVmlzdWFsT3ZlcmZsb3coKTsgfQogICAgIGludCBsb2dpY2FsUmlnaHRWaXN1YWxP
dmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVyKCktPnN0eWxlKCktPmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkgPyBtYXhYVmlzdWFsT3ZlcmZsb3coKSA6IG1heFlWaXN1YWxPdmVyZmxv
dygpOyB9CiAgICAgaW50IGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJu
IHJlbmRlcmVyKCktPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBtaW5ZVmlz
dWFsT3ZlcmZsb3coKSA6IG1pblhWaXN1YWxPdmVyZmxvdygpOyB9CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6YXR0YWNoTGluZSgpCiAgICAg
dG9SZW5kZXJUZXh0KHJlbmRlcmVyKCkpLT5hdHRhY2hUZXh0Qm94KHRoaXMpOwogfQogCi1pbnQg
SW5saW5lVGV4dEJveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGZsb3dJc0xUUiwgaW50IHZpc2li
bGVMZWZ0RWRnZSwgaW50IHZpc2libGVSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBib29s
JiBmb3VuZEJveCkKK2Zsb2F0IElubGluZVRleHRCb3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbCBm
bG93SXNMVFIsIGZsb2F0IHZpc2libGVMZWZ0RWRnZSwgZmxvYXQgdmlzaWJsZVJpZ2h0RWRnZSwg
ZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpCiB7CiAgICAgaWYgKGZvdW5kQm94
KSB7CiAgICAgICAgIG1fdHJ1bmNhdGlvbiA9IGNGdWxsVHJ1bmNhdGlvbjsKQEAgLTIwOSw3ICsy
MDksNyBAQCBpbnQgSW5saW5lVGV4dEJveDo6cGxhY2VFbGxpcHNpc0JveChib29sCiAgICAgfQog
CiAgICAgLy8gRm9yIExUUiB0aGlzIGlzIHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlIGJveCwgZm9yIFJU
TCwgdGhlIHJpZ2h0IGVkZ2UgaW4gcGFyZW50IGNvb3JkaW5hdGVzLgotICAgIGludCBlbGxpcHNp
c1ggPSBmbG93SXNMVFIgPyB2aXNpYmxlUmlnaHRFZGdlIC0gZWxsaXBzaXNXaWR0aCA6IHZpc2li
bGVMZWZ0RWRnZSArIGVsbGlwc2lzV2lkdGg7CisgICAgZmxvYXQgZWxsaXBzaXNYID0gZmxvd0lz
TFRSID8gdmlzaWJsZVJpZ2h0RWRnZSAtIGVsbGlwc2lzV2lkdGggOiB2aXNpYmxlTGVmdEVkZ2Ug
KyBlbGxpcHNpc1dpZHRoOwogICAgIAogICAgIC8vIENyaXRlcmlhIGZvciBmdWxsIHRydW5jYXRp
b246CiAgICAgLy8gTFRSOiB0aGUgbGVmdCBlZGdlIG9mIHRoZSBlbGxpcHNpcyBpcyB0byB0aGUg
bGVmdCBvZiBvdXIgdGV4dCBydW4uCkBAIC0yNTEsNyArMjUxLDcgQEAgaW50IElubGluZVRleHRC
b3g6OnBsYWNlRWxsaXBzaXNCb3goYm9vbAogCiAgICAgICAgIC8vIElmIHdlIGdvdCBoZXJlIHRo
YXQgbWVhbnMgdGhhdCB3ZSB3ZXJlIG9ubHkgcGFydGlhbGx5IHRydW5jYXRlZCBhbmQgd2UgbmVl
ZCB0byByZXR1cm4gdGhlIHBpeGVsIG9mZnNldCBhdCB3aGljaAogICAgICAgICAvLyB0byBwbGFj
ZSB0aGUgZWxsaXBzaXMuCi0gICAgICAgIGludCB3aWR0aE9mVmlzaWJsZVRleHQgPSB0b1JlbmRl
clRleHQocmVuZGVyZXIoKSktPndpZHRoKG1fc3RhcnQsIG9mZnNldCwgdGV4dFBvcygpLCBtX2Zp
cnN0TGluZSk7CisgICAgICAgIGZsb2F0IHdpZHRoT2ZWaXNpYmxlVGV4dCA9IHRvUmVuZGVyVGV4
dChyZW5kZXJlcigpKS0+d2lkdGgobV9zdGFydCwgb2Zmc2V0LCB0ZXh0UG9zKCksIG1fZmlyc3RM
aW5lKTsKIAogICAgICAgICAvLyBUaGUgZWxsaXBzaXMgbmVlZHMgdG8gYmUgcGxhY2VkIGp1c3Qg
YWZ0ZXIgdGhlIGxhc3QgdmlzaWJsZSBjaGFyYWN0ZXIuCiAgICAgICAgIC8vIFdoZXJlICJhZnRl
ciIgaXMgZGVmaW5lZCBieSB0aGUgZmxvdyBkaXJlY3Rpb25hbGl0eSwgbm90IHRoZSBpbmxpbmUK
QEAgLTMxOSw5ICszMTksOSBAQCBib29sIElubGluZVRleHRCb3g6Om5vZGVBdFBvaW50KGNvbnN0
IEhpCiAgICAgaWYgKGlzTGluZUJyZWFrKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAg
IEludFBvaW50IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKKyAgICBG
bG9hdFBvaW50IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKICAgICBi
b3hPcmlnaW4ubW92ZSh0eCwgdHkpOwotICAgIEludFJlY3QgcmVjdChib3hPcmlnaW4sIEludFNp
emUod2lkdGgoKSwgaGVpZ2h0KCkpKTsKKyAgICBGbG9hdFJlY3QgcmVjdChib3hPcmlnaW4sIElu
dFNpemUod2lkdGgoKSwgaGVpZ2h0KCkpKTsKICAgICBpZiAobV90cnVuY2F0aW9uICE9IGNGdWxs
VHJ1bmNhdGlvbiAmJiB2aXNpYmxlVG9IaXRUZXN0aW5nKCkgJiYgcmVjdC5pbnRlcnNlY3RzKHJl
c3VsdC5yZWN0Rm9yUG9pbnQoeCwgeSkpKSB7CiAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUhp
dFRlc3RSZXN1bHQocmVzdWx0LCBmbGlwRm9yV3JpdGluZ01vZGUoSW50UG9pbnQoeCAtIHR4LCB5
IC0gdHkpKSk7CiAgICAgICAgIGlmICghcmVzdWx0LmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1
bHQocmVuZGVyZXIoKS0+bm9kZSgpLCB4LCB5LCByZWN0KSkKQEAgLTM1Nyw4ICszNTcsOCBAQCBG
bG9hdFNpemUgSW5saW5lVGV4dEJveDo6YXBwbHlTaGFkb3dUb0dyCiAgICAgcmV0dXJuIGV4dHJh
T2Zmc2V0OwogfQogCi1zdGF0aWMgdm9pZCBwYWludFRleHRXaXRoU2hhZG93cyhHcmFwaGljc0Nv
bnRleHQqIGNvbnRleHQsIGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRSdW4mIHRleHRSdW4s
IGNvbnN0IEF0b21pY1N0cmluZyYgZW1waGFzaXNNYXJrLCBpbnQgZW1waGFzaXNNYXJrT2Zmc2V0
LCBpbnQgc3RhcnRPZmZzZXQsIGludCBlbmRPZmZzZXQsIGludCB0cnVuY2F0aW9uUG9pbnQsIGNv
bnN0IEludFBvaW50JiB0ZXh0T3JpZ2luLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgSW50UmVjdCYgYm94UmVjdCwgY29uc3QgU2hhZG93RGF0YSogc2hhZG93LCBib29s
IHN0cm9rZWQsIGJvb2wgaG9yaXpvbnRhbCkKK3N0YXRpYyB2b2lkIHBhaW50VGV4dFdpdGhTaGFk
b3dzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4
dFJ1biYgdGV4dFJ1biwgY29uc3QgQXRvbWljU3RyaW5nJiBlbXBoYXNpc01hcmssIGludCBlbXBo
YXNpc01hcmtPZmZzZXQsIGludCBzdGFydE9mZnNldCwgaW50IGVuZE9mZnNldCwgaW50IHRydW5j
YXRpb25Qb2ludCwgY29uc3QgRmxvYXRQb2ludCYgdGV4dE9yaWdpbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IEZsb2F0UmVjdCYgYm94UmVjdCwgY29uc3QgU2hhZG93
RGF0YSogc2hhZG93LCBib29sIHN0cm9rZWQsIGJvb2wgaG9yaXpvbnRhbCkKIHsKICAgICBDb2xv
ciBmaWxsQ29sb3IgPSBjb250ZXh0LT5maWxsQ29sb3IoKTsKICAgICBDb2xvclNwYWNlIGZpbGxD
b2xvclNwYWNlID0gY29udGV4dC0+ZmlsbENvbG9yU3BhY2UoKTsKQEAgLTQ4MiwxMCArNDgyLDEw
IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnQoUGFpbnRJbmZvJiBwYWkKICAgICAKICAgICB0
eSAtPSBzdHlsZVRvVXNlLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gMCA6IGxvZ2ljYWxI
ZWlnaHQoKTsKIAotICAgIEludFBvaW50IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxp
cHBpbmcoKTsKKyAgICBGbG9hdFBvaW50IGJveE9yaWdpbiA9IGxvY2F0aW9uSW5jbHVkaW5nRmxp
cHBpbmcoKTsKICAgICBib3hPcmlnaW4ubW92ZSh0eCwgdHkpOyAgICAKLSAgICBJbnRSZWN0IGJv
eFJlY3QoYm94T3JpZ2luLCBJbnRTaXplKGxvZ2ljYWxXaWR0aCgpLCBsb2dpY2FsSGVpZ2h0KCkp
KTsKLSAgICBJbnRQb2ludCB0ZXh0T3JpZ2luID0gSW50UG9pbnQoYm94T3JpZ2luLngoKSwgYm94
T3JpZ2luLnkoKSArIHN0eWxlVG9Vc2UtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOworICAgIEZs
b2F0UmVjdCBib3hSZWN0KGJveE9yaWdpbiwgSW50U2l6ZShsb2dpY2FsV2lkdGgoKSwgbG9naWNh
bEhlaWdodCgpKSk7CisgICAgRmxvYXRQb2ludCB0ZXh0T3JpZ2luID0gRmxvYXRQb2ludChib3hP
cmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpICsgc3R5bGVUb1VzZS0+Zm9udE1ldHJpY3MoKS5hc2Nl
bnQoKSk7CiAKICAgICBSZW5kZXJDb21iaW5lVGV4dCogY29tYmluZWRUZXh0ID0gc3R5bGVUb1Vz
ZS0+aGFzVGV4dENvbWJpbmUoKSA/IHRvUmVuZGVyQ29tYmluZVRleHQodGV4dFJlbmRlcmVyKCkp
IDogMDsKICAgICBib29sIHNob3VsZFJvdGF0ZSA9ICFpc0hvcml6b250YWwoKSAmJiAoIWNvbWJp
bmVkVGV4dCB8fCAhY29tYmluZWRUZXh0LT5pc0NvbWJpbmVkKCkpOwpAQCAtNzM2LDcgKzczNiw3
IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6c2VsZWN0aW9uU3RhcnRFbmQoaW4KICAgICBlUG9zID0g
bWluKGVuZFBvcyAtIG1fc3RhcnQsIChpbnQpbV9sZW4pOwogfQogCi12b2lkIElubGluZVRleHRC
b3g6OnBhaW50U2VsZWN0aW9uKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UG9p
bnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250KQordm9p
ZCBJbmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlvbihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQs
IGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBG
b250JiBmb250KQogewogICAgIC8vIFNlZSBpZiB3ZSBoYXZlIGEgc2VsZWN0aW9uIHRvIHBhaW50
IGF0IGFsbC4KICAgICBpbnQgc1BvcywgZVBvczsKQEAgLTc3MCwxNSArNzcwLDE1IEBAIHZvaWQg
SW5saW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb24oR3JhcGgKIAogICAgIGludCBkZWx0YVkgPSBy
ZW5kZXJlcigpLT5zdHlsZSgpLT5pc0ZsaXBwZWRMaW5lc1dyaXRpbmdNb2RlKCkgPyBzZWxlY3Rp
b25Cb3R0b20oKSAtIGxvZ2ljYWxCb3R0b20oKSA6IGxvZ2ljYWxUb3AoKSAtIHNlbGVjdGlvblRv
cCgpOwogICAgIGludCBzZWxIZWlnaHQgPSBzZWxlY3Rpb25IZWlnaHQoKTsKLSAgICBJbnRQb2lu
dCBsb2NhbE9yaWdpbihib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKLSAg
ICBjb250ZXh0LT5jbGlwKEludFJlY3QobG9jYWxPcmlnaW4sIEludFNpemUobV9sb2dpY2FsV2lk
dGgsIHNlbEhlaWdodCkpKTsKKyAgICBGbG9hdFBvaW50IGxvY2FsT3JpZ2luKGJveE9yaWdpbi54
KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVkpOworICAgIGNvbnRleHQtPmNsaXAoRmxvYXRSZWN0
KGxvY2FsT3JpZ2luLCBGbG9hdFNpemUobV9sb2dpY2FsV2lkdGgsIHNlbEhlaWdodCkpKTsKICAg
ICBjb250ZXh0LT5kcmF3SGlnaGxpZ2h0Rm9yVGV4dChmb250LCBUZXh0UnVuKGNoYXJhY3RlcnMs
IGxlbmd0aCwgdGV4dFJlbmRlcmVyKCktPmFsbG93VGFicygpLCB0ZXh0UG9zKCksIG1fZXhwYW5z
aW9uLCB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yKCksIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIG1fZGlyT3ZlcnJpZGUgfHwg
c3R5bGUtPnZpc3VhbGx5T3JkZXJlZCgpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsb2NhbE9yaWdpbiwgc2VsSGVpZ2h0LCBjLCBzdHlsZS0+Y29sb3JTcGFjZSgpLCBzUG9z
LCBlUG9zKTsKICAgICBjb250ZXh0LT5yZXN0b3JlKCk7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJv
eDo6cGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBj
b25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQm
IGZvbnQsIGludCBzdGFydFBvcywgaW50IGVuZFBvcykKK3ZvaWQgSW5saW5lVGV4dEJveDo6cGFp
bnRDb21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBG
bG9hdFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9u
dCwgaW50IHN0YXJ0UG9zLCBpbnQgZW5kUG9zKQogewogICAgIGludCBvZmZzZXQgPSBtX3N0YXJ0
OwogICAgIGludCBzUG9zID0gbWF4KHN0YXJ0UG9zIC0gb2Zmc2V0LCAwKTsKQEAgLTc5NSw3ICs3
OTUsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25CYWNrCiAKICAgICBp
bnQgZGVsdGFZID0gcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNGbGlwcGVkTGluZXNXcml0aW5nTW9k
ZSgpID8gc2VsZWN0aW9uQm90dG9tKCkgLSBsb2dpY2FsQm90dG9tKCkgOiBsb2dpY2FsVG9wKCkg
LSBzZWxlY3Rpb25Ub3AoKTsKICAgICBpbnQgc2VsSGVpZ2h0ID0gc2VsZWN0aW9uSGVpZ2h0KCk7
Ci0gICAgSW50UG9pbnQgbG9jYWxPcmlnaW4oYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAt
IGRlbHRhWSk7CisgICAgRmxvYXRQb2ludCBsb2NhbE9yaWdpbihib3hPcmlnaW4ueCgpLCBib3hP
cmlnaW4ueSgpIC0gZGVsdGFZKTsKICAgICBjb250ZXh0LT5kcmF3SGlnaGxpZ2h0Rm9yVGV4dChm
b250LCBUZXh0UnVuKHRleHRSZW5kZXJlcigpLT50ZXh0KCktPmNoYXJhY3RlcnMoKSArIG1fc3Rh
cnQsIG1fbGVuLCB0ZXh0UmVuZGVyZXIoKS0+YWxsb3dUYWJzKCksIHRleHRQb3MoKSwgbV9leHBh
bnNpb24sIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IoKSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAhaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpLCBtX2Rpck92ZXJyaWRlIHx8
IHN0eWxlLT52aXN1YWxseU9yZGVyZWQoKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbG9jYWxPcmlnaW4sIHNlbEhlaWdodCwgYywgc3R5bGUtPmNvbG9yU3BhY2UoKSwgc1Bv
cywgZVBvcyk7CkBAIC04MjIsMTQgKzgyMiwxNCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50
Q3VzdG9tSGlnaGxpZ2h0CiAKICNlbmRpZgogCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVj
b3JhdGlvbihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFBvaW50JiBib3hPcmln
aW4sIGludCBkZWNvLCBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3cpCit2b2lkIElubGluZVRleHRC
b3g6OnBhaW50RGVjb3JhdGlvbihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0
UG9pbnQmIGJveE9yaWdpbiwgaW50IGRlY28sIGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdykKIHsK
ICAgICBpZiAobV90cnVuY2F0aW9uID09IGNGdWxsVHJ1bmNhdGlvbikKICAgICAgICAgcmV0dXJu
OwogCi0gICAgSW50UG9pbnQgbG9jYWxPcmlnaW4gPSBib3hPcmlnaW47CisgICAgRmxvYXRQb2lu
dCBsb2NhbE9yaWdpbiA9IGJveE9yaWdpbjsKIAotICAgIGludCB3aWR0aCA9IG1fbG9naWNhbFdp
ZHRoOworICAgIGZsb2F0IHdpZHRoID0gbV9sb2dpY2FsV2lkdGg7CiAgICAgaWYgKG1fdHJ1bmNh
dGlvbiAhPSBjTm9UcnVuY2F0aW9uKSB7CiAgICAgICAgIHdpZHRoID0gdG9SZW5kZXJUZXh0KHJl
bmRlcmVyKCkpLT53aWR0aChtX3N0YXJ0LCBtX3RydW5jYXRpb24sIHRleHRQb3MoKSwgbV9maXJz
dExpbmUpOwogICAgICAgICBpZiAoIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKQEAgLTg1Myw5
ICs4NTMsOSBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbihHcmFwCiAgICAg
aW50IGV4dHJhT2Zmc2V0ID0gMDsKICAgICBpZiAoIWxpbmVzQXJlT3BhcXVlICYmIHNoYWRvdyAm
JiBzaGFkb3ctPm5leHQoKSkgewogICAgICAgICBjb250ZXh0LT5zYXZlKCk7Ci0gICAgICAgIElu
dFJlY3QgY2xpcFJlY3QobG9jYWxPcmlnaW4sIEludFNpemUod2lkdGgsIGJhc2VsaW5lICsgMikp
OworICAgICAgICBGbG9hdFJlY3QgY2xpcFJlY3QobG9jYWxPcmlnaW4sIEZsb2F0U2l6ZSh3aWR0
aCwgYmFzZWxpbmUgKyAyKSk7CiAgICAgICAgIGZvciAoY29uc3QgU2hhZG93RGF0YSogcyA9IHNo
YWRvdzsgczsgcyA9IHMtPm5leHQoKSkgewotICAgICAgICAgICAgSW50UmVjdCBzaGFkb3dSZWN0
KGxvY2FsT3JpZ2luLCBJbnRTaXplKHdpZHRoLCBiYXNlbGluZSArIDIpKTsKKyAgICAgICAgICAg
IEZsb2F0UmVjdCBzaGFkb3dSZWN0KGxvY2FsT3JpZ2luLCBGbG9hdFNpemUod2lkdGgsIGJhc2Vs
aW5lICsgMikpOwogICAgICAgICAgICAgc2hhZG93UmVjdC5pbmZsYXRlKHMtPmJsdXIoKSk7CiAg
ICAgICAgICAgICBpbnQgc2hhZG93WCA9IGlzSG9yaXpvbnRhbCgpID8gcy0+eCgpIDogcy0+eSgp
OwogICAgICAgICAgICAgaW50IHNoYWRvd1kgPSBpc0hvcml6b250YWwoKSA/IHMtPnkoKSA6IC1z
LT54KCk7CkBAIC04ODIsNyArODgyLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29y
YXRpb24oR3JhcAogICAgICAgICAgICAgfQogICAgICAgICAgICAgaW50IHNoYWRvd1ggPSBpc0hv
cml6b250YWwoKSA/IHNoYWRvdy0+eCgpIDogc2hhZG93LT55KCk7CiAgICAgICAgICAgICBpbnQg
c2hhZG93WSA9IGlzSG9yaXpvbnRhbCgpID8gc2hhZG93LT55KCkgOiAtc2hhZG93LT54KCk7Ci0g
ICAgICAgICAgICBjb250ZXh0LT5zZXRTaGFkb3coSW50U2l6ZShzaGFkb3dYLCBzaGFkb3dZIC0g
ZXh0cmFPZmZzZXQpLCBzaGFkb3ctPmJsdXIoKSwgc2hhZG93LT5jb2xvcigpLCBjb2xvclNwYWNl
KTsKKyAgICAgICAgICAgIGNvbnRleHQtPnNldFNoYWRvdyhGbG9hdFNpemUoc2hhZG93WCwgc2hh
ZG93WSAtIGV4dHJhT2Zmc2V0KSwgc2hhZG93LT5ibHVyKCksIHNoYWRvdy0+Y29sb3IoKSwgY29s
b3JTcGFjZSk7CiAgICAgICAgICAgICBzZXRTaGFkb3cgPSB0cnVlOwogICAgICAgICAgICAgc2hh
ZG93ID0gc2hhZG93LT5uZXh0KCk7CiAgICAgICAgIH0KQEAgLTg5MSw3ICs4OTEsNyBAQCB2b2lk
IElubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbihHcmFwCiAgICAgICAgICAgICBjb250ZXh0
LT5zZXRTdHJva2VDb2xvcih1bmRlcmxpbmUsIGNvbG9yU3BhY2UpOwogICAgICAgICAgICAgY29u
dGV4dC0+c2V0U3Ryb2tlU3R5bGUoU29saWRTdHJva2UpOwogICAgICAgICAgICAgLy8gTGVhdmUg
b25lIHBpeGVsIG9mIHdoaXRlIGJldHdlZW4gdGhlIGJhc2VsaW5lIGFuZCB0aGUgdW5kZXJsaW5l
LgotICAgICAgICAgICAgY29udGV4dC0+ZHJhd0xpbmVGb3JUZXh0KEludFBvaW50KGxvY2FsT3Jp
Z2luLngoKSwgbG9jYWxPcmlnaW4ueSgpICsgYmFzZWxpbmUgKyAxKSwgd2lkdGgsIGlzUHJpbnRp
bmcpOworICAgICAgICAgICAgY29udGV4dC0+ZHJhd0xpbmVGb3JUZXh0KEZsb2F0UG9pbnQobG9j
YWxPcmlnaW4ueCgpLCBsb2NhbE9yaWdpbi55KCkgKyBiYXNlbGluZSArIDEpLCB3aWR0aCwgaXNQ
cmludGluZyk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGRlY28gJiBPVkVSTElORSkgewogICAg
ICAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlQ29sb3Iob3ZlcmxpbmUsIGNvbG9yU3BhY2UpOwpA
QCAtOTAxLDcgKzkwMSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKEdy
YXAKICAgICAgICAgaWYgKGRlY28gJiBMSU5FX1RIUk9VR0gpIHsKICAgICAgICAgICAgIGNvbnRl
eHQtPnNldFN0cm9rZUNvbG9yKGxpbmV0aHJvdWdoLCBjb2xvclNwYWNlKTsKICAgICAgICAgICAg
IGNvbnRleHQtPnNldFN0cm9rZVN0eWxlKFNvbGlkU3Ryb2tlKTsKLSAgICAgICAgICAgIGNvbnRl
eHQtPmRyYXdMaW5lRm9yVGV4dChJbnRQb2ludChsb2NhbE9yaWdpbi54KCksIGxvY2FsT3JpZ2lu
LnkoKSArIDIgKiBiYXNlbGluZSAvIDMpLCB3aWR0aCwgaXNQcmludGluZyk7CisgICAgICAgICAg
ICBjb250ZXh0LT5kcmF3TGluZUZvclRleHQoRmxvYXRQb2ludChsb2NhbE9yaWdpbi54KCksIGxv
Y2FsT3JpZ2luLnkoKSArIDIgKiBiYXNlbGluZSAvIDMpLCB3aWR0aCwgaXNQcmludGluZyk7CiAg
ICAgICAgIH0KICAgICB9IHdoaWxlIChzaGFkb3cpOwogCkBAIC05MjYsNyArOTI2LDcgQEAgc3Rh
dGljIEdyYXBoaWNzQ29udGV4dDo6VGV4dENoZWNraW5nTGluZQogICAgIH0KIH0KIAotdm9pZCBJ
bmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdyYXBoaWNzQ29udGV4
dCogcHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiBt
YXJrZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBncmFtbWFy
KQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdyYXBo
aWNzQ29udGV4dCogcHQsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1l
bnRNYXJrZXImIG1hcmtlciwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250LCBi
b29sIGdyYW1tYXIpCiB7CiAgICAgLy8gTmV2ZXIgcHJpbnQgc3BlbGxpbmcvZ3JhbW1hciBtYXJr
ZXJzICg1MzI3ODg3KQogICAgIGlmICh0ZXh0UmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+cHJpbnRp
bmcoKSkKQEAgLTkzNSw4ICs5MzUsOCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50U3BlbGxp
bmdPckdyYW1tCiAgICAgaWYgKG1fdHJ1bmNhdGlvbiA9PSBjRnVsbFRydW5jYXRpb24pCiAgICAg
ICAgIHJldHVybjsKIAotICAgIGludCBzdGFydCA9IDA7ICAgICAgICAgICAgICAgICAgLy8gc3Rh
cnQgb2YgbGluZSB0byBkcmF3LCByZWxhdGl2ZSB0byB0eAotICAgIGludCB3aWR0aCA9IG1fbG9n
aWNhbFdpZHRoOyAgICAgICAgICAgIC8vIGhvdyBtdWNoIGxpbmUgdG8gZHJhdworICAgIGZsb2F0
IHN0YXJ0ID0gMDsgLy8gc3RhcnQgb2YgbGluZSB0byBkcmF3LCByZWxhdGl2ZSB0byB0eAorICAg
IGZsb2F0IHdpZHRoID0gbV9sb2dpY2FsV2lkdGg7IC8vIGhvdyBtdWNoIGxpbmUgdG8gZHJhdwog
CiAgICAgLy8gRGV0ZXJtaW5lIHdoZXRoZXIgd2UgbmVlZCB0byBtZWFzdXJlIHRleHQKICAgICBi
b29sIG1hcmtlclNwYW5zV2hvbGVCb3ggPSB0cnVlOwpAQCAtOTU3LDkgKzk1NywxMCBAQCB2b2lk
IElubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tCiAgICAgICAgIC8vIENhbGN1bGF0
ZSBzdGFydCAmIHdpZHRoCiAgICAgICAgIGludCBkZWx0YVkgPSByZW5kZXJlcigpLT5zdHlsZSgp
LT5pc0ZsaXBwZWRMaW5lc1dyaXRpbmdNb2RlKCkgPyBzZWxlY3Rpb25Cb3R0b20oKSAtIGxvZ2lj
YWxCb3R0b20oKSA6IGxvZ2ljYWxUb3AoKSAtIHNlbGVjdGlvblRvcCgpOwogICAgICAgICBpbnQg
c2VsSGVpZ2h0ID0gc2VsZWN0aW9uSGVpZ2h0KCk7Ci0gICAgICAgIEludFBvaW50IHN0YXJ0UG9p
bnQoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSk7CisgICAgICAgIEZsb2F0
UG9pbnQgc3RhcnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsK
ICAgICAgICAgVGV4dFJ1biBydW4odGV4dFJlbmRlcmVyKCktPnRleHQoKS0+Y2hhcmFjdGVycygp
ICsgbV9zdGFydCwgbV9sZW4sIHRleHRSZW5kZXJlcigpLT5hbGxvd1RhYnMoKSwgdGV4dFBvcygp
LCBtX2V4cGFuc2lvbiwgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvcigpLCAhaXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpLCBtX2Rpck92ZXJyaWRlIHx8IHN0eWxlLT52aXN1YWxseU9yZGVyZWQoKSk7
Ci0gICAgICAgICAKKyAgICAgICAgCisgICAgICAgIC8vIEZJWE1FOiBDb252ZXJ0IHRoZSBkb2N1
bWVudCBtYXJrZXJzIHRvIGZsb2F0IHJlY3RzLgogICAgICAgICBJbnRSZWN0IG1hcmtlclJlY3Qg
PSBlbmNsb3NpbmdJbnRSZWN0KGZvbnQuc2VsZWN0aW9uUmVjdEZvclRleHQocnVuLCBzdGFydFBv
aW50LCBzZWxIZWlnaHQsIHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uKSk7CiAgICAgICAgIHN0
YXJ0ID0gbWFya2VyUmVjdC54KCkgLSBzdGFydFBvaW50LngoKTsKICAgICAgICAgd2lkdGggPSBt
YXJrZXJSZWN0LndpZHRoKCk7CkBAIC05OTAsMTAgKzk5MSwxMCBAQCB2b2lkIElubGluZVRleHRC
b3g6OnBhaW50U3BlbGxpbmdPckdyYW1tCiAgICAgICAgIC8vIEluIGxhcmdlciBmb250cywgdGhv
dWdoLCBwbGFjZSB0aGUgdW5kZXJsaW5lIHVwIG5lYXIgdGhlIGJhc2VsaW5lIHRvIHByZXZlbnQg
YSBiaWcgZ2FwLgogICAgICAgICB1bmRlcmxpbmVPZmZzZXQgPSBiYXNlbGluZSArIDI7CiAgICAg
fQotICAgIHB0LT5kcmF3TGluZUZvclRleHRDaGVja2luZyhJbnRQb2ludChib3hPcmlnaW4ueCgp
ICsgc3RhcnQsIGJveE9yaWdpbi55KCkgKyB1bmRlcmxpbmVPZmZzZXQpLCB3aWR0aCwgdGV4dENo
ZWNraW5nTGluZVN0eWxlRm9yTWFya2VyVHlwZShtYXJrZXIudHlwZSkpOworICAgIHB0LT5kcmF3
TGluZUZvclRleHRDaGVja2luZyhGbG9hdFBvaW50KGJveE9yaWdpbi54KCkgKyBzdGFydCwgYm94
T3JpZ2luLnkoKSArIHVuZGVybGluZU9mZnNldCksIHdpZHRoLCB0ZXh0Q2hlY2tpbmdMaW5lU3R5
bGVGb3JNYXJrZXJUeXBlKG1hcmtlci50eXBlKSk7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6
cGFpbnRUZXh0TWF0Y2hNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiBwdCwgY29uc3QgSW50UG9pbnQm
IGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImIG1hcmtlciwgUmVuZGVyU3R5bGUqIHN0
eWxlLCBjb25zdCBGb250JiBmb250KQordm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFRleHRNYXRj
aE1hcmtlcihHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4s
IGNvbnN0IERvY3VtZW50TWFya2VyJiBtYXJrZXIsIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3Qg
Rm9udCYgZm9udCkKIHsKICAgICAvLyBVc2Ugc2FtZSB5IHBvc2l0aW9uaW5nIGFuZCBoZWlnaHQg
YXMgZm9yIHNlbGVjdGlvbiwgc28gdGhhdCB3aGVuIHRoZSBzZWxlY3Rpb24gYW5kIHRoaXMgaGln
aGxpZ2h0IGFyZSBvbgogICAgIC8vIHRoZSBzYW1lIHdvcmQgdGhlcmUgYXJlIG5vIHBpZWNlcyBz
dGlja2luZyBvdXQuCkBAIC0xMDE2LDggKzEwMTcsOCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBh
aW50VGV4dE1hdGNoTWFya2VyCiAgICAgICAgICAgICByZW5kZXJlcigpLT50aGVtZSgpLT5wbGF0
Zm9ybUluYWN0aXZlVGV4dFNlYXJjaEhpZ2hsaWdodENvbG9yKCk7CiAgICAgICAgIHB0LT5zYXZl
KCk7CiAgICAgICAgIHVwZGF0ZUdyYXBoaWNzQ29udGV4dChwdCwgY29sb3IsIGNvbG9yLCAwLCBz
dHlsZS0+Y29sb3JTcGFjZSgpKTsgIC8vIERvbid0IGRyYXcgdGV4dCBhdCBhbGwhCi0gICAgICAg
IHB0LT5jbGlwKEludFJlY3QoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSwg
bV9sb2dpY2FsV2lkdGgsIHNlbEhlaWdodCkpOwotICAgICAgICBwdC0+ZHJhd0hpZ2hsaWdodEZv
clRleHQoZm9udCwgcnVuLCBJbnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0g
ZGVsdGFZKSwgc2VsSGVpZ2h0LCBjb2xvciwgc3R5bGUtPmNvbG9yU3BhY2UoKSwgc1BvcywgZVBv
cyk7CisgICAgICAgIHB0LT5jbGlwKEZsb2F0UmVjdChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4u
eSgpIC0gZGVsdGFZLCBtX2xvZ2ljYWxXaWR0aCwgc2VsSGVpZ2h0KSk7CisgICAgICAgIHB0LT5k
cmF3SGlnaGxpZ2h0Rm9yVGV4dChmb250LCBydW4sIEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSwg
Ym94T3JpZ2luLnkoKSAtIGRlbHRhWSksIHNlbEhlaWdodCwgY29sb3IsIHN0eWxlLT5jb2xvclNw
YWNlKCksIHNQb3MsIGVQb3MpOwogICAgICAgICBwdC0+cmVzdG9yZSgpOwogICAgIH0KIH0KQEAg
LTEwMzksNyArMTA0MCw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6Y29tcHV0ZVJlY3RGb3JSZXBs
YWMKICAgICByZW5kZXJlcigpLT5kb2N1bWVudCgpLT5tYXJrZXJzKCktPnNldFJlbmRlcmVkUmVj
dEZvck1hcmtlcihyZW5kZXJlcigpLT5ub2RlKCksIG1hcmtlciwgbWFya2VyUmVjdCk7CiB9CiAg
ICAgCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50RG9jdW1lbnRNYXJrZXJzKEdyYXBoaWNzQ29u
dGV4dCogcHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwg
Y29uc3QgRm9udCYgZm9udCwgYm9vbCBiYWNrZ3JvdW5kKQordm9pZCBJbmxpbmVUZXh0Qm94Ojpw
YWludERvY3VtZW50TWFya2VycyhHcmFwaGljc0NvbnRleHQqIHB0LCBjb25zdCBGbG9hdFBvaW50
JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBi
YWNrZ3JvdW5kKQogewogICAgIGlmICghcmVuZGVyZXIoKS0+bm9kZSgpKQogICAgICAgICByZXR1
cm47CkBAIC0xMDk5LDE0ICsxMTAwLDEzIEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREb2N1
bWVudE1hcmtlcnMKICAgICB9CiB9CiAKLQotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBv
c2l0aW9uVW5kZXJsaW5lKEdyYXBoaWNzQ29udGV4dCogY3R4LCBjb25zdCBJbnRQb2ludCYgYm94
T3JpZ2luLCBjb25zdCBDb21wb3NpdGlvblVuZGVybGluZSYgdW5kZXJsaW5lKQordm9pZCBJbmxp
bmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uVW5kZXJsaW5lKEdyYXBoaWNzQ29udGV4dCogY3R4
LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5l
JiB1bmRlcmxpbmUpCiB7CiAgICAgaWYgKG1fdHJ1bmNhdGlvbiA9PSBjRnVsbFRydW5jYXRpb24p
CiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBpbnQgc3RhcnQgPSAwOyAgICAgICAgICAgICAg
ICAgLy8gc3RhcnQgb2YgbGluZSB0byBkcmF3LCByZWxhdGl2ZSB0byB0eAotICAgIGludCB3aWR0
aCA9IG1fbG9naWNhbFdpZHRoOyAgICAgICAgICAgLy8gaG93IG11Y2ggbGluZSB0byBkcmF3Cisg
ICAgZmxvYXQgc3RhcnQgPSAwOyAvLyBzdGFydCBvZiBsaW5lIHRvIGRyYXcsIHJlbGF0aXZlIHRv
IHR4CisgICAgZmxvYXQgd2lkdGggPSBtX2xvZ2ljYWxXaWR0aDsgLy8gaG93IG11Y2ggbGluZSB0
byBkcmF3CiAgICAgYm9vbCB1c2VXaG9sZVdpZHRoID0gdHJ1ZTsKICAgICB1bnNpZ25lZCBwYWlu
dFN0YXJ0ID0gbV9zdGFydDsKICAgICB1bnNpZ25lZCBwYWludEVuZCA9IGVuZCgpICsgMTsgLy8g
ZW5kIHBvaW50cyBhdCB0aGUgbGFzdCBjaGFyLCBub3QgcGFzdCBpdApAQCAtMTE0Miw3ICsxMTQy
LDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uVW5kZQogCiAgICAgY3R4
LT5zZXRTdHJva2VDb2xvcih1bmRlcmxpbmUuY29sb3IsIHJlbmRlcmVyKCktPnN0eWxlKCktPmNv
bG9yU3BhY2UoKSk7CiAgICAgY3R4LT5zZXRTdHJva2VUaGlja25lc3MobGluZVRoaWNrbmVzcyk7
Ci0gICAgY3R4LT5kcmF3TGluZUZvclRleHQoSW50UG9pbnQoYm94T3JpZ2luLngoKSArIHN0YXJ0
LCBib3hPcmlnaW4ueSgpICsgbG9naWNhbEhlaWdodCgpIC0gbGluZVRoaWNrbmVzcyksIHdpZHRo
LCB0ZXh0UmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+cHJpbnRpbmcoKSk7CisgICAgY3R4LT5kcmF3
TGluZUZvclRleHQoRmxvYXRQb2ludChib3hPcmlnaW4ueCgpICsgc3RhcnQsIGJveE9yaWdpbi55
KCkgKyBsb2dpY2FsSGVpZ2h0KCkgLSBsaW5lVGhpY2tuZXNzKSwgd2lkdGgsIHRleHRSZW5kZXJl
cigpLT5kb2N1bWVudCgpLT5wcmludGluZygpKTsKIH0KIAogaW50IElubGluZVRleHRCb3g6OmNh
cmV0TWluT2Zmc2V0KCkgY29uc3QKQEAgLTExNjAsNyArMTE2MCw3IEBAIHVuc2lnbmVkIElubGlu
ZVRleHRCb3g6OmNhcmV0TWF4UmVuZGVyZWQKICAgICByZXR1cm4gbV9zdGFydCArIG1fbGVuOwog
fQogCi1pbnQgSW5saW5lVGV4dEJveDo6dGV4dFBvcygpIGNvbnN0CitmbG9hdCBJbmxpbmVUZXh0
Qm94Ojp0ZXh0UG9zKCkgY29uc3QKIHsKICAgICAvLyBXaGVuIGNvbXB1dGluZyB0aGUgd2lkdGgg
b2YgYSB0ZXh0IHJ1biwgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlv
bnNGb3JMaW5lKCkgZG9lc24ndCBpbmNsdWRlIHRoZSBhY3R1YWwgb2Zmc2V0CiAgICAgLy8gZnJv
bSB0aGUgY29udGFpbmluZyBibG9jayBlZGdlIGluIGl0cyBtZWFzdXJlbWVudC4gdGV4dFBvcygp
IHNob3VsZCBiZSBjb25zaXN0ZW50IHNvIHRoZSB0ZXh0IGFyZSByZW5kZXJlZCBpbiB0aGUgc2Ft
ZSB3aWR0aC4KQEAgLTExNjksNyArMTE2OSw3IEBAIGludCBJbmxpbmVUZXh0Qm94Ojp0ZXh0UG9z
KCkgY29uc3QKICAgICByZXR1cm4gbG9naWNhbExlZnQoKSAtIHJvb3QoKS0+bG9naWNhbExlZnQo
KTsKIH0KIAotaW50IElubGluZVRleHRCb3g6Om9mZnNldEZvclBvc2l0aW9uKGludCBsaW5lT2Zm
c2V0LCBib29sIGluY2x1ZGVQYXJ0aWFsR2x5cGhzKSBjb25zdAoraW50IElubGluZVRleHRCb3g6
Om9mZnNldEZvclBvc2l0aW9uKGZsb2F0IGxpbmVPZmZzZXQsIGJvb2wgaW5jbHVkZVBhcnRpYWxH
bHlwaHMpIGNvbnN0CiB7CiAgICAgaWYgKGlzTGluZUJyZWFrKCkpCiAgICAgICAgIHJldHVybiAw
OwpAQCAtMTE5Niw3ICsxMTk2LDcgQEAgaW50IElubGluZVRleHRCb3g6Om9mZnNldEZvclBvc2l0
aW9uKGludAogICAgIHJldHVybiBvZmZzZXQ7CiB9CiAKLWludCBJbmxpbmVUZXh0Qm94Ojpwb3Np
dGlvbkZvck9mZnNldChpbnQgb2Zmc2V0KSBjb25zdAorZmxvYXQgSW5saW5lVGV4dEJveDo6cG9z
aXRpb25Gb3JPZmZzZXQoaW50IG9mZnNldCkgY29uc3QKIHsKICAgICBBU1NFUlQob2Zmc2V0ID49
IG1fc3RhcnQpOwogICAgIEFTU0VSVChvZmZzZXQgPD0gbV9zdGFydCArIG1fbGVuKTsKQEAgLTEy
MDksOCArMTIwOSw4IEBAIGludCBJbmxpbmVUZXh0Qm94Ojpwb3NpdGlvbkZvck9mZnNldChpbnQK
ICAgICBpbnQgZnJvbSA9ICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyBvZmZzZXQgLSBtX3N0
YXJ0IDogMDsKICAgICBpbnQgdG8gPSAhaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gbV9sZW4g
OiBvZmZzZXQgLSBtX3N0YXJ0OwogICAgIC8vIEZJWE1FOiBEbyB3ZSBuZWVkIHRvIGFkZCByaWdo
dEJlYXJpbmcgaGVyZT8KLSAgICByZXR1cm4gZW5jbG9zaW5nSW50UmVjdChmLnNlbGVjdGlvblJl
Y3RGb3JUZXh0KFRleHRSdW4odGV4dC0+dGV4dCgpLT5jaGFyYWN0ZXJzKCkgKyBtX3N0YXJ0LCBt
X2xlbiwgdGV4dFJlbmRlcmVyKCktPmFsbG93VGFicygpLCB0ZXh0UG9zKCksIG1fZXhwYW5zaW9u
LCB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yKCksICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCks
IG1fZGlyT3ZlcnJpZGUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgSW50UG9pbnQobG9naWNhbExlZnQoKSwgMCksIDAsIGZyb20sIHRvKSkubWF4
WCgpOworICAgIHJldHVybiBmLnNlbGVjdGlvblJlY3RGb3JUZXh0KFRleHRSdW4odGV4dC0+dGV4
dCgpLT5jaGFyYWN0ZXJzKCkgKyBtX3N0YXJ0LCBtX2xlbiwgdGV4dFJlbmRlcmVyKCktPmFsbG93
VGFicygpLCB0ZXh0UG9zKCksIG1fZXhwYW5zaW9uLCB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9y
KCksICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIG1fZGlyT3ZlcnJpZGUpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEludFBvaW50KGxvZ2ljYWxMZWZ0KCksIDApLCAwLCBm
cm9tLCB0bykubWF4WCgpOwogfQogCiBib29sIElubGluZVRleHRCb3g6OmNvbnRhaW5zQ2FyZXRP
ZmZzZXQoaW50IG9mZnNldCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9J
bmxpbmVUZXh0Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZVRleHRCb3guaAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW5saW5lVGV4dEJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDUsMTIgKzEwNSwxMiBAQCBw
dWJsaWM6CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNsZWFyVHJ1bmNhdGlvbigpIHsg
bV90cnVuY2F0aW9uID0gY05vVHJ1bmNhdGlvbjsgfQotICAgIHZpcnR1YWwgaW50IHBsYWNlRWxs
aXBzaXNCb3goYm9vbCBmbG93SXNMVFIsIGludCB2aXNpYmxlTGVmdEVkZ2UsIGludCB2aXNpYmxl
UmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpOworICAgIHZpcnR1
YWwgZmxvYXQgcGxhY2VFbGxpcHNpc0JveChib29sIGZsb3dJc0xUUiwgZmxvYXQgdmlzaWJsZUxl
ZnRFZGdlLCBmbG9hdCB2aXNpYmxlUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29s
JiBmb3VuZEJveCk7CiAKIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5lQnJlYWsoKSBj
b25zdDsKIAotICAgIHZvaWQgc2V0RXhwYW5zaW9uKGludCBleHBhbnNpb24pIHsgbV9sb2dpY2Fs
V2lkdGggLT0gbV9leHBhbnNpb247IG1fZXhwYW5zaW9uID0gZXhwYW5zaW9uOyBtX2xvZ2ljYWxX
aWR0aCArPSBtX2V4cGFuc2lvbjsgfQorICAgIHZvaWQgc2V0RXhwYW5zaW9uKGZsb2F0IGV4cGFu
c2lvbikgeyBtX2xvZ2ljYWxXaWR0aCAtPSBtX2V4cGFuc2lvbjsgbV9leHBhbnNpb24gPSBleHBh
bnNpb247IG1fbG9naWNhbFdpZHRoICs9IG1fZXhwYW5zaW9uOyB9CiAKIHByaXZhdGU6CiAgICAg
dmlydHVhbCBib29sIGlzSW5saW5lVGV4dEJveCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0gICAg
CkBAIC0xMjIsMTEgKzEyMiwxMSBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZpcnR1YWwgdW5z
aWduZWQgY2FyZXRNYXhSZW5kZXJlZE9mZnNldCgpIGNvbnN0OwogCi0gICAgaW50IHRleHRQb3Mo
KSBjb25zdDsgLy8gcmV0dXJucyB0aGUgeCBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgbGVmdCBz
dGFydCBvZiB0aGUgdGV4dCBsaW5lLgorICAgIGZsb2F0IHRleHRQb3MoKSBjb25zdDsgLy8gcmV0
dXJucyB0aGUgeCBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgbGVmdCBzdGFydCBvZiB0aGUgdGV4
dCBsaW5lLgogCiBwdWJsaWM6Ci0gICAgdmlydHVhbCBpbnQgb2Zmc2V0Rm9yUG9zaXRpb24oaW50
IHgsIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMgPSB0cnVlKSBjb25zdDsKLSAgICB2aXJ0dWFs
IGludCBwb3NpdGlvbkZvck9mZnNldChpbnQgb2Zmc2V0KSBjb25zdDsKKyAgICB2aXJ0dWFsIGlu
dCBvZmZzZXRGb3JQb3NpdGlvbihmbG9hdCB4LCBib29sIGluY2x1ZGVQYXJ0aWFsR2x5cGhzID0g
dHJ1ZSkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9hdCBwb3NpdGlvbkZvck9mZnNldChpbnQgb2Zm
c2V0KSBjb25zdDsKIAogICAgIGJvb2wgY29udGFpbnNDYXJldE9mZnNldChpbnQgb2Zmc2V0KSBj
b25zdDsgLy8gZmFsc2UgZm9yIG9mZnNldCBhZnRlciBsaW5lIGJyZWFrCiAKQEAgLTE0NCwxOCAr
MTQ0LDE4IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgICAgICAgLy8gZGVub3RlIG5vIHRy
dW5jYXRpb24gKHRoZSB3aG9sZSBydW4gcGFpbnRzKSBhbmQgZnVsbCB0cnVuY2F0aW9uIChub3Ro
aW5nIHBhaW50cyBhdCBhbGwpLgogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBwYWludENvbXBvc2l0
aW9uQmFja2dyb3VuZChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2lu
LCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmLCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpOwot
ICAgIHZvaWQgcGFpbnREb2N1bWVudE1hcmtlcnMoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50
UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250JiwgYm9vbCBiYWNrZ3Jv
dW5kKTsKLSAgICB2b2lkIHBhaW50Q29tcG9zaXRpb25VbmRlcmxpbmUoR3JhcGhpY3NDb250ZXh0
KiwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgQ29tcG9zaXRpb25VbmRlcmxpbmUm
KTsKKyAgICB2b2lkIHBhaW50Q29tcG9zaXRpb25CYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCos
IGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jiwg
aW50IHN0YXJ0UG9zLCBpbnQgZW5kUG9zKTsKKyAgICB2b2lkIHBhaW50RG9jdW1lbnRNYXJrZXJz
KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5
bGUqLCBjb25zdCBGb250JiwgYm9vbCBiYWNrZ3JvdW5kKTsKKyAgICB2b2lkIHBhaW50Q29tcG9z
aXRpb25VbmRlcmxpbmUoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3Jp
Z2luLCBjb25zdCBDb21wb3NpdGlvblVuZGVybGluZSYpOwogI2lmIFBMQVRGT1JNKE1BQykKICAg
ICB2b2lkIHBhaW50Q3VzdG9tSGlnaGxpZ2h0KGludCB0eCwgaW50IHR5LCBjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUpOwogI2VuZGlmCiAKIHByaXZhdGU6Ci0gICAgdm9pZCBwYWludERlY29yYXRp
b24oR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgaW50IGRlY29y
YXRpb24sIGNvbnN0IFNoYWRvd0RhdGEqKTsKLSAgICB2b2lkIHBhaW50U2VsZWN0aW9uKEdyYXBo
aWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiwgY29u
c3QgRm9udCYpOwotICAgIHZvaWQgcGFpbnRTcGVsbGluZ09yR3JhbW1hck1hcmtlcihHcmFwaGlj
c0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtl
ciYsIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYsIGJvb2wgZ3JhbW1hcik7Ci0gICAgdm9pZCBw
YWludFRleHRNYXRjaE1hcmtlcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94
T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYsIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYp
OworICAgIHZvaWQgcGFpbnREZWNvcmF0aW9uKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0
UG9pbnQmIGJveE9yaWdpbiwgaW50IGRlY29yYXRpb24sIGNvbnN0IFNoYWRvd0RhdGEqKTsKKyAg
ICB2b2lkIHBhaW50U2VsZWN0aW9uKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UG9pbnQm
IGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jik7CisgICAgdm9pZCBwYWludFNw
ZWxsaW5nT3JHcmFtbWFyTWFya2VyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UG9pbnQm
IGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZv
bnQmLCBib29sIGdyYW1tYXIpOworICAgIHZvaWQgcGFpbnRUZXh0TWF0Y2hNYXJrZXIoR3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1h
cmtlciYsIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYpOwogICAgIHZvaWQgY29tcHV0ZVJlY3RG
b3JSZXBsYWNlbWVudE1hcmtlcihjb25zdCBEb2N1bWVudE1hcmtlciYsIFJlbmRlclN0eWxlKiwg
Y29uc3QgRm9udCYpOwogCiAgICAgVGV4dFJ1bjo6VHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciB0
cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yKCkgY29uc3QgeyByZXR1cm4gbV9leHBhbnNpb24gJiYg
bmV4dExlYWZDaGlsZCgpID8gVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiA6IFRleHRS
dW46OkZvcmJpZFRyYWlsaW5nRXhwYW5zaW9uOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQlIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQlIuaAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQlIuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsOCArNDAsOCBAQCBwdWJsaWM6CiAgCiAg
ICAgdmlydHVhbCBJbnRSZWN0IHNlbGVjdGlvblJlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVs
T2JqZWN0KiAvKnJlcGFpbnRDb250YWluZXIqLywgYm9vbCAvKmNsaXBUb1Zpc2libGVDb250ZW50
Ki8pIHsgcmV0dXJuIEludFJlY3QoKTsgfQogCi0gICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0aCh1
bnNpZ25lZCAvKmZyb20qLywgdW5zaWduZWQgLypsZW4qLywgY29uc3QgRm9udCYsIGludCAvKnhQ
b3MqLywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiA9IDAgLypmYWxsYmFja0ZvbnRz
Ki8gLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0IHsgcmV0dXJuIDA7IH0KLSAgICB2aXJ0dWFs
IHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVkIC8qZnJvbSovLCB1bnNpZ25lZCAvKmxlbiovLCBpbnQg
Lyp4cG9zKi8sIGJvb2wgPSBmYWxzZSAvKmZpcnN0TGluZSovLCBIYXNoU2V0PGNvbnN0IFNpbXBs
ZUZvbnREYXRhKj4qID0gMCAvKmZhbGxiYWNrRm9udHMqLywgR2x5cGhPdmVyZmxvdyogPSAwKSBj
b25zdCB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCBmbG9hdCB3aWR0aCh1bnNpZ25lZCAvKmZy
b20qLywgdW5zaWduZWQgLypsZW4qLywgY29uc3QgRm9udCYsIGZsb2F0IC8qeFBvcyovLCBIYXNo
U2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qID0gMCAvKmZhbGxiYWNrRm9udHMqLyAsIEdseXBo
T3ZlcmZsb3cqID0gMCkgY29uc3QgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgZmxvYXQgd2lk
dGgodW5zaWduZWQgLypmcm9tKi8sIHVuc2lnbmVkIC8qbGVuKi8sIGZsb2F0IC8qeHBvcyovLCBi
b29sID0gZmFsc2UgLypmaXJzdExpbmUqLywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+
KiA9IDAgLypmYWxsYmFja0ZvbnRzKi8sIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3QgeyByZXR1
cm4gMDsgfQogCiAgICAgaW50IGxpbmVIZWlnaHQoYm9vbCBmaXJzdExpbmUpIGNvbnN0OwogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDc4
NTcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDYxNiw3ICs0NjE2LDcgQEAgc3RhdGljIGludCBnZXRCb3JkZXJQYWRkaW5n
TWFyZ2luKGNvbnN0IAogICAgICAgICAgICAgICAgY2hpbGQtPmJvcmRlclN0YXJ0KCk7CiB9CiAK
LXN0YXRpYyBpbmxpbmUgdm9pZCBzdHJpcFRyYWlsaW5nU3BhY2UoaW50JiBpbmxpbmVNYXgsIGlu
dCYgaW5saW5lTWluLAorc3RhdGljIGlubGluZSB2b2lkIHN0cmlwVHJhaWxpbmdTcGFjZShmbG9h
dCYgaW5saW5lTWF4LCBmbG9hdCYgaW5saW5lTWluLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBSZW5kZXJPYmplY3QqIHRyYWlsaW5nU3BhY2VDaGlsZCkKIHsKICAgICBp
ZiAodHJhaWxpbmdTcGFjZUNoaWxkICYmIHRyYWlsaW5nU3BhY2VDaGlsZC0+aXNUZXh0KCkpIHsK
QEAgLTQ2MjQsMTcgKzQ2MjQsMjMgQEAgc3RhdGljIGlubGluZSB2b2lkIHN0cmlwVHJhaWxpbmdT
cGFjZShpbgogICAgICAgICBSZW5kZXJUZXh0KiB0ID0gdG9SZW5kZXJUZXh0KHRyYWlsaW5nU3Bh
Y2VDaGlsZCk7CiAgICAgICAgIGNvbnN0IFVDaGFyIHNwYWNlID0gJyAnOwogICAgICAgICBjb25z
dCBGb250JiBmb250ID0gdC0+c3R5bGUoKS0+Zm9udCgpOyAvLyBGSVhNRTogVGhpcyBpZ25vcmVz
IGZpcnN0LWxpbmUuCi0gICAgICAgIGludCBzcGFjZVdpZHRoID0gZm9udC53aWR0aChUZXh0UnVu
KCZzcGFjZSwgMSkpOworICAgICAgICBmbG9hdCBzcGFjZVdpZHRoID0gZm9udC53aWR0aChUZXh0
UnVuKCZzcGFjZSwgMSkpOwogICAgICAgICBpbmxpbmVNYXggLT0gc3BhY2VXaWR0aCArIGZvbnQu
d29yZFNwYWNpbmcoKTsKICAgICAgICAgaWYgKGlubGluZU1pbiA+IGlubGluZU1heCkKICAgICAg
ICAgICAgIGlubGluZU1pbiA9IGlubGluZU1heDsKICAgICB9CiB9CiAKK3N0YXRpYyBpbmxpbmUg
dm9pZCB1cGRhdGVQcmVmZXJyZWRXaWR0aChpbnQmIHByZWZlcnJlZFdpZHRoLCBmbG9hdCYgcmVz
dWx0KQoreworICAgIGludCBzbmFwcGVkUmVzdWx0ID0gY2VpbGYocmVzdWx0KTsKKyAgICBwcmVm
ZXJyZWRXaWR0aCA9IG1heChzbmFwcGVkUmVzdWx0LCBwcmVmZXJyZWRXaWR0aCk7Cit9CisKIHZv
aWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkKIHsK
LSAgICBpbnQgaW5saW5lTWF4ID0gMDsKLSAgICBpbnQgaW5saW5lTWluID0gMDsKKyAgICBmbG9h
dCBpbmxpbmVNYXggPSAwOworICAgIGZsb2F0IGlubGluZU1pbiA9IDA7CiAKICAgICBpbnQgY3cg
PSBjb250YWluaW5nQmxvY2soKS0+Y29udGVudExvZ2ljYWxXaWR0aCgpOwogCkBAIC00Njk1LDE1
ICs0NzAxLDE1IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAg
ICAgICAgICAgIC8vIHRoZSB3aWR0aCBvZiB0aGUgbGFzdCBub24tYnJlYWthYmxlIHJ1biBhbmQg
dXNlIHRoYXQgdG8gc3RhcnQgYSBuZXcgbGluZQogICAgICAgICAgICAgLy8gKHVubGVzcyB3ZSBl
bmQgaW4gd2hpdGVzcGFjZSkuCiAgICAgICAgICAgICBSZW5kZXJTdHlsZSogY3N0eWxlID0gY2hp
bGQtPnN0eWxlKCk7Ci0gICAgICAgICAgICBpbnQgY2hpbGRNaW4gPSAwOwotICAgICAgICAgICAg
aW50IGNoaWxkTWF4ID0gMDsKKyAgICAgICAgICAgIGZsb2F0IGNoaWxkTWluID0gMDsKKyAgICAg
ICAgICAgIGZsb2F0IGNoaWxkTWF4ID0gMDsKIAogICAgICAgICAgICAgaWYgKCFjaGlsZC0+aXNU
ZXh0KCkpIHsKICAgICAgICAgICAgICAgICAvLyBDYXNlICgxKSBhbmQgKDIpLiAgSW5saW5lIHJl
cGxhY2VkIGFuZCBpbmxpbmUgZmxvdyBlbGVtZW50cy4KICAgICAgICAgICAgICAgICBpZiAoY2hp
bGQtPmlzUmVuZGVySW5saW5lKCkpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gQWRkIGluIHBh
ZGRpbmcvYm9yZGVyL21hcmdpbiBmcm9tIHRoZSBhcHByb3ByaWF0ZSBzaWRlIG9mCiAgICAgICAg
ICAgICAgICAgICAgIC8vIHRoZSBlbGVtZW50LgotICAgICAgICAgICAgICAgICAgICBpbnQgYnBt
ID0gZ2V0Qm9yZGVyUGFkZGluZ01hcmdpbih0b1JlbmRlcklubGluZShjaGlsZCksIGNoaWxkSXRl
cmF0b3IuZW5kT2ZJbmxpbmUpOworICAgICAgICAgICAgICAgICAgICBmbG9hdCBicG0gPSBnZXRC
b3JkZXJQYWRkaW5nTWFyZ2luKHRvUmVuZGVySW5saW5lKGNoaWxkKSwgY2hpbGRJdGVyYXRvci5l
bmRPZklubGluZSk7CiAgICAgICAgICAgICAgICAgICAgIGNoaWxkTWluICs9IGJwbTsKICAgICAg
ICAgICAgICAgICAgICAgY2hpbGRNYXggKz0gYnBtOwogCkBAIC00NzEzLDcgKzQ3MTksNyBAQCB2
b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICAgICAg
ICAgIGNoaWxkLT5zZXRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkoZmFsc2UpOwogICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIElubGluZSByZXBsYWNl
ZCBlbHRzIGFkZCBpbiB0aGVpciBtYXJnaW5zIHRvIHRoZWlyIG1pbi9tYXggdmFsdWVzLgotICAg
ICAgICAgICAgICAgICAgICBpbnQgbWFyZ2lucyA9IDA7CisgICAgICAgICAgICAgICAgICAgIGZs
b2F0IG1hcmdpbnMgPSAwOwogICAgICAgICAgICAgICAgICAgICBMZW5ndGggc3RhcnRNYXJnaW4g
PSBjc3R5bGUtPm1hcmdpblN0YXJ0KCk7CiAgICAgICAgICAgICAgICAgICAgIExlbmd0aCBlbmRN
YXJnaW4gPSBjc3R5bGUtPm1hcmdpbkVuZCgpOwogICAgICAgICAgICAgICAgICAgICBpZiAoc3Rh
cnRNYXJnaW4uaXNGaXhlZCgpKQpAQCAtNDc0MywxMyArNDc0OSwxMyBAQCB2b2lkIFJlbmRlckJs
b2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAKICAgICAgICAgICAgICAgICBib29sIGNhbkJy
ZWFrUmVwbGFjZWRFbGVtZW50ID0gIWNoaWxkLT5pc0ltYWdlKCkgfHwgYWxsb3dJbWFnZXNUb0Jy
ZWFrOwogICAgICAgICAgICAgICAgIGlmICgoY2FuQnJlYWtSZXBsYWNlZEVsZW1lbnQgJiYgKGF1
dG9XcmFwIHx8IG9sZEF1dG9XcmFwKSkgfHwgY2xlYXJQcmV2aW91c0Zsb2F0KSB7Ci0gICAgICAg
ICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwg
bV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICB1cGRhdGVQ
cmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKICAg
ICAgICAgICAgICAgICAgICAgaW5saW5lTWluID0gMDsKICAgICAgICAgICAgICAgICB9CiAKICAg
ICAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBzdXBwb3NlZCB0byBjbGVhciB0aGUgcHJldmlvdXMg
ZmxvYXQsIHRoZW4gdGVybWluYXRlIG1heHdpZHRoIGFzIHdlbGwuCiAgICAgICAgICAgICAgICAg
aWYgKGNsZWFyUHJldmlvdXNGbG9hdCkgewotICAgICAgICAgICAgICAgICAgICBtX21heFByZWZl
cnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNYXgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdp
ZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9tYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1heCk7CiAgICAgICAgICAgICAgICAgICAgIGlubGlu
ZU1heCA9IDA7CiAgICAgICAgICAgICAgICAgfQogCkBAIC00NzY3LDEyICs0NzczLDEyIEBAIHZv
aWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKIAogICAgICAgICAgICAgICAg
IGlmICghYXV0b1dyYXAgfHwgIWNhbkJyZWFrUmVwbGFjZWRFbGVtZW50KSB7CiAgICAgICAgICAg
ICAgICAgICAgIGlmIChjaGlsZC0+aXNGbG9hdGluZygpKQotICAgICAgICAgICAgICAgICAgICAg
ICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoY2hpbGRNaW4sIG1fbWluUHJlZmVy
cmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJl
ZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBjaGlsZE1pbik7CiAgICAgICAgICAg
ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiArPSBjaGls
ZE1pbjsKICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAvLyBO
b3cgY2hlY2sgb3VyIGxpbmUuCi0gICAgICAgICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoID0gbWF4KGNoaWxkTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Cisg
ICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoLCBjaGlsZE1pbik7CiAKICAgICAgICAgICAgICAgICAgICAgLy8gTm93IHN0YXJ0
IGEgbmV3IGxpbmUuCiAgICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiA9IDA7CkBAIC00Nzg5
LDcgKzQ3OTUsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAg
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dCogdCA9IHRvUmVuZGVyVGV4dChjaGlsZCk7CiAKICAg
ICAgICAgICAgICAgICBpZiAodC0+aXNXb3JkQnJlYWsoKSkgewotICAgICAgICAgICAgICAgICAg
ICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVy
cmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lk
dGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAgICAgICAgICAg
ICAgICAgIGlubGluZU1pbiA9IDA7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICAgICAgICAgIH0KQEAgLTQ4MDMsOSArNDgwOSw5IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNv
bXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAgICAgICAvLyB0aGVuIHRoZXkgc2hvdWxk
bid0IGJlIGNvbnNpZGVyZWQgaW4gdGhlIGJyZWFrYWJsZSBjaGFyCiAgICAgICAgICAgICAgICAg
Ly8gY2hlY2suCiAgICAgICAgICAgICAgICAgYm9vbCBoYXNCcmVha2FibGVDaGFyLCBoYXNCcmVh
azsKLSAgICAgICAgICAgICAgICBpbnQgYmVnaW5NaW4sIGVuZE1pbjsKKyAgICAgICAgICAgICAg
ICBmbG9hdCBiZWdpbk1pbiwgZW5kTWluOwogICAgICAgICAgICAgICAgIGJvb2wgYmVnaW5XUywg
ZW5kV1M7Ci0gICAgICAgICAgICAgICAgaW50IGJlZ2luTWF4LCBlbmRNYXg7CisgICAgICAgICAg
ICAgICAgZmxvYXQgYmVnaW5NYXgsIGVuZE1heDsKICAgICAgICAgICAgICAgICB0LT50cmltbWVk
UHJlZldpZHRocyhpbmxpbmVNYXgsIGJlZ2luTWluLCBiZWdpbldTLCBlbmRNaW4sIGVuZFdTLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0JyZWFrYWJsZUNoYXIsIGhh
c0JyZWFrLCBiZWdpbk1heCwgZW5kTWF4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNoaWxkTWluLCBjaGlsZE1heCwgc3RyaXBGcm9udFNwYWNlcyk7CkBAIC00ODEzLDcg
KzQ4MTksNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAg
ICAgICAgICAgICAgLy8gVGhpcyB0ZXh0IG9iamVjdCB3aWxsIG5vdCBiZSByZW5kZXJlZCwgYnV0
IGl0IG1heSBzdGlsbCBwcm92aWRlIGEgYnJlYWtpbmcgb3Bwb3J0dW5pdHkuCiAgICAgICAgICAg
ICAgICAgaWYgKCFoYXNCcmVhayAmJiBjaGlsZE1heCA9PSAwKSB7CiAgICAgICAgICAgICAgICAg
ICAgIGlmIChhdXRvV3JhcCAmJiAoYmVnaW5XUyB8fCBlbmRXUykpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9t
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRl
UHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSAwOwogICAgICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtNDg0MywxMCArNDg0OSwxMCBA
QCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICAg
ICAgICAgIC8vIHdlIHN0YXJ0IGFuZCBlbmQgd2l0aCB3aGl0ZXNwYWNlLgogICAgICAgICAgICAg
ICAgICAgICBpZiAoYmVnaW5XUykKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEdvIGFoZWFk
IGFuZCBlbmQgdGhlIGN1cnJlbnQgbGluZS4KLSAgICAgICAgICAgICAgICAgICAgICAgIG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgo
bV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAgICAgICAgICAgICAg
ICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWluICs9IGJlZ2luTWlu
OwotICAgICAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBt
YXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCwgaW5saW5lTWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkTWluIC09IHRpOwog
ICAgICAgICAgICAgICAgICAgICB9CiAKQEAgLTQ4NTUsMTggKzQ4NjEsMTggQEAgdm9pZCBSZW5k
ZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgICAgICBpZiAo
ZW5kV1MpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIGVuZCBpbiB3aGl0ZXNwYWNl
LCB3aGljaCBtZWFucyB3ZSBjYW4gZ28gYWhlYWQKICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IGFuZCBlbmQgb3VyIGN1cnJlbnQgbGluZS4KLSAgICAgICAgICAgICAgICAgICAgICAgIG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwgbV9taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgo
bV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CiAgICAgICAgICAgICAgICAg
ICAgICAgICBpbmxpbmVNaW4gPSAwOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5s
aW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAg
ICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5s
aW5lTWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiA9IGVuZE1pbjsKICAg
ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAg
IGlmIChoYXNCcmVhaykgewogICAgICAgICAgICAgICAgICAgICBpbmxpbmVNYXggKz0gYmVnaW5N
YXg7Ci0gICAgICAgICAgICAgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4
KGlubGluZU1heCwgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOwotICAgICAgICAgICAgICAg
ICAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChjaGlsZE1heCwgbV9tYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRX
aWR0aChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWF4KTsKKyAgICAgICAgICAg
ICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgs
IGNoaWxkTWF4KTsKICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWF4ID0gZW5kTWF4OwogICAg
ICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICBpbmxpbmVNYXggKz0gY2hp
bGRNYXg7CkBAIC00ODc2LDggKzQ4ODIsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5s
aW5lUHJlZmVycmVkCiAgICAgICAgICAgICBpZiAoY2hpbGQtPmlzTGlzdE1hcmtlcigpKQogICAg
ICAgICAgICAgICAgIHN0cmlwRnJvbnRTcGFjZXMgPSB0cnVlOwogICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBt
X21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Ci0gICAgICAgICAgICBtX21heFByZWZlcnJlZExv
Z2ljYWxXaWR0aCA9IG1heChpbmxpbmVNYXgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKTsK
KyAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoLCBpbmxpbmVNaW4pOworICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9tYXhQ
cmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1heCk7CiAgICAgICAgICAgICBpbmxpbmVNaW4g
PSBpbmxpbmVNYXggPSAwOwogICAgICAgICAgICAgc3RyaXBGcm9udFNwYWNlcyA9IHRydWU7CiAg
ICAgICAgICAgICB0cmFpbGluZ1NwYWNlQ2hpbGQgPSAwOwpAQCAtNDg4OSw4ICs0ODk1LDggQEAg
dm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgIGlmIChzdHlsZSgp
LT5jb2xsYXBzZVdoaXRlU3BhY2UoKSkKICAgICAgICAgc3RyaXBUcmFpbGluZ1NwYWNlKGlubGlu
ZU1heCwgaW5saW5lTWluLCB0cmFpbGluZ1NwYWNlQ2hpbGQpOwogCi0gICAgbV9taW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCk7Ci0gICAgbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWF4LCBtX21h
eFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CisgICAgdXBkYXRlUHJlZmVycmVkV2lk
dGgobV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGlubGluZU1heCk7CiB9CiAKIC8vIFVzZSBh
IHZlcnkgbGFyZ2UgdmFsdWUgKGluIGVmZmVjdCBpbmZpbml0ZSkuCkBAIC01NDU2LDkgKzU0NjIs
OSBAQCB2b2lkIFJlbmRlckJsb2NrOjphZGp1c3RGb3JCb3JkZXJGaXQoaW50CiAgICAgICAgIGlm
IChjaGlsZHJlbklubGluZSgpKSB7CiAgICAgICAgICAgICBmb3IgKFJvb3RJbmxpbmVCb3gqIGJv
eCA9IGZpcnN0Um9vdEJveCgpOyBib3g7IGJveCA9IGJveC0+bmV4dFJvb3RCb3goKSkgewogICAg
ICAgICAgICAgICAgIGlmIChib3gtPmZpcnN0Q2hpbGQoKSkKLSAgICAgICAgICAgICAgICAgICAg
bGVmdCA9IG1pbihsZWZ0LCB4ICsgYm94LT5maXJzdENoaWxkKCktPngoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGxlZnQgPSBtaW4obGVmdCwgeCArIHN0YXRpY19jYXN0PGludD4oYm94LT5maXJz
dENoaWxkKCktPngoKSkpOwogICAgICAgICAgICAgICAgIGlmIChib3gtPmxhc3RDaGlsZCgpKQot
ICAgICAgICAgICAgICAgICAgICByaWdodCA9IG1heChyaWdodCwgeCArIGJveC0+bGFzdENoaWxk
KCktPngoKSArIGJveC0+bGFzdENoaWxkKCktPmxvZ2ljYWxXaWR0aCgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgcmlnaHQgPSBtYXgocmlnaHQsIHggKyBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKGJv
eC0+bGFzdENoaWxkKCktPmxvZ2ljYWxSaWdodCgpKSkpOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CiAgICAgICAgIGVsc2UgewpAQCAtNTc1OCw4ICs1NzY0LDggQEAgdm9pZCBSZW5kZXJCbG9j
azo6YWRkRm9jdXNSaW5nUmVjdHMoVmVjdAogCiAgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSAm
JiAhaGFzQ29udHJvbENsaXAoKSkgewogICAgICAgICBmb3IgKFJvb3RJbmxpbmVCb3gqIGN1cnIg
PSBmaXJzdFJvb3RCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRSb290Qm94KCkpIHsKLSAg
ICAgICAgICAgIGludCB0b3AgPSBtYXgoY3Vyci0+bGluZVRvcCgpLCBjdXJyLT55KCkpOwotICAg
ICAgICAgICAgaW50IGJvdHRvbSA9IG1pbihjdXJyLT5saW5lQm90dG9tKCksIGN1cnItPnkoKSAr
IGN1cnItPmxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgICAgICBpbnQgdG9wID0gbWF4KGN1cnIt
PmxpbmVUb3AoKSwgY3Vyci0+bG9naWNhbFRvcCgpKTsKKyAgICAgICAgICAgIGludCBib3R0b20g
PSBtaW4oY3Vyci0+bGluZUJvdHRvbSgpLCBjdXJyLT5sb2dpY2FsVG9wKCkgKyBjdXJyLT5sb2dp
Y2FsSGVpZ2h0KCkpOwogICAgICAgICAgICAgSW50UmVjdCByZWN0KHR4ICsgY3Vyci0+eCgpLCB0
eSArIHRvcCwgY3Vyci0+bG9naWNhbFdpZHRoKCksIGJvdHRvbSAtIHRvcCk7CiAgICAgICAgICAg
ICBpZiAoIXJlY3QuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIHJlY3RzLmFwcGVuZChyZWN0
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCShyZXZpc2lvbiA3
ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCSh3b3JraW5n
IGNvcHkpCkBAIC00ODUsNyArNDg1LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2tpcFRyYWls
aW5nV2hpdGVzcGFjZShJbmxpbmVJdGVyYXRvciYsIGJvb2wgaXNMaW5lRW1wdHksIGJvb2wgcHJl
dmlvdXNMaW5lQnJva2VDbGVhbmx5KTsKICAgICBpbnQgc2tpcExlYWRpbmdXaGl0ZXNwYWNlKElu
bGluZUJpZGlSZXNvbHZlciYsIGJvb2wgZmlyc3RMaW5lLCBib29sIGlzTGluZUVtcHR5LCBib29s
IHByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSwgRmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdEZyb21Q
cmV2aW91c0xpbmUpOwotICAgIHZvaWQgZml0QmVsb3dGbG9hdHMoaW50IHdpZHRoVG9GaXQsIGJv
b2wgZmlyc3RMaW5lLCBpbnQmIGF2YWlsYWJsZVdpZHRoKTsKKyAgICB2b2lkIGZpdEJlbG93Rmxv
YXRzKGZsb2F0IHdpZHRoVG9GaXQsIGJvb2wgZmlyc3RMaW5lLCBmbG9hdCYgYXZhaWxhYmxlV2lk
dGgpOwogICAgIElubGluZUl0ZXJhdG9yIGZpbmROZXh0TGluZUJyZWFrKElubGluZUJpZGlSZXNv
bHZlciYsIGJvb2wgZmlyc3RMaW5lLCBib29sJiBpc0xpbmVFbXB0eSwgYm9vbCYgcHJldmlvdXNM
aW5lQnJva2VDbGVhbmx5LCBib29sJiBoeXBoZW5hdGVkLCBFQ2xlYXIqLCBGbG9hdGluZ09iamVj
dCogbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSk7CiAgICAgUm9vdElubGluZUJveCogY29uc3Ry
dWN0TGluZSh1bnNpZ25lZCBydW5Db3VudCwgQmlkaVJ1biogZmlyc3RSdW4sIEJpZGlSdW4qIGxh
c3RSdW4sIGJvb2wgZmlyc3RMaW5lLCBib29sIGxhc3RMaW5lLCBSZW5kZXJPYmplY3QqIGVuZE9i
amVjdCk7CiAgICAgSW5saW5lRmxvd0JveCogY3JlYXRlTGluZUJveGVzKFJlbmRlck9iamVjdCos
IGJvb2wgZmlyc3RMaW5lKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0xpbmVMYXlvdXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMTgsOCArMzE4LDggQEAgUm9vdElubGluZUJveCogUmVuZGVyQmxvY2s6OmNvbnN0cnVj
dExpbgogdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvblBvc2l0aW9uc0Zv
ckxpbmUoUm9vdElubGluZUJveCogbGluZUJveCwgYm9vbCBmaXJzdExpbmUsIEJpZGlSdW4qIGZp
cnN0UnVuLCBCaWRpUnVuKiB0cmFpbGluZ1NwYWNlUnVuLCBib29sIHJlYWNoZWRFbmQsIEdseXBo
T3ZlcmZsb3dBbmRGYWxsYmFja0ZvbnRzTWFwJiB0ZXh0Qm94RGF0YU1hcCkKIHsKICAgICAvLyBG
aXJzdCBkZXRlcm1pbmUgb3VyIHRvdGFsIGxvZ2ljYWwgd2lkdGguCi0gICAgaW50IGF2YWlsYWJs
ZUxvZ2ljYWxXaWR0aCA9IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aEZvckxpbmUobG9naWNhbEhlaWdo
dCgpLCBmaXJzdExpbmUpOwotICAgIGludCB0b3RhbExvZ2ljYWxXaWR0aCA9IGxpbmVCb3gtPmdl
dEZsb3dTcGFjaW5nTG9naWNhbFdpZHRoKCk7CisgICAgZmxvYXQgYXZhaWxhYmxlTG9naWNhbFdp
ZHRoID0gYXZhaWxhYmxlTG9naWNhbFdpZHRoRm9yTGluZShsb2dpY2FsSGVpZ2h0KCksIGZpcnN0
TGluZSk7CisgICAgZmxvYXQgdG90YWxMb2dpY2FsV2lkdGggPSBsaW5lQm94LT5nZXRGbG93U3Bh
Y2luZ0xvZ2ljYWxXaWR0aCgpOwogICAgIGJvb2wgbmVlZHNXb3JkU3BhY2luZyA9IGZhbHNlOwog
ICAgIHVuc2lnbmVkIGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQgPSAwOwogICAgIGJvb2wgaXNB
ZnRlckV4cGFuc2lvbiA9IHRydWU7CkBAIC0zODYsNyArMzg2LDcgQEAgdm9pZCBSZW5kZXJCbG9j
azo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgIC8vIHdlIG5vdyBleGFtaW5lIG91ciB0ZXh0
LWFsaWduIHByb3BlcnR5IGluIG9yZGVyIHRvIGRldGVybWluZSB3aGVyZSB0byBwb3NpdGlvbiB0
aGUKICAgICAvLyBvYmplY3RzIGhvcml6b250YWxseS4gIFRoZSB0b3RhbCB3aWR0aCBvZiB0aGUg
bGluZSBjYW4gYmUgaW5jcmVhc2VkIGlmIHdlIGVuZCB1cAogICAgIC8vIGp1c3RpZnlpbmcgdGV4
dC4KLSAgICBpbnQgbG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUobG9naWNh
bEhlaWdodCgpLCBmaXJzdExpbmUpOworICAgIGZsb2F0IGxvZ2ljYWxMZWZ0ID0gbG9naWNhbExl
ZnRPZmZzZXRGb3JMaW5lKGxvZ2ljYWxIZWlnaHQoKSwgZmlyc3RMaW5lKTsKICAgICBzd2l0Y2gg
KHRleHRBbGlnbikgewogICAgICAgICBjYXNlIExFRlQ6CiAgICAgICAgIGNhc2UgV0VCS0lUX0xF
RlQ6CkBAIC0zOTQsNyArMzk0LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURp
cmVjdGlvbgogICAgICAgICAgICAgLy8gcGFydGljdWxhciB3aXRoIFJUTCBibG9ja3MsIHdpZGUg
bGluZXMgc2hvdWxkIHN0aWxsIHNwaWxsIG91dCB0byB0aGUgbGVmdC4KICAgICAgICAgICAgIGlm
IChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsKICAgICAgICAgICAgICAgICBp
ZiAodG90YWxMb2dpY2FsV2lkdGggPiBhdmFpbGFibGVMb2dpY2FsV2lkdGggJiYgdHJhaWxpbmdT
cGFjZVJ1bikKLSAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNl
dExvZ2ljYWxXaWR0aChtYXgoMCwgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0
aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFpbGFibGVMb2dpY2FsV2lkdGgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aCht
YXg8ZmxvYXQ+KDAsIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRv
dGFsTG9naWNhbFdpZHRoICsgYXZhaWxhYmxlTG9naWNhbFdpZHRoKSk7CiAgICAgICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgICAgIGlmICh0cmFpbGluZ1NwYWNlUnVuKQogICAgICAgICAg
ICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKDApOwpA
QCAtNDE2LDcgKzQxNiw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rp
b24KICAgICAgICAgICAgIC8vIGZvciByaWdodCB0byBsZWZ0IGZhbGwgdGhyb3VnaCB0byByaWdo
dCBhbGlnbmVkCiAgICAgICAgICAgICBpZiAoc3R5bGUoKS0+aXNMZWZ0VG9SaWdodERpcmVjdGlv
bigpKSB7CiAgICAgICAgICAgICAgICAgaWYgKHRvdGFsTG9naWNhbFdpZHRoID4gYXZhaWxhYmxl
TG9naWNhbFdpZHRoICYmIHRyYWlsaW5nU3BhY2VSdW4pCi0gICAgICAgICAgICAgICAgICAgIHRy
YWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAsIHRyYWlsaW5nU3Bh
Y2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNhbFdpZHRoICsgYXZhaWxh
YmxlTG9naWNhbFdpZHRoKSk7CisgICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4t
Pm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4PGZsb2F0PigwLCB0cmFpbGluZ1NwYWNlUnVuLT5t
X2JveC0+bG9naWNhbFdpZHRoKCkgLSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2lj
YWxXaWR0aCkpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAg
ICBjYXNlIFJJR0hUOgpAQCAtNDMzLDcgKzQzMyw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1
dGVJbmxpbmVEaXJlY3Rpb24KICAgICAgICAgICAgICAgICAgICAgbG9naWNhbExlZnQgKz0gYXZh
aWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGg7CiAgICAgICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgICAgIGlmICh0b3RhbExvZ2ljYWxXaWR0aCA+IGF2YWlsYWJsZUxv
Z2ljYWxXaWR0aCAmJiB0cmFpbGluZ1NwYWNlUnVuKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRy
YWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAsIHRyYWlsaW5nU3Bh
Y2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNhbFdpZHRoICsgYXZhaWxh
YmxlTG9naWNhbFdpZHRoKSk7CisgICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4t
Pm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4PGZsb2F0PigwLCB0cmFpbGluZ1NwYWNlUnVuLT5t
X2JveC0+bG9naWNhbFdpZHRoKCkgLSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2lj
YWxXaWR0aCkpOwogICAgICAgICAgICAgICAgICAgICB0b3RhbExvZ2ljYWxXaWR0aCAtPSB0cmFp
bGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCk7CiAgICAgICAgICAgICAgICAgfSBl
bHNlCiAgICAgICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0ICs9IGF2YWlsYWJsZUxvZ2ljYWxX
aWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoOwpAQCAtNDQxLDE0ICs0NDEsMTQgQEAgdm9pZCBSZW5k
ZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgQ0VOVEVSOgogICAgICAgICBjYXNlIFdFQktJVF9DRU5URVI6Ci0gICAgICAgICAg
ICBpbnQgdHJhaWxpbmdTcGFjZVdpZHRoID0gMDsKKyAgICAgICAgICAgIGZsb2F0IHRyYWlsaW5n
U3BhY2VXaWR0aCA9IDA7CiAgICAgICAgICAgICBpZiAodHJhaWxpbmdTcGFjZVJ1bikgewogICAg
ICAgICAgICAgICAgIHRvdGFsTG9naWNhbFdpZHRoIC09IHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94
LT5sb2dpY2FsV2lkdGgoKTsKICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlV2lkdGggPSBt
aW4odHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpLCAoYXZhaWxhYmxlTG9n
aWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGggKyAxKSAvIDIpOwotICAgICAgICAgICAgICAg
IHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2FsV2lkdGgobWF4KDAsIHRyYWlsaW5n
U3BhY2VXaWR0aCkpOworICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5z
ZXRMb2dpY2FsV2lkdGgobWF4PGZsb2F0PigwLCB0cmFpbGluZ1NwYWNlV2lkdGgpKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGlmIChzdHlsZSgpLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9u
KCkpCi0gICAgICAgICAgICAgICAgbG9naWNhbExlZnQgKz0gbWF4KChhdmFpbGFibGVMb2dpY2Fs
V2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkgLyAyLCAwKTsKKyAgICAgICAgICAgICAgICBsb2dp
Y2FsTGVmdCArPSBtYXg8ZmxvYXQ+KChhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2lj
YWxXaWR0aCkgLyAyLCAwKTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBsb2dp
Y2FsTGVmdCArPSB0b3RhbExvZ2ljYWxXaWR0aCA+IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCA/IChh
dmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkgOiAoYXZhaWxhYmxlTG9n
aWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpIC8gMiAtIHRyYWlsaW5nU3BhY2VXaWR0aDsK
ICAgICAgICAgICAgIGJyZWFrOwpAQCAtNDY4LDcgKzQ2OCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6
OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb24KICAgICAgICAgICAgICAgICAvLyBPbmx5IGp1c3RpZnkg
dGV4dCBpZiB3aGl0ZXNwYWNlIGlzIGNvbGxhcHNlZC4KICAgICAgICAgICAgICAgICBpZiAoci0+
bV9vYmplY3QtPnN0eWxlKCktPmNvbGxhcHNlV2hpdGVTcGFjZSgpKSB7CiAgICAgICAgICAgICAg
ICAgICAgIElubGluZVRleHRCb3gqIHRleHRCb3ggPSBzdGF0aWNfY2FzdDxJbmxpbmVUZXh0Qm94
Kj4oci0+bV9ib3gpOwotICAgICAgICAgICAgICAgICAgICBpbnQgZXhwYW5zaW9uID0gKGF2YWls
YWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoKSAqIG9wcG9ydHVuaXRpZXNJblJ1
biAvIGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQ7CisgICAgICAgICAgICAgICAgICAgIGZsb2F0
IGV4cGFuc2lvbiA9IChhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkg
KiBvcHBvcnR1bml0aWVzSW5SdW4gLyBleHBhbnNpb25PcHBvcnR1bml0eUNvdW50OwogICAgICAg
ICAgICAgICAgICAgICB0ZXh0Qm94LT5zZXRFeHBhbnNpb24oZXhwYW5zaW9uKTsKICAgICAgICAg
ICAgICAgICAgICAgdG90YWxMb2dpY2FsV2lkdGggKz0gZXhwYW5zaW9uOwogICAgICAgICAgICAg
ICAgIH0KQEAgLTEzNjksMTMgKzEzNjksMTMgQEAgc3RhdGljIGJvb2wgc2hvdWxkU2tpcFdoaXRl
c3BhY2VBZnRlclN0YQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBSZW5kZXJCbG9jazo6
Zml0QmVsb3dGbG9hdHMoaW50IHdpZHRoVG9GaXQsIGJvb2wgZmlyc3RMaW5lLCBpbnQmIGF2YWls
YWJsZVdpZHRoKQordm9pZCBSZW5kZXJCbG9jazo6Zml0QmVsb3dGbG9hdHMoZmxvYXQgd2lkdGhU
b0ZpdCwgYm9vbCBmaXJzdExpbmUsIGZsb2F0JiBhdmFpbGFibGVXaWR0aCkKIHsKICAgICBBU1NF
UlQod2lkdGhUb0ZpdCA+IGF2YWlsYWJsZVdpZHRoKTsKIAogICAgIGludCBmbG9hdExvZ2ljYWxC
b3R0b207CiAgICAgaW50IGxhc3RGbG9hdExvZ2ljYWxCb3R0b20gPSBsb2dpY2FsSGVpZ2h0KCk7
Ci0gICAgaW50IG5ld0xpbmVXaWR0aCA9IGF2YWlsYWJsZVdpZHRoOworICAgIGZsb2F0IG5ld0xp
bmVXaWR0aCA9IGF2YWlsYWJsZVdpZHRoOwogICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgIGZs
b2F0TG9naWNhbEJvdHRvbSA9IG5leHRGbG9hdExvZ2ljYWxCb3R0b21CZWxvdyhsYXN0RmxvYXRM
b2dpY2FsQm90dG9tKTsKICAgICAgICAgaWYgKCFmbG9hdExvZ2ljYWxCb3R0b20pCkBAIC0xMzkz
LDE5ICsxMzkzLDE5IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmZpdEJlbG93RmxvYXRzKGludCB3aWQK
ICAgICB9CiB9CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgdGV4dFdpZHRoKFJlbmRlclRleHQq
IHRleHQsIHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgY29uc3QgRm9udCYgZm9udCwgaW50
IHhQb3MsIGJvb2wgaXNGaXhlZFBpdGNoLCBib29sIGNvbGxhcHNlV2hpdGVTcGFjZSkKK3N0YXRp
YyBpbmxpbmUgZmxvYXQgdGV4dFdpZHRoKFJlbmRlclRleHQqIHRleHQsIHVuc2lnbmVkIGZyb20s
IHVuc2lnbmVkIGxlbiwgY29uc3QgRm9udCYgZm9udCwgZmxvYXQgeFBvcywgYm9vbCBpc0ZpeGVk
UGl0Y2gsIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlKQogewogICAgIGlmIChpc0ZpeGVkUGl0Y2gg
fHwgKCFmcm9tICYmIGxlbiA9PSB0ZXh0LT50ZXh0TGVuZ3RoKCkpIHx8IHRleHQtPnN0eWxlKCkt
Pmhhc1RleHRDb21iaW5lKCkpCiAgICAgICAgIHJldHVybiB0ZXh0LT53aWR0aChmcm9tLCBsZW4s
IGZvbnQsIHhQb3MpOwogICAgIHJldHVybiBmb250LndpZHRoKFRleHRSdW4odGV4dC0+Y2hhcmFj
dGVycygpICsgZnJvbSwgbGVuLCAhY29sbGFwc2VXaGl0ZVNwYWNlLCB4UG9zKSk7CiB9CiAKLXN0
YXRpYyB2b2lkIHRyeUh5cGhlbmF0aW5nKFJlbmRlclRleHQqIHRleHQsIGNvbnN0IEZvbnQmIGZv
bnQsIGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxlSWRlbnRpZmllciwgaW50IGxhc3RTcGFjZSwg
aW50IHBvcywgaW50IHhQb3MsIGludCBhdmFpbGFibGVXaWR0aCwgYm9vbCBpc0ZpeGVkUGl0Y2gs
IGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlLCBpbnQgbGFzdFNwYWNlV29yZFNwYWNpbmcsIElubGlu
ZUl0ZXJhdG9yJiBsaW5lQnJlYWssIGludCBuZXh0QnJlYWthYmxlLCBib29sJiBoeXBoZW5hdGVk
KQorc3RhdGljIHZvaWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCogdGV4dCwgY29uc3QgRm9u
dCYgZm9udCwgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbGVJZGVudGlmaWVyLCBpbnQgbGFzdFNw
YWNlLCBpbnQgcG9zLCBmbG9hdCB4UG9zLCBpbnQgYXZhaWxhYmxlV2lkdGgsIGJvb2wgaXNGaXhl
ZFBpdGNoLCBib29sIGNvbGxhcHNlV2hpdGVTcGFjZSwgaW50IGxhc3RTcGFjZVdvcmRTcGFjaW5n
LCBJbmxpbmVJdGVyYXRvciYgbGluZUJyZWFrLCBpbnQgbmV4dEJyZWFrYWJsZSwgYm9vbCYgaHlw
aGVuYXRlZCkKIHsKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGh5cGhlblN0cmluZyA9IHRleHQt
PnN0eWxlKCktPmh5cGhlblN0cmluZygpOwogICAgIGludCBoeXBoZW5XaWR0aCA9IGZvbnQud2lk
dGgoVGV4dFJ1bihoeXBoZW5TdHJpbmcuY2hhcmFjdGVycygpLCBoeXBoZW5TdHJpbmcubGVuZ3Ro
KCkpKTsKIAotICAgIGludCBtYXhQcmVmaXhXaWR0aCA9IGF2YWlsYWJsZVdpZHRoIC0geFBvcyAt
IGh5cGhlbldpZHRoIC0gbGFzdFNwYWNlV29yZFNwYWNpbmc7CisgICAgZmxvYXQgbWF4UHJlZml4
V2lkdGggPSBhdmFpbGFibGVXaWR0aCAtIHhQb3MgLSBoeXBoZW5XaWR0aCAtIGxhc3RTcGFjZVdv
cmRTcGFjaW5nOwogICAgIC8vIElmIHRoZSBtYXhpbXVtIHdpZHRoIGF2YWlsYWJsZSBmb3IgdGhl
IHByZWZpeCBiZWZvcmUgdGhlIGh5cGhlbiBpcyBzbWFsbCwgdGhlbiBpdCBpcyB2ZXJ5IHVubGlr
ZWx5CiAgICAgLy8gdGhhdCBhbiBoeXBoZW5hdGlvbiBvcHBvcnR1bml0eSBleGlzdHMsIHNvIGRv
IG5vdCBib3RoZXIgdG8gbG9vayBmb3IgaXQuCiAgICAgaWYgKG1heFByZWZpeFdpZHRoIDw9IGZv
bnQucGl4ZWxTaXplKCkgKiA1IC8gNCkKQEAgLTE0MjAsNyArMTQyMCw3IEBAIHN0YXRpYyB2b2lk
IHRyeUh5cGhlbmF0aW5nKFJlbmRlclRleHQqIHQKICAgICAgICAgcmV0dXJuOwogCiAjaWYgIUFT
U0VSVF9ESVNBQkxFRAotICAgIGludCBwcmVmaXhXaWR0aCA9IGh5cGhlbldpZHRoICsgdGV4dFdp
ZHRoKHRleHQsIGxhc3RTcGFjZSwgcHJlZml4TGVuZ3RoLCBmb250LCB4UG9zLCBpc0ZpeGVkUGl0
Y2gsIGNvbGxhcHNlV2hpdGVTcGFjZSkgKyBsYXN0U3BhY2VXb3JkU3BhY2luZzsKKyAgICBmbG9h
dCBwcmVmaXhXaWR0aCA9IGh5cGhlbldpZHRoICsgdGV4dFdpZHRoKHRleHQsIGxhc3RTcGFjZSwg
cHJlZml4TGVuZ3RoLCBmb250LCB4UG9zLCBpc0ZpeGVkUGl0Y2gsIGNvbGxhcHNlV2hpdGVTcGFj
ZSkgKyBsYXN0U3BhY2VXb3JkU3BhY2luZzsKICAgICBBU1NFUlQoeFBvcyArIHByZWZpeFdpZHRo
IDw9IGF2YWlsYWJsZVdpZHRoKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGlzRml4ZWRQaXRj
aCk7CkBAIC0xNDQwLDEwICsxNDQwLDEwIEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpm
aW5kTmV4dExpbmUKICAgICBib29sIGFwcGxpZWRTdGFydFdpZHRoID0gcmVzb2x2ZXIucG9zaXRp
b24oKS5wb3MgPiAwOwogICAgIExpbmVNaWRwb2ludFN0YXRlJiBsaW5lTWlkcG9pbnRTdGF0ZSA9
IHJlc29sdmVyLm1pZHBvaW50U3RhdGUoKTsKICAgICAKLSAgICBpbnQgd2lkdGggPSBza2lwTGVh
ZGluZ1doaXRlc3BhY2UocmVzb2x2ZXIsIGZpcnN0TGluZSwgaXNMaW5lRW1wdHksIHByZXZpb3Vz
TGluZUJyb2tlQ2xlYW5seSwgbGFzdEZsb2F0RnJvbVByZXZpb3VzTGluZSk7CisgICAgZmxvYXQg
d2lkdGggPSBza2lwTGVhZGluZ1doaXRlc3BhY2UocmVzb2x2ZXIsIGZpcnN0TGluZSwgaXNMaW5l
RW1wdHksIHByZXZpb3VzTGluZUJyb2tlQ2xlYW5seSwgbGFzdEZsb2F0RnJvbVByZXZpb3VzTGlu
ZSk7CiAKLSAgICBpbnQgdyA9IDA7Ci0gICAgaW50IHRtcFcgPSAwOworICAgIGZsb2F0IHcgPSAw
OworICAgIGZsb2F0IHRtcFcgPSAwOwogCiAgICAgaWYgKHJlc29sdmVyLnBvc2l0aW9uKCkuYXRF
bmQoKSkKICAgICAgICAgcmV0dXJuIHJlc29sdmVyLnBvc2l0aW9uKCk7CkBAIC0xNDYyLDggKzE0
NjIsOCBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9jazo6ZmluZE5leHRMaW5lCiAKICAgICBJ
bmxpbmVJdGVyYXRvciBsQnJlYWsgPSByZXNvbHZlci5wb3NpdGlvbigpOwogCi0gICAgUmVuZGVy
T2JqZWN0ICpvID0gcmVzb2x2ZXIucG9zaXRpb24oKS5vYmo7Ci0gICAgUmVuZGVyT2JqZWN0ICps
YXN0ID0gbzsKKyAgICBSZW5kZXJPYmplY3QqIG8gPSByZXNvbHZlci5wb3NpdGlvbigpLm9iajsK
KyAgICBSZW5kZXJPYmplY3QqIGxhc3QgPSBvOwogICAgIHVuc2lnbmVkIHBvcyA9IHJlc29sdmVy
LnBvc2l0aW9uKCkucG9zOwogICAgIGludCBuZXh0QnJlYWthYmxlID0gcmVzb2x2ZXIucG9zaXRp
b24oKS5uZXh0QnJlYWthYmxlUG9zaXRpb247CiAgICAgYm9vbCBhdFN0YXJ0ID0gdHJ1ZTsKQEAg
LTE2NjAsMjIgKzE2NjAsMjIgQEAgSW5saW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0
TGluZQogICAgICAgICAgICAgYm9vbCBjYW5IeXBoZW5hdGUgPSBzdHlsZS0+aHlwaGVucygpID09
IEh5cGhlbnNBdXRvICYmIFdlYkNvcmU6OmNhbkh5cGhlbmF0ZShzdHlsZS0+aHlwaGVuYXRpb25M
b2NhbGUoKSk7CiAKICAgICAgICAgICAgIGludCBsYXN0U3BhY2UgPSBwb3M7Ci0gICAgICAgICAg
ICBpbnQgd29yZFNwYWNpbmcgPSBvLT5zdHlsZSgpLT53b3JkU3BhY2luZygpOwotICAgICAgICAg
ICAgaW50IGxhc3RTcGFjZVdvcmRTcGFjaW5nID0gMDsKKyAgICAgICAgICAgIGZsb2F0IHdvcmRT
cGFjaW5nID0gby0+c3R5bGUoKS0+d29yZFNwYWNpbmcoKTsKKyAgICAgICAgICAgIGZsb2F0IGxh
c3RTcGFjZVdvcmRTcGFjaW5nID0gMDsKIAogICAgICAgICAgICAgLy8gTm9uLXplcm8gb25seSB3
aGVuIGtlcm5pbmcgaXMgZW5hYmxlZCwgaW4gd2hpY2ggY2FzZSB3ZSBtZWFzdXJlIHdvcmRzIHdp
dGggdGhlaXIgdHJhaWxpbmcKICAgICAgICAgICAgIC8vIHNwYWNlLCB0aGVuIHN1YnRyYWN0IGl0
cyB3aWR0aC4KLSAgICAgICAgICAgIGludCB3b3JkVHJhaWxpbmdTcGFjZVdpZHRoID0gZi50eXBl
c2V0dGluZ0ZlYXR1cmVzKCkgJiBLZXJuaW5nID8gZi53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkp
ICsgd29yZFNwYWNpbmcgOiAwOworICAgICAgICAgICAgZmxvYXQgd29yZFRyYWlsaW5nU3BhY2VX
aWR0aCA9IGYudHlwZXNldHRpbmdGZWF0dXJlcygpICYgS2VybmluZyA/IGYud2lkdGgoVGV4dFJ1
bigmc3BhY2UsIDEpKSArIHdvcmRTcGFjaW5nIDogMDsKIAotICAgICAgICAgICAgaW50IHdyYXBX
ID0gdG1wVyArIGlubGluZUxvZ2ljYWxXaWR0aChvLCAhYXBwbGllZFN0YXJ0V2lkdGgsIHRydWUp
OwotICAgICAgICAgICAgaW50IGNoYXJXaWR0aCA9IDA7CisgICAgICAgICAgICBmbG9hdCB3cmFw
VyA9IHRtcFcgKyBpbmxpbmVMb2dpY2FsV2lkdGgobywgIWFwcGxpZWRTdGFydFdpZHRoLCB0cnVl
KTsKKyAgICAgICAgICAgIGZsb2F0IGNoYXJXaWR0aCA9IDA7CiAgICAgICAgICAgICBib29sIGJy
ZWFrTkJTUCA9IGF1dG9XcmFwICYmIG8tPnN0eWxlKCktPm5ic3BNb2RlKCkgPT0gU1BBQ0U7CiAg
ICAgICAgICAgICAvLyBBdXRvLXdyYXBwaW5nIHRleHQgc2hvdWxkIHdyYXAgaW4gdGhlIG1pZGRs
ZSBvZiBhIHdvcmQgb25seSBpZiBpdCBjb3VsZCBub3Qgd3JhcCBiZWZvcmUgdGhlIHdvcmQsCiAg
ICAgICAgICAgICAvLyB3aGljaCBpcyBvbmx5IHBvc3NpYmxlIGlmIHRoZSB3b3JkIGlzIHRoZSBm
aXJzdCB0aGluZyBvbiB0aGUgbGluZSwgdGhhdCBpcywgaWYgfHd8IGlzIHplcm8uCiAgICAgICAg
ICAgICBib29sIGJyZWFrV29yZHMgPSBvLT5zdHlsZSgpLT5icmVha1dvcmRzKCkgJiYgKChhdXRv
V3JhcCAmJiAhdykgfHwgY3VycldTID09IFBSRSk7CiAgICAgICAgICAgICBib29sIG1pZFdvcmRC
cmVhayA9IGZhbHNlOwogICAgICAgICAgICAgYm9vbCBicmVha0FsbCA9IG8tPnN0eWxlKCktPndv
cmRCcmVhaygpID09IEJyZWFrQWxsV29yZEJyZWFrICYmIGF1dG9XcmFwOwotICAgICAgICAgICAg
aW50IGh5cGhlbldpZHRoID0gMDsKKyAgICAgICAgICAgIGZsb2F0IGh5cGhlbldpZHRoID0gMDsK
IAogICAgICAgICAgICAgaWYgKHQtPmlzV29yZEJyZWFrKCkpIHsKICAgICAgICAgICAgICAgICB3
ICs9IHRtcFc7CkBAIC0xNzQ0LDcgKzE3NDQsNyBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9j
azo6ZmluZE5leHRMaW5lCiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgICAgIH0KIAotICAgICAgICAgICAgICAgICAgICBpbnQgYWRkaXRpb25hbFRtcFc7CisgICAg
ICAgICAgICAgICAgICAgIGZsb2F0IGFkZGl0aW9uYWxUbXBXOwogICAgICAgICAgICAgICAgICAg
ICBpZiAod29yZFRyYWlsaW5nU3BhY2VXaWR0aCAmJiBjdXJyZW50Q2hhcmFjdGVySXNTcGFjZSkK
ICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxUbXBXID0gdGV4dFdpZHRoKHQsIGxh
c3RTcGFjZSwgcG9zICsgMSAtIGxhc3RTcGFjZSwgZiwgdyArIHRtcFcsIGlzRml4ZWRQaXRjaCwg
Y29sbGFwc2VXaGl0ZVNwYWNlKSAtIHdvcmRUcmFpbGluZ1NwYWNlV2lkdGggKyBsYXN0U3BhY2VX
b3JkU3BhY2luZzsKICAgICAgICAgICAgICAgICAgICAgZWxzZQpAQCAtMTg5NCw3ICsxODk0LDcg
QEAgSW5saW5lSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZQogICAgICAgICAgICAg
fQogCiAgICAgICAgICAgICAvLyBJTVBPUlRBTlQ6IHBvcyBpcyA+IGxlbmd0aCBoZXJlIQotICAg
ICAgICAgICAgaW50IGFkZGl0aW9uYWxUbXBXID0gaWdub3JpbmdTcGFjZXMgPyAwIDogdGV4dFdp
ZHRoKHQsIGxhc3RTcGFjZSwgcG9zIC0gbGFzdFNwYWNlLCBmLCB3ICsgdG1wVywgaXNGaXhlZFBp
dGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UpICsgbGFzdFNwYWNlV29yZFNwYWNpbmc7CisgICAgICAg
ICAgICBmbG9hdCBhZGRpdGlvbmFsVG1wVyA9IGlnbm9yaW5nU3BhY2VzID8gMCA6IHRleHRXaWR0
aCh0LCBsYXN0U3BhY2UsIHBvcyAtIGxhc3RTcGFjZSwgZiwgdyArIHRtcFcsIGlzRml4ZWRQaXRj
aCwgY29sbGFwc2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOwogICAgICAgICAg
ICAgdG1wVyArPSBhZGRpdGlvbmFsVG1wVzsKICAgICAgICAgICAgIHRtcFcgKz0gaW5saW5lTG9n
aWNhbFdpZHRoKG8sICFhcHBsaWVkU3RhcnRXaWR0aCwgdHJ1ZSk7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzI5LDcg
KzEzMjksNyBAQCB2b2lkIFJlbmRlckJveDo6cG9zaXRpb25MaW5lQm94KElubGluZUJvCiAgICAg
ICAgIGJveC0+cmVtb3ZlKCk7CiAgICAgICAgIGJveC0+ZGVzdHJveShyZW5kZXJBcmVuYSgpKTsK
ICAgICB9IGVsc2UgaWYgKGlzUmVwbGFjZWQoKSkgewotICAgICAgICBzZXRMb2NhdGlvbihib3gt
PngoKSwgYm94LT55KCkpOworICAgICAgICBzZXRMb2NhdGlvbihscm91bmRmKGJveC0+eCgpKSwg
bHJvdW5kZihib3gtPnkoKSkpOwogICAgICAgICBtX2lubGluZUJveFdyYXBwZXIgPSBib3g7CiAg
ICAgfQogfQpAQCAtMzM0OCw2ICszMzQ4LDI0IEBAIEludFNpemUgUmVuZGVyQm94OjpmbGlwRm9y
V3JpdGluZ01vZGUoY28KICAgICByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKSA/IEludFNpemUob2Zmc2V0LndpZHRoKCksIGhlaWdodCgpIC0gb2Zmc2V0LmhlaWdodCgp
KSA6IEludFNpemUod2lkdGgoKSAtIG9mZnNldC53aWR0aCgpLCBvZmZzZXQuaGVpZ2h0KCkpOwog
fQogCitGbG9hdFBvaW50IFJlbmRlckJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEZsb2F0
UG9pbnQmIHBvc2l0aW9uKSBjb25zdAoreworICAgIGlmICghc3R5bGUoKS0+aXNGbGlwcGVkQmxv
Y2tzV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmV0dXJuIHBvc2l0aW9uOworICAgIHJldHVybiBz
dHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gRmxvYXRQb2ludChwb3NpdGlvbi54
KCksIGhlaWdodCgpIC0gcG9zaXRpb24ueSgpKSA6IEZsb2F0UG9pbnQod2lkdGgoKSAtIHBvc2l0
aW9uLngoKSwgcG9zaXRpb24ueSgpKTsKK30KKwordm9pZCBSZW5kZXJCb3g6OmZsaXBGb3JXcml0
aW5nTW9kZShGbG9hdFJlY3QmIHJlY3QpIGNvbnN0Cit7CisgICAgaWYgKCFzdHlsZSgpLT5pc0Zs
aXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoc3R5
bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAgICAgICAgcmVjdC5zZXRZKGhlaWdo
dCgpIC0gcmVjdC5tYXhZKCkpOworICAgIGVsc2UKKyAgICAgICAgcmVjdC5zZXRYKHdpZHRoKCkg
LSByZWN0Lm1heFgoKSk7Cit9CisKIEludFNpemUgUmVuZGVyQm94Ojpsb2NhdGlvbk9mZnNldElu
Y2x1ZGluZ0ZsaXBwaW5nKCkgY29uc3QKIHsKICAgICBpZiAoIXBhcmVudCgpIHx8ICFwYXJlbnQo
KS0+aXNCb3goKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHJldmlz
aW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zODUsNiArMzg1LDggQEAgcHVibGljOgogICAgIEludFBvaW50IGZsaXBG
b3JXcml0aW5nTW9kZUluY2x1ZGluZ0NvbHVtbnMoY29uc3QgSW50UG9pbnQmKSBjb25zdDsKICAg
ICBJbnRTaXplIGZsaXBGb3JXcml0aW5nTW9kZShjb25zdCBJbnRTaXplJikgY29uc3Q7CiAgICAg
dm9pZCBmbGlwRm9yV3JpdGluZ01vZGUoSW50UmVjdCYpIGNvbnN0OworICAgIEZsb2F0UG9pbnQg
ZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEZsb2F0UG9pbnQmKSBjb25zdDsKKyAgICB2b2lkIGZs
aXBGb3JXcml0aW5nTW9kZShGbG9hdFJlY3QmKSBjb25zdDsKICAgICBJbnRTaXplIGxvY2F0aW9u
T2Zmc2V0SW5jbHVkaW5nRmxpcHBpbmcoKSBjb25zdDsKIAogICAgIEludFJlY3QgbG9naWNhbFZp
c3VhbE92ZXJmbG93UmVjdEZvclByb3BhZ2F0aW9uKFJlbmRlclN0eWxlKikgY29uc3Q7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5jcHAJKHJl
dmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVU
ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNyBAQCB2b2lkIFJlbmRlckNvbWJp
bmVUZXh0OjpzZXRUZXh0SW50ZXJuYWwoCiAgICAgbV9uZWVkc0ZvbnRVcGRhdGUgPSB0cnVlOwog
fQogCi11bnNpZ25lZCBSZW5kZXJDb21iaW5lVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwgdW5z
aWduZWQgbGVuZ3RoLCBjb25zdCBGb250JiBmb250LCBpbnQgeFBvc2l0aW9uLCBIYXNoU2V0PGNv
bnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBo
T3ZlcmZsb3cpIGNvbnN0CitmbG9hdCBSZW5kZXJDb21iaW5lVGV4dDo6d2lkdGgodW5zaWduZWQg
ZnJvbSwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBGb250JiBmb250LCBmbG9hdCB4UG9zaXRpb24s
IEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVy
ZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKICAgICBpZiAoIWNoYXJhY3RlcnMoKSkKICAg
ICAgICAgcmV0dXJuIDA7CkBAIC02Myw3ICs2Myw3IEBAIHVuc2lnbmVkIFJlbmRlckNvbWJpbmVU
ZXh0Ojp3aWR0aCh1bnNpZ24KICAgICByZXR1cm4gUmVuZGVyVGV4dDo6d2lkdGgoZnJvbSwgbGVu
Z3RoLCBmb250LCB4UG9zaXRpb24sIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQog
Ci12b2lkIFJlbmRlckNvbWJpbmVUZXh0OjphZGp1c3RUZXh0T3JpZ2luKEludFBvaW50JiB0ZXh0
T3JpZ2luLCBjb25zdCBJbnRSZWN0JiBib3hSZWN0KSBjb25zdAordm9pZCBSZW5kZXJDb21iaW5l
VGV4dDo6YWRqdXN0VGV4dE9yaWdpbihGbG9hdFBvaW50JiB0ZXh0T3JpZ2luLCBjb25zdCBGbG9h
dFJlY3QmIGJveFJlY3QpIGNvbnN0CiB7CiAgICAgaWYgKG1faXNDb21iaW5lZCkKICAgICAgICAg
dGV4dE9yaWdpbi5tb3ZlKGJveFJlY3QuaGVpZ2h0KCkgLyAyIC0gY2VpbGYobV9jb21iaW5lZFRl
eHRXaWR0aCkgLyAyLCBzdHlsZSgpLT5mb250KCkucGl4ZWxTaXplKCkpOwpAQCAtOTgsNyArOTgs
NyBAQCB2b2lkIFJlbmRlckNvbWJpbmVUZXh0Ojpjb21iaW5lVGV4dCgpCiAgICAgYm9vbCBzaG91
bGRVcGRhdGVGb250ID0gZmFsc2U7CiAKICAgICBkZXNjcmlwdGlvbi5zZXRPcmllbnRhdGlvbihI
b3Jpem9udGFsKTsgLy8gV2UgYXJlIGdvaW5nIHRvIGRyYXcgY29tYmluZWQgdGV4dCBob3Jpem9u
dGFsbHkuCi0gICAgbV9jb21iaW5lZFRleHRXaWR0aCA9IHN0eWxlKCktPmZvbnQoKS5mbG9hdFdp
ZHRoKHJ1bik7CisgICAgbV9jb21iaW5lZFRleHRXaWR0aCA9IHN0eWxlKCktPmZvbnQoKS53aWR0
aChydW4pOwogICAgIG1faXNDb21iaW5lZCA9IG1fY29tYmluZWRUZXh0V2lkdGggPD0gZW1XaWR0
aDsKIAogICAgIGlmIChtX2lzQ29tYmluZWQpCkBAIC0xMTAsNyArMTEwLDcgQEAgdm9pZCBSZW5k
ZXJDb21iaW5lVGV4dDo6Y29tYmluZVRleHQoKQogICAgICAgICAgICAgZGVzY3JpcHRpb24uc2V0
V2lkdGhWYXJpYW50KHdpZHRoVmFyaWFudHNbaV0pOwogICAgICAgICAgICAgRm9udCBjb21wcmVz
c2VkRm9udCA9IEZvbnQoZGVzY3JpcHRpb24sIHN0eWxlKCktPmZvbnQoKS5sZXR0ZXJTcGFjaW5n
KCksIHN0eWxlKCktPmZvbnQoKS53b3JkU3BhY2luZygpKTsKICAgICAgICAgICAgIGNvbXByZXNz
ZWRGb250LnVwZGF0ZShzdHlsZSgpLT5mb250KCkuZm9udFNlbGVjdG9yKCkpOwotICAgICAgICAg
ICAgZmxvYXQgcnVuV2lkdGggPSBjb21wcmVzc2VkRm9udC5mbG9hdFdpZHRoKHJ1bik7CisgICAg
ICAgICAgICBmbG9hdCBydW5XaWR0aCA9IGNvbXByZXNzZWRGb250LndpZHRoKHJ1bik7CiAgICAg
ICAgICAgICBpZiAocnVuV2lkdGggPD0gZW1XaWR0aCkgewogICAgICAgICAgICAgICAgIG1fY29t
YmluZWRUZXh0V2lkdGggPSBydW5XaWR0aDsKICAgICAgICAgICAgICAgICBtX2lzQ29tYmluZWQg
PSB0cnVlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVU
ZXh0LmgJKHJldmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckNvbWJpbmVUZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDEzICszMCwxMyBAQCBwdWJsaWM6
CiAgICAgUmVuZGVyQ29tYmluZVRleHQoTm9kZSosIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4pOwog
CiAgICAgdm9pZCBjb21iaW5lVGV4dCgpOwotICAgIHZvaWQgYWRqdXN0VGV4dE9yaWdpbihJbnRQ
b2ludCYgdGV4dE9yaWdpbiwgY29uc3QgSW50UmVjdCYgYm94UmVjdCkgY29uc3Q7CisgICAgdm9p
ZCBhZGp1c3RUZXh0T3JpZ2luKEZsb2F0UG9pbnQmIHRleHRPcmlnaW4sIGNvbnN0IEZsb2F0UmVj
dCYgYm94UmVjdCkgY29uc3Q7CiAgICAgdm9pZCBjaGFyYWN0ZXJzVG9SZW5kZXIoaW50IHN0YXJ0
LCBjb25zdCBVQ2hhciomIGNoYXJhY3RlcnMsIGludCYgbGVuZ3RoKSBjb25zdDsKICAgICBib29s
IGlzQ29tYmluZWQoKSBjb25zdCB7IHJldHVybiBtX2lzQ29tYmluZWQ7IH0KLSAgICBpbnQgY29t
YmluZWRUZXh0V2lkdGgoY29uc3QgRm9udCYgZm9udCkgY29uc3QgeyByZXR1cm4gZm9udC5zaXpl
KCk7IH0KKyAgICBmbG9hdCBjb21iaW5lZFRleHRXaWR0aChjb25zdCBGb250JiBmb250KSBjb25z
dCB7IHJldHVybiBmb250LnNpemUoKTsgfQogCiBwcml2YXRlOgotICAgIHZpcnR1YWwgdW5zaWdu
ZWQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBGb250JiwgaW50
IHhQb3NpdGlvbiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRz
ID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKKyAgICB2aXJ0dWFsIGZsb2F0IHdpZHRo
KHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgRm9udCYsIGZsb2F0IHhQb3Np
dGlvbiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwg
R2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRl
ck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyQ29tYmluZVRleHQiOyB9CiAgICAgdmlydHVh
bCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUq
IG9sZFN0eWxlKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0VGV4dEludGVybmFsKFBhc3NSZWZQdHI8
U3RyaW5nSW1wbD4pOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3Vu
dGVyLmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQ291bnRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5Myw3ICs0OTMsNyBAQCBQYXNzUmVm
UHRyPFN0cmluZ0ltcGw+IFJlbmRlckNvdW50ZXI6Om9yCiAgICAgcmV0dXJuIHRleHQuaW1wbCgp
OwogfQogCi12b2lkIFJlbmRlckNvdW50ZXI6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhz
KGludCBsZWFkKQordm9pZCBSZW5kZXJDb3VudGVyOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdp
ZHRocyhmbG9hdCBsZWFkKQogewogICAgIHNldFRleHRJbnRlcm5hbChvcmlnaW5hbFRleHQoKSk7
CiAgICAgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMobGVhZCk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmgJKHJldmlzaW9uIDc4
NTcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTAsNyArNTAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBpc0Nv
dW50ZXIoKSBjb25zdDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gb3JpZ2lu
YWxUZXh0KCkgY29uc3Q7CiAgICAgCi0gICAgdmlydHVhbCB2b2lkIGNvbXB1dGVQcmVmZXJyZWRM
b2dpY2FsV2lkdGhzKGludCBsZWFkV2lkdGgpOworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJl
ZmVycmVkTG9naWNhbFdpZHRocyhmbG9hdCBsZWFkV2lkdGgpOwogCiAgICAgQ291bnRlckNvbnRl
bnQgbV9jb3VudGVyOwogICAgIG11dGFibGUgQ291bnRlck5vZGUqIG1fY291bnRlck5vZGU7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVj
dC5jcHAJKHJldmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVtYmVkZGVkT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk5LDggKzE5OSw3IEBAIGJv
b2wgUmVuZGVyRW1iZWRkZWRPYmplY3Q6OmdldFJlcGxhY2VtZW4KICAgICBmb250LnVwZGF0ZSgw
KTsKICAgICAKICAgICBydW4gPSBUZXh0UnVuKG1fcmVwbGFjZW1lbnRUZXh0LmNoYXJhY3RlcnMo
KSwgbV9yZXBsYWNlbWVudFRleHQubGVuZ3RoKCkpOwotICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdI
YWNrcygpOwotICAgIHRleHRXaWR0aCA9IGZvbnQuZmxvYXRXaWR0aChydW4pOworICAgIHRleHRX
aWR0aCA9IGZvbnQud2lkdGgocnVuKTsKICAgICAKICAgICByZXBsYWNlbWVudFRleHRSZWN0LnNl
dFNpemUoRmxvYXRTaXplKHRleHRXaWR0aCArIHJlcGxhY2VtZW50VGV4dFJvdW5kZWRSZWN0TGVm
dFJpZ2h0VGV4dE1hcmdpbiAqIDIsIHJlcGxhY2VtZW50VGV4dFJvdW5kZWRSZWN0SGVpZ2h0KSk7
CiAgICAgZmxvYXQgeCA9IChjb250ZW50UmVjdC5zaXplKCkud2lkdGgoKSAvIDIgLSByZXBsYWNl
bWVudFRleHRSZWN0LnNpemUoKS53aWR0aCgpIC8gMikgKyBjb250ZW50UmVjdC5sb2NhdGlvbigp
LngoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29u
dHJvbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZp
bGVVcGxvYWRDb250cm9sLmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NzMsNyArMjczLDcgQEAgdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y29tcHV0ZVByZQog
ICAgICAgICAvLyBGaWd1cmUgb3V0IGhvdyBiaWcgdGhlIGZpbGVuYW1lIHNwYWNlIG5lZWRzIHRv
IGJlIGZvciBhIGdpdmVuIG51bWJlciBvZiBjaGFyYWN0ZXJzCiAgICAgICAgIC8vICh1c2luZyAi
MCIgYXMgdGhlIG5vbWluYWwgY2hhcmFjdGVyKS4KICAgICAgICAgY29uc3QgVUNoYXIgY2ggPSAn
MCc7Ci0gICAgICAgIGZsb2F0IGNoYXJXaWR0aCA9IHN0eWxlKCktPmZvbnQoKS5mbG9hdFdpZHRo
KFRleHRSdW4oJmNoLCAxLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFu
c2lvbiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkpOworICAgICAgICBmbG9hdCBjaGFyV2lkdGggPSBz
dHlsZSgpLT5mb250KCkud2lkdGgoVGV4dFJ1bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVu
OjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBmYWxzZSkpOwogICAgICAgICBtX21heFByZWZlcnJl
ZExvZ2ljYWxXaWR0aCA9IChpbnQpY2VpbGYoY2hhcldpZHRoICogZGVmYXVsdFdpZHRoTnVtQ2hh
cnMpOwogICAgIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
Y3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgxLDcgKzgxLDcgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIHNob3J0IHBhZGRpbmdIZWlnaAogCiAvLyBBbHQgdGV4dCBpcyByZXN0cmljdGVkIHRv
IHRoaXMgbWF4aW11bSBzaXplLCBpbiBwaXhlbHMuICBUaGVzZSBhcmUKIC8vIHNpZ25lZCBpbnRl
Z2VycyBiZWNhdXNlIHRoZXkgYXJlIGNvbXBhcmVkIHdpdGggb3RoZXIgc2lnbmVkIHZhbHVlcy4K
LXN0YXRpYyBjb25zdCBpbnQgbWF4QWx0VGV4dFdpZHRoID0gMTAyNDsKK3N0YXRpYyBjb25zdCBm
bG9hdCBtYXhBbHRUZXh0V2lkdGggPSAxMDI0Owogc3RhdGljIGNvbnN0IGludCBtYXhBbHRUZXh0
SGVpZ2h0ID0gMjU2OwogCiBJbnRTaXplIFJlbmRlckltYWdlOjppbWFnZVNpemVGb3JFcnJvcihD
YWNoZWRJbWFnZSogbmV3SW1hZ2UpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW5saW5lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW5saW5lLmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTU5LDggKzU1OSw4
IEBAIEludFJlY3QgUmVuZGVySW5saW5lOjpsaW5lc0JvdW5kaW5nQm94KCkKICAgICBBU1NFUlQo
IWZpcnN0TGluZUJveCgpID09ICFsYXN0TGluZUJveCgpKTsgIC8vIEVpdGhlciBib3RoIGFyZSBu
dWxsIG9yIGJvdGggZXhpc3QuCiAgICAgaWYgKGZpcnN0TGluZUJveCgpICYmIGxhc3RMaW5lQm94
KCkpIHsKICAgICAgICAgLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiB0aGUgbWluaW1hbCBsZWZ0IHNp
ZGUgYW5kIHRoZSBtYXhpbWFsIHJpZ2h0IHNpZGUuCi0gICAgICAgIGludCBsb2dpY2FsTGVmdFNp
ZGUgPSAwOwotICAgICAgICBpbnQgbG9naWNhbFJpZ2h0U2lkZSA9IDA7CisgICAgICAgIGZsb2F0
IGxvZ2ljYWxMZWZ0U2lkZSA9IDA7CisgICAgICAgIGZsb2F0IGxvZ2ljYWxSaWdodFNpZGUgPSAw
OwogICAgICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1cnIgPSBmaXJzdExpbmVCb3goKTsgY3Vy
cjsgY3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkpIHsKICAgICAgICAgICAgIGlmIChjdXJyID09
IGZpcnN0TGluZUJveCgpIHx8IGN1cnItPmxvZ2ljYWxMZWZ0KCkgPCBsb2dpY2FsTGVmdFNpZGUp
CiAgICAgICAgICAgICAgICAgbG9naWNhbExlZnRTaWRlID0gY3Vyci0+bG9naWNhbExlZnQoKTsK
QEAgLTU3MCwxMSArNTcwLDExIEBAIEludFJlY3QgUmVuZGVySW5saW5lOjpsaW5lc0JvdW5kaW5n
Qm94KCkKICAgICAgICAgCiAgICAgICAgIGJvb2wgaXNIb3Jpem9udGFsID0gc3R5bGUoKS0+aXNI
b3Jpem9udGFsV3JpdGluZ01vZGUoKTsKICAgICAgICAgCi0gICAgICAgIGludCB4ID0gaXNIb3Jp
em9udGFsID8gbG9naWNhbExlZnRTaWRlIDogZmlyc3RMaW5lQm94KCktPngoKTsKLSAgICAgICAg
aW50IHkgPSBpc0hvcml6b250YWwgPyBmaXJzdExpbmVCb3goKS0+eSgpIDogbG9naWNhbExlZnRT
aWRlOwotICAgICAgICBpbnQgd2lkdGggPSBpc0hvcml6b250YWwgPyBsb2dpY2FsUmlnaHRTaWRl
IC0gbG9naWNhbExlZnRTaWRlIDogbGFzdExpbmVCb3goKS0+bG9naWNhbEJvdHRvbSgpIC0geDsK
LSAgICAgICAgaW50IGhlaWdodCA9IGlzSG9yaXpvbnRhbCA/IGxhc3RMaW5lQm94KCktPmxvZ2lj
YWxCb3R0b20oKSAtIHkgOiBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlOwotICAg
ICAgICByZXN1bHQgPSBJbnRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpOworICAgICAgICBmbG9h
dCB4ID0gaXNIb3Jpem9udGFsID8gbG9naWNhbExlZnRTaWRlIDogZmlyc3RMaW5lQm94KCktPngo
KTsKKyAgICAgICAgZmxvYXQgeSA9IGlzSG9yaXpvbnRhbCA/IGZpcnN0TGluZUJveCgpLT55KCkg
OiBsb2dpY2FsTGVmdFNpZGU7CisgICAgICAgIGZsb2F0IHdpZHRoID0gaXNIb3Jpem9udGFsID8g
bG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZSA6IGxhc3RMaW5lQm94KCktPmxvZ2lj
YWxCb3R0b20oKSAtIHg7CisgICAgICAgIGZsb2F0IGhlaWdodCA9IGlzSG9yaXpvbnRhbCA/IGxh
c3RMaW5lQm94KCktPmxvZ2ljYWxCb3R0b20oKSAtIHkgOiBsb2dpY2FsUmlnaHRTaWRlIC0gbG9n
aWNhbExlZnRTaWRlOworICAgICAgICByZXN1bHQgPSBlbmNsb3NpbmdJbnRSZWN0KEZsb2F0UmVj
dCh4LCB5LCB3aWR0aCwgaGVpZ2h0KSk7CiAgICAgfQogCiAgICAgcmV0dXJuIHJlc3VsdDsKQEAg
LTU4NiwyMCArNTg2LDIwIEBAIEludFJlY3QgUmVuZGVySW5saW5lOjpsaW5lc1Zpc3VhbE92ZXJm
bG8KICAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKIAogICAgIC8vIFJldHVybiB0aGUgd2lkdGgg
b2YgdGhlIG1pbmltYWwgbGVmdCBzaWRlIGFuZCB0aGUgbWF4aW1hbCByaWdodCBzaWRlLgotICAg
IGludCBsb2dpY2FsTGVmdFNpZGUgPSBudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKTsKLSAgICBp
bnQgbG9naWNhbFJpZ2h0U2lkZSA9IG51bWVyaWNfbGltaXRzPGludD46Om1pbigpOworICAgIGZs
b2F0IGxvZ2ljYWxMZWZ0U2lkZSA9IG51bWVyaWNfbGltaXRzPGludD46Om1heCgpOworICAgIGZs
b2F0IGxvZ2ljYWxSaWdodFNpZGUgPSBudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKTsKICAgICBm
b3IgKElubGluZUZsb3dCb3gqIGN1cnIgPSBmaXJzdExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1
cnItPm5leHRMaW5lQm94KCkpIHsKLSAgICAgICAgbG9naWNhbExlZnRTaWRlID0gbWluKGxvZ2lj
YWxMZWZ0U2lkZSwgY3Vyci0+bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygpKTsKLSAgICAgICAg
bG9naWNhbFJpZ2h0U2lkZSA9IG1heChsb2dpY2FsUmlnaHRTaWRlLCBjdXJyLT5sb2dpY2FsUmln
aHRWaXN1YWxPdmVyZmxvdygpKTsKKyAgICAgICAgbG9naWNhbExlZnRTaWRlID0gbWluKGxvZ2lj
YWxMZWZ0U2lkZSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGN1cnItPmxvZ2ljYWxMZWZ0VmlzdWFsT3Zl
cmZsb3coKSkpOworICAgICAgICBsb2dpY2FsUmlnaHRTaWRlID0gbWF4KGxvZ2ljYWxSaWdodFNp
ZGUsIHN0YXRpY19jYXN0PGZsb2F0PihjdXJyLT5sb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdygp
KSk7CiAgICAgfQogCiAgICAgYm9vbCBpc0hvcml6b250YWwgPSBzdHlsZSgpLT5pc0hvcml6b250
YWxXcml0aW5nTW9kZSgpOwogICAgICAgICAKLSAgICBpbnQgeCA9IGlzSG9yaXpvbnRhbCA/IGxv
Z2ljYWxMZWZ0U2lkZSA6IGZpcnN0TGluZUJveCgpLT5taW5YVmlzdWFsT3ZlcmZsb3coKTsKLSAg
ICBpbnQgeSA9IGlzSG9yaXpvbnRhbCA/IGZpcnN0TGluZUJveCgpLT5taW5ZVmlzdWFsT3ZlcmZs
b3coKSA6IGxvZ2ljYWxMZWZ0U2lkZTsKLSAgICBpbnQgd2lkdGggPSBpc0hvcml6b250YWwgPyBs
b2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlIDogbGFzdExpbmVCb3goKS0+bWF4WFZp
c3VhbE92ZXJmbG93KCkgLSBmaXJzdExpbmVCb3goKS0+bWluWFZpc3VhbE92ZXJmbG93KCk7Ci0g
ICAgaW50IGhlaWdodCA9IGlzSG9yaXpvbnRhbCA/IGxhc3RMaW5lQm94KCktPm1heFlWaXN1YWxP
dmVyZmxvdygpIC0gZmlyc3RMaW5lQm94KCktPm1pbllWaXN1YWxPdmVyZmxvdygpIDogbG9naWNh
bFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZTsKLSAgICByZXR1cm4gSW50UmVjdCh4LCB5LCB3
aWR0aCwgaGVpZ2h0KTsKKyAgICBmbG9hdCB4ID0gaXNIb3Jpem9udGFsID8gbG9naWNhbExlZnRT
aWRlIDogZmlyc3RMaW5lQm94KCktPm1pblhWaXN1YWxPdmVyZmxvdygpOworICAgIGZsb2F0IHkg
PSBpc0hvcml6b250YWwgPyBmaXJzdExpbmVCb3goKS0+bWluWVZpc3VhbE92ZXJmbG93KCkgOiBs
b2dpY2FsTGVmdFNpZGU7CisgICAgZmxvYXQgd2lkdGggPSBpc0hvcml6b250YWwgPyBsb2dpY2Fs
UmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlIDogbGFzdExpbmVCb3goKS0+bWF4WFZpc3VhbE92
ZXJmbG93KCkgLSBmaXJzdExpbmVCb3goKS0+bWluWFZpc3VhbE92ZXJmbG93KCk7CisgICAgZmxv
YXQgaGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFzdExpbmVCb3goKS0+bWF4WVZpc3VhbE92ZXJm
bG93KCkgLSBmaXJzdExpbmVCb3goKS0+bWluWVZpc3VhbE92ZXJmbG93KCkgOiBsb2dpY2FsUmln
aHRTaWRlIC0gbG9naWNhbExlZnRTaWRlOworICAgIHJldHVybiBlbmNsb3NpbmdJbnRSZWN0KEZs
b2F0UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KSk7CiB9CiAKIEludFJlY3QgUmVuZGVySW5saW5l
OjpjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVw
YWludENvbnRhaW5lcikKQEAgLTk2Myw4ICs5NjMsOCBAQCB2b2lkIFJlbmRlcklubGluZTo6YWRk
Rm9jdXNSaW5nUmVjdHMoVmVjCiB7CiAgICAgZm9yIChJbmxpbmVGbG93Qm94KiBjdXJyID0gZmly
c3RMaW5lQm94KCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0TGluZUJveCgpKSB7CiAgICAgICAg
IFJvb3RJbmxpbmVCb3gqIHJvb3QgPSBjdXJyLT5yb290KCk7Ci0gICAgICAgIGludCB0b3AgPSBt
YXgocm9vdC0+bGluZVRvcCgpLCBjdXJyLT55KCkpOwotICAgICAgICBpbnQgYm90dG9tID0gbWlu
KHJvb3QtPmxpbmVCb3R0b20oKSwgY3Vyci0+eSgpICsgY3Vyci0+bG9naWNhbEhlaWdodCgpKTsK
KyAgICAgICAgaW50IHRvcCA9IG1heChyb290LT5saW5lVG9wKCksIGN1cnItPmxvZ2ljYWxUb3Ao
KSk7CisgICAgICAgIGludCBib3R0b20gPSBtaW4ocm9vdC0+bGluZUJvdHRvbSgpLCBjdXJyLT5s
b2dpY2FsQm90dG9tKCkpOwogICAgICAgICBJbnRSZWN0IHJlY3QodHggKyBjdXJyLT54KCksIHR5
ICsgdG9wLCBjdXJyLT5sb2dpY2FsV2lkdGgoKSwgYm90dG9tIC0gdG9wKTsKICAgICAgICAgaWYg
KCFyZWN0LmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJlY3RzLmFwcGVuZChyZWN0KTsKQEAgLTEw
MTUsOCArMTAxNSw4IEBAIHZvaWQgUmVuZGVySW5saW5lOjpwYWludE91dGxpbmUoR3JhcGhpY3MK
ICAgICByZWN0cy5hcHBlbmQoSW50UmVjdCgpKTsKICAgICBmb3IgKElubGluZUZsb3dCb3gqIGN1
cnIgPSBmaXJzdExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkpIHsK
ICAgICAgICAgUm9vdElubGluZUJveCogcm9vdCA9IGN1cnItPnJvb3QoKTsKLSAgICAgICAgaW50
IHRvcCA9IG1heChyb290LT5saW5lVG9wKCksIGN1cnItPnkoKSk7Ci0gICAgICAgIGludCBib3R0
b20gPSBtaW4ocm9vdC0+bGluZUJvdHRvbSgpLCBjdXJyLT55KCkgKyBjdXJyLT5sb2dpY2FsSGVp
Z2h0KCkpOworICAgICAgICBpbnQgdG9wID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+bG9n
aWNhbFRvcCgpKTsKKyAgICAgICAgaW50IGJvdHRvbSA9IG1pbihyb290LT5saW5lQm90dG9tKCks
IGN1cnItPmxvZ2ljYWxCb3R0b20oKSk7CiAgICAgICAgIHJlY3RzLmFwcGVuZChJbnRSZWN0KGN1
cnItPngoKSwgdG9wLCBjdXJyLT5sb2dpY2FsV2lkdGgoKSwgYm90dG9tIC0gdG9wKSk7CiAgICAg
fQogICAgIHJlY3RzLmFwcGVuZChJbnRSZWN0KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMSw3
ICsxMTEsNyBAQCB2b2lkIFJlbmRlckxpc3RCb3g6OnVwZGF0ZUZyb21FbGVtZW50KCkKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIGlmICghdGV4dC5pc0VtcHR5
KCkpIHsKLSAgICAgICAgICAgICAgICBmbG9hdCB0ZXh0V2lkdGggPSBpdGVtRm9udC5mbG9hdFdp
ZHRoKFRleHRSdW4odGV4dC5pbXBsKCksIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWls
aW5nRXhwYW5zaW9uLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSkpOworICAgICAgICAgICAg
ICAgIGZsb2F0IHRleHRXaWR0aCA9IGl0ZW1Gb250LndpZHRoKFRleHRSdW4odGV4dC5pbXBsKCks
IGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBmYWxzZSwgZmFs
c2UpKTsKICAgICAgICAgICAgICAgICB3aWR0aCA9IG1heCh3aWR0aCwgdGV4dFdpZHRoKTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtMzMzLDcgKzMzMyw3IEBAIHZvaWQgUmVuZGVyTGlz
dEJveDo6cGFpbnRJdGVtRm9yZWdyb3VuZCgKIAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IGl0ZW1U
ZXh0Lmxlbmd0aCgpOwogICAgIGNvbnN0IFVDaGFyKiBzdHJpbmcgPSBpdGVtVGV4dC5jaGFyYWN0
ZXJzKCk7Ci0gICAgVGV4dFJ1biB0ZXh0UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwg
VGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIWl0ZW1TdHlsZS0+aXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpLCBpdGVtU3R5bGUtPnVuaWNvZGVCaWRpKCkgPT0gT3ZlcnJpZGUsIGZhbHNl
LCBmYWxzZSk7CisgICAgVGV4dFJ1biB0ZXh0UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwg
MCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIWl0ZW1TdHlsZS0+aXNMZWZ0VG9S
aWdodERpcmVjdGlvbigpLCBpdGVtU3R5bGUtPnVuaWNvZGVCaWRpKCkgPT0gT3ZlcnJpZGUpOwog
CiAgICAgLy8gRHJhdyB0aGUgaXRlbSB0ZXh0CiAgICAgaWYgKGl0ZW1TdHlsZS0+dmlzaWJpbGl0
eSgpICE9IEhJRERFTikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51
TGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1l
bnVMaXN0LmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTWVudUxpc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMsMTAgKzE1MywxMCBAQCB2
b2lkIFJlbmRlck1lbnVMaXN0Ojp1cGRhdGVPcHRpb25zV2lkdGgoCiAgICAgICAgICAgICBpZiAo
UmVuZGVyU3R5bGUqIG9wdGlvblN0eWxlID0gZWxlbWVudC0+cmVuZGVyU3R5bGUoKSkKICAgICAg
ICAgICAgICAgICBvcHRpb25XaWR0aCArPSBvcHRpb25TdHlsZS0+dGV4dEluZGVudCgpLmNhbGNN
aW5WYWx1ZSgwKTsKICAgICAgICAgICAgIGlmICghdGV4dC5pc0VtcHR5KCkpCi0gICAgICAgICAg
ICAgICAgb3B0aW9uV2lkdGggKz0gc3R5bGUoKS0+Zm9udCgpLmZsb2F0V2lkdGgodGV4dCk7Cisg
ICAgICAgICAgICAgICAgb3B0aW9uV2lkdGggKz0gc3R5bGUoKS0+Zm9udCgpLndpZHRoKHRleHQp
OwogICAgICAgICAgICAgbWF4T3B0aW9uV2lkdGggPSBtYXgobWF4T3B0aW9uV2lkdGgsIG9wdGlv
bldpZHRoKTsKICAgICAgICAgfSBlbHNlIGlmICghdGV4dC5pc0VtcHR5KCkpCi0gICAgICAgICAg
ICBtYXhPcHRpb25XaWR0aCA9IG1heChtYXhPcHRpb25XaWR0aCwgc3R5bGUoKS0+Zm9udCgpLmZs
b2F0V2lkdGgodGV4dCkpOworICAgICAgICAgICAgbWF4T3B0aW9uV2lkdGggPSBtYXgobWF4T3B0
aW9uV2lkdGgsIHN0eWxlKCktPmZvbnQoKS53aWR0aCh0ZXh0KSk7CiAgICAgfQogCiAgICAgaW50
IHdpZHRoID0gc3RhdGljX2Nhc3Q8aW50PihjZWlsZihtYXhPcHRpb25XaWR0aCkpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAkocmV2aXNpb24gNzg1NzEpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTUwNiwxNSArNTA2LDE5IEBAIEludFJlY3QgUmVuZGVyVGV4dDo6bG9jYWxDYXJldFJlY3Qo
SW5saW4KICAgICBpbnQgaGVpZ2h0ID0gYm94LT5yb290KCktPnNlbGVjdGlvbkhlaWdodCgpOwog
ICAgIGludCB0b3AgPSBib3gtPnJvb3QoKS0+c2VsZWN0aW9uVG9wKCk7CiAKLSAgICBpbnQgbGVm
dCA9IGJveC0+cG9zaXRpb25Gb3JPZmZzZXQoY2FyZXRPZmZzZXQpOworICAgIC8vIEdvIGFoZWFk
IGFuZCByb3VuZCBsZWZ0IHRvIHNuYXAgaXQgdG8gdGhlIG5lYXJlc3QgcGl4ZWwuCisgICAgZmxv
YXQgbGVmdCA9IGJveC0+cG9zaXRpb25Gb3JPZmZzZXQoY2FyZXRPZmZzZXQpOwogCiAgICAgLy8g
RGlzdHJpYnV0ZSB0aGUgY2FyZXQncyB3aWR0aCB0byBlaXRoZXIgc2lkZSBvZiB0aGUgb2Zmc2V0
LgogICAgIGludCBjYXJldFdpZHRoTGVmdE9mT2Zmc2V0ID0gY2FyZXRXaWR0aCAvIDI7CiAgICAg
bGVmdCAtPSBjYXJldFdpZHRoTGVmdE9mT2Zmc2V0OwogICAgIGludCBjYXJldFdpZHRoUmlnaHRP
Zk9mZnNldCA9IGNhcmV0V2lkdGggLSBjYXJldFdpZHRoTGVmdE9mT2Zmc2V0OwogCi0gICAgaW50
IHJvb3RMZWZ0ID0gYm94LT5yb290KCktPmxvZ2ljYWxMZWZ0KCk7Ci0gICAgaW50IHJvb3RSaWdo
dCA9IHJvb3RMZWZ0ICsgYm94LT5yb290KCktPmxvZ2ljYWxXaWR0aCgpOworICAgIGxlZnQgPSBy
b3VuZGYobGVmdCk7CisKKyAgICBmbG9hdCByb290TGVmdCA9IGJveC0+cm9vdCgpLT5sb2dpY2Fs
TGVmdCgpOworICAgIGZsb2F0IHJvb3RSaWdodCA9IGJveC0+cm9vdCgpLT5sb2dpY2FsUmlnaHQo
KTsKKwogICAgIC8vIEZJWE1FOiBzaG91bGQgd2UgdXNlIHRoZSB3aWR0aCBvZiB0aGUgcm9vdCBp
bmxpbmUgYm94IG9yIHRoZQogICAgIC8vIHdpZHRoIG9mIHRoZSBjb250YWluaW5nIGJsb2NrIGZv
ciB0aGlzPwogICAgIGlmIChleHRyYVdpZHRoVG9FbmRPZkxpbmUpCkBAIC01MjIsMTQgKzUyNiwx
NCBAQCBJbnRSZWN0IFJlbmRlclRleHQ6OmxvY2FsQ2FyZXRSZWN0KElubGluCiAKICAgICBSZW5k
ZXJCbG9jayogY2IgPSBjb250YWluaW5nQmxvY2soKTsKICAgICBSZW5kZXJTdHlsZSogY2JTdHls
ZSA9IGNiLT5zdHlsZSgpOwotICAgIGludCBsZWZ0RWRnZTsKLSAgICBpbnQgcmlnaHRFZGdlOwor
ICAgIGZsb2F0IGxlZnRFZGdlOworICAgIGZsb2F0IHJpZ2h0RWRnZTsKICAgICBpZiAoc3R5bGUo
KS0+YXV0b1dyYXAoKSkgewogICAgICAgICBsZWZ0RWRnZSA9IGNiLT5sb2dpY2FsTGVmdCgpOwog
ICAgICAgICByaWdodEVkZ2UgPSBjYi0+bG9naWNhbFJpZ2h0KCk7CiAgICAgfSBlbHNlIHsKLSAg
ICAgICAgbGVmdEVkZ2UgPSBtaW4oY2ItPmxvZ2ljYWxMZWZ0KCksIHJvb3RMZWZ0KTsKLSAgICAg
ICAgcmlnaHRFZGdlID0gbWF4KGNiLT5sb2dpY2FsUmlnaHQoKSwgcm9vdFJpZ2h0KTsKKyAgICAg
ICAgbGVmdEVkZ2UgPSBtaW4oc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNiLT5sb2dpY2FsTGVmdCgpKSwg
cm9vdExlZnQpOworICAgICAgICByaWdodEVkZ2UgPSBtYXgoc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNi
LT5sb2dpY2FsUmlnaHQoKSksIHJvb3RSaWdodCk7CiAgICAgfQogCiAgICAgYm9vbCByaWdodEFs
aWduZWQgPSBmYWxzZTsKQEAgLTU2MCw3ICs1NjQsNyBAQCBJbnRSZWN0IFJlbmRlclRleHQ6Omxv
Y2FsQ2FyZXRSZWN0KElubGluCiAgICAgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkgPyBJbnRSZWN0KGxlZnQsIHRvcCwgY2FyZXRXaWR0aCwgaGVpZ2h0KSA6IEludFJl
Y3QodG9wLCBsZWZ0LCBoZWlnaHQsIGNhcmV0V2lkdGgpOwogfQogCi1BTFdBWVNfSU5MSU5FIGlu
dCBSZW5kZXJUZXh0Ojp3aWR0aEZyb21DYWNoZShjb25zdCBGb250JiBmLCBpbnQgc3RhcnQsIGlu
dCBsZW4sIGludCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNr
Rm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CitBTFdBWVNfSU5MSU5F
IGZsb2F0IFJlbmRlclRleHQ6OndpZHRoRnJvbUNhY2hlKGNvbnN0IEZvbnQmIGYsIGludCBzdGFy
dCwgaW50IGxlbiwgZmxvYXQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBm
YWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAogewogICAg
IGlmIChzdHlsZSgpLT5oYXNUZXh0Q29tYmluZSgpKSB7CiAgICAgICAgIGNvbnN0IFJlbmRlckNv
bWJpbmVUZXh0KiBjb21iaW5lVGV4dCA9IHRvUmVuZGVyQ29tYmluZVRleHQodGhpcyk7CkBAIC01
NjksOSArNTczLDkgQEAgQUxXQVlTX0lOTElORSBpbnQgUmVuZGVyVGV4dDo6d2lkdGhGcm9tQwog
ICAgIH0KIAogICAgIGlmIChmLmlzRml4ZWRQaXRjaCgpICYmICFmLmlzU21hbGxDYXBzKCkgJiYg
bV9pc0FsbEFTQ0lJKSB7Ci0gICAgICAgIGludCBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aCA9IGYu
c3BhY2VXaWR0aCgpOwotICAgICAgICBpbnQgdGFiV2lkdGggPSBhbGxvd1RhYnMoKSA/IG1vbm9z
cGFjZUNoYXJhY3RlcldpZHRoICogOCA6IDA7Ci0gICAgICAgIGludCB3ID0gMDsKKyAgICAgICAg
ZmxvYXQgbW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGggPSBmLnNwYWNlV2lkdGgoKTsKKyAgICAgICAg
ZmxvYXQgdGFiV2lkdGggPSBhbGxvd1RhYnMoKSA/IG1vbm9zcGFjZUNoYXJhY3RlcldpZHRoICog
OCA6IDA7CisgICAgICAgIGZsb2F0IHcgPSAwOwogICAgICAgICBib29sIGlzU3BhY2U7CiAgICAg
ICAgIGJvb2wgcHJldmlvdXNDaGFyV2FzU3BhY2UgPSB0cnVlOyAvLyBGSVhNRTogUHJlc2VydmVz
IGhpc3RvcmljYWwgYmVoYXZpb3IsIGJ1dCBzZWVtcyB3cm9uZyBmb3Igc3RhcnQgPiAwLgogICAg
ICAgICBBU1NFUlQobV90ZXh0KTsKQEAgLTU4Myw3ICs1ODcsNyBAQCBBTFdBWVNfSU5MSU5FIGlu
dCBSZW5kZXJUZXh0Ojp3aWR0aEZyb21DCiAgICAgICAgICAgICAgICAgICAgIHcgKz0gbW9ub3Nw
YWNlQ2hhcmFjdGVyV2lkdGg7CiAgICAgICAgICAgICAgICAgICAgIGlzU3BhY2UgPSB0cnVlOwog
ICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoYyA9PSAnXHQnKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHcgKz0gdGFiV2lkdGggPyB0YWJXaWR0aCAtICgoeFBvcyArIHcpICUgdGFiV2lkdGgpIDog
bW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGg7CisgICAgICAgICAgICAgICAgICAgIHcgKz0gdGFiV2lk
dGggPyB0YWJXaWR0aCAtIGZtb2RmKHhQb3MgKyB3LCB0YWJXaWR0aCkgOiBtb25vc3BhY2VDaGFy
YWN0ZXJXaWR0aDsKICAgICAgICAgICAgICAgICAgICAgaXNTcGFjZSA9IHRydWU7CiAgICAgICAg
ICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGlzU3BhY2UgPSBmYWxzZTsKQEAg
LTYwMSwxMiArNjA1LDEyIEBAIEFMV0FZU19JTkxJTkUgaW50IFJlbmRlclRleHQ6OndpZHRoRnJv
bUMKICAgICByZXR1cm4gZi53aWR0aChUZXh0UnVuKHRleHQoKS0+Y2hhcmFjdGVycygpICsgc3Rh
cnQsIGxlbiwgYWxsb3dUYWJzKCksIHhQb3MpLCBmYWxsYmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93
KTsKIH0KIAotdm9pZCBSZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldpZHRocyhpbnQgbGVhZFdpZHRo
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGJlZ2luTWluVywgYm9v
bCYgYmVnaW5XUywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBlbmRN
aW5XLCBib29sJiBlbmRXUywKK3ZvaWQgUmVuZGVyVGV4dDo6dHJpbW1lZFByZWZXaWR0aHMoZmxv
YXQgbGVhZFdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYg
YmVnaW5NaW5XLCBib29sJiBiZWdpbldTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmbG9hdCYgZW5kTWluVywgYm9vbCYgZW5kV1MsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb2wmIGhhc0JyZWFrYWJsZUNoYXIsIGJvb2wmIGhhc0JyZWFrLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIGJlZ2luTWF4VywgaW50JiBlbmRN
YXhXLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIG1pblcsIGludCYg
bWF4VywgYm9vbCYgc3RyaXBGcm9udFNwYWNlcykKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZmxvYXQmIGJlZ2luTWF4VywgZmxvYXQmIGVuZE1heFcsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBtaW5XLCBmbG9hdCYgbWF4VywgYm9vbCYgc3Ry
aXBGcm9udFNwYWNlcykKIHsKICAgICBib29sIGNvbGxhcHNlV2hpdGVTcGFjZSA9IHN0eWxlKCkt
PmNvbGxhcHNlV2hpdGVTcGFjZSgpOwogICAgIGlmICghY29sbGFwc2VXaGl0ZVNwYWNlKQpAQCAt
NjQ2LDcgKzY1MCw3IEBAIHZvaWQgUmVuZGVyVGV4dDo6dHJpbW1lZFByZWZXaWR0aHMoaW50IGwK
ICAgICAgICAgY29uc3QgRm9udCYgZiA9IHN0eWxlKCktPmZvbnQoKTsgLy8gRklYTUU6IFRoaXMg
aWdub3JlcyBmaXJzdC1saW5lLgogICAgICAgICBpZiAoc3RyaXBGcm9udFNwYWNlcykgewogICAg
ICAgICAgICAgY29uc3QgVUNoYXIgc3BhY2UgPSAnICc7Ci0gICAgICAgICAgICBpbnQgc3BhY2VX
aWR0aCA9IGYud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKTsKKyAgICAgICAgICAgIGZsb2F0IHNw
YWNlV2lkdGggPSBmLndpZHRoKFRleHRSdW4oJnNwYWNlLCAxKSk7CiAgICAgICAgICAgICBtYXhX
IC09IHNwYWNlV2lkdGg7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgbWF4VyArPSBmLndv
cmRTcGFjaW5nKCk7CkBAIC02OTUsNyArNjk5LDcgQEAgc3RhdGljIGlubGluZSBib29sIGlzU3Bh
Y2VBY2NvcmRpbmdUb1N0eQogICAgIHJldHVybiBjID09ICcgJyB8fCAoYyA9PSBub0JyZWFrU3Bh
Y2UgJiYgc3R5bGUtPm5ic3BNb2RlKCkgPT0gU1BBQ0UpOwogfQogCi1pbnQgUmVuZGVyVGV4dDo6
bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29uc3QKK2Zsb2F0IFJlbmRlclRleHQ6Om1pbkxv
Z2ljYWxXaWR0aCgpIGNvbnN0CiB7CiAgICAgaWYgKHByZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0
eSgpKQogICAgICAgICBjb25zdF9jYXN0PFJlbmRlclRleHQqPih0aGlzKS0+Y29tcHV0ZVByZWZl
cnJlZExvZ2ljYWxXaWR0aHMoMCk7CkBAIC03MDMsNyArNzA3LDcgQEAgaW50IFJlbmRlclRleHQ6
Om1pblByZWZlcnJlZExvZ2ljYWxXaWR0aAogICAgIHJldHVybiBtX21pbldpZHRoOwogfQogCi1p
bnQgUmVuZGVyVGV4dDo6bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29uc3QKK2Zsb2F0IFJl
bmRlclRleHQ6Om1heExvZ2ljYWxXaWR0aCgpIGNvbnN0CiB7CiAgICAgaWYgKHByZWZlcnJlZExv
Z2ljYWxXaWR0aHNEaXJ0eSgpKQogICAgICAgICBjb25zdF9jYXN0PFJlbmRlclRleHQqPih0aGlz
KS0+Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoMCk7CkBAIC03MTEsNyArNzE1LDcgQEAg
aW50IFJlbmRlclRleHQ6Om1heFByZWZlcnJlZExvZ2ljYWxXaWR0aAogICAgIHJldHVybiBtX21h
eFdpZHRoOwogfQogCi12b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lk
dGhzKGludCBsZWFkV2lkdGgpCit2b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCkKIHsKICAgICBIYXNoU2V0PGNvbnN0IFNpbXBsZUZv
bnREYXRhKj4gZmFsbGJhY2tGb250czsKICAgICBHbHlwaE92ZXJmbG93IGdseXBoT3ZlcmZsb3c7
CkBAIC03MjAsNyArNzI0LDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9n
aWNhbAogICAgICAgICBtX2tub3duVG9IYXZlTm9PdmVyZmxvd0FuZE5vRmFsbGJhY2tGb250cyA9
IHRydWU7CiB9CiAKLXZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0
aHMoaW50IGxlYWRXaWR0aCwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxsYmFj
a0ZvbnRzLCBHbHlwaE92ZXJmbG93JiBnbHlwaE92ZXJmbG93KQordm9pZCBSZW5kZXJUZXh0Ojpj
b21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhmbG9hdCBsZWFkV2lkdGgsIEhhc2hTZXQ8Y29u
c3QgU2ltcGxlRm9udERhdGEqPiYgZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyYgZ2x5cGhP
dmVyZmxvdykKIHsKICAgICBBU1NFUlQobV9oYXNUYWIgfHwgcHJlZmVycmVkTG9naWNhbFdpZHRo
c0RpcnR5KCkgfHwgIW1fa25vd25Ub0hhdmVOb092ZXJmbG93QW5kTm9GYWxsYmFja0ZvbnRzKTsK
IApAQCAtNzMyLDggKzczNiw4IEBAIHZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJlZExv
Z2ljYWwKICAgICBpZiAoaXNCUigpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpbnQgY3Vyck1p
bldpZHRoID0gMDsKLSAgICBpbnQgY3Vyck1heFdpZHRoID0gMDsKKyAgICBmbG9hdCBjdXJyTWlu
V2lkdGggPSAwOworICAgIGZsb2F0IGN1cnJNYXhXaWR0aCA9IDA7CiAgICAgbV9oYXNCcmVha2Fi
bGVDaGFyID0gZmFsc2U7CiAgICAgbV9oYXNCcmVhayA9IGZhbHNlOwogICAgIG1faGFzVGFiID0g
ZmFsc2U7CkBAIC03NDEsNyArNzQ1LDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVy
cmVkTG9naWNhbAogICAgIG1faGFzRW5kV1MgPSBmYWxzZTsKIAogICAgIGNvbnN0IEZvbnQmIGYg
PSBzdHlsZSgpLT5mb250KCk7IC8vIEZJWE1FOiBUaGlzIGlnbm9yZXMgZmlyc3QtbGluZS4KLSAg
ICBpbnQgd29yZFNwYWNpbmcgPSBzdHlsZSgpLT53b3JkU3BhY2luZygpOworICAgIGZsb2F0IHdv
cmRTcGFjaW5nID0gc3R5bGUoKS0+d29yZFNwYWNpbmcoKTsKICAgICBpbnQgbGVuID0gdGV4dExl
bmd0aCgpOwogICAgIGNvbnN0IFVDaGFyKiB0eHQgPSBjaGFyYWN0ZXJzKCk7CiAgICAgYm9vbCBu
ZWVkc1dvcmRTcGFjaW5nID0gZmFsc2U7CkBAIC04MjEsNyArODI1LDcgQEAgdm9pZCBSZW5kZXJU
ZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbAogCiAgICAgICAgIGludCB3b3JkTGVuID0gaiAt
IGk7CiAgICAgICAgIGlmICh3b3JkTGVuKSB7Ci0gICAgICAgICAgICBpbnQgdyA9IHdpZHRoRnJv
bUNhY2hlKGYsIGksIHdvcmRMZW4sIGxlYWRXaWR0aCArIGN1cnJNYXhXaWR0aCwgJmZhbGxiYWNr
Rm9udHMsICZnbHlwaE92ZXJmbG93KTsKKyAgICAgICAgICAgIGZsb2F0IHcgPSB3aWR0aEZyb21D
YWNoZShmLCBpLCB3b3JkTGVuLCBsZWFkV2lkdGggKyBjdXJyTWF4V2lkdGgsICZmYWxsYmFja0Zv
bnRzLCAmZ2x5cGhPdmVyZmxvdyk7CiAgICAgICAgICAgICBpZiAoZmlyc3RHbHlwaExlZnRPdmVy
ZmxvdyA8IDApCiAgICAgICAgICAgICAgICAgZmlyc3RHbHlwaExlZnRPdmVyZmxvdyA9IGdseXBo
T3ZlcmZsb3cubGVmdDsKICAgICAgICAgICAgIGN1cnJNaW5XaWR0aCArPSB3OwpAQCAtOTMzLDE3
ICs5MzcsMTcgQEAgYm9vbCBSZW5kZXJUZXh0Ojpjb250YWluc09ubHlXaGl0ZXNwYWNlKAogICAg
IHJldHVybiBjdXJyUG9zID49IChmcm9tICsgbGVuKTsKIH0KIAotSW50UG9pbnQgUmVuZGVyVGV4
dDo6Zmlyc3RSdW5PcmlnaW4oKSBjb25zdAorRmxvYXRQb2ludCBSZW5kZXJUZXh0OjpmaXJzdFJ1
bk9yaWdpbigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIEludFBvaW50KGZpcnN0UnVuWCgpLCBmaXJz
dFJ1blkoKSk7CiB9CiAKLWludCBSZW5kZXJUZXh0OjpmaXJzdFJ1blgoKSBjb25zdAorZmxvYXQg
UmVuZGVyVGV4dDo6Zmlyc3RSdW5YKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9maXJzdFRleHRC
b3ggPyBtX2ZpcnN0VGV4dEJveC0+bV94IDogMDsKIH0KIAotaW50IFJlbmRlclRleHQ6OmZpcnN0
UnVuWSgpIGNvbnN0CitmbG9hdCBSZW5kZXJUZXh0OjpmaXJzdFJ1blkoKSBjb25zdAogewogICAg
IHJldHVybiBtX2ZpcnN0VGV4dEJveCA/IG1fZmlyc3RUZXh0Qm94LT5tX3kgOiAwOwogfQpAQCAt
MTIyMyw3ICsxMjI3LDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojpwb3NpdGlvbkxpbmVCb3goSW5saW5l
QgogICAgIG1fY29udGFpbnNSZXZlcnNlZFRleHQgfD0gIXMtPmlzTGVmdFRvUmlnaHREaXJlY3Rp
b24oKTsKIH0KIAotdW5zaWduZWQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwgdW5z
aWduZWQgbGVuLCBpbnQgeFBvcywgYm9vbCBmaXJzdExpbmUsIEhhc2hTZXQ8Y29uc3QgU2ltcGxl
Rm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykg
Y29uc3QKK2Zsb2F0IFJlbmRlclRleHQ6OndpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxl
biwgZmxvYXQgeFBvcywgYm9vbCBmaXJzdExpbmUsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERh
dGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QK
IHsKICAgICBpZiAoZnJvbSA+PSB0ZXh0TGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiAwOwpAQCAt
MTIzNCwxMyArMTIzOCwxMyBAQCB1bnNpZ25lZCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBm
cm9tCiAgICAgcmV0dXJuIHdpZHRoKGZyb20sIGxlbiwgc3R5bGUoZmlyc3RMaW5lKS0+Zm9udCgp
LCB4UG9zLCBmYWxsYmFja0ZvbnRzLCBnbHlwaE92ZXJmbG93KTsKIH0KIAotdW5zaWduZWQgUmVu
ZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBm
LCBpbnQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRz
LCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6
d2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmLCBmbG9hdCB4
UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBo
T3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGZyb20gKyBsZW4g
PD0gdGV4dExlbmd0aCgpKTsKICAgICBpZiAoIWNoYXJhY3RlcnMoKSkKICAgICAgICAgcmV0dXJu
IDA7CiAKLSAgICBpbnQgdzsKKyAgICBmbG9hdCB3OwogICAgIGlmICgmZiA9PSAmc3R5bGUoKS0+
Zm9udCgpKSB7CiAgICAgICAgIGlmICghc3R5bGUoKS0+cHJlc2VydmVOZXdsaW5lKCkgJiYgIWZy
b20gJiYgbGVuID09IHRleHRMZW5ndGgoKSkgewogICAgICAgICAgICAgaWYgKGZhbGxiYWNrRm9u
dHMpIHsKQEAgLTEyNTIsNyArMTI1Niw3IEBAIHVuc2lnbmVkIFJlbmRlclRleHQ6OndpZHRoKHVu
c2lnbmVkIGZyb20KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgdyA9IG1fbWF4
V2lkdGg7CiAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB3ID0gbWF4UHJlZmVy
cmVkTG9naWNhbFdpZHRoKCk7CisgICAgICAgICAgICAgICAgdyA9IG1heExvZ2ljYWxXaWR0aCgp
OwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHcgPSB3aWR0aEZyb21DYWNoZShmLCBmcm9t
LCBsZW4sIHhQb3MsIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogICAgIH0gZWxzZQpA
QCAtMTI2OCw4ICsxMjcyLDggQEAgSW50UmVjdCBSZW5kZXJUZXh0OjpsaW5lc0JvdW5kaW5nQm94
KCkgYwogICAgIEFTU0VSVCghZmlyc3RUZXh0Qm94KCkgPT0gIWxhc3RUZXh0Qm94KCkpOyAgLy8g
RWl0aGVyIGJvdGggYXJlIG51bGwgb3IgYm90aCBleGlzdC4KICAgICBpZiAoZmlyc3RUZXh0Qm94
KCkgJiYgbGFzdFRleHRCb3goKSkgewogICAgICAgICAvLyBSZXR1cm4gdGhlIHdpZHRoIG9mIHRo
ZSBtaW5pbWFsIGxlZnQgc2lkZSBhbmQgdGhlIG1heGltYWwgcmlnaHQgc2lkZS4KLSAgICAgICAg
aW50IGxvZ2ljYWxMZWZ0U2lkZSA9IDA7Ci0gICAgICAgIGludCBsb2dpY2FsUmlnaHRTaWRlID0g
MDsKKyAgICAgICAgZmxvYXQgbG9naWNhbExlZnRTaWRlID0gMDsKKyAgICAgICAgZmxvYXQgbG9n
aWNhbFJpZ2h0U2lkZSA9IDA7CiAgICAgICAgIGZvciAoSW5saW5lVGV4dEJveCogY3VyciA9IGZp
cnN0VGV4dEJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dFRleHRCb3goKSkgewogICAgICAg
ICAgICAgaWYgKGN1cnIgPT0gZmlyc3RUZXh0Qm94KCkgfHwgY3Vyci0+bG9naWNhbExlZnQoKSA8
IGxvZ2ljYWxMZWZ0U2lkZSkKICAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBjdXJy
LT5sb2dpY2FsTGVmdCgpOwpAQCAtMTI3OSwxMSArMTI4MywxMSBAQCBJbnRSZWN0IFJlbmRlclRl
eHQ6OmxpbmVzQm91bmRpbmdCb3goKSBjCiAgICAgICAgIAogICAgICAgICBib29sIGlzSG9yaXpv
bnRhbCA9IHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CiAgICAgICAgIAotICAg
ICAgICBpbnQgeCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxMZWZ0U2lkZSA6IGZpcnN0VGV4dEJv
eCgpLT54KCk7Ci0gICAgICAgIGludCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RUZXh0Qm94KCkt
PnkoKSA6IGxvZ2ljYWxMZWZ0U2lkZTsKLSAgICAgICAgaW50IHdpZHRoID0gaXNIb3Jpem9udGFs
ID8gbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZSA6IGxhc3RUZXh0Qm94KCktPmxv
Z2ljYWxCb3R0b20oKSAtIHg7Ci0gICAgICAgIGludCBoZWlnaHQgPSBpc0hvcml6b250YWwgPyBs
YXN0VGV4dEJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB5IDogbG9naWNhbFJpZ2h0U2lkZSAtIGxv
Z2ljYWxMZWZ0U2lkZTsKLSAgICAgICAgcmVzdWx0ID0gSW50UmVjdCh4LCB5LCB3aWR0aCwgaGVp
Z2h0KTsKKyAgICAgICAgZmxvYXQgeCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxMZWZ0U2lkZSA6
IGZpcnN0VGV4dEJveCgpLT54KCk7CisgICAgICAgIGZsb2F0IHkgPSBpc0hvcml6b250YWwgPyBm
aXJzdFRleHRCb3goKS0+eSgpIDogbG9naWNhbExlZnRTaWRlOworICAgICAgICBmbG9hdCB3aWR0
aCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBs
YXN0VGV4dEJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB4OworICAgICAgICBmbG9hdCBoZWlnaHQg
PSBpc0hvcml6b250YWwgPyBsYXN0VGV4dEJveCgpLT5sb2dpY2FsQm90dG9tKCkgLSB5IDogbG9n
aWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICAgICAgcmVzdWx0ID0gZW5jbG9z
aW5nSW50UmVjdChGbG9hdFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCkpOwogICAgIH0KIAogICAg
IHJldHVybiByZXN1bHQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmgJ
KHJldmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQu
aAkod29ya2luZyBjb3B5KQpAQCAtNzEsMjQgKzcxLDI0IEBAIHB1YmxpYzoKICAgICB1bnNpZ25l
ZCB0ZXh0TGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV90ZXh0Lmxlbmd0aCgpOyB9IC8vIG5vbiB2
aXJ0dWFsIGltcGxlbWVudGF0aW9uIG9mIGxlbmd0aCgpCiAgICAgdm9pZCBwb3NpdGlvbkxpbmVC
b3goSW5saW5lQm94Kik7CiAKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVkIGZy
b20sIHVuc2lnbmVkIGxlbiwgY29uc3QgRm9udCYsIGludCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNp
bXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNv
bnN0OwotICAgIHZpcnR1YWwgdW5zaWduZWQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQg
bGVuLCBpbnQgeFBvcywgYm9vbCBmaXJzdExpbmUgPSBmYWxzZSwgSGFzaFNldDxjb25zdCBTaW1w
bGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25z
dDsKKyAgICB2aXJ0dWFsIGZsb2F0IHdpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwg
Y29uc3QgRm9udCYsIGZsb2F0IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiog
ZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CisgICAgdmlydHVh
bCBmbG9hdCB3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGZsb2F0IHhQb3MsIGJv
b2wgZmlyc3RMaW5lID0gZmFsc2UsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFs
bGJhY2tGb250cyA9IDAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3Q7CiAKLSAgICB2aXJ0dWFs
IGludCBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBt
YXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25zdDsKKyAgICBmbG9hdCBtaW5Mb2dpY2FsV2lk
dGgoKSBjb25zdDsKKyAgICBmbG9hdCBtYXhMb2dpY2FsV2lkdGgoKSBjb25zdDsKIAotICAgIHZv
aWQgdHJpbW1lZFByZWZXaWR0aHMoaW50IGxlYWRXaWR0aCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCYgYmVnaW5NaW5XLCBib29sJiBiZWdpbldTLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50JiBlbmRNaW5XLCBib29sJiBlbmRXUywKKyAgICB2b2lkIHRyaW1tZWRQcmVm
V2lkdGhzKGZsb2F0IGxlYWRXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0
JiBiZWdpbk1pblcsIGJvb2wmIGJlZ2luV1MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBm
bG9hdCYgZW5kTWluVywgYm9vbCYgZW5kV1MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
b29sJiBoYXNCcmVha2FibGVDaGFyLCBib29sJiBoYXNCcmVhaywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCYgYmVnaW5NYXhXLCBpbnQmIGVuZE1heFcsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQmIG1pblcsIGludCYgbWF4VywgYm9vbCYgc3RyaXBGcm9udFNwYWNlcyk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCYgYmVnaW5NYXhXLCBmbG9hdCYgZW5k
TWF4VywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBtaW5XLCBmbG9hdCYgbWF4
VywgYm9vbCYgc3RyaXBGcm9udFNwYWNlcyk7CiAKICAgICB2aXJ0dWFsIEludFJlY3QgbGluZXNC
b3VuZGluZ0JveCgpIGNvbnN0OwogCi0gICAgSW50UG9pbnQgZmlyc3RSdW5PcmlnaW4oKSBjb25z
dDsKLSAgICBpbnQgZmlyc3RSdW5YKCkgY29uc3Q7Ci0gICAgaW50IGZpcnN0UnVuWSgpIGNvbnN0
OworICAgIEZsb2F0UG9pbnQgZmlyc3RSdW5PcmlnaW4oKSBjb25zdDsKKyAgICBmbG9hdCBmaXJz
dFJ1blgoKSBjb25zdDsKKyAgICBmbG9hdCBmaXJzdFJ1blkoKSBjb25zdDsKIAogICAgIHZvaWQg
c2V0VGV4dChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+LCBib29sIGZvcmNlID0gZmFsc2UpOwogICAg
IHZvaWQgc2V0VGV4dFdpdGhPZmZzZXQoUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiwgdW5zaWduZWQg
b2Zmc2V0LCB1bnNpZ25lZCBsZW4sIGJvb2wgZm9yY2UgPSBmYWxzZSk7CkBAIC0xMjIsNyArMTIy
LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjaGVja0NvbnNpc3RlbmN5KCkgY29uc3Q7CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRXaWR0
aCk7CisgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0
IGxlYWRXaWR0aCk7CiAgICAgYm9vbCBpc0FsbENvbGxhcHNpYmxlV2hpdGVzcGFjZSgpOwogICAg
IAogcHJvdGVjdGVkOgpAQCAtMTM1LDcgKzEzNSw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFs
IElubGluZVRleHRCb3gqIGNyZWF0ZVRleHRCb3goKTsgLy8gU3ViY2xhc3NlZCBieSBTVkcuCiAK
IHByaXZhdGU6Ci0gICAgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhpbnQgbGVh
ZFdpZHRoLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4mIGZhbGxiYWNrRm9udHMsIEds
eXBoT3ZlcmZsb3cmKTsKKyAgICB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZs
b2F0IGxlYWRXaWR0aCwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxsYmFja0Zv
bnRzLCBHbHlwaE92ZXJmbG93Jik7CiAKICAgICAvLyBNYWtlIGxlbmd0aCgpIHByaXZhdGUgc28g
dGhhdCBjYWxsZXJzIHRoYXQgaGF2ZSBhIFJlbmRlclRleHQqCiAgICAgLy8gd2lsbCB1c2UgdGhl
IG1vcmUgZWZmaWNpZW50IHRleHRMZW5ndGgoKSBpbnN0ZWFkLCB3aGlsZQpAQCAtMTQ4LDIyICsx
NDgsMjIgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZGVsZXRlVGV4dEJveGVzKCk7CiAgICAgYm9v
bCBjb250YWluc09ubHlXaGl0ZXNwYWNlKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbikgY29u
c3Q7Ci0gICAgaW50IHdpZHRoRnJvbUNhY2hlKGNvbnN0IEZvbnQmLCBpbnQgc3RhcnQsIGludCBs
ZW4sIGludCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9u
dHMsIEdseXBoT3ZlcmZsb3cqKSBjb25zdDsKKyAgICBmbG9hdCB3aWR0aEZyb21DYWNoZShjb25z
dCBGb250JiwgaW50IHN0YXJ0LCBpbnQgbGVuLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNp
bXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqKSBjb25zdDsKICAg
ICBib29sIGlzQWxsQVNDSUkoKSBjb25zdCB7IHJldHVybiBtX2lzQWxsQVNDSUk7IH0KICAgICB2
b2lkIHVwZGF0ZU5lZWRzVHJhbnNjb2RpbmcoKTsKIAogICAgIGlubGluZSB2b2lkIHRyYW5zZm9y
bVRleHQoU3RyaW5nJikgY29uc3Q7CiAKLSAgICBpbnQgbV9taW5XaWR0aDsgLy8gaGVyZSB0byBt
aW5pbWl6ZSBwYWRkaW5nIGluIDY0LWJpdC4KKyAgICBmbG9hdCBtX21pbldpZHRoOyAvLyBoZXJl
IHRvIG1pbmltaXplIHBhZGRpbmcgaW4gNjQtYml0LgogCiAgICAgU3RyaW5nIG1fdGV4dDsKIAog
ICAgIElubGluZVRleHRCb3gqIG1fZmlyc3RUZXh0Qm94OwogICAgIElubGluZVRleHRCb3gqIG1f
bGFzdFRleHRCb3g7CiAKLSAgICBpbnQgbV9tYXhXaWR0aDsKLSAgICBpbnQgbV9iZWdpbk1pbldp
ZHRoOwotICAgIGludCBtX2VuZE1pbldpZHRoOworICAgIGZsb2F0IG1fbWF4V2lkdGg7CisgICAg
ZmxvYXQgbV9iZWdpbk1pbldpZHRoOworICAgIGZsb2F0IG1fZW5kTWluV2lkdGg7CiAKICAgICBi
b29sIG1faGFzQnJlYWthYmxlQ2hhciA6IDE7IC8vIFdoZXRoZXIgb3Igbm90IHdlIGNhbiBiZSBi
cm9rZW4gaW50byBtdWx0aXBsZSBsaW5lcy4KICAgICBib29sIG1faGFzQnJlYWsgOiAxOyAvLyBX
aGV0aGVyIG9yIG5vdCB3ZSBoYXZlIGEgaGFyZCBicmVhayAoZS5nLiwgPHByZT4gd2l0aCAnXG4n
KS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9s
LmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGV4dENvbnRyb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDQsNyArNTQ0LDcgQEAgZmxvYXQg
UmVuZGVyVGV4dENvbnRyb2w6OmdldEF2Z0NoYXJXaWR0aAogICAgICAgICByZXR1cm4gcm91bmRm
KHN0eWxlKCktPmZvbnQoKS5wcmltYXJ5Rm9udCgpLT5hdmdDaGFyV2lkdGgoKSk7CiAKICAgICBj
b25zdCBVQ2hhciBjaCA9ICcwJzsgCi0gICAgcmV0dXJuIHN0eWxlKCktPmZvbnQoKS5mbG9hdFdp
ZHRoKFRleHRSdW4oJmNoLCAxLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4
cGFuc2lvbiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkpOworICAgIHJldHVybiBzdHlsZSgpLT5mb250
KCkud2lkdGgoVGV4dFJ1bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWls
aW5nRXhwYW5zaW9uLCBmYWxzZSkpOwogfQogCiBmbG9hdCBSZW5kZXJUZXh0Q29udHJvbDo6c2Nh
bGVFbVRvVW5pdHMoaW50IHgpIGNvbnN0CkBAIC02MzksNyArNjM5LDcgQEAgdm9pZCBSZW5kZXJU
ZXh0Q29udHJvbDo6cGFpbnRQbGFjZWhvbGRlcgogICAgIHBhaW50SW5mby5jb250ZXh0LT5zZXRG
aWxsQ29sb3IocGxhY2Vob2xkZXJTdHlsZS0+dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3Bl
cnR5Q29sb3IpLCBwbGFjZWhvbGRlclN0eWxlLT5jb2xvclNwYWNlKCkpOwogICAgIAogICAgIFN0
cmluZyBwbGFjZWhvbGRlclRleHQgPSBzdGF0aWNfY2FzdDxIVE1MVGV4dEZvcm1Db250cm9sRWxl
bWVudCo+KG5vZGUoKSktPnN0cmlwcGVkUGxhY2Vob2xkZXIoKTsKLSAgICBUZXh0UnVuIHRleHRS
dW4ocGxhY2Vob2xkZXJUZXh0LmNoYXJhY3RlcnMoKSwgcGxhY2Vob2xkZXJUZXh0Lmxlbmd0aCgp
LCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIXBsYWNlaG9s
ZGVyU3R5bGUtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgcGxhY2Vob2xkZXJTdHlsZS0+dW5p
Y29kZUJpZGkoKSA9PSBPdmVycmlkZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBUZXh0UnVuIHRleHRS
dW4ocGxhY2Vob2xkZXJUZXh0LmNoYXJhY3RlcnMoKSwgcGxhY2Vob2xkZXJUZXh0Lmxlbmd0aCgp
LCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFpbGluZ0V4cGFuc2lvbiwgIXBsYWNlaG9s
ZGVyU3R5bGUtPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgcGxhY2Vob2xkZXJTdHlsZS0+dW5p
Y29kZUJpZGkoKSA9PSBPdmVycmlkZSk7CiAgICAgCiAgICAgUmVuZGVyQm94KiB0ZXh0UmVuZGVy
ZXIgPSBpbm5lclRleHRFbGVtZW50KCkgPyBpbm5lclRleHRFbGVtZW50KCktPnJlbmRlckJveCgp
IDogMDsKICAgICBpZiAodGV4dFJlbmRlcmVyKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDcwLDExICs0NzAsMTcgQEAgdm9pZCBSZW5kZXJUcmVlQXNUZXh0Ojp3cml0ZVJlbmRlck9i
amVjdAogCiBzdGF0aWMgdm9pZCB3cml0ZVRleHRSdW4oVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJl
bmRlclRleHQmIG8sIGNvbnN0IElubGluZVRleHRCb3gmIHJ1bikKIHsKLSAgICAvLyBGSVhNRTog
VGFibGUgY2VsbCBhZGp1c3RtZW50IGlzIHRlbXBvcmFyeSB1bnRpbCByZXN1bHRzIGNhbiBiZSB1
cGRhdGVkLgorICAgIC8vIEZJWE1FOiBGb3Igbm93IHVzZSBhbiAiZW5jbG9zaW5nSW50UmVjdCIg
bW9kZWwgZm9yIHgsIHkgYW5kIGxvZ2ljYWxXaWR0aCwgYWx0aG91Z2ggdGhpcyBtYWtlcyBpdCBo
YXJkZXIKKyAgICAvLyB0byBkZXRlY3QgYW55IGNoYW5nZXMgY2F1c2VkIGJ5IHRoZSBjb252ZXJz
aW9uIHRvIGZsb2F0aW5nIHBvaW50LiA6KAorICAgIGludCB4ID0gcnVuLm1feDsKICAgICBpbnQg
eSA9IHJ1bi5tX3k7CisgICAgaW50IGxvZ2ljYWxXaWR0aCA9IGNlaWxmKHJ1bi5tX3ggKyBydW4u
bV9sb2dpY2FsV2lkdGgpIC0geDsKKworICAgIC8vIEZJWE1FOiBUYWJsZSBjZWxsIGFkanVzdG1l
bnQgaXMgdGVtcG9yYXJ5IHVudGlsIHJlc3VsdHMgY2FuIGJlIHVwZGF0ZWQuCiAgICAgaWYgKG8u
Y29udGFpbmluZ0Jsb2NrKCktPmlzVGFibGVDZWxsKCkpCiAgICAgICAgIHkgLT0gdG9SZW5kZXJU
YWJsZUNlbGwoby5jb250YWluaW5nQmxvY2soKSktPmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKTsK
LSAgICB0cyA8PCAidGV4dCBydW4gYXQgKCIgPDwgcnVuLm1feCA8PCAiLCIgPDwgeSA8PCAiKSB3
aWR0aCAiIDw8IHJ1bi5tX2xvZ2ljYWxXaWR0aDsKKyAgICAgICAgCisgICAgdHMgPDwgInRleHQg
cnVuIGF0ICgiIDw8IHggPDwgIiwiIDw8IHkgPDwgIikgd2lkdGggIiA8PCBsb2dpY2FsV2lkdGg7
CiAgICAgaWYgKCFydW4uaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpIHx8IHJ1bi5tX2Rpck92ZXJy
aWRlKSB7CiAgICAgICAgIHRzIDw8ICghcnVuLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/ICIg
UlRMIiA6ICIgTFRSIik7CiAgICAgICAgIGlmIChydW4ubV9kaXJPdmVycmlkZSkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAJKHJldmlzaW9uIDc4NTcx
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC05Nyw3ICs5Nyw3IEBAIGJvb2wgUm9vdElubGluZUJveDo6Y2FuQWNjb21tb2Rh
dGVFbGxpcHMKICAgICByZXR1cm4gSW5saW5lRmxvd0JveDo6Y2FuQWNjb21tb2RhdGVFbGxpcHNp
cyhsdHIsIGJsb2NrRWRnZSwgZWxsaXBzaXNXaWR0aCk7CiB9CiAKLXZvaWQgUm9vdElubGluZUJv
eDo6cGxhY2VFbGxpcHNpcyhjb25zdCBBdG9taWNTdHJpbmcmIGVsbGlwc2lzU3RyLCAgYm9vbCBs
dHIsIGludCBibG9ja0xlZnRFZGdlLCBpbnQgYmxvY2tSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dp
ZHRoLAordm9pZCBSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzKGNvbnN0IEF0b21pY1N0cmlu
ZyYgZWxsaXBzaXNTdHIsICBib29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxv
Y2tSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgSW5saW5lQm94KiBtYXJrdXBCb3gpCiB7CiAgICAgLy8gQ3JlYXRlIGFuIGVs
bGlwc2lzIGJveC4KQEAgLTEyMyw5ICsxMjMsOSBAQCB2b2lkIFJvb3RJbmxpbmVCb3g6OnBsYWNl
RWxsaXBzaXMoY29uc3QgCiAgICAgZWxsaXBzaXNCb3gtPm1feCA9IHBsYWNlRWxsaXBzaXNCb3go
bHRyLCBibG9ja0xlZnRFZGdlLCBibG9ja1JpZ2h0RWRnZSwgZWxsaXBzaXNXaWR0aCwgZm91bmRC
b3gpOwogfQogCi1pbnQgUm9vdElubGluZUJveDo6cGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwg
aW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgs
IGJvb2wmIGZvdW5kQm94KQorZmxvYXQgUm9vdElubGluZUJveDo6cGxhY2VFbGxpcHNpc0JveChi
b29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVkZ2UsIGZsb2F0
IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KQogewotICAgIGludCByZXN1bHQgPSBJbmxp
bmVGbG93Qm94OjpwbGFjZUVsbGlwc2lzQm94KGx0ciwgYmxvY2tMZWZ0RWRnZSwgYmxvY2tSaWdo
dEVkZ2UsIGVsbGlwc2lzV2lkdGgsIGZvdW5kQm94KTsKKyAgICBmbG9hdCByZXN1bHQgPSBJbmxp
bmVGbG93Qm94OjpwbGFjZUVsbGlwc2lzQm94KGx0ciwgYmxvY2tMZWZ0RWRnZSwgYmxvY2tSaWdo
dEVkZ2UsIGVsbGlwc2lzV2lkdGgsIGZvdW5kQm94KTsKICAgICBpZiAocmVzdWx0ID09IC0xKQog
ICAgICAgICByZXN1bHQgPSBsdHIgPyBibG9ja1JpZ2h0RWRnZSAtIGVsbGlwc2lzV2lkdGggOiBi
bG9ja0xlZnRFZGdlOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC0xOTgsMTAgKzE5OCwxMCBAQCBi
b29sIFJvb3RJbmxpbmVCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpCiAgICAgcmV0dXJuIElubGlu
ZUZsb3dCb3g6Om5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3VsdCwgeCwgeSwgdHgsIHR5KTsKIH0K
IAotdm9pZCBSb290SW5saW5lQm94OjphZGp1c3RQb3NpdGlvbihpbnQgZHgsIGludCBkeSkKK3Zv
aWQgUm9vdElubGluZUJveDo6YWRqdXN0UG9zaXRpb24oZmxvYXQgZHgsIGZsb2F0IGR5KQogewog
ICAgIElubGluZUZsb3dCb3g6OmFkanVzdFBvc2l0aW9uKGR4LCBkeSk7Ci0gICAgaW50IGJsb2Nr
RGlyZWN0aW9uRGVsdGEgPSBpc0hvcml6b250YWwoKSA/IGR5IDogZHg7CisgICAgaW50IGJsb2Nr
RGlyZWN0aW9uRGVsdGEgPSBpc0hvcml6b250YWwoKSA/IGR5IDogZHg7IC8vIFRoZSBibG9jayBk
aXJlY3Rpb24gZGVsdGEgd2lsbCBhbHdheXMgYmUgaW50ZWdyYWwuCiAgICAgbV9saW5lVG9wICs9
IGJsb2NrRGlyZWN0aW9uRGVsdGE7CiAgICAgbV9saW5lQm90dG9tICs9IGJsb2NrRGlyZWN0aW9u
RGVsdGE7CiAgICAgbV9ibG9ja0xvZ2ljYWxIZWlnaHQgKz0gYmxvY2tEaXJlY3Rpb25EZWx0YTsK
QEAgLTI4OSw3ICsyODksNyBAQCBpbnQgUm9vdElubGluZUJveDo6YmVmb3JlQW5ub3RhdGlvbnNB
ZGp1CiAKICAgICAgICAgLy8gQW5ub3RhdGlvbnMgb3ZlciB0aGlzIGxpbmUgbWF5IHB1c2ggdXMg
ZnVydGhlciBkb3duLgogICAgICAgICBpbnQgaGlnaGVzdEFsbG93ZWRQb3NpdGlvbiA9IHByZXZS
b290Qm94KCkgPyBtaW4ocHJldlJvb3RCb3goKS0+bGluZUJvdHRvbSgpLCBsaW5lVG9wKCkpICsg
cmVzdWx0IDogYmxvY2soKS0+Ym9yZGVyQmVmb3JlKCk7Ci0gICAgICAgIHJlc3VsdCA9ICBjb21w
dXRlT3ZlckFubm90YXRpb25BZGp1c3RtZW50KGhpZ2hlc3RBbGxvd2VkUG9zaXRpb24pOworICAg
ICAgICByZXN1bHQgPSBjb21wdXRlT3ZlckFubm90YXRpb25BZGp1c3RtZW50KGhpZ2hlc3RBbGxv
d2VkUG9zaXRpb24pOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIEFubm90YXRpb25zIHVuZGVy
IHRoaXMgbGluZSBtYXkgcHVzaCB1cyB1cC4KICAgICAgICAgaWYgKGhhc0Fubm90YXRpb25zQmVm
b3JlKCkpCkBAIC01NDQsMTQgKzU0NCwxNCBAQCBJbnRSZWN0IFJvb3RJbmxpbmVCb3g6OnBhZGRl
ZExheW91dE92ZXJmCiAgICAgCiAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKSB7CiAgICAgICAgIGlm
IChpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCi0gICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZs
b3cuc2hpZnRNYXhYRWRnZVRvKG1heChsaW5lTGF5b3V0T3ZlcmZsb3cubWF4WCgpLCBsb2dpY2Fs
UmlnaHQoKSArIGVuZFBhZGRpbmcpKTsKKyAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5z
aGlmdE1heFhFZGdlVG8obWF4KGxpbmVMYXlvdXRPdmVyZmxvdy5tYXhYKCksIHBpeGVsU25hcHBl
ZExvZ2ljYWxSaWdodCgpICsgZW5kUGFkZGluZykpOwogICAgICAgICBlbHNlCi0gICAgICAgICAg
ICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRYRWRnZVRvKG1pbihsaW5lTGF5b3V0T3ZlcmZsb3cu
eCgpLCBsb2dpY2FsTGVmdCgpIC0gZW5kUGFkZGluZykpOworICAgICAgICAgICAgbGluZUxheW91
dE92ZXJmbG93LnNoaWZ0WEVkZ2VUbyhtaW4obGluZUxheW91dE92ZXJmbG93LngoKSwgcGl4ZWxT
bmFwcGVkTG9naWNhbExlZnQoKSAtIGVuZFBhZGRpbmcpKTsKICAgICB9IGVsc2UgewogICAgICAg
ICBpZiAoaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQotICAgICAgICAgICAgbGluZUxheW91dE92
ZXJmbG93LnNoaWZ0TWF4WUVkZ2VUbyhtYXgobGluZUxheW91dE92ZXJmbG93Lm1heFkoKSwgbG9n
aWNhbFJpZ2h0KCkgKyBlbmRQYWRkaW5nKSk7CisgICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZs
b3cuc2hpZnRNYXhZRWRnZVRvKG1heChsaW5lTGF5b3V0T3ZlcmZsb3cubWF4WSgpLCBwaXhlbFNu
YXBwZWRMb2dpY2FsUmlnaHQoKSArIGVuZFBhZGRpbmcpKTsKICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgbGluZUxheW91dE92ZXJmbG93LnNoaWZ0WUVkZ2VUbyhtaW4obGluZUxheW91dE92ZXJm
bG93LnkoKSwgbG9naWNhbFJpZ2h0KCkgLSBlbmRQYWRkaW5nKSk7CisgICAgICAgICAgICBsaW5l
TGF5b3V0T3ZlcmZsb3cuc2hpZnRZRWRnZVRvKG1pbihsaW5lTGF5b3V0T3ZlcmZsb3cueSgpLCBw
aXhlbFNuYXBwZWRMb2dpY2FsTGVmdCgpIC0gZW5kUGFkZGluZykpOwogICAgIH0KICAgICAKICAg
ICByZXR1cm4gbGluZUxheW91dE92ZXJmbG93OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1Jvb3RJbmxpbmVCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUm9vdElubGluZUJveC5oCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9Sb290SW5saW5lQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAg
cHVibGljOgogICAgIFJvb3RJbmxpbmVCb3gqIG5leHRSb290Qm94KCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8Um9vdElubGluZUJveCo+KG1fbmV4dExpbmVCb3gpOyB9CiAgICAgUm9vdElu
bGluZUJveCogcHJldlJvb3RCb3goKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxSb290SW5s
aW5lQm94Kj4obV9wcmV2TGluZUJveCk7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQb3Np
dGlvbihpbnQgZHgsIGludCBkeSk7CisgICAgdmlydHVhbCB2b2lkIGFkanVzdFBvc2l0aW9uKGZs
b2F0IGR4LCBmbG9hdCBkeSk7CiAKICAgICBpbnQgbGluZVRvcCgpIGNvbnN0IHsgcmV0dXJuIG1f
bGluZVRvcDsgfQogICAgIGludCBsaW5lQm90dG9tKCkgY29uc3QgeyByZXR1cm4gbV9saW5lQm90
dG9tOyB9CkBAIC03OCw4ICs3OCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNoaWxkUmVtb3ZlZChJ
bmxpbmVCb3gqIGJveCk7CiAKICAgICBib29sIGNhbkFjY29tbW9kYXRlRWxsaXBzaXMoYm9vbCBs
dHIsIGludCBibG9ja0VkZ2UsIGludCBsaW5lQm94RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgpOwot
ICAgIHZvaWQgcGxhY2VFbGxpcHNpcyhjb25zdCBBdG9taWNTdHJpbmcmIGVsbGlwc2lzU3RyLCBi
b29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50IGVsbGlw
c2lzV2lkdGgsIElubGluZUJveCogbWFya3VwQm94ID0gMCk7Ci0gICAgdmlydHVhbCBpbnQgcGxh
Y2VFbGxpcHNpc0JveChib29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0
RWRnZSwgaW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KTsKKyAgICB2b2lkIHBsYWNl
RWxsaXBzaXMoY29uc3QgQXRvbWljU3RyaW5nJiBlbGxpcHNpc1N0ciwgYm9vbCBsdHIsIGZsb2F0
IGJsb2NrTGVmdEVkZ2UsIGZsb2F0IGJsb2NrUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRo
LCBJbmxpbmVCb3gqIG1hcmt1cEJveCA9IDApOworICAgIHZpcnR1YWwgZmxvYXQgcGxhY2VFbGxp
cHNpc0JveChib29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVk
Z2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KTsKIAogICAgIEVsbGlwc2lz
Qm94KiBlbGxpcHNpc0JveCgpIGNvbnN0OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oCShyZXZpc2lvbiA3ODU3MSkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaAkod29ya2luZyBj
b3B5KQpAQCAtMzQsOCArMzQsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZW5kZXJP
YmplY3Q7CiAKIC8vIFZhbHVlcyBmb3IgdmVydGljYWwgYWxpZ25tZW50LgotY29uc3QgaW50IFBv
c2l0aW9uVG9wID0gLTB4N2ZmZmZmZmY7Ci1jb25zdCBpbnQgUG9zaXRpb25Cb3R0b20gPSAweDdm
ZmZmZmZmOwogY29uc3QgaW50IFBvc2l0aW9uVW5kZWZpbmVkID0gMHg4MDAwMDAwMDsKIAogY2xh
c3MgVmVydGljYWxQb3NpdGlvbkNhY2hlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNpb24gNzg1NzEpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00Nyw3ICs0Nyw3IEBAIFNWR0lubGluZVRleHRCb3g6OlNWR0lubGluZVRleHRC
b3goUmVuZGUKIHsKIH0KIAotaW50IFNWR0lubGluZVRleHRCb3g6Om9mZnNldEZvclBvc2l0aW9u
KGludCwgYm9vbCkgY29uc3QKK2ludCBTVkdJbmxpbmVUZXh0Qm94OjpvZmZzZXRGb3JQb3NpdGlv
bihmbG9hdCwgYm9vbCkgY29uc3QKIHsKICAgICAvLyBTVkcgZG9lc24ndCB1c2UgdGhlIHN0YW5k
YXJkIG9mZnNldCA8LT4gcG9zaXRpb24gc2VsZWN0aW9uIHN5c3RlbSwgYXMgaXQncyBub3Qgc3Vp
dGFibGUgZm9yIFNWR3MgY29tcGxleCBuZWVkcy4KICAgICAvLyB2ZXJ0aWNhbCB0ZXh0IHNlbGVj
dGlvbiwgaW5saW5lIGJveGVzIHNwYW5uaW5nIG11bHRpcGxlIGxpbmVzIChjb250cmFyeSB0byBI
VE1MLCBldGMuKQpAQCAtNzYsNyArNzYsNyBAQCBpbnQgU1ZHSW5saW5lVGV4dEJveDo6b2Zmc2V0
Rm9yUG9zaXRpb25JCiAgICAgcmV0dXJuIGZyYWdtZW50LnBvc2l0aW9uTGlzdE9mZnNldCAtIHN0
YXJ0KCkgKyB0ZXh0UmVuZGVyZXItPnNjYWxlZEZvbnQoKS5vZmZzZXRGb3JQb3NpdGlvbih0ZXh0
UnVuLCBwb3NpdGlvbiAqIHNjYWxpbmdGYWN0b3IsIGluY2x1ZGVQYXJ0aWFsR2x5cGhzKTsKIH0K
IAotaW50IFNWR0lubGluZVRleHRCb3g6OnBvc2l0aW9uRm9yT2Zmc2V0KGludCkgY29uc3QKK2Zs
b2F0IFNWR0lubGluZVRleHRCb3g6OnBvc2l0aW9uRm9yT2Zmc2V0KGludCkgY29uc3QKIHsKICAg
ICAvLyBTVkcgZG9lc24ndCB1c2UgdGhlIG9mZnNldCA8LT4gcG9zaXRpb24gc2VsZWN0aW9uIHN5
c3RlbS4gCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC00MTUsOSArNDE1LDYgQEAgVGV4
dFJ1biBTVkdJbmxpbmVUZXh0Qm94Ojpjb25zdHJ1Y3RUZXh0UgogICAgIHJ1bi5zZXRSZWZlcmVu
Y2luZ1JlbmRlck9iamVjdCh0ZXh0KTsKICNlbmRpZgogCi0gICAgLy8gRGlzYWJsZSBhbnkgd29y
ZC9jaGFyYWN0ZXIgcm91bmRpbmcuCi0gICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7Ci0K
ICAgICAvLyBXZSBoYW5kbGUgbGV0dGVyICYgd29yZCBzcGFjaW5nIG91cnNlbHZlcy4KICAgICBy
dW4uZGlzYWJsZVNwYWNpbmcoKTsKICAgICByZXR1cm4gcnVuOwpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmgJKHJldmlzaW9uIDc4NTcx
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmgJKHdv
cmtpbmcgY29weSkKQEAgLTQyLDggKzQyLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBpbnQg
c2VsZWN0aW9uVG9wKCkgeyByZXR1cm4gbV95OyB9CiAgICAgdmlydHVhbCBpbnQgc2VsZWN0aW9u
SGVpZ2h0KCkgeyByZXR1cm4gbV9sb2dpY2FsSGVpZ2h0OyB9Ci0gICAgdmlydHVhbCBpbnQgb2Zm
c2V0Rm9yUG9zaXRpb24oaW50IHgsIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMgPSB0cnVlKSBj
b25zdDsKLSAgICB2aXJ0dWFsIGludCBwb3NpdGlvbkZvck9mZnNldChpbnQgb2Zmc2V0KSBjb25z
dDsKKyAgICB2aXJ0dWFsIGludCBvZmZzZXRGb3JQb3NpdGlvbihmbG9hdCB4LCBib29sIGluY2x1
ZGVQYXJ0aWFsR2x5cGhzID0gdHJ1ZSkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9hdCBwb3NpdGlv
bkZvck9mZnNldChpbnQgb2Zmc2V0KSBjb25zdDsKIAogICAgIHZvaWQgcGFpbnRTZWxlY3Rpb25C
YWNrZ3JvdW5kKFBhaW50SW5mbyYpOwogICAgIHZpcnR1YWwgdm9pZCBwYWludChQYWludEluZm8m
LCBpbnQgdHgsIGludCB0eSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1JlbmRlclRyZWVBc1RleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAJKHJldmlzaW9uIDc4NTcxKQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDM1LDcgKzQzNSwxMCBAQCBzdGF0aWMgdm9pZCB3cml0ZVJlbmRlclNWR1Rl
eHRCb3goVGV4dFN0CiAgICAgaWYgKCFib3gpCiAgICAgICAgIHJldHVybjsKIAotICAgIHRzIDw8
ICIgYXQgKCIgPDwgdGV4dC54KCkgPDwgIiwiIDw8IHRleHQueSgpIDw8ICIpIHNpemUgIiA8PCBi
b3gtPmxvZ2ljYWxXaWR0aCgpIDw8ICJ4IiA8PCBib3gtPmxvZ2ljYWxIZWlnaHQoKTsKKyAgICAv
LyBGSVhNRTogRm9yIG5vdyB1c2UgYW4gaW50IGZvciBsb2dpY2FsV2lkdGgsIGFsdGhvdWdoIHRo
aXMgbWFrZXMgaXQgaGFyZGVyCisgICAgLy8gdG8gZGV0ZWN0IGFueSBjaGFuZ2VzIGNhdXNlZCBi
eSB0aGUgY29udmVyc2lvbiB0byBmbG9hdGluZyBwb2ludC4gOigKKyAgICBpbnQgbG9naWNhbFdp
ZHRoID0gY2VpbGYoYm94LT54KCkgKyBib3gtPmxvZ2ljYWxXaWR0aCgpKSAtIGJveC0+eCgpOwor
ICAgIHRzIDw8ICIgYXQgKCIgPDwgdGV4dC54KCkgPDwgIiwiIDw8IHRleHQueSgpIDw8ICIpIHNp
emUgIiA8PCBsb2dpY2FsV2lkdGggPDwgIngiIDw8IGJveC0+bG9naWNhbEhlaWdodCgpOwogICAg
IAogICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBoYWNrLCBvbmNlIHRoZSBuZXcgdGV4dCBsYXlv
dXQgZW5naW5lIGlzIGNvbXBsZXRseSBsYW5kZWQuIFdlIHdhbnQgdG8gcHJlc2VydmUgdGhlIG9s
ZCBsYXlvdXQgdGVzdCByZXN1bHRzIGZvciBub3cuCiAgICAgdHMgPDwgIiBjb250YWlucyAxIGNo
dW5rKHMpIjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJp
Y3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4
dE1ldHJpY3MuY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw4ICs0Nyw5IEBA
IFNWR1RleHRNZXRyaWNzOjpTVkdUZXh0TWV0cmljcyhSZW5kZXJTVkcKICAgICBpbnQgbGVuZ3Ro
ID0gMDsKIAogICAgIC8vIENhbGN1bGF0ZSB3aWR0aC9oZWlnaHQgdXNpbmcgdGhlIHNjYWxlZCBm
b250LCBkaXZpZGUgdGhpcyByZXN1bHQgYnkgdGhlIHNjYWxpbmdGYWN0b3IgYWZ0ZXJ3YXJkcy4K
LSAgICBtX3dpZHRoID0gc2NhbGVkRm9udC5mbG9hdFdpZHRoKHJ1biwgZXh0cmFDaGFyc0F2YWls
YWJsZSwgbGVuZ3RoLCBtX2dseXBoLm5hbWUpIC8gc2NhbGluZ0ZhY3RvcjsKKyAgICBtX3dpZHRo
ID0gc2NhbGVkRm9udC53aWR0aChydW4sIGV4dHJhQ2hhcnNBdmFpbGFibGUsIGxlbmd0aCwgbV9n
bHlwaC5uYW1lKSAvIHNjYWxpbmdGYWN0b3I7CiAgICAgbV9oZWlnaHQgPSBzY2FsZWRGb250LmZv
bnRNZXRyaWNzKCkuZmxvYXRIZWlnaHQoKSAvIHNjYWxpbmdGYWN0b3I7CisKICAgICBtX2dseXBo
LnVuaWNvZGVTdHJpbmcgPSBTdHJpbmcocnVuLmNoYXJhY3RlcnMoKSwgbGVuZ3RoKTsKICAgICBt
X2dseXBoLmlzVmFsaWQgPSB0cnVlOwogCkBAIC03OSw5ICs4MCw2IEBAIHN0YXRpYyBUZXh0UnVu
IGNvbnN0cnVjdFRleHRSdW4oUmVuZGVyU1YKICAgICBydW4uc2V0UmVmZXJlbmNpbmdSZW5kZXJP
YmplY3QodGV4dCk7CiAjZW5kaWYKIAotICAgIC8vIERpc2FibGUgYW55IHdvcmQvY2hhcmFjdGVy
IHJvdW5kaW5nLgotICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotCiAgICAgLy8gV2Ug
aGFuZGxlIGxldHRlciAmIHdvcmQgc3BhY2luZyBvdXJzZWx2ZXMuCiAgICAgcnVuLmRpc2FibGVT
cGFjaW5nKCk7CiAgICAgcmV0dXJuIHJ1bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
b250LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udC5jcHAJKHJl
dmlzaW9uIDc4NTcxKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zNjIsNyArMzYyLDcgQEAgc3RhdGljIHZvaWQgZmxvYXRXaWR0aE1pc3NpbmdH
bHlwaENhbGxiYQogICAgIEZvbnQgZm9udChmb250RGVzY3JpcHRpb24sIDAsIDApOyAvLyBzcGFj
aW5nIGhhbmRsZWQgYnkgU1ZHIHRleHQgY29kZS4KICAgICBmb250LnVwZGF0ZShkYXRhLmZvbnQt
PmZvbnRTZWxlY3RvcigpKTsKIAotICAgIGRhdGEubGVuZ3RoICs9IGZvbnQuZmxvYXRXaWR0aChy
dW4pOworICAgIGRhdGEubGVuZ3RoICs9IGZvbnQud2lkdGgocnVuKTsKIH0KIAogCkBAIC01NzMs
OSArNTczLDkgQEAgdm9pZCBGb250OjpkcmF3VGV4dFVzaW5nU1ZHRm9udChHcmFwaGljcwogICAg
ICAgICAgICAgICAgIGZvbnQuZHJhd1RleHQoY29udGV4dCwgZmFsbGJhY2tDaGFyYWN0ZXJSdW4s
IGN1cnJlbnRQb2ludCk7CiAKICAgICAgICAgICAgICAgICBpZiAoaXNWZXJ0aWNhbFRleHQpCi0g
ICAgICAgICAgICAgICAgICAgIGN1cnJlbnRQb2ludC5tb3ZlKDAuMGYsIGZvbnQuZmxvYXRXaWR0
aChmYWxsYmFja0NoYXJhY3RlclJ1bikpOworICAgICAgICAgICAgICAgICAgICBjdXJyZW50UG9p
bnQubW92ZSgwLjBmLCBmb250LndpZHRoKGZhbGxiYWNrQ2hhcmFjdGVyUnVuKSk7CiAgICAgICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBjdXJyZW50UG9pbnQubW92ZShmb250
LmZsb2F0V2lkdGgoZmFsbGJhY2tDaGFyYWN0ZXJSdW4pLCAwLjBmKTsKKyAgICAgICAgICAgICAg
ICAgICAgY3VycmVudFBvaW50Lm1vdmUoZm9udC53aWR0aChmYWxsYmFja0NoYXJhY3RlclJ1biks
IDAuMGYpOwogCiAgICAgICAgICAgICAgICAgZmFsbGJhY2tDaGFyYWN0ZXJJbmRleCsrOwogICAg
ICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gNzg1NzEpCisrKyBTb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMSBAQAor
MjAxMS0wMi0xNSAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTU0MjQ0CisgICAgICAgIAorICAgICAgICBDb252ZXJ0IHRoZSBs
aW5lIGJveCB0cmVlIHRvIGZsb2F0aW5nIHBvaW50IGFuZCBlbGltaW5hdGUgZm9udCByb3VuZGlu
ZyBoYWNrcy4gIFRoaXMgcGF0Y2ggcmVtb3ZlcyBhbGwgb2YgdGhlIHJvdW5kaW5nCisgICAgICAg
IGhhY2tzIGZyb20gdGhlIEZvbnQgY29kZSBhbmQgbWFrZXMgc3VyZSBhbGwgRm9udCBBUElzIGlu
dm9sdmluZyB3aWR0aCBtZWFzdXJlbWVudCBhbmQgd2lkdGggb2Zmc2V0cyB1c2UgZmxvYXRzLgor
ICAgICAgICAKKyAgICAgICAgVGhlIGxpbmUgYm94IHRyZWUncyB4LCB5IGFuZCBsb2dpY2FsV2lk
dGggbWVtYmVycyBoYXZlIGFsbCBiZWVuIGNvbnZlcnRlZCB0byBmbG9hdHMgYW5kIGFsbCBvZiB0
aGUgbGluZSBib3ggQVBJcyBoYXZlCisgICAgICAgIGJlZW4gY2hhbmdlZCBhcyB3ZWxsLgorICAg
ICAgICAKKyAgICAgICAgSW4gdGVybXMgb2YgcGl4ZWwgYWRqdXN0bWVudHMsIG92ZXJmbG93IGlz
IHVzaW5nIGFuIGVuY2xvc2luZyBtb2RlbCAoc28gaXQgd2lsbCBiZSBlbmNsb3NpbmdJbnRSZWN0
IG9mIGEgbGluZSBib3gncyB4L3kvd2lkdGgvaGVpZ2h0KS4KKyAgICAgICAgCisgICAgICAgIEJh
Y2tncm91bmQgYW5kIGJvcmRlciBwYWludGluZyBpcyB1c2luZyBhIHJvdW5kaW5nIG1vZGVsLCBz
byBib3JkZXJzIGFuZCBiYWNrZ3JvdW5kcyB3aWxsIHJvdW5kIHRvIHRoZSBuZWFyZXN0IHBpeGVs
IHdoZW4gcGFpbnRpbmcuCisgICAgICAgIAorICAgICAgICBSZXBsYWNlZCBlbGVtZW50cyBzdGls
bCBzbmFwIHRvIGludGVnZXIgcG9zaXRpb25zIG9uIGxpbmVzLCBhbmQgdGhleSB1c2UgYSByb3Vu
ZGluZyBtb2RlbCBhcyB3ZWxsLCBhbHRob3VnaCB0aGVpciB1bmRlcmx5aW5nIGxpbmUgYm94ZXMK
KyAgICAgICAgc3RpbGwgaGF2ZSBhIHByZWNpc2UgZmxvYXRpbmcgcG9pbnQgcG9zaXRpb24uCisK
KyAgICAgICAgSnVzdGlmaWNhdGlvbiB3aWxsIG5vdyBhbGxvdyBzdWJwaXhlbCBwb3NpdGlvbmlu
ZyB0byBvY2N1ciBhcyB3ZWxsLiAgUGxhdGZvcm1zIHRoYXQgZG9uJ3Qgc3VwcG9ydCBzdWJwaXhl
bCBwb3NpdGlvbmluZyBzaG91bGQgYWxyZWFkeQorICAgICAgICBiZSByb3VuZGluZyBqdXN0aWZp
Y2F0aW9uIHNwYWNpbmcgaW4gdGhlaXIgZm9udCBjb2RlLgorCisgICAgICAgIE1hbnkgbGF5b3V0
IHRlc3QgcmVzdWx0cyBjaGFuZ2Ugb24gTWFjLCBzaW5jZSByb3VuZGluZyBoYWNrcyB3ZXJlIHVz
ZWQgdGhlcmUgYW5kIGFyZSBub3cgZ29uZS4KKworICAgICAgICAqIE1pc2MvV2ViS2l0TlNTdHJp
bmdFeHRyYXMubW06CisgICAgICAgICgtW05TU3RyaW5nIF93ZWJfZHJhd0F0UG9pbnQ6Zm9udDp0
ZXh0Q29sb3I6YWxsb3dpbmdGb250U21vb3RoaW5nOl0pOgorICAgICAgICAoLVtOU1N0cmluZyBf
d2ViX3dpZHRoV2l0aEZvbnQ6XSk6CisKIDIwMTEtMDEtMjYgIE1PUklUQSBIYWppbWUgIDxtb3Jy
aXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgpJbmRl
eDogU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXROU1N0cmluZ0V4dHJhcy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdE5TU3RyaW5nRXh0cmFzLm1tCShy
ZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0TlNTdHJpbmdF
eHRyYXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTkxLDcgKzkxLDYgQEAgLSAodm9pZClfd2ViX2Ry
YXdBdFBvaW50OihOU1BvaW50KXBvaW50IAogCiAgICAgICAgIEZvbnQgd2ViQ29yZUZvbnQoRm9u
dFBsYXRmb3JtRGF0YShmb250LCBbZm9udCBwb2ludFNpemVdKSwgIVtuc0NvbnRleHQgaXNEcmF3
aW5nVG9TY3JlZW5dLCBmb250U21vb3RoaW5nSXNBbGxvd2VkID8gQXV0b1Ntb290aGluZyA6IEFu
dGlhbGlhc2VkKTsKICAgICAgICAgVGV4dFJ1biBydW4oYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKTsK
LSAgICAgICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7CiAKICAgICAgICAgQ0dGbG9hdCBy
ZWQ7CiAgICAgICAgIENHRmxvYXQgZ3JlZW47CkBAIC0xMzcsOCArMTM2LDcgQEAgLSAoZmxvYXQp
X3dlYl93aWR0aFdpdGhGb250OihOU0ZvbnQgKilmbwogICAgIGlmIChjYW5Vc2VGYXN0UmVuZGVy
ZXIoYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKSkgewogICAgICAgICBGb250IHdlYkNvcmVGb250KEZv
bnRQbGF0Zm9ybURhdGEoZm9udCwgW2ZvbnQgcG9pbnRTaXplXSksICFbW05TR3JhcGhpY3NDb250
ZXh0IGN1cnJlbnRDb250ZXh0XSBpc0RyYXdpbmdUb1NjcmVlbl0pOwogICAgICAgICBUZXh0UnVu
IHJ1bihidWZmZXIuZGF0YSgpLCBsZW5ndGgpOwotICAgICAgICBydW4uZGlzYWJsZVJvdW5kaW5n
SGFja3MoKTsKLSAgICAgICAgcmV0dXJuIHdlYkNvcmVGb250LmZsb2F0V2lkdGgocnVuKTsKKyAg
ICAgICAgcmV0dXJuIHdlYkNvcmVGb250LndpZHRoKHJ1bik7CiAgICAgfQogCiAgICAgcmV0dXJu
IFtzZWxmIHNpemVXaXRoQXR0cmlidXRlczpbTlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRoT2Jq
ZWN0c0FuZEtleXM6Zm9udCwgTlNGb250QXR0cmlidXRlTmFtZSwgbmlsXV0ud2lkdGg7CkluZGV4
OiBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiA3ODYwMSkKKysrIFNvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDExLTAyLTE1ICBEYXZp
ZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTQyNDQKKyAgICAgICAgCisgICAgICAgIENvbnZlcnQgdGhlIGxpbmUgYm94IHRyZWUgdG8g
ZmxvYXRpbmcgcG9pbnQgYW5kIGVsaW1pbmF0ZSBmb250IHJvdW5kaW5nIGhhY2tzLiAgVGhpcyBw
YXRjaCByZW1vdmVzIGFsbCBvZiB0aGUgcm91bmRpbmcKKyAgICAgICAgaGFja3MgZnJvbSB0aGUg
Rm9udCBjb2RlIGFuZCBtYWtlcyBzdXJlIGFsbCBGb250IEFQSXMgaW52b2x2aW5nIHdpZHRoIG1l
YXN1cmVtZW50IGFuZCB3aWR0aCBvZmZzZXRzIHVzZSBmbG9hdHMuCisgICAgICAgIAorICAgICAg
ICBUaGUgbGluZSBib3ggdHJlZSdzIHgsIHkgYW5kIGxvZ2ljYWxXaWR0aCBtZW1iZXJzIGhhdmUg
YWxsIGJlZW4gY29udmVydGVkIHRvIGZsb2F0cyBhbmQgYWxsIG9mIHRoZSBsaW5lIGJveCBBUElz
IGhhdmUKKyAgICAgICAgYmVlbiBjaGFuZ2VkIGFzIHdlbGwuCisgICAgICAgIAorICAgICAgICBJ
biB0ZXJtcyBvZiBwaXhlbCBhZGp1c3RtZW50cywgb3ZlcmZsb3cgaXMgdXNpbmcgYW4gZW5jbG9z
aW5nIG1vZGVsIChzbyBpdCB3aWxsIGJlIGVuY2xvc2luZ0ludFJlY3Qgb2YgYSBsaW5lIGJveCdz
IHgveS93aWR0aC9oZWlnaHQpLgorICAgICAgICAKKyAgICAgICAgQmFja2dyb3VuZCBhbmQgYm9y
ZGVyIHBhaW50aW5nIGlzIHVzaW5nIGEgcm91bmRpbmcgbW9kZWwsIHNvIGJvcmRlcnMgYW5kIGJh
Y2tncm91bmRzIHdpbGwgcm91bmQgdG8gdGhlIG5lYXJlc3QgcGl4ZWwgd2hlbiBwYWludGluZy4K
KyAgICAgICAgCisgICAgICAgIFJlcGxhY2VkIGVsZW1lbnRzIHN0aWxsIHNuYXAgdG8gaW50ZWdl
ciBwb3NpdGlvbnMgb24gbGluZXMsIGFuZCB0aGV5IHVzZSBhIHJvdW5kaW5nIG1vZGVsIGFzIHdl
bGwsIGFsdGhvdWdoIHRoZWlyIHVuZGVybHlpbmcgbGluZSBib3hlcworICAgICAgICBzdGlsbCBo
YXZlIGEgcHJlY2lzZSBmbG9hdGluZyBwb2ludCBwb3NpdGlvbi4KKworICAgICAgICBKdXN0aWZp
Y2F0aW9uIHdpbGwgbm93IGFsbG93IHN1YnBpeGVsIHBvc2l0aW9uaW5nIHRvIG9jY3VyIGFzIHdl
bGwuICBQbGF0Zm9ybXMgdGhhdCBkb24ndCBzdXBwb3J0IHN1YnBpeGVsIHBvc2l0aW9uaW5nIHNo
b3VsZCBhbHJlYWR5CisgICAgICAgIGJlIHJvdW5kaW5nIGp1c3RpZmljYXRpb24gc3BhY2luZyBp
biB0aGVpciBmb250IGNvZGUuCisKKyAgICAgICAgTWFueSBsYXlvdXQgdGVzdCByZXN1bHRzIGNo
YW5nZSBvbiBNYWMsIHNpbmNlIHJvdW5kaW5nIGhhY2tzIHdlcmUgdXNlZCB0aGVyZSBhbmQgYXJl
IG5vdyBnb25lLgorCisgICAgICAgICogV2ViS2l0R3JhcGhpY3MuY3BwOgorICAgICAgICAoQ2Vu
dGVyVHJ1bmNhdGVTdHJpbmdUb1dpZHRoKToKKyAgICAgICAgKFJpZ2h0VHJ1bmNhdGVTdHJpbmdU
b1dpZHRoKToKKwogMjAxMS0wMS0yNiAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L3dpbi9XZWJLaXRHcmFwaGljcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93
aW4vV2ViS2l0R3JhcGhpY3MuY3BwCShyZXZpc2lvbiA3ODU3MSkKKysrIFNvdXJjZS9XZWJLaXQv
d2luL1dlYktpdEdyYXBoaWNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ5LDcgKzE0OSw3IEBA
IHVuc2lnbmVkIENlbnRlclRydW5jYXRlU3RyaW5nVG9XaWR0aChMUEMKIHsKICAgICBBU1NFUlQo
YnVmZmVyKTsKIAotICAgIFN0cmluZyByZXN1bHQgPSBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRy
dW5jYXRlKFN0cmluZyh0ZXh0LCBsZW5ndGgpLCB3aWR0aCwgbWFrZUZvbnQoZGVzY3JpcHRpb24p
LCBmYWxzZSk7CisgICAgU3RyaW5nIHJlc3VsdCA9IFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1
bmNhdGUoU3RyaW5nKHRleHQsIGxlbmd0aCksIHdpZHRoLCBtYWtlRm9udChkZXNjcmlwdGlvbikp
OwogICAgIG1lbWNweShidWZmZXIsIHJlc3VsdC5jaGFyYWN0ZXJzKCksIHJlc3VsdC5sZW5ndGgo
KSAqIHNpemVvZihVQ2hhcikpOwogICAgIGJ1ZmZlcltyZXN1bHQubGVuZ3RoKCldID0gJ1wwJzsK
ICAgICByZXR1cm4gcmVzdWx0Lmxlbmd0aCgpOwpAQCAtMTU5LDcgKzE1OSw3IEBAIHVuc2lnbmVk
IFJpZ2h0VHJ1bmNhdGVTdHJpbmdUb1dpZHRoKExQQ1QKIHsKICAgICBBU1NFUlQoYnVmZmVyKTsK
IAotICAgIFN0cmluZyByZXN1bHQgPSBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUoU3Ry
aW5nKHRleHQsIGxlbmd0aCksIHdpZHRoLCBtYWtlRm9udChkZXNjcmlwdGlvbiksIGZhbHNlKTsK
KyAgICBTdHJpbmcgcmVzdWx0ID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKFN0cmlu
Zyh0ZXh0LCBsZW5ndGgpLCB3aWR0aCwgbWFrZUZvbnQoZGVzY3JpcHRpb24pKTsKICAgICBtZW1j
cHkoYnVmZmVyLCByZXN1bHQuY2hhcmFjdGVycygpLCByZXN1bHQubGVuZ3RoKCkgKiBzaXplb2Yo
VUNoYXIpKTsKICAgICBidWZmZXJbcmVzdWx0Lmxlbmd0aCgpXSA9ICdcMCc7CiAgICAgcmV0dXJu
IHJlc3VsdC5sZW5ndGgoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82533</attachid>
            <date>2011-02-15 15:16:32 -0800</date>
            <delta_ts>2011-04-26 13:07:11 -0700</delta_ts>
            <desc>Update for Windows again since code got added to WebKit2</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>205872</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4NjIzKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjU4IEBACisyMDExLTAyLTE1ICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTQyNDQKKyAgICAgICAgCisgICAgICAgIENvbnZlcnQgdGhlIGxpbmUgYm94IHRyZWUgdG8gZmxv
YXRpbmcgcG9pbnQgYW5kIGVsaW1pbmF0ZSBmb250IHJvdW5kaW5nIGhhY2tzLiAgVGhpcyBwYXRj
aCByZW1vdmVzIGFsbCBvZiB0aGUgcm91bmRpbmcKKyAgICAgICAgaGFja3MgZnJvbSB0aGUgRm9u
dCBjb2RlIGFuZCBtYWtlcyBzdXJlIGFsbCBGb250IEFQSXMgaW52b2x2aW5nIHdpZHRoIG1lYXN1
cmVtZW50IGFuZCB3aWR0aCBvZmZzZXRzIHVzZSBmbG9hdHMuCisgICAgICAgIAorICAgICAgICBU
aGUgbGluZSBib3ggdHJlZSdzIHgsIHkgYW5kIGxvZ2ljYWxXaWR0aCBtZW1iZXJzIGhhdmUgYWxs
IGJlZW4gY29udmVydGVkIHRvIGZsb2F0cyBhbmQgYWxsIG9mIHRoZSBsaW5lIGJveCBBUElzIGhh
dmUKKyAgICAgICAgYmVlbiBjaGFuZ2VkIGFzIHdlbGwuCisgICAgICAgIAorICAgICAgICBJbiB0
ZXJtcyBvZiBwaXhlbCBhZGp1c3RtZW50cywgb3ZlcmZsb3cgaXMgdXNpbmcgYW4gZW5jbG9zaW5n
IG1vZGVsIChzbyBpdCB3aWxsIGJlIGVuY2xvc2luZ0ludFJlY3Qgb2YgYSBsaW5lIGJveCdzIHgv
eS93aWR0aC9oZWlnaHQpLgorICAgICAgICAKKyAgICAgICAgQmFja2dyb3VuZCBhbmQgYm9yZGVy
IHBhaW50aW5nIGlzIHVzaW5nIGEgcm91bmRpbmcgbW9kZWwsIHNvIGJvcmRlcnMgYW5kIGJhY2tn
cm91bmRzIHdpbGwgcm91bmQgdG8gdGhlIG5lYXJlc3QgcGl4ZWwgd2hlbiBwYWludGluZy4KKyAg
ICAgICAgCisgICAgICAgIFJlcGxhY2VkIGVsZW1lbnRzIHN0aWxsIHNuYXAgdG8gaW50ZWdlciBw
b3NpdGlvbnMgb24gbGluZXMsIGFuZCB0aGV5IHVzZSBhIHJvdW5kaW5nIG1vZGVsIGFzIHdlbGws
IGFsdGhvdWdoIHRoZWlyIHVuZGVybHlpbmcgbGluZSBib3hlcworICAgICAgICBzdGlsbCBoYXZl
IGEgcHJlY2lzZSBmbG9hdGluZyBwb2ludCBwb3NpdGlvbi4KKworICAgICAgICBKdXN0aWZpY2F0
aW9uIHdpbGwgbm93IGFsbG93IHN1YnBpeGVsIHBvc2l0aW9uaW5nIHRvIG9jY3VyIGFzIHdlbGwu
ICBQbGF0Zm9ybXMgdGhhdCBkb24ndCBzdXBwb3J0IHN1YnBpeGVsIHBvc2l0aW9uaW5nIHNob3Vs
ZCBhbHJlYWR5CisgICAgICAgIGJlIHJvdW5kaW5nIGp1c3RpZmljYXRpb24gc3BhY2luZyBpbiB0
aGVpciBmb250IGNvZGUuCisKKyAgICAgICAgTWFueSBsYXlvdXQgdGVzdCByZXN1bHRzIGNoYW5n
ZSBvbiBNYWMsIHNpbmNlIHJvdW5kaW5nIGhhY2tzIHdlcmUgdXNlZCB0aGVyZSBhbmQgYXJlIG5v
dyBnb25lLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJbnRlcm5hbCk6CisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vRmlsZUNob29zZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
aWxlQ2hvb3Nlcjo6YmFzZW5hbWVGb3JXaWR0aCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojp3aWR0aCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6c3BhY2VX
aWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojp0YWJXaWR0aCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6
OmdldEdseXBoc0FuZEFkdmFuY2VzRm9yU2ltcGxlVGV4dCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDo6ZHJhd1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0Ojpk
cmF3RW1waGFzaXNNYXJrcyk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRy
YXdCaWRpVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdIaWdo
bGlnaHRGb3JUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6U2ltcGxlRm9udERhdGEpOgorICAgICAg
ICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtR2x5cGhJbml0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6
U2ltcGxlRm9udERhdGE6OnNwYWNlV2lkdGgpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L1N0cmluZ1RydW5jYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzdHJpbmdXaWR0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjp0cnVuY2F0ZVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTdHJp
bmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmluZ1Ry
dW5jYXRvcjo6cmlnaHRUcnVuY2F0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHJpbmdUcnVuY2F0
b3I6OndpZHRoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TdHJpbmdUcnVuY2F0b3Iu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmg6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0UnVuOjpUZXh0UnVuKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRSdW46OnhQb3Mp
OgorICAgICAgICAoV2ViQ29yZTo6VGV4dFJ1bjo6ZXhwYW5zaW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRSdW46OmRpcmVjdGlvbmFsT3ZlcnJpZGUpOgorICAgICAgICAoV2ViQ29yZTo6VGV4
dFJ1bjo6ZGlzYWJsZVNwYWNpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRo
SXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6V2lkdGhJdGVy
YXRvcik6CisgICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjphZHZhbmNlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpDb21wbGV4VGV4dENvbnRyb2xsZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjphZHZhbmNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzQW5kQWR2YW5jZXMp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENvbXBsZXhUZXh0TWFjLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmdldEdseXBoc0FuZEFkdmFuY2VzRm9yQ29tcGxl
eFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHRN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dENoZWNraW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRl
eHRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9y
VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dENoZWNraW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0
YVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBo
SW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRT
a2lhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JU
ZXh0Q2hlY2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3TGlu
ZUZvclRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRl
eHRDR1dpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5l
Rm9yVGV4dENoZWNraW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vVW5pc2Ny
aWJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpVbmlzY3JpYmVDb250cm9sbGVy
OjpzaGFwZUFuZFBsYWNlSXRlbSk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0ZpbGVDaG9vc2Vy
R3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVDaG9vc2VyOjpiYXNlbmFtZUZvcldpZHRo
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6d2lkdGhXaXRoRm9udCk6CisgICAgICAgIChXZWJDb3JlOjpkcmF3QXRQb2ludCk6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL0ZpbGVDaG9vc2VyTWFjLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6RmlsZUNob29zZXI6OmJhc2VuYW1lRm9yV2lkdGgpOgorICAgICAgICAqIHBsYXRmb3JtL3dp
bi9EcmFnSW1hZ2VXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRHJhZ0ltYWdlRm9y
TGluayk6CisgICAgICAgICogcGxhdGZvcm0vd2luL0ZpbGVDaG9vc2VyV2luLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZpbGVDaG9vc2VyOjpiYXNlbmFtZUZvcldpZHRoKToKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwTWVu
dVdpbjo6Y2FsY3VsYXRlUG9zaXRpb25BbmRTaXplKToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4v
V2ViQ29yZVRleHRSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlVGV4dEZs
b2F0V2lkdGgpOgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQp
OgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVzdWx0Lmg6CisgICAgICAgICogcmVuZGVy
aW5nL0lubGluZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OmFkanVzdFBv
c2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUJveDo6cGxhY2VFbGxpcHNpc0JveCk6
CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OmxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcp
OgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQm94OjpmbGlwRm9yV3JpdGluZ01vZGUpOgorICAg
ICAgICAqIHJlbmRlcmluZy9JbmxpbmVCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUJv
eDo6SW5saW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUJveDo6YWRqdXN0TGluZURp
cmVjdGlvblBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUJveDo6YWRqdXN0Qmxv
Y2tEaXJlY3Rpb25Qb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OnNldFgp
OgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQm94Ojp4KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
bGluZUJveDo6c2V0WSk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OnkpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lQm94Ojp3aWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVC
b3g6OmhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OmxvZ2ljYWxMZWZ0KToK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUJveDo6bG9naWNhbFJpZ2h0KToKKyAgICAgICAgKFdl
YkNvcmU6OklubGluZUJveDo6c2V0TG9naWNhbExlZnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5s
aW5lQm94OjpwaXhlbFNuYXBwZWRMb2dpY2FsTGVmdCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVCb3g6OnBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVCb3g6OnNldExvZ2ljYWxXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6Omxv
Z2ljYWxXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OnZlcnRpY2FsQWxpZ24p
OgorICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OklubGluZUZsb3dCb3g6OnJvdW5kZWRGcmFtZVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6
SW5saW5lRmxvd0JveDo6YWRqdXN0UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5l
Rmxvd0JveDo6cGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OklubGluZUZsb3dCb3g6OmFkanVzdE1heEFzY2VudEFuZERlc2NlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6dmVydGljYWxQb3NpdGlvbkZvckJveCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVG
bG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaWdodHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5s
aW5lRmxvd0JveDo6cGxhY2VCb3hlc0luQmxvY2tEaXJlY3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lRmxvd0JveDo6YWRkQm94U2hhZG93VmlzdWFsT3ZlcmZsb3cpOgorICAgICAgICAo
V2ViQ29yZTo6SW5saW5lRmxvd0JveDo6YWRkVGV4dEJveFZpc3VhbE92ZXJmbG93KToKKyAgICAg
ICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmNvbXB1dGVPdmVyZmxvdyk6CisgICAgICAgIChX
ZWJDb3JlOjpJbmxpbmVGbG93Qm94OjpzZXRMYXlvdXRPdmVyZmxvdyk6CisgICAgICAgIChXZWJD
b3JlOjpJbmxpbmVGbG93Qm94OjpzZXRWaXN1YWxPdmVyZmxvdyk6CisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVGbG93Qm94Ojpub2RlQXRQb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVG
bG93Qm94OjpwYWludEJveERlY29yYXRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZs
b3dCb3g6OnBhaW50TWFzayk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVGbG93Qm94OjpwbGFj
ZUVsbGlwc2lzQm94KToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oOgorICAg
ICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6bWF4WUxheW91dE92ZXJmbG93KToKKyAgICAg
ICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6Om1heFhMYXlvdXRPdmVyZmxvdyk6CisgICAgICAg
IChXZWJDb3JlOjpJbmxpbmVGbG93Qm94OjpsYXlvdXRPdmVyZmxvd1JlY3QpOgorICAgICAgICAo
V2ViQ29yZTo6SW5saW5lRmxvd0JveDo6bWF4WVZpc3VhbE92ZXJmbG93KToKKyAgICAgICAgKFdl
YkNvcmU6OklubGluZUZsb3dCb3g6Om1heFhWaXN1YWxPdmVyZmxvdyk6CisgICAgICAgIChXZWJD
b3JlOjpJbmxpbmVGbG93Qm94Ojp2aXN1YWxPdmVyZmxvd1JlY3QpOgorICAgICAgICAqIHJlbmRl
cmluZy9JbmxpbmVUZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6
OnBsYWNlRWxsaXBzaXNCb3gpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6bm9k
ZUF0UG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRUZXh0V2l0aFNoYWRvd3MpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6
SW5saW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5l
VGV4dEJveDo6cGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQpOgorICAgICAgICAoV2ViQ29yZTo6
SW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklubGlu
ZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lVGV4dEJveDo6cGFpbnRUZXh0TWF0Y2hNYXJrZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lVGV4dEJveDo6cGFpbnREb2N1bWVudE1hcmtlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGVybGluZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbmxpbmVUZXh0Qm94Ojp0ZXh0UG9zKToKKyAgICAgICAgKFdlYkNvcmU6OklubGlu
ZVRleHRCb3g6Om9mZnNldEZvclBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRl
eHRCb3g6OnBvc2l0aW9uRm9yT2Zmc2V0KToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4
dEJveC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6c2V0RXhwYW5zaW9uKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQlIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJSOjp3aWR0aCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnN0cmlwVHJhaWxpbmdTcGFjZSk6CisgICAgICAgIChXZWJDb3JlOjp1cGRh
dGVQcmVmZXJyZWRXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6Y29tcHV0
ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6OmFkanVzdEZvckJvcmRlckZpdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6YWRkRm9jdXNSaW5nUmVjdHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNG
b3JMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpmaXRCZWxvd0Zsb2F0cyk6
CisgICAgICAgIChXZWJDb3JlOjp0ZXh0V2lkdGgpOgorICAgICAgICAoV2ViQ29yZTo6dHJ5SHlw
aGVuYXRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZUJy
ZWFrKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJveDo6cG9zaXRpb25MaW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveDo6ZmxpcEZvcldyaXRpbmdNb2RlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVUZXh0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckNvbWJpbmVUZXh0Ojp3aWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJDb21iaW5lVGV4dDo6YWRqdXN0VGV4dE9yaWdpbik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJDb21iaW5lVGV4dDo6Y29tYmluZVRleHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJDb21iaW5lVGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQ29tYmluZVRleHQ6OmNv
bWJpbmVkVGV4dFdpZHRoKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJDb3VudGVyOjpjb21wdXRlUHJlZmVycmVkTG9naWNh
bFdpZHRocyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRW1iZWRkZWRPYmplY3Q6OmdldFJlcGxhY2VtZW50VGV4dEdlb21ldHJ5KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lk
dGhzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5l
OjpsaW5lc0JvdW5kaW5nQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6bGlu
ZXNWaXN1YWxPdmVyZmxvd0JvdW5kaW5nQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklu
bGluZTo6YWRkRm9jdXNSaW5nUmVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5l
OjpwYWludE91dGxpbmUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnVwZGF0ZUZyb21FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnBhaW50SXRlbUZvcmVncm91bmQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJNZW51TGlzdDo6dXBkYXRlT3B0aW9uc1dpZHRoKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojpsb2NhbENhcmV0
UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojp3aWR0aEZyb21DYWNoZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldpZHRocyk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUZXh0OjptaW5Mb2dpY2FsV2lkdGgpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGV4dDo6bWF4TG9naWNhbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRleHQ6OmZpcnN0UnVuT3JpZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRl
eHQ6OmZpcnN0UnVuWCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjpmaXJzdFJ1blkp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6d2lkdGgpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGV4dDo6bGluZXNCb3VuZGluZ0JveCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRleHQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2w6OmdldEF2Z0NoYXJXaWR0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbDo6cGFpbnRQbGFjZWhvbGRlcik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6d3JpdGVUZXh0UnVuKToKKyAgICAgICAgKiByZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJvb3RJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXNCb3gpOgorICAgICAgICAo
V2ViQ29yZTo6Um9vdElubGluZUJveDo6YWRqdXN0UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6Um9vdElubGluZUJveDo6YmVmb3JlQW5ub3RhdGlvbnNBZGp1c3RtZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OlJvb3RJbmxpbmVCb3g6OnBhZGRlZExheW91dE92ZXJmbG93UmVjdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaDoKKyAgICAgICAgKiByZW5kZXJpbmcvVmVy
dGljYWxQb3NpdGlvbkNhY2hlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVU
ZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6Om9mZnNldEZv
clBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnBvc2l0aW9u
Rm9yT2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OmNvbnN0cnVj
dFRleHRSdW4pOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp3cml0ZVJlbmRlclNWR1RleHRCb3gpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dmcvU1ZHVGV4dE1ldHJpY3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dE1ldHJpY3M6
OlNWR1RleHRNZXRyaWNzKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN0cnVjdFRleHRSdW4pOgor
ICAgICAgICAqIHN2Zy9TVkdGb250LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZsb2F0V2lkdGhN
aXNzaW5nR2x5cGhDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpkcmF3VGV4dFVz
aW5nU1ZHRm9udCk6CisKIDIwMTEtMDItMTUgIFByYXRpayBTb2xhbmtpICA8cHNvbGFua2lAYXBw
bGUuY29tPgogCiAgICAgICAgIE1vdmUgV1RGX1VTRV9DRk5FVFdPUksgdG8gUGxhdGZvcm0uaApJ
bmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHJldmlzaW9uIDc4NjIzKQorKysgU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTQwMCw5ICs0MDAsOSBAQCBfX1pO
N1dlYkNvcmUxNVByb3RlY3Rpb25TcGFjZUMxRVJLTjNXVEY2CiBfX1pON1dlYkNvcmUxNVByb3Rl
Y3Rpb25TcGFjZUMxRXYKIF9fWk43V2ViQ29yZTE1U2Nyb2xsQWxpZ25tZW50MTdhbGlnbkNlbnRl
ckFsd2F5c0UKIF9fWk43V2ViQ29yZTE1U2Nyb2xsQWxpZ25tZW50MTlhbGlnblRvRWRnZUlmTmVl
ZGVkRQotX19aTjdXZWJDb3JlMTVTdHJpbmdUcnVuY2F0b3IxM3JpZ2h0VHJ1bmNhdGVFUktOM1dU
RjZTdHJpbmdFZlJLTlNfNEZvbnRFYgotX19aTjdXZWJDb3JlMTVTdHJpbmdUcnVuY2F0b3IxNGNl
bnRlclRydW5jYXRlRVJLTjNXVEY2U3RyaW5nRWZSS05TXzRGb250RWIKLV9fWk43V2ViQ29yZTE1
U3RyaW5nVHJ1bmNhdG9yNXdpZHRoRVJLTjNXVEY2U3RyaW5nRVJLTlNfNEZvbnRFYgorX19aTjdX
ZWJDb3JlMTVTdHJpbmdUcnVuY2F0b3IxNGNlbnRlclRydW5jYXRlRVJLTjNXVEY2U3RyaW5nRWZS
S05TXzRGb250RQorX19aTjdXZWJDb3JlMTVTdHJpbmdUcnVuY2F0b3IxM3JpZ2h0VHJ1bmNhdGVF
UktOM1dURjZTdHJpbmdFZlJLTlNfNEZvbnRFCitfX1pON1dlYkNvcmUxNVN0cmluZ1RydW5jYXRv
cjV3aWR0aEVSS04zV1RGNlN0cmluZ0VSS05TXzRGb250RQogX19aTjdXZWJDb3JlMTVWaXNpYmxl
UG9zaXRpb25DMUVQTlNfNE5vZGVFaU5TXzlFQWZmaW5pdHlFCiBfX1pON1dlYkNvcmUxNVZpc2li
bGVQb3NpdGlvbkMxRVJLTlNfOFBvc2l0aW9uRU5TXzlFQWZmaW5pdHlFCiBfX1pON1dlYkNvcmUx
NWRlZmF1bHRMYW5ndWFnZUV2CkBAIC0xMTI3LDcgKzExMjcsNyBAQCBfX1pOSzdXZWJDb3JlMjdB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZUJhCiBfX1pOSzdXZWJDb3JlMjdBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZUJhc2UyMHByZXZpb3VzRmFpbHVyZUNvdW50RXYKIF9fWk5LN1dlYkNvcmUyN0F1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlQmFzZTVlcnJvckV2CiBfX1pOSzdXZWJDb3JlMjdBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZUJhc2U2aXNOdWxsRXYKLV9fWk5LN1dlYkNvcmU0Rm9udDEwZmxvYXRXaWR0
aEVSS05TXzdUZXh0UnVuRVBOM1dURjdIYXNoU2V0SVBLTlNfMTRTaW1wbGVGb250RGF0YUVOUzRf
N1B0ckhhc2hJUzhfRUVOUzRfMTBIYXNoVHJhaXRzSVM4X0VFRUVQTlNfMTNHbHlwaE92ZXJmbG93
RQorX19aTks3V2ViQ29yZTRGb250NXdpZHRoRVJLTlNfN1RleHRSdW5FUE4zV1RGN0hhc2hTZXRJ
UEtOU18xNFNpbXBsZUZvbnREYXRhRU5TNF83UHRySGFzaElTOF9FRU5TNF8xMEhhc2hUcmFpdHNJ
UzhfRUVFRVBOU18xM0dseXBoT3ZlcmZsb3dFCiBfX1pOSzdXZWJDb3JlNEZvbnQ4ZHJhd1RleHRF
UE5TXzE1R3JhcGhpY3NDb250ZXh0RVJLTlNfN1RleHRSdW5FUktOU18xMEZsb2F0UG9pbnRFaWkK
IF9fWk5LN1dlYkNvcmU0S1VSTDExY3JlYXRlQ0ZVUkxFdgogX19aTks3V2ViQ29yZTRLVVJMMTFp
c0xvY2FsRmlsZUV2CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHJldmlzaW9uIDc4NjIzKQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTc3Myw3ICsxNzczLDcgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQ6OmRyYXdUZXh0SQogCiAgICAgdW5zaWduZWQgbGVuZ3RoID0gdGV4dC5sZW5ndGgoKTsK
ICAgICBjb25zdCBVQ2hhciogc3RyaW5nID0gdGV4dC5jaGFyYWN0ZXJzKCk7Ci0gICAgVGV4dFJ1
biB0ZXh0UnVuKHN0cmluZywgbGVuZ3RoLCBmYWxzZSwgMCwgMCwgVGV4dFJ1bjo6QWxsb3dUcmFp
bGluZ0V4cGFuc2lvbiwgcnRsLCBvdmVycmlkZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBUZXh0UnVu
IHRleHRSdW4oc3RyaW5nLCBsZW5ndGgsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWls
aW5nRXhwYW5zaW9uLCBydGwsIG92ZXJyaWRlKTsKIAogICAgIC8vIERyYXcgdGhlIGl0ZW0gdGV4
dCBhdCB0aGUgY29ycmVjdCBwb2ludC4KICAgICBGbG9hdFBvaW50IGxvY2F0aW9uKHgsIHkpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRmlsZUNob29zZXJDaHJvbWl1
bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRmls
ZUNob29zZXJDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDc4NjIzKQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vRmlsZUNob29zZXJDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ0LDkgKzQ0LDkgQEAgU3RyaW5nIEZpbGVDaG9vc2VyOjpiYXNlbmFtZUZvcldpZHRoKGNv
bgogICAgIGVsc2UgaWYgKG1fZmlsZW5hbWVzLnNpemUoKSA9PSAxKQogICAgICAgICBzdHJpbmcg
PSBwYXRoR2V0RGlzcGxheUZpbGVOYW1lKG1fZmlsZW5hbWVzWzBdKTsKICAgICBlbHNlCi0gICAg
ICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUobXVsdGlwbGVGaWxlVXBs
b2FkVGV4dChtX2ZpbGVuYW1lcy5zaXplKCkpLCB3aWR0aCwgZm9udCwgZmFsc2UpOworICAgICAg
ICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmlsZVVwbG9h
ZFRleHQobV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQpOwogCi0gICAgcmV0dXJuIFN0
cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyaW5nLCBzdGF0aWNfY2FzdDxmbG9hdD4o
d2lkdGgpLCBmb250LCBmYWxzZSk7CisgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVy
VHJ1bmNhdGUoc3RyaW5nLCBzdGF0aWNfY2FzdDxmbG9hdD4od2lkdGgpLCBmb250KTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udC5jcHAJKHJldmlzaW9uIDc4NjIzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDE3ICszOSw2IEBAIHVz
aW5nIG5hbWVzcGFjZSBVbmljb2RlOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IHVp
bnQ4X3QgRm9udDo6Z1JvdW5kaW5nSGFja0NoYXJhY3RlclRhYmxlWzI1Nl0gPSB7Ci0gICAgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSAvKlx0Ki8sIDEgLypcbiovLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDEg
LypzcGFjZSovLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxIC8qLSovLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxIC8qPyov
LAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCi0gICAgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDEgLypuby1icmVhayBzcGFjZSovLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMAot
fTsKLQogRm9udDo6Q29kZVBhdGggRm9udDo6c19jb2RlUGF0aCA9IEF1dG87CiAKIC8vID09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0xNzYsNyArMTY1LDcgQEAgdm9pZCBG
b250OjpkcmF3RW1waGFzaXNNYXJrcyhHcmFwaGljc0NvbgogICAgICAgICBkcmF3RW1waGFzaXNN
YXJrc0ZvckNvbXBsZXhUZXh0KGNvbnRleHQsIHJ1biwgbWFyaywgcG9pbnQsIGZyb20sIHRvKTsK
IH0KIAotZmxvYXQgRm9udDo6ZmxvYXRXaWR0aChjb25zdCBUZXh0UnVuJiBydW4sIEhhc2hTZXQ8
Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5
cGhPdmVyZmxvdykgY29uc3QKK2Zsb2F0IEZvbnQ6OndpZHRoKGNvbnN0IFRleHRSdW4mIHJ1biwg
SGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJm
bG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAogewogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAg
aWYgKHByaW1hcnlGb250KCktPmlzU1ZHRm9udCgpKQpAQCAtMTk0LDcgKzE4Myw3IEBAIGZsb2F0
IEZvbnQ6OmZsb2F0V2lkdGgoY29uc3QgVGV4dFJ1biYgcnUKICAgICByZXR1cm4gZmxvYXRXaWR0
aEZvckNvbXBsZXhUZXh0KHJ1biwgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxvdyk7CiB9CiAK
LWZsb2F0IEZvbnQ6OmZsb2F0V2lkdGgoY29uc3QgVGV4dFJ1biYgcnVuLCBpbnQgZXh0cmFDaGFy
c0F2YWlsYWJsZSwgaW50JiBjaGFyc0NvbnN1bWVkLCBTdHJpbmcmIGdseXBoTmFtZSkgY29uc3QK
K2Zsb2F0IEZvbnQ6OndpZHRoKGNvbnN0IFRleHRSdW4mIHJ1biwgaW50IGV4dHJhQ2hhcnNBdmFp
bGFibGUsIGludCYgY2hhcnNDb25zdW1lZCwgU3RyaW5nJiBnbHlwaE5hbWUpIGNvbnN0CiB7CiAj
aWYgIUVOQUJMRShTVkdfRk9OVFMpCiAgICAgVU5VU0VEX1BBUkFNKGV4dHJhQ2hhcnNBdmFpbGFi
bGUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAkocmV2aXNp
b24gNzg2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHdv
cmtpbmcgY29weSkKQEAgLTk0LDkgKzk0LDggQEAgcHVibGljOgogICAgIHZvaWQgZHJhd1RleHQo
R3JhcGhpY3NDb250ZXh0KiwgY29uc3QgVGV4dFJ1biYsIGNvbnN0IEZsb2F0UG9pbnQmLCBpbnQg
ZnJvbSA9IDAsIGludCB0byA9IC0xKSBjb25zdDsKICAgICB2b2lkIGRyYXdFbXBoYXNpc01hcmtz
KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IFRleHRSdW4mLCBjb25zdCBBdG9taWNTdHJpbmcmIG1h
cmssIGNvbnN0IEZsb2F0UG9pbnQmLCBpbnQgZnJvbSA9IDAsIGludCB0byA9IC0xKSBjb25zdDsK
IAotICAgIGludCB3aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIEhhc2hTZXQ8Y29uc3QgU2ltcGxl
Rm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZs
b3cgPSAwKSBjb25zdCB7IHJldHVybiBscm91bmRmKGZsb2F0V2lkdGgocnVuLCBmYWxsYmFja0Zv
bnRzLCBnbHlwaE92ZXJmbG93KSk7IH0KLSAgICBmbG9hdCBmbG9hdFdpZHRoKGNvbnN0IFRleHRS
dW4mLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBH
bHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93ID0gMCkgY29uc3Q7Ci0gICAgZmxvYXQgZmxvYXRX
aWR0aChjb25zdCBUZXh0UnVuJiBydW4sIGludCBleHRyYUNoYXJzQXZhaWxhYmxlLCBpbnQmIGNo
YXJzQ29uc3VtZWQsIFN0cmluZyYgZ2x5cGhOYW1lKSBjb25zdDsKKyAgICBmbG9hdCB3aWR0aChj
b25zdCBUZXh0UnVuJiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0Zv
bnRzID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKKyAgICBmbG9hdCB3aWR0aChjb25z
dCBUZXh0UnVuJiwgaW50IGV4dHJhQ2hhcnNBdmFpbGFibGUsIGludCYgY2hhcnNDb25zdW1lZCwg
U3RyaW5nJiBnbHlwaE5hbWUpIGNvbnN0OwogCiAgICAgaW50IG9mZnNldEZvclBvc2l0aW9uKGNv
bnN0IFRleHRSdW4mLCBmbG9hdCBwb3NpdGlvbiwgYm9vbCBpbmNsdWRlUGFydGlhbEdseXBocykg
Y29uc3Q7CiAgICAgRmxvYXRSZWN0IHNlbGVjdGlvblJlY3RGb3JUZXh0KGNvbnN0IFRleHRSdW4m
LCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGgsIGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpIGNv
bnN0OwpAQCAtMTI5LDggKzEyOCw4IEBAIHB1YmxpYzoKIAogICAgIC8vIE1ldHJpY3MgdGhhdCB3
ZSBxdWVyeSB0aGUgRm9udEZhbGxiYWNrTGlzdCBmb3IuCiAgICAgY29uc3QgRm9udE1ldHJpY3Mm
IGZvbnRNZXRyaWNzKCkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZvbnQoKS0+Zm9udE1ldHJpY3Mo
KTsgfQotICAgIGludCBzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gKGludCljZWlsZihwcmlt
YXJ5Rm9udCgpLT5hZGp1c3RlZFNwYWNlV2lkdGgoKSArIG1fbGV0dGVyU3BhY2luZyk7IH0KLSAg
ICBmbG9hdCB0YWJXaWR0aChjb25zdCBTaW1wbGVGb250RGF0YSYgZm9udERhdGEpIGNvbnN0IHsg
cmV0dXJuIDggKiBjZWlsZihmb250RGF0YS5hZGp1c3RlZFNwYWNlV2lkdGgoKSArIGxldHRlclNw
YWNpbmcoKSk7IH0KKyAgICBpbnQgc3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlG
b250KCktPnNwYWNlV2lkdGgoKSArIG1fbGV0dGVyU3BhY2luZzsgfQorICAgIGZsb2F0IHRhYldp
ZHRoKGNvbnN0IFNpbXBsZUZvbnREYXRhJiBmb250RGF0YSkgY29uc3QgeyByZXR1cm4gOCAqIGZv
bnREYXRhLnNwYWNlV2lkdGgoKSArIGxldHRlclNwYWNpbmcoKTsgfQogICAgIGludCBlbXBoYXNp
c01hcmtBc2NlbnQoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CiAgICAgaW50IGVtcGhhc2lz
TWFya0Rlc2NlbnQoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CiAgICAgaW50IGVtcGhhc2lz
TWFya0hlaWdodChjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdDsKQEAgLTIwMSwxMiArMjAwLDYg
QEAgcHVibGljOgogICAgIHN0YXRpYyBDb2RlUGF0aCBjb2RlUGF0aCgpOwogICAgIHN0YXRpYyBD
b2RlUGF0aCBzX2NvZGVQYXRoOwogCi0gICAgc3RhdGljIGNvbnN0IHVpbnQ4X3QgZ1JvdW5kaW5n
SGFja0NoYXJhY3RlclRhYmxlWzI1Nl07Ci0gICAgc3RhdGljIGJvb2wgaXNSb3VuZGluZ0hhY2tD
aGFyYWN0ZXIoVUNoYXIzMiBjKQotICAgIHsKLSAgICAgICAgcmV0dXJuICgoKGMgJiB+MHhGRikg
PT0gMCAmJiBnUm91bmRpbmdIYWNrQ2hhcmFjdGVyVGFibGVbY10pKTsKLSAgICB9Ci0KICAgICBG
b250U2VsZWN0b3IqIGZvbnRTZWxlY3RvcigpIGNvbnN0OwogICAgIHN0YXRpYyBib29sIHRyZWF0
QXNTcGFjZShVQ2hhciBjKSB7IHJldHVybiBjID09ICcgJyB8fCBjID09ICdcdCcgfHwgYyA9PSAn
XG4nIHx8IGMgPT0gbm9CcmVha1NwYWNlOyB9CiAgICAgc3RhdGljIGJvb2wgdHJlYXRBc1plcm9X
aWR0aFNwYWNlKFVDaGFyIGMpIHsgcmV0dXJuIGMgPCAweDIwIHx8IChjID49IDB4N0YgJiYgYyA8
IDB4QTApIHx8IGMgPT0gc29mdEh5cGhlbiB8fCAoYyA+PSAweDIwMGMgJiYgYyA8PSAweDIwMGYp
IHx8IChjID49IDB4MjAyYSAmJiBjIDw9IDB4MjAyZSkgfHwgYyA9PSBvYmplY3RSZXBsYWNlbWVu
dENoYXJhY3RlcjsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dEZhc3RQYXRoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250RmFzdFBhdGguY3BwCShyZXZpc2lvbiA3ODYyMykKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5
Nyw5ICsyOTcsOCBAQCBmbG9hdCBGb250OjpnZXRHbHlwaHNBbmRBZHZhbmNlc0ZvclNpbXBsCiAg
ICAgZmxvYXQgYWZ0ZXJXaWR0aCA9IGl0Lm1fcnVuV2lkdGhTb0ZhcjsKIAogICAgIGlmIChydW4u
cnRsKCkpIHsKLSAgICAgICAgZmxvYXQgZmluYWxSb3VuZGluZ1dpZHRoID0gaXQubV9maW5hbFJv
dW5kaW5nV2lkdGg7CiAgICAgICAgIGl0LmFkdmFuY2UocnVuLmxlbmd0aCgpKTsKLSAgICAgICAg
aW5pdGlhbEFkdmFuY2UgPSBmaW5hbFJvdW5kaW5nV2lkdGggKyBpdC5tX3J1bldpZHRoU29GYXIg
LSBhZnRlcldpZHRoOworICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGl0Lm1fcnVuV2lkdGhTb0Zh
ciAtIGFmdGVyV2lkdGg7CiAgICAgfSBlbHNlCiAgICAgICAgIGluaXRpYWxBZHZhbmNlID0gYmVm
b3JlV2lkdGg7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAkocmV2aXNpb24gNzg2MjMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zNzUsNyArMzc1LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdJbWFnZShJbWFn
ZSogaQogfQogCiAjaWYgIU9TKFdJTkNFKSB8fCBQTEFURk9STShRVCkKLXZvaWQgR3JhcGhpY3ND
b250ZXh0OjpkcmF3VGV4dChjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiBydW4sIGNv
bnN0IEludFBvaW50JiBwb2ludCwgaW50IGZyb20sIGludCB0bykKK3ZvaWQgR3JhcGhpY3NDb250
ZXh0OjpkcmF3VGV4dChjb25zdCBGb250JiBmb250LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0
IEZsb2F0UG9pbnQmIHBvaW50LCBpbnQgZnJvbSwgaW50IHRvKQogewogICAgIGlmIChwYWludGlu
Z0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTM4NCw3ICszODQsNyBAQCB2b2lkIEdy
YXBoaWNzQ29udGV4dDo6ZHJhd1RleHQoY29uc3QgRm9uCiB9CiAjZW5kaWYKIAotdm9pZCBHcmFw
aGljc0NvbnRleHQ6OmRyYXdFbXBoYXNpc01hcmtzKGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRl
eHRSdW4mIHJ1biwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBJbnRQb2ludCYgcG9p
bnQsIGludCBmcm9tLCBpbnQgdG8pCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0VtcGhhc2lz
TWFya3MoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLCBjb25zdCBBdG9taWNT
dHJpbmcmIG1hcmssIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBpbnQgZnJvbSwgaW50IHRvKQog
ewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTQyMiwx
MyArNDIyLDEzIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3QmlkaVRleHQoY29uc3QKICAg
ICAgICAgYmlkaVJ1biA9IGJpZGlSdW4tPm5leHQoKTsKICAgICAgICAgLy8gRklYTUU6IEhhdmUg
Rm9udDo6ZHJhd1RleHQgcmV0dXJuIHRoZSB3aWR0aCBvZiB3aGF0IGl0IGRyZXcgc28gdGhhdCB3
ZSBkb24ndCBoYXZlIHRvIHJlLW1lYXN1cmUgaGVyZS4KICAgICAgICAgaWYgKGJpZGlSdW4pCi0g
ICAgICAgICAgICBjdXJyUG9pbnQubW92ZShmb250LmZsb2F0V2lkdGgoc3VicnVuKSwgMC5mKTsK
KyAgICAgICAgICAgIGN1cnJQb2ludC5tb3ZlKGZvbnQud2lkdGgoc3VicnVuKSwgMCk7CiAgICAg
fQogCiAgICAgYmlkaVJlc29sdmVyLmRlbGV0ZVJ1bnMoKTsKIH0KIAotdm9pZCBHcmFwaGljc0Nv
bnRleHQ6OmRyYXdIaWdobGlnaHRGb3JUZXh0KGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IFRleHRS
dW4mIHJ1biwgY29uc3QgSW50UG9pbnQmIHBvaW50LCBpbnQgaCwgY29uc3QgQ29sb3ImIGJhY2tn
cm91bmRDb2xvciwgQ29sb3JTcGFjZSBjb2xvclNwYWNlLCBpbnQgZnJvbSwgaW50IHRvKQordm9p
ZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdIaWdobGlnaHRGb3JUZXh0KGNvbnN0IEZvbnQmIGZvbnQs
IGNvbnN0IFRleHRSdW4mIHJ1biwgY29uc3QgRmxvYXRQb2ludCYgcG9pbnQsIGludCBoLCBjb25z
dCBDb2xvciYgYmFja2dyb3VuZENvbG9yLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UsIGludCBmcm9t
LCBpbnQgdG8pCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJu
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0LmgJKHJldmlzaW9uIDc4NjIzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTMzOSwyMCArMzM5
LDIwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVGV4dERyYXdpbmdNb2RlRmxhZ3Mg
dGV4dERyYXdpbmdNb2RlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgc2V0VGV4dERyYXdpbmdNb2Rl
KFRleHREcmF3aW5nTW9kZUZsYWdzKTsKIAotICAgICAgICB2b2lkIGRyYXdUZXh0KGNvbnN0IEZv
bnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgSW50UG9pbnQmLCBpbnQgZnJvbSA9IDAsIGludCB0
byA9IC0xKTsKLSAgICAgICAgdm9pZCBkcmF3RW1waGFzaXNNYXJrcyhjb25zdCBGb250JiwgY29u
c3QgVGV4dFJ1biYgLCBjb25zdCBBdG9taWNTdHJpbmcmIG1hcmssIGNvbnN0IEludFBvaW50Jiwg
aW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSk7CisgICAgICAgIHZvaWQgZHJhd1RleHQoY29uc3Qg
Rm9udCYsIGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50JiwgaW50IGZyb20gPSAwLCBp
bnQgdG8gPSAtMSk7CisgICAgICAgIHZvaWQgZHJhd0VtcGhhc2lzTWFya3MoY29uc3QgRm9udCYs
IGNvbnN0IFRleHRSdW4mICwgY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrLCBjb25zdCBGbG9hdFBv
aW50JiwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSk7CiAgICAgICAgIHZvaWQgZHJhd0JpZGlU
ZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVuJiwgY29uc3QgRmxvYXRQb2ludCYpOwotICAg
ICAgICB2b2lkIGRyYXdIaWdobGlnaHRGb3JUZXh0KGNvbnN0IEZvbnQmLCBjb25zdCBUZXh0UnVu
JiwgY29uc3QgSW50UG9pbnQmLCBpbnQgaCwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvciwg
Q29sb3JTcGFjZSwgaW50IGZyb20gPSAwLCBpbnQgdG8gPSAtMSk7CisgICAgICAgIHZvaWQgZHJh
d0hpZ2hsaWdodEZvclRleHQoY29uc3QgRm9udCYsIGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9h
dFBvaW50JiwgaW50IGgsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3IsIENvbG9yU3BhY2Us
IGludCBmcm9tID0gMCwgaW50IHRvID0gLTEpOwogCiAgICAgICAgIEZsb2F0UmVjdCByb3VuZFRv
RGV2aWNlUGl4ZWxzKGNvbnN0IEZsb2F0UmVjdCYpOwogCi0gICAgICAgIHZvaWQgZHJhd0xpbmVG
b3JUZXh0KGNvbnN0IEludFBvaW50JiwgaW50IHdpZHRoLCBib29sIHByaW50aW5nKTsKKyAgICAg
ICAgdm9pZCBkcmF3TGluZUZvclRleHQoY29uc3QgRmxvYXRQb2ludCYsIGZsb2F0IHdpZHRoLCBi
b29sIHByaW50aW5nKTsKICAgICAgICAgZW51bSBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUgewogICAg
ICAgICAgICAgVGV4dENoZWNraW5nU3BlbGxpbmdMaW5lU3R5bGUsCiAgICAgICAgICAgICBUZXh0
Q2hlY2tpbmdHcmFtbWFyTGluZVN0eWxlLAogICAgICAgICAgICAgVGV4dENoZWNraW5nUmVwbGFj
ZW1lbnRMaW5lU3R5bGUKICAgICAgICAgfTsKLSAgICAgICAgdm9pZCBkcmF3TGluZUZvclRleHRD
aGVja2luZyhjb25zdCBJbnRQb2ludCYsIGludCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxl
KTsKKyAgICAgICAgdm9pZCBkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBGbG9hdFBvaW50
JiwgZmxvYXQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSk7CiAKICAgICAgICAgYm9vbCBw
YWludGluZ0Rpc2FibGVkKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgc2V0UGFpbnRpbmdEaXNhYmxl
ZChib29sKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZv
bnREYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9TaW1wbGVGb250RGF0YS5jcHAJKHJldmlzaW9uIDc4NjIzKQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDgsNyArMTA4LDYgQEAgU2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRhKFBhc3NPd25QdAog
ICAgIG1fc3BhY2VHbHlwaCA9IDA7CiAgICAgbV96ZXJvV2lkdGhTcGFjZUdseXBoID0gMDsKICAg
ICBkZXRlcm1pbmVQaXRjaCgpOwotICAgIG1fYWRqdXN0ZWRTcGFjZVdpZHRoID0gcm91bmRmKG1f
c3BhY2VXaWR0aCk7CiAgICAgbV9taXNzaW5nR2x5cGhEYXRhLmZvbnREYXRhID0gdGhpczsKICAg
ICBtX21pc3NpbmdHbHlwaERhdGEuZ2x5cGggPSAwOwogfQpAQCAtMTQzLDcgKzE0Miw2IEBAIHZv
aWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtR2x5cGhJbml0KCkKICAgICAgICAgTE9HX0VSUk9S
KCJGYWlsZWQgdG8gZ2V0IGdseXBoIHBhZ2UgemVyby4iKTsKICAgICAgICAgbV9zcGFjZUdseXBo
ID0gMDsKICAgICAgICAgbV9zcGFjZVdpZHRoID0gMDsKLSAgICAgICAgbV9hZGp1c3RlZFNwYWNl
V2lkdGggPSAwOwogICAgICAgICBkZXRlcm1pbmVQaXRjaCgpOwogICAgICAgICBtX3plcm9XaWR0
aFNwYWNlR2x5cGggPSAwOwogICAgICAgICBtX21pc3NpbmdHbHlwaERhdGEuZm9udERhdGEgPSB0
aGlzOwpAQCAtMTYwLDcgKzE1OCw2IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtR2x5
cGhJbml0KCkKICAgICBmbG9hdCB3aWR0aCA9IHdpZHRoRm9yR2x5cGgobV9zcGFjZUdseXBoKTsK
ICAgICBtX3NwYWNlV2lkdGggPSB3aWR0aDsKICAgICBkZXRlcm1pbmVQaXRjaCgpOwotICAgIG1f
YWRqdXN0ZWRTcGFjZVdpZHRoID0gbV90cmVhdEFzRml4ZWRQaXRjaCA/IGNlaWxmKHdpZHRoKSA6
IHJvdW5kZih3aWR0aCk7CiAKICAgICAvLyBGb3JjZSB0aGUgZ2x5cGggZm9yIFpFUk8gV0lEVEgg
U1BBQ0UgdG8gaGF2ZSB6ZXJvIHdpZHRoLCB1bmxlc3MgaXQgaXMgc2hhcmVkIHdpdGggU1BBQ0Uu
CiAgICAgLy8gSGVsdmV0aWNhIGlzIGFuIGV4YW1wbGUgb2YgYSBub24temVybyB3aWR0aCBaRVJP
IFdJRFRIIFNQQUNFIGdseXBoLgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvU2ltcGxlRm9udERhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCShyZXZpc2lvbiA3ODYyMykKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgJKHdvcmtpbmcgY29weSkK
QEAgLTExMiw3ICsxMTIsNiBAQCBwdWJsaWM6CiAgICAgZmxvYXQgcGxhdGZvcm1XaWR0aEZvckds
eXBoKEdseXBoKSBjb25zdDsKIAogICAgIGZsb2F0IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVy
biBtX3NwYWNlV2lkdGg7IH0KLSAgICBmbG9hdCBhZGp1c3RlZFNwYWNlV2lkdGgoKSBjb25zdCB7
IHJldHVybiBtX2FkanVzdGVkU3BhY2VXaWR0aDsgfQogCiAjaWYgUExBVEZPUk0oQ0cpIHx8IFBM
QVRGT1JNKENBSVJPKSB8fCBQTEFURk9STShXWCkKICAgICBmbG9hdCBzeW50aGV0aWNCb2xkT2Zm
c2V0KCkgY29uc3QgeyByZXR1cm4gbV9zeW50aGV0aWNCb2xkT2Zmc2V0OyB9CkBAIC0yMzAsNyAr
MjI5LDYgQEAgcHJpdmF0ZToKIAogICAgIEdseXBoIG1fc3BhY2VHbHlwaDsKICAgICBmbG9hdCBt
X3NwYWNlV2lkdGg7Ci0gICAgZmxvYXQgbV9hZGp1c3RlZFNwYWNlV2lkdGg7CiAKICAgICBHbHlw
aCBtX3plcm9XaWR0aFNwYWNlR2x5cGg7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmNwcAkocmV2aXNpb24gNzg2MjMp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TdHJpbmdUcnVuY2F0b3IuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC05MiwyMiArOTIsMjAgQEAgc3RhdGljIHVuc2lnbmVkIHJpZ2h0
VHJ1bmNhdGVUb0J1ZmZlcihjbwogICAgIHJldHVybiB0cnVuY2F0ZWRMZW5ndGg7CiB9CiAKLXN0
YXRpYyBmbG9hdCBzdHJpbmdXaWR0aChjb25zdCBGb250JiByZW5kZXJlciwgY29uc3QgVUNoYXIq
IGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcykK
K3N0YXRpYyBmbG9hdCBzdHJpbmdXaWR0aChjb25zdCBGb250JiByZW5kZXJlciwgY29uc3QgVUNo
YXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKIHsKICAgICBUZXh0UnVuIHJ1bihjaGFy
YWN0ZXJzLCBsZW5ndGgpOwotICAgIGlmIChkaXNhYmxlUm91bmRpbmdIYWNrcykKLSAgICAgICAg
cnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7Ci0gICAgcmV0dXJuIHJlbmRlcmVyLmZsb2F0V2lk
dGgocnVuKTsKKyAgICByZXR1cm4gcmVuZGVyZXIud2lkdGgocnVuKTsKIH0KIAotc3RhdGljIFN0
cmluZyB0cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgs
IGNvbnN0IEZvbnQmIGZvbnQsIFRydW5jYXRpb25GdW5jdGlvbiB0cnVuY2F0ZVRvQnVmZmVyLCBi
b29sIGRpc2FibGVSb3VuZGluZ0hhY2tzKQorc3RhdGljIFN0cmluZyB0cnVuY2F0ZVN0cmluZyhj
b25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQmIGZvbnQsIFRy
dW5jYXRpb25GdW5jdGlvbiB0cnVuY2F0ZVRvQnVmZmVyKQogewogICAgIGlmIChzdHJpbmcuaXNF
bXB0eSgpKQogICAgICAgICByZXR1cm4gc3RyaW5nOwogICAgIAogICAgIEFTU0VSVChtYXhXaWR0
aCA+PSAwKTsKICAgICAKLSAgICBmbG9hdCBjdXJyZW50RWxsaXBzaXNXaWR0aCA9IHN0cmluZ1dp
ZHRoKGZvbnQsICZob3Jpem9udGFsRWxsaXBzaXMsIDEsIGRpc2FibGVSb3VuZGluZ0hhY2tzKTsK
KyAgICBmbG9hdCBjdXJyZW50RWxsaXBzaXNXaWR0aCA9IHN0cmluZ1dpZHRoKGZvbnQsICZob3Jp
em9udGFsRWxsaXBzaXMsIDEpOwogICAgIAogICAgIFVDaGFyIHN0cmluZ0J1ZmZlcltTVFJJTkdf
QlVGRkVSX1NJWkVdOwogICAgIHVuc2lnbmVkIHRydW5jYXRlZExlbmd0aDsKQEAgLTEyMyw3ICsx
MjEsNyBAQCBzdGF0aWMgU3RyaW5nIHRydW5jYXRlU3RyaW5nKGNvbnN0IFN0cmluCiAgICAgICAg
IHRydW5jYXRlZExlbmd0aCA9IGxlbmd0aDsKICAgICB9CiAKLSAgICBmbG9hdCB3aWR0aCA9IHN0
cmluZ1dpZHRoKGZvbnQsIHN0cmluZ0J1ZmZlciwgdHJ1bmNhdGVkTGVuZ3RoLCBkaXNhYmxlUm91
bmRpbmdIYWNrcyk7CisgICAgZmxvYXQgd2lkdGggPSBzdHJpbmdXaWR0aChmb250LCBzdHJpbmdC
dWZmZXIsIHRydW5jYXRlZExlbmd0aCk7CiAgICAgaWYgKHdpZHRoIDw9IG1heFdpZHRoKQogICAg
ICAgICByZXR1cm4gc3RyaW5nOwogCkBAIC0xNTksNyArMTU3LDcgQEAgc3RhdGljIFN0cmluZyB0
cnVuY2F0ZVN0cmluZyhjb25zdCBTdHJpbgogICAgICAgICAKICAgICAgICAgdHJ1bmNhdGVkTGVu
Z3RoID0gdHJ1bmNhdGVUb0J1ZmZlcihzdHJpbmcsIGxlbmd0aCwga2VlcENvdW50LCBzdHJpbmdC
dWZmZXIpOwogCi0gICAgICAgIHdpZHRoID0gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5nQnVmZmVy
LCB0cnVuY2F0ZWRMZW5ndGgsIGRpc2FibGVSb3VuZGluZ0hhY2tzKTsKKyAgICAgICAgd2lkdGgg
PSBzdHJpbmdXaWR0aChmb250LCBzdHJpbmdCdWZmZXIsIHRydW5jYXRlZExlbmd0aCk7CiAgICAg
ICAgIGlmICh3aWR0aCA8PSBtYXhXaWR0aCkgewogICAgICAgICAgICAga2VlcENvdW50Rm9yTGFy
Z2VzdEtub3duVG9GaXQgPSBrZWVwQ291bnQ7CiAgICAgICAgICAgICB3aWR0aEZvckxhcmdlc3RL
bm93blRvRml0ID0gd2lkdGg7CkBAIC0xODEsMTkgKzE3OSwxOSBAQCBzdGF0aWMgU3RyaW5nIHRy
dW5jYXRlU3RyaW5nKGNvbnN0IFN0cmluCiAgICAgcmV0dXJuIFN0cmluZyhzdHJpbmdCdWZmZXIs
IHRydW5jYXRlZExlbmd0aCk7CiB9CiAKLVN0cmluZyBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRy
dW5jYXRlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBmbG9hdCBtYXhXaWR0aCwgY29uc3QgRm9udCYg
Zm9udCwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcykKK1N0cmluZyBTdHJpbmdUcnVuY2F0b3I6
OmNlbnRlclRydW5jYXRlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBmbG9hdCBtYXhXaWR0aCwgY29u
c3QgRm9udCYgZm9udCkKIHsKLSAgICByZXR1cm4gdHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBtYXhX
aWR0aCwgZm9udCwgY2VudGVyVHJ1bmNhdGVUb0J1ZmZlciwgZGlzYWJsZVJvdW5kaW5nSGFja3Mp
OworICAgIHJldHVybiB0cnVuY2F0ZVN0cmluZyhzdHJpbmcsIG1heFdpZHRoLCBmb250LCBjZW50
ZXJUcnVuY2F0ZVRvQnVmZmVyKTsKIH0KIAotU3RyaW5nIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRU
cnVuY2F0ZShjb25zdCBTdHJpbmcmIHN0cmluZywgZmxvYXQgbWF4V2lkdGgsIGNvbnN0IEZvbnQm
IGZvbnQsIGJvb2wgZGlzYWJsZVJvdW5kaW5nSGFja3MpCitTdHJpbmcgU3RyaW5nVHJ1bmNhdG9y
OjpyaWdodFRydW5jYXRlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBmbG9hdCBtYXhXaWR0aCwgY29u
c3QgRm9udCYgZm9udCkKIHsKLSAgICByZXR1cm4gdHJ1bmNhdGVTdHJpbmcoc3RyaW5nLCBtYXhX
aWR0aCwgZm9udCwgcmlnaHRUcnVuY2F0ZVRvQnVmZmVyLCBkaXNhYmxlUm91bmRpbmdIYWNrcyk7
CisgICAgcmV0dXJuIHRydW5jYXRlU3RyaW5nKHN0cmluZywgbWF4V2lkdGgsIGZvbnQsIHJpZ2h0
VHJ1bmNhdGVUb0J1ZmZlcik7CiB9CiAKLWZsb2F0IFN0cmluZ1RydW5jYXRvcjo6d2lkdGgoY29u
c3QgU3RyaW5nJiBzdHJpbmcsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgZGlzYWJsZVJvdW5kaW5n
SGFja3MpCitmbG9hdCBTdHJpbmdUcnVuY2F0b3I6OndpZHRoKGNvbnN0IFN0cmluZyYgc3RyaW5n
LCBjb25zdCBGb250JiBmb250KQogewotICAgIHJldHVybiBzdHJpbmdXaWR0aChmb250LCBzdHJp
bmcuY2hhcmFjdGVycygpLCBzdHJpbmcubGVuZ3RoKCksIGRpc2FibGVSb3VuZGluZ0hhY2tzKTsK
KyAgICByZXR1cm4gc3RyaW5nV2lkdGgoZm9udCwgc3RyaW5nLmNoYXJhY3RlcnMoKSwgc3RyaW5n
Lmxlbmd0aCgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmgJKHJldmlz
aW9uIDc4NjIzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1
bmNhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDkgKzM3LDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIAogICAgIGNsYXNzIFN0cmluZ1RydW5jYXRvciB7CiAgICAgcHVibGljOgotICAg
ICAgICBzdGF0aWMgU3RyaW5nIGNlbnRlclRydW5jYXRlKGNvbnN0IFN0cmluZyYsIGZsb2F0IG1h
eFdpZHRoLCBjb25zdCBGb250JiwgYm9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcyA9IHRydWUpOwot
ICAgICAgICBzdGF0aWMgU3RyaW5nIHJpZ2h0VHJ1bmNhdGUoY29uc3QgU3RyaW5nJiwgZmxvYXQg
bWF4V2lkdGgsIGNvbnN0IEZvbnQmLCBib29sIGRpc2FibGVSb3VuZGluZ0hhY2tzID0gdHJ1ZSk7
Ci0gICAgICAgIHN0YXRpYyBmbG9hdCB3aWR0aChjb25zdCBTdHJpbmcmLCBjb25zdCBGb250Jiwg
Ym9vbCBkaXNhYmxlUm91bmRpbmdIYWNrcyA9IHRydWUpOworICAgICAgICBzdGF0aWMgU3RyaW5n
IGNlbnRlclRydW5jYXRlKGNvbnN0IFN0cmluZyYsIGZsb2F0IG1heFdpZHRoLCBjb25zdCBGb250
Jik7CisgICAgICAgIHN0YXRpYyBTdHJpbmcgcmlnaHRUcnVuY2F0ZShjb25zdCBTdHJpbmcmLCBm
bG9hdCBtYXhXaWR0aCwgY29uc3QgRm9udCYpOworICAgICAgICBzdGF0aWMgZmxvYXQgd2lkdGgo
Y29uc3QgU3RyaW5nJiwgY29uc3QgRm9udCYpOwogICAgIH07CiAgICAgCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVu
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1
bi5oCShyZXZpc2lvbiA3ODYyMykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1RleHRSdW4uaAkod29ya2luZyBjb3B5KQpAQCAtMzgsOCArMzgsNyBAQCBwdWJsaWM6CiAgICAg
ICAgIEZvcmJpZFRyYWlsaW5nRXhwYW5zaW9uCiAgICAgfTsKIAotICAgIFRleHRSdW4oY29uc3Qg
VUNoYXIqIGMsIGludCBsZW4sIGJvb2wgYWxsb3dUYWJzID0gZmFsc2UsIGludCB4cG9zID0gMCwg
aW50IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdFeHBh
bnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGJvb2wgcnRsID0gZmFsc2Us
IGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlLAotICAgICAgICAgICAgICBib29sIGFw
cGx5UnVuUm91bmRpbmcgPSB0cnVlLCBib29sIGFwcGx5V29yZFJvdW5kaW5nID0gdHJ1ZSkKKyAg
ICBUZXh0UnVuKGNvbnN0IFVDaGFyKiBjLCBpbnQgbGVuLCBib29sIGFsbG93VGFicyA9IGZhbHNl
LCBmbG9hdCB4cG9zID0gMCwgZmxvYXQgZXhwYW5zaW9uID0gMCwgVHJhaWxpbmdFeHBhbnNpb25C
ZWhhdmlvciB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yID0gQWxsb3dUcmFpbGluZ0V4cGFuc2lv
biwgYm9vbCBydGwgPSBmYWxzZSwgYm9vbCBkaXJlY3Rpb25hbE92ZXJyaWRlID0gZmFsc2UpCiAg
ICAgICAgIDogbV9jaGFyYWN0ZXJzKGMpCiAgICAgICAgICwgbV9sZW4obGVuKQogICAgICAgICAs
IG1feHBvcyh4cG9zKQpAQCAtNTEsOCArNTAsNiBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9hbGxv
d1RhYnMoYWxsb3dUYWJzKQogICAgICAgICAsIG1fcnRsKHJ0bCkKICAgICAgICAgLCBtX2RpcmVj
dGlvbmFsT3ZlcnJpZGUoZGlyZWN0aW9uYWxPdmVycmlkZSkKLSAgICAgICAgLCBtX2FwcGx5UnVu
Um91bmRpbmcoYXBwbHlSdW5Sb3VuZGluZykKLSAgICAgICAgLCBtX2FwcGx5V29yZFJvdW5kaW5n
KGFwcGx5V29yZFJvdW5kaW5nKQogICAgICAgICAsIG1fZGlzYWJsZVNwYWNpbmcoZmFsc2UpCiAj
aWYgRU5BQkxFKFNWR19GT05UUykKICAgICAgICAgLCBtX3JlZmVyZW5jaW5nUmVuZGVyT2JqZWN0
KDApCkBAIC02MSw4ICs1OCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgVGV4dFJ1
bihjb25zdCBTdHJpbmcmIHMsIGJvb2wgYWxsb3dUYWJzID0gZmFsc2UsIGludCB4cG9zID0gMCwg
aW50IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IgdHJhaWxpbmdFeHBh
bnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGJvb2wgcnRsID0gZmFsc2Us
IGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlLAotICAgICAgICAgICAgICBib29sIGFw
cGx5UnVuUm91bmRpbmcgPSB0cnVlLCBib29sIGFwcGx5V29yZFJvdW5kaW5nID0gdHJ1ZSkKKyAg
ICBUZXh0UnVuKGNvbnN0IFN0cmluZyYgcywgYm9vbCBhbGxvd1RhYnMgPSBmYWxzZSwgZmxvYXQg
eHBvcyA9IDAsIGZsb2F0IGV4cGFuc2lvbiA9IDAsIFRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3Ig
dHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvciA9IEFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGJvb2wg
cnRsID0gZmFsc2UsIGJvb2wgZGlyZWN0aW9uYWxPdmVycmlkZSA9IGZhbHNlKQogICAgICAgICA6
IG1fY2hhcmFjdGVycyhzLmNoYXJhY3RlcnMoKSkKICAgICAgICAgLCBtX2xlbihzLmxlbmd0aCgp
KQogICAgICAgICAsIG1feHBvcyh4cG9zKQpAQCAtNzQsOCArNzAsNiBAQCBwdWJsaWM6CiAgICAg
ICAgICwgbV9hbGxvd1RhYnMoYWxsb3dUYWJzKQogICAgICAgICAsIG1fcnRsKHJ0bCkKICAgICAg
ICAgLCBtX2RpcmVjdGlvbmFsT3ZlcnJpZGUoZGlyZWN0aW9uYWxPdmVycmlkZSkKLSAgICAgICAg
LCBtX2FwcGx5UnVuUm91bmRpbmcoYXBwbHlSdW5Sb3VuZGluZykKLSAgICAgICAgLCBtX2FwcGx5
V29yZFJvdW5kaW5nKGFwcGx5V29yZFJvdW5kaW5nKQogICAgICAgICAsIG1fZGlzYWJsZVNwYWNp
bmcoZmFsc2UpCiAjaWYgRU5BQkxFKFNWR19GT05UUykKICAgICAgICAgLCBtX3JlZmVyZW5jaW5n
UmVuZGVyT2JqZWN0KDApCkBAIC05OCwxOCArOTIsMTUgQEAgcHVibGljOgogI2VuZGlmCiAKICAg
ICBib29sIGFsbG93VGFicygpIGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dUYWJzOyB9Ci0gICAgaW50
IHhQb3MoKSBjb25zdCB7IHJldHVybiBtX3hwb3M7IH0KLSAgICBpbnQgZXhwYW5zaW9uKCkgY29u
c3QgeyByZXR1cm4gbV9leHBhbnNpb247IH0KKyAgICBmbG9hdCB4UG9zKCkgY29uc3QgeyByZXR1
cm4gbV94cG9zOyB9CisgICAgZmxvYXQgZXhwYW5zaW9uKCkgY29uc3QgeyByZXR1cm4gbV9leHBh
bnNpb247IH0KICAgICBib29sIGFsbG93c1RyYWlsaW5nRXhwYW5zaW9uKCkgY29uc3QgeyByZXR1
cm4gbV90cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yID09IEFsbG93VHJhaWxpbmdFeHBhbnNpb247
IH0KICAgICBib29sIHJ0bCgpIGNvbnN0IHsgcmV0dXJuIG1fcnRsOyB9CiAgICAgYm9vbCBsdHIo
KSBjb25zdCB7IHJldHVybiAhbV9ydGw7IH0KICAgICBib29sIGRpcmVjdGlvbmFsT3ZlcnJpZGUo
KSBjb25zdCB7IHJldHVybiBtX2RpcmVjdGlvbmFsT3ZlcnJpZGU7IH0KLSAgICBib29sIGFwcGx5
UnVuUm91bmRpbmcoKSBjb25zdCB7IHJldHVybiBtX2FwcGx5UnVuUm91bmRpbmc7IH0KLSAgICBi
b29sIGFwcGx5V29yZFJvdW5kaW5nKCkgY29uc3QgeyByZXR1cm4gbV9hcHBseVdvcmRSb3VuZGlu
ZzsgfQogICAgIGJvb2wgc3BhY2luZ0Rpc2FibGVkKCkgY29uc3QgeyByZXR1cm4gbV9kaXNhYmxl
U3BhY2luZzsgfQogCiAgICAgdm9pZCBkaXNhYmxlU3BhY2luZygpIHsgbV9kaXNhYmxlU3BhY2lu
ZyA9IHRydWU7IH0KLSAgICB2b2lkIGRpc2FibGVSb3VuZGluZ0hhY2tzKCkgeyBtX2FwcGx5UnVu
Um91bmRpbmcgPSBtX2FwcGx5V29yZFJvdW5kaW5nID0gZmFsc2U7IH0KICAgICB2b2lkIHNldFJU
TChib29sIGIpIHsgbV9ydGwgPSBiOyB9CiAgICAgdm9pZCBzZXREaXJlY3Rpb25hbE92ZXJyaWRl
KGJvb2wgb3ZlcnJpZGUpIHsgbV9kaXJlY3Rpb25hbE92ZXJyaWRlID0gb3ZlcnJpZGU7IH0KIApA
QCAtMTI4LDggKzExOSw4IEBAIHByaXZhdGU6CiAgICAgLy8gbV94cG9zIGlzIHRoZSB4IHBvc2l0
aW9uIHJlbGF0aXZlIHRvIHRoZSBsZWZ0IHN0YXJ0IG9mIHRoZSB0ZXh0IGxpbmUsIG5vdCByZWxh
dGl2ZSB0byB0aGUgbGVmdAogICAgIC8vIHN0YXJ0IG9mIHRoZSBjb250YWluaW5nIGJsb2NrLiBJ
biB0aGUgY2FzZSBvZiByaWdodCBhbGlnbm1lbnQgb3IgY2VudGVyIGFsaWdubWVudCwgbGVmdCBz
dGFydCBvZgogICAgIC8vIHRoZSB0ZXh0IGxpbmUgaXMgbm90IHRoZSBzYW1lIGFzIGxlZnQgc3Rh
cnQgb2YgdGhlIGNvbnRhaW5pbmcgYmxvY2suCi0gICAgaW50IG1feHBvczsgIAotICAgIGludCBt
X2V4cGFuc2lvbjsKKyAgICBmbG9hdCBtX3hwb3M7ICAKKyAgICBmbG9hdCBtX2V4cGFuc2lvbjsK
ICAgICBUcmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yIG1fdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlv
cjsKICNpZiBFTkFCTEUoU1ZHKQogICAgIGZsb2F0IG1faG9yaXpvbnRhbEdseXBoU3RyZXRjaDsK
QEAgLTEzNyw4ICsxMjgsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9hbGxvd1RhYnM7CiAgICAg
Ym9vbCBtX3J0bDsKICAgICBib29sIG1fZGlyZWN0aW9uYWxPdmVycmlkZTsKLSAgICBib29sIG1f
YXBwbHlSdW5Sb3VuZGluZzsKLSAgICBib29sIG1fYXBwbHlXb3JkUm91bmRpbmc7CiAgICAgYm9v
bCBtX2Rpc2FibGVTcGFjaW5nOwogCiAjaWYgRU5BQkxFKFNWR19GT05UUykKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCShy
ZXZpc2lvbiA3ODYyMykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRo
SXRlcmF0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw3ICs0OCw2IEBAIFdpZHRoSXRlcmF0
b3I6OldpZHRoSXRlcmF0b3IoY29uc3QgRm9udCoKICAgICAsIG1fY3VycmVudENoYXJhY3Rlcigw
KQogICAgICwgbV9ydW5XaWR0aFNvRmFyKDApCiAgICAgLCBtX2lzQWZ0ZXJFeHBhbnNpb24odHJ1
ZSkKLSAgICAsIG1fZmluYWxSb3VuZGluZ1dpZHRoKDApCiAgICAgLCBtX2ZhbGxiYWNrRm9udHMo
ZmFsbGJhY2tGb250cykKICAgICAsIG1fYWNjb3VudEZvckdseXBoQm91bmRzKGFjY291bnRGb3JH
bHlwaEJvdW5kcykKICAgICAsIG1fbWF4R2x5cGhCb3VuZGluZ0JveFkobnVtZXJpY19saW1pdHM8
ZmxvYXQ+OjptaW4oKSkKQEAgLTg2LDExICs4NSw2IEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2
YW5jZShpbnQgb2Zmc2V0LCAKICAgICBib29sIHJ0bCA9IG1fcnVuLnJ0bCgpOwogICAgIGJvb2wg
aGFzRXh0cmFTcGFjaW5nID0gKG1fZm9udC0+bGV0dGVyU3BhY2luZygpIHx8IG1fZm9udC0+d29y
ZFNwYWNpbmcoKSB8fCBtX2V4cGFuc2lvbikgJiYgIW1fcnVuLnNwYWNpbmdEaXNhYmxlZCgpOwog
Ci0gICAgZmxvYXQgd2lkdGhTaW5jZUxhc3RSb3VuZGluZyA9IG1fcnVuV2lkdGhTb0ZhcjsKLSAg
ICBtX3J1bldpZHRoU29GYXIgPSBmbG9vcmYobV9ydW5XaWR0aFNvRmFyKTsKLSAgICB3aWR0aFNp
bmNlTGFzdFJvdW5kaW5nIC09IG1fcnVuV2lkdGhTb0ZhcjsKLQotICAgIGZsb2F0IGxhc3RSb3Vu
ZGluZ1dpZHRoID0gbV9maW5hbFJvdW5kaW5nV2lkdGg7CiAgICAgRmxvYXRSZWN0IGJvdW5kczsK
IAogICAgIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBwcmltYXJ5Rm9udCA9IG1fZm9udC0+cHJpbWFy
eUZvbnQoKTsKQEAgLTEzNiw3ICsxMzAsNyBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2Uo
aW50IG9mZnNldCwgCiAgICAgICAgIGZsb2F0IHdpZHRoOwogICAgICAgICBpZiAoYyA9PSAnXHQn
ICYmIG1fcnVuLmFsbG93VGFicygpKSB7CiAgICAgICAgICAgICBmbG9hdCB0YWJXaWR0aCA9IG1f
Zm9udC0+dGFiV2lkdGgoKmZvbnREYXRhKTsKLSAgICAgICAgICAgIHdpZHRoID0gdGFiV2lkdGgg
LSBmbW9kZihtX3J1bi54UG9zKCkgKyBtX3J1bldpZHRoU29GYXIgKyB3aWR0aFNpbmNlTGFzdFJv
dW5kaW5nLCB0YWJXaWR0aCk7CisgICAgICAgICAgICB3aWR0aCA9IHRhYldpZHRoIC0gZm1vZGYo
bV9ydW4ueFBvcygpICsgbV9ydW5XaWR0aFNvRmFyLCB0YWJXaWR0aCk7CiAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICB3aWR0aCA9IGZvbnREYXRhLT53aWR0aEZvckdseXBoKGdseXBoKTsK
IApAQCAtMTQ0LDEzICsxMzgsNiBAQCB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9m
ZnNldCwgCiAgICAgICAgICAgICAvLyBTVkcgdXNlcyBob3Jpem9udGFsR2x5cGhTdHJldGNoKCks
IHdoZW4gdGV4dExlbmd0aCBpcyB1c2VkIHRvIHN0cmV0Y2gvc3F1ZWV6ZSB0ZXh0LgogICAgICAg
ICAgICAgd2lkdGggKj0gbV9ydW4uaG9yaXpvbnRhbEdseXBoU3RyZXRjaCgpOwogI2VuZGlmCi0K
LSAgICAgICAgICAgIC8vIFdlIHNwZWNpYWwgY2FzZSBzcGFjZXMgaW4gdHdvIHdheXMgd2hlbiBh
cHBseWluZyB3b3JkIHJvdW5kaW5nLgotICAgICAgICAgICAgLy8gRmlyc3QsIHdlIHJvdW5kIHNw
YWNlcyB0byBhbiBhZGp1c3RlZCB3aWR0aCBpbiBhbGwgZm9udHMuCi0gICAgICAgICAgICAvLyBT
ZWNvbmQsIGluIGZpeGVkLXBpdGNoIGZvbnRzIHdlIGVuc3VyZSB0aGF0IGFsbCBjaGFyYWN0ZXJz
IHRoYXQKLSAgICAgICAgICAgIC8vIG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgc3BhY2UgY2hhcmFj
dGVyIGhhdmUgdGhlIHNhbWUgd2lkdGggYXMgdGhlIHNwYWNlIGNoYXJhY3Rlci4KLSAgICAgICAg
ICAgIGlmICh3aWR0aCA9PSBmb250RGF0YS0+c3BhY2VXaWR0aCgpICYmIChmb250RGF0YS0+cGl0
Y2goKSA9PSBGaXhlZFBpdGNoIHx8IGdseXBoID09IGZvbnREYXRhLT5zcGFjZUdseXBoKCkpICYm
IG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkpCi0gICAgICAgICAgICAgICAgd2lkdGggPSBmb250
RGF0YS0+YWRqdXN0ZWRTcGFjZVdpZHRoKCk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoZm9u
dERhdGEgIT0gbGFzdEZvbnREYXRhICYmIHdpZHRoKSB7CkBAIC0xNzksMTggKzE2NiwxNSBAQCB2
b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2UoaW50IG9mZnNldCwgCiAgICAgICAgICAgICAgICAg
Ly8gRGlzdHJpYnV0ZSB0aGUgcnVuJ3MgdG90YWwgZXhwYW5zaW9uIGV2ZW5seSBvdmVyIGFsbCBl
eHBhbnNpb24gb3Bwb3J0dW5pdGllcyBpbiB0aGUgcnVuLgogICAgICAgICAgICAgICAgIGlmICht
X2V4cGFuc2lvbiAmJiAobV9ydW4uYWxsb3dzVHJhaWxpbmdFeHBhbnNpb24oKSB8fCAobV9ydW4u
bHRyKCkgJiYgY3VycmVudENoYXJhY3RlciArIGNsdXN0ZXJMZW5ndGggPCBzdGF0aWNfY2FzdDxz
aXplX3Q+KG1fcnVuLmxlbmd0aCgpKSkKICAgICAgICAgICAgICAgICAgICAgfHwgKG1fcnVuLnJ0
bCgpICYmIGN1cnJlbnRDaGFyYWN0ZXIpKSkgewotICAgICAgICAgICAgICAgICAgICBmbG9hdCBw
cmV2aW91c0V4cGFuc2lvbiA9IG1fZXhwYW5zaW9uOwogICAgICAgICAgICAgICAgICAgICBpZiAo
IXRyZWF0QXNTcGFjZSAmJiAhbV9pc0FmdGVyRXhwYW5zaW9uKSB7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBUYWtlIHRoZSBleHBhbnNpb24gb3Bwb3J0dW5pdHkgYmVmb3JlIHRoaXMgaWRl
b2dyYXBoLgogICAgICAgICAgICAgICAgICAgICAgICAgbV9leHBhbnNpb24gLT0gbV9leHBhbnNp
b25QZXJPcHBvcnR1bml0eTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCBleHBhbnNpb24g
PSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRmKG1fZXhwYW5zaW9uKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBleHBhbnNpb247CisgICAgICAg
ICAgICAgICAgICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gbV9leHBhbnNpb25QZXJPcHBvcnR1
bml0eTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnbHlwaEJ1ZmZlcikKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci0+ZXhwYW5kTGFzdEFkdmFuY2UoZXhwYW5z
aW9uKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzRXhwYW5zaW9uID0gbV9leHBh
bnNpb247CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmV4cGFuZExh
c3RBZHZhbmNlKG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHkpOwogICAgICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgICAgIG1fZXhwYW5zaW9uIC09IG1fZXhwYW5zaW9uUGVyT3Bw
b3J0dW5pdHk7Ci0gICAgICAgICAgICAgICAgICAgIHdpZHRoICs9IHJvdW5kZihwcmV2aW91c0V4
cGFuc2lvbikgLSByb3VuZGYobV9leHBhbnNpb24pOworICAgICAgICAgICAgICAgICAgICB3aWR0
aCArPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwogICAgICAgICAgICAgICAgICAgICBtX2lz
QWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwogICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAg
ICAgICAgICAgICBtX2lzQWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKQEAgLTIxNiw0MyArMjAwLDEw
IEBAIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZShpbnQgb2Zmc2V0LCAKICAgICAgICAgY3Ag
Kz0gY2x1c3Rlckxlbmd0aDsKICAgICAgICAgY3VycmVudENoYXJhY3RlciArPSBjbHVzdGVyTGVu
Z3RoOwogCi0gICAgICAgIC8vIEFjY291bnQgZm9yIGZsb2F0L2ludGVnZXIgaW1wZWRhbmNlIG1p
c21hdGNoIGJldHdlZW4gQ0cgYW5kIEtIVE1MLiAiV29yZHMiIChjaGFyYWN0ZXJzIAotICAgICAg
ICAvLyBmb2xsb3dlZCBieSBhIGNoYXJhY3RlciBkZWZpbmVkIGJ5IGlzUm91bmRpbmdIYWNrQ2hh
cmFjdGVyKCkpIGFyZSBhbHdheXMgYW4gaW50ZWdlciB3aWR0aC4KLSAgICAgICAgLy8gV2UgYWRq
dXN0IHRoZSB3aWR0aCBvZiB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgYSAid29yZCIgdG8gZW5zdXJl
IGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgIC8vIElmIHdlIG1vdmUgS0hUTUwgdG8gZmxvYXRz
IHdlIGNhbiByZW1vdmUgdGhpcyAoYW5kIHJlbGF0ZWQpIGhhY2tzLgotCi0gICAgICAgIGZsb2F0
IG9sZFdpZHRoID0gd2lkdGg7Ci0KLSAgICAgICAgLy8gRm9yY2UgY2hhcmFjdGVycyB0aGF0IGFy
ZSB1c2VkIHRvIGRldGVybWluZSB3b3JkIGJvdW5kYXJpZXMgZm9yIHRoZSByb3VuZGluZyBoYWNr
Ci0gICAgICAgIC8vIHRvIGJlIGludGVnZXIgd2lkdGgsIHNvIGZvbGxvd2luZyB3b3JkcyB3aWxs
IHN0YXJ0IG9uIGFuIGludGVnZXIgYm91bmRhcnkuCi0gICAgICAgIGlmIChtX3J1bi5hcHBseVdv
cmRSb3VuZGluZygpICYmIEZvbnQ6OmlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKGMpKSB7Ci0gICAg
ICAgICAgICB3aWR0aCA9IGNlaWxmKHdpZHRoKTsKLQotICAgICAgICAgICAgLy8gU2luY2Ugd2lk
dGhTaW5jZUxhc3RSb3VuZGluZyBjYW4gbG9zZSBwcmVjaXNpb24gaWYgd2UgaW5jbHVkZSBtZWFz
dXJlbWVudHMgZm9yCi0gICAgICAgICAgICAvLyBwcmVjZWRpbmcgd2hpdGVzcGFjZSwgd2UgYnlw
YXNzIGl0IGhlcmUuCi0gICAgICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gd2lkdGg7Ci0KLSAg
ICAgICAgICAgIC8vIFNpbmNlIHRoaXMgaXMgYSByb3VuZGluZyBoYWNrIGNoYXJhY3Rlciwgd2Ug
c2hvdWxkIGhhdmUgcmVzZXQgdGhpcyBzdW0gb24gdGhlIHByZXZpb3VzCi0gICAgICAgICAgICAv
LyBpdGVyYXRpb24uCi0gICAgICAgICAgICBBU1NFUlQoIXdpZHRoU2luY2VMYXN0Um91bmRpbmcp
OwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoZSBu
ZXh0IGNoYXJhY3RlciBpcyBhICJyb3VuZGluZyBoYWNrIGNoYXJhY3RlciIsIGlmIHNvLCBhZGp1
c3QKLSAgICAgICAgICAgIC8vIHdpZHRoIHNvIHRoYXQgdGhlIHRvdGFsIHJ1biB3aWR0aCB3aWxs
IGJlIG9uIGFuIGludGVnZXIgYm91bmRhcnkuCi0gICAgICAgICAgICBpZiAoKG1fcnVuLmFwcGx5
V29yZFJvdW5kaW5nKCkgJiYgY3VycmVudENoYXJhY3RlciA8IG1fcnVuLmxlbmd0aCgpICYmIEZv
bnQ6OmlzUm91bmRpbmdIYWNrQ2hhcmFjdGVyKCpjcCkpCi0gICAgICAgICAgICAgICAgICAgIHx8
IChtX3J1bi5hcHBseVJ1blJvdW5kaW5nKCkgJiYgY3VycmVudENoYXJhY3RlciA+PSBtX2VuZCkp
IHsKLSAgICAgICAgICAgICAgICBmbG9hdCB0b3RhbFdpZHRoID0gd2lkdGhTaW5jZUxhc3RSb3Vu
ZGluZyArIHdpZHRoOwotICAgICAgICAgICAgICAgIHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSBj
ZWlsZih0b3RhbFdpZHRoKTsKLSAgICAgICAgICAgICAgICB3aWR0aCArPSB3aWR0aFNpbmNlTGFz
dFJvdW5kaW5nIC0gdG90YWxXaWR0aDsKLSAgICAgICAgICAgICAgICBtX3J1bldpZHRoU29GYXIg
Kz0gd2lkdGhTaW5jZUxhc3RSb3VuZGluZzsKLSAgICAgICAgICAgICAgICB3aWR0aFNpbmNlTGFz
dFJvdW5kaW5nID0gMDsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHdpZHRo
U2luY2VMYXN0Um91bmRpbmcgKz0gd2lkdGg7Ci0gICAgICAgIH0KKyAgICAgICAgbV9ydW5XaWR0
aFNvRmFyICs9IHdpZHRoOwogCiAgICAgICAgIGlmIChnbHlwaEJ1ZmZlcikKLSAgICAgICAgICAg
IGdseXBoQnVmZmVyLT5hZGQoZ2x5cGgsIGZvbnREYXRhLCAocnRsID8gb2xkV2lkdGggKyBsYXN0
Um91bmRpbmdXaWR0aCA6IHdpZHRoKSk7Ci0KLSAgICAgICAgbGFzdFJvdW5kaW5nV2lkdGggPSB3
aWR0aCAtIG9sZFdpZHRoOworICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmFkZChnbHlwaCwgZm9u
dERhdGEsIHdpZHRoKTsKIAogICAgICAgICBpZiAobV9hY2NvdW50Rm9yR2x5cGhCb3VuZHMpIHsK
ICAgICAgICAgICAgIG1fbWF4R2x5cGhCb3VuZGluZ0JveFkgPSBtYXgobV9tYXhHbHlwaEJvdW5k
aW5nQm94WSwgYm91bmRzLm1heFkoKSk7CkBAIC0yNjIsOCArMjEzLDYgQEAgdm9pZCBXaWR0aEl0
ZXJhdG9yOjphZHZhbmNlKGludCBvZmZzZXQsIAogICAgIH0KIAogICAgIG1fY3VycmVudENoYXJh
Y3RlciA9IGN1cnJlbnRDaGFyYWN0ZXI7Ci0gICAgbV9ydW5XaWR0aFNvRmFyICs9IHdpZHRoU2lu
Y2VMYXN0Um91bmRpbmc7Ci0gICAgbV9maW5hbFJvdW5kaW5nV2lkdGggPSBsYXN0Um91bmRpbmdX
aWR0aDsKIH0KIAogYm9vbCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlT25lQ2hhcmFjdGVyKGZsb2F0
JiB3aWR0aCwgR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyKQpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuaAkocmV2aXNpb24gNzg2MjMp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJhdG9yLmgJKHdv
cmtpbmcgY29weSkKQEAgLTUzLDcgKzUzLDYgQEAgc3RydWN0IFdpZHRoSXRlcmF0b3IgewogICAg
IGZsb2F0IG1fZXhwYW5zaW9uOwogICAgIGZsb2F0IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7
CiAgICAgYm9vbCBtX2lzQWZ0ZXJFeHBhbnNpb247Ci0gICAgZmxvYXQgbV9maW5hbFJvdW5kaW5n
V2lkdGg7CiAKIHByaXZhdGU6CiAgICAgVUNoYXIzMiBub3JtYWxpemVWb2ljaW5nTWFya3MoaW50
IGN1cnJlbnRDaGFyYWN0ZXIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcAko
cmV2aXNpb24gNzg2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcwMSwyMCArNzAx
LDIyIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3Rm9jdXNSaW5nKGNvbnMKICAgICBjYWly
b19yZXN0b3JlKGNyKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4
dChjb25zdCBJbnRQb2ludCYgb3JpZ2luLCBpbnQgd2lkdGgsIGJvb2wgcHJpbnRpbmcpCit2b2lk
IEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmIG9yaWdp
biwgZmxvYXQgd2lkdGgsIGJvb2wgcHJpbnRpbmcpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJs
ZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgSW50UG9pbnQgZW5kUG9pbnQgPSBvcmlnaW4g
KyBJbnRTaXplKHdpZHRoLCAwKTsKLSAgICBkcmF3TGluZShvcmlnaW4sIGVuZFBvaW50KTsKKyAg
ICBGbG9hdFBvaW50IGVuZFBvaW50ID0gb3JpZ2luICsgRmxvYXRTaXplKHdpZHRoLCAwKTsKKyAg
ICAKKyAgICAvLyBGSVhNRTogTG9zcyBvZiBwcmVjaXNpb24gaGVyZS4gTWlnaHQgY29uc2lkZXIg
cm91bmRpbmcuCisgICAgZHJhd0xpbmUoSW50UG9pbnQob3JpZ2luLngoKSwgb3JpZ2luLnkoKSks
IEludFBvaW50KGVuZFBvaW50LngoKSwgZW5kUG9pbnQueSgpKSk7CiB9CiAKICNpZiAhUExBVEZP
Uk0oR1RLKQogI2luY2x1ZGUgIkRyYXdFcnJvclVuZGVybGluZS5oIgogI2VuZGlmCiAKLXZvaWQg
R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYg
b3JpZ2luLCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSBzdHlsZSkKK3ZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBGbG9hdFBvaW50JiBv
cmlnaW4sIGZsb2F0IHdpZHRoLCBUZXh0Q2hlY2tpbmdMaW5lU3R5bGUgc3R5bGUpCiB7CiAgICAg
aWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4
dENHLmNwcAkocmV2aXNpb24gNzg2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMzAsNyAr
MTEzMCw3IEBAIEZsb2F0UmVjdCBHcmFwaGljc0NvbnRleHQ6OnJvdW5kVG9EZXZpY2UKICAgICBy
ZXR1cm4gRmxvYXRSZWN0KHJvdW5kZWRPcmlnaW4sIHJvdW5kZWRMb3dlclJpZ2h0IC0gcm91bmRl
ZE9yaWdpbik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29u
c3QgSW50UG9pbnQmIHBvaW50LCBpbnQgd2lkdGgsIGJvb2wgcHJpbnRpbmcpCit2b2lkIEdyYXBo
aWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBmbG9h
dCB3aWR0aCwgYm9vbCBwcmludGluZykKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQog
ICAgICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAkocmV2aXNp
b24gNzg2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxl
eFRleHRDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksMTMgKzQ5LDYgQEAgc3Rh
dGljIGlubGluZSBDR0Zsb2F0IHJvdW5kQ0dGbG9hdChDR0ZsbwogICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxDR0Zsb2F0Pihyb3VuZChmKSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgQ0dGbG9hdCBjZWls
Q0dGbG9hdChDR0Zsb2F0IGYpCi17Ci0gICAgaWYgKHNpemVvZihDR0Zsb2F0KSA9PSBzaXplb2Yo
ZmxvYXQpKQotICAgICAgICByZXR1cm4gY2VpbGYoc3RhdGljX2Nhc3Q8ZmxvYXQ+KGYpKTsKLSAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8Q0dGbG9hdD4oY2VpbChmKSk7Ci19Ci0KIENvbXBsZXhUZXh0
Q29udHJvbGxlcjo6Q29tcGxleFRleHRDb250cm9sbGVyKGNvbnN0IEZvbnQqIGZvbnQsIGNvbnN0
IFRleHRSdW4mIHJ1biwgYm9vbCBtYXlVc2VOYXR1cmFsV3JpdGluZ0RpcmVjdGlvbiwgSGFzaFNl
dDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBib29sIGZvclRleHRFbXBo
YXNpcykKICAgICA6IG1fZm9udCgqZm9udCkKICAgICAsIG1fcnVuKHJ1bikKQEAgLTY5LDcgKzYy
LDYgQEAgQ29tcGxleFRleHRDb250cm9sbGVyOjpDb21wbGV4VGV4dENvbnRybwogICAgICwgbV9j
dXJyZW50UnVuKDApCiAgICAgLCBtX2dseXBoSW5DdXJyZW50UnVuKDApCiAgICAgLCBtX2NoYXJh
Y3RlckluQ3VycmVudEdseXBoKDApCi0gICAgLCBtX2ZpbmFsUm91bmRpbmdXaWR0aCgwKQogICAg
ICwgbV9leHBhbnNpb24ocnVuLmV4cGFuc2lvbigpKQogICAgICwgbV9hZnRlckV4cGFuc2lvbih0
cnVlKQogICAgICwgbV9mYWxsYmFja0ZvbnRzKGZhbGxiYWNrRm9udHMpCkBAIC03Nyw3ICs2OSw2
IEBAIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6Q29tcGxleFRleHRDb250cm8KICAgICAsIG1fbWF4
R2x5cGhCb3VuZGluZ0JveFgobnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptaW4oKSkKICAgICAsIG1f
bWluR2x5cGhCb3VuZGluZ0JveFkobnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptYXgoKSkKICAgICAs
IG1fbWF4R2x5cGhCb3VuZGluZ0JveFkobnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptaW4oKSkKLSAg
ICAsIG1fbGFzdFJvdW5kaW5nR2x5cGgoMCkKIHsKICAgICBpZiAoIW1fZXhwYW5zaW9uKQogICAg
ICAgICBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5ID0gMDsKQEAgLTQxMywxMyArNDA0LDExIEBA
IHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZHZhbmNlKHVuc2kKICAgICAgICAgbV9jdXJy
ZW50UnVuKys7CiAgICAgICAgIG1fZ2x5cGhJbkN1cnJlbnRSdW4gPSAwOwogICAgIH0KLSAgICBp
ZiAoIWx0ciAmJiBtX251bUdseXBoc1NvRmFyID09IG1fYWRqdXN0ZWRBZHZhbmNlcy5zaXplKCkp
Ci0gICAgICAgIG1fcnVuV2lkdGhTb0ZhciArPSBtX2ZpbmFsUm91bmRpbmdXaWR0aDsKIH0KIAog
dm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBoc0FuZEFkdmFuY2VzKCkKIHsK
LSAgICBDR0Zsb2F0IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgPSAwOworICAgIENHRmxvYXQgd2lk
dGhTaW5jZUxhc3RDb21taXQgPSAwOwogICAgIHNpemVfdCBydW5Db3VudCA9IG1fY29tcGxleFRl
eHRSdW5zLnNpemUoKTsKICAgICBib29sIGhhc0V4dHJhU3BhY2luZyA9IChtX2ZvbnQubGV0dGVy
U3BhY2luZygpIHx8IG1fZm9udC53b3JkU3BhY2luZygpIHx8IG1fZXhwYW5zaW9uKSAmJiAhbV9y
dW4uc3BhY2luZ0Rpc2FibGVkKCk7CiAgICAgZm9yIChzaXplX3QgciA9IDA7IHIgPCBydW5Db3Vu
dDsgKytyKSB7CkBAIC00MzEsOSArNDIwLDggQEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6
OmFkanVzdEdseXBocwogICAgICAgICBjb25zdCBDR1NpemUqIGFkdmFuY2VzID0gY29tcGxleFRl
eHRSdW4uYWR2YW5jZXMoKTsKIAogICAgICAgICBib29sIGxhc3RSdW4gPSByICsgMSA9PSBydW5D
b3VudDsKLSAgICAgICAgY29uc3QgVUNoYXIqIGNwID0gY29tcGxleFRleHRSdW4uY2hhcmFjdGVy
cygpOwotICAgICAgICBDR0Zsb2F0IHJvdW5kZWRTcGFjZVdpZHRoID0gcm91bmRDR0Zsb2F0KGZv
bnREYXRhLT5zcGFjZVdpZHRoKCkpOwogICAgICAgICBib29sIHJvdW5kc0FkdmFuY2VzID0gIW1f
Zm9udC5pc1ByaW50ZXJGb250KCkgJiYgZm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLnJvdW5kc0ds
eXBoQWR2YW5jZXMoKTsKKyAgICAgICAgY29uc3QgVUNoYXIqIGNwID0gY29tcGxleFRleHRSdW4u
Y2hhcmFjdGVycygpOwogICAgICAgICBDR1BvaW50IGdseXBoT3JpZ2luID0gQ0dQb2ludFplcm87
CiAgICAgICAgIENGSW5kZXggbGFzdENoYXJhY3RlckluZGV4ID0gbV9ydW4ubHRyKCkgPyBudW1l
cmljX2xpbWl0czxDRkluZGV4Pjo6bWluKCkgOiBudW1lcmljX2xpbWl0czxDRkluZGV4Pjo6bWF4
KCk7CiAgICAgICAgIGJvb2wgaXNNb25vdG9uaWMgPSB0cnVlOwpAQCAtNDYzLDcgKzQ1MSw3IEBA
IHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHMKIAogICAgICAgICAgICAg
aWYgKGNoID09ICdcdCcgJiYgbV9ydW4uYWxsb3dUYWJzKCkpIHsKICAgICAgICAgICAgICAgICBm
bG9hdCB0YWJXaWR0aCA9IG1fZm9udC50YWJXaWR0aCgqZm9udERhdGEpOwotICAgICAgICAgICAg
ICAgIGFkdmFuY2Uud2lkdGggPSB0YWJXaWR0aCAtIGZtb2RmKG1fcnVuLnhQb3MoKSArIG1fdG90
YWxXaWR0aCArIHdpZHRoU2luY2VMYXN0Um91bmRpbmcsIHRhYldpZHRoKTsKKyAgICAgICAgICAg
ICAgICBhZHZhbmNlLndpZHRoID0gdGFiV2lkdGggLSBmbW9kZihtX3J1bi54UG9zKCkgKyBtX3Rv
dGFsV2lkdGggKyB3aWR0aFNpbmNlTGFzdENvbW1pdCwgdGFiV2lkdGgpOwogICAgICAgICAgICAg
fSBlbHNlIGlmIChjaCA9PSB6ZXJvV2lkdGhTcGFjZSB8fCAoRm9udDo6dHJlYXRBc1plcm9XaWR0
aFNwYWNlKGNoKSAmJiAhdHJlYXRBc1NwYWNlKSkgewogICAgICAgICAgICAgICAgIGFkdmFuY2Uu
d2lkdGggPSAwOwogICAgICAgICAgICAgICAgIGdseXBoID0gZm9udERhdGEtPnNwYWNlR2x5cGgo
KTsKQEAgLTQ3NSwxMyArNDYzLDYgQEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVz
dEdseXBocwogCiAgICAgICAgICAgICBhZHZhbmNlLndpZHRoICs9IGZvbnREYXRhLT5zeW50aGV0
aWNCb2xkT2Zmc2V0KCk7CiAKLSAgICAgICAgICAgIC8vIFdlIHNwZWNpYWwgY2FzZSBzcGFjZXMg
aW4gdHdvIHdheXMgd2hlbiBhcHBseWluZyB3b3JkIHJvdW5kaW5nLgotICAgICAgICAgICAgLy8g
Rmlyc3QsIHdlIHJvdW5kIHNwYWNlcyB0byBhbiBhZGp1c3RlZCB3aWR0aCBpbiBhbGwgZm9udHMu
Ci0gICAgICAgICAgICAvLyBTZWNvbmQsIGluIGZpeGVkLXBpdGNoIGZvbnRzIHdlIGVuc3VyZSB0
aGF0IGFsbCBnbHlwaHMgdGhhdAotICAgICAgICAgICAgLy8gbWF0Y2ggdGhlIHdpZHRoIG9mIHRo
ZSBzcGFjZSBnbHlwaCBoYXZlIHRoZSBzYW1lIHdpZHRoIGFzIHRoZSBzcGFjZSBnbHlwaC4KLSAg
ICAgICAgICAgIGlmIChyb3VuZGVkQWR2YW5jZVdpZHRoID09IHJvdW5kZWRTcGFjZVdpZHRoICYm
IChmb250RGF0YS0+cGl0Y2goKSA9PSBGaXhlZFBpdGNoIHx8IGdseXBoID09IGZvbnREYXRhLT5z
cGFjZUdseXBoKCkpICYmIG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkpCi0gICAgICAgICAgICAg
ICAgYWR2YW5jZS53aWR0aCA9IGZvbnREYXRhLT5hZGp1c3RlZFNwYWNlV2lkdGgoKTsKLQogICAg
ICAgICAgICAgaWYgKGhhc0V4dHJhU3BhY2luZykgewogICAgICAgICAgICAgICAgIC8vIElmIHdl
J3JlIGEgZ2x5cGggd2l0aCBhbiBhZHZhbmNlLCBnbyBhaGVhZCBhbmQgYWRkIGluIGxldHRlci1z
cGFjaW5nLgogICAgICAgICAgICAgICAgIC8vIFRoYXQgd2F5IHdlIHdlZWQgb3V0IHplcm8gd2lk
dGggbHVya2Vycy4gIFRoaXMgYmVoYXZpb3IgbWF0Y2hlcyB0aGUgZmFzdCB0ZXh0IGNvZGUgcGF0
aC4KQEAgLTQ5MiwxNyArNDczLDE0IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1
c3RHbHlwaHMKICAgICAgICAgICAgICAgICBpZiAodHJlYXRBc1NwYWNlIHx8IEZvbnQ6OmlzQ0pL
SWRlb2dyYXBoT3JTeW1ib2woY2gpKSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIERpc3RyaWJ1
dGUgdGhlIHJ1bidzIHRvdGFsIGV4cGFuc2lvbiBldmVubHkgb3ZlciBhbGwgZXhwYW5zaW9uIG9w
cG9ydHVuaXRpZXMgaW4gdGhlIHJ1bi4KICAgICAgICAgICAgICAgICAgICAgaWYgKG1fZXhwYW5z
aW9uICYmICghbGFzdEdseXBoIHx8IG1fcnVuLmFsbG93c1RyYWlsaW5nRXhwYW5zaW9uKCkpKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCBwcmV2aW91c0V4cGFuc2lvbiA9IG1fZXhw
YW5zaW9uOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0cmVhdEFzU3BhY2UgJiYgIW1f
YWZ0ZXJFeHBhbnNpb24pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUYWtlIHRo
ZSBleHBhbnNpb24gb3Bwb3J0dW5pdHkgYmVmb3JlIHRoaXMgaWRlb2dyYXBoLgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG1fZXhwYW5zaW9uIC09IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5p
dHk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGV4cGFuc2lvbiA9IHJvdW5kZihw
cmV2aW91c0V4cGFuc2lvbikgLSByb3VuZGYobV9leHBhbnNpb24pOwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG1fdG90YWxXaWR0aCArPSBleHBhbnNpb247Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbV9hZGp1c3RlZEFkdmFuY2VzLmxhc3QoKS53aWR0aCArPSBleHBhbnNpb247
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNFeHBhbnNpb24gPSBtX2V4cGFu
c2lvbjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX3RvdGFsV2lkdGggKz0gbV9leHBh
bnNpb25QZXJPcHBvcnR1bml0eTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2FkanVz
dGVkQWR2YW5jZXMubGFzdCgpLndpZHRoICs9IG1fZXhwYW5zaW9uUGVyT3Bwb3J0dW5pdHk7CiAg
ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBtX2V4cGFu
c2lvbiAtPSBtX2V4cGFuc2lvblBlck9wcG9ydHVuaXR5OwotICAgICAgICAgICAgICAgICAgICAg
ICAgYWR2YW5jZS53aWR0aCArPSByb3VuZGYocHJldmlvdXNFeHBhbnNpb24pIC0gcm91bmRmKG1f
ZXhwYW5zaW9uKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGFkdmFuY2Uud2lkdGggKz0gbV9l
eHBhbnNpb25QZXJPcHBvcnR1bml0eTsKICAgICAgICAgICAgICAgICAgICAgICAgIG1fYWZ0ZXJF
eHBhbnNpb24gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAg
ICAgICAgICAgICAgIG1fYWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKQEAgLTUxNCwzMyArNDkyLDcg
QEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFkanVzdEdseXBocwogICAgICAgICAgICAg
ICAgICAgICBtX2FmdGVyRXhwYW5zaW9uID0gZmFsc2U7CiAgICAgICAgICAgICB9CiAKLSAgICAg
ICAgICAgIC8vIERlYWwgd2l0aCB0aGUgZmxvYXQvaW50ZWdlciBpbXBlZGFuY2UgbWlzbWF0Y2gg
YmV0d2VlbiBDRyBhbmQgV2ViQ29yZS4gIldvcmRzIiAoY2hhcmFjdGVycyAKLSAgICAgICAgICAg
IC8vIGZvbGxvd2VkIGJ5IGEgY2hhcmFjdGVyIGRlZmluZWQgYnkgaXNSb3VuZGluZ0hhY2tDaGFy
YWN0ZXIoKSkgYXJlIGFsd2F5cyBhbiBpbnRlZ2VyIHdpZHRoLgotICAgICAgICAgICAgLy8gV2Ug
YWRqdXN0IHRoZSB3aWR0aCBvZiB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgYSAid29yZCIgdG8gZW5z
dXJlIGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgICAgICAvLyBGb3JjZSBjaGFyYWN0ZXJzIHRo
YXQgYXJlIHVzZWQgdG8gZGV0ZXJtaW5lIHdvcmQgYm91bmRhcmllcyBmb3IgdGhlIHJvdW5kaW5n
IGhhY2sKLSAgICAgICAgICAgIC8vIHRvIGJlIGludGVnZXIgd2lkdGgsIHNvIHRoZSBmb2xsb3dp
bmcgd29yZHMgd2lsbCBzdGFydCBvbiBhbiBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICAgICAg
aWYgKG1fcnVuLmFwcGx5V29yZFJvdW5kaW5nKCkgJiYgRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFy
YWN0ZXIoY2gpKQotICAgICAgICAgICAgICAgIGFkdmFuY2Uud2lkdGggPSBjZWlsQ0dGbG9hdChh
ZHZhbmNlLndpZHRoKTsKLQotICAgICAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoZSBuZXh0
IGNoYXJhY3RlciBpcyBhICJyb3VuZGluZyBoYWNrIGNoYXJhY3RlciIsIGlmIHNvLCBhZGp1c3Qg
dGhlCi0gICAgICAgICAgICAvLyB3aWR0aCBzbyB0aGF0IHRoZSB0b3RhbCBydW4gd2lkdGggd2ls
bCBiZSBvbiBhbiBpbnRlZ2VyIGJvdW5kYXJ5LgotICAgICAgICAgICAgaWYgKChtX3J1bi5hcHBs
eVdvcmRSb3VuZGluZygpICYmICFsYXN0R2x5cGggJiYgRm9udDo6aXNSb3VuZGluZ0hhY2tDaGFy
YWN0ZXIobmV4dENoKSkgfHwgKG1fcnVuLmFwcGx5UnVuUm91bmRpbmcoKSAmJiBsYXN0R2x5cGgp
KSB7Ci0gICAgICAgICAgICAgICAgQ0dGbG9hdCB0b3RhbFdpZHRoID0gd2lkdGhTaW5jZUxhc3RS
b3VuZGluZyArIGFkdmFuY2Uud2lkdGg7Ci0gICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RS
b3VuZGluZyA9IGNlaWxDR0Zsb2F0KHRvdGFsV2lkdGgpOwotICAgICAgICAgICAgICAgIENHRmxv
YXQgZXh0cmFXaWR0aCA9IHdpZHRoU2luY2VMYXN0Um91bmRpbmcgLSB0b3RhbFdpZHRoOwotICAg
ICAgICAgICAgICAgIGlmIChtX3J1bi5sdHIoKSkKLSAgICAgICAgICAgICAgICAgICAgYWR2YW5j
ZS53aWR0aCArPSBleHRyYVdpZHRoOwotICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAg
ICAgICAgICAgICBpZiAobV9sYXN0Um91bmRpbmdHbHlwaCkKLSAgICAgICAgICAgICAgICAgICAg
ICAgIG1fYWRqdXN0ZWRBZHZhbmNlc1ttX2xhc3RSb3VuZGluZ0dseXBoIC0gMV0ud2lkdGggKz0g
ZXh0cmFXaWR0aDsKLSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAg
ICAgICAgbV9maW5hbFJvdW5kaW5nV2lkdGggPSBleHRyYVdpZHRoOwotICAgICAgICAgICAgICAg
ICAgICBtX2xhc3RSb3VuZGluZ0dseXBoID0gbV9hZGp1c3RlZEFkdmFuY2VzLnNpemUoKSArIDE7
Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIG1fdG90YWxXaWR0aCArPSB3aWR0
aFNpbmNlTGFzdFJvdW5kaW5nOwotICAgICAgICAgICAgICAgIHdpZHRoU2luY2VMYXN0Um91bmRp
bmcgPSAwOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgd2lkdGhTaW5jZUxh
c3RSb3VuZGluZyArPSBhZHZhbmNlLndpZHRoOworICAgICAgICAgICAgd2lkdGhTaW5jZUxhc3RD
b21taXQgKz0gYWR2YW5jZS53aWR0aDsKIAogICAgICAgICAgICAgLy8gRklYTUU6IENvbWJpbmlu
ZyBtYXJrcyBzaG91bGQgcmVjZWl2ZSBhIHRleHQgZW1waGFzaXMgbWFyayBpZiB0aGV5IGFyZSBj
b21iaW5lIHdpdGggYSBzcGFjZS4KICAgICAgICAgICAgIGlmIChtX2ZvclRleHRFbXBoYXNpcyAm
JiAoIUZvbnQ6OmNhblJlY2VpdmVUZXh0RW1waGFzaXMoY2gpIHx8IChVX0dFVF9HQ19NQVNLKGNo
KSAmIFVfR0NfTV9NQVNLKSkpCkBAIC01NjQsNyArNTE2LDcgQEAgdm9pZCBDb21wbGV4VGV4dENv
bnRyb2xsZXI6OmFkanVzdEdseXBocwogICAgICAgICBpZiAoIWlzTW9ub3RvbmljKQogICAgICAg
ICAgICAgY29tcGxleFRleHRSdW4uc2V0SXNOb25Nb25vdG9uaWMoKTsKICAgICB9Ci0gICAgbV90
b3RhbFdpZHRoICs9IHdpZHRoU2luY2VMYXN0Um91bmRpbmc7CisgICAgbV90b3RhbFdpZHRoICs9
IHdpZHRoU2luY2VMYXN0Q29tbWl0OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9s
bGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L0NvbXBsZXhUZXh0Q29udHJvbGxlci5oCShyZXZpc2lvbiA3ODYyMykKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNjAsOSArNjAsNiBAQCBwdWJsaWM6CiAKICAgICBmbG9hdCB0b3RhbFdpZHRo
KCkgY29uc3QgeyByZXR1cm4gbV90b3RhbFdpZHRoOyB9CiAKLSAgICAvLyBFeHRyYSB3aWR0aCB0
byB0aGUgbGVmdCBvZiB0aGUgbGVmdG1vc3QgZ2x5cGguCi0gICAgZmxvYXQgZmluYWxSb3VuZGlu
Z1dpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9maW5hbFJvdW5kaW5nV2lkdGg7IH0KLQogICAgIGZs
b2F0IG1pbkdseXBoQm91bmRpbmdCb3hYKCkgY29uc3QgeyByZXR1cm4gbV9taW5HbHlwaEJvdW5k
aW5nQm94WDsgfQogICAgIGZsb2F0IG1heEdseXBoQm91bmRpbmdCb3hYKCkgY29uc3QgeyByZXR1
cm4gbV9tYXhHbHlwaEJvdW5kaW5nQm94WDsgfQogICAgIGZsb2F0IG1pbkdseXBoQm91bmRpbmdC
b3hZKCkgY29uc3QgeyByZXR1cm4gbV9taW5HbHlwaEJvdW5kaW5nQm94WTsgfQpAQCAtMTc2LDcg
KzE3Myw2IEBAIHByaXZhdGU6CiAgICAgc2l6ZV90IG1fY3VycmVudFJ1bjsKICAgICB1bnNpZ25l
ZCBtX2dseXBoSW5DdXJyZW50UnVuOwogICAgIHVuc2lnbmVkIG1fY2hhcmFjdGVySW5DdXJyZW50
R2x5cGg7Ci0gICAgZmxvYXQgbV9maW5hbFJvdW5kaW5nV2lkdGg7CiAgICAgZmxvYXQgbV9leHBh
bnNpb247CiAgICAgZmxvYXQgbV9leHBhbnNpb25QZXJPcHBvcnR1bml0eTsKICAgICBib29sIG1f
YWZ0ZXJFeHBhbnNpb247CkBAIC0xODcsOCArMTgzLDYgQEAgcHJpdmF0ZToKICAgICBmbG9hdCBt
X21heEdseXBoQm91bmRpbmdCb3hYOwogICAgIGZsb2F0IG1fbWluR2x5cGhCb3VuZGluZ0JveFk7
CiAgICAgZmxvYXQgbV9tYXhHbHlwaEJvdW5kaW5nQm94WTsKLSAgICAKLSAgICB1bnNpZ25lZCBt
X2xhc3RSb3VuZGluZ0dseXBoOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Zv
bnRDb21wbGV4VGV4dE1hYy5jcHAJKHJldmlzaW9uIDc4NjIzKQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTcxLDcgKzcxLDcgQEAgZmxvYXQgRm9udDo6Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JD
b21wbAogICAgIGZsb2F0IGFmdGVyV2lkdGggPSBjb250cm9sbGVyLnJ1bldpZHRoU29GYXIoKTsK
IAogICAgIGlmIChydW4ucnRsKCkpIHsKLSAgICAgICAgaW5pdGlhbEFkdmFuY2UgPSBjb250cm9s
bGVyLnRvdGFsV2lkdGgoKSArIGNvbnRyb2xsZXIuZmluYWxSb3VuZGluZ1dpZHRoKCkgLSBhZnRl
cldpZHRoOworICAgICAgICBpbml0aWFsQWR2YW5jZSA9IGNvbnRyb2xsZXIudG90YWxXaWR0aCgp
IC0gYWZ0ZXJXaWR0aDsKICAgICAgICAgZm9yIChpbnQgaSA9IDAsIGVuZCA9IGdseXBoQnVmZmVy
LnNpemUoKSAtIDE7IGkgPCBnbHlwaEJ1ZmZlci5zaXplKCkgLyAyOyArK2ksIC0tZW5kKQogICAg
ICAgICAgICAgZ2x5cGhCdWZmZXIuc3dhcChpLCBlbmQpOwogICAgIH0gZWxzZQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dE1hYy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhp
Y3NDb250ZXh0TWFjLm1tCShyZXZpc2lvbiA3ODYyMykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAg
LTExMiwxNCArMTEyLDE0IEBAIHN0YXRpYyBOU0NvbG9yKiBjcmVhdGVQYXR0ZXJuQ29sb3IoTlNT
dHIKIH0KIAogLy8gV2ViS2l0IG9uIE1hYyBpcyBhIHN0YW5kYXJkIHBsYXRmb3JtIGNvbXBvbmVu
dCwgc28gaXQgbXVzdCB1c2UgdGhlIHN0YW5kYXJkIHBsYXRmb3JtIGFydHdvcmsgZm9yIHVuZGVy
bGluZS4KLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25z
dCBJbnRQb2ludCYgcG9pbnQsIGludCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxl
KQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEZs
b2F0UG9pbnQmIHBvaW50LCBmbG9hdCB3aWR0aCwgVGV4dENoZWNraW5nTGluZVN0eWxlIHN0eWxl
KQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKICAgICAg
ICAgCiAgICAgLy8gVGhlc2UgYXJlIHRoZSBzYW1lIGZvciBtaXNzcGVsbGluZyBvciBiYWQgZ3Jh
bW1hci4KICAgICBpbnQgcGF0dGVybkhlaWdodCA9IGNNaXNzcGVsbGluZ0xpbmVUaGlja25lc3M7
Ci0gICAgaW50IHBhdHRlcm5XaWR0aCA9IGNNaXNzcGVsbGluZ0xpbmVQYXR0ZXJuV2lkdGg7Cisg
ICAgZmxvYXQgcGF0dGVybldpZHRoID0gY01pc3NwZWxsaW5nTGluZVBhdHRlcm5XaWR0aDsKIAog
ICAgIGJvb2wgdXNpbmdEb3Q7CiAgICAgTlNDb2xvciAqcGF0dGVybkNvbG9yOwpAQCAtMTY1LDcg
KzE2NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGUKICAgICAv
LyBzcGFjZSBiZXR3ZWVuIGFkamFjZW50IG1pc3NwZWxsZWQgd29yZHMgd2FzIHVuZGVybGluZWQu
CiAgICAgaWYgKHVzaW5nRG90KSB7CiAgICAgICAgIC8vIGFsbG93IHNsaWdodGx5IG1vcmUgY29u
c2lkZXJpbmcgdGhhdCB0aGUgcGF0dGVybiBlbmRzIHdpdGggYSB0cmFuc3BhcmVudCBwaXhlbAot
ICAgICAgICBpbnQgd2lkdGhNb2QgPSB3aWR0aCAlIHBhdHRlcm5XaWR0aDsKKyAgICAgICAgZmxv
YXQgd2lkdGhNb2QgPSBmbW9kZih3aWR0aCwgcGF0dGVybldpZHRoKTsKICAgICAgICAgaWYgKHBh
dHRlcm5XaWR0aCAtIHdpZHRoTW9kID4gY01pc3NwZWxsaW5nTGluZVBhdHRlcm5HYXBXaWR0aCkK
ICAgICAgICAgICAgIHdpZHRoIC09IHdpZHRoTW9kOwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRR
dC5jcHAJKHJldmlzaW9uIDc4NjIzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NTQsMTMgKzg1
NCwxMyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0ZvY3VzUmluZyhjb25zCiAgICAgZHJh
d0ZvY3VzUmluZ0ZvclBhdGgobV9kYXRhLT5wKCksIHBhdGgsIGNvbG9yLCBtX2RhdGEtPmFudGlB
bGlhc2luZ0ZvclJlY3RzQW5kTGluZXMpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJh
d0xpbmVGb3JUZXh0KGNvbnN0IEludFBvaW50JiBvcmlnaW4sIGludCB3aWR0aCwgYm9vbCkKK3Zv
aWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgRmxvYXRQb2ludCYgb3Jp
Z2luLCBmbG9hdCB3aWR0aCwgYm9vbCkKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBJbnRQb2ludCBzdGFydFBvaW50ID0gb3JpZ2luOwotICAg
IEludFBvaW50IGVuZFBvaW50ID0gb3JpZ2luICsgSW50U2l6ZSh3aWR0aCwgMCk7CisgICAgRmxv
YXRQb2ludCBzdGFydFBvaW50ID0gb3JpZ2luOworICAgIEZsb2F0UG9pbnQgZW5kUG9pbnQgPSBv
cmlnaW4gKyBGbG9hdFNpemUod2lkdGgsIDApOwogCiAgICAgLy8gSWYgcGFpbnRlbmdpbmUgdHlw
ZSBpcyBYMTEgdG8gYXZvaWQgYXJ0aWZhY3RzCiAgICAgLy8gbGlrZSBidWcgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyMjQ4CkBAIC04ODAsMTAgKzg4MCwxMSBAQCB2
b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0KGNvCiAgICAgfQogI2VuZGlmIC8v
IGRlZmluZWQoUV9XU19YMTEpCiAKLSAgICBkcmF3TGluZShzdGFydFBvaW50LCBlbmRQb2ludCk7
CisgICAgLy8gRklYTUU6IExvc3Mgb2YgcHJlY2lzaW9uIGhlcmUuIE1pZ2h0IGNvbnNpZGVyIHJv
dW5kaW5nLgorICAgIGRyYXdMaW5lKEludFBvaW50KHN0YXJ0UG9pbnQueCgpLCBzdGFydFBvaW50
LnkoKSksIEludFBvaW50KGVuZFBvaW50LngoKSwgZW5kUG9pbnQueSgpKSk7CiB9CiAKLXZvaWQg
R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBJbnRQb2ludCYs
IGludCwgVGV4dENoZWNraW5nTGluZVN0eWxlKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdM
aW5lRm9yVGV4dENoZWNraW5nKGNvbnN0IEZsb2F0UG9pbnQmLCBmbG9hdCwgVGV4dENoZWNraW5n
TGluZVN0eWxlKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVy
bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnRE
YXRhUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCShyZXZpc2lvbiA3ODYyMykKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02MSw3ICs2MSw2IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtR2x5cGhJ
bml0KCkKICAgICBpZiAoIW1fcGxhdGZvcm1EYXRhLnNpemUoKSkKICAgICAgICAgcmV0dXJuOwog
ICAgIG1fc3BhY2VHbHlwaCA9IDA7Ci0gICAgbV9hZGp1c3RlZFNwYWNlV2lkdGggPSBtX3NwYWNl
V2lkdGg7CiAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKICAgICBtX21pc3NpbmdHbHlwaERhdGEuZm9u
dERhdGEgPSB0aGlzOwogICAgIG1fbWlzc2luZ0dseXBoRGF0YS5nbHlwaCA9IDA7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFNraWEu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEv
R3JhcGhpY3NDb250ZXh0U2tpYS5jcHAJKHJldmlzaW9uIDc4NjIzKQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lhLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTk1LDcgKzU5NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGlu
ZShjb25zdCBJbnQKICAgICBwbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCktPmRyYXdQb2ludHMo
U2tDYW52YXM6OmtMaW5lc19Qb2ludE1vZGUsIDIsIHB0cywgcGFpbnQpOwogfQogCi12b2lkIEdy
YXBoaWNzQ29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmIHB0
LCBpbnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSBzdHlsZSkKK3ZvaWQgR3JhcGhpY3ND
b250ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBGbG9hdFBvaW50JiBwdCwgZmxv
YXQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSBzdHlsZSkKIHsKICAgICBpZiAocGFpbnRp
bmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC02NDQsOCArNjQ0LDggQEAgdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZQogICAgIH0KIAogICAgIC8vIE9mZnNl
dCBpdCB2ZXJ0aWNhbGx5IGJ5IDEgc28gdGhhdCB0aGVyZSdzIHNvbWUgc3BhY2UgdW5kZXIgdGhl
IHRleHQuCi0gICAgU2tTY2FsYXIgb3JpZ2luWCA9IFNrSW50VG9TY2FsYXIocHQueCgpKTsKLSAg
ICBTa1NjYWxhciBvcmlnaW5ZID0gU2tJbnRUb1NjYWxhcihwdC55KCkpICsgMTsKKyAgICBTa1Nj
YWxhciBvcmlnaW5YID0gV2ViQ29yZUZsb2F0VG9Ta1NjYWxhcihwdC54KCkpOworICAgIFNrU2Nh
bGFyIG9yaWdpblkgPSBXZWJDb3JlRmxvYXRUb1NrU2NhbGFyKHB0LnkoKSkgKyAxOwogCiAgICAg
Ly8gTWFrZSBhIHNoYWRlciBmb3IgdGhlIGJpdG1hcCB3aXRoIGFuIG9yaWdpbiBvZiB0aGUgYm94
IHdlJ2xsIGRyYXcuIFRoaXMKICAgICAvLyBzaGFkZXIgaXMgcmVmY291bnRlZCBhbmQgd2lsbCBo
YXZlIGFuIGluaXRpYWwgcmVmY291bnQgb2YgMS4KQEAgLTY2NywxMyArNjY3LDEzIEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZUZvclRleHRDaGUKICAgICBTa1JlY3QgcmVjdDsKICAg
ICByZWN0LnNldChvcmlnaW5YLAogICAgICAgICAgICAgIG9yaWdpblksCi0gICAgICAgICAgICAg
b3JpZ2luWCArIFNrSW50VG9TY2FsYXIod2lkdGgpLAorICAgICAgICAgICAgIG9yaWdpblggKyBX
ZWJDb3JlRmxvYXRUb1NrU2NhbGFyKHdpZHRoKSwKICAgICAgICAgICAgICBvcmlnaW5ZICsgU2tJ
bnRUb1NjYWxhcihtaXNzcGVsbEJpdG1hcC0+aGVpZ2h0KCkpKTsKICAgICBwbGF0Zm9ybUNvbnRl
eHQoKS0+Y2FudmFzKCktPmRyYXdSZWN0KHJlY3QsIHBhaW50KTsKIH0KIAotdm9pZCBHcmFwaGlj
c0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dChjb25zdCBJbnRQb2ludCYgcHQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKK3ZvaWQgR3JhcGhpY3NDb250
ZXh0OjpkcmF3TGluZUZvclRleHQoY29uc3QgRmxvYXRQb2ludCYgcHQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0IHdpZHRoLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBib29sIHByaW50aW5nKQogewogICAgIGlmIChwYWludGluZ0Rp
c2FibGVkKCkpCkBAIC02ODYsOSArNjg2LDkgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdM
aW5lRm9yVGV4dChjbwogCiAgICAgaW50IHRoaWNrbmVzcyA9IFNrTWF4MzIoc3RhdGljX2Nhc3Q8
aW50PihzdHJva2VUaGlja25lc3MoKSksIDEpOwogICAgIFNrUmVjdCByOwotICAgIHIuZkxlZnQg
PSBTa0ludFRvU2NhbGFyKHB0LngoKSk7Ci0gICAgci5mVG9wID0gU2tJbnRUb1NjYWxhcihwdC55
KCkpOwotICAgIHIuZlJpZ2h0ID0gci5mTGVmdCArIFNrSW50VG9TY2FsYXIod2lkdGgpOworICAg
IHIuZkxlZnQgPSBXZWJDb3JlRmxvYXRUb1NrU2NhbGFyKHB0LngoKSk7CisgICAgci5mVG9wID0g
V2ViQ29yZUZsb2F0VG9Ta1NjYWxhcihwdC55KCkpOworICAgIHIuZlJpZ2h0ID0gci5mTGVmdCAr
IFdlYkNvcmVGbG9hdFRvU2tTY2FsYXIod2lkdGgpOwogICAgIHIuZkJvdHRvbSA9IHIuZlRvcCAr
IFNrSW50VG9TY2FsYXIodGhpY2tuZXNzKTsKIAogICAgIFNrUGFpbnQgcGFpbnQ7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0Q0dXaW4u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9H
cmFwaGljc0NvbnRleHRDR1dpbi5jcHAJKHJldmlzaW9uIDc4NjIzKQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dENHV2luLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTg0LDcgKzE4NCw3IEBAIHN0YXRpYyBjb25zdCBDb2xvciYgZ3JhbW1hclBh
dHRlcm5Db2xvcigKICAgICByZXR1cm4gZ3JhbW1hckNvbG9yOwogfQogCi12b2lkIEdyYXBoaWNz
Q29udGV4dDo6ZHJhd0xpbmVGb3JUZXh0Q2hlY2tpbmcoY29uc3QgSW50UG9pbnQmIHBvaW50LCBp
bnQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSBzdHlsZSkKK3ZvaWQgR3JhcGhpY3NDb250
ZXh0OjpkcmF3TGluZUZvclRleHRDaGVja2luZyhjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgZmxv
YXQgd2lkdGgsIFRleHRDaGVja2luZ0xpbmVTdHlsZSBzdHlsZSkKIHsKICAgICBpZiAocGFpbnRp
bmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC0yMDQsNyArMjA0LDcgQEAgdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdMaW5lRm9yVGV4dENoZQogICAgIC8vIGJvdW5kcyAoZS5nLiB3
aGVuIGF0IHRoZSBlZGdlIG9mIGEgdmlldykgYW5kIGNvdWxkIG1ha2UgaXQgYXBwZWFyIHRoYXQg
dGhlCiAgICAgLy8gc3BhY2UgYmV0d2VlbiBhZGphY2VudCBtaXNzcGVsbGVkIHdvcmRzIHdhcyB1
bmRlcmxpbmVkLgogICAgIC8vIGFsbG93IHNsaWdodGx5IG1vcmUgY29uc2lkZXJpbmcgdGhhdCB0
aGUgcGF0dGVybiBlbmRzIHdpdGggYSB0cmFuc3BhcmVudCBwaXhlbAotICAgIGludCB3aWR0aE1v
ZCA9IHdpZHRoICUgcGF0dGVybldpZHRoOworICAgIGZsb2F0IHdpZHRoTW9kID0gZm1vZGYod2lk
dGgsIHBhdHRlcm5XaWR0aCk7CiAgICAgaWYgKHBhdHRlcm5XaWR0aCAtIHdpZHRoTW9kID4gY01p
c3NwZWxsaW5nTGluZVBhdHRlcm5HYXBXaWR0aCkKICAgICAgICAgd2lkdGggLT0gd2lkdGhNb2Q7
CiAgICAgICAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Vbmlz
Y3JpYmVDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vVW5pc2NyaWJlQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDc4NjIzKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1VuaXNjcmliZUNvbnRyb2xs
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjEsMTggKzI2MSwxMyBAQCBib29sIFVuaXNjcmli
ZUNvbnRyb2xsZXI6OnNoYXBlQW5kUGxhY2VJCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAg
Ly8gQ29udmVydCBhbGwgY2hhcnMgdGhhdCBzaG91bGQgYmUgdHJlYXRlZCBhcyBzcGFjZXMgdG8g
dXNlIHRoZSBzcGFjZSBnbHlwaC4KLSAgICAvLyBXZSBhbHNvIGNyZWF0ZSBhIG1hcCB0aGF0IGFs
bG93cyB1cyB0byBxdWlja2x5IGdvIGZyb20gc3BhY2UgZ2x5cGhzIG9yIHJvdW5kaW5nCi0gICAg
Ly8gaGFjayBnbHlwaHMgYmFjayB0byB0aGVpciBjb3JyZXNwb25kaW5nIGNoYXJhY3RlcnMuCisg
ICAgLy8gV2UgYWxzbyBjcmVhdGUgYSBtYXAgdGhhdCBhbGxvd3MgdXMgdG8gcXVpY2tseSBnbyBm
cm9tIHNwYWNlIGdseXBocyBiYWNrIHRvIHRoZWlyIGNvcnJlc3BvbmRpbmcgY2hhcmFjdGVycy4K
ICAgICBWZWN0b3I8aW50PiBzcGFjZUNoYXJhY3RlcnMoZ2x5cGhzLnNpemUoKSk7CiAgICAgc3Bh
Y2VDaGFyYWN0ZXJzLmZpbGwoLTEpOwotICAgIFZlY3RvcjxpbnQ+IHJvdW5kaW5nSGFja0NoYXJh
Y3RlcnMoZ2x5cGhzLnNpemUoKSk7Ci0gICAgcm91bmRpbmdIYWNrQ2hhcmFjdGVycy5maWxsKC0x
KTsKLSAgICBWZWN0b3I8aW50PiByb3VuZGluZ0hhY2tXb3JkQm91bmRhcmllcyhnbHlwaHMuc2l6
ZSgpKTsKLSAgICByb3VuZGluZ0hhY2tXb3JkQm91bmRhcmllcy5maWxsKC0xKTsKIAogICAgIGNv
bnN0IGZsb2F0IGNMb2dpY2FsU2NhbGUgPSBmb250RGF0YS0+cGxhdGZvcm1EYXRhKCkudXNlR0RJ
KCkgPyAxLjBmIDogMzIuMGY7CiAgICAgdW5zaWduZWQgbG9naWNhbFNwYWNlV2lkdGggPSBmb250
RGF0YS0+c3BhY2VXaWR0aCgpICogY0xvZ2ljYWxTY2FsZTsKLSAgICBmbG9hdCByb3VuZGVkU3Bh
Y2VXaWR0aCA9IHJvdW5kZihmb250RGF0YS0+c3BhY2VXaWR0aCgpKTsKKyAgICBmbG9hdCBzcGFj
ZVdpZHRoID0gZm9udERhdGEtPnNwYWNlV2lkdGgoKTsKIAogICAgIGZvciAoaW50IGsgPSAwOyBr
IDwgbGVuOyBrKyspIHsKICAgICAgICAgVUNoYXIgY2ggPSAqKHN0ciArIGspOwpAQCAtMjg2LDIx
ICsyODEsNiBAQCBib29sIFVuaXNjcmliZUNvbnRyb2xsZXI6OnNoYXBlQW5kUGxhY2VJCiAgICAg
ICAgICAgICBpZiAodHJlYXRBc1NwYWNlKQogICAgICAgICAgICAgICAgIHNwYWNlQ2hhcmFjdGVy
c1tjbHVzdGVyc1trXV0gPSBtX2N1cnJlbnRDaGFyYWN0ZXIgKyBrICsgaXRlbS5pQ2hhclBvczsK
ICAgICAgICAgfQotCi0gICAgICAgIGlmIChGb250Ojppc1JvdW5kaW5nSGFja0NoYXJhY3Rlcihj
aCkpCi0gICAgICAgICAgICByb3VuZGluZ0hhY2tDaGFyYWN0ZXJzW2NsdXN0ZXJzW2tdXSA9IG1f
Y3VycmVudENoYXJhY3RlciArIGsgKyBpdGVtLmlDaGFyUG9zOwotCi0gICAgICAgIGludCBib3Vu
ZGFyeSA9IGsgKyBtX2N1cnJlbnRDaGFyYWN0ZXIgKyBpdGVtLmlDaGFyUG9zOwotICAgICAgICBp
ZiAoYm91bmRhcnkgPCBtX3J1bi5sZW5ndGgoKSkgewotICAgICAgICAgICAgLy8gV2hlbiBhdCB0
aGUgbGFzdCBjaGFyYWN0ZXIgaW4gdGhlIHN0ciwgZG9uJ3QgbG9vayBvbmUgcGFzdCB0aGUgZW5k
IGZvciBhIHJvdW5kaW5nIGhhY2sgY2hhcmFjdGVyLgotICAgICAgICAgICAgLy8gSW5zdGVhZCBs
b29rIGFoZWFkIHRvIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgbmV4dCBpdGVtLCBpZiB0aGVyZSBp
cyBhIG5leHQgb25lLiAKLSAgICAgICAgICAgIGlmIChrICsgMSA9PSBsZW4pIHsKLSAgICAgICAg
ICAgICAgICBpZiAoaSArIDIgPCBtX2l0ZW1zLnNpemUoKSAvLyBDaGVjayBmb3IgYXQgbGVhc3Qg
MiBpdGVtcyByZW1haW5pbmcuIFRoZSBsYXN0IGl0ZW0gaXMgYSB0ZXJtaW5hdGluZyBpdGVtIGNv
bnRhaW5pbmcgbm8gY2hhcmFjdGVycy4KLSAgICAgICAgICAgICAgICAgICAgJiYgRm9udDo6aXNS
b3VuZGluZ0hhY2tDaGFyYWN0ZXIoKihjcCArIG1faXRlbXNbaSArIDFdLmlDaGFyUG9zKSkpCi0g
ICAgICAgICAgICAgICAgICAgIHJvdW5kaW5nSGFja1dvcmRCb3VuZGFyaWVzW2NsdXN0ZXJzW2td
XSA9IGJvdW5kYXJ5OwotICAgICAgICAgICAgfSBlbHNlIGlmIChGb250Ojppc1JvdW5kaW5nSGFj
a0NoYXJhY3RlcigqKHN0ciArIGsgKyAxKSkpCi0gICAgICAgICAgICAgICAgcm91bmRpbmdIYWNr
V29yZEJvdW5kYXJpZXNbY2x1c3RlcnNba11dID0gYm91bmRhcnk7Ci0gICAgICAgIH0KICAgICB9
CiAKICAgICAvLyBQb3B1bGF0ZSBvdXIgZ2x5cGggYnVmZmVyIHdpdGggdGhpcyBpbmZvcm1hdGlv
bi4KQEAgLTMyNCwxNCArMzA0LDYgQEAgYm9vbCBVbmlzY3JpYmVDb250cm9sbGVyOjpzaGFwZUFu
ZFBsYWNlSQogCiAgICAgICAgIGFkdmFuY2UgKz0gZm9udERhdGEtPnN5bnRoZXRpY0JvbGRPZmZz
ZXQoKTsKIAotICAgICAgICAvLyBXZSBzcGVjaWFsIGNhc2Ugc3BhY2VzIGluIHR3byB3YXlzIHdo
ZW4gYXBwbHlpbmcgd29yZCByb3VuZGluZy4KLSAgICAgICAgLy8gRmlyc3QsIHdlIHJvdW5kIHNw
YWNlcyB0byBhbiBhZGp1c3RlZCB3aWR0aCBpbiBhbGwgZm9udHMuCi0gICAgICAgIC8vIFNlY29u
ZCwgaW4gZml4ZWQtcGl0Y2ggZm9udHMgd2UgZW5zdXJlIHRoYXQgYWxsIGdseXBocyB0aGF0Ci0g
ICAgICAgIC8vIG1hdGNoIHRoZSB3aWR0aCBvZiB0aGUgc3BhY2UgZ2x5cGggaGF2ZSB0aGUgc2Ft
ZSB3aWR0aCBhcyB0aGUgc3BhY2UgZ2x5cGguCi0gICAgICAgIGlmIChyb3VuZGVkQWR2YW5jZSA9
PSByb3VuZGVkU3BhY2VXaWR0aCAmJiAoZm9udERhdGEtPnBpdGNoKCkgPT0gRml4ZWRQaXRjaCB8
fCBnbHlwaCA9PSBmb250RGF0YS0+c3BhY2VHbHlwaCgpKSAmJgotICAgICAgICAgICAgbV9ydW4u
YXBwbHlXb3JkUm91bmRpbmcoKSkKLSAgICAgICAgICAgIGFkdmFuY2UgPSBmb250RGF0YS0+YWRq
dXN0ZWRTcGFjZVdpZHRoKCk7Ci0KICAgICAgICAgaWYgKGhhc0V4dHJhU3BhY2luZykgewogICAg
ICAgICAgICAgLy8gSWYgd2UncmUgYSBnbHlwaCB3aXRoIGFuIGFkdmFuY2UsIGdvIGFoZWFkIGFu
ZCBhZGQgaW4gbGV0dGVyLXNwYWNpbmcuCiAgICAgICAgICAgICAvLyBUaGF0IHdheSB3ZSB3ZWVk
IG91dCB6ZXJvIHdpZHRoIGx1cmtlcnMuICBUaGlzIGJlaGF2aW9yIG1hdGNoZXMgdGhlIGZhc3Qg
dGV4dCBjb2RlIHBhdGguCkBAIC0zNTAsOSArMzIyLDggQEAgYm9vbCBVbmlzY3JpYmVDb250cm9s
bGVyOjpzaGFwZUFuZFBsYWNlSQogICAgICAgICAgICAgICAgICAgICAgICAgYWR2YW5jZSArPSBt
X3BhZGRpbmc7CiAgICAgICAgICAgICAgICAgICAgICAgICBtX3BhZGRpbmcgPSAwOwogICAgICAg
ICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgcHJl
dmlvdXNQYWRkaW5nID0gbV9wYWRkaW5nOwogICAgICAgICAgICAgICAgICAgICAgICAgbV9wYWRk
aW5nIC09IG1fcGFkUGVyU3BhY2U7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZHZhbmNlICs9
IHJvdW5kZihwcmV2aW91c1BhZGRpbmcpIC0gcm91bmRmKG1fcGFkZGluZyk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBhZHZhbmNlICs9IG1fcGFkUGVyU3BhY2U7CiAgICAgICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICB9CiAKQEAgLTM2MiwyNSArMzMzLDYgQEAgYm9vbCBVbmlz
Y3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSQogICAgICAgICAgICAgfQogICAgICAgICB9
CiAKLSAgICAgICAgLy8gRGVhbCB3aXRoIHRoZSBmbG9hdC9pbnRlZ2VyIGltcGVkYW5jZSBtaXNt
YXRjaCBiZXR3ZWVuIENHIGFuZCBXZWJDb3JlLiAiV29yZHMiIChjaGFyYWN0ZXJzIAotICAgICAg
ICAvLyBmb2xsb3dlZCBieSBhIGNoYXJhY3RlciBkZWZpbmVkIGJ5IGlzUm91bmRpbmdIYWNrQ2hh
cmFjdGVyKCkpIGFyZSBhbHdheXMgYW4gaW50ZWdlciB3aWR0aC4KLSAgICAgICAgLy8gV2UgYWRq
dXN0IHRoZSB3aWR0aCBvZiB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgYSAid29yZCIgdG8gZW5zdXJl
IGFuIGludGVnZXIgd2lkdGguCi0gICAgICAgIC8vIEZvcmNlIGNoYXJhY3RlcnMgdGhhdCBhcmUg
dXNlZCB0byBkZXRlcm1pbmUgd29yZCBib3VuZGFyaWVzIGZvciB0aGUgcm91bmRpbmcgaGFjawot
ICAgICAgICAvLyB0byBiZSBpbnRlZ2VyIHdpZHRoLCBzbyB0aGUgZm9sbG93aW5nIHdvcmRzIHdp
bGwgc3RhcnQgb24gYW4gaW50ZWdlciBib3VuZGFyeS4KLSAgICAgICAgaW50IHJvdW5kaW5nSGFj
a0luZGV4ID0gcm91bmRpbmdIYWNrQ2hhcmFjdGVyc1trXTsKLSAgICAgICAgaWYgKG1fcnVuLmFw
cGx5V29yZFJvdW5kaW5nKCkgJiYgcm91bmRpbmdIYWNrSW5kZXggIT0gLTEpCi0gICAgICAgICAg
ICBhZHZhbmNlID0gY2VpbGYoYWR2YW5jZSk7Ci0KLSAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlm
IHRoZSBuZXh0IGNoYXJhY3RlciBpcyBhICJyb3VuZGluZyBoYWNrIGNoYXJhY3RlciIsIGlmIHNv
LCBhZGp1c3QgdGhlCi0gICAgICAgIC8vIHdpZHRoIHNvIHRoYXQgdGhlIHRvdGFsIHJ1biB3aWR0
aCB3aWxsIGJlIG9uIGFuIGludGVnZXIgYm91bmRhcnkuCi0gICAgICAgIGludCBwb3NpdGlvbiA9
IG1fY3VycmVudENoYXJhY3RlciArIGxlbjsKLSAgICAgICAgYm9vbCBsYXN0R2x5cGggPSAoayA9
PSBnbHlwaHMuc2l6ZSgpIC0gMSkgJiYgKG1fcnVuLnJ0bCgpID8gaSA9PSAwIDogaSA9PSBtX2l0
ZW1zLnNpemUoKSAtIDIpICYmIChwb3NpdGlvbiA+PSBtX2VuZCk7Ci0gICAgICAgIGlmICgobV9y
dW4uYXBwbHlXb3JkUm91bmRpbmcoKSAmJiByb3VuZGluZ0hhY2tXb3JkQm91bmRhcmllc1trXSAh
PSAtMSkgfHwKLSAgICAgICAgICAgIChtX3J1bi5hcHBseVJ1blJvdW5kaW5nKCkgJiYgbGFzdEds
eXBoKSkgeyAKLSAgICAgICAgICAgIGZsb2F0IHRvdGFsV2lkdGggPSBtX3J1bldpZHRoU29GYXIg
KyBhZHZhbmNlOwotICAgICAgICAgICAgYWR2YW5jZSArPSBjZWlsZih0b3RhbFdpZHRoKSAtIHRv
dGFsV2lkdGg7Ci0gICAgICAgIH0KLQogICAgICAgICBtX3J1bldpZHRoU29GYXIgKz0gYWR2YW5j
ZTsKIAogICAgICAgICAvLyBGSVhNRTogV2UgbmVlZCB0byB0YWtlIHRoZSBHT0ZGU0VUUyBmb3Ig
Y29tYmluaW5nIGdseXBocyBhbmQgc3RvcmUgdGhlbSBpbiB0aGUgZ2x5cGggYnVmZmVyCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvRmlsZUNob29zZXJHdGsuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9GaWxlQ2hvb3Nlckd0ay5jcHAJKHJl
dmlzaW9uIDc4NjIzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0ZpbGVDaG9vc2Vy
R3RrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjAsOCArNjAsOCBAQCBTdHJpbmcgRmlsZUNob29z
ZXI6OmJhc2VuYW1lRm9yV2lkdGgoY29uCiAgICAgICAgIGdjaGFyKiBzeXN0ZW1CYXNlbmFtZSA9
IGdfcGF0aF9nZXRfYmFzZW5hbWUoc3lzdGVtRmlsZW5hbWUuZGF0YSgpKTsKICAgICAgICAgc3Ry
aW5nQnlBZG9wdGluZ0ZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbihzeXN0ZW1CYXNlbmFtZSwgc3Ry
aW5nKTsKICAgICB9IGVsc2UgaWYgKG1fZmlsZW5hbWVzLnNpemUoKSA+IDEpCi0gICAgICAgIHJl
dHVybiBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUobXVsdGlwbGVGaWxlVXBsb2FkVGV4
dChtX2ZpbGVuYW1lcy5zaXplKCkpLCB3aWR0aCwgZm9udCwgZmFsc2UpOworICAgICAgICByZXR1
cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG11bHRpcGxlRmlsZVVwbG9hZFRleHQo
bV9maWxlbmFtZXMuc2l6ZSgpKSwgd2lkdGgsIGZvbnQpOwogCi0gICAgcmV0dXJuIFN0cmluZ1Ry
dW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyaW5nLCB3aWR0aCwgZm9udCwgZmFsc2UpOworICAg
IHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0cmluZywgd2lkdGgsIGZv
bnQpOwogfQogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1h
Yy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0ltYWdl
TWFjLm1tCShyZXZpc2lvbiA3ODYyMykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9E
cmFnSW1hZ2VNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTE1OCw4ICsxNTgsNyBAQCBzdGF0aWMg
ZmxvYXQgd2lkdGhXaXRoRm9udChOU1N0cmluZyAqc3RyCiAgICAgaWYgKGNhblVzZUZhc3RSZW5k
ZXJlcihidWZmZXIuZGF0YSgpLCBsZW5ndGgpKSB7CiAgICAgICAgIEZvbnQgd2ViQ29yZUZvbnQo
Rm9udFBsYXRmb3JtRGF0YShmb250LCBbZm9udCBwb2ludFNpemVdKSwgIVtbTlNHcmFwaGljc0Nv
bnRleHQgY3VycmVudENvbnRleHRdIGlzRHJhd2luZ1RvU2NyZWVuXSk7CiAgICAgICAgIFRleHRS
dW4gcnVuKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCk7Ci0gICAgICAgIHJ1bi5kaXNhYmxlUm91bmRp
bmdIYWNrcygpOwotICAgICAgICByZXR1cm4gd2ViQ29yZUZvbnQuZmxvYXRXaWR0aChydW4pOwor
ICAgICAgICByZXR1cm4gd2ViQ29yZUZvbnQud2lkdGgocnVuKTsKICAgICB9CiAgICAgCiAgICAg
cmV0dXJuIFtzdHJpbmcgc2l6ZVdpdGhBdHRyaWJ1dGVzOltOU0RpY3Rpb25hcnkgZGljdGlvbmFy
eVdpdGhPYmplY3RzQW5kS2V5czpmb250LCBOU0ZvbnRBdHRyaWJ1dGVOYW1lLCBuaWxdXS53aWR0
aDsKQEAgLTE5Nyw4ICsxOTYsNyBAQCBzdGF0aWMgdm9pZCBkcmF3QXRQb2ludChOU1N0cmluZyAq
c3RyaW5nCiAgICAgICAgICAgICAKICAgICAgICAgRm9udCB3ZWJDb3JlRm9udChGb250UGxhdGZv
cm1EYXRhKGZvbnQsIFtmb250IHBvaW50U2l6ZV0pLCAhW25zQ29udGV4dCBpc0RyYXdpbmdUb1Nj
cmVlbl0sIEFudGlhbGlhc2VkKTsKICAgICAgICAgVGV4dFJ1biBydW4oYnVmZmVyLmRhdGEoKSwg
bGVuZ3RoKTsKLSAgICAgICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7Ci0gICAgICAgIAor
CiAgICAgICAgIENHRmxvYXQgcmVkOwogICAgICAgICBDR0Zsb2F0IGdyZWVuOwogICAgICAgICBD
R0Zsb2F0IGJsdWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRmlsZUNob29z
ZXJNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0ZpbGVD
aG9vc2VyTWFjLm1tCShyZXZpc2lvbiA3ODYyMykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9GaWxlQ2hvb3Nlck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNDcsOSArNDcsOSBAQCBT
dHJpbmcgRmlsZUNob29zZXI6OmJhc2VuYW1lRm9yV2lkdGgoY29uCiAgICAgZWxzZSBpZiAobV9m
aWxlbmFtZXMuc2l6ZSgpID09IDEpCiAgICAgICAgIHN0clRvVHJ1bmNhdGUgPSBbW05TRmlsZU1h
bmFnZXIgZGVmYXVsdE1hbmFnZXJdIGRpc3BsYXlOYW1lQXRQYXRoOihtX2ZpbGVuYW1lc1swXSld
OwogICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0
ZShtdWx0aXBsZUZpbGVVcGxvYWRUZXh0KG1fZmlsZW5hbWVzLnNpemUoKSksIHdpZHRoLCBmb250
LCBmYWxzZSk7CisgICAgICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUo
bXVsdGlwbGVGaWxlVXBsb2FkVGV4dChtX2ZpbGVuYW1lcy5zaXplKCkpLCB3aWR0aCwgZm9udCk7
CiAKLSAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJUb1RydW5j
YXRlLCB3aWR0aCwgZm9udCwgZmFsc2UpOworICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNl
bnRlclRydW5jYXRlKHN0clRvVHJ1bmNhdGUsIHdpZHRoLCBmb250KTsKIH0KIAogfQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0RyYWdJbWFnZVdpbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0RyYWdJbWFnZVdpbi5jcHAJKHJldmlzaW9u
IDc4NjIzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0RyYWdJbWFnZVdpbi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTIxMCwxMyArMjEwLDEzIEBAIERyYWdJbWFnZVJlZiBjcmVhdGVE
cmFnSW1hZ2VGb3JMaW5rKEtVUkwKICAgICBzdGF0aWMgY29uc3QgQ29sb3IgYm90dG9tQ29sb3Io
MjU1LCAyNTUsIDI1NSwgMTI3KTsgLy8gb3JpZ2luYWwgYWxwaGEgPSAwLjUKICAgICBpZiAoZHJh
d1VSTFN0cmluZykgewogICAgICAgICBpZiAoY2xpcFVSTFN0cmluZykKLSAgICAgICAgICAgIHVy
bFN0cmluZyA9IFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZSh1cmxTdHJpbmcsIGltYWdl
U2l6ZS53aWR0aCgpIC0gKERyYWdMYWJlbEJvcmRlclggKiAyLjBmKSwgKnVybEZvbnQsIGZhbHNl
KTsKKyAgICAgICAgICAgIHVybFN0cmluZyA9IFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0
ZSh1cmxTdHJpbmcsIGltYWdlU2l6ZS53aWR0aCgpIC0gKERyYWdMYWJlbEJvcmRlclggKiAyLjBm
KSwgKnVybEZvbnQpOwogICAgICAgICBJbnRQb2ludCB0ZXh0UG9zKERyYWdMYWJlbEJvcmRlclgs
IGltYWdlU2l6ZS5oZWlnaHQoKSAtIChMYWJlbEJvcmRlcllPZmZzZXQgKyB1cmxGb250LT5mb250
TWV0cmljcygpLmRlc2NlbnQoKSkpOwogICAgICAgICBXZWJDb3JlRHJhd0RvdWJsZWRUZXh0QXRQ
b2ludChjb250ZXh0LCB1cmxTdHJpbmcsIHRleHRQb3MsICp1cmxGb250LCB0b3BDb2xvciwgYm90
dG9tQ29sb3IpOwogICAgIH0KICAgICAKICAgICBpZiAoY2xpcExhYmVsU3RyaW5nKQotICAgICAg
ICBsYWJlbCA9IFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShsYWJlbCwgaW1hZ2VTaXpl
LndpZHRoKCkgLSAoRHJhZ0xhYmVsQm9yZGVyWCAqIDIuMGYpLCAqbGFiZWxGb250LCBmYWxzZSk7
CisgICAgICAgIGxhYmVsID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKGxhYmVsLCBp
bWFnZVNpemUud2lkdGgoKSAtIChEcmFnTGFiZWxCb3JkZXJYICogMi4wZiksICpsYWJlbEZvbnQp
OwogCiAgICAgSW50UG9pbnQgdGV4dFBvcyhEcmFnTGFiZWxCb3JkZXJYLCBEcmFnTGFiZWxCb3Jk
ZXJZICsgbGFiZWxGb250LT5waXhlbFNpemUoKSk7CiAgICAgV2ViQ29yZURyYXdEb3VibGVkVGV4
dEF0UG9pbnQoY29udGV4dCwgbGFiZWwsIHRleHRQb3MsICpsYWJlbEZvbnQsIHRvcENvbG9yLCBi
b3R0b21Db2xvcik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmlsZUNob29z
ZXJXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxl
Q2hvb3Nlcldpbi5jcHAJKHJldmlzaW9uIDc4NjIzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vd2luL0ZpbGVDaG9vc2VyV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsOSArNDYsOSBA
QCBTdHJpbmcgRmlsZUNob29zZXI6OmJhc2VuYW1lRm9yV2lkdGgoY29uCiAgICAgICAgIExQV1NU
UiBiYXNlbmFtZSA9IFBhdGhGaW5kRmlsZU5hbWVXKHRtcEZpbGVuYW1lLmNoYXJhY3RlcnNXaXRo
TnVsbFRlcm1pbmF0aW9uKCkpOwogICAgICAgICBzdHJpbmcgPSBTdHJpbmcoYmFzZW5hbWUpOwog
ICAgIH0gZWxzZQotICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRl
KFN0cmluZzo6bnVtYmVyKG1fZmlsZW5hbWVzLnNpemUoKSkgKyAiIGZpbGVzIiwgd2lkdGgsIGZv
bnQsIGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0
ZShTdHJpbmc6Om51bWJlcihtX2ZpbGVuYW1lcy5zaXplKCkpICsgIiBmaWxlcyIsIHdpZHRoLCBm
b250KTsKIAotICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0cmlu
Zywgd2lkdGgsIGZvbnQsIGZhbHNlKTsKKyAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50
ZXJUcnVuY2F0ZShzdHJpbmcsIHdpZHRoLCBmb250KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5j
cHAJKHJldmlzaW9uIDc4NjIzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1BvcHVw
TWVudVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyNiw3ICszMjYsNyBAQCB2b2lkIFBvcHVw
TWVudVdpbjo6Y2FsY3VsYXRlUG9zaXRpb25BbmRTCiAgICAgICAgICAgICBpdGVtRm9udC51cGRh
dGUobV9wb3B1cENsaWVudC0+Zm9udFNlbGVjdG9yKCkpOwogICAgICAgICB9CiAKLSAgICAgICAg
cG9wdXBXaWR0aCA9IG1heChwb3B1cFdpZHRoLCBpdGVtRm9udC53aWR0aChUZXh0UnVuKHRleHQu
Y2hhcmFjdGVycygpLCB0ZXh0Lmxlbmd0aCgpKSkpOworICAgICAgICBwb3B1cFdpZHRoID0gbWF4
KHBvcHVwV2lkdGgsIHN0YXRpY19jYXN0PGludD4oY2VpbGYoaXRlbUZvbnQud2lkdGgoVGV4dFJ1
bih0ZXh0LmNoYXJhY3RlcnMoKSwgdGV4dC5sZW5ndGgoKSkpKSkpOwogICAgIH0KIAogICAgIGlm
IChuYXR1cmFsSGVpZ2h0ID4gbWF4UG9wdXBIZWlnaHQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vV2ViQ29yZVRleHRSZW5kZXJlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vd2luL1dlYkNvcmVUZXh0UmVuZGVyZXIuY3BwCShyZXZpc2lvbiA3
ODYyMykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XZWJDb3JlVGV4dFJlbmRlcmVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgV2ViQ29yZURyYXdE
b3VibGVkVGV4dEF0UG9pbnQoR3JhcGgKIAogZmxvYXQgV2ViQ29yZVRleHRGbG9hdFdpZHRoKGNv
bnN0IFN0cmluZyYgdGV4dCwgY29uc3QgRm9udCYgZm9udCkKIHsKLSAgICByZXR1cm4gU3RyaW5n
VHJ1bmNhdG9yOjp3aWR0aCh0ZXh0LCBmb250LCBmYWxzZSk7CisgICAgcmV0dXJuIFN0cmluZ1Ry
dW5jYXRvcjo6d2lkdGgodGV4dCwgZm9udCk7CiB9CiAKIHZvaWQgV2ViQ29yZVNldFNob3VsZFVz
ZUZvbnRTbW9vdGhpbmcoYm9vbCBzbW9vdGgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSGl0VGVzdFJlc3VsdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0hpdFRlc3RSZXN1bHQuY3BwCShyZXZpc2lvbiA3ODYyMykKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQ1LDYgKzU0
NSwyMyBAQCBib29sIEhpdFRlc3RSZXN1bHQ6OmFkZE5vZGVUb1JlY3RCYXNlZFRlCiAgICAgcmV0
dXJuICFyZWN0LmNvbnRhaW5zKHJlY3RGb3JQb2ludCh4LCB5KSk7CiB9CiAKK2Jvb2wgSGl0VGVz
dFJlc3VsdDo6YWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChOb2RlKiBub2RlLCBpbnQgeCwg
aW50IHksIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKK3sKKyAgICAvLyBJZiBpdCBpcyBub3QgYSBy
ZWN0LWJhc2VkIGhpdCB0ZXN0LCB0aGlzIG1ldGhvZCBoYXMgdG8gYmUgbm8tb3AuCisgICAgLy8g
UmV0dXJuIGZhbHNlLCBzbyB0aGUgaGl0IHRlc3Qgc3RvcHMuCisgICAgaWYgKCFpc1JlY3RCYXNl
ZFRlc3QoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gSWYgbm9kZSBpcyBudWxs
LCByZXR1cm4gdHJ1ZSBzbyB0aGUgaGl0IHRlc3QgY2FuIGNvbnRpbnVlLgorICAgIGlmICghbm9k
ZSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBub2RlID0gbm9kZS0+c2hhZG93QW5jZXN0
b3JOb2RlKCk7CisgICAgbV9yZWN0QmFzZWRUZXN0UmVzdWx0LmFkZChub2RlKTsKKworICAgIHJl
dHVybiAhcmVjdC5jb250YWlucyhyZWN0Rm9yUG9pbnQoeCwgeSkpOworfQorCiB2b2lkIEhpdFRl
c3RSZXN1bHQ6OmFwcGVuZChjb25zdCBIaXRUZXN0UmVzdWx0JiBvdGhlcikKIHsKICAgICBBU1NF
UlQoaXNSZWN0QmFzZWRUZXN0KCkgJiYgb3RoZXIuaXNSZWN0QmFzZWRUZXN0KCkpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCShyZXZpc2lvbiA3ODYyMykK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTIwLDYgKzIwLDcgQEAKICNpZm5kZWYgSGl0VGVzdFJlc3VsdF9oCiAjZGVmaW5lIEhp
dFRlc3RSZXN1bHRfaAogCisjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiSW50UG9p
bnQuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgpAQCAtMTA5
LDcgKzExMCw4IEBAIHB1YmxpYzoKIAogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBpdCBpcyByZWN0
LWJhc2VkIGhpdCB0ZXN0IGFuZCBuZWVkcyB0byBjb250aW51ZSB1bnRpbCB0aGUgcmVjdCBpcyBm
dWxseQogICAgIC8vIGVuY2xvc2VkIGJ5IHRoZSBib3VuZGFyaWVzIG9mIGEgbm9kZS4KLSAgICBi
b29sIGFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQoTm9kZSosIGludCB4LCBpbnQgeSwgY29u
c3QgSW50UmVjdCYgcmVjdCA9IEludFJlY3QoKSk7CisgICAgYm9vbCBhZGROb2RlVG9SZWN0QmFz
ZWRUZXN0UmVzdWx0KE5vZGUqLCBpbnQgeCwgaW50IHksIGNvbnN0IEludFJlY3QmID0gSW50UmVj
dCgpKTsKKyAgICBib29sIGFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQoTm9kZSosIGludCB4
LCBpbnQgeSwgY29uc3QgRmxvYXRSZWN0Jik7CiAgICAgY29uc3QgTGlzdEhhc2hTZXQ8UmVmUHRy
PE5vZGU+ID4mIHJlY3RCYXNlZFRlc3RSZXN1bHQoKSBjb25zdCB7IHJldHVybiBtX3JlY3RCYXNl
ZFRlc3RSZXN1bHQ7IH0KICAgICB2b2lkIGFwcGVuZChjb25zdCBIaXRUZXN0UmVzdWx0Jik7CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guY3BwCShyZXZpc2lvbiA3ODYy
MykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNTAsMTQgKzE1MCwxMiBAQCB2b2lkIElubGluZUJveDo6YXR0YWNoTGluZSgpCiAg
ICAgICAgIHRvUmVuZGVyQm94KG1fcmVuZGVyZXIpLT5zZXRJbmxpbmVCb3hXcmFwcGVyKHRoaXMp
OwogfQogCi12b2lkIElubGluZUJveDo6YWRqdXN0UG9zaXRpb24oaW50IGR4LCBpbnQgZHkpCit2
b2lkIElubGluZUJveDo6YWRqdXN0UG9zaXRpb24oZmxvYXQgZHgsIGZsb2F0IGR5KQogewogICAg
IG1feCArPSBkeDsKICAgICBtX3kgKz0gZHk7Ci0gICAgaWYgKG1fcmVuZGVyZXItPmlzUmVwbGFj
ZWQoKSkgewotICAgICAgICBSZW5kZXJCb3gqIGJveCA9IHRvUmVuZGVyQm94KG1fcmVuZGVyZXIp
OwotICAgICAgICBib3gtPm1vdmUoZHgsIGR5KTsKLSAgICB9CisgICAgaWYgKG1fcmVuZGVyZXIt
PmlzUmVwbGFjZWQoKSkKKyAgICAgICAgdG9SZW5kZXJCb3gobV9yZW5kZXJlciktPnBvc2l0aW9u
TGluZUJveCh0aGlzKTsKIH0KIAogdm9pZCBJbmxpbmVCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFp
bnRJbmZvLCBpbnQgdHgsIGludCB0eSkKQEAgLTI3OCwyMSArMjc2LDM1IEBAIGJvb2wgSW5saW5l
Qm94OjpjYW5BY2NvbW1vZGF0ZUVsbGlwc2lzKGIKICAgICByZXR1cm4gIShib3hSZWN0LmludGVy
c2VjdHMoZWxsaXBzaXNSZWN0KSk7CiB9CiAKLWludCBJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXNC
b3goYm9vbCwgaW50LCBpbnQsIGludCwgYm9vbCYpCitmbG9hdCBJbmxpbmVCb3g6OnBsYWNlRWxs
aXBzaXNCb3goYm9vbCwgZmxvYXQsIGZsb2F0LCBmbG9hdCwgYm9vbCYpCiB7CiAgICAgLy8gVXNl
IC0xIHRvIG1lYW4gIndlIGRpZG4ndCBzZXQgdGhlIHBvc2l0aW9uLiIKICAgICByZXR1cm4gLTE7
CiB9CiAKLUludFBvaW50IElubGluZUJveDo6bG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpCitG
bG9hdFBvaW50IElubGluZUJveDo6bG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpCiB7CiAgICAg
aWYgKCFyZW5kZXJlcigpLT5zdHlsZSgpLT5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQot
ICAgICAgICByZXR1cm4gSW50UG9pbnQoeCgpLCB5KCkpOworICAgICAgICByZXR1cm4gRmxvYXRQ
b2ludCh4KCksIHkoKSk7CiAgICAgUmVuZGVyQmxvY2sqIGJsb2NrID0gcm9vdCgpLT5ibG9jaygp
OwogICAgIGlmIChibG9jay0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKLSAg
ICAgICAgcmV0dXJuIEludFBvaW50KHgoKSwgYmxvY2stPmhlaWdodCgpIC0gaGVpZ2h0KCkgLSB5
KCkpOworICAgICAgICByZXR1cm4gRmxvYXRQb2ludCh4KCksIGJsb2NrLT5oZWlnaHQoKSAtIGhl
aWdodCgpIC0geSgpKTsKICAgICBlbHNlCi0gICAgICAgIHJldHVybiBJbnRQb2ludChibG9jay0+
d2lkdGgoKSAtIHdpZHRoKCkgLSB4KCksIHkoKSk7CisgICAgICAgIHJldHVybiBGbG9hdFBvaW50
KGJsb2NrLT53aWR0aCgpIC0gd2lkdGgoKSAtIHgoKSwgeSgpKTsKK30KKwordm9pZCBJbmxpbmVC
b3g6OmZsaXBGb3JXcml0aW5nTW9kZShGbG9hdFJlY3QmIHJlY3QpCit7CisgICAgaWYgKCFyZW5k
ZXJlcigpLT5zdHlsZSgpLT5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQorICAgICAgICBy
ZXR1cm47CisgICAgcm9vdCgpLT5ibG9jaygpLT5mbGlwRm9yV3JpdGluZ01vZGUocmVjdCk7Cit9
CisKK0Zsb2F0UG9pbnQgSW5saW5lQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgRmxvYXRQ
b2ludCYgcG9pbnQpCit7CisgICAgaWYgKCFyZW5kZXJlcigpLT5zdHlsZSgpLT5pc0ZsaXBwZWRC
bG9ja3NXcml0aW5nTW9kZSgpKQorICAgICAgICByZXR1cm4gcG9pbnQ7CisgICAgcmV0dXJuIHJv
b3QoKS0+YmxvY2soKS0+ZmxpcEZvcldyaXRpbmdNb2RlKHBvaW50KTsKIH0KIAogdm9pZCBJbmxp
bmVCb3g6OmZsaXBGb3JXcml0aW5nTW9kZShJbnRSZWN0JiByZWN0KQpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9JbmxpbmVCb3guaAkocmV2aXNpb24gNzg2MjMpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvSW5saW5lQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTY4LDcgKzY4LDcgQEAg
cHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBJbmxpbmVCb3goUmVuZGVyT2JqZWN0KiBvYmos
IGludCB4LCBpbnQgeSwgaW50IGxvZ2ljYWxXaWR0aCwgYm9vbCBmaXJzdExpbmUsIGJvb2wgY29u
c3RydWN0ZWQsCisgICAgSW5saW5lQm94KFJlbmRlck9iamVjdCogb2JqLCBmbG9hdCB4LCBmbG9h
dCB5LCBmbG9hdCBsb2dpY2FsV2lkdGgsIGJvb2wgZmlyc3RMaW5lLCBib29sIGNvbnN0cnVjdGVk
LAogICAgICAgICAgICAgICBib29sIGRpcnR5LCBib29sIGV4dHJhY3RlZCwgYm9vbCBpc0hvcml6
b250YWwsIElubGluZUJveCogbmV4dCwgSW5saW5lQm94KiBwcmV2LCBJbmxpbmVGbG93Qm94KiBw
YXJlbnQpCiAgICAgICAgIDogbV9uZXh0KG5leHQpCiAgICAgICAgICwgbV9wcmV2KHByZXYpCkBA
IC0xMTIsMTUgKzExMiwxNSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5lQnJl
YWsoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCi0gICAgdmlydHVhbCB2b2lkIGFkanVzdFBv
c2l0aW9uKGludCBkeCwgaW50IGR5KTsKLSAgICB2b2lkIGFkanVzdExpbmVEaXJlY3Rpb25Qb3Np
dGlvbihpbnQgZGVsdGEpCisgICAgdmlydHVhbCB2b2lkIGFkanVzdFBvc2l0aW9uKGZsb2F0IGR4
LCBmbG9hdCBkeSk7CisgICAgdm9pZCBhZGp1c3RMaW5lRGlyZWN0aW9uUG9zaXRpb24oZmxvYXQg
ZGVsdGEpCiAgICAgewogICAgICAgICBpZiAoaXNIb3Jpem9udGFsKCkpCiAgICAgICAgICAgICBh
ZGp1c3RQb3NpdGlvbihkZWx0YSwgMCk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGFkanVz
dFBvc2l0aW9uKDAsIGRlbHRhKTsKICAgICB9Ci0gICAgdm9pZCBhZGp1c3RCbG9ja0RpcmVjdGlv
blBvc2l0aW9uKGludCBkZWx0YSkKKyAgICB2b2lkIGFkanVzdEJsb2NrRGlyZWN0aW9uUG9zaXRp
b24oZmxvYXQgZGVsdGEpCiAgICAgewogICAgICAgICBpZiAoaXNIb3Jpem9udGFsKCkpCiAgICAg
ICAgICAgICBhZGp1c3RQb3NpdGlvbigwLCBkZWx0YSk7CkBAIC0yMjAsMjggKzIyMCwyOCBAQCBw
dWJsaWM6CiAgICAgUm9vdElubGluZUJveCogcm9vdCgpOwogCiAgICAgLy8geCgpIGlzIHRoZSBs
ZWZ0IHNpZGUgb2YgdGhlIGJveCBpbiB0aGUgY29udGFpbmluZyBibG9jaydzIGNvb3JkaW5hdGUg
c3lzdGVtLgotICAgIHZvaWQgc2V0WChpbnQgeCkgeyBtX3ggPSB4OyB9Ci0gICAgaW50IHgoKSBj
b25zdCB7IHJldHVybiBtX3g7IH0KKyAgICB2b2lkIHNldFgoZmxvYXQgeCkgeyBtX3ggPSB4OyB9
CisgICAgZmxvYXQgeCgpIGNvbnN0IHsgcmV0dXJuIG1feDsgfQogCiAgICAgLy8geSgpIGlzIHRo
ZSB0b3Agc2lkZSBvZiB0aGUgYm94IGluIHRoZSBjb250YWluaW5nIGJsb2NrJ3MgY29vcmRpbmF0
ZSBzeXN0ZW0uCi0gICAgdm9pZCBzZXRZKGludCB5KSB7IG1feSA9IHk7IH0KLSAgICBpbnQgeSgp
IGNvbnN0IHsgcmV0dXJuIG1feTsgfQorICAgIHZvaWQgc2V0WShmbG9hdCB5KSB7IG1feSA9IHk7
IH0KKyAgICBmbG9hdCB5KCkgY29uc3QgeyByZXR1cm4gbV95OyB9CiAKLSAgICBpbnQgd2lkdGgo
KSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IGxvZ2ljYWxXaWR0aCgpIDogbG9naWNh
bEhlaWdodCgpOyB9Ci0gICAgaW50IGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRh
bCgpID8gbG9naWNhbEhlaWdodCgpIDogbG9naWNhbFdpZHRoKCk7IH0KLQotICAgIEludFJlY3Qg
ZnJhbWVSZWN0KCkgY29uc3QgeyByZXR1cm4gSW50UmVjdCh4KCksIHkoKSwgd2lkdGgoKSwgaGVp
Z2h0KCkpOyB9CisgICAgZmxvYXQgd2lkdGgoKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWwo
KSA/IGxvZ2ljYWxXaWR0aCgpIDogbG9naWNhbEhlaWdodCgpOyB9CisgICAgZmxvYXQgaGVpZ2h0
KCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyBsb2dpY2FsSGVpZ2h0KCkgOiBsb2dp
Y2FsV2lkdGgoKTsgfQogCiAgICAgLy8gVGhlIGxvZ2ljYWxMZWZ0IHBvc2l0aW9uIGlzIHRoZSBs
ZWZ0IGVkZ2Ugb2YgdGhlIGxpbmUgYm94IGluIGEgaG9yaXpvbnRhbCBsaW5lIGFuZCB0aGUgdG9w
IGVkZ2UgaW4gYSB2ZXJ0aWNhbCBsaW5lLgotICAgIGludCBsb2dpY2FsTGVmdCgpIGNvbnN0IHsg
cmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gbV94IDogbV95OyB9Ci0gICAgaW50IGxvZ2ljYWxSaWdo
dCgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxMZWZ0KCkgKyBsb2dpY2FsV2lkdGgoKTsgfQotICAg
IHZvaWQgc2V0TG9naWNhbExlZnQoaW50IGxlZnQpCisgICAgZmxvYXQgbG9naWNhbExlZnQoKSBj
b25zdCB7IHJldHVybiBpc0hvcml6b250YWwoKSA/IG1feCA6IG1feTsgfQorICAgIGZsb2F0IGxv
Z2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxMZWZ0KCkgKyBsb2dpY2FsV2lkdGgo
KTsgfQorICAgIHZvaWQgc2V0TG9naWNhbExlZnQoZmxvYXQgbGVmdCkKICAgICB7CiAgICAgICAg
IGlmIChpc0hvcml6b250YWwoKSkKICAgICAgICAgICAgIG1feCA9IGxlZnQ7CiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIG1feSA9IGxlZnQ7CiAgICAgfQorICAgIGludCBwaXhlbFNuYXBwZWRM
b2dpY2FsTGVmdCgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxMZWZ0KCk7IH0KKyAgICBpbnQgcGl4
ZWxTbmFwcGVkTG9naWNhbFJpZ2h0KCkgY29uc3QgeyByZXR1cm4gY2VpbGYobG9naWNhbFJpZ2h0
KCkpOyB9CiAKICAgICAvLyBUaGUgbG9naWNhbFRvcFsgcG9zaXRpb24gaXMgdGhlIHRvcCBlZGdl
IG9mIHRoZSBsaW5lIGJveCBpbiBhIGhvcml6b250YWwgbGluZSBhbmQgdGhlIGxlZnQgZWRnZSBp
biBhIHZlcnRpY2FsIGxpbmUuCiAgICAgaW50IGxvZ2ljYWxUb3AoKSBjb25zdCB7IHJldHVybiBp
c0hvcml6b250YWwoKSA/IG1feSA6IG1feDsgfQpAQCAtMjU1LDggKzI1NSw4IEBAIHB1YmxpYzoK
ICAgICB9CiAKICAgICAvLyBUaGUgbG9naWNhbCB3aWR0aCBpcyBvdXIgZXh0ZW50IGluIHRoZSBs
aW5lJ3Mgb3ZlcmFsbCBpbmxpbmUgZGlyZWN0aW9uLCBpLmUuLCB3aWR0aCBmb3IgaG9yaXpvbnRh
bCB0ZXh0IGFuZCBoZWlnaHQgZm9yIHZlcnRpY2FsIHRleHQuCi0gICAgdm9pZCBzZXRMb2dpY2Fs
V2lkdGgoaW50IHcpIHsgbV9sb2dpY2FsV2lkdGggPSB3OyB9Ci0gICAgaW50IGxvZ2ljYWxXaWR0
aCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9naWNhbFdpZHRoOyB9CisgICAgdm9pZCBzZXRMb2dpY2Fs
V2lkdGgoZmxvYXQgdykgeyBtX2xvZ2ljYWxXaWR0aCA9IHc7IH0KKyAgICBmbG9hdCBsb2dpY2Fs
V2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxXaWR0aDsgfQogCiAgICAgLy8gVGhlIGxv
Z2ljYWwgaGVpZ2h0IGlzIG91ciBleHRlbnQgaW4gdGhlIGJsb2NrIGZsb3cgZGlyZWN0aW9uLCBp
LmUuLCBoZWlnaHQgZm9yIGhvcml6b250YWwgdGV4dCBhbmQgd2lkdGggZm9yIHZlcnRpY2FsIHRl
eHQuCiAgICAgaW50IGxvZ2ljYWxIZWlnaHQoKSBjb25zdDsKQEAgLTI4Niw3ICsyODYsNyBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuQWNjb21tb2RhdGVFbGxpcHNpcyhib29sIGx0
ciwgaW50IGJsb2NrRWRnZSwgaW50IGVsbGlwc2lzV2lkdGgpOwogICAgIC8vIHZpc2libGVMZWZ0
RWRnZSwgdmlzaWJsZVJpZ2h0RWRnZSBhcmUgaW4gdGhlIHBhcmVudCdzIGNvb3JkaW5hdGUgc3lz
dGVtLgotICAgIHZpcnR1YWwgaW50IHBsYWNlRWxsaXBzaXNCb3goYm9vbCBsdHIsIGludCB2aXNp
YmxlTGVmdEVkZ2UsIGludCB2aXNpYmxlUmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCwgYm9v
bCYpOworICAgIHZpcnR1YWwgZmxvYXQgcGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgZmxvYXQg
dmlzaWJsZUxlZnRFZGdlLCBmbG9hdCB2aXNpYmxlUmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dp
ZHRoLCBib29sJik7CiAKICAgICB2b2lkIHNldEhhc0JhZFBhcmVudCgpOwogCkBAIC0yOTQsNiAr
Mjk0LDggQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgdmlzaWJsZVRvSGl0VGVzdGluZygpIGNv
bnN0IHsgcmV0dXJuIHJlbmRlcmVyKCktPnN0eWxlKCktPnZpc2liaWxpdHkoKSA9PSBWSVNJQkxF
ICYmIHJlbmRlcmVyKCktPnN0eWxlKCktPnBvaW50ZXJFdmVudHMoKSAhPSBQRV9OT05FOyB9CiAg
ICAgCisgICAgRVZlcnRpY2FsQWxpZ24gdmVydGljYWxBbGlnbigpIGNvbnN0IHsgcmV0dXJuIHJl
bmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+dmVydGljYWxBbGlnbigpOyB9CisKICAgICAv
LyBVc2Ugd2l0aCBjYXV0aW9uISBUaGUgdHlwZSBpcyBub3QgY2hlY2tlZCEKICAgICBSZW5kZXJC
b3hNb2RlbE9iamVjdCogYm94TW9kZWxPYmplY3QoKSBjb25zdAogICAgIHsgCkBAIC0zMDIsNyAr
MzA0LDkgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBJbnRQb2lu
dCBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgRmxvYXRQb2ludCBsb2NhdGlvbklu
Y2x1ZGluZ0ZsaXBwaW5nKCk7CisgICAgdm9pZCBmbGlwRm9yV3JpdGluZ01vZGUoRmxvYXRSZWN0
Jik7CisgICAgRmxvYXRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgRmxvYXRQb2ludCYp
OwogICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEludFJlY3QmKTsKICAgICBJbnRQb2ludCBm
bGlwRm9yV3JpdGluZ01vZGUoY29uc3QgSW50UG9pbnQmKTsKIApAQCAtMzE1LDkgKzMxOSw5IEBA
IHByaXZhdGU6CiBwdWJsaWM6CiAgICAgUmVuZGVyT2JqZWN0KiBtX3JlbmRlcmVyOwogCi0gICAg
aW50IG1feDsKLSAgICBpbnQgbV95OwotICAgIGludCBtX2xvZ2ljYWxXaWR0aDsKKyAgICBmbG9h
dCBtX3g7CisgICAgZmxvYXQgbV95OworICAgIGZsb2F0IG1fbG9naWNhbFdpZHRoOwogICAgIAog
ICAgIC8vIFNvbWUgb2YgdGhlc2UgYml0cyBhcmUgYWN0dWFsbHkgZm9yIHN1YmNsYXNzZXMgYW5k
IG1vdmVkIGhlcmUgdG8gY29tcGFjdCB0aGUgc3RydWN0dXJlcy4KIApJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcAkocmV2aXNpb24gNzg2MjMpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTY3LDYgKzY3LDE4IEBAIGludCBJbmxpbmVGbG93Qm94OjpnZXRGbG93U3BhY2luZ0xvZ2lj
YWwKICAgICByZXR1cm4gdG90V2lkdGg7CiB9CiAKK0ludFJlY3QgSW5saW5lRmxvd0JveDo6cm91
bmRlZEZyYW1lUmVjdCgpIGNvbnN0Cit7CisgICAgLy8gQmVnaW4gYnkgc25hcHBpbmcgdGhlIHgg
YW5kIHkgY29vcmRpbmF0ZXMgdG8gdGhlIG5lYXJlc3QgcGl4ZWwuCisgICAgaW50IHNuYXBwZWRY
ID0gbHJvdW5kZih4KCkpOworICAgIGludCBzbmFwcGVkWSA9IGxyb3VuZGYoeSgpKTsKKyAgICAK
KyAgICBpbnQgc25hcHBlZE1heFggPSBscm91bmRmKHgoKSArIHdpZHRoKCkpOworICAgIGludCBz
bmFwcGVkTWF4WSA9IGxyb3VuZGYoeSgpICsgaGVpZ2h0KCkpOworICAgIAorICAgIHJldHVybiBJ
bnRSZWN0KHNuYXBwZWRYLCBzbmFwcGVkWSwgc25hcHBlZE1heFggLSBzbmFwcGVkWCwgc25hcHBl
ZE1heFkgLSBzbmFwcGVkWSk7Cit9CisKIHZvaWQgSW5saW5lRmxvd0JveDo6YWRkVG9MaW5lKElu
bGluZUJveCogY2hpbGQpIAogewogICAgIEFTU0VSVCghY2hpbGQtPnBhcmVudCgpKTsKQEAgLTE2
NywxMyArMTc5LDEzIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6YXR0YWNoTGluZUJveFRvUmVuZGUK
ICAgICB0b1JlbmRlcklubGluZShyZW5kZXJlcigpKS0+bGluZUJveGVzKCktPmF0dGFjaExpbmVC
b3godGhpcyk7CiB9CiAKLXZvaWQgSW5saW5lRmxvd0JveDo6YWRqdXN0UG9zaXRpb24oaW50IGR4
LCBpbnQgZHkpCit2b2lkIElubGluZUZsb3dCb3g6OmFkanVzdFBvc2l0aW9uKGZsb2F0IGR4LCBm
bG9hdCBkeSkKIHsKICAgICBJbmxpbmVCb3g6OmFkanVzdFBvc2l0aW9uKGR4LCBkeSk7CiAgICAg
Zm9yIChJbmxpbmVCb3gqIGNoaWxkID0gZmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGls
ZC0+bmV4dE9uTGluZSgpKQogICAgICAgICBjaGlsZC0+YWRqdXN0UG9zaXRpb24oZHgsIGR5KTsK
ICAgICBpZiAobV9vdmVyZmxvdykKLSAgICAgICAgbV9vdmVyZmxvdy0+bW92ZShkeCwgZHkpOwor
ICAgICAgICBtX292ZXJmbG93LT5tb3ZlKGR4LCBkeSk7IC8vIEZJWE1FOiBSb3VuZGluZyBlcnJv
ciBoZXJlIHNpbmNlIG92ZXJmbG93IHdhcyBwaXhlbCBzbmFwcGVkLCBidXQgbm9ib2R5IG90aGVy
IHRoYW4gbGlzdCBtYXJrZXJzIHBhc3NlcyBub24taW50ZWdyYWwgdmFsdWVzIGhlcmUuCiB9CiAK
IFJlbmRlckxpbmVCb3hMaXN0KiBJbmxpbmVGbG93Qm94OjpyZW5kZXJlckxpbmVCb3hlcygpIGNv
bnN0CkBAIC0yNTUsMTIgKzI2NywxMiBAQCB2b2lkIElubGluZUZsb3dCb3g6OmRldGVybWluZVNw
YWNpbmdGb3JGCiAgICAgfQogfQogCi1pbnQgSW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0luSW5s
aW5lRGlyZWN0aW9uKGludCBsb2dpY2FsTGVmdCwgYm9vbCYgbmVlZHNXb3JkU3BhY2luZywgR2x5
cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmIHRleHRCb3hEYXRhTWFwKQorZmxvYXQgSW5s
aW5lRmxvd0JveDo6cGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9uKGZsb2F0IGxvZ2ljYWxMZWZ0
LCBib29sJiBuZWVkc1dvcmRTcGFjaW5nLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01h
cCYgdGV4dEJveERhdGFNYXApCiB7CiAgICAgLy8gU2V0IG91ciB4IHBvc2l0aW9uLgogICAgIHNl
dExvZ2ljYWxMZWZ0KGxvZ2ljYWxMZWZ0KTsKICAgCi0gICAgaW50IHN0YXJ0TG9naWNhbExlZnQg
PSBsb2dpY2FsTGVmdDsKKyAgICBmbG9hdCBzdGFydExvZ2ljYWxMZWZ0ID0gbG9naWNhbExlZnQ7
CiAgICAgbG9naWNhbExlZnQgKz0gYm9yZGVyTG9naWNhbExlZnQoKSArIHBhZGRpbmdMb2dpY2Fs
TGVmdCgpOwogICAgIAogICAgIGZvciAoSW5saW5lQm94KiBjdXJyID0gZmlyc3RDaGlsZCgpOyBj
dXJyOyBjdXJyID0gY3Vyci0+bmV4dE9uTGluZSgpKSB7CkBAIC0zNDUsMTcgKzM1NywxNiBAQCBi
b29sIElubGluZUZsb3dCb3g6OnJlcXVpcmVzSWRlb2dyYXBoaWNCCiAgICAgcmV0dXJuIGZhbHNl
OwogfQogCi12b2lkIElubGluZUZsb3dCb3g6OmFkanVzdE1heEFzY2VudEFuZERlc2NlbnQoaW50
JiBtYXhBc2NlbnQsIGludCYgbWF4RGVzY2VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgbWF4UG9zaXRpb25Ub3AsIGludCBtYXhQb3NpdGlvbkJv
dHRvbSkKK3ZvaWQgSW5saW5lRmxvd0JveDo6YWRqdXN0TWF4QXNjZW50QW5kRGVzY2VudChpbnQm
IG1heEFzY2VudCwgaW50JiBtYXhEZXNjZW50LCBpbnQgbWF4UG9zaXRpb25Ub3AsIGludCBtYXhQ
b3NpdGlvbkJvdHRvbSkKIHsKICAgICBmb3IgKElubGluZUJveCogY3VyciA9IGZpcnN0Q2hpbGQo
KTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRPbkxpbmUoKSkgewogICAgICAgICAvLyBUaGUgY29t
cHV0ZWQgbGluZWhlaWdodCBuZWVkcyB0byBiZSBleHRlbmRlZCBmb3IgdGhlCiAgICAgICAgIC8v
IHBvc2l0aW9uZWQgZWxlbWVudHMKICAgICAgICAgaWYgKGN1cnItPnJlbmRlcmVyKCktPmlzUG9z
aXRpb25lZCgpKQogICAgICAgICAgICAgY29udGludWU7IC8vIFBvc2l0aW9uZWQgcGxhY2Vob2xk
ZXJzIGRvbid0IGFmZmVjdCBjYWxjdWxhdGlvbnMuCi0gICAgICAgIGlmIChjdXJyLT5sb2dpY2Fs
VG9wKCkgPT0gUG9zaXRpb25Ub3AgfHwgY3Vyci0+bG9naWNhbFRvcCgpID09IFBvc2l0aW9uQm90
dG9tKSB7CisgICAgICAgIGlmIChjdXJyLT52ZXJ0aWNhbEFsaWduKCkgPT0gVE9QIHx8IGN1cnIt
PnZlcnRpY2FsQWxpZ24oKSA9PSBCT1RUT00pIHsKICAgICAgICAgICAgIGludCBsaW5lSGVpZ2h0
ID0gY3Vyci0+bGluZUhlaWdodCgpOwotICAgICAgICAgICAgaWYgKGN1cnItPmxvZ2ljYWxUb3Ao
KSA9PSBQb3NpdGlvblRvcCkgeworICAgICAgICAgICAgaWYgKGN1cnItPnZlcnRpY2FsQWxpZ24o
KSA9PSBUT1ApIHsKICAgICAgICAgICAgICAgICBpZiAobWF4QXNjZW50ICsgbWF4RGVzY2VudCA8
IGxpbmVIZWlnaHQpCiAgICAgICAgICAgICAgICAgICAgIG1heERlc2NlbnQgPSBsaW5lSGVpZ2h0
IC0gbWF4QXNjZW50OwogICAgICAgICAgICAgfQpAQCAtMzk3LDQwICs0MDgsMzcgQEAgc3RhdGlj
IGludCB2ZXJ0aWNhbFBvc2l0aW9uRm9yQm94KElubGluZQogCiAgICAgaW50IHZlcnRpY2FsUG9z
aXRpb24gPSAwOwogICAgIEVWZXJ0aWNhbEFsaWduIHZlcnRpY2FsQWxpZ24gPSByZW5kZXJlci0+
c3R5bGUoKS0+dmVydGljYWxBbGlnbigpOwotICAgIGlmICh2ZXJ0aWNhbEFsaWduID09IFRPUCkK
LSAgICAgICAgdmVydGljYWxQb3NpdGlvbiA9IFBvc2l0aW9uVG9wOwotICAgIGVsc2UgaWYgKHZl
cnRpY2FsQWxpZ24gPT0gQk9UVE9NKQotICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uID0gUG9zaXRp
b25Cb3R0b207Ci0gICAgZWxzZSB7Ci0gICAgICAgIFJlbmRlck9iamVjdCogcGFyZW50ID0gcmVu
ZGVyZXItPnBhcmVudCgpOwotICAgICAgICBpZiAocGFyZW50LT5pc1JlbmRlcklubGluZSgpICYm
IHBhcmVudC0+c3R5bGUoKS0+dmVydGljYWxBbGlnbigpICE9IFRPUCAmJiBwYXJlbnQtPnN0eWxl
KCktPnZlcnRpY2FsQWxpZ24oKSAhPSBCT1RUT00pCi0gICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0
aW9uID0gYm94LT5wYXJlbnQoKS0+bG9naWNhbFRvcCgpOwotICAgICAgICAKLSAgICAgICAgaWYg
KHZlcnRpY2FsQWxpZ24gIT0gQkFTRUxJTkUpIHsKLSAgICAgICAgICAgIGNvbnN0IEZvbnQmIGZv
bnQgPSBwYXJlbnQtPnN0eWxlKGZpcnN0TGluZSktPmZvbnQoKTsKLSAgICAgICAgICAgIGNvbnN0
IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKLSAgICAgICAg
ICAgIGludCBmb250U2l6ZSA9IGZvbnQucGl4ZWxTaXplKCk7Ci0KLSAgICAgICAgICAgIExpbmVE
aXJlY3Rpb25Nb2RlIGxpbmVEaXJlY3Rpb24gPSBwYXJlbnQtPnN0eWxlKCktPmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRpY2FsTGluZTsKLQotICAgICAg
ICAgICAgaWYgKHZlcnRpY2FsQWxpZ24gPT0gU1VCKQotICAgICAgICAgICAgICAgIHZlcnRpY2Fs
UG9zaXRpb24gKz0gZm9udFNpemUgLyA1ICsgMTsKLSAgICAgICAgICAgIGVsc2UgaWYgKHZlcnRp
Y2FsQWxpZ24gPT0gU1VQRVIpCi0gICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiAtPSBm
b250U2l6ZSAvIDMgKyAxOwotICAgICAgICAgICAgZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBU
RVhUX1RPUCkKLSAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IHJlbmRlcmVyLT5i
YXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAt
IGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGluZVR5cGUpOwotICAgICAgICAgICAgZWxzZSBpZiAo
dmVydGljYWxBbGlnbiA9PSBNSURETEUpCi0gICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlv
biArPSAtc3RhdGljX2Nhc3Q8aW50Pihmb250TWV0cmljcy54SGVpZ2h0KCkgLyAyKSAtIHJlbmRl
cmVyLT5saW5lSGVpZ2h0KGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikgLyAyICsgcmVuZGVyZXIt
PmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24p
OwotICAgICAgICAgICAgZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBURVhUX0JPVFRPTSkgewot
ICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gZm9udE1ldHJpY3MuZGVzY2VudChi
YXNlbGluZVR5cGUpOwotICAgICAgICAgICAgICAgIC8vIGxpbmVIZWlnaHQgLSBiYXNlbGluZVBv
c2l0aW9uIGlzIGFsd2F5cyAwIGZvciByZXBsYWNlZCBlbGVtZW50cyAoZXhjZXB0IGlubGluZSBi
bG9ja3MpLCBzbyBkb24ndCBib3RoZXIgd2FzdGluZyB0aW1lIGluIHRoYXQgY2FzZS4KLSAgICAg
ICAgICAgICAgICBpZiAoIXJlbmRlcmVyLT5pc1JlcGxhY2VkKCkgfHwgcmVuZGVyZXItPmlzSW5s
aW5lQmxvY2tPcklubGluZVRhYmxlKCkpCi0gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9z
aXRpb24gLT0gKHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikg
LSByZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGlu
ZURpcmVjdGlvbikpOwotICAgICAgICAgICAgfSBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IEJB
U0VMSU5FX01JRERMRSkKLSAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IC1yZW5k
ZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC8gMiArIHJlbmRlcmVy
LT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9u
KTsKLSAgICAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gTEVOR1RIKQotICAgICAg
ICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gLT0gcmVuZGVyZXItPnN0eWxlKCktPnZlcnRpY2Fs
QWxpZ25MZW5ndGgoKS5jYWxjVmFsdWUocmVuZGVyZXItPmxpbmVIZWlnaHQoZmlyc3RMaW5lLCBs
aW5lRGlyZWN0aW9uKSk7Ci0gICAgICAgIH0KKyAgICBpZiAodmVydGljYWxBbGlnbiA9PSBUT1Ag
fHwgdmVydGljYWxBbGlnbiA9PSBCT1RUT00pCisgICAgICAgIHJldHVybiAwOworICAgCisgICAg
UmVuZGVyT2JqZWN0KiBwYXJlbnQgPSByZW5kZXJlci0+cGFyZW50KCk7CisgICAgaWYgKHBhcmVu
dC0+aXNSZW5kZXJJbmxpbmUoKSAmJiBwYXJlbnQtPnN0eWxlKCktPnZlcnRpY2FsQWxpZ24oKSAh
PSBUT1AgJiYgcGFyZW50LT5zdHlsZSgpLT52ZXJ0aWNhbEFsaWduKCkgIT0gQk9UVE9NKQorICAg
ICAgICB2ZXJ0aWNhbFBvc2l0aW9uID0gYm94LT5wYXJlbnQoKS0+bG9naWNhbFRvcCgpOworICAg
IAorICAgIGlmICh2ZXJ0aWNhbEFsaWduICE9IEJBU0VMSU5FKSB7CisgICAgICAgIGNvbnN0IEZv
bnQmIGZvbnQgPSBwYXJlbnQtPnN0eWxlKGZpcnN0TGluZSktPmZvbnQoKTsKKyAgICAgICAgY29u
c3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygpOworICAgICAg
ICBpbnQgZm9udFNpemUgPSBmb250LnBpeGVsU2l6ZSgpOworCisgICAgICAgIExpbmVEaXJlY3Rp
b25Nb2RlIGxpbmVEaXJlY3Rpb24gPSBwYXJlbnQtPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRpY2FsTGluZTsKKworICAgICAgICBpZiAo
dmVydGljYWxBbGlnbiA9PSBTVUIpCisgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IGZv
bnRTaXplIC8gNSArIDE7CisgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gU1VQRVIp
CisgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uIC09IGZvbnRTaXplIC8gMyArIDE7CisgICAg
ICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gVEVYVF9UT1ApCisgICAgICAgICAgICB2ZXJ0
aWNhbFBvc2l0aW9uICs9IHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwg
Zmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAtIGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGluZVR5
cGUpOworICAgICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IE1JRERMRSkKKyAgICAgICAg
ICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gLXN0YXRpY19jYXN0PGludD4oZm9udE1ldHJpY3MueEhl
aWdodCgpIC8gMikgLSByZW5kZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxpbmVEaXJlY3Rp
b24pIC8gMiArIHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RM
aW5lLCBsaW5lRGlyZWN0aW9uKTsKKyAgICAgICAgZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBU
RVhUX0JPVFRPTSkgeworICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSBmb250TWV0cmlj
cy5kZXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgICAgICAgICAvLyBsaW5lSGVpZ2h0IC0gYmFz
ZWxpbmVQb3NpdGlvbiBpcyBhbHdheXMgMCBmb3IgcmVwbGFjZWQgZWxlbWVudHMgKGV4Y2VwdCBp
bmxpbmUgYmxvY2tzKSwgc28gZG9uJ3QgYm90aGVyIHdhc3RpbmcgdGltZSBpbiB0aGF0IGNhc2Uu
CisgICAgICAgICAgICBpZiAoIXJlbmRlcmVyLT5pc1JlcGxhY2VkKCkgfHwgcmVuZGVyZXItPmlz
SW5saW5lQmxvY2tPcklubGluZVRhYmxlKCkpCisgICAgICAgICAgICAgICAgdmVydGljYWxQb3Np
dGlvbiAtPSAocmVuZGVyZXItPmxpbmVIZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAt
IHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5l
RGlyZWN0aW9uKSk7CisgICAgICAgIH0gZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBCQVNFTElO
RV9NSURETEUpCisgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IC1yZW5kZXJlci0+bGlu
ZUhlaWdodChmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC8gMiArIHJlbmRlcmVyLT5iYXNlbGlu
ZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKTsKKyAgICAg
ICAgZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBMRU5HVEgpCisgICAgICAgICAgICB2ZXJ0aWNh
bFBvc2l0aW9uIC09IHJlbmRlcmVyLT5zdHlsZSgpLT52ZXJ0aWNhbEFsaWduTGVuZ3RoKCkuY2Fs
Y1ZhbHVlKHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikpOwog
ICAgIH0KIAogICAgIC8vIFN0b3JlIHRoZSBjYWNoZWQgdmFsdWUuCkBAIC01NDIsMTAgKzU1MCwx
MCBAQCB2b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVMb2dpY2FsQm94SGVpCiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoY3Vyci0+bG9naWNhbFRvcCgpID09IFBvc2l0
aW9uVG9wKSB7CisgICAgICAgIGlmIChjdXJyLT52ZXJ0aWNhbEFsaWduKCkgPT0gVE9QKSB7CiAg
ICAgICAgICAgICBpZiAobWF4UG9zaXRpb25Ub3AgPCBsaW5lSGVpZ2h0KQogICAgICAgICAgICAg
ICAgIG1heFBvc2l0aW9uVG9wID0gbGluZUhlaWdodDsKLSAgICAgICAgfSBlbHNlIGlmIChjdXJy
LT5sb2dpY2FsVG9wKCkgPT0gUG9zaXRpb25Cb3R0b20pIHsKKyAgICAgICAgfSBlbHNlIGlmIChj
dXJyLT52ZXJ0aWNhbEFsaWduKCkgPT0gQk9UVE9NKSB7CiAgICAgICAgICAgICBpZiAobWF4UG9z
aXRpb25Cb3R0b20gPCBsaW5lSGVpZ2h0KQogICAgICAgICAgICAgICAgIG1heFBvc2l0aW9uQm90
dG9tID0gbGluZUhlaWdodDsKICAgICAgICAgfSBlbHNlIGlmICgoIWlzSW5saW5lRmxvdyB8fCBz
dGF0aWNfY2FzdDxJbmxpbmVGbG93Qm94Kj4oY3VyciktPmhhc1RleHRDaGlsZHJlbigpKSB8fCBj
dXJyLT5ib3hNb2RlbE9iamVjdCgpLT5oYXNJbmxpbmVEaXJlY3Rpb25Cb3JkZXJzT3JQYWRkaW5n
KCkgfHwgc3RyaWN0TW9kZSkgewpAQCAtNTkyLDkgKzYwMCw5IEBAIHZvaWQgSW5saW5lRmxvd0Jv
eDo6cGxhY2VCb3hlc0luQmxvY2tEaXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZVRvcEluY2x1ZGlu
Z01hcmdpbnMsIGxpbmVCb3R0b21JbmNsdWRpbmdNYXJnaW5zLCBoYXNBbm5vdGF0aW9uc0JlZm9y
ZSwgaGFzQW5ub3RhdGlvbnNBZnRlciwgYmFzZWxpbmVUeXBlKTsKIAogICAgICAgICBib29sIGNo
aWxkQWZmZWN0c1RvcEJvdHRvbVBvcyA9IHRydWU7Ci0gICAgICAgIGlmIChjdXJyLT5sb2dpY2Fs
VG9wKCkgPT0gUG9zaXRpb25Ub3ApCisgICAgICAgIGlmIChjdXJyLT52ZXJ0aWNhbEFsaWduKCkg
PT0gVE9QKQogICAgICAgICAgICAgY3Vyci0+c2V0TG9naWNhbFRvcCh0b3ApOwotICAgICAgICBl
bHNlIGlmIChjdXJyLT5sb2dpY2FsVG9wKCkgPT0gUG9zaXRpb25Cb3R0b20pCisgICAgICAgIGVs
c2UgaWYgKGN1cnItPnZlcnRpY2FsQWxpZ24oKSA9PSBCT1RUT00pCiAgICAgICAgICAgICBjdXJy
LT5zZXRMb2dpY2FsVG9wKHRvcCArIG1heEhlaWdodCAtIGN1cnItPmxpbmVIZWlnaHQoKSk7CiAg
ICAgICAgIGVsc2UgewogICAgICAgICAgICAgaWYgKChpc0lubGluZUZsb3cgJiYgIXN0YXRpY19j
YXN0PElubGluZUZsb3dCb3gqPihjdXJyKS0+aGFzVGV4dENoaWxkcmVuKCkpICYmICFjdXJyLT5i
b3hNb2RlbE9iamVjdCgpLT5oYXNJbmxpbmVEaXJlY3Rpb25Cb3JkZXJzT3JQYWRkaW5nKCkgJiYg
IXN0cmljdE1vZGUpCkBAIC03MjQsOCArNzMyLDggQEAgdm9pZCBJbmxpbmVGbG93Qm94OjphZGRC
b3hTaGFkb3dWaXN1YWxPdgogICAgIGludCBib3hTaGFkb3dMb2dpY2FsUmlnaHQ7CiAgICAgcmVu
ZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5nZXRCb3hTaGFkb3dJbmxpbmVEaXJlY3Rpb25F
eHRlbnQoYm94U2hhZG93TG9naWNhbExlZnQsIGJveFNoYWRvd0xvZ2ljYWxSaWdodCk7CiAKLSAg
ICBpbnQgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyA9IG1pbihsb2dpY2FsTGVmdCgpICsgYm94
U2hhZG93TG9naWNhbExlZnQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy54KCkpOwotICAgIGludCBs
b2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1heChsb2dpY2FsUmlnaHQoKSArIGJveFNoYWRv
d0xvZ2ljYWxSaWdodCwgbG9naWNhbFZpc3VhbE92ZXJmbG93Lm1heFgoKSk7CisgICAgaW50IGxv
Z2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3cgPSBtaW4ocGl4ZWxTbmFwcGVkTG9naWNhbExlZnQoKSAr
IGJveFNoYWRvd0xvZ2ljYWxMZWZ0LCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3cueCgpKTsKKyAgICBp
bnQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPSBtYXgocGl4ZWxTbmFwcGVkTG9naWNhbFJp
Z2h0KCkgKyBib3hTaGFkb3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhY
KCkpOwogICAgIAogICAgIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyA9IEludFJlY3QobG9naWNhbExl
ZnRWaXN1YWxPdmVyZmxvdywgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgLSBsb2dp
Y2FsTGVmdFZpc3VhbE92ZXJmbG93LCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgLSBsb2dp
Y2FsVG9wVmlzdWFsT3ZlcmZsb3cpOwpAQCAtNzgxLDggKzc4OSw4IEBAIHZvaWQgSW5saW5lRmxv
d0JveDo6YWRkVGV4dEJveFZpc3VhbE92ZXIKIAogICAgIGludCBsb2dpY2FsVG9wVmlzdWFsT3Zl
cmZsb3cgPSBtaW4odGV4dEJveC0+bG9naWNhbFRvcCgpICsgY2hpbGRPdmVyZmxvd0xvZ2ljYWxU
b3AsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy55KCkpOwogICAgIGludCBsb2dpY2FsQm90dG9tVmlz
dWFsT3ZlcmZsb3cgPSBtYXgodGV4dEJveC0+bG9naWNhbEJvdHRvbSgpICsgY2hpbGRPdmVyZmxv
d0xvZ2ljYWxCb3R0b20sIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhZKCkpOwotICAgIGludCBs
b2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93ID0gbWluKHRleHRCb3gtPmxvZ2ljYWxMZWZ0KCkgKyBj
aGlsZE92ZXJmbG93TG9naWNhbExlZnQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy54KCkpOwotICAg
IGludCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyA9IG1heCh0ZXh0Qm94LT5sb2dpY2FsUmln
aHQoKSArIGNoaWxkT3ZlcmZsb3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5t
YXhYKCkpOworICAgIGludCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93ID0gbWluKHRleHRCb3gt
PnBpeGVsU25hcHBlZExvZ2ljYWxMZWZ0KCkgKyBjaGlsZE92ZXJmbG93TG9naWNhbExlZnQsIGxv
Z2ljYWxWaXN1YWxPdmVyZmxvdy54KCkpOworICAgIGludCBsb2dpY2FsUmlnaHRWaXN1YWxPdmVy
ZmxvdyA9IG1heCh0ZXh0Qm94LT5waXhlbFNuYXBwZWRMb2dpY2FsUmlnaHQoKSArIGNoaWxkT3Zl
cmZsb3dMb2dpY2FsUmlnaHQsIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdy5tYXhYKCkpOwogICAgIAog
ICAgIGxvZ2ljYWxWaXN1YWxPdmVyZmxvdyA9IEludFJlY3QobG9naWNhbExlZnRWaXN1YWxPdmVy
ZmxvdywgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsTGVmdFZpc3Vh
bE92ZXJmbG93LCBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgLSBsb2dpY2FsVG9wVmlzdWFs
T3ZlcmZsb3cpOwpAQCAtODE5LDcgKzgyNyw3IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6Y29tcHV0
ZU92ZXJmbG93KGludCAKICAgICAvLyBWaXN1YWwgb3ZlcmZsb3cganVzdCBpbmNsdWRlcyBvdmVy
ZmxvdyBmb3Igc3R1ZmYgd2UgbmVlZCB0byByZXBhaW50IG91cnNlbHZlcy4gIFNlbGYtcGFpbnRp
bmcgbGF5ZXJzIGFyZSBpZ25vcmVkLgogICAgIC8vIExheW91dCBvdmVyZmxvdyBpcyB1c2VkIHRv
IGRldGVybWluZSBzY3JvbGxpbmcgZXh0ZW50LCBzbyBpdCBzdGlsbCBpbmNsdWRlcyBjaGlsZCBs
YXllcnMgYW5kIGFsc28gZmFjdG9ycyBpbgogICAgIC8vIHRyYW5zZm9ybXMsIHJlbGF0aXZlIHBv
c2l0aW9uaW5nLCBldGMuCi0gICAgSW50UmVjdCBsb2dpY2FsTGF5b3V0T3ZlcmZsb3cobG9naWNh
bExlZnQoKSwgdG9wT3ZlcmZsb3csIGxvZ2ljYWxXaWR0aCgpLCBib3R0b21PdmVyZmxvdyAtIHRv
cE92ZXJmbG93KTsKKyAgICBJbnRSZWN0IGxvZ2ljYWxMYXlvdXRPdmVyZmxvdyhlbmNsb3NpbmdJ
bnRSZWN0KEZsb2F0UmVjdChsb2dpY2FsTGVmdCgpLCB0b3BPdmVyZmxvdywgbG9naWNhbFdpZHRo
KCksIGJvdHRvbU92ZXJmbG93IC0gdG9wT3ZlcmZsb3cpKSk7CiAgICAgSW50UmVjdCBsb2dpY2Fs
VmlzdWFsT3ZlcmZsb3cobG9naWNhbExheW91dE92ZXJmbG93KTsKICAgCiAgICAgLy8gYm94LXNo
YWRvdyBvbiByb290IGxpbmUgYm94ZXMgaXMgYXBwbHlpbmcgdG8gdGhlIGJsb2NrIGFuZCBub3Qg
dG8gdGhlIGxpbmVzLgpAQCAtODY0LDcgKzg3Miw3IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6Y29t
cHV0ZU92ZXJmbG93KGludCAKIC8vIGFsbCBmdW5jdGlvbnMgdGhhdCBxdWVyeSBvdmVyZmxvdy4g
ICAKIHZvaWQgSW5saW5lRmxvd0JveDo6c2V0TGF5b3V0T3ZlcmZsb3coY29uc3QgSW50UmVjdCYg
cmVjdCkKIHsKLSAgICBJbnRSZWN0IGZyYW1lQm94ID0gZnJhbWVSZWN0KCk7CisgICAgSW50UmVj
dCBmcmFtZUJveCA9IGVuY2xvc2luZ0ludFJlY3QoRmxvYXRSZWN0KHgoKSwgeSgpLCB3aWR0aCgp
LCBoZWlnaHQoKSkpOwogICAgIGlmIChmcmFtZUJveCA9PSByZWN0IHx8IHJlY3QuaXNFbXB0eSgp
KQogICAgICAgICByZXR1cm47CiAgICAgICAgIApAQCAtODc2LDcgKzg4NCw3IEBAIHZvaWQgSW5s
aW5lRmxvd0JveDo6c2V0TGF5b3V0T3ZlcmZsb3coY28KIAogdm9pZCBJbmxpbmVGbG93Qm94Ojpz
ZXRWaXN1YWxPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiByZWN0KQogewotICAgIEludFJlY3QgZnJh
bWVCb3ggPSBmcmFtZVJlY3QoKTsKKyAgICBJbnRSZWN0IGZyYW1lQm94ID0gZW5jbG9zaW5nSW50
UmVjdChGbG9hdFJlY3QoeCgpLCB5KCksIHdpZHRoKCksIGhlaWdodCgpKSk7CiAgICAgaWYgKGZy
YW1lQm94ID09IHJlY3QgfHwgcmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKICAgICAg
ICAgCkBAIC05MTIsOSArOTIwLDkgQEAgYm9vbCBJbmxpbmVGbG93Qm94Ojpub2RlQXRQb2ludChj
b25zdCBIaQogICAgIH0KIAogICAgIC8vIE5vdyBjaGVjayBvdXJzZWx2ZXMuCi0gICAgSW50UG9p
bnQgYm94T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOworICAgIEZsb2F0UG9p
bnQgYm94T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOwogICAgIGJveE9yaWdp
bi5tb3ZlKHR4LCB0eSk7Ci0gICAgSW50UmVjdCByZWN0KGJveE9yaWdpbiwgSW50U2l6ZSh3aWR0
aCgpLCBoZWlnaHQoKSkpOworICAgIEZsb2F0UmVjdCByZWN0KGJveE9yaWdpbiwgSW50U2l6ZSh3
aWR0aCgpLCBoZWlnaHQoKSkpOwogICAgIGlmICh2aXNpYmxlVG9IaXRUZXN0aW5nKCkgJiYgcmVj
dC5pbnRlcnNlY3RzKHJlc3VsdC5yZWN0Rm9yUG9pbnQoeCwgeSkpKSB7CiAgICAgICAgIHJlbmRl
cmVyKCktPnVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBmbGlwRm9yV3JpdGluZ01vZGUoSW50
UG9pbnQoeCAtIHR4LCB5IC0gdHkpKSk7IC8vIERvbid0IGFkZCBpbiBtX3ggb3IgbV95IGhlcmUs
IHdlIHdhbnQgY29vcmRzIGluIHRoZSBjb250YWluaW5nIGJsb2NrJ3Mgc3BhY2UuCiAgICAgICAg
IGlmICghcmVzdWx0LmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQocmVuZGVyZXIoKS0+bm9k
ZSgpLCB4LCB5LCByZWN0KSkKQEAgLTEwNTAsMTAgKzEwNTgsMTIgQEAgdm9pZCBJbmxpbmVGbG93
Qm94OjpwYWludEJveERlY29yYXRpb25zKAogICAgIGlmICghcGFpbnRJbmZvLnNob3VsZFBhaW50
V2l0aGluUm9vdChyZW5kZXJlcigpKSB8fCByZW5kZXJlcigpLT5zdHlsZSgpLT52aXNpYmlsaXR5
KCkgIT0gVklTSUJMRSB8fCBwYWludEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZUZvcmVncm91bmQp
CiAgICAgICAgIHJldHVybjsKIAotICAgIGludCB4ID0gbV94OwotICAgIGludCB5ID0gbV95Owot
ICAgIGludCB3ID0gd2lkdGgoKTsKLSAgICBpbnQgaCA9IGhlaWdodCgpOworICAgIC8vIFBpeGVs
IHNuYXAgYmFja2dyb3VuZC9ib3JkZXIgcGFpbnRpbmcuCisgICAgSW50UmVjdCBmcmFtZVJlY3Qg
PSByb3VuZGVkRnJhbWVSZWN0KCk7CisgICAgaW50IHggPSBmcmFtZVJlY3QueCgpOworICAgIGlu
dCB5ID0gZnJhbWVSZWN0LnkoKTsKKyAgICBpbnQgdyA9IGZyYW1lUmVjdC53aWR0aCgpOworICAg
IGludCBoID0gZnJhbWVSZWN0LmhlaWdodCgpOwogCiAgICAgLy8gQ29uc3RyYWluIG91ciBiYWNr
Z3JvdW5kL2JvcmRlciBwYWludGluZyB0byB0aGUgbGluZSB0b3AgYW5kIGJvdHRvbSBpZiBuZWNl
c3NhcnkuCiAgICAgYm9vbCBub1F1aXJrc01vZGUgPSByZW5kZXJlcigpLT5kb2N1bWVudCgpLT5p
bk5vUXVpcmtzTW9kZSgpOwpAQCAtMTEzMywxMCArMTE0MywxMiBAQCB2b2lkIElubGluZUZsb3dC
b3g6OnBhaW50TWFzayhQYWludEluZm8mCiAgICAgaWYgKCFwYWludEluZm8uc2hvdWxkUGFpbnRX
aXRoaW5Sb290KHJlbmRlcmVyKCkpIHx8IHJlbmRlcmVyKCktPnN0eWxlKCktPnZpc2liaWxpdHko
KSAhPSBWSVNJQkxFIHx8IHBhaW50SW5mby5waGFzZSAhPSBQYWludFBoYXNlTWFzaykKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgaW50IHggPSBtX3g7Ci0gICAgaW50IHkgPSBtX3k7Ci0gICAgaW50
IHcgPSB3aWR0aCgpOwotICAgIGludCBoID0gaGVpZ2h0KCk7CisgICAgLy8gUGl4ZWwgc25hcCBt
YXNrIHBhaW50aW5nLgorICAgIEludFJlY3QgZnJhbWVSZWN0ID0gcm91bmRlZEZyYW1lUmVjdCgp
OworICAgIGludCB4ID0gZnJhbWVSZWN0LngoKTsKKyAgICBpbnQgeSA9IGZyYW1lUmVjdC55KCk7
CisgICAgaW50IHcgPSBmcmFtZVJlY3Qud2lkdGgoKTsKKyAgICBpbnQgaCA9IGZyYW1lUmVjdC5o
ZWlnaHQoKTsKIAogICAgIC8vIENvbnN0cmFpbiBvdXIgYmFja2dyb3VuZC9ib3JkZXIgcGFpbnRp
bmcgdG8gdGhlIGxpbmUgdG9wIGFuZCBib3R0b20gaWYgbmVjZXNzYXJ5LgogICAgIGJvb2wgbm9R
dWlya3NNb2RlID0gcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+aW5Ob1F1aXJrc01vZGUoKTsKQEAg
LTEyMzcsMTQgKzEyNDksMTQgQEAgYm9vbCBJbmxpbmVGbG93Qm94OjpjYW5BY2NvbW1vZGF0ZUVs
bGlwcwogICAgIHJldHVybiB0cnVlOwogfQogCi1pbnQgSW5saW5lRmxvd0JveDo6cGxhY2VFbGxp
cHNpc0JveChib29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwg
aW50IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KQorZmxvYXQgSW5saW5lRmxvd0JveDo6
cGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxv
Y2tSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wmIGZvdW5kQm94KQogewotICAg
IGludCByZXN1bHQgPSAtMTsKKyAgICBmbG9hdCByZXN1bHQgPSAtMTsKICAgICAvLyBXZSBpdGVy
YXRlIG92ZXIgYWxsIGNoaWxkcmVuLCB0aGUgZm91bmRCb3ggdmFyaWFibGUgdGVsbHMgdXMgd2hl
biB3ZSd2ZSBmb3VuZCB0aGUKICAgICAvLyBib3ggY29udGFpbmluZyB0aGUgZWxsaXBzaXMuICBB
bGwgYm94ZXMgYWZ0ZXIgdGhhdCBvbmUgaW4gdGhlIGZsb3cgYXJlIGhpZGRlbi4KICAgICAvLyBJ
ZiBvdXIgZmxvdyBpcyBsdHIgdGhlbiBpdGVyYXRlIG92ZXIgdGhlIGJveGVzIGZyb20gbGVmdCB0
byByaWdodCwgb3RoZXJ3aXNlIGl0ZXJhdGUKICAgICAvLyBmcm9tIHJpZ2h0IHRvIGxlZnQuIFZh
cnlpbmcgdGhlIG9yZGVyIGFsbG93cyB1cyB0byBjb3JyZWN0bHkgaGlkZSB0aGUgYm94ZXMgZm9s
bG93aW5nIHRoZSBlbGxpcHNpcy4KLSAgICBJbmxpbmVCb3ggKmJveCA9IGx0ciA/IGZpcnN0Q2hp
bGQoKSA6IGxhc3RDaGlsZCgpOworICAgIElubGluZUJveCogYm94ID0gbHRyID8gZmlyc3RDaGls
ZCgpIDogbGFzdENoaWxkKCk7CiAKICAgICAvLyBOT1RFOiB0aGVzZSB3aWxsIGNyb3NzIGFmdGVy
IGZvdW5kQm94ID0gdHJ1ZS4KICAgICBpbnQgdmlzaWJsZUxlZnRFZGdlID0gYmxvY2tMZWZ0RWRn
ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAkocmV2aXNp
b24gNzg2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCSh3
b3JraW5nIGNvcHkpCkBAIC04NSw3ICs4NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
ZGVsZXRlTGluZShSZW5kZXJBcmVuYSopOwogICAgIHZpcnR1YWwgdm9pZCBleHRyYWN0TGluZSgp
OwogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hMaW5lKCk7Ci0gICAgdmlydHVhbCB2b2lkIGFkanVz
dFBvc2l0aW9uKGludCBkeCwgaW50IGR5KTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UG9zaXRp
b24oZmxvYXQgZHgsIGZsb2F0IGR5KTsKIAogICAgIHZpcnR1YWwgdm9pZCBleHRyYWN0TGluZUJv
eEZyb21SZW5kZXJPYmplY3QoKTsKICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoTGluZUJveFRvUmVu
ZGVyT2JqZWN0KCk7CkBAIC05Myw2ICs5Myw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9p
ZCBjbGVhclRydW5jYXRpb24oKTsKIAorICAgIEludFJlY3Qgcm91bmRlZEZyYW1lUmVjdCgpIGNv
bnN0OworICAgIAogICAgIHZpcnR1YWwgdm9pZCBwYWludEJveERlY29yYXRpb25zKFBhaW50SW5m
byYsIGludCB0eCwgaW50IHR5KTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRNYXNrKFBhaW50SW5m
byYsIGludCB0eCwgaW50IHR5KTsKICAgICB2b2lkIHBhaW50RmlsbExheWVycyhjb25zdCBQYWlu
dEluZm8mLCBjb25zdCBDb2xvciYsIGNvbnN0IEZpbGxMYXllciosIGludCB0eCwgaW50IHR5LCBp
bnQgdywgaW50IGgsIENvbXBvc2l0ZU9wZXJhdG9yID0gQ29tcG9zaXRlU291cmNlT3Zlcik7CkBA
IC0xNTUsNyArMTU3LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGV0ZXJtaW5lU3BhY2luZ0ZvckZs
b3dCb3hlcyhib29sIGxhc3RMaW5lLCBSZW5kZXJPYmplY3QqIGVuZE9iamVjdCk7CiAgICAgaW50
IGdldEZsb3dTcGFjaW5nTG9naWNhbFdpZHRoKCk7CiAgICAgYm9vbCBvbkVuZENoYWluKFJlbmRl
ck9iamVjdCogZW5kT2JqZWN0KTsKLSAgICBpbnQgcGxhY2VCb3hlc0luSW5saW5lRGlyZWN0aW9u
KGludCBsb2dpY2FsTGVmdCwgYm9vbCYgbmVlZHNXb3JkU3BhY2luZywgR2x5cGhPdmVyZmxvd0Fu
ZEZhbGxiYWNrRm9udHNNYXAmKTsKKyAgICBmbG9hdCBwbGFjZUJveGVzSW5JbmxpbmVEaXJlY3Rp
b24oZmxvYXQgbG9naWNhbExlZnQsIGJvb2wmIG5lZWRzV29yZFNwYWNpbmcsIEdseXBoT3ZlcmZs
b3dBbmRGYWxsYmFja0ZvbnRzTWFwJik7CiAgICAgdm9pZCBjb21wdXRlTG9naWNhbEJveEhlaWdo
dHMoaW50JiBtYXhQb3NpdGlvblRvcCwgaW50JiBtYXhQb3NpdGlvbkJvdHRvbSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIG1heEFzY2VudCwgaW50JiBtYXhEZXNjZW50
LCBib29sJiBzZXRNYXhBc2NlbnQsIGJvb2wmIHNldE1heERlc2NlbnQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYm9vbCBzdHJpY3RNb2RlLCBHbHlwaE92ZXJmbG93QW5kRmFs
bGJhY2tGb250c01hcCYsIEZvbnRCYXNlbGluZSwgVmVydGljYWxQb3NpdGlvbkNhY2hlJik7CkBA
IC0xNzYsNyArMTc4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0OjpTZWxl
Y3Rpb25TdGF0ZSBzZWxlY3Rpb25TdGF0ZSgpOwogCiAgICAgdmlydHVhbCBib29sIGNhbkFjY29t
bW9kYXRlRWxsaXBzaXMoYm9vbCBsdHIsIGludCBibG9ja0VkZ2UsIGludCBlbGxpcHNpc1dpZHRo
KTsKLSAgICB2aXJ0dWFsIGludCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBpbnQgYmxvY2tM
ZWZ0RWRnZSwgaW50IGJsb2NrUmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCwgYm9vbCYpOwor
ICAgIHZpcnR1YWwgZmxvYXQgcGxhY2VFbGxpcHNpc0JveChib29sIGx0ciwgZmxvYXQgYmxvY2tM
ZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lzV2lkdGgsIGJvb2wm
KTsKIAogICAgIGJvb2wgaGFzVGV4dENoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbV9oYXNUZXh0
Q2hpbGRyZW47IH0KIApAQCAtMTg3LDEwICsxODksMTAgQEAgcHVibGljOgogICAgIC8vIEZvciBo
b3Jpem9udGFsLXRiIGFuZCB2ZXJ0aWNhbC1sciB0aGV5IHdpbGwgbWF0Y2ggcGh5c2ljYWwgZGly
ZWN0aW9ucywgYnV0IGZvciBob3Jpem9udGFsLWJ0IGFuZCB2ZXJ0aWNhbC1ybCwgdGhlIHRvcC9i
b3R0b20gYW5kIGxlZnQvcmlnaHQKICAgICAvLyByZXNwZWN0aXZlbHkgYXJlIGZsaXBwZWQgd2hl
biBjb21wYXJlZCB0byB0aGVpciBwaHlzaWNhbCBjb3VudGVycGFydHMuICBGb3IgZXhhbXBsZSBt
aW5YIGlzIG9uIHRoZSBsZWZ0IGluIHZlcnRpY2FsLWxyLCBidXQgaXQgaXMgb24gdGhlIHJpZ2h0
IGluIHZlcnRpY2FsLXJsLgogICAgIGludCBtaW5ZTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJl
dHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+bWluWUxheW91dE92ZXJmbG93KCkgOiBtX3k7
IH0KLSAgICBpbnQgbWF4WUxheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxv
dyA/IG1fb3ZlcmZsb3ctPm1heFlMYXlvdXRPdmVyZmxvdygpIDogbV95ICsgaGVpZ2h0KCk7IH0K
KyAgICBpbnQgbWF4WUxheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/
IG1fb3ZlcmZsb3ctPm1heFlMYXlvdXRPdmVyZmxvdygpIDogY2VpbGYobV95ICsgaGVpZ2h0KCkp
OyB9CiAgICAgaW50IG1pblhMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZs
b3cgPyBtX292ZXJmbG93LT5taW5YTGF5b3V0T3ZlcmZsb3coKSA6IG1feDsgfQotICAgIGludCBt
YXhYTGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxv
dy0+bWF4WExheW91dE92ZXJmbG93KCkgOiBtX3ggKyB3aWR0aCgpOyB9Ci0gICAgSW50UmVjdCBs
YXlvdXRPdmVyZmxvd1JlY3QoKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxv
dy0+bGF5b3V0T3ZlcmZsb3dSZWN0KCkgOiBJbnRSZWN0KG1feCwgbV95LCB3aWR0aCgpLCBoZWln
aHQoKSk7IH0KKyAgICBpbnQgbWF4WExheW91dE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gbV9v
dmVyZmxvdyA/IG1fb3ZlcmZsb3ctPm1heFhMYXlvdXRPdmVyZmxvdygpIDogY2VpbGYobV94ICsg
d2lkdGgoKSk7IH0KKyAgICBJbnRSZWN0IGxheW91dE92ZXJmbG93UmVjdCgpIGNvbnN0IHsgcmV0
dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5sYXlvdXRPdmVyZmxvd1JlY3QoKSA6IGVuY2xv
c2luZ0ludFJlY3QoRmxvYXRSZWN0KG1feCwgbV95LCB3aWR0aCgpLCBoZWlnaHQoKSkpOyB9CiAg
ICAgaW50IGxvZ2ljYWxMZWZ0TGF5b3V0T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiByZW5kZXJl
cigpLT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gbWluWExheW91dE92ZXJm
bG93KCkgOiBtaW5ZTGF5b3V0T3ZlcmZsb3coKTsgfQogICAgIGludCBsb2dpY2FsUmlnaHRMYXlv
dXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHJlbmRlcmVyKCktPnN0eWxlKCktPmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkgPyBtYXhYTGF5b3V0T3ZlcmZsb3coKSA6IG1heFlMYXlvdXRPdmVy
ZmxvdygpOyB9CiAgICAgaW50IGxvZ2ljYWxUb3BMYXlvdXRPdmVyZmxvdygpIGNvbnN0IHsgcmV0
dXJuIHJlbmRlcmVyKCktPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBtaW5Z
VmlzdWFsT3ZlcmZsb3coKSA6IG1pblhWaXN1YWxPdmVyZmxvdygpOyB9CkBAIC0yMDQsMTAgKzIw
NiwxMCBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgaW50IG1pbllWaXN1YWxPdmVyZmxvdygpIGNv
bnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBtX292ZXJmbG93LT5taW5ZVmlzdWFsT3ZlcmZsb3co
KSA6IG1feTsgfQotICAgIGludCBtYXhZVmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBt
X292ZXJmbG93ID8gbV9vdmVyZmxvdy0+bWF4WVZpc3VhbE92ZXJmbG93KCkgOiBtX3kgKyBoZWln
aHQoKTsgfQorICAgIGludCBtYXhZVmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292
ZXJmbG93ID8gbV9vdmVyZmxvdy0+bWF4WVZpc3VhbE92ZXJmbG93KCkgOiBjZWlsZihtX3kgKyBo
ZWlnaHQoKSk7IH0KICAgICBpbnQgbWluWFZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4g
bV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPm1pblhWaXN1YWxPdmVyZmxvdygpIDogbV94OyB9Ci0g
ICAgaW50IG1heFhWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBt
X292ZXJmbG93LT5tYXhYVmlzdWFsT3ZlcmZsb3coKSA6IG1feCArIHdpZHRoKCk7IH0KLSAgICBJ
bnRSZWN0IHZpc3VhbE92ZXJmbG93UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgPyBt
X292ZXJmbG93LT52aXN1YWxPdmVyZmxvd1JlY3QoKSA6IEludFJlY3QobV94LCBtX3ksIHdpZHRo
KCksIGhlaWdodCgpKTsgfQorICAgIGludCBtYXhYVmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJl
dHVybiBtX292ZXJmbG93ID8gbV9vdmVyZmxvdy0+bWF4WFZpc3VhbE92ZXJmbG93KCkgOiBjZWls
ZihtX3ggKyB3aWR0aCgpKTsgfQorICAgIEludFJlY3QgdmlzdWFsT3ZlcmZsb3dSZWN0KCkgY29u
c3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IG1fb3ZlcmZsb3ctPnZpc3VhbE92ZXJmbG93UmVjdCgp
IDogZW5jbG9zaW5nSW50UmVjdChGbG9hdFJlY3QobV94LCBtX3ksIHdpZHRoKCksIGhlaWdodCgp
KSk7IH0KICAgICBpbnQgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJu
IHJlbmRlcmVyKCktPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBtaW5YVmlz
dWFsT3ZlcmZsb3coKSA6IG1pbllWaXN1YWxPdmVyZmxvdygpOyB9CiAgICAgaW50IGxvZ2ljYWxS
aWdodFZpc3VhbE92ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+c3R5bGUoKS0+
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IG1heFhWaXN1YWxPdmVyZmxvdygpIDogbWF4WVZp
c3VhbE92ZXJmbG93KCk7IH0KICAgICBpbnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93KCkgY29u
c3QgeyByZXR1cm4gcmVuZGVyZXIoKS0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSA/IG1pbllWaXN1YWxPdmVyZmxvdygpIDogbWluWFZpc3VhbE92ZXJmbG93KCk7IH0KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAJKHJldmlzaW9uIDc4
NjIzKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjphdHRhY2hM
aW5lKCkKICAgICB0b1JlbmRlclRleHQocmVuZGVyZXIoKSktPmF0dGFjaFRleHRCb3godGhpcyk7
CiB9CiAKLWludCBJbmxpbmVUZXh0Qm94OjpwbGFjZUVsbGlwc2lzQm94KGJvb2wgZmxvd0lzTFRS
LCBpbnQgdmlzaWJsZUxlZnRFZGdlLCBpbnQgdmlzaWJsZVJpZ2h0RWRnZSwgaW50IGVsbGlwc2lz
V2lkdGgsIGJvb2wmIGZvdW5kQm94KQorZmxvYXQgSW5saW5lVGV4dEJveDo6cGxhY2VFbGxpcHNp
c0JveChib29sIGZsb3dJc0xUUiwgZmxvYXQgdmlzaWJsZUxlZnRFZGdlLCBmbG9hdCB2aXNpYmxl
UmlnaHRFZGdlLCBmbG9hdCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCkKIHsKICAgICBp
ZiAoZm91bmRCb3gpIHsKICAgICAgICAgbV90cnVuY2F0aW9uID0gY0Z1bGxUcnVuY2F0aW9uOwpA
QCAtMjA5LDcgKzIwOSw3IEBAIGludCBJbmxpbmVUZXh0Qm94OjpwbGFjZUVsbGlwc2lzQm94KGJv
b2wKICAgICB9CiAKICAgICAvLyBGb3IgTFRSIHRoaXMgaXMgdGhlIGxlZnQgZWRnZSBvZiB0aGUg
Ym94LCBmb3IgUlRMLCB0aGUgcmlnaHQgZWRnZSBpbiBwYXJlbnQgY29vcmRpbmF0ZXMuCi0gICAg
aW50IGVsbGlwc2lzWCA9IGZsb3dJc0xUUiA/IHZpc2libGVSaWdodEVkZ2UgLSBlbGxpcHNpc1dp
ZHRoIDogdmlzaWJsZUxlZnRFZGdlICsgZWxsaXBzaXNXaWR0aDsKKyAgICBmbG9hdCBlbGxpcHNp
c1ggPSBmbG93SXNMVFIgPyB2aXNpYmxlUmlnaHRFZGdlIC0gZWxsaXBzaXNXaWR0aCA6IHZpc2li
bGVMZWZ0RWRnZSArIGVsbGlwc2lzV2lkdGg7CiAgICAgCiAgICAgLy8gQ3JpdGVyaWEgZm9yIGZ1
bGwgdHJ1bmNhdGlvbjoKICAgICAvLyBMVFI6IHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlIGVsbGlwc2lz
IGlzIHRvIHRoZSBsZWZ0IG9mIG91ciB0ZXh0IHJ1bi4KQEAgLTI1MSw3ICsyNTEsNyBAQCBpbnQg
SW5saW5lVGV4dEJveDo6cGxhY2VFbGxpcHNpc0JveChib29sCiAKICAgICAgICAgLy8gSWYgd2Ug
Z290IGhlcmUgdGhhdCBtZWFucyB0aGF0IHdlIHdlcmUgb25seSBwYXJ0aWFsbHkgdHJ1bmNhdGVk
IGFuZCB3ZSBuZWVkIHRvIHJldHVybiB0aGUgcGl4ZWwgb2Zmc2V0IGF0IHdoaWNoCiAgICAgICAg
IC8vIHRvIHBsYWNlIHRoZSBlbGxpcHNpcy4KLSAgICAgICAgaW50IHdpZHRoT2ZWaXNpYmxlVGV4
dCA9IHRvUmVuZGVyVGV4dChyZW5kZXJlcigpKS0+d2lkdGgobV9zdGFydCwgb2Zmc2V0LCB0ZXh0
UG9zKCksIG1fZmlyc3RMaW5lKTsKKyAgICAgICAgZmxvYXQgd2lkdGhPZlZpc2libGVUZXh0ID0g
dG9SZW5kZXJUZXh0KHJlbmRlcmVyKCkpLT53aWR0aChtX3N0YXJ0LCBvZmZzZXQsIHRleHRQb3Mo
KSwgbV9maXJzdExpbmUpOwogCiAgICAgICAgIC8vIFRoZSBlbGxpcHNpcyBuZWVkcyB0byBiZSBw
bGFjZWQganVzdCBhZnRlciB0aGUgbGFzdCB2aXNpYmxlIGNoYXJhY3Rlci4KICAgICAgICAgLy8g
V2hlcmUgImFmdGVyIiBpcyBkZWZpbmVkIGJ5IHRoZSBmbG93IGRpcmVjdGlvbmFsaXR5LCBub3Qg
dGhlIGlubGluZQpAQCAtMzE5LDkgKzMxOSw5IEBAIGJvb2wgSW5saW5lVGV4dEJveDo6bm9kZUF0
UG9pbnQoY29uc3QgSGkKICAgICBpZiAoaXNMaW5lQnJlYWsoKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCi0gICAgSW50UG9pbnQgYm94T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGlu
ZygpOworICAgIEZsb2F0UG9pbnQgYm94T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGlu
ZygpOwogICAgIGJveE9yaWdpbi5tb3ZlKHR4LCB0eSk7Ci0gICAgSW50UmVjdCByZWN0KGJveE9y
aWdpbiwgSW50U2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSkpOworICAgIEZsb2F0UmVjdCByZWN0KGJv
eE9yaWdpbiwgSW50U2l6ZSh3aWR0aCgpLCBoZWlnaHQoKSkpOwogICAgIGlmIChtX3RydW5jYXRp
b24gIT0gY0Z1bGxUcnVuY2F0aW9uICYmIHZpc2libGVUb0hpdFRlc3RpbmcoKSAmJiByZWN0Lmlu
dGVyc2VjdHMocmVzdWx0LnJlY3RGb3JQb2ludCh4LCB5KSkpIHsKICAgICAgICAgcmVuZGVyZXIo
KS0+dXBkYXRlSGl0VGVzdFJlc3VsdChyZXN1bHQsIGZsaXBGb3JXcml0aW5nTW9kZShJbnRQb2lu
dCh4IC0gdHgsIHkgLSB0eSkpKTsKICAgICAgICAgaWYgKCFyZXN1bHQuYWRkTm9kZVRvUmVjdEJh
c2VkVGVzdFJlc3VsdChyZW5kZXJlcigpLT5ub2RlKCksIHgsIHksIHJlY3QpKQpAQCAtMzU3LDgg
KzM1Nyw4IEBAIEZsb2F0U2l6ZSBJbmxpbmVUZXh0Qm94OjphcHBseVNoYWRvd1RvR3IKICAgICBy
ZXR1cm4gZXh0cmFPZmZzZXQ7CiB9CiAKLXN0YXRpYyB2b2lkIHBhaW50VGV4dFdpdGhTaGFkb3dz
KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1
biYgdGV4dFJ1biwgY29uc3QgQXRvbWljU3RyaW5nJiBlbXBoYXNpc01hcmssIGludCBlbXBoYXNp
c01hcmtPZmZzZXQsIGludCBzdGFydE9mZnNldCwgaW50IGVuZE9mZnNldCwgaW50IHRydW5jYXRp
b25Qb2ludCwgY29uc3QgSW50UG9pbnQmIHRleHRPcmlnaW4sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBJbnRSZWN0JiBib3hSZWN0LCBjb25zdCBTaGFkb3dEYXRhKiBz
aGFkb3csIGJvb2wgc3Ryb2tlZCwgYm9vbCBob3Jpem9udGFsKQorc3RhdGljIHZvaWQgcGFpbnRU
ZXh0V2l0aFNoYWRvd3MoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGb250JiBmb250
LCBjb25zdCBUZXh0UnVuJiB0ZXh0UnVuLCBjb25zdCBBdG9taWNTdHJpbmcmIGVtcGhhc2lzTWFy
aywgaW50IGVtcGhhc2lzTWFya09mZnNldCwgaW50IHN0YXJ0T2Zmc2V0LCBpbnQgZW5kT2Zmc2V0
LCBpbnQgdHJ1bmNhdGlvblBvaW50LCBjb25zdCBGbG9hdFBvaW50JiB0ZXh0T3JpZ2luLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRmxvYXRSZWN0JiBib3hSZWN0LCBj
b25zdCBTaGFkb3dEYXRhKiBzaGFkb3csIGJvb2wgc3Ryb2tlZCwgYm9vbCBob3Jpem9udGFsKQog
ewogICAgIENvbG9yIGZpbGxDb2xvciA9IGNvbnRleHQtPmZpbGxDb2xvcigpOwogICAgIENvbG9y
U3BhY2UgZmlsbENvbG9yU3BhY2UgPSBjb250ZXh0LT5maWxsQ29sb3JTcGFjZSgpOwpAQCAtNDgy
LDEwICs0ODIsMTAgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludChQYWludEluZm8mIHBhaQog
ICAgIAogICAgIHR5IC09IHN0eWxlVG9Vc2UtPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyAw
IDogbG9naWNhbEhlaWdodCgpOwogCi0gICAgSW50UG9pbnQgYm94T3JpZ2luID0gbG9jYXRpb25J
bmNsdWRpbmdGbGlwcGluZygpOworICAgIEZsb2F0UG9pbnQgYm94T3JpZ2luID0gbG9jYXRpb25J
bmNsdWRpbmdGbGlwcGluZygpOwogICAgIGJveE9yaWdpbi5tb3ZlKHR4LCB0eSk7ICAgIAotICAg
IEludFJlY3QgYm94UmVjdChib3hPcmlnaW4sIEludFNpemUobG9naWNhbFdpZHRoKCksIGxvZ2lj
YWxIZWlnaHQoKSkpOwotICAgIEludFBvaW50IHRleHRPcmlnaW4gPSBJbnRQb2ludChib3hPcmln
aW4ueCgpLCBib3hPcmlnaW4ueSgpICsgc3R5bGVUb1VzZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQo
KSk7CisgICAgRmxvYXRSZWN0IGJveFJlY3QoYm94T3JpZ2luLCBJbnRTaXplKGxvZ2ljYWxXaWR0
aCgpLCBsb2dpY2FsSGVpZ2h0KCkpKTsKKyAgICBGbG9hdFBvaW50IHRleHRPcmlnaW4gPSBGbG9h
dFBvaW50KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgKyBzdHlsZVRvVXNlLT5mb250TWV0
cmljcygpLmFzY2VudCgpKTsKIAogICAgIFJlbmRlckNvbWJpbmVUZXh0KiBjb21iaW5lZFRleHQg
PSBzdHlsZVRvVXNlLT5oYXNUZXh0Q29tYmluZSgpID8gdG9SZW5kZXJDb21iaW5lVGV4dCh0ZXh0
UmVuZGVyZXIoKSkgOiAwOwogICAgIGJvb2wgc2hvdWxkUm90YXRlID0gIWlzSG9yaXpvbnRhbCgp
ICYmICghY29tYmluZWRUZXh0IHx8ICFjb21iaW5lZFRleHQtPmlzQ29tYmluZWQoKSk7CkBAIC03
MzYsNyArNzM2LDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpzZWxlY3Rpb25TdGFydEVuZChpbgog
ICAgIGVQb3MgPSBtaW4oZW5kUG9zIC0gbV9zdGFydCwgKGludCltX2xlbik7CiB9CiAKLXZvaWQg
SW5saW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb24oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBj
b25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQm
IGZvbnQpCit2b2lkIElubGluZVRleHRCb3g6OnBhaW50U2VsZWN0aW9uKEdyYXBoaWNzQ29udGV4
dCogY29udGV4dCwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSogc3R5
bGUsIGNvbnN0IEZvbnQmIGZvbnQpCiB7CiAgICAgLy8gU2VlIGlmIHdlIGhhdmUgYSBzZWxlY3Rp
b24gdG8gcGFpbnQgYXQgYWxsLgogICAgIGludCBzUG9zLCBlUG9zOwpAQCAtNzcwLDE1ICs3NzAs
MTUgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlvbihHcmFwaAogCiAgICAgaW50
IGRlbHRhWSA9IHJlbmRlcmVyKCktPnN0eWxlKCktPmlzRmxpcHBlZExpbmVzV3JpdGluZ01vZGUo
KSA/IHNlbGVjdGlvbkJvdHRvbSgpIC0gbG9naWNhbEJvdHRvbSgpIDogbG9naWNhbFRvcCgpIC0g
c2VsZWN0aW9uVG9wKCk7CiAgICAgaW50IHNlbEhlaWdodCA9IHNlbGVjdGlvbkhlaWdodCgpOwot
ICAgIEludFBvaW50IGxvY2FsT3JpZ2luKGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBk
ZWx0YVkpOwotICAgIGNvbnRleHQtPmNsaXAoSW50UmVjdChsb2NhbE9yaWdpbiwgSW50U2l6ZSht
X2xvZ2ljYWxXaWR0aCwgc2VsSGVpZ2h0KSkpOworICAgIEZsb2F0UG9pbnQgbG9jYWxPcmlnaW4o
Ym94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSk7CisgICAgY29udGV4dC0+Y2xp
cChGbG9hdFJlY3QobG9jYWxPcmlnaW4sIEZsb2F0U2l6ZShtX2xvZ2ljYWxXaWR0aCwgc2VsSGVp
Z2h0KSkpOwogICAgIGNvbnRleHQtPmRyYXdIaWdobGlnaHRGb3JUZXh0KGZvbnQsIFRleHRSdW4o
Y2hhcmFjdGVycywgbGVuZ3RoLCB0ZXh0UmVuZGVyZXIoKS0+YWxsb3dUYWJzKCksIHRleHRQb3Mo
KSwgbV9leHBhbnNpb24sIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IoKSwgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgbV9kaXJP
dmVycmlkZSB8fCBzdHlsZS0+dmlzdWFsbHlPcmRlcmVkKCkpLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxvY2FsT3JpZ2luLCBzZWxIZWlnaHQsIGMsIHN0eWxlLT5jb2xvclNw
YWNlKCksIHNQb3MsIGVQb3MpOwogICAgIGNvbnRleHQtPnJlc3RvcmUoKTsKIH0KIAotdm9pZCBJ
bmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uQmFja2dyb3VuZChHcmFwaGljc0NvbnRleHQq
IGNvbnRleHQsIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwg
Y29uc3QgRm9udCYgZm9udCwgaW50IHN0YXJ0UG9zLCBpbnQgZW5kUG9zKQordm9pZCBJbmxpbmVU
ZXh0Qm94OjpwYWludENvbXBvc2l0aW9uQmFja2dyb3VuZChHcmFwaGljc0NvbnRleHQqIGNvbnRl
eHQsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25z
dCBGb250JiBmb250LCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpCiB7CiAgICAgaW50IG9mZnNl
dCA9IG1fc3RhcnQ7CiAgICAgaW50IHNQb3MgPSBtYXgoc3RhcnRQb3MgLSBvZmZzZXQsIDApOwpA
QCAtNzk1LDcgKzc5NSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvbkJh
Y2sKIAogICAgIGludCBkZWx0YVkgPSByZW5kZXJlcigpLT5zdHlsZSgpLT5pc0ZsaXBwZWRMaW5l
c1dyaXRpbmdNb2RlKCkgPyBzZWxlY3Rpb25Cb3R0b20oKSAtIGxvZ2ljYWxCb3R0b20oKSA6IGxv
Z2ljYWxUb3AoKSAtIHNlbGVjdGlvblRvcCgpOwogICAgIGludCBzZWxIZWlnaHQgPSBzZWxlY3Rp
b25IZWlnaHQoKTsKLSAgICBJbnRQb2ludCBsb2NhbE9yaWdpbihib3hPcmlnaW4ueCgpLCBib3hP
cmlnaW4ueSgpIC0gZGVsdGFZKTsKKyAgICBGbG9hdFBvaW50IGxvY2FsT3JpZ2luKGJveE9yaWdp
bi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVkpOwogICAgIGNvbnRleHQtPmRyYXdIaWdobGln
aHRGb3JUZXh0KGZvbnQsIFRleHRSdW4odGV4dFJlbmRlcmVyKCktPnRleHQoKS0+Y2hhcmFjdGVy
cygpICsgbV9zdGFydCwgbV9sZW4sIHRleHRSZW5kZXJlcigpLT5hbGxvd1RhYnMoKSwgdGV4dFBv
cygpLCBtX2V4cGFuc2lvbiwgdHJhaWxpbmdFeHBhbnNpb25CZWhhdmlvcigpLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIG1fZGly
T3ZlcnJpZGUgfHwgc3R5bGUtPnZpc3VhbGx5T3JkZXJlZCgpKSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsb2NhbE9yaWdpbiwgc2VsSGVpZ2h0LCBjLCBzdHlsZS0+Y29sb3JT
cGFjZSgpLCBzUG9zLCBlUG9zKTsKQEAgLTgyMiwxNCArODIyLDE0IEBAIHZvaWQgSW5saW5lVGV4
dEJveDo6cGFpbnRDdXN0b21IaWdobGlnaHQKIAogI2VuZGlmCiAKLXZvaWQgSW5saW5lVGV4dEJv
eDo6cGFpbnREZWNvcmF0aW9uKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UG9p
bnQmIGJveE9yaWdpbiwgaW50IGRlY28sIGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdykKK3ZvaWQg
SW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwg
Y29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBpbnQgZGVjbywgY29uc3QgU2hhZG93RGF0YSog
c2hhZG93KQogewogICAgIGlmIChtX3RydW5jYXRpb24gPT0gY0Z1bGxUcnVuY2F0aW9uKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBJbnRQb2ludCBsb2NhbE9yaWdpbiA9IGJveE9yaWdpbjsKKyAg
ICBGbG9hdFBvaW50IGxvY2FsT3JpZ2luID0gYm94T3JpZ2luOwogCi0gICAgaW50IHdpZHRoID0g
bV9sb2dpY2FsV2lkdGg7CisgICAgZmxvYXQgd2lkdGggPSBtX2xvZ2ljYWxXaWR0aDsKICAgICBp
ZiAobV90cnVuY2F0aW9uICE9IGNOb1RydW5jYXRpb24pIHsKICAgICAgICAgd2lkdGggPSB0b1Jl
bmRlclRleHQocmVuZGVyZXIoKSktPndpZHRoKG1fc3RhcnQsIG1fdHJ1bmNhdGlvbiwgdGV4dFBv
cygpLCBtX2ZpcnN0TGluZSk7CiAgICAgICAgIGlmICghaXNMZWZ0VG9SaWdodERpcmVjdGlvbigp
KQpAQCAtODUzLDkgKzg1Myw5IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9u
KEdyYXAKICAgICBpbnQgZXh0cmFPZmZzZXQgPSAwOwogICAgIGlmICghbGluZXNBcmVPcGFxdWUg
JiYgc2hhZG93ICYmIHNoYWRvdy0+bmV4dCgpKSB7CiAgICAgICAgIGNvbnRleHQtPnNhdmUoKTsK
LSAgICAgICAgSW50UmVjdCBjbGlwUmVjdChsb2NhbE9yaWdpbiwgSW50U2l6ZSh3aWR0aCwgYmFz
ZWxpbmUgKyAyKSk7CisgICAgICAgIEZsb2F0UmVjdCBjbGlwUmVjdChsb2NhbE9yaWdpbiwgRmxv
YXRTaXplKHdpZHRoLCBiYXNlbGluZSArIDIpKTsKICAgICAgICAgZm9yIChjb25zdCBTaGFkb3dE
YXRhKiBzID0gc2hhZG93OyBzOyBzID0gcy0+bmV4dCgpKSB7Ci0gICAgICAgICAgICBJbnRSZWN0
IHNoYWRvd1JlY3QobG9jYWxPcmlnaW4sIEludFNpemUod2lkdGgsIGJhc2VsaW5lICsgMikpOwor
ICAgICAgICAgICAgRmxvYXRSZWN0IHNoYWRvd1JlY3QobG9jYWxPcmlnaW4sIEZsb2F0U2l6ZSh3
aWR0aCwgYmFzZWxpbmUgKyAyKSk7CiAgICAgICAgICAgICBzaGFkb3dSZWN0LmluZmxhdGUocy0+
Ymx1cigpKTsKICAgICAgICAgICAgIGludCBzaGFkb3dYID0gaXNIb3Jpem9udGFsKCkgPyBzLT54
KCkgOiBzLT55KCk7CiAgICAgICAgICAgICBpbnQgc2hhZG93WSA9IGlzSG9yaXpvbnRhbCgpID8g
cy0+eSgpIDogLXMtPngoKTsKQEAgLTg4Miw3ICs4ODIsNyBAQCB2b2lkIElubGluZVRleHRCb3g6
OnBhaW50RGVjb3JhdGlvbihHcmFwCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpbnQgc2hh
ZG93WCA9IGlzSG9yaXpvbnRhbCgpID8gc2hhZG93LT54KCkgOiBzaGFkb3ctPnkoKTsKICAgICAg
ICAgICAgIGludCBzaGFkb3dZID0gaXNIb3Jpem9udGFsKCkgPyBzaGFkb3ctPnkoKSA6IC1zaGFk
b3ctPngoKTsKLSAgICAgICAgICAgIGNvbnRleHQtPnNldFNoYWRvdyhJbnRTaXplKHNoYWRvd1gs
IHNoYWRvd1kgLSBleHRyYU9mZnNldCksIHNoYWRvdy0+Ymx1cigpLCBzaGFkb3ctPmNvbG9yKCks
IGNvbG9yU3BhY2UpOworICAgICAgICAgICAgY29udGV4dC0+c2V0U2hhZG93KEZsb2F0U2l6ZShz
aGFkb3dYLCBzaGFkb3dZIC0gZXh0cmFPZmZzZXQpLCBzaGFkb3ctPmJsdXIoKSwgc2hhZG93LT5j
b2xvcigpLCBjb2xvclNwYWNlKTsKICAgICAgICAgICAgIHNldFNoYWRvdyA9IHRydWU7CiAgICAg
ICAgICAgICBzaGFkb3cgPSBzaGFkb3ctPm5leHQoKTsKICAgICAgICAgfQpAQCAtODkxLDcgKzg5
MSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKEdyYXAKICAgICAgICAg
ICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKHVuZGVybGluZSwgY29sb3JTcGFjZSk7CiAgICAg
ICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VTdHlsZShTb2xpZFN0cm9rZSk7CiAgICAgICAgICAg
ICAvLyBMZWF2ZSBvbmUgcGl4ZWwgb2Ygd2hpdGUgYmV0d2VlbiB0aGUgYmFzZWxpbmUgYW5kIHRo
ZSB1bmRlcmxpbmUuCi0gICAgICAgICAgICBjb250ZXh0LT5kcmF3TGluZUZvclRleHQoSW50UG9p
bnQobG9jYWxPcmlnaW4ueCgpLCBsb2NhbE9yaWdpbi55KCkgKyBiYXNlbGluZSArIDEpLCB3aWR0
aCwgaXNQcmludGluZyk7CisgICAgICAgICAgICBjb250ZXh0LT5kcmF3TGluZUZvclRleHQoRmxv
YXRQb2ludChsb2NhbE9yaWdpbi54KCksIGxvY2FsT3JpZ2luLnkoKSArIGJhc2VsaW5lICsgMSks
IHdpZHRoLCBpc1ByaW50aW5nKTsKICAgICAgICAgfQogICAgICAgICBpZiAoZGVjbyAmIE9WRVJM
SU5FKSB7CiAgICAgICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VDb2xvcihvdmVybGluZSwgY29s
b3JTcGFjZSk7CkBAIC05MDEsNyArOTAxLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERl
Y29yYXRpb24oR3JhcAogICAgICAgICBpZiAoZGVjbyAmIExJTkVfVEhST1VHSCkgewogICAgICAg
ICAgICAgY29udGV4dC0+c2V0U3Ryb2tlQ29sb3IobGluZXRocm91Z2gsIGNvbG9yU3BhY2UpOwog
ICAgICAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlU3R5bGUoU29saWRTdHJva2UpOwotICAgICAg
ICAgICAgY29udGV4dC0+ZHJhd0xpbmVGb3JUZXh0KEludFBvaW50KGxvY2FsT3JpZ2luLngoKSwg
bG9jYWxPcmlnaW4ueSgpICsgMiAqIGJhc2VsaW5lIC8gMyksIHdpZHRoLCBpc1ByaW50aW5nKTsK
KyAgICAgICAgICAgIGNvbnRleHQtPmRyYXdMaW5lRm9yVGV4dChGbG9hdFBvaW50KGxvY2FsT3Jp
Z2luLngoKSwgbG9jYWxPcmlnaW4ueSgpICsgMiAqIGJhc2VsaW5lIC8gMyksIHdpZHRoLCBpc1By
aW50aW5nKTsKICAgICAgICAgfQogICAgIH0gd2hpbGUgKHNoYWRvdyk7CiAKQEAgLTkyNiw3ICs5
MjYsNyBAQCBzdGF0aWMgR3JhcGhpY3NDb250ZXh0OjpUZXh0Q2hlY2tpbmdMaW5lCiAgICAgfQog
fQogCi12b2lkIElubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIoR3Jh
cGhpY3NDb250ZXh0KiBwdCwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgRG9jdW1l
bnRNYXJrZXImIG1hcmtlciwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250LCBi
b29sIGdyYW1tYXIpCit2b2lkIElubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tYXJN
YXJrZXIoR3JhcGhpY3NDb250ZXh0KiBwdCwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBj
b25zdCBEb2N1bWVudE1hcmtlciYgbWFya2VyLCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZv
bnQmIGZvbnQsIGJvb2wgZ3JhbW1hcikKIHsKICAgICAvLyBOZXZlciBwcmludCBzcGVsbGluZy9n
cmFtbWFyIG1hcmtlcnMgKDUzMjc4ODcpCiAgICAgaWYgKHRleHRSZW5kZXJlcigpLT5kb2N1bWVu
dCgpLT5wcmludGluZygpKQpAQCAtOTM1LDggKzkzNSw4IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6
cGFpbnRTcGVsbGluZ09yR3JhbW0KICAgICBpZiAobV90cnVuY2F0aW9uID09IGNGdWxsVHJ1bmNh
dGlvbikKICAgICAgICAgcmV0dXJuOwogCi0gICAgaW50IHN0YXJ0ID0gMDsgICAgICAgICAgICAg
ICAgICAvLyBzdGFydCBvZiBsaW5lIHRvIGRyYXcsIHJlbGF0aXZlIHRvIHR4Ci0gICAgaW50IHdp
ZHRoID0gbV9sb2dpY2FsV2lkdGg7ICAgICAgICAgICAgLy8gaG93IG11Y2ggbGluZSB0byBkcmF3
CisgICAgZmxvYXQgc3RhcnQgPSAwOyAvLyBzdGFydCBvZiBsaW5lIHRvIGRyYXcsIHJlbGF0aXZl
IHRvIHR4CisgICAgZmxvYXQgd2lkdGggPSBtX2xvZ2ljYWxXaWR0aDsgLy8gaG93IG11Y2ggbGlu
ZSB0byBkcmF3CiAKICAgICAvLyBEZXRlcm1pbmUgd2hldGhlciB3ZSBuZWVkIHRvIG1lYXN1cmUg
dGV4dAogICAgIGJvb2wgbWFya2VyU3BhbnNXaG9sZUJveCA9IHRydWU7CkBAIC05NTcsOSArOTU3
LDEwIEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGluZ09yR3JhbW0KICAgICAgICAg
Ly8gQ2FsY3VsYXRlIHN0YXJ0ICYgd2lkdGgKICAgICAgICAgaW50IGRlbHRhWSA9IHJlbmRlcmVy
KCktPnN0eWxlKCktPmlzRmxpcHBlZExpbmVzV3JpdGluZ01vZGUoKSA/IHNlbGVjdGlvbkJvdHRv
bSgpIC0gbG9naWNhbEJvdHRvbSgpIDogbG9naWNhbFRvcCgpIC0gc2VsZWN0aW9uVG9wKCk7CiAg
ICAgICAgIGludCBzZWxIZWlnaHQgPSBzZWxlY3Rpb25IZWlnaHQoKTsKLSAgICAgICAgSW50UG9p
bnQgc3RhcnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKTsKKyAg
ICAgICAgRmxvYXRQb2ludCBzdGFydFBvaW50KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkg
LSBkZWx0YVkpOwogICAgICAgICBUZXh0UnVuIHJ1bih0ZXh0UmVuZGVyZXIoKS0+dGV4dCgpLT5j
aGFyYWN0ZXJzKCkgKyBtX3N0YXJ0LCBtX2xlbiwgdGV4dFJlbmRlcmVyKCktPmFsbG93VGFicygp
LCB0ZXh0UG9zKCksIG1fZXhwYW5zaW9uLCB0cmFpbGluZ0V4cGFuc2lvbkJlaGF2aW9yKCksICFp
c0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIG1fZGlyT3ZlcnJpZGUgfHwgc3R5bGUtPnZpc3VhbGx5
T3JkZXJlZCgpKTsKLSAgICAgICAgIAorICAgICAgICAKKyAgICAgICAgLy8gRklYTUU6IENvbnZl
cnQgdGhlIGRvY3VtZW50IG1hcmtlcnMgdG8gZmxvYXQgcmVjdHMuCiAgICAgICAgIEludFJlY3Qg
bWFya2VyUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QoZm9udC5zZWxlY3Rpb25SZWN0Rm9yVGV4dChy
dW4sIHN0YXJ0UG9pbnQsIHNlbEhlaWdodCwgc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRpb24pKTsK
ICAgICAgICAgc3RhcnQgPSBtYXJrZXJSZWN0LngoKSAtIHN0YXJ0UG9pbnQueCgpOwogICAgICAg
ICB3aWR0aCA9IG1hcmtlclJlY3Qud2lkdGgoKTsKQEAgLTk5MCwxMCArOTkxLDEwIEBAIHZvaWQg
SW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGluZ09yR3JhbW0KICAgICAgICAgLy8gSW4gbGFyZ2Vy
IGZvbnRzLCB0aG91Z2gsIHBsYWNlIHRoZSB1bmRlcmxpbmUgdXAgbmVhciB0aGUgYmFzZWxpbmUg
dG8gcHJldmVudCBhIGJpZyBnYXAuCiAgICAgICAgIHVuZGVybGluZU9mZnNldCA9IGJhc2VsaW5l
ICsgMjsKICAgICB9Ci0gICAgcHQtPmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKEludFBvaW50KGJv
eE9yaWdpbi54KCkgKyBzdGFydCwgYm94T3JpZ2luLnkoKSArIHVuZGVybGluZU9mZnNldCksIHdp
ZHRoLCB0ZXh0Q2hlY2tpbmdMaW5lU3R5bGVGb3JNYXJrZXJUeXBlKG1hcmtlci50eXBlKSk7Cisg
ICAgcHQtPmRyYXdMaW5lRm9yVGV4dENoZWNraW5nKEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSAr
IHN0YXJ0LCBib3hPcmlnaW4ueSgpICsgdW5kZXJsaW5lT2Zmc2V0KSwgd2lkdGgsIHRleHRDaGVj
a2luZ0xpbmVTdHlsZUZvck1hcmtlclR5cGUobWFya2VyLnR5cGUpKTsKIH0KIAotdm9pZCBJbmxp
bmVUZXh0Qm94OjpwYWludFRleHRNYXRjaE1hcmtlcihHcmFwaGljc0NvbnRleHQqIHB0LCBjb25z
dCBJbnRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYgbWFya2VyLCBSZW5k
ZXJTdHlsZSogc3R5bGUsIGNvbnN0IEZvbnQmIGZvbnQpCit2b2lkIElubGluZVRleHRCb3g6OnBh
aW50VGV4dE1hdGNoTWFya2VyKEdyYXBoaWNzQ29udGV4dCogcHQsIGNvbnN0IEZsb2F0UG9pbnQm
IGJveE9yaWdpbiwgY29uc3QgRG9jdW1lbnRNYXJrZXImIG1hcmtlciwgUmVuZGVyU3R5bGUqIHN0
eWxlLCBjb25zdCBGb250JiBmb250KQogewogICAgIC8vIFVzZSBzYW1lIHkgcG9zaXRpb25pbmcg
YW5kIGhlaWdodCBhcyBmb3Igc2VsZWN0aW9uLCBzbyB0aGF0IHdoZW4gdGhlIHNlbGVjdGlvbiBh
bmQgdGhpcyBoaWdobGlnaHQgYXJlIG9uCiAgICAgLy8gdGhlIHNhbWUgd29yZCB0aGVyZSBhcmUg
bm8gcGllY2VzIHN0aWNraW5nIG91dC4KQEAgLTEwMTYsOCArMTAxNyw4IEBAIHZvaWQgSW5saW5l
VGV4dEJveDo6cGFpbnRUZXh0TWF0Y2hNYXJrZXIKICAgICAgICAgICAgIHJlbmRlcmVyKCktPnRo
ZW1lKCktPnBsYXRmb3JtSW5hY3RpdmVUZXh0U2VhcmNoSGlnaGxpZ2h0Q29sb3IoKTsKICAgICAg
ICAgcHQtPnNhdmUoKTsKICAgICAgICAgdXBkYXRlR3JhcGhpY3NDb250ZXh0KHB0LCBjb2xvciwg
Y29sb3IsIDAsIHN0eWxlLT5jb2xvclNwYWNlKCkpOyAgLy8gRG9uJ3QgZHJhdyB0ZXh0IGF0IGFs
bCEKLSAgICAgICAgcHQtPmNsaXAoSW50UmVjdChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgp
IC0gZGVsdGFZLCBtX2xvZ2ljYWxXaWR0aCwgc2VsSGVpZ2h0KSk7Ci0gICAgICAgIHB0LT5kcmF3
SGlnaGxpZ2h0Rm9yVGV4dChmb250LCBydW4sIEludFBvaW50KGJveE9yaWdpbi54KCksIGJveE9y
aWdpbi55KCkgLSBkZWx0YVkpLCBzZWxIZWlnaHQsIGNvbG9yLCBzdHlsZS0+Y29sb3JTcGFjZSgp
LCBzUG9zLCBlUG9zKTsKKyAgICAgICAgcHQtPmNsaXAoRmxvYXRSZWN0KGJveE9yaWdpbi54KCks
IGJveE9yaWdpbi55KCkgLSBkZWx0YVksIG1fbG9naWNhbFdpZHRoLCBzZWxIZWlnaHQpKTsKKyAg
ICAgICAgcHQtPmRyYXdIaWdobGlnaHRGb3JUZXh0KGZvbnQsIHJ1biwgRmxvYXRQb2ludChib3hP
cmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZKSwgc2VsSGVpZ2h0LCBjb2xvciwgc3R5
bGUtPmNvbG9yU3BhY2UoKSwgc1BvcywgZVBvcyk7CiAgICAgICAgIHB0LT5yZXN0b3JlKCk7CiAg
ICAgfQogfQpAQCAtMTAzOSw3ICsxMDQwLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94Ojpjb21wdXRl
UmVjdEZvclJlcGxhYwogICAgIHJlbmRlcmVyKCktPmRvY3VtZW50KCktPm1hcmtlcnMoKS0+c2V0
UmVuZGVyZWRSZWN0Rm9yTWFya2VyKHJlbmRlcmVyKCktPm5vZGUoKSwgbWFya2VyLCBtYXJrZXJS
ZWN0KTsKIH0KICAgICAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREb2N1bWVudE1hcmtlcnMo
R3JhcGhpY3NDb250ZXh0KiBwdCwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5
bGUqIHN0eWxlLCBjb25zdCBGb250JiBmb250LCBib29sIGJhY2tncm91bmQpCit2b2lkIElubGlu
ZVRleHRCb3g6OnBhaW50RG9jdW1lbnRNYXJrZXJzKEdyYXBoaWNzQ29udGV4dCogcHQsIGNvbnN0
IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBGb250JiBm
b250LCBib29sIGJhY2tncm91bmQpCiB7CiAgICAgaWYgKCFyZW5kZXJlcigpLT5ub2RlKCkpCiAg
ICAgICAgIHJldHVybjsKQEAgLTEwOTksMTQgKzExMDAsMTMgQEAgdm9pZCBJbmxpbmVUZXh0Qm94
OjpwYWludERvY3VtZW50TWFya2VycwogICAgIH0KIH0KIAotCi12b2lkIElubGluZVRleHRCb3g6
OnBhaW50Q29tcG9zaXRpb25VbmRlcmxpbmUoR3JhcGhpY3NDb250ZXh0KiBjdHgsIGNvbnN0IElu
dFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5lJiB1bmRlcmxpbmUp
Cit2b2lkIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25VbmRlcmxpbmUoR3JhcGhpY3ND
b250ZXh0KiBjdHgsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgQ29tcG9zaXRp
b25VbmRlcmxpbmUmIHVuZGVybGluZSkKIHsKICAgICBpZiAobV90cnVuY2F0aW9uID09IGNGdWxs
VHJ1bmNhdGlvbikKICAgICAgICAgcmV0dXJuOwogICAgIAotICAgIGludCBzdGFydCA9IDA7ICAg
ICAgICAgICAgICAgICAvLyBzdGFydCBvZiBsaW5lIHRvIGRyYXcsIHJlbGF0aXZlIHRvIHR4Ci0g
ICAgaW50IHdpZHRoID0gbV9sb2dpY2FsV2lkdGg7ICAgICAgICAgICAvLyBob3cgbXVjaCBsaW5l
IHRvIGRyYXcKKyAgICBmbG9hdCBzdGFydCA9IDA7IC8vIHN0YXJ0IG9mIGxpbmUgdG8gZHJhdywg
cmVsYXRpdmUgdG8gdHgKKyAgICBmbG9hdCB3aWR0aCA9IG1fbG9naWNhbFdpZHRoOyAvLyBob3cg
bXVjaCBsaW5lIHRvIGRyYXcKICAgICBib29sIHVzZVdob2xlV2lkdGggPSB0cnVlOwogICAgIHVu
c2lnbmVkIHBhaW50U3RhcnQgPSBtX3N0YXJ0OwogICAgIHVuc2lnbmVkIHBhaW50RW5kID0gZW5k
KCkgKyAxOyAvLyBlbmQgcG9pbnRzIGF0IHRoZSBsYXN0IGNoYXIsIG5vdCBwYXN0IGl0CkBAIC0x
MTQyLDcgKzExNDIsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25VbmRl
CiAKICAgICBjdHgtPnNldFN0cm9rZUNvbG9yKHVuZGVybGluZS5jb2xvciwgcmVuZGVyZXIoKS0+
c3R5bGUoKS0+Y29sb3JTcGFjZSgpKTsKICAgICBjdHgtPnNldFN0cm9rZVRoaWNrbmVzcyhsaW5l
VGhpY2tuZXNzKTsKLSAgICBjdHgtPmRyYXdMaW5lRm9yVGV4dChJbnRQb2ludChib3hPcmlnaW4u
eCgpICsgc3RhcnQsIGJveE9yaWdpbi55KCkgKyBsb2dpY2FsSGVpZ2h0KCkgLSBsaW5lVGhpY2tu
ZXNzKSwgd2lkdGgsIHRleHRSZW5kZXJlcigpLT5kb2N1bWVudCgpLT5wcmludGluZygpKTsKKyAg
ICBjdHgtPmRyYXdMaW5lRm9yVGV4dChGbG9hdFBvaW50KGJveE9yaWdpbi54KCkgKyBzdGFydCwg
Ym94T3JpZ2luLnkoKSArIGxvZ2ljYWxIZWlnaHQoKSAtIGxpbmVUaGlja25lc3MpLCB3aWR0aCwg
dGV4dFJlbmRlcmVyKCktPmRvY3VtZW50KCktPnByaW50aW5nKCkpOwogfQogCiBpbnQgSW5saW5l
VGV4dEJveDo6Y2FyZXRNaW5PZmZzZXQoKSBjb25zdApAQCAtMTE2MCw3ICsxMTYwLDcgQEAgdW5z
aWduZWQgSW5saW5lVGV4dEJveDo6Y2FyZXRNYXhSZW5kZXJlZAogICAgIHJldHVybiBtX3N0YXJ0
ICsgbV9sZW47CiB9CiAKLWludCBJbmxpbmVUZXh0Qm94Ojp0ZXh0UG9zKCkgY29uc3QKK2Zsb2F0
IElubGluZVRleHRCb3g6OnRleHRQb3MoKSBjb25zdAogewogICAgIC8vIFdoZW4gY29tcHV0aW5n
IHRoZSB3aWR0aCBvZiBhIHRleHQgcnVuLCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVj
dGlvblBvc2l0aW9uc0ZvckxpbmUoKSBkb2Vzbid0IGluY2x1ZGUgdGhlIGFjdHVhbCBvZmZzZXQK
ICAgICAvLyBmcm9tIHRoZSBjb250YWluaW5nIGJsb2NrIGVkZ2UgaW4gaXRzIG1lYXN1cmVtZW50
LiB0ZXh0UG9zKCkgc2hvdWxkIGJlIGNvbnNpc3RlbnQgc28gdGhlIHRleHQgYXJlIHJlbmRlcmVk
IGluIHRoZSBzYW1lIHdpZHRoLgpAQCAtMTE2OSw3ICsxMTY5LDcgQEAgaW50IElubGluZVRleHRC
b3g6OnRleHRQb3MoKSBjb25zdAogICAgIHJldHVybiBsb2dpY2FsTGVmdCgpIC0gcm9vdCgpLT5s
b2dpY2FsTGVmdCgpOwogfQogCi1pbnQgSW5saW5lVGV4dEJveDo6b2Zmc2V0Rm9yUG9zaXRpb24o
aW50IGxpbmVPZmZzZXQsIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMpIGNvbnN0CitpbnQgSW5s
aW5lVGV4dEJveDo6b2Zmc2V0Rm9yUG9zaXRpb24oZmxvYXQgbGluZU9mZnNldCwgYm9vbCBpbmNs
dWRlUGFydGlhbEdseXBocykgY29uc3QKIHsKICAgICBpZiAoaXNMaW5lQnJlYWsoKSkKICAgICAg
ICAgcmV0dXJuIDA7CkBAIC0xMTk2LDcgKzExOTYsNyBAQCBpbnQgSW5saW5lVGV4dEJveDo6b2Zm
c2V0Rm9yUG9zaXRpb24oaW50CiAgICAgcmV0dXJuIG9mZnNldDsKIH0KIAotaW50IElubGluZVRl
eHRCb3g6OnBvc2l0aW9uRm9yT2Zmc2V0KGludCBvZmZzZXQpIGNvbnN0CitmbG9hdCBJbmxpbmVU
ZXh0Qm94Ojpwb3NpdGlvbkZvck9mZnNldChpbnQgb2Zmc2V0KSBjb25zdAogewogICAgIEFTU0VS
VChvZmZzZXQgPj0gbV9zdGFydCk7CiAgICAgQVNTRVJUKG9mZnNldCA8PSBtX3N0YXJ0ICsgbV9s
ZW4pOwpAQCAtMTIwOSw4ICsxMjA5LDggQEAgaW50IElubGluZVRleHRCb3g6OnBvc2l0aW9uRm9y
T2Zmc2V0KGludAogICAgIGludCBmcm9tID0gIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/IG9m
ZnNldCAtIG1fc3RhcnQgOiAwOwogICAgIGludCB0byA9ICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9u
KCkgPyBtX2xlbiA6IG9mZnNldCAtIG1fc3RhcnQ7CiAgICAgLy8gRklYTUU6IERvIHdlIG5lZWQg
dG8gYWRkIHJpZ2h0QmVhcmluZyBoZXJlPwotICAgIHJldHVybiBlbmNsb3NpbmdJbnRSZWN0KGYu
c2VsZWN0aW9uUmVjdEZvclRleHQoVGV4dFJ1bih0ZXh0LT50ZXh0KCktPmNoYXJhY3RlcnMoKSAr
IG1fc3RhcnQsIG1fbGVuLCB0ZXh0UmVuZGVyZXIoKS0+YWxsb3dUYWJzKCksIHRleHRQb3MoKSwg
bV9leHBhbnNpb24sIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IoKSwgIWlzTGVmdFRvUmlnaHRE
aXJlY3Rpb24oKSwgbV9kaXJPdmVycmlkZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBJbnRQb2ludChsb2dpY2FsTGVmdCgpLCAwKSwgMCwgZnJv
bSwgdG8pKS5tYXhYKCk7CisgICAgcmV0dXJuIGYuc2VsZWN0aW9uUmVjdEZvclRleHQoVGV4dFJ1
bih0ZXh0LT50ZXh0KCktPmNoYXJhY3RlcnMoKSArIG1fc3RhcnQsIG1fbGVuLCB0ZXh0UmVuZGVy
ZXIoKS0+YWxsb3dUYWJzKCksIHRleHRQb3MoKSwgbV9leHBhbnNpb24sIHRyYWlsaW5nRXhwYW5z
aW9uQmVoYXZpb3IoKSwgIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSwgbV9kaXJPdmVycmlkZSks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50UG9pbnQobG9naWNhbExlZnQo
KSwgMCksIDAsIGZyb20sIHRvKS5tYXhYKCk7CiB9CiAKIGJvb2wgSW5saW5lVGV4dEJveDo6Y29u
dGFpbnNDYXJldE9mZnNldChpbnQgb2Zmc2V0KSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0lubGluZVRleHRCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCShyZXZpc2lvbiA3ODYyMykKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNSwxMiAr
MTA1LDEyIEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJUcnVu
Y2F0aW9uKCkgeyBtX3RydW5jYXRpb24gPSBjTm9UcnVuY2F0aW9uOyB9Ci0gICAgdmlydHVhbCBp
bnQgcGxhY2VFbGxpcHNpc0JveChib29sIGZsb3dJc0xUUiwgaW50IHZpc2libGVMZWZ0RWRnZSwg
aW50IHZpc2libGVSaWdodEVkZ2UsIGludCBlbGxpcHNpc1dpZHRoLCBib29sJiBmb3VuZEJveCk7
CisgICAgdmlydHVhbCBmbG9hdCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgZmxvd0lzTFRSLCBmbG9h
dCB2aXNpYmxlTGVmdEVkZ2UsIGZsb2F0IHZpc2libGVSaWdodEVkZ2UsIGZsb2F0IGVsbGlwc2lz
V2lkdGgsIGJvb2wmIGZvdW5kQm94KTsKIAogcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0xp
bmVCcmVhaygpIGNvbnN0OwogCi0gICAgdm9pZCBzZXRFeHBhbnNpb24oaW50IGV4cGFuc2lvbikg
eyBtX2xvZ2ljYWxXaWR0aCAtPSBtX2V4cGFuc2lvbjsgbV9leHBhbnNpb24gPSBleHBhbnNpb247
IG1fbG9naWNhbFdpZHRoICs9IG1fZXhwYW5zaW9uOyB9CisgICAgdm9pZCBzZXRFeHBhbnNpb24o
ZmxvYXQgZXhwYW5zaW9uKSB7IG1fbG9naWNhbFdpZHRoIC09IG1fZXhwYW5zaW9uOyBtX2V4cGFu
c2lvbiA9IGV4cGFuc2lvbjsgbV9sb2dpY2FsV2lkdGggKz0gbV9leHBhbnNpb247IH0KIAogcHJp
dmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNJbmxpbmVUZXh0Qm94KCkgY29uc3QgeyByZXR1cm4g
dHJ1ZTsgfSAgICAKQEAgLTEyMiwxMSArMTIyLDExIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAg
dmlydHVhbCB1bnNpZ25lZCBjYXJldE1heFJlbmRlcmVkT2Zmc2V0KCkgY29uc3Q7CiAKLSAgICBp
bnQgdGV4dFBvcygpIGNvbnN0OyAvLyByZXR1cm5zIHRoZSB4IHBvc2l0aW9uIHJlbGF0aXZlIHRv
IHRoZSBsZWZ0IHN0YXJ0IG9mIHRoZSB0ZXh0IGxpbmUuCisgICAgZmxvYXQgdGV4dFBvcygpIGNv
bnN0OyAvLyByZXR1cm5zIHRoZSB4IHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBsZWZ0IHN0YXJ0
IG9mIHRoZSB0ZXh0IGxpbmUuCiAKIHB1YmxpYzoKLSAgICB2aXJ0dWFsIGludCBvZmZzZXRGb3JQ
b3NpdGlvbihpbnQgeCwgYm9vbCBpbmNsdWRlUGFydGlhbEdseXBocyA9IHRydWUpIGNvbnN0Owot
ICAgIHZpcnR1YWwgaW50IHBvc2l0aW9uRm9yT2Zmc2V0KGludCBvZmZzZXQpIGNvbnN0OworICAg
IHZpcnR1YWwgaW50IG9mZnNldEZvclBvc2l0aW9uKGZsb2F0IHgsIGJvb2wgaW5jbHVkZVBhcnRp
YWxHbHlwaHMgPSB0cnVlKSBjb25zdDsKKyAgICB2aXJ0dWFsIGZsb2F0IHBvc2l0aW9uRm9yT2Zm
c2V0KGludCBvZmZzZXQpIGNvbnN0OwogCiAgICAgYm9vbCBjb250YWluc0NhcmV0T2Zmc2V0KGlu
dCBvZmZzZXQpIGNvbnN0OyAvLyBmYWxzZSBmb3Igb2Zmc2V0IGFmdGVyIGxpbmUgYnJlYWsKIApA
QCAtMTQ0LDE4ICsxNDQsMTggQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgICAvLyBk
ZW5vdGUgbm8gdHJ1bmNhdGlvbiAodGhlIHdob2xlIHJ1biBwYWludHMpIGFuZCBmdWxsIHRydW5j
YXRpb24gKG5vdGhpbmcgcGFpbnRzIGF0IGFsbCkuCiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIHBh
aW50Q29tcG9zaXRpb25CYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50
JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYsIGludCBzdGFydFBvcywgaW50
IGVuZFBvcyk7Ci0gICAgdm9pZCBwYWludERvY3VtZW50TWFya2VycyhHcmFwaGljc0NvbnRleHQq
LCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmLCBi
b29sIGJhY2tncm91bmQpOwotICAgIHZvaWQgcGFpbnRDb21wb3NpdGlvblVuZGVybGluZShHcmFw
aGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBDb21wb3NpdGlv
blVuZGVybGluZSYpOworICAgIHZvaWQgcGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNv
bnN0IEZvbnQmLCBpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpOworICAgIHZvaWQgcGFpbnREb2N1
bWVudE1hcmtlcnMoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2lu
LCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmLCBib29sIGJhY2tncm91bmQpOworICAgIHZvaWQg
cGFpbnRDb21wb3NpdGlvblVuZGVybGluZShHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBv
aW50JiBib3hPcmlnaW4sIGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5lJik7CiAjaWYgUExBVEZP
Uk0oTUFDKQogICAgIHZvaWQgcGFpbnRDdXN0b21IaWdobGlnaHQoaW50IHR4LCBpbnQgdHksIGNv
bnN0IEF0b21pY1N0cmluZyYgdHlwZSk7CiAjZW5kaWYKIAogcHJpdmF0ZToKLSAgICB2b2lkIHBh
aW50RGVjb3JhdGlvbihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRQb2ludCYgYm94T3JpZ2lu
LCBpbnQgZGVjb3JhdGlvbiwgY29uc3QgU2hhZG93RGF0YSopOwotICAgIHZvaWQgcGFpbnRTZWxl
Y3Rpb24oR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVy
U3R5bGUqLCBjb25zdCBGb250Jik7Ci0gICAgdm9pZCBwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFy
a2VyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERv
Y3VtZW50TWFya2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250JiwgYm9vbCBncmFtbWFyKTsK
LSAgICB2b2lkIHBhaW50VGV4dE1hdGNoTWFya2VyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IElu
dFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IERvY3VtZW50TWFya2VyJiwgUmVuZGVyU3R5bGUqLCBj
b25zdCBGb250Jik7CisgICAgdm9pZCBwYWludERlY29yYXRpb24oR3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBpbnQgZGVjb3JhdGlvbiwgY29uc3QgU2hhZG93
RGF0YSopOworICAgIHZvaWQgcGFpbnRTZWxlY3Rpb24oR3JhcGhpY3NDb250ZXh0KiwgY29uc3Qg
RmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZvbnQmKTsKKyAgICB2
b2lkIHBhaW50U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIoR3JhcGhpY3NDb250ZXh0KiwgY29uc3Qg
RmxvYXRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBEb2N1bWVudE1hcmtlciYsIFJlbmRlclN0eWxl
KiwgY29uc3QgRm9udCYsIGJvb2wgZ3JhbW1hcik7CisgICAgdm9pZCBwYWludFRleHRNYXRjaE1h
cmtlcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0
IERvY3VtZW50TWFya2VyJiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jik7CiAgICAgdm9pZCBj
b21wdXRlUmVjdEZvclJlcGxhY2VtZW50TWFya2VyKGNvbnN0IERvY3VtZW50TWFya2VyJiwgUmVu
ZGVyU3R5bGUqLCBjb25zdCBGb250Jik7CiAKICAgICBUZXh0UnVuOjpUcmFpbGluZ0V4cGFuc2lv
bkJlaGF2aW9yIHRyYWlsaW5nRXhwYW5zaW9uQmVoYXZpb3IoKSBjb25zdCB7IHJldHVybiBtX2V4
cGFuc2lvbiAmJiBuZXh0TGVhZkNoaWxkKCkgPyBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5z
aW9uIDogVGV4dFJ1bjo6Rm9yYmlkVHJhaWxpbmdFeHBhbnNpb247IH0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCUi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCUi5oCShyZXZpc2lvbiA3ODYyMykKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCUi5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw4ICs0MCw4IEBAIHB1
YmxpYzoKICAKICAgICB2aXJ0dWFsIEludFJlY3Qgc2VsZWN0aW9uUmVjdEZvclJlcGFpbnQoUmVu
ZGVyQm94TW9kZWxPYmplY3QqIC8qcmVwYWludENvbnRhaW5lciovLCBib29sIC8qY2xpcFRvVmlz
aWJsZUNvbnRlbnQqLykgeyByZXR1cm4gSW50UmVjdCgpOyB9CiAKLSAgICB2aXJ0dWFsIHVuc2ln
bmVkIHdpZHRoKHVuc2lnbmVkIC8qZnJvbSovLCB1bnNpZ25lZCAvKmxlbiovLCBjb25zdCBGb250
JiwgaW50IC8qeFBvcyovLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qID0gMCAvKmZh
bGxiYWNrRm9udHMqLyAsIEdseXBoT3ZlcmZsb3cqID0gMCkgY29uc3QgeyByZXR1cm4gMDsgfQot
ICAgIHZpcnR1YWwgdW5zaWduZWQgd2lkdGgodW5zaWduZWQgLypmcm9tKi8sIHVuc2lnbmVkIC8q
bGVuKi8sIGludCAvKnhwb3MqLywgYm9vbCA9IGZhbHNlIC8qZmlyc3RMaW5lKi8sIEhhc2hTZXQ8
Y29uc3QgU2ltcGxlRm9udERhdGEqPiogPSAwIC8qZmFsbGJhY2tGb250cyovLCBHbHlwaE92ZXJm
bG93KiA9IDApIGNvbnN0IHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFsIGZsb2F0IHdpZHRoKHVu
c2lnbmVkIC8qZnJvbSovLCB1bnNpZ25lZCAvKmxlbiovLCBjb25zdCBGb250JiwgZmxvYXQgLyp4
UG9zKi8sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogPSAwIC8qZmFsbGJhY2tGb250
cyovICwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdCB7IHJldHVybiAwOyB9CisgICAgdmlydHVh
bCBmbG9hdCB3aWR0aCh1bnNpZ25lZCAvKmZyb20qLywgdW5zaWduZWQgLypsZW4qLywgZmxvYXQg
Lyp4cG9zKi8sIGJvb2wgPSBmYWxzZSAvKmZpcnN0TGluZSovLCBIYXNoU2V0PGNvbnN0IFNpbXBs
ZUZvbnREYXRhKj4qID0gMCAvKmZhbGxiYWNrRm9udHMqLywgR2x5cGhPdmVyZmxvdyogPSAwKSBj
b25zdCB7IHJldHVybiAwOyB9CiAKICAgICBpbnQgbGluZUhlaWdodChib29sIGZpcnN0TGluZSkg
Y29uc3Q7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAko
cmV2aXNpb24gNzg2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NjE2LDcgKzQ2MTYsNyBAQCBzdGF0aWMgaW50IGdldEJv
cmRlclBhZGRpbmdNYXJnaW4oY29uc3QgCiAgICAgICAgICAgICAgICBjaGlsZC0+Ym9yZGVyU3Rh
cnQoKTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHN0cmlwVHJhaWxpbmdTcGFjZShpbnQmIGlu
bGluZU1heCwgaW50JiBpbmxpbmVNaW4sCitzdGF0aWMgaW5saW5lIHZvaWQgc3RyaXBUcmFpbGlu
Z1NwYWNlKGZsb2F0JiBpbmxpbmVNYXgsIGZsb2F0JiBpbmxpbmVNaW4sCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFJlbmRlck9iamVjdCogdHJhaWxpbmdTcGFjZUNoaWxk
KQogewogICAgIGlmICh0cmFpbGluZ1NwYWNlQ2hpbGQgJiYgdHJhaWxpbmdTcGFjZUNoaWxkLT5p
c1RleHQoKSkgewpAQCAtNDYyNCwxNyArNDYyNCwyMyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc3Ry
aXBUcmFpbGluZ1NwYWNlKGluCiAgICAgICAgIFJlbmRlclRleHQqIHQgPSB0b1JlbmRlclRleHQo
dHJhaWxpbmdTcGFjZUNoaWxkKTsKICAgICAgICAgY29uc3QgVUNoYXIgc3BhY2UgPSAnICc7CiAg
ICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSB0LT5zdHlsZSgpLT5mb250KCk7IC8vIEZJWE1FOiBU
aGlzIGlnbm9yZXMgZmlyc3QtbGluZS4KLSAgICAgICAgaW50IHNwYWNlV2lkdGggPSBmb250Lndp
ZHRoKFRleHRSdW4oJnNwYWNlLCAxKSk7CisgICAgICAgIGZsb2F0IHNwYWNlV2lkdGggPSBmb250
LndpZHRoKFRleHRSdW4oJnNwYWNlLCAxKSk7CiAgICAgICAgIGlubGluZU1heCAtPSBzcGFjZVdp
ZHRoICsgZm9udC53b3JkU3BhY2luZygpOwogICAgICAgICBpZiAoaW5saW5lTWluID4gaW5saW5l
TWF4KQogICAgICAgICAgICAgaW5saW5lTWluID0gaW5saW5lTWF4OwogICAgIH0KIH0KIAorc3Rh
dGljIGlubGluZSB2b2lkIHVwZGF0ZVByZWZlcnJlZFdpZHRoKGludCYgcHJlZmVycmVkV2lkdGgs
IGZsb2F0JiByZXN1bHQpCit7CisgICAgaW50IHNuYXBwZWRSZXN1bHQgPSBjZWlsZihyZXN1bHQp
OworICAgIHByZWZlcnJlZFdpZHRoID0gbWF4KHNuYXBwZWRSZXN1bHQsIHByZWZlcnJlZFdpZHRo
KTsKK30KKwogdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2ljYWxX
aWR0aHMoKQogewotICAgIGludCBpbmxpbmVNYXggPSAwOwotICAgIGludCBpbmxpbmVNaW4gPSAw
OworICAgIGZsb2F0IGlubGluZU1heCA9IDA7CisgICAgZmxvYXQgaW5saW5lTWluID0gMDsKIAog
ICAgIGludCBjdyA9IGNvbnRhaW5pbmdCbG9jaygpLT5jb250ZW50TG9naWNhbFdpZHRoKCk7CiAK
QEAgLTQ2OTUsMTUgKzQ3MDEsMTUgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVBy
ZWZlcnJlZAogICAgICAgICAgICAgLy8gdGhlIHdpZHRoIG9mIHRoZSBsYXN0IG5vbi1icmVha2Fi
bGUgcnVuIGFuZCB1c2UgdGhhdCB0byBzdGFydCBhIG5ldyBsaW5lCiAgICAgICAgICAgICAvLyAo
dW5sZXNzIHdlIGVuZCBpbiB3aGl0ZXNwYWNlKS4KICAgICAgICAgICAgIFJlbmRlclN0eWxlKiBj
c3R5bGUgPSBjaGlsZC0+c3R5bGUoKTsKLSAgICAgICAgICAgIGludCBjaGlsZE1pbiA9IDA7Ci0g
ICAgICAgICAgICBpbnQgY2hpbGRNYXggPSAwOworICAgICAgICAgICAgZmxvYXQgY2hpbGRNaW4g
PSAwOworICAgICAgICAgICAgZmxvYXQgY2hpbGRNYXggPSAwOwogCiAgICAgICAgICAgICBpZiAo
IWNoaWxkLT5pc1RleHQoKSkgewogICAgICAgICAgICAgICAgIC8vIENhc2UgKDEpIGFuZCAoMiku
ICBJbmxpbmUgcmVwbGFjZWQgYW5kIGlubGluZSBmbG93IGVsZW1lbnRzLgogICAgICAgICAgICAg
ICAgIGlmIChjaGlsZC0+aXNSZW5kZXJJbmxpbmUoKSkgewogICAgICAgICAgICAgICAgICAgICAv
LyBBZGQgaW4gcGFkZGluZy9ib3JkZXIvbWFyZ2luIGZyb20gdGhlIGFwcHJvcHJpYXRlIHNpZGUg
b2YKICAgICAgICAgICAgICAgICAgICAgLy8gdGhlIGVsZW1lbnQuCi0gICAgICAgICAgICAgICAg
ICAgIGludCBicG0gPSBnZXRCb3JkZXJQYWRkaW5nTWFyZ2luKHRvUmVuZGVySW5saW5lKGNoaWxk
KSwgY2hpbGRJdGVyYXRvci5lbmRPZklubGluZSk7CisgICAgICAgICAgICAgICAgICAgIGZsb2F0
IGJwbSA9IGdldEJvcmRlclBhZGRpbmdNYXJnaW4odG9SZW5kZXJJbmxpbmUoY2hpbGQpLCBjaGls
ZEl0ZXJhdG9yLmVuZE9mSW5saW5lKTsKICAgICAgICAgICAgICAgICAgICAgY2hpbGRNaW4gKz0g
YnBtOwogICAgICAgICAgICAgICAgICAgICBjaGlsZE1heCArPSBicG07CiAKQEAgLTQ3MTMsNyAr
NDcxOSw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICAg
ICAgICAgICAgICAgICAgY2hpbGQtPnNldFByZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0eShmYWxz
ZSk7CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgLy8gSW5s
aW5lIHJlcGxhY2VkIGVsdHMgYWRkIGluIHRoZWlyIG1hcmdpbnMgdG8gdGhlaXIgbWluL21heCB2
YWx1ZXMuCi0gICAgICAgICAgICAgICAgICAgIGludCBtYXJnaW5zID0gMDsKKyAgICAgICAgICAg
ICAgICAgICAgZmxvYXQgbWFyZ2lucyA9IDA7CiAgICAgICAgICAgICAgICAgICAgIExlbmd0aCBz
dGFydE1hcmdpbiA9IGNzdHlsZS0+bWFyZ2luU3RhcnQoKTsKICAgICAgICAgICAgICAgICAgICAg
TGVuZ3RoIGVuZE1hcmdpbiA9IGNzdHlsZS0+bWFyZ2luRW5kKCk7CiAgICAgICAgICAgICAgICAg
ICAgIGlmIChzdGFydE1hcmdpbi5pc0ZpeGVkKCkpCkBAIC00NzQzLDEzICs0NzQ5LDEzIEBAIHZv
aWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKIAogICAgICAgICAgICAgICAg
IGJvb2wgY2FuQnJlYWtSZXBsYWNlZEVsZW1lbnQgPSAhY2hpbGQtPmlzSW1hZ2UoKSB8fCBhbGxv
d0ltYWdlc1RvQnJlYWs7CiAgICAgICAgICAgICAgICAgaWYgKChjYW5CcmVha1JlcGxhY2VkRWxl
bWVudCAmJiAoYXV0b1dyYXAgfHwgb2xkQXV0b1dyYXApKSB8fCBjbGVhclByZXZpb3VzRmxvYXQp
IHsKLSAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgo
aW5saW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAg
ICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxp
bmVNaW4pOwogICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4gPSAwOwogICAgICAgICAgICAg
ICAgIH0KIAogICAgICAgICAgICAgICAgIC8vIElmIHdlJ3JlIHN1cHBvc2VkIHRvIGNsZWFyIHRo
ZSBwcmV2aW91cyBmbG9hdCwgdGhlbiB0ZXJtaW5hdGUgbWF4d2lkdGggYXMgd2VsbC4KICAgICAg
ICAgICAgICAgICBpZiAoY2xlYXJQcmV2aW91c0Zsb2F0KSB7Ci0gICAgICAgICAgICAgICAgICAg
IG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1heCwgbV9tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0
aChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWF4KTsKICAgICAgICAgICAgICAg
ICAgICAgaW5saW5lTWF4ID0gMDsKICAgICAgICAgICAgICAgICB9CiAKQEAgLTQ3NjcsMTIgKzQ3
NzMsMTIgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogCiAgICAg
ICAgICAgICAgICAgaWYgKCFhdXRvV3JhcCB8fCAhY2FuQnJlYWtSZXBsYWNlZEVsZW1lbnQpIHsK
ICAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkLT5pc0Zsb2F0aW5nKCkpCi0gICAgICAgICAg
ICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChjaGlsZE1pbiwg
bV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICAgICAgdXBk
YXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIGNoaWxkTWluKTsK
ICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5l
TWluICs9IGNoaWxkTWluOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAg
ICAgICAgIC8vIE5vdyBjaGVjayBvdXIgbGluZS4KLSAgICAgICAgICAgICAgICAgICAgbV9taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoY2hpbGRNaW4sIG1fbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoKTsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGgsIGNoaWxkTWluKTsKIAogICAgICAgICAgICAgICAgICAgICAv
LyBOb3cgc3RhcnQgYSBuZXcgbGluZS4KICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWluID0g
MDsKQEAgLTQ3ODksNyArNDc5NSw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQ
cmVmZXJyZWQKICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0KiB0ID0gdG9SZW5kZXJUZXh0KGNo
aWxkKTsKIAogICAgICAgICAgICAgICAgIGlmICh0LT5pc1dvcmRCcmVhaygpKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1pbiwg
bV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgICAgICB1cGRhdGVQ
cmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKICAg
ICAgICAgICAgICAgICAgICAgaW5saW5lTWluID0gMDsKICAgICAgICAgICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgICAgICAgICAgfQpAQCAtNDgwMyw5ICs0ODA5LDkgQEAgdm9pZCBSZW5k
ZXJCbG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZAogICAgICAgICAgICAgICAgIC8vIHRoZW4g
dGhleSBzaG91bGRuJ3QgYmUgY29uc2lkZXJlZCBpbiB0aGUgYnJlYWthYmxlIGNoYXIKICAgICAg
ICAgICAgICAgICAvLyBjaGVjay4KICAgICAgICAgICAgICAgICBib29sIGhhc0JyZWFrYWJsZUNo
YXIsIGhhc0JyZWFrOwotICAgICAgICAgICAgICAgIGludCBiZWdpbk1pbiwgZW5kTWluOworICAg
ICAgICAgICAgICAgIGZsb2F0IGJlZ2luTWluLCBlbmRNaW47CiAgICAgICAgICAgICAgICAgYm9v
bCBiZWdpbldTLCBlbmRXUzsKLSAgICAgICAgICAgICAgICBpbnQgYmVnaW5NYXgsIGVuZE1heDsK
KyAgICAgICAgICAgICAgICBmbG9hdCBiZWdpbk1heCwgZW5kTWF4OwogICAgICAgICAgICAgICAg
IHQtPnRyaW1tZWRQcmVmV2lkdGhzKGlubGluZU1heCwgYmVnaW5NaW4sIGJlZ2luV1MsIGVuZE1p
biwgZW5kV1MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzQnJlYWth
YmxlQ2hhciwgaGFzQnJlYWssIGJlZ2luTWF4LCBlbmRNYXgsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2hpbGRNaW4sIGNoaWxkTWF4LCBzdHJpcEZyb250U3BhY2VzKTsK
QEAgLTQ4MTMsNyArNDgxOSw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVm
ZXJyZWQKICAgICAgICAgICAgICAgICAvLyBUaGlzIHRleHQgb2JqZWN0IHdpbGwgbm90IGJlIHJl
bmRlcmVkLCBidXQgaXQgbWF5IHN0aWxsIHByb3ZpZGUgYSBicmVha2luZyBvcHBvcnR1bml0eS4K
ICAgICAgICAgICAgICAgICBpZiAoIWhhc0JyZWFrICYmIGNoaWxkTWF4ID09IDApIHsKICAgICAg
ICAgICAgICAgICAgICAgaWYgKGF1dG9XcmFwICYmIChiZWdpbldTIHx8IGVuZFdTKSkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5s
aW5lTWluLCBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAg
ICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5s
aW5lTWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiA9IDA7CiAgICAgICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CkBAIC00ODQzLDEw
ICs0ODQ5LDEwIEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAg
ICAgICAgICAgICAgICAgICAgLy8gd2Ugc3RhcnQgYW5kIGVuZCB3aXRoIHdoaXRlc3BhY2UuCiAg
ICAgICAgICAgICAgICAgICAgIGlmIChiZWdpbldTKQogICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gR28gYWhlYWQgYW5kIGVuZCB0aGUgY3VycmVudCBsaW5lLgotICAgICAgICAgICAgICAgICAg
ICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVm
ZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKICAgICAg
ICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVNaW4g
Kz0gYmVnaW5NaW47Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2lj
YWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRN
aW4gLT0gdGk7CiAgICAgICAgICAgICAgICAgICAgIH0KIApAQCAtNDg1NSwxOCArNDg2MSwxOCBA
QCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAgICAgICAgICAg
ICAgICAgIGlmIChlbmRXUykgewogICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgZW5kIGlu
IHdoaXRlc3BhY2UsIHdoaWNoIG1lYW5zIHdlIGNhbiBnbyBhaGVhZAogICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gYW5kIGVuZCBvdXIgY3VycmVudCBsaW5lLgotICAgICAgICAgICAgICAgICAg
ICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtYXgoaW5saW5lTWluLCBtX21pblBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVm
ZXJyZWRXaWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKICAgICAg
ICAgICAgICAgICAgICAgICAgIGlubGluZU1pbiA9IDA7CiAgICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHVwZGF0ZVByZWZlcnJlZFdpZHRoKG1fbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoLCBpbmxpbmVNaW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lTWluID0g
ZW5kTWluOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogCiAgICAg
ICAgICAgICAgICAgaWYgKGhhc0JyZWFrKSB7CiAgICAgICAgICAgICAgICAgICAgIGlubGluZU1h
eCArPSBiZWdpbk1heDsKLSAgICAgICAgICAgICAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGggPSBtYXgoaW5saW5lTWF4LCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Ci0gICAg
ICAgICAgICAgICAgICAgIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGNoaWxkTWF4
LCBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgICAgIHVwZGF0
ZVByZWZlcnJlZFdpZHRoKG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBpbmxpbmVNYXgpOwor
ICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRXaWR0aChtX21heFByZWZlcnJlZExv
Z2ljYWxXaWR0aCwgY2hpbGRNYXgpOwogICAgICAgICAgICAgICAgICAgICBpbmxpbmVNYXggPSBl
bmRNYXg7CiAgICAgICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGlubGlu
ZU1heCArPSBjaGlsZE1heDsKQEAgLTQ4NzYsOCArNDg4Miw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6
OmNvbXB1dGVJbmxpbmVQcmVmZXJyZWQKICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNMaXN0TWFy
a2VyKCkpCiAgICAgICAgICAgICAgICAgc3RyaXBGcm9udFNwYWNlcyA9IHRydWU7CiAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChp
bmxpbmVNaW4sIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsKLSAgICAgICAgICAgIG1fbWF4
UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbWF4KGlubGluZU1heCwgbV9tYXhQcmVmZXJyZWRMb2dp
Y2FsV2lkdGgpOworICAgICAgICAgICAgdXBkYXRlUHJlZmVycmVkV2lkdGgobV9taW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGgsIGlubGluZU1pbik7CisgICAgICAgICAgICB1cGRhdGVQcmVmZXJyZWRX
aWR0aChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWF4KTsKICAgICAgICAgICAg
IGlubGluZU1pbiA9IGlubGluZU1heCA9IDA7CiAgICAgICAgICAgICBzdHJpcEZyb250U3BhY2Vz
ID0gdHJ1ZTsKICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VDaGlsZCA9IDA7CkBAIC00ODg5LDgg
KzQ4OTUsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkCiAgICAg
aWYgKHN0eWxlKCktPmNvbGxhcHNlV2hpdGVTcGFjZSgpKQogICAgICAgICBzdHJpcFRyYWlsaW5n
U3BhY2UoaW5saW5lTWF4LCBpbmxpbmVNaW4sIHRyYWlsaW5nU3BhY2VDaGlsZCk7CiAKLSAgICBt
X21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxpbmVNaW4sIG1fbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoKTsKLSAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1heChpbmxp
bmVNYXgsIG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICB1cGRhdGVQcmVmZXJyZWRX
aWR0aChtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWluKTsKKyAgICB1cGRhdGVQ
cmVmZXJyZWRXaWR0aChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgaW5saW5lTWF4KTsKIH0K
IAogLy8gVXNlIGEgdmVyeSBsYXJnZSB2YWx1ZSAoaW4gZWZmZWN0IGluZmluaXRlKS4KQEAgLTU0
NTYsOSArNTQ2Miw5IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmFkanVzdEZvckJvcmRlckZpdChpbnQK
ICAgICAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpIHsKICAgICAgICAgICAgIGZvciAoUm9vdElu
bGluZUJveCogYm94ID0gZmlyc3RSb290Qm94KCk7IGJveDsgYm94ID0gYm94LT5uZXh0Um9vdEJv
eCgpKSB7CiAgICAgICAgICAgICAgICAgaWYgKGJveC0+Zmlyc3RDaGlsZCgpKQotICAgICAgICAg
ICAgICAgICAgICBsZWZ0ID0gbWluKGxlZnQsIHggKyBib3gtPmZpcnN0Q2hpbGQoKS0+eCgpKTsK
KyAgICAgICAgICAgICAgICAgICAgbGVmdCA9IG1pbihsZWZ0LCB4ICsgc3RhdGljX2Nhc3Q8aW50
Pihib3gtPmZpcnN0Q2hpbGQoKS0+eCgpKSk7CiAgICAgICAgICAgICAgICAgaWYgKGJveC0+bGFz
dENoaWxkKCkpCi0gICAgICAgICAgICAgICAgICAgIHJpZ2h0ID0gbWF4KHJpZ2h0LCB4ICsgYm94
LT5sYXN0Q2hpbGQoKS0+eCgpICsgYm94LT5sYXN0Q2hpbGQoKS0+bG9naWNhbFdpZHRoKCkpOwor
ICAgICAgICAgICAgICAgICAgICByaWdodCA9IG1heChyaWdodCwgeCArIHN0YXRpY19jYXN0PGlu
dD4oY2VpbGYoYm94LT5sYXN0Q2hpbGQoKS0+bG9naWNhbFJpZ2h0KCkpKSk7CiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CkBAIC01NzU4LDggKzU3NjQsOCBAQCB2b2lk
IFJlbmRlckJsb2NrOjphZGRGb2N1c1JpbmdSZWN0cyhWZWN0CiAKICAgICBpZiAoIWhhc092ZXJm
bG93Q2xpcCgpICYmICFoYXNDb250cm9sQ2xpcCgpKSB7CiAgICAgICAgIGZvciAoUm9vdElubGlu
ZUJveCogY3VyciA9IGZpcnN0Um9vdEJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dFJvb3RC
b3goKSkgewotICAgICAgICAgICAgaW50IHRvcCA9IG1heChjdXJyLT5saW5lVG9wKCksIGN1cnIt
PnkoKSk7Ci0gICAgICAgICAgICBpbnQgYm90dG9tID0gbWluKGN1cnItPmxpbmVCb3R0b20oKSwg
Y3Vyci0+eSgpICsgY3Vyci0+bG9naWNhbEhlaWdodCgpKTsKKyAgICAgICAgICAgIGludCB0b3Ag
PSBtYXgoY3Vyci0+bGluZVRvcCgpLCBjdXJyLT5sb2dpY2FsVG9wKCkpOworICAgICAgICAgICAg
aW50IGJvdHRvbSA9IG1pbihjdXJyLT5saW5lQm90dG9tKCksIGN1cnItPmxvZ2ljYWxUb3AoKSAr
IGN1cnItPmxvZ2ljYWxIZWlnaHQoKSk7CiAgICAgICAgICAgICBJbnRSZWN0IHJlY3QodHggKyBj
dXJyLT54KCksIHR5ICsgdG9wLCBjdXJyLT5sb2dpY2FsV2lkdGgoKSwgYm90dG9tIC0gdG9wKTsK
ICAgICAgICAgICAgIGlmICghcmVjdC5pc0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgcmVjdHMu
YXBwZW5kKHJlY3QpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgJ
KHJldmlzaW9uIDc4NjIzKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4NSw3ICs0ODUsNyBAQCBwcml2YXRlOgogCiAgICAgdm9p
ZCBza2lwVHJhaWxpbmdXaGl0ZXNwYWNlKElubGluZUl0ZXJhdG9yJiwgYm9vbCBpc0xpbmVFbXB0
eSwgYm9vbCBwcmV2aW91c0xpbmVCcm9rZUNsZWFubHkpOwogICAgIGludCBza2lwTGVhZGluZ1do
aXRlc3BhY2UoSW5saW5lQmlkaVJlc29sdmVyJiwgYm9vbCBmaXJzdExpbmUsIGJvb2wgaXNMaW5l
RW1wdHksIGJvb2wgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBGbG9hdGluZ09iamVjdCogbGFz
dEZsb2F0RnJvbVByZXZpb3VzTGluZSk7Ci0gICAgdm9pZCBmaXRCZWxvd0Zsb2F0cyhpbnQgd2lk
dGhUb0ZpdCwgYm9vbCBmaXJzdExpbmUsIGludCYgYXZhaWxhYmxlV2lkdGgpOworICAgIHZvaWQg
Zml0QmVsb3dGbG9hdHMoZmxvYXQgd2lkdGhUb0ZpdCwgYm9vbCBmaXJzdExpbmUsIGZsb2F0JiBh
dmFpbGFibGVXaWR0aCk7CiAgICAgSW5saW5lSXRlcmF0b3IgZmluZE5leHRMaW5lQnJlYWsoSW5s
aW5lQmlkaVJlc29sdmVyJiwgYm9vbCBmaXJzdExpbmUsIGJvb2wmIGlzTGluZUVtcHR5LCBib29s
JiBwcmV2aW91c0xpbmVCcm9rZUNsZWFubHksIGJvb2wmIGh5cGhlbmF0ZWQsIEVDbGVhciosIEZs
b2F0aW5nT2JqZWN0KiBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lKTsKICAgICBSb290SW5saW5l
Qm94KiBjb25zdHJ1Y3RMaW5lKHVuc2lnbmVkIHJ1bkNvdW50LCBCaWRpUnVuKiBmaXJzdFJ1biwg
QmlkaVJ1biogbGFzdFJ1biwgYm9vbCBmaXJzdExpbmUsIGJvb2wgbGFzdExpbmUsIFJlbmRlck9i
amVjdCogZW5kT2JqZWN0KTsKICAgICBJbmxpbmVGbG93Qm94KiBjcmVhdGVMaW5lQm94ZXMoUmVu
ZGVyT2JqZWN0KiwgYm9vbCBmaXJzdExpbmUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAJKHJldmlzaW9uIDc4NjIzKQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMxOCw4ICszMTgsOCBAQCBSb290SW5saW5lQm94KiBSZW5kZXJCbG9j
azo6Y29uc3RydWN0TGluCiB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9u
UG9zaXRpb25zRm9yTGluZShSb290SW5saW5lQm94KiBsaW5lQm94LCBib29sIGZpcnN0TGluZSwg
QmlkaVJ1biogZmlyc3RSdW4sIEJpZGlSdW4qIHRyYWlsaW5nU3BhY2VSdW4sIGJvb2wgcmVhY2hl
ZEVuZCwgR2x5cGhPdmVyZmxvd0FuZEZhbGxiYWNrRm9udHNNYXAmIHRleHRCb3hEYXRhTWFwKQog
ewogICAgIC8vIEZpcnN0IGRldGVybWluZSBvdXIgdG90YWwgbG9naWNhbCB3aWR0aC4KLSAgICBp
bnQgYXZhaWxhYmxlTG9naWNhbFdpZHRoID0gYXZhaWxhYmxlTG9naWNhbFdpZHRoRm9yTGluZShs
b2dpY2FsSGVpZ2h0KCksIGZpcnN0TGluZSk7Ci0gICAgaW50IHRvdGFsTG9naWNhbFdpZHRoID0g
bGluZUJveC0+Z2V0Rmxvd1NwYWNpbmdMb2dpY2FsV2lkdGgoKTsKKyAgICBmbG9hdCBhdmFpbGFi
bGVMb2dpY2FsV2lkdGggPSBhdmFpbGFibGVMb2dpY2FsV2lkdGhGb3JMaW5lKGxvZ2ljYWxIZWln
aHQoKSwgZmlyc3RMaW5lKTsKKyAgICBmbG9hdCB0b3RhbExvZ2ljYWxXaWR0aCA9IGxpbmVCb3gt
PmdldEZsb3dTcGFjaW5nTG9naWNhbFdpZHRoKCk7CiAgICAgYm9vbCBuZWVkc1dvcmRTcGFjaW5n
ID0gZmFsc2U7CiAgICAgdW5zaWduZWQgZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudCA9IDA7CiAg
ICAgYm9vbCBpc0FmdGVyRXhwYW5zaW9uID0gdHJ1ZTsKQEAgLTM4Niw3ICszODYsNyBAQCB2b2lk
IFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uCiAgICAgLy8gd2Ugbm93IGV4YW1p
bmUgb3VyIHRleHQtYWxpZ24gcHJvcGVydHkgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHdoZXJlIHRv
IHBvc2l0aW9uIHRoZQogICAgIC8vIG9iamVjdHMgaG9yaXpvbnRhbGx5LiAgVGhlIHRvdGFsIHdp
ZHRoIG9mIHRoZSBsaW5lIGNhbiBiZSBpbmNyZWFzZWQgaWYgd2UgZW5kIHVwCiAgICAgLy8ganVz
dGlmeWluZyB0ZXh0LgotICAgIGludCBsb2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9y
TGluZShsb2dpY2FsSGVpZ2h0KCksIGZpcnN0TGluZSk7CisgICAgZmxvYXQgbG9naWNhbExlZnQg
PSBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUobG9naWNhbEhlaWdodCgpLCBmaXJzdExpbmUpOwog
ICAgIHN3aXRjaCAodGV4dEFsaWduKSB7CiAgICAgICAgIGNhc2UgTEVGVDoKICAgICAgICAgY2Fz
ZSBXRUJLSVRfTEVGVDoKQEAgLTM5NCw3ICszOTQsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjb21w
dXRlSW5saW5lRGlyZWN0aW9uCiAgICAgICAgICAgICAvLyBwYXJ0aWN1bGFyIHdpdGggUlRMIGJs
b2Nrcywgd2lkZSBsaW5lcyBzaG91bGQgc3RpbGwgc3BpbGwgb3V0IHRvIHRoZSBsZWZ0LgogICAg
ICAgICAgICAgaWYgKHN0eWxlKCktPmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgewogICAgICAg
ICAgICAgICAgIGlmICh0b3RhbExvZ2ljYWxXaWR0aCA+IGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAm
JiB0cmFpbGluZ1NwYWNlUnVuKQotICAgICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVu
LT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKG1heCgwLCB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+
bG9naWNhbFdpZHRoKCkgLSB0b3RhbExvZ2ljYWxXaWR0aCArIGF2YWlsYWJsZUxvZ2ljYWxXaWR0
aCkpOworICAgICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+c2V0TG9n
aWNhbFdpZHRoKG1heDxmbG9hdD4oMCwgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxX
aWR0aCgpIC0gdG90YWxMb2dpY2FsV2lkdGggKyBhdmFpbGFibGVMb2dpY2FsV2lkdGgpKTsKICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKHRyYWlsaW5nU3BhY2VSdW4p
CiAgICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5zZXRMb2dpY2Fs
V2lkdGgoMCk7CkBAIC00MTYsNyArNDE2LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlu
bGluZURpcmVjdGlvbgogICAgICAgICAgICAgLy8gZm9yIHJpZ2h0IHRvIGxlZnQgZmFsbCB0aHJv
dWdoIHRvIHJpZ2h0IGFsaWduZWQKICAgICAgICAgICAgIGlmIChzdHlsZSgpLT5pc0xlZnRUb1Jp
Z2h0RGlyZWN0aW9uKCkpIHsKICAgICAgICAgICAgICAgICBpZiAodG90YWxMb2dpY2FsV2lkdGgg
PiBhdmFpbGFibGVMb2dpY2FsV2lkdGggJiYgdHJhaWxpbmdTcGFjZVJ1bikKLSAgICAgICAgICAg
ICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXgoMCwg
dHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpIC0gdG90YWxMb2dpY2FsV2lk
dGggKyBhdmFpbGFibGVMb2dpY2FsV2lkdGgpKTsKKyAgICAgICAgICAgICAgICAgICAgdHJhaWxp
bmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXg8ZmxvYXQ+KDAsIHRyYWlsaW5n
U3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNhbFdpZHRoICsgYXZh
aWxhYmxlTG9naWNhbFdpZHRoKSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICB9CiAgICAgICAgIGNhc2UgUklHSFQ6CkBAIC00MzMsNyArNDMzLDcgQEAgdm9pZCBSZW5kZXJC
bG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgICAgICAgICBsb2dpY2Fs
TGVmdCArPSBhdmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aDsKICAgICAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKHRvdGFsTG9naWNhbFdpZHRoID4g
YXZhaWxhYmxlTG9naWNhbFdpZHRoICYmIHRyYWlsaW5nU3BhY2VSdW4pIHsKLSAgICAgICAgICAg
ICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXgoMCwg
dHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpIC0gdG90YWxMb2dpY2FsV2lk
dGggKyBhdmFpbGFibGVMb2dpY2FsV2lkdGgpKTsKKyAgICAgICAgICAgICAgICAgICAgdHJhaWxp
bmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXg8ZmxvYXQ+KDAsIHRyYWlsaW5n
U3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKSAtIHRvdGFsTG9naWNhbFdpZHRoICsgYXZh
aWxhYmxlTG9naWNhbFdpZHRoKSk7CiAgICAgICAgICAgICAgICAgICAgIHRvdGFsTG9naWNhbFdp
ZHRoIC09IHRyYWlsaW5nU3BhY2VSdW4tPm1fYm94LT5sb2dpY2FsV2lkdGgoKTsKICAgICAgICAg
ICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgbG9naWNhbExlZnQgKz0gYXZhaWxh
YmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGg7CkBAIC00NDEsMTQgKzQ0MSwxNCBA
QCB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uCiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY2FzZSBDRU5URVI6CiAgICAgICAgIGNhc2UgV0VCS0lUX0NFTlRFUjoK
LSAgICAgICAgICAgIGludCB0cmFpbGluZ1NwYWNlV2lkdGggPSAwOworICAgICAgICAgICAgZmxv
YXQgdHJhaWxpbmdTcGFjZVdpZHRoID0gMDsKICAgICAgICAgICAgIGlmICh0cmFpbGluZ1NwYWNl
UnVuKSB7CiAgICAgICAgICAgICAgICAgdG90YWxMb2dpY2FsV2lkdGggLT0gdHJhaWxpbmdTcGFj
ZVJ1bi0+bV9ib3gtPmxvZ2ljYWxXaWR0aCgpOwogICAgICAgICAgICAgICAgIHRyYWlsaW5nU3Bh
Y2VXaWR0aCA9IG1pbih0cmFpbGluZ1NwYWNlUnVuLT5tX2JveC0+bG9naWNhbFdpZHRoKCksIChh
dmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCArIDEpIC8gMik7Ci0gICAg
ICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXgo
MCwgdHJhaWxpbmdTcGFjZVdpZHRoKSk7CisgICAgICAgICAgICAgICAgdHJhaWxpbmdTcGFjZVJ1
bi0+bV9ib3gtPnNldExvZ2ljYWxXaWR0aChtYXg8ZmxvYXQ+KDAsIHRyYWlsaW5nU3BhY2VXaWR0
aCkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKHN0eWxlKCktPmlzTGVmdFRvUmln
aHREaXJlY3Rpb24oKSkKLSAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdCArPSBtYXgoKGF2YWls
YWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoKSAvIDIsIDApOworICAgICAgICAg
ICAgICAgIGxvZ2ljYWxMZWZ0ICs9IG1heDxmbG9hdD4oKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAt
IHRvdGFsTG9naWNhbFdpZHRoKSAvIDIsIDApOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAg
ICAgICAgIGxvZ2ljYWxMZWZ0ICs9IHRvdGFsTG9naWNhbFdpZHRoID4gYXZhaWxhYmxlTG9naWNh
bFdpZHRoID8gKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9naWNhbFdpZHRoKSA6IChh
dmFpbGFibGVMb2dpY2FsV2lkdGggLSB0b3RhbExvZ2ljYWxXaWR0aCkgLyAyIC0gdHJhaWxpbmdT
cGFjZVdpZHRoOwogICAgICAgICAgICAgYnJlYWs7CkBAIC00NjgsNyArNDY4LDcgQEAgdm9pZCBS
ZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVjdGlvbgogICAgICAgICAgICAgICAgIC8vIE9u
bHkganVzdGlmeSB0ZXh0IGlmIHdoaXRlc3BhY2UgaXMgY29sbGFwc2VkLgogICAgICAgICAgICAg
ICAgIGlmIChyLT5tX29iamVjdC0+c3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNwYWNlKCkpIHsKICAg
ICAgICAgICAgICAgICAgICAgSW5saW5lVGV4dEJveCogdGV4dEJveCA9IHN0YXRpY19jYXN0PElu
bGluZVRleHRCb3gqPihyLT5tX2JveCk7Ci0gICAgICAgICAgICAgICAgICAgIGludCBleHBhbnNp
b24gPSAoYXZhaWxhYmxlTG9naWNhbFdpZHRoIC0gdG90YWxMb2dpY2FsV2lkdGgpICogb3Bwb3J0
dW5pdGllc0luUnVuIC8gZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudDsKKyAgICAgICAgICAgICAg
ICAgICAgZmxvYXQgZXhwYW5zaW9uID0gKGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCAtIHRvdGFsTG9n
aWNhbFdpZHRoKSAqIG9wcG9ydHVuaXRpZXNJblJ1biAvIGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291
bnQ7CiAgICAgICAgICAgICAgICAgICAgIHRleHRCb3gtPnNldEV4cGFuc2lvbihleHBhbnNpb24p
OwogICAgICAgICAgICAgICAgICAgICB0b3RhbExvZ2ljYWxXaWR0aCArPSBleHBhbnNpb247CiAg
ICAgICAgICAgICAgICAgfQpAQCAtMTM2OSwxMyArMTM2OSwxMyBAQCBzdGF0aWMgYm9vbCBzaG91
bGRTa2lwV2hpdGVzcGFjZUFmdGVyU3RhCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIFJl
bmRlckJsb2NrOjpmaXRCZWxvd0Zsb2F0cyhpbnQgd2lkdGhUb0ZpdCwgYm9vbCBmaXJzdExpbmUs
IGludCYgYXZhaWxhYmxlV2lkdGgpCit2b2lkIFJlbmRlckJsb2NrOjpmaXRCZWxvd0Zsb2F0cyhm
bG9hdCB3aWR0aFRvRml0LCBib29sIGZpcnN0TGluZSwgZmxvYXQmIGF2YWlsYWJsZVdpZHRoKQog
ewogICAgIEFTU0VSVCh3aWR0aFRvRml0ID4gYXZhaWxhYmxlV2lkdGgpOwogCiAgICAgaW50IGZs
b2F0TG9naWNhbEJvdHRvbTsKICAgICBpbnQgbGFzdEZsb2F0TG9naWNhbEJvdHRvbSA9IGxvZ2lj
YWxIZWlnaHQoKTsKLSAgICBpbnQgbmV3TGluZVdpZHRoID0gYXZhaWxhYmxlV2lkdGg7CisgICAg
ZmxvYXQgbmV3TGluZVdpZHRoID0gYXZhaWxhYmxlV2lkdGg7CiAgICAgd2hpbGUgKHRydWUpIHsK
ICAgICAgICAgZmxvYXRMb2dpY2FsQm90dG9tID0gbmV4dEZsb2F0TG9naWNhbEJvdHRvbUJlbG93
KGxhc3RGbG9hdExvZ2ljYWxCb3R0b20pOwogICAgICAgICBpZiAoIWZsb2F0TG9naWNhbEJvdHRv
bSkKQEAgLTEzOTMsMTkgKzEzOTMsMTkgQEAgdm9pZCBSZW5kZXJCbG9jazo6Zml0QmVsb3dGbG9h
dHMoaW50IHdpZAogICAgIH0KIH0KIAotc3RhdGljIGlubGluZSB1bnNpZ25lZCB0ZXh0V2lkdGgo
UmVuZGVyVGV4dCogdGV4dCwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250
JiBmb250LCBpbnQgeFBvcywgYm9vbCBpc0ZpeGVkUGl0Y2gsIGJvb2wgY29sbGFwc2VXaGl0ZVNw
YWNlKQorc3RhdGljIGlubGluZSBmbG9hdCB0ZXh0V2lkdGgoUmVuZGVyVGV4dCogdGV4dCwgdW5z
aWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiBmb250LCBmbG9hdCB4UG9zLCBi
b29sIGlzRml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UpCiB7CiAgICAgaWYgKGlz
Rml4ZWRQaXRjaCB8fCAoIWZyb20gJiYgbGVuID09IHRleHQtPnRleHRMZW5ndGgoKSkgfHwgdGV4
dC0+c3R5bGUoKS0+aGFzVGV4dENvbWJpbmUoKSkKICAgICAgICAgcmV0dXJuIHRleHQtPndpZHRo
KGZyb20sIGxlbiwgZm9udCwgeFBvcyk7CiAgICAgcmV0dXJuIGZvbnQud2lkdGgoVGV4dFJ1bih0
ZXh0LT5jaGFyYWN0ZXJzKCkgKyBmcm9tLCBsZW4sICFjb2xsYXBzZVdoaXRlU3BhY2UsIHhQb3Mp
KTsKIH0KIAotc3RhdGljIHZvaWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCogdGV4dCwgY29u
c3QgRm9udCYgZm9udCwgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbGVJZGVudGlmaWVyLCBpbnQg
bGFzdFNwYWNlLCBpbnQgcG9zLCBpbnQgeFBvcywgaW50IGF2YWlsYWJsZVdpZHRoLCBib29sIGlz
Rml4ZWRQaXRjaCwgYm9vbCBjb2xsYXBzZVdoaXRlU3BhY2UsIGludCBsYXN0U3BhY2VXb3JkU3Bh
Y2luZywgSW5saW5lSXRlcmF0b3ImIGxpbmVCcmVhaywgaW50IG5leHRCcmVha2FibGUsIGJvb2wm
IGh5cGhlbmF0ZWQpCitzdGF0aWMgdm9pZCB0cnlIeXBoZW5hdGluZyhSZW5kZXJUZXh0KiB0ZXh0
LCBjb25zdCBGb250JiBmb250LCBjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsZUlkZW50aWZpZXIs
IGludCBsYXN0U3BhY2UsIGludCBwb3MsIGZsb2F0IHhQb3MsIGludCBhdmFpbGFibGVXaWR0aCwg
Ym9vbCBpc0ZpeGVkUGl0Y2gsIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNlLCBpbnQgbGFzdFNwYWNl
V29yZFNwYWNpbmcsIElubGluZUl0ZXJhdG9yJiBsaW5lQnJlYWssIGludCBuZXh0QnJlYWthYmxl
LCBib29sJiBoeXBoZW5hdGVkKQogewogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaHlwaGVuU3Ry
aW5nID0gdGV4dC0+c3R5bGUoKS0+aHlwaGVuU3RyaW5nKCk7CiAgICAgaW50IGh5cGhlbldpZHRo
ID0gZm9udC53aWR0aChUZXh0UnVuKGh5cGhlblN0cmluZy5jaGFyYWN0ZXJzKCksIGh5cGhlblN0
cmluZy5sZW5ndGgoKSkpOwogCi0gICAgaW50IG1heFByZWZpeFdpZHRoID0gYXZhaWxhYmxlV2lk
dGggLSB4UG9zIC0gaHlwaGVuV2lkdGggLSBsYXN0U3BhY2VXb3JkU3BhY2luZzsKKyAgICBmbG9h
dCBtYXhQcmVmaXhXaWR0aCA9IGF2YWlsYWJsZVdpZHRoIC0geFBvcyAtIGh5cGhlbldpZHRoIC0g
bGFzdFNwYWNlV29yZFNwYWNpbmc7CiAgICAgLy8gSWYgdGhlIG1heGltdW0gd2lkdGggYXZhaWxh
YmxlIGZvciB0aGUgcHJlZml4IGJlZm9yZSB0aGUgaHlwaGVuIGlzIHNtYWxsLCB0aGVuIGl0IGlz
IHZlcnkgdW5saWtlbHkKICAgICAvLyB0aGF0IGFuIGh5cGhlbmF0aW9uIG9wcG9ydHVuaXR5IGV4
aXN0cywgc28gZG8gbm90IGJvdGhlciB0byBsb29rIGZvciBpdC4KICAgICBpZiAobWF4UHJlZml4
V2lkdGggPD0gZm9udC5waXhlbFNpemUoKSAqIDUgLyA0KQpAQCAtMTQyMCw3ICsxNDIwLDcgQEAg
c3RhdGljIHZvaWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCogdAogICAgICAgICByZXR1cm47
CiAKICNpZiAhQVNTRVJUX0RJU0FCTEVECi0gICAgaW50IHByZWZpeFdpZHRoID0gaHlwaGVuV2lk
dGggKyB0ZXh0V2lkdGgodGV4dCwgbGFzdFNwYWNlLCBwcmVmaXhMZW5ndGgsIGZvbnQsIHhQb3Ms
IGlzRml4ZWRQaXRjaCwgY29sbGFwc2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRTcGFjaW5n
OworICAgIGZsb2F0IHByZWZpeFdpZHRoID0gaHlwaGVuV2lkdGggKyB0ZXh0V2lkdGgodGV4dCwg
bGFzdFNwYWNlLCBwcmVmaXhMZW5ndGgsIGZvbnQsIHhQb3MsIGlzRml4ZWRQaXRjaCwgY29sbGFw
c2VXaGl0ZVNwYWNlKSArIGxhc3RTcGFjZVdvcmRTcGFjaW5nOwogICAgIEFTU0VSVCh4UG9zICsg
cHJlZml4V2lkdGggPD0gYXZhaWxhYmxlV2lkdGgpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0o
aXNGaXhlZFBpdGNoKTsKQEAgLTE0NDAsMTAgKzE0NDAsMTAgQEAgSW5saW5lSXRlcmF0b3IgUmVu
ZGVyQmxvY2s6OmZpbmROZXh0TGluZQogICAgIGJvb2wgYXBwbGllZFN0YXJ0V2lkdGggPSByZXNv
bHZlci5wb3NpdGlvbigpLnBvcyA+IDA7CiAgICAgTGluZU1pZHBvaW50U3RhdGUmIGxpbmVNaWRw
b2ludFN0YXRlID0gcmVzb2x2ZXIubWlkcG9pbnRTdGF0ZSgpOwogICAgIAotICAgIGludCB3aWR0
aCA9IHNraXBMZWFkaW5nV2hpdGVzcGFjZShyZXNvbHZlciwgZmlyc3RMaW5lLCBpc0xpbmVFbXB0
eSwgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBsYXN0RmxvYXRGcm9tUHJldmlvdXNMaW5lKTsK
KyAgICBmbG9hdCB3aWR0aCA9IHNraXBMZWFkaW5nV2hpdGVzcGFjZShyZXNvbHZlciwgZmlyc3RM
aW5lLCBpc0xpbmVFbXB0eSwgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LCBsYXN0RmxvYXRGcm9t
UHJldmlvdXNMaW5lKTsKIAotICAgIGludCB3ID0gMDsKLSAgICBpbnQgdG1wVyA9IDA7CisgICAg
ZmxvYXQgdyA9IDA7CisgICAgZmxvYXQgdG1wVyA9IDA7CiAKICAgICBpZiAocmVzb2x2ZXIucG9z
aXRpb24oKS5hdEVuZCgpKQogICAgICAgICByZXR1cm4gcmVzb2x2ZXIucG9zaXRpb24oKTsKQEAg
LTE0NjIsOCArMTQ2Miw4IEBAIElubGluZUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4dExp
bmUKIAogICAgIElubGluZUl0ZXJhdG9yIGxCcmVhayA9IHJlc29sdmVyLnBvc2l0aW9uKCk7CiAK
LSAgICBSZW5kZXJPYmplY3QgKm8gPSByZXNvbHZlci5wb3NpdGlvbigpLm9iajsKLSAgICBSZW5k
ZXJPYmplY3QgKmxhc3QgPSBvOworICAgIFJlbmRlck9iamVjdCogbyA9IHJlc29sdmVyLnBvc2l0
aW9uKCkub2JqOworICAgIFJlbmRlck9iamVjdCogbGFzdCA9IG87CiAgICAgdW5zaWduZWQgcG9z
ID0gcmVzb2x2ZXIucG9zaXRpb24oKS5wb3M7CiAgICAgaW50IG5leHRCcmVha2FibGUgPSByZXNv
bHZlci5wb3NpdGlvbigpLm5leHRCcmVha2FibGVQb3NpdGlvbjsKICAgICBib29sIGF0U3RhcnQg
PSB0cnVlOwpAQCAtMTY2MCwyMiArMTY2MCwyMiBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9j
azo6ZmluZE5leHRMaW5lCiAgICAgICAgICAgICBib29sIGNhbkh5cGhlbmF0ZSA9IHN0eWxlLT5o
eXBoZW5zKCkgPT0gSHlwaGVuc0F1dG8gJiYgV2ViQ29yZTo6Y2FuSHlwaGVuYXRlKHN0eWxlLT5o
eXBoZW5hdGlvbkxvY2FsZSgpKTsKIAogICAgICAgICAgICAgaW50IGxhc3RTcGFjZSA9IHBvczsK
LSAgICAgICAgICAgIGludCB3b3JkU3BhY2luZyA9IG8tPnN0eWxlKCktPndvcmRTcGFjaW5nKCk7
Ci0gICAgICAgICAgICBpbnQgbGFzdFNwYWNlV29yZFNwYWNpbmcgPSAwOworICAgICAgICAgICAg
ZmxvYXQgd29yZFNwYWNpbmcgPSBvLT5zdHlsZSgpLT53b3JkU3BhY2luZygpOworICAgICAgICAg
ICAgZmxvYXQgbGFzdFNwYWNlV29yZFNwYWNpbmcgPSAwOwogCiAgICAgICAgICAgICAvLyBOb24t
emVybyBvbmx5IHdoZW4ga2VybmluZyBpcyBlbmFibGVkLCBpbiB3aGljaCBjYXNlIHdlIG1lYXN1
cmUgd29yZHMgd2l0aCB0aGVpciB0cmFpbGluZwogICAgICAgICAgICAgLy8gc3BhY2UsIHRoZW4g
c3VidHJhY3QgaXRzIHdpZHRoLgotICAgICAgICAgICAgaW50IHdvcmRUcmFpbGluZ1NwYWNlV2lk
dGggPSBmLnR5cGVzZXR0aW5nRmVhdHVyZXMoKSAmIEtlcm5pbmcgPyBmLndpZHRoKFRleHRSdW4o
JnNwYWNlLCAxKSkgKyB3b3JkU3BhY2luZyA6IDA7CisgICAgICAgICAgICBmbG9hdCB3b3JkVHJh
aWxpbmdTcGFjZVdpZHRoID0gZi50eXBlc2V0dGluZ0ZlYXR1cmVzKCkgJiBLZXJuaW5nID8gZi53
aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpICsgd29yZFNwYWNpbmcgOiAwOwogCi0gICAgICAgICAg
ICBpbnQgd3JhcFcgPSB0bXBXICsgaW5saW5lTG9naWNhbFdpZHRoKG8sICFhcHBsaWVkU3RhcnRX
aWR0aCwgdHJ1ZSk7Ci0gICAgICAgICAgICBpbnQgY2hhcldpZHRoID0gMDsKKyAgICAgICAgICAg
IGZsb2F0IHdyYXBXID0gdG1wVyArIGlubGluZUxvZ2ljYWxXaWR0aChvLCAhYXBwbGllZFN0YXJ0
V2lkdGgsIHRydWUpOworICAgICAgICAgICAgZmxvYXQgY2hhcldpZHRoID0gMDsKICAgICAgICAg
ICAgIGJvb2wgYnJlYWtOQlNQID0gYXV0b1dyYXAgJiYgby0+c3R5bGUoKS0+bmJzcE1vZGUoKSA9
PSBTUEFDRTsKICAgICAgICAgICAgIC8vIEF1dG8td3JhcHBpbmcgdGV4dCBzaG91bGQgd3JhcCBp
biB0aGUgbWlkZGxlIG9mIGEgd29yZCBvbmx5IGlmIGl0IGNvdWxkIG5vdCB3cmFwIGJlZm9yZSB0
aGUgd29yZCwKICAgICAgICAgICAgIC8vIHdoaWNoIGlzIG9ubHkgcG9zc2libGUgaWYgdGhlIHdv
cmQgaXMgdGhlIGZpcnN0IHRoaW5nIG9uIHRoZSBsaW5lLCB0aGF0IGlzLCBpZiB8d3wgaXMgemVy
by4KICAgICAgICAgICAgIGJvb2wgYnJlYWtXb3JkcyA9IG8tPnN0eWxlKCktPmJyZWFrV29yZHMo
KSAmJiAoKGF1dG9XcmFwICYmICF3KSB8fCBjdXJyV1MgPT0gUFJFKTsKICAgICAgICAgICAgIGJv
b2wgbWlkV29yZEJyZWFrID0gZmFsc2U7CiAgICAgICAgICAgICBib29sIGJyZWFrQWxsID0gby0+
c3R5bGUoKS0+d29yZEJyZWFrKCkgPT0gQnJlYWtBbGxXb3JkQnJlYWsgJiYgYXV0b1dyYXA7Ci0g
ICAgICAgICAgICBpbnQgaHlwaGVuV2lkdGggPSAwOworICAgICAgICAgICAgZmxvYXQgaHlwaGVu
V2lkdGggPSAwOwogCiAgICAgICAgICAgICBpZiAodC0+aXNXb3JkQnJlYWsoKSkgewogICAgICAg
ICAgICAgICAgIHcgKz0gdG1wVzsKQEAgLTE3NDQsNyArMTc0NCw3IEBAIElubGluZUl0ZXJhdG9y
IFJlbmRlckJsb2NrOjpmaW5kTmV4dExpbmUKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgICAgIGludCBhZGRpdGlvbmFs
VG1wVzsKKyAgICAgICAgICAgICAgICAgICAgZmxvYXQgYWRkaXRpb25hbFRtcFc7CiAgICAgICAg
ICAgICAgICAgICAgIGlmICh3b3JkVHJhaWxpbmdTcGFjZVdpZHRoICYmIGN1cnJlbnRDaGFyYWN0
ZXJJc1NwYWNlKQogICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbFRtcFcgPSB0ZXh0
V2lkdGgodCwgbGFzdFNwYWNlLCBwb3MgKyAxIC0gbGFzdFNwYWNlLCBmLCB3ICsgdG1wVywgaXNG
aXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UpIC0gd29yZFRyYWlsaW5nU3BhY2VXaWR0aCAr
IGxhc3RTcGFjZVdvcmRTcGFjaW5nOwogICAgICAgICAgICAgICAgICAgICBlbHNlCkBAIC0xODk0
LDcgKzE4OTQsNyBAQCBJbmxpbmVJdGVyYXRvciBSZW5kZXJCbG9jazo6ZmluZE5leHRMaW5lCiAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIElNUE9SVEFOVDogcG9zIGlzID4gbGVuZ3Ro
IGhlcmUhCi0gICAgICAgICAgICBpbnQgYWRkaXRpb25hbFRtcFcgPSBpZ25vcmluZ1NwYWNlcyA/
IDAgOiB0ZXh0V2lkdGgodCwgbGFzdFNwYWNlLCBwb3MgLSBsYXN0U3BhY2UsIGYsIHcgKyB0bXBX
LCBpc0ZpeGVkUGl0Y2gsIGNvbGxhcHNlV2hpdGVTcGFjZSkgKyBsYXN0U3BhY2VXb3JkU3BhY2lu
ZzsKKyAgICAgICAgICAgIGZsb2F0IGFkZGl0aW9uYWxUbXBXID0gaWdub3JpbmdTcGFjZXMgPyAw
IDogdGV4dFdpZHRoKHQsIGxhc3RTcGFjZSwgcG9zIC0gbGFzdFNwYWNlLCBmLCB3ICsgdG1wVywg
aXNGaXhlZFBpdGNoLCBjb2xsYXBzZVdoaXRlU3BhY2UpICsgbGFzdFNwYWNlV29yZFNwYWNpbmc7
CiAgICAgICAgICAgICB0bXBXICs9IGFkZGl0aW9uYWxUbXBXOwogICAgICAgICAgICAgdG1wVyAr
PSBpbmxpbmVMb2dpY2FsV2lkdGgobywgIWFwcGxpZWRTdGFydFdpZHRoLCB0cnVlKTsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9uIDc4NjIzKQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEzMjksNyArMTMyOSw3IEBAIHZvaWQgUmVuZGVyQm94Ojpwb3NpdGlvbkxpbmVCb3goSW5s
aW5lQm8KICAgICAgICAgYm94LT5yZW1vdmUoKTsKICAgICAgICAgYm94LT5kZXN0cm95KHJlbmRl
ckFyZW5hKCkpOwogICAgIH0gZWxzZSBpZiAoaXNSZXBsYWNlZCgpKSB7Ci0gICAgICAgIHNldExv
Y2F0aW9uKGJveC0+eCgpLCBib3gtPnkoKSk7CisgICAgICAgIHNldExvY2F0aW9uKGxyb3VuZGYo
Ym94LT54KCkpLCBscm91bmRmKGJveC0+eSgpKSk7CiAgICAgICAgIG1faW5saW5lQm94V3JhcHBl
ciA9IGJveDsKICAgICB9CiB9CkBAIC0zMzQ4LDYgKzMzNDgsMjQgQEAgSW50U2l6ZSBSZW5kZXJC
b3g6OmZsaXBGb3JXcml0aW5nTW9kZShjbwogICAgIHJldHVybiBzdHlsZSgpLT5pc0hvcml6b250
YWxXcml0aW5nTW9kZSgpID8gSW50U2l6ZShvZmZzZXQud2lkdGgoKSwgaGVpZ2h0KCkgLSBvZmZz
ZXQuaGVpZ2h0KCkpIDogSW50U2l6ZSh3aWR0aCgpIC0gb2Zmc2V0LndpZHRoKCksIG9mZnNldC5o
ZWlnaHQoKSk7CiB9CiAKK0Zsb2F0UG9pbnQgUmVuZGVyQm94OjpmbGlwRm9yV3JpdGluZ01vZGUo
Y29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24pIGNvbnN0Cit7CisgICAgaWYgKCFzdHlsZSgpLT5p
c0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQorICAgICAgICByZXR1cm4gcG9zaXRpb247Cisg
ICAgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBGbG9hdFBvaW50
KHBvc2l0aW9uLngoKSwgaGVpZ2h0KCkgLSBwb3NpdGlvbi55KCkpIDogRmxvYXRQb2ludCh3aWR0
aCgpIC0gcG9zaXRpb24ueCgpLCBwb3NpdGlvbi55KCkpOworfQorCit2b2lkIFJlbmRlckJveDo6
ZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKK3sKKyAgICBpZiAoIXN0
eWxlKCktPmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGlmIChzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQorICAgICAgICByZWN0
LnNldFkoaGVpZ2h0KCkgLSByZWN0Lm1heFkoKSk7CisgICAgZWxzZQorICAgICAgICByZWN0LnNl
dFgod2lkdGgoKSAtIHJlY3QubWF4WCgpKTsKK30KKwogSW50U2l6ZSBSZW5kZXJCb3g6OmxvY2F0
aW9uT2Zmc2V0SW5jbHVkaW5nRmxpcHBpbmcoKSBjb25zdAogewogICAgIGlmICghcGFyZW50KCkg
fHwgIXBhcmVudCgpLT5pc0JveCgpKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guaAkocmV2aXNpb24gNzg2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4NSw2ICszODUsOCBAQCBwdWJsaWM6CiAgICAgSW50
UG9pbnQgZmxpcEZvcldyaXRpbmdNb2RlSW5jbHVkaW5nQ29sdW1ucyhjb25zdCBJbnRQb2ludCYp
IGNvbnN0OwogICAgIEludFNpemUgZmxpcEZvcldyaXRpbmdNb2RlKGNvbnN0IEludFNpemUmKSBj
b25zdDsKICAgICB2b2lkIGZsaXBGb3JXcml0aW5nTW9kZShJbnRSZWN0JikgY29uc3Q7CisgICAg
RmxvYXRQb2ludCBmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgRmxvYXRQb2ludCYpIGNvbnN0Owor
ICAgIHZvaWQgZmxpcEZvcldyaXRpbmdNb2RlKEZsb2F0UmVjdCYpIGNvbnN0OwogICAgIEludFNp
emUgbG9jYXRpb25PZmZzZXRJbmNsdWRpbmdGbGlwcGluZygpIGNvbnN0OwogCiAgICAgSW50UmVj
dCBsb2dpY2FsVmlzdWFsT3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24oUmVuZGVyU3R5bGUqKSBj
b25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb21iaW5lVGV4dC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvbWJpbmVU
ZXh0LmNwcAkocmV2aXNpb24gNzg2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQ29tYmluZVRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw3IEBAIHZvaWQg
UmVuZGVyQ29tYmluZVRleHQ6OnNldFRleHRJbnRlcm5hbCgKICAgICBtX25lZWRzRm9udFVwZGF0
ZSA9IHRydWU7CiB9CiAKLXVuc2lnbmVkIFJlbmRlckNvbWJpbmVUZXh0Ojp3aWR0aCh1bnNpZ25l
ZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnQmIGZvbnQsIGludCB4UG9zaXRpb24s
IEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVy
ZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKK2Zsb2F0IFJlbmRlckNvbWJpbmVUZXh0Ojp3aWR0
aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IEZvbnQmIGZvbnQsIGZsb2F0
IHhQb3NpdGlvbiwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRz
LCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAogewogICAgIGlmICghY2hhcmFj
dGVycygpKQogICAgICAgICByZXR1cm4gMDsKQEAgLTYzLDcgKzYzLDcgQEAgdW5zaWduZWQgUmVu
ZGVyQ29tYmluZVRleHQ6OndpZHRoKHVuc2lnbgogICAgIHJldHVybiBSZW5kZXJUZXh0Ojp3aWR0
aChmcm9tLCBsZW5ndGgsIGZvbnQsIHhQb3NpdGlvbiwgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVy
Zmxvdyk7CiB9CiAKLXZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OmFkanVzdFRleHRPcmlnaW4oSW50
UG9pbnQmIHRleHRPcmlnaW4sIGNvbnN0IEludFJlY3QmIGJveFJlY3QpIGNvbnN0Cit2b2lkIFJl
bmRlckNvbWJpbmVUZXh0OjphZGp1c3RUZXh0T3JpZ2luKEZsb2F0UG9pbnQmIHRleHRPcmlnaW4s
IGNvbnN0IEZsb2F0UmVjdCYgYm94UmVjdCkgY29uc3QKIHsKICAgICBpZiAobV9pc0NvbWJpbmVk
KQogICAgICAgICB0ZXh0T3JpZ2luLm1vdmUoYm94UmVjdC5oZWlnaHQoKSAvIDIgLSBjZWlsZiht
X2NvbWJpbmVkVGV4dFdpZHRoKSAvIDIsIHN0eWxlKCktPmZvbnQoKS5waXhlbFNpemUoKSk7CkBA
IC05OCw3ICs5OCw3IEBAIHZvaWQgUmVuZGVyQ29tYmluZVRleHQ6OmNvbWJpbmVUZXh0KCkKICAg
ICBib29sIHNob3VsZFVwZGF0ZUZvbnQgPSBmYWxzZTsKIAogICAgIGRlc2NyaXB0aW9uLnNldE9y
aWVudGF0aW9uKEhvcml6b250YWwpOyAvLyBXZSBhcmUgZ29pbmcgdG8gZHJhdyBjb21iaW5lZCB0
ZXh0IGhvcml6b250YWxseS4KLSAgICBtX2NvbWJpbmVkVGV4dFdpZHRoID0gc3R5bGUoKS0+Zm9u
dCgpLmZsb2F0V2lkdGgocnVuKTsKKyAgICBtX2NvbWJpbmVkVGV4dFdpZHRoID0gc3R5bGUoKS0+
Zm9udCgpLndpZHRoKHJ1bik7CiAgICAgbV9pc0NvbWJpbmVkID0gbV9jb21iaW5lZFRleHRXaWR0
aCA8PSBlbVdpZHRoOwogCiAgICAgaWYgKG1faXNDb21iaW5lZCkKQEAgLTExMCw3ICsxMTAsNyBA
QCB2b2lkIFJlbmRlckNvbWJpbmVUZXh0Ojpjb21iaW5lVGV4dCgpCiAgICAgICAgICAgICBkZXNj
cmlwdGlvbi5zZXRXaWR0aFZhcmlhbnQod2lkdGhWYXJpYW50c1tpXSk7CiAgICAgICAgICAgICBG
b250IGNvbXByZXNzZWRGb250ID0gRm9udChkZXNjcmlwdGlvbiwgc3R5bGUoKS0+Zm9udCgpLmxl
dHRlclNwYWNpbmcoKSwgc3R5bGUoKS0+Zm9udCgpLndvcmRTcGFjaW5nKCkpOwogICAgICAgICAg
ICAgY29tcHJlc3NlZEZvbnQudXBkYXRlKHN0eWxlKCktPmZvbnQoKS5mb250U2VsZWN0b3IoKSk7
Ci0gICAgICAgICAgICBmbG9hdCBydW5XaWR0aCA9IGNvbXByZXNzZWRGb250LmZsb2F0V2lkdGgo
cnVuKTsKKyAgICAgICAgICAgIGZsb2F0IHJ1bldpZHRoID0gY29tcHJlc3NlZEZvbnQud2lkdGgo
cnVuKTsKICAgICAgICAgICAgIGlmIChydW5XaWR0aCA8PSBlbVdpZHRoKSB7CiAgICAgICAgICAg
ICAgICAgbV9jb21iaW5lZFRleHRXaWR0aCA9IHJ1bldpZHRoOwogICAgICAgICAgICAgICAgIG1f
aXNDb21iaW5lZCA9IHRydWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Q29tYmluZVRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQ29tYmluZVRleHQuaAkocmV2aXNpb24gNzg2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQ29tYmluZVRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTMgKzMwLDEz
IEBAIHB1YmxpYzoKICAgICBSZW5kZXJDb21iaW5lVGV4dChOb2RlKiwgUGFzc1JlZlB0cjxTdHJp
bmdJbXBsPik7CiAKICAgICB2b2lkIGNvbWJpbmVUZXh0KCk7Ci0gICAgdm9pZCBhZGp1c3RUZXh0
T3JpZ2luKEludFBvaW50JiB0ZXh0T3JpZ2luLCBjb25zdCBJbnRSZWN0JiBib3hSZWN0KSBjb25z
dDsKKyAgICB2b2lkIGFkanVzdFRleHRPcmlnaW4oRmxvYXRQb2ludCYgdGV4dE9yaWdpbiwgY29u
c3QgRmxvYXRSZWN0JiBib3hSZWN0KSBjb25zdDsKICAgICB2b2lkIGNoYXJhY3RlcnNUb1JlbmRl
cihpbnQgc3RhcnQsIGNvbnN0IFVDaGFyKiYgY2hhcmFjdGVycywgaW50JiBsZW5ndGgpIGNvbnN0
OwogICAgIGJvb2wgaXNDb21iaW5lZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNDb21iaW5lZDsgfQot
ICAgIGludCBjb21iaW5lZFRleHRXaWR0aChjb25zdCBGb250JiBmb250KSBjb25zdCB7IHJldHVy
biBmb250LnNpemUoKTsgfQorICAgIGZsb2F0IGNvbWJpbmVkVGV4dFdpZHRoKGNvbnN0IEZvbnQm
IGZvbnQpIGNvbnN0IHsgcmV0dXJuIGZvbnQuc2l6ZSgpOyB9CiAKIHByaXZhdGU6Ci0gICAgdmly
dHVhbCB1bnNpZ25lZCB3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0
IEZvbnQmLCBpbnQgeFBvc2l0aW9uLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZh
bGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0OworICAgIHZpcnR1YWwg
ZmxvYXQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBGb250Jiwg
ZmxvYXQgeFBvc2l0aW9uLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNr
Rm9udHMgPSAwLCBHbHlwaE92ZXJmbG93KiA9IDApIGNvbnN0OwogICAgIHZpcnR1YWwgY29uc3Qg
Y2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJDb21iaW5lVGV4dCI7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBS
ZW5kZXJTdHlsZSogb2xkU3R5bGUpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0SW50ZXJuYWwo
UGFzc1JlZlB0cjxTdHJpbmdJbXBsPik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQ291bnRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckNvdW50ZXIuY3BwCShyZXZpc2lvbiA3ODYyMykKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDkzLDcgKzQ5Myw3
IEBAIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gUmVuZGVyQ291bnRlcjo6b3IKICAgICByZXR1cm4g
dGV4dC5pbXBsKCk7CiB9CiAKLXZvaWQgUmVuZGVyQ291bnRlcjo6Y29tcHV0ZVByZWZlcnJlZExv
Z2ljYWxXaWR0aHMoaW50IGxlYWQpCit2b2lkIFJlbmRlckNvdW50ZXI6OmNvbXB1dGVQcmVmZXJy
ZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxlYWQpCiB7CiAgICAgc2V0VGV4dEludGVybmFsKG9yaWdp
bmFsVGV4dCgpKTsKICAgICBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRo
cyhsZWFkKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuaAko
cmV2aXNpb24gNzg2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVh
bCBib29sIGlzQ291bnRlcigpIGNvbnN0OwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTdHJpbmdJ
bXBsPiBvcmlnaW5hbFRleHQoKSBjb25zdDsKICAgICAKLSAgICB2aXJ0dWFsIHZvaWQgY29tcHV0
ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRXaWR0aCk7CisgICAgdmlydHVhbCB2b2lk
IGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCk7CiAKICAgICBD
b3VudGVyQ29udGVudCBtX2NvdW50ZXI7CiAgICAgbXV0YWJsZSBDb3VudGVyTm9kZSogbV9jb3Vu
dGVyTm9kZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9i
amVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVt
YmVkZGVkT2JqZWN0LmNwcAkocmV2aXNpb24gNzg2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTksOCAr
MTk5LDcgQEAgYm9vbCBSZW5kZXJFbWJlZGRlZE9iamVjdDo6Z2V0UmVwbGFjZW1lbgogICAgIGZv
bnQudXBkYXRlKDApOwogICAgIAogICAgIHJ1biA9IFRleHRSdW4obV9yZXBsYWNlbWVudFRleHQu
Y2hhcmFjdGVycygpLCBtX3JlcGxhY2VtZW50VGV4dC5sZW5ndGgoKSk7Ci0gICAgcnVuLmRpc2Fi
bGVSb3VuZGluZ0hhY2tzKCk7Ci0gICAgdGV4dFdpZHRoID0gZm9udC5mbG9hdFdpZHRoKHJ1bik7
CisgICAgdGV4dFdpZHRoID0gZm9udC53aWR0aChydW4pOwogICAgIAogICAgIHJlcGxhY2VtZW50
VGV4dFJlY3Quc2V0U2l6ZShGbG9hdFNpemUodGV4dFdpZHRoICsgcmVwbGFjZW1lbnRUZXh0Um91
bmRlZFJlY3RMZWZ0UmlnaHRUZXh0TWFyZ2luICogMiwgcmVwbGFjZW1lbnRUZXh0Um91bmRlZFJl
Y3RIZWlnaHQpKTsKICAgICBmbG9hdCB4ID0gKGNvbnRlbnRSZWN0LnNpemUoKS53aWR0aCgpIC8g
MiAtIHJlcGxhY2VtZW50VGV4dFJlY3Quc2l6ZSgpLndpZHRoKCkgLyAyKSArIGNvbnRlbnRSZWN0
LmxvY2F0aW9uKCkueCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZp
bGVVcGxvYWRDb250cm9sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCShyZXZpc2lvbiA3ODYyMykKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI3Myw3ICsyNzMsNyBAQCB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpj
b21wdXRlUHJlCiAgICAgICAgIC8vIEZpZ3VyZSBvdXQgaG93IGJpZyB0aGUgZmlsZW5hbWUgc3Bh
Y2UgbmVlZHMgdG8gYmUgZm9yIGEgZ2l2ZW4gbnVtYmVyIG9mIGNoYXJhY3RlcnMKICAgICAgICAg
Ly8gKHVzaW5nICIwIiBhcyB0aGUgbm9taW5hbCBjaGFyYWN0ZXIpLgogICAgICAgICBjb25zdCBV
Q2hhciBjaCA9ICcwJzsKLSAgICAgICAgZmxvYXQgY2hhcldpZHRoID0gc3R5bGUoKS0+Zm9udCgp
LmZsb2F0V2lkdGgoVGV4dFJ1bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1Ry
YWlsaW5nRXhwYW5zaW9uLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSk7CisgICAgICAgIGZsb2F0IGNo
YXJXaWR0aCA9IHN0eWxlKCktPmZvbnQoKS53aWR0aChUZXh0UnVuKCZjaCwgMSwgZmFsc2UsIDAs
IDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlKSk7CiAgICAgICAgIG1f
bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gKGludCljZWlsZihjaGFyV2lkdGggKiBkZWZhdWx0
V2lkdGhOdW1DaGFycyk7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbWFnZS5jcHAJKHJldmlzaW9uIDc4NjIzKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODEsNyArODEsNyBAQCBzdGF0
aWMgY29uc3QgdW5zaWduZWQgc2hvcnQgcGFkZGluZ0hlaWdoCiAKIC8vIEFsdCB0ZXh0IGlzIHJl
c3RyaWN0ZWQgdG8gdGhpcyBtYXhpbXVtIHNpemUsIGluIHBpeGVscy4gIFRoZXNlIGFyZQogLy8g
c2lnbmVkIGludGVnZXJzIGJlY2F1c2UgdGhleSBhcmUgY29tcGFyZWQgd2l0aCBvdGhlciBzaWdu
ZWQgdmFsdWVzLgotc3RhdGljIGNvbnN0IGludCBtYXhBbHRUZXh0V2lkdGggPSAxMDI0Oworc3Rh
dGljIGNvbnN0IGZsb2F0IG1heEFsdFRleHRXaWR0aCA9IDEwMjQ7CiBzdGF0aWMgY29uc3QgaW50
IG1heEFsdFRleHRIZWlnaHQgPSAyNTY7CiAKIEludFNpemUgUmVuZGVySW1hZ2U6OmltYWdlU2l6
ZUZvckVycm9yKENhY2hlZEltYWdlKiBuZXdJbWFnZSkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCShyZXZpc2lvbiA3ODYyMykKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
NTksOCArNTU5LDggQEAgSW50UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVzQm91bmRpbmdCb3goKQog
ICAgIEFTU0VSVCghZmlyc3RMaW5lQm94KCkgPT0gIWxhc3RMaW5lQm94KCkpOyAgLy8gRWl0aGVy
IGJvdGggYXJlIG51bGwgb3IgYm90aCBleGlzdC4KICAgICBpZiAoZmlyc3RMaW5lQm94KCkgJiYg
bGFzdExpbmVCb3goKSkgewogICAgICAgICAvLyBSZXR1cm4gdGhlIHdpZHRoIG9mIHRoZSBtaW5p
bWFsIGxlZnQgc2lkZSBhbmQgdGhlIG1heGltYWwgcmlnaHQgc2lkZS4KLSAgICAgICAgaW50IGxv
Z2ljYWxMZWZ0U2lkZSA9IDA7Ci0gICAgICAgIGludCBsb2dpY2FsUmlnaHRTaWRlID0gMDsKKyAg
ICAgICAgZmxvYXQgbG9naWNhbExlZnRTaWRlID0gMDsKKyAgICAgICAgZmxvYXQgbG9naWNhbFJp
Z2h0U2lkZSA9IDA7CiAgICAgICAgIGZvciAoSW5saW5lRmxvd0JveCogY3VyciA9IGZpcnN0TGlu
ZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dExpbmVCb3goKSkgewogICAgICAgICAgICAg
aWYgKGN1cnIgPT0gZmlyc3RMaW5lQm94KCkgfHwgY3Vyci0+bG9naWNhbExlZnQoKSA8IGxvZ2lj
YWxMZWZ0U2lkZSkKICAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdFNpZGUgPSBjdXJyLT5sb2dp
Y2FsTGVmdCgpOwpAQCAtNTcwLDExICs1NzAsMTEgQEAgSW50UmVjdCBSZW5kZXJJbmxpbmU6Omxp
bmVzQm91bmRpbmdCb3goKQogICAgICAgICAKICAgICAgICAgYm9vbCBpc0hvcml6b250YWwgPSBz
dHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpOwogICAgICAgICAKLSAgICAgICAgaW50
IHggPSBpc0hvcml6b250YWwgPyBsb2dpY2FsTGVmdFNpZGUgOiBmaXJzdExpbmVCb3goKS0+eCgp
OwotICAgICAgICBpbnQgeSA9IGlzSG9yaXpvbnRhbCA/IGZpcnN0TGluZUJveCgpLT55KCkgOiBs
b2dpY2FsTGVmdFNpZGU7Ci0gICAgICAgIGludCB3aWR0aCA9IGlzSG9yaXpvbnRhbCA/IGxvZ2lj
YWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0TGluZUJveCgpLT5sb2dpY2FsQm90
dG9tKCkgLSB4OwotICAgICAgICBpbnQgaGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFzdExpbmVC
b3goKS0+bG9naWNhbEJvdHRvbSgpIC0geSA6IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVm
dFNpZGU7Ci0gICAgICAgIHJlc3VsdCA9IEludFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCk7Cisg
ICAgICAgIGZsb2F0IHggPSBpc0hvcml6b250YWwgPyBsb2dpY2FsTGVmdFNpZGUgOiBmaXJzdExp
bmVCb3goKS0+eCgpOworICAgICAgICBmbG9hdCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RMaW5l
Qm94KCktPnkoKSA6IGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICAgICAgZmxvYXQgd2lkdGggPSBpc0hv
cml6b250YWwgPyBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlIDogbGFzdExpbmVC
b3goKS0+bG9naWNhbEJvdHRvbSgpIC0geDsKKyAgICAgICAgZmxvYXQgaGVpZ2h0ID0gaXNIb3Jp
em9udGFsID8gbGFzdExpbmVCb3goKS0+bG9naWNhbEJvdHRvbSgpIC0geSA6IGxvZ2ljYWxSaWdo
dFNpZGUgLSBsb2dpY2FsTGVmdFNpZGU7CisgICAgICAgIHJlc3VsdCA9IGVuY2xvc2luZ0ludFJl
Y3QoRmxvYXRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpKTsKICAgICB9CiAKICAgICByZXR1cm4g
cmVzdWx0OwpAQCAtNTg2LDIwICs1ODYsMjAgQEAgSW50UmVjdCBSZW5kZXJJbmxpbmU6OmxpbmVz
VmlzdWFsT3ZlcmZsbwogICAgICAgICByZXR1cm4gSW50UmVjdCgpOwogCiAgICAgLy8gUmV0dXJu
IHRoZSB3aWR0aCBvZiB0aGUgbWluaW1hbCBsZWZ0IHNpZGUgYW5kIHRoZSBtYXhpbWFsIHJpZ2h0
IHNpZGUuCi0gICAgaW50IGxvZ2ljYWxMZWZ0U2lkZSA9IG51bWVyaWNfbGltaXRzPGludD46Om1h
eCgpOwotICAgIGludCBsb2dpY2FsUmlnaHRTaWRlID0gbnVtZXJpY19saW1pdHM8aW50Pjo6bWlu
KCk7CisgICAgZmxvYXQgbG9naWNhbExlZnRTaWRlID0gbnVtZXJpY19saW1pdHM8aW50Pjo6bWF4
KCk7CisgICAgZmxvYXQgbG9naWNhbFJpZ2h0U2lkZSA9IG51bWVyaWNfbGltaXRzPGludD46Om1p
bigpOwogICAgIGZvciAoSW5saW5lRmxvd0JveCogY3VyciA9IGZpcnN0TGluZUJveCgpOyBjdXJy
OyBjdXJyID0gY3Vyci0+bmV4dExpbmVCb3goKSkgewotICAgICAgICBsb2dpY2FsTGVmdFNpZGUg
PSBtaW4obG9naWNhbExlZnRTaWRlLCBjdXJyLT5sb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCkp
OwotICAgICAgICBsb2dpY2FsUmlnaHRTaWRlID0gbWF4KGxvZ2ljYWxSaWdodFNpZGUsIGN1cnIt
PmxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93KCkpOworICAgICAgICBsb2dpY2FsTGVmdFNpZGUg
PSBtaW4obG9naWNhbExlZnRTaWRlLCBzdGF0aWNfY2FzdDxmbG9hdD4oY3Vyci0+bG9naWNhbExl
ZnRWaXN1YWxPdmVyZmxvdygpKSk7CisgICAgICAgIGxvZ2ljYWxSaWdodFNpZGUgPSBtYXgobG9n
aWNhbFJpZ2h0U2lkZSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KGN1cnItPmxvZ2ljYWxSaWdodFZpc3Vh
bE92ZXJmbG93KCkpKTsKICAgICB9CiAKICAgICBib29sIGlzSG9yaXpvbnRhbCA9IHN0eWxlKCkt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7CiAgICAgICAgIAotICAgIGludCB4ID0gaXNIb3Jp
em9udGFsID8gbG9naWNhbExlZnRTaWRlIDogZmlyc3RMaW5lQm94KCktPm1pblhWaXN1YWxPdmVy
ZmxvdygpOwotICAgIGludCB5ID0gaXNIb3Jpem9udGFsID8gZmlyc3RMaW5lQm94KCktPm1pbllW
aXN1YWxPdmVyZmxvdygpIDogbG9naWNhbExlZnRTaWRlOwotICAgIGludCB3aWR0aCA9IGlzSG9y
aXpvbnRhbCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0TGluZUJv
eCgpLT5tYXhYVmlzdWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT5taW5YVmlzdWFsT3Zl
cmZsb3coKTsKLSAgICBpbnQgaGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gbGFzdExpbmVCb3goKS0+
bWF4WVZpc3VhbE92ZXJmbG93KCkgLSBmaXJzdExpbmVCb3goKS0+bWluWVZpc3VhbE92ZXJmbG93
KCkgOiBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlOwotICAgIHJldHVybiBJbnRS
ZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpOworICAgIGZsb2F0IHggPSBpc0hvcml6b250YWwgPyBs
b2dpY2FsTGVmdFNpZGUgOiBmaXJzdExpbmVCb3goKS0+bWluWFZpc3VhbE92ZXJmbG93KCk7Cisg
ICAgZmxvYXQgeSA9IGlzSG9yaXpvbnRhbCA/IGZpcnN0TGluZUJveCgpLT5taW5ZVmlzdWFsT3Zl
cmZsb3coKSA6IGxvZ2ljYWxMZWZ0U2lkZTsKKyAgICBmbG9hdCB3aWR0aCA9IGlzSG9yaXpvbnRh
bCA/IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGUgOiBsYXN0TGluZUJveCgpLT5t
YXhYVmlzdWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT5taW5YVmlzdWFsT3ZlcmZsb3co
KTsKKyAgICBmbG9hdCBoZWlnaHQgPSBpc0hvcml6b250YWwgPyBsYXN0TGluZUJveCgpLT5tYXhZ
VmlzdWFsT3ZlcmZsb3coKSAtIGZpcnN0TGluZUJveCgpLT5taW5ZVmlzdWFsT3ZlcmZsb3coKSA6
IGxvZ2ljYWxSaWdodFNpZGUgLSBsb2dpY2FsTGVmdFNpZGU7CisgICAgcmV0dXJuIGVuY2xvc2lu
Z0ludFJlY3QoRmxvYXRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpKTsKIH0KIAogSW50UmVjdCBS
ZW5kZXJJbmxpbmU6OmNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVs
T2JqZWN0KiByZXBhaW50Q29udGFpbmVyKQpAQCAtOTYzLDggKzk2Myw4IEBAIHZvaWQgUmVuZGVy
SW5saW5lOjphZGRGb2N1c1JpbmdSZWN0cyhWZWMKIHsKICAgICBmb3IgKElubGluZUZsb3dCb3gq
IGN1cnIgPSBmaXJzdExpbmVCb3goKTsgY3VycjsgY3VyciA9IGN1cnItPm5leHRMaW5lQm94KCkp
IHsKICAgICAgICAgUm9vdElubGluZUJveCogcm9vdCA9IGN1cnItPnJvb3QoKTsKLSAgICAgICAg
aW50IHRvcCA9IG1heChyb290LT5saW5lVG9wKCksIGN1cnItPnkoKSk7Ci0gICAgICAgIGludCBi
b3R0b20gPSBtaW4ocm9vdC0+bGluZUJvdHRvbSgpLCBjdXJyLT55KCkgKyBjdXJyLT5sb2dpY2Fs
SGVpZ2h0KCkpOworICAgICAgICBpbnQgdG9wID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+
bG9naWNhbFRvcCgpKTsKKyAgICAgICAgaW50IGJvdHRvbSA9IG1pbihyb290LT5saW5lQm90dG9t
KCksIGN1cnItPmxvZ2ljYWxCb3R0b20oKSk7CiAgICAgICAgIEludFJlY3QgcmVjdCh0eCArIGN1
cnItPngoKSwgdHkgKyB0b3AsIGN1cnItPmxvZ2ljYWxXaWR0aCgpLCBib3R0b20gLSB0b3ApOwog
ICAgICAgICBpZiAoIXJlY3QuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmVjdHMuYXBwZW5kKHJl
Y3QpOwpAQCAtMTAxNSw4ICsxMDE1LDggQEAgdm9pZCBSZW5kZXJJbmxpbmU6OnBhaW50T3V0bGlu
ZShHcmFwaGljcwogICAgIHJlY3RzLmFwcGVuZChJbnRSZWN0KCkpOwogICAgIGZvciAoSW5saW5l
Rmxvd0JveCogY3VyciA9IGZpcnN0TGluZUJveCgpOyBjdXJyOyBjdXJyID0gY3Vyci0+bmV4dExp
bmVCb3goKSkgewogICAgICAgICBSb290SW5saW5lQm94KiByb290ID0gY3Vyci0+cm9vdCgpOwot
ICAgICAgICBpbnQgdG9wID0gbWF4KHJvb3QtPmxpbmVUb3AoKSwgY3Vyci0+eSgpKTsKLSAgICAg
ICAgaW50IGJvdHRvbSA9IG1pbihyb290LT5saW5lQm90dG9tKCksIGN1cnItPnkoKSArIGN1cnIt
PmxvZ2ljYWxIZWlnaHQoKSk7CisgICAgICAgIGludCB0b3AgPSBtYXgocm9vdC0+bGluZVRvcCgp
LCBjdXJyLT5sb2dpY2FsVG9wKCkpOworICAgICAgICBpbnQgYm90dG9tID0gbWluKHJvb3QtPmxp
bmVCb3R0b20oKSwgY3Vyci0+bG9naWNhbEJvdHRvbSgpKTsKICAgICAgICAgcmVjdHMuYXBwZW5k
KEludFJlY3QoY3Vyci0+eCgpLCB0b3AsIGN1cnItPmxvZ2ljYWxXaWR0aCgpLCBib3R0b20gLSB0
b3ApKTsKICAgICB9CiAgICAgcmVjdHMuYXBwZW5kKEludFJlY3QoKSk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCShyZXZpc2lvbiA3ODYyMykKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTExLDcgKzExMSw3IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6dXBkYXRlRnJvbUVsZW1l
bnQoKQogICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKCF0
ZXh0LmlzRW1wdHkoKSkgewotICAgICAgICAgICAgICAgIGZsb2F0IHRleHRXaWR0aCA9IGl0ZW1G
b250LmZsb2F0V2lkdGgoVGV4dFJ1bih0ZXh0LmltcGwoKSwgZmFsc2UsIDAsIDAsIFRleHRSdW46
OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSk7Cisg
ICAgICAgICAgICAgICAgZmxvYXQgdGV4dFdpZHRoID0gaXRlbUZvbnQud2lkdGgoVGV4dFJ1bih0
ZXh0LmltcGwoKSwgZmFsc2UsIDAsIDAsIFRleHRSdW46OkFsbG93VHJhaWxpbmdFeHBhbnNpb24s
IGZhbHNlLCBmYWxzZSkpOwogICAgICAgICAgICAgICAgIHdpZHRoID0gbWF4KHdpZHRoLCB0ZXh0
V2lkdGgpOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0zMzMsNyArMzMzLDcgQEAgdm9p
ZCBSZW5kZXJMaXN0Qm94OjpwYWludEl0ZW1Gb3JlZ3JvdW5kKAogCiAgICAgdW5zaWduZWQgbGVu
Z3RoID0gaXRlbVRleHQubGVuZ3RoKCk7CiAgICAgY29uc3QgVUNoYXIqIHN0cmluZyA9IGl0ZW1U
ZXh0LmNoYXJhY3RlcnMoKTsKLSAgICBUZXh0UnVuIHRleHRSdW4oc3RyaW5nLCBsZW5ndGgsIGZh
bHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCAhaXRlbVN0eWxlLT5p
c0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIGl0ZW1TdHlsZS0+dW5pY29kZUJpZGkoKSA9PSBPdmVy
cmlkZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBUZXh0UnVuIHRleHRSdW4oc3RyaW5nLCBsZW5ndGgs
IGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCAhaXRlbVN0eWxl
LT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCksIGl0ZW1TdHlsZS0+dW5pY29kZUJpZGkoKSA9PSBP
dmVycmlkZSk7CiAKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRleHQKICAgICBpZiAoaXRlbVN0eWxl
LT52aXNpYmlsaXR5KCkgIT0gSElEREVOKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1lbnVMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWVudUxpc3QuY3BwCShyZXZpc2lvbiA3ODYyMykKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1MywxMCAr
MTUzLDEwIEBAIHZvaWQgUmVuZGVyTWVudUxpc3Q6OnVwZGF0ZU9wdGlvbnNXaWR0aCgKICAgICAg
ICAgICAgIGlmIChSZW5kZXJTdHlsZSogb3B0aW9uU3R5bGUgPSBlbGVtZW50LT5yZW5kZXJTdHls
ZSgpKQogICAgICAgICAgICAgICAgIG9wdGlvbldpZHRoICs9IG9wdGlvblN0eWxlLT50ZXh0SW5k
ZW50KCkuY2FsY01pblZhbHVlKDApOwogICAgICAgICAgICAgaWYgKCF0ZXh0LmlzRW1wdHkoKSkK
LSAgICAgICAgICAgICAgICBvcHRpb25XaWR0aCArPSBzdHlsZSgpLT5mb250KCkuZmxvYXRXaWR0
aCh0ZXh0KTsKKyAgICAgICAgICAgICAgICBvcHRpb25XaWR0aCArPSBzdHlsZSgpLT5mb250KCku
d2lkdGgodGV4dCk7CiAgICAgICAgICAgICBtYXhPcHRpb25XaWR0aCA9IG1heChtYXhPcHRpb25X
aWR0aCwgb3B0aW9uV2lkdGgpOwogICAgICAgICB9IGVsc2UgaWYgKCF0ZXh0LmlzRW1wdHkoKSkK
LSAgICAgICAgICAgIG1heE9wdGlvbldpZHRoID0gbWF4KG1heE9wdGlvbldpZHRoLCBzdHlsZSgp
LT5mb250KCkuZmxvYXRXaWR0aCh0ZXh0KSk7CisgICAgICAgICAgICBtYXhPcHRpb25XaWR0aCA9
IG1heChtYXhPcHRpb25XaWR0aCwgc3R5bGUoKS0+Zm9udCgpLndpZHRoKHRleHQpKTsKICAgICB9
CiAKICAgICBpbnQgd2lkdGggPSBzdGF0aWNfY2FzdDxpbnQ+KGNlaWxmKG1heE9wdGlvbldpZHRo
KSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCShyZXZpc2lv
biA3ODYyMykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTA2LDE1ICs1MDYsMTkgQEAgSW50UmVjdCBSZW5kZXJUZXh0Ojpsb2Nh
bENhcmV0UmVjdChJbmxpbgogICAgIGludCBoZWlnaHQgPSBib3gtPnJvb3QoKS0+c2VsZWN0aW9u
SGVpZ2h0KCk7CiAgICAgaW50IHRvcCA9IGJveC0+cm9vdCgpLT5zZWxlY3Rpb25Ub3AoKTsKIAot
ICAgIGludCBsZWZ0ID0gYm94LT5wb3NpdGlvbkZvck9mZnNldChjYXJldE9mZnNldCk7CisgICAg
Ly8gR28gYWhlYWQgYW5kIHJvdW5kIGxlZnQgdG8gc25hcCBpdCB0byB0aGUgbmVhcmVzdCBwaXhl
bC4KKyAgICBmbG9hdCBsZWZ0ID0gYm94LT5wb3NpdGlvbkZvck9mZnNldChjYXJldE9mZnNldCk7
CiAKICAgICAvLyBEaXN0cmlidXRlIHRoZSBjYXJldCdzIHdpZHRoIHRvIGVpdGhlciBzaWRlIG9m
IHRoZSBvZmZzZXQuCiAgICAgaW50IGNhcmV0V2lkdGhMZWZ0T2ZPZmZzZXQgPSBjYXJldFdpZHRo
IC8gMjsKICAgICBsZWZ0IC09IGNhcmV0V2lkdGhMZWZ0T2ZPZmZzZXQ7CiAgICAgaW50IGNhcmV0
V2lkdGhSaWdodE9mT2Zmc2V0ID0gY2FyZXRXaWR0aCAtIGNhcmV0V2lkdGhMZWZ0T2ZPZmZzZXQ7
CiAKLSAgICBpbnQgcm9vdExlZnQgPSBib3gtPnJvb3QoKS0+bG9naWNhbExlZnQoKTsKLSAgICBp
bnQgcm9vdFJpZ2h0ID0gcm9vdExlZnQgKyBib3gtPnJvb3QoKS0+bG9naWNhbFdpZHRoKCk7Cisg
ICAgbGVmdCA9IHJvdW5kZihsZWZ0KTsKKworICAgIGZsb2F0IHJvb3RMZWZ0ID0gYm94LT5yb290
KCktPmxvZ2ljYWxMZWZ0KCk7CisgICAgZmxvYXQgcm9vdFJpZ2h0ID0gYm94LT5yb290KCktPmxv
Z2ljYWxSaWdodCgpOworCiAgICAgLy8gRklYTUU6IHNob3VsZCB3ZSB1c2UgdGhlIHdpZHRoIG9m
IHRoZSByb290IGlubGluZSBib3ggb3IgdGhlCiAgICAgLy8gd2lkdGggb2YgdGhlIGNvbnRhaW5p
bmcgYmxvY2sgZm9yIHRoaXM/CiAgICAgaWYgKGV4dHJhV2lkdGhUb0VuZE9mTGluZSkKQEAgLTUy
MiwxNCArNTI2LDE0IEBAIEludFJlY3QgUmVuZGVyVGV4dDo6bG9jYWxDYXJldFJlY3QoSW5saW4K
IAogICAgIFJlbmRlckJsb2NrKiBjYiA9IGNvbnRhaW5pbmdCbG9jaygpOwogICAgIFJlbmRlclN0
eWxlKiBjYlN0eWxlID0gY2ItPnN0eWxlKCk7Ci0gICAgaW50IGxlZnRFZGdlOwotICAgIGludCBy
aWdodEVkZ2U7CisgICAgZmxvYXQgbGVmdEVkZ2U7CisgICAgZmxvYXQgcmlnaHRFZGdlOwogICAg
IGlmIChzdHlsZSgpLT5hdXRvV3JhcCgpKSB7CiAgICAgICAgIGxlZnRFZGdlID0gY2ItPmxvZ2lj
YWxMZWZ0KCk7CiAgICAgICAgIHJpZ2h0RWRnZSA9IGNiLT5sb2dpY2FsUmlnaHQoKTsKICAgICB9
IGVsc2UgewotICAgICAgICBsZWZ0RWRnZSA9IG1pbihjYi0+bG9naWNhbExlZnQoKSwgcm9vdExl
ZnQpOwotICAgICAgICByaWdodEVkZ2UgPSBtYXgoY2ItPmxvZ2ljYWxSaWdodCgpLCByb290Umln
aHQpOworICAgICAgICBsZWZ0RWRnZSA9IG1pbihzdGF0aWNfY2FzdDxmbG9hdD4oY2ItPmxvZ2lj
YWxMZWZ0KCkpLCByb290TGVmdCk7CisgICAgICAgIHJpZ2h0RWRnZSA9IG1heChzdGF0aWNfY2Fz
dDxmbG9hdD4oY2ItPmxvZ2ljYWxSaWdodCgpKSwgcm9vdFJpZ2h0KTsKICAgICB9CiAKICAgICBi
b29sIHJpZ2h0QWxpZ25lZCA9IGZhbHNlOwpAQCAtNTYwLDcgKzU2NCw3IEBAIEludFJlY3QgUmVu
ZGVyVGV4dDo6bG9jYWxDYXJldFJlY3QoSW5saW4KICAgICByZXR1cm4gc3R5bGUoKS0+aXNIb3Jp
em9udGFsV3JpdGluZ01vZGUoKSA/IEludFJlY3QobGVmdCwgdG9wLCBjYXJldFdpZHRoLCBoZWln
aHQpIDogSW50UmVjdCh0b3AsIGxlZnQsIGhlaWdodCwgY2FyZXRXaWR0aCk7CiB9CiAKLUFMV0FZ
U19JTkxJTkUgaW50IFJlbmRlclRleHQ6OndpZHRoRnJvbUNhY2hlKGNvbnN0IEZvbnQmIGYsIGlu
dCBzdGFydCwgaW50IGxlbiwgaW50IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEq
PiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKK0FM
V0FZU19JTkxJTkUgZmxvYXQgUmVuZGVyVGV4dDo6d2lkdGhGcm9tQ2FjaGUoY29uc3QgRm9udCYg
ZiwgaW50IHN0YXJ0LCBpbnQgbGVuLCBmbG9hdCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZv
bnREYXRhKj4qIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNv
bnN0CiB7CiAgICAgaWYgKHN0eWxlKCktPmhhc1RleHRDb21iaW5lKCkpIHsKICAgICAgICAgY29u
c3QgUmVuZGVyQ29tYmluZVRleHQqIGNvbWJpbmVUZXh0ID0gdG9SZW5kZXJDb21iaW5lVGV4dCh0
aGlzKTsKQEAgLTU2OSw5ICs1NzMsOSBAQCBBTFdBWVNfSU5MSU5FIGludCBSZW5kZXJUZXh0Ojp3
aWR0aEZyb21DCiAgICAgfQogCiAgICAgaWYgKGYuaXNGaXhlZFBpdGNoKCkgJiYgIWYuaXNTbWFs
bENhcHMoKSAmJiBtX2lzQWxsQVNDSUkpIHsKLSAgICAgICAgaW50IG1vbm9zcGFjZUNoYXJhY3Rl
cldpZHRoID0gZi5zcGFjZVdpZHRoKCk7Ci0gICAgICAgIGludCB0YWJXaWR0aCA9IGFsbG93VGFi
cygpID8gbW9ub3NwYWNlQ2hhcmFjdGVyV2lkdGggKiA4IDogMDsKLSAgICAgICAgaW50IHcgPSAw
OworICAgICAgICBmbG9hdCBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aCA9IGYuc3BhY2VXaWR0aCgp
OworICAgICAgICBmbG9hdCB0YWJXaWR0aCA9IGFsbG93VGFicygpID8gbW9ub3NwYWNlQ2hhcmFj
dGVyV2lkdGggKiA4IDogMDsKKyAgICAgICAgZmxvYXQgdyA9IDA7CiAgICAgICAgIGJvb2wgaXNT
cGFjZTsKICAgICAgICAgYm9vbCBwcmV2aW91c0NoYXJXYXNTcGFjZSA9IHRydWU7IC8vIEZJWE1F
OiBQcmVzZXJ2ZXMgaGlzdG9yaWNhbCBiZWhhdmlvciwgYnV0IHNlZW1zIHdyb25nIGZvciBzdGFy
dCA+IDAuCiAgICAgICAgIEFTU0VSVChtX3RleHQpOwpAQCAtNTgzLDcgKzU4Nyw3IEBAIEFMV0FZ
U19JTkxJTkUgaW50IFJlbmRlclRleHQ6OndpZHRoRnJvbUMKICAgICAgICAgICAgICAgICAgICAg
dyArPSBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aDsKICAgICAgICAgICAgICAgICAgICAgaXNTcGFj
ZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChjID09ICdcdCcpIHsKLSAgICAg
ICAgICAgICAgICAgICAgdyArPSB0YWJXaWR0aCA/IHRhYldpZHRoIC0gKCh4UG9zICsgdykgJSB0
YWJXaWR0aCkgOiBtb25vc3BhY2VDaGFyYWN0ZXJXaWR0aDsKKyAgICAgICAgICAgICAgICAgICAg
dyArPSB0YWJXaWR0aCA/IHRhYldpZHRoIC0gZm1vZGYoeFBvcyArIHcsIHRhYldpZHRoKSA6IG1v
bm9zcGFjZUNoYXJhY3RlcldpZHRoOwogICAgICAgICAgICAgICAgICAgICBpc1NwYWNlID0gdHJ1
ZTsKICAgICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgaXNTcGFjZSA9
IGZhbHNlOwpAQCAtNjAxLDEyICs2MDUsMTIgQEAgQUxXQVlTX0lOTElORSBpbnQgUmVuZGVyVGV4
dDo6d2lkdGhGcm9tQwogICAgIHJldHVybiBmLndpZHRoKFRleHRSdW4odGV4dCgpLT5jaGFyYWN0
ZXJzKCkgKyBzdGFydCwgbGVuLCBhbGxvd1RhYnMoKSwgeFBvcyksIGZhbGxiYWNrRm9udHMsIGds
eXBoT3ZlcmZsb3cpOwogfQogCi12b2lkIFJlbmRlclRleHQ6OnRyaW1tZWRQcmVmV2lkdGhzKGlu
dCBsZWFkV2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgYmVn
aW5NaW5XLCBib29sJiBiZWdpbldTLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQmIGVuZE1pblcsIGJvb2wmIGVuZFdTLAordm9pZCBSZW5kZXJUZXh0Ojp0cmltbWVkUHJl
ZldpZHRocyhmbG9hdCBsZWFkV2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZsb2F0JiBiZWdpbk1pblcsIGJvb2wmIGJlZ2luV1MsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZsb2F0JiBlbmRNaW5XLCBib29sJiBlbmRXUywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCYgaGFzQnJlYWthYmxlQ2hhciwgYm9vbCYgaGFz
QnJlYWssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgYmVnaW5NYXhX
LCBpbnQmIGVuZE1heFcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYg
bWluVywgaW50JiBtYXhXLCBib29sJiBzdHJpcEZyb250U3BhY2VzKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBmbG9hdCYgYmVnaW5NYXhXLCBmbG9hdCYgZW5kTWF4VywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQmIG1pblcsIGZsb2F0JiBtYXhX
LCBib29sJiBzdHJpcEZyb250U3BhY2VzKQogewogICAgIGJvb2wgY29sbGFwc2VXaGl0ZVNwYWNl
ID0gc3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNwYWNlKCk7CiAgICAgaWYgKCFjb2xsYXBzZVdoaXRl
U3BhY2UpCkBAIC02NDYsNyArNjUwLDcgQEAgdm9pZCBSZW5kZXJUZXh0Ojp0cmltbWVkUHJlZldp
ZHRocyhpbnQgbAogICAgICAgICBjb25zdCBGb250JiBmID0gc3R5bGUoKS0+Zm9udCgpOyAvLyBG
SVhNRTogVGhpcyBpZ25vcmVzIGZpcnN0LWxpbmUuCiAgICAgICAgIGlmIChzdHJpcEZyb250U3Bh
Y2VzKSB7CiAgICAgICAgICAgICBjb25zdCBVQ2hhciBzcGFjZSA9ICcgJzsKLSAgICAgICAgICAg
IGludCBzcGFjZVdpZHRoID0gZi53aWR0aChUZXh0UnVuKCZzcGFjZSwgMSkpOworICAgICAgICAg
ICAgZmxvYXQgc3BhY2VXaWR0aCA9IGYud2lkdGgoVGV4dFJ1bigmc3BhY2UsIDEpKTsKICAgICAg
ICAgICAgIG1heFcgLT0gc3BhY2VXaWR0aDsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBt
YXhXICs9IGYud29yZFNwYWNpbmcoKTsKQEAgLTY5NSw3ICs2OTksNyBAQCBzdGF0aWMgaW5saW5l
IGJvb2wgaXNTcGFjZUFjY29yZGluZ1RvU3R5CiAgICAgcmV0dXJuIGMgPT0gJyAnIHx8IChjID09
IG5vQnJlYWtTcGFjZSAmJiBzdHlsZS0+bmJzcE1vZGUoKSA9PSBTUEFDRSk7CiB9CiAKLWludCBS
ZW5kZXJUZXh0OjptaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25zdAorZmxvYXQgUmVuZGVy
VGV4dDo6bWluTG9naWNhbFdpZHRoKCkgY29uc3QKIHsKICAgICBpZiAocHJlZmVycmVkTG9naWNh
bFdpZHRoc0RpcnR5KCkpCiAgICAgICAgIGNvbnN0X2Nhc3Q8UmVuZGVyVGV4dCo+KHRoaXMpLT5j
b21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygwKTsKQEAgLTcwMyw3ICs3MDcsNyBAQCBpbnQg
UmVuZGVyVGV4dDo6bWluUHJlZmVycmVkTG9naWNhbFdpZHRoCiAgICAgcmV0dXJuIG1fbWluV2lk
dGg7CiB9CiAKLWludCBSZW5kZXJUZXh0OjptYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25z
dAorZmxvYXQgUmVuZGVyVGV4dDo6bWF4TG9naWNhbFdpZHRoKCkgY29uc3QKIHsKICAgICBpZiAo
cHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KCkpCiAgICAgICAgIGNvbnN0X2Nhc3Q8UmVuZGVy
VGV4dCo+KHRoaXMpLT5jb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygwKTsKQEAgLTcxMSw3
ICs3MTUsNyBAQCBpbnQgUmVuZGVyVGV4dDo6bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoCiAgICAg
cmV0dXJuIG1fbWF4V2lkdGg7CiB9CiAKLXZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVByZWZlcnJl
ZExvZ2ljYWxXaWR0aHMoaW50IGxlYWRXaWR0aCkKK3ZvaWQgUmVuZGVyVGV4dDo6Y29tcHV0ZVBy
ZWZlcnJlZExvZ2ljYWxXaWR0aHMoZmxvYXQgbGVhZFdpZHRoKQogewogICAgIEhhc2hTZXQ8Y29u
c3QgU2ltcGxlRm9udERhdGEqPiBmYWxsYmFja0ZvbnRzOwogICAgIEdseXBoT3ZlcmZsb3cgZ2x5
cGhPdmVyZmxvdzsKQEAgLTcyMCw3ICs3MjQsNyBAQCB2b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQ
cmVmZXJyZWRMb2dpY2FsCiAgICAgICAgIG1fa25vd25Ub0hhdmVOb092ZXJmbG93QW5kTm9GYWxs
YmFja0ZvbnRzID0gdHJ1ZTsKIH0KIAotdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRlUHJlZmVycmVk
TG9naWNhbFdpZHRocyhpbnQgbGVhZFdpZHRoLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRh
Kj4mIGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cmIGdseXBoT3ZlcmZsb3cpCit2b2lkIFJl
bmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCwg
SGFzaFNldDxjb25zdCBTaW1wbGVGb250RGF0YSo+JiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJm
bG93JiBnbHlwaE92ZXJmbG93KQogewogICAgIEFTU0VSVChtX2hhc1RhYiB8fCBwcmVmZXJyZWRM
b2dpY2FsV2lkdGhzRGlydHkoKSB8fCAhbV9rbm93blRvSGF2ZU5vT3ZlcmZsb3dBbmROb0ZhbGxi
YWNrRm9udHMpOwogCkBAIC03MzIsOCArNzM2LDggQEAgdm9pZCBSZW5kZXJUZXh0Ojpjb21wdXRl
UHJlZmVycmVkTG9naWNhbAogICAgIGlmIChpc0JSKCkpCiAgICAgICAgIHJldHVybjsKIAotICAg
IGludCBjdXJyTWluV2lkdGggPSAwOwotICAgIGludCBjdXJyTWF4V2lkdGggPSAwOworICAgIGZs
b2F0IGN1cnJNaW5XaWR0aCA9IDA7CisgICAgZmxvYXQgY3Vyck1heFdpZHRoID0gMDsKICAgICBt
X2hhc0JyZWFrYWJsZUNoYXIgPSBmYWxzZTsKICAgICBtX2hhc0JyZWFrID0gZmFsc2U7CiAgICAg
bV9oYXNUYWIgPSBmYWxzZTsKQEAgLTc0MSw3ICs3NDUsNyBAQCB2b2lkIFJlbmRlclRleHQ6OmNv
bXB1dGVQcmVmZXJyZWRMb2dpY2FsCiAgICAgbV9oYXNFbmRXUyA9IGZhbHNlOwogCiAgICAgY29u
c3QgRm9udCYgZiA9IHN0eWxlKCktPmZvbnQoKTsgLy8gRklYTUU6IFRoaXMgaWdub3JlcyBmaXJz
dC1saW5lLgotICAgIGludCB3b3JkU3BhY2luZyA9IHN0eWxlKCktPndvcmRTcGFjaW5nKCk7Cisg
ICAgZmxvYXQgd29yZFNwYWNpbmcgPSBzdHlsZSgpLT53b3JkU3BhY2luZygpOwogICAgIGludCBs
ZW4gPSB0ZXh0TGVuZ3RoKCk7CiAgICAgY29uc3QgVUNoYXIqIHR4dCA9IGNoYXJhY3RlcnMoKTsK
ICAgICBib29sIG5lZWRzV29yZFNwYWNpbmcgPSBmYWxzZTsKQEAgLTgyMSw3ICs4MjUsNyBAQCB2
b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsCiAKICAgICAgICAgaW50IHdv
cmRMZW4gPSBqIC0gaTsKICAgICAgICAgaWYgKHdvcmRMZW4pIHsKLSAgICAgICAgICAgIGludCB3
ID0gd2lkdGhGcm9tQ2FjaGUoZiwgaSwgd29yZExlbiwgbGVhZFdpZHRoICsgY3Vyck1heFdpZHRo
LCAmZmFsbGJhY2tGb250cywgJmdseXBoT3ZlcmZsb3cpOworICAgICAgICAgICAgZmxvYXQgdyA9
IHdpZHRoRnJvbUNhY2hlKGYsIGksIHdvcmRMZW4sIGxlYWRXaWR0aCArIGN1cnJNYXhXaWR0aCwg
JmZhbGxiYWNrRm9udHMsICZnbHlwaE92ZXJmbG93KTsKICAgICAgICAgICAgIGlmIChmaXJzdEds
eXBoTGVmdE92ZXJmbG93IDwgMCkKICAgICAgICAgICAgICAgICBmaXJzdEdseXBoTGVmdE92ZXJm
bG93ID0gZ2x5cGhPdmVyZmxvdy5sZWZ0OwogICAgICAgICAgICAgY3Vyck1pbldpZHRoICs9IHc7
CkBAIC05MzMsMTcgKzkzNywxNyBAQCBib29sIFJlbmRlclRleHQ6OmNvbnRhaW5zT25seVdoaXRl
c3BhY2UoCiAgICAgcmV0dXJuIGN1cnJQb3MgPj0gKGZyb20gKyBsZW4pOwogfQogCi1JbnRQb2lu
dCBSZW5kZXJUZXh0OjpmaXJzdFJ1bk9yaWdpbigpIGNvbnN0CitGbG9hdFBvaW50IFJlbmRlclRl
eHQ6OmZpcnN0UnVuT3JpZ2luKCkgY29uc3QKIHsKICAgICByZXR1cm4gSW50UG9pbnQoZmlyc3RS
dW5YKCksIGZpcnN0UnVuWSgpKTsKIH0KIAotaW50IFJlbmRlclRleHQ6OmZpcnN0UnVuWCgpIGNv
bnN0CitmbG9hdCBSZW5kZXJUZXh0OjpmaXJzdFJ1blgoKSBjb25zdAogewogICAgIHJldHVybiBt
X2ZpcnN0VGV4dEJveCA/IG1fZmlyc3RUZXh0Qm94LT5tX3ggOiAwOwogfQogCi1pbnQgUmVuZGVy
VGV4dDo6Zmlyc3RSdW5ZKCkgY29uc3QKK2Zsb2F0IFJlbmRlclRleHQ6OmZpcnN0UnVuWSgpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIG1fZmlyc3RUZXh0Qm94ID8gbV9maXJzdFRleHRCb3gtPm1feSA6
IDA7CiB9CkBAIC0xMjIzLDcgKzEyMjcsNyBAQCB2b2lkIFJlbmRlclRleHQ6OnBvc2l0aW9uTGlu
ZUJveChJbmxpbmVCCiAgICAgbV9jb250YWluc1JldmVyc2VkVGV4dCB8PSAhcy0+aXNMZWZ0VG9S
aWdodERpcmVjdGlvbigpOwogfQogCi11bnNpZ25lZCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25l
ZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGludCB4UG9zLCBib29sIGZpcnN0TGluZSwgSGFzaFNldDxj
b25zdCBTaW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlw
aE92ZXJmbG93KSBjb25zdAorZmxvYXQgUmVuZGVyVGV4dDo6d2lkdGgodW5zaWduZWQgZnJvbSwg
dW5zaWduZWQgbGVuLCBmbG9hdCB4UG9zLCBib29sIGZpcnN0TGluZSwgSGFzaFNldDxjb25zdCBT
aW1wbGVGb250RGF0YSo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJm
bG93KSBjb25zdAogewogICAgIGlmIChmcm9tID49IHRleHRMZW5ndGgoKSkKICAgICAgICAgcmV0
dXJuIDA7CkBAIC0xMjM0LDEzICsxMjM4LDEzIEBAIHVuc2lnbmVkIFJlbmRlclRleHQ6OndpZHRo
KHVuc2lnbmVkIGZyb20KICAgICByZXR1cm4gd2lkdGgoZnJvbSwgbGVuLCBzdHlsZShmaXJzdExp
bmUpLT5mb250KCksIHhQb3MsIGZhbGxiYWNrRm9udHMsIGdseXBoT3ZlcmZsb3cpOwogfQogCi11
bnNpZ25lZCBSZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNv
bnN0IEZvbnQmIGYsIGludCB4UG9zLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZh
bGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cqIGdseXBoT3ZlcmZsb3cpIGNvbnN0CitmbG9hdCBS
ZW5kZXJUZXh0Ojp3aWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCBsZW4sIGNvbnN0IEZvbnQm
IGYsIGZsb2F0IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tG
b250cywgR2x5cGhPdmVyZmxvdyogZ2x5cGhPdmVyZmxvdykgY29uc3QKIHsKICAgICBBU1NFUlQo
ZnJvbSArIGxlbiA8PSB0ZXh0TGVuZ3RoKCkpOwogICAgIGlmICghY2hhcmFjdGVycygpKQogICAg
ICAgICByZXR1cm4gMDsKIAotICAgIGludCB3OworICAgIGZsb2F0IHc7CiAgICAgaWYgKCZmID09
ICZzdHlsZSgpLT5mb250KCkpIHsKICAgICAgICAgaWYgKCFzdHlsZSgpLT5wcmVzZXJ2ZU5ld2xp
bmUoKSAmJiAhZnJvbSAmJiBsZW4gPT0gdGV4dExlbmd0aCgpKSB7CiAgICAgICAgICAgICBpZiAo
ZmFsbGJhY2tGb250cykgewpAQCAtMTI1Miw3ICsxMjU2LDcgQEAgdW5zaWduZWQgUmVuZGVyVGV4
dDo6d2lkdGgodW5zaWduZWQgZnJvbQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICB3ID0gbV9tYXhXaWR0aDsKICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHcg
PSBtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKTsKKyAgICAgICAgICAgICAgICB3ID0gbWF4TG9n
aWNhbFdpZHRoKCk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgdyA9IHdpZHRoRnJvbUNh
Y2hlKGYsIGZyb20sIGxlbiwgeFBvcywgZmFsbGJhY2tGb250cywgZ2x5cGhPdmVyZmxvdyk7CiAg
ICAgfSBlbHNlCkBAIC0xMjY4LDggKzEyNzIsOCBAQCBJbnRSZWN0IFJlbmRlclRleHQ6OmxpbmVz
Qm91bmRpbmdCb3goKSBjCiAgICAgQVNTRVJUKCFmaXJzdFRleHRCb3goKSA9PSAhbGFzdFRleHRC
b3goKSk7ICAvLyBFaXRoZXIgYm90aCBhcmUgbnVsbCBvciBib3RoIGV4aXN0LgogICAgIGlmIChm
aXJzdFRleHRCb3goKSAmJiBsYXN0VGV4dEJveCgpKSB7CiAgICAgICAgIC8vIFJldHVybiB0aGUg
d2lkdGggb2YgdGhlIG1pbmltYWwgbGVmdCBzaWRlIGFuZCB0aGUgbWF4aW1hbCByaWdodCBzaWRl
LgotICAgICAgICBpbnQgbG9naWNhbExlZnRTaWRlID0gMDsKLSAgICAgICAgaW50IGxvZ2ljYWxS
aWdodFNpZGUgPSAwOworICAgICAgICBmbG9hdCBsb2dpY2FsTGVmdFNpZGUgPSAwOworICAgICAg
ICBmbG9hdCBsb2dpY2FsUmlnaHRTaWRlID0gMDsKICAgICAgICAgZm9yIChJbmxpbmVUZXh0Qm94
KiBjdXJyID0gZmlyc3RUZXh0Qm94KCk7IGN1cnI7IGN1cnIgPSBjdXJyLT5uZXh0VGV4dEJveCgp
KSB7CiAgICAgICAgICAgICBpZiAoY3VyciA9PSBmaXJzdFRleHRCb3goKSB8fCBjdXJyLT5sb2dp
Y2FsTGVmdCgpIDwgbG9naWNhbExlZnRTaWRlKQogICAgICAgICAgICAgICAgIGxvZ2ljYWxMZWZ0
U2lkZSA9IGN1cnItPmxvZ2ljYWxMZWZ0KCk7CkBAIC0xMjc5LDExICsxMjgzLDExIEBAIEludFJl
Y3QgUmVuZGVyVGV4dDo6bGluZXNCb3VuZGluZ0JveCgpIGMKICAgICAgICAgCiAgICAgICAgIGJv
b2wgaXNIb3Jpem9udGFsID0gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKTsKICAg
ICAgICAgCi0gICAgICAgIGludCB4ID0gaXNIb3Jpem9udGFsID8gbG9naWNhbExlZnRTaWRlIDog
Zmlyc3RUZXh0Qm94KCktPngoKTsKLSAgICAgICAgaW50IHkgPSBpc0hvcml6b250YWwgPyBmaXJz
dFRleHRCb3goKS0+eSgpIDogbG9naWNhbExlZnRTaWRlOwotICAgICAgICBpbnQgd2lkdGggPSBp
c0hvcml6b250YWwgPyBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlIDogbGFzdFRl
eHRCb3goKS0+bG9naWNhbEJvdHRvbSgpIC0geDsKLSAgICAgICAgaW50IGhlaWdodCA9IGlzSG9y
aXpvbnRhbCA/IGxhc3RUZXh0Qm94KCktPmxvZ2ljYWxCb3R0b20oKSAtIHkgOiBsb2dpY2FsUmln
aHRTaWRlIC0gbG9naWNhbExlZnRTaWRlOwotICAgICAgICByZXN1bHQgPSBJbnRSZWN0KHgsIHks
IHdpZHRoLCBoZWlnaHQpOworICAgICAgICBmbG9hdCB4ID0gaXNIb3Jpem9udGFsID8gbG9naWNh
bExlZnRTaWRlIDogZmlyc3RUZXh0Qm94KCktPngoKTsKKyAgICAgICAgZmxvYXQgeSA9IGlzSG9y
aXpvbnRhbCA/IGZpcnN0VGV4dEJveCgpLT55KCkgOiBsb2dpY2FsTGVmdFNpZGU7CisgICAgICAg
IGZsb2F0IHdpZHRoID0gaXNIb3Jpem9udGFsID8gbG9naWNhbFJpZ2h0U2lkZSAtIGxvZ2ljYWxM
ZWZ0U2lkZSA6IGxhc3RUZXh0Qm94KCktPmxvZ2ljYWxCb3R0b20oKSAtIHg7CisgICAgICAgIGZs
b2F0IGhlaWdodCA9IGlzSG9yaXpvbnRhbCA/IGxhc3RUZXh0Qm94KCktPmxvZ2ljYWxCb3R0b20o
KSAtIHkgOiBsb2dpY2FsUmlnaHRTaWRlIC0gbG9naWNhbExlZnRTaWRlOworICAgICAgICByZXN1
bHQgPSBlbmNsb3NpbmdJbnRSZWN0KEZsb2F0UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KSk7CiAg
ICAgfQogCiAgICAgcmV0dXJuIHJlc3VsdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRleHQuaAkocmV2aXNpb24gNzg2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC03MSwyNCArNzEsMjQgQEAgcHVibGljOgog
ICAgIHVuc2lnbmVkIHRleHRMZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX3RleHQubGVuZ3RoKCk7
IH0gLy8gbm9uIHZpcnR1YWwgaW1wbGVtZW50YXRpb24gb2YgbGVuZ3RoKCkKICAgICB2b2lkIHBv
c2l0aW9uTGluZUJveChJbmxpbmVCb3gqKTsKIAotICAgIHZpcnR1YWwgdW5zaWduZWQgd2lkdGgo
dW5zaWduZWQgZnJvbSwgdW5zaWduZWQgbGVuLCBjb25zdCBGb250JiwgaW50IHhQb3MsIEhhc2hT
ZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cyA9IDAsIEdseXBoT3ZlcmZs
b3cqID0gMCkgY29uc3Q7Ci0gICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0aCh1bnNpZ25lZCBmcm9t
LCB1bnNpZ25lZCBsZW4sIGludCB4UG9zLCBib29sIGZpcnN0TGluZSA9IGZhbHNlLCBIYXNoU2V0
PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4qIGZhbGxiYWNrRm9udHMgPSAwLCBHbHlwaE92ZXJmbG93
KiA9IDApIGNvbnN0OworICAgIHZpcnR1YWwgZmxvYXQgd2lkdGgodW5zaWduZWQgZnJvbSwgdW5z
aWduZWQgbGVuLCBjb25zdCBGb250JiwgZmxvYXQgeFBvcywgSGFzaFNldDxjb25zdCBTaW1wbGVG
b250RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsK
KyAgICB2aXJ0dWFsIGZsb2F0IHdpZHRoKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIGxlbiwgZmxv
YXQgeFBvcywgYm9vbCBmaXJzdExpbmUgPSBmYWxzZSwgSGFzaFNldDxjb25zdCBTaW1wbGVGb250
RGF0YSo+KiBmYWxsYmFja0ZvbnRzID0gMCwgR2x5cGhPdmVyZmxvdyogPSAwKSBjb25zdDsKIAot
ICAgIHZpcnR1YWwgaW50IG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgpIGNvbnN0OwotICAgIHZp
cnR1YWwgaW50IG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpIGNvbnN0OworICAgIGZsb2F0IG1p
bkxvZ2ljYWxXaWR0aCgpIGNvbnN0OworICAgIGZsb2F0IG1heExvZ2ljYWxXaWR0aCgpIGNvbnN0
OwogCi0gICAgdm9pZCB0cmltbWVkUHJlZldpZHRocyhpbnQgbGVhZFdpZHRoLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50JiBiZWdpbk1pblcsIGJvb2wmIGJlZ2luV1MsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQmIGVuZE1pblcsIGJvb2wmIGVuZFdTLAorICAgIHZvaWQg
dHJpbW1lZFByZWZXaWR0aHMoZmxvYXQgbGVhZFdpZHRoLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZmxvYXQmIGJlZ2luTWluVywgYm9vbCYgYmVnaW5XUywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZsb2F0JiBlbmRNaW5XLCBib29sJiBlbmRXUywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJvb2wmIGhhc0JyZWFrYWJsZUNoYXIsIGJvb2wmIGhhc0JyZWFrLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50JiBiZWdpbk1heFcsIGludCYgZW5kTWF4VywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCYgbWluVywgaW50JiBtYXhXLCBib29sJiBzdHJpcEZy
b250U3BhY2VzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0JiBiZWdpbk1heFcs
IGZsb2F0JiBlbmRNYXhXLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQmIG1pblcs
IGZsb2F0JiBtYXhXLCBib29sJiBzdHJpcEZyb250U3BhY2VzKTsKIAogICAgIHZpcnR1YWwgSW50
UmVjdCBsaW5lc0JvdW5kaW5nQm94KCkgY29uc3Q7CiAKLSAgICBJbnRQb2ludCBmaXJzdFJ1bk9y
aWdpbigpIGNvbnN0OwotICAgIGludCBmaXJzdFJ1blgoKSBjb25zdDsKLSAgICBpbnQgZmlyc3RS
dW5ZKCkgY29uc3Q7CisgICAgRmxvYXRQb2ludCBmaXJzdFJ1bk9yaWdpbigpIGNvbnN0OworICAg
IGZsb2F0IGZpcnN0UnVuWCgpIGNvbnN0OworICAgIGZsb2F0IGZpcnN0UnVuWSgpIGNvbnN0Owog
CiAgICAgdm9pZCBzZXRUZXh0KFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4sIGJvb2wgZm9yY2UgPSBm
YWxzZSk7CiAgICAgdm9pZCBzZXRUZXh0V2l0aE9mZnNldChQYXNzUmVmUHRyPFN0cmluZ0ltcGw+
LCB1bnNpZ25lZCBvZmZzZXQsIHVuc2lnbmVkIGxlbiwgYm9vbCBmb3JjZSA9IGZhbHNlKTsKQEAg
LTEyMiw3ICsxMjIsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNoZWNrQ29uc2lzdGVuY3koKSBj
b25zdDsKIAotICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyhp
bnQgbGVhZFdpZHRoKTsKKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxX
aWR0aHMoZmxvYXQgbGVhZFdpZHRoKTsKICAgICBib29sIGlzQWxsQ29sbGFwc2libGVXaGl0ZXNw
YWNlKCk7CiAgICAgCiBwcm90ZWN0ZWQ6CkBAIC0xMzUsNyArMTM1LDcgQEAgcHJvdGVjdGVkOgog
ICAgIHZpcnR1YWwgSW5saW5lVGV4dEJveCogY3JlYXRlVGV4dEJveCgpOyAvLyBTdWJjbGFzc2Vk
IGJ5IFNWRy4KIAogcHJpdmF0ZToKLSAgICB2b2lkIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lk
dGhzKGludCBsZWFkV2lkdGgsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiYgZmFsbGJh
Y2tGb250cywgR2x5cGhPdmVyZmxvdyYpOworICAgIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2lj
YWxXaWR0aHMoZmxvYXQgbGVhZFdpZHRoLCBIYXNoU2V0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4m
IGZhbGxiYWNrRm9udHMsIEdseXBoT3ZlcmZsb3cmKTsKIAogICAgIC8vIE1ha2UgbGVuZ3RoKCkg
cHJpdmF0ZSBzbyB0aGF0IGNhbGxlcnMgdGhhdCBoYXZlIGEgUmVuZGVyVGV4dCoKICAgICAvLyB3
aWxsIHVzZSB0aGUgbW9yZSBlZmZpY2llbnQgdGV4dExlbmd0aCgpIGluc3RlYWQsIHdoaWxlCkBA
IC0xNDgsMjIgKzE0OCwyMiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBkZWxldGVUZXh0Qm94ZXMo
KTsKICAgICBib29sIGNvbnRhaW5zT25seVdoaXRlc3BhY2UodW5zaWduZWQgZnJvbSwgdW5zaWdu
ZWQgbGVuKSBjb25zdDsKLSAgICBpbnQgd2lkdGhGcm9tQ2FjaGUoY29uc3QgRm9udCYsIGludCBz
dGFydCwgaW50IGxlbiwgaW50IHhQb3MsIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiog
ZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyopIGNvbnN0OworICAgIGZsb2F0IHdpZHRoRnJv
bUNhY2hlKGNvbnN0IEZvbnQmLCBpbnQgc3RhcnQsIGludCBsZW4sIGZsb2F0IHhQb3MsIEhhc2hT
ZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxvdyop
IGNvbnN0OwogICAgIGJvb2wgaXNBbGxBU0NJSSgpIGNvbnN0IHsgcmV0dXJuIG1faXNBbGxBU0NJ
STsgfQogICAgIHZvaWQgdXBkYXRlTmVlZHNUcmFuc2NvZGluZygpOwogCiAgICAgaW5saW5lIHZv
aWQgdHJhbnNmb3JtVGV4dChTdHJpbmcmKSBjb25zdDsKIAotICAgIGludCBtX21pbldpZHRoOyAv
LyBoZXJlIHRvIG1pbmltaXplIHBhZGRpbmcgaW4gNjQtYml0LgorICAgIGZsb2F0IG1fbWluV2lk
dGg7IC8vIGhlcmUgdG8gbWluaW1pemUgcGFkZGluZyBpbiA2NC1iaXQuCiAKICAgICBTdHJpbmcg
bV90ZXh0OwogCiAgICAgSW5saW5lVGV4dEJveCogbV9maXJzdFRleHRCb3g7CiAgICAgSW5saW5l
VGV4dEJveCogbV9sYXN0VGV4dEJveDsKIAotICAgIGludCBtX21heFdpZHRoOwotICAgIGludCBt
X2JlZ2luTWluV2lkdGg7Ci0gICAgaW50IG1fZW5kTWluV2lkdGg7CisgICAgZmxvYXQgbV9tYXhX
aWR0aDsKKyAgICBmbG9hdCBtX2JlZ2luTWluV2lkdGg7CisgICAgZmxvYXQgbV9lbmRNaW5XaWR0
aDsKIAogICAgIGJvb2wgbV9oYXNCcmVha2FibGVDaGFyIDogMTsgLy8gV2hldGhlciBvciBub3Qg
d2UgY2FuIGJlIGJyb2tlbiBpbnRvIG11bHRpcGxlIGxpbmVzLgogICAgIGJvb2wgbV9oYXNCcmVh
ayA6IDE7IC8vIFdoZXRoZXIgb3Igbm90IHdlIGhhdmUgYSBoYXJkIGJyZWFrIChlLmcuLCA8cHJl
PiB3aXRoICdcbicpLgpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRD
b250cm9sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGV4dENvbnRyb2wuY3BwCShyZXZpc2lvbiA3ODYyMykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0NCw3ICs1NDQs
NyBAQCBmbG9hdCBSZW5kZXJUZXh0Q29udHJvbDo6Z2V0QXZnQ2hhcldpZHRoCiAgICAgICAgIHJl
dHVybiByb3VuZGYoc3R5bGUoKS0+Zm9udCgpLnByaW1hcnlGb250KCktPmF2Z0NoYXJXaWR0aCgp
KTsKIAogICAgIGNvbnN0IFVDaGFyIGNoID0gJzAnOyAKLSAgICByZXR1cm4gc3R5bGUoKS0+Zm9u
dCgpLmZsb2F0V2lkdGgoVGV4dFJ1bigmY2gsIDEsIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxv
d1RyYWlsaW5nRXhwYW5zaW9uLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSk7CisgICAgcmV0dXJuIHN0
eWxlKCktPmZvbnQoKS53aWR0aChUZXh0UnVuKCZjaCwgMSwgZmFsc2UsIDAsIDAsIFRleHRSdW46
OkFsbG93VHJhaWxpbmdFeHBhbnNpb24sIGZhbHNlKSk7CiB9CiAKIGZsb2F0IFJlbmRlclRleHRD
b250cm9sOjpzY2FsZUVtVG9Vbml0cyhpbnQgeCkgY29uc3QKQEAgLTYzOSw3ICs2MzksNyBAQCB2
b2lkIFJlbmRlclRleHRDb250cm9sOjpwYWludFBsYWNlaG9sZGVyCiAgICAgcGFpbnRJbmZvLmNv
bnRleHQtPnNldEZpbGxDb2xvcihwbGFjZWhvbGRlclN0eWxlLT52aXNpdGVkRGVwZW5kZW50Q29s
b3IoQ1NTUHJvcGVydHlDb2xvciksIHBsYWNlaG9sZGVyU3R5bGUtPmNvbG9yU3BhY2UoKSk7CiAg
ICAgCiAgICAgU3RyaW5nIHBsYWNlaG9sZGVyVGV4dCA9IHN0YXRpY19jYXN0PEhUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50Kj4obm9kZSgpKS0+c3RyaXBwZWRQbGFjZWhvbGRlcigpOwotICAgIFRl
eHRSdW4gdGV4dFJ1bihwbGFjZWhvbGRlclRleHQuY2hhcmFjdGVycygpLCBwbGFjZWhvbGRlclRl
eHQubGVuZ3RoKCksIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9u
LCAhcGxhY2Vob2xkZXJTdHlsZS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpLCBwbGFjZWhvbGRl
clN0eWxlLT51bmljb2RlQmlkaSgpID09IE92ZXJyaWRlLCBmYWxzZSwgZmFsc2UpOworICAgIFRl
eHRSdW4gdGV4dFJ1bihwbGFjZWhvbGRlclRleHQuY2hhcmFjdGVycygpLCBwbGFjZWhvbGRlclRl
eHQubGVuZ3RoKCksIGZhbHNlLCAwLCAwLCBUZXh0UnVuOjpBbGxvd1RyYWlsaW5nRXhwYW5zaW9u
LCAhcGxhY2Vob2xkZXJTdHlsZS0+aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpLCBwbGFjZWhvbGRl
clN0eWxlLT51bmljb2RlQmlkaSgpID09IE92ZXJyaWRlKTsKICAgICAKICAgICBSZW5kZXJCb3gq
IHRleHRSZW5kZXJlciA9IGlubmVyVGV4dEVsZW1lbnQoKSA/IGlubmVyVGV4dEVsZW1lbnQoKS0+
cmVuZGVyQm94KCkgOiAwOwogICAgIGlmICh0ZXh0UmVuZGVyZXIpIHsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAJKHJldmlzaW9uIDc4NjIz
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NzAsMTEgKzQ3MCwxNyBAQCB2b2lkIFJlbmRlclRyZWVBc1RleHQ6Ondy
aXRlUmVuZGVyT2JqZWN0CiAKIHN0YXRpYyB2b2lkIHdyaXRlVGV4dFJ1bihUZXh0U3RyZWFtJiB0
cywgY29uc3QgUmVuZGVyVGV4dCYgbywgY29uc3QgSW5saW5lVGV4dEJveCYgcnVuKQogewotICAg
IC8vIEZJWE1FOiBUYWJsZSBjZWxsIGFkanVzdG1lbnQgaXMgdGVtcG9yYXJ5IHVudGlsIHJlc3Vs
dHMgY2FuIGJlIHVwZGF0ZWQuCisgICAgLy8gRklYTUU6IEZvciBub3cgdXNlIGFuICJlbmNsb3Np
bmdJbnRSZWN0IiBtb2RlbCBmb3IgeCwgeSBhbmQgbG9naWNhbFdpZHRoLCBhbHRob3VnaCB0aGlz
IG1ha2VzIGl0IGhhcmRlcgorICAgIC8vIHRvIGRldGVjdCBhbnkgY2hhbmdlcyBjYXVzZWQgYnkg
dGhlIGNvbnZlcnNpb24gdG8gZmxvYXRpbmcgcG9pbnQuIDooCisgICAgaW50IHggPSBydW4ubV94
OwogICAgIGludCB5ID0gcnVuLm1feTsKKyAgICBpbnQgbG9naWNhbFdpZHRoID0gY2VpbGYocnVu
Lm1feCArIHJ1bi5tX2xvZ2ljYWxXaWR0aCkgLSB4OworCisgICAgLy8gRklYTUU6IFRhYmxlIGNl
bGwgYWRqdXN0bWVudCBpcyB0ZW1wb3JhcnkgdW50aWwgcmVzdWx0cyBjYW4gYmUgdXBkYXRlZC4K
ICAgICBpZiAoby5jb250YWluaW5nQmxvY2soKS0+aXNUYWJsZUNlbGwoKSkKICAgICAgICAgeSAt
PSB0b1JlbmRlclRhYmxlQ2VsbChvLmNvbnRhaW5pbmdCbG9jaygpKS0+aW50cmluc2ljUGFkZGlu
Z0JlZm9yZSgpOwotICAgIHRzIDw8ICJ0ZXh0IHJ1biBhdCAoIiA8PCBydW4ubV94IDw8ICIsIiA8
PCB5IDw8ICIpIHdpZHRoICIgPDwgcnVuLm1fbG9naWNhbFdpZHRoOworICAgICAgICAKKyAgICB0
cyA8PCAidGV4dCBydW4gYXQgKCIgPDwgeCA8PCAiLCIgPDwgeSA8PCAiKSB3aWR0aCAiIDw8IGxv
Z2ljYWxXaWR0aDsKICAgICBpZiAoIXJ1bi5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgfHwgcnVu
Lm1fZGlyT3ZlcnJpZGUpIHsKICAgICAgICAgdHMgPDwgKCFydW4uaXNMZWZ0VG9SaWdodERpcmVj
dGlvbigpID8gIiBSVEwiIDogIiBMVFIiKTsKICAgICAgICAgaWYgKHJ1bi5tX2Rpck92ZXJyaWRl
KQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcAkocmV2
aXNpb24gNzg2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTk3LDcgKzk3LDcgQEAgYm9vbCBSb290SW5saW5lQm94Ojpj
YW5BY2NvbW1vZGF0ZUVsbGlwcwogICAgIHJldHVybiBJbmxpbmVGbG93Qm94OjpjYW5BY2NvbW1v
ZGF0ZUVsbGlwc2lzKGx0ciwgYmxvY2tFZGdlLCBlbGxpcHNpc1dpZHRoKTsKIH0KIAotdm9pZCBS
b290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzKGNvbnN0IEF0b21pY1N0cmluZyYgZWxsaXBzaXNT
dHIsICBib29sIGx0ciwgaW50IGJsb2NrTGVmdEVkZ2UsIGludCBibG9ja1JpZ2h0RWRnZSwgaW50
IGVsbGlwc2lzV2lkdGgsCit2b2lkIFJvb3RJbmxpbmVCb3g6OnBsYWNlRWxsaXBzaXMoY29uc3Qg
QXRvbWljU3RyaW5nJiBlbGxpcHNpc1N0ciwgIGJvb2wgbHRyLCBmbG9hdCBibG9ja0xlZnRFZGdl
LCBmbG9hdCBibG9ja1JpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBJbmxpbmVCb3gqIG1hcmt1cEJveCkKIHsKICAgICAvLyBD
cmVhdGUgYW4gZWxsaXBzaXMgYm94LgpAQCAtMTIzLDkgKzEyMyw5IEBAIHZvaWQgUm9vdElubGlu
ZUJveDo6cGxhY2VFbGxpcHNpcyhjb25zdCAKICAgICBlbGxpcHNpc0JveC0+bV94ID0gcGxhY2VF
bGxpcHNpc0JveChsdHIsIGJsb2NrTGVmdEVkZ2UsIGJsb2NrUmlnaHRFZGdlLCBlbGxpcHNpc1dp
ZHRoLCBmb3VuZEJveCk7CiB9CiAKLWludCBSb290SW5saW5lQm94OjpwbGFjZUVsbGlwc2lzQm94
KGJvb2wgbHRyLCBpbnQgYmxvY2tMZWZ0RWRnZSwgaW50IGJsb2NrUmlnaHRFZGdlLCBpbnQgZWxs
aXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpCitmbG9hdCBSb290SW5saW5lQm94OjpwbGFjZUVs
bGlwc2lzQm94KGJvb2wgbHRyLCBmbG9hdCBibG9ja0xlZnRFZGdlLCBmbG9hdCBibG9ja1JpZ2h0
RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpCiB7Ci0gICAgaW50IHJl
c3VsdCA9IElubGluZUZsb3dCb3g6OnBsYWNlRWxsaXBzaXNCb3gobHRyLCBibG9ja0xlZnRFZGdl
LCBibG9ja1JpZ2h0RWRnZSwgZWxsaXBzaXNXaWR0aCwgZm91bmRCb3gpOworICAgIGZsb2F0IHJl
c3VsdCA9IElubGluZUZsb3dCb3g6OnBsYWNlRWxsaXBzaXNCb3gobHRyLCBibG9ja0xlZnRFZGdl
LCBibG9ja1JpZ2h0RWRnZSwgZWxsaXBzaXNXaWR0aCwgZm91bmRCb3gpOwogICAgIGlmIChyZXN1
bHQgPT0gLTEpCiAgICAgICAgIHJlc3VsdCA9IGx0ciA/IGJsb2NrUmlnaHRFZGdlIC0gZWxsaXBz
aXNXaWR0aCA6IGJsb2NrTGVmdEVkZ2U7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTE5OCwxMCAr
MTk4LDEwIEBAIGJvb2wgUm9vdElubGluZUJveDo6bm9kZUF0UG9pbnQoY29uc3QgSGkKICAgICBy
ZXR1cm4gSW5saW5lRmxvd0JveDo6bm9kZUF0UG9pbnQocmVxdWVzdCwgcmVzdWx0LCB4LCB5LCB0
eCwgdHkpOwogfQogCi12b2lkIFJvb3RJbmxpbmVCb3g6OmFkanVzdFBvc2l0aW9uKGludCBkeCwg
aW50IGR5KQordm9pZCBSb290SW5saW5lQm94OjphZGp1c3RQb3NpdGlvbihmbG9hdCBkeCwgZmxv
YXQgZHkpCiB7CiAgICAgSW5saW5lRmxvd0JveDo6YWRqdXN0UG9zaXRpb24oZHgsIGR5KTsKLSAg
ICBpbnQgYmxvY2tEaXJlY3Rpb25EZWx0YSA9IGlzSG9yaXpvbnRhbCgpID8gZHkgOiBkeDsKKyAg
ICBpbnQgYmxvY2tEaXJlY3Rpb25EZWx0YSA9IGlzSG9yaXpvbnRhbCgpID8gZHkgOiBkeDsgLy8g
VGhlIGJsb2NrIGRpcmVjdGlvbiBkZWx0YSB3aWxsIGFsd2F5cyBiZSBpbnRlZ3JhbC4KICAgICBt
X2xpbmVUb3AgKz0gYmxvY2tEaXJlY3Rpb25EZWx0YTsKICAgICBtX2xpbmVCb3R0b20gKz0gYmxv
Y2tEaXJlY3Rpb25EZWx0YTsKICAgICBtX2Jsb2NrTG9naWNhbEhlaWdodCArPSBibG9ja0RpcmVj
dGlvbkRlbHRhOwpAQCAtMjg5LDcgKzI4OSw3IEBAIGludCBSb290SW5saW5lQm94OjpiZWZvcmVB
bm5vdGF0aW9uc0FkanUKIAogICAgICAgICAvLyBBbm5vdGF0aW9ucyBvdmVyIHRoaXMgbGluZSBt
YXkgcHVzaCB1cyBmdXJ0aGVyIGRvd24uCiAgICAgICAgIGludCBoaWdoZXN0QWxsb3dlZFBvc2l0
aW9uID0gcHJldlJvb3RCb3goKSA/IG1pbihwcmV2Um9vdEJveCgpLT5saW5lQm90dG9tKCksIGxp
bmVUb3AoKSkgKyByZXN1bHQgOiBibG9jaygpLT5ib3JkZXJCZWZvcmUoKTsKLSAgICAgICAgcmVz
dWx0ID0gIGNvbXB1dGVPdmVyQW5ub3RhdGlvbkFkanVzdG1lbnQoaGlnaGVzdEFsbG93ZWRQb3Np
dGlvbik7CisgICAgICAgIHJlc3VsdCA9IGNvbXB1dGVPdmVyQW5ub3RhdGlvbkFkanVzdG1lbnQo
aGlnaGVzdEFsbG93ZWRQb3NpdGlvbik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gQW5ub3Rh
dGlvbnMgdW5kZXIgdGhpcyBsaW5lIG1heSBwdXNoIHVzIHVwLgogICAgICAgICBpZiAoaGFzQW5u
b3RhdGlvbnNCZWZvcmUoKSkKQEAgLTU0NCwxNCArNTQ0LDE0IEBAIEludFJlY3QgUm9vdElubGlu
ZUJveDo6cGFkZGVkTGF5b3V0T3ZlcmYKICAgICAKICAgICBpZiAoaXNIb3Jpem9udGFsKCkpIHsK
ICAgICAgICAgaWYgKGlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKLSAgICAgICAgICAgIGxpbmVM
YXlvdXRPdmVyZmxvdy5zaGlmdE1heFhFZGdlVG8obWF4KGxpbmVMYXlvdXRPdmVyZmxvdy5tYXhY
KCksIGxvZ2ljYWxSaWdodCgpICsgZW5kUGFkZGluZykpOworICAgICAgICAgICAgbGluZUxheW91
dE92ZXJmbG93LnNoaWZ0TWF4WEVkZ2VUbyhtYXgobGluZUxheW91dE92ZXJmbG93Lm1heFgoKSwg
cGl4ZWxTbmFwcGVkTG9naWNhbFJpZ2h0KCkgKyBlbmRQYWRkaW5nKSk7CiAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdFhFZGdlVG8obWluKGxpbmVMYXlv
dXRPdmVyZmxvdy54KCksIGxvZ2ljYWxMZWZ0KCkgLSBlbmRQYWRkaW5nKSk7CisgICAgICAgICAg
ICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRYRWRnZVRvKG1pbihsaW5lTGF5b3V0T3ZlcmZsb3cu
eCgpLCBwaXhlbFNuYXBwZWRMb2dpY2FsTGVmdCgpIC0gZW5kUGFkZGluZykpOwogICAgIH0gZWxz
ZSB7CiAgICAgICAgIGlmIChpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCi0gICAgICAgICAgICBs
aW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRNYXhZRWRnZVRvKG1heChsaW5lTGF5b3V0T3ZlcmZsb3cu
bWF4WSgpLCBsb2dpY2FsUmlnaHQoKSArIGVuZFBhZGRpbmcpKTsKKyAgICAgICAgICAgIGxpbmVM
YXlvdXRPdmVyZmxvdy5zaGlmdE1heFlFZGdlVG8obWF4KGxpbmVMYXlvdXRPdmVyZmxvdy5tYXhZ
KCksIHBpeGVsU25hcHBlZExvZ2ljYWxSaWdodCgpICsgZW5kUGFkZGluZykpOwogICAgICAgICBl
bHNlCi0gICAgICAgICAgICBsaW5lTGF5b3V0T3ZlcmZsb3cuc2hpZnRZRWRnZVRvKG1pbihsaW5l
TGF5b3V0T3ZlcmZsb3cueSgpLCBsb2dpY2FsUmlnaHQoKSAtIGVuZFBhZGRpbmcpKTsKKyAgICAg
ICAgICAgIGxpbmVMYXlvdXRPdmVyZmxvdy5zaGlmdFlFZGdlVG8obWluKGxpbmVMYXlvdXRPdmVy
Zmxvdy55KCksIHBpeGVsU25hcHBlZExvZ2ljYWxMZWZ0KCkgLSBlbmRQYWRkaW5nKSk7CiAgICAg
fQogICAgIAogICAgIHJldHVybiBsaW5lTGF5b3V0T3ZlcmZsb3c7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmgJKHJldmlzaW9uIDc4NjIzKQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAkod29ya2luZyBjb3B5KQpAQCAtNDUs
NyArNDUsNyBAQCBwdWJsaWM6CiAgICAgUm9vdElubGluZUJveCogbmV4dFJvb3RCb3goKSBjb25z
dCB7IHJldHVybiBzdGF0aWNfY2FzdDxSb290SW5saW5lQm94Kj4obV9uZXh0TGluZUJveCk7IH0K
ICAgICBSb290SW5saW5lQm94KiBwcmV2Um9vdEJveCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19j
YXN0PFJvb3RJbmxpbmVCb3gqPihtX3ByZXZMaW5lQm94KTsgfQogCi0gICAgdmlydHVhbCB2b2lk
IGFkanVzdFBvc2l0aW9uKGludCBkeCwgaW50IGR5KTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0
UG9zaXRpb24oZmxvYXQgZHgsIGZsb2F0IGR5KTsKIAogICAgIGludCBsaW5lVG9wKCkgY29uc3Qg
eyByZXR1cm4gbV9saW5lVG9wOyB9CiAgICAgaW50IGxpbmVCb3R0b20oKSBjb25zdCB7IHJldHVy
biBtX2xpbmVCb3R0b207IH0KQEAgLTc4LDggKzc4LDggQEAgcHVibGljOgogICAgIHZvaWQgY2hp
bGRSZW1vdmVkKElubGluZUJveCogYm94KTsKIAogICAgIGJvb2wgY2FuQWNjb21tb2RhdGVFbGxp
cHNpcyhib29sIGx0ciwgaW50IGJsb2NrRWRnZSwgaW50IGxpbmVCb3hFZGdlLCBpbnQgZWxsaXBz
aXNXaWR0aCk7Ci0gICAgdm9pZCBwbGFjZUVsbGlwc2lzKGNvbnN0IEF0b21pY1N0cmluZyYgZWxs
aXBzaXNTdHIsIGJvb2wgbHRyLCBpbnQgYmxvY2tMZWZ0RWRnZSwgaW50IGJsb2NrUmlnaHRFZGdl
LCBpbnQgZWxsaXBzaXNXaWR0aCwgSW5saW5lQm94KiBtYXJrdXBCb3ggPSAwKTsKLSAgICB2aXJ0
dWFsIGludCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBpbnQgYmxvY2tMZWZ0RWRnZSwgaW50
IGJsb2NrUmlnaHRFZGdlLCBpbnQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpOworICAg
IHZvaWQgcGxhY2VFbGxpcHNpcyhjb25zdCBBdG9taWNTdHJpbmcmIGVsbGlwc2lzU3RyLCBib29s
IGx0ciwgZmxvYXQgYmxvY2tMZWZ0RWRnZSwgZmxvYXQgYmxvY2tSaWdodEVkZ2UsIGZsb2F0IGVs
bGlwc2lzV2lkdGgsIElubGluZUJveCogbWFya3VwQm94ID0gMCk7CisgICAgdmlydHVhbCBmbG9h
dCBwbGFjZUVsbGlwc2lzQm94KGJvb2wgbHRyLCBmbG9hdCBibG9ja0xlZnRFZGdlLCBmbG9hdCBi
bG9ja1JpZ2h0RWRnZSwgZmxvYXQgZWxsaXBzaXNXaWR0aCwgYm9vbCYgZm91bmRCb3gpOwogCiAg
ICAgRWxsaXBzaXNCb3gqIGVsbGlwc2lzQm94KCkgY29uc3Q7CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgJKHJldmlzaW9uIDc4
NjIzKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zNCw4ICszNCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIFJlbmRlck9iamVjdDsKIAogLy8gVmFsdWVzIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuCi1j
b25zdCBpbnQgUG9zaXRpb25Ub3AgPSAtMHg3ZmZmZmZmZjsKLWNvbnN0IGludCBQb3NpdGlvbkJv
dHRvbSA9IDB4N2ZmZmZmZmY7CiBjb25zdCBpbnQgUG9zaXRpb25VbmRlZmluZWQgPSAweDgwMDAw
MDAwOwogCiBjbGFzcyBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUgewpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCShyZXZpc2lvbiA3
ODYyMykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDcgKzQ3LDcgQEAgU1ZHSW5saW5lVGV4dEJveDo6U1ZH
SW5saW5lVGV4dEJveChSZW5kZQogewogfQogCi1pbnQgU1ZHSW5saW5lVGV4dEJveDo6b2Zmc2V0
Rm9yUG9zaXRpb24oaW50LCBib29sKSBjb25zdAoraW50IFNWR0lubGluZVRleHRCb3g6Om9mZnNl
dEZvclBvc2l0aW9uKGZsb2F0LCBib29sKSBjb25zdAogewogICAgIC8vIFNWRyBkb2Vzbid0IHVz
ZSB0aGUgc3RhbmRhcmQgb2Zmc2V0IDwtPiBwb3NpdGlvbiBzZWxlY3Rpb24gc3lzdGVtLCBhcyBp
dCdzIG5vdCBzdWl0YWJsZSBmb3IgU1ZHcyBjb21wbGV4IG5lZWRzLgogICAgIC8vIHZlcnRpY2Fs
IHRleHQgc2VsZWN0aW9uLCBpbmxpbmUgYm94ZXMgc3Bhbm5pbmcgbXVsdGlwbGUgbGluZXMgKGNv
bnRyYXJ5IHRvIEhUTUwsIGV0Yy4pCkBAIC03Niw3ICs3Niw3IEBAIGludCBTVkdJbmxpbmVUZXh0
Qm94OjpvZmZzZXRGb3JQb3NpdGlvbkkKICAgICByZXR1cm4gZnJhZ21lbnQucG9zaXRpb25MaXN0
T2Zmc2V0IC0gc3RhcnQoKSArIHRleHRSZW5kZXJlci0+c2NhbGVkRm9udCgpLm9mZnNldEZvclBv
c2l0aW9uKHRleHRSdW4sIHBvc2l0aW9uICogc2NhbGluZ0ZhY3RvciwgaW5jbHVkZVBhcnRpYWxH
bHlwaHMpOwogfQogCi1pbnQgU1ZHSW5saW5lVGV4dEJveDo6cG9zaXRpb25Gb3JPZmZzZXQoaW50
KSBjb25zdAorZmxvYXQgU1ZHSW5saW5lVGV4dEJveDo6cG9zaXRpb25Gb3JPZmZzZXQoaW50KSBj
b25zdAogewogICAgIC8vIFNWRyBkb2Vzbid0IHVzZSB0aGUgb2Zmc2V0IDwtPiBwb3NpdGlvbiBz
ZWxlY3Rpb24gc3lzdGVtLiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTQxNSw5ICs0
MTUsNiBAQCBUZXh0UnVuIFNWR0lubGluZVRleHRCb3g6OmNvbnN0cnVjdFRleHRSCiAgICAgcnVu
LnNldFJlZmVyZW5jaW5nUmVuZGVyT2JqZWN0KHRleHQpOwogI2VuZGlmCiAKLSAgICAvLyBEaXNh
YmxlIGFueSB3b3JkL2NoYXJhY3RlciByb3VuZGluZy4KLSAgICBydW4uZGlzYWJsZVJvdW5kaW5n
SGFja3MoKTsKLQogICAgIC8vIFdlIGhhbmRsZSBsZXR0ZXIgJiB3b3JkIHNwYWNpbmcgb3Vyc2Vs
dmVzLgogICAgIHJ1bi5kaXNhYmxlU3BhY2luZygpOwogICAgIHJldHVybiBydW47CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guaAkocmV2
aXNpb24gNzg2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRl
eHRCb3guaAkod29ya2luZyBjb3B5KQpAQCAtNDIsOCArNDIsOCBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIGludCBzZWxlY3Rpb25Ub3AoKSB7IHJldHVybiBtX3k7IH0KICAgICB2aXJ0dWFsIGlu
dCBzZWxlY3Rpb25IZWlnaHQoKSB7IHJldHVybiBtX2xvZ2ljYWxIZWlnaHQ7IH0KLSAgICB2aXJ0
dWFsIGludCBvZmZzZXRGb3JQb3NpdGlvbihpbnQgeCwgYm9vbCBpbmNsdWRlUGFydGlhbEdseXBo
cyA9IHRydWUpIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IHBvc2l0aW9uRm9yT2Zmc2V0KGludCBv
ZmZzZXQpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IG9mZnNldEZvclBvc2l0aW9uKGZsb2F0IHgs
IGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMgPSB0cnVlKSBjb25zdDsKKyAgICB2aXJ0dWFsIGZs
b2F0IHBvc2l0aW9uRm9yT2Zmc2V0KGludCBvZmZzZXQpIGNvbnN0OwogCiAgICAgdm9pZCBwYWlu
dFNlbGVjdGlvbkJhY2tncm91bmQoUGFpbnRJbmZvJik7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50
KFBhaW50SW5mbyYsIGludCB0eCwgaW50IHR5KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcAkocmV2aXNpb24gNzg2
MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzUsNyArNDM1LDEwIEBAIHN0YXRpYyB2b2lkIHdyaXRl
UmVuZGVyU1ZHVGV4dEJveChUZXh0U3QKICAgICBpZiAoIWJveCkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgdHMgPDwgIiBhdCAoIiA8PCB0ZXh0LngoKSA8PCAiLCIgPDwgdGV4dC55KCkgPDwgIikg
c2l6ZSAiIDw8IGJveC0+bG9naWNhbFdpZHRoKCkgPDwgIngiIDw8IGJveC0+bG9naWNhbEhlaWdo
dCgpOworICAgIC8vIEZJWE1FOiBGb3Igbm93IHVzZSBhbiBpbnQgZm9yIGxvZ2ljYWxXaWR0aCwg
YWx0aG91Z2ggdGhpcyBtYWtlcyBpdCBoYXJkZXIKKyAgICAvLyB0byBkZXRlY3QgYW55IGNoYW5n
ZXMgY2F1c2VkIGJ5IHRoZSBjb252ZXJzaW9uIHRvIGZsb2F0aW5nIHBvaW50LiA6KAorICAgIGlu
dCBsb2dpY2FsV2lkdGggPSBjZWlsZihib3gtPngoKSArIGJveC0+bG9naWNhbFdpZHRoKCkpIC0g
Ym94LT54KCk7CisgICAgdHMgPDwgIiBhdCAoIiA8PCB0ZXh0LngoKSA8PCAiLCIgPDwgdGV4dC55
KCkgPDwgIikgc2l6ZSAiIDw8IGxvZ2ljYWxXaWR0aCA8PCAieCIgPDwgYm94LT5sb2dpY2FsSGVp
Z2h0KCk7CiAgICAgCiAgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIGhhY2ssIG9uY2UgdGhlIG5l
dyB0ZXh0IGxheW91dCBlbmdpbmUgaXMgY29tcGxldGx5IGxhbmRlZC4gV2Ugd2FudCB0byBwcmVz
ZXJ2ZSB0aGUgb2xkIGxheW91dCB0ZXN0IHJlc3VsdHMgZm9yIG5vdy4KICAgICB0cyA8PCAiIGNv
bnRhaW5zIDEgY2h1bmsocykiOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdUZXh0TWV0cmljcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0TWV0cmljcy5jcHAJKHJldmlzaW9uIDc4NjIzKQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmljcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3
LDggKzQ3LDkgQEAgU1ZHVGV4dE1ldHJpY3M6OlNWR1RleHRNZXRyaWNzKFJlbmRlclNWRwogICAg
IGludCBsZW5ndGggPSAwOwogCiAgICAgLy8gQ2FsY3VsYXRlIHdpZHRoL2hlaWdodCB1c2luZyB0
aGUgc2NhbGVkIGZvbnQsIGRpdmlkZSB0aGlzIHJlc3VsdCBieSB0aGUgc2NhbGluZ0ZhY3RvciBh
ZnRlcndhcmRzLgotICAgIG1fd2lkdGggPSBzY2FsZWRGb250LmZsb2F0V2lkdGgocnVuLCBleHRy
YUNoYXJzQXZhaWxhYmxlLCBsZW5ndGgsIG1fZ2x5cGgubmFtZSkgLyBzY2FsaW5nRmFjdG9yOwor
ICAgIG1fd2lkdGggPSBzY2FsZWRGb250LndpZHRoKHJ1biwgZXh0cmFDaGFyc0F2YWlsYWJsZSwg
bGVuZ3RoLCBtX2dseXBoLm5hbWUpIC8gc2NhbGluZ0ZhY3RvcjsKICAgICBtX2hlaWdodCA9IHNj
YWxlZEZvbnQuZm9udE1ldHJpY3MoKS5mbG9hdEhlaWdodCgpIC8gc2NhbGluZ0ZhY3RvcjsKKwog
ICAgIG1fZ2x5cGgudW5pY29kZVN0cmluZyA9IFN0cmluZyhydW4uY2hhcmFjdGVycygpLCBsZW5n
dGgpOwogICAgIG1fZ2x5cGguaXNWYWxpZCA9IHRydWU7CiAKQEAgLTc5LDkgKzgwLDYgQEAgc3Rh
dGljIFRleHRSdW4gY29uc3RydWN0VGV4dFJ1bihSZW5kZXJTVgogICAgIHJ1bi5zZXRSZWZlcmVu
Y2luZ1JlbmRlck9iamVjdCh0ZXh0KTsKICNlbmRpZgogCi0gICAgLy8gRGlzYWJsZSBhbnkgd29y
ZC9jaGFyYWN0ZXIgcm91bmRpbmcuCi0gICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7Ci0K
ICAgICAvLyBXZSBoYW5kbGUgbGV0dGVyICYgd29yZCBzcGFjaW5nIG91cnNlbHZlcy4KICAgICBy
dW4uZGlzYWJsZVNwYWNpbmcoKTsKICAgICByZXR1cm4gcnVuOwpJbmRleDogU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZvbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
b250LmNwcAkocmV2aXNpb24gNzg2MjMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM2Miw3ICszNjIsNyBAQCBzdGF0aWMgdm9pZCBmbG9hdFdp
ZHRoTWlzc2luZ0dseXBoQ2FsbGJhCiAgICAgRm9udCBmb250KGZvbnREZXNjcmlwdGlvbiwgMCwg
MCk7IC8vIHNwYWNpbmcgaGFuZGxlZCBieSBTVkcgdGV4dCBjb2RlLgogICAgIGZvbnQudXBkYXRl
KGRhdGEuZm9udC0+Zm9udFNlbGVjdG9yKCkpOwogCi0gICAgZGF0YS5sZW5ndGggKz0gZm9udC5m
bG9hdFdpZHRoKHJ1bik7CisgICAgZGF0YS5sZW5ndGggKz0gZm9udC53aWR0aChydW4pOwogfQog
CiAKQEAgLTU3Myw5ICs1NzMsOSBAQCB2b2lkIEZvbnQ6OmRyYXdUZXh0VXNpbmdTVkdGb250KEdy
YXBoaWNzCiAgICAgICAgICAgICAgICAgZm9udC5kcmF3VGV4dChjb250ZXh0LCBmYWxsYmFja0No
YXJhY3RlclJ1biwgY3VycmVudFBvaW50KTsKIAogICAgICAgICAgICAgICAgIGlmIChpc1ZlcnRp
Y2FsVGV4dCkKLSAgICAgICAgICAgICAgICAgICAgY3VycmVudFBvaW50Lm1vdmUoMC4wZiwgZm9u
dC5mbG9hdFdpZHRoKGZhbGxiYWNrQ2hhcmFjdGVyUnVuKSk7CisgICAgICAgICAgICAgICAgICAg
IGN1cnJlbnRQb2ludC5tb3ZlKDAuMGYsIGZvbnQud2lkdGgoZmFsbGJhY2tDaGFyYWN0ZXJSdW4p
KTsKICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRQb2lu
dC5tb3ZlKGZvbnQuZmxvYXRXaWR0aChmYWxsYmFja0NoYXJhY3RlclJ1biksIDAuMGYpOworICAg
ICAgICAgICAgICAgICAgICBjdXJyZW50UG9pbnQubW92ZShmb250LndpZHRoKGZhbGxiYWNrQ2hh
cmFjdGVyUnVuKSwgMC4wZik7CiAKICAgICAgICAgICAgICAgICBmYWxsYmFja0NoYXJhY3Rlcklu
ZGV4Kys7CiAgICAgICAgICAgICB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiA3ODYyMykKKysr
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBA
CisyMDExLTAyLTE1ICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQyNDQKKyAgICAgICAgCisgICAgICAgIENvbnZlcnQgdGhl
IGxpbmUgYm94IHRyZWUgdG8gZmxvYXRpbmcgcG9pbnQgYW5kIGVsaW1pbmF0ZSBmb250IHJvdW5k
aW5nIGhhY2tzLiAgVGhpcyBwYXRjaCByZW1vdmVzIGFsbCBvZiB0aGUgcm91bmRpbmcKKyAgICAg
ICAgaGFja3MgZnJvbSB0aGUgRm9udCBjb2RlIGFuZCBtYWtlcyBzdXJlIGFsbCBGb250IEFQSXMg
aW52b2x2aW5nIHdpZHRoIG1lYXN1cmVtZW50IGFuZCB3aWR0aCBvZmZzZXRzIHVzZSBmbG9hdHMu
CisgICAgICAgIAorICAgICAgICBUaGUgbGluZSBib3ggdHJlZSdzIHgsIHkgYW5kIGxvZ2ljYWxX
aWR0aCBtZW1iZXJzIGhhdmUgYWxsIGJlZW4gY29udmVydGVkIHRvIGZsb2F0cyBhbmQgYWxsIG9m
IHRoZSBsaW5lIGJveCBBUElzIGhhdmUKKyAgICAgICAgYmVlbiBjaGFuZ2VkIGFzIHdlbGwuCisg
ICAgICAgIAorICAgICAgICBJbiB0ZXJtcyBvZiBwaXhlbCBhZGp1c3RtZW50cywgb3ZlcmZsb3cg
aXMgdXNpbmcgYW4gZW5jbG9zaW5nIG1vZGVsIChzbyBpdCB3aWxsIGJlIGVuY2xvc2luZ0ludFJl
Y3Qgb2YgYSBsaW5lIGJveCdzIHgveS93aWR0aC9oZWlnaHQpLgorICAgICAgICAKKyAgICAgICAg
QmFja2dyb3VuZCBhbmQgYm9yZGVyIHBhaW50aW5nIGlzIHVzaW5nIGEgcm91bmRpbmcgbW9kZWws
IHNvIGJvcmRlcnMgYW5kIGJhY2tncm91bmRzIHdpbGwgcm91bmQgdG8gdGhlIG5lYXJlc3QgcGl4
ZWwgd2hlbiBwYWludGluZy4KKyAgICAgICAgCisgICAgICAgIFJlcGxhY2VkIGVsZW1lbnRzIHN0
aWxsIHNuYXAgdG8gaW50ZWdlciBwb3NpdGlvbnMgb24gbGluZXMsIGFuZCB0aGV5IHVzZSBhIHJv
dW5kaW5nIG1vZGVsIGFzIHdlbGwsIGFsdGhvdWdoIHRoZWlyIHVuZGVybHlpbmcgbGluZSBib3hl
cworICAgICAgICBzdGlsbCBoYXZlIGEgcHJlY2lzZSBmbG9hdGluZyBwb2ludCBwb3NpdGlvbi4K
KworICAgICAgICBKdXN0aWZpY2F0aW9uIHdpbGwgbm93IGFsbG93IHN1YnBpeGVsIHBvc2l0aW9u
aW5nIHRvIG9jY3VyIGFzIHdlbGwuICBQbGF0Zm9ybXMgdGhhdCBkb24ndCBzdXBwb3J0IHN1YnBp
eGVsIHBvc2l0aW9uaW5nIHNob3VsZCBhbHJlYWR5CisgICAgICAgIGJlIHJvdW5kaW5nIGp1c3Rp
ZmljYXRpb24gc3BhY2luZyBpbiB0aGVpciBmb250IGNvZGUuCisKKyAgICAgICAgTWFueSBsYXlv
dXQgdGVzdCByZXN1bHRzIGNoYW5nZSBvbiBNYWMsIHNpbmNlIHJvdW5kaW5nIGhhY2tzIHdlcmUg
dXNlZCB0aGVyZSBhbmQgYXJlIG5vdyBnb25lLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC93aW4vV2ViUG9wdXBNZW51V2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UG9wdXBNZW51OjpzZXRVcFBsYXRmb3JtRGF0YSk6CisKIDIwMTEtMDItMTUgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJz
IENhcmxzc29uLCBEYXJpbiBBZGxlci4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvd2luL1dlYlBvcHVwTWVudVdpbi5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC93aW4vV2ViUG9wdXBNZW51V2lu
LmNwcAkocmV2aXNpb24gNzg2MjMpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L3dpbi9XZWJQb3B1cE1lbnVXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Niw3
ICs2Niw3IEBAIHZvaWQgV2ViUG9wdXBNZW51OjpzZXRVcFBsYXRmb3JtRGF0YShjb24KICAgICAg
ICAgICAgIGl0ZW1Gb250LnVwZGF0ZShtX3BvcHVwQ2xpZW50LT5mb250U2VsZWN0b3IoKSk7CiAg
ICAgICAgIH0KIAotICAgICAgICBwb3B1cFdpZHRoID0gc3RkOjptYXgocG9wdXBXaWR0aCwgaXRl
bUZvbnQud2lkdGgoVGV4dFJ1bih0ZXh0LmNoYXJhY3RlcnMoKSwgdGV4dC5sZW5ndGgoKSkpKTsK
KyAgICAgICAgcG9wdXBXaWR0aCA9IHN0ZDo6bWF4PGZsb2F0Pihwb3B1cFdpZHRoLCBjZWlsZihp
dGVtRm9udC53aWR0aChUZXh0UnVuKHRleHQuY2hhcmFjdGVycygpLCB0ZXh0Lmxlbmd0aCgpKSkp
KTsKICAgICB9CiAKICAgICAvLyBGSVhNRTogcG9wdXBXaWR0aCBzaG91bGQgcHJvYmFibHkgdGFr
ZSBpbnRvIGFjY291bnQgbW9uaXRvciBjb25zdHJhaW50cyBhcyBpcyBkb25lIHdpdGggV2ViUG9w
dXBNZW51UHJveHlXaW46OmNhbGN1bGF0ZVBvc2l0aW9uQW5kU2l6ZS4KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDc4NjIzKQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTEtMDItMTUgIERhdmlkIEh5YXR0ICA8
aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDI0NAor
ICAgICAgICAKKyAgICAgICAgQ29udmVydCB0aGUgbGluZSBib3ggdHJlZSB0byBmbG9hdGluZyBw
b2ludCBhbmQgZWxpbWluYXRlIGZvbnQgcm91bmRpbmcgaGFja3MuICBUaGlzIHBhdGNoIHJlbW92
ZXMgYWxsIG9mIHRoZSByb3VuZGluZworICAgICAgICBoYWNrcyBmcm9tIHRoZSBGb250IGNvZGUg
YW5kIG1ha2VzIHN1cmUgYWxsIEZvbnQgQVBJcyBpbnZvbHZpbmcgd2lkdGggbWVhc3VyZW1lbnQg
YW5kIHdpZHRoIG9mZnNldHMgdXNlIGZsb2F0cy4KKyAgICAgICAgCisgICAgICAgIFRoZSBsaW5l
IGJveCB0cmVlJ3MgeCwgeSBhbmQgbG9naWNhbFdpZHRoIG1lbWJlcnMgaGF2ZSBhbGwgYmVlbiBj
b252ZXJ0ZWQgdG8gZmxvYXRzIGFuZCBhbGwgb2YgdGhlIGxpbmUgYm94IEFQSXMgaGF2ZQorICAg
ICAgICBiZWVuIGNoYW5nZWQgYXMgd2VsbC4KKyAgICAgICAgCisgICAgICAgIEluIHRlcm1zIG9m
IHBpeGVsIGFkanVzdG1lbnRzLCBvdmVyZmxvdyBpcyB1c2luZyBhbiBlbmNsb3NpbmcgbW9kZWwg
KHNvIGl0IHdpbGwgYmUgZW5jbG9zaW5nSW50UmVjdCBvZiBhIGxpbmUgYm94J3MgeC95L3dpZHRo
L2hlaWdodCkuCisgICAgICAgIAorICAgICAgICBCYWNrZ3JvdW5kIGFuZCBib3JkZXIgcGFpbnRp
bmcgaXMgdXNpbmcgYSByb3VuZGluZyBtb2RlbCwgc28gYm9yZGVycyBhbmQgYmFja2dyb3VuZHMg
d2lsbCByb3VuZCB0byB0aGUgbmVhcmVzdCBwaXhlbCB3aGVuIHBhaW50aW5nLgorICAgICAgICAK
KyAgICAgICAgUmVwbGFjZWQgZWxlbWVudHMgc3RpbGwgc25hcCB0byBpbnRlZ2VyIHBvc2l0aW9u
cyBvbiBsaW5lcywgYW5kIHRoZXkgdXNlIGEgcm91bmRpbmcgbW9kZWwgYXMgd2VsbCwgYWx0aG91
Z2ggdGhlaXIgdW5kZXJseWluZyBsaW5lIGJveGVzCisgICAgICAgIHN0aWxsIGhhdmUgYSBwcmVj
aXNlIGZsb2F0aW5nIHBvaW50IHBvc2l0aW9uLgorCisgICAgICAgIEp1c3RpZmljYXRpb24gd2ls
bCBub3cgYWxsb3cgc3VicGl4ZWwgcG9zaXRpb25pbmcgdG8gb2NjdXIgYXMgd2VsbC4gIFBsYXRm
b3JtcyB0aGF0IGRvbid0IHN1cHBvcnQgc3VicGl4ZWwgcG9zaXRpb25pbmcgc2hvdWxkIGFscmVh
ZHkKKyAgICAgICAgYmUgcm91bmRpbmcganVzdGlmaWNhdGlvbiBzcGFjaW5nIGluIHRoZWlyIGZv
bnQgY29kZS4KKworICAgICAgICBNYW55IGxheW91dCB0ZXN0IHJlc3VsdHMgY2hhbmdlIG9uIE1h
Yywgc2luY2Ugcm91bmRpbmcgaGFja3Mgd2VyZSB1c2VkIHRoZXJlIGFuZCBhcmUgbm93IGdvbmUu
CisKKyAgICAgICAgKiBNaXNjL1dlYktpdE5TU3RyaW5nRXh0cmFzLm1tOgorICAgICAgICAoLVtO
U1N0cmluZyBfd2ViX2RyYXdBdFBvaW50OmZvbnQ6dGV4dENvbG9yOmFsbG93aW5nRm9udFNtb290
aGluZzpdKToKKyAgICAgICAgKC1bTlNTdHJpbmcgX3dlYl93aWR0aFdpdGhGb250Ol0pOgorCiAy
MDExLTAyLTE1ICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dl
YktpdE5TU3RyaW5nRXh0cmFzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL01p
c2MvV2ViS2l0TlNTdHJpbmdFeHRyYXMubW0JKHJldmlzaW9uIDc4NjIzKQorKysgU291cmNlL1dl
YktpdC9tYWMvTWlzYy9XZWJLaXROU1N0cmluZ0V4dHJhcy5tbQkod29ya2luZyBjb3B5KQpAQCAt
OTEsNyArOTEsNiBAQCAtICh2b2lkKV93ZWJfZHJhd0F0UG9pbnQ6KE5TUG9pbnQpcG9pbnQgCiAK
ICAgICAgICAgRm9udCB3ZWJDb3JlRm9udChGb250UGxhdGZvcm1EYXRhKGZvbnQsIFtmb250IHBv
aW50U2l6ZV0pLCAhW25zQ29udGV4dCBpc0RyYXdpbmdUb1NjcmVlbl0sIGZvbnRTbW9vdGhpbmdJ
c0FsbG93ZWQgPyBBdXRvU21vb3RoaW5nIDogQW50aWFsaWFzZWQpOwogICAgICAgICBUZXh0UnVu
IHJ1bihidWZmZXIuZGF0YSgpLCBsZW5ndGgpOwotICAgICAgICBydW4uZGlzYWJsZVJvdW5kaW5n
SGFja3MoKTsKIAogICAgICAgICBDR0Zsb2F0IHJlZDsKICAgICAgICAgQ0dGbG9hdCBncmVlbjsK
QEAgLTEzNyw4ICsxMzYsNyBAQCAtIChmbG9hdClfd2ViX3dpZHRoV2l0aEZvbnQ6KE5TRm9udCAq
KWZvCiAgICAgaWYgKGNhblVzZUZhc3RSZW5kZXJlcihidWZmZXIuZGF0YSgpLCBsZW5ndGgpKSB7
CiAgICAgICAgIEZvbnQgd2ViQ29yZUZvbnQoRm9udFBsYXRmb3JtRGF0YShmb250LCBbZm9udCBw
b2ludFNpemVdKSwgIVtbTlNHcmFwaGljc0NvbnRleHQgY3VycmVudENvbnRleHRdIGlzRHJhd2lu
Z1RvU2NyZWVuXSk7CiAgICAgICAgIFRleHRSdW4gcnVuKGJ1ZmZlci5kYXRhKCksIGxlbmd0aCk7
Ci0gICAgICAgIHJ1bi5kaXNhYmxlUm91bmRpbmdIYWNrcygpOwotICAgICAgICByZXR1cm4gd2Vi
Q29yZUZvbnQuZmxvYXRXaWR0aChydW4pOworICAgICAgICByZXR1cm4gd2ViQ29yZUZvbnQud2lk
dGgocnVuKTsKICAgICB9CiAKICAgICByZXR1cm4gW3NlbGYgc2l6ZVdpdGhBdHRyaWJ1dGVzOltO
U0RpY3Rpb25hcnkgZGljdGlvbmFyeVdpdGhPYmplY3RzQW5kS2V5czpmb250LCBOU0ZvbnRBdHRy
aWJ1dGVOYW1lLCBuaWxdXS53aWR0aDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4
NjIzKQorKysgU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMzEgQEAKKzIwMTEtMDItMTUgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDI0NAorICAgICAgICAKKyAgICAgICAg
Q29udmVydCB0aGUgbGluZSBib3ggdHJlZSB0byBmbG9hdGluZyBwb2ludCBhbmQgZWxpbWluYXRl
IGZvbnQgcm91bmRpbmcgaGFja3MuICBUaGlzIHBhdGNoIHJlbW92ZXMgYWxsIG9mIHRoZSByb3Vu
ZGluZworICAgICAgICBoYWNrcyBmcm9tIHRoZSBGb250IGNvZGUgYW5kIG1ha2VzIHN1cmUgYWxs
IEZvbnQgQVBJcyBpbnZvbHZpbmcgd2lkdGggbWVhc3VyZW1lbnQgYW5kIHdpZHRoIG9mZnNldHMg
dXNlIGZsb2F0cy4KKyAgICAgICAgCisgICAgICAgIFRoZSBsaW5lIGJveCB0cmVlJ3MgeCwgeSBh
bmQgbG9naWNhbFdpZHRoIG1lbWJlcnMgaGF2ZSBhbGwgYmVlbiBjb252ZXJ0ZWQgdG8gZmxvYXRz
IGFuZCBhbGwgb2YgdGhlIGxpbmUgYm94IEFQSXMgaGF2ZQorICAgICAgICBiZWVuIGNoYW5nZWQg
YXMgd2VsbC4KKyAgICAgICAgCisgICAgICAgIEluIHRlcm1zIG9mIHBpeGVsIGFkanVzdG1lbnRz
LCBvdmVyZmxvdyBpcyB1c2luZyBhbiBlbmNsb3NpbmcgbW9kZWwgKHNvIGl0IHdpbGwgYmUgZW5j
bG9zaW5nSW50UmVjdCBvZiBhIGxpbmUgYm94J3MgeC95L3dpZHRoL2hlaWdodCkuCisgICAgICAg
IAorICAgICAgICBCYWNrZ3JvdW5kIGFuZCBib3JkZXIgcGFpbnRpbmcgaXMgdXNpbmcgYSByb3Vu
ZGluZyBtb2RlbCwgc28gYm9yZGVycyBhbmQgYmFja2dyb3VuZHMgd2lsbCByb3VuZCB0byB0aGUg
bmVhcmVzdCBwaXhlbCB3aGVuIHBhaW50aW5nLgorICAgICAgICAKKyAgICAgICAgUmVwbGFjZWQg
ZWxlbWVudHMgc3RpbGwgc25hcCB0byBpbnRlZ2VyIHBvc2l0aW9ucyBvbiBsaW5lcywgYW5kIHRo
ZXkgdXNlIGEgcm91bmRpbmcgbW9kZWwgYXMgd2VsbCwgYWx0aG91Z2ggdGhlaXIgdW5kZXJseWlu
ZyBsaW5lIGJveGVzCisgICAgICAgIHN0aWxsIGhhdmUgYSBwcmVjaXNlIGZsb2F0aW5nIHBvaW50
IHBvc2l0aW9uLgorCisgICAgICAgIEp1c3RpZmljYXRpb24gd2lsbCBub3cgYWxsb3cgc3VicGl4
ZWwgcG9zaXRpb25pbmcgdG8gb2NjdXIgYXMgd2VsbC4gIFBsYXRmb3JtcyB0aGF0IGRvbid0IHN1
cHBvcnQgc3VicGl4ZWwgcG9zaXRpb25pbmcgc2hvdWxkIGFscmVhZHkKKyAgICAgICAgYmUgcm91
bmRpbmcganVzdGlmaWNhdGlvbiBzcGFjaW5nIGluIHRoZWlyIGZvbnQgY29kZS4KKworICAgICAg
ICBNYW55IGxheW91dCB0ZXN0IHJlc3VsdHMgY2hhbmdlIG9uIE1hYywgc2luY2Ugcm91bmRpbmcg
aGFja3Mgd2VyZSB1c2VkIHRoZXJlIGFuZCBhcmUgbm93IGdvbmUuCisKKyAgICAgICAgKiBXZWJL
aXRHcmFwaGljcy5jcHA6CisgICAgICAgIChDZW50ZXJUcnVuY2F0ZVN0cmluZ1RvV2lkdGgpOgor
ICAgICAgICAoUmlnaHRUcnVuY2F0ZVN0cmluZ1RvV2lkdGgpOgorCiAyMDExLTAyLTE1ICBLZW5u
ZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBGaXNoZXIuCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXRHcmFwaGljcy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViS2l0R3JhcGhpY3MuY3BwCShyZXZpc2lv
biA3ODYyMykKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYktpdEdyYXBoaWNzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTQ5LDcgKzE0OSw3IEBAIHVuc2lnbmVkIENlbnRlclRydW5jYXRlU3RyaW5n
VG9XaWR0aChMUEMKIHsKICAgICBBU1NFUlQoYnVmZmVyKTsKIAotICAgIFN0cmluZyByZXN1bHQg
PSBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKFN0cmluZyh0ZXh0LCBsZW5ndGgpLCB3
aWR0aCwgbWFrZUZvbnQoZGVzY3JpcHRpb24pLCBmYWxzZSk7CisgICAgU3RyaW5nIHJlc3VsdCA9
IFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoU3RyaW5nKHRleHQsIGxlbmd0aCksIHdp
ZHRoLCBtYWtlRm9udChkZXNjcmlwdGlvbikpOwogICAgIG1lbWNweShidWZmZXIsIHJlc3VsdC5j
aGFyYWN0ZXJzKCksIHJlc3VsdC5sZW5ndGgoKSAqIHNpemVvZihVQ2hhcikpOwogICAgIGJ1ZmZl
cltyZXN1bHQubGVuZ3RoKCldID0gJ1wwJzsKICAgICByZXR1cm4gcmVzdWx0Lmxlbmd0aCgpOwpA
QCAtMTU5LDcgKzE1OSw3IEBAIHVuc2lnbmVkIFJpZ2h0VHJ1bmNhdGVTdHJpbmdUb1dpZHRoKExQ
Q1QKIHsKICAgICBBU1NFUlQoYnVmZmVyKTsKIAotICAgIFN0cmluZyByZXN1bHQgPSBTdHJpbmdU
cnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUoU3RyaW5nKHRleHQsIGxlbmd0aCksIHdpZHRoLCBtYWtl
Rm9udChkZXNjcmlwdGlvbiksIGZhbHNlKTsKKyAgICBTdHJpbmcgcmVzdWx0ID0gU3RyaW5nVHJ1
bmNhdG9yOjpyaWdodFRydW5jYXRlKFN0cmluZyh0ZXh0LCBsZW5ndGgpLCB3aWR0aCwgbWFrZUZv
bnQoZGVzY3JpcHRpb24pKTsKICAgICBtZW1jcHkoYnVmZmVyLCByZXN1bHQuY2hhcmFjdGVycygp
LCByZXN1bHQubGVuZ3RoKCkgKiBzaXplb2YoVUNoYXIpKTsKICAgICBidWZmZXJbcmVzdWx0Lmxl
bmd0aCgpXSA9ICdcMCc7CiAgICAgcmV0dXJuIHJlc3VsdC5sZW5ndGgoKTsK
</data>
<flag name="review"
          id="74209"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>